(57)【特許請求の範囲】
【請求項１】
ビデオデータをコーディングする方法であって、
ビデオデータの第１のブロックのための第１の予測モードとビデオデータの第２のブロックのための第２の予測モードとを判断することであって、前記第１のブロックと前記第２のブロックとが共通エッジを共有する、判断することと、
前記第１の予測モードを使用して前記第１のブロックを復号し、前記第２の予測モードを使用して前記第２のブロックを復号することと、
前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つが短距離イントラ予測（ＳＤＩＰ）を備えるかどうかに少なくとも部分的に基づいて、前記第１のブロックと前記第２のブロックとの間の前記共通エッジをデブロックすべきかどうかを判断することと
を備え、
前記共通エッジをデブロックすべきかどうかを判断することは、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、
ＳＤＩＰ  ＰＵが前記共通エッジに対して直角に配向しているかどうかを判断することと、
全てのＳＤＩＰ  ＰＵが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルにデブロッキング決定関数を適用することと
を備え、
前記デブロッキング決定関数が第１のデブロッキング決定関数を備え、前記方法は、
少なくとも１つのＳＤＩＰ  ＰＵが前記共通エッジに対して平行に配向しているとき、サポートピクセルの適応されたセットに第２の異なるデブロッキング決定関数を適用することと、
前記第２のデブロッキング決定関数が、前記共通エッジがデブロックされるべきであることを示すとき、前記共通エッジをデブロックすることと
をさらに備える、方法。
【請求項２】
前記共通エッジをデブロックすべきであると判断した後に、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるかどうかに少なくとも部分的に基づいて、前記共通エッジをデブロックするためのデブロッキングフィルタを判断することをさらに備える、請求項１に記載の方法。
【請求項３】
前記デブロッキングフィルタを判断することは、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、
ＳＤＩＰ予測ユニット（ＰＵ）が前記共通エッジに対して直角に配向しているかどうかを判断することと、
全てのＳＤＩＰ  ＰＵが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルに適用され得る係数を有するデブロッキングフィルタを選択することと
を備える、請求項２に記載の方法。
【請求項４】
前記共通エッジをデブロックすべきかどうかを判断することは、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、前記エッジをデブロックすべきでないと判断することを備える、請求項１に記載の方法。
【請求項５】
前記共通エッジをデブロックすべきかどうかを判断することは、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、前記共通エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの適応されたセットを選択することを備える、請求項１に記載の方法。
【請求項６】
前記共通エッジをデブロックすべきかどうかを判断することは、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、サポートの適応されたセットが、前記第１のブロックおよび前記第２のブロック中のＳＤＩＰ予測ユニット（ＰＵ）のＰＵ境界を横断しないように、前記エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの前記適応されたセットを選択することを備える、請求項１に記載の方法。
【請求項７】
前記第１のブロックおよび前記第２のブロックがフレームのブロックを備え、前記方法は、
前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、ＳＤＩＰパーティションのパーティションサイズを示す値を、前記共通エッジに対応するデータ構造のロケーションで前記データ構造に記憶することと、
エッジに対応する前記データ構造に記憶された値に基づいて、前記エッジをデブロックすることと
をさらに備える、請求項１に記載の方法。
【請求項８】
前記第１の予測モードと前記第２の予測モードとを判断することが、ビデオエンコーダによって、前記第１の予測モードと前記第２の予測モードとを選択することを備え、前記方法が、前記第１のブロックと前記第２のブロックとを復号するより前に、
前記第１の予測モードを使用して前記第１のブロックを符号化することと、
前記第２の予測モードを使用して前記第２のブロックを符号化することと
をさらに備え、
前記第１のブロックと前記第２のブロックとを復号することが、前記ビデオエンコーダによって、前記第１のブロックと前記第２のブロックとを復号することを備える、請求項１に記載の方法。
【請求項９】
前記第１の予測モードと前記第２の予測モードとを判断することが、ビデオデコーダによって、前記第１の予測モードと前記第２の予測モードとを示す情報を受信することを備える、請求項１に記載の方法。
【請求項１０】
ビデオデータをコーディングするための装置であって、ビデオデータの第１のブロックのための第１の予測モードとビデオデータの第２のブロックのための第２の予測モードとを判断することであって、前記第１のブロックと前記第２のブロックとが共通エッジを共有する、判断することと、前記第１の予測モードを使用して前記第１のブロックを復号し、前記第２の予測モードを使用して前記第２のブロックを復号することと、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つが短距離イントラ予測（ＳＤＩＰ）を備えるかどうかに少なくとも部分的に基づいて、前記第１のブロックと前記第２のブロックとの間の前記共通エッジをデブロックすべきかどうかを判断することとを行うように構成されたビデオコーダを備え、
前記共通エッジをデブロックすべきかどうかを判断するために、前記ビデオコーダは、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、ＳＤＩＰ  ＰＵが前記共通エッジに対して直角に配向しているかどうかを判断することと、全てのＳＤＩＰ  ＰＵが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルにデブロッキング決定関数を適用することとを行うように構成され、
前記デブロッキング決定関数が第１のデブロッキング決定関数を備え、前記ビデオコーダは、少なくとも１つのＳＤＩＰ  ＰＵが前記共通エッジに対して平行に配向しているとき、サポートピクセルの適応されたセットに第２の異なるデブロッキング決定関数を適用することと、前記第２のデブロッキング決定関数が、前記共通エッジがデブロックされるべきであることを示すとき、前記共通エッジをデブロックすることとを行うように構成された、装置。
【請求項１１】
前記ビデオコーダは、前記共通エッジをデブロックすべきであると判断した後に、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるかどうかに少なくとも部分的に基づいて、前記共通エッジをデブロックするためのデブロッキングフィルタを判断するように構成された、請求項１０に記載の装置。
【請求項１２】
前記デブロッキングフィルタを判断するために、前記ビデオコーダは、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、ＳＤＩＰ予測ユニット（ＰＵ）が前記共通エッジに対して直角に配向しているかどうかを判断することと、全てのＳＤＩＰ  ＰＵが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルに適用され得る係数を有するデブロッキングフィルタを選択することとを行うように構成された、請求項１１に記載の装置。
【請求項１３】
前記ビデオコーダは、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、前記エッジをデブロックすべきでないと判断するように構成された、請求項１０に記載の装置。
【請求項１４】
前記共通エッジをデブロックすべきかどうかを判断するために、前記ビデオコーダは、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、前記共通エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの適応されたセットを選択するように構成された、請求項１０に記載の装置。
【請求項１５】
前記共通エッジをデブロックすべきかどうかを判断するために、前記ビデオコーダは、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、サポートの適応されたセットが、前記第１のブロックおよび前記第２のブロック中のＳＤＩＰ予測ユニット（ＰＵ）のＰＵ境界を横断しないように、前記エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの前記適応されたセットを選択するように構成された、請求項１０に記載の装置。
【請求項１６】
前記第１のブロックおよび前記第２のブロックがフレームのブロックを備え、前記ビデオコーダは、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、ＳＤＩＰパーティションのパーティションサイズを示す値を、前記共通エッジに対応するデータ構造のロケーションで前記データ構造に記憶することと、エッジに対応する前記データ構造に記憶された値に基づいて、前記エッジをデブロックすることとを行うように構成された、請求項１０に記載の装置。
【請求項１７】
前記ビデオコーダがビデオエンコーダを備え、前記ビデオエンコーダは、前記第１の予測モードと前記第２の予測モードとを選択することと、前記第１のブロックと前記第２のブロックとを復号するより前に、前記第１の予測モードを使用して前記第１のブロックを符号化することと、前記第２の予測モードを使用して前記第２のブロックを符号化することと、前記第１のブロックと前記第２のブロックとを符号化した後に、前記第１のブロックと前記第２のブロックとを復号することとを行うように構成された、請求項１０に記載の装置。
【請求項１８】
前記ビデオコーダがビデオデコーダを備え、前記第１の予測モードと前記第２の予測モードとを判断するために、前記ビデオデコーダが、前記第１の予測モードと前記第２の予測モードとを示す情報を受信するように構成された、請求項１０に記載の装置。
【請求項１９】
前記装置が、
集積回路と、
マイクロプロセッサと、
前記ビデオコーダを含むワイヤレス通信デバイスと
のうちの少なくとも１つを備える、請求項１０に記載の装置。
【請求項２０】
ビデオデータを符号化するための装置であって、
ビデオデータの第１のブロックのための第１の予測モードとビデオデータの第２のブロックのための第２の予測モードとを判断するための手段であって、前記第１のブロックと前記第２のブロックとが共通エッジを共有する、判断するための手段と、
前記第１の予測モードを使用して前記第１のブロックを復号し、前記第２の予測モードを使用して前記第２のブロックを復号するための手段と、
前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つが短距離イントラ予測（ＳＤＩＰ）を備えるかどうかに少なくとも部分的に基づいて、前記第１のブロックと前記第２のブロックとの間の前記共通エッジをデブロックすべきかどうかを判断するための手段と
を備え、
前記共通エッジをデブロックすべきかどうかを判断するための前記手段は、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、ＳＤＩＰ  ＰＵが前記共通エッジに対して直角に配向しているかどうかを判断するための手段と、全てのＳＤＩＰ  ＰＵが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルにデブロッキング決定関数を適用するための手段とを備え、
前記デブロッキング決定関数が第１のデブロッキング決定関数を備え、前記装置は、
少なくとも１つのＳＤＩＰ  ＰＵが前記共通エッジに対して平行に配向しているとき、サポートピクセルの適応されたセットに第２の異なるデブロッキング決定関数を適用するための手段と、
前記第２のデブロッキング決定関数が、前記共通エッジがデブロックされるべきであることを示すとき、前記共通エッジをデブロックするための手段と
をさらに備える、装置。
【請求項２１】
前記共通エッジをデブロックすべきであると判断した後に、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるかどうかに少なくとも部分的に基づいて、前記共通エッジをデブロックするためのデブロッキングフィルタを判断するための手段をさらに備える、請求項２０に記載の装置。
【請求項２２】
前記デブロッキングフィルタを判断するための前記手段は、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、ＳＤＩＰ予測ユニット（ＰＵ）が前記共通エッジに対して直角に配向しているかどうかを判断するための手段と、全てのＳＤＩＰ  ＰＵが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルに適用され得る係数を有するデブロッキングフィルタを選択するための手段とを備える、請求項２１に記載の装置。
【請求項２３】
前記共通エッジをデブロックすべきかどうかを判断するための前記手段は、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、前記エッジをデブロックすべきでないと判断するための手段を備える、請求項２０に記載の装置。
【請求項２４】
前記共通エッジをデブロックすべきかどうかを判断するための前記手段は、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、前記共通エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの適応されたセットを選択するための手段を備える、請求項２０に記載の装置。
【請求項２５】
前記共通エッジをデブロックすべきかどうかを判断するための前記手段は、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、サポートの適応されたセットが、前記第１のブロックおよび前記第２のブロック中のＳＤＩＰ予測ユニット（ＰＵ）のＰＵ境界を横断しないように、前記エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの前記適応されたセットを選択するための手段を備える、請求項２０に記載の装置。
【請求項２６】
前記第１のブロックおよび前記第２のブロックがフレームのブロックを備え、前記装置は、
前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、ＳＤＩＰパーティションのパーティションサイズを示す値を、前記共通エッジに対応するデータ構造のロケーションで前記データ構造に記憶するための手段と、
エッジに対応する前記データ構造に記憶された値に基づいて、前記エッジをデブロックするための手段と
をさらに備える、請求項２０に記載の装置。
【請求項２７】
前記第１の予測モードと前記第２の予測モードとを判断するための前記手段が、符号化プロセス中に、前記第１の予測モードと前記第２の予測モードとを選択するための手段を備え、前記装置が、
前記第１のブロックを復号するより前に、前記第１の予測モードを使用して前記第１のブロックを符号化するための手段と、
前記第２のブロックを復号するより前に、前記第２の予測モードを使用して前記第２のブロックを符号化するための手段と
をさらに備える、請求項２０に記載の装置。
【請求項２８】
前記第１の予測モードと前記第２の予測モードとを判断するための前記手段が、前記第１の予測モードと前記第２の予測モードとを示す情報を受信するための手段を備える、請求項２０に記載の装置。
【請求項２９】
実行されたとき、
ビデオデータの第１のブロックのための第１の予測モードとビデオデータの第２のブロックのための第２の予測モードとを判断することであって、前記第１のブロックと前記第２のブロックとが共通エッジを共有する、判断することと、
前記第１の予測モードを使用して前記第１のブロックを復号し、前記第２の予測モードを使用して前記第２のブロックを復号することと、
前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つが短距離イントラ予測（ＳＤＩＰ）を備えるかどうかに少なくとも部分的に基づいて、前記第１のブロックと前記第２のブロックとの間の前記共通エッジをデブロックすべきかどうかを判断することと
を、ビデオデータをコーディングするためのデバイスの１つまたは複数のプロセッサに行わせる命令を備え、
前記共通エッジをデブロックすべきかどうかを判断することを前記１つまたは複数のプロセッサに行わせる前記命令は、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、
ＳＤＩＰ  ＰＵが前記共通エッジに対して直角に配向しているかどうかを判断することと、
全てのＳＤＩＰ  ＰＵが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルにデブロッキング決定関数を適用することと
を前記１つまたは複数のプロセッサに行わせる命令を備え、
前記デブロッキング決定関数が第１のデブロッキング決定関数を備え、コンピュータプログラムは、
少なくとも１つのＳＤＩＰ  ＰＵが前記共通エッジに対して平行に配向しているとき、サポートピクセルの適応されたセットに第２の異なるデブロッキング決定関数を適用することと、
前記第２のデブロッキング決定関数が、前記共通エッジがデブロックされるべきであることを示すとき、前記共通エッジをデブロックすることと
を前記１つまたは複数のプロセッサに行わせる命令をさらに備える、コンピュータプログラム。
【請求項３０】
前記共通エッジをデブロックすべきであると判断した後に、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるかどうかに少なくとも部分的に基づいて、前記共通エッジをデブロックするためのデブロッキングフィルタを判断することを前記１つまたは複数のプロセッサに行わせる命令をさらに備える、請求項２９に記載のコンピュータプログラム。
【請求項３１】
前記デブロッキングフィルタを判断することを前記１つまたは複数のプロセッサに行わせる前記命令は、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、
ＳＤＩＰ予測ユニット（ＰＵ）が前記共通エッジに対して直角に配向しているかどうかを判断することと、
全てのＳＤＩＰ  ＰＵが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルに適用され得る係数を有するデブロッキングフィルタを選択することと
を前記１つまたは複数のプロセッサに行わせる命令を備える、請求項３０に記載のコンピュータプログラム。
【請求項３２】
前記共通エッジをデブロックすべきかどうかを判断することを前記１つまたは複数のプロセッサに行わせる前記命令は、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、前記エッジをデブロックすべきでないと判断することを前記１つまたは複数のプロセッサに行わせる命令を備える、請求項２９に記載のコンピュータプログラム。
【請求項３３】
前記共通エッジをデブロックすべきかどうかを判断することを前記１つまたは複数のプロセッサに行わせる前記命令は、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、前記共通エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの適応されたセットを選択することを前記１つまたは複数のプロセッサに行わせる命令を備える、請求項２９に記載のコンピュータプログラム。
【請求項３４】
前記方法は、ワイヤレス通信デバイスで実行可能であって、前記デバイスは、
前記ビデオデータを記憶するように構成されたメモリと、
前記メモリに記憶された前記ビデオデータを処理するために命令を実行するように構成されたプロセッサと、
前記ビデオデータの符号化されたバージョンを含む信号を受信し、前記ビデオデータを前記メモリに記憶するように構成された受信機と
を備える、請求項１に記載の方法。
【請求項３５】
前記ワイヤレス通信デバイスは、セルラー電話であり、前記信号は、前記受信機によって受信され、セルラー通信規格に従って復調される、請求項３４に記載の方法。
【請求項３６】
前記装置は、ワイヤレス通信デバイスであり、前記ビデオコーダは、ビデオデコーダを備え、前記デバイスは、前記ビデオデータの符号化されたバージョンを含む信号を受信するように構成された受信機をさらに備える、請求項１０に記載の方法。
【請求項３７】
前記ワイヤレス通信デバイスは、セルラー電話であり、前記信号は、受信機によって受信され、セルラー通信規格に従って復調される、請求項３６に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１１年５月１２日に出願された米国仮出願第６１／４８５，４４２号、２０１１年６月２日に出願された米国仮出願第６１／４９２，７６１号、２０１１年６月２１日に出願された米国仮出願第６１／４９９，５６３号、および２０１１年７月１２日に出願された第６１／５０６，９３８号の優先権を主張するもので、これらの各々がその該当する全てにおいて参照により本明細書に組み込まれる。
【０００２】
本開示はビデオコーディングに関し、特にビデオデータをデブロックすることに関する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイス等を含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信および受信するために、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３またはＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）によって定義された規格、およびそのような規格の拡張に記載されているもののようなビデオ圧縮技法を実装する。
【０００４】
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および／または時間的予測を行う。ブロックベースのビデオコーディングの場合、ビデオフレームまたはスライスはブロックに区分され得る。各ブロックはさらに区分され得る。イントラコード化（Ｉ）フレームまたはスライス中のブロックは、隣接ブロックに関する空間的予測を使用して符号化される。インターコード化（ＰまたはＢ）フレームまたはスライス中のブロックは、同じフレームまたはスライス中の隣接ブロックに関する空間的予測、あるいは他の参照フレームに関する時間的予測を使用し得る。
【発明の概要】
【０００５】
一般に、本開示は、複数のビデオブロックのいずれかが短距離イントラ予測（ＳＤＩＰ：short distance intra prediction）を使用して予測されるかどうかに少なくとも部分的に基づいてこれらブロック間のエッジをデブロックするための技法について説明する。本開示の技法は、そのようなエッジに適用されるデブロッキング決定(deblocking decisions)およびデブロッキング関数(deblocking functions)を改善し得る。同様に、本開示の技法は、デブロックのためにエッジを処理するときに、エッジの過剰処理とストレージ要件の劇的な増加とを回避し得る。
【０００６】
一例では、方法は、ビデオデータの第１のブロックのための第１の予測モードとビデオデータの第２のブロックのための第２の予測モードとを判断することであって、第１のブロックと第２のブロックとが共通エッジを共有する、判断することと、第１の予測モードを使用して第１のブロックを復号し、第２の予測モードを使用して第２のブロックを復号することと、第１の予測モードと第２の予測モードとのうちの少なくとも１つが短距離イントラ予測（ＳＤＩＰ）を備えるかどうかに少なくとも部分的に基づいて、第１のブロックと第２のブロックとの間の共通エッジをデブロックすべきかどうかを判断することとを含む。
【０００７】
別の例では、装置は、ビデオデータの第１のブロックのための第１の予測モードとビデオデータの第２のブロックのための第２の予測モードとを判断することであって、第１のブロックと第２のブロックとが共通エッジを共有する、判断することと、第１の予測モードを使用して第１のブロックを復号し、第２の予測モードを使用して第２のブロックを復号することと、第１の予測モードと第２の予測モードとのうちの少なくとも１つが短距離イントラ予測（ＳＤＩＰ）を備えるかどうかに少なくとも部分的に基づいて、第１のブロックと第２のブロックとの間の共通エッジをデブロックすべきかどうかを判断することとを行うように構成されたビデオコーダを含む。
【０００８】
別の例では、装置は、ビデオデータの第１のブロックのための第１の予測モードとビデオデータの第２のブロックのための第２の予測モードとを判断するための手段であって、第１のブロックと第２のブロックとが共通エッジを共有する、判断するための手段と、第１の予測モードを使用して第１のブロックを復号し、第２の予測モードを使用して第２のブロックを復号するための手段と、第１の予測モードと第２の予測モードとのうちの少なくとも１つが短距離イントラ予測（ＳＤＩＰ）を備えるかどうかに少なくとも部分的に基づいて、第１のブロックと第２のブロックとの間の共通エッジをデブロックすべきかどうかを判断するための手段とを含む。
【０００９】
別の例では、コンピュータプログラム製品は、実行されたとき、ビデオデータの第１のブロックのための第１の予測モードとビデオデータの第２のブロックのための第２の予測モードとを判断することであって、第１のブロックと第２のブロックとが共通エッジを共有する、判断することと、第１の予測モードを使用して第１のブロックを復号し、第２の予測モードを使用して第２のブロックを復号することと、第１の予測モードと第２の予測モードとのうちの少なくとも１つが短距離イントラ予測（ＳＤＩＰ）を備えるかどうかに少なくとも部分的に基づいて、第１のブロックと第２のブロックとの間の共通エッジをデブロックすべきかどうかを判断することとを、ビデオデータをコーディングするためのデバイスの１つまたは複数のプロセッサに行わせる複数の命令を記憶したコンピュータ可読媒体を含む。
【００１０】
１つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、その説明および図面、並びに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１１】
【図１】コーディングユニット（ＣＵ：coding unit）が短距離イントラ予測（ＳＤＩＰ）を使用して予測されるかどうかに少なくとも部分的に基づいて、２つのＣＵ間のエッジにデブロッキングフィルタを適用すべきかどうかを判断するための技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】ＣＵがＳＤＩＰを使用して予測されるかどうかに少なくとも部分的に基づいて、ＣＵ間のエッジにデブロッキングフィルタを適用すべきかどうかを判断するための技法を実装し得るビデオエンコーダの一例を示すブロック図。
【図３】ＣＵがＳＤＩＰを使用して予測されるかどうかに少なくとも部分的に基づいて、ＣＵ間のエッジにデブロッキングフィルタを適用すべきかどうかを判断するための技法を実装し得るビデオデコーダの一例を示すブロック図。
【図４】例示的なデブロッカーの構成要素を示すブロック図。
【図５】ＳＤＩＰ予測されたＣＵを含む例示的な最大コーディングユニット（ＬＣＵ：largest coding unit）を示す概念図。
【図６】ブロック間のエッジの近くの２つの例示的なブロックのピクセル位置を示す概念図。
【図７Ａ】２つのブロック間のエッジに対する様々なＳＤＩＰ予測ユニット（ＰＵ：prediction unit）配向を示す概念図。
【図７Ｂ】２つのブロック間のエッジに対する様々なＳＤＩＰ予測ユニット（ＰＵ）配向を示す概念図。
【図７Ｃ】２つのブロック間のエッジに対する様々なＳＤＩＰ予測ユニット（ＰＵ）配向を示す概念図。
【図７Ｄ】２つのブロック間のエッジに対する様々なＳＤＩＰ予測ユニット（ＰＵ）配向を示す概念図。
【図７Ｅ】２つのブロック間のエッジに対する様々なＳＤＩＰ予測ユニット（ＰＵ）配向を示す概念図。
【図７Ｆ】２つのブロック間のエッジに対する様々なＳＤＩＰ予測ユニット（ＰＵ）配向を示す概念図。
【図７Ｇ】２つのブロック間のエッジに対する様々なＳＤＩＰ予測ユニット（ＰＵ）配向を示す概念図。
【図７Ｈ】２つのブロック間のエッジに対する様々なＳＤＩＰ予測ユニット（ＰＵ）配向を示す概念図。
【図７Ｉ】２つのブロック間のエッジに対する様々なＳＤＩＰ予測ユニット（ＰＵ）配向を示す概念図。
【図８】ＳＤＩＰ  ＰＵがさらなるＳＤＩＰ  ＰＵに区分される例示的なＣＵを示す概念図。
【図９】エッジを形成するブロックがＳＤＩＰを使用して予測されるかどうかに少なくとも部分的に基づいて、エッジをデブロックすべきかどうかを判断するための例示的な方法を示すフローチャート。
【図１０】ブロックのうちの少なくとも１つがＳＤＩＰを使用して予測されるかどうかに少なくとも部分的に基づいて、２つのブロック間の共通エッジをデブロックすべきかどうかを判断するための別の例示的な方法を示すフローチャート。
【図１１】ブロックのうちの少なくとも１つがＳＤＩＰを使用して予測されるかどうかに少なくとも部分的に基づいて、２つのブロック間の共通エッジをデブロックすべきかどうかを判断するための別の例示的な方法を示すフローチャート。
【図１２】ブロックのうちの少なくとも１つがＳＤＩＰを使用して予測されるかどうかに少なくとも部分的に基づいて、２つのブロック間の共通エッジをデブロックすべきかどうかを判断するためのさらに別の方法を示すフローチャート。
【図１３】ＳＤＩＰ  ＰＵパーティションの指示をも記憶し得るデータ構造にエッジロケーションを記憶するための例示的な方法を示すフローチャート。
【発明を実施するための形態】
【００１２】
一般に、ビデオデータは、イントラ予測モードまたはインター予測モードでコーディングされ得る、フレームのシーケンスを含む。フレームは、ビデオデータのブロックに分割され得、ブロックごとに符号化モードが選択され得る。インター予測モードでは、ブロックは、１つまたは前にコーディングされた複数のフレームのデータに対して予測され得る。イントラ予測モードでは、ブロックは、同じフレームの前にコーディングされた１つまたは複数の隣接ブロックに相関して予測され得る。
【００１３】
来たるべきＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）規格によれば、複数のフレームが、例えば、３２×３２ピクセルブロックまたは６４×６４ピクセルブロックを備え得る、複数の最大コーディングユニット（ＬＣＵ）に分割され得る。一般に、これらＬＣＵは、さらに各々区分され得る複数のサブコーディングユニット（サブＣＵ）に区分され得る。一般に、コーディングユニット（ＣＵ）という用語は、ＬＣＵやその任意のサブＣＵ（例えば、ＬＣＵのサブＣＵまたは別のサブＣＵのサブＣＵ）を指し得る。これらＣＵは、４つの正方形非重複ブロックに区分され得る。ＬＣＵは１つまたは複数のノードを含む４分木データ構造に対応でき、ここで４分木のルートノードがＬＣＵ自体に対応し、他のノードがＬＣＵのサブＣＵに対応する。非区分ＣＵは、一般に、４分木のリーフノード（すなわち、子ノードを有しない４分木のノード）に対応する。従って、非区分ＣＵはリーフノードＣＵと呼ばれ得る。リーフノードＣＵは一般にＣＵのためのデータがどのように予測されるかを記述する１つまたは複数の予測ユニット（ＰＵ）と、残差データ、すなわちＣＵのための予測されたデータとＣＵのための元のデータとの間のピクセルごとの差分に対応する１つまたは複数の変換ユニット（ＴＵ：transform unit）とを含む。
【００１４】
非区分ＣＵのためのリーフノードはＣＵのＰＵのための予測モードを示す情報を含み得る。いくつかの例では、（ＴＵ４分木とも呼ばれる）残差４分木（ＲＱＴ：residual quadtree）がリーフノードＣＵに与えられることができ、ここでＲＱＴは対応するリーフノードＣＵのＴＵのための予測モードを示す情報を含み得る。いずれの場合も、ＣＵについての情報はＣＵの１つまたは複数の部分のための予測モードを示し得る。イントラ予測モードに関して、例えば、この情報は、ＤＣ予測モードが使用されるかどうか、あるいは方向性イントラ予測モードが使用されるかどうかを示し得る。ＤＣ予測モードでは、前にコーディングされた複数のブロックの複数の隣接ピクセルの値がアグリゲートされ、現在ＣＵの複数のピクセルの予測値を形成するために使用され得る。方向性予測モードでは、前にコーディングされた複数のブロックの複数の隣接ピクセルの値が現在ＣＵの複数のピクセルの予測値を形成するために、特定の方向において適用され得る。
【００１５】
ビデオエンコーダまたはビデオデコーダのようなビデオコーダは、複数のイントラ予測されたブロックをコーディングする際に使用する短距離イントラ予測（ＳＤＩＰ）モードを与え得る。ＳＤＩＰは、一般に、ＣＵが複数の平行ＰＵ(parallel PUs)に分割されることを可能にする。すなわち、ＳＤＩＰ区分ＣＵのこれら複数のＰＵは、これらの幅よりも長い長さを有するか、またはこれらの長さよりも長い幅を有し得る。その上、これらＰＵに対応するＣＵの複数の部分は、同じＣＵの複数の部分から予測され得る。例えば、８×８ＣＵは４つの８×２ＰＵに分割されることができ、ここで「Ｎ×Ｍ」がこの例において垂直方向におけるＮ個のピクセルおよび垂直方向におけるＭ個のピクセルを指す。第１のＰＵはＣＵに対する複数の隣接ピクセルから予測でき、第２のＰＵは第１のＰＵの複数のピクセルを含む複数の隣接ピクセルから予測でき、第３のＰＵは第２のＰＵの複数のピクセルを含む複数の隣接ピクセルから予測でき、第４のＰＵは第３のＰＵの複数のピクセルを含む複数の隣接ピクセルから予測できる。このようにして、ＣＵに対して隣接し前にコーディングされた複数のブロックの複数のピクセルからＣＵの全てのピクセルを予測するのではなく、ＣＵ内のピクセルが、ＳＤＩＰを使用して、同じＣＵ内の他のピクセルを予測するために使用され得る。ＳＤＩＰ  ＰＵは、ＰＵが正方形でないことがあり、一方向において４つよりも少ないピクセルを有し得るという点で、「短い」と見なされ得る。
【００１６】
また、ＨＭは、「ブロッキネス」アーティファクトを除去するために、デブロッキングフィルタを使用してデブロッキングを行う。すなわち、フレームを複数のブロック（ＬＣＵおよびこれらのサブＣＵ）に分割し、これらブロックをコーディングし、次いでこれらブロックを復号した後に、ブロック間のエッジに知覚可能なアーティファクトが発生し得る。従って、ビデオエンコーダは、フレームのビデオデータを符号化し、その後、符号化されたビデオデータを復号し、次いで、例えば、その後コード化されたビデオデータのインター予測のための参照ビデオデータを生成するために、復号されたビデオデータにデブロッキングフィルタを適用する。参照データとして使用するためのデータを、例えば、参照ピクチャバッファに記憶するより前に、ビデオエンコーダまたはビデオデコーダ等のビデオコーディングデバイスによって行われるそのようなデブロッキングフィルタ処理は、フィルタ処理がコーディングループ内で行われるので、「ループ内」フィルタ処理と一般に呼ばれる。ビデオデコーダは、ビデオデータを表示するために、並びに復号されるべき後続のビデオデータのための参照データとして使用するために、受信したビデオデータを復号し、次いで、復号されたビデオデータに同じデブロッキングフィルタを適用するように構成され得る。エンコーダとデコーダの両方に同じデブロッキング技法を適用するように構成することによって、デブロッキングが、参照のためにデブロックされたビデオデータを使用する、その後コード化されたビデオデータに対して誤差を導入しないように、エンコーダとデコーダとは同期され得る。
【００１７】
ＨＭは、一般に、２つのＰＵまたはＴＵを分離する各エッジについて、エッジをデブロックするためにデブロッキングフィルタを適用すべきかどうかを判断するように構成される。ＨＭは、エッジ、例えば、８つのピクセルのラインに対して直角なピクセルの１つまたは複数のラインの分析に基づいて、エッジをデブロックすべきかどうかを判断するように構成され得る。従って、例えば、垂直エッジでは、ＨＭは、水平または垂直であり得る共通ラインに沿ってエッジの左側に４つのピクセルおよび右側に４つのピクセルを検査することによって、エッジをデブロックすべきかどうかを判断し得る。選択されるピクセルの数は、一般に、デブロックするための最小ブロック、例えば、８×８ピクセルに対応する。このようにして、分析のために使用されるピクセルのラインは、２つのＰＵまたはＴＵのみ、すなわち、エッジのすぐ左側およびすぐ右側のＰＵまたはＴＵに入り得る。エッジに対してデブロッキングを行うべきかどうかの分析のために使用されるピクセルのラインは、サポートピクセルのセットまたは単に「サポート」とも呼ばれる。
【００１８】
ビデオコーディングデバイスは、特定のエッジのためのサポートに対してデブロッキング決定関数を実行するように構成され得る。一般に、デブロッキング決定関数は、サポート内の高周波変化を検出するように構成される。一般に、高周波変化が検出されたとき、デブロッキング決定関数は、デブロッキングが行われるべきであるという指示を与える。しかしながら、ＳＤＩＰを導入した場合、分析のために使用されるサポートピクセルは、すなわち、隣接するＳＤＩＰ  ＰＵの低減されたサイズにより、複数のＰＵ境界を横断し得る。従って、デブロッキング決定関数は、ブロックのうちの少なくとも１つがＳＤＩＰを使用して予測される２つのブロック間のエッジがデブロックされるべきであるという不適当な指示を与え得る。例えば、デブロッキング決定関数は、エッジを分析するときにサポートピクセルのセット内の高周波変化を検出し得るが、高周波変化は、現在検討されているエッジではなく、２つのＰＵまたはＴＵ間の境界で発生し得る。
【００１９】
本開示の技法は、一般に、ブロックの一方または両方がＳＤＩＰを使用して予測されるかどうかに少なくとも部分的に基づいて、２つのビデオブロック、例えば、２つのＣＵ間のエッジをデブロックすべきかどうかを判断することを対象とする。いくつかの例では、サポートピクセルのセットが１つまたは複数のＳＤＩＰ  ＰＵエッジを横断するとき、デブロッキングは単にスキップされる。他の例では、デブロッキングを行うべきかどうかの決定は、サポート領域がＳＤＩＰ  ＰＵエッジを横断しないように選択され得る代替サポート領域を使用して行われ得る。例えば、ＳＤＩＰ  ＰＵエッジ間の（ピクセル単位の）距離は、適応されたサポート領域が、低減された数のピクセルにわたり、従ってＳＤＩＰ  ＰＵエッジを横断しないように、適応されたサポート領域にマッピングされ得る。別の例として、現在エッジの近傍にあるＳＤＩＰ  ＰＵタイプが、ＳＤＩＰ  ＰＵエッジを横断しない適応されたサポート領域にマッピングされ得る。
【００２０】
ＳＤＩＰ  ＰＵは、一般に、水平配向または垂直配向のいずれかを有すると見なされ得る。ＰＵは、それの水平セクションがそれの垂直セクションよりも長い、例えば、それの幅がそれの高さよりも長いとき、水平方向に配向していると見なされ得る。ＰＵは、それの垂直セクションがそれの水平セクションよりも長い、例えば、それの高さがそれの幅よりも長いとき、垂直方向に配向していると見なされ得る。従って、水平方向に２つのピクセルを有し、垂直方向に８つのピクセルを有するＰＵは、垂直方向に配向していると見なされるが、垂直方向に２つのピクセルを有し、水平方向に８つのピクセルを有するＰＵは、水平方向に配向していると見なされるであろう。その上、サポートピクセルのセットは、サポートピクセルのセットがＰＵの配向に対して平行であるラインに沿っているとき、ＰＵと平行であると見なされ得、サポートピクセルのセットは、サポートピクセルのセットがＰＵの配向に対して直角であるラインに沿っているとき、ＰＵに対して直角であると見なされ得る。
【００２１】
いくつかの例では、本開示の技法は、共通エッジを共有するいずれかまたは両方のブロックがＳＤＩＰを使用して予測されるかどうかに加えて、ＳＤＩＰパーティションが、ブロック間の共通エッジに対して直角であるかどうかを判断することを含む。一般に、全てのＳＤＩＰパーティションが、デブロッキング判断が行われている共通エッジに対して直角である場合、分析は、従来のデブロッキング判断から変更する必要がない。すなわち、サポートピクセルのラインは、これらの状況ではＳＤＩＰパーティションに対して平行になるので、サポートピクセルの標準セットは、ＳＤＩＰ境界を横断せず、従って、共通エッジをデブロックすべきかどうかの正しい判断につながる。ＳＤＩＰパーティションが共通エッジに対して平行である場合でも、サポートピクセルの従来のセットは、（例えば、ＳＤＩＰパーティション幅が、共通エッジの一方の側のサポートピクセルのセットよりも広いとき）ＳＤＩＰパーティション境界を横断しないことがある。従って、ビデオコーディングデバイスは、本開示の技法によれば、サポートピクセルが１つまたは複数のＳＤＩＰパーティション境界を横断するかどうかを判断し、そうである場合、（例えば、適応サポートを使用して）共通エッジをデブロックすべきかどうかを判断するプロセスを変更し得る。
【００２２】
本開示はまた、ＬＣＵ中のエッジのロケーションの指示を記憶するためのデータ構造を提供する。いくつかの例では、ビデオコーディングデバイスは、ＬＣＵのサブＣＵのための予測データと復号された残差データとから復号されたＬＣＵを形成し、次いで、ＬＣＵに対してデブロッキング決定関数(function)を実行する。ビデオコーディングデバイスは、サブＣＵへのＬＣＵの区分に基づいてＬＣＵ中のエッジのロケーションを判断し得、エッジは、一般に、２つの隣接ＣＵ間に形成される。従って、ビデオコーディングデバイスは、候補エッジのロケーションをＬＣＵのためのデータ構造に記憶し得る。ビデオコーディングデバイスによって実行されるデブロッキング決定関数は、エッジをデブロックすべきかどうかを判断するために、ＬＣＵ中の各エッジ（すなわち、ＬＣＵ中のいずれかの２つのブロック間の境界）を分析し得る。すなわち、デブロッキング決定関数は、データ構造を使用して候補エッジのロケーションを判断し、候補エッジをデブロックすべきかどうかを判断し、次いで、判断されたエッジをデブロックし得る。
【００２３】
本開示の技法によれば、各候補エッジについてのバイナリ判断（すなわち、ＬＣＵの対応するロケーション中にエッジがあるのかないのか）を単に記憶するのではなく、ビデオコーディングデバイスは、ＳＤＩＰ予測モードの指示（例えば、ＳＤＩＰパーティションサイズおよび方向）をデータ構造に記憶し得る。値をデータ構造に記憶した後に、ビデオコーディングデバイスによって実行されるデブロッキングプロセスは、データ構造を使用して、ＬＣＵ中の、もしあれば、どんなエッジをデブロックすべきかを判断し得る。他の例では、ビデオコーディングデバイスは、ビデオデータのスライスまたはフレーム中の全てのＬＣＵ（およびこれらのサブＣＵ）に対して同様の技法を行い得る。
【００２４】
図１は、ＣＵがＳＤＩＰを使用して予測されるかどうかに少なくとも部分的に基づいて、２つのＣＵ間のエッジにデブロッキングフィルタを適用すべきかどうかを判断するための技法を利用し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示すように、システム１０は、通信チャネル１６を介して符号化ビデオを宛先デバイス１４に送信するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１４は、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４は、ワイヤレスハンドセット、いわゆるセルラー無線電話または衛星無線電話のようなワイヤレス通信デバイスを備えるか、あるいは、通信チャネル１６を介してビデオ情報を通信することができ、その場合、通信チャネル１６がワイヤレスである、任意のワイヤレスデバイスを備え得る。
【００２５】
ただし、ＣＵがＳＤＩＰを使用して予測されるかどうかに少なくとも部分的に基づいて、ＣＵ間のエッジにデブロッキングフィルタを適用すべきかどうかを判断することに関係する本開示の技法は、必ずしもワイヤレスアプリケーションまたは設定に限定されるとは限らない。例えば、これらの技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、インターネットビデオ送信、記憶媒体上に符号化される符号化デジタルビデオ、または他のシナリオに適用され得る。従って、通信チャネル１６は、符号化ビデオデータの送信または記憶に好適なワイヤレス、ワイヤード、または記憶媒体の任意の組合せを備え得る。
【００２６】
図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、変調器／復調器（モデム）２２と、送信機２４とを含む。宛先デバイス１４は、受信機２６と、モデム２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。本開示によれば、ソースデバイス１２のビデオエンコーダ２０は、ＣＵがＳＤＩＰを使用して予測されるかどうかに少なくとも部分的に基づいて、ＣＵ間のエッジにデブロッキングフィルタを適用すべきかどうかを判断するための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または構成を含み得る。例えば、ソースデバイス１２は、外部カメラのような外部ビデオソース１８からビデオデータを受信し得る。同様に、宛先デバイス１４は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
【００２７】
図１の図示のシステム１０は一例にすぎない。ＣＵがＳＤＩＰを使用して予測されるかどうかに少なくとも部分的に基づいて、ＣＵ間のエッジにデブロッキングフィルタを適用すべきかどうかを判断するための技法は、任意のデジタルビデオ符号化および／または復号デバイスによって行われ得る。一般に、本開示の技法はビデオ符号化デバイスによって行われるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても行われ得る。その上、本開示の技法はまた、ビデオプリプロセッサによって行われ得る。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が宛先デバイス１４に送信するためのコード化ビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス１２、１４は、デバイス１２、１４の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。従って、システム１０は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオテレフォニーのためのビデオデバイス１２とビデオデバイス１４との間の一方向または双方向のビデオ送信をサポートし得る。
【００２８】
ソースデバイス１２のビデオソース１８は、ビデオカメラのようなビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および／またはビデオコンテンツプロバイダからのビデオフィードを含み得る。さらなる代替として、ビデオソース１８は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、上述のように、本開示で説明する技法は、一般にビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。符号化ビデオ情報は、次いで、通信規格に従ってモデム２２によって変調され、送信機２４を介して宛先デバイス１４に送信され得る。モデム２２は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機２４は、増幅器、フィルタ、および１つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
【００２９】
宛先デバイス１４の受信機２６はチャネル１６を介して情報を受信し、モデム２８はその情報を復調する。この場合も、ビデオ符号化プロセスは、ＣＵがＳＤＩＰを使用して予測されるかどうかに少なくとも部分的に基づいて、ＣＵ間のエッジにデブロッキングフィルタを適用すべきかどうかを判断するための、本明細書で説明する技法のうちの１つまたは複数を実装し得る。チャネル１６を介して通信される情報は、ブロックおよび他のコード化ユニット、例えば、ＧＯＰの特性および／または処理を記述するシンタックス要素を含む、ビデオデコーダ３０によっても使用される、ビデオエンコーダ２０によって定義されるシンタックス情報を含み得る。ディスプレイデバイス３２は、復号されたビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスのような様々なディスプレイデバイスのいずれかを備え得る。
【００３０】
図１の例では、通信チャネル１６は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路のような任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。他の例では、コード化ビデオデータは、記憶媒体に記憶され、宛先デバイスに物理的にトランスポートされ得、宛先デバイスは、記憶媒体からコード化ビデオデータを読み取り、復号し得る。通信チャネル１６は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネット等のグローバルネットワークのようなパケットベースネットワークの一部を形成し得る。
【００３１】
通信チャネル１６は、一般に、ワイヤード媒体またはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス１２から宛先デバイス１４に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル１６は、ソースデバイス１２から宛先デバイス１４への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。他の例では、ソースデバイス１２は、データを送信するのではなく、符号化データを記憶媒体に記憶し得る。同様に、宛先デバイス１４は、記憶媒体から符号化データを取り出すように構成され得る。
【００３２】
ビデオエンコーダ２０およびビデオデコーダ３０は、今度のＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＶＥＣ）規格等のビデオ圧縮規格に実質的に従って動作し得る。ただし、本開示の技法は特定のコーディング規格に限定されない。他の例には、代替的にＭＰＥＧ−４，Ｐａｒｔ  １０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、各々オーディオエンコーダおよびオーディオデコーダと統合され得、また、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するための適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）等の他のプロトコルに準拠し得る。
【００３３】
ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）規格は、Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）として知られる共同パートナーシップの成果として、ＩＳＯ／ＩＥＣ  Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）とともにＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）によって策定された。いくつかの態様では、本開示で説明する技法は、Ｈ．２６４規格に一般に準拠するデバイスに適用され得る。Ｈ．２６４規格は、ＩＴＵ−Ｔ  Ｓｔｕｄｙ  Ｇｒｏｕｐによる２００５年３月付けのＩＴＵ−Ｔ勧告Ｈ．２６４「Advanced Video Coding for generic audiovisual services」に記載されており、本明細書ではＨ．２６４規格またはＨ．２６４仕様、あるいはＨ．２６４／ＡＶＣ規格または仕様と呼ぶことがある。Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）はＨ．２６４／ＭＰＥＧ−４  ＡＶＣへの拡張に取り組み続けている。ＪＶＴと同様に、ＶＣＥＧおよびＭＰＥＧは、ＨＥＶＣを開発するためにＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）を確立した。
【００３４】
ビデオエンコーダ２０およびビデオデコーダ３０は各々、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組合せのような様々な好適なエンコーダ回路のどれかとして実装され得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合エンコーダ／デコーダ（コーデック）の一部として該当のカメラ、コンピュータ、モバイルデバイス、加入者デバイス、ブロードキャストデバイス、セットトップボックス、サーバなどに統合され得る。
【００３５】
ビデオシーケンスは、一般に一連のビデオフレームを含む。ピクチャのグループ（ＧＯＰ）は、一般に、一連の１つまたは複数のビデオフレームを備える。ＧＯＰは、ＧＯＰ中に含まれるいくつかのフレームを記述するシンタックスデータを、ＧＯＰのヘッダ中、ＧＯＰの１つまたは複数のフレームのヘッダ中、または他の場所に含み得る。各フレームは、該当のフレームのための符号化モードを記述するフレームシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して動作する。ビデオブロックは、マクロブロック、またはマクロブロックのパーティション、あるいはＬＣＵ、ＣＵ、またはＣＵのパーティション（例えば、サブＣＵ）に対応し得る。ビデオブロックは、固定サイズまたは変動サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。各ビデオフレームは複数のスライスを含み得る。各スライスは複数のブロックを含み得、これらのブロックは、サブブロックとも呼ばれるパーティションに構成され得る。ＨＥＶＣでは、例えば、最大コーディングユニット（ＬＣＵ）およびこれらのサブコーディングユニット（ＣＵ）は、４分木構造に従って区分され得る。
【００３６】
一例として、ＩＴＵ−Ｔ  Ｈ．２６４規格は、ルーマ成分については１６×１６、８×８、または４×４、およびクロマ成分については８×８のような様々なブロックサイズのイントラ予測をサポートし、並びにルーマ成分については１６×１６、１６×８、８×１６、８×８、８×４、４×８および４×４、およびクロマ成分については対応するスケーリングされたサイズのような様々なブロックサイズのインター予測をサポートする。本開示では、「Ｎ×Ｎ（NxN）」と「Ｎ×Ｎ（N by N）」は、垂直寸法および水平寸法に関するブロックのピクセル寸法、例えば、１６×１６（16x16）ピクセルまたは１６×１６（16 by 16）ピクセルを指すために互換的に使用され得る。一般に、１６×１６ブロックは、垂直方向に１６ピクセルを有し（ｙ＝１６）、水平方向に１６ピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、一般に、垂直方向にＮピクセルを有し、水平方向にＮピクセルを有し、Ｎは非負整数値を表す。ブロック中のピクセルは行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。例えば、ブロックはＮ×Ｍピクセルを備え得、ただし、Ｍは必ずしもＮに等しいとは限らない。
【００３７】
１６×１６よりも小さいブロックサイズは１６×１６マクロブロックのパーティションと呼ばれ得る。ビデオブロックは、ピクセル領域中のピクセルデータのブロックを備え得、あるいは、例えば、コード化ビデオブロックと予測ビデオブロックとの間のピクセル差分を表す残差ビデオブロックデータへの離散コサイン変換（ＤＣＴ：discrete cosine transform）、整数変換、ウェーブレット変換、または概念的に同様の変換等の変換の適用後の、変換領域中の変換係数のブロックを備え得る。場合によっては、ビデオブロックは、変換領域中の量子化変換係数のブロックを備え得る。
【００３８】
小さいビデオブロックほど、より良い解像度が得られ、高い詳細レベルを含むビデオフレームのロケーションのために使用され得る。一般に、ブロック、およびサブブロックと呼ばれ得る様々なパーティションは、ビデオブロックと見なされ得る。さらに、スライスは、ブロックおよび／またはサブブロック、あるいはＬＣＵおよび／またはサブＣＵのような複数のビデオブロックであると見なされ得る。各スライスは、ビデオフレームの単独で復号可能なユニットであり得る。代替的に、フレーム自体が復号可能なユニットであり得るか、またはフレームの他の部分が復号可能なユニットとして定義され得る。「コード化ユニット」または「コーディングユニット」という用語は、フレーム全体、フレームのスライス、シーケンスとも呼ばれるピクチャのグループ（ＧＯＰ）のようなビデオフレームの任意の単独で復号可能なユニット、または適用可能なコーディング技法に従って定義される別の単独で復号可能なユニットを指し得る。
【００３９】
ＨＥＶＣテストモデル（ＨＭ）は、ＨＥＶＣの技法に従って実装される仮定的デバイスを記述する。ＨＭは、短距離イントラ予測（ＳＤＩＰ）予測モードで構成され得る。ＳＤＩＰでは、ビデオコーディングデバイスは、ブロック（例えば、リーフノードＣＵ）をいくつかの平行予測ユニット（ＰＵ）に区分し得る。例えば、ＨＭは、１６×１６ＣＵを、ＳＤＩＰを使用して予測される４つの４×１６ＰＵまたは４つの１６×４ＰＵに区分し得る。ＳＤＩＰでは、ビデオコーディングデバイスは、現在ＣＵに対する前にコーディングされたブロックの隣接ピクセルの値からＰＵのうちの第１のＰＵを予測する。
【００４０】
第１のＰＵに対応するＣＵの領域をコーディングした後に、ビデオコーディングデバイスは、現在ＣＵの、前にコーディングされたＰＵの隣接ピクセルから現在ＣＵのＰＵのうちの次のＰＵを予測する。従って、もっぱら、イントラ予測のための参照ピクセルとして前にコーディングされたＣＵからのピクセルを使用するのではなく、ＳＤＩＰでは、同じＣＵ内のピクセルが、ＣＵの他のピクセルのための参照ピクセルとして使用され得る。もちろん、イントラ予測方向に応じて、前にコーディングされたＣＵのピクセルも、現在ＣＵの、前にコーディングされたＰＵのピクセルと同様に、現在ＣＵの現在ＰＵの予測値を計算する際に参照のために使用され得る。ピクセル値は、今度のＨＥＶＣ規格では「サンプル」とも呼ばれ、これは、ルミナンスまたは「ルーマ」サンプルおよびクロミナンスまたは「クロマ」サンプルを指す。
【００４１】
ＨＥＶＣのテストモデル中に含まれるループ内デブロッキングアルゴリズムは、例えば、サイズ８×８ピクセルの、デブロックのための最小ブロックに基づいて、決定を計算し、フィルタ処理を行う。最小ブロックのエッジを処理するためのデブロッキング決定およびフィルタは、一般に、処理されているエッジ以外のＰＵまたはＴＵの他のエッジとの重複がないように形成される。これは、他のエッジが横断され、他のエッジ近傍からのピクセルが計算において使用されるとき、決定およびフィルタ処理結果が信頼できなくなり得るからである。
【００４２】
例えば、現在ＣＵのサイズに基づいて、様々なＳＤＩＰ  ＰＵ区分方式が与えられ得る。一般に、Ｎ×Ｎ  ＣＵのためのＳＤＩＰ  ＰＵは、（Ｎ／４）×ＮまたはＮ×（Ｎ／４）のサイズを有し得、Ｎは、４よりも大きいかまたはそれに等しい整数である。他のサイズおよび区分方式、例えば、Ｎ×Ｎ  ＣＵのためのＮ×１または１×Ｎも利用可能であり得る。以下の表１に、現在ＣＵのサイズに基づく、ＳＤＩＰ  ＰＵを構成するために利用可能であり得るいくつかの例示的な区分方式を与える。ＨＥＶＣのＳＤＩＰ  ＰＵは、ＣＵごとに様々な矩形サイズを有し得る。ＰＵのいくつかは、デブロックのための最小ブロックサイズよりも小さい寸法を有する。例えば、ＰＵサイズ１×１６、１６×１、２×８、８×２では、８つのタップ（エッジの両側に４つのタップ）を有するデブロッキング決定およびフィルタが、デブロックのための最小ブロック内の１つまたは複数のＳＤＩＰ  ＰＵエッジを横断することがあり、これは、回避されるべきである。
【表１】
0005937200.tif 000002
【００４３】
ビデオエンコーダ２０およびビデオデコーダ３０は、ＳＤＩＰを行うように構成され得る。その上、ビデオエンコーダ２０およびビデオデコーダ３０は、デブロックのためにループ内フィルタ処理を行うように構成され得る。一般に、デブロックは、エッジでの高周波変化を検出するために、２つのブロック（例えば、２つのＣＵ）を分割するエッジの両側のピクセルのセットを分析すること含む。そのような高周波変化が検出されたとき、エッジはデブロックされ得る。例えば、エッジの近くのピクセルの値が、高周波変化を低減するために平滑化され、それによって、最終的に表示されるビデオデータ中の「ブロッキネス」アーティファクトの出現を低減し得る。
【００４４】
ＨＥＶＣでは、２つのＣＵ間のエッジでの高周波変化を検出するために、エッジの両側の連続する３つのピクセル、およびエッジを構成する２つのピクセルが分析され、ピクセルは合計８つになる。デブロッキング決定関数は、サポートピクセルと一般に呼ばれる、分析されているピクセルの値に該当の係数を適用し得る。従来、利用可能な最小ブロックサイズは４×４ピクセルであり、従って、エッジの両側のサポートピクセルのセットは、常にブロック内にあった。しかしながら、ＳＤＩＰを導入した場合、例えば、（所与のブロック中でサポートピクセルのセットが４ピクセルであるときに）ＳＤＩＰ  ＰＵサイズが、１×１６、１６×１、２×８、８×２、または１つの方向において４つよりも少ないピクセルを有する任意の他のＳＤＩＰ  ＰＵサイズであるとき、サポートピクセルのセットはＳＤＩＰ  ＰＵ境界を横断し得る。
【００４５】
高周波変化は、２つのＳＤＩＰ  ＰＵ間の境界で発生し得る。場合によっては、これは、デブロッキング決定関数についての誤判定につながり得る。例えば、実際は、２つのＣＵ間の境界で高周波変化はないが、２つのＣＵのうちの一方の、２つのＰＵ間の境界で高周波変化があることがある。しかしながら、サポートピクセルのセットが２つのＰＵ間の境界を横断するとき、デブロッキング決定関数は、２つのＣＵではなく、２つのＰＵ間の境界で高周波変化の存在を検出し得る。これは、２つのＣＵ間のエッジの近くのピクセルの誤った処理につながり得る。
【００４６】
本開示の技法によれば、ビデオエンコーダ２０およびビデオデコーダ３０は、ＣＵのいずれかまたは両方がＳＤＩＰを使用して予測されるかどうかに少なくとも部分的に基づいて、２つのＣＵ間のエッジをデブロックすべきかどうかを判断するように構成され得る。一般に、ビデオエンコーダ２０およびビデオデコーダ３０は、ループ内デブロッキングフィルタ処理を行うように構成され得る。すなわち、（イントラ予測のための前にコーディングされたブロック、あるいはインター予測のための前にコーディングされたフレームまたはスライス等の）参照データは、参照データとしての使用に先立ってデブロックされ得る。従って、ビデオエンコーダ２０が特定のエッジをデブロックしたとき、ビデオデコーダ３０もそのエッジをデブロックすべきである。その上、ビデオエンコーダ２０とビデオデコーダ３０とによって使用される技法は本質的に同じである。従って、「ビデオコーディングデバイス」への言及は、一般に、ビデオエンコーダ２０等のビデオエンコーダまたはビデオデコーダ３０等のビデオデコーダのいずれかを指し得る。説明のために、本開示の技法について、以下でビデオエンコーダ２０に関して主に説明するが、ビデオデコーダ３０が実質的に同様の技法を行うように構成され得ることを理解されたい。
【００４７】
予測データと残差データとを生成するためのイントラ予測コーディングまたはインター予測コーディングの後、および変換係数を生成するための（Ｈ．２６４／ＡＶＣで使用される４×４または８×８整数変換、あるいは離散コサイン変換ＤＣＴ等の）任意の変換の後、変換係数の量子化が行われ得る。量子化は、一般に、係数を表すために使用されるデータの量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。例えば、量子化中にｎビット値がｍビット値に切り捨てられ得、ｎはｍよりも大きい。
【００４８】
量子化の後に、例えば、コンテンツ適応型可変長コーディング（ＣＡＶＬＣ：content adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context adaptive binary arithmetic coding）、または別のエントロピーコーディング方法に従って、量子化データのエントロピーコーディングが行われ得る。エントロピーコーディング用に構成された処理ユニット、または別の処理ユニットは、量子化係数のゼロランレングスコーディング、および／またはコード化ブロックパターン（ＣＢＰ：coded block pattern）値、マクロブロックタイプ、コーディングモード、（フレーム、スライス、マクロブロック、またはシーケンス等の）コード化ユニットの最大マクロブロックサイズ等のシンタックス情報の生成のような他の処理機能を行い得る。
【００４９】
ビデオエンコーダ２０は、さらに、ブロックベースのシンタックスデータ、フレームベースのシンタックスデータ、およびＧＯＰベースのシンタックスデータ等のシンタックスデータを、例えば、フレームヘッダ、ブロックヘッダ、スライスヘッダ、またはＧＯＰヘッダ中でビデオデコーダ３０に送り得る。ＧＯＰシンタックスデータは、該当のＧＯＰ中のいくつかのフレームを記述し得、フレームシンタックスデータは、対応するフレームを符号化するために使用される符号化／予測モードを示し得る。
【００５０】
ビデオエンコーダ２０は、例えば、残差データを逆量子化し、逆変換し、その残差データを特定のＣＵのための予測データと組み合わせることによって、実質的に全ての符号化ビデオデータを復号する。この復号プロセスの後に、ビデオエンコーダ２０は、ＣＵ間のエッジをデブロックすべきかどうかを判断し得る。デブロックした後、ビデオエンコーダ２０は、参照データとして使用するために、復号データを復号ピクチャバッファ等のメモリに記憶し得る。すなわち、同じフレームまたは異なるフレームの後続のビデオデータを予測するときに、ビデオエンコーダ２０は、イントラ予測モードまたはインター予測モードのいずれかで後続のデータを予測するための参照として、メモリ中の記憶されたデータを使用し得る。デブロッキングフィルタ処理は、参照として使用するためのデータを復号した後および記憶するより前に行われるので、デブロッキングフィルタ処理は、フィルタ処理がコーディングループ中に行われるという点で、「ループ内」フィルタ処理と呼ばれ得る。従って、ビデオエンコーダ２０がビデオデータを符号化したとき、ビデオデコーダ３０がビデオデータを正確に復号することが可能であるように、ビデオエンコーダ２０およびビデオデコーダ３０は、同じデブロッキング技法に従って構成され得る。
【００５１】
いくつかの例では、ビデオエンコーダ２０は、２つのＳＤＩＰ予測されたＣＵ間のいずれのエッジについても、エッジはデブロックされるべきでないと判断する。すなわち、ビデオエンコーダ２０は、ＣＵのうちの少なくとも１つがＳＤＩＰを使用して予測される、２つのＣＵ間の全てのエッジへのデブロッキング決定関数の適用をスキップし得る。他の例では、ビデオエンコーダ２０は、ＣＵのうちの少なくとも１つが、エッジに対して平行であるＰＵを有するＳＤＩＰ予測モードを使用して予測されるとき、２つのＣＵ間のエッジへのデブロッキング決定関数の適用をスキップするように構成され得る。一方、ＣＵのいずれかまたは両方が、エッジに対して直角であるＳＤＩＰ  ＰＵを使用して予測されるとき、ビデオエンコーダ２０は、デブロッキング判断関数を標準的に適用し得る。すなわち、ＳＤＩＰ  ＰＵがエッジに対して直角であるとき、エッジをデブロックすべきどうかを判断するために使用されるサポートピクセルは、ＳＤＩＰ  ＰＵ間の境界に対して平行であるラインになり、従って、ＳＤＩＰ  ＰＵ間の境界を横断しない。従って、この状況では、サポートピクセルがＳＤＩＰ  ＰＵ境界を横断し、それによって誤判定をもたらす恐れがないので、ビデオエンコーダ２０は、そのような問題に対する懸念なしに、デブロッキング判断関数を適用し得る。
【００５２】
他の例では、ビデオエンコーダ２０は、ＣＵのうちの少なくとも１つがＳＤＩＰを使用して予測されるときに適用すべき代替サポート領域の定義を含み得る。代替サポート領域は、サポートがＳＤＩＰ  ＰＵ境界を横断しないように構成され得る。例えば、２つの隣接ＣＵについて、２つのＣＵのうちの一方は、８×２のＰＵを有するＳＤＩＰを使用して予測され、他方は、（ＳＤＩＰ以外の）従来のイントラ予測モードを使用して予測されると仮定する。その場合、サポート領域は、従来のイントラ予測モードを使用して予測されたＣＵの４つのピクセルとＳＤＩＰ予測されたＣＵの２つのピクセルとを含み得る。別の例として、両方のＣＵが８×２ピクセルのＳＤＩＰ  ＰＵを使用して予測されると仮定する。この例では、適応サポート領域は、ＣＵの各々からの２つのピクセルを含み得、ピクセルは合計４つになる。適応サポート領域は、ＳＤＩＰ  ＰＵタイプに、またはＳＤＩＰ  ＰＵエッジとＣＵ間の現在エッジと間の（ピクセル単位の）距離に基づいて選択され得る。
【００５３】
ＨＥＶＣテストモデルにおけるループ内デブロッキング実装形態は、デブロックされるべきエッジを判断するために、現在ＣＵ中に含まれるＴＵおよびＰＵを処理する。従来、エッジフィルタ処理ステータスは、多次元エッジフィルタ処理配列にブール値として記憶される。エッジフィルタ処理配列の要素は、ＣＵ内の重複しない４×４ピクセルブロックに対応し得る。４×４ブロックの左側および上側境界の垂直および水平エッジ方向の各々について、配列は、エッジがデブロックの候補であるかどうかを示すためのブール値を含み得る。配列中のブロックの４×４ピクセルサイズは、エッジフィルタ処理配列を記憶するためのメモリ要件に関係する。代替的に、より小さいまたはより大きいブロックサイズに対応する要素をもつエッジフィルタ処理配列が記憶され、それぞれ、より大きいまたはより小さいメモリ要件を生じ得る。
【００５４】
ＳＤＩＰに関して、いくつかのパーティションは、エッジフィルタ処理配列中の要素に対応する４×４ブロックサイズよりも小さい寸法を有する。例えば、パーティションサイズ１×１６、１６×１、２×８、および８×２のエッジは、４×４ブロックサイズに基づくエッジフィルタ処理配列中では一意に表され得ない。これらのＳＤＩＰパーティションのエッジフィルタ処理ステータスを記憶するために、エッジフィルタ処理配列のメモリ要件は、例えば、２×２ブロックに対応する要素を使用することによって増加される必要があろう。これは可能なソリューションであるが、本開示は代替ソリューションをも含む。
【００５５】
いくつかの例では、ビデオエンコーダ２０は、分析のための候補エッジの指示を、上記で説明したエッジフィルタ処理配列等のデータ構造に記憶するように構成され得る。例えば、ビデオエンコーダ２０は、特定のＬＣＵの全てのＣＵを分析し、ＬＣＵの隣接ＣＵ間のエッジのロケーションを判断し得る。ビデオエンコーダ２０は、エッジのロケーションの判断を、配列、リンクリスト、木構造、または他のデータ構造のようなデータ構造に記憶し得る。例えば、ビデオエンコーダ２０は、エッジの可能な水平位置と垂直位置とを表す２つの次元と、エッジ配向（水平または垂直）を示すための第３の次元とを有する３次元配列を構成し得る。ビデオエンコーダ２０は、次のような配列、
bool EdgeFilteringArray[I][J][2]を宣言し得る。
【００５６】
ただし、「Ｉ」は、水平方向における可能なエッジの最大数を表し、「Ｊ」は、垂直方向における可能なエッジの最大数を表し、「２」は、エッジが発生し得る方向（水平または垂直）の数を表す。
【００５７】
例えば、ＬＣＵが、６４×６４ピクセルを有し、最小ＣＵサイズが８×８であると仮定する。この例では、ＣＵ間のエッジは、ＬＣＵ内の１６×１６個の位置で発生し得、水平方向と垂直方向の両方にエッジがあり得る。従って、ビデオエンコーダ２０は、次のような配列、
bool EdgeFilteringArray[8][8][2]を宣言し得る。
【００５８】
ただし、ＥｄｇｅＦｉｌｔｅｒｉｎｇＡｒｒａｙは、各可能なエッジロケーションについて、そのロケーションで候補エッジが存在する（「真」）か否（「偽」）かを示すブール値（「真」または「偽」）を記憶し得る。
【００５９】
ＳＤＩＰを導入したので、そのようなＬＣＵ中には８×８よりも多くのエッジがあり得る。すなわち、ＣＵ間のエッジに加えて、ＬＣＵのＳＤＩＰ予測されたＣＵ内のＳＤＩＰ  ＰＵ間にエッジがあり得る。上述のように、Ｎ×Ｎ  ＣＵのＳＤＩＰ  ＰＵは、１×ＮまたはＮ×１ほどに小さいことがある。従って、ＬＣＵ中の各可能なエッジを考慮するために、上記で説明した配列を拡張することは、上記で説明した配列よりも６４倍も多いエントリを有する配列をもたらすであろう。これは１つの可能なソリューションであるが、本開示では、より効率的であり得る、デブロッキング決定を記憶するための代替データ構造を提案する。
【００６０】
いくつかの例では、ブール値を記憶する配列を構成するのではなく、ビデオエンコーダ２０は、ブール値とＳＤＩＰフラグとを記憶する配列を構成し得る。ＳＤＩＰフラグは、特定のＳＤＩＰモードのためのＳＤＩＰ  ＰＵサイズと方向とを表す値を有し得る。エッジのブール値、またはエッジに接するＣＵについてのＳＤＩＰフラグのいずれかを記憶し得る、ｂｏｏｌＯｒＳＤＩＰＦｌａｇと呼ばれるデータ構造があると仮定すると、ビデオエンコーダ２０は、上記で説明した配列と同じサイズを有するｂｏｏｌＯｒＳＤＩＰＦｌａｇの配列を構成し得る。例えば、ＬＣＵがＮ×Ｎのサイズを有すると仮定すると、ビデオエンコーダ２０は、次のような配列、
boolOrSDIPFlag EdgeFilteringArray[N/8][N/8][2]を構成し得る。
【００６１】
例えば、この場合も、ＬＣＵが６４×６４ピクセルのサイズを有すると仮定すると、ビデオエンコーダ２０は、次のような配列、
boolOrSDIPFlag EdgeFilteringArray[8][8][2]を構成し得る。
【００６２】
以下の表２に、ＳＤＩＰ  ＰＵタイプに基づく、ＣＵがＳＤＩＰ予測されるときの、上記で説明した例示的な配列のロケーションに記憶され得る値および値タイプの例を示す。
【表２】
0005937200.tif 000003
【００６３】
いくつかの例では、ＳＤＩＰフラグの各々は、ＣＵがＳＤＩＰ  ＰＵパーティションに区分されるかどうかと、そうである場合、ＳＤＩＰ  ＰＵの方向（例えば、ＳＤＩＰ  ＰＵパーティションのより長い部分が水平であるのか垂直であるのか）と、ＳＤＩＰ  ＰＵパーティションがＳＤＩＰ  ＰＵパーティションにさらに区分されるかどうかとを表す値を含み得る。
【００６４】
配列を構成した後に、ビデオエンコーダ２０は、配列を使用して、対応するＬＣＵの可能なエッジのロケーションを判断し得る。デブロッキングフィルタ処理ユニットは、例えば、ＬＣＵのデータを受信し、デブロックされるべきエッジを判断するために配列を参照し得る。配列のエントリがブール値を有するとき、デブロッキングフィルタ処理ユニットは、ブール値に基づいて、２つのＣＵ間にエッジが存在するかどうかを判断し得る。例えば、「真」の値はエッジが存在することを示し得、「偽」はエッジが存在しないことを示し得る。一方、配列のエントリがＳＤＩＰフラグ値を有するとき、ビデオエンコーダ２０は、２つのＣＵ間のエッジに加えて、ＣＵ内のＳＤＩＰパーティション間のエッジのいずれかまたは全てをデブロックすべきかどうかを判断し得る。
【００６５】
ビデオエンコーダ２０およびビデオデコーダ３０は各々、適用可能なとき、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアのような様々な好適なエンコーダまたはデコーダ回路のいずれか、あるいはこれらの任意の組合せとして実装され得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ／デコーダ（コーデック）の一部として統合され得る。ビデオエンコーダ２０および／またはビデオデコーダ３０を含む装置は、集積回路、マイクロプロセッサ、および／またはセルラー電話等のワイヤレス通信デバイスを備え得る。
【００６６】
図２は、ＣＵがＳＤＩＰを使用して予測されるかどうかに少なくとも部分的に基づいて、ＣＵ間のエッジにデブロッキングフィルタを適用すべきかどうかを判断するための技法を実装し得るビデオエンコーダ２０の一例を示すブロック図である。ビデオエンコーダ２０は、ブロック、あるいはブロックのパーティションまたはサブパーティションを含む、ビデオフレーム内のブロックのイントラコーディングおよびインターコーディングを行い得る。イントラコーディングは、所与のビデオフレーム内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレーム内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースの圧縮モードのいずれかを指すことがあり、単方向予測（Ｐモード）または双方向予測（Ｂモード）等のインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。
【００６７】
図２に示すように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図２の例では、ビデオエンコーダ２０は、動き補償ユニット４４と、動き推定ユニット４２と、イントラ予測ユニット４６と、参照フレームメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピーコーディングユニット５６と、デブロッカー６６とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。
【００６８】
符号化プロセス中に、ビデオエンコーダ２０は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、ＬＣＵのような複数のビデオブロックに分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を行うために、１つまたは複数の参照フレーム中の１つまたは複数のブロックに対して受信されたビデオブロックのインター予測コーディングを行う。イントラ予測ユニット４６は、同じフレームまたはスライス中の隣接する前にコーディングされたブロックのピクセルに対して受信されたビデオブロックのイントラ予測コーディングを行う。本開示の技法によれば、イントラ予測ユニット４６は、方向性イントラ予測およびＤＣイントラ予測に加えて、短距離イントラ予測（ＳＤＩＰ）を行うように構成され得る。モード選択ユニット４０は、例えば、誤差結果に基づいてコーディングモード、すなわち、イントラまたはインターのうちの１つを選択し、残差ブロックデータを生成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器５０に与え、参照フレームとして使用するための符号化ブロックを再構成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器６２に与え得る。
【００６９】
動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、現在フレーム（または他のコード化ユニット）内でコーディングされている現在ブロックに対する予測参照フレーム（または他のコード化ユニット）内の予測ブロックの変位を示し得る。予測ブロックは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって判断され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックである。動き補償は、動き推定によって判断された動きベクトルに基づいて予測ブロックをフェッチまたは生成することを伴い得る。この場合も、いくつかの例では、動き推定ユニット４２と動き補償ユニット４４とは機能的に統合され得る。
【００７０】
動き推定ユニット４２は、ビデオブロックを参照フレームメモリ６４中の参照フレームのビデオブロックと比較することによってインターコード化フレームのビデオブロックの動きベクトルを計算する。動き補償ユニット４４はまた、参照フレーム、例えば、ＩフレームまたはＰフレームのサブ整数ピクセルを補間し得る。一例として、ＩＴＵ  Ｈ．２６４規格には、符号化されている現在フレームよりも前の表示順序を有する参照フレームを含むリスト０、および符号化されている現在フレームよりも後の表示順序を有する参照フレームを含むリスト１という２つの参照ピクチャリストが記載されている。従って、参照フレームメモリ６４に記憶されたデータは、これらのリストに従って編成され得る。
【００７１】
動き推定ユニット４２は、参照フレームメモリ６４からの１つまたは複数の参照フレームのブロックを現在フレーム、例えば、ＰフレームまたはＢフレームの符号化すべきブロックと比較する。参照フレームメモリ６４中の参照フレームがサブ整数ピクセルの値を含むとき、動き推定ユニット４２によって計算される動きベクトルは参照フレームのサブ整数ピクセルロケーションを参照し得る。動き推定ユニット４２および／または動き補償ユニット４４はまた、サブ整数ピクセル位置の値が参照フレームメモリ６４に記憶されていない場合、参照フレームメモリ６４に記憶された参照フレームのサブ整数ピクセル位置の値を計算するように構成され得る。動き推定ユニット４２は、計算された動きベクトルをエントロピーコーディングユニット５６と動き補償ユニット４４とに送る。動きベクトルによって識別される参照フレームブロックは予測ブロックと呼ばれ得る。動き補償ユニット４４は、予測ブロックに基づいて予測データを計算し得る。
【００７２】
ビデオエンコーダ２０は、コーディングされている元のビデオブロックから、（イントラ予測を使用して予測されるのかインター予測を使用して予測されるのかにかかわらず）予測データを減算することによって残差ビデオブロックを形成する。加算器５０は、この減算演算を行う１つまたは複数の構成要素を表す。ＨＥＶＣでは、残差データのブロックを変換ユニット（ＴＵ）と呼ぶ。本開示では、ＣＵのための残差係数のブロックをＴＵと呼び、これは、ＴＵの変換を行うビデオエンコーダ２０の変換処理ユニット５２と区別されるべきである。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換等の変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。
【００７３】
変換処理ユニット５２は、方向性変換、回転変換、離散サイン変換、または他の概念的に同様の変換のようなＨＥＶＣや、Ｈ．２６４規格によって定義されたもののような他の変換を行い得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換処理ユニット５２は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域等の変換領域に変換し得る。量子化ユニット５４は、ビットレートをさらに低減するために残差変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。
【００７４】
量子化の後、エントロピーコーディングユニット５６が量子化変換係数をエントロピーコーディングする。例えば、エントロピーコーディングユニット５６は、コンテンツ適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、または別のエントロピーコーディング技法を行い得る。エントロピーコーディングユニット５６によるエントロピーコーディングの後、符号化ビデオは、別のデバイスに送信されるか、あるいは後で送信するかまたは取り出すためにアーカイブされ得る。コンテキスト適応型バイナリ算術コーディングの場合、コンテキストは隣接ブロックに基づき得る。
【００７５】
場合によっては、エントロピーコーディングユニット５６またはビデオエンコーダ２０の別のユニットは、エントロピーコーディングに加えて他のコーディング機能を行うように構成され得る。例えば、エントロピーコーディングユニット５６はブロックおよびパーティションのＣＢＰ値を判断するように構成され得る。また、場合によっては、エントロピーコーディングユニット５６は、マクロブロックまたはそれのパーティション中の係数のランレングスコーディングを行い得る。特に、エントロピーコーディングユニット５６は、マクロブロックまたはパーティション中の変換係数を走査するために、ジグザグ、垂直、水平、波面、または対角走査あるいは他の走査パターンを適用し、さらなる圧縮のためにゼロのランを符号化し得る。エントロピーコーディングユニット５６はまた、符号化ビデオビットストリーム中での送信のために適切なシンタックス要素を用いてヘッダ情報を構成し得る。
【００７６】
逆量子化ユニット５８および逆変換ユニット６０は、それぞれ逆量子化および逆変換を適用して、例えば、参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを参照フレームメモリ６４のフレームのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器６２は、再構成された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照フレームメモリ６４に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、１つまたは複数の後にコーディングされたビデオフレーム中の１つまたは複数のブロックをインターコーディングするために、動き推定ユニット４２、動き補償ユニット４４、および／またはイントラ予測ユニット４６によって参照ブロックとして使用され得る。
【００７７】
本開示の技法によれば、ビデオエンコーダ２０は、加算器６２の出力を選択的にフィルタ処理するデブロッカー６６を含む。特に、デブロッカー６６は、逆量子化され逆変換された残差データに加算された、動き補償ユニット４４またはイントラ予測ユニット４６のいずれかから受信された予測データに対応する再構成されたビデオデータを加算器６２から受信する。このようにして、デブロッカー６６は、ビデオデータ、例えば、ＬＣＵのＣＵ並びに／あるいはスライスまたはフレームのＬＣＵの復号ブロックを受信する。一般に、デブロッカー６６は、例えば、ブロックのいずれかまたは両方がＳＤＩＰを使用して予測されるかどうかに基づいて、ビデオデータのブロックを選択的にフィルタ処理する。
【００７８】
デブロッカー６６は、一般に、エッジをデブロックすべきかどうかを判断するために、２つのＣＵ間のエッジの近くの２つの隣接ＣＵのピクセルを分析するように構成される。より詳細には、デブロッカー６６は、値の高周波変化が検出されたとき、エッジの近くのピクセルの値を改変し得る。デブロッカー６６は、本開示の技法のいずれかまたは全てを行うように構成され得る。例えば、デブロッカー６６は、ＣＵのいずれかまたは両方がＳＤＩＰを使用して予測されたかどうかに少なくとも部分的に基づいて、エッジをデブロックすべきかどうかを判断するように構成され得る。様々な例では、デブロッカー６６は、ＣＵのうちの少なくとも１つがＳＤＩＰを使用して予測される、２つのＣＵ間のエッジをデブロックすべきかどうかを判断すること、ＣＵのいずれかまたは両方がＳＤＩＰを使用して予測されるかどうかに基づいてフィルタ強度（例えば、強または弱フィルタ）を判断すること、および／または、ＣＵのいずれかまたは両方がＳＤＩＰを使用して予測されるかどうかに基づいてフィルタ処理方向を判断することを行うように構成され得る。
【００７９】
いくつかの例では、デブロッカー６６は、２つのＣＵ間のエッジをデブロックするかどうか、およびどのようにデブロックするかを判断するとき、ＳＤＩＰ予測されたＣＵ中のＳＤＩＰ  ＰＵの方向を判断するように構成される。すなわち、いくつかの例では、ＣＵの一方または両方がＳＤＩＰ予測されるかどうかに少なくとも部分的に基づいて、２つのＣＵ間のエッジをデブロックすべきかどうかを判断することは、ＳＤＩＰ予測されたＣＵの方向を判断することを含む。ＳＤＩＰ  ＰＵの「方向」は、一般に、水平または垂直に対応し、より詳細には、ＳＤＩＰ  ＰＵのより長い部分が水平であるときには水平に対応し、ＳＤＩＰ  ＰＵのより長い部分が垂直であるときには垂直に対応する。
【００８０】
ＣＵのＳＤＩＰ  ＰＵの方向が、ＣＵと別のＣＵとの間のエッジに対して直角である場合、デブロッキング決定関数は、ＳＤＩＰ  ＰＵ境界を横断せず、従って、標準的に適用され得る。同様に、デブロッカー６６が、そのようなエッジをデブロックすべきであると判断したとき、デブロッカー６６は、エッジを標準的にデブロックし得る。これは、デブロッキング決定関数およびデブロッキングフィルタが、一般に、エッジに対して直角になり、従って、ＳＤＩＰ予測されたＣＵ内のＰＵ境界に対して平行になる、ピクセルのラインに沿って適用されるからである。ＳＤＩＰ  ＰＵ境界は、（この例では）デブロッキング決定関数とデブロッキングフィルタとが適用されるサポート（すなわち、ピクセルのライン）に対して平行であるので、デブロッキング決定関数およびデブロッキングフィルタは標準的に適用され得る。一方、ＳＤＩＰ  ＰＵの方向が２つのＣＵ間のエッジに対して平行であるとき、デブロッカー６６は、デブロッキング決定関数および／またはデブロッキングフィルタを変更し得る。例えば、デブロッカー６６は、決定関数の適用をスキップするか、またはＳＤＩＰ  ＰＵ境界（すなわち、同じＣＵの２つのＳＤＩＰ  ＰＵ間の境界）を横断しないサポートの変更セットに決定関数を適用し得る。
【００８１】
その上、上記で説明した技法への追加または代替として、デブロッカー６６は、エッジのロケーションを、本開示で説明するデータ構造に記憶するように構成され得る。すなわち、デブロッカー６６は、ＬＣＵのＣＵ間の候補エッジのロケーションを記憶するための、多次元配列等のデータ構造を構成するように構成され得る。データ構造は、ＬＣＵの最小サイズのＣＵ（例えば、８×８ＣＵ）についてのエッジの可能なロケーションを記憶するとともに、ＳＤＩＰによりＣＵ内に生じ得るエッジを考慮するための特殊な処理（例えば、適応された決定関数および／または適応されたフィルタ）を必要とし得るＳＤＩＰ予測されたＣＵの指示をも記憶し得る。
【００８２】
このようにして、ビデオエンコーダ２０は、ビデオデータの第１のブロックのための第１の予測モードとビデオデータの第２のブロックのための第２の予測モードとを判断することであって、第１のブロックと第２のブロックとが共通エッジを共有する、判断することと、第１の予測モードを使用して第１のブロックを復号し、第２の予測モードを使用して第２のブロックを復号することと、第１の予測モードと第２の予測モードとのうちの少なくとも１つが短距離イントラ予測（ＳＤＩＰ）を備えるかどうかに少なくとも部分的に基づいて、第１のブロックと第２のブロックとの間の共通エッジをデブロックすべきかどうかを判断することとを行うように構成されたビデオコーダの一例を表す。
【００８３】
その上、ビデオエンコーダ２０は、第１の予測モードと第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、エッジをデブロックすべきでないと判断すること、第１の予測モードと第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、共通エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの適応されたセットを選択すること、または、サポートの適応されたセットが、第１のブロックおよび第２のブロック中のＳＤＩＰ予測ユニット（ＰＵ）のＰＵ境界を横断しないように、第１の予測モードと第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの適応されたセットを選択することを行うように構成され得る。さらに、ビデオエンコーダ２０は、第１の予測モードと第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、ＳＤＩＰ  ＰＵが共通エッジに対して直角であるかどうかを判断することと、全てのＳＤＩＰ  ＰＵが共通エッジに対して直角であるとき、共通エッジの両側の等しい数のサポートピクセルにデブロッキング決定関数を適用することとを行うように構成され得る。
【００８４】
さらに、ビデオデコーダ２０は、第１の予測モードと第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、ＳＤＩＰパーティションのパーティションサイズを示す値を、共通エッジに対応するデータ構造のロケーションにおいてデータ構造に記憶することと、エッジに対応するデータ構造に記憶された値に基づいて、エッジをデブロックすることとを行うように構成され得る。
【００８５】
図３は、ＣＵがＳＤＩＰを使用して予測されるかどうかに少なくとも部分的に基づいて、ＣＵ間のエッジにデブロッキングフィルタを適用すべきかどうかを判断するための技法を実装し得るビデオデコーダ３０の一例を示すブロック図である。図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測ユニット７４と、逆量子化ユニット７６と、逆変換ユニット７８と、参照フレームメモリ８２と、加算器８０とを含む。ビデオデコーダ３０は、いくつかの例では、ビデオエンコーダ２０（図２）に関して説明した符号化パスとは一般に逆の復号パスを行い得る。動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルに基づいて予測データを生成し得る。
【００８６】
動き補償ユニット７２は、ビットストリーム中で受信された動きベクトルを使用して、参照フレームメモリ８２中の参照フレーム中の予測ブロックを識別し得る。イントラ予測ユニット７４は、ビットストリーム中で受信されたイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成し得る。逆量子化ユニット７６は、ビットストリーム中で与えられ、エントロピー復号ユニット７０によって復号された量子化ブロック係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、例えば、Ｈ．２６４復号規格または今度のＨＥＶＣ規格によって定義されたプロセスと同様のプロセスのような従来のプロセスを含み得る。逆量子化プロセスはまた、量子化の程度を判断し、同様に、適用されるべき逆量子化の程度を判断するための、各マクロブロックについてエンコーダ５０によって計算される量子化パラメータＱＰYの使用を含み得る。
【００８７】
逆変換ユニット５８は、逆変換、例えば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用して、ピクセル領域において残差ブロックを生成する。動き補償ユニット７２は、動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を行う。サブピクセル精度をもつ動き推定に使用されるべき補間フィルタの識別子は、シンタックス要素中に含まれ得る。動き補償ユニット７２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。動き補償ユニット７２は、受信されたシンタックス情報に従って、ビデオエンコーダ２０によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成し得る。
【００８８】
動き補償ユニット７２は、シンタックス情報のいくつかを使用して、符号化ビデオシーケンスの（１つまたは複数の）フレームを符号化するために使用されるブロックのサイズと、符号化ビデオシーケンスのフレームの各マクロブロックがどのように区分されるかを記述するパーティション情報と、各パーティションがどのように符号化されるかを示すモードと、各インター符号化マクロブロックまたはパーティションについての１つまたは複数の参照フレーム（および参照フレームリスト）と、符号化ビデオシーケンスを復号するための他の情報とを判断する。
【００８９】
加算器８０は、残差ブロックを、動き補償ユニット７２またはイントラ予測ユニットによって生成される対応する予測ブロックと加算して、復号ブロックを形成する。デブロッカー８４は、本開示の技法のいずれかまたは全てによれば、加算器８０から受信したＣＵを選択的にデブロックする。デブロッカー８４は、デブロッカー６６（図２）に関して説明した技法のいずれかまたは全てを行うように構成され得るので、デブロッカー８４はデブロッカー６６に実質的に準拠する。
【００９０】
このようにして、ビデオデコーダ３０は、ビデオデータの第１のブロックのための第１の予測モードとビデオデータの第２のブロックのための第２の予測モードとを判断することであって、第１のブロックと第２のブロックとが共通エッジを共有する、判断することと、第１の予測モードを使用して第１のブロックを復号し、第２の予測モードを使用して第２のブロックを復号することと、第１の予測モードと第２の予測モードとのうちの少なくとも１つが短距離イントラ予測（ＳＤＩＰ）を備えるかどうかに少なくとも部分的に基づいて、第１のブロックと第２のブロックとの間の共通エッジをデブロックすべきかどうかを判断することとを行うように構成されたビデオコーダの一例を表す。
【００９１】
その上、ビデオデコーダ３０は、第１の予測モードと第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、エッジをデブロックすべきでないと判断すること、第１の予測モードと第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、共通エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの適応されたセットを選択すること、または、サポートの適応されたセットが、第１のブロックおよび第２のブロック中のＳＤＩＰ予測ユニット（ＰＵ）のＰＵ境界を横断しないように、第１の予測モードと第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの適応されたセットを選択することを行うように構成され得る。さらに、ビデオデコーダ３０は、第１の予測モードと第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、ＳＤＩＰ  ＰＵが共通エッジに対して直角であるかどうかを判断することと、全てのＳＤＩＰ  ＰＵが共通エッジに対して直角であるとき、共通エッジの両側の等しい数のサポートピクセルにデブロッキング決定関数を適用することとを行うように構成され得る。
【００９２】
さらに、ビデオデコーダ３０は、第１の予測モードと第２の予測モードの両方がＳＤＩＰ以外のモードを備えるとき、共通エッジがデブロックされるべきであると判断されたかどうかを示す値を、共通エッジに対応するデータ構造のロケーションでデータ構造に記憶することと、第１の予測モードと第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、ＳＤＩＰパーティションのパーティションサイズを示す値を、共通エッジに対応するデータ構造のロケーションにおいてデータ構造に記憶することと、エッジに対応するデータ構造に記憶された値に基づいてエッジをデブロックすることとを行うように構成され得る。
【００９３】
図４は、例示的なデブロッカー９０の構成要素を示すブロック図である。一般に、デブロッカー６６（図２）とデブロッカー８４（図３）のいずれかまたは両方は、デブロッカー９０の構成要素と実質的に同様の構成要素を含み得る。ビデオエンコーダ、ビデオデコーダ、ビデオエンコーダ／デコーダ（コーデック）のような他のビデオコーディングデバイスも、デブロッカー９０と実質的に同様の構成要素を含み得る。デブロッカー９０は、ハードウェア、ソフトウェア、またはファームウェアで実装され得る。ソフトウェアまたはファームウェアで実装されるとき、（１つまたは複数のプロセッサまたは処理ユニット、およびソフトウェアまたはファームウェアのための命令を記憶するためのメモリ等の）対応するハードウェアも与えられ得る。
【００９４】
図４の例では、デブロッカー９０は、デブロッキング判断ユニット９４と、サポート定義９２を記憶するメモリと、デブロッキングフィルタ処理ユニット９６と、デブロッキングフィルタ定義９８を記憶するメモリと、エッジ位置特定ユニット９３と、エッジロケーションデータ構造９５に従ってデータを記憶するメモリとを含む。デブロッカー９０の構成要素のいずれかまたは全ては機能的に統合され得る。デブロッカー９０の構成要素は、説明のために別々に示されているにすぎない。一般に、デブロッカー９０は、例えば、ブロックについて予測データを残差データと組み合わせる加算構成要素から、復号されたブロックのためのデータを受信する。データは、さらに、ブロックがどのように予測されたかについての指示を含み得る。以下で説明する例では、デブロッカー９０は、復号されたＬＣＵとＬＣＵのためのＣＵ４分木とを含むデータを受信するように構成され、ＣＵ４分木は、ＬＣＵがＣＵにどのように区分されるかを記述し、リーフノードＣＵのための予測モードを示す。
【００９５】
デブロッカー９０は、デブロッカー９０のメモリ中に、または対応するビデオコーディングデバイスによって与えられる外部メモリ中にエッジロケーションデータ構造９５を維持し得る。いくつかの例では、エッジ位置特定ユニット９３は、ＬＣＵがＣＵにどのように区分されるかを示す、ＬＣＵに対応するＣＵ４分木を受信し得る。次いで、エッジ位置特定ユニット９３は、ＣＵ４分木を分析して、デブロックのための候補であるＬＣＵ中のＣＵ間のエッジを判断し得る。
【００９６】
エッジロケーションデータ構造９５は、水平次元と、垂直次元と、水平エッジおよび垂直エッジを表す次元とを有する配列を備え得る。一般に、ＣＵ間のエッジは、ＬＣＵの２つの最小サイズＣＵ間に発生し得る。従って、ＬＣＵがＮ×Ｎのサイズを有すると仮定し、ＬＣＵの最小サイズＣＵがサイズＭ×Ｍであると仮定すると、配列は、［Ｎ／Ｍ］×［Ｎ／Ｍ］×２のサイズを備え得、「２」は、ＣＵ間のエッジの２つの可能な方向（水平および垂直）を表す。例えば、ＬＣＵが６４×６４ピクセルと８×８最小サイズＣＵとを有すると仮定すると、配列は、［８］×［８］×［２］エントリを備え得る。
【００９７】
各エントリは、一般に、２つのＣＵ間の可能なエッジに対応し得る。実際は、エッジロケーションデータ構造９５のエントリの各々に対応するＬＣＵ内の位置の各々にエッジが存在しないことがある。従って、データ構造の値は偽に初期化され得る。一般に、エッジ位置特定ユニット９３は、ＣＵ４分木を分析して、ＬＣＵの２つのＣＵ間のエッジのロケーションを判断し、エッジロケーションデータ構造９５中の対応する値を真に設定し得る。
【００９８】
一般に、配列のエントリは、対応するエッジがデブロックのための候補としてＬＣＵ中に存在するかどうかを記述し得る。すなわち、エッジ位置特定ユニット９３が、ＬＣＵの２つの隣接ＣＵ間のエッジが存在すると判断したとき、エッジ位置特定ユニット９３は、エッジが存在することを示すためにエッジロケーションデータ構造９５中の対応するエントリの値を（例えば、「真」の値に）設定し得る。
【００９９】
いくつかの例では、２つのＣＵのうちの１つがＳＤＩＰを使用して予測されるとき、エッジ位置特定ユニット９３は、ＣＵのために使用されるＳＤＩＰパーティションのタイプを示す値を、エッジロケーションデータ構造９５の対応するロケーションに記憶し得る。このようにして、エッジロケーションデータ構造９５は、ＬＣＵ内の追加の可能なエッジを表すための追加のエントリを含む必要はない。代わりに、エッジロケーションデータ構造９５に記憶され得る値のタイプが、本開示の技法によれば、ブール値またはＳＤＩＰフラグのいずれかを記憶するように変更され得る。例えば、エッジ位置特定ユニット９３は、ＳＤＩＰ予測されたＣＵを表す値をエッジロケーションデータ構造９５に記憶し得る。
【０１００】
デブロッキング判断ユニット９４は、一般に、２つの隣接ブロック（例えば、２つのＣＵまたは２つのＰＵ）について、２つのブロック間のエッジがデブロックされるべきかどうかを判断する。デブロッキング判断ユニット９４は、エッジロケーションデータ構造９５を使用してエッジのロケーションを判断し得る。エッジロケーションデータ構造９５の値がブール値を有するとき、デブロッキング判断ユニット９４は、いくつかの例では、「真」の値はエッジの存在を示し、「偽」の値はエッジが存在しないことを示すと判断し得る。エッジロケーションデータ構造９５の値がＳＤＩＰフラグ値を有するとき、デブロッキング判断ユニット９４は、ＳＤＩＰフラグの値に基づいて、ＳＤＩＰ  ＰＵ間のエッジのロケーションを判断し得る。本開示の技法によれば、デブロッキング判断ユニット９４は、ＣＵの一方または両方がＳＤＩＰを使用して予測されるかどうかに少なくとも部分的に基づいて、２つのＣＵ間のエッジをデブロックすべきかどうかを判断し得る。デブロッキング判断ユニット９４はまた、ＳＤＩＰ  ＰＵエッジのロケーションを判断し、ＳＤＩＰ  ＰＵ間のエッジのいずれかまたは全てをデブロックすべきかどうかを判断し得る。
【０１０１】
一般に、デブロッキング判断ユニット９４は、１つまたは複数のデブロッキング判断関数で構成され得る。関数は、ブロック間のエッジを横断するピクセルのラインに複数の係数を適用する関数を含み得る。例えば、関数は、エッジに対して直角である８つのピクセルのラインに適用され得、ピクセルのうちの４つは、２つのブロックのうちの一方にあり、他の４つのピクセルは、２つのブロックのうちの他方にある。サポート定義９２は関数のためのサポートを定義する。一般に、「サポート」は、関数が適用されるピクセルに対応する。サポートのセットの様々な例について、図６に関して以下でより詳細に説明する。
【０１０２】
デブロッキング判断ユニット９４は、サポート定義９２によって定義されたサポートの１つまたは複数のセットに１つまたは複数のデブロッキング判断関数を適用することと、ビデオデータの２つのブロック間の特定のエッジがデブロックされるべきかどうかを判断することとを行うように構成され得る。しかしながら、いくつかの例では、デブロッキング判断ユニット９４は、例えば、２つのブロックのうちの少なくとも１つがＳＤＩＰを使用して予測されるとき、特定のエッジへのデブロッキング判断関数の適用をスキップするように構成される。このようにして、デブロッカー９０（同様に、デブロッカー９０を含む対応するビデオコーディングデバイス）は、２つのブロックのうちの少なくとも１つがＳＤＩＰを使用して予測されるかどうかに少なくとも部分的に基づいて、２つのブロック間のエッジをデブロックすべきかどうかを判断するように構成され得る。
【０１０３】
２つのブロックのうちの１つがＳＤＩＰを使用して予測されるとき、デブロッキング判断関数の適用をスキップすることは、処理電力を節約し、バッテリー寿命を改善し、誤判定結果の回避による、より良いユーザエクスペリエンスを生じ得る。他の例では、デブロッカー９０は、他の方法で、２つのブロックのうちの少なくとも１つがＳＤＩＰを使用して予測されるかどうかに少なくとも部分的に基づいて、２つのブロック間のエッジをデブロックすべきかどうかを判断するように構成され得る。
【０１０４】
例えば、ＳＤＩＰ  ＰＵエッジと現在エッジとの間の（ピクセル単位の）距離、または（ピクセル単位の）ＳＤＩＰ  ＰＵ寸法に応じて、デブロッキング判断ユニット９４は、代替決定および／またはサポートがＳＤＩＰ  ＰＵエッジを横断しないように、適応されたサポート領域をもつ代替デブロッキング決定またはフィルタを適用し得る。すなわち、サポート定義９２は、いくつかの例では、様々なサポート定義について、サポートが適用され得るＳＤＩＰ予測されたブロックのタイプを記述するデータを含み得る。ブロックのための受信データは、ＳＤＩＰ  ＰＵエッジと現在エッジとの間の距離、またはＳＤＩＰ  ＰＵ寸法を記述し得る。従って、デブロッキング判断ユニット９４は、ＳＤＩＰ  ＰＵ寸法、またはＳＤＩＰ  ＰＵエッジと現在エッジとの間の距離に対するサポートの適切なセットを選択し得る。例えば、２つのＳＤＩＰ  ＰＵエッジ間のエッジが現在エッジ（すなわち、２つのブロック間のエッジ）から２ピクセルであるとき、デブロッキング判断ユニット９４は、ＳＤＩＰ予測されたブロック中に２つのピクセルのみを有するサポートのセットを選択し得、デブロッキング判断ユニット９４が、適応されたフィルタを適用し得るピクセルは、合計６つ（エッジの非ＳＤＩＰ  ＰＵ側の４つのピクセルおよびエッジのＳＤＩＰ  ＰＵ側の２つのピクセル）になる。
【０１０５】
別の例として、現在エッジの近傍にあるＳＤＩＰ  ＰＵタイプに応じて、デブロッキング判断ユニット９４は、ＳＤＩＰ  ＰＵエッジを横断しない適応されたサポート領域をもつ代替デブロッキング決定またはフィルタを適用し得る。すなわち、現在エッジとＳＤＩＰ  ＰＵエッジとの間の距離に基づいてまたはＳＤＩＰ  ＰＵ寸法に基づいて、サポートのセットおよび／またはデブロッキング判断関数を選択するのではなく、デブロッキング判断ユニット９４は、共通エッジを有するブロックのためのＳＤＩＰ  ＰＵタイプに基づいて、サポートのセットおよび／またはデブロッキング判断関数を選択するように構成され得る。
【０１０６】
さらに別の例として、デブロッキング判断ユニット９４は、現在エッジの方向に関するＳＤＩＰパーティションの方向または配向に応じてデブロッキング決定関数を適応させ得る。以下でより詳細に説明する図７は、２つの隣接ブロック間の共通エッジに対する２つの隣接ブロックのＳＤＩＰパーティションの可能な組合せの様々な例を与えている。一般に、これらの例では、デブロッキング判断ユニット９４は、２つのブロック間の共通エッジに対して平行であるＳＤＩＰ  ＰＵを使用してブロックの一方または両方が予測されるときのみ、サポートおよび／または決定関数を適応させるように構成され得る。
【０１０７】
デブロッキング判断ユニット９４から発生する破線は、フィルタ処理されることなしに出力されるブロックのためのデータを表す。デブロッキング判断ユニット９４が、２つのブロック間のエッジがフィルタ処理されるべきでないと判断した場合、デブロッカー９０は、データを改変することなしに、ブロックのためのデータを出力し得る。すなわち、データがデブロックフィルタ処理されないように、データはデブロッキングフィルタ処理ユニット９６をバイパスし得る。一方、デブロッキング判断ユニット９４が、エッジがデブロックされるべきであると判断したとき、デブロッキング判断ユニット９４は、エッジをデブロックするために、デブロッキングフィルタ処理ユニット９６にエッジの近くのピクセルの値をフィルタ処理させ得る。
【０１０８】
デブロッキングフィルタ処理ユニット９６は、デブロッキング判断ユニット９４によって示されたデブロックされるべきエッジのために、デブロッキングフィルタ定義９８からデブロッキングフィルタの定義を取り出す。ＳＤＩＰ  ＰＵ間のエッジ、およびＳＤＩＰ予測されるＣＵ間のエッジでは、デブロッキングフィルタ処理ユニット９６は、フィルタがＳＤＩＰ  ＰＵ境界を横断しないように、デブロッキングフィルタ定義９８から適応されたデブロッキングフィルタを取り出し得る。一般に、エッジのフィルタ処理は、デブロックされるべき現在エッジの近傍からのピクセルの値を使用する。従って、デブロッキング決定関数とデブロッキングフィルタの両方は、エッジの両側に、あるサポート領域を有し得る。エッジの近傍にあるピクセルにデブロッキングフィルタを適用することによって、デブロッキングフィルタ処理ユニット９６は、エッジの近くの高周波遷移が減衰するように、ピクセルの値を平滑化し得る。このようにして、エッジの近くのピクセルへのデブロッキングフィルタの適用は、エッジの近くのブロッキネスアーティファクトを低減し得る。
【０１０９】
図５は、ＳＤＩＰ予測されたＣＵを含む例示的なＬＣＵ１００を示す概念図である。具体的には、ＬＣＵ１００は、この例では、サブＣＵ１０２、１０４、１０６、１０８、１１０、１１２、および１１４を含む。サブＣＵ１０２、１０４、１０６、１０８、１１０、１１２、および１１４の各々はリーフノードＣＵに対応する。非リーフノードＣＵは、この例では、サブＣＵ１０４、１０６、１０８、および１１０をも含むであろう。リーフノードサブＣＵの各々は、特定の予測モードに従って予測され得る。この例では、サブＣＵ１０８は、ＳＤＩＰを使用して予測される。従って、サブＣＵ１０８は、４つのＰＵ１２０Ａ〜１２０Ｄ（ＰＵ１２０）を含む。この例に示すように、ＰＵ１２０は、サブＣＵ１０８の水平ＰＵである。
【０１１０】
ビデオエンコーダ２０またはビデオデコーダ３０のようなビデオコーディングデバイスは、本開示の技法によれば、ＬＣＵ１００を復号し、次いで、サブＣＵ１０２、１０４、１０６、１０８、１１０、１１２、および１１４の間のエッジをデブロックすべきかどうかを判断し得る。説明のために、図５では、デブロックを検討され得るエッジの一例として、破線を使用してエッジ１１８を示している。この例では、エッジ１１８は、サブＣＵ１０８とサブＣＵ１０２との間の境界で発生する。エッジは、この例に示すように、サブＣＵが同じサイズでないときでも、隣接サブＣＵ間に発生し得る。
【０１１１】
図５はまた、エッジ１１８のためのサポートの領域１１６を示している。従来、エッジ１１８をデブロックすべきかどうかを判断するとき、並びにエッジ１１８をデブロックするという決定が行われたときにエッジ１１８の近くのピクセルをフィルタ処理するために、サポートの領域１１６の様々なピクセルが使用されるであろう。図５に示すように、サブＣＵ１０８はＳＤＩＰを使用して予測され、サポートの領域１１６は、ＳＤＩＰ  ＰＵ１２０ＡとＳＤＩＰ  ＰＵ１２０Ｂとの間のエッジを横断する。従って、本開示の技法の様々な態様が行われ得る。例えば、エッジ１１８をデブロックすべきかどうかの判断はスキップされ得る。
【０１１２】
代替的に、エッジ１１８をデブロックすべきかどうかを判断するときに使用され、またエッジ１１８をデブロックするという決定が行われたときにエッジ１１８の近くのピクセルをフィルタ処理するために使用される、サポートの実際の領域が、ＰＵ１２０ＡとＰＵ１２０Ｂとの間の境界を横断しないように、サポートの領域１１６が適応され得る。例えば、サポートのそのような領域は、サブＣＵ１０２内ではサポートの領域１１６の全てを含むが、ＰＵ１２０Ａ内ではサポートの領域１１６の一部分しか含まないことがある。デブロッキング決定関数および／またはデブロッキングフィルタのための適応されたサポートは、例えば、エッジ１１８とＰＵ１２０ＡおよびＳＰＵ１２０Ｂ間のエッジとの間の距離、ＰＵ１２０の寸法、またはＣＵ１０８のためのＳＤＩＰモードのタイプに基づいて選択され得る。ＳＤＩＰタイプは、ＰＵ１２０の配向とＰＵ１２０の幅とを定義し得る。
【０１１３】
図６は、ブロック１３０とブロック１３２との間のエッジ１３４の近くの２つの例示的なブロック１３０、１３２のピクセル位置を示す概念図である。ピクセル位置の各々は、フォーマット［ｐ｜ｑ］ＩJを使用して指定され、ｐはブロック１３０に対応し、ｑはブロック１３２に対応し、Ｉは、エッジ１３４からの距離に対応し、Ｊは、ブロック１３０および１３２の上から下までの行インジケータに対応する。いくつかの例では、デブロッキング決定関数およびデブロッキングフィルタのために使用されるサポートは、８つのピクセルのラインを有する。そのような例では、０≦Ｘ≦７である所与のラインＸのために、ピクセルｐ３X〜ｑ３Xの各々がサポートとして使用され得る。従って、これらの例では、ブロック１３０またはブロック１３２のいずれかがＳＤＩＰを使用して予測され、また、ＳＤＩＰモードが垂直であり、４よりも小さいパーティション幅をもつ場合、８ピクセルサポートはＳＤＩＰ  ＰＵ境界を横断するであろう。
【０１１４】
いくつかの例では、ブロック１３０とブロック１３２のいずれかまたは両方がＳＤＩＰを使用して予測されるとき、デブロッキング決定関数および／またはデブロッキングフィルタは適応され得る。以下の表３に、表３では「ブロックＡ」および「ブロックＢ」と標示された２つのブロックのためのＳＤＩＰモードに基づいて適用され得るフィルタとデブロッキング決定条件との１つの例示的なセットを記載する。表３中で言及されるブロックは、８×８ピクセルよりも大きいサイズを有し得るので、そのようなブロックは、必ずしも、図６のブロック１３０および１３２に対応するとは限らないことを理解されたい。しかしながら、図６は、表３のブロックＡおよびＢが８×８ピクセルを有するとき、それぞれブロックＡおよびブロックＢに対応し得る、参照のためのブロックの例示的なペアを与える。表３中のブロックＡおよびＢのためのリストされたＳＤＩＰモードでは、ブロックＡとブロックＢとの間のエッジがＳＤＩＰパーティションに対して平行であると仮定され、「直角ＳＤＩＰ  ＰＵ」という言及は、ブロックＡとブロックＢとの間のエッジに対して直角であるＳＤＩＰモードに言及するものである。さらに、ブロックＡおよびＢは、共通ＣＵのＰＵではなく、ＣＵに対応すると仮定される。以下の表６では、内部ＳＤＩＰパーティション境界のための追加の例を与える。
【表３】
0005937200.tif 000004
【０１１５】
表３は、ブロックうちの少なくとも１つが、デブロックされるべき現在ＣＵ境界エッジと平行であり、それに隣接する、全体または部分ＳＤＩＰ  ＰＵを含んでいるときの、２つのブロック、すなわち、ブロックＡとブロックＢとの間のＣＵ境界エッジ（水平または垂直方向）のデブロックのためのデブロッキングフィルタタイプとデブロッキング決定条件との例を与えている。フィルタおよび決定条件は、現在エッジの誤ったデブロックにつながり得る、ＳＤＩＰ  ＰＵエッジまたは他の非ＳＤＩＰ  ＰＵまたはＴＵエッジが横断されることがないようなフィルタおよび決定条件である。さらに、垂直（水平）エッジのデブロック間に依存性がなく、これは、垂直（水平）エッジの並行デブロックを可能にする。
【０１１６】
ブロックＡもブロックＢもＳＤＩＰタイプでないか、またはＳＤＩＰ  ＰＵ配向（最長寸法）が、フィルタ処理されるべきＣＵ境界エッジに対して直角である場合、標準デブロッキングが適用され得る。標準デブロッキングは、ＳＤＩＰに関係しないエッジをデブロックするために適用される、ＨＭのバージョン３（ＨＭ３）デブロッキング等のデブロッキング方法を指す。
【０１１７】
以下の表４に、表３の第３列（「フィルタタイプ」）に基づく、エッジをデブロックするために使用され得る様々なタイプのフィルタの例を与える。この例では、強、弱４、弱２、および弱１の４つのタイプのフィルタがある。これらの様々なフィルタは、デブロッキング決定関数が、エッジが選択されるべきであることを示すとき、例えば、エッジ１３４をデブロックするために選択され得る。その上、上記の表３は、各フィルタがいつ選択され得るかについての例示的な指示を与えているが、表４は、これらの例示的なフィルタの各々のためのフィルタ係数の例を与えている。すなわち、表４は、上記の表３の例に従って、ブロック１３０とブロック１３２のいずれかまたは両方がＳＤＩＰを使用して予測されるかどうかに基づいて、例えば、ブロック１３０および１３２のピクセルの値に適用すべき例示的な式を与えている。
【表４】
0005937200.tif 000005
【０１１８】
表５に、上記の表３の第４列に対応する、デブロッキング決定関数条件の例示的なセットを記載する。ブロックＡおよびＢのためのＳＤＩＰモードの様々な組合せについて、表３は、ブロックＡとブロックＢとの間に発生するエッジをデブロックすべきかどうかについての例示的な指示を与える様々なデブロッキング条件を示している。いくつかの場合には、表３の列３は、ＳＤＩＰモードの所与のセットに対して適用すべきフィルタのオプションを示しており、表５は、そのような場合、これらのフィルタ間の例示的な選択方法を与えている。
【表５】
0005937200.tif 000006
【０１１９】
表６は、ＳＤＩＰレベル１の内部ＳＤＩＰパーティション境界をデブロックすることの例を与えている。ＳＤＩＰレベル１は、例えば、それぞれサイズ３２×８、１６×４、または８×２のＳＤＩＰパーティション（水平または垂直）への３２×３２、１６×１６、または８×８ＣＵの区分を指す。ＳＤＩＰレベル２は、ＳＤＩＰレベル１パーティションのさらなる区分を指し、例えば、１６×４パーティションは１６×１パーティション（水平および垂直）にさらに分割され得、これについて、表７に関してより詳細に説明する。ＳＤＩＰ  ＣＵサイズ３２×３２、１６×１６、または８×８の場合、３つの内部エッジがある。内部エッジはＳＤＩＰ  ＰＵ境界である。表６は、ブロックＡとブロックＢとの間にあるエッジに、どんなフィルタ処理タイプまたは決定条件を適用すべきかを指定する。表６に関して、ブロックＡおよびＢは、デブロックされるべき現在内部エッジ（例えば、図６のエッジ１３４）と平行であり、それに隣接する、全体または部分ＳＤＩＰ  ＰＵを含んでいる。表６の第３列および第４列（フィルタタイプおよび決定条件）の値は、上記の表４および表５の例に対して解釈され得る。
【表６】
0005937200.tif 000007
【０１２０】
表７に、１６×４ＳＤＩＰ  ＰＵが４つの１６×１ＳＤＩＰ  ＰＵにさらに区分される、例示的なレベル２ＳＤＩＰを記載する。この例では、内部エッジは、テクスチャ詳細を保存するためにデブロックされない。他の例では、他のデブロッキング決定関数および／またはデブロッキング関数が選択され得る。
【表７】
0005937200.tif 000008
【０１２１】
図６の例および上記の表３〜表７の例について、２つの並列隣接ブロックに関して説明したが、個々のピクセルへの参照に対して適切な変更を行うこと、および「行」を「列」にスワップすることによって、同様の技法が上下の隣接ブロックに適用され得ることを理解されたい。
【０１２２】
図７Ａ〜図７Ｉは、２つのブロック間のエッジに対する様々なＳＤＩＰ  ＰＵ配向を示す概念図である。並列ブロックの例が示されているが、同様の技法が、上下の隣接ブロックに関して適用され得ることを理解されたい。図７Ａは、エッジ１５１を有するブロック１５０、１５２を示している。この例では、ブロック１５０および１５２は、ＳＤＩＰ以外の予測モードを使用して予測される。従って、エッジ１５１は、デブロックのために標準的に（すなわち、ＳＤＩＰ予測によるさらなる考慮または適応なしに）処理され得る。
【０１２３】
図７Ｂは、エッジ１５５を有するブロック１５４、１５６を示している。この例では、ブロック１５４は、ＳＤＩＰ以外の予測モードを使用して予測される。ブロック１５６はＳＤＩＰを使用して予測されるが、１５６のＳＤＩＰ  ＰＵは、この例では、エッジ１５５に対して直角である。従って、（一般にエッジ１５５に対して直角である）サポートのラインは、ブロック１５６のＳＤＩＰ  ＰＵ間のエッジに対して平行になる。従って、エッジ１５５は、同様にデブロックのために標準的に処理され得る。同様に、ブロック１６２および１６４がエッジ１６３を有する図７Ｄでは、ブロック１６２は、エッジ１６３に対して直角であるＳＤＩＰ  ＰＵを使用してＳＤＩＰ予測され、従って、エッジ１６３は、デブロックのために標準的に処理され得る。同様に、ブロック１６６および１６８がエッジ１６７を有する図７Ｅでは、ブロック１６６とブロック１６８の両方は、エッジ１６７に対して直角であるＳＤＩＰ  ＰＵを使用してＳＤＩＰ予測され、従って、エッジ１６７は、同様にデブロックのために標準的に処理され得る。
【０１２４】
図７Ｃは、エッジ１５９を有するブロック１５８および１６０を示している。この場合、ブロック１６０のＳＤＩＰ  ＰＵの幅によっては、サポートの領域は、ブロック１６０のＳＤＩＰ  ＰＵ間のＰＵ境界を横断し得る。従って、デブロックのためのエッジ１５９の処理は、適応されたデブロッキング決定関数、サポート、および／またはデブロッキングフィルタを利用することを含み得る。適応は、デブロックのためにエッジ１５９を処理するときにブロック１６０のＳＤＩＰ  ＰＵ境界を横断することを回避するために行われ得る。同様に、ブロック１７４とブロック１７６との間に形成される図７Ｇのエッジ１７５を処理するとき、ブロック１７４はエッジ１７５に対して平行であるＳＤＩＰ  ＰＵを使用して予測されるので、適応された決定関数およびデブロッキングフィルタが使用され得る。図７Ｉの場合、エッジ１８３を有するブロック１８２および１８４は、両方とも、エッジ１８３に対して平行であるＳＤＩＰ  ＰＵを使用して予測される。従って、決定関数およびサポートの適応は、両方のブロック１８２およびブロック１８４中のＳＤＩＰ  ＰＵ境界を横断することを回避し得る。
【０１２５】
同様に、適応されたサポートのセット、決定関数、および／またはデブロッキングフィルタは、図７Ｆのブロック１７０とブロック１７２との間に形成されるエッジ１７１と、図７Ｈのブロック１７８とブロック１８０との間に形成されるエッジ１７９とに適用され得る。ブロック１７０および１８０は、ＳＤＩＰ  ＰＵを使用して予測されるが、これらのＳＤＩＰ  ＰＵは、それぞれ、エッジ１７１およびエッジ１７９に対して直角である。従って、適応されたサポート、関数、およびフィルタは、ブロック１７０および１８０中のエッジを考慮する必要はない。しかしながら、それぞれエッジ１７１および１７９に対して平行であるＳＤＩＰ  ＰＵを使用してブロック１７２および１７８が予測されるので、ブロック１７２および１７８中のＳＤＩＰ  ＰＵ境界を横断することを回避するように、適応されたサポート、関数、およびフィルタが選択され得る。
【０１２６】
一般に、デブロックの適応は、例えば、サポート領域サイズを減少／増加させること、および／またはデブロックされるべきエッジに関する方向を改変することのような方法で、デブロッキング決定および／またはデブロッキングフィルタを変更することを含み得る。サポート領域は、一般に、決定の計算またはフィルタ処理によって採用される、デブロックされるべき現在エッジの近くのピクセルの集合に対応する。サポート領域の適応は、デブロックされるべき現在エッジに関して対称または非対称であり得る。サポート領域に加えて、デブロッキング決定計算および／またはフィルタは、例えば、フィルタ係数を変更することによって変更され得る。
【０１２７】
図８は、ＳＤＩＰ  ＰＵがさらなるＳＤＩＰ  ＰＵに区分される例示的なＣＵ１９０を示す概念図である。具体的には、ＣＵ１９０はサブＣＵ１９２Ａ〜１９２Ｄに区分される。この例では、サブＣＵ１９２Ｂは、ＳＤＩＰを使用して予測されるリーフノードＣＵに対応する。この例では、サブＣＵ１９２Ｂは、４つのＳＤＩＰ  ＰＵパーティション１９４Ａ〜１９４Ｄを含む。その上、この例では、ＳＤＩＰ  ＰＵパーティション１９４Ｂは、ＳＤＩＰ  ＰＵパーティション１９６Ａ〜１９６Ｄにさらに区分される。例えば、ＳＤＩＰ  ＰＵパーティション１９４Ａ〜１９４Ｄは１６×４ＰＵを備え得、ＳＤＩＰ  ＰＵパーティション１９６Ａ〜１９６Ｄは１６×１ＰＵを備え得る。
【０１２８】
図８はまた、サブＣＵ１９２Ｂを通る３つの水平二点鎖線を示している。サブＣＵ１９２Ｂは水平方向に区分されないが、これらの二点鎖線は、ＳＤＩＰ  ＰＵパーティション１９４とＳＤＩＰ  ＰＵパーティション１９６との間のエッジの様々なセグメントを表すためのものである。これらのセグメントは、いくつかの例では、個々に分析され得る。従って、図８は、ＳＤＩＰ  ＰＵパーティション１９４ＡとＳＤＩＰ  ＰＵパーティション１９４Ｂとの間のエッジのセグメント１９８Ａ〜１９８Ｄを示している。従って、ＣＵ１９０に対応する（配列等の）データ構造は、各可能な水平および垂直エッジのためのエントリを含み得る。例えば、データ構造は、セグメント１９８の各々のロケーションを含み得る。本開示の技法のいくつかの例によれば、セグメント１９８の、データ構造中の対応するロケーションは、ＳＤＩＰ  ＰＵ１９６のためのＳＤＩＰモードを表すＳＤＩＰフラグ、例えば、フラグ１６×１（flag16x1）を含み得る。ビデオコーディングデバイスは、このロケーションに記憶された値を使用して、ＳＤＩＰ  ＰＵ１９４Ｂ内に４つの垂直エッジがあることを判断し、従って、これらのエッジのいずれかまたは全てをデブロックすべきかどうかを判断し得る。
【０１２９】
対照的に、サブＣＵ１９２Ｃおよび１９２ＤはＳＤＩＰ以外のモードを使用して予測されると仮定すると、データ構造中のロケーションは、サブＣＵ１９２ＣとサブＣＵ１９２Ｄとの間のエッジの存在を示し得る。例えば、このエッジに対応するデータ構造のロケーションは、各々「真」の値を有し得る。このようにして、ビデオコーディングデバイスは、サブＣＵ１９２ＣとサブＣＵ１９２Ｄとの間のエッジの存在を判断し、サブＣＵ１９２ＣもサブＣＵ１９２ＤもＳＤＩＰを使用して予測されないので、従来のデブロックを適用し得る。
【０１３０】
いくつかの例では、ＣＵのためのＳＤＩＰパーティションタイプは、以下に従って判断され得る。ＣＵについて、ビデオコーディングデバイスは、ＣＵがＳＤＩＰパーティションに分割されるかどうかを示し得る、データ構造の対応するロケーションに記憶されたＳＤＩＰフラグの値を判断し得る。例えば、１６×１６ＣＵは、ＳＤＩＰフラグがそのように示すとき、例えば、フラグが「真」の値を有するとき、サイズ１６×４または４×１６の４つのＳＤＩＰパーティションを含み得る。ＣＵがＳＤＩＰパーティションを有するとき、ビデオコーディングデバイス、例えば、適用可能なとき、ビデオエンコーダ２０またはビデオデコーダ３０は、ＳＤＩＰパーティションが水平であるのか垂直であるのかを示し得るＳＤＩＰ方向フラグの値を判断し得る。例えば、「真」の値を含んでいるＳＤＩＰ方向フラグは垂直パーティションに対応し得、「偽」は水平パーティションに対応し得る。次いで、ＣＵ中の各ＳＤＩＰパーティションについて、ビデオコーディングデバイスは、ＳＤＩＰパーティションについて、それが追加のＳＤＩＰパーティションにさらに分割されるかどうかを示し得るＳＤＩＰモードフラグの値を判断し得る。例えば、サイズ１６×４のＳＤＩＰパーティションについて、対応するＳＤＩＰモードフラグの「真」の値は、１６×４パーティションが１６×１パーティションにさらに分割されることを示し得る。
【０１３１】
図８の例に関して、ビデオコーディングデバイスは、この場合、サブＣＵ１９２ＢがＳＤＩＰパーティションに分割されることを示す値（例えば、「真」）を有し得る、サブＣＵ１９２ＢのためのＳＤＩＰフラグを判断し得る。ビデオコーディングデバイスは、次いで、この場合、ＳＤＩＰパーティションが垂直であることを示す値（例えば、「真」）を有し得る、サブＣＵ１９２ＢのためのＳＤＩＰ方向フラグの値を判断し得る。さらに、ＳＤＩＰ  ＰＵパーティション１９４Ａ〜１９４Ｄの各々について、ビデオコーディングデバイスは、対応するＳＤＩＰ  ＰＵパーティションがさらなるパーティションに分割されるかどうかを示す該当のＳＤＩＰモードフラグの値を判断し得る。この例では、ＳＤＩＰ  ＰＵパーティション１９４Ａ、１９４Ｃ、および１９４ＤのためのＳＤＩＰモードフラグは、これらのＳＤＩＰ  ＰＵパーティションがさらなるＳＤＩＰ  ＰＵに分割されないことを示す値（例えば、「偽」）を有し得るが、ＳＤＩＰ  ＰＵパーティション１９４Ｂは、ＳＤＩＰ  ＰＵパーティション１９４ＢがさらなるＳＤＩＰ  ＰＵパーティション１９６Ａ〜１９６Ｄに分割されることを示す値（例えば、「真」）を有し得る。同様に、ビデオ復号デバイスは、ＣＵ１９０を初めに分析して、データ構造中のこれらの該当の値を設定し得る。
【０１３２】
図９は、エッジを形成するブロックがＳＤＩＰを使用して予測されるかどうかに少なくとも部分的に基づいて、エッジをデブロックすべきかどうかを判断するための例示的な方法を示すフローチャートである。図９の方法は、ビデオエンコーダ２０またはビデオデコーダ３０のようなビデオコーディングデバイスによって行われ得る。例として、図９の方法について、ビデオデコーダ３０（図３）に関して説明するが、ビデオエンコーダ２０（図２）が同様の方法を行い得ることを理解されたい。
【０１３３】
初めに、ビデオデコーダ３０は、共通エッジを有する、ビデオデータの２つの隣接する符号化されたブロックを受信し得る。２つのブロックは共通ＬＣＵのＣＵを備え得る。従って、ビデオデコーダ３０は、ＬＣＵのためのＣＵ４分木をも受信し得る。エントロピー復号ユニット７０が、ブロックのための符号化モードを示す情報を復号し、解釈して、第１のブロックのための予測モードを判断し（２００）、この場合、第１のブロックに隣接する第２のブロックのための予測モードを判断する（２０２）。
【０１３４】
ビデオデコーダ３０は、次いで、判断された予測モードを使用して、第１および第２のブロックを復号する（２０４）。例えば、インター予測モードの場合、動き補償ユニット７２が、例えば、参照フレームメモリ８２から、前にコーディングされたフレームからのインター予測されたブロックの予測値を取り出し得る。イントラ予測モードの場合、イントラ予測ユニット７４が、同じフレームの隣接する前にコーディングされたブロックからのイントラ予測されたブロックの予測値を計算し得る。加算器８０が、逆変換ユニット７８から受信した、逆量子化され逆変換された残差値に予測値を加算し得る。
【０１３５】
ブロックを復号した後に、デブロッカー８４が、ブロックのための予測モードがＳＤＩＰを含むかどうかに少なくとも部分的に基づいて、ブロック間のエッジをデブロックすべきかどうかを判断する（２０６）。例えば、デブロッカー８４は、ブロックのうちの少なくとも１つがＳＤＩＰを使用して予測されるとき、デブロックをスキップし得、または、サポート／関数がブロック中のＳＤＩＰ  ＰＵ境界を横断しないように、サポートおよび／またはデブロッキング決定関数を適応させ得る。
【０１３６】
デブロッカー８４は、次いで、判断に基づいてブロックをフィルタ処理する（２０８）。例えば、デブロッカー８４が、エッジがデブロックされるべきであると判断したとき、デブロッカー８４は、ブロック間のエッジの近くのピクセル間の遷移を平滑化するために、ブロックのピクセルの値にデブロッキングフィルタを適用し得る。いくつかの例では、２つのブロックのうちの少なくとも１つがＳＤＩＰを使用して予測されるとき、またエッジがデブロックされるべきであると判断されたとき、デブロッカー８４は、エッジの近くのブロックのピクセルの値をフィルタ処理するために、適応されたデブロッキングフィルタを適用し得る。（エッジがデブロックされるべきであると判断された場合）エッジをデブロックした後に、デブロッカー８４は、ブロックのためのデータを参照フレームメモリ８２に記憶する（２１０）。もちろん、ビデオデコーダ３０はまた、復号データを出力し得、また、将来のフレームのための参照のために、記憶されたデータを使用し得る。
【０１３７】
ビデオエンコーダ２０によって行われたとき、本方法は、共通エッジを有する２つのブロックのための予測モードを選択することをさらに含み得る。すなわち、ビデオエンコーダ２０は、最初に予測モードを選択し、次いで、選択された予測モードを使用してブロックを符号化し得る。もちろん、ビデオエンコーダ２０は、ビデオエンコーダ２０が、その後符号化されたデータのための参照としてブロックの復号されたバージョンを使用できるように、符号化されたブロックを復号し得る。ビデオエンコーダ２０によって行われる復号プロセスは、ループ内デブロッキングプロセスを含めて、上記で説明した方法に実質的に準拠し得る。
【０１３８】
このようにして、図９の方法は、ビデオデータの第１のブロックのための第１の予測モードとビデオデータの第２のブロックのための第２の予測モードとを判断することであって、第１のブロックと第２のブロックとが共通エッジを共有する、判断することと、第１の予測モードを使用して第１のブロックを復号し、第２の予測モードを使用して第２のブロックを復号することと、第１の予測モードと第２の予測モードとのうちの少なくとも１つが短距離イントラ予測（ＳＤＩＰ）を備えるかどうかに少なくとも部分的に基づいて、第１のブロックと第２のブロックとの間の共通エッジをデブロックすべきかどうかを判断することとを含む方法の一例を表す。
【０１３９】
図１０は、ブロックのうちの少なくとも１つがＳＤＩＰを使用して予測されるかどうかに少なくとも部分的に基づいて、２つのブロック間の共通エッジをデブロックすべきかどうかを判断するための別の例示的な方法を示すフローチャートである。図１０のステップは、一般に図９のステップ２０６に対応する。従って、図１０の方法も、ビデオエンコーダ２０またはビデオデコーダ３０のようなビデオコーディングデバイスによって行われ得る。再び、例として、図１０の方法についてビデオデコーダ３０に関して説明する。
【０１４０】
この例では、ビデオデコーダ３０は、共通エッジを有する２つのブロックのための予測モードを判断する（２３０）。ビデオデコーダ３０は、次いで、２つのブロックのいずれかがＳＤＩＰを使用して予測されるかどうかを判断する（２３２）。２つのブロックのうちの少なくとも１つがＳＤＩＰを使用して予測される場合（すなわち、第１のブロックのための第１の予測モードと第２のブロックのための第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備える場合）（２３２の「はい」分岐）、ビデオデコーダ３０はデブロッキング判断をスキップする（２３４）。すなわち、この例では、ビデオデコーダ３０は、２つのブロックのうちの少なくとも１つがＳＤＩＰを使用して予測されるとき、ブロック間のエッジのエリア内のサポートのセットへのデブロッキング決定関数の適用をスキップし得る。一方、ブロックのいずれもＳＤＩＰを使用して予測されない場合（２３２の「いいえ」分岐）、ビデオデコーダ３０のデブロッカー８４は、従来の技法を使用して、エッジをデブロックすべきかどうかを判断する（２３６）。
【０１４１】
図１１は、ブロックのうちの少なくとも１つがＳＤＩＰを使用して予測されるかどうかに少なくとも部分的に基づいて、２つのブロック間の共通エッジをデブロックすべきかどうかを判断するための別の例示的な方法を示すフローチャートである。図１１のステップは、一般に図９のステップ２０６に対応する。再び、例として、図１１の方法についてビデオデコーダ３０に関して説明するが、本方法は、ビデオエンコーダ２０のような他のビデオコーディングデバイスによって行われ得ることを理解されたい。
【０１４２】
この例では、同じくビデオデコーダ３０は、共通エッジをもつブロックのための予測モードを判断する（２４０）。ビデオデコーダ３０はまた、ブロックのうちの少なくとも１つがＳＤＩＰを使用して予測されるかどうかを判断する（２４２）。しかしながら、この例では、ブロックのうちの少なくとも１つがＳＤＩＰを使用して予測されるとき、ビデオデコーダ３０は、デブロッキング決定関数が適用されるサポート領域を適応させる（２４４）。追加または代替として、ビデオデコーダ３０は、ＳＤＩＰタイプに基づいてデブロッキング決定関数を適応させ得る。ビデオデコーダ３０は、次いで、適応されたサポート領域（および／または適応されたデブロッキング決定関数）を使用して、エッジをデブロックすべきかどうかを判断する（２４６）。適応されたサポート領域は、サポート領域がＳＤＩＰ予測されるブロック内のＳＤＩＰ  ＰＵ境界を横断しないように構成され得る。いずれのブロックもＳＤＩＰを使用して予測されないとき、ビデオデコーダ３０は、従来の技法を使用して、エッジをデブロックすべきかどうかを判断する（２４８）。
【０１４３】
図１２は、ブロックのうちの少なくとも１つがＳＤＩＰを使用して予測されるかどうかに少なくとも部分的に基づいて、２つのブロック間の共通エッジをデブロックすべきかどうかを判断するためのさらに別の方法を示すフローチャートである。図１２のステップは、一般に図９のステップ２０６に対応する。再び、例として、図１２の方法についてビデオデコーダ３０に関して説明するが、本方法は、ビデオエンコーダ２０のような他のビデオコーディングデバイスによって行われ得ることを理解されたい。
【０１４４】
この例では、同じくビデオデコーダ３０は、共通エッジをもつブロックのための予測モードを判断する（２６０）。ビデオデコーダ３０はまた、ブロックのうちの少なくとも１つがＳＤＩＰを使用して予測されるかどうかを判断する（２６２）。この例では、ブロックのうちの少なくとも１つがＳＤＩＰを使用して予測されるとき（２６２の「はい」分岐）、ビデオデコーダ３０は、ＳＤＩＰ予測されたブロックのＳＤＩＰパーティション方向を判断する（２６４）。一般に、ＳＤＩＰパーティションの方向は、ＳＤＩＰパーティションのより長い寸法に対応する。ビデオデコーダ３０のデブロッカー８４は、次いで、ＳＤＩＰパーティション方向が共通エッジに対して平行であるかどうかを判断する（２６６）。
【０１４５】
ＳＤＩＰパーティションのうちの少なくとも１つがブロック間の共通エッジに対して平行であるとき（２６６の「はい」分岐）、ビデオデコーダ３０のデブロッカー８４は、サポートがＳＤＩＰ  ＰＵパーティション境界を横断しないように、平行ＳＤＩＰパーティションに基づいてサポートピクセルのセットを適応させる（２６８）。例えば、デブロッカー８４は、サポートピクセルが（もちろん、デブロックを検討中の現在エッジは別として）ＳＤＩＰ  ＰＵパーティションのエッジを横断しないことを保証し得る。デブロッカー８４は、次いで、例えば、サポートピクセルのセットに沿った高周波変化があるかどうかを判断するためにサポートピクセルのセットに対して適切な関数を実行することによって、サポートの適応されたセットを使用して、ブロック間のエッジをデブロックすべきかどうかを判断する（２７０）。一方、ブロックのいずれもＳＤＩＰを使用して予測されないとき（２６２の「いいえ」分岐）または全てのＳＤＩＰ  ＰＵパーティションが２つのブロック間の共通エッジに対して直角であるとき（２６６の「いいえ」分岐）、デブロッカー８４は、従来のデブロッキング判断技法を使用して、エッジをデブロックすべきかどうかを判断し得る。いずれの場合も、デブロッカー８４は、エッジをデブロックすべきかどうかの判断に基づいて、エッジをデブロックする（例えば、エッジの近くのピクセルをフィルタ処理する）（２７４）。
【０１４６】
図１３は、ＳＤＩＰ  ＰＵパーティションの指示をも記憶し得るデータ構造にエッジロケーションを記憶するための例示的な方法を示すフローチャートである。データ構造は、エッジが特定のロケーションに存在するか否かを示すブール値、並びに対応するＣＵがＳＤＩＰ予測されるかどうかを示すＳＤＩＰフラグの両方を記憶するように適応され得る。例として、図１３の方法についてビデオデコーダ３０に関して説明するが、本方法は、ビデオエンコーダ２０のような他のビデオコーディングデバイスによって行われ得ることを理解されたい。図１３の方法は、一般に、図９のステップ２０６より前に行われ得、図９〜図１２のいずれかの方法と併せて行われ得る。
【０１４７】
初めに、ビデオデコーダ３０のデブロッカー８４は、ＬＣＵ内のエッジロケーションを記憶するためのデータ構造をインスタンス化する（２８０）。データ構造は、例えば、ＬＣＵの潜在的な最小サイズのＣＵに対応する水平および垂直ロケーションを有する配列を備え得る。データ構造は、水平エッジと垂直エッジの両方のロケーションをさらに備え得る。ロケーションの各々での値は、「偽」またはＬＣＵの対応するロケーションにエッジが存在しないことを示す他の値に初期化され得る。
【０１４８】
デブロッカー８４は、次いで、ブロック間、例えば、ＬＣＵのサブＣＵ間のエッジのロケーションを判断する（２８２）。例えば、デブロッカー８４は、ＬＣＵのためのＣＵ４分木に基づいてＣＵのロケーションを判断し得る。その上、ＣＵ４分木を使用して、デブロッカー８４は、ブロックのための予測モード（例えば、単方向インター予測、双方向インター予測、方向性イントラ予測、ＤＣイントラ予測、またはＳＤＩＰ）を判断する（２８４）。ＬＣＵ中の各エッジについて、デブロッカー８４は、エッジを形成するブロックがＳＤＩＰを使用して予測されるかどうかを判断する（２８６）。
【０１４９】
エッジに関するブロックのうちの少なくとも１つがＳＤＩＰを使用して予測されるとき（２８６の「はい」分岐）、デブロッカー８４は、ブロックのＳＤＩＰタイプを判断する（２８８）。ＳＤＩＰタイプは、例えば、ＳＤＩＰ  ＰＵパーティションの方向（すなわち、配向）、並びにＳＤＩＰ  ＰＵパーティションがさらなるＳＤＩＰ  ＰＵパーティションに分割されるかどうかを記述し得る。デブロッカー８４は、次いで、ＳＤＩＰタイプを表す値をデータ構造の対応するロケーションに記憶する（２９０）。これらの値は、例えば、ＳＤＩＰフラグ、ＳＤＩＰ方向フラグ、およびＳＤＩＰモードフラグのような複数のＳＤＩＰフラグを備え得る。一方、両方のブロックがＳＤＩＰ以外の予測モードを使用して予測されるとき（２８６の「いいえ」分岐）、デブロッカー８４は、エッジが存在することを表す値をデータ構造の対応するロケーションに記憶する（２９２）。この値は、例えば、ブール値を備え得る。
【０１５０】
直近のエッジを処理した後に、デブロッカー８４は、直近のエッジがＬＣＵの最後のエッジであるかどうかを判断する（２９４）。直近のエッジがＬＣＵの最後のエッジでなかった場合（２９４の「いいえ」分岐）、デブロッカー８４は、ステップ２８６〜２９２に従って、ＬＣＵの次のエッジを分析し得る。しかしながら、直近のエッジがＬＣＵの最後のエッジであった場合（２９４の「はい」分岐）、デブロッカー８４は、データ構造を使用して、デブロックのためにエッジを処理する（２９６）。例えば、データ構造中のブール値について、デブロッカー８４は、ＬＣＵ中の対応するエッジがデブロックされるべきかどうかを判断し、デブロックされるべきであると判断されたエッジの近傍にあるピクセルにデブロッキングフィルタを適用し得る。しかしながら、データ構造中のＳＤＩＰフラグについて、デブロッカー８４は、例えば、デブロッキング決定関数を適応させるかどうかおよびどのように適応させるか、デブロッキング決定関数が適用されるサポート、並びに／あるいはデブロッキングフィルタを判断するために、ＳＤＩＰタイプおよび配向を判断し得る。その上、デブロッカー８４は、ＳＤＩＰ  ＰＵパーティションの各エッジが、例えば、上記の表３〜表７に従って、データ構造を使用して適切に処理されることを保証し得る。
【０１５１】
図１３の方法は、さもなければ、例えば、１×１６、１６×１、２×８、および８×２ＳＤＩＰパーティションのエッジフィルタ処理ステータスを記憶するために増加し得る、ＳＤＩＰパーティションのためのエッジフィルタ処理配列のメモリストレージ要件に対処し得る。エッジフィルタ処理配列は、例えば、デブロッキングフィルタ処理タイプなどを判断するために後で採用され得る境界強度の計算を進めるべきかどうかを判断するための、デブロッキングアルゴリズム実装において採用され得る。図１３の方法は、パーティションが、例えば、１×１６、１６×１、２×８、８×２ＳＤＩＰパーティションのためのエッジフィルタ処理配列中の要素に対応する、例えば、４×４ブロックよりも小さい寸法を有するとき、ＳＤＩＰパーティションのタイプをマーキングすることを含む。その後、境界強度計算またはデブロッキングアルゴリズムの他のステップは、処理を改変するかまたは適応させるために、これらのＳＤＩＰタイプマーキングを採用し得る。
【０１５２】
このようにして、図１３の方法は、ビデオデータの第１のブロックのための第１の予測モードとビデオデータの第２のブロックのための第２の予測モードとを判断することであって、第１のブロックと第２のブロックとが共通エッジを共有する、判断することと、第１の予測モードを使用して第１のブロックを復号し、第２の予測モードを使用して第２のブロックを復号することと、第１の予測モードと第２の予測モードとのうちの少なくとも１つが短距離イントラ予測（ＳＤＩＰ）を備えるかどうかに少なくとも部分的に基づいて、第１のブロックと第２のブロックとの間の共通エッジをデブロックすべきかどうかを判断することと、第１の予測モードと第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、ＳＤＩＰパーティションのパーティションサイズを示す値を、共通エッジに対応するデータ構造のロケーションでデータ構造に記憶することと、エッジに対応するデータ構造に記憶された値に基づいてエッジをデブロックすることとを含む方法の一例を表す。
【０１５３】
１つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体等の有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波等の通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１５４】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波等のワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波等のワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイ（登録商標）ディスク（disc）を含み、ディスク（disk）は、一般に、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０１５５】
命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）等の１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０１５６】
本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（例えば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を行うように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、これらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０１５７】
様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
[Ｃ１]
ビデオデータをコーディングする方法であって、
ビデオデータの第１のブロックのための第１の予測モードとビデオデータの第２のブロックのための第２の予測モードとを判断することであって、前記第１のブロックと前記第２のブロックとが共通エッジを共有する、判断することと、
前記第１の予測モードを使用して前記第１のブロックを復号し、前記第２の予測モードを使用して前記第２のブロックを復号することと、
前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つが短距離イントラ予測（ＳＤＩＰ）を備えるかどうかに少なくとも部分的に基づいて、前記第１のブロックと前記第２のブロックとの間の前記共通エッジをデブロックすべきかどうかを判断することと
を備える、方法。
[Ｃ２]
前記共通エッジをデブロックすべきであると判断した後に、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるかどうかに少なくとも部分的に基づいて、前記共通エッジをデブロックするためのデブロッキングフィルタを判断することをさらに備える、Ｃ１に記載の方法。
[Ｃ３]
前記デブロッキングフィルタを判断することは、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、
ＳＤＩＰ予測ユニット（ＰＵ）が前記共通エッジに対して直角に配向しているかどうかを判断することと、
全てのＳＤＩＰ  ＰＵが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルに適用され得る係数を有するデブロッキングフィルタを選択することと
を備える、Ｃ２に記載の方法。
[Ｃ４]
前記共通エッジをデブロックすべきかどうかを判断することは、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、前記エッジをデブロックすべきでないと判断することを備える、Ｃ１に記載の方法。
[Ｃ５]
前記共通エッジをデブロックすべきかどうかを判断することは、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、前記共通エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの適応されたセットを選択することを備える、Ｃ１に記載の方法。
[Ｃ６]
前記共通エッジをデブロックすべきかどうかを判断することは、サポートの適応されたセットが、前記第１のブロックおよび前記第２のブロック中のＳＤＩＰ予測ユニット（ＰＵ）のＰＵ境界を横断しないように、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、前記エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、また前記デブロッキングフィルタを適用すべきである、サポートの前記適応されたセットを選択することを備える、Ｃ１に記載の方法。
[Ｃ７]
前記共通エッジをデブロックすべきかどうかを判断することは、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、
ＳＤＩＰ  ＰＵが前記共通エッジに対して直角に配向しているかどうかを判断することと、
全てのＳＤＩＰ  ＰＵが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルにデブロッキング決定関数を適用することと
を備える、Ｃ１に記載の方法。
[Ｃ８]
前記デブロッキング決定関数が第１のデブロッキング決定関数を備え、前記方法は、
少なくとも１つのＳＤＩＰ  ＰＵが前記共通エッジに対して平行に配向しているとき、サポートピクセルの適応されたセットに第２の異なるデブロッキング決定関数を適用することと、
前記第２のデブロッキング決定関数が、前記共通エッジがデブロックされるべきであることを示すとき、前記共通エッジをデブロックすることと
をさらに備える、Ｃ７に記載の方法。
[Ｃ９]
前記第１のブロックおよび前記第２のブロックがフレームのブロックを備え、前記方法は、
前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、ＳＤＩＰパーティションのパーティションサイズを示す値を、前記共通エッジに対応するデータ構造のロケーションで前記データ構造に記憶することと、
エッジに対応する前記データ構造に記憶された値に基づいて、前記エッジをデブロックすることと
をさらに備える、Ｃ１に記載の方法。
[Ｃ１０]
前記第１の予測モードと前記第２の予測モードとを判断することが、ビデオエンコーダによって、前記第１の予測モードと前記第２の予測モードとを選択することを備え、前記方法が、前記第１のブロックと前記第２のブロックとを復号するより前に、
前記第１の予測モードを使用して前記第１のブロックを符号化することと、
前記第２の予測モードを使用して前記第２の予測モードを符号化することと
をさらに備え、
前記第１のブロックと前記第２のブロックとを復号することが、前記ビデオエンコーダによって、前記第１のブロックと前記第２のブロックとを復号することを備える、Ｃ１に記載の方法。
[Ｃ１１]
前記第１の予測モードと前記第２の予測モードとを判断することが、ビデオデコーダによって、前記第１の予測モードと前記第２の予測モードとを示す情報を受信することを備える、Ｃ１に記載の方法。
[Ｃ１２]
ビデオデータをコーディングするための装置であって、ビデオデータの第１のブロックのための第１の予測モードとビデオデータの第２のブロックのための第２の予測モードとを判断することであって、前記第１のブロックと前記第２のブロックとが共通エッジを共有する、判断することと、前記第１の予測モードを使用して前記第１のブロックを復号し、前記第２の予測モードを使用して前記第２のブロックを復号することと、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つが短距離イントラ予測（ＳＤＩＰ）を備えるかどうかに少なくとも部分的に基づいて、前記第１のブロックと前記第２のブロックとの間の前記共通エッジをデブロックすべきかどうかを判断することとを行うように構成されたビデオコーダを備える、装置。
[Ｃ１３]
前記ビデオコーダは、前記共通エッジをデブロックすべきであると判断した後に、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるかどうかに少なくとも部分的に基づいて、前記共通エッジをデブロックするためのデブロッキングフィルタを判断するように構成された、Ｃ１２に記載の装置。
[Ｃ１４]
前記デブロッキングフィルタを判断するために、前記ビデオコーダは、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、ＳＤＩＰ予測ユニット（ＰＵ）が前記共通エッジに対して直角に配向しているかどうかを判断することと、全てのＳＤＩＰ  ＰＵが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルに適用され得る係数を有するデブロッキングフィルタを選択することとを行うように構成された、Ｃ１３に記載の装置。
[Ｃ１５]
前記ビデオコーダは、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、前記エッジをデブロックすべきでないと判断するように構成された、Ｃ１２に記載の装置。
[Ｃ１６]
前記共通エッジをデブロックすべきかどうかを判断するために、前記ビデオコーダは、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、前記共通エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの適応されたセットを選択するように構成された、Ｃ１２に記載の装置。
[Ｃ１７]
前記共通エッジをデブロックすべきかどうかを判断するために、前記ビデオコーダは、サポートの適応されたセットが、前記第１のブロックおよび前記第２のブロック中のＳＤＩＰ予測ユニット（ＰＵ）のＰＵ境界を横断しないように、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、前記エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、また前記デブロッキングフィルタを適用すべきである、サポートの前記適応されたセットを選択するように構成された、Ｃ１２に記載の装置。
[Ｃ１８]
前記共通エッジをデブロックすべきかどうかを判断するために、前記ビデオコーダは、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、ＳＤＩＰ  ＰＵが前記共通エッジに対して直角に配向しているかどうかを判断することと、全てのＳＤＩＰ  ＰＵが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルにデブロッキング決定関数を適用することとを行うように構成された、Ｃ１２に記載の装置。
[Ｃ１９]
前記デブロッキング決定関数が第１のデブロッキング決定関数を備え、前記ビデオコーダは、少なくとも１つのＳＤＩＰ  ＰＵが前記共通エッジに対して平行に配向しているとき、サポートピクセルの適応されたセットに第２の異なるデブロッキング決定関数を適用することと、前記第２のデブロッキング決定関数が、前記共通エッジがデブロックされるべきであることを示すとき、前記共通エッジをデブロックすることとを行うように構成された、Ｃ１８に記載の装置。
[Ｃ２０]
前記第１のブロックおよび前記第２のブロックがフレームのブロックを備え、前記ビデオコーダは、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、ＳＤＩＰパーティションのパーティションサイズを示す値を、前記共通エッジに対応するデータ構造のロケーションで前記データ構造に記憶することと、エッジに対応する前記データ構造に記憶された値に基づいて、前記エッジをデブロックすることとを行うように構成された、Ｃ１２に記載の装置。
[Ｃ２１]
前記ビデオコーダがビデオエンコーダを備え、前記ビデオエンコーダは、前記第１の予測モードと前記第２の予測モードとを選択することと、前記第１のブロックと前記第２のブロックとを復号するより前に、前記第１の予測モードを使用して前記第１のブロックを符号化することと、前記第２の予測モードを使用して前記第２の予測モードを符号化することと、前記第１のブロックと前記第２のブロックとを符号化した後に、前記第１のブロックと前記第２のブロックとを復号することとを行うように構成された、Ｃ１２に記載の装置。
[Ｃ２２]
前記ビデオコーダがビデオデコーダを備え、前記第１の予測モードと前記第２の予測モードとを判断するために、前記ビデオデコーダが、前記第１の予測モードと前記第２の予測モードとを示す情報を受信するように構成された、Ｃ１２に記載の装置。
[Ｃ２３]
前記装置が、
集積回路と、
マイクロプロセッサと、
前記ビデオコーダを含むワイヤレス通信デバイスと
のうちの少なくとも１つを備える、Ｃ１２に記載の装置。
[Ｃ２４]
ビデオデータを符号化するための装置であって、
ビデオデータの第１のブロックのための第１の予測モードとビデオデータの第２のブロックのための第２の予測モードとを判断するための手段であって、前記第１のブロックと前記第２のブロックとが共通エッジを共有する、判断するための手段と、
前記第１の予測モードを使用して前記第１のブロックを復号し、前記第２の予測モードを使用して前記第２のブロックを復号するための手段と、
前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つが短距離イントラ予測（ＳＤＩＰ）を備えるかどうかに少なくとも部分的に基づいて、前記第１のブロックと前記第２のブロックとの間の前記共通エッジをデブロックすべきかどうかを判断するための手段と
を備える、装置。
[Ｃ２５]
前記共通エッジをデブロックすべきであると判断した後に、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるかどうかに少なくとも部分的に基づいて、前記共通エッジをデブロックするためのデブロッキングフィルタを判断するための手段をさらに備える、Ｃ２４に記載の装置。
[Ｃ２６]
前記デブロッキングフィルタを判断するための前記手段は、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、ＳＤＩＰ予測ユニット（ＰＵ）が前記共通エッジに対して直角に配向しているかどうかを判断するための手段と、全てのＳＤＩＰ  ＰＵが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルに適用され得る係数を有するデブロッキングフィルタを選択するための手段とを備える、Ｃ２５に記載の装置。
[Ｃ２７]
前記共通エッジをデブロックすべきかどうかを判断するための前記手段は、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、前記エッジをデブロックすべきでないと判断するための手段を備える、Ｃ２４に記載の装置。
[Ｃ２８]
前記共通エッジをデブロックすべきかどうかを判断するための前記手段は、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、前記共通エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの適応されたセットを選択するための手段を備える、Ｃ２４に記載の装置。
[Ｃ２９]
前記共通エッジをデブロックすべきかどうかを判断するための前記手段は、サポートの適応されたセットが、前記第１のブロックおよび前記第２のブロック中のＳＤＩＰ予測ユニット（ＰＵ）のＰＵ境界を横断しないように、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、前記エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、また前記デブロッキングフィルタを適用すべきである、サポートの前記適応されたセットを選択するための手段を備える、Ｃ２４に記載の装置。
[Ｃ３０]
前記共通エッジをデブロックすべきかどうかを判断するための前記手段は、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、ＳＤＩＰ  ＰＵが前記共通エッジに対して直角に配向しているかどうかを判断するための手段と、全てのＳＤＩＰ  ＰＵが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルにデブロッキング決定関数を適用するための手段とを備える、Ｃ２４に記載の装置。
[Ｃ３１]
前記デブロッキング決定関数が第１のデブロッキング決定関数を備え、前記装置は、
少なくとも１つのＳＤＩＰ  ＰＵが前記共通エッジに対して平行に配向しているとき、サポートピクセルの適応されたセットに第２の異なるデブロッキング決定関数を適用するための手段と、
前記第２のデブロッキング決定関数が、前記共通エッジがデブロックされるべきであることを示すとき、前記共通エッジをデブロックするための手段と
をさらに備える、Ｃ３０に記載の装置。
[Ｃ３２]
前記第１のブロックおよび前記第２のブロックがフレームのブロックを備え、前記装置は、
前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、ＳＤＩＰパーティションのパーティションサイズを示す値を、前記共通エッジに対応するデータ構造のロケーションで前記データ構造に記憶するための手段と、
エッジに対応する前記データ構造に記憶された値に基づいて、前記エッジをデブロックするための手段と
をさらに備える、Ｃ２４に記載の装置。
[Ｃ３３]
前記第１の予測モードと前記第２の予測モードとを判断するための前記手段が、符号化プロセス中に、前記第１の予測モードと前記第２の予測モードとを選択するための手段を備え、前記装置が、
前記第１のブロックを復号するより前に、前記第１の予測モードを使用して前記第１のブロックを符号化するための手段と、
前記第２のブロックを復号するより前に、前記第２の予測モードを使用して前記第２の予測モードを符号化するための手段と
をさらに備える、Ｃ２４に記載の装置。
[Ｃ３４]
前記第１の予測モードと前記第２の予測モードとを判断するための前記手段が、前記第１の予測モードと前記第２の予測モードとを示す情報を受信するための手段を備える、Ｃ２４に記載の装置。
[Ｃ３５]
実行されたとき、
ビデオデータの第１のブロックのための第１の予測モードとビデオデータの第２のブロックのための第２の予測モードとを判断することであって、前記第１のブロックと前記第２のブロックとが共通エッジを共有する、判断することと、
前記第１の予測モードを使用して前記第１のブロックを復号し、前記第２の予測モードを使用して前記第２のブロックを復号することと、
前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つが短距離イントラ予測（ＳＤＩＰ）を備えるかどうかに少なくとも部分的に基づいて、前記第１のブロックと前記第２のブロックとの間の前記共通エッジをデブロックすべきかどうかを判断することと
を、ビデオデータをコーディングするためのデバイスの１つまたは複数のプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
[Ｃ３６]
前記共通エッジをデブロックすべきであると判断した後に、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるかどうかに少なくとも部分的に基づいて、前記共通エッジをデブロックするためのデブロッキングフィルタを判断することを前記１つまたは複数のプロセッサに行わせる命令をさらに備える、Ｃ３５に記載のコンピュータプログラム製品。
[Ｃ３７]
前記デブロッキングフィルタを判断することを前記１つまたは複数のプロセッサに行わせる前記命令は、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、
ＳＤＩＰ予測ユニット（ＰＵ）が前記共通エッジに対して直角に配向しているかどうかを判断することと、
全てのＳＤＩＰ  ＰＵが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルに適用され得る係数を有するデブロッキングフィルタを選択することと
を前記１つまたは複数のプロセッサに行わせる命令を備える、Ｃ３６に記載のコンピュータプログラム製品。
[Ｃ３８]
前記共通エッジをデブロックすべきかどうかを判断することを前記１つまたは複数のプロセッサに行わせる前記命令は、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、前記エッジをデブロックすべきでないと判断することを前記１つまたは複数のプロセッサに行わせる命令を備える、Ｃ３５に記載のコンピュータプログラム製品。
[Ｃ３９]
前記共通エッジをデブロックすべきかどうかを判断することを前記１つまたは複数のプロセッサに行わせる前記命令は、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、前記共通エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの適応されたセットを選択することを前記１つまたは複数のプロセッサに行わせる命令を備える、Ｃ３５に記載のコンピュータプログラム製品。
[Ｃ４０]
前記共通エッジをデブロックすべきかどうかを判断することを前記１つまたは複数のプロセッサに行わせる前記命令は、サポートの適応されたセットが、前記第１のブロックおよび前記第２のブロック中のＳＤＩＰ予測ユニット（ＰＵ）のＰＵ境界を横断しないように、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、前記エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、また前記デブロッキングフィルタを適用すべきである、サポートの前記適応されたセットを選択することを前記１つまたは複数のプロセッサに行わせる命令を備える、Ｃ３５に記載のコンピュータプログラム製品。
[Ｃ４１]
前記共通エッジをデブロックすべきかどうかを判断することを前記１つまたは複数のプロセッサに行わせる前記命令は、前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、
ＳＤＩＰ  ＰＵが前記共通エッジに対して直角に配向しているかどうかを判断することと、
全てのＳＤＩＰ  ＰＵが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルにデブロッキング決定関数を適用することと
を前記１つまたは複数のプロセッサに行わせる命令を備える、Ｃ３５に記載のコンピュータプログラム製品。
[Ｃ４２]
前記デブロッキング決定関数が第１のデブロッキング決定関数を備え、前記コンピュータプログラム製品は、
少なくとも１つのＳＤＩＰ  ＰＵが前記共通エッジに対して平行に配向しているとき、サポートピクセルの適応されたセットに第２の異なるデブロッキング決定関数を適用することと、
前記第２のデブロッキング決定関数が、前記共通エッジがデブロックされるべきであることを示すとき、前記共通エッジをデブロックすることと
を前記１つまたは複数のプロセッサに行わせる命令をさらに備える、Ｃ４１に記載のコンピュータプログラム製品。
[Ｃ４３]
前記第１のブロックおよび前記第２のブロックがフレームのブロックを備え、前記コンピュータプログラム製品は、
前記第１の予測モードと前記第２の予測モードとのうちの少なくとも１つがＳＤＩＰを備えるとき、ＳＤＩＰパーティションのパーティションサイズを示す値を、前記共通エッジに対応するデータ構造のロケーションで前記データ構造に記憶することと、
エッジに対応する前記データ構造に記憶された値に基づいて、前記エッジをデブロックすることと
を前記１つまたは複数のプロセッサに行わせる命令をさらに備える、Ｃ３５に記載のコンピュータプログラム製品。
[Ｃ４４]
前記ビデオコーダがビデオエンコーダを備え、前記第１の予測モードと前記第２の予測モードとを判断することを前記１つまたは複数のプロセッサに行わせる前記命令は、前記第１の予測モードと前記第２の予測モードとを選択することを前記１つまたは複数のプロセッサに行わせる命令を備え、前記方法が、前記第１のブロックと前記第２のブロックとを復号するより前に、
前記第１の予測モードを使用して前記第１のブロックを符号化することと、
前記第２の予測モードを使用して前記第２の予測モードを符号化することと
をさらに備え、
前記第１のブロックと前記第２のブロックとを復号することを前記１つまたは複数のプロセッサに行わせる前記命令が、前記第１のブロックと前記第２のブロックとを復号することを前記ビデオエンコーダの前記１つまたは複数のプロセッサに行わせる命令を備える、Ｃ３５に記載のコンピュータプログラム製品。
[Ｃ４５]
前記ビデオコーダがビデオデコーダを備え、前記第１の予測モードと前記第２の予測モードとを判断することを前記１つまたは複数のプロセッサに行わせる前記命令が、前記第１の予測モードと前記第２の予測モードとを示す情報を受信することを前記ビデオデコーダの前記１つまたは複数のプロセッサに行わせる命令を備える、Ｃ３５に記載のコンピュータプログラム製品。
【図１】
0005937200.tif 000009
【図２】
0005937200.tif 000010
【図３】
0005937200.tif 000011
【図４】
0005937200.tif 000012
【図５】
0005937200.tif 000013
【図６】
0005937200.tif 000014
【図７Ａ】
0005937200.tif 000015
【図７Ｂ】
0005937200.tif 000016
【図７Ｃ】
0005937200.tif 000017
【図７Ｄ】
0005937200.tif 000018
【図７Ｅ】
0005937200.tif 000019
【図７Ｆ】
0005937200.tif 000020
【図７Ｇ】
0005937200.tif 000021
【図７Ｈ】
0005937200.tif 000022
【図７Ｉ】
0005937200.tif 000023
【図８】
0005937200.tif 000024
【図９】
0005937200.tif 000025
【図１０】
0005937200.tif 000026
【図１１】
0005937200.tif 000027
【図１２】
0005937200.tif 000028
【図１３】
0005937200.tif 000029