(57)【要約】      （修正有）【課題】画像のフィルタ処理にかかるデータの記憶量や演算量の増加を抑えつつ、フィルタ性能を向上させる。【解決手段】画像処理装置１は、入力画像における処理の対象画素と、対象画素の周囲にある周辺画素とを含む画素ブロックごとに、周辺画素の画素値と対象画素の画素値との差分が所定の閾値を超える周辺画素の画素値を置き換えるフィルタ処理を行うεフィルタリング手段４０と、画素ブロックの画像構造を示す画素ブロックにおける画素勾配に関する方向別のヒストグラムを取得する取得手段１０と、画素ブロック単位で、画素ブロックの方向別のヒストグラムが示す、画素ブロックにフィッティングする回帰曲面に対応したフィルタ係数を記憶する記憶手段２０と、取得された画素ブロックの方向別のヒストグラムに対応したフィルタ係数で、画素ブロックのフィルタ処理を行う係数フィルタリング手段４０とを備える【選択図】図１
2011065641.tif 000002
【特許請求の範囲】
【請求項１】
入力画像における処理の対象画素と、当該対象画素の周囲にある周辺画素とを含む画素ブロックごとに、前記周辺画素の画素値と前記対象画素の画素値との差分が所定の閾値を超える前記周辺画素の画素値を置き換えるフィルタ処理を行うεフィルタリング手段と、
前記画素ブロックの画像構造を示す前記画素ブロックにおける画素勾配に関する方向別のヒストグラムを取得する取得手段と、
前記画素ブロック単位で、前記画素ブロックの方向別のヒストグラムが示す、前記画素ブロックにフィッティングする回帰曲面に対応したフィルタ係数を記憶する記憶手段と、
取得された前記画素ブロックの方向別のヒストグラムに対応したフィルタ係数で、前記画素ブロックのフィルタ処理を行う係数フィルタリング手段と、を備え、
前記εフィルタリング手段は、前記係数フィルタリング手段に先立ってフィルタ処理を行い、
前記εフィルタリング手段は、互いに値の異なる少なくとも２つ以上の前記閾値により、前記差分が値の大きな方の前記閾値を超える前記周辺画素の画素値が前記対象画素の画素値に近づくように、前記周辺画素の画素値を段階的に置き換えることを特徴とする画像処理装置。
【請求項２】
前記εフィルタリング手段は、前記差分が大きくなるほど前記周辺画素の画素値を置き換えた後に前記対象画素の画素値の割合が増加するように、前記周辺画素の画素値を置き換える際の、当該周辺画素の画素値の重み付けに関する比率を、前記閾値ごとに段階的に設定していることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
取得された前記画素ブロックの方向別のヒストグラムが示す画像構造が平坦であるか否かに応じて、前記係数フィルタリング手段に先立って前記εフィルタリング手段を行うか否かの切り替えを行う切替手段を更に備え、
前記切替手段は、前記画像構造が平坦でない場合に前記係数フィルタリング手段に先立って前記εフィルタリング手段を行うように切り替えることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
入力画像における処理の対象画素と、当該対象画素の周囲にある周辺画素とを含む画素ブロックごとに、前記周辺画素の画素値と前記対象画素の画素値との差分が所定の閾値を超える前記周辺画素の画素値を置き換えるフィルタ処理を行うεフィルタリング手段と、
前記画素ブロックの画像構造を示す前記画素ブロックにおける画素勾配に関する方向別のヒストグラムを取得する取得手段と、
前記画素ブロック単位で、前記画素ブロックの方向別のヒストグラムが示す、前記画素ブロックにフィッティングする回帰曲面に対応したフィルタ係数を記憶する記憶手段と、
取得された前記画素ブロックの方向別のヒストグラムに対応したフィルタ係数で、前記画素ブロックのフィルタ処理を行う係数フィルタリング手段と、
前記フィルタ処理された画像を表示する表示手段と、を備え、
前記εフィルタリング手段は、前記係数フィルタリング手段に先立ってフィルタ処理を行い、
前記εフィルタリング手段は、互いに値の異なる少なくとも２つ以上の前記閾値により、前記差分が値の大きな方の前記閾値を超える前記周辺画素の画素値が前記対象画素の画素値に近づくように、前記周辺画素の画素値を段階的に置き換えることを特徴とする表示装置。
【請求項５】
εフィルタリング手段が、入力画像における処理の対象画素と、当該対象画素の周囲にある周辺画素とを含む画素ブロックごとに、前記周辺画素の画素値と前記対象画素の画素値との差分が所定の閾値を超える前記周辺画素の画素値を置き換えるフィルタ処理を行うεフィルタリングステップと、
取得手段が、前記画素ブロックの画像構造を示す前記画素ブロックにおける画素勾配に関する方向別のヒストグラムを取得する取得ステップと、
係数フィルタリング手段が、取得された前記画素ブロックの方向別のヒストグラムが示す、当該画素ブロックにフィッティングする回帰曲面に対応したフィルタ係数で、前記画素ブロックのフィルタ処理を行う係数フィルタリングステップと、を含み、
前記εフィルタリングステップは、前記係数フィルタリングステップに先立ってフィルタ処理を行い、
前記εフィルタリングステップは、互いに値の異なる少なくとも２つ以上の前記閾値により、前記差分が値の大きな方の前記閾値を超える前記周辺画素の画素値が前記対象画素の画素値に近づくように、前記周辺画素の画素値を段階的に置き換えることを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、表示装置及び画像処理方法に関する。
【背景技術】
【０００２】
従来から、画像のモスキートノイズやブロックノイズなどのノイズを除去するための画像処理として、エッジ保存型平滑化フィルタによるフィルタ処理がある。このフィルタ処理では、処理対象の画素とその周囲の画素とから構成された画素ブロックごとにエッジを含むか否かを判別し、ノイズを除去する画素ブロックを選択してノイズ除去を行う従来技術が知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−２３２２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上述したフィルタ処理では、画素ブロックが小さすぎると局所的な特徴しか捉えることが出来ないため、画素ブロックの大きさがフィルタ性能に大きく影響する。しかしながら、画素ブロックの大きさに比例して、画素ブロックにかかるフィルタ係数の記憶量や、そのフィルタ係数の乗算回数などの演算量も増加してしまい、上記従来技術では、フィルタ処理にかかるデータの記憶量や演算量の増加を抑えつつ、フィルタ性能を向上させることはできなかった。
【０００５】
本発明は、上記に鑑みてなされたものであって、画像のフィルタ処理にかかるデータの記憶量や演算量の増加を抑えつつ、フィルタ性能を向上させることを可能とする画像処理装置、表示装置及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明の画像処理装置は、入力画像における処理の対象画素と、当該対象画素の周囲にある周辺画素とを含む画素ブロックごとに、前記周辺画素の画素値と前記対象画素の画素値との差分が所定の閾値を超える前記周辺画素の画素値を置き換えるフィルタ処理を行うεフィルタリング手段と、前記画素ブロックの画像構造を示す前記画素ブロックにおける画素勾配に関する方向別のヒストグラムを取得する取得手段と、前記画素ブロック単位で、前記画素ブロックの方向別のヒストグラムが示す、前記画素ブロックにフィッティングする回帰曲面に対応したフィルタ係数を記憶する記憶手段と、取得された前記画素ブロックの方向別のヒストグラムに対応したフィルタ係数で、前記画素ブロックのフィルタ処理を行う係数フィルタリング手段と、を備え、前記εフィルタリング手段は、前記係数フィルタリング手段に先立ってフィルタ処理を行い、前記εフィルタリング手段は、互いに値の異なる少なくとも２つ以上の前記閾値により、前記差分が値の大きな方の前記閾値を超える前記周辺画素の画素値が前記対象画素の画素値に近づくように、前記周辺画素の画素値を段階的に置き換えることを特徴とする。
【０００７】
また、本発明の表示装置は、入力画像における処理の対象画素と、当該対象画素の周囲にある周辺画素とを含む画素ブロックごとに、前記周辺画素の画素値と前記対象画素の画素値との差分が所定の閾値を超える前記周辺画素の画素値を置き換えるフィルタ処理を行うεフィルタリング手段と、前記画素ブロックの画像構造を示す前記画素ブロックにおける画素勾配に関する方向別のヒストグラムを取得する取得手段と、前記画素ブロック単位で、前記画素ブロックの方向別のヒストグラムが示す、前記画素ブロックにフィッティングする回帰曲面に対応したフィルタ係数を記憶する記憶手段と、取得された前記画素ブロックの方向別のヒストグラムに対応したフィルタ係数で、前記画素ブロックのフィルタ処理を行う係数フィルタリング手段と、前記フィルタ処理された画像を表示する表示手段と、を備え、前記εフィルタリング手段は、前記係数フィルタリング手段に先立ってフィルタ処理を行い、前記εフィルタリング手段は、互いに値の異なる少なくとも２つ以上の前記閾値により、前記差分が値の大きな方の前記閾値を超える前記周辺画素の画素値が前記対象画素の画素値に近づくように、前記周辺画素の画素値を段階的に置き換えることを特徴とする。
【０００８】
また、本発明の画像処理方法は、εフィルタリング手段が、入力画像における処理の対象画素と、当該対象画素の周囲にある周辺画素とを含む画素ブロックごとに、前記周辺画素の画素値と前記対象画素の画素値との差分が所定の閾値を超える前記周辺画素の画素値を置き換えるフィルタ処理を行うεフィルタリングステップと、取得手段が、前記画素ブロックの画像構造を示す前記画素ブロックにおける画素勾配に関する方向別のヒストグラムを取得する取得ステップと、係数フィルタリング手段が、取得された前記画素ブロックの方向別のヒストグラムが示す、当該画素ブロックにフィッティングする回帰曲面に対応したフィルタ係数で、前記画素ブロックのフィルタ処理を行う係数フィルタリングステップと、を含み、前記εフィルタリングステップは、前記係数フィルタリングステップに先立ってフィルタ処理を行い、前記εフィルタリングステップは、互いに値の異なる少なくとも２つ以上の前記閾値により、前記差分が値の大きな方の前記閾値を超える前記周辺画素の画素値が前記対象画素の画素値に近づくように、前記周辺画素の画素値を段階的に置き換えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、画像のフィルタ処理にかかるデータの記憶量や演算量の増加を抑えつつ、フィルタ性能を向上させることを可能とする、という効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、画像処理装置の機能構成を示すブロック図である。
【図２】図２は、ヒストグラム生成部の機能構成を示すブロック図である。
【図３】図３は、方向ヒストグラムの計算を例示する図である。
【図４】図４は、方向ヒストグラムの変換を例示する図である。
【図５】図５は、ヒストグラム生成部の処理を示すフローチャートである。
【図６】図６は、変換された方向ヒストグラムによるフィルタ係数を用いたフィルタリングを例示する図である。
【図７】図７は、フィルタリング部の機能構成を示すブロック図である。
【図８】図８は、多値εフィルタ（２値）において、中心画素との差分絶対値と、周辺画素の重みとの関係を例示する図である。
【図９】図９は、単純なεフィルタ、Ｂｉｌａｔｅｒａｌフィルタにおいて、中心画素との差分絶対値と、周辺画素の重みとの関係を例示する図である。
【図１０】図１０は、多値εフィルタリング部の処理を示すフローチャートである。
【図１１】図１１は、多値εフィルタ（３値）において、中心画素との差分絶対値と周辺画素の重みとの関係を例示する図である。
【図１２】図１２は、広域フィルタリングにおける第３の画素ブロックを例示する図である。
【図１３】図１３は、フィルタリング部における広域フィルタリングにかかる処理を示すフローチャートである。
【図１４】図１４は、コンピュータのハードウエア構成例を示す図である。
【図１５】図１５は、コンピュータのハードウエア構成例を示す図である。
【図１６】図１６は、変形例にかかるフィルタリング部の機能構成を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、この発明にかかる画像処理装置、表示装置及び画像処理方法の最良な実施の形態を詳細に説明する。図１は、本実施形態にかかる画像処理装置１の機能構成を示すブロック図である。
【００１２】
図１に示すように、画像処理装置１は、ヒストグラム生成部１０、テンプレートテーブル部２０、エッジパラメータ算出部３０、フィルタリング部４０を備える。画像処理装置１は、入力された動画像又は静止画像の入力画像に対し、フィルタリング部４０においてノイズ除去フィルタ処理（フィルタリング）を行って、入力画像からノイズを除去した出力画像を出力する。
【００１３】
本実施形態におけるノイズ除去では、画素ブロックにおける画素勾配（画素の微分値）に関する方向別のヒストグラム（以下、方向ヒストグラムという）を、画素ブロックの特徴量として用いている。図１に示すように、ヒストグラム生成部１０は、入力画像におけるフィルタ対象の画素と、その周囲にある画素とを含む、所定の大きさの画素ブロックの方向ヒストグラムを生成する。すなわち、ヒストグラム生成部１０は、上述した画素ブロックの画像構造を示す特徴量を取得する取得手段である。
【００１４】
テンプレートテーブル部２０は、方向ヒストグラムの種々の形状に対応したフィルタ係数が格納されたテンプレートテーブル（ルックアップテーブル）を予め記憶している。すなわち、テンプレートテーブル部２０は、複数の画素で構成された所定サイズの画素ブロック（後述する第１の画素ブロック）単位で、その画素ブロックの画像構造を示す特徴量である方向ヒストグラムに対応したフィルタ係数を記憶している。テンプレートテーブル部２０は、ヒストグラム生成部１０で生成された画素ブロックごとの方向ヒストグラムに対応したフィルタ係数を、テンプレートテーブルを参照してフィルタリング部４０に出力する。
【００１５】
テンプレートテーブル部２０が持つフィルタ係数の生成例としては、例えばフィルタ対象の画素を中心とした複数の画素（Kernel）にフィッティングする回帰曲面（曲面モデル）を求める手法がある［H.  Takeda,  S.  Farsiuand  P.  Milanfar,  "Kernel  Regression  for  Image  Processing  and  Reconstruction",  IEEE  Trans.  Image  Proc.,  Vol.  16,  No.2,  pp.  349-366,  2007］。回帰曲面を当てはめるのと等価なフィルタ係数を生成し、方向ヒストグラムとを対応付けることにより、先鋭度とノイズ除去を両立したフィルタ処理が可能となる。
【００１６】
エッジパラメータ算出部３０は、画素ブロックごとに、その画素ブロックに含まれるエッジの方向・強さ・シャープさを示すエッジパラメータを算出する。フィルタリング部４０は、入力画像をフィルタリングしてノイズ除去を行った出力画像を出力する。具体的には、フィルタリング部４０は、テンプレートテーブル部２０からのフィルタ係数とエッジパラメータ算出部３０で算出されたエッジパラメータとに基づいて、画素ブロックごとにフィルタ係数での畳み込み演算を行う。
【００１７】
ここで、ヒストグラム生成部１０の詳細について説明する。図２は、ヒストグラム生成部１０の機能構成を示すブロック図である。図２に示すように、ヒストグラム生成部１０は、方向ヒストグラム計算部１１と方向ヒストグラム変換部１２とを備える。
【００１８】
方向ヒストグラム計算部１１は、フィルタ係数でのフィルタリングにかかる画素ブロック（以下、第１の画素ブロックと呼ぶ）よりも大きいサイズの画素ブロック（以下、第２の画素ブロックと呼ぶ）で方向ヒストグラムの計算を行う。方向ヒストグラム変換部１２は、第２の画素ブロックで計算された方向ヒストグラムを、第１の画素ブロック相当の方向ヒストグラムに変換（正規化）する。
【００１９】
図３は、方向ヒストグラムの計算を例示する図であり、図４は、方向ヒストグラムの変換を例示する図である。図３に示すように、方向ヒストグラム計算部１１では、画素ブロックに含まれる画素の水平、垂直の微分値から、方向成分、強度成分を計算する。そして、方向ヒストグラム計算部１１は、計算した方向成分、強度成分をもとに、例えば０〜３の４方向別の方向ヒストグラムを計算する。このようにして、方向ヒストグラム計算部１１は、第２の画素ブロックにおける方向ヒストグラムを計算する。
【００２０】
図４に示すように、第２の画素ブロックＢ２は、フィルタ係数でのフィルタリングにかかる第１の画素ブロックＢ１よりもサイズが大きくなっているため、第１の画素ブロックＢ１よりも広い範囲で画像の特徴を捉えることができる。しかしながら、フィルタ係数が第１の画素ブロックＢ１における方向ヒストグラムに対応した設計となっているため、第２の画素ブロックＢ２における方向ヒストグラムは、そのままでは用いることができず、第１の画素ブロックＢ１相当の方向ヒストグラムに変換する必要がある。方向ヒストグラム計算部１１では、第２の画素ブロックＢ２と第１の画素ブロックＢ１との面積比により、第１の画素ブロックＢ１相当の方向ヒストグラムへの変換を行っている。例えば第１の画素ブロックＢ１が３×３画素、第２の画素ブロックＢ２が７×７画素の場合は、第２の画素ブロックＢ２における方向ヒストグラムに９／４９を乗算して、第１の画素ブロックＢ１相当の方向ヒストグラムへの変換を行う。
【００２１】
図５は、ヒストグラム生成部１０の処理を示すフローチャートである。図５に示すように、処理が開始されると、方向ヒストグラム計算部１１は第２の画素ブロックの大きさで方向ヒストグラムの計算を行う（Ｓ１１）。次いで、方向ヒストグラム変換部１２は、方向ヒストグラム計算部１１が計算した方向ヒストグラムを、第１の画素ブロックの大きさ相当の方向ヒストグラムに変換する（Ｓ１２）。
【００２２】
次いで、ヒストグラム生成部１０は、入力画像の各画素にかかる全ての画素ブロックについて方向ヒストグラムの計算が終了したか否かを判定する（Ｓ１３）。全ての画素ブロックについて方向ヒストグラムの計算が終了した場合（Ｓ１３：ＹＥＳ）は処理を終了する。終了していない場合（Ｓ１３：ＮＯ）は、未だ方向ヒストグラムの計算が行われていない画素ブロックの計算を行うように、Ｓ１１へ処理を戻す。
【００２３】
図６は、変換された方向ヒストグラムによるフィルタ係数を用いたフィルタリングを例示する図である。図６に示すように、ヒストグラム生成部１０では、フィルタ係数でのフィルタリングにかかる第１の画素ブロックＢ１よりも大きなサイズの第２の画素ブロックＢ２で方向ヒストグラム（特徴量）を計算し、第１の画素ブロックＢ１と第２の画素ブロックＢ２との面積比などにより、第１の画素ブロックＢ１相当の方向ヒストグラムへの変換（正規化）を行っている。
【００２４】
一般的には、フィルタ係数でのフィルタリングにかかる画素ブロックの大きさが小さいほど、テンプレートテーブル部２０が記憶しているテンプレートテーブルの大きさを小さくし、フィルタリング時における畳み込み演算の演算量を少なくすることができる。しかしながら、画素ブロックの大きさが小さいほど、入力画像における局所的な特徴しか捉えることができなくなる。例えば、エッジ境界が画素ブロックの境界に重なるなどした場合、小さい画素ブロックでは、エッジ形状を正しく捉えることができず、適切なフィルタ係数が選択できなくなる。このため、画素ブロックの大きさが小さいほど、フィルタリングした後の出力画像の画質が低下してしまう。
【００２５】
ヒストグラム生成部１０では、第１の画素ブロックＢ１よりも大きなサイズの第２の画素ブロックＢ２で入力画像の特徴を捉えており、正確に特徴を示した方向ヒストグラムを生成することができ、フィルタ性能を向上させることができる。また、第２の画素ブロックＢ２で計算した方向ヒストグラムを第１の画素ブロックＢ１相当の方向ヒストグラムへ変換しているため、テンプレートテーブル部２０のメモリ量やフィルタリング時における演算量を増大させることがない。
【００２６】
なお、第１の画素ブロックＢ１が中心画素から水平、垂直方向の両方向にｎ画素の範囲であって、その大きさが（２ｎ＋１）×（２ｎ＋１）画素である場合、第２の画素ブロックＢ２は、中心画素から水平、垂直方向の両方向に２ｎ画素の範囲であって、その大きさが（４ｎ＋１）×（４ｎ＋１）画素であってよい（ｎ：０を含まない自然数）。第１の画素ブロックＢ１と第２の画素ブロックＢ２とがこのような関係を満たす場合は、ｎの値を大きくすることで、第１の画素ブロックＢ１と第２の画素ブロックＢ２との面積比を１：４として近似することができ、正規化演算を容易にすることができる。
【００２７】
また、第１の画素ブロックＢ１が中心画素から水平、垂直方向の両方向にｎ画素の範囲であって、その大きさが（２ｎ＋１）×（２ｎ＋１）画素である場合、第２の画素ブロックＢ２はその大きさが８ｍ×８ｍ画素であり、ｎとｍは互いに自然数であって２ｎ＋１＜８ｍの関係を満たすものであってよい。第１の画素ブロックＢ１と第２の画素ブロックＢ２とがこのような関係を満たす場合は、ビット処理の処理幅が８の倍数であるＣＰＵ（Central  Processing  Unit）やＤＳＰ（Digital  Signal  Processor）において、方向ヒストグラムの計算を効率的に行うことが可能となる。
【００２８】
次に、フィルタリング部４０の詳細について説明する。図７は、フィルタリング部４０の機能構成を示すブロック図である。図７に示すように、フィルタリング部４０は、多値εフィルタリング部４１、係数フィルタリング部４２、切替部４３、４４、広域εフィルタリング部４５、広域フィルタリング部４６を備える。
【００２９】
多値εフィルタリング部４１は、入力画像の各画素のフィルタリングにかかる画素ブロック（第１の画素ブロック）ごとに、閾値εを多値とするεフィルタ（以後、多値εフィルタと呼ぶ）処理を行う。εフィルタ処理は、画素ブロック内の処理の対象画素（中心画素）およびその周辺画素の画素値の差分の絶対値を、夫々閾値εと比較し、閾値εを超える周辺画素の画素値を中心画素の画素値で置き換える処理である。多値εフィルタリング部４１では、閾値εを多値とする多値εフィルタ処理を行うことで、画素値の置き換えを段階的に行っている。
【００３０】
図８は、多値εフィルタ（２値）において、中心画素との差分絶対値と、周辺画素の重みとの関係を例示する図である。図８に示すように、例えば閾値ε０、ε１（ε０＜ε１）の２値で多値εフィルタ処理を行う場合は、中心画素の画素値、中心画素の画素値と周辺画素の画素値との平均値、周辺画素の画素値という３段階の置き換えを行う。より具体的には、差分絶対値が閾値ε１を超える周辺画素は、その周辺画素の重み付けを０とし、中心画素の画素値で置き換える。また、差分絶対値が閾値ε１未満であり、閾値ε０を超える周辺画素は、その周辺画素の重み付けを０．５とし、中心画素の画素値と周辺画素の画素値との平均値で置き換える。また、差分絶対値が閾値ε０未満である周辺画素は、その周辺画素の重み付けを１とし、置き換えを行うことなく周辺画素の画素値のままとする。
【００３１】
図９は、単純なεフィルタ、Ｂｉｌａｔｅｒａｌフィルタにおいて、中心画素との差分絶対値と、周辺画素の重みとの関係を例示する図である。図９に示すように、閾値が１つである単純なεフィルタは、エッジなどの画素値の変化が大きい部分でフィルタ後の画素値変化が滑らかにならない可能性がある。処理対象となる中心画素との差分絶対値が小さい周辺画素ほど、周辺画素値に対する重みを大きくして畳み込むＢｉｌａｔｅｒａｌフィルタは、フィルタ後の画素値変化が滑らかになるが、ＳＩＭＤ（Single  Instruction  Multiple  Data）化などによる高速な演算に適していない。
【００３２】
これに対し、本実施形態における多値εフィルタは、複数の閾値εを用いて段階的に中心画素と周辺画素とを混合できるため、エッジなどの画素値の変化が大きい部分であってもフィルタ後の画素値変化を滑らかにすることができる。また、閾値εを用いた置き換えや平均値の算出は、ＳＩＭＤ化などによって高速に演算可能である。
【００３３】
図１０は、多値εフィルタリング部４１の処理を示すフローチャートであり、より具体的には閾値ε０、ε１（ε０＜ε１）の２値での多値εフィルタ処理を示している。図１０に示すように、処理が開始されると、多値εフィルタリング部４１は、入力画像の各画素に対応した画素ブロックについて、中心画素の画素値と周辺画素の画素値と差分の絶対値が閾値ε１を超えるか否かを判定し（Ｓ２１）、超える場合（ＹＥＳ）は中心画素の画素値で周辺画素の画素値を置き換えて（Ｓ２２）、Ｓ２５へ処理を進める。
【００３４】
Ｓ２１で超えない場合（ＮＯ）、多値εフィルタリング部４１は、中心画素の画素値と周辺画素の画素値と差分の絶対値が閾値ε０を超えるか否かを判定し（Ｓ２３）、超える場合（ＹＥＳ）は中心画素の画素値と周辺画素の画素値との平均値で周辺画素の画素値を置き換えて（Ｓ２４）、Ｓ２５へ処理を進める。Ｓ２３で超えない場合（ＮＯ）は、周辺画素の画素値はそのままで、Ｓ２５へ処理を進める。
【００３５】
Ｓ２５において、多値εフィルタリング部４１は、入力画像の全ての画素に対応した画素ブロックが多値εフィルタ処理を終了したか否かを判定する。全ての全ての画素に対応した画素ブロックが多値εフィルタ処理を終了した場合（Ｓ２５：ＹＥＳ）は処理を終了する。終了していない場合（Ｓ２５：ＮＯ）は、未だ多値εフィルタ処理が行われていない画素の画素ブロックに対して多値εフィルタ処理を行うように、Ｓ２１へ処理を戻す。
【００３６】
図１１は、多値εフィルタ（３値）において、中心画素との差分絶対値と周辺画素の重みとの関係を例示する図である。図１１に示すように、多値εフィルタにおける閾値εの数は、２値だけでなく、３値又はそれ以上であってよい。閾値が３値以上である場合も、差分絶対値が大きくなるほど、中心画素の画素値の割合が増加するように、周辺画素の重み付けに関する比率を段階的に設定する。具体的には、閾値ε０：閾値ε１：閾値ε２＝１：２：３に対して、周辺画素の重みが３：２：１になるように、各閾値の値の大きさによる比率で、周辺画素の重み付けに関する比率を段階的に設定する。これにより、フィルタ後の画素値変化をより滑らかにすることができる。
【００３７】
図７に示すように、係数フィルタリング部４２は、多値εフィルタリング部４１で多値εフィルタ処理が行われた画素ブロック（第１の画素ブロック）ごとに、テンプレートテーブル部２０より出力されたフィルタ係数による畳み込み演算を行い、各画素のフィルタリングを行う。このフィルタリングにより、フィルタリング部４０では、ノイズ除去が入力画像に対して行われることとなる。なお、係数フィルタリング部４２によるフィルタリングに先立って多値εフィルタリング部４１で多値εフィルタ処理が行われているため、係数フィルタリング部４２でのフィルタリング時には、画素ブロックの中心画素との差分が大きい周辺画素の影響を受けることなく、適切なフィルタリングを行うことができる。
【００３８】
切替部４３、４４は、エッジパラメータ算出部３０により算出されたエッジの方向・強さ・シャープさを示すエッジパラメータの値に応じて、係数フィルタリング部４２でフィルタリングされた後の画像に含まれる各画素についての処理経路を切り替える。具体的には、エッジパラメータの値（例えばエッジの強さ、シャープさなど）が予め設定された値以下で十分に小さく、各画素のフィルタリングにかかる画素ブロックの画像構造が平坦である場合には、広域εフィルタリング部４５、広域フィルタリング部４６での処理が行われるように処理経路を切り替える。また、エッジパラメータの値が予め設定された値を上回り、例えば各画素のフィルタリングにかかる画素ブロックの画像構造がエッジやコーナーである場合には、広域εフィルタリング部４５、広域フィルタリング部４６での処理を行うことなく、出力画像の画素として出力するように処理経路を切り替える。
【００３９】
広域εフィルタリング部４５は、各画素について、第１の画素ブロックよりも広範な第３の画素ブロック（広域画素ブロック）を処理範囲とするεフィルタ（以下、広域εフィルタ）処理を行う。具体的には、広域εフィルタ処理では、図１２に示すように、処理対象の画素を中心画素Ｇ１とし、第１の画素ブロックＢ１よりも広範な第３の画素ブロックＢ３を処理範囲とする。そして、広域フィルタ処理では、第３の画素ブロックＢ３内の中心画素およびその周辺画素の画素値の差分の絶対値を、夫々閾値εと比較し、閾値εを超える周辺画素の画素値を中心画素の画素値で置き換える。
【００４０】
なお、広域εフィルタ処理は、前述した多値εフィルタ処理であってもよい。ただし、広域εフィルタリング部４５では画像構造が平坦な画素を処理対象としているため、広域εフィルタ処理は、その処理を簡略化するうえで、１つの閾値εを用いた単純なεフィルタ処理であることが好ましい。したがって、本実施形態における広域εフィルタ処理は、１つの閾値εを用いた単純なεフィルタ処理とする。
【００４１】
広域フィルタリング部４６は、広域εフィルタリング部４５で広域εフィルタ処理が行われた画素ブロック（第３の画素ブロック）ごとに、平均値フィルタによる平滑化処理（広域フィルタ処理）を行う。具体的には、画素ブロックに含まれる画素の平均値とする演算を行う。
【００４２】
多値εフィルタリング部４１、係数フィルタリング部４２によって第１の画素ブロックＢ１でノイズ除去を行うだけは、画像構造が平坦な領域について、十分に平坦化できない場合がある。これ対して、第１の画素ブロックＢ１のサイズを大きくすることで対応する場合には、テンプレートテーブル部２０が記憶しているテンプレートテーブルを大きくする必要があり、テンプレートテーブル部２０のメモリ量の増大や、係数フィルタリング部４２でのフィルタリング時における演算量の増大などが生じることとなる。
【００４３】
本実施形態では、画像構造が平坦な領域については、広域εフィルタリング部４５、広域フィルタリング部４６での処理が行われるように切り替えている。これにより、第１の画素ブロックＢ１よりも広範な第３の画素ブロックＢ３での広域フィルタ処理が行われるため、画像構造が平坦な領域について、より効果的なフィルタ処理を行うことが可能となり、フィルタリング後の画質を向上させることができる。また、広域フィルタ処理が行われる画素数は第１の画素ブロックＢ１よりも多くなるが、第１の画素ブロックＢ１のサイズを大きくした場合に係数フィルタリング部４２のフィルタリング時に増大する演算量（畳み込み演算にかかる乗算）に比べて、同等以下の処理量で実現可能であり、テンプレートテーブル部２０のメモリ量を増大させることもない。
【００４４】
なお、第１の画素ブロックＢ１が中心画素から水平、垂直方向の両方向にｎ画素の範囲であって、その大きさが（２ｎ＋１）×（２ｎ＋１）画素である場合、第３の画素ブロックＢ３は、中心画素から水平、垂直方向の両方向に２ｎ画素の範囲であって、その大きさが（４ｎ＋１）×（４ｎ＋１）画素であってよい（ｎ：０を含まない自然数）。
【００４５】
また、第１の画素ブロックＢ１が中心画素から水平、垂直方向の両方向にｎ画素の範囲であって、その大きさが（２ｎ＋１）×（２ｎ＋１）画素である場合、第３の画素ブロックＢ３はその大きさが８ｍ×８ｍ画素であり、ｎとｍとは互いに自然数であって２ｎ＋１＜８ｍの関係が成り立つものであってよい。第１の画素ブロックＢ１と第３の画素ブロックＢ３とがこのような関係を満たす場合は、ビット処理の処理幅が８ｍの倍数であるＣＰＵやＤＳＰにおいて、第３の画素ブロックＢ３での広域フィルタ処理を効率的に行うことが可能となる。
【００４６】
図１３は、フィルタリング部４０における広域フィルタリングにかかる処理を示すフローチャートである。図１３に示すように、係数フィルタリング部４２でフィルタリングされた後の画像に含まれる所定の画素について、処理が開始されると、切替部４３、４４は、エッジパラメータ算出部３０により算出されたエッジパラメータに含まれるエッジの強さやシャープさの値が予め設定された値より小さく、十分小さい値であるか否かを判定する（Ｓ３１）。
【００４７】
エッジの強さやシャープさの値が十分小さい値である場合（Ｓ３１：ＹＥＳ）は、所定の画素について広域εフィルタリング部４５で広域εフィルタ処理（Ｓ３２）、広域フィルタリング部４６で広域フィルタ処理が行われて（Ｓ３３）、Ｓ３４へ処理を進める。エッジの強さやシャープさの値が十分小さい値でない場合（Ｓ３１：ＮＯ）は、所定の画素について広域εフィルタ処理や広域フィルタ処理が行われることなく、Ｓ３４へ処理を進める。
【００４８】
Ｓ３４において、フィルタリング部４０は、係数フィルタリング部４２でフィルタリングされた後の画像に含まれる全ての画素に対して処理が終了したか否かを判定する。全ての画素に対して処理が終了した場合（Ｓ３４：ＹＥＳ）は処理を終了する。全ての画素に対して処理が終了していない場合（Ｓ３４：ＮＯ）は、未だ処理が行われていない所定の画素に対して処理を行うように、Ｓ３１へ処理を戻す。
【００４９】
（コンピュータ等による実現）
図１４は、コンピュータ１００のハードウエア構成例を示す図である。図１４に示すように、コンピュータ１００は、ＣＰＵ１０１、操作部１０２、表示部１０３、ＲＯＭ１０４（Read  Only  Memory）、ＲＡＭ１０５（Random  Access  Memory）、信号入力部１０６及び記憶部１０７を有し、各部はバス１０８により接続されている。
【００５０】
ＣＰＵ１０１は、ＲＡＭ１０５の所定領域を作業領域として、ＲＯＭ１０４等に予め記憶された各種プログラムとの協働により各種処理を実行し、コンピュータ１００を構成する各部の動作を中央制御する。ＣＰＵ１０１は、また、ＲＯＭ１０４等に予め記憶されたプログラムとの協働により、本実施形態にかかる画像処理方法を実行する。
【００５１】
操作部１０２は、各種入力キー等を備え、ユーザから操作入力された情報を入力信号として受け付け、その入力信号をＣＰＵ１０１へ出力する。
【００５２】
表示部１０３は、ＬＣＤ（Liquid  Crystal  Display）等の表示手段により構成され、ＣＰＵ１０１からの表示信号に基づいて、各種情報や、前述した画像処理後の出力画像を表示する。なお、表示部１０３は、操作部１０２と一体的にタッチパネルを構成する態様としてもよい。
【００５３】
ＲＯＭ１０４は、コンピュータ１００の制御等にかかるプログラムや各種設定情報等を記憶する不揮発性メモリである。ＲＡＭ１０５は、例えばＳＤＲＡＭ等の記憶手段であって、ＣＰＵ１０１の作業エリアとして機能し、バッファ等の役割を果たす。
【００５４】
信号入力部１０６は、静止画像、動画像、音声などの電気信号の入力を受け付けて、ＣＰＵ１０１へ出力するインターフェースである。信号入力部１０６は、放送番組受信装置（チューナー）、インターネットなどに接続する通信インターフェース等であってもよい。
【００５５】
記憶部１０７は、磁気的又は光学的に記録可能な記憶媒体を有し、ＣＰＵ１０１の制御のもと、信号入力部１０６を介して取得された静止画像、動画像、音声などのデータを記憶する。
【００５６】
図１５は、コンピュータ１００ａのハードウエア構成例を示す図である。図１５に示すように、コンピュータ１００ａは、画像処理用ＤＳＰなどであり、本実施形態にかかる画像処理方法を実行する画像処理部１０１ａを有する構成である。上述したとおり、本実施形態にかかる画像処理方法は、ＣＰＵ１０１とプログラムとの協働により行う構成以外に、専用の画像処理用ＤＳＰなどで処理を行ってもよい。また、コンピュータ１００、１００ａは、いわゆるパーソナルコンピュータなどの情報機器の他に、テレビ受像機などの表示装置や、チューナで受信した放送番組を記録する放送番組記録装置などであってもよい。
【００５７】
本実施形態のプログラムは、ＲＯＭ等に予め組み込んで提供するように構成してもよい。また、本実施形態のＣＰＵ１０１で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ等のコンピュータで読み取り可能な記憶媒体に記録されて提供されてもよい。
【００５８】
また、本実施形態のＣＰＵ１０１で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態のＣＰＵ１０１で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００５９】
＜変形例＞
ここで、フィルタリング部４０の変形例について説明する。図１６は、変形例にかかるフィルタリング部４０ａの機能構成を示すブロック図である。図１６に示すように、フィルタリング部４０ａは、フィルタリング部４０の機能構成を変更したものであり、切替部４３、４４に代わり切替部４３ａ、４４ａを備える。
【００６０】
切替部４３ａ、４４ａは、エッジパラメータ算出部３０により算出されたエッジの方向・強さ・シャープさを示すエッジパラメータの値に応じて、入力画像に含まれる各画素についての処理経路を切り替える。具体的には、エッジパラメータの値（例えばエッジの強さ、シャープさなど）が予め設定された値以下で十分に小さく、各画素のフィルタリングにかかる画素ブロックの画像構造が平坦である場合には、広域εフィルタリング部４５、広域フィルタリング部４６での処理が行われるように処理経路を切り替える。また、エッジパラメータの値が予め設定された値を上回り、例えば各画素のフィルタリングにかかる画素ブロックの画像構造がエッジやコーナーである場合には、多値εフィルタリング部４１、係数フィルタリング部４２での処理が行われるように処理経路を切り替える。
【００６１】
入力画像において、画像構造が平坦な領域については、ノイズ除去の効果が小さく、広域フィルタリング処理で十分な場合がある。このような場合は、フィルタリング部４０ａのように処理経路の切り替えを行うことで、効果が小さいフィルタリングを迂回して効率的なフィルタリングを行うことが可能となる。また、上述した処理経路の切り替えによって、適切なεフィルタを選択することが可能となる。具体的には、画像構造が平坦な領域については効率的なフィルタリングを行う上で好ましい１つの閾値εを用いた広域εフィルタ処理が選択され、画像構造がエッジやコーナーである場合には係数フィルタリング部４２で適切なフィルタリングを行う上で好ましい多値εフィルタ処理が選択されることとなる。
【００６２】
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。
【符号の説明】
【００６３】
１  画像処理装置
１０  ヒストグラム生成部
１１  方向ヒストグラム計算部
１２  方向ヒストグラム変換部
２０  テンプレートテーブル部
３０  エッジパラメータ算出部
４０、４０ａ  フィルタリング部
４１  多値εフィルタリング部
４２  係数フィルタリング部
４３、４３ａ、４４、４４ａ  切替部
４５  広域εフィルタリング部
４６  広域フィルタリング部
Ｂ１  第１の画素ブロック
Ｂ２  第２の画素ブロック
Ｂ３  第３の画素ブロック
Ｇ１  中心画素
【図１】
2011065641.tif 000003
【図２】
2011065641.tif 000004
【図３】
2011065641.tif 000005
【図４】
2011065641.tif 000006
【図５】
2011065641.tif 000007
【図６】
2011065641.tif 000008
【図７】
2011065641.tif 000009
【図８】
2011065641.tif 000010
【図９】
2011065641.tif 000011
【図１０】
2011065641.tif 000012
【図１１】
2011065641.tif 000013
【図１２】
2011065641.tif 000014
【図１３】
2011065641.tif 000015
【図１４】
2011065641.tif 000016
【図１５】
2011065641.tif 000017
【図１６】
2011065641.tif 000018