測光装置、撮像装置、およびフリッカの検出方法
【課題】 測光の時間間隔がフリッカ周期よりも長い場合でも、フリッカの有無を適切に判定すること。
【解決手段】 複数回の測光を行う測光部と、基準時間から複数回の測光のそれぞれが行われるまでの経過時間を、特定の周期における位相に変換する変換部と、位相に対する測光の出力値の関係と、特定の周期との相関を検出する検出部と、検出部により検出した相関が所定の基準よりも高い場合に、特定の周期のフリッカが、測光部による測光出力に含まれると判定する判定部とを備える。
【解決手段】 複数回の測光を行う測光部と、基準時間から複数回の測光のそれぞれが行われるまでの経過時間を、特定の周期における位相に変換する変換部と、位相に対する測光の出力値の関係と、特定の周期との相関を検出する検出部と、検出部により検出した相関が所定の基準よりも高い場合に、特定の周期のフリッカが、測光部による測光出力に含まれると判定する判定部とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、測光装置、撮像装置、およびフリッカの検出方法に関する。
【背景技術】
【0002】
従来より、電源に起因して映像に発生するフリッカを検出する様々な技術が提案されている。例えば、特許文献1の発明では、複数フレームにおいて同一の画素位置における画素の値を積算し、平均値で除算してから周波数解析を行うことにより、フリッカの有無を判定している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第3539901号
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1の発明では、フリッカ検出のための測光(撮像)を所定の時間間隔で行うことが前提となる。しかし、装置やカメラの構成や作動状態によっては、所定の時間間隔で測光を行うことができない場合がある。特に、電子カメラなどの撮像装置においては、撮像により得られた測光出力を、適正露出演算、光源判別演算、顔検出演算など様々な用途に利用するので、上述した測光を所定の時間間隔で行うことができないだけでなく、測光の時間間隔が、検出対象のフリッカ周波数よりも長くなってしまう場合がある。例えば、検出対象のフリッカ周期が100Hzである場合には、基本的には100Hzの周波数の時間周期である10msよりも短い時間間隔で測光を行うことが必要である。そのため、上述したように、測光の時間間隔が、検出対象のフリッカ周波数よりも長くなってしまう場合には、フリッカの検出を正しく行うことができない。
【0005】
本発明は、上記問題に鑑みてなされたものであり、測光の時間間隔がフリッカ周期よりも長い場合でも、フリッカの有無を適切に判定することを目的とする。
【課題を解決するための手段】
【0006】
本発明の測光装置は、複数回の測光を行う測光部と、基準時間から前記複数回の測光のそれぞれが行われるまでの経過時間を、特定の周期における位相に変換する変換部と、前記位相に対する前記測光の出力値の関係と、前記特定の周期との相関を検出する検出部と、前記検出部により検出した相関が所定の基準よりも高い場合に、前記特定の周期のフリッカが、前記測光部による測光出力に含まれると判定する判定部とを備える。
【0007】
なお、前記変換部は、前記経過時間を前記特定の周期に相当する時間で除した際の余りに基づいて、前記特定の周期における位相に変換しても良い。
【0008】
また、前記測光部は、測光対象である領域を複数の領域に分割して測光し、前記検出部は、前記測光部による出力に基づいて、前記測光対象から高輝度領域を抽出し、抽出した前記高輝度領域に対応する前記出力値を用いて前記相関を検出しても良い。
【0009】
また、前記測光部による測光結果に基づいて、前記測光対象に含まれる特定部分を追尾する追尾部を備え、前記検出部は、前記特定部分に対応する前記出力値を用いて前記相関を検出しても良い。
【0010】
本発明の撮像装置は、上述した何れかの測光装置と、前記測光装置による測光結果に基づいて露出演算を行う演算部と、前記演算部による演算結果に基づいて被写体像を撮像する撮像部とを備えた撮像装置であって、前記検出部は、前記演算部による演算の対象となる前記測光結果を用いて前記相関を検出することを特徴とする。
【0011】
本発明の検出方法は、複数回の測光を行う測光部を備えた測光装置においてフリッカを検出する検出方法であって、基準時間から前記複数回の測光のそれぞれが行われるまでの経過時間を、特定の周期における位相に変換する変換ステップと、前記位相に対する前記測光の出力値の関係と、前記特定の周期との相関を検出する検出ステップと、前記検出ステップにおいて検出した相関が所定の基準よりも高い場合に、前記特定の周期のフリッカが、前記測光部による測光出力に含まれると判定する判定ステップとを備える。
【発明の効果】
【0012】
本発明によれば、測光の時間間隔がフリッカ周期よりも長い場合でも、フリッカの有無を適切に判定することができる。
【図面の簡単な説明】
【0013】
【図1】電子カメラ1の構成を示す図である。
【図2】電子カメラ1の機能ブロック図である。
【図3】測光センサ12について説明する図である。
【図4】測光センサ12について説明する別の図である。
【図5】電子カメラ1の撮影時の動作を示すフローチャートである。
【図6】測光の詳細について説明する図である。
【図7】電子カメラ1の撮影時の動作を示すフローチャート(続き)である。
【図8】被写体追尾について説明する図である。
【図9】フリッカの検出について説明する図である。
【図10】フリッカの検出について説明する別の図である。
【図11】フリッカの検出について説明する別の図である。
【図12】フリッカの検出について説明する別の図である。
【図13】フリッカの検出について説明する別の図である。
【発明を実施するための形態】
【0014】
以下、図面を用いて本発明の実施形態について説明する。本発明のカメラの一例として、一眼レフタイプの電子カメラを用いて説明を行う。
【0015】
図1は、本実施形態の電子カメラ1の構成を示す図である。図1に示すように、電子カメラ1は、撮影レンズ2、絞り3、クイックリターンミラー4、サブミラー5、拡散スクリーン6、コンデンサレンズ7、ペンタプリズム8、ビームスプリッタ9、接眼レンズ10、結像レンズ11、測光センサ12、シャッタ13、撮像センサ14、焦点検出部15の各部を備える。
【0016】
非撮影時、すなわち撮影を行わない場合には、クイックリターンミラー4は、図1に示すように、45°の角度に配置される。そして、撮影レンズ2および絞り3を通過した光束は、クイックリターンミラー4で反射され、拡散スクリーン6、コンデンサレンズ7、ペンタプリズム8、ビームスプリッタ9を介して接眼レンズ10に導かれる。撮影者は、撮影レンズ10を介して被写体の像を目視することにより構図確認を行う。一方、ビームスプリッタ9により、上方に分割された光束は、結像レンズ11を介して測光センサ12の撮像面上に再結像される。また、クイックリターンミラー4を透過した光束は、サブミラー5を介して焦点検出部15に導かれる。
【0017】
一方、撮影時には、クイックリターンミラー4が、破線で示す位置に退避してシャッタ13が開放し、撮影レンズ2からの光束は撮像センサ14に導かれる。
【0018】
図2は、本実施形態の電子カメラ1の機能ブロック図である。測光センサ12は、被写体状況を解析するためのセンサであり、図3に示すように、例えば、360×240画素程度の分割数を有しているCCD(Charge Coupled Device)などのセンサである。測光センサ12は、例えば、G画素がR画素およびB画素の2倍の画素数を有するいわゆるベイヤー配列のセンサである。
【0019】
測光センサ12からの出力は、不図示のアナログゲイン回路やA/D変換回路を経てブロック処理部20へ入力され、ブロック処理が施される。ブロック処理は、図4に示すように、測光センサ12の出力を、それぞれの画素についてRGB3色の情報を持つ画像データヘ変換(図4A参照)した後に、36×24の領域にブロック化する(図4B参照)処理である。なお、ブロック化処理は、R,G,Bの出力をそれぞれブロック化せずに、所定の重み付けで加重平均し、被写体の色に依存しない人間が感じる明るさに対応した値(輝度値)としても良い。また、ブロック化処理は、ハード的に加算処理を行うことにより実現しても良いし、その他の手法で実現しても良い。また、上述した36×24の領域へのブロック化は一例であり、本発明はこの例に限定されない。
【0020】
ブロック処理部20の出力は、測光用メモリ21に格納され、輝度算出部22において、被写体輝度に比例した数値に置き換えられる。輝度算出部22による算出結果は、露出演算部24を介して露出制御部25に入力されるとともに、位相抽出部26および領域抽出部27にも入力される。
【0021】
位相抽出部26は、測光センサ12を駆動する測光センサドライバ23から、測光時間間隔情報を取得し、取得した測光時間間隔情報を用いて、測光センサ12の出力に基づくデータから、所定のフリッカ周波数に対する位相を抽出する。そして、位相抽出部26は、抽出結果を位相フィッティング部28に出力する。
【0022】
位相フィッティング部28は、位相抽出部26による抽出結果を用いて、リファレンスとなる所定の周波数のフリッカの位相と、測光センサ12の出力に基づく位相とに対するフィッティング処理を行って相関を求める。そして、位相フィッティング部28は、求めた相関を示す情報をフリッカ判定部29に出力する。
【0023】
フリッカ判定部29は、位相フィッティング部28により求めた相関を用いて、測光センサ12の出力にフリッカ成分が含まれるか否かを判定する。そして、フリッカ判定部29は、判定結果を撮像センサドライバ30および光源判定部31に出力する。
【0024】
光源判定部31は、フリッカ判定部29による判定結果を用いて、光源判定を行う。そして、光源判定部31は、判定結果をホワイトバランス(以下、「WB」と称する)演算部32に出力する。
【0025】
WB演算部32は、光源判定部31による判定結果を用いて、WB演算を行う。そして、WB演算部32は、演算結果を画像処理部33に出力する。
【0026】
画像処理部33には、撮像センサドライバ30により制御された撮像センサ14によって生成され、撮像用メモリ34に格納された画像データが入力される。画像処理部33は、画像データに対して、WB演算部32による演算結果に基づく画像処理を施し、表示部35および記録部36に出力する。
【0027】
輝度算出部22による算出結果は、上述したように、領域抽出部27にも入力される。領域抽出部27は、測光センサ12の出力に基づくデータから、所定の領域を抽出する。
【0028】
そして、領域追尾部37は、領域抽出部27による抽出結果を用いて、被写体の所定の領域を追尾する。
【0029】
以上説明した構成のうち、位相抽出部26、領域抽出部27、位相フィッティング部28、フリッカ判定部29、領域追尾部37の詳細は後述する。それ以外の各構成については、公知技術と同様であるため説明を省略する。
【0030】
以上説明した構成の電子カメラ1の撮影時の動作について、図5に示すフローチャートを用いて説明する。
【0031】
ステップS1において、電子カメラ1は、フリッカ検出を行う。フリッカ検出の詳細は後述する。なお、フリッカ検出は、予め指定された周期のフリッカのみに対して行われる。検出の対象となるフリッカの周期は、例えば、100Hzおよび120Hzである。これは、一般的な電源周波数(50Hzおよび60Hz)に基づき予測されるフリッカの周波数である。電源周波数は一般的に50Hzまたは60Hzの何れかである。したがって、100Hzおよび120Hzに限定してフリッカを検出すれば、略すべてのフリッカを検出することが可能である。100Hzおよび120Hzの両方を予め検出対象として指定しても良いし、100Hzまたは120Hzの何れかを予め検出対象として指定しても良い。検出対象とするフリッカの周期は、電子カメラ1において予め指定されていても良いし、ユーザにより指定可能としても良い。以下では、周期が100Hzのフリッカが予め検出対象として指定されているものとして説明を行う。
【0032】
ステップS2において、電子カメラ1は、光源判別を行う。光源判別部31は、ステップS1で行われたフリッカ検出の結果に基づいて、光源の判別を行う。
【0033】
ステップS3において、電子カメラ1は、露出演算を行う。露出演算部24は、測光センサ12の出力に基づいて、公知技術と同様に露出演算を行い、演算結果を露出制御部25に出力する。
【0034】
ステップS4において、電子カメラ1は、ライブビューがONされているか否かを判定する。ライブビューは、構図確認用のスルー画像を継続的に撮像して表示部35に表示する機能である。ライブビューの機能のONおよびOFFは、不図示の操作部を介したユーザ操作により行われる。電子カメラ1は、ライブビューがONされていると判定すると、後述するステップS7に進み、ライブビューがONされていない(OFFされている)と判定すると、ステップS5に進む。
【0035】
ステップS5において、電子カメラ1は、不図示のレリーズボタンが全押しされたか否かを判定する。電子カメラ1は、レリーズボタンが全押しされたと判定するとステップS6に進み、レリーズボタンが全押しされていないと判定すると、ステップS1に戻る。
【0036】
ステップS6において、電子カメラ1は、撮影を行う。撮像センサドライバ30は、ステップS3で行った露出演算の結果、フリッカ判定部29による判定結果に基づいて撮像センサ14を駆動し、被写体像を撮像する。撮影により得られた画像データは、撮像用メモリ34に一時記録される。
【0037】
一方、ステップS4においてライブビューがONされていると判定すると、ステップS7において、電子カメラ1は、ライブビュー動作を行う。なお、ライブビュー動作時に、ステップS1で行われたフリッカ検出の結果に基づいて、フリッカ除去処理を行っても良い。
【0038】
ステップS8において、電子カメラ1は、不図示のレリーズボタンが全押しされるまでライブビュー動作を継続し、レリーズボタンが全押しされたと判定するとステップS9に進む。
【0039】
ステップS9において、電子カメラ1は、ステップS6と同様に撮影を行う。
【0040】
ステップS10において、電子カメラ1は、ステップS6またはステップS9で行った撮影結果に基づいて、WB演算を行う。WB演算部32は、撮影結果と、ステップS2で行った光源判別の結果とに基づいて、WB演算を行い、演算結果を画像処理部33に出力する。
【0041】
ステップS11において、電子カメラ1は、ステップS6またはステップS9で行った撮影により得られた画像データに対して画像処理を行う。画像処理部33は、撮像用メモリ34に一時記録された画像データに対して、ステップS10で行ったWB演算の結果に基づくホワイトバランス調整を含む画像処理を施す。
【0042】
ステップS12において、電子カメラ1は、ステップS11で画像処理を施した画像データを記録部36に記録する。
【0043】
ステップS13において、電子カメラ1は、電子カメラ1内の不図示のタイマーがUPしたか否かを判定する。電子カメラ1は、タイマーがUPしたと判定すると一連の処理を終了し、タイマーがUPしていないと判定すると、ステップS1に戻る。
【0044】
次に、ステップS1で説明したフリッカ検出の詳細について、図6から図13を参照して説明する。
【0045】
フリッカ検出は、測光センサ12による測光と同時に行われる。はじめに、図6を用いて、測光の詳細について説明する。
【0046】
図6に示すように、測光は、蓄積、読み出し、演算の3つのステップから成る。蓄積のステップにおいて、測光センサドライバ23は、被写体の明るさに応じて蓄積時間を調整し、最適な時間で蓄積を行う。この最適な蓄積時問は、前回の測光出力値と蓄積時間とから求められるが、最初の蓄積時は前回の測光出力がないので、所定の時間にて行われる。蓄積時間は、被写体の明るさに応じて、例えば、約10μs〜100ms程度まで変化する。
【0047】
なお、上述したように蓄積時間を決定するため、蓄積時間は毎回変化する。そのため、実際の測光間隔も不均一になる。測光においては、テレビやビデオ信号と違い、一定の同期周波数というものがない。また、測光をできるだけ速く繰り返すことにより被写体の輝度変化に対応することが求められるため、前の測光が終了すると、直ちに次の測光の準備に入る。そのため、蓄積時間が短い場合には測光間隔は短くなり、逆に蓄積時問が長くなると測光間隔は長くなる。
【0048】
読み出しのステップにおいて、測光センサドライバ23は、蓄積終了した測光データを、測光センサ12から吐き出す。測光センサ12の構造にもよるが、この処理には、高速のものでも約5ms程度の時間を要する。
【0049】
演算のステップにおいて、輝度算出部22は輝度値の算出を行い、露出算出部24は、露出演算を行い、位相抽出部26、位相フィッティング部28、フリッカ判定部29は、フリッカの判定を行う。これらの処理は、演算方法や処理能力にもよるが、おおよそ20ms〜30ms程度の時間を要する。
【0050】
つまり、測光間隔は、各処理に要する時間を加算することにより約25ms〜135ms程度となる。しかし、電子カメラ1においては、測光と同時に、情報の設定、撮影制御、オートフォーカスなど他の機能も行われているので、それらの演算処理を含むと、測光間隔は速くても50ms程度になる。したがって、測光を所定の時間間隔で行うことができないだけでなく、測光の時間間隔が、検出対象のフリッカ周波数よりも長くなってしまう場合がある。そのため、フリッカの検出を好適に行うことができない。
【0051】
以下、本実施形態におけるフリッカの検出について説明する。以下では、図6に示すように、測光回数のカウント開始後、1回目の蓄積開始から2回目の蓄積開始までの時間間隔をt1とする。同様に、1回目の蓄積開始からn回目の蓄積開始までの時間間隔をtnとする。なお、以下では、1回目の蓄積開始のタイミングを基準として時間間隔を求める例を示すが、他のタイミングを基準としても良い。
【0052】
なお、図6で述べた蓄積時間の調節は、画面内において輝度の最も高い部分が飽和しないように行われる。その結果、画面内の高輝度領域に基づく輝度値が飽和するのを防ぐことができる。
【0053】
図7のフローチャートを参照して、フリッカ検出時の電子カメラ1の動作について説明する。
【0054】
ステップS21において、電子カメラ1は、電子カメラ1内の不図示のカウンタをn=0とする。
【0055】
ステップS22において、電子カメラ1は、輝度データを取得する。測光センサドライバ23により駆動された測光センサ21は、被写体の輝度データを生成し、ブロック処理部20に出力する。ブロック処理部20は、上述したブロック処理(図4参照)を行い、処理結果を測光用メモリ21に一時記録する。
【0056】
ステップS23において、電子カメラ1は輝度値を算出する。輝度値算出部22は、ステップS22で取得した輝度データに基づいて、輝度値を算出する。
【0057】
ステップS24において、電子カメラ1は、カウンタn=0であるか否かを判定する。電子カメラ1は、カウンタn=0であると判定するとステップS25に進み、カウンタn=0でないと判定すると、後述するステップS28に進む。
【0058】
ステップS25において、電子カメラ1は、領域追尾を行う。領域抽出部27は、ステップS23において算出した輝度値に基づいて、被写体領域を抽出し、領域追尾部28は、抽出結果に基づいて、被写体追尾を行う。
【0059】
なお、被写体追尾は、図4Bにおいて説明したブロック化した輝度値に基づいて行われる。例えば、図8Aおよび図8Bに示すように、被写界内の位置が変化する照明部Lを追尾する際には、上述したブロックを3×3の9ブロックを利用して、被写体の追尾を行う。なお、3×3の9ブロック以外(例えば、5×5の25ブロックなど)を利用して被写体の追尾を行っても良い。
【0060】
ステップS26において、電子カメラ1は、追尾可能であるか否かを判定する。電子カメラ1は、追尾可能であると判定すると後述するステップS29に進み、追尾可能でない(追尾不能である)と判定すると、ステップS27に進む。
【0061】
ステップS26において追尾不能であると判定された際には、ステップS27において、電子カメラ1は、カウンタをn=0とし、ステップS22に戻る。
【0062】
ステップS24においてカウンタn=0でないと判定された際には、ステップS28において、電子カメラ1は、高輝度領域を抽出する。位相抽出部26は、測光センサ22の出力に基づいて、図4Bにおいて説明したブロックのうち、最も輝度値の大きいブロックを検出する。これは、画面内において輝度値の最も大きいブロックは光源である可能性が高いためである。光源にはフリッカ成分が含まれる可能性があるため、光源と推測される部分についてフリッカの判定を行うことが好ましい。そこで、位相抽出部26は、画面内において輝度値の最も大きいブロックを高輝度領域として抽出する。位相抽出部26は、例えば、図8に示す斜線のブロックを高輝度領域として抽出する。
【0063】
図9に、抽出された高輝度領域におけるデータの例を示す。図9において、横軸は経過時間を示し、縦軸は高輝度領域における測光センサ12に基づく輝度値を、0〜1に正規化した値を示す。また、図9中に実線で示した波形は、検出対象(100Hz)のフリッカの波形を示し、●印は、各測光タイミングにおける上述した輝度値を示す。図9から明らかなように、測光間隔とフリッカの周波数は無関係で、かつ、非同期であるため、蓄積開始のタイミング(経過時間=0)におけるフリッカの位相はランダムになる。
【0064】
ステップS26において追尾不能であると判定された際には、ステップS29において、電子カメラ1は、n≧9であるか否かを判定する。電子カメラ1は、n≧9であると判定すると後述するステップS31に進み、n<9であると判定すると、ステップS30に進む。なお、n≧9である場合とは、測光がn=0〜9までの合計10回行われた場合である。測光が10回行われるたびに、電子カメラ1は、ステップS31に示すフリッカの有無の判定を行う。
【0065】
ステップS30において、電子カメラ1は、カウンタをn=n+1とし、ステップS22に戻る。
【0066】
ステップS31において、電子カメラ1は、フリッカの有無を判定する。まず、位相フィッティング部28は、図9で説明した各測光タイミングにおける上述した輝度値ごとに、蓄積開始からの経過時間を検出対象のフリッカの周期における位相に変換する。変換は、以下の式により行われる。
【0067】
S[n](ms)=t[n]_MOD_T(ms)・・・(式1)
式1において、S[n](ms)は、検出対象のフリッカの周期における位相の時間を示し、t[n]は、蓄積開始からの経過時間を示す。また、式1において、(A_MOD_B)は、AをBで除した際の余りを示す関数を示し、Tは、検出対象のフリッカの周期(ここでは100Hz=10ms)を示す。
【0068】
図10は、図9に示した図を、式1により算出した検出対象のフリッカの周期における位相の時間(S[n])を横軸にした図である。なお、図10の縦軸は、図9の縦軸の値を、10bitのA/D出力値に変換した値を示す。
【0069】
次に、位相フィッティング部28は、図10の各プロットに最も良くフィットするサインカーブを求める。まず、位相フィッティング部28は、サインカーブの0接点を求める。位相フィッティング部28は、図11に示すように、図10に示した各プロットのうち、縦軸の値が最小であるプロットP1(図10におけるn=8のプロット)を中心に、両隣のプロットP2およびP3(図10におけるn=5およびn=2)を選択する。さらに、プロットP2およびP3のうち、より縦軸の値の小さいプロットP2について、プロットP1と反対側の隣のプロットP4(図10におけるn=1のプロット)を選択する。
【0070】
そして、位相フィッティング部28は、プロットPmの座標を(S[minm],B[minm])として、プロットP1およびP3を結ぶ直線と、プロットP2およびP4を結ぶ直線とをそれぞれ求め、その交点のx座標であるS0を、サインカーブの0接点とする。
【0071】
プロットP1およびP3を結ぶ直線は、次式により求められる。
【0072】
y=(B[min3]−B[min1])÷(S[min3]−S[min1])×x+(S[min3]×B[min1]−S[min1]×B[min3])÷(S[min3]−S[min1])・・・(式2)
同様に、プロットP2およびP4を結ぶ直線は、次式により求められる。
【0073】
y=(B[min4]−B[min2])÷(S[min4]−S[min2])×x+(S[min4]×B[min2]−S[min2]×B[min4])÷(S[min4]−S[min2])・・・(式3)
さらに、2つの直線の交点のx座標であるS0は、次式により求められる。
【0074】
S0=S0y÷S0x・・・(式4)
S0y=(S[min4]×B[min2]−S[min2]×B[min4])÷(S[min4]−S[min2])−(S[min3]×B[min1]−S[min1]×B[min3])÷(S[min3]−S[min1])・・・(式5)
S0x=(B[min3]−B[min1])÷(S[min3]−S[min1])−(B[min4]−B[min2])÷(S[min4]−S[min2])・・・(式6)
なお、上述した方法の他に、S0の値を次式により簡易に求めても良い。
【0075】
S0=(S[min1]+S[min2])÷2・・・(式7)
特に、プロットが密である場合には、このように簡易にS0の値を用いると良い。
【0076】
また、図11の例では、2つの直線の交点のy座標が0である場合を例示しているが、y座標が0以外の場合でも、同様の処理を行うことができる。
【0077】
次に、位相フィッティング部28は、サインカーブの0接点に対して、次式に示すサインカーブをフィッティングする。
【0078】
y=B1×Sin{2π(x−S0)÷2T}・・・(式8)
式8において、B1は、サインカーブをY方向にフィッティングさせるための係数である。このB1の値は、例えば、図10に示した各プロットのうち、縦軸の値が最大であるプロットP1(図10におけるn=9のプロット)の縦軸の値と等しい値である。また、式8におけるTは、式1で説明したTである。
【0079】
図12は、図10に示した図に、フィッティングしたサインカーブを重乗して示した図である。
【0080】
最後に、フリッカ判定部29は、位相フィッティング部28によるフィッティングの結果に基づいて、フリッカの判定を行う。図12に示した図において、サインカーブと各プロットとの差異が少ない程、検出対象であるフリッカが測光センサ12の出力に含まれる確率が高くなる。言い換えれば、検出対象であるフリッカが測光センサ12の出力に含まれていれば、サインカーブと各プロットとの差異が0に近くなる。また、検出対象であるフリッカが測光センサ12の出力に含まれていなければ、サインカーブと各プロットとの差異は大きくなる。
【0081】
そこで、フリッカ判定部29は、図12において、各プロットの縦軸の値と、サインカーブとの差分を求める。図13は、図12において求めた各差分を示す図である。
【0082】
次に、フリッカ判定部29は、図13に示した各差分の最大値Dmaxまたは平均値Daveを求め、この値が所定値Dth未満であるか否かを判定する。所定値Dthは、実験などにより経験的に予め求めることができる。
【0083】
各差分の最大値Dmaxまたは平均値Daveが所定値Dth未満である場合には、図12に示した図において、サインカーブと各プロットとの差異が十分少なく、検出対象であるフリッカが測光センサ12の出力に含まれると判定することができる。一方、各差分の最大値Dmaxまたは平均値Daveが所定値Dth以上である場合には、図12に示した図において、サインカーブと各プロットとの差異が大きく、検出対象であるフリッカが測光センサ12の出力に含まれないと判定することができる。
【0084】
各差分を求める際には、減算により差を求めても良いし、除算により比を求めても良い。また、差および比の両方を適宜組み合わせても良い。
【0085】
なお、上述したフリッカの検出を行う前に、測光センサ12の出力に基づく輝度値の広がりを分析し、広がりが所定の閾値よりも少ない場合には、検出対象であるフリッカが測光センサ12の出力に含まれないと判定しても良い。
【0086】
また、120Hzの周波数のフリッカが検出対象として予め指定されている場合にも、図9および図12で説明したサインカーブを、120Hzの周波数のフリッカに対応するサインカーブに変更して、同様の処理を行えば良い。また、100Hzおよび120Hzの両方の周波数のフリッカが検出対象として予め指定されている場合には、それぞれのフリッカに対してサインカーブのフィッティングおよびフリッカの有無の判定を行えば良い。
【0087】
以上説明したように、本実施形態によれば、複数回の測光を行う測光部と、基準時間から複数回の測光のそれぞれが行われるまでの経過時間を、特定の周期における位相に変換する変換部とを備える。そして、位相に対する測光の出力値の関係と、特定の周期との相関を検出する検出し、検出した相関が所定の基準よりも高い場合に、特定の周期のフリッカが、測光部による測光出力に含まれると判定する。したがって、フリッカ検出用のセンサを備えたり、測光の時間間隔をフリッカ周期よりも短くしたりすることなく、測光の時間間隔がフリッカ周期よりも長い場合でも、フリッカの有無を適切に判定することができる。特に、測光部におけるセンサの素子数が非常に多い場合であっても、迅速にフリッカの検出を行うことができる。
【0088】
また、本実施形態によれば、経過時間を特定の周期に相当する時間で除した際の余りに基づいて、特定の周期おける位相に変換する。したがって、測光の時間間隔がフリッカ周期よりも長くても、フリッカの有無を適切に判定することができる。
【0089】
また、本実施形態によれば、測光部による測光結果に基づいて、測光対象に含まれる特定部分を追尾する追尾部を備え、特定部分に対応する出力値を用いて相関を検出する。したがって、処理対象となる出力値を限定することにより、処理を高速化することが可能である。
【0090】
また、本実施形態によれば、測光結果に基づいて露出演算を行う演算部と、演算部による演算結果に基づいて被写体像を撮像する撮像部とを備え、演算部による演算の対象となる測光結果を用いて、上述した相関を検出する。したがって、測光の出力を露出演算とフリッカの検出との両方に利用することができるので、装置を簡略化することができるとともに、処理の負荷を抑えることができる。
【0091】
なお、本実施形態では、一眼レフタイプの電子カメラを例に挙げて説明を行ったが、本発明は、この構成に限定されない。例えば、撮像素子を1つだけ備えるコンパクトタイプの電子カメラに本発明を適用しても良い。また、銀塩カメラに本発明を適用しても良い。
【0092】
また、本実施形態では、測光センサ12はベイヤー配列のセンサである例を示したが、他の配列であっても良い。
【0093】
また、コンピュータと画像処理プログラムとにより、上述した各実施形態で説明した画像処理装置をソフトウェア的に実現しても良い。この場合、コンピュータにおいて、処理対象の画像データとともに輝度データを取得し、図5および図7のフローチャートで説明した処理の一部または全部を実現する構成とすれば良い。このような構成とすることにより、上述した実施形態と同様の処理を実施することが可能になる。
【符号の説明】
【0094】
1…電子カメラ、12…測光センサ、14…撮像センサ、20…測光用メモリ、26…位相抽出部、28…位相フィッティング部、19…フリッカ判定部、31…光源判別部
【技術分野】
【0001】
本発明は、測光装置、撮像装置、およびフリッカの検出方法に関する。
【背景技術】
【0002】
従来より、電源に起因して映像に発生するフリッカを検出する様々な技術が提案されている。例えば、特許文献1の発明では、複数フレームにおいて同一の画素位置における画素の値を積算し、平均値で除算してから周波数解析を行うことにより、フリッカの有無を判定している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第3539901号
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1の発明では、フリッカ検出のための測光(撮像)を所定の時間間隔で行うことが前提となる。しかし、装置やカメラの構成や作動状態によっては、所定の時間間隔で測光を行うことができない場合がある。特に、電子カメラなどの撮像装置においては、撮像により得られた測光出力を、適正露出演算、光源判別演算、顔検出演算など様々な用途に利用するので、上述した測光を所定の時間間隔で行うことができないだけでなく、測光の時間間隔が、検出対象のフリッカ周波数よりも長くなってしまう場合がある。例えば、検出対象のフリッカ周期が100Hzである場合には、基本的には100Hzの周波数の時間周期である10msよりも短い時間間隔で測光を行うことが必要である。そのため、上述したように、測光の時間間隔が、検出対象のフリッカ周波数よりも長くなってしまう場合には、フリッカの検出を正しく行うことができない。
【0005】
本発明は、上記問題に鑑みてなされたものであり、測光の時間間隔がフリッカ周期よりも長い場合でも、フリッカの有無を適切に判定することを目的とする。
【課題を解決するための手段】
【0006】
本発明の測光装置は、複数回の測光を行う測光部と、基準時間から前記複数回の測光のそれぞれが行われるまでの経過時間を、特定の周期における位相に変換する変換部と、前記位相に対する前記測光の出力値の関係と、前記特定の周期との相関を検出する検出部と、前記検出部により検出した相関が所定の基準よりも高い場合に、前記特定の周期のフリッカが、前記測光部による測光出力に含まれると判定する判定部とを備える。
【0007】
なお、前記変換部は、前記経過時間を前記特定の周期に相当する時間で除した際の余りに基づいて、前記特定の周期における位相に変換しても良い。
【0008】
また、前記測光部は、測光対象である領域を複数の領域に分割して測光し、前記検出部は、前記測光部による出力に基づいて、前記測光対象から高輝度領域を抽出し、抽出した前記高輝度領域に対応する前記出力値を用いて前記相関を検出しても良い。
【0009】
また、前記測光部による測光結果に基づいて、前記測光対象に含まれる特定部分を追尾する追尾部を備え、前記検出部は、前記特定部分に対応する前記出力値を用いて前記相関を検出しても良い。
【0010】
本発明の撮像装置は、上述した何れかの測光装置と、前記測光装置による測光結果に基づいて露出演算を行う演算部と、前記演算部による演算結果に基づいて被写体像を撮像する撮像部とを備えた撮像装置であって、前記検出部は、前記演算部による演算の対象となる前記測光結果を用いて前記相関を検出することを特徴とする。
【0011】
本発明の検出方法は、複数回の測光を行う測光部を備えた測光装置においてフリッカを検出する検出方法であって、基準時間から前記複数回の測光のそれぞれが行われるまでの経過時間を、特定の周期における位相に変換する変換ステップと、前記位相に対する前記測光の出力値の関係と、前記特定の周期との相関を検出する検出ステップと、前記検出ステップにおいて検出した相関が所定の基準よりも高い場合に、前記特定の周期のフリッカが、前記測光部による測光出力に含まれると判定する判定ステップとを備える。
【発明の効果】
【0012】
本発明によれば、測光の時間間隔がフリッカ周期よりも長い場合でも、フリッカの有無を適切に判定することができる。
【図面の簡単な説明】
【0013】
【図1】電子カメラ1の構成を示す図である。
【図2】電子カメラ1の機能ブロック図である。
【図3】測光センサ12について説明する図である。
【図4】測光センサ12について説明する別の図である。
【図5】電子カメラ1の撮影時の動作を示すフローチャートである。
【図6】測光の詳細について説明する図である。
【図7】電子カメラ1の撮影時の動作を示すフローチャート(続き)である。
【図8】被写体追尾について説明する図である。
【図9】フリッカの検出について説明する図である。
【図10】フリッカの検出について説明する別の図である。
【図11】フリッカの検出について説明する別の図である。
【図12】フリッカの検出について説明する別の図である。
【図13】フリッカの検出について説明する別の図である。
【発明を実施するための形態】
【0014】
以下、図面を用いて本発明の実施形態について説明する。本発明のカメラの一例として、一眼レフタイプの電子カメラを用いて説明を行う。
【0015】
図1は、本実施形態の電子カメラ1の構成を示す図である。図1に示すように、電子カメラ1は、撮影レンズ2、絞り3、クイックリターンミラー4、サブミラー5、拡散スクリーン6、コンデンサレンズ7、ペンタプリズム8、ビームスプリッタ9、接眼レンズ10、結像レンズ11、測光センサ12、シャッタ13、撮像センサ14、焦点検出部15の各部を備える。
【0016】
非撮影時、すなわち撮影を行わない場合には、クイックリターンミラー4は、図1に示すように、45°の角度に配置される。そして、撮影レンズ2および絞り3を通過した光束は、クイックリターンミラー4で反射され、拡散スクリーン6、コンデンサレンズ7、ペンタプリズム8、ビームスプリッタ9を介して接眼レンズ10に導かれる。撮影者は、撮影レンズ10を介して被写体の像を目視することにより構図確認を行う。一方、ビームスプリッタ9により、上方に分割された光束は、結像レンズ11を介して測光センサ12の撮像面上に再結像される。また、クイックリターンミラー4を透過した光束は、サブミラー5を介して焦点検出部15に導かれる。
【0017】
一方、撮影時には、クイックリターンミラー4が、破線で示す位置に退避してシャッタ13が開放し、撮影レンズ2からの光束は撮像センサ14に導かれる。
【0018】
図2は、本実施形態の電子カメラ1の機能ブロック図である。測光センサ12は、被写体状況を解析するためのセンサであり、図3に示すように、例えば、360×240画素程度の分割数を有しているCCD(Charge Coupled Device)などのセンサである。測光センサ12は、例えば、G画素がR画素およびB画素の2倍の画素数を有するいわゆるベイヤー配列のセンサである。
【0019】
測光センサ12からの出力は、不図示のアナログゲイン回路やA/D変換回路を経てブロック処理部20へ入力され、ブロック処理が施される。ブロック処理は、図4に示すように、測光センサ12の出力を、それぞれの画素についてRGB3色の情報を持つ画像データヘ変換(図4A参照)した後に、36×24の領域にブロック化する(図4B参照)処理である。なお、ブロック化処理は、R,G,Bの出力をそれぞれブロック化せずに、所定の重み付けで加重平均し、被写体の色に依存しない人間が感じる明るさに対応した値(輝度値)としても良い。また、ブロック化処理は、ハード的に加算処理を行うことにより実現しても良いし、その他の手法で実現しても良い。また、上述した36×24の領域へのブロック化は一例であり、本発明はこの例に限定されない。
【0020】
ブロック処理部20の出力は、測光用メモリ21に格納され、輝度算出部22において、被写体輝度に比例した数値に置き換えられる。輝度算出部22による算出結果は、露出演算部24を介して露出制御部25に入力されるとともに、位相抽出部26および領域抽出部27にも入力される。
【0021】
位相抽出部26は、測光センサ12を駆動する測光センサドライバ23から、測光時間間隔情報を取得し、取得した測光時間間隔情報を用いて、測光センサ12の出力に基づくデータから、所定のフリッカ周波数に対する位相を抽出する。そして、位相抽出部26は、抽出結果を位相フィッティング部28に出力する。
【0022】
位相フィッティング部28は、位相抽出部26による抽出結果を用いて、リファレンスとなる所定の周波数のフリッカの位相と、測光センサ12の出力に基づく位相とに対するフィッティング処理を行って相関を求める。そして、位相フィッティング部28は、求めた相関を示す情報をフリッカ判定部29に出力する。
【0023】
フリッカ判定部29は、位相フィッティング部28により求めた相関を用いて、測光センサ12の出力にフリッカ成分が含まれるか否かを判定する。そして、フリッカ判定部29は、判定結果を撮像センサドライバ30および光源判定部31に出力する。
【0024】
光源判定部31は、フリッカ判定部29による判定結果を用いて、光源判定を行う。そして、光源判定部31は、判定結果をホワイトバランス(以下、「WB」と称する)演算部32に出力する。
【0025】
WB演算部32は、光源判定部31による判定結果を用いて、WB演算を行う。そして、WB演算部32は、演算結果を画像処理部33に出力する。
【0026】
画像処理部33には、撮像センサドライバ30により制御された撮像センサ14によって生成され、撮像用メモリ34に格納された画像データが入力される。画像処理部33は、画像データに対して、WB演算部32による演算結果に基づく画像処理を施し、表示部35および記録部36に出力する。
【0027】
輝度算出部22による算出結果は、上述したように、領域抽出部27にも入力される。領域抽出部27は、測光センサ12の出力に基づくデータから、所定の領域を抽出する。
【0028】
そして、領域追尾部37は、領域抽出部27による抽出結果を用いて、被写体の所定の領域を追尾する。
【0029】
以上説明した構成のうち、位相抽出部26、領域抽出部27、位相フィッティング部28、フリッカ判定部29、領域追尾部37の詳細は後述する。それ以外の各構成については、公知技術と同様であるため説明を省略する。
【0030】
以上説明した構成の電子カメラ1の撮影時の動作について、図5に示すフローチャートを用いて説明する。
【0031】
ステップS1において、電子カメラ1は、フリッカ検出を行う。フリッカ検出の詳細は後述する。なお、フリッカ検出は、予め指定された周期のフリッカのみに対して行われる。検出の対象となるフリッカの周期は、例えば、100Hzおよび120Hzである。これは、一般的な電源周波数(50Hzおよび60Hz)に基づき予測されるフリッカの周波数である。電源周波数は一般的に50Hzまたは60Hzの何れかである。したがって、100Hzおよび120Hzに限定してフリッカを検出すれば、略すべてのフリッカを検出することが可能である。100Hzおよび120Hzの両方を予め検出対象として指定しても良いし、100Hzまたは120Hzの何れかを予め検出対象として指定しても良い。検出対象とするフリッカの周期は、電子カメラ1において予め指定されていても良いし、ユーザにより指定可能としても良い。以下では、周期が100Hzのフリッカが予め検出対象として指定されているものとして説明を行う。
【0032】
ステップS2において、電子カメラ1は、光源判別を行う。光源判別部31は、ステップS1で行われたフリッカ検出の結果に基づいて、光源の判別を行う。
【0033】
ステップS3において、電子カメラ1は、露出演算を行う。露出演算部24は、測光センサ12の出力に基づいて、公知技術と同様に露出演算を行い、演算結果を露出制御部25に出力する。
【0034】
ステップS4において、電子カメラ1は、ライブビューがONされているか否かを判定する。ライブビューは、構図確認用のスルー画像を継続的に撮像して表示部35に表示する機能である。ライブビューの機能のONおよびOFFは、不図示の操作部を介したユーザ操作により行われる。電子カメラ1は、ライブビューがONされていると判定すると、後述するステップS7に進み、ライブビューがONされていない(OFFされている)と判定すると、ステップS5に進む。
【0035】
ステップS5において、電子カメラ1は、不図示のレリーズボタンが全押しされたか否かを判定する。電子カメラ1は、レリーズボタンが全押しされたと判定するとステップS6に進み、レリーズボタンが全押しされていないと判定すると、ステップS1に戻る。
【0036】
ステップS6において、電子カメラ1は、撮影を行う。撮像センサドライバ30は、ステップS3で行った露出演算の結果、フリッカ判定部29による判定結果に基づいて撮像センサ14を駆動し、被写体像を撮像する。撮影により得られた画像データは、撮像用メモリ34に一時記録される。
【0037】
一方、ステップS4においてライブビューがONされていると判定すると、ステップS7において、電子カメラ1は、ライブビュー動作を行う。なお、ライブビュー動作時に、ステップS1で行われたフリッカ検出の結果に基づいて、フリッカ除去処理を行っても良い。
【0038】
ステップS8において、電子カメラ1は、不図示のレリーズボタンが全押しされるまでライブビュー動作を継続し、レリーズボタンが全押しされたと判定するとステップS9に進む。
【0039】
ステップS9において、電子カメラ1は、ステップS6と同様に撮影を行う。
【0040】
ステップS10において、電子カメラ1は、ステップS6またはステップS9で行った撮影結果に基づいて、WB演算を行う。WB演算部32は、撮影結果と、ステップS2で行った光源判別の結果とに基づいて、WB演算を行い、演算結果を画像処理部33に出力する。
【0041】
ステップS11において、電子カメラ1は、ステップS6またはステップS9で行った撮影により得られた画像データに対して画像処理を行う。画像処理部33は、撮像用メモリ34に一時記録された画像データに対して、ステップS10で行ったWB演算の結果に基づくホワイトバランス調整を含む画像処理を施す。
【0042】
ステップS12において、電子カメラ1は、ステップS11で画像処理を施した画像データを記録部36に記録する。
【0043】
ステップS13において、電子カメラ1は、電子カメラ1内の不図示のタイマーがUPしたか否かを判定する。電子カメラ1は、タイマーがUPしたと判定すると一連の処理を終了し、タイマーがUPしていないと判定すると、ステップS1に戻る。
【0044】
次に、ステップS1で説明したフリッカ検出の詳細について、図6から図13を参照して説明する。
【0045】
フリッカ検出は、測光センサ12による測光と同時に行われる。はじめに、図6を用いて、測光の詳細について説明する。
【0046】
図6に示すように、測光は、蓄積、読み出し、演算の3つのステップから成る。蓄積のステップにおいて、測光センサドライバ23は、被写体の明るさに応じて蓄積時間を調整し、最適な時間で蓄積を行う。この最適な蓄積時問は、前回の測光出力値と蓄積時間とから求められるが、最初の蓄積時は前回の測光出力がないので、所定の時間にて行われる。蓄積時間は、被写体の明るさに応じて、例えば、約10μs〜100ms程度まで変化する。
【0047】
なお、上述したように蓄積時間を決定するため、蓄積時間は毎回変化する。そのため、実際の測光間隔も不均一になる。測光においては、テレビやビデオ信号と違い、一定の同期周波数というものがない。また、測光をできるだけ速く繰り返すことにより被写体の輝度変化に対応することが求められるため、前の測光が終了すると、直ちに次の測光の準備に入る。そのため、蓄積時間が短い場合には測光間隔は短くなり、逆に蓄積時問が長くなると測光間隔は長くなる。
【0048】
読み出しのステップにおいて、測光センサドライバ23は、蓄積終了した測光データを、測光センサ12から吐き出す。測光センサ12の構造にもよるが、この処理には、高速のものでも約5ms程度の時間を要する。
【0049】
演算のステップにおいて、輝度算出部22は輝度値の算出を行い、露出算出部24は、露出演算を行い、位相抽出部26、位相フィッティング部28、フリッカ判定部29は、フリッカの判定を行う。これらの処理は、演算方法や処理能力にもよるが、おおよそ20ms〜30ms程度の時間を要する。
【0050】
つまり、測光間隔は、各処理に要する時間を加算することにより約25ms〜135ms程度となる。しかし、電子カメラ1においては、測光と同時に、情報の設定、撮影制御、オートフォーカスなど他の機能も行われているので、それらの演算処理を含むと、測光間隔は速くても50ms程度になる。したがって、測光を所定の時間間隔で行うことができないだけでなく、測光の時間間隔が、検出対象のフリッカ周波数よりも長くなってしまう場合がある。そのため、フリッカの検出を好適に行うことができない。
【0051】
以下、本実施形態におけるフリッカの検出について説明する。以下では、図6に示すように、測光回数のカウント開始後、1回目の蓄積開始から2回目の蓄積開始までの時間間隔をt1とする。同様に、1回目の蓄積開始からn回目の蓄積開始までの時間間隔をtnとする。なお、以下では、1回目の蓄積開始のタイミングを基準として時間間隔を求める例を示すが、他のタイミングを基準としても良い。
【0052】
なお、図6で述べた蓄積時間の調節は、画面内において輝度の最も高い部分が飽和しないように行われる。その結果、画面内の高輝度領域に基づく輝度値が飽和するのを防ぐことができる。
【0053】
図7のフローチャートを参照して、フリッカ検出時の電子カメラ1の動作について説明する。
【0054】
ステップS21において、電子カメラ1は、電子カメラ1内の不図示のカウンタをn=0とする。
【0055】
ステップS22において、電子カメラ1は、輝度データを取得する。測光センサドライバ23により駆動された測光センサ21は、被写体の輝度データを生成し、ブロック処理部20に出力する。ブロック処理部20は、上述したブロック処理(図4参照)を行い、処理結果を測光用メモリ21に一時記録する。
【0056】
ステップS23において、電子カメラ1は輝度値を算出する。輝度値算出部22は、ステップS22で取得した輝度データに基づいて、輝度値を算出する。
【0057】
ステップS24において、電子カメラ1は、カウンタn=0であるか否かを判定する。電子カメラ1は、カウンタn=0であると判定するとステップS25に進み、カウンタn=0でないと判定すると、後述するステップS28に進む。
【0058】
ステップS25において、電子カメラ1は、領域追尾を行う。領域抽出部27は、ステップS23において算出した輝度値に基づいて、被写体領域を抽出し、領域追尾部28は、抽出結果に基づいて、被写体追尾を行う。
【0059】
なお、被写体追尾は、図4Bにおいて説明したブロック化した輝度値に基づいて行われる。例えば、図8Aおよび図8Bに示すように、被写界内の位置が変化する照明部Lを追尾する際には、上述したブロックを3×3の9ブロックを利用して、被写体の追尾を行う。なお、3×3の9ブロック以外(例えば、5×5の25ブロックなど)を利用して被写体の追尾を行っても良い。
【0060】
ステップS26において、電子カメラ1は、追尾可能であるか否かを判定する。電子カメラ1は、追尾可能であると判定すると後述するステップS29に進み、追尾可能でない(追尾不能である)と判定すると、ステップS27に進む。
【0061】
ステップS26において追尾不能であると判定された際には、ステップS27において、電子カメラ1は、カウンタをn=0とし、ステップS22に戻る。
【0062】
ステップS24においてカウンタn=0でないと判定された際には、ステップS28において、電子カメラ1は、高輝度領域を抽出する。位相抽出部26は、測光センサ22の出力に基づいて、図4Bにおいて説明したブロックのうち、最も輝度値の大きいブロックを検出する。これは、画面内において輝度値の最も大きいブロックは光源である可能性が高いためである。光源にはフリッカ成分が含まれる可能性があるため、光源と推測される部分についてフリッカの判定を行うことが好ましい。そこで、位相抽出部26は、画面内において輝度値の最も大きいブロックを高輝度領域として抽出する。位相抽出部26は、例えば、図8に示す斜線のブロックを高輝度領域として抽出する。
【0063】
図9に、抽出された高輝度領域におけるデータの例を示す。図9において、横軸は経過時間を示し、縦軸は高輝度領域における測光センサ12に基づく輝度値を、0〜1に正規化した値を示す。また、図9中に実線で示した波形は、検出対象(100Hz)のフリッカの波形を示し、●印は、各測光タイミングにおける上述した輝度値を示す。図9から明らかなように、測光間隔とフリッカの周波数は無関係で、かつ、非同期であるため、蓄積開始のタイミング(経過時間=0)におけるフリッカの位相はランダムになる。
【0064】
ステップS26において追尾不能であると判定された際には、ステップS29において、電子カメラ1は、n≧9であるか否かを判定する。電子カメラ1は、n≧9であると判定すると後述するステップS31に進み、n<9であると判定すると、ステップS30に進む。なお、n≧9である場合とは、測光がn=0〜9までの合計10回行われた場合である。測光が10回行われるたびに、電子カメラ1は、ステップS31に示すフリッカの有無の判定を行う。
【0065】
ステップS30において、電子カメラ1は、カウンタをn=n+1とし、ステップS22に戻る。
【0066】
ステップS31において、電子カメラ1は、フリッカの有無を判定する。まず、位相フィッティング部28は、図9で説明した各測光タイミングにおける上述した輝度値ごとに、蓄積開始からの経過時間を検出対象のフリッカの周期における位相に変換する。変換は、以下の式により行われる。
【0067】
S[n](ms)=t[n]_MOD_T(ms)・・・(式1)
式1において、S[n](ms)は、検出対象のフリッカの周期における位相の時間を示し、t[n]は、蓄積開始からの経過時間を示す。また、式1において、(A_MOD_B)は、AをBで除した際の余りを示す関数を示し、Tは、検出対象のフリッカの周期(ここでは100Hz=10ms)を示す。
【0068】
図10は、図9に示した図を、式1により算出した検出対象のフリッカの周期における位相の時間(S[n])を横軸にした図である。なお、図10の縦軸は、図9の縦軸の値を、10bitのA/D出力値に変換した値を示す。
【0069】
次に、位相フィッティング部28は、図10の各プロットに最も良くフィットするサインカーブを求める。まず、位相フィッティング部28は、サインカーブの0接点を求める。位相フィッティング部28は、図11に示すように、図10に示した各プロットのうち、縦軸の値が最小であるプロットP1(図10におけるn=8のプロット)を中心に、両隣のプロットP2およびP3(図10におけるn=5およびn=2)を選択する。さらに、プロットP2およびP3のうち、より縦軸の値の小さいプロットP2について、プロットP1と反対側の隣のプロットP4(図10におけるn=1のプロット)を選択する。
【0070】
そして、位相フィッティング部28は、プロットPmの座標を(S[minm],B[minm])として、プロットP1およびP3を結ぶ直線と、プロットP2およびP4を結ぶ直線とをそれぞれ求め、その交点のx座標であるS0を、サインカーブの0接点とする。
【0071】
プロットP1およびP3を結ぶ直線は、次式により求められる。
【0072】
y=(B[min3]−B[min1])÷(S[min3]−S[min1])×x+(S[min3]×B[min1]−S[min1]×B[min3])÷(S[min3]−S[min1])・・・(式2)
同様に、プロットP2およびP4を結ぶ直線は、次式により求められる。
【0073】
y=(B[min4]−B[min2])÷(S[min4]−S[min2])×x+(S[min4]×B[min2]−S[min2]×B[min4])÷(S[min4]−S[min2])・・・(式3)
さらに、2つの直線の交点のx座標であるS0は、次式により求められる。
【0074】
S0=S0y÷S0x・・・(式4)
S0y=(S[min4]×B[min2]−S[min2]×B[min4])÷(S[min4]−S[min2])−(S[min3]×B[min1]−S[min1]×B[min3])÷(S[min3]−S[min1])・・・(式5)
S0x=(B[min3]−B[min1])÷(S[min3]−S[min1])−(B[min4]−B[min2])÷(S[min4]−S[min2])・・・(式6)
なお、上述した方法の他に、S0の値を次式により簡易に求めても良い。
【0075】
S0=(S[min1]+S[min2])÷2・・・(式7)
特に、プロットが密である場合には、このように簡易にS0の値を用いると良い。
【0076】
また、図11の例では、2つの直線の交点のy座標が0である場合を例示しているが、y座標が0以外の場合でも、同様の処理を行うことができる。
【0077】
次に、位相フィッティング部28は、サインカーブの0接点に対して、次式に示すサインカーブをフィッティングする。
【0078】
y=B1×Sin{2π(x−S0)÷2T}・・・(式8)
式8において、B1は、サインカーブをY方向にフィッティングさせるための係数である。このB1の値は、例えば、図10に示した各プロットのうち、縦軸の値が最大であるプロットP1(図10におけるn=9のプロット)の縦軸の値と等しい値である。また、式8におけるTは、式1で説明したTである。
【0079】
図12は、図10に示した図に、フィッティングしたサインカーブを重乗して示した図である。
【0080】
最後に、フリッカ判定部29は、位相フィッティング部28によるフィッティングの結果に基づいて、フリッカの判定を行う。図12に示した図において、サインカーブと各プロットとの差異が少ない程、検出対象であるフリッカが測光センサ12の出力に含まれる確率が高くなる。言い換えれば、検出対象であるフリッカが測光センサ12の出力に含まれていれば、サインカーブと各プロットとの差異が0に近くなる。また、検出対象であるフリッカが測光センサ12の出力に含まれていなければ、サインカーブと各プロットとの差異は大きくなる。
【0081】
そこで、フリッカ判定部29は、図12において、各プロットの縦軸の値と、サインカーブとの差分を求める。図13は、図12において求めた各差分を示す図である。
【0082】
次に、フリッカ判定部29は、図13に示した各差分の最大値Dmaxまたは平均値Daveを求め、この値が所定値Dth未満であるか否かを判定する。所定値Dthは、実験などにより経験的に予め求めることができる。
【0083】
各差分の最大値Dmaxまたは平均値Daveが所定値Dth未満である場合には、図12に示した図において、サインカーブと各プロットとの差異が十分少なく、検出対象であるフリッカが測光センサ12の出力に含まれると判定することができる。一方、各差分の最大値Dmaxまたは平均値Daveが所定値Dth以上である場合には、図12に示した図において、サインカーブと各プロットとの差異が大きく、検出対象であるフリッカが測光センサ12の出力に含まれないと判定することができる。
【0084】
各差分を求める際には、減算により差を求めても良いし、除算により比を求めても良い。また、差および比の両方を適宜組み合わせても良い。
【0085】
なお、上述したフリッカの検出を行う前に、測光センサ12の出力に基づく輝度値の広がりを分析し、広がりが所定の閾値よりも少ない場合には、検出対象であるフリッカが測光センサ12の出力に含まれないと判定しても良い。
【0086】
また、120Hzの周波数のフリッカが検出対象として予め指定されている場合にも、図9および図12で説明したサインカーブを、120Hzの周波数のフリッカに対応するサインカーブに変更して、同様の処理を行えば良い。また、100Hzおよび120Hzの両方の周波数のフリッカが検出対象として予め指定されている場合には、それぞれのフリッカに対してサインカーブのフィッティングおよびフリッカの有無の判定を行えば良い。
【0087】
以上説明したように、本実施形態によれば、複数回の測光を行う測光部と、基準時間から複数回の測光のそれぞれが行われるまでの経過時間を、特定の周期における位相に変換する変換部とを備える。そして、位相に対する測光の出力値の関係と、特定の周期との相関を検出する検出し、検出した相関が所定の基準よりも高い場合に、特定の周期のフリッカが、測光部による測光出力に含まれると判定する。したがって、フリッカ検出用のセンサを備えたり、測光の時間間隔をフリッカ周期よりも短くしたりすることなく、測光の時間間隔がフリッカ周期よりも長い場合でも、フリッカの有無を適切に判定することができる。特に、測光部におけるセンサの素子数が非常に多い場合であっても、迅速にフリッカの検出を行うことができる。
【0088】
また、本実施形態によれば、経過時間を特定の周期に相当する時間で除した際の余りに基づいて、特定の周期おける位相に変換する。したがって、測光の時間間隔がフリッカ周期よりも長くても、フリッカの有無を適切に判定することができる。
【0089】
また、本実施形態によれば、測光部による測光結果に基づいて、測光対象に含まれる特定部分を追尾する追尾部を備え、特定部分に対応する出力値を用いて相関を検出する。したがって、処理対象となる出力値を限定することにより、処理を高速化することが可能である。
【0090】
また、本実施形態によれば、測光結果に基づいて露出演算を行う演算部と、演算部による演算結果に基づいて被写体像を撮像する撮像部とを備え、演算部による演算の対象となる測光結果を用いて、上述した相関を検出する。したがって、測光の出力を露出演算とフリッカの検出との両方に利用することができるので、装置を簡略化することができるとともに、処理の負荷を抑えることができる。
【0091】
なお、本実施形態では、一眼レフタイプの電子カメラを例に挙げて説明を行ったが、本発明は、この構成に限定されない。例えば、撮像素子を1つだけ備えるコンパクトタイプの電子カメラに本発明を適用しても良い。また、銀塩カメラに本発明を適用しても良い。
【0092】
また、本実施形態では、測光センサ12はベイヤー配列のセンサである例を示したが、他の配列であっても良い。
【0093】
また、コンピュータと画像処理プログラムとにより、上述した各実施形態で説明した画像処理装置をソフトウェア的に実現しても良い。この場合、コンピュータにおいて、処理対象の画像データとともに輝度データを取得し、図5および図7のフローチャートで説明した処理の一部または全部を実現する構成とすれば良い。このような構成とすることにより、上述した実施形態と同様の処理を実施することが可能になる。
【符号の説明】
【0094】
1…電子カメラ、12…測光センサ、14…撮像センサ、20…測光用メモリ、26…位相抽出部、28…位相フィッティング部、19…フリッカ判定部、31…光源判別部
【特許請求の範囲】
【請求項1】
複数回の測光を行う測光部と、
基準時間から前記複数回の測光のそれぞれが行われるまでの経過時間を、特定の周期における位相に変換する変換部と、
前記位相に対する前記測光の出力値の関係と、前記特定の周期との相関を検出する検出部と、
前記検出部により検出した相関が所定の基準よりも高い場合に、前記特定の周期のフリッカが、前記測光部による測光出力に含まれると判定する判定部と
を備えることを特徴とする測光装置。
【請求項2】
請求項1に記載の測光装置において、
前記変換部は、前記経過時間を前記特定の周期に相当する時間で除した際の余りに基づいて、前記特定の周期における位相に変換する
ことを特徴とする測光装置。
【請求項3】
請求項1に記載の測光装置において、
前記測光部は、測光対象である領域を複数の領域に分割して測光し、
前記検出部は、前記測光部による出力に基づいて、前記測光対象から高輝度領域を抽出し、抽出した前記高輝度領域に対応する前記出力値を用いて前記相関を検出する
ことを特徴とする測光装置。
【請求項4】
請求項3に記載の測光装置において、
前記測光部による測光結果に基づいて、前記測光対象に含まれる特定部分を追尾する追尾部を備え、
前記検出部は、前記特定部分に対応する前記出力値を用いて前記相関を検出する
ことを特徴とする測光装置。
【請求項5】
請求項1から請求項4の何れか1項に記載の測光装置と、前記測光装置による測光結果に基づいて露出演算を行う演算部と、前記演算部による演算結果に基づいて被写体像を撮像する撮像部とを備えた撮像装置であって、
前記検出部は、前記演算部による演算の対象となる前記測光結果を用いて前記相関を検出する
ことを特徴とする撮像装置。
【請求項6】
複数回の測光を行う測光部を備えた測光装置においてフリッカを検出する検出方法であって、
基準時間から前記複数回の測光のそれぞれが行われるまでの経過時間を、特定の周期における位相に変換する変換ステップと、
前記位相に対する前記測光の出力値の関係と、前記特定の周期との相関を検出する検出ステップと、
前記検出ステップにおいて検出した相関が所定の基準よりも高い場合に、前記特定の周期のフリッカが、前記測光部による測光出力に含まれると判定する判定ステップと
を備えることを特徴とする検出方法。
【請求項1】
複数回の測光を行う測光部と、
基準時間から前記複数回の測光のそれぞれが行われるまでの経過時間を、特定の周期における位相に変換する変換部と、
前記位相に対する前記測光の出力値の関係と、前記特定の周期との相関を検出する検出部と、
前記検出部により検出した相関が所定の基準よりも高い場合に、前記特定の周期のフリッカが、前記測光部による測光出力に含まれると判定する判定部と
を備えることを特徴とする測光装置。
【請求項2】
請求項1に記載の測光装置において、
前記変換部は、前記経過時間を前記特定の周期に相当する時間で除した際の余りに基づいて、前記特定の周期における位相に変換する
ことを特徴とする測光装置。
【請求項3】
請求項1に記載の測光装置において、
前記測光部は、測光対象である領域を複数の領域に分割して測光し、
前記検出部は、前記測光部による出力に基づいて、前記測光対象から高輝度領域を抽出し、抽出した前記高輝度領域に対応する前記出力値を用いて前記相関を検出する
ことを特徴とする測光装置。
【請求項4】
請求項3に記載の測光装置において、
前記測光部による測光結果に基づいて、前記測光対象に含まれる特定部分を追尾する追尾部を備え、
前記検出部は、前記特定部分に対応する前記出力値を用いて前記相関を検出する
ことを特徴とする測光装置。
【請求項5】
請求項1から請求項4の何れか1項に記載の測光装置と、前記測光装置による測光結果に基づいて露出演算を行う演算部と、前記演算部による演算結果に基づいて被写体像を撮像する撮像部とを備えた撮像装置であって、
前記検出部は、前記演算部による演算の対象となる前記測光結果を用いて前記相関を検出する
ことを特徴とする撮像装置。
【請求項6】
複数回の測光を行う測光部を備えた測光装置においてフリッカを検出する検出方法であって、
基準時間から前記複数回の測光のそれぞれが行われるまでの経過時間を、特定の周期における位相に変換する変換ステップと、
前記位相に対する前記測光の出力値の関係と、前記特定の周期との相関を検出する検出ステップと、
前記検出ステップにおいて検出した相関が所定の基準よりも高い場合に、前記特定の周期のフリッカが、前記測光部による測光出力に含まれると判定する判定ステップと
を備えることを特徴とする検出方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−44244(P2012−44244A)
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願番号】特願2010−180841(P2010−180841)
【出願日】平成22年8月12日(2010.8.12)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願日】平成22年8月12日(2010.8.12)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】
[ Back to top ]