(57)【要約】【課題】補正効果を保ちつつ計算量を抑えるようにする。【解決手段】画像処理装置（ノイズ低減処理部）は、画像のなかで着目領域に設定される位置を移動させるように更新する処理（Ｓ５０１）と、更新が行われるごとに、着目領域の周囲の画像領域から、着目領域に類似する類似領域を抽出する処理（Ｓ５０２）と、更新が行われるごとに、少なくとも類似領域に含まれる画素の値を基に、着目領域および類似領域に含まれる画素の値を補正する処理（Ｓ５０３）と、を有し、補正する処理（Ｓ５０３）では、画像領域のなかの比較領域と着目領域との類似性を表す情報、および、画像領域のなかで着目領域および類似領域に対する補正の実施度合いに基づいて、類似領域を抽出する。【選択図】図５
2020102114.tif 000002
【特許請求の範囲】
【請求項１】
画像のなかで着目領域に設定される位置を移動させるように更新する更新手段と、
前記更新が行われるごとに、前記着目領域の周囲の画像領域から、前記着目領域に類似する類似領域を抽出する抽出手段と、
前記更新が行われるごとに、少なくとも前記類似領域に含まれる画素の値を基に、前記着目領域および前記類似領域に含まれる画素の値を補正する補正手段と、を有し、
前記抽出手段は、前記画像領域のなかの比較領域と前記着目領域との類似性を表す情報、および、前記画像領域のなかで前記着目領域および前記類似領域に対する前記補正の実施度合いに基づいて、前記類似領域を抽出することを特徴とする画像処理装置。
【請求項２】
前記補正手段は、前記着目領域として前記補正が行われた画素の値と、前記類似領域として前記補正が行われた画素の値との少なくともいずれかを用いて、前記画素の値をさらに補正することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記更新手段は、前記着目領域を移動させる更新先の位置の各画素に対する前記補正の実施度合いに応じて、前記更新先の位置を着目領域に設定せずにスキップすることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記補正の実施度合いは、前記着目領域を移動させる更新先の位置の各画素に対する前記補正が実施された回数に対応することを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
前記補正手段は、前記補正としてノイズ低減処理を行うことを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項６】
前記抽出手段は、
前記比較領域と前記着目領域の画素値の差分絶対値和を、前記類似性を表す類似度として算出し、
前記類似度が所定の閾値以下で、かつ、前記補正の実施度合いが所定値未満の比較領域を、前記類似領域として抽出することを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
前記抽出手段は、前記類似領域として抽出される領域数を、上限値と下限値の少なくともいずれかを基に調整することを特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項８】
前記抽出手段は、前記画像のノイズレベルと、前記着目領域の画素数との、少なくともいずれかに基づいて、前記上限値と前記下限値を設定することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記抽出手段は、前記補正の実施度合いが所定値未満の比較領域を優先するように選択して、所定個数の前記類似領域を抽出することを特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項１０】
前記抽出手段は、前記優先して選択した比較領域の数が所定個数以上である場合、前記所定個数以上の前記比較領域のなかから、前記類似性が高い順に、前記所定個数の比較領域を選択して、前記類似領域として抽出することを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記抽出手段は、前記優先して選択した比較領域の数が所定個数未満である場合、前記補正の実施度合いが所定値以上の比較領域のなかから、前記優先して選択した比較領域の数が前記所定個数から不足している数の比較領域を、前記類似性が高い順に選択し、前記優先して選択した比較領域と合わせて前記類似領域として抽出することを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記抽出手段は、前記選択を行っても前記所定個数に満たない場合には、前記選択がなされていない比較領域のなかから、前記類似性が高い順に選択した比較領域を加えて、前記類似領域の数を前記所定個数にすることを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記所定個数は、前記画像のノイズレベルが高いほど大きくすることを特徴とする請求項９から１２のいずれか１項に記載の画像処理装置。
【請求項１４】
画像処理装置が実行する画像処理方法であって、
画像のなかで着目領域に設定される位置を移動させるように更新する更新工程と、
前記更新が行われるごとに、前記着目領域の周囲の画像領域から、前記着目領域に類似する類似領域を抽出する抽出工程と、
前記更新が行われるごとに、少なくとも前記類似領域に含まれる画素の値を基に、前記着目領域および前記類似領域に含まれる画素の値を補正する補正工程と、を有し、
前記抽出工程では、前記画像領域のなかの比較領域と前記着目領域との類似性を表す情報、および、前記画像領域のなかで前記着目領域および前記類似領域に対する前記補正の実施度合いに基づいて、前記類似領域を抽出することを特徴とする画像処理方法。
【請求項１５】
コンピュータを、請求項１から１３のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影等された画像のノイズを低減する技術に関する。
【背景技術】
【０００２】
近年、デジタルカメラ等の画像処理装置では、ノイズ低減処理等の各種補正処理の高性能化が進んでいる。ノイズ低減処理において、ある着目画素のノイズを充分に低減するためには、その着目画素の周辺の広い範囲の画素情報を用いた処理を行う必要がある。またノイズ低減処理では、ノイズを低減しつつ、画像内のテクスチャの情報が失われないようにする必要がある。
【０００３】
特許文献１には、入力画像から、類似した画像領域を抽出した画像パッチの集合を生成し、その集合に属する全ての画像パッチに対して、画像パッチごとに異なるパラメータのノイズ低減処理を行い、その処理後の画像パッチを合成する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−０２６６６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の技術では、各画像パッチの集合に属する全ての画像パッチに対して平均ベクトルや分散共分散行列、分散共分散行列の固有ベクトル等の算出処理を行う必要があり、補正処理時の計算量が膨大になってしまう。
【０００６】
そこで、本発明は、補正効果を保ちつつ計算量を抑えることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の画像処理装置は、画像のなかで着目領域に設定される位置を移動させるように更新する更新手段と、前記更新が行われるごとに、前記着目領域の周囲の画像領域から、前記着目領域に類似する類似領域を抽出する抽出手段と、前記更新が行われるごとに、少なくとも前記類似領域に含まれる画素の値を基に、前記着目領域および前記類似領域に含まれる画素の値を補正する補正手段と、を有し、前記抽出手段は、前記画像領域のなかの比較領域と前記着目領域との類似性を表す情報、および、前記画像領域のなかで前記着目領域および前記類似領域に対する前記補正の実施度合いに基づいて、前記類似領域を抽出することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、補正効果を保ちつつ計算量を抑えることができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態の画像処理装置の概略構成例を示す図である。
【図２】画像処理部の構成例を示す図である。
【図３】ノイズ低減処理のフローチャートである。
【図４】ベイヤー画像からの色毎の分離を示す図である。
【図５】第１の実施形態に係るノイズ低減処理の詳細なフローチャートである。
【図６】着目領域と類似領域および算出回数の一例を示す図である。
【図７】スキップ処理の詳細な動作を示すフローチャートである。
【図８】スキップ処理の一例を示す説明図である。
【図９】スキップ処理の対象となる画素の一例を示す説明図である。
【図１０】第１の実施形態に係る類似領域抽出処理の詳細なフローチャートである。
【図１１】第２の実施形態に係る類似領域抽出処理の詳細なフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。
図１は、本実施形態の画像処理装置の一適用例としての撮像装置１００の概略構成を示したブロック図である。
制御部１０１は、例えばＣＰＵであり、動作プログラムを後述のＲＯＭ１０２より読み出し、後述のＲＡＭ１０３に展開して実行することにより、撮像装置１００が備える各ブロックの動作を制御する。ＲＯＭ１０２は、電気的に消去・記録可能な不揮発性メモリであり、制御部１０１のＣＰＵが実行する動作プログラムに加え、撮像装置１００の各ブロックにおける動作に必要なパラメータ等をも記憶する。ＲＡＭ１０３は、書き換え可能な揮発性メモリであり、撮像装置１００の各ブロックの動作の結果や動作途中のデータの一時的な記憶領域として用いられる。
【００１１】
光学系１０４は、ズームレンズ、フォーカスレンズを含むレンズ群で構成され、被写体等の光学像を後述の撮像部１０５の撮像面上に結像させる。撮像部１０５は、例えばＣＣＤやＣＭＯＳセンサー等の撮像素子を有し、光学系１０４によって撮像部１０５に結像された光学像を光電変換し、その光電変換で得られたアナログ画像信号をＡ／Ｄ変換部１０６に出力する。なお、本実施形態の撮像素子は、原色ＲＧＢの各フィルタ素子がいわゆるベイヤー配列と呼ばれる順番で配されたカラーフィルタを備えているとする。Ａ／Ｄ変換部１０６は、撮像部１０５から入力されたアナログ画像信号をデジタル画像信号（以下、画像信号とする。）に変換し、その画像信号をＲＡＭ１０３に出力する。
【００１２】
画像処理部１０７は、ＲＡＭ１０３に記憶されている画像信号に対して、ホワイトバランス調整、ノイズ低減、色補間（ディベイヤー）、ガンマ処理など、様々な画像処理を適用する。画像処理部１０７の構成の詳細は後述する。
記録部１０８は、着脱可能なメモリカード等の記録媒体を備えている。画像処理部１０７で処理された画像信号は、ＲＡＭ１０３を介し、記録画像信号として記録部１０８の記録媒体に記録される。
表示部１０９は、ＬＣＤ等の表示デバイスを備えている。表示部１０９は、ＲＡＭ１０３または記録部１０８に記録した画像や、ユーザからの指示を受け付けるための操作ユーザーインターフェイス画像等を、表示デバイスに表示させる。
【００１３】
図２は、画像処理部１０７の構成を示すブロック図である。本実施形態において、画像処理部１０７は、ホワイトバランス調整部２０１、ノイズ低減処理部２０２、現像処理部２０３を備えている。
ホワイトバランス調整部２０１は、ＲＡＭ１０３から前述したベイヤー配列の画像信号を受け取り、ＲＧＢそれぞれの色信号に対して、ホワイトバランスを調整するためのゲインをかける。
ノイズ低減処理部２０２は、ホワイトバランス調整部２０１によるホワイトバランス調整後の画像信号に対してノイズ低減処理（デノイズ処理）を行う。このノイズ低減処理については、後に詳細に説明する。
現像処理部２０３は、ノイズ低減処理部２０２によるノイズ低減処理後の画像信号に対して、色補間（ディベイヤー）処理、ガンマ処理、マトリクス処理、圧縮処理などを行い、最終的な記録画像信号を作成する。この記録画像信号は、ＲＡＭ１０３を介し、記録部１０８の記録媒体に記録される。
【００１４】
＜第１の実施形態＞
以下、画像処理部１０７が備えているノイズ低減処理部２０２の動作について説明する。図３は、ノイズ低減処理部２０２における処理を簡易的に示すフローチャートである。なお、以下の説明では、図３のフローチャートの各処理ステップＳ３０１〜Ｓ３０３をＳ３０１〜Ｓ３０３と略記し、このことは後述する他のフローチャートでも同様とする。
【００１５】
ノイズ低減処理部２０２には、図４（ａ）に示すようなベイヤー配列の画像信号が入力される。なお図４（ａ）は撮像装置１００により撮像された画像の一部を示しているもものとする。
ノイズ低減処理部２０２は、まずＳ３０１の処理として、図４（ａ）に示したベイヤー配列の入力信号を、図４（ｂ）に示すようにＲ，Ｇｒ，Ｇｂ，Ｂの各色別の信号に分離する。
次に、Ｓ３０２の処理として、ノイズ低減処理部２０２は、Ｓ３０１にて分離したＲ，Ｇｒ，Ｇｂ，Ｂの四つの色信号のそれぞれに対してノイズ低減処理を行う。
その後、Ｓ３０３の処理として、ノイズ低減処理部２０２は、Ｓ３０２におけるノイズ低減処理後の四つの色信号を、ベイヤー配列の画像信号に戻し、ノイズ低減処理後の画像信号を作成する。なお、後段の処理において色ごとのデータが必要となるならば、Ｓ３０３の処理は必ずしも必要ではない。
【００１６】
次に、Ｓ３０２におけるノイズ低減処理について詳細に説明する。
図５は、Ｓ３０２で行われるノイズ低減処理の詳細なフローチャートである。以下の説明では、ノイズ低減処理部２０２に入力される画像信号を入力画像と呼ぶことにする。
ノイズ低減処理部２０２は、まずＳ５０１の処理として、入力画像内で着目する画像領域（以下、着目領域とする。）の位置を更新する。なお着目領域の初期位置は、入力画像の例えば左上端の領域等に設定される。また初期位置の設定後、本実施形態のノイズ低減処理部２０２は、後述するＳ５０５で設定された着目領域位置の情報を基に、着目領域を順次更新していく。
【００１７】
次にＳ５０２の処理として、ノイズ低減処理部２０２は、入力画像から、着目領域と類似している類似領域を抽出する処理を行う。
ここで、図６（ａ）は入力画像の例えば左上の一部分を表した図であり、図中の小正方形はそれぞれ画素を表しているとする。ノイズ低減処理部２０２は、図６（ａ）に示すように、着目領域を例えば３×３画素サイズの領域とし、その着目領域６０１を中心として周囲に設定した９×９画素の画像領域を探索範囲６０３とする。そして、ノイズ低減処理部２０２は、その探索範囲６０３のなかから、着目領域６０１に類似した類似領域を抽出する。類似領域の抽出処理の詳細な内容については後述する。図６（ａ）には、探索範囲６０３から三つの類似領域６１１，６１２，６１３が抽出された例を示している。
【００１８】
次にＳ５０３の処理として、ノイズ低減処理部２０２は、着目領域と類似領域とに対して、それぞれ画素の値を補正する補正処理としてノイズ低減処理を行う。Ｓ５０３のノイズ低減処理は、例えば式（１）のように、着目領域とＳ５０２で抽出した類似領域との、各々対応した画素位置の画素値の平均値を算出し、その算出した平均値を、着目領域および各類似領域の各々対応した画素位置の画素値とする処理である。なお式（１）中のＹNRはノイズ低減処理後の画素値、Ｍは抽出された類似領域の個数である。また式（１）中のＹｉは着目領域の画素値、Ｙｓは類似領域の画素値であって着目領域の画素と対応した位置の画素値であり、Ｙｓmは各類似領域内における同位置の画素値を示している。つまりノイズ低減処理部２０２は、着目領域および類似領域の同位置の画素値を加算して、類似領域の個数Ｍに着目領域の個数１を足した数で除算して得られる平均値を、ノイズ低減処理後の同位置の画素値として算出する。
【００１９】
【数１】
2020102114.tif 000003
【００２０】
そして、ノイズ低減処理部２０２は、着目領域と類似領域のそれぞれ画素値を、前述のように各々対応した画素位置について算出した画素値により置き換える。このように、ノイズ低減処理部２０２は、式（１）の平均値算出処理で得られた画素値による置き換えを行うことで、着目領域および類似領域に対するノイズ低減処理を行っている。なお、着目領域および類似領域に対するノイズ低減処理は、それら領域の画素値を用いた他の手法により行われても良い。
【００２１】
次にＳ５０４の処理として、ノイズ低減処理部２０２は、前述のように画素位置毎に置き換えた各画素値を、ＲＡＭ１０３内の入力画像用の画像メモリ領域とは別の画像メモリ領域に蓄積する。以下、本実施形態では、入力画像用の画像メモリ領域とは別の画像メモリ領域に蓄積される画像を、蓄積画像と呼ぶことにする。
【００２２】
前述した図６（ａ）の例では、着目領域６０１に対して設定された探索範囲６０３のなかで類似領域６１１，６１２，６１３が抽出されている。また着目領域６０１と類似領域６１１とは一部の画素位置が重なっており、同じく着目領域６０１と類似領域６１２とは一部の画素位置が重なっている。このように着目領域と類似領域とで画素位置が重なっている場合、ノイズ低減処理後の各画素値が蓄積される蓄積画像では、それら重なった画素位置において画素値が加算される。そして、ノイズ低減処理部２０２は、蓄積画像の各画素位置においてノイズ低減処理後の画素値が算出された回数をカウントし、その回数を示す値を、それぞれの各画素位置に対応させて例えばＲＡＭ１０３に記憶する。
【００２３】
図６（ｂ）は、図６（ａ）に示した着目領域６０１と探索範囲６０３および類似領域６１１〜６１３の例の場合において、蓄積画像上でノイズ低減処理後の画素値が算出された回数を画素位置毎に表した算出回数マップを示した図である。この図６（ｂ）の例では、着目領域６０１と類似領域６１１とで重なっている画素位置の算出回数が「２」となり、同じく着目領域６０１と類似領域６１２とで重なっている画素位置の算出回数が「２」となっている。また着目領域６０１および類似領域６１１〜６１３で重なっていない画素位置では算出回数は「１」となる。なお、数値が記載されていない空白の画素位置は算出回数が０であることを表している。
【００２４】
次にＳ５０５の処理に進むと、ノイズ低減処理部２０２は、Ｓ５０１で着目領域の位置を更新する際の次回の着目領域位置を設定する。
本実施形態においては、以下に説明するようなスキップ処理を行って次回の着目領域位置の設定を行うことにより、ノイズ低減処理の演算量を削減可能としている。
【００２５】
ここでノイズ低減処理（デノイズ処理）は、着目領域だけでなく、その類似領域に対しても行われるため、例えば所定の画素間隔で着目領域位置を更新した場合、更新後の着目領域内の画素は既にノイズ低減処理が１回ないし複数回行われている可能性がある。このようなノイズ低減処理済みの領域に対して、再度ノイズ低減処理を行うことは、得られる効果に対し演算量が冗長になると考えることができる。したがって所定の画素間隔で着目領域位置を更新した時に、その更新後の領域内の各画素について十分にノイズ低減されている場合には、その位置を着目領域としたノイズ低減処理を行わずに、着目領域位置を次の位置にスキップさせるようにする。本実施形態のノイズ低減処理部２０２は、このようなスキップ処理を行うことにより、演算量の削減を可能としている。
【００２６】
図７は、Ｓ５０５で行われるスキップ処理の詳細なフローチャートである。
まずＳ７０１の処理として、ノイズ低減処理部２０２は、図５のＳ５０１で着目領域の位置を更新する際の更新先の領域位置の仮設定を行う。ここで、本実施形態では、初期設定として、更新時に着目領域の位置を移動させる方向と移動量とが予め決められている。初期設定では、現在の着目領域位置に対し、右方向に２画素移動させた位置を更新後の領域位置とし、また着目領域位置が画像の右端に達する場合には下方向に２画素移動させ且つ画像の左端の位置を更新後の領域位置とするような設定になされているとする。
【００２７】
次にＳ７０２の処理として、ノイズ低減処理部２０２は、Ｓ７０１で仮設定した領域位置が画像の右下端に到達したか否かを判定する。そして、ノイズ低減処理部２０２は、画像の右下端に到達したと判定（Ｙｅｓ）した場合にはＳ７０３に処理を進め、着目領域位置の更新は本画像では完了したとして図７のフローチャートの処理を終了して、図５のＳ５０６に処理を進める。一方、ノイズ低減処理部２０２は、Ｓ７０２において画像の右下端に到達していないと判定（Ｎｏ）場合にはＳ７０４に処理を進める。
【００２８】
Ｓ７０４に進むと、ノイズ低減処理部２０２は、Ｓ７０１で仮設定した位置の領域内の全ての画素位置について、前述した算出回数が所定値以上（閾値としての回数がＡ回以上）になっているか否かを判定する。ここでの算出回数とは、図６（ｂ）で説明した、画素位置毎にノイズ低減処理後の画素値を算出した回数のことである。この算出回数は、その画素についてノイズ低減処理が何回行われたのかを示す値であるため、算出回数がＡ回以上か否かの判定とは、ノイズ低減処理がその画素に対しＡ回以上行われたか否かの判定と等しい。
【００２９】
そしてノイズ低減処理部２０２は、Ｓ７０４において、仮設定した位置の領域内の画素位置のなかに、算出回数が所定値以上（Ａ回以上）でない画素位置、つまり所定値未満（Ａ回未満）の画素位置があると判定（Ｎｏ）した場合にはＳ７０５に処理を進める。Ｓ７０５に進むと、ノイズ低減処理部２０２は、Ｓ７０１で仮設定された領域位置を、Ｓ５０１で着目領域位置を更新する際の更新位置に設定する。このＳ７０５の後、ノイズ低減処理部２０２は、図５のＳ５０６に処理を進める。
【００３０】
一方、Ｓ７０４において、仮設定した位置の領域内の全ての画素位置について算出回数がＡ回以上であると判定（Ｙｅｓ）した場合、ノイズ低減処理部２０２は、Ｓ７０１に処理を戻す。これにより、Ｓ７０１では、前回の仮設定された領域位置に対し、さらに初期設定に応じた新たな領域位置を再仮設定する処理が行われることになる。つまり現在の着目領域位置に対し、前回の仮設定で右方向に２画素分先が更新先領域位置になされていたとすると、そこからさらに右方向に２画素分先（現在の着目位置から右方向に４画素分先の位置）を新たな更新先領域位置とするように再仮設定される。なお、再仮設定される領域位置が画像の右端に達する場合には下方向に２画素移動させ且つ画像の左端の位置を領域位置とするような再仮設定が行われることになる。その後、ノイズ低減処理部２０２は、Ｓ７０２以降の処理に進む。すなわち本実施形態におけるスキップ処理とは、前述したように仮設定した位置の領域内の全ての画素位置の算出回数が所定値以上である場合には、さらに次の位置を再仮設定するような処理である。スキップ処理は、Ｓ７０４において、仮設定した位置の領域内の全ての画素位置の算出回数が所定値未満の画素位置があると判定されるまで繰り返される。
【００３１】
図８は、ノイズ低減処理部２０２におけるスキップ処理の一例の説明に用いる図であり、図中の小正方形は図６（ａ）や図６（ｂ）の例と同様にそれぞれ画素を表している。また図８（ｂ）や図８（ｃ）において各画素位置に記載されている数値は、図６（ｂ）で説明した算出回数を表しており、数値が未記載の空白画素位置は算出回数が０であることを表している。また図８（ａ）に示した着目領域８０１の位置は現在の着目領域位置であり、図中点線で示した領域８４１はＳ７０１において右方向２画素分だけ移動させる仮設定後の領域位置を示しているとする。
【００３２】
ここで、算出回数に対する所定値（Ａ）を例えばＡ＝１とし、また各画素位置の算出回数が図８（ｂ）に例示した値になっているとする。図８（ｂ）の例の場合、仮設定された領域８４１には算出回数が０回（Ａ未満）の画素位置が存在するため、ノイズ低減処理部２０２では、Ｓ７０４における判定処理でＮｏと判定してＳ７０５の処理に進むことになる。そして、ノイズ低減処理部２０２は、Ｓ７０５において、この時点で仮設定されている領域位置を、Ｓ５０１で着目領域位置の更新位置として設定することになる。
【００３３】
これに対し、各画素位置の算出回数が図８（ｃ）に例示した値になっていたとする。図８（ｃ）の例の場合、仮設定された領域８４１では各画素位置の算出回数が全て１回以上（Ａ以上）になっているため、ノイズ低減処理部２０２は、Ｓ７０４における判定処理でＹｅｓと判定してＳ７０１の処理に戻り、領域位置の再仮設定を行うことになる。
【００３４】
図５に説明を戻す。前述したＳ５０５（図７のフローチャートの処理）の後、ノイズ低減処理部２０２は、Ｓ５０６に処理を進める。
Ｓ５０６に進むと、ノイズ低減処理部２０２は、着目領域位置の更新が画像全体で完了したか否かを判定する。ここでノイズ低減処理部２０２は、図７に示したスキップ処理のフローチャートにおいてＳ７０３の処理に進んだ場合、Ｓ５０６で着目領域位置の更新が画像全体で完了したと判定（Ｙｅｓ）してＳ５０７に処理を進める。一方、着目領域位置の更新が画像全体で完了していないと判定（Ｎｏ）した場合、ノイズ低減処理部２０２は、Ｓ５０１に処理を戻し、Ｓ７０５で設定した着目領域位置となるように着目領域の位置を更新する処理を行う。
【００３５】
Ｓ５０７の処理に進むと、ノイズ低減処理部２０２は、前述した蓄積画像のなかの対象画素の蓄積画素値を、その対象画素に対応した画素位置の前述した算出回数により除算する。すなわちノイズ低減処理部２０２は、Ｓ５０４によるノイズ低減処理の後、さらにＳ５０５で画素値を蓄積し、Ｓ５０７で蓄積画像の画素値を算出回数により除算することで、最終的なノイズ低減処理後の画像値を生成する。そして、ノイズ低減処理部２０２は、その最終的なノイズ低減処理後の画素値によって、前述した入力画像内の該当する対象画素の画素値を置き換える。これにより、最終的なノイズ低減処理後の入力画像が生成される。その後、ノイズ低減処理部２０２は、Ｓ５０７の処理で最終的に生成されたノイズ低減処理後の入力画像信号を、現像処理部２０３へ出力する。
【００３６】
以下、Ｓ５０２における類似領域の抽出処理について詳細に説明する。
本実施形態において、ノイズ低減処理部２０２は、前述したスキップ処理を行うことで、着目領域と類似した領域を抽出する際に、着目領域に類似しており且つ十分なノイズ低減効果が得られていない可能性の高い領域を優先的に抽出している。つまり本実施形態の場合、ある程度ノイズ低減効果が得られている領域ではスキップし、一方、ノイズ低減効果が少ない領域の画素に対してはスキップ処理が行われる際の閾値回数（Ａ）と同等程度のノイズ低減処理が行われる。すなわち特定の画素に何度もノイズ低減処理を行うよりも、多くの画素に対し、スキップ処理を行うさいの閾値回数（Ａ）と同程度のノイズ低減処理を行ったほうが、効率が良く且つ結果的に演算量も少なくなる。
【００３７】
図９（ａ）と図９（ｂ）は、それぞれ各画素位置の算出回数の一例を示した図であり、図８（ｂ）や図８（ｃ）と同様に、各画素位置の数値は算出回数を表し、空白の画素位置は算出回数が０であることを表している。ここで、スキップ処理の閾値回数（Ａ）がＡ＝１である場合、図９（ａ）の例では領域９０１内の各画素がスキップ処理の対象となる画素であり、図９（ｂ）の例では領域９０２内の各画素がスキップ処理の対象となる画素である。図９（ａ）と図９（ｂ）の例を比較すると、図９（ａ）よりも図９（ｂ）の方がスキップされる画素が多いため、スキップ処理の効率が良い、つまり演算量の低減効率が良いことがわかる。また、スキップされる画素についても、それぞれ少なくともＡ回（１回）はノイズ低減処理が行われていることになるので、ある程度のノイズ低減効果を得ることができ、また大きな画質劣化を伴う可能性も低い。
【００３８】
図１０は、Ｓ５０２で行われる類似領域抽出処理の詳細なフローチャートである。
まずＳ１００１の処理として、ノイズ低減処理部２０２は、前述したように着目領域に対して設定された探索範囲内において、着目領域と類似する領域か否かの判定対象となされる領域（以下、比較領域とする。）の位置を更新する。ここで、比較領域は、着目領域と同じサイズの領域であり、その初期位置は探索範囲の左上端となされる。探索範囲内において、比較領域の位置は、初期位置から右方向に１画素ずつ移動するように更新され、探索範囲の右端に達した場合には下に１画素分移動し且つ左端の位置に更新される。
【００３９】
次にＳ１００２の処理として、ノイズ低減処理部２０２は、着目領域と比較領域との間の類似度を算出する。この時のノイズ低減処理部２０２は、式（２）により、着目領域と比較領域のそれぞれ同じ位置の画素の差分絶対値和を算出する。なお式（２）中のＤは差分絶対値和であり、Ｎは着目領域の画素数（比較領域の画素数もＮ）、Ｙｉは着目領域内の各画素値、Ｙｓは比較領域内の各画素値である。また、ＹｉnとＹｓnは着目領域と比較領域における同位置の画素値を示している。すなわちノイズ低減処理部２０２は、着目領域と比較領域の各々対応した画素位置について差分絶対値を算出し、それら画素位置毎の差分絶対値の総和を、着目領域と比較領域との間の類似性を表す値として取得する。
【００４０】
【数２】
2020102114.tif 000004
【００４１】
差分絶対値和Ｄは、着目領域と比較領域との間の類似性を簡易的に表す値として用いることができ、この差分絶対値和Ｄが小さいほど、それら着目領域と比較領域とは相関性が高く類似している（類似性が高い）ことになる。つまり、差分絶対値和Ｄが小さいほど、それら着目領域と比較領域とは同一の被写体に含まれる領域である可能性が高いことになる。本実施形態の場合、ノイズ低減処理部２０２は、類似度判定用の所定の閾値より小さい値の差分絶対値和Ｄが算出された比較領域を、着目領域との類似性が高い類似領域としている。なお本実施形態では、差分絶対値和Ｄを用いた簡易的な類似領域判定処理を例に挙げたが、二つの領域間の類似性を評価できる他の手法によって類似領域の判定を行っても良い。
【００４２】
Ｓ１００２の後、Ｓ１００３の処理に進むと、ノイズ低減処理部２０２は、比較領域について、類似度が所定の閾値以下で、且つ算出回数が所定値未満（Ｂ回未満）となる画素位置が存在するか否かを判定する。Ｓ１００３で用いる算出回数は、前述の図６（ｂ）で説明したのと同様の、画素位置毎にノイズ低減処理後の画素値が算出された回数である。ここでは、所定値の回数（Ｂ）をＢ＝１とする。
【００４３】
そしてノイズ低減処理部２０２は、比較領域について、類似度が所定の閾値以下で且つ算出回数が所定値未満（Ｂ回未満）の画素位置が存在すると判定（Ｙｅｓ）した場合にはＳ１００４に処理を進める。一方、ノイズ低減処理部２０２は、比較領域について、類似度が所定の閾値以下でないと判定（Ｎｏ）した場合、または、算出回数がＢ回未満の画素位置が存在しないと判定（Ｎｏ）した場合には、Ｓ１００５に処理を進める。
【００４４】
Ｓ１００４に進んだ場合、ノイズ低減処理部２０２は、その比較領域を類似領域として抽出する。つまり、比較領域が、着目領域とある程度類似しており且つノイズ低減処理の実施度合いも低い（算出回数が少ない）場合に、ノイズ低減処理部２０２は、その比較領域を類似領域として抽出する。このＳ１００４の後、ノイズ低減処理部２０２は、Ｓ１００６に処理を進める。
【００４５】
一方、Ｓ１００５に進んだ場合、ノイズ低減処理部２０２は、その比較領域を類似領域として抽出しない。つまり、着目領域との類似性が低いか、または既に何度（所定値のＢ回以上）もノイズ低減処理された領域であるため、当該比較領域については類似領域として抽出しない。このＳ１００５の後、ノイズ低減処理部２０２は、Ｓ１００６に処理を進める。
【００４６】
次にＳ１００６に進むと、ノイズ低減処理部２０２は、探索範囲内において比較領域の位置更新が完了したか否かを判定する。例えば、ノイズ低減処理部２０２は、比較領域が探索範囲の右下端に達していない場合、比較領域の位置更新が完了していないと判定（Ｎｏ）してＳ１００１に処理を戻す。一方、比較領域が探索範囲の右下端に達したならば、ノイズ低減処理部２０２は、比較領域の位置更新が完了したと判定（Ｙｅｓ）してＳ１００７に処理を進める。
【００４７】
Ｓ１００７に進むと、ノイズ低減処理部２０２は、前述のように抽出した類似領域の数が所定の下限値以上か否かを判定する。そして、ノイズ低減処理部２０２は、Ｓ１００７において所定の下限値以上と判定（Ｙｅｓ）した場合には図１０のフローチャートの処理を終了する。ここで、類似領域の数が所定の下限値未満のように少ない場合には、ノイズ低減処理自体の信頼性が低くなり、ノイズ低減処理によって画質が低下してしまう虞があるため、類似領域の抽出数はある程度多い数が必要であると考えられる。
【００４８】
このためＳ１００７で抽出した類似領域数が所定の下限値未満と判定（Ｎｏ）した場合、ノイズ低減処理部２０２は、Ｓ１００８において、類似度に対する閾値をＳ１００３で用いた所定の閾値よりも大きくした後、Ｓ１００１に処理を戻す。これにより、Ｓ１００１以降の処理が再度行われ、特にＳ１００３ではＳ１００８で値が大きくなされた閾値を用いて類似度との比較処理が行われることになる。つまり、この時のＳ１００３では、類似度に対する閾値が大きくなされたことにより、類似領域として抽出される領域数を増やし易くなる。なお、Ｓ１００８の処理後は、Ｓ１００１ではなくＳ１００３に処理を戻すようにしても良い。
【００４９】
このように本実施形態では、類似領域の数が下限値以下である場合、類似領域数を増やすように調整する処理を行う。ただし、ノイズ低減処理の内容によっては、類似領域の数が多すぎても、処理に好ましくない影響を及ぼす可能性がある。例えば、演算量が顕著に増大する、などである。このような場合への対処例として、類似領域数に対して上限値を設けておき、類似領域数が上限値以上になる場合は類似領域数を減らすように調整する処理を行っても良い。類似領域数を減らす調整では、一例として、類似度が大きい順（類似性が低い順）に類似領域から外すようにして類似領域数を減らしたり、類似度に対する閾値を小さく設定して類似領域抽出を再度行って類似領域数を減らしたりすることが考えられる。
【００５０】
以上説明したように、本実施形態のノイズ低減処理部２０２では、類似領域を抽出する際に、類似度だけでなく、比較領域内の画素に対するノイズ低減処理の実施度合い（つまり処理の回数を表す算出回数）をも考慮している。これにより、本実施形態によれば、後段で行われるスキップ処理の効率を高め、ノイズ低減の効果を保ちつつ、計算量を抑えた画像処理を行うことができる。
【００５１】
また、前述した類似領域の下限値や上限値は、ノイズレベルや着目領域の画素数などに応じて変更しても良い。一例として、ノイズレベルが大きくなるほど下限値と上限値を大きくすることが考えられる。また例えば、着目領域の画素数が多くなるほど下限値と上限値を小さくするようなことが考えられる。ノイズレベルおよび着目領域の画素数の両方を基に上限値と下限値を変更しても良い。
【００５２】
また本実施形態では、ベイヤー画像信号を図４のようにＲ，Ｇｒ，Ｇｂ，Ｂの色毎の信号に分離してそれぞれの信号に対して独立にノイズ低減処理を行っているが、ベイヤー画像信号の配列のまま着目領域を設定して同様のノイズ低減処理を行っても良い。
また本実施形態では着目領域を３×３画素、類似領域の探索範囲を９×９画素の領域としたが、それら以外の大きさに設定してノイズ低減処理を行っても良い。また、着目領域と類似領域の探索範囲は正方形の領域でなくても良い。
また本実施形態では、スキップ処理の初期設定として更新時の移動量を２画素分としていたが、それ以外の画素幅の移動量により更新を行っても良い。また、この更新時の移動量はノイズレベル等によって変更しても良い。
また本実施形態では、スキップ処理及び類似領域の抽出処理を行う場合に、算出回数に関する閾値の所定値としてＡ＝１やＢ＝１を例に挙げたが、これには限定されず、他の値を用いても良い。また、ＡとＢの値はノイズレベル等に応じて適宜変更しても良い。
【００５３】
＜第２の実施形態＞
第１の実施形態では、類似度と比較領域内の各画素のノイズ低減処理回数とに基づいて類似領域を抽出することで、着目領域ごとに抽出される類似領域の数が変わる例を挙げた。これに対し、第２の実施形態では、着目領域ごとに抽出される類似領域の数が固定される場合の処理について説明する。
第２の実施形態において、第１の実施形態と異なる部分は、図５のＳ５０２における処理の内容である。したがってここでは、Ｓ５０２の処理について詳細に説明する。それ以外の処理については第１の実施形態と概ね同様であるため説明を省略する。
【００５４】
図１１は、第２の実施形態において、Ｓ５０２で行われる類似領域抽出処理の詳細なフローチャートである。なお、図１１のＳ１１０１，Ｓ１１０２の処理に関しては、図１０のＳ１００１，Ｓ１００２と同じ処理であるため、それらの説明は割愛する。
Ｓ１１０１の処理後、Ｓ１１０３に進むと、ノイズ低減処理部２０２は、比較領域の処理状態を判定する。Ｓ１１０３における処理状態の判定処理として、ノイズ低減処理部２０２は、比較領域内の全画素についてノイズ低減処理が所定回数以上行われた状態であるか否かを判定する。以降、領域内の全画素について所定回数以上のノイズ低減処理がなされている比較領域を処理済領域と呼び、一方、ノイズ低減処理が所定回数未満の画素が一つ以上存在する比較領域を未処理領域と呼ぶことにする。
【００５５】
次にＳ１１０４において、ノイズ低減処理部２０２は、現在の比較領域について、前述のＳ１００２と同様にしてＳ１１０２で算出された類似度（例えば差分絶対値和）と、Ｓ１１０３での判定による処理状態の情報とを記憶（例えばＲＡＭ１０３に記憶）する。
次にＳ１１０５において、ノイズ低減処理部２０２は、探索範囲内で比較領域の更新が完了しているか否かを判定し、完了していないと判定（Ｎｏ）した場合にはＳ１１０１に処理を戻して比較領域の位置を更新して以降の処理を繰り返す。一方、Ｓ１１０５において完了していると判定（Ｙｅｓ）した場合、ノイズ低減処理部２０２は、Ｓ１１０６に処理を進める。ここで、Ｓ１１０５で完了していると判定された場合には、探索範囲内の全比較領域について、類似度および処理状態の情報が記録された状態となる。
【００５６】
そして、ノイズ低減処理部２０２は、Ｓ１１０６以降において、未処理領域を優先しつつ、着目領域との類似性が高い比較領域、つまり類似度が小さい（差分絶対値和が小さい）比較領域を、所定個数であるＮｔｈ個抽出して類似領域とする処理を行う。
Ｓ１１０６の処理に進むと、ノイズ低減処理部２０２は、探索範囲内の全比較領域について記憶した類似度および処理状態の情報を基に、探索範囲内の比較領域のなかから、類似度が閾値Ｄｔｈ１以下で、且つ未処理領域である比較領域を選択する。ここでは選択した領域数をＮｆとする。
次にＳ１１０７に進むと、ノイズ低減処理部２０２は、Ｓ１１０６で選択した領域数Ｎｆが所定個数以上（Ｎｔｈ以上）であるか否かを判定する。そしてノイズ低減処理部２０２は、選択した領域数Ｎｆが所定個数Ｎｔｈ以上であると判定（Ｙｅｓ）した場合にはＳ１１０８へ処理を進め、一方、選択した領域数Ｎｆが所定個数未満（Ｎｔｈ未満）であると判定（Ｎｏ）した場合にはＳ１１０９へ処理を進める。
【００５７】
ここで、Ｓ１１０７で領域数Ｎｆが所定個数Ｎｔｈ以上であると判定された場合とは、Ｓ１１０６で選択された未処理領域のなかから、十分な数の類似領域を抽出可能であることを意味する。このため、Ｓ１１０８に進むと、ノイズ低減処理部２０２は、Ｓ１１０６で選択された未処理領域のなかから、類似度が小さい順（つまり着目領域との類似性が高い順）に、Ｎｔｈ個の未処理領域を選択して、類似領域として抽出する。このＳ１１０８の後、ノイズ低減処理部２０２は、図１１のフローチャートの処理を終了する。
【００５８】
一方、Ｓ１１０７で領域数Ｎｆが所定個数Ｎｔｈ未満と判定された場合とは、Ｓ１１０６で選択された未処理領域数では、十分な数の類似領域を抽出することができないことを意味する。この場合、例えば、類似度が大きい（つまり類似性が低くさほど類似していない）未処理領域をさらに追加するように選択することが考えられる。しかしながら、着目領域と類似していない未処理領域を類似領域として用いた場合には、ノイズ低減処理後の画質が落ちてしまうことが考えられる。このため、ノイズ低減処理部２０２は、Ｓ１１０９以降の処理により、未処理領域ではなく、処理済領域の中から、類似度が小さい領域（類似性が高い領域）を選択して類似領域として抽出する。
【００５９】
Ｓ１１０９の処理に進むと、ノイズ低減処理部２０２は、前述の記憶した類似度および処理状態の情報を基に、探索範囲内の比較領域のなかから、類似度が所定の閾値Ｄｔｈ２以下で、且つ処理済領域である比較領域を選択する。ここでは、選択された領域数をＮｓとする。
次にＳ１１１０に進むと、ノイズ低減処理部２０２は、Ｓ１１０６で選択した領域数ＮｆにＳ１１０９で選択した領域数Ｎｓを加算した領域数（Ｎｆ＋Ｎｓ）が、所定個数Ｎｔｈ以上であるか否かを判定する。そしてノイズ低減処理部２０２は、領域数（Ｎｆ＋Ｎｓ）が所定個数Ｎｔｈ以上であると判定（Ｙｅｓ）した場合にはＳ１１１１へ処理を進め、一方、領域数（Ｎｆ＋Ｎｓ）が所定個数Ｎｔｈ未満であると判定（Ｎｏ）した場合にはＳ１１１２へ処理を進める。
【００６０】
ここで、Ｓ１１１０で領域数（Ｎｆ＋Ｎｓ）が所定個数Ｎｔｈ以上であると判定された場合、Ｓ１１０６で選択された未処理領域とＳ１１０９で選択された処理済領域とから、十分な数の類似領域を抽出可能であることを意味する。このためＳ１１１１に進むと、ノイズ低減処理部２０２は、Ｓ１１０９で選択した処理済領域のなかから、Ｓ１１０６で選択した未処理領域数では所定個数Ｎｔｈから不足する分に相当する（Ｎｔｈ−Ｎｆ）個の処理済領域を、類似度が小さい順に選択する。これにより、先にＳ１１０６で未処理領域から選択された領域数と、Ｓ１１０９で処理済領域から選択された領域数との合計は、Ｎｔｈ個となり、ノイズ低減処理部２０２は、それらＮｔｈ個の領域を類似領域として抽出する。このＳ１１１１後、ノイズ低減処理部２０２は、図１１のフローチャートの処理を終了する。
【００６１】
一方、Ｓ１１１０で領域数（Ｎｆ＋Ｎｓ）が所定個数Ｎｔｈ未満と判定された場合とは、Ｓ１１０９の処理を行っても未だ十分な数の類似領域を抽出することができていないことを意味する。このため、ノイズ低減処理部２０２は、Ｓ１１１２に進むと、比較領域の処理状態によらずに、残った比較領域のなかから、類似度が小さい順（類似性が高い順）に、（Ｎｔｈ−Ｎｆ−Ｎｓ）個の領域を選択する。これにより、先に１１０６で未処理領域から選択された領域数と、次にＳ１１０９で処理済領域から選択された領域数と、さらにＳ１１１２で残りの比較領域から選択された領域数との合計は、Ｎｔｈ個となる。そして、ノイズ低減処理部２０２は、それらＮｔｈ個の領域を類似領域として抽出する。このＳ１１１２後、ノイズ低減処理部２０２は、図１１のフローチャートの処理を終了する。
【００６２】
以上説明したように第２の実施形態では、着目領域ごとに類似領域を固定の領域数（Ｎｔｈ個）だけ抽出することができるため、十分なノイズ低減効果を得ることができる。また第２の実施形態では、抽出される類似領域数が固定であるため、処理全体の演算量を見積もり易くなり、画像処理装置の能力を設定し易くなる。また第２の実施形態によれば、第１の実施形態と同様に、後段で行われるスキップ処理の効率を高め、ノイズ低減の効果を保ちつつ、計算量を抑えた画像処理を行うことができる。
【００６３】
なお前述した実施形態では、閾値Ｄｔｈ１，Ｄｔｈ２、個数Ｎｔｈ，Ｎｆ，Ｎｓ等の値について特に指定はしないが、これらの値は、予め設定した値やユーザにより設定される任意の値でも良いし、ノイズレベル等に応じて変更されても良い。例えば入力画像のノイズレベルが高いほど値を大きくする。
【００６４】
本発明は前述した実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行ってもよい。
第１、第２の実施形態のノイズ低減処理部における処理は、ハードウェア構成のみで実現されてもよいし、ＣＰＵ等がプログラムを実行することによるソフトウェア構成によって実現されてもよい。また、一部がハードウェア構成で残りがソフトウェア構成により実現されてもよい。ソフトウェア構成のためのプログラムは、予めＲＯＭ等の用意されている場合だけでなく、不図示の外部メモリ等の記録媒体から取得されたり、不図示のネットワーク等を介して取得されたりしてもよい。
【００６５】
また、前述の例では撮像装置１００としてデジタルカメラを想定したが、本実施形態はデジタルビデオカメラ、カメラ機能を備えたスマートフォンやタブレット端末等の各種携帯端末、監視カメラ、工業用カメラ、車載カメラ、医療用カメラ等にも適用可能である。
【００６６】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記録媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける一つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、本発明は、上述の実施形態の各機能は回路（例えばＡＳＩＣ）とプログラムとの協働により実現することも可能である。
【００６７】
上述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００６８】
１００：撮像装置、１０１：制御部、１０２：ＲＯＭ、１０３：ＲＡＭ、１０７：画像処理部、２０１：ホワイトバランス調整部、２０２：ノイズ低減処理部、２０３：現像処理部
【図１】
2020102114.tif 000005
【図２】
2020102114.tif 000006
【図３】
2020102114.tif 000007
【図４】
2020102114.tif 000008
【図５】
2020102114.tif 000009
【図６】
2020102114.tif 000010
【図７】
2020102114.tif 000011
【図８】
2020102114.tif 000012
【図９】
2020102114.tif 000013
【図１０】
2020102114.tif 000014
【図１１】
2020102114.tif 000015