JP4294887B2 - 画像処理装置,画像処理方法および画像処理用プログラム - Google Patents
画像処理装置,画像処理方法および画像処理用プログラム Download PDFInfo
- Publication number
- JP4294887B2 JP4294887B2 JP2001155810A JP2001155810A JP4294887B2 JP 4294887 B2 JP4294887 B2 JP 4294887B2 JP 2001155810 A JP2001155810 A JP 2001155810A JP 2001155810 A JP2001155810 A JP 2001155810A JP 4294887 B2 JP4294887 B2 JP 4294887B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- pixel
- pixels
- level difference
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims description 96
- 238000003672 processing method Methods 0.000 title claims description 7
- 238000001914 filtration Methods 0.000 claims description 76
- 238000004364 calculation method Methods 0.000 claims description 65
- 238000000034 method Methods 0.000 description 142
- 238000010586 diagram Methods 0.000 description 36
- 238000001514 detection method Methods 0.000 description 24
- 238000013139 quantization Methods 0.000 description 8
- 238000009499 grossing Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 101100517651 Caenorhabditis elegans num-1 gene Proteins 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 241000255925 Diptera Species 0.000 description 3
- 230000006866 deterioration Effects 0.000 description 3
- 238000003708 edge detection Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【発明の属する技術分野】
本発明は、各種の高能率画像符号化方式によりオリジナル画像(入力画像)をいったん圧縮して、その後の復号,逆量子化などのデータ処理により生成した再生画像に含まれる歪み,ノイズを低減するための画像処理装置,画像処理方法および画像処理用プログラムに関する。
【0002】
なお、本明細書ではノイズ低減の対象となる画像を「復号画像」と記す。また、必要に応じて、画像中の「線」を含む意で「エッジ」を用いる。
【0003】
近年、デジタルカメラの普及等によってディジタルカラー画像が頻繁に見受けられるようになった。
【0004】
このディジタルカラー画像の場合、例えばJPEG(Joint Photographic Experts Group)という符号・復号化形式により、8画素×8ラインのブロックを単位とした、画像データの圧縮,保存,再生などの処理が実行される。
【0005】
なお、入力画像をデータ圧縮するプロセスは、例えば、
・2次元DCT(Discrete Cosine Transform:離散コサイン変換)
・このDCTにより求めた変換係数に対する量子化
・この量子化後の変換係数に対する可変長符号化
などである。
【0006】
また、符号化後の画像データから再生画像を生成するプロセスは、例えば、
・可変長復号化
・この復号化に続く逆量子化
・この逆量子化に続く2次元IDCT(DCTの逆変換)
などである。
【0007】
JPEG方式は、その圧縮画像のファイルサイズを非圧縮画像と比べて1/2〜1/20程度に圧縮でき、画像データの保存、通信に適している。
【0008】
ところが符号化の圧縮率を高くすると、再生画像に様々な歪み(ブロックノイズ,モスキートノイズなど)が生じ、画質が著しく劣化してしまう。
【0009】
本発明は、このような高能率画像符号化にともなうノイズの発生を抑止して再生画像の画質改善を図りたいという要請に応えるものである。
【0010】
なお、ブロックノイズは、例えば2次元DCTにより求まる入力画像変換係数の量子化が非常に粗い場合などに、再生画像中に他のブロック群とは再生レベルが不自然な形で異なるブロックが現れる、符号化雑音である。
【0011】
また、モスキートノイズは、粗い量子化のために入力画像の高域周波数成分の変換係数が「0」とみなされてしまう場合などに、その再生画像に(蚊が飛んでいるように)波状となって現れる、符号化雑音である。高域周波数成分は、入力画像信号にエッジなどの急激な輝度変化があるときに多く発生する。
【0012】
【従来の技術】
従来、次の公開特許公報などで、ブロックノイズなどを除去する手法が開示されている。
1.特開平7−38762号公報
2.特開平2−57067号公報
【0013】
特開平7−38762号公報のブロックノイズ除去手法では、
・先ず、復号画像自体のブロック境界およびブロック内部それぞれから所定組数の隣接画素値を抽出し、それをもとに画像全体に対するブロックノイズの度合いを算出し、
・この度合い(その画像にブロックノイズが多く発生しているかどうか)に応じて後処理フィルタの特性を変更している。この変更内容は全ブロックに対して一様なものである。
【0014】
すなわち、ブロックノイズが多く発生していれば平滑化作用の大きなフィルタを全ブロックに一律適用し、またブロックノイズの発生が少なければ平滑化作用の小さなフィルタを全ブロックに一律適用している。
【0015】
特開平2−57067号公報のブロックノイズ除去手法では、
・復号画像のブロック境界隣接画素それぞれの、フィルタリング前の画素値とフィルタリング後の画素値との差分などを求め、
・当該隣接画素それぞれの当該差分値同士の積の正負や、当該差分値(絶対値)の大きさに基づいて、当該隣接画素の各画素値をフィルタリングの前後の値に選択的に設定している。
【0016】
例えば、積が負値の場合、
・当該差分値(絶対値)が閾値より小さな画素は、ブロックノイズ画素と判断してフィルタリング後の画素値を用い、
・当該差分値(絶対値)が閾値より大きな画素は、ブロックノイズ画素ではなくエッジ画素だと判断し、フィルタリング前の画素値を用いている。
【0017】
すなわち、平滑化対象のブロック境界の隣接画素自体の画素値に基づいてその画素をフィルタリング(平滑化)するかどうかを決定している。
【0018】
【発明が解決しようとする課題】
従来のブロックノイズ除去手法では以下のような問題点があった。
【0019】
特開平7−38762号公報の場合、復号画像全体のブロックノイズの度合いに応じたフィルタ特性を選択してフィルタリングを行っているが、エッジの有無に関係なくすべてのブロックに均一のフィルタをかけてしまう。
【0020】
その結果、ブロックノイズが多く発生していると判断された復号画像では強いフィルタリングが一様に行われ、平滑化対象であるブロックノイズだけでなくそのまま表示すべきエッジまでが消失し、再生画像にボケを生じさせてしまうことになる。
【0021】
特開平2−57067号公報の場合、ブロック境界のいわばローカルな画素値情報のみを用いてエッジとブロックノイズの判別を行っているが、両者の完璧な判別は不可能である。なぜならばブロックノイズと非常に似通ったエッジが復号画像に存在しえるからである。とくに低圧縮画像では、入力画像の細部(細かなレベル変動、急峻な変動など)が全て劣化することなく残っている。このような画像の細部にはブロックノイズと似通ったものが多数存在する。
【0022】
その結果、本来ブロックノイズが存在しないブロック境界画素に対してもフィルタリングを実行して、過平滑になり、フィルタリングする前よりも画質が劣化してしまう。また、このように過平滑フィルタリングとなってしまう無駄な処理時間が生じる。
【0023】
そこで、本発明では、復号画像全体のブロックノイズの程度を示す広域特性値と、ブロック境界部分のエッジ可能性やノイズ可能性を示すいわばローカルな近傍特性値とに基づいて、ブロック境界画素などに対するフィルタリングを制御して、ブロック境界の過平滑を防止することを目的とする。
【0024】
【課題を解決するための手段】
本発明は、この課題を次のようにして解決する。
(1)複数の画素からなるブロック単位で復号した画像のブロックノイズを低減する画像処理装置に、前記画像全体の広域特性値を、前記各ブロックの複数画素のレベルに基づいて求める広域特性算出手段と、前記ブロックの境界部分の近傍特性値を、当該境界部分の複数画素のレベルに基づいて求める近傍特性算出手段と、前記境界部分の画素のレベルを、前記広域特性値および前記近傍特性値に基づいて変更するフィルタリング手段とを備える。
(2)上記(1)において、前記広域特性算出手段は、前記広域特性値を、ブロック境界画素間のレベル差、および当該境界画素と同じブロックのブロック内画素間のレベル差に基づいて求める。
(3)上記(1),(2)において、前記広域特性算出手段は、前記広域特性値を求めるときの使用画素を、画素間のレベル差に基づいて選択する。
【0025】
本発明によれば、上記(1)のように、画像全体の広域特性値(画像全体におけるブロックノイズの程度)とブロック境界部分の近傍特性値(エッジ可能性やノイズ可能性の程度)とに基づいて、当該境界部分の画素に対するフィルタリングを実行し、これにより、従来技術で問題になった「ブロック境界部分のエッジ画素に対する過平滑」などが生じないようにしている。なお、「ブロック境界部分の画素」とはブロック境界画素自体とその近くの画素を含む概念である。
【0026】
この広域特性値から対象画像に歪みが存在しないと分かればフィルタリング処理を完全にスルーすることにより、処理全体の高速化を図ることができる。
【0027】
歪み除去では、例えば画像中に元々存在していたエッジを検出し、当該エッジにはフィルタリングを行わないことが重要なポイントとなる。しかし、例えばブロックノイズなどは画像を保存する際の圧縮率によってレベル差が変化するので、ブロック境界画素のレベル差のような近傍特性値だけではノイズとエッジの判別は大変難しい。そこで、画像の広い範囲から抽出した画素値から画像全体のブロックノイズの程度などのような広域特性値を把握し、これと近傍特性値に基づいてブロックノイズおよびエッジを判別することで、判別性能を向上させ、画像中の歪みにのみフィルタリングできるようにしている。
【0028】
因みに、広域特性値は画像中の画素値から算出するため、例えば画像特性が記載されている画像ファイルのヘッダー情報(JPEG形式で保存された画像ファイルのヘッダー情報に記載されている量子化値など)などが使用できない場合でも問題なく適用できる。このように,フィルタ制御の際に、フィルタ適用画素近傍の画素値だけでなく、画像中の広範囲な部分の特性を表す広域特性値を使用することを特徴としている。
【0029】
また、上記(2)のように、復号画像全体の広域特性値を、ブロック境界画素間のレベル差(必要に応じて「ブロック境界レベル差」という。)とブロック内画素間のレベル差(必要に応じて「ブロック内レベル差」という。)とに基づいて求め、これにより、当該広域特性値の精度を高めている。
【0030】
なお、ブロック内レベル差の算出対象画素として、ブロック境界レベル差の算出対象画素の(同一ブロックの)一つ隣の画素を用いるかどうかは任意である。そして、一つ隣の画素を用いる場合にどの方向の画素を選ぶかも任意であり、水平,垂直方向だけでなく斜め方向の画素を選択してもよい。
【0031】
ここでは、画像特性(ノイズの量、画質、量子化ステップなど)を算出できることを可能にしている。例えばJPEG形式は、8×8単位のブロック毎に非可逆圧縮を行う。よってブロック毎に相関がなくなるので、ブロック境界には歪みがよく顕在化する。よってブロック境界のレベル差とブロック内のレベル差を参考にすると歪みの特性をよく把握することができ、歪み,画質の劣化度合いなどを算出することが可能となる。
【0032】
そして、ブロック内画素として、ブロック境界画素のブロック内隣接画素を用い、これにより、広域特性値を正確に求めることを可能にしている。例えばエッジが多い画像などでは、レベル差が画素ごとに大きく異なる場合がある。この際ブロック境界レベル差とブロック内レベル差を取得すると、両者に差が生じる原因がブロックノイズにあるのかエッジにあるのかが不明瞭になる。このような不明瞭さを防ぐため、両者は可能な限り近い場所から取得しておく必要がある。
【0033】
さらには、広域特性値を、
・ブロック境界レベル差およびブロック内レベル差それぞれの母集団の標準偏差値の大小関係(比率)に基づいて求め、
・ブロック境界レベル差が前記ブロック内レベル差よりも大きい場合の画素対応数と、前記ブロック境界レベル差が前記ブロック内レベル差よりも小さい場合の画素対応数との大小関係(比率)に基づいて求めている。
【0034】
一般に、ブロックごとに符号・復号化を行わない場合、ブロック境界レベル差とブロック内レベル差のヒストグラムは、両者ともに同じく「0」を中心とした釣鐘状の形をとる。これに対し、ブロックノイズがある画像では、2 つのレベル差に対する標準偏差値に違いが生じる。よってこの2つの標準偏差値の大小関係を計測することによって、ブロックノイズの量を推定することができる。
【0035】
ブロックノイズが全く存在しないのならば、ブロック境界レベル差に対する標準偏差と、ブロック内レベル差に対する標準偏差との比率は「100%」に近くなり、逆にブロックノイズがある画像では当該比率が100%をはるかに上回ることになる。
【0036】
また、画像中にブロックノイズがある場合、ブロック境界レベル差がブロック内レベル差より大きくなる場合が多くなると考えられる。よって、このレベル差のどちらが多いかを検証することで、ブロックノイズの量を特定できる。
【0037】
ブロック境界レベル差がブロック内レベル差より大きい場合の画素対応数(例えば後述のブロック境界画素グループ数)C1と、ブロック内レベル差がブロック境界レベル差より大きい場合の画素対応数C2とを比較するとき、ブロックノイズが存在しないのならば、C1/(C1+C2)*100の値(以下、これを「レベル差比率」と呼ぶ。)は画像全体で見れば約50%になり、逆にブロックノイズがある画像のレベル差比率は50%を上回ることになる。
【0038】
図19は、目視観察により選別したブロックノイズあり画像とブロックノイズなし画像とのレベル差比率のヒストグラム(その1)を示す説明図である。ヒストグラムの縦軸は、そのレベル差比率の値をとる画像の数の、評価用画像総数に対する割合である。例えば、画像処理装置により算出したレベル差比率が「70%」の画像数は全画像数の9%ほどであり、それはすべてブロックノイズあり画像と目視観察された画像であることを示している。
【0039】
このレベル差比率は以下の条件で求めている。
1.使用した評価用画像:市販のデジタルカメラから取得したJPEG画像53枚
2.実験手順
(a) 上記画像を目視観察して、ブロックノイズがある画像とない画像とに選別する。
(b) 画像中のブロック境界レベル差を、1ブロックにつき8×4(辺)=32個取得する。ブロック内レベル差を取得する際には、ブロック境界画素レベル差を算出する際に使用した画素と、その画素から同一ブロック内で1画素ずれた画素を用いる。
(c) 上記(a) で選別したそれぞれの画像に対して、ブロック境界レベル差がブロック内レベル差より大きい場合の画素対応数C1と、ブロック内レベル差がブロック境界レベル差より大きい場合の画素対応数C2を計数し、このC1およびC2を用いてレベル差比率を算出する。この(b),(c) の処理主体は画像処理装置である。
【0040】
図示のヒストグラムは、目視観察によるブロックノイズ画像の選別結果と、画像処理装置によるレベル差比率の算出値との間に相関性が存在することを示している。すなわち、このレベル差比率の、画像の広域特性値としての有意性が検証される。
【0041】
図20は、目視観察により選別したブロックノイズあり画像とブロックノイズなし画像とのレベル差比率のヒストグラム(その2)を示す説明図である。
【0042】
図20のヒストグラムは、図19のそれに比べて、目視観察により選別したブロックノイズあり画像、およびブロックノイズなし画像それぞれのレベル差比率がより明確に峻別されたことを示している。
【0043】
これは、ブロック境界レベル差とブロック内レベル差との差分が、人の目では判らない程度のレベル範囲を超えている場合のみ、レベル差比率を算出したからである。その他の検証条件は図19の場合と同様である。
【0044】
すなわち、画像中には人が見て判別できないようなレベル差を有する画素群が多数存在する。このことがレベル差比率を算出する際に障害となる。よって、予め見た目には判らないレベル差を測定してこれを閾値とし、ブロック境界レベル差とブロック内レベル差との違いがこの閾値未満である場合は検証の対象としないことにした。
【0045】
また、上記(3)のように、画素間のレベル差に基づいて広域特性値算出のための使用画素を選択し、これにより、この算出処理の高速化を図っている。
【0046】
すなわち、広域特性値の算出のために単純に画像中全てのブロック境界レベル差とブロック内レベル差を使用すると、例えばブロック境界上に木の枝などのような高周波成分が存在する場合にはブロックノイズが反映されにくい。このように、画像中には広域特性値の算出には適さない画素もあるため、当該算出処理のために用いる画素の選択を行なっている。
【0047】
高周波成分からなるブロック境界画素では、ブロックノイズが反映されたレベル差が出現しづらくなる。よって、広域特性値の算出には低周波成分のみからなるブロック境界を選択し、このブロック境界のみを対象として広域特性値を算出する。
【0048】
画素のレベル差が低ければ低周波成分であるので、ブロック境界レベル差とブロック内レベル差がともに閾値以下かどうかで判断することが有効である。広域特性値を算出するにあたり、この方法で全ての低周波成分のみで形成されるブロック境界を特定できなかったとしても、画像中にブロック境界が多数あれば特に問題はない。
【0049】
さらには、後述のように、ブロック境界画素に隣接したブロック内画素の二次微分値と、ブロック境界画素の連続エッジ強度とに基づいてエッジ可能性を判定することにより、エッジとブロックノイズとの弁別精度を高めている。
【0050】
例えば、起伏の緩やかな(二次微分値の小さい)エッジは二次微分値だけでは検出されない場合がある。その結果、エッジに対してフィルタリングを行ってしまい(過平滑)、逆に画質が著しく劣化する。特に、この現象が連続エッジの途中部分で起きると著しく目立つ。このように、連続しているエッジは絶対検出しなくてはならないため、エッジ可能性を検出する際にエッジの連続性を考慮に入れる必要がある。
【0051】
起伏の大きい(二次微分値が大きい)エッジは二次微分値により検出できるので、この二次微分値ではエッジ可能性を検出できなかった部分のみにエッジ強度を用いることによって、エッジ検出のための計算量を大幅に少なくできる。
【0052】
また、少ない計算量でエッジの連続性を判定できる。通常連続性を判定するには、画像中の全ての全体に対してエッジ強度を算出し、閾値以上のエッジ強度を持つ画素が続く場合に、そこは連続しているとする。しかしこの方法では、画像全体に対してエッジ強度を検出する必要があり、計算量が多い。
【0053】
そこで、ある画素のエッジ方向を算出して、そのエッジが連なっていると考えられる方向にある画素のみエッジ強度を算出して、算出したエッジ強度が全て閾値以上である場合はその画素が連続エッジの一部であり、エッジ連続性があるとする。これによって画像全体に処理を行う必要がなくなる。
【0054】
さらには、ブロック境界部分の近傍特性として当該境界部分の画素の先ずエッジ可能性を求め、「当該画素はエッジでない」と判定した場合には当該画素のノイズ可能性をさらに求めることにより、エッジ,ノイズのいずれにも該当しないブロック境界部分(レベル平坦部)への不要なフィルタリング処理を防止している。
【0055】
さらには、後述のように、ブロック境界画素の画素値の変更前後の差分が前記広域特性値以上の場合には、当該画素値を、変更前の画素値と広域特性値とに基づく新画素値に再変更することにより、ブロックノイズと判定されたブロック境界画素の過剰フィルタリングを防止している。
【0056】
本発明は、このような特徴を持つ画像処理装置を対象とし、さらには当該装置を用いた画像処理方法や、当該装置で使用される画像処理用プログラムもその対象とする。
【0057】
【発明の実施の形態】
図1乃至図18を参照して本発明の実施の形態を説明する。
【0058】
図1は、プリンタが、受信したカラーイメージ画像(復号画像)を、そのブロックノイズを除去してから出力するときの全体構成を示す説明図である。
【0059】
カラーイメージ画像100はヘッダーデータ101と画像データ102からなり、PC(コンピュータ)110に記憶されている。ヘッダーデータ101は量子化テ−ブルなどを含んでいる。
【0060】
画像データ102は8画素×8ラインのブロック単位で符号化・復号され、また画像全体はn行m列のブロックで構成されている。
【0061】
PC110の画像データ転送機能部111は、カラーイメージ画像100に対する復号,逆量子化,2次元IDCTなどのデータ処理を実行してから、この画像データ(復号画像)をプリンタ120へ転送する。
【0062】
このn行m列のブロックからなる復号画像を受け取ったプリンタ120は、そのノイズ除去機能部121によって画像中のノイズを除去してからプリント出力する。
【0063】
このノイズ除去機能部121は、広域特性算出機能部122,近傍特性算出機能部123およびフィルタリング機能部124を備えている。
【0064】
広域特性算出機能部122は画像全体のブロックノイズの程度を示す広域特性値を求め、近傍特性算出機能部123はブロック境界画素のエッジ可能性やノイズ(ブロックノイズ)可能性の程度を示す近傍特性値を求める。
【0065】
図2は、画像中の(8×8)画素のブロック群とブロック境界画素との関係を示す説明図である。
【0066】
ここで、画素a,dは隣同士のブロック境界画素を、画素bは画素aの右隣画素を、また画素cは画素dの左隣画素をそれぞれ示している(行方向の画素の場合)。これらの画素c,d,a,bは、一組のブロック境界画素グループを形成する。
【0067】
説明の便宜上、フィルタリングの対象となる画素を図示ハッチング部分のブロック境界画素a,dとし、これを必要に応じて「フィルタ適用画素」と記す。なお、各画素の添字(i,j)はその画素がi行j列のブロックに属することを示している。
【0068】
図3は、図1におけるブロックノイズ除去処理手順の概要(その1)を示す説明図であり、その内容は次のようになっている。この処理では近傍特性値として「エッジ可能性」のみを用いている。
〔過程201〕PC(コンピュータ)110の画像データ転送機能部111が、カラーイメージ画像100を復号した後の画像データをプリンタ120へ転送する。
〔過程202〕この画像データを受け取ったプリンタ120の広域特性算出機能部122が、図4の処理手順により、画像全体のブロック境界レベル差に関する広域特性値BP1(Broad parameter) を算出する。
〔過程203〕プリンタ120の近傍特性算出機能部123が、まだエッジ可能性の検出処理を実行していない水平・垂直方向のブロック境界画素グループの中から、一組のグループを特定する。
〔過程204〕近傍特性算出機能部123が、このグループのブロック境界画素(フィルタ適用画素:図2の画素a,d)およびその隣側画素(図2の画素b,c)ごとにそれぞれの二次微分値を算出して、当該ブロック境界画素のエッジ可能性を検出する(図5乃至図7参照)。
〔過程205〕当該ブロック境界画素が、エッジや線に相当しないと判定した場合には過程206に移行し、エッジや線に相当すると判定した場合には過程207に移行する。実行主体は近傍特性算出機能部123である。
〔過程206〕プリンタ120のフィルタリング機能部124が、図8の処理手順により、エッジ相当のブロック境界画素a7 ,a8 (図6参照)のそれぞれに対するフィルタリングを行う。ここで、フィルタリング前の画素値とフィルタリング後の画素値との差分が広域特性値BP1を超える場合には、当該フィルタリングは過補正であると判定して、フィルタリング後の画素値を用いずに、フィルタリング前の画素値にこの広域特性値を加算(または減算)した値を用いる。
〔過程207〕すべての組のブロック境界画素グループへのエッジ可能性の検出処理を終了してない場合には、過程203に戻る。
【0069】
なお、〔過程202〕で求めた広域特性値BP1が所定値以下の場合には、後述の図12と同様に、対象画像に対するその後のブロックノイズ除去処理を省略してもよい。
【0070】
図4は、図3の広域特性値BP1の算出処理手順を示す説明図であり、その内容は次のようになっている。説明の便宜上、図2の画素番号を用いる。
(s11) 未処理の、一組のブロック境界画素グループa〜dを特定して、次のステップに進む。
(s12) ブロック境界画素a(i,j+1) ,d(i,j) に隣接する画素c(i,j) とb(i,j+1) の画素値が同一であるかどうかを判断して、「YES 」 の場合は(s11) に戻り、「NO」 の場合は次のステップに進む。なお、画素c(i,j) とb(i,j+1) の画素値が同一の場合はブロックノイズとして参考にならないため、当該一組のブロック境界画素グループを処理済みとする。
(s13) 次式
Ns(i,j)=(| 2.0/ 3.0*c(i,j) +1.0 /3.0 *b(i,j+1) −d(i,j) |+| 1.0/ 3.0*c(i,j) +2.0 / 3.0*b(i,j+1) −a(i,j+1) |)/ 2.0
により、このブロック境界画素のノイズサイズNs(i,j)を算出して、次のステップに進む。なお、この算出式の代わりに、画素d(i,j) と画素a(i,j+1) とのレベル差や、画素c(i,j) ,d(i,j) と画素a(i,j+1) ,b(i,j+1) とのレベル差の算出式を用いるようにしてもよい。
(s14) この算出したNs(i,j)をノイズサイズの合計値TNs に加算し、かつ加算回数を示すACを「1」だけインクリメントして,次のステップに進む。なお、これらのデータの初期値はともに「0」である。
(s15) すべての組のブロック境界画素グループに対する広域特性値算出処理を終えたかどうかを判断して、「 YES 」 の場合は次のステップに進み、「NO」 の場合はステップ(s11) に戻る。
(s16) TNs /ACの計算により、対象画像のブロック境界画素それぞれのノイズサイズの平均値を求めて、これを広域特性値BP1とする。
【0071】
図5乃至図7は、図3の過程204〜206などのエッジ可能性検出およびフィルタリングの概要を示す説明図である。ここでは二次微分値によりエッジ可能性を検出している。この二次微分値によるエッジ可能性の検出手法は後述の図12のブロックノイズ除去処理手順でも用いる。
【0072】
ここでは、説明の便宜上、図2とは別の画素番号を付した水平方向画素a0 〜a15を用い、任意の画素an の画素値(明度値)をLn , 一次微分値をΔLn , また二次微分値をΔ2 Ln で示す。画素a7 , a8 がブロック境界画素(フィルタ適用画素)である。なお、垂直方向のブロック境界画素グループ(画素列)に対しても行と列を入れ替えることにより同様の処理が実行できることは勿論である。
【0073】
任意の画素an の一次微分値ΔLn および二次微分値をΔ2 Ln はそれぞれ次式により求める。
・ΔLn =Ln −L(n-1)
・Δ2 Ln =(L(n+1) −Ln )−(Ln −L(n-1) )=L(n+1) +L(n-1) −2Ln
【0074】
そして、フィルタ適用画素a7 , a8 それぞれの、これと同一ブロックの隣側画素a6 , a9 に対する二次微分値Δ2 L6 ,Δ2 L9 の絶対値がともに所定の閾値(=2.0 )未満である場合には、ブロックノイズの可能性が高いとして、フィルタ適用画素a7 , a8 へのフィルタリングを実行する。換言すれば、二次微分値Δ2 L6 およびΔ2 L9 の絶対値の少なくとも一方が閾値以上であれば、フィルタ適用画素a7 , a8 へのフィルタリングを実行しない。
【0075】
図5は、ブロック境界に存在する線の例を示している。この例では、隣側画素a6 , a9 の二次微分値Δ2 L6 およびΔ2 L9 の絶対値が「1」, 「8」となる、すなわち当該絶対値の少なくとも一方が閾値(=2.0 )以上となるので、フィルタ適用画素a7 , a8 へのフィルタリングを実行しない。
【0076】
図6は、起伏がなくて高周波成分が欠落したブロック境界の例を示している。この例では、隣側画素a6 , a9 の二次微分値Δ2 L6 およびΔ2 L9 の絶対値がともに「0」となる、すなわち当該絶対値がともに閾値(=2.0 )未満となるので、フィルタ適用画素a7 , a8 へのフィルタリングを実行する。
【0077】
図7は、ブロック境界に存在するエッジの例を示している。この例では、隣側画素a6 , a9 の二次微分値Δ2 L6 およびΔ2 L9 の絶対値がともに「2」となる、すなわち当該絶対値の少なくとも一方が閾値(=2.0 )以上となるので、フィルタ適用画素a7 , a8 へのフィルタリングを実行しない。
【0078】
図8は、図3のフィルタリング処理手順(過程206)を示す説明図であり、その内容は次のようになっている。
(s21) 次式
F(a7)=(L6 +L7 +L8 )/3
F(a8)=(L7 +L8 +L9 )/3
により、ブロック境界画素a7 ,a8 のフィルタリング値Fを算出して,次のステップに進む。なお、L6 ,L7 ,L8 ,L9 はそれぞれ画素a6 ,a7 ,a8 ,a9 のフィルタリング前の画素値(図5乃至図7の明度値)である。
(s22) 次式
|L7 −F(a7)|≦広域特性値BP1
が成立するかどうかを判断して、「 YES 」 の場合は次のステップに進み、「NO」 の場合はステップ(s24) に進む。
(s23) F(a7)の値を、画素a7 の新画素値L7 ′に設定する。
(s24) 次式
L7 ′=L7 +((F(a7)−L7 )/|(F(a7)−L7 )|)*BP1
により、画素a7 の新画素値L7 ′を算出して、次のステップに進む。
(s25) 次式
|L8 −F(a8)|≦広域特性値BP1
が成立するかどうかを判断して、「 YES 」 の場合は次のステップに進み、「NO」 の場合はステップ(s27) に進む。
(s26) F(a8)の値を、画素a8 の新画素値L8 ′に設定して,次のステップに進む。
(s27) 次式
L8 ′=L8 +((F(a8)−L8 )/|(F(a8)−L8 )|)*BP1
により、画素a8 の新画素値L8 ′を算出する。
【0079】
図9は、図1におけるブロックノイズ除去処理手順の概要(その2)を示す説明図であり、その内容は次のようになっている。
【0080】
説明の便宜上、図5乃至図7の画素番号や明度値,一次微分値などを用いる。また、この処理では近傍特性値として「ノイズ可能性」のみを用いている。
〔過程301〕図3の過程201と同様の画像データ転送処理を行なう。
〔過程302〕図3の過程202と同様の広域特性値BP1(Broad parameter) 算出処理を行なう。
〔過程303〕プリンタ120の近傍特性算出機能部123が、まだノイズ可能性の検出処理を実行していない水平・垂直方向のブロック境界画素グループの中から、一組のグループ(例えばa6 〜a10)を特定する。
〔過程304〕次式
Npo= 5.0*|ΔL8 |/(|ΔL6 |+|ΔL7 |+|ΔL8 |+|ΔL9 |+|ΔL10|)
により、このブロック境界画素(フィルタ適用画素)a8 のノイズ可能性Npoを算出する。
〔過程305〕当該ブロック境界画素が、ノイズ画素に相当すると判定した場合には過程306に移行し、ノイズ画素に相当しないと判定した場合には過程307に移行する。過程304,305の実行主体は近傍特性算出機能部123である。
〔過程306〕当該ノイズ画素に対して図3の過程206と同様のフィルタリング処理を行なう。
〔過程307〕すべての組のブロック境界画素グループへのノイズ可能性の検出処理を終了してない場合には、過程303に戻る。
【0081】
なお、上記過程305の判定基準は例えば「Npo≧ 4.0」が成立するかどうかであり、「Npo≧ 4.0」のブロック境界画素については「ノイズ画素」と判定し、「Npo< 4.0」のブロック境界画素については「ノイズ画素ではない」と判定する。
【0082】
これは、ブロックノイズ領域の特徴である、
・ブロック境界にて急激にレベルが変動し、
・ブロック内の各画素のレベルはほとんど変動しない、
ことに基づいている。
【0083】
例えば、
・図5の画素a8 (画素a6 〜a10)のノイズ可能性Npoは「2.2 」
・図6の画素a8 (画素a6 〜a10)のノイズ可能性Npoは「5.0 」
・図7の画素a8 (画素a6 〜a10)のノイズ可能性Npoは「2.5 」
となる。なお、「5.0 」はNpoの最大値でもある。
【0084】
図10は、図1におけるブロックノイズ除去処理手順の概要(その3)を示す説明図であり、その内容は次のようになっている。
【0085】
説明の便宜上、図5乃至図7の2の画素番号や明度値,一次微分値,二次微分値,などを用いる。また、この処理では近傍特性値として「エッジ可能性」および「ノイズ可能性」の双方を用いている。
〔過程401〕図3の過程201と同様の画像データ転送処理を行なう。
〔過程402〕図3の過程202と同様の広域特性値BP1(Broad parameter) 算出処理を行なう。
〔過程403〕図3の過程203と同様のグループ特定処理を行なう。
〔過程404〕図3の過程204と同様のエッジ可能性検出処理を行なう。
〔過程405〕図3の過程205と同様のエッジ可能性判定処理を行なって、そのブロック境界画素が、エッジや線に相当しないと判定した場合には過程406に移行し、エッジや線に相当すると判定した場合には過程409に移行する。
〔過程406〕図9の過程304と同様のノイズ可能性検出処理を行なう。
〔過程407〕図9の過程305と同様のノイズ可能性判定処理を行なって、そのブロック境界画素が、ノイズ画素に相当すると判定した場合には過程408に移行し、ノイズ画素に相当しないと判定した場合には過程409に移行する。
〔過程408〕当該ノイズ画素に対して図3の過程206と同様のフィルタリング処理を行なう。
〔過程409〕すべての組のブロック境界画素グループへのエッジ可能性の検出処理を終了してない場合には、過程403に戻る。
【0086】
なお、〔過程302〕や〔過程402〕で求めた広域特性値BP1が所定値以下の場合には、後述の図12と同様に、対象画像に対するその後のブロックノイズ除去処理を省略してもよい。
【0087】
図10のブロックノイズ除去処理手順の場合、ブロック境界画素について、
・先ずエッジ可能性を判定し、
・「エッジ部分である」と判断したときには当該画素に対するフィルタリング処理を行なわずに、
・「エッジ部分でない」と判断したときには当該画素のノイズ可能性をさらに判断し、
・「ノイズ部分でない」と判断したときには当該画素に対するフィルタリング処理を行なわずに、
・「ノイズ部分である」と判断したときに、はじめて当該画素に対するフィルタリング処理を行なうものである。
【0088】
これにより、エッジ,ノイズのいずれでもないブロック境界部分(レベル平坦部)への無駄なフィルタリング処理を実行することを阻止して、再生画像の劣化を防ぐとともにブロックノイズ低減の要処理時間の短縮化を図っている。
【0089】
図11は、PC(コンピュータ)が、カラーイメージ画像を、そのブロックノイズを除去してから表示するときの全体構成を示す説明図である。
【0090】
カラーイメージ画像500は、ヘッダーデータ501と画像データ502からなり、PC(コンピュータ)510に記憶されている。
【0091】
画像データ502は、図1の全体構成の場合と同じように、8画素×8ラインのブロック単位で符号化・復号され、また画像全体はn行m列のブロックで構成されている。
【0092】
PC510のノイズ除去機能部511は、広域特性算出機能部512,近傍特性算出機能部513およびフィルタリング機能部514を備えている。
【0093】
この近傍特性算出機能部513は、
・エッジ可能性の検出(その1:上述の二次微分値による検出)
・エッジ可能性の検出(その2:後述の連続エッジ強度による検出)
・ノイズ可能性の検出(図9参照)
などの処理を実行可能である。
【0094】
図12は、図11におけるブロックノイズ除去処理手順の概要を示す説明図であり、その内容は次のようになっている。
【0095】
なお、この処理手順では、近傍特性としてもっぱら「ノイズ可能性」を用いている。画素番号などは図2や図5乃至図7で示したものを前提とする。
〔過程601〕PC(コンピュータ)510の広域特性算出機能部312が、図13,図16,図17などの処理により、画像全体の広域特性値BP2(Broad parameter) を算出する。
〔過程602〕このBP2が、所定値以下であれば対象画像中にブロックノイズがないと判定して当該画像のブロックノイズ除去の処理を終了し、また所定値を超えていれば過程603に移行する。
〔過程603〕PC510の近傍特性算出機能部513が、エッジ可能性の検出処理を実行していない水平・垂直方向のブロック境界画素グループの中から、一組のグループを特定する。
〔過程604〕近傍特性算出機能部513が、このグループの、ブロック境界画素(フィルタ適用画素)a7 , a8 の隣側画素a6 , a9 それぞれの二次微分値を算出して(図5乃至図7参照)、当該ブロック境界画素のエッジ可能性を判定する。
〔過程605〕この二次微分値により、当該ブロック境界画素が、エッジや線に相当しないと判定した場合には過程606に移行し、エッジや線に相当すると判定した場合にはこの画素へのフィルタリングを実行せずに、過程609に移行する(図5乃至図7参照)。この実行主体は近傍特性算出機能部513である。
〔過程606〕近傍特性算出機能部513が、後述の図15の処理により、(過程605でエッジや線に相当しないと判定された)ブロック境界画素のエッジ連続性を判定する。
〔過程607〕図15の連続エッジ強度に基づいても、当該ブロック境界画素a7 ,a8 がともにエッジの一部に相当しないと判定された場合には過程608に移行し、逆に当該ブロック境界画素a7 ,a8 のいずれかがエッジの一部に相当すると判定された場合にはこの画素へのフィルタリングを実行せずに、過程609に移行する。
〔過程608〕上述の二次微分値,連続エッジ強度のいずれからも「エッジでない」と判定されたブロック境界画素a7 ,a8 に対し、図8のステップ(s21) の式によるフィルタリングを実行する(図6参照)。
〔過程609〕すべてのブロック境界画素グループへのエッジ可能性の検出処理を終了してない場合には、過程603に戻る。
【0096】
図12のブロックノイズ除去処理手順が図3のそれと異なる主な点は、
1.広域特性値BP2が、ブロック境界レベル差だけでなくブロック内隣接画素レベル差の分布状況も反映した値であること
2.この広域特性値で画像中のブロックノイズの実質的な有無を判定すること
3.ブロック境界画素についてのエッジ可能性の判定基準をダブルスタンダード(過程604の二次微分値および過程606の連続エッジ強度)にしたこと
などである。なお、過程604と過程606の実行の前後関係は任意であり、過程606の処理を先に行なってもよい。
【0097】
図13は、図12の広域特性値BP2(その1)の算出処理手順を示す説明図であり、その内容は次のようになっている。
(s31) 未処理の、一組のブロック境界画素グループa〜dを特定して、次のステップに進む(図2参照)。
(s32) 次式
x=d(i,j) −a(i,j+1)
y1=c(i,j) −d(i,j)
y2=a(i,j+1) −b(i,j+1)
により、この特定画素のブロック境界レベル差xおよびブロック内レベル差y1,y2を算出して、次のステップに進む。なお、i,j,j+1は当該特定画素が属するブロックの番号(行列番号)である。
(s33) 画像中のすべてのブロック境界画素グループの当該レベル差x,y1,y2を求めたかどうかを判断して、「 YES 」 の場合は次のステップに進み、「NO」 の場合はステップ(s31) に戻る。
(s34) xの集合の標準偏差値、すなわちブロック境界レベル差の母集団Xの標準偏差値σxを算出する。
(s35) y1およびy2の集合の標準偏差値、すなわちブロック内レベル差の母集団Yの標準偏差値σyを算出する。
(s36) 次式
BP2=σx/ σy
により、広域特性値BP2(その1)を算出する。
【0098】
このBP2(その1)が「1.0 」に近い場合は、ブロックノイズが殆ど存在しないことになる。ここでは例えば「BP2≦ 1.05 」のとき、上述のフィルタリングを行う必要がないとして、対象画像への図12のブロックノイズ除去処理を終了する。
【0099】
図14は、図15のエッジ連続性の検出処理における画素配列例を示す説明図であり、検出対象のフィルタ適用画素(ブロック境界画素)a22およびその近辺の画素a11〜a33を示している。また、a11〜a33それぞれの画素値をL11〜L33とする。このフィルタ適用画素a22は、図2の画素d,aや図5〜図7の画素a7 ,a8 に対応する。
【0100】
図15は、図12の過程606,607の処理手順を示す説明図であり、その内容は次のようになっている。ここでは、説明の便宜上、図14の画素,画素値などを用いる。
(s41) フィルタ適用画素a22(ブロック境界画素の例えばa7 およびa8 :図5参照)の一方を特定して,次のステップに進む。
(s42) 次式
Sh =(−L11− 2.0*L21−L31+L13+ 2.0*L23+L33)/ 8.0
Sv =(−L11− 2.0*L12−L13+L31+ 2.0*L32+L33)/ 8.0
により、当該特定画素の水平方向の連続エッジ強度成分Sh および垂直方向の連続エッジ強度成分Sv をそれぞれ算出して,次のステップに進む。
(s43) 次式
Str=(Sh *Sh +Sv *Sv )1/2
Dir=tan -1( Sv /Sh )*180.0 /3.14
・・・Sv およびSh がともに正の値をとる場合
Dir=(2.0 * 3.14 + tan-1(Sv /Sh ))*180.0 /3.14
・・・Sv が負の値で、かつSh が正の値をとる場合
Dir=(3.14 + tan-1(Sv /Sh ))*180.0 /3.14
・・・Sh が負の値をとる場合
により、当該特定画素の連続エッジ強度Strおよび連続エッジ角度Dirを算出して,次のステップに進む。
(s44) a11〜a33の画素の中で、エッジが連なっている方向(エッジ角度と垂直な方向)のエッジの連続エッジ強度のみを算出する。例えばエッジ角度が45度である場合、フィルタ適用画素a22からみて135 度,−45度の各位置の画素a11,a33の連続エッジ強度Str11,Str33を上記Strと同じように算出する。
(s45) ステップ(s43) ,(s44) で求めた三つの連続エッジ強度がすべて閾値(例えば5.0 )以上であるかどうかを判断し、「YES 」 の場合は画素a7 ,a8 の少なくとも一方がエッジであるとみなして当該画素のいずれにもフィルタリングを実行せずに次のブロック境界画素への処理(過程609)に移行し、「NO」 の場合は次のステップに進む。
(s46) フィルタ適用画素(a7 ,a8 )の双方への当該算出処理を実行したかどうかを判断し、「 YES 」 の場合は画素a7 ,画素a8 がともにエッジでないとみなして図10の過程408(フィルタリング処理)に移行し、「NO」 の場合は次のステップに進む。
(s47) フィルタ適用画素(a7 ,a8 )の他方を特定して、ステップ(s42) に戻る。
【0101】
図16は、図12の広域特性値BP2(その2)の算出処理手順を示す説明図であり、その内容は次のようになっている。
(s51) 未処理の一組のブロック境界画素グループ、すなわちブロック境界画素d,aとそれぞれのブロック内隣接画素c,b(図2参照)を特定して,次のステップに進む。
(s52) 次式
x=d(i,j) −a(i,j+1)
y1=c(i,j) −d(i,j)
y2=a(i,j+1) −b(i,j+1)
により、この特定画素の、ブロック境界レベル差xおよびブロック内レベル差y1,y2を算出して、次のステップに進む。なお、i,j,j+1は当該特定画素が属するブロックの番号(行列番号)である。
(s53) このx,y1が次の条件
|x|≦5.0
|y1|≦5.0
をともに満足するかどうかを判断して、「YES 」 の場合は次のステップに進み、「NO」 の場合はステップ(s58) に進む。 ここで「YES 」 となるのは、視覚上、レベル差が小さなブロック境界画素,ブロック内隣接画素の場合である。
(s54) このx,y1が次の条件
|x|≧|y1|+Th
を満たすかどうかを判断して、「YES 」 の場合は次のステップに進み、「NO」 の場合はステップ(s56) に進む。 なお、Th は目には判らないレベル差を示す閾値(例えば2.0 )である。ここで「YES 」 となるのは、視覚上、ブロック境界レベル差がブロック内レベル差よりも大きいブロック境界画素グループ(a,b,c,d)の場合である。
(s55) 視覚上、ブロック境界レベル差(ただし、5.0 以下)がブロック内レベル差(ただし、5.0 以下)よりも大きいブロック境界画素グループの個数を示すNum1を「1」だけインクリメントして、ステップ(s58) に進む。なお、Num1の初期値は「0」である。
(s56) このx,y1が次の条件
|y1|≧|x|+Th
を満たすかどうかを判断して、「YES 」 の場合は次のステップに進み、「NO」 の場合はステップ(s63) に進む。 ここで「YES 」 となるのは、視覚上、ブロック内レベル差がブロック境界レベル差よりも大きいブロック境界画素グループ(a,b,c,d)場合である。
(s57) 視覚上、ブロック内レベル差(ただし、5.0 以下)がブロック境界レベル差(ただし、5.0 以下)よりも大きいブロック境界画素グループの個数を示すNum2を「1」だけインクリメントして、次のステップに進む。なお、Num2の初期値は「0」である。
(s58) 上記x,y2が次の条件
|x|≦5.0
|y2|≦5.0
をともに満足するかどうかを判断して、「YES 」 の場合は次のステップに進み、「NO」 の場合はステップ(s63) に進む。 ここで「YES 」 となるのは、視覚上、レベル差が小さなブロック境界画素,ブロック内隣接画素の場合である。
(s59) このx,y2が次の条件
|x|≧|y2|+Th
を満たすかどうかを判断して、「YES 」 の場合は次のステップに進み、「NO」 の場合はステップ(s61) に進む。 Th はステップ(s54) で用いた閾値である。ここで「YES 」 となるのは、視覚上、ブロック境界レベル差がブロック内レベル差よりも大きいブロック境界画素グループ(a,b,c,d)の場合である。
(s60) 上記Num1を「1」だけインクリメントする。
(s61) このx,y2が次の条件
|y2|≧|x|+Th
を満たすかどうかを判断して、「YES 」 の場合は次のステップに進み、「NO」 の場合はステップ(s63) に進む。 ここで「YES 」 となるのは、視覚上、ブロック内レベル差がブロック境界レベル差よりも大きいブロック境界画素グループ(a,b,c,d)の場合である。
(s62) 上記Num2を「1」だけインクリメントする。
(s63) 画像中のすべてのブロック境界画素グループ(a,d,b,c)についての当該レベル差x,y1,y2を算出したかどうかを判断して、「 YES 」 の場合は次のステップに進み、「NO」 の場合はステップ(s51) に戻る。
(s64) 次式
BP2=100*Num1/(Num1+Num2)
により、広域特性値BP2(その2)を算出する。
【0102】
この広域特性値BP2(その2)が例えば「BP2≦68.0」を満たす場合は、ブロックノイズが存在しないとして、図12に示すように、フィルタリングを実行せずに対象画像のブロックノイズ除去の処理を終了する。
【0103】
図17は、図18の広域特性値の算出処理におけるブロック(8×8画素)を示す説明図であり、6×6のブロック内画素p11〜p66を示している。また、p11〜p66それぞれの画素値をM11〜M66とする。
【0104】
図18は、図12の広域特性値BP2(その3)の算出処理手順を示す説明図であり、その内容は次のようになっている。ここでは、ブロック内画素レベルのみに基づく広域特性値を求めている。説明の便宜上、図17のブロック内画素,画素値などを用いる。
(s71) 未処理の、一つのブロックを特定して、次のステップに進む。
(s72) 次式
σ=〔(6*ΣM2 −(ΣM)2 )/(6*(6−1))〕1/2
により、例えば水平方向の6画素のグループごと(p11〜p16,p21〜p26,p31〜p36,p41〜p46,p51〜p56,p61〜p66ごと)の標準偏差σ1 〜σ6 を算出して、次のステップに進む。
(s73) このσ1 〜σ6 がすべて閾値(例えば1.6 )以下であるかどうかを判断して、「 YES 」 の場合は次のステップに進み、「NO」 の場合はステップ(s75) に進む。
(s74) ブロックノイズに見えるブロックの個数を示すNum3を「1」だけインクリメントして、ステップ(s76) に進む。Num3の初期値は「0」である。
(s75) ブロックノイズには見えないブロックの個数を示すNum4を「1」だけインクリメントして、次のステップに進む。Num4の初期値は「0」である。
(s76) 対象画像中のすべてのブロックについて上記標準偏差σ1 〜σ6 を算出したかどうかを判断して、「 YES 」 の場合は次のステップに進み、「NO」 の場合はステップ(s71) に戻る。
(s77) 次式
BP2=100*Num3/(Num3+Num4)
により、広域特性値BP2(その3)を算出する。
【0105】
この広域特性値BP2(その3)が例えば「BP2≦50」を満たす場合は、ブロックノイズが存在しないとして、図12に示すように、フィルタリングを実行せずに対象画像のブロックノイズ除去の処理を終了する。
【0106】
図18の方法により求まるBP2が広域特性値として有意なのは、ブロックノイズが多い画像には高周波成分が存在しないため、水平,垂直方向に単一の基底ベクトルのみ存在する場合が多いことに基づいている。
【0107】
この水平,垂直方向の基底ベクトルはそれぞれ当該方向に対しては同じ値の羅列になっている。ノイズの多い実際の画像を見てみると、1ブロック中の水平,垂直方向の画素群に同じ値(色)が連続するブロックが多数存在している。
【0108】
図18の方法は、水平,垂直方向の画素群に同じ値が連続しているブロックが画像中にどの程度の割合で存在するかを算出しており、ブロック境界画素のレベルを用いなくても実行可能である。
【0109】
以上の各図の説明では、水平方向の連続画素(一行)を用いた場合の広域特性値,二次微分値,連続エッジ強度などの算出処理や、フィルタリング処理などを記してきたが、これと同様の処理が水平方向および垂直方向の任意の連続・不連続の複数画素に対しても実行されることは勿論である。
【0110】
また、広域特性値の算出処理は必ずしも全ブロックについて実行する必要はない。例えば処理時間を削減するために、4ブロックに1つというように処理ブロック数を減らしてもよい。人間が注目する画像中央部分のブロックのみを用いてもよい。画素のレベル値の変動の激しい場所ではブロックノイズの存在がレベル変動に埋もれてしまうため、レベル変動の少なめの領域(例えばσyが予め定められた閾値以下のブロック)のみを対象としても良い。
【0111】
また、標準偏差を求める処理の場合、これに代えて分散値を算出するようにしてもよい。
【0112】
また、エッジ検出処理の場合、もっぱら連続エッジ強度(図15参照)に基づいてブロック境界画素のエッジ可能性を判定するようにしてもよい。
【0113】
また、フィルタリング処理では単なる平滑化フィルタを用いているが、他の平滑化効果のある各種フィルタリング方法(たとえばメディアンフィルタ)を用いてもよい。フィルタ適用画素近傍の分散値を算出して、この算出結果から高周波成分が残っているかどうかを調べ、これが残っていない場合はフィルタ適用画素部分はブロックノイズであるとしてフィルタリングを行ってもよい。
【0114】
また、図1乃至図10のブロックノイズ除去処理で用いた各種手法、例えば図4のステップ(s12) の画素選択,図9のノイズ可能性の検出,図10の「エッジ可能性」の検出に続く「ノイズ可能性」の検出などを、図11乃至図18のブロックノイズ除去処理に用いてもよい。
【0115】
これとは逆に、図11乃至図18のブロックノイズ除去処理で用いた各種手法、例えば図15の連続エッジ強度によるエッジ可能性の検出,図12の「二次微分値」と「連続エッジ強度」とのダブルスタンダードによるエッジ可能性の検出,図16のステップ(s53) ,(s54) ,(s56) ,(s58) (s59) ,(s61) の画素選択などを、図1乃至図10のブロックノイズ除去処理に用いてもよい。
【0116】
(付記1)複数の画素からなるブロック単位で復号した画像のブロックノイズを低減する画像処理装置において、前記画像全体の広域特性値を、前記各ブロックの複数画素のレベルに基づいて求める広域特性算出手段と、前記ブロックの境界部分の近傍特性値を、当該境界部分の複数画素のレベルに基づいて求める近傍特性算出手段と、前記境界部分の画素のレベルを、前記広域特性値および前記近傍特性値に基づいて変更するフィルタリング手段とを備えた、ことを特徴とする画像処理装置。
(付記2)前記広域特性算出手段は、前記広域特性値を、ブロック境界画素間のレベル差、および当該境界画素と同じブロックのブロック内画素間のレベル差に基づいて求める、ことを特徴とする付記1記載の画像処理装置。
(付記3)前記ブロック内画素として、前記ブロック境界画素の隣接画素を用いる、ことを特徴とする付記2記載の画像処理装置。
(付記4)前記広域特性算出手段は、前記ブロック境界画素間のレベル差および前記ブロック内画素間のレベル差それぞれの母集団の標準偏差値に基づいて、前記広域特性値を求める、ことを特徴とする付記2または付記3記載の画像処理装置。
(付記5)前記広域特性算出手段は、前記ブロック境界画素間のレベル差が前記ブロック内画素間のレベル差よりも大きい場合の画素対応数と、前記ブロック境界画素間のレベル差が前記ブロック内画素間のレベル差よりも小さい場合の画素対応数との大小関係に基づいて、前記広域特性値を求める、ことを特徴とする付記2または付記3記載の画像処理装置。
(付記6)前記広域特性算出手段は、前記ブロック境界画素間のレベル差と前記ブロック内画素間のレベル差との差分が、人の目では判らない程度のレベル範囲を超えている場合のみ、これらのレベル差に基づく広域特性値算出処理を実行する、ことを特徴とする付記2乃至付記5記載の画像処理装置。
(付記7)前記広域特性算出手段は、前記広域特性値を求めるときの使用画素を、画素間のレベル差に基づいて選択する、ことを特徴とする付記1乃至付記6記載の画像処理装置。
(付記8)前記広域特性算出手段は、前記使用画素の選択に際し、第1ブロックのブロック内画素と、当該ブロックに隣接する第2ブロックのブロック内画素とが同一レベルとみなせる場合には、これらのブロック内画素の組を除外する、ことを特徴とする付記7記載の画像処理装置。
(付記9)前記広域特性算出手段は、前記使用画素の選択に際し、少なくとも前記ブロック境界画素間のレベル差および前記ブロック内画素間のレベル差がともに所定値以上の場合には、これらのレベル差の発生元であるブロック境界画素およびブロック内画素の組を除外する、ことを特徴とする付記7記載の画像処理装置。
(付記10)前記近傍特性算出手段は、前記近傍画素の二次微分値と、前記境界部分の画素の連続エッジ強度との少なくとも一方に基づいて、当該画素のエッジ可能性に対応の前記近傍特性値を求める、ことを特徴とする付記1乃至付記9記載の画像処理装置。
(付記11)前記フィルタリング手段は、前記ブロック境界画素の画素値の変更前後の差分と前記広域特性値との大小関係に基づいて、当該画素値を、変更前の画素値と前記広域特性値とに基づく新画素値に再変更する、ことを特徴とする付記1乃至付記10記載の画像処理装置。
(付記12)画像処理装置により、複数の画素からなるブロック単位で復号した画像のブロックノイズを低減する画像処理方法において、当該画像処理装置が、前記画像全体の広域特性値を、前記各ブロックの複数画素のレベルに基づいて求め、前記ブロックの境界部分の近傍特性値を、当該境界部分の複数画素のレベルに基づいて求め、前記境界部分の画素のレベルを、前記広域特性値および前記近傍特性値に基づいて変更する、ことを特徴とする画像処理方法。
(付記13)複数の画素からなるブロック単位で復号した画像のブロックノイズを低減するためのプログラムにおいて、当該プログラムが、前記画像全体の広域特性値を、前記各ブロックの複数画素のレベルに基づいて求め、前記ブロックの境界部分の近傍特性値を、当該境界部分の複数画素のレベルに基づいて求め、前記境界部分の画素のレベルを、前記広域特性値および前記近傍特性値に基づいて変更する機能を、コンピュータに実現させるためのものである、ことを特徴とする画像処理用プログラム。
【0117】
【発明の効果】
本発明は、このように、画像全体の広域特性値とブロック境界部分の近傍特性値とに基づいて、ブロック境界画素に対するフィルタリングを実行するので、エッジに対する過平滑を確実に防止することができる。
【0118】
この広域特性値から対象画像に歪みが存在しないと分かればフィルタリング処理を完全にスルーすることにより、処理全体の高速化を図ることができる。
【0119】
また、画像全体の広域特性値を、ブロック境界レベル差とブロック内レベル差とに基づいて求めるので、当該広域特性の精度を高めることができる。
【0120】
また、画素のレベル差に基づいて広域特性値算出のための使用画素を選択するので、当該算出処理の高速化を図ることができる。
【0121】
また、ブロック境界部分の画素に隣接したブロック内画素の二次微分値と、ブロック境界部分の当該画素の連続エッジ強度とに基づいてエッジ可能性(近傍特性)を判定するので、エッジとブロックノイズとの弁別精度をより高めることができる。
【0122】
また、ブロック境界部分の近傍特性値として先ず当該境界部分の画素のエッジ可能性を算出し、「当該画素はエッジでない」と判定した場合には当該画素のノイズ可能性をさらに求めることにより、エッジ,ノイズのいずれでもないブロック境界部分(レベル平坦部)への無駄なフィルタリング処理を実行することを阻止しているので、再生画像の劣化を防ぐとともにブロックノイズ低減の要処理時間の短縮化を図ることができる。
【0123】
また、ブロック境界画素の画素値の変更前後の差分が前記広域特性以上の場合には、当該画素値を、変更前の画素値と広域特性とに基づく新画素値に再変更するので、ブロックノイズと判定されたブロック境界画素の過剰フィルタリングを防止することができる。
【図面の簡単な説明】
【図1】本発明の、プリンタが、受信したカラーイメージ画像をそのブロックノイズを除去してから出力するときの全体構成を示す説明図である。
【図2】本発明の、画像中の(8×8)画素のブロック群とブロック境界画素との関係を示す説明図である。
【図3】本発明の、図1におけるブロックノイズ除去処理手順の概要(その1)を示す説明図である。
【図4】本発明の、図3の広域特性値BP1の算出処理手順を示す説明図である。
【図5】本発明の、図3の過程204〜206などのエッジ可能性検出およびフィルタリングの概要(ブロック境界に存在する線の例)を示す説明図である。
【図6】本発明の、図3の過程204〜206などのエッジ可能性検出およびフィルタリングの概要(起伏がなくて高周波成分が欠落したブロック境界の例)を示す説明図である。
【図7】本発明の、図3の過程204〜206などのエッジ可能性検出およびフィルタリングの概要(ブロック境界に存在するエッジの例)を示す説明図である。
【図8】本発明の、図3のフィルタリング処理手順を示す説明図である。
【図9】本発明の、図1におけるブロックノイズ除去処理手順の概要(その2)を示す説明図である。
【図10】本発明の、図1におけるブロックノイズ除去処理手順の概要(その3)を示す説明図である。
【図11】本発明の、PCが、カラーイメージ画像をそのブロックノイズを除去してから表示するときの全体構成を示す説明図である。
【図12】本発明の、図11におけるブロックノイズ除去処理手順の概要を示す説明図である。
【図13】本発明の、図12の広域特性値BP2(その1)の算出処理手順を示す説明図である。
【図14】本発明の、図15のエッジ連続性検出処理における画素配列例を示す説明図である。
【図15】本発明の、図12の行程606,607の処理手順を示す説明図である。
【図16】本発明の、図12の広域特性値BP2(その2)の算出処理手順を示す説明図である。
【図17】本発明の、図18の広域特性値の算出処理における画素配列例を示す説明図である。
【図18】本発明の、図12の広域特性値BP2(その3)の算出処理手順を示す説明図である。
【図19】本発明の、複数画像のそれぞれについての、ブロック内レベル差よりもブロック境界レベル差の方が大きなブロック境界画素グループの個数の割合を示すレベル差比率と、それの画像頻度(その1)を示す説明図である。
【図20】本発明の、複数画像のそれぞれについての、ブロック内レベル差よりもブロック境界レベル差の方が大きなブロック境界画素グループの個数の割合を示すレベル差比率と、それの画像頻度(その2)を示す説明図である。
【符号の説明】
100:カラーイメージ画像
101:ヘッダーデータ
102:画像データ
110:PC(コンピュータ)
111:画像データ転送機能部
120:プリンタ
121:ノイズ除去機能部
122:広域特性算出機能部
123:近傍特性算出機能部
124:フィルタリング機能部
500:カラーイメージ画像
501:ヘッダーデータ
502:画像データ
510:PC(コンピュータ)
511:ノイズ除去機能部
512:広域特性算出機能部
513:近傍特性算出機能部
514:フィルタリング機能部
Claims (8)
- 複数の画素からなるブロック単位で復号した画像のブロックノイズを低減する画像処理装置において、
前記画像全体のノイズの広域特性値を、前記各ブロックの複数画素のブロック境界画素間のレベル差と複数画素の同一ブロック画素間のレベル差の平均値を求める広域特性算出手段と、
前記ブロックの境界部分のノイズの近傍特性値を、当該境界部分の画素間のレベル差と当該境界部分の同一ブロック画素間のレベル差を求め、当該境界部分の画素間のレベル差をその周囲の画素間のレベル差と比較する近傍特性算出手段と、
前記境界部分の画素のレベルを、前記ブロック境界がその画素値のフィルタリング前の画素値とフィルタリング後の画素値との差分が前記広域特性値を超える場合には、フィルタリング前の画素値に前記広域特性値を加算又は減算した新画素値に変更するフィルタリング手段とを有する、
ことを特徴とする画像処理装置。 - 前記近傍特性算出手段は、前記ブロックの境界部分の近傍画素の二次微分値と、前記境界部分の画素の連続エッジ強度との少なくとも一方に基づいて、当該画素のエッジ可能性に対応の前記近傍特性値を求める、
ことを特徴とする請求項1記載の画像処理装置。 - 前記広域特性算出手段は、
前記広域特性値を、ブロック境界画素間のレベル差、および当該境界画素と同じブロックの当該境界画素に隣接するブロック内画素間のレベル差に基づいて求める、
ことを特徴とする請求項1又は2記載の画像処理装置。 - 前記広域特性算出手段は、
前記広域特性値を求めるときの使用画素を、画素間のレベル差が所定値以下のものに基づいて選択する、
ことを特徴とする請求項1〜3のいずれかに記載の画像処理装置。 - 前記広域特性算出手段は、前記使用画素の選択に際し、第1ブロックのブロック内画素と、当該ブロックに隣接する第2ブロックのブロック内画素とが同一レベルとみなせる場合には、これらのブロック内画素の組を除外する、
ことを特徴とする請求項4記載の画像処理装置。 - 前記広域特性算出手段は、前記使用画素の選択に際し、少なくとも前記ブロック境界画素間のレベル差および前記ブロック内画素間のレベル差がともに所定値以上の場合には、これらのレベル差の発生元であるブロック境界画素およびブロック内画素の組を除外する、
ことを特徴とする請求項4記載の画像処理装置。 - 画像処理装置により、複数の画素からなるブロック単位で復号した画像のブロックノイズを低減する画像処理方法において、
当該画像処理装置が、
前記画像全体のノイズの広域特性値を、前記各ブロックの複数画素のブロック境界画素間のレベル差と複数画素の同一ブロック画素間のレベル差の平均値を求め、
前記ブロックの境界部分のノイズの近傍特性値を、当該境界部分の画素間のレベル差と当該境界部分の同一ブロック画素間のレベル差を求め、当該境界部分の画素間のレベル差をその周囲の画素間のレベル差と比較して求め、
前記境界部分の画素のレベルを、前記ブロック境界がその画素値のフィルタリング前の画素値とフィルタリング後の画素値との差分が前記広域特性値を超える場合には、フィルタリング前の画素値に前記広域特性値を加算又は減算した新画素値に変更する、
ことを特徴とする画像処理方法。 - 複数の画素からなるブロック単位で復号した画像のブロックノイズを低減するためのプログラムにおいて、
当該プログラムが、
前記画像全体のノイズの広域特性値を、前記各ブロックの複数画素のブロック境界画素間のレベル差と複数画素の同一ブロック画素間のレベル差の平均値を求め、
前記ブロックの境界部分のノイズの近傍特性値を、当該境界部分の画素間のレベル差と当該境界部分の同一ブロック画素間のレベル差を求め、当該境界部分の画素間のレベル差をその周囲の画素間のレベル差と比較して求め、
前記境界部分の画素のレベルを、前記ブロック境界がその画素値のフィルタリング前の画素値とフィルタリング後の画素値との差分が前記広域特性値を超える場合には、フィルタリング前の画素値に前記広域特性値を加算又は減算した新画素値に変更する、
機能をコンピュータに実現させるための画像処理用プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001155810A JP4294887B2 (ja) | 2001-05-24 | 2001-05-24 | 画像処理装置,画像処理方法および画像処理用プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001155810A JP4294887B2 (ja) | 2001-05-24 | 2001-05-24 | 画像処理装置,画像処理方法および画像処理用プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002354256A JP2002354256A (ja) | 2002-12-06 |
JP4294887B2 true JP4294887B2 (ja) | 2009-07-15 |
Family
ID=18999927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001155810A Expired - Fee Related JP4294887B2 (ja) | 2001-05-24 | 2001-05-24 | 画像処理装置,画像処理方法および画像処理用プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4294887B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4748702B2 (ja) * | 2003-06-10 | 2011-08-17 | 三星電子株式会社 | 輝度ノイズフィルタリング方法及び輝度ノイズフィルタリングシステム |
KR100510532B1 (ko) * | 2003-06-10 | 2005-08-26 | 삼성전자주식회사 | 베이어 패턴 컬러 신호에 대한 적응형 노이즈 제거 필터,이를 구비한 디지털 영상 신호 처리 장치, 및 그 방법 |
EP1641270A4 (en) * | 2003-07-02 | 2010-06-23 | Sony Corp | DEVICE AND METHOD FOR DETECTING BLOCK DEFORMATION AND DEVICE FOR PROCESSING VIDEO SIGNALS |
JP4116597B2 (ja) * | 2004-07-13 | 2008-07-09 | グローリー株式会社 | バーコード認識装置、バーコード認識方法およびバーコード認識プログラム。 |
EP2883205B1 (en) * | 2012-08-09 | 2019-05-08 | InterDigital CE Patent Holdings | Method and apparatus to detect artificial edges in images |
CN114339224B (zh) * | 2020-06-05 | 2022-12-23 | 杭州海康威视数字技术股份有限公司 | 图像增强方法、装置及机器可读存储介质 |
-
2001
- 2001-05-24 JP JP2001155810A patent/JP4294887B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002354256A (ja) | 2002-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11743471B2 (en) | Method and system to improve the performance of a video encoder | |
JP3001094B2 (ja) | リンギングノイズの減少のための信号適応フィルタリング方法及び信号適応フィルター | |
JP2960386B2 (ja) | 信号適応フィルタリング方法及び信号適応フィルター | |
JP4415188B2 (ja) | 画像撮影装置 | |
US7542623B2 (en) | Image processing apparatus and method, and computer program and computer-readable storage medium | |
US8320700B2 (en) | Apparatus and method of estimating scale ratio and noise strength of encoded image | |
US6823089B1 (en) | Method of determining the extent of blocking and contouring artifacts in a digital image | |
US6643410B1 (en) | Method of determining the extent of blocking artifacts in a digital image | |
WO2010102913A1 (en) | Blur measurement in a block-based compressed image | |
JP3152765B2 (ja) | 画像符号化装置 | |
JP4294887B2 (ja) | 画像処理装置,画像処理方法および画像処理用プログラム | |
RU2221274C2 (ru) | Способ интерполяции двухградационного изображения | |
CN109801257A (zh) | 无参考dibr生成图像质量评价方法 | |
EP1457927A2 (en) | Device and method for detecting blurring of image | |
JP2003203237A (ja) | 画像マッチング方法と装置、および画像符号化方法と装置 | |
Luo et al. | A new method for block effect removal in low bit-rate image compression | |
US8411982B2 (en) | Universal blurriness measurement approach for digital imagery | |
JP2004312693A (ja) | 画像符号化装置及び画像符号化方法 | |
KR100674110B1 (ko) | 블럭키와 블러리니스를 이용하여 비디오 품질을 측정하는방법 및 장치 | |
JPH0993585A (ja) | 動きベクトル検出装置及び動きベクトル検出方法 | |
Suthaharan et al. | A new post-filtering technique for block-based transform coded images | |
Yalman et al. | Contemporary approaches on no-reference image quality assessment methods: a comparative study | |
JP2003274399A (ja) | 画像符号化方法と装置、画像復号方法と装置 | |
JP3505196B2 (ja) | 予測符号化回路 | |
JP2021044706A (ja) | 画像符号化装置及びその制御方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060324 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071101 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080205 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080407 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20080407 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080407 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080909 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081106 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090407 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090409 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120417 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120417 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130417 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140417 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |