説明

撮像装置及び撮像方法

【課題】動画像撮影に適したクロックを有しない撮像装置にて、動画像撮影時のフレームレートの調整の有無に応じたフリッカ補正を行えるようにする。
【解決手段】動画像撮影時に目標フレームレートに対する誤差を基にフレームレートの調整を実施するか否かを判定し、判定結果に応じてフレーム周期を制御しフレームレートを調整するとともに、フレームレートの調整実施時のフレーム周期に対応した補正ゲイン値、及び調整不実施時のフレーム周期に対応した補正ゲイン値の両方を算出し、判定結果に応じて補正ゲイン値を選択して撮像データに対するフリッカ補正を行うようにして、フレームレートの調整の有無に応じた適切なフリッカ補正を行えるようにする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動画像を撮影可能な撮像装置及び撮像方法に関し、詳しくはフリッカの補正技術に関する。
【背景技術】
【0002】
光学情報を電気信号に変換する撮像部を有するデジタルカメラでは、撮像部で光電変換された電気信号をデジタル化して画像処理を施し、メディア等の記録媒体に記憶するのが一般的である。近年、撮像部にCMOSセンサを用いたデジタルカメラが市場に流通し、一眼レフデジタルカメラ等の高記録画素の分野では主流を占めようとしている。CMOSセンサは、1ライン毎に画素を順次リセットし、その後、1ライン毎に画素から順次信号を読み出すX−Yアドレス方式を採る。X−Yアドレス方式を採るCMOSセンサは、1画面に対して1ライン毎に画素を読み出すローリング電子シャッターという制御を採る。
【0003】
デジタルカメラを用いて、商用電源で直接点灯する蛍光灯等の点滅光源下で撮影を行うと、撮像素子の蓄積時間及び撮影フレーム周期(フレーム周波数)と光源の発光周波数との関係からフリッカが発生する。例えば、ローリング電子シャッター方式を採るCMOSセンサを用いて、電源周期に同期して交流点灯をする蛍光灯の照明下で動画像撮影を行うと、撮影で得られた画像内に横縞状のラインフリッカ(面内フリッカ)が発生し得る(例えば、特許文献1参照。)。特に、動画中においては、この横縞が移動するように見えるために、鑑賞時に不快感を与え問題である。
【0004】
図8は、チョークコイルを用いた蛍光灯の発光特性を説明するための図である。図8(a)には商用電源の単相正弦波を示しており、図8(b)には、図8(a)に示す商用電源で蛍光灯に印可される電圧を示している。図8(c)には蛍光灯から発生する光量を示している。図8に示すように、電源周期の1周期あたり2回発光するので、蛍光灯の発光周波数は電源周波数の2倍になる。すなわち、電源周波数が50Hzの地域では発光周波数は100Hzとなり、電源周波数が60Hzの地域では発光周波数は120Hzとなる。
【0005】
こうした点滅光源下でCMOSセンサを駆動すると、蓄積時間が点滅光源の発光周期の整数倍になっていないときには、発光周期T毎に図9に示すようなラインフリッカ(面内フリッカ)が発生する。しかも、フレーム周期が点滅光源の発光周期の整数倍でないときには、ラインフリッカ(面内フリッカ)は垂直方向に流れるので画像(映像)の劣化は特に目立ってしまう。動画像撮影時において、前述のような横縞状のラインフリッカ(面内フリッカ)の移動を抑えるには、各ラインの蓄積時間を点滅光源の発光周期の整数倍にすれば良いが、光学系の絞りの制御に精度が必要になる。
【0006】
ラインフリッカ(面内フリッカ)の補正技術として、以下の方法が特許文献2に提案されている。画像を垂直走査方向に分割して複数のフリッカ検波枠を設定し、フリッカ検波回路によってフリッカ検波枠毎に輝度データの検波を行う。そして、マイクロコンピュータ及びフリッカ周波数判別プログラムによってフリッカ検波枠毎に前後の2つのフレームの輝度データの差分をとり、フリッカ成分を抽出してフリッカの周波数を算出する。この後、抽出したフリッカ成分の山又は谷が、どの程度のフリッカ検波枠の間隔で発生しているかを測定し、それを周波数に置き換える。前後のフレームの差分をとった場合にフリッカ成分が消えないように、撮像信号のフレームレートとフリッカ周波数とを同期させないように調整する。そして、前述のようにして検出したフリッカの周波数を基に、電子シャッター機能とAGC(自動利得制御)回路を用いてフリッカの除去を行う。
【0007】
近年、デジタルスチルカメラでも動画像撮影が可能になり、デジタルカメラの撮影制御に係る設定の変更や更新は多岐に渡る。前述の点滅光源下の撮影でのラインフリッカ(面内フリッカ)の出現は、発光周期(電源周期)や点滅光源の発光特性によって変化する。また、それ以外にも、デジタルカメラが有する撮像素子における蓄積時間やフレームレート、画素の加算方式や間引き方式による読み出し時間の変化といった駆動状態によっても変化する。つまり、撮影制御に係る設定の変更等によってフリッカ成分は変化する。
【0008】
撮像素子の駆動状態の変更等によって生じた急激なフリッカ成分の変化に対し、精度良くフリッカ成分を補正可能な画像処理技術の提供を目的として、下記構成が特許文献3に提案されている。特許文献3には、フリッカ補正ステップと変更ステップとを有する画像処理技術が記載されている。フリッカ補正ステップでは、撮像素子により得られる画像信号からフリッカ成分を検出し、検出されたフリッカ成分に基づいて画像信号を補正する。また、変更ステップでは、撮像素子の駆動状態が第1の状態に維持されている期間と、駆動状態の変更が生じて撮像素子の駆動状態が第2の状態に維持されるまでの移行の期間では、フリッカ補正ステップにおける画像信号の補正を変更する。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2007−037103号公報
【特許文献2】特開2003−189129号公報
【特許文献3】特開2009−164774号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
前述のように、近年デジタルスチルカメラは、動画像撮影が可能になっているが、静止画撮影と動画像撮影とでは撮影に係るパラメータの定義が全く異なり、デジタルスチルカメラによる静止画撮影では従来起きなかった問題が発生している。その一つが、動画像撮影に適したクロックがデジタルスチルカメラで使用するクロックとして用意されていないという問題である。
【0011】
静止画撮影が主であるデジタルスチルカメラのフレームレート管理は、動画像撮影専用のビデオカメラのように合せ込んだものではない。例えば、30fps(frame per sec)の動画像撮影を行うとき、実際には30.04fpsでの駆動になったとすると、フレーム毎に0.04の分の誤差が蓄積されることになる。このような場合には、撮像処理において複数フレームに一度、時間調整のためのフレームレート制御を入れて対応する。例えば、CMOSセンサでは撮像フレームの1H(以降、ある1ラインの水平走査を1Hと記す。)に対する読み出しクロック数の変更が可能であるので、時間調整のフレームでは、1Hの期間を数クロック少なく設定することで走査時間を調整する。例えば、時間調整時のフレームレートが29.93fpsになったとすると、30fpsに対して0.07の分の蓄積誤差を減少させたことになる。このようにして、時間調整のフレームを用い長期間の(複数フレームにおける)平均として30fpsを実現する。
【0012】
図10を参照して、前述したフレームレート制御の一例を説明する。
図10において、1001は、撮像部から撮像データを読み出すためのタイミングパルス(図中、負論理)としての垂直同期信号(VD)である。1002は、垂直同期信号毎に読み出されるフレーム単位の撮像データであり、説明の便宜上、図中にフレーム単位で連番を添え字として付している。1003は、撮像データにおいて画像(映像)として補正処理や画像処理等の対象となる処理対象期間を示す信号である。処理対象期間は、垂直走査方向の有効画像(映像)範囲を示し、ラインフリッカ(面内フリッカ)の処理対象範囲となる。なお、処理対象期間中には、図示しない水平同期信号(HD)に起因した非画像データの期間も存在するが、本図では垂直走査方向に注視した説明としている。
【0013】
1004は、目標フレームレートと実際のフレームレートとが異なることによって蓄積される蓄積誤差の値である。1005は、蓄積誤差値を基にフレームレートの調整の実施有無を判定するタイミングを示す判定タイミング信号(パルス信号)であり、パルス状にハイレベル(“H”)になったときに判定が行われる。また、1006は、判定結果に応じてフレームレートの調整の実行を要求するための微調整実行ステータスを示す調整実行信号(パルス信号)であり、パルス状に“H”となったときにフレームレートの調整が実施される。
【0014】
図10においては、ハードウエア処理により実現することを鑑みて信号(パルス等)の発行タイミングを描画している。例えば、判定処理の実行自体をファームウエアを介在して実施する場合には、判定タイミング1005は、垂直同期信号1001のアサートの近傍よりも以前に発行しても構わない。また、調整実行信号1006は、ハードウエアに制御切り替えを伝えるためのパルス信号として描画しており、そのパルスは垂直同期信号1001のアサートの近傍にあり、フレームデータ取り込み前の撮像データの無効期間に制御切り替えを実施する。これは、有効な画像データを取得している時のフレームレート変更は画像(映像)品質の劣化を招いてしまうためである。
【0015】
デジタルスチルカメラは、判定タイミング信号1005がパルス状に“H”になったときに蓄積誤差値1004と閾値1007とを比較する。その結果、蓄積誤差値1004が閾値1007を超えていた場合には、フレームレートの調整を実施すると判断して調整実行信号1006がパルス状に“H”にされる。調整実行信号1006がパルス状に“H”にされることによって、デジタルスチルカメラは、撮像部における次フレームの蓄積時間を微調整するような制御を行う。例えば、デジタルスチルカメラは、1Hのクロック数を数クロック単位で調整したり、最終的にディスプレイ表示される画像(映像)の有効画素数には影響しないようにしたりして制御を行う。このような1H単位の調整の結果、通常フレーム周期T1での撮像データの取り込みが、時間調整時にはフレーム周期T2での撮像データの取り込みに調整されて、時間平均すると目標のフレーム周期での撮像データの取り込みを実現する。
【0016】
図10に示した例では、フレームレートの調整を実施するか否かの判定を3フレーム毎に一度実施するように判定タイミング信号1005が生成されている。そして、通常フレーム周期T1で撮像部等を駆動し、判定の結果、フレームレートの調整を実施すると判定した場合に調整フレーム周期T2で撮像部等を駆動するよう切り替え制御する。これら駆動に係るタイミングのパラメータの切り替えは、例えば、調整実行信号1006がパルス状に“H”になったことによって実施する。
【0017】
ここで、静止画撮影が主であるデジタルスチルカメラは、シャッター秒時の制御にバリエーション(例えば、静止画撮影時の秒時は高速〜低速までレンジが広い)が必要である。しかしながら、デジタルスチルカメラでは、幾つかの決まったフレームレート設定を選択する動画像撮影用にクロック精度を合わせ込むことは一般に行われていない。特に、いわゆるコンパクトデジカメと呼ばれる廉価なコンパクトカメラでも近年動画像撮影が可能になっているが、動画像撮影用にクロック精度を合わせ込むことはコストを増大させる。そのため、前述のようなフレームレートの調整での対応は、デジタルスチルカメラにおける動画像撮影においては大変有効な手法の一つである。
【0018】
しかしながら、前述のように動画像撮影において平均フレームレートを一定の目標値にするために時間調整のフレームを挿入することは、撮像素子の蓄積時間及び撮影フレーム周期(フレーム周波数)と点滅光源の発光周波数との関係が変化することを意味する。すなわち、電源周期に同期して点灯する点滅光源下での動画像撮影で発生するフリッカの状態が逐次変化することを意味する。そのため、CMOSセンサを有するデジタルカメラは、その(位相)関係の変化に追従したラインフリッカ(面内フリッカ)の検出・補正を行わないと、誤補正となってフリッカが余計に目立ち、画像劣化を起こすことにつながる。
【0019】
デジタルスチルカメラでの動画像撮影におけるフレームレートの調整は、例えば、以下の手順で行われる。まず、1又は複数のフレーム毎の処理期間のマシンサイクルを計数して、理想とするフレームレート(例えば、30fps)に対する差異を誤差として求める。次に、この誤差が許容範囲内にあるか否かを判定する。誤差が許容範囲内にない場合には、1H期間のクロック数を調整して次の撮影フレームのフレームレートを調整する。この処理を継続することで、長期間の平均値として目標とするフレームレートにする。誤差が許容範囲内にあるか否かの判定は、誤差の修正を目的としているので、例えば、フレームの垂直同期信号のタイミング(又は、その近傍)で行い、次のフレームにおいて反映するといった制御を行うのが理想である。
【0020】
ここで、ラインフリッカ(面内フリッカ)の補正ゲインは、補正対象となる撮影フレームのデータが入力されるときには取得されていなければ、その後の処理を停滞させることになる。撮像処理における処理の停滞は、データの取りこぼしにつながり、それはすなわちシステムとしての不成立を意味する。その他、撮影フレームのデータを取得してからフリッカの補正ゲインを取得するならば、撮影フレームのデータを遅延させる必要があり、一旦フレームバッファ等の一時記憶手段に記憶する必要が生ずる。フリッカ補正を行うために一時記憶手段を配置することは、コストの増加やスループットの低下につながる。前述のように垂直同期信号のタイミングでの判定や次のフレームでのフレームレートの調整となると、それによって変更された撮影フレーム周期を基にした補正ゲインの取得を判定以降に行ったのでは、撮像処理を停滞させるか一時記憶手段の配置が必要となる。
【0021】
また、前記特許文献3に記載の技術は、蓄積時間等の撮像素子(撮像部)の駆動状態に追従したフリッカ補正処理装置・プログラム等の提案である。しかし、補正処理に撮像部の駆動状態を反映する構成上、その実現には、事前に撮像部の駆動状態の変化をステータスとして得ているか、あるいは入力データに対する遅延の発生(ラインバッファとして用いられる一時記憶手段の配置)が必要になる。
【0022】
本発明は、このような事情に鑑みてなされたものであり、動画像撮影に適したクロックを有しない撮像装置にて、構成や動作に不都合を生じさせることなく、動画像撮影時のフレームレートの調整の有無に応じたフリッカ補正を行えるようにすることを目的とする。
【課題を解決するための手段】
【0023】
本発明に係る撮像装置は、動画像撮影時にフレームレートの調整が実施される撮像装置であって、動画像撮影時に動画像撮影の目標フレームレートに対する誤差を検出する検出手段と、前記検出手段により検出された誤差と閾値とを所定のタイミングで比較し、前記誤差が前記閾値を超えているときには前記フレームレートの調整を実施すると判定する判定手段と、前記判定手段にて前記フレームレートの調整を実施すると判定された場合に、フレーム周期を通常のフレーム周期とは異なる調整フレーム周期に制御する制御手段と、前記動画像撮影で得られる撮像データに対しフリッカ補正を施す補正手段と、前記フリッカ補正に係る補正ゲイン値を算出する補正ゲイン算出手段とを備え、前記補正ゲイン算出手段は、前記通常のフレーム周期に対応した第1の補正ゲイン値を算出するとともに前記調整フレーム周期に対応した第2の補正ゲイン値を算出し、前記補正手段は、前記判定手段での判定結果に応じて、前記第1の補正ゲイン値及び前記第2の補正ゲイン値のうちの一つを用いて前記フリッカ補正を行うことを特徴とする。
【発明の効果】
【0024】
本発明によれば、フレームレートの調整を実施する場合の補正ゲイン値、及び調整を実施しない場合の補正ゲイン値の両方を算出し、フレームレートの調整を実施するか否かの判定結果に応じて補正ゲイン値を選択し、撮像データに対してフリッカ補正を行う。これにより、動画像撮影に適したクロックを有していなくとも、フレームレートの調整の有無に応じたフリッカの検出及び補正を行うことができる。
【図面の簡単な説明】
【0025】
【図1】第1の実施形態における撮像装置の構成例を示す図である。
【図2】第1の実施形態における撮像装置の動作例を示すタイミングチャートである。
【図3】フリッカ成分検出処理の例を示すフローチャートである。
【図4】フリッカ補正用の補正ゲイン算出処理の例を示すフローチャートである。
【図5】フリッカ補正処理の例を示すフローチャートである。
【図6】第2の実施形態における撮像装置の動作例を示すタイミングチャートである。
【図7】第2の実施形態における撮像装置の構成例を示す図である。
【図8】チョークコイルを用いた蛍光灯の発光特性を説明するための図である。
【図9】ラインフリッカの一例を示す図である。
【図10】撮像装置でのフレームレートの調整動作を説明するための図である。
【発明を実施するための形態】
【0026】
以下、本発明の実施形態を図面に基づいて説明する。
【0027】
(第1の実施形態)
本発明の第1の実施形態について説明する。
第1の実施形態における撮像装置は、動画像撮影時に、任意のフレームにおいて目標フレームレートと現状の(現在の)フレームレートの乖離を比較し、比較結果に応じて、その後のフレームにてフレームレートの調整を実施するよう制御するデジタルカメラである。そのデジタルカメラには、動画像撮影が可能であるが、静止画撮影を主とするデジタルスチルカメラを含む。以下では、フレームレートの調整を実施するか否かの判定を3フレーム毎に行う場合を一例として説明する。
【0028】
図1は、第1の実施形態における撮像装置の構成例を示す図である。図1には、撮像装置の構成のうち、ラインフリッカ(面内フリッカ)の補正を実施するための要部を示している。
【0029】
図1において、同期信号生成部101は、撮像データを取り込むための同期信号を生成する。同期信号生成部101は、例えばタイミング生成部(TG:Timing Generator)102に対して撮像系へのタイミング発行を行うための基準タイミングを与える。同期信号生成部101は、例えばフレームのタイミング(垂直同期信号(VD)や水平同期信号(HD))を管理する。タイミング生成部102は、同期信号生成部101から垂直同期信号や水平同期信号を受け取り、撮像部103、CDS/AGC回路部104、及びA/D変換部105等に対して撮像データ取得のためのタイミング(駆動パルス等)を与える。タイミング生成部102は、例えば、撮像部103におけるリセット動作・蓄積動作・転送動作・読み出し動作を制御せしめるタイミングパルス等を撮像部103に出力する。
【0030】
撮像部103は、被写体像等に係る光学情報を光電変換して電気信号として取り出すための画素が二次元状(例えばマトリクス状)に配列されている。CDS/AGC回路部104は、相関二重サンプリング回路や自動利得制御回路等を含み、撮像部103より得られた電気信号のS/Nを改善するための処理等を行う。A/D変換部105は、アナログ電気信号をデジタル信号に変換する。すなわち、A/D変換部105は、撮像部103で得られ、CDS/AGC回路部104を介して入力された電気信号にアナログ−デジタル変換処理(A/D変換処理)を施してデジタルの撮像データに変換し出力する。A/D変換部105から出力された撮像データは、センサやアンプ等のアナログ回路部の特性を除去するための補正処理、及び偽色抑圧や解像度改善のための画像処理を施し、必要に応じて画像情報圧縮処理を施して、画像データファイルとして記録される。ラインフリッカ(面内フリッカ)を除去するためのフリッカ補正は、センサやアンプ等のアナログ回路部の特性を除去した後に行えば良い。なお、図1においては、センサやアンプ等のアナログ回路部の特性を除去するための補正処理に係る構成については省略している。
【0031】
フリッカ成分は、画像信号に対する変調成分である。フリッカ補正は、加算器(減算器)115、乗算器116、及び加算器117による演算処理によって実行される。A/D変換部105の出力からオフセット値が加算器(減算器)115によって減算され、加算器(減算器)115の出力とフリッカ補正用の補正ゲイン値とが乗算器116によって乗算される。乗算器116の出力に対して適宜セットアップ値が加算器117によって加算される。このようにして撮影で得られた撮像データに対するフリッカ補正(振幅補正)を行うには、フリッカ成分の検出を行う手段と、検出したフリッカ成分からフリッカ補正用(振幅補正用)の補正ゲイン値を算出する手段が必要である。
【0032】
積分処理部106は、A/D変換部105の出力である撮影データの信号レベルを積分する。ラインフリッカ(面内フリッカ)は、前述のように画像の垂直方向に明暗の縞のように現れる現象である。したがって、積分処理部106は、撮影データの信号レベルを水平方向(ライン毎)に積分した値を求めれば良い。しかしながら、光源や被写体の状態によっては画像における中央部及び端部(右端部・左端部)でのフリッカの影響を考慮しないと過補正や誤補正となり画像を劣化させることもあるので、水平方向について幾つか領域に分割して積分を実施するようにしても良い。
【0033】
サンプル点抽出部107は、サンプル点における積分処理部106の出力をサンプリング(抽出)する。ここで、点滅光源に供給する商用電源の周波数が50Hzである場合、フリッカ周波数は100Hzとなる。各ラインをサンプル点とする程の精度は不要であり、またシステムリソースの確保の点からもサンプル点を減らす必要がある。そこで、サンプル点抽出部107を用いて、フリッカ周期(例えば、100Hz)をサンプリング可能なサンプル点(代表点)にして積分処理部106の出力をサンプリングする。一時記憶部(バッファ)108は、サンプル点抽出部107によってサンプリングされたサンプル値を一時記憶する。
【0034】
検波部109は、点滅光源の発光周期で変調された撮影画像から、発光周期の成分を検波する。検波部109は、例えば商用電源の周波数が50Hzである場合には、100Hzの検波を行う。画像信号のように一定期間でサンプリングされたデータに対しては、離散フーリエ変換を用いた周波数領域への変換が一般的である。サンプリングする母数をN、サンプリングしたデータをx(n)(n=0,1,・・・,N−1)とすると、離散的なフーリエ係数X(k)としての周波数領域成分は(式1)で表される。
【0035】
【数1】

【0036】
時間T[sec]をN点で(等間隔に)サンプリングしたときのサンプリング間隔(周期)をt[sec]とすると、離散フーリエ変換後のフーリエ係数X(k)は(式2)で表される離散的な周波数fkの範囲で求められる。
【0037】
【数2】

【0038】
前記(式2)において、fsは、時間領域におけるサンプリング周波数である。サンプル点抽出部107によるサンプリングは、前記(式2)を満たすことで周波数成分fkを得ることができる。例えば、フリッカ周波数を100Hzとするとfk=100Hzであり、フレームレートの調整の有無によっては変化しない。フレームレートの調整の有無による調整の対象は、時間T[sec]がそれに当たり、結果としてサンプリング周期t[sec]が調整される。しかし、フレームレートの調整を実施するか否かにかかわらず、画素数としては同一になるように、例えば水平走査方向における有効画素以外のクロックカウントで調整され、垂直走査方向の写像であるサンプル点の時間間隔としては調整がなされる。
【0039】
画像信号から得られたサンプルデータのそれぞれは、実時間信号である。前記(式1)は、(式3)のように実部Re()及び虚部Im()に分離できる。それぞれの成分は、(式4−1)、(式4−2)のように表すことができる。
【0040】
【数3】

【0041】
前記(式4−1)、(式4−2)より、周波数fkにおける振幅スペクトルAkは(式5)のように求めることができ、位相成分Ωkは(式6)のように求めることができる。
【0042】
【数4】

【0043】
一時記憶部(バッファ)110は、検波部109の結果出力を保持する。一時記憶部110が保持する検波部109の結果出力には、前記(式4−1)、(式4−2)、式(5)、(式6)に示されるようなフリッカの成分を含む。
【0044】
本実施形態において、フレームレートの調整は、複数フレームの平均として目標フレームレートを達成する範疇で実施する。しかも、動画像として違和感なく通常の動画像と同じような動画像を得るために、撮像素子の駆動を大きく変更するものではない。つまり、本実施形態におけるフレームレートの調整の範疇では、その実施の有無による検波部109に得られるフリッカ成分の変動は無視できるものである。ただし、成分の抽出においてはfk=100Hzを正確に検波する必要がある。そのような制御状態を実現するために、例えば後述するセレクタ121及び127を設けて、適宜パラメータも切り替え選択できるようにしている。
【0045】
本実施形態では、フレーム毎にフリッカの振幅成分の変動が無視できる範囲でフレームレートの調整を実施するようにし、フレームレートの調整を実施するか否かによらずフリッカの振幅成分の変動を無視できるものとする。この条件では、検波対象フレームと補正対象フレームとが(時間的に)異なる場合に、それぞれの位相成分の条件を合わせて(フレーム間の位相量を調整して)逆フーリエ変換を実施することで、補正対象フレームのフリッカ成分を時間軸の成分で取り出せる。
【0046】
補正ゲイン算出部111a、111bは、フリッカ補正用の補正ゲイン値を算出する。なお、補正ゲイン算出部111a、111bによる補正ゲイン値の算出に係る演算処理は、並行して実行可能になっている。前述のように、検波部109の検波結果に対して位相成分を予測適用(以下、位相調整)して逆フーリエ変換を実施することで、補正対象フレームの時間領域でのフリッカ成分の値が算出できる。フレームレート(蓄積時間)が固定であるとすると、フリッカ成分のフレーム間位相量は、撮影時のフレームレートと点滅光源の発光周期との関係から一意に決まる。そのときの位相量をθkとして、前述した実部及び虚部を用いた逆フーリエ変換の式は、(式7)のようになる。なお、フレームレートが30fpsや60fpsなどで誤差がない場合には、発光周波数が100Hzの点滅光源に対しては3フレーム周期でフレーム間位相は元に戻る。フレームレートに誤差がある場合には、位相量にも誤差の影響が含まれるので、フレーム間位相の遷移をトレースして、その値を例えば位相保持部124のような保持部に保持しておく必要がある。
【0047】
【数5】

【0048】
検波部109で100Hzの検波を行ったとき、フリッカ成分の近似として正弦波のみを取り出すのであれば、補正ゲイン算出部111a、111bは、fk=100Hzとなるkについてのみ前記(式7)を用いた演算を行えば良い。このようにした場合には、演算量やフリッカ成分を保持するバッファ量を削減できる。ここで、逆フーリエ変換では、時間領域のフリッカ成分はゼロ中心として得られる。対象フレーム内に発生するフリッカ成分は被写体の信号強度に比例する(変調された状態である)ので、補正ゲイン算出部111a、111bは、逆フーリエ変換で得られたフリッカ成分値を1中心にして、その逆数を求めフリッカ補正用の補正ゲイン値とする。
【0049】
一時記憶部(バッファ)112a、112bは、補正ゲイン算出部111a、111bのそれぞれに対して配置され、補正ゲイン算出部111a、111bのそれぞれが算出した補正ゲイン値を保持する。一時記憶部112a、112bの出力(保持された補正ゲイン値)を乗算器116に供給することで、フリッカ補正(振幅補正)が実施される。
【0050】
本実施形態では、タイマー118、誤差検出部119、及び調整判定部120によって、フレームレートの調整を実施するか否かの判定を3フレームに1回の頻度で行う。タイマー118は、所定のフレーム数毎(ここでは3フレーム毎)の処理期間のマシンサイクルを計数する。マシンサイクルとは、タイマー118に入力されるクロック等の周期性を持つ信号・ステータスの繰り返し周期を指す。本実施形態においては、タイマー118は、垂直同期信号のイベント(パルス状にハイレベル(“H”)になる)間隔を3フレーム分計時し、計時結果を誤差検出部119に対して出力する。誤差検出部119は、タイマー118の計時結果を入力とし、その計時結果と目標数値との差異を求める加算器(減算器)を有する。誤差検出部119は、タイマー118の出力である計時結果と、目標フレームレート(例えば、30fps)に係る設定値との差異を誤差量として求めて出力する。
【0051】
調整判定部120は、フレームレートの調整を実施する否かの判定を行う。調整判定部120は、誤差検出部119の出力結果を受けて、次のフレームでの撮像データの取り込みにおいて撮像部103の駆動に調整を入れるか、入れないかを判定する。調整判定部120は、誤差許容範囲を示す閾値と計時結果を基に算出された誤差とを比較する比較器を有し、誤差が閾値を超えていた場合には誤差の是正が必要であると判断し、フレームレートの調整を実施すると判定する。フレームレートの調整に係る判定は、次のフレームの取り込みに対して画像(映像)に影響がないようにその結果を反映する。そのため、調整を実施するか否かの判定結果ステータスは、同期信号生成部101及びフリッカ検出系の制御部には直ちに伝達されるが、それらからの制御を受ける各機能部において直ちに反映されるわけではない。各機能部への実際の反映は、それぞれの機能部が有効データを処理していない適当な時期に適宜行われて、各機能部の制御状態が切り替えられる。
【0052】
セレクタ121及び127は、フレームレートの調整の有無に応じて、サンプル点抽出部107及び検波部109に供給される検出用パラメータを切り替える。離散フーリエ変換を用いて検波を実施するとき、調整によって変更されたフレームレートに対して画像上のサンプリング間隔に係る時間軸/周波数軸上の定義(又は解釈)が変更されると、検波での誤検出につながる。そこで、セレクタ121及び127は、サンプル点の間隔を調整して時間軸/周波数軸上におけるサンプリング間隔が異ならないよう、調整の有無に応じてそれぞれ適当なパラメータをサンプル点抽出部107及び検波部109に対して出力する。遅延部126は、セレクタ切り替え指示を行うためのステータス信号FSTを1フレーム処理分遅延させる。これは、検波処理自体が、対象フレームを積分した後の次のフレーム到達期間に処理するためである。
【0053】
なお、図1において、T1の表記は、フレームレートの調整を実施しないときの通常フレーム周期T1に関するパラメータであることを示すものとする。また、T2の表記は、フレームレートの調整を実施するときの調整フレーム周期T2に関するパラメータであることを示すものとする。また、図1においては、T1、T2で表記する2つのパラメータのみを示しているが、それぞれに別途複数のパラメータを設定しても良い。それら(周期を推定できる)パラメータとしては、例えばフレーム周期に係る数値(例えば、30.04fps,29.93fps等の具体的な数値)を挙げることができる。その他、前のフレームの有効ラインの終了点から後のフレームの有効ラインの開始点までの期間にフリッカ成分が進捗する位相量の数値を挙げることができる。また、それらを正規化した数値(1周期を2π[rad]として、2πを256等分して8bitで示した数値)等を挙げることができる。
【0054】
また、供給対象の機能部(例えば、サンプル点抽出部107や検波部109等)に対してそれぞれ適宜扱いやすいパラメータであれば良く、共通の値を供給することには拘らない。また、経路不図示であるが、積分処理部106に必要なパラメータを供給しても良い。この場合の必要なパラメータとは、積分開始・終了位置の調整による変更等が挙げられる。
【0055】
セレクタ(第1の選択部)122は、補正ゲイン算出部111a、111bによりそれぞれ算出されたフレームレートの調整を実施しない場合に使用される補正ゲイン値又はフレームレートの調整を実施する場合に使用される補正ゲイン値を選択的に出力する。本実施形態では、補正ゲイン算出部111a及び一時記憶部112aからなる一方の側をフレームレートの調整を実施しない側とし、補正ゲイン算出部111b及び一時記憶部112bからなる他方の側をフレームレートの調整を実施する側として、以下説明を行う。すなわち、補正ゲイン算出部111aが通常のフレーム周期T1に対応した第1の補正ゲイン値を算出し、補正ゲイン算出部111bが調整フレーム周期T2に対応した第2の補正ゲイン値を算出するものとする。
【0056】
また、補正ゲイン算出部111a、111bは、フレーム処理毎の任意のタイミングで更新するパラメータ(第1のパラメータ)をセレクタ(第2の選択部)123に対して出力する。セレクタ(第2の選択部)123は、補正ゲイン算出部111a、111bでのフレーム処理の進捗にあわせて推移した位相量のフィードバックを行うためのループの際に、実際に補正に用いた側からのパラメータ(第1のパラメータ)を選択し出力する。なお、このパラメータ(第1のパラメータ)は、例えば撮像部103における蓄積時間と動画像撮影時のフレームレートと点滅光源の発光周期との何れか又はすべての関係が反映された数値である。
【0057】
動画像撮影において、例えば各フレームにおいてずれがなく30fpsのフレームレート制御が実施されるのであれば、フリッカ成分のフレーム間位相は3フレームで一巡するように(3フレーム毎に)決まった値をとる。しかし、1フレームの処理が誤差なく1/30秒にならないようなフレームレート制御状態では、補正対象フレームの先頭におけるフリッカ成分の位相状態をトレースしていく必要がある。この位相状態をトレースしていくために、本実施形態では、位相保持部(一時記憶部)124においてセレクタ(第2の選択部)123の出力を積算していくことによって、位相状態を位相保持部(一時記憶部)124に保持する。
【0058】
ここで、図1において、φ1、φ2のそれぞれは、フレーム間の位相量φ1、φ2に関する調整を行うためのパラメータであることを示すものとする。フレーム間の位相量としてのφ1、φ2は、フリッカの時間成分算出のための逆フーリエ変換を計算するときの、基本波(例えば100Hz)の三角波(sin,cos)成分に対するフレーム先頭の位相量とする。フレーム先頭の位相量は、前のフレームの補正対象画像の終了位置からその後のフレーム(注目フレーム)の補正対象画像の開始位置までの位相量である(図2参照)。なお、φ1、φ2は、位相成分として角度で保持しても良いし、1周期を2πとしてそれを256で正規化した8bitの数値で保持しても良い。また、φ1、φ2を前のフレームの有効画像の終了ラインから注目フレームの有効画像の開始ラインまでの走査時間相当のライン数として保持し、補正ゲイン算出部中でフリッカ成分に対するフレーム間の位相量に換算しても良い。また、補正ゲイン算出部111a、111bのそれぞれに設定するφ1、φ2等の調整パラメータは、前述したφ1、φ2のみに限定するものではない。
【0059】
セレクタ(第3の選択部)125は、フレームレートの調整を実施するか否かに応じて、補正ゲイン算出部111aの入力パラメータ(第2のパラメータ)を選択して出力する。セレクタ(第3の選択部)125は、フレームレートの調整を実施しない場合には、フレーム間の位相量φ1に関する調整を行うためのパラメータを選択して、補正ゲイン算出部111aに対し入力パラメータ(第2のパラメータ)として出力する。また、セレクタ(第3の選択部)125は、フレームレートの調整を実施する場合には、フレーム間の位相量φ3に関する調整を行うためのパラメータを選択して、補正ゲイン算出部111aに対し入力パラメータ(第2のパラメータ)として出力する。ここで、フレーム間の位相量φ1、φ3に関する調整を行うための各パラメータは、例えば撮像部103における蓄積時間と動画像撮影時のフレームレートと点滅光源の発光周期との何れか又はすべての関係が反映された数値である。セレクタ125によって補正ゲイン算出部111aへの入力パラメータを切り替えることで、フレームレートの調整を実施した際に、次のフレームの補正ゲイン値を算出するためのフレーム間の位相量の予想に調整フレームの挿入の影響を反映させることができる。
【0060】
図2は、横軸を時間の推移として、第1の実施形態における撮像装置の動作例を示すタイミングチャートである。図2において、1001は、撮像部103から撮像データを読み出すためのタイミングパルス(本例では負論理)としての垂直同期信号(VD)である。1002は、垂直同期信号毎に読み出されるフレーム単位の撮像データであり、説明の便宜上、図中にフレーム単位で連番を添え字として付している。1003は、撮像データにおいて画像(映像)として補正処理や画像処理等の対象となる処理対象期間を示す信号である。なお、処理対象期間中には、図示しない水平同期信号(HD)に起因した非画像データの期間も存在するが、ここでは無視する。
【0061】
1004は、目標フレームレートと現状の(実際の)フレームレートとが異なることによって蓄積される蓄積誤差の値である。1005は、蓄積誤差値を基にフレームレートの調整を実施するか否かを判定するタイミングを示す判定タイミング信号(パルス信号)であり、パルス状に“H”になったときに判定が行われる。また、1006は、判定結果に応じてフレームレートの調整の実行を要求するための調整実行ステータスを示す調整実行信号(パルス信号)であり、パルス状に“H”となったときにフレームレートの調整が実施される。1007は、フレームレートの調整を実施するか否かを判定するための調整有無判定閾値である。
【0062】
また、201は、フレームレートの調整を実施する調整フレーム期間であるか否かを示すステータス信号(以下、調整フレーム信号とも称す。)である。調整フレーム信号201は、調整実行信号1006を受けて、次の1フレームを調整フレームとするか通常フレームとするかを状態(レベル)で示している。図2に示す例では、調整フレーム信号201がハイレベル(“H”)の場合には調整フレームとする、すなわち1フレームの周期を調整フレーム周期T2とすることを示すものとする。また、調整フレーム信号201がローレベル(“L”)の場合には通常フレームとする、すなわち1フレームの周期を通常のフレーム周期T1とすることを示すものとする。なお、調整フレーム信号201がハイレベルになった場合には、次の1フレームが終了した後に(そのフレーム終了後において垂直同期信号が次にアサートされるまでに)調整フレーム信号201はローレベルにされる。なお、例えば、調整フレーム信号201を、図1に示した調整判定部120の出力として、セレクタ121、122、123、及び125に分配するとともに、遅延部126を介してセレクタ127に分配し、各セレクタの切り替えを行うようにしても良い。
【0063】
202は、基本正弦波(例えば100Hz)であり、その振幅及び位相は任意である。周期T1、T2と点滅光源の発光周期との比較を容易にし、フリッカ成分のフレーム間位相の推移との関係を想像しやすくするよう図示している。
【0064】
203は、フリッカ成分(本例では100Hz)の検波の処理期間(検波期間)である。長方形で表した検波期間203において、長方形中の数字はフリッカ成分検出対象となる撮影データ1002の添字に対応している。204は補正ゲイン算出の処理期間(補正ゲイン算出期間)であり、205は補正ゲイン値を一時記憶部112a、112bから読み出して、撮影データ1002に適用しフリッカ補正を行う処理期間(フリッカ補正ゲイン読み出し期間)である。長方形で表した補正ゲイン算出期間204及びフリッカ補正ゲイン読み出し期間205において、長方形中の数字はフリッカ補正(振幅補正)の対象となる撮影データ1002の添字に対応している。
【0065】
本実施形態では、3フレーム毎に1回の頻度でフレームレートの調整を実施するか否かの判定を行う。その判定において、蓄積誤差値1004が判定閾値1007を超えているときには、誤差の是正が必要であると判断し、次の1フレームにおいてフレームレートの調整を実施する。なお、本実施形態では3フレーム毎に1回の頻度でフレームレートの調整を実施するか否かの判定を行うようにしているが、これに限定されず、所定のタイミング毎に判定を行えば良い。フレームレートの調整は、例えば通常フレーム(調整が入らないときのフレーム)に代えて、撮像部103(CMOSセンサ等)の1水平走査期間を通常フレームよりも数クロック分短い調整フレームを挿入することで調整する。つまり、本例では、常態で正側に誤差を蓄積し、調整時に誤差が負側(又は0)になるようにフレームレートを調整する。なお、誤差蓄積(増減)の方向は、前述の例に限らず、常態で負側に誤差を蓄積し、調整時に誤差が正側(又は0)になるようにフレームレートを調整しても良い。
【0066】
ここで、図2に示した位相量φ1、φ2、φ3、及びθ1、θ2について説明する。位相量φ1は、通常フレームが連続しているときの、前のフレームにおける処理対象期間の終了からその次のフレームにおける処理対象期間の開始までの間の位相量である。位相量φ2は、通常フレームから調整フレームに切り替わるときの、前のフレームにおける処理対象期間の終了からその次のフレームにおける処理対象期間の開始までの間の位相量である。位相量φ3は、調整フレームから通常フレームへ遷移するときの、前のフレームにおける処理対象期間の終了からその次のフレームにおける処理対象期間の開始までの間の位相量である。
【0067】
また、本実施形態における撮像装置のように位相関係の推移をトレースする必要がある場合には、処理対象期間1003における有効期間の間もトレースの対象になる。位相量θ1は通常フレーム処理における位相量であり、位相量θ2は調整フレーム処理における位相量である。位相量θ1、θ2のそれぞれは、例えば補正ゲイン算出部111a、111bで積算し、積算結果をセレクタ(第2の選択部)123を介して位相保持部124に送出すれば良い。また、位相量θ1、θ2は、補正ゲイン算出部111a、111bの出力をセレクタ(第2の選択部)123を介して位相保持部124に送出し、位相保持部124にて積算するようにしても良い。また、位相量φ3の出現は通常フレーム側に限られるので、セレクタ(第3の選択部)125は補正ゲイン算出部111a側にのみ設ければ良い。
【0068】
図2に示すように、添字iのフレームに係る撮像データ1002が取り込まれると、添字iの検波期間203にて、その撮像データ1002のフリッカ成分(周波数成分)の検出が行われる。添字iの検波期間203において検出されたフリッカ成分(周波数成分)は、添字(i+2)の補正ゲイン算出期間204にて、フレーム間の位相量が予測されて時間信号の成分に戻され、それを用いた補正ゲイン値の算出が行われる。添字(i+2)の補正ゲイン算出期間204において算出された補正ゲイン値は、添字(i+2)のフリッカ補正ゲイン読み出し期間205にて、乗算器116に出力され、それを用いた添字(i+2)のフレームに係る撮像データ1002のフリッカ補正が行われる。このように本実施形態における撮像装置では、添字(i+2)のフレームに係る撮像データ1002のフリッカ補正は、添字iのフレームに係る撮像データ1002のフリッカ成分から予測して算出した補正ゲイン値を用いて行われる。
【0069】
例えば、図2に示した例では、撮像データ1002の添字4のフレーム取り込み時にフレームレートの調整を実施している。添字4のフレームに係る撮像データ1002は、A/D変換部105でデジタル化されたデータとして乗算器116でフリッカ補正(振幅補正)される。このとき、前述のように添字2のフレーム取り込み期間に取り込まれた撮像データ1002のフリッカ成分から予測して算出した補正ゲイン値が、添字4のフレームに係る撮像データ1002のフリッカ補正に用いられる。添字2のフレーム取り込み期間に取り込まれた撮像データ1002は、次(撮像データ1002の添字3)のフレーム取り込み期間中に、フリッカ成分の検波が行われる。具体的には、検波期間203における期間203−2に、添字2のフレーム取り込み期間に取り込まれた撮像データ1002のフリッカ成分(周波数成分)が検波部109を用いて検出され、検出したフリッカ成分が一時記憶部110に格納される。そして、補正ゲイン算出期間204における期間204−4に、一時記憶部110に格納されているフリッカ成分(周波数成分)をフレーム間の位相量を予測して時間信号の成分に戻し、それを基に補正ゲイン値が算出される。算出した補正ゲイン値は、フリッカ補正ゲイン読み出し期間205における期間205−4に、乗算器116に対して出力される。
【0070】
ここで、補正ゲイン算出期間204における期間204−4では、次のフレーム(撮像データ1002の添字4のフレーム)がフレームレートの調整されたデータとして受信されるか否かは未定である。そのため、期間204−4では、補正ゲイン算出部111a、111bのそれぞれが、位相量φ1、φ2に係る調整パラメータを用いて補正ゲイン算出処理を行い、補正ゲイン値を結果として得る。なお、本実施形態では、3フレームに1回の実行頻度でフレームレートの調整を実施するか否かの判定が行われるので、フレームレートの調整は判定結果後の1フレームに対してのみ実施され得る。よって、フレームレートの調整を実施するか否かの判定を行うフレームを把握して制御するのであれば、補正ゲイン算出部111bでの補正ゲイン算出処理は、判定タイミング信号1005が発行される直前のフレームでのみ行うようにしても良い。
【0071】
フリッカ補正ゲイン読み出し期間205における期間205−4では、ステータス信号(調整フレーム信号)201によって現行フレームが調整フレームであることがわかる。このとき、補正ゲイン算出部111bによって算出され一時記憶部112bに格納されている補正ゲイン値(第2の補正ゲイン値)が、セレクタ(第1の選択部)122を介して乗算器116に出力される。また、このとき(添字4のフレーム)の撮像データ1002は、フレームレートの調整が実施されているので、調整フレーム周期T2を鑑みて積分処理部106での積分処理及びサンプル点抽出部107でのサンプリング処理を行う。そして、検波期間203における期間203−4において、同様に調整フレーム周期T2を鑑みて検波部109での検波処理が行われる。また、補正ゲイン算出期間204における期間204−5の前に、補正ゲイン算出部111aにはセレクタ125により位相量φ3の調整パラメータが入力される。
【0072】
以上のようにして、本実施形態における撮像装置は、フレームレートの調整を鑑みたラインフリッカ(面内フリッカ)の検出及び補正を実施する。
【0073】
本実施形態では、補正ゲイン算出部111a、111bに供給する調整パラメータは、フレーム間位相の位相量φ1、φ2、φ3に係るパラメータとしているが、これに限定されない。調整パラメータを、fk=100Hz一定の点滅周期に対するフレーム処理の時間量t1、t2、t3に係るパラメータとしても良い。例えば、φ1=2πfk・t1とすると、セレクタ125へ入力するパラメータ設定値としては時間量t1に係る数値で設定しておくことも可能である(φ2、φ3についても同様)。その場合、1フレーム経過時の位相保持部124への位相量更新値(例えば、(φ1+θ1)分の位相量)も、同様に時間量に係る数値とすることが好ましい。
【0074】
次に、本実施形態における撮像装置でのフリッカ成分検出処理、フリッカ補正用の補正ゲイン算出処理、及びフリッカ補正処理についてそれぞれ説明する。なお、フリッカ成分検出処理、フリッカ補正用の補正ゲイン算出処理、及びフリッカ補正処理の流れをそれぞれ示す図3〜図5には、動画像撮影時における任意のフレーム単位の処理として図示している。また、以下の説明では、次のフレームの撮像部103による撮像データの取り込みに対してフレームレートの調整を実施するか否かの判定が調整判定部120により実施され、その判定結果がステータス信号FST(201)として送出されているものとする。
【0075】
図3は、フリッカ成分検出処理の一例を示すフローチャートである。図3(a)には積分処理からサンプル点抽出処理までを示しており、図3(b)には検波処理を示している。例えば、図2に示した添字2のフレームの撮像データ1002の取り込み時にその撮像データ1002に係る積分処理及びサンプル点抽出処理(図3(a)に示す処理)が行われる。そして、その検波処理(図3(b)に示す処理)が検波期間203における期間203−2に行われる。このとき、フレームレートの調整を実施するか否か、すなわち処理対象のフレームが調整フレームであるか否かを示すステータス信号FST(201)は、遅延部126により1フレーム処理分遅延されてセレクタ127に供給されている。
【0076】
まず、図3(a)に示す積分処理及びサンプル点抽出処理について説明する。
セレクタ121は、ステータス信号FST(201)を参照して(S301)、処理対象フレームが通常フレームであれば図1に示したT1側のパラメータを選択し(S302)、調整フレームであれば図1に示したT2側のパラメータを選択する(S303)。セレクタ121における選択するパラメータの切り替えは、例えば処理対象期間1003により示される有効期間外で行う。続いて、積分処理部106が、A/D変換部105によりデジタル化された撮像データ1002をライン単位に積分する(S304)。次に、サンプル点抽出部107が、積分処理部106により得られた積分値(又は、それを平均化(正規化)した値でも良い)を、セレクタ121により選択されたパラメータを用いて所望のサンプル点に写像し一時記憶部108に一時保持させる(S305)。
【0077】
図3(a)に示した処理で得られた結果(一時記憶部108に格納されているデータ(サンプル値))を用いて、図3(b)に示す検波処理が行われる。本実施形態では、1フレーム分の撮像データよりすべてのサンプル点データを抽出した後、すなわち1フレーム分の撮像データの取り込み完了後に、検波処理を実施するため、検波処理に用いるパラメータの選択は、遅延部126の出力を参照して行われる。まず、セレクタ127は、遅延部126の出力(1フレーム分遅延されたステータス信号FST(201))を参照し(S311)、サンプル点データを抽出した処理対象フレームが通常フレームであれば図1に示したT1側のパラメータを選択する(S312)。一方、そうでなければ(調整フレームであれば)、セレクタ127は、図1に示したT2側のパラメータを選択する(S313)。続いて、検波部109が、セレクタ127により選択されたパラメータを用いて、一時記憶部108に格納されているデータを基にフリッカ成分を検波して一時記憶部110に保持させ(S314)、フリッカ成分検出処理を終了する。
【0078】
図4は、フリッカ補正用の補正ゲイン算出処理の一例を示すフローチャートである。
セレクタ(第2の選択部)123は、ステータス信号FST(201)を参照して(S401)、処理対象フレームが通常フレームであれば補正ゲイン算出部111aで積算した位相量を選択する(S402)。一方、そうでなければ(処理対象フレームが調整フレームであれば)、セレクタ(第2の選択部)123は、補正ゲイン算出部111bで積算した位相量を選択する(S404)。同様に、セレクタ(第3の選択部)125は、ステータス信号FST(201)を参照して(S401)、処理対象フレームが通常フレームであれば位相量φ1に係るパラメータを選択する(S403)。一方、そうでなければ(処理対象フレームが調整フレームであれば)、セレクタ(第3の選択部)125は、位相量φ3に係るパラメータを選択する(S405)。なお、前述したセレクタ123及びセレクタ125における選択については、時間的な優先順位はなく同時であっても良い。
【0079】
次に、位相保持部124は、セレクタ123の出力値を保持し、フリッカ成分の位相進捗が更新される(S406)。ここで、本実施形態では、取り込んだ撮像データを積分して検波実行するまでに1フレーム処理に対応する期間を要するので、位相保持部124は、初期値として(φ1+θ1)分の位相進捗が図示しない初期値設定ステップで設定される。また、補正ゲイン算出部111a、111bからのセレクタ123へのフィードバック値にも、同様に1フレーム分の位相進捗を反映した初期値が設定される。したがって、位相保持部124は、検波対象フレーム及び補正対象フレームの位相遅延量(2フレーム分)を保持する。
【0080】
前述した処理を完遂してから、補正ゲイン算出期間204として示される期間中において、補正ゲイン算出部111aによる補正ゲイン演算(S407)及び補正ゲイン算出部111bによる補正ゲイン演算(S408)がそれぞれ実行される。補正ゲイン算出部111aは、セレクタ125により選択された位相量φ1に係るパラメータ又は位相量φ3に係るパラメータを用いて、補正ゲイン演算を行い、補正ゲイン算出部111bは、位相量φ2に係るパラメータを用いて補正ゲイン演算を行う。そして、ステップS407及びS408での演算結果、すなわち算出した補正ゲイン値が、それぞれ一時記憶部112a、112bに一時格納され、補正ゲイン算出処理が終了する。なお、ステップS407及びS408における処理について、時間的な優先順位はなく、ステップS408に示す処理を実行した後にステップS407に示す処理を実行しても良いし、ハードウエア等で同時に実行しても良い。また、フレームレートの調整が実施され得る、すなわち調整フレームにされ得るフレーム位置が予め定まっている場合には、補正ゲイン算出部111bによる補正ゲイン演算は、調整フレームにされ得るフレーム位置の前のフレームにおいてのみ行うようにしても良い。
【0081】
また、図2に例示したタイミングチャートにも示されるように、一時記憶部112a、112bに対して、現在のフレームに係る補正ゲイン値の読み出しを行う期間と次のフレームに係る補正ゲイン値の書き込みを行う期間とが重複し得ることが考えられる。そのようなタイミングに対応するために、一時記憶部112a、112bはFIFO構成とするようにしても良い。また、ファームウエアであれば、一時記憶部112a、112bのそれぞれに対して複数のメモリ領域を確保するようにしても良い。また、一時記憶部112a、112bが同一の記憶手段として存在し、その中に記憶領域がそれぞれ独立に確保されていても良い(例えば、アドレスで管理されていても良い)。その場合には、セレクタ122はアドレスデコーダとして機能する他、アドレス管理部を別途設ける。
【0082】
図5は、フリッカ補正処理の一例を示すフローチャートである。
セレクタ(第1の選択部)122は、ステータス信号FST(201)を参照して(S501)、通常フレームに対する補正であれば一時記憶部112aの出力を選択する(S502)。一方、そうでなければ(調整フレームに対する補正であれば)、セレクタ(第1の選択部)122は、一時記憶部112bの出力を選択する(S503)。そして、撮像装置は、処理対象期間を示す信号1003にあわせて、選択された一時記憶部112a、112bからフリッカ補正用(振幅補正用)の補正ゲイン値を呼び出して乗算器116に入力する(S504)。すなわち、通常フレームに対する補正であれば、補正ゲイン算出部111aによって算出された補正ゲイン値が乗算器116に出力され、加算器(減算器)115、乗算器116、及び加算器117での演算処理によって撮像データに係るフリッカ補正が行われる。また、調整フレームに対する補正であれば、補正ゲイン算出部111bによって算出された補正ゲイン値が乗算器116に出力され、加算器(減算器)115、乗算器116、及び加算器117での演算処理によって撮像データに係るフリッカ補正が行われる。
【0083】
第1の実施形態によれば、動画像撮影時にフレームレートの調整が実施される撮像装置において、調整を実施したとき及び調整を実施しないときのフリッカ補正用の補正ゲイン値を算出し、調整の実施の有無に応じて適宜選択してフリッカ補正を行う。これにより、動画像撮影に適したクロックを有していなくとも、撮像データの取りこぼし(システム不成立)やフリッカ補正のための遅延を発生させることなく、フレームレートの調整に応じたラインフリッカ(面内フリッカ)の検出及び補正を行うことができる。
【0084】
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。
前述した第1の実施形態において例示の撮像装置は、動画像撮影時に3フレーム毎に目標フレームレートと現状の(現在の)フレームレートの乖離を比較することでフレームレートの調整を実施するか否かを判定し、その結果に応じてフレームレートの調整を行う。以下に説明する第2の実施形態における撮像装置は、動画像撮影時にフレーム毎にフレームレートの調整を実施するか否かを判定し、その結果に応じてフレームレートの調整を行うよう制御する。第2の実施形態における撮像装置には、動画像撮影が可能であるが、静止画撮影を主とするデジタルスチルカメラが含まれる。
【0085】
図6は、第2の実施形態における撮像装置の動作例を示すタイミングチャートであり、図7は、第2の実施形態における撮像装置の構成例を示す図である。なお、図6において、図2に示した要素と同一の要素には同一の符号を付して重複する説明は省略する。また、図7において、図1に示した要素と同一の要素には同一の符号を付して重複する説明は省略する。図6に示すように、第2の実施形態においては、フレーム毎(フレームデータ取り込み毎)に判定タイミング信号1005がパルス状に“H”になる。このようにフレームレートの調整を実施するか否かの判定周期が短くなったため、目標フレームレートと現状の(実際の)フレームレートとの誤差の蓄積期間も短縮される。そこで、図6においては、調整有無判定閾値1007を第1の実施形態よりも低く設定し、誤差回復の分解能を上げる方向に設定した場合を一例として示している。
【0086】
図6において、601は、現在の処理フレームがフレームレートの調整の対象であることを示す、すなわち現在の処理フレームが調整フレームであるか通常フレームであるかを示すステータス信号(調整フレーム信号)である。図6に示す例では、調整フレーム信号601は、ローレベル(“0”)で通常フレームであることを示し、ハイレベル(“1”)で調整フレームであることを示すものとする。第1の実施形態では、フレームレートの調整を実施するか否かの判定は3フレーム毎に1回行うので調整フレームが連続することはなく、ステータス信号(調整フレーム信号)が連続する2フレームにおいてハイレベルになることはない。それに対して、第2の実施形態では、フレームレートの調整を実施するか否かの判定の結果に応じて、調整フレームが連続することもあるので、連続する2フレーム以上の期間においてステータス信号(調整フレーム信号)601がハイレベルとなることがある。
【0087】
602は、基本正弦波(例えば100Hz)であり、その振幅及び位相は任意である。603は、フリッカ成分の検波の処理期間(検波期間)である。長方形で表した検波期間603において、長方形中の数字はフリッカ成分検出対象となる撮影データ1002の添字に対応している。604は補正ゲイン算出の処理期間(補正ゲイン算出期間)であり、605は補正ゲイン値を一時記憶部112a、112bから読み出して、撮影データ1002に適用しフリッカ補正を行う処理期間(フリッカ補正ゲイン読み出し期間)である。長方形で表した補正ゲイン算出期間604及びフリッカ補正ゲイン読み出し期間605において、長方形中の数字はフリッカ補正(振幅補正)の対象となる撮影データ1002の添字に対応している。
【0088】
図6に示した位相量φ1、φ2、φ3、φ4及びθ1、θ2について説明する。位相量φ1は、通常フレームが連続しているときの、前のフレームにおける処理対象期間の終了からその次のフレームにおける処理対象期間の開始までの間の位相量である。位相量φ2は、通常フレームから調整フレームに切り替わるときの、前のフレームにおける処理対象期間の終了からその次のフレームにおける処理対象期間の開始までの間の位相量である。位相量φ3は、調整フレームから通常フレームへ遷移するときの、前のフレームにおける処理対象期間の終了からその次のフレームにおける処理対象期間の開始までの間の位相量である。位相量φ4は、調整フレームが連続しているときの、前のフレームにおける処理対象期間の終了からその次のフレームにおける処理対象期間の開始までの間の位相量である。
【0089】
また、本実施形態における撮像装置のように位相関係の推移をトレースする必要がある場合には、処理対象期間1003における有効期間の間も位相量のトレース対象になる。位相量θ1は通常フレーム処理における位相量であり、位相量θ2は調整フレーム処理における位相量である。位相量θ1、θ2のそれぞれは、例えば図7に示す補正ゲイン算出部111a、111bで積算し、積算結果をセレクタ123を介して位相保持部124に送出すれば良い。また、位相量θ1、θ2は、補正ゲイン算出部111a、111bの出力をセレクタ123を介して位相保持部124に送出し、位相保持部124にて積算するようにしても良い。
【0090】
図7に示すように、第2の実施形態における撮像装置は、補正ゲイン算出部111aに対してセレクタ(第3の選択部)125を有するとともに、補正ゲイン算出部111bに対してセレクタ(第3の選択部)701を有する。セレクタ(第3の選択部)125、701は、フレームレートの調整を実施するか否かに応じて、フレーム間の位相量に関する調整を行うためのパラメータの選択を行い、選択されたパラメータを補正ゲイン算出部111a、111bに出力する。セレクタ125は、ステータス信号(調整フレーム信号)FSTがハイレベルであれば(調整フレーム時)、位相量φ3に関する調整パラメータを選択し、そうでなければ(通常フレーム時)、位相量φ1に関する調整パラメータを選択する。同様に、セレクタ701は、ステータス信号(調整フレーム信号)FSTがハイレベルであれば(調整フレーム時)、位相量φ4に関する調整パラメータを選択し、そうでなければ(通常フレーム時)、位相量φ2に関する調整パラメータを選択する。
【0091】
なお、第2の実施形態における撮像装置でのフレームレートの調整、及びフリッカ検出・補正に係る動作は、第1の実施形態における撮像装置での動作と基本的には同じである。ただし、フレームレートの調整を実施するか否かの判定をフレーム毎に行うこと、及びその結果、任意のフレームが調整フレームにされ得ることが、第1の実施形態とは異なる。また、調整フレームが連続する場合には、その先頭フレームを除き、位相量φ4に関する調整パラメータを用いた補正ゲイン算出部111bによる補正ゲイン演算により算出された補正ゲイン値を用いてフリッカ補正を行うことが、第1の実施形態とは異なる。
【0092】
なお、フレーム間位相の位相量φ1、φ2、φ3、φ4に係る調整パラメータを、fk=100Hz一定の点滅光源の周期に対するフレーム処理の時間量t1、t2、t3、t4に係る調整パラメータとしても良い。例えば、φ1=2πfk・t1とすると、セレクタ125に入力するパラメータ設定値としては時間量t1に係る数値で設定しておくことも可能である(φ2、φ3、φ4についても同様)。その場合、1フレーム経過時の位相保持部124への位相量更新値(例えば、(φ1+θ1)分の位相量)も、同様に時間量に係る数値とすることが好ましい。
【0093】
例えば、図6に示した例では、撮像データ1002の添字4のフレーム取り込み時及び添字5のフレーム取り込み時にフレームレートの調整を実施している。各撮像データ1002は、A/D変換部105でデジタル化されたデータとして乗算器116でフリッカ補正(振幅補正)される。ここで、添字4のフレームに係る撮像データ1002のフリッカ補正に用いられる補正ゲイン値は、添字2のフレーム取り込み期間に取り込まれた撮像データ1002のフリッカ成分を基に算出されたものである。すなわち、検波期間603−2に検出したフリッカ成分(周波数成分)を、補正ゲイン算出期間604−4にフレーム間の位相量を予測し時間信号成分に戻した値から得たものであり、フリッカ補正ゲイン読み出し期間605−4に乗算器116に出力される。同様に、添字5のフレームに係る撮像データ1002のフリッカ補正に用いられる補正ゲイン値は、添字3のフレーム取り込み期間に取り込まれた撮像データ1002のフリッカ成分を基に算出されたものである。すなわち、検波期間603−3に検出したフリッカ成分(周波数成分)を、補正ゲイン算出期間604−5にフレーム間の位相量を予測し時間信号成分に戻した値から得たものであり、フリッカ補正ゲイン読み出し期間605−5に乗算器116に出力される。このようにして、撮像データ1002の有効画像データに対してラインフリッカ(面内フリッカ)補正を実施していく。
【0094】
なお、補正ゲイン算出期間604−4での処理前における位相調整量は、撮像データ1002の添字4の期間に合わせるために位相量φ2を選択する必要がある。補正ゲイン算出期間604−4の前において、セレクタ701は、ステータス信号FST(601)を参照して位相量φ2に係るパラメータを選択しており、補正ゲイン算出部111bには位相量φ2に係るパラメータが入力される。なお、セレクタ125は、位相量φ1に係るパラメータを選択しており、補正ゲイン算出部111aには位相量φ1に係るパラメータが入力される。そして、補正ゲイン算出期間604−4に、補正ゲイン算出部111a、111bがそれぞれ補正ゲイン値を算出して、一時記憶部112a、112bに格納する。続いて、フリッカ補正ゲイン読み出し期間605−4に、セレクタ122を介して一時記憶部112bに格納されている、すなわち補正ゲイン算出部111bが算出した補正ゲイン値が読み出され、乗算器116に出力される。また、このとき位相保持部124に入力される位相進捗は、(φ2+θ2)となるようセレクタ123により補正ゲイン算出部111bでの積算結果が選択される。
【0095】
同様に、補正ゲイン算出期間604−5の処理前における位相調整量は、撮像データ1002の添字5の期間に合わせるために位相量φ4を選択する必要がある。補正ゲイン算出期間604−5の前において、セレクタ701は、ステータス信号FST(601)を参照して位相量φ4に係るパラメータを選択しており、補正ゲイン算出部111bには位相量φ4に係るパラメータが入力される。なお、セレクタ125は、位相量φ3に係るパラメータを選択しており、補正ゲイン算出部111aには位相量φ3に係るパラメータが入力される。そして、補正ゲイン算出期間604−5に、補正ゲイン算出部111a、111bがそれぞれ補正ゲイン値を算出して、一時記憶部112a、112bに格納する。続いて、フリッカ補正ゲイン読み出し期間605−5に、セレクタ122を介して一時記憶部112bに格納されている(補正ゲイン算出部111bが算出した)補正ゲイン値が読み出され、乗算器116に出力される。また、このとき位相保持部124に入力される位相進捗は、(φ4+θ2)となるようセレクタ123により補正ゲイン算出部111bでの積算結果が選択される。
【0096】
第2の実施形態によれば、動画像撮影時にフレームレートの調整が実施される撮像装置において、調整を実施したとき及び調整を実施しないときのフリッカ補正用の補正ゲイン値を算出し、調整の実施の有無に応じて適宜選択してフリッカ補正を行う。これにより、動画像撮影に適したクロックを有していなくとも、撮像データの取りこぼしやフリッカ補正のための遅延を発生させることなく、フレームレートの調整に応じたラインフリッカ(面内フリッカ)の検出及び補正を行うことができる。また、フレーム毎にフレームレートの調整を実施するか否かの判定を行うので、フレームレートの誤差の蓄積期間が短縮され、調整を実施するか否かの判定に用いる閾値を低く設定することができ、誤差回復の分解能を向上させることができる。
【0097】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0098】
101:同期信号生成部、102:タイミング生成部、103:撮像部、111a・111b:補正ゲイン算出部、112a・112b:一時記憶部、115:加算器、116:乗算器、117:加算器、118:タイマー、119:誤差検出部、120:調整判定部、122:セレクタ(第1の選択部)、123:セレクタ(第2の選択部)、124:位相保持部、125・701:セレクタ(第3の選択部)

【特許請求の範囲】
【請求項1】
動画像撮影時にフレームレートの調整が実施される撮像装置であって、
動画像撮影時に動画像撮影の目標フレームレートに対する誤差を検出する検出手段と、
前記検出手段により検出された誤差と閾値とを所定のタイミングで比較し、前記誤差が前記閾値を超えているときには前記フレームレートの調整を実施すると判定する判定手段と、
前記判定手段にて前記フレームレートの調整を実施すると判定された場合に、フレーム周期を通常のフレーム周期とは異なる調整フレーム周期に制御する制御手段と、
前記動画像撮影で得られる撮像データに対しフリッカ補正を施す補正手段と、
前記フリッカ補正に係る補正ゲイン値を算出する補正ゲイン算出手段とを備え、
前記補正ゲイン算出手段は、前記通常のフレーム周期に対応した第1の補正ゲイン値を算出するとともに前記調整フレーム周期に対応した第2の補正ゲイン値を算出し、
前記補正手段は、前記判定手段での判定結果に応じて、前記第1の補正ゲイン値及び前記第2の補正ゲイン値のうちの一つを用いて前記フリッカ補正を行うことを特徴とする撮像装置。
【請求項2】
前記判定手段での判定結果を受けて、前記補正ゲイン算出手段により算出された前記第1の補正ゲイン値及び前記第2の補正ゲイン値のうちの一つを選択して前記補正手段に出力する第1の選択手段を備えることを特徴とする請求項1記載の撮像装置。
【請求項3】
前記補正ゲイン算出手段は、前記補正ゲイン値の算出に係る演算をそれぞれ行う複数の補正ゲイン演算手段を有し、
前記補正ゲイン演算手段の出力のそれぞれが、前記第1の選択手段の入力に反映されることを特徴とする請求項2記載の撮像装置。
【請求項4】
複数の前記補正ゲイン演算手段のそれぞれに対して、前記補正ゲイン演算手段の出力を保持する一時記憶手段を配置し、
前記第1の選択手段は、前記判定手段での判定結果を受けて、前記一時記憶手段に保持されている値のうちから前記補正手段に出力する補正ゲイン値を選択することを特徴とする請求項3記載の撮像装置。
【請求項5】
前記補正ゲイン演算手段は、フレーム処理毎の任意のタイミングで更新する第1のパラメータを出力し、
前記判定手段での判定結果を受けて、複数の前記補正ゲイン演算手段がそれぞれ出力する前記第1のパラメータのうちの一つを選択する第2の選択手段と、
フレーム処理毎の任意のタイミングで前記第2の選択手段の出力を積算していく保持手段とを備えることを特徴とする請求項3記載の撮像装置。
【請求項6】
前記第1のパラメータは、撮像手段の蓄積時間と撮影時のフレームレートと点滅光源の発光周期との何れか又はすべての関係が反映された数値であることを特徴とする請求項5記載の撮像装置。
【請求項7】
前記保持手段の出力値が、複数の前記補正ゲイン演算手段の入力パラメータとして供給されることを特徴とする請求項5記載の撮像装置。
【請求項8】
前記判定手段での判定結果を受けて、任意の補正ゲイン演算手段の入力パラメータである第2のパラメータとしての複数のパラメータ設定値のうちの一つを選択する第3の選択手段を備え、
少なくとも1つ以上の前記補正ゲイン演算手段は、フレーム処理毎の任意のタイミングで前記第3の選択手段の出力を入力パラメータとすることを特徴とする請求項3記載の撮像装置。
【請求項9】
前記第2のパラメータは、撮像手段の蓄積時間と撮影時のフレームレートと点滅光源の発光周期との何れか又はすべての関係が反映された数値であることを特徴とする請求項8記載の撮像装置。
【請求項10】
前記第2のパラメータは、撮影で得られる動画像における各フレームの垂直方向での画像の開始位置及び終了位置と、フリッカ補正の開始位置及び終了位置との少なくとも1つを反映した数値であることを特徴とする請求項8記載の撮像装置。
【請求項11】
複数の前記補正ゲイン演算手段のそれぞれは並行して処理を実行可能であることを特徴とする請求項3記載の撮像装置。
【請求項12】
動画像撮影時にフレームレートの調整が実施される撮像装置であって、
動画像撮影時に動画像撮影の目標フレームレートに対する誤差を検出する検出手段と、
前記検出手段により検出された誤差と閾値とを所定のタイミングで比較し、前記誤差が前記閾値を超えているときには前記フレームレートの調整を実施すると判定する判定手段と、
前記判定手段にて前記フレームレートの調整を実施すると判定された場合に、フレーム周期を通常のフレーム周期とは異なる調整フレーム周期に制御する制御手段と、
前記動画像撮影で得られる撮像データに対しフリッカ補正を施す補正手段と、
前記フリッカ補正に係る補正ゲイン値を算出する補正ゲイン算出手段と、
前記フリッカ補正に係る補正ゲイン値を算出する複数の補正ゲイン演算手段と、
複数の前記補正ゲイン演算手段のそれぞれにより算出された前記補正ゲイン値を保持する一時記憶手段と、
前記判定手段での判定結果を受けて、前記一時記憶手段に保持されている補正ゲイン値を選択し前記補正手段に出力する第1の選択手段とを備えることを特徴とする撮像装置。
【請求項13】
複数の前記補正ゲイン演算手段のうちの1つ以上の前記補正ゲイン演算手段には、前記判定手段での判定結果を受けて選択される複数のパラメータが設定されていることを特徴とする請求項12記載の撮像装置。
【請求項14】
前記補正ゲイン演算手段は、フレーム処理毎の任意のタイミングで更新するパラメータを出力し、
複数の前記補正ゲイン演算手段からそれぞれ出力される前記パラメータを選択する第2の選択手段と、
前記第2の選択手段の出力を一時記憶する保持手段とを備え、
前記第2の選択手段は、前記判定手段での判定結果を受けて前記パラメータを切り替えて出力し、
前記補正ゲイン演算手段のそれぞれは、前記保持手段の出力を入力パラメータとして受信することを特徴とする請求項12記載の撮像装置。
【請求項15】
動画像撮影に係る目標フレームレートと現状のフレームレートとの間にクロックの精度に係る誤差が存在し、前記目標フレームレートと現状のフレームレートとの誤差を調整する制御が実施される動画像撮影が可能な撮像装置であって、
前記目標フレームレートと現状のフレームレートとの誤差を調整する制御の実施の有無に従い、撮影で得られる撮像データに対する振幅補正用の補正ゲイン値を変更する手段を備えることを特徴とする撮像装置。
【請求項16】
動画像撮影時に前記現状のフレームレートに係る時間を計時する計時手段と、
前記計時手段の出力値と動画像撮影における前記目標フレームレートに係る設定値との誤差を検出する検出手段と、
前記検出手段により検出された誤差が閾値を超えたときに誤差の是正が必要であると判定する判定手段とを備え、
前記判定手段での判定結果を受けて、前記目標フレームレートと現状のフレームレートとの誤差量を調整する制御を行い、
前記判定手段での判定結果を受けて、撮影で得られる撮像データに対する振幅補正用の補正ゲイン値を変更することを特徴とする請求項15記載の撮像装置。
【請求項17】
前記撮像データに対する振幅補正は、撮像手段の蓄積時間と撮影時のフレームレートと点滅光源の発光周期との関係によって発生するラインフリッカの補正であることを特徴とする請求項15又は16記載の撮像装置。
【請求項18】
動画像撮影時にフレームレートの調整が実施される撮像装置での撮像方法であって、
動画像撮影時に動画像撮影の目標フレームレートに対する誤差を検出する検出工程と、
前記検出工程にて検出された誤差と閾値とを所定のタイミングで比較し、前記誤差が前記閾値を超えているときには前記フレームレートの調整を実施すると判定する判定工程と、
前記判定工程にて前記フレームレートの調整を実施すると判定された場合に、フレーム周期を通常のフレーム周期とは異なる調整フレーム周期に制御する制御工程と、
前記動画像撮影で得られる撮像データに対しフリッカ補正を施す補正工程と、
前記フリッカ補正に係る補正ゲイン値を算出する補正ゲイン算出工程とを有し、
前記補正ゲイン算出工程では、前記通常のフレーム周期に対応した第1の補正ゲイン値を算出するとともに前記調整フレーム周期に対応した第2の補正ゲイン値を算出し、
前記補正工程では、前記判定工程での判定結果に応じて、前記第1の補正ゲイン値及び前記第2の補正ゲイン値のうちの一つを用いて前記フリッカ補正を行うことを特徴とする撮像方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2012−204872(P2012−204872A)
【公開日】平成24年10月22日(2012.10.22)
【国際特許分類】
【出願番号】特願2011−64868(P2011−64868)
【出願日】平成23年3月23日(2011.3.23)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】