(57)【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
複数のタイルに区分されたビデオデータのピクチャについてのピクチャパラメータセットにおいて、第１のシンタックス要素に関する第１の値を復号することと、ここにおいて、前記第１のシンタックス要素に関する前記第１の値が、前記ピクチャ内のすべてのタイル境界を越えるループフィルタリング演算が許可されることを示し、
前記ピクチャ内のすべてのタイル境界を越えるループフィルタリング演算が許可されることを示す前記第１のシンタックス要素に関する前記第１の値に応答して、第２のシンタックス要素に関する第１の値を復号することと、ここにおいて、前記第２のシンタックス要素に関する前記第１の値は、ループフィルタリング演算を実行するためのタイル境界を示し、
前記ピクチャ内のすべてのタイル境界を越える前記ループフィルタリング演算が許可されることを示す前記第１のシンタックス要素に関する前記第１の値に応答して、および、ループフィルタリング演算を実行するための前記タイル境界を示す前記第２のシンタックス要素に関する前記第１の値に応答して、前記タイル境界を越える前記１つまたは複数のループフィルタリング演算を実行することと、
前記第１のシンタックス要素に関する第２の値を、複数のタイルに区分されたビデオデータの第２のピクチャについてのピクチャパラメータセットにおいて、復号することと、ここにおいて、前記第１のシンタックス要素に関する前記第２の値は、ループフィルタリング演算が前記第２のピクチャ内のすべてのタイル境界を越えて許可されないことを示す、
を備える方法。
【請求項２】
ビデオデータを符号化する方法であって、
複数のタイルに区分されたビデオデータのピクチャについてのピクチャパラメータセットにおいて、第１のシンタックス要素に関する第１の値を符号化することと、ここにおいて、前記第１のシンタックス要素に関する前記第１の値が、前記ピクチャ内のすべてのタイル境界を越えるループフィルタリング演算が許可されることを示し、
前記ピクチャ内のすべてのタイル境界を越えるループフィルタリング演算が許可されることを示す前記第１のシンタックス要素に関する前記第１の値に応答して、第２のシンタックス要素に関する第１の値を符号化することと、ここにおいて、前記第２のシンタックス要素に関する前記第１の値は、ループフィルタリング演算を実行するためのタイル境界を示し、
前記ピクチャ内のすべてのタイル境界を越える前記ループフィルタリング演算が許可されることを示す前記第１のシンタックス要素に関する前記第１の値に応答して、および、ループフィルタリング演算を実行するための前記タイル境界を示す前記第２のシンタックス要素に関する前記第１の値に応答して、前記タイル境界を越える前記１つまたは複数のループフィルタリング演算を実行することと、
前記第１のシンタックス要素に関する第２の値を、複数のタイルに区分されたビデオデータの第２のピクチャについてのピクチャパラメータセットにおいて、符号化することと、ここにおいて、前記第１のシンタックス要素に関する前記第２の値は、ループフィルタリング演算が前記第２のピクチャ内のすべてのタイル境界を越えて許可されないことを示す、
を備える方法。
【請求項３】
前記１つまたは複数のループフィルタリング演算が適応ループフィルタリング演算を備える、請求項１または２に記載の方法。
【請求項４】
前記１つまたは複数のループフィルタリング演算が、デブロッキングフィルタリング演算およびサンプル適応オフセットフィルタリング演算のうちの１つまたは複数を備える、請求項１または２に記載の方法。
【請求項５】
前記第２のピクチャの２つ以上のタイルを並列に復号すること
をさらに備える、請求項１に記載の方法。
【請求項６】
前記第１のシンタックス要素に関する第３の値を複数のタイルに区分されたビデオデータの第３のピクチャについて復号すること
をさらに備え、ここにおいて、前記第１のシンタックス要素に関する前記第３の値は、前記第３のピクチャ内の１つまたは複数のタイル境界を越えてループフィルタリング演算が許可されることを示す、請求項１に記載の方法。
【請求項７】
前記第２のシンタックス要素に関する前記第１の値は、前記ループフィルタリング演算が許可される水平境界を表す値を備える、請求項１または２に記載の方法。
【請求項８】
前記第２のシンタックス要素に関する前記第１の値は、前記ループフィルタリング演算が許可されない水平境界を表す値を備える、請求項１または２に記載の方法。
【請求項９】
前記第２のシンタックス要素に関する前記第１の値は、前記ループフィルタリング演算が許可される垂直境界を表す値を備える、請求項１または２に記載の方法。
【請求項１０】
前記第２のシンタックス要素に関する前記第１の値は、前記ループフィルタリング演算が許可されない垂直境界を表す値を備える、請求項１または２に記載の方法。
【請求項１１】
前記第２のシンタックス要素は、ループフィルタリング演算が、水平方向において前記ピクチャ内のタイル境界を越えて許可されるかどうかを表す、請求項１または２に記載の方法。
【請求項１２】
前記第２のシンタックス要素は、ループフィルタリング演算が、垂直方向において前記ピクチャ内のタイル境界を越えて許可されるかどうかを表す、請求項１または２に記載の方法。
【請求項１３】
前記第２のシンタックス要素は、ループフィルタリング演算が、前記ピクチャ内の水平タイル境界を越えて許可されるかどうかを表し、前記方法は、ループフィルタリング演算が、前記ピクチャ内の垂直タイル境界を越えて許可されるかどうかを表す第３のシンタックス要素を復号すること
をさらに備える、請求項１に記載の方法。
【請求項１４】
前記第２のシンタックス要素に関する前記第１の値が、前記ピクチャのうちの１つのスライスに対応し、前記ループフィルタリング演算が、前記スライスが接するタイル境界を越えて許可されるかどうかを表す、請求項１または２に記載の方法。
【請求項１５】
前記方法がビデオデコーダによって実行され、前記第１のシンタックス要素に関する前記第１の値を復号することが、前記第１のシンタックス要素を受信することと、前記第１の値を決定することとを備える、請求項１に記載の方法。
【請求項１６】
前記方法がビデオエンコーダによって実行され、前記第１のシンタックス要素の前記第１の値を符号化することが、コード化されたビデオデータのビットストリーム中に含めるために前記第１の値をもつ前記第１のシンタックス要素を生成することを備える、請求項２に記載の方法。
【請求項１７】
ビデオデータを復号するためのデバイスであって、
ビデオデータを記憶するように構成されたメモリと、
１つまたは複数のプロセッサを備えたビデオデコーダと、
を備え、前記１つまたは複数のプロセッサは、
第１のシンタックス要素に関する第１の値を、複数のタイルに区分された前記ビデオデータのピクチャについてのピクチャパラメータセットにおいて復号することと、ここにおいて、前記第１のシンタックス要素に関する前記第１の値は、前記ピクチャ内のすべてのタイル境界を越えるループフィルタリング演算が許可されることを示し、
前記ピクチャ内のすべてのタイル境界を越えるループフィルタリング演算が許可されることを示す前記第１のシンタックス要素に関する前記第１の値に応答して、第２のシンタックス要素に関する第１の値を復号することと、ここにおいて、前記第２のシンタックス要素に関する前記第１の値は、ループフィルタリング演算を実行するためのタイル境界を示し、
前記ピクチャ内のすべてのタイル境界を越える前記ループフィルタリング演算が許可されることを示す前記第１のシンタックス要素に関する前記第１の値に応答して、および、ループフィルタリング演算を実行するための前記タイル境界を示す前記第２のシンタックス要素に関する前記第１の値に応答して、前記タイル境界を越える前記１つまたは複数のループフィルタリング演算を実行することと、
前記第１のシンタックス要素に関する第２の値を、複数のタイルに区分された前記ビデオデータの第２のピクチャについてのピクチャパラメータセットにおいて、復号することと、ここにおいて、前記第１のシンタックス要素に関する前記第２の値は、ループフィルタリング演算が前記第２のピクチャ内のすべてのタイル境界を越えて許可されないことを示す、
を行うように構成された、デバイス。
【請求項１８】
ビデオデータを符号化するためのデバイスであって、
ビデオデータを記憶するように構成されたメモリと、
１つまたは複数のプロセッサを備えたビデオエンコーダと、
を備え、前記１つまたは複数のプロセッサは、
第１のシンタックス要素に関する第１の値を、複数のタイルに区分された前記ビデオデータのピクチャについてのピクチャパラメータセットにおいて符号化することと、ここにおいて、前記第１のシンタックス要素に関する前記第１の値は、前記ピクチャ内のすべてのタイル境界を越えるループフィルタリング演算が許可されることを示し、
前記ピクチャ内のすべてのタイル境界を越えるループフィルタリング演算が許可されることを示す前記第１のシンタックス要素に関する前記第１の値に応答して、第２のシンタックス要素に関する第１の値を符号化することと、ここにおいて、前記第２のシンタックス要素に関する前記第１の値は、ループフィルタリング演算を実行するためのタイル境界を示し、
前記ピクチャ内のすべてのタイル境界を越える前記ループフィルタリング演算が許可されることを示す前記第１のシンタックス要素に関する前記第１の値に応答して、および、ループフィルタリング演算を実行するための前記タイル境界を示す前記第２のシンタックス要素に関する前記第１の値に応答して、前記タイル境界を越える前記１つまたは複数のループフィルタリング演算を実行することと、
前記第１のシンタックス要素に関する第２の値を、複数のタイルに区分された前記ビデオデータの第２のピクチャについてのピクチャパラメータセットにおいて、符号化することと、ここにおいて、前記第１のシンタックス要素に関する前記第２の値は、ループフィルタリング演算が前記第２のピクチャ内のすべてのタイル境界を越えて許可されないことを示す、
を行うように構成された、デバイス。
【請求項１９】
前記１つまたは複数のループフィルタリング演算が、デブロッキングフィルタリング演算およびサンプル適応オフセットフィルタリング演算のうちの１つまたは複数を備える、請求項１７または１８に記載のデバイス。
【請求項２０】
前記ビデオデコーダが、前記第２のピクチャの２つ以上のタイルを並列に復号するようにさらに構成された、請求項１７に記載のデバイス。
【請求項２１】
前記１つまたは複数のプロセッサは、前記第１のシンタックス要素に関する第３の値を、複数のタイルに区分されたビデオデータの第３のピクチャについて復号するようにさらに構成され、ここにおいて、前記第１のシンタックス要素に関する前記第３の値は、ループフィルタリング演算が前記第３のピクチャ内の１つまたは複数のタイル境界を越えて許可されることを示す、請求項１７に記載のデバイス。
【請求項２２】
前記第２のシンタックス要素に関する前記第１の値は、前記第１のシンタックス要素に関する前記第１の値に応答して、前記ループフィルタリング演算が許可される水平境界を表す値を備える、請求項１７または１８に記載のデバイス。
【請求項２３】
前記第２のシンタックス要素に関する前記第１の値は、前記第１のシンタックス要素に関する前記第１の値に応答して、前記ループフィルタリング演算が許可されない水平境界を表す値を備える、請求項１７または１８に記載のデバイス。
【請求項２４】
前記第２のシンタックス要素に関する前記第１の値は、前記第１のシンタックス要素に関する前記第１の値に応答して、前記ループフィルタリング演算が許可される垂直境界を表す値を備える、請求項１７または１８に記載のデバイス。
【請求項２５】
前記第２のシンタックス要素に関する前記第１の値は、前記第１のシンタックス要素に関する前記第１の値に応答して、前記ループフィルタリング演算が許可されない垂直境界を表す値を備える、請求項１７または１８に記載のデバイス。
【請求項２６】
前記第２のシンタックス要素は、前記第１のシンタックス要素に関する前記第１の値に応答して、ループフィルタリング演算が、水平方向において前記ピクチャ内のタイル境界を越えて許可されるかどうかを表す、請求項１７または１８に記載のデバイス。
【請求項２７】
前記１つまたは複数のプロセッサは、前記第１のシンタックス要素に関する前記第１の値に応答して、ループフィルタリング演算が、垂直方向において前記ピクチャ内のタイル境界を越えて許可されるかどうかを表す第２のシンタックス要素を復号するようにさらに構成された、請求項１７または１８に記載のデバイス。
【請求項２８】
前記第２のシンタックス要素は、ループフィルタリング演算が、前記ピクチャ内の水平タイル境界を越えて許可されるかどうかを表し、前記１つまたは複数のプロセッサは、ループフィルタリング演算が、前記ピクチャ内の垂直タイル境界を越えて許可されるかどうかを表す第３のシンタックス要素を復号することを行うようにさらに構成された、請求項１７に記載のデバイス。
【請求項２９】
前記第２のシンタックス要素の前記第１の値が、前記ピクチャのうちの１つのスライスに対応し、前記スライスが接するタイル境界を越える前記ループフィルタリング演算が許可されるかどうかを表す、請求項１７または１８に記載のデバイス。
【請求項３０】
前記１つまたは複数のプロセッサは、前記第１のシンタックス要素を受信することと、前記第１の値を決定することとによって前記第１のシンタックス要素に関する前記第１の値を復号するようにさらに構成され、前記デバイスは、前記ピクチャを表示するように構成されたディスプレイをさらに備える、請求項１７に記載のデバイス。
【請求項３１】
前記１つまたは複数のプロセッサは、コード化されたビデオデータのビットストリーム中に含めるために前記第１の値をもつ前記第１のシンタックス要素を生成することによって前記第１のシンタックス要素に関する前記第１の値を符号化するようにさらに構成され、前記デバイスは、前記ピクチャを生成するように構成されたカメラをさらに備える、請求項１７に記載のデバイス。
【請求項３２】
前記デバイスが、
集積回路、
マイクロプロセッサ、または
前記ビデオデコーダと、前記ピクチャを生成するように構成されたカメラまたは前記ピクチャを表示するように構成されたディスプレイのうちの一方または両方とを含むワイヤレス通信デバイス
のうちの少なくとも１つを備える、請求項１７に記載のデバイス。
【請求項３３】
ビデオデータを復号するためのデバイスであって、
第１のシンタックス要素に関する第１の値を複数のタイルに区分されたビデオデータのピクチャについてのピクチャパラメータセットにおいて復号するための手段と、ここにおいて、前記第１のシンタックス要素に関する前記第１の値は、前記ピクチャ内のすべてのタイル境界を越えるループフィルタリング演算が許可されることを示し、
前記ピクチャ内のすべてのタイル境界を越えるループフィルタリング演算が許可されることを示す前記第１のシンタックス要素に関する前記第１の値に応答して、第２のシンタックス要素に関する第１の値を復号するための手段と、ここにおいて、前記第２のシンタックス要素に関する前記第１の値は、ループフィルタリング演算を実行するためのタイル境界を示し、
前記ピクチャ内のすべてのタイル境界を越える前記ループフィルタリング演算が許可されることを示す前記第１のシンタックス要素に関する前記第１の値に応答して、および、ループフィルタリング演算を実行するための前記タイル境界を示す前記第２のシンタックス要素に関する前記第１の値に応答して、前記タイル境界を越える前記１つまたは複数のループフィルタリング演算を実行するための手段と、
前記第１のシンタックス要素に関する第２の値を、複数のタイルに区分されたビデオデータの第２のピクチャについてのピクチャパラメータセットにおいて、復号するための手段と、ここにおいて、前記第１のシンタックス要素に関する前記第２の値は、ループフィルタリング演算が前記第２のピクチャ内のすべてのタイル境界を越えて許可されないことを示す、デバイス。
【請求項３４】
前記１つまたは複数のループフィルタリング演算が、デブロッキングフィルタリング演算、適応ループフィルタリング演算、およびサンプル適応オフセットフィルタリング演算のうちの１つまたは複数を備える、請求項３３に記載のデバイス。
【請求項３５】
前記第２のピクチャの２つ以上のスライスを並列に復号するための手段
をさらに備える、請求項３３に記載のデバイス。
【請求項３６】
前記第１のシンタックス要素に関する第３の値を、複数のタイルに区分されたビデオデータの第３のピクチャについて復号するための手段
をさらに備え、ここにおいて、前記第１のシンタックス要素に関する前記第３の値は、ループフィルタリング演算が前記第３のピクチャ内の１つまたは複数のタイル境界を越えて許可されることを示す、請求項３３に記載のデバイス。
【請求項３７】
前記第２のシンタックス要素に関する前記第１の値は、前記第１のシンタックス要素に関する前記第１の値に応答して、前記ループフィルタリング演算が許可される水平境界を表す値を備える、請求項３３に記載のデバイス。
【請求項３８】
前記第２のシンタックス要素に関する前記第１の値は、前記第１のシンタックス要素に関する前記第１の値に応答して、前記ループフィルタリング演算が許可されない水平境界を表す値を備える、請求項３３に記載のデバイス。
【請求項３９】
前記第２のシンタックス要素に関する前記第１の値は、前記第１のシンタックス要素に関する前記第１の値に応答して、前記ループフィルタリング演算が許可される垂直境界を表す値を備える、請求項３３に記載のデバイス。
【請求項４０】
前記第２のシンタックス要素に関する前記第１の値は、前記第１のシンタックス要素に関する前記第１の値に応答して、前記ループフィルタリング演算が許可されない垂直境界を表す値を備える、請求項３３に記載のデバイス。
【請求項４１】
前記第２のシンタックス要素は、前記第１のシンタックス要素に関する前記第１の値に応答して、ループフィルタリング演算が、水平方向において前記ピクチャ内のタイル境界を越えて許可されるかどうかを表す、請求項３３に記載のデバイス。
【請求項４２】
前記第２のシンタックス要素は、前記第１のシンタックス要素に関する前記第１の値に応答して、ループフィルタリング演算が、垂直方向において前記ピクチャ内のタイル境界を越えて許可されるかどうかを表す、請求項３３に記載のデバイス。
【請求項４３】
前記第２のシンタックス要素に関する前記第１の値は、前記第１のシンタックス要素に関する前記第１の値に応答して、ループフィルタリング演算が、前記ピクチャ内の水平タイル境界を越えて許可されるかどうかを表す値を備え、前記デバイスは、
前記第１のシンタックス要素に関する前記第１の値に応答して、ループフィルタリング演算が、前記ピクチャ内の垂直タイル境界を越えて許可されるかどうかを表す第３のシンタックス要素を復号するための手段
をさらに備える、請求項３３に記載のデバイス。
【請求項４４】
前記第２のシンタックス要素に関する前記第１の値が、前記ピクチャのうちの１つのスライスに対応し、前記ループフィルタリング演算が前記スライスが接するタイル境界を越える許可されるかどうかを表す、請求項３３に記載のデバイス。
【請求項４５】
前記デバイスがビデオデコーダを備え、前記第１のシンタックス要素に関する前記第１の値を復号するための前記手段が、前記第１のシンタックス要素を受信するための手段と、前記第１の値を決定するための手段とを備える、請求項３３に記載のデバイス。
【請求項４６】
前記デバイスがビデオエンコーダを備え、前記第１のシンタックス要素に関する前記第１の値を復号するための前記手段が、コード化されたビデオデータのビットストリーム中に含めるために前記第１の値をもつ前記第１のシンタックス要素を生成するための手段を備える、請求項３３に記載のデバイス。
【請求項４７】
１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
第１のシンタックス要素に関する第１の値を複数のタイルに区分されたビデオデータのピクチャについてのピクチャパラメータセットにおいて、コーディングすることと、ここにおいて、前記第１のシンタックス要素に関する前記第１の値が、前記ピクチャ内のすべてのタイル境界を越えるループフィルタリング演算が許可されることを示し、
前記ピクチャ内のすべてのタイル境界を越えるループフィルタリング演算が許可されることを示す前記第１のシンタックス要素に関する前記第１の値に応答して、第２のシンタックス要素に関する第１の値を復号することと、ここにおいて、前記第２のシンタックス要素に関する前記第１の値は、ループフィルタリング演算を実行するためのタイル境界を示し、
前記ピクチャ内のすべてのタイル境界を越える前記ループフィルタリング演算が許可されることを示す前記第１のシンタックス要素に関する前記第１の値に応答して、および、ループフィルタリング演算を実行するための前記タイル境界を示す前記第２のシンタックス要素に関する前記第１の値に応答して、前記タイル境界を越える前記１つまたは複数のループフィルタリング演算を実行することと、
前記第１のシンタックス要素に関する第２の値を、複数のタイルに区分されたビデオデータの第２のピクチャについてのピクチャパラメータセットにおいて、コーディングすることと、ここにおいて、前記第１のシンタックス要素に関する前記第２の値は、ループフィルタリング演算が前記第２のピクチャ内のすべてのタイル境界を越えてが許可されないことを示す、
を行わせる命令を記憶するコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その内容全体が参照により本明細書に組み込まれる、２０１１年１０月２８日に出願された米国仮出願第６１／５５３，０７４号の利益を主張する。
【０００２】
本開示は、ビデオデータを圧縮するために使用されるブロックベースのデジタルビデオコーディングに関し、より詳細には、タイル境界を越えるループフィルタリング演算を制御するための技法に関する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、無線電話ハンドセットなどのワイヤレス通信デバイス、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、デジタルカメラ、デジタル記録デバイス、ビデオゲームデバイス、ビデオゲームコンソールなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオをより効率的に送信および受信するために、ＭＰＥＧ−２、ＭＰＥＧ−４、またはＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）などのビデオ圧縮技法を実装する。ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および時間的予測を実行する。ＭＰＥＧとＩＴＵ−Ｔとのコラボレーションである「ビデオコーディング共同研究部会」（ＪＣＴＶＣ：Joint Collaborative Team - Video Coding）によって開発されている高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格など、新しいビデオ規格が出現し、発展し続けている。この新しいＨＥＶＣ規格はＨ．２６５と呼ばれることもある。
【０００４】
ブロックベースのビデオ圧縮技法は、空間的予測および／または時間的予測を実行し得る。イントラコーディングは、ビデオフレーム、ビデオフレームのスライスなどを備え得る、コード化されたビデオの所与のユニット内のビデオブロック間の空間的冗長性を低減または除去するために空間的予測に依拠する。対照的に、インターコーディングは、ビデオシーケンスの連続するコーディングユニットのビデオブロック間の時間的冗長性を低減または除去するために時間的予測に依拠する。イントラコーディングの場合、ビデオエンコーダは、コード化されたビデオの同じユニット内の他のデータに基づいて、データを圧縮するために空間的予測を実行する。インターコーディングの場合、ビデオエンコーダは、コード化されたビデオの２つ以上の隣接するユニットの対応するビデオブロックの移動を追跡するために動き推定および動き補償を実行する。
【０００５】
コード化されたビデオブロックは、予測ブロックを生成または識別するために使用され得る予測情報と、コーディングされているブロックと予測ブロックとの間の差を示すデータの残差ブロックとによって表され得る。インターコーディングの場合、１つまたは複数の動きベクトルを使用して、前または後続のコーディングユニットからデータの予測ブロックを識別するが、イントラコーディングの場合、予測モードを使用して、コーディングされているビデオブロックに関連するＣＵ内のデータに基づいて予測ブロックを生成することができる。イントラコーディングとインターコーディングの両方は、コーディングにおいて使用される異なるブロックサイズおよび／または予測技法を定義し得る、いくつかの異なる予測モードを定義し得る。また、コーディングプロセスにおいて使用されるコーディング技法またはパラメータを制御または定義するために、追加のタイプのシンタックス要素が、符号化ビデオデータの一部として含まれ得る。
【０００６】
ブロックベースの予測コーディングの後に、ビデオエンコーダは、残差ブロックの通信に関連するビットレートをさらに低減するために、変換、量子化およびエントロピーコーディングプロセスを適用し得る。変換技法は、離散コサイン変換（ＤＣＴ：discrete cosine transform）、あるいはウェーブレット変換、整数変換、または他のタイプの変換など、概念的に同様のプロセスを備え得る。離散コサイン変換プロセスでは、一例として、変換プロセスは、ピクセル差分値のセットを、周波数領域におけるピクセル値のエネルギーを表し得る変換係数に変換する。量子化は、変換係数に適用され、概して、所与の変換係数に関連するビット数を制限するプロセスを伴う。エントロピーコーディングは、一連の量子化変換係数をまとめて圧縮する１つまたは複数のプロセスを備える。
【０００７】
ビデオブロックのフィルタ処理は、符号化プロセスおよび復号プロセスの一部として、または再構成ビデオブロックに対するポストフィルタリングプロセスの一部として適用され得る。フィルタリングは、通常、たとえば、ブロックベースのビデオコーディングに共通のブロッキネスまたは他のアーティファクトを低減するために使用される。ブロッキネスを低減し、および／または他の方法でビデオ品質を改善することができる、望ましいレベルのフィルタリングを促進するために、（フィルタタップと呼ばれることがある）フィルタ係数が定義または選択され得る。フィルタ係数のセットは、たとえば、ビデオブロックのエッジまたはビデオブロック内の他のロケーションに沿ってフィルタリングがどのように適用されるかを定義し得る。異なるフィルタ係数は、ビデオブロックの異なるピクセルに対する異なるレベルのフィルタリングを生じ得る。フィルタリングは、たとえば、不要なアーティファクトをなくすのを助けるために、隣接ピクセル値の強度の差を平滑化またはシャープ化し得る。
【発明の概要】
【０００８】
概して、本開示では、ビデオデータをコーディングするための技法について説明し、より詳細には、本開示では、ビデオデータのピクチャ内の複数のタイルの境界におけるループフィルタリング演算を制御することを含む、ビデオコーディングのためのループフィルタリング演算に関する技法について説明する。
【０００９】
一例では、ビデオデータをコーディングする方法は、複数のタイルに区分されたビデオデータのピクチャについて、第１のシンタックス要素に関する第１の値をコーディングすることであって、第１のシンタックス要素に関する第１の値が、ピクチャ内の少なくとも１つのタイル境界を越えるループフィルタリング演算が許可されることを示す、コーディングすることと、タイル境界を越えるループフィルタリング演算が許可されることを示す第１の値に応答して、少なくとも１つのタイル境界を越える１つまたは複数のループフィルタリング演算を実行することとを含む。
【００１０】
別の例では、ビデオデータをコーディングするためのデバイスは、複数のタイルに区分されたビデオデータのピクチャについて、第１のシンタックス要素に関する第１の値をコーディングすることであって、第１のシンタックス要素に関する第１の値が、ピクチャ内の少なくとも１つのタイル境界を越えるループフィルタリング演算が許可されることを示す、コーディングすることと、タイル境界を越えるループフィルタリング演算が許可されることを示す第１の値に応答して、少なくとも１つのタイル境界を越える１つまたは複数のループフィルタリング演算を実行することとを行うように構成されたビデオコーダを含む。
【００１１】
別の例では、ビデオデータをコーディングするためのデバイスは、複数のタイルに区分されたビデオデータのピクチャについて、第１のシンタックス要素に関する第１の値をコーディングするための手段であって、第１のシンタックス要素に関する第１の値が、ピクチャ内の少なくとも１つのタイル境界を越えるループフィルタリング演算が許可されることを示す、コーディングするための手段と、タイル境界を越えるループフィルタリング演算が許可されることを示す第１の値に応答して、少なくとも１つのタイル境界を越える１つまたは複数のループフィルタリング演算を実行するための手段とを含む。
【００１２】
別の例では、非一時的コンピュータ可読記憶媒体は、１つまたは複数のプロセッサによって実行されたとき、１つまたは複数のプロセッサに、複数のタイルに区分されたビデオデータのピクチャについて、第１のシンタックス要素に関する第１の値をコーディングすることであって、第１のシンタックス要素に関する第１の値が、ピクチャ内の少なくとも１つのタイル境界を越えるループフィルタリング演算が許可されることを示す、コーディングすることと、タイル境界を越えるループフィルタリング演算が許可されることを示す第１の値に応答して、少なくとも１つのタイル境界を越える１つまたは複数のループフィルタリング演算を実行することとを行わせる命令を記憶する。
【００１３】
１つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、その説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１４】
【図１】例示的なビデオ符号化および復号システムを示すブロック図。
【図２】適応ループフィルタのための領域ベースの分類を示す概念図。
【図３】適応ループフィルタのためのブロックベースの分類を示す概念図。
【図４】フレームのタイルを示す概念図。
【図５】フレームのスライスを示す概念図。
【図６】スライス境界およびタイル境界における適応ループフィルタを示す概念図。
【図７】水平境界における非対称部分フィルタを示す概念図。
【図８】垂直境界における非対称部分フィルタを示す概念図。
【図９】水平境界における対称部分フィルタを示す概念図。
【図１０】垂直境界における対称部分フィルタを示す概念図。
【図１１】例示的なビデオエンコーダを示すブロック図。
【図１２】例示的なビデオデコーダを示すブロック図。
【図１３】本開示で説明する技法による、タイル境界を越えるループ内フィルタリングを制御する例示的な方法を示すフローチャート。
【図１４】本開示で説明する技法による、タイル境界を越えるループ内フィルタリングを制御する例示的な方法を示すフローチャート。
【図１５】本開示で説明する技法による、タイル境界を越えるループ内フィルタリングを制御する例示的な方法を示すフローチャート。
【発明を実施するための形態】
【００１５】
概して、本開示では、ビデオデータをコーディングするための技法について説明し、より詳細には、本開示では、ビデオデータのピクチャ(picture)内の複数のタイルの境界におけるループフィルタリング演算(loop filtering operations)を制御することを含む、ビデオコーディングのためのループフィルタリング演算に関する技法について説明する。タイル境界(tile boundaries)におけるループフィルタリング演算を制御することは、たとえば、タイル境界を越えるループフィルタリングがコーディング品質を改善するとき、それが可能にされることを許可するが、スライス(slice)の並列復号(parallel decoding)を可能にすることが望ましいことがある事例においてなど、望ましいときに、タイル境界を越える(across)ループフィルタリングが不能にされることをも許可し得る。本開示で説明する技法を使用して制御され得るループフィルタリング演算の例としては、デブロッキングフィルタリング演算(deblocking filtering operations)、適応ループフィルタリング（ＡＬＦ：adaptive loop filtering）演算、およびサンプル適応オフセット（ＳＡＯ：sample adaptive offset）フィルタリング演算(sample adaptive offset (SAO) filtering operations)がある。ループフィルタリングのこれらおよび他の態様について以下でより詳細に説明する。
【００１６】
従来、ビデオコーダは、ビデオデータのピクチャを、ピクチャにわたってラスタ走査順序（たとえば、右から左および上から下）になるスライスに区分した。いくつかのビデオコーダは、現在、水平境界(horizontal boundary)と垂直境界(vertical boundary)とを使用して、ビデオデータのピクチャを複数のタイルに区分する。複数のタイルに区分されたとき、スライスは、タイルのエッジ間でラスタ走査順序になることが可能である。たとえば、ピクチャを６つのタイルに分割する、（ピクチャ自体の外側エッジを含まない）２つの水平タイル境界(horizontal tile boundaries)と１つの垂直タイル境界(vertical tile boundaries)とがあり得る。スライスは完全にタイル内に存在し得、各タイルは複数のスライスを含み得る。
【００１７】
多くの事例では、ブロックのための様々なデータは、隣接する、前にコーディングされたブロックに基づいて予測され得る。たとえば、イントラ予測コーディングモードでは、現在ブロックのピクセル値は、隣接する、前にコーディングされたブロックを使用して予測される。同様に、動き情報予測、コーディングモード予測、およびエントロピーコーディングコンテキストは、隣接する、前にコーディングされたブロックからの情報を利用し得る。場合によっては、これらの隣接する、前にコーディングされたブロックは、タイル境界、たとえば、水平タイル境界または垂直タイル境界を越えて位置し得る。タイル境界を越えている別のブロックからのデータを利用するブロックを含むタイルは、タイルのブロックをコーディングすることが、異なるタイル中の異なるブロックに関係する情報に依存するので、「依存」していると言われる。
【００１８】
場合によっては、タイル境界横断（cross-tile-boundary）予測を制限し、それによって、依存とは対照的に、タイルを独立にすることが有利であり得る。したがって、新生の高効率ビデオコーディング（ＨＥＶＣ）規格では、タイル境界横断予測が許可されるかどうかを表す値がシグナリングされる。特に、この値はシンタックス要素(syntax element)「ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｉｄｃ」と呼ばれる。しかしながら、ＨＥＶＣ規格のいくつかのバージョンでは、この値は、イントラ予測情報、動き情報、コーディングモード情報など、いくつかの情報の使用にのみ関係し、ループフィルタリングに関係する情報には関係しない。ＨＥＶＣのいくつかの実装形態では、ループフィルタリングは、「ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｉｄｃ」の値にかかわらずタイル境界においてブロックエッジに適用される。これは、ループフィルタリング演算が実行されるとき、さもなければ独立してコーディングされるタイルが、別のタイルに依存するかまたは情報を与えることにつながり得る。これは、いくつかの事例では、複数のタイルの並列処理を妨げるなど、いくつかの欠点をもたらし得る。
【００１９】
ＨＥＶＣに含めるために提案されたいくつかのタイル方式では、ピクセル値予測を含むピクチャ内予測、動き予測、コーディングモード予測、およびエントロピーコーディングコンテキスト予測は、フラグ「ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｉｄｃ」によってすべてのタイル境界を越えて制御され得るが、タイル境界を越えるループフィルタリングは制御されない。しかしながら、いくつかのシナリオでは、タイル境界を越えるループフィルタリングも実行されないことを意味する、異なる複数のタイルによってカバーされる１つまたは複数の領域を完全に独立してコーディングすることが望ましいことがある。２つのそのようなシナリオについて以下で説明する。
【００２０】
第１のシナリオでは、ピクチャのシーケンスが９つの垂直タイル境界によって８つのタイルに均等に区分され、左端のタイルはタイル０であり、左端から２番目のタイルはタイル１であり、以下同様である。これらのピクチャの各々は少なくとも１つの予測（Ｐ）スライスを含んでおり、これは、コード化されたビットストリーム全体の中に復号順序においてピクチャのシーケンスの前にピクチャがあることを意味する。この例では、復号順序は出力順序と同じであると仮定する。ピクチャのシーケンス中のピクチャ０（すなわち、第１のピクチャ）では、タイル０中のすべてのＬＣＵはイントラコーディングされ、他のタイル中のすべてのＬＣＵはインターコーディングされる。ピクチャのシーケンス中のピクチャ１では、タイル１中のすべてのＬＣＵはイントラコーディングされ、他のタイル中のすべてのＬＣＵはインターコーディングされ、以下同様である。言い換えれば、ピクチャのシーケンス中のピクチャＮでは、両端値を含む、０からピクチャのシーケンス中のピクチャの数−１までの範囲内のＮの値について、タイルＮ／８（ここで「／」はモジュラ除算を示す）中のすべてのＬＣＵはイントラコーディングされ、他のタイル中のすべてのＬＣＵはインターコーディングされる。したがって、Ｎ／８が０に等しいインデックス値Ｎをもつ各ピクチャは、復号がそのピクチャから開始する場合、完全には正しく復号されない可能性がある初めの７つのピクチャを除いて、その後のすべてのピクチャが正しく復号され得るという点で、ランダムアクセスポイントとして使用され得る。
【００２１】
上記のシナリオでは、ピクチャ２（および、Ｎ／８が２に等しいインデックス値Ｎをもつピクチャ）において、タイル２とタイル３との間のタイル境界、すなわち、リフレッシュエリアとも呼ばれる、境界の左側のエリアと、未リフレッシュエリアとも呼ばれる、境界の右側のエリアとの間の境界を越えるピクチャ内予測ならびにループフィルタリングを許可しないことが理想的である。概して、ピクチャＮにおいて、タイルＮ／８とタイルＮ／８＋１との間のタイル境界を越えるピクチャ内予測ならびにループフィルタリングを許可しないこと、および他のタイル境界を越えるピクチャ内予測ならびにループフィルタリングを許可することが理想的である。このようにして、クリーンで効率的な漸進的復号リフレッシュまたは漸進的ランダムアクセス機能が与えられ得る。
【００２２】
第２のシナリオでは、ピクチャのシーケンス中の各ピクチャは２つ以上のタイルに区分され、複数のタイルのサブセットはすべてのピクチャ中で同じ矩形領域(rectangular region)をカバーし、すべてのピクチャのその領域は、同じピクチャおよび他のピクチャからの他の領域から独立して復号され得る。そのような領域は、独立して復号可能なサブピクチャ(sub-picture)とも呼ばれ、それは、復号能力およびネットワーク帯域幅などの制限ならびにユーザ選好により、いくつかのクライアントによって望まれる唯一の領域であり得る。そのようなシナリオでは、独立して復号可能なサブピクチャの境界でもあるタイル境界を越えるピクチャ内予測ならびにループフィルタリングを許可しないことが理想的である。このようにして、クリーンで効率的な関心領域（ＲＯＩ）コーディングが行われ得る。
【００２３】
本開示は、タイル境界が予測演算に関して独立と見なされるべきであるかどうかに加えて、タイル境界横断ループフィルタリング演算(cross-tile-boundary loop filtering operations)が許可されるかどうかをシグナリングするための技法を提供する。したがって、本開示は、タイル境界横断ループフィルタリングを制御するための、本開示では「ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｌｏｏｐ＿ｆｉｌｔｅｒｉｎｇ＿ｉｄｃ」と呼ぶ新しいシンタックス要素を導入する。ループフィルタリング演算は、概して、デブロッキングフィルタリング、ＡＬＦ、およびＳＡＯのうちのいずれかを含む。概して、デブロッキングフィルタリングは、ブロッキネスアーティファクトを低減するためにブロックのエッジにおいて選択的に適用され、ＡＬＦはピクセル分類に基づいて適用され、ＳＡＯは直流（ＤＣ）値を変更するために使用される。
【００２４】
本開示の技法によれば、たとえば、１つまたは複数の特定の境界について、あるいはフレーム内またはシーケンス内のすべてのタイルについて、タイル境界を越えるループフィルタリング演算が許可されるかどうかを示す値がシグナリングされ得る。そのような値は、シーケンスパラメータセット（ＳＰＳ）またはピクチャパラメータセット（ＰＰＳ）中でシグナリングされ得る。ＳＰＳはピクチャのシーケンスに適用され、ＰＰＳは個々のピクチャに適用される。タイル境界横断ループフィルタリングが許可されない事例では、タイル境界を越える値を利用しない他のタイプのループフィルタリングが使用され得る。
【００２５】
いくつかの例では、タイル境界横断ループフィルタリング演算のより細かい制御が、追加のシグナリング値を使用することによって達成され得る。たとえば、第１の値が、タイル境界横断ループフィルタリング演算が許可されることを示すとき、追加の値が、タイル境界横断ループフィルタリング演算が水平タイル境界および／または垂直タイル境界について許可される（または許可されない）かどうかを具体的にシグナリングし得る。別の例として、第１の値が、タイル境界横断ループフィルタリング演算が許可されることを示すとき、追加の値が、ループフィルタリング演算がどのタイル境界について許可されるか（または許可されないか）を具体的にシグナリングし得る。たとえば、特定のタイル境界は、タイルインデックスのペアを使用して識別され得る。追加または代替として、いくつかの例では、タイル境界横断ループフィルタリングが、スライスが接するタイル境界について許可される（または許可されない）かどうかを示す値がスライスヘッダ中でシグナリングされ得る。
【００２６】
以下の例示的な説明のうちのいくつかで明らかになるように、タイル境界横断ループフィルタリング、およびタイル境界を越えるループフィルタリングを実行することは、概して、異なる複数のタイル中にある少なくとも２つの異なるピクセルまたは２つの異なるブロックに関連する情報を利用するループフィルタリング演算を指す。タイル境界横断ループフィルタリングが不能にされる（たとえば、許可されない）とき、ただ１つのタイルのピクセルまたはブロックからの情報を利用するループフィルタリング演算は実行され得るが、２つ以上のタイルのピクセルまたはブロックからの情報を利用するループフィルタリング演算は不能にされないことがある。
【００２７】
図１は、本開示の例による、タイル境界を越えるループフィルタリング演算を許可するようにおよび許可しないように構成され得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示すように、システム１０は、通信チャネル１６を介して符号化ビデオを宛先デバイス１４に送信するソースデバイス１２を含む。符号化ビデオデータはまた、記憶媒体３４またはファイルサーバ３６に記憶され得、必要に応じて宛先デバイス１４によってアクセスされ得る。記憶媒体またはファイルサーバに記憶されたとき、ビデオエンコーダ２０は、コード化されたビデオデータを記憶媒体に記憶するための、ネットワークインターフェース、コンパクトディスク（ＣＤ）、Ｂｌｕ−ｒａｙ（登録商標）またはデジタルビデオディスク（ＤＶＤ）バーナーまたはスタンピングファシリティデバイス、あるいは他のデバイスなど、別のデバイスにコード化されたビデオデータを与え得る。同様に、ネットワークインターフェース、ＣＤまたはＤＶＤリーダーなど、ビデオデコーダ３０とは別個のデバイスが、記憶媒体からコード化されたビデオデータを取り出し、取り出されたデータをビデオデコーダ３０に与え得る。
【００２８】
ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆるスマートフォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソールなどを含む、多種多様なデバイスのいずれかを備え得る。多くの場合、そのようなデバイスはワイヤレス通信が可能であり得る。したがって、通信チャネル１６は、符号化ビデオデータの送信に好適なワイヤレスチャネル、ワイヤードチャネル、またはワイヤレスチャネルとワイヤードチャネルとの組合せを備え得る。同様に、ファイルサーバ３６は、インターネット接続を含む任意の標準データ接続を介して宛先デバイス１４によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、または両方の組合せを含み得る。
【００２９】
本開示の例による、タイル境界を越えるループフィルタリングを制御するための技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００３０】
図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、変調器／復調器２２と、送信機２４とを含む。ソースデバイス１２において、ビデオソース１８は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および／またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組合せを含み得る。一例として、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例、あるいは符号化ビデオデータがローカルディスクに記憶された適用例に適用され得る。
【００３１】
キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。符号化されたビデオ情報は、ワイヤレス通信プロトコルなどの通信規格に従ってモデム２２によって変調され、送信機２４を介して宛先デバイス１４に送信され得る。モデム２２は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機２４は、増幅器、フィルタ、および１つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
【００３２】
ビデオエンコーダ２０によって符号化された、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオはまた、後で消費するために記憶媒体３４またはファイルサーバ３６に記憶され得る。記憶媒体３４は、Ｂｌｕ−ｒａｙディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、または符号化ビデオを記憶するための任意の他の好適なデジタル記憶媒体を含み得る。記憶媒体３４に記憶された符号化ビデオは、次いで、復号および再生のために宛先デバイス１４によってアクセスされ得る。
【００３３】
ファイルサーバ３６は、符号化ビデオを記憶することと、その符号化ビデオを宛先デバイス１４に送信することとが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、（たとえば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、ローカルディスクドライブ、または符号化ビデオデータを記憶することと、符号化ビデオデータを宛先デバイスに送信することとが可能な他のタイプのデバイスを含む。ファイルサーバ３６からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。ファイルサーバ３６は、インターネット接続を含む任意の標準データ接続を介して宛先デバイス１４によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデム、イーサネット（登録商標）、ＵＳＢなど）、または両方の組合せを含み得る。
【００３４】
図１の例では、宛先デバイス１４は、受信機２６と、モデム２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。宛先デバイス１４の受信機２６はチャネル１６を介して情報を受信し、モデム２８はその情報を復調して、ビデオデコーダ３０のための復調されたビットストリームを生成する。チャネル１６を介して通信される情報は、ビデオデータを復号する際にビデオデコーダ３０が使用する、ビデオエンコーダ２０によって生成された様々なシンタックス情報を含み得る。そのようなシンタックス(syntax)はまた、記憶媒体３４またはファイルサーバ３６に記憶された符号化ビデオデータとともに含まれ得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、ビデオデータを符号化または復号することが可能であるそれぞれのエンコーダデコーダ（コーデック）の一部を形成し得る。
【００３５】
ディスプレイデバイス３２は、宛先デバイス１４と一体化されるかまたはその外部にあり得る。いくつかの例では、宛先デバイス１４は、一体型ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス１４はディスプレイデバイスであり得る。概して、ディスプレイデバイス３２は、復号ビデオデータをユーザに対して表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００３６】
図１の例では、通信チャネル１６は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル１６は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル１６は、概して、ワイヤード媒体またはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス１２から宛先デバイス１４に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル１６は、ソースデバイス１２から宛先デバイス１４への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００３７】
ビデオエンコーダ２０およびビデオデコーダ３０は、現在開発中の高効率ビデオコーディング（ＨＥＶＣ）規格などのビデオ圧縮規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。「ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ８」または「ＷＤ８」と呼ばれる、ＨＥＶＣ規格の最近のドラフトは、２０１２年１０月１７日現在、http://phenix.int-evry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v8.zipからダウンロード可能である、文書ＪＣＴＶＣ−Ｊ１００３、Ｂｒｏｓｓら、「High efficiency video coding (HEVC) text specification draft 8」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのビデオコーディング共同研究部会（ＪＣＴ−ＶＣ）、１０ｔｈ  Ｍｅｅｔｉｎｇ：  Ｓｔｏｃｋｈｏｌｍ、ＳＥ、２０１２年７月１１〜２０日に記載されている。
【００３８】
代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４，Ｐａｒｔ１０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他のプロプライエタリ規格または業界規格、あるいはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。他の例にはＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。
【００３９】
図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、また、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するための適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、いくつかの例では、ＭＵＸ−ＤＥＭＵＸユニットはＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００４０】
ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、またはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、１つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００４１】
ビデオエンコーダ２０は、ビデオコーディングプロセスにおいてタイル境界を越えるループフィルタリングを制御するための本開示の技法のいずれかまたはすべてを実装し得る。同様に、ビデオデコーダ３０は、ビデオコーディングプロセスにおける適応ループフィルタリングのためのこれらの技法のいずれかまたはすべてを実装し得る。本開示で説明するビデオコーダは、ビデオエンコーダまたはビデオデコーダを指すことがある。同様に、ビデオコーディングユニットは、ビデオエンコーダまたはビデオデコーダを指すことがある。同様に、ビデオコーディングはビデオ符号化またはビデオ復号を指すことがある。
【００４２】
ＨＥＶＣのために提案された現在のＡＬＦでは、２つの適応モード（すなわち、ブロック適応モードおよび領域適応モード）が提案される。領域適応モードでは、フレームが１６個の領域に分割され、各領域が線形フィルタ係数の１つのセット（複数のＡＣ係数および１つのＤＣ係数）を有することができ、１つの領域が同じフィルタ係数を他の領域と共有することができる。図２は、適応ループフィルタのための領域ベースの分類を示す概念図である。図２に示すように、フレーム１２０が１６個の領域に分割される。これらの１６個の領域の各々は、その領域によって使用される線形フィルタ係数の特定のセットを示す番号（０〜１５）によって表される。それらの番号（０〜１５）は、ビデオエンコーダとビデオデコーダの両方において記憶されるフィルタ係数の所定のセットに対するインデックス番号であり得る。一例では、ビデオエンコーダが、符号化ビデオビットストリーム中で、特定の領域のためにビデオエンコーダによって使用されるフィルタ係数のセットのインデックス番号をシグナリングし得る。シグナリングされたインデックスに基づいて、ビデオデコーダが、その領域のための復号プロセスにおいて使用するためにフィルタ係数の同じ所定のセットを取り出し得る。他の例では、フィルタ係数は各領域について明示的にシグナリングされる。
【００４３】
ブロックベースのモードでは、フレームが４×４ブロックに分割され、各４×４ブロックが、方向およびアクティビティ情報を使用してメトリックを計算することによって、１つのクラスを導出する。各クラスについて、線形フィルタ係数の１つのセット（複数のＡＣ係数および１つのＤＣ係数）が使用され得、１つのクラスが同じフィルタ係数を他のクラスと共有することができる。図３は、適応ループフィルタのためのブロックベースの分類を示す概念図である。
【００４４】
方向とアクティビティとの計算、および方向とアクティビティとに基づいて得られるメトリックを以下に示す。
【００４５】
・方向
【数１】
0006054407.tif 000002
【００４６】
・アクティビティ
【数２】
0006054407.tif 000003
【００４７】
・メトリック
【数３】
0006054407.tif 000004
【００４８】
Ｈｏｒ＿ａｃｔ（ｉ，ｊ）は、概して、現在ピクセル（ｉ，ｊ）の水平アクティビティを指し、Ｖｅｒｔ＿ａｃｔ（ｉ，ｊ）は、概して、現在ピクセル（ｉ，ｊ）の垂直アクティビティを指す。Ｘ（ｉ，ｊ）は、概して、ピクセル（ｉ，ｊ）のピクセル値を指す。ＨBは、４×４ブロックの水平アクティビティを指し、これは、図３の例では、ピクセル（０，０）、（０，２）、（２，０）、および（２，２）のための水平アクティビティの和に基づいて判断または決定(determine)される。ＶBは、４×４ブロックの垂直アクティビティを指し、これは、この例では、ピクセル（０，０）、（０，２）、（２，０）、および（２，２）のための垂直アクティビティの和に基づいて判断または決定(determine)される。「＜＜１」は、２での乗算の演算を表す。ＨBおよびＶBの値に基づいて、方向が判断または決定(determine)され得る。一例として、ＨBの値がＶBの値の２倍よりも大きい場合、方向は、垂直アクティビティよりも多くの水平アクティビティに対応し得る、方向１（すなわち水平）であると判断または決定(determine)され得る。ＶBの値がＨBの値の２倍よりも大きい場合、方向は、水平アクティビティよりも多くの垂直アクティビティに対応し得る、方向２（すなわち垂直）であると判断または決定(determine)され得る。他の場合、方向は、水平アクティビティも垂直アクティビティも支配的でないことを意味する、方向０（すなわち方向なし）であると判断または決定(determine)され得る。他の標示と比も使用され得るので、様々な方向のための標示と、それらの方向を判断または決定(determine)するために使用された比とは、一例を構成するにすぎない。
【００４９】
４×４ブロックのためのアクティビティ（ＬB）は、水平アクティビティと垂直アクティビティとの和として判断または決定(determine)され得る。ＬBの値は範囲に分類され得る。この特定の例は５つの範囲を示しているが、より多いまたはより少ない範囲が同様に使用され得る。アクティビティと方向との組合せに基づいて、ピクセルの４×４ブロックのためのフィルタが選択され得る。一例として、フィルタは、アクティビティおよび方向とフィルタとの２次元マッピングに基づいて選択され得るか、またはアクティビティと方向とが組み合わされて単一のメトリックになり得、その単一のメトリックが使用されてフィルタが選択され得る（たとえば、メトリック＝アクティビティ＋５＊方向）。
【００５０】
図３に戻ると、ブロック１４０はピクセルの４×４ブロックを表す。この例では、ブロックベースのＡＬＦのためのアクティビティおよび方向のメトリックを計算するために１６個のピクセルのうちの４つのみが使用される。４つのピクセルは、ピクセル１４１と標示されたピクセル（０，０）、ピクセル１４２と標示されたピクセル（２，０）、ピクセル１４３と標示されたピクセル（０，２）、およびピクセル１４４と標示されたピクセル（２，２）である。ピクセル１４１の水平アクティビティ（すなわち、ｈｏｒ＿ａｃｔ（０，０））は、たとえば、左の隣接ピクセルと右の隣接ピクセルとに基づいて判断または決定(determine)される。右の隣接ピクセルは、ピクセル１４５と標示されている。左の隣接ピクセルは、４×４ブロックとは異なるブロック中にあり、図３には示されていない。ピクセル１４２の垂直アクティビティ（すなわちｖｅｒ＿ａｃｔ（２，０））は、たとえば、上の隣接ピクセルと下の隣接ピクセルとに基づいて判断または決定(determine)される。下の隣接ピクセルは、ピクセル１４６と標示されており、上の隣接ピクセルは、４×４ブロックとは異なるブロック中にあり、図３には示されていない。ピクセル１４３および１４４について水平アクティビティおよび垂直アクティビティが同様にして計算され得る。
【００５１】
ＨＥＶＣ規格において現在提案されているように、ＡＬＦは他のループフィルタ（たとえば、デブロッキングおよびＳＡＯ）とともに実行される。フィルタは、将来の参照のために記憶されたビデオデータにビデオコーディングデバイスによってフィルタが適用されるとき、「ループ内」で実行されると言われることがある。このようにして、ループ内フィルタリングされたビデオデータは、後でコーディングされるビデオデータによって参照のために使用され得る。その上、ビデオエンコーダとビデオデコーダの両方が、実質的に同じフィルタリングプロセスを実行するように構成され得る。ループフィルタは、他の順序も使用され得るが、たとえば、デブロッキングの後にＳＡＯが続き、その後にＡＬＦが続くなど、特定の順序で処理され得る。ＨＥＶＣの現在のワーキングドラフトでは、ループフィルタの各々はフレームベースである。しかしながら、ループフィルタのいずれかが（エントロピースライスを含む）スライスレベルにおいてまたはタイルレベルにおいて適用される場合、特殊なハンドリングがスライス境界およびタイル境界において有益であり得る。
【００５２】
図４は、フレームの例示的な複数のタイルを示す概念図である。フレーム１６０は複数の最大コーディングユニット（ＬＣＵ）１６２に分割され得る。２つ以上のＬＣＵが矩形形状タイルにグループ化され得る。タイルベースのコーディングが可能にされたとき、各タイル内のコーディングユニットは、後続の複数のタイルをコーディングする前に一緒にコーディングされる（すなわち、符号化または復号される）。フレーム１６０について示すように、タイル１６１および１６３は、水平に配向され、水平境界と垂直境界の両方を有する。フレーム１７０について示すように、タイル１７１および１７３は、垂直に配向され、水平境界と垂直境界の両方を有する。
【００５３】
図５は、フレームの例示的なスライスを示す概念図である。フレーム１８０は、そのフレームにわたるラスタ走査順序における複数の連続するＬＣＵ（１８２）からなるスライスに分割され得る。いくつかの例では、スライスは、均一な形状（たとえば、スライス１８１）を有し、フレーム中のＬＣＵの１つまたは複数の完全な行を包含し得る。他の例では、スライスは、ラスタ走査順序における特定の数の連続するＬＣＵとして定義され、不均一な形状を呈し得る。たとえば、フレーム１９０は、ラスタ走査順序における１０個の連続するＬＣＵ（１８２）からなるスライス１９１に分割される。フレーム１９０は幅が８ＬＣＵしかなく、次の行における追加の２つのＬＣＵがスライス１９１中に含まれる。
【００５４】
図６は、スライス境界およびタイル境界における適応ループフィルタを示す概念図である。水平スライス境界および／またはタイル境界２０１が水平線として示されており、垂直タイル境界２０２が垂直線として示されている。図３中のフィルタマスク２００の丸は、スライスおよび／またはタイルにおいて再構成されたビデオブロックのピクセルに適用される、フィルタの係数を表す。すなわち、フィルタの係数の値は対応するピクセルの値に適用され得る。フィルタの中心が、フィルタリングされるべきピクセルの位置に（またはそのピクセルに極めて接近して）配置されると仮定すると、フィルタ係数は、その係数の位置とコロケートされるピクセルに対応すると言われることがある。フィルタの係数に対応するピクセルは、「サポートピクセル（supporting pixel）」と呼ばれることもあり、または総称して、フィルタのための「サポートのセット」と呼ばれることもある。フィルタマスク２００中の各係数にそれの対応するピクセルの値を乗算することと、各得られた値を合計することとによって、（中心ピクセルマスク係数Ｃ０に対応する）現在ピクセル２０３のフィルタリングされた値が計算される。
【００５５】
本開示では、「フィルタ」という用語は、概してフィルタ係数のセットを指す。たとえば、３×３フィルタは９つのフィルタ係数のセットによって定義され得、５×５フィルタは２５個のフィルタ係数のセットによって定義され得、９×５フィルタは４５個のフィルタ係数のセットによって定義され得るなどである。図６に示すフィルタマスク２００は、水平方向における７つのフィルタ係数と垂直方向における５つのフィルタ係数とを有する７×５フィルタであるが（各方向について中心フィルタ係数をカウント）、任意の数のフィルタ係数が本開示の技法に適用可能であり得る。「フィルタのセット」という用語は、概して、２つ以上のフィルタのグループを指す。たとえば、２つの３×３フィルタのセットは、９つのフィルタ係数の第１のセットと９つのフィルタ係数の第２のセットとを含むことができる。「フィルタサポート」と呼ばれることがある、「形状」という用語は、概して、特定のフィルタのためのフィルタ係数の行の数とフィルタ係数の列の数とを指す。たとえば、９×９は第１の形状の一例であり、７×５は第２の形状の一例であり、５×９は第３の形状の一例である。いくつかの事例では、フィルタは、ダイヤモンド形状、ダイヤモンド様形状、円形形状、円形様形状、六角形形状、八角形形状、十字形状、Ｘ字形状、Ｔ字形状、他の幾何学的形状を含む、非矩形形状、あるいは多数の他の形状または構成をとり得る。図６中の例は十字形状であるが、他の形状が使用され得る。
【００５６】
本開示は、タイル境界を越える、デブロッキングフィルタリング、ＡＬＦ、およびＳＡＯフィルタリングを含む、ループフィルタリングを制御するための技法を導入する。本開示では、例を使用していくつかの技法について説明する。これらの例は、ＡＬＦなど、１つのタイプのループフィルタリングのみを参照し得るが、本開示の技法はまた、他のタイプのループフィルタに、ならびにループフィルタの様々な組合せに適用され得ることを理解されたい。
【００５７】
ループフィルタリングを制御することの一部として、ビデオエンコーダ２０は、たとえば、１つまたは複数の特定の境界について、あるいはフレーム内またはシーケンス内のすべてのタイルについて、タイル境界を越えるループフィルタリングが可能にされるかどうかを示すシンタックス要素の値をコード化されたビットストリーム中に含め得る。いくつかの例では、ビデオエンコーダ２０は、追加のシグナリングされた値をビットストリーム中でシグナリングすることによって、タイル境界横断ループフィルタリング演算のより細かい制御を用い得る。たとえば、第１のシンタックス要素が、タイル境界横断ループフィルタリング演算が許可されることを示すとき、ビデオエンコーダ２０は、タイル境界横断ループフィルタリング演算が水平タイル境界および／または垂直タイル境界について許可される（または許可されない）かどうかを示す追加の値をビットストリーム中でシグナリングし得る。別の例として、第１の値が、タイル境界横断ループフィルタリング演算が許可されることを示すとき、ビデオエンコーダ２０は、ループフィルタリング演算がどのタイル境界について許可される（または許可されない）かを具体的に識別するための追加の値をビットストリーム中でシグナリングし得る。たとえば、特定のタイル境界は、タイル境界に隣接する複数のタイルの１つまたは複数のタイルインデックスを使用して識別され得る。別の例では、ビデオエンコーダ２０は、ビットストリーム中に一連のフラグを含め得、各フラグは特定の境界に対応し、フラグの値は、その特定の境界を越えるタイル境界横断ループフィルタリング演算が許可されるかどうかを示す。追加または代替として、いくつかの例では、タイル境界横断予測が、スライスが接するタイル境界について許可される（または許可されない）かどうかを示す値がスライスヘッダ中でシグナリングされ得る。
【００５８】
上記で説明したように、いくつかのシナリオでは、タイル境界を越えるループフィルタリングが不能にされ得る。タイル境界を越えるループフィルタリングが不能にされ得ることの１つの理由は、隣接する複数のタイル中のピクセルが、まだコーディングされていないことがあり、したがって、いくつかのフィルタマスクとともに使用するために利用不可能になるからである。タイル境界を越えるループフィルタリングが不能にされる事例では、タイル境界を横断しないループフィルタリング演算は依然として実行され得る。これらの場合、利用不可能なピクセル（すなわち、現在スライスまたはタイルからスライス境界またはタイル境界の反対側にあるピクセル）のためにパディングされたデータが使用され得、フィルタリングは実行され得る。
【００５９】
さらに、本開示は、パディングされたデータを使用せずに、タイル横断ループフィルタリングが不能にされるとき、タイル境界を越えるＡＬＦを実行するための技法を提案する。概して、本開示は、タイル境界の周辺で部分フィルタを使用することを提案する。部分フィルタは、フィルタリングプロセスのために一般に使用される１つまたは複数のフィルタ係数を使用しないフィルタである。一例では、本開示は、少なくともタイル境界の反対側のピクセルに対応するフィルタ係数が使用されない、部分フィルタを使用することを提案し、ただし、反対側は、概して、フィルタリングされているピクセルまたはピクセルのグループがそこから位置する境界を越えて位置する、タイル境界の側を指す。
【００６０】
図７および図８に、少なくとも１つのタイル境界にまたがるフィルタマスクの例を示す。タイル境界横断ループフィルタリングが特定のタイル境界について可能にされるとき、示されたすべてのフィルタサポート位置（すなわち、図７および図８中の黒丸と白丸の両方に対応するフィルタサポート位置）がフィルタリング演算のために使用され得る。タイル境界横断ループフィルタリングが特定のタイル境界について不能にされるとき、タイル境界を越えているフィルタサポート位置（すなわち、図７および図８中の白丸に対応するフィルタサポート位置）はループフィルタ演算のために使用されないが、タイル境界を横断しないフィルタサポート位置（すなわち、図７および図８中の黒丸に対応するフィルタサポート位置）は使用され得る。
【００６１】
一例では、非対称部分フィルタがタイル境界の近くで使用され得る。図７は、水平境界における非対称部分フィルタを示す概念図である。図８は、垂直境界における非対称部分フィルタを示す概念図である。この手法では、タイル境界を越えるフィルタリングが不能にされる場合、利用可能なピクセル（すなわち、現在タイル内のピクセル）のみがフィルタリングのために使用される。タイル境界外のフィルタタップはスキップされる。したがって、パディングされたピクセルデータは使用されない。図７および図８中のフィルタは、フィルタマスクの中心の一方の側（水平側または垂直側のいずれか）で使用されるフィルタタップが他方の側よりも多いので、非対称と呼ばれる。フィルタマスク全体は使用されないので、フィルタ係数は、所望の結果を生成するために再正規化され得る。再正規化のための技法について以下でより詳細に説明する。
【００６２】
図７のケース１では、フィルタマスク２２０の中心が、水平タイル境界からピクセルの１つの行離れている。フィルタマスク２２０は７×５フィルタであるので、垂直方向における１つのフィルタ係数が、水平境界を越えているピクセルに対応する。このフィルタ係数は白で示されている。タイル境界横断ループフィルタリングが可能にされる場合、タイル境界を越えているピクセルはループフィルタリング演算のために使用され得る。タイル境界横断ループフィルタリングが不能される場合、白いフィルタ係数に対応するピクセルはフィルタリングにおいて使用されないことがある。
【００６３】
同様に、ケース２では、フィルタマスク２２５の中心が、水平タイル境界に隣接するピクセルの行上にある。この場合、２つのフィルタ係数が、水平境界を越えているピクセルに対応する。したがって、タイル境界横断ループフィルタリングが不能にされる場合、フィルタマスク２２５中の２つの白いフィルタ係数のいずれもループフィルタリングのために使用されない。タイル境界横断ループフィルタリングが可能にされる場合、タイル境界を越えているピクセルとそれらの対応するフィルタ係数の両方がループフィルタリング演算のために使用され得る。ケース１とケース２の両方において、タイル境界横断ループフィルタリングが可能にされるのか不能にされるのかにかかわらず、すべての黒いフィルタ係数が使用される。
【００６４】
図８のケース３では、フィルタマスク２３４の中心が、垂直タイル境界からピクセルの２つの列離れている。フィルタマスク２３４は７×５フィルタであるので、水平方向における１つのフィルタ係数が、垂直境界を越えているピクセルに対応する。ここでも、このフィルタ係数は白で示されている。タイル境界横断ループフィルタリングが可能にされる場合、タイル境界を越えているピクセルおよびそれの対応するフィルタ係数がループフィルタリング演算のために使用され得る。タイル境界横断ループフィルタリングが不能にされる場合、タイル境界を越えているピクセルおよびそれの対応するフィルタ係数はフィルタリングにおいて使用されないことがある。
【００６５】
同様に、ケース４では、フィルタマスク２３２の中心が、垂直タイル境界からピクセルの１つの列離れている。この場合、２つのフィルタ係数が、垂直境界を越えているピクセルに対応する。タイル境界横断ループフィルタリングが可能にされる場合、タイル境界を越えている２つピクセルおよびそれらの対応するフィルタ係数がループフィルタリング演算のために使用され得る。タイル境界横断ループフィルタリングが不能にされる場合、タイル境界を越えている２つのピクセルおよびそれらの対応するフィルタ係数はフィルタリングにおいて使用されないことがある。
【００６６】
ケース５では、フィルタマスク２３０の中心が、垂直タイル境界に隣接するピクセルの列上にある。この場合、３つのフィルタ係数が、垂直境界を越えているピクセルに対応する。タイル境界横断ループフィルタリングが可能にされる場合、タイル境界を越えている３つピクセルおよびそれらの対応するフィルタ係数がループフィルタリング演算のために使用され得る。タイル境界横断ループフィルタリングが不能にされる場合、タイル境界を越えている３つのピクセルおよびそれらの対応するフィルタ係数はフィルタリングにおいて使用されないことがある。ケース３、４、および５のすべてにおいて、すべての黒いフィルタ係数が、タイル境界横断ループフィルタリングが可能にされるのか不能にされるのかにかかわらず使用される。
【００６７】
別の例では、タイル境界横断ループフィルタリングが不能にされるとき、対称部分フィルタがタイル境界の近くに使用され得る。図９は、水平境界における対称部分フィルタを示す概念図である。図１０は、垂直境界における対称部分フィルタを示す概念図である。図７および図８に示したような非対称部分フィルタの場合と同様に、この手法では、タイル境界横断ループフィルタリングが不能にされるとき、タイル境界を越えているピクセルおよびそれらの対応するフィルタ係数はループフィルタリング演算のために使用されないが、また、対称的フィルタマスクを保持するために、タイル境界を越えていないピクセルに対応するフィルタマスクのいくつかの係数も使用されない。
【００６８】
たとえば、図９のケース６では、フィルタマスク２４０中の１つのフィルタ係数が水平スライス境界またはタイル境界を越えている。タイル境界横断ループフィルタリングが不能にされるとき、フィルタマスクの反対側の、水平境界内の対応するフィルタ係数も使用されない。このようにして、中心係数の周りの垂直方向における係数の対称構成が保持される。図９のケース７では、フィルタマスク２４２中の２つのフィルタ係数が水平境界を越えている。タイル境界横断ループフィルタリングが不能にされるとき、水平境界内の中心フィルタ係数の反対側の対応する２つのフィルタ係数も使用されない。垂直タイル境界について同様の例が図１０に示されている。ケース８では、１つのフィルタ係数が、垂直タイル境界を越えるピクセルに対応する。タイル境界横断ループフィルタリングが不能にされるとき、この係数、ならびにフィルタマスク２５０の水平部分の左側における別のピクセルは使用されない。２つの（ケース９）および４つの（ケース１０）フィルタ係数が、垂直境界を越えているピクセルに対応するケースにおいて、フィルタマスク２５２および２５４のために同様のフィルタマスク調整が行われる。
【００６９】
図７および図８に示した非対称部分フィルタと同様に、タイル境界横断ループフィルタリングが不能にされるとき、対称部分フィルタのためにフィルタマスク全体は使用されない。したがって、フィルタ係数は再正規化され得る。再正規化のための技法について以下でより詳細に説明する。タイル境界横断ループフィルタリングが可能にされる事例では、図９および図１０に示したすべてのフィルタ係数（すなわち、白いフィルタ係数と黒いフィルタ係数の両方）が、ループフィルタリング演算を実行するために使用され得る。
【００７０】
部分フィルタ（たとえば、非対称部分フィルタまたは対称部分フィルタ）を適用すべきか否かは適応決定であり得る。図７および図９に示した例では、部分フィルタが、ケース２およびケース７のためにではなく、ケース１およびケース６のために使用され得る。未使用フィルタ係数の数がより大きいので、ケース２およびケース７のために部分フィルタを使用することは好ましくないことがある。代わりに、以下で説明する他の技法（たとえば、ミラーパディング、フィルタリングのスキップなど）がケース２およびケース７のために使用され得る。同様に、図８および図１０に示した例では、部分フィルタリングの使用は、ケース５および１０のためにではなく、ケース３、４、８、および９のために適用可能であり得る。
【００７１】
部分フィルタを使用するという決定は他の基準にも基づき得る。たとえば、対応するピクセルが利用可能でない係数の数が何らかのしきい値よりも大きいとき、部分フィルタは使用されないことがある。対応するピクセルが利用可能でない係数値の和が何らかのしきい値よりも大きいとき、部分フィルタは使用されないことがある。別の例として、対応するピクセルが利用可能でない係数値の絶対値の和が何らかのしきい値よりも大きいとき、部分フィルタは使用されないことがある。
【００７２】
・一致するピクセルが利用可能でない係数の数＞Ｔｈ１
・Ｓｕｍ（一致するピクセルが利用可能でない係数）＞Ｔｈ２
・Ｓｕｍ（ａｂｓ（一致するピクセルが利用可能でない係数））＞Ｔｈ３
タイル境界の特定のスライスのための部分フィルタを適用すべきかどうかを決定するために、上記の条件のサブセットが選択され得る。
【００７３】
本開示の別の例では、水平タイル境界のみについて部分フィルタリングが可能にされ得るが、垂直境界においては、ループフィルタリングは完全にスキップされる。より詳細には、一例では、ビデオコーダが、フィルタマスクが垂直タイル境界の反対側のピクセルを使用することになると判断または決定(determine)した場合、ループフィルタリングはそのピクセルについてスキップされることになる。他の例では、ビデオコーダが、フィルタマスクがコーディングユニット中の１つまたは複数のピクセルのために垂直タイル境界の反対側のピクセルを使用することになると判断または決定(determine)した場合、ＡＬＦはコーディングユニット全体についてスキップされることになる。本開示の別の例では、すべての境界において、ＡＬＦは完全にスキップされ得る。
【００７４】
本開示の他の例では、部分フィルタリングが使用されないとき、追加の技法がタイル境界において適用され得る。一例では、ＡＬＦは、繰り返してパディングされたピクセルを使用するのではなく、スライス境界またはタイル境界の反対側のミラーリングされたパディングされたピクセルを使用し得る。ミラーリングされたピクセルは、スライス境界またはタイル境界の内側のピクセル値を反映する。たとえば、利用不可能なピクセルがタイル境界またはスライス境界に隣接する場合、それは、同じくその境界に隣接する、タイル境界またはスライス境界の内側のピクセルの値（すなわち、ミラー）をとることになる。同様に、利用不可能なピクセルが、タイル境界またはスライス境界から１行または１列離れている場合、それは、同じくその境界から１行または１列離れている、タイル境界またはスライス境界の内側のピクセルの値（すなわち、ミラー）をとることになり、以下同様である。
【００７５】
別の例では、タイル境界またはスライス境界の反対側のピクセルのためのフィルタリングされた値は、ａ＊パディングされたデータを使用するＡＬＦ＋ｂ＊事前フィルタリングされた出力、という式に従って計算され得、上式でａ＋ｂ＝１である。すなわち、パディングされたピクセル（すなわち、スライス境界またはタイル境界の反対側に追加されたピクセル）に、パディングされたピクセルに対応するＡＬＦ係数を乗算し、定数「ａ」を乗算する。この値は、次いで、事前フィルタリングされたパディングされたピクセル値と定数「ｂ」との乗算に加算され、上式でａ＋ｂ＝１である。
【００７６】
対称および非対称部分フィルタのためのフィルタ係数の再正規化は、異なる方法で達成され得る。元のフィルタ係数がＣ＿１，．．．，Ｃ＿Ｎと標示され、Ｃが特定の係数の値である例について考えられたい。次に、Ｃ＿１，．．．，Ｃ＿Ｍ係数が、利用可能な対応するピクセルを有しない（すなわち、対応するピクセルがスライス境界またはタイル境界を越えている）と仮定されたい。再正規化されたフィルタ係数は以下のように定義され得る。
【００７７】
例１
【数４】
0006054407.tif 000005
【００７８】
例１では、Ｃｏｅｆｆ＿ａｌｌは、互いに合計されたフィルタマスク中のすべての係数の値を表す。Ｃｏｅｆｆ＿ｐａｒｔは、部分フィルタマスク中のすべての係数の値を表す。すなわち、利用不可能なピクセルに対応する係数の合計された値（Ｃ＿１＋．．．＋Ｃ＿Ｍ）がフィルタマスク中のすべての考えられる係数の和（Ｃｏｅｆｆ＿ａｌｌ）から減算される。Ｎｅｗ＿ｃｏｅｆｆｓ＿Ｃｉ’は、再正規化プロセスの後の部分係数におけるフィルタ係数の値を表す。上記の例１では、部分フィルタ中に残っている係数の値にフィルタマスク中のすべての考えられる係数の合計値（Ｃｏｅｆｆ＿ａｌｌ）を乗算し、それを部分フィルタマスク中のすべての係数の合計値（Ｃｏｅｆｆ＿ｐａｒｔ）で除算する。
【００７９】
以下の例２に、部分フィルタ中のフィルタ係数を再正規化するための別の技法を示す。
【００８０】
例２
Ｃ＿ｉ、ｉ＝Ｍ＋１，．．．，Ｎのサブセットについて、Ｃ＿ｋ、ｋ＝１，．．．，Ｍを加算する
たとえば、
【数５】
0006054407.tif 000006
【００８１】
図１１は、本開示で説明するビデオコーディングプロセスにおける、タイル境界を越えるループフィルタリングを制御するための技法を使用し得るビデオエンコーダ２０の一例を示すブロック図である。ビデオエンコーダ２０について、例示のためにＨＥＶＣコーディングのコンテキストにおいて説明するが、適応ループフィルタリングを必要とし得る他のコーディング規格または方法に関して本開示を限定するものではない。ビデオエンコーダ２０は、ビデオフレーム内のＣＵのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレーム内のビデオデータの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの現在フレームと前にコーディングされたフレームとの間の時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースのビデオ圧縮モードのいずれかを指すことがある。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースのビデオ圧縮モードのいずれかを指すことがある。
【００８２】
図１１に示すように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在ビデオブロックを受信する。図１１の例では、ビデオエンコーダ２０は、動き補償ユニット４４と、動き推定ユニット４２と、イントラ予測モジュール４６と、参照フレームバッファ６４と、加算器５０と、変換モジュール５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。図１１に示す変換モジュール５２は、残差データのブロックに実際の変換または変換の組合せを適用するユニットであり、ＣＵの変換ユニット（ＴＵ）と呼ばれることもある変換係数のブロックと混同されるべきでない。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換モジュール６０と、加算器６２と、デブロッキングフィルタ５３と、ＳＡＯユニット５５と、ＡＬＦユニット５７とを含む。デブロッキングフィルタ５３は、復元されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタリングし得る。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタリングすることになる。
【００８３】
符号化プロセス中に、ビデオエンコーダ２０は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロック、たとえば、最大コーディングユニット（ＬＣＵ）に分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を行うために、１つまたは複数の参照フレーム中の１つまたは複数のブロックに対して受信されたビデオブロックのインター予測コーディングを実行する。イントラ予測モジュール４６は、空間圧縮を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対して受信されたビデオブロックのイントラ予測コーディングを実行し得る。
【００８４】
モード選択ユニット４０は、たとえば、各モードについてのレートひずみ結果に基づいて、コーディングモードのうちの１つ、すなわち、イントラまたはインターを選択し得、得られたイントラまたはインター予測ブロック（たとえば、予測ユニット（ＰＵ））を、残差ブロックデータを生成するために加算器５０に与え、参照フレーム中で使用する符号化ブロックを再構成するために加算器６２に与える。加算器６２は、以下でより詳細に説明するように、予測ブロックを、そのブロックについての、逆変換モジュール６０からの逆量子化され逆変換されたデータと合成して、符号化ブロックを再構成する。いくつかのビデオフレームはＩフレームに指定され得、Ｉフレーム中のすべてのブロックはイントラ予測モードで符号化される。場合によっては、たとえば、動き推定ユニット４２によって実行された動き探索によって得られたブロックの予測が不十分であったとき、イントラ予測モジュール４６は、ＰフレームまたはＢフレーム中のブロックのイントラ予測符号化を実行し得る。
【００８５】
動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定（または動き探索）は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照フレームの参照サンプルに対する、現在フレーム中の予測ユニットの変位を示し得る。動き推定ユニット４２は、予測ユニットを参照フレームバッファ６４に記憶された参照フレームの参照サンプルと比較することによってインターコード化されたフレームの予測ユニットの動きベクトルを計算する。参照サンプルは、絶対値差分和（ＳＡＤ）、２乗差分和（ＳＳＤ）、または他の差分メトリックによって判断または決定(determine)され得るピクセル差分に関して、コーディングされているＰＵを含むＣＵの部分にぴったり一致することがわかるブロックであり得る。参照サンプルは、参照フレームまたは参照スライス内のどこにでも発生し得、必ずしも、参照フレームまたはスライスのブロック（たとえば、コーディングユニット）境界において発生するとは限らない。いくつかの例では、参照サンプルは分数ピクセル位置において発生し得る。
【００８６】
動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。動きベクトルによって識別される参照フレームの部分は参照サンプルと呼ばれることがある。動き補償ユニット４４は、たとえば、ＰＵの動きベクトルによって識別される参照サンプルを取り出すことによって、現在ＣＵの予測ユニットについての予測値を計算し得る。
【００８７】
イントラ予測モジュール４６は、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、受信ブロックをイントラ予測し得る。イントラ予測モジュール４６は、隣接する、前にコーディングされたブロック、たとえば、ブロックについての左から右へ、上から下への符号化順序を仮定すると、現在ブロックの上、右上、左上、または左のブロックに対して受信ブロックを予測し得る。イントラ予測モジュール４６は多種多様なイントラ予測モードで構成され得る。たとえば、イントラ予測モジュール４６は、符号化されているＣＵのサイズに基づいて、一定数の方向性予測モード、たとえば、３５個の方向性予測モードで構成され得る。
【００８８】
イントラ予測モジュール４６は、たとえば、様々なイントラ予測モードの誤差値を計算し、最も低い誤差値を生じるモードを選択することによって、イントラ予測モードを選択し得る。方向性予測モードは、空間的に隣接するピクセルの値を合成し、その合成された値をＰＵ中の１つまたは複数のピクセル位置に適用するための機能を含み得る。ＰＵ中のすべてのピクセル位置の値が計算されると、イントラ予測モジュール４６は、ＰＵと符号化されるべき受信ブロックとの間のピクセル差分に基づいて予測モードの誤差値を計算し得る。イントラ予測モジュール４６は、許容できる誤差値を生じるイントラ予測モードが発見されるまでイントラ予測モードをテストし続け得る。イントラ予測モジュール４６は、次いで、ＰＵを加算器５０に送り得る。
【００８９】
ビデオエンコーダ２０は、コーディングされている元のビデオブロックから、動き補償ユニット４４またはイントラ予測モジュール４６によって計算された予測データを減算することによって残差ブロックを形成する。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。残差ブロックはピクセル差分値の２次元行列に対応し得、残差ブロック中の値の数は、残差ブロックに対応するＰＵ中のピクセルの数と同じである。残差ブロック中の値は、ＰＵ中のコロケートピクセルの値と、コーディングされるべき元のブロック中のコロケートピクセルの値との間の差分、すなわち、誤差に対応し得る。差分は、コーディングされるブロックのタイプに応じてクロマ差分またはルーマ差分であり得る。
【００９０】
変換モジュール５２は、残差ブロックから１つまたは複数の変換ユニット（ＴＵ）を形成し得る。変換モジュール５２は、複数の変換の中から変換を選択する。変換は、ブロックサイズ、コーディングモードなど、１つまたは複数のコーディング特性に基づいて選択され得る。変換モジュール５２は、次いで、選択された変換をＴＵに適用して、変換係数の２次元アレイを備えるビデオブロックを生成する。変換モジュール５２は、選択された変換パーティションを符号化ビデオビットストリーム中でシグナリングし得る。
【００９１】
変換モジュール５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、次いで、その変換係数を量子化し得る。エントロピー符号化ユニット５６が、次いで、走査モードに従って、行列中の量子化された変換係数の走査を実行し得る。本開示では、エントロピー符号化ユニット５６が走査を実行するものとして説明する。ただし、他の例では、量子化ユニット５４などの他の処理ユニットが走査を実行し得ることを理解されたい。
【００９２】
変換係数が１次元アレイに走査されると、エントロピー符号化ユニット５６は、ＣＡＶＬＣ、ＣＡＢＡＣ、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、または別のエントロピーコーディング方法などのエントロピーコーディングを係数に適用し得る。
【００９３】
ＣＡＶＬＣを実行するために、エントロピー符号化ユニット５６は、送信されるべきシンボルの可変長コードを選択し得る。ＶＬＣのコードワードは、相対的により短いコードがより可能性が高いシンボルに対応し、より長いコードがより可能性が低いシンボルに対応するように構築され得る。このようにして、ＶＬＣの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。
【００９４】
ＣＡＢＡＣを実行するために、エントロピー符号化ユニット５６は、送信されるべきシンボルを符号化するために、あるコンテキストに適用すべきコンテキストモデルを選択し得る。コンテキストは、たとえば、隣接値が非０であるか否かに関係し得る。エントロピー符号化ユニット５６はまた、選択された変換を表す信号など、シンタックス要素をエントロピー符号化し得る。本開示の技法によれば、エントロピー符号化ユニット５６は、コンテキストモデル選択のために使用されるファクタの中でも、たとえば、イントラ予測モードのためのイントラ予測方向、シンタックス要素に対応する係数の走査位置、ブロックタイプ、および／または変換タイプに基づいて、これらのシンタックス要素を符号化するために使用されるコンテキストモデルを選択し得る。
【００９５】
エントロピー符号化ユニット５６によるエントロピーコーディングの後に、得られた符号化ビデオは、ビデオデコーダ３０などの別のデバイスに送信されるか、あるいは後で送信するかまたは取り出すためにアーカイブされ得る。
【００９６】
場合によっては、エントロピー符号化ユニット５６またはビデオエンコーダ２０の別のユニットは、エントロピーコーディングに加えて、他のコーディング機能を実行するように構成され得る。たとえば、エントロピー符号化ユニット５６は、ＣＵおよびＰＵのコード化されたブロックパターン（ＣＢＰ）値を判断または決定(determine)するように構成され得る。また、場合によっては、エントロピー符号化ユニット５６は係数のランレングスコーディングを実行し得る。
【００９７】
逆量子化ユニット５８および逆変換モジュール６０は、それぞれ逆量子化および逆変換を適用して、たとえば参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを参照フレームバッファ６４のフレームのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器６２は、再構成された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、再構成されたビデオブロックを生成する。
【００９８】
加算器６２は、残差ブロックを、動き補償ユニット４４またはイントラ予測モジュール４６によって生成される対応する予測ブロックと合成して、復号ブロックを形成する。ループフィルタ（デブロッキングフィルタ５３、ＳＡＯユニット５５、およびＡＬＦユニット５７）は、次いで、上記で説明した技法によるループフィルタリングを実行する。特に、ループフィルタリング演算は、いくつかの複数のタイルについてはタイル境界を越えて許可され得、いくつかの複数のタイルについては、タイル境界を越えて実行されることが許可されないことがある。タイル境界を越えるループフィルタリング演算が許可されるかどうかを示すシンタックス要素が符号化ビデオビットストリーム中に含められ得る。
【００９９】
ループフィルタリングの後に、フィルタリングされた再構成されたビデオブロックは、次いで参照フレームバッファ６４に記憶される。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。
【０１００】
図１２は、符号化ビデオシーケンスを復号するビデオデコーダ３０の一例を示すブロック図である。図１２の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測モジュール７４と、逆量子化ユニット７６と、逆変換ユニット７８と、参照フレームバッファ８２と、デブロッキングフィルタ７５と、ＳＡＯユニット７７と、ＡＬＦユニット７９と、加算器８０とを含む。ビデオデコーダ３０は、いくつかの例では、ビデオエンコーダ２０（図１１参照）に関して説明した符号化パスとは概して逆の復号パスを実行し得る。
【０１０１】
エントロピー復号ユニット７０は、変換係数の１次元アレイを取り出すために、符号化ビットストリームに対してエントロピー復号プロセスを実行する。使用されるエントロピー復号プロセスは、ビデオエンコーダ２０によって使用されたエントロピーコーディング（たとえば、ＣＡＢＡＣ、ＣＡＶＬＣなど）に依存する。エンコーダによって使用されたエントロピーコーディングプロセスは、符号化ビットストリーム中でシグナリングされるか、または所定のプロセスであり得る。
【０１０２】
いくつかの例では、エントロピー復号ユニット７０（または逆量子化ユニット７６）は、ビデオエンコーダ２０のエントロピー符号化ユニット５６（または量子化ユニット５４）によって使用された走査モードをミラーリングする走査を使用して受信値を走査し得る。係数の走査は逆量子化ユニット７６において実行され得るが、走査については、例示のために、エントロピー復号ユニット７０によって実行されるものとして説明する。さらに、説明しやすいように別個の機能ユニットとして示されているが、ビデオデコーダ３０のエントロピー復号ユニット７０、逆量子化ユニット７６、および他のユニットの構造および機能は互いに高度に統合され得る。
【０１０３】
逆量子化ユニット７６は、ビットストリーム中で与えられ、エントロピー復号ユニット７０によって復号された、量子化変換係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、たとえば、ＨＥＶＣのために提案されたプロセスまたはＨ．２６４復号規格によって定義されたプロセスと同様の、従来のプロセスを含み得る。逆量子化プロセスは、量子化の程度を判断または決定(determine)し、同様に、適用されるべき逆量子化の程度を判断または決定(determine)するための、ＣＵについてビデオエンコーダ２０によって計算される量子化パラメータＱＰの使用を含み得る。逆量子化ユニット７６は、係数が１次元アレイから２次元アレイに変換される前または変換された後に変換係数を逆量子化し得る。
【０１０４】
逆変換モジュール７８は、逆量子化された変換係数に逆変換を適用する。いくつかの例では、逆変換モジュール７８は、ビデオエンコーダ２０からのシグナリングに基づいて、あるいはブロックサイズ、コーディングモードなどの１つまたは複数のコーディング特性から変換を推論することによって、逆変換を判断または決定(determine)し得る。いくつかの例では、逆変換モジュール７８は、現在ブロックを含むＬＣＵのための４分木のルートノードにおけるシグナリングされた変換に基づいて、現在ブロックに適用すべき変換を判断または決定(determine)し得る。代替的に、変換は、ＬＣＵ４分木中のリーフノードＣＵのためのＴＵ４分木のルートにおいてシグナリングされ得る。いくつかの例では、逆変換モジュール７８は、逆変換モジュール７８が、復号されている現在ブロックの変換係数に２つ以上の逆変換を適用する、カスケード逆変換を適用し得る。
【０１０５】
イントラ予測モジュール７４は、シグナリングされたイントラ予測モードと、現在フレームの前に復号されたブロックからのデータとに基づいて、現在フレームの現在ブロックについての予測データを生成し得る。
【０１０６】
取り出された動き予測方向、参照フレームインデックス、および計算された現在動きベクトルに基づいて、動き補償ユニットは現在部分の動き補償ブロックを生成する。これらの動き補償ブロックは、本質的に、残差データを生成するために使用される予測ブロックを再現する。
【０１０７】
動き補償ユニット７２は、動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行し得る。サブピクセル精度をもつ動き推定に使用されるべき補間フィルタの識別子は、シンタックス要素中に含まれ得る。動き補償ユニット７２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。動き補償ユニット７２は、受信されたシンタックス情報に従って、ビデオエンコーダ２０によって使用された補間フィルタを判断または決定(determine)し、その補間フィルタを使用して予測ブロックを生成し得る。
【０１０８】
さらに、動き補償ユニット７２およびイントラ予測モジュール７４は、ＨＥＶＣの例では、（たとえば、４分木によって与えられる）シンタックス情報の一部を使用して、符号化ビデオシーケンスの（１つまたは複数の）フレームを符号化するために使用されたＬＣＵのサイズを判断または決定(determine)し得る。動き補償ユニット７２およびイントラ予測モジュール７４はまた、シンタックス情報を使用して、符号化ビデオシーケンスのフレームの各ＣＵがどのように分割されるか（および、同様に、サブＣＵがどのように分割されるか）を記述する分割情報を判断または決定(determine)し得る。シンタックス情報はまた、各分割がどのように符号化されるかを示すモード（たとえば、イントラまたはインター予測、およびイントラ予測の場合はイントラ予測符号化モード）と、各インター符号化ＰＵについての１つまたは複数の参照フレーム（および／またはそれらの参照フレームの識別子を含んでいる参照リスト）と、符号化ビデオシーケンスを復号するための他の情報とを含み得る。
【０１０９】
加算器８０は、残差ブロックを、動き補償ユニット７２またはイントラ予測モジュール７４によって生成される対応する予測ブロックと合成して、復号ブロックを形成する。ループフィルタ（デブロッキングフィルタ７５、ＳＡＯユニット７７、およびＡＬＦユニット７９）は、次いで、上記で説明した技法によるループフィルタリングを実行する。特に、符号化ビットストリーム中のシンタックス要素は、いくつかのタイルについては、タイル境界を越えるループフィルタリング演算が実行されることを許可し得、いくつかのタイルについては、タイル境界を越えるループフィルタリング演算が実行されることを許可しないことがある。
【０１１０】
本開示の技法による、タイル境界を越えるループ内フィルタリングを制御するための例示的なシンタックスおよびセマンティクスについて次に説明する。ビデオエンコーダ２０は、たとえば、説明するシンタックス要素を含むコード化されたビデオデータのビットストリームを生成するように構成され得、ビデオデコーダ３０は、そのようなシンタックス要素をパースするように構成され得る。以下の表１は、本開示で説明するシンタックス要素がシーケンスパラメータセット中にどのように実装され得るかについての例を示す。以下の表２は、本開示で説明するシンタックス要素がピクチャパラメータセット中にどのように実装され得るかについての例を示す。
【表１】
0006054407.tif 000007
【表２】
0006054407.tif 000008
【０１１１】
上記の例では、０に等しいシンタックス要素「ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｌｏｏｐ＿ｆｉｌｔｅｒｉｎｇ＿ｉｄｃ」は、すべてのタイル境界を越える、デブロッキングループフィルタリング、ＡＬＦ、およびＳＡＯを含む、ループフィルタリング演算が許可されないことを指定し得る。１に等しいシンタックス要素「ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｌｏｏｐ＿ｆｉｌｔｅｒｉｎｇ＿ｉｄｃ」は、すべてのタイル境界を越えるループフィルタリング演算が許可されることを指定し得る。２に等しいシンタックス要素「ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｌｏｏｐ＿ｆｉｌｔｅｒｉｎｇ＿ｉｄｃ」は、ループフィルタリング演算の許可がシンタックス要素「ｖｅｒｔｉｃａｌ＿ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｌｏｏｐ＿ｆｉｌｔｅｒｉｎｇ＿ｆｌａｇ［ｉ］」と「ｈｏｒｉｚｏｎｔａｌ＿ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｌｏｏｐ＿ｆｉｌｔｅｒｉｎｇ＿ｆｌａｇ［ｉ］」とによって指定されることを示し得る。これらの値は、一例にすぎず、他の例では変更され得る。
【０１１２】
０に等しいシンタックス要素「ｖｅｒｔｉｃａｌ＿ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｌｏｏｐ＿ｆｉｌｔｅｒｉｎｇ＿ｆｌａｇ［ｉ］」は、ｉ＋１に等しいインデックス値をもつ垂直タイル境界を越えるループフィルタリング演算が許可されることを指定し得る。垂直タイル境界インデックスは、左側垂直ピクチャ境界について０であり、垂直タイル境界ごとに１だけ増加されて、左から右にカウントされる。１に等しいシンタックス要素「ｖｅｒｔｉｃａｌ＿ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｌｏｏｐ＿ｆｉｌｔｅｒｉｎｇ＿ｆｌａｇ［ｉ］」は、ｉ＋１に等しいインデックス値をもつ垂直タイル境界を越える、デブロッキングループフィルタリング、ＡＬＦ、およびＳＡＯを含む、ループフィルタリング演算が許可されないことを指定し得る。
【０１１３】
０に等しいシンタックス要素「ｈｏｒｉｚｏｎｔａｌ＿ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｌｏｏｐ＿ｆｉｌｔｅｒｉｎｇ＿ｆｌａｇ［ｉ］」は、ｉ＋１に等しいインデックス値をもつ水平タイル境界を越えるループフィルタリング演算が許可されることを指定し得る。一例では、水平タイル境界インデックスは、上側水平ピクチャ境界について０であり、水平タイル境界ごとに１だけ増加されて、上から下にカウントされ得る。１に等しいシンタックス要素「ｈｏｒｉｚｏｎｔａｌ＿ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｌｏｏｐ＿ｆｉｌｔｅｒｉｎｇ＿ｆｌａｇ［ｉ］」は、ｉ＋１に等しいインデックス値をもつ水平タイル境界を越えるループフィルタリング演算が許可されないことを指定し得る。
【０１１４】
例示的な復号プロセスでは、シンタックス要素「ｈｏｒｉｚｏｎｔａｌ＿ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｌｏｏｐ＿ｆｉｌｔｅｒｉｎｇ＿ｆｌａｇ」および「ｖｅｒｔｉｃａｌ＿ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｌｏｏｐ＿ｆｉｌｔｅｒｉｎｇ＿ｆｌａｇ」が１に等しいとき、通常のフィルタリング演算が実行され得る。シンタックス要素「ｈｏｒｉｚｏｎｔａｌ＿ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｌｏｏｐ＿ｆｉｌｔｅｒｉｎｇ＿ｆｌａｇ」または「ｖｅｒｔｉｃａｌ＿ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｌｏｏｐ＿ｆｉｌｔｅｒｉｎｇ＿ｆｌａｇ」が０に等しい場合、水平境界または垂直境界を越えるループ内フィルタリング演算は不能にされ得る。境界の近くのＡＬＦ演算では、境界を越えているピクセルへのアクセスが必要とされ得、これは、パディングされたピクセルで時々代用され、これにより、フィルタリングされたとき、境界ピクセルにわたって視覚的品質が劣化し得る。したがって、上記で説明したように、境界を越えるＡＬＦフィルタリング演算の代替方法が使用され得る。
【０１１５】
別の例では、シンタックス要素「ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｌｏｏｐ＿ｆｉｌｔｅｒｉｎｇ＿ｉｄｃ」は１ビットでコーディングされ得、０に等しいときには、前の例の場合のように、０に等しいシンタックス要素「ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｌｏｏｐ＿ｆｉｌｔｅｒｉｎｇ＿ｉｄｃ」と同じセマンティクスを有し、１に等しいときには、０に等しいシンタックス要素「ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｌｏｏｐ＿ｆｉｌｔｅｒｉｎｇ＿ｉｄｃ」と同じセマンティクスを有し、シンタックス要素「ｖｅｒｔｉｃａｌ＿ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｌｏｏｐ＿ｆｉｌｔｅｒｉｎｇ＿ｆｌａｇ［ｉ］」および「ｈｏｒｉｚｏｎｔａｌ＿ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｌｏｏｐ＿ｆｉｌｔｅｒｉｎｇ＿ｆｌａｇ［ｉ］」は存在しない。言い換えれば、ループフィルタリング演算は、水平タイル境界と垂直タイル境界の両方について許可されるか、または水平タイル境界と垂直タイル境界の両方について許可されないかのいずれかであり得る。
【０１１６】
一例では、ループフィルタリング演算が許可されないタイル境界が明示的にシグナリングされ得、他のタイル境界を越えるループフィルタリング演算は許可され得る。代替として、ループフィルタリング演算が許可されるタイル境界が明示的にシグナリングされ得、他のタイル境界を越えるループフィルタリング演算は許可されないことがある。一例では、２つの隣接するタイル間の各タイル境界について、タイル境界を越えるループフィルタリング演算が許可されるかどうかを指定するためのフラグがビットストリーム中に含められ得る。
【０１１７】
上記のすべての例では、タイル境界はタイルインデックスのペアによって識別され得、各タイルインデックスはピクチャ中のタイルを識別する。タイルインデックスは、０から開始する、ピクチャ中のすべてのタイルのタイルラスタ走査順序に対するタイルのインデックスであり得る。
【０１１８】
一例では、各スライスについて、スライス中のすべてのＬＣＵによってカバーされた領域内のすべてのタイル境界を越えるループフィルタリング演算が許可されるかどうかを指定するためのフラグがビットストリーム中に含められ得る。
【０１１９】
図１３に、本開示による、タイル境界を越えるループフィルタリングを制御する例示的な方法を示すフローチャートを示す。図１３に示す技法は、ビデオエンコーダ２０またはビデオデコーダ３０のいずれかによって（概してビデオコーダによって）実装され得る。ビデオコーダは、複数のタイルに区分されたビデオデータの１つまたは複数のピクチャについて、ピクチャ内のタイル境界を越えるループフィルタリング演算が許可されるかどうかを表す値をコーディングするように構成される（３０２）。タイル境界を越えるループフィルタリング演算が許可されないことを示す値（３０４、いいえ）に応答して、ビデオコーダは、ピクチャのうちの少なくとも１つのタイル間の境界上でループフィルタリング演算を実行することなしにタイルをコーディングする（３０６）。たとえば、２つ以上のタイルを並列にコーディングすることが望ましい事例では、ループフィルタは許可されないことがある。ループフィルタリング演算が許可されることを示す値（３０４、はい）に応答して、次いで、ビデオコーダは、ループフィルタリング演算が許可される（または許可されない）１つまたは複数の境界を表す値を随意にコーディングする（３０８）。ビデオコーダは、たとえば、一連のフラグをコーディングし得、各フラグは特定の境界に対応し、フラグの値は、各境界についてタイル境界横断ループフィルタリングが許可されるのか許可されないのかを示す。ビデオコーダはまた、どの境界についてタイル境界横断ループフィルタリング演算が許可される（または許可されない）かの明示的指示をコーディングし得る。明示的指示は、たとえば、境界上の１つまたは複数のタイルのインデックスを含み得る。
【０１２０】
ビデオコーダは、ピクチャのうちの少なくとも１つのタイル間の少なくとも１つの境界上でループフィルタリング演算を実行する（３１０）。ループフィルタリング演算は、上記で説明したように、デブロッキングフィルタリング、適応ループフィルタリング、およびサンプル適応オフセットフィルタリングのうちの１つまたは複数を含み得る。
【０１２１】
図１４に、本開示による、タイル境界を越えるループフィルタリングを制御する例示的な方法を示すフローチャートを示す。図１４に示す技法は、ビデオエンコーダ２０またはビデオデコーダ３０のいずれかによって（概してビデオコーダによって）実装され得る。ビデオコーダは、複数のタイルに区分されたビデオデータの１つまたは複数のピクチャについて、ピクチャ内のタイル境界を越えるループフィルタリング演算が許可されるかどうかを表す値をコーディングするように構成される（３１０）。値は、たとえば、３つの可能な値のうちの１つであり得、第１の値は、すべてのタイル境界を越えるループフィルタリングが許可されないことを示し、第２の値は、すべてのタイル境界を越えるループフィルタリングが許可されることを示し、第３の値は、水平境界および垂直境界のための別個のシンタックス要素が別々にコーディングされることを示す。タイル境界を越えるループフィルタリング演算が許可されないことを示す値（３１２、いいえ）に応答して、次いで、ビデオコーダは、ピクチャのうちの少なくとも１つのタイル間の境界を越えるループフィルタリング演算を実行することなしに複数のタイルをコーディングする（３１４）。すべてのタイル境界を越えるループフィルタリング演算が許可されることを示す値（３１６、はい）に応答して、次いで、ビデオコーダは、水平タイル境界および垂直タイル境界のうちの少なくとも１つを越えるループフィルタリング演算を実行する（３１８）。
【０１２２】
すべてのタイル境界を越えるループフィルタリング演算が許可されることも、すべてのタイル境界を越えるループフィルタリング演算が許可されないこともないことを示す値（３１６、いいえ）に応答して、次いで、ビデオコーダは、水平方向においてタイル境界を越えるループフィルタリング演算が許可されるかどうかを示す第２の値をコーディングする（３２０）。ビデオコーダはまた、垂直方向においてタイル境界を越えるループフィルタリング演算が許可されるかどうかを示す第３の値をコーディングする（３２２）。第２の値と第３の値とに基づいて、ビデオコーダは、複数のタイル間の水平境界、複数のタイル間の垂直境界、またはその両方を越えるフィルタリング演算を実行する（３２４）。
【０１２３】
図１５に、本開示による、タイル境界を越えるループフィルタリングを制御する例示的な方法を示すフローチャートを示す。図１５に示す技法は、ビデオエンコーダ２０またはビデオデコーダ３０のいずれかによって（概してビデオコーダによって）実装され得る。ビデオコーダは、複数のタイルに区分されたビデオデータのピクチャについて、ピクチャ内の少なくとも１つのタイル境界を越えるループフィルタリング演算が許可されることを示す第１のシンタックス要素に関する第１の値をコーディングするように構成される（３３２）。ビデオコーダは、タイル境界を越えるループフィルタリング演算が許可されることを示す第１の値に応答して、少なくとも１つのタイル境界を越える１つまたは複数のループフィルタリング演算を実行する（３３４）。１つまたは複数のループフィルタリング演算は、たとえば、デブロッキングフィルタリング演算、適応ループフィルタリング演算、およびサンプル適応オフセットフィルタリング演算のうちの１つまたは複数を含み得る。ビデオコーダは、複数のタイルに区分されたビデオデータの第２のピクチャについて、ピクチャ内のタイル境界を越えるループフィルタリング演算が許可されないことを示すことができる第１のシンタックス要素に関する第２の値をコーディングする（３３６）。
【０１２４】
いくつかのビデオコーダでは、第１のシンタックス要素に関する第１の値は、ピクチャ内のすべてのタイル境界を越えるループフィルタリング演算が許可されることを示し得、他のビデオコーダでは、第１のシンタックス要素に関する第１の値は、タイル境界横断ループフィルタリング演算が許可される（または許可されない）境界を識別するために追加のシンタックス要素が使用されることを示し得る。第１の値が、タイル境界横断ループフィルタリング演算が許可される（または許可されない）境界を識別するために追加のシンタックス要素が使用されることを示すビデオコーダでは、ビデオコーダは、ループフィルタリング演算が許可される水平境界を表す値をコーディングし、および／またはループフィルタリング演算が許可されない水平境界を表す値をコーディングし得る。ビデオコーダは、ループフィルタリング演算が許可される垂直境界を表す値をコーディングし、および／またはループフィルタリング演算が許可されない垂直境界を表す値をコーディングし得る。
【０１２５】
第１の値が、タイル境界横断ループフィルタリング演算が許可される（または許可されない）境界を識別するために追加のシンタックス要素が使用されることを示すビデオコーダでは、ビデオコーダは、水平方向においてピクチャ内のタイル境界を越えるループフィルタリング演算が許可されるかどうかを表すシンタックス要素をコーディングし得、および／または垂直方向においてピクチャ内のタイル境界を越えるループフィルタリング演算が許可されるかどうかを表すシンタックス要素をコーディングし得る。
【０１２６】
第１の値が、タイル境界横断ループフィルタリング演算が許可される（または許可されない）境界を識別するために追加のシンタックス要素が使用されることを示すビデオコーダでは、ビデオコーダは、ピクチャ内のすべてのタイル境界を越えるループフィルタリング演算が許可されることを示すために第１のシンタックス要素に関する第３の値をコーディングし得る。
【０１２７】
図１３〜図１５を参照しながら説明したビデオコーダは、ビデオデコーダまたはビデオエンコーダのいずれかであり得る。ビデオコーダがビデオデコーダであるとき、シンタックス要素の値をコーディングすることは、たとえば、シンタックス要素を受信することと、シンタックス要素の値を判断または決定(determine)することとを指すことがある。ビデオコーダがビデオエンコーダであるとき、シンタックス要素をコーディングすることは、たとえば、シンタックス要素がコード化されたビデオデータのビットストリーム中に含められ得るように、値をもつシンタックス要素を生成することを指すことがある。
【０１２８】
１つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１２９】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびＢｌｕ−ｒａｙディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０１３０】
命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０１３１】
本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０１３２】
様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に本願出願当初の特許請求の範囲を付記する。
[Ｃ１]
ビデオデータをコーディングする方法であって、当該方法は下記を具備する、
複数のタイルに区分されたビデオデータのピクチャについて、第１のシンタックス要素に関する第１の値をコーディングすることであって、ここにおいて、前記第１のシンタックス要素に関する前記第１の値が、前記ピクチャ内の少なくとも１つのタイル境界を越えるループフィルタリング演算が許可されることを示し、
前記ループフィルタリング演算が前記タイル境界を越えて許可されることを示す前記第１の値に応答して、前記少なくとも１つのタイル境界を越える前記１つまたは複数のループフィルタリング演算を実行すること。
[Ｃ２]
前記１つまたは複数のループフィルタリング演算が、デブロッキングフィルタリング演算およびサンプル適応オフセットフィルタリング演算のうちの１つまたは複数を備える、Ｃ１に記載の方法。
[Ｃ３]
前記１つまたは複数のループフィルタリング演算が適応ループフィルタリング演算を備える、Ｃ１に記載の方法。
[Ｃ４]
前記第１のシンタックス要素に関する前記第１の値が、前記ピクチャ内のすべてのタイル境界を越えて許可されるループフィルタ処理演算を示す、Ｃ１に記載の方法。
[Ｃ５]
前記第１のシンタックス要素に関する第２の値を、複数のタイルに区分されたビデオデータの第２のピクチャについてコーディングすることであって、ここにおいて、前記第１のシンタックス要素に関する前記第２の値は、ループフィルタリング演算が前記第２のピクチャ内のタイル境界を越えて許可されないことを示す、Ｃ１に記載の方法。
[Ｃ６]
前記第２のピクチャの２つ以上のタイルを並列にコーディングすること
をさらに備える、Ｃ５に記載の方法。
[Ｃ７]
前記第１のシンタックス要素に関する第３の値を複数のタイルに区分されたビデオデータの第３のピクチャについてコーディングすることであって、ここにおいて、前記第１のシンタックス要素に関する前記第３の値は、前記第３のピクチャ内のすべてのタイル境界を越えてループフィルタリング演算が許可されることを示す、Ｃ１に記載の方法。
[Ｃ８]
前記第１のシンタックス要素に関する前記第１の値に応答して、前記ループフィルタリング演算が許可される水平境界を表す値をコーディングすること
をさらに備える、Ｃ１に記載の方法。
[Ｃ９]
前記第１のシンタックス要素に関する前記第１の値に応答して、前記ループフィルタリング演算が許可されない水平境界を表す値をコーディングすること
をさらに備える、Ｃ１に記載の方法。
[Ｃ１０]
前記第１のシンタックス要素に関する前記第１の値に応答して、前記ループフィルタリング演算が許可される垂直境界を表す値をコーディングすること
をさらに備える、Ｃ１に記載の方法。
[Ｃ１１]
前記第１のシンタックス要素に関する前記第１の値に応答して、前記ループフィルタリング演算が許可されない垂直境界を表す値をコーディングすること
をさらに備える、Ｃ１に記載の方法。
[Ｃ１２]
前記第１のシンタックス要素に関する前記第１の値に応答して、ループフィルタリング演算が、水平方向において前記ピクチャ内のタイル境界を越えて許可されるかどうかを表す第２のシンタックス要素をコーディングすること
をさらに備える、Ｃ１に記載の方法。
[Ｃ１３]
前記第１のシンタックス要素に関する前記第１の値に応答して、ループフィルタリング演算が、垂直方向において前記ピクチャ内のタイル境界を越えて許可されるかどうかを表す第２のシンタックス要素をコーディングすること
をさらに備える、Ｃ１に記載の方法。
[Ｃ１４]
前記第１のシンタックス要素に関する前記第１の値に応答して、ループフィルタリング演算が、前記ピクチャ内の水平タイル境界を越えて許可されるかどうかを表す第２のシンタックス要素をコーディングすることと、ループフィルタリング演算が、前記ピクチャ内の垂直タイル境界を越えて許可されるかどうかを表す第３のシンタックス要素をコーディングすることと
をさらに備える、Ｃ１に記載の方法。
[Ｃ１５]
前記第１の値が、前記ピクチャのうちの１つのスライスに対応し、前記ループフィルタリング演算が前記スライスが接するタイル境界を越えて許可されるかどうかを表す、Ｃ１に記載の方法。
[Ｃ１６]
前記方法がビデオデコーダによって実行され、前記第１のシンタックス要素に関する前記第１の値をコーディングすることが、前記第１のシンタックス要素を受信することと、前記第１の値を決定することとを備える、Ｃ１に記載の方法。
[Ｃ１７]
前記方法がビデオエンコーダによって実行され、前記第１のシンタックス要素の前記第１の値をコーディングすることが、コード化されたビデオデータのビットストリーム中に含めるために前記第１の値をもつ前記第１のシンタックス要素を生成することを備える、Ｃ１に記載の方法。
[Ｃ１８]
ビデオデータをコーディングするためのデバイスであって、当該デバイスは下記の構成を具備する、
第１のシンタックス要素に関する第１の値を複数のタイルに区分されたビデオデータのピクチャについてコーディングするビデオコーダを備え、ここにおいて、前記第１のシンタックス要素に関する前記第１の値は、前記ピクチャ内の少なくとも１つのタイル境界を越えるループフィルタリング演算が許可されることを示し、前記タイル境界を越える前記ループフィルタリング演算が許可されることを示す前記第１の値に応答して、前記少なくとも１つのタイル境界を越える前記１つまたは複数のループフィルタリング演算を実行する。
[Ｃ１９]
前記１つまたは複数のループフィルタリング演算が、デブロッキングフィルタリング演算およびサンプル適応オフセットフィルタリング演算のうちの１つまたは複数を備える、Ｃ１８に記載のデバイス。
[Ｃ２０]
前記第１のシンタックス要素に関する前記第１の値が、ループフィルタリング演算が前記ピクチャ内のすべてのタイル境界を越えて許可されるを示す、Ｃ１８に記載のデバイス。
[Ｃ２１]
前記ビデオコーダは、前記第１のシンタックス要素に関する第２の値を、複数のタイルに区分されたビデオデータの第２のピクチャについてコーディングすることであって、ここにおいて、前記第１のシンタックス要素に関する前記第２の値は、ループフィルタリング演算が前記第２のピクチャ内のタイル境界を越えて許可されないことを示す、Ｃ１８に記載のデバイス。
[Ｃ２２]
前記ビデオコーダが、前記第２のピクチャの２つ以上のタイルを並列にコーディングするようにさらに構成された、Ｃ２１に記載のデバイス。
[Ｃ２３]
前記ビデオコーダは、前記第１のシンタックス要素に関する第３の値を複数のタイルに区分されたビデオデータの第３のピクチャについてコーディングすることであって、ここにおいて、前記第１のシンタックス要素に関する前記第３の値は、ループフィルタリング演算が前記第３のピクチャ内のすべてのタイル境界を越えて許可されることを示す、Ｃ１８に記載のデバイス。
[Ｃ２４]
前記ビデオコーダは、前記第１のシンタックス要素に関する前記第１の値に応答して、前記ループフィルタリング演算が許可される水平境界を表す値をコーディングするようにさらに構成された、Ｃ１８に記載のデバイス。
[Ｃ２５]
前記ビデオコーダは、前記第１のシンタックス要素に関する前記第１の値に応答して、前記ループフィルタリング演算が許可されない水平境界を表す値をコーディングするようにさらに構成された、Ｃ１８に記載のデバイス。
[Ｃ２６]
前記ビデオコーダは、前記第１のシンタックス要素に関する前記第１の値に応答して、前記ループフィルタリング演算が許可される垂直境界を表す値をコーディングするようにさらに構成された、Ｃ１８に記載のデバイス。
[Ｃ２７]
前記ビデオコーダは、前記第１のシンタックス要素に関する前記第１の値に応答して、前記ループフィルタリング演算が許可されない垂直境界を表す値をコーディングするようにさらに構成された、Ｃ１８に記載のデバイス。
[Ｃ２８]
前記ビデオコーダは、前記第１のシンタックス要素に関する前記第１の値に応答して、ループフィルタリング演算が、水平方向において前記ピクチャ内のタイル境界を越えて許可されるかどうかを表す第２のシンタックス要素をコーディングするようにさらに構成された、Ｃ１８に記載のデバイス。
[Ｃ２９]
前記ビデオコーダは、前記第１のシンタックス要素に関する前記第１の値に応答して、ループフィルタリング演算が、垂直方向において前記ピクチャ内のタイル境界を越えて許可されるかどうかを表す第２のシンタックス要素をコーディングするようにさらに構成された、Ｃ１８に記載のデバイス。
[Ｃ３０]
前記ビデオコーダは、前記第１のシンタックス要素に関する前記第１の値に応答して、ループフィルタリング演算が、前記ピクチャ内の水平タイル境界を越えて許可されるかどうかを表す第２のシンタックス要素をコーディングすることと、ループフィルタリング演算が、前記ピクチャ内の垂直タイル境界を越えて許可されるかどうかを表す第３のシンタックス要素をコーディングすることとを行うようにさらに構成された、Ｃ１８に記載のデバイス。
[Ｃ３１]
前記第１の値が、前記ピクチャのうちの１つのスライスに対応し、前記スライスが接するタイル境界を越える前記ループフィルタリング演算が許可されるかどうかを表す、Ｃ１８に記載のデバイス。
[Ｃ３２]
前記ビデオコーダがビデオデコーダを備え、前記ビデオコーダが、前記第１のシンタックス要素を受信することと、前記第１の値を決定することとによって前記第１のシンタックス要素に関する前記第１の値をコーディングするようにさらに構成された、Ｃ１８に記載のデバイス。
[Ｃ３３]
前記ビデオコーダがビデオエンコーダを備え、前記ビデオコーダが、コード化されたビデオデータのビットストリーム中に含めるために前記第１の値をもつ前記第１のシンタックス要素を生成することによって前記第１のシンタックス要素に関する前記第１の値をコーディングするようにさらに構成された、Ｃ１８に記載のデバイス。
[Ｃ３４]
前記デバイスが、
集積回路と、
マイクロプロセッサと、
前記ビデオコーダを含むワイヤレス通信デバイスと
のうちの少なくとも１つを備える、Ｃ１８に記載のデバイス。
[Ｃ３５]
ビデオデータをコーディングするためのデバイスであって、当該デバイスは下記の構成を備える、
第１のシンタックス要素に関する第１の値を複数のタイルに区分されたビデオデータのピクチャについてコーディングするための手段であって、ここにおいて、前記第１のシンタックス要素に関する前記第１の値は、ループフィルタリング演算が前記ピクチャ内の少なくとも１つのタイル境界を越えて許可されることを示し、
前記タイル境界を越える前記ループフィルタリング演算が許可されることを示す前記第１の値に応答して、前記少なくとも１つのタイル境界を越える前記１つまたは複数のループフィルタリング演算を実行するための手段。
[Ｃ３６]
前記１つまたは複数のループフィルタリング演算が、デブロッキングフィルタリング演算、適応ループフィルタリング演算、およびサンプル適応オフセットフィルタリング演算のうちの１つまたは複数を備える、Ｃ３５に記載のデバイス。
[Ｃ３７]
前記第１のシンタックス要素に関する前記第１の値が、ループフィルタリング演算前記ピクチャ内のすべてのタイル境界を越えて許可されるを示す、Ｃ３５に記載のデバイス。
[Ｃ３８]
前記第１のシンタックス要素に関する第２の値を、複数のタイルに区分されたビデオデータの第２のピクチャについて、コーディングするための手段であって、ここにおいて、前記第１のシンタックス要素に関する前記第２の値は、ループフィルタリング演算が前記第２のピクチャ内のタイル境界を越えて許可されないことを示す、Ｃ３５に記載のデバイス。
[Ｃ３９]
前記第２のピクチャの２つ以上のスライスを並列にコーディングするための手段
をさらに備える、Ｃ３８に記載のデバイス。
[Ｃ４０]
前記第１のシンタックス要素に関する第３の値を複数のタイルに区分されたビデオデータの第３のピクチャについてコーディングするための手段であって、ここにおいて、前記第１のシンタックス要素に関する前記第３の値は、ループフィルタリング演算が前記第３のピクチャ内のすべてのタイル境界を越えて許可されることを示す、Ｃ３５に記載のデバイス。
[Ｃ４１]
前記第１のシンタックス要素に関する前記第１の値に応答して、前記ループフィルタリング演算が許可される水平境界を表す値をコーディングするための手段
をさらに備える、Ｃ３５に記載のデバイス。
[Ｃ４２]
前記第１のシンタックス要素に関する前記第１の値に応答して、前記ループフィルタリング演算が許可されない水平境界を表す値をコーディングするための手段
をさらに備える、Ｃ３５に記載のデバイス。
[Ｃ４３]
前記第１のシンタックス要素に関する前記第１の値に応答して、前記ループフィルタリング演算が許可される垂直境界を表す値をコーディングするための手段
をさらに備える、Ｃ３５に記載のデバイス。
[Ｃ４４]
前記第１のシンタックス要素に関する前記第１の値に応答して、前記ループフィルタリング演算が許可されない垂直境界を表す値をコーディングするための手段
をさらに備える、Ｃ３５に記載のデバイス。
[Ｃ４５]
前記第１のシンタックス要素に関する前記第１の値に応答して、ループフィルタリング演算が、水平方向において前記ピクチャ内のタイル境界を越えて許可されるかどうかを表す第２のシンタックス要素をコーディングするための手段
をさらに備える、Ｃ３５に記載のデバイス。
[Ｃ４６]
前記第１のシンタックス要素に関する前記第１の値に応答して、ループフィルタリング演算が、垂直方向において前記ピクチャ内のタイル境界を越えて許可されるかどうかを表す第２のシンタックス要素をコーディングするための手段
をさらに備える、Ｃ３５に記載のデバイス。
[Ｃ４７]
前記第１のシンタックス要素に関する前記第１の値に応答して、ループフィルタリング演算が、前記ピクチャ内の水平タイル境界を越えて許可されるかどうかを表す第２のシンタックス要素をコーディングするための手段と、
前記第１のシンタックス要素に関する前記第１の値に応答して、ループフィルタリング演算が、前記ピクチャ内の垂直タイル境界を越えて許可されるかどうかを表す第３のシンタックス要素をコーディングするための手段と
をさらに備える、Ｃ３５に記載のデバイス。
[Ｃ４８]
前記第１の値が、前記ピクチャのうちの１つのスライスに対応し、前記ループフィルタリング演算が前記スライスが接するタイル境界を越えて許可されるかどうかを表す、Ｃ３５に記載のデバイス。
[Ｃ４９]
前記デバイスがビデオデコーダを備え、前記第１のシンタックス要素に関する前記第１の値をコーディングするための前記手段が、前記第１のシンタックス要素を受信するための手段と、前記第１の値を決定するための手段とを備える、Ｃ３５に記載のデバイス。
[Ｃ５０]
前記デバイスがビデオエンコーダを備え、前記第１のシンタックス要素に関する前記第１の値をコーディングするための前記手段が、コード化されたビデオデータのビットストリーム中に含めるために前記第１の値をもつ前記第１のシンタックス要素を生成することを備える、Ｃ３５に記載のデバイス。
[Ｃ５１]
１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
前記第１のシンタックス要素に関する第１の値を、複数のタイルに区分されたビデオデータのピクチャについてコーディングすることであって、ここにおいて、前記第１のシンタックス要素に関する前記第１の値は、ループフィルタリング演算が前記ピクチャ内の少なくとも１つのタイル境界を越えて許可されることを示し、
前記ループフィルタリング演算が前記タイル境界を越えて許可されることを示す前記第１の値に応答して、前記少なくとも１つのタイル境界を越える前記１つまたは複数のループフィルタリング演算を実行することと
を行わせる命令を記憶する非一時的コンピュータ可読記憶媒体。
【図１】
0006054407.tif 000009
【図２】
0006054407.tif 000010
【図３】
0006054407.tif 000011
【図４】
0006054407.tif 000012
【図５】
0006054407.tif 000013
【図６】
0006054407.tif 000014
【図７】
0006054407.tif 000015
【図８】
0006054407.tif 000016
【図９】
0006054407.tif 000017
【図１０】
0006054407.tif 000018
【図１１】
0006054407.tif 000019
【図１２】
0006054407.tif 000020
【図１３】
0006054407.tif 000021
【図１４】
0006054407.tif 000022
【図１５】
0006054407.tif 000023