(57)【要約】【課題】パイプラインデブロッキングのための装置及び方法を提供する。【解決手段】フィルタリングエンジン、フィルタリングエンジンと信号を送受信する複数個のレジスタ、前記フィルタリングエンジンと信号を送受信するパイプライン制御部、及びパイプライン制御部と信号を送受信するＦＳＭを備えることを特徴とするブロッキング効果を除去するために、ブロック変換処理されるピクセルデータブロックをフィルタリングするためのパイプラインデブロッキングフィルタである。また、ブロックの第１エッジをフィルタリングするステップ、及び第１エッジをフィルタリングした後、第１エッジに垂直であり、ブロックのエッジから三番目にフィルタリングされるブロックの第３エッジをフィルタリングするステップを含むことを特徴とするブロッキング効果を除去するために、ブロック変換処理されるピクセルデータブロックをフィルタリングする方法である。【選択図】図７
2006157925.tif 000002
【特許請求の範囲】
【請求項１】
ブロッキング効果を除去するために、ブロック変換処理されるピクセルデータブロックをフィルタリングする方法において、
前記ブロックの第１エッジをフィルタリングするステップと、
前記第１エッジをフィルタリングした後、前記第１エッジに垂直であり、前記ブロックのエッジから三番目にフィルタリングされる前記ブロックの第３エッジをフィルタリングするステップと、を含むことを特徴とするフィルタリング方法。
【請求項２】
前記第１エッジは、前記ブロックの左側エッジであり、
前記第３エッジは、前記ブロックの上側エッジであることを特徴とする請求項１に記載のフィルタリング方法。
【請求項３】
前記第１エッジをフィルタリングした後、前記第１エッジに平行であり、前記ブロックのエッジから二番目にフィルタリングされる前記ブロックの第２エッジをフィルタリングするステップをさらに含むことを特徴とする請求項１に記載のフィルタリング方法。
【請求項４】
前記第２エッジは、前記ブロックの右側エッジであることを特徴とする請求項３に記載のフィルタリング方法。
【請求項５】
前記ブロックは、４×４ピクセルデータからなることを特徴とする請求項１に記載のフィルタリング方法。
【請求項６】
前記ブロックは、マクロブロックを構成する１６個のブロックのうちいずれか一つであることを特徴とする請求項１に記載のフィルタリング方法。
【請求項７】
前記マクロブロックのブロックは、左側から右側に順次に、上側ローから下側ロー方向に一回に一つのローずつフィルタリングされることを特徴とする請求項６に記載のフィルタリング方法。
【請求項８】
前記ピクセルデータブロックは、複数のロー、カラムまたはピクセルベクトルを備え、
隣接のピクセルデータブロックを第１レジスタアレイにプリフェッチングするステップと、
現在のピクセルデータブロックを第２レジスタアレイにプリフェッチングするステップと、
前記プリフェッチングされた隣接のピクセルデータ及び前記プリフェッチングされた現在のピクセルデータに応答して、前記現在エッジの境界値を算出するステップと、をさらに含むことを特徴とする請求項１に記載のフィルタリング方法。
【請求項９】
上側のピクセルデータブロックを第３レジスタアレイにプリフェッチングするステップをさらに含むことを特徴とする請求項８に記載のフィルタリング方法。
【請求項１０】
第１隣接のピクセルデータベクトルを前記第１レジスタアレイからフィルタリングエンジンにプリフェッチングするステップと、
第１現在のピクセルデータベクトルを前記第２レジスタアレイから前記フィルタリングエンジンにプリフェッチングするステップと、
前記現在ブロックの境界値に対応して、前記第１隣接のベクトル及び第１現在のベクトルについてのフィルタパラメータを算出するステップと、
前記フィルタパラメータによって、前記第１隣接のベクトル及び第１現在のベクトルをフィルタリングするステップと、
前記フィルタリングされた第１隣接のベクトルを前記第１レジスタアレイにアップデートするステップと、
前記フィルタリングされた第１現在のベクトルを前記第２レジスタアレイにアップデートするステップと、をさらに含むことを特徴とする請求項８に記載のフィルタリング方法。
【請求項１１】
第１隣接のピクセルデータベクトルを前記第１レジスタアレイからフィルタリングエンジンにプリフェッチングするステップと、
第１現在のピクセルデータベクトルを前記第２レジスタアレイから前記フィルタリングエンジンにプリフェッチングするステップと、
前記現在ブロックの境界値に対応して、前記第１隣接のベクトル及び第１現在のベクトルについてのフィルタパラメータを算出するステップと、
前記フィルタパラメータによって、前記第１隣接のベクトル及び第１現在のベクトルをフィルタリングするステップと、
前記フィルタリングされた第１隣接のベクトルをメモリに保存するステップと、
前記フィルタリングされた第１現在のベクトルを前記第２レジスタアレイにアップデートするステップと、をさらに含むことを特徴とする請求項８に記載のフィルタリング方法。
【請求項１２】
前記アップデートされた第２レジスタアレイによって、前記第１レジスタアレイをアップデートするステップと、
前記アップデートされた第１レジスタアレイをメモリに保存するステップと、
前記アップデートされた第１レジスタアレイを前記メモリに保存する間に、他のピクセルデータブロックを前記第２レジスタアレイにプリフェッチングするステップと、をさらに含むことを特徴とする請求項１０に記載のフィルタリング方法。
【請求項１３】
前記第１隣接のベクトルについてのフィルタパラメータを算出する間に、第２隣接のピクセルデータベクトルを前記第１レジスタアレイからフィルタリングエンジンにプリフェッチングするステップと、
前記第１現在のベクトルについてのフィルタパラメータを算出する間に、第２現在のピクセルデータベクトルを前記第２レジスタアレイから前記フィルタリングエンジンにプリフェッチングするステップと、
前記第１隣接のベクトル及び第１現在のベクトルをフィルタリングする間に、前記現在ブロックの境界値に対応して、前記第２隣接のベクトル及び第２現在のベクトルについてのフィルタパラメータを算出するステップと、
前記フィルタパラメータらによって、前記第２隣接のベクトル及び第２現在のベクトルをフィルタリングするステップと、
前記フィルタリングされた第２隣接のベクトルを前記第１レジスタアレイにアップデートするステップと、
前記フィルタリングされた第２現在のベクトルを前記第２レジスタアレイにアップデートするステップと、をさらに含むことを特徴とする請求項１０に記載のフィルタリング方法。
【請求項１４】
第２ピクセルデータブロックをブロックパイプライン処理するステップをさらに含むことを特徴とする請求項１２に記載のフィルタリング方法。
【請求項１５】
前記ブロックパイプライン処理ステップは、
前記第２ピクセルデータブロックを前記第１レジスタアレイにプリフェッチングするステップと、
前記ブロックの境界値を算出するステップと、を含むことを特徴とする請求項１４に記載のフィルタリング方法。
【請求項１６】
前記ブロックパイプライン処理ステップは、
前記第１ピクセルデータベクトルについてのフィルタパラメータを算出する間に、前記ブロックから第２ピクセルデータベクトルをプリフェッチングするステップと、
前記第１ピクセルデータベクトルのフィルタリング動作及び前記第１ピクセルデータベクトルの保存動作のうち少なくとも一つの動作の間に、前記第２ピクセルデータベクトルについてのフィルタパラメータを算出するステップと、をさらに含むことを特徴とする請求項１５に記載のフィルタリング方法。
【請求項１７】
ベクトルパイプラインフィルタリングステップは、
以前のピクセルデータベクトルについてのフィルタパラメータを算出する間に、他のピクセルベクトルを前記ブロックからプリフェッチングするステップと、
前記以前のピクセルベクトルのフィルタリング動作及び前記以前のピクセルベクトルの保存動作のうち少なくとも一つの動作の間に、前記他のピクセルベクトルについてのフィルタパラメータを算出するステップと、をさらに含むことを特徴とする請求項１５に記載のフィルタリング方法。
【請求項１８】
前記ピクセルデータブロックは、複数個のピクセルを有するロー、カラムまたはベクトルを備え、
前記複数個のピクセルをピクセルパイプラインフィルタリングするステップをさらに含むことを特徴とする請求項１に記載のフィルタリング方法。
【請求項１９】
ピクセルパイプラインフィルタリングステップは、
前記複数個のピクセルから第１ピクセルをプリフェッチングするステップと、
前記第１ピクセルについてのフィルタパラメータを算出するステップと、
前記第１ピクセルをフィルタリングするステップと、
前記第１ピクセルを保存するステップと、
前記第１ピクセルについてのフィルタパラメータを算出する間に、前記複数個のピクセルから第２ピクセルをプリフェッチングするステップと、
前記第１ピクセルをフィルタリングする動作及び前記第１ピクセルを保存する動作のうち少なくとも一つの動作の間に、前記第２ピクセルについてのフィルタパラメータを算出するステップと、を含むことを特徴とする請求項１８に記載のフィルタリング方法。
【請求項２０】
ピクセルパイプラインフィルタリングステップは、
以前のピクセルについてのフィルタパラメータを算出する間に、前記複数個のピクセルから他のピクセルをプリフェッチングするステップと、
前記以前のピクセルをフィルタリングする動作及び前記以前のピクセルを保存する動作のうち少なくとも一つの動作の間に、前記他のピクセルについてのフィルタパラメータを算出するステップと、をさらに含むことを特徴とする請求項１９に記載のフィルタリング方法。
【請求項２１】
ブロッキング効果を除去するために、ブロック変換処理されるピクセルデータブロックをフィルタリングするためのパイプラインデブロッキングフィルタにおいて、前記フィルタは、
フィルタリングエンジンと、
前記フィルタリングエンジンと信号を送受信する複数個のレジスタと、
前記フィルタリングエンジンと信号を送受信するパイプライン制御部と、
前記パイプライン制御部と信号を送受信するＦＳＭと、を備えることを特徴とするパイプラインデブロッキングフィルタ。
【請求項２２】
前記フィルタは、ピクセルデータを複数のブロック変換係数としてエンコーディングするためのエンコーダと組み合わせられ、
前記フィルタは、前記ブロック変換係数に応答して、再構成されたピクセルデータのブロック遷移をフィルタリングするために配置されることを特徴とする請求項２１に記載のパイプラインデブロッキングフィルタ。
【請求項２３】
前記再構成されたピクセルデータを提供するために、エンコーディングされたブロック変換係数をデコーディングするためのデコーダと組み合わせられ、
前記フィルタは、前記再構成されたピクセルデータのブロック遷移をフィルタリングするために配置されることを特徴とする請求項２１に記載のパイプラインデブロッキングフィルタ。
【請求項２４】
前記ＦＳＭは、
前記パイプラインデブロッキングフィルタのブロックパイプラインステップを制御するために配置されることを特徴とする請求項２１に記載のパイプラインデブロッキングフィルタ。
【請求項２５】
前記エンジンは、前記パイプラインデブロッキングフィルタのピクセルベクトルパイプラインステップを制御するために配置されることを特徴とする請求項２１に記載のパイプラインデブロッキングフィルタ。
【請求項２６】
前記パイプラインデブロッキングフィルタのブロックパイプラインステップを制御するために配置されるＦＳＭと、
前記パイプラインデブロッキングフィルタのピクセルベクトルパイプラインステップを制御するために配置されるエンジンと、
前記ブロックの第１エッジをフィルタリングすることによって、前記ピクセルデータブロックをフィルタリングし、前記第１エッジをフィルタリングした後、前記第１エッジに垂直であり、前記ブロックのエッジから三番目にフィルタリングされる前記ブロックの第３エッジをフィルタリングするために配置されるフィルタと、を備えることを特徴とする請求項２１に記載のパイプラインデブロッキングフィルタ。
【請求項２７】
マシンにより読み取り可能であり、ブロック変換処理されるピクセルデータブロックをフィルタリングするためのプログラムステップを行うために、前記マシンにより実行可能に命令プログラムを具体化するプログラム保存装置において、前記プログラム方法は、
ブロックの第１エッジをフィルタリングするステップと、
前記第１エッジをフィルタリングした後、残りの三つのエッジから前記第１エッジに垂直な前記ブロックの第３エッジをフィルタリングするステップと、を含むことを特徴とするプログラム方法。
【請求項２８】
前記第１エッジをフィルタリングした後、残りの二つのエッジから前記第１エッジに平行な前記ブロックの第２エッジをフィルタリングするステップをさらに含むことを特徴とする請求項２７に記載のプログラム方法。
【請求項２９】
前記ピクセルデータブロックは、複数のロー、カラムまたはピクセルベクトルを備え、
隣接のピクセルデータブロックをプリフェッチングするステップと、
現在のピクセルデータブロックをプリフェッチングするステップと、
前記プリフェッチングされた隣接のピクセル及び前記プリフェッチングされた現在のピクセルデータに応答して、前記現在エッジの境界値を算出するステップと、をさらに含むことを特徴とする請求項２７に記載のプログラム方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオエンコーダ及びデコーダに係り、特にデブロッキングフィルタを備えるビデオコーデックに関する。ブロッキング効果を除去するためのパイプラインフィルタリング方法及び装置を提供する。
【背景技術】
【０００２】
ビデオデータは、ビットストリームの形態に処理されて伝送される。ローデータを圧縮するために、ビデオエンコーダは、一般的に離散コサイン変換（Ｄｉｓｃｒｅｔｅ Ｃｏｓｉｎｅ Ｔｒａｎｓｆｏｒｍ：ＤＣＴ）のようなブロック変換コーディングを適用する。前記ブロックを圧縮解除するために、これに対応するビデオデコーダは、逆離散コサイン変換（Ｉｎｖｅｒｓｅ Ｄｉｓｃｒｅｔｅ Ｃｏｓｉｎｅ Ｔｒａｎｓｆｏｒｍ：ＩＤＣＴ）などの方法により、前記エンコーディングされたブロック変換をビットストリームデータにデコーディングする。
【０００３】
デジタルビデオ圧縮技術は、画質の際立った劣化なしに加工されていないビデオ映像を圧縮された映像に変換できる。Ｈ．２６１，Ｈ．２６３，ＭＰＥＧ−１，ＭＰＥＧ−２，ＭＰＥＧ−４のような多くのビデオ圧縮標準が発展されてきた。提案されるＩＴＵ−Ｔ Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ Ｈ．２６４｜ＩＳＯ／ＩＥＣ１４４９６−１０ ＡＶＣビデオ圧縮標準（“Ｈ．２６４／ＡＶＣ”）は、同じコーディング品質に相当する従来の圧縮標準と比較してかなり改良されたコーディング効率を提供する。例えば、Ｈ．２６４／ＡＶＣは、典型的にビデオ携帯電話の用途のような高圧縮率を要求する無線ビデオに適用されうる。
【０００４】
デブロッキングフィルタは、ブロック基盤のデジタルビデオ圧縮システムと結合して使われる。デブロッキングフィルタは、エンコーダ及びデコーダに適用される場合、圧縮ループの内部に適用されうる。他の方案として、デブロッキングフィルタは、デコーダに圧縮ループ後に適用されうる。典型的なデブロッキングフィルタは、ブロック変換コーディング（例えば、ＤＣＴ）及び量子化が行われるブロックのエッジ変化を経てローパスフィルタを適用させることによって動作する。デブロッキングフィルタは、圧縮されたビデオで“ブロック化”として知られる不快な視覚的影響を低下させる。しかし、デブロッキングフィルタは、一般的にビデオエンコーダ及び／またはデコーダで高い演算複雑度を要求する。
【０００５】
出力映像を元の入力映像と最大限類似させるために、デブロッキングフィルタを通じてブロッキング効果を除去するためのフィルタリング動作が使われる。前記ブロッキング効果は、通常はＨ．２６４／ＡＶＣに先行する圧縮標準では重要な問題ではない。というのは、前記ＤＣＴ及び量子化ステップは、残りのコーディングに対して８×８ピクセル単位で動作するためである。したがって、通常、前記先行する圧縮標準では、デブロッキングフィルタの採用は選択的なものであった。Ｈ．２６４／ＡＶＣ圧縮標準では、ＤＣＴ及び量子化は４×４ピクセル単位を使用し、さらに多くのブロッキング効果を発生させる。したがって、効率的なデブロッキングフィルタは、Ｈ．２６４／ＡＶＣ標準のコーデックでさらに重要である。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、ハードウェアの速度を速め、複雑度を最小化させるフィルタリング順序、内部メモリの大きさを最小化して簡便かつ効率的に管理して更新でき、フィルタエンジン一つであらゆるフィルタリングを処理できるパイプラインデブロッキングのための装置及び方法を提供するところにある。
【課題を解決するための手段】
【０００７】
本発明の一実施形態によるパイプラインデブロッキングのための方法は、ブロッキング効果を除去するために、ブロック変換処理されるピクセルデータブロックをフィルタリングし、前記ブロックの第１エッジをフィルタリングするステップ、及び前記第１エッジをフィルタリングした後、前記第１エッジに垂直であり、前記ブロックのエッジから三番目にフィルタリングされる前記ブロックの第３エッジをフィルタリングするステップを含むことを特徴とする。
【０００８】
前記第１エッジは、前記ブロックの左側エッジであり、前記第３エッジは、前記ブロックの上側エッジであることが望ましい。
前記第１エッジをフィルタリングした後、前記第１エッジに平行であり、前記ブロックのエッジから二番目にフィルタリングされる前記ブロックの第２エッジをフィルタリングするステップをさらに含む。
【０００９】
前記第２エッジは、前記ブロックの右側エッジであることが望ましい。
一方、前記ピクセルデータブロックは、複数のロー、カラムまたはピクセルベクトルを備え、隣接のピクセルデータブロックを第１レジスタアレイにプリフェッチングするステップ、現在のピクセルデータブロックを第２レジスタアレイにプリフェッチングするステップ、及び前記プリフェッチングされた隣接のピクセルデータ及び前記プリフェッチングされた現在のピクセルデータに応答して、前記現在エッジの境界値を算出するステップをさらに含むことが望ましい。
【００１０】
また、第１隣接のピクセルデータベクトルを前記第１レジスタアレイからフィルタリングエンジンにプリフェッチングするステップ、第１現在のピクセルデータベクトルを前記第２レジスタアレイから前記フィルタリングエンジンにプリフェッチングするステップ、前記現在ブロックの境界値に対応して、前記第１隣接のベクトル及び第１現在のベクトルについてのフィルタパラメータを算出するステップ、前記フィルタパラメータによって、前記第１隣接のベクトル及び第１現在のベクトルをフィルタリングするステップ、前記フィルタリングされた第１隣接のベクトルを前記第１レジスタアレイにアップデートするステップ、及び前記フィルタリングされた第１現在のベクトルを前記第２レジスタアレイにアップデートするステップをさらに含むことが望ましい。
【００１１】
また、前記アップデートされた第２レジスタアレイによって、前記第１レジスタアレイをアップデートするステップ、前記アップデートされた第１レジスタアレイをメモリに保存するステップ、及び前記アップデートされた第１レジスタアレイを前記メモリに保存する間に、他のピクセルデータブロックを前記第２レジスタアレイにプリフェッチングするステップをさらに含むことが望ましい。
また、第２ピクセルデータブロックをブロックパイプライン処理するステップをさらに含むことが望ましい。
【００１２】
また、前記ブロックパイプライン処理ステップは、前記第２ピクセルデータブロックを前記第１レジスタアレイにプリフェッチングするステップ、及び前記ブロックの境界値を算出するステップを含むことが望ましい。
【００１３】
また、前記ブロックパイプライン処理ステップは、前記第１ピクセルデータベクトルについてのフィルタパラメータを算出する間に、前記ブロックから第２ピクセルデータベクトルをプリフェッチングするステップ、及び前記第１ピクセルデータベクトルのフィルタリング動作及び前記第１ピクセルデータベクトルの保存動作のうち少なくとも一つの動作の間に、前記第２ピクセルデータベクトルについてのフィルタパラメータを算出するステップをさらに含むことが望ましい。
一方、本発明の一実施形態によるパイプラインデブロッキングフィルタは、ブロッキング効果を除去するために、ブロック変換処理されるピクセルデータブロックをフィルタリングし、フィルタリングエンジン、前記フィルタリングエンジンと信号を送受信する複数個のレジスタ、前記フィルタリングエンジンと信号を送受信するパイプライン制御部、及び前記パイプライン制御部と信号を送受信するＦＳＭ（Ｆｉｎｉｔｅ Ｓｔａｔｅ Ｍａｃｈｉｎｅ）を備えることを特徴とする。
【００１４】
前記フィルタは、ピクセルデータを複数のブロック変換係数としてエンコーディングするためのエンコーダと組み合わせられ、前記フィルタは、前記ブロック変換係数に応答して、再構成されたピクセルデータのブロック遷移をフィルタリングするために配置されることが望ましい。
【００１５】
また、前記再構成されたピクセルデータを提供するために、エンコーディングされたブロック変換係数をデコーディングするためのデコーダと組み合わせられ、前記フィルタは、前記再構成されたピクセルデータのブロック遷移をフィルタリングするために配置されることが望ましい。
【００１６】
また、前記パイプラインデブロッキングフィルタのブロックパイプラインステップを制御するために配置されるＦＳＭ、前記パイプラインデブロッキングフィルタのピクセルベクトルパイプラインステップを制御するために配置されるエンジン、及び前記ブロックの第１エッジをフィルタリングすることによって、前記ピクセルデータブロックをフィルタリングし、前記第１エッジをフィルタリングした後、前記第１エッジに垂直であり、前記ブロックのエッジから三番目にフィルタリングされる前記ブロックの第３エッジをフィルタリングするために配置されるフィルタを備えることが望ましい。
【００１７】
一方、マシンにより読み取り可能であり、ブロック変換処理されるピクセルデータブロックをフィルタリングするためのプログラムステップを行うために、前記マシンにより実行可能に命令プログラムを具体化するプログラム保存装置において、本発明の一実施形態によるプログラム方法は、ブロックの第１エッジをフィルタリングするステップ、及び前記第１エッジをフィルタリングした後、残りの三つのエッジから前記第１エッジに垂直な前記ブロックの第３エッジをフィルタリングするステップを含むことを特徴とする。
また、前記第１エッジをフィルタリングした後、残りの二つのエッジから前記第１エッジに平行な前記ブロックの第２エッジをフィルタリングするステップをさらに含むことを特徴とする。
【００１８】
また、前記ピクセルデータブロックは、複数のロー、カラムまたはピクセルベクトルを備え、隣接のピクセルデータブロックをプリフェッチングするステップ、現在のピクセルデータブロックをプリフェッチングするステップ、及び前記プリフェッチングされた隣接のピクセル及び前記プリフェッチングされた現在のピクセルデータに応答して、前記現在エッジの境界値を算出するステップをさらに含むことを特徴とする。
【発明の効果】
【００１９】
本発明によるパイプラインデブロッキングのための装置及び方法は、ジブロックフィルタの順序を適切に配置することによって、ジブロックフィルタリング時間を短縮し、ハードウェアの複雑度を低減できる。また、フィルタエンジンを適切にパイプラインさせて、一つのフィルタエンジンであらゆるフィルタリングを行える。
【発明を実施するための最良の形態】
【００２０】
本発明と、本発明の動作上の利点及び本発明の実施によって達成される目的を十分に理解するためには、本発明の望ましい実施形態を例示する添付図面及び添付図面に記載された内容を参照せねばならない。
【００２１】
以下、添付された図面を参照して本発明の望ましい実施形態を説明することにより、本発明を詳細に説明する。各図面に提示された同じ参照符号は同じ部材を示す。
【００２２】
本発明は、ハイスピードモバイル装置を含んで、Ｈ．２６４／ＡＶＣを使用するビデオ処理装置に適したデブロッキングフィルタを提供する。本発明の特徴は、ハイスピード及び／またはハードウェアの複雑性を除去したパイプラインデブロッキングフィルタを提供する。
【００２３】
デブロッキング方法は、例えば予測及び量子化過程で発生するブロッキングアーチファクトを低下させるために使われうる。前記デブロッキング過程は、現在の映像からレファレンスを処理して発生する過程の前または後に行われうる。
【００２４】
図１に示すように、インループのデブロッキングフィルタを備える代表的なエンコーダ１００は、ビデオ入力端１１２を備える。前記ビデオ入力端１１２は、合算部１１４の正（＋）入力端に連結されて信号を伝送する。前記合算部１１４は、係数を提供するために整数変換を行う機能ブロック１１６に順次に連結される。前記機能ブロック１１６は、出力ビットストリームを提供するためのエントロピーコーディングブロック１１８に連結される。前記機能ブロック１１６は、インループ部１２０のスケーリング及び逆変換部１２２にさらに連結される。前記スケーリング及び逆変換部１２２は、合算部１２４に連結され、前記合算部１２４は、イントラフレーム予測部１２６に順次に連結される。前記イントラフレーム予測部１２６は、スイッチ１２７に連結されてスイッチング可能である。また、前記スイッチ１２７は、前記合算部１２４の第２入力端に連結され、前記合算部１１４の反転入力端（−）に連結される。
【００２５】
前記合算部１２４の出力端は、デブロッキングフィルタ１４０に連結される。前記デブロッキングフィルタ１４０は、フレーム保存部１２８に連結される。前記フレーム保存部１２８は、動作補償部１３０に連結される。前記動作補償部１３０は、スイッチング可能な前記スイッチ１２７の第２入力端に連結される。前記ビデオ入力端１１２は、動作ベクトルを提供する動作測定部１１９にさらに連結される。前記デブロッキングフィルタ１４０は、前記動作測定部１１９の第２入力端に連結される。前記動作測定部１１９の出力端は、前記動作補償部１３０及び前記エントロピーコーディングブロック１１８の第２入力端に連結される。前記ビデオ入力端１１２は、コード制御部１６０にさらに連結される。前記コード制御部１６０は、前記エンコーダ１００の動作を制御するための制御信号を提供するために、前記それぞれのブロック１１６，１１８，１１９，１２２，１２６，１３０，１４０の制御入力端に連結される。
【００２６】
図２は、インループのデブロッキングフィルタを備える代表的なデコーダを概略的に示すブロック図である。前記デコーダ２００は、入力ビットストリームを受信するためにエントロピーデコーディングブロック２１０を備える。前記デコーディングブロック２１０は、係数を伝達するためにインループ部２２０のスケーリング及び逆変換部２２２に連結される。前記スケーリング及び逆変換部２２２は、合算部２２４に連結され、前記合算部２２４は、イントラフレーム予測部２２６に順次に連結される。前記イントラフレーム予測部２２６は、スイッチ２２７にスイッチング可能に連結される。前記スイッチ２２７は、前記合算部２２４の第２入力端に連結される。前記合算部２２４の出力端は、出力映像を提供するためにデブロッキングフィルタ２４０に連結される。
【００２７】
前記デブロッキングフィルタ２４０は、フレーム保存部２２８に連結される。前記フレーム保存部２２８は、動作補償部２３０に連結される。前記動作補償部２３０は、前記スイッチ２２７のスイッチング可能な第２入力端に連結される。前記エントロピーデコーディングブロック２１０は、動作ベクトルを提供するために前記動作補償部２３０の第２入力端に連結される。前記エントロピーデコーディングブロック２１０は、制御信号ＣＯＮＴＲＯＬを提供するためにデコーダ制御部２６２に連結される。前記デコーダ制御部２６２は、制御信号を送受信し、前記デコーダ２００の動作を制御するために、各ブロック２２２，２２６，２３０，２４０の制御入力端に連結される。
【００２８】
図３は、後処理のデブロッキングフィルタを備えるデコーダを概略的に示すブロック図である。前記デコーダ３００は、入力ビットストリームを受信するためにエントロピーデコーディングブロック３１０を備える。前記デコーディングブロック３１０は、係数を提供するためにインループ部３２０のスケーリング及び逆変換部３２２に連結される。前記スケーリング及び逆変換部３２２は、合算部３２４に連結される。前記合算部３２４は、イントラフレーム予測部３２６に順次に連結される。前記イントラフレーム予測部３２６は、スイッチ３２７にスイッチング可能に連結される。前記スイッチ３２７は、前記合算部３２４の第２入力端に連結される。
【００２９】
前記合算部３２４の出力端は、出力映像を提供するためにデブロッキングフィルタ３４０に連結される。前記合算部３２４は、フレーム保存部３２８にさらに連結される。前記フレーム保存部３２８は、動作補償部３３０に連結され、前記動作補償部３３０は、前記スイッチ３２７のスイッチング可能な第２入力端に連結される。前記エントロピーデコーディングブロック３１０は、動作ベクトルを提供するために前記動作補償部３３０の第２入力端に連結される。前記エントロピーデコーディングブロック３１０は、制御信号ＣＯＮＴＲＯＬを提供するためにデコーダ制御部３６２に連結される。前記デコーダ制御部３６２は、制御信号を送受信し、前記デコーダ３００の動作を制御するために、前記各ブロック３２２，３２６，３３０，３４０の制御入力端に連結される。
【００３０】
図４は、インループのデブロッキングフィルタを備える代表的なエンコーダを概略的に示すブロック図である。前記エンコーダ４００は、複数のマクロブロック（Ｍａｃｒｏ Ｂｌｏｃｋ：ＭＢ）を有する入力ビデオ映像を受信するためにビデオ入力端４１２を備える。前記ビデオ入力端４１２は、合算部４１４の正（＋）の入力端に連結される。前記合算部４１４は、残りを受信し、ＤＣＴ及び前記係数を量子化（Ｑ）するための機能ブロック４１６に順次に連結される。前記機能ブロック４１６は、出力ビットストリームを提供するためにエントロピーまたは可変長さコーディング（Ｖａｒｉａｂｌｅ Ｌｅｎｇｔｈ Ｃｏｄｉｎｇ：ＶＬＣ）を行うエントロピーコーディング部４１８に連結される。
【００３１】
前記機能ブロック４１６は、逆量子化（Ｉｎｖｅｒｓｅ Ｑｕａｎｔｉｚａｔｉｏｎ：ＩＱ）及び逆離散のコサイン変換（Ｉｎｖｅｒｓｅ Ｄｉｓｃｒｅｔｅ Ｃｏｓｉｎｅ Ｔｒａｎｓｆｏｒｍ：ＩＤＣＴ）部４２２にさらに連結される。前記ＩＱ／ＩＤＣＴ部４２２は、合算部４２４に連結される。前記合算部４２４の出力端は、デブロッキングフィルタ４４０に連結される。前記デブロッキングフィルタ４４０は、出力ビデオ映像を提供するためのフレーム保存部４２８に連結される。前記フレーム保存部４２８は、予測モジュール４２９の第１入力端に連結され、前記予測モジュール４２９に参照フレームを提供し、前記予測モジュール４２９は、動作補償部４３０及びイントラ予測部４２６を備える。前記フレーム保存部４２８は、動作測定部４１９の第１入力端にさらに連結され、前記動作測定部４１９に参照フレームを提供する。
【００３２】
前記ビデオ入力端４１２は、動作ベクトルを提供する前記動作測定部４１９の第２入力端にさらに連結される。前記動作測定部４１９の出力端は、前記動作補償部４３０が連結される前記予測モジュール４２９の第２入力端に連結される。前記動作測定部４１９の出力端は、前記エントロピーコーディング部４１８の第２入力端にさらに連結される。前記イントラ予測部４２６と連結される前記予測モジュール４２９の出力端は、前記合算部４２４の第２入力端に連結され、前記合算部４１４の反転（−）入力端に連結され、前記合算部に予測値を提供する。
【００３３】
図４のエンコーダ４００の動作において、例えば入力映像またはフレームは、それぞれ１６×１６ピクセルからなる複数個のＭＢに分割され、各ＭＢは、前記Ｈ．２６４／ＡＶＣシステムに順次に入力される。前記予測モジュール４２９は、以前にフィルタリングされたフレームのうちいずれか一つである参照フレームのあらゆるＭＢを調べる。そして、入力されたＭＢと最も類似した一つを予測値として出力する。したがって、前記予測値は、現在のＭＢと最も類似したピクセル値を有している。残りの値は、現在のＭＢと前記予測値とのピクセル値の差を示す。係数は、前記残りの値をＤＣＴ及び量子化処理した結果である。前記係数は、前記残りの値と比較して非常に小さくなったデータを有する。
【００３４】
前記係数は、エントロピーコーディング部４１８でエントロピーコーディングを通じて出力ビットストリームにエンコーディングされうる。前記出力ビットストリームは、保存されるか、または他のシステムへ伝送されうる。また、前記係数は、前記ＩＱ及びＤＣＴ動作を通じて残りの値に変換されうる。前記残りの値は、前記予測値に加えられ、再構成されたデータＲＥＣＯＮ＿ＤＡＴＡに変換できる。前記再構成されたデータＲＥＣＯＮ＿ＤＡＴＡは、前記ＭＢ（１６×１６ピクセル）またはブロック（４×４ピクセル）の境界から誘発されるブロッキング効果またはブロック化を有している。
【００３５】
図５は、Ｈ．２６４／ＡＶＣ規格によるフィルタリング順序に関するデータダイヤグラムである。参照番号５００のようなフィルタリング順序によれば、垂直エッジ５１０についての水平フィルタリング及び水平エッジ５２０についての垂直フィルタリングを含む。Ｈ．２６４／ＡＶＣは、映像のあらゆるＭＢに対してフィルタリングの適用を要求する。前記フィルタリングは、ＭＢのそれぞれのカラム基盤及びロー基盤（４×１６ピクセル及び１６×４ピクセル）で行われる。前記ＭＢは１６×１６ピクセルを備え、それぞれのブロックは４×４ピクセルを備える。前記Ｈ．２６４特性によるデブロッキングフィルタの順序は、次の通りである。
【００３６】
輝度に関し、参照符号５１０に示したように左側エッジから始めて四つの垂直エッジがフィルタリングされ、これは水平フィルタリングと称する。四つの水平エッジのフィルタリングは、参照符号５２０に示した方式のように上部エッジから始め、これは垂直フィルタリングと称する。同じ順序(order)が彩度に適用されうる。したがって、参照符号５１０の二つの垂直エッジ及び参照符号５２０の二つの水平エッジがＣｂ及びＣｒに対してそれぞれフィルタリングされる。
【００３７】
前記デブロッキングフィルタは、メモリアクセス動作のため、典型的に時間が消耗される過程である。垂直エッジ２をフィルタリングするために、左側（以前）及び右側（現在）のカラムデータがバッファメモリからアクセスされる。したがって、各エッジ当たり４×１６ピクセルデータを二回アクセスする。Ｈ．２６４／ＡＶＣ規格によって、水平フィルタリングが完了した後で垂直フィルタリングが始まる。前記垂直フィルタリングを行うために、水平フィルタリングステップでアクセスされたデータが使われる。１６×１６ピクセルのＭＢで、４×４ピクセルのあらゆるブロックが保存される。したがって、フィルタリング論理サイズ及びフィルタリング時間がいずれも増加する。
【００３８】
現在には、高解像度の映像を認めるために、ＭＢでデブロッキングフィルタリング時間が５００クロック周期以内でなければならない。これを達成するために、前記時間内にフィルタリングを完了するために、輝度及び彩度のフィルタリングは並列に行われうる。しかし、並列に輝度及び彩度のフィルタリングを行うのに要求されるフィルタリング回路は、前記フィルタリング回路の大きさを増加させる。
【００３９】
図６は、本発明の代表的な実施形態によるＨ．２６４／ＡＶＣ規格に要求されるフィルタリング順序に関するデータダイヤグラムである。参照符号６００に示すフィルタリング順序は、輝度またはイエローフィルタリング順序６１０、青色彩度フィルタリング順序６２０及び赤色彩度フィルタリング順序６３０を示す。前記輝度フィルタリング順序６１０は、Ａ〜Ｐの輝度ブロックについての１〜３２の輝度フィルタリングステップを含む。前記青色彩度フィルタリング順序は、Ｑ〜Ｔの彩度ブロックについての３３〜４０の青色彩度フィルタリングステップを含む。一方、前記赤色彩度フィルタリング順序は、Ｕ〜Ｘの赤色彩度ブロックについての４１〜４８の赤色彩度フィルタリングステップを含む。
【００４０】
このとき、前記デブロッキングフィルタリングは、ＭＢのローまたはカラム基盤（例えば、輝度についての４×１６ピクセルまたは彩度についての４×８ピクセル）より、分割されたブロック基盤（例えば、４×４ピクセル）に行われる。各エッジ（例えば、輝度についての４×１６ピクセルまたは彩度についての４×８ピクセル）は、本願に開示されたフィルタリング順序によって複数個（例えば、輝度について四つ、または彩度について二つ）に分割される。前記順序は、Ｈ．２６４／ＡＶＣ規格のように左側から右側に、上側から下側へのフィルタリング順序による。
【００４１】
ロー（４×１６）またはカラム（１６×４）基盤ではないブロック（４×４ピクセル）基盤下でフィルタリング動作が行われるので、一回当たりのメモリアクセスは減少する。また、前記開示されたフィルタリング順序によって、隣接するブロック間のデータ依存度が有利に利用されるので、アクセス周波数が減少する。
【００４２】
前記参照符号６００のフィルタリング順序に関し、ブロック（４×４ピクセル）で左側、右側及び上側のエッジが順次にフィルタリングされる。例えば、ブロックＦに対してエッジ１０、エッジ１２及びエッジ１３が順次にフィルタリングされる。また、前記ブロックの下側エッジ（ブロックＦのエッジ２１）はバッファに保存され、下側ブロックの上側エッジ（例えば、ブロックＪの上側エッジであるエッジ２１）としてフィルタリングされる。
【００４３】
前記ブロックＦのエッジについてのフィルタリング過程は、次の通りである。第１に、ブロックＥについてのエッジフィルタリングの間に、ブロックＥ，Ｆからのピクセル値を使用して左側エッジ１０がフィルタリングされる。ブロックＥの上側エッジ１１をフィルタリングするために、ブロックＥのピクセルについての新たな値が左側レジスタにアップデートされる。ブロックＦのピクセルの新たな値が右側レジスタにアップデートされる。
第２に、前記ブロックＧのピクセル値が現在バッファからフィルタリングのためのエンジンに送信される。
【００４４】
第３に、前記エンジンを通じて、ブロックＦ及びブロックＧを使用して右側エッジ１２についてのフィルタリング動作が行われる。ブロックＦについての新たなピクセル値が左側レジスタにアップデートされ、ブロックＧについての新たなピクセル値が右側レジスタに保存される。
【００４５】
第４に、ブロックＢのピクセル値が上側バッファから上側レジスタにローディングされる。
【００４６】
第５に、前記エンジンを通じて、ブロックＢ及びブロックＦを利用して上側エッジ１３についてのフィルタリング動作が行われる。前記ブロックＢについてのピクセル値が上側レジスタにアップデートされ、ブロックＦについての新たなピクセル値が左側レジスタにアップデートされる。
【００４７】
第６に、下側エッジ２１は、前記ブロックＪのエッジフィルタリング動作中にフィルタリングされる。
【００４８】
したがって、保存する必要なくまたはメモリから呼び出す必要なく、新たなピクセル値を計算した後でレジスタのアップデートが起きるため、以前に参照されたピクセル値は保存される必要がないか、またはメモリからアクセスされる必要がない。前記フィルタリングロジックは簡単であり、前記メモリアクセス周波数の減少及びブロック基盤単位のさらに小さいフィルタリングの使用によって、前記フィルタリング時間は短縮される。前記フィルタリング順序は、それぞれ輝度、赤色彩度及び青色彩度に定義されうるということが分かる。すなわち、前記輝度フィルタリングは、前記赤色及び青色彩度フィルタリングに先立つか、または続くか、または途中に発生する一方、前記赤色彩度フィルタリングは、前記青色彩度フィルタリング、前記輝度フィルタリングまたは両方に先立つか、または続いて発生する。したがって、前記開示されたブロックフィルタリング順序は、４：１：１ Ｙ／Ｃｂ／Ｃｒ形式だけでなく多様なその他のブロック形態に適用されうる。
【００４９】
図７は、本発明の代表的な実施形態によるデブロッキングフィルタを示すブロックダイヤグラムである。前記デブロッキングフィルタ７００は、前記現在のＭＢの再構成されたデータを保存するためにバッファまたは現在のメモリ７１０を備える。前記バッファ７１０は、フィルタリング部７１２と連結されて信号を送受信して、前記フィルタリング部７１２に現在のデータＣＵＲＲ＿ＤＡＴＡ及びＭＢ開始信号ＭＢ＿ＳＴＡＲＴを伝達する。前記フィルタリング部７１２は、エンジン７１４、レジスタブロック７１６及びＦＳＭ ７１８を備える。前記フィルタリング部７１２の前記ＦＳＭ７１８は、現在のデータ制御部７２０と連結されて信号を送受信して、前記現在のデータ制御部７２０にＦＳＭ状態及びカウントを提供する。前記現在のデータ制御部７２０は、前記現在のメモリ７１０と順次に連結されて信号を送受信して、前記現在のメモリ７１０にメモリ制御信号ＳＲＡＭ＿ＣＯＮＴＲＯＬを提供する。フィルタリングは、前記再構成されたデータ（予測値＋残りの値）が前記現在のメモリ７１０に保存されるときに行われる。
【００５０】
前記フィルタリング部７１２は、ＢＳ（ｆｉｌｔｅｒｉｎｇ Ｂｏｕｎｄａｒｙ Ｓｔｒｅｎｇｔｈ）発生部７２２と連結されて信号を送受信して、前記ＢＳ発生部７２２に前記ＦＳＭ状態、カウント及びフラッグを提供する。前記ＢＳ発生部７２２は、ＱＰ（Ｑｕａｎｔｉｚａｔｉｏｎ Ｐａｒａｍｅｔｅｒ ｏｆ ｎｅｉｇｈｂｏｒ ｂｌｏｃｋ）メモリ７２４に順次に連結されて信号を送受信する。前記ＢＳ発生部７２２は、前記フィルタリング部７１２とさらに連結されて信号を送受信して、前記フィルタリング部７１２にパラメータを提供する。前記フィルタリング部７１２は、隣接の制御部７２６とさらに連結されて信号を送受信して、前記ＦＳＭ ７１８から前記隣接の制御部７２６にＦＳＭ状態及びカウントを提供する。前記隣接の制御部７２６は、隣接の４×４ブロックの保存のために、隣接のメモリまたはバッファ７２８と連結されて信号を送受信する。前記隣接のメモリ７２８は、前記隣接の制御部７２６からメモリまたはＳＲＡＭ制御信号を受信する。前記隣接のメモリ７２８は、前記フィルタリング部７１２と連結されて信号を送受信して、前記フィルタリング部７１２に第１隣接のデータを提供し、前記フィルタリング部７１２から第２隣接のデータを受信する。
【００５１】
前記ＢＳ発生部７２２は、前記隣接の制御部７２６、上側制御部７３０及びＤＭＡ（Ｄｉｒｅｃｔ Ｍｅｍｏｒｙ Ａｃｃｅｓｓ）制御部７３４とさらに連結されて信号を送受信して、前記制御部にパラメータを提供する。前記フィルタリング部７１２は、前記上側制御部７３０と連結されて信号を送受信して、前記上側制御部７３０にＦＳＭ状態及びカウントを提供する。また、前記フィルタリング部７１２は、前記ＤＭＡ制御部７３４と連結されて信号を送受信して、前記ＤＭＡ制御部７３４にＦＳＭ状態、カウント及び彩度フラッグを提供する。前記上側制御部７３０は、上側メモリ７３２と連結されて信号を送受信して、前記上側メモリ７３２にＳＲＡＭ制御信号を提供する。前記上側メモリ７３２は、前記フィルタリング部７１２と連結されて信号を送受信して、前記フィルタリング部７１２に第１上側データＴＯＰ＿ＤＡＴＡ１を提供し、前記フィルタリング部７１２から第２上側データＴＯＰ＿ＤＡＴＡ２を受信する。前記第１上側データＴＯＰ＿ＤＡＴＡ１及び第２上側データＴＯＰ＿ＤＡＴＡ２は、垂直フィルタリングのためのものである。前記ＤＭＡ制御部７３４は、ＤＭＡメモリ７３６と連結されて信号を送受信して、前記ＤＭＡメモリ７３６にＳＲＡＭ制御信号を提供する。また、前記フィルタリング部７１２は、前記ＤＭＡメモリ７３６と連結されて信号を送受信して、前記ＤＭＡメモリ７３６にフィルタリングされたデータＦＩＬＴＥＲＥＤ＿ＤＡＴＡを提供する。前記上側メモリ７３２及び前記ＤＭＡメモリ７３６は、それぞれスイッチング部７３８と連結されて信号を送受信し、前記スイッチング部７３８は、ＤＭＡバスインターフェース７４０に順次に連結されて信号を送受信して、前記ＤＭＡバスインターフェース７４０にフィルタリングされたデータを提供する。したがって、前記フィルタリングされたデータは、前記ＤＭＡバスインターフェース７４０を経てＤＭＡへ伝送される。
【００５２】
図８は、本発明の代表的な実施形態によるパイプラインデブロッキングフィルタの構造を示す図面である。前記パイプラインの構造８００は、前記フィルタリング時間をさらに短縮するために、前記フィルタリング順序と結合されうる。前記デブロッキングフィルタは、４×４ブロックステップ８０１及び４×１ピクセルステップ８０２に階層的にパイプライン構成される。
【００５３】
前記４×４ブロックパイプラインステップ８０１は、図７のＦＳＭ ７１８に応答する。前記パイプラインの構造８００は、第１ブロックのプリフェッチ及びＢＳ算出ステップ８１０を含み、前記ステップ８１０により、隣接のデータが図７の隣接のバッファ７２８からレジスタにプリフェッチされ、現在のデータが前記現在のバッファ７１０から読み取られ、ピクセル値の発生により前記ＢＳフィルタリングパラメータが算出される。
【００５４】
第１ブロックのフィルタ及び保存ステップ８１２は、前記第１ブロックのプリフェッチ及びＢＳ算出ステップ８１０にオーバーラップされる。前記第１ブロックのフィルタ及び保存ステップ８１２は、フィルタリングを行い、レジスタをアップデートし、これによる結果をバッファメモリに保存する。前記第１ブロックのプリフェッチ及びＢＳ算出ステップ８１０が完了した後、第２ブロックのプリフェッチ及びＢＳ算出ステップ８１４が行われ、その他のブロックについてのステップ８１５が行われる。前記第１ブロックのフィルタ及び保存ステップ８１２が完了した後、第２ブロックのフィルタ及び保存ステップ８１６が行われ、その他のブロックについてのステップ８１８が行われる。前記第２ブロックのプリフェッチ及びＢＳ算出ステップ８１４は、前記第１ブロックのフィルタ及び保存ステップ８１２、及び第２ブロックのフィルタ及び保存ステップ８１６両方にオーバーラップされる。
【００５５】
前記４×１ピクセルエッジパイプラインステップ８０２は、前記図７のエンジン７１４に応答する。前記４×１ピクセルエッジパイプラインステップ８０２は、第１ ４×４ブロックの第１ ４×１カラムピクセルをプリフェッチングするために、第１４×１ピクセルのプリフェッチステップ８２０を含む。前記第１ブロックの第１カラムについてのアルファ、ベータ及びＴＣ０パラメータを算出するために、前記ステップ８２０以後に第１ ４×１ピクセルの算出ステップ８２２が行われる。そして、前記第１ ４×４ブロックの第１ ４×１カラムをフィルタリングして保存するために、前記ステップ８２２以後に第１ ４×１ピクセルのフィルタ及び保存ステップ８２４が行われる。
【００５６】
前記ピクセルエッジパイプラインステップ８０２は、前記ステップ８２２にオーバーラップされる第２ ４×１ピクセルのプリフェッチステップ８３０をさらに含む。また、前記ステップ８２４にオーバーラップされる第２ ４×１ピクセルの算出ステップ８３２をさらに含み、前記ステップ８３２に続いて第２ ４×１ピクセルのフィルタ及び保存ステップ８３４をさらに含む。
【００５７】
また、前記ピクセルエッジパイプラインステップ８０２は、前記ステップ８３２にオーバーラップされる第３ ４×１ピクセルのプリフェッチステップ８４０をさらに含み、前記ステップ８３４にオーバーラップされる第３ ４×１ピクセルの算出ステップ８４２をさらに含み、前記ステップ８４２に続いて第３ ４×１ピクセルのフィルタ及び保存ステップ８４４をさらに含む。
【００５８】
また、前記ピクセルエッジパイプラインステップ８０２は、前記ステップ８４２にオーバーラップされる第４ ４×１ピクセルのプリフェッチステップ８５０をさらに含み、前記ステップ８４４にオーバーラップされる第４ ４×１ピクセルの算出ステップ８５２をさらに含み、前記ステップ８５２に続いて第４ ４×１ピクセルのフィルタ及び保存ステップ８５４をさらに含む。
【００５９】
前記４×１ピクセルステップ８０２の前記プリフェッチステップ８２０、その以後の前記算出ステップ８２２及び前記プリフェッチステップ８３０は、いずれも前記４×４ブロックステップ８０１の第２プリフェッチステップ８１４の間に行われる。前記フィルタ及び保存ステップ８２４、算出ステップ８３２及びプリフェッチステップ８４０は、前記算出ステップ８２２及び前記プリフェッチステップ８３０以後に行われ、前記ステップは、いずれも前記ブロックステップ８０１の前記第２フィルタリングステップ８１６の間にパイプライン方式で行われる。
【００６０】
動作面で、前記４×４ブロックステップのフィルタリングステップの間に、パイプライン方式で前記４×１ピクセルステップ８０２のプリフェッチステップ、パラメータ算出ステップ及びフィルタリング、保存ステップが行われるため、前記フィルタリング時間は非常に短縮される。前記パイプラインデブロッキングフィルタ及び前記新規なフィルタリング順序は、前記フィルタリング時間を非常に短縮させる。例えば、前記輝度フィルタリング以後、前記彩度フィルタリングが行われる。したがって、単に一つのフィルタリング回路のみが要求されるので、ハードウェアサイズを減少させることができる。
【００６１】
フィルタリング以後、新たなピクセル値が対応するレジスタにアップデートされる。前記図６を参照すれば、メインケースがエッジ２、エッジ３、エッジ５などにより例示される。このとき、現在の（上側）レジスタの新たなピクセル値は、前記現在の（上側）レジスタにアップデートされる。そして、隣接のレジスタの新たなピクセル値は、前記隣接のレジスタにアップデートされる。
【００６２】
垂直フィルタリング以後、エッジ４、エッジ６、エッジ１２のような水平にフィルタリングされるエッジがそれぞれ別途に計算される。例えば、エッジ４の場合について、現在のレジスタの新たなピクセル値（ブロックＢ）が隣接のレジスタにアップデートされる。このとき、前記ブロックＣのピクセル値が現在のメモリからローディングされる。エッジ３をフィルタリングしてエッジ４をフィルタリングする前に、前記隣接のレジスタは、ブロックＡのピクセル値を保存する。したがって、３２個のエッジのうち８個のエッジ（エッジ４，６，１２，１４，２０，２２，２８，３０）がこの方法で計算される。
【００６３】
図９は、本発明の代表的な実施形態によるフィルタ回路を示すブロックダイヤグラムである。前記フィルタ回路９００は、エンジン９１２と連結されて信号を送受信するＦＳＭ ９１０を備える。前記ＦＳＭ ９１０は、ＭＢ開始信号ＭＢ＿ＳＴＡＲＴを受信し、彩度フラッグＣＨＲＯＭＡ＿ＦＬＡＧ、ＦＳＭカウントＩＮ ＦＳＭ＿ＣＮＴ、ラインカウントＬＩＮＥ＿ＣＮＴ及びＦＳＭ状態ＦＳＭ＿ＳＴＡＴＥ信号を提供する。前記ＦＳＭ ９１０は、マルチプレクサ９１４の制御入力端にさらに連結されて信号を送受信する。
【００６４】
前記マルチプレクサ９１４は、第１隣接のデータＮＥＩＧ＿ＤＡＴＡ１、第１上側データＴＯＰ＿ＤＡＴＡ１または現在のデータＣＵＲＲＥＮＴ＿ＤＡＴＡを受信し、一回に前記データタイプのうちいずれか一つのデータをレジスタ９１６に提供する。前記レジスタ９１６は、出力スイッチ９１８と順次に連結されて信号を送受信して、前記出力スイッチ９１８に第２隣接のデータＮＥＩＧ＿ＤＡＴＡ２、第２上側データＴＯＰ＿ＤＡＴＡ２またはフィルタリングされたデータＦＩＬＴＥＲＥＤ＿ＤＡＴＡを提供する。前記エンジン９１２は、ＢＳパラメータＢＳ．ＰＡＲＡＭＥＴＥＲ信号を受信するための入力端と、前記レジスタ９１６から現在隣り及び現在のピクセルｐ，ｑを受信するための入力端とを備え、アップデートされた隣り及びピクセルｐ´，ｑ´を前記レジスタ９１６に出力する出力端を備える。
【００６５】
ここで、ＭＢ開始信号ＭＢ＿ＳＴＡＲＴ及びＭＢ終了信号ＭＢ＿ＥＮＤは、それぞれＭＢフィルタリング開始及び終了を知らせるフラッグであり、前記ＦＳＭ ９１０の出力は、前記終了信号ＭＢ＿ＥＮＤを有する。彩度フラッグＣＨＲＯＭＡ＿ＦＬＡＧは、輝度または彩度を示すためのフラッグである。前記ＦＳＭ状態ＦＳＭ＿ＳＴＡＴＥ信号は、前記ＦＳＭ ９１０の出力であり、１６×１６ＭＢで現在４×４ブロックの水平位置を示すための信号である。
【００６６】
前記ＦＳＭカウントＩＮ ＦＳＭ＿ＣＮＴは、ブロックで４×１ピクセルパイプラインステップが終了されたか否かを示す信号である。前記ラインカウントＬＩＮＥ＿ＣＮＴは、ＭＢでブロックの垂直位置を示すための信号である。
【００６７】
前記第１隣接のデータＮＥＩＧ＿ＤＡＴＡ１は、現在のＭＢの水平フィルタリングのための４×１ピクセルの隣接のデータである。前記第２隣接のデータＮＥＩＧ＿ＤＡＴＡ２は、以後のＭＢの水平フィルタリングのためにバッファに保存するための４×１ピクセルデータである。
【００６８】
前記第１上側データＴＯＰ＿ＤＡＴＡ１は、現在ブロックの垂直フィルタリングのための４×４上側データである。前記第２上側データＴＯＰ＿ＤＡＴＡ２は、以後のブロックの垂直フィルタリングのためにバッファに保存されるための４×４ピクセルデータである。前記現在データＣＵＲＲＥＮＴ＿ＤＡＴＡは、現在の４×１ピクセルデータである。前記フィルタリングされたデータＦＩＬＴＥＲＥＤ＿ＤＡＴＡは、フィルタリングが完了した４×１ピクセルデータである。ｐ，ｐ´は、それぞれ前後にフィルタリングされる隣接の４×１ピクセルデータである。ｑ，ｑ´は、それぞれ前後にフィルタリングされる現在の４×１ピクセルデータである。レジスタは、レジスタアレイを備える。エンジンは、前記ＦＳＭの状態によってフィルタリング動作を行う。
【００６９】
図１０は、本発明の代表的な実施形態によるフィルタ及びそれに組み合わせられたブロックを示すブロックダイヤグラムである。前記フィルタ回路１０００は、マルチプレクサ１０１０から現在の隣接のピクセルｐ及びマルチプレクサ１０１１から現在のピクセルｑを受信するエンジン１０１２を備える。前記エンジン１０１２は、マルチプレクサ１０１３及びマルチプレクサ１０１４とそれぞれ連結されて信号を送受信する。前記マルチプレクサ１０１３は、４×４ブロックの第２レジスタアレイ１０１６と連結されて信号を送受信し、前記４×４ブロックの第２レジスタアレイ１０１６は、マルチプレクサ１０１８と連結されて信号を送受信する。
【００７０】
前記マルチプレクサ１０１８は、第２隣接のデータＮＥＩＧ＿ＤＡＴＡ２を隣接のメモリ１０２０に提供し、前記隣接のメモリ１０２０は、前記マルチプレクサ１０１０に他の隣接のデータＮＥＩＧ＿ＤＡＴＡ１を提供する。前記４×４ブロックの第２レジスタアレイ１０１６は、上側メモリ１０２２とさらに連結されて信号を送受信し、前記上側メモリ１０２２は、マルチプレクサ１０２４と連結されて信号を送受信する。前記マルチプレクサ１０２４は、４×４ブロックの第１レジスタアレイ１０２６と順次に連結されて信号を送受信する。前記第１レジスタアレイ１０２６は、マルチプレクサ１０２８と連結されて信号を送受信し、前記マルチプレクサ１０２８は、バスインターフェース１０３０と連結されて信号を送受信し、前記バスインターフェース１０３０にフィルタリングされたデータを提供する。前記バスインターフェース１０３０は、ＤＭＡメモリと連結されて信号を送受信して、前記ＤＭＡメモリにジブロックされた出力ＤＥＢＬＯＣＫ＿ＯＵＴを提供する。
【００７１】
前記フィルタ回路１０００は、再構成されたデータＲＥＣＯＮ＿ＤＡＴＡを受信するために一対の現在のメモリ１０３２をさらに備える。前記現在のメモリ１０３２は、それぞれマルチプレクサ１０３４と連結されて信号を送受信し、前記マルチプレクサ１０３４は、前記マルチプレクサ１０１１と順次に連結されて信号を送受信して、前記マルチプレクサ１０１１に現在のデータＣＵＲＲ＿ＤＡＴＡを提供する。
【００７２】
前記現在のメモリ１０３２は、ＦＳＭ １０３６とさらに連結されて信号を送受信して、前記ＦＳＭの４×４ブロックパイプライン構造１０３６で開始信号ＭＢ＿ＳＴＡＲＴを提供する。前記ＦＳＭ １０３６は、制御部１０３８と連結されて信号を送受信して、前記制御部１０３８にＦＳＭ状態ＦＳＭ＿ＳＴＡＴＥ、ラインカウントＬＩＮＥ＿ＣＮＴ及び彩度フラッグＣＨＲＯＭＡ＿ＦＬＡＧ信号を提供し、前記制御部１０３８から前記４×１ピクセルパイプラインについてのＦＳＭカウントＩＮ ＦＳＭ＿ＣＮＴ信号を受信する。前記ＦＳＭ状態ＦＳＭ＿ＳＴＡＴＥ、ラインカウントＬＩＮＥ＿ＣＮＴ、彩度フラッグＣＨＲＯＭＡ＿ＦＬＡＧ及びＦＳＭカウントＩＮ ＦＳＭ＿ＣＮＴ信号に応答してマルチプレクサを制御するために、前記制御部１０３８は、各マルチプレクサ１０１０，１０１１，１０１４，１０１８，１０２４，１０２８，１０３４の制御入力端に連結されて信号を送受信する。
【００７３】
動作面で、前記開始信号ＭＢ＿ＳＩＧＮＡＬは、前記再構成されたデータＲＥＣＯＮ＿ＤＡＴＡが前記現在のメモリ１０３２に保存されてフィルタリングが始まるときに発生する。前記ＦＳＭ １０３６は、４×１パイプライン制御部１０３８からＦＳＭカウントＩＮ ＦＳＭ＿ＣＮＴ信号を受信し、前記４×１ピクセルパイプラインステップが終了されたかをチェックする。前記フィルタリングエンジンが輝度及び彩度に対して共有されるため、前記彩度フラッグＣＨＲＯＭＡ＿ＦＬＡＧ信号が使われる。前記エンジンによりフィルタリングされたデータは、前記バスインターフェースを通じてメモリまたはＤＭＡへ伝送される。
【００７４】
図１１は、本発明の代表的な実施形態によるパイプライン構造ブロックについてのタイミング図である。参照番号１１００のタイミング図は、ＨＣＬＫ，ＭＢ＿ＳＴＡＲＴ，ＬＩＮＥ＿ＣＮＴ，ＦＳＭ，ＩＮＦＳＭ＿ＣＮＴ，ＦＩＬＴＥＲＩＮＧ＿ＯＮ，ＢＳ，ＡＬＰＨＡ／ＢＥＴＡ／ＴＣ０，ｐ，ｑ，ＦＩＬＴＥＲＳＡＭＰＬＥＦＬＡＧ，ＦＩＬＴＥＲＥＤ＿ｐ及びＦＩＬＴＥＲＥＤ＿ｑ信号それぞれに対する相対的なタイミングを示す。
【００７５】
前記タイミング図１１００は、４×４ブロックパイプラインステップをさらに示す。前記ステップは、第１ブロックについてのプリフェッチ及びＢＳ算出ステップ１１１０、前記第１ブロックについてのフィルタリングを行ってフィルタリング結果を保存するステップ１１１２、前記ステップ１１１０，１１１２にオーバーラップされ、前記第１ブロックについてのＡＬＰＨＡ，ＢＥＴＡ及びＴＣ０パラメータを算出するステップ１１１４、第２ブロックについてのプリフェッチ及びＢＳ算出ステップ１１２０、前記第２ブロックについてのフィルタリングを行ってフィルタリング結果を保存するステップ１１２２、前記ステップ１１２０，１１２２にオーバーラップされ、前記第２ブロックについてのＡＬＰＨＡ，ＢＥＴＡ及びＴＣ０パラメータを算出するステップ１１２４、第３ブロックについてのプリフェッチ及びＢＳ算出ステップ１１３０、前記第３ブロックについてのフィルタリングを行ってフィルタリング結果を保存するステップ１１３２、及び前記ステップ１１３０，１１３２にオーバーラップされ、前記第３ブロックについてのＡＬＰＨＡ，ＢＥＴＡ及びＴＣ０パラメータを算出するステップ１１３４を含む。
【００７６】
また、前記第２ブロックについてのステップ１１２０は、前記第１ブロックについてのステップ１１１２，１１１４にオーバーラップされる。また、前記第２ブロックについてのステップ１１２４は、前記第１ブロックについてのステップ１１１２にオーバーラップされ、前記第３ブロックについてのステップ１１３０は、前記第２ブロックについてのステップ１１２２にオーバーラップされる。
【００７７】
図１２は、本発明の代表的な実施形態によるフィルタリング方法を示すフローチャートである。ＭＢは、輝度部分１２０２、第１彩度部分１２０４及び第２彩度部分１２０６から構成され、垂直エッジは、ｍ＝０の左側エッジから始め、水平エッジは、ｎ＝０の上側エッジから始める。
【００７８】
前記フィルタリング方法１２００は、彩度＝ＮＯ、ｍ＝０及びｎ＝０に初期化する開始ブロック１２１０を含む。前記開始ブロック１２１０は、前記ＭＢのｍ＝０の垂直４×４ブロックエッジをフィルタリングする機能ブロック１２１２を制御する。前記機能ブロック１２１２は、前記ＭＢのｍ＝１の垂直４×４ブロックエッジをフィルタリングする機能ブロック１２１４を制御する。前記機能ブロック１２１４は、機能ブロック１２１６を制御する。前記機能ブロック１２１６は、前記ＭＢのｍ＝０の水平４×４ブロックエッジをフィルタリングし、判断地点１２１７を制御する。
【００７９】
前記判断地点１２１７は、前記ブロックが彩度ブロックであるか否かを判断し、もし彩度ブロックであれば機能ブロック１２１８を制御する。前記ブロックが彩度ブロックでない場合には、機能ブロック１２２０を制御する。前記機能ブロック１２２０は、前記ＭＢのｍ＝２の垂直４×４ブロックエッジをフィルタリングし、前記機能ブロック１２１８を制御する。前記機能ブロック１２１８は、前記ＭＢのｍ＝１の第２水平エッジをフィルタリングし、判断地点１２２２を制御する。
【００８０】
前記判断地点１２２２は、前記ブロックが彩度ブロックであるか否かを判断し、もし彩度ブロックであれば判断地点１２２４を制御する。前記判断地点１２２４は、このブロックが前記ＭＢの最後のブロックであるか否かを判断し、もし最後のブロックであれば終了ブロック１２２６を制御し、そうでない場合には、前記判断地点１２２４は、判断地点１２２５を制御する。
【００８１】
前記判断地点１２２５は、ｎ＝１であるか否かを判断し、ｎ＝１である場合、ｎ＝０にリセットする。ｎ＝１でない場合、ｎを１増加させる。前記判断地点１２２５以後、前記機能ブロック１２１２が制御される。一方、前記判断地点１２２２が前記現在のブロックを彩度ブロックでないと判断した場合、機能ブロック１２２８を制御する。前記機能ブロック１２２８は、前記ＭＢのｍ＝３の垂直４×４ブロックエッジをフィルタリングし、前記機能ブロック１２３０を制御する。前記機能ブロック１２３０は、前記ＭＢのｍ＝２の第３水平エッジをフィルタリングし、機能ブロック１２３２を制御する。前記機能ブロック１２３２は、順次に前記ＭＢのｍ＝３の第４水平エッジをフィルタリングし、判断地点１２３４を制御する。
【００８２】
前記判断地点１２３４は、ｎ＝３であるか否かを判断し、ｎ＝３である場合、ｎ＝０にリセットし、彩度＝ｙｅｓにセッティングする。ｎ＝３でない場合、ｎを１増加させる。前記判断地点１２３４後に、前記機能ブロック１２１２が制御される。
【００８３】
前述した本発明の実施形態及びその利点は、前述した内容に基盤してこれに関連する一般的な技術により確認されうる。例えば、前述した本発明の実施形態を参照として、前記フィルタリング時間をさらに短縮させるために輝度及び彩度フィルタリングが並列に行われる実施形態が可能である。また、輝度フィルタリングは、前記赤色及び青色彩度フィルタリングに先立つか、または続くか、または途中に行われる一方、前記赤色彩度フィルタリングは、前記青色彩度フィルタリング、輝度フィルタリングまたは両方に先立つか、または続いて行われうる。また、本発明によるブロックフィルタリング順序は、代表的な４：１：１ Ｙ／Ｃｂ／Ｃｒ形式だけでなくその他の多様なブロック形態に適用されうる。また、Ｈ．２６４／ＡＶＣによるＭＢに対する効率的なエッジフィルタリング順序が開示されたが、その他の形態のデータに適用されうる。
【００８４】
前記本発明の実施形態は、ハードウェア、ソフトウェア、ファームウェア、特殊目的のプロセッサまたはそれらの組み合わせなど多様な形態で具現されうる。また、前記ソフトウェアは、望ましくは、プログラム保存装置で具体化された応用プログラムで行われうる。前記応用プログラムは、適した構造を有するマシンにアップロードされるか、または前記マシンにより行われうる。さらに望ましくは、前記マシンは、一つまたはそれ以上のＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）、ＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）、入出力インターフェースなどのハードウェアを備えるコンピュータプラットフォームで具現されうる。前記コンピュータプラットフォームは、また、動作システム及びマイクロ命令コードを備える。
【００８５】
前述した多様な処理及び機能は、ＣＰＵにより行われる前記マイクロ命令コードまたは前記応用プログラムまたはそれらの組み合わせの一部でありうる。また、追加のデータ保存部及びディスプレイ部などその他の周辺装置が前記コンピュータプラットフォームに連結されうる。本発明の特徴によってプログラムされる限り、システム要素の間または前記機能ブロックの間の実際連結は変わりうる。
【００８６】
本発明は、図面に示した一実施形態を参考にして説明されたが、これは、例示的なものに過ぎず、当業者であれば、これから多様な変形及び均等な他の実施形態が可能であるという点を理解できるであろう。したがって、本発明の真の技術的保護範囲は、特許請求の範囲の技術的思想により決まらねばならない。
【産業上の利用可能性】
【００８７】
本発明は、ビデオエンコーダ及びデコーダ関連の技術分野に適用可能である。
【図面の簡単な説明】
【００８８】
【図１】インループのデブロッキングフィルタを備えるエンコーダを概略的に示すブロック図である。
【図２】インループのデブロッキングフィルタを備え、図１のエンコーダと使用可能なデコーダを概略的に示すブロック図である。
【図３】後処理のデブロッキングフィルタを備えるデコーダを概略的に示すブロック図である。
【図４】Ｈ．２６４／ＡＶＣ規格のコーデックで、インループのデブロッキングフィルタを備えるコーデックを概略的に示すブロック図である。
【図５】Ｈ．２６４／ＡＶＣ規格によるフィルタリング順序に関するデータダイヤグラムである。
【図６】本発明の代表的な実施形態によるＨ．２６４／ＡＶＣ規格に要求されるフィルタリング順序に関するデータダイヤグラムである。
【図７】本発明の代表的な実施形態によるデブロッキングフィルタを示すブロックダイヤグラムである。
【図８】本発明の代表的な実施形態によるパイプラインデブロッキングフィルタの構造を示す図面である。
【図９】本発明の代表的な実施形態によるフィルタ回路を示すブロックダイヤグラムである。
【図１０】本発明の代表的な実施形態によるフィルタ及びそれに組み合わせられたブロックを示すブロックダイヤグラムである。
【図１１】本発明の代表的な実施形態によるパイプライン構造ブロックについてのタイミング図である。
【図１２】本発明の代表的な実施形態によるフィルタリング方法を示すフローチャートである。
【符号の説明】
【００８９】
７００    デブロッキングフィルタ
７１０    現在のメモリ
７１２    フィルタリング部
７１４    エンジン
７１６    レジスタブロック
７１８    ＦＳＭ
７２０    現在のデータ制御部
７２２    ＢＳ発生部
７２４    ＱＰメモリ
７２６    隣接の制御部
７２８    隣接のメモリ
７３０    上側制御部
７３２    上側メモリ
７３４    ＤＭＡ制御部
７３６    ＤＭＡメモリ
７３８    スイッチング部
７４０    ＤＭＡバスインターフェース
【図１】
2006157925.tif 000003
【図２】
2006157925.tif 000004
【図３】
2006157925.tif 000005
【図４】
2006157925.tif 000006
【図５】
2006157925.tif 000007
【図６】
2006157925.tif 000008
【図７】
2006157925.tif 000009
【図８】
2006157925.tif 000010
【図９】
2006157925.tif 000011
【図１０】
2006157925.tif 000012
【図１１】
2006157925.tif 000013
【図１２】
2006157925.tif 000014