(57)【特許請求の範囲】
【請求項１】
画素データのブロックからなるブロック化画像データで表されるブロック化画像中に、先の離散コサイン変換及び量子化処理によって発生したブロック歪みを最小にするブロック歪み除去方法において、
上記画素データのブロックの少なくとも１つの境界点について、該境界点の周辺の近接領域において、互いに隣接する画素間の差分の絶対値和の平均値からなる該境界点の局所的変化を決定するステップと、
上記画素データのブロックの少なくとも１つの境界点について、該境界点に隣接する画素間の画素データの差分からなるブロック歪みステップを決定するステップと、
上記境界点でブロック歪み点が生じているかを、上記ブロック歪みステップを、正常な小さい画像変化はブロック歪み点として検出されず、意味のある大きな画像変化もブロック歪み点として検出されないように選択された上限及び下限を有する所定の範囲と比較することによって、決定するステップと、
上記少なくとも１つの境界点がブロック歪み点として識別された場合、該識別された各ブロック歪み点について、それぞれのブロック歪み点の上記決定されたブロック歪みステップ及び局所的変化を用いて、調整値を決定するステップと、
上記決定された調整値に基づいて、上記識別されたブロック歪み点に隣接する画素及び該隣接画素に近接する画素の画素データを調整するステップとを有し、
上記調整値を決定するステップは、該調整値を、上記識別されたブロック歪み点のブロック歪みステップが該ブロック歪み点の局所的変化に調整されるように決定することを特徴とするブロック歪み除去方法。
【請求項２】
上記境界点は、垂直方向の境界点及び水平方向の境界点からなり、該垂直方向の各境界点におけるブロック歪みステップは、該垂直方向の境界点に対して水平方向に隣接する画素間の画素データの差分であり、該水平方向の各境界点におけるブロック歪みステップは、該水平方向の境界点に対して垂直方向に隣接する画素間の画素データの差分であり、
上記少なくとも１つのブロック歪み点が生じているかを決定するステップは、上記ブロック歪みステップが上記所定の範囲内にあるときに、当該境界点をブロック歪み点と識別することを特徴とする請求項１記載のブロック歪み除去方法。
【請求項３】
上記下限は、上記境界点の局所的変化からなることを特徴とする請求項１記載のブロック歪み除去方法。
【請求項４】
上記上限は、上記先の量子化処理におけるブロックの量子化によって発生する可能性がある誤差よりも大きな誤差を反映するように選択される経験的に決定された値であることを特徴とする請求項１記載のブロック歪み除去方法。
【請求項５】
上記調整値を決定するステップは、上記識別されたブロック歪み点のブロック歪みステップが０より大きい場合、該調整値を、該ブロック歪みステップと上記局所的変化との差分となるように計算し、該ブロック歪みステップが０以下である場合、該調整値を、該ブロック歪みステップと該局所的変化の和となるように計算することを特徴とする請求項１記載のブロック歪み除去方法。
【請求項６】
上記ブロック歪み点に隣接する画素及び該隣接画素に近接する画素の画素データを調整するステップは、該隣接及び近接する画素の画素データを、上記調整値に比例した量で調整することを特徴とする請求項１記載のブロック歪み除去方法。
【請求項７】
上記調整値に比例した量は、上記ブロック歪み点から上記隣接及び近接する各画素までの距離に反比例した量であることを特徴とする請求項６記載のブロック歪み除去方法。
【請求項８】
画素データのブロックからなるブロック化画像データで表されるブロック化画像中に、先の離散コサイン変換及び量子化処理によって発生したブロック歪みを最小にするブロック歪み除去装置において、
上記画素データが入力される入力装置と、
上記入力装置に接続され、中央処理装置とメモリを有し、上記画素データのブロックの少なくとも１つの境界点について、該境界点の周辺の近接領域において、互いに隣接する画素間の差分の絶対値和の平均値からなる該境界点の局所的変化を決定し、該画素データのブロックの少なくとも１つの境界点について、該境界点に隣接する画素間の画素データの差分からなるブロック歪みステップを決定し、該境界点でブロック歪み点が生じているかを、該ブロック歪みステップを、正常な小さい画像変化はブロック歪み点として検出されず、意味のある大きな画像変化もブロック歪み点として検出されないように選択された上限及び下限を有する所定の範囲と比較することによって、決定し、該少なくとも１つの境界点がブロック歪み点として識別された場合、該識別された各ブロック歪み点について、それぞれのブロック歪み点の該決定されたブロック歪みステップ及び局所的変化を用いて、調整値を決定し、該決定された調整値に基づいて、該識別されたブロック歪み点に隣接する画素及び該隣接画素に近接する画素の画素データを調整するプロセッサとを備え、
上記プロセッサは、上記調整値を、上記識別されたブロック歪み点のブロック歪みステップが該ブロック歪み点の局所的変化に調整されるように決定することを特徴とするブロック歪み除去装置。
【請求項９】
さらに、上記プロセッサに接続され、該プロセッサによって出力される画素データを表示する表示装置を備える請求項８記載のブロック歪み除去装置。
【請求項１０】
上記境界点は、垂直方向の境界点及び水平方向の境界点からなり、該垂直方向の各境界点におけるブロック歪みステップは、該垂直方向の境界点に対して水平方向に隣接する画素間の画素データの差分であり、該水平方向の各境界点におけるブロック歪みステップは、該水平方向の境界点に対して垂直方向に隣接する画素間の画素データの差分であり、
上記プロセッサは、上記ブロック歪みステップが上記所定の範囲内にあるときに、当該境界点をブロック歪み点と識別することを特徴とする請求項８記載のブロック歪み除去装置。
【請求項１１】
上記下限は、上記境界点の局所的変化からなることを特徴とする請求項８記載のブロック歪み除去装置。
【請求項１２】
上記上限は、上記先の量子化処理におけるブロックの量子化によって発生する可能性がある誤差よりも大きな誤差を反映するように選択される経験的に決定された値であることを特徴とする請求項８記載のブロック歪み除去装置。
【請求項１３】
上記プロセッサは、上記識別されたブロック歪み点のブロック歪みステップが０より大きい場合、上記調整値を、該ブロック歪みステップと上記局所的変化との差分となるように計算し、該ブロック歪みステップが０以下である場合、該調整値を、該ブロック歪みステップと該局所的変化の和となるように計算することを特徴とする請求項８記載のブロック歪み除去装置。
【請求項１４】
上記プロセッサは、上記隣接及び近接する画素の画素データを、上記調整値に比例した量で調整することを特徴とする請求項８記載のブロック歪み除去装置。
【請求項１５】
上記調整値に比例した量は、上記ブロック歪み点から上記隣接及び近接する各画素までの距離に反比例した量であることを特徴とする請求項１４記載のブロック歪み除去装置。
【発明の詳細な説明】
技術分野
本発明は、圧縮及び伸長が行われた画像に発生するブロック歪みを除去するブロック歪み除去方法及び装置に関する。特に、本発明は、ＭＰＥＧ、ＪＰＥＧ及びその他のＤＣＴ変換ベースのフォーマットに基づいて圧縮された画像に発生するブロック歪みを除去するブロック歪み除去方法及び装置に関する。
背景技術
静止画像、動画像に関わらず、デジタル画像データを圧縮する必要性が非常に高まってきている。その理由の１つとして、マルチメディアコンピュータ装置及びソフトウェアが非常に普及してきたことが挙げられる。もう１つの理由として、放送番組のデジタル放送への転換が行われていることが挙げられる。後者の一例としては、例えばＤＳＳTMのような衛星放送が挙げられる。番組の放送信号を伝送するときに必要な帯域幅を最小にし、又はある画像データを保存するときに必要な記憶容量を最小する目的で圧縮技術が用いられている。このように画像データを伝送又は蓄積する際には圧縮フォーマットが用いられ、圧縮された画像データは表示される前に伸長される。広く利用されている圧縮アルゴリズムの例として、ＭＰＥＧ（Moving Picture Experts Group）及びＪＰＥＧ（Joint Picture Experts Group）規格に準拠した圧縮アルゴリズムがある。
ＭＰＥＧ及びＪＰＥＧ規格に準拠した圧縮処理をはじめ、多くの圧縮処理において変換符号化が用いられている。変換符号化処理では、１つの画像は小さなブロックに分割される。各ブロックは変換され、それぞれのブロックの変換係数は、所定の量子化係数ｑに基づいて量子化される。最も一般的な変換として、離散コサイン変換（以下、ＤＣＴ変換という）がある。
しかし、このような処理には１つの欠点があり、ここではそれを「ブロック歪み（blocking effect）」として説明する。符号化する前に画像をブロックに分割することにより、隣接するブロック間に不連続性（以下、ブロック歪みと呼ぶ）が生じる。このことにより、伸長され表示された画像の中の色又はグレースケール（gray scale）が不連続的に変化してしまい、画像が連続的に変化しなくなってしまう。
ブロック歪みを最小にするために、前処理及び後処理の技術が適用されている。前処理では、画像データの送信側がブロック歪みを最小にするために幾つかの処理を行う。一方、後処理においても、伸長の後に補正が行われるので、理論的には前処理ほどではないが、問題がある。例えば、最も簡単な技術の１つとして、ローパスフィルタを通して伸長された画像データを処理する技術がある。しかし、この技術では、ブロック歪みは減少するが、表示された画像の鮮鋭度が損なわれてしまう。
発明の開示
本発明に係る画像に発生するブロック歪みを除去するブロック歪み除去方法及び装置では、伸長された画像データに対して後処理が施され、画像の鮮鋭度を損なうことなく画像のブロック歪みを検出し、最小にする。
最初に、ブロック歪みを有する画素が検出される。隣接するブロック間の画素データ（例えば、輝度値）の差分が検出され、検出された差分が、ブロック歪みが識別される範囲内にあるかどうかを判定する。ブロック歪みが検出されると、画像中のブロック歪みを有する画素及びその画素に隣接する画素に調整項（adjustment terms）が加算される。調整量は、ブロック歪みが検出された箇所から離れた画素数に反比例する。この結果、表示される画像のブロック歪みは最小になっているとともに、画像の鮮鋭度も維持される。
【図面の簡単な説明】
本発明の目的、特徴及び利点は、以下の詳細な説明を参照することによって当業者には自明になる。以下の詳細な説明において、
図１は、本発明に係る画像に発生するブロック歪みを除去するブロック歪み除去装置の簡単なブロック図である。
図２は、ブロック歪みを最小にする処理を示す簡単なフローチャートである。
図３は、デジタル画像の中のブロックとブロック境界とを示す図である。
図４は、ブロック上で行われるブロックベースの一具体的な処理を示すフローチャートである。
図５ａは、ブロック歪みを最小にする処理を実行する回路を示す簡単なブロック図であり、図５ｂは、本発明に基づきブロック歪みを最小にするステップを実行する処理装置を示す簡単なブロック図である。
図６ａ及び図６ｂは、１つの境界を横切る一列の処理を行った後の結果を示す図である。
発明を実施するための最良の形態
本発明は、離散コサイン変換を行った画像に発生するブロック歪みを最小にする簡単かつ効果的なブロック歪み除去装置及び方法を提供する。以下、本発明が完全に理解されるように様々な詳細事項を説明する。一方、本発明を実施するに当たり、これから説明する詳細事項が必ずしも必要ではないことは、当業者にとって明らかである。また、本発明を不必要に不明瞭にすることがないように、一般的によく知られた電気的構造及び電気回路をブロック図の形式で示す。
図１は、本発明に基づいて動作するブロック歪みを除去するブロック歪み除去装置の簡単な構成を示すブロック図である。伝送帯域幅を最小にし、及び／又は画像データを記憶するために必要な記憶容量を最小するために、画像データは、多くの場合、離散コサイン変換によって圧縮形式にフォーマットされる。頻繁に利用されるフォーマットとして、ＪＰＥＧ（Joint Picture Experts Group）及びＭＰＥＧ（Moving Picture Experts Group）規格に準拠したフォーマットがある。図１に示すブロック歪みを除去する装置は、受信機／表示器１０と、表示装置４０とを備える。受信機／表示器１０としては、例えばビデオＣＤプレーヤがある。また、他の例としては、ソニー株式会社製の衛星放送受信機がある。この他にも、様々な種類の受信機／プレーヤ／記憶装置／表示器がある。
受信機／表示器１０は、圧縮された画像データ（以下、圧縮画像データという。）を受信する。このような受信機／表示器１０は、圧縮画像データを受信するように構成された様々な種類の受信機の１つである。受信機／表示器１０としては、テレビジョン放送信号を受信する受信機／表示器、或いは記憶装置（例えば、メモリ、ＶＣＲ、ＣＤ−ＲＯＭ等）に直接接続された機器から読み出された圧縮画像データを受信する受信機／表示器等がある。さらに補足すると、圧縮画像データはＭＰＥＧ規格と互換性のあるフォーマットで受信されるが、画像データを圧縮する際に離散コサイン変換を用いる他の種類の圧縮フォーマットも利用できる。
圧縮画像データが受信機／表示器１０によって受信されると、受信された圧縮画像データは、復号器２０によってブロック単位で復号（すなわち伸長）された後、符号化及び復号処理で発生したブロック歪みを除去するために、後処理回路３０によって処理される。補正された後に、表示装置４０によって表示される画像のブロック歪みは、最小になっている。
後処理回路３０によって実行される処理について図２を参照しながら説明する。ステップ２００において、ブロックの周囲の各境界点の隣接した画素が検査され、ステップ２１０において、画素間にブロック歪み点（blocking point）が存在するかどうかが判定される。ブロック歪み点が検出された場合、ステップ２２０において、調整値が決定され、ブロック歪み点の画素が調整される。この調整値は、ブロック歪み点に隣接及び近接する画素に対して、段階的に又はブロック歪み点からの距離に反比例して適用される。隣接する画素のみを調整するだけではなく、近接する画素も調整することにより、ブロック境界周辺の領域の画像は、よりなだらかになる。
ブロック歪み検出処理は、画像中の互いに隣接する画素の各ペアに対して、例えば列ベース又は行ベースで行われる。好ましくは、効果を維持するが、処理時間を最小にするために、ブロック歪みのあるブロック境界に隣接する画素が検査される。図３を参照して、この検出処理を詳細に説明する。上述したように、画像３００は、ブロック（例えば、ブロック３０５、３１０、３２０、３３０）に分割され、画素からなる各ブロックに対して、ＤＣＴ変換及び量子化、逆ＤＣＴ変換及び逆量子化処理が行われる。この結果、ブロック境界（例えば、ブロック３３０のブロック境界３４０、３４５、３５０、３５５）でブロック歪みが発生する。例えば、行方向の画素にブロック歪みが発生する垂直方向のブロック境界３４５を検査する場合、行３５１〜行３５８のブロック境界３４５の両側の隣接した画素にブロック歪み点が存在するかが検査され、各行のブロック境界に隣接する画素及び対応する行の近接する所定数の画素が調整される。同様に、水平方向の境界３４０を検査する場合、列３６１〜３６８中のブロック境界３４０に隣接する画素にブロック歪み点が存在するかが検査され、各列のブロック境界３４０に隣接する画素及び対応する列の近接する所定数の画素が調整される。
ブロック歪みを検出してブロック歪みを最小にする処理の一実施例を、図４を参照して詳細に説明する。上述したように、各ブロック境界に隣接する画素間の画素データの差分（以下、ブロック歪みステップ（blocking step）という。）を、ブロック境界点を表す所定の範囲と比較する。
ブロック歪み点を表す所定の範囲の上限及び下限は、様々な方法で決定される。好ましくは、この上限及び下限は、画素間の正常な小さい画像変化（normal minor image variation）のときはブロック歪み点と判定せず、また、画像の中に異なる物体があるときに生じる意味のある大きな画像変化（significant image variation）のときもブロック歪み点と判定しないように設定される。この上限及び下限は、経験的に設定された所定の値である。また、他の方法でこの上限及び下限を決定することも考えられる。例えば、この上限及び下限を動的に設定することもできる。なお、下限は、近接する画素の局所的変化（local variance）であることが好ましい。
ステップ４００において、ブロックの周辺の近接領域における画素データの局所的変化が決定される。好ましくは、ブロック歪み点のそれぞれの潜在的な位置について局所的変化が決定される。検査されるブロック歪み点の近接領域の大きさ（すなわち、画素数）及び位置は変えることができる。この実施例では、垂直方向のブロック境界を検査する場合、特定の潜在的垂直境界点を決定するために用いられる行の一部には、以下の画素が含まれる。
x+4 x+5 x+6 x+7｜x+8 x+9 x+lO x+11
（ここで、｜は境界点の位置を示す）
ブロック歪み点の近接領域の局所的変化は、様々な方法で定義することができる。この実施例では、ブロック歪み点の近接領域における互い隣接した画素間の輝度値の差分の絶対値和の平均値として決定される。この実施例では、近接領域は６つの画素（i+5、i+6、i+7、i+8、i+9、i+10）からなり、したがって、以下に示す式で求められた値が局所的変化である。
局所的変化＝(abs(p[i+6][]-p[i+5][])+abs(p[i+7][]-p[i+6][])+abs(p[i+9][]-p[i+8][])+abs(p[i+10][]-p[i+9][]))/4
ここで、absは絶対値、またp[][]は画素データである。
同様に、上限も、様々な方法で決定される。なお、この実施例では、経験的に決定された所定の値が用いられる。この所定の値は、符号化処理におけるブロックの量子化によって発生する可能性がある誤差よりも大きな、考えられる誤差を反映するように選択される。この実施例では、例えば３２という値が用いられる。
一旦、局所的変化が決定され、したがって、ブロック歪み点を表す所定の範囲が決定されると、ステップ４１０において、ブロック境界に隣接する画素間のブロック歪みステップ（blocking step）が決定される。上述した実施例で説明すると、ブロック歪みステップが画素x+7と画素x+8間の差分として決定される。画素間の差分は、各画素の輝度成分の差分であることが好ましいが、画像データの他の成分を用いることもできる。
ステップ４２０において、ブロック歪みステップがブロック歪み点を表す所定の範囲と比較され、ブロック歪み点が存在するかが決定される。ブロック歪みステップがブロック歪み点を表す所定の範囲内にあり、ブロック歪み点が存在する場合には、ステップ４３０において、調整値が決定される。
調整値は、様々な方法で決定することができる。調整値は、検出されたブロック歪み点を最少に又は除去するように選択される。好ましくは、調整値は、ブロック歪み点上（すなわち、ブロック歪み点で）のブロック歪みステップが、対応する領域、すなわち近接領域における局所的変化に調整されるように決定される。上述した実施例で説明すると、ブロック歪みステップが０より大きい場合、調整値は、ブロック歪みステップと局所的変化との差分に等しくされる（調整値＝ブロック歪みステップ−局所的変化）。一方、ブロック歪みステップが０以下の場合、調整値は、ブロック歪みステップと局所的変化の和に等しくされる（調整値＝ブロック歪みステップ＋局所的変化）。
一旦、調整値が決定されると、この調整値は、ブロック歪みを最小に又は除去するために、適切な画素に加算される。さらに、この調整値に比例した量の調整値が、検出されたブロック歪み点に隣接する画素及び近接する画素に加算される。近接する画素の数及び比例量（proportionate amount）は、変えることができる。なお、ブロック歪みを最小にするためには、以下に示すような画素及び調整値の比例量を用いることが好ましい。
p′[i+8][]=p[i+8][]-調整値/2
p′[i+7][]=p[i+7][]+調整値/2
p′[i+9][]=p[i+9][]-調整値/4
p′[i+6][]=p[i+6][]+調整値/4
p′[i+10][]=p[i+10][]-調整値/8
p′[i+5][]=p[i+5][]+調整値/8
p′[i+11][]=p[i+11][]-調整値/16
p′[i+4][]=p[i+4][]+調整値/16
上述した説明から明らかなように、この実施例では、２つの隣接する画素と６つの近接する画素を調整する。加算される調整値の分母は、ブロック歪み点からの距離に比例している。この機能を実現するのに用いられる回路を簡単にするために、分母の値として２の累乗に対応した値を用いる。なお、容易に理解できるように、所望の効果を得るために、他の分母の値及び割合を用いることもできる。
図５ａは、ブロック歪みを除去する処理を行う回路のブロック図である。図５ａは、一実施例を示しており、容易に理解できるように、本発明は、専用のマイクロコントローラ回路、論理回路、或いは汎用コンピュータで実行可能なソフトウェアとして、実現することができる。図５ａに示すように、ブロック化画像データ（blocking image）は、局所的変化ブロック５０５と、ブロック歪みステップ計算ブロック５１０と、隣接又は近接する画素を調整する画素調整ブロック５２５とに入力される。局所的変化ブロック５０５は、上述した下限として用いられる局所的変化を決定する。ブロック歪みステップ計算ブロック５１０は、入力されるブロック化画像データを用いてブロック歪みステップを計算する。ブロック歪み点判定ブロック５１５は、入力されるブロック歪みステップ、局所的変化及び上限を用いて、ブロック歪み点が生じているか否かを判定する。ブロック歪み点が生じている場合、調整値計算ブロック５２０は、入力される局所的変化、ブロック歪みステップ及びブロック歪み点の識別子を用いて調整値を計算する。画素調整ブロック５２５は、入力される調整値及びブロック化画像データを用いて、近接する画素を調整する。このように調整されて生成された画像は、多重化ブロック５３０を介して出力される。ブロック歪み点が生じていない場合は、元の画像（ブロック化画像）が出力される。
図５ｂは、上述した処理を行うプロセッサ装置の簡単なブロック図である。ブロック化画像は入力ポート回路５４０を介して入力され、入力ポート回路５４０は、入力されたブロック化画像をプロセッサ５４５に供給する。プロセッサ５４５は、中央処理装置５５０を備え、中央処理装置５５０は、メモリ５５５からのインストラクションを実行して、上述したブロック歪みを低減するステップを実行する。
本発明による効果は、図６ａ及び図６ｂの具体例に示すように、ブロック境界を横切る一行での処理を示した結果より明らかである。この処理は、ブロック境界の影響を受ける各行及び列に対して実行することができる。
本発明は、最良の実施例に基づいて説明をしてきた。以上の説明を参照すれば、当業者にとってその他の実施例、修正例、利用方法が可能であることは明らかである。
【図１】
0004060362.tif 000002
【図２】
0004060362.tif 000003
【図３】
0004060362.tif 000004
【図４】
0004060362.tif 000005
【図５Ａ】
0004060362.tif 000006
【図５Ｂ】
0004060362.tif 000007
【図６Ａ】
0004060362.tif 000008
【図６Ｂ】
0004060362.tif 000009