(57)【要約】【課題】連続撮影して得られた複数画像を用いて行われるノイズ低減処理において、出力画像に発生するエッジのがたつきを抑制することができる。【解決手段】同一被写体を撮影して得られる複数の画像のうち、一の画像を基準画像とし、該一の画像以外の画像を参照画像とし、基準画像に参照画像を合成して基準画像に含まれるノイズを低減する第１のノイズ低減処理を実行する第１のノイズ低減手段と、基準画像の各画素がエッジ領域に属するか非エッジ領域に属するかを判定する領域判定手段と、基準画像のエッジ領域に対応する合成画像内の画素に対して非等方フィルタを適用し、基準画像の非エッジ領域に対応する合成画像内の画素に対して等方フィルタを適用することで、合成画像に含まれるノイズを低減する第２のノイズ低減処理を行う第２のノイズ低減手段と、を備える。【選択図】図３
2019045981.tif 000002
【特許請求の範囲】
【請求項１】
同一被写体を撮影して得られる複数の画像のうち、一の画像を基準画像とし、該一の画像以外の画像を参照画像とし、前記基準画像に前記参照画像を合成して前記基準画像に含まれるノイズを低減する第１のノイズ低減処理を実行する第１のノイズ低減手段と、
前記基準画像の各画素がエッジ領域に属するか非エッジ領域に属するかを判定する領域判定手段と、
前記基準画像の前記エッジ領域に対応する前記合成画像内の画素に対して非等方フィルタを適用し、前記基準画像の前記非エッジ領域に対応する前記合成画像内の画素に対して等方フィルタを適用することで、前記合成画像に含まれるノイズを低減する第２のノイズ低減処理を行う第２のノイズ低減手段と、を備える
ことを特徴とする画像処理装置。
【請求項２】
前記領域判定手段は、
前記基準画像について、着目画素と該着目画素の周辺画素とから成る局所領域ごとにエッジ強度を導出し、
導出した前記エッジ強度が第１の判定値以上である、前記基準画像の前記局所領域における着目画素を、前記エッジ領域に属する画素であると判定し、前記エッジ強度が前記第１の判定値より小さい、前記基準画像の前記局所領域における着目画素を、前記非エッジ領域に属する画素であると判定する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記領域判定手段は、
前記エッジ強度が前記第１の判定値以上である、前記基準画像の各局所領域のそれぞれが、該各局所領域のそれぞれに対応する前記参照画像内の領域と類似しているか否かを判定し、
類似していると判定された前記局所領域における着目画素を、非動体エッジ領域に属する画素であると判定し、類似していないと判定された前記局所領域における着目画素を、動体エッジ領域に属する画素であると判定する
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記領域判定手段は、
前記エッジ強度が前記第１の判定値以上である、前記基準画像の前記局所領域と、該局所領域に対応する前記参照画像内の領域との両領域の差分絶対値和を導出し、
導出した前記差分絶対値和が第２の判定値より小さい場合に、両領域が類似していると判定し、前記差分絶対値和が前記第２の判定値以上である場合に、両領域が類似していないと判定する
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記基準画像の前記動体エッジ領域に対応する前記合成画像内の画素に対して適用される非等方フィルタは、前記基準画像の前記非動体エッジ領域に対応する前記合成画像内の画素に対して適用される非等方フィルタよりも、エッジ方向におけるサイズが大きい
ことを特徴とする請求項３または請求項４に記載の画像処理装置。
【請求項６】
前記領域判定手段は、
前記基準画像の前記エッジ領域に属する各画素についてエッジ方向を判定し、
前記エッジ領域に属する各画素に対して、該各画素について判定した前記エッジ方向の非等方フィルタを適用する
ことを特徴とする請求項１から請求項５のいずれか１項に記載の画像処理装置。
【請求項７】
前記第１のノイズ低減手段は、
各参照画像内の、前記基準画像の一の画素に対応する画素と該画素の周辺画素とから成るブロックから、該一の画素に適用する合成候補画素を選択し、
前記基準画像の各画素について選択された前記合成候補画素を用いて、前記合成画像の各画素の画素値を決定し、
前記合成候補画素は、前記一の画素との類似度が高い順に、前記各参照画像内の前記ブロックから選択される所定の数の画素である
ことを特徴とする請求項１から請求項６のうちのいずれか１項に記載の画像処理装置。
【請求項８】
同一被写体を撮影して得られる複数の画像のうち、一の画像を基準画像とし、該一の画像以外の画像を参照画像とし、前記基準画像に前記参照画像を合成して前記基準画像に含まれるノイズを低減する第１のノイズ低減処理を実行する第１のノイズ低減ステップと、
前記基準画像の各画素がエッジ領域に属するか非エッジ領域に属するかを判定する領域判定ステップと、
前記基準画像の前記エッジ領域に対応する前記合成画像内の画素に対して非等方フィルタを適用し、前記基準画像の前記非エッジ領域に対応する前記合成画像内の画素に対して等方フィルタを適用することで、前記合成画像に含まれるノイズを低減する第２のノイズ低減処理を行う第２のノイズ低減ステップと、を含む
ことを特徴とする画像処理方法。
【請求項９】
コンピュータを、請求項１から請求項７のうちのいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データに含まれるノイズを低減する画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
デジタルスチルカメラやデジタルビデオカメラなどの撮像装置では、撮像素子や回路の特性により暗電流ノイズ、熱雑音、ショットノイズなどが発生し、撮像により得られる画像データにランダムなノイズ（ランダムノイズ）が混入する。近年、撮像素子の小型化や高画素化に伴い画素ピッチが極小化されているため、ノイズが目立ちやすくなっている。特に、高感度で撮影して得られる画像データにはショットノイズが顕著に発生し、画質劣化の大きな要因になっている。そこで、ランダムノイズを低減することで、高画質化を実現するための様々な方法が提案されている。
【０００３】
ショットノイズ除去の最も原理的な方法として、同一被写体を同じ撮影条件で連続撮影して得られた複数枚の画像データを平均する方法がある。この方法に基づき、連続撮影して得られた画像データにおける基準点に対して、他の画像の学習領域に含まれる複数点を参照し、基準点を含むウィンドウとの類似度に応じて複数点を加重平均してノイズを除去する方法が提案されている（特許文献１参照）。また、連続撮影して得られた複数枚の画像データを類似画素同士で合成することでショットノイズを低減し、そのノイズ低減量を利用して合成画像データに対してさらにノイズ低減処理を行う方法が提案されている（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００７−５３６６６２号公報
【特許文献２】特開２０１４−２３６２２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の方法によれば、テクスチャの構造を残したまま、ノイズを低減させることができる。しかし、エッジのがたつきもテクスチャの構造の一つとして扱われてしまうため、特許文献１に記載の方法では、エッジのがたつきが残ってしまう可能性がある。また、特許文献２に記載の方法では、合成画像データ全体のノイズ低減量を一様にできるものの、エッジのがたつきについては考慮されていないため、結果としてエッジのがたつきを残してしまう。
【０００６】
そこで本発明は、連続撮影して得られた複数画像を用いて行われるノイズ低減処理において、出力画像に発生するエッジのがたつきを抑制することを目的とする。
【課題を解決するための手段】
【０００７】
本発明による画像処理装置は、同一被写体を撮影して得られる複数の画像のうち、一の画像を基準画像とし、該一の画像以外の画像を参照画像とし、基準画像に参照画像を合成して基準画像に含まれるノイズを低減する第１のノイズ低減処理を実行する第１のノイズ低減手段と、基準画像の各画素がエッジ領域に属するか非エッジ領域に属するかを判定する領域判定手段と、基準画像のエッジ領域に対応する合成画像内の画素に対して非等方フィルタを適用し、基準画像の非エッジ領域に対応する合成画像内の画素に対して等方フィルタを適用することで、合成画像に含まれるノイズを低減する第２のノイズ低減処理を行う第２のノイズ低減手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明により、連続撮影して得られた複数画像を用いて行われるノイズ低減処理において、出力画像に発生するエッジのがたつきを抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態における画像処理装置のハードウェア構成を示すブロック図である。
【図２】第１実施形態における画像処理装置の論理構成を示すブロック図である。
【図３】第１実施形態に係る画像処理装置が実行する画像処理の流れを示すフローチャートである。
【図４】ベイヤ配列のカラーフィルタを説明するための図である。
【図５】ステップＳ３０２の合成処理を示すフローチャートである。
【図６】ステップＳ３０２の合成処理を説明するための図である。
【図７】ステップＳ３０３の領域判定処理を示すフローチャートである。
【図８】領域判定処理の処理単位である局所領域を説明するための図である。
【図９】ステップＳ３０４の領域別ノイズ低減処理を示すフローチャートである。
【図１０】エッジ方向判定に用いるフィルタを説明するための図である。
【図１１】領域別ノイズ低減処理に用いられる非等方フィルタを説明するための図である。
【図１２】第１実施形態の効果を説明するための図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について詳細に説明する。なお、この実施の形態に記載されている構成要素は、本発明の例としての形態を示すものであり、この発明の範囲をそれらのみに必ずしも限定するものではない。
【００１１】
［実施形態１］
本実施形態に係る画像処理装置の構成について、図１を参照して説明する。図１は、第１実施形態における画像処理装置のハードウェア構成を示すブロック図である。図１に示すように、本実施形態に係る画像処理装置１００は、ＣＰＵ１０１、ＲＡＭ１０２、ＨＤＤ１０３、汎用インターフェース（Ｉ／Ｆ）１０４、モニタ１０８、及びメインバス１０９を備える。汎用Ｉ／Ｆ１０４は、カメラなどの撮像装置１０５や、マウス、キーボードなどの入力装置１０６、及びメモリーカードなどの外部メモリ１０７をメインバス１０９に接続する。
【００１２】
ＣＰＵ１０１は、ＨＤＤ１０３に格納された各種ソフトウェア（コンピュータプログラム）をＲＡＭ１０２に展開して実行することで、各種処理を実現する。本実施形態では、コンピュータプログラムの一つとして、画像処理アプリケーション（以下、単に画像処理アプリと呼ぶ。）がＲＡＭ１０２に展開される。ＣＰＵ１０１によって画像処理アプリが起動されると、モニタ１０８に画像処理アプリのユーザインターフェース（ＵＩ）画面が表示される。
【００１３】
ＲＡＭ１０２には、ＨＤＤ１０３や外部メモリ１０７に格納されている各種データや、入力装置１０６からの指示などが転送される。また、ＲＡＭ１０２には、撮像装置１０５で撮影された画像データが転送される。なお、ここでは、画像データとしてＲＡＷ画像データが転送されるものとする。また、ＨＤＤ１０３や外部メモリ１０７に格納されているＲＡＷ画像データがＲＡＭ１０２に転送されてもよい。また、不図示のネットワークを介してサーバ装置から受信したＲＡＷ画像データをＲＡＭ１０２に転送するようにしてもよい。以降の説明において、画像データを単に画像と呼ぶ場合がある。ＲＡＭ１０２に格納された画像データ等は、画像処理アプリの処理に従って、ＣＰＵ１０１からの指令に基づき各種演算される。演算結果はモニタ１０８に表示されたり、ＨＤＤ１０３または外部メモリ１０７に格納されたりする。
【００１４】
上記の構成において本実施形態では、ＣＰＵ１０１からの指令に基づき、画像処理アプリに複数の画像データを入力し、ノイズを低減した画像データを生成して出力する。
【００１５】
図２は、本実施形態に係る画像処理装置１００の論理構成を示す図である。図２に示すように、画像処理装置１００は、入力部２０１、記憶部２０２、処理部２０３、及び出力部２０４を備える。処理部２０３は、合成処理部２０５、領域判定処理部２０６、ノイズ低減処理部２０７、及び現像処理部２０８を含む。
【００１６】
入力部２０１は、複数の画像データ、画像処理パラメータ、ＩＳＯ感度別のノイズ特性を示す情報（以下、ノイズ特性情報と呼ぶ）などのデータを入力する。ＣＰＵ１０１からの指示に基づき、処理部２０３で処理された画像データや記憶部２０２に記憶された画像データなどをモニタ１０８やＨＤＤ１０３などに出力する。複数の画像データは、ノイズ低減対象である基準画像データと、基準画像データと同一被写体を連続撮影した１以上の参照画像データとを含む。画像処理パラメータは、後述する合成処理、領域判定処理、及びノイズ低減処理において用いられるパラメータである。ノイズ特性情報は、予めＩＳＯ感度別に算出したノイズ分散値である。入力部２０１は、これらのデータをＣＰＵ１０１からの指示に基づいて、撮像装置１０５や、ＨＤＤ１０３、外部メモリ１０７などから入力する。また、撮像装置１０５で撮影された画像データを、撮像装置１０５から入力部２０１に直接入力するようにしてもよい。なお、画像処理パラメータやノイズ特性情報をユーザが設定可能なようにしてもよい。例えば、それらの情報を設定するためのＵＩ画面をモニタ１０８に表示させて、該ＵＩ画面を介してユーザが設定した値をＨＤＤ１０３や外部メモリ１０７に記憶させておくようにしてもよい。
【００１７】
記憶部２０２は、ＣＰＵ１０１からの指示に基づき、入力部２０１が入力した複数の画像データ、画像処理パラメータ、及び画像処理後の画像データなどをＲＡＭ１０２、ＨＤＤ１０３、または外部メモリ１０７などに記憶する。
【００１８】
処理部２０３は、ＣＰＵ１０１からの指示に基づき、入力部２０１から画像データや、画像処理パラメータ、ノイズ特性情報などを取得し、該画像データに対して画像処理を行う。なお、処理部２０３は、それらのデータを記憶部２０２から読み込むようにしてもよい。処理部２０３は、画像処理後の画像データを記憶部２０２や出力部２０４に出力する。処理部２０３における画像処理の詳細は後述する。
【００１９】
出力部２０４は、ＣＰＵ１０１からの指示に基づき、処理部２０３で処理された画像データや記憶部２０２に記憶された画像データなどをモニタ１０８やＨＤＤ１０３などに出力する。なお、データの出力先はこれらに限られず、例えば、汎用Ｉ／Ｆ１０４に接続された外部メモリ１０７や不図示のサーバ装置やプリンタに、データが出力されてもよい。
【００２０】
（メイン処理フロー）
次いで、画像処理装置１００の各処理の詳細について、図３のフローチャートを参照して説明する。図３は、第１実施形態に係る画像処理装置１００が実行する画像処理の流れを示すフローチャートである。なお、図３に示す処理は、ＣＰＵ１０１がＨＤＤ１０３に格納されたプログラム（画像処理アプリ）をＲＡＭ１０２に展開して実行することによって、実現される。勿論、図２に示す構成要素の一部または全部の役割を果たす専用の処理回路などを設けて、図２に示す構成要素の一部または全部をハードウェアにより実現してもよい。
【００２１】
ステップＳ３０１において、入力部２０１は、複数の画像データ、画像処理パラメータ、ノイズ特性情報、及びエッジ方向判定に用いるフィルタ（以下、エッジ方向判定フィルタと呼ぶ）を入力して、記憶部２０２に記憶する。なお、本実施形態では、入力部２０１が入力する画像データは、ベイヤ配列のカラーフィルタを有する撮像装置で撮影されたＲＡＷ画像データであるものとする。ベイヤ配列のカラーフィルタは、図４に示すように、緑（Ｇ）の画素と赤（Ｒ）の画素とが交互に繰り返される行と、青（Ｂ）の画素と緑（Ｇ）の画素とが交互に繰り返される行とが交互に配列されたフィルタである。但し、本実施形態の適用範囲は、ベイヤ配列のカラーフィルタを有する撮像装置で撮影された画像データに限られない。ＲＡＷ画像データからカラー画像データを生成する際に、ノイズ低減処理及び画素補間が可能な画像データであれば、任意のカラーフィルタを有する撮像装置で撮影された画像データに対して適用可能である。入力する画像データは、ノイズ低減対象である基準画像データと、基準画像データと同じ被写体を連続撮影した１以上の参照画像データである。なお、以下では、連続撮影して得られた画像データの内、１枚目を基準画像データ、それ以外を参照画像データとする。また、入力部２０１が入力する複数のＲＡＷ画像データの各々の大きさは幅Ｘ画素、高さＹ画素であり、入力部２０１はＮ枚の参照画像データを入力するものとする。また、各画像データにおいて、左上の画素の座標（画素位置）を基準（すなわち（０，０））とし、各画素の座標を（ｘ，ｙ）とする。但し、ｘ，ｙは０≦ｘ＜Ｘ，０≦ｙ＜Ｙを満たす整数である。
【００２２】
ステップＳ３０２において、合成処理部２０５は、ステップＳ３０１で入力部２０１が入力した基準画像データと全ての参照画像データとを合成して、合成画像データを生成する合成処理（第１のノイズ低減処理）を行う。合成処理の詳細は後述する。
【００２３】
ステップＳ３０３において、領域判定処理部２０６は、ステップＳ３０１で入力部２０１が入力した基準画像データと全ての参照画像データとを用いて、基準画像データに対して領域判定処理を行う。領域判定処理の詳細は後述する。
【００２４】
ステップＳ３０４において、ノイズ低減処理部２０７は、ステップＳ３０３の領域判定処理の結果に基づいて、ステップＳ３０２で生成された合成画像データに対して領域別ノイズ低減処理（第２のノイズ低減処理）を行う。領域別ノイズ低減処理の詳細は後述する。
【００２５】
ステップＳ３０５において、現像処理部２０８は、ステップＳ３０４でノイズ低減処理された合成画像データに対して現像処理を行う。現像処理された画像データは、記憶部２０２に記憶される。ここで、現像処理は、出力画像が好適に見えるように補正する補正処理全般を含む。例えば、画素を補間するデモザイク処理、メリハリを増すためのエッジ強調や、明るさを補正するγ補正、鮮やかさを増すための色補正が含まれる。なお、補正処理の詳細は本実施形態の主眼ではないため説明は省略する。ステップＳ３０６において、出力部２０４は、ステップＳ３０５で現像処理された画像データを記憶部２０２から読み出して出力する。
【００２６】
以下、ステップＳ３０２における合成処理、ステップＳ３０３における領域判定処理、及びステップＳ３０４における領域別ノイズ低減処理について説明する。
【００２７】
（合成処理）
図５は、ステップＳ３０２の合成処理を示すフローチャートである。なお、図５には、基準画像データの１つの着目画素に対して行われる合成処理が示されている。したがって、基準画像データの全画素ついて合成処理を行う場合には、図５に示す処理（より具体的には、ステップＳ５０２〜Ｓ５１４の処理）を全画素について繰り返し実行すればよい。
【００２８】
ステップＳ５０１において、合成処理部２０５は、合成の候補となる画素を記録するための合成候補画素リストの初期化と、着目ブロックサイズＳ１、参照ブロックサイズＳ２、及び閾値ｔｈ１、合成画素数Ｎｕｍなどの画像処理パラメータを入力する。本実施形態では、合成画素数Ｎｕｍとして、連続撮影により取得した複数の参照画像データの数Ｎが設定される。
【００２９】
ステップＳ５０２において、合成処理部２０５は、着目画素を中心とする着目ブロックを決定する。ここでは、着目画素をＲとする。図６（ａ）には、基準画像データ６０１が示されている。例えばサイズＳ１＝５の場合、着目画素６０２を中心とする５×５の矩形領域が着目ブロック６０３として設定される。
【００３０】
ステップＳ５０３において、合成処理部２０５は、複数の参照画像データから処理対象とする参照画像データを１つ選択する。
【００３１】
ステップＳ５０４において、合成処理部２０５は、ステップＳ５０３で選択した処理対象の参照画像データから、探索領域を決定する。探索領域のサイズは、参照ブロックサイズＳ２と同じである。また、参照ブロックサイズＳ２は、着目ブロックサイズＳ１と同じである。図６（ｂ）には、参照画像データ６０４が示されていて、例えばサイズＳ２＝５である場合、着目画素６０２と同座標の画素６０５を中心とする５×５の矩形領域が探索領域６０６として設定される。
【００３２】
ステップＳ５０５において、合成処理部２０５は、ステップＳ５０４で決定した探索領域の中から、着目画素と同色の画素（図６（ｂ）において斜線で示される画素）を参照画素として１つ選択する。
【００３３】
ステップＳ５０６において、合成処理部２０５は、ステップＳ５０５で選択した参照画素を中心とする参照ブロックを決定する。例えばサイズＳ２＝５の場合であって、参照画素として画素６０７が選択されている場合には、図６（ｃ）に示すように参照画素６０７を中心とする５×５の矩形領域が参照ブロック６０８として設定される。
【００３４】
ステップＳ５０７において、合成処理部２０５は、ステップＳ５０２で決定した着目ブロックとステップＳ５０６で決定した参照ブロックとについて、画素毎の画素値の差分絶対値の和（ＳＡＤ）を算出する。なお、ＳＡＤは、Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅｄ  Ｄｉｆｆｅｒｅｎｃｅの略である。
【００３５】
ステップＳ５０８において、合成処理部２０５は、ステップＳ５０７で算出したＳＡＤとステップＳ５０１で入力した閾値ｔｈ１とを比較する。ＳＡＤ＜ｔｈ１である場合は（ステップＳ５０８のＹＥＳ）、合成処理部２０５は、ステップＳ５０５で選択した参照画素を合成候補画素リストに追加する（ステップＳ５０９）。ＳＡＤ＜ｔｈ１でない場合は（ステップＳ５０８のＮＯ）、処理はステップＳ５１０に進む。ステップＳ５１０において、合成処理部２０５は、参照ブロック内の全参照画素を選択し終えたか否か、すなわち参照ブロック内の全参照画素について処理が完了しているか否かを判定する（ステップＳ５１０）。
【００３６】
参照ブロック内の全参照画素について処理が完了していない場合は（ステップＳ５１０のＮＯ）、処理はステップＳ５０５に戻る。一方、参照ブロック内の全参照画素について処理が完了している場合は（ステップＳ５１０のＹＥＳ）、合成処理部２０５は、全参照画像データを選択し終えたか、すなわち全参照画像データについて処理が完了しているかを判定する（ステップＳ５１１）。
【００３７】
全参照画像データについて処理が完了しない場合は（ステップＳ５１１のＮＯ）、処理はステップＳ５０３に戻る。一方、全参照画像データについて処理が完了している場合は（ステップＳ５１１のＹＥＳ）、処理はステップＳ５１２に進む。
【００３８】
ステップＳ５１２において、合成処理部２０５は、合成候補画素リストをＳＡＤが小さい順にソートする。そして、ステップＳ５１３において、合成処理部２０５は、ステップＳ５１２でソートした画素の内、ＳＡＤが小さい方からＮｕｍ番目までの画素を選択する。さらに、ステップＳ５１４において、合成処理部２０５は、着目画素とステップＳ５１３で選択したＮｕｍ個の画素の平均値を以下の式（１）にて算出する。
【００３９】
【数１】
2019045981.tif 000003
【００４０】
ここで、Ｉ0は着目画素の画素値、Ｉiはｉ番目の画素の画素値（ｉはステップＳ５１３で選択された順番を示す）である。ステップＳ５０２〜Ｓ５１４の処理を基準画像データの全画素ついて行うことで、上記式（１）で導出された画素値が各画素に設定された合成画像データが生成される。
なお、上記のような単純な平均ではなく、例えば、選択した各画素のＳＡＤの逆数を重みとして、式（２）にて加重平均して平均値を算出してもよい。
【００４１】
【数２】
2019045981.tif 000004
【００４２】
ここで、ｗiはｉ番目画素の重みでｗi＝１／ＳＡＤiである。
【００４３】
なお、本実施形態では、合成候補画素を決定するために、差分絶対値和（ＳＡＤ）を用いたが、これに限らず着目画素との類似度が高い画素を見つけることが出来る方法であればどのような方法でもよい。例えば、着目ブロックと参照ブロックの平均値の差分絶対値や差分率が所定の閾値以下になる場合を合成候補画素として決定してもよい。または、ＳＡＤと平均値の差分絶対値を組み合わせて用いてもよい。
【００４４】
また、ステップＳ５０９で合成候補画素リストに追加された参照画素の個数がＮｕｍ個に満たない場合には、ステップＳ５１３の処理をスキップするようにしてもよい。そして、ステップＳ５１４において、合成候補画素リストに追加されている全参照画素について式（１）を適用するようにしてもよい。また、合成候補画素リストに追加された参照画素の個数がＮｕｍ個に満たない場合、特に参照画素の個数が０である場合には、ｔｈ１の値を大きくしてから、再度ステップＳ３０２の処理（合成処理）を実行するようにしてもよい。
【００４５】
（領域判定処理）
次に、図７を参照して、ステップＳ３０３における領域判定処理を説明する。図７は、ステップＳ３０３の領域判定処理を示すフローチャートである。
【００４６】
ステップＳ７０１において、領域判定処理部２０６は、領域判定した結果を記憶する領域判定マップの初期化と、領域判定に用いる局所領域のサイズＳ３、閾値ｔｈ２，ｔｈ３などの画像処理パラメータ、及びノイズ特性情報を入力する。なお、領域判定マップは基準画像データと同サイズである。また、ここでは、ノイズ特性情報として、撮影時のＩＳＯ感度に応じたノイズ分散σ2が入力される。
【００４７】
ステップＳ７０２において、領域判定処理部２０６は、基準画像データから、処理対象とする着目画素を選択する。そして、ステップＳ７０３において、領域判定処理部２０６は、ステップＳ７０２で選択した着目画素のエッジ強度Ｅを導出する。以下、エッジ強度Ｅの導出方法について説明する。
【００４８】
まず、領域判定処理部２０６は、着目画素と周辺画素とから成る局所領域を決定する。局所領域のサイズＳ３はステップＳ３０１で入力したパラメータに基づいて決定される。ここではＳ３＝５とし、局所領域が５×５画素である場合を例に図８を参照して説明する。図８（ａ）において、黒色の画素８０１は着目画素を表し、網掛けされた画素８０２は周辺画素を表し、太線で囲われた領域８０３は局所領域を表している。局所領域の形状は、図８（ａ）に示す形状に限らず任意の形状でよく、例えば図８（ｂ）に示すような形状であってもよい。
【００４９】
次に、領域判定処理部２０６は、局所領域における分散値ＶをＲＧＢ毎に式（３）を用いて算出する。
【００５０】
【数３】
2019045981.tif 000005
【００５１】
ここで、Ｍは局所領域に含まれる画素数を示していて、ｒ，ｇ，ｂはそれぞれＲＧＢ値を示している。
【００５２】
【数４】
2019045981.tif 000006
は局所領域に含まれる画素値の平均値を示している。ｉは局所領域における各画素を識別するためのインデックス番号であり、０≦ｉ≦Ｍ−１を満たす整数である。領域判定処理部２０６は、これらの分散値Ｖを、ステップＳ７０１で入力した撮影時のＩＳＯ感度に応じたノイズ分散値σ2で割ることで分散値の比率を算出し、これをエッジ強度Ｅとする。具体的には、式（４）によりエッジ強度Ｅが算出される。エッジ強度Ｅは値が大きいほど、鮮鋭度が高く、逆に小さいほど鮮鋭度が低いことを示す指標である。
【００５３】
【数５】
2019045981.tif 000007
【００５４】
領域判定処理部２０６は、算出したエッジ強度ＥR、ＥG、ＥBの内の最大値を、エッジ強度Ｅとして取得する。
【００５５】
ステップＳ７０４において、領域判定処理部２０６は、ステップＳ７０３で導出したエッジ強度Ｅと、ステップＳ７０１で入力した閾値（第１の判定値）ｔｈ２とを比較する。エッジ強度Ｅが第１の判定値より小さい場合は（ステップＳ７０４のＮＯ）、処理はステップＳ７１１に進む。エッジ強度Ｅが第１の判定値以上である場合は（ステップＳ７０４のＹＥＳ）、領域判定処理部２０６は、複数の参照画像データから処理対象とする参照画像データを１つ選択する。そして、領域判定処理部２０６は、選択した参照画像データから、ステップＳ７０２で選択した着目画素と同座標にある画素を参照画素として選択する。そして、領域判定処理部２０６は、基準画像データにおける、着目画素を中心とする局所領域と、処理対象の参照画像データにおける、参照画素を中心とする局所領域との両領域について、ＳＡＤを算出する。ＳＡＤ算出時の局所領域のサイズは、エッジ強度算出時と同サイズ、すなわち５×５画素であるとする。
【００５６】
ステップＳ７０７において、領域判定処理部２０６は、ステップＳ７０６で２つの局所領域について算出したＳＡＤと、ステップＳ７０１で入力した閾値（第２の判定値）ｔｈ３とを比較する。ＳＡＤが第２の判定値以上である場合は（ステップＳ７０７のＮＯ）、領域判定処理部２０６は、２つの局所領域が類似していないと判断する。そして、処理はステップＳ７１０に進む。ＳＡＤが第２の判定値より小さい場合は（ステップＳ７０７のＹＥＳ）、領域判定処理部２０６は、２つの局所領域が類似していると判断し、全参照画像データの参照画素について処理が完了したか否かを判定する（ステップＳ７０８）。全参照画像データの参照画素について処理が完了していない場合は（ステップＳ７０８のＮＯ）、処理はステップＳ７０５に戻る。全参照画像データの参照画素について処理が完了している場合は（ステップＳ７０８のＹＥＳ）、処理はステップＳ７０９に進む。
【００５７】
ステップＳ７０９において、領域判定処理部２０６は、ステップＳ７０２で選択した着目画素が非動体エッジに対応するエッジ領域（以下、非動体エッジ領域と呼ぶ）に属する画素であると判定し、領域判定マップの着目画素と同座標の画素に「１」を出力する。ステップＳ７１０において、領域判定処理部２０６は、ステップＳ７０２で選択した着目画素が動体エッジに対応するエッジ領域（以下、動体エッジ領域と呼ぶ）に属する画素であると判定し、領域判定マップの着目画素と同座標の画素に「２」を出力する。ステップＳ７１１において、領域判定処理部２０６は、ステップＳ７０２で選択した着目画素がエッジ領域以外の領域（平坦領域または非エッジ領域と呼ぶ）に属する画素であると判定し、領域判定マップの着目画素と同座標の画素に「０」を出力する。
【００５８】
ステップＳ７１２において、領域判定処理部２０６は、基準画像データの全画素についてステップＳ７０３〜Ｓ７１１の処理を完了したか否かを判定する。基準画像データの全画素について処理が完了していない場合は（ステップＳ７１２のＮＯ）、処理はステップＳ７０２に戻る。基準画像データの全画素について処理が完了している場合は（ステップＳ７１２のＹＥＳ）、領域判定処理部２０６は、領域判定処理を終了する。
【００５９】
なお、本実施形態では、エッジ強度Ｅの算出に分散の比率を用いたが、これに限らずソーベルフィルタやラプラシアンフィルタなどを用いるようにしてもよい。すなわち、エッジ強度Ｅの算出方法は、エッジ強度に相当する値が算出できればいずれの算出方法であっても構わない。
【００６０】
（領域別ノイズ低減処理）
次に、図９を参照して、ステップＳ３０４における領域別ノイズ低減処理を説明する。図９は、ステップＳ３０４の領域別ノイズ低減処理を示すフローチャートを参照して説明する。
【００６１】
ステップＳ９０１において、ノイズ低減処理部２０７は、ステップＳ３０３で生成した領域判定マップ、ノイズ低減処理に用いるフィルタのサイズＳ４，Ｓ５などの画像処理パラメータ、及びエッジ方向判定フィルタを入力する。
【００６２】
ステップＳ９０２において、ノイズ低減処理部２０７は、ステップＳ３０１で入力した基準画像データから、処理対象とする着目画素を選択する。ステップＳ９０３において、ノイズ低減処理部２０７は、ステップＳ９０１で入力した領域判定マップに基づいて、着目画素が非動体エッジ（＝「１」）であるか、すなわち着目画素が非動体エッジ領域に属する画素であるかを判定する。非動体エッジである場合は（ステップＳ９０３のＹＥＳ）、処理はステップＳ９０５に進む。非動体エッジでない場合は（ステップＳ９０３のＮＯ）、ノイズ低減処理部２０７は、ステップＳ９０１で入力した領域判定マップに基づいて、着目画素が動体エッジ（＝「２」）であるか、すなわち着目画素が動体エッジ領域に属する画素であるかを判定する。動体エッジである場合は（ステップＳ９０４のＹＥＳ）、処理はステップＳ９０６に進み、動体エッジでない場合は（ステップＳ９０４のＮＯ）、処理はステップＳ９０７に進む。
【００６３】
ステップＳ９０５において、ノイズ低減処理部２０７は、着目画素に対してエッジの方向を判定して、該エッジの方向に沿った非等方フィルタを着目画素に適用する。具体的には、まず、ノイズ低減処理部２０７は、予め用意された複数のエッジ方向判定フィルタ（例えば、図１０（ａ）〜（ｄ）に示されるようなフィルタ）を１つずつ着目画素に適用する。図１０において黒く塗りつぶされた画素は着目画素を示していて、丸が描かれた画素と三角が描かれた画素はそれぞれ、エッジの方向を判定するための画素を示している。次に、ノイズ低減処理部２０７は、エッジ方向判定フィルタの丸が描かれた画素と空間的に対応する、基準画像データにおける画素の画素値の和を算出する。同様に、ノイズ低減処理部２０７は、エッジ方向判定フィルタの三角が描かれた画素と空間的に対応する、基準画像データにおける画素の画素値の和を算出する。そして、ノイズ低減処理部２０７は、算出した画素値の和のそれぞれの差分を算出することで、直線上の輝度差を求める。そして、ノイズ低減処理部２０７は、輝度差が最も大きいエッジ方向判定フィルタの丸が描かれた画素方向（または、三角が描かれた画素方向）をエッジの方向とする。最後に、ノイズ低減処理部２０７は、エッジの方向に伸びた、サイズＳ３である非等方フィルタを着目画素に適用する。図１１（ａ）には、エッジ方向判定フィルタ１１０１によって示される方向（図において太線矢印で示される右斜め上方向）が、着目画素１１０２（ここでは、Ｒ）におけるエッジの方向として判定されたときの様子が示されている。図１１（ｂ）には、このとき適用される非等方フィルタが示されている。ここで、画像データ１１０３は、ステップＳ３０２で基準画像データと全ての参照画像データとを合成して得られた合成画像データである。図１１（ｂ）に示すように、着目画素１１０２に対応する、合成画像データ１１０３上の着目画素１１０４には、図１１（ａ）の太線矢印と同じ方向（右斜め上方向）に伸びた非等方フィルタ１１０５が適用される。なお、非等方フィルタは、Ｒ，Ｇ，Ｂのそれぞれについて用意される。図１１（ｂ）に示す非等方フィルタ１１０５はＲ用の非等方フィルタであり、非等方フィルタ１１０５を着目画素１１０２に適用することで、図中の破線枠内のＲ画素の画素値が平滑化される。また、非等方フィルタに設定される係数については、エッジの方向について画素値を平滑化する値であればどのような値が設定されても構わない。
【００６４】
ステップＳ９０６において、ノイズ低減処理部２０７は、ステップＳ９０５と同様に着目画素に対してエッジの方向を判定して、該エッジの方向に沿った非等方フィルタを適用する。ステップＳ９０６で適用される非等方フィルタ（以下、第２の非等方フィルタと呼ぶ）は、ステップＳ９０５で適用される非等方フィルタ（以下、第１の非等方フィルタと呼ぶ）とサイズのみ異なる。より具体的には、第２の非等方フィルタは、第１の非等方フィルタとエッジ方向のサイズのみ異なる。なお、第２の非等方フィルタのサイズＳ５＞第１の非等方フィルタのサイズＳ４である。これは、動体エッジは、非動体エッジに比べて画像データ間で類似画素が見つかり難いため、エッジのがたつきが残りやすい。そのため、動体エッジ領域に適用される非等方フィルタのサイズＳ５を大きく設定する。その際、動体エッジ領域に適用されるエッジ方向判定フィルタのサイズも、動体エッジ領域に適用される非等方フィルタのサイズ拡大後の大きさに合わせて大きく設定される。図１１（ｃ）には、着目画素１１０６に対応する領域判定マップの画素値が「２（動体エッジ）」であって、該着目画素におけるエッジ方向が水平方向（図において左右方向）であると判定された場合における第２の非等方フィルタの一例が示されている。なお、図１１（ｃ）には、図１１（ｂ）と同様に、着目画素がＲである場合に適用される非等方フィルタが示されている。図１１（ｃ）に示されるように、動体エッジ領域に適用される第２の非等方フィルタは、図１１（ｂ）に示す非動体エッジ領域に適用される第１の非等方フィルタよりもエッジ方向のサイズが大きく設定されている。なお、第２の非等方フィルタの一部分が第１の非等方フィルタとして用いられてもよいし、第２の非等方フィルタと第１の非等方フィルタとで全く異なるフィルタ係数が設定されてもよい。
【００６５】
ステップＳ９０７において、ノイズ低減処理部２０７は、着目画素に対して等方フィルタを適用する。この処理は、エッジ領域に非等方フィルタをかけることによりエッジ領域と平坦領域との境界で発生し得るＳＮ段差を抑制するために行う。但し、ステップＳ３０２の合成処理において平坦領域のノイズはすでに低減されているため、等方フィルタによるノイズ低減効果はエッジ領域より弱くなるように設定される。なお、本実施形態では、等方フィルタとしてガウスフィルタを用いる。
【００６６】
ステップＳ９０８において、ノイズ低減処理部２０７は、全画素についてステップＳ９０３〜Ｓ９０７の処理を完了したか否かを判定する。全画素について処理が完了している場合は（ステップＳ９０８のＹＥＳ）、ノイズ低減処理部２０７は、領域別ノイズ低減処理を終了する。全画素について処理が完了していない場合は（ステップＳ９０８のＮＯ）、処理はステップＳ９０２に戻る。
【００６７】
以上のように、本実施形態では、第２のノイズ低減処理（領域別ノイズ低減処理）において、第１のノイズ低減処理（合成処理）で得られた合成画像に対してフィルタ処理を行う際に、エッジ領域と平坦領域とのそれぞれに対して異なるフィルタを適用する。特に、本実施形態では、合成画像内のエッジ領域に対して非等方フィルタを適用するようにしている。したがって、本実施形態によれば、複数の画像を用いて行われるノイズ低減処理において、出力画像に発生するエッジのがたつきを抑制することが可能となる。また、本実施形態では、着目画像のエッジ領域について、該エッジ領域に対応する参照画像内の領域とのＳＡＤを導出し、導出したＳＡＤに基づいてエッジ領域を動体エッジ領域と非動体エッジ領域とにさらに分類している。そして、動体エッジ領域と非動体エッジ領域とで異なるサイズの非等方フィルタを適用するようにしている。それにより、エッジのがたつきをさらに抑制することが可能となる。図１２は、本実施形態の効果を説明するための図である。図１２には、入力画像（図１２（ａ））に対して、エッジのがたつきを考慮しない従来のノイズ低減処理を適用した画像（図１２（ｂ））と、本実施形態によるノイズ低減処理を適用した画像（図１２（ｃ））とが示されている。図中の破線の楕円で囲われた部分に注目すると、従来のノイズ低減処理を適用した画像ではエッジにがたつきが残っているのが分かる。一方、本実施形態によるノイズ低減処理を適用した画像ではエッジにがたつきが見られず、エッジのがたづきが抑制されているのが分かる。
【００６８】
なお、本実施形態では、連続撮影により得られた画像の数と、合成画素数Ｎｕｍとが同じである場合について説明したが、任意の合成画素数を設定し、該合成画素数を満足するように合成処理が行われれば、合成画素数は上述したものに限定されない。
【００６９】
また、本実施形態では、連続撮影により得られた画像の内、最初に得られた画像を基準画像としたが、最初に得られた画像以外の画像を基準画像としてもよい。例えば主被写体を最も捉えた画像を基準画像としても構わない。
【００７０】
また、本実施形態では、合成候補画素リストに含まれる画素の内、着目画素と参照画素とのＳＡＤが小さい順にＮｕｍ個の画素を合成したが、これに限定されるものではない。例えば、合成候補画素リストからランダムにＮｕｍ個の画素を選択して合成しても構わない。
【００７１】
また、本実施形態では、参照画像から着目画素と同座標の画素を参照画像として選択したが、これに限定されない。例えば、手持ち撮影により得られた画像では大きく位置ずれが発生する場合がある。したがって、手持ち撮影により得られた画像を入力部２０１が入力する場合には、ステップＳ３０１で各参照画像を基準画像に位置合わせしてからステップＳ３０２〜Ｓ３０６の処理を行うようにしてもよい。
【００７２】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2019045981.tif 000008
【図２】
2019045981.tif 000009
【図３】
2019045981.tif 000010
【図４】
2019045981.tif 000011
【図５】
2019045981.tif 000012
【図６】
2019045981.tif 000013
【図７】
2019045981.tif 000014
【図８】
2019045981.tif 000015
【図９】
2019045981.tif 000016
【図１０】
2019045981.tif 000017
【図１１】
2019045981.tif 000018
【図１２】
2019045981.tif 000019