(57)【特許請求の範囲】
【請求項１】
ビデオデータを復号するための方法であって、
ビデオデータの第１のブロックとビデオデータの第２のブロックとを復号することと、前記第１のブロックと前記第２のブロックとは共通エッジを有し、ここで、前記第１のブロックと前記第２ブロックとを復号することは、前記第１のブロックの第１の残差ブロックと前記第1のブロックの第２の残差ブロックとを再構成することを備え、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であることを示す情報を取得することと、ここで、前記情報は、前記第１のブロックと前記第２のブロックとのうちの少なくとも１つは、非対称動き区分ブロックまたは非正方形変換ブロックを備えることを示し、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であるかどうかに少なくとも部分的に基づいて、および前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であるとき、前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であると決定した後に、前記第２のブロックおよび前記第２のブロックのピクセルへ適応されたデブロッキング決定関数または適応されていないデブロッキング決定関数の適用に基づいて、前記第１のブロックと前記第２のブロックとの間の前記共通エッジをデブロックすべきかどうかを決定することと、
を備える、方法。
【請求項２】
前記情報を取得することは、前記第１のブロックの親ブロックが非対称動き区分を使用して区分されることを示す情報を取得すること、を備え、前記方法は、
前記第１のブロックの親ブロックが前記非対称動き区分を使用して区分されることを示す前記取得された情報に基づいて、前記第１のブロックが非正方形であると決定すること、をさらに備える、請求項１に記載の方法。
【請求項３】
前記第１のブロックを形成するために非対称動き区分を使用して前記親ブロックが区分され、前記情報を取得することは、ビデオエンコーダによって生成された前記情報を受信することを備える、請求項２に記載の方法。
【請求項４】
前記情報を取得することは、前記第１のブロックと前記第２のブロックとを備える符号化ビットストリームのためのシンタックス情報としてビデオデコーダによって取得された前記情報を取得することを備える、請求項２に記載の方法。
【請求項５】
前記第２のブロックの第２の親ブロックが非対称動き区分を使用して区分されることを示す情報を取得することと、
前記第２のブロックの前記第２の親ブロックが前記非対称動き区分を使用して区分されることを示す前記取得された情報に基づいて、前記第２のブロックが非正方形であると決定することと
をさらに備える、請求項２に記載の方法。
【請求項６】
前記情報を取得することは、前記第１のブロックが親ブロックの非正方形変換ブロックを備えることを示す情報を取得すること、を備え、前記方法は、
前記第１のブロックが前記親ブロックの前記非正方形変換ブロックを備えることを示す前記取得された情報に基づいて、前記第１のブロックが非正方形であると決定すること、をさらに備える、請求項１に記載の方法。
【請求項７】
前記第１のブロックを形成するために非正方形変換を使用して前記親ブロックが複数の非正方形ブロックに区分され、前記第１のブロックは前記親ブロックの前記複数の非正方形ブロックのうちの１つを備え、前記情報を取得することは、ビデオエンコーダによって生成された前記情報を受信することを備える、請求項６に記載の方法。
【請求項８】
前記情報を取得することは、前記第１のブロックと前記第２のブロックとを備える符号化ビットストリームのためのシンタックス情報としてビデオデコーダによって取得された前記情報を取得することを備える、請求項６に記載の方法。
【請求項９】
前記共通エッジをデブロックすべきかどうかを決定することは、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であるかどうかを決定することと、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であると決定した後に、前記第１のブロックと前記第２のブロックとのピクセルに適応されたデブロッキング決定関数を適用することと、
を備え、前記適応されたデブロッキング決定関数は、前記共通エッジをデブロックすべきかどうかを決定するために、前記第１のブロックと前記第２のブロックのピクセルを含むサポートピクセルを適用し、他のブロック境界をデブロックするために使用されるサポートピクセルを含むことを回避するために、前記適応されたデブロッキング決定関数の前記サポートピクセルの数は適応されている、
請求項１に記載の方法。
【請求項１０】
前記共通エッジをデブロックすべきかどうかを決定することは、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であるかどうかを決定することと、
前記第１のブロックが非正方形であると決定した後に、前記第１のブロックの狭い部分が前記共通エッジに対して直角であるかどうかを決定することと、
前記第２のブロックが非正方形であると決定した後に、前記第２のブロックの狭い部分が前記共通エッジに対して直角であるかどうかを決定することと、
前記第１のブロックが非正方形であるとき、および前記第１のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、前記第１のブロックと前記第２のブロックとのピクセルに第１の適応されたデブロッキング決定関数を適用することと、
前記第２のブロックが非正方形であるとき、および前記第２のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、前記第１のブロックと前記第２のブロックとのピクセルに第２の適応されたデブロッキング決定関数を適用することと、
前記第１のブロックが非正方形であるとき、および前記第１のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、ならびに前記第２のブロックが非正方形であるとき、および前記第２のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、前記第１のブロックと前記第２のブロックとのピクセルに第３の適応されたデブロッキング決定関数を適用することと、
前記第１のブロックが正方形であるかまたは前記第１のブロックの前記狭い部分が前記共通エッジに対して直角であるとき、および前記第２のブロックが正方形であるかまたは前記第２のブロックの前記狭い部分が前記共通エッジに対して直角であるとき、前記第１のブロックと前記第２のブロックとのピクセルに適応されていないデブロッキング決定関数を適用することと
を備え、
前記第１から第３の適応されたデブロッキング決定関数と、前記適応されていないデブロッキング決定関数は、前記共通エッジをデブロックすべきかどうかを決定するために、前記第１のブロックと前記第２のブロックのピクセルを含むサポートピクセルを適用し、前記第１から第３の適応されたデブロッキング決定関数のそれぞれの前記サポートピクセルの数は、他のブロック境界をデブロックするために使用されるサポートピクセルを含むことを回避するめに適応されている、請求項１に記載の方法。
【請求項１１】
前記第１の適応されたデブロッキング決定関数と、前記第２の適応されたデブロッキング決定関数と、前記第３の適応されたデブロッキング決定関数とのうちの少なくとも１つが、前記共通エッジがデブロックされるべきであることを示すとき、前記共通エッジに適応されたデブロッキングフィルタを適用することをさらに備える、請求項１０に記載の方法。
【請求項１２】
前記共通エッジが８ピクセルの長さを備え、前記第１のブロックと前記第２のブロックとの前記ピクセルに前記第３の適応されたデブロッキング決定関数を適用することは、
前記共通エッジの端部から２ピクセルの第１のロケーションにおいて前記共通エッジに対して直角なピクセルの第１のセットに前記第３の適応されたデブロッキング決定関数を適用することと、
前記共通エッジの前記端部から５ピクセルの第２のロケーションにおいて前記共通エッジに対して直角なピクセルの第２の異なるセットに前記第３の適応されたデブロッキング決定関数を適用することと
を備える、請求項１０に記載の方法。
【請求項１３】
前記第３の適応されたデブロッキング決定関数が、前記共通エッジはデブロックされるべきであることを示すと決定した後に、
【数１】
0005869121.tif 000014
を備えるデブロッキングフィルタを使用して前記共通エッジをデブロックすることをさらに備える、請求項１２に記載の方法。
【請求項１４】
前記第３の適応されたデブロッキング決定関数が、前記共通エッジはデブロックされるべきであることを示すと決定した後に、
【数２】
0005869121.tif 000015
を備えるデブロッキングフィルタを使用して前記共通エッジをデブロックすることをさらに備える、請求項１２に記載の方法。
【請求項１５】
ビデオデータを復号するための装置であって、
ビデオデータの第１のブロックとビデオデータの第２のブロックとを復号することと、前記第１のブロックと前記第２のブロックとは共通エッジを有し、ここで、前記第１のブロックと前記第２ブロックとを復号するために、前記装置は、前記第１のブロックの第１の残差ブロックと前記第２のブロックの第２の残差ブロックとを再構成するように構成され、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であることを示す情報を取得することと、ここで、前記情報は、前記第１のブロックと前記第２のブロックとのうちの少なくとも１つは、非対称動き区分ブロックまたは非正方形変換ブロック備えることを示し、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であるかどうかに少なくとも部分的に基づいて、および前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であるとき、前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であると決定した後に、前記第１のブロックおよび前記第２のブロックのピクセルへ適応されたデブロッキング決定関数または適応されていないデブロッキング決定関数の適用に基づいて、前記第１のブロックと前記第２のブロックとの間の前記共通エッジをデブロックすべきかどうかを決定することと、
を行うように構成された、装置。
【請求項１６】
ビデオ復号デバイスを含むワイヤレス通信デバイスを備える、請求項１５に記載の装置。
【請求項１７】
前記第１のブロックの親ブロックが非対称動き区分を使用して区分されることを示す情報を取得することと、
前記第１のブロックの親ブロック前記非対称動き区分を使用して区分されることを示す前記取得された情報に基づいて、前記第１のブロックが非正方形であると決定することと、
を行うようにさらに構成された、請求項１５に記載の装置。
【請求項１８】
前記装置はビデオデコーダに備えられ、
前記情報を取得するために、前記装置は、前記第１のブロックと前記第２のブロックとを備える符号化ビットストリームのためのシンタックス情報として前記ビデオデコーダによって取得された前記情報を取得するようにさらに構成された、請求項１７に記載の装置。
【請求項１９】
前記第２のブロックの第２の親ブロックが非対称動き区分を使用して区分されることを示す情報を取得することと、前記第２のブロックの前記第２の親ブロックが前記非対称動き区分を使用して区分されることを示す前記取得された情報に基づいて、前記第２のブロックが非正方形であると決定することとを行うようにさらに構成された、請求項１７に記載の装置。
【請求項２０】
前記第１のブロックが親ブロックの非正方形変換ブロックを備えることを示す情報を取得することと、前記第１のブロックが前記親ブロックの前記非正方形変換ブロックを備えることを示す前記取得された情報に基づいて、前記第１のブロックが非正方形であると決定することとを行うようにさらに構成された、請求項１５に記載の装置。
【請求項２１】
前記装置はビデオデコーダに備えられ、
前記情報を取得するために、前記装置は、前記第１のブロックと前記第２のブロックとを備える符号化ビットストリームのためのシンタックス情報として前記ビデオデコーダによって取得された前記情報を取得するようにさらに構成された、請求項２０に記載の装置。
【請求項２２】
前記共通エッジをデブロックすべきかどうかを決定するために、前記装置は、前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であるかどうかを決定することと、前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であると決定した後に、前記第１のブロックと前記第２のブロックとのピクセルに適応されたデブロッキング決定関数を適用することと、を行うようにさらに構成され、前記適応されたデブロッキング決定関数は、前記共通エッジをデブロックすべきかどうかを決定するために、前記第１のブロックと前記第２のブロックのピクセルを含むサポートピクセルを適用し、他のブロック境界をデブロックするために使用されるサポートピクセルを含むことを回避するために、前記適応されたデブロッキング決定関数の前記サポートピクセルの数は適応されている、請求項１５に記載の装置。
【請求項２３】
前記共通エッジをデブロックすべきかどうかを決定するために、前記装置は、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であるかどうかを決定することと、
前記第１のブロックが非正方形であると決定した後に、前記第１のブロックの狭い部分が前記共通エッジに対して直角であるかどうかを決定することと、
前記第２のブロックが非正方形であると決定した後に、前記第２のブロックの狭い部分が前記共通エッジに対して直角であるかどうかを決定することと、
前記第１のブロックが非正方形であるとき、および前記第１のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、前記第１のブロックと前記第２のブロックとのピクセルに第１の適応されたデブロッキング決定関数を適用することと、
前記第２のブロックが非正方形であるとき、および前記第２のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、前記第１のブロックと前記第２のブロックとのピクセルに第２の適応されたデブロッキング決定関数を適用することと、
前記第１のブロックが非正方形であるとき、および前記第１のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、ならびに前記第２のブロックが非正方形であるとき、および前記第２のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、前記第１のブロックと前記第２のブロックとのピクセルに第３の適応されたデブロッキング決定関数を適用することと、
前記第１のブロックが正方形であるかまたは前記第１のブロックの前記狭い部分が前記共通エッジに対して直角であるとき、および前記第２のブロックが正方形であるかまたは前記第２のブロックの前記狭い部分が前記共通エッジに対して直角であるとき、前記第１のブロックと前記第２のブロックとのピクセルに適応されていないデブロッキング決定関数を適用することと、
を行うように構成され、
前記第１から第３の適応されたデブロッキング決定関数と、前記適応されていないデブロッキング決定関数は、前記共通エッジをデブロックすべきかどうかを決定するために、前記第１のブロックと前記第２のブロックのピクセルを含むサポートピクセルを適用し、前記第１から第３の適応されたデブロッキング決定関数のそれぞれの前記サポートピクセルの数は、他のブロック境界をデブロックするために使用されるサポートピクセルを含むことを回避するために適応されている、請求項１５に記載の装置。
【請求項２４】
前記共通エッジが８ピクセルの長さを備え、
前記第１のブロックと前記第２のブロックとの前記ピクセルに前記第３の適応されたデブロッキング決定関数を適用するために、前記装置は、前記共通エッジの端部から２ピクセルの第１のロケーションにおいて前記共通エッジに対して直角なピクセルの第１のセットに前記第３の適応されたデブロッキング決定関数を適用するようにさらに構成され、
前記装置は、前記共通エッジの前記端部から５ピクセルの第２のロケーションにおいて前記共通エッジに対して直角なピクセルの第２の異なるセットに前記第３の適応されたデブロッキング決定関数を適用するようにさらに構成された、
請求項２３に記載の装置。
【請求項２５】
前記第３の適応されたデブロッキング決定関数が、前記共通エッジはデブロックされるべきであることを示すと決定した後に、
【数３】
0005869121.tif 000016
を備えるデブロッキングフィルタを使用して前記共通エッジをデブロックするようにさらに構成された、請求項２４に記載の装置。
【請求項２６】
前記第３の適応されたデブロッキング決定関数が、前記共通エッジはデブロックされるべきであることを示すと決定した後に、
【数４】
0005869121.tif 000017
を備えるデブロッキングフィルタを使用して前記共通エッジをデブロックするようにさらに構成された、請求項２５に記載の装置。
【請求項２７】
ビデオデータを復号するための装置であって、
ビデオデータの第１のブロックとビデオデータの第２のブロックとを復号する手段と、前記第１のブロックと前記第２のブロックとは共通エッジを有し、ここで、前記第１のブロックと前記第２ブロックとを復号する手段は、前記第１のブロックの第１の残差ブロックと前記第２のブロックの第２の残差ブロックとを再構成する手段を備え、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であることを示す情報を取得する手段と、ここで、前記情報は、前記第１のブロックと前記第２のブロックとのうちの少なくとも１つは、非対称動き区分ブロックまたは非正方形変換ブロックを備えることを示し、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であるかどうかに少なくとも部分的に基づいて、および前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であると決定した後に、前記第１のブロックおよび前記第２のブロックのピクセルへの、適応されたデブロッキング決定関数または適応されていないデブロッキング決定関数の適用に基づいて、前記第１のブロックと前記第２のブロックとの間の前記共通エッジをデブロックすべきかどうかを決定する手段と、
を備える、装置。
【請求項２８】
前記情報を取得する手段は、前記第１のブロックの親ブロックが非対称動き区分を使用して区分されることを示す情報を取得する手段を備え、前記装置は、
前記第１のブロックの親ブロックが前記非対称動き区分を使用して区分されることを示す前記取得された情報に基づいて、前記第１のブロックが非正方形であると決定する手段と
をさらに備える、請求項２７に記載の装置。
【請求項２９】
前記装置はビデオデコーダに備えられ、
前記情報を取得する前記手段は、前記第１のブロックと前記第２のブロックとを備える符号化ビットストリームのためのシンタックス情報として前記ビデオデコーダによって取得された前記情報を取得する手段を備える、請求項２８に記載の装置。
【請求項３０】
前記第２のブロックの第２の親ブロックが非対称動き区分を使用して区分されることを示す情報を取得する手段と、
前記第２のブロックの前記第２の親ブロックが前記非対称動き区分を使用して区分されることを示す前記取得された情報に基づいて、前記第２のブロックが非正方形であると決定する手段と
をさらに備える、請求項２８に記載の装置。
【請求項３１】
前記情報を取得する手段は、前記第１のブロックが親ブロックの非正方形変換ブロックを備えることを示す情報を取得する手段を備え、前記装置は、
前記第１のブロックが前記親ブロックの前記非正方形変換ブロックを備えることを示す前記取得された情報に基づいて、前記第１のブロックが非正方形であると決定する手段を
をさらに備える、請求項２７に記載の装置。
【請求項３２】
前記装置はビデオデコーダに備えられ、
前記情報を取得する前記手段は、前記第１のブロックと前記第２のブロックとを備える符号化ビットストリームのためのシンタックス情報として前記ビデオデコーダによって取得された前記情報を取得する手段を備える、請求項３１に記載の装置。
【請求項３３】
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であるかどうかを決定する手段と、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であると決定した後に、前記第１のブロックと前記第２のブロックとのピクセルに適応されたデブロッキング決定関数を適用する手段と
をさらに備え、
前記適応されたデブロッキング決定関数は、前記共通エッジをデブロックすべきかどうかを決定するために、前記第１のブロックと前記第２のブロックのピクセルを含むサポートピクセルを適用し、他のブロック境界をデブロックするために使用されるサポートピクセルを含むことを回避するために、前記適応されたデブロッキング決定関数の前記サポートピクセルの数は適応されている、請求項２７に記載の装置。
【請求項３４】
前記共通エッジをデブロックすべきかどうかを決定する前記手段は、前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であるかどうかを決定する手段を備え、
前記装置は、
前記第１のブロックが非正方形であると決定した後に、前記第１のブロックの狭い部分が前記共通エッジに対して直角であるかどうかを決定する手段と、
前記第２のブロックが非正方形であると決定した後に、前記第２のブロックの狭い部分が前記共通エッジに対して直角であるかどうかを決定する手段と、
前記第１のブロックが非正方形であるとき、および前記第１のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、前記第１のブロックと前記第２のブロックとのピクセルに第１の適応されたデブロッキング決定関数を適用する手段と、
前記第２のブロックが非正方形であるとき、および前記第２のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、前記第１のブロックと前記第２のブロックとのピクセルに第２の適応されたデブロッキング決定関数を適用する手段と、
前記第１のブロックが非正方形であるとき、および前記第１のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、ならびに前記第２のブロックが非正方形であるとき、および前記第２のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、前記第１のブロックと前記第２のブロックとのピクセルに第３の適応されたデブロッキング決定関数を適用する手段と、
前記第１のブロックが正方形であるかまたは前記第１のブロックの前記狭い部分が前記共通エッジに対して直角であるとき、および前記第２のブロックが正方形であるかまたは前記第２のブロックの前記狭い部分が前記共通エッジに対して直角であるとき、前記第１のブロックと前記第２のブロックとのピクセルに適応されていないデブロッキング決定関数を適用する手段と
をさらに備え、
前記第１から第３の適応されたデブロッキング決定関数と、前記適応されていないデブロッキング決定関数は、前記共通エッジをデブロックすべきかどうかを決定するために、前記第１のブロックと前記第２のブロックのピクセルを含むサポートピクセルを適用し、前記第１から第３の適応されたデブロッキング決定関数のそれぞれの前記サポートピクセルの数は、他のブロック境界をデブロックするために使用されるサポートピクセルを含むことを回避するために適応されている、請求項２７に記載の装置。
【請求項３５】
前記共通エッジが８ピクセルの長さを備え、
前記第１のブロックと前記第２のブロックとの前記ピクセルに前記第３の適応されたデブロッキング決定関数を適用する前記手段は、前記共通エッジの端部から２ピクセルの第１のロケーションにおいて前記共通エッジに対して直角なピクセルの第１のセットに前記第３の適応されたデブロッキング決定関数を適用する手段を備え、
前記装置は、前記共通エッジの前記端部から５ピクセルの第２のロケーションにおいて前記共通エッジに対して直角なピクセルの第２の異なるセットに前記第３の適応されたデブロッキング決定関数を適用する手段をさらに備える、
請求項３４に記載の装置。
【請求項３６】
前記第３の適応されたデブロッキング決定関数が、前記共通エッジはデブロックされるべきであることを示すと決定した後に、
【数５】
0005869121.tif 000018
を備えるデブロッキングフィルタを使用して前記共通エッジをデブロックするための手段
をさらに備える、請求項３５に記載の装置。
【請求項３７】
前記第３の適応されたデブロッキング決定関数が、前記共通エッジはデブロックされるべきであることを示すと決定した後に、
【数６】
0005869121.tif 000019
を備えるデブロッキングフィルタを使用して前記共通エッジをデブロックする手段
をさらに備える、請求項３５に記載の装置。
【請求項３８】
実行されたとき、プロセッサに、
ビデオデータの第１のブロックとビデオデータの第２のブロックとを復号することと、前記第１のブロックと前記第２のブロックとは共通エッジを有し、ここで、前記第１のブロックと前記第２ブロックとを復号することは、前記第１のブロックの第１の残差ブロックと前記第２のブロックの第２の残差ブロックとを再構成することを備え、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であることを示す情報を取得することと、ここで、前記情報は、前記第１のブロックと前記第２のブロックとのうちの少なくとも１つは、非対称動き区分ブロックまたは非正方形変換ブロックを備えることを示し、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であるかどうかに少なくとも部分的に基づいて、および前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であると決定した後に、前記第１のブロックおよび前記第２のブロックのピクセルへ適応されたデブロッキング決定関数または適応されていないデブロッキング決定関数の適用に基づいて、前記第１のブロックと前記第２のブロックとの間の前記共通エッジをデブロックすべきかどうかを決定することと、
を行わせる、命令を記憶したコンピュータ可読記憶媒体。
【請求項３９】
前記プロセッサに、前記情報を取得することを行わせる前記命令は、前記プロセッサに、前記第１のブロックの親ブロックが非対称動き区分を使用して区分されることを示す情報を取得することを行わせる命令を備え、
前記プロセッサに、前記第１のブロックの前記親ブロックが前記非対称動き区分を使用して区分されることを示す前記取得された情報に基づいて、前記第１のブロックが非正方形であると決定することを行わせる命令をさらに記憶する、請求項３８に記載のコンピュータ可読記憶媒体。
【請求項４０】
前記プロセッサに、前記情報を取得することを行わせる前記命令は、前記プロセッサに、前記第１のブロックと前記第２のブロックとを備える符号化ビットストリームのためのシンタックス情報として取得された前記情報を取得することを行わせる命令を備える、請求項３９に記載のコンピュータ可読記憶媒体。
【請求項４１】
前記プロセッサに、
前記第２のブロックの第２の親ブロックが非対称動き区分を使用して区分されることを示す情報を取得することと、
前記第２のブロックの前記第２の親ブロックが前記非対称動き区分を使用して区分されることを示す前記取得された情報に基づいて、前記第２のブロックが非正方形であると決定することと
を行わせる命令をさらに記憶する、請求項３９に記載のコンピュータ可読記憶媒体。
【請求項４２】
前記プロセッサに、前記情報を取得することを行わせる前記命令は、前記プロセッサに、前記第１のブロックが親ブロックの非正方形変換ブロックを備えることを示す情報を取得することを行わせる命令を備え、
前記プロセッサに、前記第１のブロックが前記親ブロックの前記非正方形変換ブロックを備えることを示す前記取得された情報に基づいて、前記第１のブロックが非正方形であると決定することを行わせる命令をさらに記憶する、請求項３８に記載のコンピュータ可読記憶媒体。
【請求項４３】
前記プロセッサに、前記情報を取得することを行わせる前記命令は、前記プロセッサに、前記第１のブロックと前記第２のブロックとを備える符号化ビットストリームのためのシンタックス情報として取得された前記情報を取得することを行わせる命令を備える、請求項４２に記載のコンピュータ可読記憶媒体。
【請求項４４】
前記プロセッサに、前記共通エッジをデブロックすべきかどうかを決定することを行わせる前記命令は、前記プロセッサに、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であるかどうかを決定することと、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であると決定した後に、前記第１のブロックと前記第２のブロックとのピクセルに適応されたデブロッキング決定関数を適用することと
をさらに行わせ、
前記適応されたデブロッキング決定関数は、前記共通エッジをデブロックすべきかどうかを決定するために、前記第１のブロックと前記第２のブロックのピクセルを含むサポートピクセルを適用し、他のブロック境界をデブロックするために使用されるサポートピクセルを含むことを回避するために、前記適応されたデブロッキング決定関数の前記サポートピクセルの数は適応されている、請求項３８に記載のコンピュータ可読記憶媒体。
【請求項４５】
前記プロセッサに、前記共通エッジをデブロックすべきかどうかを決定することを行わせる前記命令は、前記プロセッサに、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であるかどうかを決定すること
をさらに行わせ、
前記コンピュータ可読記憶媒体は、前記プロセッサに、
前記第１のブロックが非正方形であると決定した後に、前記第１のブロックの狭い部分が前記共通エッジに対して直角であるかどうかを決定することと、
前記第２のブロックが非正方形であると決定した後に、前記第２のブロックの狭い部分が前記共通エッジに対して直角であるかどうかを決定することと、
前記第１のブロックが非正方形であるとき、および前記第１のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、前記第１のブロックと前記第２のブロックとのピクセルに第１の適応されたデブロッキング決定関数を適用することと、
前記第２のブロックが非正方形であるとき、および前記第２のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、前記第１のブロックと前記第２のブロックとのピクセルに第２の適応されたデブロッキング決定関数を適用することと、
前記第１のブロックが非正方形であるとき、および前記第１のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、ならびに前記第２のブロックが非正方形であるとき、および前記第２のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、前記第１のブロックと前記第２のブロックとのピクセルに第３の適応されたデブロッキング決定関数を適用することと、
前記第１のブロックが正方形であるかまたは前記第１のブロックの前記狭い部分が前記共通エッジに対して直角であるとき、および前記第２のブロックが正方形であるかまたは前記第２のブロックの前記狭い部分が前記共通エッジに対して直角であるとき、前記第１のブロックと前記第２のブロックとのピクセルに適応されていないデブロッキング決定関数を適用することと
を行わせる命令をさらに記憶し、
前記第１から第３の適応されたデブロッキング決定関数と、前記適応されていないデブロッキング決定関数は、前記共通エッジをデブロックすべきかどうかを決定するために、前記第１のブロックと前記第２のブロックのピクセルを含むサポートピクセルを適用し、前記第１から第３の適応されたデブロッキング決定関数のそれぞれの前記サポートピクセルの数は、他のブロック境界をデブロックするために使用されるサポートピクセルを含むことを回避するために適応されている、請求項３８に記載のコンピュータ可読記憶媒体。
【請求項４６】
前記共通エッジが８ピクセルの長さを備え、
前記プロセッサに、前記第１のブロックと前記第２のブロックとの前記ピクセルに前記第３の適応されたデブロッキング決定関数を適用することを行わせる前記命令は、前記プロセッサに、
前記共通エッジの端部から２ピクセルの第１のロケーションにおいて前記共通エッジに対して直角なピクセルの第１のセットに前記第３の適応されたデブロッキング決定関数を適用すること
をさらに行わせ、
前記コンピュータ可読記憶媒体は、前記プロセッサに、前記共通エッジの前記端部から５ピクセルの第２のロケーションにおいて前記共通エッジに対して直角なピクセルの第２の異なるセットに前記第３の適応されたデブロッキング決定関数を適用することを行わせる命令をさらに記憶する、
請求項４５に記載のコンピュータ可読記憶媒体。
【請求項４７】
前記命令は、前記プロセッサに、
前記第３の適応されたデブロッキング決定関数が、前記共通エッジはデブロックされるべきであることを示すと決定した後に、
【数７】
0005869121.tif 000020
を備えるデブロッキングフィルタを使用して前記共通エッジをデブロックすること
をさらに行わせる、請求項４６に記載のコンピュータ可読記憶媒体。
【請求項４８】
前記命令は、前記プロセッサに、
前記第３の適応されたデブロッキング決定関数が、前記共通エッジはデブロックされるべきであることを示すと決定した後に、
【数８】
0005869121.tif 000021
を備えるデブロッキングフィルタを使用して前記共通エッジをデブロックすること
をさらに行わせる、請求項４６に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【優先権の主張】
【０００１】
本出願は、各々の内容全体が参照により本明細書に組み込まれる、２０１１年７月１９日に出願された米国仮出願第６１／５０９，４８９号、２０１１年８月１７日に出願された米国仮出願第６１／５２４，４９１号、２０１１年９月１３日に出願された米国仮出願第６１／５３４，２８４号、および２０１１年１１月３日に出願された米国仮出願第６１／５５５，３８８号の利益を主張する。
【技術分野】
【０００２】
本開示は、ビデオコーディングに関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信および受信するために、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３またはＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および／または時間的予測を実行する。ブロックベースのビデオコーディングの場合、ビデオフレームまたはスライスはマクロブロックに区分され得る。各マクロブロックはさらに区分され得る。イントラコード化（Ｉ）フレームまたはスライス中のマクロブロックは、隣接マクロブロックに関する空間的予測を使用して符号化される。インターコード化（ＰまたはＢ）フレームまたはスライス中のマクロブロックは、同じフレームまたはスライス中の隣接マクロブロックに関する空間的予測、あるいは他の参照フレームに関する時間的予測を使用し得る。
【発明の概要】
【０００５】
[0005]概して、本開示では、ビデオコーディングのための非正方形（non-square）ブロックのデブロッキングのための技法について説明する。ブロックは、たとえば、非対称動き区分、短距離イントラ予測、および非正方形変換における４分木変換分割など、様々なファクタにより非正方形であり得る。エッジは、概して、ビデオデータのブロック、たとえば、変換ユニット（ＴＵ：transform unit）間に発生する。本開示の技法は、そのようなエッジに適用されるデブロッキング決定とデブロッキング関数とを改善し得る。同様に、本開示の技法は、デブロッキングのためにエッジを処理するときに、エッジの過剰処理とストレージ要件の劇的な増加とを回避し得る。
【０００６】
[0006]一例では、ビデオデータをコーディングする方法は、ビデオデータの第１のブロックとビデオデータの第２のブロックとを復号することと、第１のブロックと第２のブロックとは共通エッジを共有し、第１のブロックと第２のブロックとのうちの少なくとも１つが非正方形であるかどうかに少なくとも部分的に基づいて、第１のブロックと第２のブロックとの間の共通エッジをデブロックすべきかどうかを決定することとを含む。
【０００７】
[0007]別の例では、ビデオデータをコーディングするための装置は、ビデオデータの第１のブロックとビデオデータの第２のブロックとを復号する手段と、第１のブロックと第２のブロックとは共通エッジを共有し、第１のブロックと第２のブロックとのうちの少なくとも１つが非正方形であるかどうかに少なくとも部分的に基づいて、第１のブロックと第２のブロックとの間の共通エッジをデブロックすべきかどうかを決定する手段とを含む。
【０００８】
[0008]別の例では、ビデオデータをコーディングするための装置は、ビデオデータの第１のブロックとビデオデータの第２のブロックとを復号することと、第１のブロックと第２のブロックとは共通エッジを共有し、第１のブロックと第２のブロックとのうちの少なくとも１つが非正方形であるかどうかに少なくとも部分的に基づいて、第１のブロックと第２のブロックとの間の共通エッジをデブロックすべきかどうかを決定することと、を行うように構成されたビデオコーディングデバイスを含む。
【０００９】
[0009]別の例では、コンピュータプログラム製品は、実行されたとき、プログラマブルプロセッサに、ビデオデータの第１のブロックとビデオデータの第２のブロックとを復号することと、第１のブロックと第２のブロックとが共通エッジを共有し、第１のブロックと第２のブロックとのうちの少なくとも１つが非正方形であるかどうかに少なくとも部分的に基づいて、第１のブロックと第２のブロックとの間の共通エッジをデブロックすべきかどうかを決定することとを行わせる、命令を記憶したコンピュータ可読記憶媒体を含む。
【００１０】
[0010]１つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、その説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１１】
【図１】非正方形ブロック間のエッジをデブロックするための技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】非正方形ブロック間のエッジをデブロックするための技法を実装し得るビデオエンコーダの一例を示すブロック図。
【図３】符号化ビデオシーケンスを復号するビデオデコーダの一例を示すブロック図。
【図４】例示的なデブロッカーの構成要素を示すブロック図。
【図５Ａ】２つのブロック間のエッジに対する様々なブロック配向を示す概念図。
【図５Ｂ】２つのブロック間のエッジに対する様々なブロック配向を示す概念図。
【図５Ｃ】２つのブロック間のエッジに対する様々なブロック配向を示す概念図。
【図６】本開示の技法による、２つのブロック間のエッジをデブロックするための例示的な方法を示すフローチャート。
【図７】２つの例示的なブロック間の共通エッジの近くのそれら２つのブロックのピクセル位置を示す概念図。
【図８】適応型デブロッキング決定関数およびデブロッキングフィルタが使用され得る事例の様々な例を示す概念図。
【図９】非正方形４分木区分のための例示的な区分構造を示す概念図。
【図１０】非対称動き区分（ＡＭＰ：asymmetric motion partitioning）区分ブロックの様々な例を示す概念図。
【図１１Ａ】短距離イントラ予測（ＳＤＩＰ：short distance intra-prediction）区分ブロックの様々な例を示す概念図。
【図１１Ｂ】短距離イントラ予測区分ブロックの様々な例を示す概念図。
【図１１Ｃ】短距離イントラ予測区分ブロックの様々な例を示す概念図。
【図１１Ｄ】短距離イントラ予測区分ブロックの様々な例を示す概念図。
【図１１Ｅ】短距離イントラ予測区分ブロックの様々な例を示す概念図。
【図１１Ｆ】短距離イントラ予測区分ブロックの様々な例を示す概念図。
【図１１Ｇ】短距離イントラ予測区分ブロックの様々な例を示す概念図。
【図１１Ｈ】短距離イントラ予測区分ブロックの様々な例を示す概念図。
【図１１Ｉ】短距離イントラ予測区分ブロックの様々な例を示す概念図。
【発明を実施するための形態】
【００１２】
[0022]概して、ビデオデータは、イントラ予測モードまたはインター予測モードでコーディングされ得る、フレームのシーケンスを含む。フレームは、ビデオデータのブロックに分割され得、ブロックごとに符号化モードが選択され得る。インター予測モードでは、ブロックは、１つまたは複数の前にコーディングされたフレームのデータに対して予測され得る。イントラ予測モードでは、ブロックは、同じフレームの１つまたは複数の隣接する前にコーディングされたブロックに対して予測され得る。
【００１３】
[0023]高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）と現在呼ばれる、新しいビデオコーディング規格を開発するための取り組みが現在進行中である。この今度の規格はＨ．２６５とも呼ばれる。この規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ：HEVC Test Model）と呼ばれるビデオコーディングデバイスのモデルに基づく。ＨＭは、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣなどの前のコーディング規格によるデバイスに勝るビデオコーディングデバイスのいくつかの能力を仮定する。たとえば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＭは３４個ものイントラ予測符号化モードを提供する。
【００１４】
[0024]高効率ビデオコーディング（ＨＥＶＣ）によれば、フレームは、たとえば、３２×３２ピクセルブロックまたは６４×６４ピクセルブロックを備え得る、最大コーディングユニット（ＬＣＵ：largest coding unit）に分割され得る。概して、ＬＣＵは、各々がさらに区分され得るサブコーディングユニット（サブＣＵ）に区分され得る。概して、コーディングユニット（ＣＵ：coding unit）という用語は、ＬＣＵまたはそのいずれかのサブＣＵ（たとえば、ＬＣＵのサブＣＵまたは別のサブＣＵのサブＣＵ）を指すことがある。ＣＵは、４つの正方形の、重複しないブロックに区分され得る。ＬＣＵは、１つまたは複数のノードを含む４分木データ構造に対応し得、４分木のルートノードはＬＣＵ自体に対応し、他のノードはＬＣＵのサブＣＵに対応する。非区分ＣＵは、概して、４分木のリーフノード（すなわち、子ノードを有しない４分木のノード）に対応する。したがって、非区分ＣＵはリーフノードＣＵと呼ばれることがある。リーフノードＣＵは、概して、ＣＵのためのデータがどのように予測されるかを記述する１つまたは複数の予測ユニット（ＰＵ：prediction unit）と、残差データ、すなわち、ＣＵのための予測されたデータとＣＵのための元のデータとの間のピクセルごとの差分に対応する１つまたは複数の変換ユニット（ＴＵ）とを含む。
【００１５】
[0025]非区分ＣＵのためのリーフノードは、ＣＵのＰＵのための予測モードを示す情報を含み得る。いくつかの例では、（ＴＵ４分木とも呼ばれる）残差４分木（ＲＱＴ：residual quadtree）がリーフノードＣＵのために与えられ得る。残差４分木はまた、ルートノードと、１つまたは複数のリーフノードとを含み得る。ＲＱＴは、予測モードを示す情報、および／または対応するリーフノードＣＵの一部分に対応するＴＵについての他の予測情報など、情報を含み得る。いずれの場合も、ＣＵについての情報は、ＣＵの１つまたは複数の部分のための予測モードを示し得る。
【００１６】
[0026]イントラ予測モードに関して、ＲＱＴにおいて与えられる情報が、特定のタイプのイントラ予測モードを示し得る。たとえば、ＲＱＴにおいて与えられる情報は、ＤＣ予測モードが使用されるかどうか、または方向イントラ予測モードが使用されるかどうかを示し得る。ＤＣ予測モードでは、前にコーディングされたブロックの隣接ピクセルの値がアグリゲートされ、現在ＣＵのピクセルの予測値を形成するために使用され得る。方向性予測モードでは、前にコーディングされたブロックの隣接ピクセルの値は、現在ＣＵのピクセルの予測値を形成するために、特定の方向において適用され得る。
【００１７】
[0027]ＨＭは、「ブロッキネス」アーティファクトを除去するために、デブロッキングフィルタを使用してデブロッキングを行う。すなわち、フレームをブロック（ＬＣＵおよびそれらのサブＣＵ）に分割し、ブロックをコーディングし、次いでブロックを復号した後に、ブロック間のエッジにおける知覚可能なアーティファクトが発生し得る。したがって、ビデオエンコーダは、フレームのビデオデータを符号化し、その後、符号化されたビデオデータを復号し、次いで、参照ビデオデータとして使用するために、復号されたビデオデータにデブロッキングフィルタを適用し得る。参照データは、たとえば、後でコーディングされるビデオデータのインター予測のために、ビデオエンコーダが使用し得る１つまたは複数のフレームからのデータであり得る。ビデオエンコーダは、インター予測のために１つまたは複数のフレームを参照フレームストア内に記憶し得る。
【００１８】
[0028]参照データとして使用するために、復号されたビデオデータを記憶するより前に、ビデオエンコーダまたはビデオデコーダなど、ビデオコーディングデバイスによって実行されるそのようなデブロッキングフィルタリングは、一般に「ループ内」フィルタリングと呼ばれる。「ループ内」フィルタリングでは、ビデオエンコーダまたはデコーダが、ビデオループ内でデブロッキングを実行し得る。ビデオエンコーダは、未加工ビデオデータを受信することから始まり、ビデオデータを符号化し、データをデブロックし、デブロックされたフレームを参照フレームストアに記憶し得る。ビデオデコーダは、ビデオデータを表示するために、ならびに復号されるべき後続のビデオデータのための参照として使用するために、受信したビデオデータを復号し、次いで、復号されたビデオデータに同じデブロッキングフィルタを適用するように構成され得る。エンコーダとデコーダの両方を同じデブロッキング技法を適用するように構成することによって、エンコーダとデコーダとは同期され得、それにより、デブロッキングが、参照のためにデブロックされたビデオデータを使用して、その後コード化されたビデオデータに対して誤差を導入しないようになる。
【００１９】
[0029]上述のように、非区分ＣＵ（すなわち、リーフノードＣＵ）は、それぞれさらに再分割され得る１つまたは複数のＰＵおよび／またはＴＵを含み得る。ＰＵおよび／またはＴＵは、知覚可能なブロッキネスアーティファクトをもたらし得るエッジによって分離された長方形または正方形の領域に分割され得る。ＨＭに記載されている技法に従って構成されたビデオエンコーダまたはデコーダは、概して、２つのＰＵまたはＴＵを分離する各エッジについて、エッジをデブロックするためにデブロッキングフィルタを適用すべきかどうかを決定し得る。ＨＭの技法に従って構成されたビデオエンコーダまたはデコーダは、エッジに対して直角なピクセルの１つまたは複数のライン、たとえば、８つのピクセルのラインの分析に基づいて、エッジをデブロックすべきかどうかを決定するように構成され得る。したがって、たとえば、垂直エッジでは、ＨＭは、共通ラインに沿ってエッジの左側の４つのピクセルおよび右側の４つのピクセルを検査することによって、エッジをデブロックすべきかどうかを決定し得る。選択されるピクセルの数は、概して、デブロックするための最小ブロック、たとえば８×８ピクセル、に対応する。このようにして、分析のために使用されるピクセルのラインは、２つのＰＵまたはＴＵのみ、すなわち、エッジのすぐ左側およびすぐ右側のＰＵまたはＴＵに入り得る。エッジに対してデブロッキングを実行すべきかどうかの分析のために使用されるピクセルのラインは、サポートピクセルのセットまたは単に「サポート」とも呼ばれる。
【００２０】
[0030]ＨＭの技法に従って構成されたデバイスは、６４×１６、６４×４８、１６×６４、４８×１６、３２×８、３２×２４、８×３２、２４×３２、１６×４、１６×１２、４×１６、１２×１６、８×４、４×８、８×２、２×８、１×１６、１６×１、３２×２、２×３２などの非正方形ピクセル領域にＣＵを分割するために、ＡＭＰ（非対称動き区分）などの動き予測技法と、ＮＳＱＴ（対称動きパーティションのための非正方形変換（non-square transform for symmetric motion partition）または非正方形４分木変換（non-square quadtree transform））など、非正方形変換における４分木変換分割と、を実装し得る。
【００２１】
[0031]ＨＭに記載されている技法に従って構成されたデバイスはまた、６４×１６、６４×４８、１６×６４、４８×１６、３２×８、３２×２４、８×３２、２４×３２、１６×４、１６×１２、４×１６、１２×１６、８×４、４×８、８×２、２×８、１×１６、１６×１、３２×２、２×３２など、非正方形領域にＰＵを分割する、短距離イントラ予測（ＳＤＩＰ）などのイントラ予測技法を実装し得る。ＳＤＩＰを実装するように構成されたビデオエンコーダまたはビデオデコーダなど、ビデオコーディングユニットは、非正方形ブロックの値を隣接非正方形領域のピクセル値から予測し得る。
【００２２】
[0032]ＪＣＴ−ＶＣ規格化の取り組みのＨＭソフトウェアテストモデルにおける現在のデブロッキングフィルタは、８×８最小ブロックベースでブロックキングアーティファクトに対処し、８ピクセルロケーションの倍数（multiple）でない位置にあるアーティファクトエッジをデブロックしない。さらに、ＨＭデブロッキングフィルタは、垂直または水平エッジのためのデブロッキング決定と独立フィルタリングとの並列実装形態をサポートする。
【００２３】
[0033]８×８ピクセルのデブロッキングのための最小サイズよりも小さい次元を有するＮＳＱＴおよびＡＭＰの非正方形パーティションまたは変換（１６×４および４×１６のＰＵおよびＴＵなど）は、必ずしもＨＭデブロッキングフィルタによって処理されるとは限らず、これは、ブロックエッジアーティファクトが見えることにつながり得る。すなわち、８ピクセルの倍数でないブロック境界において発生するエッジは、ＨＭエンコーダまたはデコーダのデブロッキングフィルタによって適切に扱われないブロッキネスアーティファクトを有し得る。さらに、現在のＨＭデブロッキング決定およびフィルタは、最大でエッジの各側の４ピクセルを採用するサポート（計算のために使用されるピクセルの数、および／あるいは交換または修正されるべきピクセルの数）を有する。非正方形ブロックが８よりも小さい次元を有する場合、デブロッキング決定およびフィルタは潜在的に重複し、ＨＭデブロッキングフィルタ並列性を乱す依存性がもたらされる。ＨＭデブロッキングフィルタ並列性を乱すことに加えて、ＨＭデブロッキングフィルタが８ピクセルよりも小さいブロックとともに並列に使用される場合、競合状態および／または非決定論的挙動が生じ得る。たとえば、ビデオエンコーダの第１のデブロッキングフィルタは、サポートピクセルのセットが、第１のデブロッキングフィルタと並列に実行されている別のデブロッキングフィルタによって修正されている間、サポートピクセルの同じセットを検査し得る。このようにして、デブロッキング決定関数は、ブロック境界を横断するサポートに適用され得、したがって、エッジをデブロックすべきかどうかに関する不適当な決定につながり、その上、本来なら達成され得る並列性を損ない得る。
【００２４】
[0034]ビデオコーディングデバイスは、特定のエッジのためのサポートに対してデブロッキング決定関数を実行するように構成され得る。概して、デブロッキング決定関数は、サポート内の高周波変化を検出するように構成され得る。高周波変化は、２つのブロック間のエッジにおいて発生し得る。ピクセル値を検査することによって、ビデオエンコーダまたはデコーダは、特定のエッジに対するブロッキネスアーティファクトの原因となり得る高周波変化を検出し得る。
【００２５】
[0035]一般に、高周波変化が検出されたとき、デブロッキング決定関数は、デブロッキングが行われるべきであるという指示を与える。したがって、デブロッキング決定関数は、ＳＤＩＰまたはＡＭＰを使用して予測された非正方形ブロック、あるいはＮＳＱＴブロックに対応する変換ブロックなど、２つのブロック間のエッジがデブロックされるべきであるという不適当な指示を与え得る。たとえば、デブロッキング決定関数は、エッジを分析するときにサポートピクセルのセット内の高周波変化を検出し得るが、高周波変化は、現在検討されているエッジ以外において、２つのＰＵまたはＴＵ間の境界において発生し得る。
【００２６】
[0036]本開示は、非対称動き区分（ＡＭＰ）ブロック、ＳＤＩＰブロック、および非正方形４分木変換（ＮＳＱＴ）ブロックなど、非正方形ブロック間に発生するエッジをデブロックするための技法を提供する。ビデオエンコーダまたはビデオデコーダなど、ビデオコーディングデバイスは、そのようなブロック間のエッジに適用されるデブロッキング決定関数および／またはデブロッキングフィルタのためのピクセルサポートを適応させるように構成され得る。このようにして、８ピクセルよりも小さい次元をもつ、非正方形ＮＳＱＴ変換ブロック、ＳＤＩＰブロック、および／またはＡＭＰパーティションのエッジをデブロックするための、デブロッキング決定およびフィルタが適応され得る。たとえば、そのようなブロックのピクセルサポート領域は、他の近くのエッジをデブロックするために使用されるサポートをデブロッキング決定および／またはフィルタリングの計算中に含めることを回避するために、ならびに近くのエッジ間のフィルタ結果依存性を回避するために、決定関数、フィルタタイプ、およびフィルタ強度を修正することによって適応され得る。
【００２７】
[0037]狭い非正方形パーティションが、デブロックされるべきエッジの両側に存在するにせよ、一方の側のみに存在し、正方形パーティションが他方の側に存在するにせよ、デブロックされるべきエッジに対して直角な１つまたは複数のエッジを有するとき、デブロックされるべきエッジに対して標準ＨＭデブロッキングが採用され得る。上述のように、非正方形パーティションは、ＮＳＱＴ、ＡＭＰ、および／またはＳＤＩＰを用いて区分された２つのＰＵまたはＴＵ間にあり得る。ＨＭの現行バージョンによれば、特定のコーディングユニットのためのデブロッキングは、最初に垂直エッジをデブロックすることを進め、次いで水平エッジをデブロックすることを進める。垂直エッジをデブロックしている間、デブロッカーは、１つまたは複数の水平エッジをデブロックする際に後で使用される一部のサポートを変更し得るが、そうすることは、必ずしも水平デブロッキングと垂直デブロッキングとの間の競合状態を引き起こすことになるとは限らない。垂直エッジをデブロックしている間、デブロッカーは、１つまたは複数の水平エッジをデブロックする際に後で使用される一部のサポートを変更し得るが、そうすることは、必ずしも水平デブロッキングと垂直デブロッキングとの間の競合状態を引き起こすことになるとは限らない。
【００２８】
[0038]少なくとも１つの狭い非正方形パーティションまたは変換が、デブロッキングについて検討されるべきエッジに対して平行であるとき、近くのエッジのフィルタリング間の相互依存性を回避するために、ならびに近くのエッジをデブロッキング決定およびフィルタリング中に含めることを回避するために、デブロッキング決定およびフィルタが適応され得る。その上、少なくとも１つの狭い非正方形パーティションまたは変換が、デブロッキングについて検討されるべきエッジに対して平行である場合、現在のＨＭの（「デブロッキングオン／オフ決定」とも呼ばれる）デブロッキング決定が、デブロックされるべき現在のエッジに適用され得る。デブロッキングオン／オフ決定は、デブロッキング検討中のエッジに対して平行な８ピクセルセクションに沿った位置２および５についてエッジの両側の３つのサンプルに基づいて計算され得る。
【００２９】
[0039]本開示の技法は、概して、ブロックの一方または両方が非正方形であるかどうかに少なくとも部分的に基づいて、２つのビデオブロック、たとえば、２つのＣＵ、２つのＰＵ、または２つのＴＵ間のエッジをデブロックすべきかどうかを決定することを対象とする。たとえば、ビデオコーディングデバイスは、２つのＰＵのいずれかまたは両方が、非対称動きパーティション（たとえば、非対称ＰＵ）であるかどうか、ＳＤＩＰを使用してイントラ予測されたかどうか、あるいは２つのＴＵのいずれかまたは両方がＮＳＱＴブロックであるかどうかを決定し得る。いくつかの例では、サポートピクセルのセットが１つまたは複数のブロックエッジを横断するとき、デブロッキングは単にスキップされる。他の例では、デブロッキングを実行すべきかどうかの決定は、サポート領域がブロックエッジを横断しないように選択され得る代替サポート領域を使用して行われ得る。たとえば、ブロックエッジ間の（ピクセル単位の）距離は、適応されたサポート領域が、低減された数のピクセルにわたり、したがって追加のブロックエッジを横断しないように、適応されたサポート領域にマッピングされ得る。
【００３０】
[0040]いくつかの例では、本開示の技法は、共通エッジを共有するいずれかまたは両方のブロックが非正方形であるかどうかに加えて、ブロックのより長い（たとえば、より狭い）セクションがブロック間の共通エッジに対して平行であるかどうかを決定することを含む。概して、ブロックが、デブロッキング決定が行われている共通エッジに対して直角である場合、分析は、従来のデブロッキング決定から変更する必要がない。すなわち、サポートピクセルのラインは、これらの状況ではブロックに対して平行に伸びるので、サポートピクセルの標準セットは、ブロック間の追加のエッジを横断せず、したがって、共通エッジをデブロックすべきかどうかの正しい決定につながる。
【００３１】
[0041]いくつかの例では、ビデオコーディングデバイスは、たとえば、ブロックをコーディングするためのＡＭＰ、ＮＳＱＴ、またはＳＤＩＰの使用により、２つのブロックのうちの少なくとも１つが非正方形であるかどうかに基づいて、それらのブロック間の共通エッジをデブロックすべきかどうかを決定し得る。いくつかの例では、ビデオコーディングデバイスは、２つのブロックのうちの少なくとも１つが非正方形であるとき、それらのブロック間のエッジのデブロッキングをスキップするように構成され得る。他の例では、ビデオコーディングデバイスは、デブロッキング決定関数が複数のブロック境界を横断しないように、またはフィルタが適用されるピクセルが重複しないように、修正されたデブロッキング決定関数またはフィルタをエッジの近くのピクセルに適用するように構成され得る。
【００３２】
[0042]本開示は、複数の境界の横断と、フィルタが適用されるピクセルの重複とを回避し得る、修正されたデブロッキング決定関数およびデブロッキングフィルタを提供する。このようにして、これらの修正されたフィルタは、より正確なデブロッキング決定をもたらし得、また、デブロッキングプロセスを実行するときの並列性を可能にし得る。たとえば、デブロッキングプロセスは、並列に実行されている２つ以上のソフトウェアスレッドとして実行され、および／または並列に動作している２つ以上のハードウェアユニットによって実行され得る。
【００３３】
[0043]図１は、非正方形ブロック間のエッジをデブロックするための技法を利用し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示すように、システム１０は、通信チャネル１６を介して符号化ビデオを宛先デバイス１４に送信するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１４は、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４は、ワイヤレスハンドセット、いわゆるセルラー無線電話または衛星無線電話などのワイヤレス通信デバイスを備えるか、あるいは、通信チャネル１６を介してビデオ情報を通信することができ、その場合、通信チャネル１６がワイヤレスである、任意のワイヤレスデバイスを備え得る。
【００３４】
[0044]ただし、非正方形ブロック間のエッジをデブロックすることに関係する本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。たとえば、これらの技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、インターネットビデオ送信、記憶媒体上に符号化される符号化デジタルビデオ、または他のシナリオに適用され得る。したがって、通信チャネル１６は、符号化ビデオデータの送信または記憶に好適なワイヤレス、ワイヤード、または記憶媒体の任意の組合せを備え得る。
【００３５】
[0045]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、変調器／復調器（モデム）２２と、送信機２４とを含む。宛先デバイス１４は、受信機２６と、モデム２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。本開示によれば、ソースデバイス１２のビデオエンコーダ２０は、非正方形ブロック間のエッジをデブロックするための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは他の構成要素または構成を含み得る。たとえば、ソースデバイス１２は、外部カメラなど、外部ビデオソース１８からビデオデータを受信し得る。同様に、宛先デバイス１４は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
【００３６】
[0046]図１の図示のシステム１０は一例にすぎない。非正方形ブロック間のエッジをデブロックするための技法は、任意のデジタルビデオ符号化および／または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても実行され得る。その上、本開示の技法はまた、ビデオプリプロセッサによって実行され得る。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が宛先デバイス１４に送信するためのコード化ビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス１２、１４は、デバイス１２、１４の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオテレフォニーのための、ビデオデバイス１２とビデオデバイス１４との間の一方向または双方向のビデオ送信をサポートし得る。
【００３７】
[0047]ソースデバイス１２のビデオソース１８は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および／またはビデオコンテンツプロバイダからのビデオフィードを含み得る。さらなる代替として、ビデオソース１８は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、上述のように、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ２０によって符号化され得る。符号化ビデオ情報は、次いで、通信規格に従ってモデム２２によって変調され、送信機２４を介して宛先デバイス１４に送信され得る。モデム２２は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機２４は、増幅器、フィルタ、および１つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
【００３８】
[0048]宛先デバイス１４の受信機２６はチャネル１６を介して情報を受信し、モデム２８はその情報を復調する。この場合も、ビデオ符号化プロセスは、非正方形ブロック間のエッジをデブロックすることに対して本明細書で説明する技法のうちの１つまたは複数を実装し得る。チャネル１６を介して通信される情報は、マクロブロックおよび他のコード化ユニット、たとえば、ピクチャのグループ（ＧＯＰ：group of pictures）の特性および／または処理を記述するシンタックス要素を含む、ビデオデコーダ３０によっても使用される、ビデオエンコーダ２０によって定義されるシンタックス情報を含み得る。ディスプレイデバイス３２は、復号されたビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００３９】
[0049]図１の例では、通信チャネル１６は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル１６は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル１６は、概して、ワイヤード媒体またはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス１２から宛先デバイス１４に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル１６は、ソースデバイス１２から宛先デバイス１４への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。他の例では、ソースデバイス１２は、データを送信するのではなく、符号化データを記憶媒体に記憶し得る。同様に、宛先デバイス１４は、記憶媒体から符号化データを取り出すように構成され得る。
【００４０】
[0050]ビデオエンコーダ２０およびビデオデコーダ３０は、「Ｈ．２６５」とも呼ばれる次のＩＴＵ−Ｔ高効率ビデオコーディング（ＨＥＶＣ）規格など、ビデオ圧縮規格に従って動作し得る。ビデオエンコーダ２０およびビデオデコーダ３０は、高効率ビデオコーディングテストモデル（ＨＭ）に準拠し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。他の例は、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３、およびＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）を含む。図１には示されていないが、いくつかの  態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００４１】
[0051]ＨＥＶＣ規格は、Ｊｏｉｎｔ  ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）として知られる共同パートナーシップの成果として、ＩＳＯ／ＩＥＣ  Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）とともにＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）によって現在策定されている。ＨＭは、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣなどの前のコーディング規格によるデバイスに勝るビデオコーディングデバイスのいくつかの能力を仮定する。たとえば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＭは３４個ものイントラ予測符号化モードを提供する。
【００４２】
[0052]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、エンコーダまたはデコーダなどのビデオコーディングデバイスを含むワイヤレス通信デバイス、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合エンコーダ／デコーダ（コーデック）の一部としてそれぞれのカメラ、コンピュータ、モバイルデバイス、加入者デバイス、ブロードキャストデバイス、セットトップボックス、サーバなどに統合され得る。
【００４３】
[0053]ビデオシーケンスは、一般に一連のビデオフレームを含む。ピクチャのグループ（ＧＯＰ）は、概して、一連の１つまたは複数のビデオフレームを備える。ＧＯＰは、ＧＯＰ中に含まれるいくつかのフレームを記述するシンタックスデータを、ＧＯＰのヘッダ中、ＧＯＰの１つまたは複数のフレームのヘッダ中、または他の場所に含み得る。各フレームは、それぞれのフレームのための符号化モードを記述するフレームシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために、個々のビデオフレーム内の、ＣＵとも呼ばれるビデオブロックに対して動作する。ビデオブロックは、ＬＣＵまたはＬＣＵのパーティションに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。各ビデオフレームは複数のスライスを含み得る。各スライスは複数のＬＣＵを含み得、それらのＬＣＵは、サブＣＵとも呼ばれるパーティションに構成され得る。
【００４４】
[0054]一例として、ＩＴＵ−Ｔ  Ｈ．２６４規格は、ルーマ成分については１６×１６、８×８、または４×４、およびクロマ成分については８×８など、様々なブロックサイズのイントラ予測をサポートし、ならびにルーマ成分については１６×１６、１６×８、８×１６、８×８、８×４、４×８および４×４、およびクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。本開示では、「Ｎ×Ｎ（NxN）」と「Ｎ×Ｎ（N by N）」は、垂直寸法および水平寸法に関するブロックのピクセル寸法、たとえば、１６×１６（16x16）ピクセルまたは１６×１６（16 by 16）ピクセルを指すために互換的に使用され得る。概して、１６×１６ブロックは、垂直方向に１６ピクセルを有し（ｙ＝１６）、水平方向に１６ピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮピクセルを有し、水平方向にＮピクセルを有し、ただし、Ｎは非負整数値を表す。ブロック中のピクセルは行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックはＮ×Ｍピクセルを備え得、ただし、Ｍは必ずしもＮに等しいとは限らない。
【００４５】
[0055]ビデオブロックは、ピクセル領域中のピクセルデータのブロックを備え得、あるいは、たとえば、コード化ビデオブロックと予測ビデオブロックとの間のピクセル差分を表す残差ビデオブロックデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換の適用後の、変換領域中の変換係数のブロックを備え得る。場合によっては、ビデオブロックは、変換領域中の量子化変換係数のブロックを備え得る。
【００４６】
[0056]小さいビデオブロックほど、より良い解像度が得られ、高い詳細レベルを含むビデオフレームのロケーションのために使用され得る。概して、ブロック、およびサブブロックと呼ばれることがある様々なパーティションは、ビデオブロックと見なされ得る。さらに、スライスは、ブロックおよび／またはサブブロックなど、複数のビデオブロックであると見なされ得る。各スライスは、ビデオフレームの単独で復号可能なユニットであり得る。代替的に、フレーム自体が復号可能なユニットであり得るか、またはフレームの他の部分が復号可能なユニットとして定義され得る。「コード化ユニット」という用語は、フレーム全体またはフレームのスライス、シーケンスとも呼ばれるピクチャのグループ（ＧＯＰ）など、ビデオフレームの任意の単独で復号可能なユニット、または適用可能なコーディング技法に従って定義される別の単独で復号可能なユニットを指すことがある。
【００４７】
[0057]予測データと残差データとを生成するためのイントラ予測コーディングまたはインター予測コーディングの後に、および変換係数を生成するための（Ｈ．２６４／ＡＶＣにおいて使用される４×４または８×８整数変換、あるいは離散コサイン変換ＤＣＴなどの）任意の変換の後に、変換係数の量子化が実行され得る。量子化は、概して、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にｎビット値がｍビット値に切り捨てられ得、ただし、ｎはｍよりも大きい。
【００４８】
[0058]ＨＥＶＣでは、ビデオデータのブロックをコーディングユニット（ＣＵ）と呼び、ＣＵは、１つまたは複数の予測ユニット（ＰＵ）および／または１つまたは複数の変換ユニット（ＴＵ）を含み得る。ビットストリーム内のシンタックスデータが、ピクセルの数に関して最大のコーディングユニットである最大コーディングユニット（ＬＣＵ）を定義し得る。概して、ＣＵは、ＣＵがサイズの差異を有しないことを除いて、Ｈ．２６４のマクロブロックと同様の目的を有する。したがって、ＣＵはサブＣＵに分割され得る。概して、本開示におけるＣＵへの言及は、ピクチャの最大コーディングユニットまたはＬＣＵのサブＣＵを指すことがある。ＬＣＵはサブＣＵに分割され得、各サブＣＵはさらにサブＣＵに分割され得る。ビットストリームのシンタックスデータは、ＣＵ深度と呼ばれる、ＬＣＵが分割され得る最大回数を定義し得る。それに応じて、ビットストリームは最小コーディングユニット（ＳＣＵ：smallest coding unit）をも定義し得る。本開示ではまた、ＣＵ、ＰＵ、またはＴＵのいずれかを指すために「ブロック」という用語を使用する。
【００４９】
[0059]ＬＣＵは４分木データ構造に関連付けられ得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはＬＣＵに対応する。ＣＵが４つのサブＣＵに分割された場合、ＣＵに対応するノードは４つのリーフノードを含み、リーフノードの各々はサブＣＵのうちの１つに対応する。４分木データ構造の各ノードは、対応するＣＵのシンタックスデータを与え得る。たとえば、４分木のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵのシンタックス要素は、再帰的に定義され得、ＣＵがサブＣＵに分割されるかどうかに依存し得る。ＣＵがさらに分割されない場合、そのＣＵはリーフＣＵと呼ばれる。本開示では、元のリーフＣＵの明示的分割が存在しなくても、リーフＣＵの４つのサブＣＵをリーフＣＵとも呼ぶ。たとえば、１６×１６サイズのＣＵがさらに分割されない場合、この１６×１６ＣＵが決して分割されなくても、４つの８×８サブＣＵをリーフＣＵとも呼ぶ。
【００５０】
[0060]その上、リーフＣＵのＴＵもそれぞれの４分木データ構造に関連付けられ得る。すなわち、リーフＣＵは、リーフＣＵがどのようにＴＵに区分されるかを示す４分木を含み得る。本開示では、ＬＣＵがどのように区分されるかを示す４分木をＣＵ４分木と呼び、リーフＣＵがどのようにＴＵに区分されるかを示す４分木をＴＵ４分木と呼ぶ。ＴＵ４分木のルートノードは概してリーフＣＵに対応し、ＣＵ４分木のルートノードは概してＬＣＵに対応する。分割されないＴＵ４分木のＴＵはリーフＴＵと呼ばれる。
【００５１】
[0061]リーフＣＵは、１つまたは複数の予測ユニット（ＰＵ）を含み得る。概して、ＰＵは、対応するＣＵの全部または一部分を表し、そのＰＵの参照サンプルを取り出すためのデータを含み得る。たとえば、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵの動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（たとえば、１／４ピクセル精度もしくは１／８ピクセル精度）、動きベクトルが指す参照フレーム、および／または動きベクトルの参照リスト（たとえば、リスト０もしくはリスト１）を記述し得る。（１つまたは複数の）ＰＵを定義するリーフＣＵのデータはまた、たとえば、ＣＵを１つまたは複数のＰＵに区分することを記述し得る。区分モードは、ＣＵがコーディングされないか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかに応じて異なり得る。イントラコーディングの場合、ＰＵは、以下で説明するリーフ変換ユニットと同じように扱われ得る。
【００５２】
[0062]リーフＣＵは、１つまたは複数の変換ユニット（ＴＵ）を含み得る。変換ユニットは、上記で説明したように、ＴＵ４分木構造を使用して指定され得る。すなわち、分割フラグは、リーフＣＵが４つの変換ユニットに分割されるかどうかを示し得る。次いで、各変換ユニットはさらに４つのサブＴＵに分割され得る。ＴＵがさらに分割されないとき、そのＴＵはリーフＴＵと呼ばれることがある。概して、分割フラグは、リーフＴＵが正方形ＴＵに分割されることを示し得る。ＴＵが非正方形ＴＵに分割されることを示すために、他のシンタックスデータ、たとえば、ＮＳＱＴに従ってＴＵが区分されるべきであることを示すシンタックスデータが含まれ得る。
【００５３】
[0063]概して、イントラコーディングの場合、リーフＣＵに属するすべてのリーフＴＵは同じイントラ予測モードを共有する。すなわち、概して、リーフＣＵのすべてのＴＵの予測値を計算するために同じイントラ予測モードが適用される。イントラコーディングの場合、ビデオエンコーダは、イントラ予測モードを使用して各リーフＴＵの残差値を、ＴＵに対応する予測値の一部と元のブロックとの間の差として計算し得る。残差値は変換され、量子化され、走査され得る。インターコーディングの場合、ビデオエンコーダは、ＰＵレベルで予測を実行し、各ＰＵの残差を計算し得る。リーフＣＵに対応する残差値は変換され、量子化され、走査され得る。インターコーディングの場合、リーフＴＵはＰＵよりも大きくまたは小さくなり得る。イントラコーディングの場合、ＰＵは、対応するリーフＴＵとコロケートされ得る。いくつかの例では、リーフＴＵの最大サイズは、対応するリーフＣＵのサイズであり得る。
【００５４】
[0064]概して、本開示では、特に明記しない限り、リーフＣＵおよびリーフＴＵに言及するためにそれぞれＣＵおよびＴＵという用語を使用する。概して、本開示の技法は、ＣＵのデータを変換し、量子化し、走査し、エントロピー符号化することに関する。一例として、本開示の技法は、ブロックを予測するために使用されたイントラ予測モードに基づいてイントラ予測されたブロックの残差値を変換するために使用すべき変換を選択することを含む。本開示ではまた、イントラ予測モード方向に依存するそのような変換に言及するために「方向性変換（directional transform）」または「設計変換（designed transform）」という用語を使用する。すなわち、ビデオエンコーダは、変換ユニット（ＴＵ）に適用すべき方向性変換を選択し得る。上記のように、イントラ予測は、あるピクチャの現在のＣＵのＴＵを、同じピクチャの前にコーディングされたＣＵおよびＴＵから予測することを含む。より詳細には、ビデオエンコーダは、特定のイントラ予測モードを使用してあるピクチャの現在のＴＵをイントラ予測し得る。
【００５５】
[0065]量子化の後に、たとえば、コンテンツ適応型可変長コーディング（ＣＡＶＬＣ：content adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context adaptive binary arithmetic coding）、確率間隔区分エントロピーコーディング（ＰＩＰＥ：probability interval partitioning entropy）、または別のエントロピーコーディング方法に従って、量子化データのエントロピーコーディングが実行され得る。エントロピーコーディング用に構成された処理ユニット、または別の処理ユニットは、量子化係数のゼロランレングスコーディング、および／またはコード化ブロックパターン（ＣＢＰ：coded block pattern）値、マクロブロックタイプ、コーディングモード、（フレーム、スライス、マクロブロック、またはシーケンスなどの）コード化ユニットの最大マクロブロックサイズなどのシンタックス情報の生成など、他の処理機能を実行し得る。
【００５６】
[0066]デブロッキングは、概して、ビデオデータの逆量子化および逆変換に続いて実行され得る。ビデオエンコーダ２０は、たとえば、時間的に予測されるべき１つまたは複数の同じフレームにおいて、後続のブロックを予測するための参照として使用されるべき復号されたブロックを記憶するために、逆量子化および逆変換を実行するように構成され得る。本開示の技法によれば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、デブロッキング技法を実行するように構成され得る。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、データの第１のブロックとビデオデータの第２のブロックとを復号するように構成され得る。第１のブロックと第２のブロックの両方が共通エッジを共有し得る。ビデオエンコーダ２０の場合、ビデオエンコーダ２０は、エンコーダ２０が後で復号し得る第１のブロックと第２のブロックとを符号化し得る。ビデオエンコーダ２０またはビデオデコーダ３０は、第１のブロックと第２のブロックとのうちの少なくとも１つが非正方形であるかどうかに少なくとも部分的に基づいて、第１のブロックと第２のブロックとの間の共通エッジをデブロックすべきかどうかを決定し得る。
【００５７】
[0067]一例では、ビデオエンコーダ２０およびビデオデコーダ３０は、２つのブロックが非正方形であるかどうかに少なくとも部分的に基づいて、それらのブロック間のエッジをデブロックするためのデブロッキング決定関数および／またはデブロッキングフィルタを適応させるように構成され得る。別の例として、ビデオエンコーダ２０およびビデオデコーダ３０は、２つのブロックが、デブロッキング決定関数および／またはデブロッキングフィルタのためのサポートフィルタのセットの対応する長さよりも短い少なくとも１つの次元を有するかどうかに少なくとも部分的に基づいて、それらのブロック間のエッジをデブロックするためのデブロッキング決定関数および／またはデブロッキングフィルタを適応させるように構成され得る。
【００５８】
[0068]いくつかの例では、（一般にビデオコーディングデバイスと呼ばれることがある）ビデオエンコーダ２０およびビデオデコーダ３０は、８ピクセルよりも小さい少なくとも１つの次元を有するブロックのためのデブロッキング決定関数および／またはデブロッキングフィルタを適応させ得る。８ピクセルよりも小さい次元をもつ、非正方形４分木変換ブロック、ＳＤＩＰパーティション、またはＡＭＰパーティションのエッジをデブロックするためのデブロッキング決定およびフィルタは、それらのピクセルサポート領域を適応させるように修正され得る。たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、近くのエッジをデブロッキング決定またはフィルタリングの計算中に含めることを回避するために、および近くのエッジ間のフィルタ結果依存性を回避するために、デブロッキング決定関数、フィルタタイプ、および／またはフィルタ強度を修正するように構成され得る。
【００５９】
[0069]ビデオエンコーダ２０および／またはビデオデコーダ３０はまた、狭い非正方形パーティションが、デブロックされるべきエッジに対して直角であり、デブロックされるべきエッジの両側にあるか、または一方の側のみにあり、正方形パーティションが他方の側にあるとき、デブロッキングについて検討中のエッジに対して従来のＨＭデブロッキングを採用するように構成され得る。少なくとも１つの狭い非正方形パーティションまたは変換が、デブロックされるべきエッジに対して平行であるとき、ビデオエンコーダ２０および／またはビデオデコーダ３０は、近くのエッジのフィルタリング間の相互依存性を回避するために、ならびに近くのエッジをデブロッキング決定およびフィルタリング中に含めることを回避するために、デブロッキング決定関数および／またはデブロッキングフィルタを適応させ得る。
【００６０】
[0070]いくつかの例では、ビデオエンコーダ２０またはビデオデコーダ３０は、非対称動き区分を使用して第１のブロックが区分されることと、そのブロックがＣＵなど、親ブロックのパーティションであることとを示す、第１のブロックに関する情報を取得し得る。この例ではＡＭＰを使用して第１のブロックが区分されるので、第１のブロックは非正方形と見なされる。より詳細には、ビデオエンコーダ２０は、ＡＭＰを使用して親ブロックを区分することを決定し得、またはビデオデコーダ３０は、ＡＭＰを使用して親ブロックが区分されたことを示す情報をビデオエンコーダ２０などのビデオエンコーダから受信し得る。その情報は、第１のブロックを形成するために非対称動き区分を使用して親ブロックが区分されたことを示し得る。別の例では、ビデオエンコーダ２０およびビデオデコーダ３０は、親ブロックの第１のブロックが親ブロックの非正方形４分木変換ブロックを備えることを示す情報を取得するように構成され得る。ビデオエンコーダ２０またはビデオデコーダ３０は、第１のブロックが親ブロックの非正方形４分木変換ブロックを備えることを示す取得された情報に基づいて、第１のブロックが非正方形であると決定し得る。より詳細には、ビデオエンコーダ２０は、ＮＳＱＴを使用して親ブロックを区分することを決定し得、またはビデオデコーダ３０は、ＮＳＱＴを使用して親ブロックが区分されたことを示す情報をビデオエンコーダ２０などのビデオエンコーダから受信し得る。その情報は、第１のブロックを形成するために非正方形４分木変換を使用して親ブロックが区分されたことを示し得る。
【００６１】
[0071]一例では、ビデオエンコーダ２０およびビデオデコーダ３０は、親ブロックの第１のブロックが親ブロックの短距離イントラ予測ブロックを備えることを示す情報を取得するように構成され得る。ビデオエンコーダ２０またはビデオデコーダ３０は、第１のブロックが親ブロックの短距離イントラ予測ブロックを備えることを示す取得された情報に基づいて、第１のブロックが非正方形であると決定し得る。より詳細には、ビデオエンコーダ２０は、ＳＤＩＰを使用して親ブロックを区分することを決定し得、またはビデオデコーダ３０は、ＳＤＩＰを使用して親ブロックが区分されたことを示す情報をビデオエンコーダ２０などのビデオエンコーダから受信し得る。その情報は、第１のブロックを形成するために非正方形４分木変換を使用して親ブロックが区分されたことを示し得る。
【００６２】
[0072]本開示の技法のいくつかの例によれば、ビデオエンコーダ２０およびビデオデコーダ３０は、第１のブロックと第２のブロックとのうちの少なくとも１つが非正方形であるかどうかに基づいて、第１のブロックと第２のブロックとの間の共通エッジをデブロックすべきかどうかを決定し得る。いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、さらに、第１のブロックと第２のブロックとのうちの少なくとも１つが非正方形であると決定した後に、（１つまたは複数の）非正方形ブロックの狭い部分が共通エッジに対して直角であるかどうかを決定し得る。ビデオエンコーダ２０またはビデオデコーダ３０は、さらに、第１のブロックが非正方形であるとき、およびいくつかの例では、第１のブロックの狭い部分が共通エッジに対して直角でないとき、第１のブロックと第２のブロックとのピクセルに第１の適応されたデブロッキング決定関数を適用し得る。ビデオエンコーダ２０およびビデオデコーダ３０は、第２のブロックが非正方形であるとき、および、いくつかの例では、第２のブロックの狭い部分が共通エッジに対して直角でないとき、第１のブロックと第２のブロックとのピクセルに第２の適応されたデブロッキング決定関数を適用し得る。ビデオエンコーダ２０またはビデオデコーダ３０は、第１のブロックが非正方形であるとき、第１のブロックの狭い部分が共通エッジに対して直角でないとき、第２のブロックが非正方形であるとき、および第２のブロックの狭い部分が共通エッジに対して直角でないとき、第１のブロックと第２のブロックとのピクセルに第３の適応されたデブロッキング決定関数を適用し得る。ビデオエンコーダ２０およびビデオデコーダ３０は、さらに、第１のブロックが正方形であるかまたは第１のブロックの狭い部分が共通エッジに対して直角であるとき、および第２のブロックが正方形であるかまたは第２のブロックの狭い部分が共通エッジに対して直角であるとき、第１のブロックと第２のブロックとのピクセルに従来のデブロッキング決定関数を適用し得る。
【００６３】
[0073]共通エッジが８ピクセルの長さを有する、いくつかの例では、第１のブロックと第２のブロックとのピクセルに第３の適応されたデブロッキング決定関数を適用することは、共通エッジの端部から２ピクセルの第１のロケーションにおいて共通エッジに対して直角なピクセルの第１のセットに第３の適応されたデブロッキング決定関数を適用することを含む。さらに、ビデオエンコーダ２０またはビデオデコーダ３０は、共通エッジの端部から５ピクセルの第２のロケーションにおいて共通エッジに対して直角なピクセルの第２の異なるセットに第３の適応されたデブロッキング決定関数を適用し得る。
【００６４】
[0074]ビデオエンコーダ２０は、さらに、ブロックベースのシンタックスデータ、フレームベースのシンタックスデータ、およびＧＯＰベースのシンタックスデータなどのシンタックスデータを、たとえば、フレームヘッダ、ブロックヘッダ、スライスヘッダ、またはＧＯＰヘッダ中でビデオデコーダ３０に送り得る。ＧＯＰシンタックスデータは、それぞれのＧＯＰ中のいくつかのフレームを記述し得、フレームシンタックスデータは、対応するフレームを符号化するために使用される符号化／予測モードを示し得る。
【００６５】
[0075]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、適用可能なとき、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダまたはデコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ／デコーダ（コーデック）の一部として統合され得る。ビデオエンコーダ２０および／またはビデオデコーダ３０を含む装置は、集積回路、マイクロプロセッサ、および／またはセルラー電話などのワイヤレス通信デバイスを備え得る。
【００６６】
[0076]図２は、非正方形ブロック間のエッジをデブロックするための技法を実装し得るビデオエンコーダ２０の一例を示すブロック図である。ビデオエンコーダ２０は、ＣＵ、またはＣＵのサブＣＵを含む、ビデオフレーム内のブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレーム内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレーム内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースの圧縮モードのいずれかを指すことがあり、単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指すことがある。図２にはインターモード符号化のための構成要素が示されているが、ビデオエンコーダ２０はイントラモード符号化のための構成要素をさらに含み得ることを理解されたい。ただし、簡潔および明快のために、そのような構成要素は示されていない。
【００６７】
[0077]図２に示すように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在ビデオブロックを受信する。図２の例では、ビデオエンコーダ２０は、動き補償ユニット４４と、動き推定ユニット４２と、参照フレームストア６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピーコーディングユニット５６と、デブロッカー６６とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。
【００６８】
[0078]符号化プロセス中に、ビデオエンコーダ２０は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは複数のビデオブロックに分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を行うために、１つまたは複数の参照フレーム中の１つまたは複数のブロックに対して受信されたビデオブロックのインター予測コーディングを実行する。イントラ予測ユニットはまた、空間圧縮を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対して受信されたビデオブロックのイントラ予測コーディングを実行し得る。
【００６９】
[0079]モード選択ユニット４０は、たとえば、誤差結果に基づいてコーディングモード、すなわち、イントラまたはインターのうちの１つを選択し、残差ブロックデータを生成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器５０に与え、参照フレームとして使用するための符号化ブロックを再構成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器６２に与え得る。
【００７０】
[0080]動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在フレーム（または他のコード化ユニット）内でコーディングされている現在ブロックに対する予測参照フレーム（または他のコード化ユニット）内の予測ブロック（predictive block）の変位を示し得る。予測ブロックは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックである。動きベクトルはまた、マクロブロックのパーティションの変位を示し得る。動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することを伴い得る。この場合も、いくつかの例では、動き推定ユニット４２と動き補償ユニット４４とは機能的に統合され得る。
【００７１】
[0081]動き推定ユニット４２は、ビデオブロックを参照フレームストア６４中の参照フレームのビデオブロックと比較することによってインターコード化フレームのビデオブロックの動きベクトルを計算する。動き補償ユニット４４はまた、参照フレーム、たとえば、ＩフレームまたはＰフレームのサブ整数ピクセルを補間し得る。一例として、動きベクトルは、符号化されている現在フレームよりも前の表示順序を有する参照フレームを含むリスト０、および符号化されている現在フレームよりも後の表示順序を有する参照フレームを含むリスト１という、参照フレームの２つのリストから予測され得る。したがって、参照フレームストア６４に記憶されたデータは、これらのリストに従って編成され得る。
【００７２】
[0082]動き推定ユニット４２は、参照フレームストア６４からの１つまたは複数の参照フレームのブロックを現在フレーム、たとえば、ＰフレームまたはＢフレームの符号化されるべきブロックと比較する。参照フレームストア６４中の参照フレームがサブ整数ピクセルの値を含むとき、動き推定ユニット４２によって計算される動きベクトルは参照フレームのサブ整数ピクセルロケーションを指し得る。動き推定ユニット４２および／または動き補償ユニット４４はまた、サブ整数ピクセル位置の値が参照フレームストア６４に記憶されていない場合、参照フレームストア６４に記憶された参照フレームのサブ整数ピクセル位置の値を計算するように構成され得る。動き推定ユニット４２は、計算された動きベクトルをエントロピーコーディングユニット５６と動き補償ユニット４４とに送る。動きベクトルによって識別される参照フレームブロックは予測ブロックと呼ばれることがある。
【００７３】
[0083]動き補償ユニット４４は、予測ブロックに基づいて予測データを計算し得る。ビデオエンコーダ２０は、コーディングされている元のビデオブロックから、動き補償ユニット４４からの予測データを減算することによって残差ビデオブロックを形成する。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット５２は、概念的にＤＣＴと同様である、Ｈ．２６４規格によって定義される変換など、他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換処理ユニット５２は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換し得る。量子化ユニット５４は、ビットレートをさらに低減するために残差変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。
【００７４】
[0084]量子化の後に、エントロピーコーディングユニット５６は量子化変換係数をエントロピーコーディングする。たとえば、エントロピーコーディングユニット５６は、コンテンツ適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、確率間隔区分エントロピーコーディング（ＰＩＰＥ）、または別のエントロピーコーディング技法を実行し得る。エントロピーコーディングユニット５６によるエントロピーコーディングの後に、符号化ビデオは、別のデバイスに送信されるか、あるいは後の送信または取出しのためにアーカイブされ得る。コンテキスト適応型バイナリ算術コーディングの場合、コンテキストは隣接マクロブロックに基づき得る。
【００７５】
[0085]場合によっては、エントロピーコーディングユニット５６またはビデオエンコーダ２０の別のユニットは、エントロピーコーディングに加えて他のコーディング機能を実行するように構成され得る。たとえば、エントロピーコーディングユニット５６はマクロブロックおよびパーティションのＣＢＰ値を決定するように構成され得る。また、場合によっては、エントロピーコーディングユニット５６は、ＬＣＵまたはＬＣＵのサブＣＵ中の係数のランレングスコーディングを実行し得る。特に、エントロピーコーディングユニット５６は、ＬＣＵまたはパーティション中の変換係数を走査するためにジグザグ走査または他の走査パターンを適用し、さらなる圧縮のためにゼロのランを符号化し得る。エントロピーコーディングユニット５６はまた、符号化ビデオビットストリーム中での送信のために適切なシンタックス要素を用いてヘッダ情報を構成し得る。
【００７６】
[0086]逆量子化ユニット５８および逆変換ユニット６０は、それぞれ逆量子化および逆変換を適用して、たとえば、参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを参照フレームストア６４のフレームのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器６２は、再構成された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照フレームストア６４に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。
【００７７】
[0087]本開示の技法によれば、ビデオエンコーダ２０は、加算器６２の出力を選択的にフィルタリングするデブロッカー６６を含む。特に、デブロッカー６６は、加算器６２から、逆量子化され逆変換された残差データに加算された、動き補償ユニット４４またはイントラ予測ユニット４６のいずれかから受信された予測データに対応する再構成されたビデオデータを受信する。このようにして、デブロッカー６６は、ビデオデータの復号されたブロック、たとえば、ＬＣＵのＣＵ、スライスまたはフレームのＬＣＵ、ＣＵのＰＵ、および／またはＣＵのＴＵを受信する。概して、デブロッカー６６は、たとえば、ブロックのいずれかまたは両方が非正方形であるかどうかに基づいて、ビデオデータのブロックを選択的にフィルタリングする。デブロッカー６６は、２つのブロックが、非対称動きパーティションであるＰＵ、短距離イントラ予測パーティションであるＰＵ、ＣＵを非正方形領域に分割するＮＳＱＴ  ＴＵ、または他のそのような非正方形ブロックであるかどうかに基づいて、それらのブロック間のエッジをデブロックすべきかどうかを決定するように構成され得る。いくつかの例では、デブロッカー６６は、概して、デブロッキング決定および／またはデブロッキングフィルタのためのサポートが、デブロックされるべきエッジを形成する２つのブロックを越えて延びることになるかどうかを決定することと、そのサポートがそれらのブロックを越えて延びることになる場合、それに応じてデブロッキング決定関数および／またはデブロッキングフィルタのいずれかまたは両方を修正することとを行うように構成され得る。
【００７８】
[0088]デブロッカー６６は、概して、エッジをデブロックすべきかどうかを決定するために、２つのブロック間のエッジの近くの２つの隣接ブロック（たとえば、２つのＣＵ、ＰＵ、またはＴＵ）のピクセルを分析するように構成される。より詳細には、デブロッカー６６は、値の高周波変化が検出されたとき、エッジの近くのピクセルの値を改変し得る。デブロッカー６６はまた、本開示の技法のいずれかまたはすべてを実行するように構成され得る。たとえば、デブロッカー６６は、８ピクセルよりも小さい次元をもつ、非正方形ＮＳＱＴ変換ブロック、ＳＤＩＰパーティション、および／またはＡＭＰパーティションのエッジを対象とする、デブロッキングプロセスのためのデブロッキング決定関数および／またはデブロッキングフィルタのためのサポートを適応させるように構成され得る。
【００７９】
[0089]デブロッカー６６は、サポートのあらかじめ定義された適応されたセットを含むか、またはオンザフライでサポートの適応されたセットを計算し得る。デブロッカー６６は、それにより、近くのエッジをデブロッキング決定またはデブロッキングフィルタリングの計算中に含めることを回避し、近くのエッジ間のフィルタ結果依存性を回避し得る。デブロッカー６６はまた、デブロッキングについて検討中のエッジのいずれかまたは両方の側の狭いブロックがエッジに対して直角であるとき、サポート適応をスキップし得る。少なくとも１つの狭い非正方形パーティションまたは変換が、デブロックされるべきエッジに対して平行であるとき、デブロッカー６６は、近くのエッジのフィルタリング間の相互依存性を回避するために、ならびに近くのエッジをデブロッキング決定およびフィルタリング中に含めることを回避するために、デブロッキング決定関数および／またはデブロッキングフィルタを適応させ得る。
【００８０】
[0090]図３は、符号化ビデオシーケンスを復号するビデオデコーダ３０の一例を示すブロック図である。図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測ユニット７４と、逆量子化ユニット７６と、逆変換ユニット７８と、参照フレームストア８２と、加算器８０と、デブロッカー８４とを含む。ビデオデコーダ３０は、いくつかの例では、ビデオエンコーダ２０（図２）に関して説明した符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルに基づいて予測データを生成し得る。
【００８１】
[0091]動き補償ユニット７２は、ビットストリーム中で受信された動きベクトルを使用して、参照フレームストア８２中の参照フレーム中の予測ブロック（prediction block）を識別し得る。イントラ予測ユニット７４は、ビットストリーム中で受信されたイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成し得る。逆量子化ユニット７６は、ビットストリーム中で与えられ、エントロピー復号ユニット７０によって復号された量子化ブロック係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、たとえば、Ｈ．２６４復号規格によって定義された従来のプロセスを含み得る。逆量子化プロセスはまた、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、各マクロブロックについてエンコーダ５０によって計算される量子化パラメータＱＰYの使用を含み得る。
【００８２】
[0092]逆変換ユニット５８は、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用して、ピクセル領域において残差ブロックを生成する。動き補償ユニット７２は、動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行する。サブピクセル精度をもつ動き推定に使用されるべき補間フィルタの識別子は、シンタックス要素中に含まれ得る。動き補償ユニット７２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。動き補償ユニット７２は、受信されたシンタックス情報に従って、ビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【００８３】
[0093]動き補償ユニット７２は、シンタックス情報の一部を使用して、符号化ビデオシーケンスの（１つまたは複数の）フレームを符号化するために使用されるマクロブロックのサイズと、符号化ビデオシーケンスのフレームの各マクロブロックがどのように区分されるのかを記述するパーティション情報と、各パーティションがどのように符号化されるのかを示すモードと、各インター符号化マクロブロックまたはパーティションのための１つまたは複数の参照フレーム（および参照フレームリスト）と、符号化ビデオシーケンスを復号するための他の情報とを決定する。
【００８４】
[0094]加算器８０は、残差ブロックを、動き補償ユニット７２またはイントラ予測ユニットによって生成される対応する予測ブロックと加算して、復号ブロックを形成する。デブロッカー８４は、本開示の技法のいずれかまたはすべてによれば、加算器８０から受信した、ＣＵのＴＵおよびＰＵを含む、ＣＵを選択的にデブロックする。デブロッカー８４は、デブロッカー６６（図２）に関して説明した技法のいずれかまたはすべてを実行するように構成され得るので、デブロッカー８４はデブロッカー６６に実質的に準拠する。
【００８５】
[0095]図４は、例示的なデブロッカー９０の構成要素を示すブロック図である。概して、デブロッカー６６（図２）とデブロッカー８４（図３）のいずれかまたは両方は、デブロッカー９０の構成要素と実質的に同様の構成要素を含み得る。ビデオエンコーダ、ビデオデコーダ、ビデオエンコーダ／デコーダ（コーデック）など、他のビデオコーディングデバイスも、デブロッカー９０と実質的に同様の構成要素を含み得る。デブロッカー９０は、ハードウェア、ソフトウェア、またはファームウェアで実装され得る。ソフトウェアまたはファームウェアで実装されるとき、（１つまたは複数のプロセッサまたは処理ユニット、およびソフトウェアまたはファームウェアのための命令を記憶するためのメモリなどの）対応するハードウェアも与えられ得る。
【００８６】
[0096]図４の例では、デブロッカー９０は、デブロッキング決定ユニット９４と、サポート定義９２と、デブロッキングフィルタリングユニット９６と、デブロッキングフィルタ定義９８と、エッジ位置特定ユニット９３と、エッジロケーションデータ構造９５とを含む。デブロッカー９０の構成要素のいずれかまたはすべては機能的に統合され得る。デブロッカー９０の構成要素は、説明のために別々に示されているにすぎない。概して、デブロッカー９０は、たとえば、ブロックについて予測データを残差データと組み合わせる加算構成要素から、復号されたブロックのためのデータを受信する。データは、さらに、ブロックがどのように予測されたかについての指示を含み得る。以下で説明する例では、デブロッカー９０は、復号されたＬＣＵとＬＣＵのためのＣＵ４分木とを含むデータを受信するように構成され、ＣＵ４分木は、ＬＣＵがＣＵにどのように区分されるかを記述し、リーフノードＣＵのための予測モードを記述する。そのデータは、ＰＵおよびＴＵへのリーフノードＣＵの区分を示す情報をも含み得、その情報は、ＰＵが非対称動きパーティションであるかどうか、および／またはＴＵがＮＳＱＴパーティションであるかどうかをさらに示し得る。ＴＵ４分木は、ＴＵがＮＳＱＴパーティションであるかどうか、および／またはＴＵが非対称動きパーティションＰＵに対応するかどうかを示し得る。
【００８７】
[0097]デブロッカー９０は、デブロッカー９０のメモリ中に、または対応するビデオコーディングデバイスによって与えられる外部メモリ中にエッジロケーションデータ構造９５を維持し得る。いくつかの例では、エッジ位置特定ユニット９３は、ＬＣＵがＣＵにどのように区分されるかを示す、ＬＣＵに対応するＣＵ４分木を受信し得る。次いで、エッジ位置特定ユニット９３は、ＣＵ４分木を分析して、デブロッキングのための候補であるＬＣＵ中のＣＵ間のエッジを決定し得る。
【００８８】
[0098]エッジロケーションデータ構造９５は、水平次元と、垂直次元と、水平エッジおよび垂直エッジを表す次元とを有する配列を備え得る。概して、ＣＵ間のエッジは、ＬＣＵの２つの最小サイズＣＵ間に発生し得る。したがって、ＬＣＵがＮ×Ｎのサイズを有すると仮定し、ＬＣＵの最小サイズＣＵがサイズＭ×Ｍであると仮定すると、配列は、［Ｎ／Ｍ］×［Ｎ／Ｍ］×２のサイズを備え得、「２」は、ＣＵ間のエッジの２つの可能な方向（水平および垂直）を表す。たとえば、ＬＣＵが６４×６４ピクセルと８×８最小サイズＣＵとを有すると仮定すると、配列は、［８］×［８］×［２］エントリを備え得る。
【００８９】
[0099]エッジロケーションデータ構造９５の各エントリは、概して、２つのＣＵ間の可能なエッジに対応し得る。実際は、エッジロケーションデータ構造９５のエントリの各々に対応するＬＣＵ内の位置の各々にエッジが存在しないことがある。たとえば、ＬＣＵのすべてのＣＵが、必ずしも、８×８ピクセルであり得る最小サイズＣＵのサイズまで分割されるとは限らない。ただし、エッジロケーションデータ構造９５は、たとえば、ＬＣＵが完全に最小サイズＣＵに分割されるとき、すべての可能なエッジロケーションを表すのに十分な数のエントリを含み得る。エッジ位置特定ユニット９３は、ＬＣＵのための４分木データ構造を分析して、実際のエッジがＬＣＵのサブＣＵ間のどこに存在するかを決定し、エッジロケーションデータ構造９５のエントリに対応するＬＣＵにおけるロケーションが実際はＬＣＵの２つのサブブロック間のエッジであるかどうかを表す情報をエッジロケーションデータ構造９５に記憶し得る。
【００９０】
[0100]したがって、存在しないエッジに対応するデータ構造の値は偽に初期化され得る。概して、エッジ位置特定ユニット９３は、ＣＵ４分木を分析して、ＬＣＵの２つのＣＵ間のエッジのロケーションを決定し、エッジロケーションデータ構造９５中の対応する値を真に設定し得る。いくつかの例では、エッジ位置特定ユニット９３は、ＣＵ４分木のトラバーサル（traversal）を実行し得、トラバーサルは、並列ハードウェア、マルチスレッド技法、および／または並列性を活用するための別の機構を使用して、並列に実行され得る。
【００９１】
[0101]概して、エッジロケーションデータ構造９５のエントリは、対応するエッジがデブロッキングのための候補としてＬＣＵ中に存在するかどうかを記述し得る。すなわち、エッジ位置特定ユニット９３が、ＬＣＵの２つの隣接ＣＵ間のエッジが存在すると決定したとき、エッジ位置特定ユニット９３は、エッジが存在することを示すためにエッジロケーションデータ構造９５中の対応するエントリの値を（たとえば、「真」の値に）設定し得る。いくつかの例では、エッジがデブロッキングのための候補であるか否かの決定は、ハードウェア、マルチスレッディング、および／または並列性を活用するための別の技法を使用して、並列に実行され得る。マルチスレッディングを使用して、複数のスレッドが、垂直エッジがデブロッキングのための候補であるかどうかを決定するためにエッジロケーションデータ構造９５にアクセスし得る。エッジロケーションデータ構造９５が配列である例では、各スレッドは、配列中の１つまたは複数の行または列にアクセスし得る。すべての垂直エッジ候補が識別されると、同じプロセスが水平エッジ候補に対して繰り返され得、またはその逆も同様である。
【００９２】
[0102]いくつかの例では、２つのＣＵのうちの１つがＳＤＩＰを使用して予測されるとき、エッジ位置特定ユニット９３は、ＣＵのために使用されるＳＤＩＰパーティションのタイプを示す値を、エッジロケーションデータ構造９５の対応するロケーションに記憶し得る。このようにして、エッジロケーションデータ構造９５は、ＬＣＵ内の追加の可能なエッジを表すための追加のエントリを含む必要はない。代わりに、エッジロケーションデータ構造９５に記憶され得る値のタイプが、本開示の技法によれば、ブール値またはＳＤＩＰフラグのいずれかを記憶するように変更され得る。
【００９３】
[0103]デブロッキング決定ユニット９４は、概して、２つの隣接ブロック（たとえば、２つのＣＵ、ＰＵ、またはＴＵ）について、２つのブロック間のエッジがデブロックされるべきかどうかを決定する。デブロッキング決定ユニット９４は、エッジロケーションデータ構造９５を使用してエッジのロケーションを決定し得る。エッジロケーションデータ構造９５の値がブール値を有するとき、デブロッキング決定ユニット９４は、いくつかの例では、「真」の値はエッジの存在を示し、「偽」の値はエッジが存在しないことを示すと決定し得る。
【００９４】
[0104]概して、デブロッキング決定ユニット９４は、１つまたは複数のデブロッキング決定関数で構成される。デブロッキング決定関数は、その関数の結果に基づいて特定のエッジにデブロッキングを適用すべきか否かを決定し得る。関数は、２つのＣＵなどのブロック間のエッジを横断するピクセルのラインに適用される複数の係数を含み得る。たとえば、関数は、エッジに対して直角である８つのピクセルのラインに適用され得、ピクセルのうちの４つは、２つのブロックのうちの一方にあり、他の４つのピクセルは、２つのブロックのうちの他方にある。サポート関数の形状およびサイズに応じて、関数は、より多いまたはより少ないピクセルを使用するように適応され得る。サポート定義９２は関数のためのサポートを定義する。概して、「サポート」は、関数が適用されるピクセルに対応する。
【００９５】
[0105]デブロッキング決定ユニット９４は、サポート定義９２によって定義されたサポートの１つまたは複数のセットに１つまたは複数のデブロッキング決定関数を適用することと、ビデオデータの２つのブロック間の特定のエッジがデブロックされるべきかどうかを決定することとを行うように構成され得る。しかしながら、いくつかの例では、デブロッキング決定ユニット９４は、特定のエッジへのデブロッキング決定関数の適用をスキップすること、あるいは特定のエッジのためのデブロッキング決定関数および／またはデブロッキングフィルタを適応させることを行うように構成される。デブロッキング決定ユニット９４は、ブロックが非正方形であるとき、および／またはブロックが８ピクセルよりも小さい次元を有するとき、デブロッキング決定関数の適用をスキップするかまたはデブロッキング決定関数を適応させるように構成され得る。このようにして、デブロッカー９０（同様に、デブロッカー９０を含む対応するビデオコーディングデバイス）は、２つのブロックのうちの少なくとも１つが非正方形、たとえば、ＡＭＰ  ＰＵ、ＳＤＩＰ  ＰＵ、またはＮＳＱＴ  ＴＵであるかどうかに少なくとも部分的に基づいて、２つのブロック間のエッジをデブロックすべきかどうかを決定するように構成され得る。
【００９６】
[0106]他の例では、デブロッカー９０は、他の技法を使用して、２つのブロックのうちの少なくとも１つが非正方形であるかどうかに少なくとも部分的に基づいて、２つのブロック間のエッジをデブロックすべきかどうかを決定するように構成され得る。たとえば、デブロッカー９０は、８ピクセルよりも小さい次元をもつ、またはスライス、フレーム、ＧＯＰ、もしくは複数のＬＣＵを含む他のユニットに対応する情報中で示される最小ＣＵサイズよりも小さい次元をもつ、非正方形ＮＳＱＴ変換ブロック、ＳＤＩＰ  ＰＵ、および／またはＡＭＰパーティションのエッジをデブロックするための、デブロッキング決定関数および／またはデブロッキングフィルタを適応させるように構成され得る。デブロッカー９０は、近くのエッジをデブロッキング決定またはフィルタリングの計算中に含めることを回避するために、および近くのエッジ間のフィルタ結果依存性を回避するために、決定関数、フィルタタイプ、および／またはフィルタ強度を修正するように構成され得る。
【００９７】
[0107]狭い非正方形パーティションが、デブロックされるべきエッジに対して直角であり、デブロックされるべきエッジの両側にあるか、または一方の側のみにあり、正方形パーティションが他方の側にあるとき、デブロックされるべきエッジに対して標準ＨＭデブロッキングが採用され得る。いくつかの例では、特定のコーディングユニットのためのデブロッキングは、最初に垂直エッジをデブロックすることを進め、次いで水平エッジをデブロックすることを進め得るが、水平エッジ、それに続いて垂直エッジをデブロックすることも可能である。一般性の損失なしに、本開示では、垂直エッジ、それに続く水平エッジのデブロッキングについて説明する。垂直エッジをデブロックしている間、デブロッカー９０は、１つまたは複数の水平エッジをデブロックする際に後で使用される一部のサポートを変更し得るが、そうすることは、必ずしも水平デブロッキングと垂直デブロッキングとの間の競合状態を引き起こすことになるとは限らない。少なくとも１つの狭い非正方形パーティションまたは変換が、デブロックされるべきエッジに対して平行であるとき、デブロッカー９０は、近くのエッジのフィルタリング間の相互依存性を回避するために、ならびに近くのエッジをデブロッキング決定およびフィルタリング中に含めることを回避するために、デブロッキング決定関数および／またはデブロッキングフィルタを適応させ得る。以下でさらに詳細に説明する図５は、現在エッジに対して平行である狭いブロックと現在エッジに対して直角である狭いブロックとの様々な例を与える。
【００９８】
[0108]デブロッキング決定ユニット９４から発生する破線は、フィルタリングされることなしに出力されるブロックのためのデータを表す。デブロッキング決定ユニット９４が、２つのブロック間のエッジがフィルタリングされるべきでないと決定した場合、デブロッカー９０は、データを改変することなしに、ブロックのためのデータを出力し得る。すなわち、そのデータはデブロッキングフィルタリングユニット９６をバイパスし得る。一例として、デブロッカー９０は、２つのブロックがデブロッキング関数のためのおよび／またはデブロッキング関数のためのサポートの重複セットを有する場合、それらのブロックがフィルタリングされるべきでないと決定し得る。一方、デブロッキング決定ユニット９４が、エッジがデブロックされるべきであると決定したとき、デブロッキング決定ユニット９４は、エッジをデブロックするために、デブロッキングフィルタリングユニット９６にエッジの近くのピクセルの値をフィルタリングさせ得る。
【００９９】
[0109]デブロッキングフィルタリングユニット９６は、デブロッキング決定ユニット９４によって示されたデブロックされるべきエッジのために、デブロッキングフィルタ定義９８からデブロッキングフィルタの定義を取り出す。非正方形ブロック間のエッジでは、デブロッキングフィルタリングユニット９６は、フィルタが追加の境界を横断しないように、デブロッキングフィルタ定義９８から適応されたデブロッキングフィルタを取り出し得る。概して、エッジのフィルタリングは、デブロックされるべき現在エッジの近傍からのピクセルの値を使用する。したがって、デブロッキング決定関数とデブロッキングフィルタの両方は、エッジの両側に、あるサポート領域を有し得る。エッジの近傍にあるピクセルにデブロッキングフィルタを適用することによって、デブロッキングフィルタリングユニット９６は、エッジの近くの高周波遷移が減衰するように、ピクセルの値を平滑化し得る。このようにして、エッジの近くのピクセルへのデブロッキングフィルタの適用は、エッジの近くのブロッキネスアーティファクトを低減し得る。
【０１００】
[0110]一例では、図１〜図３のビデオエンコーダ２０またはビデオデコーダ３０など、ビデオ復号デバイスが、デブロッカー９０の例に実質的に準拠するデブロッキングユニットを含み得る。ビデオエンコーダ２０またはビデオデコーダ３０は、適応された決定関数が、２つのブロック間の共通エッジがデブロックされるべきであることを示すとき、デブロッキング関数を適用するように構成され得る。デブロッキング関数は、
【数１】
0005869121.tif 000002
【０１０１】
を備え得る。
【０１０２】
この例では、デルタ（Δ）は、ピクセル値、たとえば、ｐ０およびｑ０を修正するために使用される値を指す。すなわち、この例では、ｐ０’およびｑ０’は、それぞれ、計算されたデルタ値をｐ０に加算することによって、および計算されたデルタ値をｑ０から減算することによって、計算される。その上、この例では、デルタ値は、ｐ０、ｑ０、ｐ１、およびｑ１の値に基づいて計算される。ｐ０、ｑ０、ｐ１、およびｑ１の例示的な位置については、図７に関して以下で説明する。
【０１０３】
[0111]別の例として、デブロッキング関数は、
【数２】
0005869121.tif 000003
【０１０４】
を備え得る。
【０１０５】
この例では、デルタ（Δ）は、同じく、ピクセル値を修正するために使用される値を指す。ただし、この例では、計算されたデルタ値は、エッジの近くの４つのピクセル値、たとえば、ｐ０、ｑ０、ｐ１、およびｑ１を修正するために使用される。より詳細には、この例では、ｐ０’およびｑ０’は、それぞれ、計算されたデルタ値をｐ０に加算することによって、および計算されたデルタ値をｑ０から減算することによって、計算される。さらに、ｐ１’およびｑ１’は、それぞれ、計算されたデルタ値の１／２をｐ１に加算することによって、および計算されたデルタ値の１／２をｑ１から減算することによって、計算される。
【０１０６】
[0112]上記の例では、デルタは、エッジの両側の２つのピクセルのみ、すなわち、ｐ０、ｐ１、ｑ０、およびｑ１を使用して計算される。したがって、４ピクセル離れている２つのエッジがある場合、各エッジのためのデルタ値は重複なしに計算され得る。したがって、エッジの両側のピクセル値は、そのピクセル値の操作が、隣接する近くのエッジに適用されているフィルタリングの結果に影響を及ぼし得るという心配なしに、安全に操作され得る。このようにして、本開示の技法のこれらの例は、ビデオコーディングのための非正方形ブロックのデブロッキングフィルタリングの並列処理を改善し得る。
【０１０７】
[0113]図５Ａ〜図５Ｃは、２つのＰＵ、ＴＵ、またはＣＵ間など、２つのブロック間のエッジに対する様々なブロック配向を示す概念図である。並列ブロックの例が示されているが、同様のデブロッキング技法が、上下の隣接ブロックに関して適用され得ることを理解されたい。図５Ａは、エッジ１５１を有するブロック１５０、１５２を示している。この例では、ブロック１５０および１５２は両方とも正方形である。したがって、エッジ１５１は、標準的にデブロックするために（すなわち、非正方形であることによるさらなる考慮または適応なしに）処理され得る。標準的デブロッキングは、概して、ＨＥＶＣの現在のドラフトにおいて定義されている標準デブロッキングフィルタに対応し得る。
【０１０８】
[0114]図５Ｂは、エッジ１５５を有するブロック１５４、１５６を示している。この例では、ブロック１５４は、２つの非正方形パーティション１７０、１７２を含む。たとえば、パーティション１７０、１７２は、適応型動きパーティション（adaptive motion partition）ＰＵ（またはそれに対応するＴＵ）、２つのＮＳＱＴ  ＴＵ、または４分木変換分割における他の非正方形変換を備え得る。ブロック１５６は非正方形パーティション１７０、１７２を含むが、非正方形パーティション１７０、１７２は、この例では、エッジ１５５に対して直角である。すなわち、パーティション１７０、１７２の狭い部分がエッジ１５５に対して直角に延びる。したがって、（概してエッジ１５５に対して直角である）サポートのラインは、ブロック１５６のパーティション１７０とパーティション１７２との間のエッジに対して平行になる。したがって、エッジ１５５は、同様に標準的にデブロックするために処理され得る。ＰＵ、ＴＵ、またはＣＵであり得るパーティション１７０、１７２は、本開示では「ブロック」とも見なされることを理解されたい。特に、パーティション１７０、１７２は、非正方形ブロックの例である。
【０１０９】
[0115]図５Ｃは、エッジ１５９を有するブロック１５８および１６０を示している。この例では、ブロック１６０は、２つの非正方形パーティション１７４、１７６を含む。この場合、ブロック１６０のパーティション１７４、１７６の幅によっては、サポートの領域は、パーティション１７４とパーティション１７６との間の境界を横断し得る。したがって、デブロッキングのためのエッジ１５９の処理は、適応されたデブロッキング決定関数、サポート、および／またはデブロッキングフィルタを利用することを含み得る。適応は、デブロッキングのためにエッジ１５９を処理するときにパーティション１７４とパーティション１７６との間の境界を横断することを回避するために実行され得る。ＰＵ、ＴＵ、またはＣＵのパーティションであり得るパーティション１７４、１７６は、本開示では「ブロック」とも見なされることを理解されたい。特に、パーティション１７４、１７６は、非正方形ブロックの例である。
【０１１０】
[0116]図６は、本開示の技法による例示的な方法を示すフローチャートである。図６の技法についてデブロッカー９０（図４）によって実行されるものとして説明するが、これらの技法は、任意のビデオコーディングデバイス、たとえば、ビデオエンコーダ２０、ビデオデコーダ３０、ビデオエンコーダ／デコーダ（コーデック）、ビデオデータを符号化または復号するようにとの命令を実行するプロセッサ、あるいは他のそのようなデバイスによって実行され得ることを理解されたい。さらに、図６のステップは、必ずしも示される順序で実行されるとは限らず、いくつかの例では、他のシーケンスでまたは並列に実行され得る。
【０１１１】
[0117]初めに、デブロッカー９０は、第１のブロックのサイズを決定する（２００）。一例として、デブロッカー９０は、ＬＣＵ４分木構造を分析することによって、あるいはＣＵのＰＵまたはＴＵに関連するパーティション情報を含むＣＵのデータを見ることによって、第１のブロックのサイズを決定し得る。デブロッカー９０はまた、第１のブロックに隣接する第２のブロックのサイズを決定する（２０２）。デブロッカー９０は、第１のブロックのためのサイズを決定することと同様の方法で第２のブロックのサイズを決定し得る。第２のブロックが第１のブロックに隣接するので、第１のブロックと第２のブロックとは共通エッジを共有する。したがって、デブロッカー９０は、第１のブロックと第２のブロックとの間の共通エッジの存在を示すためにエッジロケーションデータ構造９５を構成し得る。デブロッカー９０を含む、ビデオエンコーダまたはビデオデコーダなどのビデオコーディングデバイスが、第１のブロックと第２のブロックとを復号する（２０４）。ビデオエンコーダとビデオデコーダの両方がブロックを復号するように構成され得、その場合、ビデオエンコーダは、後続のビデオデータを符号化するときに使用される参照データを生成する目的でブロックを復号し得る。
【０１１２】
[0118]ブロックの復号に続いて、デブロッカー９０は、第１のブロックと第２のブロックとの間の共通エッジをデブロックすべきかどうかを決定し得る。本開示の技法によれば、デブロッカー９０のデブロッキング決定ユニット９４が、第１のブロックと第２のブロックとのための決定されたサイズに基づいて、第１のブロックと第２のブロックとの間の共通エッジをデブロックすべきかどうかを決定する（２０６）。いくつかの例では、図１および図３のビデオエンコーダ２０など、ビデオエンコーダが、第１のブロックと第２のブロックとを復号するより前に、第１のブロックと第２のブロックとを符号化することもある。
【０１１３】
[0119]別の例では、デブロッカー９０は、たとえば、親ブロックの非対称動きパーティション、ＳＤＩＰパーティション、または非正方形変換パーティションとして、第１のブロックおよび／または第２のブロックが非正方形であることを示す情報を受信することもある。デブロッカー９０は、受信された情報に基づいて、第１のブロックおよび／または第２のブロックが非正方形であると決定し得る。デブロッカー９０は、第１のブロックと第２のブロックとのうちの少なくとも１つが非正方形であるかどうかに基づいて、第１のブロックと第２のブロックとの間の共通エッジをデブロックすべきかどうかをさらに決定し得る。いくつかの例では、デブロッカー９０は、第１のブロックと第２のブロックとを備える符号化ビットストリームのためのシンタックス情報としてビデオデコーダによって上記情報を取得し得る。
【０１１４】
[0120]デブロッカー９０は、さらに、第１のブロックと第２のブロックとの間のエッジをデブロックすべきか否かを決定するために１つまたは複数のデブロッキング決定関数を利用し得る。デブロッキング決定関数は、エッジの近くの１つまたは複数の高周波遷移の存在に基づいて、エッジをデブロックすべきか否かを決定し得る。一例では、デブロッカー９０は、たとえば、非対称動き区分、短距離イントラ予測、対称動き区分から生じる非正方形変換、または非正方形変換を生じ得る他の４分木変換分割の結果として、第１のブロックと第２のブロックとのいずれかまたは両方が非正方形であるかどうかに基づいて、共通エッジをデブロックすべきかどうかを決定するように構成され得る。
【０１１５】
[0121]いくつかの例では、デブロッキング決定ユニット９４は、第１のブロックと第２のブロックとのいずれかまたは両方が非正方形であるとき、デブロッキング決定関数を適応させるように構成され得る。デブロッキング決定ユニット９４は、オンザフライでデブロッキング決定関数および／またはサポートを修正することによって、あるいは前に適応されたデブロッキング決定関数を選択することによって、デブロッキング決定関数を適応させ得る。いくつかの例では、デブロッキング決定ユニット９４は、非正方形ブロックの狭い部分が第１のブロックと第２のブロックとの間の共通エッジに対して平行である（また、したがって直角でない）とき、デブロッキング決定関数を適応させるように構成され得る。
【０１１６】
[0122]さらに、デブロッキングフィルタリングユニット９６は、エッジをデブロックするための決定が行われるとき、エッジに適応されたデブロッキングフィルタを適用するように構成され得る。たとえば、デブロッキングフィルタリングユニット９６は、適応されたデブロッキングフィルタを選択するか、またはオンザフライでデブロッキングフィルタを適応させ得る。適応されたデブロッキングフィルタは、適応されたフィルタタイプおよび／またはフィルタ強度に対応し得る。概して、適応されたデブロッキングフィルタは、適応されたデブロッキング決定関数の場合と同様に、近くのエッジをデブロッキング決定（またはフィルタリング）の計算中に含めることを回避し、近くのエッジ間のフィルタ結果依存性を回避し得る。このようにして、デブロッカー９０は、上記決定に基づいてブロックをフィルタリングする（２０８）。デブロッカー９０は、次いで、たとえば、その後コーディングされるビデオブロックのための参照として使用するために、復号され、潜在的にエッジがデブロックされた、ブロックを記憶する（２１０）。すなわち、その後コーディングされるブロックは、ビデオエンコーダまたはデコーダがインター予測またはイントラ予測を実行しているとき、潜在的にフィルタリングされた参照ブロックからのデータに依拠し得る。デブロッカー９０がビデオデコーダ中に含まれるとき、ビデオデコーダは、次いで、復号されたブロックを、たとえば、ディスプレイデバイス３２（図１）などのディスプレイデバイスに出力し得る。
【０１１７】
[0123]このようにして、図６は、ビデオデータをコーディングするための方法であって、上記方法が、ビデオデータの第１のブロックとビデオデータの第２のブロックとを復号することと、第１のブロックと第２のブロックとは共通エッジを共有し、第１のブロックと第２のブロックとのうちの少なくとも１つが非正方形であるかどうかに少なくとも部分的に基づいて、第１のブロックと第２のブロックとの間の共通エッジをデブロックすべきかどうかを決定することと、を含む、方法の一例を表す。
【０１１８】
[0124]図７は、ブロック２３０とブロック２３２との間のエッジ２３４の近くの２つの例示的なブロック２３０、２３２のピクセル位置を示す概念図である。エッジ２３４は、この例では８ピクセルの長さを有する。ピクセル位置の各々は、フォーマット［ｐ｜ｑ］ＩJを使用して指定され、ｐはブロック２３０に対応し、ｑはブロック２３２に対応し、Ｉは、エッジ２３４からの距離に対応し、Ｊは、ブロック２３０および２３２の上から下への行インジケータに対応する。いくつかの例では、デブロッキング決定関数およびデブロッキングフィルタのために使用されるサポートは、８つのピクセルのラインを有する。そのような例では、０≦Ｘ≦７である所与のラインＸのために、ピクセルｐ３X〜ｑ３Xの各々がサポートとして使用され得る。したがって、これらの例では、ブロック２３０またはブロック２３２のいずれかがＳＤＩＰを使用して予測され、また、ＳＤＩＰモードが、４より小さいパーティション幅をもつパーティションに垂直である場合、８ピクセルサポートはＳＤＩＰ  ＰＵ境界を横断するであろう。他の例では、ブロック２３０、２３２は、別の狭い非正方形パーティションを使用して予測されるか、または狭い非正方形変換を使用して変換され得る。
【０１１９】
[0125]ＳＤＩＰを使用して予測されるＣＵのＰＵのためのデータは、隣接ＣＵまたは隣接ＳＤＩＰパーティションからのピクセルの値から予測され得る。ＳＤＩＰ  ＰＵは、長方形など、非正方形領域であり得る。パーティションは垂直または水平であり得、すなわち、ＣＵ内のパーティションを画定するエッジは、垂直方向にまたは水平方向に配向され得る。したがって、標準ＨＭデブロッキングフィルタを使用することは、垂直ＳＤＩＰパーティションが、４ピクセルよりも小さい幅を有し、垂直エッジに隣接して位置する場合、そのＳＤＩＰパーティションのＰＵ境界を横断するであろう。しかしながら、ＳＤＩＰパーティションが、垂直エッジに対して直角なエッジを有する場合、通常のＨＭデブロッキングフィルタが使用され得る。
【０１２０】
[0126]ブロック２３０および２３２は正方形ブロックとして示されている。ブロック２３０および２３２は、コーディングユニット（ＣＵ）を表し得、ＳＤＩＰまたはＡＭＰに従って区分され得、その結果、ＰＵ境界が、ブロック２３０および／または２３２内に、たとえば、ピクセルｐ２ｘとピクセルｐ１ｘとの間におよび／またはピクセルｑ１ｘとピクセルｑ２ｘとの間に存在することを理解されたい。代替または追加として、ブロック２３０および／または２３２はＮＳＱＴに従って区分され得、その結果、ＴＵ境界が、ブロック２３０および／または２３２内に、たとえば、ピクセルｐ２ｘとピクセルｐ１ｘとの間におよび／またはピクセルｑ１ｘとピクセルｑ２ｘとの間に存在する。
【０１２１】
[0127]いくつかの例では、この例においてデブロッキングについて検討中のエッジである、エッジ２３４に対して平行である少なくとも１つの狭い非正方形パーティションまたは変換があり得る。すなわち、ビデオエンコーダ２０および／またはビデオデコーダ３０は、エッジ２３４をデブロックすべきかどうかを決定するように構成され得、これは、決定関数が、狭い非正方形パーティションまたは変換間の境界を横断することになるかどうかに少なくとも部分的に基づき得る。エッジ２３４に対して平行な少なくとも１つの狭い非正方形パーティションまたは変換があるとき、ビデオエンコーダ２０および／またはビデオデコーダ３０は、近くのエッジのフィルタリング間の相互依存性を回避するために、ならびに近くのエッジをデブロッキング決定およびフィルタリング中に含めることを回避するために、デブロッキング決定およびフィルタを適応させるように構成され得る。
【０１２２】
[0128]その上、そのような場合、エッジ２３４をデブロックすべきかどうかを決定するために、従来のＨＭからのデブロッキングオン／オフ決定関数がエッジ２３４（より詳細には、エッジ２３４の近くのブロック２３０、２３２のピクセル）に適用され得る。たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、長さ８サンプルのエッジ２３４に沿ったロケーション２および５について、エッジ２３４の両側の３つのサンプルにデブロッキング決定関数を適用するように構成され得る。たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、最初にピクセルｐ２2、ｐ１2、ｐ０２2、ｑ０2、ｑ１2、およびｑ２2に、次いでピクセルｐ２5、ｐ１5、ｐ０２5、ｑ０5、ｑ１5、およびｑ２5にデブロッキング決定関数を適用し得る。このようにして、ビデオエンコーダ２０および／またはビデオデコーダ３０は、共通エッジ２３４の端部から２ピクセルである第１のロケーションにおいて共通エッジ２３４に対して直角なピクセルの第１のセットに、および共通エッジ２３４の同じ端部から５ピクセルである第２のロケーションにおいて同じく共通エッジ２３４に対して直角なピクセルの第２のセットにデブロッキング決定関数を適用し得る。それらのサンプルは、再構成されたタイプのまたは事前デブロッキングフィルタリングのサンプルであり得る。
【０１２３】
[0129]デブロッキング決定が現在エッジ２３４について「オン」である（たとえば、場合によっては、アグリゲーション、平均化、または最終結果を生成するための他の演算とともに、デブロッキング決定関数が、またはピクセルの１つまたは複数のセットにデブロッキング決定関数を適用したことの結果が、エッジ２３４がデブロックされるべきであることを示す）場合、以下のデブロッキングフィルタが適用され得、そのデブロッキングフィルタは、ＪＣＴＶＣ−Ｆ１１８からＨＥＶＣに採用される弱いルーマフィルタと概念的に同様である要素を含む。
【数３】
0005869121.tif 000004
【０１２４】
[0130]このフィルタは、現在エッジ２３４の両側の１つのサンプルを修正する。フィルタは、エッジの両側の２つのサンプルに基づいて計算され（Δ）、それらサンプルの両方がエッジから２ピクセル以内にある。このようにして、少なくとも、パーティション中に少なくとも４つのピクセルがある場合、近くのエッジのフィルタリング間の依存性が回避され得、並列フィルタリング性質が維持され得る。デブロッカー９０は、ＣＵ２３０またはＣＵ２３２の別の異なる垂直エッジ上で動作している別のフィルタと並列に標準ＨＭデブロッキングフィルタを利用することが可能でないことがある。デブロッカー９０は、少なくとも４ピクセル離れたエッジに関して上記で説明した弱いフィルタを適用することが可能であり得る。少なくとも４ピクセル離れたエッジをデブロックすることによって、デブロッカーは、競合状態または相互依存性なしに、第１のエッジの一方の側の２つのピクセルと第２のエッジの反対側の２つのピクセルとを検査および／または修正し得る。
【０１２５】
[0131]この例では、Δを計算するためにエッジ２３４の両側の２つのピクセルが読み取られ、Δは、エッジに最も近いピクセル、すなわち、ｐ０ｊおよびｑ０ｊの値をそれだけオフセットすべき値を表す。値ｐ０ｊ’およびｑ０ｊ’は、Δを追加した後の、ｐ０ｊおよびｑ０ｊの調整された値を表す。
【０１２６】
[0132]代替的に、エッジの両側の２つのサンプルを修正する、以下のフィルタが適用され得る。
【数４】
0005869121.tif 000005
【０１２７】
[0133]この例では、Δを計算するためにエッジ２３４の両側の２つのピクセルが読み取られ、Δは、この場合も、エッジ２３４に最も近いピクセルの値をそれだけオフセットすべき値を表す。エッジ２３４から１ピクセル離れたピクセル、すなわち、ピクセルｐ１ｊおよびｑ１ｊの値をオフセットするために、Δの１／２が使用される。
【０１２８】
[0134]ＪＣＴＶＣ−Ｆ１１８からのＪＣＴＶＣ−Ｆ８０３に記載されているように、エッジの両側の１つのサンプルを修正するかまたは２つのサンプルを修正するかのいずれかに決定するために、追加のデブロッキング決定が計算され得る。
【０１２９】
[0135]上記で説明したフィルタは、本開示による修正されたデブロッキングフィルタの２つの例である。複数のＰＵまたはＴＵ境界を横断することを回避するために、デブロッキング決定関数に同様の修正が適用され得る。
【０１３０】
[0136]図８は、適応型デブロッキング決定関数およびデブロッキングフィルタが使用され得る事例の様々な例を示す概念図である。特に、図８は、ペア２５０の各々において「Ｐ」および「Ｑ」と標示された２つの隣接ブロックを含むブロックペア２５０Ａ〜２５０Ｉ（ブロックペア２５０）を示している。ペア２５０の各々において、ブロック「Ｐ」は概してブロック２３０（図７）に対応し得、ブロック「Ｑ」は概してブロック２３２（図７）に対応し得る。したがって、ペア２５０の各々は、ブロックＰとブロックＱとを分離する境界線２５２Ａ〜２５２Ｉ（境界線２５２）の各々を含む。
【０１３１】
[0137]上記で説明したように、図８の例について非対称動き区分（ＡＭＰ）技法に関して説明する。ペア２５０の各々におけるブロックＰおよびＱは、１６×１６ピクセルのサイズを有すると仮定されるが、本開示の技法に従ってブロックの他のサイズも使用され得る。その上、ブロックの垂直ペア間の水平境界をデブロックすべきかどうかを決定するとき、ブロックの垂直ペアも同様にして分析され得る。
【０１３２】
[0138]特に、図８の例示的なペア２５０は、ＡＭＰ被区分ブロックの様々な組合せと、デブロッキング決定関数およびデブロッキングフィルタがＡＭＰ境界およびブロック間の境界のために適応されることになるかどうかとを表す。すなわち、図８は、左側／右側隣接ブロックＰおよびＱのための様々なＡＭＰ事例を示している。ブロックＰおよびＱが１６×１６のＣＵであると仮定すると、ブロックのいずれかがＡＭＰを使用して区分され、ＡＭＰ境界が、境界２５２のうちの対応する境界に対して平行であり、それに隣接する場合、デブロッキング決定関数およびデブロッキングフィルタが適用されるときの重複を回避するために、適応されたデブロッキング決定関数およびデブロッキングフィルタが使用され得る。
【０１３３】
[0139]たとえば、ペア２５０Ａに関して、ブロックＰおよびＱはＡＭＰを使用して区分されない。したがって、境界２５２Ａをデブロックすべきかどうかを決定するために、従来のデブロッキング決定関数およびデブロッキングフィルタが使用され得る。境界２５２Ａがデブロックされるべきであると決定された場合、境界２５２Ａをデブロックするために、従来のデブロッキングフィルタが境界２５２Ａの近くのピクセルに適用され得る。
【０１３４】
[0140]ペア２５０Ｂの例に関して、境界２５１は水平ＡＭＰ境界を表す。すなわち、ペア２５０ＢにおけるブロックＱは、２Ｎ×ｎＵ  ＡＭＰ区分方式を使用して区分され、その２Ｎ×ｎＵ区分から境界２５１が生じる、ブロックの一例を表す。２Ｎ×ｎＵ  ＡＭＰ区分では、２Ｎ×２Ｎブロックが、上部の２Ｎ×（Ｎ／２）パーティションと下部の２Ｎ×（３Ｎ／２）パーティションとを含む。代替的に、ペア２５０ＢのブロックＱは、境界２５３を生成するであろう２Ｎ×ｎＤ区分を使用して区分され得る。２Ｎ×ｎＤでは、２Ｎ×２Ｎブロックが、下部の２Ｎ×（Ｎ／２）パーティションと上部の２Ｎ×（３Ｎ／２）パーティションとを含む。いずれの場合も、境界２５１および２５３は境界２５２Ｂに対して直角である。したがって、境界２５２Ｂに適用されるデブロッキング決定関数およびデブロッキングフィルタは、境界２５１および２５３に対して平行であろう。したがって、境界２５２Ｂに適用されるデブロッキング決定関数およびデブロッキングフィルタを適応させる必要はない。
【０１３５】
[0141]同様に、ペア２５０Ｄは、ブロックＰが、（境界２５６を生成する）２Ｎ×ｎＵ  ＡＭＰ区分方式、または（境界２５８を生成する）２Ｎ×ｎＤ区分方式を使用して区分され得る、一例を表す。ペア２５０Ｂの場合のように、境界２５６および２５８は境界２５２Ｄに対して直角であり、したがって、境界２５２Ｄに適用されるデブロッキング決定関数およびデブロッキングフィルタを適応させる必要はない。同様に、ペア２５０Ｅの場合、境界２６０、２６２、２６４、および２６６が境界２５２Ｅに対して直角であるので、従来のデブロッキング決定関数およびデブロッキングフィルタが境界２５２Ｅに適用され得る。したがって、ブロックＰとブロックＱの両方が、２Ｎ×ｎＵまたは２Ｎ×ｎＤのいずれかのＡＭＰ区分方式を使用して区分されるとき、垂直境界２５２Ｅに適用されるデブロッキング決定関数およびデブロッキングフィルタの適応は必要でない。
【０１３６】
[0142]ペア２５０Ｃは、ブロックＱがｎＬ×２Ｎ区分方式を使用して区分された一例を表す。このようにして、ブロックＱは境界２５４を含む。その上、境界２５４は、ペア２５０Ｃの例においてブロックＱとブロックＰとを分割する境界２５２Ｃに対して平行に伸びる。ここでも、ブロックＰおよびＱが１６×１６ピクセルブロックであると仮定すると、ブロックＱは、左側の４×１６パーティションと右側の１２×１６パーティションとを含むであろう。したがって、従来のデブロッキング決定関数およびデブロッキングフィルタは、境界２５２Ｃおよび２５４に並列に適用されたとき、重複に遭遇し得る。したがって、従来のデブロッキング決定関数およびデブロッキングフィルタを使用するのではなく、本開示の技法によれば、適応されたデブロッキング決定関数およびデブロッキングフィルタが、境界２５２Ｃおよび２５４に適用され得る。
【０１３７】
[0143]同様に、ペア２５０Ｇの場合、適応されたデブロッキング決定関数およびデブロッキングフィルタが、境界２７６および２５２Ｇに適用され得る。この場合、ブロックＰは、ｎＲ×２Ｎ  ＡＭＰ区分方式を使用して区分されたブロックの一例を表す。したがって、ブロックＰが１６×１６ピクセルを有すると仮定すると、ブロックＰの４×１６ピクセルパーティションは、図８に示すように、境界２５２Ｇに接触する。同様に、ペア２５０Ｉの場合、境界２８０、２５２Ｉ、および２８２の各々に適用されるデブロッキング決定関数およびデブロッキングフィルタは、重複を回避するために適応され得る。
【０１３８】
[0144]概して、デブロッキング決定関数およびデブロッキングフィルタの適応は単方向であり得る。たとえば、並列に適用されたときに本来なら重複を引き起こすであろう、平行境界のほうへ延びる、デブロッキング決定関数およびデブロッキングフィルタの側のみが適応され得る。したがって、境界２５２Ｃの場合、いくつかの例では、デブロッキング決定関数およびデブロッキングフィルタの右側のみが適応され得、いくつかの例では、境界２５４に適用されるデブロッキング決定関数およびデブロッキングフィルタの左側のみが適応され得る。同様に、境界２５２Ｇの場合、いくつかの例では、デブロッキング決定関数およびデブロッキングフィルタの左側のみが適応され得、いくつかの例では、境界２７６に適用されるデブロッキング決定関数およびデブロッキングフィルタの右側のみが適応され得る。ペア２５０Ｉに関して、境界２８０に適用されるデブロッキング決定関数およびデブロッキングフィルタの右側が適応され得、境界２８２に適用されるデブロッキング決定関数およびデブロッキングフィルタの左側が適応され得、境界２５２Ｉに適用されるデブロッキング決定関数およびデブロッキングフィルタの両側が適応され得る。代替的に、適応が使用されると決定されたすべての場合において、デブロッキング決定関数およびデブロッキングフィルタの両側が適応され得る。
【０１３９】
[0145]ペア２５０Ｆおよび２５０Ｈの残りの例では、ブロックＰとブロックＱとのうちの一方は、２Ｎ×ｎＵまたは２Ｎ×ｎＤのいずれかのＡＭＰ区分方式を使用して区分され、それらのブロックのうちの他方は、ｎＲ×２ＮまたはｎＬ×２ＮのいずれかのＡＭＰ区分方式を使用して区分される。したがって、デブロッキング決定関数およびデブロッキングフィルタの適応は、２Ｎ×ｎＵまたは２Ｎ×ｎＤ  ＡＭＰ区分方式を使用して区分されたブロックの水平境界にではなく、垂直境界に適用され得る。たとえば、ペア２５０Ｆの境界２５２Ｆおよび２７２には適応されたデブロッキング決定関数およびデブロッキングフィルタが適用され得るが、境界２６８および２７０には従来のデブロッキング決定関数およびデブロッキングフィルタが適用され得る。別の例として、ペア２５０Ｈの境界２５２Ｈおよび２７８には適応されたデブロッキング決定関数およびデブロッキングフィルタが適用され得るが、境界２７７および２７９には従来のデブロッキング決定関数およびデブロッキングフィルタが適用され得る。
【０１４０】
[0146]ここでも、いくつかの例では、境界２５２Ｆの場合、いくつかの例では、デブロッキング決定関数およびデブロッキングフィルタの右側のみが適応され得、いくつかの例では、境界２７２に適用されるデブロッキング決定関数およびデブロッキングフィルタの左側のみが適応され得る。同様に、境界２５２Ｈの場合、いくつかの例では、デブロッキング決定関数およびデブロッキングフィルタの左側のみが適応され得、いくつかの例では、境界２７６に適用されるデブロッキング決定関数およびデブロッキングフィルタの右側のみが適応され得る。ここでも、代替的に、これらのデブロッキング決定関数およびデブロッキングフィルタの両側が適応され得る。
【０１４１】
[0147]このようにして、図８は、左側／右側隣接ブロックＰおよびＱのためのＡＭＰ事例を示している。上部／下部ＰおよびＱブロックについて同様の事例が形成され得る。一方のブロック（ＰまたはＱ）はＡＭＰタイプの１６×１６のＣＵであり、他方のブロックは、ＡＭＰタイプの１６×１６のＣＵを含む、他のイントラ／インタータイプである場合、ブロックＰとブロックＱとの間の共通エッジのデブロッキングフィルタは、（ペア２５０Ｃ、２５０Ｆ、２５０Ｇ、２５０Ｈ、および２５０Ｉの場合のように）ブロックＰとブロックＱとの間のエッジと平行である少なくとも１つの隣接する１６×４または４×１６のＡＭＰパーティションがあるとき、適応され得る。図８中の矢印は、内部ＡＭＰパーティションエッジを含むエッジを示しており、それらのエッジについて、デブロッキングフィルタは、近くのエッジ間のフィルタリング依存性を回避するために、適応され得る。いくつかの例では、図８のペア２５０について、適応が示されるエッジに対してデブロッキング決定関数とデブロッキングフィルタの両方を適応させるのではなく、デブロッキングフィルタのみが、上記の説明に従って決定されたように適応され得る。
【０１４２】
[0148]図９は、非正方形４分木区分のための例示的な区分構造を示す概念図である。図９に示すように、ブロック３００が、非正方形４分木変換（ＮＳＱＴ）を使用して区分され得る。概して、ＮＳＱＴにより、ＣＵのＴＵなどのブロックは、第１のレベルの４つの非正方形の長方形に区分されることが可能となり、それらのいずれかまたはすべてが、さらなるレベルの４つのより小さい等しいサイズの非正方形の長方形にさらに区分され得る。図９の例では、ブロック３００はサイズ２Ｎ×２Ｎを有する。そのブロックは、４つの２Ｎ×（Ｎ／２）または（Ｎ／２）×２Ｎ長方形３０２Ａ〜３０２Ｄに区分され得る。これらの第１のレベルのブロック３０２のいずれかまたはすべてが、サイズＮ×（Ｎ／４）または（Ｎ／４）×Ｎを有する、第２のレベルの４つのより小さい等しいサイズの非正方形ブロック３０４Ａ〜３０４Ｄ（ブロック３０４）にさらに区分され得る。ブロック３００は、図９では２つのレベルのサブブロック（３０２、３０４）に区分されるものとして示されているが、ブロック３００などのブロックは、１つのレベルのブロックに区分され得、そのブロックはさらに区分されない。ＮＳＱＴは、概して、ブロックの変換ユニット（ＴＵ）を区分するために使用され、ただし、ＴＵは、残差データに関連する変換係数を含む。本開示の技法は、図９に示すＮＳＱＴパーティションなど、ＮＳＱＴパーティションから生じる境界をデブロックするために適用され得る。
【０１４３】
[0149]いくつかの例では、デブロッカーが、図９に示すＮＳＱＴ被区分ブロックの１つまたは複数のエッジに適応されたデブロッキング決定関数および／またはデブロッキングフィルタを適用し得る。上記の図８に示したブロックの場合と同様に、図４のデブロッカー９０などのデブロッカーは、２つのエッジをデブロックすることが、フィルタまたは決定関数のためのサポートの重複を生じ得るとき、適応されたデブロッキング決定関数および／またはデブロッキングフィルタを適用し得る。一般に、サポートの重複は、２つのエッジが互いに８ピクセルよりも近接しているとき、発生し得る。２つのエッジが互いに対して直角であるとき、デブロッカー９０は、それらのエッジに標準決定関数および／またはデブロッキングフィルタを適用し得る。ＮＳＱＴ区分が、互いに８ピクセルよりも近接して位置する２つの平行エッジを生成するとき、デブロッカー９０は、本開示の技法に従って決定関数および／またはデブロッキングフィルタを適応させ得る。
【０１４４】
[0150]図１０は、ＡＭＰ被区分ブロック３２０〜３２６の様々な例を示す概念図である。ＡＭＰ区分は、概して、ＰＵなどのブロックを２つ以上のより小さいブロックに区分することを伴う。ＡＭＰ区分方式では、サイズ２Ｎ×２Ｎのブロックが、垂直方向にまたは水平方向に、２つの長方形に区分され得る。図１０の例では、各ブロック３２０、３２２、３２４、および３２６は、２つの長方形に区分される。一方の長方形はＮ／２ピクセルの次元（すなわち、長さまたは幅）を有し、別の長方形は３Ｎ／２ピクセルの同じ次元を有する。
【０１４５】
[0151]この例では、ブロック３２０、３２２、３２４、および３２６の各々が６４×６４ピクセルブロックであるが、他のサイズのブロックも同様にして区分され得る。ブロック３２０は、左側エッジ３２８Ａを含み、２Ｎ×ｎＵ  ＡＭＰ区分方式を使用して区分され、その結果、ブロック３２０は、エッジ３３０Ａによって分割された上部の６４×１６パーティションと下部の６４×４８パーティションとを含む。ブロック３２２は、左側エッジ３２８Ｂを含み、２Ｎ×ｎＤ  ＡＭＰ区分方式を使用して区分され、その結果、ブロック３２２は、エッジ３３０Ｂによって分割された下部の６４×１６パーティションと上部の６４×４８パーティションとを含む。ブロック３２４は、左側エッジ３２８Ｄを含み、ｎＬ×２Ｎ  ＡＭＰ区分方式を使用して区分され、その結果、ブロック３２４は、エッジ３３０Ｃによって分割された左側の１６×６４パーティションと右側の４８×６４パーティションとを含む。ブロック３２６は、ｎＲ×２Ｎ  ＡＭＰ区分方式を使用して区分され、その結果、ブロック３２６は、エッジ３３０Ｄによって分割された右側の１６×６４パーティションと左側の４８×６４パーティションとを含む。ブロック３２０〜３２６内のＡＭＰ境界のロケーション、およびブロック３２０〜３２６と隣接ブロックとの間の境界のロケーションに応じて、適応されたデブロッキング決定関数および／または適応されたデブロッキングフィルタが、内部ＡＭＰ境界、およびブロック３２０〜３２６と隣接ブロックとの間の境界のいずれかまたはすべてに適用され得る。
【０１４６】
[0152]いくつかの例では、ビデオエンコーダまたはビデオデコーダなど、ビデオコーディングデバイスが、図１０に示すブロックのうちの１つまたは複数に適応されたデブロッキング決定関数および／または適応されたデブロッキングフィルタを適用し得る。図４のデブロッカー９０が、ブロック３２０のエッジ３２８Ａをデブロックすることを試み得る。ブロック３２０の場合、エッジ３３０Ａはエッジ３２８Ａに対して直角であり、したがってデブロッカー９０は、ＨＭの現行バージョンからの標準デブロッキングフィルタをブロック３２０に適用し得る。デブロッカー９０は、エッジ３３０Ｂがエッジ３２８Ｂに対して直角であるので、ブロック３２２のエッジ２３８Ｂに標準ＨＭデブロッキングフィルタを同様に適用し得る。ブロック３２４および３２６の場合、デブロッカー９０は、両方のブロックが別のエッジに対して平行なエッジを有するという事実にもかかわらず、依然として標準ＨＭデブロッキングフィルタを適用することが可能であり得る。ブロック３２４の場合、エッジ３２８Ｃはエッジ３２８Ｃから１６ピクセルである。標準ＨＭフィルタは、８×８ピクセルサポートを有し、デブロックされるべきエッジの両側のサポートの４×８ピクセル領域を利用する。エッジ３２８Ｃをデブロックするとき、デブロッカー９０は、サポートのためにエッジ３２８Ｃの両側の４つのピクセルを使用し得る。エッジ３３０Ｃがエッジ３２８Ｃと並列にデブロックされている場合、エッジ３３０Ｃの左側および右側の４つのピクセルのみがサポートのために使用される。したがって、エッジ３２８Ｃおよび３３０Ｃをデブロックするとき、重複は発生しないであろう。同様に、エッジ３２８Ｄをデブロックする場合、エッジ３２８Ｄとエッジ３３０Ｄとの間の距離がさらに大きいので、デブロッキングは発生しないであろう。
【０１４７】
[0153]図１１Ａ〜図１１Ｉは、２つのブロック間のエッジに対する様々なＳＤＩＰ  ＰＵ配向を示す概念図である。並列ブロックの例が示されているが、同様の技法が、上下の隣接ブロックに関して適用され得ることを理解されたい。図１１Ａは、エッジ３４１を有するブロック３４０、３４２を示している。この例では、ブロック３４０および３４０は、ＳＤＩＰ以外の予測モードを使用して予測される。したがって、エッジ３４１は、標準的にデブロックするために（すなわち、ＳＤＩＰ予測によるさらなる考慮または適応なしに）処理され得る。
【０１４８】
[0154]図１１Ｂは、エッジ３４５を有するブロック３４４、３４６を示している。この例では、ブロック３４４は、ＳＤＩＰ以外の予測モードを使用して予測される。ブロック３４６はＳＤＩＰを使用して予測されるが、３４６のＳＤＩＰ  ＰＵは、この例では、エッジ３４５に対して直角である。したがって、（概してエッジ３４５に対して直角である）サポートのラインは、ブロック３４６のＳＤＩＰ  ＰＵ間のエッジに対して平行になる。したがって、エッジ３４５は、同様に標準的にデブロックするために処理され得る。同様に、ブロック３５２および３５４がエッジ３５３を有する図１１Ｄでは、ブロック３５２は、エッジ３５３に対して直角であるＳＤＩＰ  ＰＵを使用してＳＤＩＰ予測され、したがって、エッジ３５３は、標準的にデブロックするために処理され得る。同様に、ブロック３６６および３６８がエッジ３６７を有する図１１Ｅでは、ブロック３６６とブロック３６８の両方は、エッジ３６７に対して直角であるＳＤＩＰ  ＰＵを使用してＳＤＩＰ予測され、したがって、エッジ３６７は、同様に標準的にデブロックするために処理され得る。
【０１４９】
[0155]図１１Ｃは、エッジ３４９を有するブロック３４８および３５０を示している。この場合、ブロック３５０のＳＤＩＰ  ＰＵの幅によっては、サポートの領域は、ブロック３５０のＳＤＩＰ  ＰＵ間のＰＵ境界を横断し得る。したがって、デブロッキングのためのエッジ３４９の処理は、適応されたデブロッキング決定関数、サポート、および／またはデブロッキングフィルタを利用することを含み得る。適応は、デブロッキングのためにエッジ３４９を処理するときにブロック３５０のＳＤＩＰ  ＰＵ境界を横断することを回避するために実行され得る。同様に、ブロック３７４とブロック３７６との間に形成される図１１Ｇのエッジ３７５を処理するとき、ブロック３７４はエッジ３７５に対して平行であるＳＤＩＰ  ＰＵを使用して予測されるので、適応された決定関数およびデブロッキングフィルタが使用され得る。図１１Ｉの場合、エッジ３８３を有するブロック３８２および３８４は、両方とも、エッジ３８３に対して平行であるＳＤＩＰ  ＰＵを使用して予測される。したがって、決定関数およびサポートの適応は、両方のブロック３８２およびブロック３８４中のＳＤＩＰ  ＰＵ境界を横断することを回避し得る。
【０１５０】
[0156]同様に、適応された、サポートのセット、決定関数、および／またはデブロッキングフィルタは、図１１Ｆのブロック３７０とブロック３７２との間に形成されるエッジ３７１と、図１１Ｈのブロック３７８とブロック３８０との間に形成されるエッジ３７９とに適用され得る。ブロック３７０および３８０は、ＳＤＩＰ  ＰＵを使用して予測されるが、これらのＳＤＩＰ  ＰＵは、それぞれ、エッジ３７１およびエッジ３７９に対して直角である。したがって、適応されたサポート、関数、およびフィルタは、ブロック３７０および３８０中のエッジを考慮する必要はない。しかしながら、それぞれエッジ３７１および３７９に対して平行であるＳＤＩＰ  ＰＵを使用してブロック３７２および３７８が予測されるので、ブロック３７２および３７８中のＳＤＩＰ  ＰＵ境界を横断することを回避するように、適応されたサポート、関数、およびフィルタが選択され得る。
【０１５１】
[0157]１つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１５２】
[0158]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイ（登録商標）ディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０１５３】
[0159]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用ハードウェアおよび／またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０１５４】
[0160]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０１５５】
[0161]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［１］  ビデオデータをコーディングする方法であって、
ビデオデータの第１のブロックとビデオデータの第２のブロックとを復号することと、前記第１のブロックと前記第２のブロックとは共通エッジを共有し、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であるかどうかに少なくとも部分的に基づいて、前記第１のブロックと前記第２のブロックとの間の前記共通エッジをデブロックすべきかどうかを決定することと
を備える、方法。
［２］  前記方法は、前記第１のブロックと前記第２のブロックとを符号化することをさらに備える、［１］に記載の方法。
［３］  前記第１のブロックが親ブロックの非対称動きパーティションを備えることを示す情報を取得することと、
前記第１のブロックが前記非対称動きパーティションを備えることを示す前記取得された情報に基づいて、前記第１のブロックが非正方形であると決定することと
をさらに備える、［１］に記載の方法。
［４］  前記第１のブロックを形成するために非対称動き区分を使用して前記親ブロックを区分することをさらに備え、前記情報を取得することは、ビデオエンコーダによって前記情報を生成することと、前記ビデオエンコーダのデブロッキングフィルタによって前記情報を受信することとを備える、［３］に記載の方法。
［５］  前記情報を取得することは、前記第１のブロックと前記第２のブロックとを備える符号化ビットストリームのためのシンタックス情報としてビデオデコーダによって前記情報を取得することを備える、［３］に記載の方法。
［６］  前記第２のブロックが第２の異なる親ブロックの第２の非対称動きパーティションを備えることを示す情報を取得することと、
前記第２のブロックが前記第２の非対称動きパーティションを備えることを示す前記取得された情報に基づいて、前記第２のブロックが非正方形であると決定することと
をさらに備える、［３］に記載の方法。
［７］  前記第１のブロックが親ブロックの対称動きパーティションのための非正方形変換を備えることを示す情報を取得することと、
前記第１のブロックが前記親ブロックの前記対称動きパーティションのための前記非正方形変換を備えることを示す前記取得された情報に基づいて、前記第１のブロックが非正方形であると決定することと
をさらに備える、［１］に記載の方法。
［８］  前記第１のブロックを形成するために対称動き区分を使用して前記親ブロックを非正方形対称パーティションに区分することをさらに備え、前記第１のブロックは前記親ブロックの前記対称非正方形パーティションのうちの１つを備え、前記情報を取得することは、ビデオエンコーダによって前記情報を生成することと、前記ビデオエンコーダのデブロッキングフィルタによって前記情報を受信することとを備える、［７］に記載の方法。
［９］  前記情報を取得することは、前記第１のブロックと前記第２のブロックとを備える符号化ビットストリームのためのシンタックス情報としてビデオデコーダによって前記情報を取得することを備える、［７］に記載の方法。
［１０］  前記共通エッジをデブロックすべきかどうかを決定することは、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であるかどうかを決定することと、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であると決定した後に、前記第１のブロックと前記第２のブロックとのピクセルに適応されたデブロッキング決定関数を適用することと
を備える、［１］に記載の方法。
［１１］  前記共通エッジをデブロックすべきかどうかを決定することは、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であるかどうかを決定することと、
前記第１のブロックが非正方形であると決定した後に、前記第１のブロックの狭い部分が前記共通エッジに対して直角であるかどうかを決定することと、
前記第２のブロックが非正方形であると決定した後に、前記第２のブロックの狭い部分が前記共通エッジに対して直角であるかどうかを決定することと、
前記第１のブロックが非正方形であるとき、および前記第１のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、前記第１のブロックと前記第２のブロックとのピクセルに第１の適応されたデブロッキング決定関数を適用することと、
前記第２のブロックが非正方形であるとき、および前記第２のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、前記第１のブロックと前記第２のブロックとのピクセルに第２の適応されたデブロッキング決定関数を適用することと、
前記第１のブロックが非正方形であるとき、および前記第１のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、ならびに前記第２のブロックが非正方形であるとき、および前記第２のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、前記第１のブロックと前記第２のブロックとのピクセルに第３の適応されたデブロッキング決定関数を適用することと、
前記第１のブロックが正方形であるかまたは前記第１のブロックの前記狭い部分が前記共通エッジに対して直角であるとき、および前記第２のブロックが正方形であるかまたは前記第２のブロックの前記狭い部分が前記共通エッジに対して直角であるとき、前記第１のブロックと前記第２のブロックとのピクセルに従来のデブロッキング決定関数を適用することと
を備える、［１］に記載の方法。
［１２］  前記第１の適応されたデブロッキング決定関数と、前記第２の適応されたデブロッキング決定関数と、前記第３のデブロッキング決定関数とのうちの少なくとも１つが、前記共通エッジがデブロックされるべきであることを示すとき、前記共通エッジに適応されたデブロッキングフィルタを適用することをさらに備える、［１１］に記載の方法。
［１３］  前記共通エッジが８ピクセルの長さを備え、前記第１のブロックと前記第２のブロックとの前記ピクセルに前記第３の適応されたデブロッキング決定関数を適用することは、
前記共通エッジの端部から２ピクセルの第１のロケーションにおいて前記共通エッジに対して直角なピクセルの第１のセットに前記第３の適応されたデブロッキング決定関数を適用することと、
前記共通エッジの前記端部から５ピクセルの第２のロケーションにおいて前記共通エッジに対して直角なピクセルの第２の異なるセットに前記第３の適応されたデブロッキング決定関数を適用することと
を備える、［１１］に記載の方法。
［１４］  前記第３の適応されたデブロッキング決定関数が、前記共通エッジはデブロックされるべきであることを示すと決定した後に、
【数５】
0005869121.tif 000006
を備えるデブロッキングフィルタを使用して前記共通エッジをデブロックすることをさらに備える、［１３］に記載の方法。
［１５］  前記第３の適応されたデブロッキング決定関数が、前記共通エッジはデブロックされるべきであることを示すと決定した後に、
【数６】
0005869121.tif 000007
を備えるデブロッキングフィルタを使用して前記共通エッジをデブロックすることをさらに備える、［１３］に記載の方法。
［１６］  ビデオデータをコーディングするための装置であって、
ビデオデータの第１のブロックとビデオデータの第２のブロックとを復号することと、前記第１のブロックと前記第２のブロックとが共通エッジを共有し、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であるかどうかに少なくとも部分的に基づいて、前記第１のブロックと前記第２のブロックとの間の前記共通エッジをデブロックすべきかどうかを決定することと、
を行うように構成されたビデオコーディングデバイスを備える、装置。
［１７］  集積回路と、
マイクロプロセッサと、
前記ビデオコーディングデバイスを含むワイヤレス通信デバイスと
のうちの少なくとも１つを備える、［１６］に記載の装置。
［１８］  前記ビデオコーディングデバイスは、前記第１のブロックと前記第２のブロックとを符号化するようにさらに構成された、［１６］に記載の装置。
［１９］  前記ビデオコーディングデバイスは、
前記第１のブロックが親ブロックの非対称動きパーティションを備えることを示す情報を取得することと、
前記第１のブロックが前記非対称動きパーティションを備えることを示す前記取得された情報に基づいて、前記第１のブロックが非正方形であると決定することと、
を行うようにさらに構成された、［１６］に記載の装置。
［２０］  前記情報を取得するために、前記ビデオコーディングデバイスは、前記第１のブロックと前記第２のブロックとを備える符号化ビットストリームのためのシンタックス情報としてビデオデコーダによって前記情報を取得するようにさらに構成された、［１９］に記載の装置。
［２１］  前記ビデオコーディングデバイスは、前記第２のブロックが第２の異なる親ブロックの第２の非対称動きパーティションを備えることを示す情報を取得することと、前記第２のブロックが前記第２の非対称動きパーティションを備えることを示す前記取得された情報に基づいて、前記第２のブロックが非正方形であると決定することとを行うようにさらに構成された、［１９］に記載の装置。
［２２］  前記ビデオコーディングデバイスは、前記第１のブロックが親ブロックの対称動きパーティションのための非正方形変換を備えることを示す情報を取得することと、前記第１のブロックが前記親ブロックの前記対称動きパーティションのための前記非正方形変換を備えることを示す前記取得された情報に基づいて、前記第１のブロックが非正方形であると決定することとを行うようにさらに構成された、［１６］に記載の装置。
［２３］  前記情報を取得するために、前記ビデオコーディングデバイスは、前記第１のブロックと前記第２のブロックとを備える符号化ビットストリームのためのシンタックス情報としてビデオデコーダによって前記情報を取得するようにさらに構成された、［２２］に記載の装置。
［２４］  前記共通エッジをデブロックすべきかどうかを決定するために、前記ビデオコーディングデバイスは、前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であるかどうかを決定することと、前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であると決定した後に、前記第１のブロックと前記第２のブロックとのピクセルに適応されたデブロッキング決定関数を適用することとを行うようにさらに構成された、［１６］に記載の装置。
［２５］  前記共通エッジをデブロックすべきかどうかを決定するために、前記ビデオデコーダは、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であるかどうかを決定することと、
前記第１のブロックが非正方形であると決定した後に、前記第１のブロックの狭い部分が前記共通エッジに対して直角であるかどうかを決定することと、
前記第２のブロックが非正方形であると決定した後に、前記第２のブロックの狭い部分が前記共通エッジに対して直角であるかどうかを決定することと、
前記第１のブロックが非正方形であるとき、および前記第１のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、前記第１のブロックと前記第２のブロックとのピクセルに第１の適応されたデブロッキング決定関数を適用することと、
前記第２のブロックが非正方形であるとき、および前記第２のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、前記第１のブロックと前記第２のブロックとのピクセルに第２の適応されたデブロッキング決定関数を適用することと、
前記第１のブロックが非正方形であるとき、および前記第１のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、ならびに前記第２のブロックが非正方形であるとき、および前記第２のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、前記第１のブロックと前記第２のブロックとのピクセルに第３の適応されたデブロッキング決定関数を適用することと、
前記第１のブロックが正方形であるかまたは前記第１のブロックの前記狭い部分が前記共通エッジに対して直角であるとき、および前記第２のブロックが正方形であるかまたは前記第２のブロックの前記狭い部分が前記共通エッジに対して直角であるとき、前記第１のブロックと前記第２のブロックとのピクセルに従来のデブロッキング決定関数を適用することと、
を行うように構成された、［１６］に記載の装置。
［２６］  前記共通エッジが８ピクセルの長さを備え、
前記第１のブロックと前記第２のブロックとの前記ピクセルに前記第３の適応されたデブロッキング決定関数を適用するために、前記ビデオデコーダは、前記共通エッジの端部から２ピクセルの第１のロケーションにおいて前記共通エッジに対して直角なピクセルの第１のセットに前記第３の適応されたデブロッキング決定関数を適用するようにさらに構成され、
前記デバイスは、前記共通エッジの前記端部から５ピクセルの第２のロケーションにおいて前記共通エッジに対して直角なピクセルの第２の異なるセットに前記第３の適応されたデブロッキング決定関数を適用するようにさらに構成された、
［２５］に記載の装置。
［２７］  前記ビデオコーディングデバイスは、前記第３の適応されたデブロッキング決定関数が、前記共通エッジはデブロックされるべきであることを示すと決定した後に、
【数７】
0005869121.tif 000008
を備えるデブロッキングフィルタを使用して前記共通エッジをデブロックするようにさらに構成された、［２６］に記載の装置。
［２８］  前記第３の適応されたデブロッキング決定関数が、前記共通エッジはデブロックされるべきであることを示すと決定した後に、
【数８】
0005869121.tif 000009
を備えるデブロッキングフィルタを使用して前記共通エッジをデブロックするようにさらに構成された、［２７］に記載の装置。
［２９］  ビデオデータをコーディングするための装置であって、
ビデオデータの第１のブロックとビデオデータの第２のブロックとを復号する手段と、前記第１のブロックと前記第２のブロックとが共通エッジを共有し、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であるかどうかに少なくとも部分的に基づいて、前記第１のブロックと前記第２のブロックとの間の前記共通エッジをデブロックすべきかどうかを決定する手段と、
を備える、装置。
［３０］  前記装置は、前記第１のブロックと前記第２のブロックとを符号化するようにさらに構成された、［２９］に記載の装置。
［３１］  前記第１のブロックが親ブロックの非対称動きパーティションを備えることを示す情報を取得する手段と、
前記第１のブロックが前記非対称動きパーティションを備えることを示す前記取得された情報に基づいて、前記第１のブロックが非正方形であると決定する手段と
をさらに備える、［２９］に記載の装置。
［３２］  前記情報を取得する前記手段は、前記第１のブロックと前記第２のブロックとを備える符号化ビットストリームのためのシンタックス情報としてビデオデコーダによって前記情報を取得する手段を備える、［３１］に記載の装置。
［３３］  前記第２のブロックが第２の異なる親ブロックの第２の非対称動きパーティションを備えることを示す情報を取得する手段と、
前記第２のブロックが前記第２の非対称動きパーティションを備えることを示す前記取得された情報に基づいて、前記第２のブロックが非正方形であると決定する手段と
をさらに備える、［３１］に記載の装置。
［３４］  前記第１のブロックが親ブロックの対称動きパーティションのための非正方形変換を備えることを示す情報を取得する手段と、
前記第１のブロックが前記親ブロックの前記対称動きパーティションのための前記非正方形変換を備えることを示す前記取得された情報に基づいて、前記第１のブロックが非正方形であると決定する手段と
をさらに備える、［２９］に記載の装置。
［３５］  前記情報を取得する前記手段は、前記第１のブロックと前記第２のブロックとを備える符号化ビットストリームのためのシンタックス情報としてビデオデコーダによって前記情報を取得する手段を備える、［３４］に記載の装置。
［３６］  前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であるかどうかを決定する手段と、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であると決定した後に、前記第１のブロックと前記第２のブロックとのピクセルに適応されたデブロッキング決定関数を適用する手段と
をさらに備える、［２９］に記載の装置。
［３７］  前記共通エッジをデブロックすべきかどうかを決定する前記手段は、前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であるかどうかを決定する手段を備え、
前記装置は、
前記第１のブロックが非正方形であると決定した後に、前記第１のブロックの狭い部分が前記共通エッジに対して直角であるかどうかを決定する手段と、
前記第２のブロックが非正方形であると決定した後に、前記第２のブロックの狭い部分が前記共通エッジに対して直角であるかどうかを決定する手段と、
前記第１のブロックが非正方形であるとき、および前記第１のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、前記第１のブロックと前記第２のブロックとのピクセルに第１の適応されたデブロッキング決定関数を適用する手段と、
前記第２のブロックが非正方形であるとき、および前記第２のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、前記第１のブロックと前記第２のブロックとのピクセルに第２の適応されたデブロッキング決定関数を適用する手段と、
前記第１のブロックが非正方形であるとき、および前記第１のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、ならびに前記第２のブロックが非正方形であるとき、および前記第２のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、前記第１のブロックと前記第２のブロックとのピクセルに第３の適応されたデブロッキング決定関数を適用する手段と、
前記第１のブロックが正方形であるかまたは前記第１のブロックの前記狭い部分が前記共通エッジに対して直角であるとき、および前記第２のブロックが正方形であるかまたは前記第２のブロックの前記狭い部分が前記共通エッジに対して直角であるとき、前記第１のブロックと前記第２のブロックとのピクセルに従来のデブロッキング決定関数を適用する手段と
をさらに備える、［２９］に記載の装置。
［３８］  前記共通エッジが８ピクセルの長さを備え、
前記第１のブロックと前記第２のブロックとの前記ピクセルに前記第３の適応されたデブロッキング決定関数を適用する前記手段は、前記共通エッジの端部から２ピクセルの第１のロケーションにおいて前記共通エッジに対して直角なピクセルの第１のセットに前記第３の適応されたデブロッキング決定関数を適用する手段を備え、
前記装置は、前記共通エッジの前記端部から５ピクセルの第２のロケーションにおいて前記共通エッジに対して直角なピクセルの第２の異なるセットに前記第３の適応されたデブロッキング決定関数を適用する手段をさらに備える、
［３７］に記載の装置。
［３９］  前記第３の適応されたデブロッキング決定関数が、前記共通エッジはデブロックされるべきであることを示すと決定した後に、
【数９】
0005869121.tif 000010
を備えるデブロッキングフィルタを使用して前記共通エッジをデブロックするための手段
をさらに備える、［３８］に記載の装置。
［４０］  前記第３の適応されたデブロッキング決定関数が、前記共通エッジはデブロックされるべきであることを示すと決定した後に、
【数１０】
0005869121.tif 000011
を備えるデブロッキングフィルタを使用して前記共通エッジをデブロックする手段
をさらに備える、［３８］に記載の装置。
［４１］  実行されたとき、ビデオデータをコーディングするためのデバイスのプロセッサに、
ビデオデータの第１のブロックとビデオデータの第２のブロックとを復号することと、前記第１のブロックと前記第２のブロックとが共通エッジを共有し、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であるかどうかに少なくとも部分的に基づいて、前記第１のブロックと前記第２のブロックとの間の前記共通エッジをデブロックすべきかどうかを決定することと
を行わせる、命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
［４２］  前記コンピュータ可読媒体は、前記プロセッサに、前記第１のブロックと前記第２のブロックとを符号化することを行わせる命令をさらに備える、［４１］に記載のコンピュータプログラム製品。
［４３］  前記コンピュータ可読媒体は、前記プロセッサに、
前記第１のブロックが親ブロックの非対称動きパーティションを備えることを示す情報を取得することと、
前記第１のブロックが前記非対称動きパーティションを備えることを示す前記取得された情報に基づいて、前記第１のブロックが非正方形であると決定することと
を行わせる命令をさらに備える、［４１］に記載のコンピュータプログラム製品。
［４４］  前記プロセッサに、前記情報を取得することを行わせる前記命令は、前記プロセッサに、前記第１のブロックと前記第２のブロックとを備える符号化ビットストリームのためのシンタックス情報として前記情報を取得することを行わせる命令を備える、［４３］に記載のコンピュータプログラム製品。
［４５］  前記プロセッサに、
前記第２のブロックが第２の異なる親ブロックの第２の非対称動きパーティションを備えることを示す情報を取得することと、
前記第２のブロックが前記第２の非対称動きパーティションを備えることを示す前記取得された情報に基づいて、前記第２のブロックが非正方形であると決定することと
を行わせる命令をさらに備える、［４３］に記載のコンピュータプログラム製品。
［４６］  前記コンピュータ可読媒体は、前記プロセッサに、
前記第１のブロックが親ブロックの対称動きパーティションのための非正方形変換を備えることを示す情報を取得することと、
前記第１のブロックが前記親ブロックの前記対称動きパーティションのための前記非正方形変換を備えることを示す前記取得された情報に基づいて、前記第１のブロックが非正方形であると決定することと
を行わせる命令をさらに備える、［４１］に記載のコンピュータプログラム製品。
［４７］  前記プロセッサに、前記情報を取得することを行わせる前記命令は、前記プロセッサに、前記第１のブロックと前記第２のブロックとを備える符号化ビットストリームのためのシンタックス情報として前記情報を取得することを行わせる命令を備える、［４６］に記載のコンピュータプログラム製品。
［４８］  前記プロセッサに、前記共通エッジをデブロックすべきかどうかを決定することを行わせる前記命令は、前記プロセッサに、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であるかどうかを決定することと、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であると決定した後に、前記第１のブロックと前記第２のブロックとのピクセルに適応されたデブロッキング決定関数を適用することと
をさらに行わせる、［４１］に記載のコンピュータプログラム製品。
［４９］  前記プロセッサに、前記共通エッジをデブロックすべきかどうかを決定することを行わせる前記命令は、前記プロセッサに、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つが非正方形であるかどうかを決定すること
をさらに行わせ、
前記コンピュータプログラム製品は、前記プロセッサに、
前記第１のブロックが非正方形であると決定した後に、前記第１のブロックの狭い部分が前記共通エッジに対して直角であるかどうかを決定することと、
前記第２のブロックが非正方形であると決定した後に、前記第２のブロックの狭い部分が前記共通エッジに対して直角であるかどうかを決定することと、
前記第１のブロックが非正方形であるとき、および前記第１のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、前記第１のブロックと前記第２のブロックとのピクセルに第１の適応されたデブロッキング決定関数を適用することと、
前記第２のブロックが非正方形であるとき、および前記第２のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、前記第１のブロックと前記第２のブロックとのピクセルに第２の適応されたデブロッキング決定関数を適用することと、
前記第１のブロックが非正方形であるとき、および前記第１のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、ならびに前記第２のブロックが非正方形であるとき、および前記第２のブロックの前記狭い部分が前記共通エッジに対して直角でないとき、前記第１のブロックと前記第２のブロックとのピクセルに第３の適応されたデブロッキング決定関数を適用することと、
前記第１のブロックが正方形であるかまたは前記第１のブロックの前記狭い部分が前記共通エッジに対して直角であるとき、および前記第２のブロックが正方形であるかまたは前記第２のブロックの前記狭い部分が前記共通エッジに対して直角であるとき、前記第１のブロックと前記第２のブロックとのピクセルに従来のデブロッキング決定関数を適用することと
を行わせる命令をさらに備える、［４１］に記載のコンピュータプログラム製品。
［５０］  前記共通エッジが８ピクセルの長さを備え、
前記プロセッサに、前記第１のブロックと前記第２のブロックとの前記ピクセルに前記第３の適応されたデブロッキング決定関数を適用することを行わせる前記命令は、前記プロセッサに、
前記共通エッジの端部から２ピクセルの第１のロケーションにおいて前記共通エッジに対して直角なピクセルの第１のセットに前記第３の適応されたデブロッキング決定関数を適用すること
をさらに行わせ、
前記コンピュータプログラム製品は、前記プロセッサに、前記共通エッジの前記端部から５ピクセルの第２のロケーションにおいて前記共通エッジに対して直角なピクセルの第２の異なるセットに前記第３の適応されたデブロッキング決定関数を適用することを行わせる命令をさらに備える、
［４９］に記載のコンピュータプログラム製品。
［５１］  前記命令は、前記プロセッサに、
前記第３の適応されたデブロッキング決定関数が、前記共通エッジはデブロックされるべきであることを示すと決定した後に、
【数１１】
0005869121.tif 000012
を備えるデブロッキングフィルタを使用して前記共通エッジをデブロックすること
をさらに行わせる、［５０］に記載のコンピュータプログラム製品。
［５２］  前記命令は、前記プロセッサに、
前記第３の適応されたデブロッキング決定関数が、前記共通エッジはデブロックされるべきであることを示すと決定した後に、
【数１２】
0005869121.tif 000013
を備えるデブロッキングフィルタを使用して前記共通エッジをデブロックすること
をさらに行わせる、［５０］に記載のコンピュータプログラム製品。
【図１】
0005869121.tif 000022
【図２】
0005869121.tif 000023
【図３】
0005869121.tif 000024
【図４】
0005869121.tif 000025
【図５Ａ】
0005869121.tif 000026
【図５Ｂ】
0005869121.tif 000027
【図５Ｃ】
0005869121.tif 000028
【図６】
0005869121.tif 000029
【図７】
0005869121.tif 000030
【図８】
0005869121.tif 000031
【図９】
0005869121.tif 000032
【図１０】
0005869121.tif 000033
【図１１Ａ】
0005869121.tif 000034
【図１１Ｂ】
0005869121.tif 000035
【図１１Ｃ】
0005869121.tif 000036
【図１１Ｄ】
0005869121.tif 000037
【図１１Ｅ】
0005869121.tif 000038
【図１１Ｆ】
0005869121.tif 000039
【図１１Ｇ】
0005869121.tif 000040
【図１１Ｈ】
0005869121.tif 000041
【図１１Ｉ】
0005869121.tif 000042