(57)【要約】【課題】ＸＹアドレス走査型の固体撮像素子により撮像された画像のフリッカ成分を、回路規模の小さな画像処理装置で、精度よく検出する。【解決手段】積分処理部２１１による積分値を、フィルタ処理部２１３により１フィールドごとに平均化し、差分演算部２１４による、隣接するフィールドにおける積分値の差分値を、フィルタ処理部２１３の出力値を用いて正規化処理部２１５により正規化し、正規化後の差分値のスペクトルを、ＤＦＴ処理部２２０により抽出する。また、フィルタ処理部２１３を巡回型フィルタで構成し、システムコントローラの制御により、手振れ検出部による手振れ検出量が大きいほど、フィルタ処理部２１３に対するフィルタ係数ｋとして大きな値を設定する。【選択図】図３
2007158964.tif 000002
【特許請求の範囲】
【請求項１】
画像信号を処理する画像処理装置において、
前記画像信号を１水平同期期間以上の単位で積分する積分手段と、
前記積分手段による積分値を１フィールドまたは１フレームごとに平均化する、巡回型フィルタからなるフィルタ処理手段と、
前記積分手段による積分値、または隣接するフィールドもしくはフレームにおける積分値の差分値を、前記フィルタ処理手段の出力値を用いて正規化する正規化手段と、
前記正規化手段による正規化後の積分値または差分値のスペクトルを抽出する周波数解析手段と、
前記周波数解析手段により抽出されたスペクトルから、蛍光灯照明下で画面上に生じるフリッカ成分を推定するフリッカ推定手段と、
撮像時の手振れを検出する手振れ検出手段と、
前記手振れ検出手段による手振れ検出量に応じて、前記フィルタ処理手段に対するフィルタ係数の設定値を変化させるフィルタ制御手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記フィルタ制御手段は、前記手振れ検出量が大きいほど、前記フィルタ係数として大きな値を設定することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記フィルタ制御手段は、さらに、前記手振れ検出量が所定の下限値以下の場合、および所定の上限値以上の場合には、前記フィルタ係数をそれぞれ個別の一定値に保持することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記手振れ検出手段は、角速度センサまたは加速度センサからなることを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記正規化手段は、前記積分手段による積分値、または隣接するフィールドもしくはフレームにおける積分値の差分値を、前記フィルタ処理手段の出力値で除算することを特徴とする請求項１記載の画像処理装置。
【請求項６】
前記フリッカ推定手段により推定されたフリッカ成分を打ち消すように前記画像信号を補正する補正手段をさらに有することを特徴とする請求項１記載の画像処理装置。
【請求項７】
ＸＹアドレス走査型の固体撮像素子を用いて画像を撮像する撮像装置において、
撮像により得られた画像信号を、１水平同期期間以上の単位で積分する積分手段と、
前記積分手段による積分値を１フィールドまたは１フレームごとに平均化する、巡回型フィルタからなるフィルタ処理手段と、
前記積分手段による積分値、または隣接するフィールドもしくはフレームにおける積分値の差分値を、前記フィルタ処理手段の出力値を用いて正規化する正規化手段と、
前記正規化手段による正規化後の積分値または差分値のスペクトルを抽出する周波数解析手段と、
前記周波数解析手段により抽出されたスペクトルから、蛍光灯照明下で画面上に生じるフリッカ成分を推定するフリッカ推定手段と、
撮像時の手振れを検出する手振れ検出手段と、
前記手振れ検出手段による手振れ検出量に応じて、前記フィルタ処理手段に対するフィルタ係数の設定値を変化させるフィルタ制御手段と、
を有することを特徴とする撮像装置。
【請求項８】
蛍光灯照明下で撮像画像上に生じるフリッカを検出するための画像処理方法において、
手振れ検出手段が、撮像時の手振れを検出するステップと、
フィルタ制御手段が、前記手振れ検出手段による手振れ検出量に応じて、巡回型フィルタからなるフィルタ処理手段に対するフィルタ係数の設定値を変化させるステップと、
積分手段が、撮像により得られた画像信号を１水平同期期間以上の単位で積分するステップと、
前記フィルタ処理手段が、前記積分手段による積分値を１フィールドまたは１フレームごとに平均化するステップと、
正規化手段が、前記積分手段による積分値、または隣接するフィールドもしくはフレームにおける積分値の差分値を、前記フィルタ処理手段の出力値を用いて正規化するステップと、
周波数解析手段が、前記正規化手段による正規化後の積分値または差分値のスペクトルを抽出するステップと、
フリッカ推定手段が、前記周波数解析手段により抽出されたスペクトルから、前記撮像画像上に生じるフリッカ成分を推定するステップと、
を含むことを特徴とする画像処理方法。
【請求項９】
蛍光灯照明下で撮像画像上に生じるフリッカを検出する処理をコンピュータに実行させる画像処理プログラムにおいて、
撮像により得られた画像信号を１水平同期期間以上の単位で積分する積分手段、
前記積分手段による積分値を１フィールドまたは１フレームごとに平均化する、巡回型フィルタからなるフィルタ処理手段、
前記積分手段による積分値、または隣接するフィールドもしくはフレームにおける積分値の差分値を、前記フィルタ処理手段の出力値を用いて正規化する正規化手段、
前記正規化手段による正規化後の積分値または差分値のスペクトルを抽出する周波数解析手段、
前記周波数解析手段により抽出されたスペクトルから、前記撮像画像上に生じるフリッカ成分を推定するフリッカ推定手段、
撮像時の手振れを検出する手振れ検出手段、
前記手振れ検出手段による手振れ検出量に応じて、前記フィルタ処理手段に対するフィルタ係数の設定値を変化させるフィルタ制御手段、
として、前記コンピュータを機能させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像信号を処理する画像処理装置、およびこの機能を備えた撮像装置に関し、特に、ＸＹアドレス走査型の固体撮像素子により撮像された画像信号に対する処理に適した画像処理装置および撮像装置に関する。
【背景技術】
【０００２】
商用交流電源により点灯される蛍光灯などの点滅する光源の照明下で、ビデオカメラにより被写体を撮影すると、光源の輝度変化（光量変化）の周波数とカメラの垂直同期周波数との違いによって、撮像画像上に時間的な明暗の変化、いわゆる蛍光灯フリッカが生じることが知られている。特に、ＣＭＯＳ（Complementary Metal Oxide Semiconductor）型イメージセンサなどのＸＹアドレス走査型の撮像素子を用いた場合には、水平ラインごとの露光タイミングが異なるため、撮像画像上のフリッカは、垂直方向の周期的な輝度レベルあるいは色相の変動による縞模様として観察される。
【０００３】
このようなフリッカの成分を撮像画像信号から除去するための手法としては、主に、シャッタスピードとフリッカレベルとの関連性に基づいて補正する方式（シャッタ補正方式と呼ぶ）と、フリッカ波形を検出してその逆波形を補正ゲインとして画像信号に適用する方式（ゲイン補正方式と呼ぶ）とが知られている。これらのうち、ゲイン補正方式によるフリッカ低減方法としては、画像信号の信号レベルの変化を周波数解析してフリッカ周波数のスペクトルを検出し、このスペクトルの振幅値に基づいて画像信号の信号レベルを補正する方法があった（例えば、特許文献１参照）。
【０００４】
また、ゲイン補正方式によるフリッカ低減方法では、画像信号の積分値を平均化し、その平均化した値で、領域ごとの積分値を除算して、その除算した値を用いてスペクトルの演算を行うことで、被写体に動きがある場合にも高精度にフリッカ成分を抽出できることが知られている。さらに、上記の積分値の平均化処理として、例えば巡回型フィルタやＦＩＲ（Finite Impulse Response）フィルタなどを用いた手法が知られている（例えば、特許文献２参照）。
【特許文献１】特開２００４−２２２２２８号公報（段落番号〔００７２〕〜〔０１１１〕、図４）
【特許文献２】特開２００１−１１１８８７号公報（段落番号〔００５５〕〜〔００６４〕、図８）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上述した画像信号の積分値の平均化のために、ＦＩＲフィルタを用いた場合には、所望の周波数特性を得やすいという反面、画像信号を一時的に記憶するためのメモリの容量が大きくなるなど、回路規模が比較的大きくなるという特徴がある。一方、巡回型フィルタを用いた場合には、ＦＩＲフィルタの場合と比較して、所望の周波数特性を得にくい。特に、手振れなどにより被写体に大きな変化が生じたときには、平均化により画像信号からフリッカ成分を十分抑圧できなくなり、フリッカ成分の抽出精度が低下してしまう。しかし、巡回型フィルタを用いた場合、ＦＩＲフィルタの場合と比較して、回路規模を小さくできるというメリットもある。
【０００６】
本発明はこのような点に鑑みてなされたものであり、ＸＹアドレス走査型の固体撮像素子により撮像された画像のフリッカ成分を精度よく検出できる、回路規模の小さい画像処理装置を提供することを目的とする。
【０００７】
また、本発明の他の目的は、ＸＹアドレス走査型の固体撮像素子により撮像された画像のフリッカ成分を精度よく検出できる、回路規模の小さい検出装置を備えた撮像装置を提供することである。
【課題を解決するための手段】
【０００８】
本発明では上記課題を解決するために、画像信号を処理する画像処理装置において、前記画像信号を１水平同期期間以上の単位で積分する積分手段と、前記積分手段による積分値を１フィールドまたは１フレームごとに平均化する、巡回型フィルタからなるフィルタ処理手段と、前記積分手段による積分値、または隣接するフィールドもしくはフレームにおける積分値の差分値を、前記フィルタ処理手段の出力値を用いて正規化する正規化手段と、前記正規化手段による正規化後の積分値または差分値のスペクトルを抽出する周波数解析手段と、前記周波数解析手段により抽出されたスペクトルから、蛍光灯照明下で画面上に生じるフリッカ成分を推定するフリッカ推定手段と、撮像時の手振れを検出する手振れ検出手段と、前記手振れ検出手段による手振れ検出量に応じて、前記フィルタ処理手段に対するフィルタ係数の設定値を変化させるフィルタ制御手段とを有することを特徴とする画像処理装置が提供される。
【０００９】
このような画像処理装置では、積分手段による積分値を、フィルタ処理手段により１フィールドまたは１フレームごとに平均化し、積分手段による積分値、または隣接するフィールドもしくはフレームにおける積分値の差分値を、フィルタ処理手段の出力値を用いて正規化手段により正規化し、正規化後の積分値または差分値のスペクトルを周波数解析手段により抽出することで、一様でない画像からでもフリッカ成分が高精度に検出される。また、フィルタ処理手段を巡回型フィルタで構成することで、フィルタ処理に必要な信号保持のためのメモリ容量が小さくなり、演算処理負荷が低減される。そして、フィルタ制御手段により、手振れ検出手段による手振れ検出量に応じて、フィルタ処理手段に対するフィルタ係数を変化させることで、画面の動きが大きい場合のフリッカ成分の誤検出が発生しにくくなる。
【発明の効果】
【００１０】
本発明の画像処理装置によれば、積分値を平均化するためのフィルタ処理手段を巡回型フィルタで構成することで、フィルタ処理に必要な信号保持のためのメモリ容量を削減でき、演算処理負荷を軽減できる。また、手振れ検出量に応じて、フィルタ処理手段に対するフィルタ係数を変化させることで、画面の動きが大きい場合のフリッカ成分の誤検出が発生しにくくなる。従って、フリッカ成分の検出精度が高く、かつ回路規模の小さい画像処理装置を実現できる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
＜システム構成＞
図１は、本発明の実施の形態に係る撮像装置の要部構成を示すブロック図である。
【００１２】
図１に示す撮像装置は、光学ブロック１１、ドライバ１１ａ、ＣＭＯＳ型イメージセンサ（以下、ＣＭＯＳセンサと略称する）１２、タイミングジェネレータ（ＴＧ）１２ａ、アナログフロントエンド（ＡＦＥ）回路１３、カメラ処理回路１４、システムコントローラ１５、および手振れ検出部１６を具備する。
【００１３】
光学ブロック１１は、被写体からの光をＣＭＯＳセンサ１２に集光するためのレンズ、レンズを移動させてフォーカス合わせやズーミングを行うための駆動機構、シャッタ機構、アイリス機構などを具備している。ドライバ１１ａは、システムコントローラ１５からの制御信号に基づいて、光学ブロック１１内の各機構の駆動を制御する。
【００１４】
ＣＭＯＳセンサ１２は、ＣＭＯＳ基板上に、フォトダイオード（フォトゲート）、転送ゲート（シャッタトランジスタ）、スイッチングトランジスタ（アドレストランジスタ）、増幅トランジスタ、リセットトランジスタ（リセットゲート）などからなる複数の画素が２次元状に配列されて形成されるとともに、垂直走査回路、水平走査回路、画像信号の出力回路などが形成されたものである。このＣＭＯＳセンサ１２は、ＴＧ１２ａから出力されるタイミング信号に基づいて駆動され、被写体からの入射光を電気信号に変換する。ＴＧ１２ａは、システムコントローラ１５の制御の下でタイミング信号を出力する。
【００１５】
なお、この実施の形態では、ＣＭＯＳセンサ１２から得られるアナログ画像信号はＲＧＢ（Red,Green,Blue）各色の原色信号であるが、例えば補色系の色信号などでもよい。
ＡＦＥ回路１３は、例えば１つのＩＣ（Integrated Circuit）として構成され、ＣＭＯＳセンサ１２から出力された画像信号に対して、ＣＤＳ（Correlated Double Sampling）処理によりＳ／Ｎ（Signal／Noise）比を良好に保つようにサンプルホールドを行い、さらにＡＧＣ（Auto Gain Control）処理により利得を制御し、Ａ／Ｄ（Analog/Digital）変換を行ってデジタル画像信号を出力する。なお、ＣＤＳ処理を行う回路は、ＣＭＯＳセンサ１２と同一基板上に形成されてもよい。
【００１６】
カメラ処理回路１４は、例えば１つのＩＣとして構成され、ＡＦＥ回路１３からの画像信号に対して、後述するホワイトバランス調整などの各種信号補正、ＡＦ（Auto Focus）、ＡＥ（Auto Exposure）などのカメラ信号処理を施したり、またはその処理の一部を実行する。本実施の形態では、特に、蛍光灯下の撮像時に画面に生じるフリッカの信号成分を画像信号から低減するフリッカ低減部２０を備えている。
【００１７】
システムコントローラ１５は、例えば、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などから構成されるマイクロコントローラであり、ＲＯＭなどに記憶されたプログラムを実行することにより、この撮像装置の各部を統括的に制御する。また、カメラ処理回路１４との間で通信して、上記各種カメラ信号処理のための演算の一部を実行する。さらに、本実施の形態では、後述するように、カメラ処理回路１４のフリッカ低減部２０に対して、画像信号に対するフィルタ処理のためのフィルタ係数ｋを設定する。
【００１８】
手振れ検出部１６は、この撮像装置に対して加えられる手振れの量を検出し、その検出結果をシステムコントローラ１５に対して出力する。この手振れ検出部１６は、例えば、ジャイロセンサなどの角速度センサや、加速度センサなど、撮像画像信号系と切り離された別の検出機構によって構成されていることが望ましい。
【００１９】
この撮像装置では、ＣＭＯＳセンサ１２によって受光されて光電変換された信号が、順次ＡＦＥ回路１３に供給され、ＣＤＳ処理やＡＧＣ処理が施された後、デジタル信号に変換される。カメラ処理回路１４は、ＡＦＥ回路１３から供給されたデジタル画像信号を画質補正処理し、最終的に輝度信号（Ｙ）と色差信号（Ｒ−Ｙ，Ｂ−Ｙ）に変換して出力する。
【００２０】
カメラ処理回路１４から出力された画像データは、図示しないグラフィックＩ／Ｆ（インタフェース）に供給されてモニタ表示用の画像信号に変換され、これによりモニタにカメラスルー画像が表示される。また、ユーザの入力操作などによりシステムコントローラ１５に対して画像の記録が指示されると、カメラ処理回路１４からの画像データは図示しないエンコーダに供給され、所定の圧縮符号化処理が施されて、図示しない記録媒体に記録される。静止画像の記録の際には、カメラ処理回路１４からは１フレーム分の画像データがエンコーダに供給され、動画像の記録の際には、処理された画像データがエンコーダに連続的に供給される。
【００２１】
＜フリッカ検出方法＞
次に、フリッカの検出方法について説明する。まず、図２は、フリッカについて説明するための図である。
【００２２】
フリッカは、蛍光灯などの点滅する光源下で撮影した場合に発生し、ＣＭＯＳセンサなどのＸＹアドレス走査型の撮像素子により撮像した場合には、図２の画像Ｐのように、垂直方向の周期的な輝度レベルや色相の変動として観察される。画像Ｐは、被写体が一様である場合にフリッカが明暗の縞模様として現れた状態を示している。
【００２３】
ここで、例えば周波数５０Ｈｚの商用交流電源による蛍光灯では点滅周波数が１００Ｈｚであることから、フィールド周波数６０ＨｚによるＮＴＳＣ（National Television Standards Committee）方式のビデオ信号では、１フィールド当たりのライン数をＭとしたとき、このような変動による縞模様の１周期Ｌは（Ｍ×６０／１００）ラインとなる。また、１フィールドでこのような周期的な変動は、１００／６０＝１．６６周期発生する。すなわち、このような周期的な変動は３フィールドごとに繰り返される。
【００２４】
図３は、フリッカ検出部の内部構成を示すブロック図である。
図３に示すように、フリッカ低減部２０は、画像信号を検波し、その検波値を正規化して出力する正規化積分値算出部２１０と、正規化された検波値にＤＦＴ処理を施すＤＦＴ処理部２２０と、ＤＦＴによるスペクトル解析の結果からフリッカ成分を推定するフリッカ生成部２３０と、推定されたフリッカ成分を画像信号から除去するための演算を実行する演算部２４０とを具備する。また、正規化積分値算出部２１０は、積分処理部２１１、積分値遅延部２１２、フィルタ処理部２１３、差分演算部２１４、および正規化処理部２１５を具備する。
【００２５】
なお、本実施の形態に係る撮像装置では、映像信号を構成する輝度信号、色差信号ごとに、この図３に示すブロックによる処理が実行される。あるいは、少なくとも輝度信号について実行し、必要に応じて色差信号、各色信号について実行するようにしてもよい。また、輝度信号については、輝度信号に合成する前の色信号の段階で実行してもよく、またこの色信号の段階における処理においては、原色による色信号、補色による色信号のいずれの段階で実行してもよい。これらの色信号について実行する場合には、色信号ごとにこの図３に示すブロックによる処理が実行される。
【００２６】
以下、この図３を用いて、フリッカの検出方法について詳しく説明する。
一般にフリッカ成分は、被写体の信号強度に比例する。そこで、一般の被写体についての任意のフィールドｎおよび任意の画素（ｘ，ｙ）における入力画像信号（フリッカ低減前のＲＧＢ原色信号または輝度信号）をＩｎ’（ｘ，ｙ）とすると、Ｉｎ’（ｘ，ｙ）は、フリッカ成分を含まない信号成分と、これに比例したフリッカ成分との和として、次式（１）で表される。
Ｉｎ’（ｘ，ｙ）＝［１＋Γｎ（ｙ）］×Ｉｎ（ｘ，ｙ）                  ……（１）
ここで、Ｉｎ（ｘ，ｙ）は信号成分であり、Γｎ（ｙ）×Ｉｎ（ｘ，ｙ）はフリッカ成分であり、Γｎ（ｙ）はフリッカ係数である。蛍光灯の発光周期（１／１００秒）に比べて１水平周期は十分短く、同一フィールドの同一ラインではフリッカ係数は一定と見なすことができるので、フリッカ係数はΓｎ（ｙ）で表す。
【００２７】
Γｎ（ｙ）を一般化するために、式（２）に示すように、フーリエ級数に展開した形式で記述する。これによって、蛍光灯の種類によって異なる発光特性および残光特性をすべて網羅した形式でフリッカ係数を表現することができる。
【００２８】
【数１】
2007158964.tif 000003
【００２９】
式（２）中のλ０は、図２に示した画面内フリッカの波長であり、１フィールド当たりの読み出しライン数をＭとすると、Ｌ（＝Ｍ／λ０）ラインに相当する。ω０は、λ０で正規化された規格化角周波数である。
【００３０】
γｍは、各次（ｍ＝１，２，３‥）のフリッカ成分の振幅である。Φｍ，ｎは、各次のフリッカ成分の初期位相を示し、蛍光灯の発光周期（１／１００秒）と露光タイミングによって決まる。ただし、Φｍ，ｎは、式（３）に示すように、垂直同期周波数と蛍光灯周波数とによって決まり、直前のフィールドとの間のΦｍ，ｎの差は、式（４）で表される。
【００３１】
【数２】
2007158964.tif 000004
【００３２】
＜積分値の算出および保存＞
図３に示したフリッカ低減部２０では、まず、入力画像信号Ｉｎ’（ｘ，ｙ）が、フリッカ検出用に絵柄の影響を少なくするために、積分処理部２１１で、式（５）に示すように画面水平方向に１ライン分に亘って積分され、積分値Ｆｎ（ｙ）が算出される。なお、式（５）中のαｎ（ｙ）は、式（６）で表されるように、信号成分Ｉｎ（ｘ，ｙ）の１ライン分に亘る積分値である。
【００３３】
【数３】
2007158964.tif 000005
【００３４】
算出された積分値Ｆｎ（ｙ）は、以後のフィールドでのフリッカ検出用に、積分値遅延部２１２に一時的に記憶される。なお、積分値遅延部２１２は、入力された積分値を１垂直同期期間分だけ記憶することで、常に１フィールド前の積分値を出力する構成となっている。
【００３５】
＜フィルタ処理および差分計算＞
ここで、被写体が一様であれば、信号成分Ｉｎ（ｘ，ｙ）の積分値αｎ（ｙ）が一定値となるので、入力画像信号Ｉｎ’（ｘ，ｙ）から、αｎ（ｙ）×Γｎ（ｙ）で表されるフリッカ成分を抽出することは容易である。
【００３６】
しかし、一般的な被写体では、積分値αｎ（ｙ）にもｍ×ω０の成分が含まれるため、フリッカ成分としての輝度成分および色成分と、被写体自身の信号成分とを正確に分離することができず、純粋にフリッカ成分のみを抽出することは困難である。さらに、式（５）第３行目の第１項（αｎ（ｙ））に対して、第２項（αｎ（ｙ）×Γｎ（ｙ））の成分は非常に小さいので、フリッカ成分は信号成分中にほとんど埋もれてしまう。
【００３７】
これに対して、本実施の形態では、積分値Ｆｎ（ｙ）からαｎ（ｙ）の影響を取り除くために、フィルタ処理部２１３によって１フィールドごとに平均化した積分値の平均値ＡＶＥ［Ｆｎ（ｙ）］を用いて、フリッカ成分を抽出する。このフィルタ処理部２１３は、巡回型フィルタによって構成される。フィルタの伝達関数をＨ（ｚ）、フィルタ係数をｋとすると、積分値の平均値ＡＶＥ［Ｆｎ（ｙ）］は、次式（７）および（８）により演算される。なお、式（７）は、積分値の平均値をｚで変換して表している。
【００３８】
【数４】
2007158964.tif 000006
【００３９】
巡回型フィルタによって積分値を平均化することにより、ＦＩＲフィルタを用いた場合のように、フィルタ処理のために複数フィールド分の積分値を保持しておく必要がなくなり、そのためのメモリ容量を削減することができる。また、ＦＩＲフィルタと比較して、処理負荷が低減される。従って、回路規模が小さく、製造コストや消費電力が低減された回路により、フリッカ成分が打ち消された平均値ＡＶＥ［Ｆｎ（ｚ）］を求めることができる。
【００４０】
ただし、以上の説明は、上記の式（９）の近似が成り立つものとして、巡回型フィルタが出力する積分値の平均値を算出する場合についてであるが、被写体の動きが大きい場合には、式（９）の近似が成り立たなくなる。このため、被写体の動きが大きい場合には、巡回型フィルタのフィルタ係数ｋを大きくする。これにより、誤検出の可能性が低減される。また、逆に、被写体の動きが小さい場合には、フィルタ係数ｋを小さくすることで、フリッカ成分がより強く抑制されるようになる。なお、このようなフィルタ係数ｋの制御については、後の図４および図５で説明する。
【００４１】
また、本実施の形態では、さらに、差分演算部２１４で、積分処理部２１１からの当該フィールドの積分値Ｆｎ（ｙ）と、積分値遅延部２１２からの１フィールド前の積分値Ｆｎ＿１（ｙ）との差分が計算され、次式（１０）で表される差分値Ｆｎ（ｙ）−Ｆｎ＿１（ｙ）が算出される。なお、この式（１０）も、上記の式（９）の近似が成り立つことを前提としている。
【００４２】
【数５】
2007158964.tif 000007
【００４３】
＜差分値の正規化＞
図３のフリッカ低減部２０では、さらに、正規化処理部２１５で、差分演算部２１４からの差分値Ｆｎ（ｙ）−Ｆｎ＿１（ｙ）が、フィルタ処理部２１３からの１フィールドごとの平均値ＡＶＥ［Ｆｎ（ｙ）］で除算されることによって正規化され、正規化後の差分値ｇｎ（ｙ）が算出される。
【００４４】
正規化後の差分値ｇｎ（ｙ）は、上記の式（８），式（１０）および三角関数の和積公式によって式（１１）のように展開され、さらに式（４）の関係から式（１２）で表される。なお、式（１２）中の｜Ａｍ｜およびθｍは、それぞれ式（１３）および（１４）で表される。
【００４５】
【数６】
2007158964.tif 000008
【００４６】
差分演算部２１４からの差分値Ｆｎ（ｙ）−Ｆｎ＿１（ｙ）には、被写体の信号強度の影響が残るため、領域によってフリッカによる輝度変化および色変化のレベルが異なってしまう。これに対して、上記のように、正規化処理部２１５により正規化することで、全領域に亘ってフリッカによる輝度変化および色変化を、同一レベルに合わせることができるようになる。
【００４７】
＜スペクトル抽出によるフリッカ成分の推定＞
上記の式（１３）および（１４）で表される｜Ａｍ｜，θｍは、それぞれ、正規化後の差分値ｇｎ（ｙ）の、各次のスペクトルの振幅および初期位相である。正規化後の差分値ｇｎ（ｙ）をフーリエ変換して、各次のスペクトルの振幅｜Ａｍ｜および初期位相θｍを検出すれば、次式（１５）および（１６）によって、上記の式（２）に示した各次のフリッカ成分の振幅γｍおよび初期位相Φｍ，ｎをそれぞれ求めることができる。
【００４８】
【数７】
2007158964.tif 000009
【００４９】
そこで、図３のフリッカ低減部２０では、ＤＦＴ処理部２２０において、正規化処理部２１５からの正規化後の差分値ｇｎ（ｙ）の、フリッカの１波長分（Ｌライン分）に相当するデータを、離散フーリエ変換する。
【００５０】
ＤＦＴ演算をＤＦＴ［ｇｎ（ｙ）］とし、次数ｍのＤＦＴ結果をＧｎ（ｍ）とすれば、ＤＦＴ演算は次式（１７）で表される。ただし、式（１７）中のＷは式（１８）で表される。
【００５１】
【数８】
2007158964.tif 000010
【００５２】
また、ＤＦＴの定義によって、式（１３）および（１４）と、式（１７）との関係は、次式（１９）および（２０）で表される。
【００５３】
【数９】
2007158964.tif 000011
【００５４】
従って、式（１５）（１６）（１９）（２０）から、次式（２１）および（２２）によって各次のフリッカ成分の振幅γｍおよび初期位相Φｍ，ｎを求めることができる。
【００５５】
【数１０】
2007158964.tif 000012
【００５６】
ＤＦＴ処理部２２０は、まず、式（１７）で定義されるＤＦＴ演算によってスペクトルを抽出し、その後、式（２１）および（２２）の演算によって、各次のフリッカ成分の振幅γｍおよび初期位相Φｍ，ｎを推定する。ここで、ＤＦＴ演算のデータ長を、フリッカ波形の１波長分（Ｌライン分）とするのは、これによって、ちょうどω０の整数倍の離散スペクトル群を、直接得ることができるからである。
【００５７】
なお、デジタル信号処理におけるフーリエ変換としては、一般に、高速フーリエ変換（ＦＦＴ）が用いられる。しかし、ＦＦＴではデータ長が２のべき乗であることが必要であることから、本実施の形態では、ＤＦＴにより周波数解析を行い、その分、データ処理を簡略化する。ただし、入出力データを加工して、ＦＦＴを用いることもできる。
【００５８】
実際の蛍光灯照明下では、次数ｍを数次までに限定してもフリッカ成分を十分に近似できるので、ＤＦＴ演算においてデータをすべて出力する必要はない。従って、このフリッカ検出の用途では、ＦＦＴと比較して演算効率の点でデメリットはない。
【００５９】
次に、フリッカ生成部２３０は、ＤＦＴ処理部２２０による振幅γｍおよび初期位相Φｍ，ｎの推定値を用いて、上記の式（２）の演算処理を実行し、フリッカ成分を正しく反映しているフリッカ係数Γｎ（ｙ）を算出する。なお、この式（２）の演算処理においても、実際の蛍光灯照明下では、総和次数を無限大でなく、あらかじめ定められた次数、例えば２次までに限定し、高次の処理を省略しても、実用上フリッカ成分を十分近似できる。
【００６０】
＜フリッカ低減のための演算＞
上記の式（１）は、次式（２３）のように変形することができる。この式（２３）に基づき、演算部２４０は、フリッカ生成部２３０からのフリッカ係数Γｎ（ｙ）に“１”を加算した後、この加算値により画像信号を除算する。これにより、入力画像信号Ｉｎ’（ｘ，ｙ）に含まれるフリッカ成分が高精度で除去される。
Ｉｎ（ｘ，ｙ）＝Ｉｎ’（ｘ，ｙ）／［１＋Γｎ（ｙ）］                ……（２３）
以上のフリッカ検出・低減処理によれば、積分値Ｆｎ（ｙ）ではフリッカ成分が信号成分中に完全に埋もれてしまう、フリッカ成分が微少な黒の背景部分や低照度の部分などの領域でも、差分値Ｆｎ（ｙ）−Ｆｎ＿１（ｙ）を算出し、これを平均値ＡＶＥ［Ｆｎ（ｙ）］で正規化することによって、フリッカ成分を高精度で検出することができる。
【００６１】
また、フリッカ係数Γｎの算出にあたっては、次数を数次までに限定できるので、比較的簡易な処理でフリッカ検出を高精度化できる。なお、適当な次数までのスペクトルからフリッカ成分を推定することは、正規化後の差分値ｇｎ（ｙ）を完全に再現しないで近似することになるが、これによって、かえって、被写体の状態によって正規化後の差分値ｇｎ（ｙ）に不連続な部分を生じても、その部分のフリッカ成分を精度よく推定できることになる。
【００６２】
なお、上記の処理では、差分値Ｆｎ（ｙ）−Ｆｎ＿１（ｙ）を平均値ＡＶＥ［Ｆｎ（ｙ）］で正規化することで、有限の計算精度を効果的に確保することができた。しかし、例えば、要求される計算精度を満足できる場合には、積分値Ｆｎ（ｙ）を直接、平均値ＡＶＥ［Ｆｎ（ｙ）］で正規化してもよい。
【００６３】
＜フリッカ処理部に対する係数設定＞
ところで、上述した式（７）は、巡回型フィルタであるフィルタ処理部２１３の伝達関数を定義するものである。フィルタ処理部２１３では、フィルタ係数ｋが小さく設定されるほど、時間方向のローパスフィルタ効果が大きくなり、これにより、正規化後の信号におけるフリッカ成分を抑圧する効果が大きくなる。逆に、フィルタ係数ｋを大きく設定するほど、ローパスフィルタ効果は薄れ、フリッカ成分の抑圧効果も薄れる。しかし、フィルタ係数ｋが大きいほど、入力画像信号の時間的な変化に追随しやすいという特徴がある。
【００６４】
そこで、本実施の形態では、手振れ検出部１６により画面の動きを検出し、その検出結果に応じて、フィルタ処理部２１３に対して設定するフィルタ係数ｋを変化させることで、画面の状況に応じて巡回型フィルタの動作を最適化する。
【００６５】
図４は、フィルタ係数の設定制御の流れを示すフローチャートである。
システムコントローラ１５は、図４の処理を例えば一定時間ごとに実行して、フィルタ処理部２１３に対してフィルタ係数ｋを設定する。まず、システムコントローラ１５は、手振れ検出部１６から、手振れ量の検出値を取得する（ステップＳ１）。次に、図示しないＲＯＭなどのあらかじめ記憶された、手振れ量とフィルタ係数ｋとの対応を示す係数設定テーブルを参照し、取得した手振れ量に対応するフィルタ係数ｋを取得する（ステップＳ２）。そして、取得したフィルタ係数ｋを、フィルタ処理部２１３に対して設定する（ステップＳ３）。このような処理により、手振れの検出量に応じて、フィルタ処理部２１３による平均化処理時の周波数特性が変化するようになる。
【００６６】
図５は、係数設定テーブルに設定される手振れ量とフィルタ係数との関係を示すグラフの一例である。
図５に示すように、係数設定テーブルでは、手振れ検出部１６により手振れ量がしきい値ｔｈｒＡからしきい値ｔｈｒＢ（ただし、ｔｈｒＡ＜ｔｈｒＢ）に増加するに連れて、フィルタ係数ｋが徐々に増加するように設定される。これにより、手振れ量が少なく、被写体の動きが少ない場合には、平均化処理によりフリッカ成分が強く抑圧されるようになる。また、手振れにより被写体の動きが大きくなるほど、フリッカ成分の抑圧効果は徐々に小さくなるが、画面の動きに対して追従しやすくなるため、フリッカ検出の誤動作が発生しにくくなり、結果的にフリッカ検出精度が向上する。すなわち、平均化処理のために巡回型フィルタを用いながらも、手振れ量に関係なく、全般的にフリッカ検出精度を向上させることができる。また、手振れ量に応じてフィルタ係数ｋを連続的に変化させることで、フリッカの影響により画面視認時にユーザに与えられる違和感を小さくすることができ、結果的に画質を向上させることが可能となる。
【００６７】
なお、図５の例では、手振れ量がしきい値ｔｈｒＡ以下のとき、およびしきい値ｔｈｒＢ以上のときには、それぞれフィルタ係数ｋを一定値にして、適度なフリッカ抑制効果を維持して、画面視認時の違和感を低減するとともに、係数設定制御が容易になるようにしている。
【００６８】
なお、画面の動きを撮像画像信号自体から検出する手法も、一般的に存在する。しかし、このような手法では、フリッカ成分を含む場合には誤検出の可能性が高くなり、上記の係数設定制御に用いた場合には、フリッカ検出の精度を必ずしも向上させることができない。このため、画面の動きの検出は、角速度センサや加速度センサのように、撮像画像信号系とは別の検出機構によって行われることが望ましい。
【００６９】
以上説明したように、本実施の形態に係る撮像装置によれば、フリッカ検出時における平均化処理のために、巡回型フィルタを用いたことで、ＦＩＲフィルタを用いた場合と比較して、演算に利用する画像信号を格納しておくためのメモリの容量を削減することができ、また処理負荷も軽減できるので、フリッカ低減部２０の回路規模を抑制し、製造コストを低減することができる。そして、そのフィルタ係数ｋを手振れ検出量に応じて変化させるようにしたことで、画面の動きによるフリッカ成分の誤検出を発生しにくくし、フリッカ成分が精度よく低減された、違和感の少ない良好な撮像画像を得ることが可能となる。
【００７０】
なお、上記の実施の形態では、インタレース走査方式の撮像素子を用いた場合の処理について説明したが、プログレッシブ走査方式の場合でも、フィールドに代わってフレームごとに処理を行うようにすれば、基本的に上記と同様の処理を適用できる。
【００７１】
また、上記の実施の形態では、撮像素子としてＣＭＯＳイメージセンサを用いた場合について説明したが、ＣＭＯＳイメージセンサ以外のＭＯＳ型イメージセンサなど、他のＸＹアドレス走査型の撮像素子を用いた場合にも本発明を適用可能である。さらに、本発明は、ＸＹアドレス走査型の撮像素子を用いた様々な撮像装置、およびこのような撮像機能を具備する携帯電話機やＰＤＡ（Personal Digital Assistants）などの機器に対して適用することもできる。また、例えばＰＣ（パーソナルコンピュータ）などに接続されるテレビ電話用あるいはゲームソフト用などの小型カメラによる撮像信号などを処理する画像処理装置に対しても、本発明を適用することができる。
【００７２】
また、上記の処理機能は、コンピュータによって実現することができる。その場合、この装置が有すべき機能（上記のフリッカ低減部に対応する機能や、システムコントローラによるフィルタ係数設定機能など）の処理内容を記述したプログラムが提供される。そして、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気ディスク、半導体メモリなどがある。
【００７３】
プログラムを流通させる場合には、例えば、そのプログラムが記録された光ディスクや半導体メモリなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００７４】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【図面の簡単な説明】
【００７５】
【図１】本発明の実施の形態に係る撮像装置の要部構成を示すブロック図である。
【図２】フリッカについて説明するための図である。
【図３】フリッカ検出部の内部構成を示すブロック図である。
【図４】フィルタ係数の設定制御の流れを示すフローチャートである。
【図５】係数設定テーブルに設定される手振れ量とフィルタ係数との関係を示すグラフの一例である。
【符号の説明】
【００７６】
１１……光学ブロック、１１ａ……ドライバ、１２……ＣＭＯＳ型イメージセンサ（ＣＭＯＳセンサ）、１２ａ……タイミングジェネレータ（ＴＧ）、１３……アナログフロントエンド（ＡＦＥ）回路、１４……カメラ処理回路、１５……システムコントローラ、１６……手振れ検出部、２０……フリッカ低減部、２１０……正規化積分値算出部、２１１……積分処理部、２１２……積分値遅延部、２１３……フィルタ処理部、２１４……差分演算部、２１５……正規化処理部、２２０……ＤＦＴ処理部、２３０……フリッカ生成部、２４０……演算部
【図１】
2007158964.tif 000013
【図２】
2007158964.tif 000014
【図３】
2007158964.tif 000015
【図４】
2007158964.tif 000016
【図５】
2007158964.tif 000017