(57)【要約】【課題】  ライブビューの品位が低下することを抑制しつつ、フリッカーを効果的に検出可能とすること。【解決手段】  撮像素子を用いて取得した画像を逐次表示するライブビュー表示が可能な表示手段と、撮像素子を所定の周期で駆動して得られた複数の画像に基づいて、フリッカーの検出動作を実行する検出手段と、検出手段により検出されたフリッカーに関する情報に基づいて、撮像素子の駆動を制御する制御手段とを有し、検出手段は、ライブビュー表示中に、撮像準備指示および撮像指示とは異なるタイミングでフリッカーの検出動作を行う第１の検出を実行でき、制御手段は、第１の検出によりフリッカーが検出された場合、検出されたフリッカーの影響を低減する蓄積時間でライブビュー表示用の画像を得るための露光が行われるように、撮像素子の駆動を制御することを特徴とする構成とした。【選択図】  図３
2020010317.tif 000002
【特許請求の範囲】
【請求項１】
撮像素子と、
前記撮像素子を用いて取得した画像を逐次表示するライブビュー表示が可能な表示手段と、
前記撮像素子を所定の周期で駆動して得られた複数の画像に基づいて、フリッカーの検出動作を実行する検出手段と、
前記検出手段により検出されたフリッカーに関する情報に基づいて、前記撮像素子の駆動を制御する制御手段と、
を有し、
前記検出手段は、前記表示手段へのライブビュー表示中に、撮像準備指示および撮像指示とは異なるタイミングで、前記フリッカーの検出動作を行う第１の検出を実行でき、
前記制御手段は、前記第１の検出によりフリッカーが検出された場合、検出されたフリッカーの影響を低減する蓄積時間で、当該第１の検出の後の前記表示手段へのライブビュー表示用の画像を得るための露光が行われるように、前記撮像素子の駆動を制御することを特徴とする撮像装置。
【請求項２】
前記検出手段は、ユーザによる前記撮像準備指示または前記撮像指示に応じて、前記フリッカーの検出動作を行う第２の検出を実行でき、
前記制御手段は、前記第２の検出によりフリッカーが検出された場合、検出されたフリッカーの光量変化の所定のタイミングに合わせて静止画を得るための露光が行われるように、前記撮像素子の駆動を制御し、
前記第２の検出は、前記第１の検出とは異なるタイミングで実行されるフリッカーの検出動作であることを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記検出手段は、前記表示手段へのライブビュー表示が開始される前に、前記フリッカーの検出動作を行う第３の検出を実行し、
前記制御手段は、前記第３の検出によりフリッカーが検出された場合に、当該第３の検出の後の前記表示手段へのライブビュー表示用に、検出されたフリッカーの影響を低減する蓄積時間となるように前記撮像素子の駆動を制御することを特徴とする請求項２に記載の撮像装置。
【請求項４】
前記検出手段による前記フリッカーの検出動作によりフリッカーが検出された場合に、フリッカーが検出されたことをユーザに報知する報知手段と、
前記検出手段による前記フリッカーの検出動作の開始を指示するために、ユーザが手動操作できる操作部と、を有し、
前記検出手段は、ユーザにより前記操作部が操作されたことに応じて前記第１の検出を行い、
前記報知手段は、前記第１の検出によりフリッカーが検出された場合に、フリッカーが検出されたことをユーザに報知することを特徴とする請求項３に記載の撮像装置。
【請求項５】
前記報知手段は、前記表示手段であって、ライブビュー表示中に所定のアイコンを表示することで、フリッカーが検出されたことをユーザに報知することを特徴とする請求項１乃至４の何れか１項に記載の撮像装置。
【請求項６】
前記検出手段は、ライブビュー表示用の画像を取得する周期よりも短い周期で取得した前記複数の画像に基づいて、前記フリッカーの検出動作を実行することを特徴とする請求項１乃至５の何れか１項に記載の撮像装置。
【請求項７】
前記検出手段は、フリッカーの光量変化の所定のタイミングに合わせて撮像を行う第１の設定が事前にオンされている場合に、前記第１の検出および前記第２の検出を実行可能であって、前記第１の設定が事前にオフされている場合に、前記第１の検出は実行せず前記第２の検出を実行可能であることを特徴とする請求項２に記載の撮像装置。
【請求項８】
前記所定のタイミングは、前記検出手段により検出されたフリッカーの光量変化のピークが含まれるタイミングであることを特徴とする請求項７に記載の撮像装置。
【請求項９】
前記表示手段に、ユーザが設定した露出条件を反映させたライブビュー表示を行う第１のモードと、当該第１のモードとは異なり、ユーザが設定した露出条件を反映させずにライブビュー表示を行う第２のモードとを設定するモード設定手段と、
前記撮像素子を用いて取得した画像に基づいて被写体を測光する測光手段と、を有し、
検出手段は、設定手段により前記第１のモードが設定されている場合に、ユーザが設定した露出条件に依らず、前記測光手段による測光結果に基づいて前記複数の画像を取得し、当該複数の画像に基づいて前記フリッカーの検出動作を実行することを特徴とする請求項１乃至８の何れか１項に記載の撮像装置。
【請求項１０】
前記第２のモードは、ユーザが設定した露出条件を反映させずに、前記測光手段による測光結果に基づいてライブビュー表示を行うモードであることを特徴とする請求項９に記載の撮像装置。
【請求項１１】
前記測光手段は、予め用意された複数の測光モードの何れかに基づいて測光を行うことが可能であって、
前記検出手段は、前記測光モードによらず、所定の方法で得た前記測光手段による測光結果に基づいて前記フリッカーの検出動作を実行することを特徴とする請求項１０に記載の撮像装置。
【請求項１２】
少なくとも１つの発光装置により予備発光を伴って、当該少なくとも１つの発光装置を用いた発光撮影時の発光量を演算するための調光演算を行う調光演算手段と、
前記検出手段による前記フリッカー検出動作と、前記調光演算に係る前記予備発光を行う順を決定する決定手段と、を有し、
前記決定手段は、被写体を撮像する際の所定の条件に基づいて、前記フリッカーの検出動作と前記予備発光の順を決定することを特徴とする請求項１乃至８の何れか１項に記載の撮像装置。
【請求項１３】
前記所定の条件は、発光装置の数に関する情報、撮像対象に顔領域が含まれているかに関する情報、シャッターの駆動方式に関する情報、または撮像対象の被写体の動き量に関する情報の少なくとも１つ以上に基づく条件である請求項１２に記載の撮像装置。
【請求項１４】
絞りと、
前記絞りの開口量が開放となる位置を介することなく、目標とする前記絞りの開口量へと前記絞りを駆動できるか否かを判定する判定手段と、
前記絞りの駆動を制御する絞り駆動手段と、を有し、
前記絞り駆動手段は、前記判定手段により、前記絞りの開口量が開放となる位置を介することなく、目標とする前記絞りの開口量へと前記絞りを駆動できると判定された場合であって、前記絞りの現在の開口量が所定値よりも小さい場合に、当該所定値以上の開口量となるように前記絞りを駆動することを特徴とする請求項１乃至８の何れか１項に記載の撮像装置。
【請求項１５】
前記撮像装置は、前記絞りを備えた交換レンズを着脱可能であって、
前記判定手段は、前記撮像装置に装着された前記交換レンズが第１のレンズであるか否かを判定することで、前記絞りの開口量が開放となる位置を介することなく、目標とする前記絞りの開口量へと前記絞りを駆動できるか否かを判定し、
前記絞り駆動手段は、前記判定手段により前記撮像装置に装着された前記交換レンズが前記第１のレンズではないと判定された場合に、前記フリッカー検出動作に合わせて、前記絞りの開口量が開放となるように前記絞りを駆動することを特徴とする請求項１４に記載の撮像装置。
【請求項１６】
前記撮像素子を用いて取得した画像に基づいて被写体を測光する測光手段と、
被写体を撮像する際の露出条件に基づいて、前記測光手段による測光結果を補正する補正手段と、を有し、
前記補正手段は、ライブビュー表示中に静止画の連続撮影を実行する場合に、当該連続撮影における第１の撮影のために、前記測光手段による測光結果を第１の補正量で補正し、当該連続撮影における前記第１の撮影の次の第２の撮影に合わせて、前記測光手段が前記第１の撮影により得られた画像に基づいて測光を行う場合は、前記第２撮像のために、前記第１の補正量の影響を低減するように前記測光手段による測光結果を第２の補正量で補正することを特徴とする請求項１乃至８の何れか１項に記載の撮像装置。
【請求項１７】
前記補正手段は、被写体を撮像する際の露光時間が短いほど、前記補正量を大きくすることを特徴とする請求項１６に記載の撮像装置。
【請求項１８】
撮像素子と、
前記撮像素子を用いて取得した画像を逐次表示するライブビュー表示が可能な表示手段と、前記撮像素子を所定の周期で駆動して得られた複数の画像に基づいて、フリッカーの検出動作を実行する検出手段と、
前記検出手段による前記フリッカーの検出動作の開始を指示するために、ユーザが手動操作できる操作手段と、
を有し、
前記検出手段は、ユーザによる撮像準備指示または撮像指示に応じて前記フリッカーの検出動作を行う第１の検出を実行し、
前記検出手段は、前記表示手段へのライブビュー表示中であって、前記撮像準備指示および前記撮像指示とは異なるタイミングで、ユーザにより前記操作手段が操作されたことに応じて前記フリッカーの検出動作を行う第２の検出を実行することを特徴とする撮像装置。
【請求項１９】
前記検出手段により検出されたフリッカーに関する情報に基づいて前記撮像素子の駆動を制御する制御手段を有し、
前記制御手段は、前記第１の検出によりフリッカーが検出された場合に、検出されたフリッカーの光量変化の所定のタイミングに合わせて撮像を行うように前記撮像素子の駆動を制御することを特徴とする請求項１８に記載の撮像装置。
【請求項２０】
前記制御手段は、前記第２の検出によりフリッカーが検出された場合に、前記ライブビュー表示用の画像を得るために、当該検出されたフリッカーの影響を低減するような蓄積時間で前記撮像素子の駆動を制御することを特徴とする請求項１８又は１９に記載の撮像装置。
【請求項２１】
前記検出手段による前記フリッカーの検出動作によりフリッカーが検出された場合に、フリッカーが検出されたことをユーザに報知する報知手段を有し、
前記報知手段は、前記撮像準備指示および前記撮像指示とは異なるタイミングで、ユーザにより前記操作手段が操作されたことに応じて、前記第２の検出によりフリッカーが検出された場合に、フリッカーが検出された旨の報知を開始することを特徴とする請求項１８乃至２０の何れか１項に記載の撮像装置。
【請求項２２】
撮像素子と、前記撮像素子を用いて取得した画像を逐次表示するライブビュー表示が可能な表示手段と、を備えた撮像装置の制御方法であって、
前記撮像素子を所定の周期で駆動して得られた複数の画像に基づいて、フリッカーの検出動作を実行する検出工程と、
前記検出手段により検出されたフリッカーに関する情報に基づいて、前記撮像素子の駆動を制御する制御工程と、を有し、
前記検出手工程では、前記表示手段へのライブビュー表示中に、撮像準備指示および撮像指示とは異なるタイミングで、前記フリッカーの検出動作を行い、
前記制御工程では、前記検出工程でフリッカーが検出された場合に、検出されたフリッカーの影響を低減する蓄積時間で、前記表示手段へのライブビュー表示用の画像を得るための露光が行われるように、前記撮像素子の駆動を制御することを特徴とする撮像装置の制御方法。
【請求項２３】
撮像素子と、前記撮像素子を用いて取得した画像を逐次表示するライブビュー表示が可能な表示手段と、を備えた撮像装置の制御方法であって、
ユーザによる撮像準備指示または撮像指示に応じて、前記撮像素子を所定の周期で駆動して得られた複数の画像に基づくフリッカーの検出動作を実行する第１の検出工程と、
前記表示手段へのライブビュー表示中であって、前記撮像準備指示および前記撮像指示とは異なるタイミングで、ユーザにより所定の操作手段が操作されたことに応じて、前記撮像素子を所定の周期で駆動して得られた複数の画像に基づくフリッカーの検出動作を実行する第２の検出工程と、を有することを特徴とする撮像装置の制御方法。
【請求項２４】
請求項２２又は２３に記載の撮像装置の制御方法をコンピュータで実行させるためのコンピュータで読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルカメラなどの撮像装置に関し、特に、被写体を撮像して画像を取得する際に、人工光源による周期的な光量変化（一般的に、フリッカーと称する）に起因する影響を低減する技術に関するものである。
【背景技術】
【０００２】
従来、蛍光灯などの人工光源は商用電源周波数の影響により、周期的に光量が変化して照明光がゆらぐ現象であるフリッカーが生じることが知られている。このようなフリッカーが生じるフリッカー光源では、フリッカーの光量変化周期よりも短いシャッター速度（または蓄積時間）で被写体を撮像すると、１つに画像内および連続撮影で得られた複数の画像間で明るさや色にムラが生じる場合がある。
【０００３】
なお、フリッカーの影響は、静止画だけでなく動画像にも作用する。例えば、フリッカー光源下において、撮像素子を用いて得られた画像を表示部に逐次表示する所謂ライブビューを行う場合、撮像素子の蓄積時間とフレームレートに応じて、フリッカーの影響で画像に縞が生じる、または画像全体の明るさが変化してしまう。
【０００４】
この問題に対して、例えば、特許文献１では、光源の変化に応じてフリッカーを検出し、撮像素子の蓄積時間をフリッカーの光量変化周期の整数倍に設定することで、フリッカーの影響を改善する技術について提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２１３０７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、画像を取得するための撮像素子の他にセンサを備えていない場合は、撮像素子を用いてフリッカーの検出とライブビュー用の画像生成の両方を行う必要がある。しかしながら、特許文献１に記載の技術のように、撮像素子の蓄積時間をフリッカーの光量変化周期に合わせた状態では、ライブビュー用の画像にフリッカーの影響が発生しないため、ライブビュー用の画像のみからフリッカーを検出することができない。
【０００７】
したがって、撮像素子を用いたライブビュー中にフリッカーを検出するには、ライブビューを一時的に中断してフリッカーを検出する（ための画像を取得する）必要があり、ライブビューのフレームレートの低下など、ライブビューの品位が低下してしまう。
【０００８】
本発明の目的は、ライブビューの品位が低下することを抑制しつつ、フリッカーを効果的に検出可能とすることである。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明に係る撮像装置は、撮像素子と、前記撮像素子を用いて取得した画像を逐次表示するライブビュー表示が可能な表示手段と、前記撮像素子を所定の周期で駆動して得られた複数の画像に基づいて、フリッカーの検出動作を実行する検出手段と、前記検出手段により検出されたフリッカーに関する情報に基づいて、前記撮像素子の駆動を制御する制御手段と、を有し、前記検出手段は、前記表示手段へのライブビュー表示中に、撮像準備指示および撮像指示とは異なるタイミングで、前記フリッカーの検出動作を行う第１の検出を実行でき、前記制御手段は、前記第１の検出によりフリッカーが検出された場合、検出されたフリッカーの影響を低減する蓄積時間で、当該第１の検出の後の前記表示手段へのライブビュー表示用の画像を得るための露光が行われるように、前記撮像素子の駆動を制御する。
【発明の効果】
【００１０】
本発明によれば、ライブビューの品位が低下することを抑制しつつ、フリッカーを効果的に検出可能とすることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１実施形態に係る撮像システムの概略を例示的に説明するブロック図である。
【図２】本発明の第１実施形態に係る撮像システムの詳細を説明するブロック図である。
【図３】本発明の第１実施形態に係るライブビュー時のフリッカー検出を実行する撮影処理に関するフローチャートである。
【図４】本発明の第１実施形態に係るフリッカー検出用の画像信号に係る電荷の蓄積タイミングおよび読み出しタイミングを示す図である。
【図５】本発明の第１実施形態に係るフリッカーの光量変化周期の判定方法を例示的に説明する図である。
【図６】本発明の実施形態に係るフリッカーのピークタイミングを算出する方法の一例を説明する図である。
【図７】本発明の第１実施形態に係るライブビュー中のフリッカーレス撮影動作に関するタイミングチャートの一例である。
【図８】本発明の第１実施形態に係るライブビュー表示中のフリッカー検出動作に係る各処理に関するフローチャートである。
【図９】本発明の第１実施形態に係るライブビュー表示中の撮影処理に関するフローチャートである。
【図１０】本発明の第２実施形態に係る、フリッカーレス撮影機能がオンされている場合のフリッカーレス撮影処理について説明するフローチャートである。
【図１１】フリッカーが存在する場合に、フリッカーの光量変化周期に合わせて測光値（輝度値）を算出する方法を例示的に説明する図である。
【図１２】フリッカーの光量変化周期と露光時間との関係性を説明する図である。
【図１３】本発明の第２実施形態に係る露出補正量の算出方法を例示的に説明する図である。
【図１４】本発明の第３実施形態に係るライブビュー時のフリッカー検出を実行する撮影処理に関するフローチャートである。
【図１５】本発明の第３実施形態に係る絞りの駆動方式が異なるレンズごとのフリッカーレス撮影処理に関するタイミングチャートと絞り状態を例示的に説明した図である。
【図１６】本発明の第３実施形態に係る絞りの駆動方式が異なるレンズごとのフリッカー検出動作において絞りを駆動する場合のタイミングチャートと絞り状態を例示的に説明した図である。
【図１７】本発明の第４実施形態に係る発光撮影時のフリッカー検知処理について例示的に説明するフローチャートである。
【図１８】本発明の第４実施形態に係る発光撮影時のフリッカー検知処理について例示的に説明するタイミングチャートである。
【図１９】本発明の第４実施形態に係る発光撮影時のフリッカー検知処理においてシャッター駆動方式の違いと動体の検知結果を加味した処理について例示的に説明するフローチャートである。
【図２０】本発明の変形例１に係る、フリッカーレス撮影機能がオンされている場合のフリッカーレス撮影処理について説明するフローチャートである。
【図２１】本発明の変形例２に係る、フリッカーレス撮影機能がオンされている場合のフリッカーレス撮影処理について説明するフローチャートである。
【図２２】本発明の変形例３に係る、フリッカーレス撮影機能がオンされている場合のフリッカーレス撮影処理について説明するフローチャートである。
【発明を実施するための形態】
【００１２】
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて説明する。
【００１３】
（第１実施形態）
以下、図１〜図６を参照して、本発明に係る撮像装置の第１実施形態について説明する。図１は、本発明の第１実施形態に係る撮像システムの概略を例示的に説明するブロック図である。また、図２は、本発明の第１実施形態に係る撮像システムの詳細を説明するブロック図である。以下、図１、２を参照して本発明に係る撮像装置の第１実施形態であるカメラ本体１００、撮影レンズ２００、外部ストロボ３００を含めた撮像システムについて説明する。
【００１４】
なお、図１、２に示す機能ブロックの１つ以上は、ＡＳＩＣやプログラマブルロジックアレイ（ＰＬＡ）などのハードウェアによって実現されてもよいし、ＣＰＵやＭＰＵ等のプログラマブルプロセッサがソフトウェアを実行することによって実現されてもよい。また、ソフトウェアとハードウェアの組み合わせによって実現されてもよい。したがって、以下の説明において、異なる機能ブロックが動作主体として記載されている場合であっても、同じハードウェアが主体として実現されうる。
【００１５】
デジタルカメラのカメラ本体１００は本実施形態に係る撮像装置である。撮像素子１０１は赤外カットフィルタやローパスフィルタ等を含むＣＣＤ、ＣＭＯＳ等の電荷蓄積型の固体撮像素子であり、撮影レンズ２００によって導かれた被写体の光束に対応する光学像が結像する。この撮像素子１０１を用いて被写体を撮像することで取得された画像を、後述するディスプレイユニット１０３に逐次表示することで所謂ライブビュー機能が実現される。なお、撮像素子１０１で得られた画像は、後述するフリッカーの検出、記録用の撮影画像としても用いられる。
【００１６】
シャッター１０２は、レンズ群２０１から導かれた光束の光路上において撮像素子１０１の前方に配置される遮光部材である。シャッター１０２は、羽根部材を備え、この羽根部材の展開状態で、被写体からの光束を遮ることができ、羽根部材の折り畳み状態で撮像素子１０１に結像する被写体からの光束に対応する光学像を撮像素子１０１に結像させることが出来る。なお、カメラ本体１００では、シャッター１０２の走行速度に応じて撮像素子１０１へ入射する光量を調節することが可能である。そして、シャッター１０２の走行速度と撮像素子１０１の露光時間とに基づく露出条件であるシャッター速度を変更することで、画像信号の明るさを調整することができる。なお、シャッター１０２の動作と同様の構成を、撮像素子１０１における蓄積制御で行う所謂電子シャッターを採用する構成でもよい。
【００１７】
ディスプレイユニット（以下、単にディスプレイと称す）１０３は、ＴＦＴ型ＬＣＤ（薄膜トランジスタ駆動型液晶表示器）などで構成された表示手段である。ディスプレイ１０３には、被写体を撮像する際の露出などの撮影パラメータに関する情報や、撮像素子１０１を用いて取得された画像に基づく表示用の画像を表示可能であって、この表示用の画像を逐次表示するライブビュー（表示）が可能である。なお、ディスプレイ１０３は、ユーザによるタッチ操作が可能な操作手段を兼ねた、所謂タッチパネルであって、本実施形態では静電容量式のタッチパネルとして機能する。なお、タッチ操作を可能とするディスプレイ１０３の構成は静電容量を検出するものに限定されず、公知の方式であればどのようなものを採用してもよい。
【００１８】
システム制御部（ＣＰＵ）１０４は、カメラ本体１００およびカメラ本体１００に装着されたカメラアクセサリの各部を統括的に制御する制御手段である。ＣＰＵ１０４が実行する制御内容については、後述の種々の動作の説明にて詳細を説明する。
【００１９】
撮影レンズ２００は、被写体の光学像に対応する光束をカメラ本体１００の内部へと導く光学装置である。撮影レンズ２００のレンズ群２０１には、フォーカシングレンズ、ズームレンズ、シフトレンズなどの種々レンズを備える光学系である。絞り２０２は、開口径を調整することで、カメラ本体１００の内部に入射する光量を調節することが出来る光量調節部材である。
【００２０】
また、撮影レンズ２００は、撮影レンズ用の制御手段であるレンズ制御部（ＬＰＵ）２０３を備える。ＬＰＵ２０３は、レンズ群２０１のレンズ位置や絞り２０２の開口径の制御に加え、カメラ本体１００のＣＰＵ１０４との通信を制御する通信制御手段でもある。
【００２１】
絞り駆動部２０５は、撮影レンズ２００の絞り２０２を駆動するための構成であって、ＬＰＵ２０３により指示された絞り位置へ絞り２０２を駆動させ、絞り２０２の開口を絞り値に応じた開口量へと調整できる。レンズ駆動部２０４は、撮影レンズ２００のレンズ群２０１を所定の位置へ駆動させる構成であって、ＬＰＵ２０３により指示された位置へレンズ群２０１を駆動できる。
【００２２】
シャッター制御部１０５は、シャッター１０２の開閉状態を制御する構成であって、ＣＰＵ１０４により指定された時間でシャッター１０２の走行を制御することで、被写体を撮像する際のシャッター速度を制御できる。信号処理部１０６は、撮像素子１０１より出力された画像信号に種々の処理を施す構成であって、デジタル画像データに対して所定の画像補間、縮小などのリサイズ処理や色変換処理、飽和画素や黒潰れ画素などの画素データ数の演算処理を行う。また、信号処理部１０６は、デジタル画像データに対して、ホワイトバランス（以下、単にＷＢと称す）演算処理を施すＷＢ処理手段である。
【００２３】
記録部１１２は、撮像により得られた画像信号を記録する記録媒体であって、撮像素子１０１を用いて取得された画像信号を静止画データ、または動画データとして記録可能である。なお、記録部１１２は、カメラ本体１００を中心とする撮像システムの動作に関わるデータやカメラ本体１００を用いて取得した種々のデータを記録可能なメモリとしても利用される。本実施形態の記録部１１２は、不揮発性メモリとして使用可能なＲＯＭ領域、および揮発性メモリとしてＲＡＭ領域をそれぞれ備えている。
【００２４】
撮影モード選択部１０９は、カメラ本体１００で設定可能な撮影モードを選択する選択手段である。なお、本実施形態における撮影モードとは、露出に係る要素（露出制御値）の設定方法が異なるモードである。例えば、絞り値を優先的に設定する絞り値（Ａｖ）優先モードや、シャッター速度を優先的に設定するシャッター速度（Ｔｖ）優先モードなどを設定可能である。また、撮影モード選択部１０９は、ＣＰＵ１０４と電気的に接続されており、ＣＰＵ１０４は、撮影モード選択部１０９によって選択された撮影モードに応じてカメラ本体１００の制御を行う。
【００２５】
撮像指示部１１０は、ＣＰＵ１０４と電気的に接続されており、ユーザの手動操作により押し下げられることで信号が有効となり撮像準備および撮像の開始が指示され、それ以外の状態で信号が無効となる。なお、撮像指示部１１０は、２段階の押し下げ状態に遷移可能であって、ＣＰＵ１０４は、撮像指示部１１０の半押し状態を撮像待機状態として認識して、カメラ本体１００の各部に対して撮像準備動作を指示する。そして、ＣＰＵ１０４は、撮像指示部１１０の全押し状態を撮像状態として認識して、撮像システムを構成する各部に対して撮像動作を指示する。すなわち、撮像指示部１１０は、ユーザによる手動操作により、撮像準備指示および撮像指示が可能な操作手段である。
【００２６】
撮像設定入力部１１１は、カメラ本体１００における種々のモードの設定や機能の設定に用いることが可能な情報入力手段である。本実施形態では、撮像設定入力部１１１として、回転ダイヤル、十字キー、決定ボタン、リセットボタンなどを含むが、情報入力に用いる機構はこれに限定されるものではない。なお、撮像設定入力部１１１を用いて設定可能な代表的なモードおよび機能としては、測光モード、撮影モード、連続撮影機能、後述するフリッカーレス撮影機能、ライブビュー、発光撮影機能に係る種々の設定などがある。なお、撮像設定入力部１１１を操作することで、これらの機能に係るグラフィカルユーザインターフェース（ＧＵＩ）や機能アイコンをディスプレイ１０３に表示される。
【００２７】
なお、測光モードとしては、撮像素子１０１の画角に対応した画面全体を評価するモードとして、測距点や輝度値に応じた補正を行う評価測光、画面の中心部分の重み付けを他の領域よりも大きくして測光を行う中央重点測光などがある。また、他の測光モードとしては、画面の一部のみに基づいて測光を行うスポット測光、スポットよりも広いが画面の所定領域のみに基づいて測光を行う部分測光などがある。
【００２８】
さらに、ライブビューの表示方式（モード）には、ライブビューの見栄えを考慮して構図確認が可能な通常モードと、被写体を本撮影して記録用の静止画像（記録画像）を得る際の露出をライブビューにおいてシミュレートするシミュレートモードがある。通常モードとシミュレートモードの差異の１つとしては、ユーザが手動入力した露出補正量を反映してライブビューを行うか否かという点がある。通常モードでは、露出補正量は反映しないが、シミュレートモードでは、ユーザの意図を優先して露出補正量をライブビューに反映する。
【００２９】
被写体輝度判定部１０７は、信号処理部１０６から出力された画像信号に基づいて、被写体の明るさ（輝度値）を判定（検出）する輝度検出手段である。具体的に、被写体輝度判定部１０７は、取得した画像信号に対応する一画面を複数のブロックに分割し、各ブロックの平均輝度値を算出する。そして、各ブロックの平均輝度値を積分して代表輝度値を取得する。以降の説明では、この代表輝度値を被写体の輝度値（測光値）とし、露出制御などの種々の処理および制御にこの輝度値を用いる。なお、輝度値の検出方法はこれに限定されるものではなく、輝度値の算出に係る種々の方法を採用可能である。ＣＰＵ１０４は、被写体輝度判定部１０７により検出された輝度値と撮影モード選択部１０９により選択された撮影モードなどに基づき、種々の露出制御値（シャッター速度、絞り値、ＩＳＯ感度など）の露出制御量を演算する。
【００３０】
焦点距離判定部１０８は、信号処理部１０６から出力された画像信号に基づいて、撮影レンズ２００に含まれるフォーカスレンズのレンズ位置が合焦状態であるか否かを判定するための情報を演算する部位である。演算した情報に基づき現在のレンズ位置が非合焦状態であれば、ＣＰＵ１０４は、ＬＰＵ２０３を通して撮影レンズ２００を制御する。なお、フォーカスレンズの位置は、合焦状態に依らず、ユーザの操作入力に応じてＣＰＵ１０４の制御によって調整可能である。
【００３１】
ストロボ制御部１１３は、ＣＰＵ１０４による輝度値に基づく発光判定により、被写体への照明が必要であると判定された場合、または、ユーザの手動操作に基づいて、発光手段の発光制御を行う。なお、本実施形態における発光手段としては、カメラ本体１００に内蔵された内蔵ストロボ１１４、または、不図示の接続部を介してカメラ本体１００に着脱可能な外部ストロボ３００が該当する。
【００３２】
外部ストロボ３００は、カメラ本体１００に着脱可能な外部発光装置であって、その内部に、外部ストロボ３００の動作を制御するための外部ストロボ制御部（ＳＰＵ）３０１を備える。ＳＰＵ３０１は、外部ストロボ３００の発光制御、および、カメラ本体１００側との通信を制御する制御手段である。
【００３３】
（フリッカー検出・フリッカーレス撮影機能）
以下、カメラ本体１００におけるライブビュー時のフリッカー検出動作について、図３を参照して説明する。図３は、本発明の第１実施形態に係るライブビュー時のフリッカー検出を実行する撮影処理に関するフローチャートである。なお、以降の説明は、フリッカーレス撮影機能が事前にオンされている状態で、カメラ本体１００の電源スイッチ（不図示）がオンされたことに応じて、ライブビューが開始される場合を例に挙げて説明する。
【００３４】
カメラ本体１００の電源スイッチがオンされると、ステップＳ１０１でＣＰＵ１０４は、撮像素子１０１を用いて画像を取得し、当該画像に基づいて測光動作を行う。この測光動作（初回測光）は、ライブビューやフリッカー検出に係る動作を開始する前に、被写体を撮像する際の露出条件（露光時間、絞り値、ＩＳＯ感度）を適切にするための測光動作である。
【００３５】
次に、ステップＳ１０２でＣＰＵ１０４は、フリッカー検出動作を実行する。以下、本実施形態に係るフリッカー検出動作について図４を参照して説明する。図４は、本発明の第１実施形態に係るフリッカー検出用の画像信号に係る電荷の蓄積タイミングおよび読み出しタイミングを示す図であり、６００ｆｐｓ、約１，６６７ｍｓ周期で蓄積・読み出しを連続して１２回行う。
【００３６】
この６００ｆｐｓは、予め想定されるフリッカーの光量変化周期（１００Ｈｚと１２０Ｈｚ）の最小公倍数と等しい値となっている。また、６００ｆｐｓで１２回蓄積を行うことで、全体として２０ｍｓの期間で蓄積を行うことになり、商用電源周波数が５０Ｈｚ、６０Ｈｚのどちらであっても、フリッカー光源の光量変化が２周期含まれることになる。この１２回の蓄積は全て同じ露出条件で実行され、その露出条件は先のステップＳ１０１の測光動作の結果に基づいて決定される。なお、６００ｆｐｓの蓄積および読み出しは、撮像素子１０１の全画素を用いる構成ではなく、いわゆる画素加算読み出しや間引き読み出しをすることによってフレームレートを６００ｆｐｓ（１，６６７ｍｓ周期）に調整する構成であってもよい。なお、６００ｆｐｓ駆動時の露出を決める際に基準とする輝度値は、フリッカー検出動作に用いる撮像素子１０１の領域から出力された値を使うのが好ましい。
【００３７】
図４（ａ）は、商用電源５０Ｈｚ時のフリッカー（フリッカー点灯周期が１００Ｈｚ）が存在した場合の蓄積制御と画像信号の出力の推移を例示的に説明する図である。図４（ａ）に示したように、ｎ回目の蓄積を「蓄積ｎ」、蓄積ｎの読み出しを「読み出しｎ」、読み出しｎの結果から得られる画像信号の出力（測光値）を「ＡＥ（ｎ）」と記述する。本実施形態では一連のフリッカー検出動作に計１２回の蓄積を行うので、ＡＥ（１）〜ＡＥ（１２）の出力が得られることになる。また、各出力の取得時間に関しては、蓄積は有限の時間で行われるため、蓄積期間中の中央値で代表させる。
【００３８】
これらＡＥ（１）〜ＡＥ（１２）からフリッカーの光量変化周期（周波数）の判定で使用する評価値を算出する。フリッカーの光量変化周期判定に使用する評価値を、本実施形態では次の（１）式にて定義することとする。
【００３９】
【数１】
2020010317.tif 000003
【００４０】
ＳＡＤとはＳｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅの略であり、パターンマッチングの分野などで使われる、類似度を表す指標である。ｍは、１２回の蓄積を行ったうちのｎ回目の出力ＡＥ（ｎ）に対し、何回先の出力との類似度を計算するか、を意味する数値であるから、ＳＡＤ（ｍ）とは、（１．６６７×ｍ）ｍｓ経過後の出力との類似度を算出する式である。（１）式から分かるように、類似度が高いほど、ＳＡＤ（ｍ）の値は小さくなる。
【００４１】
例えば、１００Ｈｚフリッカー光源下では、フリッカーの光量変化周期は約１０ｍｓであり、フリッカーの検出周期１．６６７ｍｓとの関係性は１０÷１．６６７≒６である。したがって、図４（ａ）に示すように、蓄積のタイミングによらず、６回周期で同じ出力が得られ、ＡＥ（ｎ）≒ＡＥ（ｎ＋６）の関係となる。この性質より、１００Ｈｚフリッカー光源下でＳＡＤ（６）を計算すると、ＳＡＤ（６）≒０となる。更に、１００Ｈｚフリッカーの存在を検出するために、追加でＳＡＤ（３）を計算する。ＳＡＤ（３）は、１．６６７×３＝５ｍｓ経過後の出力との類似度を計算した値となる。１００Ｈｚフリッカー光源下では、５ｍｓずれたタイミングの測光値は逆相の関係となるため、ＳＡＤ（３）はＳＡＤ（６）に対して非常に大きな値となる。つまり、ＳＡＤ（３）が大きく、ＳＡＤ（６）が小さくなる場合は、１００Ｈｚの光量変化周期に対応するフリッカーが発生し得る（存在し得る）と考えられる。
【００４２】
図４（ｂ）は、商用電源６０Ｈｚ時のフリッカー（フリッカー点灯周期が１２０Ｈｚ）が存在した場合の蓄積制御と画像信号の出力の推移を例示的に説明する図である。フリッカーの光量変化周期が１００Ｈｚのときと同様に、商用電源６０Ｈｚ時のフリッカー（フリッカー点灯周期は１２０Ｈｚ）では、ＳＡＤ（５）とＳＡＤ（３）を計算する。１２０Ｈｚのフリッカー光源下では、フリッカーの光量変化周期は約８．３３３ｍｓであるため、ＡＥ（ｎ）≒ＡＥ（ｎ＋５）となり、ＳＡＤ（５）≒０となる。また、１２０Ｈｚのフリッカーでは、逆相の関係になるのは４．１６ｍｓ経過後であり、４．１６ｍｓ経過後波形との類似度を判定するのが理想的である。しかし、４．１６ｍｓはフレーム周期１．６６７ｍｓの整数倍ではないため、これに比較的近い値として５ｍｓ経過後波形との類似度を示すＳＡＤ（３）の値で代用する。すなわち、１２０Ｈｚフリッカー光源下でも、ＳＡＤ（３）は逆相に近い間隔での測光値変化の類似度を示すため、ＳＡＤ（３）はＳＡＤ（５）に対して非常に大きな値となる。
【００４３】
以上よりＳＡＤ（６）、ＳＡＤ（５）、ＳＡＤ（３）を算出し、これらの評価値を用いて最終的なフリッカーの光量変化周期判定を実行する。図５は、本発明の第１実施形態に係るフリッカーの光量変化周期の判定方法を例示的に説明する図である。図５（ａ）は、光量変化周期が１００Ｈｚのフリッカーの判定に用いるデータ、図５（ｂ）は、１２０Ｈｚの光量変化周期のフリッカーの判定に用いるデータ、図５（ｃ）は、フリッカーの発生有無および光量変化周期の検出に用いるデータを示している。
【００４４】
前述したように、１００Ｈｚフリッカー光源下では、ＳＡＤ（３）はＳＡＤ（６）に対して非常に大きな値となる。よって、横軸にＳＡＤ（３）、縦軸にＳＡＤ（６）を持つ図５（ａ）に示すような平面を考えると、１００Ｈｚフリッカー光源下では、この平面の相対的に右下の領域にプロットが得られることになる。すなわち、図５（ａ）に示すような領域分割で１００Ｈｚフリッカーと判定する領域と、１００Ｈｚフリッカーではないと判定する領域を設定し、この領域に対するプロットの位置から、精度良く１００Ｈｚフリッカーを判定できる。
【００４５】
同様に横軸にＳＡＤ（３）、縦軸にＳＡＤ（５）を持つ図５（ｂ）に示す平面の領域分割により、１２０Ｈｚフリッカーであるかを判定することができる。なお、図５（ａ）、（ｂ）に示した領域分割線はあくまで一例であり、当該分割線の傾きや屈曲点は、この限りではない。
【００４６】
以上説明した各光量変化周期に係るフリッカーの発生有無の判定結果を統合して、最終的なフリッカー検出を行う。本実施形態では、図５（ｃ）に示す対応表を用いて、フリッカーの発生有無および光量変化周期の検出に係る、最終的なフリッカー検出が行われる。なお、フリッカーが存在していない場合（図５（ｃ）で「ＤＣ」と示す）は、１２回の蓄積による出力が時間的に大きく変化しない。したがって、各出力を比較しても、ＡＥ（１）≒ＡＥ（２）≒ＡＥ（３）≒・・・・・≒ＡＥ（１２）となり、これにより各評価値ＳＡＤ（６）≒ＳＡＤ（５）≒ＳＡＤ（３）≒０となる。この場合、図５（ａ）、（ｂ）の両平面の原点付近にプロットが得られるため、１００Ｈｚフリッカーおよび１２０Ｈｚフリッカーが存在しない（発生していない）と判定されるため、図５（ｃ）の表の右下のボックスの「ＤＣ」に該当する。
【００４７】
また、図５（ｃ）の表の左上のボックスは、１００Ｈｚのフリッカーが発生し、かつ、１２０Ｈｚのフリッカーが発生している、と判定されている状態である。通常であればこのような判定結果が得られることはないが、例えば、被写体の移動やパンニング動作などにより、１２回の蓄積中に被写体が変化する場合などは、この限りではない。この場合は、フリッカー検出結果がエラーであるため、フリッカーが存在していない（検出されていない）と判定する。以上が、ステップＳ１０２におけるフリッカー検出動作である。
【００４８】
図３に戻り、ステップＳ１０２の処理で１００Ｈｚフリッカーを検出した場合、ステップＳ１０３の処理に進む。ステップＳ１０３でＣＰＵ１０４は、フリッカーが検出されたことをユーザに報知するために、ディスプレイ１０３に「フリッカーを検出しました」という表示を行う。このフリッカーが検出されたことを報知するための表示は、ライブビュー画像に重畳して表示する構成であってもよいし、ライブビュー表示を一時的に停止して表示する構成であってもよい。
【００４９】
なお、ユーザへの報知方法はこれに限定されるものではなく、フリッカーが検出されたことを示すことができれば、どのような形態および形式を採用してもよい。例えば、フリッカーが検出されたことを示す機能アイコン等をディスプレイ１０３におけるＧＵＩ上に表示させる構成であってもよいし、表示の他にスピーカー（不図示）を用いた発音によりフリッカーが検出されたことを報知してもよい。また、フリッカーが検出されたことを示すだけでなく、検出されたフリッカーの光量変化周期を同時に報知する構成であってもよい。
【００５０】
次に、ステップＳ１０４でＣＰＵ１０４は、撮像素子１０１の蓄積時間を１００Ｈｚのフリッカーの光量変化周期（１０ｍｓ）の整数倍数に設定し、ライブビューを行う。なお、ＣＰＵ１０４は、ライブビュー中もライブビュー用の画像に基づいて周期的に被写体の測光動作を行い、この測光結果に基づいて露出制御を行う。
【００５１】
ライブビューを中断する要素としては、ユーザの要求によるフリッカー検出操作、電源オフ操作、被写体の撮影操作の３つがある。以下、これらの要素について順に説明する。
【００５２】
ステップＳ１０５でＣＰＵ１０４は、ユーザの要求によるフリッカー検出操作がされたか否かを判定する。フリッカー検出操作は、ディスプレイ１０３に表示されたフリッカー検出用のアイコンをユーザがタッチ操作することで実行される。ユーザの要求によりフリッカー検出操作が行われたと判定された場合はステップＳ１０２に戻り、フリッカー検出動作を繰り返す。この際、撮像素子１０１のライブビュー用の駆動からフリッカー検出用の駆動（６００ｆｐｓ駆動）に切り替わり、この６００ｆｐｓ駆動の露出条件は、直前のライブビュー画像に基づく測光結果から設定される。
【００５３】
なお、前述したように、フリッカー検出に用いる画像は、画素加算または間引き読み出し等を行うため、撮像素子１０１をライブビュー用からフリッカー検出用の駆動に切り替えると、一時的に解像度の低い画像が表示されてしまう虞がある。そこで、フリッカー検出用の６００ｆｐｓ駆動により得られた画像はディスプレイ１０３で表示せず（ライブビューに用いず）、その間は、直前に得られたライブビュー用の画像を継続してディスプレイ１０３に表示する（この状態をフレームストップと称す）。
【００５４】
フリッカー検出用の６００ｆｐｓ駆動は計１２回の蓄積期間のみだけ行えばよく、仮に、フリッカー検出動作の完了迄含めても３０ｍｓ程度の短い期間で終了する。したがって、ユーザの発意によるフリッカー検出操作を行ったとしても、該操作の後にライブビューが３０ｍｓ程度フレームストップするだけで、ユーザに与える違和感を最小限に抑制しつつ、ユーザは容易にフリッカーの検出結果を知ることができる。
【００５５】
ステップＳ１０５の処理がＮＯであれば、次に、ステップＳ１０６でＣＰＵ１０４は、ユーザによる電源オフ操作がされたか否かを判定する。ステップＳ１０６の判定により電源オフ操作がされている場合はステップＳ１２２へ進み、ライブビューを中断して、カメラ本体１００の電源をオフする。
【００５６】
ステップＳ１０６の判定がＮＯであれば、次に、ステップＳ１０７でＣＰＵ１０４は、ユーザによる撮影操作がされたか否かを判定する。ステップＳ１０７の判定により撮影操作がされている場合は、ライブビューを中断してステップＳ１１８以降の処理に進み、フリッカー検出およびフリッカーレス撮影を実行する。なお、本実施形態では、ステップＳ１０７の判定として、例えば、ユーザが撮像指示部１１０を操作して撮像指示がされたか否かを判定する構成であるが、これに限定されるものではない。例えば、ユーザが撮像指示部１１０を操作して撮像準備指示がされたか否かを判定する構成であってもよい。すなわち、ステップＳ１０７における撮影操作がされたか否かの判定は、撮像準備指示および撮像指示の何れか一方がユーザにより指示されたか否かを判定する処理と同義である。撮影操作に基づくフリッカー検出およびフリッカーレス撮影の詳細については、後述する。
【００５７】
次に、ステップＳ１０２の処理で１２０Ｈｚフリッカーを検出した場合（ステップＳ１０８〜Ｓ１１２）の処理について説明する。１２０Ｈｚフリッカーが検出された場合の処理は、前述した１００Ｈｚフリッカーが検出された場合の処理と基本的に同一である。すなわち、ステップＳ１０８〜Ｓ１１２の処理は、前述したステップＳ１０３〜Ｓ１０７の処理と略同一である。ただし、ステップＳ１０９におけるライブビュー用の画像を取得する際の撮像素子１０１の蓄積時間は、１２０Ｈｚフリッカーの影響を低減するために、１２０Ｈｚのフリッカーの光量変化周期（約８．３３ｍｓ）の整数倍数に設定される。
【００５８】
次に、ステップＳ１０２の処理でフリッカーが検出されなかった場合（ステップＳ１０３〜Ｓ１１７）の処理について説明する。フリッカーが検出された場合の処理も、前述した１００Ｈｚフリッカーまたは１２０Ｈｚフリッカーが検出された場合の処理と基本的に同一である。ただし、この場合、フリッカーが検出されていないため、ステップＳ１１３でＣＰＵ１０４は、ディスプレイ１０３に「フリッカーを検出しませんでした」と表示する。また、ステップＳ１１４の処理でＣＰＵ１０４は、フリッカーの光量変化周期に合わせて撮像素子１０１の蓄積時間を制御する必要がないため、測光結果に基づく最適な蓄積時間となるように露出制御を行う。
【００５９】
以上説明したように、ステップＳ１０３〜Ｓ１１７の処理では、ライブビュー中にユーザによるフリッカー検出操作が行われた場合、フリッカー検出動作が実行され、その検出結果に関するユーザへの報知が行われる。さらに、ライブビュー用の画像を取得するための露出制御として、フリッカーの検出結果に応じてライブビュー時の蓄積時間が制御され、ライブビューにおけるフリッカーの影響を効果的に低減することができる。
【００６０】
次に、ステップＳ１１８でＣＰＵ１０４は、被写体の本撮影の直前にフリッカー検出動作、および、フリッカーの光量変化のピークタイミングを演算する処理を実行する。ユーザの要求により撮影操作がされた（撮像指示がされた）ことに応じてフリッカーの検出動作を実行するのは以下の理由による。前述したように、本実施形態では、カメラ本体１００の電源がオンされた直後（すなわちライブビューの開始直前）と、ユーザによるフリッカー検出操作（フリッカー検出指示）がされた場合にフリッカーの検出動作を行う。しかしながら、これらのタイミングのみフリッカーの検出動作を行う構成だと、適切にフリッカーの検出を行えずにフリッカーレス撮影機能が実行される場合が起こりうる。
【００６１】
例えば、カメラ本体１００の電源がオンされた際に、撮影レンズ２００にレンズキャップなどが装着されたままであると、ライブビュー開始前に正確なフリッカー検出はできない。そして、この状態で、ユーザによるフリッカー検出操作が一度もされることなく、被写体の本撮影（記録画像の取得動作）が指示された場合、フリッカー光源下であってもフリッカーが発生していない場合と同様の条件で撮影が行われてしまう。また、例えば、ユーザによるフリッカー検出操作が行われたとしても、当該フリッカー検出操作前後で撮影環境が変化した場合（例えば、屋内と屋外との間を移動するなど）は、フリッカーの検出結果と実際の撮影環境に差異が生じる虞がある。以上説明した何れの場合も、本撮影により得られる画像にフリッカーの影響が生じる、あるいは、フリッカー光源下でないにも関わらず、レリーズタイムラグ等が増加する虞がある。
【００６２】
そこで、本実施形態では、本撮影の直前にフリッカーの検出動作を行う。なお、ステップＳ１１８におけるフリッカーの検出動作は、前述したＳ１０２と同一であるので説明は省略する。また、ステップＳ１１８では、フリッカーの検出動作に合わせてフリッカーのピークタイミングの演算を行う。以下、当該演算の詳細について説明する。
【００６３】
図６は、本発明の実施形態に係るフリッカーのピークタイミングを算出する方法の一例を説明する図である。フリッカー検出用の出力ＡＥ（１）〜ＡＥ（１２）の中で最大の出力を得た点をＰ２（ｔ（ｍ），ＡＥ（ｍ））とし、その１つ前の測光結果の点をＰ１（ｔ（ｍ−１），ＡＥ（ｍ−１））、１つ後の測光結果の点をＰ３（ｔ（ｍ＋１），ＡＥ（ｍ＋１））とする。まず、ＡＥ（ｍ−１）とＡＥ（ｍ＋１）の出力のうち小さい方を取る点（図６ではＰ１）と点Ｐ２の２点を通る直線をＬ１＝ａｔ＋ｂとして求める。更にＡＥ１とＡＥ３の出力のうち大きい方を取る点（図６ではＰ３）を通り、傾き−ａの直線をＬ２として求める。
【００６４】
求めたＬ１とＬ２の交点を計算すると、フリッカーピークタイミングｔ＿ｐｅａｋを近似的に求めることができる。なお、ステップＳ１１８の処理におけるフリッカー検出結果が１００Ｈｚフリッカーであった場合は、フリッカーピークは、ｔ＿ｐｅａｋ＋ｍ×１０（単位：ｍｓ、ｍは任意の自然数）で示す１０ｍｓ毎に生じることになる。
【００６５】
図２に戻り、ステップＳ１１９でＣＰＵ１０４は、ユーザによる撮影操作がされた後、種々の撮影準備が完了した状態で到達した最初のｔ＿ｐｅａｋ＋ｍ×１０のタイミングで撮像素子１０１の本露光を行う。なお、本実施形態では、本撮影で取得される画像の上下方向に明るさのムラが生じないように、フリッカーのピークタイミングを基準に撮像素子１０１の露光期間を制御する。
【００６６】
同様に、ステップＳ１１８の処理で１２０Ｈｚフリッカーが検出された場合は、フリッカーピークは、ｔ＿ｐｅａｋ＋ｍ×８．３３（単位：ｍｓ、ｍは任意の自然数）で示す約８．３３ｍｓ毎に生じる。したがって、ステップＳ１２０でＣＰＵ１０４は、ステップＳ１１９と同様の方法で、フリッカーのピークタイミングｔ＿ｐｅａｋ＋ｍ×８．３３に同期して本露光を行う。以上説明したステップＳ１１９およびステップＳ１２０の処理をフリッカーレス撮影機能と称す。フリッカーレス撮影機能の実行により記録画像を得られた後は、それぞれ、ライブビューを再開するために、ステップＳ１０４、Ｓ１０９の処理に戻る。なお、ステップＳ１１８の処理でフリッカーが検出されない（ＤＣと判定された）場合は、露光期間のタイミングは調整せずに本露光を行い、ステップＳ１１４の処理に戻る。
【００６７】
ここで、前述した説明では、フリッカーの光量変化のピーク（光量が最大となる）タイミングを検出し、検出したピークタイミングを基準に撮像素子１０１の露光期間を制御する構成について言及したが、これに限定されるものではない。本実施形態に係るカメラ本体１００におけるフリッカーレス撮影機能としては、フリッカーによる変化する被写体の光量が最小となるタイミング（ボトムタイミング）に合わせて本露光を行う構成であってもよい。
【００６８】
以上説明したように、本実施形態のカメラ本体１００は、ユーザによるフリッカー検出操作が行われた際だけでなく、記録画像を得るための本撮影の直前にフリッカー検出動作を行う。そして、フリッカーが検出された場合は、検出されたフリッカーの光量変化の特徴点に合わせたフリッカーレス撮影機能を実行しつつ、撮影後のライブビューにおいてもフリッカーの影響を低減できる蓄積時間を適切に設定することができる。
【００６９】
なお、前述したステップＳ１０５、Ｓ１１０、Ｓ１１５におけるユーザのフリッカー検出操作は、フリッカーの検出を直接的に指示する操作であったが、例えば、ディスプレイ１０３の表示内容の切り替え操作（指示）に連動してなされる構成であってもよい。
【００７０】
（ライブビュー中のフリッカーレス撮影機能）
以下、本実施形態に係るライブビュー中にフリッカーレス撮影を行う場合の、各動作が実行されるタイミングについて具体的に説明する。なお、基本的な動作は前述した図３に図示するフローに従った処理に基づく。図７は、本発明の第１実施形態に係るライブビュー中のフリッカーレス撮影動作に関するタイミングチャートの一例である。なお、図７は、カメラ本体１００の電源がオンされたことに応じてライブビューが開始される場合を想定している。また、図７に示す各動作は、ＣＰＵ１０４の指示によりカメラ本体１００およびカメラ本体１００に接続された各機器が動作することで実行されるため、以下の説明では、各動作を実行する主体についての説明は省略する。
【００７１】
図７に図示するように、カメラ本体１００の電源がオンされてカメラ本体１００の各部が起動すると、タイミングＴ１でスキャン型の測光方法（スキャン測光）を実行する。なお、スキャン測光は、予め定められた複数の露出に合わせた複数の画像（信号）に基づいて測光を行うことで最適な露出を決定する方法である。具体的に、本実施形態では、撮像素子１０１を用いて予め決められた露出で得られた複数の画像を測光（輝度値を算出）し、それぞれの輝度値について予め決められた目標輝度値との差分値を求める。この差分値のうち、絶対値が一番小さい組合せに基づいて、ライブビュー用の画像取得時に用いる最適な露出（適正露出）を決定する。
【００７２】
その後、タイミングＴ２でフリッカー検出動作を実行する。その後、タイミングＴ３でディスプレイ１０３にてライブビューの表示を行う。この際、ライブビュー表示に用いる画像を取得する際の露出は、先に実行されたスキャン測光の結果とフリッカー検出結果に基づいて露出制御を行うことで、フリッカーの影響が低減されたライブビュー表示が行われる。
【００７３】
その後、ライブビュー中に撮像指示部１１０を操作したことによる撮像指示を検出したことに応じて、現在のライブビュー表示を中断して、タイミングＴ４で再びフリッカー検出動作を実行する。そして、その後、タイミングＴ５で、タイミングＴ４で実行されたフリッカー検出の結果に基づいて、タイミングＴ５でフリッカーレス撮影（本撮影）が行われる。なお、フリッカー検出動作、フリッカーレス撮影の方法は、前述した通りなので説明は省略するが、タイミングＴ４で実行されるフリッカー検出動作では、（フリッカーの発生有無に合わせて）フリッカーの光量変化周期及びピークタイミングが検出される。
【００７４】
ここで、タイミングＴ４におけるフリッカー検出動作は、カメラ本体１００において予めフリッカーレス撮影機能がオンされている場合に実行される。したがって、予めフリッカーレス撮影機能がオフされている場合は、タイミングＴ４におけるフリッカー検出動作を省略して静止画を取得するための被写体撮像（本撮影）を行う。
【００７５】
本撮影が完了すると、タイミングＴ６で再びディスプレイ１０３におけるライブビュー表示を行う。なお、タイミングＴ６におけるライブビュー表示では、直前のフリッカー検出結果に基づいて露出制御を行うことで、フリッカーの影響が低減されたライブビュー表示が行われる。すなわち、本実施形態のカメラ本体１００では、ライブビュー表示用の露出制御は直前に行われたフリッカー検出動作の結果に基づいて更新される。換言すると、本実施形態におけるカメラ本体１００は、ライブビュー表示中は、新たにフリッカー検出動作が実行される毎に、フリッカーの影響を低減するようにライブビュー表示用の露出を決定する。
【００７６】
また、タイミングＴ７〜Ｔ８は、ライブビュー表示中に撮像設定入力部１１１が操作され各種の設定項目を表示するメニュー表示の表示指示がされた場合を例示している。この場合、ユーザによるメニュー表示の表示指示に応じてライブビュー表示を停止（中断）し、タイミングＴ７で、ユーザの操作に応じた任意のメニュー表示（設定画面）がディスプレイ１０３に表示される。そして、ユーザによってメニュー表示の停止が指示されたことに応じて、タイミングＴ８で再度ライブビュー表示を行う。
【００７７】
ここで、ライブビューのシミュレートモードにおけるフリッカー検出動作について説明する。前述したように、本実施形態に係るフリッカー検出動作では、フリッカーの発生有無、光量変化周期、そしてピークタイミングを検出するため、当該検出に用いる画像内に飽和領域や黒つぶれ領域があると、フリッカー検出動作の検出精度が低下する。
【００７８】
この飽和領域や黒つぶれ領域が発生しやすい状況としては、ユーザの手動操作によって露出条件が変更されている場合があり、この場合は、先に求めた適正露出に対して露出補正がされている状態と同義である。そこで、ライブビューのモードがシミュレートモードの場合は、露出制御の基準とする制御値（輝度値）にユーザが設定した露出補正を反映させることなくフリッカー検出動作を行う。換言すると、ライブビューがシミュレートモードであっても、ユーザが設定した露出に依らずフリッカー検出動作用の露出制御を行う。
【００７９】
なお、フリッカー検出動作に用いる輝度値の演算は、測光モードに応じて測光結果が変化することを抑制するために、予め設定されている測光モードに依らずに輝度値が算出される。本実施形態では、画像全体を平均して測光した平均輝度値を用いるが、フリッカー検出動作に用いる領域の出力に基づく平均輝度値を用いる構成であってもよい。
【００８０】
また、前述したように、飽和領域および黒つぶれ領域の発生を抑制するために、露出補正を反映せずにフリッカー検出動作を行うのがよい。しかしながら、フリッカー検出動作における、特にピータイミングを精度よく検出するには、飽和領域をできるだけ低減するのが好ましい。そこで、本実施形態に係るカメラ本体１００としては、輝度に関わるヒストグラムなどを参照して飽和領域を検出し、飽和領域が検出された場合は、この飽和の影響を低減するようにフリッカー検出動作における露出を設定してもよい。
【００８１】
以上の構成をまとめると、ライブビュー表示用の露出制御に用いる輝度値は、予め設定された測光モードに従って取得される。この際、ライブビューのモードがシミュレートモードであれば、ユーザにより設定された露出条件に合わせてライブビュー用の露出制御を実行する（具体的には、露出補正に対応する分だけ、露出制御に用いる輝度値をシフトする）。これに対して、フリッカー検出動作においては、ライブビューのモードに依らず、また、予め設定されている測光モードにもよらずに所定の方法で輝度値を算出し、当該輝度値に基づいてフリッカー検出用の画像を取得する際の露出制御を行う。なお、フリッカー検出動作用の輝度値の算出時に、輝度のヒストグラムなどに基づいて飽和領域や黒潰れ領域を検出し、これらの領域が検出された場合は、飽和や黒潰れが低減されるように輝度値を補正する。
【００８２】
以下、図７に図示したタイミングチャートに基づく各処理に関するフローについて図８、９を参照して説明する。なお、図８、９に示すフローチャートにおいては、カメラ本体１００において予めフリッカーレス撮影機能がオンされており、カメラ本体１００の電源がオンされたことに応じてライブビューが開始される場合を想定している。図８は、本発明の第１実施形態に係るライブビュー表示中のフリッカー検出動作に係る各処理に関するフローチャートである。
【００８３】
ライブビュー開始指示（カメラ本体１００の電源オン、その他ライブビュー開始を指示する操作）がされたことに応じてライブビュー表示処理が開始されると、ステップＳ２０１でＣＰＵ１０４は、スキャン測光を実行し適正露出となる露出条件を算出する。
【００８４】
次に、ステップＳ２０２でＣＰＵ１０４は、フリッカー検出動作を実行する。そして、ステップＳ２０３でＣＰＵ１０４は、ステップＳ２０２のフリッカー検出結果に基づく露出制御を実行して、フリッカーの影響を低減するような露出条件で、ディスプレイ１０３でのライブビュー表示を開始する。
【００８５】
次に、ステップＳ２０４でＣＰＵ１０４は、ユーザによって、ライブビューの停止（中断）が必要な操作（ＬＶ停止操作）がされたか否かを判定する。そして、ＬＶ停止操作がされていると判定された場合、ステップＳ２０５でＣＰＵ１０４は、現在実行されているライブビュー表示を停止（中断）させる。ＬＶ停止操作がされていないと判定された場合は、ステップＳ２０４の処理を繰り返す。
【００８６】
なお、ＬＶ停止操作としては、被写体の撮像指示、メニュー表示指示、画像の再生指示などがある。ここで、前述した、フリッカー検出操作もＬＶ停止操作に含まれるが、フリッカー検出操作が指示された場合はライブビューをフレームストップされる。すなわち、本実施形態におけるＬＶ停止操作としては、新たにライブビュー用の画像の取得およびディスプレイ１０３で表示中のライブビュー画像の更新の何れかを停止する操作が該当する。
【００８７】
以降の説明は、ステップＳ２０４で判定されたＬＶ停止操作が被写体の撮像指示である場合を仮定して説明する。図９は、本発明の第１実施形態に係るライブビュー表示中の撮影処理に関するフローチャートである。ライブビュー表示が停止された後、ステップＳ３０１でＣＰＵ１０４は、フリッカー検出動作を実行して、フリッカーの発生有無と光量変化周期、そしてフリッカーのピークタイミングを検出する。
【００８８】
次に、ステップＳ３０２でＣＰＵ１０４は、ステップＳ３０１のフリッカー検出結果と先に得られた適正露出に関する情報に基づき、本撮影を実行して静止画像（記録画像）を取得する。なお、Ｓ３０１でフリッカーが検出されている場合は、フリッカーのピークタイミングに合わせて撮像（フリッカーレス撮影）するが、フリッカーが検出されてない場合は、フリッカーのピークタイミングに依らずに撮像する。
【００８９】
次に、ステップＳ３０３でＣＰＵ１０４は、ユーザによる撮像指示が継続されており連続撮影（連写）が指示されているかを判定する。そして、ステップＳ３０３で連写が指示されていると判定された場合はステップＳ３０１に戻り再びフリッカー検出を行う。ステップＳ３０３で連写が指示されていないと判定された場合は撮影処理を終了する。この場合は、図８のステップＳ２０３に戻りライブビュー表示を再開する。
【００９０】
なお、連写コマ間におけるフリッカー検出動作は、フリッカーの光量変化周期を検出することなく、ピークタイミングのみを検出する構成であれば、連写のコマ速（連続する本撮影の間隔）を短縮することができる。これは、連写中などの短い期間においてはフリッカーの光量変化周期が変化する確率が低いためである。対して、フリッカーのピークタイミングは、商用電源周波数の理論値からの微小なズレにより、光量のピークは徐々に変化するため、被写体を撮像するごとに検出するのが好ましい。フリッカーのピークタイミングの検出は、フリッカーの光量変化の１周期に相当する複数の画像に基づいて検出できるため、撮像素子１０１を６００ｆｐｓで駆動し、計６回の電荷蓄積と読み出しを繰り返して当該複数の画像を得ればよい。なお、連写時のコマ速低下を抑制することを優先する場合は、連写における撮像ごとにフリッカー検出動作を行わない構成であってもよい。
【００９１】
なお、ステップＳ２０４で判定したＬＶ停止操作がメニュー表示や画像の再生指示であれば、メニュー表示および画像再生の継続が指示されているか否かを判断する処理を設け、継続しない場合にステップＳ２０３の処理に戻ればよい。また、ステップＳ２０４で判定したＬＶ停止操作がフリッカー検出操作であれば、ユーザによるフリッカー検出操作の指示が継続しているか否かを判定する処理を設け、継続してない場合にステップＳ２０３の処理に戻ればよい。何れの場合も、最新のフリッカー検出結果に基づいて、ライブビュー表示用の露出制御を実行する構成であればよい。
【００９２】
なお、本実施形態のカメラ本体１００は、フリッカーレス撮影機能のオン・オフに依らずに、フリッカー検出動作を実行可能である。具体的に、本実施形態では、ライブビュー表示を開始する際のフリッカー検出動作（Ｓ１０２）については、フリッカーレス撮影機能がオフされていても実行される。これは、ライブビュー開始時にフリッカーの影響によりライブビュー表示の品位が低下することを抑制するためである。また、ユーザの要求によるフリッカー検出動作（Ｓ１０５、Ｓ１１０、Ｓ１１５）については、フリッカーレス撮影機能がオフされていても実行可能である。これは、フリッカーの有無を判断できない状態で撮影が行われることを低減するためであって、この構成により、撮影機能を変更することなく、ユーザが簡単にフリッカーの有無を判断できる。対して、本実施形態では、ユーザによる撮影操作に応じたフリッカー検出動作（Ｓ１１８）は、レリーズタイムラグなどの増加を抑制するため、フリッカーレス撮影機能がオフの場合は実行されない。
【００９３】
（第２実施形態）
以下、図１０〜１３を参照して、本発明の第２実施形態に係る撮像システムについて説明する。なお、カメラ本体１００を中心とする撮像システムの基本的な構成については、前述した第１実施形態と略同一なので、説明は省略する。前述した第１実施形態に対して本実施形態は、フリッカー検出動作に係る露出制御方法が異なる。
【００９４】
図１０は、本発明の第２実施形態に係る、フリッカーレス撮影機能がオンされている場合のフリッカーレス撮影処理について説明するフローチャートである。なお、図１０は、ライブビュー表示中に本撮影を行う場合を想定した各種処理に関するフローチャートである。カメラ本体１００の電源スイッチがオンされると、ステップＳ４０１でＣＰＵ１０４は、撮像素子１０１を用いて画像を取得し、当該画像に基づいて測光動作を行うことで測光値ＢｖＡｖｅを算出する。
【００９５】
図１１は、フリッカーが存在する場合に、フリッカーの光量変化周期に合わせて測光値（輝度値）を算出する方法を例示的に説明する図である。フリッカーの影響により画像に明るさのムラが生じることを抑制するため、ライブビュー画像を取得する際は、撮像素子１０１の蓄積時間をフリッカーの光量変化の１周期より長くする。この場合に得られる測光値は、図１１に図示するように、フリッカーによる光量の変化が平均化された平均測光値ＢｖＡｖｅとなる。
【００９６】
次に、ステップＳ４０２でＣＰＵ１０４は、ユーザから要求により、撮像指示されているか否かを判定する。撮像指示が検出されていない場合は、ステップＳ４０１の処理に戻し、撮像指示がされている場合はステップＳ４０３の処理に進む。
【００９７】
次に、ステップＳ４０３でＣＰＵ１０４は、前述した第１実施形態と同様の方法でフリッカー検出動作を実行し、フリッカーが検出された場合は、ステップＳ４０４でフリッカーの光量変化周期と撮像時の露光時間に応じて露出補正量Ｃｏｍｐを算出する。ここで、図１２を参照して、フリッカーが検出された際に測光値を補正する必要性について説明する。図１２は、フリッカーの光量変化周期と露光時間との関係性を説明する図である。
【００９８】
前述したように、フリッカーレス撮影時は、フリッカーのピークタイミングを基準として撮像素子１０１を用いた露光期間を設定する。ここで、露光時間が短い場合（すなわちシャッター速度が短い短秒撮影時）は、フリッカーのピークタイミング近傍の光量が平均化される。この場合、撮影時の露光時間に対応する輝度値ＢｖＳｔｉｌは、平均測光値ＢｖＡｖｅよりも露出がオーバーになるため、平均測光値ＢｖＡｖｅに合わせて設定された露出条件で被写体を撮像しても、画像の明るさが不自然になってしまう。
【００９９】
本実施形態では、フリッカーレス撮影により得られる画像の明るさが不自然になることを抑制するため、撮像時の露光時間に合わせて測光値を露出補正量Ｃｏｍｐにより補正する。なお、露光時間が長秒になるほど、撮影時の露光時間に対応する輝度値と平均測光値ＢｖＡｖｅとの差分が小さくなる。そのため、本実施形態では、露出補正量Ｃｏｍｐが可変であって、露光時間に応じて最適な値となるような構成を採用する。図１３は、本発明の第２実施形態に係る露出補正量の算出方法を例示的に説明する図である。
【０１００】
ステップＳ４０５でＣＰＵ１０４は、ステップＳ４０１で取得した測光値ＢｖＡｖｅに基づき、本撮影時の露出条件として、シャッター速度（露光時間）Ｔｖ、絞り値Ａｖ、ＩＳＯ感度をそれぞれ算出する。そして、これらの露出条件を算出する際に用いる測光値Ｂｖは、以下の式（２）に基づいて算出する。
Ｂｖ＝ＢｖＡｖｅ＋Ｃｏｍｐ（Ｘ）・・・（２）
【０１０１】
なお、（Ｘ）は、図１３に図示するデータに基づき、シャッター速度（露光時間）Ｔｖの値に応じて決定される。次に、ステップＳ４０６でＣＰＵ１０４は、後の処理で参照するため、露出補正量Ｃｏｍｐ（Ｘ）を別名のＬａｓｔＣｏｍｐとして記録部１１２の所定領域に記憶する。そして、ステップＳ４０７でＣＰＵ１０４は、ステップＳ４０４で算出された露出補正量に基づく露出条件に基づいて本撮影を行い、静止画（記録画像）を取得する。なお、フリッカーが検出されている場合は、フリッカーのピークタイミングに合わせて（同期して）被写体を撮像する（フリッカーレス撮影）。また、フリッカーが検出されていない場合は、フリッカーのピークタイミングによらず被写体を撮像する。
【０１０２】
次に、ステップＳ４０８でＣＰＵ１０４は、ユーザからの撮像指示（撮影要求）が継続しているか否かを判定し、撮像指示が継続していると判定された場合はステップＳ４０９の処理に進む。撮像指示が継続していないと判定された場合は、一連の撮影処理を終了する。
【０１０３】
次に、ステップＳ４０９でＣＰＵ１０４は、先の本撮影で得られた記録画像（静止画）に基づいて測光値を算出し、測光値Ｂｖ１として記憶する。そして、ステップＳ４１０でＣＰＵ１０４は、フリッカー検出動作を実行する。なお、ステップＳ４１０におけるフリッカー検出動作においては、第１実施形態で前述したように、ピークタイミングの検出だけ行う構成であってもよい。
【０１０４】
ステップＳ４１０の処理でフリッカー検出された場合、ステップＳ４１１でＣＰＵ１０４は、露出補正量Ｃｏｍｐを算出する。なお、ステップＳ４１０の処理でフリッカー検出されていない場合はステップＳ４１２の処理に進む。
【０１０５】
なお、ステップＳ４１１で算出する露出補正量Ｃｏｍｐは、平均された測光値ＢｖＡｖｅに対する露出補正量なので、この露出補正量に基づいて、前述した式（２）と同様に、Ｂｖ＝Ｂｖ１＋Ｃｏｍｐ（Ｘ）として算出すると、二重に露出補正がされてしまう。具体的に、測光値Ｂｖ１としては、前回の本撮影時に平均測光値ＢｖＡｖｅを露出補正量ＬａｓｔＣｏｍｐで補正した状態で得られた画像に基づいて算出されるため、二重に露出補正がされてしまう。
【０１０６】
そこで、本実施形態では、前回の本撮影時の露出補正量ＬａｓｔＣｏｍｐの影響を取り除くために、ステップＳ４１２の処理において、以下の式（３）に基づき測光値Ｂｖを算出する。
Ｂｖ＝Ｂｖ１−ＬａｓｔＣｏｍｐ＋Ｃｏｍｐ（Ｘ）・・・（３）
【０１０７】
この構成により、ライブビュー表示中のフリッカーレス撮影において連続撮影を実行する場合であっても、連続撮影の２回目以降の撮像時に、露出補正が二重にされることを防止することができる。
【０１０８】
以降のステップＳ４１３〜Ｓ４１４の処理は、前述したステップＳ４０６〜Ｓ４０７の処理と同一なので説明は省略する。そして、ステップＳ４０８の処理で、撮像指示が継続している場合は、ステップＳ４０９〜Ｓ４１４の処理を繰り返す。なお、図１０に図示するフローチャートにおいてフリッカーが検出されていない場合、露出補正量Ｃｏｍｐおよび前回の露出補正量ＬａｓｔＣｏｍｐは０として各処理を実行すればよい。
【０１０９】
以上説明した構成を採用することで、本実施形態のカメラ本体１００は、ライブビュー表示中にフリッカーレス撮影を実行する場合に、被写体を撮像することで得られた画像の明るさが不自然になることを、効果的に防止することができる。
【０１１０】
（第３実施形態）
以下、図１４〜１６を参照して、本発明の第３実施形態に係る撮像システムについて説明する。なお、カメラ本体１００を中心とする撮像システムの基本的な構成については、前述した第１実施形態と略同一なので、説明は省略する。前述した第１実施形態に対して本実施形態は、絞りの駆動方式が異なるレンズ毎のフリッカー検出動作が異なる。
【０１１１】
まず、本実施形態における、レンズ毎の絞り制御である絶対絞り駆動、相対絞り駆動について、説明をする。絶対絞り駆動とは、ある目標の絞り値まで絞りを駆動する場合に、一度、絞りの開口量を開放にしてから、目標の絞り値に対応する開口量まで駆動するように制御することである。これは、絞りの停止精度について、絞りの駆動方向の切り替え時に生じる反転ガタなどの影響により、一度絞りを開放してから目標値まで駆動する方が、安定した絞り駆動の精度を維持することができるためである。
【０１１２】
一方、相対絞り駆動とは、ある目標の絞り値まで絞りを駆動する場合に、一度、絞りを開放にする必要がなく、そのまま目標の絞り値に対応する開口量となるまで絞りを駆動するように制御することである。この相対絞り駆動においては、絞りの停止精度に関して、反転ガタを低減する補正データを撮影レンズが予め格納しており、この補正データに基づいて絞り駆動を補正することで、一度絞りを開放にすることなく、安定した絞り精度を維持することができる。なお、補正データの詳細については、公知の技術であればどのような方法で絞り駆動を補正するものであってもよい。
【０１１３】
図１４は、本発明の第３実施形態に係るライブビュー時のフリッカー検出を実行する撮影処理に関するフローチャートである。なお、図１４に示す各処理のうち、前述した第１実施形態における図３に示す撮影処理と同一の処理については説明を省略する。
【０１１４】
ステップＳ５０１〜Ｓ５０３の処理は、前述した第１実施形態におけるステップＳ１０１〜Ｓ１０２、およびステップＳ１０４またはＳ１０９またはＳ１１４の処理同一なので説明は省略する。なお、前述した第１実施形態と同様に、ステップＳ５０３の処理は、ステップＳ５０２のフリッカー検出処理の結果に基づいて、ライブビュー用の画像を取得する際の露光時間（または蓄積時間）が異なる。なお、ライブビュー表示中は、ライブビュー用の画像に基づいて所定の周期で測光動作が行われ、ライブビュー画像の露出条件が適宜制御される。
【０１１５】
次に、ステップＳ５０４でＣＰＵ１０４は、ユーザにより（例えば、撮像指示部１１０などの）撮影操作がされたことにより、撮像指示がされたか否かを判定する。撮像指示がされていないと判定された場合はステップＳ５０３の処理に戻る。撮像指示がされていると判定された場合はステップＳ５０５の処理に進む。
【０１１６】
次に、ステップＳ５０５でＣＰＵ１０４は、現在設定されている絞り値を優先したフリッカー検出用の露出制御を実行する。なお、ステップＳ５０５の処理は、ステップＳ５０３で得たライブビュー用の画像に基づく測光結果、または、後述するステップＳ５１９で得る記録画像（静止画）に基づく測光結果に基づき、現在の絞り優先の露出制御を実行される。具体的に、ステップＳ５０５では、現在の絞り２０２の状態（すなわち、現在の絞り値）を優先して、フリッカー検出動作を実行する際の露出条件を算出する。
【０１１７】
なお、前述した第１実施形態で説明したように、フリッカー検出動作は、撮像素子１０１を駆動して、６００ｆｐｓ、約１．６６７ｍｓ周期で蓄積・読み出しを連続して（例えば、１２回）行う。そして、この連続する蓄積は、全て同じ露出条件で行う。例えば、現在の絞り値が極端に大きい値（すなわち小絞り）である場合、ＩＳＯ感度を大きくしても、露光時間（蓄積時間）が１．６６７ｍｓでは適正な露出とならない場合がある。この場合、１．６６７ｍｓで蓄積してフリッカー検出には適さない暗い画像が取得されてしまう。あるいは、１．６６７ｍｓよりも長秒で露光して画像を取得しても、この画像から精度よくフリッカー検出を行うことができない。このような場合は、絞り値を変更しないと、フリッカー検出を行うことができないため、現在の絞りを固定した状態でフリッカー検出動作が可能な露出条件を設定することができない。したがって、このような場合は、現在の絞り値から絞り値の変更を伴う露出条件をフリッカー検出用の露出条件として算出する。
【０１１８】
次に、ステップＳ５０６でＣＰＵ１０４は、ステップＳ５０５の演算結果に基づいて、絞り２０２の現在の絞り値を変更せずに、フリッカー検出動作が可能か否かを判定する。具体的に、ステップＳ５０６では、ステップＳ５０５の演算結果に基づいて、現在の絞り値を変えずにフリッカー検出動作を精度よく行うことができない場合は、現在絞り値ではフリッカー検出ができない、と判断する。ステップＳ５０６において、現在の絞り値でフリッカー検出ができると判断された場合はステップＳ５１０に進む。また、現在の絞り値でフリッカー検出ができないと判断された場合はステップＳ５０７に進む。
【０１１９】
次に、ステップＳ５０７でＣＰＵ１０４は、ＬＰＵ２０３と通信を行うことで取得した合焦位置やレンズ情報（例えばレンズＩＤなど）に基づいて、カメラ本体１００に装着されている撮影レンズ２００が、相対絞り駆動が可能なレンズであるか否かを判定する。撮影レンズ２００が相対絞り駆動が可能なレンズと判定されれば、ステップＳ５０９の処理に進む。一方、相対絞り駆動が可能なレンズでない（すなわち、絶対絞り駆動を行うレンズ）と判断されれば、ステップＳ５０８の処理に進む。なお、撮影レンズにおける相対絞り駆動および絶対絞り駆動に関する詳細な説明は図１５、１６を参照して後述する。
【０１２０】
次に、ステップＳ５０８でＣＰＵ１０４は、撮影レンズ２００が絶対絞り駆動を行うレンズであるため、絞り２０２の開口を開放位置まで駆動して、ステップＳ５０９の処理に進む。そして、ステップＳ５０９でＣＰＵ１０４は、ステップＳ５０５で算出した絞り値を目標値として、当該目標値に対応した開口量となるように、絞り駆動部２０５を用いて絞り２０２を駆動する。
【０１２１】
ステップＳ５１０の処理は、前述した第１実施形態におけるステップＳ１１８の処理と同一なので説明は省略する。そして、ステップＳ５１１でＣＰＵ１０４は、ステップＳ５０３で得られたライブビュー画像に基づく測光結果から、本撮影用の露出条件を演算する。次の、ステップＳ５１２〜Ｓ５１４の処理は、前述したステップＳ５０７〜Ｓ５０９の処理と略同一なので説明は省略する。なお、ステップＳ５１２〜Ｓ５１４の処理においては、目標とする絞り値が、ステップＳ５１１で演算した本撮影用の絞り値となる。
【０１２２】
ステップＳ５１５の処理は、前述した第１実施形態におけるステップＳ１１９またはＳ１２０またはＳ１２１の処理と同一なので説明は省略する。なお、フリッカーが検出されている場合のみ、フリッカーのピークタイミングに同期させて本撮影（フリッカーレス撮影）を行い、フリッカーが検出されていなければ、フリッカーのピークタイミングには依らず本撮影を実行する。
【０１２３】
次に、ステップＳ５１６でＣＰＵ１０４は、ステップＳ５０７やＳ５１２と同様に、撮影レンズが相対絞り駆動が可能なレンズであるか否かを判定する。これは、撮影レンズが絶対絞り駆動しかできないレンズである場合、次回以降の本撮影時に絞り２０２を開口位置に駆動する手間を省いてレリーズタイムラグを低減するため、本撮影後に絞り２０２を開放位置へと駆動させるためである。ステップＳ５１７の処理は、前述したステップＳ５０９、Ｓ５１３の処理と同一なので説明は省略する。
【０１２４】
次に、ステップＳ５１８でＣＰＵ１０４は、ユーザによる撮像指示が継続しているか否かを判定する。すなわち、ステップＳ５１８では撮影終了か否かを判定する。ステップＳ５１８の処理で撮影終了と判定された場合は撮影処理を終了する。一方、ステップＳ５１８の処理で撮影終了ではないと判定された場合、ステップＳ５１９でＣＰＵ１０４は、ステップＳ５１５の本撮影で得られた記録画像（静止画）に基づいて測光処理を行い、ステップＳ５０５の処理に戻り以降の処理を繰り返す。
【０１２５】
以上に説明した、撮影レンズ２００が絶対絞り駆動レンズである場合の撮影処理、および、撮影レンズ２００が絶対絞り駆動レンズである場合の撮影処理について、図１５、図１６に図示するタイミングチャートを参照して説明する。図１５は、本発明の第３実施形態に係る絞りの駆動方式が異なるレンズごとのフリッカーレス撮影処理に関するタイミングチャートと絞り状態を例示的に説明した図である。図１５（ａ）は、撮影レンズ２００が絶対絞り駆動を行うレンズである場合、図１５（ｂ）が、撮影レンズ２００が相対絞り駆動を行うレンズである場合の動作をそれぞれ示している。
【０１２６】
図１５（ａ）、（ｂ）ともに、カメラ本体１００の電源がオンされた時刻Ｔａ０、時刻Ｔｂ０から本撮影用の露出演算が完了する時刻Ｔａ１、時刻Ｔｂ１までは同様のタイミングで同様の処理を行う。
【０１２７】
以下、撮影レンズ２００が絶対絞り駆動を行うレンズである場合の動作について説明する。図１５（ａ）では、本撮影用の露出演算が完了する時刻Ｔａ１から、絞り２０２の開放位置に向けた駆動を開始し、時刻Ｔａ２までに絞り２０２の目標値まで駆動を完了させる。そして、時刻Ｔａ２〜時刻Ｔａ３まで本撮影の蓄積（露光）を行い、時刻Ｔａ３〜Ｔａ４の間に、直前の蓄積に対応する画像信号の読み出しと並行して、再び絞り２０２を開放位置へと駆動する。これは、前述したように、次回の撮影のために絞り２０２を開放状態にする必要があるためである。
【０１２８】
ユーザによる撮像指示が継続している場合、時刻Ｔａ５で、絞り２０２が開放位置となる状態の絞り値（開放絞り値）を優先にしたフリッカー検出用の露出演算を行い、フリッカー検出を行う。なお、本実施形態では、開放絞り値でフリッカー検出動作が可能な場合を例示しているため、このタイミングでの絞り２０２の駆動動作は発生しない。本撮影用の露出演算が完了した時刻Ｔａ６から、絞り２０２の駆動を開始し、絞り２０２の目標値への駆動が完了したら次の本撮影（静止画取得）を行う。以降、撮像指示が継続している間は、これらの動作を繰り返す。
【０１２９】
次に、撮影レンズ２００が相対絞り駆動を行うレンズである場合の動作について説明する。図１５（ｂ）では、本撮影用の露出演算が終わった時刻Ｔｂ１から、絞り２０２の開放位置への駆動をすることなく、時刻Ｔｂ２までに本撮影用の絞り値の目標値まで絞り２０２を駆動する。そして、時刻Ｔｂ２〜時刻Ｔｂ３まで本撮影の蓄積（露光）を行い、その後、絞り２０２を駆動することなく、そのままの絞り値で絞り２０２の駆動を中断する。これは、撮影レンズ２００が相対絞り駆動できる場合は、次回の本撮影に合わせて絞り２０２を開放しておく必要がないためである。
【０１３０】
ユーザによる撮像指示が継続している場合、時刻Ｔｂ５では、現在の絞り値を優先したフリッカー検出用の露出演算を行い、フリッカー検出を行う。なお、本実施形態では、現在の絞り値のまま継続してフリッカー検出動作が可能な場合を例示しているため、このタイミングで絞り２０２の駆動動作は発生しない。次に、再び本撮影用の露出演算が終わった時刻Ｔｂ６から、絞り２０２の駆動を開始し、次の本撮影（静止画取得）を行う。以降、撮像指示が継続している間は、これらの動作を繰り返す。
【０１３１】
次に、図１６は、本発明の第３実施形態に係る絞りの駆動方式が異なるレンズごとのフリッカー検出動作において絞りを駆動する場合のタイミングチャートと絞り状態を例示的に説明した図である。図１６（ａ）は、撮影レンズ２００が絶対絞り駆動を行うレンズである場合、図１６（ｂ）が、撮影レンズ２００が相対絞り駆動を行うレンズである場合の動作をそれぞれ示している。
【０１３２】
以下、撮影レンズ２００が絶対絞り駆動を行うレンズである場合の動作について図１６（ａ）を参照して説明する。なお、最初の本撮影までの動作は前述した図１５（ａ）と同一なので説明は省略する。図１６（ａ）に図示するように、本撮影を終えた時刻Ｔｃ０から開放絞り値を優先したフリッカー検出用の露出演算を行う。ここで、被写体に対して露出条件が明るすぎるため、開放絞り値ではフリッカー検出を行うことができない場合を想定する。
【０１３３】
この場合、時刻Ｔｃ１から、絞り２０２を開放位置に向けて駆動し始め、フリッカー検出動作を開始する時刻Ｔｃ２までに絞り２０２の駆動を完了する。そして、時刻Ｔｃ２からフリッカー検出動作を行ったのち、時刻Ｔｃ３〜Ｔｃ４までの間に、再び絞り２０２を開放位置に向けて駆動する。前述したように、これは、次回の撮影のための絞り駆動動作である。次に、本撮影用の露出演算が完了した時刻Ｔｃ５から、絞り２０２の駆動を開始し、絞り２０２の駆動が完了したのち次の本撮影（静止画取得）を行う。以降、撮像指示が継続している間は、これらの動作を繰り返す。
【０１３４】
以下、撮影レンズ２００が相対絞り駆動を行うレンズである場合の動作について図１６（ｂ）を参照して説明する。なお、最初の本撮影までの動作は前述した図１５（ｂ）と同一なので説明は省略する。図１６（ｂ）に図示するように、本撮影を終えた時刻Ｔｄ０から現在の絞り値を優先したフリッカー検出用の露出演算を行う。ここで、被写体に対して露出条件が暗すぎるため、現在絞り値ではフリッカー検出を行うことができない場合を想定する。
【０１３５】
この場合、時刻Ｔｄ１から絞り２０２の駆動を開始し、フリッカー検出動画が可能な絞り値となる時刻Ｔｄ２まで絞り２０２を駆動する。時刻Ｔｄ２でフリッカー検出動作を実行した後は絞り２０２を駆動せず、絞り値はそのままに絞り２０２の駆動を停止する。これは、相対絞り駆動が可能なため、次回の撮影のために絞り２０２を開放位置まで駆動する必要がないためである。そして、本撮影用の露出演算が完了した時刻Ｔｄ５から、本撮影用の絞り値に合わせて絞り２０２の駆動を開始し、絞り２０２の駆動が完了したのち次の本撮影（静止画取得）を行う。以降、撮像指示が継続している間は、これらの動作を繰り返す。
【０１３６】
以上説明したように、本実施形態のカメラ本体１００および撮影レンズ２００であれば、撮影レンズ２００の種類に応じて、フリッカー検出およびフリッカーレス撮影動作にあわせた最適な絞り駆動が可能である。具体的に、何れのレンズ種類であっても、現在の絞り値でフリッカー検出動作が可能か否かを判定し、当該判定の結果に応じて絞りの駆動有無および撮影レンズの種類に応じた最適な絞り駆動を行うような制御を行う。この構成により、撮影レンズの種類に依らずに精度よくフリッカー検出動作を行うことができ、かつ、撮影レンズの種類に応じて高速にフリッカー検出動作およびフリッカーレス撮影を行うことができる。
【０１３７】
（第４実施形態）
以下、図１７〜１９を参照して、本発明の第３実施形態に係る撮像システムについて説明する。なお、カメラ本体１００を中心とする撮像システムの基本的な構成については、前述した第１実施形態と略同一なので、説明は省略する。本実施形態では、前述した第１実施形態におけるライブビュー表示中のフリッカー検出動作に加えて、内蔵ストロボ１１４又は外部ストロボ３００を用いた発光撮影を行う場合について具体的に説明する。
【０１３８】
図１７は、本発明の第４実施形態に係る発光撮影時のフリッカー検知処理について例示的に説明するフローチャートである。なお、図１７に示すフローは、ライブビュー表示中にフリッカーレス撮影を実行する場合を仮定し、ユーザによる撮像指示から本撮影の実行までの間に実行される撮影準備処理である。例えば、前述した第１実施形態においては、図３に図示するステップＳ１１８の処理に該当する。
【０１３９】
まず、ステップＳ６０１でＣＰＵ１０４は、発光撮影時の設定として、複数の発光装置を用いた多灯発光モードであるか否かを判定する。なお、多灯発光モードは、本撮影時に複数の発光装置を用いて被写体を照明して発光撮影を行う発光モードである。この多灯発光モードが有効（オン）にされていると、本撮影の直前に、複数の発光装置を複数の発光グループに分けて予備発光を行い、本発光量を演算するための調光演算が実行される。ステップＳ６０１で、多灯発光モードでないと判定された場合はステップＳ６０２の処理に進み、多灯発光モードであると判定された場合はステップＳ６０５の処理に進む。
【０１４０】
次に、ステップＳ６０２でＣＰＵ１０４は、フリッカー検出動作を実行し、特に、このタイミングでは、少なくともフリッカーのピークタイミングを検出する。フリッカー検出動作の方法については、前述した第１実施形態と同一なので、説明は省略する。
【０１４１】
次に、ステップＳ６０３でＣＰＵ１０４は、本撮影用の絞り制御（撮影絞り制御）を実行する。ここでは、本撮影の直前にライブビュー表示用の絞り値から、本撮影用の絞り値となるように絞り２０２の開口径を調節する。具体的には、ＣＰＵ１０４から撮影レンズ２００のＬＰＵ２０３に対して絞り変更要求を送信し、ＬＰＵ２０３の指示に応じて絞り駆動部２０５を制御して、絞り２０２の開口量（絞り位置）を変更する。
【０１４２】
次に、ステップＳ６０４でＣＰＵ１０４は、発光装置を用いた予備発光を行い、当該予備発光の結果に基づいて本撮影時の発光量（本発光量）を演算（調光演算）する。ここで、ステップＳ６０４の処理における発光装置は、外部ストロボ３００とする。ステップＳ６０４の処理では、本撮影の前にＣＰＵ１０４が、外部ストロボ３００が有するＳＰＵ３０１に対して所定の発光量による予備発光指示を行う。そして、当該予備発行指示に応じた予備発光時に被写体を撮像して得られた画像に基づいて本発光量を算出する。以上説明したように、発光装置を多灯発光しない場合は、フリッカーのピークタイミングを検出した後に撮影絞り制御を行い、最後に予備発光を行う。
【０１４３】
なお、予備発光を伴う本発光量の算出方法（調光演算）としては公知の方法であればどのような構成を採用してもよい。本実施形態では、発光装置を発光させない状態で得られた非発光画像と、発光装置を予備発光させた状態で得られた予備発光画像とを比較して被写体の反射光成分を算出し、予め格納されているデータと算出した反射光成分とを対応付けて本発光量を算出する。
【０１４４】
また、本実施形態では、非発光画像と全ての予備発光画像を取得したタイミング（例えばステップＳ６０４、後述するステップＳ６０６、Ｓ６１２の後など）に調光演算を実行して本発光量を算出するが、これに限定されるものではない。例えば、本撮影までの間に調光演算が完了できるのであれば、予備発光完了直後に調光演算を実行する必要はなく、予備発光画像の取得と調光演算のタイミングとが、前述した構成以外のタイミングであっても構わない。
【０１４５】
次に、ステップＳ６０１の処理で多灯発光であると判定された場合、ステップＳ６０５でＣＰＵ１０４は、顔領域の検知処理（顔検知）を行っているか否かを判定する。なお、顔検知は、ライブビュー表示用の画像に基づいて予め定められたパターンマッチングを適用し、当該画像に顏領域が含まれている否かを検出する。換言すると、顔検知を実行することにより、撮像対象の被写体が人物であるか人物以外であるかを判定できる。なお、顏検知においては、予めカメラ本体１００に格納された顔領域を示すパターンとのマッチング度合を評価した評価値に基づいて、被写体が人物であるか否かを判定することができる。
【０１４６】
ステップＳ６０５で顔検知が行われていないと判定された場合は、ステップＳ６０６の処理に進み、顏検知が行われていると判定された場合は、ステップＳ６０９の処理に進む。なお、ステップＳ６０６〜Ｓ６１２の処理は多灯発光モードの場合の処理に該当する。
【０１４７】
ステップＳ６０６でＣＰＵ１０４は、多灯発光用に用いる発光装置の発光グループごとに予備発光を行い、本発光量を演算する。なお、多灯発光におけるマスターストロボに含まれる発光装置が外部ストロボ３００である。そして、その他のスレーブストロボとなる複数の発光装置については、外部ストロボ３００と略同一の構成を備えた発光装置であって、各発光装置は電波あるいは光による通信（同調）制御が可能である。多灯発光モードにおいては、発光グループごとに予備発光のタイミングを異ならせる。
【０１４８】
以降のステップＳ６０７〜Ｓ６０８の処理は、前述したステップＳ６０２〜Ｓ６０３の処理と同一なので説明は省略する。以上説明したように、発光装置を多灯発光する場合であって顔検知を行わない場合は、多灯発光における本発光量を算出した後に、フリッカーのピークタイミングを検出し、最後に撮影絞り制御する。
【０１４９】
次に、ステップＳ６０１の処理で多灯発光であると判定され、ステップＳ６０５の処理で顏検知が行われていると判定された場合、ステップＳ６０９でＣＰＵ１０４は、多灯発光における発光グループごとに予備発光を行い、本発光量を算出する。ただし、ステップＳ６０６とはことなり、カメラ本体１００に直接装着されている外部ストロボ３００が含まれるグループでの予備発光は行わない。これは、カメラ本体１００に直接装着されている発光装置を用いて被写体を正面から照明する確率が最も高いと考え、正面発光を行う発光グループとそれ以外の発光グループとで予備発光のタイミングを異ならせるためである。なお、以降の説明では、正面発光を行う発光装置を含む発光グループをマスターストロボ（グループ）と称する。
【０１５０】
ステップＳ６１０〜Ｓ６１１の処理は、前述したステップＳ６０２〜Ｓ６０３の処理と同一なので、説明は省略する。最後に、ステップＳ６１２でＣＰＵ１０４は、カメラ本体１００に直接装着されている外部ストロボ３００が含まれるグループでの予備発光を行い、本撮影時の本発光量の演算を行う。
【０１５１】
ここで、図１８を参照して、上述した図１７に示すフローチャートに係る各動作のタイミングチャートについて説明する。図１８は、本発明の第４実施形態に係る発光撮影時のフリッカー検知処理について例示的に説明するタイミングチャートである。なお、図１８において、「ＶＤ」は、撮像素子１０１に与える垂直同期信号のタイミングを示しており、一度Ｌｏｗレベルになってから次にＬｏｗレベルに立ち下がるまでが、ライブビューにおける１フレーム分の画像を取得するのに必要な周期である。なお、「絞り位置」は、絞り２０２の開口量を視覚的に示したものであって、図中の上側ほど開放に近い。また、「発光タイミング」は、例えば外部ストロボ３００などの発光装置を用いた照明光の発光タイミングを示している。なお、撮像素子１０１を構成する画素の出力信号は、ＶＤに同期して読み出され、読み出し完了後に積分値をリセットする制御を繰り返すことで、被写体の輝度値の変化を検出できる。
【０１５２】
図１８（ａ）は、多灯発光モードが無効（オフ）になっている（ステップＳ６０２でＮＯと判定した）場合の、フリッカー検出動作と絞り駆動、発光装置の発光動作に係る各種の制御タイミングを例示的に説明している。図１８（ａ）に図示するような状況では、まず、フリッカー検出動作を行う。フリッカー検出動作の詳細は、前述した第１実施形態の通りなので、説明は省略するが、撮像素子１０１の６００ｆｐｓでの駆動周期に合わせてＶＤが発せられ、計１２回の出力の積分結果に基づいてフリッカー検出動作を実行する。
【０１５３】
次に、ライブビュー表示（フリッカ検出）用の絞り値（ｆ１．８）から、本撮影用の撮影絞り値（ｆ５．６）へと撮影絞りを変更する制御を行が、この制御と同時に、調光用に、撮像素子１０１に対して駆動制御の切替えを行う。最後に予備発光を行いその積分結果から本発光量の演算（調光演算）を行う。以上の制御により、多灯発光の設定が無効（オフ）になっている場合（すなわち、発光装置を単体発光する場合）は、種々の制御動作の内、絞り駆動後の撮影直前に予備発光を行うため、人物の目つぶりなどを防止した画像を取得することができる。
【０１５４】
次に、図１８（ｂ）は、多灯発光モードが有効（オン）、かつ顏検知が行われていない（ステップＳ６０５でＮＯと判定した）場合の、フリッカー検出動作と絞り駆動、発光装置の発光動作に係る各種の制御タイミングを例示的に説明している。
【０１５５】
図１８（ｂ）に図示するような状況では、まず、多灯発光する複数の発光装置の各発光グループ（スレーブストロボＥＧｒ〜ＢＧｒ＋マスターストロボＡＧｒ）のそれぞれで予備発光を行い、その積分結果から本発光量の演算（調光演算）を行う。その後、撮像素子１０１の駆動制御をフリッカー検出用に切替え、フリッカー検出動作を実行する。フリッカー検出動作の完了後、絞り値をライブビュー表示（フリッカー検出）用の絞り値から本撮影用に切り替える。この構成であれば、フリッカー検出動作が本撮影の直前に実行されるため、フリッカー検出動作から本撮影の時間的な差によって生じるフリッカーのピークタイミングのずれの影響を抑制することができ、安定したフリッカーレス撮影が可能となる。
【０１５６】
次に、図１８（ｃ）は、多灯発光モードが有効（オン）、かつ顏検知が行われている（ステップＳ６０５でＹＥＳと判定した）場合の、フリッカー検出動作と絞り駆動、発光装置の発光動作に係る各種の制御タイミングを例示的に説明している。
【０１５７】
図１８（ｃ）に図示するような状況では、まず、多灯発光する複数の発光装置の各発光グループ（スレーブストロボＥＧｒ〜ＢＧｒ）のそれぞれで予備発光を行い、その積分結果を取得する。なお、このタイミングでは、まだマスターストロボに該当する外部ストロボ３００の予備発光は行わないため、本発光量の演算は完了していない。
【０１５８】
次に、撮像素子１０１の駆動制御をフリッカー検出用に切替え、フリッカー検出動作を実行する。その後、撮影直前に、マスターストロボ（外部ストロボ３００）の予備発光を行い、その積分結果と、先に実行されている他の発光グループに該当する発光装置を用いた予備発光の積分結果に基づいて、本発光量の演算（調光演算）を行う。なお、フリッカー検出動作の完了後は、絞り値をライブビュー表示（フリッカー検出）用の絞り値から本撮影用に切り替える。
【０１５９】
この構成であれば、人物が検出されている場合は、マスターストロボに該当する発光装置の予備発光が本撮影の直前に行われるため、当該人物に向けた正面発光が本撮影の直前に行われることで人物の目つぶりなどを防止した画像を取得することができる。さらに、フリッカー検出動作も、マスターストロボに該当する発光装置の予備発光の直前に行われるため、検出からの時間経過により生じるフリッカーのピークタイミングのずれの影響を抑制することができ、安定したフリッカーレス撮影が可能となる。
【０１６０】
なお、本実施形態では、カメラ本体１００に直接装着されている外部ストロボ３００を含む発光グループをマスターストロボとして、調光演算に係る予備発光のタイミングを制御したが、これに限定されるものではない。例えば、多灯発光を行う場合に、ユーザ自身がマスターストロボＧｒを指定する構成であってもよい。この場合、人物の正面に位置する発光装置を含む発光グループをマスターストロボ（Ｇｒ）とすればよい。
【０１６１】
以下、図１９を参照して、ライブビュー表示中に発光を伴うフリッカーレス撮影を実行する場合において、シャッター駆動方式の違いおよび動体の検知有無に応じた各動作について説明する。図１９は、本発明の第４実施形態に係る発光撮影時のフリッカー検知処理においてシャッター駆動方式の違いと動体の検知結果を加味した処理について例示的に説明するフローチャートである。なお、図１９におけるステップＳ７０１の処理は、前述したステップＳ６０１と同一、また、ステップＳ７０６〜Ｓ７１３の処理は、前述したステップＳ６０５〜Ｓ６１２と同一なので説明は省略する。
【０１６２】
多灯発光の設定が無効（オフ）である（ステップＳ７０１でＮＯと判定した）場合、ステップＳ７０２でＣＰＵ１０４は、本撮影におけるシャッター駆動方式がメカ先幕を使用した方式（メカ先幕方式）であるか否かを判定する。本実施形態では、撮像素子１０１の蓄積時間制御におけるシャッター駆動方式としては２つに分類される。一方は、シャッター１０２が備える機械的な遮光羽根である先羽根群（先幕）および後羽根群（後幕）の走行タイミングを制御して、撮像素子１０１の蓄積時間を先幕と後幕の両方で調整する所謂メカ先幕方式である。他方は、シャッター１０２が備える後羽根群（後幕）と撮像素子１０１のリセットタイミングを制御することで、前述した先幕の働きに相当する動作を撮像素子１０１の電荷蓄積制御により実現する所謂電子先幕方式である。本実施形態においては、メカ先幕方式を採用した場合に生じるレリーズタイムラグの増加に起因して、フリッカー検知動作から本撮影までの差が大きくなることを抑制するために、シャッター駆動方式に応じて各動作の実行タイミングを異ならせている。
【０１６３】
シャッター駆動方式がメカ先幕方式ではない（すなわち電子先幕方式である）場合は、ステップＳ７０３に進む。ステップＳ７０３〜Ｓ７０５の処理は、前述したステップＳ６０２〜Ｓ６０５の処理と略同一なので説明は省略する。一方、シャッター駆動方式がメカ先幕方式であると判定されて場合、ステップＳ７１４でＣＰＵ１０４は、撮像対象の被写体の動き量が所定量以上であるか（すなわち被写体が動体である）否かを検知する。なお、動体の検知は、撮像素子１０１により事前に取得されている（または、このタイミングで取得する）複数の画像に基づいて、ＣＰＵ１０４により行われる。具体的に、複数の画像における動きベクトルを算出し、動きベクトルに基づく被写体の動き量が所定の閾値以上であれば、被写体が動体であるとＣＰＵ１０４が検知する。
【０１６４】
動体が検知されなかった（ステップＳ７１４でＮＯと判定された）場合は、ステップＳ７１５〜Ｓ７１７において、外部ストロボ３００の予備発光（および調光演算）、フリッカー検出動作、撮影絞り制御の順に各動作を実行する。なお、各動作の詳細は、前述した通りなので説明を省略する。
【０１６５】
また、動体が検知された（ステップＳ７１４でＹＥＳと判定された）場合は、ステップＳ７１８〜Ｓ７２０において、フリッカー検出動作、撮影絞り制御、外部ストロボ３００の予備発光（および調光演算）の順に各動作を実行する。なお、各動作の詳細は、前述した通りなので説明を省略する。
【０１６６】
以上説明した構成を採用することで、本実施形態のカメラ本体１００は、シャッター１０２の動作に伴うレリーズタイムラグがフリッカー検知動作に与える影響を抑制することができる。また、本実施形態のカメラ本体１００は、被写体が動体である場合に、予備発光を本撮影の直前に行うことで、予備発光時と本発光を伴う本撮影時との時間的な差をできるだけ短くして、被写体の動きに起因する撮像の失敗を低減することができる。
【０１６７】
なお、本実施形態では、外部ストロボ３００およびこれに類する外部発光装置を用いた発光撮影時の制御について説明したが、前述した構成については、内蔵ストロボ１１４を用いた発光撮影時にも適用可能である。
【０１６８】
（変形例１）
以下、前述した第２実施形態の変形例１について図２０を参照して説明する。図２０は、本発明の変形例１に係る、フリッカーレス撮影機能がオンされている場合のフリッカーレス撮影処理について説明するフローチャートである。なお、図１０に対する図２０の差異は、ステップＳ４０６およびＳ４１３の処理を削除し、ステップＳ４０９の代わりにステップＳ８０１の処理を行い、ステップＳ４１２の代わりにステップＳ８０２の処理を行う点である。なお、図２０に示す各処理のうち、図１０と同一の処理については、図１０のフローと同一の番号を付し、説明を省略する。
【０１６９】
図２０に図示するように、本変形例において、ステップＳ８０１でＣＰＵ１０４は、前述したステップＳ４０１と同様に、ライブビュー表示用の画像から測光値ＢｖＡｖｅを算出する。
【０１７０】
また、ステップＳ８０２でＣＰＵ１０４は、前述したステップＳ４０５と同様に、ステップＳ８０１で取得した測光値ＢｖＡｖｅに基づき、本撮影時の露出条件（Ｔｖ、Ａｖ、ＩＳＯ感度）を算出する。
【０１７１】
以上説明したように、本変形例では、連続撮影（連写）における２回目以降の撮像では、本撮影用の撮影パラメータ（露出条件）を算出する際の測光値をライブビュー表示用の画像から求める。この場合、本撮影により得られた記録画像（静止画）を用いて測光する場合のように、露出補正量が二重に加味される虞が無いため、１つ前の撮像時に用いた露出補正量を用いて、現在の撮像時の露出補正量を算出する必要はない。したがって、本変形例の構成を採用すれば、ライブビュー表示中にフリッカーレス撮影を実行する場合に、処理負荷の増加を抑制しつつ、画像の明るさが不自然になることを、効果的に防止することができる。
【０１７２】
（変形例２）
以下、前述した第２実施形態の変形例２について図２１を参照して説明する。図２１は、本発明の変形例２に係る、フリッカーレス撮影機能がオンされている場合のフリッカーレス撮影処理について説明するフローチャートである。なお、図１０に対する図２１の差異は、ステップＳ９０１、ステップＳ９０２の処理を加える点である。なお、図２１に示す各処理のうち、図１０と同一の処理については、図１０のフローと同一の番号を付し、説明を省略する。
【０１７３】
第２実施形態と同様に、本変形例でも、露出補正量Ｃｏｍｐ（ｘ）の値は、露光時間（シャッター速度）Ｔｖに応じて変化する構成を採用している。ここで、撮影モードとして、シャッター速度（Ｔｖ）優先モードなど、Ｔｖを固定（優先）できる設定においては、連続撮影における各本撮影時の露出補正量として、連続する撮像ごとに同じであったとしても得られる画像の品位に大きな影響はない。そこで、本変形例では、新たに、露出制御値のうちＴｖ固定（Ｔｖ優先）となる撮影条件（例えば、Ｔｖ優先モード）が設定されているか否かに応じて、露出条件の算出方法を異ならせる。
【０１７４】
図２１に図示するように、本変形例において、ステップＳ９０１でＣＰＵ１０４は、現在の撮影条件が、Ｔｖを優先して設定する撮影条件であるか否かを判断する。本実施形態では、現在の撮影モードが、ユーザの手動設定に応じてＴｖを固定値に設定可能な撮影モードであるか否か判定する。
【０１７５】
ステップＳ９０１でＮＯと判定された場合は、前述したステップＳ４１２の処理を実行して、本撮影時の露出条件を算出する。ステップＳ９０１でＹＥＳと判定された場合、次の本撮影において、前回の本撮影時の露出補正量ＬａｓｔＣｏｍｐの影響を取り除く必要性は低いと判断し、ＣＰＵ１０４は測光値Ｂｖ＝Ｂｖ１とし、当該測光値に基づいて本撮影時の露出条件を算出する。
【０１７６】
以上説明したように、本変形例では、本撮影時の露出条件のうちＴｖを優先した撮影条件が設定されている場合、連続撮影（連写）における２回目以降の撮像時においては、前回の本撮影時の露出補正量を考慮せず、次回の本撮影時の露出条件を算出する。この場合、Ｔｖが優先して決定されるため、連続撮影により取得される画像間で画像の品位に与える影響は小さい。したがって、本変形例の構成を採用すれば、撮影条件によっては、前回の本撮影時の露出補正量に依らずに今回の本撮影時の露出条件（撮影パラメータ）を算出するため、処理負荷を低減することができる。
【０１７７】
（変形例３）
以下、前述した第２実施形態の変形例３について図２２を参照して説明する。図２２は、本発明の変形例３に係る、フリッカーレス撮影機能がオンされている場合のフリッカーレス撮影処理について説明するフローチャートである。なお、図１０に対する図２２の差異は、ステップＳ４１１の処理を削除し、ステップＳ４０６の代わりにＳ１００１、Ｓ４１０の代わりにＳ１００２、Ｓ４１２の代わりにＳ１００３、４１３の代わりにＳ１００４の処理を行う点である。なお、図２２に示す各処理のうち、図１０と同一の処理については、図１０のフローと同一の番号を付し、説明を省略する。
【０１７８】
図２２に図示するように、ステップＳ１００１でＣＰＵ１０４は、ステップＳ４０５の処理で算出した露出条件のうちのシャッター速度（露光時間）Ｔｖ（ｘ）を別名のＬａｓｔＴｖとして記録部１１２の所定領域に記憶する。
【０１７９】
ステップＳ１００２でＣＰＵ１０４は、前述したステップＳ４０３と同一の方法でフリッカー検出動作を実行する。なお、ステップＳ１００２では、フリッカー検出結果に応じた処理の分岐は無い。すなわち、本変形例では、ステップＳ１００２において、フリッカーの検出有無に依らずに露出補正量は算出しない。
【０１８０】
次に、ステップＳ１００３でＣＰＵ１０４は、測光値Ｂｖ＝Ｂｖ１とし、当該測光値に基づいて本撮影時の露出条件を算出する。ただし、ステップＳ１００３で算出する露出条件のうち、シャッター速度Ｔｖについては、前回の本撮影に合わせて算出したシャッター速度に該当するＬａｓｔＴｖを設定する。そして、ステップＳ１００４でＣＰＵ１０４は、今回の本撮影で設定されたシャッター速度Ｔｖを別名のＬａｓｔＴｖとして記録部１１２の所定領域に記憶する。
【０１８１】
以上説明したように、本変形例では、連続撮影（連写）における２回目以降の撮像時においては、最初に設定されたシャッター速度Ｔｖを固定して次回の本撮影時の露出条件を算出する。この場合、シャッター速度が変化することが無いため、連続撮影における２回目以降の撮影時に、前回の本撮影時の露出補正量に依らずに今回の本撮影時の露出条件（撮影パラメータ）を算出するため、処理負荷を低減することができる。
【０１８２】
以上、本発明の好ましい実施形態および変形例について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、前述した実施形態および変形例では、露出条件としてシャッター速度、絞り値およびＩＳＯ感度について説明したが、他の要素に係る露出制御値を露出条件に加える構成であってもよい。例えば、カメラ本体１００または撮影レンズ２００の内部において、撮像素子１０１に入射する光量を減光するＮＤフィルタなどの減光手段を設ける構成であれば、ＮＤフィルタの濃度に係る露出制御値を鑑みて露出制御を行う構成であってもよい。
【０１８３】
また、前述した実施形態および変形例では、ＣＰＵ１０４や記録部１１２など、カメラ本体１００を中心として撮像システムを構成する各部が互いに連携して動作することで、装置全体としての動作を制御する構成であったが、これに限定されるものではない。例えば、前述した各図に図示したフローに従った（コンピュータ）プログラムを予め記録部１１２の所定領域などに記憶しておく。そして、当該プログラムを、ＣＰＵ１０４などが実行することで、撮像システム全体に係る動作を制御するような構成であってもよい。また、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。また、プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光／光磁気記録媒体でもあってもよい。
【０１８４】
また、前述した実施形態では、本発明を実施する撮像装置の一例としてカメラ本体１００と撮影レンズ２００とがそれぞれ個別の構成である、所謂レンズ交換式の撮像装置について説明したが、これに限定されるものではない。例えば、カメラ本体と撮影レンズとが一体的に形成された、所謂レンズ一体側の撮像装置を、本発明を実施する撮像装置としてもよい。
【０１８５】
また、前述した実施形態では、本発明を実施する撮像装置の一例としてデジタルカメラを想定して説明したが、これに限定されるものではない。例えば、デジタルビデオカメラやスマートフォンなどの可搬デバイスやウェアラブル端末、セキュリティーカメラなど、デジタルカメラ以外の撮像装置を採用する構成であってもよい。
【０１８６】
（その他の実施形態）
また本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現できる。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現できる。
【符号の説明】
【０１８７】
１００  カメラ本体
１０１  撮像素子
１０４  システム制御部（ＣＰＵ）
１１２  記録部
２００  撮影レンズ
２０３  レンズ制御部（ＬＰＵ）
３００  外部ストロボ
３０１  外部ストロボ制御部（ＳＰＵ）
【図１】
2020010317.tif 000004
【図２】
2020010317.tif 000005
【図３】
2020010317.tif 000006
【図４】
2020010317.tif 000007
【図５】
2020010317.tif 000008
【図６】
2020010317.tif 000009
【図７】
2020010317.tif 000010
【図８】
2020010317.tif 000011
【図９】
2020010317.tif 000012
【図１０】
2020010317.tif 000013
【図１１】
2020010317.tif 000014
【図１２】
2020010317.tif 000015
【図１３】
2020010317.tif 000016
【図１４】
2020010317.tif 000017
【図１５】
2020010317.tif 000018
【図１６】
2020010317.tif 000019
【図１７】
2020010317.tif 000020
【図１８】
2020010317.tif 000021
【図１９】
2020010317.tif 000022
【図２０】
2020010317.tif 000023
【図２１】
2020010317.tif 000024
【図２２】
2020010317.tif 000025