(57)【要約】【課題】ブロッキング効果を除去するためのフィルタリング方法及びその装置を提供する。【解決手段】ブロッキング効果を除去するためのフィルタリング方法において、現在ブロックと隣接ブロックのピクセルのうち境界領域に位置したピクセル値を含むビデオデータを入力される段階と、前記境界領域に位置するピクセル値に対してディブロッキングフィルタリングを行ってピクセル値を変更する段階を含み、前記変更されるピクセル値の数は、前記ディブロッキングフィルタリングのフィルタリング特性によって違ってくることを特徴とするフィルタリング方法。【選択図】図４
2006157910.tif 000002
【特許請求の範囲】
【請求項１】
ブロッキング効果を除去するためのフィルタリング方法において、
現在ブロックと隣接ブロックのピクセルのうち境界領域に位置したピクセル値を含むビデオデータを入力される段階と、
前記境界領域に位置するピクセル値に対してディブロッキングフィルタリングを行ってピクセル値を変更する段階を含み、
前記変更されるピクセル値の数は、前記ディブロッキングフィルタリングのフィルタリング特性によって違ってくることを特徴とするフィルタリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブロッキング効果及びリンギング雑音の除去に係り、より詳細には、ビデオフレームをブロック単位で処理することにより引き起こされるブロッキング効果及びリンギング雑音を除去するためのフィルタリング方法及びその装置に関する。
【背景技術】
【０００２】
従来、ほとんどのビデオデータの符号化方法は、イメージフレームをブロック単位で処理する。特に、ＭＰＥＧ（Ｍｏｖｉｎｇ Ｐｉｃｔｕｒｅ Ｅｘｐｅｒｔｓ Ｇｒｏｕｐ）、Ｈ．２６３など、ビデオデータに関する符号化標準によれば、ブロック単位で離散コサイン変換（ＤＣＴ：Ｄｉｓｃｒｅｔｅ Ｃｏｓｉｎｅ Ｔｒａｎｓｆｏｒｍ）を行った後に量子化する過程を経てイメージフレームを符号化する。
【０００３】
しかし、イメージフレームをブロック単位で符号化する方法は、ブロッキング効果及びリンギング雑音を引き起こす。ブロッキング効果は、再現されたイメージフレームに元のフレームには存在しなかったエッジ領域を発生させるなど、隣接ピクセル間の連続性を破壊する。リンギング雑音は、再現されたイメージフレームに存在するオブジェクトの境界線が滑らかに表示できず、デコボコになる現象を引き起こす。圧縮率が高い場合、再現されたイメージフレームにおいて、ブロッキング効果及びリンギング雑音による画質の低下は一層目立つ。
【０００４】
ブロッキング効果及びリンギング雑音を除去するためのフィルタリングを行うためには、まず、ブロッキング効果及びリンギング雑音が生じた領域を正確に把握することが重要である。そうでない場合、元のビデオフレームに存在するエッジ領域をブロッキング効果により生じたと誤った判断して無くすことにより、フィルタリング後に画質がむしろ劣化してしまう結果となる。
【０００５】
ブロッキング効果及び／またはリンギング雑音を除去するための従来のフィルタリング方法において、再現されたピクセルブロックにブロッキング効果及び／またはリンギング雑音により生じたエッジ領域を区別するためにエッジ領域を検査する代表的な方式は、下記の通りである。すなわち、複数の８×８ピクセルブロックまたは４×４ピクセルブロックよりなる再現されたビデオフレームにおいて、８×８ピクセルブロックまたは４×４ピクセルブロックの境界に存在するピクセルの値（明るさ、輝度、色合い）の分布を測定した後、所定の臨界値と比較してエッジ領域を検出する。臨界値は、８×８ピクセルブロックまたは４×４ピクセルブロックの境界に存在するピクセルの値（明るさ、輝度、色合い）の分布を測定した後、測定された値の分布とエッジ領域の存否との相関関係を調べて実験的に決定される。
【０００６】
ピクセル値の分布を調べるためには、隣り合うブロック間の境界領域に存在するピクセル値を垂直方向または水平方向に検査しなければならない。しかし、ピクセル値を一々検査するためには、少なくない計算量が必要である。特に、ピクセル値は水平方向に順次にメモリに貯蔵されるため、垂直方向にピクセル値を調べるためには連続的なメモリへのアクセスが不可避であるものの、メモリへのアクセスは容易ではない。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
そこで、本発明の目的は、エッジ領域をより効率よく検出できるフィルタリング方法及びその装置を提供するところにある。
本発明の他の目的は、より少ない計算量にてエッジ領域をより効率良く検出できるフィルタリング方法及びその装置を提供するところにある。
【課題を解決するための手段】
【０００８】
前記目的は、本発明によって、ブロッキング効果を除去するためのフィルタリング方法において、（ａ）ビデオデータをブロック単位で変換する段階と、（ｂ）変換により得られた値の分布に基づきエッジ領域の存否を検査する段階と、を含むことを特徴とするフィルタリング方法により達成される。
【０００９】
また、前記目的は、ブロッキング効果を除去するためのフィルタリング方法において、（ａ）ビデオデータをブロック単位で変換して量子化する段階と、（ｂ）量子化された値の分布に基づきフィルタ情報を生成する段階と、（ｃ）生成されたフィルタ情報に基づきフィルタリングを行う段階と、を含むことを特徴とするフィルタリング方法によっても達成される。
【００１０】
前記（ａ）段階は、（ａ１）ビデオデータをブロック単位でＤＣＴしてＤＣＴ係数を得る段階と、（ａ２）得られたＤＣＴ係数を量子化する段階と、を含み、特に、４×４ピクセルブロックをＤＣＴ且つ量子化し、量子化された４×４ＤＣＴブロックを得る段階であることが好ましい。
【００１１】
前記（ｂ）段階は、前記量子化されたＤＣＴ係数に基づき、ブロッキング効果及び／またはリンギング雑音の発生の度合いを知らせるフィルタ情報を生成する段階であり、特に、（ｂ１）量子化されたＤＣＴブロックの最上位行において、ＤＣ成分Ａを除いた値Ｂを検査して対応ピクセルブロックの垂直方向に対するエッジ領域の存否を知らせるフィルタ情報を生成する段階であることが好ましい。
【００１２】
また、前記（ｂ）段階は、（ｂ２）量子化されたＤＣＴブロックの最左側列においてＤＣ成分Ａを除いた値Ｃを検査して対応ピクセルブロックの水平方向に対するエッジ領域の存否を知らせるフィルタ情報を生成する段階を含むか、あるいは、（ｂ３）量子化されたＤＣＴブロックにおいて、最上位行及び最左側列を除いた残りの値を検査して対応ピクセルブロックの対角線方向に対するエッジ領域の存否を知らせるフィルタ情報を生成する段階を含むことが好ましい。
【００１３】
前記ＤＣ成分Ａのみが所定値を有する場合、水平方向及び垂直方向のブロッキングフラグ（ＨＶＦ,ＶＢＦ）を共に１に設定し、前記ＨＢＦ及びＶＢＦが共に１に設定された場合、垂直方向及び水平方向により強くディブロッキングフィルタリングを行うことが好ましい。
【００１４】
前記ＤＣ成分Ａ及び前記ＤＣＴブロックの最上位行においてＤＣ成分Ａを除いた値Ｂのみが所定値を有する場合、垂直方向のブロッキングフラグ（ＶＢＦ）を１に設定し、前記ＶＢＦが１に設定された場合、垂直方向により強くディブロッキングフィルタリングを行うことが好ましい。
【００１５】
前記ＤＣ成分Ａ及び前記ＤＣＴブロックの最左側列においてＤＣ成分Ａを除いた値Ｃのみが所定値を有する場合、水平方向のブロッキングフラグ（ＨＢＦ）を１に設定し、前記ＨＢＦが１に設定された場合、水平方向により強くディブロッキングフィルタリングを行うことが好ましい。
【００１６】
前記ＤＣ成分Ａ、ＤＣＴブロックの最上位行においてＤＣ成分Ａを除いた値Ｂ及びＤＣＴブロックの最左側列においてＤＣ成分Ａを除いた値Ｃ以外で所定値を有する場合、前記フィルタ情報としてリンギングフラグ（ＲＦ）を１に設定し、前記ＲＦが１に設定された場合、より強くディリンギングフィルタリングを行うことが好ましい。
【００１７】
また、前記目的は、ブロッキング効果を除去するためのフィルタリング方法において、（ａ）ビデオデータよりなるブロックをピクセル単位に変換して量子化した後、量子化された値を検査してフィルタ情報のための値が得られればフィルタ情報を生成する段階と、（ｂ）生成されたフィルタ情報に基づきフィルタリングを行う段階と、を含むことを特徴とするフィルタリング方法によっても達成される。
【００１８】
前記（ａ）段階は、（ａ１）前記ブロックの最上位行及び最左側列のうちＤＣ成分に対応するピクセルを除いた残りのピクセルのうちいずれか一つをＤＣＴして量子化する段階と、（ａ２）量子化された変換値を検査して０ではなければ、この値に基づき前記フィルタ情報を生成して対応するピクセルが属する前記最上位行または最左側列に対するＤＣＴ及び量子化を終える段階と、を含むことが好ましい。
【００１９】
前記（ａ）段階は、（ａ３）前記量子化された変換値を検査して０であれば、前記ブロックの最上位行及び最左側列のうちＤＣ成分に対応するピクセルを除いた残りのピクセルのうち他の一つをＤＣＴして量子化する段階と、（ａ４）前記（ａ２）段階及び（ａ３）段階を前記最上位行または最左側列のうちＤＣ成分に対応するピクセルを除いた残りの全てのピクセルに対して繰り返して行う段階と、（ａ５）前記最上位行または最左側列の全てのピクセルに対してＤＣＴ及び量子化を行って得られた量子化された変換値が０であれば、その結果に基づきフィルタ情報を生成する段階と、を含むことが一層好ましい。
【００２０】
一方、本発明の他の分野によれば、前記目的は、ビデオデータの符号化装置において、ピクセルブロックを変換及び量子化して得られた値の分布に基づきフィルタ情報を生成するフィルタ情報生成部と、生成されたフィルタ情報に基づきフィルタ特性値を決定するフィルタ特性値決定部と、決定された特性値に基づきディブロッキングフィルタリングを行うディブロッキングフィルタと、を備えるループフィルタを備えることを特徴とする符号化装置によっても達成される。
【００２１】
前記ループフィルタは、インターフレームに対してブロック単位でピクセル値を変換するためのループ変換部と、前記ループ変換部により変換された値を量子化するためのループ量子化部と、をさらに備えることが好ましい。
【発明の効果】
【００２２】
上述したように、本発明によれば、より効率よくエッジ領域を検出することによりブロッキング効果及び／またはリンギング雑音をより効果的に除去できるフィルタリング方法及びその装置が提供される。
【発明を実施するための最良の形態】
【００２３】
以下、添付した図面に基づき、本発明の好ましい実施の形態について詳細に説明する。
まず、ビデオデータの符号化に関する概要を説明すれば、下記の通りである。ビデオデータは、複数のイメージフレームよりなる。イメージフレームは、イントラフレーム及びインタフレームに符号化されて伝送される。イントラフレームは、他のイメージの参照なしに符号化されたものであるため、独立的に復号化可能である。これに対し、インターフレームは、以前及び／または以降のイメージを参照してその差分値のみを符号化したものであるため、復号化時に以前及び／または以降のフレームが必要である。各イメージフレームは複数のマクロブロックよりなり、マクロブロックには複数のピクセルブロックが存在する。
【００２４】
本発明によるフィルタリング方法及びその符号化装置は、エッジ領域を判別するに当たって、マクロブロックまたはピクセルブロックを変換させて得られた変換値の分布または変換されて量子化された値の分布に基づく。その具体的な方法及びこれを採用した符号化装置は、下記の通りである。
【００２５】
図１は、本発明の好ましい実施の形態による符号化装置のブロック図である。
図１を参照すれば、符号化装置は、動き推定部１、変換部２、量子化部３、逆量子化部４、逆変換部５、動き補償部６、及びループフィルタ７を備える。また、符号化装置は、制御部（図示せず）をさらに有し、制御部により制御される第１のスイッチ１０、第２のスイッチ２０、及び第３のスイッチ３０を備える。
【００２６】
制御部は、ビデオデータが入力されれば第１のスイッチ１０を制御し、イントラフレームである場合には直ちに変換部２に入力させ、その一方、インターフレームである場合には動き推定部１に入力させる。動き推定部１は、ピクセルブロック単位で以前のイメージフレームとピクセル値とを比較し、その差分値（動きベクトル）を変換部２に出力する。
【００２７】
変換部２は、イントラフレームの場合には該当イメージフレームに存在するピクセル値を、インターフレームの場合には差分値（動きベクトル）のデータの表現方式を変えて再び表現、すなわち、変換する。本実施の形態において用いられる変換方式は、ＤＣＴである。適用可能な他の変換方式、例えば、離散ウェーブレット変換（ＤＷＴ：Ｄｉｓｃｒｅｔｅ Ｗａｖｅｌｅｔ Ｔｒａｎｓｆｏｒｍ）を用いることも可能である。
【００２８】
量子化部３は、変換された値（ＤＣＴ係数）を所定の量子化ステップによって量子化する。量子化ステップは、各ブロック単位で適応的に決定できる。量子化ステップが大きいほど量子化ノイズは増える。ＤＣＴされて量子化された値は、例えば、可変長符号化（ＶＬＣ：Ｖａｒｉａｂｌｅ Ｌｅｎｇｔｈ Ｃｏｄｉｎｇ）により符号化されて受信端に伝送される。
【００２９】
一方、ＤＣＴされて量子化された値は、さらに逆量子化部４またはループフィルタ７に入力される。また、制御部は、第２のスイッチ２０を制御してイントラフレームの場合にはループフィルタ７にも入力させる。インターフレームの場合には逆量子化部４にのみ入力させる。
【００３０】
イントラフレームの場合には、量子化部３から出力された値がエッジ領域を判断するために必要な値、すなわち、ブロック単位のピクセル値がＤＣＴされて量子化された値であるため、さらなる処理過程が不要であるため、直ちにループフィルタ７に入力される。
【００３１】
インターフレームの場合には、量子化部３から出力された値は差分値（動きベクトル）に対してＤＣＴされて量子化された値であるため、ブロック単位のピクセル値がＤＣＴされて量子化された値を得るために逆量子化部４に入力される。これは、窮極的に、ブロック単位のピクセル値を復元するための過程である。
【００３２】
逆量子化部４は、入力された値を所定の量子化ステップに基づき逆量子化し、逆変換部５は逆変換を行う。本実施の形態では、逆離散コサイン変換（ＩＤＣＴ：Ｉｎｖｅｒｓｅ Ｄｉｓｃｒｅｔｅ Ｃｏｓｉｎｅ Ｔｒａｎｓｆｏｒｍ）による。変換部２が別の変換方式による場合、逆変換部５もまたそれによる逆変換方式に従う。
【００３３】
例えば、変換部２がＤＷＴによる場合、逆変換部５もまた逆離散ウェーブレット変換（ＩＤＷＴ：Ｉｎｖｅｒｓｅ Ｄｉｓｃｒｅｔｅ Ｗａｖｅｌｅｔ Ｔｒａｎｓｆｏｒｍ）による。イントラフレームの場合、逆変換部５から出力された値はフィルタリングの対象となる値、すなわち、現在のイメージフレームに関するピクセル値であるため、ループフィルタ７に入力される。インターフレームは、現在のイメージフレームに関するピクセル値を得るためには動き補償の過程がさらに必要であるため、動き補償部６に入力される。
【００３４】
制御部は、第３のスイッチ３０を制御してイントラフレームの場合には逆変換部５の出力値をループフィルタ７に入力させ、その一方、インターフレームの場合には動き補償部６に入力させる。動き補償部６は、差分値をブロック単位で以前のイメージフレームに加えて現在のイメージフレームを復元し、ループフィルタ７に出力する。
【００３５】
ループフィルタ７は、本発明によるフィルタリングを行う。第１の実施の形態により、各ブロックに対してＤＣＴ及び量子化の行われた値の分布に基づきエッジ領域を判別し、その結果に基づき適応的にフィルタリングを行うか、あるいは、第２の実施の形態により、各ブロックの最左側列及び最上位行のピクセル値の各々に対して順次にＤＣＴ及び量子化の行われた値を得た後、この値を検査してエッジ領域を判別し、その結果に基づき適応的にフィルタリングを行う。ループフィルタ７の動作の詳細については、後述する。
【００３６】
図２は、本発明の第１の実施の形態によるループフィルタ７の詳細ブロック図である。
図２を参照すれば、ループフィルタ７は、ループ変換部７１、ループ量子化部７２、フィルタ情報生成部７３、フィルタ特性値決定部７４、ディブロッキングフィルタ７５及びディリンギングフィルタ７６を備える。
【００３７】
ループフィルタ７に入力される値は、大きく２種に分けられる。一つはフィルタリングのための対象データ(1)であり、もう一つはフィルタ情報を生成するためのフィルタ情報抽出データ(2)、(3)である。対象データ(1)は、イメージフレームに関するブロック単位のピクセル値であって、イントラフレームの場合に第３のスイッチ３０から伝達され、インターフレームの場合に動き補償部６から入力される。
【００３８】
第１の実施の形態において、フィルタ情報抽出データは、所定のブロックに対してＤＣＴ及び量子化の行われた値を言う。イントラフレームの場合、フィルタ情報抽出データである、ブロック単位のピクセル値に対してＤＣＴ及び量子化の行われた値(2)が第２のスイッチ２０から伝達されるため、さらなる計算過程を必要とせずに直ちにフィルタ情報を生成できるものの、インターフレームの場合、動き補償部６からピクセル値(3)が入力されるため、フィルタ情報抽出データを得るために、ループフィルタ７内においてピクセル値を変換して量子化する過程が必要となる。従って、第２のスイッチ２０から入力された値(2)はフィルタ情報生成部７３に入力され、動き補償部６から入力された値(3)、すなわち、インターフレームに関するブロック単位のピクセル値はループ変換部７１に入力される。
【００３９】
ループ変換部７１及びループ量子化部７２は、インターフレームに対してブロック単位でピクセル値を各々変換して量子化する。但し、ループ変換部７１及びループ量子化部７２の変換及び量子化は、図１に基づき説明した変換部２及び量子化部３による変換及び量子化とその機能は同じであるが、その精度は必ずしも同じである必要はない。なぜならば、ループ変換部７１及びループ量子化部７２により最終的に生成される値は、エッジ領域を判別するために用いられれば良いので、ビデオデータの符号化中に行われる変換及び量子化より低い精度を有しても構わないからである。
【００４０】
従って、ループ変換部７１及びループ量子化部７２は、変換及び量子化を行うに当たって、小数点演算の代わりに整数演算を行うか、量子化ステップを大きくするか、あるいは、ＦＡＳＴモードのＤＣＴを行うなど、その精度を低めて計算量を軽減させることができる。例えば、ループ量子化部７２において行われる簡略化した量子化アルゴリズムは、下記の通りである。
【００４１】
【数１】
2006157910.tif 000003
【００４２】
ここで、LEVELは量子化された係数であり、Ｋ量子化されるピクセルのＤＣＴされた係数であり、A(QP)はマッピングテーブルによる定数値であり、そしてｆは目標とする圧縮効率によって定まる定数値である。量子化係数は、以下の数式（２）である場合に０と決定され、その他の場合には所定の値と決定される。
【００４３】
【数２】
2006157910.tif 000004
【００４４】
フィルタ情報生成部７３は、ブロック単位のピクセル値に対してＤＣＴ及び量子化の行われた値に基づきフィルタ情報を生成する。これについての詳細は、後述する。フィルタ特性値決定部７４は、フィルタ情報に基づきフィルタ特性値を決定して出力する。ディブロッキングフィルタ７５及びディリンギングフィルタ７６は、決定された特性値によるフィルタリングを行う。
【００４５】
図３及び図４は、本発明の第１の実施の形態によりフィルタ情報生成部３がフィルタ情報を生成する過程を説明するための参考図である。
図３を参照すれば、本実施の形態において、基本単位である４×４ピクセルブロックをＤＣＴして量子化すれば、４×４の量子化されたＤＣＴブロックが得られる。ＤＣＴブロックのａはＤＣ成分を表わす。
【００４６】
ＤＣＴブロックの最上位行において、成分ａを除いた値ｂは４×４ピクセルブロックの垂直方向に対するエッジ領域の存否を知らせ、最左側列においてＤＣ成分ａを除いた値ｃは４×４ピクセルブロックの水平方向に対するエッジ領域の存否を知らせる。ＤＣＴブロックにおいて、Ａ、Ｂ及びＣを除いた残りの値ｄは、４×４ピクセルブロックに全ての方向にエッジ領域を有するオブジェクトが存在するため、リンギング雑音が発生するということを知らせる。
【００４７】
フィルタ情報を生成するために必要な値は、本発明の好ましい実施の形態により、図４に示されたように、Ａ、Ｂ及びＣが用いられる。Ａ、Ｂ及びＣからブロッキング効果の度合いを判断し、対応するフィルタ情報を生成する。
【００４８】
１）Ａのみが０ではない所定値を有する場合
すなわち、Ｂ及びＣの値は０である場合には、受信端において再現されるピクセルブロックの全てのピクセル値は同じ値を有する。この場合には、元のピクセルブロックの水平方向及び垂直方向にエッジ領域が存在する可能性が極めて低いことを意味する。従って、再現されたピクセルブロックにエッジ領域が存在すれば、これはブロッキング効果によるものであると見るのである。フィルタ情報としてＨＶＦ,ＶＢＦが共に１に設定される。
【００４９】
２）Ａ及びＢのみが０ではない所定値を有する場合
この場合には、受信端において再現されたピクセルブロックの垂直方向のピクセル値が一定範囲の同値を有する。この場合には、元のピクセルブロックの水平方向にはエッジ領域が存在する可能性があるものの、垂直方向にはエッジ領域が存在する可能性が極めて低いことを意味する。従って、再現されたピクセルブロックの垂直方向にエッジ領域が存在する。これはブロッキング効果によるものであると見るのである。フィルタ情報としてＶＢＦが１に設定される。
【００５０】
３）Ａ及びＣのみが０ではない所定値を有する場合
この場合には、受信端において再現されたピクセルブロックの水平方向のピクセル値が一定範囲の同値を有する。この場合には、元のピクセルブロックの垂直方向にはエッジ領域が存在する可能性があるものの、水平方向にはエッジ領域が存在する可能性が極めて低いことを意味する。従って、再現されたピクセルブロックの水平方向にエッジ領域が存在すれば、これはブロッキング効果によるものであると見るのである。フィルタ情報としてＨＢＦが１に設定される。
【００５１】
４）Ａ、Ｂ及びＣの以外で０ではない所定値を有する場合
そして、Ａ及びＢが属する列と、Ａ及びＣが属する行とを除いた領域において０ではない値を有すれば、フィルタ情報としてＲＦが１に設定される。これは、再現されたピクセルブロックにリンギング雑音が発生したことを意味する。
【００５２】
ＨＢＦ及び／またはＶＢＦ、さらには、ＲＦがフィルタ特性値決定部７４に伝達されれば、フィルタ特性値決定部７４は、これに基づきフィルタ特性値を決定する。換言すれば、ＨＢＦが設定されれば、ディブロッキングフィルタ７５を水平方向により強くかける。ＶＢＦが設定されれば、ディブロッキングフィルタ７５を垂直方向により強くかける。ＲＦが設定されれば、ディリンギングフィルタ７６をより強くかける。これにより、フィルタリングがブロッキング効果及び／またはリンギング雑音の発生の度合いに応じて適応的に行われる。
【００５３】
但し、第１の実施の形態では、Ａ、Ｂ及びＣに基づきブロッキング効果を除去するためのフィルタ情報を生成したものの、アプリケーションに要求される精度、迅速性などのスペックに応じて、フィルタ情報を生成するために検査すべき値として最上位行及び最左側列の値のうち少なくとも一つを除外できる。
【００５４】
図５は、本発明の第１の実施の形態の変形例によって生成されたフィルタ情報を説明するための参考図である。ループフィルタ７は、図２に基づき説明したそれと同じである。
但し、図５を参照すれば、変形例では、第１の実施の形態のＤＣＴに代えて、ＤＷＴ変換を用いる。ＤＷＴ変換を用いて量子化すれば、４×４のピクセルブロックから２×２の量子化されたＤＷＴブロックが４つ得られる。
【００５５】
ローパスフィルタを通させて得られたブロックｅは４×４の量子化されたＤＣＴブロックのＤＣ成分に対応し、ブロックｆは４×４の量子化されたＤＣＴブロックのＢに対応し（水平方向のエッジ領域の存否を表わす。）、ブロックｇは４×４の量子化されたＤＣＴブロックのＣに対応し（垂直方向のエッジ領域の存否を表わす。）、ブロックｈは４×４の量子化されたＤＣＴブロックにおいて、Ａ及びＢが属する列と、Ａ及びＣが属する行とを除いた領域に対応する（リンギング雑音の発生有無を表わす。）
【００５６】
従って、第１の実施の形態において、Ａ、Ｂ及びＣに基づきフィルタ情報を生成した方式と同様にして、変形例においてもブロックｅ、ｆ、ｇ及びｈに基づきブロッキング効果及び／リンギング雑音の発生有無を知らせるフィルタ情報を生成できる。
【００５７】
前記のように、第１の実施の形態による構成に基づき本発明によるフィルタリング方法を説明すれば、下記の通りである。
図６は、本発明の第１の実施の形態にフィルタリング方法を説明するためのフローチャートである。
図６を参照すれば、符号化装置は、入力されたビデオデータをブロック単位でＤＣＴし（第６０１段階）、変換された係数を所定の量子化ステップにより量子化して量子化された変換ブロックを得る（第６０２段階）。次に、符号化装置は、量子化されたＤＣＴブロックの値の分布を検査し（第６０３段階）、検査の結果に基づきフィルタ情報を生成する（第６０４段階）。フィルタ情報は、ブロッキング効果及び／またはリンギング雑音の発生の度合いを知らせる。次に、符号化装置は、生成されたフィルタ情報に基づきフィルタ特性値を決定して適応的なフィルタリングを行う（第６０５段階）。
【００５８】
図７は、本発明の第１の実施の形態による他のフィルタリング方法を説明するためのフローチャートである。
図７を参照すれば、フィルタ情報生成部７３は、量子化されたＤＣＴブロックの値の分布をチェックしてＨＢＦ、ＶＢＦ、及びＲＦを１または０に設定する（第７０１段階）。ＨＢＦが１に設定された場合（第７０２段階）、フィルタ特性値決定部７４は、垂直方向にディブロッキングフィルタ７５がより強くかかるように特性値を決定し（第７０３段階）、ＶＢＦが１に設定された場合（第７０４段階）、水平方向にディブロッキングフィルタ７５がより強くかかるように特性値を決定して出力する（第７０５段階）。
【００５９】
ＨＢＦ及びＶＢＦが共に１に設定された場合（第７０６段階）、フィルタ特性値決定部７４は垂直方向及び水平方向にディブロッキングフィルタ７５がより強くかかるように特性値を決定して出力する（第７０７段階）。ＲＦが１に設定された場合（第７０８段階）、フィルタ特性値決定部７４はディリンギングフィルタ７６が強くかかるように特性値を決定して出力する（第７０９段階）。ディブロッキングフィルタ７５及びディリンギングフィルタ７６は、設定された特性値に応じて適応的フィルタリングを行う（第７１０段階）。
【００６０】
ディブロッキングフィルタリングは、ブロック単位に行われるが、実際に入力されるデータは現在のブロックのみならず、隣接したブロックの境界領域に位置したピクセル値が共に入力され、入力された値はディブロッキングフィルタリングにより変更された値として出力される。例えば、現在ブロックのピクセル値１、２、３、４及び隣接したブロックのピクセル値５、６、７、８に対してディブロッキングフィルタが強くかかれば隣接した３、４、５、６が変更され、弱くかかれば４、５のみが変更される。従って、共に入力される隣接したブロックの対応フラグ値を共に比較し、隣接したブロックの対応フラグ値が現在ブロックの対応フラグ値と同じであればディブロッキングフィルタの特性値を強く決定し、異なれば弱く決定することにより、特性値の決定の質を高めることができる。
【００６１】
他の例として、フィルタ情報生成部７３は、隣接ブロックのフラグ値ＶＢＦ、ＨＢＦ、ＲＦと現在のブロックのフラグ値ＶＢＦ、ＨＢＦ、ＲＦとを比較してフィルタ情報を生成できる。この時に生成されるフィルタ情報は、現在ブロックに関するフラグ値のみを用いて生成されたものより細かい値で表現され、これにより、フィルタの特性値もまたより高精度に決定できる。
【００６２】
図８は、本発明の第２の実施の形態によるループフィルタ７の詳細ブロック図である。
図８を参照すれば、ループフィルタ７は、ループ変換部８１、ループ量子化部８２、フィルタ情報生成部８３、フィルタ特性値決定部７４、ディブロッキングフィルタ７５及びディリンギングフィルタ７６を備える。
【００６３】
ループフィルタ７に入力される値は、大きく２種に分けられる。一つはフィルタリングのための対象データ(1)であり、もう一つはフィルタ情報を生成するためのフィルタ情報抽出データ(2)、(3)である。対象データ(1)はイメージフレームに対するブロック単位のピクセル値であって、イントラフレームの場合に第３のスイッチ３０から伝達され、インターフレームの場合に動き補償部６から入力される。
【００６４】
第１の実施の形態において、フィルタ情報抽出データは、所定のブロックに対してＤＣＴ及び量子化の行われた値を言う。イントラフレームの場合、フィルタ情報抽出データである、ブロック単位のピクセル値に対してＤＣＴ及び量子化の行われた値(2)が第２のスイッチ２０から伝達されるため、別途の計算過程が必要なく直ちにフィルタ情報を生成できるものの、インターフレームの場合、ピクセル値が動き補償部６から入力されるため、フィルタ情報抽出データを得るために、ループフィルタ７内においてピクセル値を変換して量子化する過程が必要となる。従って、第２のスイッチ２０から入力された値(2)はフィルタ情報生成部８３に入力され、動き補償部６から入力された値(3)、すなわち、インターフレームに対するブロック単位のピクセル値はループ変換部８１に入力される。
【００６５】
ループ変換部８１は、入力されたインターフレームを構成する所定の大きさを有するブロックの最左側列及び最上位行の最初のピクセル値及び２番目のピクセル値の各々に対してＤＣＴまたはＤＷＴ変換を行う。その順序は、最左側列の場合に上から下に、最上位行の場合に左側から右側に付けられる。ループ量子化部８２は、ループ変換部８１からのＤＣＴまたはＤＷＴ変換値を量子化する。
【００６６】
但し、ループ変換部８１及びループ量子化部８２の変換及び量子化は、図１に基づき説明した変換部２及び量子化部３が行う変換及び量子化とその機能は同じであるものの、その精度は必ずしも同じである必要はない。なぜならば、ループ変換部８１及びループ量子化部８２により最終的に得られる値は、エッジ領域を判別するために用いられれば良いため、ビデオデータの符号化中に行われる変換及び量子化より低い精度を有しても構わないからである。
【００６７】
従って、ループ変換部８１及びループ量子化部８２は、変換及び量子化を行うに当たって、小数点演算の代わりに整数演算を行うか、量子化ステップを大きくするか、あるいはＦＡＳＴモードのＤＣＴまたはＤＷＴを行うなど、その精度を低めて計算量を軽減させることができる。例えば、ループ量子化部８２において行われる簡略化した量子化アルゴリズムの一例は、下記の通りである。
【００６８】
【数３】
2006157910.tif 000005
【００６９】
ここで、LEVELは量子化された係数であり、Ｋは量子化されるピクセルのＤＣＴされた係数であり、A(QP)はマッピングテーブルによる定数値であり、そしてｆは目標とする圧縮効率によって定まる定数値である。量子化係数は、以下の数式（４）である場合に０と決定され、その他の場合には所定の値と決定される。
【００７０】
【数４】
2006157910.tif 000006
【００７１】
フィルタ情報生成部８３は、最左側列の最初及び２番目のピクセル値及び最上位行の最初及び２番目のピクセル値に対してＤＣＴまたはＤＷＴの行われた量子化された値を検査し、０ではない所定値を有するか否かを確かめる。最左側列の２番目のピクセル値または最上位行の２番目のピクセル値に対応する値（ＤＣＴまたはＤＷＴ及び量子化の行われた値）が０であれば、フィルタ情報生成部８３はループ変換部８１及びループ量子化部８２に次の順序でピクセル値を変換して量子化することを指示する。次に、ピクセル値に対する値が入力されれば、フィルタ情報生成部８３はさらに０ではない値を有するか否かを確かめて前述した手順を繰り返す。
【００７２】
最左側列の２番目のピクセル値または最上位行の２番目のピクセル値に対応する値（ＤＣＴまたはＤＷＴ及び量子化の行われた値）が０ではない所定値を有すれば、それによるフィルタ情報を生成する。フィルタ情報の生成方法は、第１の実施の形態におけるそれと同じである。さらには、フィルタ情報生成部８３は、ループ変換部８１及びループ量子化部８２に変換及び量子化を止めることを指示する。すなわち、０ではない値が見つかれば、該当する最左側列または最上位行に対する変換及び量子化はそれ以上行われずに終わる。この詳細については後述する。
【００７３】
フィルタ特性値決定部７４は、フィルタ情報に基づきフィルタ特性値を決定して出力する。ディブロッキングフィルタ７５及びディリンギングフィルタ７６は、決定された特性値によるフィルタリングを行う。フィルタ特性値決定部７４、ディブロッキングフィルタ７５及びディリンギングフィルタ７６の動作は、第１の実施の形態におけるそれと実質的に同一なため、ここでは同じ参照番号を付して繰り返される説明は省く。
【００７４】
図９は、本発明の第２の実施の形態によりフィルタ情報生成部８３がフィルタ情報抽出データを得る過程及び得られたフィルタ情報抽出データからフィルタ情報を生成する過程を説明するための参考図である。
図９を参照すれば、フィルタリング方法は、本実施の形態によるフィルタリングの基本単位である４×４ピクセルブロックのうち、（ａ）の灰色にて示されたように、最左側列においてＤＣ成分Ａに隣接した最初のピクセルＣをＤＣＴして量子化して得られた値を検査する。検査の結果、その値が０ではない所定値を有すると確認されれば、ＤＣＴ及び量子化をそれ以上行わずに終え、その結果に基づきフィルタ情報を生成する。
【００７５】
検査の結果、その値が０であると確認されれば、（ｂ）に灰色にて示されたように、２番目のピクセルＣをＤＣＴして量子化して得られた値を検査する。検査の結果、その値が０ではない所定値を有すると確認されれば、ＤＣＴ及び量子化をそれ以上行わずに終え、その結果に基づきフィルタ情報を生成する。０であれば、（ｃ）のように３番目のピクセルＣをＤＣＴして量子化して得られた値を検査する。
【００７６】
同様に、検査の結果、その値が０ではない所定値を有すると確認されれば、ＤＣＴ及び量子化を終えてその結果に基づきフィルタ情報を生成する。０であるものの、最左側列にそれ以上ピクセルが存在しなければ、今までの結果に基づきフィルタ情報を生成する。フィルタ情報を生成する方法は、第１の実施の形態におけるそれと同じである。
【００７７】
一方、（ｄ）に灰色にて示されたように、最上位列においてＤＣ成分Ａに隣接した最初のピクセルＢをＤＣＴして量子化して得られた値を検査する。検査の結果、その値が０ではない所定値を有すると確認されれば、ＤＣＴ及び量子化をそれ以上行わずに終え、その結果に基づきフィルタ情報を生成する。
【００７８】
検査の結果、その値が０であると確認されれば、（ｅ）のように２番目のピクセルＢをＤＣＴして量子化して得られた値を検査する。検査の結果、その値が０ではない所定値を有すると確認されれば、ＤＣＴ及び量子化をそれ以上行わずに終え、その結果に基づきフィルタ情報を生成する。０であれば、（ｆ）のように３番目のピクセルをＤＣＴして量子化して得られた値を検査する。
【００７９】
同様に、検査の結果、その値が０ではない所定値を有すると確認されれば、ＤＣＴ及び量子化を終え、その結果に基づきフィルタ情報を生成する。０であるものの、最上位列にそれ以上ピクセルが存在しなければ、今までの結果に基づきフィルタ情報を生成する。フィルタ情報を生成する方法は、第１の実施の形態におけるそれと同じである。
【００８０】
Ａ、Ｂ及びＣを除いた残りの値に対してもまたピクセル単位でＤＣＴ及び量子化を行った後、その値を検査してリンギング雑音の発生有無を判断する。リンギング雑音の発生有無に対する判断の基準及びリンギング雑音の発生結果に基づきフィルタ情報を生成する方法もまた第１の実施の形態におけるそれと同じである。
【００８１】
図１０は、本発明の第２の実施の形態によるフィルタリング方法を説明するためのフローチャートである。
図１０を参照すれば、ブロックの最左側列のＤＣ成分に隣接した最初のピクセルに対してＤＣＴを行い、変換されたＤＣＴ係数を量子化して量子化係数を計算する（第１００１段階）。次に、計算された量子化係数を検査し（第１００２段階）、量子化係数が０であれば、次のピクセルに対してＤＣＴ及び量子化を行い（第１００３段階）、第１００２段階へ戻る。
【００８２】
量子化係数が０ではない所定値を有するか、あるいは、対応するピクセルが最左側列の最後のピクセルであればＤＣＴ及び量子化を終え、得られた結果に基づきフィルタ情報を生成する（第１００４段階）。すなわち、最左側列の量子化係数のうち０ではない所定値が存在すれば、フィルタ情報としてＨＢＦを１に設定する。
【００８３】
次に、ブロックの最上位行のＤＣ成分に隣接した最初のピクセルに対してＤＣＴを行い、得られたＤＣＴ係数を量子化する（第１００５段階）。計算された量子化係数を検査し（第１００６段階）、量子化係数が０であれば、次のピクセルに対してＤＣＴ及び量子化を行い（第１００７段階）、第１００６段階へ戻る。
【００８４】
量子化係数が０ではない所定値を有するか、あるいは、対応するピクセルが最上位行の最後のピクセルであれば、ＤＣＴ及び量子化を終え、得られた結果に基づきフィルタ情報を生成する（第１００８段階）。すなわち、最上位行の量子化係数のうち０ではない所定値が存在すれば、フィルタ情報としてＶＢＦを１に設定する。
【００８５】
次に、ブロックの最上位行及び最左側列を除いたピクセルのうち、ＤＣ成分に隣接したピクセルに対してＤＣＴを行い、ＤＣＴ係数を量子化する（第１００９段階）。計算された量子化係数を検査し（第１０１０段階）、量子化係数が０であれば次のピクセルに対してＤＣＴ及び量子化を行い（第１０１１段階）、第１０１０段階へ戻る。
【００８６】
量子化係数が０ではない所定値を有するか、あるいは、対応するピクセルが最左側列及び最上位行を除いたピクセルのうち最後のピクセルであれば、ＤＣＴ及び量子化を終え、得られた結果に基づきフィルタ情報を生成する（第１０１２段階）。すなわち、最左側列及び最上位行を除いたピクセルの量子化係数のうち０ではない所定値が存在すれば、フィルタ情報としてＲＦを１に設定する。
【００８７】
生成されたフィルタ情報に基づきフィルタ特性値を決定して適応的なフィルタリングを行う（第１０１３段階）。特性値の決定は、図７に基づき説明した通りである。すなわち、ＨＢＦが１に設定された場合、フィルタ特性値決定部７４は垂直方向にディブロッキングフィルタ７５がより強くかかるように特性値を決定し、ＶＢＦが１に設定された場合、水平方向にディブロッキングフィルタ７５がより強くかかるように特性値を決定して出力する。
【００８８】
ＨＢＦ及びＶＢＦが共に１に設定された場合、フィルタ特性値決定部７４は、垂直方向及び水平方向にディブロッキングフィルタ７５がより強くかかるように特性値を決定して出力する。ＲＦが１に設定された場合、フィルタ特性値決定部７４はディリンギングフィルタ７６が強くかかるように特性値を決定して出力する。
【００８９】
ディブロッキングフィルタ７５及びディリンギングフィルタ７６は、設定された特性値に応じて適応的なフィルタリングを行う。
ディブロッキングフィルタリングはブロック単位で行われるが、実際に入力されるデータは現在のブロックのみならず、隣接したブロックの境界領域に位置したピクセル値が共に入力され、入力された値はディブロッキングフィルタリングにより変更された値として出力される。例えば、現在のブロックのピクセル値１、２、３、４と隣接したブロックのピクセル値５、６、７、８に対してディブロッキングフィルタが強くかかれば隣接した３、４、５、６が変更され、弱くかかれば４、５のみが変更される。
【００９０】
従って、共に入力される隣接したブロックの対応フラグ値を共に比較し、隣接したブロックの対応フラグ値が現在ブロックの対応フラグ値と同じであればディブロッキングフィルタの特性値を強く決定し、異なれば弱く決定することにより、特性値の決定の質を高めることができる。
【００９１】
他の例として、フィルタ情報生成部８３は、隣接ブロックのフラグ値ＶＢＦ、ＨＢＦ、ＲＦと現在ブロックのフラグ値ＶＢＦ、ＨＢＦ、ＲＦとを比較してフィルタ情報を生成できる。この時に生成されるフィルタ情報は、現在ブロックに対するフラグ値のみを用いて生成されたものより細かく表わされ、これにより、フィルタの特性値もまたより高精度に決定できる。
【００９２】
図１０の実施の形態では、最左側列のＤＣ成分を除いた複数のピクセル、最上位行のＤＣ成分を除いた複数のピクセル、最左側列及び最上位行を除いた複数のピクセルのうちＤＣ成分に隣接したピクセルに対して優先的にＤＣＴ及び量子化を行ったものの、選択的に、これら複数のピクセルよりなるグループのうち任意の一つに対して優先的にＤＣＴ及び量子化を行うことも可能である。
【００９３】
第２の実施の形態は、第１の実施の形態と比較した時、ピクセル単位で変換及び量子化を行うことにより計算量が一層減るといった長所がある。また、第２の実施の形態においても、第１の実施の形態と同様に、ＤＣＴに代えてＤＷＴを適用することができる。
【００９４】
一方、前述した第１及び第２の実施の形態では、本発明によるフィルタリング方法及びそのフィルタを符号化装置におけるループフィルタとして具現したが、復号化装置において用いられるポストフィルタとして具現可能なのはもちろんである。
【００９５】
一方、本発明によるフィルタリング方法を具現したソースコードの一例は、下記の通りである。
【００９６】
【表１】
2006157910.tif 000007
【００９７】
前記のようなソースコードのアルゴリズムによれば、本発明により所定のブロックに対するエッジ領域を判別することはもとより、隣接ブロック間のフィルタ情報を比較してより高精度にエッジ領域を判別できる。
【図面の簡単な説明】
【００９８】
【図１】本発明による符号化装置のブロック図である。
【図２】本発明の第１の実施の形態によるループフィルタ７の詳細ブロック図である。
【図３】本発明の第１の実施の形態によりフィルタ情報生成部３がフィルタ情報を生成する過程を説明するための参考図である。
【図４】本発明の第１の実施の形態によりフィルタ情報生成部３がフィルタ情報を生成する過程を説明するための参考図である。
【図５】本発明の第１の実施の形態の変形例により生成されたフィルタ情報を説明するための参考図である。
【図６】本発明の第１の実施の形態によるフィルタリング方法を説明するためのフローチャートである。
【図７】本発明の第１の実施の形態による他のフィルタリング方法を説明するためのフローチャートである。
【図８】本発明の第２の実施の形態によるループフィルタ７の詳細ブロック図である。
【図９】本発明の第２の実施の形態によりフィルタ情報生成部８３がフィルタ情報抽出データを得る過程及び得られたフィルタ情報抽出データからフィルタ情報を生成する過程を説明するための参考図である。
【図１０】本発明の第２の実施の形態によるフィルタリング方法を説明するためのフローチャートである。
【符号の説明】
【００９９】
１      動き動作部
２      変換部
３      量子化部
４      逆量子化部
５      逆変換部
６      動き補償部
７      ループフィルタ
７１    ループ変換部
７２    ループ量子化部
７３    フィルタ情報生成部
７４    フィルタ特性値決定部
７５    ディブロッキングフィルタ
７６    ディリンギングフィルタ
【図１】
2006157910.tif 000008
【図２】
2006157910.tif 000009
【図３】
2006157910.tif 000010
【図４】
2006157910.tif 000011
【図５】
2006157910.tif 000012
【図６】
2006157910.tif 000013
【図７】
2006157910.tif 000014
【図８】
2006157910.tif 000015
【図９】
2006157910.tif 000016
【図１０】
2006157910.tif 000017