JP4239231B2 - ブロック歪低減装置及び方法 - Google Patents
ブロック歪低減装置及び方法 Download PDFInfo
- Publication number
- JP4239231B2 JP4239231B2 JP01444498A JP1444498A JP4239231B2 JP 4239231 B2 JP4239231 B2 JP 4239231B2 JP 01444498 A JP01444498 A JP 01444498A JP 1444498 A JP1444498 A JP 1444498A JP 4239231 B2 JP4239231 B2 JP 4239231B2
- Authority
- JP
- Japan
- Prior art keywords
- block distortion
- correction
- block
- boundary
- determination
- 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
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
【発明の属する技術分野】
本発明は、静止画データや動画データ等の入力データをブロック化してDCT符号化等を施すようなブロック符号化におけるブロック歪を低減するためのブロック歪低減装置及び方法に関するものである。
【0002】
【従来の技術】
従来、静止画データや動画データ等を効率よく圧縮符号化するための符号化方式として、ブロックDCT(離散コサイン変換)符号化等のブロック符号化が知られている。
【0003】
このようなブロック符号化による画像データ等の圧縮/伸張の際には、ブロック歪(ブロック雑音)が発生することがあり、圧縮率が高くなるほど歪を発生させ易い。このブロック歪は、DCT符号化等がブロック内の閉じた空間で変換を行っており、ブロック境界を越えた相関を考慮していないため、ブロック境界での連続性が保存できず、隣接ブロックとの境界部での再生データ値のずれが雑音として知覚されるものである。画像データをブロック符号化した場合に発生するブロック歪は、一種の規則性を有するため一般のランダム雑音に比べて知覚され易く、画質劣化の大きな要因となっている。
【0004】
このブロック歪を低減するために、例えば、「井田、駄竹,“MC−DCT符号化方式におけるノイズ除去フィルタ”,1990年電子情報学会春季全国大会講演論文集,7-35」の文献においては、画像本来の情報であるエッジを保存し、それらのノイズを除去するため、フィルタのon,offの決定に量子化ステップサイズを用いたり、処理していく方向を変えて複数回処理を行う技術が開示されている。また、「井澤,“画像のブロック符号化における適応形雑音除去フィルタの特性”,信州大学工学部紀要 第74号、pp.89-100 」の文献においては、周辺ブロックまで抜き出してDCT変換を行いノイズ周波数成分を除去する技術が開示されている。
【0005】
【発明が解決しようとする課題】
ところで、前者のノイズ除去フィルタをon,offする方法では、処理が簡単な反面、画像の高周波成分が欠落して、解像度が劣化するという欠点がある。
【0006】
また、後者の適応形雑音除去フィルタを用いる方法では、解像度が保存されながら効果的なブロック歪の低減が行えるものの、処理が複雑でコストが嵩み、特に民生用機器等に適用するには不適当である。
【0007】
また、ブロック歪判定の際の誤判定により、完全にブロック歪が除去できなかったり、エッジを誤補正して擬似エッジを発生させたりする、という問題点がある。
【0008】
ここで、補正後に新たなエッジが生ずるときとしては、図26に示すような一例がある。なお、この図26は、例えばブロック境界を介して一列に画素が配列されているときにおいて、当該ブロック境界を含む補正範囲における各画素の輝度値の大きさを縦方向に示した図である。また、この図26においては、補正前の各画素の輝度値を白丸で示し、補正後の各画素の輝度値を黒丸で示している。
【0009】
この図26によれば、diff3とdiff4との輝度値の大きさが非常に近く、画素d〜e間における輝度値が増加しているのに対して画素f〜g間における輝度値が減少しているために、以下の式で表される補正後のブロック境界における補正後の段差stepが非常に小さな値となってしまう。
補正後の段差 step =(diff3+diff4)/2
また、図26の場合においては、補正前におけるブロック境界差分|tmp0|が大きいために、以下の式で示す補正値σ0の値が大きなものとなっている。
|tmp0|≧corr_th のとき、σ0=(|tmp0|−|step|)/4
|tmp0|<corr_th のとき、σ0=(|tmp0|−|step|)/2
ここに、corr_thは、ブロック歪を補正するときの補正量の強弱を決定するための閾値である。
【0010】
このような場合には、補正後の段差stepの値が補正値σ0と比較して極端に小さくなる。このため、補正を行った結果、ブロック境界の近傍画素とそれに接近する画素の間で新たにエッジを生じてしまう。すなわち、補正後においては、画素d〜e間の輝度値が大きくなってしまいエッジとなってしまう。このようなエッジは、ブロック歪として知覚される。
【0011】
このように、上述したブロック歪の除去フィルタでは、除去フィルタを通過させた画像データにブロック歪補正処理を施した後にさらに新たな疑似エッジが生じた場合、再度ブロック歪を補正することが考慮されていない。また、補正後に生ずる新たな疑似エッジを補正前に予測する等の処理もなされてない。
【0012】
また、従来のブロック歪の判定の際には、ブロック境界において所定の条件下でブロック歪の有無を判別しており、ブロック歪とは判別されないが、ブロック境界の近傍の画素においてエッジが生じていることもある。このように、ブロック境界の近傍でエッジが生じていると、ブロック歪として知覚されることがあり、本来的には、画像データの絵柄に対して適応的にブロック歪の判定条件を変化させることが望ましい。
【0013】
本発明は、このような実情に鑑みてなされたものであり、ブロック歪の補正の対象となる絵柄に対して適応的にブロック歪の判定条件を追加・変更することで、ブロック歪判定の際の誤判定を防止し得るようなブロック歪低減装置及び方法を提供することを目的とする。
【0014】
【課題を解決するための手段】
本発明は、上述した課題を解決するために、ブロック毎に符号化が行われる入力画像データの符号化難易度を評価する符号化難易度評価手段と、ブロック歪の判定に必要なパラメータとして、ブロック境界差分、アクティビティ、隣接差分をそれぞれ演算するパラメータ演算手段と、上記パラメータ演算手段からの上記各パラメータ及び上記符号化難易度評価手段からの符号化難易度を用いて、ブロック境界を含む所定の範囲内における画素値のパターンを、画像データの動きの大きさを用いたパターンマッチングにより認識することでブロック歪を判定する判定手段と、上記ブロック境界差分及び上記隣接差分を用いて求められた補正値に基づいて、上記判定手段からの判定結果及び上記符号化難易度評価手段からの符号化難易度を用いて、上記所定の範囲内における画素値を変更することでブロック歪を補正するブロック歪補正手段とを備え、上記判定手段は、ブロック境界における段差が周辺の画素と比べて突出した段差であり、直流成分及び低周波成分の量子化誤差による段差であり、かつ、境界の両隣に境界の段差より大きな段差がない場合には、ブロック歪と判定し、ブロック歪みの補正後の段差が補正量に比べて一定の比よりも小さく、補正量がブロック境界の両脇の段差よりも大きく、かつ、ブロック境界の段差が補正量決定のためのしきい値よりも小さい場合には、上記ブロック歪の補正値を修正し、上記ブロック歪補正手段は、上記修正された補正値に基づいてブロック歪を補正することを特徴とする。
【0015】
このような本発明によれば、判定手段により、ブロック境界における段差が周辺の画素と比べて突出した段差であり、直流成分及び低周波成分の量子化誤差による段差であり、かつ、境界の両隣に境界の段差より大きな段差がない場合には、ブロック歪と判定し、ブロック歪みの補正後の段差が補正量に比べて一定の比よりも小さく、補正量がブロック境界の両脇の段差よりも大きく、かつ、ブロック境界の段差が補正量決定のためのしきい値よりも小さい場合には、上記ブロック歪の補正値を修正し、上記修正された補正値に基づいてブロック歪補正手段によりブロック歪を補正する。
【0016】
【発明の実施の形態】
以下、本発明に係る実施の形態について図面を参照しながら説明する。
【0017】
図1には、第1の実施の形態に係るブロック歪低減装置1の概略構成を示している。この図1に示すブロック歪低減装置1は、MPEGデータストリームを復号処理するMPEGデコーダを内蔵している一例である。すなわち、このブロック歪低減装置1は、MPEGデコーダでデコード処理が施された画像データに生ずるブロック歪を低減するようになされている。
【0018】
このブロック歪低減装置1は、入力された画像データにデコード処理を施すMPEGデコーダ2と、デコード処理が施された画像データの符号化難易度を評価する符号化難易度評価回路3と、ブロック歪の判定に必要なパラメータを演算するパラメータ演算回路4と、画像データの垂直方向の相関を検出する垂直相関検出回路5と、画像データのブロック歪の状態を判定するブロック歪判定回路6と、画像データに生じたブロック歪を補正するブロック歪補正回路7とを備える。
【0019】
MPEGデコーダ2には、MPEG方式の画像データが入力される。このMPEGデコーダ2は、入力された画像データに逆量子化、逆DCT(離散コサイン変換)を施すことで、デコード処理を施す。このとき、MPEGデコーダ2は、複数のマクロブロックからなるDCTブロック単位でデコードを施す。このMPEGデコーダ2は、デコード処理を施した結果得たIDCT(逆DCT)係数と、動きベクトル差分MVを検出して符号化難易度評価回路3及びブロック歪補正回路7に出力する。
【0020】
符号化難易度評価回路3は、MPEGデコーダ2からの動きベクトル差分MVとIDCT係数とを用いて、画像データの符号化難易度を示すパラメータKpを生成する。ここで、動きベクトル差分MVはMPEGデコーダ2に入力される画像データに含まれている動きベクトルの差分値であり、IDCT係数はMPEGデコーダ2に入力される画像データに含まれている量子化されたDCT係数を逆量子化した後に逆DCTした結果得られる係数である。
【0021】
動きベクトル差分MV及びIDCT係数は、画像データが示す画像の複雑度に応じて図2及び図3に示すような関係を有する。この図2及び図3は、それぞれ(a)として一般的に符号化難易度の高い第1のサンプル(yashi)についての動きベクトル差分MV及びIDCT係数を示し、それぞれ(b)として一般的に符号化難易度の低い第2のサンプル(flower)についての動きベクトル差分MV及びIDCT係数を示した図である。
【0022】
この図2及び図3によれば、動きが激しくて複雑なマクロブロックや、高周波成分を含むマクロブロックでは、図2(a)及び図3(a)に示すように、MPEGデコーダ2で得られる動きベクトル差分MV及びIDCT係数が高い値を示しており、動きが単調で緩やかなマクロブロックや、高周波成分の少ない平坦なマクロブロックでは、図2(b)及び図3(b)に示すように、MPEGデコーダ2で得られる動きベクトル差分MV及びIDCT係数が低い値を示していることが確認される。
【0023】
このことから、符号化難易度評価回路3では、MPEGデコーダ2で得られる動きベクトル差分MV及びIDCT係数が大きいときには、符号化を行うときの難易度が高いと判断して、符号化難易度を示すパラメータKpを高い値に設定する。なお、上述の図2及び図3については、B-picture,P-pictureのみについての動きベクトル差分MV及びIDCT係数を用いて説明したが、I-pictureについては、IDCT係数のみを用いて符号化難易度を示すパラメータKpを設定する。
【0024】
この符号化難易度評価回路3では、1フレーム内の画像データについて符号化難易度Kpを設定するときには、先ず図4に示すように各マクロブロックが配列しているとき、各マクロブロック毎についての動きベクトル差分MVとIDCT係数を計算する。例えば、マクロブロックMB0についての下式に示すように算出する。
【0025】
MV(MB0)=(MV(MB1)+MV(MB2)+MV(MB3)+MV(MB4)+MV(MB5)+MV(MB6)+MV(MB7)+MV(MB8))/9
IDCT(MB0)=(IDCT(MB1)+IDCT(MB2)+IDCT(MB3)+IDCT(MB4)+IDCT(MB5)+IDCT(MB6)+IDCT(MB7)+IDCT(MB8))/9
すなわち、図4に示したマクロブロックMB0について動きベクトル差分MV及びIDCT係数を算出するときには、周囲に隣接する8個のマクロブロックMB1〜MB8も考慮して算出される。
【0026】
そして、符号化難易度評価回路3では、垂直方向のブロック境界の符号化難易度を示すパラメータKpを算出するとき、図5に示すように、各マクロブロックの間のブロック境界であるマクロブロック境界においては、双方のマクロブロックのIDCT係数と動きベクトル差分MVとを算出することで符号化難易度を示すパラメータKpを算出する。また、ブロック境界においては、当該マクロブロックのIDCT係数と動きベクトル差分MVとをそのまま符号化難易度を示すパラメータKpとして用いる。具体的には、パラメータKpは、符号化難易度が高いほど大きくなるように、0〜1の範囲内に多段階に設定される。
【0027】
垂直相関検出回路5は、ブロック境界に沿った方向のエッジの相関の強さを検出する。具体的には、後述するようにエッジ抽出部17’により抽出されるエッジ成分のブロック境界における垂直相関の強さを求める。このときの垂直相関の強さを求める方法の一例を図6を用いて説明する。
【0028】
この図6において、注目するブロック境界を含む領域bとその近傍の領域aおよびcに分割する。先に抽出したエッジ成分の数を各領域毎に算出する。これらをEa、Eb、Ecとする。図6において、エッジとして抽出された画素を1と記し、エッジではないと判別された画素を0と記している。本例では、Ea=5、Eb=12、Ec=5となる。
【0029】
また、この垂直相関検出回路5は、検出した垂直相関の強さを、ブロック歪判定回路6に出力する場合のみならず、相関検出の強さを符号化するときの難易度として、ブロック歪補正回路7にも出力しても良い。すなわち、垂直相関検出回路5で検出される垂直相関が大きいほど符号化を行う難易度が高いとみなして、垂直相関に応じたパラメータをブロック歪補正回路7に出力して、ブロック歪補正回路7で算出した補正値に当該パラメータを乗算処理する。
【0030】
ブロック境界を含む領域とそうでない領域におけるエッジ成分の数の比Kvを求め、クラス分けを行う。
【0031】
例えば、
とする。図16の例では、
なのでクラス2となる。
【0032】
次に、ブロック歪判定回路6の役割について説明する。各クラスに応じて重み係数Kcを割り当てる。この各クラス毎の重み係数Kcとしては、例えば
とすることが挙げられる。
【0035】
よって、ブロック境界部の垂直相関が強い場合には、補正量が大きくなり、ブロック歪の除去が効果的に行うことができる。つまり、ブロック歪の検出精度を高めることになる。
【0036】
ブロック歪判定回路6は、図1に示すように、MPEGデコーダ2からデコード処理が施された画像データが入力される。
【0037】
ここで、ブロック歪を判定するときに用いられる画素について、図7を参照しながら説明する。この図7の例では、例えば、ブロック符号化にDCT符号化が用いられ、8×8画素でDCTブロックを構成する場合の処理対象の具体例を示している。すなわち、図中の左右のDCTブロック51L,51Rのブロック境界から左側及び右側にそれぞれ5画素ずつがブロック歪低減処理に用いられ、ブロック境界から4画素ずつが補正範囲とされるとき、エッジ抽出ブロック52はブロック境界を中心とする8×8画素のブロックであり、ブロック歪補正処理ブロック53は、このエッジ抽出ブロック52内の1ライン上の8画素から成るブロックである。
【0038】
そして、このブロック歪判定回路6は、ブロック歪の判定に必要なパラメータを算出する。このブロック歪判定回路6は、パラメータとして、境界差分|tmp0|、アクティビティ|tmp|及び隣接差分|diff|を次の計算式により求める。
【0039】
|tmp0|=|f-e|
|tmp|=(|b-a|+|c-b|+|d-c|+|e-d| +|g-f|+|h-g|+|i-h|+|j-i|)/8
|diff2|=|d-c|
|diff3|=|e-d|
|diff4|=|g-f|
|diff5|=|h-g|
これらの計算式から明らかなように、境界差分|tmp0|は、図7のDCTブロックの境界を挟んで隣接する画素e,f間の差分の絶対値であり、アクティビティ|tmp| は、ブロック歪処理ブロック53についての各隣接画素間(ただしe,f間を除く)の差分の絶対値の平均値であり、隣接差分|diff|は、画素c,d間、d,e間、f,g間、g,h間の各差分の絶対値である。そして、ブロック歪判定回路6は、これらの各パラメータをブロック歪補正回路7に出力する。
【0040】
ブロック歪判定回路6は、符号化難易度評価回路3からのパラメータKp、パラメータ演算回路4からの各パラメータ、垂直相関検出回路5からの重み係数Kcを用いて、ブロック歪の有無を判定する。また、このブロック歪補正回路7は、ブロック歪補正を行うか否かの閾値det_thを有している。
【0041】
具体的には、このブロック歪判定回路6は、|tmp0|>|tmp|が満たされているときには、ブロック境界に段差があると判定する。また、このブロック歪判定回路6は、|tmp0|<det_thが満たされているときには、ブロック境界にエッジがないと判断する。|tmp0|≧|diff3|及び|tmp0|≧|diff4|が満たされていると判断したときには、ブロック境界の両側にエッジがないことを判断する。
【0042】
また、このブロック歪判定回路6は、上述の重み係数Kc及びKpを用いることで、ブロック歪を行うための閾値det_thを変更する。そして、このブロック歪判定回路6では、上述のように判定した結果に応じたフラグをたてて、ブロック歪補正回路7を制御する。
【0043】
ブロック歪補正回路7は、ブロック歪判定回路6からのフラグと符号化難易度評価回路3からのパラメータKp、垂直相関検出回路5からの重み係数Kcを用いてブロック歪を有する画像データに補正を行う補正値を算出する。また、このブロック歪補正回路7は、ブロック歪を補正するときに用いる閾値をcorr_thとすると、画像の性質、特に線形性に基づいて、隣接差分から補正後の境界段差|step|を、
|step|=|diff3+diff4|/2
の式から求める。そして、補正後にこれだけの境界段差|step|を持たせるために必要な補正量|σ|を、
|σ|=(|tmp0|−|step|)/2
により求める。ここで、上記境界差分|tmp0|を所定の閾値corr_th で弁別して補正の強さを切り換えることが好ましく、この場合、|tmp0|<corr_th となって補正の強さを強(補正強)とするとき、補正量|σ|を、
|σ|=(|tmp0|−|step|)/2
とし、|tmp0|≧corr_th となって補正弱のとき、上記補正量|σ|を半分に減らして、
|σ|=(|tmp0|−|step|)/4
の補正を行う。また、ブロック歪補正回路7は、この|σ|に上述の重み係数Kc,パラメータKpを乗算処理することで、IDCT係数、動きベクトル差分MV、垂直相関を考慮して、補正量|σ|を決定しても良い。さらに、ブロック歪補正回路7は、上述の閾値corr_thを上述のKc,Kpに基づいて変更させても良い。
【0044】
これは、上記境界差分|tmp0|が所定の閾値corr_th より大きい場合は、本当はブロック境界にエッジが存在するのに、ブロック歪判定で誤判定された可能性もあるので、誤補正を回避するために、上記補正の強さを強/弱に切り換えるものである。
【0045】
そして、ブロック歪補正回路7は、得られた補正値|σ|から、各画素毎の補正値を求める。隣の補正範囲とのつなぎ目を滑らかにする為、またブロック歪は境界付近程強く現れることから、次の式に示すように、境界からの距離に反比例した補正値を求める。
【0046】
具体的には、図6の補正範囲53内の各画素b〜iについての各補正値をそれぞれ|σb|〜|σi|とするとき、上記補正値|σ|を用いて、
|σe|=|σ| ,|σf|=|σ|
|σd|=|σ|/2 ,|σg|=|σ|/2
|σc|=|σ|/4 ,|σh|=|σ|/4
|σb|=|σ|/8 ,|σi|=|σ|/8
のような各補正値をそれぞれ求める。
【0047】
そして、ブロック歪補正回路7は、各画素b〜i毎の補正値|σb|〜|σi|、を用いて、ブロック歪補正された映像信号(画像データ)SBb〜SBiを求める。
【0048】
具体的には、ブロック歪補正回路7は、補正前の各画素b〜iの入力画像データをSb〜Siとするとき、上記tmp0の正負に応じて、補正された画像データSBb〜SBiを、
tmp0≧0:SBb=Sb+|σb| ,tmp0<0:SBb=Sb−|σb|
tmp0≧0:SBc=Sc+|σc| ,tmp0<0:SBc=Sc−|σc|
tmp0≧0:SBd=Sd+|σd| ,tmp0<0:SBd=Sd−|σd|
tmp0≧0:SBe=Se+|σe| ,tmp0<0:SBe=Se−|σe|
tmp0≧0:SBf=Sf−|σf| ,tmp0<0:SBf=Sf+|σf|
tmp0≧0:SBg=Sg−|σg| ,tmp0<0:SBg=Sg+|σg|
tmp0≧0:SBh=Sh−|σh| ,tmp0<0:SBh=Sh+|σh|
tmp0≧0:SBi=Si−|σi| ,tmp0<0:SBi=Si+|σi|
とするような補正をMPEGデコーダ2からの画像データに対して行う。
【0049】
したがって、このようなブロック歪低減装置1では、MPEGデコーダ2からIDCT係数、動きベクトル差分MVに基づく符号化難易度を示すパラメータKpを用いて、ブロック歪の判定及びブロック歪の補正を行うことができるので、安定したブロック歪の低減あるいは除去が図れ、さらに、ブロック歪判定の際の誤判定を防止することができる。
【0050】
図8は、第2の実施の形態となるブロック歪低減装置10の概略構成を示すブロック図である。なお、ブロック歪低減は、ブロック歪除去、ブロック雑音除去等とも称される。
【0051】
この図8において、入力端子11、12には、ブロック符号化を含む画像符号化が施された後に復号された映像信号あるいは画像データのクロマ信号、輝度信号がそれぞれ供給される。このブロック符号化を含む画像符号化の具体例としては、いわゆるMPEGの符号化規格が挙げられる。このMPEGとは、ISO/IEC JTC1/SC29(International Organization for Standardization / International Electrotechnical Commission, Joint Technical Committee 1 / Sub Committee 29:国際標準化機構/国際電気標準会議 合同技術委員会1/専門部会29)の動画像圧縮符号化の検討組織(Moving Picture Experts Group)の略称であり、MPEG1標準としてISO11172が、MPEG2標準としてISO13818がある。これらの国際標準において、マルチメディア多重化の項目でISO11172-1及びISO13818-1が、映像の項目でISO11172-2及びISO13818-2が、また音声の項目でISO11172-3及びISO13818-3がそれぞれ標準化されている。
【0052】
ここで、画像圧縮符号化規格としてのISO11172-2又はISO13818-2においては、画像信号を、ピクチャ(フレーム又はフィールド)単位で、画像の時間及び空間方向の相関を利用して、圧縮符号化を行っており、空間方向の相関の利用は、ブロックDCT符号化を用いることで実現している。
【0053】
このように、例えばブロックDCT符号化を含む圧縮符号化が施されて、シリアル伝送されたり記録再生された後に、デコーダ側で逆DCTされた映像信号データ(画像データ)のクロマ(色)成分及び輝度成分が、図8のクロマ信号入力端子11及び輝度信号入力端子12にそれぞれ供給される。
【0054】
クロマ信号入力端子11に供給された入力画像データのクロマ(色)成分は、遅延回路14を介してクロマ信号出力端子40より取り出される。遅延回路14は、輝度成分についてのブロック歪低減処理が施されるのに要する時間を遅延させて、出力される輝度成分とクロマ成分とのタイミングを合わせるためのものである。
【0055】
HD・VD入力端子13には、水平同期信号及び垂直同期信号が入力され、制御信号発生部26に送られて、各回路で必要なタイミング信号が作成される。
【0056】
端子12より入力された輝度信号は、補正信号算出部15と、パラメータ算出部16と、エッジ抽出部17と、切換選択スイッチ19と、動き検出部20とに送られる。
【0057】
補正信号算出部15において、上記入力された輝度信号が加算器31及び補正値算出部32に送られている。補正値算出部32では、境界の両隣の画素の隣接差分から補正後の傾きを予測して補正値を求め、また、ブロック歪判定部からの補正強/弱情報に基づいてこれに応じた補正を求め、さらに境界の距離に反比例した各画素毎の補正値を求める。この補正値算出部32からの補正値を加算器31に送って上記入力輝度信号と加算している。
【0058】
また、入力輝度信号は、エッジ抽出部17のHPF(ハイパスフィルタ)34に入力され、エッジ要素の検出の為に2次微分を行う。この第2の実施の形態では、例えばラプラシアンを用いて、エッジ要素の抽出を行う。HPF34でエッジ抽出された信号は、最大値抽出部35に入力される。ここでは、次段の2値化部36で必要なしきい値を求める為に、ブロック境界をはさんだエッジ抽出ブロック内において最大値の検出を行う。
【0059】
2値化部36では、最大値抽出部35で求められたしきい値と、HPF34でエッジ要素抽出された信号が入力され、しきい値をもとに、信号の2値化を行う。ハフ変換部37では、2値化された信号をもとに、ブロック境界をはさむエッジ抽出ブロック内でハフ変換を行い、これによりエッジ要素をパラメータ空間(ρ、θ)に写像することにより、ブロック内の直線(ρ0、θ0)を求める。求まったρ0、θ0はブロック歪判定部18へ入力される。
【0060】
また、端子12からの上記入力輝度信号は、パラメータ演算部16のパラメータ演算回路33へ入力され、ブロック歪判定部18で必要な補正ブロック内のパラメータを求める。
【0061】
また、上記入力輝度信号は、動き検出部20のメモリ22へ入力され、メモリコントローラ21からの制御によって書き込みが行われる。メモリコントローラ21によって、メモリから読みだされた前フィールドの輝度信号は、パターンマッチング部23へ入力され、一方で入力された輝度信号とパターンマッチングが行われる。このパターンマッチングの演算結果は動きベクトル判定部24へ入力され、動きの大きさを判断できる。ここで、求まった動きの有無はブロック歪判定部18に入力される。また、この動き検出部20では、動きベクトルMVを検出することで、動きベクトルMVに基づいて符号化の難易度を示すパラメータとしてブロック歪判定部18及び補正値算出部32に出力しても良い。
【0062】
ブロック歪判定部18では、エッジ抽出部からのブロック内の直線成分(ρ0、θ0)とパラメータ演算部からの補正ブロック内のパラメータと動き検出部からの動きの大きさを用いて、ブロック歪か否かの判定、ブロック歪補正値を制御して使うか(弱)否か(強)の判定を行い、この補正強/弱信号を補正信号算出部15の補正値算出回路32へ送り、また補正ON/OFF信号を切換選択スイッチ(セレクタ)19のコントロール端子に送る。
【0063】
また、上記入力輝度信号は、補正信号算出部15の加算器31に入力され、輝度信号と補正値算出部32から求めた補正値を加算することにより、ブロック歪除去された信号が求められ、切換選択スイッチ(セレクタ)19へ送られる。
【0064】
セレクタ19では、ブロック歪判定部18からのブロック歪ON/OFF信号に応じて、入力された輝度信号をそのまま出力するか、補正された信号を出力するかを選択する。
【0065】
一方、入力されたクロマ信号は遅延回路14に入力され、補正回路を通過する輝度信号との遅延を合わせる。
【0066】
なお、セレクタ19を使わずに、ブロック歪判定部18からのブロック歪ON/OFF信号がOFFの場合には補正値算出部32からの出力である補正信号を0にする方法を用いてもよい。
【0067】
なお、この図8に示した第2の実施の形態に係るノイズ除去装置では、輝度信号についてのみブロック歪低減処理を施すことを想定しているが、クロマ信号についても同様の処理を施すことができる。
【0068】
ところで、上述した図8の構成のブロック歪低減装置10は、例えば図9に示すようなビデオCDプレーヤのブロック歪低減回路107として用いることができる。
【0069】
この図9において、ビデオCDやCD−ROM等のディスク101から、光ピックアップ102により読み出されたRF信号は、RFアンプ103に入力される。ここで増幅されたRF信号は、EFM(8−14変調)復調回路104で復調され、シリアルデータとして、ディスク記録フォーマットのデコーダである例えばCD−ROMデコーダ105に入る。
【0070】
CD−ROMデコーダ105では、シリアルデータから例えばMPEGビットストリーム信号に変換し、MPEGデコーダ106に送る。このMPEGは、上述したように、画像の時間及び空間方向の相関を利用して圧縮符号化を行うものであり、空間方向の相関性を利用するためにブロックDCT符号を採用している。MPEGデコーダ106では、例えばMPEG1フォーマットに従い復号を行っており、この復号の際に、逆量子化器161による逆量子化処理後に逆DCT回路162による逆DCT処理を施す。さらに、必要に応じて補間などの処理を行った後出力する。
【0071】
MPEGデコーダ106から出力された映像信号は、ノイズリデューサとしてのブロック歪低減回路107に入力されるが、ここでの信号はMPEG1での圧縮/伸張によるノイズが含まれているので、ブロック歪低減回路107でこれらのノイズ除去を行う。このブロック歪低減回路107として、上述した図9に示すような本発明の実施の形態が適用される。
【0072】
ブロック歪低減回路107での処理後、NTSCエンコーダ108で同期信号の付加、クロマ信号の変調などを行いNTSC映像信号を生成する。このNTSC映像信号がD/A変換器109を介して出力端子110に出力される。
【0073】
ブロック歪低減回路107と関連して、マイクロコンピュータ等を用いた制御回路111が設けられ、制御回路111に対しては操作部112からの制御信号が供給される。操作部112には、ノイズリダクション、例えばブロック歪低減の制御スイッチが設けられており、ブロック歪低減のオン/オフの切り替えがなされる。制御回路111は、ブロック歪低減回路107の他の回路、例えばMPEGデコーダ106の制御にも用いられることが多い。
【0074】
次に、上記図8の構成のブロック歪低減装置10におけるブロック歪低減処理のアルゴリズムについて、さらに詳細に説明する。
図10は、本発明の実施の形態となるブロック歪低減方法のアルゴリズムを説明するためのフローチャートを示している。この図10の例では、H(水平)方向についての処理のアルゴリズムを示しているが、V(垂直)方向についてのブロック歪低減アルゴリズムは、H方向の処理がV方向に変わる以外は同様であるため説明を省略する。
【0075】
この図10において、最初のステップST41では、H方向の総てのブロック境界について、ブロック歪低減処理が終了したか否かを判別しており、YESの場合は処理を終了し、NOの場合に次のステップST42に進む。
【0076】
ここで、ブロック歪低減処理のために用いられる画素については、上述の第1の実施の形態で説明した図7と同様である。そして、上記図10の最初のステップST41では、ブロック歪補正処理が全ての補正処理ブロック53について行われたか否かを判断している。
【0077】
次のステップST42では、ブロック歪か否かの判定に必要とされるパラメータとしての境界差分|tmp0|、アクティビティ|tmp| 及び隣接差分|diff|を、上述の第1の実施の形態と同様の計算式により求める。
【0078】
次に、ステップST43において、補正処理ブロックに対応する上記エッジ抽出ブロック52内のエッジ抽出を行い、直線成分(ρ0、θ0)を求める。このエッジ抽出処理の詳細については、後ほど説明する。
【0079】
次に、ステップST44に進んで、補正処理ブロックを挟む上記2つのDCTブロック51L,51Rについて、動きの大きさを調べる。この動き検出動作の詳細については、後ほど説明する。
【0080】
次に、ステップST45aでは、上記各ステップST42,ST43,ST44で求めたパラメータ、直線成分(ρ0、θ0)、及び動きの大きさを用いて、このブロック境界にブロック歪があるかどうかの判定と補正の強さの判定処理を行う。このブロック歪判定処理の一例については、後ほど説明する。
【0081】
次のステップST45bで、ブロック歪ありとされればステップST46aに進み、ブロック歪無しとされればステップST48に進む。
【0082】
ブロック歪と判定されれば、ステップST46aに進み、画像の性質、特に線形性に基づいて、隣接差分から補正後の境界段差|step|を、第1の実施の形態と同様に、
|step|=|diff3+diff4|/2
という式から求める。そして、補正後にこれだけの境界段差|step|を持たせるために必要な補正量|σ|を、
|σ|=(|tmp0|−|step|)/2
により求める。ここで、上記境界差分|tmp0|を所定の閾値corr_th で弁別して補正の強さを切り換えることが好ましく、この場合、|tmp0|<corr_th となって補正の強さを強(補正強)とするとき、補正量|σ|を、
|σ|=(|tmp0|−|step|)/2
とし、|tmp0|≧corr_th となって補正弱のとき、上記補正量|σ|を半分に減らして、
|σ|=(|tmp0|−|step|)/4
として補正を行う。
【0083】
次のステップST46bでは、得られた補正値|σ|から、各画素毎の補正値を求める。隣の補正範囲とのつなぎ目を滑らかにする為、またブロック歪は境界付近程強く現れることから、上述した第1の実施の形態と同様に、境界からの距離に反比例した補正値を求める。
【0084】
具体的には、図7の補正範囲53内の各画素b〜iについての各補正値をそれぞれ|σb|〜|σi|とするとき、上記補正値|σ|を用いて、
|σe|=|σ| ,|σf|=|σ|
|σd|=|σ|/2 ,|σg|=|σ|/2
|σc|=|σ|/4 ,|σh|=|σ|/4
|σb|=|σ|/8 ,|σi|=|σ|/8
のような各補正値をそれぞれ求める。
【0085】
次のステップST46cでは、上記ステップST46bで求められた各画素b〜i毎の補正値|σb|〜|σi|を用いて、ブロック歪補正された映像信号(画像データ)SBb〜SBiを求める。
【0086】
具体的には、補正前の各画素b〜iの入力画像データをSb〜Siとするとき、上記tmp0の正負に応じて、補正された画像データSBb〜SBiを、
tmp0≧0:SBb=Sb+|σb| ,tmp0<0:SBb=Sb−|σb|
tmp0≧0:SBc=Sc+|σc| ,tmp0<0:SBc=Sc−|σc|
tmp0≧0:SBd=Sd+|σd| ,tmp0<0:SBd=Sd−|σd|
tmp0≧0:SBe=Se+|σe| ,tmp0<0:SBe=Se−|σe|
tmp0≧0:SBf=Sf−|σf| ,tmp0<0:SBf=Sf+|σf|
tmp0≧0:SBg=Sg−|σg| ,tmp0<0:SBg=Sg+|σg|
tmp0≧0:SBh=Sh−|σh| ,tmp0<0:SBh=Sh+|σh|
tmp0≧0:SBi=Si−|σi| ,tmp0<0:SBi=Si+|σi|
とするような補正を行う。
【0087】
次のステップST47では、このようにブロック歪補正処理された信号を出力する。
【0088】
上記ステップST45bでブロック歪でないと判定されれば、ステップST48に進んで、補正範囲の原信号をそのまま出力する。
【0089】
次に、上記ステップST43におけるエッジ検出処理の動作の一例について、図11を参照しながら説明する。
【0090】
図11の最初のステップST61では、エッジ要素抽出の為、エッジ抽出ブロック内の入力信号に対して、2次元HPF(ハイパスフィルタ)、例えばラプラシアンフィルタをかけている。
【0091】
この2次元のラプラシアンフィルタとしては、例えば図12の係数のようなものが挙げられるが、この図12の例に限定されるものではなく、また例えば、 Sobelオペレータ、 Prewittオペレータ、Kirschオペレータ、Robinsonオペレータ等の種々の変形が考えられる。
【0092】
次に、ステップST62に進んで、上記HPFをかけたブロック内の信号の最大値Maxを検出し、次のステップST63でこの最大値Maxに基づく閾値Thresh(例えばThresh=Max/2)を用いて2値化を行い、エッジ要素を抽出する。すなわちこの2値化は、入力信号Sin>Threshのとき、出力信号Sout =1とし、Sin≦Threshのとき、Sout =0とするような処理である。
【0093】
次に、ステップST64に進んで、抽出されたエッジ要素に、ハフ変換を行い、パラメータ空間(ρ,θ)に写像する。このハフ変換は、ブロック内のエッジ要素(x,y)をパラメータ空間(ρ,θ)に、
xcosθ+ysinθ=ρ
の式により写像するものである。
【0094】
次のステップST65で、このパラメータ空間で多くの点が集まる(ρ0,θ0)のを検出する。この(ρ0,θ0)を通過する直線がエッジ抽出ブロック内で検出された直線エッジということになり、ステップST66でパラメータ(ρ,θ)を出力している。
【0095】
次に、上記図10のステップST44での動き検出処理の動作の一例について、図13を参照しながら説明する。
【0096】
この図13の動き検出処理においては、上記図7における処理する補正処理ブロックのブロック境界を挟む左右のDCTブロック51L,51Rについて、パターンマッチングを行う。
【0097】
パターンマッチングはDCTブロック内の総ての画素について、同一位置の前フィールドの画素をメモリーから読みだし(ステップST72)、次の式(1)に示す演算式の処理を行い(ステップST73)、メモリに現フィールドの画素を書き込む(ステップST74)。
【0098】
【数1】
【0099】
この式(1)において、Sn(i,j)は、nフィールドにおける位置(i,j)の画素の輝度信号を示し、BLK_H,BLK_Vは、それぞれH,V方向のDCTブロックサイズを示している。
【0100】
これらのステップST72〜ST74の処理について、DCT(M×N)ブロック内の全ての画素について、処理が終わったか否かを最初のステップST71で判別し、YESのとき(処理が終了したとき)にはステップST75に進んで、上記式(1)で求めたCrの値に応じて、動き判定を行っている。
【0101】
このステップST75の動き判定としては、上記Crの値に対して所定の閾値mov_thL,mov_thH(ただしmov_thL<mov_thH)を設定し、
Cr<mov_thL のとき、動き小
mov_thL≦Cr<mov_thH のとき、動き中
mov_thH≦Cr のとき、動き大
のような判定を行うことが挙げられる。
【0102】
なお、この図13の例では、パターンマッチングをDCTブロック内の総ての画素について行ったが、この例にのみ限定されるものではなく、例えば、LPFをかけ、2、4画素の間引き処理を行った後、間引かれた画素についてパターンマッチングを行う等の変形も考えられる。
【0103】
また、図13の例では、動きの大きさを求める手段として、同一位置のDCTブロックに対するパターンマッチングを用いたが、この例にのみ限定されるものではなく、例えば、動き補償範囲内のすべての試行ベクトルについてパターンマッチングC(k)を比較し、最小のC(k)を与える試行ベクトルを動きベクトルとして動きの有無を求める変形や、代表点マッチングを行う等の変形も考えられる。
【0104】
次に、上記図10のステップST45a,ST45bにおけるブロック歪判定動作の一例について、図14を参照しながら説明する。
【0105】
この図14に示す例においては、パラメータ判定と動き検出による判定とを組み合わせて用いている。
【0106】
まず、上記図7の補正処理ブロックのブロック境界を挟む左右のDCTブロック51L,51Rについて、上述したようなパターンマッチングを行って、動きの大きさを調べ、ステップST81で、検出された動きが小であるか否かを判別する。両方のDCTブロック51L,51R内の動きが小さいとされれば、量子化誤差は無いと判断し、ステップST86に進んで、ブロック歪補正をかけずに処理を終了する。
【0107】
ステップST81でNO、すなわち動きが小さくないときには、次のステップST82に進んで、直線エッジがブロック境界上に存在するか否かを判別する。このとき、ρ0=エッジ抽出ブロックサイズ/2,θ0=π/2とする。ステップST82で境界上にあると判別されれば、強いブロック歪があるとされ、ステップST88に進んで、ブロック歪(強)の補正をかける。
【0108】
ステップST82でNOと判別されれば、ステップST83に進んで、上記図6の左右のDCTブロック51L,51Rの境界の近傍領域(エリア)内を直線エッジが通過するか否かを判別する。通過すれば、弱いブロック歪があるとして、ステップST87に進んで、ブロック歪(弱)の補正をかける。
【0109】
ステップST83でNOと判別されたときには、パラメータを用いてブロック歪の判定を行って、補正強か(ステップST84)、補正弱か(ステップST85)の判別を行う。補正強と判別されたときにはステップST88に進み、補正弱と判別されたときにはステップST87に進む。それ以外は、補正offとされ、ステップST86に進む。
【0110】
ここで、上記ブロック歪判定の一例を説明すると、上記パラメータ|tmp0|、|tmp| 及び|diff|に基づいて、次のような条件判別を行うことによりブロック歪か否かの判定を行う。この判定条件は、
(1) 周辺と比べて突出した段差であるか否か。
:境界差分|tmp0|>アクティビティ|tmp|
(2) 直流成分及び低周波成分の量子化誤差による段差であるか、すなわち、ブロック歪による段差であるか否か。
:境界差分|tmp0|<閾値div_th
ここで、閾値div_thとしては、第2の実施の形態では固定値を用いたが、各ブロックの量子化ステップサイズの最大値に比例した値を用いることもできる。
(3) 境界の両隣に境界の段差より大きな段差がないか、すなわち、境界の両隣にエッジがないか否か。
:隣接差分|diff3|≦境界差分|tmp0|
かつ、隣接差分|diff4|≦境界差分|tmp0|
の3つである。
【0111】
これらの3つの判定条件の全てが満たされれば、ブロック歪ありとされる。また、補正の強さは、上記境界差分|tmp0|が所定の閾値corr_th より小さいか否かに応じて決定しており、
|tmp0|<corr_th のとき、補正強
|tmp0|≧corr_th のとき、補正弱
ただし、corr_th<div_th
としている。
【0112】
ここで、上記各閾値div_th,corr_th の値は、上記動き検出処理により得られた動きの大きさによって適応的(アダプティブ)に変化させることが好ましい。例えば、
とすればよい。
【0113】
なお、動き検出処理における動きの大きさは、大/中/小の3段階にのみ限定されるものではなく、上記各閾値div_th,corr_th の値も上記動き大/中の2段階には限定されず、さらに細かい段階に変化させるようにしてもよい。
【0114】
次に、上記図11と共に説明したエッジ抽出処理の方法としては、前述のハフ変換を用いずに、以下に述べるような簡易な方法で行うこともできる。
【0115】
この簡易なエッジ抽出の場合の動作を説明するためのフローチャートを図15に示し、このエッジ抽出を用いる場合のブロック歪低減装置の概略構成のブロック図を図16に示す。
【0116】
この例においては、先ず、図15のステップST91に示すように、エッジ抽出を1次元(水平方向)の2次微分(BPF:バンドパスフィルタ)により行っている。2次微分特性の伝達関数H(z)としては、例えば、
H(z)=(−1+2z-1−z-2)/4
が挙げられる。
【0117】
2次微分信号の絶対値をとった後、ステップST92では処理ブロック内で最大値の検出を行い、この最大値を用いて次のステップST93でBPF処理画像の2値化を行い、エッジ検出を行う。2値化する際の閾値は、前述の例と同様に、例えばブロック内で2次微分および絶対値処理して得た最大値の1/2とすればよい。
【0118】
図16のエッジ抽出部17’では、端子12からの輝度信号入力を、BPF34’で上述のように2次微分し、絶対値化回路38で絶対値をとり、最大値検出回路35で最大値を検出している。そして、最大値検出回路35からの閾値を2値化回路36に送り、絶対値化回路38からの信号を2値化している。2値化回路36からの出力は、垂直相関検出部39に送られる。
【0119】
なお、図16に示したブロック歪低減装置14の他の構成及び動作は、上述した図8の例と同様であるため、対応する部分に同じ指示符号を付して説明を省略する。また、垂直相関検出部39は、図1の第1の実施の形態で説明した垂直相関検出回路5と同様の動作である。
【0120】
本例では、クラスおよび補正段階をそれぞれ4および3段階として説明したが、特にこれに限定されない。また、例えば垂直相関を検出することで算出される補正量の重み係数Kcを下式により求めても良い。
【0121】
Kc=Eb/(Ea+Eb+Ec)
また、相関検出部39から得たクラスにより、ブロック歪判定部の検出の閾値であるdiv_thの値を制御してもよい。例えば、垂直相関が弱い程、ブロック歪である可能性が低いので、検出の閾値div_thの値を大きくし、検出しにくい方向へ制御する。
【0122】
なお、本発明の実施の形態におけるエッジ抽出部、補正信号算出部、ブロック歪判定パラメータ算出部等については、上述したようなアルゴリズムを用いたが、これらのアルゴリズムにのみ限定されるものではなく、例えば、補正信号算出部にはLPFを用いたり、エッジ抽出部にはエッジ追跡によるエッジ抽出法などの種々のエッジ抽出法、ブロック歪判定部には種々のパラメータを使うといった種々の変形が考えられる。
【0123】
また、上述した実施の形態は輝度信号の水平方向に対してブロック歪補正をかける例であるが、この例にのみ限定されるものではなく、例えば、垂直方向やクロマ信号にブロック歪補正をかけるといった種々の変形が考えられる。
【0124】
つぎに、ブロック歪判定回路6がブロック歪か否かの判断を行うときにおいて、上述した第1の実施の形態に及び第2の実施の形態で示した判定条件の他に、適応的に判定条件を追加してブロック歪を行うときの一例について説明する。なお、以下の説明においては、上述の第1の実施の形態についてのブロック歪判定回路6で説明する。
【0125】
ここで、ブロック歪判定回路6において、例えば図17に示すように、diff0〜diff7までの全てが負の値をとりtmp0のみが正の値をとるとき、又はdiff0〜diff7までの全てが正の値をとりtmp0のみが負の値をとるという情報がパラメータ演算回路4から入力された場合についてノイズ除去を行うときについて説明する。なお、図17は、ブロック境界に対して直交する方向に一列に配置された画素a〜jの輝度信号の大きさを縦軸として示しており、白丸を補正前の輝度信号の値とし、黒丸を補正後の輝度信号の値として示している。
【0126】
このように、画素a〜eが単調減少していて、ブロック境界でのみ輝度値が増加し、画素f〜jで輝度値が単調減少している場合には、符号化又は復号を行う前にブロック境界でも単調減少していたとみなして、補正を行う。
【0127】
すなわち、ブロック歪判定回路6では、このような画像データを示すパラメータがパラメータ演算回路4から入力された場合、上述の第1及び第2の実施の形態で示した判定条件の他に、
(1) diff0〜diff7>0 又は diff0〜diff7<0
(2) tmp0×(diff0〜diff7)<0
(3) Kp≧diff_th
という第1〜第3の判定条件を追加することで、ブロック歪の判定を行う。すなわち、第1の判定条件では、ブロック境界を除いた補正範囲の輝度値の変化が単調減少か単調増加であることを判断する。第2の判定条件では、ブロック境界での輝度値の変化が補正範囲の他の輝度値の変化と逆であることを判断する。第3の判定条件では、符号化難易度を示すパラメータKpが所定の閾値diff_th以上であることを判断する。
【0128】
ブロック歪判定回路6は、上記の第1〜第3の判定条件が満たされると、符号化又は復号を行う前の画像データは単調減少又は単調増加を示す画像データであることを示すフラグを生成し、ブロック歪補正回路7に供給する。
【0129】
ブロック歪補正回路7では、ブロック歪判定回路6からのフラグに応じて以下に示すように、補正値σ0を算出する。このブロック歪補正回路7で決定する補正の強さは、上記境界差分|tmp0|が所定の閾値corr_th より小さいか否かに応じて決定しており、
ブロック境界差分|tmp0|<corr_th のとき、
補正値σ0=(|tmp0|+|step|)/4として、補正を弱くする。
また、|tmp0|≧corr_th のとき、
補正値σ0=(|tmp0|+|step|)/2として、補正を強くする。
【0130】
次に、ブロック境界において、図18に示すように、|diff3|が|tmp0|よりも大きい値を有するとき、上述した第1及び第2の実施の形態で示した判定条件では、ブロック歪として検出される条件を満たしていないため、例えば黙視でブロック歪と認識されてもブロック歪として認識されないような場合、ブロック歪判定回路6では、
(1)ブロック境界差分|tmp0|≧アクティビティ|tmp|
(2)ブロック境界差分|tmp0|<det_th
(3)diff3×tmp0<0、diff4×tmp0≧0、diff2×diff3≧0
という第1から第3の判定条件を上述の第1及び第2の実施の形態で示した判定条件に追加して、ブロック歪を判定する。すなわち、第1の判定条件ではブロック境界に突出した段差があるか否かを判断し、第2の判定条件ではブロック境界におけるエッジの有無を判断し、第3の判定条件ではブロック境界に近接する画素におけるエッジの有無を判断する。すなわち、第3の判定条件では、画素d〜e間の輝度値の変化とブロック境界における輝度値の変化とが逆であることを判断し、画素f〜g間の輝度値の変化とブロック境界における輝度値の変化とが同じであることを判断し、画素c〜d間の輝度値の変化と画素d〜e間の輝度値の変化とが同じであることを判断している。また、第3の判定条件では、図18で示した場合と逆に、画素f〜g間におけるエッジの有無を判定するときには、
diff4×tmp0<0、diff3×tmp0≧0、diff4×diff5≧0
という第3の判定条件を用いてエッジの有無を判断する。
【0131】
ブロック歪補正回路7では、上述の判定条件に基づいてフラグが入力されたときには、補正の強さを境界差分|tmp0|が所定の閾値corr_th より小さいか否かに応じて決定しており、
ブロック境界差分|tmp0|≧corr_th のとき、
補正値σ0=(|tmp0|+|diff3|)/4として、補正を弱くする。
また、|tmp0|<corr_th のとき、
補正値σ0=(|tmp0|+|diff3|)/2として、補正を強くする。
また、補正値σ1及び補正値σ2は、
補正値σ1=diff2/2 とし、
補正値σ2=diff4/2 とする。
また、図18で示した場合と逆に画素f〜gの間にエッジがある場合には、
ブロック境界差分|tmp0|≧corr_th のとき、
補正値σ0=(|tmp0|+|diff4|)/4として、補正を弱くする。
また、|tmp0|<corr_th のとき、
補正値σ0=(|tmp0|+|diff4|)/2として、補正を強くする。
また、補正値σ1及び補正値σ2は、
補正値σ1=diff3/2 とし、
補正値σ2=diff5/2 とする。
【0132】
このようにブロック歪判定回路6で判定条件を変更することで、ブロック境界に近接する画素上にエッジがあると知覚される場合でも、ブロック歪として検出することが可能である。
【0133】
また、上述の垂直相関検出回路5では、図19に示すように、ブロック境界に平行してブロック歪と検出されるエッジを示す画素があっても、当該エッジが閾値以上に存在するときには補正を行わないように制御しても良い。なお、図19では、垂直相関検出回路5でエッジと認められる画素については1と図示し、エッジであると認められない画素については0と図示している。すなわち、図19に示すように、現在ブロック歪の補正を行っているラインAと、当該ラインAの垂直方向Vに隣接するラインのエッジの位置を垂直相関検出範囲で検出し、上下方向における3ラインで同じ位置にエッジがある場所をカウントする。このとき、エッジとして検出される画素の数をnum_edgeとし、補正を行うか否かの閾値をedge_thとすると、ブロック歪判定回路6は、
num_edge>edge_th
という条件を満たすときに補正を行わないようなフラグを生成し、ブロック歪補正回路7に出力する。このように垂直相関検出回路5で垂直方向の相関を検出して、ブロック歪判定回路6で判定条件を変更することで、例えばエッジとは異なる、垂直方向に細かい縞模様があるような絵柄であっても、それをブロック歪として誤検出してしまうようなことを抑制することができる。
【0134】
さらに、ブロック歪判定回路6では、上述の第1及び第2の実施の形態でブロック歪に対する補正の処理を行った結果、新たにエッジが生じないようにするために、図20に示すようなブロック歪の補正を行うとき、
(1) |step|<σ0×corr_ratio
(2) σ0>|diff3| かつ σ0>|diff4|
(3) |step|<corr_th
という第1〜第3の判定条件を追加して、ブロック歪を判定する。すなわち、第1の判定条件では補正後の段差|step|が補正量σ0に比べて一定の比(corr_ratio)よりも小さいか否かを判断し、第2の判定条件では補正量σ0がブロック境界の両脇の段差(diff3,diff4)よりも大きいか否かを判断し、第3の判定条件ではブロック境界の段差|step|が補正量決定の為の閾値corr_thよりも小さいか否かを判断する。なお、第3の判定条件において、補正後の段差|step|と補正量との比を0<corr_th<1とする。
【0135】
そして、ブロック歪判定回路6では、これら第1〜第3の判定条件が成立するとき、そのようなことを示すフラグをブロック歪補正回路7に出力し、ブロック歪補正回路7では、画素e及び画素fの補正値σ0'を、
σ0'=σ0/2
として第1及び第2の実施の形態で算出される補正値σ0を修正する。また、画素e及び画素fの周辺の画素についての補正値σ1,σ2,σ3は、
σ1=σ0'/2
σ2=σ0'/4
σ3=σ0'/8
とする。このように補正値を決定することで、補正後の輝度値は、図20の黒丸で示すように、新たにブロック歪と知覚されるような段差が発生しないこととなる。
【0136】
このようにブロック歪判定回路6は、第1〜第3の判定条件を追加することで、ブロック境界の近傍の輝度値のパターンを識別し、上述の第1及び第2の実施の形態で示した判定条件で補正を行った場合に補正後に新たなエッジが生ずるかを予測し、補正値を制御することができる。したがって、このような第1〜第3の判定条件を追加することで、補正後新たに生じるエッジの発生を未然に防止することができる。
【0137】
また、処理を行うことにより、ブロック歪判定回路6では、上述の第1及び第2の実施の形態では、上述の図26に示すように、補正後のdiff3の値が大きくなって新たに生じたエッジとして検出されるようなことがない。
【0138】
このようなブロック歪低減装置1でブロック歪の低減処理を行うときには、図21に示すようなフローチャートにしたがって行う。
【0139】
すなわち、このフローチャートによれば、先ず、ステップST101において、動画像を構成する全てのフレームについての処理が終了したか否かの判断を行う。そして、全てのフレームについての処理が終了したと判断したときには、ステップST102に進み処理を終了し、処理が終了していないと判断したときには、ステップST103に進む。
【0140】
ステップST103では、ブロック歪低減処理の対象となるフレームがI-pictureであるか否かを判断し、I-pictureであると判断したときにはステップST104に進み、I-pictureでないと判断したときにはステップST105に進む。
【0141】
ステップST104では符号化難易度評価回路3においてMPEGデコーダ2からIDCT係数を用いて符号化難易度を示すパラメータKpを算出し、ステップST105では、IDCT係数及び動きベクトル差分信号MVを用いて符号化難易度を示すパラメータKpを算出し、ブロック歪判定回路6及びブロック歪補正回路7に出力して、ステップST106に進む。
【0142】
ステップST106では、処理の対象となっているフレームの全てのDCTブロックについて処理が終了したか否かの判断を行う。そして、処理が終了したと判断した場合には、上記のステップST101に戻り、次のフレームについて処理を行い、処理が終了していないと判断したときには、ステップST107に進む。
【0143】
ステップST107では、パラメータ演算回路4でブロック境界の近傍におけるアクティビティ|tmp|、ブロック境界差分|tmp0|、隣接差分|diff0|〜|diff7|の各パラメータを算出し、ブロック歪判定回路6に出力して、ステップST108に進む。
【0144】
ステップST108では、垂直相関検出回路5でエッジ抽出を行うことで、重み係数Kcを算出し、当該重み係数Kcをブロック歪判定回路6及びブロック歪補正回路7に出力して、ステップST109に進む。
【0145】
ステップST109では、ブロック歪判定回路6で、垂直相関検出回路5からの垂直相関値Kc及び符号化難易度評価回路3からの符号化難易度を示すパラメータKpを用いて、閾値det_th及びcorr_thを決定する。
【0146】
次にステップST110では、ブロック歪判定回路6で、
|tmp0|>|tmp|及び|tmp0|<det_th
という判定条件が適用されることで、ブロック境界における段差が周辺の画素と比べて突出した段差であるか否か、直流成分及び低周波成分の量子化誤差による段差であるか、すなわち、ブロック歪による段差であるか否かが判断される。そして、これらの2つの判定条件のいづれにも該当しない場合には、ステップST111に進み、ブロック歪補正回路7では補正処理が施されずに原信号がそのまま出力されることとなる。一方、上記の2つの判定条件のいづれかに該当する場合には、ブロック歪があるとみなされ、ステップST112に進む。
【0147】
ステップST112では、ブロック歪判定回路6で、図17を用いて説明したように、処理の対象となる画像データが
(1) diff0〜diff7>0 又は diff0〜diff7<0
(2) tmp0×(diff0〜diff7)<0
(3) Kp≧diff_th
という判定条件を満たすか否かを判断する。そして、この判定条件を満たす場合は、ブロック境界を除いた補正範囲の輝度値の変化が単調減少か単調増加であることを判断してステップST115に進み、この判定条件を満たさない場合には、ステップST113に進む。
【0148】
ステップST115では、ブロック歪補正回路7でステップST112での判定結果を示すフラグが入力されると、|tmp0|>corr_thを満たすか否かを判断し、この条件を満たす場合にはステップST116に進み補正を弱とし、満たさない場合にはステップST117に進み補正を強としてステップST122に進む。
【0149】
ステップST113では、ブロック歪判定回路6で、図18を用いて説明したように、|tmp0|≧|diff3|及び|tmp0|≧|diff4|という判断条件を満たすか否かを判断することで、上述の第1及び第2の実施の形態で示した条件ではブロック歪として認識されないような場合における判定条件を変更する。その結果、上記の条件を満たす場合にはブロック境界以外にエッジがないと判断して、ステップST114に進み、満たさない場合にはブロック境界以外にエッジがあると判断して、ステップST118に進み、後述する特殊処理を行う。
【0150】
ステップST114では、ブロック歪判定回路6で、上述のステップST115と同様の処理を行い、条件を満たすときにはステップST120に進み、条件を満たさないときにはステップST119に進む。
【0151】
ステップST119では、ブロック歪判定回路6で、上述の図20を用いて説明した処理を行う。すなわちこのステップST119では、上述の第1及び第2の判定条件を判断する。なお、上述の第3の判定条件は、ステップST114で満たされている。このような判定条件を適用することで、上述したように、補正後にブロック境界の近傍に新たなエッジが生じないか否かを判断する。そして、ステップST119では、第1の判定条件及び第2の判定条件が満たされているときには補正後に新たなエッジが生ずると判断して補正を弱とするようにステップST120に進み、満たされていないときには補正後に新たなエッジが生じないと判断して補正を強とするようにステップST121に進む。
【0152】
ステップST120及びステップST121では、ブロック歪補正回路7で上述のステップST116、ステップST117と同様に、補正の強弱を決定してステップST122に進む。
【0153】
ステップST122では、ブロック歪補正回路7で、符号化難易度評価回路3からの符号化難易度を示すパラメータKp及び垂直相関検出回路5からの相関を示す重み係数Kcとを補正値σ0に乗算処理して、ステップST123に進む。
【0154】
ステップST123では、ブロック歪補正回路7で補正範囲における各画素の補正値を決定する。このとき、ブロック歪補正回路7では、ブロック境界の近傍程補正を強とする。そして、各画素についての補正値σ1,σ2,σ3を決定したら、ステップST124に進む。
【0155】
ステップST124では、ブロック歪補正回路7で、ステップST123で決定した補正値を原信号に加算し、補正された画像データを得て、ステップST125でブロック歪補正回路7からブロック歪が低減された画像データを出力し、ステップST126で1つのDCTブロックについてのブロック歪低減処理及び補正処理を終了して、ステップST106に戻る。すなわち、このフローチャートによれば、1フレームを構成する各DCTブロックについてステップST106〜ステップST125を行うことでノイズ低減処理及び補正処理を行い、ステップST106で1フレーム内の全てのDCTブロックの処理が終了したら、次のフレームに移って、ステップST101〜ステップST106を繰り返すことで、動画像を構成する全てのフレームについて処理を行う。
【0156】
つぎに、上述のステップST118の特殊処理について図22に示すフローチャートを用いて説明する。
【0157】
このフローチャートによれば、先ず、ステップST131で、図19を用いて説明したように、垂直相関検出回路5で垂直方向Vにおけるエッジの数num_edgeをカウントし、ブロック歪判定回路6でnum_edge>edge_thという判定条件を満たすか否かを判断する。この条件を満たすときにはステップST132に進んでノイズ低減処理を行わずに原信号をそのまま出力する。すなわち、原信号がブロック境界の近傍に縞模様を示す画像データであると判断する。また、条件を満たさないときにはステップST133に進む。
【0158】
ステップST133では、ブロック歪判定回路6で、上述のブロック境界以外に存在するエッジがブロック境界の左側に存在するか否かを判断する。すなわち、ステップST133では、
diff3×tmp0<0、diff4×tmp0≧0、diff2×diff3≧0
という条件を満たすか否かをブロック歪判定回路6で判断する。その結果、この判定条件を満たす場合にはステップST134に進み、満たさない場合にはステップST139に進む。
【0159】
ステップST139では、ブロック歪判定回路6で、上述のブロック境界以外に存在するエッジがブロック境界の右側に存在するかを判断する。すなわち、ステップST133では、
diff4×tmp0<0、diff3×tmp0≧0、diff4×diff5≧0
という条件を満たすか否かをブロック歪判定回路6で判断する。その結果、この判定条件を満たす場合にはステップST140に進み、満たさない場合にはブロック境界の左右側にはエッジとみなされる部分がないとして、ステップST132に進んで、原信号をそのまま出力する。
【0160】
ステップST134では、ブロック歪補正回路7で|tmp0|>corr_thを満たすか否かを判断し、この条件を満たす場合にはステップST135に進み補正を弱とし、満たさない場合にはステップST136に進み補正を強としてそれぞれステップST137に進む。
【0161】
ステップST137では、ブロック歪補正回路7で、符号化難易度評価回路3からの符号化難易度を示すパラメータKp及び垂直相関検出回路5からの相関を示す重み係数Kcとを補正値σ0に乗算処理して、ステップST138に進む。
【0162】
ステップST138では、補正値σ0で補正される画素の両側に隣接する画素についての補正値σ1及びσ2を
σ1=diff2/2 , σ2=diff4/2
で示される式で算出する。
【0163】
ステップST140〜ステップST146では、上述のステップST134〜ステップST138とほぼ同様の処理を行う。異なる点は、ステップST141及びステップST142で補正の強弱を決定する点と、ステップST144で補正値σ1により補正を行う隣接差分がdiff3であり補正値σ2により補正を行う隣接差分がdiff5である点である。
【0164】
次にステップST145では上述のステップST124と同様の処理を行い、ステップST146では上述のステップST125と同様の処理を行うことで処理を終了する。
【0165】
また、本実施の形態に係るブロック歪低減装置は、上述の図20を用いて説明したように、補正後新たに生じるブロック歪を予測して補正値を制御して補正を行っても良いが、ブロック歪補正回路7で補正を行った後の画像データに対して再補正を行うようになされていても良い。すなわち、このブロック歪低減装置は、図23に示すように、ブロック歪補正回路7から補正処理がなされた画像データが入力されるパラメータ再演算回路121と、パラメータを用いてブロック歪の状態を判定するブロック歪再判定回路122と、判定結果を用いてブロック歪の補正を行うブロック歪再補正回路123とを備えている。なお、以下の説明においては、上述したブロック歪低減装置1と同一部分については同一符号を付することでその詳細な説明を省略する。
【0166】
この図23に示したブロック歪低減装置において、パラメータ再演算回路121は上述のパラメータ演算回路4と同様の動作をし、ブロック歪再判定回路122は上述のブロック歪判定回路6と同様の動作をし、ブロック歪再補正回路123は上述のブロック歪補正回路7と同様の動作をする。
【0167】
このブロック歪低減装置により図24に示すような画像データに対して再補正処理を行うときの一例について説明する。このブロック歪低減装置では、パラメータ再演算回路121からのパラメータを用いて、ブロック歪再判定回路122で、
|tmp0|<|diff3|×recorr_ratio
又は
|tmp0|<|diff4|×recorr_ratio
という判定条件を適用することで、ブロック境界の段差|tmp0|と|diff3|,|diff4|に比べて一定の比recorr_ratioよりも小さいことを判断する。ここで、ブロック境界の段差|tmp0|と|diff3|,|diff4|との比を
0<recorr_ratio<1
とする。これらのいづれかの判定条件を満たす場合、図24に示すように、画素eについての補正値σ0を、
σ0=diff3/2
とし、画素fについての補正値σ0'を、
σ0'=diff4/2
としてブロック歪補正回路7からの画像データに補正を行う。また、図23におけるブロック境界の周辺画素についての補正値σ1,σ2,σ3,σ1',σ2',σ3'については、
σ1=σ0/2
σ2=σ0/4
σ3=σ0/8
σ1'=σ0'/2
σ2'=σ0'/4
σ3'=σ0'/8
として各画素の補正を行う。
【0168】
したがって、この図23に示したブロック歪低減装置によれば、ブロック歪補正回路7で補正を行った後にブロック境界の近傍でエッジと認められる部分が生じているか否かを判断して、エッジが生じていると判断したときには再補正を行うことで、補正後に生ずるエッジを補正することができる。
【0169】
このようなブロック歪低減装置でブロック歪の補正を行うときの一例を図25に示すフローチャートを用いて説明する。
【0170】
この図25に示すフローチャートによれば、先ず、ステップST151において、動画像を構成する全てのフレームについての処理が終了したか否かの判断を行う。そして、全てのフレームについての処理が終了したと判断したときには、ステップST152に進み処理を終了し、処理が終了していないと判断したときには、ステップST153に進む。
【0171】
次に、ステップST153では、処理の対象となっているフレームの全てのDCTブロックについて処理が終了したか否かの判断を行う。そして、処理が終了したと判断した場合には、上記のステップST151に戻って次のフレームについて処理を開始し、処理が終了していないと判断したときには、ステップST154に進む。
【0172】
次に、ステップST154では、パラメータ演算回路4でブロック境界の近傍におけるアクティビティ|tmp|、ブロック境界差分|tmp0|、隣接差分|diff0|〜|diff7|の各パラメータを算出し、ブロック歪判定回路6に出力して、ステップST155に進む。
【0173】
ステップST155では、垂直相関検出回路5でエッジ抽出を行うことで、重み係数Kcを算出し、当該重み係数Kcをブロック歪判定回路6及びブロック歪補正回路7に出力して、ステップST156に進む。
【0174】
ステップST156では、ブロック歪判定回路6で、
(1)|tmp0|>tmp
(2)|tmp0|<det_th
(3)|tmp0|≧|diff3|
という判定条件を満たすか否かを判断し、これらの判定条件のすべてを満たす場合にはステップST157に進み、満たさない場合にはステップST158に進んでブロック歪補正回路7から補正処理を行わずに画像データを出力して、ステップST165に進む。
【0175】
ステップST157では、ブロック歪判定回路6でブロック境界差分|tmp0|がcorr_thよりも大きいか否かを判断する。この条件を満たす場合にはステップST159に進み補正を弱とし、満たさない場合にはステップST160に進み補正を強としてステップST161に進む。
【0176】
ステップST161では、ブロック歪補正回路7で、上記のステップST159及びステップST160において算出した補正値σ0に垂直相関検出回路5からの相関を示す重み係数Kcを乗算処理して、ステップST162に進む。
【0177】
ステップST162では、ブロック歪補正回路7で補正範囲における各画素の補正値を決定する。このとき、ブロック歪補正回路7では、ブロック境界の近傍程補正を強とする。そして、各画素についての補正値σ1,σ2,σ3を決定したら、ステップST163に進む。
【0178】
ステップST163では、ブロック歪補正回路7で、ステップST162で決定した補正値を原信号に加算し、補正された画像データを得て、ステップST164でブロック歪補正回路7からブロック歪が低減された画像データをパラメータ再演算回路121に出力する。
【0179】
ステップST165では、パラメータ再演算回路121で算出したパラメータを用いて、ブロック歪再判定回路122では、
|tmp0|<|diff3|×recorr_ratio
又は
|tmp0|<|diff4|×recorr_ratio
という判定条件を適用することで、ブロック境界の段差|tmp0|と|diff3|,|diff4|に比べて一定の比recorr_ratioよりも小さいことを判断する。そして、これらの判定条件のいづれかを満たすときにはブロック歪補正回路7で行った補正により新たにエッジが生じていると判断してステップST166に進み、満たさないときにはステップST167に進んでブロック歪の判定処理及び補正処理を終了する。
【0180】
ステップST166では、ブロック歪再補正回路123でブロック歪補正回路7から出力された画像データを修正する補正値σ0及びσ0'を決定して、ステップST168に進む。
【0181】
ステップST168では、ブロック歪再補正回路123で、図24を用いて説明したように、ブロック歪の補正範囲において、各画素についての補正値を算出して、ステップST169に進む。
【0182】
ステップST169では、ブロック歪再補正回路123で、上述のステップST166及びステップST168で算出した補正値を用いて入力された画像データを修正し、ステップST167に進み、補正を行った画像データを出力して、153に戻る。
【0183】
そして、このフローチャートでは、フレーム毎にステップST153〜ステップST167の処理を行うことで1フレーム毎に再補正処理を行い、動画像を構成するすべてのフレームについて再補正処理を行う。
【0184】
なお、この図22に示したブロック歪低減装置1では、ブロック歪補正回路7で補正を行っても、補正がなされていない画素、補正が不十分である画素について再補正を行っても良いことは勿論である。
【0185】
また、図17〜図25を参照して説明したブロック歪低減装置の動作については、第1の実施の形態に係るブロック歪低減装置1についてのみ説明したが、第2の実施の形態に係るブロック歪低減回路でも適用可能である。このとき、第2の実施の形態で説明したブロック歪低減回路では、ブロック歪判定部18で上述したような画像データの絵柄に対応して上述した判定条件を適用することで、絵柄に応じてブロック歪の判定を行い、補正値算出部32で補正を行う。
【0186】
以上の説明からも明らかなように、本発明に係るブロック歪低減装置及び方法の実施の形態によれば、高周波成分の欠落がなく解像度を保ったブロック歪低減を行いながら、補正による破綻を軽減できる。また、ハードウェア構成も簡易であるので、業務用のみならず、DCT符号化等のブロック符号化を用いた圧縮処理を行う種々の民生機器、例えばビデオCDプレーヤ、ディジタルビデオディスクプレーヤ、ディジタルテレビジョン受像機、テレビ電話等にも搭載可能である。勿論、ソフトウェア処理により上述したようなアルゴリズムを実現することもでき、いわゆるインターネットやマルチメディアでの動画のリアルタイム再生におけるブロック歪低減、ブロック歪除去も容易に実現できる。
【0187】
さらに、本発明の実施の形態によれば、エッジ抽出、動き検出の有効な情報を用いることによって、ブロック歪判定による誤判定を少なくすることができる。
【0188】
なお、本発明は上述した実施の形態のみに限定されるものではなく、例えば、上記実施の形態においては水平(H)方向の処理について述べたが、垂直(V)方向についても同様に適用可能である。また、補正値の計算やフィルタ処理の具体例は上述の例に限定されないことは勿論である。
【0189】
【発明の効果】
本発明によれば、判定手段により、ブロック境界における段差が周辺の画素と比べて突出した段差であり、直流成分及び低周波成分の量子化誤差による段差であり、かつ、境界の両隣に境界の段差より大きな段差がない場合には、ブロック歪と判定し、ブロック歪みの補正後の段差が補正量に比べて一定の比よりも小さく、補正量がブロック境界の両脇の段差よりも大きく、かつ、ブロック境界の段差が補正量決定のためのしきい値よりも小さい場合には、上記ブロック歪の補正値を修正し、上記修正された補正値に基づいてブロック歪補正手段によりブロック歪を補正するので、補正後新たに生じるエッジの発生を未然に防止することができる。従って、ブロック歪の誤判定により生じていた弊害、例えば完全に歪が除去できなかったり、エッジを誤補正して擬似エッジを発生させたりするような問題点を回避することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係るブロック歪低減装置の構成例を示すブロック図である。
【図2】(a)が符号化が容易なサンプルについての動きベクトル差分MVの値とサンプル数との関係を示す図であり、(b)が符号化が困難なサンプルについての動きベクトル差分MVの値とサンプル数との関係を示す図である。
【図3】(a)が符号化が容易なサンプルについてのIDCT係数の値とサンプル数との関係を示す図であり、(b)が符号化が困難なサンプルについてのIDCT係数の値とサンプル数との関係を示す図である。
【図4】1フレーム内においてIDCT係数と動きベクトル差分MVを算出するときの一例を説明するための図である。
【図5】垂直方向のブロック境界の符号化難易度の求め方の一例を説明するための図である。
【図6】垂直相関の強さを求める方法を説明するためのDCTブロック境界近傍の画素を示す図である。
【図7】ブロック歪補正のためのブロック境界近傍の画素を示す図である。
【図8】本発明に係る第2の実施の形態となる画像データのブロック歪低減装置の概略構成を示すブロック図である。
【図9】本発明に係る第2の実施の形態となる画像データのブロック歪低減装置が用いられたデコーダシステムの概略構成を示すブロック図である。
【図10】本発明に係る第2の実施の形態となるブロック歪低減方法の処理手順を説明するためのフローチャートである。
【図11】エッジ抽出処理の動作の一例を説明するためのフローチャートである。
【図12】ラプラシアンフィルタの係数の一例を示す図である。
【図13】動き検出処理の動作の一例を説明するためのフローチャートである。
【図14】ブロック歪判定処理の動作の一例を説明するためのフローチャートである。
【図15】1次元の2次微分によりエッジ抽出を行う場合の処理動作の一例を説明するためのフローチャートである。
【図16】図15のエッジ抽出を行う場合の画像データのブロック歪低減装置の概略構成を示すブロック図である。
【図17】ブロック境界を介して各画素の輝度値が単調減少していて、ブロック境界でのみ輝度値が増加しているときにおけるブロック歪低減処理を説明するための図である。
【図18】ブロック境界以外に生ずるエッジに対するブロック歪低減処理を説明するための図である。
【図19】ブロック境界に平行してブロック歪と検出されるエッジを示す画素があるときにおけるブロック歪低減処理を説明するための図である。
【図20】補正後に新たに生ずるエッジを抑制するときの補正処理を説明するための図である。
【図21】第1の実施の形態に係るブロック歪低減装置でブロック歪低減処理を行うときのフローチャートである。
【図22】ブロック低減処理における特殊処理を行うときのフローチャートである。
【図23】ブロック歪低減装置の他の一例を示すブロック図である。
【図24】ブロック歪補正回路で補正を行った後に新たに生じたブロック歪を除去する処理を説明するための図である。
【図25】図23に示したブロック歪低減装置でブロック歪補正回路7で補正を行った後に新たに生じたブロック歪を除去するときのフローチャートである。
【図26】従来におけるブロック歪の低減方法の一例を示す図である。
【符号の説明】
1 ブロック歪低減装置、2 MPEGデコーダ、3 符号化難易度評価回路、4 パラメータ演算回路、5 垂直相関検出回路、6 ブロック歪判定回路、7 ブロック歪補正回路、15 補正信号算出部、16 パラメータ算出部、17 エッジ抽出部、18 ブロック歪判定部、19 切換選択スイッチ、20 動き検出部、32 補正値算出部、121 パラメータ再演算回路、122 ブロック歪再判定回路、123 ブロック歪再補正回路
Claims (6)
- ブロック毎に符号化が行われる入力画像データの符号化難易度を評価する符号化難易度評価手段と、
ブロック歪の判定に必要なパラメータとして、ブロック境界差分、アクティビティ、隣接差分をそれぞれ演算するパラメータ演算手段と、
上記パラメータ演算手段からの上記各パラメータ及び上記符号化難易度評価手段からの符号化難易度を用いて、ブロック境界を含む所定の範囲内における画素値のパターンを、画像データの動きの大きさを用いたパターンマッチングにより認識することでブロック歪を判定する判定手段と、
上記ブロック境界差分及び上記隣接差分を用いて求められた補正値に基づいて、上記判定手段からの判定結果及び上記符号化難易度評価手段からの符号化難易度を用いて、上記所定の範囲内における画素値を変更することでブロック歪を補正するブロック歪補正手段とを備え、
上記判定手段は、ブロック境界における段差が周辺の画素と比べて突出した段差であり、直流成分及び低周波成分の量子化誤差による段差であり、かつ、境界の両隣に境界の段差より大きな段差がない場合には、ブロック歪と判定し、ブロック歪みの補正後の段差が補正量に比べて一定の比よりも小さく、補正量がブロック境界の両脇の段差よりも大きく、かつ、ブロック境界の段差が補正量決定のためのしきい値よりも小さい場合には、上記ブロック歪の補正値を修正し、
上記ブロック歪補正手段は、上記修正された補正値に基づいてブロック歪を補正することを特徴とするブロック歪低減装置。 - 上記ブロック歪補正手段で補正が施された画像データに再補正を施す再補正手段を備えることを特徴とする請求項1記載のブロック歪低減装置。
- 上記再補正手段は、上記ブロック歪補正手段で補正が施されたことで生じたブロック歪の判定に必要なパラメータとして、ブロック境界差分、隣接差分をそれぞれ演算するパラメータ再演算手段と、上記パラメータ再演算手段で演算された上記各パラメータを用いて、ブロック境界差分と隣接差分との比が、一定の比よりも小さい場合に、ブロック歪と判定して、上記ブロック歪の補正値を修正するブロック歪再判定手段と、上記ブロック歪再判定手段で再修正された補正値に基づいて、ブロック歪を補正するブロック歪再補正手段とを備えることを特徴とする請求項2記載のブロック歪低減装置。
- ブロック毎に符号化が行われる入力画像データの符号化難易度を評価する符号化難易度評価工程と、
ブロック歪の判定に必要なパラメータとして、ブロック境界差分、アクティビティ、隣接差分をそれぞれ演算するパラメータ演算工程と、
上記パラメータ演算工程からの上記各パラメータ及び上記符号化難易度評価工程からの符号化難易度を用いて、ブロック境界を含む所定の範囲内における画素値のパターンを、画像データの動きの大きさを用いたパターンマッチングにより認識することでブロック歪を判定する判定工程と、
上記ブロック境界差分及び上記隣接差分を用いて求められた補正値に基づいて、上記判定工程からの判定結果及び上記符号化難易度評価工程からの符号化難易度を用いて、上記所定の範囲内における画素値を変更することでブロック歪を補正するブロック歪補正工程とを有し、
上記判定工程では、ブロック境界における段差が周辺の画素と比べて突出した段差であり、直流成分及び低周波成分の量子化誤差による段差であり、かつ、境界の両隣に境界の段差より大きな段差がない場合には、ブロック歪と判定し、ブロック歪みの補正後の段差が補正量に比べて一定の比よりも小さく、補正量がブロック境界の両脇の段差よりも大き く、かつ、ブロック境界の段差が補正量決定のためのしきい値よりも小さい場合には、上記ブロック歪の補正値を修正し、
上記ブロック歪補正工程では、上記修正された補正値に基づいてブロック歪を補正することを特徴とするブロック歪低減方法。 - 上記ブロック歪補正工程で補正が施された画像データに再補正を施す再補正工程を有することを特徴とする請求項4記載のブロック歪低減方法。
- 上記再補正工程は、上記ブロック歪補正工程で補正が施されたことで生じたブロック歪の判定に必要なパラメータとして、ブロック境界差分、隣接差分をそれぞれを演算するパラメータ再演算工程と、上記パラメータ再演算工程で演算された上記各パラメータを用いて、ブロック境界差分と隣接差分との比が、一定の比よりも小さい場合に、ブロック歪と判定して、上記ブロック歪の補正値を修正するブロック歪再判定工程と、上記ブロック歪再判定工程での判定結果を用いて、ブロック歪を補正するブロック歪再補正工程とを有することを特徴とする請求項5記載のブロック歪低減方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01444498A JP4239231B2 (ja) | 1998-01-27 | 1998-01-27 | ブロック歪低減装置及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01444498A JP4239231B2 (ja) | 1998-01-27 | 1998-01-27 | ブロック歪低減装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11215500A JPH11215500A (ja) | 1999-08-06 |
JP4239231B2 true JP4239231B2 (ja) | 2009-03-18 |
Family
ID=11861211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01444498A Expired - Fee Related JP4239231B2 (ja) | 1998-01-27 | 1998-01-27 | ブロック歪低減装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4239231B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7031393B2 (en) | 2000-10-20 | 2006-04-18 | Matsushita Electric Industrial Co., Ltd. | Block distortion detection method, block distortion detection apparatus, block distortion removal method, and block distortion removal apparatus |
JP2005020294A (ja) | 2003-06-25 | 2005-01-20 | Sony Corp | ブロック歪低減装置 |
JP2007189657A (ja) * | 2005-12-16 | 2007-07-26 | Fuji Xerox Co Ltd | 画像評価装置、画像評価方法及びプログラム |
JP5045320B2 (ja) * | 2007-09-05 | 2012-10-10 | ソニー株式会社 | 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム |
JP5190410B2 (ja) * | 2009-05-11 | 2013-04-24 | 株式会社ニコンシステム | 画像品質評価方法、プログラム、及び、画像品質評価装置 |
-
1998
- 1998-01-27 JP JP01444498A patent/JP4239231B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11215500A (ja) | 1999-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4164877B2 (ja) | ブロック歪低減方法及び装置並びに符号化方法及び装置 | |
JP4186242B2 (ja) | 画像信号処理装置及び画像信号処理方法 | |
CA2925141C (en) | Image encoding system based upon boundary strength | |
JP3800704B2 (ja) | 映像信号処理装置及び方法 | |
US20130022106A1 (en) | Methods and apparatus to reduce blocking noise and contouring effect in motion compensated compressed video | |
US20040057517A1 (en) | Content adaptive video processor using motion compensation | |
US20030012276A1 (en) | Detection and proper scaling of interlaced moving areas in MPEG-2 compressed video | |
JP3961600B2 (ja) | ブロック歪低減方法及び装置 | |
US9172977B2 (en) | Filtering apparatus, method, and medium for multi-format codec | |
KR20040102211A (ko) | 코딩된 디지털 비디오에 대한 선명도 향상 시스템 및 방법 | |
JP2004529585A (ja) | 誤り隠蔽方法及び装置 | |
US8233548B2 (en) | Noise reduction device and noise reduction method of compression coded image | |
JP4239231B2 (ja) | ブロック歪低減装置及び方法 | |
JPH05308623A (ja) | 画像信号復号化装置 | |
JPH11205792A (ja) | ブロック歪低減方法及び装置 | |
JP2001008022A (ja) | 電子透かし記録方法及び電子透かし記録装置 | |
JP3699800B2 (ja) | ブロックノイズ除去装置 | |
JPH09130648A (ja) | 動画像信号処理装置 | |
JP3599909B2 (ja) | 動画像符号化装置 | |
KR100683060B1 (ko) | 영상 프레임의 블록화 현상 제거 장치 및 그 방법 | |
JPH06233266A (ja) | 映像符号化装置および映像復号化装置 | |
JP2001094996A (ja) | ブロック歪低減方法及びブロック歪低減装置 | |
JPH1198510A (ja) | 画像復号化装置 | |
JP2985752B2 (ja) | 動画像復号化装置 | |
US20110019742A1 (en) | Compression artifact removing apparatus and video reproducing apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050124 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050124 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060803 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060829 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061030 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070904 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071105 |
|
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: 20081202 |
|
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: 20081215 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120109 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120109 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130109 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |