(57)【特許請求の範囲】
【請求項１】
直交変換符号化により符号化されたデータを復号化する復号化装置であって、
フィルタの対象となる画素が属する画素ブロックの量子化スケールに、フィルタの対象となる画素が属するピクチャの量子化マトリクスの要素の値に応じた重みを乗じて、Ｑ値を生成するＱ値生成手段と、
前記Ｑ値に基づいて閾値を生成する閾値生成手段と、
前記フィルタの対象となる画素の画素値とその上、下、左、右、左上、右上、左下及び右下方向に隣接する８個の周辺画素のそれぞれの画素値との差分の絶対値を生成する差分値生成手段と、
前記周辺画素のうち前記差分の絶対値が前記閾値よりも小さい周辺画素については、その周辺画素の画素値をそのまま出力し、前記周辺画素のうち前記差分の絶対値が前記閾値よりも大きい周辺画素については、その周辺画素の画素値の代わりに前記フィルタの対象となる画素の画素値を出力する、選択手段と、
前記選択手段から出力された前記８個の周辺画素の画素値の平均値を求めることにより、前記フィルタの対象となる画素のフィルタ処理後の画素値を求める、非線形演算手段と、
を有することを特徴とする復号化装置。
【請求項２】
直交変換符号化により符号化されたデータを復号化する復号化方法であって、
フィルタの対象となる画素が属する画素ブロックの量子化スケールに、フィルタの対象となる画素が属するピクチャの量子化マトリクスの要素の値に応じた重みを乗じて、Ｑ値を生成するＱ値生成ステップと、
前記Ｑ値に基づいて閾値を生成する閾値生成ステップと、
前記フィルタの対象となる画素の画素値とその上、下、左、右、左上、右上、左下及び右下方向に隣接する８個の周辺画素のそれぞれの画素値との差分の絶対値を生成する差分値生成ステップと、
前記周辺画素のうち前記差分の絶対値が前記閾値よりも小さい周辺画素については、その周辺画素の画素値をそのまま出力し、前記周辺画素のうち前記差分の絶対値が前記閾値よりも大きい周辺画素については、その周辺画素の画素値の代わりに前記フィルタの対象となる画素の画素値を出力する、選択ステップと、
前記選択ステップから出力された前記８個の周辺画素の画素値の平均値を求めることにより、前記フィルタの対象となる画素のフィルタ処理後の画素値を求める、非線形演算ステップと、
を有することを特徴とする復号化方法。
【請求項３】
コンピュータに、
フィルタの対象となる画素が属する画素ブロックの量子化スケールに、フィルタの対象となる画素が属するピクチャの量子化マトリクスの要素の値に応じた重みを乗じて、Ｑ値を生成するＱ値生成ステップと、
前記Ｑ値に基づいて閾値を生成する閾値生成ステップと、
前記フィルタの対象となる画素の画素値とその上、下、左、右、左上、右上、左下及び右下方向に隣接する８個の周辺画素のそれぞれの画素値との差分の絶対値を生成する差分値生成ステップと、
前記周辺画素のうち前記差分の絶対値が前記閾値よりも小さい周辺画素については、その周辺画素の画素値をそのまま出力し、前記周辺画素のうち前記差分の絶対値が前記閾値よりも大きい周辺画素については、その周辺画素の画素値の代わりに前記フィルタの対象となる画素の画素値を出力する、選択ステップと、
前記選択ステップから出力された前記８個の周辺画素の画素値の平均値を求めることにより、前記フィルタの対象となる画素のフィルタ処理後の画素値を求める、非線形演算ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像復号化装置及び復号化方法及びプログラムに関する。
【背景技術】
【０００２】
近年、動画像の圧縮符号化及び復号化する処理技術は、急速に発展し、ディジタル放送が受信できるディジタルテレビやＨＤＤ（Hard Disk Drive）或いはＤＶＤ（Digital Versatile Disk）を記録媒体に持つ録画再生装置などでは、主にＭＰＥＧ−２（Moving Picture Experts Group）フォーマットが実用化されている。
【０００３】
ＭＰＥＧ−２フォーマットに代表されるＭＰＥＧ圧縮は、動き補償予測（ＭＣ）と離散コサイン変換（ＤＣＴ）を用いた符号化方式であり、低いビットレートで圧縮された場合には、ブロック境界に発生する「ブロック歪」とエッジの周辺に発生する「リンギング歪」が知覚される場合がある。
【０００４】
特許文献１には、このようなＭＰＥＧ圧縮による歪を、符号化情報を利用して除去する方法が記載されている。この方法は、ＭＰＥＧ符号化データを復号する際に得られる符号化情報（量子化情報、ＤＣＴ係数情報、動きベクトル情報）を参照して、復号画像の歪を除去するためのフィルタの種類や強度などを切り替える方法である。
【０００５】
フィルタの種類としては、ブロックノイズ除去フィルタ、モスキートノイズ除去フィルタ、ガウスフィルタなどが挙げられている。ここで、モスキートノイズは、リンギング歪と同意語である。
【０００６】
また、特許文献２には、ブロック歪除去フィルタ（デブロックフィルタ）が記載され、特許文献３には、リンギング歪除去フィルタ（デリンギングフィルタ）が記載されている。
【特許文献１】特開２００３−１７９９２１公報
【特許文献２】特許第３４６４９０８号公報
【特許文献３】特開２０００−１０２０２０公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載された方法では、処理量を削減するため符号化情報のみを参照して適応させるべきフィルタを選択し処理している。しかしながら符号化情報から推定した復号画質と実際の復号画質とに大きな開きがある場合、歪の除去が不十分という問題、また本来存在すべき信号を除去してしまうなどという問題がある。
【０００８】
本発明は、上記問題に鑑みてなされたものであって、発生する歪の種類や強度の推定が高精度となり、ＭＰＥＧ圧縮により発生する歪のみを除去することが可能な復号化装置、復号化方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明は、直交変換符号化により符号化されたデータを復号化する復号化装置であって、フィルタの対象となる画素の値とその周囲にある少なくとも１個の画素の値との差分を生成する差分値生成手段と、
前記差分値生成手段から出力された差分値と閾値とを比較し、判定結果を出力する閾値判定手段と、前記閾値判定手段から出力された前記判定結果、前記フィルタの対象となる画素の値及び前記周囲にある少なくとも１個の画素の値が入力され、前記差分値が前記閾値よりも小さい判定結果の場合は前記周囲にある少なくとも１個の画素の値を出力し、前記差分値が前記閾値よりも大きい判定結果の場合は前記フィルタの対象となる画素の値を出力する非線形演算手段と、前記非線形演算部の出力に対し、所定のフィルタ係数を畳み込む畳み込み手段とを具備するデリンギングフィルタを有することを特徴とする復号化装置を提供する。
【００１０】
また、本発明は、直交変換符号化により符号化されたデータを復号化する復号化装置を用いて前記データを復号化する復号化方法であって、差分値生成手段により、フィルタの対象となる画素の値とその周囲にある少なくとも１個の画素の値との差分を生成し、
閾値判定手段により、前記差分値生成手段から出力された差分値と閾値とを比較し、判定結果を出力し、非線形演算手段により、前記閾値判定手段から出力された前記判定結果、前記フィルタの対象となる画素の値及び前記周囲にある少なくとも１個の画素の値が入力され、前記差分値が前記閾値よりも小さい判定結果の場合は前記周囲にある少なくとも１個の画素の値を出力し、前記差分値が前記閾値よりも大きい判定結果の場合は前記フィルタの対象となる画素の値を出力し、畳み込み手段により、前記非線形演算部の出力に対し、所定のフィルタ係数を畳み込むことを特徴とする復号化方法を提供する。
【００１１】
また、本発明は、コンピュータに、フィルタの対象となる画素とその周囲にある少なくとも１個の画素との差分を生成するステップと、前記差分値生成手段から出力された差分値と閾値とを比較し、判定結果を出力するステップと、前記閾値判定手段から出力された前記判定結果、前記フィルタの対象となる画素の値及び前記周囲にある少なくとも１個の画素の値が入力され、前記差分値が前記閾値よりも小さい判定結果の場合は前記周囲にある少なくとも１個の画素の値を出力し、前記差分値が前記閾値よりも大きい判定結果の場合は前記フィルタの対象となる画素の値を出力するステップと、前記非線形演算部の出力に対し、所定のフィルタ係数を畳み込むステップとを実行させることを特徴とするプログラムを提供する。
【発明の効果】
【００１２】
本発明によれば、フィルタの対象となる画素の値とこの画素の周辺の画素のうち少なくとも１つの画素の値の差分値が閾値よりも小さい場合は、その周囲にある少なくとも１個の画素の値を出力し、差分値が閾値よりも大きい場合はフィルタの対象となる画素の値を出力することで、発生する歪の種類や強度の推定が高精度となるため、ＭＰＥＧ圧縮により発生する歪のみを除去することが可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の好ましい実施形態について説明する。なお、本発明は以下にあげる実施形態に限定されることはなく種々組み合わせて実施することができる。また、本発明の実施形態では、ＭＰＥＧ−２形式のビットストリームを用いて説明するが、他のＭＣとＤＣＴを用いた符号化方式のビットストリームを用いても良い。
【００１４】
図１に、本発明の実施形態に係わる復号化装置のブロック図を示す。
【００１５】
図１に示すように、この復号化装置は、ビデオ復号化部１１０と、ポストフィルタ部１０３と符号化情報メモリ１０２とを有している。このうちビデオ符号化部１１０は、可変長符号復号化部１１１と、逆量子化部１１２と、逆ＤＣＴ部１１３と、加算器１１４と、動き補償予測部１１５とを有している。
【００１６】
また、ビデオ復号化部１１０とポストフィルタ部１０３の間には、ビデオ復号化部１１０（内部信号）と外部信号（ｅｘｔ）とを切り替える切替部１０が設けられている。
【００１７】
このように構成された復号化装置において、ビデオ復号化部１１０にＭＰＥＧ−２形式のビットストリーム１０１が供給され、復号化される。この復号化された画像情報がポストフィルタ部１０３にてフィルタ処理される。
【００１８】
ビデオ復号化部１１０の内部では、先ず、可変長符号復号化部１１１にＭＰＥＧ−２形式のビットストリーム１０１が供給され、符号化情報（量子化情報、ＤＣＴ係数情報、動きベクトル情報等）が復号される。この符号化情報Ｌ１は、符号化情報メモリ１０２とポストフィルタ部１０３に供給される。
【００１９】
また、可変長符号復号化部１１１によって復号化された画像データは、逆量子化部１１２に供給されてＤＣＴ係数情報が逆量子化される。逆量子化部１１２にて逆量子化されたＤＣＴ係数は逆ＤＣＴ部１１３に供給され逆変換されて加算器１１４に供給される。
【００２０】
一方、可変長符号復号化部１１１から出力された符号化情報（量子化情報、ＤＣＴ係数情報、動きベクトル情報等）Ｌ３は、動き補償予測部１１５に入力され、動き補償予測値を生成する。そしてこの動き補償予測値は、動き補償予測部１１５から加算器１１４に供給できるように制御される。
【００２１】
逆ＤＣＴ部１１３で生成された信号がＭＣ誤差である場合は、加算器１１４において動き補償予測部１１５から供給される予測信号が加算され画像信号を再生する。一方逆ＤＣＴ部１１３で生成された信号がＭＣ誤差でない場合は、加算器１１４において動き補償予測部１１５から予測信号が供給されず、逆ＤＣＴ部１１３で生成された信号が、そのまま画像信号として再生される。
【００２２】
そして加算器１１４から出力された画像信号Ｌ２は、動き補償予測部１１５内のフレームメモリに蓄積され、また、ポストフィルタ部１０３にも供給される。
【００２３】
符号化情報メモリ１０２は、可変長符号復号化部１１１から符号化情報Ｌ１が供給されることにより、動き補償予測で参照されるピクチャに対する符号化情報が蓄積されている。そして符号化情報メモリ１０２に蓄積された符号化情報はポストフィルタ部１０３に供給される。このとき、ポストフィルタ部１０３において、参照するピクチャの符号化情報が供給されることになる。
【００２４】
ポストフィルタ部１０３は、可変長符号復号化部１１１から供給される符号化情報（量子化情報、ＤＣＴ係数情報、動きベクトル情報等）Ｌ１及び符号化情報メモリ１０２から供給される動き補償で参照するピクチャの符号化情報Ｌ４を用いて、画質の劣化量（以後、Ｑ値と呼ぶ）を推定する。そしてこのＱ値を用いて復号画像信号Ｌ２を解析し、後述するデリンギングフィルタ、垂直デブロックフィルタ、水平デブロックフィルタなどの処理を行うべきか否かを制御する。
【００２５】
ポストフィルタ部１０３は、これらデリンギングフィルタ、垂直デブロックフィルタ、水平デブロックフィルタなどはカスケードに繋げてもよい。
【００２６】
また、これらデリンギングフィルタ、垂直デブロックフィルタ、水平デブロックフィルタを適応するか否かは、Ｑ値に応じて適応的に制御される。こうしてポストフィルタ部１０３においてフィルタ処理された再生画像信号１０４が出力される。
【００２７】
次に、図２に、ポストフィルタ部１０３の詳細なブロック図を示す。
【００２８】
図２に示すように、このポストフィルタ部１０３は、Ｑ値生成部１２７と、デリンギングフィルタ部１２１、垂直デブロックフィルタ部１２２及び水平デブロックフィルタ部１２３を具備している。それぞれデリンギング部１２１には第１のフィルタ適応制御部１２４、垂直デブロックフィルタ部１２２には第２のフィルタ適応制御部１２５及び水平デブロックフィルタ部１２３には第３のフィルタ適応制御部１２６が接続され復号化された画像信号にフィルタ処理を行うか行わないかの制御をするようになっている。
【００２９】
このように構成されたポストフィルタ部１０３において、Ｑ値生成部１２７に可変長符号復号化部１１１から符号化情報Ｌ１及び符号化情報メモリ１０２から符号化情報Ｌ４が供給され、フィルタの対象となるピクチャ及び参照ピクチャの符号化情報を用いてＱ値を生成する。
【００３０】
ここでＱ値生成部１２７は、デリンギングフィルタ部１２１、垂直デブロックフィルタ部１２２及び水平デブロックフィルタ部１２３にそれぞれ適したＱ値Ｌ２１、Ｌ２２、Ｌ２３を生成し、それぞれ第１のフィルタ適応制御部１２４、第２のフィルタ適応制御部１２５及び第３のフィルタ適応制御部１２６に供給する。
【００３１】
第１のフィルタ適応制御部１２４、第２のフィルタ適応制御部１２５及び第３のフィルタ適応制御部１２６は、さらに画像情報Ｌ２からフィルタ対象となる画素値とその近傍の画素値Ｌ２４、Ｌ２５及びＬ２６を取得し、Ｑ値及び画素値の変化量を用いて制御信号Ｌ２７、Ｌ２８及びＬ２９を供給する。こうすることで、それぞれのフィルタ部であるデリンギングフィルタ部１２１、垂直デブロックフィルタ部１２２及び水平デブロックフィルタ部１２３を適応させるか否かの処理を制御する。
【００３２】
このようにして復号化された画像情報Ｌ２は、それぞれのデリンギングフィルタ部１２１、垂直デブロックフィルタ部１２２、水平デブロックフィルタ部１２３によって最適なフィルタ処理が行われ、画像情報１０４として出力される。
【００３３】
なお、ポストフィルタ１０３には、デリンギングフィルタ部１２１と垂直デブロックフィルタ部１２２との間に切替部９が、垂直デブロックフィルタ部１２２と水平デブロックフィルタ部１２３との間に切替部８が設けられている。
【００３４】
内部信号（Ｄｅｃ）が入力された場合、切替部９及び切替部８は垂直デブロックフィルタ部１２２及び水平デブロックフィルタ部１２３を信号が通るように選択される。一方外部信号（ｅｘｔ）が入力された場合、切替部９及び切替部８は垂直デブロックフィルタ部１２２及び水平デブロックフィルタ部１２３に信号が通らないように選択される。
【００３５】
すなわち内部信号（Ｄｅｃ）が入力された場合、信号はデリンギング部１２１、垂直デブロックフィルタ部１２２及び水平デブロックフィルタ部１２３をそれぞれ通過し、外部信号（ｅｘｔ）が入力された場合、信号はデリンギング部１２１を通り、垂直デブロックフィルタ部１２２及び水平デブロックフィルタ部１２３は通過しないように制御される。
【００３６】
内部信号（Ｄｅｃ）には符号化規則に従ったブロック境界（例えば、８画素置き）に歪が発生するが、外部信号（ｅｘｔ）はブロック境界の規則が不定であるため、デブロックフィルタを間違った位置にかけてしまうと画質劣化を引き起こす可能性がある。そこで、内部信号（Ｄｅｃ）と外部信号（ｅｘｔ）とで切り替えを行うことにより、ポストフィルタ部１０３を外部信号（ｅｘｔ）にも適用できるという効果を期待できる。
【００３７】
また、ここではフィルタの順序がデリンギングフィルタ部１２１、垂直デブロックフィルタ部１２２、水平デブロックフィルタ部１２３の順で例示したが、これらのフィルタはそれぞれ処理の順序を変更して用いることができる。
【００３８】
次に、図３に、第１のフィルタ適応制御部１２４とデリンギングフィルタ部１２１の詳細なブロック図を示す。
【００３９】
図３では、フィルタの対象となる当該画素と上下左右及び斜め方向に隣接する８画素とで構成される３×３のマスクを用いた例を説明する。
【００４０】
図３に示すように、このデリンギングフィルタ部１２１は、Ｌｉｎｅ１、Ｌｉｎｅ２、Ｌｉｎｅ３にそれぞれブロック“Ｄ”２０１が３つずつ設けられている。また、Ｌｉｎｅ１及びＬｉｎｅ３には、非線形演算部２０２が３つずつ設けられ、Ｌｉｎｅ２には非線形演算部２０２が２つ設けられている。そして、それぞれの非線形演算部２０２からの信号を畳み込み演算するための畳み込み演算部２０３を具備している。
【００４１】
Ｌｉｎｅ２は、フィルタの対象となる当該画素を含むラインであり、Ｌｉｎｅ１はＬｉｎｅ２の上のライン、Ｌｉｎｅ３はＬｉｎｅ２の下のラインである。また、図３には図示していないが、Ｌｉｎｅ１、Ｌｉｎｅ２及びＬｉｎｅ３の画素値が蓄積されているメモリが別途存在する。
【００４２】
図３において、ブロック“Ｄ”２０１は１画素遅延であり、記号“ＴＨ”は非線形演算部２０２で利用される閾値である。
【００４３】
また、記号“ＣＥ”はフィルタの対象となる当該画素の値２０４を示し、記号“ＣＥ’”はフィルタ処理をされた後の当該画素の値である。
【００４４】
また、量子化値（quantiser_scale）が分かっている場合には、この閾値ＴＨを
TH = 2 ×quantiser_scale
としてもよい。
【００４５】
フィルタの対象となる当該画素の周囲８画素は、それぞれ非線形演算部２０２において非線形処理される。
【００４６】
次に、図４を用いて、図３に示す非線形演算部２０２の構成と動作を説明する。
【００４７】
図４に示すように、この非線形演算部２０２は、差分器２１１、閾値判定部２１２とセレクタ２１３を有している。
【００４８】
このように構成された非線形演算部２０２において、先ず、減算器２１１に、周囲８画素のうち何れか１画素の値Ｌ３１と、フィルタ処理の対象となる当該画素の値Ｌ３２が入力され差分値が求められる。そして、差分器２１１から出力される差分値は、閾値判定部２１２に供給される。閾値判定部２１２では、差分器２１１から供給される差分値の絶対値（ＡＤ）と、閾値判定部２１２に供給される閾値（ＴＨ）Ｌ３３とが比較され、何れの値が大きいか判定する。そして判定結果であるフラグ情報（ＦＬＧ）がセレクタ２１３に供給される。フラグ情報の導出式の一例を以下に記す（Ｃ言語による表現）。
【００４９】
FLG = (AD > TH)  ?  1 : 0;
ここでは、差分値が閾値よりも大きければ“１”を、小さければ“０”を出力する。
【００５０】
セレクタ２１３は、判定結果であるフラグ情報（ＦＬＧ）に従って、フィルタの対象となる当該画素の値Ｌ３２とその周辺８画素のうち何れか１つの画素の値Ｌ３１の２入力を切り替える。ここでは、セレクタ２１３において、フラグ情報が“０”の場合、すなわち差分値が閾値より小さい場合は周囲の画素のうち１つの画素の値Ｌ３１が出力され、フラグ情報が“１”の場合、すなわち差分値が閾値よりも大きい場合はフィルタの対象となる当該画素の値Ｌ３２が出力値Ｌ３４として出力される。
【００５１】
次に、図３に示すように、Ｌｉｎｅ１、Ｌｉｎｅ２及びＬｉｎｅ３に設けられたそれぞれの非線形演算部２０２で処理された画素値Ｌ３４は、それぞれ畳み込み演算部２０３に供給される。畳み込み演算部２０３では、非線形演算後の周囲８画素のうち何れか１つの画素の値にフィルタ係数が畳み込まれる。畳み込み演算部２０３の出力は当該画素のフィルタ処理後の画素値“ＣＥ’”として出力される。
【００５２】
このように閾値判定部２１２にて、フィルタの対象となる画素の値とこの画素の周辺の画素のうち少なくとも１つの画素の値の差分値が閾値よりも小さい場合は、周囲にある少なくとも１個の画素の値を出力し、差分値が閾値よりも大きい場合はフィルタの対象となる画素の値を出力する。こうすることで発生する歪の種類や強度の推定が高精度となるため、ＭＰＥＧ圧縮により発生する歪のみを除去することが可能となる。
【００５３】
次に、図５を用いて、本発明のデリンギングフィルタの効果を定性的に説明する。
【００５４】
図５に示すように、フィルタの対象となる当該画素の値を“ＣＥ”、当該画素の周辺の画素の値をそれぞれ当該画素の左斜め上から横に“ＴＬ”、“Ｔ”、“ＴＲ”、“Ｌ”、“Ｒ”、“ＢＬ”、“Ｂ”、“ＢＲ”とする。
【００５５】
ここで、図５に示すように、エッジ境界が当該画素の左斜め上の画素と上の画素、当該画素と上の画素、横の画素及び右斜め上の画素、並びに当該画素の右斜め下の画素と右の画素の間に存在する場合を考える。
【００５６】
当該画素の上の画素の値“Ｔ”、右斜め上の画素の値“ＴＲ”及び右の画素の値“Ｒ”と当該画素の値“ＣＥ”との差分値の絶対値が所定の閾値より大きくなったとする。この場合、当該画素の上の画素の値“Ｔ”、斜め右上の画素の値“ＴＲ”、右の画素の値“Ｒ”を“ＣＥ”で置き換えることになる。
【００５７】
ここで、周辺８画素に対するフィルタ係数を全て１／８とした場合、フィルタ出力“ＣＥ’”は以下の通り導出される。
【００５８】
ＣＥ’ = (ＴＬ +ＣＥ+ＣＥ+ Ｌ +ＣＥ+ ＢＬ + Ｂ + ＢＲ)／８
すなわち、このフィルタは、当該画素の周りに当該画素の値ＣＥとの差分が大きくなる画素が多くなるほど、当該画素の値ＣＥの比率が高くなるため弱い平滑化フィルタとなる。
【００５９】
また、このフィルタは、当該画素の周りに当該画素の値ＣＥとの差分が大きくなる画素が少なくなるほど、当該画素の値ＣＥの比率が少なくなるため強い平滑化フィルタとなる。
【００６０】
一方で、リンギング歪の視覚への影響を鑑みると、エッジ部近傍の平坦部において視覚的な劣化が認知されやすく、大きな画素値の変化が生じている部分では視覚的な劣化が認知されにくい。従って、本発明のデリンギングフィルタは、エッジ部近傍の平坦部においては強い平滑化フィルタとなり、大きな画素値の変化が生じている部分においては弱い平滑化フィルタとなるため、ハードウエア規模を削減したことによるリンギング歪除去能力の低下は、視覚的な観点では問題ない。
【００６１】
次に、第１のフィルタ適応制御部１２４の具体的な実施形態について説明する。
【００６２】
図２において、第１のフィルタ適応制御部１２４には、Ｑ値生成部１２７からＱ値Ｌ２１が、ビデオ復号化部１１０から復号された画素値Ｌ２４が供給される。第１のフィルタ適応制御部１２４では、この２つの入力値Ｌ２１、Ｌ２４を用いて後述する具体的な変換手段により、デリンギングフィルタの閾値（ＴＨ）に変換した後、この閾値（ＴＨ）Ｌ２７をデリンギングフィルタ部１２１に供給する。
【００６３】
次に、図６、図７を用いて第１のフィルタ適応制御部１２４が持っている変換手段の具体例を説明する。
【００６４】
図６に示すように、フィルタ適応制御部１２４にデリンギングフィルタを施す当該画素が含まれた（ＤＣＴされる単位の）ブロックの画素値Ｌ２４が供給される。供給されるブロックの画素値Ｌ２４は、クラス分類部２１２へと供給されブロック内のエッジの強度に応じて複数のクラスに分類される。
【００６５】
図７は、クラス分類部２１２のＱ値の大きくなるにしたがってエッジ強度が大きくなるクラス１、クラス２、クラス３、クラス４に４分類することを示すグラフである。
【００６６】
このクラス分類部２１２は、図７に示すクラス分類結果に応じて、エッジの強度から得られる第２のＱ値Ｌ４１を割り当て出力する。各クラスのエッジ強度と第２のＱ値Ｌ４１との関係は、エッジ強度が大きいほどＱ値が大きくなる関係とする。この関係の理由は、ＤＣＴブロック内に強いエッジがあるほど、量子化によるリンギングの影響が大きくなるとの定性的理由によるものである。
【００６７】
ブロック内のエッジ強度の求め方の具体例としては、最も簡単な方法として、ブロック内の最大値と最小値を検出し、その差分値であるダイナミックレンジ（ＤＲ）をエッジ強度とすることである。ダイナミックレンジから第２のＱ値への変換は、例えば“ＤＲ／２”とすればよい。
【００６８】
また、デリンギングフィルタをラスタ順に走査して処理する場合、ブロックごとの画素値を得るためには、大量のラインメモリが必要となる。このような場合は、あらかじめ用意されたラインメモリ内に保持されているブロック内の画素値Ｌ２４を取得し、エッジ強度を求めても良い。
【００６９】
図６に示す閾値変換部２１３には、第１のＱ値（Ｑ１）Ｌ２１と、第２のＱ値（Ｑ２）Ｌ４１が供給され、これら２つのＱ値の関数として得られる値ＴＨ（Ｑ１、Ｑ２）を求め、この閾値（ＴＨ）Ｌ２７を出力する。
【００７０】
関数ＴＨ（Ｑ１、Ｑ２）の例としては、以下のような式で良い。ここで、wは０〜１の値をとる重み係数である。
【００７１】
ＴＨ（Ｑ1、Ｑ2）＝（1-w）×Ｑ1 + w×Ｑ2
次に、第２のフィルタ適応制御部１２５、第３のフィルタ適応制御部１２６及び垂直デブロックフィルタ部１２２、水平デブロックフィルタ部１２３の具体例を説明する。
【００７２】
図８は、デブロックフィルタの具体例の処理フローである。
【００７３】
また、図９は画素の並びと画素値との関係を示すグラフである。横軸は並んでいる画素の位置に対応し、縦軸はその画素の値である。
【００７４】
また、図１０は、水平方向、垂直方向の画素の並びとブロック境界の間の位置関係を示す図である。
【００７５】
先ず、図９に示すように、ブロック境界近傍における画素の値の変化量を測定して、次の２つのクラスに分類し、各クラスに適したデブロックフィルタ処理を施す。
【００７６】
クラス１：なだらかな変化のクラス
空や雲、人の顔の肌など、なだらかに変化する部分である。ＭＰＥＧ圧縮により発生するブロック境界での差分が小さくてもブロック歪が検知されやすい。この場合は、エッジ境界部を除いて平坦な信号である。このため図１０に示すようにエッジ境界部を挟んで両側の各４画素に強いＬＰＦを施す。図１０では、水平デブロックフィルタは左側Ｖ１、Ｖ２、Ｖ３、Ｖ４、右側Ｖ５、Ｖ６、Ｖ７、Ｖ８である。また、垂直デブロックフィルタは上側Ｖ１、Ｖ２、Ｖ３、Ｖ４と下側Ｖ１、Ｖ２、Ｖ３、Ｖ４である。
【００７７】
クラス２：その他のクラス
各ブロック内で振幅の変化があるクラスである。ブロック境界での差分が各ブロック内での変化に比べて極端に大きい場合以外は、ブロック歪が検知されにくい。この場合は、ブロック内のテクスチャをぼかすことが無いように、ブロック境界の両側各１画素のみの画素値を補正しブロック境界を目立たないようにする。図１０では、水平デブロックフィルタは左側Ｖ４、右側Ｖ５の画素値のみを補正する。また、垂直デブロックフィルタは上側Ｖ４、下側Ｖ５の画素値のみを補正する。
【００７８】
以上説明した処理について、図８を用いて説明する。上記２つのクラスへの分類は、図８のＳ３００及びＳ３１０のステップで行われる。
【００７９】
先ず、図８に示すように、図１０に示したように、水平方向及び垂直方向についてブロック境界の両側に存在する画素値Ｖ０乃至Ｖ９から、クラスを分類するための評価値を求める（Ｓ３００）。具体的には、隣接する画素値の差分の絶対値（９個）が任意の閾値（例えば、２）より小さくなる数を評価値とする。
【００８０】
次に、ステップＳ３００で求められた評価値と第２の任意の閾値（例えば、６個）とを比較する（Ｓ３１０）。この結果、評価値が第２の閾値よりも小さい場合（Ｙ）は、エッジ境界部を除き画素間の画素値変動がなだらかであると判断し、以下に説明するクラス１に対応した処理を行う（Ｓ３２０）。また、評価値が第２の閾値以上となる場合（Ｎ）は、エッジ境界部を除き画素間の画素値変動がなだらかではないと判断し、以下に説明するクラス２に対応した処理を行う（Ｓ３５０）。
【００８１】
（クラス１の処理）
ステップＳ３２０にてフィルタをオン或いはオフするためのオン／オフ決定値が求められる。この決定値は、図１０に示すように、エッジ境界部の両側各４画素（水平方向左側Ｖ１、Ｖ２、Ｖ３、Ｖ４と右側Ｖ５、Ｖ６、Ｖ７、Ｖ８、垂直方向上側Ｖ１、Ｖ２、Ｖ３、Ｖ４と下側Ｖ５、Ｖ６、Ｖ７、Ｖ８）の最大値と最小値との差分値とする。
【００８２】
次に、ステップＳ３２０で求められたオン／オフ決定値がＱｐの２倍より小さい場合はフィルタをオンとし、そうでない場合はフィルタをオフとする（Ｓ３３０）。ここで、Ｑｐとは画素Ｖ５が属するブロックの量子化変数である。
【００８３】
フィルタがオンとなった場合（Ｙ）には、図１０に示すように、エッジ境界部の両側各４画素（水平方向左側Ｖ１、Ｖ２、Ｖ３、Ｖ４と右側Ｖ５、Ｖ６、Ｖ７、Ｖ８、垂直方向上側Ｖ１、Ｖ２、Ｖ３、Ｖ４と下側Ｖ５、Ｖ６、Ｖ７、Ｖ８）にローパスフィルタＬＰＦを施し、処理を終了する。
【００８４】
フィルタがオフとなった場合（Ｎ）は、フィルタ処理を施さず、処理を終了する。
【００８５】
（クラス２の処理）
ステップＳ３５０にて、図１０のＳ０（水平方向及び垂直方向Ｖ３、Ｖ４、Ｖ５、Ｖ６）、Ｓ１（水平方向及び垂直方向Ｖ１、Ｖ２、Ｖ３、Ｖ４）、Ｓ２（水平方向及び垂直方向Ｖ５、Ｖ６、Ｖ７、Ｖ８）の各４画素に４ポイントのＤＣＴカーネルを畳み込んだ値を算出する。
【００８６】
次に、ステップＳ３５０にてＤＣＴカーネルを畳み込んで得られた値とＱｐとを用いて、ブロック境界を目立たなくさせる、Ｖ４とＶ５の補正値を決定する（Ｓ３６０）。
【００８７】
次に、ステップＳ３６０で得られた補正値を用いて、Ｖ４とＶ５の画素値を補正し（Ｓ３７０）、処理を終了する。
【００８８】
このように図２に示す第２のフィルタ適応制御部１２５と垂直デブロックフィルタ部１２２のセットと、第３のフィルタ適応制御部１２６と水平デブロックフィルタ部１２３のセットは、フィルタを施す方向が異なるのみで、同じ処理フローとなる。
【００８９】
上記説明では、第２のフィルタ適応制御部１２５と第３のフィルタ適応制御部１２６に画素Ｖ０乃至Ｖ９の値Ｌ２５、Ｌ２６がそれぞれ供給され、図８で説明したステップＳ３００、ステップＳ３１０、ステップＳ３２０、ステップＳ３３０、ステップＳ３５０、ステップＳ３６０の処理を行い、「クラス1のフィルタを施す」、「クラス２の補正を施す」、「何もしない」の何れかが判定される。
【００９０】
この判定結果第２のフィルタ適応制御部１２５から判定結果Ｌ２８が垂直デブロックフィルタ部１２２に供給される。また、だい３のフィルタ適応制御部１２６から判定結果Ｌ２９が水平デブロックフィルタ部１２３に供給される。垂直デブロックフィルタ部１２２及び水平デブロックフィルタ部１２３では、判定結果Ｌ２８、Ｌ２９を用いて、ステップＳ３４０やステップＳ３７０の処理を行う。
【００９１】
なお、クラス２の処理は、ステップＳ３７０においてブロック境界の両側各１画素（水平方向垂直方向Ｖ４、Ｖ５）にそれぞれローパスフィルタＬＰＦを施すことにしても良い。この場合、ステップＳ３５０において以下に示す評価値“ｄ”を算出し、ｄとＱｐを評価してフィルタのオン或いはオフを決定することになる。
【００９２】
ｄ= (V3 - 3×V4 + 3×V5 - V6)/2
この式は、Ｖ３とＶ４の間の傾きとＶ５とＶ６の間の傾きの平均値と、Ｖ４とＶ５の間の傾きとの差分から得られる。画素Ｖ５が属するブロックの量子化変数Ｑｐを適応化のパラメータとしているが、本発明の実施形態では、Ｑ値生成部１２７からＱ値Ｌ２２、Ｌ２３を適応化のパラメータとして供給する。
【００９３】
次に、図面を参照して、この発明にかかるＱ値生成部１２７の実施形態を詳細に説明する。
【００９４】
図２において、Ｑ値生成部１２７では、当該ピクチャの符号化情報Ｌ１及び参照ピクチャの符号化情報Ｌ４からＱ値を生成する。ここでＱ値は、デリンギングフィルタリング部１２１、垂直デブロックフィルタ部１２２及び水平デブロックフィルタ部１２３にそれぞれ適したＱ値Ｌ２１、Ｌ２２、Ｌ２３が生成される。そして各々のＱ値Ｌ２１、Ｌ２２及びＬ２３は、フィルタ適応制御部１２４、１２５、１２６に供給される。
【００９５】
ＭＰＥＧ−２では、ＤＣＴ係数を量子化することにより画質を犠牲にして発生符号量を抑制することができる。すなわちＭＰＥＧ−２の符号化歪に直接影響を与える符号化情報は量子化情報であり、量子化情報を利用してフィルタの適応処理を実現している。具体的な量子化情報としては、「量子化スケール（Ｑｓｃ）」、「量子化マトリクス」、「スキップマクロブロック」の情報を利用する。
【００９６】
次に、本発明の実施形態にかかるＱ値生成部１２７について、図１１、図１２を用いて詳細に説明する。
【００９７】
図１１は、ＭＰＥＧ−２におけるマクロブロック境界とブロックの関係を説明する図である。ディジタル放送やＤＶＤに用いられているＭＰＥＧ−２メインプロファイルでは、マクロブロックは輝度信号のブロック４つと、２種の色差信号それぞれ１つのブロックで構成されている。
【００９８】
図１１に示すように、太線が上記マクロブロックの境界を表しており、太線及び細線がブロックの境界を表している。
【００９９】
デブロックフィルタの場合、先に詳細に説明したとおり、フィルタ処理に係る画素は２つのブロックに渡るものである。
【０１００】
図１１の細線で示すブロック境界Ｂの場合、フィルタ処理に係る画素は同一マクロブロック内に存在するため、当該マクロブロックの量子化情報を利用すれば良い。
【０１０１】
一方、図１１の太線で示すブロック境界Ａの場合、フィルタ処理に係る画素は２つのマクロブロックにまたがって存在するため、当該マクロブロックと隣接マクロブロックの量子化情報を利用する必要がある。
【０１０２】
また、図１１の太線で示すブロック境界Ｃ（色差信号）の場合、フィルタ処理に係る画素は、常に２つのマクロブロックにまたがって存在する。
【０１０３】
本実施形態においては、デブロックフィルタ処理に係るＱ値は、処理対象となるブロックのアドレスに応じて水平及び垂直それぞれにおいて２つのブロックを特定し、２つのブロックがそれぞれ属する１つまたは２つのマクロブロックの量子化スケールを利用する。
【０１０４】
ただしＭＰＥＧ−２にはスキップマクロブロック（ＭＰＥＧ−４の場合は、not_codedに相当）が存在し、該マクロブロックには量子化情報は存在しない。
【０１０５】
また、ＭＰＥＧ−２において、Ｐピクチャの場合はＭＣの参照ピクチャとなるピクチャの該マクロブロックと同一位置のマクロブロック内の画素値がコピーされる。
【０１０６】
一方、Ｂピクチャの場合は、所定の手段で決定される方法（詳細省略）で該マクロブロックはＭＣされる。すなわち、スキップマクロブロックに対しては量子化スケールを適切な手段で生成する必要がある。
【０１０７】
もっとも単純な生成手段は、スキップマクロブロックではない直近のマクロブロックの量子化スケールを該マクロブロックの量子化スケールとする手段である。
【０１０８】
本発明の実施形態においては、Ｑ値生成部１２７には、当該ピクチャの量子化情報Ｌ１だけではなく、参照ピクチャの量子化情報Ｌ４も供給されるため、当該マクロブロックがスキップマクロブロックの場合、参照ピクチャの量子化情報を利用する。
【０１０９】
次に、スキップマクロブロックの量子化スケールを生成する具体例その１について説明する。
【０１１０】
Ｐピクチャの場合、当該マクロブロックと同一位置のマクロブロックの量子化スケールを使用する。Ｂピクチャの場合、当該マクロブロックに対応する参照ピクチャのマクロブロックが複数となる可能性があるため、もっとも大きな量子化スケールを選択して使用する。
【０１１１】
次に、スキップマクロブロックの量子化スケール生成の具体例その２について説明する。
【０１１２】
参照ピクチャの量子化スケールの平均値（Ｑａｖｅ）を、当該ピクチャを処理する前に生成し、当該ピクチャのスキップマクロブロックではＱａｖｅを使用する。
【０１１３】
次に、２つのブロックの量子化情報を用いて量子化スケールを生成する具体例を説明する。
【０１１４】
（量子化スケール生成の具体例その１）
２つのブロックの中で大きいほうの量子化スケールを使う。
【０１１５】
（量子化スケール生成の具体例その２）
２つのブロックの量子化スケールの平均値を使う。
【０１１６】
一方、デリンギングフィルタ処理に係る量子化スケールは、フィルタ処理に係る画素は同一ブロック内に存在するため、当該ブロックの量子化スケールとする。このようにして生成された量子化スケールをＱ値としても良い。なお、以上のＱ値生成手段より明らかなとおり、当該ブロックに対してそれぞれ個別に生成されたＱ値Ｌ２１、Ｌ２２、Ｌ２３が出力される。
【０１１７】
以下では、本発明の実施形態における、量子化マトリクスも考慮して当該ブロックのＱ値を生成する手段を説明する。
【０１１８】
図１２は、ＭＰＥＧ−２における量子化マトリクスを説明する図である。図１２では、イントラマクロブロックに対する、デフォルトの量子化マトリクスと、ユーザが符号化する際に任意に設定した量子化マトリクスの例が挙げられている。図１２において、８×８のマトリクスの左下に行くほど高い周波数となる。
【０１１９】
実際にＤＣＴ係数が量子化される量子化幅は、量子化スケールだけでなく量子化マトリクスの値も影響する。量子化スケールと量子化マトリクスを用いて量子化幅を求める概念的な式を以下に示す。
【０１２０】
量子化幅  ＝  量子化スケール×Ｍ(i,j)／１６
ここで、Ｍ(i,j)は量子化マトリクスの各要素である。従って、量子化マトリクスの傾きが大きい（高域の要素が大きい）とき各ＤＣＴ係数の平均的な量子化幅が大きくなるため、Ｑ値を大きくする方が良い。なお、量子化マトリクスはピクチャ単位で切り替えることが可能な符号化情報である。
【０１２１】
本実施形態では、以下の式のように量子化マトリクスの要素の値に応じた重み（ＷQ）を、量子化スケールに乗じることによりＱ値を生成する。
【０１２２】
Ｑ値  ＝  ＷQ×量子化スケール
この重み（ＷQ）は、当該ピクチャにおいて一定であるため、当該ピクチャの処理を始める前にイントラマクロブロック用とインターマクロブロック用をそれぞれ生成しておく。
【０１２３】
重み（ＷQ）を求める具体的な手段は以下のとおりである。ここで、当該ピクチャの量子化マトリクスの要素をＭ(i,j)、デフォルトの量子化マトリクスをＤＭ(i,j)とする。
【０１２４】
（ＷQを求める具体例その１）
ＷQ  ＝  （ΣＭ(i,j)／１６）／６４
（ＷQを求める具体例その２）
ＷQ  ＝  (ΣＭ(i,j)／ＤＭ(i,j)）／６４
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい
【図面の簡単な説明】
【０１２５】
【図１】本発明の実施形態による動画像復号化方法および装置のブロック図
【図２】本発明の実施形態によるポストフィルタ部のブロック図
【図３】本実施形態のデリンギングフィルタのブロック図
【図４】本実施形態の非線形演算部のブロック図
【図５】デリンギングフィルタ処理の例を説明する図
【図６】第１のフィルタ適応制御部のブロック図
【図７】エッジ強度と第２のＱ値との関係の例を説明する図
【図８】デブロックフィルタ手段の具体例の処理フロー
【図９】デブロックフィルタ処理におけるクラス分類の例を説明する図
【図１０】デブロックフィルタ処理におけるブロック境界とフィルタ処理に用いる画素の関係を説明する図
【図１１】ＭＰＥＧ−２におけるマクロブロック境界とブロックの関係を表す図
【図１２】ＭＰＥＧ−２における量子化マトリクスを説明する図
【符号の説明】
【０１２６】
１０１・・・符号化情報
１０２・・・符号化情報メモリ
１０３・・・ポストフィルタ部
１１１・・・可変長符号復号化部
１１２・・・逆量子化部
１１３・・・逆ＤＣＴ部
１１４・・・加算器
１１５・・・動き補償予測部
【図１】
0004455487.tif 000002
【図２】
0004455487.tif 000003
【図３】
0004455487.tif 000004
【図４】
0004455487.tif 000005
【図５】
0004455487.tif 000006
【図６】
0004455487.tif 000007
【図７】
0004455487.tif 000008
【図８】
0004455487.tif 000009
【図９】
0004455487.tif 000010
【図１０】
0004455487.tif 000011
【図１１】
0004455487.tif 000012
【図１２】
0004455487.tif 000013