(57)【要約】【課題】  画像におけるコントラストの低いエッジがぼけてしまうのを抑制しつつ、ノイズを低減する。【解決手段】  画像データにおける着目画素に対して、複数の参照画素の重み付き平均を着目画素の画素値とすることにより、ノイズを低減する処理を実行する画像処理装置であって、前記着目画素の近傍の局所領域において、該局所領域の画素毎に、近傍の画素の画素値に基づく勾配を算出し、該局所領域における勾配ヒストグラムを作成する作成手段と、前記勾配ヒストグラムに応じて前記重み付き平均を算出するためのパラメータを設定する設定手段と、前記パラメータを参照して、前記画像データにおける着目画素と参照画素との類似度に応じた重みを決定して、各参照画素と重みとを用いた重み付き平均を算出し、重み付き平均の結果を前記着目画素の画素値として出力する出力手段と、を有することを特徴とする。【選択図】  図４
2017076240.tif 000002
【特許請求の範囲】
【請求項１】
画像データにおける着目画素に対して、複数の参照画素の重み付き平均を着目画素の画素値とすることにより、ノイズを低減する処理を実行する画像処理装置であって、
前記着目画素の近傍の局所領域において、該局所領域の画素毎に、近傍の画素の画素値に基づく勾配を算出し、該局所領域における勾配方向の勾配ヒストグラムを作成する作成手段と、
前記勾配ヒストグラムに応じて前記重み付き平均を算出するためのパラメータを設定する設定手段と、
前記パラメータを参照して、前記画像データにおける着目画素と参照画素との類似度に応じた重みを決定して、各参照画素と重みとを用いた重み付き平均を算出し、重み付き平均の結果を前記着目画素の画素値として出力する出力手段と、を有することを特徴とする画像処理装置。
【請求項２】
前記作成手段は、前記局所領域の画素毎に、隣接する画素の画素値を参照して勾配の度合いおよび勾配方向を算出し、前記勾配ヒストグラムを作成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記設定手段は、前記勾配ヒストグラムを参照し、前記局所領域において突出した勾配方向があるかどうかを判定することにより、前記局所領域において特定の方向に勾配があるか否かを判定することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記設定手段は、前記局所領域において特定の方向に勾配がある場合、前記特定の方向の法線方向を前記局所領域におけるエッジ方向とみなし、該エッジ方向に応じて前記パラメータを設定することを特徴とする請求項１乃至３のいずれか一項に記載の画像処理装置。
【請求項５】
画像データにおける着目画素に対して、複数の参照画素の重み付き平均を前記着目亜画素の画素値とすることにより、ノイズを低減する処理を実行する画像処理装置であって、
前記着目画素の近傍の局所領域において、該局所領域に対して異なる複数の方向のエッジを検出するためのエッジ方向判定フィルタを用いてフィルタ処理をすることにより、該局所領域の構造を解析する解析手段と、
前記解析手段による解析結果を参照して、エッジ方向を１つ選択し、選択したエッジ方向に応じて前記重み付き平均を算出するためのパラメータを設定する設定手段と、
前記パラメータを参照して、前記画像データにおける着目画素と参照画素との類似度に応じた重みを決定して、各参照画素と重みとを用いた重み付き平均を算出し、重み付き平均の結果を前記着目画素の画素値として出力する出力手段と、を有することを特徴とする画像処理装置。
【請求項６】
前記設定手段は、前記局所領域におけるエッジ方向に応じて前記着目画素と前記参照画素との類似度を算出するために実行するブロックマッチングの領域を設定することを特徴とする請求項４または５に記載の画像処理装置。
【請求項７】
前記設定手段は、前記局所領域におけるエッジ方向に応じて、前記着目画素のノイズを低減するために用いる参照画素を設定することを特徴とする請求項４乃至６のいずれか一項に記載の画像処理装置。
【請求項８】
前記設定手段は、前記局所領域におけるエッジ方向に応じて、前記着目画素のノイズを低減するために用いる参照画素それぞれの重みを決定することを特徴とする請求項４乃至７のいずれか一項に記載の画像処理装置。
【請求項９】
前記設定手段は、前記エッジ方向に対して前記領域を広く、前記エッジ方向の法線方向に対して前記領域を広くなるように設定することを特徴とする請求項６に記載の画像処理装置。
【請求項１０】
前記設定手段は、前記エッジ方向の法線方向に対して前記参照画素を少なく、前記エッジ方向に対して前記参照画素を多く設定することを特徴とする請求項７に記載の画像処理装置。
【請求項１１】
前記設定手段は、前記局所領域のエッジ方向に応じて、重みを小さく補正することを特徴とする請求項８に記載の画像処理装置。
【請求項１２】
コンピュータを請求項１乃至１１のいずれか１項に記載の画像処理装置として動作させるためのプログラム。
【請求項１３】
画像データにおける着目画素に対して、複数の参照画素の重み付き平均を着目画素の画素値とすることにより、ノイズを低減する処理を実行する画像処理方法であって、
前記着目画素の近傍の局所領域において、該局所領域の画素毎に、近傍の画素の画素値に基づく勾配を算出し、該局所領域における勾配方向の勾配ヒストグラムを作成し、
前記勾配ヒストグラムに応じて前記重み付き平均を算出するためのパラメータを設定し、
前記パラメータを参照して、前記画像データにおける着目画素と参照画素との類似度に応じた重みを決定して、各参照画素と重みとを用いた重み付き平均を算出し、重み付き平均の結果を前記着目画素の画素値として出力することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データにおけるノイズを低減するための画像処理技術に関する。
【背景技術】
【０００２】
撮像装置によって被写体を撮像することによって得られるデジタルな画像には一般にノイズが含まれている。例えばＸ線撮像装置で撮影した画像には、Ｘ線量子ノイズ、構造ノイズ、電気ノイズなどのノイズが含まれていることが知られている。画像におけるノイズは、撮像装置の特性や撮像する光の特性に起因して発生する。Ｘ線撮像装置の場合は、Ｘ線光子や撮像装置の構造特性に起因して発生する。
【０００３】
このようなノイズを低減する方法として、画像に対してフィルタ処理することにより補正する方法がある。フィルタ処理では、画像における着目画素の画素値及びその周辺画素の画素値にフィルタ係数（重み）を乗じ、これらの総和を着目画素の出力画素値とする畳み込み演算を実行する。特許文献１や特許文献２には、着目画素を含む着目ブロックとの類似度に基づいて導出された各画素への重みを用いて、フィルタ処理する方法が開示されている。このような技術は、Ｎｏｎ−Ｌｏｃａｌ  Ｍｅａｎｓ  Ｄｅｎｏｉｓｉｎｇ（以後、ＮＬＭと表記する）と呼ばれる。ＮＬＭでは、フィルタ処理により画像におけるエッジ部がぼけてしまうのを抑えつつ、ノイズを低減することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００７−５３６６６２号公報
【特許文献２】特開２０１１−０３９６７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、画像にコントラストの低いエッジ（低コントラスト領域）である場合、特許文献１や２に開示された方法では、コントラストが消失してしまう場合がある。これは、Ｘ線撮像装置で撮像することにより得られる医用画像においては、特に重大な問題である。胸部のＸ線画像を例に挙げると、医師は肺野の血管を重視して読影している。肺野における血管部分は、画像においては非常にコントラストが低いため、低コントラストが失われる結果血管が消失してしまい、医師による画像診断に影響を与えてしまう。
【０００６】
そこで本発明は、画像におけるコントラストの低いエッジがぼけてしまうのを抑制しつつ、ノイズを低減することを目的とする。
【課題を解決するための手段】
【０００７】
そこで本発明は画像データにおける着目画素に対して、複数の参照画素の重み付き平均を着目画素の画素値とすることにより、ノイズを低減する処理を実行する画像処理装置であって、前記着目画素の近傍の局所領域において、該局所領域の画素毎に、近傍の画素の画素値に基づく勾配を算出し、該局所領域における勾配方向の勾配ヒストグラムを作成する作成手段と、前記勾配ヒストグラムに応じて前記重み付き平均を算出するためのパラメータを設定する設定手段と、前記パラメータを参照して、前記画像データにおける着目画素と参照画素との類似度に応じた重みを決定して、各参照画素と重みとを用いた重み付き平均を算出し、重み付き平均の結果を前記着目画素の画素値として出力する出力手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、画像におけるコントラストの低いエッジがぼけてしまうのを抑制しつつ、ノイズを低減できる。
【図面の簡単な説明】
【０００９】
【図１】画像処理装置のハードウェア構成を示すブロック図である。
【図２】ＮＬＭを説明するための図である。
【図３】参照画素の重み算出する関数の例を示す図である。
【図４】画像処理装置の処理データの流れを示すブロック図である。
【図５】処理の流れを示すフローチャートである。
【図６】予め設定した着目領域を示す図である。
【図７】参照領域の選択方法を説明するための図である。
【図８】構造解析部の処理の流れを示すフローチャートである。
【図９】輝度勾配ヒストグラム作成方法の説明図である。
【図１０】着目領域変形部の処理の流れを示すフローチャートである。
【図１１】着目領域を変形した一例を示す図である。
【図１２】探索領域決定部の処理の流れを示すフローチャートである。
【図１３】探索領域を決定する一例を示す図である。
【図１４】重み算出部の処理の流れを示すフローチャートである。
【図１５】構造解析部の処理の流れを示すフローチャートである。
【図１６】エッジ方向判定フィルタの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下の実施形態において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
【００１１】
［第１実施形態］
第１実施形態では、入力画像における局所領域ごとに構造を解析した結果から得た輝度勾配ヒストグラムに基づいて、ノイズを低減するための処理を行う方法について説明する。図１は、第１実施形態における画像処理装置のハードウェア構成を示す図である。画像処理装置はＣＰＵ１０１、ＲＡＭ１０２、ＨＤＤ１０３、汎用インターフェース（Ｉ／Ｆ）１０４、モニタ１０８、メインバス１０９を備える。さらに、汎用Ｉ／Ｆはカメラなどの撮像装置１０５や、マウス、キーボードなどの入力装置１０６、メモリーカードなどの外部メモリ１０７をメインバス１０９に接続する。まず、ＣＰＵ１０１はＨＤＤ１０３に格納されている画像処理アプリケーションを起動し、ＲＡＭ１０２に展開するとともに、モニタ１０８にユーザインターフェース（ＵＩ）を表示する。続いて、ＨＤＤ１０３や外部メモリ１０７に格納されている各種データ、撮像装置１０５で撮影された画像データ、入力装置１０６からの指示などがＲＡＭ１０２に転送される。起動した画像処理アプリケーション内の処理に従って、ＲＡＭ１０２に格納されている画像データは、ＣＰＵ１０１からの指令に基づき各種の処理を実行される。各種の処理が施された画像データは、モニタ１０８に表示されたり、ＨＤＤ１０３、外部メモリ１０７に格納されたりする。上記の構成において本実施形態では、ＣＰＵ１０１からの指令に基づき、画像処理アプリケーションに画像データを入力し、ノイズを低減するための処理を実行してノイズを低減した画像データを生成し、出力する。
【００１２】
＜ＮＬＭの概要＞
まず、本実施形態における画像処理装置が実行するノイズを低減するための処理として、ＮＬＭ（Ｎｏｎ−Ｌｏｃａｌ  Ｍｅａｎｓ  Ｄｅｎｏｉｓｉｎｇ）の概要を説明する。この手法は、ノイズ低減対象となる着目画素を含む、着目画素の周辺に存在する複数の参照画素の画素値に適応的な重みを掛け、その結果を全て加算した結果により着目画素の画素値を置き換えることでノイズを低減する。参照画素の画素数をＮＳ、参照画素の画素値をＩｊ（ｊ＝１〜ＮＳ）、参照画素の重みをｗｊ（ｊ＝１〜ＮＳ）とすると、ノイズ低減処理後の着目画素の画素値Ｉｎｅｗは式（１）と等価になる。
【００１３】
【数１】
2017076240.tif 000003
ここで、参照画素の重みの算出方法について、図２及び図３を参照して説明する。図２（ａ）において、画像２０１は、左上の画素を（０，０）とし、各画素の画素値をＩ（ｘ、ｙ）と表すものとする。ノイズ低減対象となる着目画素を画素２０２とすると、着目画素の画素値はＩ（４、４）によって表すことができる。着目画素が画素２０２であるとき、着目画素２０２を中心とした３×３画素の矩形領域２０３が着目領域となる。また、着目画素２０２を含む５×５画素（参照画素数ＮＳ＝２５）の矩形領域２０４に含まれる画素すべてが参照画素として設定される。参照画素群２０５の左上の画素（２，２）を参照画素としたとき、参照画素を中心とした３×３画素の矩形領域２０５が参照領域となる。つまり参照領域とは、参照画素を中心とし、着目領域２０３と同サイズの領域である。なお、参照領域は参照画素毎に存在するが、図２（ａ）では参照画素（２，２）に対応する参照領域だけ示している。
【００１４】
参照画素（２、２）の重みを求めるために、まず、着目領域２０３と参照領域２０５とを比較して、領域間の類似度を算出する。尚、類似度は所望の方法で求めてよい。例えば、図２（ｂ）のように、着目領域２０３の各画素をｂｓ（ｐ，ｑ）、参照領域の各画素をｂｊ（ｐ，ｑ）（ｊ＝１〜ＮＳ）とする。そして、着目領域２０３と参照領域２０５とにおいて空間的に対応する画素の画素値の差を類似度とすると、類似度Ｃｊは式（２）によって表すことができる。
【００１５】
【数２】
2017076240.tif 000004
類似度Ｃｊは、値が小さいほど着目領域と参照領域の類似度が高いことを示す。このような類似度Ｃｊに応じて、参照画素の重みを決定する。図３は、重みを導出するために用いる関数を示す。重みは、類似度Ｃｊの値が小さい（類似度が高い）ほど重みが大きく、類似度Ｃｊの値が大きい（類似度が低い）ほど重みが小さくなるように決定される。図３に示す関数は例えば、式（３）によって定められる。
【００１６】
【数３】
2017076240.tif 000005
ここで、変数ｈは重みの大きさを制御する変数であり、ｈを大きくするとノイズ低減効果が高くなるが、その結果エッジ、特にコントラストの低いエッジはぼけてしまう。
【００１７】
以下同様に、着目領域２０３と各参照画素の参照領域とを順次比較していくことで、各参照画素の重みが得られる。以上が、ＮＬＭの概要である。
【００１８】
＜画像処理装置の概要＞
本実施形態では、Ｘ線撮像装置が撮影した画像データに対してノイズを低減する処理を実行するものとする。処理対象となる画像データは、水平画素数１００、垂直画素数１００からなる１００００画素により構成され、各画素８ビットの画素値からなるグレースケール画像であるとする。また、本実施形態では、着目する１画素に対する処理を例に説明する。よって、画像を構成する全画素のデータに対してノイズを低減する処理を施す場合は、以降の処理を全画素に対して施せばよい。
【００１９】
図４は、第１実施形態における画像処理装置の詳細な論理構成を示すブロック図である。各構成は、ＣＰＵ１０１がＨＤＤ１０３に格納された各種ソフトウェア（コンピュータプログラム）を動作させることで実現される。
【００２０】
入力端子４０１は、撮像装置１０５が撮影した結果得られる画像データを入力する。上述の通り本実施形態では、１００画素×１００画素の１００００画素分の画像データが入力されることになる。局所領域選択部４０２は、入力画像を構成する処理対象画素（着目画素）について、着目画素を含む周辺画素を局所領域として選択し、局所領域に含まれる各画素の画素値を構造解析部４０３に出力する。構造解析部４０３は、局所領域選択部４０２が選択した局所領域の構造を解析する。構造解析部４０３は、局所領域においてどのような画素値（輝度）の勾配があるかを解析する。局所領域に基準以上の勾配がない場合は、平坦であると解析され、特定の方向に基準以上の勾配がある場合は、局所領域にエッジがあると解析される。
【００２１】
着目領域決定部４０４は、構造解析部４０３で解析した結果に基づいて、着目画素に対応する着目領域を決定する。探索領域決定部４０５は、構造解析部４０３で解析した結果に基づいて、着目画素のノイズを低減するための処理に用いる画素を含む探索領域を決定する。探索領域は、参照画素として設定される画素群および、着目画素とブロックマッチングをするための参照領域のサイズとによって決定される。ここで決定される探索領域に応じて、着目画素のノイズを低減するために用いる参照画素が変わる。参照領域選択部４０６は、探索領域決定部４０５が決定した探索領域に含まれる画素から、参照画素を決定し、参照領域に対応する参照領域を選択する。重み算出部４０７は、構造解析部４０３で解析された結果に基づいて、着目画素のノイズを低減するために用いる各参照画素の重みを算出する。
【００２２】
画素値重み乗算部４０８は、重み算出部４０７が算出した重みと、対応する参照画素の画素値との積を算出する。累積加算部４０９は、画素値重み乗算部４０８が出力する結果をすべて累積し、重み付き画素値の累積和を算出する。重み累積加算部４１０は、重み算出部４０７が算出する各参照画素の重みを累積し、重みの累積和を計算する。除算部４１１は、累積加算部４０９が出力する重み付き画素値累積和を、重み累積加算部４１０が出力する重み累積和により除算する。出力端子４１２は、除算部４１１から受け取った値を、着目画素のノイズを低減する処理後の画素値として出力する。
【００２３】
＜画像処理装置における処理の流れ＞
図５は、本実施形態におけるノイズを低減する処理の流れを示すフローチャートである。以下、図５を用いて本実施形態における全体の処理フローを説明する。図５に示すフローチャートは、画像処理装置のＲＡＭ１０２などに格納されたプログラムをＣＰＵ１０１が実行することによって実現される。
【００２４】
ステップＳ５０１において局所領域選択部４０２が、局所領域サイズＬＲｓｉｚｅに予め用意した値を設定する。本実施形態においてはＬＲｓｉｚｅ＝２とする。これは着目画素の上下左右に最大２画素の範囲を局所領域とすることを意味する。また、局所領域選択部４０２は、処理対象とする着目画素の位置に応じて、局所領域Ｌｏｃ＿Ｒを設定する。本実施形態において局所領域Ｌｏｃ＿Ｒは、領域に含まれる全画素の座標を入力される。図６は、局所領域選択部４０２が設定する局所領域Ｌｏｃ＿Ｒの具体的な配置の例である。図６において、入力画像データは細線の矩形として表され、複数の画素によって構成されている。また、着目画素は黒で塗りつぶされた矩形で表されている。本実施形態ではＬＲｓｉｚｅ＝２と設定したため、局所領域Ｌｏｃ＿Ｒは着目画素を中心とする５画素×５画素の太線で囲まれた領域が選択される。
【００２５】
ステップＳ５０２において構造解析部４０３は、ステップＳ５０１において選択した局所領域の構造を解析する。構造解析処理についての詳細は後述する。ステップＳ５０３において着目領域決定部４０４は、ステップＳ５０２で構造解析した結果に基づいて着目領域を決定する。着目領域決定処理についての詳細は後述する。
【００２６】
ステップＳ５０４において探索領域決定部４０５は、ステップＳ５０２で構造解析した結果に基づいて着目領域の周辺から探索領域を決定する。探索領域決定処理についての詳細は後述する。
【００２７】
ステップＳ５０５において探索領域決定部４０５は、後述の各参照画素の重みを累積加算するバッファＳｕｍ＿Ｗを初期化する。また、各重みと対応する参照画素の画素値との積を累積加算するバッファＳｕｍ＿ＷＬ、さらに水平方向の画素インデックスｘと垂直方向の画素インデックスｙを０に初期化する。
【００２８】
ステップＳ５０６において参照領域選択部４０６は、探索領域決定部４０５が決定した探索領域に含まれる画素から、着目領域とブロックマッチングを行う参照領域を設定するための画素位置Ｒｅｆ＿Ｒ（ｘ，ｙ）を設定する。参照領域選択部４０５は、設定された探索領域の位置を参照して、Ｒｅｆ＿Ｒ（ｘ，ｙ）のｘとｙにそれぞれ定数を順に代入する。この画素位置Ｒｅｆ＿Ｒ（ｘ，ｙ）は、予め設定された参照領域のサイズにおいて特定の空間的な画素位置に対応する。本実施形態では、３画素×３画素の領域を参照領域とし、画素位置Ｒｅｆ＿Ｒ（ｘ，ｙ）は、参照領域の左上の画素を指定するものとする。なお画像データの左上の画素位置を（０，０）とする。  図７は、具体的な参照領域の一例を説明する図である。探索領域決定部４０５が決定した探索領域は、水平画素数、垂直画素数共に７で構成されたものとする。図７（ａ）は、７画素×７画素からなる探索領域を表している。また、図７（ｂ）の太線は水平画素数、垂直画素数共に３で構成される参照領域を表している。参照領域選択部４０６は、最初に探索範囲における一番左上の画素位置を、参照領域を設定するための画素位置Ｒｅｆ＿Ｒ（ｘ，ｙ）として設定する。なお、太線枠内の中心に位置する矩形が参照画素である。参照領域は、水平方向へ１画素分ずつ移動する。つまり参照領域選択部４０６は、選択した参照領域の処理が終わると、次にＲｅｆ＿Ｒ（ｘ，ｙ）のｘをｘ＋１に置き換えることで、順に選択する。また参照領域が探索領域の右端に到達した場合は、一画素下に下がり、左端から再度同じように右方向に水平移動する。この場合参照領域選択部４０６は、Ｒｅｆ＿Ｒ（ｘ，ｙ）のｘを最初に設定した値に戻し、ｙにｙ＋１を代入する。
【００２９】
ステップＳ５０７において参照領域選択部４０６は、ステップＳ５０３において決定した着目領域をＴａｒ＿Ｒ（ｘ，ｙ）と、参照領域Ｒｅｆ＿Ｒ（ｘ，ｙ）との間で、空間的に対応する画素同士の画素値の差の絶対値Ｃｊを算出する。ここで算出される値を、着目領域と参照領域との類似度とする。
【００３０】
ステップＳ５０８において重み算出部４０７は、ステップＳ５０２で構造解析した結果に基づいて、着目領域Ｔａｒ＿Ｒ（ｘ，ｙ）と参照領域Ｒｅｆ＿Ｒ（ｘ，ｙ）との類似度に応じた重みＷ（ｘ，ｙ）を算出する。重み算出処理についての詳細は後述する。
【００３１】
ステップＳ５０９において画素値重み乗算部４０８は、重み算出部４０７が算出した参照画素の重みＷ（ｘ，ｙ）と、参照画素の画素値Ｉ＿ｓとの積ＷＬ（ｘ，ｙ）を算出する。
【００３２】
ステップＳ５１０において累積加算部４０９が、ＷＬ（ｘ，ｙ）をＳｕｍ＿ＷＬに加算する。ステップＳ５１１において重み累積加算部４１０が、Ｗ（ｘ，ｙ）をＳｕｍ＿Ｗに加算する。ステップＳ５１２において探索領域決定部４０５は、探索領域において設定される全ての参照領域に対して処理を終えているかを判定する。完了している場合、ステップＳ５１３に進み、そうでなければステップＳ５０６に戻る。
【００３３】
ステップＳ５１３では、除算部４１１が、Ｓｕｍ＿ＷＬ／Ｓｕｍ＿Ｗを計算し、着目画素のノイズを低減する処理後の画素値として出力する。以上で処理終了となる。
【００３４】
＜構造解析処理＞
ステップＳ５０２において構造解析部４０３が実行する局所領域の構造を解析する処理について詳細に説明する。図８は、構造解析部４０３における処理のフローチャートである。
【００３５】
まず、ステップＳ８０１において構造解析部４０３は、ステップＳ５０１で選択された局所領域Ｌｏｃ＿Ｒに含まれる画素から、解析対象画素Ｐ（ｘ，ｙ）を選択する。画素Ｐ（０，０）は、局所領域Ｌｏｃ＿Ｒ（ｘ，ｙ）の左上の画素を指し、構造解析処理におけるｘ、ｙの初期値は０とする。解析対象画素Ｐ（ｘ，ｙ）は、１画素ずつ水平方向へ移動（ｘはｘ＋１に更新される）し、局所領域Ｌｏｃ＿Ｒの右端に到達した場合は、一画素下に下がり（ｙはｙ＋１に更新される）、左端から再度同じように水平右方向に移動する。
【００３６】
ステップＳ８０２において構造解析部４０３は、解析対象画素Ｐ（ｘ，ｙ）について、水平方向の微分値ｄｘ（Ｐ（ｘ，ｙ））及び垂直方向の微分値ｄｙ（Ｐ（ｘ，ｙ））を算出する。各方向の微分値の算出には式（４）を使用する。
ｄｘ（Ｐ（ｘ，ｙ））＝Ｌ（ｘ＋１，ｙ）−Ｌ（ｘ−１，ｙ）
ｄｙ（Ｐ（ｘ，ｙ））＝Ｌ（ｘ，ｙ＋１）−Ｌ（ｘ，ｙ−１）      （４）
水平方向の微分値ｄｘ（Ｐ（ｘ，ｙ））は、解析対象画素近傍における水平方向の勾配を示し、垂直方向の微分値ｄｙ（Ｐ（ｘ，ｙ））は、解析対象画素近傍における垂直方向の勾配を示す。従ってここで算出される微分値は、解析対象画素を中心とした２次元的な局所領域における分布に相関のある値となる。本実施形態では、式（２）を用いて微分値を算出したが、水平方向・垂直方向の微分値を算出できる手法であれば、これに限定されない。例えば、プリューウィットフィルタやソーベルフィルタなどを用いてもよい。
【００３７】
ステップＳ８０３において構造解析部４０３は、ステップＳ８０２で算出したＰ（ｘ，ｙ）の水平方向及び垂直方向の微分値に基づいて、輝度勾配強度Ｍ（Ｐ（ｘ，ｙ））と輝度勾配方向θ（Ｐ（ｘ，ｙ））を算出する。輝度勾配強度とは、解析対象画素Ｐ（ｘ，ｙ）近傍における勾配の傾き具合であり、輝度勾配方向とは、解析対象画素Ｐ（ｘ，ｙ）近傍における勾配の傾き方向である。輝度勾配強度は式（５）により算出する。
【００３８】
【数４】
2017076240.tif 000006
また、輝度勾配方向は式（６）により算出する。
【００３９】
【数５】
2017076240.tif 000007
ステップＳ８０４において構造解析部４０３は、局所領域Ｌｏｃ＿Ｒにおえる全画素についてステップＳ８０１〜Ｓ８０３の処理が完了したかどうかを判定する。完了している場合、ステップＳ８０５に進み、そうでなければステップＳ８０１に戻る。
【００４０】
ステップＳ８０５において構造解析部４０３は、ステップＳ８０３で算出した局所領域内の画素毎の輝度勾配強度と輝度勾配方向に基づいて、局所領域における輝度勾配ヒストグラムを作成する。輝度勾配ヒストグラムとは、輝度勾配方向毎に輝度勾配強度を合計した値をヒストグラムにしたものである。本実施形態では、０度から１８０度まで２２．５度ずつ９方向に分割した勾配方向毎に、勾配強度を算出する。図９は、局所領域における輝度勾配ヒストグラムの例を示す。図９（ａ）は、局所領域Ｌｏｃ＿Ｒ内の各画素における輝度勾配強度と輝度勾配方向を模式的に表している。矢印の方向は輝度勾配方向であり、矢印が長いほど輝度勾配強度が大きい。局所領域における各輝度勾配を、０度、２２．５度、４５度、６７．５度、９０度、１１２．５度、１３５度、１５７．５度、１８０度のいずれかに分類する。そして、各輝度勾配について、対応する輝度勾配強度の合計を算出する。図９（ｂ）は、図９（ａ）に示す局所領域における輝度勾配強度と輝度勾配方向とに基づいて作成した輝度勾配ヒストグラムである。
【００４１】
局所領域に勾配がなく、平坦な領域である場合、各輝度勾配方向の輝度勾配強度は全体的に小さい値となる。一方、局所領域にエッジがある場合、輝度勾配方向のうち特定の方向に輝度勾配強度の偏りが生じ、一部の輝度勾配方向だけ突出した輝度勾配ヒストグラムとなる。なおエッジが低コントラストであっても、複数の画素において同じ輝度勾配が生じているため、累積した結果、特定の輝度勾配方向だけ突出した輝度勾配ヒストグラムになる。ただし、グラデーション領域も特定の輝度勾配方向の合計勾配強度が大きくなるため、特定の輝度勾配方向だけ突出した輝度勾配ヒストグラムになる。グラデーションの場合、平坦な領域と同様のノイズを低減する処理を施すと、疑似輪郭が発生しやすい。そこで、本実施形態ではグラデーション領域に対しても低コントラスト領域と同等に扱う。
【００４２】
以上、ステップＳ５０２において構造解析部４０３が実行する局所領域の構造を解析する処理についての説明を終了する。
【００４３】
＜着目領域決定処理＞
ステップＳ５０３において着目領域決定部４０４が実行する着目領域を決定する処理について詳細に説明する。着目領域決定部４０４は、ステップＳ５０２で解析した結果得られる局所領域の構造に基づいて、適切な着目領域の形状を決定する。図１０は、着目領域決定部４０４における処理の流れを示すフローチャートである。
【００４４】
まず、ステップＳ１００１において着目領域決定部４０４が、着目領域サイズＴＲｓｉｚｅに予め設定された初期値を設定する。また、ノイズを低減する処理を実行する着目画素の位置に応じて、着目領域Ｔａｒ＿Ｒを設定する。本実施形態においてはＴＲｓｉｚｅの初期値は１とする。この場合、着目画素の上下左右に１画素ずつ拡張した３画素×３画素の領域を着目領域の初期設定とすることを意味している。図１１（ａ）に、初期値により設定される着目領域を示す。黒く塗りつぶされた矩形は着目画素を示しており、斜線が描かれた矩形は着目領域の初期設定を示している。
【００４５】
ステップＳ１００２において着目領域決定部４０４が、ステップＳ５０２において解析した結果得られる、着目画素を中心とする局所領域の輝度勾配ヒストグラムを取得する。
【００４６】
ステップＳ１００３において着目領域決定部４０４は、ステップＳ１００２において取得した輝度勾配ヒストグラムを参照し、着目画素の近傍に所定の条件を満たす特徴があるかないかを判定する。ここで特徴とは、エッジのことであり、輝度勾配ヒストグラムにおいて突出した勾配強度を有する輝度勾配方向があるという条件を満たすかどうかにより判定される。具体的には、輝度勾配ヒストグラムにおいて、各輝度勾配方向について、隣接する輝度勾配方向の輝度勾配強度との差分をと、予め設定された閾値ｔｈ（局所領域における輝度勾配強度の最大値のｘ％（例えばｘ＝３０））を比較する。隣接する輝度勾配方向との輝度勾配強度の差分が閾値ｔｈを超える場合、輝度勾配方向は輝度勾配ヒストグラムにおいて突出していると判定し、特徴ありとみなす。着目画素近傍に特徴ありと判定された場合は、ステップＳ１００４に進む。そうでない場合は輝度勾配ヒストグラムにおいて突出した輝度勾配方向はないと判定する。
【００４７】
ステップＳ１００４において着目領域決定部４０４は、着目画素近傍にある特徴に応じて、着目領域の初期値を更新し、着目領域を変形する。まず着目領域決定部４０４は、着目画素に対応する局所領域において、輝度勾配強度が最も大きい勾配方向を検出する。局所領域は、輝度勾配強度が最も大きい勾配方向が、輝度勾配ヒストグラムにおいて突出した輝度勾配方向である可能性が高く、局所領域では輝度勾配強度が最も大きい勾配方向と直行する方向にエッジを有するとみなせる。また、５画素×５画素である局所領域において輝度勾配強度が最も大きい勾配方向と直行する方向にエッジを有する場合、３画素×３画素である着目領域の初期状態においても同様のエッジがあるとみなすことができる。そこで着目領域決定部４０４は、着目領域の初期状態である３画素×３画素を、輝度勾配強度が最も大きい方向へ縮め、その法線方向へ拡大するように変更する。図９（ｂ）の輝度勾配ヒストグラムを構造解析結果の例にすると、ステップＳ１００２において輝度勾配方向１３５度が突出した輝度勾配方向であると判定されたとする。この場合、着目領域の初期状態において４５度方向に位置する画素を着目領域に追加し、１３５度方向に位置する画素を着目領域から除外する。図１１（ｂ）は、着目領域を変形した結果を示す。図１１（ｂ）に示す斜線が入った矩形は、変形後の着目領域に含まれる画素である。なお参考例として、突出した輝度勾配方向の法線の向きが２２．５度、９０度である場合に着目領域の初期状態を、変形した着目領域をそれぞれ図１１（ｃ）、（ｄ）に示す。本実施形態では、輝度勾配強度が最も大きい向きの法線方向へ着目領域を伸ばしたが、輝度勾配強度が小さい向きへ伸ばしてもよい。ステップＳ５０４における着目領域を決定する処理についての説明を終了する。
【００４８】
以上のように第１実施形態では、着目画素の近傍に特定の方向への勾配がない場合、予め設定された矩形領域に含まれる複数の画素を着目領域として設定する。着目画素の近傍に特定の方向に勾配がある場合、エッジの方向に合わせて着目領域を設定する。
【００４９】
＜探索領域決定処理＞
ステップＳ５０４において探索領域決定部４０５が実行する探索領域を決定する処理について説明する。理想的なノイズを低減する処理では、本来ノイズが無い場合に着目画素の画素値と同じ画素値をもつ画素を参照画素として平均することである。一方、本来のノイズがない場合に着目画素の画素値と異なる画素値をもつ画素を参照画素として平均した値を着目画素の値としてしまうと、本来の画像におけるエッジやコントラストが失われ、ぼけなどの原因となる。そこで本実施形態では、局所領域の構造解析結果を参照し、着目画素の近傍において着目画素と同じ画素値をもつ画素が多いことが推測される領域に探索範囲を設定する。図１２は、探索領域決定部４０５における処理の流れを示すフローチャートである。
【００５０】
まず、ステップＳ１２０１において探索領域決定部４０５は、ステップＳ５０２で着目画素を中心とする局所領域の輝度勾配ヒストグラムを取得する。ステップＳ１２０２において探索領域決定部４０５が、ステップＳ１２０１で参照した輝度勾配ヒストグラムから特徴の有無を判定する。特徴ありと判定された場合は、ステップＳ１２０３に進み、そうでなければステップＳ１２０４に進む。本ステップにおける判定は、探索領域決定部４０５が、ステップＳ１００２と同様の処理を行うことで達成される。
【００５１】
ステップＳ１２０３において探索領域決定部４０５は、着目画素の近傍における特徴に応じて探索領域を設定する。着目画素の近傍には、局所領域において輝度勾配強度が最も大きい勾配方向に画素値が変化するような画像の特徴を有している。従って、着目画素の近傍においては、局所領域において輝度勾配強度が最も大きい勾配方向よりも、その法線方向に着目画素と同じ画素値の画素が存在している可能性が高い。そこで探索領域を、輝度勾配強度が最も大きい勾配方向へ短く、その法線方向へ長くなるように設定する。着目領域を決定する処理と同様に、図９（ｂ）の輝度勾配ヒストグラムを例にすると、ステップＳ１２０２で判定された突出した輝度勾配方向は１３５度となる。この場合探索領域は、着目領域を包含しつつ、４５度方向に長く、１３５度方向に短くした領域となる。以下、図１１（ｂ）に示す着目領域である場合において、探索領域を決定した例を図１３に示す。図１３（ａ）の斜線が入った矩形は着目領域に含まれる画素を表しており、黒く塗りつぶされた画素は着目画素を表している。なお着目画素自身も着目領域に含まれる画素である。また、太線で囲まれた領域が、設定された探索領域を表している。
【００５２】
ステップＳ１２０４において探索領域決定部４０５は、着目画素を中心に着目領域を包含する探索領域を決定する。ここで、探索領域はｎ×ｎ（ｎ：画素数）とする。つまり、突出した輝度勾配方向がない場合、探索領域は正方形となる。
【００５３】
最後に、図１３（ａ）のような着目領域及び探索領域の場合、ステップＳ５０６で行う参照領域の選択方法について説明する。参照領域は着目領域と同じ形状とし、着目領域における着目画素の位置と参照領域における参照画素の位置とが同じになるように設定する。従って参照領域は、図１３（ｂ）の×印で表された画素を参照領域の設定を開始する画素とする。従って、本実施形態では、探索領域に含まれるすべての画素を順に参照画素とし、参照領域を背低する。具体的には、参照領域は最初に設定された参照画素からカウントアップする変数ｉに応じて一画素ずつ右へ移動する。参照画素が探索領域の右端部に到達した場合は、一画素下に下がり、左端から再度同じように移動する。以上、ステップＳ５０４における探索領域を決定する処理についての説明を終了する。
【００５４】
＜重み算出処理＞
ステップＳ５０８における重みＷ（ｘ，ｙ）を算出する処理について詳細に説明する。着目画素の近傍に特定の方向に偏った勾配がある場合、着目画素の近傍には着目画素と類似しない画素が存在する可能性がある。着目画素との類似度が低い参照画素に対して重みを大きく設定してしまうと、着目画素近傍の本来のエッジ、特に低コントラストはぼけてしまう。従って着目画素の近傍に特徴があると判定された場合には、そうでない（例えば着目画素が平坦な領域にある）場合と比べて、低コントラストがぼけてしまう可能性が高いといえる。そこで重み算出部４０７は、着目画素の近傍における構造の解析結果に基づいて、参照画素の重みを算出するためのパラメータを設定する。図１４は重み算出部４０７における処理の流れを示すフローチャートである。
【００５５】
まず、ステップＳ１４０１において重み算出部４０７は、ステップＳ５０２で解析した結果得られる、着目画素を中心とする局所領域の輝度勾配ヒストグラムを取得する。ステップＳ１４０２において重み算出部４０７は、ステップＳ１４０１で取得した着目画素に対応する輝度勾配ヒストグラムから、着目画素の近傍に特徴が有るか無いかを判定する。特徴ありと判定された場合は、ステップＳ１４０３に進み、そうでなければステップＳ１４０４に進む。本ステップにおける判定は、重み算出部４０７が、ステップＳ１００２と同様の処理を行うことで達成される。
【００５６】
ステップＳ１４０３において重み算出部４０７は、式（３）内の重みの大きさを制御する変数ｈを小さく補正する。具体的には、変数ｈに予め設定した補正係数Ｋ（例えばＫ＝０．３）を乗算する。これにより同じ類似度Ｃｊを算出された場合でもあっても、変数ｈを用いて算出した重みよりも、補正した変数ｈを用いて算出した重みの方が小さい値が出力される。ただし、０＜Ｋ＜１．０とする。
【００５７】
尚、本実施形態では重みを算出するための変数ｈに１未満の補正係数Ｋを乗算することでより小さい重みが算出されるように式（３）を補正したが、変数ｈが小さくすることができればよく、これに限られるものではない。あるいは、着目画素の近傍に所定の特徴がある場合、特徴がない場合に算出される重みを直接小さく補正してもよい。
【００５８】
ステップＳ１４０４において重み算出部４０７は、式（３）より各参照画素の重みＷ（ｘ，ｙ）を算出する。
【００５９】
以上により、ステップＳ５０８における重みを算出する処理についての説明を終了する。以上の通り、本実施形態によれば、局所領域ごとに輝度勾配のヒストグラムを算出する。輝度勾配ヒストグラムにおいて、特定の輝度勾配方向が突出しているかどうかにより局所領域の構造を解析する。その結果、低コントラストであるエッジであってもその特徴を検出し、検出した特徴に応じて着目画素に対しノイズを低減する処理を実行することができる。これにより、コントラストのぼけを抑制しつつノイズを低減することができる。
【００６０】
［第２実施形態］
第１実施形態では、構造解析部４０３が行う構造解析処理において、輝度勾配ヒストグラムを作成し、輝度勾配ヒストグラムに基づいて特徴を検出し、ノイズを低減する処理を実行する方法を説明した。第２実施形態では、構造解析部４０３が、異なる方向のエッジを検出する複数のエッジ検出フィルタを用いてエッジ情報を作成する例を説明する。本実施形態における画像処理装置のハードウェア構成及び処理データの流れを示すブロック図は、第１実施形態と同じである。同様の構成については同一の符号を用いて説明し、詳細な説明を省略する。以下、第２実施形態における構造解析処理、着目領域決定処理、探索領域決定処理、重み算出処理の処理内容について説明する。なお第２実施形態では、構造解析を実行する局所領域を９画素×９画素のブロックとする。
【００６１】
＜構造解析処理＞
図１５は、第２実施形態に適用可能な構造解析部４０３が実行する処理のフローチャートである。まず、ステップＳ１５０１において構造解析部４０３は、予め用意した複数のエッジ方向を判定するためのエッジ方向判定フィルタから、１つのエッジ方向判定フィルタを読み込む。図１６（ａ）〜（ｄ）にエッジ方向判定フィルタの一例を示す。黒く塗りつぶした矩形は着目画素を示しており、丸と三角が描かれた矩形はそれぞれ、エッジの方向を判定するための計算に用いる画素を示している。
【００６２】
ステップＳ１５０２において構造解析部４０３は、局所領域に対して、ステップＳ１５０１で選択したエッジ方向判定フィルタを用いてフィルタ処理を実行する。具体的には、局所領域Ｌｏｃ＿Ｒに対して、エッジ方向判定フィルタにおいて丸が描かれた矩形と空間的に対応する画素の画素値の和を算出する。同様に、エッジ方向判定フィルタにおいて三角が描かれた矩形と空間的に対応する画素の画素値の和も算出する。そして、２つの画素値の和の差分を算出することで、２つの直線上に位置する画素群の輝度差を求める。輝度差が大きい場合は、所定の方向に勾配があると判定できる。図１６（ａ）に示すエッジ方向判定フィルタの場合、算出される輝度差が大きい場合は、着目画素を通る水平な直線にエッジがあるとみなすことができる。図１６（ｂ）（ｃ）（ｄ）に示すエッジ方向判定フィルタそれぞれの場合、着目画素を通り勾配が４５度の直線、着目画素を通り勾配が１２０度の直線に、着目画素の通り勾配が９０度の直線に、エッジがあるとみなすことができる。
【００６３】
ステップＳ１５０３において構造解析部４０３は、局所領域に対して全てのエッジ方向判定フィルタを用いたフィルタ処理を完了したかを判定する。完了している場合、ステップＳ１５０４に進み、そうでなければステップＳ１５０１に戻る。
【００６４】
ステップＳ１５０４において構造解析部４０３は、ステップＳ１５０２において算出した各エッジ方向判定フィルタを用いたフィルタ処理の結果得られる輝度差が最も大きい方向を、着目画素近傍におけるエッジ方向として選択する。
【００６５】
＜着目領域決定処理と探索領域決定処理＞
本実施形態では、構造解析処理で求めたエッジ方向に基づいて着目領域と探索領域を決定する。エッジ方向に沿って着目領域及び探索領域を広く、エッジの向きの法線方向に沿って着目領域及び探索領域を狭くなるように、それぞれの領域を決定する。従って、第１実施形態とは異なり、正方形の領域を着目領域や探索領域として設定されることはなく、必ずエッジ方向判定フィルタに対応する４つの方向のいずれかに応じた形状の領域となる。この実施形態では、局所領域が平坦部であってもいずれかのエッジ方向に応じた領域を設定されることになるが、いかなる低コントラストのエッジであっても、そのエッジの方向に合わせた領域を設定することができる。
【００６６】
＜重み算出処理＞
本実施形態では、構造解析処理で求めたエッジ方向に基づいて重みを算出する。具体的には、ステップＳ１５０４で選択したフィルタ処理結果が最大のエッジ方向について、フィルタ処理結果である輝度差が所定の閾値よりも小さい場合には、重みを小さく補正する。フィルタ処理結果の最大値が小さいということは、低コントラスト領域であることを示しており、局所領域には特徴のある情報（例えば、胸部Ｘ線画像データの肺野における細かい血管など）が存在する可能性がある。そこで、この情報がぼけて知覚しにくくなってしまうことを緩和するために、式（３）における重みを算出するための変数ｈを小さく補正する。その結果、ノイズ低減の度合は弱くなり、低コントラスト領域のぼけを緩和することができる。尚、重みの補正方法は第１実施形態と同じでもよいが、変数ｈが小さくすることができればよく、これに限られるものではない。
【００６７】
第２実施形態では、いずれかの方向にエッジがあると仮定し、いずれかの方向に応じた着目領域、探索領域を設定し、かつエッジのコントラストに応じて重みを決定する。これにより、着目画素に低いコントラストのエッジがある場合であっても、その特徴を検出でき、特徴に応じて着目画素に対してノイズを低減する処理を実現できる。その結果、画像における低コントラストのエッジをぼけを抑制しながら、ノイズを低減することができる。
【００６８】
＜他の実施形態＞
ここまで説明した実施形態では、構造解析した結果に基づいて、着目領域の変形・決定及び探索領域の決定を行ったが、着目領域または探索領域のうちいずれかは固定の領域を用いても同様の効果を得ることができる。
【００６９】
また、実施形態では、Ｘ線撮像装置で撮影したグレースケール画像のノイズを低減する処理について述べたが、デジタルカメラで撮影したＲＧＢ画像データについても同様の処理が適用可能である。その際、第１および第２の実施形態において説明した処理をＲＧＢそれぞれの画像データに独立して適用する。もしくは、画素毎にＲＧＢ値から算出した輝度を用いて、ステップＳ５０２〜５０４で行う、局所領域の構造を解析して着目領域や探索領域を決定する処理を行ってもよい。
【００７０】
なお本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現できる。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2017076240.tif 000008
【図２】
2017076240.tif 000009
【図３】
2017076240.tif 000010
【図４】
2017076240.tif 000011
【図５】
2017076240.tif 000012
【図６】
2017076240.tif 000013
【図７】
2017076240.tif 000014
【図８】
2017076240.tif 000015
【図９】
2017076240.tif 000016
【図１０】
2017076240.tif 000017
【図１１】
2017076240.tif 000018
【図１２】
2017076240.tif 000019
【図１３】
2017076240.tif 000020
【図１４】
2017076240.tif 000021
【図１５】
2017076240.tif 000022
【図１６】
2017076240.tif 000023