(57)【特許請求の範囲】
【請求項１】
フレーム（１）の画素ブロック（１０）に対する歪み表現を生成する方法であって、
符号化単位である前記画素ブロック（１０）内に、複数のサブグループ（３０）を定義するステップと、ここで、各々のサブグループは前記画素ブロック（１０）の少なくとも１つの画素（２０）を含む；
前記複数のサブグループ（３０）の各サブグループ（３０）に対して、複数の画素（２０）を含み且つ前記サブグループ（３０）を内包する近傍画素（４０）内の画素値の分布を表すアクティビティ値を判定するステップと、
前記複数のサブグループ（３０）の各サブグループ（３０）に対して、前記サブグループ（３０）に対して判定された前記アクティビティ値に基づいて歪みの重みを判定するステップと、
前記複数の歪みの重み、前記画素ブロック（１０）の画素値及び前記画素ブロック（１０）に対する参照画素値に基づいて前記画素ブロック（１０）に対する歪み表現を推定するステップ
とを有することを特徴とする方法。
【請求項２】
前記歪みの重みを判定するステップは、第１のアクティビティを表すアクティビティ値を有するサブグループ（３０）に対する歪みの重みが前記第１のアクティビティより比較的小さい第２のアクティビティを表すアクティビティ値を有するサブグループ（３０）に対する歪みの重みより小さいと判定するステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記複数のサブグループ（３０）を定義するステップは、前記画素ブロック（１０）の複数の重なり合わないサブグループ（３０）を定義するステップを含み、ここで、ｍが０又は正の整数でとしたとき、各サブグループは２m×２m個の画素（２０）を含むことを特徴とする請求項１又は２に記載の方法。
【請求項４】
前記アクティビティ値を判定するステップは、
前記複数のサブグループ（３０）の各サブグループ（３０）と複数の画素（２０）を含み且つ前記サブグループ（３０）を内包する複数の潜在的な近傍画素（４０）の各々とに対して、前記近傍画素（４０）内の画素値の分布を表す候補アクティビティ値を計算するステップと、
前記サブグループ（３０）に対する前記アクティビティ値として前記複数の候補アクティビティ値のうちの最小の候補アクティビティ値を選択するステップと
を含むことを特徴とする請求項１乃至３のいずれか１項に記載の方法。
【請求項５】
前記候補アクティビティ値を計算するステップは、前記近傍画素（４０）内の垂直及び水平方向に隣接する画素（２０）の画素値の絶対値差分の和に基づいて前記候補アクティビティ値を計算するステップを含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記サブグループ（３０）を内包し、且つａ、ｂが１以上の正の整数である２a×２b個の画素（２０）から構成される各ブロックとして前記複数の潜在的な近傍画素（４０）を識別するステップを更に含み、ここで、前記複数の潜在的な近傍画素（４０）のうちの１つの潜在的な近傍画素（４０）における前記サブグループ（３０）の位置は前記複数の潜在的な近傍画素（４０）のうちの他の各潜在的な近傍画素（４０）における前記サブグループ（３０）の各位置と異なっていることを特徴とする請求項４又は５記載の方法。
【請求項７】
前記複数の潜在的な近傍画素（４０）を識別するステップは、前記サブグループ（３０）を内包し且つｃ、ｄが１以上の正の整数でありｃ≦ａ及びｄ≦ｂである前記フレーム（１）内の２c×２d格子（５０）上に位置決めされる各潜在的な近傍画素（４０）を識別するステップを含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記歪みの重みを判定するステップは、
ａ）前記複数のサブグループ（３０）の各サブグループ（３０）に対して、前記サブグループ（３０）に対して判定された前記アクティビティ値と少なくとも１つのアクティビティ閾値とを比較するステップと、
ｂ）前記複数のサブグループ（３０）の各サブグループ（３０）に対して、前記比較に基づいて前記歪みの重みを判定するステップと
を含むことを特徴とする請求項１乃至７のいずれか１項に記載の方法。
【請求項９】
前記画素ブロック（１０）に対する量子化パラメータ値を判定するステップを更に含み、判定ステップｂ）は：
ｉ）前記複数のサブグループ（３０）の各サブグループ（３０）に対して、前記サブグループ（３０）に対して判定された前記アクティビティ値がアクティビティ閾値を上回る場合に前記歪みの重みが既定の定数に等しいと判定するステップと、
ii）前記複数のサブグループ（３０）の各サブグループ（３０）に対して、前記サブグループ（３０）に対して判定された前記アクティビティ値がアクティビティ閾値を下回る場合に前記画素ブロック（１０）に対して判定された前記量子化パラメータ値に基づいて前記歪みの重みを判定するステップと
を含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記量子化パラメータ値に基づいて前記画素ブロック（１０）に対するラグランジュ乗数を判定するステップを更に含み、判定ステップii）は、前記複数のサブグループ（３０）の各サブグループ（３０）に対して、ｆが１以上の因数であり、λNが前記画素ブロック（１０）に対する前記ラグランジュ乗数を示し且つλMが前記フレーム（１）内の隣接画素ブロックに対するラグランジュ乗数を示すとした場合、前記サブグループ（３０）に対して判定された前記アクティビティ値が前記アクティビティ閾値を下回る場合に前記歪みの重みｋがｋ＝ｆ×λN／λMであると判定するステップを含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記フレーム（１）内の各画素ブロック（１０）に対して、前記画素ブロック（１０）内の画素値の分布を表すブロックアクティビティを判定するステップと、
前記画素ブロック（１０）に対して判定された前記各量子化パラメータに基づいて、前記フレームの前記画素ブロック（１０）を複数のカテゴリに分割するステップと、
前記複数のカテゴリの１つのカテゴリに対して、最も高いブロックアクティビティを有する画素ブロックを識別するステップと、
前記識別された画素ブロックに対して判定された前記アクティビティ値に基づいてアクティビティ閾値を計算するステップと
を更に含むことを特徴とする請求項８乃至１０のいずれか１項に記載の方法。
【請求項１２】
前記画素ブロック（１０）に対して判定された前記各量子化パラメータに基づいて、前記フレームの前記画素ブロック（１０）を複数のカテゴリに分割するステップと、
前記複数のカテゴリの各々に属する前記フレーム（１）内の前記画素ブロック（１０）の各割合を計算するステップと、
前記各割合に基づいて前記少なくとも１つのアクティビティ閾値を計算するステップと
を更に含むことを特徴とする請求項８乃至１０のいずれか１項に記載の方法。
【請求項１３】
前記歪み表現を推定するステップは、前記歪み表現Ｄを、
0005554831.tif 000008
として計算するるステップを有する、
ここで、ｐijは前記画素ブロック（１０）内の画素位置ｉ，ｊにおける画素値を示し、ｑijは画素位置ｉ，ｊにおける参照画素値を示し、ｋijは前記画素ブロック（１０）内の画素位置ｉ，ｊにおけるサブグループ（３０）の歪みの重みを示し、ｎは１以上の正数であり、前記画素ブロック（１０）はＭ×Ｎ個の画素（２０）で構成されるとする、
ことを特徴とする請求項１乃至１２のいずれか１項に記載の方法。
【請求項１４】
前記画素ブロック（１０）に割り当てられた量子化パラメータ値に基づいて前記画素ブロック（１０）に対するラグランジュ乗数を判定するステップと、
前記画素ブロック（１０）に対して、前記量子化パラメータ値に基づいて生成された前記画素ブロック（１０）の符号化バージョンのビットコストを表すレート値を判定するステップと、
前記歪み表現、前記ラグランジュ乗数及び前記レート値に基づいて前記画素ブロック（１０）に対するレート歪み値を計算するステップと
を更に含むことを特徴とする請求項１乃至１３のいずれか１項に記載の方法。
【請求項１５】
複数の使用可能な符号化モードの集合の各符号化モードに従って前記画素ブロック（１０）を疑似符号化するステップと、
前記複数の使用可能な符号化モードの各々に対してレート歪み値を計算するステップと、
前記複数の使用可能な符号化モードの中から前記レート歪み値を最小化する符号化モードを選択するステップと、
前記選択された符号化モードに従って前記画素ブロックを符号化することにより前記画素ブロック（１０）の符号化バージョンを生成するステップと
を更に含むことを特徴とする請求項１４に記載の方法。
【請求項１６】
画素（２０）で構成される複数のマクロブロック（１０）を含むフレーム（１）を符号化する方法であって、
各マクロブロック（１０）に対して、前記マクロブロック（１０）内の画素値の分布を表すマクロブロックアクティビティを計算するステップと、
前記複数のマクロブロック（１０）を前記マクロブロックアクティビティの各々に基づいて、少なくとも低アクティビティマクロブロック、高アクティビティマクロブロックに分類するステップと、ここで、低アクティビティマクロブロックとして分類されたマクロブロック（１０）には小さい量子化パラメータ値が割り当てられ、且つ高アクティビティマクロブロックとして分類されたマクロブロック（１０）には前記小さい量子化パラメータ値より大きい量子化パラメータ値が割り当てられる；
前記複数のマクロブロック（１０）の各マクロブロック（１０）に対して：
前記マクロブロック（１０）内の複数のサブグループ（３０）のうちの少なくとも１つの画素（２０）から成る各サブグループ（３０）に対して、複数の画素（２０）を含み且つ前記サブグループ（３０）を内包する近傍画素（４０）内の画素値の分布を表すアクティビティ値を判定するステップと、
前記各アクティビティ値に基づいて、低アクティビティサブグループ又は高アクティビティサブグループとして前記複数のサブグループ（３０）の各々を分類するステップと、
高アクティビティマクロブロック内の各低アクティビティサブグループに対して、既定の定数より大きい歪みの重みを判定するステップと、
低アクティビティマクロブロック内の各サブグループ及び高アクティビティマクロブロック内の各高アクティビティサブグループに対して、前記既定の定数に等しい歪みの重みを割り当てるステップと、
ラグランジュコスト関数Ｊ＝Ｄ＋λ×Ｒを最小化する、複数の使用可能な符号化モードの集合のうちの符号化モードを選択するステップと、
ここで、Ｄは
0005554831.tif 000009
に等しい歪みを示し、
ｐijは前記マクロブロック（１０）内の画素位置ｉ，ｊにおける画素値を示し、ｑijは前記マクロブロック（１０）内の画素位置ｉ，ｊにおける再構成画素値を示し、ｋijは前記マクロブロック（１０）内の画素位置ｉ，ｊにおけるサブグループ（３０）の歪みの重みを示し、ｎは１以上の正数を示し、λは前記マクロブロック（１０）に対する前記量子化パラメータ値に基づいて前記マクロブロック（１０）に対して選択されたラグランジュ乗数を示し、Ｒは前記マクロブロック（１０）に対して前記量子化パラメータ値を使用する符号化モードに従って取得された前記マクロブロック（１０）の符号化バージョンのビットコストを表すレート値を示している；
前記選択された符号化モードに従って前記マクロブロック（１０）を符号化するステップと
を有することを特徴とする方法。
【請求項１７】
フレーム（１）の、符号化単位となる画素ブロック（１０）に対する歪み表現を生成する装置（１００）であって、
各サブグループ（３０）が前記画素ブロック（１０）の少なくとも１つの画素（１０）を含む前記画素ブロック（１０）内の複数のサブグループ（３０）の各サブグループ（３０）に対して、複数の画素（２０）を含み且つ前記サブグループ（３０）を内包する近傍画素（４０）内の画素値の分布を表すアクティビティ値を計算するように構成されたアクティビティ計算機（１１０）と、
前記複数のサブグループ（３０）の各サブグループ（３０）に対して、前記アクティビティ計算機（１１０）により前記サブグループ（３０）に対して計算された前記アクティビティ値に基づいて重みの歪みを判定するように構成された重み判定器（１２０）と、
前記重み判定器（１２０）により判定された前記複数の歪みの重み、前記画素ブロック（１０）の画素値及び前記画素ブロック（１０）に対する参照画素値に基づいて、前記画素ブロック（１０）に対する歪み表現を推定するように構成された歪み推定器（１３０）と
を備えることを特徴とする装置。
【請求項１８】
前記アクティビティ計算機（１１０）は、前記複数のサブグループ（３０）の各サブグループ（３０）と複数の画素（２０）を含み且つ前記サブグループ（３０）を内包する複数の潜在的な近傍画素（４０）の各々とに対して前記近傍画素（４０）内の画素値の分布を表す候補アクティビティ値を計算し、前記サブグループ（３０）に対する前記アクティビティ値として前記複数の候補アクティビティ値のうちの最小の候補アクティビティ値を選択するように構成されることを特徴とする請求項１７に記載の装置。
【請求項１９】
前記アクティビティ計算機（１１０）は、前記近傍画素（３０）内の垂直方向及び水平方向に隣接する画素（２０）の画素値の絶対値差分の和に基づいて前記候補アクティビティ値を計算するように構成されることを特徴とする請求項１８に記載の装置。
【請求項２０】
前記アクティビティ計算機（１１０）は、前記サブグループ（３０）を内包し、且つａ、ｂが１以上の正の整数であるとした場合に２a×２b画素（２０）の各ブロックとして前記複数の潜在的な近傍画素（４０）を識別するように構成され、前記複数の潜在的な近傍画素（４０）の１つの潜在的な近傍画素（４０）における前記サブグループ（３０）の位置は、前記複数の近傍画素（４０）の他の潜在的な近傍画素（４０）の各々における前記サブグループ（３０）の各位置と異なることを特徴とする請求項１８又は１９記載の装置。
【請求項２１】
前記アクティビティ計算機（１１０）は、前記サブグループ（３０）を内包し、且つ、ｃ、ｄが１以上の正の整数でありｃ≦ａ及びｄ≦ｂなる関係を有する場合に、前記フレーム（１）内の２c×２d格子（５０）上に位置決めされる各潜在的な近傍画素（４０）を識別するように構成されることを特徴とする請求項２０に記載の装置。
【請求項２２】
前記重み判定器（１２０）は、前記複数のサブグループ（３０）の各サブグループ（３０）に対して、前記サブグループ（３０）に対して判定された前記アクティビティ値と少なくとも１つのアクティビティ閾値とを比較し、前記複数のサブグループ（３０）の各サブグループ（３０）に対して、前記比較に基づいて前記歪みの重みを計算するように構成されることを特徴とする請求項１７乃至２１のいずれか１項に記載の装置。
【請求項２３】
前記画素ブロック（１０）は量子化パラメータ値を割り当てられ、
前記重み判定器（１２０）は、前記複数のサブグループ（３０）の各サブグループ（３０）に対して、前記サブグループ（３０）に対して判定された前記アクティビティ値がアクティビティ閾値を上回る場合は前記歪みの重みが既定の定数に等しいと判定し、前記複数のサブグループ（３０）の各サブグループ（３０）に対して、前記サブグループ（３０）に対して判定された前記アクティビティ値が前記アクティビティ値を下回る場合に前記画素ブロック（１０）に割り当てられた前記量子化パラメータ値に基づいて前記歪みの重みを判定するように構成されることを特徴とする請求項２２に記載の装置。
【請求項２４】
前記画素ブロック（１０）は前記量子化パラメータ値に基づいて前記画素ブロック（１０）に対して選択されたラグランジュ乗数を割り当てられ、
前記重み判定器（１２０）は、前記複数のサブグループ（３０）の各サブグループ（３０）に対して、ｆが１以上の因数であり、λNが前記画素ブロック（３０）に対する前記ラグランジュ乗数を示し、λMが前記フレーム（１０）内の隣接画素ブロックに対するラグランジュ乗数を示すとした場合、前記サブグループ（３０）に対して判定された前記アクティビティ値が前記アクティビティ閾値を下回る場合に前記歪みの重みｋが、ｋ＝ｆ×λN／λMであると判定するように構成されることを特徴とする請求項２３に記載の装置。
【請求項２５】
前記フレーム（１）内の各画素ブロック（１０）に対して、前記画素ブロック（１０）内の画素値の分布を表すブロックアクティビティを計算するように構成されたブロックアクティビティ計算機（１４１）と、
前記画素ブロック（１０）に割り当てられた前記各量子化パラメータ値に基づいて、前記フレーム（１）の前記画素ブロック（１０）を複数のカテゴリに分割するように構成されたブロック分類器（１４３）と、
前記複数のカテゴリの各カテゴリに対して、最も高いブロックアクティビティを有する画素ブロックを識別するように構成された画素ブロック識別器（１４５）と、
前記画素ブロック識別器（１４５）により識別された前記画素ブロックに対して計算された前記アクティビティ値に基づいて、前記少なくとも１つのアクティビティ閾値を計算するように構成された閾値計算機（１４７）と
を更に有することを特徴とする請求項２２乃至２４のいずれか１項に記載の装置。
【請求項２６】
前記画素ブロック（１０）に割り当てられた前記各量子化パラメータ値に基づいて、前記フレームの前記画素ブロック（１０）を複数のカテゴリに分割するように構成されたブロック分類器（１４３）と、
前記複数のカテゴリの各々に属する前記フレーム（１）内の前記画素ブロック（１０）の各割合を計算するように構成された割合計算機（１４９）と、
前記割合計算機（１４９）により計算された前記各割合に基づいて、前記少なくとも１つのアクティビティ閾値を計算するように構成された閾値計算機（１４７）と
を更に有することを特徴とする請求項２２乃至２４のいずれか１項に記載の装置。
【請求項２７】
前記歪み推定器（１３０）は、前記歪み表現Ｄを
0005554831.tif 000010
として計算するように構成される、
ここで、ｐijは前記画素ブロック（１０）内の画素位置ｉ，ｊにおける画素値を示し、ｑijは画素位置ｉ，ｊにおける参照画素値を示し、ｋijは前記画素ブロック（１０）内の画素位置ｉ，ｊにおけるサブグループ（３０）の歪みの重みを示し、ｎは１以上の正数を示し、前記画素ブロック（１０）がＭ×Ｎ個の画素（２０）を含むとしている
ことを特徴とする請求項１７乃至２６のいずれか１項に記載の装置。
【請求項２８】
前記歪み表現、前記画素ブロック（１０）に割り当てられた量子化パラメータ値に基づいて前記画素ブロック（１０）に対して選択されたラグランジュ乗数、並びに前記量子化パラメータに基づいて生成された前記画素ブロック（１０）の符号化バージョンのビットコストを表すレート値に基づいて、前記画素ブロック（１０）に対するレート歪み値を計算するように構成されたレート歪み計算機（１５０）を更に備えることを特徴とする請求項１７乃至２７のいずれか１項に記載の装置。
【請求項２９】
画素ブロック（１０）を符号化するように構成され、且つ複数の使用可能な符号化モードの集合の各符号化モードに従って前記画素ブロックを疑似符号化するように構成された符号器（２００）であって、
前記レート歪み計算機（１５０）が前記複数の使用可能な符号化モードの各々に対するレート歪み値を計算するように構成される請求項２８に記載の歪み表現を推定する装置（１００）と、
前記複数の使用可能な符号化モードの中から前記レート歪み値を最小化する符号化モードを選択するように構成されたモード選択器（２７０）とを備え、前記モード選択器（２７）により選択された前記符号化モードに従って前記画素ブロック（１０）を符号化することにより前記画素ブロック（１０）の符号化バージョンを生成するように構成されることを特徴とする符号器（２００）。
【請求項３０】
画素（２０）から構成される複数のマクロブロックブロック（１０）を含むフレーム（１）を符号化するように構成された符号器（２００）であって、
各マクロブロック（１０）に対して、前記マクロブロック（１０）に対する画素値の分布を表すマクロブロックアクティビティを計算するように構成されたブロックアクティビティ計算機（２１０）と、
前記ブロックアクティビティ計算機（２１０）により計算された前記各マクロブロックアクティビティに基づいて、少なくとも低アクティビティマクロブロック又は高アクティビティマクロブロックとして前記複数のマクロブロック（１０）を分類するように構成されたブロック分類器（２２０）と、
各マクロブロック（１０）に対して、前記ブロックアクティビティ計算機（２１０）により計算された前記ブロックアクティビティに基づいて量子化パラメータを選択し、低アクティビティマクロブロックとして分類されたマクロブロック（１０）に小さい量子化パラメータ値を割り当て、高アクティビティマクロブロックとして分類されたマクロブロック（１０）に前記小さい量子化パラメータ値より大きい量子化パラメータ値を割り当てるように構成された量子化選択器（２４０）と、
前記複数のマクロブロック（１０）の各マクロブロック（１０）に対して：
前記マクロブロック（１０）内の複数のサブグループ（３０）のうちの少なくとも１つの画素（２０）から成る各サブグループ（３０）に対して、複数の画素（２０）を含み且つ前記サブグループ（３０）を内包する近傍画素（４０）内の画素値の分布を表すアクティビティ値を計算するように構成されたアクティビティ計算機（１１０）と、
前記アクティビティ計算機（１１０）により計算された前記各アクティビティ値に基づいて低アクティビティサブグループ又は高アクティビティサブグループとして前記複数のサブグループ（３０）の各々を分類するように構成されたサブグループ分類器（２３０）と、
高アクティビティマクロブロック内の各低アクティビティサブグループに対して既定の定数より大きい歪みの重みを判定し且つ低アクティビティマクロブロック内の各サブグループ及び高アクティビティマクロブロック内の各高アクティビティサブグループに対して前記既定の定数に等しい歪みの重みを割り当てるように構成された重み判定器（１２０）と、
複数の使用可能な符号化モードの集合のうち、ラグランジュコスト関数Ｊ＝Ｄ＋λ×Ｒを最小化する前記符号化モードを選択するように構成されたモード選択器（２７０）と、
ここで、Ｄは、
0005554831.tif 000011
と等しい歪を示し、
ｐijは前記マクロブロック（１０）内の画素位置ｉ，ｊにおける画素値を示し、ｑijは前記マクロブロック（１０）内の画素位置ｉ，ｊにおける再構成画素値を示し、ｋijは前記マクロブロック（１０）内の画素位置ｉ，ｊにおけるサブグループ（３０）の歪みの重みを示し、ｎは１以上の正数を示し、λは前記マクロブロック（１０）に対する前記量子化パラメータ値に基づいて前記マクロブロック（１０）に対して選択されたラグランジュ乗数を示し、Ｒは前記マクロブロック（１０）に対して前記量子化パラメータ値を使用する符号化モードに従って取得された前記マクロブロック（１０）の符号化バージョンのビットコストを表すレート値を示しており、
前記符号器は、前記モード選択器（２７０）により選択された前記符号化モードに従って前記マクロブロック（１０）を符号化するように構成されることを特徴とする符号器（２００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、画素ブロックに対する歪みの重み付けに関し、特に、画素ブロックの符号化と関連して使用可能である歪みの重み付けに関する。
【背景技術】
【０００２】
ビデオ符号化規格は、ビデオデータの符号化後の表現に対する構文を定義する。復号に対するビットストリーム構文のみが特定されるため、符号器を柔軟に設計できる。また、ビデオ符号化規格は、画質の最適化とビットレートの低減との間の妥協点を考慮に入れる。
【０００３】
量子化パラメータは、符号器内の量子化器又はデータ圧縮器のステップサイズを調整するために使用可能である。一般に、符号化ビデオの品質及びビットレートは、符号器により採用される量子化パラメータの特定の値に依存する。従って、粗い量子化は少ないビットを使用してビデオシーンを符号化するものの、画質を低下させる。細かい量子化はより多くのビットを使用してビデオシーンを符号化するが、通常は高画質である。
【０００４】
主観的ビデオ圧縮利得は、量子化パラメータ（ＱＰ）がビデオシーン又はフレーム内で変更されるいわゆる適応量子化を用いて達成可能である。一般に、適応量子化において、小さいＱＰは平滑なテクスチャを有する領域に使用され、大きいＱＰは空間アクティビティの高い領域に使用される。人間の視覚系が平滑領域内の歪みを容易に検出するのに対して、テクスチャがより細かい画像における同一量の歪みは気付かれないため、これはよい着想である。
【０００５】
特許文献１において、ビットレート予測に基づくビデオフレームの適応量子化が開示される。適応量子化は、符号化アーチファクトが人間の視覚系で気付きにくいビデオフレームの部分において量子化を増加し、符号化アーチファクトが人間の視覚系で気付きやすい部分において量子化を減少する。
【０００６】
ＱＰ値を適応して増減する既存の解決策に関する制限は、ＱＰの適応性が現在のビデオ符号化規格に従ってマクロブロック単位、すなわち１６×１６画素のブロックでのみ変更可能であることである。
【０００７】
図１は、ＱＰの適応性におけるこの制限により生じる問題を示す。従来技術の解決策において、平滑であると分類されて小さいＱＰ値を取得するためには、マクロブロック全体が平滑である必要がある。その結果、図１に示すように、平滑な背景上の高アクティビティオブジェクトの周囲に明確に視認できるリンギングが発生する。図のグレーで均一な部分は、従来技術に従ってマクロブロックが平滑であると分類されるフレームの部分を表す。リンギング効果は、平滑な芝生の背景上のフットボール選手により表される高アクティビティオブジェクトの周囲で明らかである。
【０００８】
簡単な解決策は、小さいＱＰ値を割り当てられるマクロブロックのグループにおいて部分的に平滑であるマクロブロックを増加することである。しかし、それらのマクロブロックの全てに対してＱＰを減少すると非常に多くのビットが必要となるため、実際に有用であるためにはビットレートが増加しすぎる。
【０００９】
従って、従来技術のリンギングアーチファクトを低減でき且つビデオ符号化と関連して使用可能である解決策が必要とされる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】米国特許第６，８３１，９４７Ｂ１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
全体的な目的は、向上された歪み表現を提供することである。
【００１２】
特定の目的は、フレームの画素ブロックの符号化と関連して使用可能な歪み表現を提供することである。
【課題を解決するための手段】
【００１３】
簡潔に述べると、歪み表現はフレームの画素ブロックに対して推定される。画素ブロックは、重なり合わないのが好ましい複数のサブグループに分割される。その場合、そのような各サブグループは画素ブロックの少なくとも１つの画素を含む。アクティビティ値又は表現は各サブグループに対して判定され、その場合、アクティビティ値は、複数の画素を含み且つサブグループを内包する近傍画素内の画素値の分布を表す。
【００１４】
歪みの重みは、アクティビティ値に基づいてサブグループに対して判定される。画素グループのサブグループに対して判定された歪みの重みは、画素ブロックに対する歪み表現を推定するために、画素ブロックの画素値及び画素ブロックに対する再構成画素値又は予測画素値等の参照画素値と共に採用される。従って、歪みの重みにより、画素ブロックの画素は画素ブロックの他の画素より多く歪み表現に寄与する。
【００１５】
歪み表現を推定する装置は、画素ブロックの各サブグループに対してアクティビティ値を計算するように構成されたアクティビティ計算機を備える。重み判定器は、各アクティビティ値に基づいてサブグループに対するそれぞれの歪みの重みを判定する。その後、画素ブロックに対する歪み表現は、複数の歪みの重み、画素ブロックの画素値及び参照画素値に基づいて歪み推定器により推定又は計算される。
【００１６】
歪み表現は、マクロブロックに対する適切な符号化モードを選択するためにフレームの符号化と関連して有利に採用されてもよい。そのような場合、マクロブロックアクティビティは、マクロブロック内の画素値の分布を表すものとして、フレームの各マクロブロックに対して計算される。フレームのマクロブロックは、マクロブロックアクティビティに基づいて、低アクティビティマクロブロック及び高アクティビティマクロブロック等の少なくとも２つのカテゴリに分類される。低アクティビティマクロブロックは小さい量子化パラメータ値を割り当てられ、高アクティビティマクロブロックは大きい量子化パラメータ値を割り当てられる。
【００１７】
アクティビティ値は、前述のようにマクロブロックの各サブグループに対して判定される。サブグループは、アクティビティ値に基づいて低アクティビティサブグループ又は高アクティビティサブグループとして分類される。低アクティビティマクロブロック内のサブグループ及び高アクティビティマクロブロックの高アクティビティサブグループの歪みの重みは、既定の因数に等しくなるように設定される。しかし、高アクティビティマクロブロック内の低アクティビティサブグループに対する歪みの重みは既定の因数より大きいと判定され、各マクロブロックに割り当てられた量子化パラメータ値に基づいて判定されるのが好ましい。
【００１８】
歪みの重みは、マクロブロックに対するレート歪み値を取得するためにレート値と共に使用されるマクロブロックに対する歪み表現を判定するために採用される。その場合、マクロブロックは種々の符号化モードに従って疑似符号化され、そのような各モードに対してレート歪み値が計算される。マクロブロックに対して使用する符号化モードは、レート歪み値に基づいて選択される。
【００１９】
更に一実施形態は、フレームを符号化する符号器に関する。符号器は、フレーム内のマクロブロックに対する各マクロブロックアクティビティを計算するブロックアクティビティ計算機と、マクロブロックアクティビティに基づいて低アクティビティマクロブロック又は高アクティビティマクロブロック等の少なくとも２つのカテゴリにマクロブロックを分類するブロック分類器とを備える。量子化選択器は、マクロブロックアクティビティに基づいてマクロブロックに対する量子化パラメータ値を選択する。サブグループ別のアクティビティ値はアクティビティ計算機により判定され、低アクティビティサブグループ又は高アクティビティサブグループとしてサブグループを分類するためにサブグループ分類器により採用される。重み判定器は、低アクティビティマクロブロック内のサブグループ及び高アクティビティマクロブロックの低アクティビティサブグループに対する歪みの重みが既定の因数に等しいと判定し、高アクティビティマクロブロック内の低アクティビティサブグループは既定の因数より大きい歪みの重みを取得する。
【００２０】
その後、マクロブロックは、使用可能な符号化モードの各々に従って符号器により疑似符号化される。そのような各符号化モードに対して、レート歪み値は、重み付けされた歪み表現及びその特定の符号化モードに対するレート値に基づいて判定される。モード選択器は、最も適切な符号化モード、すなわちマクロブロックに対するレート歪み値を最小化する符号化モードを選択する。その後、符号器はこの選択された符号化モードに従ってマクロブロックを符号化する。
【００２１】
フレームの符号化と関連して使用される場合、歪みの重みにより、量子化パラメータ値を減少することにより達成可能なビットコストよりはるかに低いビットコストでリンギング及びモーションドラッグのアーチファクトを低減できる。
【００２２】
本発明は、その更なる目的及び利点と共に、以下の説明及び添付の図面を参照することにより最もよく理解されるだろう。
【図面の簡単な説明】
【００２３】
【図１】図１は、従来技術に係るリンギング効果の問題を示す図である。
【図２】図２は、一実施形態に係る画素ブロックに対する歪み表現を生成する方法を示すフローチャートである。
【図３】図３は、一実施形態に係る複数の画素を含む画素ブロックを有するフレームを概略的に示す図である。
【図４】図４は、図２のアクティビティ値判定ステップの一実施形態を示すフローチャートである。
【図５】図５は、アクティビティ値を判定するために複数の近傍画素を提供する一実施形態を概略的に示す図である。
【図６】図６は、アクティビティ値を判定するために複数の近傍画素を提供する別の実施形態を概略的に示す図である。
【図７】図７は、図１の従来技術と比較して、一実施形態の有利な効果を示す図である。
【図８】図８は、アクティビティ値を判定する異なる実施形態を概略的に示す図である。
【図９】図９は、図２の推定方法の追加のオプションステップを示すフローチャートである。
【図１０】図１０は、図２の推定方法の追加のオプションステップを示すフローチャートである。
【図１１】図１１は、図２の推定方法の追加のオプションステップを示すフローチャートである。
【図１２】図１２は、一実施形態に係るマクロブロックのフレームを符号化する方法を示すフローチャートである。
【図１３】図１３は、適応量子化方式と関連する一実施形態の応用例を概略的に示す図である。
【図１４】図１４は、一実施形態に係るインター符号化に対する動き推定の概念を概略的に示す図である。
【図１５】図１５は、一実施形態に係る歪み生成装置を概略的に示すブロック図である。
【図１６】図１６は、図１５の歪み推定装置の閾値提供器の一実施形態を概略的に示すブロック図である。
【図１７】図１７は、図１５の歪み推定装置の閾値提供器の別の実施形態を概略的に示すブロック図である。
【図１８】図１８は、一実施形態に係る符号器を概略的に示すブロック図である。
【図１９】図１９は、一実施形態に係る符号器の構造を概略的に示すブロック図である。
【発明を実施するための形態】
【００２４】
図中、同一の図中符号は同様又は対応する要素に対して使用される。
【００２５】
実施形態は、一般に、画素ブロック内の画素の特徴が画素ブロックに対する歪み表現を反映し且つそれに影響を及ぼし得るフレームの画素ブロックの処理に関する。そのため、実施形態は、画素の特徴又は値のばらつきが少ない平滑な画素部分及び画素の特徴のばらつきが多いためアクティビティが比較的高い画素部分の双方を含む画素ブロックを処理する効率的な技術を提供する。
【００２６】
実施形態の新規の歪み表現は、例えば適切な符号化又は復号モードを選択し、動き推定を実行し且つ符号化及び復号において考慮される符号化又は復号モードの数を減少することにより、画素ブロック及びフレームの符号化及び復号において有用なツールを提供する。
【００２７】
実施形態の理解を容易にするために、最初に図２を参照して一般的な一実施形態を説明する。図２は、フレームの画素ブロックに対する歪み表現を推定する方法を示すフローチャートである。
【００２８】
実施形態によると、図３に示すフレーム１は、各々が複数の画素２０を含む多くの画素ブロック１０から構成される。各画素は、オプションで複数の成分から成る色値等の各自の画素の特徴又は値を有する。当分野において既知であるように、通常、各画素は赤色、緑色、青色（ＲＧＢ）の形式の色値を含み、従って、ＲＧＢトリプレットとして表される。しかし、フレームの符号化及び復号において、通常、画素のＲＧＢ値はＲＧＢ形式から対応する輝度（Ｙ）及びクロミナンス（ＵＶ）値、すなわちＹＵＶ形式等に変換される。一般的な例は、ＹＵＶ４：２：０を使用することであり、この場合、輝度は最大解像度であり、クロミナンス成分は水平軸及び垂直軸の双方において半分の解像度を使用する。従って、本明細書中で使用される画素値は、輝度値、クロミナンス値、又は輝度値及びクロミナンス値の双方であってもよい。あるいは、実施形態に従って、ＲＧＢ形式、別の色形式又は輝度／クロミナンス形式の画素値が代わりに使用されてもよい。
【００２９】
画素ブロック１０は、α、βが１以上の正の整数であり且つ好ましくはα＝βである２α×２β個の画素を含むのが好ましい。画素ブロック１０は、フレーム１の符号化及び復号において一括処理されるフレーム１の重なり合わない最小エンティティであるのが好ましい。従って、そのような画素ブロック１０の好適な実現例は、１６×１６個の画素２０を含むいわゆるマクロブロックである。当分野において周知であるように、マクロブロック１０は、適応ＱＰ（量子化パラメータ）を用いる符号化及び復号において個別のＱＰを割り当てられる最小エンティティである。従って、実施形態は、マクロブロックである画素ブロック１０に対する歪み表現の推定に特に適している。以下において、画素ブロックの例示的で好適な例としてマクロブロックを参照して本発明を更に説明する。
【００３０】
フレーム１はビデオシーケンスのフレーム１であるのが好ましいが、（個別の）静止画像のフレーム１であってもよい。
【００３１】
図２の方法の第１のステップＳ１は、マクロブロック（画素ブロック）に対する複数のサブグループを定義することに関係する。これらのサブグループの各々は、マクロブロックの少なくとも１つの画素を含む。本明細書中で更に説明するように、サブグループはマクロブロックの単一の画素又はマクロブロックの複数の画素、すなわち少なくとも２つの画素を含むことができる。しかし、サブグループは実際は真のサブグループである。これは、サブグループ内の画素数がマクロブロックの画素の総数より少ないことを意味する。
【００３２】
次のステップＳ２において、ステップＳ１で定義されたサブグループに対するアクティビティ値が判定される。アクティビティ値は、複数の画素を含み且つサブグループを内包する近傍画素における画素の特徴又は値の分布を表す。近傍画素は、含まれる画素の数に関して事前に定義されたサイズを有する画素のグループであり、サブグループの１つ又は複数の画素を内包するためにマクロブロックの内側に少なくとも部分的に位置決めされるが好ましい。サブグループが複数の画素を含む場合、近傍画素はサブグループのサイズに等しい事前に定義されたサイズを有してもよい。そのような場合、サブグループと近傍画素との間には１対１の関係が存在する。しかし、一般に、現在のサブグループの少なくとも１つの画素以外にフレームのより多くの画素を内包するために、近傍画素はサブグループより大きいことが好ましい。
【００３３】
アクティビティ値は、近傍画素内の画素値の分布のどんな表現であってもよい。限定しない例は、近傍画素における同一行又は同一列の隣接画素に対する画素値の絶対値差分の和を含む。
【００３４】
次のステップＳ３において、ステップＳ２でサブグループに対して判定されたアクティビティ値に基づいて、サブグループに対する歪みの重みが判定される。ステップＳ２及びＳ３は、ステップＳ１で定義されたマクロブロックの各サブグループに対して実行される。これを線Ｌ１により概略的に示す。その結果、各サブグループは、特定のサブグループに対して生成されたアクティビティ値に基づいて判定されたそれぞれの歪みの重みを割り当てられる。更に、歪みの重みは、第１のアクティビティを表すアクティビティ値を有するサブグループに対する歪みの重みが第１のアクティビティより比較的小さい第２のアクティビティを表すアクティビティ値を有するサブグループに対する歪みの重みより小さいと判定されるのが好ましい。換言すると、高アクティビティサブグループに対する歪みの重みは低アクティビティサブグループに対する歪みの重みより小さいのが好ましく、この場合、サブグループのアクティビティはアクティビティ値により表される。
【００３５】
少なくとも１つの画素から成る各サブグループに歪みの重みを付与されるため、歪みの重みによりマクロブロック内の画素のアクティビティを個別に評価及び補償できる。更に、好適な一実施形態において、マクロブロック内のどの低アクティビティサブグループもマクロブロック内のどの高アクティビティサブグループに対する歪みの重みより比較的大きい歪みの重みを割り当てられる。これは、歪み表現の判定においてマクロブロックの低アクティビティサブグループにより大きい重みが付与され、従って、マクロブロックに対するより高い重要性を付与されることを意味する。
【００３６】
ステップＳ３において各サブグループにそれぞれの歪みの重みが割り当てられると、ステップＳ４へ進み、マクロブロックに対する歪み表現がステップＳ３からの複数の歪みの重み、マクロブロックの画素値及びマクロブロックに対する参照画素値から推定される。従って、歪み表現Ｄは歪みの重み、画素値及び参照値の関数であり、すなわち、Ｄ＝ｋij×ｆ（ｐ，ｑ，ｎ，ｉ，ｊ）である。式中、ｐは現在のフレームを示し、ｑは現在のフレームに対する参照フレームを示し、ｎは現在のフレームにおける現在のマクロブロックの番号を示し、ｉ，ｊはマクロブロックにおけるサブグループの画素座標であり、ｋijは画素座標（ｉ，ｊ）を有するサブグループに対する歪みの重みを示す。
【００３７】
参照画素値は、現在のマクロブロックに対する参照として採用される参照マクロブロックの画素値である。これは、歪み表現が参照画素値とマクロブロックの現在の画素値及び好ましくは元の画素値との間の差分を示す歪み又はエラー値であることを意味する。ステップＳ４において採用される特定の参照マクロブロックは、歪み表現の目的に依存する。例えばフレームの符号化において、異なる符号化モードがマクロブロックに対してテストされ、そのような各符号化モードに対して、マクロブロックの元の画素値が候補符号化マクロブロックを取得するためにモードに従って最初に符号化され、候補符号化マクロブロックは再構成画素値を取得するために復号される。元の画素値と再構成画素値との間の差分は、歪み表現の推定において歪みの重みと共に利用される。従って、以下の符号化及び復号において取得された再構成画素値は、実施形態に係る参照画素値の一例である。歪み表現の別の応用例は、インター（Ｐ又はＢ）符号化マクロブロックに対する適切な動きベクトルを見つけるための動き推定における。そのような場合、歪み表現は、マクロブロックの元の画素値と参照フレーム内の参照マクロブロックの動き補償画素との間の重みを付与された差分である。従って、そのような動き補償画素は実施形態に係る参照画素値の別の例である。従って、何らかの予測参照画素値、動き補償参照画素値、再構成参照画素値、あるいは符号化又は復号においてマクロブロックの参照値として採用される他の参照画素値は本明細書中で使用される参照画素値として考えられる。本明細書中の関連する特徴は、マクログロックと再構成マクロブロック、予測マクロブロック又は動き補償マクロブロック等の参照マクロブロックとの間の画素値の差分を反映する歪み又はエラーの表現が推定されることである。
【００３８】
ステップＳ４における歪み表現の推定は、従来技術に係る方法と根本的に異なる方法で実行される。当分野において、歪み表現はマクロブロックと参照マクロブロックとの間の画素値の差分に関して直接推定される。その場合、差分の重み付けは行われず、特に、マクロブロックの異なる部分のアクティビティを反映する差分の重み付けは行われない。
【００３９】
従って、実施形態の歪み表現により、歪み表現を判定する際にマクロブロック内の異なる画素に異なる重みを付与できる。その結果、歪み表現に対する寄与は、異なる歪みの重みを有する画素及びサブグループで異なり、従って、異なるアクティビティを有する画素及びサブグループで異なる。
【００４０】
画素値の差分の重み付けは、フレームの高アクティビティ領域と低アクティビティ領域との間の境界におけるリンギング及びモーションドラッグのアーチファクトを低減することによりマクロブロックの符号化及び復号を向上する。
【００４１】
ステップＳ１〜Ｓ４の動作は、フレーム内の単一のマクロブロックに対して１度実行される。しかし、方法は、フレームの複数のマクロブロックに対して実行されるのが有利である。これを線Ｌ２により概略的に示す。一実施形態において、全てのマクロブロックは、ステップＳ４で推定された歪み表現を割り当てられる。別の手法において、フレーム内の選択されたマクロブロックのみがステップＳ１〜Ｓ４により開示されるように処理される。例えばこれらのマクロブロックは、高アクティビティ画素領域及び低アクティビティ画素領域の双方を含み且つ通常は図１に示すようなフレームの高アクティビティ領域と低アクティビティ領域との境界において見つけられるマクロブロックであってもよい。これは、フレーム内の他のマクロブロックに対して、従来の重み付けされない歪み値が代わりに利用可能であることを意味する。
【００４２】
一実施形態において、図２のステップＳ１で定義されたサブグループは個別の画素であってもよい。従って、そのような場合、画素別アクティビティ値又は画素アクティビティがステップＳ２において判定される。画素ブロックが１６×１６画素のマクロブロックである場合、ステップＳ１において２５６個のサブグループが定義される。一般に、サブグループとして個別の画素を使用することにより、マクロブロック内の画素値の個々の変動を補償し且つ考慮することができるため、アクティビティ値、歪みの重み及び歪み表現の判定の性能が向上される。
【００４３】
アクティビティ値の判定における複雑さを軽減するために、ステップＳ１で定義されるサブグループは２つ以上の画素を含んでもよい。そのような場合、サブグループは重なり合わないサブグループであるのが好ましく、２m×２n画素のサブグループであるが好ましい。式中、ｍ、ｎは０（双方が０ある場合、各サブグループは上述のように単一の画素を含む）、１、２又は３である。好適な一実施形態において、ステップＳ１で定義されるサブグループは、２m×２m画素の重なり合わないサブグループである。例えばマクロブロックである画素ブロックのサイズが１６×１６画素より大きい場合、パラメータｍ、ｎは５以上の値を有することができる。一般に、２o×２o画素の２次画素ブロックに対して、サブグループが２次サブグループである場合、サブグループはｍが０又は正の整数であり且つｍ＜ｏである２m×２m画素から構成されてもよい。
【００４４】
このように複数の隣接画素をサブグループにグループ化すること及びサブグループ内の全画素に対して単一のアクティビティ値を判定することにより、複雑さ及び必要とされるメモリが大幅に減少する。例えば、個別の画素の代わりに２×２画素のサブグループを利用することにより、複雑さ及び必要とされるメモリは７５％軽減する。１６×１６画素のマクロブロックに対して４×４画素又は８×８画素等のより大きいサブグループを有することにより、複雑さは更に軽減する。
【００４５】
図４は、図２のアクティビティ値の判定の一実施形態を示すフローチャートである。方法は、図２のステップＳ１から続く。次のステップＳ１０において、複数の画素を含み且つ現在のサブグループを内包する潜在的な近傍画素が識別される。潜在的な近傍画素は、内包する画素数に関して事前に定義された形状及びサイズを有するのが好ましい。近傍画素がサブグループの少なくとも１つの画素を内包するためにはそれがサブグループと少なくとも同じサイズである必要があるため、近傍画素のサイズはステップＳ１で定義されたサブグループのサイズに更に依存する。一般に、アクティビティ値の品質の向上の見地から、サブグループより少なくとも多少多くマクロブロックの画素を内包するために、サブグループのサイズより大きいサイズを有する近傍画素を有することが好ましい。各サブグループが単一の画素のみを含む場合、これは必要条件である。しかし、近傍画素のサイズが大きいほど、アクティビティ値の計算は複雑になる。
【００４６】
近傍画素は、サブグループを内包し且つａ、ｂが１以上の正の整数である２a×２b画素のブロックとして識別されるのが好ましい。実施形態に従って使用可能である近傍画素の限定しない例は、１６×１６画素、８×８画素、４×４画素及び２×２画素を含む。しかし、近傍画素が２次ブロックである必要はなく、その代わりに、３２×８画素及び８×３２画素等の異なる形状のブロックであってもよい。これらの２つのブロックは、１６×１６の２次ブロックと同数の画素を有する。実際には、１６×１６、３２×８及び８×３２等の異なる形状の近傍画素を組み合わせることができる。これらの近傍画素の全てが同数の画素を有するため、アクティビティ値の正規化及び変倍は不要である。矩形ブロックは、８×８ブロックに対する１６×４又は４×１６画素、４×４ブロックに対する８×２及び２×８画素等、他のサイズの代わりに又はそれを補完するものとして使用可能である。実際は、アクティビティ値を計算する際に近傍画素毎の画素数に基づく正規化が容易に行われるため、画素数の異なる近傍画素を利用できる。
【００４７】
計算が単純であるアクティビティ値の計算の一実施形態は、現在のサブグループが近傍画素の中央に位置するように近傍画素を配置することである。しかし、その結果、非平滑領域（高アクティビティ）に近接する平滑領域（低アクティビティ）内のサブグループに高いアクティビティ値が付与されることになる。従って、より好適な一実施形態は、図４のステップＳ１１及びＳ１２に示すように実行される。
【００４８】
ステップＳ１１において、近傍画素がサブグループを内包するための第１の位置に位置決めされる場合の近傍画素内の画素値の分布を表す候補アクティビティ値が計算される。次に、近傍画素はサブグループを内包する別の位置に位置決めされ、新しい候補アクティビティ値が新しい位置に対して計算される。このように、一実施形態において、サブグループに対する近傍画素の複数の異なる位置がテストされ、候補アクティビティ値がそれらの位置の各々に対して計算される。これを線Ｌ３により概略的に示す。これは、潜在的な近傍画素におけるサブグループの位置が、ステップＳ１０において定義され且つステップＳ１１においてテストされる他の各潜在的な近傍画素におけるサブグループの各位置と異なることを意味する。
【００４９】
図５は、この概念を概略的に示す。４つの図は、本例において単一の画素から成るサブグループ３０を有するマクロブロック１０の一部分を示す。図５において、近傍画素４０は２×２画素のサイズを有し、図はサブグループ３０の単一の画素が近傍画素４０内の４つの可能な位置のうちの１つを占有するようなサブグループ３０に対する近傍画素４０の４つの異なる可能な位置を示す。
【００５０】
ステップＳ１１の一実施形態において、図５に示すように、サブグループに対する近傍画素の全ての可能な位置がテストされる。計算の複雑さを軽減するため、全ての可能な近傍画素の位置が考慮されるわけではない。例えば、左上角が奇数の水平又は垂直座標を有する全ての近傍画素は省略されてもよい。これは、候補アクティビティ値が計算される近傍画素が２×２格子上に配置されることを意味する。４×４格子、８×８格子等の他の格子サイズが代わりに使用されてもよい。一般に、２a×２b画素のブロックの形態をとる近傍画素は、ｃ、ｄが１以上の正の整数であり且つｃ≦ａ及びｄ≦ｂであるフレーム内の２c×２d格子上の位置に制限されてもよい。
【００５１】
図６は、サブグループ３０に対する近傍画素４０の可能な位置の数を制限する上記概念を示す。本例において、サブグループ３０は４×４個の画素を含み且つ近傍画素４０は８×８画素のブロックである。図は、２×２画素の格子５０を更に示す。２×２格子を使用することは、近傍画素４０がサブグループ３０を内包する際に９つの図示される位置に従ってのみ位置決め可能であることを意味する。これは、本例において、近傍画素の位置の数が２５個から９個に減少されることを意味する。
【００５２】
潜在的な近傍画素の全ての可能な位置がステップＳ１１においてテストされ且つ候補アクティビティ値がテストされた潜在的な各近傍画素に対して計算されると、ステップＳ１２へ進む。このステップＳ１２において、最小又は最低の候補アクティビティ値がサブグループに対するアクティビティ値として選択される。その後、図２のステップＳ３へ進み、歪みの重みは選択された候補アクティビティ値に基づいて判定される。
【００５３】
前述したように、（候補）アクティビティ値は（潜在的な）近傍画素内の画素値の分布を表す。種々のアクティビティ値が可能であり、実施形態に従って使用可能である。一例において、行及び列において隣接する画素間の絶対値差分がアクティビティ値を取得するために合計される。これは次式に対応する：
【数１】
0005554831.tif 000002
式中、Ｙx,yは２a×２b個の画素を含む近傍画素内の位置（ｘ，ｙ）における画素の画素値を示す。図８の上部分にこれを概略的に示す。このアクティビティ値は単に空間的なものであり、平滑なサブグループに小さいアクティビティ値を付与する。アクティビティ値は、水平及び垂直方向の画素値の差分のみに依存する。代替のアクティビティ値（Activity）は、より多くの方向、すなわち斜め方向の画素の差分に依存させるものである：
【数２】
0005554831.tif 000003
【００５４】
図８の下部分は、近傍画素内の垂直方向、水平方向及び斜め方向に隣接する画素の画素値の絶対値差分の和に基づくアクティビティ値の本実施形態を示す。
【００５５】
上述のアクティビティ値の実施形態の単純な変形例は、画素値の絶対値差分ではなく画素値の平方差分を使用することである。実際、近傍画素内の画素値の分布を反映するどんな値も実施形態に従って使用可能である。
【００５６】
サブグループの他のアクティビティ値が使用されてもよく、実施形態は上述の空間アクティビティのみに限定されない。
【００５７】
サブグループに対するアクティビティ値に基づいて図２のステップＳ３で判定される歪みの重みは、通常、アクティビティ値の関数として判定される。一実施形態において、歪みの重みはアクティビティ値に比例して判定される。しかし、指数関数及び対数関数等の他の関数が考慮されてもよい。
【００５８】
一般に、高アクティビティサブグループに対する歪みの重みは、低アクティビティサブグループに対する歪みの重みより小さい必要がある：
【数３】
0005554831.tif 000004
式中、Ｖは何らかの既定の定数であり、好ましくは１である。
【００５９】
アクティビティ値に基づいて歪みの重みを判定するために使用する関数は、フレーム内のマクロブロックにＱＰ値を割り当てるために採用される適応ＱＰ法に更に基づくように構成可能である。例えば、マクロブロックＭ及びマクロブロックＮがフレーム内の隣接するマクロブロックであると仮定する。更に適応ＱＰ法により、小さいＱＰ値がマクロブロックＭに割り当てられ、大きいＱＰ値がマクロブロックＮに割り当てられた。従って、マクロブロックＭは空間アクティビティ及び画素値の変動が少ないフレームの平滑領域に対応する。一方、マクロブロックＮはアクティビティが高いため、画素値の変動が大きい。しかし、マクロブロックＭに近接するマクロブロックＮ内の画素の一部は、実際はフレームの平滑（背景）領域に属するため、画素アクティビティが低い。従って、アクティビティ値から歪みの重みへの関数は、歪みの重みの効果がマクロブロックＭ及びＮに対して使用された量子化パラメータによるラムダ効果と相関するようなものであってもよい。当分野において周知であるように、レート歪み項Ｊ＝Ｄ＋λ×ｂｉｔｓは、符号化／復号において採用されることが多い。式中、Ｄはマクロブロックに対する歪みであり、ｂｉｔｓはマクロブロックを符号化するために必要なビット数を示し、λはラグランジュ乗数であり且つレート歪みの項に対する歪み及びビットの相対寄与を定義する。通常、λはマクロブロックを符号化するために使用される量子化パラメータ値の関数である。従って、当分野において、各ＱＰ値は、多くの場合にテーブルに格納される対応するラムダ値を有する。各ＱＰに使用する値は実験により見つけられ、通常、ラムダ値はＱＰ値の増加に伴い単調に増加する。
【００６０】
本例において、マクロブロックＭは量子化パラメータ値ＱＰMを用いて符号化され且つマクロブロックＮは量子化パラメータ値ＱＰNを用いて符号化されると仮定する。これらの量子化パラメータ値は、以下のラムダ値が２つのマクロブロックに対してそれぞれ選択されるλM及びλNであることを意味する。量子化による効果と同一の効果をラムダに対して得るために、マクロブロックＮ内の低アクティビティ画素に対する歪みの重みをλN／λMとする。あるいは、歪みの重みはｆλN／λMと定義されてもよい。式中、ｆは１以上の因数である。そして、マクロブロックＮ内の高アクティビティ画素に対する歪みの重みは〜１．０に設定される。
【００６１】
他の手法において、マクロブロックＮはＱＰL＜ＱＰNであるより小さい量子化パラメータ値を用いて符号化される。マクロブロックＮ内の低アクティビティ画素に対して使用する歪みの重みはｆλL／λMになる。この場合、マクロブロックＮ内の高アクティビティ画素に対する歪みの重みは、１である既定の定数に等しく設定されるのではなく、ｆλL／λNに設定されるのが好ましい。選択された量子化パラメータ値ＱＰLは、ＱＰM＜ＱＰL＜ＱＰNであるのが好ましく、ＱＰL=｛ＱＰM＋ＱＰN｝／２であるように選択可能であるが、値ＱＰMとＱＰNとの間の値である必要はない。
【００６２】
実際、低アクティビティを表すアクティビティ値により比較的高いアクティビティを表すアクティビティ値と比較して大きい歪みの重みが付与される限り、アクティビティ値に基づいて歪みの重みを判定できるどんな関数が実施形態に従って使用されてもよい。
【００６３】
特定の一実施形態において、８×８画素のサブグループのサイズ、８×８画素の格子及び８×８画素の近傍画素を使用できる。これは、８×８ブロックに対して考えられるマクロブロックアクティビティに対応する。この特別な例の場合、１６×１６ブロックではなく８×８ブロックに対して動作するように適応ＱＰ法を変更してもよい。仮想ＱＰ値は８×８ブロックの各々に割り当てられ、マクロブロックのＱＰ値は８×８ブロックの仮想ＱＰ値に依存して設定される。４つの８×８ブロックのうちの３つのブロックに同一のＱＰ値が割り当てられる場合、使用されるマクロブロックのＱＰ値は８×８ブロックの数が多い方のＱＰ値に設定されてもよい。これらの８×８サブグループに対する歪みの重みは１である必要があるが、残りのサブグループに対する歪みの重みは、マクロブロックＭ及びＮの例において上述したように、仮想ＱＰと一致するように変更される必要がある。８×８サブグループの半数が１つの仮想ＱＰ値を有し且つ半数が別の仮想ＱＰ値を有する場合、マクロブロックのＱＰ値は、小さい仮想ＱＰ値、大きいＱＰ値又はそれらの間のＱＰ値ｎに設定されてもよい。全ての例に対して、歪みの重みは、上述のようなマクロブロックのＱＰ値と仮想ＱＰ値との間の差分を補償するために使用される必要がある。
【００６４】
歪みの重みに対する異なる値の数を減少するために、少なくとも１つの閾値がアクティビティ値を限られた数のカテゴリに分割するために使用可能であり、その場合、各カテゴリは歪みの重みを割り当てられる。例えば、単一の閾値を用いる場合、そのような閾値を上回るアクティビティ値は特定の歪みの重みを取得し、閾値を下回るアクティビティ値を有するサブグループ及び画素は別の歪みの重みを取得する。この概念を図９に概略的に示す。方法は、図２のステップＳ２から続く。次のステップＳ２０において、サブグループに対して判定されたアクティビティ値は少なくとも１つのアクティビティ閾値と比較される。その後、図２のステップＳ３へ進み、サブグループに対する歪みの重みは比較に基づいて判定される。
【００６５】
特定の一実施形態において、低アクティビティサブグループ、すなわち各自のアクティビティ値がアクティビティ閾値を下回るサブグループと高アクティビティサブグループ、すなわち各自のアクティビティ値がアクティビティ閾値を上回るサブグループとにサブグループ及び画素を区別するために、単一のアクティビティ閾値が採用される。
【００６６】
単一のアクティビティ閾値を用いる場合、高アクティビティサブグループに対する歪みの重みは、好ましくは１である既定の定数に等しいのが好ましい。その場合、低アクティビティサブグループは、既定の定数より大きいと判定された歪みの閾値を有してもよい。特定の一実施形態において、歪みの重みは、マクロブロックに対して判定された量子化パラメータ値に基づいて判定される。そのような場合、歪みの重みは、上述したように、現在のマクロブロック及びフレーム内の隣接するマクロブロックに割り当てられたラグランジュ乗数に基づく、ｋ＝ｆ×λN／λM 等の関数であってもよい。
【００６７】
実施形態は、単一のアクティビティ閾値の使用に限定されず、サブグループの３つ以上の異なるカテゴリを得るために複数の異なるアクティビティ値と関連して使用されてもよい。
【００６８】
少なくとも１つのアクティビティ閾値は固定されてもよく、すなわち既定値に等しくてもよい。これは、アクティビティ閾値毎に１つの同一の値がフレーム内の全てのマクロブロックに対して使用され、好ましくはビデオシーケンス内の全てのフレームに対して使用されることを意味する。
【００６９】
別の手法において、少なくとも１つのアクティビティ閾値の値は、適応ＱＰ法と関連して判定される。図１０を参照すると、ステップＳ３０において、各ブロックアクティビティはフレーム内の各マクロブロックに対して適応ＱＰ法で判定される。ブロックアクティビティは、マクロブロック内の画素値の分布を表す。ブロックアクティビティは、当分野において周知の技術に従って、ステップＳ３１においてマクロブロックに対する量子化パラメータを判定するために採用される。ステップＳ３２において、各マクロブロックは、上述のマクロブロックの量子化パラメータ及びマクロブロックのモードに基づいて定義されるのが好ましいラグランジュ乗数又はラムダ値を更に割り当てられる。ステップＳ３０〜Ｓ３２はフレーム内の全てのマクロブロックに対して実行されるのが好ましい。これを線Ｌ４により概略的に示す。その後、ステップＳ３３において、マクロブロックは、好ましくはブロックアクティビティに基づいてマクロブロックに対して判定された各量子化パラメータ値に基づいて、複数のカテゴリに分割される。次に、好ましくは各カテゴリに対して、あるいは複数のカテゴリの少なくとも一部に対して、最も高いブロックアクティビティを有するマクロブロックが識別される。ステップＳ３４において、少なくとも１つのアクティビティ閾値は、識別されたマクロブロックに対して判定されたアクティビティ値に基づいて判定されてもよい。その後、図２のステップＳ１へ進み、歪み表現が上述のように推定される。
【００７０】
特定の一実施形態において、アクティビティ閾値の値は、当該カテゴリに対する最も高いブロックアクティビティを有するマクロブロックの平均又は中央アクティビティ値に設定可能である。別の手法において、アクティビティ閾値は、カテゴリに対する最も高いブロックアクティビティを有するマクロブロック及びより大きいＱＰ値を有する次のカテゴリに対する最も低いブロックアクティビティを有するマクロブロックの平均又は中央アクティビティ値に設定される。この手法は、大部分の画素がそれぞれのカテゴリに維持されることにより、通常は当該カテゴリ内の他の画素と等しいか又は類似する歪みの重みを取得することを意味する。
【００７１】
別の手法において、少なくとも１つのアクティビティ閾値は、一定の割合のサブグループ又は画素がアクティビティ閾値を上回るか又は下回るアクティビティ値を有するように動的に判定される。そのような場合、フレームのマクロブロックは、各自のブロックアクティビティに基づいて判定されるのが好ましい各自の量子化パラメータ値に基づいて、異なるカテゴリに分割される。次に、異なるカテゴリに分割されたマクロブロックの各割合が計算され、それらの割合は少なくとも１つのアクティビティ閾値を計算するために使用される。例えば、マクロブロックの６０％を有する２つのマクロブロッククラスが最も低いアクティビティのマクロブロックを含むカテゴリに分類されると仮定する。そのような場合、（単一の）アクティビティ閾値の値は、最も低いアクティビティ値を有するサブグループの６０％がアクティビティ閾値を下回るアクティビティ値を有するように選択されてもよい。
【００７２】
挿入を単純化するために、歪みの重みを２の倍数に設定して乗算を回避してもよい。従って、歪みの重みは異なる正の整数値ｔに対して１／２t 、１、２tであってもよい。これは、重み付けがシフトのみで実現可能であることを示す。
【００７３】
ステップＳ４において推定された歪み表現は、
【数４】
0005554831.tif 000005
として判定されるのが好ましい。式中、ｐijは画素ブロック（マクロブロック）内の画素位置ｉ，ｊにおける画素値を示し、ｑijは画素位置ｉ，ｊにおける参照画素値を示し、ｋijは画素位置ｉ，ｊにおけるサブグループの歪みの重みを示し、ｎは１以上の正数を示し、画素ブロックはＭ×Ｎ個の画素を含み、好ましくは１６×１６個の画素を含む。平方差分の和、すなわちｎ＝２である例は、当分野において最も一般的な歪みの計測値である。当分野において一般に使用される別の歪みの計測値は絶対値差分の和であり、すなわちｎ＝１である例である。後者の歪みの計測値、すなわち歪みの重みを用いて変更されたＳＡＤは、動きの推定と関連して有利に使用される。
【００７４】
図７は、図１に示す図に対応するが一実施形態に従って処理された図である。図からわかるように、本明細書中で開示された実施形態により、平滑な背景上の高アクティビティオブジェクトの周囲のリンギング効果が減少される。
【００７５】
実施形態の歪み表現は、レート歪みパラメータＪ＝Ｄ＋λ×ｂｉｔｓのパラメータとして、マクロブロックの符号化及び復号と関連して利用可能である。そのような場合、ラグランジュ乗数又はラムダ値は、好ましくは適応ＱＰ手順においてマクロブロックに割り当てられた量子化パラメータ値に基づいて、マクロブロックに対して判定される。レートパラメータは、量子化パラメータに基づいて生成されたマクロブロックの符号化バージョンに対するビットコストを表す。その場合、レート歪み値又はラグランジュコスト関数は、実施形態の歪み表現の重み付けされた和及びラグランジュ乗数で重み付けされたレート値として取得される。
【００７６】
上記に従って判定されたレート歪み値は、フレームのマクロブロックの符号化と関連して使用可能である。そのような場合、方法は、歪みの重みが判定された図２のステップＳ３から続く。更に、適応ＱＰ法によりマクロブロックに対するブロックアクティビティが計算され、ＱＰ値が判定され且つラグランジュ乗数が選択されているように、図１０のステップＳ３０〜Ｓ３２が更に実行されているが好ましい。方法は、図１１のステップＳ４０へ進む。このステップは、複数の使用可能な符号化モードの集合のうちの１つに従ってマクロブロックを疑似符号化する。ステップＳ４１において、符号化マクロブロックに対するレート値が判定される。次に図２のステップＳ４へ進み、マクロブロックに対する歪み表現が推定される。この場合、ステップＳ４で採用された参照画素値は、疑似符号化マクロブロックの復号後に取得される再構成画素値である。歪み表現が推定されると、ステップＳ４２へ進み、レート歪み値がテストされた符号化モードに対するマクロブロックに対して計算される。その後、ステップＳ４０〜Ｓ４２の動作が他の使用可能な符号化モードの全てに対して繰り返される。これを線Ｌ５により概略的に示す。
【００７７】
当分野において周知であるように、マクロブロックは種々のモードに従って符号化可能である。例えば、マクロブロックに対して使用可能であるいくつかの可能なイントラ符号化モード、スキップモード及び多くのインター符号化モードが存在する。イントラ符号化の場合、異なる符号化方向が可能であり、インター符号化において、マクロブロックは異なる方法で分割可能であり且つ／又は異なる参照フレーム又は動きベクトルを使用できる。これは、ビデオ符号化の分野において全て既知である。
【００７８】
ステップＳ４０〜Ｓ４２を複数回実行した結果、各レート歪み値がテストされた各符号化モードから取得される。次にステップＳ４３において、マクロブロックに対して使用する特定の符号化モードが選択される。この符号化モードは、ステップＳ４２において計算されたモードの中で最も低いレート歪み値を有するモードであるのが好ましい。ステップＳ４４において、マクロブロックの符号化バージョンは選択された符号化モードに従ってマクロブロックを符号化することにより取得される。
【００７９】
歪み表現を推定又は計算するために実施形態に係る歪みの重みを使用することは、フレームのマクロブロックの少なくとも一部がテストされた符号化モードの一部に対して異なるレート歪み値を取得することを意味する。特に、高アクティビティ領域と低アクティビティ領域との間の境界のフレームに存在するマクロブロックは、符号化モードの一部に対して非常に異なるレート歪み値を取得する。その結果、より適切な符号化モードがそれらのマクロブロックに対して選択される。これは、それらのマクロブロックに対するＱＰ値を減少させた場合よりはるかに低いビットコストでのリンギング及びモーションドラッグのアーチファクトの低減として認識される。
【００８０】
標準的なビデオ符号化において、ステップＳ４３で選択された符号化モードは復号器へ送信される。しかし、復号器側のモード推定において、符号化マクロブロックに対して使用する復号モードは復号器で導出される。本明細書中で開示される実施形態は、そのような例において更に使用可能である。復号器において復号モードを判定する１つの方法は、テンプレートマッチングを使用することである。テンプレートマッチングにおいて、現在のマクロブロックの外側の、以前に復号された領域が、標準的なビデオ符号化における元のマクロブロックと同様に使用される。
【００８１】
実施形態の歪み表現は、フレームの符号化において適応ＱＰと組み合わせて有利に使用可能である。歪み表現のそのような応用例を図１２及び図１３を参照して更に説明する。複数のマクロブロックを含むフレームを符号化する方法において、各マクロブロックアクティビティはステップＳ５０で各マクロブロックに対して計算される。前述したように、マクロブロックアクティビティはマクロブロック内の画素値の分布を表し、例えば次式として定義可能である：
【数５】
0005554831.tif 000006
又は
【数６】
0005554831.tif 000007
【００８２】
Ｓ６０の符号化の適応ＱＰ法は、ステップＳ５１において複数のマクロブロックを分類する。例示的な一実施形態において、マクロブロックは、各自のマクロブロックアクティビティに基づいて、少なくとも低アクティビティマクロブロックＳ６１又は高アクティビティマクロブロックＳ６３として分類される。従って、複数のカテゴリへのマクロブロックの分割は、一方が低アクティビティマクロブロックであり他方が高アクティビティマクロブロックである２つのカテゴリを定義することにより実行可能である。当然、この手順は、マクロブロックの３つ以上のカテゴリを更に区別してもよい。
【００８３】
マクロブロックは、ステップＳ５１で割り当てられたカテゴリに従って適応ＱＰの量子化パラメータ値を更に割り当てられる。従って、ステップＳ５１で低アクティビティマクロブロックとして分類されたマクロブロックは小さいＱＰ値を割り当てられ（Ｓ６２）、高アクティビティのカテゴリに属するマクロブロックは小さいＱＰ値より大きいＱＰ値を割り当てられる（Ｓ６４）。
【００８４】
以下のステップＳ５２〜Ｓ５４の処理は各マクロブロックに対して実行されるのが好ましい。これを線Ｌ６により概略的に示す。ステップＳ５２において、マクロブロック内の複数のサブグループのうちの少なくとも１つの画素から成る各サブグループに対して、複数の画素を含み且つサブグループを内包する近傍画素内の画素値の分布を表すアクティビティ値が判定される（Ｓ６５）。このステップＳ５２は、基本的に図２のステップＳ２と同じ方法で実行され、本明細書中で更に説明しない。次にステップＳ５３／Ｓ６６において、マクロブロック内の複数のサブグループの各々は、ステップＳ５２で判定された各自のアクティビティ値に基づいて、低アクティビティサブグループＳ６７、Ｓ７０又は高アクティビティサブグループＳ６８として分類される。ステップＳ５３におけるサブグループの分類は、アクティビティ値とアクティビティ閾値との比較等の前述の技術のいずれかに従って実行可能である。
【００８５】
次のステップＳ５４において、サブグループに対する歪みの重みが判定される。ステップＳ５４の特定の一実施形態において、低アクティビティマクロブロックとして分類されたマクロブロックに属するサブグループＳ６７は、１等の既定の定数に等しい歪みの重みを割り当てられるのが好ましい（Ｓ６９）。この既定の定数は、高アクティビティサブグループＳ６８として分類される高アクティビティマクロブロック内のサブグループに歪みの重さとして更に割り当てられるのが好ましい。しかし、低アクティビティサブグループとして分類され且つ高アクティビティマクロブロックに属するサブグループＳ７０に対して、既定の定数より大きい歪みの重みが代わりに判定される（Ｓ７１）。それらの低アクティビティサブグループに対する歪みの重みは、前述したように、現在の高アクティビティマクロブロックに割り当てられたＱＰ値及び好ましくはフレーム内の隣接するマクロブロックに割り当てられたＱＰ値に基づいて有利に計算可能である。
【００８６】
その後、前述したレート歪み値に基づいて実行される符号化モード選択手順が行われる（Ｓ７２）。従って、ステップＳ５５において、マクロブロックは種々の使用可能な符号化モードに従って疑似符号化され、レート歪み値は各候補符号化モードに対する歪みの重みに基づいて計算される。マクロブロックに対するレート歪み値を最小化する符号化モードがステップＳ５６において選択され、ステップＳ５７において特定のマクロブロックを符号化するために使用される。尚、通常、ステップＳ５５〜Ｓ５７の動作は各ブロックに対して個別に実行される。これは、フレームの全てのマクロブロックが同一のマクロブロックの種類又はモードを用いて符号化される必要がないことを意味する。
【００８７】
歪みの重み及び歪みの重みを判定するために採用されたサブグループのアクティビティは、マクロブロックに対してテストされる符号化モードの数を減少するために更に使用可能である。従って、マクロブロックに対するサブグループのアクティビティ又は歪みの重みの分布により、マクロブロックが特定の符号化モードを使用して効果的に符号化されないこと、すなわち、その特定の符号化モードを用いて符号化された場合に非常に高いレート歪み値が生じることが明らかになる。そのような場合、使用可能な符号化モードの数が減少されるため、符号化処理の複雑さが大幅に軽減され且つマクロブロックの符号化が高速化する。
【００８８】
実施形態の歪みの重みは、符号化に対する候補マクロブロックモードの評価以外の他の応用例に対して更に使用可能である。例えば歪みの重みは、例えばＨ．２６４におけるマクロブロックの分割に対する動きベクトル候補を評価するために更に採用可能である。同一の歪みの重みが使用可能であり、レート歪み値を最小化する動きベクトルが選択される。図１４は、この概念を概略的に示す。現在のフレーム１内の現在のマクロブロック１０はインター符号化の対象であり、マクロブロック１０が参照フレーム２において存在した位置１４から参照フレーム２におけるマクロブロック予測１２までの動きを定義する動きベクトル１６が判定される。そのような場合、歪み表現の推定において使用される参照画素値は、マクロブロック予測１２の動き補償画素値である。
【００８９】
図１５は、歪み推定装置１００の一実施形態を概略的に示すブロック図である。歪み推定装置１００は、マクロブロック等の画素ブロック内の複数のサブグループのうちの少なくとも１つの画素を含む各サブグループに対するアクティビティ値を計算するように構成されたアクティビティ計算機１１０を備える。アクティビティ値は、複数の画素を含み且つサブグループを内包する近傍画素内の画素値の分布を表すのが好ましい。
【００９０】
重み判定器１２０は、サブグループに対する歪みの重みを判定するために、アクティビティ計算機１１０により判定されたアクティビティ値を使用する。アクティビティ計算機１１０及び重み判定器１２０は、画素ブロック内の各サブグループに対するアクティビティ値及び歪みの重みを判定するために動作されるのが好ましい。
【００９１】
歪み推定装置１００は、画素ブロックのサブグループに対して重み判定器１２０により判定された複数の歪みの重み、画素ブロックの画素値及び画素ブロックに対する参照画素値に基づいて画素ブロックに対する歪み表現を推定するように構成された歪み推定器１３０を更に備える。
【００９２】
アクティビティ計算機１１０は、前述のように、サブグループに対する複数の潜在的な近傍画素の各々に対する候補アクティビティ値を計算するように構成されるのが好ましい。その場合、アクティビティ計算機１１０は、サブグループに対して使用するアクティビティ値として、それらの複数の候補アクティビティ値のうちの最小の候補アクティビティ値を選択するのが好ましい。潜在的な近傍画素は、近傍画素のブロックにおけるサブグループの位置が他の近傍画素におけるサブグループの各位置と異なる画素のブロックである。前述のように、サブグループに対する潜在的な近傍画素の位置の数を減少するための格子がアクティビティ計算機１１０により利用可能である。
【００９３】
重み判定器１２０は、サブグループのアクティビティ値と少なくとも１つのアクティビティ閾値との比較に基づいてサブグループに対する歪みの重みを判定するのが好ましい。そのような場合、歪み推定装置１００は、オプションとして、重み判定器１２０により採用される少なくとも１つのアクティビティ閾値を提供するように構成された閾値提供器１４０を備えてもよい。
【００９４】
図１６は、閾値提供器１４０の可能な実現例の一実施形態を示すブロック図である。閾値提供器１４０は、フレーム内の各画素ブロックに対する各ブロックアクティビティを計算するように構成されたブロックアクティビティ計算機１４１を備える。ブロック分類器１４３は、ブロックアクティビティに基づいて画素ブロックに割り当てられた各量子化パラメータに基づいて、フレーム内の画素ブロックを複数のカテゴリに分割する。閾値提供器１４０は、複数のカテゴリのうちの少なくとも１つにおいて最も高いブロックアクティビティを有する画素ブロックを識別するように構成された画素ブロック識別器１４５を更に備える。その後、閾値計算機１４７は、画素ブロック識別器１４５により識別された画素ブロックに対して計算されたアクティビティ値に基づいて少なくとも１つのアクティビティ閾値を計算する。
【００９５】
図１７は、閾値提供器１４０の別の実現例の実施形態を示すブロック図である。閾値提供器１４０は、図１６の対応するブロック分類器と同様に動作するブロック分類器１４３を備える。割合計算機１４９は、ブロック分類器１４３により定義された複数のカテゴリの各々に属するフレーム内の画素ブロックの各割合を計算するように構成される。本実施形態において、閾値計算機１４７は、前述の技術に従って割合計算機により計算された各割合に基づいて少なくとも１つのアクティビティ閾値を計算する。
【００９６】
重み判定器１２０は、サブグループに対して判定されたアクティビティ値がアクティビティ閾値を上回る場合に歪みの重みが１等の既定の定数に等しいと判定し且つアクティビティ値がアクティビティ閾値を下回る場合に画素ブロックに割り当てられたＱＰ値に基づいて歪みの重みを判定するように構成可能である。後者の場合、歪みの重みは、前述のように、現在の画素ブロックに対するラグランジュ乗数及びフレーム内の隣接画素ブロックに対するラグランジュ乗数の比に基づいて判定可能である。
【００９７】
歪み推定装置１００は、オプションとして、歪み推定器１３０からの歪み表現及び画素ブロックの符号化バージョンのビットコストを表すレート値に基づいて、画素ブロックに対するレート歪み値を計算するように構成されたレート歪み（ＲＤ）計算機１５０を更に備えてもよい。
【００９８】
歪み推定装置１００は、ハードウェア、ソフトウェア又はハードウェア及びソフトウェアの組み合わせで実現可能である。ソフトウェアで実現される場合、歪み推定装置１００は、メモリに格納され且つ汎用又は専用コンピュータ、プロセッサ又はマイクロプロセッサにロードされて実行するコンピュータプログラムとして実現される。ソフトウェアは、歪み推定装置１００のアクティビティ計算機１１０、重み判定器１２０及び歪み推定器１３０の動作を実現するコンピュータプログラムコード要素又はソフトウェアコード部分を含む。図１５に示すような他のオプションであるが好適な装置は、メモリに格納され且つプロセッサにより実行されるコンピュータプログラムコード要素として更に実現されてもよい。プログラムの全て又は一部は、磁気ディスク、ＣＤ−ＲＯＭ，ＤＶＤディスク、ＵＳＢメモリ、ハードディスク、光磁気メモリ等の１つ以上の適切なコンピュータ可読媒体又はデータ記憶手段に、ＲＡＭ又は揮発性メモリに、ファームウェアとしてＲＯＭ又はフラッシュメモリに、あるいはデータサーバに格納されてもよい。
【００９９】
歪み推定装置１００は、コンピュータ、移動装置、あるいは他のビデオ又は画像処理装置又はシステムにおいて有利に実現可能である。
【０１００】
更に一実施形態は、図１８に示す符号器２００に関する。その場合、符号器２００は、複数の使用可能な符号化モードの集合のうちの各符号化モードに従って画素ブロックを疑似符号化するように構成される。本実施形態において、符号器２００は図１５に示す歪み推定装置１００を備える。すなわち、符号器２００は、アクティビティ計算機１１０、重み判定器１２０、歪み推定器１３０及びレート歪み計算機１５０を備える。そのような場合、レート歪み計算機１５０は、前述のように複数の使用可能な符号化モードの各々に対する各レート歪み値を計算する。符号器２００のモード選択器２７０は、複数の使用可能な符号化モードの中からレート歪み値を最小化する符号化モードを選択する。その後、符号器２００は、モード選択器２７０により選択された符号化モードに従って画素ブロックを符号化することにより、画素ブロックの符号化バージョンを生成する。
【０１０１】
符号器２００の別の一実施形態において、ブロックアクティビティ計算機２１０は、フレーム内の各マクロブロックに対するマクロブロックアクティビティを計算するように構成される。ブロック分類器２２０は、ブロックアクティビティ計算機２１０により計算されたマクロブロックアクティビティに基づいて、少なくとも低アクティビティマクロブロック又は高アクティビティマクロブロックとして複数のマクロブロックを分類する。
【０１０２】
符号器２００は、マクロブロックアクティビティに基づいて各マクロブロックに対する各ＱＰ値を選択するために実現された量子化選択器２４０を更に備える。そのような場合、低アクティビティマクロブロックは小さいＱＰ値を割り当てられ、高アクティビティマクロブロックは比較的大きいＱＰ値を割り当てられる。アクティビティ計算機１１０は、前述のようにマクロブロックのサブグループに対するアクティビティ値を計算するために動作する。サブグループ分類器２３０は、アクティビティ値に基づいて、低アクティビティサブグループ又は高アクティビティサブグループとしてサブグループを分類する。
【０１０３】
重み判定器１２０は、分類された低アクティビティマクロブロックに属するサブグループ及び高アクティビティマクロブロックの高アクティビティサブグループに既定の因数又は定数に等しい歪みの重みを割り当てる。しかし、高アクティビティマクロブロック内の低アクティビティサブグループに対する歪みの重みは、既定の因数より大きいと判定され、量子化選択器２４０によりそれらのマクロブロックに対して判定されたＱＰ値に基づいて計算されるのが好ましい。
【０１０４】
乗数判定器２５０は、量子化選択器２４０により判定されたＱＰ値に基づいてマクロブロックに対するラグランジュ乗数を判定するために、符号器２００において実現される。符号器２００は、マクロブロックの符号化バージョンのビットサイズ又はコストを表すレート値を導出するように構成されたレート計算機２６０を更に備える。その場合、レート歪み計算機１５０は、歪み推定器１３０からの歪み表現、乗数判定器２５０からのラグランジュ乗数及びレート計算機２６０からのレート値に基づいて、マクロブロックに対するレート歪み値を生成する。そのようなレート歪み値は、テストされた各符号化モードに対して計算され、モード選択器２７０は、異なるレート歪み値に基づいてマクロブロックに対して使用する符号化モードを選択できる。すなわち、モード選択器２７０は最も低いレート歪み値を生じる符号化モードを選択するのが好ましい。
【０１０５】
図１８に示す符号器２００は、ソフトウェア、ハードウェア又はそれらの組み合わせで実現可能である。ソフトウェアの場合、符号器２００は、メモリに格納され且つ汎用又は専用コンピュータ、プロセッサ又はマイクロプロセッサにロードされて実行するコンピュータプログラムとして実現される。ソフトウェアは、符号器２００のユニット１１０〜１３０、１５０、２１０〜２７０の動作を実現するコンピュータプログラムコード要素又はソフトウェアコード部分を含む。プログラムの全て又は一部は、磁気ディスク、ＣＤ−ＲＯＭ，ＤＶＤディスク、ＵＳＢメモリ、ハードディスク、光磁気メモリ等の１つ以上の適切なコンピュータ可読媒体又はデータ記憶手段に、ＲＡＭ又は揮発性メモリに、ファームウェアとしてＲＯＭ又はフラッシュメモリに、あるいはデータサーバに格納されてもよい。
【０１０６】
符号器２００は、コンピュータ、移動装置、あるいは他のビデオ又は画像処理装置又はシステムにおいて有利に実現可能である。
【０１０７】
図１９は、別の実施形態に係る符号器の構造３００を概略的に示す図である。符号器３００は、画素ブロックのインター予測バージョンに対して構成された動き推定部又は推定器３７０と、画素ブロックの対応するイントラ予測バージョンを生成するためのイントラ予測部又は予測器３７５とを備える。画素ブロック予測及び参照画素ブロックは、元の画素ブロックと参照又は予測画素ブロックとの間の特性値の差分として残留誤差を計算する誤差計算機３０５に転送される。残留誤差は、離散コサイン変換３１０等により変換され、量子化３１５を実行された後、エントロピ符号化３２０を実行される。
【０１０８】
現在の画素ブロックに対する変換及び量子化された残留誤差は、元の残留誤差の近似を検索するために、逆量子化器３３５及び逆変換器３４０に更に提供される。
【０１０９】
この元の残留誤差は、復号ブロックを計算するために、加算器３４５において動き補償部３６５又はイントラ復号器３６０から出力された参照画素ブロックに加算される。復号ブロックは、フレームの次の画素ブロックの予測及び符号化において使用可能である。この復号画素ブロックは、オプションとして、フレーム３５５に入力される前に最初に非ブロック化フィルタ３５０により処理されてもよく、イントラ予測器３７５、動き推定器３７０及び動き補償部３６５はこれを利用できる。
【０１１０】
符号器３００は、本明細書中で前述したように、各画素ブロックに対する特定の符号化モードを選択するように構成されたレート歪み選択器３８０を更に備える。
【０１１１】
上述の実施形態は、本発明のいくつかの例示的な例として理解されるべきである。本発明の範囲から逸脱することなく、種々の変更、組み合わせ及び変形が実施形態に対して行われてもよいことが当業者により理解されるだろう。特に、異なる実施形態における異なる部分的解決策は、技術的に可能である場合に他の構成において組み合わせ可能である。しかし、本発明の範囲は添付の請求の範囲により定義される。
【図２】
0005554831.tif 000012
【図３】
0005554831.tif 000013
【図４】
0005554831.tif 000014
【図５】
0005554831.tif 000015
【図６】
0005554831.tif 000016
【図８】
0005554831.tif 000017
【図９】
0005554831.tif 000018
【図１０】
0005554831.tif 000019
【図１１】
0005554831.tif 000020
【図１２】
0005554831.tif 000021
【図１３】
0005554831.tif 000022
【図１４】
0005554831.tif 000023
【図１５】
0005554831.tif 000024
【図１６】
0005554831.tif 000025
【図１７】
0005554831.tif 000026
【図１８】
0005554831.tif 000027
【図１９】
0005554831.tif 000028
【図１】
0005554831.tif 000029
【図７】
0005554831.tif 000030