(57)【特許請求の範囲】
【請求項１】
複数の画素からなるブロック単位で復号した画像のブロックノイズを低減する画像処理装置において、
前記画像全体のノイズの広域特性値を、前記各ブロックの複数画素のブロック境界画素間のレベル差と複数画素の同一ブロック画素間のレベル差の平均値を求める広域特性算出手段と、
前記ブロックの境界部分のノイズの近傍特性値を、当該境界部分の画素間のレベル差と当該境界部分の同一ブロック画素間のレベル差を求め、当該境界部分の画素間のレベル差をその周囲の画素間のレベル差と比較する近傍特性算出手段と、
前記境界部分の画素のレベルを、前記ブロック境界がその画素値のフィルタリング前の画素値とフィルタリング後の画素値との差分が前記広域特性値を超える場合には、フィルタリング前の画素値に前記広域特性値を加算又は減算した新画素値に変更するフィルタリング手段とを有する、
ことを特徴とする画像処理装置。
【請求項２】
前記近傍特性算出手段は、前記ブロックの境界部分の近傍画素の二次微分値と、前記境界部分の画素の連続エッジ強度との少なくとも一方に基づいて、当該画素のエッジ可能性に対応の前記近傍特性値を求める、
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記広域特性算出手段は、
前記広域特性値を、ブロック境界画素間のレベル差、および当該境界画素と同じブロックの当該境界画素に隣接するブロック内画素間のレベル差に基づいて求める、
ことを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記広域特性算出手段は、
前記広域特性値を求めるときの使用画素を、画素間のレベル差が所定値以下のものに基づいて選択する、
ことを特徴とする請求項１〜３のいずれかに記載の画像処理装置。
【請求項５】
前記広域特性算出手段は、前記使用画素の選択に際し、第１ブロックのブロック内画素と、当該ブロックに隣接する第２ブロックのブロック内画素とが同一レベルとみなせる場合には、これらのブロック内画素の組を除外する、
ことを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記広域特性算出手段は、前記使用画素の選択に際し、少なくとも前記ブロック境界画素間のレベル差および前記ブロック内画素間のレベル差がともに所定値以上の場合には、これらのレベル差の発生元であるブロック境界画素およびブロック内画素の組を除外する、
ことを特徴とする請求項４記載の画像処理装置。
【請求項７】
画像処理装置により、複数の画素からなるブロック単位で復号した画像のブロックノイズを低減する画像処理方法において、
当該画像処理装置が、
前記画像全体のノイズの広域特性値を、前記各ブロックの複数画素のブロック境界画素間のレベル差と複数画素の同一ブロック画素間のレベル差の平均値を求め、
前記ブロックの境界部分のノイズの近傍特性値を、当該境界部分の画素間のレベル差と当該境界部分の同一ブロック画素間のレベル差を求め、当該境界部分の画素間のレベル差をその周囲の画素間のレベル差と比較して求め、
前記境界部分の画素のレベルを、前記ブロック境界がその画素値のフィルタリング前の画素値とフィルタリング後の画素値との差分が前記広域特性値を超える場合には、フィルタリング前の画素値に前記広域特性値を加算又は減算した新画素値に変更する、
ことを特徴とする画像処理方法。
【請求項８】
複数の画素からなるブロック単位で復号した画像のブロックノイズを低減するためのプログラムにおいて、
当該プログラムが、
前記画像全体のノイズの広域特性値を、前記各ブロックの複数画素のブロック境界画素間のレベル差と複数画素の同一ブロック画素間のレベル差の平均値を求め、
前記ブロックの境界部分のノイズの近傍特性値を、当該境界部分の画素間のレベル差と当該境界部分の同一ブロック画素間のレベル差を求め、当該境界部分の画素間のレベル差をその周囲の画素間のレベル差と比較して求め、
前記境界部分の画素のレベルを、前記ブロック境界がその画素値のフィルタリング前の画素値とフィルタリング後の画素値との差分が前記広域特性値を超える場合には、フィルタリング前の画素値に前記広域特性値を加算又は減算した新画素値に変更する、
機能をコンピュータに実現させるための画像処理用プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、各種の高能率画像符号化方式によりオリジナル画像（入力画像）をいったん圧縮して、その後の復号，逆量子化などのデータ処理により生成した再生画像に含まれる歪み，ノイズを低減するための画像処理装置，画像処理方法および画像処理用プログラムに関する。
【０００２】
なお、本明細書ではノイズ低減の対象となる画像を「復号画像」と記す。また、必要に応じて、画像中の「線」を含む意で「エッジ」を用いる。
【０００３】
近年、デジタルカメラの普及等によってディジタルカラー画像が頻繁に見受けられるようになった。
【０００４】
このディジタルカラー画像の場合、例えばＪＰＥＧ(Joint Photographic Experts Group)という符号・復号化形式により、８画素×８ラインのブロックを単位とした、画像データの圧縮，保存，再生などの処理が実行される。
【０００５】
なお、入力画像をデータ圧縮するプロセスは、例えば、
・２次元ＤＣＴ(Discrete Cosine Transform：離散コサイン変換）
・このＤＣＴにより求めた変換係数に対する量子化
・この量子化後の変換係数に対する可変長符号化
などである。
【０００６】
また、符号化後の画像データから再生画像を生成するプロセスは、例えば、
・可変長復号化
・この復号化に続く逆量子化
・この逆量子化に続く２次元ＩＤＣＴ（ＤＣＴの逆変換）
などである。
【０００７】
ＪＰＥＧ方式は、その圧縮画像のファイルサイズを非圧縮画像と比べて１／２〜１／２０程度に圧縮でき、画像データの保存、通信に適している。
【０００８】
ところが符号化の圧縮率を高くすると、再生画像に様々な歪み（ブロックノイズ，モスキートノイズなど）が生じ、画質が著しく劣化してしまう。
【０００９】
本発明は、このような高能率画像符号化にともなうノイズの発生を抑止して再生画像の画質改善を図りたいという要請に応えるものである。
【００１０】
なお、ブロックノイズは、例えば２次元ＤＣＴにより求まる入力画像変換係数の量子化が非常に粗い場合などに、再生画像中に他のブロック群とは再生レベルが不自然な形で異なるブロックが現れる、符号化雑音である。
【００１１】
また、モスキートノイズは、粗い量子化のために入力画像の高域周波数成分の変換係数が「０」とみなされてしまう場合などに、その再生画像に（蚊が飛んでいるように）波状となって現れる、符号化雑音である。高域周波数成分は、入力画像信号にエッジなどの急激な輝度変化があるときに多く発生する。
【００１２】
【従来の技術】
従来、次の公開特許公報などで、ブロックノイズなどを除去する手法が開示されている。
１．特開平７−３８７６２号公報
２．特開平２−５７０６７号公報
【００１３】
特開平７−３８７６２号公報のブロックノイズ除去手法では、
・先ず、復号画像自体のブロック境界およびブロック内部それぞれから所定組数の隣接画素値を抽出し、それをもとに画像全体に対するブロックノイズの度合いを算出し、
・この度合い（その画像にブロックノイズが多く発生しているかどうか）に応じて後処理フィルタの特性を変更している。この変更内容は全ブロックに対して一様なものである。
【００１４】
すなわち、ブロックノイズが多く発生していれば平滑化作用の大きなフィルタを全ブロックに一律適用し、またブロックノイズの発生が少なければ平滑化作用の小さなフィルタを全ブロックに一律適用している。
【００１５】
特開平２−５７０６７号公報のブロックノイズ除去手法では、
・復号画像のブロック境界隣接画素それぞれの、フィルタリング前の画素値とフィルタリング後の画素値との差分などを求め、
・当該隣接画素それぞれの当該差分値同士の積の正負や、当該差分値（絶対値）の大きさに基づいて、当該隣接画素の各画素値をフィルタリングの前後の値に選択的に設定している。
【００１６】
例えば、積が負値の場合、
・当該差分値（絶対値）が閾値より小さな画素は、ブロックノイズ画素と判断してフィルタリング後の画素値を用い、
・当該差分値（絶対値）が閾値より大きな画素は、ブロックノイズ画素ではなくエッジ画素だと判断し、フィルタリング前の画素値を用いている。
【００１７】
すなわち、平滑化対象のブロック境界の隣接画素自体の画素値に基づいてその画素をフィルタリング（平滑化）するかどうかを決定している。
【００１８】
【発明が解決しようとする課題】
従来のブロックノイズ除去手法では以下のような問題点があった。
【００１９】
特開平７−３８７６２号公報の場合、復号画像全体のブロックノイズの度合いに応じたフィルタ特性を選択してフィルタリングを行っているが、エッジの有無に関係なくすべてのブロックに均一のフィルタをかけてしまう。
【００２０】
その結果、ブロックノイズが多く発生していると判断された復号画像では強いフィルタリングが一様に行われ、平滑化対象であるブロックノイズだけでなくそのまま表示すべきエッジまでが消失し、再生画像にボケを生じさせてしまうことになる。
【００２１】
特開平２−５７０６７号公報の場合、ブロック境界のいわばローカルな画素値情報のみを用いてエッジとブロックノイズの判別を行っているが、両者の完璧な判別は不可能である。なぜならばブロックノイズと非常に似通ったエッジが復号画像に存在しえるからである。とくに低圧縮画像では、入力画像の細部（細かなレベル変動、急峻な変動など）が全て劣化することなく残っている。このような画像の細部にはブロックノイズと似通ったものが多数存在する。
【００２２】
その結果、本来ブロックノイズが存在しないブロック境界画素に対してもフィルタリングを実行して、過平滑になり、フィルタリングする前よりも画質が劣化してしまう。また、このように過平滑フィルタリングとなってしまう無駄な処理時間が生じる。
【００２３】
そこで、本発明では、復号画像全体のブロックノイズの程度を示す広域特性値と、ブロック境界部分のエッジ可能性やノイズ可能性を示すいわばローカルな近傍特性値とに基づいて、ブロック境界画素などに対するフィルタリングを制御して、ブロック境界の過平滑を防止することを目的とする。
【００２４】
【課題を解決するための手段】
本発明は、この課題を次のようにして解決する。
（１）複数の画素からなるブロック単位で復号した画像のブロックノイズを低減する画像処理装置に、前記画像全体の広域特性値を、前記各ブロックの複数画素のレベルに基づいて求める広域特性算出手段と、前記ブロックの境界部分の近傍特性値を、当該境界部分の複数画素のレベルに基づいて求める近傍特性算出手段と、前記境界部分の画素のレベルを、前記広域特性値および前記近傍特性値に基づいて変更するフィルタリング手段とを備える。
（２）上記（１）において、前記広域特性算出手段は、前記広域特性値を、ブロック境界画素間のレベル差、および当該境界画素と同じブロックのブロック内画素間のレベル差に基づいて求める。
（３）上記（１），（２）において、前記広域特性算出手段は、前記広域特性値を求めるときの使用画素を、画素間のレベル差に基づいて選択する。
【００２５】
本発明によれば、上記（１）のように、画像全体の広域特性値（画像全体におけるブロックノイズの程度）とブロック境界部分の近傍特性値（エッジ可能性やノイズ可能性の程度）とに基づいて、当該境界部分の画素に対するフィルタリングを実行し、これにより、従来技術で問題になった「ブロック境界部分のエッジ画素に対する過平滑」などが生じないようにしている。なお、「ブロック境界部分の画素」とはブロック境界画素自体とその近くの画素を含む概念である。
【００２６】
この広域特性値から対象画像に歪みが存在しないと分かればフィルタリング処理を完全にスルーすることにより、処理全体の高速化を図ることができる。
【００２７】
歪み除去では、例えば画像中に元々存在していたエッジを検出し、当該エッジにはフィルタリングを行わないことが重要なポイントとなる。しかし、例えばブロックノイズなどは画像を保存する際の圧縮率によってレベル差が変化するので、ブロック境界画素のレベル差のような近傍特性値だけではノイズとエッジの判別は大変難しい。そこで、画像の広い範囲から抽出した画素値から画像全体のブロックノイズの程度などのような広域特性値を把握し、これと近傍特性値に基づいてブロックノイズおよびエッジを判別することで、判別性能を向上させ、画像中の歪みにのみフィルタリングできるようにしている。
【００２８】
因みに、広域特性値は画像中の画素値から算出するため、例えば画像特性が記載されている画像ファイルのヘッダー情報（JPEG形式で保存された画像ファイルのヘッダー情報に記載されている量子化値など）などが使用できない場合でも問題なく適用できる。このように，フィルタ制御の際に、フィルタ適用画素近傍の画素値だけでなく、画像中の広範囲な部分の特性を表す広域特性値を使用することを特徴としている。
【００２９】
また、上記（２）のように、復号画像全体の広域特性値を、ブロック境界画素間のレベル差（必要に応じて「ブロック境界レベル差」という。）とブロック内画素間のレベル差（必要に応じて「ブロック内レベル差」という。）とに基づいて求め、これにより、当該広域特性値の精度を高めている。
【００３０】
なお、ブロック内レベル差の算出対象画素として、ブロック境界レベル差の算出対象画素の（同一ブロックの）一つ隣の画素を用いるかどうかは任意である。そして、一つ隣の画素を用いる場合にどの方向の画素を選ぶかも任意であり、水平，垂直方向だけでなく斜め方向の画素を選択してもよい。
【００３１】
ここでは、画像特性（ノイズの量、画質、量子化ステップなど）を算出できることを可能にしている。例えばJPEG形式は、８×８単位のブロック毎に非可逆圧縮を行う。よってブロック毎に相関がなくなるので、ブロック境界には歪みがよく顕在化する。よってブロック境界のレベル差とブロック内のレベル差を参考にすると歪みの特性をよく把握することができ、歪み，画質の劣化度合いなどを算出することが可能となる。
【００３２】
そして、ブロック内画素として、ブロック境界画素のブロック内隣接画素を用い、これにより、広域特性値を正確に求めることを可能にしている。例えばエッジが多い画像などでは、レベル差が画素ごとに大きく異なる場合がある。この際ブロック境界レベル差とブロック内レベル差を取得すると、両者に差が生じる原因がブロックノイズにあるのかエッジにあるのかが不明瞭になる。このような不明瞭さを防ぐため、両者は可能な限り近い場所から取得しておく必要がある。
【００３３】
さらには、広域特性値を、
・ブロック境界レベル差およびブロック内レベル差それぞれの母集団の標準偏差値の大小関係（比率）に基づいて求め、
・ブロック境界レベル差が前記ブロック内レベル差よりも大きい場合の画素対応数と、前記ブロック境界レベル差が前記ブロック内レベル差よりも小さい場合の画素対応数との大小関係（比率）に基づいて求めている。
【００３４】
一般に、ブロックごとに符号・復号化を行わない場合、ブロック境界レベル差とブロック内レベル差のヒストグラムは、両者ともに同じく「０」を中心とした釣鐘状の形をとる。これに対し、ブロックノイズがある画像では、2 つのレベル差に対する標準偏差値に違いが生じる。よってこの２つの標準偏差値の大小関係を計測することによって、ブロックノイズの量を推定することができる。
【００３５】
ブロックノイズが全く存在しないのならば、ブロック境界レベル差に対する標準偏差と、ブロック内レベル差に対する標準偏差との比率は「１００％」に近くなり、逆にブロックノイズがある画像では当該比率が１００％をはるかに上回ることになる。
【００３６】
また、画像中にブロックノイズがある場合、ブロック境界レベル差がブロック内レベル差より大きくなる場合が多くなると考えられる。よって、このレベル差のどちらが多いかを検証することで、ブロックノイズの量を特定できる。
【００３７】
ブロック境界レベル差がブロック内レベル差より大きい場合の画素対応数（例えば後述のブロック境界画素グループ数）Ｃ１と、ブロック内レベル差がブロック境界レベル差より大きい場合の画素対応数Ｃ２とを比較するとき、ブロックノイズが存在しないのならば、Ｃ１／（Ｃ１＋Ｃ２）＊１００の値（以下、これを「レベル差比率」と呼ぶ。）は画像全体で見れば約５０％になり、逆にブロックノイズがある画像のレベル差比率は５０％を上回ることになる。
【００３８】
図１９は、目視観察により選別したブロックノイズあり画像とブロックノイズなし画像とのレベル差比率のヒストグラム（その１）を示す説明図である。ヒストグラムの縦軸は、そのレベル差比率の値をとる画像の数の、評価用画像総数に対する割合である。例えば、画像処理装置により算出したレベル差比率が「７０％」の画像数は全画像数の９％ほどであり、それはすべてブロックノイズあり画像と目視観察された画像であることを示している。
【００３９】
このレベル差比率は以下の条件で求めている。
１．使用した評価用画像：市販のデジタルカメラから取得したJPEG画像53枚
２．実験手順
(a) 上記画像を目視観察して、ブロックノイズがある画像とない画像とに選別する。
(b) 画像中のブロック境界レベル差を、１ブロックにつき８×４（辺）＝32個取得する。ブロック内レベル差を取得する際には、ブロック境界画素レベル差を算出する際に使用した画素と、その画素から同一ブロック内で１画素ずれた画素を用いる。
(c) 上記(a) で選別したそれぞれの画像に対して、ブロック境界レベル差がブロック内レベル差より大きい場合の画素対応数Ｃ１と、ブロック内レベル差がブロック境界レベル差より大きい場合の画素対応数Ｃ２を計数し、このＣ１およびＣ２を用いてレベル差比率を算出する。この(b),(c) の処理主体は画像処理装置である。
【００４０】
図示のヒストグラムは、目視観察によるブロックノイズ画像の選別結果と、画像処理装置によるレベル差比率の算出値との間に相関性が存在することを示している。すなわち、このレベル差比率の、画像の広域特性値としての有意性が検証される。
【００４１】
図２０は、目視観察により選別したブロックノイズあり画像とブロックノイズなし画像とのレベル差比率のヒストグラム（その２）を示す説明図である。
【００４２】
図２０のヒストグラムは、図１９のそれに比べて、目視観察により選別したブロックノイズあり画像、およびブロックノイズなし画像それぞれのレベル差比率がより明確に峻別されたことを示している。
【００４３】
これは、ブロック境界レベル差とブロック内レベル差との差分が、人の目では判らない程度のレベル範囲を超えている場合のみ、レベル差比率を算出したからである。その他の検証条件は図１９の場合と同様である。
【００４４】
すなわち、画像中には人が見て判別できないようなレベル差を有する画素群が多数存在する。このことがレベル差比率を算出する際に障害となる。よって、予め見た目には判らないレベル差を測定してこれを閾値とし、ブロック境界レベル差とブロック内レベル差との違いがこの閾値未満である場合は検証の対象としないことにした。
【００４５】
また、上記（３）のように、画素間のレベル差に基づいて広域特性値算出のための使用画素を選択し、これにより、この算出処理の高速化を図っている。
【００４６】
すなわち、広域特性値の算出のために単純に画像中全てのブロック境界レベル差とブロック内レベル差を使用すると、例えばブロック境界上に木の枝などのような高周波成分が存在する場合にはブロックノイズが反映されにくい。このように、画像中には広域特性値の算出には適さない画素もあるため、当該算出処理のために用いる画素の選択を行なっている。
【００４７】
高周波成分からなるブロック境界画素では、ブロックノイズが反映されたレベル差が出現しづらくなる。よって、広域特性値の算出には低周波成分のみからなるブロック境界を選択し、このブロック境界のみを対象として広域特性値を算出する。
【００４８】
画素のレベル差が低ければ低周波成分であるので、ブロック境界レベル差とブロック内レベル差がともに閾値以下かどうかで判断することが有効である。広域特性値を算出するにあたり、この方法で全ての低周波成分のみで形成されるブロック境界を特定できなかったとしても、画像中にブロック境界が多数あれば特に問題はない。
【００４９】
さらには、後述のように、ブロック境界画素に隣接したブロック内画素の二次微分値と、ブロック境界画素の連続エッジ強度とに基づいてエッジ可能性を判定することにより、エッジとブロックノイズとの弁別精度を高めている。
【００５０】
例えば、起伏の緩やかな（二次微分値の小さい）エッジは二次微分値だけでは検出されない場合がある。その結果、エッジに対してフィルタリングを行ってしまい（過平滑）、逆に画質が著しく劣化する。特に、この現象が連続エッジの途中部分で起きると著しく目立つ。このように、連続しているエッジは絶対検出しなくてはならないため、エッジ可能性を検出する際にエッジの連続性を考慮に入れる必要がある。
【００５１】
起伏の大きい（二次微分値が大きい）エッジは二次微分値により検出できるので、この二次微分値ではエッジ可能性を検出できなかった部分のみにエッジ強度を用いることによって、エッジ検出のための計算量を大幅に少なくできる。
【００５２】
また、少ない計算量でエッジの連続性を判定できる。通常連続性を判定するには、画像中の全ての全体に対してエッジ強度を算出し、閾値以上のエッジ強度を持つ画素が続く場合に、そこは連続しているとする。しかしこの方法では、画像全体に対してエッジ強度を検出する必要があり、計算量が多い。
【００５３】
そこで、ある画素のエッジ方向を算出して、そのエッジが連なっていると考えられる方向にある画素のみエッジ強度を算出して、算出したエッジ強度が全て閾値以上である場合はその画素が連続エッジの一部であり、エッジ連続性があるとする。これによって画像全体に処理を行う必要がなくなる。
【００５４】
さらには、ブロック境界部分の近傍特性として当該境界部分の画素の先ずエッジ可能性を求め、「当該画素はエッジでない」と判定した場合には当該画素のノイズ可能性をさらに求めることにより、エッジ，ノイズのいずれにも該当しないブロック境界部分（レベル平坦部）への不要なフィルタリング処理を防止している。
【００５５】
さらには、後述のように、ブロック境界画素の画素値の変更前後の差分が前記広域特性値以上の場合には、当該画素値を、変更前の画素値と広域特性値とに基づく新画素値に再変更することにより、ブロックノイズと判定されたブロック境界画素の過剰フィルタリングを防止している。
【００５６】
本発明は、このような特徴を持つ画像処理装置を対象とし、さらには当該装置を用いた画像処理方法や、当該装置で使用される画像処理用プログラムもその対象とする。
【００５７】
【発明の実施の形態】
図１乃至図１８を参照して本発明の実施の形態を説明する。
【００５８】
図１は、プリンタが、受信したカラーイメージ画像（復号画像）を、そのブロックノイズを除去してから出力するときの全体構成を示す説明図である。
【００５９】
カラーイメージ画像１００はヘッダーデータ１０１と画像データ１０２からなり、ＰＣ（コンピュータ）１１０に記憶されている。ヘッダーデータ１０１は量子化テ−ブルなどを含んでいる。
【００６０】
画像データ１０２は８画素×８ラインのブロック単位で符号化・復号され、また画像全体はｎ行ｍ列のブロックで構成されている。
【００６１】
ＰＣ１１０の画像データ転送機能部１１１は、カラーイメージ画像１００に対する復号，逆量子化，２次元ＩＤＣＴなどのデータ処理を実行してから、この画像データ（復号画像）をプリンタ１２０へ転送する。
【００６２】
このｎ行ｍ列のブロックからなる復号画像を受け取ったプリンタ１２０は、そのノイズ除去機能部１２１によって画像中のノイズを除去してからプリント出力する。
【００６３】
このノイズ除去機能部１２１は、広域特性算出機能部１２２，近傍特性算出機能部１２３およびフィルタリング機能部１２４を備えている。
【００６４】
広域特性算出機能部１２２は画像全体のブロックノイズの程度を示す広域特性値を求め、近傍特性算出機能部１２３はブロック境界画素のエッジ可能性やノイズ（ブロックノイズ）可能性の程度を示す近傍特性値を求める。
【００６５】
図２は、画像中の（８×８）画素のブロック群とブロック境界画素との関係を示す説明図である。
【００６６】
ここで、画素ａ，ｄは隣同士のブロック境界画素を、画素ｂは画素ａの右隣画素を、また画素ｃは画素ｄの左隣画素をそれぞれ示している（行方向の画素の場合）。これらの画素ｃ，ｄ，ａ，ｂは、一組のブロック境界画素グループを形成する。
【００６７】
説明の便宜上、フィルタリングの対象となる画素を図示ハッチング部分のブロック境界画素ａ，ｄとし、これを必要に応じて「フィルタ適用画素」と記す。なお、各画素の添字（ｉ，ｊ）はその画素がｉ行ｊ列のブロックに属することを示している。
【００６８】
図３は、図１におけるブロックノイズ除去処理手順の概要（その１）を示す説明図であり、その内容は次のようになっている。この処理では近傍特性値として「エッジ可能性」のみを用いている。
〔過程２０１〕ＰＣ（コンピュータ）１１０の画像データ転送機能部１１１が、カラーイメージ画像１００を復号した後の画像データをプリンタ１２０へ転送する。
〔過程２０２〕この画像データを受け取ったプリンタ１２０の広域特性算出機能部１２２が、図４の処理手順により、画像全体のブロック境界レベル差に関する広域特性値ＢＰ１(Broad parameter) を算出する。
〔過程２０３〕プリンタ１２０の近傍特性算出機能部１２３が、まだエッジ可能性の検出処理を実行していない水平・垂直方向のブロック境界画素グループの中から、一組のグループを特定する。
〔過程２０４〕近傍特性算出機能部１２３が、このグループのブロック境界画素（フィルタ適用画素：図２の画素ａ，ｄ）およびその隣側画素（図２の画素ｂ，ｃ）ごとにそれぞれの二次微分値を算出して、当該ブロック境界画素のエッジ可能性を検出する（図５乃至図７参照）。
〔過程２０５〕当該ブロック境界画素が、エッジや線に相当しないと判定した場合には過程２０６に移行し、エッジや線に相当すると判定した場合には過程２０７に移行する。実行主体は近傍特性算出機能部１２３である。
〔過程２０６〕プリンタ１２０のフィルタリング機能部１２４が、図８の処理手順により、エッジ相当のブロック境界画素ａ7 ，ａ8 （図６参照）のそれぞれに対するフィルタリングを行う。ここで、フィルタリング前の画素値とフィルタリング後の画素値との差分が広域特性値ＢＰ１を超える場合には、当該フィルタリングは過補正であると判定して、フィルタリング後の画素値を用いずに、フィルタリング前の画素値にこの広域特性値を加算（または減算）した値を用いる。
〔過程２０７〕すべての組のブロック境界画素グループへのエッジ可能性の検出処理を終了してない場合には、過程２０３に戻る。
【００６９】
なお、〔過程２０２〕で求めた広域特性値ＢＰ１が所定値以下の場合には、後述の図１２と同様に、対象画像に対するその後のブロックノイズ除去処理を省略してもよい。
【００７０】
図４は、図３の広域特性値ＢＰ１の算出処理手順を示す説明図であり、その内容は次のようになっている。説明の便宜上、図２の画素番号を用いる。
(s11) 未処理の、一組のブロック境界画素グループａ〜ｄを特定して、次のステップに進む。
(s12) ブロック境界画素ａ(i,j+1) ，ｄ(i,j) に隣接する画素ｃ(i,j) とｂ(i,j+1) の画素値が同一であるかどうかを判断して、「YES 」 の場合は(s11) に戻り、「NO」 の場合は次のステップに進む。なお、画素ｃ(i,j) とｂ(i,j+1) の画素値が同一の場合はブロックノイズとして参考にならないため、当該一組のブロック境界画素グループを処理済みとする。
(s13) 次式
Ｎs(i,j)＝（｜ 2.0／ 3.0＊ｃ(i,j) ＋1.0 ／3.0 ＊ｂ(i,j+1) −ｄ(i,j) ｜＋｜ 1.0／ 3.0＊ｃ(i,j) ＋2.0 ／ 3.0＊ｂ(i,j+1) −ａ(i,j+1) ｜）／ 2.0
により、このブロック境界画素のノイズサイズＮs(i,j)を算出して、次のステップに進む。なお、この算出式の代わりに、画素ｄ(i,j) と画素ａ(i,j+1) とのレベル差や、画素ｃ(i,j) ，ｄ(i,j) と画素ａ(i,j+1) ，ｂ(i,j+1) とのレベル差の算出式を用いるようにしてもよい。
(s14) この算出したＮs(i,j)をノイズサイズの合計値ＴＮs に加算し、かつ加算回数を示すＡＣを「１」だけインクリメントして，次のステップに進む。なお、これらのデータの初期値はともに「０」である。
(s15) すべての組のブロック境界画素グループに対する広域特性値算出処理を終えたかどうかを判断して、「 YES 」 の場合は次のステップに進み、「NO」 の場合はステップ(s11) に戻る。
(s16) ＴＮs ／ＡＣの計算により、対象画像のブロック境界画素それぞれのノイズサイズの平均値を求めて、これを広域特性値ＢＰ１とする。
【００７１】
図５乃至図７は、図３の過程２０４〜２０６などのエッジ可能性検出およびフィルタリングの概要を示す説明図である。ここでは二次微分値によりエッジ可能性を検出している。この二次微分値によるエッジ可能性の検出手法は後述の図１２のブロックノイズ除去処理手順でも用いる。
【００７２】
ここでは、説明の便宜上、図２とは別の画素番号を付した水平方向画素ａ0 〜ａ15を用い、任意の画素ａn の画素値（明度値）をＬn , 一次微分値をΔＬn , また二次微分値をΔ2 Ｌn で示す。画素ａ7 , ａ8 がブロック境界画素（フィルタ適用画素）である。なお、垂直方向のブロック境界画素グループ（画素列）に対しても行と列を入れ替えることにより同様の処理が実行できることは勿論である。
【００７３】
任意の画素ａn の一次微分値ΔＬn および二次微分値をΔ2 Ｌn はそれぞれ次式により求める。
・ΔＬn ＝Ｌn −Ｌ(n-1)
・Δ2 Ｌn ＝（Ｌ(n+1) −Ｌn ）−（Ｌn −Ｌ(n-1) ）＝Ｌ(n+1) ＋Ｌ(n-1) −２Ｌn 
【００７４】
そして、フィルタ適用画素ａ7 , ａ8 それぞれの、これと同一ブロックの隣側画素ａ6 , ａ9 に対する二次微分値Δ2 Ｌ6 ，Δ2 Ｌ9 の絶対値がともに所定の閾値（＝2.0 ）未満である場合には、ブロックノイズの可能性が高いとして、フィルタ適用画素ａ7 , ａ8 へのフィルタリングを実行する。換言すれば、二次微分値Δ2 Ｌ6 およびΔ2 Ｌ9 の絶対値の少なくとも一方が閾値以上であれば、フィルタ適用画素ａ7 , ａ8 へのフィルタリングを実行しない。
【００７５】
図５は、ブロック境界に存在する線の例を示している。この例では、隣側画素ａ6 , ａ9 の二次微分値Δ2 Ｌ6 およびΔ2 Ｌ9 の絶対値が「１」, 「８」となる、すなわち当該絶対値の少なくとも一方が閾値（＝2.0 ）以上となるので、フィルタ適用画素ａ7 , ａ8 へのフィルタリングを実行しない。
【００７６】
図６は、起伏がなくて高周波成分が欠落したブロック境界の例を示している。この例では、隣側画素ａ6 , ａ9 の二次微分値Δ2 Ｌ6 およびΔ2 Ｌ9 の絶対値がともに「０」となる、すなわち当該絶対値がともに閾値（＝2.0 ）未満となるので、フィルタ適用画素ａ7 , ａ8 へのフィルタリングを実行する。
【００７７】
図７は、ブロック境界に存在するエッジの例を示している。この例では、隣側画素ａ6 , ａ9 の二次微分値Δ2 Ｌ6 およびΔ2 Ｌ9 の絶対値がともに「２」となる、すなわち当該絶対値の少なくとも一方が閾値（＝2.0 ）以上となるので、フィルタ適用画素ａ7 , ａ8 へのフィルタリングを実行しない。
【００７８】
図８は、図３のフィルタリング処理手順（過程２０６）を示す説明図であり、その内容は次のようになっている。
(s21) 次式
Ｆ(a7)＝（Ｌ6 ＋Ｌ7 ＋Ｌ8 ）／３
Ｆ(a8)＝（Ｌ7 ＋Ｌ8 ＋Ｌ9 ）／３
により、ブロック境界画素ａ7 ，ａ8 のフィルタリング値Ｆを算出して，次のステップに進む。なお、Ｌ6 ，Ｌ7 ，Ｌ8 ，Ｌ9 はそれぞれ画素ａ6 ，ａ7 ，ａ8 ，ａ9 のフィルタリング前の画素値（図５乃至図７の明度値）である。
(s22) 次式
｜Ｌ7 −Ｆ(a7)｜≦広域特性値ＢＰ１
が成立するかどうかを判断して、「 YES 」 の場合は次のステップに進み、「NO」 の場合はステップ(s24) に進む。
(s23) Ｆ(a7)の値を、画素ａ7 の新画素値Ｌ7 ′に設定する。
(s24) 次式
Ｌ7 ′＝Ｌ7 ＋（（Ｆ(a7)−Ｌ7 ）／｜（Ｆ(a7)−Ｌ7 ）｜）＊ＢＰ１
により、画素ａ7 の新画素値Ｌ7 ′を算出して、次のステップに進む。
(s25) 次式
｜Ｌ8 −Ｆ(a8)｜≦広域特性値ＢＰ１
が成立するかどうかを判断して、「 YES 」 の場合は次のステップに進み、「NO」 の場合はステップ(s27) に進む。
(s26) Ｆ(a8)の値を、画素ａ8 の新画素値Ｌ8 ′に設定して，次のステップに進む。
(s27) 次式
Ｌ8 ′＝Ｌ8 ＋（（Ｆ(a8)−Ｌ8 ）／｜（Ｆ(a8)−Ｌ8 ）｜）＊ＢＰ１
により、画素ａ8 の新画素値Ｌ8 ′を算出する。
【００７９】
図９は、図１におけるブロックノイズ除去処理手順の概要（その２）を示す説明図であり、その内容は次のようになっている。
【００８０】
説明の便宜上、図５乃至図７の画素番号や明度値，一次微分値などを用いる。また、この処理では近傍特性値として「ノイズ可能性」のみを用いている。
〔過程３０１〕図３の過程２０１と同様の画像データ転送処理を行なう。
〔過程３０２〕図３の過程２０２と同様の広域特性値ＢＰ１(Broad parameter) 算出処理を行なう。
〔過程３０３〕プリンタ１２０の近傍特性算出機能部１２３が、まだノイズ可能性の検出処理を実行していない水平・垂直方向のブロック境界画素グループの中から、一組のグループ（例えばａ6 〜ａ10）を特定する。
〔過程３０４〕次式
Ｎpo＝ 5.0＊｜ΔＬ8 ｜／（｜ΔＬ6 ｜＋｜ΔＬ7 ｜＋｜ΔＬ8 ｜＋｜ΔＬ9 ｜＋｜ΔＬ10｜）
により、このブロック境界画素（フィルタ適用画素）ａ8 のノイズ可能性Ｎpoを算出する。
〔過程３０５〕当該ブロック境界画素が、ノイズ画素に相当すると判定した場合には過程３０６に移行し、ノイズ画素に相当しないと判定した場合には過程３０７に移行する。過程３０４，３０５の実行主体は近傍特性算出機能部１２３である。
〔過程３０６〕当該ノイズ画素に対して図３の過程２０６と同様のフィルタリング処理を行なう。
〔過程３０７〕すべての組のブロック境界画素グループへのノイズ可能性の検出処理を終了してない場合には、過程３０３に戻る。
【００８１】
なお、上記過程３０５の判定基準は例えば「Ｎpo≧ 4.0」が成立するかどうかであり、「Ｎpo≧ 4.0」のブロック境界画素については「ノイズ画素」と判定し、「Ｎpo＜ 4.0」のブロック境界画素については「ノイズ画素ではない」と判定する。
【００８２】
これは、ブロックノイズ領域の特徴である、
・ブロック境界にて急激にレベルが変動し、
・ブロック内の各画素のレベルはほとんど変動しない、
ことに基づいている。
【００８３】
例えば、
・図５の画素ａ8 （画素ａ6 〜ａ10）のノイズ可能性Ｎpoは「2.2 」
・図６の画素ａ8 （画素ａ6 〜ａ10）のノイズ可能性Ｎpoは「5.0 」
・図７の画素ａ8 （画素ａ6 〜ａ10）のノイズ可能性Ｎpoは「2.5 」
となる。なお、「5.0 」はＮpoの最大値でもある。
【００８４】
図１０は、図１におけるブロックノイズ除去処理手順の概要（その３）を示す説明図であり、その内容は次のようになっている。
【００８５】
説明の便宜上、図５乃至図７の２の画素番号や明度値，一次微分値，二次微分値，などを用いる。また、この処理では近傍特性値として「エッジ可能性」および「ノイズ可能性」の双方を用いている。
〔過程４０１〕図３の過程２０１と同様の画像データ転送処理を行なう。
〔過程４０２〕図３の過程２０２と同様の広域特性値ＢＰ１(Broad parameter) 算出処理を行なう。
〔過程４０３〕図３の過程２０３と同様のグループ特定処理を行なう。
〔過程４０４〕図３の過程２０４と同様のエッジ可能性検出処理を行なう。
〔過程４０５〕図３の過程２０５と同様のエッジ可能性判定処理を行なって、そのブロック境界画素が、エッジや線に相当しないと判定した場合には過程４０６に移行し、エッジや線に相当すると判定した場合には過程４０９に移行する。
〔過程４０６〕図９の過程３０４と同様のノイズ可能性検出処理を行なう。
〔過程４０７〕図９の過程３０５と同様のノイズ可能性判定処理を行なって、そのブロック境界画素が、ノイズ画素に相当すると判定した場合には過程４０８に移行し、ノイズ画素に相当しないと判定した場合には過程４０９に移行する。
〔過程４０８〕当該ノイズ画素に対して図３の過程２０６と同様のフィルタリング処理を行なう。
〔過程４０９〕すべての組のブロック境界画素グループへのエッジ可能性の検出処理を終了してない場合には、過程４０３に戻る。
【００８６】
なお、〔過程３０２〕や〔過程４０２〕で求めた広域特性値ＢＰ１が所定値以下の場合には、後述の図１２と同様に、対象画像に対するその後のブロックノイズ除去処理を省略してもよい。
【００８７】
図１０のブロックノイズ除去処理手順の場合、ブロック境界画素について、
・先ずエッジ可能性を判定し、
・「エッジ部分である」と判断したときには当該画素に対するフィルタリング処理を行なわずに、
・「エッジ部分でない」と判断したときには当該画素のノイズ可能性をさらに判断し、
・「ノイズ部分でない」と判断したときには当該画素に対するフィルタリング処理を行なわずに、
・「ノイズ部分である」と判断したときに、はじめて当該画素に対するフィルタリング処理を行なうものである。
【００８８】
これにより、エッジ，ノイズのいずれでもないブロック境界部分（レベル平坦部）への無駄なフィルタリング処理を実行することを阻止して、再生画像の劣化を防ぐとともにブロックノイズ低減の要処理時間の短縮化を図っている。
【００８９】
図１１は、ＰＣ（コンピュータ）が、カラーイメージ画像を、そのブロックノイズを除去してから表示するときの全体構成を示す説明図である。
【００９０】
カラーイメージ画像５００は、ヘッダーデータ５０１と画像データ５０２からなり、ＰＣ（コンピュータ）５１０に記憶されている。
【００９１】
画像データ５０２は、図１の全体構成の場合と同じように、８画素×８ラインのブロック単位で符号化・復号され、また画像全体はｎ行ｍ列のブロックで構成されている。
【００９２】
ＰＣ５１０のノイズ除去機能部５１１は、広域特性算出機能部５１２，近傍特性算出機能部５１３およびフィルタリング機能部５１４を備えている。
【００９３】
この近傍特性算出機能部５１３は、
・エッジ可能性の検出（その１：上述の二次微分値による検出）
・エッジ可能性の検出（その２：後述の連続エッジ強度による検出）
・ノイズ可能性の検出（図９参照）
などの処理を実行可能である。
【００９４】
図１２は、図１１におけるブロックノイズ除去処理手順の概要を示す説明図であり、その内容は次のようになっている。
【００９５】
なお、この処理手順では、近傍特性としてもっぱら「ノイズ可能性」を用いている。画素番号などは図２や図５乃至図７で示したものを前提とする。
〔過程６０１〕ＰＣ（コンピュータ）５１０の広域特性算出機能部３１２が、図１３，図１６，図１７などの処理により、画像全体の広域特性値ＢＰ２(Broad parameter) を算出する。
〔過程６０２〕このＢＰ２が、所定値以下であれば対象画像中にブロックノイズがないと判定して当該画像のブロックノイズ除去の処理を終了し、また所定値を超えていれば過程６０３に移行する。
〔過程６０３〕ＰＣ５１０の近傍特性算出機能部５１３が、エッジ可能性の検出処理を実行していない水平・垂直方向のブロック境界画素グループの中から、一組のグループを特定する。
〔過程６０４〕近傍特性算出機能部５１３が、このグループの、ブロック境界画素（フィルタ適用画素）ａ7 , ａ8 の隣側画素ａ6 , ａ9 それぞれの二次微分値を算出して（図５乃至図７参照）、当該ブロック境界画素のエッジ可能性を判定する。
〔過程６０５〕この二次微分値により、当該ブロック境界画素が、エッジや線に相当しないと判定した場合には過程６０６に移行し、エッジや線に相当すると判定した場合にはこの画素へのフィルタリングを実行せずに、過程６０９に移行する（図５乃至図７参照）。この実行主体は近傍特性算出機能部５１３である。
〔過程６０６〕近傍特性算出機能部５１３が、後述の図１５の処理により、（過程６０５でエッジや線に相当しないと判定された）ブロック境界画素のエッジ連続性を判定する。
〔過程６０７〕図１５の連続エッジ強度に基づいても、当該ブロック境界画素ａ7 ，ａ8 がともにエッジの一部に相当しないと判定された場合には過程６０８に移行し、逆に当該ブロック境界画素ａ7 ，ａ8 のいずれかがエッジの一部に相当すると判定された場合にはこの画素へのフィルタリングを実行せずに、過程６０９に移行する。
〔過程６０８〕上述の二次微分値，連続エッジ強度のいずれからも「エッジでない」と判定されたブロック境界画素ａ7 ，ａ8 に対し、図８のステップ(s21) の式によるフィルタリングを実行する（図６参照）。
〔過程６０９〕すべてのブロック境界画素グループへのエッジ可能性の検出処理を終了してない場合には、過程６０３に戻る。
【００９６】
図１２のブロックノイズ除去処理手順が図３のそれと異なる主な点は、
１．広域特性値ＢＰ２が、ブロック境界レベル差だけでなくブロック内隣接画素レベル差の分布状況も反映した値であること
２．この広域特性値で画像中のブロックノイズの実質的な有無を判定すること
３．ブロック境界画素についてのエッジ可能性の判定基準をダブルスタンダード（過程６０４の二次微分値および過程６０６の連続エッジ強度）にしたこと
などである。なお、過程６０４と過程６０６の実行の前後関係は任意であり、過程６０６の処理を先に行なってもよい。
【００９７】
図１３は、図１２の広域特性値ＢＰ２（その１）の算出処理手順を示す説明図であり、その内容は次のようになっている。
(s31) 未処理の、一組のブロック境界画素グループａ〜ｄを特定して、次のステップに進む（図２参照）。
(s32) 次式
ｘ＝ｄ(i,j) −ａ(i,j+1)
ｙ１＝ｃ(i,j) −ｄ(i,j)
ｙ２＝ａ(i,j+1) −ｂ(i,j+1)
により、この特定画素のブロック境界レベル差ｘおよびブロック内レベル差ｙ１，ｙ２を算出して、次のステップに進む。なお、ｉ，ｊ，ｊ＋１は当該特定画素が属するブロックの番号（行列番号）である。
(s33) 画像中のすべてのブロック境界画素グループの当該レベル差ｘ，ｙ１，ｙ２を求めたかどうかを判断して、「 YES 」 の場合は次のステップに進み、「NO」 の場合はステップ(s31) に戻る。
(s34) ｘの集合の標準偏差値、すなわちブロック境界レベル差の母集団Ｘの標準偏差値σｘを算出する。
(s35) ｙ１およびｙ２の集合の標準偏差値、すなわちブロック内レベル差の母集団Ｙの標準偏差値σｙを算出する。
(s36) 次式
ＢＰ２＝σｘ/ σｙ
により、広域特性値ＢＰ２（その１）を算出する。
【００９８】
このＢＰ２（その１）が「1.0 」に近い場合は、ブロックノイズが殆ど存在しないことになる。ここでは例えば「ＢＰ２≦ 1.05 」のとき、上述のフィルタリングを行う必要がないとして、対象画像への図１２のブロックノイズ除去処理を終了する。
【００９９】
図１４は、図１５のエッジ連続性の検出処理における画素配列例を示す説明図であり、検出対象のフィルタ適用画素（ブロック境界画素）ａ22およびその近辺の画素ａ11〜ａ33を示している。また、ａ11〜ａ33それぞれの画素値をＬ11〜Ｌ33とする。このフィルタ適用画素ａ22は、図２の画素ｄ，ａや図５〜図７の画素ａ7 ，ａ8 に対応する。
【０１００】
図１５は、図１２の過程６０６，６０７の処理手順を示す説明図であり、その内容は次のようになっている。ここでは、説明の便宜上、図１４の画素，画素値などを用いる。
(s41) フィルタ適用画素ａ22（ブロック境界画素の例えばａ7 およびａ8 ：図５参照）の一方を特定して，次のステップに進む。
(s42) 次式
Ｓh ＝（−Ｌ11− 2.0＊Ｌ21−Ｌ31＋Ｌ13＋ 2.0＊Ｌ23＋Ｌ33）／ 8.0
Ｓv ＝（−Ｌ11− 2.0＊Ｌ12−Ｌ13＋Ｌ31＋ 2.0＊Ｌ32＋Ｌ33）／ 8.0
により、当該特定画素の水平方向の連続エッジ強度成分Ｓh および垂直方向の連続エッジ強度成分Ｓv をそれぞれ算出して，次のステップに進む。
(s43) 次式
Ｓtr＝（Ｓh ＊Ｓh ＋Ｓv ＊Ｓv ）1/2 
Ｄir＝tan -1( Ｓv ／Ｓh ）＊180.0 ／3.14
・・・Ｓv およびＳh がともに正の値をとる場合
Ｄir＝（2.0 * 3.14 + tan-1（Ｓv ／Ｓh ））＊180.0 ／3.14
・・・Ｓv が負の値で、かつＳh が正の値をとる場合
Ｄir＝（3.14 + tan-1（Ｓv ／Ｓh ））＊180.0 ／3.14
・・・Ｓh が負の値をとる場合
により、当該特定画素の連続エッジ強度Ｓtrおよび連続エッジ角度Ｄirを算出して，次のステップに進む。
(s44) ａ11〜ａ33の画素の中で、エッジが連なっている方向（エッジ角度と垂直な方向）のエッジの連続エッジ強度のみを算出する。例えばエッジ角度が45度である場合、フィルタ適用画素ａ22からみて135 度，−45度の各位置の画素ａ11，ａ33の連続エッジ強度Ｓtr11，Ｓtr33を上記Ｓtrと同じように算出する。
(s45) ステップ(s43) ，(s44) で求めた三つの連続エッジ強度がすべて閾値（例えば5.0 ）以上であるかどうかを判断し、「YES 」 の場合は画素ａ7 ，ａ8 の少なくとも一方がエッジであるとみなして当該画素のいずれにもフィルタリングを実行せずに次のブロック境界画素への処理（過程６０９）に移行し、「NO」 の場合は次のステップに進む。
(s46) フィルタ適用画素（ａ7 ，ａ8 ）の双方への当該算出処理を実行したかどうかを判断し、「 YES 」 の場合は画素ａ7 ，画素ａ8 がともにエッジでないとみなして図１０の過程４０８（フィルタリング処理）に移行し、「NO」 の場合は次のステップに進む。
(s47) フィルタ適用画素（ａ7 ，ａ8 ）の他方を特定して、ステップ(s42) に戻る。
【０１０１】
図１６は、図１２の広域特性値ＢＰ２（その２）の算出処理手順を示す説明図であり、その内容は次のようになっている。
(s51) 未処理の一組のブロック境界画素グループ、すなわちブロック境界画素ｄ，ａとそれぞれのブロック内隣接画素ｃ，ｂ（図２参照）を特定して，次のステップに進む。
(s52) 次式
ｘ＝ｄ(i,j) −ａ(i,j+1)
ｙ１＝ｃ(i,j) −ｄ(i,j)
ｙ２＝ａ(i,j+1) −ｂ(i,j+1)
により、この特定画素の、ブロック境界レベル差ｘおよびブロック内レベル差ｙ１，ｙ２を算出して、次のステップに進む。なお、ｉ，ｊ，ｊ＋１は当該特定画素が属するブロックの番号（行列番号）である。
(s53) このｘ，ｙ１が次の条件
｜ｘ｜≦5.0
｜ｙ１｜≦5.0
をともに満足するかどうかを判断して、「YES 」 の場合は次のステップに進み、「NO」 の場合はステップ(s58) に進む。 ここで「YES 」 となるのは、視覚上、レベル差が小さなブロック境界画素，ブロック内隣接画素の場合である。
(s54) このｘ，ｙ１が次の条件
｜ｘ｜≧｜ｙ１｜＋Ｔh
を満たすかどうかを判断して、「YES 」 の場合は次のステップに進み、「NO」 の場合はステップ(s56) に進む。 なお、Ｔh は目には判らないレベル差を示す閾値（例えば2.0 ）である。ここで「YES 」 となるのは、視覚上、ブロック境界レベル差がブロック内レベル差よりも大きいブロック境界画素グループ（ａ，ｂ，ｃ，ｄ）の場合である。
(s55) 視覚上、ブロック境界レベル差（ただし、5.0 以下）がブロック内レベル差（ただし、5.0 以下）よりも大きいブロック境界画素グループの個数を示すＮum１を「１」だけインクリメントして、ステップ(s58) に進む。なお、Ｎum１の初期値は「０」である。
(s56) このｘ，ｙ１が次の条件
｜ｙ１｜≧｜ｘ｜＋Ｔh
を満たすかどうかを判断して、「YES 」 の場合は次のステップに進み、「NO」 の場合はステップ(s63) に進む。 ここで「YES 」 となるのは、視覚上、ブロック内レベル差がブロック境界レベル差よりも大きいブロック境界画素グループ（ａ，ｂ，ｃ，ｄ）場合である。
(s57) 視覚上、ブロック内レベル差（ただし、5.0 以下）がブロック境界レベル差（ただし、5.0 以下）よりも大きいブロック境界画素グループの個数を示すＮum２を「１」だけインクリメントして、次のステップに進む。なお、Ｎum２の初期値は「０」である。
(s58) 上記ｘ，ｙ２が次の条件
｜ｘ｜≦5.0
｜ｙ２｜≦5.0
をともに満足するかどうかを判断して、「YES 」 の場合は次のステップに進み、「NO」 の場合はステップ(s63) に進む。 ここで「YES 」 となるのは、視覚上、レベル差が小さなブロック境界画素，ブロック内隣接画素の場合である。
(s59) このｘ，ｙ２が次の条件
｜ｘ｜≧｜ｙ２｜＋Ｔh
を満たすかどうかを判断して、「YES 」 の場合は次のステップに進み、「NO」 の場合はステップ(s61) に進む。 Ｔh はステップ(s54) で用いた閾値である。ここで「YES 」 となるのは、視覚上、ブロック境界レベル差がブロック内レベル差よりも大きいブロック境界画素グループ（ａ，ｂ，ｃ，ｄ）の場合である。
(s60) 上記Ｎum１を「１」だけインクリメントする。
(s61) このｘ，ｙ２が次の条件
｜ｙ２｜≧｜ｘ｜＋Ｔh
を満たすかどうかを判断して、「YES 」 の場合は次のステップに進み、「NO」 の場合はステップ(s63) に進む。 ここで「YES 」 となるのは、視覚上、ブロック内レベル差がブロック境界レベル差よりも大きいブロック境界画素グループ（ａ，ｂ，ｃ，ｄ）の場合である。
(s62) 上記Ｎum２を「１」だけインクリメントする。
(s63) 画像中のすべてのブロック境界画素グループ（ａ，ｄ，ｂ，ｃ）についての当該レベル差ｘ，ｙ１，ｙ２を算出したかどうかを判断して、「 YES 」 の場合は次のステップに進み、「NO」 の場合はステップ(s51) に戻る。
(s64) 次式
ＢＰ２＝１００＊Ｎum１／（Ｎum１＋Ｎum２）
により、広域特性値ＢＰ２（その２）を算出する。
【０１０２】
この広域特性値ＢＰ２（その２）が例えば「ＢＰ２≦68.0」を満たす場合は、ブロックノイズが存在しないとして、図１２に示すように、フィルタリングを実行せずに対象画像のブロックノイズ除去の処理を終了する。
【０１０３】
図１７は、図１８の広域特性値の算出処理におけるブロック（８×８画素）を示す説明図であり、６×６のブロック内画素ｐ11〜ｐ66を示している。また、ｐ11〜ｐ66それぞれの画素値をＭ11〜Ｍ66とする。
【０１０４】
図１８は、図１２の広域特性値ＢＰ２（その３）の算出処理手順を示す説明図であり、その内容は次のようになっている。ここでは、ブロック内画素レベルのみに基づく広域特性値を求めている。説明の便宜上、図１７のブロック内画素，画素値などを用いる。
(s71) 未処理の、一つのブロックを特定して、次のステップに進む。
(s72) 次式
σ＝〔（６＊ΣＭ2 −（ΣＭ）2 ）／（６＊（６−１））〕1/2 
により、例えば水平方向の６画素のグループごと（ｐ11〜ｐ16，ｐ21〜ｐ26，ｐ31〜ｐ36，ｐ41〜ｐ46，ｐ51〜ｐ56，ｐ61〜ｐ66ごと）の標準偏差σ1 〜σ6 を算出して、次のステップに進む。
(s73) このσ1 〜σ6 がすべて閾値（例えば1.6 ）以下であるかどうかを判断して、「 YES 」 の場合は次のステップに進み、「NO」 の場合はステップ(s75) に進む。
(s74) ブロックノイズに見えるブロックの個数を示すＮum３を「１」だけインクリメントして、ステップ(s76) に進む。Ｎum３の初期値は「０」である。
(s75) ブロックノイズには見えないブロックの個数を示すＮum４を「１」だけインクリメントして、次のステップに進む。Ｎum４の初期値は「０」である。
(s76) 対象画像中のすべてのブロックについて上記標準偏差σ1 〜σ6 を算出したかどうかを判断して、「 YES 」 の場合は次のステップに進み、「NO」 の場合はステップ(s71) に戻る。
(s77) 次式
ＢＰ２＝１００＊Ｎum３／（Ｎum３＋Ｎum４）
により、広域特性値ＢＰ２（その３）を算出する。
【０１０５】
この広域特性値ＢＰ２（その３）が例えば「ＢＰ２≦５０」を満たす場合は、ブロックノイズが存在しないとして、図１２に示すように、フィルタリングを実行せずに対象画像のブロックノイズ除去の処理を終了する。
【０１０６】
図１８の方法により求まるＢＰ２が広域特性値として有意なのは、ブロックノイズが多い画像には高周波成分が存在しないため、水平，垂直方向に単一の基底ベクトルのみ存在する場合が多いことに基づいている。
【０１０７】
この水平，垂直方向の基底ベクトルはそれぞれ当該方向に対しては同じ値の羅列になっている。ノイズの多い実際の画像を見てみると、１ブロック中の水平，垂直方向の画素群に同じ値（色）が連続するブロックが多数存在している。
【０１０８】
図１８の方法は、水平，垂直方向の画素群に同じ値が連続しているブロックが画像中にどの程度の割合で存在するかを算出しており、ブロック境界画素のレベルを用いなくても実行可能である。
【０１０９】
以上の各図の説明では、水平方向の連続画素（一行）を用いた場合の広域特性値，二次微分値，連続エッジ強度などの算出処理や、フィルタリング処理などを記してきたが、これと同様の処理が水平方向および垂直方向の任意の連続・不連続の複数画素に対しても実行されることは勿論である。
【０１１０】
また、広域特性値の算出処理は必ずしも全ブロックについて実行する必要はない。例えば処理時間を削減するために、４ブロックに１つというように処理ブロック数を減らしてもよい。人間が注目する画像中央部分のブロックのみを用いてもよい。画素のレベル値の変動の激しい場所ではブロックノイズの存在がレベル変動に埋もれてしまうため、レベル変動の少なめの領域（例えばσｙが予め定められた閾値以下のブロック）のみを対象としても良い。
【０１１１】
また、標準偏差を求める処理の場合、これに代えて分散値を算出するようにしてもよい。
【０１１２】
また、エッジ検出処理の場合、もっぱら連続エッジ強度（図１５参照）に基づいてブロック境界画素のエッジ可能性を判定するようにしてもよい。
【０１１３】
また、フィルタリング処理では単なる平滑化フィルタを用いているが、他の平滑化効果のある各種フィルタリング方法（たとえばメディアンフィルタ）を用いてもよい。フィルタ適用画素近傍の分散値を算出して、この算出結果から高周波成分が残っているかどうかを調べ、これが残っていない場合はフィルタ適用画素部分はブロックノイズであるとしてフィルタリングを行ってもよい。
【０１１４】
また、図１乃至図１０のブロックノイズ除去処理で用いた各種手法、例えば図４のステップ(s12) の画素選択，図９のノイズ可能性の検出，図１０の「エッジ可能性」の検出に続く「ノイズ可能性」の検出などを、図１１乃至図１８のブロックノイズ除去処理に用いてもよい。
【０１１５】
これとは逆に、図１１乃至図１８のブロックノイズ除去処理で用いた各種手法、例えば図１５の連続エッジ強度によるエッジ可能性の検出，図１２の「二次微分値」と「連続エッジ強度」とのダブルスタンダードによるエッジ可能性の検出，図１６のステップ(s53) ，(s54) ，(s56) ，(s58) (s59) ，(s61) の画素選択などを、図１乃至図１０のブロックノイズ除去処理に用いてもよい。
【０１１６】
（付記１）複数の画素からなるブロック単位で復号した画像のブロックノイズを低減する画像処理装置において、前記画像全体の広域特性値を、前記各ブロックの複数画素のレベルに基づいて求める広域特性算出手段と、前記ブロックの境界部分の近傍特性値を、当該境界部分の複数画素のレベルに基づいて求める近傍特性算出手段と、前記境界部分の画素のレベルを、前記広域特性値および前記近傍特性値に基づいて変更するフィルタリング手段とを備えた、ことを特徴とする画像処理装置。
（付記２）前記広域特性算出手段は、前記広域特性値を、ブロック境界画素間のレベル差、および当該境界画素と同じブロックのブロック内画素間のレベル差に基づいて求める、ことを特徴とする付記１記載の画像処理装置。
（付記３）前記ブロック内画素として、前記ブロック境界画素の隣接画素を用いる、ことを特徴とする付記２記載の画像処理装置。
（付記４）前記広域特性算出手段は、前記ブロック境界画素間のレベル差および前記ブロック内画素間のレベル差それぞれの母集団の標準偏差値に基づいて、前記広域特性値を求める、ことを特徴とする付記２または付記３記載の画像処理装置。
（付記５）前記広域特性算出手段は、前記ブロック境界画素間のレベル差が前記ブロック内画素間のレベル差よりも大きい場合の画素対応数と、前記ブロック境界画素間のレベル差が前記ブロック内画素間のレベル差よりも小さい場合の画素対応数との大小関係に基づいて、前記広域特性値を求める、ことを特徴とする付記２または付記３記載の画像処理装置。
（付記６）前記広域特性算出手段は、前記ブロック境界画素間のレベル差と前記ブロック内画素間のレベル差との差分が、人の目では判らない程度のレベル範囲を超えている場合のみ、これらのレベル差に基づく広域特性値算出処理を実行する、ことを特徴とする付記２乃至付記５記載の画像処理装置。
（付記７）前記広域特性算出手段は、前記広域特性値を求めるときの使用画素を、画素間のレベル差に基づいて選択する、ことを特徴とする付記１乃至付記６記載の画像処理装置。
（付記８）前記広域特性算出手段は、前記使用画素の選択に際し、第１ブロックのブロック内画素と、当該ブロックに隣接する第２ブロックのブロック内画素とが同一レベルとみなせる場合には、これらのブロック内画素の組を除外する、ことを特徴とする付記７記載の画像処理装置。
（付記９）前記広域特性算出手段は、前記使用画素の選択に際し、少なくとも前記ブロック境界画素間のレベル差および前記ブロック内画素間のレベル差がともに所定値以上の場合には、これらのレベル差の発生元であるブロック境界画素およびブロック内画素の組を除外する、ことを特徴とする付記７記載の画像処理装置。
（付記１０）前記近傍特性算出手段は、前記近傍画素の二次微分値と、前記境界部分の画素の連続エッジ強度との少なくとも一方に基づいて、当該画素のエッジ可能性に対応の前記近傍特性値を求める、ことを特徴とする付記１乃至付記９記載の画像処理装置。
（付記１１）前記フィルタリング手段は、前記ブロック境界画素の画素値の変更前後の差分と前記広域特性値との大小関係に基づいて、当該画素値を、変更前の画素値と前記広域特性値とに基づく新画素値に再変更する、ことを特徴とする付記１乃至付記１０記載の画像処理装置。
（付記１２）画像処理装置により、複数の画素からなるブロック単位で復号した画像のブロックノイズを低減する画像処理方法において、当該画像処理装置が、前記画像全体の広域特性値を、前記各ブロックの複数画素のレベルに基づいて求め、前記ブロックの境界部分の近傍特性値を、当該境界部分の複数画素のレベルに基づいて求め、前記境界部分の画素のレベルを、前記広域特性値および前記近傍特性値に基づいて変更する、ことを特徴とする画像処理方法。
（付記１３）複数の画素からなるブロック単位で復号した画像のブロックノイズを低減するためのプログラムにおいて、当該プログラムが、前記画像全体の広域特性値を、前記各ブロックの複数画素のレベルに基づいて求め、前記ブロックの境界部分の近傍特性値を、当該境界部分の複数画素のレベルに基づいて求め、前記境界部分の画素のレベルを、前記広域特性値および前記近傍特性値に基づいて変更する機能を、コンピュータに実現させるためのものである、ことを特徴とする画像処理用プログラム。
【０１１７】
【発明の効果】
本発明は、このように、画像全体の広域特性値とブロック境界部分の近傍特性値とに基づいて、ブロック境界画素に対するフィルタリングを実行するので、エッジに対する過平滑を確実に防止することができる。
【０１１８】
この広域特性値から対象画像に歪みが存在しないと分かればフィルタリング処理を完全にスルーすることにより、処理全体の高速化を図ることができる。
【０１１９】
また、画像全体の広域特性値を、ブロック境界レベル差とブロック内レベル差とに基づいて求めるので、当該広域特性の精度を高めることができる。
【０１２０】
また、画素のレベル差に基づいて広域特性値算出のための使用画素を選択するので、当該算出処理の高速化を図ることができる。
【０１２１】
また、ブロック境界部分の画素に隣接したブロック内画素の二次微分値と、ブロック境界部分の当該画素の連続エッジ強度とに基づいてエッジ可能性（近傍特性）を判定するので、エッジとブロックノイズとの弁別精度をより高めることができる。
【０１２２】
また、ブロック境界部分の近傍特性値として先ず当該境界部分の画素のエッジ可能性を算出し、「当該画素はエッジでない」と判定した場合には当該画素のノイズ可能性をさらに求めることにより、エッジ，ノイズのいずれでもないブロック境界部分（レベル平坦部）への無駄なフィルタリング処理を実行することを阻止しているので、再生画像の劣化を防ぐとともにブロックノイズ低減の要処理時間の短縮化を図ることができる。
【０１２３】
また、ブロック境界画素の画素値の変更前後の差分が前記広域特性以上の場合には、当該画素値を、変更前の画素値と広域特性とに基づく新画素値に再変更するので、ブロックノイズと判定されたブロック境界画素の過剰フィルタリングを防止することができる。
【図面の簡単な説明】
【図１】本発明の、プリンタが、受信したカラーイメージ画像をそのブロックノイズを除去してから出力するときの全体構成を示す説明図である。
【図２】本発明の、画像中の（８×８）画素のブロック群とブロック境界画素との関係を示す説明図である。
【図３】本発明の、図１におけるブロックノイズ除去処理手順の概要（その１）を示す説明図である。
【図４】本発明の、図３の広域特性値ＢＰ１の算出処理手順を示す説明図である。
【図５】本発明の、図３の過程２０４〜２０６などのエッジ可能性検出およびフィルタリングの概要（ブロック境界に存在する線の例）を示す説明図である。
【図６】本発明の、図３の過程２０４〜２０６などのエッジ可能性検出およびフィルタリングの概要（起伏がなくて高周波成分が欠落したブロック境界の例）を示す説明図である。
【図７】本発明の、図３の過程２０４〜２０６などのエッジ可能性検出およびフィルタリングの概要（ブロック境界に存在するエッジの例）を示す説明図である。
【図８】本発明の、図３のフィルタリング処理手順を示す説明図である。
【図９】本発明の、図１におけるブロックノイズ除去処理手順の概要（その２）を示す説明図である。
【図１０】本発明の、図１におけるブロックノイズ除去処理手順の概要（その３）を示す説明図である。
【図１１】本発明の、ＰＣが、カラーイメージ画像をそのブロックノイズを除去してから表示するときの全体構成を示す説明図である。
【図１２】本発明の、図１１におけるブロックノイズ除去処理手順の概要を示す説明図である。
【図１３】本発明の、図１２の広域特性値ＢＰ２（その１）の算出処理手順を示す説明図である。
【図１４】本発明の、図１５のエッジ連続性検出処理における画素配列例を示す説明図である。
【図１５】本発明の、図１２の行程６０６，６０７の処理手順を示す説明図である。
【図１６】本発明の、図１２の広域特性値ＢＰ２（その２）の算出処理手順を示す説明図である。
【図１７】本発明の、図１８の広域特性値の算出処理における画素配列例を示す説明図である。
【図１８】本発明の、図１２の広域特性値ＢＰ２（その３）の算出処理手順を示す説明図である。
【図１９】本発明の、複数画像のそれぞれについての、ブロック内レベル差よりもブロック境界レベル差の方が大きなブロック境界画素グループの個数の割合を示すレベル差比率と、それの画像頻度（その１）を示す説明図である。
【図２０】本発明の、複数画像のそれぞれについての、ブロック内レベル差よりもブロック境界レベル差の方が大きなブロック境界画素グループの個数の割合を示すレベル差比率と、それの画像頻度（その２）を示す説明図である。
【符号の説明】
１００：カラーイメージ画像
１０１：ヘッダーデータ
１０２：画像データ
１１０：ＰＣ（コンピュータ）
１１１：画像データ転送機能部
１２０：プリンタ
１２１：ノイズ除去機能部
１２２：広域特性算出機能部
１２３：近傍特性算出機能部
１２４：フィルタリング機能部
５００：カラーイメージ画像
５０１：ヘッダーデータ
５０２：画像データ
５１０：ＰＣ（コンピュータ）
５１１：ノイズ除去機能部
５１２：広域特性算出機能部
５１３：近傍特性算出機能部
５１４：フィルタリング機能部
【図１】
0004294887.tif 000002
【図２】
0004294887.tif 000003
【図３】
0004294887.tif 000004
【図４】
0004294887.tif 000005
【図５】
0004294887.tif 000006
【図６】
0004294887.tif 000007
【図７】
0004294887.tif 000008
【図８】
0004294887.tif 000009
【図９】
0004294887.tif 000010
【図１０】
0004294887.tif 000011
【図１１】
0004294887.tif 000012
【図１２】
0004294887.tif 000013
【図１３】
0004294887.tif 000014
【図１４】
0004294887.tif 000015
【図１５】
0004294887.tif 000016
【図１６】
0004294887.tif 000017
【図１７】
0004294887.tif 000018
【図１８】
0004294887.tif 000019
【図１９】
0004294887.tif 000020
【図２０】
0004294887.tif 000021