(57)【特許請求の範囲】
【請求項１】
画像のブロック境界（２０）の連続画素と関連付けられたブロッキングアーチファクトを低減する方法であって、
第１のブロックから少なくとも連続する２つの画素（４１、４２）及び隣接ブロックから少なくとも連続する２つの画素（４５、４６）を選択するステップ（Ｓ１）と、
ここで、前記第１のブロック及び前記隣接ブロックは、ブロック境界（２０）に隣接し、当該ブロック境界に対して対向するように配置され、前記画素は前記ブロック境界（２０）に対して垂直となる画素（４１、４２、４３、４５、４６、４７）のラインを形成する；
前記第１のブロックにおける前記２つの画素（４１、４２）と前記隣接ブロックの前記２つの画素（４５，４６）に対する第１のオフセットを算出するステップ（Ｓ２）と、
前記第１のオフセットを第１の閾値と比較するステップ（Ｓ３）と、
ａｂｓ［第１のオフセット］＜第１の閾値の場合、前記画素に対してフィルタリングを適用することにより、前記第１のブロック（２１）の前記連続する２つの画素（４１、４２）のそれぞれの画素値及び前記隣接ブロック（２２）の前記連続する２つの画素（４５、４６）のそれぞれの画素値を変更し（Ｓ４）、
ａｂｓ［第１のオフセット］＞＝第１の閾値の場合、前記第１のブロック（２１）の１個の画素（４１）の画素値及び前記隣接ブロック（２２）の１個の画素（４５）の画素値を当該画素に対してフィルタリングを適用することで変更する、又は、フィルタを全く適用しないことで前記画素値を変更しないステップ（Ｓ５）と、
を有することを特徴とする方法。
【請求項２】
前記第１のオフセットに基づいて、前記ブロック境界（２０）に隣接して配置された少なくとも前記２つの画素（４１、４５）のそれぞれの画素値を変更するステップ（Ｓ４０、Ｓ５０）とを有し、
ａｂｓ［第１のオフセット］＜第１の閾値の場合、前記ブロック境界（２０）から１画素離れて配置された２つの画素（４２、４６）のそれぞれの画素値は、それぞれ第２のオフセット及び第３のオフセットに基づいて変更される（Ｓ４１）ことを特徴とする請求項１に記載の方法。
【請求項３】
前記選択するステップは、第１のブロックから連続する３つの画素（４１、４２、４３）及び前記隣接ブロックから連続する３つの画素（４５、４６、４７）を選択するステップ（Ｓ１）を含み、
前記算出するステップ中、前記第１のオフセットは、前記ブロック境界に最近接して配置された各ブロックの前記２つの画素のそれぞれの画素値に基づいており、ａｂｓ［第１のオフセット］＜第１の閾値の場合の前記変更するステップ（Ｓ４）は、
前記第１のオフセットに基づいて前記ブロック境界（２０）に隣接して配置された前記２つの画素（４１、４５）のそれぞれの画素値を変更するステップ（Ｓ４０）と、
前記第１のブロックの前記３つの画素（４１、４２、４３）のそれぞれの画素値及び前記第１のオフセットに基づく第２のオフセット、並びに前記隣接ブロックの前記３つの画素（４５、４６、４７）のそれぞれの画素値及び前記第１のオフセットに基づく第３のオフセットにそれぞれ基づいて、前記ブロック境界（２０）から１画素離れて配置された前記２つの画素（４２、４６）のそれぞれの画素値を変更するステップと（Ｓ４１）とを含むことを特徴とする請求項１又は２に記載の方法。
【請求項４】
前記第１のオフセットは、（９＊（ｑ0−ｐ0）−３＊（ｑ1−ｐ1））／１６に基づく近似値として算出される、
式中、ｐ0は前記第１のブロック（２１）の、前記ブロック境界（２０）に隣接して配置された前記画素（４１）の画素値であり、
ｐ1は前記第１のブロック（２１）の、前記ブロック境界（２０）から１画素離れて配置された前記画素（４２）の画素値であり、
ｑ0は前記隣接ブロック（２２）の、前記ブロック境界（２０）に隣接して配置された前記画素（４５）の画素値であり、
ｑ1は前記隣接ブロック（２２）の、前記ブロック境界（２０）から１画素離れて配置された前記画素（４６）の画素値である、
ことを特徴とする請求項１乃至３のいずれか１項に記載の方法。
【請求項５】
前記第１のブロック（２１）の、前記ブロック境界（２０）に隣接して配置された前記画素（４１）の前記画素値ｐ0の前記変更は、前記第１のオフセットを前記画素値ｐ0に加算することで実行され、
前記隣接ブロック（２２）の、前記ブロック境界（２０）に隣接して配置された前記画素（４５）の画素値ｑ0の前記変更は、前記画素値ｑ0から前記第１のオフセットを減算することで実行されることを特徴とする請求項４に記載の方法。
【請求項６】
前記第１のオフセットを算出するステップ（Ｓ２）は、＞＞が右シフト演算を示すとした場合に、（９×（ｑ0−ｐ0）−３×（ｑ1−ｐ1）＋８）＞＞４に等しくなるように前記第１のオフセットを算出するステップを含むことを特徴とする請求項４又は５に記載の方法。
【請求項７】
前記第１のブロック及び前記隣接ブロックそれぞれに割り当てられた量子化パラメータ値に依存する第２の閾値であるｔCについて、前記第１のオフセットが−ｔCより小さい場合に−ｔCに等しくなるように前記第１のオフセットを設定し、且つ前記第１のオフセットがｔCより大きい場合にｔCに等しくなるように前記第１のオフセットを設定することにより、−ｔCとｔCとの間隔内になるように前記第１のオフセットをクリップするステップを更に備えることを特徴とする請求項６に記載の方法。
【請求項８】
前記第１のブロック（２１）の、前記ブロック境界（２０）から１画素離れて配置された前記画素（４２）の前記画素値ｐ1の前記変更は、
（ｐ0＋ｐ2−２＊ｐ1＋２＊（第１のオフセット））／４に基づく近似値として算出される第２のオフセットを前記画素値ｐ1に加算することで実行される、
式中、ｐ2は画素（４１、４２、４３、４５、４６、４７）の前記ラインに沿って前記ブロック境界（２０）から２画素離れて配置された前記第１のブロック（２１）の前記画素（４３）の画素値であり、
前記隣接ブロック（２２）の、 前記ブロック境界（２０）から１画素離れて配置された前記画素（４６）の前記画素値ｑ1の前記変更は、
（ｑ0＋ｑ2−２＊ｑ1−２＊（第１のオフセット））／４に基づく近似値として算出される第３のオフセットをそれぞれの画素値に加算することで実行される
式中、ｑ2は画素（４１、４２、４３、４５、４６、４７）の前記ラインに沿って前記ブロック境界（２０）から２画素離れて配置された前記隣接ブロック（２２）の前記画素（４７）の画素値である
ことを特徴とする請求項４乃至７のいずれか１項に記載の方法。
【請求項９】
前記第２のオフセットを算出するステップは、
＞＞が右シフト演算を示す場合に、（（（ｐ2＋ｐ0＋１）＞＞１）−ｐ1＋第１のオフセット）＞＞１に等しくなるように前記第２のオフセットを算出するステップを含み、
前記第３のオフセットを算出するステップは、
（（（ｑ2＋ｑ0＋１）＞＞１）−ｑ1−第１のオフセット）＞＞１に等しくなるように前記第３のオフセットを算出するステップを含む
ことを特徴とする請求項８に記載の方法。
【請求項１０】
前記第１のブロック及び前記隣接ブロックそれぞれに割り当てられた量子化パラメータ値に依存する閾値であるｔC2に対し、
前記第２のオフセットが−ｔC2より小さい場合に−ｔC2に等しくなるように前記第２のオフセットを設定し、且つ前記第２のオフセットがｔC2より大きい場合にｔC2に等しくなるように前記第２のオフセットを設定することにより、−ｔC2とｔC2との間隔内にあるように前記第２のオフセットをクリップするステップと、
前記第３のオフセットが−ｔC2より小さい場合に−ｔC2に等しくなるように前記第３のオフセットを設定し、且つ前記第３のオフセットがｔC2より大きい場合にｔC2に等しくなるように前記第３のオフセットを設定することにより、−ｔC2とｔC2との間隔内に前記第３のオフセットをクリップするステップと
を更に備えることを特徴とする請求項８又は９に記載の方法。
【請求項１１】
前記第１の閾値の値は、前記第１のブロック及び前記隣接ブロックそれぞれに割り当てられた少なくとも１つの量子化パラメータ値に基づいて判定されることを特徴とする請求項４乃至１０のいずれか１項に記載の方法。
【請求項１２】
異なる量子化パラメータ値が前記第１のブロック及び前記隣接ブロックの各々に割り当てられ、前記第１の閾値は、前記第１のブロック及び前記隣接ブロックに割り当てられた量子化パラメータ値に基づき決定される、
ここで、前記閾値の値は、
最大量子化パラメータ値、又は
量子化パラメータ値の平均値
のうちのいずれかに基づいて判定されることを特徴とする請求項１１に記載の方法。
【請求項１３】
前記第１の閾値の値は、事前定義済みの乗算値と乗算されたｄｅｌｔａクリッピング値として判定されることを特徴とする請求項７乃至１０のいずれか１項に記載の方法。
【請求項１４】
クリッピング動作の前に導出された前記第１のオフセットの絶対値が、前記第１の閾値との比較に使用されることを特徴とする請求項７乃至１０のいずれか１項に記載の方法。
【請求項１５】
画像のブロック境界（２０）の連続画素と関連付けられたブロッキングアーチファクトを低減するデブロッキングフィルタユニット（６０）であって、
第１のブロックから少なくとも連続する２つの画素（４１、４２）及び隣接ブロックから少なくとも連続する２つの画素（４５、４６）を選択するように構成された画素選択器（６１）と、
ここで、前記第１のブロック及び前記隣接ブロックは、ブロック境界（２０）に隣接し、当該ブロック境界に対して対向するように配置され、前記画素は前記ブロック境界（２０）に対して垂直な画素（４１、４２、４３、４５、４６、４７）のラインを形成する；
前記第１のブロックの前記２つの画素（４１，４２）と前記隣接ブロックの前記２つの画素（４５，４６）に対する第１のオフセットを算出するように構成されたオフセット算出器（６２）と、
前記第１のオフセットを第１の閾値と比較するように構成されたオフセット評価器（６３）と、
前記オフセット評価器（６３）にてａｂｓ［第１のオフセット］＜第１の閾値と評価された場合、前記画素に対してフィルタリングを適用することにより、前記第１のブロック（２１）からの前記連続する２つの画素（４１、４２）のそれぞれの画素値、及び、前記隣接ブロック（２２）からの前記連続する２つの画素（４５、４６）のそれぞれの画素値を変更し、
前記オフセット評価器（６３）にて、ａｂｓ［第１のオフセット］＞＝第１の閾値と評価された場合、前記第１のブロック（２１）からの１個の画素（４１）の画素値、及び、前記隣接ブロック（２２）からの１個の画素（４５）の画素値を当該画素に対してフィルタリングを適用することで変更する、又は、フィルタを全く適用しないことで前記画素値を変更しない画素値変更器（６４）と
を有することを特徴とするデブロッキングフィルタユニット（６０）。
【請求項１６】
前記画素値変更器（６４）は、前記第１のオフセットに基づいて前記ブロック境界（２０）に隣接して配置された少なくとも前記２つの画素（４１、４５）のそれぞれの画素値を変更するように更に構成され、
ａｂｓ［第１のオフセット］＜第１の閾値であると前記オフセット評価器（６３）により判定される場合、前記画素値変更器（６４）は、それぞれ第２のオフセット及び第３のオフセットに基づいて前記ブロック境界（２０）から１画素離れて配置された前記２つの画素（４２、４６）のそれぞれの画素値を変更するように更に構成されることを特徴とする請求項１５に記載のデブロッキングフィルタユニット（６０）。
【請求項１７】
前記画素選択器（６１）は、第１のブロックから連続する３つの画素（４１、４２、４３）及び前記隣接ブロックから連続する３つの画素（４５、４６、４７）を選択するように構成され、
前記オフセット算出器（６２）は、各ブロックの、前記ブロック境界に最近接して配置された前記２つの画素のそれぞれの画素値に基づいて前記第１のオフセットを算出するように構成され、
ａｂｓ［第１のオフセット］＜第１の閾値であると前記オフセット算出器（６２）により判定された場合、前記画素値変更器（６４）は、前記第１のオフセットに基づいて前記ブロック境界（２０）に隣接する前記２つの画素（２１、２５）のそれぞれの画素値を変更し、且つそれぞれ第２のオフセット及び第３のオフセットに基づいて前記ブロック境界（２０）から１画素離れて配置された前記２つの画素（４２、４６）のそれぞれの画素値を変更するように構成され、
前記オフセット算出器（６２）は、前記第１のブロックの前記３つの画素（４１、４２、４３）のそれぞれの画素値及び前記第１のオフセットに基づいて前記第２のオフセットを導出し、且つ前記隣接ブロックの前記３つの画素（４５、４６、４７）のそれぞれの画素値及び前記第１のオフセットに基づいて前記第３のオフセットを導出するように更に構成される
ことを特徴とする請求項１５又は１６に記載のデブロッキングフィルタユニット（６０）。
【請求項１８】
前記オフセット算出器（６２）は、（９＊（ｑ0−ｐ0）−３＊（ｑ1−ｐ1））／１６に基づく近似値として前記第１のオフセットを算出するように構成される、
この式中、ｐ0は前記第１のブロック（２１）の、前記ブロック境界（２０）に隣接して配置された前記画素（４１）の画素値であり、
ｐ1は前記第１のブロック（２１）の、前記ブロック境界（２０）から１画素離れて配置された前記画素（４２）の画素値であり、
ｑ0は前記隣接ブロック（２２）の、前記ブロック境界（２０）に隣接して配置された前記画素（４５）の画素値であり、
ｑ1は前記隣接ブロック（２２）の、前記ブロック境界（２０）から１画素離れて配置された前記画素（４６）の画素値である
ことを特徴とする請求項１５乃至１７のいずれか１項に記載のデブロッキングフィルタユニット（６０）。
【請求項１９】
前記画素値変更器（６４）は、前記第１のオフセットを前記画素値ｐ0に加算することで、前記第１のブロック（２１）の、前記ブロック境界（２０）に隣接して配置された前記画素（４１）の前記画素値ｐ0を変更し、且つ画素値ｑ0から前記第１のオフセットを減算することで、前記隣接ブロック（２２）の、前記ブロック境界（２０）に隣接して配置された前記画素（４５）の前記画素値ｑ0を変更するように構成されることを特徴とする請求項１８に記載のデブロッキングフィルタユニット（６０）。
【請求項２０】
前記オフセット算出器（６２）は、＞＞が右シフト演算を示す場合に、（９×（ｑ0−ｐ0）−３×（ｑ1−ｐ1）＋８）＞＞４に等しくなるよう前記第１のオフセットを算出するように構成されることを特徴とする請求項１８又は１９に記載のデブロッキングフィルタユニット（６０）。
【請求項２１】
それぞれのブロックに割り当てられた量子化パラメータ値に依存する第２の閾値であるｔCについて、前記第１のオフセットが−ｔCより小さい場合に−ｔCに等しくなるように前記第１のオフセットを設定し、前記第１のオフセットがｔCより大きい場合にｔCに等しくなるように前記第１のオフセット設定することにより、−ｔCとｔCとの間隔内にあるよう前記第１のオフセットをクリップするように構成されたクリッピングユニット（６５）を更に備えることを特徴とする請求項２０に記載のデブロッキングフィルタユニット（６０）。
【請求項２２】
前記画素値変更器（６４）は、第２のオフセットを画素値ｐ1に加算することで、前記第１のブロック（２１）の、前記ブロック境界（２０）から１画素離れて配置された前記画素（４２）の画素値ｐ1を変更するように構成され、
前記オフセット算出器（６２）は、（ｐ0＋ｐ2−２＊ｐ1＋２＊（第１のオフセット））／４に基づく近似値として前記第２のオフセットを算出するように構成される、
この式中、ｐ2は前記第１のブロック（２１）の、画素（４１、４２、４３、４５、４６、４７）のラインに沿って前記ブロック境界（２０）から２画素離れて配置された前記画素（４３）の画素値であり、
前記画素値変更器（６４）は、第３のオフセットをそれぞれの画素値に加算することで、前記隣接ブロック（２２）の、前記ブロック境界（２０）から１画素離れて配置された前記画素（４６）の前記画素値ｑ1を変更するように更に構成され、
前記オフセット算出器（６２）は、（ｑ0＋ｑ2−２＊ｑ1−２＊（第１のオフセット））／４に基づく近似値として前記第３のオフセットを算出するように更に構成される、
この式中、ｑ2は前記隣接ブロック（２２）の、前記画素（４１、４２、４３、４５、４６、４７）のラインに沿って前記ブロック境界（２０）から２画素離れて配置された前記画素（４７）の画素値である
ことを特徴とする請求項１８乃至２１のいずれか１項に記載のデブロッキングフィルタユニット（６０）。
【請求項２３】
前記オフセット算出器（６２）は、＞＞が右シフト演算を示す場合、（（（ｐ２＋ｐ０＋１）＞＞１）−ｐ１＋第１のオフセット）＞＞１に等しいように前記第２のオフセットを算出し、（（（ｑ２＋ｑ０＋１）＞＞１）−ｑ１−第１のオフセット）＞＞１に等しいように前記第３のオフセットを算出するように構成されることを特徴とする請求項２２に記載のデブロッキングフィルタユニット（６０）。
【請求項２４】
それぞれのブロックに割り当てられた量子化パラメータ値に依存する閾値であるｔC2について、前記クリッピングユニット（６５）は、前記第２のオフセットが−ｔC2より小さい場合に−ｔC2に等しくなるように前記第２のオフセットを設定し且つ前記第２のオフセットがｔC2より大きい場合にｔC2に等しくなるように前記第２のオフセットを設定することにより、−ｔC2とｔC2との間隔内にあるように前記第２のオフセットをクリップし、
且つ前記第３のオフセットが−ｔC2より小さい場合に−ｔC2に等しくなるように前記第３のオフセットを設定し且つ前記第３のオフセットがｔC2より大きい場合にｔC2に等しくなるように前記第３のオフセットを設定することにより、−ｔC2とｔC2との間隔内の前記第３のオフセットをクリップするように構成される
ことを特徴とする請求項２２又は２３に記載のデブロッキングフィルタユニット（６０）。
【請求項２５】
前記オフセット算出器（６２）は、前記クリッピング動作の実行が前記画素値変更器（６４）により実行される前に、前記第１のオフセット、前記第２のオフセット及び前記第３のオフセットを推定することを特徴とする請求項２４に記載のデブロッキングフィルタユニット（６０）。
【請求項２６】
請求項１５乃至２５のいずれか１項に記載のデブロッキングフィルタユニット（６０）を備えることを特徴とする符号器（９０）。
【請求項２７】
請求項１５乃至２５のいずれか１項に記載のデブロッキングフィルタユニット（６０）を備えることを特徴とする復号器（１００）。
【請求項２８】
ユーザ機器（１１００ａ）であって、
符号化画像を格納するように構成されたメモリ（１１０２）と、
前記符号化画像を復号化画像に復号化するように構成された請求項２７に記載の復号器（１００）と、
前記復号化画像をディスプレイ（１１０３）上に表示可能な画像データにレンダリングするように構成されたメディアプレーヤ（１１０１）と、
を備えることを特徴とするユーザ機器（１１００ａ）。
【請求項２９】
画像を符号化画像に符号化し、且つＩ／Ｏユニット（１１０４）を介して前記符号化画像を受信エンティティに提供するように構成された請求項２６に記載の符号器（１００）を備えることを特徴とするユーザ機器（１１００ｂ）。
【請求項３０】
送出ユニット（１２０２）と受信ユーザ機器（１２０３）との間に画像を分配でき、且つ請求項２６に記載の符号器（９０）及び／又は請求項２７記載の復号器（１００）を備える通信ネットワーク（１２０１）におけるネットワークノードとなる、あるいは、それに属することを特徴とするネットワーク装置（１２００）。
【請求項３１】
画像のブロック境界（２０）の連続画素と関連付けられたブロッキングアーチファクトを低減するコンピュータプログラム（７４）であって、コンピュータ（７０）上で実行される場合に、
第１のブロックから少なくとも連続する２つの画素（４１、４２）及び隣接ブロックから少なくとも連続する２つの画素（４５、４６）を選択し、
ここで、前記第１のブロック及び前記隣接ブロックは、ブロック境界（２０）に隣接し、当該ブロック境界に対して対向するように配置され、前記画素は前記ブロック境界（２０）に対して垂直となる画素（４１、４２、４３、４５、４６、４７）のラインを形成する；
前記第１のブロックの前記２つの画素（４１，４２）と、前記隣接ブロックの前記２つの画素（４５，４６）に対する第１のオフセットを算出し、
前記第１のオフセットを第１の閾値と比較し、
ａｂｓ［第１のオフセット］＜第１の閾値の場合に、前記画素に対して通常のフィルタリングを適用することにより、前記第１のブロック（２１）からの前記連続する２つの画素（４１、４２）のそれぞれの画素値及び前記隣接ブロック（２２）からの前記連続する２つの画素（４５、４６）のそれぞれの画素値を変更し、
ａｂｓ［第１のオフセット］＞＝第１の閾値の場合に、前記第１のブロック（２１）からの１個の画素（４１）の画素値及び前記隣接ブロック（２２）からの１個の画素（４５）のそれぞれの画素値を当該画素に対してフィルタリングを適用することで変更する、又は、フィルタリングを全く適用しないでことで変更しない
ことを前記コンピュータに実行させるためのコンピュータプログラム（７４）。
【請求項３２】
請求項３１に記載のコンピュータプログラム（７４）を格納したことを特徴とするコンピュータプログラム記憶媒体（７３）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブロック境界におけるブロッキングアーチファクトを低減するデブロッキングフィルタリングに関する。
【背景技術】
【０００２】
デブロッキングフィルタは、ブロッキングアーチファクトを抑制するために映像符号化規格において使用される。元の映像は、相対的に個別に処理されるブロックに分割されるため、ブロッキングアーチファクトが発生する。ブロッキングアーチファクトは、ブロックの種々のイントラ予測、量子化効果及び動き補償のために発生しうる。デブロッキングの２つの特定の変形例を以下に説明する。
１）Ｈ．２６４デブロッキング：
Ｈ．２６４等の最新の映像符号化において、後続フレームを符号化又は復号化する場合に後で参照するために、予測及び残差再構成の後であるが再構成の格納前に、ループフィルタとも示される適応デブロッキングフィルタがある。デブロッキングフィルタリングは、フィルタ決定、フィルタリング動作、クリッピング関数及び画素値の変化等のいくつかのステップから構成される。境界をフィルタリングするか否かは、いくつかの条件の評価に基づいて決定される。一般にフィルタ決定は、マクロブロック（ＭＢ）の種類、隣接ブロック間の動きベクトル（ＭＶ）の差分、隣接ブロックが残差を符号化したか、並びに現在のブロック及び／又は隣接ブロックの局所構造に依存する。
【０００３】
画素に対するフィルタリングの量は、特に、ブロックボーダー、すなわちブロック境界と比較した画素の位置及び残差符号化のために使用された量子化パラメータ（ＱＰ）値に依存する。
【０００４】
フィルタ決定は、３つの画素差分と３つの閾値との比較に基づく。閾値は、量子化パラメータ（ＱＰ）値に適応される。例えば、以下の垂直ブロック境界を仮定する。
ａｂｃｄ｜ｅｆｇｈ
ここで、ａ、ｂ、ｃ及びｄは、現在のブロックにおける画素の行の画素の画素値を示し、ｅ、ｆ、ｇ及びｈは、隣接ブロックにおける画素の対応する行の画素の対応する画素値を示す。以下の条件を満たす場合、フィルタ決定は肯定となる。例えばａｂｓ（ｄ−ｅ）＜ｔｈｒ１、ａｂｓ（ｃ−ｄ）＜ｔｈｒ２及びａｂｓ（ｅ−ｆ）＜ｔｈｒ２である。ここで、ｔｈｒ１及びｔｈｒ２はＱＰに基づいて適応される。同様に水平ブロック境界を処理できる。
【０００５】
Ｈ．２６４において２つのフィルタリングモードがある。通常のフィルタリングと呼ばれる第１のフィルタリングモードにおいて、フィルタリングは、フィルタリングが現在の値を変更するｄｅｌｔａ値で示される。ブロック境界に最近接する画素に対するフィルタリングは、以下の通りである。
ｄ’＝ｄ＋ｄｅｌｔａ及びｅ’＝ｅ−ｄｅｌｔａ
式中、ｄｅｌｔａはＱＰにより制限される値に対する閾値ｔｈｒ３にクリップされている。小さいＱＰより大きいＱＰに対しての方が更なるフィルタリングが可能である。
【０００６】
クリッピングは、以下の通り示される。
ｄｅｌｔａ＿ｃｌｉｐｐｅｄ＝ｍａｘ（−ｔｈｒ３，ｍｉｎ（ｔｈｒ３，ｄｅｌｔａ））式中、ｔｈｒ３＞＝０である。
式中、ｔｈｒ３はフィルタ強度を制御している。ｔｈｒ３のより大きな値はフィルタリングがより強いことを意味し、これは、より強いローパスフィルタリング効果が発生することを意味する。
【０００７】
フィルタ強度は、以下の２つの条件のいずれかを更に満足する場合にフィ増加できる。たとえば、ａｂｓ（ｂ−ｄ）＜ｔｈｒ２及びａｂｓ（ｅ−ｇ）＜ｔｈｒ２
フィルタ強度は、ｄｅｌｔａをより小さくクリップすることで、例えば更なる変形を可能にすることで適応される。
【０００８】
強いフィルタリングと呼ばれる第２のフィルタリングモードが、以下の条件を満たす場合に、マクロブロック内境界にのみ適用される。
ａｂｓ（ｄ−ｅ）＜ｔｈｒ１／４
Ｈ．２６４におけるデブロッキングフィルタリングの更なる情報については、Ｌｉｓｔ他のＡｄａｐｔｉｖｅ  Ｄｅｂｌｏｃｋｉｎｇ  Ｆｉｌｔｅｒ、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｖｉｄｅｏ  Ｔｅｃｈｎｏｌｏｇｙ、ｖｏｌ．１３、ｎｏ．７、２００３年７月を参照されたい。
【０００９】
２）ＨＥＶＣデブロッキング：
当技術分野において既知であるように、映像フレームは、種々の使用可能なイントラ符号化モード及びインター符号化モードに従って符号化及び復号化される画素のオーバーラップしないブロックに分割される。
【００１０】
一般に映像フレームは、１６×１６画素のオーバーラップしないマクロブロックに分割される。そのようなマクロブロックは、４×４画素又は８×８画素等の異なるサイズの、より小さなブロックに更に分割される。しかし、説明される方法は、例えば４×８、８×４、８×１６又は１６×８画素として配置された矩形ブロックにも適用されてもよい。実施形態は、画素のマクロブロック又はより大きなブロックを含む画素のそのようなあらゆるブロックに適用可能である。
【００１１】
新しい高効率映像符号化（ＨＥＶＣ）規格において、符号化単位（ＣＵ）、予測単位（ＰＵ）及び変換単位（ＴＵ）が使用される。予測単位は、符号単位内部で規定され、イントラ予測モード又はインター予測モードを含む。変換単位は符号単位内部で規定され、最大変換サイズが３２×３２画素及び最小サイズが４×４画素である。現在、ＣＵのサイズは、６４×６４画素（最大）から８×８画素（最小）の間で変動している。このように、最大ＣＵは、フレームの局所的な特徴に依存する「粒度のレベル」を有するより小さなＣＵに分割される。これは、最大ＣＵが種々のサイズのより小さなＣＵに分割されてもよいことを意味する。
【００１２】
ＨＥＶＣにおいて最大符号化単位（ＬＣＵ）と呼ばれる大きなブロックは、Ｈ．２６４における通常のマクロブロックと同様に左から右に走査される。各ＬＣＵは、４つのより小さな符号化単位（ＣＵ）に分割されてもよく、４分木方法で階層的に再度分割されてもよい。規定された符号化単位に対する最小サイズもあり、これらのブロックを最小符号化単位（ＳＣＵ）と呼ぶ。
【００１３】
ＣＵは、予測の種類（例えば、イントラ予測又はインター予測）を有する。ＣＵは、予測単位及び変換単位と呼ばれる２つの構造の根でもある。ＣＵ内部の各予測単位は、他のＰＵの予測とは異なる自身の予測（例えば、別個の動きベクトル又はイントラ予測方向）を有してよい。ＣＵは、１つのＰＵ（ＣＰと同一のサイズを有する）を含むことができるか、あるいは最大４つのＰＵに更に分割される。これらのＰＵは、正方形又は矩形の形状を有することができる（この場合、垂直及び水平のＰＵの大きさは異なる）。一例として、４つの８×８の予測単位ブロック（ＰＵ）を作成する１回分割される１６×１６のサイズのＣＵがあってもよい。ＣＵの符号化の種類がイントラ符号化である場合、ＰＵは種々のイントラ予測モードを有してもよい。ＣＵの符号化の種類がインター符号化である場合、ＰＵは種々の動きベクトルを有してもよい。
【００１４】
ＣＵをルート（根）として有する変換４分木もある。結果として得られるブロックを変換単位（ＴＵ）と呼ぶ。一例として、８×８のＴＵに分割される１６×１６のサイズのＣＵがあってもよい。次に、８×８のＴＵのうちの１つが４×４のＴＵに分割される。その後、各ＴＵは、８×８又は４×４の変換で変換される。根ＴＵが分割されなかった場合、１６×１６の変換が使用されたと考えられる。変換は、正方形でない（矩形）形状を有してもよい。
【００１５】
草案ＨＥＶＣ（高効率映像符号化）仕様書「Ｔｅｓｔ  Ｍｏｄｅｌ  ｕｎｄｅｒ  Ｃｏｎｓｉｄｅｒａｔｉｏｎ」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３文書、ＪＣＴＶＣ−Ｂ２０５、第６．５章のＩｎ−ｌｏｏｐ  ｆｉｌｔｅｒ  ｐｒｏｃｅｓｓにおいて、デブロッキングフィルタはＨ．２６４とは異なる方法で動作する。境界側のブロックのうちの少なくとも１つがイントラ符号化であるか、あるいは非ゼロ係数を有する場合、又はブロックの動きベクトル成分間の差分が１整数画素以上である場合、フィルタリングは実行される。例えば、以下の垂直ブロック境界により２つのブロック間のボーダーをフィルタリングする場合、
ｐ３i ｐ２i ｐ１i ｐ０i ｜ ｑ０i ｑ１i ｑ２i ｑ３i
ｐｊiは、現在のブロックにおける行番号ｉの画素番号ｊの画素値を示し、ｑｊiは、隣接ブロックにおける行番号ｉの画素番号ｊの画素値を示し、ｉ＝０．．．７、ｊ＝０．．．３であり、以下の条件も満足すべきである。
ｄ＝｜ｐ２2−２×ｐ１2＋ｐ０2｜＋｜ｑ２2−２×ｑ１2＋ｑ０2｜＋
｜ｐ２5−２×ｐ１5＋ｐ０5｜＋｜ｑ２5−２×ｑ１5＋ｑ０5｜＜β
式中、βはＱＰに依存する。上述のＨＥＶＣ仕様書では、ＱＰと共に増加するβのテーブルがある。
【００１６】
所定の条件を満たし且つ現在のブロックと隣接ブロックとの間でフィルタリングが行われる場合、それぞれ弱いフィルタリング及び強いフィルタリングと呼ばれる２つの種類のフィルタリングのうちの１つが実行される。強いフィルタリング及び弱いフィルタリングは、以下の条件に依存してライン行毎に個別に選択される。
【００１７】
ラインｉ＝０．．．７毎に、以下の全ての条件が真である場合に強いフィルタリングが実行され、以下の全ての条件が真でない場合には弱いフィルタリングが実行される。
ｄ＜（β＞＞２）
（｜ｐ３i−ｐ０i｜＋｜ｑ０i−ｑ３i｜）＜（β＞＞３）
｜ｐ０i−ｑ０i｜＜（（５×ｔC＋１）＞＞１）
式中、ｔC及びβはＱＰに依存し、＞＞は右シフト演算子を示す。
【００１８】
上述のＨＥＶＣ仕様書において言及された２つのフィルタリングモード、すなわち弱いフィルタリング及び強いフィルタリングは、以下のように説明される。
【００１９】
弱いフィルタリング：
弱いフィルタリングは、上述の条件に基づいて実行される。実際のフィルタリングは、オフセット（offset)を算出し、それを元の画素値に加算し、且つその和を０〜２５５の範囲のフィルタリングされた出力画素値にクリップすることで動作する。
ｏｆｆｓｅｔ＝Ｃｌｉｐ（−ｔC，ｔC，（１３×（ｑ０i−ｐ０i）＋４×（ｑ１i−ｐ１i）−５×（ｑ２i−ｐ２i）＋１６）＞＞５））
ｐ０i＝Ｃｌｉｐ0-255（ｐ０i＋ｏｆｆｓｅｔ）
ｑ０i＝Ｃｌｉｐ0-255（ｑ０i−ｏｆｆｓｅｔ）
ｐ１i＝Ｃｌｉｐ0-255（ｐ１i＋ｏｆｆｓｅｔ／２）
ｑ１i＝Ｃｌｉｐ0-255（ｑ１i−ｏｆｆｓｅｔ／２）
ここで、クリップ関数Ｃｌｉｐ（Ａ，Ｂ，ｘ）は、ｘ＜Ａの場合にＣｌｉｐ（Ａ，Ｂ，ｘ）＝Ａ、ｘ＞Ｂの場合にＣｌｉｐ（Ａ，Ｂ，ｘ）＝Ｂ、Ａ＜＝ｘ＜＝Ｂの場合にＣｌｉｐ（Ａ，Ｂ，ｘ）＝ｘとして規定され、Ｃｌｉｐ0-255（ｘ）はＣｌｉｐ（０，２５５，ｘ）として規定される。
【００２０】
強いフィルタリング：
強いフィルタリングモードは、以下の演算の集合により実行される。
ｐ０i＝Ｃｌｉｐ0-255（（ｐ２i＋２×ｐ１i＋２×ｐ０i＋２×ｑ０i＋ｑ１i＋４）＞＞３）
ｑ０i＝Ｃｌｉｐ0-255（（ｐ１i＋２×ｐ０i＋２×ｑ０i＋２×ｑ１i＋ｑ２i＋４）＞＞３）
ｐ１i＝Ｃｌｉｐ0-255（（ｐ２i＋ｐ１i＋ｐ０i＋ｑ０i＋２）＞＞２）
ｑ１i＝Ｃｌｉｐ0-255（（ｐ０i＋ｑ０i＋ｑ１i＋ｑ２i＋２）＞＞２）
ｐ２i＝Ｃｌｉｐ0-255（（２×ｐ３i＋３×ｐ２i＋ｐ１i＋ｐ０i＋ｑ０i＋４）＞＞３）
ｑ２i＝Ｃｌｉｐ0-255（（ｐ０i＋ｑ０i＋ｑ１i＋３×ｑ２i＋２×ｑ３i＋４）＞＞３）
【００２１】
Ｈ．２６４フィルタリングにおいて、ブロック境界においてブロッキングアーチファクトがあるか、あるいはそれがブロック境界における自然なエッジであるかを判断するために、ａｂｓ（ｑ０−ｐ０）＜閾値（ＱＰ）が満たされるか否かのチェックがある。しかし、おそらく信号が傾斜したランプ（ramp）を想起させる場合にもデブロッキングフィルタリングが行われるために、そのようなチェックはＨＥＶＣ規格において言及されない。従って、そのようなチェックにより、それが自然なエッジ又はランプ(ramp)信号の変化の一部に関係があるものかはわからない。その結果、フィルタリングの量がクリッピング値により制限されるが、自然なエッジはデブロッキングフィルタにより更にフィルタリングされる。
【００２２】
従って、ブロック境界におけるブロッキングアーチファクトを低減するために使用可能であるが、上述の欠点を有さない効率的なブロッキングフィルタが必要である。
【発明の概要】
【００２３】
本明細書の目的は、上述の欠点に対処することである。より具体的には、ブロック境界に非常に近接して配置された画素の画素値を当該画素値間の相対的差異に依存して選択的に変更できるかあるいは変更しないまま維持できる方法及び関連する機器が提供される。提案された手法を適用する１つの利点は、２つの隣接ブロック間のブロック境界が自然なエッジであると考えられる状況において、ある特定の画素の変更の結果生じるフィルタリングの量が減少することである。
【００２４】
第１の態様によると、例えば映像フレーム等の画像のブロック境界の連続画素と関連付けられたブロッキングアーチファクトを低減する方法が提供される。前提条件として、第１のブロックから少なくとも２つの連続画素及び第２の隣接ブロックから少なくとも２つの連続画素が選択される。ここでブロックがブロック境界に対抗するように配置され、画素がブロック境界に対して垂直である画素のラインを形成するものとする。第１のオフセットは、ブロック境界に隣接して配置された各ブロックの２つの画素に対して算出され、その後第１の閾値と比較される。そのような比較の後、第１のブロックからのｎ個の連続画素のそれぞれの画素値及び隣接ブロックからのｍ個の連続画素のそれぞれの画素値は、ａｂｓ［第１のオフセット］＜第１の閾値の場合、これらの画素に対して通常のフィルタリングを適用することで変更される。
【００２５】
代わりにａｂｓ［第１のオフセット］＞＝第１の閾値の場合、第１のブロックからのｊ個の連続画素のそれぞれの画素値及び隣接ブロックからのｋ個の連続画素のそれぞれの画素値は、これらの画素に対して弱いフィルタリングを適用する、あるいはフィルタリングを全く適用せずに変更される。ここで、ｎ＞０、ｍ＞０  ｎ＞ｊ及びｍ＞＝ｋである。
【００２６】
一実施形態によると、第１のオフセットは、ブロック境界に最近接して配置された各ブロックの２つの画素のそれぞれの画素値に基づいており、ａｂｓ［第１のオフセット］＜第１の閾値の場合、ブロック境界に隣接して配置された各ブロックの画素のそれぞれの画素値は、第１のオフセットに基づいて変更される。
【００２７】
別の一実施形態によると、第１のオフセットに基づいてブロック境界に隣接する少なくとも２つの画素のそれぞれの画素値は、第１のオフセットと第１の閾値とを比較する前に無条件で変更され、ａｂｓ［第１のオフセット］＜第１の閾値の場合、ブロック境界から１画素離れて配置された２つの画素のそれぞれの画素値は、それぞれ第２のオフセット及び第３のオフセットに基づいて変更される。
【００２８】
提案された手法の１つの利点は、第１のオフセットがフィルタリング／変更処理の早い段階で算出されるために、限られた量の更なる算出しか必要とされないことである。この結果、ブロック境界から１画素離れて配置された画素の計算及び変更は、殆ど行われなくなる。
【００２９】
更に別の実施形態によると、３つの連続画素が最初の第１のブロックから選択され、３つの連続する画素が隣接ブロックから選択される。算出ステップ中、第１のオフセットは、ブロック境界に最近接して配置された各ブロックの２つの画素のそれぞれの画素値に基づく。そして、ａｂｓ［第１のオフセット］＜第１の閾値の場合、変更処理は、２つの変更ステップに分割される。すなわちブロック境界に隣接して配置された２つの画素のそれぞれの画素値が第１のオフセットに基づいて変更される。ブロック境界から１画素離れて配置された２つの画素のそれぞれの画素値は、第１のブロック及び第１のオフセットの選択された３つの画素のそれぞれの画素値に基づいている第２のオフセット、並びに隣接ブロック及び第１のオフセットの選択された３つの画素のそれぞれの画素値に基づいている第３のオフセットに基づいて変更される。
【００３０】
一実施形態によると、第１のオフセットは、ブロック境界に隣接して配置された２つの画素の画素値の予想された変更の推定値であり、これらの画素値が２つの画素値のデブロッキングフィルタリング中に推定される。これは、フィルタリング処理において使用されるオフセットの値がフィルタリング決定において再利用されるという利点を有する。
【００３１】
別の実施形態によると、第１のオフセットは、（９＊（ｑ0−ｐ0）−３＊（ｑ1−ｐ1））／１６に基づく近似値として算出される。式中、ｐ0はブロック境界に隣接して配置された第１のブロックの画素の画素値であり、ｐ1はブロック境界から１画素離れて配置された第１のブロックの画素の画素値であり、ｑ0はブロック境界に隣接して配置された隣接ブロックの画素の画素値であり、ｑ1はブロック境界から１画素離れて配置された隣接ブロックの画素の画素値である。
【００３２】
一実施形態によると、ブロック境界に隣接して配置された第１のブロックの画素の画素値ｐ0の変更は、第１のオフセットを画素値ｐ0に加算することで実行され、ブロック境界（２０）に隣接して配置された隣接ブロックの画素の画素値ｑ0の変更は、画素値ｑ0から第１のオフセットを減算することで実行される。
【００３３】
あるいは、第１のオフセットは、＞＞が右シフト演算を示す場合に、（９×（ｑ０−ｐ０）−３×（ｑ１−ｐ１）＋８）＞＞４に等しくなるように算出されてもよい。
【００３４】
別の一実施形態によると、クリッピングが適用されてもよい。このクリッピングでは、それぞれのブロックに割り当てられた量子化パラメータ値に依存する第２の閾値であるｔCについて、第１のオフセットは、第１のオフセットが−ｔCより小さい場合に−ｔCに等しくなるように前記第１のオフセットを設定し、且つ第１のオフセットが第２の閾値であるｔCより大きい場合にｔCに等しくなるように第１のオフセットを設定することにより、−ｔCとｔCとの間隔内にあるようにクリップされる。
【００３５】
ブロック境界から１画素離れて配置された第１のブロックの画素の画素値ｐ1の変更は、（ｐ0＋ｐ2−２＊ｐ1＋２＊（第１のオフセット））／４の近似値として算出される第２のオフセットをこの画素値ｐ1に加算することで実行される。この式中、ｐ2は画素の言及されたラインに沿ってブロック境界から２画素離れて配置された第１のブロックの画素の画素値である。そして、ブロック境界から１画素離れて配置された第２のブロックの画素の画素値ｑ1の変更は、（ｑ0＋ｑ2−２＊ｑ1−２＊（第１のオフセット））／４の近似値として算出される第３のオフセットをそれぞれの画素値に加算することで実行される。式中、ｑ2は画素の言及されたラインに沿ってブロック境界から２画素離れて配置された第２のブロックの画素の画素値である。
【００３６】
あるいは、第２のオフセットは、＞＞が右シフト演算を示す場合に、（（（ｐ２＋ｐ０＋１）＞＞１）−ｐ１＋第１のオフセット）＞＞１に等しいように算出されてもよく、第３のオフセットは、（（（ｑ２＋ｑ０＋１）＞＞１）−ｑ１−第１のオフセット）＞＞１に等しいように算出されてもよい。第２のオフセット及び第３のオフセットは、第１のオフセットのクリッピングに対応する方法でクリップされてもよい。
【００３７】
第１の閾値は、適切な値に選択されるべきであり、一実施形態に従ってそれぞれのブロックに割り当てられた少なくとも１つの量子化パラメータに基づいて判定されてもよい。そのような量子化パラメータ値は、各ブロックに割り当てられてもよく、第１の閾値は、閾値の値が最大量子化パラメータ値又は前記量子化パラメータ値の平均値のうちのいずれかに基づいて判定されるように、それぞれのブロックに割り当てられた量子化パラメータ値に基づいて判定されてもよい。
【００３８】
あるいは、第１の閾値の値は、事前定義済みの乗算値と乗算されたｄｅｌｔａクリッピング値として判定されてもよい。
【００３９】
クリッピングが適用される場合、クリッピング動作の前の第１のオフセットの絶対値は、第１のオフセットを第１の閾値と比較して使用されることが好ましい。
【００４０】
説明した方法は、映像フレームの処理に特に適しているが、同様に他の種類の画像を処理するためにも使用されてもよい。
【００４１】
別の態様によると、画像のブロック境界の連続画素と関連付けられたブロッキングアーチファクトを低減するのに適したデブロッキングフィルタユニットが更に提供される。デブロッキングフィルタユニットは、第１のブロックから少なくとも２つの連続画素及び第２の隣接ブロックから少なくとも２つの連続画素を選択するように構成された画素選択器を備える。ここでブロックはブロック境界の対向するように配置され、画素がブロック境界に対して垂直な画素のラインを形成する。デブロッキングフィルタユニットのオフセット算出器が、ブロック境界に隣接して配置された各ブロックの２つの画素に対する第１のオフセットを算出するように構成されるのに対し、オフセット評価器は、第１のオフセットを第１の閾値と比較するように構成される。更に画素値変更器は、オフセット評価器においてａｂｓ［第１のオフセット］＜第１の閾値の場合にそれぞれの画素に対して通常のフィルタリングを適用することにより、第１のブロックからのｎ個の連続画素のそれぞれの画素値及び隣接ブロックからのｍ個の連続画素のそれぞれの画素値を変更するか、あるいはオフセット評価器（６３）においてａｂｓ［第１のオフセット］＞＝第１の閾値の場合にそれぞれの画素に対して弱いフィルタリングを適用する又はフィルタリングを全く適用せずに、第１のブロックからのｊ個の連続画素のそれぞれの画素値及び第２のブロックからのｋ個の連続画素のそれぞれの画素値を変更するように構成される。ここで、ｎ＞０、ｍ＞０  ｎ＞＝ｊ及びｍ＞＝ｋである。
【００４２】
一実施形態によると、オフセット算出器は、ブロック境界に最近接して配置された各ブロックの２つの画素のそれぞれの画素値に基づいて第１のオフセットを算出するように構成され、画素値変更器は、ａｂｓ［第１のオフセット］＜第１の閾値の場合に第１のオフセットに基づいてブロック境界に隣接して配置された２つの画素の少なくともそれぞれの画素値を変更するように構成される。
【００４３】
画素値変更器は、第１のオフセットに基づいてブロック境界に隣接する少なくとも２つの画素のそれぞれの画素値を変更するように更に構成されてもよく、ａｂｓ［第１のオフセット］＜第１の閾値であるとオフセット評価器により判定される場合、画素値変更器は、それぞれ第２のオフセット及び第３のオフセットに基づいてブロック境界から１画素離れた２つの画素の画素値を変更するように構成される。
【００４４】
一実施形態によると、画素選択器は、第１のブロックから３つの連続画素及び隣接ブロックから３つの連続画素を選択するように構成され、オフセット算出器は、ブロック境界に最近接して配置された各ブロックの２つの画素のそれぞれの画素値に基づいて第１のオフセットを算出するように構成され、ａｂｓ［第１のオフセット］＜第１の閾値であるとオフセット算出器により判定される場合、画素値変更器は、第１のオフセットに基づいてブロック境界に隣接して配置された２つの画素のそれぞれの画素値を変更し、且つそれぞれ第２のオフセット及び第３のオフセットに基づいてブロック境界から１画素離れて配置された２つの画素のそれぞれの画素値を変更するように構成され、オフセット算出器は、第１のブロック及び前記第１のオフセットの前記３つの画素のそれぞれの画素値に基づいて第２のオフセットを導出し、且つ隣接ブロック及び第１のオフセットの３つの画素のそれぞれの画素値に基づいて第３のオフセットを導出するように更に構成される。
【００４５】
一実施形態によると、オフセット算出器は、ブロック境界に隣接して配置された２つの画素の画素値の予想された変更の推定値として第１のオフセットを推定するように構成され、これらの画素値は、２つの画素値のデブロッキングフィルタリング中に推定される。
【００４６】
別の実施形態によると、オフセット算出器は、代わりに、（９＊（ｑ0−ｐ0）−３＊（ｑ1−ｐ1））／１６に基づく近似値として第１のオフセットを算出するように構成され、式中、ｐ0はブロック境界に隣接して配置された第１のブロックの画素の画素値であり、ｐ1はブロック境界から１画素離れて配置された第１のブロックの画素の画素値であり、ｑ0はブロック境界に隣接して配置された隣接ブロックの画素の画素値であり、ｑ1はブロック境界から１画素離れて配置された隣接ブロックの画素の画素値である。
【００４７】
一実施形態によると、画素値変更器は、第１のオフセットを画素値ｐ0に加算することでブロック境界に隣接して配置された第１のブロックの画素の画素値ｐ0を変更し、且つ画素値ｑ0から第１のオフセットを減算することでブロック境界に隣接して配置された隣接ブロックの画素の画素値ｑ0を変更するように構成される。
【００４８】
あるいは、オフセット算出器は、＞＞が右シフト演算を示す場合に、第１のオフセットを、（９×（ｑ0−ｐ0）−３×（ｑ1−ｐ1）＋８＞＞４に等しいとして算出するように構成されてもよい。
【００４９】
更にデブロッキングフィルタユニットは、それぞれのブロックに割り当てられた量子化パラメータ値に依存する第２の閾値であるｔCについて、第１のオフセットが−ｔCより小さい場合に−ｔCに等しくなるように第１のオフセットを設定し、且つ第１のオフセットがｔCより大きい場合にｔCに等しくなるように第１のオフセット設定することにより、−ｔCとｔCとの間隔内にあるよう第１のオフセットをクリップするように構成されたクリッピングユニットを備えてもよい。
【００５０】
画素値変更器は、第２のオフセットを画素値ｐ1に加算することでブロック境界から１画素離れて配置された第１のブロックの画素の画素値ｐ1を変更するように更に構成されてもよく、オフセット算出器は、第２のオフセットが（ｐ0＋ｐ2−２＊ｐ1＋２＊（第１のオフセット））／４に等しいように第２のオフセットを算出するように構成される。式中、ｐ2は画素の言及されたラインに沿ってブロック境界から２画素離れて配置された第１のブロックの画素の画素値であり、画素値変更器は、第３のオフセットをこの画素値ｑ1に加算することでブロック境界から１画素離れて配置された第２のブロックの画素の画素値ｑ1を変更するように更に構成され、オフセット算出器は、（ｑ0＋ｑ2−２＊ｑ1−２＊（第１のオフセット））／４に基づく近似値として第３のオフセットを算出するように更に構成される。式中、ｑ2は画素の言及されたラインに沿ってブロック境界から２画素離れて配置された第２のブロックの画素の画素値である。
【００５１】
別の実施形態によると、オフセット算出器は、＞＞が右シフト演算を示す場合に、第２のオフセットを、（（（ｐ2＋ｐ0＋１）＞＞１）−ｐ1＋第１のオフセット）＞＞１に等しとして算出し、第３のオフセットを（（（ｑ2＋ｑ0＋１）＞＞１）−ｑ1−第１のオフセット）＞＞１に等しいとしてを算出するように構成される。
【００５２】
クリッピングユニットは、第１のオフセットをクリップすることに対応する方法で、第２のオフセット及び第３のオフセットをクリップするように更に構成されてもよい。
【００５３】
クリッピングが適用される場合、オフセット評価器は、比較演算（ａｂｓ［第１のオフセット］＜第１の閾値）を実行する際にクリッピングの前に第１のオフセットの値を使用するように構成される。クリッピングの前又は後の第１のオフセットの値は、第２のオフセット及び第３のオフセットを算出する場合に使用可能である。
【００５４】
更に別の態様によると、上述の実施形態のうちのいずれかに係るデブロッキングフィルタユニットを備える符号器が提供される。
【００５５】
別の態様によると、上述の実施形態のうちのいずれかに係るデブロッキングフィルタユニットを備える復号器が提供される。
【００５６】
別の態様によると、符号化画像を格納するように構成されたメモリと、符号化画像を復号化画像に復号化するように構成された上述の実施形態のうちのいずれかに係る復号器と、復号化画像をディスプレイ上に表示可能な画像データにレンダリングするように構成されたメディアプレーヤとを備えるユーザ機器が提供される。
【００５７】
更に別の態様によると、画像を符号化画像に符号化し且つＩ／Ｏユニットを介して符号化画像を受信エンティティに提供するように構成された上述の実施形態のうちのいずれかに係る符号器を備える別のユーザ機器が提供される。
【００５８】
別の態様によると、送出ユニットと受信ユーザ機器との間に画像を分配でき、且つ上述の実施形態のうちのいずれかに係る符号器及び／又は上述の実施形態のうちのいずれかに係る復号器（１００）を備える通信ネットワークにおけるネットワークノードであるかあるいはそれに属するネットワーク装置が提供される。
【００５９】
別の態様によると、画像のブロック境界（２０）の連続画素と関連付けられたブロッキングアーチファクトを低減するコンピュータプログラムであって、以下のコード手段を有するコンピュータプログラムが提供される。コンピュータ上で実行される場合に第１のブロックから少なくとも２つの連続画素及び隣接ブロックから少なくとも２つの連続画素を選択するコード手段を有する。ただし、ブロックがブロック境界に対向するように配置され、画素がブロック境界に対して垂直な画素のラインを形成する。また、ブロック境界に隣接して配置された各ブロックの２つの画素に対する第１のオフセットを算出し、第１のオフセットを第１の閾値と比較し、ａｂｓ［第１のオフセット］＜第１の閾値の場合にこれらの画素に対して通常のフィルタリングを適用することにより、第１のブロックからのｎ個の連続画素のそれぞれの画素値及び第２のブロックからのｍ個の連続画素のそれぞれの画素値を変更し、あるいはａｂｓ［第１のオフセット］＞＝第１の閾値の場合にこれらの画素に対して弱いフィルタリングを適用することにより又はフィルタリングを全く適用せずに、第１のブロックからのｊ個の連続画素のそれぞれの画素値及び第２のブロックからのｋ個の連続画素のそれぞれの画素値を変更するコード手段をゆする。ここで、ｎ＞０、ｍ＞０  ｎ＞＝ｊ及びｍ＞＝ｋである。
【００６０】
更に別の態様によると、上述したようなコンピュータ可読コード手段及びコンピュータプログラムを含むコンピュータプログラム製品が提供され、コンピュータ可読手段に格納可能である。
【００６１】
次に、上述の実施形態に関連する更なる詳細及び例を以下に更に詳細に説明する。
【００６２】
本発明の一般的な概念は、添付の図面と共に以下の説明を参照することにより、本発明の更なる目的及び利点と共に最もよく理解されるだろう。
【図面の簡単な説明】
【００６３】
【図１ａ】、
【図１ｂ】それぞれ自然なエッジ及びブロッキングアーチファクトを表す画素値を示す概略図である。
【図２ａ】、
【図２ｂ】は、それぞれ垂直又は水平に向けられたブロック境界により分離された画素の隣接ブロックの２つの実施形態を示す図である。
【図３ａ】、
【図３ｂ】、
【図３ｃ】種々の実施形態に係るブロッキングアーチファクトを低減する別の方法を示すフローチャートである。
【図４】垂直ブロック境界により分離された画素の行を示す図である。
【図５】一実施形態に係るオフセット値をクリップする方法を示すフローチャートである。
【図６】一実施形態に係るデブロッキングフィルタユニットを示す概略ブロック図である。
【図７】一実施形態に係るデブロッキングフィルタモジュールを含むコンピュータを示す概略図である。
【図８】図６のデブロッキングフィルタユニット又は図７のデブロッキングフィルタモジュールを示す別の概略図である。
【図９】一実施形態に係るデブロッキングフィルタユニットを含む符号化ユニットを示す概略図である。
【図１０】一実施形態に係るデブロッキングフィルタユニットを含む復号化ユニットを示す概略図である。
【図１１ａ】一実施形態に係る復号器及びデブロッキングフィルタユニットを備えるユーザ機器を示す概略図である。
【図１１ｂ】、別の実施形態に係る符号器及びデブロッキングフィルタユニットを備える別のユーザ機器を示す概略図である。
【図１２】一実施形態に係るデブロッキングフィルタユニットを備えた符号器及び／又は復号器を搭載した通信ネットワークにおけるネットワーク装置を示す概略図である。
【発明を実施するための形態】
【００６４】
図中、同一の図中符号は、同様の要素又は対応する要素に対して使用される。一般に実施形態は、一般的な例においては映像フレームであるピクチャにおいてブロック境界にわたりブロッキングアーチファクトを抑制するデブロッキングフィルタリングに関し、この場合、ブロックボーダーの第１の画素に対する既存のデブロッキングフィルタ機能を仮定する。画素値は、元の画素値を変更するオフセット又はｄｅｌｔａパラメータ（Δ）により変更される。オフセットがブロック境界の一方側でｄｅｌｔａ及びブロック境界の他方側で−ｄｅｌｔａであってもよいように、元の画素値がフィルタリング前にＡ及びフィルタリング後にＢである場合、オフセット又はｄｅｌｔａパラメータはＢ−Ａ又はＡ−Ｂである。本コンテキスト及び本明細書にわたり、境界という表現は、エッジ又はボーダーという表現に対応すべきである。
【００６５】
ｄｅｌｔａパラメータは、ブロック境界又は自然なエッジにおいてブロッキングアーチファクトがあるかを判定するために使用される。ｄｅｌｔａの値が、ここでは第１の閾値と呼ばれる事前定義済みの閾値を上回る場合、制限されたフィルタリングにのみさらす(expose)させるべきである、又は、フィルタリングへさらしは全く要らない自然なエッジがあると仮定する。より具体的には、そのような状況において、その特定のブロック境界上で１つの画素だけがフィルタリングされるか、あるいは画素は全くフィルタリングされない。
【００６６】
図１ａは、第１のブロックの画素値１０ａ、１１ａ、１２ａ及び隣接ブロックの画素値１３ａ、１４ａ、１５ａを示す図である。図１ａにおいて、画素値は、ブロック境界２０における自然なエッジ、すなわち２つの隣接ブロックの画素の画素値間の明確な差異を含む例を示しているため、結果として示された画素値を再構成するフィルタリングが必要である。画素値間のそのような大きな差異は、ブロッキングアーチファクトではなく自然に発生するものとして提案される。
【００６７】
一方、図１ｂは、第１のブロックの画素値１０ｂ、１１ｂ、１２ｂ及び隣接ブロックの画素値１３ｂ、１４ｂ、１５ｂを示している。図１ｂにおいて、反対側のブロックの画素値間の差異は、図１ａの場合のものより非常に小さく、映像符号化又は他のあらゆる画像符号化において使用された量子化及び／又は予測のために現れた可能性が高い。更に詳細には、図１ｂの境界交差に非常に近接して配置された画素の画素値は、ブロッキングアーチファクトを形成するものとして考えられ、ブロッキングアーチファクトは、識別された場合に、結果としてブロック境界に近接して配置された画素の識別された画素値の適切な近似値が得られるフィルタリングを適用することにより、本明細書において説明される方法に従って処理される必要がある。ここでは、図１ｂの直線に従うフィルタリングではなく結果として点線に従う近似値を与えるフィルタリングが必要とされる。本発明の例において、各ブロックの２つの画素は適応的に変更される。
【００６８】
ブロックにおける各画素はそれぞれの画素値を有する。一般に映像フレームは、画素に割り当てられた色値を有する。色値は規定の色形式で表される。例えば画素毎に赤成分、緑成分及び青成分を使用する他の形式が存在するが、一般的な色形式のうちの１つは、画素毎に１つの輝度成分及び２つの色差成分を使用する。
【００６９】
従来、輝度成分及び色差成分は、場合によっては異なるフィルタリング決定及び異なるデブロッキングフィルタを採用して個別にフィルタリングされる。しかし、Ｈ．２６４／ＡＶＣにおいてのように色差フィルタリングにおいて輝度フィルタリング決定を使用できる。実施形態は、輝度成分、色差成分又は輝度成分及び色差成分の双方をフィルタリングするように適用可能である。特定の一実施形態において、実施形態は、輝度フィルタリング又はルマ(luma)フィルタリングを実現するように適用される。ルマ等の一方の成分に対するフィルタリング決定又はフィルタリング決定の一部は、クロマ等の他方の成分に対するフィルタリング決定を行う場合に使用される。
【００７０】
デブロッキングフィルリングは、隣接ブロック間の境界、エッジ又はボーダーにわたり実行される。その結果、そのような境界は、図１ａ、図１ｂに示されるように、垂直境界２０でありうる。図２ａにおいて、垂直境界２０は、映像フレーム等の画像において並列に存在する２つの８×４の隣接ブロック２１、２２を分離している。あるいは、境界は、２つの隣接ブロック２１、２２を分離する水平境界２０であり、この場合、図２ｂに示されるように、一方のブロック２１は、映像フレームにおいて他方のブロック２２の上に位置する。
【００７１】
特定の一実施形態において、垂直境界は、最初にフィルタリングされ、幾何学的順序で最も左の境界から開始し右側に向かって境界を進む。水平境界は、次にフィルタリングされ、幾何学的順序で上部の境界から開始し下部に向かって境界を進む。しかし、実施形態は、この特定のフィルタリング順序に限定されず、実際には事前定義されたあらゆるフィルタリング順序に適用可能である。特定の一実施形態において、映像フレームのエッジにおける境界は、フィルタリングされずにデブロッキングフィルタリングから除外されることが好ましい。
【００７２】
実施形態によると、「画素のライン」及び「画素の対応するライン」は、図２ａのような垂直ブロック境界の場合に「画素の行」及び「画素の対応する行」を示し、且つ図２ｂのような水平ブロック境界の場合に「画素の列」及び「画素の対応する列」を示すように採用される。
【００７３】
図３ａは、一実施形態に係る映像フレーム又は他のあらゆる画像において多数の画素の現在のブロックと多数の画素の隣接ブロックとの間のブロック境界の連続画素と関連付けられたブロッキングアーチファクトを低減する方法を説明するフローチャートである。
【００７４】
次に、種々の実現例の実施形態に関連して、デブロッキングフィルタリングを本明細書において更に説明する。
【００７５】
ステップＳ１に示されるように、図３ａにおいて説明する実施形態の方法は、フィルタリングされるブロック境界の連続画素を選択することで開始する。次のステップＳ２において、第１のオフセットは、選択された画素のうちの少なくともいくつかに基づいて算出され、別のステップＳ３において、第１のオフセットの絶対数値、すなわちａｂｓ［第１のオフセット］は第１の閾値と比較される。第１の閾値がａｂｓ［第１のオフセット］を上回るとステップＳ３で判定される場合、ステップＳ４により示されるように、連続画素のそれぞれの画素値を変更することで通常のフィルタリングを実行する。後続のステップは、第１のブロックのｎ個の画素及び隣接ブロックのｍ個の画素のフィルタリングとして説明されてもよく、ここで、ｎ＞０及びｍ＞０である。しかし、上述の条件を満たさない場合、すなわち［第１のオフセット］が第１の閾値以上である場合、ステップＳ５により示されるように、代わりに制限されたフィルタリング、すなわち弱いフィルタリングが実行されるか、あるいはフィルタリングは全く実行されない。後者の例において、一般に、従来のフィルタリングが適用される場合に必要とされるものより少ない画素が変更される。後者の例は、第１のブロックのｋ個の画素及び隣接ブロックのｌ個の画素のフィルタリングとして説明されてもよく、この場合、ｎ＞＝ｊ及びｍ＞＝ｋである一般的な例において、ｍ及びｎが１又は２に等しく、互いに等しくてもよくあるいは異なってもよいのに対し、ｋ及びｌは一般に０又は１である。また、ｊ及びｋは互いに異なってもよくあるいは等しくてもよい。
【００７６】
多くの状況において、従来のフィルタリングが適用される場合と比較してより少ない画素値のフィルタリングが必要とされるため、説明した実施形態の結果、フィルタの計算の複雑さは軽減される。
【００７７】
一実施形態によると、第１の閾値の値が、それぞれのブロックに割り当てられた量子化パラメータ（ＱＰ）値に依存するように選択されるのに対し、別の実施形態によると、第１の閾値は、代わりに事前定義済みの乗算値と乗算されたｄｅｌｔａクリッピング値として判定される。第１の代替例において、クリッピング値及び閾値が互いに依存しないため、それらのより厳密な最適化が可能であるのに対し、第２の代替例において、閾値に対する別個の表は必要ない。あるいは、クリッピング値に対するのと同一の表が使用される。
【００７８】
ブロック境界２０により分離された２つのブロックであるそれぞれｐ０、ｐ１、ｐ２及びｐ３と呼ばれる第１のブロックの連続画素４１、４２、４３、４４、並びにそれぞれｑ０、ｑ１、ｑ２及びｑ３と呼ばれる隣接ブロックの連続画素４５、４６、４７、４８が、図４に示されるようにデブロッキングフィルタリングにさらす場合を考える。
【００７９】
一実施形態によると、ステップＳ２で算出された第１のオフセットは、ブロック境界に最近接して配置された各ブロックの２つの画素４１、４２、４５、４６のそれぞれの画素値に基づいており、ａｂｓ［第１のオフセット］がステップＳ３の評価において第１の閾値を下回る場合、ブロック境界２０に隣接する２つの画素４１、４５の少なくともそれぞれの画素値は、図３ａの後続の変更ステップＳ４で第１のオフセットに基づいて変更される。
【００８０】
より具体的には、図３ａを参照して説明したようなフィルタリングによる画素の変更は、種々の方法で実行されてもよい。
【００８１】
次に図３ｂを参照して説明する一実施形態によると、ブロック境界２０に隣接する少なくとも２つの画素４１、４５のそれぞれの画素値は、図３ｂのステップＳ４０又はＳ５０に示されるように、第１のオフセットに基づいて無条件で変更される。そして、ａｂｓ［第１のオフセット］が第１の閾値を下回る場合、ブロック境界２０から１画素離れた２つの画素４２、４６のそれぞれの画素値も変更され、第２のオフセット及び第３のオフセットがステップＳ４１で算出された後に、後者の変更は、ステップＳ４２でそれぞれ第２のオフセット及び第３のオフセットに基づいて実行される。図３ｂに係る実施形態は、以下のように例示されてもよい。
第１のオフセット＝（９＊（ｑ0−ｐ0）−３＊（ｑ1−ｐ1））／１６
ｐ0’＝ｐ0＋第１のオフセット
ｑ0’＝ｑ0−第１のオフセット
ｉｆ（ａｂｓ（第１のオフセット）＜ｔｈｒ１）
｛
第２のオフセット＝（ｐ0＋ｐ2−２＊ｐ1−２＊第１のオフセット）／４；
ｐ1’＝ｐ1＋第２のオフセット
第３のオフセット＝（ｑ0＋ｑ2−２＊ｑ1＋２＊第１のオフセット）／４；
ｑ1’＝ｑ1＋第３のオフセット
｝
ここで、第１のオフセットは、ステップＳ２で（９＊（ｑ0−ｐ0）−３＊（ｑ1−ｐ1））／１６に基づく近似値として算出されるものであり、式中、ｐ0はブロック境界２０に隣接して配置された第１のブロック２１の画素４１の画素値であり、ｐ1はブロック境界２０に隣接して配置された第１のブロック２１の画素４２の画素値であり、ｑ0はブロック境界２０に隣接して配置された隣接ブロック２２の画素４５の画素値であり、ｑ1はブロック境界２０に隣接して配置された隣接ブロック２２の画素４６の画素値である。
【００８２】
画素値ｐ０及びｑ０の変更は、ステップＳ４０又はＳ５０を実行することにより、ステップＳ３の比較の結果に関係なく実行される。双方の例において、ブロック境界２０に隣接して配置された第１のブロック２１の画素４１の画素値ｐ0の変更は、第１のオフセットを画素値ｐ0に加算することで実行され、ブロック境界２０に隣接して配置された前記隣接ブロック２２の画素４５の画素値ｑ0の変更は、画素値ｑ0から第１のオフセットを減算することで実行される。
【００８３】
ステップＳ４０及びＳ４２で実行された変更は、図３ｂに示されるように連続して実行されるか、あるいは連続してではあるが逆の順序で実行しても良い、すなわち、Ｓ４０に後続して、ステップＳ４１及びＳ４２が最初に実行される。あるいは、ステップＳ４０及びＳ４２は、少なくとも部分的に同時に実行される。
【００８４】
上述の実施形態を適用する際、信号が傾斜(ramp)しているとして解釈される場合、すなわちブロッキングアーチファクトではなく直線又は略直線として識別される場合、第１のオフセットの値はほぼ０に等しく、ブロック境界２０におけるブロッキングアーチファクトは、上述の画素の１つのラインにおける画素を処理することで低減される。このような画素の変更は、ライン毎に説明した方法ステップを繰り返すことにより、例えば上述したようなブロックの画素４１、４２、４３、４４を含むライン等のブロックにおけるライン（水平又は垂直の）うちの１つ又はブロックにおける複数のライン、すなわち少なくとも２つのラインに対して、場合によってはブロックにおける全てのライン１２（水平又は垂直の）に対して実行される。
【００８５】
一般に、上述したように、デブロッキングフィルタリングは、デブロッキングフィルタがブロックに対して水平又は垂直のブロック境界にわたり適用されるかを判定するフィルタ決定を含む。そのような判定が肯定である場合、デブロッキングフィルタは、場合によってはブロックの全ての列（垂直ライン）又は行（水平ライン）に適用される。あるいは、デブロッキングフィルタリングが適用されるか否か及び／又はその特定の列又は行に対して使用されるデブロッキングフィルタの種類を決定するために、列又は行毎に更なるフィルタリング決定が行われる。従って、以下に説明する図３ａ又は図３ｂ、あるいは図３ｃに示されるような方法は、映像フレームの画素のブロックにおいて少なくとも１つの列及び少なくとも１つの行に対して列、行、多数の列、多数の行又はそれら全てに適用可能である。デブロッキングフィルタリングが必ずしも映像フレームの全てのブロックに適用されなくてもよいことが更に予想される。明らかに対照的に、そのようなデブロッキングフィルタリングは、１つ以上のフィルタ決定により判定されたようなブロッキングアーチファクトがあるブロックに及びブロック境界にわたってのみ適用されることが好ましい。
【００８６】
第１のオフセットが一実施形態においてクリップされることにより、第１のオフセットの値は、−ｔCとｔCとの間隔内に制限される。閾値ｔCは、ブロックに割り当てられた量子化パラメータ（ＱＰ）値に依存することが好ましい。そのような場合、種々のＱＰ値に対する種々の閾値の表を使用できる。
【００８７】
図５は、図３ａ又は図３ｂのステップＳ３からの継続としてそのようなクリッピング動作を示す。図５によると、次のステップＳ２０は、第１のオフセットが−ｔCとｔCとの間隔内にあるか、すなわち−ｔC≦第１のオフセット≦ｔCであるかを調べる。そのような場合、図３ｂ又は図３ｃのステップＳ４０に直接進み、第１のオフセットを変更する必要はない。しかし、第１のオフセットがステップＳ２０で判定されたような間隔内にない場合、ステップＳ２１に進み、第１のオフセットは、所定の間隔内にある値を有するようにクリップされる。従って、第１のオフセット＜−ｔCの場合、第１のオフセットは、ステップＳ２１で−ｔCの値を有するように設定される。同様に、第１のオフセット＞ｔCの場合、第１のオフセットは、ステップＳ２１でｔCの値を有するように設定される。図３ｂ又は図３ｃのステップＳ４０に進む。
【００８８】
第１のオフセットと同様に、第２のオフセット及び第３のオフセットを、−ｔC2とｔC2との間隔内にあるようにクリップされる。ここで、閾値ｔC2は、ブロックに割り当てられたＱＰ値に基づいて判定される。この場合、図５の処理は、図３ｂ又は図３ｃのステップＳ４１とＳ４２との間で実行される。
【００８９】
特定の一実施形態において、閾値ｔC2は、図５において第１のオフセットをクリップするために使用された閾値ｔCに基づいて判定される。例えば、ｔC2=ｔC／２又はハードウェアに適応した実現例を用いる場合にはｔC2＝ｔC＞＞１であり、式中、ｔC＞＝０である。
【００９０】
本明細書において説明する実施形態のうちのいずれかにクリッピングが適用される場合、クリッピングの前に導出された第１のオフセットの値は第１の閾値と比較して使用されることが理解されるべきである。また、第２のオフセット及び第３のオフセットを算出する場合、クリッピングの前又は後の第１のオフセットのいずれかの値を使用できる。
【００９１】
ブロッキングアーチファクト強度もＱＰに依存するため、第１の閾値の値は、一実施形態に従って量子化パラメータ（ＱＰ）に依存してもよい。あるいは、ｄｅｌｔａクリッピング値ｔｃ（ＱＰ）は、何らかの乗算器と共に使用されてもよく、一般にｔｃは、表ｔｃ（ＱＰ）から読み出されてもよい。例として、値ｔｃ＊８を使用できる。あるいは、閾値は、別個の表ｔｈｒ１（ＱＰ）から読み出し及び選択可能である。
【００９２】
プログラミング言語に適用される場合の上述の実施形態は、以下の例のようになろう。
第１のオフセット＝（９＊（ｑ0−ｐ0）−３＊（ｑ1−ｐ1）＋８）＞＞４；
ａｄｅｌｔａ＝ａｂｓ（第１のオフセット）；
第１のオフセット＝Ｃｌｉｐ３（−ｔｃ，ｔｃ，第１のオフセット）；
ｐｉＳｒｃ［−ｉＯｆｆｓｅｔ］＝Ｃｌｉｐ（（ｐ０＋第１のオフセット））；
ｐｉＳｒｃ［０］＝Ｃｌｉｐ（（ｑ０−第１のオフセット））；
ｉｆ（ａｄｅｌｔａ＜ｔｃ＊８）｛
第２のオフセット＝Ｃｌｉｐ３（−ｔｃ２，ｔｃ２，（（（（ｐ２＋ｐ０＋１）＞＞１）−ｐ１＋第１のオフセット）＞＞１））；
第３のオフセット＝Ｃｌｉｐ３（−ｔｃ２，ｔｃ２，（（（（ｑ２＋ｑ０＋１）＞＞１）−ｑ１−第１のオフセット）＞＞１））；
ｐｉＳｒｃ［−ｉＯｆｆｓｅｔ＊２］＝Ｃｌｉｐ（（ｐ１＋第２のオフセット））；
ｐｉＳｒｃ［ｉＯｆｆｓｅｔ］＝Ｃｌｉｐ（（ｑ１＋第３のオフセット））；
ここで、＞＞が右シフト演算を示すので、Ｘ／１６の整数−表現として（Ｘ＋８）＞＞４が使用される。従って、上述の特定の実施形態において、ステップＳ２は、（９×（ｑ０−ｐ０）−３×（ｑ１−ｐ１）＋８）＞＞４の近似値に基づき且つそれに等しくなるように、あるいは近似値として算出されるように第１のオフセットを算出する。
【００９３】
ここで、Ｃｌｉｐ３関数は、２つの第１の関数実引数間の範囲に出力値をクリップすることを説明している。また、クリッピングの前に適用される第１のオフセットの値は、（ａｂｓ［第１のオフセット］＞第１の閾値）においても使用可能である。
【００９４】
別の実施形態において、（９×（ｑ０−ｐ０）−３×（ｑ１−ｐ１））／１６の整数表現、並びに好ましくはハードウェア及び／又はソフトウェアで効率的に実現されるそのような整数表現等の他の実現例が使用される。
【００９５】
種々の量子化パラメータ値が各ブロックに割り当てられてもよく、第１の閾値の値が関連する最大量子化パラメータ値又はブロック境界を形成する２つのブロックの量子化値の平均値に基づいて判定されるように、第１の閾値は、それぞれのブロックに割り当てられた量子化パラメータ値に基づいて判定される。
【００９６】
別の実施形態において、ブロック境界のいずれかの側のいずれか２つの画素が変更されるか、あるいは画素は全く変更されない。そのような一実施形態を図３ｃに示す。図３ｃにおいて、第１の閾値がａｂｓ［第１のオフセット］を上回らない場合、図３ｂのステップＳ５０に代わるステップＳ５０’により示されるようにフィルタリングは実行されないが、第１の閾値がａｂｓ［第１のオフセット］を上回る場合、図３ｂと同一の手順が実行される。このような方法は以下のように記述してもよい。
第１のオフセット＝（９＊（ｑ0−ｐ0）−３＊（ｑ1−ｐ1））／１６
ｉｆ（ａｂｓ［第１のオフセット］＜ｔｈｒ１）
｛
ｐ0’＝ｐ0＋第１のオフセット
ｑ0’＝ｑ0−第１のオフセット
第２のオフセット＝（ｐ0＋ｐ2−２＊ｐ1＋２＊第１のオフセット）／４；
ｐ1’＝ｐ1＋第２のオフセット
第３のオフセット＝（ｑ0＋ｑ2−２＊ｑ1−２＊第１のオフセット）／４；
ｑ1’＝ｑ1＋第３のオフセット
｝
【００９７】
プログラミング言語に適用される場合及びクリッピングを適用する場合の上述の実施形態は、以下の例のように見えてもよい。
第１のオフセット＝（９＊（ｑ０−ｐ０）−３＊（ｑ１−ｐ１）＋８）＞＞４；
ｉｆ（ａｂｓ（第１のオフセット）＜ｔｃ＊８）｛
第１のオフセット＝Ｃｌｉｐ３（−ｔｃ，ｔｃ，第１のオフセット）；
ｐｉＳｒｃ［−ｉＯｆｆｓｅｔ］＝Ｃｌｉｐ（（ｐ０＋第１のオフセット））；
ｐｉＳｒｃ［０］＝Ｃｌｉｐ（（ｑ０−第１のオフセット））；
第２のオフセット＝Ｃｌｉｐ３（−ｔｃ２，ｔｃ２，（（（（ｐ２＋ｐ０＋１）＞＞１）−ｐ１＋第１のオフセット）＞＞１））；
第３のオフセット＝Ｃｌｉｐ３（−ｔｃ２，ｔｃ２，（（（（ｑ２＋ｑ０＋１）＞＞１）−ｑ１−第１のオフセット）＞＞１））；
ｐｉＳｒｃ［−ｉＯｆｆｓｅｔ＊２］＝Ｃｌｉｐ（（ｐ１＋ｄｅｌｔａ１））；
ｐｉＳｒｃ［ｉＯｆｆｓｅｔ］＝Ｃｌｉｐ（（ｑ１＋ｄｅｌｔａ２））；
｝
上述の例において、ｔｃ＊８は第１の閾値として使用されるが、第１の閾値に対する他の別の値が代わりに使用されてもよい。
【００９８】
更にこの例において、ステップ４０又はＳ４２がそれぞれ実行される前に、該当する場合には図５のステップＳ２０及びＳ２１が図３ｂ又は図３ｃのステップＳ３及びＳ４１に後続する。
【００９９】
上述の実施形態は、画素値の傾斜（ramp）に適用される場合にほぼゼロ、好ましくは厳密にゼロを生成し且つ画素値のステップに適用される場合に画素値におけるステップを平滑にするオフセット値を生成する式によりブロック境界に最近接する画素に対する第１のオフセットを生成するデブロッキングフィルタを規定する。例えば傾斜が、１０、２０、３０、４０等の直線的に増加又は減少する画素値として説明される。これらの画素値に対する第１のオフセット、すなわちｐ１＝１０、ｐ０＝２０、ｑ０＝３０、ｑ１＝４０を算出する場合、第１のオフセットはゼロになる。同様に、ステップは、１０、１０、２０、２０等の画素値におけるステップの増加又は減少として説明される。これらの画素値に対する第１のオフセット、すなわちｐ１＝１０、ｐ０＝１０、ｑ０＝２０、ｑ１＝２０を算出する場合、第１のオフセットは、第１のオフセット＝（９×（ｑ０−ｐ０）−３×（ｑ１−ｐ１））／１６の場合に３．７５になり、第１のオフセット＝（９×（ｑ０−ｐ０）−３×（ｑ１−ｐ１）＋８）＞＞４の場合に４になる。変更された画素値が、それぞれ１０、１３．７５、１６．２５、３０又は１０、１４、１６、２０になることにより、ステップの平滑化を実現する。第１のオフセットは、平坦なラインに対してもゼロであり、すなわち画素値が等しい場合にｐ０＝ｐ１＝ｑ０＝ｑ１である。
【０１００】
本発明の実施形態は、一般的なフレームの映像及び特定のフレームの映像において画像の符号化及び復号化に関連してブロッキングアーチファクトを抑制するように構成される。従って、実施形態は、映像フレームを画素のブロックに分割することによりブロック境界にわたりブロッキングアーチファクトを有する危険を冒すそのような映像の符号化及び復号化の規格に適用可能である。本発明の実施形態を適用できるそのような規格の例には、上述したようなＨ．２６４及びＨＥＶＣが含まれる。特にＨＥＶＣは、弱いフィルタリングモードか強いフィルタリングモードかを選択する手段を有する。本発明の実施形態は、ブロック境界にわたり画素のライン及び画素の対応するラインにおける画素値を変形するように採用されるオフセットを算出するために、弱いフィルタリングモードで使用可能であるという利点がある。従って、従来技術のＨＥＶＣに従ってそのようなデブロッキングフィルタリングを実行するかを決定することは、本発明の実施形態に対して使用可能であるという利点がある。
【０１０１】
図３ａ〜図３ｃのうちのいずれかに開示された実施形態のうちのいずれかに従ってブロッキングアーチファクトを低減する方法は、デブロッキングフィルタユニットにより実行されることが好ましい。従って、そのようなデブロッキングフィルタユニットは、ステップＳ１で関連する画素を選択し、ステップＳ２で第１のオフセットを算出し、ステップＳ３で第１のオフセットを第１の閾値と比較し、ステップＳ４、Ｓ５、Ｓ４０、Ｓ４２又はＳ５０のうちのいずれかでそれぞれの画素値を変更する。図６は、そのようなデブロッキングフィルタユニット６０の一実施形態を示す概略ブロック図である。
【０１０２】
デブロッキングフィルタユニット６０は、関連する画素を選択するように構成された画素選択器６１と、本明細書において上述したように画像における画素のブロックの画素のラインに対する第１のオフセット、第２のオフセット及び第３のオフセットを算出するように構成されたオフセット算出器６２とを備える。
【０１０３】
オフセット評価器６３は、フィルタリングにより変更する画素及びそれぞれの画素が変更される方法を判定するために、算出されたオフセットを閾値と比較することでそれを評価するように構成される。デブロッキングフィルタユニット６０の画素値変更器６４は、オフセット評価器の結果に依存して画素値を変更するように構成される。一実施形態によると、画素値変更器６４は、ａｂｓ［第１のオフセット］＜第１の閾値の場合に１つ以上の画素値を変更することで通常のフィルタリングを適用するか、あるいはより少ない画素値を変更することで又は画素値を全く変更せずに弱いフィルタリングを適用するように構成される。それにより、オフセット評価器６３の結果に基づいて起動される画素値変更器の別の機能性に依存して、デブロッキングフィルタユニット６０により通常のフィルタリング又は弱いフィルタリングが適用されるか、あるいはフィルタリングは全く適用されない。
【０１０４】
画素値変更器６４は、オフセット評価器６３の結果に基づいてこれが必要とされる場合にはオフセット算出器６２により算出された第１のオフセットをこの画素の画素値に加算して変更された画素値を形成することにより、ブロックにおける画素のラインのブロック境界に最近接する画素の画素値を変更するように構成される。同様に、画素値変更器６４は、画像における画素の隣接ブロックの画素の対応するラインではあるが、ブロック境界に最近接する画素の画素値を変更するように更に構成される。画素値変更器６４によるこのような後者の変更は、この画素の画素値からオフセット算出器６２により算出された第１のオフセットを減算して変更された画素値を形成することにより実現される。
【０１０５】
従って、特定の一実施形態において、画素値変更器６４は、第１のオフセットを画素のラインのブロック境界に最近接する画素の画素値に加算して変更された画素値を形成できる。更に画素値変更器６４は、全てオフセット評価器６３の結果に依存して、画素の対応するラインのブロック境界に最近接する画素の画素値から第１のオフセットを減算して変更された画素値を形成できるか、あるいはとにかく画素値の変更を回避できる。
【０１０６】
特定の一実施形態において、オフセット算出器６２は、ｆ（（９×（ｑ０−ｐ０）−３×（ｑ１−ｐ１））／１６）、すなわち関数ｆ（）又は（９×（ｑ０−ｐ０）−３×（ｑ１−ｐ１））／１６の表現になるよう第１のオフセットを算出するように構成される。好ましくはハードウェアの実現例に適したこの関数は、（９×（ｑ０−ｐ０）−３×（ｑ１−ｐ１））／１６の整数表現を出力することが好ましい。一実施形態において、オフセット算出器６２は、第１のオフセットが（９×（ｑ０−ｐ０）−３×（ｑ１−ｐ１＋８）＞＞４又はその近似値に等しくなるよう第１のオフセットを算出するように構成される。後者の場合、クリッピングユニット６５は、例えば−ｔCとｔCとの間隔内にあるように算出された第１のオフセットのクリッピングを適用するように構成され、値ｔＣは、ブロックと関連付けられたＱＰ値に依存してもよく、値は、例えばクリッピングユニット６５によりアクセス可能な表又は他の何らかのデータソースから取得されてもよい。クリッピングが適用される場合、オフセット評価器６３は、第１の閾値と比較してクリッピングの前に導出された第１のオフセットを使用するように構成される。同様に、クリッピングユニット６５は、適応的に第２のオフセット及び第３のオフセットを更にクリップするように構成される。しかし、オフセット算出器６２は、クリッピングの前又は後で第１のオフセットの値に基づいて第２のオフセット及び第３のオフセットを算出するように構成されてもよい。
【０１０７】
あるいは、デブロッキングフィルタユニット６０は、各々が適応的に１つ以上のオフセット値をクリップするように構成される複数のクリッピングユニットを備えてもよい。
【０１０８】
好適な一実施形態において、オフセット算出器６２は、ブロックにおける画素のラインに対して（ｐ２＋ｐ０−２×ｐ１＋２×Δ）／４に基づいて第２のオフセットを算出するように更に構成される。
【０１０９】
特定の一実施形態において、オフセット算出器６２は、ｇ（（ｐ２＋ｐ０−２×ｐ１＋２×Δ）／４）、すなわち関数ｇ（）又は（ｐ２＋ｐ０−２×ｐ１＋２×Δ）／４の表現になるよう第２のオフセットを算出するように構成される。好ましくはハードウェアの実現例に適したこの関数は、（ｐ２＋ｐ０−２×ｐ１＋２×Δ）／４の整数表現を出力することが好ましい。一実施形態において、オフセット算出器６２は、（（（ｐ２＋ｐ０＋１）＞＞１）−ｐ１＋Δ）＞＞１に基づくよう、それに等しくなるようあるいはその近似値として算出されるよう第２のオフセットを算出するように構成される。オフセット算出器６２は、隣接ブロックにおける画素の対応するラインに対して（ｑ２＋ｑ０−２×ｑ１−２×Δ）／４に基づいて第３のオフセットを算出するように更に構成される。
【０１１０】
オフセット算出器６２は、隣接ブロックにおける画素の対応するラインに対して（ｑ２＋ｑ０−２×ｑ１−２×Δ）／４に基づいて第３のオフセットを算出するように更に構成される。
【０１１１】
特定の一実施形態において、オフセット算出器６２は、ｈ（（ｑ２＋ｑ０−２×ｑ１−２×Δ）／４）、すなわち関数ｈ（）又は（ｑ２＋ｑ０−２×ｑ１−２×Δ）／４の表現になるよう第３のオフセットを算出するように構成される。好ましくはハードウェアの実現例に適したこの関数は、（ｑ２＋ｑ０−２×ｑ１−２×Δ）／４の整数表現を出力することが好ましい。一実施形態において、第３のオフセット算出器２６０は、（（（ｑ２＋ｑ０＋１）＞＞１）−ｑ１−Δ）＞＞１に基づくよう、それに等しくなるようあるいはその近似値として算出されるよう第３のオフセットを算出するように構成される。
【０１１２】
あるいは、デブロッキングフィルタユニット６０は、各々が第１のオフセット、第２のオフセット及び第３のオフセットのうちの１つ以上を算出するように構成される複数のオフセット算出器を備えてもよい。
【０１１３】
デブロッキングフィルタユニット６０の画素値変更器６４は、すなわちオフセット評価器に対して設定された条件、すなわちａｂｓ［第１のオフセット］＜第１の閾値を満たす場合にブロックにおける画素のラインのブロック境界に２番目に最近接する画素の画素値を変更するように更に構成される。上述の条件を満たす場合、画素値変更器６４は、オフセット算出器６２により算出された第２のオフセットをこの画素の画素値に更に加算してもよい。同一の理由から、画素値変更器６４は、隣接ブロックにおける画素の対応するラインではあるが、ブロック境界に２番目に最近接する画素の画素値を変更するように更に構成される。このような変更は、オフセット算出器６２により算出された第３のオフセットをこの画素の画素値に加算することにより実現される。
【０１１４】
一実施形態によると、画素値変更器６４は、ａｂｓ［第１のオフセット］＞＝第１の閾値の場合に各ブロックのブロック境界に最近接する１つの画素だけを変更するように構成されるか、別の実施形態によると、そのような例において画素値は全く変更されない。
【０１１５】
特定の態様は、画像における多数の画素のブロックと多数の画素の隣接ブロックとの間のブロック境界におけるブロッキングアーチファクトを低減するデブロッキングフィルタユニット６０に関する。図６を参照すると、デブロッキングフィルタユニット６０は、ブロックにおける画素のラインのブロック境界に最近接する画素の画素値、画素のラインのブロック境界に２番目に最近接する画素の画素、隣接ブロックにおける画素の対応するライン又は反対側のラインのブロック境界に最近接する画素の画素値、及び画素の対応するラインのブロック境界に２番目に最近接する画素の画素値に基づいて第１のオフセットを算出するように構成されたオフセット算出器６２を備える。画素のライン及び画素の隣接ラインは、ブロック境界に対して垂直である。
【０１１６】
第１のオフセットは、画素値が直線的に増加又は減少している場合にゼロに近似し且つ好ましくはゼロに等しいか、あるいは画素のライン及び画素の対応するラインに沿って移動している際に同一であるオフセット値を生成し、且つ画素のライン及び画素の対応するラインに沿って移動している際に画素値がステップにおいて増加又は減少する場合に画素値におけるステップを平滑にするオフセット値を生成する式、並びにこれらの画素値に基づいて、オフセット算出器６２により算出される。デブロッキングフィルタユニット６０は、第１のオフセットを画素のラインのブロック境界に最近接する画素の画素値に加算して変更された画素値を形成することにより、画素のラインのブロック境界に最近接する画素の画素値を変更するように構成された画素値変更器６４を更に備える。画素値変更器６４は、画素の対応するラインのブロック境界に最近接する画素の画素から第１のオフセットを減算して変更された画素値を形成することにより、画素の対応するラインのブロック境界に最近接する画素の画素値を変更するように更に構成される。
【０１１７】
図６に関連して開示されたそれぞれのユニット６１〜６５は、説明したデブロッキングフィルタユニット６０において物理的に別個のユニットとして開示されており、且つそれらは全てＡＳＩＣ（特定用途向け集積回路）等の専用回路であってもよいが、ユニット６１〜６５の一部又は全てが汎用プロセッサ上で実行するコンピュータプログラムモジュールとして実現されるデブロッキングフィルタユニット６０の別の実施形態が可能である。そのような一実施形態を図７に開示する。
【０１１８】
図７は、例えばＤＳＰ（デジタル信号プロセッサ）又はＣＰＵ（中央処理装置）等の処理ユニット７２を有するコンピュータ７０の一実施形態を概略的に示す。処理ユニット７２は、本明細書において説明する方法の種々のステップを実行するように構成された図７に示されるような単一のユニット又は複数のユニットであってよい。コンピュータ７０は、記録又は生成された映像フレーム、又は符号化映像フレーム、又は復号化映像データ、あるいは同様に処理されている他の何らかの画像を受信する入出力（Ｉ／Ｏ）ユニット７１を更に備える。Ｉ／Ｏユニット７１は、図７において単一のユニットとして示されているが、別個の入力ユニット及び別個の出力ユニットの形態で同様に配置されてよい。
【０１１９】
更にコンピュータ７０は、ＥＥＰＲＯＭ（電気的消去可能プログラマブル読み出し専用メモリ）、フラッシュメモリ又はディスクドライブ等の不揮発性メモリの形態の少なくとも１つのコンピュータプログラム製品７３を備える。コンピュータプログラム製品７３は、コンピュータ７０上で実行される場合に例えば処理ユニット７２により、図３ａ、図３ｂ又は図３ｃのうちのいずれかに関連して上述した方法のステップをコンピュータ７０に実行させるコード手段を備えるコンピュータプログラム７４を含む。従って、一実施形態において、コンピュータプログラム７４のコード手段は、処理のために画素を選択する画素選択器モジュール７５と、必要とされるオフセット値を算出するオフセット算出モジュール７６と、デブロッキングフィルタモジュール７９又はデブロッキングフィルタ装置の画素値を変更する画素値変更モジュール７７とを備える。デブロッキングフィルタモジュール７９を共に形成するかあるいはその一部を形成する上述のモジュールは、実質的に、処理ユニット７２上で実行される場合に図３ａ、図３ｂ又は図３ｃのうちのいずれかにおけるフローチャートのステップを実行する。従って、種々のモジュールは、処理ユニット７２上で実行される場合に図６の対応するユニット９１〜６５に対応する。
【０１２０】
図３ａ、図３ｂ及び図３ｃのユニットが別個のユニットとして構成されてもよいことと同一の理由から、コンピュータプログラム７４は、クリッピングモジュール７８と、他の別個のモジュールとを更に備えてもよい。
【０１２１】
図７のコンピュータ７０は、ユーザ機器であってよく、あるいはユーザ機器１１００に存在してよい。そのような場合、更にユーザ機器１１００は、ディスプレイ（不図示）を含むかあるいはそれに接続され、映像データ及び／又は他の画像データを表示できるようになってもよい。上述のコンピュータ７０は、一般に、本発明において注目されるデブロッキング機構を理解するためには必要ないため、簡略化するために図７には示されない更なるエンティティを含んでもよいことが理解されるべきである。
【０１２２】
図６のデブロッキングフィルタユニット６０又は図７のデブロッキングフィルタモジュール７９は、図８に従って示されてもよい。ユニット６１〜６３は、それぞれのユニットに対して上述されたように映像フレーム又は他の画像の画素を処理するように構成されるフィルタ決定ユニット８０により示され、図６のユニット６４及び選択的に更に６５は、それぞれのユニットに対して上述したようにそれぞれの画素を変更することで画像をフィルタリングするように構成される図８のフィルタリングユニット８１により示される。
【０１２３】
図６のデブロッキングフィルタユニット６０又は図７のデブロッキングフィルタモジュール７９は、映像符号化において使用されることが好ましい。図６のデブロッキングフィルタユニット６０又は図７のデブロッキングフィルタモジュール７９は、機能するために映像符号器及び映像復号器の双方において実現されることが好ましい。ビデオ復号器は、ハードウェアで実現されることが好ましいが、ソフトウェアでも実現されてよい。同じことが映像符号器についてもあてはまる。
【０１２４】
図９は、一実施形態に係る例えば映像シーケンスの映像フレーム等の画像における画素のブロックを符号化する簡略化された符号器９０を示す概略ブロック図である。図９において、符号器９０は、受信した映像フレームを符号化する符号化ユニット９１と、フィルタリングされようとしているコンテンツを復号化する復号化ユニット９２と、上述したようなデブロッキングフィルタユニット６０とを備える。
【０１２５】
図１０は、受信した映像フレーム及び他の種類の画像を復号化する復号化ユニット１０１と、デブロッキングフィルタユニット６０とを備える簡略化された復号器１００を示す簡略ブロック図である。図１０において、一般に復号器１００は、符号化映像フレームの符号化映像ストリームに対して動作することにより、映像フレームを復号化して映像データを使用可能にするメディア復号化機能を有するあらゆる装置であってよいユーザ機器（不図示）に配置されてもよい。そのような装置の非限定例には、移動電話及び他のポータブルメディアプレーヤ、タブレット、デスクトップ、ノートブック、パーソナル映像レコーダ、マルチメディアプレーヤ、映像ストリーミングサーバ、セットトップボックス、ＴＶ、コンピュータ、復号器、ゲーム機等が含まれる。一般にユーザ機器は、符号化映像フレームを格納するように構成されたメモリを更に含む。
【０１２６】
図１１において、ユーザ機器１１００ａは、復号器１００及びメディアプレーヤ１１０１の双方を備えるものとして示されており、復号器１００はメディアプレーヤ１００１の一部として実現される。しかし、これは、単にユーザ機器１１００ａの一実現例の例示であり、これに限定されるものではないと考えられるべきである。符号化映像フレーム又は他の画像は、一般に、メモリ１１０２から上述の実施形態のうちのいずれかに係るデブロッキングフィルタユニット６０を備える復号器１００にもたらされる。
【０１２７】
復号器１００は、符号化映像フレーム（映像ビットストリーム）を復号化映像フレームに復号化する。復号化映像フレームは、ユーザ機器１１００のディスプレイ又は画面１１０３、あるいはユーザ機器１１００に接続されたディスプレイ又は画面１１０３上に表示可能な映像データに復号化映像フレームをレンダリングするように構成されるメディアプレーヤ１１０１に提供される。
【０１２８】
また、本明細書において使用されたようなユーザ機器１１００の範囲内において、復号器１００及びメディアプレーヤ１１０１が２つの物理的に分離された装置に提供されることが可能である分散型実現例が可能である。ユーザ機器１１００ディスプレイ１１０３は、実際のデータ処理が行われているユーザ機器１１００に接続された別個の装置として更に提供される。
【０１２９】
同様に、例えばカムコーダ、映像を記録できる移動電話又はテレビ会議機器等のユーザ機器１１００ｂは、図１１ｂに示されるように符号器を搭載してもよい。図１１ｂにおいて、上述の実施形態のうちのいずれかに係るデブロッキングフィルタユニット６０を備えるかあるいはそれに接続された符号器９０は、あらゆる種類の従来の機能性を適用することにより、デブロッキングフィルタリングユニット６０により適応的に処理されている符号化画像をそのような画像を受信及び処理できるあらゆる種類のエンティティに提供できる。ここで、ユーザ機器１１００ｂは、画像を送信する前にそれらを格納するメモリ１１０２と、Ｉ／Ｏユニット１１０４とを与えられる。
【０１３０】
図１２に示されるように、それぞれ図９及び図１０に示されたような符号器９０及び／又は復号器１００は、送出ユニット１２０２と受信ユーザ機器１２０３との間の通信ネットワーク１２０１におけるネットワークノードであるかあるいはそれに属するネットワーク装置１２００において実現されてもよい。例えば、受信ユーザ機器１２０３が送出ユニット１２０２から送出された映像符号化規格とは別の映像符号化規格のみに対応するか、あるいはそれを好む場合、そのようなネットワーク装置１２００は、１つの映像符号化規格に従う映像を別の映像符号化規格に変換する装置等であってもよい。ネットワーク装置１２００は、無線ベースのネットワーク等の通信ネットワーク１２０１における無線基地局、Ｎｏｄｅ−Ｂ又は他のあらゆるネットワークノードの形態であってよく、あるいはそれらに含まれてよい。
【０１３１】
符号器又は復号器におけるインループフィルタにおいて提案されたデブロッキングフィルタユニットを使用することに加えて、デブロッキングフィルタユニットは、代わりに、ポストフィルタに実現されて、上述の実施形態のうちのいずれかに係るデブロッキングを適用しつつ処理を適用するように構成されてもよい。
【０１３２】
上述の実施形態は、本発明のいくつかの例示的な例として理解されるべきである。本発明の範囲から逸脱せずに種々の変形、組合せ及び変更が実施形態に対して行われてもよいことは、当業者により理解されるだろう。特に、技術的に可能である場合、種々の実施形態における種々の部分的な解決方法は、他の構成において組み合わされてよい。しかし、本発明の範囲は添付の請求の範囲により規定される。
【図１ａ】
0005684407.tif 000002
【図１ｂ】
0005684407.tif 000003
【図２ａ】
0005684407.tif 000004
【図２ｂ】
0005684407.tif 000005
【図３ａ】
0005684407.tif 000006
【図３ｂ】
0005684407.tif 000007
【図３ｃ】
0005684407.tif 000008
【図４】
0005684407.tif 000009
【図５】
0005684407.tif 000010
【図６】
0005684407.tif 000011
【図７】
0005684407.tif 000012
【図８】
0005684407.tif 000013
【図９】
0005684407.tif 000014
【図１０】
0005684407.tif 000015
【図１１ａ】
0005684407.tif 000016
【図１１ｂ】
0005684407.tif 000017
【図１２】
0005684407.tif 000018