(57)【特許請求の範囲】
【請求項１】
入力画像データのブロック符号化におけるブロック歪を低減するためのブロック歪低減方法において、
上記入力画像データから符号化の難易度を示すパラメータを検出する符号化難易度検出工程と、
上記入力画像データからブロック歪判定に必要なパラメータを演算する演算工程と、
上記符号化の難易度を示すパラメータ検出の結果及び上記パラメータ演算の結果に基づいてブロック歪を判定する判定工程と、
上記ブロック歪を低減するための補正値を算出する補正値算出工程と、
上記ブロック歪の判定結果に応じた上記補正値による補正を上記入力画像データに対して施して出力する出力工程とを有し、
上記符号化難易度検出工程では、入力画像データの動きを検出する動き検出処理を行うとともに、上記入力画像データの高周波成分を検出する高周波成分のエネルギー量算出処理を行い、符号化の難易度を示すパラメータとして、上記動き検出処理により検出される動き及び上記エネルギー量算出処理による算出される高周波成分のエネルギー量が大きいほど符号化の難易度が高いこと示すパラメータを検出し、
上記演算工程では、上記ブロック歪判定に必要なパラメータとして、上記入力画像データからブロック境界の近傍に位置する隣接画素の差分により示される上記ブロック境界の近傍におけるアクティビティ、上記ブロック境界を挟んで異なるブロックに位置する隣接画素の差分、上記隣接画素に隣接して一方のブロックに位置する隣接画素、及び、上記隣接画素に隣接して他方のブロックに位置する隣接画素の各隣接画素の差分の各パラメータを算出し、
上記判定工程では、上記演算工程で算出された各パラメータを比較することによりブロック境界の両側のエッジの有無を判定するとともに、上記符号化難易度検出工程で検出されたパラメータを閾値と比較することにより、ブロック歪の複数段階の強さを判定し、
上記補正値算出工程において、上記判定工程により判定されたブロック歪の複数段階の強さに応じて、上記ブロック歪を低減するための補正値を算出し、
上記出力工程では、上記補正値算出工程で算出された補正値よる補正を上記入力画像データに対して施して出力する
を特徴とするブロック歪低減方法。
【請求項２】
上記入力画像データを得るために入力ビットストリームに復号処理を施すデコード工程を有し、
上記デコード工程では、上記入力ビットストリームに復号処理を施すとともに、上記入力ビットストリームに含まれる動きベクトル差分信号とＩＤＣＴ係数とを検出し、
上記符号化難易度検出工程では、上記符号化の難易度を示すパラメータとして、上記デコード工程で検出された動きベクトル差分信号とＩＤＣＴ係数が大きいほど符号化の難易度が高いこと示すパラメータを出力する
ことを特徴とする請求項１記載のブロック歪低減方法。
【請求項３】
各ブロックにおける境界の相関を検出する相関検出工程を有し、
上記判定工程では、上記相関検出工程で検出された相関が強い程ブロック歪みが大きいものとしてブロック歪の判定を行い、
上記補正値算出工程では、上記相関検出工程で検出された相関が強い程大きな補正値を算出することを特徴とする請求項１記載のブロック歪低減方法。
【請求項４】
入力画像データのブロック符号化におけるブロック歪を低減するためのブロック歪低減装置において、
上記入力画像データから符号化の難易度を示すパラメータを検出する符号化難易度検出手段と、
上記入力画像データからブロック歪判定に必要なパラメータを算出するパラメータ算出手段と、
上記符号化の難易度を示すパラメータ検出の結果及び上記パラメータ演算の結果に基づいてブロック歪を判定するブロック歪判定手段と、
上記ブロック歪を低減するための補正値を算出する補正値算出手段と、
上記ブロック歪の判定結果に応じた上記補正値による補正を上記入力画像データに対して施して出力する出力手段とを有し、
上記符号化難易度検出手段は、上記入力画像データの動きを検出する動き検出処理を行うとともに、上記入力画像データの高周波成分を検出する高周波成分のエネルギー量算出処理を行い、符号化の難易度を示すパラメータとして、上記動き検出処理により検出される動き及び上記エネルギー量算出処理による算出される高周波成分のエネルギー量が大きいほど符号化の難易度が高いこと示すパラメータを検出し、
上記パラメータ算出手段は、上記ブロック歪判定に必要なパラメータとして、上記入力画像データからブロック境界の近傍に位置する隣接画素の差分により示される上記ブロック境界の近傍におけるアクティビティ、上記ブロック境界を挟んで異なるブロックに位置する隣接画素の差分、上記隣接画素に隣接して一方のブロックに位置する隣接画素、及び、上記隣接画素に隣接して他方のブロックに位置する隣接画素の各隣接画素の差分の各パラメータを算出し、
上記ブロック歪判定手段は、上記演算工程で算出された各パラメータを比較することによりブロック境界の両側のエッジの有無を判定するとともに、上記符号化難易度検出工程で検出されたパラメータを閾値と比較することにより、ブロック歪の複数段階の強さを判定し、
上記補正値算出手段は、上記判定手段により判定されたブロック歪の複数段階の強さに応じて、上記ブロック歪を低減するための補正値を算出し、
上記出力手段は、上記補正値算出工程で算出された補正値よる補正を上記入力画像データに対して施して出力する
を特徴とするブロック歪低減装置。
【請求項５】
上記ブロック歪判定手段からの判定結果に応じて、上記補正された信号と、上記入力画像データとを切り換えて出力する切換選択手段を有することを特徴とする請求項４記載のブロック歪低減装置。
【請求項６】
上記入力画像データを得るために入力ビットストリームに復号処理を施すデコード手段を有し、
上記デコード手段では、上記入力ビットストリームに復号処理を施すとともに、上記入力ビットストリームに含まれる動きベクトル差分信号とＩＤＣＴ係数とを検出し、
上記符号化難易度検出手段は、上記符号化の難易度を示すパラメータとして、上記デコード手段で検出された動きベクトル差分信号とＩＤＣＴ係数が大きいほど符号化の難易度が高いこと示すパラメータを出力することを特徴とする請求項４記載のブロック歪低減装置。
【請求項７】
各ブロックにおける境界の相関を検出する相関検出手段を有し、
上記ブロック歪判定工程では、上記相関検出手段で検出された相関が強い程ブロック歪みが大きいものとしてブロック歪の判定を行い、
上記補正値算出手段では、上記相関検出手段で検出された相関が強い程大きな補正値を算出することを特徴とする請求項４記載のブロック歪低減装置。
【請求項８】
ブロック符号化された入力画像データの動きを検出する動き検出処理を行うとともに、上記入力画像データの高周波成分を検出する高周波成分のエネルギー量算出処理を行い、符号化の難易度を示すパラメータとして、上記動き検出処理により検出される動き及び上記エネルギー量算出処理による算出される高周波成分のエネルギー量が大きいほど符号化の難易度が高いこと示すパラメータを検出し、上記入力画像データからブロック境界の近傍に位置する隣接画素の差分により示される上記ブロック境界の近傍におけるアクティビティ、上記ブロック境界を挟んで異なるブロックに位置する隣接画素の差分、上記隣接画素に隣接して一方のブロックに位置する隣接画素、及び、上記隣接画素に隣接して他方のブロックに位置する隣接画素の各隣接画素の差分をブロック歪判定に必要なパラメータとして各パラメータを算出し、算出されたブロック歪判定に必要な各パラメータを比較することによりブロック境界の両側のエッジの有無を判定するとともに、検出された符号化の難易度を示すパラメータを閾値と比較することにより、ブロック歪の複数段階の強さを判定し、判定されたブロック歪の複数段階の強さに応じて、上記ブロック歪を低減するための補正値を算出し、算出された補正値よる補正を上記入力画像データに対して施すことにより、上記入力画像データのブロック歪を低減するブロック歪低減工程と、
上記ブロック歪低減工程により得られた画像データをビットストリームに符号化するエンコード工程とを有すること
を特徴とする符号化方法。
【請求項９】
上記ブロック符号化は、２次元離散コサイン符号化（ＤＣＴ）であることを特徴とする請求項８記載の符号化方法。
【請求項１０】
上記ブロック歪低減工程は、入力されたブロック符号化されたビットストリームを復号して上記入力画像データとするデコード工程を含むことを特徴とする請求項８記載の符号化方法。
【請求項１１】
ブロック符号化された入力画像データの動きを検出する動き検出処理を行うとともに、上記入力画像データの高周波成分を検出する高周波成分のエネルギー量算出処理を行い、符号化の難易度を示すパラメータとして、上記動き検出処理により検出される動き及び上記エネルギー量算出処理による算出される高周波成分のエネルギー量が大きいほど符号化の難易度が高いこと示すパラメータを検出し、上記入力画像データからブロック境界の近傍に位置する隣接画素の差分により示される上記ブロック境界の近傍におけるアクティビティ、上記ブロック境界を挟んで異なるブロックに位置する隣接画素の差分、上記隣接画素に隣接して一方のブロックに位置する隣接画素、及び、上記隣接画素に隣接して他方のブロックに位置する隣接画素の各隣接画素の差分をブロック歪判定に必要なパラメータとして各パラメータを算出し、算出されたブロック歪判定に必要な各パラメータを比較することによりブロック境界の両側のエッジの有無を判定するとともに、検出された符号化の難易度を示すパラメータを閾値と比較することにより、ブロック歪の複数段階の強さを判定し、判定されたブロック歪の複数段階の強さに応じて、上記ブロック歪を低減するための補正値を算出し、算出された補正値よる補正を上記入力画像データに対して施すことにより、上記入力画像データのブロック歪を低減するブロック歪低減手段と、
上記ブロック歪低減工程により得られた画像データをビットストリームに符号化するエンコード手段と
を有することを特徴とする符号化装置。
【請求項１２】
上記ブロック符号化は、２次元離散コサイン符号化（ＤＣＴ）であることを特徴とする請求項１１記載の符号化装置。
【請求項１３】
上記ブロック歪低減手段は、入力されるブロック符号化されたビットストリームを復号して上記入力画像データとするデコード手段を含むことを特徴とする請求項１１記載の符号化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、静止画データや動画データ等の入力データをブロック化してＤＣＴ符号化等を施すようなブロック符号化におけるブロック歪を低減するためのブロック歪低減方法及び装置、並びにブロック歪を低減して符号化を行う符号化方法及び装置に関するものである。
【０００２】
【従来の技術】
従来、静止画データや動画データ等を効率よく圧縮符号化するための符号化方式として、ブロックＤＣＴ（離散コサイン変換）符号化等のブロック符号化が知られている。
【０００３】
このようなブロック符号化による画像データ等の圧縮／伸張の際には、ブロック歪（ブロック雑音）が発生することがあり、圧縮率が高くなるほど歪を発生させ易い。このブロック歪は、ＤＣＴ符号化等がブロック内の閉じた空間で変換を行っており、ブロック境界を越えた相関を考慮していないため、ブロック境界での連続性が保存できず、隣接ブロックとの境界部での再生データ値のずれが雑音として知覚されるものである。画像データをブロック符号化した場合に発生するブロック歪は、一種の規則性を有するため一般のランダム雑音に比べて知覚され易く、画質劣化の大きな要因となっている。
【０００４】
このブロック歪を低減するために、例えば、「井田、駄竹，“ＭＣ−ＤＣＴ符号化方式におけるノイズ除去フィルタ”，1990年電子情報学会春季全国大会講演論文集，7-35」の文献においては、画像本来の情報であるエッジを保存し、それらのノイズを除去するため、フィルタのon,offの決定に量子化ステップサイズを用いたり、処理していく方向を変えて複数回処理を行う技術が開示されている。
【０００５】
また、「井澤，“画像のブロック符号化における適応形雑音除去フィルタの特性”，信州大学工学部紀要  第７４号、pp.89-100」の文献においては、周辺ブロックまで抜き出してＤＣＴ変換を行いノイズ周波数成分を除去する技術が開示されている。
【０００６】
ところで、前者のノイズ除去フィルタをon,offする方法では、処理が簡単な反面、画像の高周波成分が欠落して、解像度が劣化するという欠点がある。
【０００７】
また、後者の適応形雑音除去フィルタを用いる方法では、解像度が保存されながら効果的なブロック歪の低減が行えるものの、処理が複雑でコストが嵩み、特に民生用機器等に適用するには不適当である。
【０００８】
また、ブロック歪判定の際の誤判定により、完全にブロック歪が除去できなかったり、エッジを誤補正して擬似エッジを発生させたりする、という問題点がある。
【０００９】
ブロック符号化方式にて符号化されたビットストリームは、例えばビットレートの異なる機器に対応させるために、例えば８Ｍｂｐｓから４Ｍｂｐｓに異なるビットレートのビットストリームにレート変換されることがある。
【００１０】
このように、ブロック符号化方式にて符号化されたビットストリームをレート変換して再符号化を行う場合には、デコーダで復号された復号画像にブロックノイズが発生していても、そのまま符号化していた。
【００１１】
このため、再符号化時や、フォーマット変換時のように、動き補償により予測符号化をする動きベクトル検出を行う際には、ブロックノイズに妨害されて動きベクトルの検出精度が低下していた。
【００１２】
また、ブロックノイズが発生する位置は、ブロックの境界の位置に一意に依存する。そのため、ブロック境界の位置が同じ符号化方式を用いて再エンコードやフォーマットのための符号化を行う場合、ブロックノイズが発生している画像についてブロックノイズの除去をすることなく符号化すると、再生画像においては、ブロックノイズが強調されてさらに目立ってしまうという問題があった。
【００１３】
なお、画像データのブロック符号化方式の一例としては、画面内の相関を利用したＤＣＴ変換、画面間の相関を利用した動き補償、及び符号列の相関を利用したハフマン符号化を組み合わせたＭＰＥＧ（Moving pictures experts group）を挙げることができる。
【００１４】
【発明が解決しようとする課題】
本発明は、上述の如き実情に鑑みてなされたものであり、処理が簡単で、高周波成分の欠落もなく、安定したブロック歪の低減あるいは除去が図れ、ブロック歪判定の際の誤判定を防止することができ、さらに、再符号化の際に動きベクトルの検出精度を低下を防止すると共にブロックノイズの発生を抑制するようなブロック歪低減方法及び装置、並びにブロックノイズを低減するような符号化方法及び装置を提供することを目的とする。
【００１５】
【課題を解決するための手段】
本発明では、上述した課題を解決するために、入力画像データの動きを検出する動き検出処理を行うとともに、上記入力画像データの高周波成分を検出する高周波成分のエネルギー量算出処理を行い、符号化の難易度を示すパラメータとして、上記動き検出処理により検出される動き及び上記エネルギー量算出処理による算出される高周波成分のエネルギー量が大きいほど符号化の難易度が高いこと示すパラメータを検出し、ブロック歪判定に必要なパラメータとして、上記入力画像データからブロック境界の近傍に位置する隣接画素の差分により示される上記ブロック境界の近傍におけるアクティビティ、上記ブロック境界を挟んで異なるブロックに位置する隣接画素の差分、上記隣接画素に隣接して一方のブロックに位置する隣接画素、及び、上記隣接画素に隣接して他方のブロックに位置する隣接画素の各隣接画素の差分の各パラメータを算出し、算出されたブロック歪判定に必要な各パラメータを比較することによりブロック境界の両側のエッジの有無を判定するとともに、検出された符号化の難易度を示すパラメータを閾値と比較することにより、ブロック歪の複数段階の強さを判定し、判定されたブロック歪の複数段階の強さに応じて、上記ブロック歪を低減するための補正値を算出し、算出された補正値よる補正を上記入力画像データに対して施すことにより、上記入力画像データのブロック歪を低減する。
【００１６】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【００１７】
図１には、第１の実施の形態に係るブロック歪低減装置１の概略構成を示している。この図１に示すブロック歪低減装置１は、ＭＰＥＧビットストリームを復号処理するＭＰＥＧデコーダを内蔵している一例である。すなわち、このブロック歪低減装置１は、ＭＰＥＧデコーダでデコード処理が施された画像データに生ずるブロック歪を低減するようになされている。
【００１８】
このブロック歪低減装置１は、入力された画像データにデコード処理を施すＭＰＥＧデコーダ２と、デコード処理が施された画像データの符号化難易度を評価する符号化難易度評価回路３と、ブロック歪の判定に必要なパラメータを演算するパラメータ演算回路４と、画像データの垂直方向の相関を検出する垂直相関検出回路５と、画像データのブロック歪の状態を判定するブロック歪判定回路６と、画像データに生じたブロック歪を補正するブロック歪補正回路７とを備える。
【００１９】
ＭＰＥＧデコーダ２には、ＭＰＥＧ方式のビットストリームが入力される。このＭＰＥＧデコーダ２は、入力されたビットストリーム内のデータに逆量子化、逆ＤＣＴ（離散コサイン変換）を施すことで、デコード処理を施す。このとき、ＭＰＥＧデコーダ２は、複数のマクロブロックからなるＤＣＴブロック単位でデコードを施す。このＭＰＥＧデコーダ２は、デコード処理を施した結果得たＩＤＣＴ（逆ＤＣＴ）係数と、動きベクトル差分ＭＶを検出して符号化難易度評価回路３及びブロック歪補正回路７に出力する。
【００２０】
符号化難易度評価回路３は、ＭＰＥＧデコーダ２からの動きベクトル差分ＭＶとＩＤＣＴ係数とを用いて、画像データの符号化難易度を示すパラメータＫｐを生成する。ここで、動きベクトル差分ＭＶはＭＰＥＧデコーダ２に入力されるビットストリームに含まれている動きベクトルの差分値であり、ＩＤＣＴ係数はＭＰＥＧデコーダ２に入力されるビットストリームに含まれている量子化されたＤＣＴ係数を逆量子化した後に逆ＤＣＴした結果得られる係数である。
【００２１】
動きベクトル差分ＭＶ及びＩＤＣＴ係数は、入力画像データが示す画像の複雑度に応じて図２Ａ、図２Ｂ、図３Ａ及び図３Ｂに示すような関係を有する。これらの図は、図２Ａ及び図３Ａとして一般的に符号化難易度の高い第１のサンプル（ｙａｓｈｉ）についての動きベクトル差分ＭＶ及びＩＤＣＴ係数を示し、図２Ｂ及び図３Ｂとして一般的に符号化難易度の低い第２のサンプル（ｆｌｏｗｅｒ）についての動きベクトル差分ＭＶ及びＩＤＣＴ係数を示した図である。
【００２２】
この図２Ａ、図２Ｂ、図３Ａ及び図３Ｂによれば、動きが激しくて複雑なマクロブロックや、高周波成分を含むマクロブロックでは、図２Ａ及び図３Ａに示すように、ＭＰＥＧデコーダ２で得られる動きベクトル差分ＭＶ及びＩＤＣＴ係数が高い値を示しており、動きが単調で緩やかなマクロブロックや、高周波成分の少ない平坦なマクロブロックでは、図２Ｂ及び図３Ｂに示すように、ＭＰＥＧデコーダ２で得られる動きベクトル差分ＭＶ及びＴＤＣＴ係数が低い値を示していることが確認される。
【００２３】
このことから、符号化難易度評価回路３では、ＭＰＥＧデコーダ２で得られる動きベクトル差分ＭＶ及びＴＤＣＴ係数が大きいときには、符号化を行うときの難易度が高いと判断して、符号化難易度を示すパラメータＫｐを高い値に設定する。なお、上述の図２Ａ、図２Ｂ、図３Ａ及び図３Ｂについては、B-picture,P-pictureのみについての動きベクトル差分ＭＶ及びＩＤＣＴ係数を用いて説明したが、I-pictureについては、ＩＤＣＴ係数のみを用いて符号化難易度を示すパラメータＫｐを設定する。
【００２４】
この符号化難易度評価回路３では、１フレーム内の画像データについて符号化難易度Ｋｐを設定するときには、先ず図４に示すように各マクロブロックが配列しているとき、各マクロブロック毎についての動きベクトル差分ＭＶとＩＤＣＴ係数を計算する。例えば、マクロブロックＭＢ０についての下式に示すように算出する。
【００２５】
MB0＝(MB0+MB1+MB2+MB3+MB4+MB5+MB6+MB7+MB8)/9
すなわち、図４に示したマクロブロックＭＢ０について動きベクトル差分ＭＶ及びＩＤＣＴ係数を算出するときには、周囲に隣接するマクロブロックＭＢ１〜ＭＢ８も考慮して算出される。
【００２６】
そして、符号化難易度評価回路３では、垂直方向のブロック境界の符号化難易度を示すパラメータＫｐを算出するとき、図５に示すように、各マクロブロックの間のブロック境界であるマクロブロック境界においては、双方のマクロブロックのＩＤＣＴ係数と動きベクトル差分ＭＶとを算出することで符号化難易度を示すパラメータＫｐを算出する。また、ブロック境界においては、当該マクロブロックのＩＤＣＴ係数と動きベクトル差分ＭＶとをそのまま符号化難易度を示すパラメータＫｐとして用いる。垂直相関検出回路５は、ブロック境界に沿った方向のエッジの相関の強さを検出する。パラメータＫｐは、符号化難易度が高いほど大きくなるように、０〜１の範囲内に多段階に設定する。
【００２７】
すなわち、入力輝度信号は、エッジ抽出部のＨＰＦ（ハイパスフィルタ）に入力され、エッジ要素の検出のために２次微分を行う。例えばラプラシアンを用いて、エッジ要素の抽出を行う。ＨＰＦでエッジ抽出された信号は、最大値抽出部に入力される。ここでは、次段の２値化部で必要なしきい値を求めるために、ブロック境界をはさんだエッジ抽出ブロック内において最大値の検出を行う。２値化部では、最大値抽出部で求められたしきい値と、ＨＰＦでエッジ要素抽出された信号が入力され、しきい値をもとに、信号の２値化を行う。これらＨＰＦ、エッジ抽出部、最大値抽出部、及び２値化部については後に述べる。
【００２８】
垂直相関検出回路５では、このようにして抽出されたエッジ成分のブロック境界における垂直相関の強さを求める。このときの垂直相関の強さを求める方法の一例を図６を用いて説明する。
【００２９】
この図６において、注目するブロック境界を含む領域ｂとその近傍の領域ａおよびｃに分割する。先に抽出したエッジ成分の数を各領域毎に算出する。これらをＥａ、Ｅｂ、Ｅｃとする。図６において、エッジとして抽出された画素を１と記し、エッジではないと判別された画素を０と記している。本例では、Ｅａ＝５、Ｅｂ＝１２、Ｅｃ＝５となる。
また、この垂直相関検出回路５は、検出した垂直相関の強さを、ブロック歪判定回路６に出力する場合のみならず、相関検出の強さを符号化するときの難易度として、ブロック歪補正回路７にも出力しても良い。すなわち、垂直相関検出回路５で検出される垂直相関が大きいほど符号化を行う難易度が高いとみなして、垂直相関に応じたパラメータをブロック歪補正回路７に出力して、ブロック歪補正回路７で算出した補正値に当該パラメータを乗算処理する。
【００３０】
ブロック境界を含む領域とそうでない領域におけるエッジ成分の数の比Ｋｖを求め、クラス分けを行う。
【００３１】
例えば、
Ｋｖ≧４        の時、    クラス１
２≦Ｋｖ＜４    の時、    クラス２
１≦Ｋｖ＜２    の時、    クラス３
Ｋｖ＜１        の時、    クラス４
とする。
【００３２】
次に、ブロック歪判定回路６の役割について説明する。各クラスに応じて重み係数Ｋｃを割り当てる。この各クラス毎の重み係数Ｋｃとしては、例えば
クラス          重み係数Ｋｃ
１                １
２                ０．７５
３                ０．５
４                ０．２５
とすることが挙げられる。
【００３３】
よって、ブロック境界部の垂直相関が強い場合には、補正量が大きくなり、ブロック歪の除去が効果的に行うことができる。つまり、ブロック歪の検出精度を高めることになる。
【００３４】
ブロック歪判定回路６は、図１に示すように、ＭＰＥＧデコーダ２からデコード処理が施された画像データが入力される。
【００３５】
ここで、ブロック歪を判定するときに用いられる画素について、図７を参照しながら説明する。この図７の例では、例えば、ブロック符号化にＤＣＴ符号化が用いられ、８×８画素でＤＣＴブロックを構成する場合の処理対象の具体例を示している。すなわち、図中の左右のＤＣＴブロック５１Ｌ，５１Ｒのブロック境界から左側及び右側にそれぞれ５画素ずつがブロック歪低減処理に用いられ、ブロック境界から４画素ずつが補正範囲とされるとき、エッジ抽出ブロック５２はブロック境界を中心とする８×８画素のブロックであり、ブロック歪補正処理ブロック５３は、このエッジ抽出ブロック５２内の１ライン上の８画素から成るブロックである。
【００３６】
そして、このブロック歪判定回路６は、ブロック歪の判定に必要なパラメータを算出する。このブロック歪判定回路６は、パラメータとして、境界差分｜tmp0｜、アクティビティ｜tmp｜及び隣接差分｜diff｜を次の計算式により求める。
【００３７】
｜tmp0｜＝｜f-e｜
｜tmp｜＝（｜b-a｜+｜c-b｜+｜d-c｜+｜e-d｜
+｜g-f｜+｜h-g｜+｜i-h｜+｜j-i｜）／８
｜diff0｜＝｜b-a｜
｜diff1｜＝｜c-b｜
｜diff2｜＝｜d-c｜
｜diff3｜＝｜e-d｜
｜diff4｜＝｜g-f｜
｜diff5｜＝｜h-g｜
｜diff6｜＝｜i-h｜
｜diff7｜＝｜j-i｜
これらの計算式から明らかなように、境界差分｜tmp0｜は、図７のＤＣＴブロックの境界を挟んで隣接する画素ｅ，ｆ間の差分の絶対値であり、アクティビティ｜tmp｜は、ブロック歪処理ブロック５３についての各隣接画素間（ただしｅ，ｆ間を除く）の差分の絶対値の平均値であり、隣接差分｜diff｜は、画素ｃ，ｄ間、ｄ，ｅ間、ｆ，ｇ間、ｇ，ｈ間の各差分の絶対値である。そして、ブロック歪判定回路６は、これらの各パラメータをブロック歪補正回路７に出力する。
【００３８】
ブロック歪判定回路６は、符号化難易度評価回路３からのパラメータＫｐ、パラメータ演算回路４からの各パラメータ、垂直相関検出回路５からの重み係数Ｋｃを用いて、ブロック歪の有無を判定する。また、このブロック歪補正回路７は、ブロック歪補正を行うか否かの閾値det_thを有している。
【００３９】
具体的には、このブロック歪判定回路６は、｜tmp0｜＞｜tmp｜が満たされているときには、ブロック境界に段差があると判定する。また、このブロック歪判定回路６は、｜tmp0｜＜det_thが満たされているときには、ブロック境界にエッジがないと判断する。｜tmp0｜≧｜diff3｜及び｜tmp0｜≧｜diff4｜が満たされていると判断したときには、ブロック境界の両側にエッジがないことを判断する。
【００４０】
また、このブロック歪判定回路６は、上述の重み係数Ｋｃ及びＫｐを用いることで、ブロック歪補正を行うか否かの閾値det_thを変更する。そして、このブロック歪判定回路６では、上述のように判定した結果に応じたフラグをたてて、ブロック歪補正回路７を制御する。
【００４１】
ブロック歪補正回路７は、ブロック歪判定回路６からのフラグと符号化難易度評価回路３からのパラメータＫｐ、垂直相関検出回路５からの重み係数Ｋｃを用いてブロック歪を有する画像データに補正を行う補正値を算出する。また、このブロック歪補正回路７は、ブロック歪を補正するときに用いる閾値をcorr_thとすると、画像の性質、特に線形性に基づいて、隣接差分から補正後の境界段差｜step｜を、
｜step｜＝｜diff3＋diff4｜／２
の式から求める。そして、補正後にこれだけの境界段差｜step｜を持たせるために必要な補正量｜σ｜を、
｜σ｜＝（｜tmp0｜−｜step｜）／２
により求める。ここで、上記境界差分｜tmp0｜を所定の閾値corr_thで弁別して補正の強さを切り換えることが好ましく、この場合、｜tmp0｜＜corr_thとなって補正の強さを強（補正強）とするとき、補正量｜σ｜を、
｜σ｜＝（｜tmp0｜−｜step｜）／２
とし、｜tmp0｜≧corr_thとなって補正弱のとき、上記補正量｜σ｜を半分に減らして、
｜σ｜＝（｜tmp0｜−｜step｜）／４
の補正を行う。また、ブロック歪補正回路７は、この｜σ｜に上述の重み係数Ｋｃ，パラメータＫｐを乗算処理することで、ＩＤＣＴ係数、動きベクトル差分ＭＶ、垂直相関を考慮して、補正量｜σ｜を決定しても良い。さらに、ブロック歪補正回路７は、上述の閾値corr_thを上述のＫｃ，Ｋｐに基づいて変更させても良い。
【００４２】
これは、上記境界差分｜tmp0｜が所定の閾値corr_thより大きい場合は、本当はブロック境界にエッジが存在するのに、ブロック歪判定で誤判定された可能性もあるので、誤補正を回避するために、上記補正の強さを強／弱に切り換えるものである。
【００４３】
そして、ブロック歪補正回路７は、得られた補正値｜σ｜から、各画素毎の補正値を求める。隣の補正範囲とのつなぎ目を滑らかにするため、またブロック歪は境界付近程強く現れることから、次の式に示すように、境界からの距離に反比例した補正値を求める。
【００４４】
具体的には、図７の補正範囲５３内の各画素ｂ〜ｉについての各補正値をそれぞれ｜σb｜〜｜σi｜とするとき、上記補正値｜σ｜を用いて、
｜σe｜＝｜σ｜    ，｜σf｜＝｜σ｜
｜σd｜＝｜σ｜／２，｜σg｜＝｜σ｜／２
｜σe｜＝｜σ｜／４，｜σh｜＝｜σ｜／４
｜σb｜＝｜σ｜／８，｜σi｜＝｜σ｜／８
のような各補正値をそれぞれ求める。
【００４５】
そして、ブロック歪補正回路７は、各画素ｂ〜ｉ毎の補正値｜σb｜〜｜σi｜、を用いて、ブロック歪補正された映像信号（画像データ）ＳＢb〜ＳＢiを求める。
【００４６】
具体的には、ブロック歪補正回路７は、補正前の各画素ｂ〜ｉの入力画像データをＳb〜Ｓiとするとき、上記tmp0の正負に応じて、補正された画像データＳＢb〜ＳＢiを、
tmp0≧０：ＳＢb＝Ｓb＋｜σb｜，tmp0＜０：ＳＢb＝Ｓb−｜σb｜
tmp0≧０：ＳＢc＝Ｓc＋｜σc｜，tmp0＜０：ＳＢc＝Ｓc−｜σc｜
tmp0≧０：ＳＢd＝Ｓd＋｜σd｜，tmp0＜０：ＳＢd＝Ｓd−｜σd｜
tmp0≧０：ＳＢe＝Ｓe＋｜σe｜，tmp0＜０：ＳＢe＝Ｓe−｜σe｜
tmp0≧０：ＳＢf＝Ｓf−｜σf｜，tmp0＜０：ＳＢf＝Ｓf＋｜σf｜
tmp0≧０：ＳＢg＝Ｓg−｜σg｜，tmp0＜０：ＳＢg＝Ｓg＋｜σg｜
tmp0≧０：ＳＢh＝Ｓh−｜σh｜，tmp0＜０：ＳＢh＝Ｓh＋｜σh｜
tmp0≧０：ＳＢi＝Ｓi−｜σi｜，tmp0＜０：ＳＢi＝Ｓi＋｜σi｜
とするような補正をＭＰＥＧデコーダ２からの画像データに対して行う。
【００４７】
したがって、このようなブロック歪低減装置１では、ＭＰＥＧデコーダ２からＩＤＣＴ係数、動きベクトル差分ＭＶを用いて符号化難易度を示すパラメータＫｐを用いて、ブロック歪の判定及びブロック歪の補正を行うことができるので、安定したブロック歪の低減あるいは除去が図れ、さらに、ブロック歪判定の際の誤判定を防止することができる。
【００４８】
図８は、第２の実施の形態となるブロック歪低減装置１０の概略構成を示すブロック図である。なお、ブロック歪低減は、ブロック歪除去、ブロック雑音除去等とも称される。
【００４９】
この図８において、入力端子１１、１２には、ブロック符号化を含む画像符号化が施された後に復号された映像信号あるいは画像データのクロマ信号、輝度信号がそれぞれ供給される。このブロック符号化を含む画像符号化の具体例としては、いわゆるＭＰＥＧの符号化規格が挙げられる。このＭＰＥＧとは、ＩＳＯ／ＴＥＣ  ＪＴＣ１／ＳＣ29（International  Organization  for  Standardization/ International  Electrotechnical  Commission, Joint  Technical  Committee 1/  Sub  Committee  29：国際標準化機構／国際電気標準会議  合同技術委員会１／専門部会２９）の動画像圧縮符号化の検討組織（Moving picture experts group）の略称であり、ＭＰＥＧ１標準としてISO11172が、ＭＰＥＧ２標準としてISO13818がある。これらの国際標準において、マルチメディア多重化の項目でISO11172-1及びISO13818-1が、映像の項目でISO11172-2及びISO13818-2が、また音声の項目でISO11172-3及びISO13818-3がそれぞれ標準化されている。
【００５０】
ここで、画像圧縮符号化規格としてのISO11172-2又はISO13818-2においては、画像信号を、ピクチャ（フレーム又はフィールド）単位で、画像の時間及び空間方向の相関を利用して、圧縮符号化を行っており、空間方向の相関の利用は、ブロックＤＣＴ符号化を用いることで実現している。
【００５１】
このように、例えばブロックＤＣＴ符号化を含む圧縮符号化が施されて、シリアル伝送されたり記録再生された後に、デコーダ側で逆ＤＣＴされた映像信号データ（画像データ）のクロマ（色）成分及び輝度成分が、図８のクロマ信号入力端子１１及び輝度信号入力端子１２にそれぞれ供給される。
【００５２】
クロマ信号入力端子１１に供給された入力画像データのクロマ（色）成分は、遅延回路１４を介してクロマ信号出力端子４０より取り出される。遅延回路１４は、輝度成分についてのブロック歪低減処理が施されるのに要する時間を遅延させて、出力される輝度成分とクロマ成分とのタイミングを合わせるためのものである。
【００５３】
ＨＤ・ＶＤ入力端子１３には、水平同期信号及び垂直同期信号が入力され、制御信号発生部２６に送られて、各回路で必要なタイミング信号が作成される。
【００５４】
端子１２より入力された輝度信号は、補正信号算出部１５と、パラメータ算出部１６と、エッジ抽出部１７と、切換選択スイッチ１９と、動き検出部２０とに送られる。
【００５５】
補正信号算出部１５において、上記入力された輝度信号が加算器３１及び補正値算出部３２に送られている。補正値算出部３２では、境界の両隣の画素の隣接差分から補正後の傾きを予測して補正値を求め、また、ブロック歪判定部からの補正強／弱情報に基づいてこれに応じた補正を求め、さらに境界の距離に反比例した各画素毎の補正値を求める。この補正値算出部３２からの補正値を加算器３１に送って上記入力輝度信号と加算している。
【００５６】
また、入力輝度信号は、エッジ抽出部１７のＨＰＦ（ハイパスフィルタ）３４に入力され、エッジ要素の検出のために２次微分を行う。この第２の実施の形態では、例えばラプラシアンを用いて、エッジ要素の抽出を行う。ＨＰＦ３４でエッジ抽出された信号は、最大値抽出部３５に入力される。ここでは、次段の２値化回路３６で必要なしきい値を求めるために、ブロック境界をはさんだエッジ抽出ブロック内において最大値の検出を行う。
【００５７】
２値化回路３６では、最大値抽出部３５で求められたしきい値と、ＨＰＦ３４でエッジ要素抽出された信号が入力され、しきい値をもとに、信号の２値化を行う。ハフ変換部３７では、２値化された信号をもとに、ブロック境界をはさむエッジ抽出ブロック内でハフ変換を行い、これによりエッジ要素をパラメータ空間（ρ、θ）に写像することにより、ブロック内の直線（ρ０、θ０）を求める。求まったρ０、θ０はブロック歪判定部１８へ入力される。
【００５８】
また、端子１２からの上記入力輝度信号は、パラメータ算出部１６のパラメータ演算回路３３へ入力され、ブロック歪判定部１８で必要な補正ブロック内のパラメータを求める。
【００５９】
また、上記入力輝度信号は、動き検出部２０のメモリ２２へ入力され、メモリコントローラ２１からの制御によって書き込みが行われる。メモリコントローラ２１によって、メモリから読みだされた前フィールドの輝度信号は、パターンマッチング部２３へ入力され、一方で入力された輝度信号とパターンマッチングが行われる。このパターンマッチングの演算結果は動きベクトル判定部２４へ入力され、動きの大きさを判断できる。ここで、求まった動きの有無はブロック歪判定部１８に入力される。また、この動き検出部２０では、動きベクトルＭＶを検出することで、動きベクトルＭＶに基づいて符号化の難易度を示すパラメータとしてブロック歪判定部１８及び補正値算出部３２に出力しても良い。
【００６０】
ブロック歪判定部１８では、エッジ抽出部からのブロック内の直線成分（ρ０、θ）とパラメータ演算部からの補正ブロック内のパラメータと動き検出部からの動きの大きさを用いて、ブロック歪か否かの判定、ブロック歪補正値を制御して使うか（弱）否か（強）の判定を行い、この補正強／弱信号を補正信号算出部１５の補正値算出部３２へ送り、また補正ＯＮ／ＯＦＦ信号を切換選択スイッチ（セレクタ）１９のコントロール端子に送る。
【００６１】
また、上記入力輝度信号は、補正信号算出部１５の加算器３１に入力され、輝度信号と補正値算出部３２から求めた補正値を加算することにより、ブロック歪除去された信号が求められ、切換選択スイッチ（セレクタ）１９へ送られる。
【００６２】
セレクタ１９では、ブロック歪判定部１８からのブロック歪ＯＮ／ＯＦＦ信号に応じて、入力された輝度信号をそのまま出力するか、補正された信号を出力するかを選択する。
【００６３】
一方、入力されたクロマ信号は遅延回路１４に入力され、補正回路を通過する輝度信号との遅廷を合わせる。
【００６４】
なお、セレクタ１９を使わずに、ブロック歪判定部１８からのブロック歪ＯＮ／ＯＦＦ信号がＯＦＦの場合には補正値算出部３２からの出力である補正信号を０にする方法を用いてもよい。
【００６５】
なお、この図８に示した第２の実施の形態に係るノイズ除去装置では、輝度信号についてのみブロック歪低減処理を施すことを想定しているが、クロマ信号についても同様の処理を施すことができる。
【００６６】
ところで、上述した図８の構成のブロック歪低減装置１０は、例えば図９に示すようなビデオＣＤプレーヤのブロック歪低減回路１０７として用いることができる。
【００６７】
この図９において、ビデオＣＤやＣＤ−ＲＯＭ等のディスク１０１から、光ピックアップ１０２により読み出されたＲＦ信号は、ＲＦアンプ１０３に入力される。ここで増幅されたＲＦ信号は、ＥＦＭ（８−１４変調）復調回路１０４で復調され、シリアルデータとして、ディスク記録フォーマットのデコーダである例えばＣＤ−ＲＯＭデコーダ１０５に入る。
【００６８】
ＣＤ−ＲＯＭデコーダ１０５では、シリアルデータから例えばＭＰＥＧビットストリーム信号に変換し、ＭＰＥＧデコーダ１０６に送る。このＭＰＥＧは、上述したように、画像の時間及び空間方向の相関を利用して圧縮符号化を行うものであり、空間方向の相関性を利用するためにブロックＤＣＴ符号を採用している。ＭＰＥＧデコーダ１０６では、例えばＭＰＥＧ１フォーマットに従い復号を行っており、この復号の際に、逆量子化器１６１による逆量子化処理後に逆ＤＣＴ回路１６２による逆ＤＣＴ処理を施す。さらに、必要に応じて補間などの処理を行った後出力する。
【００６９】
ＭＰＥＧデコーダ１０６から出力された映像信号は、ノイズリデューサとしてのブロック歪低減回路１０７に入力されるが、ここでの信号はＭＰＥＧ１での圧縮／伸張によるノイズが含まれているので、ブロック歪低減回路１０７でこれらのノイズ除去を行う。このブロック歪低減回路１０７として、上述した図９に示すような本発明の実施の形態が適用される。
【００７０】
ブロック歪低減回路１０７での処理後、ＮＴＳＣエンコーダ１０８で同期信号の付加、クロマ信号の変調などを行いＮＴＳＣ映像信号を生成する。このＮＴＳＣ映像信号がＤ／Ａ変換器１０９を介して出力端子１１０に出力される。
【００７１】
ブロック歪低減回路１０７と関連して、マイクロコンピュータ等を用いた制御回路１１１が設けられ、制御回路１１１に対しては操作部１１２からの制御信号が供給される。操作部１１２には、ノイズリダクション、例えばブロック歪低減の制御スイッチが設けられており、ブロック歪低減のオン／オフの切り換えがなされる。制御回路１１１は、ブロック歪低減回路１０７の他の回路、例えばＭＰＥＧデコーダ１０６の制御にも用いられることが多い。
【００７２】
次に、上記図８の構成のブロック歪低減装置１０におけるブロック歪低減処理のアルゴリズムについて、さらに詳細に説明する。
【００７３】
図１０は、本発明の実施の形態となるブロック歪低減方法のアルゴリズムを説明するためのフローチャートを示している。この図１０の例では、Ｈ（水平）方向についての処理のアルゴリズムを示しているが、Ｖ（垂直）方向についてのブロック歪低減アルゴリズムは、Ｈ方向の処理がＶ方向に変わる以外は同様であるため説明を省略する。
【００７４】
この図１０において、最初のステップＳＴ４１では、Ｈ方向の総てのブロック境界について、ブロック歪低減処理が終了したか否かを判別しており、ＹＥＳの場合は処理を終了し、ＮＯの場合に次のステップＳＴ４２に進む。
【００７５】
ここで、ブロック歪低減処理のために用いられる画素については、上述の第１の実施の形態で説明した図７と同様である。そして、上記図１０の最初のステップＳＴ４１では、ブロック歪補正処理が全ての補正処理ブロック５３について行われたか否かを判断している。
【００７６】
次のステップＳＴ４２では、ブロック歪か否かの判定に必要とされるパラメータとしての境界差分｜tmp0｜、アクティビティ｜tmp｜及び隣接差分｜diff｜を、上述の第１の実施の形態と同様の計算式により求める。
【００７７】
次に、ステップＳＴ４３において、補正処理ブロックに対応する上記エッジ抽出ブロック５２内のエッジ抽出を行い、直線成分（ρ０、θ０）を求める。このエッジ抽出処理の詳細については、後ほど説明する。
【００７８】
次に、ステップＳＴ４４に進んで、補正処理ブロックを挟む上記２つのＤＣＴブロック５１Ｌ，５１Ｒについて、動きの大きさを調べる。この動き検出動作の詳細については、後ほど説明する。
【００７９】
次に、ステップＳＴ４５ａでは、上記各ステップＳＴ４２，ＳＴ４３，ＳＴ４４で求めたパラメータ、直線成分（ρ０、θ０）、及び動きの大きさを用いて、このブロック境界にブロック歪があるかどうかの判定と補正の強さの判定処理を行う。このブロック歪判定処理の一例については、後ほど説明する。
【００８０】
次のステップＳＴ４５ｂで、ブロック歪ありとされればステップＳＴ４６ａに進み、ブロック歪無しとされればステップＳＴ４８に進む。
【００８１】
ブロック歪ありと判定されれば、ステップＳＴ４６ａに進み、画像の性質、特に線形性に基づいて、隣接差分から補正後の境界段差｜step｜を、第１の実施の形態と同様に、
｜step｜＝｜diff3＋diff4｜／２
の式から求める。そして、補正後にこれだけの境界段差｜step｜を持たせるために必要な補正量｜σ｜を、
｜σ｜＝（｜tmp0｜−｜step｜）／２
により求める。ここで、上記境界差分｜tmp0｜を所定の閾値corr_thで弁別して補正の強さを切り換えることが好ましく、この場合、｜tmp0｜＜corr_thとなって補正の強さを強（補正強）とするとき、補正量｜σ｜を、
｜σ｜＝（｜tmp0｜−｜step｜）／２
とし、｜tmp0｜≧corr_thとなって補正弱のとき、上記補正量｜σ｜を半分に減らして、
｜σ｜＝（｜tmp0｜−｜step｜）／４
の補正を行う。
【００８２】
次のステップＳＴ４６ｂでは、得られた補正値｜σ｜から、各画素毎の補正値を求める。隣の補正範囲とのつなぎ目を滑らかにするため、またブロック歪は境界付近程強く現れることから、上述した第１の実施の形態と同様に、境界からの距離に反比例した補正値を求める。
【００８３】
具体的には、図７の補正範囲５３内の各画素ｂ〜ｉについての各補正値をそれぞれ｜σb｜〜｜σi｜とするとき、上記補正値｜σ｜を用いて、
｜σe｜＝｜σ｜    ，｜σf｜＝｜σ｜
｜σd｜＝｜σ｜／２，｜σg｜＝｜σ｜／２
｜σc｜＝｜σ｜／４，｜σh｜＝｜σ｜／４
｜σb｜＝｜σ｜／８，｜σi｜＝｜σ｜／８
のような各補正値をそれぞれ求める。
【００８４】
次のステップＳＴ４６ｃでは、上記ステップＳＴ４６ｂで求められた各画素ｂ〜ｉ毎の補正値｜σh｜〜｜σi｜を用いて、ブロック歪補正された映像信号（画像データ）ＳＢb〜ＳＢiを求める。
【００８５】
具体的には、補正前の各画素ｂ〜ｉの入力画像データをＳb〜Ｓiとするとき、上記tmp0の正負に応じて、補正された画像データＳＢb〜ＳＢiを、
tmp0≧０：ＳＢb＝Ｓb＋｜σb｜，tmp0＜０：ＳＢb＝Ｓb−｜σb｜
tmp0≧０：ＳＢc＝Ｓc＋｜σc｜，tmp0＜０：ＳＢc＝Ｓc−｜σc｜
tmp0≧０：ＳＢd＝Ｓd＋｜σd｜，tmp0＜０：ＳＢd＝Ｓd−｜σd｜
tmp0≧０：ＳＢe＝Ｓe＋｜σe｜，tmp0＜０：ＳＢe＝Ｓe−｜σe｜
tmp0≧０：ＳＢf＝Ｓf−｜σf｜，tmp0＜０：ＳＢf＝Ｓf＋｜σf｜
tmp0≧０：ＳＢg＝Ｓg−｜σg｜，tmp0＜０：ＳＢg＝Ｓg＋｜σg｜
tmp0≧０：ＳＢh＝Ｓh−｜σh｜，tmp0＜０：ＳＢh＝Ｓh＋｜σh｜
tmp0≧０：ＳＢi＝Ｓi−｜σi｜，tmp0＜０：ＳＢi＝Ｓi＋｜σi｜
とするような補正を行う。
【００８６】
次のステップＳＴ４７では、このようにブロック歪補正処理された信号を出力する。
【００８７】
上記ステップＳＴ４５ｂでブロック歪でないと判定されれば、ステップＳＴ４８に進んで、補正範囲の原信号をそのまま出力する。
【００８８】
次に、上記ステップＳＴ４３におけるエッジ検出処理の動作の一例について、図１１を参照しながら説明する。
【００８９】
図１１の最初のステップＳＴ６１では、エッジ要素抽出のため、エッジ抽出ブロック内の入力信号に対して、２次元ＨＰＦ（ハイパスフィルタ）、例えばラプラシアンフィルタをかけている。
【００９０】
この２次元のラプラシアンフィルタとしては、例えば図１２の係数のようなものが挙げられるが、この図１２の例に限定されるものではなく、また例えば、Sobelオペレータ、Prewittオペレータ、Kirschオペレータ、Robinsonオペレータ等の種々の変形が考えられる。
【００９１】
次に、ステップＳＴ６２に進んで、上記ＨＰＦをかけたブロック内の信号の最大値Ｍaxを検出し、次のステップＳＴ６３でこの最大値Ｍaxに基づく閾値Thresh（例えばThresh＝Ｍax／２）を用いて２値化を行い、エッジ要素を抽出する。すなわちこの２値化は、入力信号Ｓin＞Threshのとき、出力信号Ｓout＝１とし、Ｓin≦Threshのとき、Ｓout＝０とするような処理である。
【００９２】
次に、ステップＳＴ６４に進んで、抽出されたエッジ要素に、ハフ変換を行い、パラメータ空間（ρ，θ）に写像する。このハフ変換は、ブロック内のエッジ要素（ｘ，ｙ）をパラメータ空間（ρ，θ）に、
ｘcosθ＋ｙsinθ＝ρ
の式により写像するものである。
【００９３】
次のステップＳＴ６５で、このパラメータ空間で多くの点が集まる（ρ０，θ０）を検出する。この（ρ０，θ０）を通過する直線がエッジ抽出ブロック内で検出された直線エッジということになり、ステップＳＴ６６でパラメータ（ρ，θ）を出力している。
【００９４】
次に、上記図１０のステップＳＴ４４での動き検出処理の動作の一例について、図１３を参照しながら説明する。
【００９５】
この図１３の動き検出処理においては、上記図７における処理する補正処理ブロックのブロック境界を挟む左右のＤＣＴブロック５１Ｌ，５１Ｒについて、パターンマッチングを行う。
【００９６】
パターンマッチングはＤＣＴブロック内の総ての画素について、同一位置の前フィールドの画素をメモリーから読みだし（ステップＳＴ７２）、次の式（１）に示す演算式の処理を行い（ステップＳＴ７３）、メモリに現フィールドの画素を書き込む（ステップＳＴ７４）。
【００９７】
【数１】
0004164877.tif 000002
【００９８】
この式（１）において、Ｓn(i,j)は、ｎフィールドにおける位置（ｉ，ｊ）の画素の輝度信号を示し、BLK_H，BLK_Vは、それぞれＨ，Ｖ方向のＤＣＴブロックサイズを示している。
【００９９】
これらのステップＳＴ７２〜ＳＴ７４の処理について、ＤＣＴ（Ｍ×Ｎ）ブロック内の全ての画素について、処理が終わったか否かを最初のステップＳＴ７１で判別し、ＹESのとき（処理が終了したとき）にはステップＳＴ７５に進んで、上記式（１）で求めたＣｒの値に応じて、動き判定を行っている。
【０１００】
このステップＳＴ７５の動き判定としては、上記Ｃｒの値に対して所定の閾値mov_thＬ，mov_thＨ（ただしmov_thＬ＜mov_thＨ）を設定し、
Ｃｒ＜mov_thＬ              のとき、動き小
mov_thＬ≦Ｃｒ＜mov_thＨ    のとき、動き中
mov_thＨ≦Ｃｒ              のとき、動き大
のような判定を行うことが挙げられる。
【０１０１】
なお、この図１３の例では、パターンマッチングをＤＣＴブロック内の総ての画素について行ったが、この例にのみ限定されるものではなく、例えば、ＬＰＦをかけ、２、４画素の間引き処理を行った後、間引かれた画素についてパターンマッチングを行う等の変形も考えられる。
【０１０２】
また、図１３の例では、動きの大きさを求める手段として、同一位置のＤＣＴブロックに対するパターンマッチングを用いたが、この例にのみ限定されるものではなく、例えば、動き補償範囲内のすべての試行ベクトルについてパターンマッチングＣ（ｋ）を比較し、最小のＣ（ｋ）を与える試行ベクトルを動きベクトルとして動きの有無を求める変形や、代表点マッチングを行う等の変形も考えられる。
【０１０３】
次に、上記図１０のステップＳＴ４５ａ，ＳＴ４５ｂにおけるブロック歪判定動作の一例について、図１４を参照しながら説明する。
【０１０４】
この図１４に示す例においては、パラメータ判定と動き検出による判定とを組み合わせて用いている。
【０１０５】
まず、上記図７の補正処理ブロックのブロック境界を挟む左右のＤＣＴブロック５１Ｌ，５１Ｒについて、上述したようなパターンマッチングを行って、動きの大きさを調べ、ステップＳＴ８１で、検出された動きが小であるか否かを判別する。両方のＤＣＴブロック５１Ｌ，５１Ｒ内の動きが小さいとされれば、量子化誤差は無いと判断し、ステップＳＴ８６に進んで、ブロック歪補正をかけずに処理を終了する。
【０１０６】
ステップＳＴ８１でＮＯ、すなわち動きが小さくないときには、次のステップＳＴ８２に進んで、直線エッジがブロック境界上に存在するか否かを判別する。このとき、ρ０＝エッジ抽出ブロックサイズ／２，θ０＝π／２とする。ステップＳＴ８２で境界上にあると判別されれば、強いブロック歪があるとされ、ステップＳＴ８８に進んで、ブロック歪（強）の補正をかける。
【０１０７】
ステップＳＴ８２でＮＯと判別されれば、ステップＳＴ８３に進んで、上記図６の左右のＤＣＴブロック５１Ｌ，５１Ｒの境界の近傍領域（エリア）内を直線エッジが通過するか否かを判別する。通過すれば、弱いブロック歪があるとして、ステップＳＴ８７に進んで、ブロック歪（弱）の補正をかける。
【０１０８】
ステップＳＴ８３でＮＯと判別されたときには、パラメータを用いてブロック歪の判定を行って、補正強か（ステップＳＴ８４）、補正弱か（ステップＳＴ８５）の判別を行う。補正強と判別されたときにはステップＳＴ８８に進み、補正弱と判別されたときにはステップＳＴ８７に進む。それ以外は、補正ＯＦＦとされ、ステップＳＴ８６に進む。
【０１０９】
ここで、上記ブロック歪判定の一例を説明すると、上記パラメータ｜tmp0｜、｜tmp｜及び｜diff｜に基づいて、次のような条件判別を行うことによりブロック歪か否かの判定を行う。この判定条件は、
(1)  周辺と比べて突出した段差であるか否か。
：境界差分｜tmp0｜＞アクティビティ｜tmp｜
(2)  直流成分及び低周波成分の量子化誤差による段差であるか、すなわち、ブロック歪による段差であるか否か。
：境界差分｜tmp0｜＜閾値div_th
ここで、閾値div_thとしては、第２の実施の形態では固定値を用いたが、各ブロックの量子化ステップサイズの最大値に比例した値を用いることもできる。
(3)  境界の両隣に境界の段差より大きな段差がないか、すなわち、境界の両隣にエッジがないか否か。
：隣接差分｜diff3｜≦境界差分｜tmp0｜
かつ、隣接差分｜diff4｜≦境界差分｜tmp0｜
の３つである。
【０１１０】
これらの３つの判定条件の全てが満たされれば、ブロック歪ありとされる。また、補正の強さは、上記境界差分｜tmp0｜が所定の閾値corr_thより小さいか否かに応じて決定しており、
｜tmp0｜＜corr_th  のとき、補正強
｜tmp0｜≧corr_th  のとき、補正弱
ただし、corr_th＜div_th
としている。
【０１１１】
ここで、上記各閾値div_th，corr_thの値は、上記動き検出処理により得られた動きの大きさによって適応的（アダブティブ）に変化させることが好ましい。例えば、
動き大のとき、div_th＝div_th（定数）
corr_th＝corr_th（定数）
動き中のとき、div_th＝div_th／２
corr_th＝corr_th／２
とすればよい。
【０１１２】
なお、動き検出処理における動きの大きさは、大／中／小の３段階にのみ限定されるものではなく、上記各閾値div_th，corr_thの値も上記動き大／中の２段階には限定されず、さらに細かい段階に変化させるようにしてもよい。
【０１１３】
次に、上記図１１と共に説明したエッジ抽出処理の方法としては、前述のハフ変換を用いずに、以下に述べるような簡易な方法で行うこともできる。
【０１１４】
この簡易なエッジ抽出の場合の動作を説明するためのフローチャートを図１５に示し、このエッジ抽出を用いる場合のブロック歪低減装置の概略構成のブロック図を図１６に示す。
【０１１５】
この例においては、先ず、図１５のステップＳＴ９１に示すように、エッジ抽出を１次元（水平方向）の２次微分（ＢＰＦ：バンドパスフィルタ）により行っている。２次微分特性の伝達関数Ｈ（ｚ）としては、例えば、
Ｈ（ｚ）＝（−１＋２ｚ-1−ｚ-2）／４
が挙げられる。
【０１１６】
２次微分信号の絶対値をとった後、ステップＳＴ９２では処理ブロック内で最大値の検出を行い、この最大値を用いて次のステップＳＴ９３でＢＰＦ処理画像の２値化を行い、エッジ検出を行う。２値化する際の閾値は、前述の例と同様に、例えばブロック内で２次微分及び絶対値処理して得た最大値の１／２とすればよい。
【０１１７】
図１６のエッジ抽出部１７’では、端子１２からの輝度信号入力を、ＢＰＦ３４’で上述のように２次微分し、絶対値化回路３８で絶対値をとり、最大値検出回路３５で最大値を検出している。そして、最大値検出回路３５からの閾値を２値化回路３６に送り、絶対値化回路３８からの信号を２値化している。２値化回路３６からの出力は、垂直相関検出部３９に送られる。
【０１１８】
なお、図１６の他の構成及び動作は、上述した図８の例と同様であるため、対応する部分に同じ指示符号を付して説明を省略する。また、垂直相関検出部３９は、図１の第１の実施の形態で説明した垂直相関検出回路５と同様の動作である。
【０１１９】
本例では、クラス及び補正段階をそれぞれ４及び３段階として説明したが、特にこれに限定されない。また、例えば垂直相関を検出することで算出される補正量の重み係数Ｋｃを下式により求めても良い。
【０１２０】
Ｋｃ＝Ｅｂ／（Ｅａ＋Ｅｂ＋Ｅｃ）
また、垂直相関検出部３９から得たクラスにより、ブロック歪判定部の検出の閾値であるdiv_thの値を制御してもよい。例えば、垂直相関が弱い程、ブロック歪である可能性が低いので、検出の閾値div_thの値を大きくし、検出しにくい方向へ制御する。
【０１２１】
なお、本発明の実施の形態におけるエッジ抽出部、補正信号算出部、ブロック歪判定パラメータ算出部等については、上述したようなアルゴリズムを用いたが、これらのアルゴリズムにのみ限定されるものではなく、例えば、補正信号算出部にはＬＰＦを用いたり、エッジ抽出部にはエッジ追跡によるエッジ抽出法などの種々のエッジ抽出法、ブロック歪判定部には種々のパラメータを使うといった種々の変形が考えられる。
【０１２２】
また、上述した実施の形態は輝度信号の水平方向に対してブロック歪補正をかける例であるが、この例にのみ限定されるものではなく、例えば、垂直方向やクロマ信号にブロック歪補正をかけるといった種々の変形が考えられる。
【０１２３】
ブロック歪判定回路６がブロック歪か否かの判断を行うときにおいて、上述した第１の実施の形態に及び第２の実施の形態で示した判定条件の他に、適応的に判定条件を追加してブロック歪を行うときの一例について説明する。なお、以下の説明においては、上述の第１の実施の形態についてのブロック歪判定回路６で説明する。
【０１２４】
ここで、ブロック歪判定回路６において、例えば図１７に示すように、diff0〜diff7までの全てが負の値をとりtmp0のみが正の値をとるとき、又はdiff0〜diff7までの全てが正の値をとりtmp0のみが負の値をとるという情報がパラメータ演算回路４から入力された場合についてノイズ除去を行うときについて説明する。なお、図１７は、ブロック境界に対して直交する方向に一列に配置された画素ａ〜ｊの輝度信号の大きさを縦軸として示しており、白丸を補正前の輝度信号の値とし、黒丸を補正後の輝度信号の値として示している。
【０１２５】
このように、画素ａ〜ｅが単調減少していて、ブロック境界でのみ輝度値が増加し、画素ｆ〜ｊで輝度値が単調減少している場合には、符号化又は復号を行う前にブロック境界でも単調減少していたとみなして、補正を行う。
【０１２６】
すなわち、ブロック歪判定回路６では、このような画像データを示すパラメータがパラメータ演算回路４から入力された場合、上述の第１及び第２の実施の形態で示した判定条件の他に、
(1)  diff0〜diff7＞0又はdiff0〜diff7＜0
(2)  tmp0×(diff0〜diff7)＜0
(3)  Ｋｐ≧diff_th
という第１〜第３の判定条件を追加することで、ブロック歪の判定を行う。すなわち、第１の判定条件では、ブロック境界を除いた補正範囲の輝度値の変化が単調減少か単調増加であることを判断する。第２の判定条件では、ブロック境界での輝度値の変化が補正範囲の他の輝度値の変化と逆であることを判断する。第３の判定条件では、符号化難易度を示すパラメータＫｐが所定の閾値diff_th以上であることを判断する。
【０１２７】
ブロック歪判定回路６は、上記の第１〜第３の判定条件が満たされると、符号化又は復号を行う前の画像データは単調減少又は単調増加を示す画像データであることを示すフラグを生成し、ブロック歪補正回路７に供給する。
【０１２８】
ブロック歪補正回路７では、ブロック歪判定回路６からのフラグに応じて以下に示すように、補正値σ0を算出する。このブロック歪補正回路７で決定する補正の強さは、上記境界差分｜tmp0｜が所定の閾値corr_thより小さいか否かに応じて決定しており、ブロック境界差分｜tmp0｜＜corr_thのとき、補正値σ0＝（｜tmp0｜＋｜step｜）／２として、補正を強くする。
【０１２９】
また、｜tmp0｜≧corr_thのとき、補正値σ0＝（｜tmp0｜＋｜step｜）／４として、補正を弱くする。
【０１３０】
次に、ブロック境界において、図１８に示すように、｜diff3｜が｜tmp0｜よりも大きい値を有するとき、上述した第１及び第２の実施の形態で示した判定条件では、ブロック歪として検出される条件を満たしていないため、例えば黙視でブロック歪と認識されてもブロック歪として認識されないような場合、ブロック歪判定回路６では、
(1)ブロック境界差分｜tmp0｜≧アクティビティ｜tmp｜
(2)ブロック境界差分｜tmp0｜＜det_th
(3)diff3×tmp0＜0、diff4×tmp0≧0、diff2×diff3≧0
という第１から第３の判定条件を上述の第１及び第２の実施の形態で示した判定条件に追加して、ブロック歪を判定する。すなわち、第１の判定条件ではブロック境界に突出した段差があるか否かを判断し、第２の判定条件ではブロック境界におけるエッジの有無を判断し、第３の判定条件ではブロック境界に近接する画素におけるエッジの有無を判断する。すなわち、第３の判定条件では、画素ｄ〜ｅ間の輝度値の変化とブロック境界における輝度値の変化とが逆であることを判断し、画素ｆ〜ｇ間の輝度値の変化とブロック境界における輝度値の変化とが同じであることを判断し、画素ｃ〜ｄ間の輝度値の変化と画素ｄ〜ｅ間の輝度値の変化とが同じであることを判断している。また、第３の判定条件では、図１８で示した場合と逆に、画素ｆ〜ｇ間におけるエッジの有無を判定するとぎには、
diff4×tmp0＜0、diff3×tmp0≧0、diff4×diff5≧0
という第３の判定条件を用いてエッジの有無を判断する。
【０１３１】
ブロック歪補正回路７では、上述の判定条件に基づいてフラグが入力されたときには、補正の強さを境界差分｜tmp0｜が所定の閾値corr_thより小さいか否かに応じて決定しており、ブロック境界差分｜tmp0｜≧corr_thのとき、補正値σ0＝（｜tmp0｜＋｜diff3｜）／４として、補正を弱くする。
【０１３２】
また、｜tmp0｜＜corr_thのとき、補正値σ0＝（｜tmp0｜＋｜diff3｜）／２として、補正を強くする。
【０１３３】
また、補正値σ1及び補正値σ2は、補正値σ1＝diff2／２とし、補正値σ2＝diff4／２とする。
【０１３４】
また、図１８で示した場合と逆に画素ｆ〜ｇの間にエッジがある場合には、ブロック境界差分｜tmp0｜≧corr_thのとき、補正値σ0＝（｜tmp0｜＋｜diff4｜）／４として、補正を弱くする。
【０１３５】
また、｜tmp0｜＜corr_thのとき、補正値σ0＝（｜tmp0｜＋｜diff4｜）／２として、補正を強くする。
【０１３６】
また、補正値σ1及び補正値σ2は、補正値σ1＝diff3／２とし、補正値σ2＝diff5／２とする。
【０１３７】
このようにブロック歪判定回路６で判定条件を変更することで、ブロック境界に近接する画素上にエッジがあると知覚される場合でも、ブロック歪として検出することが可能である。
【０１３８】
また、上述の垂直相関検出回路５では、図１９に示すように、ブロック境界に平行してブロック歪と検出されるエッジを示す画素があっても、当該エッジが閾値以上に存在するときには補正を行わないように制御しても良い。なお、図１９では、垂直相関検出回路５でエッジと認められる画素については１と図示し、エッジであると認められない画素については０と図示している。すなわち、図１９に示すように、現在ブロック歪の補正を行っているラインＡと、当該ラインＡの垂直方向Ｖに隣接するラインのエッジの位置を垂直相関検出範囲で検出し、上下方向における３ラインで同じ位置にエッジがある場所をカウントする。このとき、エッジとして検出される画素の数をnum_edgeとし、補正を行うか否かの閾値をedge_thとすると、ブロック歪判定回路６は、
num_edge＞edge_th
という条件を満たすときに補正を行わないようなフラグを生成し、ブロック歪補正回路７に出力する。このように垂直相関検出回路５で垂直方向の相関を検出して、ブロック歪判定回路６で判定条件を変更することで、例えばエッジとは異なる、垂直方向に細かい縞模様があるような絵柄であっても、それをブロック歪として誤検出してしまうようなことを抑制することができる。
【０１３９】
さらに、ブロック歪判定回路６では、上述の第１及び第２の実施の形態でブロック歪に対する補正の処理を行った結果、新たにエッジが生じないようにするために、図２０に示すようなブロック歪の補正を行うとき、
(1)  ｜step｜＜σ0×corr_ratio
(2)  σ0＞｜diff3｜かつσ0＞｜diff4｜
(3)  ｜tmp0｜＜corr_th
という第１〜第３の判定条件を追加して、ブロック歪を判定する。すなわち、第１の判定条件では補正後の段差｜step｜が補正量σ0に比べて一定の比（corr_ratio）よりも小さいか否かを判断し、第２の判定条件では補正量σ0がブロック境界の両脇の段差（diff3,diff4）よりも大きいか否かを判断し、第３の判定条件ではブロック境界の段差｜step｜が補正量決定のための閾値corr_thよりも小さいか否かを判断する。なお、第３の判定条件において、補正後の段差｜step｜と補正量との比を０＜corr_ratio＜１とする。
そして、ブロック歪判定回路６では、これら第１〜第３の判定条件が成立するとき、そのようなことを示すフラグをブロック歪補正回路７に出力し、ブロック歪補正回路７では、画素ｅ及び画素ｆの補正値σ0’を、
σ0’＝σ0／２
として第１及び第２の実施の形態で算出される補正値σ0を修正する。また、画素ｅ及び画素ｆの周辺の画素についての補正値σ1，σ2，σ3は、
σ1＝σ0’／２
σ2＝σ0’／４
σ3＝σ0’／８
とする。このように補正値を決定することで、補正後の輝度値は、図２０の黒丸で示すように、新たにブロック歪と知覚されるような段差が発生しないこととなる。
【０１４０】
このようにブロック歪判定回路６は、第１〜第３の判定条件を追加することで、ブロック境界の近傍の輝度値のパターンを識別し、上述の第１及び第２の実施の形態で示した判定条件で補正を行った場合に補正後に新たなエッジが生ずるかを予測し、補正値を制御することができる。したがって、このような第１〜第３の判定条件を追加することで、補正後新たに生じるエッジの発生を未然に防止することができる。
【０１４１】
また、処理を行うことにより、ブロック歪判定回路６では、上述の第１及び第２の実施の形態では、図２１に示すように、補正後のdiff3の値が大きくなって新たに生じたエッジとして検出されるようなことがない。
【０１４２】
このようなブロック歪低減装置１でブロック歪の低減処理を行うときには、図２２に示すようなフローチャートに従って行う。
【０１４３】
すなわち、このフローチャートによれば、先ず、ステップＳＴ１０１において、動画像を構成する全てのフレームについての処理が終了したか否かの判断を行う。そして、全てのフレームについての処理が終了したと判断したときには、ステップＳＴ１０２に進み処理を終了し、処理が終了していないと判断したときには、ステップＳＴ１０３に進む。
【０１４４】
ステップＳＴ１０３では、ブロック歪低減処理の対象となるフレームがI-pictureであるか否かを判断し、I-pictureであると判断したときにはステップＳＴ１０４に進み、I-pictureでないと判断したときにはステップＳＴ１０５に進む。
【０１４５】
ステップＳＴ１０４では符号化難易度評価回路３においてＭＰＥＧデコーダ２からＩＤＣＴ係数を用いて符号化難易度を示すパラメータＫｐを算出し、ステップＳＴ１０５では、ＩＤＣＴ係数及び動きベクトル差分信号ＭＶを用いて符号化難易度を示すパラメータＫｐを算出し、ブロック歪判定回路６及びブロック歪補正回路７に出力して、ステップＳＴ１０６に進む。
【０１４６】
ステップＳＴ１０６では、処理の対象となっているフレームの全てのＤＣＴブロックについて処理が終了したか否かの判断を行う。そして、処理が終了したと判断した場合には、上記のステップＳＴ１０１に戻り、次のフレームについて処理を行い、処理が終了していないと判断したときには、ステップＳＴ１０７に進む。
【０１４７】
ステップＳＴ１０７では、パラメータ演算回路４でブロック境界の近傍におけるアクティビティ｜tmp｜ブロック境界差分｜tmp0｜、隣接差分｜diff0｜〜｜diff7｜の各パラメータを算出し、ブロック歪判定回路６に出力して、ステップＳＴ１０８に進む。
【０１４８】
ステップＳＴ１０８では、垂直相関検出回路５でエッジ抽出を行うことで、重み係数Ｋｃを算出し、当該重み係数Ｋｃをブロック歪判定回路６及びブロック歪補正回路７に出力して、ステップＳＴ１０９に進む。
【０１４９】
ステップＳＴ１０９では、ブロック歪判定回路６で、垂直相関検出回路５からの垂直相関値Ｋｃ及び符号化難易度評価回路３からの符号化難易度を示すパラメータＫｐを用いて、閾値det_th及びcorr_thを決定する。
【０１５０】
次にステップＳＴ１１０では、ブロック歪判定回路６で、
｜tmp0｜＞｜tmp｜及び｜tmp0｜＜det_th
という判定条件が適用されることで、ブロック境界における段差が周辺の画素と比べて突出した段差であるか否か、直流成分及び低周波成分の量子化誤差による段差であるか、すなわち、ブロック歪による段差であるか否かが判断される。そして、これらの２つの判定条件のいづれにも該当しない場合には、ステップＳＴ１１１に進み、ブロック歪補正回路７では補正処理が施されずに原信号がそのまま出力されることとなる。一方、上記の２つの判定条件のいづれかに該当する場合には、ブロック歪があるとみなされ、ステップＳＴ１１２に進む。
【０１５１】
ステップＳＴ１１２では、ブロック歪判定回路６で、図１７を用いて説明したように、処理の対象となる画像データが
(1)  diff0〜diff7＞0又はdiff0〜diff7＜0
(2)  tmp0×（diff0〜diff7）＜0
(3)  Ｋｐ≧diff_th
という判定条件を満たすか否かを判断する。そして、この判定条件を満たす場合は、ブロック境界を除いた補正範囲の輝度値の変化が単調減少か単調増加であることを判断してステップＳＴ１１５に進み、この判定条件を満たさない場合には、ステップＳＴ１１３に進む。
【０１５２】
ステップＳＴ１１５では、ブロック歪補正回路７でステップＳＴ１１２での判定結果を示すフラグが入力されると、｜tmp0｜＞corr_thを満たすか否かを判断し、この条件を満たす場合にはステップＳＴ１１６に進み補正を弱とし、満たさない場合にはステップＳＴ１１７に進み補正を強としてステップＳＴ１２２に進む。
【０１５３】
ステップＳＴ１１３では、ブロック歪判定回路６で、図１８を用いて説明したように、｜tmp0｜≧｜diff3｜及び｜tmp0｜≧｜diff4｜という判断条件を満たすか否かを判断することで、上述の第１及び第２の実施の形態で示した条件ではブロック歪として認識されないような場合における判定条件を変更する。その結果、上記の条件を満たす場合にはブロック境界以外にエッジがないと判断して、ステップＳＴ１１４に進み、満たさない場合にはブロック境界以外にエッジがあると判断して、ステップＳＴ１１８に進み、後述する特殊処理を行う。
【０１５４】
ステップＳＴ１１４では、ブロック歪判定回路６で、上述のステップＳＴ１１５と同様の処理を行い、条件を満たすときにはステップＳＴ１２０に進み、条件を満たさないときにはステップＳＴ１１９に進む。
【０１５５】
ステップＳＴ１１９では、ブロック歪判定回路６で、上述の図２０を用いて説明した処理を行う。すなわちこのステップＳＴ１１９では、上述の第１及び第２の判定条件を判断する。なお、上述の第３の判定条件は、ステップＳＴ１１４で満たされている。このような判定条件を適用することで、上述したように、補正後にブロック境界の近傍に新たなエッジが生じないか否かを判断する。そして、ステップＳＴ１１９では、第１の判定条件及び第２の判定条件が満たされているときには補正後に新たなエッジが生ずると判断して補正を弱とするようにステップＳＴ１２０に進み、満たされていないときには補正後に新たなエッジが生じないと判断して補正を強とするようにステップＳＴ１２１に進む。
【０１５６】
ステップＳＴ１２０及びステップＳＴ１２１では、ブロック歪補正回路７で上述のステップＳＴ１１６、ステップＳＴ１１７と同様に、補正の強弱を決定してステップＳＴ１２２に進む。
【０１５７】
ステップＳＴ１２２では、ブロック歪補正回路７で、符号化難易度評価回路３からの符号化難易度を示すパラメータＫｐ及び垂直相関検出回路５からの相関を示す重み係数Ｋｃとを補正値σ０に乗算処理して、ステップＳＴ１２３に進む。
【０１５８】
ステップＳＴ１２３では、ブロック歪補正回路７で補正範囲における各画素の補正値を決定する。このとき、ブロック歪補正回路７では、ブロック境界の近傍程補正を強とする。そして、各画素についての補正値σ1，σ2，σ3を決定したら、ステップＳＴ１２４に進む。
【０１５９】
ステップＳＴ１２４では、ブロック歪補正回路７で、ステップＳＴ１２３で決定した補正値を原信号に加算し、補正された画像データを得て、ステップＳＴ１２５でブロック歪補正回路７からブロック歪が低減された画像データを出力し、ステップＳＴ１２６で１つのＤＣＴブロックについてのブロック歪低減処理及び補正処理を終了して、ステップＳＴ１０６に戻る。すなわち、このフローチャートによれば、１フレームを構成する各ＤＣＴブロックについてステップＳＴ１０６〜ステップＳＴ１２５を行うことでノイズ低減処理及び補正処理を行い、ステップＳＴ１０６で１フレーム内の全てのＤＣＴブロックの処理が終了したら、次のフレームに移って、ステップＳＴ１０１〜ステップＳＴ１０６を繰り返すことで、動画像を構成する全てのフレームについて処理を行う。
【０１６０】
上述のステップＳＴ１１８の特殊処理について図２３に示すフローチャートを用いて説明する。
【０１６１】
このフローチャートによれば、先ず、ステップＳＴ１３１で、図１９を用いて説明したように、垂直相関検出回路５で垂直方向Ｖにおけるエッジの数num_edgeをカウントし、ブロック歪判定回路６でnum_edge>edge_thという判定条件を満たすか否かを判断する。この条件を満たすときにはステップＳＴ１３２に進んでノイズ低減処理を行わずに原信号をそのまま出力する。すなわち、原信号がブロック境界の近傍に縞模様を示す画像データであると判断する。また、条件を満たさないときにはステップＳＴ１３３に進む。
【０１６２】
ステップＳＴ１３３では、ブロック歪判定回路６で、上述のブロック境界以外に存在するエッジがブロック境界の左側に存在するか否かを判断する。すなわち、ステップＳＴ１３３では、
diff3×tmp0＜0、diff4×tmp0≧0、diff2×diff3≧0
という条件を満たすか否かをブロック歪判定回路６で判断する。その結果、この判定条件を満たす場合にはステップＳＴ１３４に進み、満たさない場合にはステップＳＴ１３９に進む。
【０１６３】
ステップＳＴ１３９では、ブロック歪判定回路６で、上述のブロック境界以外に存在するエッジがブロック境界の右側に存在するかを判断する。すなわち、ステップＳＴ１３３では、
diff4×tmp0＜0、diff3×tmp0≧0、diff4×diff5≧0
という条件を満たすか否かをブロック歪判定回路６で判断する。その結果、この判定条件を満たす場合にはステップＳＴ１４０に進み、満たさない場合にはブロック境界の左右側にはエッジとみなされる部分がないとして、ステップＳＴ１３２に進んで、原信号をそのまま出力する。
【０１６４】
ステップＳＴ１３４では、ブロック歪補正回路７で｜tmp0｜＞corr_thを満たすか否かを判断し、この条件を満たす場合にはステップＳＴ１３５に進み補正を弱とし、満たさない場合にはステップＳＴ１３６に進み補正を強としてそれぞれステップＳＴ１３７に進む。
【０１６５】
ステップＳＴ１３７では、ブロック歪補正回路７で、符号化難易度評価回路３からの符号化難易度を示すパラメータＫｐ及び垂直相関検出回路５からの相関を示す重み係数Ｋｃとを補正値σ0に乗算処理して、ステップＳＴ１３８に進む。
【０１６６】
ステップＳＴ１３８では、補正値σ0で補正される画素の両側に隣接する画素についての補正値σ1及びσ2を
σ1＝diff2/2，σ2＝diff4/2
で示される式で算出する。
【０１６７】
ステップＳＴ１４０〜ステップＳＴ１４６では、上述のステップＳＴ１３４〜ステップＳＴ１３８とほぼ同様の処理を行う。異なる点は、ステップＳＴ１４１及びステップＳＴ１４２で補正の強弱を決定する点と、ステップＳＴ１４４で補正値σ1により補正を行う隣接差分がdiff3であり補正値σ2により補正を行う隣接差分がdiff5である点である。
【０１６８】
次にステップＳＴ１４５では上述のステップＳＴ１２４と同様の処理を行い、ステップＳＴ１４６では上述のステップＳＴ１２５と同様の処理を行うことで処理を終了する。
【０１６９】
また、図１７〜図２３を参照して説明したブロック歪低減装置の動作については、第１の実施の形態に係るブロック歪低減装置１についてのみ説明したが、第２の実施の形態に係るブロック歪低減回路でも適用可能である。このとき、第２の実施の形態で説明したブロック歪低減回路では、ブロック歪判定部１８で上述したような画像データの絵柄に対応して上述した判定条件を適用することで、絵柄に応じてブロック歪の判定を行い、補正値算出部３２で補正を行う。
【０１７０】
次に、本発明の第３の実施の形態として、２次元ＤＣＴ変換によるブロック処理を用いた画像圧縮装置で圧縮された動画像をＭＰＥＧを用いて再圧縮する際に、当該圧縮方式特有のブロックノイズをあらかじめ除去してから再圧縮を行うことで、符号化圧縮効率を向上させるブロック歪み符号化装置について説明する。
【０１７１】
例えば、光ディスクのような記録媒体から読み出した画像データが符号化されたビットストリームを放送により送出する際には、記録媒体からの読み出しのビットレートと放送による送出のビットレートは一般に異なるので、ビットストリームのビットレートの変換が行われる。具体的には、例えば８Ｍｂｐｓのビットストリームが４Ｍｂｐｓのビットストリームに変換されることがある。
【０１７２】
従来、ＭＰＥＧエンコードされたビットストリームをレート変換してＭＰＥＧで再エンコード使用する場合などには、ＭＰＥＧデコードで得られた復号画像にブロックノイズが発生していても、そのまま再エンコードしていた。
【０１７３】
また、ＭＰＥＧ以外のＤＣＴ変換を用いた歩録処理を行う動画像符号化方式のビットストリームを、一旦当該符号化方式に従って復号画像を得た後にＭＰＥＧエンコードすることによってＭＰＥＧのビットストリームに変換する場合も、ブロックノイズが発生していたとしても、そのままＭＰＥＧエンコードしていた。
【０１７４】
そのため、ＭＰＥＧ再エンコード時やフォーマット変換時のＭＰＥＧエンコード時の動き補償についての動きベクトル検出を行う際に、ブロックノイズに妨害されて動きベクトルの検出精度が低下していた。
【０１７５】
また、ブロックノイズが発生する位置はブロックの境界に一意に依存する。そのため、ブロック境界の位置は同じ符号化方式を用いて再エンコードやフォーマット変換のためのエンコードを行う場合、ブロックノイズが発生している画像をブロックノイズを除去することなくエンコードすると、再生画像においては、ブロックノイズが強調されてさらに目立ってしまうという問題があった。
【０１７６】
以下の図２４に、再符号化の前にブロックノイズ除去を行う第３の実施の形態の符号化装置のブロック図を示す。
【０１７７】
この符号化装置は、入力端子５１に入力ビットストリームに対して適応ブロックノイズ除去を行う適応ブロックノイズ除去回路５６と、この適応ブロックノイズ除去回路５６からの復号画像をＭＰＥＧ規格のビットストリームに符号化して出力端子５５に出力するエンコーダ５４とを備えている。
【０１７８】
適応ブロックノイズ除去回路５６は、入力ビットストリームを復号するデコーダ５２と、デコーダ５２からの復号画像からブロックノイズを除去するブロックノイズ除去回路５３とを有している。
【０１７９】
入力端子５１から入力したビットストリームは、デコーダ５２にてデコードされる。入力端子５１から入力されるビットストリームは、２次元ＤＣＴを用いたブロック処理を行う符号化方式でエンコードされたものであり、デコーダ５２で復号できるものである。
【０１８０】
デコード５２にて復号された復号画像は、ブロックノイズ除去回路５３によってブロックノイズが除去される。ブロックノイズ除去回路５３におけるブロックノイズ除去は、例えば上述したような方法により行うことができる。このとき、エンコーダ５４に入力される復号画像からは、この符号化装置に入力される入力画像のブロックノイズが除去されているため、エンコーダ５４における符号化効率が改善される。
【０１８１】
エンコーダ５４で得られた符号化されたビットストリームは、出力端子５５に出力される。
【０１８２】
ここで、入力端子５１から入力したビットストリームが、動き補償（motion compensation;MC）−ＤＣＴを用いたＭＰＥＧのように、２次元ＤＣＴと共に動き補償を用いたハイブリッド圧縮方式で符号化されたビットストリームであった場合、デコーダ５１からブロックノイズの発生に相関の高い動きベクトルや、逆ＤＣＴをかけた後の計数などの符号化パラメータを得ることができるため、適応ブロックノイズ除去回路５６を用いて、より効率の高いブロックノイズ除去が可能になる。この適応ブロックノイズ除去については、上述した。
【０１８３】
以下の図２５には、適応ブロックノイズ除去を行う場合の適応ブロックノイズ除去回路５６のブロック図を示す。
【０１８４】
適応ブロックノイズ除去回路５６は、入力端子７１から入力されるＭＰＥＧ方式にて符号化されたビットストリームを復号するＭＰＥＧデコーダ７２と、ＭＰＥＧデコーダ７２からの復号画像からＹ信号及びＣ信号を分離するＹＣ分離回路７５と、ＹＣ分離回路７５からのＣ信号を遅延させる遅延回路７８と、ＹＣ分離回路７５からのＹ信号をメモリする画素値メモリ７６と、遅延回路７８を介して得られるＣ信号及び画素値メモリ７６を介して得られるＹ信号を合成して出力端子８０に出力画像として出力するＹＣ合成回路７９とを有している。ここで、ＭＰＥＧデコーダ７２は、図２４におけるデコーダ５２に対応している。
【０１８５】
また、適応ブロックノイズ除去回路５６は、ＭＰＥＧデコーダ７２からの符号化パラメータに基づいて符号化難易度を算出する符号化難易度算出回路７３と、画素値メモリ７６からのＹ信号についてのパラメータ演算を行うパラメータ演算回路７７と、符号化難易度算出回路７３からの符号化難易度及びパラメータ算出回路７７からのパラメータに基づいてブロック歪みを判定すると共に補正値を算出して歪み補正値を画素値メモリ７６に与えるブロック歪み判定及び補正値算出回路７４とを有している。
【０１８６】
入力端子７１に入力されたＭＰＥＧ符号化されたビットストリームは、ＭＰＥＧデコーダ７２にてデコードされる。
【０１８７】
デコード時に得られた符号化パラメータは、符号化難易度算出回路７３に送られ、ここで符号化難易度が得られる。符号化難易度はブロック歪み判定及び補正値算出回路７４に送られ、ここでのブロック歪み及び補正値算出に使用される。
【０１８８】
ＹＣ分離回路７５では、入力された復号画像をＹ信号とＣ信号に分離する。Ｙ信号の補正に必要な範囲の画素値を画素値メモリ７６に蓄える。
【０１８９】
パラメータ算出回路７７では、画素値メモリ７６から所望のＹ信号を呼び出し、パラメータを算出する。ブロック歪み判定及び補正値算出回路７４では、入力されたパラメータと符号化難易度からブロック歪であるか否か、ブロック歪ならばどのようなパターンのブロック歪であるかの判定を行い、補正値を算出して画素値メモリ７６に渡す。画素値メモリ７６内では、所定のＹ信号に補正値を加算して補正信号を得る。
【０１９０】
図２４において、ビットストリームのデコード後にディジタル信号からアナログ信号に変換される場合がある。この場合には、図２６に示すように、上記アナログ信号は、ブロック境界判定回路８１と、これに続くブロックノイズ除去回路８２とにより、画像データからブロック歪が除去された後にエンコーダにより５４にて符号化される。
【０１９１】
このように、第３の実施の形態は、２次元ＤＣＴを用いた画像圧縮方式で圧縮された動画像を一旦復号して画像に戻した後で再圧縮する際に、あらかじめ復号画像に発生している当該圧縮方式に特有のブロックノイズをブロックノイズ除去フィルタによって除去するものである。
【０１９２】
ブロックノイズを除去することにより、動き予測の精度が向上し、再圧縮時の符号化効率を向上させることが可能となる。
【０１９３】
また、あらかじめブロックノイズを除去することで、再圧縮画像を復号した画像のブロックノイズの発生を抑制することができる。
【０１９４】
さらに、前段階で用いられた圧縮方式がＭＣ−ＤＣＴを用いたハイブリッド圧縮方式であり、かつ、ＭＣの際の動きベクトル情報を再圧縮時に利用できる場合は、この動きベクトル情報を利用した適応ブロックノイズ除去方式を用いることで、ブロックノイズ除去の効率を向上することができる。
【０１９５】
上述のように、二次元ＤＣＴを用いた動画像圧縮符号化による圧縮画像を一旦復号してから再符号化する際に、符号化効率を向上させ、ブロックノイズが発生するのを抑制して、主観画質を向上させることができる。
【０１９６】
以上の説明からも明らかなように、本発明に係るブロック歪低減方法及び装置並びに符号化装置及び方法の実施の形態によれば、高周波成分の欠落がなく解像度を保ったブロック歪低減を行いながら、補正による破綻を軽減できる。また、ハードウェア構成も簡易であるので、業務用のみならず、ＤＣＴ符号化等のブロック符号化を用いた圧縮処理を行う種々の民生機器、例えばビデオＣＤプレーヤ、ディジタルビデオディスクプレーヤ、ディジタルテレビジョン受像機、テレビ電話等にも搭載可能である。勿論、ソフトウェア処理により上述したようなアルゴリズムを実現することもでき、いわゆるインターネットやマルチメディアでの動画のリアルタイム再生におけるブロック歪低減、ブロック歪除去も容易に実現できる。さらに、本実施の形態によれば、強／中／弱の３モードを持っているので、映像の状態に合わせたブロック歪低減が可能である。また、ブロック歪処理で用いるパラメータも外部から調整できるため、上記の３モードだけでなく微調整も可能である。
【０１９７】
さらに、本発明の実施の形態によれば、エッジ抽出、動き検出の有効な情報を用いることによって、ブロック歪判定による誤判定を軽減できる。
【０１９８】
なお、本発明は上述した実施の形態のみに限定されるものではなく、例えば、上記実施の形態においては水平（Ｈ）方向の処理について述べたが、垂直（Ｖ）方向についても同様に適用可能である。また、補正値の計算やフィルタ処理の具体例は上述の例に限定されないことは勿論である。
【０１９９】
【発明の効果】
本発明では、入力画像データの動きを検出する動き検出処理を行うとともに、入力画像データの高周波成分を抽出する高周波成分のエネルギー量算出処理を行うことで符号化の難易度を示すパラメータを算出し、上記入力画像データからブロック境界の近傍におけるアクティビティ、ブロック境界差分及び隣接差分をブロック歪判定に必要なパラメータとして算出し、上記符号化の難易度を示すパラメータ検出の結果及び上記パラメータ演算の結果に基づいて、ブロック歪の複数段階の強さを判定し、判定された強さに応じた補正量でブロック歪の補正を行うことにより、誤判定を軽減して、上記入力画像データのブロック歪を適切に低減することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係るブロック歪低減装置の構成例を示すブロック図である。
【図２Ａ】符号化が容易なサンプルについての動きベクトル差分ＭＶの値とサンプル数との関係を示す図である。
【図２Ｂ】符号化が困難なサンプルについての動きベクトル差分ＭＶの値とサンプル数との関係を示す図である。
【図３Ａ】符号化が容易なサンプルについてのＩＤＣＴ係数の値とサンプル数との関係を示す図である。
【図３Ｂ】符号化が困難なサンプルについてのＩＤＣＴ係数の値とサンプル数との関係を示す図である。
【図４】１フレーム内においてＩＤＣＴ係数と動きベクトル差分ＭＶを算出するときの一例を説明するための図である。
【図５】垂直方向のブロック境界の符号化難易度の求め方の一例を説明するための図である。
【図６】垂直相関の強さを求める方法を説明するためのＤＣＴブロック境界近傍の画素を示す図である。
【図７】ブロック歪補正のためのブロック境界近傍の画素を示す図である。
【図８】本発明に係る第２の実施の形態となる画像データのブロック歪低減装置の概略構成を示すブロック図である。
【図９】本発明に係る第２の実施の形態となる画像データのブロック歪低減装置が用いられたデコーダシステムの概略構成を示すブロック図である。
【図１０】本発明に係る第２の実施の形態となるブロック歪低減方法の処理手順を説明するためのフローチャートである。
【図１１】エッジ抽出処理の動作の一例を説明するためのフローチャートである。
【図１２】ラプラシアンフィルタの係数の一例を示す図である。
【図１３】動き検出処理の動作の一例を説明するためのフローチャートである。
【図１４】ブロック歪判定処理の動作の一例を説明するためのフローチャートである。
【図１５】１次元の２次微分によりエッジ抽出を行う場合の処理動作の一例を説明するためのフローチャートである。
【図１６】図１５のエッジ抽出を行う場合の画像データのブロック歪低減装置の概略構成を示すブロック図である。
【図１７】ブロック境界を介して各画素の輝度値が単調減少していて、ブロック境界でのみ輝度値が増加しているときにおけるブロック歪低減処理を説明するための図である。
【図１８】ブロック境界以外に生ずるエッジに対するブロック歪低減処理を説明するための図である。
【図１９】ブロック境界に平行してブロック歪と検出されるエッジを示す画素があるときにおけるブロック歪低減処理を説明するための図である。
【図２０】補正後に新たに生ずるエッジを抑制するときの補正処理を説明するための図である。
【図２１】ブロック歪の低減方法の一例を示す図である。
【図２２】第１の実施の形態に係るブロック歪低減装置でブロック歪低減処理を行うときのフローチャートである。
【図２３】ブロック低減処理における特殊処理を行うときのフローチャートを示す図である。
【図２４】再符号化の前にブロックノイズ除去を行う方式のブロック図である。
【図２５】適応ブロックノイズ除去方式のブロック図である。
【図２６】デコード後にＤ／Ａ変換したアナログ信号の場合のブロック図である。
【図１】
0004164877.tif 000003
【図２Ａ】
0004164877.tif 000004
【図２Ｂ】
0004164877.tif 000005
【図３Ａ】
0004164877.tif 000006
【図３Ｂ】
0004164877.tif 000007
【図４】
0004164877.tif 000008
【図５】
0004164877.tif 000009
【図６】
0004164877.tif 000010
【図７】
0004164877.tif 000011
【図８】
0004164877.tif 000012
【図９】
0004164877.tif 000013
【図１０】
0004164877.tif 000014
【図１１】
0004164877.tif 000015
【図１２】
0004164877.tif 000016
【図１３】
0004164877.tif 000017
【図１４】
0004164877.tif 000018
【図１５】
0004164877.tif 000019
【図１６】
0004164877.tif 000020
【図１７】
0004164877.tif 000021
【図１８】
0004164877.tif 000022
【図１９】
0004164877.tif 000023
【図２０】
0004164877.tif 000024
【図２１】
0004164877.tif 000025
【図２２】
0004164877.tif 000026
【図２３】
0004164877.tif 000027
【図２４】
0004164877.tif 000028
【図２５】
0004164877.tif 000029
【図２６】
0004164877.tif 000030