(57)【要約】【課題】複数のフリッカー検出方法を適切に切り替えて利用することが可能な撮像装置およびその制御方法を提供すること。【解決手段】撮像装置は、撮影開始指示の検出前のフリッカー検出には第１方法を、撮影開始指示の検出後のフリッカー検出には第２方法を用いる。第１方法は、所定周波数のフリッカー光源の影響を受けない画像と、フリッカー光源の影響を受ける画像とを用いる方法とする。一方、第２方法は第１方法とは異なる方法とする。【選択図】図７
2019022023.tif 000002
【特許請求の範囲】
【請求項１】
撮像素子によって取得した画像に基づく第１方法のフリッカー検出と第２方法のフリッカー検出とが可能な撮像装置であって、
撮影開始指示の検出前のフリッカー検出には前記第１方法を、前記撮影開始指示の検出後のフリッカー検出には前記第２方法を用いるように制御する制御手段を有し、
前記第１方法は、所定周波数のフリッカー光源の影響を受けない画像と、前記フリッカー光源の影響を受ける画像とを用い、
前記第２方法は前記第１方法とは異なる方法である、
ことを特徴とする撮像装置。
【請求項２】
前記フリッカー光源の影響を受けない画像をライブビュー表示に用いることを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記第１方法は、前記フリッカー光源の影響を受けない画像と、前記フリッカー光源の影響を受ける画像とから前記フリッカー光源の輝度変化の周期および／または周波数と輝度のピークタイミングとを検出することを特徴とする請求項１または請求項２に記載の撮像装置。
【請求項４】
前記第２方法は、前記第１方法では検出できないフリッカーを検出可能な方法であることを特徴とする、請求項１から請求項３のいずれか１項に記載の撮像装置。
【請求項５】
前記第２方法は、前記フリッカー光源のフリッカー周期内に取得した複数の画像を用いることを特徴とする、請求項１から請求項４のいずれか１項に記載の撮像装置。
【請求項６】
前記第２方法は、前記複数の画像のそれぞれの代表輝度値に基づいて前記フリッカー光源の輝度変化の周期および／または周波数と輝度のピークタイミングとを検出することを特徴とする、請求項５に記載の撮像装置。
【請求項７】
前記制御手段は、
前記撮影開始指示が検出された際に、前記第１方法のフリッカー検出によってフリッカーが検出されていなければ、前記第２方法のフリッカー検出を実行させ、
前記撮影開始指示が検出された際に、前記第１方法のフリッカー検出によってフリッカーが検出されていれば、前記第２方法のフリッカー検出を実行させない、
ことを特徴とする請求項１から請求項６のいずれか１項に記載の撮像装置。
【請求項８】
前記制御手段は、
前記撮影開始指示が検出された際に、前記第１方法のフリッカー検出によってフリッカーが検出されておらず、かつ、前記第１方法のフリッカー検出において検出された前記フリッカー光源の輝度変化の振幅が閾値以下でない場合に前記第２方法のフリッカー検出を実行させることを特徴とする請求項７に記載の撮像装置。
【請求項９】
前記制御手段は、
前記撮影開始指示が検出された際に、前記第１方法のフリッカー検出によってフリッカーが検出されておらず、かつ、前記第１方法のフリッカー検出において検出された前記フリッカー光源の輝度のピーク数が所定数以上でない場合に前記第２方法のフリッカー検出を実行させることを特徴とする請求項７または請求項８に記載の撮像装置。
【請求項１０】
前記制御手段はさらに、前記撮影開始指示に対する撮影を、前記第１方法または前記第２方法で検出されたフリッカーのピークタイミングに基づくタイミングで実行することを特徴とする請求項１から請求項９のいずれか１項に記載の撮像装置。
【請求項１１】
撮像素子によって取得した画像に基づく第１方法のフリッカー検出と第２方法のフリッカー検出とが可能な撮像装置の制御方法であって、
制御手段が、撮影開始指示の検出前か検出後かに応じてフリッカー検出の方法を異ならせる制御工程を有し、
前記撮影開始指示の検出前には、所定周波数のフリッカー光源の影響を受けない画像と、前記フリッカー光源の影響を受ける画像とを用いた方法を用いる、
ことを特徴とする撮像装置の制御方法。
【請求項１２】
撮像装置が有するプログラマブルプロセッサを、請求項１から請求項１０のいずれか１項に記載の撮像装置の制御手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は撮像装置およびその制御方法に関する。
【背景技術】
【０００２】
蛍光管などの、光量が周期的に変化する光源（フリッカー光源）の下で撮影した画像には、画像の全体または一部に、光源の光量変化による画質低下（明るさや色のムラ）が生じることがある。
【０００３】
フリッカー光源による画質低下を抑制するための方法として、特許文献１には、フリッカー光源の影響を受けない画像と影響を受ける画像とからフリッカーのピークタイミングおよび周期を検出し、光量変化の少ない時期に撮影することが開示されている。
【０００４】
また、特許文献２では、フリッカ周波数より高いフレームレートで取得した画像の輝度変化からフリッカーのピークタイミングおよび周期を検出して、光量変化の少ない時期に撮影することが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−８８９１７号公報
【特許文献２】特開２０１４−２２０７６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載された方法では、例えば図１０に示す画像Ａのように、フレームの一部（ここでは下部）にしかフリッカー光源の影響が存在しない場合、フリッカーを正しく検出できないことがある。特許文献１では、フリッカー光源の影響を受ける画像Ａを、フリッカー光源の影響を受けない画像Ｂで除算して得られる画像Ｃの垂直方向における輝度変化からフリッカーのピークタイミングおよび周期を検出する。しかし、図１０の例では画像Ｃにおける垂直方向の輝度変化からピークが正しく検出できないため、フリッカーのピークタイミングおよび周期が検出できない。
【０００７】
特許文献２に記載された方法は、図１０の画像Ａのようなフリッカーであっても原理上は検出可能であるが、フリッカー検出用の画像のフレームレートをフリッカー周波数より十分高くする必要がある（特許文献２では６００ｆｐｓ）。このような高フレームレートを実現するには、１フレームあたりの画素数を大幅に削減する必要があるが、結果としてフリッカー検出用の画像を他の用途（例えばライブビュー表示）に転用することが難しい。
【０００８】
本発明はこのような従来技術の課題に鑑みてなされたものである。本発明の目的は、複数のフリッカー検出方法を適切に切り替えて利用することが可能な撮像装置およびその制御方法を提供することにある。
【課題を解決するための手段】
【０００９】
上述の目的は、撮像素子によって取得した画像に基づく第１方法のフリッカー検出と第２方法のフリッカー検出とが可能な撮像装置であって、撮影開始指示の検出前のフリッカー検出には第１方法を、撮影開始指示の検出後のフリッカー検出には第２方法を用いるように制御する制御手段を有し、第１方法は、所定周波数のフリッカー光源の影響を受けない画像と、フリッカー光源の影響を受ける画像とを用い、第２方法は第１方法とは異なる方法である、ことを特徴とする撮像装置によって達成される。
【発明の効果】
【００１０】
本発明によれば、複数のフリッカー検出方法を適切に切り替えて利用することが可能な撮像装置及びその制御方法を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態に係る撮像装置の一例としてのカメラシステムの機能構成例を示すブロック図
【図２】実施形態における第１方法のフリッカー検出処理に関する図
【図３】実施形態における第１方法のフリッカー検出処理にフローチャート
【図４】実施形態における第２方法のフリッカー検出処理に関する図
【図５】実施形態における第２方法のフリッカー検出処理にフローチャート
【図６】実施形態における撮影タイミング制御に関するタイムチャート
【図７】実施形態における起動から撮影までの処理に関するフローチャート
【図８】別の実施形態における起動から撮影までの処理に関するフローチャート
【図９】別の実施形態における第２方法のフリッカー検出要否判定に関する図
【図１０】画像の一部分がフリッカーの影響を受けている状態を模式的に示す図
【発明を実施するための形態】
【００１２】
●（第１実施形態）
以下、図面を参照しながら本発明の例示的な実施形態について説明する。なお、以下では、本発明を撮像装置の一例としてのレンズ交換式デジタルカメラに適用した実施形態について説明する。しかし、本発明は、画像信号に基づく自動焦点調節機能を有する電子機器に対して適用可能である。このような電子機器には、デジタルカメラ、携帯電話機、パーソナルコンピュータ（デスクトップ型、ノート型、タブレット型など）、プロジェクタ、ゲーム機、ロボット、家電製品、ドライブレコーダなどが含まれるが、これらに限定されない。
【００１３】
図１は、本発明の実施形態に係る画像処理装置の一例であるレンズ交換式のデジタル一眼レフカメラ（カメラシステム）の機能構成例を示すブロック図である。
カメラシステムは、カメラ本体１００と、カメラ本体１００に着脱可能に取り付けられるレンズユニット２００とを有する。カメラ本体１００とレンズユニット２００は、それぞれが有するマウント部によって接続され、マウント部には電気的な接点群２１０が設けられる。接点群２１０はカメラ本体１００とレンズユニット２００との間で制御信号、状態信号、データ信号等を通信したり、カメラ本体１００から撮影レンズに電源を供給したり、レンズユニット２００の接続有無をカメラ本体１００で検出したりすることを可能にする。なお、接点群２１０はカメラ本体１００とレンズユニット２００との間の通信を可能とするものであれば、電気信号以外の信号、例えば光信号を伝達するものであってよい。なお、便宜上、レンズユニット２００が内蔵する撮影レンズ２０１を１枚のレンズのように図示しているが、実際は複数のレンズから構成される。
【００１４】
被写体からの光束が、撮影レンズ２０１および絞り２０２を介してクイックリターンミラー１０２に導かれる。クイックリターンミラー１０２は矢印方向に移動可能で、図示の状態（ダウン状態）において、レンズユニット２００から入射する光束の一部が透過するよう、中央部がハーフミラーに形成されている。ハーフミラー部分を透過した光束は、クイックリターンミラー１０２の裏面に設けられたサブミラー１０３により、ＡＦセンサユニット１０４に入射する方向に反射される。
【００１５】
ＡＦセンサユニット１０４は結像面近傍に配置されたフィールドレンズ、反射ミラー、２次結像レンズ、絞り、およびラインセンサ等から構成されており、位相差方法の自動焦点検出（位相差ＡＦ）に用いる１対の像信号を生成する。焦点検出回路１０５はＡＦセンサユニット１０４で生成される１対の像信号を用い、デフォーカス量とデフォーカス方向を取得する。このデフォーカス量とデフォーカス方向に基づいてシステムコントローラ１２０がレンズユニット２００のフォーカスレンズを駆動制御し、レンズユニット２００の焦点調節を行う。
【００１６】
一方、レンズユニット２００から入射した光束のうち、ダウン状態のクイックリターンミラー１０２で反射された光束は、ペンタプリズム１０１、接眼レンズ１０６を介して出射する。この出射光を撮影者が観察することで、撮影範囲を確認することができる。なお、接眼レンズ１０６の近傍には、被写体の輝度情報を得るための測光センサが設けられており、測光センサの出力は測光回路１０７を経てシステムコントローラ１２０へ供給される。システムコントローラ１２０は被写体の輝度情報を用いて、自動露出制御（ＡＥ）を行う。
【００１７】
撮影時にはクイックリターンミラー１０２が上方に移動し（アップ状態）、レンズユニット２００から入射した光束は、機械シャッターであるフォーカルプレーンシャッター１０８、光学フィルタ１０９を介して撮像素子１１２に入射する。クイックリターンミラー１０２のアップ時、サブミラー１０３は折り畳まれる。
【００１８】
光学フィルタ１０９は赤外線カットフィルタと光学ローパスフィルタの両方の機能を有する。フォーカルプレーンシャッター１０８は先幕及び後幕を有し、システムコントローラ１２０の制御に従ってレンズユニット２００からの光束を透過もしくは遮断させる。
【００１９】
システムコントローラ１２０はＣＰＵやＭＰＵ等のプログラマブルプロセッサと、プログラム、設定値、ＧＵＩデータ等を保存する不揮発性メモリ（ＲＯＭ）と、プログラムを展開したりワークエリアとして用いたりするための揮発性メモリ（ＲＡＭ）を有する。システムコントローラ１２０はプログラムを実行してカメラ本体１００、レンズユニット２００の構成要素の動作を制御することにより、後述するフリッカー検出動作を含む、カメラシステム全体の機能を実現する。本明細書において、システムコントローラ１２０が主体として実行する動作は、プログラマブルプロセッサがＲＡＭに読み込んだプログラムを実行することによって実現される。なお、システムコントローラ１２０がソフトウェア的に実現する動作の少なくとも一部を、ＡＳＩＣなどのハードウェア回路によって実現してもよい。
【００２０】
システムコントローラ１２０は、上述した接点群２１０を介してレンズユニット２００内のレンズコントローラ２０７と通信可能に接続される。レンズコントローラ２０７は、システムコントローラ１２０からの制御によってレンズ制御回路２０４や絞り制御回路２０６の動作を制御したり、レンズユニット２００の情報をシステムコントローラ１２０に送信したりする。レンズユニット２００の情報には例えば、フォーカスレンズの位置、設定されている絞り値、撮影レンズ２０１の焦点距離などが含まれてよい。
【００２１】
また、レンズコントローラ２０７にはレンズユニット２００の固有情報（例えば焦点距離、開放絞り、個体識別情報（レンズＩＤ））や、システムコントローラ１２０から受け取った情報を記憶する書き換え可能な不揮発性メモリが設けられている。
【００２２】
レンズ駆動機構２０３はレンズ制御回路２０４の制御に従って、撮影レンズ２０１に含まれるフォーカスレンズを光軸方向に駆動する。絞り駆動機構２０５は絞り制御回路２０６の制御に従って、絞り２０２を駆動する。
【００２３】
システムコントローラ１２０には、クイックリターンミラー１０２のアップ・ダウンの駆動およびフォーカルプレーンシャッター１０８のシャッターチャージを制御するシャッターチャージ・ミラー駆動機構１１０が接続されている。また、システムコントローラ１２０には、フォーカルプレーンシャッター１０８の先幕、後幕の走行を制御するためのシャッター制御回路１１１が接続されている。ＥＥＰＲＯＭ１２２は、システムコントローラ１２０がカメラシステムを制御する上で調整が必要なパラメータ、カメラ本体１００の個体識別情報（カメラＩＤ）、基準レンズで調整されたＡＦ補正データやＡＥ補正データなどが記憶される。
【００２４】
システムコントローラ１２０は、上述したＡＥ制御で決定された絞り値（Ａｖ）とシャッタースピード（Ｔｖ）に従って、撮影時の露光制御を行う。具体的には、レンズコントローラ２０７を介して絞り２０２の開口の大きさを制御し、シャッター制御回路１１１を介してフォーカルプレーンシャッター１０８の動作を制御する。
【００２５】
フォーカルプレーンシャッター１０８の先幕、後幕はバネ駆動であり、動作前にバネチャージ動作を要する。シャッターチャージ・ミラー駆動機構１１０は、バネチャージ動作を制御するとともに、クイックリターンミラー１０２のアップ・ダウン動作も制御する。
【００２６】
画像データコントローラ１１５は、例えばＤＳＰ（デジタル信号プロセッサ）により構成され、撮像素子１１２の駆動および読み出し動作を制御する。また、画像データコントローラ１１５は、Ａ／Ｄコンバータ１１３でデジタル化された画像データについて、システムコントローラ１２０の制御に基づいて補正したり加工したりする。画像データコントローラ１１５が実行する補正・加工には、例えば色補間やホワイトバランス調整などが含まれる。
【００２７】
なお、画像データコントローラ１１５は、画像データから例えば画像の分割領域ごとの輝度情報を取得し、システムコントローラ１２０に供給することができる。このように、システムコントローラ１２０は、ミラーアップ状態で測光センサの出力が得られない場合でも被写体の輝度情報を得ることができる。
【００２８】
タイミングパルス発生回路１１４は、撮像素子１１２の駆動に必要なパルス信号を出力する。Ａ／Ｄコンバータ１１３は、タイミングパルス発生回路１１４からのタイミングパルスに従って、撮像素子１１２から出力される被写体像に対応したアナログ信号をデジタル信号に変換する。ＤＲＡＭ１２１は、例えば加工や所定のフォーマットへのデータ変換が行われる前の画像データ（デジタルデータ）を一時的に記憶しておくための記憶装置の一例である。
【００２９】
画像コーデック１１９は、ＤＲＡＭ１２１に記憶された画像データを、予め定められた形式（例えばＪＰＥＧ形式）で符号化したり、符号化された画像データを復号するための回路である。符号化された画像データは、画像ファイルとして記録媒体４００へ記録される。記録媒体４００は、内蔵メモリまたは着脱可能な記憶媒体であり、メモリカードが代表的であるが、これに限定されない。また、無線通信などを用いて外部装置に記録されてもよい。
【００３０】
画像データコントローラ１１５は、ＤＲＡＭ１２１上の画像データを、Ｄ／Ａコンバータ１１６によりアナログ信号に変換してエンコーダ回路１１７へ出力する。エンコーダ回路１１７はＤ／Ａコンバータ１１６の出力を、一般的には液晶表示パネルである画像表示回路１１８の駆動に必要な映像信号（例えばＮＴＳＣ信号）に変換する。
【００３１】
動作表示回路１２３は、カメラシステムの動作モードの情報や露出情報（シャッタースピード、絞り値等）などを、カメラ本体１００の筐体表面に設けられた第１表示装置１２４や、接眼レンズ１０６を通じて見ることのできる第２表示装置１２５に表示させる。
【００３２】
システムコントローラ１２０には、ユーザがカメラ本体１００に各種の指示や設定を行うための操作部を構成するボタンやスイッチが接続されている。これらボタンやスイッチとして、図１には以下のものが示されている。撮影モード選択ボタン１３０、メイン電子ダイヤル１３１、決定ＳＷ１３２、測距点選択ボタン１３３、ＡＦモード選択ボタン１３４、測光モード選択ボタン１３５、レリーズＳＷ１ １３６、レリーズＳＷ２ １３７、ファインダーモード選択ＳＷ１３８。なお、これらは単なる例示である。
【００３３】
レリーズＳＷ１ １３６、レリーズＳＷ２ １３７はレリーズボタンの半押しおよび全押しでオンするスイッチである。レリーズＳＷ１ １３６のオンは、撮影準備動作（ＡＦ，ＡＥなど）の開始指示に相当する。また、レリーズＳＷ２ １３７のオンは、記録のための撮影動作の開始指示に相当する。
【００３４】
ファインダーモード選択ＳＷ１３８は、画像表示回路１１８を電子ビューファインダーとして機能させるか否かを選択するスイッチである。画像表示回路１１８を電子ビューファインダーとして機能させる場合、システムコントローラ１２０は所定のフレームレートで画像信号を撮像素子１１２から読み出し、ライブビュー表示用の画像を生成して画像表示回路１１８に順次表示させる。連続的に撮影した画像を実質的にリアルタイムで表示することにより、画像表示回路１１８を電子ビューファインダーとして機能させることができる。一方、画像表示回路１１８を電子ビューファインダーとして機能させないばあい、ユーザは接眼レンズ１０６から撮影範囲を確認することができる（光学ファインダーモード）。
【００３５】
次に、本実施形態におけるフリッカー検出処理について説明する。なお、本明細書でフリッカーとは周期的な光量変化を意味し、フリッカーを有する（光量が周期的に変化する）光源をフリッカー光源と呼ぶ。また、フリッカー検出とは、光源のフリッカー有無および、フリッカー周波数（周期）および光量の（最大または最小）ピークの（例えば垂直同期信号を基準とした）タイミングの検出である。一般的な蛍光管の場合、フリッカー周波数は点灯に用いる電源の周波数の２倍となるため、１００Ｈｚまたは１２０Ｈｚである。
【００３６】
本実施形態のカメラシステムは、第１方法と第２方法とを用いてフリッカー検出することができる。まず、第１方法について図２および図３を用いて説明する。第１方法によるフリッカー検出は所定周波数のフリッカー光源の影響を受けない画像と、フリッカー光源の影響を受ける画像とを用いる。ここでは代表例としてフリッカー周波数が１００Ｈｚ（周期１０ｍｓ）であるものとする。図２は、第１方法のフリッカー検出時の撮影動作およびフリッカー検出処理を模式的に示した図である。また、図３は、第１方法のフリッカー検出処理に関するフローチャートである。
【００３７】
Ｓ２０１でシステムコントローラ１２０は、画像データコントローラ１１５を制御し、第１蓄積時間で読み出しを行うように撮像素子１１２を駆動し、第１の画像の画像データを取得する。なお、第１の画像は少なくとも画像表示回路１１８を電子ビューファインダーとして機能させる際に表示するライブビュー画像の解像度を有する。システムコントローラ１２０は、環境光源にフリッカー光源が含まれていたとしても第１の画像がフリッカーの影響を受けないように、第１蓄積時間を想定されるフリッカーの周期もしくはその倍数に設定する。ここでは、１００Ｈｚのフリッカーが想定されており、システムコントローラ１２０は第１の蓄積時間として１０ｍｓを設定したものとする。システムコントローラ１２０は取得した画像データを例えばＤＲＡＭ１２１に保存する。
【００３８】
Ｓ２０２は必要に応じて実行する手順であり、システムコントローラ１２０はＳ２０１で取得した第１の画像に基づくライブビュー画像を画像表示回路１１８に表示させる。上述したように、第１の画像の解像度はライブビュー画像として利用可能な解像度を有するため、改めてライブビュー画像を取得する必要はない。なお、必要に応じて第１の画像をライブビュー画像に変換するための画像処理（例えばスケーリングや信号形式の変換）を実行してもよい。
【００３９】
Ｓ２０３でシステムコントローラ１２０は、画像データコントローラ１１５を制御し、第２蓄積時間で読み出しを行うように撮像素子１１２を駆動し、第２の画像の画像データを取得する。第２の画像は第１の画像と同じ解像度であってよい。システムコントローラ１２０は、環境光源にフリッカー光源が含まれていた場合、第２の画像がフリッカーの影響を受けるように、第２蓄積時間を想定されるフリッカーの周期よりも短く設定する。ここでは、システムコントローラ１２０は第２の蓄積時間として１ｍｓを設定したものとする。なお、第２の画像については、第２の画像に対応する蓄積電荷を撮像素子１１２から読み出す時間に応じて、画像に生じるフリッカーの影響が異なる。そこで、本実施形態では、第２の画像を用いて高精度にフリッカーを検出するために、フリッカーの光量変化の１周期以上の期間となるように、第２画像の読み出し時間を制御する。具体的に、本実施形態では、システムコントローラ１２０は、第２の画像に対応する撮像素子１１２の読み出し時間として１６．７ｍｓを設定し、撮像素子１１２の駆動を制御する。そして、システムコントローラ１２０は取得した画像データを例えばＤＲＡＭ１２１に保存する。
【００４０】
Ｓ２０４でシステムコントローラ１２０は、Ｓ２０１およびＳ２０３で取得した第１および第２の画像の比を算出する。具体的には、システムコントローラ１２０は、第１の画像と第２の画像との位置合わせを行ったのち、対応する領域間の対応する画素ごとに値の比を求める。したがって、比の算出によって第３の画像が得られる。
【００４１】
図２に示す例では、フリッカーの影響を受ける第２の画像Ｂの画素値を、フリッカーの影響を受けない第１の画像Ａの画素値で除算している。この除算により、被写体の影響が取り除かれた第３の画像Ｂ’が得られ、フリッカーが存在すれば第３の画像Ｂ’に輝度変化が現れる。
なお、比を求める方法以外にも、第１の画像と第２の画像の露出時間が同等になるように一方の画像の画素値を調整した後、第２の画像から第１の画像を減じて第３の画像を求めてもよい。
【００４２】
また、第３の画像は、同じ第１の画像を用いて生成してもよい。例えば図２の例であれば、第３の画像を画像Ｃと画像Ｂとから１つ、画像Ｃと画像Ｄとから１つ生成してもよい。あるいは、第１の画像Ａを取得した後に第２の画像Ｂ１とＢ２を２フレーム続けて取得し、第３の画像を第１の画像Ａと第２の画像Ｂ１とから１つ、第１の画像Ａと第２の画像Ｂ２とから１つ生成してもよい。
【００４３】
なお、第３の画像を求めることによってフリッカーの検出精度を高めることができるが、比を求めずに第２の画像からフリッカーを検出することもできる。
【００４４】
Ｓ２０５でシステムコントローラ１２０は、第３の画像Ｂ’の例えば各画素行の平均値を求めることにより、第３の画像Ｂ’の垂直方向の輝度変化を検出する。そして、システムコントローラ１２０は、例えば垂直同期信号を起点として輝度変化が最小となるタイミングを、輝度変化のピーク（極大および極小）タイミングとして検出することができる。なお、輝度変化量の符号がピーク前後で正から負に変化する場合には極大、負から正に変化する場合は極小と判定することができる。
【００４５】
Ｓ２０６でシステムコントローラ１２０は、Ｓ２０５を２回実行したか否かを判定し、実行したと判定されればＳ２０７へ処理を進め、実行したと判定されなければＳ２０１に処理を戻し、第１の画像Ｃおよび第２の画像Ｄ、第３の画像Ｄ’を取得する。
【００４６】
Ｓ２０７でシステムコントローラ１２０は、輝度変化の、隣接する極大位置（または極小位置）の間隔（時間差）から、フリッカー周期および／または周波数を求める。なお、Ｓ２０５で輝度変化の大きさが閾値以下の場合、システムコントローラ１２０はフリッカーが存在しないものと判定する。また、輝度変化が閾値を超えるが、ピークが検出できなかった場合、システムコントローラ１２０はフリッカーの検出に失敗したと判定する。
【００４７】
なお、ここではピークの間隔を検出するためにＳ２０５を２回実行する構成について記載したが、隣接する同種のピークが２つ以上検出できればＳ２０５の実行回数に制限はない。換言すれば、隣接する同種のピークが２つ以上検出されたか否かをＳ２０６で判定するようにしてもよい。また、フリッカー周期および／または周波数の検出精度を高めるため、複数回検出したフリッカー周期および／または周波数を平均する構成としてもよい。また、画像内に少なくとも２つ以上のフリッカーのピークが生じるように撮像素子１１２の読み出し時間を制御し、同画像内に基づいてフリッカー周期を検出する構成であってもよい。この場合、例えば、フリッカーの光量変化の２周期以上に設定して撮像素子１１２を駆動し、取得された画像内における互いに隣接したフリッカーのピークが２つ以上検出されたか否かをＳ２０６で判定すればよい。
【００４８】
このように、第１方法は、フリッカー検出に用いる画像をライブビュー画像として利用することが可能であるため、撮影スタンバイ時や動画記録中といった、画像表示回路１１８が電子ビューファインダーとして機能可能な状態でのフリッカー検出に有用である。
【００４９】
次に、フリッカー検出の第２方法について図４および図５を参照して説明する。図４は、第２方法のフリッカー検出時の撮影動作およびフリッカー検出処理を模式的に示した図である。また、図５は、第２方法のフリッカー検出処理に関するフローチャートである。
【００５０】
Ｓ３０１でシステムコントローラ１２０は、想定されるフリッカー周期よりも短い周期となるフレームレートで撮影画像を取得するように画像データコントローラ１１５を制御する。ここでは、予め想定されるフリッカー周波数（１００Ｈｚと１２０Ｈｚ）の最小公倍数である６００ｆｐｓのフレームレートで１２フレーム連続して読み出すものとする。従って、システムコントローラ１２０は、約１．６６７ｍｓの蓄積時間で駆動するように画像データコントローラ１１５を制御する。なお、６００ｆｐｓは一例であり、より低い、もしくは高いフレームレートを採用してもよい。システムコントローラ１２０は取得した画像データを例えばＤＲＡＭ１２１に保存する。
【００５１】
ここで、１２フレーム連続して読み出すのは、総蓄積時間を１２×１．６６７ｍｓ＝約２０ｍｓとすることで、商用電源の周波数にかかわらず、連続した２周期のフリッカーが含まれるようにするためである。これにより、ピークの間隔（ピークタイミングの時間差）からフリッカー周期および／または周波数を検出することができる。また、システムコントローラ１２０は画像データコントローラ１１５に対し、６００ｆｐｓでの読み出しを実現するためにの間引き読み出しまたは加算読出の設定を行う。間引きの割合や加算すべき画素数は、撮像素子１１２の読み出しに要する時間に依存する。例えばシステムコントローラ１２０内のＲＯＭに、フレームレートに応じた間引きの割合や加算すべき画素数を予め記憶しておくことができる。
【００５２】
なお、第１方法および第２の方法それぞれで行うフリッカー検出用の画像読み出し動作をそれぞれ読み出しモードとして画像データコントローラ１１５に予め登録しておくこともできる。この場合、システムコントローラ１２０はフリッカー検出方法に応じた読み出しモードを画像データコントローラ１１５に設定するだけでよい。
【００５３】
Ｓ３０２でシステムコントローラ１２０は、取得した１２フレーム分の画像それぞれについて代表輝度値を算出する。ここでは、全画素の輝度の積分値を代表輝度値とするが、全画素の輝度平均値など他の値であってもよい。
【００５４】
Ｓ３０３でシステムコントローラ１２０は、求めた代表輝度値の変化からフリッカーの有無および、周期および／または周波数を検出する。商用電源周波数が５０Ｈｚの場合、蓄積時間が１．６６７ｍｓであれば、フリッカーの一周期あたり６回の読み出しが行われる。そのため、第ｎ＋６フレーム（ｎは０以上の整数）はフリッカー光源の光量がほぼ等しい状態に対応するため、代表輝度値もほぼ等しい値となる。同様に、商用電源周波数が６０Ｈｚの場合には、第ｎ＋５フレーム（ｎは０以上の整数）はフリッカー光源の光量がほぼ等しい状態に対応するため、代表輝度値もほぼ等しい値となる。
【００５５】
システムコントローラ１２０は、連続して読み出した１２フレーム分の代表輝度値について、
第１評価値＝第ｎフレームの代表輝度値と第（ｎ＋６）フレームの代表輝度値の差分絶対値和（ｎ＝１〜６）
第２評価値＝第ｎフレームの代表輝度値と第（ｎ＋５）フレームの代表輝度値の差分絶対値和（ｎ＝１〜５）
をそれぞれ求める。
【００５６】
そして、システムコントローラ１２０は、
第１評価値＜閾値  かつ  第２評価値＜閾値  であればフリッカーが存在しない
第１評価値＜閾値  かつ  第２評価値≧閾値  であれば５０Ｈｚのフリッカーが存在
第１評価値≧閾値  かつ  第２評価値＜閾値  であれば６０Ｈｚのフリッカーが存在
とそれぞれ判定する。ここで、閾値は予め実験的に定めておくことができる。
【００５７】
Ｓ３０４でシステムコントローラ１２０は、代表輝度値から輝度変化のピークを検出する。ピークの検出方法に特に制限はないが、フリッカーの一周期内で得られたフレームの代表輝度値のうち、最大値Ｌ（ｎ）と、最大値が得られたフレームの前後のフレームで得られた代表輝度値Ｌ（ｎ−１）、Ｌ（ｎ＋１）とから求めることができる。具体的には、Ｌ（ｎ）と、Ｌ（ｎ−１）とＬ（ｎ＋１）のうち値の小さい１つとを通る直線（傾きａ）と、Ｌ（ｎ−１）とＬ（ｎ＋１）のうち値の大きい１つを通り、傾き−ａの直線との交点をピークとして求めることができる。また、この交点に対応する輝度はピーク光量に相当する。なお、ピークは代表輝度値の最小値に基づいて求めてもよい。
【００５８】
なお、第２方法ではフレーム内の全画素値を反映した代表輝度値を求めることにより、例えば図４の最下段に示すような、画像の一部だけがフリッカーの影響を受けているような場合であってもフリッカー周期および／または周波数を検出することができる。しかし、フリッカー検出用の画像をそれぞれ同様に複数の領域に分割し、領域ごとに上述したフリッカー検出処理を実行することで、一層精度よくフリッカー周期および／または周波数を検出することができる。一部の領域だけでフリッカーが検出された場合、システムコントローラ１２０は例えばフリッカーが検出された領域が一定方向に並んでいればそれらの領域で検出されたフリッカーが実際に存在すると判定してもよい。あるいは、システムコントローラ１２０は、検出されたフリッカーの周波数やピークタイミングのばらつきが予め定められた閾値未満であれば、検出されたフリッカーが実際に存在すると判定してもよい。
【００５９】
次に、図６を用いて、本実施形態のカメラシステムにおけるフリッカーレス撮影動作について説明する。図６はフリッカーの影響を抑制した画像を得るための、検出したフリッカーに応じた露光タイミング制御に関する模式図である。ここでは、システムコントローラ１２０が静止画の撮影開始指示（レリーズＳＷ２ １３７のオン）を検出する前にフリッカー検出が完了しているものとする。
【００６０】
上述した第１方法または第２方法のフリッカー検出により、フリッカーのピークタイミングと周期が検出されているため、フリッカーのピークタイミングが既知である。図６では、ピークタイミングをフリッカー同期信号によって表している。システムコントローラ１２０は、静止画の撮影開始指示を検出すると、フリッカー周期の特定の区間で露光が行われるように露光開始のタイミングを制御する。具体的には、システムコントローラ１２０は、シャッタースピードが同じであれば、フリッカー周期内の同じ区間で露光が行われるように露光開始のタイミングを制御する。これにより、同じ光量で撮影が行われるため、フリッカーの影響を抑制することができる。
【００６１】
図６に示す例では、フリッカーピークタイミングが露光期間の中心に位置するように露光開始のタイミングを制御している。フリッカー光源の輝度が最大になるタイミングを含むように露光タイミングを決定することにより、ＡＥで決定されたシャッタースピードが変化した場合でも、画像の明るさをほぼ一定に保つことができる。この際、システムコントローラ１２０は、ＡＥによるシャッタースピードと、指示を与えてからフォーカルプレーンシャッター１０８が動作開始するまでのタイムラグを考慮したタイミングでフォーカルプレーンシャッター１０８の動作を制御する。これにより、撮影画像におけるフリッカーの影響を抑制することができる。なお、撮影開始指示の検出時点でフリッカーが検出できていない場合、撮影開始指示の検出後にフリッカー検出を実行してから露光を開始するようにしてもよい。
【００６２】
次に、図７のフローチャートを用いて、本実施形態におけるカメラシステムにおけるフリッカー検出動作について説明する。図７は、カメラシステムの電源投入後、静止画撮影が実行されるまでの動作に関するフローチャートである。
【００６３】
例えば電源スイッチの操作などによって電源が投入されると、Ｓ４０１でシステムコントローラ１２０は、電源電圧や記録媒体のチェックなどの起動処理を実行する。そして、起動処理において異常が検出されなければ、システムコントローラ１２０は、Ｓ４０２で、図３を用いて説明した第１方法によるフリッカー検出処理を撮影スタンバイ動作として実行する。
【００６４】
Ｓ４０３でシステムコントローラ１２０は、撮影開始指示を検出したか否かを判定し、検出したと判定されればＳ４０４へ処理を進め、検出したと判定されなければＳ４０２を繰り返し実行する。第１方法によるフリッカー検出処理では、第１の画像をライブビュー画像として利用して画像表示回路１１８に表示するため、画像表示回路１１８は電子ビューファインダーとして機能する。
【００６５】
なお、Ｓ４０２において、フリッカー検出が完了した後は、例えばシーン変化が検出されるまでは第１の画像の取得と画像表示回路１１８への表示（図３のＳ２０１およびＳ２０２）だけを実行してもよい。これは、同じ環境であれば基本的にフリッカーの特性は変化しないからである。また、第２の画像を取得しないことにより、ライブビュー画像のフレームレートを向上させることもできる。
【００６６】
また、撮影開始指示の前に撮影開始準備指示（レリーズＳＷ１ １３６のオン）が検出された場合、システムコントローラ１２０は、ＡＦやＡＥといった撮影開始準備処理を実行する。
【００６７】
Ｓ４０４でシステムコントローラ１２０は、撮影スタンバイ動作中に第１方法によってフリッカーが検出されたか否かを判定し、検出されたと判定されればＳ４０５へ、検出されたと判定されなければＳ４０７へ、処理を進める。第１方法によってフリッカーが検出されていない場合、実際にフリッカーが存在しない場合と、フリッカーの検出に失敗している場合とが考えられる。フリッカーの検出に失敗している場合とは、例えば画像の一部がフリッカーの影響を受けており、輝度変化の大きさからはフリッカーが存在していると判定されても、隣接する同種のピークタイミングが検出できない場合などがある。そのため、本実施形態では第１方法でフリッカーが検出されていない場合には第２方法でフリッカー検出を行うようにしている。
【００６８】
Ｓ４０７でシステムコントローラ１２０は、図５を用いて説明した第２方法によるフリッカー検出処理を実行する。
Ｓ４０８でシステムコントローラ１２０は、第２方法によってフリッカーが検出されたか否かを判定し、検出されたと判定されればＳ４０９へ、検出されたと判定されなければＳ４０６へ、処理を進める。
【００６９】
Ｓ４０５でシステムコントローラ１２０は、第１方法によるフリッカーの検出結果（ピークタイミングおよび、周期または周波数）と、例えばＡＥ処理で決定されたシャッタースピードに基づいて、撮影開始タイミングを決定する。システムコントローラ１２０は、撮影開始タイミングを図６を用いて説明したようにして決定することができる。
【００７０】
Ｓ４０９でシステムコントローラ１２０は、第２方法によるフリッカーの検出結果（ピークタイミングおよび、周期または周波数）と、例えばＡＥ処理で決定されたシャッタースピードに基づいて、撮影開始タイミングを決定する。システムコントローラ１２０は、撮影開始タイミングを図６を用いて説明したようにして決定することができる。
【００７１】
Ｓ４０６でシステムコントローラ１２０は、Ｓ４０５またはＳ４０９で決定した撮影開始タイミングに従って、撮影動作を実行する。第１方法、第２方法のいずれでもフリッカーが検出されなかった場合、システムコントローラ１２０は、直ちに撮影動作を開始する。
【００７２】
なお、図７では、撮影スタンバイ状態から静止画撮影を行う場合における動作について説明した。しかしながら、動画記録中における静止画撮影にも本実施形態を適用することができる。この場合、動画記録の開始前の撮影スタンバイ状態において第１方法によるフリッカー検出処理を実行し、動画記録中に静止画の撮影開始指示を検出した場合にＳ４０３以降の動作を実行するように構成すればよい。
【００７３】
以上説明したように、本実施形態によれば、撮影開始指示の検出前と検出後とで、異なる方法によるフリッカー検出を実行するようにした。特に、撮影開始指示の検出前にはフリッカー検出用の画像をライブビュー表示に用いることができる方法でフリッカー検出を行い、撮影開始指示の検出後には、撮影開始指示の検出前とは異なる方法でフリッカー検出を行うようにした。これにより、撮影開始指示の検出前にはライブビュー表示を行いながらフリッカー検出が可能になる。また、撮影開始指示の検出後は、例えば撮影開始指示の検出前のフリッカー検出方法では検出できないフリッカーを検出可能な方法など、様々な方法を用いることができるため、フリッカーの検出精度を高めることができる。
【００７４】
●（第２実施形態）
次に、本発明の第２実施形態について説明する。第１実施形態では第１方法でフリッカーが検出されなかった場合には必ず第２方法でフリッカー検出を行う構成であった。本実施形態では、第１方法でフリッカーが検出されなかった場合に、第２方法でフリッカー検出を行うか否かを判定する点で異なる。本実施形態においても第１実施形態とカメラシステムの構成は同じであってよい。
【００７５】
図８は、本実施形態のカメラシステムにおける、電源投入後、静止画撮影が実行されるまでの動作に関するフローチャートであり、第１実施形態と同じ動作に関しては図７と同じ参照数字を付して説明を省略する。
【００７６】
Ｓ４０４でシステムコントローラ１２０は、撮影スタンバイ動作中に第１方法によってフリッカーが検出されたか否かを判定し、検出されたと判定されればＳ４０５へ、検出されたと判定されなければＳ５０１へ、処理を進める。
【００７７】
Ｓ５０１でシステムコントローラ１２０は、例えば直近に実行した第１方法のフリッカー検出で得られた輝度変化の振幅（例えば最小輝度値と最大輝度値との差）が閾値以下か否かを判定する。輝度変化は例えば図２の画像Ｂ’と画像Ｄ’に相当する画像から得られたものの少なくとも一方であってよい。システムコントローラ１２０は、輝度変化の振幅が閾値以下と判定されればＳ４０６へ、閾値以下と判定されなければＳ５０２へ、処理を進める。ここで用いる閾値は、予め定めておくことができる。また、閾値はユーザが変更可能であってもよい。閾値は、第１方法のフリッカー検出処理において、フリッカーの有無を判定するための閾値と同じであっても、それより小さい値であってもよい。
【００７８】
Ｓ５０２でシステムコントローラ１２０は、第１方法でのフリッカー検出処理で得られた輝度変化におけるピークが所定数以上であるか否かを判定し、所定数以上と判定されればＳ４０７へ、所定数以上と判定されなければＳ４０６へ、処理を進める。
【００７９】
ここで用いる所定数は、蓄積および読み出しの周期とフリッカー周期とに応じて定まる値を有する。図９を用いて所定数について説明する。例えば、第１方法のフリッカー検出処理において、画像を６０ｆｐｓ（周期１６．７ｍｓ）で読み出す場合を考える。この場合、各フレームに含まれるフリッカーの輝度ピークの数は、フリッカー周波数が１００Ｈｚの場合は１または２個、１２０Ｈｚの場合は２個となる。
【００８０】
しかし、例えばフリッカー周波数が１２０Ｈｚを超える場合、各フレームに含まれる輝度ピークの数は２より大きくなる（図９の例では３または４個）。本実施形態において第２方法のフリッカー検出処理は、フリッカー周波数が１００Ｈｚまたは１２０Ｈｚであることを想定しているため、他のフリッカー周波数については正しく判定することができない。例えば、フリッカーが発生しない環境下でフリッカー検出処理を行った場合、理想としては輝度変化がなくピークの数は０となる。しかし、撮像素子１１２から出力される信号のばらつきやノイズにより輝度変化が発生し、輝度変化のピークが多く検出される。この場合は、Ｓ４０６の処理に遷移し、第２方法のフリッカー検出処理を実行しないように制御する。このとき、Ｓ５０１の処理で輝度変化の振幅が閾値以下と判定し基本的にはＳ４０６へ遷移する。しかしながら、被写体中に高輝度な被写体が存在する場合は撮像素子１１２から出力される信号が蓄積時間に応じて飽和するので、第１の蓄積時間で取得した画像と第２の蓄積時間で取得した画像とで輝度差が生じ、Ｓ５０２の処理に遷移する。
【００８１】
つまり、第１方法でのフリッカー検出処理で得られた輝度変化のピーク数が、フリッカー周波数１００Ｈｚまたは１２０Ｈｚの場合に想定されるピーク数より大きい所定数以上の場合、第２方法のフリッカー検出処理によっても正しく検出できない可能性が高い。そのため、第２方法のフリッカー検出処理は行わないようにする。
【００８２】
本実施形態によれば、第１実施形態と同様の効果が得られるほか、第２方法でのフリッカー検出を適応的に実行するようにしたので、不要なシャッタータイムラグを抑制することができるという効果が得られる。
【００８３】
以上、本発明を例示的な実施形態について説明してきたが、本発明は説明した特定の実施形態に限定されない。特許請求の範囲で規定される範囲に含まれる、種々の変形物および変更物もまた本発明に含まれる。
【００８４】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８５】
１００…カメラ本体、２００…レンズユニット、１１２…撮像素子、１１４…タイミングパルス発生回路、１１５…画像データコントローラ、１１８…画像表示回路、１２０…システムコントローラ
【図１】
2019022023.tif 000003
【図２】
2019022023.tif 000004
【図３】
2019022023.tif 000005
【図４】
2019022023.tif 000006
【図５】
2019022023.tif 000007
【図６】
2019022023.tif 000008
【図７】
2019022023.tif 000009
【図８】
2019022023.tif 000010
【図９】
2019022023.tif 000011
【図１０】
2019022023.tif 000012