(57)【特許請求の範囲】
【請求項１】
連続して撮影することにより得られた複数の画像データのうち、１つの着目画像データ及び少なくとも１つの参照画像データを取得する取得手段と、
前記着目画像データにおける着目画素と、前記参照画像データにおいて前記着目画素と同座標に位置する参照画素とが、エッジ画素であるか否かを判定するエッジ判定手段と、
前記参照画素及び前記参照画素の周辺画素からなる領域と、前記着目画素及び前記着目画素の周辺画素からなる領域との間に、輝度差があるか否かを判定する輝度差判定手段と、
前記エッジ判定手段による判定結果及び前記輝度差判定手段による判定結果に基づいて、前記着目画素は、前記着目画像データにおいてのみ発生しているノイズ画素が連続したことによりエッジ構造を形成している構造ノイズが発生している画素であるか否かを判定するノイズ判定手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記取得手段は、前記参照画像データを複数取得し、
前記着目画素が構造ノイズであると判定された場合に、前記参照画素を加算平均して前記着目画素を補正し、ノイズ低減処理を施された着目画像データを出力する出力手段をさらに有する請求項１に記載の画像処理装置。
【請求項３】
前記取得手段は、前記参照画像データを複数取得し、
前記着目画素がエッジ画素であると判定され、すべての前記参照画素がエッジ画素でないと判定され、かつすべての前記参照画素に関して輝度差がないと判定された場合に、前記ノイズ判定手段は、前記着目画素が構造ノイズであると判定することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記着目画素がエッジ画素であると判定され、前記参照画素のうちエッジ画素であると判定された参照画素の数が所定数未満であり、かつ前記参照画素のうち輝度差があると判定された参照画素の数が前記所定数未満である場合に、前記ノイズ判定手段は、前記着目画素が構造ノイズであると判定することを特徴とする請求項１または２に記載の画像処理装置。
【請求項５】
前記所定数は前記着目画像データ及び前記参照画像データの数に基づいて設定されることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記着目画像データ及び前記参照画像データにおける画素のエッジ強度を算出する算出手段をさらに有し、
前記エッジ判定手段は、前記着目画素のエッジ強度に基づいて前記着目画素がエッジ画素であるか否かを判定し、前記参照画素のエッジ強度に基づいて前記参照画素がエッジ画素であるか否かを判定することを特徴とする請求項１から５のいずれか一項に記載の画像処理装置。
【請求項７】
前記算出手段は、前記着目画像データ及び前記参照画像データにおける画素に関して、前記画素及び前記画素の周辺画素からなる第１のサイズの領域における輝度の分散と、前記第１のサイズの領域における平均輝度及び撮像時の感度に応じたノイズの分散との比率を、前記画素のエッジ強度として算出することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記算出手段は、前記着目画像データ及び前記参照画像データにおける画素に関して、前記画素及び前記画素の周辺画素からなる第１のサイズの領域における輝度の標準偏差と、前記第１のサイズの領域における平均輝度及び撮像時の感度に応じたノイズの標準偏差との比率を、前記画素のエッジ強度として算出することを特徴とする請求項６に記載の画像処理装置。
【請求項９】
前記輝度差判定手段は、前記着目画像データ及び前記参照画像データにおける画素に関して、前記画素及び前記画素の周辺画素からなる第２のサイズの領域における平均輝度を取得し、前記着目画素に関して取得した平均輝度と、前記参照画素に関して取得した平均輝度とを比較することにより、輝度差があるか否かを判定することを特徴とする請求項７または８に記載の画像処理装置。
【請求項１０】
前記第２のサイズは前記第１のサイズと同じ値に設定されていること特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記輝度差判定手段は、前記着目画像データにおける前記第１のサイズの領域のうち、エッジ強度が所定閾値以下である画素の数をカウントし、カウントした数が第２の所定数以上となる場合に、前記第２のサイズを前記第１のサイズより大きい値に設定し、そうでない場合に、前記第２のサイズを前記第１のサイズと同じ値に設定することを特徴とする請求項９に記載の画像処理装置。
【請求項１２】
連続して撮影することにより得られた複数の画像データのうち、１つの着目画像データ及び少なくとも１つの参照画像データを取得する取得工程と、
前記着目画像データにおける着目画素と、前記参照画像データにおいて前記着目画素と同座標に位置する参照画素とが、エッジ画素であるか否かを判定するエッジ判定工程と、
前記参照画素及び前記参照画素の周辺画素からなる領域と、前記着目画素及び前記着目画素の周辺画素からなる領域との間に、輝度差があるか否かを判定する輝度差判定工程と、
前記エッジ判定工程による判定結果及び前記輝度差判定工程による判定結果に基づいて、前記着目画素は、前記着目画像データにおいてのみ発生しているノイズ画素が連続したことによりエッジ構造を形成している構造ノイズが発生している画素であるか否かを判定するノイズ判定工程と
を含むことを特徴とする画像処理方法。
【請求項１３】
コンピュータを請求項１乃至１１のいずれか一項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像データからノイズを低減するための画像処理装置及び画像処理方法に関するものである。
【背景技術】
【０００２】
デジタルスチルカメラやデジタルビデオカメラなどのデジタル撮像装置が広く普及して一般に利用されている。画像データを生成する過程では、撮像素子や回路の特性により暗電流ノイズ、熱雑音、ショットノイズなどが発生し、画像データにノイズが混入する。特に撮像感度を高くした場合などはノイズが顕著に発生し、画質劣化の大きな要因になっている。従って、高画質な画像を得るためにはノイズを低減する必要がある。
【０００３】
従来、ノイズ周波数以下の信号成分を通すローパスフィルタを適用してノイズを低減する方法が知られている。しかしながら、この方法では、ノイズ以外にエッジもぼけてしまうため、高画質な画像を得ることが難しい。そこで、エッジを保存しつつもノイズ低減を行う（以下、エッジ保存型ノイズ低減処理）方法が数多く提案されている。例えば、ＮｏｎＬｏｃａｌＭｅａｎｓフィルタやバイラテラルフィルタを適用したエッジ保存型ノイズ低減処理が知られている。
【０００４】
しかしながら、上述のようなフィルタを利用したノイズ低減処理を行っても、欠損した画素により発生するインパルス性ノイズや、着目画素と周辺画素との信号値の振幅差が大きいショットノイズまで残してしまう場合がある。そこで、インパルス性ノイズや振幅の大きいショットノイズを欠陥画素として検出し、検出した欠陥画素に対して補正処理を行う方法が開示されている。
【０００５】
例えば、特許文献１には、着目画素の輝度とその周辺画素の平均輝度とを比較し、差分値が所定の閾値以上であれば着目画素を欠陥画素として検出する方法が開示されている。特許文献２には、着目画素と周辺画素の相関指標値を算出し、算出した相関指標値に基づいて欠陥画素を検出する方法が開示されている。また、特許文献１及び特許文献２には、検出しようとする欠陥画素が、連続する複数のフレームにおいて同一位置に発生することを基に、複数のフレームを利用して欠陥画素の検出精度を高める方法がさらに開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−３００１９１号公報
【特許文献２】特開２００８−２８４７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した方法では、構造ノイズを対応することができない。図１は構造ノイズを説明するための図である。図１に示すように、構造ノイズは、振幅がインパルス性ノイズの振幅より小さく、ショットノイズの平均振幅より大きく、空間的に連続して発生するような構造を持つノイズである。また、構造ノイズは連続して撮像した画像データ（図１（ａ）〜（ｄ））について、画像データ毎にランダムに発生するという特性を有する。これらの構造ノイズは、振幅がインパルス性ノイズほど大きくないが、空間的に連続して発生するので、画像において、特に静止画像において目立つようになってしまう場合がある。それに構造ノイズは、エッジと類似しているので、従来のエッジ保存型ノイズ低減処理を行うと、エッジと同じように画像データに保存されてしまう。したがって、高画質な画像を得るために、構造ノイズを検出する必要がある。
【０００８】
特許文献１開示の方法では、着目画素と周辺画素の平均輝度とを比較すると、構造ノイズの振幅が判別できないほど小さくなってしまうため、構造ノイズは検出することができない。特許文献２開示の方法も、類似の原因で構造ノイズを検出することができない。また、特許文献１及び特許文献２にさらに開示されている、複数のフレームを利用した方法でも、構造ノイズがフレーム毎にランダムに発生するため、構造ノイズは検出することができない。
【０００９】
本発明は、上述の問題を鑑みてなされたものであり、時系列的に連続する複数の画像データを利用し、入力画像データにおける構造ノイズを検出することができる、画像処理装置及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の画像処理装置は、連続して撮影することにより得られた複数の画像データのうち、１つの着目画像データ及び少なくとも１つの参照画像データを取得する取得手段と、前記着目画像データにおける着目画素と、前記参照画像データにおいて前記着目画素と同座標に位置する参照画素とが、エッジ画素であるか否かを判定するエッジ判定手段と、前記参照画素及び前記参照画素の周辺画素からなる領域と、前記着目画素及び前記着目画素の周辺画素からなる領域との間に、輝度差があるか否かを判定する輝度差判定手段と、前記エッジ判定手段による判定結果及び前記輝度差判定手段による判定結果に基づいて、前記着目画素は、前記着目画像データにおいてのみ発生しているノイズ画素が連続したことによりエッジ構造を形成している構造ノイズが発生している画素であるか否かを判定するノイズ判定手段とを有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、入力画像データから構造ノイズを検出することができる。
【図面の簡単な説明】
【００１２】
【図１】構造ノイズを説明するための図である。
【図２】実施形態１における画像処理装置のハードウェア構成を示す図である。
【図３】実施形態１における画像処理装置の論理構成を示す模式図である。
【図４】実施形態１における画像処理の流れを示すフローチャートである。
【図５】実施形態１における局所領域を説明するための図である。
【図６】実施形態１における判定処理の流れを示すフローチャートである。
【図７】実施形態１における判定処理の具体例を説明するための図である。
【図８】実施形態１における参照画像のエッジ判定の流れを示すフローチャートである。
【図９】実施形態１における輝度差判定処理の流れを示すフローチャートである。
【図１０】実施形態１における合成処理の流れを示すフローチャートである。
【図１１】実施形態２における画像処理の流れを示すフローチャートである。
【図１２】実施形態２における平均輝度マップ生成処理の流れを示すフローチャートである。
【図１３】実施形態３における参照画像のエッジ判定の流れを示すフローチャートである。
【図１４】実施形態３における輝度差判定処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について図面を参照して説明する。なお、以下の実施形態において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
【００１４】
［実施形態１］
本実施形態において、連続撮像して取得した複数の画像データのうち、選択した１つの画像データを着目画像データ、それ以外を参照画像データとする。本実施形態においては、三脚を用いて撮像した複数の画像データのうち、先頭の画像データを着目画像データ、それ以降の画像データを参照画像データとし、画像データ数ＮをＮ＝４とする。また、各画像データは、画素毎に８ｂｉｔの画素値をもつ画像データであるとする。
【００１５】
＜画像処理装置のハードウェア構成＞
図２は本実施形態における画像処理装置のハードウェア構成を示す図である。画像処理装置は、ＣＰＵ２０１、ＲＡＭ２０２、ＨＤＤ２０３、汎用インターフェース（Ｉ／Ｆ）２０４及びモニタ２０８を備え、各構成はメインバス２０９によって相互に接続されている。
【００１６】
ＣＰＵ２０１は、画像処理装置内の各構成を統括的に制御するプロセッサーである。
【００１７】
ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能するメモリである。ＨＤＤ２０３は、ＣＰＵ２０１によって実行されるプログラム群を格納しているメモリである。なお、ＨＤＤ２０３は、フラッシュメモリなどの他の記憶媒体に置き換えてもよい。
【００１８】
汎用インターフェース（Ｉ／Ｆ）２０４は、ＵＳＢコネクタを備えるインターフェースであり、撮像装置２０５や入力装置２０６、外部メモリ２０７が汎用Ｉ／Ｆ２０４を介してメインバス２０９に接続されている。撮像装置２０５は、画像撮像機能を備えたカメラであり、撮像した画像データを画像処理装置に対して出力することができる。
【００１９】
入力装置２０６は、マウス、キーボードなどの入力装置であり、ユーザは入力装置２０６を介して画像処理装置に対して指示を入力することができる。外部メモリ２０７は、ＨＤＤやメモリーカードなどの記録媒体であり、画像処理装置から出力されたデータを保存することができる。モニタ２０８は、画像処理装置に備えつけられた液晶ディスプレイであり、画像データやユーザインタフェースなどを表示することができる。メインバス２０９は、画像処理装置内の各構成を相互に接続するシステムバスである。
【００２０】
＜画像処理装置の論理構成＞
図３は本実施形態の画像処理装置の論理構成を示す模式図である。
【００２１】
画像データ入力部３０１は、着目画像データと参照画像データとを含む画像データを画像処理装置に入力する。これらの画像データはＣＰＵ２０１からの指示に基づき、撮像装置２０５あるいはＨＤＤ２０３や外部メモリ２０７から入力することができる。勿論、撮像装置２０５で撮像した画像をＨＤＤ２０３などの記憶装置に一旦記憶した後で入力することもできる。
【００２２】
パラメータ入力部３０２は、画像処理に必要な画像処理パラメータ（以下、画像処理パラメータ）を画像処理装置に入力する。入力する画像処理パラメータは、例えば、局所領域のサイズ、閾値、ＩＳＯ感度毎のノイズ特性値などを含む。これらのパラメータはＣＰＵ２０１からの指示に基づき、ＨＤＤ２０３や外部メモリ２０７から入力することができる。また、ユーザインタフェース（ＵＩ）を介し、キーボードやマウスなどの入力装置２０６で直接指定することもできる。
【００２３】
エッジ強度算出部３０３は、ＣＰＵ２０１からの指示を受け、着目画像データと参照画像データとを含む画像データ及び画像処理パラメータを取得し、画像処理パラメータに基づいて画像データ毎に各画素のエッジ強度を示したエッジ強度マップを生成する。生成したエッジ強度マップはＲＡＭ２０２に記憶される。
【００２４】
平均輝度算出部３０４は、ＣＰＵ２０１からの指示を受け、着目画像データと参照画像データとを含む画像データ及び画像処理パラメータを取得し、画像処理パラメータに基づいて画像データ毎に各局所領域の平均輝度を示した平均輝度マップを生成する。生成した平均輝度マップはＲＡＭ２０２に記憶される。判定処理部３０５は、ＣＰＵ２０１からの指示を受け、エッジ強度マップ、平均輝度マップ及び画像処理パラメータに基づいて、着目画像データについて構造ノイズを判定し、着目画像データのノイズマップを生成する。まず、エッジ強度マップに基づいて各画像データの画素ごとにエッジ判定を行う。また、平均輝度マップに基づいて各画像データにおける局所領域毎に輝度差判定を行う。最後に、エッジ判定結果および輝度差判定結果に基づいて、着目画像データにおけるノイズ判定を行う。生成したノイズマップはＲＡＭ２０２に記憶することができる。
【００２５】
合成処理部３０６は、ＣＰＵ２０１からの指示を受け、着目画像データのノイズマップ及び画像処理パラメータに基づいて、着目画像データ及び参照画像データから合成画像データを生成する。生成した合成画像データはＲＡＭ２０２に記憶することができる。画像データ出力部３０７は、合成処理部３０６で生成した合成画像データをモニタ２０８やＨＤＤ２０３になどに出力する。尚、出力先はこれらに限られるものではなく、例えば、汎用Ｉ／Ｆ２０４に接続した外部メモリに出力することもできる。
【００２６】
＜メイン処理フロー＞
図４は、本実施形態における画像処理の流れを示すフローチャートである。以下、図３に示す画像処理装置の論理構成における各処理の詳細について、図４を参照して説明する。尚、図４に示す処理フローは、ＣＰＵ２０１がＲＡＭ２０２に格納されたプログラムを実行することによって実現することができる。勿論、図３に示す各構成の一部または全部の機能を有する専用の処理回路などを設けることにより実現してもよい。
【００２７】
ステップＳ４０１において、画像データ入力部３０１が、撮像装置２０５が連続撮像して取得した着目画像データと複数の参照画像データから成る画像データ群を画像処理装置に入力する。ここで入力される画像データは、三脚を用いて撮影した取得される画像データであり、各画像データの同じ座標位置の画素は対応している。
【００２８】
ステップＳ４０２において、パラメータ入力部３０２が、後に続く処理に必要な画像処理パラメータを画像処理装置に入力する。入力するパラメータは、画像データ数、エッジ強度マップや平均輝度マップを生成する際に必要な局所領域のサイズ、ＩＳＯ感度毎に算出したノイズ特性値（例えば、分散、標準偏差など）、構造ノイズを検出する際に必要な閾値などを含む。ここで、ノイズ特性値はノイズ分散とするものを例に説明を行う。ノイズ分散は、ＩＳＯ感度及び輝度値に依存しており、本ステップにおいて、ＩＳＯ感度毎に算出したノイズ分散は、輝度値に応じたデータテーブル（ＲＧＢ毎）として画像処理装置に入力される。
【００２９】
ステップＳ４０３において、エッジ強度算出部３０３が、着目画像データ及び各参照画像データそれぞれについてエッジ強度マップを生成する。エッジ強度マップは、画像データの局所領域における分散と、その局所領域の平均輝度及び撮像時のＩＳＯ感度に応じたノイズ分散との比率を局所領域における中心画素のエッジ強度として与えられたマップである。以下、エッジ強度マップの生成方法について具体的に説明する。
【００３０】
図５は、本実施形態における局所領域を説明するための図である。局所領域は、中心画素と周辺画素から成る。局所領域のサイズＳ１はステップＳ４０２で画像処理パラメータの1つとして入力され、ここでは、局所領域のサイズＳ１＝５とし、局所領域が５×５画素の場合を例とする。図５（ａ）において、黒色のブロック５０１は中心画素を表しており、灰色のブロック５０２は周辺画素を表しており、太線５０３は局所領域を表している。局所領域の形状は図５（ａ）に限らず、任意の形状でもよく、例えば図５（ｂ）のような形状としてもできる。
【００３１】
まず、局所領域における分散ＶをＲＧＢ毎に次の式（１）により算出する。
【００３２】
【数１】
0006584173.tif 000002
【００３３】
ここで、Ｍは局所領域に含まれる画素数である。図５（ａ）及び図５（ｂ）の場合に、Ｍ＝２５とする。ｒ、ｇ、ｂはそれぞれＲＧＢ値であり、、、はそれぞれ局所領域に含まれるＭ個の画素のＲＧＢ値の平均を示している。このように算出したＲＧＢ毎の分散は、例えばＶR＝１０、ＶG＝１５、ＶB＝１２となる。
【００３４】
そして、これら分散を、局所領域の輝度平均値及び撮像時のＩＳＯ感度に応じたノイズ分散σ2で割ることで分散の比率を算出し、エッジ強度Ｅとする。すなわち、次の式（２）により算出する。
【００３５】
【数２】
0006584173.tif 000003
【００３６】
式（２）におけるノイズ分散σ2R、σ2G、σ2Bは、ステップＳ４０２で入力されたノイズ分散のデータテーブルを参照して求めることができる。具体的には、局所領域の輝度平均値、、に対応したノイズ分散をデータテーブルから求め、ノイズ分散σ2R、σ2G、σ2Bとする。求めたノイズ分散は、例えばσ2R＝８、σ2G＝１０、σ2B＝６となる。この場合、式（２）により算出したエッジ強度は、ＥR＝１．２５、ＥG＝１．５０、ＥB＝２．００となる。
【００３７】
エッジ強度は値が大きいほど、鮮鋭度が高く、逆に小さいほど鮮鋭度が低いことを示す指標である。式（２）により算出したエッジ強度は、値が１に近いほど平坦、値が大きいほどエッジであることを示す。
【００３８】
算出したエッジ強度は、黒色のブロック５０１で示す中心画素のエッジ強度とする。このような算出を画像データの全画素について行うことにより、エッジ強度マップを生成する。生成したエッジ強度マップは、後述のステップＳ４０５の判定処理に用いられる。
【００３９】
尚、エッジ強度の算出方法はこれに限らず、ソーベルフィルタやラプラシアンフィルタなどを利用して算出するなど、エッジ強度に相当する値が算出できれば何でもよい。また、本実施形態では画素毎にＲＧＢそれぞれのエッジ強度を持つが、３つのエッジ強度の内、最大値や最小値のみを代表のエッジ強度として１つだけエッジ強度を持たせてもよい。
【００４０】
ステップＳ４０４において、平均輝度算出部３０４が、着目画像データと各参照画像データそれぞれについて平均輝度マップを生成する。平均輝度マップは、画像データの局所領域における輝度の平均値（以下、平均輝度）を局所領域の中心画素に持つマップである。具体的には、各画像データにおいて中心画素と周辺画素から成る局所領域における平均輝度をＲＧＢ毎に算出する。図５の場合に、太線５０３で表す局所領域に含まれる２５個の画素の平均輝度をＲＧＢ毎に算出する。算出した平均輝度をブロック５０１で表す中心画素に持たせる。この算出を画像データの全画素について行うことにより、平均輝度マップを生成する。
【００４１】
尚、本実施形態のステップＳ４０３及びステップＳ４０４では、それぞれ算出したエッジ強度及び平均輝度を局所領域の中心画素に持たせて、エッジ強度マップ及び平均輝度マップを生成するが、局所領域にあればどの画素に持たせでもよい。
【００４２】
ステップＳ４０５において、判定処理部３０５が、ステップＳ４０３で生成したエッジ強度マップとステップＳ４０４で生成した平均輝度マップを基に、着目画像データにおいて構造ノイズがあるかどうかを判定し、ノイズマップを生成する。判定処理の詳細は図６から図９を参照して後述する。
【００４３】
ステップＳ４０６において、合成処理部３０６が、ステップＳ４０５で生成したノイズマップを基に着目画像データと各参照画像データを合成し、合成画像データを生成する。合成画像データは、着目画像データにおけるノイズが低減された画像データとして出力される。合成処理の詳細は図１０を参照して後述する。
【００４４】
ステップＳ４０７において、画像データ出力部３０７が、ステップＳ４０６で生成した合成画像データをモニタ２０８などに出力する。以上が本実施形態の画像処理装置で行われるメイン処理フローである。以下、ステップＳ４０５で行われる判定処理の詳細を説明する。
【００４５】
＜判定処理の詳細＞
本実施形態の判定処理は、ステップＳ４０３で生成したエッジ強度マップとステップＳ４０４で生成した平均輝度マップに基づいて、着目画像データにおける構造ノイズを検出し、ノイズマップを生成する。ここで構造ノイズとは、ノイズが重畳した結果、着目画像データにおいて平坦な領域にノイズ画素が連続することにより本来ないはずのエッジ構造を形成してしまうノイズである。ノイズの影響により近傍の連続した複数の画素についてほぼ同じ輝度として出力された結果、視認性の高い構造ノイズが表れてしまう。ただし、このような構造ノイズは、時間的には連続するものではなく、着目画像データ以外の参照画像データにおいて、同じ位置に同じ構造ノイズが発生することはごくまれである。この特徴を利用して、本実施形態では以下の通りに構造ノイズを検出する。
【００４６】
図６は、本実施形態における判定処理の流れを示すフローチャートである。図７は、本実施形態における判定処理の具体例を説明するための図である。以下、本実施形態において判定処理部３０５がステップＳ４０５で行う、判定処理について図６及び図７を参照して説明する。
【００４７】
ステップＳ６０１において、判定処理部３０５が、ステップＳ４０１で入力した着目画像データから処理対象とする着目画素を選択する。ステップＳ６０２において、判定処理部３０５が、ステップＳ６０１で選択した着目画素がエッジ画素であるか否かを着目画像データのエッジ強度マップに基づいて判定する。以下、本ステップの判定処理（以下、着目画像のエッジ判定）を説明する。
【００４８】
具体的には、判定処理部３０５が、着目画素に対応するエッジ強度ＥR、ＥG、ＥBを着目画像データのエッジ強度マップから取得する。取得したＥR、ＥG、ＥBのうち最も大きい値、すなわちＭａｘ（ＥR，ＥG,ＥB）と、ステップＳ４０２で入力したエッジ判定用の閾値ｔｈ１とを比較する。Ｍａｘ（ＥR，ＥG,ＥB）がエッジ判定用の閾値ｔｈ１を超える場合に、着目画素をエッジ画素と判定し、処理はステップＳ６０３へ進み、そうでない場合に、着目画素を平坦画素と判定し、処理はステップＳ６０５へ進む。ここで、ステップＳ４０２で入力されたエッジ判定用の閾値ｔｈ１は１．８とするものを例に説明を行う。黒色のブロック５０１で示す画素を着目画素とする場合に、ステップＳ４０３で算出したエッジ強度は、ＥR＝１．２５、ＥG＝１．５０、ＥB＝２．００となり、Ｍａｘ（ＥR，ＥG,ＥB）は２．００となる。Ｍａｘ（ＥR，ＥG,ＥB）は閾値ｔｈ１より大きいので、着目画素はエッジ画素と判定される。
【００４９】
ステップＳ６０２においてエッジ画素と判定された着目画素は、図７に示すように、静止被写体のエッジ、動被写体のエッジ及び構造ノイズのいずれかに対応するので、構造ノイズを検出するように判定処理が続く必要がある。判定処理はステップＳ６０３へ進む。
【００５０】
ステップＳ６０３において、判定処理部３０５が、参照画像データにおいて着目画素と同座標にある画素を参照画素として選択し、選択した参照画素がエッジ画素であるか否かを、参照画像データのエッジ強度マップに基づいて判定する。以下、本ステップの判定処理（以下、参照画像のエッジ判定）の詳細を説明する。
【００５１】
図８は本実施形態における参照画像のエッジ判定の流れを示すフローチャートである。ステップＳ８０１において、判定処理部３０５が、ステップＳ６０１で選択した着目画像データの着目画素と同座標にある画素を参照画像データから参照画素として選択する。また、ステップＳ８０３、ステップＳ８０４及びステップＳ８０６で使用するための一時的なメモリを確保する。
【００５２】
ステップＳ８０２において、判定処理部３０５が、参照画素の画素位置に対応するエッジ強度ＥR、ＥG、ＥBを参照画像データのエッジ強度マップから取得する。着目画像のエッジ判定と同様に、取得したＥR、ＥG、ＥBのうち最も大きい値、すなわちＭａｘ（ＥR，ＥG,ＥB）と、ステップＳ４０２で入力したエッジ判定用の閾値ｔｈ１とを比較する。Ｍａｘ（ＥR，ＥG,ＥB）がエッジ判定用の閾値ｔｈ１を超える場合に、参照画素をエッジ画素と判定し、処理はステップＳ８０３へ進み、そうでない場合に、参照画素を平坦画素と判定し、処理はステップＳ８０４へ進む。
【００５３】
ステップＳ８０３において、判定処理部３０５が、「１」をエッジ画素として、ステップＳ８０１で確保したメモリに記録する。ステップＳ８０４において、判定処理部３０５が、「０」を平坦画素として、ステップＳ８０１で確保したメモリに記録する。ステップＳ８０５において、判定処理部３０５が、参照画像データを全て選択したか否かを判定し、完了していない場合に、ステップＳ８０１へ進み、完了している場合に、参照画像のエッジ判定を終了し、処理はステップＳ８０６へ進む。
【００５４】
ステップＳ８０６において、判定処理部３０５が、ステップＳ８０１で確保したメモリの記録に基づいて、参照画素が全て平坦画素であるか否かを判定する。全て平坦画素である場合はステップＳ８０８へ進み、そうでない場合はステップＳ８０７へ進む。ステップＳ８０６の処理後、ステップＳ８０１で確保したメモリを解放する。
【００５５】
ステップＳ８０７において、判定処理部３０５が、ステップＳ６０１で選択した着目画素をエッジと判定する。本ステップでエッジと判定した着目画素は、図７に示す静止被写体のエッジに対応する。
【００５６】
ステップＳ８０８において、判定処理部３０５が、ステップＳ６０１で選択した着目画素を、構造ノイズの可能性がある画素と判定する。構造ノイズの可能性があると判定される画素は、着目画素のみエッジと判定され、同じ位置である参照画素はエッジではないと判定されている画素である。本ステップで構造ノイズの可能性がある画素と判定した着目画素は、図７に示す動被写体のエッジまたは構造ノイズのいずれかに対応する。
【００５７】
以上がステップＳ６０３で行う参照画像のエッジ判定の詳細である。参照画像のエッジ判定によって、構造ノイズの可能性がある着目画素を検出し、検出した構造ノイズの可能性がある着目画素については、次のステップＳ６０４で判定処理がさらに続く。
【００５８】
ステップＳ６０４において、判定処理部３０５が、ステップＳ６０３で構造ノイズの可能性があると判定した着目画素について、参照画素との輝度差に基づいて構造ノイズであるか否かを判定し、ノイズマップを生成する。以下、本ステップの判定処理（以下、輝度差判定処理）の詳細を説明する。
【００５９】
図９は本実施形態における輝度差判定処理の流れを示すフローチャートである。ステップＳ９０１において、判定処理部３０５が、ステップＳ６０３での判定結果を取得し、着目画素が構造ノイズの可能性がある場合はステップＳ９０２へ進み、そうでない場合は輝度差判定処理を終了する。ステップＳ９０２において、判定処理部３０５が、ステップＳ４０２で入力した輝度差判定処理用の閾値ｔｈ２を取得する。また、ステップＳ９０５、ステップＳ９０６及びステップＳ９０８で使用するための一時的なメモリを確保する。ステップＳ９０３において、判定処理部３０５が、ステップＳ６０１で選択した着目画素と同座標にある画素を参照画像データから参照画素として選択する。
【００６０】
ステップＳ９０４において、判定処理部３０５が、着目画素と参照画素それぞれの画素位置に対応する平均輝度を平均輝度マップから取得し、ＲＧＢ毎に差分値ｄｉｆｆを算出する。３つの差分値ｄｉｆｆの内、１つでも閾値ｔｈ２以上である場合、着目画素と参照画素は輝度差ありと判定し、ステップＳ９０５へ進み、そうでない場合はステップＳ９０６へ進む。ここで、輝度差判定用の閾値ｔｈ２は適切な値に設定する必要がある。閾値ｔｈ２の値が小さすぎると、ノイズによる差分まで輝度差ありと判定してしまう。そこで、局所領域内のＲＧＢ毎の平均値に対応した分散値をノイズ分散のデータテーブルから求め、分散値のルートをとり、標準偏差を算出する。閾値ｔｈ２は、算出した標準偏差を超える値に設定することが望ましい。例えば、ｔｈ２＝８．０とする。
【００６１】
ステップＳ９０５において、判定処理部３０５が、「１」を輝度差ありとして、ステップＳ９０１で確保したメモリに記録する。ステップＳ９０６において、判定処理部３０５が、「０」を輝度差なしとして、ステップＳ９０１で確保したメモリに記録する。ステップＳ９０７において、判定処理部３０５が、参照画像データを全て選択したか否かを判定し、完了していない場合はステップＳ９０３へ進み、完了している場合は輝度差判定処理を終了し、処理がステップＳ９０８へ進む。
【００６２】
ステップＳ９０８において、判定処理部３０５が、ステップＳ９０３で選択した参照画素が全て輝度差なしであるか否かを判定する。全て輝度差なしである場合はステップＳ９０９へ進み、そうでない場合はステップＳ９１０へ進む。ステップＳ９０８の処理後、ステップＳ９０１で確保したメモリを解放する。
【００６３】
ステップＳ９０９において、判定処理部３０５が、着目画素を構造ノイズと判定し、ノイズマップに対して着目画素と同座標の画素に２５５を出力する。ステップＳ９１０において、判定処理部３０５が、着目画素をエッジと判定し、ノイズマップに対して着目画素と同座標の画素に０を出力する。本ステップでエッジと判定した着目画素は、図７に示す動被写体のエッジに対応する。
【００６４】
以上がステップＳ６０４で行う輝度差判定処理の詳細である。輝度差判定処理によって、着目画素が構造ノイズか否かを判定し、ノイズマップを生成する。ステップＳ６０５において、判定処理部３０５が、着目画像データの全画素についてＳ６０２〜Ｓ６０４の処理が完了したのかを判定し、完了している場合は判定処理を終了し、そうでない場合はステップＳ６０１へ進む。
【００６５】
以上のように、本実施形態では、着目画像のエッジ判定、参照画像のエッジ判定、及び着目画像と参照画像との輝度差判定処理を行うことにより、構造ノイズを検出する。着目画素がエッジ画素と判定され、参照画素が全て平坦画素と判定され、且つ着目画素と参照画素は輝度差がないと判定された場合、着目画素は平坦な静止被写体であるにも関わらず、着目画素にのみエッジが発生していることを意味する。この時、着目画素が構造ノイズを構成する画素であると判定する。
【００６６】
＜合成処理の詳細＞
以下、ステップＳ４０６で行われる合成処理の詳細を説明する。合成処理では、ステップＳ４０５で生成したノイズマップを基に着目画像データと参照画像データを合成する。図１０は合成処理の流れを示すフローチャートである。以下、本実施形態において合成処理部３０６がステップＳ４０６で行う、合成処理について図１０を参照して説明する。
【００６７】
ステップＳ１００１において、合成処理部３０６が、ステップＳ４０１で入力した着目画像データから処理対象とする着目画素を選択する。ステップＳ１００２において、合成処理部３０６が、ノイズマップに基づいて、着目画素が構造ノイズであるか否かを判定する。着目画素が構造ノイズである場合はステップＳ１００３へ進み、そうでない場合はステップＳ１００４へ進む。
【００６８】
ステップＳ１００３において、合成処理部３０６が、着目画素が構造ノイズであるとして、着目画素と同座標にある各参照画像データの参照画素を加算平均して、計算結果を合成画像データに出力する。構造ノイズは時間方向にランダムに発生する特性から同座標に連続して発生する確率は低いため、参照画素の加算平均を用いて着目画素を補正することで構造ノイズを低減することができる。
【００６９】
ステップＳ１００４において、合成処理部３０６が、着目画素が構造ノイズではないとして、着目画像データに対してエッジ保存型のノイズ低減処理をする。このとき、着目画素に類似する画素を類似度が高い順に入力画像データ数分だけ合成する。これは、ステップＳ１００３で処理した補正結果と、ステップＳ１００４で処理した補正結果にノイズ低減によるＳＮのギャップが発生するのを防ぐためである。エッジ保存型ノイズ低減処理としては、ＮｏｎＬｏｃａｌＭｅａｎｓフィルタやバイラテラルフィルタを用いるとよい。計算結果を合成画像データに出力する。
【００７０】
ステップＳ１００５において、全画素がステップＳ１００２からＳ１００４の処理を終了したか否かを判定し、完了していない場合はステップＳ１００１へ進み、完了している場合は合成処理を終了する。以上のように、本実施形態では、着目画像データの構造ノイズがある領域では加算平均、そうでない領域ではエッジ保存型ノイズ低減処理を適用することで、合成画像データを生成する。本実施形態によれば、入力画像データから構造ノイズを検出することができ、構造ノイズを強調させることなく画像全体のＳＮを向上させることが可能となる。
【００７１】
［実施形態２］
実施形態１では、エッジ強度マップと平均輝度マップを生成する際、局所領域のサイズＳ１を同一にした。こうした方法は、局所領域のサイズＳ１を一様にして平均輝度マップを生成しているため、サイズＳ１が小さいと平坦領域においてノイズの影響を受けやすい。そこで、本実施形態では、ノイズの影響を抑制するように、平坦領域の平均輝度マップを生成する際、局所領域のサイズＳ１をエッジ強度に応じて切り替える仕組みを提供する。
【００７２】
図１１は、本実施形態における画像処理の流れを示すフローチャートである。図１１におけるステップＳ４０１、ステップＳ４０３、ステップＳ４０５、ステップＳ４０６及びステップＳ４０７は図４に示すステップと同一であるため、差分のステップＳ４０２Ａ及びステップＳ４０４Ａについてのみ説明する。
【００７３】
ステップＳ４０２Ａにおいて、パラメータ入力部３０２が、後に続く処理に必要な画像処理パラメータを画像処理装置に入力する。本実施形態では、実施形態１のステップＳ４０２で入力したパラメータに加え、平均輝度マップ生成用のパラメータも入力する。ステップＳ４０４Ａにおいて、本実施形態の平均輝度マップ生成処理を行う。
【００７４】
図１２は、本実施形態における平均輝度マップ生成処理の流れを示すフローチャートである。以下、図１２を参照して本実施形態における平均輝度マップ生成処理の詳細を説明する。
【００７５】
ステップＳ１２０１において、平均輝度算出部３０４が、ステップＳ４０２Ａで入力した平均輝度マップ生成用の閾値ｔｈ３を取得する。ステップＳ１２０２において、平均輝度算出部３０４が、ステップＳ４０１で入力した着目画像データから処理対象とする着目画素を選択する。ステップＳ１２０３において、平均輝度算出部３０４が、ステップＳ４０３で生成したエッジ強度マップから着目画素と同座標に位置する画素とその周辺画素（例えば５×５画素のブロック）のエッジ強度を取得する。
【００７６】
ステップＳ１２０４において、平均輝度算出部３０４が、ステップＳ１２０３で取得したエッジ強度に基づいて、平均輝度を算出するための局所領域のサイズＳ２を決定する。具体的にはまず、ステップＳ１２０３で取得した５×５画素のエッジ強度が閾値ｔｈ３以下（所定閾値以下）である画素数をカウントする。次に、カウントした数が局所領域内の総画素数のｘ％（例えばｘ＝８０）以上（第２の所定数以上）である場合、サイズＳ２＞サイズＳ１となるようにサイズＳ２を決定する。このように、エッジ強度が小さい平坦領域について平均輝度を算出するための局所領域のサイズを大きくすることにより、平坦領域においてノイズの影響を抑制することができる。
【００７７】
ここで、閾値ｔｈ３は閾値ｔｈ１以上に設定することが望ましい。例えば、閾値ｔｈ３は閾値ｔｈ１の１割増しに設定し、ｔｈ３＝１．９８とする。また、サイズＳ２は、奇数にすることが望ましく、サイズＳ１より大きければよい。例えば、サイズＳ２は、サイズＳ１の２倍になるように、Ｓ２＝１１に決定する。
【００７８】
ステップＳ１２０５において、平均輝度算出部３０４が、ステップＳ１２０４で決定したサイズＳ２に基づいて平均輝度を算出する。ステップＳ１２０６において、全画素がステップＳ１２０２〜ステップＳ１２０５の処理を終了したか否かを判定し、完了していない場合はステップＳ１２０１へ進み、完了している場合は平均輝度マップ生成処理を終了する。
【００７９】
尚、本実施形態では、サイズＳ１、Ｓ２の２種類のサイズを用いて局所領域の平均輝度を算出したが、より細かく閾値を設定して複数のサイズを用いて局所領域の平均輝度を算出することで平均輝度マップを生成してもよい。以上のように、本実施形態では、エッジ強度に応じて平均輝度マップ生成時の局所領域のサイズを切り替える仕組みをさらに提供し、それによってノイズの影響を抑制し、より高い精度で構造ノイズを検出することが可能となる。
【００８０】
［実施形態３］
実施形態１、２では、ステップＳ６０２の着目画像のエッジ判定で着目画素がエッジ画素と判定され、かつステップＳ６０３の参照画像のエッジ判定で参照画素が全て平坦画素と判定された場合に、着目画素を構造ノイズの可能性がある画素とする。すなわち、着目画素がエッジ画素と判定され、且つ参照画素のうちエッジ画素の個数が０であると判定された場合、着目画素を構造ノイズの可能性がある画素とする。これは、実施形態１、２のように画像データ数が少ない場合（Ｎ＝４）に対しては有効であるが、画像データ数が増えるにつれ同座標に構造ノイズの発生確率が上がるため、構造ノイズの検出精度が低下する。
【００８１】
そこで、本実施形態では画像データ数が多い場合（例えば、Ｎ＝１６）について、参照画素のうちエッジ画素の個数が０ではなくても、閾値未満（所定数未満）であれば、着目画素を構造ノイズの可能性がある画素と判定する。ここで個数比較用の閾値は、画像データ数Ｎを基に決定することができる。例えば、画像データ数Ｎの１０％とすることができる。なお、閾値を決定する考え方は参照画像のエッジ判定だけでなく、輝度差判定処理にも適用可能である。以下、本実施形態における画像処理装置の論理構成は実施形態１、２と同じであり、参照画像のエッジ判定及び輝度差判定処理における差異についてのみ記載する。
【００８２】
本実施形態では、パラメータ入力部３０２が、予め参照画像のエッジ判定及び輝度差判定処理に必要な画像処理パラメータを画像処理装置に入力しているものとする。図１３は、本実施形態における参照画像のエッジ判定の流れを示すフローチャートである。図１３におけるステップＳ８０１からステップＳ８０５、ステップＳ８０７及びステップＳ８０８は図８に示すステップと同一であるため、差分のステップＳ１３０１及びステップＳ１３０２についてのみ説明する。
【００８３】
ステップＳ１３０１において、判定処理部３０５が、参照画素のうちエッジ画素の個数をカウントする。ステップＳ１３０２において、判定処理部３０５が、ステップＳ１３０１でカウントしたエッジ画素の個数が画像データ数Ｎのｙ（例えばｙ＝１０）％未満か否かを判定する。エッジ画素の個数がＮ／ｙ％未満である場合はステップＳ８０８へ進み、そうでない場合はステップＳ８０７へ進む。ステップＳ１３０２の処理後、ステップＳ８０１で確保したメモリを解放する。
【００８４】
図１４は、本実施形態における輝度差判定処理の流れを示すフローチャートである。図１４におけるステップＳ９０１からステップＳ９０７、ステップＳ９０９及びステップＳ９１０は図９に示すステップと同一であるため、差分のステップＳ１４０１及びステップＳ１４０２についてのみ説明する。ステップＳ１４０１において、判定処理部３０５が、輝度差ありの個数をカウントする。
【００８５】
ステップＳ１４０２において、判定処理部３０５が、ステップＳ１４０１でカウントした輝度差ありの個数が画像データ数Ｎのｙ（例えばｙ＝１０）％未満か否かを判定する。輝度差ありの個数がＮ／ｙ％未満である場合はステップＳ９０９へ進み、そうでない場合はステップＳ９１０へ進む。ステップＳ１４０２の処理後、ステップＳ９０１で確保したメモリを解放する。
【００８６】
以上のように、本実施形態では、利用する画像データ数に応じて参照画像のエッジ判定及び輝度差判定処理における個数比較用の閾値を切り替えることにより、画像データ数の多い場合にも対応でき、構造ノイズを検出する精度を向上させることが可能となる。
【００８７】
また、実施形態１及び実施形態２において、同座標にある参照画素を加算平均して、構造ノイズである着目画素を補正する。本実施形態では、同様の方法で補正を行うことはもちろん可能であるが、参照画素のうち、エッジ判定で平坦画素であって、且つ輝度差判定で輝度差がない参照画素のみを加算して、着目画素を補正することにより、着目画素をより正確に補正することができる。
【００８８】
（その他の実施形態）
実施形態１〜３では、連続撮像して得た画像データの先頭画像データを着目画像データにしたが、本発明はこれに限定されない。例えば、各画像データのエッジ強度の総和が最も大きい画像データを着目画像データとしてもよい。
【００８９】
また、実施形態１〜３では、三脚を用いて撮像した例について述べた。しかしながら、手持ち撮影の場合は、ステップＳ４０１で画像データを入力した際に各参照画像データを基準画像データに位置合わせしてからステップＳ４０２〜Ｓ４０７の処理を実行することで同様の効果が得られる。
【００９０】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９１】
３０１・・・画像データ入力部
３０２・・・パラメータ入力部
３０３・・・エッジ強度算出部
３０４・・・平均輝度算出部
３０５・・・判定処理部
３０６・・・合成処理部
３０７・・・画像データ出力部
【図１】
0006584173.tif 000004
【図２】
0006584173.tif 000005
【図３】
0006584173.tif 000006
【図４】
0006584173.tif 000007
【図５】
0006584173.tif 000008
【図６】
0006584173.tif 000009
【図７】
0006584173.tif 000010
【図８】
0006584173.tif 000011
【図９】
0006584173.tif 000012
【図１０】
0006584173.tif 000013
【図１１】
0006584173.tif 000014
【図１２】
0006584173.tif 000015
【図１３】
0006584173.tif 000016
【図１４】
0006584173.tif 000017