(57)【特許請求の範囲】
【請求項１】
ビデオデータを符号化する方法であって、
前記ビデオデータの第１の部分を前記ビデオデータの第２の部分から分離する、前記ビデオデータの前記第１の部分の境界の近くで適用すべきフィルタを選択することであって、前記フィルタが複数のフィルタ係数を備える、選択することと、
フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの少なくとも１つを判断することと、
フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも１つの前記判断に基づいて、部分フィルタを判断することであって、前記部分フィルタは、別のフィルタ処理で必要であるためにフィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも１つを含まない、部分フィルタを判断することと、
前記部分フィルタ内に含まれる前記複数のフィルタ係数を再正規化することと、
前記ビデオデータのフィルタ処理された第１の部分を生成するために、前記ビデオデータの前記第１の部分の前記境界の近くで前記再正規化された部分フィルタを適用することと
を備え、
前記複数のフィルタ係数を再正規化することが、第１の再正規化アルゴリズムまたは第２の再正規化アルゴリズムのいずれかに従って前記複数のフィルタ係数を再正規化することを備え、
前記第１の再正規化アルゴリズムが、
前記複数の完全フィルタ係数の第１の和を計算するために、前記選択された完全フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記複数の部分フィルタ係数の第２の和を計算するために、前記部分フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記部分フィルタ内に含まれる前記複数のフィルタ係数の各々に、前記複数の完全フィルタ係数の前記第１の和を前記複数の部分フィルタ係数の前記第２の和で除算した結果を乗算することによって、前記部分フィルタのための前記複数のフィルタ係数を計算することと
を備え、
前記第２の再正規化アルゴリズムは、フィルタ処理のために利用可能でない、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの前記少なくとも１つのうちの１つまたは複数を、前記部分フィルタの前記複数のフィルタ係数のうちの前記１つまたは複数に加算することを備える、方法。
【請求項２】
ビデオデータを復号する方法であって、
前記ビデオデータの第１の部分を前記ビデオデータの第２の部分から分離する、前記ビデオデータの前記第１の部分の境界の近くで適用すべきフィルタを選択することであって、前記フィルタが複数のフィルタ係数を備える、選択することと、
フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの少なくとも１つを判断することと、
フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも１つの前記判断に基づいて、部分フィルタを判断することであって、前記部分フィルタは、別のフィルタ処理で必要であるためにフィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも１つを含まない、部分フィルタを判断することと、
前記部分フィルタ内に含まれる前記複数のフィルタ係数を再正規化することと、
前記ビデオデータのフィルタ処理された第１の部分を生成するために、前記ビデオデータの前記第１の部分の前記境界の近くで前記再正規化された部分フィルタを適用することと
を備え、
前記複数のフィルタ係数を再正規化することが、第１の再正規化アルゴリズムまたは第２の再正規化アルゴリズムのいずれかに従って前記複数のフィルタ係数を再正規化することを備え、
前記第１の再正規化アルゴリズムが、
前記複数の完全フィルタ係数の第１の和を計算するために、前記選択された完全フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記複数の部分フィルタ係数の第２の和を計算するために、前記部分フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記部分フィルタ内に含まれる前記複数のフィルタ係数の各々に、前記複数の完全フィルタ係数の前記第１の和を前記複数の部分フィルタ係数の前記第２の和で除算した結果を乗算することによって、前記部分フィルタのための前記複数のフィルタ係数を計算することと
を備え、
前記第２の再正規化アルゴリズムは、フィルタ処理のために利用可能でない、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの前記少なくとも１つのうちの１つまたは複数を、前記部分フィルタの前記複数のフィルタ係数のうちの前記１つまたは複数に加算することを備える、方法。
【請求項３】
前記フィルタを選択することが、前記フィルタのタイプとサイズと形状とのうちの１つまたは複数を選択することを備える、請求項１又は２に記載の方法。
【請求項４】
前記選択されたフィルタが、デブロッキング（ＤＢ）フィルタと、サンプル適応オフセット（ＳＡＯ）フィルタと、適応ループフィルタ（ＡＬＦ）とのうちの１つを備える、請求項１又は２に記載の方法。
【請求項５】
前記第１の部分が最大コーディングユニット（ＬＣＵ）を備え、
前記ビデオデータの前記第１の部分をフィルタ処理するために１つまたは複数の部分フィルタを適用することが、前記ＬＣＵをフィルタ処理するためにスライスまたはフレームレベルではなく前記ＬＣＵのレベルにおいて前記１つまたは複数の部分フィルタを適用することを備える、請求項１又は２に記載の方法。
【請求項６】
１つまたは複数の部分フィルタを適用することが、１つまたは複数の基準に基づいて前記１つまたは複数の部分フィルタを適応的に適用することを備える、請求項１又は２に記載の方法。
【請求項７】
部分フィルタを判断することが、非対称部分フィルタを判断することを備え、
前記非対称部分フィルタは、前記非対称部分フィルタのｘ軸とｙ軸とのうちの１つまたは複数の周りに非対称的に構成された、フィルタ処理のために利用可能な、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの１つまたは複数を含む、請求項１又は２に記載の方法。
【請求項８】
部分フィルタを判断することが、対称部分フィルタを判断することを備え、
前記対称部分フィルタは、前記対称部分フィルタのｘ軸とｙ軸とのうちの１つまたは複数の周りに対称的に構成された、フィルタ処理のために利用可能な、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの１つまたは複数を含む、請求項１又は２に記載の方法。
【請求項９】
利用可能でない前記ビデオデータの第２の部分のピクセル値を交換するように前記ビデオデータの前記第１の部分の前記境界に位置するピクセル値をミラーリングするためにミラーパディングを実行することをさらに備え、
前記再正規化された部分フィルタを適用することが、前記ミラーリングされたピクセル値のうちの少なくとも１つをフィルタ処理するために、前記再正規化された部分フィルタを適用することを備える、請求項１又は２に記載の方法。
【請求項１０】
前記方法が、
符号化ビデオデータを生成するためにビデオエンコーダを用いて前記ビデオデータを符号化することと、
前記ビデオデータを符号化するときに参照データとして使用するための再構成ビデオデータを生成するために、前記ビデオエンコーダを用いて前記符号化ビデオデータを復号することと
をさらに備える、請求項１に記載の方法。
【請求項１１】
変換係数を生成するために、前記ビデオデータの前記第１の部分をエントロピー復号するためにエントロピー復号を実行することと、
前記変換係数を逆量子化し、逆量子化された変換係数を生成するために、逆量子化を実行することと、
前記逆量子化された変換係数を周波数領域から空間領域に変換し、残差ビデオデータを生成するために、逆変換を実行することと、
前記ビデオデータの前記第１の部分の再構成されたバージョンを生成するために、前記残差ビデオデータから前記ビデオデータを再構成することと
をさらに備える、請求項２に記載の方法。
【請求項１２】
ビデオデータを符号化するためのデバイスであって、
前記ビデオデータの第１の部分を前記ビデオデータの第２の部分から分離する、前記ビデオデータの前記第１の部分の境界の近くで適用すべきフィルタを選択するための手段であって、前記フィルタが複数のフィルタ係数を備える、選択するための手段と、
フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの少なくとも１つを判断するための手段と、
フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも１つの前記判断に基づいて、部分フィルタを判断するための手段であって、前記部分フィルタは、別のフィルタ処理で必要であるためにフィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも１つを含まない、部分フィルタを判断するための手段と、
前記部分フィルタ内に含まれる前記複数のフィルタ係数を再正規化するための手段と、
前記ビデオデータのフィルタ処理された第１の部分を生成するために、前記ビデオデータの前記第１の部分の前記境界の近くで前記再正規化された部分フィルタを適用するための手段と
を備え、
前記複数のフィルタ係数を再正規化するための前記手段が、第１の再正規化アルゴリズムまたは第２の再正規化アルゴリズムのいずれかに従って前記複数のフィルタ係数を再正規化するための手段を備え、
前記第１の再正規化アルゴリズムが、
前記複数の完全フィルタ係数の第１の和を計算するために、前記選択された完全フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記複数の部分フィルタ係数の第２の和を計算するために、前記部分フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記部分フィルタ内に含まれる前記複数のフィルタ係数の各々に、前記複数の完全フィルタ係数の前記第１の和を前記複数の部分フィルタ係数の前記第２の和で除算した結果を乗算することによって、前記部分フィルタのための前記複数のフィルタ係数を計算することと
を備え、
前記第２の再正規化アルゴリズムは、フィルタ処理のために利用可能でない、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの前記少なくとも１つのうちの１つまたは複数を、前記部分フィルタの前記複数のフィルタ係数のうちの前記１つまたは複数に加算することを備える、デバイス。
【請求項１３】
ビデオデータを復号するためのデバイスであって、
前記ビデオデータの第１の部分を前記ビデオデータの第２の部分から分離する、前記ビデオデータの前記第１の部分の境界の近くで適用すべきフィルタを選択するための手段であって、前記フィルタが複数のフィルタ係数を備える、選択するための手段と、
フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの少なくとも１つを判断するための手段と、
フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも１つの前記判断に基づいて、部分フィルタを判断するための手段であって、前記部分フィルタは、別のフィルタ処理で必要であるためにフィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも１つを含まない、部分フィルタを判断するための手段と、
前記部分フィルタ内に含まれる前記複数のフィルタ係数を再正規化するための手段と、
前記ビデオデータのフィルタ処理された第１の部分を生成するために、前記ビデオデータの前記第１の部分の前記境界の近くで前記再正規化された部分フィルタを適用するための手段と
を備え、
前記複数のフィルタ係数を再正規化するための前記手段が、第１の再正規化アルゴリズムまたは第２の再正規化アルゴリズムのいずれかに従って前記複数のフィルタ係数を再正規化するための手段を備え、
前記第１の再正規化アルゴリズムが、
前記複数の完全フィルタ係数の第１の和を計算するために、前記選択された完全フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記複数の部分フィルタ係数の第２の和を計算するために、前記部分フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記部分フィルタ内に含まれる前記複数のフィルタ係数の各々に、前記複数の完全フィルタ係数の前記第１の和を前記複数の部分フィルタ係数の前記第２の和で除算した結果を乗算することによって、前記部分フィルタのための前記複数のフィルタ係数を計算することと
を備え、
前記第２の再正規化アルゴリズムは、フィルタ処理のために利用可能でない、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの前記少なくとも１つのうちの１つまたは複数を、前記部分フィルタの前記複数のフィルタ係数のうちの前記１つまたは複数に加算することを備える、デバイス。
【請求項１４】
前記フィルタを選択するための前記手段が、前記フィルタのタイプとサイズと形状とのうちの１つまたは複数を選択するための手段を備える、請求項１２又は１３に記載のデバイス。
【請求項１５】
前記選択されたフィルタが、デブロッキング（ＤＢ）フィルタと、サンプル適応オフセット（ＳＡＯ）フィルタと、適応ループフィルタ（ＡＬＦ）とのうちの１つを備える、請求項１２又は１３に記載のデバイス。
【請求項１６】
前記第１の部分が最大コーディングユニット（ＬＣＵ）を備え、
前記ビデオデータの前記第１の部分をフィルタ処理するために１つまたは複数の部分フィルタを適用するための前記手段が、前記ＬＣＵをフィルタ処理するためにスライスまたはフレームレベルではなく前記ＬＣＵのレベルにおいて前記１つまたは複数の部分フィルタを適用するための手段を備える、請求項１２又は１３に記載のデバイス。
【請求項１７】
１つまたは複数の部分フィルタを適用するための前記手段が、１つまたは複数の基準に基づいて前記１つまたは複数の部分フィルタを適応的に適用するための手段を備える、請求項１２又は１３に記載のデバイス。
【請求項１８】
部分フィルタを判断するための前記手段が、非対称部分フィルタを判断するための手段を備え、
前記非対称部分フィルタは、前記非対称部分フィルタのｘ軸とｙ軸とのうちの１つまたは複数の周りに非対称的に構成された、フィルタ処理のために利用可能な、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの１つまたは複数を含む、請求項１２又は１３に記載のデバイス。
【請求項１９】
部分フィルタを判断するための前記手段が、対称部分フィルタを判断するための手段を備え、
前記対称部分フィルタは、前記対称部分フィルタのｘ軸とｙ軸とのうちの１つまたは複数の周りに対称的に構成された、フィルタ処理のために利用可能な、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの１つまたは複数を含む、請求項１２又は１３に記載のデバイス。
【請求項２０】
利用可能でない前記ビデオデータの第２の部分のピクセル値を交換するように前記ビデオデータの前記第１の部分の前記境界に位置するピクセル値をミラーリングするためにミラーパディングを実行するための手段をさらに備え、
前記再正規化された部分フィルタを適用するための前記手段が、前記ミラーリングされたピクセル値のうちの少なくとも１つをフィルタ処理するために、前記再正規化された部分フィルタを適用するための手段を備える、請求項１２又は１３に記載のデバイス。
【請求項２１】
ビデオデータを符号化するためのデバイスであって、
前記ビデオデータの第１の部分を前記ビデオデータの第２の部分から分離する、前記ビデオデータの前記第１の部分の境界の近くで適用すべきフィルタを選択することであって、前記フィルタが複数のフィルタ係数を備える、選択することと、フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの少なくとも１つを判断することと、フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも１つの前記判断に基づいて、部分フィルタを判断することであって、前記部分フィルタは、別のフィルタ処理で必要であるためにフィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも１つを含まない、部分フィルタを判断することと、前記部分フィルタ内に含まれる前記複数のフィルタ係数を再正規化することと、前記ビデオデータのフィルタ処理された第１の部分を生成するために、前記ビデオデータの前記第１の部分の前記境界の近くで前記再正規化された部分フィルタを適用することと
を行うように構成された１つまたは複数のプロセッサ
を備え、
前記複数のフィルタ係数を再正規化することが、第１の再正規化アルゴリズムまたは第２の再正規化アルゴリズムのいずれかに従って前記複数のフィルタ係数を再正規化することを備え、
前記第１の再正規化アルゴリズムが、
前記複数の完全フィルタ係数の第１の和を計算するために、前記選択された完全フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記複数の部分フィルタ係数の第２の和を計算するために、前記部分フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記部分フィルタ内に含まれる前記複数のフィルタ係数の各々に、前記複数の完全フィルタ係数の前記第１の和を前記複数の部分フィルタ係数の前記第２の和で除算した結果を乗算することによって、前記部分フィルタのための前記複数のフィルタ係数を計算することと
を備え、
前記第２の再正規化アルゴリズムは、フィルタ処理のために利用可能でない、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの前記少なくとも１つのうちの１つまたは複数を、前記部分フィルタの前記複数のフィルタ係数のうちの前記１つまたは複数に加算することを備える、デバイス。
【請求項２２】
ビデオデータを復号するためのデバイスであって、
前記ビデオデータの第１の部分を前記ビデオデータの第２の部分から分離する、前記ビデオデータの前記第１の部分の境界の近くで適用すべきフィルタを選択することであって、前記フィルタが複数のフィルタ係数を備える、選択することと、フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの少なくとも１つを判断することと、フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも１つの前記判断に基づいて、部分フィルタを判断することであって、前記部分フィルタは、別のフィルタ処理で必要であるためにフィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも１つを含まない、部分フィルタを判断することと、前記部分フィルタ内に含まれる前記複数のフィルタ係数を再正規化することと、前記ビデオデータのフィルタ処理された第１の部分を生成するために、前記ビデオデータの前記第１の部分の前記境界の近くで前記再正規化された部分フィルタを適用することと
を行うように構成された１つまたは複数のプロセッサ
を備え、
前記複数のフィルタ係数を再正規化することが、第１の再正規化アルゴリズムまたは第２の再正規化アルゴリズムのいずれかに従って前記複数のフィルタ係数を再正規化することを備え、
前記第１の再正規化アルゴリズムが、
前記複数の完全フィルタ係数の第１の和を計算するために、前記選択された完全フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記複数の部分フィルタ係数の第２の和を計算するために、前記部分フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記部分フィルタ内に含まれる前記複数のフィルタ係数の各々に、前記複数の完全フィルタ係数の前記第１の和を前記複数の部分フィルタ係数の前記第２の和で除算した結果を乗算することによって、前記部分フィルタのための前記複数のフィルタ係数を計算することと
を備え、
前記第２の再正規化アルゴリズムは、フィルタ処理のために利用可能でない、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの前記少なくとも１つのうちの１つまたは複数を、前記部分フィルタの前記複数のフィルタ係数のうちの前記１つまたは複数に加算することを備える、デバイス。
【請求項２３】
前記１つまたは複数のプロセッサが、前記フィルタのタイプとサイズと形状とのうちの１つまたは複数を選択するようにさらに構成された、請求項２１又は２２に記載のデバイス。
【請求項２４】
前記選択されたフィルタが、デブロッキング（ＤＢ）フィルタと、サンプル適応オフセット（ＳＡＯ）フィルタと、適応ループフィルタ（ＡＬＦ）とのうちの１つを備える、請求項２１又は２２に記載のデバイス。
【請求項２５】
前記第１の部分が最大コーディングユニット（ＬＣＵ）を備え、
前記１つまたは複数のプロセッサが、前記ＬＣＵをフィルタ処理するためにスライスまたはフレームレベルではなく前記ＬＣＵのレベルにおいて１つまたは複数の部分フィルタを適用するようにさらに構成された、請求項２１又は２２に記載のデバイス。
【請求項２６】
前記１つまたは複数のプロセッサが、１つまたは複数の基準に基づいて前記１つまたは複数の部分フィルタを適応的に適用するようにさらに構成された、請求項２１又は２２に記載のデバイス。
【請求項２７】
前記１つまたは複数のプロセッサが、非対称部分フィルタを判断するようにさらに構成され、
前記非対称部分フィルタは、前記非対称部分フィルタのｘ軸とｙ軸とのうちの１つまたは複数の周りに非対称的に構成された、フィルタ処理のために利用可能な、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの１つまたは複数を含む、請求項２１又は２２に記載のデバイス。
【請求項２８】
前記１つまたは複数のプロセッサが、対称部分フィルタを判断するようにさらに構成され、
前記対称部分フィルタは、前記対称部分フィルタのｘ軸とｙ軸とのうちの１つまたは複数の周りに対称的に構成された、フィルタ処理のために利用可能な、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの１つまたは複数を含む、請求項２１又は２２に記載のデバイス。
【請求項２９】
前記１つまたは複数のプロセッサが、利用可能でない前記ビデオデータの第２の部分のピクセル値を交換するように前記ビデオデータの前記第１の部分の前記境界に位置するピクセル値をミラーリングするためにミラーパディングを実行することと、前記ミラーリングされたピクセル値のうちの少なくとも１つをフィルタ処理するために、前記再正規化された部分フィルタを適用することとを行うようにさらに構成された、請求項２１又は２２に記載のデバイス。
【請求項３０】
前記デバイスがビデオエンコーダを備え、
前記１つまたは複数のプロセッサが、符号化ビデオデータを生成するために前記ビデオエンコーダを用いて前記ビデオデータを符号化することと、前記ビデオデータを符号化するときに参照データとして使用するための再構成ビデオデータを生成するために、前記符号化ビデオデータを復号することとを行うようにさらに構成された、請求項２１に記載のデバイス。
【請求項３１】
前記デバイスがビデオデコーダを備える、請求項２２に記載のデバイス。
【請求項３２】
実行されたとき、ビデオ符号化デバイスの１つまたは複数のプロセッサに、
ビデオデータの第１の部分を前記ビデオデータの第２の部分から分離する、前記ビデオデータの前記第１の部分の境界の近くで適用すべきフィルタを選択することであって、前記フィルタが複数のフィルタ係数を備える、選択することと、
フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの少なくとも１つを判断することと、
フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも１つの前記判断に基づいて、部分フィルタを判断することであって、前記部分フィルタは、別のフィルタ処理で必要であるためにフィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも１つを含まない、部分フィルタを判断することと、
前記部分フィルタ内に含まれる前記複数のフィルタ係数を再正規化することと、
前記ビデオデータのフィルタ処理された第１の部分を生成するために、前記ビデオデータの前記第１の部分の前記境界の近くで前記再正規化された部分フィルタを適用することと
を行わせる、記憶された命令を備え、
実行されたとき、前記１つまたは複数のプロセッサに前記複数のフィルタ係数を再正規化させる前記命令が、実行されたとき、前記１つまたは複数のプロセッサに、第１の再正規化アルゴリズムまたは第２の再正規化アルゴリズムのいずれかに従って前記複数のフィルタ係数を再正規化させる命令を備え、
前記第１の再正規化アルゴリズムが、
前記複数の完全フィルタ係数の第１の和を計算するために、前記選択された完全フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記複数の部分フィルタ係数の第２の和を計算するために、前記部分フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記部分フィルタ内に含まれる前記複数のフィルタ係数の各々に、前記複数の完全フィルタ係数の前記第１の和を前記複数の部分フィルタ係数の前記第２の和で除算した結果を乗算することによって、前記部分フィルタのための前記複数のフィルタ係数を計算することと
を備え、
前記第２の再正規化アルゴリズムは、フィルタ処理のために利用可能でない、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの前記少なくとも１つのうちの１つまたは複数を、前記部分フィルタの前記複数のフィルタ係数のうちの前記１つまたは複数に加算することを備える、非一時的コンピュータ可読記憶媒体。
【請求項３３】
実行されたとき、ビデオ復号デバイスの１つまたは複数のプロセッサに、
ビデオデータの第１の部分を前記ビデオデータの第２の部分から分離する、前記ビデオデータの前記第１の部分の境界の近くで適用すべきフィルタを選択することであって、前記フィルタが複数のフィルタ係数を備える、選択することと、
フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの少なくとも１つを判断することと、
フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも１つの前記判断に基づいて、部分フィルタを判断することであって、前記部分フィルタは、別のフィルタ処理で必要であるためにフィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも１つを含まない、部分フィルタを判断することと、
前記部分フィルタ内に含まれる前記複数のフィルタ係数を再正規化することと、
前記ビデオデータのフィルタ処理された第１の部分を生成するために、前記ビデオデータの前記第１の部分の前記境界の近くで前記再正規化された部分フィルタを適用することと
を行わせる、記憶された命令を備え、
実行されたとき、前記１つまたは複数のプロセッサに前記複数のフィルタ係数を再正規化させる前記命令が、実行されたとき、前記１つまたは複数のプロセッサに、第１の再正規化アルゴリズムまたは第２の再正規化アルゴリズムのいずれかに従って前記複数のフィルタ係数を再正規化させる命令を備え、
前記第１の再正規化アルゴリズムが、
前記複数の完全フィルタ係数の第１の和を計算するために、前記選択された完全フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記複数の部分フィルタ係数の第２の和を計算するために、前記部分フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記部分フィルタ内に含まれる前記複数のフィルタ係数の各々に、前記複数の完全フィルタ係数の前記第１の和を前記複数の部分フィルタ係数の前記第２の和で除算した結果を乗算することによって、前記部分フィルタのための前記複数のフィルタ係数を計算することと
を備え、
前記第２の再正規化アルゴリズムは、フィルタ処理のために利用可能でない、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの前記少なくとも１つのうちの１つまたは複数を、前記部分フィルタの前記複数のフィルタ係数のうちの前記１つまたは複数に加算することを備える、非一時的コンピュータ可読記憶媒体。
【請求項３４】
実行されたとき、前記１つまたは複数のプロセッサに前記フィルタを選択させる前記命令が、実行されたとき、前記１つまたは複数のプロセッサに前記フィルタのタイプとサイズと形状とのうちの１つまたは複数を選択させる命令を備える、請求項３２又は３３に記載の非一時的コンピュータ可読記憶媒体。
【請求項３５】
前記フィルタが、デブロッキング（ＤＢ）フィルタと、サンプル適応オフセット（ＳＡＯ）フィルタと、適応ループフィルタ（ＡＬＦ）とのうちの１つを備える、請求項３２又は３３に記載の非一時的コンピュータ可読記憶媒体。
【請求項３６】
前記第１の部分が最大コーディングユニット（ＬＣＵ）を備え、
実行されたとき、前記１つまたは複数のプロセッサに１つまたは複数の部分フィルタを適用させる前記命令が、実行されたとき、前記１つまたは複数のプロセッサに、前記ＬＣＵをフィルタ処理するためにスライスまたはフレームレベルではなく前記ＬＣＵのレベルにおいて前記１つまたは複数の部分フィルタを適用させる命令を備える、請求項３２又は３３に記載の非一時的コンピュータ可読記憶媒体。
【請求項３７】
実行されたとき、前記１つまたは複数のプロセッサに１つまたは複数の部分フィルタを適用させる前記命令が、実行されたとき、前記１つまたは複数のプロセッサに、１つまたは複数の基準に基づいて前記１つまたは複数の部分フィルタを適応的に適用させる命令を備える、請求項３２又は３３に記載の非一時的コンピュータ可読記憶媒体。
【請求項３８】
実行されたとき、前記１つまたは複数のプロセッサに部分フィルタを判断させる前記命令が、実行されたとき、前記１つまたは複数のプロセッサに非対称部分フィルタを判断させる命令を備え、
前記非対称部分フィルタは、前記非対称部分フィルタのｘ軸とｙ軸とのうちの１つまたは複数の周りに非対称的に構成された、フィルタ処理のために利用可能な、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの１つまたは複数を含む、請求項３２又は３３に記載の非一時的コンピュータ可読記憶媒体。
【請求項３９】
実行されたとき、前記１つまたは複数のプロセッサに部分フィルタを判断させる前記命令が、実行されたとき、前記１つまたは複数のプロセッサに対称部分フィルタを判断させる命令を備え、
前記対称部分フィルタは、前記対称部分フィルタのｘ軸とｙ軸とのうちの１つまたは複数の周りに対称的に構成された、フィルタ処理のために利用可能な、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの１つまたは複数を含む、請求項３２又は３３に記載の非一時的コンピュータ可読記憶媒体。
【請求項４０】
実行されたとき、前記１つまたは複数のプロセッサに、利用可能でない前記ビデオデータの第２の部分のピクセル値を交換するように前記ビデオデータの前記第１の部分の前記境界に位置するピクセル値をミラーリングするためにミラーパディングを実行させる命令をさらに備え、
実行されたとき、前記１つまたは複数のプロセッサに、前記再正規化された部分フィルタを適用させる前記命令が、実行されたとき、前記１つまたは複数のプロセッサに、前記ミラーリングされたピクセル値のうちの少なくとも１つをフィルタ処理するために、前記再正規化された部分フィルタを適用させる命令を備える、請求項３２又は３３に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１１年８月１８日に出願された米国仮出願第６１／５２５，１２８号、２０１１年８月１９日に出願された米国仮出願第６１／５２５，６０６号、および２０１１年９月６日に出願された米国仮出願第６１／５３１，５２８号の利益を主張し、これらの米国仮出願の各々の内容全体は、参照により本明細書に組み込まれる。
【０００２】
本開示は、データ圧縮に関し、より詳細には、パーティションベースフィルタ（partition-based filters）を含むデータ圧縮に関する。
【背景技術】
【０００３】
データ圧縮は、データ記憶空間、送信帯域幅、またはその両方の消費を低減するために、様々な適用例において広く使用されている。データ圧縮の例示的な適用例には、デジタルビデオ、画像、音声、およびオーディオコーディングなど、可視または可聴メディアデータコーディングがある。たとえば、デジタルビデオコーディングは、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレス通信デバイス、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、デジタルカメラ、デジタル記録デバイス、ビデオゲームデバイス、セルラー電話または衛星無線電話などを含む、広範囲にわたるデバイスにおいて使用されている。デジタルビデオデバイスは、デジタルビデオをより効率的に送信および受信するために、ＭＰＥＧ−２規格、ＭＰＥＧ−４規格、Ｈ．２６４／ＭＰＥＧ−４  Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）規格、または（新生のＨ．２６５規格と呼ばれることがある）新生の高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格などの規格に従ってビデオ圧縮技法を実装する。
【０００４】
ビデオ圧縮技法では、ビデオデータに固有の冗長性を低減または除去するために空間的予測、動き推定および動き補償を実行し得る。特に、イントラコーディングは、所与のビデオフレーム内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、隣接フレーム内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。インターコーディングでは、ビデオエンコーダは、２つ以上の隣接するフレーム間の（Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ規格など、様々なビデオコーディング規格においてブロックと呼ばれることがある）マッチングユニットの移動を追跡するために動き推定を実行する。動き推定は、１つまたは複数の参照フレーム中の対応するユニットに対する現在のフレームのユニットの変位を示す動きベクトルを生成する。動き補償は、その動きベクトルを使用して、参照フレームから予測データを生成する。動き補償の後、元のユニットから予測データを減算することによって残差データ（residual data）が形成される。
【０００５】
ビデオエンコーダは、ビデオコーディングプロセスによって生成された残差データのビットレートをさらに低減するために、変換を適用し、その後、量子化およびロスレス統計的コーディングプロセスを適用する。いくつかの事例では、適用される変換は離散コサイン変換（ＤＣＴ）を備える。残差データにＤＣＴを適用することから生成されたＤＣＴ係数は、次いで、量子化プロセスおよび（一般に「エントロピーコーディング」プロセスとして知られる）ロスレス統計的コーディングプロセスを受けて、ビットストリームを生成する。統計的コーディングプロセスの例としては、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context-adaptive variable length coding）またはコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context-adaptive binary arithmetic coding）がある。ビデオデコーダは、符号化ビットストリームを受信し、ロスレス復号を実行してＤＣＴ係数を復元し、ビデオデコーダは、次いで、１つまたは複数の逆ＤＣＴ（ＩＤＣＴ）の適用によってそのＤＣＴ係数を空間領域に逆変換（transform back）して、ユニットの各々について残差データを形成する。残差データと動き情報とを使用して、ビデオデコーダは符号化ビデオを再構成する。
【発明の概要】
【０００６】
概して、本開示は、デブロッキング（ＤＢ：de-blocking）フィルタ、サンプル適応オフセット（ＳＡＯ）フィルタおよび／または適応ループ（ＡＬ）フィルタ（「ＡＬＦ」として示されることもある）など、１つまたは複数のパーティションベースフィルタの適用によってビデオデータをコーディングするための技法を対象とする。本技法は、概してビデオエンコーダおよび／またはビデオデコーダを指すことがあるビデオコーダが、これらのフィルタを適用するとき、適応ループフィルタの従来の実装形態と比較して、これらのフィルタを実装するために必要とされるバッファ容量を低減すると同時に、これらのタイプのフィルタの従来の実装形態において生じる視覚的品質問題をも潜在的に低減し得るいくつかの技法を実行することを可能にし得る。
【０００７】
動作中、ビデオコーダは、符号化目的のために（たとえば、時間的予測のための動き推定／動き補償を実行するときの比較のために）ビデオデータを再構成するために、または復号目的のために（たとえば、再生または記憶目的のために）、ビデオデータを復号し得る。ビデオデータが再構成されると、ビデオコーダは、次いで、ビデオデータのブロックを分離する境界にわたって生じ得る差を平滑化する（smooth）ためにフィルタを適用し得る。この差は、しばしば（丸めを指す事実上別の形である）量子化により生じ、ビデオコーダは、高次変換係数を削除するために量子化を実行し、それによってビデオデータを圧縮し得る。ビデオデータの１つのブロックは、ビデオデータのそのブロックを変える方法で量子化され得るので、（同様に不整合を含み得る）ビデオデータの隣接するブロックの次に閲覧されるときに、ビデオデータのブロック中の不整合が生じ得る。ビデオコーダは、次いで、これらの不整合を減少させるために、この境界にわたって１つまたは複数のフィルタを適用し得る（これらの不整合は、しばしば「ブロッキネスアーティファクト（blockiness artifact）」と呼ばれ、「ブロッキネス」という用語は、ビデオデータをブロックに分割することを伴うビデオコーディングの態様を指す）。
【０００８】
しばしば、ビデオコーダは、３つのフィルタを次々に適用し、第１のフィルタを適用した結果は、次いで、第２のフィルタによってフィルタ処理され、以下同様である。これらのフィルタが適用され得る速さを改善するために、本技法は、ビデオコーダが、「部分フィルタ」と呼ばれることがあるものを生成するために、これらのフィルタのいくつかの係数をなくすことを可能にし得る。これらの部分フィルタは、ピクセルのより少ない行が部分フィルタによってフィルタ処理され得るので、次のフィルタによって生成される結果に、より容易に適用され得る。その上、これらのフィルタがブロック境界にわたって適用されることを考えると、しばしば、これらのフィルタの適用は、前のブロックの行がバッファされる必要があることを必要とし得る。本技法は、ビデオコーダが、バッファ要件を減らすように垂直方向に整合させられるフィルタ係数を削除することを可能にし得、より少ない行がフィルタ処理されるので、バッファ要件を潜在的に減らすと同時に、これらのフィルタのより効率的な適用をも促進し得る。
【０００９】
一態様では、再構成ビデオデータを生成するためにビデオデータをコーディングする方法は、符号化ビデオデータを復号するとき、利用可能でないビデオデータの第２の部分のピクセル値を交換するように再構成ビデオデータの第１の部分の境界に位置するピクセル値をミラーリングするためにミラーパディングを実行することを備える。境界は、ビデオデータの第１の部分をビデオデータの第２の部分から分離する。本方法はまた、ミラーリングされたピクセル値のうちの少なくとも１つをフィルタ処理するために１つまたは複数のフィルタを適用することを備える。
【００１０】
別の態様では、再構成ビデオデータを生成するためにビデオデータをコーディングするためのデバイスは、符号化ビデオデータを復号するとき、利用可能でないビデオデータの第２の部分のピクセル値を交換するように再構成ビデオデータの第１の部分の境界に位置するピクセル値をミラーリングするためにミラーパディングを実行するための手段を備える。境界は、ビデオデータの第１の部分をビデオデータの第２の部分から分離する。本デバイスは、ミラーリングされたピクセル値のうちの少なくとも１つをフィルタ処理するために１つまたは複数のフィルタを適用するための手段をさらに備える。
【００１１】
別の態様では、再構成ビデオデータを生成するために符号化ビデオデータをコーディングするためのデバイスは、符号化ビデオデータを復号するとき、利用可能でないビデオデータの第２の部分のピクセル値を交換するように再構成ビデオデータの第１の部分の境界に位置するピクセル値をミラーリングするためにミラーパディングを実行するように構成された１つまたは複数のプロセッサを備える。境界は、ビデオデータの第１の部分をビデオデータの第２の部分から分離する。１つまたは複数のプロセッサはまた、ミラーリングされたピクセル値のうちの少なくとも１つをフィルタ処理するために１つまたは複数のフィルタを適用するように構成される。
【００１２】
別の態様では、非一時的コンピュータ可読記憶媒体は、実行されたとき、デバイスの１つまたは複数のプロセッサに、再構成ビデオデータを生成するために符号化ビデオデータを復号するとき、利用可能でないビデオデータの第２の部分のピクセル値を交換するように再構成ビデオデータの第１の部分の境界に位置するピクセル値をミラーリングするためにミラーパディングを実行することであって、境界がビデオデータの第１の部分をビデオデータの第２の部分から分離する、実行することと、ミラーリングされたピクセル値のうちの少なくとも１つをフィルタ処理するために１つまたは複数のフィルタを適用することとを行わせる、記憶された命令を備える。
【００１３】
別の態様では、ビデオデータをコーディングする方法は、ビデオデータの第１の部分をビデオデータの第２の部分から分離する、ビデオデータの第１の部分の境界の近くで適用すべきフィルタを選択することであって、フィルタが複数のフィルタ係数を備える、選択することを備える。本方法は、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも１つを判断することと、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも１つの判断に基づいて、部分フィルタを判断することであって、部分フィルタは、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも１つを含まない、部分フィルタを判断することとをさらに備える。本方法は、部分フィルタ内に含まれる複数のフィルタ係数を再正規化することと、デバイスを用いて、ビデオデータのフィルタ処理された第１の部分を生成するために、ビデオデータの第１の部分の境界の近くで再正規化された部分フィルタを適用することとをさらに備える。
【００１４】
別の態様では、ビデオデータをコーディングするためのデバイスは、ビデオデータの第１の部分をビデオデータの第２の部分から分離する、ビデオデータの第１の部分の境界の近くで適用すべきフィルタを選択するための手段であって、フィルタが複数のフィルタ係数を備える、選択するための手段を備える。本デバイスは、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも１つを判断するための手段と、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも１つの判断に基づいて、部分フィルタを判断するための手段であって、部分フィルタは、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも１つを含まない、部分フィルタを判断するための手段とをさらに備える。本デバイスはまた、部分フィルタ内に含まれる複数のフィルタ係数を再正規化するための手段と、ビデオデータのフィルタ処理された第１の部分を生成するために、ビデオデータの第１の部分の境界の近くで再正規化された部分フィルタを適用するための手段とを備える。
【００１５】
別の態様では、ビデオデータをコーディングするためのデバイスは、ビデオデータの第１の部分をビデオデータの第２の部分から分離する、ビデオデータの第１の部分の境界の近くで適用すべきフィルタを選択することであって、フィルタが複数のフィルタ係数を備える、選択することを行うように構成された１つまたは複数のプロセッサを備える。１つまたは複数のプロセッサはまた、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも１つを判断することと、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも１つの判断に基づくこととを行うように構成される。１つまたは複数のプロセッサはまた、部分フィルタを判断することであって、部分フィルタは、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも１つを含まない、判断することと、部分フィルタ内に含まれる複数のフィルタ係数を再正規化することと、ビデオデータのフィルタ処理された第１の部分を生成するために、ビデオデータの第１の部分の境界の近くで再正規化された部分フィルタを適用することとを行うように構成される。
【００１６】
別の態様では、非一時的コンピュータ可読記憶媒体は、実行されたとき、デバイスの１つまたは複数のプロセッサに、ビデオデータの第１の部分をビデオデータの第２の部分から分離する、ビデオデータの第１の部分の境界の近くで適用すべきフィルタを選択することであって、フィルタが複数のフィルタ係数を備える、選択することと、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも１つを判断することと、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも１つの判断に基づいて、部分フィルタを判断することであって、部分フィルタは、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも１つを含まない、部分フィルタを判断することと、部分フィルタ内に含まれる複数のフィルタ係数を再正規化することと、ビデオデータのフィルタ処理された第１の部分を生成するために、ビデオデータの第１の部分の境界の近くで再正規化された部分フィルタを適用することとを行わせる、記憶された命令を備える。
【００１７】
本技法の１つまたは複数の態様の詳細を添付の図面および以下の説明に記載する。本開示で説明する技法の他の特徴、目的、および利点は、これらの説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１８】
【図１】本開示の技法を実装し得るビデオ符号化および復号システムを示すブロック図。
【図２】本開示で説明するパーティションベースフィルタ技法を実装し得る、図１の例に示したビデオエンコーダの一例を示すブロック図。
【図３】本開示で説明するパーティションベースフィルタ処理技法を実装し得る、図１の例に示したビデオデコーダの一例を示すブロック図。
【図４Ａ】本開示で説明する技法の部分フィルタ処理態様に従ってフィルタ処理されるビデオデータの例示的なブロックを示す図。
【図４Ｂ】本開示で説明する技法の部分フィルタ処理態様に従ってフィルタ処理されるビデオデータの例示的なブロックを示す図。
【図４Ｃ】本開示で説明する技法の部分フィルタ処理態様に従ってフィルタ処理されるビデオデータの例示的なブロックを示す図。
【図４Ｄ】本開示で説明する技法の部分フィルタ処理態様に従ってフィルタ処理されるビデオデータの例示的なブロックを示す図。
【図４Ｅ】本開示で説明する技法の部分フィルタ処理態様に従ってフィルタ処理されるビデオデータの例示的なブロックを示す図。
【図５Ａ】本開示で説明する技法のミラーパディング態様に従ってフィルタ処理されるビデオデータの例示的なブロックを示す図。
【図５Ｂ】本開示で説明する技法のミラーパディング態様に従ってフィルタ処理されるビデオデータの例示的なブロックを示す図。
【図６】本開示で説明する技法の部分フィルタ処理態様を実装する際のビデオコーダの例示的な動作を示すフローチャート。
【図７】本開示で説明する技法のミラーパディング態様を実装する際のビデオコーダの例示的な動作を示すフローチャート。
【詳細な説明】
【００１９】
図１は、本開示の技法を実装し得るビデオ符号化および復号システム１０を示すブロック図である。図１の例に示すように、システム１０は、宛先デバイス１４による復号のために符号化ビデオを生成するソースデバイス１２を含む。ソースデバイス１２は、通信チャネル１６を介して宛先デバイス１４に符号化ビデオを送信するか、あるいは、必要に応じて符号化ビデオが宛先デバイス１４によってアクセスされ得るように記憶媒体３４またはファイルサーバ３６に符号化ビデオを記憶し得る。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、（セルラー電話またはハンドセットおよびいわゆるスマートフォンを含む）電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーミングコンソールなどを含む、多種多様なデバイスのいずれかを備え得る。
【００２０】
多くの場合、そのようなデバイスはワイヤレス通信のために装備され得る。したがって、通信チャネル１６はワイヤレスチャネルを備え得る。代替的に、通信チャネル１６は、ワイヤードチャネル、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、ワイヤレスチャネルおよびワイヤードチャネルまたは他のタイプの通信チャネルの組合せ、あるいは符号化ビデオデータの送信に好適な通信チャネルの組合せを備え得る。いくつかの例では、通信チャネル１６は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル１６は、したがって、概して、ワイヤード媒体またはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス１２から宛先デバイス１４に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル１６は、ソースデバイス１２から宛先デバイス１４への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００２１】
図１の例にさらに示すように、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、変調器／復調器２２（「モデム２２」）と、送信機２４とを含む。ソースデバイス１２において、ビデオソース１８は、ビデオキャプチャデバイスなどのソースを含み得る。ビデオキャプチャデバイスは、例として、ビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および／またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムのうちの１つまたは複数を含み得る。一例として、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、本開示で説明する技法は、ワイヤレスアプリケーションまたは設定に限定されず、ビデオ符号化および／または復号機能を含む非ワイヤレスデバイスに適用され得る。ソースデバイス１２および宛先デバイス１６は、したがって、本明細書で説明する技法をサポートすることができるコーディングデバイスの例にすぎない。
【００２２】
ビデオエンコーダ２０は、キャプチャされた、プリキャプチャされた、またはコンピュータ生成されたビデオを符号化し得る。符号化されると、ビデオエンコーダ２０が、この符号化されたビデオをモデム２２に出力し得る。モデム２２が、次いで、ワイヤレス通信プロトコルなどの通信規格に従って、符号化されたビデオを変調し得、その後、送信機２４が、変調された符号化ビデオデータを宛先デバイス１４に送信し得る。モデム２２は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機２４は、増幅器、フィルタ、および１つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
【００２３】
ビデオエンコーダ２０によって符号化される、キャプチャされた、プリキャプチャされた、またはコンピュータ生成されたビデオはまた、後の取出し、復号および消費のために、記憶媒体３４またはファイルサーバ３６上に記憶され得る。記憶媒体３４は、ブルーレイ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、または符号化ビデオを記憶するための任意の他の好適なデジタル記憶媒体を含み得る。宛先デバイス１４は、記憶媒体３４またはファイルサーバ３６に記憶された符号化ビデオにアクセスし、この符号化ビデオを復号して、復号されたビデオを生成し、この復号されたビデオを再生し得る。
【００２４】
ファイルサーバ３６は、符号化ビデオを記憶し、その符号化ビデオを宛先デバイス１４に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバには、（たとえば、ウェブサイト用の）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、ローカルディスクドライブ、または符号化ビデオデータを記憶し、それを宛先デバイスに送信することが可能な他のタイプのデバイスがある。ファイルサーバ３６からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組合せであり得る。宛先デバイス１４は、インターネット接続を含む、任意の標準のデータ接続に従ってファイルサーバ３６にアクセスし得る。この接続は、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ接続またはワイヤレスセルラーデータ接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、ワイヤードチャネルとワイヤレスチャネルの両方またはファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適な他のタイプの通信チャネルの組合せを含み得る。
【００２５】
宛先デバイス１４は、図１の例では、受信機２６と、モデム２８と、ビデオデコーダ３０と、ディスプレイデバイス２９とを含む。宛先デバイス１４の受信機２６は、チャネル１６を介して情報を受信し、モデム２８はその情報を復調して、ビデオデコーダ３０のために復調されたビットストリームを生成する。チャネル１６を介して通信される情報は、関連する符号化ビデオデータを復号する際にビデオデコーダ３０が使用するためにビデオエンコーダ２０によって生成される様々なシンタックス情報を含み得る。そのようなシンタックスはまた、記憶媒体３４またはファイルサーバ３６に記憶された符号化ビデオデータとともに含まれ得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、ビデオデータを符号化または復号することが可能であるそれぞれのエンコーダデコーダ（コーデック）の一部を形成し得る。
【００２６】
宛先デバイス１４のディスプレイデバイス２９は、閲覧者による消費のためにビデオデータを提示することが可能な任意のタイプのディスプレイを表す。宛先デバイス１４に組み込まれるように示されているが、ディスプレイデバイス２９は、宛先デバイス１４に、またはその外部に組み込まれ得る。いくつかの例では、宛先デバイス１４は、一体型ディスプレイデバイスを含み得、また外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス１４はディスプレイデバイスであり得る。概して、ディスプレイデバイス２９は、復号されたビデオデータをユーザに対して表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００２７】
本開示は、概して、ビデオデコーダ３０など、別のデバイスにシンタックス情報を「シグナリング」するビデオエンコーダ２０に言及し得る。ただし、ビデオエンコーダ２０は、シンタックス要素を、ビデオデータの様々な符号化された部分に関連付けることによって情報をシグナリングし得ることを理解されたい。すなわち、ビデオエンコーダ２０は、いくつかのシンタックス要素を、ビデオデータの様々な符号化された部分のヘッダに記憶することによってデータを「シグナリング」し得る。場合によっては、そのようなシンタックス要素は、ビデオデコーダ３０によって受信され、復号されるより前に、符号化され、記憶され得る（たとえば、記憶媒体３４またはファイルサーバ３６に記憶され得る）。したがって、「シグナリング」という用語は、通信がリアルタイムまたはほぼリアルタイムで行われるか、あるいは、符号化時に媒体にシンタックス要素を記憶し、次いで、この媒体に記憶された後の任意の時間にそのシンタックス要素が復号デバイスによって取り出され得るときなどに行われ得る、ある時間期間にわたって行われるかにかかわらず、概して、圧縮ビデオデータを復号するために使用されるシンタックスまたは他のデータの通信を指し得る。
【００２８】
ビデオエンコーダ２０およびビデオデコーダ３０は、現在開発中の高効率ビデオコーディング（ＨＥＶＣ）規格などのビデオ圧縮規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４、Ｐａｒｔ  １０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格、またはそのような規格の拡張版など、他のプロプライエタリまたは業界標準に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。他の例には、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。
【００２９】
ＨＭでは、ビデオデータのブロックをコーディングユニット（ＣＵ）と呼ぶ。概して、ＣＵは、ＣＵが、Ｈ．２６４のマクロブロックに関連するサイズ差異を有しないことを除いて、Ｈ．２６４に従ってコーディングされたマクロブロックと同様の目的を有する。したがって、ＣＵはサブＣＵに分割され得る。概して、本開示におけるＣＵへの言及は、ピクチャの最大コーディングユニット（ＬＣＵ：largest coding unit）またはＬＣＵのサブＣＵを指すことがある。たとえば、ビットストリーム内のシンタックスデータが、ピクセルの数に関して最大コーディングユニットであるＬＣＵを定義し得る。ＬＣＵはサブＣＵに分割され得、各サブＣＵはサブＣＵに分割され得る。ビットストリームのシンタックスデータは、最大ＣＵ深さと呼ばれる、ＬＣＵが分割され得る最大回数を定義し得る。それに応じて、ビットストリームは最小コーディングユニット（ＳＣＵ：smallest coding unit）をも定義し得る。
【００３０】
ＬＣＵは階層４分木データ構造に関連付けられ得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはＬＣＵに対応する。ＣＵが４つのサブＣＵに分割された場合、そのＣＵに対応するノードは、サブＣＵに対応する４つのノードの各々への参照を含む。４分木データ構造の各ノードは、対応するＣＵのシンタックスデータを与え得る。たとえば、４分木のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵのシンタックス要素は、再帰的に定義され得、ＣＵがサブＣＵに分割されるかどうかに依存し得る。
【００３１】
分割されないＣＵは、１つまたは複数の予測ユニット（ＰＵ：prediction unit）を含み得る。概して、ＰＵは、対応するＣＵの全部または一部分を表し、そのＰＵの参照サンプルを取り出すためのデータを含む。たとえば、ＰＵがイントラモード符号化されるとき、ＰＵは、ＰＵのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵのための１つまたは複数の動きベクトルを定義するデータを含み得る。動きベクトルは、概して、１つまたは複数の参照フレーム中のコロケートＣＵを識別し、「参照フレーム」という用語は、ＰＵがその中に配置されたフレームの前または後に時間的に生じるフレームを指す。動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（たとえば、１／４ピクセル精度もしくは１／８ピクセル精度）、動きベクトルがそれにポイントする参照フレーム、識別された参照フレームが現在のフレームの前にあるか後にあるかを識別する予測方向、および／または動きベクトルの参照リスト（たとえば、リスト０もしくはリスト１）を記述し得る。（１つまたは複数の）ＰＵを定義するＣＵのデータはまた、たとえば、ＣＵを１つまたは複数のＰＵに区分することを記述し得る。区分モードは、ＣＵがコーディングされないか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかの間で異なり得る。
【００３２】
１つまたは複数の動きベクトルを定義する１つまたは複数のＰＵを有することに加えて、ＣＵは、１つまたは複数の変換ユニット（ＴＵ：transform unit）を含み得る。ＰＵを使用した予測の後に、ビデオエンコーダは、ＰＵに対応するＣＵの部分の残差値を計算し得る。残差値は変換され、量子化され、走査され得る。ＴＵは、必ずしもＰＵのサイズに制限されるとは限らない。したがって、ＴＵは、同じＣＵの対応するＰＵよりも大きいことも小さいこともある。いくつかの例では、ＴＵの最大サイズは、対応するＣＵのサイズであり得る。本開示ではまた、ＣＵ、ＰＵ、および／またはＴＵのいずれか１つまたは組合せを指すために「ブロック」という用語を使用する。
【００３３】
概して、符号化ビデオデータは予測データと残差データとを含み得る。ビデオエンコーダ２０は、イントラ予測モードまたはインター予測モード中に予測データを生成し得る。イントラ予測は、概して、あるピクチャのブロック中のピクセル値を、同じピクチャの隣接する、前にコーディングされたブロック中の参照サンプルに対して予測することを伴う。インター予測は、概して、あるピクチャのブロック中のピクセル値を、前にコーディングされたピクチャのデータに対して予測することを伴う。
【００３４】
イントラ予測またはインター予測の後に、ビデオエンコーダ２０はブロックの残差ピクセル値を計算し得る。残差値は、概して、ブロックの予測ピクセル値データと、ブロックの真のピクセル値データとの間の差分に対応する。たとえば、残差値は、コード化ピクセルと予測ピクセルとの間の差分を示すピクセル差分値を含み得る。いくつかの例では、コード化ピクセルは、コーディングされるべきピクセルのブロックに関連し得、予測ピクセルは、コード化ブロックを予測するために使用されるピクセルの１つまたは複数のブロックに関連し得る。
【００３５】
ブロックの残差値をさらに圧縮するために、残差値は、（「エネルギー」とも呼ばれる）できるだけ多くのデータをできるだけ少数の係数に圧縮する変換係数のセットに変換され得る。変換技法は、離散コサイン変換（ＤＣＴ）プロセスまたは概念的に同様のプロセス、整数変換、ウェーブレット変換、あるいは他のタイプの変換を備え得る。その変換は、ピクセルの残差値を空間領域から変換領域に変換する。変換係数は、元のブロックと通常同じサイズである係数の２次元行列に対応する。言い換えれば、元のブロック中のピクセルとちょうど同数の変換係数がある。ただし、変換により、変換係数の多くは、０に等しい値を有し得る。
【００３６】
ビデオエンコーダ２０は、次いで、ビデオデータをさらに圧縮するために変換係数を量子化し得る。量子化は、概して、相対的に大きい範囲内の値を相対的に小さい範囲中の値にマッピングし、それによって、量子化変換係数を表すために必要とされるデータの量を低減することを伴う。より詳細には、量子化は、ＬＣＵレベルで定義され得る量子化パラメータ（ＱＰ：quantization parameter）に従って適用され得る。したがって、ＬＣＵ内のＣＵの異なるＰＵに関連するＴＵ中のすべての変換係数に、同じ量子化レベルが適用され得る。ただし、ＱＰ自体をシグナリングするのではなく、ＱＰの変化（すなわち、Δ）がＬＣＵとともにシグナリングされ得る。ΔＱＰは、前に通信されたＬＣＵのＱＰなど、何らかの参照ＱＰに対するＬＣＵの量子化パラメータの変化を定義する。
【００３７】
量子化の後に、ビデオエンコーダ２０は、変換係数を走査して、量子化変換係数を含む２次元行列から１次元ベクトルを生成し得る。ビデオエンコーダ２０は、次いで、得られたアレイを符号化してデータをなお一層圧縮するために、（誤用により（by the misnomer）「エントロピー符号化」と通常呼ばれる）統計的ロスレス符号化を実行し得る。概して、エントロピーコーディングは、一連の量子化変換係数および／または他のシンタックス情報を一括して圧縮する１つまたは複数のプロセスを備える。たとえば、ΔＱＰ、予測ベクトル、コーディングモード、フィルタ、オフセット、または他の情報など、シンタックス要素はまた、エントロピーコード化ビットストリーム中に含まれ得る。走査された係数は次いで、たとえば、コンテンツ適応型可変長コーディング（ＣＡＶＬＣ：content adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、または任意の他の統計的ロスレスコーディングプロセスによって、任意のシンタックス情報とともにエントロピーコーディングされる。
【００３８】
ビデオエンコーダ２０は、次いで、前に符号化されたビデオデータを再構成し、このビデオデータを復号し、動き推定および補償を実行するときの参照として使用するために（代替的に「参照フレームストア」と呼ばれることがある）メモリにビデオデータを記憶し得る。このビデオデータを再構成するために、ビデオエンコーダ２０は、量子化された変換係数に対して逆量子化を実行して、変換係数を出力し得、変換係数は、次いで、周波数領域から空間領域に変換されて、再構成された残差ビデオデータを形成する。ビデオエンコーダ２０は、次いで、再構成された残差ビデオデータを前に識別された参照ブロックに加算して、ビデオデータの再構成ブロックを形成する。いくつかの事例では、ビデオエンコーダ２０は、（一例として、ＨＥＶＣで使用されるようなスライス、パーティション、ツリーブロック、ＬＣＵおよび／またはＣＵを指し得る）パーティションへのビデオデータの細分により生じる不連続性を除去するために、ビデオデータの再構成ブロックをフィルタ処理し得る。
【００３９】
例示のために、ビデオエンコーダ２０は、３つのフィルタをカスケード式に適用し得、それによって、ビデオエンコーダ２０は、ビデオデータの再構成ブロックに第１のデブロッキング（ＤＢ）フィルタを適用し、続いて、ＤＢフィルタを適用したことから生じる出力にサンプル適応オフセット（ＳＡＯ）フィルタを適用し、次いで続いて、ＳＡＯフィルタを適用したことから生じる出力に適応ループフィルタ（ＡＬＦ）を適用する。一般に、ビデオエンコーダ２０は、ビデオデータの２つの隣接する再構成ブロック間の不連続性を平滑化するかまたは場合によっては低減するように、ビデオデータの再構成ブロックを分離する境界にわたってこれらのフィルタを適用する。この境界は、（同じビデオブロックの２つの部分を分ける単一のビデオブロック内、または２つのビデオブロック間の境界を意味する）仮想境界であり得る。さらに、ビデオエンコーダ２０は、一般に、上から下に、左から右にフレームを横断する読取り順序でブロックを処理する。その結果、ビデオエンコーダ２０は、一般に、再構成ブロックの下部境界に隣接する再構成ブロックがフィルタの即時適用のために必要とされ得るとき、これらの隣接する再構成ブロックを生成しない。これらの再構成ビデオブロックを与える際の遅延は、フィルタの適用における遅延をもたらし、フィルタが、前のブロックの下部分と隣接する再構成ビデオブロックの上部分とに適用され得るように、ビデオエンコーダ２０が、現在の再構成ビデオブロックの最下行をバッファするためにラインバッファまたは他のメモリ構造を含むことが必要になり得る。
【００４０】
ラインバッファの追加は、しかしながら、ビデオエンコーダ２０のコストおよび電力効率を大幅に増加させ得る。ビデオエンコーダ２０が、モバイル、または（バッテリーまたは他の制限された電源によって電力供給されるデバイスを指すことがある）他の電力が制限されたデバイスにおいて使用するために指定された場合、ビデオエンコーダ２０の電力プロファイルは、大量のラインバッファが採用されたときに大幅に増加し、デバイスのビデオ機能を大幅に減らし得る。この理由で、ビデオエンコーダ２０は、これらのフィルタの適用に関連する遅延を低減し、ラインバッファのサイズを潜在的に低減するための他のプロセスを実行し得る。１つのそのようなプロセスは、ビデオエンコーダ２０が反復「パディング」プロセスを実行することを伴い、それにより、ビデオデータの現在の再構成ブロックの下部エッジに最も近いピクセル値は、ビデオデータの隣接する再構成ブロックの実際のピクセル値の代わりに反復される。したがって、ビデオエンコーダ２０は、ビデオデータの隣接する再構成ブロックを待つことに関連する遅延の大部分を潜在的になくし、ラインバッファのサイズを潜在的に低減し得る。しかしながら、この形態の反復パディングは最適なビデオ品質を与えず、実際のピクセル値が使用されていれば場合によっては現れていなかった可能性がある不連続性を再構成ビデオデータ中にしばしば挿入し得る。ビデオデコーダ３０は、同じ問題がある再構成ビデオブロックに関して、同様のフィルタ処理プロセスを実装し得る。
【００４１】
本開示で説明する技法によれば、ビデオエンコーダおよび／またはビデオデコーダを概して指し得るビデオコーダは、フィルタの従来の実装形態と比較してこれらのフィルタを実装するのに必要とされるラインバッファまたは他のメモリ構造のサイズを低減すると同時に、これらのタイプのフィルタの従来の実装形態で生じる視覚的品質問題をも潜在的に低減し得る方法で、これらのタイプのフィルタを適用し得る。一態様では、ビデオコーダは、最大コーディングユニット（ＬＣＵ）の境界などのパーティション境界において、完全フィルタではなく、部分フィルタを適用し得、部分フィルタは、カスケード式に（２つ以上のフィルタのカスケード式適用を意味し、フィルタのうちの第１のフィルタが適用され、フィルタのうちの第２のフィルタが、第１のフィルタを適用した結果に適用される）これらのタイプのフィルタを適用するのに必要とされる時間の量を低減すると同時に、ラインバッファサイズ要件をも潜在的に減らし得る。これらのフィルタは、ビデオデータのピクセル値がフィルタ処理のために利用可能にならないフィルタの（「タップ」と呼ばれることもある）それらの係数が、選択された「完全」フィルタから削除され、それによって、完全フィルタのフィルタ係数のサブセットまたは部分的な量のみを有するフィルタを生成するという点で部分的である。
【００４２】
いくつかの事例では、これらの部分フィルタは、フィルタのｘ軸および／またはｙ軸の両側のフィルタタップの数が等しくないという点で非対称である。言い換えれば、本技法は、現在の再構成ビデオブロックへのフィルタの適用に必要な隣接する再構成ビデオブロックの行数を低減し得るｘ軸および／またはｙ軸の一方または両方に沿ったバイアスを有するフィルタを提供し得る。たとえば、フィルタは、フィルタのｘ軸とｙ軸の両方に沿ったタップを備え得る。本技法は、ｙ軸フィルタタップについて正のｙ軸バイアスを有するフィルタを提供し得、これは、このフィルタが、ｘ軸の下よりもｘ軸の上に多くのｙ軸タップを含むことを意味する。この意味で、フィルタがフィルタタップのｘ軸フィルタ行の上と下の両方で同数のｙ軸タップを含まないので、そのフィルタは「非対称」である。タップの数がｘ軸の下で低減されるので、ビデオエンコーダ２０および／またはビデオデコーダ３０は、それが必要とする、現在の再構成ビデオブロックの下に（場合によっては真下に）位置する再構成ビデオブロックの行がより少ないか、場合によってはないことがあるように、非対称フィルタを適用し得る。この意味で、本技法は、ラインバッファサイズ要件を低減し得、さらには、この目的のために使用されるラインバッファを完全になくし得ると同時に、いくつかの事例では、ビデオエンコーダ２０および／またはビデオデコーダ３０が、隣接する再構成ビデオブロックを待つ必要がないという意味で、コーディング遅延をも低減する。
【００４３】
他の例では、部分フィルタは対称であり、これらの対称部分フィルタは、フィルタｘ軸とｙ軸の両側に同数のフィルタタップを含むが、選択された対称完全フィルタよりもｘ軸および／またはｙ軸に沿って含むフィルタタップは少ない。これらの対称部分フィルタはまた、概して、対称部分フィルタが、フィルタ処理されている現在の再構成ビデオブロックの下に（通常真下に）位置する再構成ビデオブロックを待つ必要なしに適用され得るように、ｙ軸に沿って含み得るフィルタタップはより少ない。この場合でも、タップの数がｘ軸の下で低減されるので、ビデオエンコーダ２０および／またはビデオデコーダ３０は、それが必要とする、現在の再構成ビデオブロックの下に（場合によっては真下に）位置する再構成ビデオブロックの行がより少ないか、場合によってはないことがあるように、対称部分フィルタを適用し得る。この意味で、本技法は、上述のように、ラインバッファサイズ要件を低減し得、さらには、この目的のために使用されるラインバッファを完全になくし得ると同時に、いくつかの事例では、ビデオエンコーダ２０および／またはビデオデコーダ３０が、隣接する再構成ビデオブロックを待つ必要がないという意味で、コーディング遅延をも低減する。
【００４４】
動作中、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ビデオデータの第１のブロックをビデオデータの第２のブロックから分離するビデオデータの第１のブロックの境界の近くで適用すべきフィルタを選択し、選択されたフィルタは、（「フィルタタップ」または「タップ」と呼ばれることもある）いくつかのフィルタ係数を備える。ビデオエンコーダ２０および／またはビデオデコーダ３０は、一例として、主観的品質向上、または元のフレームと再構成フレームとの間の誤りを最小限に抑えること（すなわち、ウィーナーフィルタ（Wiener filter）ベース）を含む、いくつかの基準に基づいて、フィルタ（たとえば、フィルタタイプ、サイズおよび形状を意味する）を選択し得る。
【００４５】
フィルタを選択した後に、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ビデオデータがフィルタ処理されるために利用可能にならないフィルタ係数のうちの少なくとも１つを判断し得る。たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、別のフィルタの適用のために、または現在の第１のブロックに隣接する第２のブロックがまだ再構成されていないために、フィルタ係数のうちのいずれが利用可能でないことがあるかを判断し得る。ビデオデータがフィルタ処理されるために利用可能にならないフィルタ係数のうちの少なくとも１つの判断に基づいて、ビデオエンコーダ２０および／またはビデオデコーダ３０は、部分フィルタが、ビデオデータがフィルタ処理されるために利用可能になる複数のフィルタ係数のうちの少なくとも１つのうちの１つまたは複数を含むようなこの部分フィルタを判断し得る。言い換えれば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ビデオデータがフィルタ処理のために利用可能にならない選択されたフィルタのために指定されたフィルタ係数のうちの少なくとも１つを削除し得る。いくつかの事例では、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ビデオデータがフィルタ処理のために、たとえば、以下でより詳細に説明するように対称フィルタを生成するために利用可能になる選択されたフィルタのために指定されたフィルタ係数のうちの１つまたは複数を削除し得る。
【００４６】
通常、選択されたフィルタのためのフィルタ係数の合計は、フィルタの適用によってビデオデータを追加または削除しないように１になる（フィルタ係数が正規化されることを意味する）。（最初に選択されたフィルタからの１つまたは複数のフィルタ係数の削除により、再び「部分」フィルタと呼ばれる）部分フィルタを判断するために、選択されたフィルタのフィルタ係数を削除することによって、得られた部分フィルタは非正規（un-normalized）になる（部分フィルタのフィルタ係数の合計が１にならないことを意味する）。その結果、ビデオエンコーダ２０および／またはビデオデコーダ３０は、部分フィルタ内に含まれる複数のフィルタ係数を再正規化し得る。ビデオエンコーダ２０および／またはビデオデコーダ３０は、次いで、ビデオデータのフィルタ処理された第１のブロックを生成するために、ビデオデータの第１のブロックの境界の近くで再正規化された部分フィルタを適用し得る。ビデオエンコーダ２０および／またはビデオデコーダ３０は、ビデオデータの他のブロックを再構成する際の参照ビデオデータとして使用するために、ビデオデータのこのフィルタ処理された第１のブロックを記憶し得る。
【００４７】
さらに、ビデオエンコーダ２０および／またはビデオデコーダ３０は、これらまたは他のフィルタを適用するときに「ミラーリングされたパディング」と呼ばれるパディングの形態を実行し得、「ミラーリングされたパディング」は、ピクセルの反復パディングを使用して変更されるパーティションの境界において適応ループフィルタの従来の適用を生じ得る、パーティションの境界においてもたらされる不連続性を回避することによって、復号ビデオデータのより良好な視覚的品質を与え得る。ミラーパディングは、それによって、ビデオエンコーダ２０および／またはビデオデコーダ３０が、実際のピクセル値を待つ必要なしに、上述のフィルタのうちの１つまたは複数を適用し得るように、ビデオエンコーダ２０および／またはビデオデコーダ３０が、実際のピクセル値の代わりに、すなわち、実際のピクセル値に取って代わるためにブロックの現在の境界の近くでピクセル値をミラーリングするプロセスを指し得る。本開示で説明する技法のミラーパディング態様は、ラインバッファのサイズを低減するか、またはさらには場合によってはそれをなくすと同時に、以下でより詳細に説明するように、パディングの反復または他の形態と比較してビデオ品質の改善をも促進し得る。
【００４８】
図２は、本開示で説明するパーティションベースフィルタ技法を実装し得る例示的なビデオエンコーダ２０を示すブロック図である。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースの圧縮モードのいずれかを指し得る。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。
【００４９】
図２の例では、ビデオエンコーダ２０は、モード選択ユニット４０と、動き推定ユニット４２と、動き補償ユニット４４と、イントラ予測ユニット４６と、参照ピクチャメモリ６４と、加算器５０と、変換モジュール５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。また、再構成ビデオからブロッキネスアーティファクトを除去するためのブロック境界をフィルタ処理するために、フィルタユニット６３が含まれ、「ブロッキネスアーティファクト」という句は、（ＬＣＵおよびＣＵなどの）ブロックへのピクチャまたはビデオフレームの区分により生じる、再構成ビデオデータ中のアーティファクトを指す。
【００５０】
図２に示すように、ビデオエンコーダ２０は、符号化されるべきビデオスライス内の現在のビデオブロックを受信する。スライスは、複数のビデオブロック、すなわち、一例としてＨＥＶＣに記載されているツリーブロックに分割され得る。モード選択ユニット４０は、誤差結果に基づいて、現在のビデオブロックについて、コーディングモードのうちの１つ、すなわちイントラモードまたはインターモードを選択し得る。イントラモードまたはインターモードが選択された場合、モード選択ユニット４０は、残差ブロックデータを生成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器５０に与え、参照ピクチャとして使用するための符号化ブロックを再構成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器６２に与え得る。イントラ予測ユニット４６は、空間圧縮を提供するために、コーディングされるべき現在のブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対する現在のビデオブロックのイントラ予測コーディングを実行する。動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を提供するために、１つまたは複数の参照ピクチャ中の１つまたは複数の予測ブロックに対する現在のビデオブロックのインター予測コーディングを実行する。
【００５１】
インターコーディングの場合、動き推定ユニット４２は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを判断するように構成され得る。所定のパターンは、シーケンス中のビデオスライスをＰスライス、Ｂスライスまたは一般化されたＰ／Ｂ（ＧＰＢ）スライスに指定し得る。動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット４２によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。
【００５２】
インター予測ブロックは、参照ピクチャにおいて、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって判断され得るピクセル差分に関して、コーディングされるべきビデオブロックのＰＵにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ２０は、参照ピクチャメモリ６４に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を計算し得る。したがって、動き推定ユニット４２は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
【００５３】
動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライスにおけるビデオブロックのＰＵのための動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【００５４】
動き補償ユニット４４によって実行される動き補償は、動き推定によって判断された動きベクトルに基づいて予測ブロックをフェッチまたは生成することを伴い得る。現在のビデオブロックのＰＵについての動きベクトルを受信すると、動き補償ユニット４４は、動きベクトルが参照ピクチャリストのうちの１つにおいて指す予測ブロックの位置を特定し得る。ビデオエンコーダ２０は、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。動き補償ユニット４４はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【００５５】
代替的に、ビデオエンコーダ２０は、イントラ予測と呼ばれるプロセスを実行し、それによって、ビデオエンコーダ２０は、空間的に隣接するブロックを使用して現在のブロックを予測し得る。イントラ予測は、Ｉフレームのために実行され、個々のスライスが他の時間的に近接したフレームと無関係に再構成され得るように、スライスに限定され得る。いくつかの事例では、２つ以上の空間的に隣接するブロックが、現在のブロックのための参照ブロックを形成し得る。イントラ予測は、インター予測と同様に現在のブロックのための予測ブロックを生成するために実行され得る。
【００５６】
いずれの場合も、動き補償ユニット４４が現在のビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ２０は、加算器５０を使用して現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、ＣＵのいわゆる「コーディングノード」中に含まれ、変換モジュール５２に受け渡され得る。変換モジュール５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換モジュール５２は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。変換モジュール５２は、ＣＵに関連するＴＵ中の残差ビデオデータに適用される各変換のタイプと潜在的に各変換の係数とに関する情報を、他の変換関係情報とともに記憶し得る。
【００５７】
変換モジュール５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深さを低減し得る。量子化の程度は、量子化パラメータを調整することによって修正され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット５６が走査を実行し得る。
【００５８】
量子化に続いて、エントロピー符号化ユニット５６は、量子化変換係数を符号化するために（「エントロピー符号化」と呼ばれることがある）統計的ロスレス符号化形態を実行する。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、または別のエントロピー符号化技法を実行し得る。エントロピー符号化に続いて、エントロピー符号化ユニット５６は、ビデオデコーダ３０に符号化ビットストリームを送信するか、あるいは後でビデオデコーダ３０に送信するかまたはビデオデコーダ３０が取り出すために符号化ビットストリームをアーカイブし得る。エントロピー符号化ユニット５６はまた、コーディングされている現在のビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
【００５９】
逆量子化ユニット５８および逆変換ユニット６０は、それぞれ逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器６２は、再構成された残差ブロックを動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ６４に記憶するための参照ブロックを生成する。参照ブロックは、ブロッキネスアーティファクトを除去するためにフィルタユニット６３によってフィルタ処理される。参照ブロックは、次いで、参照ピクチャメモリ６４に記憶される。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット４２と動き補償ユニット４４とによって参照ブロックとして使用され得る。
【００６０】
フィルタユニット６３は、本開示で説明する技法に従ってパーティションベースフィルタのうちの１つまたは複数に適用するモジュールを表し得る。この点において、フィルタユニット６３は、ビデオデータの第１のブロックをビデオデータの第２のブロックから分離するビデオブロックの境界の近くで適用すべき完全フィルタを選択し得、選択されたフィルタは、（この場合も、「フィルタタップ」または「タップ」と呼ばれることもある）いくつかのフィルタ係数を備える。フィルタユニット６３は、上記で説明した基準を含むいくつかの基準に基づいてフィルタを選択し得る。選択された完全フィルタは、知覚された視覚的品質を潜在的に改善するために再構成ビデオブロックに通常適用されるＤＢフィルタ、ＳＯＡフィルタ、ＡＬＦまたは他のタイプのフィルタのうちの１つまたは複数を備え得る。
【００６１】
完全フィルタを選択した後に、フィルタユニット６３は、ビデオデータがフィルタ処理されるために利用可能にならない、完全フィルタのフィルタ係数のうちの少なくとも１つを判断し得る。ビデオデータがフィルタ処理されるために利用不可能になる、完全フィルタのフィルタ係数のうちの少なくとも１つを判断するこのプロセスについて、図４Ａ〜図４Ｅの例に関して以下でより詳細に説明する。ビデオデータがフィルタ処理されるために利用可能にならないフィルタ係数のうちの少なくとも１つの判断に基づいて、フィルタユニット３０は、部分フィルタが、コンテンツデータがフィルタ処理されるために利用可能になる複数のフィルタ係数のうちのそれらのうちの１つまたは複数を含むようなこの部分フィルタを判断し得る。言い換えれば、フィルタユニット６３は、ビデオデータがフィルタ処理のために利用可能にならない選択された完全フィルタのために指定されたフィルタ係数のうちの少なくとも１つを削除し得る。フィルタユニット６３は、次いで、これらの残りのフィルタ係数の合計がもう一度１になるように、部分フィルタ内に含まれる複数のフィルタ係数を再正規化し得る。フィルタユニット６３は、次いで、ビデオデータのフィルタ処理された第１のブロックを生成するために、ビデオデータの第１のブロックの境界の近くで再正規化された部分フィルタを適用し得る。フィルタユニット６３は、ビデオデータの他の部分を再構成する際の参照サンプルとして使用するために、ビデオデータのこのフィルタ処理された第１のブロックを記憶し得る。フィルタユニット６３はまた、選択された完全フィルタのためのフィルタ係数がビデオデコーダ３０などのデコーダに送られ得るように、ビデオデータのフィルタ処理された第１のブロックとともに、これらのフィルタ係数を記憶し得、ビデオデコーダ３０は、再正規化された部分フィルタのためのフィルタ係数を導出するために、上記で説明したプロセスと同様のプロセスを実行し得る。
【００６２】
１つまたは複数の部分フィルタを適用することに加えて、または別に（完全フィルタなど）他のタイプのフィルタを適用するときに、フィルタユニット６３はまた、これらのフィルタを適用するときに「ミラーリングされたパディング」と呼ばれるパディングの形態を実行し得、「ミラーリングされたパディング」は、ピクセルの反復パディングを使用して変更されるブロックの境界においてフィルタの従来の適用を生じ得る、パーティションの境界においてもたらされる不連続性を回避することによって、復号ビデオデータのより良好な視覚的品質を与え得る。ミラーパディングは、それによって、フィルタユニット６３が、実際のピクセル値を待つ必要なしに、上述のフィルタのうちの１つまたは複数を適用し得るように、フィルタユニット６３が、実際のピクセル値の代わりにパーティションの現在の境界の近くでピクセル値をミラーリングするプロセスを指し得る。上述したように、本開示で説明する技法のミラーパディング態様は、ラインバッファのサイズを低減するか、またはさらには場合によってはそれをなくすと同時に、以下でより詳細に説明するように、パディングの反復または他の形態と比較してビデオ品質の改善をも促進し得る。ミラーパディングについて、図５Ａ、図５Ｂに関して以下でより詳細に説明する。
【００６３】
フィルタユニット６３は、様々なタイプのフィルタのカスケード適用に関して本技法の１つまたは複数の態様を繰り返し実装し得る。たとえば、フィルタユニット６３は、最初に、ＬＣＵなど、ビデオデータのブロックにＤＢフィルタを適用するときにこれらの技法を適用し得る。フィルタユニット６３は、一例として、非対称または対称部分ＤＢフィルタを生成するように、上記で説明した方法で対称的な完全ＤＢフィルタを適応させ、この非対称または対称部分ＤＢフィルタを再正規化し、ＬＣＵの（一例として）下側境界のピクセル値に再正規化された非対称または対称部分ＤＢフィルタを適用し得る。フィルタユニット６３は、次いで、非対称または対称部分ＳＡＯフィルタを生成するように、上記で説明した方法で対称的な完全ＳＡＯフィルタを適応させ、この非対称または対称部分ＳＡＯフィルタを再正規化し、ＬＣＵの（一例として）下側境界のＤＢフィルタ処理されたピクセル値に再正規化された非対称または対称部分ＳＡＯフィルタを適用し得る。フィルタユニット６３はまた、非対称または対称部分ＡＬＦを生成するように、上記で説明した方法で対称的な完全ＡＬＦを適応させ、この非対称または対称部分ＡＬＦを再正規化し、ＬＣＵの（一例として）下側境界のＤＢおよびＳＡＯフィルタ処理されたピクセル値に再正規化された非対称または対称部分ＡＬＦを適用し得る。
【００６４】
いくつかの事例では、フィルタユニット６３は、対称完全ＤＢ、ＳＡＯおよびＡＬフィルタの各々のカスケード適用に関してミラーパディングを実行し得る。代替的に、フィルタユニット６３は、いくつかの対称完全ＤＢ、ＳＡＯおよびＡＬフィルタと、いくつかの再正規化された非対称または対称部分ＤＢ、ＳＡＯおよびＡＬフィルタとのカスケード適用に関してミラーパディングを実行し得、再正規化された非対称または対称部分ＤＢ、ＳＡＯおよびＡＬフィルタは、本開示で説明する技法に一致する方法で生成され得る。言い換えれば、本技法は、ミラーパディングが、非対称部分フィルタの適用と併せてまたはそれの代替として実行され得るような任意の組合せで（この場合も、概して、ビデオエンコーダおよびビデオデコーダのうちの１つまたは複数を指し得る）ビデオコーダによって実装され得る。
【００６５】
図３は、本開示で説明するパーティションベースフィルタ処理技法を実装し得るビデオデコーダ３０の一例をより詳細に示すブロック図である。図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット８０と、予測モジュール８１と、逆量子化ユニット８６と、逆変換ユニット８８と、加算器９０と、デブロッキングフィルタ９１と、（復号ピクチャバッファと呼ばれることもある）参照ピクチャメモリ９２とを含む。予測モジュール８１は、動き補償ユニット８２と、イントラ予測ユニット８４とを含む。ビデオデコーダ３０は、いくつかの例では、図２のビデオエンコーダ２０に関して説明した符号化パスとは概して逆の復号パスを実行し得る。
【００６６】
復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット８０は、量子化係数、動きベクトル、および他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット８０は、予測モジュール８１に動きベクトルと他のシンタックス要素とを転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【００６７】
ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされるとき、予測モジュール８１のイントラ予測ユニット８４は、シグナリングされたイントラ予測モードと、現在のフレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化（すなわち、Ｂ、ＰまたはＧＰＢ）スライスとしてコーディングされるとき、予測モジュール８１の動き補償ユニット８２は、エントロピー復号ユニット８０から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ９２に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト０およびリスト１を構成し得る。
【００６８】
動き補償ユニット８２は、動きベクトルと他のシンタックス要素とをパースすることによって現在のビデオスライスのビデオブロックのための予測情報を判断し、その予測情報を使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット８２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）、スライスの参照ピクチャリストのうちの１つまたは複数についての構成情報、スライスの各インター符号化ビデオブロックについての動きベクトル、スライスの各インターコード化ビデオブロックについてのインター予測ステータス、および現在のビデオスライス中のビデオブロックを復号するための他の情報を判断するために、受信されたシンタックス要素のいくつかを使用する。
【００６９】
動き補償ユニット８２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット８２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。動き補償ユニット８２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成し得る。
【００７０】
逆量子化ユニット８６は、ビットストリーム中で与えられ、エントロピー復号ユニット８０によって復号された、量子化変換係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、量子化の程度を判断し、同様に、適用されるべき逆量子化の程度を判断するために、ビデオスライス中の各ビデオブロックについてビデオエンコーダ２０によって計算される量子化パラメータの使用を含み得る。逆変換ユニット８８は、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用して、ピクセル領域において残差ブロックを生成する。
【００７１】
動き補償ユニット８２が、動きベクトルと他のシンタックス要素とに基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ３０は、逆変換ユニット８８からの残差ブロックを動き補償ユニット８２によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器９０は、この加算演算を実行する１つまたは複数の構成要素を表す。ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するためにフィルタユニット９１が適用される。所与のフレームまたはピクチャ中の復号ビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ９２に記憶される。参照ピクチャメモリ９２はまた、図１のディスプレイデバイス３２などのディスプレイデバイス上での後の表示のための、復号ビデオを記憶する。
【００７２】
フィルタユニット９１は、本開示で説明する技法に従ってパーティションベースフィルタのうちの１つまたは複数に適用するモジュールを表し得る。この点において、フィルタユニット９１は、ビデオデータの第１のブロックをビデオデータの第２のブロックから分離するビデオブロックの境界の近くで適用すべき完全フィルタを選択し得、選択されたフィルタは、（この場合も、「フィルタタップ」または「タップ」と呼ばれることもある）いくつかのフィルタ係数を備える。フィルタユニット９１は、符号化ビットストリーム中に含まれるコード化フィルタ係数からフィルタを判断し得、コード化フィルタ係数は、次いで、復号フィルタ係数を形成するために復号される。通常、フィルタユニット９１は、一例として、ビデオエンコーダ２０のフィルタユニット６３によって選択された完全フィルタのフィルタ係数を受信し、次いで、図２の例に示したビデオエンコーダ２０に関して上記で説明した方法と同様の方法で、選択された完全フィルタ係数からフィルタ係数を導出し得る。選択された完全フィルタは、知覚された視覚的品質を潜在的に改善するために再構成ビデオブロックに通常適用されるＤＢフィルタ、ＳＯＡフィルタ、ＡＬＦまたは他のタイプのフィルタのうちの１つまたは複数を備え得る。
【００７３】
完全フィルタを選択した後に、フィルタユニット９１は、ビデオデータがフィルタ処理されるために利用可能にならない、完全フィルタのフィルタ係数のうちの少なくとも１つを判断し得る。ビデオデータがフィルタ処理されるために利用不可能になる、完全フィルタのフィルタ係数のうちの少なくとも１つを判断するこのプロセスについて、図４Ａ〜図４Ｅの例に関して以下でより詳細に説明する。ビデオデータがフィルタ処理されるために利用可能にならないフィルタ係数のうちの少なくとも１つの判断に基づいて、フィルタユニット３０は、部分フィルタが、コンテンツデータがフィルタ処理されるために利用可能になる複数のフィルタ係数のうちのそれらのうちの１つまたは複数を含むようなこの部分フィルタを判断し得る。言い換えれば、フィルタユニット９１は、ビデオデータがフィルタ処理のために利用可能にならない選択された完全フィルタのために指定されたフィルタ係数のうちの少なくとも１つを削除し得る。フィルタユニット９１は、次いで、これらの残りのフィルタ係数の合計がもう一度１になるように、部分フィルタ内に含まれる複数のフィルタ係数を再正規化し得る。フィルタユニット９１は、次いで、ビデオデータのフィルタ処理された第１のブロックを生成するために、ビデオデータの第１のブロックの境界の近くで再正規化された部分フィルタを適用し得る。フィルタユニット９１は、ビデオデータの他の部分を再構成する際の参照サンプルとして使用するために、ビデオデータのこのフィルタ処理された第１のブロックを記憶し得る。
【００７４】
１つまたは複数の部分フィルタを適用することに加えて、または別に（完全フィルタなど）他のタイプのフィルタを適用するときに、フィルタユニット９１はまた、これらのフィルタを適用するときに「ミラーリングされたパディング」と呼ばれるパディングの形態を実行し得、「ミラーリングされたパディング」は、ピクセルの反復パディングを使用して変更されるブロックの境界においてフィルタの従来の適用を生じ得る、パーティションの境界においてもたらされる不連続性を回避することによって、復号ビデオデータのより良好な視覚的品質を与え得る。ミラーパディングは、それによって、フィルタユニット９１が、実際のピクセル値を待つ必要なしに、上述のフィルタのうちの１つまたは複数を適用し得るように、フィルタユニット９１が、実際のピクセル値の代わりにパーティションの現在の境界の近くでピクセル値をミラーリングするプロセスを指し得る。上述したように、本開示で説明する技法のミラーパディング態様は、ラインバッファのサイズを低減するか、またはさらには場合によってはそれをなくすと同時に、以下でより詳細に説明するように、パディングの反復または他の形態と比較してビデオ品質の改善をも促進し得る。ミラーパディングについて、図５Ａ、図５Ｂに関して以下でより詳細に説明する。
【００７５】
フィルタユニット９１は、様々なタイプのフィルタのカスケード適用に関して本技法の１つまたは複数の態様を繰り返し実装し得る。たとえば、フィルタユニット９１は、最初に、ＬＣＵなど、ビデオデータのブロックにＤＢフィルタを適用するときにこれらの技法を適用し得る。フィルタユニット９１は、一例として、非対称または対称部分ＤＢフィルタを生成するように、上記で説明した方法で対称的な完全ＤＢフィルタを適応させ、この非対称または対称部分ＤＢフィルタを再正規化し、ＬＣＵの（一例として）下側境界のピクセル値に再正規化された非対称または対称部分ＤＢフィルタを適用し得る。この例では、フィルタユニット９１は、次いで、非対称または対称部分ＳＡＯフィルタを生成するように、上記で説明した方法で対称的な完全ＳＡＯフィルタを適応させ、この非対称または対称部分ＳＡＯフィルタを再正規化し、ＬＣＵの（一例として）下側境界のＤＢフィルタ処理されたピクセル値に再正規化された非対称または対称部分ＳＡＯフィルタを適用し得る。フィルタユニット９１はまた、非対称または対称部分ＡＬＦを生成するように、上記で説明した方法で対称的な完全ＡＬＦを適応させ、この非対称または対称部分ＡＬＦを再正規化し、ＬＣＵの（一例として）下側境界のＤＢおよびＳＡＯフィルタ処理されたピクセル値に再正規化された非対称または対称部分ＡＬＦを適用し得る。
【００７６】
いくつかの事例では、フィルタユニット９１は、対称完全ＤＢ、ＳＡＯおよびＡＬフィルタの各々のカスケード適用に関してミラーパディングを実行し得る。代替的に、フィルタユニット９１は、いくつかの対称完全ＤＢ、ＳＡＯおよびＡＬフィルタと、いくつかの再正規化された非対称または対称部分ＤＢ、ＳＡＯおよびＡＬフィルタとのカスケード適用に関してミラーパディングを実行し得、再正規化された非対称または対称部分ＤＢ、ＳＡＯおよびＡＬフィルタは、本開示で説明する技法に一致する方法で生成され得る。言い換えれば、本技法は、ミラーパディングが、非対称部分フィルタの適用と併せてまたはそれの代替として実行され得るような任意の組合せで（この場合も、概して、ビデオエンコーダおよびビデオデコーダのうちの１つまたは複数を指し得る）ビデオコーダによって実装され得る。
【００７７】
図４Ａ〜図４Ｅは、本開示で説明する技法の部分フィルタ処理態様に従ってフィルタ処理されるビデオデータの例示的なブロック１００を示す図である。図４Ａは、ビデオデータのブロック１００を示す図であり、図２の例に示したビデオエンコーダ２０のフィルタユニット６３および／または図３の例に示したビデオデコーダ３０のフィルタユニット９１など、ビデオエンコーダおよび／またはビデオデコーダのフィルタユニットは、初めに、ＤＢフィルタとＳＡＯフィルタとＡＬＦとをカスケード式に適用し得る。以下でフィルタユニット６３に関して説明するが、本技法はフィルタユニット９１によって同様にして実装され得る。その上、特定のビデオエンコーダおよび／またはビデオデコーダに関して説明するが、本技法は、概して、任意のビデオコーディングデバイスあるいは他のコンテンツコーディングユニットまたはデバイスによって実装され得る。
【００７８】
図４Ａの例に示すように、（「ビデオブロック１００」と呼ばれることもある）ビデオデータのブロック１００は、ピクセル値の１６×１６ブロックを備え、フィルタユニット６３の例に示す各矩形は、単一のピクセル値を定義するデータを表す。ビデオブロック１００は再構成ビデオブロックを表し得、したがって、さらに「再構成ビデオブロック１００」と呼ばれることがある。図４Ａの例でさらにわかるように、フィルタユニット６３は、ビデオブロック１００の上部１３行にＤＢフィルタを適用し、ビデオブロック１００の上部１２行にＳＡＯフィルタを適用し、ビデオブロック１００の上部１０行にＡＬＦを適用する。ＤＢフィルタは、ビデオデータの下側の隣接するブロックからのピクセル値を必要とするので、フィルタユニット６３は下部３行にＤＢフィルタを適用していない。ブロック１００は、ビデオブロック１００の下部行を指す境界１０２によってこの下側の隣接するブロックから分離され得る。フィルタがカスケード式に適用され、１つのフィルタを適用した結果が、その行で別のフィルタによってさらにフィルタ処理されるので、フィルタユニット６３は、下部３行にＤＢフィルタを適用した結果を必要とするので、フィルタユニット６３は、ブロック１００の下部４行にＳＡＯフィルタを適用することができない。同様に、フィルタユニット６３は、下部４行にＳＡＯフィルタを適用した結果を必要とするので、フィルタユニット６３は下部６行にＡＬＦを適用することができない。
【００７９】
ＡＬＦは、図４Ａの例でＡＬＦ１０４として示されている。図４Ｂ〜図４Ｅの以下の説明はＡＬＦ１０４に焦点を当てているが、本技法は、ＤＢフィルタおよびＳＡＯフィルタの各々に関して、ならびにカスケードフィルタの任意の他の適用に関して適用され得る。ＡＬＦ１０４は、図４Ａの例でブロックドットとして示されているフィルタ係数を削除するように変更されていないという点で、完全ＡＬＦを表し得る。このために、ＡＬＦフィルタは「完全ＡＬＦ１０４」と呼ばれることがある。完全ＡＬＦ１０４はまた、ｘ軸およびｙ軸の各々の上のタップまたは係数の数が同じであるという点で対称である。完全ＡＬＦ１０４は、ｘ軸の上および下に２つの係数を含み、ｙ軸の右および左に４つの係数を含む。したがって、ＡＬＦ１０４は「対称ＡＬＦ１０４」または「対称完全ＡＬＦ１０４」と呼ばれることがある。フィルタユニット６３は、対称完全ＡＬＦ１０４を選択し、ビデオブロック１００の上部１０行に対称完全ＡＬＦ１０４を適用したと仮定する。
【００８０】
次に図４Ｂの例を参照すると、ＡＬＦ１０４は、ピクセル値１０５Ａをフィルタ処理するためにフィルタ係数１０６Ａを含むが、フィルタユニット６３は、ＡＬＦ１０４を適用するときに、ピクセル値１０５Ａが、フィルタ処理されるために利用可能でない（図４Ｂの例では「Ｘ」によって示される）と判断し得る。その結果、フィルタユニット６３は、（破線の白いドットによって示されるように）フィルタ係数１０６Ａを削除して、非対称部分フィルタ１０８Ａを生成し、それは、次いで、本開示で説明する方法で再正規化される。非対称部分フィルタ１０８Ａは、フィルタ１０８Ａがｘ軸の下に１つの係数を含み、ｘ軸の上に２つの係数を含むという点で「非対称」であり得る。その上、非対称部分フィルタ１０８Ａは、フィルタ１０８Ａが、完全フィルタ１０４内に含まれるあらゆる係数を含むとは限らないという点で「部分」であり得る。しかしながら、フィルタユニット６３は、フィルタユニット６３が、場合によっては完全フィルタ１０４を適用することが可能でないとき、ビデオブロック１００の境界１０２から６番目の行に非対称部分フィルタ１０８Ａを適用し得る。その結果、本開示で説明する技法は、従来のフィルタ処理技法と比較して、フィルタ処理が実行され得る速さを改善し得る。その上、本技法は、再構成され、その後、フィルタ処理されるべき隣接するビデオブロックを待つ目的でビデオデータのブロックを記憶するための追加のメモリが必要とされないという点で、ラインバッファのサイズを低減し得る（そうでない場合、ラインバッファの必要をなくし得る）。
【００８１】
次に図４Ｃの例を参照すると、ＡＬＦ１０４は、ピクセル値１０５Ｂをフィルタ処理するためにフィルタ係数１０６Ａを含み、ピクセル値１０５Ａをフィルタ処理するためにフィルタ係数１０６Ｂを含むが、フィルタユニット６３は、ＡＬＦ１０４を適用するときに、ピクセル値１０５Ａおよび１０５Ｂが、フィルタ処理されるために利用可能でない（図４Ｂの例では「Ｘ」によって示される）と判断し得る。その結果、フィルタユニット６３は、（破線の白いドットによって示されるように）フィルタ係数１０６Ａ、１０６Ｂを削除して、非対称部分フィルタ１０８Ｂを生成し、それは、次いで、本開示で説明する方法で再正規化され得る。非対称部分フィルタ１０８Ｂは、フィルタ１０８Ｂがｘ軸の下に係数を含まず、ｘ軸の上に２つの係数を含むという点で「非対称」であり得る。その上、非対称部分フィルタ１０８Ｂは、フィルタ１０８Ｂが、完全フィルタ１０４内に含まれるあらゆる係数を含むとは限らないという点で「部分」であり得る。しかしながら、フィルタユニット６３は、フィルタユニット６３が、場合によっては完全フィルタ１０４を適用することが可能でないとき、ビデオブロック１００の境界１０２から５番目の行に非対称部分フィルタ１０８Ｂを適用し得る。その結果、本開示で説明する技法は、この場合も従来のフィルタ処理技法と比較して、フィルタ処理が実行され得る速さを改善し得る。この場合も、本技法は、再構成され、その後、フィルタ処理されるべき隣接するビデオブロックを待つ目的でビデオデータのブロックを記憶するための追加のメモリが必要とされないという点で、ラインバッファのサイズを低減し得る（そうでない場合、ラインバッファの必要をなくし得る）。
【００８２】
図４Ｄおよび図４Ｅは、本技法が、図４Ａの例に示した同じ完全ＡＬＦ１０４から生成または導出された対称フィルタ１１０Ａおよび１１０Ｂを使用してビデオブロック１００に関して実装され得る代替方法を示している。説明の容易さのために代替として説明するが、フィルタユニット６３は、ビデオブロック１００の境界１０２から６番目以下の行中のピクセル値のうちのいずれか１つをフィルタ処理するために、非対称フィルタ１０８Ａ、１０８Ｂまたは対称フィルタ１１０Ａ、１１０Ｂのうちの１つを利用してピクセル値ごとに非対称または対称フィルタを選択し得る。この点において、フィルタユニット６３は、（スライスまたはフレームレベルではなくＬＣＵまたはパーティションレベルにおいてを意味する）パーティションベース方法でピクセル値ごとにフィルタ１０８Ａ、１０８Ｂ、１１０Ａおよび１１０Ｂを適応的に適用し得る。
【００８３】
たとえば、部分フィルタを適用するときに、境界１０２の下から４番目の行の上の行に対称であるか非対称であるかにかかわらず（この４番目の行の境界は仮想境界と呼ばれることがある）、フィルタユニット６３は、この仮想境界の上の行（すなわち、これらの例では境界１０２から５番目および６番目の行）のために部分ＡＬＦを常に適用し得る。いくつかの事例では、フィルタユニット６３は、境界１０２から６番目の行のためにのみ部分ＡＬＦを適用し得、そして、境界１０２から５番目の行にＡＬＦを適用しないことがある（ＳＡＯフィルタを適用した結果が記憶されることを意味する）。他の例では、利用不可能であるピクセル値を有する完全ＡＬＦ１０４の係数の数が第１のしきい値数を超えるかどうか、利用不可能であるピクセル値を有するこれらの係数の和が第２のしきい値を超えるかどうか、および／または利用不可能であるピクセル値を有するこれらの係数の絶対値の和が第３のしきい値を超えるかどうかなど、いくつかの基準に基づいて、フィルタユニット６３は、部分フィルタを使用すべきかどうかを判断し得る。
【００８４】
図４Ｄの例では、ＡＬＦ１０４は、ピクセル値１０５Ａをフィルタ処理するためにフィルタ係数１０６Ａを含むが、フィルタユニット６３は、ＡＬＦ１０４を適用するときに、ピクセル値１０５Ａが、フィルタ処理されるために利用可能でない（図４Ｂの例では「Ｘ」によって示される）と判断し得る。その結果、フィルタユニット６３は、（破線の白いドットによって示されるように）フィルタ係数１０６Ａを削除すると同時に、フィルタ係数１０６Ｃが利用可能なピクセル値１０５Ｃを含むにもかかわらず、対称性を維持するためにフィルタ係数１０６Ｃをも削除する。フィルタユニット６３は、それによって、対称部分フィルタ１１０Ａを生成し、対称部分フィルタ１１０Ａは、フィルタ１１０Ａがｘ軸の上と下の両方に単一のフィルタ係数を含むという点で対称であり、係数１０６Ａおよび１０６Ｃが完全ＡＬＦ１０４から削除されるという点で部分である。しかしながら、フィルタユニット６３は、フィルタユニット６３が、場合によっては完全フィルタ１０４を適用することが可能でないとき、ビデオブロック１００の境界１０２から６番目の行に対称部分フィルタ１１０Ａを適用し、それによって、上記で説明した速さとラインバッファ利益とを潜在的に与え得る。
【００８５】
次に図４Ｅの例を参照すると、ＡＬＦ１０４は、ピクセル値１０５Ｂをフィルタ処理するためにフィルタ係数１０６Ａを含み、ピクセル値１０５Ａをフィルタ処理するためにフィルタ係数１０６Ｂを含むが、フィルタユニット６３は、ＡＬＦ１０４を適用するときに、ピクセル値１０５Ａおよび１０５Ｂが、フィルタ処理されるために利用可能でない（図４Ｂの例では「Ｘ」によって示される）と判断し得る。その結果、フィルタユニット６３は、（破線の白いドットによって示されるように）フィルタ係数１０６Ａ、１０６Ｂと、フィルタ係数１０６Ｃおよび１０６Ｄとを削除して対称性を維持し（これらのフィルタ係数は、利用可能なピクセル値１０５Ｄ、１０５Ｅに適用されるが）、それによって、本開示で説明する方法で再正規化され得る対称部分フィルタ１１０Ｂを生成する。対称部分フィルタ１１０Ｂは、フィルタ１１０Ｂが、ｘ軸の下と上の両方に同数の係数を含む（すなわち、図４Ｅの例ではｘ軸の上と下の両方にフィルタ係数がない）という点で「対称」であり得る。その上、対称部分フィルタ１１０Ｂは、フィルタ１１０Ｂが、完全フィルタ１０４内に含まれるあらゆる係数を含むとは限らないという点で「部分」であり得る。しかしながら、フィルタユニット６３は、フィルタユニット６３が、場合によっては完全フィルタ１０４を適用することが可能でないとき、ビデオブロック１００の境界１０２から５番目の行に対称部分フィルタ１１０Ｂを適用し、それによって、上記で説明した速さとラインバッファ利益とを潜在的に与え得る。
【００８６】
図５Ａ〜図５Ｂは、本開示で説明する技法のミラーパディング態様に従ってフィルタ処理されるビデオデータ１２０の例示的なブロックを示す図である。図５Ａは、ビデオデータのブロック１２０を示す図であり、図２の例に示したビデオエンコーダ２０のフィルタユニット６３および／または図３の例に示したビデオデコーダ３０のフィルタユニット９１など、ビデオエンコーダおよび／またはビデオデコーダのフィルタユニットは、初めに、ＤＢフィルタとＳＡＯフィルタとＡＬＦとをカスケード式に適用し得る。以下でフィルタユニット６３に関して説明するが、本技法はフィルタユニット９１によって同様にして実装され得る。その上、特定のビデオエンコーダおよび／またはビデオデコーダに関して説明するが、本技法は、概して、任意のビデオコーディングデバイスあるいは他のコンテンツコーディングユニットまたはデバイスによって実装され得る。
【００８７】
図５Ａの例に示すように、（「ビデオブロック１２０」と呼ばれることもある）ビデオデータのブロック１２０は、図４Ａ〜図４Ｅの例に示したビデオブロック１００と同様に、ピクセル値の１６×１６ブロックを備え、フィルタユニット６３の例に示す各矩形は、単一のピクセル値を定義するデータを表す。ビデオブロック１２０は再構成ビデオブロックを表し得、したがって、さらに「再構成ビデオブロック１２０」と呼ばれることがある。図５Ａの例でさらにわかるように、フィルタユニット６３は、ビデオブロック１２０の上部１３行にＤＢフィルタを適用し、ビデオブロック１２０の上部１２行にＳＡＯフィルタを適用し、ビデオブロック１２０の上部１０行にＡＬＦを適用する。ＤＢフィルタは、ビデオデータの下側の隣接するブロックからのピクセル値を必要とするので、フィルタユニット６３は下部３行にＤＢフィルタを適用していない。ブロック１２０は、ビデオブロック１２０の下部行を指す境界１２２によってこの下側の隣接するブロックから分離され得る。フィルタがカスケード式に適用され、１つのフィルタを適用した結果が、その行で別のフィルタによってさらにフィルタ処理されるので、フィルタユニット６３は、下部３行にＤＢフィルタを適用した結果を必要とするので、フィルタユニット６３は、ブロック１２０の下部４行にＳＡＯフィルタを適用することができない。同様に、フィルタユニット６３は、下部４行にＳＡＯフィルタを適用した結果を必要とするので、フィルタユニット６３は下部６行にＡＬＦを適用することができない。
【００８８】
ＡＬＦは、図５Ａの例でＡＬＦ１２４として示されている。図５Ｂの以下の説明はＡＬＦ１２４に焦点を当てているが、本技法は、ＤＢフィルタおよびＳＡＯフィルタの各々に関して、ならびにカスケードフィルタの任意の他の適用に関して適用され得る。ＡＬＦ１２４は、図５Ａの例でブロックドットとして示されているフィルタ係数を削除するように変更されていないという点で、完全ＡＬＦを表し得る。このために、ＡＬＦフィルタは「完全ＡＬＦ１２４」と呼ばれることがある。完全ＡＬＦ１２４はまた、ｘ軸およびｙ軸の各々の上のタップまたは係数の数が同じであるという点で対称である。完全ＡＬＦ１２４は、ｘ軸の上および下に２つの係数を含み、ｙ軸の右および左に４つの係数を含む。したがって、ＡＬＦ１２４は「対称ＡＬＦ１２４」または「対称完全ＡＬＦ１２４」と呼ばれることがある。フィルタユニット６３は、対称完全ＡＬＦ１２４を選択し、ビデオブロック１２０の上部１０行に対称完全ＡＬＦ１２４を適用したと仮定する。
【００８９】
対称完全ＡＬＦ１２４を適応させるよりはむしろ、フィルタユニット６３は、（図５Ａの例で対角的にクロスハッシングされた矩形として示されている）最下行のピクセル値を複製するために、ミラーパディングを実行し、ビデオブロック１２０に隣接しビデオブロック１２０の下に位置するブロックのピクセル値の最上行になるものを交換するために、これらのピクセルをミラーリングすることを実行し得る。さらに、フィルタユニット６３は、ビデオブロック１２４の最後の行をフィルタ処理するために（図５の例で水平および垂直にクロスハッシングされた矩形として示されている）ビデオブロック１２４の最下行とビデオブロック１２４の最下から２番目の行の両方をミラーリングするミラーパディングを実行する。フィルタユニット６３は、ビデオブロック１２４に隣接し、ビデオブロック１２４の下のブロックの最上部の２行を交換する「ミラーパディング１２６」として示された２つの追加の行を事実上形成し、それによって、完全ＡＬＦ１２４の適用を可能にし得る。
【００９０】
図５Ａの例では、これらの行を実際に作成するように示したが、このことは、これらのピクセル値を記憶するためにラインバッファが必要とされ得ることを暗示しており、本技法は、実際の記憶要件を回避するように数学的に実装され得る。すなわち、完全ＡＬＦ１２４が適用される、ミラーパディング１２６中に示されたピクセル値は、（元の形態で、または潜在的に、スケーリングされた形態のいずれかで）単にビデオブロック１２４の下部２行から取られ、実際にこれらの値を複製し、別個のラインバッファに記憶する必要なしに、フィルタ行列中に挿入され得る。その結果、本開示で説明するミラーパディング技法は、ラインバッファサイズの増加を生じないが、上記で言及した速さとラインバッファ利益とを潜在的に与え得る。
【００９１】
図５Ｂに、ビデオブロック１２０のより多くの内部行に対するミラーパディング態様の適用を示す。この意味で、「境界」という用語は、本開示では、ビデオデータの２つの部分間の境界を示すために使用され、これらの部分は、同じビデオブロック内に常駐するか、または異なるビデオブロック中に常駐し得る。したがって、「境界」という用語は、２つのビデオブロックを分離する境界に限定されると解釈されるべきでないが、ビデオデータの任意の２つの部分を分離し得る（上記で説明したいわゆる「仮想境界」を含む）任意の境界を含み得る。すなわち、フィルタユニット６３は、いくつかの事例では、ビデオブロック１２０の下から４番目の行中に位置する（ＡＬＦ観点から）利用不可能なピクセル値を交換するために、５番目の行中の利用可能なピクセル値をミラーリングするために、ビデオブロック１２０の下から５番目の行など、内部行のミラーパディングを実行し、ミラーパディング１２８を事実上作成し得る。この場合も、フィルタユニット６３は、ミラーパディング１２８が実際に記憶されず、むしろ、利用可能なピクセル値が、ミラーパディング１２８中に位置する対応する係数に与えられるような方法で実装され得るという点で、パディング１２８を事実上作成する。この点において、本技法は、ビデオブロックの内部あるいは任意の行または列に適用され得、ビデオブロックのエッジまたは境界に制限されるべきではない。
【００９２】
図６は、本開示で説明する技法の部分フィルタ処理態様を実装する際の、図１〜図３の例に示したビデオエンコーダ２０またはビデオデコーダ３０などのビデオコーダの例示的な動作を示すフローチャートである。本技法について、特定のビデオコーダ、すなわち、図２の例に示したビデオエンコーダ２０に関して説明するが、本技法は、図３の例に示したビデオデコーダ３０などの任意のビデオコーダによって実装され得る。さらに、特定のタイプのコンテンツデータ、すなわち、ビデオデータに関して説明するが、本技法は、概して、オーディオデータ、テキストデータ、画像データなどを含む、任意のタイプのコンテンツデータに関して実装され得る。
【００９３】
初めに、ビデオエンコーダ２０は、符号化ビデオデータを生成するために、上記で説明した方法でビデオデータを符号化する。このビデオデータを符号化するために、ビデオエンコーダ２０は、ビデオデータを符号化して符号化ビデオデータを生成した後に、符号化ビデオデータを復号して再構成ビデオデータを形成し、再構成ビデオデータを使用して後続のビデオデータを符号化する。その結果、ビデオエンコーダ２０は、図４Ａ〜図４Ｅの例に示したビデオブロック１００などの再構成ビデオブロックを形成するために符号化ビデオブロックを復号する（１３０）。ビデオエンコーダ２０は、ビデオブロック１００をフィルタ処理するためにフィルタ処理ユニット６３を呼び出し得る。ビデオブロック１００をフィルタ処理するために、フィルタ処理ユニット６３は、再構成ビデオブロック１００に適用すべきフィルタを選択する（１３２）。フィルタを選択した後に、フィルタ処理ユニット６３は、再構成ビデオブロック１００にフィルタを適用し得る。いくつかの事例では、フィルタ処理ユニット６３は、上記でより詳細に説明した理由で、選択されたフィルタの少なくとも１つの係数が利用可能でない少なくとも１つのピクセル値に適用されることになると判断する（１３４）。
【００９４】
選択されたフィルタの少なくとも１つの係数が利用可能でない少なくとも１つのピクセル値に適用されることになると判断したことに応答して、フィルタ処理ユニット６３は、上記で説明した方法で図４Ａ〜図４Ｅの例に示した部分フィルタ１０８Ａ、１０８Ｂ、１１０Ａ、１１０Ｂなどの部分フィルタを生成する（１３６）。フィルタ処理ユニット６３は、この部分フィルタを生成した後に、これらの係数の合計がもう一度１になるように部分フィルタの係数を再正規化する（１３８）。フィルタ処理ユニット６３は、１つまたは複数の再正規化アルゴリズムに従ってフィルタ係数を再正規化し得る。
【００９５】
たとえば、フィルタ処理ユニット６３は、生成された部分フィルタの係数を再正規化するために第１の再正規化アルゴリズムを採用し得る。第１の再正規化アルゴリズムは、複数の完全フィルタ係数の第１の和を計算するために、選択された完全フィルタ内に含まれる複数のフィルタ係数を加算することを含む。言い換えれば、フィルタ処理ユニット６３は、選択されたフィルタのフィルタ係数を加算し得る。このアルゴリズムはまた、複数の部分フィルタ係数の第２の和を計算するために、部分フィルタ内に含まれる複数のフィルタ係数を加算することを含む。すなわち、フィルタ処理ユニット６３は部分フィルタの係数を加算し得る。フィルタ処理ユニット６３は、次いで、部分フィルタ内に含まれる複数のフィルタ係数の各々に、複数の完全フィルタ係数の第１の和を複数の部分フィルタ係数の第２の和で除算した結果を乗算することによって、部分フィルタの再正規化された係数を判断し得る。この第１の再正規化アルゴリズムは以下の擬似コードとして表され得る。
【数１】
0006022570.tif 000002
【００９６】
ただし、変数「Ｃｏｅｆｆ＿ａｌｌ」は、選択されたフィルタの係数Ｃ＿１，．．．，Ｃ＿Ｎの和を示し、変数「Ｃｏｅｆｆ＿ｐａｒｔ」は、Ｃｏｅｆｆ＿ａｌｌから部分フィルタの非正規係数Ｃ＿１，．．．，Ｃ＿Ｍの和を減算した結果を示し、最後の行は、削除された係数（Ｃ＿ｉ、ただしｉ＝Ｍ＋１，．．．，Ｎ）に、Ｃｏｅｆｆ＿ａｌｌをＣｏｅｆｆ＿ｐａｒｔで除算した結果を乗算することによって再正規化される部分フィルタの新しい係数（「ｃｏｅｆｆｓ」）を指す。
【００９７】
代替的に、フィルタ処理ユニット６３は、コンテンツデータがフィルタ処理されるために利用可能にならない（選択されたフィルタを意味する）完全フィルタの複数のフィルタ係数のうちの少なくとも１つのうちの１つまたは複数を、部分フィルタの複数のフィルタ係数のうちの１つまたは複数に加算することを伴う第２の再正規化アルゴリズムを実装し得る。この第２の再正規化アルゴリズムは、以下の擬似コードに従って表され得る。
【００９８】
Ｃ＿ｉ、ｉ＝Ｍ＋１，．．．，Ｎのサブセットについて、Ｃ＿ｋ、ｋ＝１，．．．，Ｍを加算する
たとえば、
【数２】
0006022570.tif 000003
【００９９】
この擬似コードによれば、ピクセル値が利用可能でない選択されたフィルタの係数はＣ＿ｉとして示され、ただし、ｉ＝Ｍ＋１，．．．，Ｎである。非正規部分フィルタの係数はＣ＿ｋとして示され、ただし、ｋ＝１，．．．，Ｍである。この第２のアルゴリズムのための擬似コードはまた、このフィルタを再正規化するために、削除された係数がどのように部分フィルタの係数に加算され得るかについての２つの例を与える。第１の例では、Ｃ＿（Ｍ＋１）’は、再正規化された部分フィルタの係数を示し、Ｃ＿１への部分フィルタＣ＿（Ｍ＋１）の正規化されていない係数の加算として計算される。第１の例では、Ｃ＿（Ｍ＋１）、Ｃ＿（Ｍ＋２）などとして示された削除された係数は、残りの係数Ｃ＿１、Ｃ＿２などに加算される。第２の例では、Ｃ＿Ｌ’は、元の正規化されていない残りの係数Ｃ＿Ｌに削除された係数Ｃ＿１，Ｃ＿２，．．．，Ｃ＿Ｍを加算することによって正規化される正規化係数を示す。
【０１００】
いくつかの事例では、再正規化は、上記で説明したいわゆる「仮想境界」からの計算された距離に基づいて、異なるあらかじめ定義された部分フィルタを選択することによって実行され得る。ある表が、仮想境界からのこの計算された距離に基づいて、すでに再正規化されたフィルタ係数を規定し得る。
【０１０１】
いずれにしても、部分フィルタ係数を再正規化した後に、フィルタ処理ユニット６３は、フィルタ処理された再構成ビデオブロックを生成するために、ビデオブロック１００に再正規化された部分フィルタを適用する（１４０）。フィルタ処理ユニット６３は、次いで、このビデオブロック１００のフィルタ処理が完了したかどうかを判断する（１４２）。上述したように、フィルタ処理ユニット６３はカスケード式にいくつかのフィルタを適用し得、それらのフィルタの各々は、本開示で説明する部分フィルタ処理技法に従って適用され得る。いくつかの事例では、これらのフィルタのうちの１つまたは複数は適用されないことがある。さらに、上述したように、フィルタ処理ユニット６３は、本開示で説明する技法の部分フィルタ処理および／またはミラーパディング態様をいつ実行すべきかを判断するために、一例として、１つまたは複数のしきい値を採用してこれらのフィルタを適応的に適用し得る。フィルタ処理ユニット６３が、フィルタ処理がまだ完了していないと判断した場合（「ＮＯ」１４２）、フィルタ処理ユニット６３は、ビデオブロック１００をフィルタ処理するために上記で説明した方法（１３２〜１４２）で進み得る。フィルタ処理ユニット６３が、フィルタ処理が完了したと判断した場合（「ＹＥＳ」１４２）、フィルタ処理ユニット６３は、参照ピクチャメモリ６４にフィルタ処理された再構成ビデオブロック１００を記憶する（１４４）。
【０１０２】
図７は、本開示で説明する技法のミラーパディング態様を実装する際の、図１〜図３の例に示したビデオエンコーダ２０またはビデオデコーダ３０などのビデオコーダの例示的な動作を示すフローチャートである。本技法について、特定のビデオコーダ、すなわち、図２の例に示したビデオエンコーダ２０に関して説明するが、本技法は、図３の例に示したビデオデコーダ３０などの任意のビデオコーダによって実装され得る。さらに、特定のタイプのコンテンツデータ、すなわち、ビデオデータに関して説明するが、本技法は、概して、オーディオデータ、テキストデータ、画像データなどを含む、任意のタイプのコンテンツデータに関して実装され得る。
【０１０３】
初めに、ビデオエンコーダ２０は、符号化ビデオデータを生成するために、上記で説明した方法でビデオデータを符号化する。このビデオデータを符号化するために、ビデオエンコーダ２０は、ビデオデータを符号化して符号化ビデオデータを生成した後に、符号化ビデオデータを復号して再構成ビデオデータを形成し、再構成ビデオデータを使用して後続のビデオデータを符号化する。その結果、ビデオエンコーダ２０は、図４Ａ〜図４Ｅの例に示したビデオブロック１２０などの再構成ビデオブロックを形成するために符号化ビデオブロックを復号し得る（１５０）。ビデオエンコーダ２０は、ビデオブロック１２０をフィルタ処理するためにフィルタ処理ユニット６３を呼び出し得る。ビデオブロック１２０をフィルタ処理するために、フィルタ処理ユニット６３は、再構成ビデオブロック１００に適用すべきフィルタを選択し得る（１５２）。フィルタを選択した後に、フィルタ処理ユニット６３は、再構成ビデオブロック１２０にフィルタを適用し得る。いくつかの事例では、フィルタ処理ユニット６３は、上記でより詳細に説明した理由で、選択されたフィルタの少なくとも１つの係数が利用可能でない少なくとも１つのピクセル値に適用されることになると判断し得る（１５４）。
【０１０４】
選択されたフィルタの少なくとも１つの係数が、利用可能でない少なくとも１つのピクセル値に適用されることになると判断したことに応答して、フィルタ処理ユニット６３は、上記で説明した方法でミラーパディングを実行し得る（１５６）。フィルタ処理ユニット６３は、ミラーパディングを実行した後に、フィルタ処理された再構成ビデオブロックを生成するために、ビデオブロック１２０に選択されたフィルタまたは部分フィルタのいずれかを適用し、部分フィルタは、上記で説明した方法で判断され得る（１５８）。フィルタ処理ユニット６３は、次いで、このビデオブロック１２０のフィルタ処理が完了したかどうかを判断する（１６０）。上述したように、フィルタ処理ユニット６３はカスケード式にいくつかのフィルタを適用し得、それらのフィルタの各々は、本開示で説明する部分フィルタ処理技法に従って適用され得る。いくつかの事例では、これらのフィルタのうちの１つまたは複数は適用されないことがある。さらに、上述したように、フィルタ処理ユニット６３は、本開示で説明する技法の部分フィルタ処理および／またはミラーパディング態様をいつ実行すべきかを判断するために、一例として、１つまたは複数のしきい値を採用してこれらのフィルタを適応的に適用し得る。フィルタ処理ユニット６３が、フィルタ処理がまだ完了していないと判断した場合（「ＮＯ」１６０）、フィルタ処理ユニット６３は、ビデオブロック１２０をフィルタ処理するために上記で説明した方法（１５２〜１６０）で進み得る。フィルタ処理ユニット６３が、フィルタ処理が完了したと判断した場合（「ＹＥＳ」１６０）、フィルタ処理ユニット６３は、参照ピクチャメモリ６４にフィルタ処理された再構成ビデオブロック１２０を記憶する（１６２）。
【０１０５】
このようにして、本技法の様々な態様は、再構成ビデオデータを生成するために符号化ビデオデータを復号する方法を対象とし得る。本方法は、符号化ビデオデータを復号するとき、デバイスを用いて、利用可能でないビデオデータの第２の部分のピクセル値を交換するように再構成ビデオデータの第１の部分の境界に位置するピクセル値をミラーリングするためにミラーパディングを実行することを備え得、境界は、ビデオデータの第１の部分をビデオデータの第２の部分から分離する。本方法は、デバイスを用いて、ミラーリングされたピクセル値のうちの少なくとも１つをフィルタ処理するために１つまたは複数のフィルタを適用することをさらに備え得る。
【０１０６】
いくつかの事例では、フィルタは、デブロッキング（ＤＢ）フィルタと、サンプル適応オフセット（ＳＡＯ）フィルタと、適応ループフィルタ（ＡＬＦ）とのうちの１つまたは複数を備える。他の例では、部分は最大コーディングユニット（ＬＣＵ）を備え、本方法は、ＬＣＵをフィルタ処理するためにスライスまたはフレームレベルではなくＬＣＵのレベルにおいて１つまたは複数のフィルタを適用することを含む。
【０１０７】
いくつかの態様では、本方法は、１つまたは複数の基準に基づいて１つまたは複数のフィルタを適応的に適用することを備える。他の態様では、１つまたは複数のフィルタを適用することは、複数のフィルタ係数を備える完全フィルタを選択することと、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも１つを判断することと、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも１つの判断に基づいて、部分フィルタを判断することとを備える。部分フィルタは、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも１つを含まないことがある。フィルタを適用することはまた、部分フィルタ内に含まれる複数のフィルタ係数を再正規化することと、ミラーリングされたピクセル値のうちの少なくとも１つをフィルタ処理するために再正規化された部分フィルタを適用することとを備え得る。
【０１０８】
いくつかの事例では、本方法を実行するデバイスはビデオエンコーダを備え、これらの事例では、本方法は、符号化ビデオデータを生成するために、ビデオエンコーダを用いてビデオデータを符号化することをさらに備え、符号化ビデオデータを復号することは、ビデオデータを符号化するときに参照データとして使用するための再構成ビデオデータを生成するために、符号化ビデオデータを復号することを備える。代替的に、デバイスはビデオデコーダを備え得る。
【０１０９】
いくつかの事例では、デバイスは、上記で説明した方法のステップの各々を実行するための手段を備える。他の例では、デバイスは、上記で説明した方法のステップを実行するために１つまたは複数のプロセッサを備える。さらに他の事例では、非一時的コンピュータ可読媒体は、実行されたとき、１つまたは複数のプロセッサに上記で説明した方法を実行させる命令を記憶する。
【０１１０】
本技法の様々な態様は、上述のＨＥＶＣワーキングドラフトに組み込まれるか、または場合によってはより詳細に記載され得る。たとえば、ＨＥＶＣワーキングドラフトの現行バージョンは、部分フィルタ処理に関係する本開示で説明する技法の態様を組み込んでいる。これらの部分フィルタ処理技法は、２０１２年４月２７日から２０１２年５月７日に行われた９ｔｈ  ｍｅｅｔｉｎｇ  ｉｎ  Ｇｅｎｅｖａ、ＣＨ中に記載されたＨＥＶＣワーキングドラフトの最も最近のバージョンのセクション８．７．４．３に記載されている。ＨＥＶＣワーキングドラフトのこのバージョンは、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３のＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）およびＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１によって公表された。ＨＥＶＣワーキングドラフトのこのバージョンのセクション８．７．４．３を以下に記載し、様々な要素、変数および他の項目への参照は、それの全体が記載されているＨＥＶＣワーキングドラフトに鑑みてより十分に理解され得る。したがって、これらの要素、変数および他の項目の各々の詳細な説明は完全には与えられない。
【０１１１】
８．７．４．３  ルーマサンプルの場合のコーディングツリーブロックフィルタ処理プロセス
このプロセスの入力は以下の通りである。
【０１１２】
−  ＡＬＦ  ｒｅｃＰｉｃｔｕｒｅより前の再構成ルーマピクチャサンプルアレイ
−  フィルタ処理された再構成ルーマピクチャサンプルアレイａｌｆＰｉｃｔｕｒｅ
−  ルーマフィルタ係数ｃLの（ＡｌｆＮｕｍＦｉｌｔｅｒｓ）×（１９）アレイ。
【０１１３】
このプロセスの出力は、変更されたフィルタ処理された再構成ルーマピクチャサンプルアレイａｌｆＰｉｃｔｕｒｅである。
【０１１４】
現在のピクチャの左上ルーマサンプルに対するコーディングブロックの左上ルーマサンプルを規定するロケーション（ｘＣ，ｙＣ）と、（１＜＜ｌｏｇ２ＣｂＳｉｚｅ）に等しいサイズｃｂＳｉｚｅとをもつ現在のルーマコーディングツリーブロック中の各ルーマコーディングブロックについて、それぞれのコーディングユニットのｐｃｍ＿ｆｌａｇとｐｃｍ＿ｌｏｏｐ＿ｆｉｌｔｅｒ＿ｄｉｓａｂｌｅ＿ｆｌａｇとｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇとに応じて、以下が適用される。
【０１１５】
−  以下の条件のうちの１つまたは複数が当てはまる場合、適応ループフィルタプロセスは現在のコーディングブロックのために適用されない。
【０１１６】
−  ｐｃｍ＿ｌｏｏｐ＿ｆｉｌｔｅｒ＿ｄｉｓａｂｌｅ＿ｆｌａｇは１に等しく、ｐｃｍ＿ｆｌａｇは１に等しい。
【０１１７】
−  ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇは１に等しい。
【０１１８】
−  他の場合、以下が適用される。
【０１１９】
−  サブクローズ８．７．４．５において規定されているコーディングブロック境界パディングプロセスは、入力として、ＡＬＦより前の再構成ピクチャサンプルアレイｒｅｃＰｉｃｔｕｒｅ、ルーマロケーション（ｘＣ，ｙＣ）、現在のコーディングブロックサイズｃｂＳｉｚｅ、Ｍｉｎ（ｃｂＳｉｚｅ，（ＣｔｂＳｉｚｅ＞＞ｓｌｉｃｅ＿ｇｒａｎｕｌａｒｉｔｙ））に等しく設定されたグラニュラリティブロックサイズｇｂＳｉｚｅを用いて呼び出され、出力は、パディングされたルーマサンプルアレイｐａｄＢｌｏｃｋである。
【０１２０】
−  サブクローズ８．７．３．３において規定されているフィルタインデックスアレイ導出プロセスは、入力として、ルーマロケーション（ｘＣ，ｙＣ）とコーディングブロックのサイズｃｂＳｉｚｅとを用いて呼び出され、出力は２次元フィルタインデックスアレイｆＩｄｘである。
【０１２１】
−  変数ｖｂＬｉｎｅは、ＣｔｂＳｉｚｅ−４に等しく設定される。
【０１２２】
−  ｘ，ｙ＝０．．（ｃｂＳｉｚｅ）−１をもつルーマピクチャサンプルアレイａｌｆＰｉｃｔｕｒｅ［ｘＣ＋ｘ，ｙＣ＋ｙ］のフィルタ処理されたサンプルは、以下の順序付けされたステップによって導出される。
【０１２３】
１．変数ｄｉｓｔ２ＶＢは以下のように導出される。
【０１２４】
−  （ｙＣ＋ＣｔｂＳｉｚｅ）がｐｉｃ＿ｈｅｉｇｈｔ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓよりも大きいかまたはそれに等しい場合、ｄｉｓｔ２ＶＢは５に等しく設定される。
【０１２５】
−  他の場合、ｄｉｓｔ２ＶＢは（（（ｙＣ＋ｙ）％ＣｔｂＳｉｚｅ）−ｖｂＬｉｎｅ）に等しく設定される。
【０１２６】
２．変数ｈｏｒＰｏｓ［ｉ］およびｖｅｒＰｏｓ［ｉ］はそれぞれ、表８−１４および表８−１５において規定されている。
【０１２７】
３．ｃL中のフィルタ係数を索引付けするために使用される変数ｆｉｌｔＩｄｘは、以下のように導出される。
【０１２８】
ｆｉｌｔＩｄｘ  ＝  ＭａｐＦｉｌｔＦｉｄｘ［ｆＩｄｘ［ｘ，ｙ］］
４．フィルタ処理されたサンプル値は、以下のように導出される。
【０１２９】
ａｌｆＰｉｃｔｕｒｅ［ｘＣ＋ｘ，ｙＣ＋ｙ］
＝Σｉ（ｐａｄＢｌｏｃｋ［４＋ｘ＋ｈｏｒＰｏｓ［ｉ］，４＋ｙ＋ｖｅｒＰｏｓ［ｉ］］＊ｃL［ｆｉｌｔＩｄｘ］［ｉ］）
ｗｉｔｈ  ｉ＝０．．１８
５．フィルタ処理されたサンプル値は、以下のようにクリッピングされる。
【０１３０】
ａｌｆＰｉｃｔｕｒｅ［ｘＣ＋ｘ，ｙＣ＋ｙ］＝Ｃｌｉｐ１Ｙ（（ａｌｆＰｉｃｔｕｒｅ［ｘＣ＋ｘ，ｙＣ＋ｙ］＋
（１＜＜（８−１）））＞＞８）
【表１】
0006022570.tif 000004
【表２】
0006022570.tif 000005
【０１３１】
８．７．４．３．１  ルーマサンプルの場合のコーディングブロックフィルタインデックスアレイ導出プロセス
このプロセスの入力は以下の通りである。
【０１３２】
−  現在のピクチャの左上サンプルに対する現在のコーディングブロックの左上サンプルを規定するロケーション（ｘＣ，ｙＣ）、
−  現在のコーディングブロックのサイズを規定する変数ｃｂＳｉｚｅ。
【０１３３】
このプロセスの出力は、（ｃｂＳｉｚｅ）×（ｃｂＳｉｚｅ）の２次元フィルタインデックスアレイｆＩｄｘである。
【０１３４】
フィルタインデックスアレイｆＩｄｘは、以下の順序付けされたステップとして導出される。
【０１３５】
１．変数ｘＩｄｘおよびｙＩｄｘは以下のように導出される。
【０１３６】
ｒｅｇｉｏｎＴａｂ［１６］＝｛０，１，４，５，１５，２，３，６，１４，１１，１０，７，１３，１２，９，８｝
ｘＩｎｔｅｒｖａｌ＝（（（ＰｉｃＷｉｄｔｈＩｎＣｔｂｓ＋１）＞＞２）＜＜Ｌｏｇ２ＣｔｂＳｉｚｅ））
−  ｘＩｎｔｅｒｖａｌが０に等しい場合、ｘＩｄｘは３に等しく設定される。
【０１３７】
−  他の場合、ｘＩｄｘはＭｉｎ（３，ｘＣ／ｘＩｎｔｅｒｖａｌ）に等しく設定される。
【０１３８】
ｙＩｎｔｅｒｖａｌ＝（（（ＰｉｃＨｅｉｇｈｔＩｎＣｔｂｓ＋１）＞＞２）＜＜Ｌｏｇ２ＣｔｂＳｉｚｅ））
−  ｙＩｎｔｅｒｖａｌが０に等しい場合、ｙＩｄｘは３に等しく設定される。
【０１３９】
−  他の場合、ｙＩｄｘはＭｉｎ（３，ｙＣ／ｙＩｎｔｅｒｖａｌ）に等しく設定される。
【０１４０】
２．ｘ，ｙ＝０．．（ｃｂＳｉｚｅ）−１をもつフィルタインデックス値ｆＩｄｘ［ｘ，ｙ］は以下のように導出される。
【０１４１】
ｆＩｄｘ［ｘ，ｙ］＝ｒｅｇｉｏｎＴａｂ［（ｙＩｄｘ＜＜２）＋ｘＩｄｘ］
本開示の技法は、モバイルフォンなどのワイヤレス通信デバイスハンドセット、集積回路（ＩＣ）またはＩＣのセット（すなわち、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。機能的態様を強調するために与えられた任意の構成要素、モジュールまたはユニットについて説明したが、異なるハードウェアユニットによる実現を必ずしも必要とするとは限らない。本明細書で説明した技法はまた、ハードウェア、またはハードウェア、ソフトウェア、ファームウェアの任意の組合せで実装され得る。モジュール、ユニットまたは構成要素として説明した特徴は、集積論理デバイスにおいて一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装され得る。場合によっては、様々な特徴は、集積回路チップまたはチップセットなどの集積回路デバイスとして実装され得る。
【０１４２】
ソフトウェアで実装する場合、これらの技法は、少なくとも部分的に、プロセッサにおいて実行されると、上記で説明した方法の１つまたは複数を実行する命令を備えるコンピュータ可読媒体によって実現され得る。コンピュータ可読媒体は、物理的非一時的構造物であるコンピュータ可読記憶媒体を備え得、パッケージング材料を含むことがあるコンピュータプログラム製品の一部を形成し得る。コンピュータ可読記憶媒体は、シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、磁気または光学データ記憶媒体などを備え得る。
【０１４３】
コードまたは命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のソフトウェアモジュールまたはハードウェアモジュール内に提供されるか、あるいは複合ビデオコーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０１４４】
本開示で説明する技法は、本開示で説明する技法のうちの１つまたは複数を実装する回路を含む様々な集積回路デバイスのいずれかを使用して実装され得る。そのような回路は、単一の集積回路チップで、またはいわゆるチップセット中の複数の相互運用可能な集積回路チップで提供され得る。そのような集積回路デバイスは様々な適用例において使用され得、適用例のいくつかは携帯電話ハンドセットなどのワイヤレス通信デバイスでの使用を含み得る。
【０１４５】
本開示の様々な態様について説明した。これらおよび他の態様は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［１］ビデオデータをコーディングする方法であって、
前記ビデオデータの第１の部分を前記ビデオデータの第２の部分から分離する、前記ビデオデータの前記第１の部分の境界の近くで適用すべきフィルタを選択することであって、前記フィルタが複数のフィルタ係数を備える、選択することと、
前記ビデオデータがフィルタ処理されるために利用可能にならない前記複数のフィルタ係数のうちの少なくとも１つを判断することと、
前記ビデオデータがフィルタ処理されるために利用可能にならない前記複数のフィルタ係数のうちの前記少なくとも１つの前記判断に基づいて、部分フィルタを判断することであって、前記部分フィルタは、前記ビデオデータがフィルタ処理されるために利用可能にならない前記複数のフィルタ係数のうちの前記少なくとも１つを含まない、部分フィルタを判断することと、
前記部分フィルタ内に含まれる前記複数のフィルタ係数を再正規化することと、
前記ビデオデータのフィルタ処理された第１の部分を生成するために、前記ビデオデータの前記第１の部分の前記境界の近くで前記再正規化された部分フィルタを適用することと
を備える、方法。
［２］前記フィルタを選択することが、前記フィルタのタイプとサイズと形状とのうちの１つまたは複数を選択することを備える、［１］に記載の方法。
［３］前記選択されたフィルタが、デブロッキング（ＤＢ）フィルタと、サンプル適応オフセット（ＳＡＯ）フィルタと、適応ループフィルタ（ＡＬＦ）とのうちの１つを備える、［１］に記載の方法。
［４］前記部分が最大コーディングユニット（ＬＣＵ）を備え、
前記ビデオデータの前記部分をフィルタ処理するために１つまたは複数の部分フィルタを適用することが、前記ＬＣＵをフィルタ処理するためにスライスまたはフレームレベルではなく前記ＬＣＵのレベルにおいて前記１つまたは複数の部分フィルタを適用することを備える、［１］に記載の方法。
［５］１つまたは複数の部分フィルタを適用することが、１つまたは複数の基準に基づいて前記１つまたは複数の部分フィルタを適応的に適用することを備える、［１］に記載の方法。
［６］部分フィルタを判断することが、非対称部分フィルタを判断することを備え、
前記非対称部分フィルタは、前記非対称部分フィルタのｘ軸とｙ軸とのうちの１つまたは複数の周りに非対称的に構成された、前記ビデオデータがフィルタ処理されるために利用可能になる前記完全フィルタの前記複数のフィルタ係数のうちの１つまたは複数を含む、［１］に記載の方法。
［７］部分フィルタを判断することが、対称部分フィルタを判断することを備え、
前記対称部分フィルタは、前記対称部分フィルタのｘ軸とｙ軸とのうちの１つまたは複数の周りに対称的に構成された、前記ビデオデータがフィルタ処理されるために利用可能になる前記完全フィルタの前記複数のフィルタ係数のうちの１つまたは複数を含む、［１］に記載の方法。
［８］前記複数のフィルタ係数を再正規化することが、第１の再正規化アルゴリズムまたは第２の再正規化アルゴリズムのいずれかに従って前記複数のフィルタ係数を再正規化することを備え、
前記第１の再正規化アルゴリズムが、
前記複数の完全フィルタ係数の第１の和を計算するために、前記選択された完全フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記複数の部分フィルタ係数の第２の和を計算するために、前記部分フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記部分フィルタ内に含まれる前記複数のフィルタ係数の各々に、前記複数の完全フィルタ係数の前記第１の和を前記複数の部分フィルタ係数の前記第２の和で除算した結果を乗算することによって、前記部分フィルタのための前記複数のフィルタ係数を計算することと
を備え、
前記第２の再正規化アルゴリズムは、ビデオデータがフィルタ処理されるために利用可能にならない前記完全フィルタの前記複数のフィルタ係数のうちの前記少なくとも１つのうちの１つまたは複数を、前記部分フィルタの前記複数のフィルタ係数のうちの前記１つまたは複数に加算することを備える、［１］に記載の方法。
［９］利用可能でない前記ビデオデータの第２の部分のピクセル値を交換するように前記ビデオデータの前記第１の部分の前記境界に位置するピクセル値をミラーリングするためにミラーパディングを実行することをさらに備え、
前記再正規化された部分フィルタを適用することが、前記ミラーリングされたピクセル値のうちの少なくとも１つをフィルタ処理するために、前記再正規化された部分フィルタを適用することを備える、［１］に記載の方法。
［１０］前記方法が、
符号化ビデオデータを生成するためにビデオエンコーダを用いて前記ビデオデータを符号化することと、
前記ビデオデータを符号化するときに参照データとして使用するための再構成ビデオデータを生成するために、前記ビデオエンコーダを用いて前記符号化ビデオデータを復号することと
をさらに備える、［１］に記載の方法。
［１１］変換係数を生成するために、前記ビデオデータの前記第１の部分をエントロピー復号するためにエントロピー復号を実行することと、
前記変換係数を逆量子化し、逆量子化された変換係数を生成するために、逆量子化を実行することと、
前記逆量子化された変換係数を周波数領域から空間領域に変換し、残差ビデオデータを生成するために、逆変換を実行することと、
前記ビデオデータの前記第１の部分の再構成されたバージョンを生成するために、前記残差ビデオデータから前記ビデオデータを再構成することと
をさらに備える、［１］に記載の方法。
［１２］ビデオデータをコーディングするためのデバイスであって、
前記ビデオデータの第１の部分を前記ビデオデータの第２の部分から分離する、前記ビデオデータの前記第１の部分の境界の近くで適用すべきフィルタを選択するための手段であって、前記フィルタが複数のフィルタ係数を備える、選択するための手段と、
前記ビデオデータがフィルタ処理されるために利用可能にならない前記複数のフィルタ係数のうちの少なくとも１つを判断するための手段と、
前記ビデオデータがフィルタ処理されるために利用可能にならない前記複数のフィルタ係数のうちの前記少なくとも１つの前記判断に基づいて、部分フィルタを判断するための手段であって、前記部分フィルタは、前記ビデオデータがフィルタ処理されるために利用可能にならない前記複数のフィルタ係数のうちの前記少なくとも１つを含まない、部分フィルタを判断するための手段と、
前記部分フィルタ内に含まれる前記複数のフィルタ係数を再正規化するための手段と、
前記ビデオデータのフィルタ処理された第１の部分を生成するために、前記ビデオデータの前記第１の部分の前記境界の近くで前記再正規化された部分フィルタを適用するための手段と
を備える、デバイス。
［１３］前記フィルタを選択するための前記手段が、前記フィルタのタイプとサイズと形状とのうちの１つまたは複数を選択するための手段を備える、［１２］に記載のデバイス。
［１４］前記選択されたフィルタが、デブロッキング（ＤＢ）フィルタと、サンプル適応オフセット（ＳＡＯ）フィルタと、適応ループフィルタ（ＡＬＦ）とのうちの１つを備える、［１２］に記載のデバイス。
［１５］前記部分が最大コーディングユニット（ＬＣＵ）を備え、
前記ビデオデータの前記部分をフィルタ処理するために１つまたは複数の部分フィルタを適用するための前記手段が、前記ＬＣＵをフィルタ処理するためにスライスまたはフレームレベルではなく前記ＬＣＵのレベルにおいて前記１つまたは複数の部分フィルタを適用するための手段を備える、［１２］に記載のデバイス。
［１６］１つまたは複数の部分フィルタを適用するための前記手段が、１つまたは複数の基準に基づいて前記１つまたは複数の部分フィルタを適応的に適用するための手段を備える、［１２］に記載のデバイス。
［１７］部分フィルタを判断するための前記手段が、非対称部分フィルタを判断するための手段を備え、
前記非対称部分フィルタは、前記非対称部分フィルタのｘ軸とｙ軸とのうちの１つまたは複数の周りに非対称的に構成された、前記ビデオデータがフィルタ処理されるために利用可能になる前記完全フィルタの前記複数のフィルタ係数のうちの１つまたは複数を含む、［１２］に記載のデバイス。
［１８］部分フィルタを判断するための前記手段が、対称部分フィルタを判断するための手段を備え、
前記対称部分フィルタは、前記対称部分フィルタのｘ軸とｙ軸とのうちの１つまたは複数の周りに対称的に構成された、前記ビデオデータがフィルタ処理されるために利用可能になる前記完全フィルタの前記複数のフィルタ係数のうちの１つまたは複数を含む、［１２］に記載のデバイス。
［１９］前記複数のフィルタ係数を再正規化するための前記手段が、第１の再正規化アルゴリズムまたは第２の再正規化アルゴリズムのいずれかに従って前記複数のフィルタ係数を再正規化するための手段を備え、
前記第１の再正規化アルゴリズムが、
前記複数の完全フィルタ係数の第１の和を計算するために、前記選択された完全フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記複数の部分フィルタ係数の第２の和を計算するために、前記部分フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記部分フィルタ内に含まれる前記複数のフィルタ係数の各々に、前記複数の完全フィルタ係数の前記第１の和を前記複数の部分フィルタ係数の前記第２の和で除算した結果を乗算することによって、前記部分フィルタのための前記複数のフィルタ係数を計算することと
を備え、
前記第２の再正規化アルゴリズムは、ビデオデータがフィルタ処理されるために利用可能にならない前記完全フィルタの前記複数のフィルタ係数のうちの前記少なくとも１つのうちの１つまたは複数を、前記部分フィルタの前記複数のフィルタ係数のうちの前記１つまたは複数に加算することを備える、［１２］に記載のデバイス。
［２０］利用可能でない前記ビデオデータの第２の部分のピクセル値を交換するように前記ビデオデータの前記第１の部分の前記境界に位置するピクセル値をミラーリングするためにミラーパディングを実行するための手段をさらに備え、
前記再正規化された部分フィルタを適用するための前記手段が、前記ミラーリングされたピクセル値のうちの少なくとも１つをフィルタ処理するために、前記再正規化された部分フィルタを適用するための手段を備える、［１２］に記載のデバイス。
［２１］ビデオデータをコーディングするためのデバイスであって、
前記ビデオデータの第１の部分を前記ビデオデータの第２の部分から分離する、前記ビデオデータの前記第１の部分の境界の近くで適用すべきフィルタを選択することであって、前記フィルタが複数のフィルタ係数を備える、選択することと、前記ビデオデータがフィルタ処理されるために利用可能にならない前記複数のフィルタ係数のうちの少なくとも１つを判断することと、前記ビデオデータがフィルタ処理されるために利用可能にならない前記複数のフィルタ係数のうちの前記少なくとも１つの前記判断に基づいて、部分フィルタを判断することであって、前記部分フィルタは、前記ビデオデータがフィルタ処理されるために利用可能にならない前記複数のフィルタ係数のうちの前記少なくとも１つを含まない、部分フィルタを判断することと、前記部分フィルタ内に含まれる前記複数のフィルタ係数を再正規化することと、前記ビデオデータのフィルタ処理された第１の部分を生成するために、前記ビデオデータの前記第１の部分の前記境界の近くで前記再正規化された部分フィルタを適用することと
を行うように構成された１つまたは複数のプロセッサ
を備えるデバイス。
［２２］前記１つまたは複数のプロセッサが、前記フィルタのタイプとサイズと形状とのうちの１つまたは複数を選択するようにさらに構成された、［２１］に記載のデバイス。
［２３］前記選択されたフィルタが、デブロッキング（ＤＢ）フィルタと、サンプル適応オフセット（ＳＡＯ）フィルタと、適応ループフィルタ（ＡＬＦ）とのうちの１つを備える、［２１］に記載のデバイス。
［２４］前記部分が最大コーディングユニット（ＬＣＵ）を備え、
前記１つまたは複数のプロセッサが、前記ＬＣＵをフィルタ処理するためにスライスまたはフレームレベルではなく前記ＬＣＵのレベルにおいて１つまたは複数の部分フィルタを適用するようにさらに構成された、［２１］に記載のデバイス。
［２５］前記１つまたは複数のプロセッサが、１つまたは複数の基準に基づいて前記１つまたは複数の部分フィルタを適応的に適用するようにさらに構成された、［２１］に記載のデバイス。
［２６］前記１つまたは複数のプロセッサが、非対称部分フィルタを判断するようにさらに構成され、
前記非対称部分フィルタは、前記非対称部分フィルタのｘ軸とｙ軸とのうちの１つまたは複数の周りに非対称的に構成された、前記ビデオデータがフィルタ処理されるために利用可能になる前記完全フィルタの前記複数のフィルタ係数のうちの１つまたは複数を含む、［２１］に記載のデバイス。
［２７］前記１つまたは複数のプロセッサが、対称部分フィルタを判断するようにさらに構成され、
前記対称部分フィルタは、前記対称部分フィルタのｘ軸とｙ軸とのうちの１つまたは複数の周りに対称的に構成された、前記ビデオデータがフィルタ処理されるために利用可能になる前記完全フィルタの前記複数のフィルタ係数のうちの１つまたは複数を含む、［２１］に記載のデバイス。
［２８］前記１つまたは複数のプロセッサが、第１の再正規化アルゴリズムまたは第２の再正規化アルゴリズムのいずれかに従って前記複数のフィルタ係数を再正規化するようにさらに構成され、
前記第１の再正規化アルゴリズムが、
前記複数の完全フィルタ係数の第１の和を計算するために、前記選択された完全フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記複数の部分フィルタ係数の第２の和を計算するために、前記部分フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記部分フィルタ内に含まれる前記複数のフィルタ係数の各々に、前記複数の完全フィルタ係数の前記第１の和を前記複数の部分フィルタ係数の前記第２の和で除算した結果を乗算することによって、前記部分フィルタのための前記複数のフィルタ係数を計算することと
を備え、
前記第２の再正規化アルゴリズムは、ビデオデータがフィルタ処理されるために利用可能にならない前記完全フィルタの前記複数のフィルタ係数のうちの前記少なくとも１つのうちの１つまたは複数を、前記部分フィルタの前記複数のフィルタ係数のうちの前記１つまたは複数に加算することを備える、［２１］に記載のデバイス。
［２９］前記１つまたは複数のプロセッサが、利用可能でない前記ビデオデータの第２の部分のピクセル値を交換するように前記ビデオデータの前記第１の部分の前記境界に位置するピクセル値をミラーリングするためにミラーパディングを実行することと、前記ミラーリングされたピクセル値のうちの少なくとも１つをフィルタ処理するために、前記再正規化された部分フィルタを適用することとを行うようにさらに構成された、［２１］に記載のデバイス。
［３０］前記デバイスがビデオエンコーダを備え、
前記１つまたは複数のプロセッサが、符号化ビデオデータを生成するために前記ビデオエンコーダを用いて前記ビデオデータを符号化することと、前記ビデオデータを符号化するときに参照データとして使用するための再構成ビデオデータを生成するために、前記符号化ビデオデータを復号することとを行うようにさらに構成された、［２１］に記載のデバイス。
［３１］前記デバイスがビデオデコーダを備える、［２１］に記載のデバイス。
［３２］実行されたとき、ビデオコーディングデバイスの１つまたは複数のプロセッサに、
前記ビデオデータの第１の部分を前記ビデオデータの第２の部分から分離する、前記ビデオデータの前記第１の部分の境界の近くで適用すべきフィルタを選択することであって、前記フィルタが複数のフィルタ係数を備える、選択することと、
前記ビデオデータがフィルタ処理されるために利用可能にならない前記複数のフィルタ係数のうちの少なくとも１つを判断することと、
前記ビデオデータがフィルタ処理されるために利用可能にならない前記複数のフィルタ係数のうちの前記少なくとも１つの前記判断に基づいて、部分フィルタを判断することであって、前記部分フィルタは、前記ビデオデータがフィルタ処理されるために利用可能にならない前記複数のフィルタ係数のうちの前記少なくとも１つを含まない、部分フィルタを判断することと、
前記部分フィルタ内に含まれる前記複数のフィルタ係数を再正規化することと、
前記ビデオデータのフィルタ処理された第１の部分を生成するために、前記ビデオデータの前記第１の部分の前記境界の近くで前記再正規化された部分フィルタを適用することと
を行わせる、記憶された命令を備える非一時的コンピュータ可読記憶媒体。
［３３］実行されたとき、前記１つまたは複数のプロセッサに前記フィルタを選択させる前記命令が、実行されたとき、前記１つまたは複数のプロセッサに前記フィルタのタイプとサイズと形状とのうちの１つまたは複数を選択させる命令を備える、［３１］に記載の非一時的コンピュータ可読記憶媒体。
［３４］前記フィルタが、デブロッキング（ＤＢ）フィルタと、サンプル適応オフセット（ＳＡＯ）フィルタと、適応ループフィルタ（ＡＬＦ）とのうちの１つを備える、［３２］に記載の非一時的コンピュータ可読記憶媒体。
［３５］前記部分が最大コーディングユニット（ＬＣＵ）を備え、
実行されたとき、前記１つまたは複数のプロセッサに１つまたは複数の部分フィルタを適用させる前記命令が、実行されたとき、前記１つまたは複数のプロセッサに、前記ＬＣＵをフィルタ処理するためにスライスまたはフレームレベルではなく前記ＬＣＵのレベルにおいて前記１つまたは複数の部分フィルタを適用させる命令を備える、［３２］に記載の非一時的コンピュータ可読記憶媒体。
［３６］実行されたとき、前記１つまたは複数のプロセッサに１つまたは複数の部分フィルタを適用させる前記命令が、実行されたとき、前記１つまたは複数のプロセッサに、１つまたは複数の基準に基づいて前記１つまたは複数の部分フィルタを適応的に適用させる命令を備える、［３２］に記載の非一時的コンピュータ可読記憶媒体。
［３７］実行されたとき、前記１つまたは複数のプロセッサに部分フィルタを判断させる前記命令が、実行されたとき、前記１つまたは複数のプロセッサに非対称部分フィルタを判断させる命令を備え、
前記非対称部分フィルタは、前記非対称部分フィルタのｘ軸とｙ軸とのうちの１つまたは複数の周りに非対称的に構成された、前記ビデオデータがフィルタ処理されるために利用可能になる前記完全フィルタの前記複数のフィルタ係数のうちの１つまたは複数を含む、［３２］に記載の非一時的コンピュータ可読記憶媒体。
［３８］実行されたとき、前記１つまたは複数のプロセッサに部分フィルタを判断させる前記命令が、実行されたとき、前記１つまたは複数のプロセッサに対称部分フィルタを判断させる命令を備え、
前記対称部分フィルタは、前記対称部分フィルタのｘ軸とｙ軸とのうちの１つまたは複数の周りに対称的に構成された、前記ビデオデータがフィルタ処理されるために利用可能になる前記完全フィルタの前記複数のフィルタ係数のうちの１つまたは複数を含む、［３２］に記載の非一時的コンピュータ可読記憶媒体。
［３９］実行されたとき、前記１つまたは複数のプロセッサに前記複数のフィルタ係数を再正規化させる前記命令が、実行されたとき、前記１つまたは複数のプロセッサに、第１の再正規化アルゴリズムまたは第２の再正規化アルゴリズムのいずれかに従って前記複数のフィルタ係数を再正規化させる命令を備え、
前記第１の再正規化アルゴリズムが、
前記複数の完全フィルタ係数の第１の和を計算するために、前記選択された完全フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記複数の部分フィルタ係数の第２の和を計算するために、前記部分フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記部分フィルタ内に含まれる前記複数のフィルタ係数の各々に、前記複数の完全フィルタ係数の前記第１の和を前記複数の部分フィルタ係数の前記第２の和で除算した結果を乗算することによって、前記部分フィルタのための前記複数のフィルタ係数を計算することと
を備え、
前記第２の再正規化アルゴリズムは、ビデオデータがフィルタ処理されるために利用可能にならない前記完全フィルタの前記複数のフィルタ係数のうちの前記少なくとも１つのうちの１つまたは複数を、前記部分フィルタの前記複数のフィルタ係数のうちの前記１つまたは複数に加算することを備える、［３２］に記載の非一時的コンピュータ可読記憶媒体。
［４０］実行されたとき、前記１つまたは複数のプロセッサに、利用可能でない前記ビデオデータの第２の部分のピクセル値を交換するように前記ビデオデータの前記第１の部分の前記境界に位置するピクセル値をミラーリングするためにミラーパディングを実行させる命令をさらに備え、
実行されたとき、前記１つまたは複数のプロセッサに、前記再正規化された部分フィルタを適用させる前記命令が、実行されたとき、前記１つまたは複数のプロセッサに、前記ミラーリングされたピクセル値のうちの少なくとも１つをフィルタ処理するために、前記再正規化された部分フィルタを適用させる命令を備える、［３２］に記載の非一時的コンピュータ可読記憶媒体。
【図１】
0006022570.tif 000006
【図２】
0006022570.tif 000007
【図３】
0006022570.tif 000008
【図６】
0006022570.tif 000009
【図７】
0006022570.tif 000010
【図４Ａ】
0006022570.tif 000011
【図４Ｂ】
0006022570.tif 000012
【図４Ｃ】
0006022570.tif 000013
【図４Ｄ】
0006022570.tif 000014
【図４Ｅ】
0006022570.tif 000015
【図５Ａ】
0006022570.tif 000016
【図５Ｂ】
0006022570.tif 000017