説明

データ処理装置およびデータ処理方法、並びにプログラム

【課題】画像データからモスキートノイズを効果的に除去する。
【解決手段】分散計算部11は、画像データを構成する画素ごとに、画素値の散らばりの度合いを表す分散Vを計算し、ローパスフィルタ12は、分散Vを平滑化して平滑化値LPF(V)を出力する。画素単位領域判定部13は、平滑化値LPF(V)に基づいて、注目画素が属する領域が、エッジ領域、テクスチャ領域、またはフラット領域のうちのいずれであるかを判定して画素単位領域情報を出力する。ブロック単位領域判定部14は、各画素の領域情報に基づいて、ブロック単位領域情報を出力する。また、閾値決定部15は、領域情報と平滑化値LPF(V)とに基づいて、ノイズ除去処理の閾値εを決定する。そして、非線形平滑フィルタ16は、閾値εに基づき、画像データにノイズ除去処理を施す。本発明は、例えば、画像からモスキートノイズを除去するノイズ除去装置に適用できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理装置およびデータ処理方法、並びにプログラムに関し、特に、例えば、画像データからモスキートノイズを効果的に除去することができるデータ処理装置およびデータ処理方法、並びにプログラムに関する。
【背景技術】
【0002】
例えば、画像データを圧縮するMPEG(Moving Picture Experts Group)などの圧縮方式で、画像データを圧縮するエンコーダは、画像データをブロック化し、各ブロックをDCT(Discrete Cosine Transform)処理する。このため、デコーダが、MPEG方式でエンコードされた画像データをデコードすると、デコードされた画像データにおいては、原理的に、画像データ(画像)のエッジの周辺部分にモスキートノイズが発生する。
【0003】
モスキートノイズを除去する従来のノイズ除去装置は、一般に、画像データの画素値の変化を検出し、画素値の変化が大きければエッジであると判定する。そして、ノイズ除去装置は、エッジの周辺部分以外の部分に対するフィルタリングよりも平滑化の度合いが高くなるように、画像データのエッジの周辺部分をフィルタリングする。これにより、画像データのエッジの周辺部分に発生するモスキートノイズが、画像データから除去される。
【0004】
なお、画素値の変化が急峻なエッジを保存したまま、エッジ以外の部分の画像データを増幅させる非線形平滑フィルタを使用して、画像データのコントラストを向上させる装置が開示されている(例えば、特許文献1参照)。
【0005】
また、ノイズの視覚的に目立つ領域に選択的に処理をかけるものも提案されているが、モスキートノイズの出現範囲はブロック単位であるので処理領域を適切に選択しづらく、消しすぎや消し残りの問題が存在した。そこで、ブロック単位でノイズの有無を判定しているものもある(例えば、特許文献2参照)。
【特許文献1】特開2001−298621号公報
【特許文献2】特開2005−151385号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、従来のノイズ除去装置では、画像データに、エッジと有意なテクスチャ(例えば、模様があるなどして、画像データの画素値の変化がある程度存在する部分)とがある場合に、エッジと有意なテクスチャとを適切に判別することが困難であった。即ち、従来のノイズ除去装置では、ある程度大きな画素値の変化が検出されたときに、その画素値の変化がエッジによるものなのか、有意なテクスチャによるものなのかを適切に判別することが困難であった。例えば、従来のノイズ除去装置は、有意なテクスチャによる画素値の変化を検出したときであっても、エッジであると判定することがあった。
【0007】
このように、エッジと有意なテクスチャとの判別が適切に行われない場合、ノイズ除去装置は、エッジの周辺部分と有意なテクスチャ(の周辺部分)とを、同様の平滑化の度合いでフィルタリングする。その場合、例えば、有意なテクスチャの画質が劣化することや、エッジの周辺部分のモスキートノイズが十分に除去されないことがある。
【0008】
また、ブロック単位でノイズの有無を判定してノイズ除去を行う場合、ノイズの判定がブロックという領域に固定されているため、ノイズが発生しているかどうかは精度良く判定できるものの、そのノイズが視覚的に不快であるかどうかを精度良く判定できないので、適切なモスキートノイズの除去ができない恐れがあった。
【0009】
本発明は、このような状況に鑑みてなされたものであり、画像データからモスキートノイズを効果的に除去することができるようにするものである。
【課題を解決するための手段】
【0010】
本発明の一側面のデータ処理装置は、画像データを構成する画素ごとに、画素値の散らばりの度合いを表す分散情報を計算する分散情報計算手段と、分散情報を平滑化し、平滑化値を出力する平滑化手段と、前記平滑化値に基づいて、前記画素が属する領域を画素単位で判定し、その領域を表す画素単位領域情報を出力する画素単位判定手段と、画素単位判定手段による画素単位領域情報に基づいて、ブロック単位で前記画素が属する領域を判定し、その領域を表すブロック単位領域情報を出力するブロック単位判定手段と、前記ブロック単位領域情報と前記平滑化値とに基づいて、前記画像データを構成する画素ごとに、ノイズ除去処理のパラメータを決定するパラメータ決定手段と、画素ごとに決定されたパラメータに基づき、画像データにノイズ除去処理を施すノイズ除去手段とを備えることを特徴とする。
【0011】
前記画素単位判定手段には、前記画像データを構成する画素のうちの、注目している注目画素を含む、前記注目画素の周辺に位置する画素の前記平滑化値の変化量を計算する変化量計算手段と、前記変化量のヒストグラムを計算するヒストグラム計算手段と、前記ヒストグラムに基づいて、前記注目画素が属する領域を画素単位で判定する画素単位領域判定手段とを設けるようにさせることができる。
【0012】
前記画素単位判定手段には、前記画素が属する領域が、エッジ領域、テクスチャ領域、またはフラット領域のうちのいずれであるかを前記画素単位で判定させるようにすることができる。
【0013】
前記ブロック単位判定手段には、前記画素単位判定手段による前記画像データを構成するブロック単位の画素のうちの、領域毎の割合を計算する割合計算手段と、前記領域毎の割合と所定の閾値とを比較する比較手段と、比較手段の比較結果に基づいて、前記ブロック単位で画素が属する領域を判定するブロック単位領域判定手段とを設けるようにさせることができる。
【0014】
前記ブロック単位判定手段には、前記ブロック単位で各画素が属する領域が、エッジ領域、テクスチャ領域、またはフラット領域のうちのいずれであるかを前記ブロック単位で判定させるようにすることができる。
【0015】
本発明の一側面のデータ処理方法は、画像データを構成する画素ごとに、画素値の散らばりの度合いを表す分散情報を計算する分散情報計算ステップと、分散情報を平滑化し、平滑化値を出力する平滑化ステップと、前記平滑化値に基づいて、前記画素が属する領域を画素単位で判定し、その領域を表す画素単位領域情報を出力する画素単位判定ステップと、画素単位判定ステップの処理による画素単位領域情報に基づいて、ブロック単位で前記画素が属する領域を判定し、その領域を表すブロック単位領域情報を出力するブロック単位判定ステップと、前記ブロック単位領域情報と前記平滑化値とに基づいて、前記画像データを構成する画素ごとに、ノイズ除去処理のパラメータを決定するパラメータ決定ステップと、画素ごとに決定されたパラメータに基づき、画像データにノイズ除去処理を施すノイズ除去ステップとを含むことを特徴とする。
【0016】
本発明の一側面のプログラムは、画像データを構成する画素ごとに、画素値の散らばりの度合いを表す分散情報を計算する分散情報計算ステップと、分散情報を平滑化し、平滑化値を出力する平滑化ステップと、前記平滑化値に基づいて、前記画素が属する領域を画素単位で判定し、その領域を表す画素単位領域情報を出力する画素単位判定ステップと、画素単位判定ステップの処理による画素単位領域情報に基づいて、ブロック単位で前記画素が属する領域を判定し、その領域を表すブロック単位領域情報を出力するブロック単位判定ステップと、前記ブロック単位領域情報と前記平滑化値とに基づいて、前記画像データを構成する画素ごとに、ノイズ除去処理のパラメータを決定するパラメータ決定ステップと、画素ごとに決定されたパラメータに基づき、画像データにノイズ除去処理を施すノイズ除去ステップとを含むことを特徴とする。
【0017】
本発明のデータ処理装置およびデータ処理方法、並びにプログラムにおいては、画像データを構成する画素ごとに、画素値の散らばりの度合いを表す分散情報が計算され、分散情報が平滑化された平滑化値が出力され、平滑化値に基づいて、前記画素が属する領域が画素単位で判定され、その領域を表す画素単位領域情報が出力され、画素単位領域情報に基づいて、ブロック単位で前記画素が属する領域が判定され、その領域を表すブロック単位領域情報が出力され、前記ブロック単位領域情報と前記平滑化値とに基づいて、前記画像データを構成する画素ごとに、ノイズ除去処理のパラメータが決定され、画素ごとに決定されたパラメータに基づき、画像データにノイズ除去処理が施される。
【発明の効果】
【0018】
本発明によれば、画像データからモスキートノイズを効果的に除去することができる。
【発明を実施するための最良の形態】
【0019】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【0020】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【0021】
本発明の一側面のデータ処理装置は、画像データを構成する画素ごとに、画素値の散らばりの度合いを表す分散情報を計算する分散情報計算手段(例えば、図1の分散計算部11)と、分散情報を平滑化し、平滑化値を出力する平滑化手段(例えば、図1のローパスフィルタ12)と、前記平滑化値に基づいて、前記画素が属する領域を画素単位で判定し、その領域を表す画素単位領域情報を出力する画素単位判定手段(例えば、図1の画素単位領域判定部13)と、画素単位判定手段による画素単位領域情報に基づいて、ブロック単位で前記画素が属する領域を判定し、その領域を表すブロック単位領域情報を出力するブロック単位判定手段(例えば、図1のブロック単位領域判定部14)と、前記ブロック単位領域情報と前記平滑化値とに基づいて、前記画像データを構成する画素ごとに、ノイズ除去処理のパラメータを決定するパラメータ決定手段(例えば、図1の閾値決定部15)と、画素ごとに決定されたパラメータに基づき、画像データにノイズ除去処理を施すノイズ除去手段(例えば、図1の非線形平滑フィルタ16)とを備えることを特徴とする。
【0022】
画素単位判定手段には、画像データを構成する画素のうちの、注目している注目画素を含む、注目画素の周辺に位置する画素の平滑化値の変化量を計算する変化量計算手段(例えば、図4の水平差分計算部22、および、垂直差分計算部23)と、変化量のヒストグラムを計算するヒストグラム計算手段(例えば、図4の水平ヒストグラム計算部24、および、垂直ヒストグラム計算部25)と、ヒストグラムに基づいて、注目画素が属する領域を画素単位で判定する画素単位領域判定手段(例えば、図4の水平方向領域判定部26、および、垂直方向領域判定部27)とを設けるようにさせることができる。
【0023】
前記ブロック単位判定手段には、前記画素単位判定手段による前記画像データを構成するブロック単位の画素のうちの、領域毎の割合を計算する割合計算手段(例えば、図8の水平方向エッジ割合計算部35、水平方向テクスチャ割合計算部37、垂直方向エッジ割合計算部36、および、垂直方向テクスチャ割合計算部38)と、前記領域毎の割合と所定の閾値とを比較する比較手段(例えば、図8の水平方向エッジ割合比較部39、水平方向テクスチャ割合比較部41、垂直方向エッジ割合比較部40、および、垂直方向テクスチャ割合比較部42)と、比較手段の比較結果に基づいて、前記ブロック単位で画素が属する領域を判定する領域判定手段(例えば、図の水平方向ブロック単位領域決定部43、および、垂直方向ブロック単位領域決定部44)とを設けるようにさせることができる。
【0024】
本発明の一側面のデータ処理方法は、画像データを構成する画素ごとに、画素値の散らばりの度合いを表す分散情報を計算する分散情報計算ステップ(例えば、図13のステップS11)と、分散情報を平滑化し、平滑化値を出力する平滑化ステップ(例えば、図13のステップS12)と、前記平滑化値に基づいて、前記画素が属する領域を画素単位で判定し、その領域を表す画素単位領域情報を出力する画素単位判定ステップと(例えば、図13のステップS13)、画素単位判定ステップの処理による画素単位領域情報に基づいて、ブロック単位で前記画素が属する領域を判定し、その領域を表すブロック単位領域情報を出力するブロック単位判定ステップ(例えば、図13のステップS15)と、前記ブロック単位領域情報と前記平滑化値とに基づいて、前記画像データを構成する画素ごとに、ノイズ除去処理のパラメータを決定するパラメータ決定ステップ(例えば、図13のステップS16)と、画素ごとに決定されたパラメータに基づき、画像データにノイズ除去処理を施すノイズ除去ステップ(例えば、図13のステップS17)とを含むことを特徴とする。
【0025】
なお、本発明の一側面のプログラムの請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係は、上述した本発明のデータ処理方法のものと同様であるので、その記載は省略する。
【0026】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【0027】
図1は、本発明を適用したノイズ除去装置の一実施の形態の構成例を示すブロック図である。
【0028】
図1において、ノイズ除去装置10には、分散計算部11、ローパスフィルタ12、画素単位領域判定部13、ブロック単位領域判定部14、閾値決定部15、非線形平滑フィルタ16、およびブロック境界検出部17が設けられている。
【0029】
分散計算部11、非線形平滑フィルタ16、およびブロック境界検出部17は、入力データとしての画像データをノイズ除去装置10に入力するための端子(図示せず)に接続されており、分散計算部11はまた、ローパスフィルタ12に接続されている。また、ローパスフィルタ12は、画素単位領域判定部13および閾値決定部15に接続されている。画素単位領域判定部13は、ブロック単位領域判定部14に接続されている。ブロック単位領域判定部14は、閾値決定部15およびブロック境界検出部17に接続されている。閾値決定部15は、非線形平滑フィルタ16に接続されている。そして、非線形平滑フィルタ16は、出力データとしての画像データをノイズ除去装置10から出力するための端子(図示せず)に接続されている。
【0030】
分散計算部11には、入力データとしての画像データが、例えば、1フレーム(フィールド)単位で入力される。画像データは、例えば、MPEG方式でエンコードされた画像データがデコードされたものである。分散計算部11は、1フレームの画像データを構成する画素ごとに、画素値の散らばりの度合いを表す分散情報としての、例えば、分散Vを計算し、ローパスフィルタ12に供給する。
【0031】
ローパスフィルタ12は、分散計算部11からの分散Vを平滑化する。ローパスフィルタ12は、分散Vを平滑化することにより得られる平滑化値LPF(V)を、画素単位領域判定部13および閾値決定部15に供給する。
【0032】
画素単位領域判定部13は、ローパスフィルタ12からの平滑化値LPF(V)に基づいて、画像データを構成する各画素について、画素が属する領域が、画素値が急峻に変化するエッジを構成する領域か、若しくはエッジの周辺の領域であるエッジ領域、物体表面の模様などの画素値の変化がある程度存在する領域であるテクスチャ領域、画素値の変化がほとんどない領域であるフラット領域、または、その他の領域のうちのいずれであるかを判定する画素単位領域判定処理を行う。
【0033】
画素単位領域判定部13は、画素単位領域判定処理を行った結果得られる画素単位の領域情報をブロック単位領域判定部14に供給する。なお、領域情報は、画像データを構成する画素のうちの、注目している注目画素が属する領域が、エッジ領域、テクスチャ領域、フラット領域、または、その他の領域のいずれであるかを表す情報である。
【0034】
ブロック単位領域判定部14は、ブロック境界検出部17より供給されてくるブロック境界情報と、画素単位領域判定部13より供給されてくる各画素単位の領域情報とに基づいて、DCT処理で使用されるブロック単位で、各領域に属する割合を求めて、それらの割合と所定の閾値との比較により、ブロック単位の各画素の属する領域を判定するブロック単位領域判定処理を行う。
【0035】
ブロック単位領域判定部14は、ブロック単位領域判定処理を行った結果得られるブロック単位の各画素の領域情報を閾値決定部15に供給する。
【0036】
閾値決定部15は、ローパスフィルタ12からの平滑化値LPF(V)と、ブロック単位領域判定部14からのブロック単位の各画素の領域情報とに基づいて、非線形平滑フィルタ16が行うノイズ除去処理のパラメータである閾値εを決定し、非線形平滑フィルタ16に供給する。閾値εは、エッジ領域、テクスチャ領域、フラット領域、または、その他の領域のそれぞれに対応するように決定される。
【0037】
非線形平滑フィルタ16は、閾値決定部15からの閾値εに基づき、入力データとしての画像データにノイズ除去処理を施す。即ち、非線形平滑フィルタ16は、閾値決定部15からの閾値εの値に基づく度合いで平滑化がされるように、画像データをフィルタリングする。例えば、非線形平滑フィルタ16は、閾値εが大きな値であれば、高い平滑化の度合いで画像データをフィルタリングし、また、閾値εが小さな値であれば、低い平滑化の度合いで画像データをフィルタリングする。
【0038】
上述のように、閾値εは、エッジ領域、テクスチャ領域、フラット領域、または、その他の領域のそれぞれに対応するように決定される。従って、非線形平滑フィルタ16は、エッジ領域、テクスチャ領域、フラット領域、または、その他の領域のそれぞれに対応するような平滑化の度合いで画像データをフィルタリングする。
【0039】
非線形平滑フィルタ16は、上述のようなフィルタリングをノイズ除去処理として行うことにより、入力データとしての画像データからモスキートノイズを除去し、出力データとしての画像データを出力する。
【0040】
ブロック境界検出部17は、入力データとしての画像データよりブロック単位の境界を検出し、検出結果をブロック単位領域判定部14に供給する。ブロック境界検出部17の詳細な構成は、例えば、特開2002−232890号公報で公開されている構成であっても良いものである。
【0041】
次に、図2を参照して、図1の分散計算部11による分散Vの計算について説明する。
【0042】
分散計算部11は、画像データを構成する画素を、例えば、ラスタスキャン順に、順次、注目画素として選択(注目)し、注目画素について、画素値の散らばりの度合いを表す分散情報としての、例えば、分散を求める。
【0043】
即ち、分散計算部11は、例えば、図2に示すように、注目画素を中心とする縦×横が3×3画素の画素値の分散を、式(1)にしたがい、注目画素についての分散として求める。
【0044】
【数1】

・・・(1)
【0045】
ここで、式(1)において、Vは、注目画素についての分散を表す。また、Nは、注目画素についての分散Vを求めるのに用いる画素(画素値)の数を表し、図2の実施の形態では、9画素である。さらに、piは、注目画素についての分散Vを求めるのに用いるN画素のうちのi番目の画素の画素値を表し、aveは、N画素の画素値の平均値(p1+p2+…+pN)/Nを表す。
【0046】
分散計算部11は、ラスタスキャン順に、注目画素を順次変えて、分散Vを順次計算し、画像データを構成する全画素について分散Vを求める。
【0047】
なお、分散情報としては、式(1)で求められる分散Vの他、例えば、式(2)で求められる値、その他、画素値の散らばりの度合いを表す値を採用することができる。
【0048】
【数2】

・・・(2)
【0049】
次に、図3は、図1の分散計算部11に入力される画像データ(非線形平滑フィルタ16でのフィルタリングの対象となる画像データ)、分散計算部11により得られる分散V、および、ローパスフ
【0050】
ィルタ12により得られる平滑化値LPF(V)の波形を模式的に示す図である。
図3において、波形T1は、分散計算部11に入力される入力データとしての画像データにおける、ある水平(垂直)ラインの画素値の波形である。波形T1には、画素値の変化が急峻なエッジの範囲a、画素値の変化がある程度存在するテクスチャの範囲b、および画素値の変化がほとんどないフラットの範囲cが存在する。
【0051】
波形T2は、波形T1(画像データ)を対象として分散計算部11で求められる分散Vの波形である。分散Vは、波形T1の散らばりの度合い(変化の度合い)が大きければ大の値を示し、波形T1の散らばりの度合いが小さければ小の値を示す。従って、波形T2は、図3に示すように、範囲aおよびその近傍において、波形T1のエッジによる画素値の変化の影響を受けて大きく変化する凸形状となり、範囲bおよびその近傍において、波形T1のテクスチャによる画素値の変化の影響を受けてある程度の大きさで変化する波形状となる。
【0052】
波形T3は、ローパスフィルタ12が波形T2(分散V)を平滑化することで得られる平滑化値LPF(V)の波形である。波形T2は、図3に示すように、波形T2を鈍らせた形状となる。即ち、波形T3は、範囲aよりある程度広い範囲dにおいて、ある程度の大きさの傾斜を有する凸形状となり、範囲bより若干広い範囲eにおいて、範囲dにおける傾斜よりも小さな傾斜を有する凸形状となり、範囲dおよび範囲e以外の範囲fにおいて、傾斜のない平坦な形状となる。
【0053】
次に、図4のブロック図を参照して、図1の画素単位領域判定部13の構成例について説明する。
【0054】
図4において、画素単位領域判定部13には、メモリ21、水平差分計算部22、垂直差分計算部23、水平ヒストグラム計算部24、垂直ヒストグラム計算部25、水平方向領域判定部26、および垂直方向領域判定部27が設けられている。
【0055】
メモリ21には、図1のローパスフィルタ12から平滑化値LPF(V)が供給される。メモリ21は、ローパスフィルタ12からの平滑化値LPF(V)のうちの、注目画素を含む、注目画素の周辺に位置する画素の平滑化値LPF(V)を記憶する。
【0056】
即ち、画素単位領域判定部13には、ローパスフィルタ12から平滑化値LPF(V)が供給され、画素単位領域判定部13では、画像データを構成する画素が、例えば、ラスタスキャン順に、注目画素として選択される。メモリ21は、ローパスフィルタ12から供給される平滑化値LPF(V)のうちの、注目画素を含む、注目画素の周辺に位置する画素の平滑化値LPF(V)を記憶する。
【0057】
水平差分計算部22は、注目画素について、メモリ21に記憶された平滑化値LPF(V)の水平方向の変化量を計算し、水平ヒストグラム計算部24に供給する。
【0058】
垂直差分計算部23は、注目画素について、メモリ21に記憶された平滑化値LPF(V)の垂直方向の変化量を計算し、垂直ヒストグラム計算部25に供給する。
【0059】
水平ヒストグラム計算部24は、水平差分計算部22から供給される注目画素についての水平方向の変化量のヒストグラムを計算(作成)する。即ち、水平ヒストグラム計算部24は、水平差分計算部22から供給される注目画素についての水平方向の変化量を対象として、値が第1の範囲、第2の範囲、第3の範囲の変化量それぞれの度数hist(1),hist(2),hist(3)からなるヒストグラムを求める。水平ヒストグラム計算部24は、注目画素ごとについて求めた度数hist(1),hist(2),hist(3)からなるヒストグラムを水平方向領域判定部26に供給する。
【0060】
垂直ヒストグラム計算部25は、垂直差分計算部23から供給される注目画素についての垂直方向の変化量を対象として、水平ヒストグラム計算部24と同様に、度数hist(1),hist(2),hist(3)からなるヒストグラムを求め、垂直方向領域判定部27に供給する。
【0061】
水平方向領域判定部26には、注目画素が属する領域を判定するための閾値th1,th2,th3が、あらかじめ与えられている。水平方向領域判定部26は、水平ヒストグラム計算部24からの注目画素についてのヒストグラムの度数hist(1),hist(2),hist(3)と、閾値th1,th2,th3とに基づいて、注目画素が属する領域を判定する。即ち、水平方向領域判定部26は、注目画素が属する領域が、エッジ領域、テクスチャ領域、またはフラット領域、または、その他の領域のうちのいずれであるかを判定し、その判定結果、つまり、注目画素が属する領域を表す領域情報を出力する。
【0062】
垂直方向領域判定部27は、水平方向領域判定部26と同様に、垂直ヒストグラム計算部25からの注目画素についてのヒストグラムの度数hist(1),hist(2),hist(3)に基づき、注目画素が属する領域を判定し、その判定結果として、領域情報を出力する。
【0063】
次に、図5で示される図4のメモリ21の記憶内容を参照し、図4の水平差分計算部22と垂直差分計算部23による変化量の計算について説明する。
【0064】
図5は、メモリ21が記憶する画素の平滑化値C[i](j)を示している。メモリ21は、画像データを構成する画素のうちの、例えば、注目画素(の平滑化値)C[3](0)を中心として、横×縦が7×5画素の、合計で35個の画素(の平滑化値)C[i](j)を記憶する。つまり、メモリ21は、注目画素C[3](0)を中心として、垂直方向に5行(i=1〜5)の範囲、および水平方向に7列(j=-3〜3)の範囲に位置する画素の平滑化値C[i](j)、即ち、平滑化値C[1](-3)乃至平滑化値C[5](3)を記憶する。
【0065】
ここで、上述したように、注目画素について、メモリ21に平滑化値が記憶される、注目画素を中心とする7×5画素の領域を、注目領域という。
【0066】
水平差分計算部22は、例えば、式(3)の差分値(差分絶対値)diff[i](j)を、注目領域の画素の水平方向の変化量として計算する。
【0067】
diff[i](j)=|C[i](j)−C[i](0)| , (i=1〜5 , j=-3〜3)
・・・(3)
【0068】
式(3)を計算することで、水平差分計算部22は、30個の水平方向の差分値diff[i](j)を出力する。具体的には、水平差分計算部22は、1行目(i=1)について、平滑化値C[1](0)と、平滑化値C[1](-3)、平滑化値C[1](-2)、平滑化値C[1](-1)、平滑化値C[1](1)、平滑化値C[1](2)、平滑化値C[1](3)それぞれとの差分値を計算し、6個の水平方向の差分値diff[1](-3)、差分値diff[1](-2)、差分値diff[1](-1)、差分値diff[1](1)、差分値diff[1](2)、差分値diff[1](3)を出力する。
【0069】
水平差分計算部22は、2行目(i=2)についても同様に、平滑化値C[2](0)と、平滑化値C[2](-3)、平滑化値C[2](-2)、平滑化値C[2](-1)、平滑化値C[2](1)、d平滑化値C[2](2)、平滑化値C[2](3)それぞれとの差分値を計算し、6個の水平方向の差分値diff[2](-3)、差分値diff[2](-2)、差分値diff[2](-1)、差分値diff[2](1)、差分値diff[2](2)、差分値diff[2](3)を出力し、以下、同様に、3行目乃至5行目(i=3〜5)について、各6個の水平方向の差分値を出力する。従って、水平差分計算部22は、1行乃至5行についての30個の水平方向の差分値diff[i](j)を出力する。
【0070】
また、垂直差分計算部23は、例えば、式(4)の差分値(差分絶対値)diff[i](j)を、注目領域の画素の垂直方向の変化量として計算する。
【0071】
diff[i](j)=|C[i](j)−C[3](j)| , (i=1〜5 , j=-3〜3)
・・・(4)
【0072】
式(4)を計算することで、垂直差分計算部23は、28個の垂直方向の差分値diff[i](j)を出力する。水平差分計算部22について説明した場合と同様に、垂直差分計算部23は、各列ごとに4個の垂直方向の差分値diff[i](j)を出力し、1列乃至7列についての28個の垂直方向の差分値diff[i](j)を出力する。
【0073】
なお、図5には、メモリ21に記憶される注目領域が5×7画素である例が示されているが、メモリ21に記憶される注目領域は、5×7画素に限られるものではない。注目領域のサイズ、特に縦のサイズは、例えば、非線形平滑フィルタ16でのフィルタリングの対象とする画像データが圧縮されるときに行われたDCT処理のブロックサイズに基づいて決定することができる。
【0074】
次に、図6を参照し、図4の水平ヒストグラム計算部24と垂直ヒストグラム計算部25で求められる変化量のヒストグラムについて説明する。
【0075】
図6は、横軸に変化量をとり、縦軸に度数をとったヒストグラムを示している。図6のヒストグラムにおいて、横軸の左から右方向に向かって、変化量の値は増加する。また、横軸は、変化量の値が大きい範囲から順に、第1の範囲、第2の範囲、第3の範囲に3分割されている。
【0076】
図5で説明したように、水平ヒストグラム計算部24には、水平差分計算部22から30個の水平方向の変化量(としての差分値)が供給され、水平ヒストグラム計算部24は、水平方向の変化量のヒストグラムを計算する。即ち、水平ヒストグラム計算部24は、水平差分計算部22からの30個の水平方向の変化量に基づき、第1の範囲の変化量の度数hist(1)、第2の範囲の変化量の度数hist(2)、第3の範囲の変化量の度数hist(3)をそれぞれ求め、その3つの度数hist(1),hist(2),hist(3)からなる3分割の水平方向のヒストグラムを得る。
【0077】
なお、図6において、横軸の第1乃至第3の範囲は同一の大きさになっているが、異なる大きさであってもよい。また、第1乃至第3の範囲は、例えば、多くの画像データを用いてシミュレーションを行うことによって決定することができる。さらに、第1乃至第3の範囲は、例えば、ユーザの操作などに応じて変更することができる。
【0078】
また、垂直ヒストグラム計算部25は、水平ヒストグラム計算部24と同様に、垂直差分計算部23から供給される28個の垂直方向の変化量に基づき、第1の範囲の変化量の度数hist(1)、第2の範囲の変化量の度数hist(2)、第3の範囲の変化量の度数hist(3)をそれぞれ求め、その3つの度数hist(1),hist(2),hist(3)からなる3分割の垂直方向のヒストグラムを得る。
【0079】
次に、図7を参照して、図4の水平方向領域判定部26と垂直方向領域判定部27が行う、注目画素が属する領域を判定する領域判定処理について説明する。
【0080】
上述したように、水平方向領域判定部26には、領域を判定するための閾値th1,th2,th3が、あらかじめ与えられており、注目画素についての水平方向のヒストグラムの度数hist(1),hist(2)、およびhist(3)が、水平ヒストグラム計算部24から供給される。
【0081】
水平方向領域判定部26は、度数hist(1)と閾値th1とを比較し、さらに、必要に応じて度数hist(2)と閾値th2との比較や、度数hist(3)と閾値th3との比較を行い、これらの比較結果に基づいて、注目画素が属する領域が、エッジ領域、テクスチャ領域、フラット領域、または、その他の領域のうちのいずれであるかを判定する。
【0082】
即ち、例えば、図7に示すように、「hist(1)>th1」が真(1)であれば、水平方向領域判定部26は、注目画素が属する領域がエッジ領域であると判定する。また、「hist(1)>th1」が偽(0)で、かつ、「hist(2)>th2」が真(1)であれば、水平方向領域判定部26は、注目画素が属する領域がテクスチャ領域であると判定する。
【0083】
また、「hist(1)>th1」および「hist(2)>th2」が偽(0)で、かつ、「hist(3)>th3」が真(1)であれば、水平方向領域判定部26は、注目画素が属する領域がフラット領域であると判定する。また、「hist(1)>th1」、「hist(2)>th2」、および「hist(3)>th3」がいずれも偽(else)であれば、水平方向領域判定部26は、注目画素が属する領域が、エッジ領域、テクスチャ領域、およびフラット領域のいずれでもない(あるいは、いずれであるかが不明な)、その他の領域であると判定する。
【0084】
なお、「hist(1)>th1」が真(1)であれば、「hist(2)>th2」および「hist(3)>th3」が真であるか偽であるかにかかわらず、注目画素が属する領域はエッジ領域であると判定されるので、図7の表のエッジ領域の行であって「hist(2)>th2」および「hist(3)>th3」の列である升目には、「×」(don't care)が記載されている。同様に、「hist(1)>th1」が偽(0)で、かつ、「hist(2)>th2」が真(1)であれば、「hist(3)>th3」が真であるか偽であるかにかかわらず、注目画素が属する領域はテクスチャ領域であると判定されるので、図7の表のテクスチャ領域の行であって「hist(3)>th3」の列である升目には、「×」が記載されている。
【0085】
また、垂直方向領域判定部27には、水平方向領域判定部26と同様に、領域を判定するための閾値th1,th2,th3が、あらかじめ与えられており、垂直方向領域判定部27は、垂直ヒストグラム計算部25からの注目画素についての垂直方向のヒストグラムの度数hist(1),hist(2),hist(3)に基づいて、注目画素が属する領域が、エッジ領域、テクスチャ領域、フラット領域、または、その他の領域のうちのいずれであるかを判定する。
【0086】
以上のように、水平方向領域判定部26では、画像データを、いわば水平方向に沿って見た場合の、注目画素が属する領域が判定され、垂直方向領域判定部27では、画像データを、垂直方向に沿って見た場合の、注目画素が属する領域が判定される。
【0087】
なお、水平方向領域判定部26と垂直方向領域判定部27とで、領域を判定するための閾値th1,th2,th3は、同じ値であってもよいし、異なる値であってもよい。
【0088】
ここで、上述の図3を参照して、図4の画素単位領域判定部13に入力される平滑化値LPF(V)と、水平方向領域判定部26による注目画素が属する領域(領域の種類)の判定との関係について説明する。
【0089】
上述したように、図3の波形T3は、ローパスフィルタ12により得られる平滑化値LPF(V)の波形であり、そのうちの注目画素を中心とする範囲の部分が注目領域としてメモリ21に記憶される。水平差分計算部22は、波形T3のうちの、メモリ21に注目領域として記憶された範囲を対象として変化量を計算し、水平ヒストグラム計算部24は、その変化量のヒストグラムを得る。
【0090】
波形T3は、範囲dにおいて、ある程度の大きさの傾斜を有しているので、範囲dと一部または全部が重複する範囲を注目領域として計算される変化量のヒストグラムでは、大きな変化量の度数hist(1)が大の値になる。
【0091】
また、波形T3は、範囲eにおいて、範囲dにおける傾斜よりも小さな傾斜を有しているので、範囲eと一部または全部が重複する範囲を注目領域として計算される変化量のヒストグラムでは、度数hist(1)が小の値になり、中程度の変化量の度数hist(2)が大の値になる。
【0092】
また、波形T3は、範囲fにおいて傾斜がないので、範囲fのみを含む範囲を注目領域として計算される変化量のヒストグラムでは、度数hist(1)および度数hist(2)が小の値になり、小さい変化量の度数hist(3)が大の値になる。
【0093】
水平方向領域判定部26は、以上のような変化量のヒストグラムの性質(特性)に基づき、図7の表のように、注目画素が属する領域を判定する。従って、水平方向領域判定部26では、エッジの範囲aを含むエッジ周辺の範囲dより若干広い範囲における画素が属する領域がエッジ領域と判定され、テクスチャの範囲bを含む範囲eより若干広い範囲における画素が属する領域がテクスチャ領域と判定され、フラットの範囲cより狭い範囲fにおける画素が属する領域がフラット領域と判定される。
【0094】
次に、図8のブロック図を参照して、ブロック単位領域判定部14の構成例について説明する。
【0095】
ブロック単位領域判定部14には、水平方向画素単位領域情報バッファ31、垂直方向画素単位領域情報バッファ32、水平方向ブロック単位抽出部33、垂直方向ブロック単位抽出部34、水平方向エッジ割合計算部35、垂直方向エッジ割合計算部36、水平方向テクスチャ割合計算部37、垂直方向テクスチャ割合計算部38、水平方向エッジ割合比較部39、垂直方向エッジ割合比較部40、水平方向テクスチャ割合比較部41、垂直方向テクスチャ割合比較部42、水平方向ブロック単位領域決定部43、および垂直方向ブロック単位領域決定部44が設けられている。
【0096】
水平方向画素単位領域情報バッファ31は、図4の水平方向領域判定部26から各画素の位置情報に対応付けて水平方向の画素単位で求められた領域情報(各画素が属する領域が、エッジ領域、テクスチャ領域、フラット領域、またはその他の領域のいずれであるかを表す情報)を順次一時的に記憶する。
【0097】
垂直方向画素単位領域情報バッファ32は、図4の垂直方向領域判定部27から供給されてくる各画素の位置情報に対応付けて垂直方向の画素単位で求められた領域情報を順次一次的に記憶する。
【0098】
水平方向ブロック単位抽出部33は、ブロック境界検出部17より供給されてくるブロック境界情報に基づいて、水平方向画素単位領域情報バッファ31より1ブロック分の画素単位の領域情報を抽出し、ブロックの位置情報と共に水平方向エッジ割合計算部35、および水平方向テクスチャ割合計算部37に供給する。
【0099】
垂直方向ブロック単位抽出部34は、ブロック境界検出部17より供給されてくるブロック境界情報に基づいて、垂直方向画素単位領域情報バッファ32より1ブロック分の画素単位の領域情報を抽出し、ブロックの位置情報と共に垂直方向エッジ割合計算部36、および垂直方向テクスチャ割合計算部38に供給する。
【0100】
水平方向エッジ割合計算部35は、水平方向ブロック単位抽出部33より供給されてくる1ブロック分の画素単位の領域情報のうち、領域情報がエッジ領域である割合である水平方向エッジ割合REHを計算し、ブロックの位置情報と共に水平方向エッジ割合比較部39に供給する。すなわち、例えば、図9で示されるように、1ブロック分の画素が水平方向×垂直方向に8画素×8画素で、合計64画素であった場合、1ブロック分となる64画素分の領域情報のうち、図9で示されるように7画素について領域情報がエッジ領域であるとき、水平方向エッジ割合計算部35は、7/64を水平方向エッジ割合REHとして水平方向エッジ割合比較部39に供給する。
【0101】
尚、図9においては、各マス目が画素の位置に対応しており、マス目内の文字が「E」であるとき、対応する画素の領域情報がエッジ領域に属していることを示しており、マス目内の文字が「f」であるとき、対応する画素の領域情報がフラット領域に属していることを示しており、マス目内の文字が「T」であるとき、対応する画素の領域情報がテクスチャ領域に属していることを示している。
【0102】
垂直方向エッジ割合計算部36は、垂直方向ブロック単位抽出部34より供給されてくる1ブロック分の画素単位の領域情報のうち、領域情報がエッジ領域である割合である垂直方向エッジ割合REVを計算し、ブロックの位置情報と共に垂直方向エッジ割合比較部40に供給する。すなわち、例えば、図9で示されるように、1ブロック分の画素が水平方向×垂直方向に8画素×8画素で、合計64画素であった場合、1ブロック分となる64画素分の領域情報のうち、図9で示されるように7画素について領域情報がエッジ領域であるとき、垂直方向エッジ割合計算部36は、7/64を垂直方向エッジ割合REVとして垂直方向エッジ割合比較部40に供給する。
【0103】
水平方向テクスチャ割合計算部37は、水平方向ブロック単位抽出部33より供給されてくる1ブロック分の画素単位の領域情報のうち、領域情報がテクスチャ領域である割合である水平方向テクスチャ割合RTHを計算し、ブロックの位置情報と共に水平方向テクスチャ割合比較部41に供給する。すなわち、例えば、図9で示されるように、1ブロック分の画素が水平方向×垂直方向に8画素×8画素で、合計64画素であった場合、1ブロック単位となる64画素分の領域情報のうち、図9で示されるように5画素について領域情報がテクスチャ領域であるとき、水平方向テクスチャ割合計算部37は、5/64を水平方向テクスチャ割合RTHとして水平方向テクスチャ割合比較部41に供給する。
【0104】
垂直方向テクスチャ割合計算部38は、垂直方向ブロック単位抽出部34より供給されてくる1ブロック分の画素単位の領域情報のうち、領域情報がテクスチャ領域である割合である垂直方向テクスチャ割合RTVを計算し、ブロックの位置情報と共に垂直方向テクスチャ割合比較部42に供給する。すなわち、例えば、図9で示されるように、1ブロック分の画素が水平方向×垂直方向に8画素×8画素で、合計64画素であった場合、1ブロック単位となる64画素分の領域情報のうち、図9で示されるように5画素について領域情報がテクスチャ領域であるとき、垂直方向テクスチャ割合計算部38は、5/64を垂直方向テクスチャ割合RTVとして垂直方向テクスチャ割合比較部42に供給する。
【0105】
水平方向エッジ割合比較部39は、水平方向エッジ割合計算部35より供給されてきた水平方向エッジ割合REHと所定の閾値th(REH)とを比較し、ブロックの位置情報と共に比較結果CEHを水平方向ブロック単位領域決定部43に供給する。
【0106】
垂直方向エッジ割合比較部40は、垂直方向エッジ割合計算部36より供給されてきた垂直方向エッジ割合REVと所定の閾値th(REV)とを比較し、ブロックの位置情報と共に比較結果CEVを垂直方向ブロック単位領域決定部44に供給する。
【0107】
水平方向テクスチャ割合比較部41は、水平方向テクスチャ割合計算部37より供給されてきた水平方向テクスチャ割合RTHと所定の閾値th(RTH)とを比較し、ブロックの位置情報と共に比較結果CTHを水平方向ブロック単位領域決定部43に供給する。
【0108】
垂直方向テクスチャ割合比較部42は、垂直方向テクスチャ割合計算部38より供給されてきた垂直方向テクスチャ割合RTVと所定の閾値th(RTV)とを比較し、ブロックの位置情報と共に比較結果CTVを垂直方向ブロック単位領域決定部44に供給する。
【0109】
尚、閾値th(REH)、閾値th(REV)、閾値th(RTH)、閾値th(RTV)は、それぞれ統一した同一の値でもよいし、それぞれ個別に設定されるようにしてもよい。
【0110】
水平方向ブロック単位領域決定部43は、水平方向エッジ割合比較部39および水平方向テクスチャ割合比較部41より、それぞれ供給されてくる比較結果CEHおよびCETに基づいて、比較結果CEHが所定の閾値th(REH)よりも大きいことを示す場合、対応する1ブロック分の全ての画素の水平方向についてブロック単位の領域情報をエッジ領域に決定する。また、比較結果CEHが所定の閾値th(REH)よりも大きくない場合、比較結果CTHが所定の閾値th(RTH)よりも大きいとき、水平方向ブロック単位領域決定部43は、対応する1ブロック分の全ての画素の水平方向についてブロック単位の領域情報をテクスチャ領域に決定する。そして、上記以外の場合、水平方向ブロック単位領域決定部43は、対応する1ブロック分の全ての画素の水平方向についてブロック単位の領域情報をフラット領域に決定する。
【0111】
垂直方向ブロック単位領域決定部44は、垂直方向エッジ割合比較部40および垂直方向テクスチャ割合比較部41より、それぞれ供給されてくる比較結果CEHおよびCETに基づいて、比較結果CEHが所定の閾値th(REH)よりも大きいことを示す場合、対応する1ブロック分の全ての画素の水平方向についてブロック単位の領域情報をエッジ領域に決定する。また、比較結果CEHが所定の閾値th(REH)よりも大きくない場合、比較結果CTHが所定の閾値th(RTH)よりも大きいとき、水平方向ブロック単位領域決定部43は、対応する1ブロック分の全ての画素の水平方向についてブロック単位の領域情報をテクスチャ領域に決定する。そして、上記以外の場合、水平方向ブロック単位領域決定部43は、対応する1ブロック分の全ての画素の水平方向についてブロック単位の領域情報をフラット領域に決定する。
【0112】
次に、図10のブロック図を参照して、図1の閾値決定部15の構成例について説明する。
【0113】
図10において、閾値決定部15には、バッファ51,52、水平方向パラメータ選択部53、垂直方向パラメータ選択部54、水平方向閾値決定部55、および垂直方向閾値決定部56が設けられている。
【0114】
バッファ51,52は、それぞれ図8のブロック単位領域判定部14よりブロック単位で供給されてくる各画素の水平方向および垂直方向の領域情報(ブロック単位の画素が属する領域が、エッジ領域、テクスチャ領域、またはフラット領域のいずれであるかを表す情報)を画素位置に対応付けて一時的に記憶する。
【0115】
水平方向パラメータ選択部53は、バッファ51に記憶されている領域情報に基づいて、注目画素を、例えば、ラスタスキャン順に順次設定し、設定した注目画素についての水平方向の領域情報を抽出する。さらに、水平方向パラメータ選択部53は、抽出した水平方向の領域情報に基づき、水平方向閾値決定部55が閾値εを決定するための、注目画素についての水平方向の決定用パラメータを選択(決定)し、水平方向閾値決定部55に供給する。
【0116】
垂直方向パラメータ選択部54は、バッファ51に記憶されている領域情報に基づいて、注目画素を、例えば、ラスタスキャン順に順次設定し、設定した注目画素についての垂直方向の領域情報抽出する。さらに、垂直方向パラメータ選択部54は、抽出した垂直方向の領域情報に基づき、垂直方向閾値決定部56が閾値εを決定するための、注目画素についての垂直方向の決定用パラメータを選択し、垂直方向閾値決定部56に供給する。
【0117】
水平方向閾値決定部55には、水平方向パラメータ選択部53から水平方向の決定用パラメータが供給されるとともに、図1のローパスフィルタ12から平滑化値LPF(V)が供給される。水平方向閾値決定部55は、水平方向パラメータ選択部53からの注目画素についての水平方向の決定用パラメータと、ローパスフィルタ12からの注目画素についての平滑化値LPF(V)とに基づいて、注目画素についての水平方向の閾値εを決定して出力する。
【0118】
垂直方向閾値決定部56は、垂直方向パラメータ選択部54からの、注目画素についての垂直方向の決定用パラメータと、ローパスフィルタ12からの注目画素についての平滑化値LPF(V)とに基づいて、注目画素についての垂直方向の閾値εを決定して出力する。
【0119】
次に、図11を参照して、図8の水平方向パラメータ選択部53から水平方向閾値決定部55に供給される水平方向の決定用パラメータについて説明するとともに、水平方向閾値決定部55による水平方向の閾値εの決定について説明する。
【0120】
図11は、平滑化値LPF(V)と閾値εとの関係を示す閾値決定曲線を表している。図9において、横軸は平滑化値LPF(V)を、縦軸は閾値εを、それぞれ示しており、横軸の左から右方向に向かって平滑化値LPF(V)の値は増加し、縦軸の下から上方向に向かって閾値εの値は増加する。
【0121】
水平方向閾値決定部55は、水平方向パラメータ選択部53からの注目画素についての決定用パラメータに基づいて、図11に示した、閾値決定曲線L1,L2,L3のうちのいずれかを、閾値εを決定するのに用いる閾値決定曲線に決定し、その閾値決定曲線と、図1のローパスフィルタ12からの注目画素の平滑化値LPF(V)とに基づいて、注目画素をフィルタリングするときのパラメータとしての閾値εを決定する。
【0122】
ここで、平滑化値LPF(V)と閾値εとの関係を示す閾値決定曲線は、例えば、変数(パラメータ)E,F,Mによって特定される曲線である。即ち、閾値決定曲線は、例えば、図11に示すように、平滑化値LPF(V)がF以下である場合に、閾値εが0のまま一定であり、平滑化値LPF(V)がFより大でEより小さい場合に、閾値εが平滑化値LPF(V)に比例して増加し、平滑化値LPF(V)がE以上である場合に、閾値εがM(>0)のまま一定である曲線である。
【0123】
水平方向パラメータ選択部53から水平方向閾値決定部55に対しては、例えば、閾値決定曲線を特定する変数E,F,Mが決定用パラメータとして供給される。また、例えば、変数Fの代わりに、閾値εが平滑化値LPF(V)に比例して増加する傾きkを決定用パラメータとしてもよい。
【0124】
図11には、決定用パラメータE,F,Mが、それぞれ、決定用パラメータE1,F1,M1である場合の閾値決定曲線L1と、決定用パラメータE,F,Mが、それぞれ、決定用パラメータE2,F2,M2である場合の閾値決定曲線L2と、決定用パラメータE,F,Mが、それぞれ、決定用パラメータE3,F3,M3である場合の閾値決定曲線L3とが示されている。
【0125】
水平方向パラメータ選択部53は、例えば、決定用パラメータ(の値)と領域情報とを対応付けて記憶しており、図4の水平方向領域判定部26から供給される水平方向の領域情報に対応付けられている決定用パラメータを選択する。
【0126】
例えば、水平方向パラメータ選択部53は、エッジ領域を表す領域情報と、決定用パラメータE1,F1,M1とを対応付けて記憶しており、水平方向領域判定部26からの領域情報がエッジ領域を表している場合、決定用パラメータE1,F1,M1を選択する。また、水平方向パラメータ選択部53は、テクスチャ領域を表す領域情報と、決定用パラメータE2,F2,M2とを対応付けて記憶しており、水平方向領域判定部26からの領域情報がテクスチャ領域を表している場合、決定用パラメータE2,F2,M2を選択する。
【0127】
また、水平方向パラメータ選択部53は、フラット領域を表す領域情報と、決定用パラメータE3,F3,M3とを対応付けて記憶しており、水平方向領域判定部26からの領域情報がフラット領域を表している場合、決定用パラメータE3,F3,M3を選択する。さらに、水平方向パラメータ選択部53は、その他の領域を表す領域情報を、例えば、決定用パラメータE3,F3,M3と対応付けて記憶しており、水平方向領域判定部26からの領域情報がその他の領域を表している場合も、決定用パラメータE3,F3,M3を選択する。
【0128】
ここで、図11において、閾値決定曲線L1,L2,L3の決定用パラメータEは、E1,E2,E3の順で大きく、閾値決定曲線L1,L2,L3の決定用パラメータFは、F1,F2,F3の順で大きく、閾値決定曲線L1,L2,L3の決定用パラメータMは、M1,M2,M3の順で小さくなる関係になっている。
【0129】
従って、注目画素が属する領域がエッジ領域である場合、閾値決定曲線L1にしたがい、注目画素の平滑化値LPF(V)が小の値F1以下であれば、閾値εは0に決定される。さらに、注目画素の平滑化値LPF(V)が小の値F1から小の値E1までの範囲の値であれば、閾値εは、平滑化値LPF(V)に比例した大の値に決定され、注目画素の平滑化値LPF(V)が小の値E1以上であれば、閾値εは、大の値M1に決定される。
【0130】
また、注目画素が属する領域がテクスチャ領域である場合、閾値決定曲線L2にしたがい、注目画素の平滑化値LPF(V)が小の値F1よりも大きい中の値F2以下であれば、閾値εは0に決定される。さらに、注目画素の平滑化値LPF(V)が、小の値F1よりも大きい中の値F2以上で、かつ小の値E1よりも大きい中の値E2以下の範囲の値であれば、閾値εは、平滑化値LPF(V)に比例した中の値に決定され、注目画素の平滑化値LPF(V)が中の値E1以上であれば、閾値εは、大の値M1よりも小さい中の値M2に決定される。
【0131】
また、注目画素が属する領域がフラット領域またはその他の領域である場合、閾値決定曲線L3にしたがい、注目画素の平滑化値LPF(V)が中の値F2よりも大きい大の値F3以下であれば、閾値εは0に決定される。さらに、注目画素の平滑化値LPF(V)が、中の値F2よりも大きい大の値F3以上で、かつ中の値E2よりも大きい大の値E3以下の範囲の値であれば、閾値εは、平滑化値LPF(V)に比例した小の値に決定され、注目画素の平滑化値LPF(V)が大の値E3以上であれば、閾値εは、中の値M2よりも小さい小の値M3に決定される。
【0132】
このように、水平方向閾値決定部55は、注目画素が属する領域が、エッジ領域、テクスチャ領域、または、フラット領域のいずれであるかを表す領域情報と、注目画素の平滑化値LPF(V)とに基づいて、注目画素についての水平方向の閾値(ノイズ除去処理としての水平方向のフィルタリングのパラメータ)εを決定する。
【0133】
即ち、大雑把に言えば、水平方向閾値決定部55は、注目画素が属する領域が、エッジ領域であれば、大の値の閾値εを、注目画素が属する領域が、テクスチャ領域であれば、中の値の閾値εを、注目画素が属する領域が、フラット領域であれば、小の値の閾値εを、それぞれ決定する。また、水平方向閾値決定部55は、注目画素の平滑化値LPF(V)が大であるほど、大の値の閾値εを決定する。
【0134】
垂直方向閾値決定部56(図10)も、垂直方向パラメータ選択部54からの注目画素の領域情報と、ローパスフィルタ12(図1)からの注目画素の平滑化値LPF(V)とに基づき、水平方向閾値決定部55と同様にして、注目画素についての垂直方向の閾値(ノイズ除去処理としての垂直方向のフィルタリングのパラメータ)εを決定する。
【0135】
そして、非線形平滑フィルタ16(図1)は、水平方向閾値決定部55からの注目画素についての水平方向の閾値ε、および垂直方向閾値決定部56からの注目画素についての垂直方向の閾値εに基づいて、注目画素をフィルタリングする。例えば、非線形平滑フィルタ16は、直列に接続された2段階のεフィルタを有しており、例えば、1段目のεフィルタによって、水平方向閾値決定部55からの注目画素についての水平方向の閾値εに基づいて注目画素を水平方向にフィルタリングし、2段目のεフィルタによって、1段目のεフィルタが出力する注目画素を、垂直方向閾値決定部56からの注目画素についての垂直方向の閾値εに基づいて注目画素を垂直方向にフィルタリングする。
【0136】
ここで、非線形平滑フィルタ16が有するεフィルタについて簡単に説明する。εフィルタは、画像データを構成する画素のうちの、注目画素のフィルタリング(ローパスフィルタリング)に用いる、注目画素の近傍にある近傍画素の画素値を、閾値εに応じて設定する。
【0137】
図12は、εフィルタによるフィルタリングを説明する図である。近傍画素Pmの画素値Xmが、注目画素Pnの画素値Xnを中心とする閾値εの範囲内にない場合、εフィルタは、近傍画素Pmの画素値Xmを注目画素Pnの画素値Xnに置き換え、注目画素Pnのフィルタリングに用いる。一方、近傍画素Pmの画素値Xmが閾値εの範囲内にある場合、εフィルタは、その近傍画素Pmの画素値Xmをそのまま用い、注目画素Pnをフィルタリングする。
【0138】
従って、εフィルタによれば、注目画素の画素値に近い値の画素値(閾値εの範囲内の画素値)のみを用いて、注目画素がフィルタリングされる。その結果、εフィルタにおいては、例えば、入力データとしての画像データに微少なノイズが含まれる場合には、そのノイズが除去されたフィルタリング結果が得られる。さらに、εフィルタにおいては、例えば、入力データとしての画像データに、急峻なエッジが含まれている場合には、そのエッジの形状を維持したフィルタリング結果が得られる。
【0139】
また、εフィルタによれば、入力データとしての画像データをフィルタリングする際に、閾値εを大きな値にすると平滑化の度合いが高くなり、閾値εを小さな値にすると平滑化の度合いが低くなる。
【0140】
このようなεフィルタを有する非線形平滑フィルタ16によって、図11を参照して説明したように決定される閾値εに基づき、画像データがフィルタリングされることにより、エッジの形状を維持したまま、エッジの周辺部分に発生するモスキートノイズが除去される。
【0141】
次に、図13は、図1のノイズ除去装置10が画像データのモスキートノイズを除去するノイズ除去処理について説明するフローチャートである。
【0142】
入力データとしての1フレームの画像データがノイズ除去装置10の分散計算部11と非線形平滑フィルタ16に入力され、ステップS11において、分散計算部11は、画像データの画素ごとに分散Vを計算する。分散計算部11は、分散Vをローパスフィルタ12に供給し、ステップS12に進む。
【0143】
ステップS12において、ローパスフィルタ12は、分散計算部11からの画像データの分散Vを平滑化し、平滑化値LPF(V)を、画素単位領域判定部13および閾値決定部15に供給する。
【0144】
ローパスフィルタ12から平滑化値LPF(V)が供給されると、ステップS13において、画素単位領域判定部13は、ローパスフィルタ12からの平滑化値LPF(V)に基づき、画像データを構成する各画素について、画素単位領域判定処理を行う。画素単位領域判定部13は、画素単位領域判定処理を行った結果得られる画素単位領域情報を画素の位置情報に対応付けてブロック単位領域判定部14の水平方向画素単位領域情報バッファ31および垂直方向画素単位領域情報バッファ32に供給し、ステップS14に進む。
【0145】
ステップS14において、ブロック単位領域判定部14は、水平方向画素単位領域情報バッファ31および垂直方向画素単位領域情報バッファ32を参照して、1フレーム分の全ての画素について、水平方向および垂直方向の画素単位領域情報が供給されてきているか否かを判定し、1フレーム分の画素単位領域情報が供給されてきていない場合、処理は、ステップS11に戻る。すなわち、1フレーム分の全ての画素について画素単位領域情報が供給されてくるまで、ステップS11乃至S14の処理が繰り返される。そして、ステップS14において、1フレーム分の全ての画素について画素単位領域情報が供給されてきた場合、処理は、ステップS15に進む。
【0146】
ステップS15において、ブロック単位領域判定部14は、ブロック境界検出部17により検出されるブロック境界情報、および、画素単位領域情報に基づいて、ブロック単位領域判定処理を実行し、ブロック単位での領域情報を生成し、閾値決定部15に供給する。
【0147】
ステップS16において、ブロック単位領域判定部14は、全てのブロックについて処理が終了しているか否かを判定し、未処理のブロックが存在する場合、処理は、ステップS15に戻る。すなわち、全てのブロックについて処理が終了するまで、ステップS15,S16の処理が繰り返される。そして、全てのブロックについて処理が終了したと判定された場合、処理は、ステップS17に進む。
【0148】
ステップS17において、閾値決定部15は、各画素について、例えばラスタスキャン順に、ローパスフィルタ12からの平滑化値LPF(V)と、ブロック単位領域判定部14からのブロック単位で設定された画素毎の領域情報とに基づいて、非線形平滑フィルタ16が行うノイズ除去処理のパラメータである閾値εを、画素ごとに決定して非線形平滑フィルタ16に供給する閾値決定処理を行う。
【0149】
ステップS17の処理後、ステップS18に進み、非線形平滑フィルタ16は、例えば、ラスタスキャン順に順次閾値決定部15からの閾値εに基づき、入力データとしての画像データにノイズ除去処理を施す。即ち、非線形平滑フィルタ16は、閾値決定部15からの閾値εの値に基づく度合いで平滑化がされるように、画像データをフィルタリングし、画像データに含まれるモスキートノイズその他のノイズを除去する。非線形平滑フィルタ16は、モスキートノイズ等を除去した画像データを出力データとして出力する。
【0150】
ステップS19において、閾値決定部15は、1フレーム分の画素について未処理の画素が存在するか否かを判定し、未処理の画素が存在する場合、処理は、ステップS17に戻る。すなわち、1フレーム分の全ての画素について閾値決定処理がなされて非線形平滑化フィルタによりモスキートノイズが除去されたと判定されるまで、ステップS17乃至S19の処理が繰り返される。
【0151】
そして、ステップS19において、1フレーム分の全ての画素について閾値決定処理がなされて非線形フィルタによりモスキートノイズが除去されたと判定された場合、処理は終了する。
【0152】
なお、図13の処理は、ノイズ除去装置10に1フレームの画像データが供給されるごとに、その画像データを対象として繰り返し行われる。
【0153】
次に、図14は、図13のステップS13における画素単位領域判定処理を説明するフローチャートである。図14では、画素単位領域判定部13(図4)のうちの、水平差分計算部22、水平ヒストグラム計算部24、および水平方向領域判定部26によって水平方向に行われる画素単位領域判定処理を説明する。
【0154】
画素単位領域判定部13は、ノイズ除去装置10に供給された画像データを構成する画素を、順次、注目画素とし、領域判定処理を行う。即ち、領域判定処理では、図1のローパスフィルタ12から画素単位領域判定部13に供給された平滑化値LPF(V)のうちの、注目画素を含む、注目画素の周辺に位置する7×5画素、つまり、注目領域の7×5画素(図5)の平滑化値LPF(V)が、メモリ21(図4)に記憶される。
【0155】
そして、ステップS21において、水平差分計算部22は、図5で説明したように、注目領域の水平方向の変化量としての差分値を計算して水平ヒストグラム計算部24に供給し、ステップS22に進む。
【0156】
ステップS22において、水平ヒストグラム計算部24は、図6で説明したように、水平差分計算部22からの水平方向の変化量についてのヒストグラムを計算し、3つの度数hist(1),hist(2),hist(3)からなるヒストグラムを水平方向領域判定部26に供給する。
【0157】
ステップS22の処理後、ステップS23に進み、水平方向領域判定部26は、水平ヒストグラム計算部24からの度数hist(1)と、あらかじめ与えられている閾値th1とを比較し、度数hist(1)が閾値th1より大きい(または以上である)か否かを判定する。
【0158】
ステップS23において、水平方向領域判定部26が、度数hist(1)が閾値th1より大きいと判定した場合、ステップS24に進み、水平方向領域判定部26は、注目画素が属する領域がエッジ領域であることを表す水平方向の領域情報を、ブロック単位領域情報判定部14の水平方向画素単位領域情報バッファ31(図1)に供給して、ステップS30において、ブロック単位領域判定部14の水平方向画素単位領域情報バッファ31にバッファリングし、処理を終了する。
【0159】
一方、ステップS23において、水平方向領域判定部26が、度数hist(1)が閾値th1以下であると判定した場合、ステップS25に進む。
【0160】
ステップS25において、水平方向領域判定部26は、水平ヒストグラム計算部24からの度数hist(2)と、あらかじめ与えられている閾値th2とを比較し、度数hist(2)が閾値th2より大きい(または以上である)か否かを判定する。
【0161】
ステップS25において、水平方向領域判定部26が、度数hist(2)が閾値th2より大きいと判定した場合、ステップS26に進み、水平方向領域判定部26は、注目画素が属する領域がテクスチャ領域であることを表す水平方向の領域情報を、ブロック単位領域情報判定部14の水平方向画素単位領域情報バッファ31に供給して、ステップS30において、ブロック単位領域判定部14の水平方向画素単位領域情報バッファ31にバッファリングし、処理を終了する。
【0162】
一方、ステップS25において、水平方向領域判定部26が、度数hist(2)が閾値th2以下であると判定した場合、ステップS27に進む。
【0163】
ステップS27において、水平方向領域判定部26は、水平ヒストグラム計算部24からの度数hist(3)と、あらかじめ与えられている閾値th3とを比較し、度数hist(3)が閾値th3より大きい(または以上である)か否かを判定する。
【0164】
ステップS27において、水平方向領域判定部26が、度数hist(3)が閾値th3より大きいと判定した場合、ステップS28に進み、水平方向領域判定部26は、注目画素が属する領域がフラット領域であることを表す水平方向の領域情報を、ブロック単位領域情報判定部14の水平方向画素単位領域情報バッファ31に供給して、ステップS30において、ブロック単位領域判定部14の水平方向画素単位領域情報バッファ31にバッファリングし、処理を終了する。
【0165】
一方、ステップS27において、水平方向領域判定部26が、度数hist(3)が閾値th3以下であると判定した場合、ステップS29に進み、水平方向領域判定部26は、注目画素が属する領域が、その他の領域であることを表す水平方向の領域情報を、ブロック単位領域情報判定部14の水平方向画素単位領域情報バッファ31に供給して、ステップS30において、ブロック単位領域判定部14の水平方向画素単位領域情報バッファ31にバッファリングし、処理を終了する。
【0166】
なお、以上の説明は、水平差分計算部22、水平ヒストグラム計算部24、および水平方向領域判定部26によって水平方向に行われる画素単位領域判定処理についてのものであるが、垂直差分計算部23、垂直ヒストグラム計算部25、および垂直方向領域判定部27によっても同様の画素単位領域判定処理が垂直方向に行われ、垂直方向の画素単位領域情報がブロック単位領域情報判定部14の垂直方向画素単位領域情報バッファ32に供給され、バッファリングされる。
【0167】
次に、図15のフローチャートを参照して、図13のステップS15におけるブロック単位領域判定処理について説明する。図15では、ブロック単位領域判定部14(図8)のうちの、水平方向画素単位領域情報バッファ31、水平方向ブロック単位抽出部33、水平方向エッジ割合計算部35、水平方向テクスチャ割合計算部37、水平方向エッジ割合比較部39、水平方向テクスチャ割合比較部41、および水平方向ブロック単位領域決定部43によって水平方向に行われるブロック単位領域判定処理を説明する。
【0168】
ステップS31において、水平方向ブロック単位抽出部33は、ブロック境界検出部17より供給されてくるブロック境界情報に基づいて、水平方向画素単位領域情報バッファ31より1ブロック分の画素単位の領域情報を抽出し、ブロックの位置情報と共に水平方向エッジ割合計算部35、および水平方向テクスチャ割合計算部37に供給する。
【0169】
ステップS32において、水平方向エッジ割合計算部35は、水平方向ブロック単位抽出部33より供給されてくる1ブロック分の画素単位の領域情報のうち、領域情報がエッジ領域である割合である水平方向エッジ割合REHを計算し、ブロックの位置情報と共に水平方向エッジ割合比較部39に供給する。
【0170】
ステップS33において、水平方向テクスチャ割合計算部37は、水平方向ブロック単位抽出部33より供給されてくる1ブロック分の画素単位の領域情報のうち、領域情報がテクスチャ領域である割合である水平方向テクスチャ割合RTHを計算し、ブロックの位置情報と共に水平方向テクスチャ割合比較部41に供給する。
【0171】
ステップS34において、水平方向エッジ割合比較部39は、水平方向エッジ割合計算部35より供給されてきた水平方向エッジ割合REHと所定の閾値th(REH)とを比較し、ブロックの位置情報と共に比較結果CEHを水平方向ブロック単位領域決定部43に供給する。例えば、水平方向エッジ割合比較部39は、水平方向エッジ割合計算部35より供給されてきた水平方向エッジ割合REHが所定の閾値th(REH)よりも大きいとき、比較結果CEHとして「1」を出力し、それ以外のとき「0」を出力する。
【0172】
ステップS35において、水平方向テクスチャ割合比較部41は、水平方向テクスチャ割合計算部37より供給されてきた水平方向テクスチャ割合RTHと所定の閾値th(RTH)とを比較し、ブロックの位置情報と共に比較結果CTHを水平方向ブロック単位領域決定部43に供給する。例えば、水平方向テクスチャ割合比較部41は、水平方向テクスチャ割合計算部37より供給されてきた水平方向テクスチャ割合RTHが所定の閾値th(RTH)よりも大きいとき、比較結果CTHとして「1」を出力し、それ以外のとき「0」を出力する。
【0173】
ステップS36において、水平方向ブロック単位領域決定部43は、水平方向エッジ割合REHが所定の閾値th(REH)よりも大きいか否か、すなわち、比較結果CEHが「1」であるか否かを判定する。ステップS36において、比較結果CEHが「1」である場合、すなわち、水平方向エッジ割合REHが所定の閾値th(REH)よりも大きい場合、ステップS37において、水平方向ブロック単位領域決定部43は、そのブロック全体の各画素の領域情報をエッジ領域に属していることを示す情報に設定して閾値決定部15のバッファ51に出力する。
【0174】
ステップS36において、比較結果CEHが「1」ではない場合、すなわち、水平方向エッジ割合REHが所定の閾値th(REH)よりも小さく、比較結果CEHが「0」の場合、ステップS38において、水平方向ブロック単位領域決定部43は、水平方向テクスチャ割合RTHが所定の閾値th(RTH)よりも大きいか否か、すなわち、比較結果CTHが「1」であるか否かを判定する。
【0175】
ステップS38において、比較結果CTHが「1」である場合、すなわち、水平方向テクスチャ割合RTHが所定の閾値th(RTH)よりも大きい場合、ステップS39において、水平方向ブロック単位領域決定部43は、そのブロック全体の各画素の領域情報をテクスチャ領域に属していることを示す情報に設定して閾値決定部15のバッファ51に出力する。
【0176】
ステップS38において、比較結果CTHが「1」ではなく場合、すなわち、水平方向テクスチャ割合RTHが所定の閾値th(RTH)よりも小さく、比較結果CTHが「0」の場合、ステップS40において、水平方向ブロック単位領域決定部43は、そのブロック全体の各画素の領域情報をフラット領域に属していることを示す情報に設定して閾値決定部15のバッファ51に出力する。
【0177】
以上の処理によりブロック単位で、比較結果(CEH,CTH)が、(1,0)および(1,1)の場合、そのブロックに属する全ての画素について領域情報がエッジ領域に属していることを示す情報に設定され、(0,1)の場合、そのブロックに属する全ての画素について領域情報がテクスチャ領域に属していることを示す情報に設定され、上記以外の場合、そのブロックに属する全ての画素については領域情報がフラット領域に属していることを示す情報に設定される。結果として、モスキートノイズが発生しやすいブロック単位で、属している画素の領域情報が設定される事になるので、モスキートノイズを効率良く除去することが可能となる。
【0178】
なお、以上の説明は、水平方向画素単位領域情報バッファ31、水平方向ブロック単位抽出部33、水平方向エッジ割合計算部35、水平方向テクスチャ割合計算部37、水平方向エッジ割合比較部39、水平方向テクスチャ割合比較部41、および水平方向ブロック単位領域決定部43によって水平方向に行われるブロック単位領域判定処理についてのものであるが、垂直方向画素単位領域情報バッファ32、垂直方向ブロック単位抽出部34、垂直方向エッジ割合計算部36、垂直方向テクスチャ割合計算部38、垂直方向エッジ割合比較部40、垂直方向テクスチャ割合比較部42、および垂直方向ブロック単位領域決定部44によっても同様のブロック単位領域判定処理が垂直方向に行われ、垂直方向のブロック単位領域情報が閾値決定部15のバッファ52に供給される。
【0179】
次に、図16は、図13のステップS17における閾値決定処理を説明するフローチャートである。図16では、閾値決定部15(図10)のうちの、水平方向パラメータ選択部53および水平方向閾値決定部55によって水平方向に行われる閾値決定処理を説明する。
【0180】
ステップS51において、水平方向パラメータ選択部53は、図4の水平方向領域判定部26から図10のバッファ51に供給された注目画素の水平方向の領域情報のうち、未処理の注目画素を設定し、注目画素に対応する水平方向の領域情報に基づいて、閾値決定曲線を決定するための決定用パラメータを選択する。
【0181】
例えば、図11を参照して説明したように、水平方向パラメータ選択部53は、水平方向領域判定部26からの水平方向の領域情報がエッジ領域を表している場合、決定用パラメータE1,F1,M1を選択する。また、水平方向パラメータ選択部53は、水平方向領域判定部26からの水平方向の領域情報がテクスチャ領域を表している場合、決定用パラメータE2,F2,M2を選択する。また、水平方向パラメータ選択部53は、水平方向領域判定部26からの水平方向の領域情報がフラット領域またはその他の領域を表している場合、決定用パラメータE3,F3,M3を選択する。
【0182】
水平方向パラメータ選択部53は、決定用パラメータを水平方向閾値決定部55に供給して、ステップS52に進む。
【0183】
ステップS52において、水平方向閾値決定部55は、水平方向パラメータ選択部53からの決定用パラメータに基づき、閾値εの決定に用いる閾値決定曲線を決定し、その閾値決定曲線において、図1のローパスフィルタ12から供給される注目画素の平滑化値LPF(V)に対応する値を、注目画素の水平方向の閾値εとして決定する。
【0184】
そして、水平方向閾値決定部55は、図1の非線形平滑フィルタ16に水平方向の閾値εを供給し、処理を終了する。
【0185】
なお、以上の説明は、水平方向パラメータ選択部53および水平方向閾値決定部55によって水平方向に行われる閾値決定処理についてのものであるが、垂直方向パラメータ選択部54および垂直方向閾値決定部56によっても、図10の垂直方向パラメータ選択部54からの決定用パラメータに基づき、同様の閾値決定処理が垂直方向に行われ、その閾値決定処理によって得られる注目画素の垂直方向の閾値εが非線形平滑フィルタ16に供給される。
【0186】
以上のように、ブロック単位領域判定処理による判定結果としての領域情報に基づき、閾値決定処理により閾値εを決定することで、非線形平滑フィルタ16では、画像データの各画素がブロック単位で属する領域に適した閾値εによるフィルタリングであって、かつ、各画素の近傍の画素値のばらつき(散らばり)の度合いに応じた閾値εによるフィルタリングが行われ、その結果、画像データに含まれるモスキートノイズ等を効果的に除去することができる。
【0187】
即ち、従来より、モスキートノイズを除去する方法としては、例えば、一次微分や、ソーベルフィルタを利用したフィルタリングを行う方法があるが、この方法では、エッジ領域とテクスチャ領域とを適切に分離してフィルタリングを行うことが難しかった。これに対して、図1のノイズ除去装置10によれば、エッジ領域、テクスチャ領域、フラット領域を適切に分離して、そのエッジ領域、テクスチャ領域、フラット領域の各領域に応じた閾値決定曲線により、画素値の散らばりの度合いに応じて、動的に、閾値εを決定するので、効果的にノイズを除去することができる。
【0188】
具体的には、エッジ領域に属する画素については、図11を参照して説明したように、閾値決定曲線L1にしたがい、閾値εは、比較的大の値に決定されるので、非線形平滑フィルタ16は、高い平滑化の度合いでエッジ領域(例えば、図3の範囲dに対応する画像データの範囲)の画素をフィルタリングする。従って、画像データのエッジの周辺部分に発生するモスキートノイズを除去することができる。
【0189】
また、テクスチャ領域に属する画素については、閾値決定曲線L2にしたがい、閾値εは、エッジ領域に属する画素についての閾値εよりも小さい中の値に決定されるので、非線形平滑フィルタ16は、エッジ領域の画素の平滑化の度合いよりも低い平滑化の度合いで、テクスチャ領域(例えば、図3の範囲eに対応する画像データの範囲)の画素をフィルタリングする。従って、テクスチャとしての画素値の微細な変化を保存すること、例えば、物体表面の模様などの画質の劣化を防止することができる。
【0190】
また、フラット領域に属する画素については、閾値決定曲線L3にしたがい、閾値εは、テクスチャ領域に属する画素についての閾値εよりも小さい小の値に決定されるので、非線形平滑フィルタ16は、テクスチャ領域の画素の平滑化の度合いよりも低い平滑化の度合いで、フラット領域(例えば、図3の範囲fに対応する画像データの範囲)の画素をフィルタリングする。従って、フラット領域に存在する微細なノイズを除去することができる。
【0191】
さらに、モスキートノイズの発生しやすいブロック単位で各画素の領域情報が設定されるので、モスキートノイズを効率良く除去することが可能となる。
【0192】
次に、図1のノイズ除去装置10では、注目画素の分散情報として縦×横が3×3画素の画素値の分散Vを用いて、水平方向の処理(上述の画素単位領域判定処理(図14)、ブロック単位領域判定処理(図15)、閾値決定処理(図16)、およびノイズ除去処理のうち水平方向に行われる処理)および垂直方向の処理(上述の領域判定処理(図14)、ブロック単位領域判定処理(図15)、閾値決定処理(図16)、およびノイズ除去処理のうち垂直方向に行われる処理)の両方が行われるが、注目画素については、水平方向の分散情報と垂直方向の分散情報とをそれぞれ求め、水平方向の分散情報を用いて水平方向の処理を行うとともに、垂直方向の分散情報を用いて垂直方向の処理を行うことができる。
【0193】
図17は、本発明を適用したノイズ除去装置の他の実施の形態の構成例を示すブロック図である。
【0194】
図17において、ノイズ除去装置60には、水平分散計算部61、垂直分散計算部62、垂直ローパスフィルタ63、水平ローパスフィルタ64、水平画素単位領域判定部65、垂直画素単位領域判定部66、水平ブロック単位領域判定部67、垂直ブロック単位領域判定部68、水平閾値決定部69、垂直閾値決定部70、水平非線形平滑化フィルタ71、垂直非線形平滑化フィルタ72、およびブロック境界検出部73が設けられている。
【0195】
水平分散計算部61および垂直分散計算部62には、図1の分散計算部11と同様に、入力データとしての画像データが入力され、水平分散計算部61は、注目画素についての水平方向の分散情報としての、例えば、水平方向の分散VHを計算し、垂直分散計算部62は、注目画素についての垂直方向の分散情報としての、例えば、垂直方向の分散VVを計算する。
【0196】
このとき、水平分散計算部61と垂直分散計算部62とは、それぞれ異なる数の画素(画素値)を用いて分散を求めることができる。水平分散計算部61は、注目画素を中心とする水平方向の、例えば、5画素(tap)を用い、上述の式(1)にしたがい、注目画素についての水平方向の分散VHを計算する。垂直分散計算部62は、注目画素を中心とする垂直方向の、例えば、3画素(tap)を用い、上述の式(1)にしたがい、注目画素についての垂直方向の分散VVを計算する。なお、水平方向の分散VHと垂直方向の分散VVとは、同一の数の画素を用いて求めることもできる。
【0197】
そして、水平分散計算部61は、注目画素についての水平方向の分散VHを垂直ローパスフィルタ63に供給し、垂直分散計算部62は、注目画素についての垂直方向の分散VVを水平ローパスフィルタ64に供給する。
【0198】
垂直ローパスフィルタ63は、水平分散計算部61からの注目画素についての水平方向の分散VHを水平方向に平滑化する。垂直ローパスフィルタ63は、注目画素についての水平方向の分散VHを水平方向に平滑化することにより得られる注目画素についての水平方向の平滑化値LPF(VH)を、水平画素単位領域判定部65および水平閾値決定部69に供給する。
【0199】
水平ローパスフィルタ64は、垂直分散計算部62からの注目画素についての垂直方向の分散VVを垂直方向に平滑化する。水平ローパスフィルタ64は、注目画素についての垂直方向の分散VVを垂直方向に平滑化することにより得られる注目画素についての垂直方向の平滑化値LPF(VV)を、垂直画素単位領域判定部66および垂直閾値決定部70に供給する。
【0200】
水平画素単位領域判定部65は、図4のメモリ21、水平差分計算部22、水平ヒストグラム計算部24、および水平方向領域判定部26(いずれも図示せず)が設けられる点で、図4の画素単位領域判定部13と共通する。但し、水平画素単位領域判定部65は、垂直差分計算部23、垂直ヒストグラム計算部25、および垂直方向領域判定部27が設けられていない点で、図4の画素単位領域判定部13と相違する。
【0201】
そして、水平画素単位領域判定部65は、画素単位領域判定部13と同様に、垂直ローパスフィルタ63からの注目画素についての水平方向の平滑化値LPF(VH)に基づいて、画像データを構成する各画素について、画素が属する領域が、エッジ領域、テクスチャ領域、フラット領域、またはその他の領域のうちのいずれであるかを判定する水平方向の画素単位領域判定処理を行う。そして、水平画素単位領域判定部65は、水平方向の画素単位領域判定処理を行った結果、注目画素についての水平方向の画素単位領域情報を水平閾値決定部69に供給する。
【0202】
垂直画素単位領域判定部66は、図4のメモリ21、垂直差分計算部23、垂直ヒストグラム計算部25、および垂直方向領域判定部27(いずれも図示せず)が設けられる点で、図4の画素単位領域判定部13と共通する。但し、垂直画素単位領域判定部66は、水平差分計算部22、水平ヒストグラム計算部24、および水平方向領域判定部26が設けられていない点で、図4の画素単位領域判定部13と相違する。
【0203】
そして、垂直画素単位領域判定部66は、図4の画素単位領域判定部13と同様に、水平ローパスフィルタ64からの注目画素についての垂直方向の平滑化値LPF(VV)に基づいて、画像データを構成する各画素について、画素が属する領域が、エッジ領域、テクスチャ領域、フラット領域、またはその他の領域のうちのいずれであるかを判定する垂直方向の画素単位領域判定処理を行う。そして、垂直画素単位領域判定部66は、垂直方向の画素単位領域判定処理を行った結果、注目画素についての垂直方向の画素単位領域情報を垂直閾値決定部70に供給する。
【0204】
水平ブロック単位領域判定部67は、図8の水平方向画素単位領域情報バッファ31、水平方向ブロック単位抽出部33、水平方向エッジ割合計算部35、水平方向テクスチャ割合計算部37、水平方向エッジ割合比較部39、水平方向テクスチャ割合比較部41、および水平方向ブロック単位領域決定部43が設けられている点で、図8のブロック単位領域判定部14と共通する。但し、水平ブロック単位領域判定部67は、垂直方向画素単位領域情報バッファ32、垂直方向ブロック単位抽出部34、垂直方向エッジ割合計算部36、垂直方向テクスチャ割合計算部38、垂直方向エッジ割合比較部40、垂直方向テクスチャ割合比較部42、および垂直方向ブロック単位領域決定部44が設けられていない点で図8のブロック単位領域判定部14と相違する。
【0205】
そして、水平ブロック単位領域判定部67は、図8のブロック単位領域判定部14と同様に、水平方向に処理された画素単位領域情報に基づいて、ブロック境界検出部73のブロック境界情報により、ブロック単位で画素が属する領域が、エッジ領域、テクスチャ領域、またはフラット領域のいずれであるかを判定する水平方向のブロック単位領域判定処理を行う。そして、水平ブロック単位領域判定部67は、水平方向のブロック単位領域判定処理を行った結果、ブロック単位で水平方向のブロック単位領域情報を水平閾値決定部69に供給する。
【0206】
垂直ブロック単位領域判定部68は、図8のブロック単位領域判定部14の水平ブロック単位領域判定部67は、垂直方向画素単位領域情報バッファ32、垂直方向ブロック単位抽出部34、垂直方向エッジ割合計算部36、垂直方向テクスチャ割合計算部38、垂直方向エッジ割合比較部40、垂直方向テクスチャ割合比較部42、および垂直方向ブロック単位領域決定部44が設けられている点で、共通する。但し、垂直ブロック単位領域判定部68は、図8の水平方向画素単位領域情報バッファ31、水平方向ブロック単位抽出部33、水平方向エッジ割合計算部35、水平方向テクスチャ割合計算部37、水平方向エッジ割合比較部39、水平方向テクスチャ割合比較部41、および水平方向ブロック単位領域決定部43が設けられていない点で図8のブロック単位領域判定部14と相違する。
【0207】
そして、垂直ブロック単位領域判定部68は、図8のブロック単位領域判定部14と同様に、垂直方向に処理された画素単位領域情報に基づいて、ブロック境界検出部73のブロック境界情報により、ブロック単位で画素が属する領域が、エッジ領域、テクスチャ領域、またはフラット領域のいずれであるかを判定する垂直方向のブロック単位領域判定処理を行う。そして、垂直ブロック単位領域判定部68は、垂直方向のブロック単位領域判定処理を行った結果、ブロック単位で垂直方向のブロック単位領域情報を垂直閾値決定部70に供給する。
【0208】
水平閾値決定部69は、図10の水平方向パラメータ選択部53および水平方向閾値決定部55(いずれも図示せず)が設けられる点で、図10の閾値決定部15と共通する。但し、水平閾値決定部69は、垂直方向パラメータ選択部54および垂直方向閾値決定部56が設けられていない点で、図10の閾値決定部15と相違する。
【0209】
そして、水平閾値決定部69は、図10の閾値決定部15と同様に、垂直ローパスフィルタ63からの注目画素についての水平方向の平滑化値LPF(VH)と、水平画素単位領域判定部65からの注目画素についての水平方向の領域情報とに基づいて、注目画素についての水平方向の閾値εを決定し、水平非線形平滑化フィルタ71に供給する。
【0210】
垂直閾値決定部70は、図10の垂直方向パラメータ選択部54および垂直方向閾値決定部56(いずれも図示せず)が設けられる点で、図10の閾値決定部15と共通する。但し、垂直閾値決定部70は、水平方向パラメータ選択部53および水平方向閾値決定部55が設けられていない点で、図10の閾値決定部15と相違する。
【0211】
そして、垂直閾値決定部70は、図10の閾値決定部15と同様に、水平ローパスフィルタ64からの注目画素についての垂直方向の平滑化値LPF(VV)と、垂直画素単位領域判定部66からの注目画素についての垂直方向の領域情報とに基づいて、注目画素についての垂直方向の閾値εを決定し、垂直非線形平滑化フィルタ72に供給する。
【0212】
水平非線形平滑化フィルタ71には、入力データとしての画像データが供給されるとともに、水平閾値決定部69から注目画素についての水平方向の閾値εが供給される。水平非線形平滑化フィルタ71は、例えば、εフィルタであり、水平閾値決定部69からの注目画素についての水平方向の閾値εに基づく度合いで注目画素の平滑化がされるように、画像データを水平方向にフィルタリングして垂直非線形平滑化フィルタ72に供給する。
【0213】
垂直非線形平滑化フィルタ72には、水平非線形平滑化フィルタ71が水平方向にフィルタリングした画像データが供給されるとともに、垂直閾値決定部70から注目画素についての垂直方向の閾値εが供給される。垂直非線形平滑化フィルタ72は、例えば、εフィルタであり、垂直閾値決定部70からの注目画素についての垂直方向の閾値εに基づく度合いで注目画素の平滑化がされるように、画像データを垂直方向にフィルタリングする。
【0214】
以上のように、ノイズ除去装置60では、入力データとしての画像データから、注目画素についての水平方向の分散VHと垂直方向の分散VVとがそれぞれ求められ、水平方向の分散VHを用いて水平方向の処理が行われ、垂直方向の分散VVに基づいて垂直方向の処理が行われる。
【0215】
このように、水平方向の処理に水平方向の分散VHを用いるとともに、垂直方向の処理に垂直方向の分散VVを用いることにより、図1のノイズ除去装置10のように、水平方向の処理と垂直方向の処理に同じ分散Vを用いる場合より、水平方向のフィルタリングに適した水平方向の閾値ε、および垂直方向のフィルタリングに適した垂直方向の閾値εを得ることができる。
【0216】
例えば、細線どうしが交差する交点付近の画素においては、水平方向の分散VHと垂直方向の分散VVとが異なる傾向が高く、ノイズ除去装置60によれば、特に、細線どうしが交差する交点付近をフィルタリングする場合、水平方向のフィルタリングに適した水平方向の閾値ε、および垂直方向のフィルタリングに適した垂直方向の閾値εで、フィルタリングすることができ、図1のノイズ除去装置10における場合よりも、より効果的にノイズを除去することができる。
【0217】
なお、ノイズ除去装置10や60では、注目画素についての領域情報に基づき、ノイズ除去処理のパラメータとして、εフィルタで使用される閾値εを決定するようにしたが、ノイズ除去処理のパラメータとしては、その他、例えば、ノイズ除去処理としてのフィルタリングを行うフィルタのタップ係数を求める(決定する)こともできる。
【0218】
また、本実施の形態においては、ノイズ除去処理を行う非線形平滑化フィルタとして、εフィルタを用いたが、非線形平滑化フィルタには、その他のフィルタ、例えば、平滑化されるノイズのレベルを閾値で制御することができるフィルタ(以下、適宜、Mフィルタという)を用いることができる。なお、Mフィルタの詳細については、例えば、特開2004−289607号公報に記載されている。
【0219】
Mフィルタは、例えば、注目画素をフィルタリングするとき、注目画素を含む周辺の画素を、複数の種類のタップ係数を用いて加重平均することで複数の種類の平滑化値を求め、注目画素の画素値と加重平均に用いた画素の画素値との差分値を所定の閾値と比較した結果に基づいて、複数の種類の平滑化値に対する重みを算出し、この重みに従って複数の種類の平滑化値を合成する。このように、閾値に基づく重みに従って複数の種類の平滑化値を合成することで、Mフィルタでは、平滑化されるノイズのレベルを閾値で制御することができる。
【0220】
このようなMフィルタにおいて、注目画素についての領域情報に基づいて決定される閾値を用いることにより、エッジ領域、テクスチャ領域、フラット領域の各領域に応じた閾値に基づく重みに従って複数の種類の平滑化値が合成され、各領域に応じたノイズ除去処理をすることができる。
【0221】
なお、ノイズ除去装置10や60では、例えば、MPEG方式でエンコードされた画像データがデコードされた動画像(のデータ)や、JPEG方式でエンコードされた画像データがデコードされた静止画像(のデータ)など、動画像であるか静止画像であるかを問わず、ノイズ除去処理の対象とすることができる。
【0222】
また、以上においてはDCT処理などの圧縮処理を行うためのブロック化におけるブロック境界をブロック境界検出部17,63により検出させる例について説明してきたが、符号化情報における基本的な情報であるため、デコーダなどで使用したものをそのまま利用するようにしても良い。
【0223】
以上においては、ブロック単位で領域情報を統一する場合の例について説明してきたが、例えば、低画質の画像に対してはブロック単位で領域情報を揃える事でモスキートノイズを低減させることは有効であるが、入力画像が、ある程度以上の画質の画像の場合、画素単位で求めた領域情報を用いた方がノイズの低減効果が高い。そこで、画質に応じて、ブロック単位での領域情報を用いるか、または、画素単位での領域情報を用いるかを切り替えるようにしても良い。
【0224】
例えば、MPEG2などの圧縮符号化を用いる場合、1920画素×1080画素の解像度の画像のビットレートが10Mbpsであれば画質が低下していることが推定されるが、720画素×480画素のビットレートが20Mbps程度であれば、ある程度の画質が保証されていると見ても良いものである。しかしながら、ビットレートと解像度による方法では画質との関係は一定とはいえず、エンコードの状況(動きベクトルの探索範囲や原画像の動きや原画像の情報量など)によって同一条件においても画質は大きく変動する。
【0225】
すなわち、MPEG2による圧縮符号化では、単一の画像のみで符号化を行うイントラフレーム(I-frame)と、複数枚の画像から予測誤差分を符号化する予測フレームがあるため、同一ビットレートであっても、これらのフレームの種類より、画像1枚に割り当てられるビット量の配分が異なるのでビットレートと画質の関係は一定といえない。
【0226】
ただし、イントラフレームに限れば、ビットレートと画質の関係でも、利用されるビット量はほぼすべてDCT係数の伝送に利用されるため、画質の予測に利用可能であると考えられる。
【0227】
一方で入力画像自体に情報量が少なければ、それを表現するのに必要なビット量は少なくて済む。
【0228】
これらのことから、入力画像の情報量と、割り当てられたビット量との比を歪量と定義し、この歪量により符号化画像の画質を推定することができる。
【0229】
そこで、次に、図18を参照して、入力画像の情報量と、フレームビット数との比で定義される歪量により、画素単位領域情報およびブロック単位領域情報を画素単位で混合するようにしたノイズ除去装置10について説明する。尚、図18において、図1と同一の機能を備えた構成については、同一の符号を付しており、その説明は適宜省略するものとする。
【0230】
図18において、図1のノイズ除去装置10と異なるのは、新たに領域情報合成部81が備えられている点である。領域情報合成部81は、画素単位領域判定部13からの画素単位領域情報と、ブロック単位領域判定部14からのブロック単位領域情報とをバッファリングし、画像の高周波成分のパワーとフレームビットから得られる歪量に基づいて、画素単位で混合し、閾値決定部15に出力する。
【0231】
次に、図19のブロック図を参照して、図18の領域情報合成部81の構成例について説明する。
【0232】
図19の領域情報合成部18には、水平方向画素単位領域情報バッファ91、垂直方向画素単位領域情報バッファ92、水平方向ブロック単位領域情報バッファ93、垂直方向ブロック単位領域情報バッファ94、水平方向領域情報合成部95、垂直方向領域情報合成部96、パワー計測部97、歪量計算部98、および混合比計算部99が設けられている。
【0233】
水平方向画素単位領域情報バッファ91は、画素単位領域情報判定部13より供給されてくる水平方向画素単位情報を記憶する。垂直方向画素単位領域情報バッファ92は、画素単位領域情報判定部13より供給されてくる垂直方向画素単位情報を記憶する。
【0234】
水平方向ブロック単位領域情報バッファ93は、ブロック単位領域情報判定部14より供給されてくる水平方向ブロック単位情報を記憶する。垂直方向ブロック単位領域情報バッファ94は、ブロック領域情報判定部14より供給されてくる垂直方向ブロック単位情報を記憶する。
【0235】
パワー計測部97は、HPF(Hi Pass Filter)97aを備えており、入力画像に対してHFP97aを掛けることにより、高周波成分を抽出して、それらの積算し、積算結果を画像におけるパワーPとして歪計算部98に出力する。
【0236】
歪計算部98は、デコーダ1より画像と共に供給されてくるイントラフレームに割り当てられているビット数を示すフレームビット量Bと、入力画像のパワーPに基づいて、歪量γ(=P/B)を計算し混合比計算部99に供給する。すなわち、パワーPがフレームビット量Bに対して大きい場合、設定されたフレームビットに対して高周波成分が多い画像となるので、歪量γは大きくなり、画質が低い画像であると推定され、逆に、パワーPがフレームビット量Bに対して小さい場合、設定されたフレームビットに対して高周波成分が少ない画像となるので、歪量γは小さくなり、画質が高い画像であると推定される。
【0237】
混合比計算部99は、歪量γと混合比Mとの関係が記憶されているテーブル99aを内蔵しており、歪量計算部98より供給されてくる歪量γに対応する画素単位領域情報とブロック単位領域情報との混合比Mを計算して、水平方向領域情報合成部95、および垂直方向領域情報合成部96に供給する。
【0238】
水平方向領域情報合成部95は、混合比計算部99より供給されて混合比Mに基づいて水平方向画素単位領域情報バッファ91の水平方向画素単位情報と、水平方向ブロック単位領域情報バッファ93の水平方向ブロック単位領域情報とを混合して、合成領域情報として閾値決定部15に出力する。
【0239】
垂直方向領域情報合成部96は、混合比計算部99より供給されて混合比Mに基づいて垂直方向画素単位領域情報バッファ92の垂直方向画素単位情報と、垂直方向ブロック単位領域情報バッファ94の垂直方向ブロック単位領域情報とを混合して、合成領域情報として閾値決定部15に出力する。
【0240】
次に、図20のフローチャートを参照して、図18のノイズ除去装置10がモスキートノイズを除去するノイズ除去処理における水平方向の処理ついて説明する。尚、図20のフローチャートにおけるステップS61乃至S66、およびS68乃至S70の処理は、図13のフローチャートにおけるステップS11乃至S19の処理と同様であるので、その説明は省略するものとする。ただし、ステップS63の処理により求められた画素単位領域情報は、ブロック単位領域判定部14に加えて領域情報合成部81に供給され、ステップS65により求められたブロック単位領域情報は、領域情報合成部81に供給される。また、ステップS68以降においては、ブロック単位領域情報に代えて、ステップS67の処理により求められる合成領域情報に基づいて処理がなされるものとする。従って、図20において、図13と異なるのは、ステップS67における領域情報混合処理である。
【0241】
そこで、図21のフローチャートを参照して、領域情報合成処理について説明する。
【0242】
ステップS81において、パワー計測部97は、入力画像に対してHFP97aを掛けることにより、高周波成分を抽出して、それらの積算値を画像におけるパワーPとして歪計算部98に出力する。
【0243】
ステップS82において、歪計算部98は、デコーダ1より画像と共に供給されてくるイントラフレームに割り当てられているビット数を示すフレームビット量Bと、入力画像のパワーPに基づいて、歪量γ(=P/B)を計算し混合比計算部99に供給する。この処理により、フレームビット量Bに対する入力画像の高周波成分のパワーP割合が求められるため、歪量γが大きいほど画質が低く、小さいほど画質が高いことが推定される。
【0244】
ステップS83において、混合比計算部99は、歪量γと混合比Mとの関係が記憶されているテーブル99aの情報に基づいて、歪量計算部98より供給されてくる歪量γに対応する画素単位領域情報とブロック単位領域情報との混合比Mを計算して、水平方向領域情報合成部95に供給する。
【0245】
ステップS84において、水平方向領域情報合成部95は、混合比計算部99より供給されて混合比Mに基づいて、水平方向画素単位領域情報バッファ91の水平方向画素単位情報と、水平方向ブロック単位領域情報バッファ93の水平方向ブロック単位領域情報とを混合して、合成領域情報として閾値決定部15に出力する。
【0246】
すなわち、テーブル99aに格納されている歪量γと混合比Mとの関係は、例えば、図22で示されるようなものである。ここで、混合比Mは、画素単位領域情報:ブロック単位領域情報=(1−M):Mで定義される。従って、図22で示されるように、歪量γが0乃至γ1においては、歪量γが小さいため、入力画像が比較的高画質であると考えられるので、混合比Mが0とされ、ブロック単位で全ての画素について画素単位領域情報が適用される。逆に、歪量γがγ2よりも大きいときにおいては、歪量γが大きくなるため、入力画像が比較的低画質であると考えられるので、混合比Mが1とされ、ブロック単位で全ての画素についてブロック単位領域情報が適用される。さらに、歪量γが、γ1<γ<γ2であるような場合、混合比Mは、0<M<1となるため、ブロック単位で(または、画像全体として)各画素は、画素単位領域情報とブロック単位領域情報とが混合比に対応して混在することになる。例えば、図22で示されるγ1とγ2の中間位置であるγhであるような場合、混合比Mは1/2となる。このような場合、水平方向領域情報合成部95は、各ブロックについて、例えば、図23で示される丸印で示される画素については、ブロック単位領域情報を適用し、それ以外の画素については、画素単位領域情報を適用する。図23において、1ブロックが8画素×8画素の範囲であるものとし、32画素ずつブロック単位領域情報と画素単位領域情報に混合されており、混合比通り、それぞれの領域情報が50%ずつ採用されていることが示されている。尚、ブロック単位領域情報が採用される画素と、画素単位領域情報が採用される画素の配置は、図23で示されるものに限られず、その他の配置であってもよい。
【0247】
また、以上の処理は、水平方向画素単位領域情報バッファ91、水平方向ブロック単位領域情報バッファ93、水平方向領域情報合成部95、パワー計測部97、歪量計算部98、および混合比計算部99により水平方向における領域情報合成処理について説明してきたが、当然のことながら、垂直方向画素単位領域情報バッファ92、垂直方向ブロック単位領域情報バッファ94、垂直方向領域情報合成部96、パワー計測部97、歪量計算部98、および混合比計算部99によっても同様の領域情報合成処理が行われ、垂直方向の合成領域情報が出力される。
【0248】
以上のような処理により、入力画像の高周波成分のパワーとフレームビット量との比率で定義される歪量により画質を推定することで、推定された画質に併せて適応的に画素単位領域情報とブロック単位領域情報とを使い分けることが可能となり、結果として、最適な領域情報に基づいてノイズを除去することが可能となる。
【0249】
上述した一連の処理は、ハードウエアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【0250】
そこで、図24は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【0251】
コンピュータは、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、内部バス104、入出力インターフェース105、入力部106、出力部107、記憶部108、通信部109、およびドライブ110を備える。
【0252】
CPU101、ROM102、およびRAM103は、内部バス104を介して相互に接続されている。この内部バス104にはまた、入出力インターフェース105も接続されている。
【0253】
CPU101は、ROM102に記憶されているプログラム、または、RAM103にロードされたプログラムに従って各種の処理を実行する。RAM103にはまた、CPU101が各種の処理を実行する上で必要なデータなどが適宜記憶される。
【0254】
入出力インターフェース105には、キーボード、マウスなどよりなる入力部106、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)などよりなる出力部107、ハードディスクなどより構成される記憶部108、モデム、ターミナルアダプタ、その他の通信インターフェースなどより構成される通信部109、およびドライブ110が接続されている。
【0255】
ドライブ110には、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどよりなる記録媒体111が適宜装着される。
【0256】
CPU101によって実行されるプログラムは、ROM102や記憶部108に予め記憶(記録)しておくことができる。また、プログラムを記録した記録媒体111を、いわゆるパッケージソフトウエアとして提供することができ、プログラムは、記録媒体111からドライブ110によって読み出され、記憶部108にインストールされる。また、プログラムを、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、通信部109に無線で転送し、または、LAN(Local Area Network)やインターネットといったネットワークを介して、通信部109に有線で転送して提供することができ、プログラムは、通信部109から記憶部108に供給されてインストールされる。
【0257】
このように構成されるコンピュータは、ユーザによって入力部106が操作されることにより、記憶部108に記憶されている画像データを出力部107で再生させる指令が入力されると、それに従って、ROM102に記憶されているプログラム、または、記憶部108からRAM103にロードされたプログラムを、CPU101に実行させる。
【0258】
これにより、CPU101は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU101は、その処理結果としてのノイズが除去された画像データ(画像)を、入出力インターフェース105を介して、出力部107に表示させる。
【0259】
なお、上述のフローチャートを参照して説明した各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
【0260】
また、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【図面の簡単な説明】
【0261】
【図1】本発明を適用したノイズ除去装置の一実施の形態の構成例を示すブロック図である。
【図2】分散計算部による分散Vの計算を説明する図である。
【図3】画像データ、分散V、および平滑化値LPF(V)の波形を模式的に示す図である。
【図4】画素単位領域判定部の構成例を示すブロック図である。
【図5】メモリの記憶内容を示す図である。
【図6】水平ヒストグラム計算部で求められる変化量のヒストグラムを説明する図である。
【図7】水平方向領域判定部と垂直方向領域判定部が行う、注目画素が属する画素単位領域判定処理を説明する図である。
【図8】ブロック単位領域判定部の構成例を示すブロック図である。
【図9】ブロック単位領域判定部によるブロック単位領域判定処理を説明する図である。
【図10】閾値決定部の構成例を示すブロック図である。
【図11】閾値決定曲線を示す図である。
【図12】εフィルタによるフィルタリングを説明する図である。
【図13】図1のノイズ除去装置のノイズ除去処理を説明するフローチャートである。
【図14】画素単位領域判定処理を説明するフローチャートである。
【図15】ブロック単位領域判定処理を説明するフローチャートである。
【図16】閾値決定処理を説明するフローチャートである。
【図17】本発明を適用したノイズ除去装置の他の実施の形態の構成例を示すブロック図である。
【図18】ノイズ除去装置のその他の実施の形態の構成例を示すブロック図である。
【図19】図18の領域情報合成部の構成例を示すブロック図である。
【図20】図18のノイズ除去装置のノイズ除去処理を説明するフローチャートである。
【図21】領域情報合成処理を説明するフローチャートである。
【図22】歪量と混合比との関係を示すテーブルの情報を説明する図である。
【図23】領域情報の合成例を説明する図である。
【図24】ノイズ除去装置を実現するプログラムがインストールされるコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
【0262】
10 ノイズ除去装置, 11 分散計算部, 12 ローパスフィルタ,13 画素単位領域判定部, 14 ブロック単位領域判定部, 15 閾値決定部, 16 非線形平滑フィルタ, 21 メモリ, 22 水平差分計算部, 23 垂直差分計算部, 24 水平ヒストグラム計算部, 25 垂直ヒストグラム計算部, 26 水平方向領域判定部, 27 垂直方向領域判定部, 31 水平方向画素単位領域情報バッファ, 32 垂直方向画素単位領域情報バッファ, 33 水平方向ブロック単位抽出部, 34 垂直方向ブロック単位抽出部, 35 水平方向エッジ割合計算部, 36 垂直方向エッジ割合計算部, 37 水平方向テクスチャ割合計算部, 38 垂直方向テクスチャ割合計算部, 39 水平方向エッジ割合比較部, 40 垂直方向エッジ割合比較部, 41 水平方向テクスチャ割合比較部, 42 垂直方向テクスチャ割合比較部, 43 水平方向ブロック単位領域決定部, 44 垂直方向ブロック単位領域決定部. 51 水平方向パラメータ選択部, 52 垂直方向パラメータ選択部, 53 水平方向閾値決定部, 54 垂直方向閾値決定部, 81 領域情報合成部

【特許請求の範囲】
【請求項1】
画像データを処理するデータ処理装置において、
前記画像データを構成する画素ごとに、画素値の散らばりの度合いを表す分散情報を計算する分散情報計算手段と、
前記分散情報を平滑化し、平滑化値を出力する平滑化手段と、
前記平滑化値に基づいて、前記画素が属する領域を画素単位で判定し、その領域を表す画素単位領域情報を出力する画素単位判定手段と、
前記画素単位判定手段による画素単位領域情報に基づいて、ブロック単位で前記画素が属する領域を判定し、その領域を表すブロック単位領域情報を出力するブロック単位判定手段と、
前記ブロック単位領域情報と前記平滑化値とに基づいて、前記画像データを構成する画素ごとに、ノイズ除去処理のパラメータを決定するパラメータ決定手段と、
前記画素ごとに決定された前記パラメータに基づき、前記画像データに前記ノイズ除去処理を施すノイズ除去手段と
を備えることを特徴とするデータ処理装置。
【請求項2】
前記画素単位判定手段は、
前記画像データを構成する画素のうちの、注目している注目画素を含む、前記注目画素の周辺に位置する画素の前記平滑化値の変化量を計算する変化量計算手段と、
前記変化量のヒストグラムを計算するヒストグラム計算手段と、
前記ヒストグラムに基づいて、前記注目画素が属する領域を画素単位で判定する画素単位領域判定手段と
を有する
ことを特徴とする請求項1に記載のデータ処理装置。
【請求項3】
前記画素単位判定手段は、前記画素が属する領域が、エッジ領域、テクスチャ領域、またはフラット領域のうちのいずれであるかを前記画素単位で判定する
ことを特徴とする請求項1に記載のデータ処理装置。
【請求項4】
前記ブロック単位判定手段は、
前記画素単位判定手段による前記画像データを構成するブロック単位の画素のうちの、領域毎の割合を計算する割合計算手段と、
前記領域毎の割合と所定の閾値とを比較する比較手段と、
比較手段の比較結果に基づいて、前記ブロック単位で画素が属する領域を判定するブロック単位領域判定手段と
を有する
ことを特徴とする請求項1に記載のデータ処理装置。
【請求項5】
前記ブロック単位判定手段は、各画素が属する領域が、エッジ領域、テクスチャ領域、またはフラット領域のうちのいずれであるかを前記ブロック単位で判定する
ことを特徴とする請求項1に記載のデータ処理装置。
【請求項6】
画像データを処理するデータ処理方法において、
前記画像データを構成する画素ごとに、画素値の散らばりの度合いを表す分散情報を計算する分散情報計算ステップと、
前記分散情報を平滑化し、平滑化値を出力する平滑化ステップと、
前記平滑化値に基づいて、前記画素が属する領域を画素単位で判定し、その領域を表す画素単位領域情報を出力する画素単位判定ステップと、
前記画素単位判定ステップの処理による画素単位領域情報に基づいて、ブロック単位で前記画素が属する領域を判定し、その領域を表すブロック単位領域情報を出力するブロック単位判定ステップと、
前記ブロック単位領域情報と前記平滑化値とに基づいて、前記画像データを構成する画素ごとに、ノイズ除去処理のパラメータを決定するパラメータ決定ステップと、
前記画素ごとに決定された前記パラメータに基づき、前記画像データに前記ノイズ除去処理を施すノイズ除去ステップと
を含むことを特徴とするデータ処理方法。
【請求項7】
画像データを処理するデータ処理をコンピュータに実行させるプログラムにおいて、
前記画像データを構成する画素ごとに、画素値の散らばりの度合いを表す分散情報を計算する分散情報計算ステップと、
前記分散情報を平滑化し、平滑化値を出力する平滑化ステップと、
前記平滑化値に基づいて、前記画素が属する領域を画素単位で判定し、その領域を表す画素単位領域情報を出力する画素単位判定ステップと、
前記画素単位判定ステップの処理による画素単位領域情報に基づいて、ブロック単位で前記画素が属する領域を判定し、その領域を表すブロック単位領域情報を出力するブロック単位判定ステップと、
前記ブロック単位領域情報と前記平滑化値とに基づいて、前記画像データを構成する画素ごとに、ノイズ除去処理のパラメータを決定するパラメータ決定ステップと、
前記画素ごとに決定された前記パラメータに基づき、前記画像データに前記ノイズ除去処理を施すノイズ除去ステップと
を含むことを特徴とするプログラム。
【請求項8】
請求項7に記載のプログラムが格納されているプログラム格納媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate


【公開番号】特開2008−278185(P2008−278185A)
【公開日】平成20年11月13日(2008.11.13)
【国際特許分類】
【出願番号】特願2007−119091(P2007−119091)
【出願日】平成19年4月27日(2007.4.27)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】