(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-25
(45)【発行日】2024-01-09
(54)【発明の名称】画像処理装置、画像処理方法およびプログラム
(51)【国際特許分類】
H04N 5/213 20060101AFI20231226BHJP
G06T 5/70 20240101ALI20231226BHJP
【FI】
H04N5/213
G06T5/00 705
(21)【出願番号】P 2020022180
(22)【出願日】2020-02-13
【審査請求日】2023-02-06
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】高田 洋佑
【審査官】三沢 岳志
(56)【参考文献】
【文献】特開2019-101686(JP,A)
【文献】特開2017-041732(JP,A)
【文献】特開2018-185586(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/213
G06T 5/00
(57)【特許請求の範囲】
【請求項1】
画像のノイズを低減する画像処理装置であって、
前記画像中に複数のパッチを設定する設定手段と
前記複数のパッチに基づいて共分散行列を算出する算出手段と
前記共分散行列を用いて前記複数のパッチに含まれる画素に対して、第1の補正を行う第1の補正手段と、
前記複数のパッチに含まれる前記第1の補正前の画素に対して、前記第1の補正とは異なる第2の補正を行う第2の補正手段と、
前記第1の補正後の前記複数のパッチそれぞれに異常があるか否かを判定する判定手段と、
前記判定手段により異常と判定されたパッチに含まれる前記第1の補正後の画素を前記第2の補正の結果で修正する修正手段と、
前記第1の補正後の画素もしくは、前記修正された画素で出力画像を生成する生成手段と、を有することを特徴とする画像処理装置。
【請求項2】
前記判定手段は、前記第1の補正前の複数のパッチそれぞれの統計量と前記第1の補正後の複数のパッチそれぞれの統計量との変化量を算出し、前記変化量が所定の値よりも大きい前記第1の補正後のパッチは異常であると判定することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記統計量は、パッチに含まれる画素の標準偏差と、分散と、最大値の画素と、最小値の画素と、の少なくともいずれか一つであり、
前記変化量は、差分と、比率との少なくともいずれか一つに基づき算出されることを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記判定手段は、前記第1の補正前の複数のパッチそれぞれの画素と前記第1の補正後の複数のパッチそれぞれの画素との差分を算出し、前記差分が所定の値よりも大きい場合に当該画素は異常であると判定する第一の判定手段を有し、当該判定手段の判定に基づき、前記第1の補正後のパッチは異常であるか否かを判定することを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記所定の値は、前記複数のパッチに含まれる画素から算出した統計量であることを特徴とする請求項2または請求項4に記載の画像処理装置。
【請求項6】
前記判定手段は、第一の判定手段で異常であると判定された画素数が所定の値よりも大きい前記第1の補正後のパッチは異常であると判定することを特徴とする請求項4に記載の画像処理装置。
【請求項7】
前記第2の補正手段は、前記複数のパッチに含まれる前記第1の補正前の画素に対してローパスフィルタを適用するか、前記複数のパッチに含まれる前記第1の補正前の画素と同じ値を出力するか、前記複数のパッチに含まれる前記第1の補正前の画素の平均値を出力することを特徴とする請求項1乃至請求項6のいずれか1項に記載の画像処理装置
【請求項8】
画像のノイズを低減する画像処理方法であって、
設定手段が、前記画像中に複数のパッチを設定する設定工程と
算出手段が、前記複数のパッチに基づいて共分散行列を算出する算出工程と
第1の補正手段が、前記共分散行列を用いて前記複数のパッチに含まれる画素に対して、第1の補正を行う第1の補正工程と、
第2の補正手段が、前記複数のパッチに含まれる前記第1の補正前の画素に対して、前記第1の補正とは異なる第2の補正を行う第2の補正工程と、
判定手段が、前記第1の補正後の前記複数のパッチそれぞれに異常があるか否かを判定する判定工程と、
修正手段が、前記判定工程で異常と判定されたパッチに含まれる前記第1の補正後の画素を前記第2の補正の結果で修正する修正工程と、
生成手段が、前記第1の補正後の画素もしくは、前記修正された画素で出力画像を生成する生成工程と、を有することを特徴とする画像処理方法。
【請求項9】
コンピュータを、
画像のノイズを低減する画像処理装置であって、
前記画像中に複数のパッチを設定する設定手段と
前記複数のパッチに基づいて共分散行列を算出する算出手段と
前記共分散行列を用いて前記複数のパッチに含まれる画素に対して、第1の補正を行う第1の補正手段と、
前記複数のパッチに含まれる前記第1の補正前の画素に対して、前記第1の補正とは異なる第2の補正を行う第2の補正手段と、
前記第1の補正後の前記複数のパッチそれぞれに異常があるか否かを判定する判定手段と、
前記判定手段により異常と判定されたパッチに含まれる前記第1の補正後の画素を前記第2の補正の結果で修正する修正手段と、
前記第1の補正後の画素もしくは、前記修正された画素で出力画像を生成する生成手段と、を有することを特徴とする画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像のノイズ低減を行う画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【0002】
従来、カメラで撮影した画像に含まれるノイズを抑制するため、画像中の複数画素からなるパッチに着目し、パッチベースでノイズを低減する技術が知られている。非特許文献1に記載された処理は、撮影画像中の複数のパッチからなるパッチ集合を選び出してその平均と共分散行列で表されるパッチの確率モデルを生成し、パッチ集合を構成するパッチ各々に対して最大事後確率法に基づいたノイズ低減処理を行う。そして、ノイズ低減処理されたパッチを用い出力画像を生成する。この時、前記共分散行列の逆行列である逆共分散行列を算出し、これに基づいてノイズ低減処理後の画素値を決定する。
【先行技術文献】
【非特許文献】
【0003】
【文献】Implementation of the “Non-Local Bayes” (NL-Bayes) Image Denoising Algorithm。 Image Processing On Line, 3 (2013), pp. 1-42.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術ではノイズ低減処理後のパッチ内の画素の値が異常値になる場合があり、結果として出力画像が破綻する可能性があった。
【0005】
本発明は、上記課題を鑑みてなされたものであり、ノイズ低減処理後の出力画像の破綻を抑制することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、画像のノイズを低減する画像処理装置であって、前記画像中に複数のパッチを設定する設定手段と、前記複数のパッチに基づいて共分散行列を算出する算出手段と、前記共分散行列を用いて前記複数のパッチに含まれる画素に対して、第1の補正を行う第1の補正手段と、前記複数のパッチに含まれる前記第1の補正前の画素に対して、前記第1の補正とは異なる第2の補正を行う第2の補正手段と、前記第1の補正後の前記複数のパッチそれぞれに異常があるか否かを判定する判定手段と、前記判定手段により異常と判定されたパッチに含まれる前記第1の補正後の画素を前記第2の補正の結果で修正する修正手段と、前記第1の補正後の画素もしくは、前記修正された画素で出力画像を生成する生成手段と、を有することを特徴とする。
【発明の効果】
【0007】
本発明によれば、ノイズ低減処理後の出力画像の破綻を抑制することが出来る。
【図面の簡単な説明】
【0008】
【
図4】実施形態1の第1の補正処理のフローチャート
【
図8】実施形態2の第1の異常判定のフローチャート
【
図9】実施形態2の第2の異常判定のフローチャート
【発明を実施するための形態】
【0009】
(実施形態1)
本実施形態では、パッチベースのノイズ低減処理において共分散行列を用いた補正の異常を判定して、異常な場合に出力画像の破綻を回避する方法を説明する。
【0010】
本実施形態では、着目パッチとその周辺の小領域のノイズ量に基づいて適応的に類似パッチ数を決定することで、好適な画質を得るノイズ低減処理の例について述べる。
【0011】
図1は、本実施形態に係るハードウェア構成を示すブロック図である。
図1において、画像処理装置はCPU101、RAM102、HDD103、汎用インターフェース(I/F)104、モニタ108、及びメインバス109を備える。汎用I/Fは、カメラなどの撮像装置105や、マウス、キーボードなどの入力装置106、及びメモリカードなどの外部メモリ107をメインバス109に接続する。
【0012】
以下では、CPU101がHDD103に格納された各種ソフトウェア(コンピュータプログラム)を動作させることで実現する各種処理について述べる。
【0013】
まず、CPU101はHDD103に格納されている画像処理アプリケーションを起動し、RAM102に展開するとともに、モニタ108にユーザインターフェース(UI)を表示する。続いて、HDD103や外部メモリ107に格納されている各種データ、撮像装置105で撮影された画像データ、入力装置106からの指示などがRAM102に転送される。さらに、画像処理アプリケーション内の処理に従って、RAM102に格納されているデータはCPU101からの指令に基づき各種演算される。演算結果はモニタ108に表示したり、HDD103または外部メモリ107に格納したりする。なお、HDD103や外部メモリ107に格納されている画像データがRAM102に転送されてもよい。また、不図示のネットワークを介してサーバから送信された画像データがRAM102に転送されてもよい。
【0014】
上記の構成に於いて、CPU101からの指令に基づき、画像処理アプリケーションに画像データを入力してノイズを低減した画像データを生成し、出力する処理の詳細について説明する。
【0015】
ここで、パッチベースのノイズ低減処理の概要について説明する。入力画像データの一部を切りだした部分画像をパッチと呼ぶ。着目パッチ近傍の所定の参照領域に存在する複数のパッチを参照パッチとし、着目パッチに対応したノイズ低減処理をする際に参照する。パッチベースのノイズ低減処理では、参照パッチのうち、着目パッチの画素値分布と類似したパッチを類似パッチとして検出し、それらをパッチ集合とする。なお、複数の参照パッチの中には着目パッチ自身が含まれていても構わない。パッチ集合に基づいて、各類似パッチに対してノイズ低減処理を実行する。ノイズを低減した類似パッチを集約(Aggregation)することにより、入力画像データに対してノイズ低減処理した画像を生成する。
【0016】
図2は、本実施形態にかかる画像処理のブロック図である。
【0017】
画像入力部201は、入力画像データを取得する。
【0018】
着目パッチ設定部202は、入力画像データから所定の形状の部分画像を切り出し着目パッチとする。本実施形態では、所定の形状を6画素×6画素の正方形とする。
【0019】
類似パッチ検出部203は、着目パッチ近傍の所定の参照領域に存在する複数のパッチを参照パッチとして設定し、参照パッチの内で着目パッチに類似するものを類似パッチとして検出する。各参照パッチは着目パッチと同一の形状である。また、本実施形態では類似パッチの中に着目パッチを含むものとする。
【0020】
共分散行列算出部204は、複数の類似パッチに基づいて共分散行列を算出する。
【0021】
第1の補正部205は、共分散行列を用いて複数の類似パッチを補正する。
【0022】
異常判定部206は、補正した複数の類似パッチ各々に対して、異常であるか否(正常である)かを判定する。
【0023】
第2の補正部207は、異常判定部206で異常と判定された場合に、第1の補正前のパッチに対して、第1の補正とは異なる補正を行う。パッチ修正部208は、第2の補正による結果を用いて複数の類似パッチを修正する。パッチ集約部209は、補正された複数の類似パッチを集約(Aggregation)して、ノイズ低減された出力画像を生成する。
【0024】
パッチベースのノイズ低減処理において、複数の類似パッチの補正前後の変化から補正後のパッチの異常を判定する異常判定部を持ち、異常である場合は別の補正を行ってパッチを修正する点が本発明の特徴である。本実施形態では、2つの異なる補正処理部を持ち、異常判定部の判定結果に応じて2つの補正処理部による補正結果を選択して用いる構成を説明する。本実施形態では、処理対象パッチについて、第1の補正結果が異常であると判定された場合にのみ、第2の補正部207が当該パッチを補正し、パッチ修正部208が補正された結果を用いて当該パッチを修正する構成について説明する。
【0025】
図3は、本実施形態にかかる画像処理のフローチャートである。
【0026】
ステップS301で画像入力部201は、入力画像データを取得する。また、集約用画像データをゼロで初期化する。集約用画像データは分母画像データと分子画像データからなり、いずれも入力画像データと同じ画素数である。
【0027】
ステップS302で着目パッチ設定部202は、着目パッチを1つ設定する。一般に1つの入力画像データに対して複数のパッチを着目パッチとして設定することができる。本ステップ以降の処理は、設定する着目パッチの位置を変えて繰り返し実行される。その際、すべてのパッチを1回ずつ着目パッチとして設定するように制御してもよいし、一部のパッチのみを着目パッチとして設定するように制御してもよい。本実施形態では、左上からラスタ順に全てのパッチを着目パッチとして設定する。前述の通り、本実施形態では入力画像データから6画素×6画素の正方形の部分画像を切り出し着目パッチとする。つまり着目パッチは36画素からなる。以下では、着目パッチを、36画素を縦に並べた列ベクトルTで表す。一般に着目パッチがM画素からなる場合、着目パッチを、M画素を縦に並べた列ベクトルTで表す。
【0028】
ステップS303で類似パッチ検出部203は、類似パッチを検出する。まず、着目パッチT近傍の所定の参照領域に存在する複数のパッチを参照パッチとして設定する。各参照パッチの形状は、着目パッチTの形状と一致する。以下では、i番目の参照パッチを、M画素を縦に並べた列ベクトルR_iで表す。次に、複数の参照パッチそれぞれについて、着目パッチTとの類似度を算出する。類似度は、参照パッチと着目パッチTの、各画素の差分二乗和(SSD)により算出される。具体的には、i番目の参照パッチR_iの類似度SSD_iは以下の式(1)で算出される。
【0029】
【0030】
ここで、ベクトルTのj番目の成分(画素値)をT(j)で表している。この算出方法から明らかなように、類似度SSD_iの値が小さいほど、参照パッチR_iが着目パッチTに類似していることを意味する。さらに、複数の参照パッチの内から、類似度に基づいて一部のパッチを類似パッチとして検出する。本実施形態では、予め定める閾値より類似度が小さいパッチを類似パッチとして検出する。ここで検出された類似パッチの個数をNとし、i番目の類似パッチをP_iで表す。
【0031】
ステップS304で共分散行列算出部204は、複数の類似パッチに基づいて共分散行列を算出する。まず、複数の類似パッチに基づいて基準パッチQを以下の式(2)で算出する。
【0032】
【0033】
次に、基準パッチQを用いてノイズ量パッチVを以下の式(3)で算出する。
【0034】
【0035】
ここで、kは定数、V_0は基準パッチQと同じ形状のベクトルであり、いずれも予め定めて保存しておく。
【0036】
そして、複数の類似パッチに基づき基準パッチQを用いて、共分散行列Cを以下の式(4)で算出する。
【0037】
【0038】
ここでは、パッチを表すベクトルを行列とみなし、行列としての演算を行う。tは行列の転置である。ステップS305で、第1の補正部205は、複数の類似パッチに対して第1の補正処理を行う。
図4は第1の補正処理のフローチャートである。各ステップは全て第1の補正部205が行う。以下では、第1の補正を行う前の類似パッチを第1補正前パッチ、第1の補正を行った後の類似パッチを第1補正後パッチと表す。
【0039】
ステップS401で、ステップS304で算出した共分散行列Cの逆行列である逆共分散行列C^-1を算出する。
【0040】
ステップS402で、補正行列Hを以下の式(5)で算出する。
【0041】
【0042】
ここでdiag(V)は主対角上にベクトルVの要素をもつ正方対角行列を表す。
【0043】
ステップS403で、複数の類似パッチそれぞれP_iに対応する補正済みパッチO_iを以下の式(6)で算出する。
【0044】
【0045】
ステップS306で、異常判定部206は、第1補正後パッチに対して異常判定を行う。
図5は異常判定のフローチャートである。各ステップは全て異常判定部206が行う。
【0046】
ステップS501で、異常判定結果を記憶する判定データを初期化する。判定データには、全処理対象パッチについて正常(=「0」)か異常(=「1」)かを判定した結果と、全処理対象パッチの画素位置が記憶される。
【0047】
ステップS502で、第1補正前パッチと第1補正後パッチの中から処理対象パッチをそれぞれ1つ選択する。第1補正前パッチから選択したパッチを処理対象パッチI、第1補正後パッチから選択したパッチを処理対象パッチI’とする。さらに、選択する両パッチは画素位置が一致するものとする。
【0048】
ステップS503で、処理対象パッチIと処理対象パッチI’各々について標準偏差σ_I、σ_I’を算出する。
【0049】
ステップS504で、以下の式(7)に基づいて、標準偏差σ_I、σ_I’の比率と閾値thを比較する。
【0050】
【0051】
比率が閾値th以上である場合は変化が大きいとしてS505に進み、そうでない場合にS506に進む。ここで、閾値thはあらかじめ設定された値でも良いし、パッチに含まれる各画素の統計量(平均値、分散)に基づく算出されるようにしても良い。
【0052】
ステップS505で、処理対象パッチI’が異常であると判定し、判定データに処理対象パッチI’の画素位置と判定結果である「1」を出力する。
【0053】
ステップS506で、処理対象パッチI’が正常であると判定し、判定データに処理対象パッチI’の画素位置と判定結果である「0」を出力する。
【0054】
ステップS507で、全ての処理対象パッチが処理済みであるか否かを判定する。全ての処理対象パッチが処理済みである場合は異常判定処理を終了し、そうでない場合はS502に進む。
【0055】
ステップS307で、異常判定部206は、判定データに基づき全ての第1補正後パッチに対して補正結果が異常であるか否かを判定する。異常と判定された第1補正後パッチは、ステップS308へ進み、正常と判定された第1補正後パッチは、ステップS309に進む。
【0056】
ステップS308で、第2の補正部207は、異常と判定された第1補正後パッチに画素位置が対応する第1補正前パッチに対して、第2の補正を行う。第2の補正は、第1の補正とは異なる処理であり、本実施形態では、平均値フィルタを適用する。
【0057】
ステップS309で、パッチ修正部208は、第2の補正結果を用いて第1補正後パッチを修正する。具体的には、第1補正後パッチを第2の補正結果に置換する。
【0058】
ステップS310において、全ての着目パッチが処理済みであるか否かを判定する。全ての着目パッチが処理済みである場合にS311に進み、そうでない場合にS302に進む。
【0059】
ステップS311で、パッチ集約部209は、第1或いは第2の補正が成された複数の補正済みパッチに基づき集約用画像データを編集する。前述の通り、集約用画像データは分母画像データと分子画像データからなる。複数の補正済みパッチO_iそれぞれについて、全画素の値を分子用画像データの対応する位置に加算する。この位置は、入力画像データにおいて各画素が存在した位置である。また、分母用画像における同じ位置に1を加算する。
【0060】
以上が本実施形態の画像処理のフローである。
【0061】
以上の処理により、共分散行列を用いたパッチベースのノイズ低減処理において、ノイズ低減後に異常が生じた場合でも当該異常を修正し、好適な出力画像を得ることができる。
【0062】
なお、本実施形態の処理は、各種の形式の画像データに適用できる。例えばモノクロ画像に対して適用できるし、複数の色成分からなるカラー画像にも適用できるし、Bayer配列の画像にも適用できる。
【0063】
また、参照パッチと着目パッチTの類似度を、各画素の差分二乗和(SSD)により算出したが、他の方法で算出してもよい。例えば、各画素の差分絶対値和(SAD)で算出してもよいし、各画素の差分の絶対値の最大値、最小値、平均値、中央値などを用いてもよい。
【0064】
また、異常判定として、第1補正前パッチと第1補正後パッチの中から処理対象パッチをそれぞれ1つ選択し、パッチの標準偏差の比率と閾値thとを比較したが、他の方法で異常を判定してもよい。例えば、パッチの分散、平均、最小値、最大値など他の統計量の比もしくは差分を用いてもよい。また、比もしくは差分以外でも、変化量が分かれば良い。
【0065】
また、第2の補正として、第1補正前パッチに平均値フィルタを適用する例について述べたが、他の方法で補正してもよい。例えば、第1補正前パッチにガウシアンフィルタのようなノイズを低減可能なローパスフィルタを適用してもよい。他に、第1補正前パッチに対して、異常と判定された画素のみ補正を行わず、補正前の値をそのまま出力してもよいし、パッチ内の数画素から算出した平均画素値を出力してもよい。
【0066】
また、基準パッチを、複数の類似パッチの平均で算出したが、これに限らない。例えば、基準パッチの各画素の値を、複数の類似パッチの対応する画素の中央値や最小値などで定めても良い。共分散行列の異常を判定する異常判定部を持ち、共分散行列が正常であると判定された場合に通常の「パッチベースのノイズ低減処理」を行う。一方で、共分散行列が異常であると判定された場合には通常の「パッチベースのノイズ低減処理」とは異なる補正処理を行うことが本実施形態の主眼である。この補正処理は、本実施形態で説明したものに限らない。例えば、補正済みパッチを、補正対象の類似パッチ、基準パッチ、あるいはそれらの線形和として算出するなどの方法がある。
【0067】
(実施形態2)
実施形態1では、補正されたパッチが異常であるか否かの判定をパッチ単位で行い、パッチ単位で修正処理を行う例について説明した。本実施形態では、補正されたパッチが異常であるか否かの判定処理を2段階で行う方法を説明する。
【0068】
具体的には、処理対象パッチ内の画素毎に異常判定する処理(1段階目)に加えて、1段階目の異常判定結果で異常と判定された画素の数を用いて処理対象パッチが異常であるか否かの判定処理(2段階目)を行う方法を説明する。実施形態1と共通の部分は説明を省略する。
【0069】
図6は、本実施形態にかかる画像処理のブロック図である。
【0070】
第1の異常判定部601は、第1の補正を行った類似パッチ(=第1補正後パッチ)各々に対して、画素毎に異常であるか否(正常である)かを判定する。
【0071】
第2の異常判定部602は、より高精度に異常を判定するために、第1の異常判定結果を用いて第2の異常判定を行う。
【0072】
第2の補正部603は、第2の異常判定部602で異常と判定された場合に、第1の補正前のパッチに対して、第1の補正とは異なる補正を行う。
【0073】
図7は、本実施形態にかかる画像処理のフローチャートである。
【0074】
ステップS701で、第1の異常判定部601は、第1補正後パッチに対して異常判定を行う。
【0075】
図8は、第1の異常判定のフローチャートである。各ステップは全て第1の異常判定部601が行う。
【0076】
ステップS801で、第1の異常判定結果を記憶する第1判定データを初期化する。第1判定データには、全処理対象パッチについて画素毎に正常(=「0」)か異常(=「1」)かを判定した結果と、処理対象パッチ毎に異常と判定された画素をカウントした値CNTと、パッチの画素位置が記憶される。CNTはゼロで初期化しておく。
【0077】
ステップS802は、ステップS502と同様の処理である。
【0078】
ステップS803で、処理対象パッチIと処理対象パッチI’から同じ位置の画素をそれぞれ1つ選択する。選択した画素を順にI_j、I’_jとする。
【0079】
ステップS804で、画素I_j、I’_jの差分絶対値と閾値th1を比較する。ここで、閾値th1は、ノイズ量パッチVと予め定めた係数mを用いて以下の式(8)で算出される。
【0080】
【0081】
差分絶対値が閾値th1以上である場合にS805に進み、そうでない場合にS806に進む。
【0082】
ステップS805で、第1判定データのCNTを1つインクリメントし、併せて画素位置も記憶しておく。
【0083】
ステップS806で、処理対象パッチ内の全画素が選択済みであるか否かを判定する。処理対象パッチ内の全画素が選択済みである場合は第1の異常判定処理を終了し、そうでない場合はS803に進む。
【0084】
ステップS807で、全ての処理対象パッチが処理済みであるか否かを判定する。全ての処理対象パッチが処理済みである場合は第1の異常判定処理を終了し、そうでない場合はS802に進む。
【0085】
ステップS702で、第2の異常判定部602は、第1の異常判定が行われたパッチに対して第1判定データに基づいて第2の異常判定を行う。
【0086】
図9は、第2の異常判定のフローチャートである。各ステップは全て第2の異常判定部602が行う。
【0087】
ステップS901で、第1判定データを読み込み、第2判定データを初期化する。第2判定データには、全処理対象パッチについて正常(=「0」)か異常(=「1」)かを判定した結果と、全処理対象パッチの画素位置が記憶される。
【0088】
ステップS902で、ステップS502と同様の処理である。
【0089】
ステップS903で、CNTと予め設定しておいた閾値th2を比較する。閾値th2は、処理対象パッチを内の画素数のx%として設定し、例えばx=10の場合、th2=3(小数点切り捨て)となる。CNTが閾値2以上である場合にS904に進み、そうでない場合にS905に進む。
【0090】
ステップS904で、処理対象パッチI’が異常であると判定し、判定データに処理対象パッチI’の画素位置と判定結果である「1」を出力する。
【0091】
ステップS905で、処理対象パッチI’が正常であると判定し、判定データに処理対象パッチI’の画素位置と判定結果である「0」を出力する。
【0092】
ステップS906で、全ての処理対象パッチが処理済みであるか否かを判定する。全ての処理対象パッチが処理済みである場合は第2の異常判定処理を終了し、そうでない場合はS902に進む。
【0093】
ステップS703で、第2の補正部603は、第1補正前パッチに対して、第2の補正を行う。第2の補正は、第1の補正とは異なる処理であり、本実施形態では、第1補正前パッチに対して、第1の異常判定でカウントアップされた画素のみを用いて平均値フィルタを適用する。
【0094】
以上、補正されたパッチが異常であるか否かの判定処理を2段階で行うことで、より精度良く第1の補正処理の異常結果を修正し、好適な出力画像を得ることができる。
【0095】
なお、異常判定として、第1補正前パッチと第1補正後パッチの中から処理対象パッチをそれぞれ1つ選択し、各パッチ内の同位置の画素毎に画素値の差分絶対値と閾値thとを比較したが、他の方法で異常を判定してもよい。例えば、処理対象パッチ内の各画素の画素値とノイズ量パッチV_iの平方根との差分を比較してもよい。或いは、処理対象パッチ内の全画素の平均値と当該パッチ内の各画素との差分を比較してもよい。
【0096】
(その他の実施形態)
本発明は、前述の各実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける一つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。
【0097】
また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0098】
前述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。
【0099】
即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。例えば、二次関数係数演算部の一部は上位の制御手段から与えられる演算開始信号によって動作し、演算結果を保持しておき、画像が入力されている間は、ここで保持したデータ参照するのみにすることで電力を削減することが可能である。