(57)【要約】  デブロッキングフィルタ処理装置は、典型的フィルタ強度計算部と、典型的フィルタ部とを備える第１のデブロッキングフィルタ処理部を具備する。典型的フィルタ強度計算部は、ブロック単位で符号化された動画像の復号画像データに対して、ブロック境界にまたがる複数の画素ラインのうちの所定の画素ラインを典型的画素ラインとして設定し、典型的画素ラインに含まれる画素値に基づいてフィルタ強度計算を行って典型的フィルタ強度を求める。典型的フィルタ部は、典型的フィルタ強度に基づいて複数の画素ラインに含まれる画素値を平滑化する。
2009123033.tif 000002
【特許請求の範囲】
【請求項１】
ブロック単位で符号化された動画像の復号画像データに対して、ブロック境界にまたがる複数の画素ラインのうちの所定の画素ラインを典型的画素ラインとして設定し、前記典型的画素ラインに含まれる画素値に基づいてフィルタ強度計算を行って典型的フィルタ強度を求める典型的フィルタ強度計算手段と、
前記典型的フィルタ強度に基づいて前記複数の画素ラインに含まれる画素値を平滑化する典型的フィルタ手段と
を備える第１のデブロッキングフィルタ処理手段を具備する
デブロッキングフィルタ処理装置。
【請求項２】
前記第１のデブロッキングフィルタ処理手段は、前記ブロック境界の中央部に位置する画素ラインを前記典型的画素ラインに設定する
請求の範囲１に記載のデブロッキングフィルタ処理装置。
【請求項３】
前記複数の画素ラインの各々に含まれる画素値に基づいて前記複数の画素ラインの各々毎にフィルタ強度を求めるフィルタ強度計算手段と、
前記フィルタ強度に基づいて前記複数の画素ラインに含まれる画素値を平滑化するフィルタ手段と
を備える第２のブロッキングフィルタ処理手段と、
入力される指標データに基づいて、前記復号画像データに対して前記第１または前記第２のデブロッキングフィルタ処理手段に切り替えて実行させる選択処理手段と
をさらに具備する
請求の範囲１または請求の範囲２に記載のデブロッキングフィルタ処理装置。
【請求項４】
前記第１のデブロッキングフィルタ処理手段は、複数のブロック境界のうちの所定のブロック境界を典型的ブロック境界として設定する典型的ブロック境界設定手段をさらに備え、
前記典型的フィルタ強度計算手段は、前記典型的ブロック境界における前記典型的画素ラインに含まれる画素値に基づいて前記典型的フィルタ強度を求め、
前記典型的フィルタ手段は、前記典型的ブロック境界の前記典型的画素ラインにおける前記典型的フィルタ強度に基づいて、前記複数のブロック境界に属する画素ラインに含まれる画素値を平滑化する
請求の範囲３に記載のデブロッキングフィルタ処理装置。
【請求項５】
前記指標データは、前記復号画像データの復号処理の処理時間と、デブロッキングフィルタ処理に要するパラメータとのうちの少なくとも一方を含む
請求の範囲３または請求の範囲４に記載のデブロッキングフィルタ処理装置。
【請求項６】
前記第２のデブロッキングフィルタ処理手段は、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ方式におけるデブロッキングフィルタ処理を行い、
前記パラメータは、ｂＳ（Ｂｏｕｎｄａｒｙ  Ｓｔｒｅｎｇｔｈ）値、ＱＰ（Ｑｕａｎｔｉｓａｔｉｏｎ  Ｐａｒａｍｅｔｅｒ）値、マクロブロックタイプのうちの少なくとも一つを含む
請求の範囲５に記載のデブロッキングフィルタ処理装置。
【請求項７】
前記第１のデブロッキングフィルタ処理手段は、
４×４画素ブロック境界に属する４本の画素ラインのうちの１本を前記典型的画素ラインとして前記典型的フィルタ強度を求めて前記４本の画素ラインの平滑化処理に適用し、デブロッキングフィルタ処理を行う第１処理手段と、
前記４×４画素ブロックが４×４のマトリクス状に配置されたマクロブロック内の垂直または水平に連続する前記４×４画素ブロック境界に属する１６本の画素ラインのうちの所定の画素ラインを前記典型的画素ラインとして前記典型的フィルタ強度を求めて前記１６本の画素ラインの平滑化処理に適用し、デブロッキングフィルタ処理を行う第２処理手段と、
前記マクロブロック内に含まれる垂直及び水平方向の４×４画素ブロック境界に属する各６４本の画素ラインのうちの所定の画素ラインを前記典型的画素ラインとして前記典型的フィルタ強度を求めて前記垂直及び水平方向の４×４画素ブロック境界に属する各６４本の画素ラインの平滑化処理に適用し、デブロッキングフィルタ処理を行う第３処理手段と
のうちの少なくとも１つの処理手段を備え、
前記選択処理手段は、前記指標データに基づいて前記第１から第３処理手段または前記第２のデブロッキングフィルタ処理手段に切り替えてデブロッキングフィルタ処理を実行させる
請求の範囲６に記載のデブロッキングフィルタ処理装置。
【請求項８】
ブロック単位で符号化された動画像の復号画像データに対して、ブロック境界にまたがる複数の画素ラインのうちの所定の画素ラインを典型的画素ラインとして設定するステップと、
前記典型的画素ラインに含まれる画素値に基づいてフィルタ強度計算を行って典型的フィルタ強度を計算するステップと、
前記複数の画素ラインに含まれる前記画素値を前記典型的フィルタ強度に基づいて平滑化するステップと
を備える第１のデブロッキングフィルタ処理を行うステップを具備する
デブロッキングフィルタ処理方法。
【請求項９】
前記典型的画素ラインとして設定するステップは、前記ブロック境界の中央部に位置する画素ラインを前記典型的画素ラインに設定するステップを含む
請求の範囲８に記載のデブロッキングフィルタ処理方法。
【請求項１０】
前記複数の画素ラインの各々に含まれる画素値に基づいて前記複数の画素ラインの各々毎にフィルタ強度を求めるステップと、
前記複数の画素ラインに含まれる前記画素値を前記フィルタ強度に基づいて平滑化するステップと
を備える第２のブロッキングフィルタ処理を行うステップと、
入力される指標データに基づいて、前記復号画像データに対して前記第１のデブロッキングフィルタ処理または前記第２のデブロッキングフィルタ処理に切り替えて処理するステップと
をさらに具備する
請求の範囲８または請求の範囲９に記載のデブロッキングフィルタ処理方法。
【請求項１１】
前記第１のデブロッキングフィルタ処理を行うステップは、複数のブロック境界のうちの所定のブロック境界を典型的ブロック境界として設定するステップをさらに備え、
前記典型的フィルタ強度を計算するステップは、前記典型的ブロック境界における前記典型的画素ラインに含まれる画素値に基づいて前記典型的フィルタ強度を求めるステップを含み、
前記典型的フィルタ強度に基づいて平滑化するステップは、前記典型的ブロック境界の前記典型的画素ラインにおける前記典型的フィルタ強度に基づいて、前記複数のブロック境界に属する画素ラインに含まれる画素値を平滑化するステップを含む
請求の範囲１０に記載のデブロッキングフィルタ処理方法。
【請求項１２】
前記指標データは、前記復号画像データの復号処理の処理時間と、デブロッキングフィルタ処理に要するパラメータとのうちの少なくとも一方を含む
請求の範囲１０または請求の範囲１１に記載のデブロッキングフィルタ処理方法。
【請求項１３】
前記第２のデブロッキングフィルタ処理を行うステップは、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ方式におけるデブロッキングフィルタ処理を行うステップを含み、
前記パラメータは、ｂＳ（Ｂｏｕｎｄａｒｙ  Ｓｔｒｅｎｇｔｈ）値、ＱＰ（Ｑｕａｎｔｉｓａｔｉｏｎ  Ｐａｒａｍｅｔｅｒ）値、マクロブロックタイプのうちの少なくとも一つを含む
請求の範囲１２に記載のデブロッキングフィルタ処理方法。
【請求項１４】
前記第１のデブロッキングフィルタ処理を行うステップは、
４×４画素ブロック境界に属する４本の画素ラインのうちの１本を前記典型的画素ラインとして前記典型的フィルタ強度を求めて前記４本の画素ラインの平滑化処理に適用するデブロッキングフィルタ処理を行うステップと、
前記４×４画素ブロックが４×４のマトリクス状に配置されたマクロブロック内の垂直または水平に連続する前記４×４画素ブロック境界に属する１６本の画素ラインのうちの所定の画素ラインを前記典型的画素ラインとして前記典型的フィルタ強度を求めて前記１６本の画素ラインの平滑化処理に適用するデブロッキングフィルタ処理を行うステップと、
前記マクロブロック内に含まれる垂直及び水平方向の４×４画素ブロック境界に属する各６４本の画素ラインのうちの所定の画素ラインを前記典型的画素ラインとして前記典型的フィルタ強度を求めて前記垂直及び水平方向の４×４画素ブロック境界に属する各６４本の画素ラインの平滑化処理に適用するデブロッキングフィルタ処理を行うステップと
のうちの少なくとも１つの処理ステップを含み、
前記切り替えて処理するステップは、前記指標データに基づいて前記４本の画素ラインの平滑化処理に適用するデブロッキングフィルタ処理を行うステップ、前記１６本の画素ラインの平滑化処理に適用するデブロッキングフィルタ処理を行うステップ、前記各６４本の画素ラインの平滑化処理に適用するデブロッキングフィルタ処理を行うステップまたは前記第２のデブロッキングフィルタ処理を行うステップに切り替えてデブロッキングフィルタ処理を行うステップを含む
請求の範囲１３に記載のデブロッキングフィルタ処理方法。
【請求項１５】
ブロック単位で符号化された動画像の復号画像データに対して、ブロック境界にまたがる複数の画素ラインのうちの所定の画素ラインを典型的画素ラインとして設定するステップと、
前記典型的画素ラインに含まれる画素値に基づいてフィルタ強度計算を行って典型的フィルタ強度を求めるステップと、
前記典型的フィルタ強度に基づいて前記複数の画素ラインに含まれる前記画素値を平滑化するステップと
を備える第１のデブロッキングフィルタ処理を行うステップをコンピュータに実行させるためのデブロッキングフィルタ処理プログラムを記憶する記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理におけるデブロッキングフィルタ処理装置、デブロッキングフィルタ処理方法に関する。
【背景技術】
【０００２】
ブロック単位で符号化するビデオコーデックでは、復号された画像にブロックノイズと呼ばれる矩形の歪みが発生しやすい。ブロックノイズは、十分な符号量が与えられない場合にブロック境界を挟む両側の画素の画素値が不連続になり、ブロック境界がはっきり知覚されるために起こる。したがって、画質を向上させるため、復号画像データに生じる不連続な境界を平滑化するデブロッキングフィルタが適用されることが多い。同一フレームの画像に均一な平滑化を行うと不必要に画像をぼかしてしまうことがあるため、デブロッキングフィルタは、境界の画素値に基づいて、フィルタを適用するか否か、適用する場合にはどの程度の強さで平滑化するかを適応的に判断している。【０００３】
特に、ＩＴＵ−Ｔ勧告Ｈ．２６４（ＩＴＵ−Ｔ  Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  Ｈ．２６４，  Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  ｆｏｒ  Ｇｅｎｅｒｉｃ  Ａｕｄｉｏｖｉｓｕａｌ  Ｓｅｒｖｉｃｅｓ，  Ｍａｒ．  ２００５．）通称“Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ方式（以後Ｈ．２６４と記載）”に示されるように、規格にデブロッキングフィルタの仕様が盛り込まれている。Ｈ．２６４の復号処理では、整数変換は４×４画素ブロック単位に行われるため、デブロッキングフィルタも４×４画素ブロック境界に適用される。図１は、１つのマクロブロックにおける４×４画素ブロック境界を示す図である。１つのマクロブロックには、水平方向に４個の４×４画素ブロック、垂直方向に４個の４×４画素ブロックが配置される。したがって、１マクロブロックは、合計１６個の４×４画素ブロックを含み、水平方向に１６のブロック境界と、垂直方向に１６のブロック境界を含む。【０００４】
デブロッキングフィルタは、ブロック境界にまたがる画素ライン毎に、フィルタを適用するかしないか、適用する場合にはどの程度の強さで平滑化するかというフィルタ強度計算を行う。その後、デブロッキングフィルタは、画素ラインに含まれる画素値に応じて効果の異なるフィルタを切り替えて適用する。例えば、図２に示されるように、４×４画素ブロック１０２１と、４×４画素ブロック１０２２とのブロック境界１０３１には、４本の画素ライン１０４１〜１０４４が含まれる。画素ライン１０４１〜１０４４のそれぞれは、４×４画素ブロック１０２１の４個の画素１０１０と４×４画素ブロック１０２２の４個の画素１０１０とを含む。画素ライン１０４１〜１０４４毎に含まれる８個の画素１０１０の画素値に基づいて適応的にフィルタ強度計算が行われ、フィルタ処理が適用される。すなわち、４×４画素ブロック境界１０３１に関してフィルタ強度計算が４回行われることになる。【０００５】
デブロッキングフィルタは、ブロックノイズを低減して画質を向上させることができるが、所要演算量が多いという問題がある。そこで、携帯機器など演算量が十分確保できない場合に、例えば、特開２００７−２０８５５２号公報に示されるように、デブロッキングフィルタを省略して所要演算量を削減する方法が提案されている。この方法では、図３に示されるように、デブロッキングフィルタ処理が省略される。まず、データ処理装置の演算負荷を取得し（Ｓ１００１）、演算負荷の量を判断する（Ｓ１００２）。負荷が小さい場合（Ｓ１００２−Ｙｅｓ）、通常のデブロッキングフィルタ処理が行われる（Ｓ１００３）。負荷が高い場合には（Ｓ１００２−Ｎｏ）、デブロッキングフィルタの処理は省略される（Ｓ１００４）。以上をフレームが終了するまで繰り返す（Ｓ１００５）。しかし、このようなデブロッキングフィルタを適用するか否かの二者択一の制御方法では、画質劣化が大きいという問題がある。【０００６】
また、特開２００７−２７９５６号公報には、映像ストリーム情報取得手段と、複数の高画質化フィルタと、高画質化フィルタ切替手段とを備えるデブロッキングフィルタが記載されている。映像ストリーム情報取得手段は、映像ストリーム中のビットレート情報および画像サイズ情報を映像ストリームから抽出する。複数の高画質化フィルタは、映像ストリームに基づいて再生される画像の画質を向上するデブロッキングフィルタ処理を行う。高画質化フィルタのうちの１つ以上が他の高画質化フィルタよりも高速にデブロッキングフィルタ処理を行う第１の種類の高画質化フィルタである。また、高画質化フィルタのうちの１つ以上が第１の種類の高画質化フィルタよりも低速にデブロッキングフィルタ処理を行う第２の種類の前記高画質化フィルタである。高画質化フィルタ切替手段は、ビットレート情報および画像サイズ情報のうちのいずれか１つ以上の情報に基づいて、映像ストリームにデブロッキングフィルタ処理を行う高画質化フィルタを切り替える。すなわち、高画質化フィルタ切替手段が、ビットレート情報および画像サイズ情報のうちのいずれか１つ以上の情報に基づいて、第１の種類の高画質化フィルタに切り替えるか否かの判断をし、切り替えると判断したとき、第１の種類の高画質化フィルタに切り替える。【０００７】
特開２００７−１２９３１８号公報には、画像を符号化した画像符号化データを復号して復号画像を生成する画像復号装置が開示されている。この画像復号装置は、復号手段と、処理量算出手段と、フィルタ強度決定手段と、フィルタ手段とを備える。復号手段は、画像符号化データの復号処理を行なうことにより、復号画像を生成する。処理量算出手段は、復号手段が復号処理を行なう処理量を算出する。フィルタ強度決定手段は、処理量算出手段により算出された処理量に基づいて、フィルタ強度を決定する。フィルタ手段は、フィルタ強度決定手段が決定したフィルタ強度に基づいて、復号画像に対しフィルタ処理を行なう。【０００８】
また、特開２００１−２８５８６６号公報には、直交変換領域でＮ／Ｍ倍（但し、Ｎ，Ｍは整数）の解像度変換を行う画像復号化装置が開示されている。この画像復号化装置は、逆変換手段と間引き手段とを具備する。逆変換手段は、ｋ×Ｎ個（但し、ｋは整数）の直交変換係数を逆直交変換する。間引き手段は、逆変換手段の変換結果を１／ｋに間引く。すなわち、ブロックサイズ変換回路は、逆量子化回路から出力されるＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）係数データのブロックサイズを、水平方向については所望の解像度に対応するサイズに、垂直方向については所望の解像度の倍の解像度に対応するサイズに変換する。逆ＤＣＴ変換回路は、ブロックサイズ変換回路のＤＣＴ変換係数データ出力を対応するブロックサイズで逆ＤＣＴ変換する。スキャン変換器は、逆ＤＣＴ変換回路の出力データをラスター走査順に変換する。フィルタは、スキャン変換器の出力を間引き用に垂直方向に帯域制限し、サブサンプリング回路が垂直方向に間引きを行う。フィルタは、異なるＤＣＴブロックの画素データを使って帯域制限する。
【発明の開示】
【０００９】
本発明の目的は、画質劣化を抑えつつ所要演算量を削減するデブロッキングフィルタ処理装置、デブロッキングフィルタ処理方法およびデブロッキングフィルタ処理プログラムを提供することにある。
【００１０】
本発明の観点では、デブロッキングフィルタ処理装置は、典型的フィルタ強度計算部と、典型的フィルタ部とを備える第１のデブロッキングフィルタ処理部を具備する。典型的フィルタ強度計算部は、ブロック単位で符号化された動画像の復号画像データに対して、ブロック境界にまたがる複数の画素ラインのうちの所定の画素ラインを典型的画素ラインとして設定し、典型的画素ラインに含まれる画素値に基づいてフィルタ強度計算を行って典型的フィルタ強度を求める。典型的フィルタ部は、典型的フィルタ強度に基づいて複数の画素ラインに含まれる画素値を平滑化する。
【００１１】
本発明の他の観点では、デブロッキングフィルタ処理方法は、典型的画素ラインを設定するステップと、典型的フィルタ強度を計算するステップと、平滑化するステップとを備える第１のデブロッキングフィルタ処理を行うステップを具備する。典型的画素ラインを設定するステップでは、ブロック単位で符号化された動画像の復号画像データに対して、ブロック境界にまたがる複数の画素ラインのうちの所定の画素ラインが典型的画素ラインとして設定される。典型的フィルタ強度を計算するステップでは、典型的画素ラインに含まれる画素値に基づいてフィルタ強度計算を行って典型的フィルタ強度が求められる。平滑化するステップでは、典型的フィルタ強度を計算するステップで求められた典型的フィルタ強度に基づいて、複数の画素ラインに含まれる画素値が平滑化される。
【００１２】
また、本発明の他の観点では、デブロッキングフィルタ処理プログラムを記憶する記憶媒体は、第１のデブロッキングフィルタ処理ステップをコンピュータに実行させるためのプログラムを記憶する媒体である。第１のデブロッキングフィルタ処理ステップは、代表画素ライン設定ステップと、代表フィルタ強度計算ステップと、代表フィルタステップとを備える。代表画素ライン設定ステップでは、ブロック単位で符号化された動画像の復号画像データに対して、ブロック境界にまたがる複数の画素ラインのうちの所定の画素ラインが代表画素ラインとして設定される。代表フィルタ強度計算ステップでは、設定された代表画素ラインに含まれる画素値に基づいてフィルタ強度計算を行って代表フィルタ強度が求められる。代表フィルタステップでは、求められた代表フィルタ強度に基づいて、複数の画素ラインに含まれる前記画素値が平滑化される。
【００１３】
本発明によれば、画質劣化を抑えつつ所要演算量を削減するデブロッキングフィルタ処理装置、デブロッキングフィルタ処理方法およびデブロッキングフィルタ処理プログラムを提供することができる。
【図面の簡単な説明】
【００１４】
上記発明の目的、効果、特徴は、添付される図面と連携して実施の形態の記述から、より明らかになる。
【図１】図１は、マクロブロックにおける４×４画素ブロック境界を説明する図である。
【図２】図２は、４×４画素ブロック境界における画素ラインを説明する図である。
【図３】図３は、デブロッキングフィルタを省略して所要演算量を削減する方法を示す図である。
【図４】図４は、本発明の第１の実施の形態に係るデブロッキングフィルタ処理装置の構成を示すブロック図である。
【図５】図５は、本発明の第１の実施の形態に係るデブロッキングフィルタ処理を行うコンピュータ装置の構成を示す図である。
【図６】図６は、本発明の第１の実施の形態に係るデブロッキングフィルタ処理装置の動作を示すフローチャートである。
【図７】図７は、本発明の第２の実施の形態に係るデブロッキングフィルタ処理装置の構成を示すブロック図である。
【図８】図８は、本発明の第２の実施の形態に係るデブロッキングフィルタ処理装置の動作を示すフローチャートである。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照して本発明を実施するための形態が説明される。【００１６】
図４に、第１の実施の形態に係るデブロッキングフィルタ処理装置１００の構成が示される。デブロッキングフィルタ処理装置１００は、入力される復号画像データに対して、所定の画素ライン毎にフィルタ強度計算を行い、その画素ラインに含まれる画素値に応じて効果の異なるフィルタを切り替えて適用する。フィルタ強度計算は、図２に示されるように、４×４画素ブロック境界にまたがる画素ラインに対して行われる。すなわち、ブロック境界１０３１の全ての画素ラインに対してフィルタ強度計算を行う場合、画素ライン１０４１〜１０４４毎に１回、ブロック境界１０３１に関して４回のフィルタ強度計算が行われることになる。デブロッキングフィルタ処理装置１００は、このフィルタ強度計算を適宜間引くことにより所要演算量を削減する。【００１７】
図４に示されるように、デブロッキングフィルタ処理装置１００は、実行処理部１１０と、選択処理部１０１とを備える。実行処理部１１０は、ブロック単位で符号化された動画像の復号画像データに対してデブロッキングフィルタ処理を行い、フィルタ処理後の画像データを出力する。実行処理部１１０は、異なるデブロッキング処理を行うデブロッキングフィルタ処理部１１１とデブロッキングフィルタ処理部１１２とを備え、いずれかのデブロッキング処理を行う。デブロッキングフィルタ処理部１１１、１１２の各々は、複数のデブロッキングフィルタ処理を並行して実行可能である。選択処理部１０１は、入力される指標データに基づいて、デブロッキングフィルタ処理部１１１、１１２のうちの一方を選択し、実行処理部１１０に通知する。【００１８】
デブロッキングフィルタ処理部１１１は、デブロッキングフィルタ処理の対象画素ライン毎にフィルタ強度計算を行う。すなわち、デブロッキングフィルタ処理部１１１は、１画素ライン１フィルタ強度計算を行い、その結果に基づいて平滑化処理であるフィルタ処理を行う処理部である。デブロッキングフィルタ処理部１１２は、複数の画素ラインのうちの１画素ラインに対してフィルタ強度計算を行う。すなわち、デブロッキングフィルタ処理部１１２は、Ｎ画素ラインのうちの１画素ラインを典型的画素ラインとして代表させてフィルタ強度計算を行い、その典型的画素ラインのフィルタ強度に基づいてＮ画素ラインの平滑化処理であるフィルタ処理を行う処理部である。他のＮ−１本の画素ラインは、典型的画素ラインのフィルタ強度計算値が流用され、各画素ラインに対してフィルタ処理が行われる。したがって、フィルタ処理は行われるが、フィルタ強度計算の処理量は、１／Ｎになる。【００１９】
デブロッキングフィルタ処理装置１００の動作が説明される。まず、選択処理部１０１は、外部から取得する指標データに基づいて、デブロッキングフィルタ処理部１１１、１１２のうちの何れかを選択する。指標データは、例えば、動画像復号処理の処理時間とする。選択処理部１０１は、その動画像復号処理の処理時間が所定の値以下であれば、デブロッキングフィルタ処理部１１１を選択し、所定の値を超える場合は、デブロッキングフィルタ処理部１１２を選択する。選択結果は、実行処理部１１０に通知される。【００２０】
実行処理部１１０は、選択処理部１０１が選択したデブロッキングフィルタ処理部１１１／１１２により、入力される復号画像データに対してデブロッキングフィルタ処理を施す。デブロッキングフィルタ処理１１１は、どの程度の強さで平滑化するかというフィルタ強度計算を１画素ライン毎に行ってデブロッキングフィルタを適用する、あるいは、デブロッキングフィルタを適用しない。すなわち、フィルタ強度計算は、１画素ラインに１回行われる。デブロッキングフィルタ処理１１２は、フィルタ強度計算を複数の画素ラインのうちの典型的画素ライン毎に行う。すなわち、フィルタ強度計算は、Ｎ画素ラインに１回行われる。このとき、他のＮ−１画素ラインのフィルタ強度は、典型的画素ラインのフィルタ強度計算結果が適用される。典型的画素ラインに対するフィルタ強度計算結果がＮ画素ラインに対して代表して用いられることになる。【００２１】
ここで、ある代表する画素ラインに対するフィルタ強度計算結果を他の複数の画素ラインに用いて良い理由は、一般に、近隣の画素値の傾向は似通っているという知見に基づいている。したがって、同じ計算結果を適用する画素ラインを増やすほど、フィルタ強度計算を代表する画素ラインと周辺に位置する画素ラインが離れ、画素ライン毎にフィルタ強度計算したフィルタ処理結果と異なってくる。これより、少しでもその差異を減らすため、フィルタ強度計算を代表する典型的画素ラインは、空間的に中央に位置する画素ラインを選択することが好ましい。【００２２】
また、デブロッキングフィルタ処理部１１１／１１２を選択するための指標データは、動画像復号処理の処理時間だけではなく、デブロッキングフィルタ処理に要する他のパラメータであってもよい。選択処理部１０１は、そのパラメータを取得し、デブロッキングフィルタ処理の演算負荷とそのパラメータとに基づいてフィルタ強度計算方法を選択しても良い。パラメータとしては、フィルタ強度値、量子化値、ブロックタイプなどが好ましい。【００２３】
なお、図４に示される各処理部は、本実施の形態に係るデブロッキングフィルタ処理装置を実現する場合において、ソフトウェア・プログラム及びハードウェアの何れかによって実現される所定の機能単位である。したがって、これら各処理部の一部または全部をハードウェアとして実現しても良い。【００２４】
ソフトウェア・プログラムとして実現される場合、図５に示されるように、メモリ３０１、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０２、インタフェース部３０３を備えるコンピュータ装置３００上でソフトウェア・プログラムは実行される。ソフトウェア・プログラムは、読み書き可能なメモリ３０１（記憶媒体）に格納されている。ＣＰＵ３０２は、ソフトウェア・プログラムをメモリ３０１から読み出して実行する。画像データはインタフェース部３０３を介して入出力される。このような場合、本発明は、係るソフトウェア・プログラムのコード或いは記憶媒体によって構成される。【００２５】
次に、図６を参照して、１フレームの画像データに適用した場合の動作手順が説明される。図６に示されるフローチャートは、図５に示されるコンピュータ装置３００におけるＣＰＵ３０２が実行するソフトウェア・プログラムの処理手順を表す。したがって、図４に示される機能単位は、ＣＰＵ３０２によって実行されるソフトウェア・プログラムとして説明される。【００２６】
ＣＰＵ３０２は、選択処理プログラム１０１を実行して動画像復号処理に要した処理時間Ｐを取得する（ステップＳ１０１）。ＣＰＵ３０２は、取得した処理時間Ｐと所定の値αとを比較して評価する（ステップＳ１０２）。評価の結果、処理時間Ｐが所定の値α以下の場合（ステップＳ１０２：Ｐ≦α）、ＣＰＵ３０２は、１画素ライン毎にフィルタ強度計算を行うデブロッキングフィルタ処理プログラム１１１を実行する。すなわち、画素ライン毎に計算されたフィルタ強度に基づいて復号画像データにデブロッキングフィルタが適用される（ステップＳ１０３）。処理時間Ｐが所定の値αを超えている場合（ステップＳ１０２：Ｐ＞α）、ＣＰＵ３０２は、デブロッキングフィルタ処理プログラム１１２を実行する。すなわち、複数画素ラインのうちの典型的画素ラインに対してのみフィルタ強度計算されたフィルタ強度に基づいて、デブロッキングフィルタが復号画像データに適用される（ステップＳ１０４）。したがって、動画像復号処理に想定以上に費やされた処理時間を確保するために、デブロッキングフィルタ処理が簡略化されて処理時間が短縮され、合計処理時間を所定の時間内に収めることができる。動画像復号処理が想定される時間内で終了した場合は、フィルタ強度計算を画素ライン毎に行って、よりよい画質を得ることができる。ＣＰＵ３０２は、上記の処理をフレームが終了するまで繰返す（ステップＳ１０５）。【００２７】
このように、本発明では、画素ライン毎のフィルタ強度計算が簡略化され、処理時間を短縮することができる。通常の適応的デブロッキングフィルタでは、フィルタが適用されるか否かが決められ、フィルタ適用が決まると、画素ライン毎にフィルタ強度計算され、この計算後に画素列に対しフィルタが適用される。本発明のデブロッキングフィルタでは、フィルタ強度計算＋フィルタ適用処理のうち、フィルタ強度計算部分が簡略化される。複数の画素ラインに対するフィルタ強度計算を所定の画素ライン（典型的画素ライン）で代表させ、他の画素ラインに関するフィルタ強度計算が省略されて簡略化が行われる。つまり、フィルタ強度計算が間引きされる。間引きされたフィルタ強度計算の後、複数の画素ラインに対して代表された計算結果に基づいて、フィルタが適用される。この簡略化は、デブロッキングフィルタを含む復号処理の進行状況などの、与えられたパラメータに基づいて行われる。【００２８】
このように、本実施の形態では、動画像復号処理の処理時間に基づいて、１画素ライン毎のデブロッキングフィルタ強度計算が複数画素ライン毎に簡略化される。この簡略化は、デブロッキングフィルタを適用するか否かという二者択一的な簡略化方法ではなく、フィルタ強度計算は簡略化されるもののフィルタ処理自体は実行される。そのため、デブロッキングフィルタの効果は得られ、画質劣化を抑えると共に所要演算量を削減することができる。【００２９】
次に、第２の実施の形態が説明される。本実施の形態に係るデブロッキングフィルタ処理装置２００は、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ方式（以後Ｈ．２６４と記載する）におけるデブロッキングフィルタ処理装置である。デブロッキングフィルタ処理の選択に関与するパラメータは、フィルタ強度値（Ｂｏｕｎｄａｒｙ  Ｓｔｒｅｎｇｔｈ：ｂＳ）、量子化値（Ｑｕａｎｔｉｓａｔｉｏｎ  Ｐａｒａｍｅｔｅｒ：ＱＰ）、マクロブロックタイプのうち少なくとも一つとする。【００３０】
Ｈ．２６４では、厳密にデブロッキングフィルタの仕様が決められている。したがって、本実施の形態に係るデブロッキングフィルタ処理装置２００は、Ｈ．２６４規格のデブロッキングフィルタ処理と、本発明の間引きデブロッキングフィルタ処理とを切替可能となっている。したがって、多少の画質劣化を許しても所要演算量低減を優先したい場合には、本発明のデブロッキングフィルタ簡略化は有効である。【００３１】
図７に、第２の実施の形態に係るデブロッキングフィルタ処理装置２００の構成が示される。デブロッキングフィルタ処理装置２００は、実行処理部２１０と、選択処理部２０１とを備える。実行処理部２１０は、ブロック単位で符号化された動画像の復号画像データに対してデブロッキングフィルタ処理を行い、フィルタ処理後の画像データを出力する。実行処理部２１０は、異なるデブロッキング処理を行うデブロッキングフィルタ処理部２１１〜２１４を備え、いずれかのデブロッキング処理を行う。デブロッキングフィルタ処理部２１１〜２１４の各々は、複数のデブロッキングフィルタ処理を並行して実行可能である。選択処理部２０１は、入力される指標データに基づいて、デブロッキングフィルタ処理部２１１〜２１４のうちのいずれかを選択し、実行処理部２１０に通知する。【００３２】
デブロッキングフィルタ処理部２１１は、Ｈ．２６４の規格で定められたデブロッキングフィルタ処理を行う。したがって、画素ライン毎にフィルタ強度計算が行われる。図１に示されるようなマクロブロックの場合、３２本の４×４画素ブロック境界があり、１２８回のフィルタ強度計算が行われる。【００３３】
デブロッキングフィルタ処理部２１２は、１つの４×４画素ブロック境界に属する４画素ラインに対する４回のフィルタ強度計算を１回に間引いてデブロッキングフィルタ処理を行う。例えば、図２に示される画素ラインで説明すると、画素ライン１０４１〜１０４４のそれぞれに対応するフィルタ強度は、画素ライン１０４２に対して行われたフィルタ強度計算の結果によって代表される。このような間引きが各ブロック境界において行われる。図１に示されるようなマクロブロックの場合、３２本の４×４画素ブロック境界があり、それと同数の３２回のフィルタ強度計算が行われる。したがって、フィルタ強度計算回数は、１／４に削減できる。【００３４】
デブロッキングフィルタ処理部２１３は、１つのマクロブロック内の垂直または水平に連続する４つの４×４画素ブロック境界に属する１６画素ラインに対する１６回のフィルタ強度計算を１回に間引いてデブロッキングフィルタ処理を行う。図１に示される垂直方向の連続する４×４画素ブロック境界で説明すると、例えば、ブロック境界１１１１〜１１１４に関して、デブロッキングフィルタ処理部２１３は、ブロック境界１２２１−１２２２付近の１本の画素ラインに代表させてフィルタ強度計算を行い、フィルタ処理を行う。ブロック境界１１１１〜１１１４に含まれる他の１５本の画素ラインに関しては、このフィルタ強度計算の結果を使ってフィルタ処理が行われる。ブロック境界１１０１〜１１０４、１１２１〜１１２４、１１３１〜１１３４に対しても同様にフィルタ強度計算が間引かれる。また、ブロック境界１２０１〜１２０４、１２１１〜１２１４、１２２１〜１２２４、１２３１〜１２３４に関しても同様にフィルタ強度計算が間引かれる。図１に示されるようなマクロブロックの場合、水平方向に４回のフィルタ強度計算が行われ、垂直方向に４回のフィルタ強度計算が行われる。したがって、フィルタ強度計算回数は、１／１６に削減できる。【００３５】
デブロッキングフィルタ処理部２１４は、１つのマクロブロック内の垂直方向および水平方向の各１６の４×４画素ブロック境界に属する６４画素ラインに対する６４回のフィルタ強度計算を１回に間引いてデブロッキングフィルタ処理を行う。図１に示される垂直方向のブロック境界１１０１〜１１０４、１１１１〜１１１４、１１２１〜１１２４、１１３１〜１１３４の場合、例えば、マクロブロック中央部のブロック境界１２２２付近のブロック境界１１２２が付近のブロック境界を代表する典型的ブロック境界に選択される。そのブロック境界１１２２に含まれる１本の画素ラインに代表させてフィルタ強度計算が行われ、フィルタ処理が行われる。ブロック境界１１２２に含まれる他の３本の画素ライン及び他の垂直方向のブロック境界に含まれる５０本の画素ラインに関しては、このフィルタ強度計算の結果を使ってフィルタ処理が行われる。水平方向のブロック境界１２０１〜１２０４、１２１１〜１２１４、１２２１〜１２２４、１２３１〜１２３４に対しても同様にフィルタ強度計算が間引かれ、典型的画素ラインのフィルタ強度計算の結果を使ってフィルタ処理が行われる。図１に示されるようなマクロブロックの場合、水平方向に１回のフィルタ強度計算が行われ、垂直方向に１回のフィルタ強度計算が行われる。したがって、フィルタ強度計算回数は、１／６４に削減できる。【００３６】
選択処理部２０１は、指標データとして、例えば、動画像復号処理の処理時間を取り込む。この処理時間Ｐが予め定められた設定値α以下であれば、デブロッキングフィルタ処理部２１１を選択し、実行処理部２１０に通知する。処理時間Ｐが設定値αを超える場合、すなわち、処理が遅れている場合、選択処理部２０１は、その遅延の度合い、すなわち遅延時間Ｄ＝Ｐ−αに基づいて、デブロッキングフィルタ処理部２１２〜２１４のうちのいずれかのデブロッキングフィルタ処理部を選択して実行処理部２１０に通知する。これには、２段階の閾値β１、β２を設定しておき、遅延時間Ｄが評価される。選択処理部２０１は、遅延時間Ｄが閾値β１以下の場合にはデブロッキングフィルタ処理２１２を選択し、遅延時間Ｄが閾値β１を超え閾値β２以下の場合にはデブロッキングフィルタ処理２１３を選択し、遅延時間Ｄが閾値β２を超える場合にはデブロッキングフィルタ処理２１４を選択する。【００３７】
また、指標データとして、デブロッキングフィルタ処理に要するパラメータを入力し、そのパラメータに基づいて上記の選択した簡略化方法を調整しても良い。例えば、ｂＳ値、または、ＱＰ値が大きい場合には、デブロッキングフィルタが強くかけられるため、簡略化デブロッキングフィルタ処理が適用されると画質劣化がより大きくなる。このため、ｂＳ値が４の場合は簡略化を１段階弱めるように調整する。例えば、上記において、デブロッキングフィルタ処理２１３が選択されたときは、デブロッキングフィルタ処理２１２に変更する。また、ＱＰ値についても予め決められた閾値を越した場合に同様に簡略化を１段階弱めるとしても良い。【００３８】
本実施の形態では、簡略化デブロッキングフィルタ処理は、フィルタ強度計算を１／４、１／１６、１／６４に間引いて行うと説明したが、間引き方法は、これに限定されない。Ｎを１以上の整数とし、Ｎ個のブロック境界に属する画素ラインに対するフィルタ強度計算を１回に間引く簡略化デブロッキングフィルタ処理に拡張することは容易である。ここで、Ｎが１から整数Ｍまでとり得るとすると、実行処理部２１０は、Ｍ種のデブロッキングフィルタ処理を備えることとなる。この場合、Ｍ種の簡略化デブロッキングフィルタ処理を備えても良い。また、Ｎを与えることでＮ個のブロック境界に属する画素ラインに対するフィルタ強度計算を１回に間引くデブロッキングフィルタ処理を実現する１つの処理を備えても良い。選択処理部２０１は、処理時間Ｐが設定値αより遅れていれば、処理時間Ｐの設定値αからの遅延時間Ｄに基づいて、Ｎを選択するように動作してもよい。その場合、遅延時間Ｄに対するＭ−１段階の閾値βを予め決めておけばよい。【００３９】
次に、図８を参照して、デブロッキングフィルタ処理装置２００の動作が説明される。ステップＳ１０１〜Ｓ１０３、及びＳ１０５は、第１の実施の形態において説明されているが、再度説明する。【００４０】
ＣＰＵ３０２は、選択処理プログラム１０１を実行して動画像復号処理に要した処理時間Ｐを取得する（ステップＳ１０１）。ＣＰＵ３０２は、取得した処理時間と所定の値αとを比較して評価する（ステップＳ１０２）。評価の結果、処理時間Ｐが所定の値α以下の場合（ステップＳ１０２：Ｐ≦α）、ＣＰＵ３０２は、１画素ライン毎にフィルタ強度計算を行うデブロッキングフィルタ処理プログラム２１１を実行し、復号画像データにデブロッキングフィルタを適用する（ステップＳ１０３）。処理時間Ｐが所定の値αを超えている場合（ステップＳ１０２：Ｐ＞α）、ＣＰＵ３０２は、所定の値αからの遅延時間Ｄを評価する（ステップＳ２０１）。【００４１】
遅延時間Ｄが第１閾値β１以下の場合（ステップＳ２０１：Ｄ≦β１）、ＣＰＵ３０２は、デブロッキングフィルタ処理プログラム２１２を実行する。すなわち、１つの４×４画素ブロック境界に属する４画素ラインに対する４回のフィルタ強度計算を１回に間引いて処理するデブロッキングフィルタが復号画像データに適用される（ステップＳ２０２）。【００４２】
遅延時間Ｄが第１閾値β１より大きく第２閾値β２以下の場合（ステップＳ２０１：β１＜Ｄ≦β２）、ＣＰＵ３０２は、デブロッキングフィルタ処理プログラム２１３を実行する。すなわち、１つのマクロブロック内の垂直または水平に連続する４つの４×４画素ブロック境界に属する１６画素ラインに対する１６回のフィルタ強度計算を１回に間引いて処理するデブロッキングフィルタが復号画像データに適用される（ステップＳ２０３）。【００４３】
遅延時間Ｄが第２閾値β２より大きい場合（ステップＳ２０１：Ｄ＞β２）、ＣＰＵ３０２は、デブロッキングフィルタ処理プログラム２１４を実行する。すなわち、１つのマクロブロック内の垂直方向および水平方向の各１６の４×４画素ブロック境界に属する６４画素ラインに対する６４回のフィルタ強度計算をそれぞれ１回に間引いて処理するデブロッキングフィルタが復号画像データに適用される（ステップＳ２０４）。ＣＰＵ３０２は、上記の処理をフレームが終了するまで繰返す（ステップＳ１０５）。【００４４】
以上のように、本実施の形態では、動画像復号処理の演算負荷またはデブロッキングフィルタ処理に要するパラメータも用いて、デブロッキングフィルタ強度計算回数が段階的に簡略化される。これより、画質劣化と所要演算量削減のトレードオフの調整を柔軟に行うことができる。なお、上記では、４×４画素ブロック境界におけるデブロッキングフィルタ処理について説明したが、ブロック境界は４×４画素ブロック境界に限らず、他の構成の画素ブロックでもよい。【００４５】
本発明をコンピュータに実行させるためのプログラムとして実施する場合、そのデブロッキングフィルタ処理プログラムは、典型的画素ラインを設定するステップと、典型的フィルタ強度を求めるステップと、画素値を平滑化するステップとを備える第１のデブロッキングフィルタ処理を具備する。典型的画素ラインを設定するステップでは、ブロック単位で符号化された動画像の復号画像データに対して、ブロック境界にまたがる複数の画素ラインのうちの所定の画素ラインが典型的画素ラインとして設定される。典型的フィルタ強度を求めるステップでは、典型的画素ラインに含まれる画素値に基づいてフィルタ強度計算を行って典型的フィルタ強度が求められる。画素値を平滑化するステップでは、求められた典型的フィルタ強度に基づいて複数の画素ラインに含まれる画素値が平滑化される。【００４６】
このデブロッキングフィルタ処理プログラムは、典型的画素ラインを設定するステップに、ブロック境界の中央部に位置する画素ラインを典型的画素ラインに設定するステップを含んでもよい。【００４７】
また、このデブロッキングフィルタ処理プログラムは、複数の画素ラインの各々に含まれる画素値に基づいて複数の画素ラインの各々毎にフィルタ強度を求めるステップと、複数の画素ラインに含まれる画素値を平滑化するステップとを備える第２のブロッキングフィルタ処理をさらに具備してもよい。その場合、デブロッキングフィルタ処理プログラムは、入力される指標データに基づいて、復号画像データに対するデブロッキングフィルタ処理を第１または第２のデブロッキングフィルタ処理に切り替えるステップを具備する。【００４８】
また、このデブロッキングフィルタ処理プログラムは、第１のデブロッキングフィルタ処理に、複数のブロック境界のうちの所定のブロック境界を典型的ブロック境界として設定するステップをさらに備え、典型的フィルタ強度を求めるステップに、典型的ブロック境界における典型的画素ラインに含まれる画素値に基づいて典型的フィルタ強度を求めるステップを含み、画素値を平滑化するステップに、典型的ブロック境界の典型的画素ラインにおける典型的フィルタ強度に基づいて、複数のブロック境界に属する画素ラインに含まれる画素値を平滑化するステップを含むことが好ましい。【００４９】
上記の指標データは、復号画像データの復号処理の処理時間と、デブロッキングフィルタ処理に要するパラメータとのうちの少なくとも一方を含むことが好ましい。【００５０】
また、第２のデブロッキングフィルタ処理に、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ方式におけるデブロッキングフィルタ処理を行うステップを含んでもよく、その場合、デブロッキングフィルタ処理に要するパラメータは、ｂＳ（Ｂｏｕｎｄａｒｙ  Ｓｔｒｅｎｇｔｈ）値、ＱＰ（Ｑｕａｎｔｉｓａｔｉｏｎ  Ｐａｒａｍｅｔｅｒ）値、マクロブロックタイプのうちの少なくとも一つを含むことが好ましい。【００５１】
その場合、第１のデブロッキングフィルタ処理には、以下の第１から第３処理ステップのうちの少なくとも１つの処理ステップを含んでもよい。第１処理ステップでは、４×４画素ブロック境界に属する４本の画素ラインのうちの１本を典型的画素ラインとして典型的フィルタ強度が求められて４本の画素ラインの平滑化処理に適用されて、デブロッキングフィルタ処理が行われる。第２処理ステップでは、４×４画素ブロックが４×４のマトリクス状に配置されたマクロブロック内の垂直または水平に連続する４×４画素ブロック境界に属する１６本の画素ラインのうちの所定の画素ラインを典型的画素ラインとして典型的フィルタ強度が求められて１６本の画素ラインの平滑化処理に適用され、デブロッキングフィルタ処理が行われる。第２処理ステップでは、マクロブロック内に含まれる垂直及び水平方向の４×４画素ブロック境界に属する各６４本の画素ラインのうちの所定の画素ラインを典型的画素ラインとして典型的フィルタ強度が求められて垂直及び水平方向の４×４画素ブロック境界に属する各６４本の画素ラインの平滑化処理に適用され、デブロッキングフィルタ処理が行われる。その場合、デブロッキング処理を切り替えるステップは、指標データに基づいて第１から第３処理ステップまたは第２のデブロッキングフィルタ処理に切り替えてデブロッキングフィルタ処理を行うステップを含むことが好ましい。【００５２】
上述のように、本発明によれば、画質劣化を抑えつつ所要演算量を削減するデブロッキングフィルタ処理装置、デブロッキングフィルタ処理方法およびデブロッキングフィルタ処理プログラムを提供することができる。【００５３】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。【００５４】
なお、本出願は、日本出願番号２００８−０８９７４５に基づく優先権を主張するものであり、日本出願番号２００８−０８９７４５における開示内容は引用により本出願に組み込まれる。
【図１】
2009123033.tif 000003
【図２】
2009123033.tif 000004
【図３】
2009123033.tif 000005
【図４】
2009123033.tif 000006
【図５】
2009123033.tif 000007
【図６】
2009123033.tif 000008
【図７】
2009123033.tif 000009
【図８】
2009123033.tif 000010
【国際調査報告】
2009123033.tif 000011
2009123033.tif 000012