デブロッキングフィルタリング制御
第1の決定値及び第2の決定値は、映像フレームにおいて画素ブロック(10)に対して算出される。第1のフィルタ決定値は、映像フレームにおいてブロック(10)における画素(11、13、15、17)の第1のライン及び隣接ブロック(20)における画素(21、23、25、27)の対応する第1のラインの画素値がフィルタリング方向に平行する方向にどの程度平滑であるかを表す。第2のフィルタ決定値は、ブロック(10)における画素(11、13、15、17)の現在のライン(12)の画素値がどの程度平坦なラインに近似するか、隣接ブロック(20)における画素(21、23、25、27)の対応する現在のライン(22)の画素値がどの程度平坦なラインに近似するかを表す。あらゆるブロッキングアーチファクトを抑制するために、2つのフィルタ決定値はそれぞれの閾値と比較され、第1のフィルタ決定値が閾値を下回る場合、強いデブロッキングフィルタが現在のライン(12)に対して選択され、第1のフィルタ決定値が閾値を下回らない場合、弱いデブロッキングフィルタが選択される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般にフィルタリング制御に関し、特に映像フレームにおいてブロック境界にわたりデブロッキングフィルタリングを制御することに関する。
【背景技術】
【0002】
映像フレームの符号化により、符号化データにブロッキングアーチファクトが生じる可能性がある。そのようなブロッキングアーチファクトは、主に、フレーム内予測誤差符号化及びフレーム間予測誤差符号化における離散コサイン変換によるものである。ブロック間の境界における不連続性は、再構成中に閲覧者に対して可視になる。ブロッキングアーチファクトの別の一般的な原因は、動き補償予測である。
【0003】
このようなブロッキングアーチファクトを抑制する従来の手法というのは、デブロッキングフィルタリングを使用する手法である。H.264等の最新技術の映像符号化において、適応デブロッキングフィルタによるループフィルタリングは、後続フレームを符号化する場合に後で参照するために予測及び残差符号化後且つ再構成フレームの格納前に実行される。非特許文献1を参照されたい。ループフィルタリングは、フィルタリング決定、フィルタリング動作、クリッピング関数及び画素値の変化から構成される。境界をフィルタリングするか否かは、いくつかの条件を評価することに基づいて決定される。フィルタ決定は、マクロブロックの種類、隣接ブロックのうちの1つが符号化残差(coded residual)を有する場合は隣接ブロック間の動きベクトル(MV)の差分、及び現在のブロック又は隣接ブロックの局所構造に依存する。
【0004】
フィルタリングの量は、ブロック境界と比較した画素の位置及び現在のブロックの残差符号化のために使用された量子化パラメータに依存する。
【0005】
H.264において、フィルタ決定は、2つの隣接ブロックのブロック境界間の画素値に基づいて行われる。これは、垂直ブロック境界及び水平ブロック境界の双方に当てはまる。1つのブロックにおける画素a、b、c及びdと、別のブロックにおける画素e、f、g及びhの場合、ブロック境界は以下に示すようにdとeとの間にある。
abcd|efgh
【0006】
フィルタ決定は、3つの画素差分と3つの閾値との比較に基づく。閾値は、量子化パラメータ(QP)に適応される。以下の条件を満たす場合、フィルタ決定は、ポジティブである。
|d−e|<T1、|c−d|<T2、及び|e−f|<T2
ここで、T1及びT2はQPに基づいて適応される。
【0007】
H.264においては、2つのフィルタリングモードがある。第1のフィルタリングモード(通常のフィルタリング)において、フィルタリングは、フィルタリングが現在の値を変更するデルタ値(Δ)で示される。ブロック境界に最近接する画素に対するフィルタリングは、以下の通りである。
【0008】
d’=d+Δc及びe’=e−Δc
ここで、Δcは、QPにより制限される値に対する閾値±T3にクリップされている。小さいQPより大きいQPに対しての方が更なるフィルタリングが可能である。クリッピングは、以下の通り示される。
【0009】
Δc=Max(−T3、Min(T3、Δ))
以下の2つの条件のいずれかが|b−d|<T2及び|e−g|<T2を更に満足する場合、フィルタ強度は増す。フィルタ強度は、例えば更なる変形を可能にするためにデルタ値をより小さい値にクリップすることで更に適応される。
【0010】
以下の条件が|d−e|<T1/4を満たす場合、第2の(強い)フィルタリングモードは、マクロブロック内境界に対してのみ適用される。
【0011】
H.264において採用された適応デブロッキングフィルタによる大きな制限は、ブロックのうちの少なくとも1つがイントラブロックである場合、第2の強いフィルタリングモードがマクロブロックエッジにわたってのみ適用される点である。しかし、ほぼ均一な画像領域における小さな差分がイントラ符号化ブロック以外の他のブロックに対しても発生し、内部マクロブロック内にも発生する。そのような場合に強いフィルタリングを更に適用できることが望ましい。しかし、フィルタリング制御は、画像における真のエッジ及びブロッキングアーチファクトによるエッジを区別できることが重要である。
【0012】
特許文献1は、H.264の標準的なフィルタリング決定と比較して計算の複雑さを軽減するH.264におけるデブロッキングフィルタリングに適用可能な簡素化を開示する。通常のフィルタリングを実行するかあるいはフィルタリングを実行しない決定検査は、2つのマクロブロック間の境界を横切る1つのライン又はラインの部分集合上で実行される。この決定は、同一の境界を横切る全てのラインに適用する。その結果、単一のフィルタリング決定はマクロブロック境界毎に算出され、この単一のフィルタリング決定はマクロブロック境界を横切る全てのラインに適用する。
【0013】
特許文献1において開示された適応デブロッキングフィルタリングによる大きな制限は、通常のフィルタリングのみが実行されることである。通常フィルタリングでは、より強いフィルタリングが可能でないため、ブロック境界にわたり可視アーチファクトの発生を引き起こす。
【先行技術文献】
【非特許文献】
【0014】
【非特許文献1】List他のAdaptive Deblocking Filter、IEEE Transactions on Circuits and Systems for Video Technology、2003年、13(7):614〜619ページ
【特許文献】
【0015】
【特許文献1】米国特許出願公開第2006/0078048号公報
【発明の概要】
【発明が解決しようとする課題】
【0016】
本発明の一般的な目的は、ブロッキングアーチファクトを抑制又は低減するために効率的なデブロッキングフィルタリングを提供することである。
【課題を解決するための手段】
【0017】
この目的及び他の目的は、本明細書において開示されるように実施形態により達成される。
【0018】
実施形態の一態様は、映像フレームにおいて複数の画素のブロックに適用可能なフィルタリング制御方法を規定する。この方法は、ブロックに対して第1のフィルタ決定値を算出するステップを含む。この第1のフィルタ決定値は、映像フレームにおいて複数の画素のブロックにおける画素の第1のライン及び隣接ブロックにおける画素の対応する第1のラインの画素値がブロックと隣接ブロックとの間のブロック境界にわたりフィルタリング方向に平行する方向にどの程度平滑であるかを表す。第2のフィルタ決定値は、ブロックに対して更に算出され、ブロックにおける画素の現在のラインの画素値がどの程度平坦なラインに近似するか、隣接ブロックにおける画素の対応する現在のラインの画素値がどの程度平坦なラインに近似するかを表す。第1のフィルタ決定値は第1の閾値と比較され、第2のフィルタ決定値は同様に第2の閾値と比較される。双方のフィルタ決定値がそれぞれの閾値を下回る場合、強いデブロッキングフィルタは、画素の現在のラインに対して選択され、現在のラインの画素値のうちの少なくとも1つをフィルタリングする。しかし、双方のフィルタ決定値がそれぞれの閾値を下回らない場合、弱いデブロッキングフィルタが代わりに画素の現在のラインに対して選択される。弱いデブロッキングフィルタは、強いデブロッキングフィルタより比較的低いフィルタリング強度を有する。
【0019】
実施形態の別の態様は、映像フレームにおいて複数の画素のブロックに対して第1のフィルタ決定値を算出するように構成された第1の決定値算出器を備えるフィルタリング制御装置に関する。第1のフィルタ決定値は、上記態様において上述されたように、映像フレームにおいてブロックにおける画素の第1のライン及び画素の隣接ブロックにおける画素の対応する第1のラインの画素値がフィルタリング方向に平行する方向にどの程度平滑であるかを表す。第2の決定値算出器は、ブロックにおける画素の現在のラインの画素値がどの程度平坦なラインに近似するか、隣接ブロックにおける画素の対応する現在のラインの画素値がどの程度平坦なラインに近似するかを表すブロックに対して第2のフィルタ決定値を算出するように実現される。
【0020】
フィルタリング制御装置は、それぞれ、第1のフィルタ決定値及び第2のフィルタ決定値を第1の閾値及び第2の閾値と比較するように構成された第1の閾値比較器及び第2の閾値比較器を更に備える。フィルタ選択器は、第1の閾値比較器及び第2の閾値比較器に接続され、第1のフィルタ決定値が第1の閾値を下回り、第2のフィルタ決定値が第2の閾値を下回る場合、画素の現在のラインの少なくとも1つの画素値をフィルタリングする強いデブロッキングフィルタを選択するように構成される。これらの双方の条件を満たさない場合、フィルタ選択器は、代わりに強いデブロッキングフィルタより比較的低いフィルタリング強度を有する弱いデブロッキングフィルタを選択する。
【0021】
実施形態の更なる態様は、フィルタリング制御装置を備える符号器及び復号器、並びに復号器を備えるメディア端末に関する。
【0022】
実施形態の態様により、強いデブロッキングフィルタリング又は弱いデブロッキングフィルタリングのいずれかを選択し、映像フレームにおいて画素の2つのブロック間の境界において存在するブロッキングアーチファクトを抑制できるようにする。実施形態によれば、強いデブロッキングフィルタは、画素のブロックのイントラ符号化対インター符号化等の符号化モードに関係なく、むしろブロック及びブロックのそれぞれのラインの特定の画素値に基づいて選択される。これにより、より効率的且つ適切にデブロッキングフィルタリングする。
【0023】
本発明は、添付の図面と共に以下の説明を参照することにより、本発明の更なる目的及び利点と共に最も良く理解されるだろう。
【図面の簡単な説明】
【0024】
【図1】図1は、一実施形態に係るフィルタリング制御方法を示すフローチャートである。
【図2A】、
【図2B】図2A及び図2Bは、隣接ブロック及びデブロッキングフィルタリングが適用されるブロック境界の2つの実施形態を示す図である。
【図3】図3は、一実施形態に係る図1の方法の更なるステップを示すフローチャートである。
【図4A】、
【図4B】、
【図4C】図4A〜図4Cは、種々の実施形態に係る3つの異なるフィルタリング決定の効果を示す図である。
【図5】図5は、一実施形態に係る図3の方法の更なるステップを示すフローチャートである。
【図6】図6は、一実施形態に係る図1の方法の更なるステップを示すフローチャートである。
【図7】図7は、一実施形態に係るブロック毎のフィルタリング決定及びライン毎のフィルタリング決定を概略的に示す図である。
【図8】図8は、一実施形態に係る図1の方法の更なるステップを示すフローチャートである。
【図9】図9は、一実施形態に係る図8の方法の更なるステップを示すフローチャートである。
【図10】図10は、一実施形態に係る図1の方法の更なるステップを示すフローチャートである。
【図11】図11は、フィルタリング制御装置の一実施形態を示す概略ブロック図である。
【図12】図12は、フィルタリング制御装置の別の実施形態を示す概略ブロック図である。
【図13】図13は、フィルタリング制御装置の更なる一実施形態を示す概略ブロック図である。
【図14】図14は、一実施形態に係るフィルタリング制御装置の一実現例を示す図である。
【図15】図15は、別の実施形態に係るフィルタリング装置の一実現例を示す図である。
【図16】図16は、一実施形態に係る符号器を示す概略ブロック図である。
【図17】図17は、一実施形態に係る復号器を示す概略ブロック図である。
【図18】図18は、一実施形態に係るメディア端末を示す概略ブロック図である。
【発明を実施するための形態】
【0025】
図中、同一の図中符号は、同様の要素又は対応する要素に対して使用される。
【0026】
一般に実施形態は、映像フレームにおいてブロック境界にわたりブロッキングアーチファクトを抑制するための適応デブロッキングフィルタリング又は適応ループフィルタリングに関連する。実施形態は、ブロックにおけるそれぞれの画素ラインに強いフィルタリング又は弱いフィルタリングを適用するかを判定するために採用される特定のフィルタ決定を導入する。強いフィルタリング又は弱いフィルタリングを使用する可能性と共に特定のフィルタ決定により、計算がより複雑にならずにブロッキングアーチファクトを効率的に低減できるようになる。
【0027】
図1は、映像フレームにおいて複数の画素のブロックに適用可能な一実施形態に係るフィルタリング制御方法を示すフローチャートである。当技術分野において既知であるように、映像フレームは、種々の使用可能なイントラ符号化モード及びインター符号化モードに従って符号化及び復号化される画素のオーバーラップしないブロックに分割される。一般に映像フレームは、16×16画素のオーバーラップしないマクロブロックに分割される。そのようなマクロブロックは、4×4画素又は8×8画素等の異なるサイズのより小さなブロックに更に分割される。しかし、実施形態に係る矩形ブロックは、例えば4×8、8×4、8×16又は16×8も可能である。実施形態は、画素のマクロブロック又はより大きなブロックを含む画素のそのようなあらゆるブロックに適用される。特定の一実施形態において、フィルタリング制御方法は、垂直方向及び/又は水平方向に少なくとも8個の画素を有する複数の画素の全てのブロックに適用可能である。当技術分野において、予測ユニット分割及び変換ユニットは、一般に、複数の画素のそのようなブロックを示すために採用される。
【0028】
新興の高効率映像符号化(HEVC)規格において、符号化単位(coding unit; CU)が使用される。現在、CUのサイズは64×64画素(最大)から4×4画素(最小)の間で変動する。このように、最大CUは、フレームの局所特徴に依存して「粒度のレベル」のより小さなCUに分割される。それは、最大CUが種々のサイズのより小さなCUに分割されることを意味する。実施形態は、本明細書において使用されるように「画素のブロック」という表現により含まれるものと考えられるそのような符号化単位と関連して更に使用される。
【0029】
ブロックにおける各画素はそれぞれの画素値を有する。一般に映像フレームは、画素に割り当てられた色値を有する。色値は規定の色形式で表される。例えば画素毎に赤成分、緑成分及び青成分を使用する他の形式が存在するが、一般的な色形式のうちの1つは、画素毎に1つの輝度成分及び2つの色差成分を使用する。
【0030】
従来、輝度成分及び色差成分は、場合によっては異なるフィルタリング決定及び異なるデブロッキングフィルタを採用して個別にフィルタリングされる。実施形態は、輝度成分のフィルタリング、色差成分のフィルタリング、又は輝度成分及び色差成分の双方へのフィルタリングに適用される。特定の一実施形態において、実施形態は、輝度フィルタリング又はルマ(luma)フィルタリングを実現するように適用される。
【0031】
適応デブロッキングフィルタリングは、境界、エッジ又は隣接ブロック間の境界にわたり実行される。その結果、そのような境界は、図2Aに示されるように、映像フレームにおいて並列に存在する2つの隣接ブロック10、20間の垂直境界1である。あるいは、境界は、図2Bに示されるように、2つの隣接ブロック10、20間の水平境界1である。一方のブロック10は、映像フレームにおいて他方のブロック20の上に位置する。特定の一実施形態において、垂直境界は、最初にフィルタリングされ、幾何学的順序で最も左の境界から開始し右側に向かって境界を進む。水平境界は、次にフィルタリングされ、幾何学的順序で上部の境界から開始し下部に向かって境界を進む。しかし、実施形態は、この特定のフィルタリング順序に限定されず、実際には事前定義されたあらゆるフィルタリング順序に適用可能である。特定の一実施形態において、映像フレームのエッジにおける境界は、フィルタリングされずにデブロッキングフィルタリングから除外されることが好ましい。
【0032】
本実施形態の方法はステップS1において開始し、第1のフィルタ決定値がブロックに対して算出される。このように算出されたフィルタ決定値は、映像フレームにおいてブロックにおける画素の第1のライン及び隣接ブロックにおける画素の対応する第1のラインの画素値がフィルタリング方向に平行する方向にどの程度平滑であるかを表す。現在のブロックにおける画素の第1のライン及び隣接ブロックにおける画素の対応するラインは、垂直境界にまたがる同一の水平線又は水平境界にまたがる同一の垂直線に属する。
【0033】
ブロックにおける画素の第1のラインは、事前定義された画素の水平線又は垂直線であることが好ましい。従って、第1のラインは、映像フレームのブロックにおける事前定義された画素行又は画素列に対応する。例えば第1のラインは、ブロックにおける行番号j又は列番号jに対応する。これは、次にフィルタリングされる別のブロックの第1のラインがその別のブロックにおける行番号j又は列番号jに対応することを意味する。
【0034】
従って、第1のフィルタ決定は、フィルタリング決定に平行する方向で画素値の平滑度を調査する。換言すると、第1のフィルタ決定は、ブロックにおける第1のラインの画素値及び隣接ブロックにおける対応する第1のラインの画素値が平滑であるか、すなわちブロック境界にわたりフィルタリング方向に平行する方向と殆ど異ならないかあるいは少なくとも規定の最大量を超えて異ならないかを調査する。そのような平滑画素値は、構造を全く又は殆ど含まずに平滑であるため、ゼロ又は小さい第1のフィルタ決定値を与え、第2のフィルタ決定からの結果に依存するが、一般に強くフィルタリングされるべきである。
【0035】
フィルタリング方向に平行する方向の平滑画素値の特定の例は、第1のラインの画素値が近似平面を形成するか、対応する第1のラインの画素値が近似平面を形成するかである。第1のフィルタ決定は、境界の両側のあらゆる平面に対する検出器であると考えられる。従って、境界の両側の画素値が近似平面を形成する場合、第1のフィルタ決定値は、ゼロであるかあるいは少なくともほぼゼロである。しかし、いくつかの実施形態において、垂直/水平境界を横切る水平/垂直線は、平面を形成しないがフィルタリングの方向に平行する方向で平滑であるが、フィルタリングされるべきである。
【0036】
次のステップS2は、ブロックに対して第2のフィルタ決定を算出する。第2のフィルタ決定値は、ブロックにおける画素の現在のラインの画素値がどの程度平坦なラインに近似するか、隣接ブロックにおける画素の対応する現在のラインの画素値がどの程度平坦なラインに近似するかを表す。
【0037】
第1のフィルタ決定に対する第1のラインとは異なり、画素の現在のラインはブロックにおける固定のラインではない。従って、水平線又は垂直線の各々がそれぞれの算出された第2のフィルタ決定値を有することが好ましいのに対して、単一のフィルタ決定値がブロックの垂直境界又は水平境界毎に算出されるように、第2のフィルタ決定値は、ブロックにおいてライン毎に算出されることが好ましい。
【0038】
フィルタリング方向に平行する方向で画素値の平滑度を調査することにより、傾斜を形成する画素値(図4Bの左部分を参照)に対してもゼロの第1のフィルタ決定値を生成する第1のフィルタ決定とは明らかに異なり、第2のフィルタ決定は画素値の平坦度を調査する。ブロックの調査された画素値及び隣接ブロックの調査された画素値が等しいかあるいはほぼ等しい場合、現在のライン及び対応する現在のラインの画素値は、平坦なラインに近似すると考えられる。そのような場合、第2のフィルタ決定値は、ゼロになるかあるいはほぼゼロになる。画素値が平坦なラインに近似する場合、これは、現在のライン及び対応する現在のラインの画素が重要な構造を全く有さず、強いフィルタリングがあらゆるブロッキングアーチファクトを平滑にすることが好ましいことを意味する。
【0039】
次のステップS3は、第1の決定値(FDV)を第1の閾値(T1)と比較し、第2のフィルタ決定値を第2の閾値(T2)と比較する。第1のフィルタ決定値が第1の閾値を下回り、第2のフィルタ決定値が第2の閾値を下回る場合、ステップS4に進み、第2の、すなわち強いデブロッキングフィルタが選択され、現在のラインの少なくとも1つの画素値の値をフィルタリング及び変更するように画素の現在のラインの画素に適用される。しかし、第1のフィルタ決定及び第2のフィルタ決定のいずれかがステップS3で関連する閾値を下回らない場合、ステップS5に進み、第1の通常の、すなわち弱いデブロッキングフィルタが選択される。弱いデブロッキングフィルタは、現在のラインの少なくとも1つの画素値の画素をフィルタリング及び変更するように画素の現在のラインの画素に適用可能である。ステップS4で選択された強いデブロッキングフィルタは、ステップS5で選択された弱いデブロッキングフィルタより比較的高いフィルタリング強度を有する。
【0040】
フィルタ決定が現在のブロック境界に関してブロックにおける現在のラインに対して実行されると、ステップS2に戻り、ブロックにおける画素の別のラインに対して新しい第2のフィルタ決定値を算出する。これを線L1により概略的に示す。従って、ステップS2〜S5により形成されたループは、垂直境界の場合はブロックにおける全ての画素行及び水平境界の場合はブロックにおける全ての画素列に対して一度実行されることが好ましい。異なる画素行又は画素列は順次処理され、例えば、ブロックにおいて上の行又は最も左の列から開始し、下の行又は最も右の列に向けて進む。あるいは、ブロックにおける異なる画素ラインは、フィルタリング制御方法を加速するように並列処理される。
【0041】
従って、ステップS1は、ブロックにおいて現在の境界に対して一度だけ実行されることが好ましい。これは、ステップS1が、殆どのブロックに対して、隣接ブロックに対する垂直境界に対して一度、隣接ブロックに対する水平境界に対して一度の2回実行されることを意味する。
【0042】
次に、第1のフィルタ決定及び第2のフィルタ決定の種々の実施形態を更に詳細に説明する。
【0043】
上述したように、第2のフィルタ決定は、画素の現在のラインの画素値がどの程度平坦なラインに近似するか、隣接ブロックにおける画素の対応する現在のラインの画素値がどの程度平坦なラインに近似するかを示す。特定の一実施形態において、第2のフィルタ決定は、ブロックにおけるラインの端部及び隣接ブロックにおける対応する現在のラインの端部の画素値を考慮する。図2A及び図2Bを参照すると、図中符号12は、ブロック10における画素11、13、15、17の現在のラインを示し、隣接ブロック20における画素21、23、25、27の対応する現在のライン22は、現在のライン12と同一の行(図2A)又は同一の列(図2B)に沿うが、境界1の反対側に拡張する。
【0044】
本実施形態において、第2のフィルタ決定値は、|p3i−p0i|+|q0i−q3i|として算出される。この式及び更に本明細書において、pkiは、図2Aに示されるようにブロック10における行番号i及び列番号kにおける画素の画素値又は図2Bに示されるようにブロック10における列番号i及び行番号kにおける画素の画素値を示す。それに対応してqkiは、隣接ブロック20における画素の画素値を示す。図2A及び図2Bに示された特定のブロックの実施形態において、k=0、1、2、3、i=0、1、2、3、4、5、6、7である。
【0045】
これは、第2のフィルタ決定が、ブロック境界1に最近接する現在のライン12の画素の画素値とブロック境界1に3番目に最近接する(図2A及び図2Bにおいてブロック境界1からi番目に最も遠い)現在のライン12の画素17の画素値との絶対差分と、ブロック境界1に最近接する対応する現在のライン22の隣接ブロック20における画素17の画素値とブロック境界1に3番目に最近接する(図2A及び図2Bにおいてブロック境界1からi番目に最も遠い)対応する現在のライン22の隣接ブロック20における画素27の画素値との絶対差分の和に等しい。
【0046】
別の一実施形態において、第2のフィルタ決定は、|p3i−2p2i−p1i+2p0i|+|q0i−2p1i−q2i+2q3i|として算出される。従って、第2のフィルタ決定は、4×8画素又は8×4画素のブロックの場合、ブロック境界に最近接する現在のライン12の画素11の画素値の2倍の値+ブロック境界1に2番目に最近接する現在のライン12の画素13の画素値及びブロック境界1に3番目に最近接する現在のライン12の画素15の画素値の2倍の値を減算したブロック境界1に4番目に最近接する現在のライン12の画素17の画素値の絶対値を算出することに基づく。更に絶対値は、ブロック境界1に最近接する対応する現在のライン22の隣接ブロック20における画素21の画素値+ブロック境界1に2番目に最近接する対応する現在のライン22の隣接ブロック20における画素23の画素値の2倍の値及びブロック境界1に3番目に最近接する対応する現在のライン22の隣接ブロック20における画素25の画素値を減算しブロック境界1に4番目に最近接する対応する現在のライン22の隣接ブロック20における画素27の画素値の2倍の値を算出したものである。2つの絶対値の和は、第2のフィルタ決定値を構成する。
【0047】
このフィルタ決定の利点は、それが傾斜の形態のブロック境界に対する出力としてゼロを与えないことである。このフィルタ決定は、エッジに対して更に敏感であり、ブロック境界に対する画素値の線形増加に対する出力を減衰する。
【0048】
第1のフィルタ決定値は、第1のライン及び対応する第1のラインの画素値がフィルタリング方向に平行する方向にどの程度平滑であるかを表す。特定の一実施形態において、第1のフィルタ決定値は、|p2j−2p1j+p0j|+|q2j−2q1j+q0j|に基づくことが好ましい。式中、jは、ブロック10における第1のライン及び隣接ブロック10における対応する第1のラインの行番号(図2A)又は列番号(図2B)を示す。従って、第1のフィルタ決定は、ブロック境界1に最近接する第1のラインの画素の画素値+ブロック境界1に2番目に最近接する前記第1のラインの画素の画素値の2倍の値を減算したブロック境界1に3番目に最近接する前記第1のラインの画素の画素値の絶対値を算出することに基づく。また、ブロック境界1に最近接する対応する第1のラインの隣接ブロック20における画素の画素値+ブロック境界1に2番目に最近接する対応する第1のラインの隣接ブロック20の画素の画素値の2倍の値を減算したブロック境界1に3番目に最近接する対応する第1のラインの隣接ブロック20における画素の画素値の絶対値。
【0049】
このフィルタ決定の実施形態は、境界の両側の構造がフィルタリング方向に平行する方向で平滑であるかをチェックする。
【0050】
特定の一実施形態において、第1のフィルタ決定値は、ブロックにおける第1のライン及び隣接ブロックにおける第1の対応するラインの画素値、並びにブロックにおける第2のライン及び隣接ブロックにおける対応する第2のラインの画素値に基づいて算出される。第1のライン及び第2のラインは、ブロックにおける事前定義された行番号(図2A)又は事前定義された列番号(図2B)に対応することが好ましく、対応する第1のライン及び第2のラインは、隣接ブロックにおける対応する事前定義された行番号又は列番号である。
【0051】
2つのラインは、ブロックにおいて分散されることが好ましい。従って、第1のフィルタ決定値は、|p22−2p12+p02|+|q22−2q12+q02|+|p25−2p15+p05|+|q25−2q15+q05|として算出される。これは、絶対値が、ブロック10において行/列番号2及び行/列番号5、隣接ブロック20において行/列番号2及び行/列番号5に対して算出されることを意味する。各絶対値は、ブロック境界1に最近接する関連する行/列の前記画素の画素値+ブロック境界1に2番目に最近接する関連する行/列の画素の画素値の2倍の値を減算したブロック境界1に3番目に最近接する関連する行/列の画素の画素値の絶対値として規定される。
【0052】
第1のフィルタ決定値を算出する別の実施形態は、
|p22−2p13+p04|+|q22−2q13+q04|+|p25−2p14+p03|+|q25−2q14+q03| 又は
|p22−2p13+p04+p25−2p13+p03|+|q22−2q13+q04+q25−2q14+q03|
を含む。これらの2つの実施形態において、ブロック10におけるライン及び隣接ブロック20における対応するラインは、複数の画素の対角線である。
【0053】
更に別の方法は、上述したように2つのライン及び対応するラインの画素値ではなく、ブロックにおける4つのライン及び隣接ブロックにおける4つの対応するラインの画素値に基づいて第1のフィルタ決定値を算出する方法である。
【0054】
【数1】
【0055】
本実施形態の変形例は、行/列番号0、3、4及び7、行/列番号1、2、5及び6、行/列番号0、3、5及び6又は行/列番号1、2、4及び7を使用することを含む。これらの実施形態は、行/列番号2及び5等の2つのライン及び2つの対応するラインのみを使用することに更に適用される。
【0056】
上述の実施形態において、2つの異なるフィルタ決定は、ブロックにおける画素の現在のラインに対して強いフィルタリング又は弱いフィルタリングを適用するかを判定するために採用される。いくつかの適応例において、第3のフィルタ決定を追加して使用することが好ましい。これは、強いフィルタリング(図1のステップS4)により生じた画素値に対するあらゆる変化が束縛(bound)されないためである。例えば、少なくともブロックの第1のライン及び現在のラインの画素値、並びに隣接ブロックの対応する第1のライン及び対応する現在のラインの画素値が全く等しい場合、第1のフィルタ決定値及び第2のフィルタ決定値は、双方ともゼロに等しいかあるいはほぼゼロである。しかし、第1のライン及び現在のラインの画素値は、全く等しいが、対応する第1のライン及び対応する現在のラインの画素値と非常に異なる可能性がある。ブロック境界と位置合わせされた真の構造又はエッジが存在する場合、そのような状況が発生する。これは、エッジが何らかのブロッキングアーチファクトによるものではなく、特定の映像フレームの固有特性であるため、フィルタリングされないべきであることを意味する。従って、ブロック境界と位置合わせされたそのようなエッジを検出するために第3のフィルタ決定を追加することが好都合である。
【0057】
図3は、ブロック境界と位置合わせされたエッジを強くフィルタリングし、検出することで発生したあらゆる画素値変化を束縛(bind)する第3のフィルタ決定値の使用法を示すフローチャートである。この方法は、図1のステップS2から継続する。次のステップS10は、ブロックに対して第3のフィルタ決定値を算出する。第3のフィルタ決定値は、ブロック境界に最近接する現在のラインの画素の画素値とブロック境界に最近接する対応する現在のラインの隣接ブロックにおける画素の画素値との絶対差分を表す。換言すると、第3のフィルタ決定値は、|p0i−q0i|に等しいことが好ましい。次のステップS11は、図1のステップS1からの第1のフィルタ決定値を第1の閾値と比較し、図1のステップS2からの第2のフィルタ決定値を第2の閾値と比較し、ステップS10からの第3のフィルタ決定値を第3の閾値(T3)と比較する。全てのフィルタ決定値がそれぞれの関連する閾値を下回る場合、図1のステップS4に進み、強いデブロッキングフィルタが選択され、現在のラインの画素に適用される。全てのフィルタ決定値がそれぞれの関連する閾値を下回らない場合、S11から図1のステップS5に進み、弱いデブロッキングフィルタを代わりに選択する。
【0058】
従って、本実施形態において、第1のフィルタ決定値が現在のブロックに対して一度所定のブロック境界に対して算出されるのに対し、第2のフィルタ決定値及び第3のフィルタ決定値は、ブロック境界に直交するライン毎に算出されることが好ましい。
【0059】
図4A〜図4Cは、3つの異なるフィルタ決定の効果を視覚的に示す。図4A〜図4Cにおいて、ブロックにおけるライン及び隣接ブロックにおける対応するラインの画素に対する画素値を示す。ブロック境界は、図4A〜図4Cにおいて垂直の破線で示される。図4Aは、第2のフィルタ決定に対応し、現在のライン及び対応する隣接する平坦なラインの画素値がどの程度平坦なラインに近似するかを調査する。現在のラインの端画素に対する画素値が本実施例において等しいため、ブロックにおける現在のラインの画素値が平坦なラインに正確に近似されることにより、ほぼゼロの値を与えることが図4Aから分かる。しかし、隣接ブロックにおける対応する現在のラインの画素値は、平坦なラインとして近似されない。従って、これらの画素は、第1のフィルタ決定値に対して貢献する。
【0060】
図4Bは、ブロック及び隣接ブロックにおける第1のライン及び対応する第1のラインに沿う画素値を示す。第1のラインの画素の画素値は、フィルタリング方向に平行する方向で平滑である。これらの画素値は、実際には傾斜を形成し、|p2j−2p1j+p0j|+|q2j−2q1j+q0j|に基づいて第1のフィルタ決定値に対して貢献しない。しかし、隣接ブロックにおける対応する第1のラインの画素値は、フィルタリング方向に平行する方向で平滑ではないため、第1のフィルタ決定値に対して貢献する。
【0061】
最後に図4Cは、ブロック境界に最近接する画素の画素値とブロック境界の両側の画素値との絶対差分に基づく第3のフィルタ決定値を使用する概念を示す。これらの値が等しいかあるいはほぼ等しい場合、第3のフィルタ決定値がゼロ以下であるのに対し、大きい差分は、大きな第3のフィルタ決定値を生じさせることにより、現在のラインに対して強いデブロッキングフィルタを選択することを防止する。
【0062】
図5は、フィルタリング制御方法の更なるステップを示すフローチャートである。このフローチャートは、第3のフィルタ決定値と比較される第3の閾値を判定する一実施形態を示す。この方法は、図1のステップS2から継続する。次のステップS20は、ブロックに対して選択された量子化パラメータに基づいて第3の閾値を判定する。量子化パラメータは、ブロックの残差符号化のために選択され、映像圧縮の品質を制御する。これは、当技術分野において既知であるために本明細書において更に説明しない。
【0063】
ステップS20で量子化パラメータに基づいて第3の閾値を判定することは、T3=a1×tcとして第3の閾値を判定することを含むことが好ましい。パラメータtcは、量子化パラメータに基づいてブロックに対して選択されたクリッピング閾値を表す。強いデブロッキングフィルタによる強いフィルタリングが、弱いデブロッキングフィルタによる弱いフィルタリング及びクリッピング閾値が画素値を変更する値より大きい値でブロック境界に最近接する現在のラインの画素の画素値を変更する場合、パラメータa1は、強いデブロッキングフィルタを選択することを防止するように選択された乗数である。実験的検査が実施されており、a1=2.5が適切に機能することを検証する。また、2.5の値は、第3の閾値がT3=(tc×5+1)>>1のような除算を全く使用せずに算出されることを示す。なお、X>>Yは、Xを2Y回右シフトすること、すなわちX/2Yを示す。
【0064】
別の一実施形態において、パラメータa1は、図1のステップS5で選択された弱いデブロッキングフィルタに基づいて判定される。例えば、ブロックと隣接ブロックとの間にオフセットf1を含む2つの平坦なブロックの場合、H.264(1 −4 4 −1)/8に従う弱いデブロッキングフィルタは、p0i'=p0i+3/8・f1、及び、q0i'=q0i−3/8・f1のの値でブロック境界に最近接する画素の画素値を補間する。そのような場合、パラメータa1は、強いフィルタリングが弱いフィルタリングを含むために使用されたパラメータtcより強いアーチファクトを生成する場合に、平坦ブロックに対して選択されないような場合と同様に、8/3として選択される。
【0065】
量子化パラメータに基づいて第3の閾値を判定する上述の実施形態は、ブロック境界に最近接する現在のラインの画素の画素値とブロック境界に最近接する隣接ブロックにおける対応する現在のラインの画素の画素値との絶対差分を値tcに束縛(bind)する。
【0066】
第3の閾値の判定は、実際にはブロックに対して一度だけでよい。これは、ステップS20が、図1のステップS1とステップS2との間に、ステップS1と並列に、あるいは図5に示されたようにステップS2に後続するのではなく実際にはステップS1の前に実行されることが好ましい。
【0067】
図6は、第1のフィルタ決定値及び第2のフィルタ決定値と関連して使用される第1の閾値及び第2の閾値を判定するステップを示す対応するフローチャートである。ステップS30は、現在のブロックに対して選択された量子化パラメータに基づいて第1の閾値及び第2の閾値を判定する。更に第2の閾値は、第1の閾値の半分に等しいと判定されることが好ましい。特定の一実施形態において、T1=β>>2及びT2=β>>3であり、式中、パラメータβは、ブロックの量子化パラメータ(QP)に基づいて判定される。以下の表1は、種々の可能な量子化パラメータ値に対する、tcβの取り得る値を示している。
【0068】
【表1】
【0069】
そのような場合、3つのフィルタ決定において採用された全ての閾値を、単一の入力、すなわち、現在のブロックに対して判定された量子化パラメータを入力して用いてを導出するため、表1等の単一のルックアップテーブルを用いることができる。
【0070】
上述の2つ又は好ましくは3つのフィルタ決定は、ブロックにおける画素の現在のラインに対して強いフィルタリング又は弱いフィルタリングを使用するかを選択するために採用される。これらのフィルタ決定は、あらゆるフィルタリングが実際に適用されるかを判定するために使用されたフィルタ決定を伴うことが好ましい。そのような更なるフィルタ決定は、第2のフィルタ決定及び第3のフィルタ決定に類似するラインに基づくフィルタ決定である。しかし、ライン毎にフィルタリングするか否かのそのようなラインに基づくフィルタ決定を下すことは、計算が複雑すぎると考えられる場合もある。そのような場合、ブロックにおける全てのライン及び現在のブロック境界に対する全てのラインに適用するブロックに基づく、すなわちブロック毎のフィルタ決定を使用することがより好都合である。図7はこの概念を示す。第1のブロック毎のフィルタ決定は、ブロック及び関連するブロック境界に対して一度算出される。このブロック毎のフィルタ決定は、ブロック及びブロック境界に対して何らかのデブロッキングフィルタリングを実行するか否かを決定するために採用される。このブロック毎のフィルタ決定が行われ、デブロッキングフィルタリングを実行すべきであると判断される場合、ライン毎のフィルタ決定、すなわち第1のフィルタ決定及び第2のフィルタ決定、並びに好ましくは第1のフィルタ決定、第2のフィルタ決定及び第第3のフィルタ決定は、現在のラインが強いデブロッキングフィルタ又は弱いデブロッキングフィルタによりフィルタリングされるべきかを選択するために採用される。
【0071】
図8は、そのようなブロック毎のフィルタ決定又はブロック別のフィルタ決定を示すフローチャートである。ステップS40において開始し、現在のブロック及び関連するブロック境界に対してブロック別の決定値を算出する。算出されたブロック別の決定値は、ブロックにおける画素の第1のライン及び隣接ブロックにおける画素の対応する第1のラインの画素値がフィルタリング方向に平行する方向にどの程度平滑であるか、並びにブロックにおける画素の第2のライン及び隣接ブロックにおける画素の対応する第2のラインの画素値がフィルタリング方向に平行する方向にどの程度平滑であるかを表す。次のステップS41は、ステップS40で算出されたブロック別の決定値をブロック別の閾値(Tb)と比較する。ブロック別の決定値がブロック別の閾値を下回らない場合、方法は終了し、デブロッキングフィルタリングは現在のブロック及び関連するブロック境界に対して実行されない。しかし、ブロック別の決定値がブロック別の閾値を下回る場合、デブロッキングフィルタリングがブロックに適用され、図1のステップS1に進み、強いデブロッキングフィルタリングと弱いデブロッキングフィルタリングとの間で決定される。
【0072】
特定の一実施形態において、ステップS40で算出されたブロック別の決定値は、上述の第1のフィルタ決定値に等しい。従って、第1のフィルタ決定値に対する上述の実施形態は、ブロック別のフィルタ決定値にも適用できる。従って、特定の一実施形態において、|p22−2p12+p02|+|q22−2q12+q02|+|p25−2p15+p05|+|q25−2q15+q05|として算出される。しかし、ブロック別のフィルタ決定値が第1のフィルタ決定値に等しくなるように算出されることが好ましい場合でも、ブロック別の閾値は、第1の閾値に等しくなくてもよいし、第1の閾値に等しくないことが好ましい。
【0073】
図9は、ブロック別の閾値を判定する方法を示すフローチャートである。ステップS50において開始し、ブロック別の閾値は、現在のブロックに対して判定された量子化パラメータに基づいて判定される。特定の一実施形態において、ブロック別の閾値は、ブロックの残差符号化のために選択された量子化パラメータに基づいて、上記の表1等のルックアップテーブルから判定される。
【0074】
ステップS50の一実施形態は、量子化パラメータに基づいてブロック別の閾値を判定する。第1の閾値はブロック別の閾値の1/4に等しいと判定されることが好ましく、第2の閾値はブロック別の閾値の1/8に等しいと判定されることが好ましい。特定の一実施形態において、Tb=β、T1=β>>2、及び、T2=β>>3であり、式中、βは、例えば表1において規定された量子化パラメータに基づいて選択される。
【0075】
一実施形態において、更なる条件又は基準が、現在のブロックAと隣接ブロックBとの間のブロック境界がフィルタリングされるべきかを決定するために、ブロック別のフィルタ決定に加えて利用できる。そのような更なる条件の例は、以下のことを含む。
i)ブロックA又はブロックBは、イントラ(MODE_INTRA)に等しい予測モード(PredMode)を有する。
ii)ブロックA又はブロックBは、非ゼロ変換係数を有する。
iii)ブロックA又はブロックBは、異なる基準フレーム又は異なる数の動きベクトルを使用する。
iv)1つの動きベクトルはブロックAを予測するために使用され、1つの動きベクトルはブロックBを予測するために使用され、使用された動きベクトル間の水平成分又は垂直成分の絶対差分は、1/4ルマフレームサンプルの単位(in units of quater luma frame samples)で4以上である。
v)2つの動きベクトル及び2つの異なる基準ピクチャは、ブロックAを予測するために使用され、同一の2つの基準ピクチャに対する2つの動きベクトルは、ブロックBを予測するために使用され、同一の基準ピクチャに対して2つのブロックを予測するために使用された2つの動きベクトル間の水平成分又は垂直成分の絶対差分は、1/4ルマフレームサンプルの単位で4以上である。
vi)同一の基準ピクチャに対する2つの動きベクトルは、ブロックAを予測するために使用され、同一の基準ピクチャに対する2つの動きベクトルは、ブロックBを予測するために使用され、2つの分割を予測するために使用された対応する動きベクトル間の水平成分又は垂直成分の絶対差分は、1/4ルマフレームサンプルの単位で4以上である。
【0076】
上述の条件i)〜vi)はいずれかが選択可能であることが好ましい。これは、条件i)〜vi)のうちのいずれかが現在のブロックAに対して満たされ、ブロック別のフィルタ決定が真である場合、デブロッキングフィルタリングはブロック境界にわたり適用されるべきであり、強いデブロッキングフィルタ又は弱いデブロッキングフィルタは、ブロックにおける画素のライン毎に選択されるべきである。これは、条件i)〜vi)がいずれも現在のブロックAに対して満たされない場合、ブロックA及び関連する境界に対してデブロッキングフィルタリングが実行されないことが好ましい。
【0077】
図10は、図1に示された方法の更なるステップを示すフローチャートである。方法は、図1のステップS4又はS5から継続する。次のステップS60は、画素の現在のラインの画素値を、選択されたデブロッキングフィルタによりフィルタリングする。これは、方法が図1のステップS4から継続する場合、ステップS60は、強いデブロッキングフィルタにより画素値をフィルタリングすることを意味する。
【0078】
実施形態は、ブロッキングアーチファクトを抑制するために当技術分野において採用されたあらゆる強いデブロッキングフィルタと組み合わせて適用される。特定の一実施形態において、強いデブロッキングフィルタリングは、以下の演算の組により実行される。
p0i'=(p2i+2p1i+2p0i+2q0i+q1i+4)>>3
p1i'=(p2i+p1i+p0i+q0i+2)>>2
p2i =(2p3i+3p2i+p1i+p0i+q0i+4)>>3
q0i'=(p1i+2p0i+2q0i+2q1+q2i+4)>>3
p1i'=(p0i+q0i+q1i+q2i+2)>>2
q2i'=(p0i+q0i+q1i+3q2i+2q3i+4)>>3
式中、iはブロックにおける現在のラインを表す。従って、図2A及び図2Bのブロックを参照すると、i=0、...、7である。上述の式において、pki', qki'、k=0...2は、フィルタリング後のブロック及び隣接ブロックのそれぞれにおける変更された画素値を表す。
【0079】
変更された画素値は、許可された画素値範囲内になるように更にクリップされることが好ましい。特定の一実施形態において、クリッピング動作により、変更された画素値が256個の異なる画素値を可能にする[0、255]の範囲内に存在するようにする。これは、フィルタリング後の変更された画素値が0より小さいか又は255より大きい場合に0又は255によりそれぞれ置換されることを意味する。
【0080】
あるいは図1のステップS3の比較の結果、図1のステップS5に進む場合、ステップS60は、弱いデブロッキングフィルタにより画素値をフィルタリングする。
【0081】
実施形態は、ブロッキングアーチファクトを抑制するために当技術分野において採用されたあらゆる弱いデブロッキングフィルタと組み合わせて適用される。特定の一実施形態において、弱いデブロッキングフィルタリングは、以下の演算の組により実行される。
p0i'=p0i+Δ0
q0i'=q0i−Δ0
ここで、Δ0の値は、最初のΔ0i値の算出を含む2ステップ処理において算出され、後続してこの値を上述の式に適用する前にクリップする。特定の一実施形態において、Δ0i=(p1i−4p0i+4q0i−qi+4)>>3である。弱いデブロッキングフィルタのインパルス応答は、(1、4、4 −1)/8である。Δ0iのクリッピング範囲は、ブロックの量子化パラメータに基づいて判定される。
【0082】
本実施形態において、画素値p1i、q1iは、更なるフィルタ条件を満たす場合は変更され、更なるフィルタ条件を満たさない場合は変更されない。一実施形態において、|p2i−p0i|<T4の場合、p1iは変更される。ここで、T4は、4番目の閾値を表し、ブロックの量子化パラメータに基づいて判定されることが好ましい。この条件が真である場合、p1i'=p1i+Δp1である。値Δp1は、2ステップ処理において更に算出され、初期値Δp1i=(p2i+((p0i+q0i+1)>>1)−2p1i)>>1を算出することから開始する。対応するインパルス応答は、(1、0、0.5、0.5)/2である。Δp1は、Δp1=Min(Max(−tc、Δp1i)、tc)として判定される。式中、tcは、ブロックの量子化パラメータに基づいて判定され、上記の表1等のルックアップテーブルから判定される。
【0083】
同様に、|q2i−q0i|<T4の場合、q1iは変更される。この条件が真である場合、q1i'=q1i+Δq1である。値Δq1は、2ステップ処理において更に算出され、インパルス応答が(0.5、0.5、0、1)/2である初期値Δq1i=(q2i+((q0i+p0i+1)>>1)−2q1i)>>1を算出することから開始する。Δq1は、Δq1=Min(Max(−tc、Δq1i)、tc)として判定される。
【0084】
一実施形態において、Δ0iのクリッピング範囲は、値tc、並びに条件|p2i−p0i|<T4及び|q2i−q0i|<T4の評価に基づいて判定される。そのような場合、クリッピング値tc'は、最初にtcに等しく設定され、次に満される条件|p2i−p0i|<T4及び|q2i−q0i|<T4毎に1だけ増分される。一実施形態において、Δ0=Min(Max(−tc'、Δ0i)、tc')である。
【0085】
別の一実施形態において、Δp1i=(((((p0i+q0i+1)>>1)+p2i+1)>>1)−p1i)>>1 及び Δq1i=(((((p0i+q0i+1)>>1)+q2i+1)>>1)−q1i)>>1である。インパルス応答は、(2、4、1、1)/8及び(1、1、4、2)/8である。このフィルタリングは、フィルタタップ(1、0、0.5、0.5)/2を含むフィルタを使用する場合と比較して画素値p2i、q2iに対してより適切な補間特性を提供する。これにより、不自然なエッジを意図せずに導入する危険性を更に低下させる。
【0086】
別の実施形態において、弱いフィルタリングは、以下の演算に従って実行される。
【0087】
Δ=Clip(−tc、tc、(13(q0i−p0i)+4(q1i−p1i)−5(q2i−p2i)>>5))
p0i'=Clip(0、255、(p0i+Δ))
q0i'=Clip(0、255、(q0i−Δ))
p1i'=Clip(0、255、(p1i+Δ/2))
q1i'=Clip(0、255、(q1i−Δ/2))
式中、Clip(a、b、X)=Min(Max(a、X)、b)である。
【0088】
図11は、一実施形態に係るフィルタリング制御装置100を示す概略ブロック図である。フィルタリング制御装置100は、映像フレームにおいて複数の画素のブロックに対して第1のフィルタ決定値を算出するように構成された第1の決定値算出器110を備える。第1の決定値算出器110は、ブロックにおける画素の第1のライン及び隣接ブロックにおける画素の対応する第1のラインの画素値がフィルタリング方向に平行する方向にどの程度平滑であるかを表す第1のフィルタ決定値を算出する。
【0089】
第1の閾値比較器130は、第1の決定値算出器110により算出された第1のフィルタ決定値を第1の閾値と比較するように構成される。
【0090】
第2の決定値算出器120は、ブロックにおける画素の現在のラインの画素値がどの程度平坦なラインに近似するか、隣接ブロックにおける画素の対応する現在のラインの画素値がどの程度平坦なラインに近似するかを表すブロックに対して第2のフィルタ決定値を算出するようにフィルタリング制御装置100において実現される。
【0091】
第2の決定値算出器120により算出された第2のフィルタ決定値は、第2の閾値比較器140により第2の閾値と比較される。
【0092】
第1の閾値比較器130により判定されたように第1のフィルタ決定値が第1の閾値を下回り、第2の閾値比較器140により判定されたように第2のフィルタ決定値が第2の閾値を下回る場合、フィルタリング制御装置100は、画素の現在のラインの少なくとも1つの画素値をフィルタリングする強いデブロッキングフィルタを選択するように構成されたフィルタ選択器150を追加する。第1の閾値比較器130により判定されたように第1のフィルタ決定値が第1の閾値を下回らず、第2の閾値比較器140により判定されたように第2のフィルタ決定値が第2の閾値を下回らない場合、フィルタ選択器150は、画素の現在のラインの少なくとも1つの画素値をフィルタリングする弱いデブロッキングフィルタを選択するように構成される。
【0093】
フィルタリング制御装置100は、現在のブロック境界に対して画素の各ライン上でそのように動作し、それらを調査する。これは、ブロックにおける画素の第2の、すなわち新しい現在のラインに移動する場合、第2の決定値算出器120が新しい第2のフィルタ決定値を算出することを意味する。しかし、第1の決定値算出器110は、新しい第1のフィルタ決定値を算出する必要がないことが好ましい。明らかに対照的に、同一の第1のフィルタ決定値は、ブロックにおける画素の全てのライン及び関連するブロック境界に対して適用可能であり、使用されることが好ましい。
【0094】
第1の決定値算出器110及び第2の決定値算出器120は、上述の実施形態のうちのいずれかに従って、それぞれ第1の決定値及び第2の決定値を算出するように構成される。例えば第2の決定値算出器120は、|p3i−p0i|+|q0i−q3i|として第2のフィルタ決定値を算出することが好都合である。それに対応して、特定の一実施形態において、第1の決定値算出器は、|p2j−2p1j+p0j|+|q2j−2q1j+q0j|に基づいて第1の決定値を算出し、好ましくは|p22−2p12+p02|+|q22−2q12+q02|+|p25−2p15+p05|+|q25−2q15+q05|として第1のフィルタ決定値を算出するように構成される。
【0095】
図12は、フィルタリング制御装置200の別の実施形態を示す概略ブロック図である。第1の決定値算出器210、第1の閾値比較器230、第2の決定値算出器220及び第2の閾値比較器240の動作は、基本的に図11に示された上述の実施形態と同一である。従って、フィルタリング制御装置200のこれらのユニット210、220、230、240を更に詳細には説明しない。
【0096】
フィルタリング制御装置200は、ブロックに対して第3のフィルタ決定値を算出するように構成された第3の決定値算出器260を備える。第3のフィルタ決定値は、ブロック境界に最近接する現在のラインの画素の画素値とブロック境界に最近接する対応する現在のラインの画素の画素値との絶対差分、すなわち|p0i−q0i|を表す。第3の閾値比較器270は、第3の決定値算出器により算出された第3のフィルタ決定値を第3の閾値と比較するようにフィルタリング制御装置200において実現される。第1のフィルタ決定値が第1の閾値を下回り、第2のフィルタ決定値が第2の閾値を下回り、第3の閾値比較器270により判定されたように第3のフィルタ決定値が第3の閾値を下回る場合、フィルタ選択器250は、強いデブロッキングフィルタを選択するように構成される。これらの全ての条件を満たさない場合、フィルタ選択器250は、代わりに画素の現在のラインの少なくとも1つの画素値をフィルタリングする弱いデブロッキングフィルタを選択する。
【0097】
フィルタリング制御装置200は、それぞれ、第1の閾値比較器230、第2の閾値比較器240及び第3の閾値比較器270により採用された第1の閾値、第2の閾値及び第3の閾値を判定するように構成された閾値判定機280を備えることが好ましい。特定の一実施形態において、閾値判定器は、ブロックの残差符号化のために選択された量子化パラメータに基づいてブロックの3つの閾値を判定する。
【0098】
特定の一実施形態において、閾値判定器280は、上述したようにa1×tc、好ましくは2.5tcとなる第3の閾値を判定するように構成される。閾値判定器280は、第2の閾値が閾値の半分、並びに好都合にはT1=β>>2及びT2=β>>3に等しいと追加して判定することが好ましい。値tc、βは、ブロックの量子化パラメータに依存し、入力として量子化パラメータを使用する閾値ルックアップテーブル285に基づいて閾値判定器280により判定されることが好ましい。
【0099】
一実施形態において、フィルタリング制御装置200は、ブロックに対してブロック決定値を算出するように構成されたブロック決定値算出器290を更に又は追加する。ブロック決定値は、ブロックにおける画素の第1のライン及び第2のライン、並びに隣接ブロックにおける画素の対応する第1のライン及び対応する第2のラインの画素値がフィルタリング方向に平行する方向にどの程度平滑であるかを表すことが好ましい。ブロック決定値算出器290により算出されたブロック決定値は、第1の決定値算出器210により算出された第1のフィルタ決定値に等しいことが好都合である。そのような場合、ブロック決定値算出器290は省略され、その動作は、代わりに第1の決定値算出器210により引き継がれる。しかし、フィルタリング制御装置200において及び特にブロック別の決定値が第1のフィルタ決定値に必ずしも等しくない実施形態において実現されたこれらのユニット210、290の双方を有することが可能である。
【0100】
いずれの場合においても、ブロック決定値算出器290により算出されたかあるいは第1の決定値算出器210から生じたブロック別の決定値は、ブロック閾値比較器292により処理される。特に、ブロック閾値比較器292は、ブロック別の決定値をブロック別の閾値と比較する。フィルタリング選択器294は、ブロック閾値比較器292により実行された比較に基づいてデブロッキングフィルタを現在のブロック及び関連するブロック境界に適用するか否かを選択するようにフィルタリング制御装置200において実現される。ブロック閾値比較器292により判定されたようにブロック別の決定値がブロック別の閾値を下回る場合、フィルタリング選択器294は、デブロッキングフィルタリングをブロックに適用することを選択することが好ましい。ブロック別の決定値がブロック別の閾値を下回らない場合、フィルタリング選択器294は、現在のブロック及び現在のブロック境界に対するあらゆるデブロッキングフィルタリングを防止する。
【0101】
上述の閾値判定器280は、ブロック閾値比較器292により採用されたブロック別の閾値を更に判定することが好ましい。閾値判定器280は、ブロックの量子化パラメータに基づいて及び好ましくは表入力として量子化パラメータを含む閾値ルックアップテーブル285を使用してブロック別の閾値を判定することが好ましい。
【0102】
図13は、フィルタリング制御装置300の更に別の実施形態を示す概略ブロック図である。第1の決定値算出器310、第2の決定値算出器320、第1の閾値判定器330、第2の閾値比較器340及びフィルタ選択器350の動作は、図11及び図12に関連して上述したように実行されることが好ましい。
【0103】
本実施形態において、フィルタリング制御装置300は、フィルタ選択器により選択されたデブロッキングフィルタにより画素の現在のラインの画素値をフィルタリングするように構成されたフィルタリング装置を備える。フィルタリング装置360は、上述の強いデブロッキングフィルタ又は弱いデブロッキングフィルタのいずれかを適用するように構成される。
【0104】
特定の一実施形態において、フィルタ選択器350が弱いデブロッキングフィルタリングを選択する場合、フィルタリング装置360は、フィルタリングタップ[2 4 1 1]/8を有する弱いデブロッキングフィルタにより画素の現在のラインの画素値をフィルタリングし、デルタ値を取得する。本実施形態において、値加算器370は、ブロック境界に最近接する画素の現在のラインの画素の画素値にデルタ値を加算するようにフィルタリング制御装置300において実現される。
【0105】
図11〜図13に示された上述の実施形態は組み合わさることができる。従って、図13のフィルタリング装置及び値加算器は、図11又は図12のフィルタリング制御装置においても実現される。また、図12の第3の決定値算出器及び第3の閾値比較器は、図11又は図13の実施形態において実現される。又は更に、ブロック決定値算出器、ブロック閾値比較器及びフィルタリング選択器は、閾値判定器及び閾値ルックアップテーブルのように図11又は図13の実施形態において提供される。
【0106】
フィルタリング制御装置の実施形態のうちのいずれかは、少なくとも部分的にソフトウェアで実現される。図14は、メモリ26上に格納され、図14において中央処理装置(CPU)32により示された汎用コンピュータ又は専用コンピュータ、プロセッサ又はマイクロプロセッサ上にロードされ、実行されたコンピュータプログラムとして実現されたフィルタリング制御装置100を示す概略ブロック図である。
【0107】
ソフトウェアは、少なくとも第1の決定値算出器110、第2の決定値算出器120、第1の閾値比較器130、第2の閾値比較器140及びフィルタ選択器150の動作を実行するコンピュータプログラムコード要素又はソフトウェアコード部分を含む。図12及び図13に示されたようなユニット又は装置は、メモリ30に格納され、CPU32により実行されたコンピュータプログラムコード要素として更に実現される。プログラムの全て又は一部は、RAM等の1つ以上の適切な揮発性コンピュータ可読媒体又はデータ記憶媒体、あるいは磁気ディスク、CD−ROM、DVDディスク、ハードディスク等の1つ以上の不揮発性コンピュータ可読媒体又はデータ記憶手段上又はそれらに格納されるか、ROM又はフラッシュメモリに格納される。データ記憶手段は、ローカルデータ記憶手段であってよく、データサーバ等にリモートで提供される。従って、ソフトウェアは、プロセッサにより実行されるためにコンピュータ又は同等の処理システムの動作メモリにロードされる。コンピュータ/プロセッサは、上述の機能の実行だけに限定されることなく、他のソフトウェアタスクを更に実行してもよい。フィルタリング制御装置100を規定するために使用されたプログラムコードの非限定例には、単一命令多重データ(SIMD)コードが含まれる。
【0108】
図15は、一実施形態に係るフィルタリング制御装置のハードウェア実現例を示す図である。本実施形態において、第2の決定値算出器120は、3つの加算器121、122、125及び2つの絶対値算出器123、124として実現される。第1の加算器121は、ブロック境界に最近接する画素の現在のラインの画素の画素値及びブロック境界に4番目に最近接する現在のラインの画素の否定画素値を受信する。第2の加算器122は、それに対応してブロック境界に最近接する画素の対応する現在のラインの画素の画素値及びブロック境界に4番目に最近接する対応する現在のラインの画素の否定画素値を受信する。第1の加算器121からの出力は、正値を提供する第1の絶対値算出器123にもたらされる。第2の絶対値算出器124は、それに対応して第2の加算器122からの出力の正値を提供する。第3の加算器125は、2つの絶対値算出器123、124からの正値を合計し、第2のフィルタ決定値を取得する。
【0109】
本実施形態において、第1のフィルタ決定値算出器110は、画素の第1のラインのブロック境界に最近接する画素の画素値及び3番目に最近接する画素の画素値を加算する第1の加算器111を備える。第1のラインのブロック境界に2番目に最近接する画素の画素値は、乗算器112において2で乗算され、乗算器112からの出力は、否定され、第1の加算器からの出力を更に受信する第2の加算器113に入力される。第1の絶対値算出器114は、加算器出力の正値を生成する。
【0110】
加算器115、117の対応する対、乗算器116及び絶対値算出器118は、現在のブロックにおける画素の第2のラインの画素値の演算を実行する。第1の絶対値算出器114及び第2の絶対値算出器118からの出力は、加算器119により合計される。
【0111】
加算器161、163、165、167、169の対応する集合、乗算器162、166及び絶対値算出器164、168は、相互接続され、隣接ブロックにおける画素の対応する第1のライン及び第2のラインの画素の画素値の演算を実行するように構成される。最後に、加算器171は、ブロックにおける第1のライン及び第2のラインの回路網処理画素値からの出力、並びに隣接ブロックにおける対応する第1のライン及び第2のラインの回路網処理画素値からの出力を合計する。
【0112】
第1の閾値比較器130は、加算器171からの出力及び第1の閾値の値を受信する比較器131として実現される。比較器131は、加算器出力が第1の閾値を下回る場合は1binを出力し、加算器出力が第1の閾値を下回らない場合は0binを出力する。第2の閾値比較器140は、第2の決定値算出器120の加算器125からの出力及び第2の閾値を受信する比較器141として更に実現される。比較器141は、加算器出力が第1の閾値を下回る場合は1binを出力し、加算器出力が第1の閾値を下回らない場合は0binを出力する。
【0113】
2つの比較器131、141からの出力は、フィルタ選択器150に対応するANDゲート151に入力される。双方の比較器出力が1binである場合、ANDゲート151は1binを出力し、強いデブロッキングフィルタリングがブロックにおける画素の現在のラインの画素値に適用されることを示す。双方の比較器出力が1binでない場合、ANDゲート151は0binを出力し、弱いデブロッキングフィルタリングが代わりに画素値に適用される。
【0114】
図15に示されたフィルタリング制御装置100のハードウェア実現例は、単にフィルタリング制御装置100のユニット110、120、130、140、150がハードウェアで実現される方法の例を示すものとして見なされるべきである。図15に示された回路網素子と同一の機能又は対応する機能を実現するために使用され、組み合わされる回路網素子の多数の変形例がある。また、そのような変形例は実施形態に含まれる。フィルタリング制御装置100のハードウェア実現例の特定の例は、デジタル信号プロセッサ(DSP)ハードウェア、並びに汎用電子回路網及び特定用途向け回路網の双方を含む集積回路技術における実現例である。
【0115】
図13は、一実施形態に従って映像系列の映像フレームにおいて画素のブロックを符号化する符号器40を示す概略ブロック図である。
【0116】
画素の現在のブロックは、動き推定器50により動き推定を実行することにより、同一のフレーム又は前のフレームにおいて既に提供された画素のブロックから予測される。インター予測の場合、動き推定の結果、基準ブロックと関連付けられた動きベクトル又は変位ベクトルが得られる。動きベクトルは、画素のブロックのインター予測値を出力する動き補償器50により利用される。
【0117】
イントラ予測器49は、画素の現在のブロックのイントラ予測値を算出する。動き推定器/補償器50及びイントラ予測器49からの出力は、画素の現在のブロックのイントラ予測又はインター予測のいずれかを選択する選択器51において入力される。選択器51からの出力は、画素の現在のブロックの画素値を更に受信する加算器41の形態で誤差算出器に入力される。加算器41は、画素のブロックとその予測との間の画素値の差分として残差誤差を算出及び出力する。
【0118】
誤差は、離散コサイン変換等により変換器42において変換され、量子化器43により量子化され、その後エントロピー符号器等の符号器44において符号化される。インター符号化において、更に推定された動きベクトルは、画素の現在のブロックの符号化表現を生成する符号器44にもたらされる。
【0119】
画素の現在のブロックに対して変換され且つ量子化された残差誤差は、逆量子化器45及び逆変換器46に更に提供され、元の残差誤差を検索する。この誤差は、加算器47により動き補償器50又はイントラ予測器49からのブロック予測出力に加算され、画素の次のブロックを予測及び符号化するために使用される画素の基準ブロックを作成する。この新しい基準ブロックは、デブロッキングフィルタリングが適用されるかを判定するため、及び、デブロッキングフィルタリングが適用される場合には使用されるデブロッキングフィルタの種類を判定するために、実施形態に係るフィルタリング制御装置100により先ず処理される。処理された新しい基準ブロックは、フレームバッファ48に一時的に格納され、イントラ予測器49及び動き推定器/補償器50に対して使用可能である。
【0120】
図17は、実施形態に係るフィルタリング制御装置100を備える復号器60を示す対応する概略ブロック図である。復号器60は、画素のブロックの符号化表現を復号化し、量子化され且つ変換された残差誤差の集合を取得するエントロピー復号器等の復号器61を備える。これらの残差誤差は、逆量子化器62において逆量子化され、逆変換器63により逆変換され、残差誤差の集合を取得する。
【0121】
これらの残差誤差は、加算器64において画素の基準ブロックの画素値に加算される。基準ブロックは、インター予測又はイントラ予測が実行されるかに依存して動き推定器/補償器67又はイントラ予測器66により判定される。選択器68は、加算器64、動き推定器/補償器67及びイントラ予測器66に相互接続される。加算器64から出力された結果として得られる画素の復号化ブロックは、あらゆるブロッキングアーチファクトをデブロッキングフィルタリングするために、実施形態に係るフィルタリング制御装置100に入力される。フィルタリングされた画素のブロックは、復号器60から出力され、フレームバッファ65に更に一時的に提供されることが好ましく、復号化される画素の後続ブロックに対して画素の基準ブロックとして使用される。フレームバッファ65は、動き推定器/補償器67に接続され、格納された画素のブロックを動き推定器/補償器67に対して使用可能にする。
【0122】
加算器64からの出力は、イントラ予測器66に更に入力され、フィルタリングされない画素の基準ブロックとして使用されることが好ましい。
【0123】
図18は、フィルタリング制御装置を含む復号器60を収容するメディア端末70を示す概略ブロック図である。メディア端末70は、符号化映像フレームの符号化映像ストリームの演算を実行することで映像フレームを復号化し、映像データを使用可能にするメディア復号化機能を有するあらゆる装置であってよい。そのような装置の非限定例には、移動電話及び他のポータブルメディアプレーヤ、コンピュータ、復号器、ゲーム機等が含まれる。メディア端末70は、符号化映像フレームを格納するように構成されたメモリ72を含む。これらの符号化映像フレームは、メディア端末70自体により生成されている。そのような場合、メディア端末70は、図16の符号器等の接続された符号器と共にメディアエンジン又は記録装置を備えることが好ましい。あるいは、符号化映像フレームは、他の何らかの装置により生成され、メディア端末70に無線通信又は有線通信される。メディア端末70は、送受信機(送信機及び受信機)又は入出力ポートを備え、データ伝送を実現する。
【0124】
符号化映像フレームは、メモリ72から図17に示された復号器等の復号器60にもたらされる。復号器60は、符号化映像フレームを復号化映像フレームに復号化する。復号化映像フレームは、メディア端末70のあるいはメディア端末70に接続されたディスプレイ又は画面76上に表示可能な映像データに復号化映像フレームをレンダリングするように構成されるメディアプレーヤ74に提供される。
【0125】
図18において、メディア端末は、メディアプレーヤ74の一部として実現された復号器60を含むメディアプレーヤ74及び復号器60の双方を備えるものとして示されている。しかし、これは、単にメディア端末70の一実現例の実施形態を示すが非限定例として見なされるべきである。また、本明細書において使用されたようなメディア端末70の範囲内において、復号器60及びメディアプレーヤ74が2つの物理的に分離された装置に提供されることが可能である分散型実現例が可能である。ディスプレイ76は、実際のデータ処理が行われているメディア端末70に接続された別個の装置として更に提供される。
【0126】
上述の実施形態は、本発明のいくつかの例示的な例として理解される。本発明の範囲から逸脱せずに種々の変形、組合せ及び変更が実施形態に対して行われてもよいことは、当業者により理解されるだろう。特に、技術的に可能である場合、種々の実施形態における種々の部分的な解決方法は、他の構成において組み合わされてよい。しかし、本発明の範囲は、添付の請求の範囲により規定される。
【技術分野】
【0001】
本発明は、一般にフィルタリング制御に関し、特に映像フレームにおいてブロック境界にわたりデブロッキングフィルタリングを制御することに関する。
【背景技術】
【0002】
映像フレームの符号化により、符号化データにブロッキングアーチファクトが生じる可能性がある。そのようなブロッキングアーチファクトは、主に、フレーム内予測誤差符号化及びフレーム間予測誤差符号化における離散コサイン変換によるものである。ブロック間の境界における不連続性は、再構成中に閲覧者に対して可視になる。ブロッキングアーチファクトの別の一般的な原因は、動き補償予測である。
【0003】
このようなブロッキングアーチファクトを抑制する従来の手法というのは、デブロッキングフィルタリングを使用する手法である。H.264等の最新技術の映像符号化において、適応デブロッキングフィルタによるループフィルタリングは、後続フレームを符号化する場合に後で参照するために予測及び残差符号化後且つ再構成フレームの格納前に実行される。非特許文献1を参照されたい。ループフィルタリングは、フィルタリング決定、フィルタリング動作、クリッピング関数及び画素値の変化から構成される。境界をフィルタリングするか否かは、いくつかの条件を評価することに基づいて決定される。フィルタ決定は、マクロブロックの種類、隣接ブロックのうちの1つが符号化残差(coded residual)を有する場合は隣接ブロック間の動きベクトル(MV)の差分、及び現在のブロック又は隣接ブロックの局所構造に依存する。
【0004】
フィルタリングの量は、ブロック境界と比較した画素の位置及び現在のブロックの残差符号化のために使用された量子化パラメータに依存する。
【0005】
H.264において、フィルタ決定は、2つの隣接ブロックのブロック境界間の画素値に基づいて行われる。これは、垂直ブロック境界及び水平ブロック境界の双方に当てはまる。1つのブロックにおける画素a、b、c及びdと、別のブロックにおける画素e、f、g及びhの場合、ブロック境界は以下に示すようにdとeとの間にある。
abcd|efgh
【0006】
フィルタ決定は、3つの画素差分と3つの閾値との比較に基づく。閾値は、量子化パラメータ(QP)に適応される。以下の条件を満たす場合、フィルタ決定は、ポジティブである。
|d−e|<T1、|c−d|<T2、及び|e−f|<T2
ここで、T1及びT2はQPに基づいて適応される。
【0007】
H.264においては、2つのフィルタリングモードがある。第1のフィルタリングモード(通常のフィルタリング)において、フィルタリングは、フィルタリングが現在の値を変更するデルタ値(Δ)で示される。ブロック境界に最近接する画素に対するフィルタリングは、以下の通りである。
【0008】
d’=d+Δc及びe’=e−Δc
ここで、Δcは、QPにより制限される値に対する閾値±T3にクリップされている。小さいQPより大きいQPに対しての方が更なるフィルタリングが可能である。クリッピングは、以下の通り示される。
【0009】
Δc=Max(−T3、Min(T3、Δ))
以下の2つの条件のいずれかが|b−d|<T2及び|e−g|<T2を更に満足する場合、フィルタ強度は増す。フィルタ強度は、例えば更なる変形を可能にするためにデルタ値をより小さい値にクリップすることで更に適応される。
【0010】
以下の条件が|d−e|<T1/4を満たす場合、第2の(強い)フィルタリングモードは、マクロブロック内境界に対してのみ適用される。
【0011】
H.264において採用された適応デブロッキングフィルタによる大きな制限は、ブロックのうちの少なくとも1つがイントラブロックである場合、第2の強いフィルタリングモードがマクロブロックエッジにわたってのみ適用される点である。しかし、ほぼ均一な画像領域における小さな差分がイントラ符号化ブロック以外の他のブロックに対しても発生し、内部マクロブロック内にも発生する。そのような場合に強いフィルタリングを更に適用できることが望ましい。しかし、フィルタリング制御は、画像における真のエッジ及びブロッキングアーチファクトによるエッジを区別できることが重要である。
【0012】
特許文献1は、H.264の標準的なフィルタリング決定と比較して計算の複雑さを軽減するH.264におけるデブロッキングフィルタリングに適用可能な簡素化を開示する。通常のフィルタリングを実行するかあるいはフィルタリングを実行しない決定検査は、2つのマクロブロック間の境界を横切る1つのライン又はラインの部分集合上で実行される。この決定は、同一の境界を横切る全てのラインに適用する。その結果、単一のフィルタリング決定はマクロブロック境界毎に算出され、この単一のフィルタリング決定はマクロブロック境界を横切る全てのラインに適用する。
【0013】
特許文献1において開示された適応デブロッキングフィルタリングによる大きな制限は、通常のフィルタリングのみが実行されることである。通常フィルタリングでは、より強いフィルタリングが可能でないため、ブロック境界にわたり可視アーチファクトの発生を引き起こす。
【先行技術文献】
【非特許文献】
【0014】
【非特許文献1】List他のAdaptive Deblocking Filter、IEEE Transactions on Circuits and Systems for Video Technology、2003年、13(7):614〜619ページ
【特許文献】
【0015】
【特許文献1】米国特許出願公開第2006/0078048号公報
【発明の概要】
【発明が解決しようとする課題】
【0016】
本発明の一般的な目的は、ブロッキングアーチファクトを抑制又は低減するために効率的なデブロッキングフィルタリングを提供することである。
【課題を解決するための手段】
【0017】
この目的及び他の目的は、本明細書において開示されるように実施形態により達成される。
【0018】
実施形態の一態様は、映像フレームにおいて複数の画素のブロックに適用可能なフィルタリング制御方法を規定する。この方法は、ブロックに対して第1のフィルタ決定値を算出するステップを含む。この第1のフィルタ決定値は、映像フレームにおいて複数の画素のブロックにおける画素の第1のライン及び隣接ブロックにおける画素の対応する第1のラインの画素値がブロックと隣接ブロックとの間のブロック境界にわたりフィルタリング方向に平行する方向にどの程度平滑であるかを表す。第2のフィルタ決定値は、ブロックに対して更に算出され、ブロックにおける画素の現在のラインの画素値がどの程度平坦なラインに近似するか、隣接ブロックにおける画素の対応する現在のラインの画素値がどの程度平坦なラインに近似するかを表す。第1のフィルタ決定値は第1の閾値と比較され、第2のフィルタ決定値は同様に第2の閾値と比較される。双方のフィルタ決定値がそれぞれの閾値を下回る場合、強いデブロッキングフィルタは、画素の現在のラインに対して選択され、現在のラインの画素値のうちの少なくとも1つをフィルタリングする。しかし、双方のフィルタ決定値がそれぞれの閾値を下回らない場合、弱いデブロッキングフィルタが代わりに画素の現在のラインに対して選択される。弱いデブロッキングフィルタは、強いデブロッキングフィルタより比較的低いフィルタリング強度を有する。
【0019】
実施形態の別の態様は、映像フレームにおいて複数の画素のブロックに対して第1のフィルタ決定値を算出するように構成された第1の決定値算出器を備えるフィルタリング制御装置に関する。第1のフィルタ決定値は、上記態様において上述されたように、映像フレームにおいてブロックにおける画素の第1のライン及び画素の隣接ブロックにおける画素の対応する第1のラインの画素値がフィルタリング方向に平行する方向にどの程度平滑であるかを表す。第2の決定値算出器は、ブロックにおける画素の現在のラインの画素値がどの程度平坦なラインに近似するか、隣接ブロックにおける画素の対応する現在のラインの画素値がどの程度平坦なラインに近似するかを表すブロックに対して第2のフィルタ決定値を算出するように実現される。
【0020】
フィルタリング制御装置は、それぞれ、第1のフィルタ決定値及び第2のフィルタ決定値を第1の閾値及び第2の閾値と比較するように構成された第1の閾値比較器及び第2の閾値比較器を更に備える。フィルタ選択器は、第1の閾値比較器及び第2の閾値比較器に接続され、第1のフィルタ決定値が第1の閾値を下回り、第2のフィルタ決定値が第2の閾値を下回る場合、画素の現在のラインの少なくとも1つの画素値をフィルタリングする強いデブロッキングフィルタを選択するように構成される。これらの双方の条件を満たさない場合、フィルタ選択器は、代わりに強いデブロッキングフィルタより比較的低いフィルタリング強度を有する弱いデブロッキングフィルタを選択する。
【0021】
実施形態の更なる態様は、フィルタリング制御装置を備える符号器及び復号器、並びに復号器を備えるメディア端末に関する。
【0022】
実施形態の態様により、強いデブロッキングフィルタリング又は弱いデブロッキングフィルタリングのいずれかを選択し、映像フレームにおいて画素の2つのブロック間の境界において存在するブロッキングアーチファクトを抑制できるようにする。実施形態によれば、強いデブロッキングフィルタは、画素のブロックのイントラ符号化対インター符号化等の符号化モードに関係なく、むしろブロック及びブロックのそれぞれのラインの特定の画素値に基づいて選択される。これにより、より効率的且つ適切にデブロッキングフィルタリングする。
【0023】
本発明は、添付の図面と共に以下の説明を参照することにより、本発明の更なる目的及び利点と共に最も良く理解されるだろう。
【図面の簡単な説明】
【0024】
【図1】図1は、一実施形態に係るフィルタリング制御方法を示すフローチャートである。
【図2A】、
【図2B】図2A及び図2Bは、隣接ブロック及びデブロッキングフィルタリングが適用されるブロック境界の2つの実施形態を示す図である。
【図3】図3は、一実施形態に係る図1の方法の更なるステップを示すフローチャートである。
【図4A】、
【図4B】、
【図4C】図4A〜図4Cは、種々の実施形態に係る3つの異なるフィルタリング決定の効果を示す図である。
【図5】図5は、一実施形態に係る図3の方法の更なるステップを示すフローチャートである。
【図6】図6は、一実施形態に係る図1の方法の更なるステップを示すフローチャートである。
【図7】図7は、一実施形態に係るブロック毎のフィルタリング決定及びライン毎のフィルタリング決定を概略的に示す図である。
【図8】図8は、一実施形態に係る図1の方法の更なるステップを示すフローチャートである。
【図9】図9は、一実施形態に係る図8の方法の更なるステップを示すフローチャートである。
【図10】図10は、一実施形態に係る図1の方法の更なるステップを示すフローチャートである。
【図11】図11は、フィルタリング制御装置の一実施形態を示す概略ブロック図である。
【図12】図12は、フィルタリング制御装置の別の実施形態を示す概略ブロック図である。
【図13】図13は、フィルタリング制御装置の更なる一実施形態を示す概略ブロック図である。
【図14】図14は、一実施形態に係るフィルタリング制御装置の一実現例を示す図である。
【図15】図15は、別の実施形態に係るフィルタリング装置の一実現例を示す図である。
【図16】図16は、一実施形態に係る符号器を示す概略ブロック図である。
【図17】図17は、一実施形態に係る復号器を示す概略ブロック図である。
【図18】図18は、一実施形態に係るメディア端末を示す概略ブロック図である。
【発明を実施するための形態】
【0025】
図中、同一の図中符号は、同様の要素又は対応する要素に対して使用される。
【0026】
一般に実施形態は、映像フレームにおいてブロック境界にわたりブロッキングアーチファクトを抑制するための適応デブロッキングフィルタリング又は適応ループフィルタリングに関連する。実施形態は、ブロックにおけるそれぞれの画素ラインに強いフィルタリング又は弱いフィルタリングを適用するかを判定するために採用される特定のフィルタ決定を導入する。強いフィルタリング又は弱いフィルタリングを使用する可能性と共に特定のフィルタ決定により、計算がより複雑にならずにブロッキングアーチファクトを効率的に低減できるようになる。
【0027】
図1は、映像フレームにおいて複数の画素のブロックに適用可能な一実施形態に係るフィルタリング制御方法を示すフローチャートである。当技術分野において既知であるように、映像フレームは、種々の使用可能なイントラ符号化モード及びインター符号化モードに従って符号化及び復号化される画素のオーバーラップしないブロックに分割される。一般に映像フレームは、16×16画素のオーバーラップしないマクロブロックに分割される。そのようなマクロブロックは、4×4画素又は8×8画素等の異なるサイズのより小さなブロックに更に分割される。しかし、実施形態に係る矩形ブロックは、例えば4×8、8×4、8×16又は16×8も可能である。実施形態は、画素のマクロブロック又はより大きなブロックを含む画素のそのようなあらゆるブロックに適用される。特定の一実施形態において、フィルタリング制御方法は、垂直方向及び/又は水平方向に少なくとも8個の画素を有する複数の画素の全てのブロックに適用可能である。当技術分野において、予測ユニット分割及び変換ユニットは、一般に、複数の画素のそのようなブロックを示すために採用される。
【0028】
新興の高効率映像符号化(HEVC)規格において、符号化単位(coding unit; CU)が使用される。現在、CUのサイズは64×64画素(最大)から4×4画素(最小)の間で変動する。このように、最大CUは、フレームの局所特徴に依存して「粒度のレベル」のより小さなCUに分割される。それは、最大CUが種々のサイズのより小さなCUに分割されることを意味する。実施形態は、本明細書において使用されるように「画素のブロック」という表現により含まれるものと考えられるそのような符号化単位と関連して更に使用される。
【0029】
ブロックにおける各画素はそれぞれの画素値を有する。一般に映像フレームは、画素に割り当てられた色値を有する。色値は規定の色形式で表される。例えば画素毎に赤成分、緑成分及び青成分を使用する他の形式が存在するが、一般的な色形式のうちの1つは、画素毎に1つの輝度成分及び2つの色差成分を使用する。
【0030】
従来、輝度成分及び色差成分は、場合によっては異なるフィルタリング決定及び異なるデブロッキングフィルタを採用して個別にフィルタリングされる。実施形態は、輝度成分のフィルタリング、色差成分のフィルタリング、又は輝度成分及び色差成分の双方へのフィルタリングに適用される。特定の一実施形態において、実施形態は、輝度フィルタリング又はルマ(luma)フィルタリングを実現するように適用される。
【0031】
適応デブロッキングフィルタリングは、境界、エッジ又は隣接ブロック間の境界にわたり実行される。その結果、そのような境界は、図2Aに示されるように、映像フレームにおいて並列に存在する2つの隣接ブロック10、20間の垂直境界1である。あるいは、境界は、図2Bに示されるように、2つの隣接ブロック10、20間の水平境界1である。一方のブロック10は、映像フレームにおいて他方のブロック20の上に位置する。特定の一実施形態において、垂直境界は、最初にフィルタリングされ、幾何学的順序で最も左の境界から開始し右側に向かって境界を進む。水平境界は、次にフィルタリングされ、幾何学的順序で上部の境界から開始し下部に向かって境界を進む。しかし、実施形態は、この特定のフィルタリング順序に限定されず、実際には事前定義されたあらゆるフィルタリング順序に適用可能である。特定の一実施形態において、映像フレームのエッジにおける境界は、フィルタリングされずにデブロッキングフィルタリングから除外されることが好ましい。
【0032】
本実施形態の方法はステップS1において開始し、第1のフィルタ決定値がブロックに対して算出される。このように算出されたフィルタ決定値は、映像フレームにおいてブロックにおける画素の第1のライン及び隣接ブロックにおける画素の対応する第1のラインの画素値がフィルタリング方向に平行する方向にどの程度平滑であるかを表す。現在のブロックにおける画素の第1のライン及び隣接ブロックにおける画素の対応するラインは、垂直境界にまたがる同一の水平線又は水平境界にまたがる同一の垂直線に属する。
【0033】
ブロックにおける画素の第1のラインは、事前定義された画素の水平線又は垂直線であることが好ましい。従って、第1のラインは、映像フレームのブロックにおける事前定義された画素行又は画素列に対応する。例えば第1のラインは、ブロックにおける行番号j又は列番号jに対応する。これは、次にフィルタリングされる別のブロックの第1のラインがその別のブロックにおける行番号j又は列番号jに対応することを意味する。
【0034】
従って、第1のフィルタ決定は、フィルタリング決定に平行する方向で画素値の平滑度を調査する。換言すると、第1のフィルタ決定は、ブロックにおける第1のラインの画素値及び隣接ブロックにおける対応する第1のラインの画素値が平滑であるか、すなわちブロック境界にわたりフィルタリング方向に平行する方向と殆ど異ならないかあるいは少なくとも規定の最大量を超えて異ならないかを調査する。そのような平滑画素値は、構造を全く又は殆ど含まずに平滑であるため、ゼロ又は小さい第1のフィルタ決定値を与え、第2のフィルタ決定からの結果に依存するが、一般に強くフィルタリングされるべきである。
【0035】
フィルタリング方向に平行する方向の平滑画素値の特定の例は、第1のラインの画素値が近似平面を形成するか、対応する第1のラインの画素値が近似平面を形成するかである。第1のフィルタ決定は、境界の両側のあらゆる平面に対する検出器であると考えられる。従って、境界の両側の画素値が近似平面を形成する場合、第1のフィルタ決定値は、ゼロであるかあるいは少なくともほぼゼロである。しかし、いくつかの実施形態において、垂直/水平境界を横切る水平/垂直線は、平面を形成しないがフィルタリングの方向に平行する方向で平滑であるが、フィルタリングされるべきである。
【0036】
次のステップS2は、ブロックに対して第2のフィルタ決定を算出する。第2のフィルタ決定値は、ブロックにおける画素の現在のラインの画素値がどの程度平坦なラインに近似するか、隣接ブロックにおける画素の対応する現在のラインの画素値がどの程度平坦なラインに近似するかを表す。
【0037】
第1のフィルタ決定に対する第1のラインとは異なり、画素の現在のラインはブロックにおける固定のラインではない。従って、水平線又は垂直線の各々がそれぞれの算出された第2のフィルタ決定値を有することが好ましいのに対して、単一のフィルタ決定値がブロックの垂直境界又は水平境界毎に算出されるように、第2のフィルタ決定値は、ブロックにおいてライン毎に算出されることが好ましい。
【0038】
フィルタリング方向に平行する方向で画素値の平滑度を調査することにより、傾斜を形成する画素値(図4Bの左部分を参照)に対してもゼロの第1のフィルタ決定値を生成する第1のフィルタ決定とは明らかに異なり、第2のフィルタ決定は画素値の平坦度を調査する。ブロックの調査された画素値及び隣接ブロックの調査された画素値が等しいかあるいはほぼ等しい場合、現在のライン及び対応する現在のラインの画素値は、平坦なラインに近似すると考えられる。そのような場合、第2のフィルタ決定値は、ゼロになるかあるいはほぼゼロになる。画素値が平坦なラインに近似する場合、これは、現在のライン及び対応する現在のラインの画素が重要な構造を全く有さず、強いフィルタリングがあらゆるブロッキングアーチファクトを平滑にすることが好ましいことを意味する。
【0039】
次のステップS3は、第1の決定値(FDV)を第1の閾値(T1)と比較し、第2のフィルタ決定値を第2の閾値(T2)と比較する。第1のフィルタ決定値が第1の閾値を下回り、第2のフィルタ決定値が第2の閾値を下回る場合、ステップS4に進み、第2の、すなわち強いデブロッキングフィルタが選択され、現在のラインの少なくとも1つの画素値の値をフィルタリング及び変更するように画素の現在のラインの画素に適用される。しかし、第1のフィルタ決定及び第2のフィルタ決定のいずれかがステップS3で関連する閾値を下回らない場合、ステップS5に進み、第1の通常の、すなわち弱いデブロッキングフィルタが選択される。弱いデブロッキングフィルタは、現在のラインの少なくとも1つの画素値の画素をフィルタリング及び変更するように画素の現在のラインの画素に適用可能である。ステップS4で選択された強いデブロッキングフィルタは、ステップS5で選択された弱いデブロッキングフィルタより比較的高いフィルタリング強度を有する。
【0040】
フィルタ決定が現在のブロック境界に関してブロックにおける現在のラインに対して実行されると、ステップS2に戻り、ブロックにおける画素の別のラインに対して新しい第2のフィルタ決定値を算出する。これを線L1により概略的に示す。従って、ステップS2〜S5により形成されたループは、垂直境界の場合はブロックにおける全ての画素行及び水平境界の場合はブロックにおける全ての画素列に対して一度実行されることが好ましい。異なる画素行又は画素列は順次処理され、例えば、ブロックにおいて上の行又は最も左の列から開始し、下の行又は最も右の列に向けて進む。あるいは、ブロックにおける異なる画素ラインは、フィルタリング制御方法を加速するように並列処理される。
【0041】
従って、ステップS1は、ブロックにおいて現在の境界に対して一度だけ実行されることが好ましい。これは、ステップS1が、殆どのブロックに対して、隣接ブロックに対する垂直境界に対して一度、隣接ブロックに対する水平境界に対して一度の2回実行されることを意味する。
【0042】
次に、第1のフィルタ決定及び第2のフィルタ決定の種々の実施形態を更に詳細に説明する。
【0043】
上述したように、第2のフィルタ決定は、画素の現在のラインの画素値がどの程度平坦なラインに近似するか、隣接ブロックにおける画素の対応する現在のラインの画素値がどの程度平坦なラインに近似するかを示す。特定の一実施形態において、第2のフィルタ決定は、ブロックにおけるラインの端部及び隣接ブロックにおける対応する現在のラインの端部の画素値を考慮する。図2A及び図2Bを参照すると、図中符号12は、ブロック10における画素11、13、15、17の現在のラインを示し、隣接ブロック20における画素21、23、25、27の対応する現在のライン22は、現在のライン12と同一の行(図2A)又は同一の列(図2B)に沿うが、境界1の反対側に拡張する。
【0044】
本実施形態において、第2のフィルタ決定値は、|p3i−p0i|+|q0i−q3i|として算出される。この式及び更に本明細書において、pkiは、図2Aに示されるようにブロック10における行番号i及び列番号kにおける画素の画素値又は図2Bに示されるようにブロック10における列番号i及び行番号kにおける画素の画素値を示す。それに対応してqkiは、隣接ブロック20における画素の画素値を示す。図2A及び図2Bに示された特定のブロックの実施形態において、k=0、1、2、3、i=0、1、2、3、4、5、6、7である。
【0045】
これは、第2のフィルタ決定が、ブロック境界1に最近接する現在のライン12の画素の画素値とブロック境界1に3番目に最近接する(図2A及び図2Bにおいてブロック境界1からi番目に最も遠い)現在のライン12の画素17の画素値との絶対差分と、ブロック境界1に最近接する対応する現在のライン22の隣接ブロック20における画素17の画素値とブロック境界1に3番目に最近接する(図2A及び図2Bにおいてブロック境界1からi番目に最も遠い)対応する現在のライン22の隣接ブロック20における画素27の画素値との絶対差分の和に等しい。
【0046】
別の一実施形態において、第2のフィルタ決定は、|p3i−2p2i−p1i+2p0i|+|q0i−2p1i−q2i+2q3i|として算出される。従って、第2のフィルタ決定は、4×8画素又は8×4画素のブロックの場合、ブロック境界に最近接する現在のライン12の画素11の画素値の2倍の値+ブロック境界1に2番目に最近接する現在のライン12の画素13の画素値及びブロック境界1に3番目に最近接する現在のライン12の画素15の画素値の2倍の値を減算したブロック境界1に4番目に最近接する現在のライン12の画素17の画素値の絶対値を算出することに基づく。更に絶対値は、ブロック境界1に最近接する対応する現在のライン22の隣接ブロック20における画素21の画素値+ブロック境界1に2番目に最近接する対応する現在のライン22の隣接ブロック20における画素23の画素値の2倍の値及びブロック境界1に3番目に最近接する対応する現在のライン22の隣接ブロック20における画素25の画素値を減算しブロック境界1に4番目に最近接する対応する現在のライン22の隣接ブロック20における画素27の画素値の2倍の値を算出したものである。2つの絶対値の和は、第2のフィルタ決定値を構成する。
【0047】
このフィルタ決定の利点は、それが傾斜の形態のブロック境界に対する出力としてゼロを与えないことである。このフィルタ決定は、エッジに対して更に敏感であり、ブロック境界に対する画素値の線形増加に対する出力を減衰する。
【0048】
第1のフィルタ決定値は、第1のライン及び対応する第1のラインの画素値がフィルタリング方向に平行する方向にどの程度平滑であるかを表す。特定の一実施形態において、第1のフィルタ決定値は、|p2j−2p1j+p0j|+|q2j−2q1j+q0j|に基づくことが好ましい。式中、jは、ブロック10における第1のライン及び隣接ブロック10における対応する第1のラインの行番号(図2A)又は列番号(図2B)を示す。従って、第1のフィルタ決定は、ブロック境界1に最近接する第1のラインの画素の画素値+ブロック境界1に2番目に最近接する前記第1のラインの画素の画素値の2倍の値を減算したブロック境界1に3番目に最近接する前記第1のラインの画素の画素値の絶対値を算出することに基づく。また、ブロック境界1に最近接する対応する第1のラインの隣接ブロック20における画素の画素値+ブロック境界1に2番目に最近接する対応する第1のラインの隣接ブロック20の画素の画素値の2倍の値を減算したブロック境界1に3番目に最近接する対応する第1のラインの隣接ブロック20における画素の画素値の絶対値。
【0049】
このフィルタ決定の実施形態は、境界の両側の構造がフィルタリング方向に平行する方向で平滑であるかをチェックする。
【0050】
特定の一実施形態において、第1のフィルタ決定値は、ブロックにおける第1のライン及び隣接ブロックにおける第1の対応するラインの画素値、並びにブロックにおける第2のライン及び隣接ブロックにおける対応する第2のラインの画素値に基づいて算出される。第1のライン及び第2のラインは、ブロックにおける事前定義された行番号(図2A)又は事前定義された列番号(図2B)に対応することが好ましく、対応する第1のライン及び第2のラインは、隣接ブロックにおける対応する事前定義された行番号又は列番号である。
【0051】
2つのラインは、ブロックにおいて分散されることが好ましい。従って、第1のフィルタ決定値は、|p22−2p12+p02|+|q22−2q12+q02|+|p25−2p15+p05|+|q25−2q15+q05|として算出される。これは、絶対値が、ブロック10において行/列番号2及び行/列番号5、隣接ブロック20において行/列番号2及び行/列番号5に対して算出されることを意味する。各絶対値は、ブロック境界1に最近接する関連する行/列の前記画素の画素値+ブロック境界1に2番目に最近接する関連する行/列の画素の画素値の2倍の値を減算したブロック境界1に3番目に最近接する関連する行/列の画素の画素値の絶対値として規定される。
【0052】
第1のフィルタ決定値を算出する別の実施形態は、
|p22−2p13+p04|+|q22−2q13+q04|+|p25−2p14+p03|+|q25−2q14+q03| 又は
|p22−2p13+p04+p25−2p13+p03|+|q22−2q13+q04+q25−2q14+q03|
を含む。これらの2つの実施形態において、ブロック10におけるライン及び隣接ブロック20における対応するラインは、複数の画素の対角線である。
【0053】
更に別の方法は、上述したように2つのライン及び対応するラインの画素値ではなく、ブロックにおける4つのライン及び隣接ブロックにおける4つの対応するラインの画素値に基づいて第1のフィルタ決定値を算出する方法である。
【0054】
【数1】
【0055】
本実施形態の変形例は、行/列番号0、3、4及び7、行/列番号1、2、5及び6、行/列番号0、3、5及び6又は行/列番号1、2、4及び7を使用することを含む。これらの実施形態は、行/列番号2及び5等の2つのライン及び2つの対応するラインのみを使用することに更に適用される。
【0056】
上述の実施形態において、2つの異なるフィルタ決定は、ブロックにおける画素の現在のラインに対して強いフィルタリング又は弱いフィルタリングを適用するかを判定するために採用される。いくつかの適応例において、第3のフィルタ決定を追加して使用することが好ましい。これは、強いフィルタリング(図1のステップS4)により生じた画素値に対するあらゆる変化が束縛(bound)されないためである。例えば、少なくともブロックの第1のライン及び現在のラインの画素値、並びに隣接ブロックの対応する第1のライン及び対応する現在のラインの画素値が全く等しい場合、第1のフィルタ決定値及び第2のフィルタ決定値は、双方ともゼロに等しいかあるいはほぼゼロである。しかし、第1のライン及び現在のラインの画素値は、全く等しいが、対応する第1のライン及び対応する現在のラインの画素値と非常に異なる可能性がある。ブロック境界と位置合わせされた真の構造又はエッジが存在する場合、そのような状況が発生する。これは、エッジが何らかのブロッキングアーチファクトによるものではなく、特定の映像フレームの固有特性であるため、フィルタリングされないべきであることを意味する。従って、ブロック境界と位置合わせされたそのようなエッジを検出するために第3のフィルタ決定を追加することが好都合である。
【0057】
図3は、ブロック境界と位置合わせされたエッジを強くフィルタリングし、検出することで発生したあらゆる画素値変化を束縛(bind)する第3のフィルタ決定値の使用法を示すフローチャートである。この方法は、図1のステップS2から継続する。次のステップS10は、ブロックに対して第3のフィルタ決定値を算出する。第3のフィルタ決定値は、ブロック境界に最近接する現在のラインの画素の画素値とブロック境界に最近接する対応する現在のラインの隣接ブロックにおける画素の画素値との絶対差分を表す。換言すると、第3のフィルタ決定値は、|p0i−q0i|に等しいことが好ましい。次のステップS11は、図1のステップS1からの第1のフィルタ決定値を第1の閾値と比較し、図1のステップS2からの第2のフィルタ決定値を第2の閾値と比較し、ステップS10からの第3のフィルタ決定値を第3の閾値(T3)と比較する。全てのフィルタ決定値がそれぞれの関連する閾値を下回る場合、図1のステップS4に進み、強いデブロッキングフィルタが選択され、現在のラインの画素に適用される。全てのフィルタ決定値がそれぞれの関連する閾値を下回らない場合、S11から図1のステップS5に進み、弱いデブロッキングフィルタを代わりに選択する。
【0058】
従って、本実施形態において、第1のフィルタ決定値が現在のブロックに対して一度所定のブロック境界に対して算出されるのに対し、第2のフィルタ決定値及び第3のフィルタ決定値は、ブロック境界に直交するライン毎に算出されることが好ましい。
【0059】
図4A〜図4Cは、3つの異なるフィルタ決定の効果を視覚的に示す。図4A〜図4Cにおいて、ブロックにおけるライン及び隣接ブロックにおける対応するラインの画素に対する画素値を示す。ブロック境界は、図4A〜図4Cにおいて垂直の破線で示される。図4Aは、第2のフィルタ決定に対応し、現在のライン及び対応する隣接する平坦なラインの画素値がどの程度平坦なラインに近似するかを調査する。現在のラインの端画素に対する画素値が本実施例において等しいため、ブロックにおける現在のラインの画素値が平坦なラインに正確に近似されることにより、ほぼゼロの値を与えることが図4Aから分かる。しかし、隣接ブロックにおける対応する現在のラインの画素値は、平坦なラインとして近似されない。従って、これらの画素は、第1のフィルタ決定値に対して貢献する。
【0060】
図4Bは、ブロック及び隣接ブロックにおける第1のライン及び対応する第1のラインに沿う画素値を示す。第1のラインの画素の画素値は、フィルタリング方向に平行する方向で平滑である。これらの画素値は、実際には傾斜を形成し、|p2j−2p1j+p0j|+|q2j−2q1j+q0j|に基づいて第1のフィルタ決定値に対して貢献しない。しかし、隣接ブロックにおける対応する第1のラインの画素値は、フィルタリング方向に平行する方向で平滑ではないため、第1のフィルタ決定値に対して貢献する。
【0061】
最後に図4Cは、ブロック境界に最近接する画素の画素値とブロック境界の両側の画素値との絶対差分に基づく第3のフィルタ決定値を使用する概念を示す。これらの値が等しいかあるいはほぼ等しい場合、第3のフィルタ決定値がゼロ以下であるのに対し、大きい差分は、大きな第3のフィルタ決定値を生じさせることにより、現在のラインに対して強いデブロッキングフィルタを選択することを防止する。
【0062】
図5は、フィルタリング制御方法の更なるステップを示すフローチャートである。このフローチャートは、第3のフィルタ決定値と比較される第3の閾値を判定する一実施形態を示す。この方法は、図1のステップS2から継続する。次のステップS20は、ブロックに対して選択された量子化パラメータに基づいて第3の閾値を判定する。量子化パラメータは、ブロックの残差符号化のために選択され、映像圧縮の品質を制御する。これは、当技術分野において既知であるために本明細書において更に説明しない。
【0063】
ステップS20で量子化パラメータに基づいて第3の閾値を判定することは、T3=a1×tcとして第3の閾値を判定することを含むことが好ましい。パラメータtcは、量子化パラメータに基づいてブロックに対して選択されたクリッピング閾値を表す。強いデブロッキングフィルタによる強いフィルタリングが、弱いデブロッキングフィルタによる弱いフィルタリング及びクリッピング閾値が画素値を変更する値より大きい値でブロック境界に最近接する現在のラインの画素の画素値を変更する場合、パラメータa1は、強いデブロッキングフィルタを選択することを防止するように選択された乗数である。実験的検査が実施されており、a1=2.5が適切に機能することを検証する。また、2.5の値は、第3の閾値がT3=(tc×5+1)>>1のような除算を全く使用せずに算出されることを示す。なお、X>>Yは、Xを2Y回右シフトすること、すなわちX/2Yを示す。
【0064】
別の一実施形態において、パラメータa1は、図1のステップS5で選択された弱いデブロッキングフィルタに基づいて判定される。例えば、ブロックと隣接ブロックとの間にオフセットf1を含む2つの平坦なブロックの場合、H.264(1 −4 4 −1)/8に従う弱いデブロッキングフィルタは、p0i'=p0i+3/8・f1、及び、q0i'=q0i−3/8・f1のの値でブロック境界に最近接する画素の画素値を補間する。そのような場合、パラメータa1は、強いフィルタリングが弱いフィルタリングを含むために使用されたパラメータtcより強いアーチファクトを生成する場合に、平坦ブロックに対して選択されないような場合と同様に、8/3として選択される。
【0065】
量子化パラメータに基づいて第3の閾値を判定する上述の実施形態は、ブロック境界に最近接する現在のラインの画素の画素値とブロック境界に最近接する隣接ブロックにおける対応する現在のラインの画素の画素値との絶対差分を値tcに束縛(bind)する。
【0066】
第3の閾値の判定は、実際にはブロックに対して一度だけでよい。これは、ステップS20が、図1のステップS1とステップS2との間に、ステップS1と並列に、あるいは図5に示されたようにステップS2に後続するのではなく実際にはステップS1の前に実行されることが好ましい。
【0067】
図6は、第1のフィルタ決定値及び第2のフィルタ決定値と関連して使用される第1の閾値及び第2の閾値を判定するステップを示す対応するフローチャートである。ステップS30は、現在のブロックに対して選択された量子化パラメータに基づいて第1の閾値及び第2の閾値を判定する。更に第2の閾値は、第1の閾値の半分に等しいと判定されることが好ましい。特定の一実施形態において、T1=β>>2及びT2=β>>3であり、式中、パラメータβは、ブロックの量子化パラメータ(QP)に基づいて判定される。以下の表1は、種々の可能な量子化パラメータ値に対する、tcβの取り得る値を示している。
【0068】
【表1】
【0069】
そのような場合、3つのフィルタ決定において採用された全ての閾値を、単一の入力、すなわち、現在のブロックに対して判定された量子化パラメータを入力して用いてを導出するため、表1等の単一のルックアップテーブルを用いることができる。
【0070】
上述の2つ又は好ましくは3つのフィルタ決定は、ブロックにおける画素の現在のラインに対して強いフィルタリング又は弱いフィルタリングを使用するかを選択するために採用される。これらのフィルタ決定は、あらゆるフィルタリングが実際に適用されるかを判定するために使用されたフィルタ決定を伴うことが好ましい。そのような更なるフィルタ決定は、第2のフィルタ決定及び第3のフィルタ決定に類似するラインに基づくフィルタ決定である。しかし、ライン毎にフィルタリングするか否かのそのようなラインに基づくフィルタ決定を下すことは、計算が複雑すぎると考えられる場合もある。そのような場合、ブロックにおける全てのライン及び現在のブロック境界に対する全てのラインに適用するブロックに基づく、すなわちブロック毎のフィルタ決定を使用することがより好都合である。図7はこの概念を示す。第1のブロック毎のフィルタ決定は、ブロック及び関連するブロック境界に対して一度算出される。このブロック毎のフィルタ決定は、ブロック及びブロック境界に対して何らかのデブロッキングフィルタリングを実行するか否かを決定するために採用される。このブロック毎のフィルタ決定が行われ、デブロッキングフィルタリングを実行すべきであると判断される場合、ライン毎のフィルタ決定、すなわち第1のフィルタ決定及び第2のフィルタ決定、並びに好ましくは第1のフィルタ決定、第2のフィルタ決定及び第第3のフィルタ決定は、現在のラインが強いデブロッキングフィルタ又は弱いデブロッキングフィルタによりフィルタリングされるべきかを選択するために採用される。
【0071】
図8は、そのようなブロック毎のフィルタ決定又はブロック別のフィルタ決定を示すフローチャートである。ステップS40において開始し、現在のブロック及び関連するブロック境界に対してブロック別の決定値を算出する。算出されたブロック別の決定値は、ブロックにおける画素の第1のライン及び隣接ブロックにおける画素の対応する第1のラインの画素値がフィルタリング方向に平行する方向にどの程度平滑であるか、並びにブロックにおける画素の第2のライン及び隣接ブロックにおける画素の対応する第2のラインの画素値がフィルタリング方向に平行する方向にどの程度平滑であるかを表す。次のステップS41は、ステップS40で算出されたブロック別の決定値をブロック別の閾値(Tb)と比較する。ブロック別の決定値がブロック別の閾値を下回らない場合、方法は終了し、デブロッキングフィルタリングは現在のブロック及び関連するブロック境界に対して実行されない。しかし、ブロック別の決定値がブロック別の閾値を下回る場合、デブロッキングフィルタリングがブロックに適用され、図1のステップS1に進み、強いデブロッキングフィルタリングと弱いデブロッキングフィルタリングとの間で決定される。
【0072】
特定の一実施形態において、ステップS40で算出されたブロック別の決定値は、上述の第1のフィルタ決定値に等しい。従って、第1のフィルタ決定値に対する上述の実施形態は、ブロック別のフィルタ決定値にも適用できる。従って、特定の一実施形態において、|p22−2p12+p02|+|q22−2q12+q02|+|p25−2p15+p05|+|q25−2q15+q05|として算出される。しかし、ブロック別のフィルタ決定値が第1のフィルタ決定値に等しくなるように算出されることが好ましい場合でも、ブロック別の閾値は、第1の閾値に等しくなくてもよいし、第1の閾値に等しくないことが好ましい。
【0073】
図9は、ブロック別の閾値を判定する方法を示すフローチャートである。ステップS50において開始し、ブロック別の閾値は、現在のブロックに対して判定された量子化パラメータに基づいて判定される。特定の一実施形態において、ブロック別の閾値は、ブロックの残差符号化のために選択された量子化パラメータに基づいて、上記の表1等のルックアップテーブルから判定される。
【0074】
ステップS50の一実施形態は、量子化パラメータに基づいてブロック別の閾値を判定する。第1の閾値はブロック別の閾値の1/4に等しいと判定されることが好ましく、第2の閾値はブロック別の閾値の1/8に等しいと判定されることが好ましい。特定の一実施形態において、Tb=β、T1=β>>2、及び、T2=β>>3であり、式中、βは、例えば表1において規定された量子化パラメータに基づいて選択される。
【0075】
一実施形態において、更なる条件又は基準が、現在のブロックAと隣接ブロックBとの間のブロック境界がフィルタリングされるべきかを決定するために、ブロック別のフィルタ決定に加えて利用できる。そのような更なる条件の例は、以下のことを含む。
i)ブロックA又はブロックBは、イントラ(MODE_INTRA)に等しい予測モード(PredMode)を有する。
ii)ブロックA又はブロックBは、非ゼロ変換係数を有する。
iii)ブロックA又はブロックBは、異なる基準フレーム又は異なる数の動きベクトルを使用する。
iv)1つの動きベクトルはブロックAを予測するために使用され、1つの動きベクトルはブロックBを予測するために使用され、使用された動きベクトル間の水平成分又は垂直成分の絶対差分は、1/4ルマフレームサンプルの単位(in units of quater luma frame samples)で4以上である。
v)2つの動きベクトル及び2つの異なる基準ピクチャは、ブロックAを予測するために使用され、同一の2つの基準ピクチャに対する2つの動きベクトルは、ブロックBを予測するために使用され、同一の基準ピクチャに対して2つのブロックを予測するために使用された2つの動きベクトル間の水平成分又は垂直成分の絶対差分は、1/4ルマフレームサンプルの単位で4以上である。
vi)同一の基準ピクチャに対する2つの動きベクトルは、ブロックAを予測するために使用され、同一の基準ピクチャに対する2つの動きベクトルは、ブロックBを予測するために使用され、2つの分割を予測するために使用された対応する動きベクトル間の水平成分又は垂直成分の絶対差分は、1/4ルマフレームサンプルの単位で4以上である。
【0076】
上述の条件i)〜vi)はいずれかが選択可能であることが好ましい。これは、条件i)〜vi)のうちのいずれかが現在のブロックAに対して満たされ、ブロック別のフィルタ決定が真である場合、デブロッキングフィルタリングはブロック境界にわたり適用されるべきであり、強いデブロッキングフィルタ又は弱いデブロッキングフィルタは、ブロックにおける画素のライン毎に選択されるべきである。これは、条件i)〜vi)がいずれも現在のブロックAに対して満たされない場合、ブロックA及び関連する境界に対してデブロッキングフィルタリングが実行されないことが好ましい。
【0077】
図10は、図1に示された方法の更なるステップを示すフローチャートである。方法は、図1のステップS4又はS5から継続する。次のステップS60は、画素の現在のラインの画素値を、選択されたデブロッキングフィルタによりフィルタリングする。これは、方法が図1のステップS4から継続する場合、ステップS60は、強いデブロッキングフィルタにより画素値をフィルタリングすることを意味する。
【0078】
実施形態は、ブロッキングアーチファクトを抑制するために当技術分野において採用されたあらゆる強いデブロッキングフィルタと組み合わせて適用される。特定の一実施形態において、強いデブロッキングフィルタリングは、以下の演算の組により実行される。
p0i'=(p2i+2p1i+2p0i+2q0i+q1i+4)>>3
p1i'=(p2i+p1i+p0i+q0i+2)>>2
p2i =(2p3i+3p2i+p1i+p0i+q0i+4)>>3
q0i'=(p1i+2p0i+2q0i+2q1+q2i+4)>>3
p1i'=(p0i+q0i+q1i+q2i+2)>>2
q2i'=(p0i+q0i+q1i+3q2i+2q3i+4)>>3
式中、iはブロックにおける現在のラインを表す。従って、図2A及び図2Bのブロックを参照すると、i=0、...、7である。上述の式において、pki', qki'、k=0...2は、フィルタリング後のブロック及び隣接ブロックのそれぞれにおける変更された画素値を表す。
【0079】
変更された画素値は、許可された画素値範囲内になるように更にクリップされることが好ましい。特定の一実施形態において、クリッピング動作により、変更された画素値が256個の異なる画素値を可能にする[0、255]の範囲内に存在するようにする。これは、フィルタリング後の変更された画素値が0より小さいか又は255より大きい場合に0又は255によりそれぞれ置換されることを意味する。
【0080】
あるいは図1のステップS3の比較の結果、図1のステップS5に進む場合、ステップS60は、弱いデブロッキングフィルタにより画素値をフィルタリングする。
【0081】
実施形態は、ブロッキングアーチファクトを抑制するために当技術分野において採用されたあらゆる弱いデブロッキングフィルタと組み合わせて適用される。特定の一実施形態において、弱いデブロッキングフィルタリングは、以下の演算の組により実行される。
p0i'=p0i+Δ0
q0i'=q0i−Δ0
ここで、Δ0の値は、最初のΔ0i値の算出を含む2ステップ処理において算出され、後続してこの値を上述の式に適用する前にクリップする。特定の一実施形態において、Δ0i=(p1i−4p0i+4q0i−qi+4)>>3である。弱いデブロッキングフィルタのインパルス応答は、(1、4、4 −1)/8である。Δ0iのクリッピング範囲は、ブロックの量子化パラメータに基づいて判定される。
【0082】
本実施形態において、画素値p1i、q1iは、更なるフィルタ条件を満たす場合は変更され、更なるフィルタ条件を満たさない場合は変更されない。一実施形態において、|p2i−p0i|<T4の場合、p1iは変更される。ここで、T4は、4番目の閾値を表し、ブロックの量子化パラメータに基づいて判定されることが好ましい。この条件が真である場合、p1i'=p1i+Δp1である。値Δp1は、2ステップ処理において更に算出され、初期値Δp1i=(p2i+((p0i+q0i+1)>>1)−2p1i)>>1を算出することから開始する。対応するインパルス応答は、(1、0、0.5、0.5)/2である。Δp1は、Δp1=Min(Max(−tc、Δp1i)、tc)として判定される。式中、tcは、ブロックの量子化パラメータに基づいて判定され、上記の表1等のルックアップテーブルから判定される。
【0083】
同様に、|q2i−q0i|<T4の場合、q1iは変更される。この条件が真である場合、q1i'=q1i+Δq1である。値Δq1は、2ステップ処理において更に算出され、インパルス応答が(0.5、0.5、0、1)/2である初期値Δq1i=(q2i+((q0i+p0i+1)>>1)−2q1i)>>1を算出することから開始する。Δq1は、Δq1=Min(Max(−tc、Δq1i)、tc)として判定される。
【0084】
一実施形態において、Δ0iのクリッピング範囲は、値tc、並びに条件|p2i−p0i|<T4及び|q2i−q0i|<T4の評価に基づいて判定される。そのような場合、クリッピング値tc'は、最初にtcに等しく設定され、次に満される条件|p2i−p0i|<T4及び|q2i−q0i|<T4毎に1だけ増分される。一実施形態において、Δ0=Min(Max(−tc'、Δ0i)、tc')である。
【0085】
別の一実施形態において、Δp1i=(((((p0i+q0i+1)>>1)+p2i+1)>>1)−p1i)>>1 及び Δq1i=(((((p0i+q0i+1)>>1)+q2i+1)>>1)−q1i)>>1である。インパルス応答は、(2、4、1、1)/8及び(1、1、4、2)/8である。このフィルタリングは、フィルタタップ(1、0、0.5、0.5)/2を含むフィルタを使用する場合と比較して画素値p2i、q2iに対してより適切な補間特性を提供する。これにより、不自然なエッジを意図せずに導入する危険性を更に低下させる。
【0086】
別の実施形態において、弱いフィルタリングは、以下の演算に従って実行される。
【0087】
Δ=Clip(−tc、tc、(13(q0i−p0i)+4(q1i−p1i)−5(q2i−p2i)>>5))
p0i'=Clip(0、255、(p0i+Δ))
q0i'=Clip(0、255、(q0i−Δ))
p1i'=Clip(0、255、(p1i+Δ/2))
q1i'=Clip(0、255、(q1i−Δ/2))
式中、Clip(a、b、X)=Min(Max(a、X)、b)である。
【0088】
図11は、一実施形態に係るフィルタリング制御装置100を示す概略ブロック図である。フィルタリング制御装置100は、映像フレームにおいて複数の画素のブロックに対して第1のフィルタ決定値を算出するように構成された第1の決定値算出器110を備える。第1の決定値算出器110は、ブロックにおける画素の第1のライン及び隣接ブロックにおける画素の対応する第1のラインの画素値がフィルタリング方向に平行する方向にどの程度平滑であるかを表す第1のフィルタ決定値を算出する。
【0089】
第1の閾値比較器130は、第1の決定値算出器110により算出された第1のフィルタ決定値を第1の閾値と比較するように構成される。
【0090】
第2の決定値算出器120は、ブロックにおける画素の現在のラインの画素値がどの程度平坦なラインに近似するか、隣接ブロックにおける画素の対応する現在のラインの画素値がどの程度平坦なラインに近似するかを表すブロックに対して第2のフィルタ決定値を算出するようにフィルタリング制御装置100において実現される。
【0091】
第2の決定値算出器120により算出された第2のフィルタ決定値は、第2の閾値比較器140により第2の閾値と比較される。
【0092】
第1の閾値比較器130により判定されたように第1のフィルタ決定値が第1の閾値を下回り、第2の閾値比較器140により判定されたように第2のフィルタ決定値が第2の閾値を下回る場合、フィルタリング制御装置100は、画素の現在のラインの少なくとも1つの画素値をフィルタリングする強いデブロッキングフィルタを選択するように構成されたフィルタ選択器150を追加する。第1の閾値比較器130により判定されたように第1のフィルタ決定値が第1の閾値を下回らず、第2の閾値比較器140により判定されたように第2のフィルタ決定値が第2の閾値を下回らない場合、フィルタ選択器150は、画素の現在のラインの少なくとも1つの画素値をフィルタリングする弱いデブロッキングフィルタを選択するように構成される。
【0093】
フィルタリング制御装置100は、現在のブロック境界に対して画素の各ライン上でそのように動作し、それらを調査する。これは、ブロックにおける画素の第2の、すなわち新しい現在のラインに移動する場合、第2の決定値算出器120が新しい第2のフィルタ決定値を算出することを意味する。しかし、第1の決定値算出器110は、新しい第1のフィルタ決定値を算出する必要がないことが好ましい。明らかに対照的に、同一の第1のフィルタ決定値は、ブロックにおける画素の全てのライン及び関連するブロック境界に対して適用可能であり、使用されることが好ましい。
【0094】
第1の決定値算出器110及び第2の決定値算出器120は、上述の実施形態のうちのいずれかに従って、それぞれ第1の決定値及び第2の決定値を算出するように構成される。例えば第2の決定値算出器120は、|p3i−p0i|+|q0i−q3i|として第2のフィルタ決定値を算出することが好都合である。それに対応して、特定の一実施形態において、第1の決定値算出器は、|p2j−2p1j+p0j|+|q2j−2q1j+q0j|に基づいて第1の決定値を算出し、好ましくは|p22−2p12+p02|+|q22−2q12+q02|+|p25−2p15+p05|+|q25−2q15+q05|として第1のフィルタ決定値を算出するように構成される。
【0095】
図12は、フィルタリング制御装置200の別の実施形態を示す概略ブロック図である。第1の決定値算出器210、第1の閾値比較器230、第2の決定値算出器220及び第2の閾値比較器240の動作は、基本的に図11に示された上述の実施形態と同一である。従って、フィルタリング制御装置200のこれらのユニット210、220、230、240を更に詳細には説明しない。
【0096】
フィルタリング制御装置200は、ブロックに対して第3のフィルタ決定値を算出するように構成された第3の決定値算出器260を備える。第3のフィルタ決定値は、ブロック境界に最近接する現在のラインの画素の画素値とブロック境界に最近接する対応する現在のラインの画素の画素値との絶対差分、すなわち|p0i−q0i|を表す。第3の閾値比較器270は、第3の決定値算出器により算出された第3のフィルタ決定値を第3の閾値と比較するようにフィルタリング制御装置200において実現される。第1のフィルタ決定値が第1の閾値を下回り、第2のフィルタ決定値が第2の閾値を下回り、第3の閾値比較器270により判定されたように第3のフィルタ決定値が第3の閾値を下回る場合、フィルタ選択器250は、強いデブロッキングフィルタを選択するように構成される。これらの全ての条件を満たさない場合、フィルタ選択器250は、代わりに画素の現在のラインの少なくとも1つの画素値をフィルタリングする弱いデブロッキングフィルタを選択する。
【0097】
フィルタリング制御装置200は、それぞれ、第1の閾値比較器230、第2の閾値比較器240及び第3の閾値比較器270により採用された第1の閾値、第2の閾値及び第3の閾値を判定するように構成された閾値判定機280を備えることが好ましい。特定の一実施形態において、閾値判定器は、ブロックの残差符号化のために選択された量子化パラメータに基づいてブロックの3つの閾値を判定する。
【0098】
特定の一実施形態において、閾値判定器280は、上述したようにa1×tc、好ましくは2.5tcとなる第3の閾値を判定するように構成される。閾値判定器280は、第2の閾値が閾値の半分、並びに好都合にはT1=β>>2及びT2=β>>3に等しいと追加して判定することが好ましい。値tc、βは、ブロックの量子化パラメータに依存し、入力として量子化パラメータを使用する閾値ルックアップテーブル285に基づいて閾値判定器280により判定されることが好ましい。
【0099】
一実施形態において、フィルタリング制御装置200は、ブロックに対してブロック決定値を算出するように構成されたブロック決定値算出器290を更に又は追加する。ブロック決定値は、ブロックにおける画素の第1のライン及び第2のライン、並びに隣接ブロックにおける画素の対応する第1のライン及び対応する第2のラインの画素値がフィルタリング方向に平行する方向にどの程度平滑であるかを表すことが好ましい。ブロック決定値算出器290により算出されたブロック決定値は、第1の決定値算出器210により算出された第1のフィルタ決定値に等しいことが好都合である。そのような場合、ブロック決定値算出器290は省略され、その動作は、代わりに第1の決定値算出器210により引き継がれる。しかし、フィルタリング制御装置200において及び特にブロック別の決定値が第1のフィルタ決定値に必ずしも等しくない実施形態において実現されたこれらのユニット210、290の双方を有することが可能である。
【0100】
いずれの場合においても、ブロック決定値算出器290により算出されたかあるいは第1の決定値算出器210から生じたブロック別の決定値は、ブロック閾値比較器292により処理される。特に、ブロック閾値比較器292は、ブロック別の決定値をブロック別の閾値と比較する。フィルタリング選択器294は、ブロック閾値比較器292により実行された比較に基づいてデブロッキングフィルタを現在のブロック及び関連するブロック境界に適用するか否かを選択するようにフィルタリング制御装置200において実現される。ブロック閾値比較器292により判定されたようにブロック別の決定値がブロック別の閾値を下回る場合、フィルタリング選択器294は、デブロッキングフィルタリングをブロックに適用することを選択することが好ましい。ブロック別の決定値がブロック別の閾値を下回らない場合、フィルタリング選択器294は、現在のブロック及び現在のブロック境界に対するあらゆるデブロッキングフィルタリングを防止する。
【0101】
上述の閾値判定器280は、ブロック閾値比較器292により採用されたブロック別の閾値を更に判定することが好ましい。閾値判定器280は、ブロックの量子化パラメータに基づいて及び好ましくは表入力として量子化パラメータを含む閾値ルックアップテーブル285を使用してブロック別の閾値を判定することが好ましい。
【0102】
図13は、フィルタリング制御装置300の更に別の実施形態を示す概略ブロック図である。第1の決定値算出器310、第2の決定値算出器320、第1の閾値判定器330、第2の閾値比較器340及びフィルタ選択器350の動作は、図11及び図12に関連して上述したように実行されることが好ましい。
【0103】
本実施形態において、フィルタリング制御装置300は、フィルタ選択器により選択されたデブロッキングフィルタにより画素の現在のラインの画素値をフィルタリングするように構成されたフィルタリング装置を備える。フィルタリング装置360は、上述の強いデブロッキングフィルタ又は弱いデブロッキングフィルタのいずれかを適用するように構成される。
【0104】
特定の一実施形態において、フィルタ選択器350が弱いデブロッキングフィルタリングを選択する場合、フィルタリング装置360は、フィルタリングタップ[2 4 1 1]/8を有する弱いデブロッキングフィルタにより画素の現在のラインの画素値をフィルタリングし、デルタ値を取得する。本実施形態において、値加算器370は、ブロック境界に最近接する画素の現在のラインの画素の画素値にデルタ値を加算するようにフィルタリング制御装置300において実現される。
【0105】
図11〜図13に示された上述の実施形態は組み合わさることができる。従って、図13のフィルタリング装置及び値加算器は、図11又は図12のフィルタリング制御装置においても実現される。また、図12の第3の決定値算出器及び第3の閾値比較器は、図11又は図13の実施形態において実現される。又は更に、ブロック決定値算出器、ブロック閾値比較器及びフィルタリング選択器は、閾値判定器及び閾値ルックアップテーブルのように図11又は図13の実施形態において提供される。
【0106】
フィルタリング制御装置の実施形態のうちのいずれかは、少なくとも部分的にソフトウェアで実現される。図14は、メモリ26上に格納され、図14において中央処理装置(CPU)32により示された汎用コンピュータ又は専用コンピュータ、プロセッサ又はマイクロプロセッサ上にロードされ、実行されたコンピュータプログラムとして実現されたフィルタリング制御装置100を示す概略ブロック図である。
【0107】
ソフトウェアは、少なくとも第1の決定値算出器110、第2の決定値算出器120、第1の閾値比較器130、第2の閾値比較器140及びフィルタ選択器150の動作を実行するコンピュータプログラムコード要素又はソフトウェアコード部分を含む。図12及び図13に示されたようなユニット又は装置は、メモリ30に格納され、CPU32により実行されたコンピュータプログラムコード要素として更に実現される。プログラムの全て又は一部は、RAM等の1つ以上の適切な揮発性コンピュータ可読媒体又はデータ記憶媒体、あるいは磁気ディスク、CD−ROM、DVDディスク、ハードディスク等の1つ以上の不揮発性コンピュータ可読媒体又はデータ記憶手段上又はそれらに格納されるか、ROM又はフラッシュメモリに格納される。データ記憶手段は、ローカルデータ記憶手段であってよく、データサーバ等にリモートで提供される。従って、ソフトウェアは、プロセッサにより実行されるためにコンピュータ又は同等の処理システムの動作メモリにロードされる。コンピュータ/プロセッサは、上述の機能の実行だけに限定されることなく、他のソフトウェアタスクを更に実行してもよい。フィルタリング制御装置100を規定するために使用されたプログラムコードの非限定例には、単一命令多重データ(SIMD)コードが含まれる。
【0108】
図15は、一実施形態に係るフィルタリング制御装置のハードウェア実現例を示す図である。本実施形態において、第2の決定値算出器120は、3つの加算器121、122、125及び2つの絶対値算出器123、124として実現される。第1の加算器121は、ブロック境界に最近接する画素の現在のラインの画素の画素値及びブロック境界に4番目に最近接する現在のラインの画素の否定画素値を受信する。第2の加算器122は、それに対応してブロック境界に最近接する画素の対応する現在のラインの画素の画素値及びブロック境界に4番目に最近接する対応する現在のラインの画素の否定画素値を受信する。第1の加算器121からの出力は、正値を提供する第1の絶対値算出器123にもたらされる。第2の絶対値算出器124は、それに対応して第2の加算器122からの出力の正値を提供する。第3の加算器125は、2つの絶対値算出器123、124からの正値を合計し、第2のフィルタ決定値を取得する。
【0109】
本実施形態において、第1のフィルタ決定値算出器110は、画素の第1のラインのブロック境界に最近接する画素の画素値及び3番目に最近接する画素の画素値を加算する第1の加算器111を備える。第1のラインのブロック境界に2番目に最近接する画素の画素値は、乗算器112において2で乗算され、乗算器112からの出力は、否定され、第1の加算器からの出力を更に受信する第2の加算器113に入力される。第1の絶対値算出器114は、加算器出力の正値を生成する。
【0110】
加算器115、117の対応する対、乗算器116及び絶対値算出器118は、現在のブロックにおける画素の第2のラインの画素値の演算を実行する。第1の絶対値算出器114及び第2の絶対値算出器118からの出力は、加算器119により合計される。
【0111】
加算器161、163、165、167、169の対応する集合、乗算器162、166及び絶対値算出器164、168は、相互接続され、隣接ブロックにおける画素の対応する第1のライン及び第2のラインの画素の画素値の演算を実行するように構成される。最後に、加算器171は、ブロックにおける第1のライン及び第2のラインの回路網処理画素値からの出力、並びに隣接ブロックにおける対応する第1のライン及び第2のラインの回路網処理画素値からの出力を合計する。
【0112】
第1の閾値比較器130は、加算器171からの出力及び第1の閾値の値を受信する比較器131として実現される。比較器131は、加算器出力が第1の閾値を下回る場合は1binを出力し、加算器出力が第1の閾値を下回らない場合は0binを出力する。第2の閾値比較器140は、第2の決定値算出器120の加算器125からの出力及び第2の閾値を受信する比較器141として更に実現される。比較器141は、加算器出力が第1の閾値を下回る場合は1binを出力し、加算器出力が第1の閾値を下回らない場合は0binを出力する。
【0113】
2つの比較器131、141からの出力は、フィルタ選択器150に対応するANDゲート151に入力される。双方の比較器出力が1binである場合、ANDゲート151は1binを出力し、強いデブロッキングフィルタリングがブロックにおける画素の現在のラインの画素値に適用されることを示す。双方の比較器出力が1binでない場合、ANDゲート151は0binを出力し、弱いデブロッキングフィルタリングが代わりに画素値に適用される。
【0114】
図15に示されたフィルタリング制御装置100のハードウェア実現例は、単にフィルタリング制御装置100のユニット110、120、130、140、150がハードウェアで実現される方法の例を示すものとして見なされるべきである。図15に示された回路網素子と同一の機能又は対応する機能を実現するために使用され、組み合わされる回路網素子の多数の変形例がある。また、そのような変形例は実施形態に含まれる。フィルタリング制御装置100のハードウェア実現例の特定の例は、デジタル信号プロセッサ(DSP)ハードウェア、並びに汎用電子回路網及び特定用途向け回路網の双方を含む集積回路技術における実現例である。
【0115】
図13は、一実施形態に従って映像系列の映像フレームにおいて画素のブロックを符号化する符号器40を示す概略ブロック図である。
【0116】
画素の現在のブロックは、動き推定器50により動き推定を実行することにより、同一のフレーム又は前のフレームにおいて既に提供された画素のブロックから予測される。インター予測の場合、動き推定の結果、基準ブロックと関連付けられた動きベクトル又は変位ベクトルが得られる。動きベクトルは、画素のブロックのインター予測値を出力する動き補償器50により利用される。
【0117】
イントラ予測器49は、画素の現在のブロックのイントラ予測値を算出する。動き推定器/補償器50及びイントラ予測器49からの出力は、画素の現在のブロックのイントラ予測又はインター予測のいずれかを選択する選択器51において入力される。選択器51からの出力は、画素の現在のブロックの画素値を更に受信する加算器41の形態で誤差算出器に入力される。加算器41は、画素のブロックとその予測との間の画素値の差分として残差誤差を算出及び出力する。
【0118】
誤差は、離散コサイン変換等により変換器42において変換され、量子化器43により量子化され、その後エントロピー符号器等の符号器44において符号化される。インター符号化において、更に推定された動きベクトルは、画素の現在のブロックの符号化表現を生成する符号器44にもたらされる。
【0119】
画素の現在のブロックに対して変換され且つ量子化された残差誤差は、逆量子化器45及び逆変換器46に更に提供され、元の残差誤差を検索する。この誤差は、加算器47により動き補償器50又はイントラ予測器49からのブロック予測出力に加算され、画素の次のブロックを予測及び符号化するために使用される画素の基準ブロックを作成する。この新しい基準ブロックは、デブロッキングフィルタリングが適用されるかを判定するため、及び、デブロッキングフィルタリングが適用される場合には使用されるデブロッキングフィルタの種類を判定するために、実施形態に係るフィルタリング制御装置100により先ず処理される。処理された新しい基準ブロックは、フレームバッファ48に一時的に格納され、イントラ予測器49及び動き推定器/補償器50に対して使用可能である。
【0120】
図17は、実施形態に係るフィルタリング制御装置100を備える復号器60を示す対応する概略ブロック図である。復号器60は、画素のブロックの符号化表現を復号化し、量子化され且つ変換された残差誤差の集合を取得するエントロピー復号器等の復号器61を備える。これらの残差誤差は、逆量子化器62において逆量子化され、逆変換器63により逆変換され、残差誤差の集合を取得する。
【0121】
これらの残差誤差は、加算器64において画素の基準ブロックの画素値に加算される。基準ブロックは、インター予測又はイントラ予測が実行されるかに依存して動き推定器/補償器67又はイントラ予測器66により判定される。選択器68は、加算器64、動き推定器/補償器67及びイントラ予測器66に相互接続される。加算器64から出力された結果として得られる画素の復号化ブロックは、あらゆるブロッキングアーチファクトをデブロッキングフィルタリングするために、実施形態に係るフィルタリング制御装置100に入力される。フィルタリングされた画素のブロックは、復号器60から出力され、フレームバッファ65に更に一時的に提供されることが好ましく、復号化される画素の後続ブロックに対して画素の基準ブロックとして使用される。フレームバッファ65は、動き推定器/補償器67に接続され、格納された画素のブロックを動き推定器/補償器67に対して使用可能にする。
【0122】
加算器64からの出力は、イントラ予測器66に更に入力され、フィルタリングされない画素の基準ブロックとして使用されることが好ましい。
【0123】
図18は、フィルタリング制御装置を含む復号器60を収容するメディア端末70を示す概略ブロック図である。メディア端末70は、符号化映像フレームの符号化映像ストリームの演算を実行することで映像フレームを復号化し、映像データを使用可能にするメディア復号化機能を有するあらゆる装置であってよい。そのような装置の非限定例には、移動電話及び他のポータブルメディアプレーヤ、コンピュータ、復号器、ゲーム機等が含まれる。メディア端末70は、符号化映像フレームを格納するように構成されたメモリ72を含む。これらの符号化映像フレームは、メディア端末70自体により生成されている。そのような場合、メディア端末70は、図16の符号器等の接続された符号器と共にメディアエンジン又は記録装置を備えることが好ましい。あるいは、符号化映像フレームは、他の何らかの装置により生成され、メディア端末70に無線通信又は有線通信される。メディア端末70は、送受信機(送信機及び受信機)又は入出力ポートを備え、データ伝送を実現する。
【0124】
符号化映像フレームは、メモリ72から図17に示された復号器等の復号器60にもたらされる。復号器60は、符号化映像フレームを復号化映像フレームに復号化する。復号化映像フレームは、メディア端末70のあるいはメディア端末70に接続されたディスプレイ又は画面76上に表示可能な映像データに復号化映像フレームをレンダリングするように構成されるメディアプレーヤ74に提供される。
【0125】
図18において、メディア端末は、メディアプレーヤ74の一部として実現された復号器60を含むメディアプレーヤ74及び復号器60の双方を備えるものとして示されている。しかし、これは、単にメディア端末70の一実現例の実施形態を示すが非限定例として見なされるべきである。また、本明細書において使用されたようなメディア端末70の範囲内において、復号器60及びメディアプレーヤ74が2つの物理的に分離された装置に提供されることが可能である分散型実現例が可能である。ディスプレイ76は、実際のデータ処理が行われているメディア端末70に接続された別個の装置として更に提供される。
【0126】
上述の実施形態は、本発明のいくつかの例示的な例として理解される。本発明の範囲から逸脱せずに種々の変形、組合せ及び変更が実施形態に対して行われてもよいことは、当業者により理解されるだろう。特に、技術的に可能である場合、種々の実施形態における種々の部分的な解決方法は、他の構成において組み合わされてよい。しかし、本発明の範囲は、添付の請求の範囲により規定される。
【特許請求の範囲】
【請求項1】
映像フレームにおいて各々がそれぞれの画素値を有する複数の画素(11、13、15、17)で構成されるブロック(10)に適用可能なフィルタリング制御方法であって、
前記映像フレームにおいて複数の画素(21、23、25、27)の前記ブロック(10)における画素(11、13、15、17)の第1のライン、及び、隣接ブロックにおける画素(21、23、25、27)の対応する第1のラインの画素値が、フィルタリング方向に平行する方向にどの程度平滑であるかを表す、前記ブロック(10)に対して第1のフィルタ決定値を算出するステップ(S1)と、
前記ブロック(10)における画素(11、13、15、17)の現在のライン(12)の画素値がどの程度平坦なラインに近似するか、前記隣接ブロック(20)における画素(21、23、25、27)の対応する現在のライン(22)の画素値がどの程度平坦なラインに近似するかを表す、前記ブロック(10)に対して第2のフィルタ決定値を算出するステップ(S2)と、
前記第1のフィルタ決定値を第1の閾値と、前記第2のフィルタ決定値を第2の閾値と比較するステップ(S3)と、
前記第1のフィルタ決定値が前記第1の閾値を下回り、及び、前記第2のフィルタ決定値が前記第2の閾値を下回る場合には、画素(11、13、15、17)の前記現在のライン(12)の少なくとも1つの画素値をフィルタリングする強いデブロッキングフィルタを選択し(S4)、さもなければ、画素(11、13、15、17)の前記現在のライン(12)の少なくとも1つの画素値をフィルタリングする弱いデブロッキングフィルタを選択するステップ(S5)とを備え、
前記強いデブロッキングフィルタは、前記弱いデブロッキングフィルタより比較的高いフィルタリング強度を有することを特徴とする方法。
【請求項2】
前記第2のフィルタ決定値を算出するステップ(S2)は、
|p3i−p0i|+|q0i−q3i|
として前記第2のフィルタ決定値を算出するステップ(S2)を含み、
式中、p0iは、前記隣接ブロック(20)とのブロック境界(1)に最近接する画素(11、13、15、17)の前記現在のライン(12)の画素(11)の画素値を示し、p3iは、前記ブロック境界(1)に4番目に最近接する画素(11、13、15、17)の前記現在のライン(12)の画素(17)の画素値を示し、q0iは、前記ブロック境界(1)に最近接する画素(21、23、25、27)の前記対応する現在のライン(22)の前記隣接ブロック(20)における画素(21)の画素値を示し、q3iは、前記ブロック境界(1)に4番目に最近接する画素(21、23、25、27)の前記対応する現在のライン(22)の前記隣接ブロック(20)における画素(27)の画素値を示す
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記第1のフィルタ決定値を算出するステップ(S1)は、
|p2j−2p1j+p0j|+|q2j−2q1j+q0j|
に基づいて前記第1のフィルタ決定値を算出するステップ(S1)を含み、
式中、p0jは、前記隣接ブロック(20)に対するブロック境界(1)に最近接する前記ブロック(10)における画素の前記第1のラインの画素の画素値を示し、p1jは、前記ブロック境界(1)に2番目に最近接する画素の前記第1のラインの画素の画素値を示し、p2jは、前記ブロック境界(1)に3番目に最近接する画素の前記第1のラインの画素の画素値を示し、q0jは、前記ブロック境界(1)に最近接する前記隣接ブロック(20)における画素の前記対応する第1のラインの前記隣接ブロック(20)における画素の画素値を示し、q1jは、前記ブロック境界(1)に2番目に最近接する画素の前記対応する第1のラインの前記隣接ブロック(20)の画素の画素値を示し、q2jは、前記ブロック境界(1)に3番目に最近接する画素の前記が対応する第1のラインの前記隣接ブロック(20)における画素の画素値を示すことを特徴とする請求項1又は2に記載の方法。
【請求項4】
前記第1のフィルタ決定値を算出するステップ(S1)は、
|p22−2p12+p02|+|q22−2q12+q02|+|p25−2p15+p05|+|q25−2q15+q05|
として前記第1のフィルタ決定値を算出するステップ(S1)を含み、
式中、p02は、前記ブロック境界(1)に最近接する画素の前記第1のラインの前記画素の前記画素値を示し、p12は、前記ブロック境界(1)に2番目に最近接する画素の前記第1のラインの前記画素の前記画素値を示し、p22は、前記ブロック境界(1)に3番目に最近接する画素の前記第1のラインの前記画素の前記画素値を示し、q02は、前記ブロック境界(1)に最近接する画素の前記対応する第1のラインの前記隣接ブロック(20)における前記画素の前記画素値を示し、q1jは、前記ブロック境界(1)に2番目に最近接する画素の前記対応する第1のラインの前記隣接ブロック(20)の前記画素の前記画素値を示し、q22は、前記ブロック境界(1)に3番目に最近接する画素の前記対応する第1のラインの前記隣接ブロック(20)における前記画素の前記画素値を示し、p05は、前記ブロック境界(1)に最近接する前記ブロック(10)における画素の第2のラインの画素の画素値を示し、p15は、前記ブロック境界(1)に2番目に最近接する画素の前記第2のラインの画素の画素値を示し、p25は、前記ブロック境界(1)に3番目に最近接する画素の前記第2のラインの画素の画素値を示し、q05は、前記ブロック境界(1)に最近接する前記隣接ブロック(20)における画素の対応する第2のラインの前記隣接ブロック(20)における画素の画素値を示し、q15は、前記ブロック境界(1)に2番目に最近接する画素の前記対応する第2のラインの前記隣接ブロック(20)の画素の画素値を示し、q25は、前記ブロック境界(1)に3番目に最近接する画素の前記対応する第1のラインの前記隣接ブロック(20)における画素の画素値を示すことを特徴とする請求項3に記載の方法。
【請求項5】
前記隣接ブロック(20)に対するブロック境界(1)に最近接する画素(11、13、15、17)の前記現在のライン(12)の画素(11)の画素値と前記ブロック境界(1)に最近接する画素(21、23、25、27)の前記対応する現在のライン(22)の前記隣接ブロック(20)における画素(21)の画素値との絶対差分を表す前記ブロック(10)に対して第3のフィルタ決定値を算出するステップ(S10)を更に備え、
前記第1のフィルタ決定及び前記第2のフィルタ決定を比較するステップ(S3)は、前記第1のフィルタ決定値を前記第1の閾値と、前記第2のフィルタ決定値を前記第2の閾値と、前記第3のフィルタ決定値を第3の閾値と比較するステップ(S11)を含み、
前記強いデブロッキングフィルタを選択するステップ(S4)は、前記第1のフィルタ決定値が前記第1の閾値を下回り、前記第2のフィルタ決定値が前記第2の閾値を下回り、前記第3のフィルタ決定値が前記第3の閾値を下回る場合、画素(11、13、15、17)の前記現在のライン(12)の前記少なくとも1つの画素値をフィルタリングする前記強いデブロッキングフィルタを選択し(S4)、さもなければ、画素(11、13、15、17)の前記現在のライン(12)の前記少なくとも1つの画素値をフィルタリングする前記弱いデブロッキングフィルタを選択するステップ(S5)を含む
ことを特徴とする請求項1乃至4のいずれか1項に記載の方法。
【請求項6】
前記ブロック(10)の残差符号化のために選択された量子化パラメータに基づいて前記第3の閾値を判定するステップ(S20)を更に備えることを特徴とする請求項5に記載の方法。
【請求項7】
前記第3の閾値を判定するステップ(S20)は、a1×tcとして前記第3の閾値を判定するステップ(S20)を含み、
式中、tcは、前記量子化パラメータに基づいて前記ブロック(10)に対して選択されたクリッピング閾値であり、
a1は、
前記強いデブロッキングフィルタによる強いフィルタリングが、前記弱いデブロッキングフィルタによる弱いフィルタリング及び前記クリッピング閾値が前記ブロック境界(1)に最近接する画素(11、13、15、17)の前記現在のライン(12)の前記画素(11)の前記画素値を変更する値より大きい値で前記ブロック境界(1)に最近接する画素の(11、13、15、17)の前記現在のライン(12)の前記画素(11)の前記画素値を変更する場合に、前記強いデブロッキングフィルタを選択することを防止するように選択された乗数である
ことを特徴とする請求項6に記載の方法。
【請求項8】
前記第3の閾値を判定するステップ(S20)は、2.5tcとして前記第3の閾値を判定するステップ(S20)を含み、tcは、前記量子化パラメータに基づいて前記ブロック(10)に対して選択されたクリッピング閾値であることを特徴とする請求項6に記載の方法。
【請求項9】
前記第2の閾値を前記第1の閾値の半分に等しい値に判定するステップを更に備えることを特徴とする請求項1乃至8のいずれか1項に記載の方法。
【請求項10】
前記ブロックの残差符号化のために選択された量子化パラメータに基づいて前記第1の閾値及び前記第2の閾値を判定するステップ(S30)を更に備えることを特徴とする請求項1乃至9のいずれか1項に記載の方法。
【請求項11】
複数の画素(21、23、25、27)で構成される前記ブロック(10)における画素(11、の13、15、17)の前記第1のライン及び前記隣接ブロックにおける画素(21、23、25、27)の前記対応する第1のラインの画素値が前記フィルタリング方向に平行する方向にどの程度平滑であるか、及び、複数の画素(21、23、25、27)で構成される前記ブロック(10)における画素(11、13、15、17)の第2のライン及び前記隣接ブロックにおける画素(21、23、25、27)の対応する第2のラインの画素値が前記フィルタリング方向に平行する方向にどの程度平滑であるかを表す前記ブロック(10)に対してブロック別の決定値を算出するステップ(S40)と、
前記ブロック別の決定値がブロック別の閾値を下回る場合、デブロッキングフィルタリングを前記ブロック(10)に適用することを選択するステップ(S41)と
を更に備えることを特徴とする請求項1乃至10のいずれか1項に記載の方法。
【請求項12】
前記ブロック(S10)の残差符号化のために選択された量子化パラメータに基づいて前記ブロック別の閾値を判定するステップ(S50)と、
前記ブロック別の閾値の1/4に等しい前記第1の閾値を判定するステップと、
前記ブロック別の閾値の1/8に等しい前記第2の閾値を判定するステップと
を更に備えることを特徴とする請求項11に記載の方法。
【請求項13】
前記第1のフィルタ決定値が前記第1の閾値を下回らず、且つ/あるいは前記第2のフィルタ決定値が前記第2の閾値を下回らない場合、フィルタタップ[2 4 1 1]/8を有する弱いデブロッキングフィルタにより画素(11、13、15、17)の前記現在のライン(12)の画素値をフィルタリングし(S60)、デルタ値を取得するステップと、
前記隣接ブロック(20)に対するブロック境界(1)に最近接する画素(11、13、15、17)の前記現在のライン(12)の画素(11)の画素値に前記デルタ値を加算するステップと
を更に備えることを特徴とする請求項1乃至12のいずれか1項に記載の方法。
【請求項14】
前記ブロック(10)における画素の別の現在のラインの画素値がどの程度平坦なラインに近似するか、前記隣接ブロック(20)における画素の別の対応する現在のラインの画素値がどの程度平坦なラインに近似するかを表す前記ブロック(10)に対して別の第2のフィルタ決定値を算出するステップと、
前記第1のフィルタ決定値を前記第1の閾値と、前記別の第2のフィルタ決定値を前記第2の閾値と比較するステップと、
前記第1のフィルタ決定値が前記第1の閾値を下回り、前記別の第2のフィルタ決定値が前記第2の閾値を下回る場合、画素の前記別の現在のラインの少なくとも1つの画素値をフィルタリングする前記強いデブロッキングフィルタを選択し、さもなければ、画素の前記別の現在のラインの少なくとも1つの画素値をフィルタリングする前記弱いデブロッキングフィルタを選択するステップと
を更に備えることを特徴とする請求項1乃至13のいずれか1項に記載の方法。
【請求項15】
フィルタリング制御装置であって、
映像フレームにおいて、それぞれが画素値を有する複数の画素(21、23、25、27)で構成されるブロック(10)について第1のフィルタ決定値を算出するように構成された第1の決定値算出器(110、210、310)と、
ここで、前記フィルタ決定値は、前記ブロック(10)における画素(11、13、15、17)の第1のライン及び隣接ブロックにおける画素(21、23、25、27)の対応する第1のラインの画素値がフィルタリング方向に平行する方向にどの程度平滑であるかを表す;
前記ブロック(10)における画素(11、13、15、17)の現在のライン(12)の画素値がどの程度平坦なラインに近似するか、前記隣接ブロック(10)における画素(21、23、25、27)の対応する現在のライン(22)の画素値がどの程度平坦なラインに近似するかを表す前記ブロック(10)の第2のフィルタ決定値を算出するように構成された第2の決定値算出器(120、220、320)と、
前記第1の決定値算出器(110、210、310)により算出された前記第1のフィルタ決定値を第1の閾値と比較するように構成された第1の閾値比較器(130、230、330)と、
前記第2の決定値算出器(120、220、320)により算出された前記第2のフィルタ決定値を第2の閾値と比較するように構成された第2の閾値比較器(140、240、340)と、
前記第1のフィルタ閾値比較器(130、230、330)により前記第1のフィルタ決定値が前記第1の閾値を下回ると判定され、前記第2の閾値比較器(140、l240、340)により前記第2のフィルタ決定値が前記第2の閾値を下回ると判定された場合、画素(11、13、15、17)の前記現在のライン(12)の少なくとも1つの画素値をフィルタリングする強いデブロッキングフィルタを選択し、さもなれば、画素(11、13、15、17)の前記現在のライン(12)の少なくとも1つの画素値をフィルタリングする弱いデブロッキングフィルタを選択するように構成された第1の選択器(150、250、350)とを備え、
前記強いデブロッキングフィルタは、前記弱いデブロッキングフィルタより比較的高いフィルタリング強度を有することを特徴とするフィルタリング制御装置(100、200、300)。
【請求項16】
前記第2の決定値算出器(120、220、320)は、
|p3i−p0i|+|q0i−q3i|
として前記第2のフィルタ決定値を算出するように構成され、
式中、p0iは、前記隣接ブロック(20)に対するブロック境界(1)に最近接する画素(11、13、15、17)の前記現在のライン(12)の画素(11)の画素値を示し、p3iは、前記ブロック境界(1)に4番目に最近接する画素(11、13、15、17)の前記現在のライン(12)の画素(17)の画素値を示し、q0iは、前記ブロック境界(1)に最近接する画素(21、23、25、27)の前記対応する現在のライン(22)の前記隣接ブロック(20)における画素(21)の画素値を示し、q3iは、前記ブロック境界(1)に4番目に最近接する画素(21、23、25、27)の前記対応する現在のライン(22)の前記隣接ブロック(20)における画素(27)の画素値を示すことを特徴とする請求項15に記載の装置。
【請求項17】
前記第1のフィルタ決定値算出器(110、210、310)は、
|p2j−2p1j+p0j|+|q2j−2q1j+q0j|
に基づいて前記第1のフィルタ決定値を算出するように構成され、
式中、p0jは、前記隣接ブロック(20)に対するブロック境界(1)に最近接する前記ブロック(10)における画素の前記第1のラインの画素の画素値を示し、p1jは、前記ブロック境界(1)に2番目に最近接する画素の前記第1のラインの画素の画素値を示し、p2jは、前記ブロック境界(1)に3番目に最近接する画素の前記第1のラインの画素の画素値を示し、q0jは、前記ブロック境界(1)に最近接する前記隣接ブロック(20)における画素の前記対応する第1のラインの前記隣接ブロック(20)における画素の画素値を示し、q1jは、前記ブロック境界(1)に2番目に最近接する画素の前記対応する第1のラインの前記隣接ブロック(20)の画素の画素値を示し、q2jは、前記ブロック境界(1)に3番目に最近接する画素の前記が対応する第1のラインの前記隣接ブロック(20)における画素の画素値を示すことを特徴とする請求項15又は16に記載の装置。
【請求項18】
前記第1のフィルタ決定値算出器(110、210、310)は、
|p22−2p12+p02|+|q22−2q12+q02|+|p25−2p15+p05|+|q25−2q15+q05|
として前記第1のフィルタ決定値を算出するように構成され、
式中、p02は、前記ブロック境界(1)に最近接する画素の前記第1のラインの前記画素の前記画素値を示し、p12は、前記ブロック境界(1)に2番目に最近接する画素の前記第1のラインの前記画素の前記画素値を示し、q02は、前記ブロック境界(1)に最近接する画素の前記対応する第1のラインの前記隣接ブロック(20)における前記画素の前記画素値を示し、q1jは、前記ブロック境界(1)に2番目に最近接する画素の前記対応する第1のラインの前記隣接ブロック(20)の前記画素の前記画素値を示し、q22は、前記ブロック境界(1)に3番目に最近接する画素の前記対応する第1のラインの前記隣接ブロック(20)における前記画素の前記画素値を示し、p05は、前記ブロック境界(1)に最近接する前記ブロック(10)における画素の第2のラインの画素の画素値を示し、p15は、前記ブロック境界(1)に2番目に最近接する画素の前記第2のラインの画素の画素値を示し、p25は、前記ブロック境界(1)に3番目に最近接する画素の前記第2のラインの画素の画素値を示し、q05は、前記ブロック境界(1)に最近接する前記隣接ブロック(20)における画素の対応する第2のラインの前記隣接ブロック(20)における画素の画素値を示し、q15は、前記ブロック境界(1)に2番目に最近接する画素の前記対応する第2のラインの前記隣接ブロック(20)の画素の画素値を示し、q25は、前記ブロック境界(1)に3番目に最近接する画素の前記対応する第1のラインの前記隣接ブロック(20)における画素の画素値を示すことを特徴とする請求項17に記載の装置。
【請求項19】
前記隣接ブロック(20)に対するブロック境界(1)に最近接する画素(11、13、15、17)の前記現在のライン(12)の画素(11)の画素値と前記ブロック境界(1)に最近接する画素(21、23、25、27)の前記対応する現在のライン(22)の前記隣接ブロック(20)における画素(21)の画素値との絶対差分を表す前記ブロック(10)に対して第3のフィルタ決定値を算出するように構成された第3の決定値算出器(260)と、
前記第3の閾値比較器(260)により算出された前記第3のフィルタ決定値を第3の閾値と比較するように構成された第3の閾値比較器(270)とを更に備え、
前記第1の選択器(250)は、前記第1の閾値比較器(230)により判定されたように前記第1のフィルタ決定値が前記第1の閾値を下回り、前記第2の閾値比較器(240)により判定されたように前記第2のフィルタ決定値が前記第2の閾値を下回り、前記第3の閾値比較器(270)により判定されたように前記第3のフィルタ決定値が前記第3の閾値を下回る場合、画素(11、13、15、17)の前記現在のライン(12)の前記少なくとも1つの画素値をフィルタリングする前記強いデブロッキングフィルタを選択し、さもなければ、画素(11、13、15、17)の前記現在のライン(12)の前記少なくとも1つの画素値をフィルタリングする前記弱いデブロッキングフィルタを選択するように構成される
ことを特徴とする請求項15乃至18のいずれか1項に記載の装置。
【請求項20】
前記ブロック(10)の残差符号化のために選択された量子化パラメータに基づいて前記第3の閾値を判定するように構成された閾値判定器(280)を更に備えることを特徴とする請求項19に記載の装置。
【請求項21】
前記閾値判定器(280)は、a1×tcとして前記第3の閾値を判定するように構成され、
式中、tcは、前記量子化パラメータに基づいて前記ブロック(10)に対して選択されたクリッピング閾値であり、
a1は、
前記強いデブロッキングフィルタによる強いフィルタリングが、前記弱いデブロッキングフィルタによる弱いフィルタリング及び前記クリッピング閾値が前記ブロック境界(1)に最近接する画素の前記現在のライン(12)の前記画素(11)の前記画素値を変更する値より大きい値で前記ブロック境界(1)に最近接する画素の(11、13、15、17)の前記現在のライン(12)の前記画素(11)の前記画素値を変更する場合に、前記強いデブロッキングフィルタを選択することを防止するように選択された乗数である
ことを特徴とする請求項20に記載の装置。
【請求項22】
前記閾値判定器(280)は、2.5tcとして前記第3の閾値を判定するように構成され、tcは、前記量子化パラメータに基づいて前記ブロック(10)に対して選択されたクリッピング閾値であることを特徴とする請求項20に記載の装置。
【請求項23】
前記第2の閾値が前記第1の閾値の半分に等しいとして判定するように構成された閾値判定器(280)を更に備えることを特徴とする請求項15乃至22のいずれか1項に記載の装置。
【請求項24】
前記ブロックの残差符号化のために選択された量子化パラメータに基づいて、前記第1の閾値及び前記第2の閾値を判定するように構成された閾値判定器(280)を更に備えることを特徴とする請求項15乃至23のいずれか1項に記載の装置。
【請求項25】
複数の画素(21、23、25、27)で構成される前記ブロック(10)における画素(11、の13、15、17)の前記第1のライン及び前記隣接ブロックにおける画素(21、23、25、27)の前記対応する第1のラインの画素値が前記フィルタリング方向に平行する方向にどの程度平滑であるか、複数の画素(21、23、25、27)で構成される前記ブロック(10)における画素(11、13、15、17)の第2のライン及び前記隣接ブロックにおける画素(21、23、25、27)の対応する第2のラインの画素値が前記フィルタリング方向に平行する方向にどの程度平滑であるかを表す、前記ブロック(10)に対してブロック別の決定値を算出するように構成されたブロック決定値算出器(290)と、
前記ブロック決定値算出器(290)により算出された前記ブロック別の決定値をブロック別の閾値と比較するように構成されたブロック閾値比較器(292)と、
前記ブロック閾値比較器(292)により前記ブロック別の決定値が前記ブロック別の閾値を下回ると判定された場合、デブロッキングフィルタリングを前記ブロック(10)に適用することを選択するように構成されたフィルタリング選択器(294)と
を更に備えることを特徴とする請求項15乃至24のいずれか1項に記載の装置。
【請求項26】
i)前記ブロック(S10)の残差符号化のために選択された量子化パラメータに基づいて前記ブロック別の閾値を判定し、ii)前記第1の閾値が前記ブロック別の閾値の1/4に等しいと判定し、iii)前記第2の閾値が前記ブロック別の閾値の1/8に等しいと判定するように構成された閾値判定器(280)を更に備えることを特徴とする請求項25に記載の装置。
【請求項27】
前記第1の閾値比較器(330)により判定されたように前記第1のフィルタ決定値が前記第1の閾値を下回らず、且つ/あるいは、前記第2の閾値比較器(340)により判定されたように前記第2のフィルタ決定値が前記第2の閾値を下回らない場合、フィルタタップ[2 4 1 1]/8を有する弱いデブロッキングフィルタにより画素(11、13、15、17)の前記現在のライン(12)の画素値をフィルタリングし、デルタ値を取得するように構成されたフィルタリング装置(360)と、
前記隣接ブロック(20)に対するブロック境界(1)に最近接する画素(11、13、15、17)の前記現在のライン(12)の画素(11)の画素値に前記デルタ値を加算するように構成された値加算器(370)と
を更に備えることを特徴とする請求項15乃至26のいずれか1項に記載の装置。
【請求項28】
前記第2の決定値算出器(120、220、320)は、前記ブロック(10)における画素の別の現在のラインの画素値がどの程度平坦なラインに近似するか、前記隣接ブロック(20)における画素の別の対応する現在のラインの画素値がどの程度平坦なラインに近似するかを表す前記ブロック(10)に対して別の第2のフィルタ決定値を算出するように構成され、
前記第2の閾値比較器(140、240、340)は、前記第2の決定値算出器(120、220、320)により算出された前記別の第2のフィルタ決定値を前記第2の閾値と比較するように構成され、
前記フィルタ選択器(150、250、350)は、前記第1の閾値比較器(110、210、310)により前記第1のフィルタ決定値が前記第1の閾値を下回ると判定され、前記第2の閾値比較器(210、220、320)により前記別の第2のフィルタ決定値が前記第2の閾値を下回ると判定された場合、画素の前記別の現在のラインの少なくとも1つの画素値をフィルタリングする前記強いデブロッキングフィルタを選択し、さもなければ、画素の前記別の現在のラインの少なくとも1つの画素値をフィルタリングする前記弱いデブロッキングフィルタを選択するように構成され、
映像フレームにおいて各々がそれぞれの画素値を有する複数の画素(11、13、15、17)のブロック(10)に対して第1のフィルタ決定値を算出するように構成された第1の決定値算出器(110、210、310)を有し、前記第1のフィルタ決定値が、前記映像フレームにおいて複数の画素(21、23、25、27)の前記ブロック(10)における画素値がどの程度平坦なラインに近似するか、隣接ブロック(20)における画素値がどの程度平坦なラインに近似するかを表す
ことを特徴とする請求項15乃至27のいずれか1項に記載の装置。
【請求項29】
請求項15乃至28のいずれか1項に記載のフィルタリング制御装置(100、200、300)を備えることを特徴とする符号器(40)。
【請求項30】
請求項15乃至28のいずれか1項に記載のフィルタリング制御装置(100、200、300)を備えることを特徴とする復号器(60)。
【請求項31】
メディア端末(70)であって、
符号化映像フレームを格納するように構成されたメモリ(72)と、
前記符号化映像フレームを復号化映像フレームに復号化するように構成された請求項30に記載の復号器(60)と、
前記復号化映像フレームをディスプレイ(76)上に表示可能な映像データにレンダリングするように構成されたメディアプレーヤ(74)と、
を備えることを特徴とするメディア端末(70)。
【請求項1】
映像フレームにおいて各々がそれぞれの画素値を有する複数の画素(11、13、15、17)で構成されるブロック(10)に適用可能なフィルタリング制御方法であって、
前記映像フレームにおいて複数の画素(21、23、25、27)の前記ブロック(10)における画素(11、13、15、17)の第1のライン、及び、隣接ブロックにおける画素(21、23、25、27)の対応する第1のラインの画素値が、フィルタリング方向に平行する方向にどの程度平滑であるかを表す、前記ブロック(10)に対して第1のフィルタ決定値を算出するステップ(S1)と、
前記ブロック(10)における画素(11、13、15、17)の現在のライン(12)の画素値がどの程度平坦なラインに近似するか、前記隣接ブロック(20)における画素(21、23、25、27)の対応する現在のライン(22)の画素値がどの程度平坦なラインに近似するかを表す、前記ブロック(10)に対して第2のフィルタ決定値を算出するステップ(S2)と、
前記第1のフィルタ決定値を第1の閾値と、前記第2のフィルタ決定値を第2の閾値と比較するステップ(S3)と、
前記第1のフィルタ決定値が前記第1の閾値を下回り、及び、前記第2のフィルタ決定値が前記第2の閾値を下回る場合には、画素(11、13、15、17)の前記現在のライン(12)の少なくとも1つの画素値をフィルタリングする強いデブロッキングフィルタを選択し(S4)、さもなければ、画素(11、13、15、17)の前記現在のライン(12)の少なくとも1つの画素値をフィルタリングする弱いデブロッキングフィルタを選択するステップ(S5)とを備え、
前記強いデブロッキングフィルタは、前記弱いデブロッキングフィルタより比較的高いフィルタリング強度を有することを特徴とする方法。
【請求項2】
前記第2のフィルタ決定値を算出するステップ(S2)は、
|p3i−p0i|+|q0i−q3i|
として前記第2のフィルタ決定値を算出するステップ(S2)を含み、
式中、p0iは、前記隣接ブロック(20)とのブロック境界(1)に最近接する画素(11、13、15、17)の前記現在のライン(12)の画素(11)の画素値を示し、p3iは、前記ブロック境界(1)に4番目に最近接する画素(11、13、15、17)の前記現在のライン(12)の画素(17)の画素値を示し、q0iは、前記ブロック境界(1)に最近接する画素(21、23、25、27)の前記対応する現在のライン(22)の前記隣接ブロック(20)における画素(21)の画素値を示し、q3iは、前記ブロック境界(1)に4番目に最近接する画素(21、23、25、27)の前記対応する現在のライン(22)の前記隣接ブロック(20)における画素(27)の画素値を示す
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記第1のフィルタ決定値を算出するステップ(S1)は、
|p2j−2p1j+p0j|+|q2j−2q1j+q0j|
に基づいて前記第1のフィルタ決定値を算出するステップ(S1)を含み、
式中、p0jは、前記隣接ブロック(20)に対するブロック境界(1)に最近接する前記ブロック(10)における画素の前記第1のラインの画素の画素値を示し、p1jは、前記ブロック境界(1)に2番目に最近接する画素の前記第1のラインの画素の画素値を示し、p2jは、前記ブロック境界(1)に3番目に最近接する画素の前記第1のラインの画素の画素値を示し、q0jは、前記ブロック境界(1)に最近接する前記隣接ブロック(20)における画素の前記対応する第1のラインの前記隣接ブロック(20)における画素の画素値を示し、q1jは、前記ブロック境界(1)に2番目に最近接する画素の前記対応する第1のラインの前記隣接ブロック(20)の画素の画素値を示し、q2jは、前記ブロック境界(1)に3番目に最近接する画素の前記が対応する第1のラインの前記隣接ブロック(20)における画素の画素値を示すことを特徴とする請求項1又は2に記載の方法。
【請求項4】
前記第1のフィルタ決定値を算出するステップ(S1)は、
|p22−2p12+p02|+|q22−2q12+q02|+|p25−2p15+p05|+|q25−2q15+q05|
として前記第1のフィルタ決定値を算出するステップ(S1)を含み、
式中、p02は、前記ブロック境界(1)に最近接する画素の前記第1のラインの前記画素の前記画素値を示し、p12は、前記ブロック境界(1)に2番目に最近接する画素の前記第1のラインの前記画素の前記画素値を示し、p22は、前記ブロック境界(1)に3番目に最近接する画素の前記第1のラインの前記画素の前記画素値を示し、q02は、前記ブロック境界(1)に最近接する画素の前記対応する第1のラインの前記隣接ブロック(20)における前記画素の前記画素値を示し、q1jは、前記ブロック境界(1)に2番目に最近接する画素の前記対応する第1のラインの前記隣接ブロック(20)の前記画素の前記画素値を示し、q22は、前記ブロック境界(1)に3番目に最近接する画素の前記対応する第1のラインの前記隣接ブロック(20)における前記画素の前記画素値を示し、p05は、前記ブロック境界(1)に最近接する前記ブロック(10)における画素の第2のラインの画素の画素値を示し、p15は、前記ブロック境界(1)に2番目に最近接する画素の前記第2のラインの画素の画素値を示し、p25は、前記ブロック境界(1)に3番目に最近接する画素の前記第2のラインの画素の画素値を示し、q05は、前記ブロック境界(1)に最近接する前記隣接ブロック(20)における画素の対応する第2のラインの前記隣接ブロック(20)における画素の画素値を示し、q15は、前記ブロック境界(1)に2番目に最近接する画素の前記対応する第2のラインの前記隣接ブロック(20)の画素の画素値を示し、q25は、前記ブロック境界(1)に3番目に最近接する画素の前記対応する第1のラインの前記隣接ブロック(20)における画素の画素値を示すことを特徴とする請求項3に記載の方法。
【請求項5】
前記隣接ブロック(20)に対するブロック境界(1)に最近接する画素(11、13、15、17)の前記現在のライン(12)の画素(11)の画素値と前記ブロック境界(1)に最近接する画素(21、23、25、27)の前記対応する現在のライン(22)の前記隣接ブロック(20)における画素(21)の画素値との絶対差分を表す前記ブロック(10)に対して第3のフィルタ決定値を算出するステップ(S10)を更に備え、
前記第1のフィルタ決定及び前記第2のフィルタ決定を比較するステップ(S3)は、前記第1のフィルタ決定値を前記第1の閾値と、前記第2のフィルタ決定値を前記第2の閾値と、前記第3のフィルタ決定値を第3の閾値と比較するステップ(S11)を含み、
前記強いデブロッキングフィルタを選択するステップ(S4)は、前記第1のフィルタ決定値が前記第1の閾値を下回り、前記第2のフィルタ決定値が前記第2の閾値を下回り、前記第3のフィルタ決定値が前記第3の閾値を下回る場合、画素(11、13、15、17)の前記現在のライン(12)の前記少なくとも1つの画素値をフィルタリングする前記強いデブロッキングフィルタを選択し(S4)、さもなければ、画素(11、13、15、17)の前記現在のライン(12)の前記少なくとも1つの画素値をフィルタリングする前記弱いデブロッキングフィルタを選択するステップ(S5)を含む
ことを特徴とする請求項1乃至4のいずれか1項に記載の方法。
【請求項6】
前記ブロック(10)の残差符号化のために選択された量子化パラメータに基づいて前記第3の閾値を判定するステップ(S20)を更に備えることを特徴とする請求項5に記載の方法。
【請求項7】
前記第3の閾値を判定するステップ(S20)は、a1×tcとして前記第3の閾値を判定するステップ(S20)を含み、
式中、tcは、前記量子化パラメータに基づいて前記ブロック(10)に対して選択されたクリッピング閾値であり、
a1は、
前記強いデブロッキングフィルタによる強いフィルタリングが、前記弱いデブロッキングフィルタによる弱いフィルタリング及び前記クリッピング閾値が前記ブロック境界(1)に最近接する画素(11、13、15、17)の前記現在のライン(12)の前記画素(11)の前記画素値を変更する値より大きい値で前記ブロック境界(1)に最近接する画素の(11、13、15、17)の前記現在のライン(12)の前記画素(11)の前記画素値を変更する場合に、前記強いデブロッキングフィルタを選択することを防止するように選択された乗数である
ことを特徴とする請求項6に記載の方法。
【請求項8】
前記第3の閾値を判定するステップ(S20)は、2.5tcとして前記第3の閾値を判定するステップ(S20)を含み、tcは、前記量子化パラメータに基づいて前記ブロック(10)に対して選択されたクリッピング閾値であることを特徴とする請求項6に記載の方法。
【請求項9】
前記第2の閾値を前記第1の閾値の半分に等しい値に判定するステップを更に備えることを特徴とする請求項1乃至8のいずれか1項に記載の方法。
【請求項10】
前記ブロックの残差符号化のために選択された量子化パラメータに基づいて前記第1の閾値及び前記第2の閾値を判定するステップ(S30)を更に備えることを特徴とする請求項1乃至9のいずれか1項に記載の方法。
【請求項11】
複数の画素(21、23、25、27)で構成される前記ブロック(10)における画素(11、の13、15、17)の前記第1のライン及び前記隣接ブロックにおける画素(21、23、25、27)の前記対応する第1のラインの画素値が前記フィルタリング方向に平行する方向にどの程度平滑であるか、及び、複数の画素(21、23、25、27)で構成される前記ブロック(10)における画素(11、13、15、17)の第2のライン及び前記隣接ブロックにおける画素(21、23、25、27)の対応する第2のラインの画素値が前記フィルタリング方向に平行する方向にどの程度平滑であるかを表す前記ブロック(10)に対してブロック別の決定値を算出するステップ(S40)と、
前記ブロック別の決定値がブロック別の閾値を下回る場合、デブロッキングフィルタリングを前記ブロック(10)に適用することを選択するステップ(S41)と
を更に備えることを特徴とする請求項1乃至10のいずれか1項に記載の方法。
【請求項12】
前記ブロック(S10)の残差符号化のために選択された量子化パラメータに基づいて前記ブロック別の閾値を判定するステップ(S50)と、
前記ブロック別の閾値の1/4に等しい前記第1の閾値を判定するステップと、
前記ブロック別の閾値の1/8に等しい前記第2の閾値を判定するステップと
を更に備えることを特徴とする請求項11に記載の方法。
【請求項13】
前記第1のフィルタ決定値が前記第1の閾値を下回らず、且つ/あるいは前記第2のフィルタ決定値が前記第2の閾値を下回らない場合、フィルタタップ[2 4 1 1]/8を有する弱いデブロッキングフィルタにより画素(11、13、15、17)の前記現在のライン(12)の画素値をフィルタリングし(S60)、デルタ値を取得するステップと、
前記隣接ブロック(20)に対するブロック境界(1)に最近接する画素(11、13、15、17)の前記現在のライン(12)の画素(11)の画素値に前記デルタ値を加算するステップと
を更に備えることを特徴とする請求項1乃至12のいずれか1項に記載の方法。
【請求項14】
前記ブロック(10)における画素の別の現在のラインの画素値がどの程度平坦なラインに近似するか、前記隣接ブロック(20)における画素の別の対応する現在のラインの画素値がどの程度平坦なラインに近似するかを表す前記ブロック(10)に対して別の第2のフィルタ決定値を算出するステップと、
前記第1のフィルタ決定値を前記第1の閾値と、前記別の第2のフィルタ決定値を前記第2の閾値と比較するステップと、
前記第1のフィルタ決定値が前記第1の閾値を下回り、前記別の第2のフィルタ決定値が前記第2の閾値を下回る場合、画素の前記別の現在のラインの少なくとも1つの画素値をフィルタリングする前記強いデブロッキングフィルタを選択し、さもなければ、画素の前記別の現在のラインの少なくとも1つの画素値をフィルタリングする前記弱いデブロッキングフィルタを選択するステップと
を更に備えることを特徴とする請求項1乃至13のいずれか1項に記載の方法。
【請求項15】
フィルタリング制御装置であって、
映像フレームにおいて、それぞれが画素値を有する複数の画素(21、23、25、27)で構成されるブロック(10)について第1のフィルタ決定値を算出するように構成された第1の決定値算出器(110、210、310)と、
ここで、前記フィルタ決定値は、前記ブロック(10)における画素(11、13、15、17)の第1のライン及び隣接ブロックにおける画素(21、23、25、27)の対応する第1のラインの画素値がフィルタリング方向に平行する方向にどの程度平滑であるかを表す;
前記ブロック(10)における画素(11、13、15、17)の現在のライン(12)の画素値がどの程度平坦なラインに近似するか、前記隣接ブロック(10)における画素(21、23、25、27)の対応する現在のライン(22)の画素値がどの程度平坦なラインに近似するかを表す前記ブロック(10)の第2のフィルタ決定値を算出するように構成された第2の決定値算出器(120、220、320)と、
前記第1の決定値算出器(110、210、310)により算出された前記第1のフィルタ決定値を第1の閾値と比較するように構成された第1の閾値比較器(130、230、330)と、
前記第2の決定値算出器(120、220、320)により算出された前記第2のフィルタ決定値を第2の閾値と比較するように構成された第2の閾値比較器(140、240、340)と、
前記第1のフィルタ閾値比較器(130、230、330)により前記第1のフィルタ決定値が前記第1の閾値を下回ると判定され、前記第2の閾値比較器(140、l240、340)により前記第2のフィルタ決定値が前記第2の閾値を下回ると判定された場合、画素(11、13、15、17)の前記現在のライン(12)の少なくとも1つの画素値をフィルタリングする強いデブロッキングフィルタを選択し、さもなれば、画素(11、13、15、17)の前記現在のライン(12)の少なくとも1つの画素値をフィルタリングする弱いデブロッキングフィルタを選択するように構成された第1の選択器(150、250、350)とを備え、
前記強いデブロッキングフィルタは、前記弱いデブロッキングフィルタより比較的高いフィルタリング強度を有することを特徴とするフィルタリング制御装置(100、200、300)。
【請求項16】
前記第2の決定値算出器(120、220、320)は、
|p3i−p0i|+|q0i−q3i|
として前記第2のフィルタ決定値を算出するように構成され、
式中、p0iは、前記隣接ブロック(20)に対するブロック境界(1)に最近接する画素(11、13、15、17)の前記現在のライン(12)の画素(11)の画素値を示し、p3iは、前記ブロック境界(1)に4番目に最近接する画素(11、13、15、17)の前記現在のライン(12)の画素(17)の画素値を示し、q0iは、前記ブロック境界(1)に最近接する画素(21、23、25、27)の前記対応する現在のライン(22)の前記隣接ブロック(20)における画素(21)の画素値を示し、q3iは、前記ブロック境界(1)に4番目に最近接する画素(21、23、25、27)の前記対応する現在のライン(22)の前記隣接ブロック(20)における画素(27)の画素値を示すことを特徴とする請求項15に記載の装置。
【請求項17】
前記第1のフィルタ決定値算出器(110、210、310)は、
|p2j−2p1j+p0j|+|q2j−2q1j+q0j|
に基づいて前記第1のフィルタ決定値を算出するように構成され、
式中、p0jは、前記隣接ブロック(20)に対するブロック境界(1)に最近接する前記ブロック(10)における画素の前記第1のラインの画素の画素値を示し、p1jは、前記ブロック境界(1)に2番目に最近接する画素の前記第1のラインの画素の画素値を示し、p2jは、前記ブロック境界(1)に3番目に最近接する画素の前記第1のラインの画素の画素値を示し、q0jは、前記ブロック境界(1)に最近接する前記隣接ブロック(20)における画素の前記対応する第1のラインの前記隣接ブロック(20)における画素の画素値を示し、q1jは、前記ブロック境界(1)に2番目に最近接する画素の前記対応する第1のラインの前記隣接ブロック(20)の画素の画素値を示し、q2jは、前記ブロック境界(1)に3番目に最近接する画素の前記が対応する第1のラインの前記隣接ブロック(20)における画素の画素値を示すことを特徴とする請求項15又は16に記載の装置。
【請求項18】
前記第1のフィルタ決定値算出器(110、210、310)は、
|p22−2p12+p02|+|q22−2q12+q02|+|p25−2p15+p05|+|q25−2q15+q05|
として前記第1のフィルタ決定値を算出するように構成され、
式中、p02は、前記ブロック境界(1)に最近接する画素の前記第1のラインの前記画素の前記画素値を示し、p12は、前記ブロック境界(1)に2番目に最近接する画素の前記第1のラインの前記画素の前記画素値を示し、q02は、前記ブロック境界(1)に最近接する画素の前記対応する第1のラインの前記隣接ブロック(20)における前記画素の前記画素値を示し、q1jは、前記ブロック境界(1)に2番目に最近接する画素の前記対応する第1のラインの前記隣接ブロック(20)の前記画素の前記画素値を示し、q22は、前記ブロック境界(1)に3番目に最近接する画素の前記対応する第1のラインの前記隣接ブロック(20)における前記画素の前記画素値を示し、p05は、前記ブロック境界(1)に最近接する前記ブロック(10)における画素の第2のラインの画素の画素値を示し、p15は、前記ブロック境界(1)に2番目に最近接する画素の前記第2のラインの画素の画素値を示し、p25は、前記ブロック境界(1)に3番目に最近接する画素の前記第2のラインの画素の画素値を示し、q05は、前記ブロック境界(1)に最近接する前記隣接ブロック(20)における画素の対応する第2のラインの前記隣接ブロック(20)における画素の画素値を示し、q15は、前記ブロック境界(1)に2番目に最近接する画素の前記対応する第2のラインの前記隣接ブロック(20)の画素の画素値を示し、q25は、前記ブロック境界(1)に3番目に最近接する画素の前記対応する第1のラインの前記隣接ブロック(20)における画素の画素値を示すことを特徴とする請求項17に記載の装置。
【請求項19】
前記隣接ブロック(20)に対するブロック境界(1)に最近接する画素(11、13、15、17)の前記現在のライン(12)の画素(11)の画素値と前記ブロック境界(1)に最近接する画素(21、23、25、27)の前記対応する現在のライン(22)の前記隣接ブロック(20)における画素(21)の画素値との絶対差分を表す前記ブロック(10)に対して第3のフィルタ決定値を算出するように構成された第3の決定値算出器(260)と、
前記第3の閾値比較器(260)により算出された前記第3のフィルタ決定値を第3の閾値と比較するように構成された第3の閾値比較器(270)とを更に備え、
前記第1の選択器(250)は、前記第1の閾値比較器(230)により判定されたように前記第1のフィルタ決定値が前記第1の閾値を下回り、前記第2の閾値比較器(240)により判定されたように前記第2のフィルタ決定値が前記第2の閾値を下回り、前記第3の閾値比較器(270)により判定されたように前記第3のフィルタ決定値が前記第3の閾値を下回る場合、画素(11、13、15、17)の前記現在のライン(12)の前記少なくとも1つの画素値をフィルタリングする前記強いデブロッキングフィルタを選択し、さもなければ、画素(11、13、15、17)の前記現在のライン(12)の前記少なくとも1つの画素値をフィルタリングする前記弱いデブロッキングフィルタを選択するように構成される
ことを特徴とする請求項15乃至18のいずれか1項に記載の装置。
【請求項20】
前記ブロック(10)の残差符号化のために選択された量子化パラメータに基づいて前記第3の閾値を判定するように構成された閾値判定器(280)を更に備えることを特徴とする請求項19に記載の装置。
【請求項21】
前記閾値判定器(280)は、a1×tcとして前記第3の閾値を判定するように構成され、
式中、tcは、前記量子化パラメータに基づいて前記ブロック(10)に対して選択されたクリッピング閾値であり、
a1は、
前記強いデブロッキングフィルタによる強いフィルタリングが、前記弱いデブロッキングフィルタによる弱いフィルタリング及び前記クリッピング閾値が前記ブロック境界(1)に最近接する画素の前記現在のライン(12)の前記画素(11)の前記画素値を変更する値より大きい値で前記ブロック境界(1)に最近接する画素の(11、13、15、17)の前記現在のライン(12)の前記画素(11)の前記画素値を変更する場合に、前記強いデブロッキングフィルタを選択することを防止するように選択された乗数である
ことを特徴とする請求項20に記載の装置。
【請求項22】
前記閾値判定器(280)は、2.5tcとして前記第3の閾値を判定するように構成され、tcは、前記量子化パラメータに基づいて前記ブロック(10)に対して選択されたクリッピング閾値であることを特徴とする請求項20に記載の装置。
【請求項23】
前記第2の閾値が前記第1の閾値の半分に等しいとして判定するように構成された閾値判定器(280)を更に備えることを特徴とする請求項15乃至22のいずれか1項に記載の装置。
【請求項24】
前記ブロックの残差符号化のために選択された量子化パラメータに基づいて、前記第1の閾値及び前記第2の閾値を判定するように構成された閾値判定器(280)を更に備えることを特徴とする請求項15乃至23のいずれか1項に記載の装置。
【請求項25】
複数の画素(21、23、25、27)で構成される前記ブロック(10)における画素(11、の13、15、17)の前記第1のライン及び前記隣接ブロックにおける画素(21、23、25、27)の前記対応する第1のラインの画素値が前記フィルタリング方向に平行する方向にどの程度平滑であるか、複数の画素(21、23、25、27)で構成される前記ブロック(10)における画素(11、13、15、17)の第2のライン及び前記隣接ブロックにおける画素(21、23、25、27)の対応する第2のラインの画素値が前記フィルタリング方向に平行する方向にどの程度平滑であるかを表す、前記ブロック(10)に対してブロック別の決定値を算出するように構成されたブロック決定値算出器(290)と、
前記ブロック決定値算出器(290)により算出された前記ブロック別の決定値をブロック別の閾値と比較するように構成されたブロック閾値比較器(292)と、
前記ブロック閾値比較器(292)により前記ブロック別の決定値が前記ブロック別の閾値を下回ると判定された場合、デブロッキングフィルタリングを前記ブロック(10)に適用することを選択するように構成されたフィルタリング選択器(294)と
を更に備えることを特徴とする請求項15乃至24のいずれか1項に記載の装置。
【請求項26】
i)前記ブロック(S10)の残差符号化のために選択された量子化パラメータに基づいて前記ブロック別の閾値を判定し、ii)前記第1の閾値が前記ブロック別の閾値の1/4に等しいと判定し、iii)前記第2の閾値が前記ブロック別の閾値の1/8に等しいと判定するように構成された閾値判定器(280)を更に備えることを特徴とする請求項25に記載の装置。
【請求項27】
前記第1の閾値比較器(330)により判定されたように前記第1のフィルタ決定値が前記第1の閾値を下回らず、且つ/あるいは、前記第2の閾値比較器(340)により判定されたように前記第2のフィルタ決定値が前記第2の閾値を下回らない場合、フィルタタップ[2 4 1 1]/8を有する弱いデブロッキングフィルタにより画素(11、13、15、17)の前記現在のライン(12)の画素値をフィルタリングし、デルタ値を取得するように構成されたフィルタリング装置(360)と、
前記隣接ブロック(20)に対するブロック境界(1)に最近接する画素(11、13、15、17)の前記現在のライン(12)の画素(11)の画素値に前記デルタ値を加算するように構成された値加算器(370)と
を更に備えることを特徴とする請求項15乃至26のいずれか1項に記載の装置。
【請求項28】
前記第2の決定値算出器(120、220、320)は、前記ブロック(10)における画素の別の現在のラインの画素値がどの程度平坦なラインに近似するか、前記隣接ブロック(20)における画素の別の対応する現在のラインの画素値がどの程度平坦なラインに近似するかを表す前記ブロック(10)に対して別の第2のフィルタ決定値を算出するように構成され、
前記第2の閾値比較器(140、240、340)は、前記第2の決定値算出器(120、220、320)により算出された前記別の第2のフィルタ決定値を前記第2の閾値と比較するように構成され、
前記フィルタ選択器(150、250、350)は、前記第1の閾値比較器(110、210、310)により前記第1のフィルタ決定値が前記第1の閾値を下回ると判定され、前記第2の閾値比較器(210、220、320)により前記別の第2のフィルタ決定値が前記第2の閾値を下回ると判定された場合、画素の前記別の現在のラインの少なくとも1つの画素値をフィルタリングする前記強いデブロッキングフィルタを選択し、さもなければ、画素の前記別の現在のラインの少なくとも1つの画素値をフィルタリングする前記弱いデブロッキングフィルタを選択するように構成され、
映像フレームにおいて各々がそれぞれの画素値を有する複数の画素(11、13、15、17)のブロック(10)に対して第1のフィルタ決定値を算出するように構成された第1の決定値算出器(110、210、310)を有し、前記第1のフィルタ決定値が、前記映像フレームにおいて複数の画素(21、23、25、27)の前記ブロック(10)における画素値がどの程度平坦なラインに近似するか、隣接ブロック(20)における画素値がどの程度平坦なラインに近似するかを表す
ことを特徴とする請求項15乃至27のいずれか1項に記載の装置。
【請求項29】
請求項15乃至28のいずれか1項に記載のフィルタリング制御装置(100、200、300)を備えることを特徴とする符号器(40)。
【請求項30】
請求項15乃至28のいずれか1項に記載のフィルタリング制御装置(100、200、300)を備えることを特徴とする復号器(60)。
【請求項31】
メディア端末(70)であって、
符号化映像フレームを格納するように構成されたメモリ(72)と、
前記符号化映像フレームを復号化映像フレームに復号化するように構成された請求項30に記載の復号器(60)と、
前記復号化映像フレームをディスプレイ(76)上に表示可能な映像データにレンダリングするように構成されたメディアプレーヤ(74)と、
を備えることを特徴とするメディア端末(70)。
【図1】
【図2A】
【図2B】
【図3】
【図4A】
【図4B】
【図4C】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2A】
【図2B】
【図3】
【図4A】
【図4B】
【図4C】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公表番号】特表2013−519293(P2013−519293A)
【公表日】平成25年5月23日(2013.5.23)
【国際特許分類】
【出願番号】特願2012−551944(P2012−551944)
【出願日】平成22年12月29日(2010.12.29)
【国際出願番号】PCT/SE2010/051494
【国際公開番号】WO2011/096869
【国際公開日】平成23年8月11日(2011.8.11)
【出願人】(598036300)テレフオンアクチーボラゲット エル エム エリクソン(パブル) (2,266)
【Fターム(参考)】
【公表日】平成25年5月23日(2013.5.23)
【国際特許分類】
【出願日】平成22年12月29日(2010.12.29)
【国際出願番号】PCT/SE2010/051494
【国際公開番号】WO2011/096869
【国際公開日】平成23年8月11日(2011.8.11)
【出願人】(598036300)テレフオンアクチーボラゲット エル エム エリクソン(パブル) (2,266)
【Fターム(参考)】
[ Back to top ]