(57)【要約】      （修正有）【課題】撮影者の意図するタイミングでの撮影を可能にし、かつ、フリッカーの影響を抑えた画像を得ることを可能にする撮像装置、制御方法、プログラムを提供する。【解決手段】撮像装置は、撮像手段と、測光手段と、フリッカー同期信号算出手段と、幕走行カーブ算出手段と、記録手段とを有する。フリッカー同期信号算出手段は、測光手段の出力信号に基づいて、フリッカーのピークタイミング・周期であるフリッカー同期信号情報５０３を算出し、幕走行カーブ算出手段は、シャッター幕の幕走行情報により幕走行カーブ５０４、５０５を算出する。フリッカーが検出された時、画像データと、フリッカー同期信号情報と、幕走行カーブ情報と、測光値とを関連付けて記録手段に記録する。更に、記録手段に記録されたフリッカ同期信号情報、幕走行カーブ情報、測光値を基に、画像データを補正する。【選択図】図１
2017126918.tif 000002
【特許請求の範囲】
【請求項１】
入射光量に応じた電荷を蓄積する電荷蓄積手段（１０８）と、
前記電荷蓄積手段で複数回の電荷蓄積を行い得られた複数の出力信号に基づいて、フリッカーを検出するフリッカー検出手段（１１２）と、
前記電荷蓄積手段で複数回の電荷蓄積を行い得られた複数の出力信号に基づいて、前記フリッカー検出手段により検出されたフリッカーのピークタイミング・周期を算出するフリッカ同期信号算出手段（１１２）と、
前記電荷蓄積手段の電荷蓄積を行って得られた出力信号に基づいて、被写体輝度を算出する測光手段（１１２）と、
シャッター幕の幕走行状態を検出する幕走行状態検出手段（５０１、５０２）と、
前記幕走行状態検出手段（５０１、５０２）によって検出された幕走行情報より幕走行カーブを算出する幕走行カーブ算出手段（１０１）と、
被写体像を撮像する撮像手段（１０３）と、
記録手段（１１５）と、を有するものにおいて、
前記フリッカー検出手段（１１２）でフリッカーが検出された時、前記撮像手段（１０３）によって撮像された画像データと、前記フリッカー同期信号算出手段（１１２）で算出されたフリッカー同期信号情報（５０３）と、前記幕走行カーブ算出手段（１０１）により算出された幕走行カーブ情報（５０４、５０５）と、前記測光手段（１１２）により算出された測光値とを関連付けて前記記録手段（１１５）に記録することを特徴とする撮像装置。
【請求項２】
請求項１記載の撮像装置によって前記記録手段（１１５）に記録された前記フリッカー同期信号情報（５０３）、前記幕走行カーブ情報（５０４、５０５）、前記測光値を元に、前記記録手段（１１５）に記録された前記画像データを補正することを特徴とする画像補正システム。
【請求項３】
入射光量に応じた電荷を蓄積する電荷蓄積手段（１０８）と、
前記電荷蓄積手段（１０８）で複数回の電荷蓄積を行い得られた複数の出力信号に基づいて、フリッカーを検出するフリッカー検出手段（１１２）と、
前記電荷蓄積手段（１０８）で複数回の電荷蓄積を行い得られた複数の出力信号に基づいて、前記フリッカー検出手段（１１２）により検出されたフリッカーのピークタイミング・周期を算出するフリッカー同期信号算出手段（１１２）と、
前記電荷蓄積手段（１０８）の電荷蓄積を行って得られた出力信号に基づいて、被写体輝度を算出する測光手段（１１２）と、
シャッター幕の幕走行状態を検出する幕走行状態検出手段（５０１、５０２）と、
前記幕走行状態検出手段（５０１、５０２）によって検出された幕走行情報より幕走行カーブを算出する幕走行カーブ算出手段（１０１）と、
被写体像を撮像する撮像手段（１０３）と、
記録手段（１１５）と、
前記フリッカー検出手段でフリッカーが検出された時、前記撮像手段（１０３）によって撮像された画像データと、前記フリッカー同期信号算出手段（１１２）で算出されたフリッカー同期信号情報（５０３）と、前記幕走行カーブ算出手段（１０１）により算出された幕走行カーブ情報（５０４、５０５）と、前記測光手段（１１２）により算出された測光値とを関連付けて前記記録手段（１１５）に記録する事を特徴とする撮像装置と、
前記撮像装置によって前記記録手段（１１５）に記録された前記フリッカー同期信号情報（５０３）、前記幕走行カーブ情報（５０４、５０５）、前記測光値を元に、前記記録手段（１１５）に記録された前記画像データを補正することを特徴とする画像補正システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置に関し、特に蛍光灯下などの人工光源下で発生するフリッカーの影響を抑える技術に関する。
【背景技術】
【０００２】
従来、デジタルカメラや携帯電話などの撮像装置の高感度化が進んでいる。そのため、室内のような比較的暗い環境下においても、シャッタースピードを高速にした（露光時間を短くした）撮影により、ブレを抑えた明るい画像を取得することが可能になってきている。
【０００３】
また、室内光源として普及している蛍光灯は商用電源周波数の影響により、周期的に照明光がゆらぐ現象であるフリッカーが生じる。このようなフリッカーが生じる光源（以下、フリッカー光源とする）下でシャッタースピードを高速にした撮影を行うと、１つの画像内で露出ムラや色ムラが発生したり、連続して撮影した複数の画像間で露出や色温度のばらつきが発生したりする場合がある。
【０００４】
このような問題に対して、特許文献１、２には、照明光のフリッカー周期を計測し、露光時間がフリッカーの明滅周期より短い場合、露光時間の中心が照明光の光量が極大値を示すタイミングと略一致するように撮像タイミングを調節する技術が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−２２０７６３号公報
【特許文献２】特開２０１４−２２０７６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の特許文献に開示された従来技術では、光源のフリッカー周期に合わせて撮像タイミングを遅らせるので、撮影者が意図したタイミングでの撮像が出来なくなってしまう。
【０００７】
そこで、本発明の目的は、撮影者の意図するタイミングでの撮影を可能にし、かつ、フリッカーの影響を抑えた画像を得ることを可能にする撮像装置、制御方法、プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、本発明は、
入射光量に応じた電荷を蓄積する電荷蓄積手段（１０８）と、前記電荷蓄積手段（１０８）で複数回の電荷蓄積を行い得られた複数の出力信号に基づいて、フリッカーを検出するフリッカー検出手段（１１２）と、前記電荷蓄積手段（１０８）で複数回の電荷蓄積を行い得られた複数の出力信号に基づいて、前記フリッカー検出手段（１１２）により検出されたフリッカーのピークタイミング・周期を算出するフリッカー同期信号算出手段（１１２）と、前記電荷蓄積手段（１０８）の電荷蓄積を行って得られた出力信号に基づいて、被写体輝度を算出する測光手段（１１２）と、シャッター幕の幕走行状態を検出する幕走行状態検出手段（５０１、５０２）と、前記幕走行状態検出手段（５０１、５０２）によって検出された幕走行情報より幕走行カーブを算出する幕走行カーブ算出手段（１０１）と、被写体像を撮像する撮像手段（１０３）と、記録手段（１１５）と、前記フリッカー検出手段でフリッカーが検出された時、前記撮像手段（１０３）によって撮像された画像データと、前記フリッカー同期信号算出手段（１１２）で算出されたフリッカー同期信号情報（５０３）と、前記幕走行カーブ算出手段（１０１）により算出された幕走行カーブ情報（５０４、５０５）と、前記測光手段（１１２）により算出された測光値とを関連付けて前記記録手段（１１５）に記録する事を特徴とする撮像装置と、前記撮像装置によって前記記録手段（１１５）に記録された前記フリッカー同期信号情報（５０３）、前記幕走行カーブ情報（５０４、５０５）、前記測光値を元に、前記記録手段（１１５）に記録された前記画像データを補正することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、撮影者の意図するタイミングでの撮影を可能にし、かつ、フリッカーの影響を抑えた画像を得ることを可能にする撮像装置、制御方法、プログラムを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】ＳＨ制御信号、フリッカー起動カーブ、幕走行状態、幕走行信号の関係説明図
【図２】シャッターの羽根室の構成を説明図
【図３】撮像装置の概略構成図
【図４】撮影シーケンス
【図５】フリッカー検出動作の説明図
【図６】垂直画素加算数と読み出し時間の関係
【図７】フリッカー検知の例
【図８】フリッカーを検知しなかった場合のレリーズシーケンス
【図９】フリッカー輝度補正画面
【図１０】フリッカー画像補正全体のシーケンス
【図１１】フリッカーの影響を受けた画像のマニュアル補正シーケンス
【発明を実施するための形態】
【００１１】
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。
【実施例１】
【００１２】
図３は本実施形態に係る撮像装置の概略構成図である。
【００１３】
本実施形態に係る撮像装置は、カメラ本体１００と、カメラ本体１００に着脱可能なレンズユニット２００を含む。
【００１４】
まず、カメラ本体１００の構成について説明する。
【００１５】
マイクロコンピュータＣＰＵ（以下、カメラマイコン）１０１は、カメラ本体１００の各部を制御する。メモリ１０２は、カメラマイコン１０１に接続されているＲＡＭやＲＯＭ等のメモリである。撮像素子１０３は、赤外カットフィルタやローパスフィルタ等を含むＣＣＤ、ＣＭＯＳ等の撮像素子であり、レンズユニット２００を介して入射した光束を光電変換して画像信号を出力する。シャッター１０４は、レンズユニット２００を介して入射した光束から撮像素子１０３を遮光する遮光状態、及び、レンズユニット２００を介して入射した光束を撮像素子１０３に導く退避状態となるように走行する。
【００１６】
ハーフミラー１０５は、レンズユニット２００を介して入射した光束を撮像素子１０３へ導く位置（ミラーアップ状態）と測光センサ１０８へ導く位置（ミラーダウン状態）とに移動可能である。すなわち、ハーフミラー１０５は、撮像素子１０３へ導く状態と測光センサ１０８へ導く状態とに、レンズユニット２００を介して入射した光束の光路変更を行う。また、測光センサ１０８へ導く位置にある場合には、レンズユニット２００を介して入射した光束をピント板１０６に結像させる。
【００１７】
表示素子１０７は、ＰＮ液晶等を用いた表示素子であり、自動焦点調節制御（ＡＦ制御）に用いられる焦点検出領域を示す枠（ＡＦ枠）などを表示する。測光センサ１０８は、ＣＣＤ、ＣＭＯＳ等の入射光量に応じた電荷を蓄積する電荷蓄積型撮像素子を使用することにより、出力される画像信号に基づいて測光だけでなく被写体の顔検出や被写体追尾、フリッカーの検出などを行うことができる。
【００１８】
ペンタプリズム１０９は、ハーフミラー１０５で反射されたレンズユニット２００を介して入射した光束を測光センサ１０８及び不図示の光学ファインダに導く。焦点検出回路１１０は、ＡＦ制御のために焦点検出を行うものであって、ＡＦミラー１１１により、レンズユニット２００を介して入射しハーフミラー１０５を通過した光束の一部が導かれる。
【００１９】
ＣＰＵ１１２は、測光センサ１０８の駆動制御や画像処理・演算用のＣＰＵ（以下ＩＣＰＵとする）であって、測光センサ１０８からの出力信号（画像信号）に基づいて測光、被写体の顔検出、被写体追尾、フリッカー検出などに関わる各種演算を行う。メモリ１１３は、ＩＣＰＵ１１２に接続されているＲＡＭやＲＯＭ等のメモリである。なお、本実施形態では、カメラマイコン１０１とは別にＩＣＰＵ１１２を有する構成を説明するが、ＩＣＰＵ１１２で実行する処理をカメラマイコン１０１で実行する構成でも構わない。
【００２０】
操作部１１４は、ユーザがカメラ本体１００に測光・合焦動作などの撮影準備動作の開始指示を入力するレリーズＳＷ１や撮影動作の開始指示を行うためのレリーズＳＷ２や、ユーザがカメラ本体１００の各種設定を行うための設定ボタンなどを含む。レリーズＳＷ１、ＳＷ２は２段式スイッチになっている。また、操作部１１４は、ユーザがカメラ本体１００の電源のオンオフを切り替えるための電源スイッチや、ユーザがカメラ本体１００の動作モードを複数のモードの中から選択するためのモードダイヤル、タッチパネルなどを含む。
【００２１】
１１５はカメラ本体から着脱可能な記録メディアであり、撮像した画像データ、フリッカー同期信号情報、先幕・後幕走行情報などを記録する。また、各種データが記録されたメディア１１５をカメラから取り外し、パソコン等でメディア１１５の内容を読み込み、画像処理を行う事が出来るようになる。
【００２２】
次に、レンズユニット２００の構成について説明する。レンズＣＰＵ２０１（以下、ＬＰＵとする）は、レンズユニット２００の各部、例えば、フォーカスレンズ、ズームレンズ、絞りの駆動部などを制御するものであって、レンズに関する情報をカメラマイコン１０１に送信する。
【００２３】
図２はシャッター１０４の羽根室の構成を説明するための図である。図２（ａ）〜（ｃ）はシャッター羽根室の断面図を表している。図２（ａ）は先幕・後幕走行前の状態を示している。図２（ｂ）は先幕・後幕が走行途中の状態の例を示している。図２（ｃ）は、先幕・後幕走行完状態を示している。
【００２４】
３０１はシャッター１０４はシャッター地板であり、不図示の羽根駆動機構、マグネット制御機構を有している。また、後幕の走行スペースを決めている要素の一つになっている。３０２は仕切り板で、先幕と後幕の羽根走行スペースの分割を行っている。３０３はカバー板であり、先幕の羽根走行スペース決めている要素の一つになっている。
【００２５】
３１１〜３１４は先幕を構成する要素であり、３１１は先幕一番羽根、３１２は先幕２番羽根、３１３は先幕３番羽根、３１４は先幕４番羽根である。３１１は撮像素子１０３への露光開始のタイミングを決定する先幕スリット形成羽根である。先幕１番羽根スリット形成部は３１１Ｓである。
【００２６】
３２１〜３２４は後幕を構成する要素であり、３２１は後幕一番羽根、３２２は後幕２番羽根、３２３は後幕３番羽根、３２４は後幕４番羽根である。３２１は撮像素子１０３への露光開始のタイミングを決定する後幕スリット形成羽根である。後幕１番羽根スリット形成部は３２１Ｓである。
【００２７】
先幕、後幕とも図２において上から下の方向へ走行する。
【００２８】
３０１Ａは、シャッター地板３０１のアパチャ開口部である。仕切り板３０２、カバー板３０３にも同様の開口部を有している。
【００２９】
図１はＳＨ制御信号、フリッカー起動カーブ、幕走行状態、幕走行信号について表した図である。
【００３０】
まず図１と図２を用いて、ＳＨ制御信号、幕走行、幕走行信号と先幕、後幕の動きについて説明する。
【００３１】
図１（ａ）はＳＨ制御信号を説明する図である。
【００３２】
ＭＧ１、ＭＧ２がそれぞれ先幕、後幕の走行開始を制御するもので、信号が立ち上がると対応する幕が走行を開始する。ＭＧ１とＭＧ２の立ち上がりの間隔がシャッター制御時間となる。
【００３３】
図１（ｃ）は幕の走行状態を説明する図である。
【００３４】
図中の先幕、後幕のラインは、それぞれの羽根のスリット形成羽根のスリット形成部３１１Ｓ、３２１Ｓの位置を示している。
【００３５】
図１（ｄ）は幕走行信号を説明する図である。
【００３６】
先幕には、先幕の走行位置応じて信号がＨｉＬｏ切り替わる信号ＰＳ（５０１）がある。先幕のスリット形成羽根３１１のスリット形成部３１１Ｓがアパチャ開口部上端より少し内側の元位置に到達した時に信号ＰＳが切り替わるＰＳ１、スリット形成部３１１Ｓがアパチャ開口部中央の中位置に到達した時に信号ＰＳが切り替わるＰＳ２、スリット形成部３１１Ｓがアパチャ開口部下端より少し内側の末位置に到達した時に信号ＰＳが切り替わるＰＳ３がある。
【００３７】
後幕には、後幕の走行位置応じて信号がＨｉＬｏ切り替わる信号ＰＡ（５０２）がある。後幕のスリット形成羽根３２１のスリット形成部３２１Ｓがアパチャ開口部上端より少し内側の元位置に到達した時に信号ＰＡが切り替わるＰＡ１、スリット形成部３２１Ｓがアパチャ開口部中央の中位置に到達した時に信号ＰＡが切り替わるＰＡ２、スリット形成部３２１Ｓがアパチャ開口部下端より少し内側の末位置に到達した時に信号ＰＡが切り替わるＰＡ３がある。
【００３８】
ＰＳ１、ＰＳ２、Ｐ３、ＰＡ１、ＰＡ２、ＰＡ３のタイミングとシャッター制御時間より、ＭＧ１、ＭＧ２の立ち上がりタイミングからの先幕、後幕それぞれのスリット形成羽根の位置がほぼ正確に求める事が可能となる。その結果、アパチャ上下方向において任意の位置で、先幕後幕のスリット形成羽根の間隔、つまり露出時間・タイミングを求める事が可能となる。
【００３９】
ＳＨ制御信号、信号ＰＳ、ＰＡの制御、読み取り、露出時間、タイミングの演算は制御手段であるＣＰＵ１０１が行う。
【００４０】
次に、図４を用いて、撮影後フリッカーの影響を低減させた画像を得るために必要な情報と画像を得るための撮影動作について説明する。
【００４１】
図４は本実施形態に係る撮像装置のフリッカーによる輝度変化状況とシャッターの幕走行状況を表すデータと撮像データを関連付て記録する撮影を行うための動作を示すフローチャート図である。
【００４２】
ユーザの電源スイッチへの操作によりカメラ本体１００の電源がオン状態になると、ステップＳ１０１で不図示のレリーズＳＷ１の状態を確認する。レリーズＳＷ１がオンしていたら撮影準備動作を開始するためにステップＳ１０２へ移行する。
【００４３】
ステップＳ１０２では測光動作を行う。測光動作では、測光センサ１０８による電荷の蓄積及び画像信号の読み出しを行い、得られた画像信号に基づいてＩＣＰＵ１１２が測光に関わる演算（以下、測光演算とする）を行い測光値を取得する。
【００４４】
なお、この測光動作は、仮にフリッカー光源下であってもフリッカー光源の光量変化に影響して測光値がばらつかないように、測光センサ１０８の蓄積時間をフリッカーの周期のほぼ整数倍に設定するとよい。
【００４５】
ここで、フリッカー光源の光量が変化する周波数（以下、フリッカー周波数とする）は、商用電源周波数の２倍になることから、商用電源周波数が５０Ｈｚの地域ではフリッカー周波数１００Ｈｚとなり、その光量変化周期は１０ｍｓとなる。同様に商用電源周波数が６０Ｈｚの地域ではフリッカー周波数は１２０Ｈｚ、光量変化周期は８．３３ｍｓとなる。
【００４６】
この２種類のフリッカー周波数に対応するために、測光センサ１０８の蓄積時間を、１０ｍｓと８．３３ｍｓの平均値と略等しい時間、例えば９ｍｓに設定する。そうすると、商用電源周波数が５０Ｈｚ、６０Ｈｚのどちらであっても測光センサ１０８の蓄積時間はフリッカー光源の光量変化の１周期と略等しくなり、フリッカー光源下でも安定した測光値を得ることができる。
【００４７】
また、得られた測光値に基づいて、カメラマイコン１０１は、露出制御値である絞り値Ａｖ、シャッタースピード（露光時間）Ｔｖ、ＩＳＯ感度（撮影感度）Ｓｖを決定する。Ａｖ、Ｔｖ、Ｓｖの決定に際しては、カメラマイコン１０１は、メモリ１０２に予め記憶されたプログラム線図を利用して決定する。
【００４８】
次に、ステップＳ１０３で図５に示すようにして測光センサ１０８によるフリッカー検出用の複数回の電荷の蓄積及び画像信号の読み出しを行う。図５はフリッカー検出用の電荷の蓄積タイミング及び画像信号の読み出しタイミングを示す図であり、６００ｆｐｓ、約１．６６７ｍｓ周期で蓄積・読み出しを連続して１２回行う。この６００ｆｐｓは、予め想定されるフリッカー周波数（１００Ｈｚと１２０Ｈｚ）の最小公倍数と等しい値となっている。また、６００ｆｐｓで１２回蓄積を行うことで、全体として２０ｍｓの期間で蓄積を行うことになり、商用電源周波数が５０Ｈｚ、６０Ｈｚのどちらであっても、フリッカー光源の光量変化が２周期含まれることになる。
【００４９】
ここで、測光センサ１０８を６００ｆｐｓ（１．６６７ｍｓ周期）で駆動させる方法について説明する。
【００５０】
本実施形態では、測光センサ１０８から出力される画像信号に基づいて、測光だけでなく被写体の顔検出や被写体追尾、フリッカーの検出などを行う。被写体の顔検出を精度よく行うためには、測光センサ１０８の画素数はある程度、例えばＱＶＧＡ相当の画素数必要である。このような被写体の顔検出を精度よく行うことが可能な画素数を有する撮像素子の全画素信号を６００ｆｐｓ以上のフレームレートで読み出すためには、回路構成が複雑となりコストも増大する。
【００５１】
そこで、被写体の顔検出を行うための画像信号については全画素信号を読み出し、フリッカー検出を行うための画像信号については画素加算読み出しや間引き読み出しをすることによってフレームレートを６００ｆｐｓ（１．６６７ｍｓ周期）に調整する。
【００５２】
測光センサ１０８にＣＣＤを用いる場合、画素信号を加算して読み出す画素加算読み出しにより、読み出しライン数を擬似的に減少させて読み出し時間を短縮させるとよい。例えば、画素配列がストライプ状のＣＣＤで垂直画素加算を行うことで、図６に示すような読み出し時間の短縮効果がある。
【００５３】
図６は垂直画素加算数と読み出し時間の関係を示す図であり、画素信号を加算することなく全画素信号を読み出す（垂直画素加算数が１）場合の読み出し時間が６．２５ｍｓとなるＣＣＤを例にして説明する。
【００５４】
図６に示す特徴を有するＣＣＤの場合、９画素加算を行うことにより読み出し時間は１．６６ｍｓとなり、フレームレートを約６００ｆｐｓにすることができる。このとき読み出される画像信号は、画素信号を加算することなく読み出された画像信号と比べて垂直方向の画素数が１／９になるが、フリッカー検出においては画像信号間の測光値を比較するだけなので、垂直方向の画素数が減少した画像信号でも問題ない。
【００５５】
また、測光センサ１０８にＣＭＯＳを用いる場合、画素信号の読み出しを行う水平ラインを限定したいわゆる間引き読み出しによって、蓄積と読み出しの合計時間が約１．６６７ｍｓ周期となるように調整するとよい。
【００５６】
以上で、測光センサを約６００ｆｐｓ（約１．６６７ｍｓ周期）程度で駆動させる方法についての説明を終える。
【００５７】
Ｓ１０３でフリッカー検出用の電荷の蓄積及び画像信号の読み出しを終えたら、Ｓ１０４でＩＣＰＵ１１２は、読み出した画像信号に基づいてフリッカー検出演算を行う。図５（ａ）は商用電源周波数が５０Ｈｚであるときの電荷の蓄積タイミング、画像信号の読み出しタイミング及び測光値の推移を示している。そして、ｎ回目の蓄積を「蓄積ｎ」、蓄積ｎの読み出しを「読み出しｎ」、読み出しｎの結果から得られる測光値を「ＡＥ（ｎ）」としている。なお、各蓄積により得られる測光値は１つであるが、フリッカー光源の光量は蓄積期間中も一定ではない。そこで、各蓄積により得られる測光値を、各蓄積期間中の中心時点におけるフリッカー光源の光量に対応した値とみなす。
【００５８】
商用電源周波数が５０Ｈｚの時のフリッカー光源の光量変化周期は約１０ｍｓであり、１０÷１．６６７≒６であるから、図５（ａ）に示すように、６回周期でフリッカー光源の光量が略等しいタイミングで蓄積が行われる。すなわち、ＡＥ（ｎ）≒ＡＥ（ｎ＋６）の関係となる。
【００５９】
同様に、商用電源周波数が６０Ｈｚの時のフリッカー光源の光量変化周期は約８．３３ｍｓであり、８．３３÷１．６６７≒５であるから、図５（ｂ）に示すように、５回周期でフリッカー光源の光量が略等しいタイミングで蓄積が行われる。すなわち、ＡＥ（ｎ）≒ＡＥ（ｎ＋５）の関係となる。
【００６０】
一方、光量変化がない光源下であれば、ｎによらずＡＥ（ｎ）は略一定である。そこで、フリッカー検出用の蓄積を行い得られた複数の測光値に基づいて、下の式（１）、（２）を用いて評価値を算出する。
【００６１】
【数１】
2017126918.tif 000003
【００６２】
【数２】
2017126918.tif 000004
【００６３】
式（１）を用いて算出される評価値をＦ５０、式（２）を用いて算出される評価値をＦ６０として、評価値Ｆ５０及び評価値Ｆ６０を所定の閾値Ｆ＿ｔｈと比較することで、フリッカー検出を行う。
【００６４】
具体的には、Ｆ５０＜Ｆ＿ｔｈかつ、Ｆ６０＜Ｆ＿ｔｈの場合、フリッカー検出用の蓄積を行い得られた複数の測光値のすべてが略等しいといえるため、フリッカーが生じていないと判断する。
【００６５】
Ｆ５０＜Ｆ＿ｔｈかつ、Ｆ６０≧Ｆ＿ｔｈの場合、フリッカー検出用の蓄積を行い得られた複数の測光値が、６回周期で略等しい値となっていて、５回周期では略等しい値となっていないといえる。そのため、光量変化周期が１０ｍｓのフリッカーが生じている（商用電源周波数が５０Ｈｚのフリッカー光源下）と判断する。
【００６６】
Ｆ５０≧Ｆ＿ｔｈかつ、Ｆ６０＜Ｆ＿ｔｈの場合、フリッカー検出用の蓄積を行い得られた複数の測光値が、５回周期で略等しい値となっていて、６回周期では略等しい値となっていないといえる。そのため、光量変化周期が８．３３ｍｓのフリッカーが生じている（商用電源周波数が６０Ｈｚのフリッカー光源下）と判断する。
【００６７】
なお、フリッカー検出用の蓄積を行っている間にパンニングなどの撮像装置の移動や被写体の移動が生じた場合などに、測光値が大きく変化してＦ５０≧Ｆ＿ｔｈかつ、Ｆ６０≧Ｆ＿ｔｈとなる場合も考えられる。その場合はＦ５０とＦ６０とを比較してフリッカー検出を行う。
【００６８】
具体的には、Ｆ５０≧Ｆ＿ｔｈかつ、Ｆ６０≧Ｆ＿ｔｈかつ、Ｆ５０≦Ｆ６０の場合、光量変化周期が１０ｍｓのフリッカーが生じている（商用電源周波数が５０Ｈｚのフリッカー光源下）と判断する。
【００６９】
反対に、Ｆ５０≧Ｆ＿ｔｈかつ、Ｆ６０≧Ｆ＿ｔｈかつ、Ｆ５０＞Ｆ６０の場合、光量変化周期が８．３３ｍｓのフリッカーが生じている（商用電源周波数が６０Ｈｚのフリッカー光源下）と判断する。
【００７０】
なお、Ｆ５０≧Ｆ＿ｔｈかつ、Ｆ６０≧Ｆ＿ｔｈかつ、Ｆ５０＝Ｆ６０の場合は、フリッカー光源の光量変化周期を判断できないため、フリッカーが生じていないあるいはフリッカーの検出不可と判断してもよい。
【００７１】
その他、Ｆ５０≧Ｆ＿ｔｈかつ、Ｆ６０≧Ｆ＿ｔｈの場合にフリッカー光源の光量変化周期を判断したが、Ｆ５０≧Ｆ＿ｔｈかつ、Ｆ６０≧Ｆ＿ｔｈの場合はフリッカー検出の精度が低いため、フリッカー検出用の蓄積をやり直してもよい。
【００７２】
さらに、ステップＳ１０３ではＩＣＰＵ１１２は、フリッカー光源下である場合は、フリッカーの特徴点のタイミングを求める。
【００７３】
図７はフリッカーの特徴点のタイミングの一例であるフリッカー光源の光量のピークのタイミングを算出する方法の一例を説明する図である。
【００７４】
ＡＥ（１）〜ＡＥ（１２）の中で最大値を得た点をＰ２（ｔ（ｍ）．ＡＥ（ｍ））とし、その１つ前の測光結果の点をＰ１（ｔ（ｍ−１）．ＡＥ（ｍ−１））、１つ後の測光結果の点をＰ３（ｔ（ｍ＋１）．ＡＥ（ｍ＋１））とする。そして、ＡＥ（ｍ−１）とＡＥ（ｍ＋１）の小さい方を取る点（図５の例ではＰ１）と点Ｐ２の２点を通る直線をＬ１＝ａｔ＋ｂとして求め、ＡＥ１とＡＥ３の大きい方を取る点（図５の例ではＰ３）を通り、傾き−ａの直線をＬ２とする。Ｌ１とＬ２の交点を求めると、フリッカー検出用の蓄積開始時を０ｍｓとしたときのピークタイミングｔ＿ｐｅａｋと、ピーク時の光量に対応するピーク測光値ＡＥ＿ｐｅａｋを算出することができる。
【００７５】
なお、図７では、フリッカーの特徴点のタイミングを算出する方法の一例としてフリッカーの光量変化の中で光量が最大（ピーク）となるタイミングを算出する方法を説明したが、光量が最小（ボトム）となるタイミングを算出しても構わない。
【００７６】
ステップＳ１０５で、カメラマイコン１０１は、ステップＳ１０４で求めた結果より、フリッカーのある光源環境かどうか判断する。フリッカーのある光源環境だと判断するとステップＳ１０６へ移行する。フリッカーの無い光源環境と判断すると通常レリーズシーケンスへ移行する。
【００７７】
次にステップＳ１０６で、カメラマイコン１０１は、ステップＳ１０４で求めたフリッカー周波数と光量変化のタイミングからフリッカー同期信号を生成する。フリッカー同期信号は、図６に示したように、フリッカー光源の光量変化の１周期毎に発生させ、フリッカー光源の光量変化の所定のタイミングに同期させた信号である。
【００７８】
図６はフリッカー光源の光量変化とフリッカー同期信号及びシャッター開始信号の発生タイミングとの関係を示す図である。
【００７９】
シャッタースピードが１／１００秒より遅い場合は、フリッカー光源の光量変化周期の１周期分以上の期間で露光を行うため、フリッカーの影響が少なくなる。また、露光を行う期間がフリッカー光源の光量変化周期の１周期分に満たないシャッタースピードであっても、露光を行う期間がフリッカー光源の光量変化周期の１周期分に近ければ比較的フリッカーの影響が少ないと考えられる。
【００８０】
そこで、本実施形態では、シャッタースピードが８ｍｓよりも速い場合にフリッカーの影響を低減させるシャッター制御を行うものとし、ＴＶｍａｘ＝１／１２５（秒）とする。
【００８１】
以上のように、ステップＳ１０３でフリッカー光源の光量のピークのタイミングを算出し、フリッカー同期信号の発生タイミングをフリッカー光源の光量のピークのタイミングに基づいて設定する例を説明した。しかしながら、ステップＳ１０３でフリッカー光源の光量のボトムのタイミングを算出する場合は、フリッカー同期信号の発生タイミングをフリッカー光源の光量のボトムのタイミングに基づいて設定しても構わない。
【００８２】
その後、ステップＳ１０７で、カメラマイコン１０１は、ユーザにレリーズボタンが操作されて撮影動作の開始を指示するためのレリーズスイッチＳＷ２がＯＮされているか否かを判断する。レリーズスイッチＳＷ２がＯＮされていない場合は、ステップＳ１０１に戻り、ステップＳ１０１〜Ｓ１０６の一連の動作を繰り返すことで、フリッカー光源の光量変化周期とフリッカー光源の光量のピークのタイミングを最新のものに更新していく。レリーズスイッチＳＷ２がＯＮされている場合、ステップＳ１０８へ移行する。
【００８３】
ステップＳ１０８では、撮像素子１０３に光束を導けるよう、カメラマイコン１０１により不図示のミラー駆動機構を作動させ、ハーフミラー１０５をミラーアップ状態に移動させる。
【００８４】
ステップＳ１０９で、カメラマイコン１０１は、撮像素子１０３に撮像を開始させる。
【００８５】
ステップＳ１１１で、カメラマイコン１０１は、先幕制御信号ＭＧ１を出力し、先幕走行開始させる。ステップＳ１１４では、シャッター秒時を制御するためのタイマー経過を待ち、ステップＳ１１５で後幕制御信号ＭＧ２を出力し、後幕走行開始させる。
【００８６】
ステップＳ１１２で先幕走行完了を検知すると、ステップＳ１１３で、先幕走行信号ＰＳのＭＧ１通電開始からの切り替わり時間ＰＳ１、ＰＳ２、ＰＳ３を記憶する。
【００８７】
ステップＳ１１６で後幕走行完了を検知すると、ステップＳ１１７で、後幕走行信号ＰＡのＭＧ２通電開始からの切り替わり時間ＰＡ１、ＰＡ２、ＰＡ３を記憶する。
【００８８】
ステップＳ１１０で、撮像素子１０３に撮像停止をカメラマイコン１０１は指示する。
【００８９】
ステップＳ１１８では、カメラマイコン１０１は不図示のミラー駆動機構を作動させミラーダウン状態に移動させる。
【００９０】
ステップＳ１１９で、撮像素子１０３から画像データを読み出す。
【００９１】
ステップＳ１２０では、ステップＳ１１９で読み出した画像データ、ステップＳ１１３、ステップ１１７で得られている先幕・後幕の幕走行情報、ステップＳ１０６で求められているフリッカー同期信号情報、輝度情報を、それぞれ関連付けて記録メディア１１５に書き込む。
【００９２】
ステップＳ１２１で、不図示のミラー駆動機構、シャッター駆動機構を初期位置にチャージする。
【００９３】
図１（ａ）（ｂ）（ｃ）（ｄ）は図７で求められているフリッカー同期信号と輝度情報から求められる輝度変化カーブと、ＳＨ制御信号、幕走行状態、幕走行信号の関係を示しているものである。
【００９４】
図１（ｃ）でアパチャ位置  元  を見た時、先幕と後幕の走行カーブから元の露出開始から終了のタイミングがわかる。と同時に図１（ｂ）と関連付てみると、図１（ｂ）の左側の斜線部が元位置で受けるフリッカー光源の光量となる。同様に、右側の斜線部が末位置で受けるフリッカー光源の光量となる。つまり、フリッカー同期信号と先幕・後幕の幕走行に関する情報があれば、フリッカー光源による輝度ムラがどうなるか求める事が出来る。
【００９５】
また、図７ではフリッカー同期信号のピーク位置（輝度）がわかっていないが、これはステップ１０２で測光センサ１０８により求められた測光値を用いれば良い。
【００９６】
図８は、ステップＳ１０５でフリッカーを検知しなかった場合のレリーズシーケンスについてフローチャートである。
【００９７】
ステップＳ２０１でカメラマイコン１０１は、レリーズスイッチＳＷ２の状態を確認する。レリーズスイッチＳＷ２がＯＮされている場合、ステップＳ２０２へ移行する。
【００９８】
ステップＳ２０２では、撮像素子１０３に光束を導けるよう、カメラマイコン１０１により不図示のミラー駆動機構を作動させ、ハーフミラー１０５をミラーアップ状態に移動させる。
【００９９】
ステップＳ２０３で、カメラマイコン１０１は、撮像素子１０３に撮像を開始させる。
【０１００】
ステップＳ２０５で、カメラマイコン１０１は、先幕制御信号ＭＧ１を出力し、先幕走行開始させる。ステップＳ２０７では、シャッター秒時を制御するためのタイマー経過を待ち、ステップＳ２０８で後幕制御信号ＭＧ２を出力し、後幕走行開始させる。
【０１０１】
ステップＳ２０６で、先幕走行完了、ステップＳ２０９で後幕走行完了を検知する。
【０１０２】
ステップＳ２０４で、撮像素子１０３に撮像停止をカメラマイコン１０１は指示する。
【０１０３】
ステップＳ２１０では、カメラマイコン１０１は不図示のミラー駆動機構を作動させミラーダウン状態に移動させる。
【０１０４】
ステップＳ２１１で、撮像素子１０３から画像データを読み出す。
【０１０５】
ステップＳ２１２では、ステップＳ２１１で読み出した画像データを記録メディア１１５に書き込む。
【０１０６】
ステップＳ２１３で、不図示のミラー駆動機構、シャッター駆動機構を初期位置にチャージする。
【０１０７】
図４の（１）に復帰する。
【０１０８】
図９はフリッカー同期信号情報、先幕・後幕の幕走行情報、輝度情報と関連付けられて記録メディア１１５に記録された画像データをパソコンに取り込み、パソコンの画面に表示したものである。
【０１０９】
６０１は画像で、光源のフリッカーの影響を受け、輝度が上下でムラになっている。６０２は、フリッカー同期信号情報、先幕・後幕の幕走行情報、輝度情報を元に計算された画面位置毎の露出量グラフである。グラフの縦軸は画像の上下位置を表し、横軸は露出量を表す。露出量は画面内の計算結果の最大露出量を１００％、最低露出量を０％としている。
【０１１０】
図９（ａ）はフリッカーの影響がある環境で撮影された画像データを表示したものである。図９（ｂ）はフリッカーの影響がある画像を補正した後の画像データである。
【０１１１】
図１０、図１１を用いてフリッカーのある画像データをどのように補正するのかを説明する。
【０１１２】
図１０はフリッカーのある画像を読み出し補正を行う全体の作業フローである。図１１は図１０のステップＳ３０９で、フリッカーのある画像データを人の手により補正、すなわちマニュアル補正する際の作業フローである。
【０１１３】
記録メディア１１５を、フリッカー画像補正プログラムのインストールされたパソコンに取り付け、フリッカー画像補正プログラムを起動し、記録メディア１１５に記録された画像を開くと、画像データを読み出す（ステップＳ３０１）。
【０１１４】
ステップＳ３０２では、フリッカー画像補正プログラムは、記録メディア１１５に読み出した画像データに関連づけられたフリッカー同期信号情報、先幕・後幕の幕走行情報、輝度情報の有無を確認する。画像に関連付られた情報がある場合は、ステップＳ３０３に移行し、画像に関連付られた情報がない場合は、フリッカー画像補正は行わずに終了する。
【０１１５】
ステップＳ３０３では、記録メディア１１５からフリッカー同期信号情報、先幕・後幕の幕走行情報、輝度情報を読み出す。
【０１１６】
ステップＳ３０４では、フリッカー画像補正プログラムは、フリッカー同期信号情報と輝度情報から、図１（ｂ）の輝度変化カーブ５０３を算出する。
【０１１７】
ステップＳ３０５では、フリッカー画像補正プログラムが、先幕走行情報ＰＳ１、ＰＳ２、ＰＳ３を通る近似曲線を求め、それを図１（ｃ）に示す先幕走行カーブ５０４とする。後幕走行情報ＰＡ１、ＰＡ２、ＰＡ３を通る近似曲線め、それを図１（ｃ）に示す後幕走行カーブ５０５とする。
【０１１８】
ステップＳ３０６では、フリッカー画像補正プログラムが、ステップＳ３０４で求めた輝度変化カーブ５０３と、ステップＳ３０５で求めた先幕・後幕の走行カーブ５０４、５０５より、画面の上下位置に応じた露出量を算出する。画面上下位置それぞれでの露出量は、図１（ｃ）での任意の上下位置で先幕、後幕の走行タイミングを割り出す。その時の露出量は、図１（ｂ）の輝度変化カーブ５０３の先幕、後幕の走行タイミングに挟まれる範囲の累積になる。元位置での露出量は図１（ｂ）に図示した「元位置での露出量」５０６の面積となり、末位置での露出量は図１（ｂ）に図示した「末位置での露出量」５０７の面積となる。これを画面の各上下位置で求めれば、図９（ａ）の露出量カーブ６０３を算出する事が出来る。
【０１１９】
ステップＳ３０７では、フリッカー画像補正プログラムが記録メディア１１５から読み出した画像データと、ステップＳ３０６で算出された露出量カーブをグラフ化し、パソコンの画面に図９（ａ）のように表示する。
【０１２０】
ステップＳ３０８で、ユーザーの手によりフリッカー補正をマニュアルで行うか、自動で行うかを選択する。マニュアル補正が選択された場合はステップＳ３０９、自動補正が選択された場合はステップ３１１へ移行する。
【０１２１】
ステップＳ３１１では、フリッカー画像補正プログラムがステップＳ３０６で算出された露出量カーブを元に画面内でのフリッカー影響が均一に近くなるよう自動で補正を行う。補正は、画面各上下位置でのゲインを変更して行われる。
【０１２２】
ステップＳ３０９でのマニュアル補正動作については、図９、図１１を用いて説明する。
【０１２３】
図１１はフリッカー補正をマニュアルで行う際の作業フローを表したものである。
【０１２４】
ステップＳ４０１で表示されている画像と露出量カーブ６０３を確認する。
【０１２５】
ステップＳ４０２で、ユーザーが変更したい部分の露出量カーブ６０３を不図示のマウス等の操作部材により左右に移動させ、画面上下位置に該当する部分の輝度を変更する。
【０１２６】
ステップＳ４０３で、フリッカー画像補正プログラムが移動された露出量カーブ６０３‘の移動された上下位置それぞれの移動量に応じて画面上下位置毎のゲインを補正し、それに応じた画像補正を行う。
【０１２７】
ステップＳ４０４で、マニュアル補正された画像と露出量カーブ６０３‘を表示する。
【０１２８】
ステップＳ４０５でフリッカー補正が十分か判断した場合はステップＳ３１０に戻る。不十分と判断された場合は、ステップＳ４０２に戻り、再度マニュアル補正を行う。
【０１２９】
ステップＳ３１０では、フリッカー補正された画像データを記録メディア１１５に書き込む。
【０１３０】
上記実施形態をとる事で、撮影者の意図するタイミングでの撮影を可能にし、かつ、フリッカーの影響を抑えた画像を得ることを可能にする撮像装置、制御方法、プログラムを提供することができる。
【０１３１】
また、本発明は、以下の処理を実行することによっても実現される。即ち、本実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵなど）がプログラムを読み出して実行する処理である。また、撮像装置そのものが処理を行っても良い。
【０１３２】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【０１３３】
１００  カメラ本体、１０１  カメラマイコン、１０３  撮像素子、
１０５  ハーフミラー、１０８  測光センサ、１１２  ＩＣＰＵ
【図１】
2017126918.tif 000005
【図２】
2017126918.tif 000006
【図３】
2017126918.tif 000007
【図４】
2017126918.tif 000008
【図５】
2017126918.tif 000009
【図６】
2017126918.tif 000010
【図７】
2017126918.tif 000011
【図８】
2017126918.tif 000012
【図９】
2017126918.tif 000013
【図１０】
2017126918.tif 000014
【図１１】
2017126918.tif 000015