(57)【要約】【課題】  各画素に含まれているノイズ量が一定ではない画像に対しても高精度なノイズ低減を実現するための技術を提供すること。【解決手段】  着目パッチと類似する類似パッチと着目パッチとを含むパッチ集合を生成する。パッチ集合に含まれている各パッチの各画素に対応するノイズ量パラメータを推定する。パッチ集合とノイズ量パラメータとに基づいて、パッチ集合に対応する、ノイズが付加される前の画像の事前確率を推定する。パッチ集合とノイズ量パラメータと事前確率とに基づいて、着目パッチのノイズを低減した第１のパッチ、類似パッチのノイズを低減した第２のパッチ、を推定する。第１のパッチおよび第２のパッチに対して画像合成処理を行う。【選択図】  図１
2019096222.tif 000002
【特許請求の範囲】
【請求項１】
入力画像における着目画素を基準とした複数の画素で構成される着目パッチを設定し、該入力画像において該着目画素に対応する複数の参照画素のそれぞれについて、該参照画素を基準とした複数の画素で構成される参照パッチを設定する設定手段と、
前記設定手段が設定した参照パッチのうち前記着目パッチと類似する類似パッチを前記着目パッチとの類似度に基づいて特定し、前記着目パッチと前記類似パッチとを含むパッチ集合を生成する生成手段と、
前記パッチ集合に含まれている各パッチの各画素に対応するノイズ量パラメータを、該各画素の画素値に基づいて推定する第１の推定手段と、
前記パッチ集合と前記ノイズ量パラメータとに基づいて、前記パッチ集合に対応する、ノイズが付加される前の画像の事前確率を推定する第２の推定手段と、
前記パッチ集合と前記ノイズ量パラメータと前記事前確率とに基づいて、前記パッチ集合に含まれている前記着目パッチのノイズを低減した第１のパッチ、前記パッチ集合に含まれている前記類似パッチのノイズを低減した第２のパッチ、を推定する処理手段と、
前記第１のパッチおよび前記第２のパッチに対して画像合成処理を行う合成手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記第２の推定手段は、ノイズが付加される前の前記パッチ集合を多次元正規分布でモデル化できると仮定し、事前確率モデルとして多次元正規分布を用いて、前記事前確率モデルを表すパラメータを事前確率パラメータとして推定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第２の推定手段は、前記パッチ集合の平均ベクトルと前記パッチ集合の分散共分散行列と前記ノイズ量パラメータとに基づいて前記事前確率パラメータを推定することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記処理手段は、前記パッチ集合における各パッチを構成する画素に付加されているノイズが全て独立に正規分布に従うことを尤度としたときに、ノイズが付加される前のパッチの事後確率を最大化するようなノイズ低減後のパッチを、前記各パッチと前記事前確率と前記尤度と前記ノイズ量パラメータとに基づいてベイズの定理により推定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記処理手段は、Ｐをノイズが付加される前の本来の画像に基づいて構成されるパッチ、
2019096222.tif 000059
を撮像素子によるノイズが付加された入力画像に基づいて構成されるパッチ、Σをパッチを構成する各画素のノイズ量パラメータを表した対角行列、
2019096222.tif 000060
をノイズが付加される前の本来の画像に基づいて構成されるパッチと該パッチに対する類似パッチとから生成されるパッチ集合の分散共分散行列、とするとき、前記事前確率がＰ（Ｐ）、前記尤度が
2019096222.tif 000061
、前記事後確率が
2019096222.tif 000062
にそれぞれ対応し、前記事後確率を最大化するような式
2019096222.tif 000063
と同じものとみなせる計算に基づいて、前記第１のパッチおよび前記第２のパッチを推定することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記生成手段は、
前記設定手段が設定したそれぞれの参照パッチと前記着目パッチとの類似度を算出する算出手段と、
前記算出手段が算出した類似度に基づいて、前記パッチ集合に前記類似パッチとして含める参照パッチを選別する選別手段と
を備え、
前記着目パッチと前記選別手段で選別された参照パッチとを含むパッチ集合を生成することを特徴とする請求項１乃至５の何れか１項に記載の画像処理装置。
【請求項７】
前記選別手段は、前記算出手段が算出した類似度と規定値との比較により、前記パッチ集合に前記類似パッチとして含める参照パッチを選別することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記選別手段は、前記算出手段が算出した類似度が高い順に上位の規定の数の参照パッチを、前記類似パッチとして選別することを特徴とする請求項６に記載の画像処理装置。
【請求項９】
前記第１の推定手段は、パッチの各画素値と前記入力画像を撮像した撮像素子のノイズ特性とに基づいてノイズ量パラメータを推定することを特徴とする請求項１乃至８の何れか１項に記載の画像処理装置。
【請求項１０】
前記第１の推定手段は、前記パッチ集合に含まれる各パッチに対して共通のノイズ量パラメータを推定することを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記第１の推定手段は、ノイズ量パラメータを推定する際に使用する画素値を算出する第２の算出手段を有し、前記画素値と前記ノイズ特性とに基づいてノイズ量パラメータを推定することを特徴とする請求項９又は１０に記載の画像処理装置。
【請求項１２】
前記第２の算出手段は、前記パッチ集合における画素位置ごとの画素値の平均値を算出することを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記第２の算出手段は、前記パッチ集合のうち、前記着目パッチと一枚以上の前記参照パッチとにおいて対応する画素位置ごとの画素値の重み付き平均値を算出することを特徴とする請求項１１に記載の画像処理装置。
【請求項１４】
前記第２の算出手段は、前記パッチ集合のうち、前記着目パッチと、該着目パッチとの類似度が高い順に上位の規定の数の前記参照パッチと、において対応する画素位置ごとの画素値の重み付き平均値を算出し、前記規定の数は前記パッチ集合のノイズ量に応じて決定されることを特徴とする請求項１１に記載の画像処理装置。
【請求項１５】
前記入力画像は、撮像素子による輝度依存性のあるノイズが付加された画像であることを特徴とする請求項１乃至１４の何れか１項に記載の画像処理装置。
【請求項１６】
更に、
前記入力画像における複数の画素を前記着目画素として、前記設定手段、前記生成手段、前記第１の推定手段、前記第２の推定手段、前記処理手段、前記合成手段、により得られる画像を、前記入力画像に対するノイズ低減処理を行ったノイズ低減後画像として出力する出力手段を備えることを特徴とする請求項１乃至１５の何れか１項に記載の画像処理装置。
【請求項１７】
前記出力手段は、前記ノイズ低減後画像および／または前記入力画像を表示することを特徴とする請求項１６に記載の画像処理装置。
【請求項１８】
前記画像処理装置はデジタル撮像装置であることを特徴とする請求項１乃至１７の何れか１項に記載の画像処理装置。
【請求項１９】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の設定手段が、入力画像における着目画素を基準とした複数の画素で構成される着目パッチを設定し、該入力画像において該着目画素に対応する複数の参照画素のそれぞれについて、該参照画素を基準とした複数の画素で構成される参照パッチを設定する設定工程と、
前記画像処理装置の生成手段が、前記設定工程で設定した参照パッチのうち前記着目パッチと類似する類似パッチを前記着目パッチとの類似度に基づいて特定し、前記着目パッチと前記類似パッチとを含むパッチ集合を生成する生成工程と、
前記画像処理装置の第１の推定手段が、前記パッチ集合に含まれている各パッチの各画素に対応するノイズ量パラメータを、該各画素の画素値に基づいて推定する第１の推定工程と、
前記画像処理装置の第２の推定手段が、前記パッチ集合と前記ノイズ量パラメータとに基づいて、前記パッチ集合に対応する、ノイズが付加される前の画像の事前確率を推定する第２の推定工程と、
前記画像処理装置の処理手段が、前記パッチ集合と前記ノイズ量パラメータと前記事前確率とに基づいて、前記パッチ集合に含まれている前記着目パッチのノイズを低減した第１のパッチ、前記パッチ集合に含まれている前記類似パッチのノイズを低減した第２のパッチ、を推定する処理工程と、
前記画像処理装置の合成手段が、前記第１のパッチおよび前記第２のパッチに対して画像合成処理を行う合成工程と
を備えることを特徴とする画像処理方法。
【請求項２０】
コンピュータを、請求項１乃至１８の何れか１項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像におけるノイズを低減するための技術に関するものである。
【背景技術】
【０００２】
デジタルカメラなどのデジタル撮像装置は、ＣＣＤやＣＭＯＳセンサなどの光電荷変換素子（撮像素子）で受光した光をデジタル信号に変換することでデジタル画像データを生成する。デジタル画像データを生成する過程では、撮像素子や回路の特性により暗電流ノイズ、熱雑音、及びショットノイズなどが発生し、その結果、デジタル画像データにノイズが混入する。近年の撮像素子の小型化、高画素化に伴い画素ピッチが極小化しているため、ノイズが目立ちやすくなっており、特に撮影感度を高くした場合などはノイズが顕著に発生し、画質劣化の大きな要因になっている。従って、高画質な画像を得るためには混入したノイズを低減する必要があり、このノイズを低減する技術が数多く知られている。
【０００３】
その中で、非特許文献１、２（ＮＬベイズ法）には、撮影画像からパッチ集合を生成し、該パッチ集合に属する全てのパッチに対してノイズ低減処理を行い、さらにこれらパッチの合成処理を行うことでデノイズされた画像を生成する手法が開示されている。この非特許文献１、２の手法（ＮＬベイズ法）では、エッジやテクスチャを出来るだけぼかさずにノイズのみを高精度に低減することが可能である。しかしこの技術は、入力画像内の各画素に含まれているノイズ量が同じであることが前提となっている。すなわち、グレースケール画像としては、全画素で同じレベルのノイズ量を持つ画像、ＲＧＢ３色の色情報を持つＲＧＢ画像としては、ＲＧＢのそれぞれの情報毎に全画素で同レベルのノイズ量を持つ画像、が想定されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】A Non-local Bayesian image denoising algorithm, SIAM Journal on Imaging Science, 2013.
【非特許文献２】Implementation of the "Non-Local Bayes" (NL-Bayes) Image Denoising Algorithm, Image Processing On Line, 3 (2013)
【発明の概要】
【発明が解決しようとする課題】
【０００５】
デジタル撮像装置の撮像素子では、入射した光量に依存する量のノイズが発生するため、一般的な被写体を撮影した際、デジタル撮像装置で生成された画像データの各画素に含まれているノイズ量は一定にはならない。したがって、非特許文献１、２に開示されている技術をデジタル撮像装置で生成された画像データにそのまま適用しても、高精度にノイズを低減することはできない。
【０００６】
本発明はこのような問題に鑑みてなされたものであり、各画素に含まれているノイズ量が一定ではない画像に対しても高精度なノイズ低減を実現するための技術を提供する。
【課題を解決するための手段】
【０００７】
本発明の一様態は、入力画像における着目画素を基準とした複数の画素で構成される着目パッチを設定し、該入力画像において該着目画素に対応する複数の参照画素のそれぞれについて、該参照画素を基準とした複数の画素で構成される参照パッチを設定する設定手段と、前記設定手段が設定した参照パッチのうち前記着目パッチと類似する類似パッチを前記着目パッチとの類似度に基づいて特定し、前記着目パッチと前記類似パッチとを含むパッチ集合を生成する生成手段と、前記パッチ集合に含まれている各パッチの各画素に対応するノイズ量パラメータを、該各画素の画素値に基づいて推定する第１の推定手段と、前記パッチ集合と前記ノイズ量パラメータとに基づいて、前記パッチ集合に対応する、ノイズが付加される前の画像の事前確率を推定する第２の推定手段と、前記パッチ集合と前記ノイズ量パラメータと前記事前確率とに基づいて、前記パッチ集合に含まれている前記着目パッチのノイズを低減した第１のパッチ、前記パッチ集合に含まれている前記類似パッチのノイズを低減した第２のパッチ、を推定する処理手段と、前記第１のパッチおよび第２のパッチに対して画像合成処理を行う合成手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明の構成によれば、各画素に含まれているノイズ量が一定ではない画像に対しても高精度なノイズ低減を実現することができる。
【図面の簡単な説明】
【０００９】
【図１】画像処理装置１００のハードウェア構成例を示すブロック図。
【図２】画像処理装置１００の機能構成例を示すブロック図。
【図３】生成部２０３の機能構成例を示すブロック図。
【図４】センサのノイズ特性を一次近似でモデル化した模式図。
【図５】推定部２０５の機能構成例を示すブロック図。
【図６】パッチをベクトルで表現した模式図。
【図７】アグリゲーション処理を説明した模式図である。
【図８】画像処理装置１００が行うノイズ低減処理のフローチャート。
【図９】画像処理装置９００の機能構成例を示すブロック図。
【図１０】推定部２０４’の機能構成例を示すブロック図。
【図１１】ノイズ量パラメータ推定の流れを図解した模式図。
【図１２】ノイズ低減処理の流れを図解した模式図。
【図１３】推定部９０５の機能構成例を示すブロック図。
【図１４】画像処理装置９００が行うノイズ低減処理のフローチャート。
【図１５】ステップＳ１４０９における処理の詳細を示すフローチャート。
【図１６】ステップＳ１４１６における処理の詳細を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の１つである。
【００１１】
［第１の実施形態］
（画像処理装置のハードウェア構成例）
本実施形態に係る画像処理装置１００のハードウェア構成例について、図１のブロック図を用いて説明する。なお、画像処理装置１００のハードウェア構成は一例であり、適宜変更／変形が可能である。
【００１２】
ＣＰＵ１０１はＲＡＭ１０２に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりＣＰＵ１０１は、画像処理装置１００全体の動作制御を行うと共に、画像処理装置１００が行うものとして後述する各処理を実行若しくは制御する。
【００１３】
ＲＡＭ１０２は、ＨＤＤ（ハードディスクドライブ）１０３からロードされたコンピュータプログラムやデータ、汎用Ｉ／Ｆ（インターフェース）１０４を介して外部から受信したデータ、を格納するためのエリアを有する。さらにＲＡＭ１０２は、ＣＰＵ１０１が各種の処理を実行する際に用いるワークエリアを有する。このようにＲＡＭ１０２は、各種のエリアを適宜提供することができる。
【００１４】
ＨＤＤ１０３には、ＯＳ（オペレーティングシステム）や、画像処理装置１００が行うものとして後述する各処理をＣＰＵ１０１に実行若しくは制御させるためのコンピュータプログラムやデータが保存されている。ＨＤＤ１０３に保存されているコンピュータプログラムには、以降の説明で画像処理装置１００の機能部として説明する各機能部の機能をＣＰＵ１０１に実行させるためのコンピュータプログラムが含まれている。また、ＨＤＤ１０３に保存されているデータには、以下の説明において既知の情報として説明するもの（予め設定された情報、予め取得した情報等）が含まれている。ＨＤＤ１０３に保存されているコンピュータプログラムやデータは、ＣＰＵ１０１による制御に従って適宜ＲＡＭ１０２にロードされ、ＣＰＵ１０１による処理対象となる。
【００１５】
汎用Ｉ／Ｆ１０４には、撮像装置１０５、入力装置１０６、外部メモリ１０７が接続されている。汎用Ｉ／Ｆ１０４は１つ以上の接続インターフェースにより構成されており、撮像装置１０５、入力装置１０６、外部メモリ１０７を含む各種の機器を画像処理装置１００に接続するために使用される。
【００１６】
撮像装置１０５は、デジタル撮像装置であり、ＣＣＤやＣＭＯＳセンサなどの光電荷変換素子（撮像素子）で受光した光をデジタル信号に変換することでデジタル画像データを生成し、該生成したデジタル画像データを画像処理装置１００に対して出力する。ＣＰＵ１０１は、汎用Ｉ／Ｆ１０４を介して撮像装置１０５から受信したデジタル画像データを入力画像としてＲＡＭ１０２やＨＤＤ１０３に取得（格納）する。
【００１７】
入力装置１０６は、キーボードやマウスなどのユーザインターフェースにより構成されており、ユーザが操作することで各種の指示をＣＰＵ１０１に対して入力することができる。
【００１８】
外部メモリ１０７はＳＤカードやＵＳＢメモリなどの、画像処理装置１００に対して着脱可能なメモリ装置である。画像処理装置１００がノイズ低減処理の対象とする入力画像は撮像装置１０５から取得しても良いし、ＨＤＤ１０３から取得しても良いし、外部メモリ１０７から取得しても良い。
【００１９】
モニタ１０８は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ１０１による処理結果を画像や文字などでもって表示することができる。なお、入力装置１０６とモニタ１０８とを一体化させてタッチパネル画面を構成しても良い。ＣＰＵ１０１、ＲＡＭ１０２、ＨＤＤ１０３、汎用Ｉ／Ｆ１０４、モニタ１０８、はいずれもバス１０９に接続されている。
【００２０】
（入力画像）
先ず、本実施形態においてノイズ低減処理の対象となる入力画像について説明する。デジタル撮像装置の撮像素子（センサ）では、入射した光量に依存する（輝度依存性のある）ノイズ量のノイズが発生する。これは、物理的な光子の揺らぎに起因するものである。したがって、明るさが一様な被写体を撮影しない限り、センサで撮像された画像には画素毎に異なる量のノイズが付加されている。本実施形態では、このようなディジタル撮像装置のセンサで撮像された画像、すなわち、画素毎に異なる量のノイズが付加されている画像を入力画像として取得し、該入力画像に対するノイズ低減処理を行う。
【００２１】
（ＮＬベイズ法の処理の概要）
次に、本実施形態の前提となる、ＮＬベイズ法によるノイズ低減処理ついて確認しておく。まず、入力画像における複数の画素を着目画素として設定し、着目画素毎にパッチ集合を生成する。次に、生成したパッチ集合に含まれる各パッチのノイズを低減する。まず、パッチの各画素の平均値と、各パッチの任意の２つの画素値の積をパッチ集合の全てのパッチについて和をとり計算する共分散行列とを算出する。この平均値と共分散行列により、ノイズのない理想的な画像の画素値が従う事前確率をモデル化（仮定）する。次に、「事後確率＝尤度×事前確率」で表わされるベイズの定理を用いて、事後確率が最大となるようなパッチの画素値を決定する。すなわち、モデル化された事前確率と、尤度に相当する予め測定された画像のノイズ分散（デジタル撮像装置の撮像素子（センサ）に依拠）とを上記ベイズの定理に当て嵌め、事後確率を最大化するように各パッチの画素値を決定する。これにより、ノイズが低減されたパッチが得られる。そして、ノイズ低減後のパッチそれぞれを合成して、ノイズが低減された出力画像を生成する。このパッチの合成はアグリゲーションなどと呼ばれる。具体的には、ノイズ低減後の各パッチを入力画像における元のパッチ位置に戻し、複数のパッチが重なる画素については画素値を平均化、あるいは類似度に基づいた加重平均を行う。以上が、ＮＬベイズ法によるノイズ低減処理の内容である。
【００２２】
本実施形態では、上記のＮＬベイズ法によるノイズ低減処理を、入力画像におけるそれぞれの画素のノイズ量が同じではない（入力画像におけるノイズが一定でない）ケースに対応させた修正ＮＬベイズ法の理論を導く。そして、修正ＮＬベイズ法を実施する基本的な様態について説明する。
【００２３】
（用語の定義）
ここで、以降の説明において使用する用語について確認しておく。「パッチ」とは、入力画像の一部に相当する矩形の画像領域を意味し、複数の画素で構成される。入力画像内の画素のうち着目画素を基準とする複数の画素で構成されたパッチを、以下では「着目パッチ」と呼ぶこととする。そして着目パッチについてノイズ低減を行うときに参照する、着目パッチの周辺に設定するパッチを「参照パッチ」と呼ぶこととする。参照パッチとは、着目画素に対する参照画素を基準とする複数の画素で構成されたパッチである。１つの着目画素に対して複数の参照画素が設定されるため、１つの着目画素あたり複数の参照パッチが存在することになる。前述したパッチ集合は、着目パッチと、複数の参照パッチのうち着目パッチとの類似度が高い参照パッチと、の集合である。
【００２４】
（輝度依存性のあるノイズに対応した修正ＮＬベイズ法）
まず、入力画像のノイズが一定でない（画素ごとのノイズ量が同じではない）ケースに対応したＮＬベイズ法の理論式とその理論式に基づいて算出したアルゴリズムについて説明する。以下の式（１）に示すように、撮像された画像の各画素の画素値は、ノイズのない本来の画素値に標準偏差σのノイズが加算されていると考える。
【００２５】
【数１】
2019096222.tif 000003
【００２６】
このとき、ｘという画素値があるときに撮影された画素値
2019096222.tif 000004
を得る条件付き確率密度関数は以下の式（２）のように表される。
【００２７】
【数２】
2019096222.tif 000005
【００２８】
次に、Ｎ次元（ｋ×ｋ）のパッチで考える。確率変数ｘｉ（ｉ＝１，…，Ｎ）を考え、この確率変数は全て独立にガウス分布に従うとする。Ｎ個の確率変数は全て独立であるから、その同時分布ｐ（ｘ１，…，ｘＮ）＝ｐ（ｘ）は、以下の式（３）、（４）のように表される。
【００２９】
【数３】
2019096222.tif 000006
【００３０】
【数４】
2019096222.tif 000007
【００３１】
したがって、ノイズのないパッチＰがあるときに撮影されたパッチ
2019096222.tif 000008
を得る条件付き確率密度関数は次の式（５）のようになる。
【００３２】
【数５】
2019096222.tif 000009
【００３３】
この時、ベイズの定理より、撮影されたノイズのあるパッチが
2019096222.tif 000010
の場合に、ノイズの無いパッチがＰである事後確率
2019096222.tif 000011
は、以下の式（６）となる。
【００３４】
【数６】
2019096222.tif 000012
【００３５】
ＮＬベイズでは、事後確率である
2019096222.tif 000013
を最大化することでノイズの無いパッチを推定する。パッチＰの類似パッチＱが多次元正規分布で表されると仮定し、以下の式（７）に示す如く事前確率Ｐ（Ｑ）を式（６）のＰ（Ｐ）として与える。
【００３６】
【数７】
2019096222.tif 000014
【００３７】
ここで、αは正規化定数である。式（５）〜（７）から
2019096222.tif 000015
を最大化することと等価の問題を次の式（８）のように導ける。
【００３８】
【数８】
2019096222.tif 000016
【００３９】
また、
2019096222.tif 000017
と
2019096222.tif 000018
をそれぞれ、以下の式（９）〜（１０）のように仮定する。
【００４０】
【数９】
2019096222.tif 000019
【００４１】
【数１０】
2019096222.tif 000020
【００４２】
式（８）は以下の式（１１）に示すようにＰで微分すると０となる。
【００４３】
【数１１】
2019096222.tif 000021
【００４４】
【数１２】
2019096222.tif 000022
【００４５】
【数１３】
2019096222.tif 000023
【００４６】
したがって、撮影されたノイズのある画像のパッチからノイズの無いパッチは、以下の式（１４）のように求められる。これを１ｓｔＳＴＥＰの結果と呼ぶ。
【００４７】
【数１４】
2019096222.tif 000024
【００４８】
さらに、１ｓｔＳＴＥＰの結果に基づいて、式（１５）に示す如く、より高精度に共分散行列
2019096222.tif 000025
、類似パッチ集合
2019096222.tif 000026
の平均ベクトルを算出し直す。
【００４９】
【数１５】
2019096222.tif 000027
【００５０】
すると、２ｎｄＳＴＥＰでは以下の式（１６）でより高精度なノイズ低減結果を得られる。
【００５１】
【数１６】
2019096222.tif 000028
【００５２】
（画像処理装置の機能構成例）
次に、本実施形態に係る画像処理装置１００の機能構成例について、図２のブロック図を用いて説明する。なお、図２に示した構成は適宜変形／変更が可能である。例えば、１つの機能部を機能別に複数の機能部に分割しても良いし、２つ以上の機能部を１つの機能部に統合しても良い。また、図２の構成は、２以上の装置によって構成しても良い。その場合、各装置は回路や有線若しくは無線のネットワークを介して接続され、互いにデータ通信を行って協調動作を行うことで、以下に画像処理装置が行うものとして後述する各処理を実現する。
【００５３】
以下では、図２，３，５，９，１０，１３に示す機能部を処理の主体として説明する場合があるが、実際には、該機能部に対応するコンピュータプログラムをＣＰＵ１０１が実行することで、該機能部の機能が実現される。なお、図２，３，５，９，１０，１３に示す機能部はハードウェアで実装しても良い。
【００５４】
画素設定部２０１には入力画像（画像データ）が入力される。入力画像は、ＲＡＷ画像であっても良いし、グレースケール画像であっても良いし、ＲＧＢの３ｃｈ画像であっても良いし、ＲＧＧＢの４ｃｈ画像であっても良い。以下では入力画像が１ｃｈの画像であることを前提に説明を行うが、これに限るものではない。画素設定部２０１は、入力画像における任意の画素（着目画素）の座標位置（着目座標位置）と、該着目画素に対応する複数の参照画素のそれぞれの座標位置（参照座標位置）と、を設定する。
【００５５】
パッチ設定部２０２は、着目座標位置における画素である着目画素を含むパッチを着目パッチとして設定する。さらにパッチ設定部２０２は、参照座標位置ごとに、該参照座標位置における画素である参照画素を含むパッチを参照パッチとして設定する。
【００５６】
生成部２０３は、複数の参照パッチの中から着目パッチとの類似度が高い参照パッチを類似パッチとして選別し、該選別した類似パッチと該着目パッチとを含むパッチ集合である類似パッチ集合を生成する。
【００５７】
推定部２０４は、着目パッチ（類似パッチ集合）のノイズ量パラメータを推定する。推定部２０５は、類似パッチ集合と推定部２０４で推定されたノイズ量パラメータとに基づいて、着目パッチ（とその類似パッチ）のノイズのない理想的な画素値が従う事前確率をモデル化（仮定）する。処理部２０６は、類似パッチ集合を構成する各パッチのノイズを低減する。画像合成部２０７は、ノイズが低減された各パッチの合成（アグリゲーション）を行う。
【００５８】
（生成部２０３の機能構成例）
生成部２０３の機能構成例について、図３のブロック図を用いて説明する。算出部３０１は、パッチ設定部２０２で設定された参照パッチごとに、該参照パッチと着目パッチとの類似度を算出する。具体的には、Ｉを着目パッチ、Ｔを参照パッチとしたときに、着目パッチＩと参照パッチＴとの類似度は、例えば以下の式（１７）や式（１８）を用いて算出することができる。
【００５９】
【数１７】
2019096222.tif 000029
【００６０】
【数１８】
2019096222.tif 000030
【００６１】
式（１７）では、着目パッチＩと参照パッチＴとの類似度として差分絶対値和（SAD：Sum of Absolute Difference)を求めている。また、式（１８）では、着目パッチＩと参照パッチＴとの類似度として差分二乗和（SSD：Sum of Squared Difference）を求めている。式（１７）、式（１８）では、パッチ（着目パッチＩ、参照パッチＴ）のサイズをＭ画素×Ｍ画素としている。また、式（１７）、式（１８）では、着目パッチＩ内の座標位置（ｉ，ｊ）における画素の画素値をＩ（ｉ，ｊ）、参照パッチＴ内の座標位置（ｉ，ｊ）における画素の画素値をＴ（ｉ，ｊ）としている。
【００６２】
式（１７）や式（１８）で算出した類似度は、値（ＲＳＡＤ，ＲＳＳＤ）が小さいほど着目パッチと参照パッチとの類似性が高くなることを意味している。なお、類似度を求めるための方法は式（１７）や式（１８）に限るものではなく、他の手法を用いてもよい。
【００６３】
選別部３０２は、パッチ設定部２０２が設定した参照パッチのうち着目パッチと類似する参照パッチ（類似パッチ）を、算出部３０１で算出した類似度に基づいて選別（特定）する。そして選別部３０２は、着目パッチと該選別した参照パッチとを含むパッチ集合（類似パッチ集合）を生成する。選別部３０２は、着目パッチとの類似度が高い順に上位Ｎ（Ｎの定義は後述する）枚の参照パッチを選別しても良いし、式（１７）又は式（１８）で算出された類似度と規定値とを比較して類似度が規定値以上となる参照パッチを選別しても良い。このように、着目パッチと類似する参照パッチを選別する方法は特定の方法に限らない。
【００６４】
ただし、類似パッチ集合を構成するパッチの数は事前確率をモデル化（仮定）する上で大きな影響を与える。例えば、着目パッチとの類似度が低い参照パッチを含む類似パッチ集合を生成してしまうと、事前確率の精度の低下に繋がってしまう。一方で、着目パッチとの類似度が高い参照パッチのみを選別して類似パッチ集合を生成する場合、着目パッチとの類似度が高い参照パッチが十分に存在しない場合、パッチの枚数が足りないことに起因してノイズ低減処理が破綻してしまう。そこで本実施形態では、着目パッチとの類似度が高い順に上位Ｎ枚の参照パッチを選別する方式を採用する。ノイズ低減処理が成立し、好適な結果が得られるＮの値を入力画像あるいは入力画像のノイズ量（例えば入力画像の撮影感度）に応じて定めておく。以下では、類似パッチ集合に含まれるパッチの総数をＮとして説明する場合がある。
【００６５】
（ノイズ量パラメータの推定の詳細）
推定部２０４によるノイズ量パラメータの推定処理について説明する。デジタル撮像装置の撮像素子（センサ）では、ノイズ量が入射した光量に依存するようなノイズが発生する。センサのノイズモデルは、正確には温度や露光時間にも依存し、光量の二次の項も存在するため、厳密なモデル化及びパラメータの推定は困難である。しかしながら、ほとんどの条件においては、例えば、以下の式（１９）、図４に示すような簡単な一次式近似によって、ノイズ低減処理に用いる上では実用上十分な精度でノイズ量パラメータを推定することが可能である。
【００６６】
【数１９】
2019096222.tif 000031
【００６７】
ここで、左辺のσＩ２は、入力画像の画素値に対応するノイズ量、ｋとＩ０は、入力画像を撮像したセンサのノイズ特性を表す。ノイズ特性のパラメータは、ノイズ評価用のチャートを撮影して解析する等の作業（処理）を行うことで、事前に推定しておくものとする。これにより、着目パッチのノイズ量パラメータは、類似パッチ集合に含まれる各パッチの各画素の画素値と式（１９）に基づいて推定することができる。着目パッチのノイズ量パラメータは、以下の式（２０）で表され、σ１２、σ２２、…、σｎ２は各パッチを構成する各画素のノイズ分散を示している。なお、Σは対角行列（対角成分以外が０）となっているが、これはセンサで発生したノイズが画素毎に独立であることを意味する。
【００６８】
【数２０】
2019096222.tif 000032
【００６９】
（事前確率推定の詳細）
推定部２０５の機能構成例について、図５のブロック図を用いて説明する。算出部５０１は、類似パッチ集合に含まれる各パッチから座標位置（ｘ、ｙ）における画素値を収集し、該収集した画素値の平均値を座標位置（ｘ、ｙ）に対する平均値として求める。なお、パッチが３画素×３画素のサイズを有し、且つパッチの中心の座標位置を（０，０）とすると、−１≦ｘ、ｙ≦１となる。このように、推定部２０５は、パッチ上の各座標位置について画素値の平均値を求める。その結果、例えば、−１≦ｘ、ｙ≦１であるとすると、９（＝３×３）個の平均値を要素とする１次元ベクトルが得られる。ここで、この先の行列演算のため、図６に示すようにパッチは１次元ベクトルとして表現して扱うものとする。
【００７０】
算出部５０２は、類似パッチ集合に基づいて分散共分散行列を算出する。平均ベクトル、分散共分散行列、は以下の式２１に従って算出することができる。
【００７１】
【数２１】
2019096222.tif 000033
【００７２】
2019096222.tif 000034
は着目パッチ、
2019096222.tif 000035
は類似パッチ集合を構成するパッチ（着目パッチ、類似パッチ）を示す。また、
2019096222.tif 000036
は類似パッチ集合を構成する各パッチの列ベクトルを示す。また、Ｎ１は類似パッチ集合を構成するパッチの枚数、
2019096222.tif 000037
は類似パッチ集合の平均列ベクトルである。また、
2019096222.tif 000038
は類似パッチ集合の分散共分散行列である。
【００７３】
推定部５０３は、着目パッチ（とその類似パッチ）のノイズのない理想的な画素値が従う事前確率モデルのパラメータを推定する。ＮＬベイズ法では、類似パッチ集合（類似パッチ群）が多次元正規分布で表せるものと仮定し、事前確率モデルとして多次元正規分布を用いている。したがって、多次元正規分布を表すパラメータである平均ベクトルと分散共分散行列を求めた。このとき、事前確率モデルのパラメータは、ノイズのある入力画像から推定しなくてはならないことに注意が必要である。すなわち、推定したい事前確率モデルのパラメータは、
2019096222.tif 000039
であり、
2019096222.tif 000040
、
2019096222.tif 000041
ではない。そこで、入力画像から算出可能な
2019096222.tif 000042
、
2019096222.tif 000043
から修正ＮＬベイズ法の理論で示した式（９）、（１０）の仮定を用いて
2019096222.tif 000044
を推定する。これにより、ノイズのない理想的な画素値が従う着目パッチ（とその類似パッチ）の多次元正規分布を表すパラメータが推定できる。
【００７４】
（画像パッチノイズ低減処理の詳細）
以下、処理部２０６が行う処理について説明する。ＮＬベイズ法では、「事後確率＝尤度×事前確率」で表わされるベイズの定理を用いて、事後確率が最大となるようなパッチの画素値を決定することで各パッチのノイズ低減結果を得る。具体的には、式（２１）で得られたパラメータに基づいて、式（２２）の行列演算を行えばよい。ここで、Q1stはノイズ低減後のパッチを表し、類似パッチ集合を構成する各パッチ
2019096222.tif 000045
に対して求まる。
【００７５】
【数２２】
2019096222.tif 000046
【００７６】
なお、式（２２）で算出されたノイズ低減後のパッチＱ１ｓｔは１ｓｔＳＴＥＰの結果であり、１ｓｔＳＴＥＰの結果を用いて事前確率モデルを推定し直すことで、さらにノイズ低減精度を向上させた２ｎｄＳＴＥＰの結果を得ることも可能である。この形態については第２の実施形態で説明する。
【００７７】
（画像合成処理の詳細）
画像合成部２０７は上記の通り、ノイズが低減された類似パッチ集合を構成する各パッチの合成（アグリゲーション）を行う。具体的には、画像合成部２０７は、ノイズ低減後の各パッチを元のパッチ位置に戻し、複数のパッチが重なる画素の画素値は、該複数のパッチにおいて該画素に重なる画素の画素値の平均値を適用する。このときの様子を図７に示した。なお、複数のパッチが重なる画素の画素値は、該複数のパッチにおいて該画素に重なる画素の画素値の重み付き平均値を適用しても良く、重みには例えば類似度を用いることが考えられる。以上のようにして、ノイズが低減された画像が得られる。
【００７８】
（ノイズ低減処理フロー）
次に、本実施形態に係る画像処理装置１００が行う、入力画像に対するノイズ低減処理について、図８のフローチャートに従って説明する。
【００７９】
ステップＳ８０１では、ＣＰＵ１０１は、入力画像の各画素に対応するカウンタを０に初期化する。このカウンタは、アグリゲーション時に複数のパッチが重なるため、各画素に何回（何枚）のパッチが積み重ねられたかを記憶（カウント）するために用いる。
【００８０】
ステップＳ８０２では、ＣＰＵ１０１は、撮像装置１０５、ＨＤＤ１０３、外部メモリ１０７等から入力画像をＲＡＭ１０２に取得する。そしてＣＰＵ１０１は、該入力画像における任意の画素（着目画素）の座標位置（着目座標位置）と、該着目画素に対応する複数の参照画素のそれぞれの座標位置（参照座標位置）と、を設定する。参照画素は通常、着目画素の近傍の画素を用いる。具体的には、着目画素を中心とした周囲の規定サイズの探索範囲（矩形領域）に含まれる画素を参照画素とする。このとき、計算量の増大も招くが、一般的に探索範囲はできるだけ大きい方が性能は向上する。その理由は、参照画素を増やすことによって、着目パッチに対する類似度の高い類似パッチがより多く集められることになるからである。
【００８１】
ステップＳ８０３では、ＣＰＵ１０１は、着目座標位置における画素である着目画素を含むパッチを着目パッチとして設定する。さらにＣＰＵ１０１は、参照座標位置ごとに、該参照座標位置における画素である参照画素を含むパッチを参照パッチとして設定する。なお、着目パッチや参照パッチのサイズ（パッチサイズ）は入力画像のノイズ量や被写体領域によって最適なサイズが異なり、例えば３画素×３画素、５画素×５画素、７画素×７画素などのサイズが用いられる。ここでは、入力画像を撮像したセンサのノイズ特性に基づいてパッチサイズを設定しておくものとする。
【００８２】
ステップＳ８０４では、ＣＰＵ１０１は、ステップＳ８０３で設定された複数の参照パッチ（参照画素ごとに設定した参照パッチ）から未選択（未処理）の参照パッチを１つ、選択参照パッチとして選択する。そしてＣＰＵ１０１は、着目パッチと選択参照パッチとの類似度を算出する。
【００８３】
ステップＳ８０５では、ＣＰＵ１０１は、ステップＳ８０３で設定された複数の参照パッチのうち選択参照パッチとして選択されていない参照パッチが残っているか否かを判断する。この判断の結果、ステップＳ８０３で設定された複数の参照パッチのうち選択参照パッチとして選択されていない参照パッチが残っている場合には、処理はステップＳ８０４に戻る。一方、ステップＳ８０３で設定された複数の参照パッチのうち選択参照パッチとして選択されていない参照パッチが残っていない場合には、処理はステップＳ８０６に進む。
【００８４】
ステップＳ８０６では、ＣＰＵ１０１は、複数の参照パッチの中から着目パッチとの類似度が高い上位Ｎ枚の参照パッチを類似パッチとして選別し、該選別した類似パッチと該着目パッチとを含む類似パッチ集合を生成する。
【００８５】
ステップＳ８０７では、ＣＰＵ１０１は、ステップＳ８０６で生成した類似パッチ集合の平均ベクトルを算出する。ステップＳ８０８では、ＣＰＵ１０１は、ステップＳ８０６で生成した類似パッチ集合の分散共分散行列を算出する。上記の通り、平均ベクトルと分散共分散行列の算出は式（２１）に基づいて行う。
【００８６】
ステップＳ８０９では、ＣＰＵ１０１は、着目パッチ（類似パッチ集合）を構成する各画素のノイズ量を推定する。具体的には上記の通り、着目パッチの各画素の画素値を式（１９）に代入してノイズ分散を算出し、ノイズ量パラメータとして式（２０）の形で表す。
【００８７】
ステップＳ８１０では、ＣＰＵ１０１は、ステップＳ８０７で求めた平均ベクトル、ステップＳ８０８で求めた分散共分散行列、ステップＳ８０９で求めたノイズ量パラメータ、に基づいて事前確率モデルを推定する。ここで、ノイズのないときに類似パッチ集合（類似パッチ群）が多次元正規分布でモデル化できると仮定している。したがって、ノイズのある入力画像に基づいて算出された平均ベクトル、分散共分散行列より、式（９）、（１０）の仮定を用いて、ノイズのないときの平均ベクトルと分散共分散行列を推定する。
【００８８】
ステップＳ８１１では、ＣＰＵ１０１は、類似パッチ集合に含まれているパッチの中から未選択のパッチを１つ選択パッチとして選択する。そしてＣＰＵ１０１は、選択パッチに対して、式（２２）の行列演算に基づいてノイズを低減するノイズ低減処理を行う。
【００８９】
ステップＳ８１２では、ＣＰＵ１０１は、類似パッチ集合に含まれている全てのパッチを選択パッチとして選択したか否かを判断する。この判断の結果、類似パッチ集合に含まれている全てのパッチを選択パッチとして選択した場合には、処理はステップＳ８１３に進む。一方、類似パッチ集合に含まれているパッチのうち選択パッチとして選択していないパッチが残っている場合には、処理はステップＳ８１１に戻る。
【００９０】
ステップＳ８１３では、ＣＰＵ１０１は、ステップＳ８１１においてノイズ低減された全てのパッチをＲＡＭ１０２やＨＤＤ１０３に保持し、入力画像における各パッチの画素位置に対応するカウンタを更新する。つまり、入力画像の各画素について、該画素に重なるパッチの数をカウントして該画素のカウンタの値に累積する。
【００９１】
ステップＳ８１４では、ＣＰＵ１０１は、ステップＳ８０２で入力画像の全ての画素を着目画素として設定したか否かを判断する。この判断の結果、ステップＳ８０２で入力画像の全ての画素を着目画素として設定した場合には、処理はステップＳ８１５に進み、入力画像において未だ着目画素として設定してない画素が残っている場合には、処理はステップＳ８０２に戻る。
【００９２】
なお、このとき必ずしも入力画像の全ての画素を着目画素として設定する必要はなく、例えば類似パッチ集合として一度でも使用されたパッチは着目パッチとしないように設定してもよい。このようにすることで、一般的なケースにおいて、ノイズ低減効果にはそれほど影響を与えずに、処理を大幅に高速化することができる。
【００９３】
ステップＳ８１５では、ＣＰＵ１０１は、ステップＳ８１３でＲＡＭ１０２やＨＤＤ１０３に保持している全てのノイズ低減された類似パッチ集合とカウンタに基づいてアグリゲーションを行う。そしてＣＰＵ１０１は、上記の処理によって得られるノイズ低減後画像を出力する。ノイズ低減後画像の出力先は特定の出力先に限らず、ＨＤＤ１０３、外部メモリ１０７、汎用Ｉ／Ｆ１０４に接続される他の機器（例えばネットワークを介して画像処理装置１００と接続される外部機器）であっても良い。以上説明した一連のノイズ低減処理の大まかな流れを図１２に示した。
【００９４】
このように本実施形態によれば、デジタル撮像装置による撮像画像など、各画素に含まれているノイズ量が一定ではない画像であっても、該画像におけるノイズを高精度に低減することが可能になる。
【００９５】
［第２の実施形態］
第１の実施形態では、入力画像における画素ごとのノイズが一定でない形に対応させた修正ＮＬベイズ法を導き、このアルゴリズムの１ｓｔSTEPまでを実施する基本的な様態について示した。次に、第１の実施形態の構成にさらに２ｎｄSTEPを加えて、パッチのノイズ量の推定方法を工夫した様態について、第２の実施形態として説明する。なお、以下では第１の実施形態との差分について説明し、以下で特に触れない限りは第１の実施形態と同様であるものとする。
【００９６】
（第１の実施形態の実用上の課題）
第１の実施形態で示した修正ＮＬベイズ法により、画素ごとのノイズ量が一定でない入力画像に対しても高精度にノイズを低減することが可能になる。ただし、第１の実施形態で示した方法では、入力画像中の被写体によっては本来のノイズ低減性能が発揮できない。なぜならば、事前確率をモデル化（仮定）するにあたって生成したパッチ集合が、常に着目パッチと十分に類似度が高い参照パッチだけで構成されているとは限らないからである。すなわち、修正ＮＬベイズ法の理論では、着目パッチと類似パッチのノイズ量が同じであることを仮定しており、この仮定が成り立たないと式（９）に基づいてノイズのない理想的な画像の画素値が従う事前確率を推定できない。パッチサイズに依存して、パッチ集合を構成する類似パッチ数が大量に必要になるため、一般的な被写体が撮影された入力画像においては、しばしばパッチ集合に類似していない参照パッチが含まれることになる。そこで、以下では、パッチのノイズ量の推定方法を工夫することによって、類似していないパッチが含まれるパッチ集合に対しても高精度にノイズ低減することを可能にする方法を示す。
【００９７】
（画像処理装置の機能構成例）
本実施形態に係る画像処理装置９００の機能構成例について、図９のブロック図を用いて説明する。図９に示した構成において、図２と同じ機能部には同じ参照番号を付しており、該機能部に係る説明は省略する。
【００９８】
推定部２０４’は、着目パッチ（類似パッチ集合）のノイズ量パラメータを推定する。設定部９０１は、入力された二枚の画像のそれぞれに対して第１の実施形態と同様に着目画素と参照画素とを設定する。設定部９０１に入力される二枚の画像とは、入力画像、画像合成部２０７で得られたノイズ低減後の画像（ノイズ低減後画像）、であり、設定する着目画素及び参照画素の座標は入力画像とノイズ低減後画像とで共通である。設定部９０２は、設定部９０１が入力画像およびノイズ低減後画像のそれぞれについて設定した着目画素の座標位置および参照画素の座標位置に基づいて、第１の実施形態と同様に、上記の二枚の画像に対して着目パッチと参照パッチとを設定する。生成部９０３は、ノイズ低減後画像に対応する複数の参照パッチの中から着目パッチとの類似度の高い参照パッチを選別し、入力画像およびノイズ低減後画像のそれぞれに対して類似パッチ集合を生成する。推定部９０４は、着目パッチ（類似パッチ集合）の第二ノイズ量パラメータを推定する。推定部９０５は、入力画像およびノイズ低減後画像のそれぞれについて生成した類似パッチ集合と第二ノイズ量パラメータとに基づいて、着目パッチ（とその類似パッチ）のノイズのない理想的な画素値が従う第二の事前確率をモデル化（仮定）する。処理部９０６は、入力画像に対応する類似パッチ集合を構成する各パッチのノイズを低減する。合成部９０７は、ノイズが低減された入力画像に対応する類似パッチ集合を構成する各パッチの合成（アグリゲーション）を行う。
【００９９】
（ノイズ量パラメータ推定の詳細）
＜＜ノイズ量パラメータ推定の課題＞＞
ノイズ量パラメータ推定部で推定したノイズ量パラメータは、着目パッチ（とその類似パッチ）のノイズのない理想的な画素値が従う事前確率モデルのパラメータの推定と、ノイズ低減処理で用いられることになる。このとき、修正ＮＬベイズ法では、着目パッチと類似パッチ集合を構成する類似パッチとのノイズ量が同じであることを前提として導出していることに注意する必要がある。すなわち、修正ＮＬベイズ法の理論の式（８）の
2019096222.tif 000047
に対応する左項のｅｘｐに存在するΣ−１は、着目パッチのノイズ分散の逆行列（＝逆数）を表す。一方で、同じ右項のｅｘｐに存在するＣｐ−１を算出するために式（９）においても同じΣを用いているが、これは類似パッチ集合を構成する各パッチのノイズ分散が着目パッチのノイズ分散と等しいことを意味する。つまり、式（９）の仮定が成り立ち、修正ＮＬベイズ法が理論上正しく適用できるのは、着目パッチに対して非常に類似度の高い類似パッチのみから構成される類似パッチ集合が構築されているときだけである。
【０１００】
また一方で、類似パッチ集合を構成する類似パッチ数には制約があり、それは（パッチサイズ×パッチサイズ＋１）以上という非常に大きい数である。その上、実際には、入力画像のノイズ量にもよるものの、安定した事前確率モデルパラメータを推定するために、この最低枚数よりもさらに多くの枚数の類似パッチが必要となる。そのため、一般的な被写体が撮影された入力画像においては、しばしば着目パッチに類似していない参照パッチも含めて類似パッチ集合を生成することになる。そのような場合でも高精度なノイズ低減効果を発揮するために、推定部２０４’は、着目パッチ（類似パッチ集合）のノイズ量パラメータを単純に着目パッチの画素値と式（１９）から推定するのではなく、次のように推定する。
【０１０１】
＜＜推定部２０４’の詳細＞＞
推定部２０４’の機能構成例について、図１０のブロック図を用いて説明する。算出部１００１は、類似パッチ集合を構成する各パッチに対する共通のノイズ量パラメータを推定するために、ノイズ量パラメータ推定用の画素値（推定用画素値）を算出する。推定部１００２は、算出部１００１で推定されたパッチの各画素値に基づいて式（１９）よりノイズ量パラメータを推定する。以下に、推定用画素値の算出方法とノイズ量パラメータ推定の一連の流れの詳細を示す。
【０１０２】
推定用画素値は、例えば類似パッチ集合を構成する全パッチの画素毎（画素位置毎）の平均値によって算出する。このとき、着目パッチと類似度の高い順に上位の一部のパッチに限定して平均値を算出しても良いし、重み付き平均値を用いても良い。ただし、必ず着目パッチと一枚以上の参照パッチを用いて算出する。これらの方法では、平均化に使用する画素数はパッチを構成する各画素で共通である。しかし、必ずしも各画素で平均化する画素数は共通である必要はなく、例えば次のように推定用画素値を算出してもよい。
（１）  類似パッチ集合を構成する全パッチの画素毎の平均値に基づいて式（１９）よりノイズ量パラメータを推定する。これを仮のノイズ量パラメータとする。式（１９）ではノイズ分散が推定されるため、仮のノイズ量パラメータの平方根をとってノイズ標準偏差を算出する。
（２）  パッチを構成する画素毎に、式（２３）で示すようにＳ／Ｎに基づいて平均化に使用する画素数を決定する。すなわち、Ｓ／Ｎの低い暗部ほど多くの画素で平均化することを意味する。
【０１０３】
【数２３】
2019096222.tif 000048
【０１０４】
（３）  パッチを構成する画素毎に、式（２３）で決定した画素数Ｃに基づいて着目パッチと類似度の高い上位Ｃ個の参照パッチとにおける対象画素の平均値を算出し、これを推定用画素値とする。
（４）  推定用画素値に基づいて式（１９）を用いてノイズ量パラメータを推定する。
【０１０５】
図１１は、このノイズ量パラメータを推定する一連の流れを示したものである。なお、（１）で仮のノイズ量パラメータを推定する際に使用する画素値は着目パッチの画素値でもよい。また、（２）で着目パッチの画素値を使用する代わりに類似パッチ集合を構成する全パッチの画素毎の平均値を使用することも考えられる。
【０１０６】
（生成部９０３の詳細）
生成部９０３は先ず、ノイズ低減後画像について第１の実施形態と同様にして類似パッチ集合を生成する。次に生成部９０３は、入力画像に対応する類似パッチ集合を同様にして生成するのであるが、その際、ノイズ低減後画像について生成した類似パッチ集合と同じ参照パッチを用いて、入力画像に対応する類似パッチ集合を生成する点が第１の実施形態と異なる。このようにすることで、ノイズのある入力画像ではなく、ノイズ低減後画像で算出した類似度に基づいて、参照パッチをより高精度に選別することが可能となる。
（第二事前確率推定の詳細）
推定部９０５の機能構成例について、図１３のブロック図を用いて説明する。算出部１３０２は、入力画像およびノイズ低減後画像のそれぞれについて生成した類似パッチ集合に基づいて分散共分散行列を算出し、これを第二分散共分散行列と呼ぶ。第二平均ベクトルと第二分散共分散行列は、以下の式（２４）に基づいて算出することができる。
【０１０７】
【数２４】
2019096222.tif 000049
【０１０８】
P1stは、１ｓｔＳＴＥＰ処理後（ノイズ低減後）画像の着目パッチ、Sim(P1st)は、１ｓｔＳＴＥＰ処理後の画像の類似パッチ集合を構成するパッチ（着目パッチと着目パッチの類似パッチ）である。また、
2019096222.tif 000050
は、入力画像の類似パッチ集合を構成する各パッチの列ベクトル、Ｎ２は、類似パッチ集合を構成するパッチの枚数である。また、
2019096222.tif 000051
は、入力画像の類似パッチ集合の平均列ベクトル、
2019096222.tif 000052
は、類似パッチ集合の分散共分散行列である。
【０１０９】
推定部１３０３は、着目パッチ（とその類似パッチ）のノイズのない理想的な画素値が従う事前確率モデルのパラメータを推定する。１ｓｔＳＴＥＰ処理後のノイズの低減された画像を用いて類似パッチ集合を生成し、分散共分散行列を算出することによって、事前確率パラメータを推定部５０３よりも高精度に推定する。また、式（２５）を仮定して、推定したい事前確率モデルのパラメータは、
2019096222.tif 000053
であるため、式（２４）で算出された
2019096222.tif 000054
、
2019096222.tif 000055
と式（２５）の仮定を用いて推定する。
【０１１０】
【数２５】
2019096222.tif 000056
【０１１１】
以上により、ノイズのない理想的な画素値が従う着目パッチ（とその類似パッチ）の多次元正規分布を表すパラメータをより高精度に推定できる。
【０１１２】
（第二画像パッチノイズ低減処理の詳細）
処理部９０６は、入力画像の類似パッチ集合を構成する各パッチのノイズを低減する。具体的には、式（２４）で得られたパラメータに基づいて、式（２６）の行列演算を行えばよい。ここで、Q2ndは最終的なノイズ低減後のパッチを表し、入力画像の類似パッチ集合を構成する各パッチ
2019096222.tif 000057
に対して求まる。
【０１１３】
【数２６】
2019096222.tif 000058
【０１１４】
以上より、パッチのノイズ量の推定方法を工夫することによって、類似していないパッチが含まれるパッチ集合に対しても高精度にノイズ低減することできる。また、1ｓｔＳＴＥＰの結果を用いて事前確率パラメータを推定し直し、２ｎｄＳＴＥＰの結果を算出したことによって、ノイズ低減精度をさらに向上させた結果が得られる。
【０１１５】
（ノイズ低減処理フロー）
次に、本実施形態に係る画像処理装置９００が行う、入力画像に対するノイズ低減処理について、図１４のフローチャートに従って説明する。図１４において図８に示した処理ステップと同じ処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
【０１１６】
ステップＳ１４０９では、ＣＰＵ１０１は、着目パッチ（類似画像パッチ集合）を構成する各画素のノイズ量を推定する。ステップＳ１４０９のノイズ量推定処理の詳細については後述する。
【０１１７】
ステップＳ１４１６では、ＣＰＵ１０１は、ステップＳ８１５で生成されたノイズ低減後画像と入力画像とに基づいてＳＴＥＰ２のノイズ低減処理を実施する。ステップＳ１４１６のＳＴＥＰ２のノイズ低減処理の詳細については後述する。
【０１１８】
（ステップＳ１４０９のノイズ量推定処理の詳細）
ステップＳ１４０９における処理の詳細について、図１５のフローチャートに従って説明する。ステップＳ１５０１では、ＣＰＵ１０１は、類似パッチ集合を構成する全パッチの画素値の平均値を算出し、該平均値に基づいて式（１９）により仮のノイズ量パラメータを推定し、該仮のノイズ量パラメータの平方根をとってノイズ標準偏差を算出する。
【０１１９】
ステップＳ１５０２では、ＣＰＵ１０１は、パッチを構成する画素毎に、式（２３）で示すようにＳ／Ｎに基づいて平均化に使用する画素数Ｃを決定する。ステップＳ１５０３では、ＣＰＵ１０１は、パッチを構成する画素毎に、ステップＳ１５０２で決定した画素数Ｃに基づいて着目パッチと類似度が高い順に上位Ｃ個の参照パッチとにおける対象画素の平均値を算出し、これを推定用画素値とする。ステップＳ１５０４では、ＣＰＵ１０１は、ステップＳ１５０３で算出した推定用画素値に基づいて式（１９）を用いてノイズ量パラメータを推定する。
【０１２０】
（ステップＳ１４１６のＳＴＥＰ２のノイズ低減処理の詳細）
ステップＳ１４１６における処理の詳細について、図１６のフローチャートに従って説明する。ステップＳ１６０１では、ＣＰＵ１０１は、入力画像の各画素に対応するカウンタ（第１の実施形態と同様のカウンタ）を０に初期化する。
【０１２１】
ステップＳ１６０２では、ＣＰＵ１０１は、入力画像およびノイズ低減後画像のそれぞれについて第１の実施形態と同様にして、着目座標位置と参照座標位置とを設定する。上記の通り、着目画素位置と参照画素位置は、ノイズ低減後画像と入力画像とで共通である。
【０１２２】
ステップＳ１６０３でＣＰＵ１０１は、入力画像およびノイズ低減後画像のそれぞれについて第１の実施形態と同様にして、着目パッチおよび複数の参照パッチを設定する。着目パッチと参照パッチのそれぞれの座標位置は、ノイズ低減後画像と入力画像とで共通である。
【０１２３】
ステップＳ１６０４では、ＣＰＵ１０１は、入力画像およびノイズ低減後画像のそれぞれについて、次の処理を行う。即ちＣＰＵ１０１は、ステップＳ１６０３で設定された複数の参照パッチから未選択（未処理）の参照パッチを１つ、選択参照パッチとして選択し、着目パッチと選択参照パッチとの類似度を算出する。類似度の算出にはノイズ低減後画像のみを用いる。
【０１２４】
ステップＳ１６０５では、ＣＰＵ１０１は、ステップＳ１６０３で設定された複数の参照パッチのうち選択参照パッチとして選択されていない参照パッチが残っているか否かを判断する。この判断の結果、ステップＳ１６０３で設定された複数の参照パッチのうち選択参照パッチとして選択されていない参照パッチが残っている場合には、処理はステップＳ１６０４に戻る。一方、ステップＳ１６０３で設定された複数の参照パッチのうち選択参照パッチとして選択されていない参照パッチが残っていない場合には、処理はステップＳ１６０６に進む。
【０１２５】
ステップＳ１６０６では、ＣＰＵ１０１は、入力画像およびノイズ低減後画像のそれぞれについて、次の処理を行う。即ちＣＰＵ１０１は、複数の参照パッチの中から着目パッチとの類似度の高い上位Ｎ枚の参照パッチを類似パッチとして選別し、該選別した類似パッチと該着目パッチとを含む類似パッチ集合を生成する。すなわち、ノイズ低減後画像に基づいて選別して類似パッチ集合を生成し、それと同じ座標値のパッチに基づく入力画像の類似パッチ集合を生成する。
【０１２６】
ステップＳ１６０７では、ＣＰＵ１０１は、ステップＳ１６０６で生成した類似パッチ集合の平均ベクトルを算出する。ステップＳ１６０８では、ＣＰＵ１０１は、ステップＳ１６０６で生成した類似パッチ集合の分散共分散行列を算出する。平均ベクトルと分散共分散行列の算出は式（２４）に基づいて行う。
【０１２７】
ステップＳ１６０９では、ＣＰＵ１０１は、着目パッチ（類似パッチ集合）を構成する各画素のノイズ量を推定する。具体的には上記の通り、ノイズ低減後画像の着目パッチの各画素の画素値を式（１９）に代入してノイズ分散を算出し、ノイズ量パラメータとして式（２０）の形で表す。なお、式（１９）への代入に使用する画素値はノイズ低減後画像の着目パッチの画素値に限らず、例えばノイズ低減後の類似パッチ集合の平均値でもよい。また、入力画像の画素値を用いても良い。ただし、一般的にはノイズ低減後画像を用いて推定した方がよい。
【０１２８】
ステップＳ１６１０では、ＣＰＵ１０１は、ステップＳ１６０７で求めた平均ベクトル、ステップＳ１６０８で求めた分散共分散行列、ステップＳ１６０９で求めたノイズ量パラメータ、に基づいて事前確率モデルを推定する。具体的には、式（２５）の仮定を用いて、１ｓｔＳＴＥＰのノイズ低減処理によってノイズを低減したノイズ低減後画像に基づいて算出された平均ベクトル、分散共分散行列をノイズのないときの平均ベクトルと分散共分散行列と考える。
【０１２９】
ステップＳ１６１１では、ＣＰＵ１０１は、入力画像の類似パッチ集合に含まれているパッチの中から未選択のパッチを１つ選択パッチとして選択する。そしてＣＰＵ１０１は、選択パッチに対して、式（２６）の行列演算に基づいてノイズを低減するノイズ低減処理を行う。
【０１３０】
ステップＳ１６１２では、ＣＰＵ１０１は、類似パッチ集合に含まれている全てのパッチを選択パッチとして選択したか否かを判断する。この判断の結果、類似パッチ集合に含まれている全てのパッチを選択パッチとして選択した場合には、処理はステップＳ１６１３に進む。一方、類似パッチ集合に含まれているパッチのうち選択パッチとして選択していないパッチが残っている場合には、処理はステップＳ１６１１に戻る。
【０１３１】
ステップＳ１６１３では、ＣＰＵ１０１は、ノイズ低減された全てのパッチ（入力画像）をＲＡＭ１０２やＨＤＤ１０３に保持し、入力画像における各パッチの画素位置に対応するカウンタを更新する。つまり、入力画像の各画素について、該画素に重なるパッチの数をカウントして該画素のカウンタの値に累積する。
【０１３２】
ステップＳ１６１４では、ＣＰＵ１０１は、ステップＳ１６０２で入力画像の全ての画素を着目画素として設定したか否かを判断する。この判断の結果、ステップＳ１６０２で入力画像の全ての画素を着目画素として設定した場合には、処理はステップＳ１６１５に進み、入力画像において未だ着目画素として設定してない画素が残っている場合には、処理はステップＳ１６０２に戻る。
【０１３３】
なお、このとき必ずしも入力画像の全ての画素を着目画素として設定する必要はなく、例えば類似パッチ集合として一度でも使用されたパッチは着目パッチとしないように設定してもよい。このようにすることで、一般的なケースにおいて、ノイズ低減効果にはそれほど影響を与えずに、処理を大幅に高速化することができる。
【０１３４】
ステップＳ１６１５では、ＣＰＵ１０１は、ステップＳ１６１３でＲＡＭ１０２やＨＤＤ１０３に保持している全てのノイズ低減された類似パッチ集合（入力画像）とカウンタに基づいてアグリゲーションを行う。そしてＣＰＵ１０１は、上記の処理によって得られるノイズ低減後画像（ＳＴＥＰ２のノイズ低減後画像）を出力する。第１の実施形態と同様、ＳＴＥＰ２のノイズ低減後画像の出力先は特定の出力先に限らない。
【０１３５】
このように、本実施形態によれば、類似していないパッチが含まれる類似パッチ集合に対しても高精度にノイズ低減することができる。したがって、デジタル撮像装置で生成された各画素に含まれているノイズ量が一定ではない一般的な画像のほとんど全てのケースで高精度にノイズを低減することが可能になる。
【０１３６】
［第３の実施形態］
第１，２の実施形態では、撮像装置１０５による撮像画像に対して画像処理装置１００（９００）がノイズ低減処理を行う例を説明したが、画像処理装置１００（９００）が行うものとして上述したノイズ低減処理を撮像装置１０５内で行うようにしても良い。この場合、撮像装置１０５に上記のノイズ低減処理用のハードウェアを設けて該ハードウェアにより上記のノイズ低減処理を行うようにしても良い。また、上記のノイズ低減処理用のコンピュータプログラムを撮像装置１０５のメモリに格納し、撮像装置１０５のプロセッサが該コンピュータプログラムを実行することで上記のノイズ低減処理を実行するようにしても良い。つまり、上記の画像処理装置１００（９００）の構成を撮像装置１０５に組み込むようにしても良い。
【０１３７】
また、画像処理装置１００（９００）は、ネットワークを介してクライアント装置から送信された撮像画像に対してノイズ低減処理を行い、ノイズ低減後画像を自身に登録する若しくはクライアント装置に対して返信するようなシステムを構成しても良い。
【０１３８】
［第４の実施形態］
上記の通り、第１の実施形態において生成したノイズ低減後画像や第２の実施形態において生成したＳＴＥＰ２のノイズ低減後画像の出力先は特定の出力先に限らない。例えばＣＰＵ１０１は、入力画像、第１の実施形態において生成したノイズ低減後画像、第２の実施形態において生成したＳＴＥＰ２のノイズ低減後画像、を並べて若しくは切り替え可能にモニタ１０８に表示させるようにしても良い。この３つの画像の画像のうち１つ以上を表示するようにしても良い。その際の表示方法は特定の表示方法に限らない。
【０１３９】
また、ＣＰＵ１０１は、第１の実施形態において生成したノイズ低減後画像をモニタ１０８に表示すると共に、更なるノイズ低減処理（図１６のフローチャートに従った処理）を実行するか否かをユーザに問い合わせる画面をモニタ１０８に表示してもよい。この場合、ユーザが入力装置１０６を操作して更なるノイズ低減処理の実行指示を入力した場合には、ＣＰＵ１０１は図１６のフローチャートに従った処理を行う。
【０１４０】
また、以上説明した各実施形態の一部若しくは全部を適宜組み合わせても構わない。また、以上説明した各実施形態の一部若しくは全部を選択的に使用しても構わない。また、以上説明した各処理のうち処理の内容によっては一部の処理の処理順を上記の処理順から変更しても構わないし、一部の処理を並列で行うようにしても良い。
【０１４１】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１４２】
２０１：画素設定部  ２０２：パッチ設定部  ２０３：生成部  ２０４：推定部  ２０５：推定部  ２０６：処理部  ２０７：画像合成部
【図１】
2019096222.tif 000064
【図２】
2019096222.tif 000065
【図３】
2019096222.tif 000066
【図４】
2019096222.tif 000067
【図５】
2019096222.tif 000068
【図６】
2019096222.tif 000069
【図７】
2019096222.tif 000070
【図８】
2019096222.tif 000071
【図９】
2019096222.tif 000072
【図１０】
2019096222.tif 000073
【図１１】
2019096222.tif 000074
【図１２】
2019096222.tif 000075
【図１３】
2019096222.tif 000076
【図１４】
2019096222.tif 000077
【図１５】
2019096222.tif 000078
【図１６】
2019096222.tif 000079