(57)【特許請求の範囲】
【請求項１】
時系列で入力される画像をノイズ低減処理する画像処理装置において、
処理対象画像内の対象画素を含む第１の所定領域の複数画素と、該処理対象画像よりも過去の画像の前記対象画素と同一空間位置の画素を含む第２の所定領域の複数画素と、を抽出する画素抽出手段と、
前記第１の所定領域内の一部または全部の画素と、前記第２の所定領域内の一部の画素と、に基づいて、前記過去の画像に対する前記第１の所定領域の動きベクトルを算出する動きベクトル算出手段と、
前記動きベクトルに基づいて、前記第２の所定領域の複数画素に対するフィルタ係数を決定するフィルタ係数決定手段と、
前記第２の所定領域の複数画素と前記フィルタ係数とに基づいて、前記対象画素のノイズを低減するノイズ低減手段と、
を具備したことを特徴とする画像処理装置。
【請求項２】
前記画素抽出手段により抽出された前記第１の所定領域内の画素の画素値および前記第２の所定領域内の画素の画素値と、上記対象画素の画素値と、の間の差分値を算出する画素値間差分算出手段をさらに具備し、
上記動きベクトル算出手段は、前記第１の所定領域内の一部または全部の画素に対する前記差分値と、前記第２の所定領域内の一部の画素に対する前記差分値と、に基づいて、前記過去の画像に対する前記第１の所定領域の動きベクトルを算出するものであることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
上記フィルタ係数決定手段は、前記画素値間の差分値と前記動きベクトルとに基づいて、前記第２の所定領域の複数画素に対するフィルタ係数を決定するとともに、さらに前記第１の所定領域の複数画素に対するフィルタ係数を決定するものであり、
上記ノイズ低減手段は、前記第１の所定領域の複数画素と前記第２の所定領域の複数画素と前記フィルタ係数とに基づいて、前記対象画素のノイズを低減するものであることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
上記動きベクトル算出手段は、上記対象画素に対するノイズ量を推定するノイズ量推定手段を有して構成され、前記推定されたノイズ量に基づいて動きベクトルを決定するものであることを特徴とする請求項１から請求項３の何れか一項に記載の画像処理装置。
【請求項５】
上記フィルタ係数決定手段は、
上記動きベクトルに基づいて最大重み位置を決定する最大重み位置決定手段と、
前記最大重み位置からの空間距離に基づいて前記所定領域の画素に対する空間距離重み係数を決定する空間距離重み係数決定手段と、
を有して構成されたものであることを特徴とする請求項１から請求項４の何れか一項に記載の画像処理装置。
【請求項６】
上記フィルタ係数決定手段は、
上記動きベクトルに基づいて最大重み位置を決定する最大重み位置決定手段と、
前記最大重み位置からの空間距離に基づいて前記所定領域の画素に対する空間距離重み係数を決定する空間距離重み係数決定手段と、
上記画素値間の差分値に基づいて前記所定領域の画素に対する画素値間距離重み係数を決定する画素値間距離重み係数決定手段と、
前記空間距離重み係数と前記画素値間距離重み係数とに基づいて前記所定領域の画素に対するフィルタ係数を算出するフィルタ係数算出手段と、
を有して構成されたものであることを特徴とする請求項３に記載の画像処理装置。
【請求項７】
前記過去の画像は、前記ノイズ低減手段によりノイズを低減された画像であることを特徴とする請求項１から請求項６の何れか一項に記載の画像処理装置。
【請求項８】
時系列で入力される画像をノイズ低減処理する画像処理方法において、
処理対象画像内の対象画素を含む第１の所定領域の複数画素と、該処理対象画像よりも過去の画像の前記対象画素と同一空間位置の画素を含む第２の所定領域の複数画素と、を抽出する画素抽出ステップと、
前記第１の所定領域内の一部または全部の画素と、前記第２の所定領域内の一部の画素と、に基づいて、前記過去の画像に対する前記第１の所定領域の動きベクトルを算出する動きベクトル算出ステップと、
前記動きベクトルに基づいて、前記第２の所定領域の複数画素に対するフィルタ係数を決定するフィルタ係数決定ステップと、
前記第２の所定領域の複数画素と前記フィルタ係数とに基づいて、前記対象画素のノイズを低減するノイズ低減ステップと、
を有することを特徴とする画像処理方法。
【請求項９】
前記画素抽出ステップにより抽出された前記第１の所定領域内の画素の画素値および前記第２の所定領域内の画素の画素値と、上記対象画素の画素値と、の間の差分値を算出する画素値間差分算出ステップをさらに具備し、
上記動きベクトル算出ステップは、前記第１の所定領域内の一部または全部の画素に対する前記差分値と、前記第２の所定領域内の一部の画素に対する前記差分値と、に基づいて、前記過去の画像に対する前記第１の所定領域の動きベクトルを算出するステップであることを特徴とする請求項８に記載の画像処理方法。
【請求項１０】
上記フィルタ係数決定ステップは、前記画素値間の差分値と前記動きベクトルとに基づいて、前記第２の所定領域の複数画素に対するフィルタ係数を決定するとともに、さらに前記第１の所定領域の複数画素に対するフィルタ係数を決定するステップであり、
上記ノイズ低減ステップは、前記第１の所定領域の複数画素と前記第２の所定領域の複数画素と前記フィルタ係数とに基づいて、前記対象画素のノイズを低減するステップであることを特徴とする請求項９に記載の画像処理方法。
【請求項１１】
上記動きベクトル算出ステップは、上記対象画素に対するノイズ量を推定するノイズ量推定ステップを含み、前記推定されたノイズ量に基づいて動きベクトルを決定するステップであることを特徴とする請求項８から請求項１０の何れか一項に記載の画像処理方法。
【請求項１２】
上記フィルタ係数決定ステップは、
上記動きベクトルに基づいて最大重み位置を決定する最大重み位置決定ステップと、
前記最大重み位置からの空間距離に基づいて前記所定領域の画素に対する空間距離重み係数を決定する空間距離重み係数決定ステップと、
を含むステップであることを特徴とする請求項８から請求項１１の何れか一項に記載の画像処理方法。
【請求項１３】
上記フィルタ係数決定ステップは、
上記動きベクトルに基づいて最大重み位置を決定する最大重み位置決定ステップと、
前記最大重み位置からの空間距離に基づいて前記所定領域の画素に対する空間距離重み係数を決定する空間距離重み係数決定ステップと、
上記画素値間の差分値に基づいて前記所定領域の画素に対する画素値間距離重み係数を決定する画素値間距離重み係数決定ステップと、
前記空間距離重み係数と前記画素値間距離重み係数とに基づいて前記所定領域の画素に対するフィルタ係数を算出するフィルタ係数算出ステップと、
を含むステップであることを特徴とする請求項１０に記載の画像処理方法。
【請求項１４】
前記過去の画像は、前記ノイズ低減ステップによりノイズを低減された画像であることを特徴とする請求項８から請求項１３の何れか一項に記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時系列で入力される画像をノイズ低減処理する画像処理装置、画像処理方法に関する。
【背景技術】
【０００２】
動画像信号は、指定時間間隔で撮像されたフレーム（フィールド）画像が複数集まって構成された信号である。この動画像信号は、一般に、各フレーム（フィールド）画像がフレーム内（フィールド内）の局所空間に対する相関をもち、また隣接フレーム（フィールド）がフレーム間（フィールド間）での局所時間に対する相関をもっていると仮定することができる。
【０００３】
このような動画像信号は、主に、ＣＣＤやＣＭＯＳ等の撮像素子を備えたビデオカメラによって任意の被写体を撮像することにより得られる。例えば、デジタルビデオカメラにおけるデジタルの動画像信号は、次のようにして得られる。まず、ビデオカメラの撮像部を構成するレンズによって、撮像素子上に光学的な被写体像を結像する。結像された光学的な被写体像は、撮像素子上に配列されている画素毎に光電変換され、電気信号となる。この電気信号は、所定の順序で撮像素子から出力される。この撮像素子から出力される信号が、アナログの画像信号である。このアナログの画像信号は、所定のゲイン量で増幅された後に、Ａ／Ｄ変換部によりデジタル画像信号に変換される。このようにして得られたデジタル画像信号は、その後に、デジタル信号処理回路によって所定の画像処理が行われるのが一般的である。
【０００４】
このようなビデオカメラにより撮像された画像には、ノイズが重畳されていることが一般的である。ノイズの発生には様々な要因があるが、その１つは撮像素子の特性によるものである。この撮像素子の特性に起因するノイズの代表的なものとして、光電変換時の統計的な性質に起因するショットノイズが挙げられる。このショットノイズは、画像信号値の平方根に比例する平均振幅をもち、一般に、時間方向および空間方向に対して統計的にランダムなノイズとなる。
【０００５】
ランダムノイズは文字通り「ランダム」であるのに対して、動画像信号は上述したように局所空間的および局所時間的に相関性があると考えられるために、このようなランダムノイズが重畳された動画像信号に対するノイズ低減処理として、空間相関を利用したフレーム内（フィールド内）ノイズ低減処理と、時間相関を利用したフレーム間（フィールド間）ノイズ低減処理と、を利用することが可能である。そして、動画像信号に対して利用可能なこれらのノイズ低減処理技術は、従来より種々のものが提案されている。
【０００６】
なお、これ以降は、特に区別しない限り１つの撮像画像をフレームと記載することにするが、フレームをフィールドに置き換えたとしても、発明を同様に適用することが可能である。
【０００７】
まず、上述した２種類のノイズ低減処理の内の、時間相関を利用したノイズ低減処理には、ノイズ低減後のフレームを過去フレームとして利用する巡回型ノイズ低減処理があり、この巡回型ノイズ低減処理は、数あるノイズ低減処理技術の中でも比較的大きなノイズ低減効果を得ることができる技術として知られている。ただし、この技術は、処理対象フレームと、この処理対象フレームよりも過去のフレームと、の相関を前提とした技術であるために、動きがあるシーンに対して適用すると、過去のフレームが現在のフレームに重畳されて残像が発生するという課題がある。この課題に対応するために、残像を低減させるように制御する技術も開発されているが、残像を低減させると今度は十分なノイズ低減効果を期待することができないという課題が新たに発生する。
【０００８】
このような課題を解決するための技術として、例えば特開平２−１８４１７６号公報には、映像の画面部分毎の変化量を検出して、この変化量に比例する動き信号をさらに算出し、１フレーム前の映像信号の重みと現在のフレームの１ライン前の映像信号の重みとをこの動き信号に応じてそれぞれ切り換えて、これら重み付けされた映像信号を加算した信号と現在の映像信号とを所定の比率で混合することにより、ノイズ低減処理を行う技術が記載されている。この技術では、動き信号を映像の変化量に基づいて算出しているために、映像のエッジ部で動きがあると、現在の映像信号の、１フレーム前または１ライン前の映像信号に対する混合比率が大きくなってしまい、ノイズ低減効果が低下するという課題がある。
【０００９】
これに対してフレーム内相関とフレーム間相関とを共に利用して、動きがあるシーンに対してもノイズ低減能力を向上させるノイズ低減処理の技術が、例えば特開平６−６２２８３号公報に記載されている。該公報に記載のノイズ低減システムは、１フレームまたは１フィールド遅延させるための画像メモリを備えており、新たに入力された中心画素データと、この中心画素データの近傍の画素データと、該画像メモリに記録されている既にノイズ低減された１フレーム前または１フィールド前の画像データにおける前記中心画素データの近傍の画素データと、に対して非線形フィルタ処理を行うことにより、ノイズ低減がなされた画素データを出力するものとなっている。前記非線形フィルタは、前記中心画素データ値と相関が高い近傍画素のデータに対しては大きな重み係数を割り当て、逆に相関が低い画素には小さな重み係数を割り当てて、加重平均するというものである。こうすることにより、フレーム内相関とフレーム間相関との両方を利用したノイズ低減を行うことができる。この技術は、特に、撮像画像が静止状態にある場合に、加重平均に使用する１フレーム前または１フィールド前の画素および現フィールドの画素において重み係数の大きな画素が増えるために、平均化に寄与する画素数が増えて効果的にノイズ低減を行うことが可能である。また、撮像画像に動きがある場合には、１フレーム前または１フィールド前の画素よりも現フィールドの画素に大きな重み係数が与えられ、ほぼ現フィールドの画素を用いた加重平均がなされるために、ノイズ低減量は静止状態にある場合よりも小さくはなるが、現在フレームと過去フレームとの同一位置の画素を用いた単純な巡回型ノイズ低減処理に比べるとノイズ低減効果は大きいといえる。ただし、この処理においては、処理対象画素と本来的に相関がある画素に対して大きな重みが設定されるだけでなく、処理対象画素と時間方向の相関がない画素であってもノイズの影響により見かけ上の相関が高いと判定して大きな重みが設定される場合があるために、これらの画素を用いてフィルタ処理を行うと、本来再現されるべき画像の微細構造を消してしまう可能性がある。
【００１０】
また、特開平６−３５０８７９号公報には、フレーム間におけるノイズ低減処理を行う際に、現フレームの所定ブロックと１フレーム前の画像信号とのブロックマッチングを行って相関を算出し、相関が最も高いと判定された１フレーム前のブロックを抽出して、この抽出ブロックと現フレームの所定ブロックとに対してノイズ低減処理を行う技術が記載されている。この技術は、動きがある場合にもフレーム間相関を有効に利用してノイズ低減を行うことができるものとなっている。ただし、この技術では、画像信号にノイズが含まれていると、ブロックマッチングの精度が低下して、撮影画像における構造的に顕著な特徴（エッジ）等を含んでいない静止している微細構造領域において、１フレーム前の画像信号からの抽出ブロックとして、本来抽出されるべきでないブロックを（ノイズがランダムノイズである場合には例えば無作為に）抽出してしまう可能性がある。これは時間的にぶれた画像を積算していることと等価になるために、静止領域の微細構造を消してしまい解像度の低下を招いてしまう可能性がある。
【００１１】
このように、時間相関を用いた従来のノイズ低減処理は、特に動領域に対して、フレーム内相関を主に用いるノイズ低減処理に実質的に切り換える技術であったり、また、動きベクトルを算出してフレーム間相関の高い領域を抽出しより積極的にフレーム間相関を利用してノイズ低減処理を行う技術であったりした。
【特許文献１】特開平２−１８４１７６号公報
【特許文献２】特開平６−６２２８３号公報
【特許文献３】特開平６−３５０８７９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上述したような従来の技術は、フレーム間相関を利用してノイズ低減能力を高めつつ、且つ微細構造を十分に保持することができているとは、上述したように、いえるものではなかった。
【００１３】
本発明は上記事情に鑑みてなされたものであり、微細構造を良好に保持しながら動画像のノイズを十分に低減することができる画像処理装置、画像処理方法を提供することを目的としている。
【課題を解決するための手段】
【００１４】
上記の目的を達成するために、本発明による画像処理装置は、時系列で入力される画像をノイズ低減処理する画像処理装置において、処理対象画像内の対象画素を含む第１の所定領域の複数画素と該処理対象画像よりも過去の画像の前記対象画素と同一空間位置の画素を含む第２の所定領域の複数画素とを抽出する画素抽出手段と、前記第１の所定領域内の一部または全部の画素と前記第２の所定領域内の一部の画素とに基づいて前記過去の画像に対する前記第１の所定領域の動きベクトルを算出する動きベクトル算出手段と、前記動きベクトルに基づいて前記第２の所定領域の複数画素に対するフィルタ係数を決定するフィルタ係数決定手段と、前記第２の所定領域の複数画素と前記フィルタ係数とに基づいて前記対象画素のノイズを低減するノイズ低減手段と、を具備したものである。
【００１５】
また、本発明による画像処理方法は、時系列で入力される画像をノイズ低減処理する画像処理方法において、処理対象画像内の対象画素を含む第１の所定領域の複数画素と該処理対象画像よりも過去の画像の前記対象画素と同一空間位置の画素を含む第２の所定領域の複数画素とを抽出する画素抽出ステップと、前記第１の所定領域内の一部または全部の画素と前記第２の所定領域内の一部の画素とに基づいて前記過去の画像に対する前記第１の所定領域の動きベクトルを算出する動きベクトル算出ステップと、前記動きベクトルに基づいて前記第２の所定領域の複数画素に対するフィルタ係数を決定するフィルタ係数決定ステップと、前記第２の所定領域の複数画素と前記フィルタ係数とに基づいて前記対象画素のノイズを低減するノイズ低減ステップと、を有する方法である。
【発明の効果】
【００１６】
本発明の画像処理装置、画像処理方法によれば、微細構造を良好に保持しながら動画像のノイズを十分に低減することが可能となる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して本発明の実施の形態を説明する。
【００１８】
［実施形態１］
図１から図２４は本発明の実施形態１を示したものであり、図１は画像処理装置の構成を示すブロック図、図２は現フレームと前フレームとの画素の位置関係を模式的に示す図である。
【００１９】
具体的な説明を行うに先立ち、本実施形態において用いる表記の定義について、図２を参照して説明する。
【００２０】
まず、時間をｔにより表し、画像における空間位置をｒにより表すものとする。ただし、画像は２次元であるために、空間位置ｒはベクトル表記に準じて例えば肉太文字で表すことが望ましいが、文章中においては通常の文字で代用することにする。
【００２１】
次に、処理対象画像である現フレームにおけるノイズ低減処理の対象となる処理対象画素をＰ（ｒ0，ｔc）とする。さらに、処理対象画素Ｐ（ｒ0，ｔc）と、この処理対象画素Ｐ（ｒ0，ｔc）の空間的近傍に位置する周辺画素と、から構成される現フレームの抽出ブロック領域（第１の所定領域）２０２に含まれる画素をＰ（ｒ，ｔc）とする。
【００２２】
加えて、ノイズ低減後の前フレームにおける抽出ブロック領域（第２の所定領域）（なお、図２には、ノイズ低減前の前フレームにおける抽出ブロック領域２０２を示す。この抽出ブロック領域２０２は、上述した処理対象画素Ｐ（ｒ0，ｔc）と同一空間位置ｒ0の画素Ｐ（ｒ0，ｔp）を含むように抽出される。さらにここでは、抽出ブロック領域２０１が抽出ブロック領域２０２と同一サイズの領域であるものとしているが、後述するようにこれに限るものではない）に含まれる画素をＰn（ｒ，ｔp）とする（なお、Ｐに付した添え字ｎは、ノイズ低減処理が既に行われた画素であることを示している。また、処理対象画素Ｐ（ｒ0，ｔc）と同一空間位置ｒ0の画素はＰn（ｒ0，ｔp）である。）。
【００２３】
また、処理対象画素Ｐ（ｒ0，ｔc）に対する現フレームの抽出ブロック領域の画素Ｐ（ｒ，ｔc）の差分をＤ（ｒ，ｔc）として、以下の数式により定義する。  
Ｄ（ｒ，ｔc）＝Ｐ（ｒ，ｔc）−Ｐ（ｒ0，ｔc）
ただし、ｒ＝ｒ0における差分Ｄを、
Ｄ（ｒ0，ｔc）＝Ｐ（ｒ0，ｔc）
と定義するものとする。
【００２４】
さらに、処理対象画素Ｐ（ｒ0，ｔc）に対する前フレームの抽出ブロック領域の画素Ｐn（ｒ，ｔp）の差分をＤ（ｒ，ｔp）として、以下の数式により定義する。  
Ｄ（ｒ，ｔp）＝Ｐn（ｒ，ｔp）−Ｐ（ｒ0，ｔc）
【００２５】
そして、現フレームの抽出ブロック領域の画素Ｐ（ｒ，ｔc）に対するノイズ低減用フィルタ係数をＣ（ｒ，ｔc）、前フレームの抽出ブロック領域の画素Ｐn（ｒ，ｔp）に対するノイズ低減用フィルタ係数をＣ（ｒ，ｔp）とすると、ノイズ低減用フィルタ処理後の処理対象画素Ｐr（ｒ0，ｔc）は、次のように算出される。  
Ｐr（ｒ0，ｔc）＝ΣrＣ（ｒ，ｔc）Ｐ（ｒ，ｔc）＋ΣrＣ（ｒ，ｔp）Ｐn（ｒ，ｔp）
ここで記号「Σr」は、抽出領域内の総和を意味している。また、上述した各ノイズ低減用フィルタ係数Ｃ（ｒ，ｔc），Ｃ（ｒ，ｔp）は、次の規格化条件を満たすものとする。  
Σr｛Ｃ（ｒ，ｔc）＋Ｃ（ｒ，ｔp）｝＝１
【００２６】
また、図３〜図６には、上記Ｐ（ｒ，ｔc）、Ｐn（ｒ，ｔp）、Ｄ（ｒ，ｔc）、Ｄ（ｒ，ｔp）を５×５画素の２次元配列要素Ｐc，Ｐp，Ｄc，Ｄpでそれぞれ表現した例を示している。ここに、図３は現フレームの処理対象画素に対する抽出ブロック領域（５×５画素）を示す図、図４は前フレームの処理対象画素と同一空間位置の画素に対する抽出ブロック領域（５×５画素）を示す図、図５は現フレームの差分値ブロック（５×５画素）を示す図、図６は前フレームの差分値ブロック（５×５画素）を示す図である。
【００２７】
すなわち、Ｐ（ｒ，ｔc）は図３においてＰc00〜Ｐc44で示す配列要素３０１が、Ｐn（ｒ，ｔp）は図４においてＰp00〜Ｐp44で示す配列要素４０１が、Ｄ（ｒ，ｔc）は図５においてＤc00〜Ｄc44で示す配列要素５０１が、Ｄ（ｒ，ｔp）は図６においてＤp00〜Ｄp44で示す配列要素６０１が、それぞれ対応する。ここで、処理対象画素の空間位置ｒ0は、各配列の中央に位置する要素であるＰc22，Ｐp22，Ｄc22，Ｄp22にそれぞれ対応する。また、上述したｒ＝ｒ0における差分Ｄの定義に基づけば、Ｄc22はＰc22に等しいことになる。
【００２８】
次に、図１を参照して、本実施形態の画像処理装置の基本構成について説明する。
【００２９】
この画像処理装置は、ラインメモリ１０１と、画素値間差分算出手段たる画素値間差分算出部１０２と、動きベクトル算出手段たる動きベクトル算出部１０３と、フィルタ係数決定手段たるフィルタ係数決定部１０４と、ノイズ低減手段たるノイズ低減処理部１０５と、フレームメモリ１０６と、制御部１０７と、画素抽出手段たる領域抽出部１０８と、を備えている。
【００３０】
ラインメモリ１０１には、デジタルの動画像信号が例えばラスタスキャン順に入力されるようになっている。ここに、動画像信号は、例えば、図示しない撮像部のレンズを介して撮像素子上に結像された光学像がこの撮像素子により光電変換されてアナログ信号として出力され、さらにこのアナログ信号がＡ／Ｄ変換されてデジタルデータとなった動画像信号であるものとする。
【００３１】
このラインメモリ１０１は、複数ライン分のデータを格納することができるように構成されている。より詳しくは、ラインメモリ１０１は、ノイズ低減処理部１０５によりフィルタ処理される処理エリアを含み得るライン数分のデータを少なくとも格納可能に構成されている。
【００３２】
領域抽出部１０８は、制御部１０７からの制御信号に基づいて、ラインメモリ１０１に格納されている複数ラインのデータから処理対象画素Ｐ（ｒ0，ｔc）を含む近傍の所定サイズのブロック領域の各画素Ｐ（ｒ，ｔc）を抽出して、抽出したブロック領域の各画素Ｐ（ｒ，ｔc）を画素値間差分算出部１０２とノイズ低減処理部１０５とへそれぞれ出力する。
【００３３】
また、領域抽出部１０８は、制御部１０７からの制御信号に基づいて、フレームメモリ１０６に格納されているノイズ低減後の前フレームの出力画像データから処理対象画素Ｐ（ｒ0，ｔc）と同一画素位置ｒ0の画素Ｐn（ｒ0，ｔp）を含む近傍の所定ブロック領域の各画素Ｐn（ｒ，ｔp）を抽出して、抽出したブロック領域の各画素Ｐn（ｒ，ｔp）を画素値間差分算出部１０２とノイズ低減処理部１０５とへそれぞれ出力する。
【００３４】
ここに、フレームメモリ１０６は、２フレーム分の画像データを記憶し得る容量を有するリングバッファとして構成されたものとなっている。すなわち、フレームメモリ１０６は、入力されるノイズ低減後の現フレーム画像の各画素Ｐn（ｒ，ｔc）によって、既に記録されているノイズ低減後の前フレーム画像の各画素Ｐn（ｒ，ｔp）を上書きしてしまうことがないように構成されている。
【００３５】
画素値間差分算出部１０２は、入力された画素Ｐ（ｒ，ｔc）とその中の処理対象画素Ｐ（ｒ0，ｔc）とに基づいて、上述したように差分Ｄ（ｒ，ｔc）を算出し、さらに、入力された前フレームの画素Ｐn（ｒ，ｔp）と現フレームの処理対象画素Ｐ（ｒ0，ｔc）とに基づいて、上述したように差分Ｄ（ｒ，ｔp）を算出する。そして、画素値間差分算出部１０２は、算出した差分Ｄ（ｒ，ｔc）およびＤ（ｒ，ｔp）を動きベクトル算出部１０３とフィルタ係数決定部１０４とへそれぞれ出力する。
【００３６】
動きベクトル算出部１０３は、入力された差分Ｄ（ｒ，ｔc）およびＤ（ｒ，ｔp）に基づいて動きベクトルｖ（ここに、ｖも肉太文字を通常文字で代用することにする）を算出し、算出した動きベクトルｖをフィルタ係数決定部１０４へ出力する。また、動きベクトル算出部１０３は、算出した動きベクトルｖを例えば手ぶれ補正等の他の処理にも用いることができるように、他の処理部へ出力するようになっている。
【００３７】
フィルタ係数決定部１０４は、入力された差分Ｄ（ｒ，ｔc）およびＤ（ｒ，ｔp）と動きベクトルｖとに基づいて、現フレームの抽出ブロック領域の各画素Ｐ（ｒ，ｔc）に適用するためのフィルタ係数Ｃ（ｒ，ｔc）と前フレームの抽出ブロック領域の各画素Ｐn（ｒ，ｔp）に適用するためのＣ（ｒ，ｔp）とを算出し、算出したフィルタ係数Ｃ（ｒ，ｔc）およびＣ（ｒ，ｔp）をノイズ低減処理部１０５へ出力する。
【００３８】
ノイズ低減処理部１０５は、領域抽出部１０８から入力された現フレームの所定の抽出ブロック領域の画素Ｐ（ｒ，ｔc）と、領域抽出部１０８から入力された前フレームの所定の抽出ブロック領域の画素Ｐn（ｒ，ｔp）と、フィルタ係数決定部１０４から入力されたフィルタ係数Ｃ（ｒ，ｔc）およびＣ（ｒ，ｔp）と、制御部１０７から入力されたノイズ推定パラメータ（後述するように、例えばＩＳＯ感度やゲイン量など）と、に基づいて、処理対象画素Ｐ（ｒ0，ｔc）に対するノイズ低減処理を行う。そして、ノイズ低減処理部１０５は、ノイズ低減した処理対象画素Ｐn（ｒ0，ｔc）を、図示しない出力バッファへ出力すると共に、フレームメモリ１０６へも出力する。
【００３９】
次に、図７は動きベクトル算出部１０３の詳細な構成を示すブロック図である。
【００４０】
この動きベクトル算出部１０３は、領域選択部７０１と、ブロックマッチング処理部７０２と、ノイズ量推定手段たるノイズ量推定部７０３と、動きベクトル決定部７０４と、を有している。
【００４１】
動きベクトル算出部１０３に入力される画素値間差分算出部１０２からの出力である抽出ブロック領域の差分Ｄ（ｒ，ｔc）は、領域選択部７０１に入力される。すると、領域選択部７０１は、入力された差分Ｄ（ｒ，ｔc）の例えば中央部の領域を抽出する（なお、ここでは抽出ブロック領域の一部に対応する差分Ｄを抽出しているが、抽出ブロック領域の全部に対応する差分Ｄを抽出するようにしても構わない（特に、前フレームの抽出ブロック領域を、現フレームの抽出ブロック領域よりも大きいサイズにとるときなど））。この図７に示した例では、動きベクトル算出部１０３は、図５に示した５×５画素の配列要素５０１の中央部の３×３画素領域に対応するＤc11，Ｄc12，Ｄc13，Ｄc21，Ｄc22，Ｄc23，Ｄc31，Ｄc32，Ｄc33を抽出する。そして、動きベクトル算出部１０３は、この抽出領域内の積算値Ｓを次のように算出する。  
Ｓ＝ΣrＤx（ｒ，ｔc）＋Ｐ（ｒ0，ｔc）
ここでの記号「Σr」は、領域選択部７０１により抽出された３×３画素領域内の総和を意味している。また、Ｄx（ｒ，ｔc）は、抽出した中央部３×３画素領域の中央のＤc22＝Ｐc22を０に置き換えた（つまり、Ｄc22＝Ｐc22＝０とした）領域に含まれる画素を示している（図７中において、このＤx（ｒ，ｔc）を図示している）。
【００４２】
動きベクトル算出部１０３は、算出した積算値Ｓをノイズ量推定部７０３へ出力すると共に、Ｄx（ｒ，ｔc）をブロックマッチング処理部７０２へ出力する。
【００４３】
こうしてブロックマッチング処理部７０２には、領域選択部７０１からの差分データ抽出領域の画素Ｄx（ｒ，ｔc）が入力される。このブロックマッチング処理部７０２には、さらに、画素値間差分算出部１０２から差分Ｄ（ｒ，ｔp）が入力される。そしてブロックマッチング処理部７０２は、次のような演算を行うことにより、現フレームと前フレームとの抽出ブロック内における相関値Ｅ（ｋ）を算出する（ここに、ｋも肉太文字を通常文字で代用することにする）。  
Ｅ（ｋ）＝Σr｜Ｄ（ｒ＋ｋ，ｔp）−Ｄx（ｒ，ｔc）｜×Ｗ（ｋ）
ただし、（ｒ＋ｋ）が前フレームの抽出領域Ｄ（ｒ＋ｋ，ｔp）を超えた場合には、加算処理に加えないこととする。また、Ｗ（ｋ）は、外周部の相関値算出に使用する画素数が減ることにより小さい値となるのを補うために設けた重みである。ここに、図８は、動きベクトル算出におけるブロックマッチング結果に乗ずる重みＷ（ｋ）の配置例を示す図である。この図８においては、５×５画素の領域における重みの一例を示している。
【００４４】
なお、上述においては、相関値Ｅ（ｋ）の算出を差分絶対値和を用いて行い、計算量を低減するようにしているが、これに限るものではない。計算量が幾らか増えても構わないのであれば、例えば自乗和を用いて相関値Ｅ（ｋ）を算出しても良いことはいうまでもない。
【００４５】
ブロックマッチング処理部７０２は、こうして算出した相関値Ｅ（ｋ）を、動きベクトル決定部７０４へ出力する。
【００４６】
一方、ノイズ量推定部７０３には、制御部１０７からノイズ推定パラメータが入力されると共に、領域選択部７０１から抽出領域の積算値Ｓが入力される。そして、ノイズ量推定部７０３は、ノイズ推定パラメータと積算値Ｓとに基づいて、ノイズ量を推定する。ここに、図９は画像信号中に含まれるノイズ量（ノイズ統計量（標準偏差））と輝度レベルとの関係を示す線図である。この図９には、ノイズ量推定を行うために使用するノイズ推定パラメータの１つであるノイズモデルテーブルを、７点（ゼロを含めて８点）の折れ線グラフ化して示している。
【００４７】
ここで、ノイズモデルテーブルは、次のように構成されたものである。まず、ノイズモデルテーブルを作成する対象の撮像装置により、特定の被写体を予め撮像する。この特定の被写体とは、異なる輝度レベルのパッチが複数構成されている被写体であって、各パッチの領域内においては輝度レベルが均一である被写体であり、グレーチャートなどが例として挙げられる。そして、各領域内の平均値を輝度レベルとし、標準偏差をノイズ量として、これら輝度レベルとノイズ量とを対応付けてテーブル化したものである。
【００４８】
ノイズ量推定部７０３は、上記抽出領域積算値Ｓを輝度レベルとして、この輝度レベルの上側と下側とに近傍する２つの登録輝度レベルに基づき上記ノイズモデルテーブルを参照して、これら２つの登録輝度レベルに対応する２つの標準偏差を取得する。そして、ノイズ量推定部７０３は、これら２つの標準偏差を上述した２つの登録輝度レベルと積算値Ｓの輝度レベルとに基づき線形補間して、積算値Ｓの輝度レベルに対するノイズ量Ｎq0を算出する。さらに、ノイズ量推定部７０３は、算出したノイズ量Ｎq0を、制御部１０７からのノイズ推定パラメータの１つである撮像条件（ＩＳＯ感度やゲイン量といったパラメータ）に基づき補正することにより、最終的な推定ノイズ量Ｎqを算出する。この最終的な推定ノイズ量Ｎqの算出は、例えば、次のように行われる。  
Ｎq＝Ｎq0×Ｆ（ゲイン量，…）
ここに、Ｆ（ｘ，…）は、１つ以上の変数を持つ関数である。
【００４９】
その後、ノイズ量推定部７０３は、算出した推定ノイズ量Ｎqを動きベクトル決定部７０４へ出力する。
【００５０】
次に、図１０は動きベクトル決定部７０４の詳細な構成を示すブロック図である。
【００５１】
この動きベクトル決定部７０４は、相関値判定部１００１と、高相関領域候補抽出部１００２と、重心算出部１００３と、を有している。
【００５２】
動きベクトル決定部７０４に入力された推定ノイズ量Ｎqと相関値Ｅ（ｋ）とは、相関値判定部１００１に入力される。すると、相関値判定部１００１は、推定ノイズ量Ｎqと相関値Ｅ（ｋ）とを比較する。ただし、入力される推定ノイズ量Ｎqは１画素に対する量であるために、推定ノイズ量Ｎqの大きさを相関値Ｅ（ｋ）の大きさと合わせるべく、相関値判定部１００１は、推定ノイズ量Ｎqを所定係数倍したものを改めて推定ノイズ量Ｎqとしてから、上記比較を行うようになっている。
【００５３】
そして、相関値判定部１００１は、相関値Ｅ（ｋ）が推定ノイズ量Ｎqよりも大きいと判定した場合には、相関が低い領域であるとして値０を出力し、それ以外の場合には、ノイズに埋もれているものの相関が高い可能性がある領域であるとして値１を出力する。
【００５４】
図１１〜図１３に、５×５画素領域における相関値Ｅ（ｋ）の判定結果の幾つかの例を示す。ここに、図１１は相関値判定部１００１により中央部の３×３画素領域の相関が高いと判定されたときの５×５画素領域を示す図、図１２は相関値判定部１００１により左側やや上のＥ10とＥ12との相関が高いと判定されたときの５×５画素領域を示す図、図１３は相関値判定部１００１により右上角部のＥ03，Ｅ04，Ｅ14の相関が高いと判定されたときの５×５画素領域を示す図である。なお、図１１〜図１３において、ハッチングされた領域が、相関が高い可能性があるとして１がセットされた領域に対応し、それ以外が、相関が低いとして０がセットされた領域に対応している。
【００５５】
すなわち、図１１の符号１１０１に示す例においては、中央部３×３画素領域の相関が高いとして値１がセットされ、それ以外の領域は相関が低いとして０がセットされている。
【００５６】
また、図１２の符号１２０１に示す例においては、Ｅ10とＥ12との相関が高いとして値１がセットされ、それ以外の領域は相関が低いとして０がセットされている。
【００５７】
同様に、図１３の符号１３０１に示す例においては、Ｅ03，Ｅ04，Ｅ14の相関が高いとして１がセットされ、それ以外の領域は相関が低いとして０がセットされている。
【００５８】
相関値判定部１００１は、このような２値化を行った相関値Ｅ（ｋ）を改めて２値化相関値Ｅ（ｋ）として、高相関領域候補抽出部１００２へ出力する。
【００５９】
高相関領域候補抽出部１００２は、入力された２値化相関値Ｅ（ｋ）において１がセットされている領域の中心位置Ｅ22に対する位置ベクトルｋeを算出し、算出した位置ベクトルｋeを重心算出部１００３へ出力する。
【００６０】
重心算出部１００３は、次の計算を行うことにより動きベクトルｖを算出して、算出した動きベクトルｖをフィルタ係数決定部１０４へ出力する。  
ｖ＝Σｋe／Ｎe
ここにＮeは、高相関領域候補抽出部１００２から出力される位置ベクトルの数である。
【００６１】
すなわち、重心算出部１００３は、入力される２値化相関値Ｅ（ｋ）が例えば図１１に示すような中心位置Ｅ22に対して上下左右に対称なものであった場合には、図１４の符号１４０１に示すようなゼロベクトルを動きベクトルｖとして算出する。ここに、図１４は、図１１に示す２値化相関値Ｅ（ｋ）に対して算出される動きベクトルｖを示す図である。
【００６２】
また、重心算出部１００３は、入力される２値化相関値Ｅ（ｋ）が例えば図１２に示すような中心位置Ｅ22に対して左上に偏ったものであった場合には、図１５の符号１５０１に示すようなベクトルを動きベクトルｖとして算出する。ここに、図１５は、図１２に示す２値化相関値Ｅ（ｋ）に対して算出される動きベクトルｖを示す図である。
【００６３】
さらに、重心算出部１００３は、入力される２値化相関値Ｅ（ｋ）が例えば図１３に示すような中心位置Ｅ22に対して右上角部に偏ったものであった場合には、図１６の符号１６０１に示すようなベクトルを動きベクトルｖとして算出する。ここに、図１６は、図１３に示す２値化相関値Ｅ（ｋ）に対して算出される動きベクトルｖを示す図である。
【００６４】
次に、図２０は、フィルタ係数決定部１０４の詳細な構成を示すブロック図である。
【００６５】
このフィルタ係数決定部１０４は、空間距離フィルタ係数テーブル２０００と、最大重み位置決定手段であり空間距離重み係数決定手段たる空間距離フィルタ係数選択部２００１と、画素値間距離重み係数決定手段たる画素値間距離フィルタ係数選択部２００２と、画素値間距離フィルタ係数テーブル２００３と、フィルタ係数算出手段を構成する乗算器２００４と、フィルタ係数算出手段を構成する正規化係数算出部２００５と、フィルタ係数算出手段を構成するフィルタ係数算出部２００６と、フィルタ係数算出手段を構成する除数乗数変換部２００７と、を有している。
【００６６】
フィルタ係数決定部１０４には、画素値間差分算出部１０２からの出力である差分Ｄ（ｒ，ｔc）およびＤ（ｒ，ｔp）と、動きベクトル算出部１０３からの出力である動きベクトルｖと、が入力される。これらの各入力の内の、差分Ｄ（ｒ，ｔc）およびＤ（ｒ，ｔp）は画素値間距離フィルタ係数選択部２００２へ、動きベクトルｖは空間距離フィルタ係数選択部２００１へ、それぞれ入力される。
【００６７】
空間距離フィルタ係数選択部２００１は、入力される動きベクトルｖの２次元座標を、左上から右下へのラスタスキャン順のシリアルな番号ｎに変換する。そして、空間距離フィルタ係数選択部２００１は、空間距離フィルタ係数テーブル２０００に格納されている図２１の符号２１０１に示すようなインデックスが１からＮの係数テーブルから、シリアル番号ｎのテーブルを選択して読み込む。ここに、図２１は、空間距離フィルタ係数テーブルを示す図である。また、各インデックスのテーブルには、フィルタサイズ（例えば５×５画素）分の係数値が格納されている。
【００６８】
また、動きベクトルｖが画素ピッチを精度とするものである場合は、インデックスの総数Ｎは動きベクトル算出領域の画素数と同じ数となる。あるいは、動きベクトルｖが半画素ピッチを精度とするものである場合は、インデックスの総数Ｎは前記画素数の４倍の数となる。
【００６９】
図１７〜図１９に、選択された例えば５×５画素分のフィルタ係数値の例を示す。ここに、図１７は、図１４に示す動きベクトルに対応して決定された空間距離フィルタの係数の例を示す図、図１８は、図１５に示す動きベクトルに対応して決定された空間距離フィルタの係数の例を示す図、図１９は、図１６に示す動きベクトルに対応して決定された空間距離フィルタの係数の例を示す図である。
【００７０】
すなわち、動きベクトルが図１４の符号１４０１に示すようなものである場合には、図１７の符号１７０１に示すようなフィルタ係数が決定される。なお、この符号１７０１に示すフィルタ係数は、現フレームの抽出ブロックの差分Ｄ（ｒ，ｔc）に対応する空間距離フィルタにも対応している。
【００７１】
また、動きベクトルが図１５の符号１５０１に示すようなものである場合には、図１８の符号１８０１に示すようなフィルタ係数が決定される。
【００７２】
さらに、動きベクトルが図１６の符号１６０１に示すようなものである場合には、図１９の符号１９０１に示すようなフィルタ係数が決定される。
【００７３】
なお、図１７〜図１９に示したフィルタ係数値は、動きベクトルに応じてフィルタ係数が２次元的に変化することを示すために例示したものであり、これらの各図に示したフィルタ係数値に限定されるものではない。
【００７４】
これら図１７〜図１９に示したフィルタ係数は、ガウス関数Ｇs（ｒ）＝Ａｅｘｐ｛−（ｒ−ｖ）2／２σs2｝に基づき構成されたフィルタ係数となっている。ガウス関数の中心位置（ｒ＝ｖ）（この中心位置が最大重み位置である）が図１７〜図１９においてハッチングを施した位置に対応し、この中心位置からの空間距離｜ｒ｜に応じて係数値が小さくなる特性をもっている。つまり、図１７〜図１９に示すフィルタ係数は、動きベクトルが示す位置ｖを中心位置とするようにガウス関数のフィルタを移動させて、カーネルサイズ領域（図示の例では５×５画素サイズの領域）分を抽出したものとなっている。
【００７５】
なお、ここではフィルタ係数をガウス関数を用いて構成する例について説明したが、これに限るものではなく、ガウス関数以外の関数を用いて構成してももちろん構わない。
【００７６】
空間距離フィルタ係数選択部２００１は、このようにして選択した空間距離フィルタ係数を乗算器２００４へ出力する。
【００７７】
一方、画素値間距離フィルタ係数選択部２００２は、画素値間差分算出部１０２から入力される差分Ｄ（ｒ，ｔc）とＤ（ｒ，ｔp）との絶対値をそれぞれ取って画素値間距離とし、これらの画素値間距離に対応するフィルタ係数を画素値間距離フィルタ係数テーブル２００３から選択して、選択したフィルタ係数を乗算器２００４へ出力する。
【００７８】
ここで、図２２は、画素値間差分値に対応する重み係数値が格納された画素値間距離フィルタ係数テーブルを示す図である。符号２２０１に例示する画素値間距離フィルタ係数テーブルは、０からＭまでのインデックスを備えていて、差分絶対値の取り得る範囲に対応している。そして、画素値間距離フィルタ係数テーブルは、画素値間距離（差分絶対値）を入力したときの所定関数値を格納している。
【００７９】
なお、画素値間距離フィルタは、上述した空間距離フィルタと同様にガウス関数Ｇd（ｄ）＝Ｂｅｘｐ｛−ｄ2／２σd2｝（ここでｄは画素値間距離）に基づき設計しても良いし、あるいは、変数値が大きくなるにつれて関数値が小さくなるような任意関数（例えば有理関数など）に基づき設計しても構わない。
【００８０】
空間距離フィルタ係数選択部２００１からの空間距離フィルタ係数と、画素値間距離フィルタ係数選択部２００２からの画素値間距離フィルタ係数とは、同一フィルタ係数位置毎に乗算器２００４により乗算されてバイラテラルフィルタ係数値となる。そして、このバイラテラルフィルタ係数値は、フィルタ係数算出部２００６と正規化係数算出部２００５とへ出力される。ここで、算出されたバイラテラルフィルタ係数値のカーネル内での総和は、一般に１に固定することができず可変となるために、フィルタ係数の総和が１となるためのフィルタ係数の補正をフィルタ係数算出部２００６により行う。
【００８１】
そこでまず、正規化係数算出部２００５は、入力される現フレームと前フレームの抽出ブロックに各対応するバイラテラルフィルタ係数値の総和を算出して、正規化係数値として除数乗数変換部２００７へ出力する。
【００８２】
除数乗数変換部２００７は、入力値を逆数に変換するテーブルを備えており、入力された正規化係数値を逆数に変換してフィルタ係数算出部２００６へ出力する。
【００８３】
フィルタ係数算出部２００６は、入力されたバイラテラルフィルタ係数値に正規化係数値の逆数を乗算することにより総和が１となるフィルタ係数Ｃ（ｒ，ｔc），Ｃ（ｒ，ｔp）を求めて、求めたフィルタ係数Ｃ（ｒ，ｔc），Ｃ（ｒ，ｔp）をノイズ低減処理部１０５へ出力する。
【００８４】
なお、上述ではフィルタ係数をバイラテラルフィルタとしていたが、これに代えて、空間距離のみを用いたモノラテラルフィルタとしても良い。この場合には、急峻なエッジ構造に対する保存性は低下するものの、微細構造を保持する上では十分に機能する。
【００８５】
次に、図２３は、ノイズ低減処理部１０５の詳細な構成を示すブロック図である。
【００８６】
このノイズ低減処理部１０５は、リファレンス信号算出部２３０１と、コアリング処理部２３０２と、ノイズ量推定部２３０３と、を有している。
【００８７】
ノイズ低減処理部１０５には、領域抽出部１０８から出力された抽出ブロック領域の画素Ｐ（ｒ，ｔc），Ｐn（ｒ，ｔp）および処理対象画素Ｐ（ｒ0，ｔc）と、フィルタ係数決定部１０４から出力されたフィルタ係数Ｃ（ｒ，ｔc）およびＣ（ｒ，ｔp）と、制御部１０７から出力されたノイズ推定パラメータと、が入力される。これらの各入力の内の、抽出ブロック領域の画素Ｐ（ｒ，ｔc）およびＰn（ｒ，ｔp）とフィルタ係数Ｃ（ｒ，ｔc）およびＣ（ｒ，ｔp）とはリファレンス信号算出部２３０１へ、処理対象画素Ｐ（ｒ0，ｔc）はコアリング処理部２３０２へ、ノイズ推定パラメータはノイズ量推定部２３０３へ、それぞれ入力される。
【００８８】
リファレンス信号算出部２３０１は、入力される画素Ｐ（ｒ，ｔc）およびＰn（ｒ，ｔp）とフィルタ係数Ｃ（ｒ，ｔc）およびＣ（ｒ，ｔp）とに基づいて、以下のようなフィルタ処理を行い、処理結果をノイズ量推定部２３０３およびコアリング処理部２３０２へ出力する。  
Ｐr（ｒ0，ｔc）
＝ΣrＣ（ｒ，ｔc）Ｐ（ｒ，ｔc）＋ΣrＣ（ｒ，ｔp）Ｐn（ｒ，ｔp）
【００８９】
ノイズ量推定部２３０３は、入力されるリファレンス信号Ｐr（ｒ0，ｔc）と上述したノイズ推定パラメータ（ＩＳＯ感度や信号ゲイン量やセンサ温度や露出時間、およびノイズモデルテーブル）とに基づいてノイズ量を推定し、推定したノイズ量をコアリング処理部２３０２へ出力する。ここで、このノイズ量推定部２３０３によるノイズ量の推定は、輝度レベルとして抽出領域積算値Ｓの代わりにリファレンス信号Ｐr（ｒ0，ｔc）を用いる点を除いては、動きベクトル算出部１０３に含まれるノイズ量推定部７０３と同様であるために、説明を省略する。
【００９０】
コアリング処理部２３０２は、入力されるリファレンス信号Ｐr（ｒ0，ｔc）と処理対象画素Ｐ（ｒ0，ｔc）と推定ノイズ量Ｎqとに基づいて、以下の条件に基づくコアリング処理を行うことによりノイズ低減後の処理対象画素Ｐn（ｒ0，ｔc）を算出し、算出したノイズ低減後の処理対象画素Ｐn（ｒ0，ｔc）を図示しない出力バッファとフレームメモリ１０６とへそれぞれ出力する。  
｜Ｐ（ｒ0，ｔc）−Ｐr（ｒ0，ｔc）｜＜Ｎq  のとき
Ｐn（ｒ0，ｔc）＝Ｐr（ｒ0，ｔc）
Ｐ（ｒ0，ｔc）−Ｐr（ｒ0，ｔc）  ≧Ｎq  のとき
Ｐn（ｒ0，ｔc）＝Ｐ（ｒ0，ｔc）−Ｎq
Ｐ（ｒ0，ｔc）−Ｐr（ｒ0，ｔc）  ≦−Ｎq  のとき
Ｐn（ｒ0，ｔc）＝Ｐ（ｒ0，ｔc）＋Ｎq
【００９１】
なお、ここではノイズ低減処理部１０５を図２３に示したような構成としたが、このような構成に限るものではなく、この図２３に示した構成からノイズ量推定部およびコアリング処理部を省略したより単純な構成を採用しても構わない。この場合には、ノイズ低減処理は、リファレンス信号Ｐr（ｒ0，ｔc）をノイズ低減後の処理対象画素Ｐn（ｒ0，ｔc）とする処理、つまり、
Ｐn（ｒ0，ｔc）＝Ｐr（ｒ0，ｔc）
となる。
【００９２】
図２４は、画像処理装置の処理手順を示すフローチャートである。
【００９３】
この処理を開始すると、フレームメモリ１０６の内容をゼロに初期化する（ステップＳ２４０１）。
【００９４】
次に、ラスタスキャン順に入力される入力画像信号を所定ライン数分だけラインメモリ１０１に格納する（ステップＳ２４０２）。例えば、ノイズ低減処理部１０５によるノイズ低減処理を５×５画素の抽出画素ブロックに対して行う場合には、このステップＳ２４０２において格納するのは例えば４ラインである。
【００９５】
続いて、入力画像信号がラインの先頭から５画素目（抽出画素ブロックの水平方向の画素数が５画素である場合）以下である場合には５画素分、６画素目以上である場合には１画素分だけラインメモリ１０１に格納する（ステップＳ２４０３）。これにより、例えばステップＳ２４０２において４ラインを既にラインメモリ１０１に格納している場合には、このステップＳ２４０３において４ライン＋５画素が格納されることになり、最初の５×５画素を抽出ブロックとすることが可能となる。また、ラインメモリ１０１に例えば４ライン＋５画素が既に格納されている場合には、このステップＳ２４０３において４ライン＋６画素が格納されることになり、抽出ブロックを１画素分水平にずらして、つまり処理対象画素を１画素分水平に移動することが可能となる。
【００９６】
そこで、領域抽出部１０８により現フレームの処理対象ブロック領域の画素Ｐ（ｒ，ｔc）をラインメモリ１０１から抽出する（ステップＳ２４０４）。
【００９７】
さらに、領域抽出部１０８により前フレームの処理対象ブロック領域の画素Ｐn（ｒ，ｔp）をフレームメモリ１０６から抽出する（ステップＳ２４０５）。
【００９８】
そして、画素値間差分算出部１０２により、Ｐ（ｒ，ｔc）およびＰn（ｒ，ｔp）と処理対象画素Ｐ（ｒ0，ｔc）との間の差分を求めることにより、画素値間差分Ｄ（ｒ，ｔc）およびＤ（ｒ，ｔp）を算出する（ステップＳ２４０６）。
【００９９】
その後、動きベクトル算出部１０３により、画素値間差分Ｄ（ｒ，ｔc）およびＤ（ｒ，ｔp）を用いて動きベクトルｖを算出する（ステップＳ２４０７）。
【０１００】
次に、フィルタ係数決定部１０４により、画素値間差分Ｄ（ｒ，ｔc）およびＤ（ｒ，ｔp）と動きベクトルｖとに基づいて、フィルタ係数Ｃ（ｒ，ｔc）およびＣ（ｒ，ｔp）を算出する（ステップＳ２４０８）。
【０１０１】
さらに、ノイズ低減処理部１０５により、フィルタ係数Ｃ（ｒ，ｔc）およびＣ（ｒ，ｔp）と画素Ｐ（ｒ，ｔc）およびＰn（ｒ，ｔp）とに基づいて、ノイズ低減がなされた処理対象画素Ｐn（ｒ0，ｔ0）を算出する（ステップＳ２４０９）。
【０１０２】
そして、算出したノイズ低減後の処理対象画素Ｐn（ｒ0，ｔ0）を図示しない出力バッファとフレームメモリとにそれぞれ格納する（ステップＳ２４１０）。
【０１０３】
その後、フレーム画素数分の処理が終了したか否かを判定して（ステップＳ２４１１）、フレーム画素数分の処理が終了していないと判定した場合には、ステップＳ２４０３に戻って上述したような処理を繰り返して行う。
【０１０４】
一方、フレーム画素数分の処理が終了したと判定した場合には、所定処理フレーム数分の処理が終了したか否かをさらに判定する（ステップＳ２４１２）。
【０１０５】
ここで、所定処理フレーム数分の処理がまだ終了していないと判定した場合には、ステップＳ２４０２に戻って、次のフレームの処理を上述したように行う。
【０１０６】
また、所定処理フレーム数分の処理が終了したと判定した場合には、この一連の処理の全てを終了する。
【０１０７】
このような実施形態１によれば、動画像信号の小振幅の動きに応じて前フレームの抽出ブロックに作用させるフィルタ係数を変更するようにしたために、微細構造を保持したノイズ低減が可能になる。
【０１０８】
また、大きな動きに対しては、画素値間差分に基づいてフィルタ係数を変更するようにしたために、エッジ部の鈍りを抑制することが可能となる。
【０１０９】
さらに、ノイズ量を推定して、推定したノイズ量に基づき動きベクトルを決定するようにしたために、強いエッジ等の特徴がない画像領域に対して算出した動きベクトルが、本来は時間方向の相関性がないにも関わらずノイズに起因して動きベクトルとして誤検出されてしまうのを低減することができる。
【０１１０】
［実施形態２］
図２５は本発明の実施形態２を示したものであり、画像処理装置の構成を示すブロック図である。この実施形態２において、上述の実施形態１と同様である部分については同一の符号を付して説明を省略し、主として異なる点についてのみ説明する。
【０１１１】
まず、この実施形態２において用いる表記の定義の、上述した実施形態１において用いた表記の定義との相違について説明する。この実施形態２においては、ノイズ低減されていない前フレームの信号を用いるようになっている（すなわち、巡回型ノイズ低減処理とはなっていない）。従って、前フレームがノイズ低減されていないことにより、前フレームの抽出ブロック領域の表記は、Ｐ（ｒ，ｔp）となる。
【０１１２】
これに伴って、前フレームの抽出ブロック領域に対する差分Ｄ（ｒ，ｔp）の定義は、
Ｄ（ｒ，ｔp）＝Ｐ（ｒ，ｔp）−Ｐ（ｒ0，ｔc）
となる。
【０１１３】
そして、ノイズ低減用フィルタ処理後の処理対象画素Ｐr（ｒ0，ｔc）の定義は、
Ｐr（ｒ0，ｔc）＝ΣrＣ（ｒ，ｔc）Ｐ（ｒ，ｔc）＋ΣrＣ（ｒ，ｔp）Ｐ（ｒ，ｔp）
となる。
【０１１４】
次に、図２５に示すように、本実施形態の画像処理装置は、スイッチ２５０１と、フレームメモリ２５０２と、フレームメモリ２５０３と、画素抽出手段たる領域抽出部２５０４と、画素値間差分算出部１０２と、動きベクトル算出部１０３と、フィルタ係数決定部１０４と、ノイズ低減処理部１０５と、制御部１０７と、を有している。
【０１１５】
スイッチ２５０１には、デジタルの動画像信号が例えばラスタスキャン順に入力されるようになっている。ここに、動画像信号は、例えば、図示しない撮像部のレンズを介して撮像素子上に結像された光学像がこの撮像素子により光電変換されてアナログ信号として出力され、さらにこのアナログ信号がＡ／Ｄ変換されてデジタルデータとなった動画像信号であるものとする。
【０１１６】
スイッチ２５０１は、入力された動画像信号の出力先を、フレームメモリ２５０２またはフレームメモリ２５０３に切り替えるものである。このスイッチ２５０１の出力先の切替は、制御部１０７の制御に基づいて、フレーム期間毎に行われるようになっている。
【０１１７】
領域抽出部２５０４は、制御部１０７の制御信号に基づいて、フレームメモリ２５０２とフレームメモリ２５０３とに格納されているデータの内の何れが現フレームのデータであって他の何れが前フレームのデータであるかを判定し、判定結果に基づいて、現フレームのデータから処理対象画素Ｐ（ｒ0，ｔc）を含む近傍の所定サイズのブロック領域の画素Ｐ（ｒ，ｔc）を抽出するとともに、前フレームのデータから所定ブロック領域の画素Ｐ（ｒ，ｔp）を抽出する。そして、領域抽出部２５０４は、これら抽出ブロック領域の画素Ｐ（ｒ，ｔc）およびＰ（ｒ，ｔp）を、画素値間差分算出部１０２とノイズ低減処理部１０５とへ出力する。
【０１１８】
画素値間差分算出部１０２は、入力されたＰ（ｒ，ｔc）とＰ（ｒ0，ｔc）とに基づいて、差分Ｄ（ｒ，ｔc）を算出し、さらに、入力されたＰ（ｒ，ｔp）とＰ（ｒ0，ｔc）とに基づいて差分Ｄ（ｒ，ｔp）を算出する。そして、画素値間差分算出部１０２は、算出した差分Ｄ（ｒ，ｔc）およびＤ（ｒ，ｔp）を動きベクトル算出部１０３とフィルタ係数決定部１０４とへそれぞれ出力する。
【０１１９】
動きベクトル算出部１０３は、入力された差分Ｄ（ｒ，ｔc）およびＤ（ｒ，ｔp）に基づいて動きベクトルｖを算出し、算出した動きベクトルｖをフィルタ係数決定部１０４へ出力する。
【０１２０】
フィルタ係数決定部１０４は、入力された差分Ｄ（ｒ，ｔc）およびＤ（ｒ，ｔp）と動きベクトルｖとに基づいて、フィルタ係数Ｃ（ｒ，ｔc）およびＣ（ｒ，ｔp）を算出し、算出したフィルタ係数Ｃ（ｒ，ｔc）およびＣ（ｒ，ｔp）をノイズ低減処理部１０５へ出力する。
【０１２１】
ノイズ低減処理部１０５は、領域抽出部２５０４から入力された現フレームの所定の抽出ブロック領域の画素Ｐ（ｒ，ｔc）と、領域抽出部２５０４から入力された前フレームの所定の抽出ブロック領域の画素Ｐ（ｒ，ｔp）と、フィルタ係数決定部１０４から入力されたフィルタ係数Ｃ（ｒ，ｔc）およびＣ（ｒ，ｔp）と、制御部１０７から入力されたノイズ低減量を調整するためのノイズ推定パラメータと、に基づいて、処理対象画素Ｐ（ｒ0，ｔc）に対するノイズ低減処理を行う。そして、ノイズ低減処理部１０５は、ノイズ低減した処理対象画素Ｐn（ｒ0，ｔc）を、図示しない出力バッファへ出力する。
【０１２２】
このような実施形態２によれば、上述した実施形態１とほぼ同様に、動画像信号の小振幅の動きに応じて前フレームの抽出ブロックに作用させるフィルタ係数を変更するようにしたために、微細構造を保持したノイズ低減が可能となる。また、大きな動きに対しては、画素値間差分に基づいてフィルタ係数を変更するようにしたために、エッジ部の鈍りを抑えることが可能となる。
【０１２３】
また、この実施形態２は、上述した実施形態１のような巡回型のフィルタ構成を採用していないために、上述した実施形態１と同一のノイズ低減効果を期待することはできないが、動きベクトルの誤検出等に起因して微細構造があるフレームにおいて例え消えてしまった場合であっても、その影響が短期間で（例えば次のフレームで）解消するという効果を別途得ることができる。
【０１２４】
なお、上述した各実施形態においては、前フレームの抽出ブロックサイズと現フレームの抽出ブロックサイズとを同一としていたが、特にそうである必要はない。例えば、前フレームの抽出ブロックサイズを現フレームの抽出ブロックサイズよりも大きくすることが考えられる。この場合には、より広範囲における動きベクトルを算出することが可能となる。また、この場合には、現フレームの抽出ブロック全体を用いて動きベクトルのブロックマッチングを行うことも可能となるために、動きベクトル検出精度を向上することができる。
【０１２５】
さらに、上述した各実施形態においては、動きベクトル算出処理と、フィルタ係数算出処理と、ノイズ低減処理と、を略同時に実施する構成として、フレームメモリに必要なメモリサイズを最低限に抑制するようにしていた。しかし、これに限らず、動きベクトル算出処理を他の処理とは切り離して、他の処理の前段に設けるようにすることも可能である。しかしこの場合には、動きベクトル算出用のフレームメモリを別途用意する必要がある。
【０１２６】
なお、本発明は上述した実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除しても良い。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。このように、発明の主旨を逸脱しない範囲内において種々の変形や応用が可能であることは勿論である。
【図面の簡単な説明】
【０１２７】
【図１】本発明の実施形態１における画像処理装置の構成を示すブロック図。
【図２】上記実施形態１において、現フレームと前フレームとの画素の位置関係を模式的に示す図。
【図３】上記実施形態１における現フレームの処理対象画素に対する抽出ブロック領域（５×５画素）を示す図。
【図４】上記実施形態１における前フレームの処理対象画素と同一空間位置の画素に対する抽出ブロック領域（５×５画素）を示す図。
【図５】上記実施形態１における現フレームの差分値ブロック（５×５画素）を示す図。
【図６】上記実施形態１における前フレームの差分値ブロック（５×５画素）を示す図。
【図７】上記実施形態１における動きベクトル算出部の詳細な構成を示すブロック図。
【図８】上記実施形態１において、動きベクトル算出におけるブロックマッチング結果に乗ずる重みＷ（ｋ）の配置例を示す図。
【図９】上記実施形態１において、画像信号中に含まれるノイズ量と輝度レベルとの関係を示す線図。
【図１０】上記実施形態１における動きベクトル決定部の詳細な構成を示すブロック図。
【図１１】上記実施形態１において、相関値判定部により中央部の３×３画素領域の相関が高いと判定されたときの５×５画素領域を示す図。
【図１２】上記実施形態１において、相関値判定部により左側やや上のＥ10とＥ12との相関が高いと判定されたときの５×５画素領域を示す図。
【図１３】上記実施形態１において、相関値判定部により右上角部のＥ03，Ｅ04，Ｅ14の相関が高いと判定されたときの５×５画素領域を示す図。
【図１４】上記実施形態１において、図１１に示す２値化相関値Ｅ（ｋ）に対して算出される動きベクトルｖを示す図。
【図１５】上記実施形態１において、図１２に示す２値化相関値Ｅ（ｋ）に対して算出される動きベクトルｖを示す図。
【図１６】上記実施形態１において、図１３に示す２値化相関値Ｅ（ｋ）に対して算出される動きベクトルｖを示す図。
【図１７】上記実施形態１において、図１４に示す動きベクトルに対応して決定された空間距離フィルタの係数の例を示す図。
【図１８】上記実施形態１において、図１５に示す動きベクトルに対応して決定された空間距離フィルタの係数の例を示す図。
【図１９】上記実施形態１において、図１６に示す動きベクトルに対応して決定された空間距離フィルタの係数の例を示す図。
【図２０】上記実施形態１におけるフィルタ係数決定部の詳細な構成を示すブロック図。
【図２１】上記実施形態１における空間距離フィルタ係数テーブルを示す図。
【図２２】上記実施形態１における画素値間差分値に対応する重み係数値が格納された画素値間距離フィルタ係数テーブルを示す図。
【図２３】上記実施形態１におけるノイズ低減処理部の詳細な構成を示すブロック図。
【図２４】上記実施形態１における画像処理装置の処理手順を示すフローチャート。
【図２５】本発明の実施形態２における画像処理装置の構成を示すブロック図。
【符号の説明】
【０１２８】
１０１…ラインメモリ
１０２…画素値間差分算出部（画素値間差分算出手段）
１０３…動きベクトル算出部（動きベクトル算出手段）
１０４…フィルタ係数決定部（フィルタ係数決定手段）
１０５…ノイズ低減処理部（ノイズ低減手段）
１０６…フレームメモリ
１０７…制御部
１０８…領域抽出部（画素抽出手段）
７０１…領域選択部
７０２…ブロックマッチング処理部
７０３…ノイズ量推定部（ノイズ量推定手段）
７０４…動きベクトル決定部
１００１…相関値判定部
１００２…高相関領域候補抽出部
１００３…重心算出部
２０００…空間距離フィルタ係数テーブル
２００１…空間距離フィルタ係数選択部（最大重み位置決定手段、空間距離重み係数決定手段）
２００２…画素値間距離フィルタ係数選択部（画素値間距離重み係数決定手段）
２００３…画素値間距離フィルタ係数テーブル
２００４…乗算器（フィルタ係数算出手段）
２００５…正規化係数算出部（フィルタ係数算出手段）
２００６…フィルタ係数算出部（フィルタ係数算出手段）
２００７…除数乗数変換部（フィルタ係数算出手段）
２３０１…リファレンス信号算出部
２３０２…コアリング処理部
２３０３…ノイズ量推定部
２５０１…スイッチ
２５０２…フレームメモリ
２５０３…フレームメモリ
２５０４…領域抽出部（画素抽出手段）
【図１】
0005052301.tif 000002
【図２】
0005052301.tif 000003
【図３】
0005052301.tif 000004
【図４】
0005052301.tif 000005
【図５】
0005052301.tif 000006
【図６】
0005052301.tif 000007
【図７】
0005052301.tif 000008
【図８】
0005052301.tif 000009
【図９】
0005052301.tif 000010
【図１０】
0005052301.tif 000011
【図１１】
0005052301.tif 000012
【図１２】
0005052301.tif 000013
【図１３】
0005052301.tif 000014
【図１４】
0005052301.tif 000015
【図１５】
0005052301.tif 000016
【図１６】
0005052301.tif 000017
【図１７】
0005052301.tif 000018
【図１８】
0005052301.tif 000019
【図１９】
0005052301.tif 000020
【図２０】
0005052301.tif 000021
【図２１】
0005052301.tif 000022
【図２２】
0005052301.tif 000023
【図２３】
0005052301.tif 000024
【図２４】
0005052301.tif 000025
【図２５】
0005052301.tif 000026