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