(57)【要約】      （修正有）【課題】ビデオ符号化及び／又はビデオ復号プロセスにおいて再構築されたビデオデータを適応ループフィルタ処理する方法を提供する。【解決手段】適応ループフィルタ処理する方法は、適応ループフィルタ（ＡＬＦ）のためにフィルタのセットを構築するための情報をＬＣＵのグループのためのパラメータセット中で受信するステップ９１０と、フィルタのセット中の各フィルタについて関連するフィルタインデックスを決定するステップ９２０と、第１のＬＣＵがＡＬＦによってフィルタ処理されるべきであることを示す指示を受信するステップ９３０と、第１のＬＣＵをフィルタ処理するために使用されるべきであるフィルタのフィルタインデックスをフィルタのセットから受信するステップ９４０と、フィルタインデックスによって識別されるフィルタを使用してＬＣＵのうちの１つ以上のＣＵをフィルタ処理するステップ９５０から構成される。【選択図】図９
2018078569.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを復号するための方法であって、
適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットで受信することと、
ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの指示を、前記パラメータセットで受信することと、
ＬＣＵの前記サブグループの各々をフィルタの前記セットからのフィルタに割り当てることと、
前記ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信することと、前記第１のＬＣＵがＬＣＵの第１のサブグループ中にある、
前記第１のＬＣＵが前記ＡＬＦによってフィルタ処理されるべきであるという前記指示に基づいて、及びＬＣＵの前記グループをどのようにＬＣＵの前記サブグループに分割すべきかの前記指示に基づいて、前記第１のＬＣＵのためのフィルタを決定することと、前記第１のＬＣＵのための前記フィルタが、ＬＣＵの前記第１のサブグループに割り当てられたフィルタに対応する、
前記第１のＬＣＵのための前記フィルタを使用して前記ＬＣＵのうちの１つ以上のコード化単位（ＣＵ）をフィルタ処理することと
を備える、方法。
【請求項２】
ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの前記指示は、ＬＣＵの何個のサブグループがＬＣＵの前記グループ中にあるかを示す、請求項１に記載の方法。
【請求項３】
ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの前記指示は、ＬＣＵのサブグループの何個の行がＬＣＵの前記グループ中にあるかと、ＬＣＵのサブグループの何個の列がＬＣＵの前記グループ中にあるかとを示す、請求項１に記載の方法。
【請求項４】
ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの前記指示が、ＬＣＵのサブグループのサイズを備える、請求項１に記載の方法。
【請求項５】
前記第１のＬＣＵのための前記フィルタを決定することは、前記第１のＬＣＵをフィルタ処理するために使用されるべき前記フィルタが、前記第１のＬＣＵを備えるＬＣＵの前記サブグループにインデックス付けされたフィルタであるという指示を受信することを備える、請求項１に記載の方法。
【請求項６】
第２のＬＣＵのためのフィルタを決定することを更に備え、前記第２のＬＣＵのための前記フィルタを決定することは、前記第２のＬＣＵをフィルタ処理するために使用されるべき前記フィルタが新しいフィルタであるという指示を受信することを備える、請求項１に記載の方法。
【請求項７】
前記新しいフィルタを構築するための情報を受信することと、
前記第２のＬＣＵのための前記フィルタを使用して前記第２のＬＣＵのうちの１つ以上のＣＵをフィルタ処理することと
を更に備える、請求項６に記載の方法。
【請求項８】
第３のＬＣＵのためのフィルタ指示を受信することを更に備え、前記第３のＬＣＵのための前記フィルタ指示は、前記新しいフィルタが、前記第３のＬＣＵをフィルタ処理するために使用されるべきであることを信号伝達する、請求項７に記載の方法。
【請求項９】
第２のＬＣＵをフィルタ処理するために使用されるべきフィルタが、前にコード化されたＬＣＵをフィルタ処理するために使用されるフィルタであるという指示を受信すること
を更に備える、請求項１に記載の方法。
【請求項１０】
第２のＬＣＵが前記ＡＬＦによってフィルタ処理されるべきでないという前記第２のＬＣＵについての指示を受信すること
を更に備える、請求項１に記載の方法。
【請求項１１】
ビデオデータを復号するための方法であって、
適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットで受信することと、
フィルタの前記セット中の各フィルタについて、関連するフィルタインデックスを決定することと、
前記ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信することと、
前記第１のＬＣＵをフィルタ処理するために使用されるべきであるフィルタをフィルタの前記セットから識別するフィルタインデックスを受信することと、
フィルタの前記セットからの前記フィルタを使用して前記ＬＣＵのうちの１つ以上のコード化単位（ＣＵ）をフィルタ処理することと
を備える、方法。
【請求項１２】
第２のＬＣＵについて、前記第２のＬＣＵをフィルタ処理するために使用されるべきフィルタが新しいフィルタであるという指示を受信することと、
前記新しいフィルタを構築するための情報を受信することと、
前記新しいフィルタを使用して前記第２のＬＣＵのうちの１つ以上のＣＵをフィルタ処理することと
を更に備える、請求項１１に記載の方法。
【請求項１３】
前記新しいフィルタを新しい関連するフィルタインデックスに割り当てることと、
第３のＬＣＵについて、前記新しいフィルタが前記第３のＬＣＵをフィルタ処理するために使用されるべきであるという指示を受信することと
を更に備える、請求項１２に記載の方法。
【請求項１４】
第２のＬＣＵについて、前記第２のＬＣＵをフィルタ処理するために使用されるべきフィルタが、前にコード化されたＬＣＵをフィルタ処理するために使用されるフィルタであるという指示を受信することと、
前記前にコード化されたＬＣＵをフィルタ処理するために使用される前記フィルタを使用して前記第２のＬＣＵをフィルタ処理することと
を更に備える、請求項１１に記載の方法。
【請求項１５】
第２のＬＣＵが前記ＡＬＦによってフィルタ処理されるべきでないという前記第２のＬＣＵについての指示を受信すること
を更に備える、請求項１１に記載の方法。
【請求項１６】
ビデオデータを符号化するための方法であって、
適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットに含めるために生成することと、
ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきか決定することと、
ＬＣＵの各サブグループについて、フィルタの前記セットから関連するフィルタを決定することと、
第１のＬＣＵのためのフィルタを決定することと、前記第１のＬＣＵがＬＣＵの第１のサブグループからのものであり、前記第１のＬＣＵのための前記フィルタが、ＬＣＵの前記第１のサブグループに関連するフィルタに対応する、
ＬＣＵの前記グループをどのようにＬＣＵの前記サブグループに分割すべきかの指示を、前記パラメータセットに含めるために生成することと、
前記第１のＬＣＵが、ＬＣＵの前記第１のサブグループに関連する前記フィルタを使用してフィルタ処理されるべきであることを示す指示を、符号化されたビットストリーム中に含めるために生成することと
を備える、方法。
【請求項１７】
ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの前記指示は、ＬＣＵの何個のサブグループがＬＣＵの前記グループ中にあるかを示す、請求項１６に記載の方法。
【請求項１８】
ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの前記指示は、ＬＣＵのサブグループの何個の行がＬＣＵの前記グループ中にあるかと、ＬＣＵのサブグループの何個の列がＬＣＵの前記グループ中にあるかとを示す、請求項１６に記載の方法。
【請求項１９】
ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの前記指示が、ＬＣＵのサブグループのサイズを備える、請求項１６に記載の方法。
【請求項２０】
前記第１のＬＣＵのための前記フィルタを決定することは、前記第１のＬＣＵをフィルタ処理するために使用されるべき前記フィルタが、前記第１のＬＣＵを備えるＬＣＵの前記サブグループにインデックス付けされたフィルタであるという指示を受信することを備える、請求項１６に記載の方法。
【請求項２１】
ビデオデータを符号化するための方法であって、
適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットに含めるために生成することと、
フィルタの前記セット中の各フィルタについて、関連するフィルタインデックスを決定することと、
第１のＬＣＵについてフィルタの前記セットからフィルタを決定することと、
前記ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を、符号化されたビットストリーム中に含めるために生成することと、
前記第１のＬＣＵをフィルタ処理するために使用されるべきであるフィルタをフィルタの前記セットから識別するフィルタインデックスを、符号化されたビットストリームに含めるために生成することと
を備える、方法。
【請求項２２】
第２のＬＣＵについて、前記第２のＬＣＵをフィルタ処理するために使用されるべきフィルタが新しいフィルタであるという指示を、前記符号化されたビットストリームに含めるために生成することと、
前記新しいフィルタを構築するための情報を、前記符号化されたビットストリームに含めるために生成することと
を更に備える、請求項２１に記載の方法。
【請求項２３】
第２のＬＣＵについて、前記第２のＬＣＵをフィルタ処理するために使用されるべきフィルタが、前にコード化されたＬＣＵをフィルタ処理するために使用されるフィルタであるという指示を、前記符号化されたビットストリームに含めるために生成すること
を更に備える、請求項２１に記載の方法。
【請求項２４】
第２のＬＣＵが前記ＡＬＦによってフィルタ処理されるべきでないという前記第２のＬＣＵについての指示を、前記符号化されたビットストリームに含めるために生成すること
を更に備える、請求項２１に記載の方法。
【請求項２５】
ビデオコード化のための機器であって、前記機器は、適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットで受信することと；ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの指示を、前記パラメータセットで受信することと、ＬＣＵの前記サブグループの各々をフィルタの前記セットからのフィルタに割り当てることと；前記ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信することと、前記第１のＬＣＵがＬＣＵの第１のサブグループ中にある；前記第１のＬＣＵが前記ＡＬＦによってフィルタ処理されるべきであるという前記指示に基づいて、及びＬＣＵの前記グループをどのようにＬＣＵの前記サブグループに分割すべきかの前記指示に基づいて、前記第１のＬＣＵのためのフィルタを決定することと、前記第１のＬＣＵのための前記フィルタが、ＬＣＵの前記第１のサブグループに割り当てられたフィルタに対応する；前記第１のＬＣＵのための前記フィルタを使用して前記ＬＣＵのうちの１つ以上のコード化単位（ＣＵ）をフィルタ処理することと；を行うように構成されたビデオデコーダを備える、機器。
【請求項２６】
ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの前記指示は、ＬＣＵの何個のサブグループがＬＣＵの前記グループ中にあるかを示す、請求項２５に記載の機器。
【請求項２７】
ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの前記指示は、ＬＣＵのサブグループの何個の行がＬＣＵの前記グループ中にあるかと、ＬＣＵのサブグループの何個の列がＬＣＵの前記グループ中にあるかとを示す、請求項２５に記載の機器。
【請求項２８】
ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの前記指示が、ＬＣＵのサブグループのサイズを備える、請求項２５に記載の機器。
【請求項２９】
前記ビデオデコーダは、前記第１のＬＣＵをフィルタ処理するために使用されるべき前記フィルタが、前記第１のＬＣＵを備えるＬＣＵの前記サブグループにインデックス付けされたフィルタであるという指示を受信することを備える、前記第１のＬＣＵのための前記フィルタを決定するように更に構成された、請求項２５に記載の機器。
【請求項３０】
前記ビデオデコーダは、第２のＬＣＵをフィルタ処理するために使用されるべきフィルタが新しいフィルタであるという指示を受信することによって、前記第２のＬＣＵのための前記フィルタを決定するように更に構成された、請求項２５に記載の機器。
【請求項３１】
前記ビデオデコーダが、前記新しいフィルタを構築するための情報を受信することと、前記第２のＬＣＵのための前記フィルタを使用して前記第２のＬＣＵのうちの１つ以上のＣＵをフィルタ処理することとを行うように更に構成された、請求項３０に記載の機器。
【請求項３２】
前記ビデオデコーダが、第３のＬＣＵのためのフィルタ指示を受信するように更に構成され、前記第３のＬＣＵのための前記フィルタ指示は、前記新しいフィルタが、前記第３のＬＣＵをフィルタ処理するために使用されるべきであることを信号伝達する、請求項３１に記載の機器。
【請求項３３】
前記ビデオデコーダは、第２のＬＣＵをフィルタ処理するために使用されるべきフィルタが、前にコード化されたＬＣＵをフィルタ処理するために使用されるフィルタであるという指示を受信するように更に構成された、請求項３０に記載の機器。
【請求項３４】
前記ビデオデコーダは、第２のＬＣＵが前記ＡＬＦによってフィルタ処理されるべきでないという前記第２のＬＣＵについての指示を受信するように更に構成された、請求項３０に記載の機器。
【請求項３５】
前記機器が、
集積回路と、
マイクロプロセッサと、
ビデオデコーダを備えるワイヤレス通信機器と
のうちの少なくとも１つを備える、請求項３０に記載の機器。
【請求項３６】
ビデオコード化のための機器であって、前記機器は、適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットで受信することと、フィルタの前記セット中の各フィルタについて、関連するフィルタインデックスを決定することと、前記ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信することと、前記第１のＬＣＵをフィルタ処理するために使用されるべきであるフィルタをフィルタの前記セットから識別するフィルタインデックスを受信することと、フィルタの前記セットからの前記フィルタを使用して前記ＬＣＵのうちの１つ以上のコード化単位（ＣＵ）をフィルタ処理することとを行うように構成されたビデオデコーダを備える、機器。
【請求項３７】
前記ビデオデコーダは、第２のＬＣＵについて、前記第２のＬＣＵをフィルタ処理するために使用されるべきフィルタが新しいフィルタであるという指示を受信することと、前記新しいフィルタを構築するための情報を受信することと、前記新しいフィルタを使用して前記第２のＬＣＵのうちの１つ以上のＣＵをフィルタ処理することとを行うように更に構成された、請求項３６に記載の機器。
【請求項３８】
前記ビデオデコーダは、前記新しいフィルタを新しい関連するフィルタインデックスに割り当てることと、第３のＬＣＵについて、前記新しいフィルタが前記第３のＬＣＵをフィルタ処理するために使用されるべきであるという指示を受信することとを行うように更に構成された、請求項３７に記載の機器。
【請求項３９】
前記ビデオデコーダは、第２のＬＣＵについて、前記第２のＬＣＵをフィルタ処理するために使用されるべきフィルタが、前にコード化されたＬＣＵをフィルタ処理するために使用されるフィルタであるという指示を受信することと、前記前にコード化されたＬＣＵをフィルタ処理するために使用される前記フィルタを使用して前記第２のＬＣＵをフィルタ処理することとを行うように更に構成された、請求項３６に記載の機器。
【請求項４０】
前記ビデオデコーダは、第２のＬＣＵが前記ＡＬＦによってフィルタ処理されるべきでないという前記第２のＬＣＵについての指示を受信するように更に構成された、請求項３６に記載の機器。
【請求項４１】
前記機器が、
集積回路と、
マイクロプロセッサと、
ビデオデコーダを備えるワイヤレス通信機器と
のうちの少なくとも１つを備える、請求項３６に記載の機器。
【請求項４２】
ビデオデータをコード化するための機器であって、前記機器は、適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットに含めるために生成することと；ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきか決定することと；ＬＣＵの各サブグループについて、フィルタの前記セットから関連するフィルタを決定することと；第１のＬＣＵのためのフィルタを決定することと、前記第１のＬＣＵがＬＣＵの第１のサブグループからのものであり、前記第１のＬＣＵのための前記フィルタが、ＬＣＵの前記第１のサブグループに関連するフィルタに対応する；ＬＣＵの前記グループをどのようにＬＣＵの前記サブグループに分割すべきかの指示を、前記パラメータセットに含めるために生成することと；前記第１のＬＣＵが、ＬＣＵの前記第１のサブグループに関連する前記フィルタを使用してフィルタ処理されるべきであることを示す指示を、符号化されたビットストリームに含めるために生成することとを行うように構成されたビデオエンコーダを備える、機器。
【請求項４３】
ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの前記指示は、ＬＣＵの何個のサブグループがＬＣＵの前記グループ中にあるかを示す、請求項４２に記載の機器。
【請求項４４】
ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの前記指示は、ＬＣＵのサブグループの何個の行がＬＣＵの前記グループ中にあるかと、ＬＣＵのサブグループの何個の列がＬＣＵの前記グループ中にあるかとを示す、請求項４２に記載の機器。
【請求項４５】
ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの前記指示が、ＬＣＵのサブグループのサイズを備える、請求項４２に記載の機器。
【請求項４６】
前記第１のＬＣＵのための前記フィルタを決定することは、前記第１のＬＣＵをフィルタ処理するために使用されるべき前記フィルタが、前記第１のＬＣＵを備えるＬＣＵの前記サブグループにインデックス付けされたフィルタであるという指示を受信することを備える、請求項４２に記載の機器。
【請求項４７】
前記機器が、
集積回路と、
マイクロプロセッサと、
ビデオデコーダを備えるワイヤレス通信機器と
のうちの少なくとも１つを備える、請求項４２に記載の機器。
【請求項４８】
ビデオデータをコード化するための機器であって、前記機器は、適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットに含めるために生成することと、フィルタの前記セット中の各フィルタについて、関連するフィルタインデックスを決定することと、第１のＬＣＵについてフィルタの前記セットからフィルタを決定することと、前記ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を、符号化されたビットストリーム中に含めるために生成することと、前記第１のＬＣＵをフィルタ処理するために使用されるべきであるフィルタをフィルタの前記セットから識別するフィルタインデックスを、符号化されたビットストリーム中に含めるために生成することとを行うように構成されたビデオエンコーダを備える、機器。
【請求項４９】
前記ビデオエンコーダは、第２のＬＣＵについて、前記第２のＬＣＵをフィルタ処理するために使用されるべきフィルタが新しいフィルタであるという指示を、前記符号化されたビットストリーム中に含めるために生成することと、前記新しいフィルタを構築するための情報を、前記符号化されたビットストリーム中に含めるために生成することとを行うように更に構成された、請求項４８に記載の機器。
【請求項５０】
前記ビデオエンコーダは、第２のＬＣＵについて、前記第２のＬＣＵをフィルタ処理するために使用されるべきフィルタが、前にコード化されたＬＣＵをフィルタ処理するために使用されるフィルタであるという指示を、前記符号化されたビットストリーム中に含めるために生成するように更に構成された、請求項４８に記載の機器。
【請求項５１】
前記ビデオエンコーダは、第２のＬＣＵが前記ＡＬＦによってフィルタ処理されるべきでないという前記第２のＬＣＵについての指示を、前記符号化されたビットストリームに含めるために生成するように更に構成された、請求項４８に記載の機器。
【請求項５２】
前記機器が、
集積回路と、
マイクロプロセッサと、
ビデオデコーダを備えるワイヤレス通信機器と
のうちの少なくとも１つを備える、請求項４８に記載の機器。
【請求項５３】
ビデオデータを復号するための機器であって、前記機器は、
適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットで受信するための手段と、
ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの指示を、前記パラメータセットで受信するための手段と、
ＬＣＵの前記サブグループの各々をフィルタの前記セットからのフィルタに割り当てるための手段と、
前記ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信するための手段と、前記第１のＬＣＵがＬＣＵの第１のサブグループ中にある、
前記第１のＬＣＵが前記ＡＬＦによってフィルタ処理されるべきであるという前記指示に基づいて、及びＬＣＵの前記グループをどのようにＬＣＵの前記サブグループに分割すべきかの前記指示に基づいて、前記第１のＬＣＵのためのフィルタを決定するための手段であって、前記第１のＬＣＵのための前記フィルタが、ＬＣＵの前記第１のサブグループに割り当てられたフィルタに対応する、決定するための手段と、
前記第１のＬＣＵのための前記フィルタを使用して前記ＬＣＵのうちの１つ以上のコード化単位（ＣＵ）をフィルタ処理するための手段と
を備える、機器。
【請求項５４】
ビデオデータを復号するための機器であって、前記機器は、
適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットで受信するための手段と、
フィルタの前記セット中の各フィルタについて、関連するフィルタインデックスを決定するための手段と、
前記ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信するための手段と、
前記第１のＬＣＵをフィルタ処理するために使用されるべきであるフィルタをフィルタの前記セットから識別するフィルタインデックスを受信するための手段と、
フィルタの前記セットからの前記フィルタを使用して前記ＬＣＵのうちの１つ以上のコード化単位（ＣＵ）をフィルタ処理するための手段と
を備える、機器。
【請求項５５】
実行されたとき、１つ以上のプロセッサに、
適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットで受信することと、
ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの指示を、前記パラメータセットで受信することと、
ＬＣＵの前記サブグループの各々をフィルタの前記セットからのフィルタに割り当てることと、
前記ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信することであって、前記第１のＬＣＵがＬＣＵの第１のサブグループ中にある、受信することと、
前記第１のＬＣＵが前記ＡＬＦによってフィルタ処理されるべきであるという前記指示に基づいて、及びＬＣＵの前記グループをどのようにＬＣＵの前記サブグループに分割すべきかの前記指示に基づいて、前記第１のＬＣＵのためのフィルタを決定することと、前記第１のＬＣＵのための前記フィルタが、ＬＣＵの前記第１のサブグループに割り当てられたフィルタに対応する、
前記第１のＬＣＵのための前記フィルタを使用して前記ＬＣＵのうちの１つ以上のコード化単位（ＣＵ）をフィルタ処理することと
を行わせる命令を記憶した非有形コンピュータ可読記憶媒体。
【請求項５６】
実行されたとき、１つ以上のプロセッサに、
適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットで受信することと、
フィルタの前記セット中の各フィルタについて、関連するフィルタインデックスを決定することと、
前記ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信することと、
前記第１のＬＣＵをフィルタ処理するために使用されるべきであるフィルタをフィルタの前記セットから識別するフィルタインデックスを受信することと、
フィルタの前記セットからの前記フィルタを使用して前記ＬＣＵのうちの１つ以上のコード化単位（ＣＵ）をフィルタ処理することと
を行わせる命令を記憶した非有形コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、その内容全体が参照により本明細書に組み込まれる、
２０１２年４月０９日に出願された米国仮出願第６１／６２１，９３１号
の利益を主張する。
【０００２】
[0002]本開示は、ビデオデータを圧縮するために使用されるブロックベースのデジタルビデオコード化に関し、より詳細には、ビデオブロックのフィルタ処理のための技法に関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップ又はデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録機器、デジタルメディアプレーヤ、ビデオゲーム機器、ビデオゲームコンソール、セルラー又は衛星無線電話、所謂「スマートフォン」、ビデオ遠隔会議機器、ビデオストリーミング機器などを含む、広範囲にわたる機器に組み込まれ得る。デジタルビデオ機器は、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコード化（ＡＶＣ：Advanced Video Coding）、現在開発中の高効率ビデオコード化（ＨＥＶＣ：High Efficiency Video Coding）規格によって定義された規格、及びそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。ビデオ機器は、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、及び／又は記憶し得る。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減又は除去するために空間的（イントラピクチャ）予測及び／又は時間的（インターピクチャ）予測を実行する。ブロックベースのビデオコード化では、ビデオスライス（即ち、ビデオフレーム又はビデオフレームの一部）はビデオブロックに区分され得、これらのビデオブロックは、ツリーブロック、コード化単位（ＣＵ：coding unit）及び／又はコード化ノードと呼ばれることがある。ピクチャのイントラコード化（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック内の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化（Ｐ又はＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、又は他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]空間的予測又は時間的予測は、コード化されるべきブロックのための予測ブロックを生じる。残差データは、コード化されるべき元のブロックと予測ブロックとの間の画素差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、及びコード化ブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコード化ブロックは、イントラコード化モードと残差データとに従って符号化される。更なる圧縮のために、残差データは、画素領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。量子化変換係数は、最初は２次元アレイで構成され、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコード化が適用され得る。
【発明の概要】
【０００６】
[0006]本開示では、ビデオ符号化及び／又はビデオ復号プロセスにおいて再構築されたビデオデータをフィルタ処理することに関連する技法について説明し、より詳細には、本開示では、ＡＬＦに関係する技法について説明する。本開示によれば、エンコーダにおいてフィルタ処理が適用され、エンコーダにおいて適用されたフィルタ処理をデコーダが識別することを可能にするためのフィルタ情報がビットストリーム中で符号化される。ビデオエンコーダは、幾つかの異なるフィルタをテストし、レート歪み分析に基づいて、再構築されたビデオ品質と圧縮品質との間で所望のトレードオフを生じるフィルタを選定し得る。ビデオデコーダは、フィルタ情報を含む符号化されたビデオデータを受信し、ビデオデータを復号し、フィルタ処理情報に基づいてフィルタ処理を適用する。このようにして、ビデオデコーダは、ビデオエンコーダにおいて適用されたのと同じフィルタ処理を適用する。
【０００７】
[0007]一例では、ビデオデータを復号するための方法は、適応ループフィルタ（ＡＬＦ：adaptive loop filter）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ：largest coding unit）のグループのためのパラメータセットで受信することと；ＬＣＵのグループをどのようにＬＣＵのサブグループに分割すべきかの指示を、パラメータセットで受信することと；ＬＣＵのサブグループの各々をフィルタのセットからのフィルタに割り当てることと；ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信することと、第１のＬＣＵがＬＣＵの第１のサブグループ中にある；第１のＬＣＵがＡＬＦによってフィルタ処理されるべきであるという指示に基づいて、及びＬＣＵのグループをどのようにＬＣＵのサブグループに分割すべきかの指示に基づいて、第１のＬＣＵのためのフィルタを決定することと；第１のＬＣＵのためのフィルタが、ＬＣＵの第１のサブグループに割り当てられたフィルタに対応する、第１のＬＣＵのためのフィルタを使用してＬＣＵのコード化単位をフィルタ処理することと；を含む。
【０００８】
[0008]別の例では、ビデオデータを復号するための方法は、適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットで受信することと；フィルタのセット中の各フィルタについて、関連するフィルタインデックスを決定することと；ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信することと；
[0009]第１のＬＣＵをフィルタ処理するために使用されるべきであるフィルタをフィルタのセットから識別するフィルタインデックスを受信することと；フィルタのセットからのフィルタを使用してＬＣＵのうちの１つ又は複数のコード化単位（ＣＵ：coded unit）をフィルタ処理することと；を含む。
【０００９】
[0010]別の例では、ビデオデータを符号化するための方法は、適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットに含めるために生成することと；ＬＣＵのグループをどのようにＬＣＵのサブグループに分割すべきか決定することと；ＬＣＵの各サブグループについて、フィルタのセットから関連するフィルタを決定することと；第１のＬＣＵのためのフィルタを決定することと、第１のＬＣＵがＬＣＵの第１のサブグループからのものであり、第１のＬＣＵのためのフィルタが、ＬＣＵの第１のサブグループに関連するフィルタに対応する；ＬＣＵのグループをどのようにＬＣＵのサブグループに分割すべきかの指示を、パラメータセットに含めるために生成することと、第１のＬＣＵが、ＬＣＵの第１のサブグループに関連するフィルタを使用してフィルタ処理されるべきであることを示す指示を、符号化されたビットストリーム中に含めるために生成することとを含む。
【００１０】
[0011]別の例では、ビデオデータを符号化するための方法は、適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットに含めるために生成することと；フィルタのセット中の各フィルタについて、関連するフィルタインデックスを決定することと；第１のＬＣＵについてフィルタのセットからフィルタを決定することと；ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を、符号化されたビットストリーム中に含めるために生成することと；第１のＬＣＵをフィルタ処理するために使用されるべきであるフィルタをフィルタのセットから識別するフィルタインデックスを、符号化されたビットストリーム中に含めるために生成することと；を含む。
【００１１】
[0012]別の例では、ビデオコード化のための機器は、適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットで受信することと；ＬＣＵのグループをどのようにＬＣＵのサブグループに分割すべきかの指示を、パラメータセットで受信することと；ＬＣＵのサブグループの各々をフィルタのセットからのフィルタに割り当てることと；ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信することと、第１のＬＣＵがＬＣＵの第１のサブグループ中にある；第１のＬＣＵがＡＬＦによってフィルタ処理されるべきであるという指示に基づいて、及びＬＣＵのグループをどのようにＬＣＵのサブグループに分割すべきかの指示に基づいて、第１のＬＣＵのためのフィルタを決定することと、第１のＬＣＵのためのフィルタが、ＬＣＵの第１のサブグループに割り当てられたフィルタに対応する；第１のＬＣＵのためのフィルタを使用してＬＣＵのうちの１つ又は複数のコード化単位（ＣＵ）をフィルタ処理することと；を行うように構成されたビデオデコーダを含む。
【００１２】
[0013]別の例では、ビデオコード化のための機器は、適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットで受信することと；フィルタのセット中の各フィルタについて、関連するフィルタインデックスを決定することと；ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信することと；第１のＬＣＵをフィルタ処理するために使用されるべきであるフィルタをフィルタのセットから識別するフィルタインデックスを受信することと；フィルタのセットからのフィルタを使用してＬＣＵのうちの１つ又は複数のコード化単位（ＣＵ）をフィルタ処理することと；を行うように構成されたビデオデコーダを含む。
【００１３】
[0014]別の例では、ビデオコード化のための機器は、適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットに含めるために生成することと；ＬＣＵのグループをどのようにＬＣＵのサブグループに分割すべきか決定することと；ＬＣＵの各サブグループについて、フィルタのセットから関連するフィルタを決定することと；第１のＬＣＵのためのフィルタを決定することと、第１のＬＣＵがＬＣＵの第１のサブグループからのものであり、第１のＬＣＵのためのフィルタが、ＬＣＵの第１のサブグループに関連するフィルタに対応する；ＬＣＵのグループをどのようにＬＣＵのサブグループに分割すべきかの指示を、パラメータセットに含めるために生成することと；第１のＬＣＵが、ＬＣＵの第１のサブグループに関連するフィルタを使用してフィルタ処理されるべきであることを示す指示を、符号化されたビットストリーム中に含めるために生成することと；を行うように構成されたビデオエンコーダを含む。
【００１４】
[0015]別の例では、ビデオコード化のための機器は、適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットに含めるために生成することと；フィルタのセット中の各フィルタについて、関連するフィルタインデックスを決定することと；第１のＬＣＵについてフィルタのセットからフィルタを決定することと；ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を、符号化されたビットストリーム中に含めるために生成することと；第１のＬＣＵをフィルタ処理するために使用されるべきであるフィルタをフィルタのセットから識別するフィルタインデックスを、符号化されたビットストリーム中に含めるために生成することと；を行うように構成されたビデオエンコーダを含む。
【００１５】
[0016]別の例では、ビデオデータを復号するための機器は、適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットで受信するための手段と；ＬＣＵのグループをどのようにＬＣＵのサブグループに分割すべきかの指示を、パラメータセットで受信するための手段と；ＬＣＵのサブグループの各々をフィルタのセットからのフィルタに割り当てるための手段と；ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信するための手段と、第１のＬＣＵがＬＣＵの第１のサブグループ中にある；第１のＬＣＵがＡＬＦによってフィルタ処理されるべきであるという指示に基づいて、及びＬＣＵのグループをどのようにＬＣＵのサブグループに分割すべきかの指示に基づいて、第１のＬＣＵのためのフィルタを決定するための手段と、第１のＬＣＵのためのフィルタが、ＬＣＵの第１のサブグループに割り当てられたフィルタに対応する；第１のＬＣＵのためのフィルタを使用してＬＣＵのうちの１つ又は複数のコード化単位（ＣＵ）をフィルタ処理するための手段と；を含む。
【００１６】
[0017]別の例では、ビデオデータを復号するための機器は、適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットで受信するための手段と；フィルタのセット中の各フィルタについて、関連するフィルタインデックスを決定するための手段と；ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信するための手段と；第１のＬＣＵをフィルタ処理するために使用されるべきであるフィルタをフィルタのセットから識別するフィルタインデックスを受信するための手段と；フィルタのセットからのフィルタを使用してＬＣＵのうちの１つ又は複数のコード化単位（ＣＵ）をフィルタ処理するための手段と；を含む。
【００１７】
[0018]別の例では、非有形コンピュータ可読記憶媒体は、実行されたとき、１つ又は複数のプロセッサに、適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットで受信することと；ＬＣＵのグループをどのようにＬＣＵのサブグループに分割すべきかの指示を、パラメータセットで受信することと；ＬＣＵのサブグループの各々をフィルタのセットからのフィルタに割り当てることと；ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信することと、第１のＬＣＵがＬＣＵの第１のサブグループ中にある；第１のＬＣＵがＡＬＦによってフィルタ処理されるべきであるという指示に基づいて、及びＬＣＵのグループをどのようにＬＣＵのサブグループに分割すべきかの指示に基づいて、第１のＬＣＵのためのフィルタを決定することと、第１のＬＣＵのためのフィルタが、ＬＣＵの第１のサブグループに割り当てられたフィルタに対応する；第１のＬＣＵのためのフィルタを使用してＬＣＵのうちの１つ又は複数のコード化単位（ＣＵ）をフィルタ処理することと；を行わせる命令を記憶している。
【００１８】
[0019]別の例では、非有形コンピュータ可読記憶媒体は、実行されたとき、１つ又は複数のプロセッサに、適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットで受信することと；フィルタのセット中の各フィルタについて、関連するフィルタインデックスを決定することと；ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信することと；第１のＬＣＵをフィルタ処理するために使用されるべきであるフィルタをフィルタのセットから識別するフィルタインデックスを受信することと；フィルタのセットからのフィルタを使用してＬＣＵのうちの１つ又は複数のコード化単位（ＣＵ）をフィルタ処理することと；を行わせる命令を行わせる命令を記憶している。
【００１９】
[0020]１つ又は複数の例の詳細を添付の図面及び以下の説明に記載する。他の特徴、目的、及び利点は、その説明及び図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００２０】
【図１】[0021]本開示で説明する技法を利用し得る例示的なビデオ符号化及び復号システムを示すブロック図。
【図２Ａ】[0022]最大コード化単位（ＬＣＵ）に適用される４分木区分の一例を示す概念図。
【図２Ｂ】最大コード化単位（ＬＣＵ）に適用される４分木区分の一例を示す概念図。
【図２Ｃ】[0023]図２Ａ及び図２Ｂの例示的な４分木区分に対応する一連のビデオブロックのためのフィルタマップの一例を示す概念図。
【図２Ｄ】図２Ａ及び図２Ｂの例示的な４分木区分に対応する一連のビデオブロックのためのフィルタマップの一例を示す概念図。
【図３】[0024]本開示で説明する技法を実装し得る例示的なビデオエンコーダを示すブロック図。
【図４Ａ】[0025]２つのメトリックのための範囲とフィルタとのマッピングを示す概念図。
【図４Ｂ】[0026]アクティビティメトリック及び方向メトリックのための範囲とフィルタとのマッピングを示す概念図。
【図５Ａ】[0027]画素の４×４ブロックの概念図。
【図５Ｂ】画素の４×４ブロックの概念図。
【図５Ｃ】画素の４×４ブロックの概念図。
【図６Ａ】[0028]領域適応ループフィルタ処理のために使用され得るピクチャ又はフレームの領域を示す概念図。
【図６Ｂ】領域適応ループフィルタ処理のために使用され得るピクチャ又はフレームの領域を示す概念図。
【図７】[0029]本開示で説明する技法を実装し得る例示的なビデオデコーダを示すブロック図。
【図８】[0030]本開示に一致するコード化技法を示す流れ図。
【図９】[0031]本開示に一致するコード化技法を示す流れ図。
【図１０】[0032]本開示に一致するコード化技法を示す流れ図。
【図１１】[0033]本開示に一致するコード化技法を示す流れ図。
【発明を実施するための形態】
【００２１】
[0034]ビデオコード化は、一般に、同じピクチャ中のビデオデータのすでにコード化されたブロックからビデオデータのブロックを予測すること（即ちイントラ予測）、又は異なるピクチャ中のビデオデータのすでにコード化されたブロックからビデオデータのブロックを予測すること（即ち、インター予測）のいずれかを伴う。幾つかの事例では、ビデオエンコーダはまた、予測ブロックを元のブロックと比較することによって残差データを計算する。従って、残差データは、予測ブロックと元のブロックとの間の差分を表す。ビデオエンコーダは、残差データを変換し、量子化し、符号化ビットストリーム中で、変換され量子化された残差データを信号伝達する。ビデオデコーダは、予測ブロックに残差データを加算して、予測ブロック単独よりも元のビデオブロックにぴったり一致する、再構築されたビデオブロックを生成する。復号されたビデオの品質を更に改善するために、ビデオデコーダは、再構築されたビデオブロックに対して１つ又は複数のフィルタ処理演算を実行することができる。これらのフィルタ処理演算の例としては、デブロッキングフィルタ処理、サンプル適応オフセット（ＳＡＯ：sample adaptive offset）フィルタ処理、及び適応ループフィルタ処理（ＡＬＦ）がある。これらのフィルタ処理演算のためのパラメータは、ビデオエンコーダによって決定され、符号化されたビデオビットストリーム中で明示的に信号伝達されるか、又はビデオデコーダによって暗黙的に決定されるかのいずれかであり得る。
【００２２】
[0035]本開示では、ビデオ符号化及び／又はビデオ復号プロセスにおいて再構築されたビデオデータをフィルタ処理することに関連する技法について説明し、より詳細には、本開示では、ＡＬＦに関係する技法について説明する。本開示によれば、エンコーダにおいてフィルタ処理が適用され、エンコーダにおいて適用されたフィルタ処理をデコーダが識別することを可能にするためのフィルタ情報がビットストリーム中で符号化される。ビデオエンコーダは、幾つかの異なるフィルタをテストし、レート歪み分析に基づいて、再構築されたビデオ品質と圧縮品質との間で所望のトレードオフを生じるフィルタを選定し得る。ビデオデコーダは、フィルタ情報を含む符号化されたビデオデータを受信し、ビデオデータを復号し、フィルタ処理情報に基づいてフィルタ処理を適用する。このようにして、ビデオデコーダは、ビデオエンコーダにおいて適用されたのと同じフィルタ処理を適用する。
【００２３】
[0036]ＡＬＦのための幾つかの提案は、フィルタのグループが、ピクチャ又はフレームに関連する適応パラメータセット（ＡＰＳ：adaptation parameter set）又はピクチャパラメータセット（ＰＰＳ：picture parameter set）で信号伝達される、ピクチャベースのＡＬＦ手法を含む。フィルタのセットからのどのフィルタがどの画素に適用されるかは、ブロック適応（ＢＡ：block adaptive）分類又は領域適応（ＲＡ：region adaptive）分類のいずれかを使用して決定され得る。ＢＡ分類の一例では、画素のブロックについてアクティビティメトリック（例えばラプラシアンアクティビティ）が決定され得る。決定されたアクティビティメトリックがその中に入る範囲に基づいて、ブロックのためにフィルタが選択され得る。アクティビティメトリック値の範囲は、関連するフィルタを有することができる。従って、ブロックのためのフィルタは、ブロックのアクティビティメトリックがその中に入る範囲に基づいて選択され得る。ＢＡ分類の幾つかの例では、２つ以上のメトリックが使用され得る。例えば、ラプラシアンアクティビティの測度が第１のメトリックとして使用され得、方向ベースのメトリックが第２のメトリックとして使用され得、フィルタは、これらの２つのメトリックの範囲に基づいて選択され得る。ＢＡ分類を使用してフィルタを適用する態様については、以下でより詳細に説明する。
【００２４】
[0037]ＲＡ分類の一例では、ピクチャ又はフレームは固定数の領域（例えば１６個の領域）に分割され得、各領域は、関連するフィルタを有することができる。領域中の各ＣＵは、領域に関連するフィルタを使用してＣＵがフィルタ処理されるべきであるかどうか、又はＣＵがフィルタ処理されないべきであるかどうかを示す、関連するオン／オフフラグを有することができる。ピクチャ又はフレームがＢＡ分類を使用してフィルタ処理されるべきであるか、又はＲＡ分類を使用してフィルタ処理されるべきであるかは、例えば、ＡＰＳ又はＳＰＳ中で信号伝達され得る。ＲＡ分類を使用すると、ビデオデコーダがブロックのアクティビティメトリックを計算する必要がＲＡ分類によってなくなるので、概して、ＢＡ分類を使用することに対してビデオコーダ複雑さが低減する。ＲＡ分類を使用してフィルタを適用する態様については、以下でより詳細に説明する。
【００２５】
[0038]ＡＬＦについての幾つかの実装形態の提案は、各最大コード化単位（ＬＣＵ）のヘッダデータ中で、３つのオプションのうちの１つが信号伝達される、ＬＣＵベースのＡＬＦ手法を含む。３つのオプションは、（１）ＬＣＵのために新しいフィルタを使用すること、（２）ＡＬＦを実行しないこと、又は（３）インデックス値を使用して、前のＬＣＵのために使用されるフィルタが現在のＬＣＵのために使用されるべきであることを信号伝達することを含む。
【００２６】
[0039]ＡＬＦについての他の実装形態の提案は、上記で紹介したピクチャベースの技法とＬＣＵベースの技法の両方の態様を組み合わせることを含む。例えば、幾つかのＡＬＦ実装形態では、ビデオエンコーダは、ＡＰＳ又はＳＰＳ中でグローバルフィルタのセットを信号伝達する。各ＬＣＵについて、ビデオエンコーダは、（１）ＬＣＵのためのフィルタがフィルタのグローバルセットから選択されるべきであること、（２）ＬＣＵのために新しいフィルタが使用されるべきであること、（３）前に使用されたフィルタがＬＣＵのために使用されるべきであること、又は（４）ＡＬＦフィルタ処理がＬＣＵに適用されるべきでないことを信号伝達する。フィルタがフィルタのグローバルセットから選択されるべきである場合、ビデオデコーダは、上記で紹介したＲＡ分類又はＢＡ分類のいずれかを使用してフィルタを選択することができる。
【００２７】
[0040]本開示は、既知のＡＬＦ技法への潜在的改善をもたらす。本開示の一技法によれば、領域の固定セットを使用してＲＡ分類を実装する代わりに、ピクチャ中の可変数の領域が使用され得る。可変数の領域は、使用されるべき領域の数の指示を符号化されたビットストリーム中に含めることによって、又は領域のサイズの指示を含めることによって、エンコーダからデコーダに信号伝達され得る。含まれるべき領域の数が信号伝達される場合、ビデオデコーダは、領域の数に基づいて領域のサイズを決定するように構成され得る。各領域について、その領域に関連するフィルタが信号伝達され得る。
【００２８】
[0041]以下でより詳細に説明するように、本開示の技法によれば、パラメータセット（ＰＳ：parameter set）オプションがパラメータセットで信号伝達され得る。信号伝達され得る様々なＰＳオプションとしては、ＢＡ分類、従来のＲＡ分類、修正されたＲＡ分類、及び他のＰＳオプションがある。上記で説明したように、各ＬＣＵについて、ビデオエンコーダはまた、ＬＣＵオプションを信号伝達し得る。ＬＣＵオプションは、例えば、（１）ＬＣＵのためのフィルタが、ＬＣＵの領域に基づいてフィルタのグローバルセットから選択されるべきであること、（２）ＬＣＵのために新しいフィルタが使用されるべきであること、（３）前に使用されたフィルタがＬＣＵのために使用されるべきであること、又は（４）ＡＬＦフィルタ処理がＬＣＵに適用されるべきでないことを含む。ＰＳオプション及びＬＣＵオプションは他の信号伝達に付随し得る。例えば、修正されたＲＡ分類のＰＳオプションが信号伝達されるとき、パラメータセットは、ピクチャかフレームをどのように領域に分割すべきかの指示をも含み得る。同様に、上記で説明したＬＣＵオプション（１）が信号伝達されるとき、ＬＣＵヘッダは、選択されたフィルタを識別するためのインデックスをも含み得る。上記で説明したＬＣＵオプション（２）が信号伝達されるとき、ＬＣＵヘッダは、新しいフィルタを構築するためのフィルタ係数をも含み得る。
【００２９】
[0042]本開示の別の技法によれば、フィルタのグローバルセットが、エンコーダからデコーダにＡＰＳ又はＳＰＳ中で信号伝達され得るが、ＲＡ分類又はＢＡ分類に基づいてグローバルセットからフィルタを選択する代わりに、グローバルセットからのフィルタは、所与のブロックについて、フィルタに関連するフィルタＩＤを使用して明示的に信号伝達され得る。各ＬＣＵについて、ビデオエンコーダは、（１）グローバルセットからのフィルタが使用されるべきであること、（２）ＬＣＵのために新しいフィルタが使用されるべきであること、（３）前に使用されたフィルタがＬＣＵのために使用されるべきであること、又は（４）ＡＬＦフィルタ処理がＬＣＵに適用されるべきでないことを信号伝達する。グローバルセットからのフィルタが使用されるべきである場合、ビデオエンコーダは、使用されるべきフィルタのフィルタＩＤを信号伝達することができる。新しいフィルタが使用されるべきである場合、新しいフィルタが後続のＬＣＵのために使用され得るように、新しいフィルタがフィルタＩＤとともに保存され得る。
【００３０】
[0043]本開示の技法について、時々、ループ内（in-loop）フィルタ処理に関して説明することがあるが、本技法は、ループ内フィルタ処理、ループ後（post-loop）フィルタ処理、又は他のフィルタ処理方式に適用され得る。ループ内フィルタ処理は、概して、フィルタ処理済みデータが予測イントラコード化又はインターコード化のために使用されるように、フィルタ処理済みデータが符号化ループ及び復号ループの一部であるフィルタ処理を指す。ループ後フィルタ処理は、符号化ループの後に、再構築されたビデオデータに適用されるフィルタ処理を指す。ループ後フィルタ処理では、フィルタ処理済みデータとは対照的に、未フィルタ処理データが予測イントラコード化又はインターコード化のために使用される。幾つかの実装形態では、フィルタ処理のタイプは、例えば、フレームごとに、スライスごとに、又は他のそのようなベースで、ループ後フィルタ処理とループ内フィルタ処理との間でスイッチし得、ループ後フィルタ処理を使用すべきかループ内フィルタ処理を使用すべきかの決定は、各フレーム、スライスなどについて、エンコーダからデコーダに信号伝達され得る。本開示の技法は、ループ内フィルタ処理又はポストフィルタ処理に限定されず、ビデオコード化中に適用される広範囲のフィルタ処理に適用され得る。
【００３１】
[0044]本開示では、「コード化」という用語は符号化又は復号を指す。同様に、「コーダ」という用語は、概して、任意のビデオエンコーダ、ビデオデコーダ、又は複合エンコーダ／デコーダ（コーデック）を指す。従って、「コーダ」という用語は、本明細書では、ビデオ符号化又はビデオ復号を実行する専用コンピュータ機器又は装置を指すために使用される。
【００３２】
[0045]更に、本開示では、「フィルタ」という用語は、概してフィルタ係数のセットを指す。例えば、３×３フィルタは９つのフィルタ係数のセットによって定義され得、５×５フィルタは２５個のフィルタ係数のセットによって定義され得、９×５フィルタは４５個のフィルタ係数のセットによって定義され得るなどである。「フィルタのセット」という用語は、概して、１つ又は複数のフィルタのグループを指す。例えば、２つの３×３フィルタのセットは、９つのフィルタ係数の第１のセットと、９つのフィルタ係数の第２のセットとを含み得る。本開示で説明する技法によれば、フレーム、スライス、又は最大コード化単位（ＬＣＵ）など、一連のビデオブロックについて、フィルタのセットを識別する情報が一連のビデオブロックのヘッダ中でエンコーダからデコーダに信号伝達される。「フィルタサポート」と呼ばれることがある、「形状」という用語は、概して、特定のフィルタのためのフィルタ係数の行の数とフィルタ係数の列の数とを指す。例えば、９×９は第１の形状の一例であり、９×５は第２の形状の一例であり、５×９は第３の形状の一例である。幾つかの事例では、フィルタは、ダイヤモンド形状、ダイヤモンド様形状、円形形状、円形様形状、六角形形状、八角形形状、十字形状、Ｘ字形状、Ｔ字形状、他の幾何学的形状を含む、非矩形形状、あるいは多数の他の形状又は構成をとり得る。
【００３３】
[0046]図１は、本開示で説明する技法を利用し得る例示的なビデオ符号化及び復号システム１０を示すブロック図である。図１に示すように、システム１０は、宛先機器１４によって後で復号されるべき符号化ビデオデータを生成する発信源機器１２を含む。発信源機器１２及び宛先機器１４は、デスクトップコンピュータ、ノートブック（即ち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、所謂「スマート」フォンなどの電話ハンドセット、所謂「スマート」パッド、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミング機器などを含む、広範囲にわたる機器のいずれかを備え得る。場合によっては、発信源機器１２及び宛先機器１４は、ワイヤレス通信のために装備され得る。
【００３４】
[0047]宛先機器１４は、リンク１６を介して復号されるべき符号化ビデオデータを受信し得る。リンク１６は、発信源機器１２から宛先機器１４に符号化ビデオデータを移動することが可能な任意のタイプの媒体又は機器を備え得る。一例では、リンク１６は、発信源機器１２が、符号化ビデオデータをリアルタイムで宛先機器１４に直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先機器１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトル又は１つ以上の物理伝送線路など、任意のワイヤレス若しくはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、発信源機器１２から宛先機器１４への通信を可能にするために有用であり得る、ルータ、スイッチ、基地局、又は任意の他の機器を含み得る。
【００３５】
[0048]代替的に、符号化データは、出力インターフェース２２から記憶装置３２に出力され得る。同様に、符号化データは、入力インターフェースによって記憶装置３２からアクセスされ得る。記憶装置３２は、ハードドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性又は不揮発性メモリ、又は符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散した又はローカルでアクセスされるデータ記憶媒体のいずれかを含み得る。更なる一例では、記憶装置３２は、発信源機器１２によって生成された符号化ビデオを保持し得るファイルサーバ又は別の中間記憶装置に対応し得る。宛先機器１４は、ストリーミング又はダウンロードを介して、記憶装置３２から、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先機器１４に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバとしては、（例えば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続記憶（ＮＡＳ）機器、又はローカルディスクドライブがある。宛先機器１４は、インターネット接続を含む、任意の標準のデータ接続を介して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（例えば、ＤＳＬ、ケーブルモデムなど）、又は両方の組合せを含み得る。記憶装置３２からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、又は両方の組合せであり得る。
【００３６】
[0049]本開示の技法は、必ずしもワイヤレス適用例又は設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、例えばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、又は他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコード化に適用され得る。幾つかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、及び／又はビデオテレフォニーなどの適用例をサポートするために、一方向又は双方向のビデオ送信をサポートするように構成され得る。
【００３７】
[0050]図１の例では、発信源機器１２は、ビデオ発信源１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。場合によっては、出力インターフェース２２は、変調器／復調器（モデム）及び／又は送信機を含み得る。発信源機器１２において、ビデオ発信源１８は、例えばビデオカメラなどの撮像装置、以前に撮影されたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、及び／又は発信源ビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどの発信源、若しくはそのような発信源の組合せを含み得る。一例として、ビデオ発信源１８がビデオカメラである場合、発信源機器１２及び宛先機器１４は、所謂カメラフォン又はビデオフォンを形成し得る。但し、本開示で説明する技法は、概してビデオコード化に適用可能であり得、ワイヤレス及び／又はワイヤード適用例に適用され得る。
【００３８】
[0051]撮影されたビデオ、以前に撮影されたビデオ、又はコンピュータ生成されたビデオは、発信源機器１２によって符号化され得る。符号化ビデオデータは、発信源機器２０の出力インターフェース２２を介して宛先機器１４に直接送信され得る。符号化ビデオデータは、更に（又は代替として）、復号及び／又は再生のための宛先機器１４又は他の機器による後のアクセスのために記憶装置３２上に記憶され得る。
【００３９】
[0052]宛先機器１４は、入力インターフェース２８と、ビデオデコーダ３０と、表示装置３２とを含む。場合によっては、入力インターフェース２８は、受信機及び／又はモデムを含み得る。宛先機器１４の入力インターフェース２８は、リンク１６を介して符号化ビデオデータを受信する。リンク１６を介して通信され、又は記憶装置３２上に与えられた符号化ビデオデータは、ビデオデータを復号する際に、ビデオデコーダ３０など、ビデオデコーダが使用するためのビデオエンコーダ２０によって生成される様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体上に記憶されるか、又はファイルサーバ上に記憶される符号化ビデオデータとともに含まれ得る。
【００４０】
[0053]表示装置３２は、宛先機器１４と一体化されるか又はその外部にあり得る。幾つかの例では、宛先機器１４は、一体型表示装置を含み、また、外部表示装置とインターフェースするように構成され得る。他の例では、宛先機器１４は表示装置であり得る。概して、表示装置３２は、復号されたビデオデータをユーザに対して表示し、液晶表示器（ＬＣＤ）、プラズマ表示器、有機発光ダイオード（ＯＬＥＤ）表示器、又は別のタイプの表示装置など、様々な表示装置のいずれかを備え得る。
【００４１】
[0054]ビデオエンコーダ２０及びビデオデコーダ３０は、現在開発中の高効率ビデオコード化（ＨＥＶＣ）規格などのビデオ圧縮規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ：HEVC Test Model）に準拠し得る。幾つかの例では、ビデオエンコーダ２０及びビデオデコーダ３０は、現在開発中の高効率ビデオコード化（ＨＥＶＣ）規格などのビデオ圧縮規格に従って動作する。「HEVC Working Draft 6」と呼ばれる今度のＨＥＶＣ規格のドラフトは、その内容全体が参照により本明細書に組み込まれる、２０１３年４月５日現在、http://phenix.int-evry.fr/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC-H1003-v22.zipからダウンロード可能である、ブロスら、「High Efficiency Video Coding (HEVC) text specification draft 6」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのビデオコード化共同研究部会（ＪＣＴ−ＶＣ：Joint Collaborative Team on Video Coding）、第７回会議、ジュネーブ、スイス、２０１１年１１月に記載されている。「HEVC Working Draft 9」と呼ばれる今度のＨＥＶＣ規格の別のドラフトは、その内容全体が参照により本明細書に組み込まれる、２０１３年４月８日現在、http://phenix.int-evry.fr/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC-K1003-v8.zipからダウンロード可能である、ブロスら、「High Efficiency Video Coding (HEVC) text specification draft 9」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのビデオコード化共同研究部会（ＪＣＴ−ＶＣ）、第１１回会議、上海、中国、２０１２年１０月に記載されている。２０１３年４月５日現在、ＨＥＶＣの最新の仕様は、その内容全体が参照により本明細書に組み込まれる、２０１３年４月８日現在、http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v20.zipからダウンロード可能である、ブロスら、「High Efficiency Video Coding (HEVC) text specification draft 10 (for FDIS & Consent)」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのビデオコード化共同研究部会（ＪＣＴ−ＶＣ）、第１２回会議、ジュネーブ、スイス、２０１３年１月１４〜２３日に記載されている。但し、本開示の技法は、いかなる特定のコード化規格又はコード化技法にも限定されない。
【００４２】
[0055]図１には示されていないが、幾つかの態様では、ビデオエンコーダ２０及びビデオデコーダ３０は、それぞれオーディオエンコーダ及びデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、又は他のハードウェア及びソフトウェアを含んで、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、幾つかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、又はユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００４３】
[0056]ビデオエンコーダ２０及びビデオデコーダ３０はそれぞれ、１つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、又はそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、機器は、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、１つ又は複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ２０及びビデオデコーダ３０の各々は１つ又は複数のエンコーダ又はデコーダ中に含まれ得、そのいずれも、それぞれの機器において複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００４４】
[0057]ＪＣＴ−ＶＣは、ＨＥＶＣ規格の開発に取り組んでいる。ＨＥＶＣ規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコード化機器の発展的モデルに基づく。ＨＭは、例えば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存の機器に対してビデオコード化機器の幾つかの追加の能力を仮定する。例えば、Ｈ．２６４は９つのイントラ予測符号化モードを与えるが、ＨＭは３３個ものイントラ予測符号化モードを与え得る。
【００４５】
[0058]概して、ＨＭの作業モデルは、ビデオフレーム又はピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロック又は最大コード化単位（ＬＣＵ）に分割され得ることを記載している。ツリーブロックは、Ｈ．２６４規格のマクロブロックと同様の目的を有する。スライスは、コード化順序で幾つかの連続するツリーブロックを含む。ビデオフレーム又はピクチャは、１つ又は複数のスライスに区分され得る。各ツリーブロックは、４分木に従ってコード化単位（ＣＵ）に分割され得る。例えば、４分木のルートノードとしてのツリーブロックは、４つの子ノードに分割され得、各子ノードは、次に、親ノードとなり、別の４つの子ノードに分割され得る。４分木のリーフノードとしての、最終的な、分割されていない子ノードは、コード化ノード、即ち、コード化ビデオブロックを備える。コード化ビットストリームに関連するシンタックスデータは、ツリーブロックが分割され得る最大回数を定義し得、コード化ノードの最小サイズをも定義し得る。
【００４６】
[0059]ＣＵは、コード化ノードと、コード化ノードに関連する予測単位（ＰＵ：prediction unit）及び変換単位（ＴＵ：transform unit）とを含む。ＣＵのサイズは、コード化ノードのサイズに対応し、形状が方形でなければならない。ＣＵのサイズは、８×８の画素から最大６４×６４以上の画素をもつツリーブロックのサイズまでに及び得る。各ＣＵは、１つ又は複数のＰＵと、１つ又は複数のＴＵとを含んでいることがある。ＣＵに関連するシンタックスデータは、例えば、ＣＵを１つ又は複数のＰＵに区分することを記述し得る。区分モードは、ＣＵが、スキップモード符号化又はダイレクトモード符号化されるか、イントラ予測モード符号化されるか、若しくはインター予測モード符号化されるかの間で異なり得る。ＰＵは、形状が非方形になるように区分され得る。ＣＵに関連するシンタックスデータは、例えば、４分木に従ってＣＵを１つ又は複数のＴＵに区分することも記述し得る。ＴＵは、形状が方形又は非方形であり得る。
【００４７】
[0060]ＨＥＶＣ規格は、ＣＵごとに異なり得るＴＵに従う変換を可能にする。ＴＵは、一般に、区分されたＬＣＵについて定義された所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。ＴＵは、一般にＰＵと同じサイズであるか又はＰＵよりも小さい。幾つかの例では、ＣＵに対応する残差サンプルは、「残差４分木」（ＲＱＴ：residual quad tree）として知られる４分木構造を使用して、より小さい単位に再分割され得る。ＲＱＴのリーフノードは変換単位（ＴＵ）と呼ばれることがある。ＴＵに関連する画素差分値は、変換されて変換係数が生成され得、その変換係数は量子化され得る。
【００４８】
[0061]概して、ＰＵは、予測プロセスに関係するデータを含む。例えば、ＰＵがイントラモード符号化されるとき、ＰＵは、ＰＵのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵの動きベクトルを定義するデータを含み得る。ＰＵの動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（例えば、１／４画素精度又は１／８画素精度）、動きベクトルが指す参照ピクチャ、及び／又は動きベクトルの参照ピクチャリスト（例えば、リスト０、リスト１、又はリストＣ）を記述し得る。
【００４９】
[0062]概して、ＴＵは、変換プロセスと量子化プロセスとのために使用される。１つ又は複数のＰＵを有する所与のＣＵは、１つ又は複数の変換単位（ＴＵ）をも含み得る。予測の後に、ビデオエンコーダ２０は、ＰＵに対応する残差値を計算し得る。残差値は画素差分値を備え、画素差分値は、エントロピーコード化のためのシリアル化変換係数（serialized transform coefficient）を生成するために、ＴＵを使用して変換係数に変換され、量子化され、走査され得る。本開示では、一般に、ＣＵのコード化ノードを指すために「ビデオブロック」という用語を使用する。幾つかの特定の場合において、本開示では、コード化ノードならびにＰＵ及びＴＵを含む、ツリーブロック、即ち、ＬＣＵ又はＣＵを指すために「ビデオブロック」という用語をも使用し得る。
【００５０】
[0063]図２Ａ及び図２Ｂは、例示的な４分木２５０と、対応するＬＣＵ２７２とを示す概念図である。図２Ａは、階層式に構成されたノードを含む、例示的な４分木２５０を示している。４分木２５０などの４分木中の各ノードは、子をもたないリーフノードであるか、又は４つの子ノードを有し得る。図２Ａの例では、４分木２５０はルートノード２５２を含む。ルートノード２５２は、リーフノード２５６Ａ〜２５６Ｃ（リーフノード２５６）とノード２５４とを含む、４つの子ノードを有する。ノード２５４はリーフノードでないので、ノード２５４は、この例ではリーフノード２５８Ａ〜２５８Ｄ（リーフノード２５８）である、４つの子ノードを含む。
【００５１】
[0064]４分木２５０は、この例ではＬＣＵ２７２など、対応するＬＣＵの特性を記述するデータを含み得る。例えば、４分木２５０は、それの構造により、サブＣＵへのＬＣＵの分割を記述し得る。ＬＣＵ２７２が２Ｎ×２Ｎのサイズを有すると仮定する。ＬＣＵ２７２は、この例では、４つのサブＣＵ２７６Ａ〜２７６Ｃ（サブＣＵ２７６）及び２７４を有し、各々はＮ×Ｎサイズである。サブＣＵ２７４は更に４つのサブＣＵ２７８Ａ〜２７８Ｄ（サブＣＵ２７８）に分割され、各々はサイズＮ／２×Ｎ／２である。この例では、４分木２５０の構造はＬＣＵ２７２の分割に対応する。即ち、ルートノード２５２はＬＣＵ２７２に対応し、リーフノード２５６はサブＣＵ２７６に対応し、ノード２５４はサブＣＵ２７４に対応し、リーフノード２５８はサブＣＵ２７８に対応する。
【００５２】
[0065]４分木２５０のノードのデータは、ノードに対応するＣＵが分割されるかどうかを記述し得る。ＣＵが分割される場合、４分木２５０中に４つの追加のノードが存在し得る。幾つかの例では、４分木のノードは以下の擬似コードと同様に実装され得る。
quadtree_node {
boolean split_flag(1);
// signaling data
if (split_flag) {
quadtree_node child1;
quadtree_node child2;
quadtree_node child3;
quadtree_node child4;
}
}
ｓｐｌｉｔ＿ｆｌａｇ値は、現在のノードに対応するＣＵが分割されるかどうかを表す１ビット値であり得る。ＣＵが分割されない場合、ｓｐｌｉｔ＿ｆｌａｇ値は「０」であり得るが、ＣＵが分割される場合、ｓｐｌｉｔ＿ｆｌａｇ値は「１」であり得る。４分木２５０の例に関して、分割フラグ値のアレイは１０１００００００であり得る。
【００５３】
[0066]幾つかの例では、サブＣＵ２７６及びサブＣＵ２７８の各々は、同じイントラ予測モードを使用してイントラ予測符号化され得る。従って、ビデオエンコーダ２０は、ルートノード２５２においてイントラ予測モードの指示を与え得る。その上、サブＣＵの幾つかのサイズは、特定のイントラ予測モードのために複数の可能な変換を有し得る。ビデオエンコーダ２０は、ルートノード２５２においてそのようなサブＣＵのために使用すべき変換の指示を与え得る。例えば、サイズＮ／２×Ｎ／２のサブＣＵでは複数の可能な変換が利用可能であり得る。ビデオエンコーダ２０は、ルートノード２５２において使用すべき変換を信号伝達し得る。従って、ビデオデコーダ３０は、ルートノード２５２において信号伝達されるイントラ予測モードと、ルートノード２５２において信号伝達される変換とに基づいてサブＣＵ２７８に適用すべき変換を決定し得る。
【００５４】
[0067]従って、ビデオエンコーダ２０は、本開示の技法によれば、リーフノード２５６及びリーフノード２５８においてサブＣＵ２７６及びサブＣＵ２７８に適用すべき変換を信号伝達する必要はないが、代わりに、単に、ルートノード２５２において、イントラ予測モードと、幾つかの例では、幾つかのサイズのサブＣＵに適用すべき変換とを信号伝達し得る。このようにして、これらの技法は、ＬＣＵ２７２など、ＬＣＵのサブＣＵごとに変換機能を信号伝達するオーバーヘッドコストを低減し得る。
【００５５】
[0068]幾つかの例では、サブＣＵ２７６及び／又はサブＣＵ２７８のイントラ予測モードは、ＬＣＵ２７２のイントラ予測モードとは異なり得る。ビデオエンコーダ２０及びビデオデコーダ３０は、ルートノード２５２において信号伝達されるイントラ予測モードを、サブＣＵ２７６及び／又はサブＣＵ２７８のために利用可能なイントラ予測モードにマッピングする機能を用いて構成され得る。この機能は、ＬＣＵ２７２のために利用可能なイントラ予測モードの、サブＣＵ２７６及び／又はサブＣＵ２７８のイントラ予測モードへの多対１のマッピングを与え得る。スライスはビデオブロック（又はＬＣＵ）に分割され得、各ビデオブロックは、図２Ａ〜図２Ｂに関して説明した４分木構造に従って区分され得る。
【００５６】
[0069]幾つかの例では、サブＣＵ２７６及び／又はサブＣＵ２７８のイントラ予測モードは、ＬＣＵ２７２のイントラ予測モードとは異なり得る。ビデオエンコーダ２０及びビデオデコーダ３０は、ルートノード２５２において信号伝達されるイントラ予測モードを、サブＣＵ２７６及び／又はサブＣＵ２７８のために利用可能なイントラ予測モードにマッピングする機能を用いて構成され得る。この機能は、ＬＣＵ２７２のために利用可能なイントラ予測モードの、サブＣＵ２７６及び／又はサブＣＵ２７８のイントラ予測モードへの多対１のマッピングを与え得る。
【００５７】
[0070]スライスはビデオブロック（又はＬＣＵ）に分割され得、各ビデオブロックは、図２Ａ〜図２Ｂに関して説明した４分木構造に従って区分され得る。更に、図２Ｃに示すように、「オン」によって示される４分木サブブロックは、本明細書で説明するループフィルタによってフィルタ処理され得るが、「オフ」によって示される４分木サブブロックはフィルタ処理されないことがある。所与のブロック又はサブブロックをフィルタ処理すべきか否かの決定は、フィルタ処理済み結果と非フィルタ処理済み結果とをコード化されている元のブロックに対して比較することによって、エンコーダにおいて決定され得る。図２Ｄは、図２Ｃに示す４分木区分を生じる区分決定を表す決定木である。「オン」ブロックについてどの画素にも適用される実際のフィルタ処理は、本明細書で説明するメトリックに基づいて決定され得る。
【００５８】
[0071]詳細には、図２Ｃは、４分木区分方式に従って、様々なサイズのより小さいビデオブロックに区分された比較的大きいビデオブロックを表し得る。図２Ｃの各ビデオブロックは、そのビデオブロックに対してフィルタ処理が適用されるべきか又は回避されるべきかを示すために、（オン又はオフと）標示されている。ビデオエンコーダは、各ビデオブロックのフィルタ処理済みバージョンと未フィルタ処理バージョンとをコード化されている元のビデオブロックと比較することによって、このフィルタマップを定義し得る。
【００５９】
[0072]再び、図２Ｄは、図２Ｃに示す４分木区分を生じる区分決定に対応する決定木である。図２Ｄにおいて、各円はＣＵに対応し得る。円が「１」フラグを含む場合、そのＣＵは、もう４つのＣＵに更に区分されるが、円が「０」フラグを含む場合、そのＣＵはそれ以上区分されない。（例えば、ＣＵに対応する）各円はまた、関連するひし形を含む。所与のＣＵのためのひし形中のフラグが１に設定された場合、そのＣＵに対するフィルタ処理は「オン」になるが、所与のＣＵのためのひし形中のフラグが０に設定された場合、フィルタ処理はオフになる。このようにして、図２Ｃと図２Ｄとは、個々に又はまとめてフィルタマップと見なされ得、フィルタマップは、各区分されたビデオブロック（例えば、ＬＣＵ内の各ＣＵ）にフィルタ処理を適用すべきか否かにかかわらず、所与のビデオブロック（例えば、ＬＣＵ）のための４分木区分のレベルを通信するために、エンコーダにおいて生成され、符号化ビデオデータのスライスごとに少なくとも１回デコーダに通信され得る。
【００６０】
[0073]小さいビデオブロックほど、より良い解像度が得られ、高い詳細レベルを含むビデオフレームの位置のために使用され得る。大きいビデオブロックほど、より高いコード化効率が得られ、低い詳細レベルを含むビデオフレームの位置のために使用され得る。スライスは、複数のビデオブロック及び／又はサブブロックであると見なされ得る。各スライスは、ビデオフレームの単独で復号可能な一連のビデオブロックであり得る。代替的に、フレーム自体が復号可能な一連のビデオブロックであり得るか、又はフレームの他の部分が復号可能な一連のビデオブロックとして定義され得る。「一連のビデオブロック」という用語は、フレーム全体、フレームのスライス、シーケンスとも呼ばれるピクチャのグループ（ＧＯＰ）など、ビデオフレームの一連の任意の単独で復号可能な部分、又は適用可能なコード化技法に従って定義される別の単独で復号可能な単位を指すことがある。本開示の態様についてフレーム又はスライスに関して説明することがあるが、そのような言及は例示にすぎない。概して、任意の一連のビデオブロックがフレーム又はスライスの代わりに使用され得ることを理解されたい。
【００６１】
[0074]シンタックスデータは、各ＣＵが関連するシンタックスデータを含むように、コード化単位ごとに定義され得る。本明細書で説明するフィルタ情報は、ＣＵのためのそのようなシンタックスの一部であり得るが、ＣＵのためではなく、フレーム、スライス、ＧＯＰ、ＬＣＵ、又はビデオフレームのシーケンスなど、一連のビデオブロックのためのシンタックスの一部である可能性が高いことがある。シンタックスデータは、スライス又はフレームのＣＵとともに使用されるべきフィルタの１つ又は複数のセットを示すことができる。更に、必ずしも全てのフィルタ情報が、共通の一連のビデオブロックのヘッダ中に含まれなければならないとは限らない。例えば、フィルタ記述シンタックスはフレームヘッダ中で送信され得、他のフィルタ情報はＬＣＵのためのヘッダ中で信号伝達される。
【００６２】
[0075]ビデオエンコーダ２０は、コード化されているビデオブロックが、予測ブロックを識別するために予測フレーム（又は他のＣＵ）と比較される、予測コード化を実行し得る。コード化されている現在のビデオブロックと予測ブロックとの間の差分は残差ブロックとしてコード化され、予測ブロックを識別するために予測シンタックスが使用される。残差ブロックは、変換され、量子化され得る。変換技法は、ＤＣＴプロセス又は概念的に同様のプロセス、整数変換、ウェーブレット変換、又は他のタイプの変換を備え得る。ＤＣＴプロセスでは、一例として、変換プロセスは、画素値のセットを、周波数領域における画素値のエネルギーを表し得る変換係数に変換する。量子化は、一般に変換係数に適用され、概して、所与の変換係数に関連するビット数を制限するプロセスを伴う。
【００６３】
[0076]ビデオシーケンスは、一般に、一連のビデオフレーム又はピクチャを含む。ピクチャのグループ（ＧＯＰ）は、概して、一連の１つ又は複数のビデオピクチャを備える。ＧＯＰは、ＧＯＰ中に含まれる幾つかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ピクチャのうちの１つ又は複数のヘッダ中、又は他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックはＣＵ内のコード化ノードに対応し得る。ビデオブロックは、固定サイズ又は可変サイズを有し得、指定のコード化規格に応じてサイズが異なり得る。
【００６４】
[0077]一例として、ＨＭは、様々なＰＵサイズでの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２Ｎ又はＮ×ＮのＰＵサイズでのイントラ予測をサポートし、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、又はＮ×Ｎの対称的なＰＵサイズでのインター予測をサポートする。ＨＭはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、及びｎＲ×２ＮのＰＵサイズでのインター予測のための非対称区分をサポートする。非対称区分では、ＣＵの一方向は区分されないが、他の方向は２５％と７５％とに区分される。２５％の区分に対応するＣＵの部分は、「ｎ」とその後ろに付く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、又は「Ｒｉｇｈｔ」という表示によって示される。従って、例えば、「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５Ｎ  ＰＵと下部の２Ｎ×１．５Ｎ  ＰＵとで水平方向に区分された２Ｎ×２Ｎ  ＣＵを指す。
【００６５】
[0078]本開示では、「Ｎ×Ｎ（NxN）」及び「Ｎ×Ｎ（N by N）」は、垂直寸法及び水平寸法に関するビデオブロックの画素寸法、例えば、１６×１６（16x16）画素又は１６×１６（16 by 16）画素を指すために互換的に使用され得る。概して、１６×１６ブロックは、垂直方向に１６画素を有し（ｙ＝１６）、水平方向に１６画素を有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮ画素を有し、水平方向にＮ画素を有し、但し、Ｎは非負整数値を表す。ブロック中の画素は行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数の画素を有する必要があるとは限らない。例えば、ブロックはＮ×Ｍ画素を備え得、但し、Ｍは必ずしもＮに等しいとは限らない。
【００６６】
[0079]ＣＵのＰＵを使用したイントラ予測コード化又はインター予測コード化の後に、ビデオエンコーダ２０は、ＣＵのＴＵのための残差データを計算し得る。ＰＵは、（画素領域とも呼ばれる）空間領域において画素データを備え得、ＴＵは、変換、例えば、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、又は概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャの画素と、ＰＵに対応する予測値との間の画素差分に対応し得る。ビデオエンコーダ２０は、ＣＵのための残差データを含むＴＵを形成し、次いで、ＴＵを変換して、ＣＵの変換係数を生成し得る。
【００６７】
[0080]変換係数を生成するための任意の変換の後に、ビデオエンコーダ２０は、変換係数の量子化を実行し得る。量子化は、一般に、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、更なる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部又は全部に関連するビット深さを低減し得る。例えば、量子化中にｎビット値がｍビット値に切り捨てられ得、但し、ｎはｍよりも大きい。
【００６８】
[0081]幾つかの例では、ビデオエンコーダ２０は、量子化変換係数を走査して、エントロピー符号化され得るシリアル化ベクトルを生成するために、予め定義された走査順序を利用し得る。他の例では、ビデオエンコーダ２０は適応走査を実行し得る。量子化変換係数を走査して１次元ベクトルを形成した後に、ビデオエンコーダ２０は、例えば、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ：context adaptive binary arithmetic coding）に従って１次元ベクトルをエントロピー符号化し得る。同じく使用され得る他のエントロピーコード化技法の例としては、例えば、コンテキスト適応型可変長コード化（ＣＡＶＬＣ：context adaptive variable length coding）、シンタックスベースコンテキスト適応型バイナリ算術コード化（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、及び確率間隔区分エントロピー（ＰＩＰＥ：probability interval partitioning entropy）コード化、並びに他のエントロピー符号化方法がある。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
【００６９】
[0082]ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、例えば、シンボルの隣接値が非０であるか否かに関係し得る。ＣＡＶＬＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルのための可変長コードを選択し得る。ＶＬＣにおけるコードワードは、相対的により短いコードが優勢シンボル（more probable symbols）に対応し、より長いコードが劣勢シンボル（less probable symbols）に対応するように構築され得る。このようにして、ＶＬＣの使用は、例えば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づき得る。
【００７０】
[0083]ビデオエンコーダ２０は、本開示の技法に従ってＡＬＦを適用するように構成され得る。特に、ビデオエンコーダ２０は、ビデオデータの特定の部分について所望のレート歪みトレードオフを生じるフィルタを決定し、ビデオデコーダ３０がその同じフィルタを識別することを可能にする情報を、符号化されたビットストリーム中に含み得る。ビデオデータの特定の部分についてのレート歪みトレードオフは、例えば、詳細を信号伝達するために必要とされるビット数と、そのフィルタ処理方式を使用して得られる再構築されたビデオデータの品質とに応じて変わり得る。所望のレート歪みトレードオフを構成するものは、ビデオデータを送信するためにどのくらいの帯域幅が利用可能であるか、ビデオデータを記憶するためにどのくらいの記憶スペースが利用可能であるか、ユーザがどんなビデオ品質を望むか、及び多数の他のファクタを含む、多くのファクタに応じて変化し得る。
【００７１】
[0084]適応ループフィルタ処理（ＡＬＦ）の本実装形態は、ピクチャベースのＡＬＦとＬＣＵベースのＡＬＦとを含む、異なるＡＬＦ技法を利用することができる。ピクチャベースのＡＬＦでは、エンコーダは、ブロック適応（ＢＡ）分類技法又は領域適応（ＲＡ）分類技法に基づいて全フレームのためのフィルタを信号伝達する。ＢＡ分類技法は、例えば、方向メトリック又はアクティビティメトリック（例えば、ラプラシアンアクティビティ）など、１つ又は複数のメトリックを使用して画素又は画素のブロックを分類することを含む。分類に基づいて、画素又は画素のブロックのために、フィルタのセットからのフィルタが選択され得る。エンコーダ及びデコーダは、画素又は画素のブロックのために同じメトリックを決定し、それらのメトリックに基づいて、（例えば、ピクチャパラメータセット又はスライスヘッダ中で信号伝達される）フィルタのセットから、その画素又は画素のブロックに適用すべきフィルタを識別することができる。このようにして、エンコーダは、画素又は画素のブロックごとにフィルタを明示的に信号伝達する必要がない。
【００７２】
[0085]ＲＡ分類技法は、全フレーム、即ち、ピクチャを１６個の矩形領域に分類することを含み（即ち、Ｒ（ｉ，ｊ）、ｉ，ｊ＝０，．．．，３）、各領域はＣＵのグループに関連する。各ＣＵについて、コーダは、ＣＵを含んでいる領域に関連するフィルタでＣＵをフィルタ処理すべきかどうか、又はＣＵをフィルタ処理しないべきであるかどうかを決定することができる。ＢＡ技法及びＲＡ技法を使用するとき、複数のＢＡ分類又はＲＡ分類領域がマージされ得る。例えば、複数のＢＡ分類領域は、フィルタのセットからの同じフィルタにインデックス付けされ得、それにより、そのようなフィルタが複数のＢＡ分類領域の全てに使用されるべきであることが示される。同様に、複数のＲＡ分類領域は同じフィルタにインデックス付けされ得、それにより、そのようなフィルタが複数のＲＡ分類領域の全てに使用されるべきであることが示される。幾つかの実装形態では、フィルタのセットのためのフィルタ係数は、ＬＣＵのグループに関連するパラメータセットで信号伝達され得る。フィルタ係数は、例えば、ピクチャのための適応パラメータセットの一部として信号伝達されるか、又は場合によってはピクチャパラメータセット若しくはスライスヘッダなど、別の位置において信号伝達され得る。ＣＵレベルオン／オフフラグが、例えば、スライスヘッダ中で信号伝達され得る。
【００７３】
[0086]図３は、本開示で説明する技法を実装し得る例示的なビデオエンコーダ２０を示すブロック図である。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコード化及びインターコード化を実行し得る。イントラコード化は、所与のビデオフレーム又はピクチャ内のビデオの空間的冗長性を低減又は除去するために空間的予測に依拠する。インターコード化は、ビデオシーケンスの隣接フレーム又はピクチャ内のビデオの時間的冗長性を低減又は除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、幾つかの空間ベースの圧縮モードのいずれかを指し得る。単方向予測（Ｐモード）又は双方向予測（Ｂモード）などのインターモードは、幾つかの時間ベースの圧縮モードのいずれかを指し得る。
【００７４】
[0087]図３の例では、ビデオエンコーダ２０は、区分化ユニット３５と、予測処理ユニット４１と、参照ピクチャメモリ６４と、加算器５０と、変換ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。予測処理ユニット４１は、動き推定ユニット４２と、動き補償ユニット４４と、イントラ予測処理ユニット４６とを含む。ビデオブロック再構築のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換処理ユニット６０と、加算器６２と、適応ループフィルタ（ＡＬＦ）ユニット６５とを含む。ブロック境界をフィルタ処理して、再構築されたビデオからブロック歪み（blockiness artifacts）を除去するために、又は再構築されたビデオの全体的な品質を改善するために、デブロッキングフィルタ（図３に図示せず）も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタ処理することになる。デブロッキングフィルタ及びＡＬＦユニット６５に加えて、サンプル適応オフセット（ＳＡＯ）フィルタなど、追加のループフィルタ（ループ内又はループ後）も使用され得る。ＡＬＦユニット６５は、上記で説明した適応ループフィルタ処理技法を実行するように構成され得る。
【００７５】
[0088]図３に示すように、ビデオエンコーダ２０はビデオデータを受信し、区分化ユニット３５はデータをビデオブロックに区分する。この区分は、例えば、ＬＣＵ及びＣＵの４分木構造に従って、スライス、タイル、又は他のより大きいユニットへの区分、若しくはビデオブロック区分をも含み得る。ビデオエンコーダ２０は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに（及び、場合によっては、タイルと呼ばれるビデオブロックのセットに）分割され得る。予測処理ユニット４１は、誤差結果（例えばコード化レート及び歪みレベル）に基づいて現在のビデオブロックについて、複数のイントラコード化モードのうちの１つ、又は複数のインターコード化モードのうちの１つなど、複数の可能なコード化モードのうちの１つを選択し得る。予測処理ユニット４１は、得られたイントラコード化ブロック又はインターコード化ブロックを、残差ブロックデータを生成するために加算器５０に与え、参照ピクチャとして使用するための符号化ブロックを再構築するために加算器６２に与え得る。
【００７６】
[0089]予測処理ユニット４１内のイントラ予測処理ユニット４６は、空間圧縮を行うために、コード化されるべき現在のブロックと同じフレーム又はスライス中の１つ又は複数の隣接ブロックに対して現在のビデオブロックのイントラ予測コード化を実行し得る。予測処理ユニット４１内の動き推定ユニット４２及び動き補償ユニット４４は、時間圧縮を行うために、１つ又は複数の参照ピクチャ中の１つ又は複数の予測ブロックに対して現在のビデオブロックのインター予測コード化を実行する。
【００７７】
[0090]動き推定ユニット４２は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスをＰスライス、Ｂスライス又はＧＰＢスライスに指定し得る。動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット４２によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、参照ピクチャ内の予測ブロックに対する、現在のビデオフレーム又はピクチャ内のビデオブロックのＰＵの変位を示し得る。
【００７８】
[0091]予測ブロックは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、又は他の差分メトリックによって決定され得る画素差分に関して、コード化されるべきビデオブロックのＰＵにぴったり一致することがわかるブロックである。幾つかの例では、ビデオエンコーダ２０は、復号ピクチャバッファ（ＤＰＢ：decoded picture buffer）と呼ばれることもある参照ピクチャメモリ６４に記憶された参照ピクチャのサブ整数画素位置の値を計算し得る。例えば、ビデオエンコーダ２０は、参照ピクチャの１／４画素位置、１／８画素位置、又は他の分数画素位置の値を補間し得る。従って、動き推定ユニット４２は、フル画素位置と分数画素位置とに関して動き探索を実行し、分数画素精度で動きベクトルを出力し得る。
【００７９】
[0092]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのＰＵのための動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）又は第２の参照ピクチャリスト（リスト１）から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ６４に記憶された１つ又は複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【００８０】
[0093]動き補償ユニット４４によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチ又は生成すること、場合によってはサブ画素精度への補間を実行することを伴い得る。現在のビデオブロックのＰＵのための動きベクトルを受信すると、動き補償ユニット４４は、参照ピクチャリストのうちの１つにおいて動きベクトルが指す予測ブロックの位置を特定し得る。ビデオエンコーダ２０は、コード化されている現在のビデオブロックの画素値から予測ブロックの画素値を減算し、画素差分値を形成することによって、残差ビデオブロックを形成する。画素差分値は、ブロックの残差データを形成し、ルーマとクロマの両方の差分成分を含み得る。加算器５０は、この減算演算を実行する１つ又は複数の構成要素を表す。動き補償ユニット４４はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【００８１】
[0094]イントラ予測ユニット４６は、上記で説明したように、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測ユニット４６は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定し得る。幾つかの例では、イントラ予測ユニット４６は、例えば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化し得、イントラ予測ユニット４６（又は、幾つかの例では、モード選択ユニット４０）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。例えば、イントラ予測ユニット４６は、様々なテストされるイントラ予測モードのためにレート歪み分析を使用してレート歪み値を計算し、テストされたモードの中で最良のレート歪み特性を有するイントラ予測モードを選択し得る。レート歪み分析は、概して、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間の歪み（又は誤差）の量、及び符号化されたブロックを生成するために使用されるビットレート（即ち、ビット数）を決定する。イントラ予測ユニット４６は、どのイントラ予測モードがブロックについて最良のレート歪み値を呈するかを決定するために、様々な符号化ブロックの歪み及びレートから比を計算し得る。
【００８２】
[0095]いずれの場合も、ブロックのためのイントラ予測モードを選択した後に、イントラ予測ユニット４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピーコード化単位５６に与え得る。エントロピーコード化単位５６は、本開示の技法に従って選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、送信ビットストリーム中に、複数のイントラ予測モードインデックステーブル及び複数の修正されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックのための符号化コンテキストの定義と、コンテキストの各々のために使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、及び修正されたイントラ予測モードインデックステーブルの指示とを含み得る、構成データを含め得る。
【００８３】
[0096]予測処理ユニット４１が、インター予測又はイントラ予測のいずれかを介して、現在のビデオブロックのための予測ブロックを生成した後に、ビデオエンコーダ２０は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロックにおける残差ビデオデータは、１つ又は複数のＴＵに含まれ得、変換ユニット５２に適用され得る。変換ユニット５２は、離散コサイン変換（ＤＣＴ）又は概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換ユニット５２は、残差ビデオデータを画素領域から周波数領域などの変換領域に変換し得る。
【００８４】
[0097]変換ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートを更に低減するために変換係数を量子化する。量子化プロセスは、係数の一部又は全部に関連するビット深さを低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。幾つかの例では、量子化ユニット５４は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット５６が走査を実行し得る。
【００８５】
[0098]量子化の後に、エントロピー符号化ユニット５６は、量子化変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コード化（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コード化（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コード化又は別のエントロピー符号化方法若しくは技法を実行し得る。エントロピー符号化ユニット５６によるエントロピー符号化の後に、符号化ビットストリームは、ビデオデコーダ３０に送信されるか、又はビデオデコーダ３０が後で送信するか若しくは取り出すためにアーカイブされ得る。エントロピー符号化ユニット５６はまた、コード化されている現在のビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
【００８６】
[0099]逆量子化ユニット５８及び逆変換処理ユニット６０は、それぞれ逆量子化及び逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するために画素領域において残差ブロックを再構築する。動き補償ユニット４４は、残差ブロックを参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構築された残差ブロックに１つ又は複数の補間フィルタを適用して、動き推定において使用するサブ整数画素値を計算し得る。加算器６２は、再構築された残差ブロックを動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ６４に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレーム又はピクチャ中のブロックをインター予測するために、動き推定ユニット４２と動き補償ユニット４４とによって参照ブロックとして使用され得る。
【００８７】
[0100]再構築されたビデオブロックの品質を更に改善するために、加算器６２によって生成された再構築されたビデオブロックに１つ又は複数のフィルタが適用され得る。例えば、ブロック境界をフィルタ処理して、再構築されたビデオからブロック歪みを除去するために、又は再構築されたビデオの全体的な品質を改善するために、デブロッキングフィルタ（図３に図示せず）が含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタ処理することになる。デブロッキングフィルタ及びＡＬＦ６５に加えて、サンプル適応オフセット（ＳＡＯ）フィルタなど、追加のループフィルタ（ループ内又はループ後）も使用され得る。ＡＬＦ６５は、上記で説明した適応ループフィルタ処理技法を実行するように構成され得る。
【００８８】
[0101]上記で紹介したように、ＡＬＦ６５は、ＲＡモード又はＢＡモードのいずれかを使用して、再構築されたビデオブロックのためのフィルタを決定することができる。ＢＡモードでは、ＡＬＦ６５は、画素又は画素のブロックのために１つ又は複数のメトリックを決定し、その１つ又は複数のメトリックに基づいて、画素又は画素のブロックのためのフィルタを決定することができる。１つ又は複数のメトリックについての値の範囲がフィルタにマッピングされ得る。
【００８９】
[0102]図４Ａは、フィルタのセットからのフィルタにインデックス付けされた２つのメトリックのための値の範囲を示す概念図である。図４Ａの特定の例は８つのフィルタ（即ち、フィルタ１、フィルタ２．．．フィルタ８）を示しているが、より多い又はより少ないフィルタが同様に使用され得る。図４Ａは、本開示の技法に従ってフィルタを選択するために使用され得る２つのメトリックを示している。２つのメトリックは、例えば、非方向固有アクティビティ（non-direction specific activity）（例えば和修正ラプラシアン値（sum-modified Laplacian value））及び方向、方向固有アクティビティ（direction-specific activity）及びエッジ検出、方向メトリック及びエッジメトリック、水平アクティビティメトリック及び垂直アクティビティメトリック、又は２つの他のそのようなメトリックに関係する画素データの性質を定量化し得る。これらのメトリックの態様について、以下でより詳細に説明する。幾つかの事例では、３つ以上のメトリックが使用され得、その場合、図４Ａの概念図は、メトリックの範囲をフィルタのセットからのフィルタにマッピングするための第３の次元を含むであろう。幾つかの事例では、ただ１つのメトリックが使用され得、その場合、図４Ａの概念図はただ１つの次元を含むであろう。
【００９０】
[0103]図４Ａの例では、第１のメトリック（メトリック１）が４つの範囲（範囲１−１、１−２、１−３、及び１−４）を有し、第２のメトリック（メトリック２）も４つの範囲（範囲２−１、２−２、２−３、及び２−４）を有する。従って、図４Ａの例は、メトリック１のための範囲とメトリック２のための範囲との１６個の組合せを有する。但し、図４Ａからわかるように、各組合せは必ずしも一意のフィルタに関連付けられるとは限らない。図４Ａの例では、範囲１−１と範囲２−１との組合せ、及び１−１と２−２との組合せ、並びに１−１と２−３との組合せが、例えば、全てフィルタ１にマッピングされる。フィルタ４は、対照的に、１つの組合せ（１−１と２−４）にのみマッピングされる。図４Ａの範囲は比較的等しいものとして示されているが、範囲のサイズは異なり得る。例えば、幾つかの実装形態では、範囲１−１は、範囲１−２よりも大きい範囲の値を包含し得る。更に、図４Ａは、メトリック１とメトリック２とを同数の範囲を有するものとして示しているが、第１のメトリックのための範囲の数と第２のメトリックのための範囲の数とは、必ずしも等しい必要があるとは限らない。例えば、メトリック１が分散メトリックであり、メトリック２が方向メトリックである場合、メトリック１は８つの範囲を使用し得、メトリック２は３つの範囲を使用する。
【００９１】
[0104]幾つかの例では、メトリック１及びメトリック２の範囲は値の連続スペクトルを表し得る。例えば、メトリック１が和修正ラプラシアン値である場合、範囲１−２は、範囲１−１よりも多いアクティビティだが範囲１−３よりも少ないアクティビティに対応し得、範囲１−４は、範囲１−３よりも多いアクティビティに対応し得る。ある範囲内で、特定の画素又は画素のグループについて決定されるアクティビティの量は、メトリック１の軸に沿って同様に増加し得る。他の例では、メトリック１及びメトリック２の範囲は、実際の範囲を表さないことがあり、代わりに個別決定を表すことがある。例えば、メトリック２が方向メトリックである場合、範囲１−１は方向なしの決定に対応し得、範囲２−２は水平方向の決定に対応し得、範囲２−３は垂直方向の決定に対応し得、範囲２−４は対角方向の決定を表し得る。以下でより詳細に説明するように、方向なし、水平方向、垂直方向、及び対角方向は個別決定であり得、従って、メトリック２のための範囲は、メトリック１の範囲が値の連続スペクトルを表すのと同様に値の連続スペクトルを表さないことがある。
【００９２】
[0105]図４Ｂは、アクティビティメトリック及び方向メトリックのための値の範囲を示す概念図である。図４Ｂの例では、方向メトリックは３つの個別決定（方向なし、水平、及び垂直）を含む。方向なし、水平、及び垂直を決定するための技法、及びアクティビティを決定するための技法について、以下でより詳細に説明する。図４Ｂの特定の例は６つのフィルタ（即ち、フィルタ１、フィルタ２．．．フィルタ６）を示しているが、より多い又はより少ないフィルタが同様に使用され得る。図４Ｂからわかるように、２つのメトリック（アクティビティ及び方向）は、組合せ４２１〜４３５として識別される、１５個の組合せを作成する。但し、幾つかの事例では、図４Ｂに明示的に示されていない追加の組合せも使用され得る。例えば、アクティビティなしに対応する組合せが、対応するフィルタを同じく有する第１６の組合せであり得る。
【００９３】
[0106]フィルタユニット６５は、図４Ａ及び図４Ｂの例示的なマッピングなど、フィルタと２つ以上のメトリックの範囲の組合せとのマッピングを記憶し、そのマッピングを使用して、ＣＵ中の特定の画素又は画素のグループにフィルタのセットからのどのフィルタを適用すべきかを決定することができる。フィルタと２つ以上のメトリックの範囲の組合せとのマッピングは、例えば、上記で説明したフィルタ選択プロセスの一部としてＡＬＦユニット６５によって決定され得る。マッピングがどのように決定されるかにかかわらず、フィルタＡＬＦユニット６５は、デコーダがマッピングを再構築することを可能にする情報を生成することができる。この情報は、範囲の組合せとフィルタとのマッピングを信号伝達するためにコード化ビットストリーム中に含まれ得る。信号伝達される組合せと範囲とのマッピングは、範囲組合せをフィルタ識別ＩＤにマッピングし得る。特定のフィルタのための実際の係数は別個に信号伝達され得る。
【００９４】
[0107]本開示で説明するＢＡフィルタ処理技法とともに、幾つかの異なるタイプのメトリックが、図３に示したＡＬＦユニット６５によって使用され得る。これらのメトリックの一部は、ビデオデータ内の画素の１つ又は複数のブロックに関連するアクティビティを定量化するアクティビティメトリックである。アクティビティメトリックは、画素のセット内の画素分散を示す分散メトリックを備えることができる。後述するように、これらのアクティビティメトリックの一部は方向固有である。例えば、水平アクティビティメトリックは水平軸に沿ったアクティビティを定量化し、垂直アクティビティメトリックは垂直軸に沿ったアクティビティを定量化し、対角アクティビティメトリックは対角軸に沿ったアクティビティを定量化する、などである。
【００９５】
[0108]一部のアクティビティメトリックは方向固有でない。例えば、和修正ラプラシアン値は、現在の画素又は画素の現在のグループを囲む画素の２次元ウィンドウに基づくアクティビティメトリックである。現在の画素（ｉ，ｊ）について、和修正ラプラシアン値は以下のように計算され得る。  
【数１】
2018078569.tif 000003
上式で、−ＫからＫまで及びＬからＬまでにわたる２次元ウィンドウについて、ｋは、−ＫからＫまでの画素値の総和の値を表し、ｌは、−ＬからＬまでの総和の値を表し、ｉ及びｊは、画素データの画素座標を表し、ＲＩ（ｉ，ｊ）は、座標ｉ及びｊにおける所与の画素値を表し、ｖａｒ（ｉ，ｊ）はアクティビティメトリック（即ち和修正ラプラシアン値）である。
【００９６】
[0109]また、本開示の技法は、水平アクティビティと、垂直アクティビティと、対角アクティビティとのための方向固有メトリックを使用して実装され得る。式２及び式３に、現在の画素（ｘ，ｙ）の、強度などの画素値（Ｒｅｃ）を、隣接画素の画素値と比較することによって、現在の画素について水平アクティビティ及び垂直アクティビティがどのように計算され得るかの例を示す。  
Hor_act(x,y) = R(2*Rec[x][y]-Rec[x+1][y]-Rec[x-1][y])       (2)  
Ver_act(x,y) = R(2*Rec[x][y]-Rec[x][y+1]-Rec[x][y+1])       (3)
式２によって示すように、水平アクティビティを決定するとき、現在の画素（ｘ，ｙ）は、左の隣接画素（ｘ−１，ｙ）及び右の隣接画素（ｘ＋１，ｙ）と比較され得る。式３によって示すように、垂直アクティビティを決定するとき、現在の画素は、上の隣接画素（ｘ，ｙ＋１）及び下の隣接画素（ｘ，ｙ−１）と比較され得る。
【００９７】
[0110]式４及び式５に、現在の画素（ｘ，ｙ）の画素値（Ｒｅｃ）を隣接画素の画素値と比較することによって、現在の画素について対角アクティビティがどのように計算され得るかの例を示す。  
45deg_act(x,y) = R(2*Rec[x][y]-Rec[x+1][y+1]-Rec[x-1][y-1])       (4)
135deg_act(x,y) = R(2*Rec[x][y]-Rec[x-1][y+1]-Rec[x+1][y-1])      (5)
式４によって示すように、対角アクティビティは、例えば、現在の画素（ｘ，ｙ）を右上の隣接画素（ｘ＋１，ｙ＋１）及び左下の隣接画素（ｘ−１，ｙ−１）と比較することによって４５度の方向において、計算され得る。式５によって示すように、対角アクティビティは、現在の画素（ｘ，ｙ）を左上の隣接画素（ｘ−１，ｙ＋１）及び右下の隣接画素（ｘ＋１，ｙ−１）と比較することによって１３５度の方向においても計算され得る。
【００９８】
[0111]上記の式２〜式５は、水平アクティビティ、垂直アクティビティ、及び対角アクティビティが画素ごとにどのように決定され得るかを示しているが、幾つかの実装形態では、水平アクティビティ、垂直アクティビティ、及び対角アクティビティはグループごとに決定され得、その場合、画素のグループは、画素の２×２、４×４、又はＭ×Ｎブロックである。そのような実装形態では、水平アクティビティは、例えば、式２に類似する方法で、現在のグループの画素値を左のグループ及び右のグループの画素値と比較することによって決定され得、垂直アクティビティは、式３に類似する方法で、現在のグループを上のグループ及び下のグループと比較することによって決定され得る。同様に、４５度対角アクティビティは、式４に類似する方法で、画素の現在のグループを右上の隣接グループ及び左下の隣接グループと比較することによって決定され得、１３５度対角アクティビティは、式５に類似する方法で、画素の現在のグループを左上の隣接グループ及び右下の隣接グループと比較することによって決定され得る。
【００９９】
[0112]幾つかの実装形態では、水平アクティビティ、垂直アクティビティ、４５度対角アクティビティ、及び１３５度対角アクティビティは、現在の画素又は画素のグループをただ１つの方向における隣接画素又は画素のグループと比較することによって決定され得る。例えば、現在の画素を左の隣接及び右の隣接と比較することに基づいて水平アクティビティを決定する代わりに、水平アクティビティは、左の隣接のみ又は右の隣接のみに基づいて決定され得る。更に、幾つかの実装形態では、水平アクティビティ、垂直アクティビティ、４５度対角アクティビティ、及び１３５度対角アクティビティは、単一の隣接画素又は画素の単一のグループの代わりに、隣接画素のエリアの平均又は重み付き平均を使用して決定され得る。
【０１００】
[0113]式２〜式５から得られる値は、２、４、８、又は他の有限数など、有限数の範囲に分割され得、各範囲は範囲識別情報を割り当てられ得る。再び図４Ａを参照すると、例えば、範囲１−１、範囲１−２、範囲２−１などは、全て範囲識別情報の例である。一例として、水平アクティビティ値は４つの範囲に分割され得、それらの範囲は、ＩＤの範囲１−１、範囲１−２、範囲１−３、及び範囲１−４を割り当てられ得る。水平閾値（即ち、ＴｈＨ1、．．．、ＴｈＨP-1）は、範囲がどこで開始し、終了するかを決定することができる。以下の表１に、水平ＩＤがＰ個の範囲にどのように割り当てられ得るかの一般的な場合を示す。  
【表１】
2018078569.tif 000004
表１の例を使用すると、現在の画素が、ＴｈＨ2よりも小さいがＴｈＨ1よりも大きい水平アクティビティ値を有する場合、現在の画素はメトリック２のための範囲２−２中にある。現在の画素は、水平範囲と水平ＩＤとについて表１において上記で説明したのと同様の方法で、垂直ＩＤをもつ垂直範囲、４５度対角ＩＤをもつ４５度対角範囲、及び１３５度対角ＩＤをもつ１３５度対角範囲に割り当てられ得る。
【０１０１】
[0114]水平アクティビティ、垂直アクティビティ、４５度対角アクティビティ、及び１３５度対角アクティビティのいずれも、本開示で説明する複数メトリックフィルタのフィルタ処理技法によるメトリックとして使用され得る。例えば、再び図４Ａを参照すると、メトリック１は垂直アクティビティの測度であり得、メトリック２は水平アクティビティの測度であり得る。そのような例では、図３のＡＬＦユニット６５又は図９１のＡＬＦユニット９１など、フィルタユニットは、画素又は画素のグループの水平アクティビティと画素又は画素のグループの垂直アクティビティとに基づいて、画素又は画素のグループのためのフィルタを決定することができる。例えば、現在の画素が、範囲２−３に入る水平アクティビティメトリックと範囲１−３に入る垂直アクティビティメトリックとを有する場合、フィルタユニットは、フィルタ４を使用してその画素をフィルタ処理する。同様にして、４５度対角アクティビティと１３５度対角アクティビティとの組合せ、４５度対角アクティビティと水平アクティビティとの組合せ、４５度対角アクティビティと垂直アクティビティとの組合せ、１３５度対角アクティビティと水平アクティビティとの組合せ、又は１３５度対角アクティビティと垂直アクティビティとの組合せも、画素又は画素のグループのためのフィルタを選択するためにフィルタユニットによって使用され得る。幾つかの実装形態では、水平アクティビティ、垂直アクティビティ、４５度対角アクティビティ、及び１３５度対角アクティビティのうちの３つ又は４つ全部が、画素又は画素のグループのフィルタを選択するためにフィルタユニットによって使用され得る。
【０１０２】
[0115]上記で説明した実装形態では、水平アクティビティ、垂直アクティビティ、４５度対角アクティビティ、及び１３５度対角アクティビティは、全てメトリックとして、例えば、図４Ａ中のメトリック１及び／又はメトリック２として、使用され得る。しかしながら、幾つかの実装形態では、水平アクティビティ、垂直アクティビティ、４５度対角アクティビティ、及び１３５度対角アクティビティは、それら自体メトリックでないことがあり、代わりに、全体的な方向メトリックを決定するための中間決定として使用されることがある。方向メトリックは、概して、どの方向において（例えば方向なし、水平、垂直、４５度対角、又は１３５度対角）画素が最も変化しているかを記述する。
【０１０３】
[0116]一例では、式２及び式３において説明した水平アクティビティ及び垂直アクティビティのみを使用して、画素のための方向が以下の条件に基づいて決定され得る。  
Ｈｏｒ＿ａｃｔｉｖｉｔｙ＞ｋ１＊Ｖｅｒ＿ａｃｔｉｖｉｔｙである場合、方向１＝水平
Ｖｅｒ＿ａｃｔｉｖｉｔｙ＞ｋ２＊Ｈｏｒ＿ａｃｔｉｖｉｔｙである場合、方向２＝垂直
他の場合、方向０＝方向なし
定数ｋ１及びｋ２は、水平アクティビティが垂直アクティビティよりも実質的に大きいか又は垂直アクティビティが水平アクティビティよりも実質的に大きい場合、方向が方向１又は方向２であるとしか見なされないように、選択され得る。水平アクティビティと垂直アクティビティとが等しい又はほぼ等しい場合、方向は方向０である。方向１は、概して、画素値が垂直方向においてよりも水平方向において多く変化していることを示し、方向２は、画素値が水平方向においてよりも垂直方向において多く変化していることを示す。方向０は、水平方向における画素値の変化が垂直方向における画素値の変化にほぼ等しいことを示す。
【０１０４】
[0117]決定された方向メトリック（例えば方向０、方向１、方向２）は、本開示で説明する複数メトリックフィルタ処理技法におけるメトリックとして使用され得る。再び図４Ａの例を使用すると、メトリック１は、和修正ラプラシアン値などの分散メトリックであり得、メトリック２は、上記で説明したように方向決定であり得る。図４Ａに関して説明したように、方向１、方向２、及び方向０は、値のスペクトルの代わりに有限の決定を表すが、方向１、方向２、及び方向０の各々は、メトリック２の範囲に関連付けられ得る。
【０１０５】
[0118]上記で説明したように水平アクティビティ及び垂直アクティビティのみを使用することに加えて、本開示の技法は、以下の条件に基づいて、方向を決定するために、式４及び式５において説明したように、４５度対角アクティビティ及び１３５度対角アクティビティを使用することをも含む。  
４５ｄｅｇ＿ａｃｔｉｖｉｔｙ＞ｋ１＊１３５ｄｅｇ＿ａｃｃｔｉｖｉｔｙである場合、方向＝１
１３５ｄｅｇ＿ａｃｔｉｖｉｔｙ＞ｋ２＊４５ｄｅｇ＿ａｃｔｉｖｉｔｙである場合、方向＝２
他の場合、方向＝０
４５度対角アクティビティ及び１３５度対角アクティビティに基づく方向決定は、上記で説明したように、和修正ラプラシアン値などの別のメトリックとともにメトリックとして使用され得る。
【０１０６】
[0119]更に、方向メトリックはまた、以下の条件に基づいて決定され得る。  
４５ｄｅｇ＿ａｃｔｉｖｉｔｙ＞ｋ１＊１３５ｄｅｇ＿ａｃｃｔｉｖｉｔｙ、ｋ２＊Ｈｏｒ＿ａｃｔｉｖｉｔｙ、およびｋ３＊Ｖｅｒ＿ａｃｔｉｖｉｔｙである場合、方向＝１
１３５ｄｅｇ＿ａｃｔｉｖｉｔｙ＞＞ｋ４＊４５ｄｅｇ＿ａｃｔｉｖｉｔｙ、ｋ５＊Ｈｏｒ＿ａｃｔｉｖｉｔｙ、およびｋ６＊Ｖｅｒ＿ａｃｔｉｖｉｔｙである場合、方向＝２
Ｈｏｒ＿ａｃｔｉｖｉｔｙ＞ｋ７＊Ｖｅｒ＿ａｃｔｉｖｉｔｙ、ｋ８＊１３５ｄｅｇ＿ａｃｔｉｖｉｔｙ、およびｋ９＊４５ｄｅｇ＿ａｃｃｔｉｖｉｔｙである場合、方向＝３
Ｖｅｒ＿ａｃｔｉｖｉｔｙ＞ｋ１０＊Ｈｏｒ＿ａｃｔｉｖｉｔｙ、ｋ１１＊１３５ｄｅｇ＿ａｃｔｉｖｉｔｙ、およびｋ１２＊４５ｄｅｇ＿ａｃｃｔｉｖｉｔｙである場合、方向＝４
他の場合、方向＝０
上記で説明したように、ｋ１〜ｋ１２は、ある方向が選択されるために、水平アクティビティ、垂直アクティビティ、４５度アクティビティ、及び１３５度アクティビティのうちの１つが、他のアクティビティと比較してどれだけ大きい必要があるかを決定するように選択される、定数である。水平アクティビティ、垂直アクティビティ、４５度対角アクティビティ、及び１３５度対角アクティビティに基づく方向決定は、上記で説明したように、和修正ラプラシアン値などの別のメトリックとともにメトリックとして使用され得る。
【０１０７】
[0120]本開示の技法とともに使用され得る別のメトリックはエッジメトリックを含む。エッジメトリックは、概して、画素のブロック中のエッジの存在を示し得るアクティビティを定量化する。エッジは、例えば、画素のブロックが画像内に物体の境界を含んでいる場合に画素のそのブロック中で、発生し得る。エッジ検出の一例は、現在の画素の４つの隣接画素（例えば、左、右、上、下）を使用すること、又は現在の画素の８つの隣接画素（左、右、上、下、右上、左上、右下、左下）を使用することを含む。更に、エッジタイプ検出は、上及び下、左及び右、左上及び右下、又は右上及び左下など、２つの隣接画素を使用することを含み得る。
【０１０８】
[0121]以下の擬似コードに、現在の画素（ｘ，ｙ）の、強度などの画素値（Ｒｅｃ）を、それらの隣接画素（即ち、４つ／８つの画素）の画素値と比較することによって、現在の画素についてエッジ情報がどのように計算され得るかの例を示す。
【０１０９】
[0122]ＥｄｇｅＴｙｐｅ変数は、開始されると０になる。文が真であるたびに、ＥｄｇｅＴｙｐｅ変数は、（擬似コードでＥｄｇｅＴｙｐｅ＋＋によって示すように）１だけ増分されるか又は（擬似コードでＥｄｇｅＴｙｐｅ−−によって示すように）１だけ減分される。Ｒｅｃ［ｘ］［ｙ］は、（ｘ，ｙ）にある画素の、画素強度などの画素値を指す。「ｉｆ」文の第１のグルーピングは、現在の画素を上、下、左、及び右の隣接と比較するためのものである。「ｉｆ」文の第２のグルーピングは、現在の画素を左上、右上、左下、及び右下の隣接と比較するためのものである。本開示の技法は、いずれかのグループ又は両方のグループを使用して実装され得る。
EdgeType = 0;
if (Rec[x][y] > Rec[x-1][y]) EdgeType ++;
if (Rec[x][y] < Rec[x-1][y]) EdgeType --;
if (Rec[x][y] > Rec[x+1][y]) EdgeType ++; 
if (Rec[x][y] < Rec[x+1][y]) EdgeType --;
if (Rec[x][y] > Rec[x][y-1]) EdgeType ++;
if (Rec[x][y] < Rec[x][y-1]) EdgeType --;
if (Rec[x][y] > Rec[x][y+1]) EdgeType ++;
if (Rec[x][y] < Rec[x][y+1]) EdgeType --;
if (Rec[x][y] > Rec[x-1][y-1]) EdgeType ++;
if (Rec[x][y] < Rec[x-1][y-1]) EdgeType --;
if (Rec[x][y] > Rec[x+1][y-1]) EdgeType ++;
if (Rec[x][y] < Rec[x+1][y-1]) EdgeType --;
if (Rec[x][y] > Rec[x-1][y+1]) EdgeType ++;
if (Rec[x][y] < Rec[x-1][y+1]) EdgeType --;
if (Rec[x][y] > Rec[x+1][y+1]) EdgeType ++;
if (Rec[x][y] < Rec[x+1][y+1]) EdgeType --;
【０１１０】
[0123]現在の画素が極大値である場合、その画素の画素値は、全てのそれの隣接よりも大きいことになり、４つの隣接を使用する場合は４のエッジタイプを、又は８つの隣接を使用する場合は８のエッジタイプを、有することになる。現在の画素が極小値である場合、その画素の画素値は、全てのそれの隣接よりも小さいことになり、４つの隣接を使用する場合は−４のエッジタイプを、又は８つの隣接を使用する場合は−８のエッジタイプを、有することになる。従って、−４から４又は−８から８の間でエッジタイプを決定するために上記で説明した例示的な技法を使用することが、フィルタを決定する際に使用され得る。エッジタイプについて決定された値（即ち−４〜４の値又は−８〜８の値）は、図４Ａのメトリック１又はメトリック２など、メトリックの範囲にマッピングされ得る。幾つかの実装形態では、−３及び３のエッジタイプが、例えば、同じフィルタにマッピングすることになるように、エッジタイプ決定の絶対値が範囲にマッピングされ得る。
【０１１１】
[0124]本開示で説明する様々なメトリックの計算は、例にすぎないものであり、網羅的ではない。例えば、それらのメトリックは、本開示で説明するよりも多くの隣接画素を含む、画素のウィンドウ又はラインを使用して決定され得る。
【０１１２】
[0125]更に、幾つかの実装形態では、本開示で説明するメトリックは、特定のライン又はウィンドウにおける画素のサブサンプリングを使用して計算され得る。例えば、画素の４×４ブロックのためのブロックアクティビティメトリックを計算するために、アクティビティと方向とのためのメトリックは以下のように計算され得る。
方向メトリック  
【数２】
2018078569.tif 000005
アクティビティメトリック
LB = HB + VB
5 classes (0, 1, 2, 3, 4)
メトリック
アクティビティと方向との組合せ（例えば図４Ｂの例において上記で説明し
たように１５個又は１６個の組合せ）。
【０１１３】
[0126]Ｈｏｒ＿ａｃｔ（ｉ，ｊ）は、概して、現在の画素（ｉ，ｊ）の水平アクティビティを指し、Ｖｅｒｔ＿ａｃｔ（ｉ，ｊ）は、概して、現在の画素（ｉ，ｊ）の垂直アクティビティを指す。Ｘ（ｉ，ｊ）は、概して、画素（ｉ，ｊ）の画素値を指す。ＨBは、４×４ブロックの水平アクティビティを指し、これは、この例では、画素（０，０）、（０，２）、（２，０）、及び（２，２）のための水平アクティビティの和に基づいて決定される。ＶBは、４×４ブロックの垂直アクティビティを指し、これは、この例では、画素（０，０）、（０，２）、（２，０）、及び（２，２）のための垂直アクティビティの和に基づいて決定される。「＜＜１」は、２での乗算の演算を表す。上記で説明したように、ＨB及びＶBの値に基づいて、方向が決定され得る。上記の例を使用すると、ＨBの値がＶBの値のｋ倍よりも大きい場合、方向は、垂直アクティビティよりも多くの水平アクティビティに対応し得る、方向１（即ち水平）であると決定され得る。ＶBの値がＨBの値のｋ倍よりも大きい場合、方向は、水平アクティビティよりも多くの垂直アクティビティに対応し得る、方向２（即ち垂直）であると決定され得る。他の場合、方向は、水平アクティビティも垂直アクティビティも支配的でないことを意味する、方向０（即ち方向なし）であると決定され得る。他の標示と比も使用され得るので、様々な方向のための標示と、それらの方向を決定するために使用された比とは、一例を構成するにすぎない。
【０１１４】
[0127]４×４ブロックのためのアクティビティ（ＬB）は、水平アクティビティと垂直アクティビティとの和として決定され得る。ＬBの値は、上記で説明したように、範囲に分類され得る。この特定の例は５つの範囲を示しているが、より多い又はより少ない範囲が同様に使用され得る。アクティビティと方向との組合せに基づいて、画素の４×４ブロックのためのフィルタが選択され得る。上記で説明したように、フィルタは、図４Ａ及び図４Ｂに関して説明したように、アクティビティ及び方向とフィルタとの２次元マッピングに基づいて選択され得るか、又はアクティビティと方向とが組み合わせられて単一のメトリックになり得、その単一のメトリックが使用されてフィルタが選択され得る。
【０１１５】
[0128]図５Ａは、画素の４×４ブロックを表す。上記で説明したサブサンプリング技法を使用して、１６個の画素のうちの４つのみが使用される。４つの画素は、画素５０１と標示された画素（０，０）、画素５０２と標示された画素（２，０）、画素５０３と標示された画素（０，２）、及び画素５０４と標示された画素（２，２）である。画素５０１の水平アクティビティ（即ちｈｏｒ＿ａｃｔ（０，０））は、例えば、左の隣接画素と右の隣接画素とに基づいて決定される。右の隣接画素は、画素５０５と標示されている。左の隣接画素は、４×４ブロックとは異なるブロック中にあり、図５Ａ上には示されていない。画素５０２の垂直アクティビティ（即ちｖｅｒ＿ａｃｔ（２，０））は、例えば、上の隣接画素と下の隣接画素とに基づいて決定される。下の隣接画素は、画素５０６と標示されており、上の隣接画素は、４×４ブロックとは異なるブロック中にあり、図５Ａには示されていない。
【０１１６】
[0129]概して、上記で説明したのと同じ技法を使用して、ブロックアクティビティメトリックは、以下のように画素の異なるサブセットをも使用して計算され得る。
方向メトリック
【数３】
2018078569.tif 000006
アクティビティメトリック
LB = HB + VB
5 classes (0, 1, 2, 3, 4)
メトリック
アクティビティと方向との組合せ（例えば図４Ｂの例において上記で説明
したように１５個又は１６個の組合せ）。
【０１１７】
[0130]ＨBとＶBとを計算するための画素のこの異なるサブセットは、図５Ｂ上でそれぞれ画素５１１、５１２、５１３、及び５１４として示される、画素（１，１）、（２，１）、（１，２）、及び（２，２）を含む。図５Ｂからわかるように、画素５１１、５１２、５１３、及び５１４のための、上の隣接画素、下の隣接画素、右の隣接画素、及び左の隣接画素の全てが、４×４ブロック内にある。図５Ｂの例では、画素５１１、５１２、５１３、及び５１４は、全て、ブロック境界上にあるのとは対照的に、ブロックの内部にある。図５Ａ中の画素５０１、５０２、５０３、及び５０５、ならびに図５Ｃ中の画素５２１、５２４、５２５、及び５２８は、ブロック境界上にある画素の例である。他の実装形態では、画素の追加の異なるサブセットが選定され得る。例えば、サブセットは、サブセットの画素のための上及び下の隣接画素は４×４ブロック内にあるが、幾つかの左及び右の隣接画素は隣接ブロック中にあるように、選択され得る。サブセットは、サブセットの画素のための左及び右の隣接画素は４×４ブロック内にあるが、幾つかの上及び下の隣接画素は隣接ブロック中にあるようにも、選択され得る。
【０１１８】
[0131]概して、上記で説明したのと同じ技法を使用して、ブロックアクティビティメトリックは、以下のように８つの画素のサブセットをも使用して計算され得る。
方向メトリック
【数４】
2018078569.tif 000007
アクティビティメトリック
LB = HB + VB
5 classes (0, 1, 2, 3, 4)
メトリック
アクティビティと方向との組合せ（例えば図４Ｂの例において上記で説明し
たように１５個又は１６個の組合せ）。
【０１１９】
[0132]ＨBとＶBとを計算するための８つの画素のこの異なるサブセットは、図５Ｃ上でそれぞれ画素５２１、５２２、５２３、５２４、５２５、５２６、５２７、及び５２８として示される、画素（０，１）、（１，１）、（２，１）、（３，１）、（０，２）、（１，２）、（２，２）、及び（３，２）を含む。図５Ｃからわかるように、画素６２１、６２２、６２３、及び６２４、６２５、６２６、６２７、及び６２８のための、上の隣接画素及び下の隣接画素の全てが、４×４ブロック内にあるが、画素６２１及び６２５は、それぞれ左の隣接ブロック中の左の隣接画素を有し、画素６２４及び６２８は、それぞれ右の隣接ブロック中の右の隣接画素を有する。画素のこの特定の選択は、ラインバッファが上及び／又は下の隣接ブロックの画素値を記憶する必要を回避することによって、エンコーダ及び／又はデコーダの複雑さを低減し得る。左から右へ、上から下へのラスタ走査順序により、上及び下の隣接ブロックの画素値のためのラインバッファは、しばしば、上又は下のライン全体のための画素値を記憶する必要があり、これは、例えば、１０８０Ｐビデオの場合、１９２０画素であり得る。しかしながら、左及び右の隣接ブロックのためのラインバッファは、しばしば、１つのＬＣＵ又は２つのＬＣＵのための画素値を記憶する必要があるにすぎず、これは、例えば、６４又は１２８画素のみであり得る。従って、上及び下の隣接ブロックの画素値のためのラインバッファは、左及び右の隣接ブロックの画素値のために使用されるラインバッファよりも著しく大きい必要があり得る。図５Ｃに示す画素の選択は、上及び下の隣接ブロックの画素値のためのラインバッファの使用を回避することが可能であり、従ってコード化複雑さを低減し得る。
【０１２０】
[0133]図５Ａ〜図５Ｃの例は、本開示の技法を示すために紹介されたものにすぎない。これらの技法がわずか４×４以外のブロックに拡張され得ることと、画素の異なるサブセットが選択され得ることとが、企図される。
【０１２１】
[0134]ブロックアクティビティメトリックを計算するとき、加算演算などの演算の複雑さを低減するために、元の画素の代わりに、量子化された画素（即ち、Ｘ（ｉ，ｊ）＞＞Ｎ）が使用され得る。更に、計算は、ラプラシアンベースの代わりに絶対差分ベースであり得る。例えば、Ｈｏｒ＿ａｃｔ（ｉ，ｊ）又はＶｅｒ＿ａｃｔ（ｉ，ｊ）を計算するとき、以下のように、ラプラシアン値の代わりに絶対差分が使用され得る。  
方向メトリック
【数５】
2018078569.tif 000008
アクティビティメトリック
LB = HB + VB
5 classes (0, 1, 2, 3, 4)
メトリック
アクティビティ＋方向（例えば図４Ｂの例において上記で説明したように
１５個又は１６個の組合せ）。
【０１２２】
[0135]本開示では、特定のメトリックの限られたグループを参照しながらサブサンプリング技法について説明した。但し、これらのサブサンプリング技法は、概して、フィルタを決定するために使用され得る、本開示で説明する他のメトリックなど、他のメトリックに適用可能であることが企図される。更に、画素の４×４ブロックを参照しながら本開示のサブサンプリング技法について説明したが、それらの技法は他のサイズのブロックにも適用可能であり得る。
【０１２３】
[0136]上記で説明したＢＡモードを使用してフィルタを決定することに加えて、ＡＬＦ６５は、ＲＡモードを使用してもフィルタを決定し得る。ＲＡモードでは、ＡＬＦ６５は全フレームを幾つかの領域に分類し（即ち、Ｒ（ｉ，ｊ）、Ｉ＝０，．．．．Ｍ及びｊ＝０，．．．，Ｎ）、各領域は１つのフィルタを有することができる。各ＣＵについて、ＡＬＦ６５は、ＡＬＦフィルタを使用すべきか否かを選定することができる。
【０１２４】
[0137]図６Ａは、ピクチャ６１０Ｂのための１６個の矩形領域（即ち、図６においてＲ（ｉ，ｊ）、ｉ，ｊ＝０，．．．，３）を示す概念図である。領域Ｒ（ｉ，ｊ）の各々は関連するフィルタを有し、幾つかの領域は同じフィルタに関連付けられ得る。例えば、ピクチャ６１０Ａの全ての１６個の領域が必ずしも一意のフィルタを有するとは限らない。一例として、Ｒ（０，１）、Ｒ（０，２）、Ｒ（１，１）、及びＲ（１，２）は全て同じフィルタに関連付けられ得る。各ＣＵについて、ＡＬＦ６５は、ＣＵの領域に関連するフィルタを適用すべきか否かを選定することができる。本開示の技法によれば、特定のピクチャのための領域は、ＡＬＦユニット６５によって適応的に決定され、符号化ビデオビットストリーム中でビデオデコーダ３０に信号伝達され得る。
【０１２５】
[0138]図６Ｂは、ピクチャ６１０Ｂのための１２個の矩形領域を示す概念図である。ＡＬＦユニット６５は、例えば、特定のピクチャについて、１２個の領域が、図６Ａに示した１６個の領域よりも望ましいレート歪みトレードオフを生じると決定し得る。従って、ＡＬＦユニット６５は、ピクチャ６１０ＢがＲＡモードのためにどのように領域に分割されるべきであるかの指示を、符号化されたビットストリーム中に含み得る。指示は、例えば、水平方向における領域の数及び垂直方向における領域の数、使用されるべき領域の総数を含むか、又は領域のサイズを含み得る。指示が領域の総数である場合、ビデオエンコーダ２０及びビデオデコーダ３０は、領域の総数を同様の方法で解釈するように構成され得る。例えば、ビデオエンコーダ２０とビデオデコーダ３０は両方とも、１２個の領域を、横３領域及び縦４領域、横６領域及び縦２領域又は何らかの他の構成とは対照的に、横４領域及び縦３領域を意味するものとして解釈するように構成され得る。明らかであるように、ビデオエンコーダ２０とビデオデコーダ３０とが同じアルゴリズムを実装するように構成される限り、領域の総数を水平領域と垂直領域との数に変換するための多数の異なるアルゴリズムが使用され得る。
【０１２６】
[0139]本開示の技法によれば、ビデオエンコーダ３０は、ＬＣＵのグループに関連するパラメータセット（ＰＳ）の一部としてフィルタの数（Ｌ）を信号伝達することができる。以下で説明する様々なパラメータセット（ＰＳ）オプションは、ビデオフレームの１つのシーケンスは１つのＰＳオプションを使用するが、ビデオフレーム、即ち、ピクチャの別のシーケンスは異なるＰＳオプションを使用するように、動的に選択され得る。そのような構成では、選択されたＰＳオプションは、幾つかの構成では、パラメータセットの一部としてビデオエンコーダ２０からビデオデコーダ３０に明示的に信号伝達され得るが、他の構成では、選択は、明示的信号伝達なしに、コンテキスト情報に基づいて行われ得る。代替的に、幾つかの実装形態では、全ての送信されるパラメータセットが１つのＰＳオプションに対応するように、例えばコード化規格の一部として、ＰＳオプションのうちの１つのみが選択され得る。本開示の技法は、以下に示すＰＳオプションのサブセットのみで実装され得、及び／又は次に以下に示す追加のＰＳオプションで実装され得る。
ＰＳオプション１：上記で説明したようにＢＡ分類（例えば、メトリックに基づいて各４×４ブロックを１６個のクラスのうちの１つに分類する）を使用してＬ個のフィルタを構築するための情報を送信する。  
○各ＢＡクラスについて、１つのフィルタを導出する（ｆBA＿ｉ、ｉ＝０，．．．，Ｌ−１、但しＬ≦１６）
○フィルタバッファにインデックス０として記憶され、これは、特定のＬＣＵのためにインデックス０が送信される場合、そのＬＣＵの４×４ブロックのためのフィルタが、４×４ブロックについて決定されたＢＡクラスに基づいて決定されるべきであることを意味する。  
ＰＳオプション２：固定のＲＡ分類（例えば、１６個の均等に分割された領域）を用いてＬ個のフィルタを構築するための情報を送信する。  
○各領域について、１つのフィルタを導出する（ｆRA＿ｉ、ｉ＝０，．．．，Ｌ−１、但しＬ≦１６）
○フィルタバッファにインデックス０として記憶され、これは、特定のＬＣＵのためにインデックス０が送信される場合、そのＬＣＵのうちのＣＵのためのフィルタが、ＣＵのＲＡ分類に基づいて決定されるべきであることを意味する。  
ＰＳオプション３：修正されたＲＡ分類（Ｍ×Ｎ個のＬＣＵのサブグループ、即ち、Ｍ×Ｎ個のＬＣＵベースの領域）を用いてＬ個のフィルタを構築するための情報を送信する
○Ｍ×Ｎ個のＬＣＵの各々について、１つのフィルタを導出する（ｆRAnew＿ｉ、ｉ＝０，．．．，Ｌ−１）。幾つかの事例では、ＬＣＵの２つ以上のサブグループが同じフィルタにマッピングし得る。  
○フィルタが、バッファフィルタインデックス中でインデックス０にマッピングされ得、ここで、フィルタインデックス０は、使用されるべきフィルタが、ＬＣＵを含んでいるサブグループ又は領域に基づいて選択されることを示す。例えば、パラメータセットで、ＬＣＵのサブグルーピングに関連するフィルタがエンコーダからデコーダに送信され得る。上記で説明したＰＳオプション２の場合と同様に、０のフィルタインデックスは、特定のＬＣＵについて、そのＬＣＵのサブグルーピング又はＬＣＵに関連するフィルタが使用されるべきであることを示す。  
○サブグループのサイズ（例えばＭ及びＮの値）又は領域の数のいずれかがエンコーダ２０からデコーダ３０に信号伝達され得る。領域の数がエンコーダからデコーダに送信される場合、エンコーダ及びデコーダは、追加のシンタックスがエンコーダからデコーダに送信される必要がないように、同様の方法で領域を実装するように構成され得る。例えば、エンコーダが８つの領域を信号伝達する場合、エンコーダとデコーダの両方は、８つの領域が、８つの領域の１つの行とは対照的に、４つの領域の２つの行に対応することを認識するように構成され得る。  
○異なる領域のフィルタがマージされ得、フィルタと領域との間のマッピングが信号伝達され得る。  
ＰＳオプション４：分類なしにＬ個のフィルタを構築するための情報を送信する
○Ｌ個のフィルタを導出する（即ち、（ｆNC＿ｉ、ｉ＝０，．．．，Ｌ−１）を使用する）
○フィルタメトリック又は位置を決定するのとは対照的に、各ＬＣＵについてフィルタを明示的に信号伝達する。  
○Ｌ個のフィルタがフィルタバッファにインデックス０〜Ｌ−１として記憶され得る。  
上記で説明した様々なＰＳオプションにおいて、「情報を送信する」は、概して、そのような情報を、符号化されたビットストリーム中で信号伝達することを意味する。
【０１２７】
[0140]各ＬＣＵについて、以下のＬＣＵオプションに基づいてフィルタが選択され得る。以下の説明によって明らかになるように、特定のＬＣＵオプションの意味及び実装は、上記で信号伝達されるＰＳオプションに依存し得る。概して、特定のＬＣＵのために選択されたオプションはビットストリーム中で信号伝達され得る。幾つかの実装形態では、オプションは、フィルタのフィルタインデックスなどの他の情報をも含むコードワードの一部として信号伝達され得る。  
ＬＣＵオプション１：パラメータセットで送信されるフィルタ、又は以下で説明するＬＣＵオプション２を介してフィルタのセットに追加されるフィルタのセットからフィルタが選択される。フィルタのセットからのフィルタは、ＬＣＵオプション１とともに同じく信号伝達されるインデックス値に基づいて識別され得る。  
○ＰＳオプション１及び０のインデックスの場合：上記で説明したＢＡ技法に基づいてＡＬＦフィルタを選定する。  
○ＰＳオプション１及び０以外のインデックスの場合：０以外のインデックスに関連するフィルタを適用する。  
○ＰＳオプション２及び０のインデックスの場合：上記で説明したＲＡ技法に基づいてＡＬＦフィルタを選定する。  
○ＰＳオプション２及び０以外のインデックスの場合：０以外のインデックスに関連するフィルタを適用する。  
○０のインデックスをもつＰＳオプション３の場合：上記で説明した修正されたＲＡ技法に基づいてＡＬＦフィルタを選定する。  
○０以外のインデックスをもつＰＳオプション３の場合：０以外のインデックスに関連するフィルタを適用する。  
○ＰＳオプション４の場合：各ＬＣＵについて、Ｌ個のフィルタの中から１つのフィルタを適用する（パラメータセットで送信されるフィルタのためのインデックス０〜（Ｌ−１）を信号伝達するか、又は以下で説明するＬＣＵオプション２を介して受信される新しいフィルタのためのＬ、Ｌ＋１、Ｌ＋２などのフィルタインデックスを信号伝達する）
ＬＣＵオプション２：ＬＣＵのための新しいフィルタを受信する。新しいフィルタは、パラメータセットに初めは含まれていないフィルタであり得る。  
○新しいフィルタは、そのフィルタが後続のＬＣＵによって使用され得るように、フィルタバッファに記憶され、インデックスを割り当てられ得る。例えば、ＰＳオプション１を実装する場合、新しいフィルタはインデックス１に対して記憶され得、インデックス０は、ＢＡ分類に関連するフィルタを示す。例えば、ＰＳオプション２又は３を実装する場合、新しいフィルタはインデックス１に対して記憶され得、インデックス０は、ＲＡ分類に関連するフィルタを示す。例えば、ＰＳオプション４を実装する場合、新しいフィルタはインデックスＬを割り当てられ得、パラメータセットで送信されるフィルタは０〜Ｌ−１にインデックス付けされる。  
ＬＣＵオプション３：現在のＬＣＵのために使用されるべきフィルタが、前にコード化されたＬＣＵのために使用されるフィルタと同じであることを示す情報を信号伝達する。例えば、マージ情報（即ち、ｍｅｒｇｅ＿ｌｅｆｔ又はｍｅｒｇｅ＿ｕｐ）がエンコーダ２０からデコーダ３０に信号伝達され得る。ＬＣＵオプション３が信号伝達されるとき、ｍｅｒｇｅ＿ｌｅｆｔフラグは、例えば、ＬＣＵが、それの左側のＬＣＵと同じフィルタを使用すべきであることを示し得るか、又はｍｅｒｇｅ＿ｕｐフラグは、ＬＣＵが、上側のＬＣＵと同じフィルタを使用すべきであることを示し得る。  
ＬＣＵオプション４：フィルタ処理をオフにし、これは、ＬＣＵのためにＬＣＵオプション４が信号伝達される場合、ＬＣＵにフィルタ処理が適用されないことを意味する。
【０１２８】
[0141]本開示の技法によれば、ビデオコーダ（例えばビデオエンコーダ２０又はビデオデコーダ３０）は、上記で説明した異なるＬＣＵオプションの全部又はサブセットを実装することができる。更に、ビデオコーダはまた、本開示で説明しない追加のＬＣＵオプションを実装し得る。上記で説明したように、ＡＬＦユニット６５は、複数のＡＬＦフィルタ処理シナリオをテストし、フィルタ処理シナリオのうちのどれが望ましいレート歪みトレードオフを与えるかを決定することができる。ビデオエンコーダ２０は、上記で説明した信号伝達技法を使用して、決定されたＡＬＦフィルタ処理シナリオを信号伝達することができる。ビデオエンコーダ２０は、例えば、パラメータセットで、上記で説明した４つのＰＳオプションのうちの１つを信号伝達し得る。上記で説明したように、選択されたＰＳオプションを信号伝達することに加えて、ビデオエンコーダ２０は、フィルタのセットを構築するための、及びそれらのフィルタを上記で説明したＢＡ分類並びにＲＡ分類などの異なる分類にマッピングするための情報をも信号伝達し得る。
【０１２９】
[0142]ＬＣＵについて、ビデオエンコーダ２０は、上記で説明したＬＣＵオプションのうちの１つを信号伝達し得る。上記で説明したように、特定のＬＣＵオプションの実装は、信号伝達されるＰＳオプションに応じて変わり得る。更に、上記で説明したように、特定のＬＣＵオプションを信号伝達するとき、ビデオエンコーダ２０は追加の情報をも信号伝達し得る。例えば、ＬＣＵオプション１の場合、ビデオエンコーダ２０は、適用されるべきフィルタを識別するインデックスを信号伝達し得るが、ＬＣＵオプション２の場合、ビデオエンコーダ２０は、新しいフィルタを信号伝達し得る。幾つかの事例では、ＬＣＵオプション及び追加の情報は、単一のコードワードの一部として信号伝達され得る。
【０１３０】
[0143]このように、図３のビデオエンコーダ２０は、適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットに含めるために生成することと；ＬＣＵのグループをどのようにＬＣＵのサブグループに分割すべきか決定することと；ＬＣＵの各サブグループについて、フィルタのセットから関連するフィルタを決定することと；第１のＬＣＵのためのフィルタを決定することと、第１のＬＣＵがＬＣＵの第１のサブグループからのものであり、第１のＬＣＵのためのフィルタが、ＬＣＵの第１のサブグループに関連するフィルタに対応する；ＬＣＵのグループをどのようにＬＣＵのサブグループに分割すべきかの指示を、パラメータセットに含めるために生成することと；第１のＬＣＵが、ＬＣＵの第１のサブグループに関連するフィルタを使用してフィルタ処理されるべきであることを示す指示を、符号化されたビットストリーム中に含めるために生成することと；を行うように構成されたビデオエンコーダの一例を表す。
【０１３１】
[0144]このように、図３のビデオエンコーダ２０はまた、適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットに含めるために生成することと；フィルタのセット中の各フィルタについて、関連するフィルタインデックスを決定することと；第１のＬＣＵについてフィルタのセットからフィルタを決定することと；ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を、符号化されたビットストリーム中に含めるために生成することと；第１のＬＣＵをフィルタ処理するために使用されるべきであるフィルタをフィルタのセットから識別するフィルタインデックスを、符号化されたビットストリーム中に含めるために生成することと；を行うように構成されたビデオエンコーダの一例を表す。
【０１３２】
[0145]図７は、本開示で説明する技法を実装し得る例示的なビデオデコーダ３０を示すブロック図である。図７の例では、ビデオデコーダ３０は、エントロピー復号ユニット８０と、予測処理ユニット８１と、逆量子化ユニット８６と、逆変換単位８８と、加算器９０と、適応ループフィルタ（ＡＬＦ）ユニット９１と、参照ピクチャメモリ９２とを含む。予測処理ユニット８１は、動き補償ユニット８２と、イントラ予測処理ユニット８４とを含む。ビデオデコーダ３０は、幾つかの例では、図３のビデオエンコーダ２０に関して説明した符号化パスとは概して逆の復号パスを実行し得る。ＡＬＦユニット９１は、上記で説明した適応ループフィルタ処理技法を実行するように構成され得る。
【０１３３】
[0146]復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット８０は、量子化係数、動きベクトル、及び他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット８０は、動きベクトルと他のシンタックス要素とを予測処理ユニット８１に転送する。ビデオデコーダ３０は、ビデオスライスレベル及び／又はビデオブロックレベルでシンタックス要素を受信し得る。
【０１３４】
[0147]ビデオスライスがイントラコード化（Ｉ）スライスとしてコード化されたとき、予測処理ユニット８１のイントラ予測処理ユニット８４は、信号伝達されたイントラ予測モードと、現在のフレーム又はピクチャの前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化（即ち、Ｂ、Ｐ又はＧＰＢ）スライスとしてコード化されたとき、予測処理ユニット８１の動き補償ユニット８２は、エントロピー復号ユニット８０から受信された動きベクトル及び他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、復号ピクチャバッファ（ＤＰＢ）とも呼ばれる参照ピクチャメモリ９２に記憶された参照ピクチャに基づいて、デフォルトの構築技法を使用して、参照フレームリスト、リスト０及びリスト１を構築し得る。
【０１３５】
[0148]動き補償ユニット８２は、動きベクトル及び他のシンタックス要素を構文解析することによって現在のビデオスライスのビデオブロックのための予測情報を決定し、その予測情報を使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。例えば、動き補償ユニット８２は、ビデオスライスのビデオブロックをコード化するために使用される予測モード（例えば、イントラ又はインター予測）と、インター予測スライスタイプ（例えば、Ｂスライス、Ｐスライス、又はＧＰＢスライス）と、スライスの参照ピクチャリストのうちの１つ又は複数のための構築情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素の幾つかを使用する。
【０１３６】
[0149]動き補償ユニット８２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット８２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数画素の補間値を計算し得る。この場合、動き補償ユニット８２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【０１３７】
[0150]逆量子化ユニット８６は、ビットストリーム中で与えられ、エントロピー復号ユニット８０によって復号された量子化変換係数を逆量子化（inverse quantize）、即ち、逆量子化（de-quantize）する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中の各ビデオブロックについてビデオエンコーダ２０によって計算される量子化パラメータの使用を含み得る。逆変換単位８８は、画素領域において残差ブロックを生成するために、逆変換、例えば、逆ＤＣＴ、逆整数変換、又は概念的に同様の逆変換プロセスを変換係数に適用する。
【０１３８】
[0151]動き補償ユニット８２が、動きベクトル及び他のシンタックス要素に基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ３０は、逆変換処理ユニット８８からの残差ブロックを動き補償ユニット８２によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器９０は、この加算演算を実行する１つ又は複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。画素遷移を平滑化するために、又は場合によってはビデオ品質を改善するために、デブロッキングフィルタ及びＡＬＦ９１に加えて他のループフィルタも（コード化ループ中又はコード化ループ後のいずれかで）使用され得る。所与のフレーム又はピクチャ中の復号ビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ９２に記憶される。参照ピクチャメモリ９２はまた、図１の表示装置３２などの表示装置上での後の提示のために、復号されたビデオを記憶する。
【０１３９】
[0152]ＡＬＦユニット９１は、概して、図３のＡＬＦユニット６５に関して上記で説明したのと同じフィルタ処理技法を実行するように構成され得る。しかしながら、ＡＬＦユニット６５は、幾つかの異なるＡＬＦコード化シナリオを使用してビデオデータの一部分をコード化し、所望のレート歪みトレードオフを生じるコード化シナリオを選定し（即ち、フィルタを選定し）、選定されたフィルタを示すために、ＰＳオプションとＬＣＵオプションとを含むシンタックス要素を生成するように構成され得る。ＡＬＦユニット９１は、対照的に、複数のコード化シナリオをテストしないが、代わりに、受信されたシンタックス要素によって示されるコード化シナリオを適用する。ビデオデコーダ３０は、例えば、上記で説明したようにＰＳオプションとＬＣＵオプションとの指示を受信し、ＡＬＦユニット９１がフィルタのセットを構築することを可能にする追加の情報を受信し得る。特定のＬＣＵのために選択されたＬＣＵオプションに応じて、ビデオデコーダ３０は、適用されるべき特定のフィルタを識別するインデックスをも受信し得る。
【０１４０】
[0153]このように、図７のビデオデコーダ３０は、適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットで受信することと；ＬＣＵのグループをどのようにＬＣＵのサブグループに分割すべきかの指示を、パラメータセットで受信することと；ＬＣＵのサブグループの各々をフィルタのセットからのフィルタに割り当てることと；ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信することと、第１のＬＣＵがＬＣＵの第１のサブグループ中にある；第１のＬＣＵがＡＬＦによってフィルタ処理されるべきであるという指示に基づいて、及びＬＣＵのグループをどのようにＬＣＵのサブグループに分割すべきかの指示に基づいて、第１のＬＣＵのためのフィルタを決定することと、第１のＬＣＵのためのフィルタが、ＬＣＵの第１のサブグループに割り当てられたフィルタに対応する；第１のＬＣＵのためのフィルタを使用してＬＣＵのコード化単位をフィルタ処理することと；を行うように構成されたビデオデコーダの一例を表す。
【０１４１】
[0154]このように、図７のビデオデコーダ３０は、適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットで受信することと、フィルタのセット中の各フィルタについて、関連するフィルタインデックスを決定することと、ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信することと、第１のＬＣＵをフィルタ処理するために使用されるべきであるフィルタをフィルタのセットから識別するフィルタインデックスを受信することと、フィルタのセットからのフィルタを使用してＬＣＵのうちの１つ又は複数のコード化単位（ＣＵ）をフィルタ処理することとを行うように構成されたビデオデコーダの一例を表す。
【０１４２】
[0155]図８は、本開示の技法による例示的なビデオ復号技法を示すフローチャートである。図８の技法について図１及び図７のビデオデコーダ３０を参照しながら説明するが、他のタイプのビデオデコーダも、説明する技法を実装し得る。ビデオデコーダ３０は、ＡＬＦのためにフィルタのセットを構築するための情報を、ＬＣＵのグループのためのパラメータセットで受信する（８１０）。ビデオデコーダ３０は、ＬＣＵのグループをどのようにＬＣＵのサブグループに分割すべきかの指示を、パラメータセットで受信する（８２０）。ＬＣＵをどのように分割すべきかのこの指示は、幾つかの事例では、上記で説明したＰＳオプション３がＬＣＵの特定のグループのために使用されるべきであるという指示とともに送られ得る。ビデオデコーダ３０は、ＬＣＵのサブグループの各々をフィルタのセットからのフィルタに割り当てる（８３０）。ビデオデコーダ３０は、ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであるという指示を受信する（８４０）。この指示は、例えば、上記で説明したＬＣＵオプション１、２、又は３など、ＬＣＵレベル指示であり得る。ビデオデコーダ３０は、第１のＬＣＵをフィルタ処理するために使用されるべきフィルタを決定する（８５０）。ビデオデコーダ３０は、例えば、上記で説明したＬＣＵオプション１、２、又は３のいずれかに従ってフィルタを決定し得る。ビデオデコーダ３０は、次いで、決定されたフィルタを使用してＬＣＵのうちの１つ又は複数のＣＵをフィルタ処理する（８６０）。
【０１４３】
[0156]図９は、本開示の技法による例示的なビデオ復号技法を示すフローチャートである。図９の技法について図１及び図７のビデオデコーダ３０を参照しながら説明するが、他のタイプのビデオデコーダも、説明する技法を実装し得る。ビデオデコーダ３０は、ＡＬＦのためにフィルタのセットを構築するための情報を、ＬＣＵのグループのためのパラメータセットで受信する（９１０）。ビデオデコーダ３０は、例えば、ＬＣＵのグループが上記のＰＳオプション４に従ってフィルタ処理されるべきであるという指示をパラメータセットで受信することとともに、フィルタのセットを構築するための情報を受信し得る。ビデオデコーダ３０は、フィルタのセット中の各フィルタについて、関連するフィルタインデックスを決定する（９２０）。ビデオデコーダ３０は、第１のＬＣＵがＡＬＦによってフィルタ処理されるべきであることを示す指示を受信する（９３０）。この指示は、例えば、上記で説明したＬＣＵオプション１など、ＬＣＵレベル指示であり得る。第１のＬＣＵがフィルタ処理されるべきであるとき、ビデオデコーダ３０は、第１のＬＣＵをフィルタ処理するために使用されるべきであるフィルタのフィルタインデックスをフィルタのセットから受信する（９４０）。ビデオデコーダ３０は、次いで、フィルタインデックスによって識別されるフィルタを使用してＬＣＵのＣＵをフィルタ処理する（９５０）。
【０１４４】
[0157]図１０は、本開示の技法による例示的なビデオ符号化技法を示すフローチャートである。図１０の技法について図１及び図３のビデオエンコーダ２０を参照しながら説明するが、他のタイプのビデオエンコーダも、説明する技法を実装し得る。ビデオエンコーダ２０は、第１のＬＣＵをフィルタ処理するために使用されるべきフィルタを決定する（１０１０）。第１のＬＣＵは、ＬＣＵのグループの一部であるＬＣＵである。ビデオエンコーダ２０は、ＡＬＦのためにフィルタのセットを構築するための情報を、ＬＣＵのグループのためのパラメータセットに含めるために生成する（１０２０）。フィルタのセットは、第１のＬＣＵをフィルタ処理するために使用されるべきであると決定されるフィルタを含む。ビデオエンコーダ２０は、ＬＣＵのグループをどのようにＬＣＵのサブグループに分割すべきかの指示を、パラメータセットに含めるために生成する（１０３０）。ビデオエンコーダ２０は、幾つかの事例では、ＬＣＵをどのように分割すべきかのこの指示を、上記で説明したＰＳオプション３がＬＣＵの特定のグループのために使用されるべきであるという指示とともに信号伝達し得る。ビデオエンコーダ２０は、第１のＬＣＵがＡＬＦによってフィルタ処理されるべきであるという指示を、ＬＣＵヘッダの一部として含めるために生成する（１０４０）。この指示は、例えば、上記で説明したＬＣＵオプション１、２、又は３など、ＬＣＵレベル指示であり得る。ビデオエンコーダ２０はまた、ＬＣＵのＣＵにフィルタを適用し、フィルタ処理されたピクチャを参照ピクチャメモリ６４に記憶し得る。
【０１４５】
[0158]図１１は、本開示の技法による例示的なビデオ符号化技法を示すフローチャートである。図１１の技法について図１及び図３のビデオエンコーダ２０を参照しながら説明するが、他のタイプのビデオエンコーダも、説明する技法を実装し得る。ビデオエンコーダ２０は、第１のＬＣＵをフィルタ処理するために使用されるべきであるフィルタを決定する（１１１０）。ビデオデコーダ３０は、ＡＬＦのためにフィルタのセットを構築するための情報を、ＬＣＵのグループのためのパラメータセットに含めるために生成する（１１２０）。決定されたフィルタは、フィルタのセット中のフィルタのうちの１つである。ビデオエンコーダ２０は、例えば、ＬＣＵのグループが上記のＰＳオプション４に従ってフィルタ処理されるべきであるという指示を、パラメータセットに含めるために生成することとともに、フィルタのセットを構築するための情報を生成し得る。ビデオエンコーダ２０は、フィルタのセット中の各フィルタについて、関連するフィルタインデックスを決定する（１１３０）。ビデオデコーダ３０は、第１のＬＣＵがＡＬＦによってフィルタ処理されるべきであるという指示を、ＬＣＵヘッダ中に含めるために生成する（１１４０）。この指示は、例えば、上記で説明したＬＣＵオプション１など、ＬＣＵレベル指示であり得る。ビデオエンコーダ２０はまた、ＬＣＵのＣＵにフィルタを適用し、フィルタ処理されたピクチャを参照ピクチャメモリ６４に記憶し得る。
【０１４６】
[0159]１つ又は複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つ又は複数の命令又はコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得、又は、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号又は搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コード及び／又はデータ構造を取り出すために１つ又は複数のコンピュータあるいは１つ又は複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１４７】
[0160]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭ又は他の光ディスクストレージ、磁気ディスクストレージ、又は他の磁気記憶装置、フラッシュメモリ、あるいは命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモート発信源から送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。但し、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）及びディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）及びＢｌｕ−ｒａｙディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０１４８】
[0161]命令は、１つ又は複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路又はディスクリート論理回路など、１つ又は複数のプロセッサによって実行され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、又は本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。更に、幾つかの態様では、本明細書で説明した機能は、符号化及び復号のために構成された専用のハードウェア及び／又はソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つ又は複数の回路又は論理要素において十分に実装され得る。
【０１４９】
[0162]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）又はＩＣのセット（例えば、チップセット）を含む、多種多様な機器又は装置において実装され得る。本開示では、開示する技法を実行するように構成された機器の機能的態様を強調するために様々な構成要素、モジュール、又はユニットについて説明したが、それらの構成要素、モジュール、又はユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェア及び／又はファームウェアとともに、上記で説明した１つ又は複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、又は相互動作ハードウェアユニットの集合によって与えられ得る。
【０１５０】
[0163]様々な例について説明した。これら及び他の例は以下の特許請求の範囲内に入る。
【図１】
2018078569.tif 000009
【図２Ａ】
2018078569.tif 000010
【図２Ｂ】
2018078569.tif 000011
【図２Ｃ】
2018078569.tif 000012
【図２Ｄ】
2018078569.tif 000013
【図３】
2018078569.tif 000014
【図４Ａ】
2018078569.tif 000015
【図４Ｂ】
2018078569.tif 000016
【図５Ａ】
2018078569.tif 000017
【図５Ｂ】
2018078569.tif 000018
【図５Ｃ】
2018078569.tif 000019
【図６Ａ】
2018078569.tif 000020
【図６Ｂ】
2018078569.tif 000021
【図７】
2018078569.tif 000022
【図８】
2018078569.tif 000023
【図９】
2018078569.tif 000024
【図１０】
2018078569.tif 000025
【図１１】
2018078569.tif 000026
【手続補正書】
【提出日】平成29年12月12日(2017.12.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを復号するための方法であって、
適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットで受信することと、
ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの指示を、前記パラメータセットで受信することと、
ＬＣＵの前記サブグループの各々をフィルタの前記セットからのフィルタに割り当てることと、
前記ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信することと、前記第１のＬＣＵがＬＣＵの第１のサブグループ中にある、
前記第１のＬＣＵが前記ＡＬＦによってフィルタ処理されるべきであるという前記指示に基づいて、及びＬＣＵの前記グループをどのようにＬＣＵの前記サブグループに分割すべきかの前記指示に基づいて、前記第１のＬＣＵのためのフィルタを決定することと、前記第１のＬＣＵのための前記フィルタが、ＬＣＵの前記第１のサブグループに割り当てられたフィルタに対応する、
前記第１のＬＣＵのための前記フィルタを使用して前記ＬＣＵのうちの１つ以上のコード化単位（ＣＵ）をフィルタ処理することと
を備える、方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１５０
【補正方法】変更
【補正の内容】
【０１５０】
[0163]様々な例について説明した。これら及び他の例は以下の特許請求の範囲内に入る。
以下に本件出願当初の特許請求の範囲］に記載された発明を付記する。
［１］  ビデオデータを復号するための方法であって、
適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットで受信することと、
ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの指示を、前記パラメータセットで受信することと、
ＬＣＵの前記サブグループの各々をフィルタの前記セットからのフィルタに割り当てることと、
前記ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信することと、前記第１のＬＣＵがＬＣＵの第１のサブグループ中にある、
前記第１のＬＣＵが前記ＡＬＦによってフィルタ処理されるべきであるという前記指示に基づいて、及びＬＣＵの前記グループをどのようにＬＣＵの前記サブグループに分割すべきかの前記指示に基づいて、前記第１のＬＣＵのためのフィルタを決定することと、前記第１のＬＣＵのための前記フィルタが、ＬＣＵの前記第１のサブグループに割り当てられたフィルタに対応する、
前記第１のＬＣＵのための前記フィルタを使用して前記ＬＣＵのうちの１つ以上のコード化単位（ＣＵ）をフィルタ処理することと
を備える、方法。
［２］  ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの前記指示は、ＬＣＵの何個のサブグループがＬＣＵの前記グループ中にあるかを示す、［１］に記載の方法。
［３］  ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの前記指示は、ＬＣＵのサブグループの何個の行がＬＣＵの前記グループ中にあるかと、ＬＣＵのサブグループの何個の列がＬＣＵの前記グループ中にあるかとを示す、［１］に記載の方法。
［４］  ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの前記指示が、ＬＣＵのサブグループのサイズを備える、［１］に記載の方法。
［５］  前記第１のＬＣＵのための前記フィルタを決定することは、前記第１のＬＣＵをフィルタ処理するために使用されるべき前記フィルタが、前記第１のＬＣＵを備えるＬＣＵの前記サブグループにインデックス付けされたフィルタであるという指示を受信することを備える、［１］に記載の方法。
［６］  第２のＬＣＵのためのフィルタを決定することを更に備え、前記第２のＬＣＵのための前記フィルタを決定することは、前記第２のＬＣＵをフィルタ処理するために使用されるべき前記フィルタが新しいフィルタであるという指示を受信することを備える、［１］に記載の方法。
［７］  前記新しいフィルタを構築するための情報を受信することと、
前記第２のＬＣＵのための前記フィルタを使用して前記第２のＬＣＵのうちの１つ以上のＣＵをフィルタ処理することと
を更に備える、［６］に記載の方法。
［８］  第３のＬＣＵのためのフィルタ指示を受信することを更に備え、前記第３のＬＣＵのための前記フィルタ指示は、前記新しいフィルタが、前記第３のＬＣＵをフィルタ処理するために使用されるべきであることを信号伝達する、［７］に記載の方法。
［９］  第２のＬＣＵをフィルタ処理するために使用されるべきフィルタが、前にコード化されたＬＣＵをフィルタ処理するために使用されるフィルタであるという指示を受信すること
を更に備える、［１］に記載の方法。
［１０］  第２のＬＣＵが前記ＡＬＦによってフィルタ処理されるべきでないという前記第２のＬＣＵについての指示を受信すること
を更に備える、［１］に記載の方法。
［１１］  ビデオデータを復号するための方法であって、
適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットで受信することと、
フィルタの前記セット中の各フィルタについて、関連するフィルタインデックスを決定することと、
前記ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信することと、
前記第１のＬＣＵをフィルタ処理するために使用されるべきであるフィルタをフィルタの前記セットから識別するフィルタインデックスを受信することと、
フィルタの前記セットからの前記フィルタを使用して前記ＬＣＵのうちの１つ以上のコード化単位（ＣＵ）をフィルタ処理することと
を備える、方法。
［１２］  第２のＬＣＵについて、前記第２のＬＣＵをフィルタ処理するために使用されるべきフィルタが新しいフィルタであるという指示を受信することと、
前記新しいフィルタを構築するための情報を受信することと、
前記新しいフィルタを使用して前記第２のＬＣＵのうちの１つ以上のＣＵをフィルタ処理することと
を更に備える、［１１］に記載の方法。
［１３］  前記新しいフィルタを新しい関連するフィルタインデックスに割り当てることと、
第３のＬＣＵについて、前記新しいフィルタが前記第３のＬＣＵをフィルタ処理するために使用されるべきであるという指示を受信することと
を更に備える、［１２］に記載の方法。
［１４］  第２のＬＣＵについて、前記第２のＬＣＵをフィルタ処理するために使用されるべきフィルタが、前にコード化されたＬＣＵをフィルタ処理するために使用されるフィルタであるという指示を受信することと、
前記前にコード化されたＬＣＵをフィルタ処理するために使用される前記フィルタを使用して前記第２のＬＣＵをフィルタ処理することと
を更に備える、［１１］に記載の方法。
［１５］  第２のＬＣＵが前記ＡＬＦによってフィルタ処理されるべきでないという前記第２のＬＣＵについての指示を受信すること
を更に備える、［１１］に記載の方法。
［１６］  ビデオデータを符号化するための方法であって、
適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットに含めるために生成することと、
ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきか決定することと、
ＬＣＵの各サブグループについて、フィルタの前記セットから関連するフィルタを決定することと、
第１のＬＣＵのためのフィルタを決定することと、前記第１のＬＣＵがＬＣＵの第１のサブグループからのものであり、前記第１のＬＣＵのための前記フィルタが、ＬＣＵの前記第１のサブグループに関連するフィルタに対応する、
ＬＣＵの前記グループをどのようにＬＣＵの前記サブグループに分割すべきかの指示を、前記パラメータセットに含めるために生成することと、
前記第１のＬＣＵが、ＬＣＵの前記第１のサブグループに関連する前記フィルタを使用してフィルタ処理されるべきであることを示す指示を、符号化されたビットストリーム中に含めるために生成することと
を備える、方法。
［１７］  ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの前記指示は、ＬＣＵの何個のサブグループがＬＣＵの前記グループ中にあるかを示す、［１６］に記載の方法。
［１８］  ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの前記指示は、ＬＣＵのサブグループの何個の行がＬＣＵの前記グループ中にあるかと、ＬＣＵのサブグループの何個の列がＬＣＵの前記グループ中にあるかとを示す、［１６］に記載の方法。
［１９］  ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの前記指示が、ＬＣＵのサブグループのサイズを備える、［１６］に記載の方法。
［２０］  前記第１のＬＣＵのための前記フィルタを決定することは、前記第１のＬＣＵをフィルタ処理するために使用されるべき前記フィルタが、前記第１のＬＣＵを備えるＬＣＵの前記サブグループにインデックス付けされたフィルタであるという指示を受信することを備える、［１６］に記載の方法。
［２１］  ビデオデータを符号化するための方法であって、
適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットに含めるために生成することと、
フィルタの前記セット中の各フィルタについて、関連するフィルタインデックスを決定することと、
第１のＬＣＵについてフィルタの前記セットからフィルタを決定することと、
前記ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を、符号化されたビットストリーム中に含めるために生成することと、
前記第１のＬＣＵをフィルタ処理するために使用されるべきであるフィルタをフィルタの前記セットから識別するフィルタインデックスを、符号化されたビットストリームに含めるために生成することと
を備える、方法。
［２２］  第２のＬＣＵについて、前記第２のＬＣＵをフィルタ処理するために使用されるべきフィルタが新しいフィルタであるという指示を、前記符号化されたビットストリームに含めるために生成することと、
前記新しいフィルタを構築するための情報を、前記符号化されたビットストリームに含めるために生成することと
を更に備える、［２１］に記載の方法。
［２３］  第２のＬＣＵについて、前記第２のＬＣＵをフィルタ処理するために使用されるべきフィルタが、前にコード化されたＬＣＵをフィルタ処理するために使用されるフィルタであるという指示を、前記符号化されたビットストリームに含めるために生成すること
を更に備える、［２１］に記載の方法。
［２４］  第２のＬＣＵが前記ＡＬＦによってフィルタ処理されるべきでないという前記第２のＬＣＵについての指示を、前記符号化されたビットストリームに含めるために生成すること
を更に備える、［２１］に記載の方法。
［２５］  ビデオコード化のための機器であって、前記機器は、適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットで受信することと；ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの指示を、前記パラメータセットで受信することと、ＬＣＵの前記サブグループの各々をフィルタの前記セットからのフィルタに割り当てることと；前記ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信することと、前記第１のＬＣＵがＬＣＵの第１のサブグループ中にある；前記第１のＬＣＵが前記ＡＬＦによってフィルタ処理されるべきであるという前記指示に基づいて、及びＬＣＵの前記グループをどのようにＬＣＵの前記サブグループに分割すべきかの前記指示に基づいて、前記第１のＬＣＵのためのフィルタを決定することと、前記第１のＬＣＵのための前記フィルタが、ＬＣＵの前記第１のサブグループに割り当てられたフィルタに対応する；前記第１のＬＣＵのための前記フィルタを使用して前記ＬＣＵのうちの１つ以上のコード化単位（ＣＵ）をフィルタ処理することと；を行うように構成されたビデオデコーダを備える、機器。
［２６］  ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの前記指示は、ＬＣＵの何個のサブグループがＬＣＵの前記グループ中にあるかを示す、［２５］に記載の機器。
［２７］  ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの前記指示は、ＬＣＵのサブグループの何個の行がＬＣＵの前記グループ中にあるかと、ＬＣＵのサブグループの何個の列がＬＣＵの前記グループ中にあるかとを示す、［２５］に記載の機器。
［２８］  ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの前記指示が、ＬＣＵのサブグループのサイズを備える、［２５］に記載の機器。
［２９］  前記ビデオデコーダは、前記第１のＬＣＵをフィルタ処理するために使用されるべき前記フィルタが、前記第１のＬＣＵを備えるＬＣＵの前記サブグループにインデックス付けされたフィルタであるという指示を受信することを備える、前記第１のＬＣＵのための前記フィルタを決定するように更に構成された、［２５］に記載の機器。
［３０］  前記ビデオデコーダは、第２のＬＣＵをフィルタ処理するために使用されるべきフィルタが新しいフィルタであるという指示を受信することによって、前記第２のＬＣＵのための前記フィルタを決定するように更に構成された、［２５］に記載の機器。
［３１］  前記ビデオデコーダが、前記新しいフィルタを構築するための情報を受信することと、前記第２のＬＣＵのための前記フィルタを使用して前記第２のＬＣＵのうちの１つ以上のＣＵをフィルタ処理することとを行うように更に構成された、［３０］に記載の機器。
［３２］  前記ビデオデコーダが、第３のＬＣＵのためのフィルタ指示を受信するように更に構成され、前記第３のＬＣＵのための前記フィルタ指示は、前記新しいフィルタが、前記第３のＬＣＵをフィルタ処理するために使用されるべきであることを信号伝達する、［３１］に記載の機器。
［３３］  前記ビデオデコーダは、第２のＬＣＵをフィルタ処理するために使用されるべきフィルタが、前にコード化されたＬＣＵをフィルタ処理するために使用されるフィルタであるという指示を受信するように更に構成された、［３０］に記載の機器。
［３４］  前記ビデオデコーダは、第２のＬＣＵが前記ＡＬＦによってフィルタ処理されるべきでないという前記第２のＬＣＵについての指示を受信するように更に構成された、［３０］に記載の機器。
［３５］  前記機器が、
集積回路と、
マイクロプロセッサと、
ビデオデコーダを備えるワイヤレス通信機器と
のうちの少なくとも１つを備える、［３０］に記載の機器。
［３６］  ビデオコード化のための機器であって、前記機器は、適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットで受信することと、フィルタの前記セット中の各フィルタについて、関連するフィルタインデックスを決定することと、前記ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信することと、前記第１のＬＣＵをフィルタ処理するために使用されるべきであるフィルタをフィルタの前記セットから識別するフィルタインデックスを受信することと、フィルタの前記セットからの前記フィルタを使用して前記ＬＣＵのうちの１つ以上のコード化単位（ＣＵ）をフィルタ処理することとを行うように構成されたビデオデコーダを備える、機器。
［３７］  前記ビデオデコーダは、第２のＬＣＵについて、前記第２のＬＣＵをフィルタ処理するために使用されるべきフィルタが新しいフィルタであるという指示を受信することと、前記新しいフィルタを構築するための情報を受信することと、前記新しいフィルタを使用して前記第２のＬＣＵのうちの１つ以上のＣＵをフィルタ処理することとを行うように更に構成された、［３６］に記載の機器。
［３８］  前記ビデオデコーダは、前記新しいフィルタを新しい関連するフィルタインデックスに割り当てることと、第３のＬＣＵについて、前記新しいフィルタが前記第３のＬＣＵをフィルタ処理するために使用されるべきであるという指示を受信することとを行うように更に構成された、［３７］に記載の機器。
［３９］  前記ビデオデコーダは、第２のＬＣＵについて、前記第２のＬＣＵをフィルタ処理するために使用されるべきフィルタが、前にコード化されたＬＣＵをフィルタ処理するために使用されるフィルタであるという指示を受信することと、前記前にコード化されたＬＣＵをフィルタ処理するために使用される前記フィルタを使用して前記第２のＬＣＵをフィルタ処理することとを行うように更に構成された、［３６］に記載の機器。
［４０］  前記ビデオデコーダは、第２のＬＣＵが前記ＡＬＦによってフィルタ処理されるべきでないという前記第２のＬＣＵについての指示を受信するように更に構成された、［３６］に記載の機器。
［４１］  前記機器が、
集積回路と、
マイクロプロセッサと、
ビデオデコーダを備えるワイヤレス通信機器と
のうちの少なくとも１つを備える、［３６］に記載の機器。
［４２］  ビデオデータをコード化するための機器であって、前記機器は、適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットに含めるために生成することと；ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきか決定することと；ＬＣＵの各サブグループについて、フィルタの前記セットから関連するフィルタを決定することと；第１のＬＣＵのためのフィルタを決定することと、前記第１のＬＣＵがＬＣＵの第１のサブグループからのものであり、前記第１のＬＣＵのための前記フィルタが、ＬＣＵの前記第１のサブグループに関連するフィルタに対応する；ＬＣＵの前記グループをどのようにＬＣＵの前記サブグループに分割すべきかの指示を、前記パラメータセットに含めるために生成することと；前記第１のＬＣＵが、ＬＣＵの前記第１のサブグループに関連する前記フィルタを使用してフィルタ処理されるべきであることを示す指示を、符号化されたビットストリームに含めるために生成することとを行うように構成されたビデオエンコーダを備える、機器。
［４３］  ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの前記指示は、ＬＣＵの何個のサブグループがＬＣＵの前記グループ中にあるかを示す、［４２］に記載の機器。
［４４］  ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの前記指示は、ＬＣＵのサブグループの何個の行がＬＣＵの前記グループ中にあるかと、ＬＣＵのサブグループの何個の列がＬＣＵの前記グループ中にあるかとを示す、［４２］に記載の機器。
［４５］  ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの前記指示が、ＬＣＵのサブグループのサイズを備える、［４２］に記載の機器。
［４６］  前記第１のＬＣＵのための前記フィルタを決定することは、前記第１のＬＣＵをフィルタ処理するために使用されるべき前記フィルタが、前記第１のＬＣＵを備えるＬＣＵの前記サブグループにインデックス付けされたフィルタであるという指示を受信することを備える、［４２］に記載の機器。
［４７］  前記機器が、
集積回路と、
マイクロプロセッサと、
ビデオデコーダを備えるワイヤレス通信機器と
のうちの少なくとも１つを備える、［４２］に記載の機器。
［４８］  ビデオデータをコード化するための機器であって、前記機器は、適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットに含めるために生成することと、フィルタの前記セット中の各フィルタについて、関連するフィルタインデックスを決定することと、第１のＬＣＵについてフィルタの前記セットからフィルタを決定することと、前記ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を、符号化されたビットストリーム中に含めるために生成することと、前記第１のＬＣＵをフィルタ処理するために使用されるべきであるフィルタをフィルタの前記セットから識別するフィルタインデックスを、符号化されたビットストリーム中に含めるために生成することとを行うように構成されたビデオエンコーダを備える、機器。
［４９］  前記ビデオエンコーダは、第２のＬＣＵについて、前記第２のＬＣＵをフィルタ処理するために使用されるべきフィルタが新しいフィルタであるという指示を、前記符号化されたビットストリーム中に含めるために生成することと、前記新しいフィルタを構築するための情報を、前記符号化されたビットストリーム中に含めるために生成することとを行うように更に構成された、［４８］に記載の機器。
［５０］  前記ビデオエンコーダは、第２のＬＣＵについて、前記第２のＬＣＵをフィルタ処理するために使用されるべきフィルタが、前にコード化されたＬＣＵをフィルタ処理するために使用されるフィルタであるという指示を、前記符号化されたビットストリーム中に含めるために生成するように更に構成された、［４８］に記載の機器。
［５１］  前記ビデオエンコーダは、第２のＬＣＵが前記ＡＬＦによってフィルタ処理されるべきでないという前記第２のＬＣＵについての指示を、前記符号化されたビットストリームに含めるために生成するように更に構成された、［４８］に記載の機器。
［５２］  前記機器が、
集積回路と、
マイクロプロセッサと、
ビデオデコーダを備えるワイヤレス通信機器と
のうちの少なくとも１つを備える、［４８］に記載の機器。
［５３］  ビデオデータを復号するための機器であって、前記機器は、
適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットで受信するための手段と、
ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの指示を、前記パラメータセットで受信するための手段と、
ＬＣＵの前記サブグループの各々をフィルタの前記セットからのフィルタに割り当てるための手段と、
前記ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信するための手段と、前記第１のＬＣＵがＬＣＵの第１のサブグループ中にある、
前記第１のＬＣＵが前記ＡＬＦによってフィルタ処理されるべきであるという前記指示に基づいて、及びＬＣＵの前記グループをどのようにＬＣＵの前記サブグループに分割すべきかの前記指示に基づいて、前記第１のＬＣＵのためのフィルタを決定するための手段であって、前記第１のＬＣＵのための前記フィルタが、ＬＣＵの前記第１のサブグループに割り当てられたフィルタに対応する、決定するための手段と、
前記第１のＬＣＵのための前記フィルタを使用して前記ＬＣＵのうちの１つ以上のコード化単位（ＣＵ）をフィルタ処理するための手段と
を備える、機器。
［５４］  ビデオデータを復号するための機器であって、前記機器は、
適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットで受信するための手段と、
フィルタの前記セット中の各フィルタについて、関連するフィルタインデックスを決定するための手段と、
前記ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信するための手段と、
前記第１のＬＣＵをフィルタ処理するために使用されるべきであるフィルタをフィルタの前記セットから識別するフィルタインデックスを受信するための手段と、
フィルタの前記セットからの前記フィルタを使用して前記ＬＣＵのうちの１つ以上のコード化単位（ＣＵ）をフィルタ処理するための手段と
を備える、機器。
［５５］  実行されたとき、１つ以上のプロセッサに、
適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットで受信することと、
ＬＣＵの前記グループをどのようにＬＣＵのサブグループに分割すべきかの指示を、前記パラメータセットで受信することと、
ＬＣＵの前記サブグループの各々をフィルタの前記セットからのフィルタに割り当てることと、
前記ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信することであって、前記第１のＬＣＵがＬＣＵの第１のサブグループ中にある、受信することと、
前記第１のＬＣＵが前記ＡＬＦによってフィルタ処理されるべきであるという前記指示に基づいて、及びＬＣＵの前記グループをどのようにＬＣＵの前記サブグループに分割すべきかの前記指示に基づいて、前記第１のＬＣＵのためのフィルタを決定することと、前記第１のＬＣＵのための前記フィルタが、ＬＣＵの前記第１のサブグループに割り当てられたフィルタに対応する、
前記第１のＬＣＵのための前記フィルタを使用して前記ＬＣＵのうちの１つ以上のコード化単位（ＣＵ）をフィルタ処理することと
を行わせる命令を記憶した非有形コンピュータ可読記憶媒体。
［５６］  実行されたとき、１つ以上のプロセッサに、
適応ループフィルタ（ＡＬＦ）演算のためにフィルタのセットを構築するための情報を、最大コード化単位（ＬＣＵ）のグループのためのパラメータセットで受信することと、
フィルタの前記セット中の各フィルタについて、関連するフィルタインデックスを決定することと、
前記ＡＬＦ演算を使用して第１のＬＣＵがフィルタ処理されるべきであることを示す指示を受信することと、
前記第１のＬＣＵをフィルタ処理するために使用されるべきであるフィルタをフィルタの前記セットから識別するフィルタインデックスを受信することと、
フィルタの前記セットからの前記フィルタを使用して前記ＬＣＵのうちの１つ以上のコード化単位（ＣＵ）をフィルタ処理することと
を行わせる命令を記憶した非有形コンピュータ可読記憶媒体。
【外国語明細書】
2018078569000001.pdf