(57)【要約】【課題】例えば蛍光灯が被写界の一部にのみフリッカーの影響を与えているような場合には、フリッカーによって発生する帯状部分を精度良く抽出することが難しかった。【解決手段】上記課題を解決するために、撮像装置は、被写体光束を受光してフレーム画像信号を出力する光電変換素子と、光電変換素子が連続的に出力する複数のフレーム画像信号から、フレーム内の選択された部分領域におけるそれぞれの輝度評価値を算出し、算出された輝度評価値の変化に基づいて被写界に存在する光源のフリッカー周波数を検出する検出部とを備える。【選択図】図７
2012120132.tif 000002
【特許請求の範囲】
【請求項１】
被写体光束を受光してフレーム画像信号を出力する光電変換素子と、
前記光電変換素子が連続的に出力する複数の前記フレーム画像信号から、フレーム内の選択された部分領域におけるそれぞれの輝度評価値を算出し、算出された前記輝度評価値の変化に基づいて被写界に存在する光源のフリッカー周波数を検出する検出部と
を備える撮像装置。
【請求項２】
前記部分領域は、予め定められた評価関数により前記フレーム内において相対的に輝度値が高いと判断された領域として選択される請求項１に記載の撮像装置。
【請求項３】
前記部分領域は、前記フレーム画像信号として飽和信号を含まない請求項１または２に記載の撮像装置。
【請求項４】
撮影状況を判断する判断部を備え、
前記検出部は、前記判断部により判断した前記撮影状況により、前記部分領域に基づく前記フリッカー周波数の検出に代えて、または、前記部分領域に基づく前記フリッカー周波数の検出と共に、前記フレーム内の全体領域に対する前記輝度評価値の変化に基づいて前記フリッカー周波数の検出を行う請求項１から３のいずれか１項に記載の撮像装置。
【請求項５】
前記検出部は、前記フレーム内の全体領域に対する前記輝度評価値の変化量が予め定められた閾値よりも小さい場合に、前記部分領域に基づく前記フリッカー周波数の検出を行う請求項１から３のいずれか１項に記載の撮像装置。
【請求項６】
前記フリッカー周波数は、２値化された前記輝度評価値の周期に基づいて定める請求項１から５のいずれか１項に記載の撮像装置。
【請求項７】
前記光電変換素子は、被写体画像データを生成するための前記フレーム画像信号を出力する撮像素子である請求項１から６のいずれか１項に記載の撮像装置。
【請求項８】
前記検出部が前記フリッカー周波数を検出する場合は、前記被写体画像データとしての動画データを生成する場合に比べて、フレームレートを高速にする請求項７に記載の撮像装置。
【請求項９】
前記フレームレートを６００Ｈｚ以上とする請求項８に記載の撮像装置。
【請求項１０】
前記検出部は、前記撮像素子から出力される前記フレーム画像信号としてのＲＧＢ信号を輝度信号に変換して前記輝度評価値を算出する請求項７から９のいずれか１項に記載の撮像装置。
【請求項１１】
前記検出部は、前記撮像素子から出力される前記フレーム画像信号としてのＲＧＢ信号のうちＧ信号を輝度信号に変換して前記輝度評価値を算出する請求項７から９のいずれか１項に記載の撮像装置。
【請求項１２】
被写界に存在する光源のフリッカー周波数を検出するプログラムであって、
光電変換素子が連続的に出力する複数のフレーム画像信号から、フレーム内の選択された部分領域におけるそれぞれの輝度評価値を算出する算出ステップと、
算出された前記輝度評価値の変化に基づいて前記フリッカー周波数を検出する検出ステップと
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置およびプログラムに関する。
【背景技術】
【０００２】
連続撮影して得られた画像データのうち、最もフリッカーの影響を受けていない画像を抽出して記録する撮像装置が知られている。
［先行技術文献］
［特許文献］
［特許文献１］特開２００９−１４７８０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
例えば蛍光灯が被写界の一部にのみフリッカーの影響を与えているような場合には、フリッカーによって発生する帯状部分を精度良く抽出することが難しかった。
【課題を解決するための手段】
【０００４】
上記課題を解決するために、本発明の第１の態様における撮像装置は、被写体光束を受光してフレーム画像信号を出力する光電変換素子と、光電変換素子が連続的に出力する複数のフレーム画像信号から、フレーム内の選択された部分領域におけるそれぞれの輝度評価値を算出し、算出された輝度評価値の変化に基づいて被写界に存在する光源のフリッカー周波数を検出する検出部とを備える。
【０００５】
上記課題を解決するために、本発明の第２の態様におけるプログラムは、被写界に存在する光源のフリッカー周波数を検出するプログラムであって、光電変換素子が連続的に出力する複数のフレーム画像信号から、フレーム内の選択された部分領域におけるそれぞれの輝度評価値を算出する算出ステップと、算出された輝度評価値の変化に基づいてフリッカー周波数を検出する検出ステップとをコンピュータに実行させる。
【０００６】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００７】
【図１】通常のフレームレートで読み出した場合と、高速フレームレートで読み出した場合の、フリッカーが画像に与える影響の違いを説明図である。
【図２】本実施形態に係るカメラのシステム構成図である。
【図３】フレーム画像のブロック分割を説明する図である。
【図４】ブロック演算部の内部構成を示す図である。
【図５】フリッカーによる照度変化とフリッカー画像データの取得との関係を示す図である。
【図６】連続するフリッカー画像データに対する輝度評価値を示す図である。
【図７】図６の例における、フリッカーブロックと全ブロックの平均輝度評価値の推移を表す図である。
【図８】二値化処理とフリッカー周波数の算出を説明する図である。
【図９】フリッカー周波数算出の一連の処理を示すフロー図である。
【発明を実施するための形態】
【０００８】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００９】
図１は、通常のフレームレートで読み出した場合と、高速フレームレートで読み出した場合の、フリッカーが画像に与える影響の違いを説明図である。ここでは、照明光の点滅パターンとして、交流電源で駆動される蛍光灯の点滅により生じる点滅パターンを想定する。蛍光灯は、電源周波数の倍の周波数で点滅を繰り返す。例えば、５０Ｈｚの交流電源で駆動される蛍光灯は、１００Ｈｚで点滅を繰り返し、６０Ｈｚの交流電源で駆動される蛍光灯は、１２０Ｈｚで点滅を繰り返す。
【００１０】
図１（ａ）は、蛍光灯下で撮影された動画像の各フレーム画像に対するフリッカーの影響を示す。動画撮影モードにおいては、フレームレートとして例えば規格化された２４ｆｐｓ、２５ｆｐｓ、３０ｆｐｓ、６０ｆｐｓなどが設定されている。このような通常のフレームレートで撮像を行うと、１００Ｈｚまたは１２０Ｈｚで点滅を繰り返す蛍光灯の影響を受けて、画像に帯状の明暗が現れる。より具体的には、動画撮影時においては、撮像素子の画素ラインに対するリセット動作、光電荷の蓄積動作および読み出し動作等の駆動動作が、複数の画素ラインに対して一定の時間差で順次に行われるローリングシャッタが採用される。一方、蛍光灯の点滅周期は動画撮影のフレームレートよりも短いので、蛍光灯は、１フレームの撮影動作が完了するまでの間に、数回の点滅を繰り返す。したがって、ローリングシャッタにおける各ラインの蓄積動作時に蛍光灯が点灯しているのか消灯しているのかによって、ライン間に明暗差が生じる。そして、図示するように、連続的に出力される動画像の各フレームにおいては、フリッカーとの非同期により、フレームごとに明暗の帯の出現位置が変化する。
【００１１】
図１（ｂ）は、図１（ａ）と同様の環境下において高速フレームレートで読み出した場合の、各フレーム画像に対するフリッカーの影響を示す。ここでの高速フレームレートとは、予想される１００Ｈｚまたは１２０Ｈｚといったフリッカー周波数に対して十分に高い、例えば６００ｆｐｓ以上のフレームレートを言う。このような高速フレームレートにおいては、ローリングシャッタの駆動速度も高速になるので、隣接する画素ライン間に生じる明暗差は事実上無視し得る程度となる。したがって、１フレームの撮影動作期間における周辺環境の明るさは蛍光灯下であってもほぼ一定となり、そのフレーム画像には帯状の明暗は現れず、全体として明るいか暗いかの画像となる。すなわち、このような高速フレームレートの連続画像においては、蛍光灯の点滅による影響が、前後するフレーム間の明暗差となって現れる。図から、連続的に出力される動画像の各フレームが、蛍光灯点滅の１周期の間に、順次明→暗→明と変化する様子がわかる。
【００１２】
本実施形態におけるカメラは、高速フレームレートによりフリッカー画像データを取得して、フリッカー周波数を検出する。特に、被写界の一部のみがフリッカーの影響を受けている場合であっても、より効率的にフリッカー周波数を検出する。以下に装置の具体的な構成と、フリッカー周波数の検出処理について説明する。
【００１３】
図２は、本実施形態に係る撮像装置としてのカメラ１００のシステム構成図である。カメラ１００は光学系１０１を備える。光学系１０１は、ズームレンズ、フォーカスレンズ等により構成される。被写体光は光軸に沿って光学系１０１に入射し、撮像素子１０３の前面に配置されたフォーカルプレーンシャッタ１０２を通過して撮像素子１０３の受光面に被写体像として結像する。
【００１４】
撮像素子１０３は、被写体像である光学像を光電変換する素子であり、例えば、ＣＣＤ、ＣＭＯＳセンサが用いられる。撮像素子１０３で光電変換された被写体像は、増幅等がなされてＡ／Ｄ変換器１０４へ転送され、Ａ／Ｄ変換器１０４でデジタル信号に変換される。撮像素子１０３のリセットおよび電荷読み出し、フォーカルプレーンシャッタ１０２の駆動等の制御は、システム制御部１１２の同期制御を受けたタイミング発生部１１４が供給するクロック信号により制御される。
【００１５】
デジタル信号に変換された通常の撮影時における被写体像は、画像データとして順次処理される。Ａ／Ｄ変換器１０４によりデジタル信号に変換された画像データは、画像処理部１０８へ引き渡されて処理される。具体的には、Ａ／Ｄ変換器１０４によりデジタル信号に変換された画像データは、メモリ制御部１０６の制御により、内部メモリ１０７に一旦記憶される。内部メモリ１０７は、高速で読み書きのできるランダムアクセスメモリであり、例えばＤＲＡＭ、ＳＲＡＭなどが用いられる。内部メモリ１０７は、連写撮影、動画撮影において高速に連続して画像データが生成される場合に、画像処理の順番を待つバッファメモリとしての役割を担う。また、画像処理部１０８が行う画像処理、圧縮処理において、ワークメモリとしての役割も担う。したがって、内部メモリ１０７は、これらの役割を担うに相当する十分なメモリ容量を備える。メモリ制御部１０６は、いかなる作業にどれくらいのメモリ容量を割り当てるかを制御する。
【００１６】
画像処理部１０８は、設定されている撮影モード、ユーザからの指示に従って、画像データを規格化された画像フォーマットの画像データに変換する。例えば、カメラ１００の撮影モードの一部として静止画撮影モードおよび動画撮影モードを有しており、静止画撮影モードで静止画像としてＪＰＥＧファイルを生成する場合、画像処理部１０８は、色変換処理、ガンマ処理、ホワイトバランス補正等の画像処理を行った後に適応離散コサイン変換等を施して圧縮処理を行う。また、例えば動画撮影モードで動画像としてのＭＰＥＧファイルを生成する場合、画像処理部１０８は、生成された連続する静止画としてのフレーム画像に対して、フレーム内符号化、フレーム間符号化、量子化、エントロピー符号化等を施して圧縮処理を行う。
【００１７】
変換された画像データは再び内部メモリ１０７に保管される。画像処理部１０８によって処理された静止画像データ、動画像データは、システム制御部１１２の制御により、内部メモリ１０７から記録媒体ＩＦ１１１を介して、不揮発性メモリである記録媒体１２０に記録される。記録媒体１２０は、フラッシュメモリ等により構成される。記録媒体１２０は、カメラ１００の本体に対して着脱可能であっても良いし、カメラ１００内に内蔵されていても良い。
【００１８】
画像処理部１０８は、記録用に処理される画像データに並行して、表示用の画像データを生成する。生成された表示用の画像データは、表示制御部１０９の制御に従って、液晶パネル等で構成される表示部１１０に表示される。また、表示制御部１０９は、画像の表示と共に、もしくは画像を表示することなく、カメラ１００の各種設定に関する様々なメニュー項目を、表示部１１０に表示することができる。
【００１９】
後述するフリッカー周波数検出処理においては、システム制御部１１２は、タイミング発生部１１４が供給するクロック信号の周波数を高くして、撮像素子１０３の電荷読み出しを高速で行う。そして、Ａ／Ｄ変換器１０４でデジタル信号に変換された画像データは、順次ブロック演算部１０５へ送られる。ブロック演算部１０５は、ＲＧＢの画像信号として引き渡される画像データを輝度信号に変換し、フレーム画像の部分領域として予め定められた複数のブロックごとに輝度評価値を算出する。ブロック演算部１０５の詳細については後述する。算出された各ブロックの輝度評価値は、ブロックのアドレスと共に、内部メモリ１０７へ送られる。システム制御部１１２は、ブロックごとの輝度評価値を解析して、被写界に存在するフリッカーの有無およびフリッカーが存在する場合のフリッカー周波数を検出する。具体的な解析手法の詳細についても後述する。
【００２０】
カメラ１００は、上記の画像処理における各々の要素も含めて、システム制御部１１２により直接的または間接的に制御される。システム制御部１１２は、電気的に消去・記録可能な不揮発性メモリであるシステムメモリ１１３と通信する。システムメモリ１１３は、ＥＥＰＲＯＭ（登録商標）等により構成される。システムメモリ１１３は、カメラ１００の動作時に必要な定数、変数、プログラム等を、カメラ１００の非動作時にも失われないよう記録している。システム制御部１１２は、これらの定数、変数、プログラム等を適宜内部メモリ１０７に展開して、カメラ１００の制御に利用する。システムメモリ１１３は、システム制御部１１２が内蔵する構成であっても良い。
【００２１】
カメラ１００は、ユーザからの操作を受け付ける操作部材１１６を備えている。システム制御部１１２は、操作部材１１６が操作されたことを検知する。システム制御部１１２は、検出された操作に応じた動作を実行する。例えば、操作部材１１６としてのレリーズスイッチが操作されたことを検知したときには、システム制御部１１２は、被写体像を光電変換して画像データを生成する一連の撮影動作を実行する。また、システム制御部１１２は、フリッカー周波数の検出処理を実行または省略する指示を、操作部材１１６の操作を通じてユーザから受け付けることができる。
【００２２】
光学系１０１は、レンズ制御部１１５によって制御される。レンズ制御部１１５は、例えば、ユーザの指示に応じてズームレンズを駆動し、被写体像の画角を変更する。また、レンズ制御部１１５は、ＡＦ情報に基づいてフォーカスレンズを駆動し、被写体像を撮像素子１０３の受光面上で合焦させる。レンズ制御部１１５は、操作部材１１６等を通じてユーザによって指定された被写体に対して、オートフォーカスの制御を実行してよい。また、レンズ制御部１１５は、算出された露出値に従って、光学系１０１が備える絞りを制御する。
【００２３】
図３は、フリッカー周波数の検出処理における、フレーム画像のブロック分割を説明する図である。フリッカー周波数の検出処理において高速で連続的に撮影される各フレーム画像は、横方向にｈ画素、縦方向にｖラインから成る。この画像サイズは、高速処理に対応すべく、通常の静止画撮影、動画撮影に比べて小さく設定されている。具体的には、タイミング発生部１１４の制御により、撮像素子１０３からの読み出し画素を間引いて縮小化される。
【００２４】
このフレーム画像に対し、横方向をｍブロックに、縦方向をｎブロックに分割する。すなわち、フレーム画像に対する部分領域として、ｍ×ｎ個のブロックを定める。各ブロックは、横方向にｈ／ｍ画素、縦方向にｖ／ｎラインの矩形領域を形成する。そして、左から横方向にｉ番目、上から縦方向にｊ番目のブロックに対し、アドレスＹ（ｉ，ｊ）を付与する。なお、ｍ、ｎ、ｈ、ｖ、ｉ、ｊは自然数であるが、ｈ／ｍ、ｖ／ｎが自然数とならない場合は、周辺領域等で端数分を処理すれば良い。
【００２５】
本実施形態においては、この予め定められたｍ×ｎ個のブロックごとに輝度評価値を算出する。ブロックごとの輝度評価値の算出は、ブロック演算部１０５により実行される。
【００２６】
図４は、ブロック演算部１０５の内部構成を示す図である。ブロック演算部１０５は、Ａ／Ｄ変換器１０４によりデジタル信号化されたＲＧＢ画像信号を、順次、輝度／色差変換器４０１で受け取り、ラインメモリ４０２へ格納する。輝度／色差変換器４０１は、各画素近傍のベイヤー配列による４画素（Ｒ、Ｇｒ、Ｇｂ、Ｂ）の値を用いて、輝度と色差（Ｙ、Ｃｂ、Ｃｒ）の値に変換する。ラインメモリ４０２は、１ライン分の画素値を記憶でき、変換に用いられるベイヤー配列の４画素の値を、順次、輝度／色差変換器４０１へ供給する。
【００２７】
なお、以降の処理では輝度信号から輝度評価値を算出し、色差信号は利用しない。したがって、人間の視感度特性を考慮して、ＲＧＢ画像信号のうちＧ画像信号のみを用いて輝度信号に変換しても良い。Ｇ画像信号のみを用いることとすれば、Ｒ画素、Ｂ画素を間引いて読み出すことができるので、間引き読み出しの高速化、演算処理の簡易化にも寄与する。
【００２８】
以降の処理では輝度信号のみを使用するので、輝度／色差変換器４０１は、変換した輝度信号を、順番にデマルチプレクサ４０３へ出力する。デマルチプレクサ４０３は、一つの入力に対して、少なくともｍ段の出力を備える。ｍ段の出力には、それぞれ積算器４０４が接続されている。すなわち、フレーム画像の横ブロック数であるｍに対応して、デマルチプレクサ４０３と積算器４０４が構成されている。
【００２９】
デマルチプレクサ４０３は、コントローラ４０５により、入力された輝度信号をいずれの段に出力するか制御される。そして、出力される段に接続された積算器４０４が、コントローラ４０５により選択され、デマルチプレクサ４０３から送信されてくる輝度信号を積算する。
【００３０】
さらに具体的に説明する。コントローラ４０５は、デマルチプレクサ４０３がｈ／ｍ画素分の輝度信号を一つの積算器４０４へ出力するごとに、次の積算器４０４へその接続を切り替える。これをｖ／ｎライン分繰り返すと、積算器４０４のそれぞれは、上から順にＹ（１，ｊ）、Ｙ（２，ｊ）、Ｙ（３，ｊ）…Ｙ（ｍ，ｊ）の各ブロックに含まれるすべての画素における輝度信号の総和を積算結果として得る。コントローラ４０５は、ｖ／ｎライン分の繰り返し処理が完了したら、それぞれの積算器４０４の積算結果を、Ｙ（ｉ，ｊ）のブロックアドレスと共に、内部メモリ１０７へ出力する。そして、コントローラ４０５は、積算器４０４のそれぞれをリセットすると共に、デマルチプレクサ４０３の接続を一段目へ戻す。この処理を、ｊ＝１からｊ＝ｎまで順に実行すれば、すべてのブロックについて輝度信号の総和を算出することができる。なお、各ブロックにおける輝度評価値として輝度信号の総和をそのまま利用することもできるが、例えば光学系１０１の周辺光量落ち等のさまざまなパラメータを考慮して、算出された総和を補正して輝度評価値としても良い。
【００３１】
フリッカー周波数の検出処理においては、高速で撮影されるフレーム画像が連続的に入力される。したがって、上記の輝度評価値の算出処理は、入力されるフレーム画像に対して次々と実行される。そこで、内部メモリには、入力されるフレーム画像の順に与えられるフレーム画像ナンバーの下に、Ｙ（ｉ，ｊ）のブロックアドレスとその輝度評価値が記憶される。
【００３２】
図５は、フリッカーによる照度変化とフリッカー画像データの取得との関係を示す図である。上述のように、フリッカー周波数の検出処理においては、高速のフレームレートで画像データを取得する。商用の交流電源は、主に５０Ｈｚと６０Ｈｚであり、これにより駆動される照明器具が１００Ｈｚまたは１２０Ｈｚで点滅することを考慮すると、輝度評価値に基づく波形解析を行うのに十分なサンプリング数を得るには、６００ｆｐｓ以上のフレームレートが望ましい。そこで、図５では、１００Ｈｚのフリッカーによる周辺環境の照度変化と、６００ｆｐｓによるフリッカー画像データの取得の関係を示す。なお、フリッカー周波数の検出処理において連続的に取得するフレーム画像データを、フリッカー画像データとする。
【００３３】
曲線５０１は、横軸の経過時間に対する、縦軸の周辺環境の照度を示す。例えば照明器具としての蛍光灯が消えているｔ＝０，１０，２０…ｍｓｅｃにおいて、周辺照度は最小値となる。
【００３４】
一方、ｔ＝ｔ０の時点で、フォーカルプレーンシャッタ１０２を開放状態にしてフリッカー画像データを取り込む準備が完了すると、１０００／６００（≒１．６７）ｍｓｅｃごとに露光動作を繰り返す。撮像素子１０３に対する露光時間は、斜線部５０２で示すように、読み出し処理等の影響により、１．６７ｍｓｅｃよりは若干短い時間となる。この露光時間における照度の変化は僅かであり、図１（ｂ）を用いて説明したように、取得されるフリッカー画像データのうちフリッカーの影響を受けるブロック内においては、ほぼ均一の輝度を示すことになる。
【００３５】
フリッカー画像データは、ｔ＝ｔ０からｔ＝ｔ１の間において、取得が継続される。この期間に、輝度評価値に基づく波形解析を行うのに十分であるフレーム数として、想定されるフリッカーの３波長分程度のフレーム数である２０フレーム程度のフリッカー画像データが取得される。
【００３６】
上述のように、フリッカーの影響は、必ずしもフレーム全体に及ぶわけではない。例えば、被写界の周辺部に位置する遠方に蛍光灯が存在する場合、フリッカーによる影響は、その周辺部分に限定される。そのような場合にまでフレーム全体のブロックの輝度評価値を用いてフリッカー周波数を検出しようとすると、輝度変化が埋もれてしまい、正確な検出が行えない。特に、フリッカーの影響が一部の領域にのみ現れるようなシーンにおいては薄暗い撮影環境が予想され、フリッカーの影響を受けない領域の輝度値は低いと考えられる。輝度値が低い領域においてはＳ／Ｎ比が悪く、このような領域までフリッカー検出の対象としてしまうと、ノイズの影響を受ける可能性が大きくなる。そこで、本実施形態においては、フリッカーの影響下にある部分領域をフリッカーブロックとして抽出し、このフリッカーブロックにおける輝度評価値の経時変化からフリッカー周波数を検出する。
【００３７】
図６は、連続するフリッカー画像データに対する輝度評価値を示す図である。各ブロックにおける輝度評価値は、それぞれのブロックの輝度信号の総和に基づいて変換される１から１０の値が与えられ、１が最も暗く、１０が最も明るい。また、ここではフリッカー画像データとして、最初の６フレームを示している。また、ここではそれぞれのフレーム画像を５×４の２０ブロックに分割する例により説明する。
【００３８】
まず１番目の画像データに着目すると、全ブロックの輝度評価値の平均値が１．９５であるのに対し、太枠で囲まれたＹ（１，２）とＹ（２，２）の評価値がそれぞれ４と６であるように、比較的大きな値である。同様に２番目以降の画像データを見ても、全ブロックの輝度評価値の平均値が２前後で推移しているのに対し、太枠で囲まれたＹ（１，２）とＹ（２，２）の評価値がやはり大きな値を示している。ただし、Ｙ（１，２）とＹ（２，２）の平均評価値の推移を見ると、５→７→９→…というように揺らぎがあることがわかる。そこでこの太枠で示されるＹ（１，２）とＹ（２，２）のブロックをフリッカーブロックとして抽出する。
【００３９】
図７は、図６の例における、フリッカーブロックと全ブロックの平均輝度評価値の推移を表す図である。横軸はフレーム画像ナンバーを表し、縦軸は輝度評価値を表す。
【００４０】
図示するように、四角点でプロットする各フレーム画像におけるフリッカーブロックの平均輝度評価値の波形が大きなうねりを示すのに対して、丸点でプロットする各フレーム画像における全ブロックの平均輝度評価値の波形は変化に乏しい。このそれぞれの波形の様子からも、フリッカーブロックに対する波形を解析するほうが、精度良くフリッカー周波数を検出できることがわかる。
【００４１】
なお、それぞれの点線は、対象とする全てのフリッカー画像データに対して算出した、フリッカーブロックにおける平均輝度評価値と、全ブロックにおける平均輝度評価値を表す。この関係からも類推できるように、フリッカーブロックの自動的な抽出は、例えば、全ブロックにおける平均値よりも一定の値（例えば２）以上の評価値を継続的に示すブロックを選択することによって実現できる。すなわち、予め定められた評価関数により、他のブロックより相対的に輝度値が高いと判断されたブロックをフリッカーブロックとする。
【００４２】
他にも、着目するブロックの最大値と最小値の差が予め定められた閾値（例えば３）以上を示す場合に、そのブロックをフリッカーブロックと定めることもできる。また、あるフレーム画像の各ブロックにおける輝度評価値のヒストグラムを生成したときに、高い輝度側に孤立するブロックが存在すれば、そのブロックをフリッカーブロックと定めることもできる。
【００４３】
ただし、フリッカーブロックの抽出においては、候補とする対象ブロックに飽和信号を含まないことを条件とすることが望ましい。すなわち、撮像素子１０３のダイナミックレンジを超える強い光が入射してフレーム画像信号に飽和信号を含む場合は、輝度評価値の変化が、例えば蛍光灯の点滅に伴う照度変化に一致せず、正確なフリッカー周波数を検出できない場合がある。したがって、システム制御部１１２は、特定のブロックに飽和信号を発見した場合は、そのブロックをフリッカーブロックの対象から除外する処理を実行しても良い。
【００４４】
次に、フリッカーブロックの平均輝度評価値の波形から、フリッカー周波数を検出する波形解析について説明する。図８は、二値化処理とフリッカー周波数の算出を説明する図である。図８（ａ）はフリッカー周波数が１００Ｈｚの場合の例を示し、図８（ｂ）はフリッカー周波数が１２０Ｈｚの場合の例を示す。
【００４５】
図７のフリッカーブロックにおける輝度評価値のプロットを正規化して直線で結ぶと、図８（ａ）の四角点でプロットする波形となる。更にこの正規化された各プロット値を、閾値よりも大きいか否かにより１と０に振り分けると、菱点でプロットされる二値化後の波形が得られる。
【００４６】
二値化前の波形においても種々の波形解析により周波数は算出できるが、プロットのスタート時点がフリッカーの過渡期である場合など、高度な波形解析を要し、算出に時間が掛かる場合がある。したがって、二値化処理を行った後に波形解析を実行する方が単純な計算で済み、いち早く結果を得ることができる。例えば、図８（ａ）においては、０から１へ立ち上がる３．３ｍｓｅｃと１３．３ｍｓｅｃの時間差１０ｍｓｅｃが１周期とわかるので、１００Ｈｚのフリッカー周波数が算出できる。同様に、図８（ｂ）においては、０から１へ立ち上がる３．３ｍｓｅｃと１１．７ｍｓｅｃの時間差８．４ｍｓｅｃが１周期とわかるので、１２０Ｈｚのフリッカー周波数が算出できる。なお、閾値は、全てのプロット値の平均値などを採用し得る。
【００４７】
図９は、フリッカー周波数算出の一連の処理を示すフロー図である。一連のフローは、フリッカー周波数の算出処理が設定されている場合に実行され、例えば、レリーズスイッチによる撮影準備指示を受けて開始される。フリッカー周波数の算出処理の設定は、ユーザによる指示を受けても良いし、システム制御部１１２がシーンを判別して行っても良い。
【００４８】
算出処理が開始されると、システム制御部１１２は、ステップＳ１０１で、タイミング発生部１１４を制御して、高速フレームレートによる間引き読み出しを開始する。そして、Ａ／Ｄ変換器１０４によりデジタル化したＲＧＢ画像信号を、逐次ブロック演算部１０５へ入力する。システム制御部１１２は、ブロック演算部１０５を用いて算出した輝度評価値を、メモリ制御部１０６の制御に従って内部メモリ１０７に記憶する。
【００４９】
システム制御部１１２は、ステップＳ１０２へ進み、図６および図７を用いて説明したように、フリッカーブロックを抽出する。フリッカーブロックが抽出されたら（ステップＳ１０３のＹＥＳ）、ステップＳ１０４へ進み、システム制御部１１２は、フリッカーブロックの輝度評価値の変化からフリッカー周波数を算出する。フリッカー周波数の算出は、例えば図８を用いて説明した二値化処理により行う。
【００５０】
一方、フリッカーブロックが抽出されなかったら（ステップＳ１０３のＮＯ）、ステップＳ１０５へ進み、システム制御部１１２は、全ブロックの輝度評価値の変化からフリッカー周波数を算出する。フリッカーブロックが抽出されず、シーンにフリッカーが存在する場合には、全ブロックの輝度評価値が大きな変化を示すので、この変化からフリッカー周波数を算出する。
【００５１】
ステップＳ１０４またはステップＳ１０５でフリッカー周波数が算出されたら、この算出結果を利用して測光、露光のタイミングを調整しつつ撮影シーケンスを実行する（ステップＳ１０６）。以上により一連の処理を終了する。
【００５２】
なお、上記のフローにおいてシステム制御部１１２は、ステップＳ１０２で、まずフリッカーブロックの抽出を行ったが、これに先立って、全ブロックの平均輝度評価値の変化を検証し、この変化によりフリッカー周波数を検出する試行を行っても良い。すなわち、上述のように、フリッカーの影響は、被写界の一部にのみ及ぶ場合もあれば、全体に及ぶ場合もある。フレーム全体の明暗変化によりフリッカー周波数が検出できるのであれば、フリッカーブロックを抽出する処理を省くことができる。
【００５３】
そこで、まず全ブロックの平均輝度評価値の変化を検出する。このとき、図７における全ブロックの波形のように、変化に乏しい場合は全ブロックによるフリッカー周波数の検出を断念し、フリッカーブロックの抽出を実行する。なお、変化に乏しいか否かは、例えば平均輝度評価値の最大値と最小値の差である変化量が、予め定められた閾値よりも小さいか否かにより判断できる。全ブロックによるフリッカー周波数の検出に成功した場合は、ステップＳ１０２以降のステップを省略してステップＳ１０６へ進む。
【００５４】
また、全ブロックの平均輝度評価値の変化によりフリッカー周波数を検出するか、特定のブロックであるフリッカーブロックを検出してその平均輝度評価値の変化によりフリッカー周波数を検出するかは、撮影状況によって選択しても良い。この場合、カメラ１００は撮影状況を判断する判断部を備えることになるが、判断部はシステム制御部１１２とさまざまなセンサ等の組み合わせなどにより実現できる。
【００５５】
例えば、手振れ補正制御を実現するためにジャイロセンサを搭載している場合は、ジャイロセンサの出力をシステム制御部１１２が解析して、現在の撮影状況として、カメラ１００が揺れているか否かを判断する。カメラ１００が揺れている場合は、被写界の特定領域とフレーム画像のブロックの対応関係がフレームごとにずれてしまうので、フリッカーブロックによるフリッカー周波数の検出は適さない。
【００５６】
撮影状況によっては、全ブロックによる検出およびフリッカーブロックによる検出の両方を試行しても良い。特に、いずれの平均輝度評価値の変化も乏しいような場合には、検出されたフリッカー周波数の確からしさを検証する場合に有効である。
【００５７】
以上説明した本実施形態においては、撮像素子１０３を用いてフリッカー画像データを取得した。すなわち、通常の動画撮影を行う場合と、フリッカー画像データを取得する場合で、タイミング発生部１１４の駆動を変更することにより共用を実現した。しかし、動画撮影および静止画撮影を行う撮像素子とは別の光電変換素子を、フリッカー画像データを取得するセンサとして利用しても良い。
【００５８】
例えば、測光センサは、被写界に対して部分領域ごとに輝度を検出できる。したがって、測光センサの出力を例えば６００Ｈｚ以上の速度で取得できれば、上述の手法をそのまま適用することができる。撮像素子と独立したセンサによりフリッカー周波数を検出できれば、例えば動画撮影中において、撮影中断などの影響を受けることなく、新たに検出されたフリッカーに動的に対処することができる。
【００５９】
また、本実施形態におけるカメラ１００は、フォーカルプレーンシャッタ１０２を備えるものとして説明した。動画撮影およびフリッカー画像データ取得時においては、フォーカルプレーンシャッタ１０２は開放状態を保つ。一方、静止画撮影時においては、フォーカルプレーンシャッタ１０２の先幕と後幕がスリットを形成して撮像素子１０３に被写体光束を導く。この場合も、上述したローリングシャッタの場合と同様に、撮影画像中に帯状の明暗を生じるので、フリッカー周波数の検出は重要である。なお、フォーカルプレーンシャッタ１０２が一枚構成であり、撮像素子１０３のライン方向のリセット動作に連動させる場合も同様である。
【００６０】
したがって、本実施形態におけるフリッカー検出処理は、様々な撮像装置に適用できる。静止画撮影を主とする一眼レフカメラであっても、動画撮影を主とするビデオカメラであっても良い。また、光学ファインダーを備えないミラーレスカメラにも有効である。さらには、撮像ユニットを備える携帯機器であっても適用できる。
【００６１】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００６２】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００６３】
１００  カメラ、１０１  光学系、１０２  フォーカルプレーンシャッタ、１０３  撮像素子、１０４  Ａ／Ｄ変換器、１０５  ブロック演算部、１０６  メモリ制御部、１０７  内部メモリ、１０８  画像処理部、１０９  表示制御部、１１０  表示部、１１１  記録媒体ＩＦ、１１２  システム制御部、１１３  システムメモリ、１１４  タイミング発生部、１１５  レンズ制御部、１１６  操作部材、１２０  記録媒体、４０１  輝度／色差変換器、４０２  ラインメモリ、４０３  デマルチプレクサ、４０４  積算器、４０５  コントローラ、５０１  曲線、５０２  斜線部
【図１】
2012120132.tif 000003
【図２】
2012120132.tif 000004
【図３】
2012120132.tif 000005
【図４】
2012120132.tif 000006
【図５】
2012120132.tif 000007
【図６】
2012120132.tif 000008
【図７】
2012120132.tif 000009
【図８】
2012120132.tif 000010
【図９】
2012120132.tif 000011