(57)【特許請求の範囲】
【請求項１】
各画素（１１、１３、１５、１７）がそれぞれの画素値を有する映像フレーム内の複数の画素（１１、１３、１５、１７）からなるブロック（１０）に適用できるフィルタリング制御の方法であって、
ｐ０ｉが前記ブロック（１０）内の画素（１１、１３、１５、１７）からなる第１のライン（１２）の中で、前記映像フレーム内の複数の画素（２１、２３、２５、２７）からなる近傍ブロック（２０）へのブロック境界（１）に最も近接している画素（１１）の画素値を表し、ｐ１ｉが画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中で、前記ブロック境界（１）に２番目に近接している画素（１３）の画素値を表し、ｐ２ｉが画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中で、前記ブロック境界（１）に３番目に近接している画素（１５）の画素値を表すとすると、
｜ｐ２ｉ−２ｐ１ｉ＋ｐ０ｉ｜
に基づいて、画素値ｐ２ｉ、ｐ１ｉ、およびｐ０ｉのみを使用して、前記ブロック（１０）に対する第１のフィルタ決定値を計算するステップ（Ｓ１）と、
ｑ０ｉが前記近傍ブロック（２０）内の画素（２１、２３、２５、２７）からなる対応する第１のライン（２２）の中で、前記ブロック境界（１）に最も近接している前記近傍ブロック（２０）内の画素（２１）の画素値を表し、ｑ１ｉが画素（２１、２３、２５、２７）からなる前記対応する第１のライン（２２）の中で、前記ブロック境界（１）に２番目に近接している前記近傍ブロック（２０）の画素（２３）の画素値を表し、ｑ２ｉが画素（２１、２３、２５、２７）からなる前記対応する第１のライン（２２）の中で、前記ブロック境界（１）に３番目に近接している前記近傍ブロック（２０）内の画素（２５）の画素値を表すとすると、
｜ｑ２ｉ−２ｑ１ｉ＋ｑ０ｉ｜
に基づいて、画素値ｑ２ｉ、ｑ１ｉ、およびｑ０ｉのみを使用して、前記近傍ブロック（２０）に対する第２のフィルタ決定値を計算するステップ（Ｓ２）と、
前記第１のフィルタ決定値と第１の閾値の比較（Ｓ２０）に基づいて前記ブロック境界（１）に対してフィルタ処理すべき前記ブロック（１０）内の画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中の画素の個数を判定するステップ（Ｓ３）と、
前記第２のフィルタ決定値と第２の閾値の比較（Ｓ２３）に基づいて前記ブロック境界（１）に対してフィルタ処理すべき前記近傍ブロック（２０）内の画素（２１、２３、２５、２７）からなる前記対応する第１のライン（２２）の中の画素の個数を判定するステップ（Ｓ４）と、
を備え、
前記第１のフィルタ決定値を計算するステップ（Ｓ１）は、ｐ００が複数の画素からなる前記第１のラインの中で、前記ブロック境界（１）に最も近接している前記画素の前記画素値を表し、ｐ１０が複数の画素からなる前記第１のラインの中で、前記ブロック境界（１）に２番目に近接している前記画素の前記画素値を表し、ｐ２０が複数の画素からなる前記第１のラインの中で、前記ブロック境界（１）に３番目に近接している前記画素の前記画素値を表し、ｐ０３が前記ブロック（１０）内の複数の画素からなる第２のラインの中で、前記ブロック境界（１）に最も近接している画素の画素値を表し、ｐ１３が複数の画素からなる前記第２のラインの中で、前記ブロック境界（１）に２番目に近接している画素の画素値を表し、ｐ２３が複数の画素からなる前記第２のラインの中で、前記ブロック境界（１）に３番目に近接している画素の画素値を表すとすると、
｜ｐ２０−２ｐ１０＋ｐ００｜＋｜ｐ２３−２ｐ１３＋ｐ０３｜
として前記第１のフィルタ決定値を計算するステップ（Ｓ１）を備え、
前記第２のフィルタ決定値を計算するステップ（Ｓ２）は、ｑ００が複数の画素からなる前記対応する第１のラインの中で、前記ブロック境界（１）に最も近接している前記近傍ブロック（２０）内の前記画素の前記画素値を表し、ｑ１０が複数の画素からなる前記対応する第１のラインの中で、前記ブロック境界（１）に２番目に近接している前記近傍ブロック（２０）の前記画素の前記画素値を表し、ｑ２０が複数の画素からなる前記対応する第１のラインの中で、前記ブロック境界（１）に３番目に近接している前記近傍ブロック（２０）内の前記画素の前記画素値を表し、ｑ０３が前記近傍ブロック（２０）内の複数の画素からなる対応する第２のラインの中で、前記ブロック境界（１）に最も近接している前記近傍ブロック（２０）内の画素の画素値を表し、ｑ１３が複数の画素からなる前記対応する第２のラインの中で、前記ブロック境界（１）に２番目に近接している前記近傍ブロック（２０）の画素の画素値を表し、ｑ２３が複数の画素からなる前記対応する第２のラインの中で、前記ブロック境界（１）に３番目に近接している前記近傍ブロック（２０）内の画素の画素値を表すとすると、
｜ｑ２０−２ｑ１０＋ｑ００｜＋｜ｑ２３−２ｑ１３＋ｑ０３｜
として前記第２のフィルタ決定値を計算するステップ（Ｓ２）を備える、
方法。
【請求項２】
フィルタ処理すべき前記ブロック（１０）内の画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中の画素の個数を判定するステップ（Ｓ３）は、
前記第１のフィルタ決定値を第１の閾値と比較するステップ（Ｓ２０）と、
前記第１のフィルタ決定値が前記第１の閾値未満である場合、前記ブロック境界（１）に対して前記ブロック（１０）内の画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中の２個の画素をフィルタ処理することを判定するステップ（Ｓ２１）と、
前記第１のフィルタ決定値が前記第１の閾値以上である場合、前記ブロック境界（１）に対して前記ブロック（１０）内の画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中の１個の画素をフィルタ処理することを判定するステップ（Ｓ２２）と、
を備え、
フィルタ処理すべき前記近傍ブロック（２０）内の画素（２１、２３、２５、２７）からなる前記対応する第１のライン（２２）の中の画素の個数を判定するステップ（Ｓ４）は、
前記第２のフィルタ決定値を第２閾値と比較するステップ（Ｓ２３）と、
前記第２のフィルタ決定値が前記第２の閾値未満である場合、前記ブロック境界（１）に対して前記近傍ブロック（２０）内の画素（２１、２３、２５、２７）からなる前記対応する第１のライン（２２）の中の２個の画素をフィルタ処理することを判定するステップ（Ｓ２４）と、
前記第２のフィルタ決定値が前記第２の閾値以上である場合、前記ブロック境界（１）に対して前記近傍ブロック（２０）内の画素（２１、２３、２５、２７）からなる前記対応する第１のライン（２２）の中で１個の画素をフィルタ処理することを判定するステップ（Ｓ２５）と、
を備える、請求項１に記載の方法。
【請求項３】
フィルタ処理すべき前記ブロック（１０）内の画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中の画素の個数を判定するステップ（Ｓ３）は、
前記第１のフィルタ決定値を第１の閾値と比較するステップ（Ｓ２０）と、
前記第１のフィルタ決定値が前記第１の閾値未満である場合、前記ブロック境界（１）に対して前記ブロック（１０）内の画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中の２個の画素をフィルタ処理することを判定するステップ（Ｓ２１）と、
前記第１のフィルタ決定値が前記第１の閾値以上である場合、前記ブロック境界（１）に対して前記ブロック（１０）内の画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中の画素をフィルタ処理しないことを判定するステップ（Ｓ２２）と、
を備え、
フィルタ処理すべき前記近傍ブロック（２０）内の画素（２１、２３、２５、２７）からなる前記対応する第１のライン（２２）の中の画素の個数を判定するステップ（Ｓ４）は、
前記第２のフィルタ決定値を第２閾値と比較するステップ（Ｓ２３）と、
前記第２のフィルタ決定値が前記第２の閾値未満である場合、前記ブロック境界（１）に対して前記近傍ブロック（２０）内の画素（２１、２３、２５、２７）からなる前記対応する第１のライン（２２）の中の２個の画素をフィルタ処理することを判定するステップ（Ｓ２４）と、
前記第２のフィルタ決定値が前記第２の閾値以上である場合、前記ブロック境界（１）に対して前記近傍ブロック（２０）内の画素（２１、２３、２５、２７）からなる前記対応する第１のライン（２２）の中の画素をフィルタ処理しないことを決定するステップ（Ｓ２５）と、
を備える、請求項１に記載の方法。
【請求項４】
ｐ０ｉが映像フレーム内の複数の画素（１１、１３、１５、１７）からなるブロック（１０）内の画素（１１、１３、１５、１７）からなる第１のライン（１２）の中で、前記映像フレーム内の複数の画素（２１、２３、２５、２７）からなる近傍ブロック（２０）へのブロック境界（１）に最も近接している画素（１１）の画素値を表し、ｐ１ｉが画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中で、前記ブロック境界（１）に２番目に近接している画素（１３）の画素値を表し、ｐ２ｉが画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中で、前記ブロック境界（１）に３番目に近接している画素（１５）の画素値を表すとすると、
｜ｐ２ｉ−２ｐ１ｉ＋ｐ０ｉ｜
に基づいて、画素値ｐ２ｉ、ｐ１ｉ、およびｐ０ｉのみを使用して、前記ブロック（１０）に対する第１のフィルタ決定値を計算するように構成されている第１の決定値計算器（１１０）と、
ｑ０ｉが前記近傍ブロック（２０）内の画素（２１、２３、２５、２７）からなる対応する第１のライン（２２）の中で、前記ブロック境界（１）に最も近接している前記近傍ブロック（２０）内の画素（２１）の画素値を表し、ｑ１ｉが画素（２１、２３、２５、２７）からなる前記対応する第１のライン（２２）の中で、前記ブロック境界（１）に２番目に近接している前記近傍ブロック（２０）の画素（２３）の画素値を表し、ｑ２ｉが画素（２１、２３、２５、２７）からなる前記対応する第１のライン（２２）の中で、前記ブロック境界（１）に３番目に近接している前記近傍ブロック（２０）内の画素（２５）の画素値を表すとすると、
｜ｑ２ｉ−２ｑ１ｉ＋ｑ０ｉ｜
に基づいて、画素値ｑ２ｉ、ｑ１ｉ、およびｑ０ｉのみを使用して、前記近傍ブロック（２０）に対する第２のフィルタ決定値を計算するように構成されている第２の決定値計算器（１２０）と、
前記第１の決定値計算器（１１０）により計算された前記第１のフィルタ決定値に基づいて前記ブロック境界（１）に対してフィルタ処理すべき前記ブロック（１０）内の画素（１１、１３、１５、１７）からなる第１のライン（１２）の中の画素の個数を判定するように構成されている第１の画素判定器（１３０）と、
前記第２の決定値計算器（１２０）により計算された前記第２のフィルタ決定値に基づいて前記ブロック境界（１）に対してフィルタ処理すべき前記近傍ブロック（２０）内の画素（２１、２３、２５、２７）からなる対応する第１のライン（２２）の中の画素の個数を判定するように構成されている第２の画素判定器（１４０）と、 前記第１の決定値計算器（１１０）により計算された前記第１のフィルタ決定値を第１の閾値と比較するように構成されている第１の比較器（１８０）と、
前記第２の決定値計算器（１２０）により計算された前記第２のフィルタ決定値を第２の閾値と比較するように構成されている第２の比較器（１８２）と、
を備え、
前記第１の決定値計算器（１１０）は、ｐ００が複数の画素からなる前記第１のラインの中で、前記ブロック境界（１）に最も近接している前記画素の前記画素値を表し、ｐ１０が複数の画素からなる前記第１のラインの中で、前記ブロック境界（１）に２番目に近接している前記画素の前記画素値を表し、ｐ２０が複数の画素からなる前記第１のラインの中で、前記ブロック境界（１）に３番目に近接している前記画素の前記画素値を表し、ｐ０３が前記ブロック（１０）内の複数の画素からなる第２のラインの中で、前記ブロック境界（１）に最も近接している画素の画素値を表し、ｐ１３が複数の画素からなる前記第２のラインの中で、前記ブロック境界（１）に２番目に近接している画素の画素値を表し、ｐ２３が複数の画素からなる前記第２のラインの中で、前記ブロック境界（１）に３番目に近接している画素の画素値を表すとすると、
｜ｐ２０−２ｐ１０＋ｐ００｜＋｜ｐ２３−２ｐ１３＋ｐ０３｜
として前記第１のフィルタ決定値を計算するように構成され、
前記第２の決定値計算器（１２０）は、ｑ００が複数の画素からなる前記対応する第１のラインの中で、前記ブロック境界（１）に最も近接している前記近傍ブロック（２０）内の前記画素の前記画素値を表し、ｑ１０が複数の画素からなる前記対応する第１のラインの中で、前記ブロック境界（１）に２番目に近接している前記近傍ブロック（２０）の前記画素の前記画素値を表し、ｑ２０が複数の画素からなる前記対応する第１のラインの中で、前記ブロック境界（１）に３番目に近接している前記近傍ブロック（２０）内の前記画素の前記画素値を表し、ｑ０３が前記近傍ブロック（２０）内の複数の画素からなる対応する第２のラインの中で、前記ブロック境界（１）に最も近接している前記近傍ブロック（２０）内の画素の画素値を表し、ｑ１３が複数の画素からなる前記対応する第２のラインの中で、前記ブロック境界（１）に２番目に近接している前記近傍ブロック（２０）の画素の画素値を表し、ｑ２３が複数の画素からなる前記対応する第２のラインの中で、前記ブロック境界（１）に３番目に近接している前記近傍ブロック（２０）内の画素の画素値を表すとすると、
｜ｑ２０−２ｑ１０＋ｑ００｜＋｜ｑ２３−２ｑ１３＋ｑ０３｜
として前記第２のフィルタ決定値を計算するように構成されている、
フィルタリング制御装置（１００）。
【請求項５】
前記第１の画素判定器（１３０）は、ｉ）前記第１のフィルタ決定値が前記第１の比較器（１８０）により判定されるように前記第１の閾値未満である場合、前記ブロック境界（１）に対して前記ブロック（１０）内の画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中の２個の画素をフィルタ処理することを判定し、ｉｉ）前記第１のフィルタ決定値が前記第１の比較器（１８０）により判定されるように前記第１の閾値以上である場合、前記ブロック境界（１）に対して前記ブロック（１０）内の画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中の１個の画素をフィルタ処理することを判定するように構成され、
前記第２の画素判定器（１４０）は、ｉ）前記第２のフィルタ決定値が前記第２の比較器（１８２）により判定されるように前記第２の閾値未満である場合、前記ブロック境界（１）に対して前記近傍ブロック（２０）内の画素（２１、２３、２５、２７）からなる前記対応する第１のライン（２２）の中の２個の画素をフィルタ処理することを判定し、ｉｉ）前記第２のフィルタ決定値が前記第２の比較器（１８２）により判定されるように前記第２の閾値以上である場合、前記ブロック境界（１）に対して前記近傍ブロック（２０）内の画素（２１、２３、２５、２７）からなる前記対応する第１のライン（２２）の中の１個の画素をフィルタ処理することを判定するように構成されている、
請求項４に記載の装置。
【請求項６】
前記第１の決定値計算器（１１０）により計算された前記第１のフィルタ決定値を第１の閾値と比較するように構成されている第１の比較器（１８０）と、
前記第２の決定値計算器（１２０）により計算された前記第２のフィルタ決定値を第２の閾値と比較するように構成されている第２の比較器（１８２）と、
をさらに備え、
前記第１の画素判定器（１３０）は、ｉ）前記第１のフィルタ決定値が前記第１の比較器（１８０）により判定されるように前記第１の閾値未満である場合、前記ブロック境界（１）に対して前記ブロック（１０）内の画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中の２個の画素をフィルタ処理することを判定し、ｉｉ）前記第１のフィルタ決定値が前記第１の比較器（１８０）により判定されるように前記第１の閾値以上である場合、前記ブロック境界（１）に対して前記ブロック（１０）内の画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中の画素をフィルタ処理しないことを判定するように構成され、
前記第２の画素判定器（１４０）は、ｉ）前記第２のフィルタ決定値が前記第２の比較器（１８２）により判定されるように前記第２の閾値未満である場合、前記ブロック境界（１）に対して前記近傍ブロック（２０）内の画素（２１、２３、２５、２７）からなる前記対応する第１のライン（２２）の中の２個の画素をフィルタ処理することを判定し、ｉｉ）前記第２のフィルタ決定値が前記第２の比較器（１８２）により判定されるように前記第２の閾値以上である場合、前記ブロック境界（１）に対して前記近傍ブロック（２０）内の画素（２１、２３、２５、２７）からなる前記対応する第１のライン（２２）の中の画素をフィルタ処理しないことを判定するように構成されている、
請求項４または５に記載の装置。
【請求項７】
ｉ）ブロック（１０）に関連付けられた量子化パラメータに基づいて前記第１の閾値を判定し、ｉｉ）前記近傍ブロック（２０）に関連付けられた量子化パラメータに基づいて前記第２の閾値を判定するように構成されている閾値判定器（１７０）をさらに備える、請求項４から６のいずれか一項に記載の装置。
【請求項８】
ｐ０ｊが画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中で、前記ブロック境界（１）に最も近接している画素（１１）の画素値を表し、ｐ１ｊが画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中で、前記ブロック境界（１）に２番目に近接している画素（１３）の画素値を表し、ｑ０ｊが画素（２１、２３、２５、２７）からなる前記対応する第１のライン（２２）の中で、前記ブロック境界（１）に最も近接している前記近傍ブロック（２０）内の画素（２１）の画素値を表し、ｑ１ｉが画素（２１、２３、２５、２７）からなる前記対応する第１のライン（２２）の中で、前記ブロック境界（１）に２番目に近接している前記近傍ブロック（２０）の画素（２３）の画素値を表すとすると、
（９×（ｑ０ｊ−ｐ０ｊ）−３×（ｑ１ｊ−ｐ１ｊ））／１６
に基づいて第１のオフセットΔを計算するように構成されている第１のオフセット計算器（１８１）と、
前記第１のオフセット計算器（１８１）により計算された前記第１のオフセットを画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中で前記ブロック境界（１）に最も近接している前記画素（１１）の前記画素値に加算することにより、画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中で前記ブロック境界（１）に最も近接している前記画素（１１）の前記画素値を修正するように構成されている第１の画素修正器（１９０）と、
前記第１のオフセット計算器（１８１）により計算された前記第１のオフセットを画素（２１、２３、２５、２７）からなる前記対応する第１のライン（２２）の中で前記ブロック境界（１）に最も近接している前記近傍ブロック（２０）内の前記画素（２１）の前記画素値から減算することにより、画素（２１、２３、２５、２７）からなる前記対応する第１のライン（２２）の中で前記ブロック境界（１）に最も近接している前記近傍ブロック（２０）内の前記画素（２１）の前記画素値を修正するように構成されている第２の画素修正器（１９２）と、
前記第１のフィルタ決定値が前記第１の比較器（１８０）により判定されるように前記第１の閾値未満である場合、ｐ２ｊが画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中で、前記ブロック境界（１）に３番目に近接している画素（１５）の画素値を表すとすると、
（ｐ０ｊ＋ｐ２ｊ−２ｐ１ｊ＋２Δ）／４
に基づいて第２のオフセットを計算するように構成されている第２のオフセット計算器（１８３）と、
前記第１のフィルタ決定値が前記第１の比較器（１８０）により判定されるように前記第１の閾値未満である場合、前記第２のオフセット計算器（１８３）により計算された前記第２のオフセットを画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中で前記ブロック境界（１）に２番目に近接している前記画素（１３）の前記画素値に加算することにより、画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中で前記ブロック境界（１）に２番目に近接している前記画素（１３）の前記画素値を修正するように構成されている第３の画素修正器（１９４）と、
前記第２のフィルタ決定値が前記第２の比較器（１８２）により判定されるように前記第２の閾値未満である場合、ｑ２ｊが画素（２１、２３、２５、２７）からなる前記対応する第１のライン（２２）の中で、前記ブロック境界（１）に３番目に近接している前記近傍ブロック（２０）内の画素（２５）の画素値を表すとすると、
（ｑ０ｊ＋ｑ２ｊ−２ｑ１ｊ−２Δ）／４
に基づいて第３のオフセットを計算するように構成されている第３のオフセット計算器（１８５）と、
前記第２のフィルタ決定値が前記第２の比較器（１８２）により判定されるように前記第２の閾値未満である場合、前記第３のオフセット計算器（１８５）により計算された前記第３のオフセットを画素（２１、２３、２５、２７）からなる前記対応する第１のライン（２２）の中で前記ブロック境界（１）に２番目に近接している前記近傍ブロック（２０）内の前記画素（２３）の前記画素値に加算することにより、画素（２１、２３、２５、２７）からなる前記対応する第１のライン（２２）の中で前記ブロック境界（１）に２番目に近接している前記近傍ブロック（２０）内の前記画素（２３）の前記画素値を修正するように構成されている第４の画素修正器（１９６）と、
をさらに備える、請求項４から７のいずれか一項に記載の装置。
【請求項９】
前記第１のフィルタ決定値と前記第２のフィルタ決定値との合計を閾値と比較するように構成されている第３の比較器（１８４）をさらに備え、
前記第１の画素判定器（１３０）は、前記第１のフィルタ決定値と前記第２のフィルタ決定値との合計が前記第３の比較器（１８４）により判定されるように前記閾値未満である場合、前記第１の決定値計算器（１１０）により計算された前記第１のフィルタ決定値に基づいて前記ブロック境界（１）に対してフィルタ処理すべき前記ブロック（１０）内の画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中の画素の個数を判定するように構成され、
前記第２の画素判定器（１４０）は、前記第１のフィルタ決定値と前記第２のフィルタ決定値との合計が前記第３の比較器（１８４）により判定されるように前記閾値未満である場合、前記第２の決定値計算器（１２０）により計算された前記第２のフィルタ決定値に基づいて前記ブロック境界（１）に対してフィルタ処理すべき前記近傍ブロック（２０）内の画素（２１、２３、２５、２７）からなる前記対応する第１のライン（２２）の中の画素の個数を判定するように構成されている、
請求項４から８のいずれか一項に記載の装置。
【請求項１０】
請求項４から９のいずれか一項に記載のフィルタリング制御装置（１００）を備える符号化器（４０）。
【請求項１１】
映像フレームを記憶するように構成されているメモリ（８４）と、
前記映像フレームを符号化された映像フレームに符号化するように構成されている請求項１０に記載の符号化器（４０）と、
を備え、前記メモリ（８４）は前記符号化された映像フレームを記憶するようにさらに構成されている、ユーザ機器（８０）。
【請求項１２】
請求項４から９のいずれか一項に記載のフィルタリング制御装置（１００）を備える復号化器（６０）。
【請求項１３】
符号化された映像フレームを記憶するように構成されているメモリ（８４）と、
前記符号化された映像フレームを復号化された映像フレームに復号化するように構成されている請求項１２に記載の復号化器（６０）と、
前記復号化された映像フレームをディスプレイ（８８）に表示可能な映像データ表現にするように構成されているメディアプレーヤー（８６）と、
を備えるユーザ機器（８０）。
【請求項１４】
各画素（１１、１３、１５、１７）がそれぞれの画素値を有する映像フレーム内の複数の画素（１１、１３、１５、１７）からなるブロック（１０）のフィルタリング制御のためのコンピュータプログラム（７４）であって、前記コンピュータプログラムは、コンピュータ（７０）上で動くとき、前記コンピュータ（７０）に、
ｐ０ｉが前記ブロック（１０）内の画素（１１、１３、１５、１７）からなる第１のライン（１２）の中で、前記映像フレーム内の複数の画素（２１、２３、２５、２７）からなる近傍ブロック（２０）へのブロック境界（１）に最も近接している画素（１１）の画素値を表し、ｐ１ｉが画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中で、前記ブロック境界（１）に２番目に近接している画素（１３）の画素値を表し、ｐ２ｉが画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中で、前記ブロック境界（１）に３番目に近接している画素（１５）の画素値を表すとすると、
｜ｐ２ｉ−２ｐ１ｉ＋ｐ０ｉ｜
に基づいて、画素値ｐ２ｉ、ｐ１ｉ、およびｐ０ｉのみを使用して、前記ブロック（１０）に対する第１のフィルタ決定値を計算させ、
ｑ０ｉが前記近傍ブロック（２０）内の画素（２１、２３、２５、２７）からなる対応する第１のライン（２２）の中で、前記ブロック境界（１）に最も近接している前記近傍ブロック（２０）内の画素（２１）の画素値を表し、ｑ１ｉが画素（２１、２３、２５、２７）からなる前記対応する第１のライン（２２）の中で、前記ブロック境界（１）に２番目に近接している前記近傍ブロック（２０）の画素（２３）の画素値を表し、ｑ２ｉが画素（２１、２３、２５、２７）からなる前記対応する第１のライン（２２）の中で、前記ブロック境界（１）に３番目に近接している前記近傍ブロック（２０）内の画素（２５）の画素値を表すとすると、
｜ｑ２ｉ−２ｑ１ｉ＋ｑ０ｉ｜
に基づいて、画素値ｑ２ｉ、ｑ１ｉ、およびｑ０ｉのみを使用して、前記近傍ブロック（２０）に対する第２のフィルタ決定値を計算させ、
前記第１のフィルタ決定値に基づいて前記ブロック境界（１）に対してフィルタ処理すべき前記ブロック（１０）内の画素（１１、１３、１５、１７）からなる第１のライン（１２）の中の画素の個数を判定させ、
前記第２のフィルタ決定値に基づいて前記ブロック境界（１）に対してフィルタ処理すべき前記近傍ブロック（２０）内の画素（２１、２３、２５、２７）からなる対応する第１のライン（２２）の中の画素の個数を判定させるコード手段を備え、
フィルタ処理すべき前記ブロック（１０）内の画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中の画素の個数の判定は、前記第１のフィルタ決定値と第１の閾値の比較（Ｓ２０）に基づいて前記ブロック境界（１）に対してフィルタ処理すべき前記ブロック（１０）内の画素（１１、１３、１５、１７）からなる前記第１のライン（１２）の中の画素の個数を判定するステップを備え、
フィルタ処理すべき前記近傍ブロック（２０）内の画素（２１、２３、２５、２７）からなる前記対応する第１のライン（１２）の中の画素の個数の判定は、前記第２のフィルタ決定値と第２の閾値の比較（Ｓ２３）に基づいて前記ブロック境界（１）に対してフィルタ処理すべき前記近傍ブロック（２０）内の画素（２１、２３、２５、２７）からなる前記対応する第１のライン（２２）の中の画素の個数を判定するステップを備え、
前記第１のフィルタ決定値を計算するステップ（Ｓ１）は、ｐ００が複数の画素からなる前記第１のラインの中で、前記ブロック境界（１）に最も近接している前記画素の前記画素値を表し、ｐ１０が複数の画素からなる前記第１のラインの中で、前記ブロック境界（１）に２番目に近接している前記画素の前記画素値を表し、ｐ２０が複数の画素からなる前記第１のラインの中で、前記ブロック境界（１）に３番目に近接している前記画素の前記画素値を表し、ｐ０３が前記ブロック（１０）内の複数の画素からなる第２のラインの中で、前記ブロック境界（１）に最も近接している画素の画素値を表し、ｐ１３が複数の画素からなる前記第２のラインの中で、前記ブロック境界（１）に２番目に近接している画素の画素値を表し、ｐ２３が複数の画素からなる前記第２のラインの中で、前記ブロック境界（１）に３番目に近接している画素の画素値を表すとすると、
｜ｐ２０−２ｐ１０＋ｐ００｜＋｜ｐ２３−２ｐ１３＋ｐ０３｜
として前記第１のフィルタ決定値を計算するステップ（Ｓ１）を備え、
前記第２のフィルタ決定値を計算するステップ（Ｓ２）は、ｑ００が複数の画素からなる前記対応する第１のラインの中で、前記ブロック境界（１）に最も近接している前記近傍ブロック（２０）内の前記画素の前記画素値を表し、ｑ１０が複数の画素からなる前記対応する第１のラインの中で、前記ブロック境界（１）に２番目に近接している前記近傍ブロック（２０）の前記画素の前記画素値を表し、ｑ２０が複数の画素からなる前記対応する第１のラインの中で、前記ブロック境界（１）に３番目に近接している前記近傍ブロック（２０）内の前記画素の前記画素値を表し、ｑ０３が前記近傍ブロック（２０）内の複数の画素からなる対応する第２のラインの中で、前記ブロック境界（１）に最も近接している前記近傍ブロック（２０）内の画素の画素値を表し、ｑ１３が複数の画素からなる前記対応する第２のラインの中で、前記ブロック境界（１）に２番目に近接している前記近傍ブロック（２０）の画素の画素値を表し、ｑ２３が複数の画素からなる前記対応する第２のラインの中で、前記ブロック境界（１）に３番目に近接している前記近傍ブロック（２０）内の画素の画素値を表すとすると、
｜ｑ２０−２ｑ１０＋ｑ００｜＋｜ｑ２３−２ｑ１３＋ｑ０３｜
として前記第２のフィルタ決定値を計算するステップ（Ｓ２）を備える、
コンピュータプログラム（７４）。
【請求項１５】
請求項１４に記載のコンピュータプログラム（７４）を記憶したコンピュータ読み取り可能な記憶媒体（７３）。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、一般的には、フィルタリング制御に係わり、詳しくは、映像フレーム内のブロック境界を越えるデブロッキング・フィルタリングの制御に関する。
【背景技術】
【０００２】
デブロッキング・フィルタは、ブロッキング・アーティファクトを減らすために映像符号化標準で使用される。ブロッキング・アーティファクトは、元の映像フレームが相対的に独立に処理されるブロックに分割されるので現れる。ブロッキング・アーティファクトは、例えば、様々なブロックのイントラ予測、量子化効果及び動き補償に起因して現れる可能性がある。デブロッキングの２つの特有の変形が後述される。
【０００３】
Ｈ．２６４のような最新式映像符号化では、予測及び残差再構成の後で、しかし、後続のフレームを符号化又は復号化するときに後で参照するための再構成物の記憶の前に、ループフィルタとも称されるデブロッキング・フィルタが存在する。デブロッキング・フィルタリングは、フィルタ決定、フィルタリング演算、クリッピング機能及び画素値の変更のようないくつかのステップで構成される。境界をフィルタ処理すべきか否かの決定は、いくつかの条件の評価に基づいて行われる。フィルタ決定は、マクロブロック（ＭＢ）タイプ、近傍ブロック間の動きベクトル（ＭＶ）差分、近傍ブロックが残差を符号化したか否か、及び、現在の及び／又は近傍ブロックの局所構造に依存する。
【０００４】
画素のフィルタリングの量は、とりわけ、ブロックボーダー又は境界に相対的なこの画素の位置、及び、残差符号化のため使用される量子化パラメータ（ＱＰ）値に依存する。
【０００５】
フィルタ決定は、３つの画素差分を閾値と比較することに基づいている。閾値は、量子化パラメータ（ＱＰ）に適応している。例えば、ａ、ｂ、ｃ及びｄが現在のブロック内の画素からなる行の中の画素の画素値を表し、ｅ、ｆ、ｇ及びｈが近傍ブロック内の画素からなる対応する行の中の対応する画素の画素値を表すとすると、
ａｂｃｄ｜ｅｆｇｈ
からなる垂直ブロック境界を仮定する。以下の条件が満たされる場合、フィルタ決定は肯定的であり、例えば、ｔｈｒ１及びｔｈｒ２がＱＰに基づいて適応しているとき、ａｂｓ（ｄ−ｅ）＜ｔｈｒ１、ａｂｓ（ｃ−ｄ）＜ｔｈｒ２、及びａｂｓ（ｅ−ｆ）＜ｔｈｒ２である。
【０００６】
Ｈ．２６４には、２つのフィルタリングモードがある。標準フィルタリングと称される第１のフィルタリングモードでは、フィルタリングは、フィルタリングが現在値を変化させる際に用いるｄｅｌｔａ値を使って記述され得る。ブロック境界に最も近接している画素に対するフィルタリングは、ｄ’＝ｄ＋ｄｅｌｔａ及びｅ’＝ｅ−ｄｅｌｔａであり、ｄｅｌｔａは、ＱＰにより制約される値に対する閾値±ｔｈｒ３にクリッピングされる。それによって、低ＱＰのときより多くのフィルタリングが高ＱＰに対して許容される。クリッピングは、ｔｈｒ３がフィルタ強度を制御するとき、ｄｅｌｔａ＿ｃｌｉｐｐｅｄ＝ｍａｘ（−ｔｈｒ３，ｍｉｎ（ｔｈｒ３，ｄｅｌｔａ））として記述され得る。より大きいｔｈｒ３の値は、フィルタリングがより強いこと、即ち、より強い低域通過フィルタリング効果が発生することがあることを意味する。
【０００７】
フィルタ強度は、以下の２つの条件、例えば、ａｂｓ（ｂ−ｄ）＜ｔｈｒ２及びａｂｓ（ｅ−ｇ）＜ｔｈｒ２のうちのいずれかが成立した場合にも増加させられる可能性がある。フィルタ強度は、デルタをあまりクリッピングしないことにより、例えば、より多くの変動を可能にさせることにより適応させられる。
【０００８】
強いフィルタリングと称される第２のフィルタリングモードは、以下の条件ａｂｓ（ｄ−ｅ）＜ｔｈｒ１／４が満たされるとき、イントラ・マクロブロック境界だけのため適用される。
【０００９】
Ｈ．２６４におけるデブロッキング・フィルタリングのより多くの情報のため、Ｌｉｓｔ他著、「Ａｄａｐｔｉｖｅ  Ｄｅｂｌｏｃｋｉｎｇ  Ｆｉｌｔｅｒ」、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｖｉｄｅｏ  Ｔｅｃｈｎｏｌｏｇｙ、ｖｏｌ．１３、ｎｏ．７、２００３年７月を参照する。
【００１０】
ＨＥＶＣ（高効率映像符号化）仕様案“Ｔｅｓｔ  Ｍｏｄｅｌ  ｕｎｄｅｒ  Ｃｏｎｓｉｄｅｒｒａｔｉｏｎ”、ＩＴＵＴ  ＳＧ１６  ＷＰ３ドキュメント、ＪＣＴＶＣ−Ｂ２０５、第６．５章  ループ内フィルタプロセスでは、デブロッキング・フィルタは、Ｈ．２６４とは異なった働きをする。フィルタリングは、境界の側のブロックのうちの少なくとも１つがイントラであるか、若しくは、非零係数を有する場合、又は、ブロックの動きベクトル成分の間の差分が１整数画素以上である場合に実行される。例えば、ｉ＝０・・・７、ｊ＝０・・・３に対し、ｐｊｉが現在のブロック内の行番号ｉの画素番号ｊの画素値を表し、ｑｊｉが近傍ブロック内の行番号ｉの画素番号ｊの画素値を表すとすると、垂直ブロック境界が
ｐ３ｉｐ２ｉｐ１ｉｐ０ｉ｜ｑ０ｉｑ１ｉｑ２ｉｑ３ｉ
であるブロックの間のボーダーをフィルタリングするとき、βがＱＰに依存するとして、以下の条件：
ｄ＝｜ｐ２２−２×ｐ１２＋ｐ０２｜＋｜ｑ２２−２×ｑ１２＋ｑ０２｜＋｜ｐ２５−２×ｐ１５＋ｐ０５｜＋｜ｑ２５−２×ｑ１５＋ｑ０５｜＜β
がさらに満たされるべきである。前述のＨＥＶＣ仕様では、βの表が存在し、βはＱＰと共に増加する。
【００１１】
条件が満たされ、フィルタリングが現在のブロックと近傍ブロックとの間で行われる場合、弱フィルタリング及び強フィルタリングとそれぞれ称される２種類のフィルタリングのうちの一方が実行される。強フィルタリングと弱フィルタリングとの間の選択は、以下の条件に依存してライン毎に別個に行われる。各ラインｉ＝０・・・７に対し、強フィルタリングは、ｔｃ及びβがＱＰに依存し、＞＞が右シフト演算子を表すとすると、以下の全ての条件：
ｄ＜（β＞＞２）
（｜ｐ３ｉ−ｐ０ｉ｜＋｜ｑ０ｉ−ｑ３ｉ｜）＜（β＞＞３）
｜ｐ０ｉ−ｑ０ｉ｜＜（（５×ｔｃ＋１）＞＞１）
が真である場合に実行され、そうではない場合、弱フィルタリグが実行される。
【００１２】
弱フィルタリングは、上記条件に基づいて実行される。実際のフィルタリングは、オフセット（Δ）を計算し、このオフセットを元の画素値に加算し、合計を０〜２５５のレンジにあるフィルタ処理された出力画素値にクリッピングすることにより働く：
Δ＝Ｃｌｉｐ（−ｔｃ，ｔｃ，（１３×（ｑ０ｉ−ｐ０ｉ）＋４×（ｑ１ｉ−ｐ１ｉ）−５×（ｑ２ｉ−ｐ２ｉ）＋１６）＞＞５））
ｐ０ｉ＝Ｃｌｉｐ０−２５５（ｐ０ｉ＋Δ）
ｑ０ｉ＝Ｃｌｉｐ０−２５５（ｑ０ｉ−Δ）
ｐ１ｉ＝Ｃｌｉｐ０−２５５（ｐ１ｉ＋Δ／２）
ｑ０ｉ＝Ｃｌｉｐ０−２５５（ｑ１ｉ−Δ／２）
ここで、クリップ関数Ｃｌｉｐ（Ａ，Ｂ，ｘ）は、ｘ＜Ａであるならば、Ｃｌｉｐ（Ａ，Ｂ，ｘ）＝Ａであり、ｘ＞Ｂであるならば、Ｃｌｉｐ（Ａ，Ｂ，ｘ）＝Ｂであり、Ａ≦ｘ≦Ｂであるならば、Ｃｌｉｐ（Ａ，Ｂ，ｘ）＝ｘとして定義され、Ｃｌｉｐ０−２５５（ｘ）は、Ｃｌｉｐ（０，２５５，ｘ）として定義される。
【００１３】
強フィルタリングモードは、以下の演算のステップ：
ｐ０ｉ＝Ｃｌｉｐ０−２５５（（ｐ２ｉ＋２×ｐ１ｉ＋２×ｐ０ｉ＋２×ｑ０ｉ＋ｑ１ｉ＋４）＞＞３）
ｑ０ｉ＝Ｃｌｉｐ０−２５５（（ｐ１ｉ＋２×ｐ０ｉ＋２×ｑ０ｉ＋２×ｑ１ｉ＋ｑ２ｉ＋４）＞＞３）
ｐ１ｉ＝Ｃｌｉｐ０−２５５（（ｐ２ｉ＋ｐ１ｉ＋ｐ０ｉ＋ｑ０ｉ＋２）＞＞２）
ｑ１ｉ＝Ｃｌｉｐ０−２５５（（ｐ０ｉ＋ｑ０ｉ＋ｑ１ｉ＋ｑ２ｉ＋２）＞＞２）
ｐ２ｉ＝Ｃｌｉｐ０−２５５（（２×ｐ３ｉ＋３×ｐ２ｉ＋ｐ１ｉ＋ｐ０ｉ＋ｑ０ｉ＋４）＞＞３）
ｑ２ｉ＝Ｃｌｉｐ０−２５５（（ｐ０ｉ＋ｑ０ｉ＋ｑ１ｉ＋３×ｑ２ｉ＋２×ｑ３ｉ＋４）＞＞３）
により実行される。
【００１４】
ＨＥＶＣによるデブロッキング・フィルタリング決定は、ある特定のブロックに対するブロック境界を越える不正確なデブロッキング・フィルタリングを引き起こす可能性がある。詳しくは、様々なレベルの局所構造を有する近傍ブロックは、ＨＥＶＣでは、ブロックのうちの１つを過度にフィルタリングし、それによって、ブロック内の局所構造を抑制し、フィルタで取り除くことにより、不正確に取り扱われる可能性がある。
【先行技術文献】
【非特許文献】
【００１５】
【非特許文献１】Ｌｉｓｔ他著、「Ａｄａｐｔｉｖｅ  Ｄｅｂｌｏｃｋｉｎｇ  Ｆｉｌｔｅｒ」、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｖｉｄｅｏ  Ｔｅｃｈｎｏｌｏｇｙ、ｖｏｌ．１３、ｎｏ．７、２００３年７月
【非特許文献２】ＨＥＶＣ（高効率映像符号化）仕様案“Ｔｅｓｔ  Ｍｏｄｅｌ  ｕｎｄｅｒ  Ｃｏｎｓｉｄｅｒａｔｉｏｎ”、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３ドキュメント、ＪＣＴＶＣ−Ｂ２０５、第６．５章  ループ内フィルタプロセス
【発明の概要】
【発明が解決しようとする課題】
【００１６】
ブロック境界でブロッキング・アーティファクトを低減するために使用されることが可能であり、かつ、前述の欠点がない効率的なデブロッキング・フィルタリング制御の必要性がある。
【００１７】
効率的なデブロッキング・フィルタリング制御を提供することは、一般的な目的である。
【００１８】
ブロック境界を越えて非対称のフィルタリング決定を提供することは、特有の目的である。
【課題を解決するための手段】
【００１９】
実施形態の態様は、各画素がそれぞれの画素値を有する映像フレーム内の複数の画素からなるブロックに適用できるフィルタリング制御の方法に関係する。この方法は、ｐ０ｉがこのブロック内の画素からなる第１のラインの中で、映像フレーム内の複数の画素からなる近傍ブロックへのブロック境界に最も近接している画素の画素値を表し、ｐ１ｉが画素からなる第１のラインの中で、ブロック境界に２番目に近接している画素の画素値を表し、ｐ２ｉが画素からなる第１のラインの中で、ブロック境界に３番目に近接している画素の画素値を表すとすると、少なくとも｜ｐ２ｉ−２ｐ１ｉ＋ｐ０ｉ｜に基づいてブロックに対する第１のフィルタ決定値を計算するステップを備える。この方法は、ｑ０ｉが近傍ブロック内の画素からなる対応する第１のラインの中で、ブロック境界に最も近接している近傍ブロック内の画素の画素値を表し、ｑ１ｉが画素からなる対応する第１のラインの中で、ブロック境界に２番目に近接している近傍ブロックの画素の画素値を表し、ｑ２ｉが画素からなる対応する第１のラインの中で、ブロック境界に３番目に近接している近傍ブロック内の画素の画素値を表すとすると、少なくとも｜ｑ２ｉ−２ｑ１ｉ＋ｑ０ｉ｜に基づいてブロックに対する第２のフィルタ決定値を計算するステップをさらに備える。第１のフィルタ決定値は、ブロック境界に対してフィルタ処理すべきブロック内の画素からなるラインの中の画素の個数を判定するために使用され、第２のフィルタ決定値は、ブロック境界に対してフィルタ処理すべき近傍ブロック内の画素からなる対応するラインの中の画素の個数を判定するために同様に使用される。
【００２０】
実施形態の別の態様は、ｐ０ｉがこのブロック内の画素からなる第１のラインの中で、映像フレーム内の複数の画素からなる近傍ブロックへのブロック境界に最も近接している画素の画素値を表し、ｐ１ｉが画素からなる第１のラインの中で、ブロック境界に２番目に近接している画素の画素値を表し、ｐ２ｉが画素からなる第１のラインの中で、ブロック境界に３番目に近接している画素の画素値を表すとすると、少なくとも｜ｐ２ｉ−２ｐ１ｉ＋ｐ０ｉ｜に基づいて映像フレーム内の複数の画素からなるブロックに対する第１のフィルタ決定値を計算するように構成されている第１の決定値計算器を備えるフィルタリング制御装置を規定する。フィルタリング制御装置は、ｑ０ｉが近傍ブロック内の画素からなる対応する第１のラインの中で、ブロック境界に最も近接している近傍ブロック内の画素の画素値を表し、ｑ１ｉが画素からなる対応する第１のラインの中で、ブロック境界に２番目に近接している近傍ブロックの画素の画素値を表し、ｑ２ｉが画素からなる対応する第１のラインの中で、ブロック境界に３番目に近接している近傍ブロック内の画素の画素値を表すとすると、少なくとも｜ｑ２ｉ−２ｑ１ｉ＋ｑ０ｉ｜に基づいてブロックに対する第２のフィルタ決定値を計算するように構成されている第２の決定値計算器をさらに備える。第１の画素判定器は、第１の決定値計算器により計算された第１のフィルタ決定値に基づいてブロック境界に対してフィルタ処理すべきブロック内の画素からなるラインの中の画素の個数を判定するように構成されている。フィルタリング制御装置は、第２の決定値計算器により計算された第２のフィルタ決定値に基づいてブロック境界に対してフィルタ処理すべき近傍ブロック内の画素からなる対応するラインの中の画素の個数を判定するように構成されている第２の画素判定器をさらに備える。
【００２１】
実施形態のさらなる態様は、前述された通りのフィルタリング制御装置を備える符号化器と、前述された通りのフィルタリング制御装置を備える復号化器とに関係する。さらに別の態様は、映像フレームを記憶するように構成されているメモリと、映像フレームをメモリに記憶される符号化された映像フレームに符号化するため前述された通りのフィルタリング制御装置付きの符号化器とを備えるユーザ機器を規定する。さらなる態様は、符号化された映像フレームを記憶するように構成されているメモリと、符号化された映像フレームを復号化された映像フレームに復号化するため前述された通りのフィルタリング制御装置付きの復号化器とを備えるユーザ機器を規定する。ユーザ機器のメディアプレーヤーは、復号化された映像フレームをディスプレイに表示可能な映像データ表現にするように構成されている。
【００２２】
さらに別の態様は、各画素がそれぞれの画素値を有する映像フレーム内の複数の画素からなるブロックのフィルタリング制御のためのコンピュータプログラムに関係する。コンピュータプログラムは、コンピュータ上で動くとき、ｐ０ｉがこのブロック内の画素からなる第１のラインの中で、映像フレーム内の複数の画素からなる近傍ブロックへのブロック境界に最も近接している画素の画素値を表し、ｐ１ｉが画素からなる第１のラインの中で、ブロック境界に２番目に近接している画素の画素値を表し、ｐ２ｉが画素からなる第１のラインの中で、ブロック境界に３番目に近接している画素の画素値を表すとすると、コンピュータに、少なくとも｜ｐ２ｉ−２ｐ１ｉ＋ｐ０ｉ｜に基づいてブロックに対する第１のフィルタ決定値を計算させるコード手段を備える。コンピュータは、ｑ０ｉが近傍ブロック内の画素からなる対応する第１のラインの中で、ブロック境界に最も近接している近傍ブロック内の画素の画素値を表し、ｑ１ｉが画素からなる対応する第１のラインの中で、ブロック境界に２番目に近接している近傍ブロックの画素の画素値を表し、ｑ２ｉが画素からなる対応する第１のラインの中で、ブロック境界に３番目に近接している近傍ブロック内の画素の画素値を表すとすると、コンピュータに、少なくとも｜ｑ２ｉ−２ｑ１ｉ＋ｑ０ｉ｜に基づいてブロックに対する第２のフィルタ決定値を計算させるコード手段をさらに備える。コンピュータプログラムは、コンピュータに、第１のフィルタ決定値に基づいてブロック境界に対してフィルタ処理すべきブロック内の画素からなるラインの中の画素の個数を判定させ、第２のフィルタ決定値に基づいてブロック境界に対してフィルタ処理すべき近傍ブロック内の画素からなる対応するラインの中の画素の個数を判定させるコード手段を備える。
【００２３】
実施形態は、ブロック境界の両側の構造に適応するようにデブロッキング・フィルタリングを制御する非対称のデブロッキング決定を実現する。この非対称の決定は、ブロック境界の一方側に適用されるフィルタリングの量がブロック境界のもう一方側に適用されるフィルタリングの量と異なる可能性があり、従って、局所構造へのさらなる適応を行うことを意味する。これは、客観的及び主観的な映像品質を改善する。
【００２４】
発明は、発明のさらなる目的及び利点と一緒に、添付図面と共に挙げられた以下の説明を参照することにより最もよく理解されることがある。
【図面の簡単な説明】
【００２５】
【図１】実施形態によるフィルタリング制御の方法のフローチャートである。
【図２Ａ】近傍ブロックとデブロッキング・フィルタリングがされ得るブロック境界との実施形態を示した図である。
【図２Ｂ】近傍ブロックとデブロッキング・フィルタリングがされ得るブロック境界との実施形態を示した図である。
【図３】実施形態による図１における方法の付加的な選択可能なステップを示したフローチャートである。
【図４】図１における判定ステップの実施形態を示したフローチャートである。
【図５】別の実施形態による図１における方法の付加的な選択可能なステップを示したフローチャートである。
【図６】図１における方法の付加的な選択可能なステップと図１における判定ステップの実施形態を示したフローチャートである。
【図７】実施形態による図１における方法の付加的な選択可能なステップを示したフローチャートである。
【図８】フィルタリング制御装置の実施形態の概略ブロック図である。
【図９】フィルタリング制御装置の別の実施形態の概略ブロック図である。
【図１０】フィルタリング制御装置のさらなる実施形態の概略ブロック図である。
【図１１】フィルタリング制御装置のさらに別の実施形態の概略ブロック図である。
【図１２】実施形態によるコンピュータ内でのフィルタリング制御装置のソフトウェア実装の概略ブロック図である。
【図１３】実施形態による符号化器の概略ブロック図である。
【図１４】実施形態による復号化器の概略ブロック図である。
【図１５】実施形態によるユーザ機器の概略ブロック図である。
【図１６】別の実施形態によるユーザ機器の概略ブロック図である。
【図１７】実施形態によるネットワーク装置を備える通信ネットワークの一部分の概略図である。
【発明を実施するための形態】
【００２６】
図面全体を通じて、同じ符号が類似又は対応する要素に使用される。
【００２７】
実施形態は、一般に、映像フレーム内のブロック境界を越えるフィルタリング制御及びデブロッキング・フィルタリングの制御に関係する。実施形態のフィルタリング制御は、ブロック境界によって分離された画素からなるブロックに対して独立したフィルタリング決定を行うことによりブロック境界に関する非対称のデブロッキング決定を提供する。これは、デブロッキング・フィルタリングが様々なレベルの局所構造を有する近傍ブロックを取り扱うことが可能であり、それによって、特有のデブロッキング・フィルタリングを各ブロックでこの各ブロックの局所構造に基づいて適応させることを意味する。
【００２８】
技術的によく知られているように、映像フレームは、様々な利用可能なイントラ符号化モード及びインター符号化モードに応じて符号化及び復号化される画素からなる重なりのないブロックに分割される。一般に、映像フレームは、１６×１６画素からなる重なりのないマクロブロックに分割される。このようなマクロブロックは、次に、様々なサイズ、例えば、４×４又は８×８画素からなるより小規模なブロックに分割される可能性がある。しかし、実施形態によれば、４×８、８×４、８×１６又は１６×８のような矩形ブロックも考えられる。実施形態は、マクロブロック又はより一層大規模な画素からなるブロックを含む何らかのこのような画素からなるブロックに適用され得る。
【００２９】
新たに出現する高効率映像符号化（ＨＥＶＣ）標準では、符号化単位（ＣＵ）、予測単位（ＰＵ）及び変換単位（ＴＵ）が使用される。予測単位は、符号化単位の内部に定義され、イントラ又はインター予測モードを含む。変換単位は、符号化単位の内部に定義され、最大変換サイズは、３２×３２画素であり、最小サイズは、４×４画素である。ＣＵサイズは、現在のところ、６４×６４画素（最大）から８×８画素（最小）まで変化している。このようにして、最大ＣＵは、フレームの局所特性に依存する「粒度」を使ってより小さいＣＵ群に分割され得る。即ち、最大ＣＵは、様々なサイズのより小さいＣＵ群に分割され得る。実施形態は、このような符号化単位と共に使用されることも可能であり、これらの符号化単位は、本書で使用されているように「画素からなるブロック」という表現により網羅されているとみなされる。
【００３０】
ブロック内の各画素は、それぞれの画素値を有する。映像フレームは、一般に、色値が画素に割り当てられ、色値は明確な色形式で表現されている。よく用いられる色形式のうちの１つは、画素毎に赤成分、緑成分及び青成分を使用するようなその他の形式が存在するが、画素毎に１つの輝度成分と２つの色成分とを使用する。
【００３１】
従来的に、輝度成分フィルタリング及び色差成分フィルタリングは、別々に行われ、可能であれば、様々なフィルタリング決定及び様々なデブロッキング・フィルタを利用する。しかし、輝度フィルタリング決定がＨ．２６４の場合と同様に色差フィルタリングで使用されることが可能である。実施形態は、輝度成分、色差成分、又は、輝度成分及び色差成分の両方のためフィルタリング制御に適用され得る。特有の実施形態では、実施形態は、輝度又は色差フィルタリングを制御するために適用される。輝度のような１つの成分に対するフィルタリング決定、又は、フィルタリング決定の一部分は、その結果、色差のようなその他の成分に対するフィルタリング決定を行うときに使用され得る。
【００３２】
デブロッキング・フィルタリングは、近傍ブロック間の境界、エッジ又はボーダーを越えて実施される。その結果として、このような境界は、映像フレーム内で横並びに存在する２つの近傍ブロック１０、２０の間の垂直境界１である可能性があり、図２Ａを参照されたい。代替的に、境界は、映像フレーム内で一方のブロック１０がもう一方のブロック２０の上方に位置付けられている２つの近傍ブロック１０、２０の間の水平境界１であり、図２Ｂを参照されたい。特有の実施形態では、垂直境界は、最初に幾何学的順序で最も左の境界から始まり、右手側に向かって境界を進みながら、フィルタ処理される。次に、水平境界が幾何学的順序で上端の境界から始まり、下端に向かって進みながら、フィルタ処理される。実施形態は、しかし、この特有のフィルタリング順序に限定されることなく、実際には、どのような予め定められた順序にも適用され得る。特有の実施形態では、映像フレームのエッジにある境界は、好ましくは、フィルタ処理されず、その結果、デブロッキング・フィルタリングから除外される。
【００３３】
図１は、実施形態による映像フレーム内の複数の画素からなるブロックに適用可能であるフィルタリング制御の方法のフローチャートである。図１の方法は、一般に、ステップＳ１で始まり、ここで、ｐ０ｉがブロック１０内の画素１１、１３、１５、１７からなる第１ラインの中で、映像フレーム内の複数の画素２１、２３、２５、２７からなる近傍ブロック２０へのブロック境界１に最も近接している画素１１の画素値を表し、ｐ１ｉが画素１１、１３、１５、１７からなる第１のライン１２の中で、ブロック境界１に２番目に近接している画素１３の画素値を表し、ｐ２ｉが画素１１、１３、１５、１７からなる第１のライン１２の中で、ブロック境界１０に３番目に近接している画素１５の画素値を表すとすると、第１のフィルタ決定値が少なくとも｜ｐ２ｉ−２ｐ１ｉ＋ｐ０ｉ｜に基づいて計算される。
【００３４】
ステップＳ２は、少なくとも｜ｑ２ｉ−２ｑ１ｉ＋ｑ０ｉ｜に基づいてブロックに対する第２のフィルタ決定値を同様に計算し、ここで、ｑ０ｉは、近傍ブロック２０内の画素２１、２３、２５、２７からなる対応する第１のライン２２の中で、ブロック境界１に最も近接している近傍ブロック２０内の画素２１の画素値を表し、ｑ１ｉは、画素２１、２３、２５、２７からなる対応する第１のライン２２の中で、ブロック境界１に２番目に近接している近傍ブロック２０の画素２３の画素値を表し、ｑ２ｉは、画素２１、２３、２５、２７からなる対応する第１のライン２２の中で、ブロック境界１に３番目に近接している近傍ブロック２０内の画素２５の画素値を表す。
【００３５】
ブロック１０内の画素１１、１３、１５、１７からなる第１のライン１２と、近傍ブロック２０内の画素２１、２３、２５、２７からなる対応する第１のライン２２とは、垂直境界１の上に広がる同じ画素からなる水平ライン、即ち、画素からなる行に属する、図２Ａを参照されたい、又は、水平境界１の上に広がる同じ画素からなる垂直ライン、即ち、画素の列に属する、図２Ｂを参照されたい。それ故に、画素１１、１３、１５、１７からなる第１のライン１２と、画素２１、２３、２５、２７からなる対応する第１のライン２２とは、ブロック１０と近傍ブロック２０との間のブロック境界１に垂直である。さらに、ブロック１０内の画素１１、１３、１５、１７からなる第１のライン１２と、近傍ブロック２０内の画素２１、２３、２５、２７からなる対応する第１のライン２２とは、同じライン番号を有する。例えば、ブロック１０及び近傍ブロック２０がそれぞれ、８本のような、行又は列番号ｉ＝０・・・Ｎ−１を有するＮ本の画素からなる行又は列を備える場合、画素１１、１３、１５、１７からなる第１のライン１０は、ブロック１０においてライン番号ｉを有し、画素２１、２３、２５、２７からなる対応する第１のライン２０は、近傍ブロック２０において同様にライン番号ｉを有する。このようにして、ブロック内の画素１１、１３、１５、１７からなる第１のライン１２と、近傍ブロック２０内の画素２１、２３、２５、２７からなる対応する第１のライン２２とは、ブロック境界１に関して対向するラインである。
【００３６】
実施形態によれば、「画素からなるライン」及び「画素からなる対応するライン」は、図２Ａのように垂直ブロック境界の場合には「画素からなる行」及び「画素からなる対応する行」を表し、図２Ｂのように水平ブロック境界の場合には「画素からなる列」及び「画素からなる対応する列」を表す。
【００３７】
画素１１、１３、１５、１７からなる第１のライン１２及び画素２１、２３、２５、２７からなる対応するライン２２は、それぞれブロック１０及び近傍ブロック２０内の所定のラインである可能性がある。このように、画素１１、１３、１５、１７からなる第１のライン１２及び画素２１、２３、２５、２７からなる対応するライン２２は、フィルタリング制御が適用される各ブロック境界１に関して所定の、かつ、固定のライン番号ｉを有する。代替的に、画素１１、１３、１５、１７からなる第１のライン１２及び画素２１、２３、２５、２７からなる対応する第１のライン２２は、それぞれ現在のライン及び現在の対応するラインを表す可能性があり、このことは本書でさらに説明される。
【００３８】
ステップＳ１における第１のフィルタ決定値の計算とステップＳ２における第２のフィルタ決定値の計算とは、どんな順序でも直列に実行されることが可能であり、即ち、ステップＳ１がステップＳ２に先行するか、若しくは、ステップＳ２がステップＳ１に先行し、又は、少なくとも部分的に並列する。これらの２つのステップＳ１、Ｓ２の結果は、かくして、ブロック１０内の画素値に基づいて計算された第１の決定値及びブロック１０に対してブロック境界１の反対側にある近傍ブロック２０内の画素値に基づいて計算された第２のフィルタ決定値である。より好ましくは、第１の決定値の計算は、ブロック１０内の画素値だけに基づいて、従って、近傍ブロック２０内のいずれの画素値にも基づくことなく実行される。同様に、第２のフィルタ決定値は、好ましくは、近傍ブロック２０内の画素値だけに基づいて、従って、ブロック１０内のいずれの画素値にも基づくことなく実行される。
【００３９】
ステップＳ１において計算された第１のフィルタ決定値は、その後、ブロック境界１に対してフィルタ処理すべきブロック１０内の画素１１、１３、１５、１７のライン１２の中の画素の個数を判定するためにステップＳ３において使用される。第２のフィルタ決定値は、ブロック境界１に対してフィルタ処理すべき近傍ブロック２０内の画素２１、２３、２５、２７からなる対応するライン２２の中の画素の個数を判定するためにステップＳ４において同様に使用される。このようにして、別個のフィルタ決定値がブロック境界１の上に広がる画素の行若しくは列のどちらの側若しくはどちらの部分に対しても計算され、それぞれのフィルタ決定がそれぞれの側若しくは部分に対して計算された特有のフィルタ決定値に基づいてそれぞれの側若しくは部分に対して採用される。
【００４０】
これは、単一又は１組のフィルタ決定値が画素からなるライン及び画素からなる対応するラインに対して計算され、このフィルタ決定値又はフィルタ決定値の組がブロック境界の両側でフィルタ処理すべき画素の個数を決定するために使用される従来技術と比較されるべきである。このようにして、従来技術では、ブロック内のマッチングする画素からなるラインに対して行われた場合と同じ個数の画素が近傍ブロック内の画素からなる対応するラインに対して常にフィルタ処理される。
【００４１】
本実施形態は、その代わりに、ブロック１０内の画素１１、１３、１５、１７のライン１２に対する別個のフィルタ決定と、近傍ブロック２０内の画素２１、２３、２５、２７からなる対応するライン２２に対する別の様々なフィルタ決定とを行うことにより、非対称のフィルタリング制御及びデブロッキング・フィルタリングを可能にする。これは、特有の第１及び第２のフィルタ決定値に基づいて、デブロッキング・フィルタリング及び修正のため選択された画素２１、２３、２５、２７からなる対応するライン２２の中の画素の個数と異なるか、又は、同数である画素１１、１３、１５、１７からなるライン１２の中の画素の個数がデブロッキング・フィルタリング及び修正に対して選択され得ることを意味する。
【００４２】
一般に、本書では、ｐＸｙは、ブロック１０内のライン番号ｙを有する画素からなるラインの中のブロック境界１に相対的な画素番号Ｘの画素値を表す。同様に、ｑＸｙは、近傍ブロック２０内のライン番号ｙを有する画素からなる対応するラインの中のブロック境界１に相対的な画素番号Ｘの画素値を表す。
【００４３】
ステップＳ３及びＳ４は、どんな順序でも直列に、又は、少なくとも部分的に並列に実行されることが可能である。
【００４４】
第１の実施形態では、ステップＳ１及びＳ２は、ブロック１０と近傍ブロック２０との間の所与のブロック境界１に対して１回実行されることが可能であり、それによって、ブロック１０内の画素１１、１３、１５、１７からなる全てのライン１２、及び、近傍ブロック２０内の画素２１、２３、２５、２７からなる対応する全てのライン２２にそれぞれ適用できる第１のフィルタ決定値及び第２のフィルタ決定値を計算する。このようなアプローチでは、同じ第１の個数の画素が、好ましくは、ブロック境界１に関してブロック１０内の画素１１、１３、１５、１７からなる各ライン１２の中でフィルタ処理され、修正され、ここで、この第１の個数は、ステップＳ１において計算された第１のフィルタ決定値に基づいて判定される。同様に、同じ第２の個数の画素が、好ましくは、ブロック境界１に関して近傍ブロック２０内の画素２１、２３、２５、２７からなる１つずつの対応するライン２２の中でフィルタ処理され、修正され、ここで、この第２の個数は、ステップＳ２において計算された第２のフィルタ決定値に基づいて判定される。
【００４５】
代替的に、第２の実施形態では、第１のフィルタ決定値及び第２のフィルタ決定値は、ブロック１０内の画素１１、１３、１５、１７からなるライン１２のサブセット及び近傍ブロック２０内の画素２１、２３、２５、２７からなる対応するライン２２の対応するサブセットに適用できる。例えば、フィルタ決定値のペアは、ブロック内の画素１１、１３、１５、１７からなる最初の４本のライン１２と、近傍ブロック２０内の画素２１、２３、２５、２７からなる最初の４本の対応するライン２２とのため使用されることが可能であり、フィルタ決定値の別のペアは、ブロック内の画素１１、１３、１５、１７からなる残りの４本のライン１２と、近傍ブロック２０内の画素２１、２３、２５、２７からなる残りの４本の対応するライン２２とのため使用される。
【００４６】
第３の実施形態では、ステップＳ１における計算は、ブロック１０内の画素１１、１３、１５、１７からなるライン１２毎に実行され、ステップＳ３における別個の判定が次に画素１１、１３、１５、１７からなるこのようなライン１２毎に実行される。このような場合、ステップＳ２における計算は、近傍ブロック２０内の画素２１、２３、２５、２７からなる対応するライン２２毎に同様に実行され、ステップＳ４における別個の判定は、画素２１、２３、２５、２７からなるこのような対応するライン２２毎に実行される。
【００４７】
このようにして、第３の実施形態では、ステップＳ３は、ステップＳ１において計算された第１のフィルタ決定値に基づいてブロック境界１に対してフィルタ処理すべきブロック１０内の画素１１、１３、１５、１７からなる第１のライン１２の中の画素の個数を決定するステップを備える。ステップＳ４は、ステップＳ２において計算された第２のフィルタ決定値に基づいてブロック境界１に対してフィルタ処理すべき近傍ブロック２０内の画素２１、２３、２５、２７からなる対応する第１のライン２２の中の画素の個数を決定するステップを備える。
【００４８】
以下の部分は、どのようにして第３の実施形態がブロック境界１を横断するライン（行又は列）毎に別々に適用されるかを説明する。本例では、第１のフィルタ決定値は、
ｄｐｉ＝｜ｐ２ｉ−２ｐ１ｉ＋ｐ０ｉ｜
として定義され、第２のフィルタ決定値は、
ｄｑｉ＝｜ｑ２ｉ−２ｑ１ｉ＋ｑ０ｉ｜
として定義される。この方法は、その結果、以下を備える：
●ブロック境界を横断する各ラインｉに対して、ｄｐｉを計算し、ｄｑｉを計算する。
●ｄｐｉ＜ｔｈｒ１である場合、
○現在のブロック１０のラインｉの標準フィルタリングを行う、例えば、ブロックボーダー又は境界からの２個の画素をフィルタ処理し、修正する。
●そうではない場合、即ち、ｄｐｉ≧ｔｈｒ１である場合、
○現在のブロック１０のラインｉのブロックボーダー又は境界からの第２の画素をフィルタ処理しない、又は、現在のブロック１０のラインｉ上の画素を全くフィルタ処理しない。
●ｄｑｉ＜ｔｈｒ２である場合、
○近傍ブロック２０のラインｉの標準フィルタリングを行い、例えば、ブロックボーダー又は境界１からの２個の画素をフィルタ処理し、修正する。
●そうではない場合、即ち、ｄｑｉ≧ｔｈｒ２である場合、
○近傍ブロック２０のラインｉのブロックボーダー又は境界１からの第２の画素をフィルタ処理しない、又は、近傍ブロック２０のラインｉ上の画素を全くフィルタ処理しない。
【００４９】
上記例により示されるように、図１における方法の第３の実施形態は、別個の第１及び第２のフィルタ決定値を計算し、その結果、ブロック境界１に対しては、ブロック１０及び近傍ブロック２０内の各行又は列に対してフィルタ処理すべき画素の個数の別個の決定を行うことが可能である。このように、第３の実施形態では、第１及び第２のフィルタ決定値は、ラインに固有のフィルタ決定値であり、即ち、ブロック１０内の画素１１、１３、１５、１７からなる各ライン１２に対して、及び、近傍ブロック２０内の画素２１、２３、２５、２７からなる対応する各ライン２２に対して計算される。
【００５０】
第１の実施形態では、ブロックに固有のフィルタ決定値が使用される。かくして、このような場合、単一の第１のフィルタ決定値がブロック境界１についてはブロック１０に対して計算され、特有のブロック境界１に関してブロック１０内の画素１１、１３、１５、１７からなる全てのライン１２に適用することが可能である。同様に、単一の第２のフィルタ決定値がブロック境界１については近傍ブロック２０に対して計算され、特有のブロック境界１に関して近傍ブロック２０内の画素２１、２３、２５、２７からなる全ての対応するライン２２に適用することが可能である。
【００５１】
第１の実施形態の第１の例は、｜ｐ２２−２ｐ１２＋ｐ０２｜＋｜ｐ２５−２ｐ１５＋ｐ０５｜として第１のフィルタ決定値を計算するステップを含み、ここで、ｐ０２は、画素からなる第１のラインの中で、ブロック境界１に最も近接している画素の画素値を表し、ｐ１２は、画素からなる第１のラインの中で、ブロック境界１に２番目に近接している画素の画素値を表し、ｐ２２は、画素からなる第１のラインの中で、ブロック境界１に３番目に近接している画素の画素値を表し、ｐ０５は、ブロック１０内の画素からなる第２のラインの中で、ブロック境界１に最も近接している画素の画素値を表し、ｐ１５は、画素からなる第２のラインの中で、ブロック境界１に２番目に近接している画素の画素値を表し、ｐ２５は、画素からなる第２のラインの中で、ブロック境界１に３番目に近接している画素の画素値を表す。
【００５２】
第２のフィルタ決定値は、次に、好ましくは、｜ｑ２２−２ｑ１２＋ｑ０２｜＋｜ｑ２５−２ｑ１５＋ｑ０５｜として計算され、ここで、ｑ０２は、画素からなる対応する第１のラインの中で、ブロック境界１に最も近接している近傍ブロック２０内の画素の画素値を表し、ｑ１２は、画素からなる対応する第１のラインの中で、ブロック境界１に２番目に近接している近傍ブロック２０の画素の画素値を表し、ｑ２２は、画素からなる対応する第１のラインの中で、ブロック境界１に３番目に近接している近傍ブロック２０内の画素の画素値を表し、ｑ０５は、近傍ブロック２０内の画素からなる対応する第２のラインの中で、ブロック境界１に最も近接している近傍ブロック２０内の画素の画素値を表し、ｑ１５は、画素からなる対応する第２のラインの中で、ブロック境界１に２番目に近接している近傍ブロック２０の画素の画素値を表し、ｑ２５は、画素からなる対応する第２のラインの中で、ブロック境界１に３番目に近接している近傍ブロック２０内の画素の画素値を表す。
【００５３】
第１のフィルタ決定値は、その結果、フィルタ処理すべき画素の個数を判定するときにブロック１０内の画素１１、１３、１５、１７からなる全てのライン１２のため使用され、第２のフィルタ決定値は、フィルタ処理すべき画素の個数を決定するときに近傍ブロック２０内の画素２１、２３、２５、２７からなる全ての対応するライン２２のため使用される。
【００５４】
第１の実施形態のこの第１の例では、画素からなる第１のラインは、ラインｉ＝２に対応し、対応する第１のラインは、対応するラインｉ＝２に対応し、画素からなる第２のラインは、ラインｉ＝５に対応し、第２の対応するラインは、対応するラインｉ＝５に対応する。この場合、ブロック１０は、好ましくは、８本のラインからなり、近傍ブロック２０は、好ましくは、同様に、８本のラインからなり、即ち、ｉ＝０〜７である。
【００５５】
以下の部分は、第１の実施形態の実装例を示す。本実装例では、第１のフィルタ決定値は、ｄｐ＝｜ｐ２２−２ｐ１２＋ｐ０２｜＋｜ｐ２５−２ｐ１５＋ｐ０５｜として定義され、第２のフィルタ決定値は、ｄｑ＝｜ｑ２２−２ｑ１２＋ｑ０２｜＋｜ｑ２５−２ｑ１５＋ｑ０５｜として定義される。
●ｄｐを計算し、ｄｑを計算する。
●ｄｐ＜ｔｈｒ１である場合、
○現在のブロック１０の標準フィルタリングを行う、例えば、ブロックボーダー又は境界からの２個の画素をフィルタ処理し、修正する。
●そうではない場合、即ち、ｄｐ≧ｔｈｒ１である場合、
○ブロックボーダー又は境界１からの第２の画素をフィルタ処理しない、又は、画素を全くフィルタ処理しない。
●ｄｑ＜ｔｈｒ２である場合、
○近傍ブロック２０の標準フィルタリングを行い、例えば、ブロックボーダー又は境界１からの２個の画素をフィルタ処理し、修正する。
●そうではない場合、即ち、ｄｑ≧ｔｈｒ２である場合、
○ブロックボーダー又は境界１からの第２の画素をフィルタ処理しない、又は、画素を全くフィルタ処理しない。
【００５６】
第１の実施形態の第２の例では、第１のフィルタ決定値は、ラインｉ＝２及びラインｉ＝５の代わりにラインｉ＝３及びラインｉ＝４の中の画素値に基づいてブロックに固有のフィルタ決定値として計算される。近傍ブロック２０内の対応するラインｉ＝３及びｉ＝４は、好ましくは、その結果、第２のフィルタ決定値を計算するため使用される。第１のフィルタ決定値は、その結果、｜ｐ２３−２ｐ１３＋ｐ０３｜＋｜ｐ２４−２ｐ１４＋ｐ０４｜として計算される可能性があり、第２のフィルタ決定値は、｜ｑ２３−２ｑ１３＋ｑ０３｜＋｜ｑ２４−２ｑ１４＋ｑ０４｜として計算され、ここで、ｐ０３は、画素からなる第１のラインの中で、ブロック境界１に最も近接している画素の画素値を表し、ｐ１３は、画素からなる第１のラインの中で、ブロック境界１に２番目に近接している画素の画素値を表し、ｐ２３は、画素からなる第１のラインの中で、ブロック境界１に３番目に近接している画素の画素値を表し、ｐ０４は、ブロック１０内の画素からなる第２のラインの中で、ブロック境界１に最も近接している画素の画素値を表し、ｐ１４は、画素からなる第２のラインの中で、ブロック境界１に２番目に近接している画素の画素値を表し、ｐ２４は、画素からなる第２のラインの中で、ブロック境界１に３番目に近接している画素の画素値を表し、ｑ０３は、画素からなる対応する第１のラインの中で、ブロック境界１に最も近接している近傍ブロック２０内の画素の画素値を表し、ｑ１３は、画素からなる対応する第１のラインの中で、ブロック境界１に２番目に近接している近傍ブロック２０の画素の画素値を表し、ｑ２３は、画素からなる対応する第１のラインの中で、ブロック境界１に３番目に近接している近傍ブロック２０内の画素の画素値を表し、ｑ０４は、近傍ブロック２０内の画素からなる対応する第２のラインの中で、ブロック境界１に最も近接している近傍ブロック２０内の画素の画素値を表し、ｑ１４は、画素からなる対応する第２のラインの中で、ブロック境界１に２番目に近接している近傍ブロック２０の画素の画素値を表し、ｑ２４は、画素からなる対応する第２のラインの中で、ブロック境界１に３番目に近接している近傍ブロック２０内の画素の画素値を表す。
【００５７】
第２の実施形態では、第１のフィルタ決定値及び第２のフィルタ決定値は、画素からなる４本のライン及び画素からなる４本の対応するラインのグループに対して計算される。この第２の実施形態は、ブロック及び近傍ブロックがそれぞれ４×４画素のサイズを有する場合に適当である可能性がある。さらに、第２の実施形態は、８×８画素のような画素からなるより大きいブロックのため使用される可能性もある。後者の場合、フィルタ決定のペアは、最初の４本のライン画素及び画素からなる最初の４本の対応するラインに対して計算され、フィルタ決定の別のペアは、画素からなる残りの４本のライン及び画素からなる残りの４本の対応するラインに対して計算される。
【００５８】
第２の実施形態の第１の例は、｜ｐ２０−２ｐ１０＋ｐ００｜＋｜ｐ２３−２ｐ１３＋ｐ０３｜として第１のフィルタ決定値を計算し、｜ｑ２０−２ｑ１０＋ｑ００｜＋｜ｑ２３−２ｑ１３＋ｑ０３｜として第２のフィルタ決定値を計算する。この場合、画素からなるライン及び画素からなる対応するラインは、ライン番号ｉ＝０からライン番号ｉ＝３まで続く可能性がある。図２Ａ及び２Ｂに示されるようにｉ＝０〜７のような画素からなるより大規模なブロックに対し、第１のフィルタ決定値及び第２のフィルタ決定値の第１のペアは、｜ｐ２０−２ｐ１０＋ｐ００｜＋｜ｐ２３−２ｐ１３＋ｐ０３｜及び｜ｑ２０−２ｑ１０＋ｑ００｜＋｜ｑ２３−２ｑ１３＋ｑ０３｜として計算される。フィルタ決定値のこの第１のペアは、画素からなる最初の４本のラインと画素からなる最初の４本の対応するライン、即ち、ｉ＝０〜３に適用可能である。第１のフィルタ決定値及び第２のフィルタ決定値の第２のペアは、その結果、｜ｐ２４−２ｐ１４＋ｐ０４｜＋｜ｐ２７−２ｐ１７＋ｐ０７｜及び｜ｑ２４−２ｑ１４＋ｑ０４｜＋｜ｑ２７−２ｑ１７＋ｑ０７｜として計算される。フィルタ決定値の第２のペアは、その結果、画素からなる４本の最後のラインと画素からなる４本の最後の対応するライン、即ち、ｉ＝４〜７に適用可能である。
【００５９】
第２の実施形態の第２の例は、｜ｐ２１−２ｐ１１＋ｐ０１｜＋｜ｐ２２−２ｐ１２＋ｐ０２｜として第１のフィルタ決定値を計算し、｜ｑ２１−２ｑ１１＋ｑ０１｜＋｜ｑ２２−２ｑ１２＋ｑ０２｜として第２のフィルタ決定値を計算する。この場合、画素からなるライン及び画素からなる対応するラインは、ライン番号ｉ＝０からライン番号ｉ＝３まで続く可能性がある。図２Ａ及び２Ｂに示されるようにｉ＝０〜７のような画素からなるより大規模なブロックに対し、第１のフィルタ決定値及び第２のフィルタ決定値の第１のペアは、｜ｐ２１−２ｐ１１＋ｐ０１｜＋｜ｐ２２−２ｐ１２＋ｐ０２｜及び｜ｑ２１−２ｑ１１＋ｑ０１｜＋｜ｑ２２−２ｑ１２＋ｑ０２｜として計算される。フィルタ決定値のこの第１のペアは、画素からなる最初の４本のラインと画素からなる最初の４本の対応するライン、即ち、ｉ＝０〜３に適用可能である。第１のフィルタ決定値及び第２のフィルタ決定値の第２のペアは、その結果、｜ｐ２５−２ｐ１５＋ｐ０５｜＋｜ｐ２６−２ｐ１６＋ｐ０６｜及び｜ｑ２５−２ｑ１５＋ｑ０５｜＋｜ｑ２６−２ｑ１６＋ｑ０６｜として計算される。フィルタ決定値の第２のペアは、その結果、画素からなる４本の最後のラインと画素からなる４本の最後の対応するライン、即ち、ｉ＝４〜７に適用可能である。
【００６０】
第２の実施形態のこの概念は、第１のフィルタ決定値がブロック内の画素からなるラインのサブセットに存在する画素の画素値に基づいて計算され、第２のフィルタ決定値が近傍ブロック内の画素からなる対応するラインのサブセットに存在する画素の画素値に基づいて計算される場合に拡張され得る。このようにして、第２の実施形態のこの一般的概念では、第１のフィルタ決定値は、｜ｐ２ｉ−２ｐ１ｉ＋ｐ０ｉ｜＋｜ｐ２ｊ−２ｐ１ｊ＋ｐ０ｊ｜として計算される可能性があり、ここで、ｉ、ｊは、区間０からＮ−１における異なるライン番号を表現し、Ｎは、ブロック及び近傍ブロック内の画素からなるラインの総数を表し、ｉ≠ｊである。第２のフィルタ決定値は、その結果、好ましくは、｜ｑ２ｉ−２ｑ１ｉ＋ｑ０ｉ｜＋｜ｑ２ｊ−２ｑ１ｊ＋ｑ０ｊ｜として計算される。この概念は、当然ながら、画素からなるライン又は画素からなる対応するラインのうちの３本以上を格納するサブセットを用いて拡張され得る。
【００６１】
第１又は第３の実施形態の関連例では、第１のフィルタ決定値は、
【数１】
0005924700.tif 000002
として計算され、第２のフィルタ決定値は、
【数２】
0005924700.tif 000003
として計算される。
【数３】
0005924700.tif 000004
は、異なるラインに固有の重みを表現する。この概念は、画素からなる３本以上のラインと画素からなる２本以上の対応するラインとを用いる場合にさらに拡張され得る。特有の例では、ブロック又は近傍ブロックの中央により近接している画素からなるライン又は画素からなる対応するラインは、その結果、ブロック又は近傍ブロックのエッジのうちの１つにより近接しているライン若しくは画素、又は、画素からなる対応するラインと比べるとかなり大きい重みが割り当てられる可能性がある。
【００６２】
第４の実施形態では、ブロックに固有のフィルタ決定値及びラインに固有のフィルタ決定値の組み合わせがブロック内の画素からなるライン及び近傍ブロック内の画素からなる対応するラインに対してフィルタ処理すべき画素の個数を判定するために使用される。図３は、このような実施形態を概略的に示す。この方法は、第３のフィルタ決定値が｜ｐ２２−２ｐ１２＋ｐ０２｜＋｜ｐ２５−２ｐ１５＋ｐ０５｜として計算されるステップＳ１０で始まり、ここで、ｐ０２は、ブロック１０内の画素からなる第２のラインの中で、ブロック境界１に最も近接している画素の画素値を表し、ｐ１２は、画素からなる第２のラインの中で、ブロック境界１に２番目に近接している画素の画素値を表し、ｐ２２は、画素からなる第２のラインの中で、ブロック境界１に３番目に近接している画素の画素値を表し、ｐ０５は、ブロック１０内の画素からなる第３のラインの中で、ブロック境界１に最も近接している画素の画素値を表し、ｐ１５は、画素からなる第３のラインの中で、ブロック境界１に２番目に近接している画素の画素値を表し、ｐ２５は、画素からなる第３のラインの中で、ブロック境界１に３番目に近接している画素の画素値を表す。画素からなる第２のラインは、好ましくは、ブロック１０内のライン番号２に対応し、画素からなる第３のラインは、好ましくは、ブロック１０内のライン番号５に対応する。図２Ａ及び２Ｂを参照されたい。
【００６３】
次のステップＳ１１は、第４のフィルタ決定値を｜ｑ２２−２ｑ１２＋ｑ０２｜＋｜ｑ２５−２ｑ１５＋ｑ０５｜として計算し、ここで、ｑ０２は、近傍ブロック２０内の画素からなる対応する第２のラインの中で、ブロック境界１に最も近接している近傍ブロック２０内の画素の画素値を表し、ｑ１２は、画素からなる対応する第２のラインの中で、ブロック境界１に２番目に近接している近傍ブロック２０の画素の画素値を表し、ｑ２２は、画素からなる対応する第２のラインの中で、ブロック境界１に３番目に近接している近傍ブロック２０内の画素の画素値を表し、ｑ０５は、近傍ブロック２０内の画素からなる対応する第３のラインの中で、ブロック境界１に最も近接している近傍ブロック２０内の画素の画素値を表し、ｑ１５は、画素からなる対応する第３のラインの中で、ブロック境界２０に２番目に近接している近傍ブロック２０の画素の画素値を表し、ｑ２５は、画素からなる対応する第３のラインの中で、ブロック境界１に３番目に近接している近傍ブロック２０内の画素の画素値を表す。画素からなる第２の対応するラインは、好ましくは、近傍ブロック２０内のライン番号２に対応し、画素からなる第３の対応するラインは、好ましくは、近傍ブロック２０内のライン番号５に対応する。図２Ａ及び２Ｂを参照されたい。
【００６４】
ステップＳ１０及びＳ１１は、どんな順序でも直列に、又は、少なくとも部分的に並列に実行されることが可能である。
【００６５】
次のステップＳ１２は、ステップＳ１０で計算された第３のフィルタ決定値を第３の閾値（Ｔ３）と比較する。第３のフィルタ決定値が第３の閾値未満である場合、この方法は、図１のステップＳ１とその後にステップＳ３とに続く。従って、このような場合、それぞれのラインに固有の、又は、第１のフィルタ決定値は、ブロック１０内のラインｉ毎に計算され、ここで、ｉは、好ましくは、０から７までである。この第１のフィルタ決定値は、その結果、図１のステップＳ１において｜ｐ２ｉ−２ｐ１ｉ＋ｐ０ｉ｜として計算される。図１のステップＳ３は、ステップＳ１において画素からなるラインｉに対して計算された第１のフィルタ決定値に基づいてブロック境界１に対してフィルタ処理すべきブロック１０内の画素からなるラインｉの中の画素の個数を判定する。この手順は、ブロック１０内の画素からなるライン毎に実行される。このようにして、図２Ａ又は２Ｂに示されるようなブロック１０を使って、ステップＳ１及びＳ３は、８回実行されることになる。この方法は、その後、図３のステップＳ１３に続く。同様に、第３のフィルタ決定値がステップＳ１２において第３の閾値未満ではない場合、この方法は、ステップＳ１３に続く。
【００６６】
ステップＳ１３は、ステップＳ１１で計算された第４のフィルタ決定値を第４の閾値（Ｔ４）と比較する。第４のフィルタ決定値が第４の閾値未満である場合、この方法は、図１のステップＳ２及びＳ４に続く。それぞれのラインに固有の、又は、第２のフィルタ決定値は、近傍ブロック２０内の対応するラインｉ毎に図１のステップＳ２において｜ｑ２ｉ−２ｑ１ｉ＋ｑ０ｉ｜として計算される。図３のステップＳ４は、ステップＳ２において画素からなる対応するラインｉに対して計算された第２のフィルタ決定値に基づいてブロック境界１に対してフィルタ処理すべき近傍ブロック２０内の画素からなる対応するラインｉの中の画素の個数を判定する。この手順は、近傍ブロック２０内の画素からなる対応するライン毎に実行される。この方法は、その後、終了する。同様に、第４のフィルタ決定値がステップＳ１３において第４の閾値未満ではない場合、この方法は、終了する。
【００６７】
ステップＳ１２、Ｓ１及びＳ３により形成されるループは、ステップＳ１３、Ｓ２及びＳ４により形成されるループに対してどのような順序でも順次に、又は、少なくとも部分的に並列に実行され得る。
【００６８】
この第４の実施形態の例では、ブロックベースの非対称フィルタ決定とラインベースの非対称フィルタ決定との組み合わせが使用される。本例では、第３のフィルタ決定値は、ｄｐ＝｜ｐ２２−２ｐ１２＋ｐ０２｜＋｜ｐ２５−２ｐ１５＋ｐ０５｜として計算され、第４のフィルタ決定値は、ｄｑ＝｜ｑ２２−２ｑ１２＋ｑ０２｜＋｜ｑ２５−２ｑ１５＋ｑ０５｜として計算される。ラインに固有のフィルタ決定値、即ち、第１及び第２のフィルタ決定値は、ライン及び対応するライン番号ｉに対してそれぞれｄｐｉ＝｜ｐ２ｉ−２ｐ１ｉ＋ｐ０ｉ｜及びｄｑｉ＝｜ｑ２ｉ−２ｑ１ｉ＋ｑ０ｉ｜として計算される。
●ｄｐを計算し、ｄｑを計算する。
●ｄｐ＜ｔｈｒ１である場合、
○ラインｉ毎に
■ラインｉに対するｄｐｉを計算する。
■ｄｐｉ＜ｔｈｒ１である場合、
●現在のブロック１０内のラインｉ、例えば、ブロックボーダー又は境界１からの２個の画素の標準フィルタリングを行う。
■そうではない場合、即ち、ｄｐｉ≧ｔｈｒ１である場合、
●現在のブロック１０のラインｉのブロックボーダー又は境界１からの第２の画素をフィルタ処理しない、又は、現在のブロック１０のラインｉ上の画素を全くフィルタ処理しない。
●そうではない場合、即ち、ｄｐ≧ｔｈｒ１である場合、
○ブロックボーダー又は境界１からの第２の画素をフィルタ処理しない、又は、画素を全くフィルタ処理しない。
●ｄｑ＜ｔｈｒ２である場合、
○ラインｉ毎に
■ラインｉに対するｄｑｉを計算する。
■ｄｑｉ＜ｔｈｒ２である場合、
●近傍ブロック２０内のラインｉ、例えば、ブロックボーダー又は境界１からの２個の画素の標準フィルタリングを実行する。
■そうではない場合、即ち、ｄｑｉ≧ｔｈｒ２である場合、
●近傍ブロック２０のラインｉのブロックボーダー又は境界１からの第２の画素をフィルタ処理しない、又は、近傍ブロック２０のラインｉ上の画素を全くフィルタ処理しない。
●そうではない場合、即ち、ｄｑ≧ｔｈｒ２である場合、
○ブロックボーダー又は境界１からの第２の画素をフィルタ処理しない、又は、画素を全くフィルタ処理しない。
【００６９】
上記開示された例では、第３のフィルタ決定値及び第１のフィルタ決定値を比較するときに同じ閾値、即ち、ｔｈｒ１が使用され、そして、第４のフィルタ決定値及び第２のフィルタ決定値を比較するときに同じ閾値、即ち、ｔｈｒ２が使用されている。代替的なアプローチでは、第３の閾値は、第３のフィルタ決定値のため使用され、第１の閾値は、第１のフィルタ決定値のため使用され、第４の閾値は、第４のフィルタ決定値のため使用され、第２の閾値は、第２のフィルタ決定値のため使用される。特有の実施形態では、第３の閾値及び第４の閾値は等しく、第１の閾値及び第２の閾値は等しい。
【００７０】
図４は、図１の判定ステップＳ３及びＳ４の特有の実施形態を示すフローチャートである。この方法は、図１におけるステップＳ２から続く。次のステップＳ２０は、図１のステップＳ１で計算された第１のフィルタ決定値（ｄｐ）を第１の閾値（Ｔ１）と比較する。第１のフィルタ決定値が第１の閾値未満である場合、この方法は、ステップＳ２０からステップＳ２１に続く。ステップＳ２１は、ブロック境界１に対してブロック１０内の画素１１、１３、１５、１７からなるライン１２の中の２個の画素をフィルタ処理することを判定する。これらの２個の画素は、好ましくは、画素１１、１３、１５、１７からなるライン１２の中で、ブロック境界１に最も近接している画素１１、及び、ブロック境界１に２番目に近接している画素１３である。しかし、第１のフィルタ決定値がステップＳ２０において第１の閾値未満ではない場合、この方法は、その代わりにステップＳ２２に続く。ステップＳ２２の第１の実施形態は、ブロック境界１に対してブロック１０内の画素１１、１３、１５、１７からなるライン１２の中の１個の画素をフィルタ処理することを判定する。この画素１１は、好ましくは、画素１１、１３、１５、１７からなるライン１２の中でブロック境界１に最も近接している画素１１である。ステップＳ２２の第２の実施形態は、ブロック境界１に対してブロック１０内の画素１１、１３、１５、１７からなるライン１２の中の画素をフィルタ処理しないことを判定する。
【００７１】
ステップＳ２３からＳ２５は、近傍ブロック２０内の画素２１、２３、２５、２７からなる対応するライン２２に対する対応する判定を実行する。このようにして、ステップＳ２３は、図１のステップＳ２で計算された第２のフィルタ決定値（ｄｑ）を第２閾値（Ｔ２）と比較する。第２のフィルタ決定値が第２の閾値未満である場合、この方法は、ステップＳ２４に続く。ステップＳ２４は、ブロック境界１に対して近傍ブロック２０内の画素２１、２３、２５、２７からなる対応するライン２２の中の２個の画素をフィルタ処理することを判定する。これらの２個の画素２１、２３は、好ましくは、画素２１、２３、２５からなる対応するライン２２の中で、ブロック境界１に最も近接している画素２１、及び、ブロック境界１に２番目に近接している画素２３である。第２のフィルタ決定値が第２の閾値未満ではない場合、この方法は、代わりにステップＳ２３からステップＳ２５に続く。ステップＳ２５の第１の実施形態は、ブロック境界１に対して近傍ブロック２０内の画素２１、２３、２５、２７からなる対応するライン２２の中で１個の画素をフィルタ処理することを判定する。この画素２１は、好ましくは、画素２１、２３、２５、２７からなる対応するライン２２の中で、ブロック境界１に最も近接している画素２１である。ステップＳ２５の第２の実施形態は、ブロック境界１に対して近傍ブロック内の画素２１、２３、２５、２７からなる対応するライン２２の中の画素をフィルタ処理しないことを判定する。
【００７２】
ステップＳ２０、Ｓ２１及びＳ２２は、ステップＳ２３、Ｓ２４及びＳ２５より前に、より後に、又は、少なくとも部分的に並列に実行され得る。
【００７３】
この概念は、１個のフィルタ決定値当たり２個以上の閾値を使用することにより拡張され得る。例えば、ｄｐ＜Ｔ１である場合、２個の画素が画素１１、１３、１５、１７からなるライン１２の中でフィルタ処理され、Ｔ１≦ｄｐ＜Ｔ１’である場合、１個の画素が画素１１、１３、１５、１７からなるライン１２の中でフィルタ処理され、ｄｐ≧Ｔ１’である場合、画素１１、１３、１５、１７からなるライン１２の中で画素はフィルタ処理されない。この場合、Ｔ１＜Ｔ１’である。同様に、ｄｑ＜Ｔ２である場合、２個の画素が画素２１、２３、２５、２７からなる対応するライン２２の中でフィルタ処理され、Ｔ２≦ｄｑ＜Ｔ２’である場合、１個の画素が画素２１、２３、２５、２７からなる対応するライン２２の中でフィルタ処理され、ｄｑ≧Ｔ２’である場合、画素２１、２３、２５、２７からなる対応するライン２２の中で画素はフィルタ処理されない。この場合、Ｔ２＜Ｔ２’である。
【００７４】
このように、一般的な態様では、第１又は第２のフィルタ決定値がゼロに接近するほど、より大きい第１又は第２のフィルタ決定値と比べると、画素からなるライン又は対応するラインの中のより多くの画素をフィルタリングし、そして、もしかすると修正することにより、より多くのフィルタリングが画素からなる特有のライン又は対応するラインに適用されるべきである。これは、ゼロ又は小さい第１又は第２のフィルタ決定値が全く又は殆ど構造を暗示することなく、むしろ、映像フレーム内にかなり均一なエリアを暗示することを意味する。同様に、大きい第１又は第２のフィルタ決定値は、一般に、映像フレーム内のエリア内の局所構造を反映し、この局所構造は、抑制される若しくはフィルタで取り除かれるべきではない。
【００７５】
本実施形態は、ブロックボーダーからの第２の画素のフィルタリングが従来技術のＨＥＶＣ解決策と比べるとあまり頻繁に行われない可能性があるので、デブロッキング・フィルタリングとの関連において計算的複雑性を減少させる。
【００７６】
前述され、様々なフィルタ決定値を比較するために使用された閾値は、好ましくは、ブロック又は近傍ブロックに割り当てられた量子化パラメータ（ＱＰ）に依存する。図５は、このようなアプローチを概略的に示す。この方法は、ステップＳ３０で開始し、ここで、第１のフィルタ決定値が比較される（図４のステップＳ２０を参照）第１の閾値がブロック１０に関連付けられた量子化パラメータに基づいて判定される。同様に、ステップＳ３１は、近傍ブロック２０に関連付けられた量子化パラメータ及び／又はブロック１０に関連付けられた量子化パラメータに基づいて、第２のフィルタ決定値が比較される（図４のステップ２３を参照）第２の閾値を決定する。
【００７７】
例えば、Ｔ１及びＴ２は、ブロック１０又は近傍ブロック２０のＱＰ値から判定されるパラメータβに基づいて判定される。特有の実施形態では、パラメータβは、ＱＰ値に基づいて表から読み取られる。以下の表１を参照されたい。
【表１】
0005924700.tif 000005
【００７８】
特定の実施形態では、Ｔ１＝Ｔ２＝β／６又はＴ１＝Ｔ２＝（β＋β＞＞１）＞＞３である。実施形態の別の変形として、閾値は、別個の表から読み取られることが可能であり、即ち、Ｔ１＝ｆｕｎｃｔｉｏｎ（ＱＰ）、Ｔ２＝ｆｕｎｃｔｉｏｎ（ＱＰ）である。さらに、前述の第３及び第４の閾値は、好ましくは、ブロック及び近傍ブロックにそれぞれ関連付けられた量子化パラメータに基づいて判定される。
【００７９】
図６は、実施形態のフィルタリング制御がフィルタリングプロセスとの関連においてどのように使用され得るかを示すフローチャートである。この方法は、ステップＳ４０で開始し、ここで、第１のオフセット又はデルタ値Δが
（９×（ｑ０ｊ−ｐ０ｊ）−３×（ｑ１ｊ−ｐ１ｊ））／１６
に基づいて計算され、ここで、ｐ０ｊは、画素１１、１３、１５、１７からなるライン１２の中で、ブロック境界１に最も近接している画素１１の画素値を表し、ｐ１ｊは、画素１１、１３、１５、１７からなるライン１２の中で、ブロック境界１に２番目に近接している画素１３の画素値を表し、ｑ０ｊは、画素２１、２３、２５、２７からなる対応するライン２２の中で、ブロック境界１に最も近接している近傍ブロック２０内の画素２１の画素値を表し、ｑ１ｊは、画素２１、２３、２５、２７からなる対応するライン２２の中で、ブロック境界１に２番目に近接している近傍ブロック２０の画素２３の画素値を表す。
【００８０】
この第１のオフセットは、第１のオフセットを画素値に加算することにより、即ち、ｐ０’ｊ＝ｐ０ｊ＋Δにより、画素１１、１３、１５、１７からなるライン１２の中でブロック境界１に最も近接している画素１１の画素値を修正するためにステップＳ４１で使用される。ステップＳ４１は、画素値から第１のオフセットを減算することにより、即ち、ｑ０’ｊ＝ｑ０ｊ−Δにより、画素２１、２３、２５、２７からなる対応するライン２２の中でブロック境界１に最も近接している画素２１の画素値をさらに修正する。この方法は、次に、第１のフィルタ決定値（ｄｐ）及び第２のフィルタ決定値（ｄｑ）が計算される図１のステップＳ１及びＳ２に続く。次のステップＳ４２は、第１のフィルタ決定値を第１の閾値（Ｔ１）と比較する。このステップＳ４２は、図４のステップＳ２０に対応する。第１のフィルタ決定値が閾値未満である場合、この方法は、ステップＳ４３に続く。
【００８１】
ステップＳ４３は、
（ｐ０ｊ＋ｐ２ｊ−２ｐ１ｊ＋２Δ）／４
に基づいて第２のオフセット又はデルタ値Δｐを計算し、ここで、ｐ２ｊは、画素１１、１３、１５、１７からなるライン１２の中で、ブロック境界１に３番目に近接している画素１５の画素値を表す。第２のオフセットは、その後、第２のオフセットを画素値に加算することにより、即ち、ｐ１’ｊ＝ｐ１ｊ＋Δｐにより、画素１１、１３、１５、１７からなるライン１２の中でブロック境界１に２番目に近接している画素１３の画素値を修正するためにステップＳ４４で使用される。
【００８２】
この方法は、その後、ステップＳ４５に続く。この方法は、第１のフィルタ決定値が第１の閾値未満ではない場合、図６においてステップＳ４２からステップＳ４５に同様に続く。
【００８３】
ステップＳ４５は、第２のフィルタ決定値を第２の閾値（Ｔ２）と比較する。このステップＳ４５は、図４のステップＳ２３に対応する。第２のフィルタ決定値が第２の閾値未満である場合、この方法は、ステップＳ４６に続く。ステップＳ４６は、
（ｑ０ｊ＋ｑ２ｊ−２ｑ１ｊ−２Δ）／４
に基づいて第３のオフセットΔｑを計算し、ここで、ｑ２ｊは、画素２１、２３、２５、２７からなる対応するライン２２の中で、ブロック境界１に３番目に近接している近傍ブロック２０内の画素２５の画素値を表す。第３のオフセットは、第３のオフセットを画素値に加算することにより、即ち、ｑ１’ｊ＝ｑ１ｊ＋Δｑにより、画素２１、２３、２５、２７からなる対応するライン２２の中で、ブロック境界１に２番目に近接している画素２３の画素値を修正するためにステップＳ４７で使用される。
【００８４】
ステップＳ４２、Ｓ４３及びＳ４４は、どんな順序でも直列に、又は、ステップＳ４５、Ｓ４６及びＳ４７と少なくとも部分的に並列に実行されることが可能である。
【００８５】
上記において、第１、第２及び第３のオフセットは、画素値の特有の方程式に基づいて計算される。これは、第１のオフセットが
（９×（ｑ０ｊ−ｐ０ｊ）−３×（ｑ１ｊ−ｐ１ｊ））／１６
の関数として計算され、第２のオフセットが
（ｐ０ｊ＋ｐ２ｊ−２ｐ１ｊ＋２Δ）／４
の関数として計算され、第３のオフセットが
（ｑ０ｊ＋ｑ２ｊ−２ｑ１ｊ−２Δ）／４
の関数として計算されることを意味する。様々なこのような関数が考えられ、ステップＳ４０、Ｓ４３及びＳ４６で使用され得る。このような関数は、従って、オフセットの計算がハードウェアで効率的に実行されるように定義されることが可能である。このような場合、除算を含まないこと、及び／又は、オフセットが整数値であるように関数を定義しないことが一般的に好ましい。実施形態では、（Ｘ＋８）＞＞４がＸ／１６の整数表現として使用され、ここで、＞＞は、右シフト演算を表す。このように、特定の実施形態では、ステップＳ４０は、
（９×（ｑ０ｊ−ｐ０ｊ）−３×（ｑ１ｊ−ｐ１ｊ）＋８）＞＞４
に基づくように、かつ、好ましくは、一致するように第１のオフセットを計算する。第２及び第３のオフセットの対応する整数表現は、
（（（ｐ０ｊ＋ｐ２ｊ＋１）＞＞１）−ｐ１ｊ＋Δ）＞＞１
及び
（（（ｑ０ｊ＋ｑ２ｊ＋１）＞＞１）−ｑ１ｊ−Δ）＞＞１
とすることができる。
【００８６】
例として、デブロッキングの結果として修正された画素値は、以下のように計算される。本例では、第１のフィルタ決定値は、ｄｐ＝｜ｐ２２−２ｐ１２＋ｐ０２｜＋｜ｐ２５−２ｐ１５＋ｐ０５｜として定義され、第２のフィルタ決定値は、ｄｑ＝｜ｑ２２−２ｑ１２＋ｑ０２｜＋｜ｑ２５−２ｑ１５＋ｑ０５｜として定義される。
●Δ＝（９×（ｑ０−ｐ０）−３×（ｑ１−ｐ１））／１６
●ｐ’０＝ｐ０＋Δ
●ｑ’０＝ｑ０−Δ
●ｄｐ＜ｔｈｒＰである場合、
○Δｐ＝（ｐ０＋ｐ２−２ｐ１＋２Δ）／４
○ｐ’１＝ｐ１＋Δｐ
●ｄｑ＜ｔｈｒＱである場合、
○Δｑ＝（ｑ０＋ｑ２−２ｑ１−２Δ）／４
○ｑ’１＝ｑ１＋Δｑ
【００８７】
プログラミング言語による上記例の計算の正確な式は、以下のテキストのように見える可能性がある。ここで、Ｃｌｉｐ３関数は、２個の最初の関数引数の間のレンジへの出力値のクリッピングである。
Ｉｎｔ  ｘＣａｌｃＤＰ（Ｐｅｌ＊  ｐｉＳｒｃ，  Ｉｎｔ  ｉＯｆｆｓｅｔ）
｛
ｒｅｔｕｒｎ  ａｂｓ（ｐｉＳｒｃ［−ｉＯｆｆｓｅｔ＊３］−２＊ｐｉＳｒｃ［−ｉＯｆｆｉｓｅｔ＊２］＋ｐｉＳｒｃ［−ｉＯｆｆｓｅｔ］）；
｝
Ｉｎｔ  ｘＣａｌｃＤＱ（Ｐｅｌ＊  ｐｉＳｒｃ，  Ｉｎｔ  ｉＯｆｆｓｅｔ）
｛
ｒｅｔｕｒｎ  ａｂｓ（ｐｉＳｒｃ［０］−２＊ｐｉＳｒｃ［ｉＯｆｆｓｅｔ］＋ｐｉＳｒｃ［ｉＯｆｆｓｅｔ＊２］）；
｝
Ｉｎｔ  ｉＤＰ＝ｘＣａｌｃＤＰ（ｐｉＴｍｐＳｒｃ＋ｉＳｒｃｓｔｅｐ＊（ｉＩｄｘ＊ｕｉＰｅｌｓＩｎＰａｒｔ＋ｉＢｌｋＩｄｘ＊ＤＥＢＬＯＣＫ＿ＳＭＡＬＬＥＳＴ＿ＢＬＯＣＫ＋２），  ｉＯｆｆｓｅｔ）＋ｘＣａｌｃＤＰ（ｐｉＴｍｐＳｒｃ＋ｉＳｒｃＳｔｅｐ＊（ｉＩｄｘ＊ｕｉＰｅｌｓＩｎｐａｒｔ＋ｉＢｌｋＩｄｘ＊ＤＥＢＬＯＣＫ＿ＳＭＡＬＬＥＳＴ＿ＢＬＯＣＫ＋５），  ｉＯｆｆｓｅｔ）；
Ｉｎｔ  ｉＤＱ＝ｘＣａｌｃＤＱ（ｐｉＴｍｐＳｒｃ＋ｉＳｒｃｓｔｅｐ＊（ｉＩｄｘ＊ｕｉＰｅｌｓＩｎＰａｒｔ＋ｉＢｌｋＩｄｘ＊ＤＥＢＬＯＣＫ＿ＳＭＡＬＬＥＳＴ＿ＢＬＯＣＫ＋２），  ｉＯｆｆｓｅｔ）＋ｘＣａｌｃＤＱ（ｐｉＴｍｐＳｒｃ＋ｉＳｒｃＳｔｅｐ＊（ｉＩｄｘ＊ｕｉＰｅｌｓＩｎｐａｒｔ＋ｉＢｌｋＩｄｘ＊ＤＥＢＬＯＣＫ＿ＳＭＡＬＬＥＳＴ＿ＢＬＯＣＫ＋５），  ｉＯｆｆｓｅｔ）；
Ｉｎｔ  ｉＳｉｄｅＴｈｒｅｓｈｏｌｄ＝ｉＢｅｔａ／６；
Ｂｏｏｌ  ｂＦｉｌｔｅｒＰ＝（ｉＤＰ＜ｉＳｉｄｅＴｈｒｅｓｈｏｌｄ）；
Ｂｏｏｌ  ｂＦｉｌｔｅｒＱ＝（ｉＤＱ＜ｉＳｉｄｅＴｈｒｅｓｈｏｌｄ）；
ｄｅｌｔａ＝（９＊（ｍ４−ｍ３）−３＊（ｍ５−ｍ２）＋８）＞＞４；
ｉｆ  （ａｂｓ（ｄｅｌｔａ）＜ｉＴｈｒＣｕｔ）
｛
Ｉｎｔ  ｔｃ２＝ｔｃ＞＞１；
ｄｅｌｔａ＝Ｃｌｉｐ３（−ｔｃ，  ｔｃ，  ｄｅｌｔａ）；
ｐｉＳｒｃ［−ｉＯｆｆｓｅｔ］＝Ｃｌｉｐ（（ｍ３＋ｄｅｌｔａ））；
ｐｉＳｒｃ［０］＝Ｃｌｉｐ（（ｍ４−ｄｅｌｔａ））；
ｉｆ  （ｂＦｉｌｔｅｒＰ）
｛
Ｉｎｔ  ｄｅｌｔａ１＝Ｃｌｉｐ３（−ｔｃ２，  ｔｃ２，  （（（（ｍ１＋ｍ３＋１）＞＞１）−ｍ２＋ｄｅｌｔａ）＞＞１））；
ｐｉＳｒｃ［−ｉＯｆｆｓｅｔ＊２］＝Ｃｌｉｐ（（ｍ２＋ｄｅｌｔａ１））；
｝
ｉｆ  （ｂＦｉｌｔｅｒＱ）
｛
｛
Ｉｎｔ  ｄｅｌｔａ２＝Ｃｌｉｐ３（−ｔｃ２，  ｔｃ２，  （（（（ｍ６＋ｍ４＋１）＞＞１）−ｍ５−ｄｅｌｔａ）＞＞１））；
ｐｉＳｒｃ［ｉＯｆｆｓｅｔ＊２］＝Ｃｌｉｐ（（ｍ５＋ｄｅｌｔａ２））；
｝
｝
【００８８】
図７は、図１における方法の付加的な選択可能なステップを示したフローチャートである。この方法は、図１におけるステップＳ２から続く。次のステップＳ５０は、第１の決定値と第２の決定値との合計を閾値（Ｔ）と比較する。合計が閾値未満ではない場合、この方法は終了する。かくして、このような場合、フィルタリングは、特有のブロック境界１に関してブロック１０及び近傍ブロック２０に全く適用されない。ブロック１０及び近傍ブロック２０は、その結果、フィルタで取り除かれるべきではない多数の局所構造を備える。しかし、合計が閾値未満である場合、この方法は、図１におけるステップＳ３及びＳ４に続き、ここで、フィルタ処理すべき画素の個数の判定が第１のフィルタ決定値（ステップＳ３）又は第２のフィルタ決定値（ステップＳ４）に基づいて実行される。
【００８９】
本実施形態は、第１及び第２のフィルタ決定に対する値がブロック境界を少しでもフィルタ処理すべきか否かを決定するためさらに使用されるので、多くの追加的な計算を必要としないという利点を有する。
【００９０】
本書に開示された実施形態は、ブロック境界の両側で構造に適応するようにデブロッキング・フィルタリングを制御する非対称のデブロッキング決定を実現する。非対称の決定は、ブロック境界の一方側に適用されるフィルタリングの量がブロック境界のもう一方側に適用されるフィルタリングの量と異なることが可能であり、よって、局所構造へのさらなる適応を行うことを意味する。これは、客観的及び主観的な映像品質を改善する。
【００９１】
図８は、フィルタリング制御装置１００の実施形態の概略ブロック図である。フィルタリング制御装置１００は、少なくとも｜ｐ２ｉ−２ｐ１ｉ＋ｐ０ｉ｜に基づいて映像フレーム内のブロック１０に対する第１のフィルタ決定値を計算するように構成されている第１の決定値計算器１１０を備える。フィルタリング制御装置１００は、｜ｑ２ｉ−２ｑ１ｉ＋ｑ０ｉ｜に基づいてブロック１０に対する第２の異なるフィルタ決定値を計算するように構成されている第２の決定値計算器１２０をさらに備える。
【００９２】
第１の画素判定器１３０又は第１の画素判定ユニット若しくはプロセッサは、第１の決定値計算器１１０により計算された第１のフィルタ決定値に基づいて、ブロック境界１に対してフィルタ処理すべきブロック１０内の画素１１、１３、１５、１７からなるライン１２の中の画素の個数を判定するように構成されている。第２の画素判定器１４０又は第２の画素判定ユニット若しくはプロセッサは、第２の決定値計算器１２０により計算された第２のフィルタ決定値に基づいて、ブロック境界に対してフィルタ処理すべき映像フレームの近傍ブロック２０内の画素２１、２３、２５、２７からなる対応するライン２２の中の画素の個数を判定するためにフィルタリング制御装置１００に設けられている。
【００９３】
実施形態では、第１の画素判定器１３０は、画素１１、１３、１５、１７からなる第１のライン１２に対し第１の決定値計算器１１０により計算された第１のフィルタ決定値に基づいて、ブロック境界１に対してフィルタ処理すべきブロック１０内の画素１１、１３、１５、１７からなる第１のライン１２の中の画素の個数を判定するように構成されている。第２の画素判定器１４０は、画素２１、２３、２５、２７からなる対応する第１のライン２２に対し第２の決定値計算器１２０により計算された第２のフィルタ決定値に基づいて、ブロック境界１に対してフィルタ処理すべき近傍ブロック２０内の画素２１、２３、２５、２７からなる対応する第１のライン２２の中の画素の個数を同様に判定する。
【００９４】
別の実施形態では、第１の決定値計算器１１０は、｜ｐ２２−２ｐ１２＋ｐ０２｜＋｜ｐ２５−２ｐ１５＋ｐ０５｜として第１のフィルタ決定値を計算するように構成され、第２の決定値計算器１２０は、｜ｑ２２−２ｑ１２＋ｑ０２｜＋｜ｑ２５−２ｑ１５＋ｑ０５｜として第２のフィルタ決定値を計算するように構成されている。
【００９５】
さらに別の実施形態では、第１の決定値計算器１１０は、｜ｐ２０−２ｐ１０＋ｐ００｜＋｜ｐ２３−２ｐ１３＋ｐ０３｜として第１のペアの中の第１のフィルタ決定値を計算するように構成され、第２の決定値計算器１２０は、｜ｑ２０−２ｑ１０＋ｑ００｜＋｜ｑ２３−２ｑ１３＋ｑ０３｜として第１のペアの中の第２のフィルタ決定値を計算するように構成されている。第１のフィルタ決定値計算器１１０は、｜ｐ２４−２ｐ１４＋ｐ０４｜＋｜ｐ２７−２ｐ１７＋ｐ０７｜として第２のペアの中の第１のフィルタ決定値を計算するようにさらに構成され、第２のフィルタ決定値計算器１２０は、｜ｑ２４−２ｑ１４＋ｑ０４｜＋｜ｑ２７−２ｑ１７＋ｑ０７｜として第２のペアの中の第２のフィルタ決定値を計算するようにさらに構成されている。
【００９６】
図９は、フィルタリング制御装置１００の別の実施形態の概略ブロック図である。フィルタリング制御装置１００は、本実施形態では、第１の決定値計算器１１０に加えて、第２の決定値計算器１２０と、第１の画素判定器１３０と、第２の画素判定器１４０と、第３の決定値計算器１５０とを備える。第３の決定値計算器１５０は、その結果、｜ｐ２２−２ｐ１２＋ｐ０２｜＋｜ｐ２５−２ｐ１５＋ｐ０５｜として第３のフィルタ決定値を計算するように構成されている。第４の決定値計算器１６０は、さらにフィルタリング制御装置１００内に実装され、｜ｑ２２−２ｑ１２＋ｑ０２｜＋｜ｑ２５−２ｑ１５＋ｑ０５｜として第４のフィルタ決定値を計算するように構成されている。
【００９７】
本実施形態では、第１のフィルタ決定値計算器１１０は、第３の決定値計算器１５０により計算された第３のフィルタ決定値が第３の閾値未満である場合、第１のフィルタ決定値を計算するように構成されている。第３の決定値が第３の閾値未満である場合、第１の決定値計算器１１０は、｜ｐ２ｉ−２ｐ１ｉ＋ｐ０ｉ｜としてブロック１０内の画素１１、１３、１５、１７からなる各ラインｉ  １２に対する第１の閾値を計算する。第１の画素判定器１３０は、その後、第３のフィルタ決定値が第３の閾値未満であるか否かと、ブロック１０内の画素１１、１３、１５、１７からなるラインｉ  １２毎に、画素１１、１３、１５、１７からなるラインｉ  １２に対し第１の決定値計算器１１０により計算された第１のフィルタ決定値に基づいて、ブロック境界１に対してフィルタ処理すべきブロック１０内の画素１１、１３、１５、１７からなるラインｉ  １２の中の画素の個数とを判定する。
【００９８】
第２の決定値計算器１２０は、好ましくは、第４のフィルタ決定値と第４の閾値との間の比較に反応する。このように、第４の決定値計算器１６０により計算された第４のフィルタ決定値が第４の閾値未満である場合、第２の決定値計算器１２０は、近傍ブロック２０内の画素２１、２３、２５、２７からなる対応するラインｉ  ２２毎に｜ｑ２ｉ−２ｑ１ｉ＋ｑ０ｉ｜として第２のフィルタ決定値を計算する。第２の画素判定器２４０は、第４のフィルタ決定値が第４の閾値未満であるか否かと、近傍ブロック２０内の画素２１、２３、２５、２７からなる対応するラインｉ  ２２毎に、画素２１、２３、２５、２７からなる対応するラインｉ  ２２に対し計算された第２のフィルタ決定値に基づいて、ブロック境界１に対してフィルタ処理すべき近傍ブロック２０内の画素２１、２３、２５、２７からなる対応するラインｉ  ２２の中の画素の個数とを判定する。
【００９９】
図１０は、フィルタリング制御装置１００のさらなる実施形態の概略ブロック図である。図８に示された実施形態のユニット１１０〜１４０に加えて、フィルタリグ制御装置１００は、第１の決定値計算器１１０により計算された第１のフィルタ決定値を第１の閾値と比較するように構成されている第１の比較器１８０を備える。第２の比較器１８２は、第２の決定値計算器１２０により計算された第２のフィルタ決定値を第２の閾値と比較するように同様に構成されている。
【０１００】
本実施形態では、第１の画素判定器１３０は、第１のフィルタ決定値が第１の比較器１８０により判定されるように第１の閾値未満である場合、ブロック境界１に対してブロック１０内の画素１１、１３、１５、１７からなるライン１２の中の２個の画素をフィルタ処理することを判定するように構成されている。しかし、第１のフィルタ決定値が第１の閾値未満ではない場合、第１の画素判定器１３０は、代わりに、ブロック境界１に対してブロック１０内の画素１１、１３、１５、１７からなるライン１２の中の１個の画素をフィルタ処理することを判定するように構成されている。代替的に、第１の画素判定器１３０は、代わりに、ブロック境界１に対してブロック１０内の画素１１、１３、１５、１７からなるライン１２の中で画素をフィルタ処理しないことを判定するように構成されている。
【０１０１】
第２の画素判定器１４０は、第２のフィルタ決定値が第２の比較器１８２により判定されるように第２の閾値未満である場合、ブロック境界１に対して近傍ブロック２０内の画素２１、２３、２５、２７からなる対応するライン２２の中の２個の画素をフィルタ処理することを判定するように構成されている。しかし、第２のフィルタ決定値が第２の閾値未満ではない場合、第２の画素判定器１４０は、代わりに、ブロック境界１に対して近傍ブロック２０内の画素２１、２３、２５、２７からなる対応するライン２２の中の１個の画素をフィルタ処理することを判定するように構成されている。代替的に、第２の画素判定器１４０は、代わりに、ブロック境界１に対して近傍ブロック２０内の画素２１、２３、２５、２７からなる対応するライン２２の中で画素をフィルタ処理しないことを判定するように構成されている。
【０１０２】
実施形態では、図１０のフィルタリング制御装置１００は、
（９×（ｑ０ｊ−ｐ０ｊ）−３×（ｑ１ｊ−ｐ１ｊ））／１６
に基づいて第１のオフセットを計算するように構成されている第１のオフセット計算器１８１を備える。フィルタリング制御装置１００の第１の画素修正器１９０は、第１のオフセットを画素１１の画素値に加算することにより、画素１１、１３、１５、１７からなるライン１２の中で、ブロック境界１に最も近接している画素１１の画素値を修正するように構成されている。第２の画素値修正器１９２は、第１のオフセットを画素２１の画素値から減算することにより、画素２１、２３、２５、２７からなる対応するライン１２の中で、ブロック境界１に最も近接している画素２１の画素値を修正するように構成されている。
【０１０３】
第２のオフセット計算器１８３は、好ましくは、第１のフィルタ決定値が第１の比較器１８０により判定されるように第１の閾値未満である場合、第２のオフセットを計算するためにフィルタリング制御装置１００に実装される。第２のオフセットは、このとき、
（ｐ０ｊ＋ｐ２ｊ−２ｐ１ｊ＋２Δ）／４
に基づいて計算される。第３の画素修正器１９４は、第１のフィルタ決定値が第１の閾値未満である場合に作動される。このような場合、第３の画素修正器１９４は、第２のオフセットを画素１３の画素値に加算することにより、画素１１、１３、１５、１７からなるライン１２の中で、ブロック境界１に２番目に近接している画素１３の画素値を修正するように構成されている。
【０１０４】
第３のオフセット計算器１８５は、第２のフィルタ決定値が第２の比較器１８２により判定されるように第２の閾値未満である場合、
（ｑ０ｊ＋ｑ２ｊ−２ｑ１ｊ−２Δ）／４
に基づいて第３のオフセットを計算するように構成されている。第２のフィルタ決定値が第２の閾値未満である場合、フィルタリング制御装置１００の第４の画素修正器１９６は、第３のオフセットを画素２３の画素値に加算することにより、画素２１、２３、２５、２７からなる対応するライン２２の中で、ブロック境界１に２番目に近接している画素２３の画素値を修正するように構成されている。
【０１０５】
図９及び１０に関連して前述されたフィルタリング制御装置１００の実施形態は、フィルタ決定値をそれぞれの閾値と比較する。実施形態では、このような閾値は、特有のブロック境界１に対してフィルタリング制御装置１００により計算される。フィルタリング制御装置１００は、従って、好ましくは、ブロック１０に関連付けられた量子化パラメータに基づいて、図１０において第１の比較器１８０により使用される第１の閾値と、図９においてフィルタリング制御装置１００により使用される第３の閾値とを判定するように構成されている閾値判定器１７０又は閾値判定プロセッサ若しくはユニットを備える。同様に、閾値判定器１７０は、同様に好ましくは、近傍ブロック２０に関連付けられた量子化パラメータに基づいて、図１０において第２の比較器１８２により使用される第２の閾値と、図９においてフィルタリング制御装置１００により使用される第４の閾値とを判定する。
【０１０６】
図１１は、フィルタリング制御装置１００のさらに別の実施形態の概略ブロック図である。図８に示された実施形態のユニット１１０〜１４０に加えて、フィルタリング制御装置１００は、本実施形態では、第１のフィルタ決定値と第２のフィルタ決定値との合計を閾値と比較するように構成されている第３の比較器１８４を備える。この合計が閾値以上である場合、フィルタリングは、特有のブロック境界１に関してブロック１０及び近傍ブロック２０に適用されるべきではないので、第１及び第２の画素判定器１３０、１４０は、フィルタ処理すべき画素の個数を少しも判定しないであろう。しかし、合計が閾値未満である場合、第１及び第２の画素判定器１３０、１４０は、それぞれ第１又は第２のフィルタ決定値に基づいてフィルタ処理すべき画素の個数を判定するために作動される。
【０１０７】
図８〜１１において前述され、開示されたフィルタリング制御装置１００の実施形態は、組み合わされる可能性がある。例えば、図９の第３の値計算器１５０及び第４の値計算器１６０は、図１０又は１１に開示された実施形態のいずれかで実装され得る。同様に、図１１の第３の比較器１８４は、図９又は１０に開示された実施形態のいずれかで実装され得る。
【０１０８】
図８〜１１に関連して開示されたそれぞれのユニット１１０〜１９６は、フィルタリング制御装置１００において物理的に別個のユニット１１０〜１９６として開示されているが、全ては、ＡＳＩＣ（特定用途向け集積回路）のような専用回路でもよく、ユニット１１０〜１９６の一部又は全部が汎用プロセッサの上で動くコンピュータ・プログラム・モジュールとして実装されるフィルタリング制御装置１００の代替的な実施形態が考えられる。このような実施形態は、図１２に開示される。
【０１０９】
図１２は、ＤＳＰ（デジタル信号プロセッサ）又はＣＰＵ（中央処理ユニット）のような処理ユニット７２を有するコンピュータ７０の実施形態を概略的に示す。処理ユニット７２は、本書に記載された方法の様々なステップを実行する単一のユニット又は複数のユニットである可能性がある。コンピュータ７０は、記録若しくは生成された映像フレーム又は符号化された映像フレームを受け取り、符号化された映像フレーム又は復号化された映像データを出力する入力／出力（Ｉ／Ｏ）ユニット７１をさらに備える。Ｉ／Ｏユニット７１は、図１２では単一のユニットとして示されているが、同様に、別個の入力ユニット及び別個の出力ユニットの形式である可能性がある。
【０１１０】
さらに、コンピュータ７０は、例えば、ＥＥＰＲＯＭ（電気的消去可能プログラマブル・リード・オンリー・メモリ）、フラッシュメモリ、又はディスクドライブのような不揮発性メモリの形をした少なくとも１つのコンピュータ・プログラム・プロダクト７３を備える。コンピュータ・プログラム・プロダクト７３は、処理ユニット７２のようなコンピュータ７０により動かされた又は実行されたとき、コンピュータ７０に図１に関連して前述された方法のステップを実行させるコード手段を備えるコンピュータプログラム７４を備える。従って、実施形態では、コンピュータプログラム７４におけるコード手段は、ブロックに対する第１のフィルタ決定値を計算する第１の決定値計算（ＤＶＣ）モジュール３１０と、ブロックに対する第２のフィルタ決定値を計算する第２の画素値計算モジュール３２０と、画素１１、１３、１５、１７からなるライン１２の中でフィルタ処理すべき画素の個数を判定する第１の画素判定（ＰＤ）モジュール３３０と、画素２１、２３、２５、２７からなる対応するライン２２の中でフィルタ処理すべき画素の個数を判定する第２の画素判定モジュール３４０と、を備える。これらのモジュール３１０〜３４０は、処理ユニット７２上で動くとき、図１のフローチャートのステップを原則的に実行する。このようにして、様々なモジュール３１０〜３４０が処理ユニット７２上で動かされるとき、これらは、図８〜１１の対応するユニット１１０〜１４０に対応する。
【０１１１】
コンピュータプログラム７４は、図９から１１における対応するユニット１５０〜１９６の動作を実行するために、第３の決定値計算モジュール、第４の決定値計算モジュール、閾値判定モジュール、第１の比較モジュール、第２の比較モジュール、第３の比較モジュール、第１のオフセット計算モジュール、第２のオフセット計算モジュール、第３のオフセット計算モジュール、第１の画素修正モジュール、第２の画素修正モジューと、第３の画素修正モジュール、及び／又は、第４の画素修正モジュールをさらに備えることがある。
【０１１２】
図１２のコンピュータ７０は、ユーザ機器である、又は、ユーザ機器内に存在する可能性がある。このような場合、ユーザ機器は、映像データを表示するディスプレイをさらに備える、又は、ディスプレイに接続されていることがある。
【０１１３】
図８〜１１のフィルタリング制御装置は、好ましくは、映像符号化で使用される。これは、機能し、その結果、好ましくは、映像符号化器及び映像復号化器の両方に実装される。映像復号化器は、好ましくは、ハードウェアで実施される可能性があるが、ソフトウェアで実装される可能性もある。同じことが映像符号化器についても成り立つ。
【０１１４】
図１３は、実施形態による映像シーケンスの映像フレーム内の画素からなるブロックを符号化する符号化器４０の概略ブロック図である。
【０１１５】
画素からなる現在のブロックは、同じフレーム又は前のフレーム内の既に供給された画素からなるブロックから、動き推定器５０により動き推定を実行することにより予測される。動き推定の結果は、インター予測の場合、参照ブロックに関連付けられた動き又は変位ベクトルである。動きベクトルは、画素からなるブロックのインター予測を出力する動き補償器５０により利用される。
【０１１６】
イントラ予測器４９は、画素からなる現在のブロックのイントラ予測を計算する。動き推定器／補償器５０、及び、イントラ予測器４９からの出力は、画素からなる現在のブロックに対するイントラ予測又はインター予測のいずれかを選択する選択器５１に入力される。選択器５１からの出力は、画素からなる現在のブロックの画素値をさらに受け取る加算器４１の形式である誤差計算器に入力される。加算器４１は、画素からなるブロックとこれの予測との間の画素値の差分として残差誤差を計算し、出力する。
【０１１７】
誤差は、離散コサイン変換などにより、変換器４２において変換され、量子化器４３により量子化され、エントロピー符号化器などによる符号化器４４における符号化が後に続けられる。インター符号化では、同様に推定された動きベクトルが画素からなる現在のブロックの符号化表現を生成する符号化器４４に送り込まれる。
【０１１８】
画素からなる現在のブロックに対する変換され、量子化された残差誤差は、元の残差誤差を取り出すために、逆量子化器４５及び逆変換器４６にさらに供給される。この誤差は、画素からなる次のブロックの予測及び符号化に使用され得る画素からなる参照ブロックを作成するために、動き補償器５０から出力されたブロック予測に、又は、イントラ予測４９に加算器４７によって加算される。この新しい参照ブロックは、ブロッキング・アーティファクトを減らすため参照ブロックに適用される何らかのデブロッキング・フィルタリングを制御するために実施形態によるフィルタリング制御装置１００により最初に処理される。処理された新しい参照ブロックが、次に、フレームバッファ４８に一時的に記憶され、新しい参照ブロックは、このフレームバッファでイントラ予測器４９及び動き推定器／補償器５０から利用可能である。
【０１１９】
図１４は、実施形態によるフィルタリング制御装置１００を備える復号化器６０の対応する概略ブロック図である。復号化器６０は、変換され、量子化された残差誤差の組を取得するために画素からなるブロックの符号化表現を復号化するエントロピー復号化器のような復号化器６１を備える。これらの残差誤差は、残差誤差の組を取得するために、逆量子化器６２において逆量子化され、逆変換器６３により逆変換される。
【０１２０】
これらの残差誤差は、加算器６４において、画素からなる参照ブロックの画素値に加算される。参照ブロックは、インター予測が実行されるか、又は、イントラ予測が実行されるかに依存して動き推定器／補償器６７又はイントラ予測器６６により判定される。選択器６８が、それによって、加算器６４と動き推定器／補償器６７及びイントラ予測器６６とに相互接続されている。加算器６４から出力された、結果として得られる復号化された画素からなるブロックは、ブロッキング・アーティファクトを減らすため適用される何らかのデブロッキング・フィルタを制御するために実施形態によるフィルタリング制御装置１００に入力される。フィルタ処理された画素からなるブロックは、復号化器６０から出力され、さらに好ましくは一時的にフレームバッファ６５に供給され、復号化されるべき後続の画素からなるブロックに対する画素からなる参照ブロックとして使用され得る。フレームバッファ６５は、それによって、記憶された画素からなるブロックが動き推定器／補償器６７で利用可能にするために動き推定器／補償器６７に接続されている。
【０１２１】
加算器６４からの出力は、好ましくは、フィルタ処理されていない画素からなる参照ブロックとして使用されるようにイントラ予測器６６にも入力される。
【０１２２】
図１３及び１４に開示された実施形態では、フィルタリング制御装置１００は、いわゆるループ内フィルタリングの形式でデブロッキング・フィルタリングを制御する。復号化器６０での代替的な実装では、フィルタリング制御装置１００は、いわゆる処理後フィルタリングを実行するように配置構成されている。このような場合、フィルタリング制御装置１００は、加算器６４、フレームバッファ６５、イントラ予測器６６、動き推定器／補償器６７、及び選択器６８によって形成されるループの外側で出力フレームを操作する。デブロッキング無しのフィルタリング及びフィルタリング制御が、その結果、典型的に符号化器で行われる。
【０１２３】
図１５は、フィルタリグ制御装置付きの復号化器６０を収容するユーザ機器又はメディア端末８０の概略ブロック図である。ユーザ機器８０は、符号化された映像フレームの符号化された映像ストリームを操作し、それによって、映像フレームを復号化し、映像データを利用できるようにするメディア復号化機能を有するどんな装置でもよい。このような装置の非限定的な例は、携帯電話機及びその他の携帯型メディアプレーヤー、タブレット、デスクトップ、ノートブック、パーソナル・ビデオ・レコーダ、マルチメディアプレーヤー、映像ストリーミングサーバ、セット・トップ・ボックス、ＴＶ、コンピュータ、復号化器、ゲームコンソールなどを含む。ユーザ機器８０は、符号化された映像フレームを記憶するように構成されているメモリ８４を備える。これらの符号化された映像フレームは、ユーザ機器８０自体により生成されている可能性がある。代替的に、符号化された映像フレームは、その他の装置により生成され、ユーザ機器８０に無線送信又は有線送信される。ユーザ機器８０は、その結果、データ転送を実現するためにトランシーバ（送信機及び受信機）又は入出力ポート８２を備える。
【０１２４】
符号化された映像フレームは、メモリ８４から、図１４に示された復号化器のような復号化器６０に運ばれる。復号化器６０は、実施形態によるフィルタリング制御装置１００を備える。復号化器６０は、その結果、符号化された映像フレームを復号化された映像フレームに復号化する。復号化された映像フレームは、復号化された映像フレームをユーザ機器８０の、又は、ユーザ機器８０に接続されているディスプレイ又はスクリーン８８に表示可能な映像データ表現にするように構成されているメディアプレーヤー８６に供給される。
【０１２５】
図１５において、ユーザ機器８０は、復号化器６０及びメディアプレーヤー８６を共に備え、復号化器６０がメディアプレーヤー８６の一部として実装されているように示されている。しかし、これは、ユーザ機器８０についての実装実施例の単なる例示であり、非限定的な例として捉えられるべきである。さらに、復号化器６０及びメディアプレーヤー８６が２つの物理的に分離した装置に設けられ、本書で使用されるようなユーザ機器８０の範囲に含まれる分散型実装が考えられる。ディスプレイ８８は、実際のデータ処理が行われるユーザ機器８０に接続されている別個の装置として同様に設けられる可能性がある。
【０１２６】
図１６は、図１３の符号化器のような、実施形態によるフィルタリング制御装置を備える符号化器を供えるユーザ機器８０の別の実施形態を示す。符号化器４０は、その結果、Ｉ／Ｏユニット８２により受信された、及び／又は、ユーザ機器８０自体により生成された映像フレームを符号化するために構成されている。後者の場合、ユーザ機器８０は、好ましくは、例えば、（ビデオ）カメラの形をしている、又は、（ビデオ）カメラに接続されているメディアエンジン又はレコーダを備える。ユーザ機器８０は、場合によっては、復号化器及び実施形態によるフィルタリング制御装置付きのメディアプレーヤー８６のようなメディアプレーヤー８６と、ディスプレイ８８とをさらに備えることがある。
【０１２７】
図１７に示されるように、図１３及び１４に示されるような符号化器４０及び／又は復号化器６０は、送信ユニット３４と受信ユーザ機器３６との間の通信ネットワーク３２内のネットワークノードである、又は、ネットワークノードに属しているネットワーク装置３０で実装されることがある。このようなネットワーク装置３０は、例えば、受信ユーザ機器３６が送信ユニット３４により送信された映像符号化標準ではなく別の映像符号化標準の能力だけをもつか、又は、別の映像符号化標準を優先することが確立されている場合、１つの映像符号化標準による映像を別の映像符号化標準に変換する装置でもよい。ネットワーク装置３０は、無線ベースネットワークのような通信ネットワーク３２内の無線基地局、Ｎｏｄｅ−Ｂ、又はいずれかのその他のネットワークノードの形をしていること、又は、含まれていることが可能である。
【０１２８】
前述の実施形態は、本発明のいくつかの例示として理解されるべきである。種々の変形、組み合わせ及び変更が本発明の範囲から逸脱することなく実施形態に対してなされてもよいことが当業者により理解されるであろう。詳しくは、様々な実施形態における様々な部分的解決策は、技術的に可能である場合、その他の構成に組み合わされることが可能である。しかし、本発明の範囲は、請求項により定められる。
【図１】
0005924700.tif 000006
【図２Ａ】
0005924700.tif 000007
【図２Ｂ】
0005924700.tif 000008
【図３】
0005924700.tif 000009
【図４】
0005924700.tif 000010
【図５】
0005924700.tif 000011
【図６】
0005924700.tif 000012
【図７】
0005924700.tif 000013
【図８】
0005924700.tif 000014
【図９】
0005924700.tif 000015
【図１０】
0005924700.tif 000016
【図１１】
0005924700.tif 000017
【図１２】
0005924700.tif 000018
【図１３】
0005924700.tif 000019
【図１４】
0005924700.tif 000020
【図１５】
0005924700.tif 000021
【図１６】
0005924700.tif 000022
【図１７】
0005924700.tif 000023