(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0008】
以下、図面を参照して本発明を実施するための形態について説明する。
図1は、本実施の形態におけるデジタルカメラ100の構成を示すブロック図である。デジタルカメラ100は、操作部材101と、レンズ102と、撮像素子103と、制御装置104と、メモリカードスロット105と、モニタ106とを備えている。
【0009】
操作部材101は、使用者によって操作される種々の入力部材、例えば電源ボタン、レリーズボタン、ズームボタン、十字キー、決定ボタン、再生ボタン、削除ボタン、ヘルプボタンなどを含んでいる。
【0010】
レンズ102は、複数の光学レンズから構成されるが、
図1では代表して1枚のレンズで表している。撮像素子103は、例えばCCDやCMOSであり、レンズ102により結像した被写体像を撮像して画像を取得する。そして、取得した画像データを制御装置104へ出力する。
【0011】
制御装置104は、CPU、メモリ、およびその他の周辺回路により構成され、ノイズ除去部104aを機能的に備えている。なお、制御装置104を構成するメモリには、プログラム等を記憶するROM(例えばフラッシュメモリ)や、バッファメモリとして使用されるRAM(例えばSDRAM)等を含む。
【0012】
制御装置104は、撮像素子103で取得された画像に対して公知のBayer補間処理などを行った後、その画像をノイズ除去部104aに入力してノイズ除去処理を行う。このノイズ除去処理は、画像の色差成分のみに対して行っても良いし、輝度成分のみに対して行っても良いし、その両方に対して行っても良い。また、その他の色成分に対して行っても良い。また、本実施形態に記載するノイズ除去処理とは別に、より低周波帯域のノイズを除去する公知の処理を追加しても良い。
【0013】
そして、制御装置104は、ノイズ除去部104aによるノイズ除去処理後の画像に対して公知の階調変換や彩度強調や輪郭強調などを行い、必要に応じて公知の圧縮処理を行って画像ファイルを生成し、メモリカードスロット105へ出力する。ただし、ノイズ除去処理と、その他の処理の順序は上記に限定されない。
【0014】
メモリカードスロット105は、記憶媒体としてのメモリカードを挿入するためのスロットであり、制御装置104から出力された画像ファイルをメモリカードに書き込んで記録する。また、制御装置104からの指示に基づいて、メモリカード内に記憶されている画像ファイルを読み込んで再生したり、記録されている画像ファイルを削除したりする。
【0015】
モニタ106は、デジタルカメラ100の背面に搭載された液晶モニタ(背面モニタ)であり、当該モニタ106には、メモリカードに記憶されている画像(再生画像)やデジタルカメラ100を設定するための設定メニューなどの種々の情報が表示される。また、制御装置104は、撮像素子103から時系列で入力されるフレームを順次モニタ106に出力することによって、モニタ106にスルー画を表示する。
【0016】
図2は、ノイズ除去部104aの構成を示すブロック図である。ノイズ除去部104aは、縮小部201、低周波ノイズ除去部202、減算部203、高周波ノイズ除去部204、加算部205、および範囲制限部206を機能的に備える。以下、この
図2を用いて、ノイズ除去部104aによって実行されるノイズ除去処理について説明する。ノイズ除去部104aは、入力画像データにおいて注目画素を選択し、選択した注目画素において、以下に説明するノイズ除去処理を行って、ノイズ除去後の画素値を出力する。ノイズ除去部104aは、このノイズ除去処理を入力画像データの全画素について行って、入力画像データ全体のノイズ除去を行う。
【0017】
1.縮小画像データの生成
以下、注目画素の座標を(x,y)とする。縮小部201は、入力画像データから、注目画素(x,y)に対応する縮小画像データを生成する。縮小部201では、例えば、
図3に示すように、注目画素(x,y)を中心とした15×15画素の範囲(x−7,y−7)〜(x+7,y+7)を参照して7×7画素の縮小画像データを生成する。この7×7画素の縮小画像データは、
図3で○印が記載された位置の画素、すなわち注目画素(x,y)を中心として1画素おきに配置された7×7画素のそれぞれにおいて平滑化処理を行い、その出力値を並べることによって生成される。すなわち、○印が記載された位置の画素における平滑化処理の出力値が縮小画像データの1画素の画素値となる。また、平滑化処理は、例えば、○印が記載された位置の画素を中心とする3×3の画素の画素値について、以下のように行う。
図4に示すように、中心の画素(○印が記載された位置の画素)の画素値に対しては4/16、中心の画素に上下左右に隣接する4画素の画素値に対しては2/16、4隅の画素(中心の画素に対して斜め方向に隣接する4画素)の画素値に対しては1/16の加重をかけて積算することで、○印が記載された位置における平滑化処理後の画素値を算出する。
【0018】
2.低周波ノイズ除去値の算出
低周波ノイズ除去部202は、縮小部201で生成された7×7画素の縮小画像データの中心画素に対して公知のノイズ除去フィルター処理を行うことにより、低周波ノイズが除去された画素値(以下、低周波ノイズ除去値と記載する)を算出する。ノイズ除去フィルター処理としては、例えば、以下に記載するεフィルター処理などを用いればよい。
【0019】
εフィルター処理を用いる場合、7×7画素の縮小画像データを用いて、以下の通り、演算処理を行う。なお、以下の説明において、7×7画素の縮小画像データにおける中心画素の画素値を中心画素値と記載する。また、中心画素の周辺画素(すなわち7×7画素のうち中心画素以外の48個の画素)の画素値を周辺画素値と記載する。
【0020】
[εフィルター処理]
(1)積算値を0に初期化する。
(2)48個の周辺画素のそれぞれについて、|周辺画素値−中心画素値|<所定の閾値ならば積算値に(周辺画素値−中心画素値)を加算し、この条件を満たさなければ積算値を変更しないという演算処理を行う。なお、所定の閾値は、例えば、ノイズの標準偏差の3倍程度の値に設定しておく。
(3)低周波ノイズ除去値=中心画素値+積算値/49を計算することにより、低周波ノイズ除去値を算出する。
【0021】
なお、ノイズ除去フィルター処理は、上記のεフィルター処理に限定されない。例えば周辺画素位置に応じた重みをかけて積算しても良いし、|周辺画素値−中心画素値|に応じた重みをかけて積算しても良い。また、方向平滑化や突出除去などの公知のノイズ除去処理と組み合わせても良い。また、所定のノイズ除去率をかけてノイズ除去前の値と加重平均しても良い。その他の公知の技術を適用しても良い。また、参照範囲も上述した7×7画素に限定されず、例えば3×3画素〜11×11画素程度の範囲を参照すればよい。
【0022】
3.差分値の算出
減算部203は、低周波ノイズ除去部202で算出された低周波ノイズ除去値から縮小画像の中心画素値(低周波ノイズ除去前の画素値)を減算する(すなわち、低周波ノイズ除去値−縮小画像の中心画素値)ことにより、低周波ノイズ除去値と縮小画像の中心画素値との差分値を算出する。この差分値は、低周波ノイズを除去するために低周波ノイズ除去部202が元々の画素値に加えた値である。
【0023】
4.高周波ノイズ除去
高周波ノイズ除去部204は、入力画像データの注目画素(x,y)に対して公知のノイズ除去フィルター処理を行うことにより、高周波ノイズが除去された画素値(以下、高周波ノイズ除去値と記載する)を算出する。高周波ノイズ除去値は、
図5において破線の枠で示すように、注目画素(x,y)を中心とした7×7画素の範囲(x−3,y−3)〜(x+3,y+3)を参照して算出される。ノイズ除去フィルター処理については、上述した低周波ノイズ除去部202の場合と同様である。
【0024】
5.暫定ノイズ除去値の算出
加算部205は、高周波ノイズ除去部204で算出された高周波ノイズ除去値に、減算部203で算出された差分値を加算することにより、低周波ノイズと高周波ノイズとが除去された画素値(以下、暫定ノイズ除去値と記載する)を算出する。
【0025】
6.出力画素値の範囲制限
範囲制限部206は、加算部205で算出された暫定ノイズ除去値を、低周波ノイズ除去値から高周波ノイズ除去値までの範囲内にクリップして出力することにより、注目画素(x,y)における出力画素値を出力する。具体的には、以下の通り、処理を行う。
【0026】
まず、低周波ノイズ除去値>高周波ノイズ除去値である場合について説明する。この場合、高周波ノイズ除去値≦暫定ノイズ除去値≦低周波ノイズ除去値である場合には、暫定ノイズ除去値を出力画素値とする。また、暫定ノイズ除去値<高周波ノイズ除去値である場合には、高周波ノイズ除去値を出力画素値とする。また、暫定ノイズ除去値>低周波ノイズ除去値である場合には、低周波ノイズ除去値を出力画素値とする。
【0027】
次に、低周波ノイズ除去値≦高周波ノイズ除去値である場合について説明する。この場合、低周波ノイズ除去値≦暫定ノイズ除去値≦高周波ノイズ除去値である場合には、暫定ノイズ除去値を出力画素値とする。また、暫定ノイズ除去値<低周波ノイズ除去値である場合には、低周波ノイズ除去値を出力画素値とする。また、暫定ノイズ除去値>高周波ノイズ除去値である場合には、高周波ノイズ除去値を出力画素値とする。
【0028】
ノイズ除去部104aは、以上のノイズ除去処理を、入力画像データの全ての画素が注目画素として選択されるまで繰り返して、全ての画素における出力画素値を求め、入力画像データからノイズが除去された出力画像データを生成する。
【0029】
上述したノイズ除去処理によると、入力画像データにおいて高周波のテクスチュア構造がある個所についても、高周波成分を残しながら低周波ノイズを除去できる。以下、
図6〜
図8に例示するグラフを用いて、上述したノイズ除去処理の効果を説明する。なお、
図6〜
図8に例示するグラフでは、縦軸が画素値を示し、横軸が画素の座標を示す。
【0030】
図6(a)は、高周波のテクスチュア成分を含む画像データを例示するグラフである。
図6(a)のグラフは、ノイズの無い本来のテクスチュアパターンを示している。
図6(b)は、
図6(a)に示す画像を高感度で撮影した場合の画像データ(入力画像データ)を例示するグラフである。この場合、
図6(b)に示すように、ノイズが混入した画像データが撮影される。
図6(c)は、
図6(b)に示す入力画像データに対して高周波ノイズ除去部204により高周波ノイズ除去を行った後の高周波ノイズ除去データ(高周波ノイズ除去値)を例示するグラフである。一般に高周波のテクスチュア構造がある個所では高周波ノイズを除去することは困難であるため、
図6(c)ではあまりノイズが軽減されていない。
【0031】
図7(a)は、
図6(b)に示す画像を縮小部201により縮小して生成した縮小画像データ(低周波画像)を例示するグラフである。
図7(a)に示すように、縮小画像データでは、高周波成分が除かれて低周波ノイズが抽出される。
図7(b)は、
図7(a)に示す縮小画像データに対して低周波ノイズ除去部202により低周波ノイズ除去を行った後の低周波ノイズ除去データ(低周波ノイズ除去値)を例示するグラフである。
図7(b)では、低周波ノイズが除去されている。
図7(c)は、減算部203により
図7(b)に示す低周波ノイズ除去データから
図7(a)に示す縮小画像データを減算して求めた差分データ(差分値)を例示するグラフである。
【0032】
図8(a)は、加算部205により
図6(b)の高周波ノイズ除去データに
図7(c)の差分データを加算して得られた暫定ノイズ除去データ(暫定ノイズ除去値)を示すグラフである。
図8(a)に示す暫定ノイズ除去データでは、低周波ノイズが除去されたことによりノイズが軽減している。
図8(b)は、範囲制限部206により
図8(a)の暫定ノイズ除去データを、低周波ノイズ除去データから高周波ノイズ除去データまでの範囲内にクリップした出力画像データ(出力画素値)を例示するグラフである。
図8(a)の暫定ノイズ除去データでは、破線で囲む画素データが
図6(c)の高周波ノイズ除去データよりも低く、低周波ノイズ除去データから高周波ノイズ除去データまでの範囲外である。このため、
図8(b)の出力画像データでは、破線で囲む画素データにおいて、
図8(a)の暫定ノイズ除去データではなく、高周波ノイズ除去データが採用されている。
【0033】
なお、
図6(b)で示したような画像構造に対して上記特許文献1に開示されたノイズ除去処理を行っても、高周波のテクスチュア構造がある個所では低周波ノイズ除去が適用されないので、
図6(c)に相当するノイズが残存した結果が出力される。あるいは、特許文献1に開示されたノイズ除去処理の設定を調整して、
図6(b)で示したような高周波のテクスチュア構造がある個所についても低周波ノイズ除去が適用されるように調整すると、
図7(b)に相当する高周波成分を消失した画像データが出力される。このように、特許文献1に開示されたノイズ除去処理では、低周波ノイズ除去と高周波成分の保持を両立することは困難である。
【0034】
また、本実施形態のノイズ除去処理では、高周波ノイズ除去の強さと低周波ノイズ除去の強さとを独立して制御することができる。なぜなら、縮小画像データからは高周波成分が除外されているので、それに基づいて算出された差分データは高周波成分を含まず、差分データを高周波ノイズ除去データに加算しても、高周波成分には影響しないからである。つまり、低周波ノイズを強く除去しても高周波成分が保持される。一般に、繊細な質感を残しつつ、目につきやすい低周波ノイズを充分に除去するには、高周波ノイズ除去をやや弱く、低周波ノイズ除去を強く適用することが望ましい。本実施形態のノイズ除去処理によると、高周波ノイズ除去の閾値やノイズ除去率を小さめに設定し、低周波ノイズ除去の閾値やノイズ除去率を大きめに設定することにより、上記の効果(繊細な質感を残しつつ、目につきやすい低周波ノイズを充分に除去する)を実現できる。
【0035】
一方、上記特許文献1では、低周波ノイズ除去を強く適用しようとすると、低周波ノイズ除去値と高周波ノイズ除去値との合成において、低周波ノイズ除去値が強く適用されるように設定せざるを得ない。このようにすると、低周波ノイズ除去値には高周波成分が含まれないので、出力画像では高周波成分が失われやすくなるという問題があった。本実施形態では、その問題を解決している。
【0036】
ただし、本実施形態において、高周波ノイズ除去値に差分値を加算した値(暫定ノイズ除去値)では、ノイズを過剰に減算したことによる逆符号のノイズが発生することがある。本実施形態ではその問題を解決するため、範囲制限部206により、暫定ノイズ除去値を、高周波ノイズ除去値と低周波ノイズ除去値との間にクリップして、出力画素値を得る。
【0037】
上述した実施の形態によれば、次の作用効果が得られる。
(1)デジタルカメラ100において、縮小部201は、入力画像データを縮小して縮小画像データを生成する。低周波ノイズ除去部202は、縮小画像データに対してノイズ除去を行って低周波ノイズ除去データ(低周波ノイズ除去値)を生成する。減算部203は、縮小画像データと低周波ノイズ除去データとの差分データ(差分値)を算出する。高周波ノイズ除去部204は、入力画像データに対してノイズ除去を行って高周波ノイズ除去データ(高周波ノイズ除去値)を生成する。加算部205は、高周波ノイズ除去データと差分データとに基づいて暫定ノイズ除去データ(暫定ノイズ除去値)を生成する。これにより、低周波ノイズ除去と高周波成分の保持を両立することができる。
【0038】
(2)デジタルカメラ100において、範囲制限部206は、暫定ノイズ除去データを、所定のレベル範囲(低周波ノイズ除去データと高周波ノイズ除去データとの間の範囲)に制限して、出力画像データとして出力する。これにより、加算部205までの処理でノイズを過剰に減算したことによる逆符号のノイズが発生した場合にそのノイズを軽減することができる。
【0039】
次のような変形も本発明の範囲内であり、変形例の一つ、もしくは複数を上述の実施形態と組み合わせることも可能である。
【0040】
(変形例1)
上述した実施の形態では、各々の注目画素に対して(すなわち全画素数分)低周波ノイズ除去値を算出する例について説明したが、変形例1として、離散的な画素位置に対して低周波ノイズ除去値を算出するようにしてもよい。変形例1の場合は、離散的な画素位置に対して差分値を算出し、これをアップサンプリングして全画素数分の差分値を求める。
【0041】
図9は、変形例1におけるノイズ除去部104aの構成を示すブロック図である。変形例1におけるノイズ除去部104aは、上述した実施の形態と同様の構成(
図2)に加えて、アップサンプリング部207を機能的に備える。
【0042】
上述した実施の形態では、縮小部201は、各々の注目画素に対して縮小画像データを生成する例について説明したが、変形例1では、入力画像データに対して1つの縮小画像データを生成する。たとえば、
図3に示したように、入力画像データにおいて1画素おきに配置された画素のそれぞれにおいて平滑化処理を行い、その出力値を並べることによって、入力画像の半分の画素数でなる縮小画像データを生成する。
【0043】
低周波ノイズ除去部202は、縮小部201で生成された縮小画像データにおけるそれぞれの画素に対して低周波ノイズ除去値を算出する。すなわち、入力画像データにおける離散的な画素位置に対して低周波ノイズ除去値を算出する。減算部203は、縮小画像データの各画素において、低周波ノイズ除去部202で算出された低周波ノイズ除去値から、縮小画像データの元の画素値(低周波ノイズ除去前の画素値)を減算することにより、差分値を算出する。すなわち、入力画像における離散的な画素位置に対して差分値を算出する。
【0044】
アップサンプリング部207は、減算部203で算出された離散的な画素位置に対する差分値をアップサンプリングして(すなわち拡大処理を行って)全画素数分の差分値を求めて、加算部205に出力する。その後は、上述した実施の形態と同様の処理を行う。
【0045】
変形例1によれば、離散的な画素位置で低周波ノイズ除去値を算出することで、上述した実施の形態と比べて低周波ノイズ除去処理の回数を減らすことができるので、回路構成によってはコスト削減効果を得ることもできる。
【0046】
(変形例2)
上述した実施の形態では、範囲制限部206は、暫定ノイズ除去値を低周波ノイズ除去値から高周波ノイズ除去値までの範囲内にクリップして出力する例について説明したが、クリップする範囲はこれに限らなくてもよい。例えば、範囲制限部206は、暫定ノイズ除去値を低周波ノイズ除去値から入力画像の画素値(すなわち元の画素値)までの範囲内にクリップするようにしてもよい。また、入力画像に対して別途ノイズ除去処理を実施し、範囲制限部206は、そのノイズ除去処理の結果に基づく範囲で暫定ノイズ除去値をクリップするようにしてもよい。
【0047】
(変形例3)
高周波ノイズ除去部204による高周波ノイズ除去の強さと、低周波ノイズ除去部202による低周波ノイズ除去の強さを、画面の部分ごとに独立して制御してもよい。高周波ノイズ除去を強くすると鮮鋭感が失われることが多いので、例えば高周波エッジの大きい部分については高周波ノイズ除去を弱めるとよい。
【0048】
(変形例4)
上述した実施の形態では、減算部203が低周波ノイズ除去値から縮小画像の中心画素値を減算することにより差分値を求める例について説明したが、縮小画像の中心画素値から低周波ノイズ除去値を減算して差分値を求めるようにしてもよい。この場合、高周波ノイズ除去値から差分値を減算することで暫定ノイズ除去値を求めればよい。
【0049】
(変形例5)
上述した実施の形態では、デジタルカメラ100が上記ノイズ除去処理を行う例を説明したが、上記ノイズ除去処理を行う画像処理装置をパーソナルコンピュータによって構成するようにしてもよい。パーソナルコンピュータに上記ノイズ除去処理を行う画像処理プログラムを実行させるようにしてもよい。
【0050】
パーソナルコンピュータ300に対する画像処理プログラムのローディングは、
図10に例示するように、プログラムを格納したCD−ROMなどの記憶媒体301をパーソナルコンピュータ300にセットして行ってもよいし、ネットワークなどの通信回線302を経由する方法でパーソナルコンピュータ300へローディングしてもよい。通信回線302を経由する場合は、通信回線302に接続されたサーバー(コンピュータ)303のハードディスク装置304などに画像処理プログラムを格納しておく。画像処理プログラムは、記憶媒体301や通信回線302を介する提供など、種々の形態のコンピュータプログラム製品として供給することができる。
【0051】
上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。