(57)【特許請求の範囲】
【請求項１】
ビデオデータをコーディングするための方法であって、前記方法は、１つまたは複数のプロセッサが実行し、
パーティション境界によって分離された前記ビデオデータの１つまたは複数のブロックの第１のパーティションと第２のパーティションとのうちの一方に対するサポート領域中の少なくとも１つのピクセルに基づき適応メトリックを決定することと、前記サポート領域はビデオデータの１つまたは複数のブロック全体でない、
前記ビデオブロックの前記第１のパーティションを表す第１の予測ブロックについて前記パーティション境界の近くの予測ピクセル値を決定するために、前記適応メトリックに基づいて、重複ブロック動き補償プロセスの適用を適応させることと、
を備え、
前記適応メトリックを決定することは、前記サポート領域中の前記少なくとも１つのピクセルについての第１の予測ピクセル値と前記サポート領域中の前記少なくとも１つのピクセルについての第２の予測ピクセル値とに基づいて前記適応メトリックを決定することを備え、
前記第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し、
前記第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し、
前記第１の予測ピクセル値は前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は前記第２の動きベクトルから予測される、
方法。
【請求項２】
前記サポート領域は、前記ビデオデータの前記１つまたは複数のブロックが存在するフレームと、ビデオデータの前記ブロックが存在する前記フレームの領域と、前記第１のパーティションと、前記第２のパーティションと、前記第１のパーティションまたは前記第２のパーティションのいずれかの中の前記パーティション境界の近くの前記ピクセルの一部分、前記第１のパーティションのダウンサンプリングされたバージョン、前記第２のパーティションのダウンサンプリングされたバージョン、および前記第１のパーティションまたは前記第２のパーティションのいずれかのための前記遷移領域のダウンサンプリングされたバージョンを含む、前記第１のパーティションまたは前記第２のパーティションのいずれかのための遷移領域とのうちの１つを備える、請求項１に記載の方法。
【請求項３】
前記適応メトリックを決定することは、前記サポート領域中の前記少なくとも１つのピクセルについての前記第１の予測ピクセル値と前記サポート領域中の前記少なくとも１つのピクセルについての前記第２の予測ピクセル値との間の差分に基づいて前記適応メトリックを決定することを備える、
請求項１に記載の方法。
【請求項４】
前記適応メトリックを決定することは、前記サポート領域中の各ピクセルについての第１の予測ピクセル値と前記サポート領域中の各ピクセルについての第２の予測ピクセル値との間の絶対差分に基づいて前記適応メトリックを決定することを備え、
前記第１の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第２の動きベクトルから予測される、
請求項１に記載の方法。
【請求項５】
前記適応メトリックを決定することは、前記サポート領域中の各ピクセルについての第１の予測ピクセル値と前記サポート領域中の前記ピクセルの各々についての第２の予測ピクセル値との間の平均ピクセル差分に基づいて前記適応メトリックを決定することを備え、
前記第１の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第２の動きベクトルから予測される、
請求項１に記載の方法。
【請求項６】
ビデオデータをコーディングするための方法であって、前記方法は、１つまたは複数のプロセッサが実行し、
パーティション境界によって分離された前記ビデオデータの１つまたは複数のブロックの第１のパーティションと第２のパーティションとのうちの一方に対するサポート領域中の少なくとも１つのピクセルに基づき適応メトリックを決定することと、前記サポート領域はビデオデータの１つまたは複数のブロック全体でない、
前記ビデオブロックの前記第１のパーティションを表す第１の予測ブロックについて前記パーティション境界の近くの予測ピクセル値を決定するために、前記適応メトリックに基づいて、重複ブロック動き補償プロセスの適用を適応させることと、
を備え、
前記適応メトリックを決定することは、前記サポート領域中のピクセルの重み付き平均値に基づいて前記適応メトリックを決定することを備える、方法。
【請求項７】
前記第1の動きベクトルは、精度を有し、
前記適応メトリックを決定することは、前記少なくとも１つのピクセルと前記第１の動きベクトルの前記精度とに基づく前記適応メトリックを決定することをさらに備え、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させることは、前記第１の動きベクトルの前記精度がしきい値精度よりも小さいときに前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにすることを備え、
前記しきい値精度は、整数精度と、ハーフペル精度と、クォーターペル精度とのうちの１つを備える、請求項１に記載の方法。
【請求項８】
ビデオデータの前記１つまたは複数のブロックはそれぞれブロックサイズに関連し、
前記適応メトリックを決定することは、前記少なくとも１つのピクセルとビデオデータの前記１つまたは複数のブロックのうちの少なくとも１つの前記ブロックサイズとに基づく前記適応メトリックを決定することをさらに備え、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させることは、前記決定されたブロックサイズがブロックサイズしきい値よりも小さいときに前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにすることを備え、
前記決定されたブロックサイズは、ビデオブロックサイズと、前記ブロックの前記第１のパーティションに適用される変換のサイズを識別する変換ブロックサイズとのうちの一方を備える、請求項１に記載の方法。
【請求項９】
前記第１のパーティションは予測方向に関連し、
前記適応メトリックを決定することは、前記少なくとも１つのピクセルに基づいて前記適応メトリックを決定することと、前記予測方向を決定することとをさらに備え、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させることは、前記第１のパーティションの前記予測方向が双方向であるときに前記第２のパーティションに対する前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにすることを備える、請求項１に記載の方法。
【請求項１０】
前記第１のパーティションは第１の予測方向に関連し、
前記第２のパーティションは第２の予測方向に関連し、
前記適応メトリックを決定することは、前記少なくとも１つのピクセルと前記第１の予測方向と前記第２の予測方向とに基づく前記適応メトリックを決定することをさらに備え、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させることは、
前記第１の予測方向が双方向であり、前記第２の予測方向が単方向であるときに前記第１のパーティションに対する前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにすることと、
前記第１の予測方向が単方向であり、前記第２の予測方向が双方向であるときに前記第１のパーティションに対する前記重複ブロック動き補償プロセスの適用を選択的にイネーブルにすることと、
を備える、請求項１に記載の方法。
【請求項１１】
前記第１の動きベクトルは、精度を有し、
前記適応メトリックを決定することは、前記少なくとも１つのピクセルと前記動きベクトルの前記精度とに基づく前記適応メトリックを決定することをさらに備え、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させることは、前記第１の動きベクトルの精度が分数であるときに、前記第１の動きベクトルの前記精度を低減することを備え、前記第１のパーティションに関連する前記第１の動きベクトルの代わりに前記低減された精度の動きベクトルを使用するように前記重複ブロック動き補償プロセスの前記適用を適応させる、請求項１に記載の方法。
【請求項１２】
ビデオデータをコーディングするための方法であって、前記方法は、１つまたは複数のプロセッサが実行し、
パーティション境界によって分離された前記ビデオデータの１つまたは複数のブロックの第１のパーティションと第２のパーティションとのうちの一方に対するサポート領域中の少なくとも１つのピクセルに基づき適応メトリックを決定することと、前記サポート領域はビデオデータの１つまたは複数のブロック全体でない、
前記ビデオブロックの前記第１のパーティションを表す第１の予測ブロックについて前記パーティション境界の近くの予測ピクセル値を決定するために、前記適応メトリックに基づいて、重複ブロック動き補償プロセスの適用を適応させることと、
を備え、
前記第１のパーティションは予測方向に関連し、
前記適応メトリックを決定することは、前記少なくとも１つのピクセルと前記予測方向とに基づく前記適応メトリックを決定することをさらに備え、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させることは、前記決定された予測方向が双方向であるときに、前記第１のパーティションに関連する２つの動きベクトルのうちの一方のみを選択することを備え、前記２つの動きベクトルの代わりに前記２つの動きベクトルのうちの前記選択された一方のみを使用するように前記重複ブロック動き補償プロセスの適用を適応させる、方法。
【請求項１３】
ビデオデータをコーディングするための方法であって、前記方法は、１つまたは複数のプロセッサが実行し、
パーティション境界によって分離された前記ビデオデータの１つまたは複数のブロックの第１のパーティションと第２のパーティションとのうちの一方に対するサポート領域中の少なくとも１つのピクセルに基づき適応メトリックを決定することと、前記サポート領域はビデオデータの１つまたは複数のブロック全体でない、
前記ビデオブロックの前記第１のパーティションを表す第１の予測ブロックについて前記パーティション境界の近くの予測ピクセル値を決定するために、前記適応メトリックに基づいて、重複ブロック動き補償プロセスの適用を適応させることと、
を備え、
前記サポート領域は、前記第１のパーティション中の前記パーティション境界の近くの前記ピクセルの一部分を含む前記第１のパーティションのための遷移領域の一部分と、前記第１のパーティションのための前記遷移領域のダウンサンプリングされたバージョンと、前記第１のパーティションとのうちの１つまたは複数を備え、
前記適応メトリックを決定することは、前記サポート領域中の各ピクセルについての第１の予測ピクセル値と前記サポート領域中の各ピクセルについての第２の予測ピクセル値との間の絶対差分に基づいて前記適応メトリックを決定することをさらに備え、
前記第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し、
前記第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し、
前記第１の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第２の動きベクトルから予測され、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させることは、前記決定された絶対差分が差分しきい値よりも大きいときに前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにすることを備える、方法。
【請求項１４】
ビデオデータをコーディングするように構成されたビデオコーディングデバイスであって、前記ビデオコーディングデバイスは、
パーティション境界によって分離された前記ビデオデータの１つまたは複数のブロックの第１のパーティションと第２のパーティションとのうちの一方に対するサポート領域中の少なくとも１つのピクセルに基づき適応メトリックを決定することと、前記サポート領域はビデオデータの１つまたは複数のブロック全体でなく、
前記ビデオブロックの前記第１のパーティションを表す第１の予測ブロックについて前記パーティション境界の近くの予測ピクセル値を決定するために、前記適応メトリックに基づいて、重複ブロック動き補償プロセスの適用を適応させることと、
を行うように構成された１つまたは複数のプロセッサ
を備え、
前記１つまたは複数のプロセッサは、前記適応メトリックを決定するとき、前記サポート領域中の前記少なくとも１つのピクセルについての第１の予測ピクセル値と前記サポート領域中の前記少なくとも１つのピクセルについての第２の予測ピクセル値とに基づいて前記適応メトリックを決定するように構成され、
前記第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し、
前記第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し、
前記第１の予測ピクセル値は前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は前記第２の動きベクトルから予測される、
ビデオコーディングデバイス。
【請求項１５】
前記サポート領域は、前記ビデオデータの前記１つまたは複数のブロックが存在するフレームと、ビデオデータの前記ブロックが存在する前記フレームの領域と、前記第１のパーティションと、前記第２のパーティションと、前記第１のパーティションまたは前記第２のパーティションのいずれかの中の前記パーティション境界の近くの前記ピクセルの一部分、前記第１のパーティションのダウンサンプリングされたバージョン、前記第２のパーティションのダウンサンプリングされたバージョン、および前記第１のパーティションまたは前記第２のパーティションのいずれかのための前記遷移領域のダウンサンプリングされたバージョンを含む、前記第１のパーティションまたは前記第２のパーティションのいずれかのための遷移領域とのうちの１つを備える、請求項１４に記載のビデオコーディングデバイス。
【請求項１６】
前記１つまたは複数のプロセッサは、前記適応メトリックを決定するとき、前記サポート領域中の前記少なくとも１つのピクセルについての前記第１の予測ピクセル値と前記サポート領域中の前記少なくとも１つのピクセルについての前記第２の予測ピクセル値との間の差分に基づいて前記適応メトリックを決定するように構成される、
請求項１４に記載のビデオコーディングデバイス。
【請求項１７】
前記１つまたは複数のプロセッサは、前記適応メトリックを決定するとき、前記サポート領域中の各ピクセルについての第１の予測ピクセル値と前記サポート領域中の各ピクセルについての第２の予測ピクセル値との間の絶対差分に基づいて前記適応メトリックを決定するように構成され、
前記第１の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第２の動きベクトルから予測される、請求項１４に記載のビデオコーディングデバイス。
【請求項１８】
前記１つまたは複数のプロセッサは、前記適応メトリックを決定するとき、前記サポート領域中の各ピクセルについての第１の予測ピクセル値と前記サポート領域中の前記ピクセルの各々についての第２の予測ピクセル値との間の平均ピクセル差分に基づいて前記適応メトリックを決定するように構成され、
前記第１の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第２の動きベクトルから予測される、請求項１４に記載のビデオコーディングデバイス。
【請求項１９】
ビデオデータをコーディングするように構成されたビデオコーディングデバイスであって、前記ビデオコーディングデバイスは、
パーティション境界によって分離された前記ビデオデータの１つまたは複数のブロックの第１のパーティションと第２のパーティションとのうちの一方に対するサポート領域中の少なくとも１つのピクセルに基づき適応メトリックを決定することと、前記サポート領域はビデオデータの１つまたは複数のブロック全体でなく、
前記ビデオブロックの前記第１のパーティションを表す第１の予測ブロックについて前記パーティション境界の近くの予測ピクセル値を決定するために、前記適応メトリックに基づいて、重複ブロック動き補償プロセスの適用を適応させることと、
を行うように構成された１つまたは複数のプロセッサ
を備え、
前記１つまたは複数のプロセッサは、前記適応メトリックを決定するとき、前記サポート領域中のピクセルの重み付き平均値に基づいて前記適応メトリックを決定するように構成された、ビデオコーディングデバイス。
【請求項２０】
前記第１の動きベクトルは、精度を有し、
前記１つまたは複数のプロセッサは、前記適応メトリックを決定するとき、前記少なくとも１つのピクセルと前記第１の動きベクトルの前記精度とに基づく前記適応メトリックを決定するように構成され、
前記１つまたは複数のプロセッサは、前記重複ブロック動き補償プロセスの適用を適応させるとき、前記第１の動きベクトルの前記精度がしきい値精度よりも小さいときに前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにするように構成され、
前記しきい値精度は、整数精度と、ハーフペル精度と、クォーターペル精度とのうちの１つを備える、請求項１４に記載のビデオコーディングデバイス。
【請求項２１】
ビデオデータの前記１つまたは複数のブロックはそれぞれブロックサイズに関連し、
前記１つまたは複数のプロセッサは、前記適応メトリックを決定するとき、前記少なくとも１つのピクセルと、ビデオデータの前記１つまたは複数のブロックのうちの少なくとも１つの前記ブロックサイズとに基づく前記適応メトリックを決定するように構成され、
前記１つまたは複数のプロセッサは、前記重複ブロック動き補償プロセスの適用を適応させるとき、前記決定されたブロックサイズがブロックサイズしきい値よりも小さいときに前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにするように構成され、
前記決定されたブロックサイズは、ビデオブロックサイズと、前記ブロックの前記第１のパーティションに適用される変換のサイズを識別する変換ブロックサイズとのうちの一方を備える、請求項１４に記載のビデオコーディングデバイス。
【請求項２２】
前記第１のパーティションは予測方向に関連し、
前記１つまたは複数のプロセッサは、前記適応メトリックを決定するとき、前記少なくとも１つのピクセルと前記予測方向とに基づく前記適応メトリックを決定するように構成され、
前記１つまたは複数のプロセッサは、前記重複ブロック動き補償プロセスの適用を適応させるとき、前記第１のパーティションの前記予測方向が双方向であるときに前記第２のパーティションに対する前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにするように構成された、請求項１４に記載のビデオコーディングデバイス。
【請求項２３】
前記第１のパーティションは第１の予測方向に関連し、
前記第２のパーティションは第２の予測方向に関連し、
前記１つまたは複数のプロセッサは、前記適応メトリック決定するとき、前記少なくとも１つのピクセルと前記第１の予測方向と前記第２の予測方向とに基づく前記適応メトリックを決定するように構成され、
前記１つまたは複数のプロセッサは、前記重複ブロック動き補償プロセスの適用を適応させるとき、前記第１の予測方向が双方向であり、前記第２の予測方向が単方向であるときに前記第１のパーティションに対する前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにすることと、前記第１の予測方向が単方向であり、前記第２の予測方向が双方向であるときに前記第１のパーティションに対する前記重複ブロック動き補償プロセスの適用を選択的にイネーブルにすることとを行うように構成された、請求項１４に記載のビデオコーディングデバイス。
【請求項２４】
前記第１の動きベクトルは、精度を有し、
前記１つまたは複数のプロセッサは、前記適応メトリックを決定するとき、前記少なくとも１つのピクセルと前記第１の動きベクトルの前記精度とに基づく前記適応メトリックを決定するように構成され、
前記１つまたは複数のプロセッサは、前記重複ブロック動き補償プロセスの適用を適応させるとき、前記第１の動きベクトルの精度が分数であるときに前記第１の動きベクトルの前記精度を低減するように構成され、前記第１のパーティションに関連する前記第１の動きベクトルの代わりに前記低減された精度の動きベクトルを使用するように前記重複ブロック動き補償プロセスの前記適用を適応させる、請求項１４に記載のビデオコーディングデバイス。
【請求項２５】
ビデオデータをコーディングするように構成されたビデオコーディングデバイスであって、前記ビデオコーディングデバイスは、
パーティション境界によって分離された前記ビデオデータの１つまたは複数のブロックの第１のパーティションと第２のパーティションとのうちの一方に対するサポート領域中の少なくとも１つのピクセルに基づき適応メトリックを決定することと、前記サポート領域はビデオデータの１つまたは複数のブロック全体でなく、
前記ビデオブロックの前記第１のパーティションを表す第１の予測ブロックについて前記パーティション境界の近くの予測ピクセル値を決定するために、前記適応メトリックに基づいて、重複ブロック動き補償プロセスの適用を適応させることと、
を行うように構成された１つまたは複数のプロセッサ
を備え、
前記第１のパーティションは予測方向に関連し、
前記１つまたは複数のプロセッサは、前記適応メトリックを決定するとき、前記少なくとも１つのピクセルと前記予測方向とに基づく前記適応メトリックを決定するように構成され、
前記１つまたは複数のプロセッサは、前記重複ブロック動き補償プロセスの適用を適応させるとき、前記決定された予測方向が双方向であるときに、前記第１のパーティションに関連する２つの動きベクトルのうちの一方のみを選択するように構成され、前記２つの動きベクトルの代わりに前記２つの動きベクトルのうちの前記選択された一方のみを使用するように前記重複ブロック動き補償プロセスの適用を適応させる、ビデオコーディングデバイス。
【請求項２６】
ビデオデータをコーディングするように構成されたビデオコーディングデバイスであって、前記ビデオコーディングデバイスは、
パーティション境界によって分離された前記ビデオデータの１つまたは複数のブロックの第１のパーティションと第２のパーティションとのうちの一方に対するサポート領域中の少なくとも１つのピクセルに基づき適応メトリックを決定することと、前記サポート領域はビデオデータの１つまたは複数のブロック全体でなく、
前記ビデオブロックの前記第１のパーティションを表す第１の予測ブロックについて前記パーティション境界の近くの予測ピクセル値を決定するために、前記適応メトリックに基づいて、重複ブロック動き補償プロセスの適用を適応させることと、
を行うように構成された１つまたは複数のプロセッサ
を備え、
前記サポート領域は、前記第１のパーティション中の前記パーティション境界の近くの前記ピクセルの一部分を含む前記第１のパーティションのための遷移領域の一部分と、前記第１のパーティションのための前記遷移領域のダウンサンプリングされたバージョンと、前記第１のパーティションとのうちの１つまたは複数を備え、
前記１つまたは複数のプロセッサは、前記適応メトリックを決定するとき、前記サポート領域中の各ピクセルについての第１の予測ピクセル値と前記サポート領域中の各ピクセルについての第２の予測ピクセル値との間の絶対差分に基づいて前記適応メトリックを決定するように構成され、
前記第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し、
前記第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し、
前記第１の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第２の動きベクトルから予測され、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させることは、前記決定された絶対差分が差分しきい値よりも大きいときに前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにすることを備える、ビデオコーディングデバイス。
【請求項２７】
ビデオデータをコーディングするように構成されたビデオコーディングデバイスであって、前記ビデオコーディングデバイスは、
パーティション境界によって分離された前記ビデオデータの１つまたは複数のブロックの第１のパーティションと第２のパーティションとのうちの一方に対するサポート領域中の少なくとも１つのピクセルに基づき適応メトリックを決定する手段と、前記サポート領域はビデオデータの１つまたは複数のブロック全体でない、
前記ビデオブロックの前記第１のパーティションを表す第１の予測ブロックについて前記パーティション境界の近くの予測ピクセル値を決定するために、前記適応メトリックに基づいて、重複ブロック動き補償プロセスの適用を適応させる手段と、
を備え、
前記適応メトリックを決定する前記手段は、前記サポート領域中の前記少なくとも１つのピクセルについての第１の予測ピクセル値と前記サポート領域中の前記少なくとも１つのピクセルについての第２の予測ピクセル値とに基づいて前記適応メトリックを決定する手段を備え、
前記第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し、
前記第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し、
前記第１の予測ピクセル値は前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は前記第２の動きベクトルから予測される、
ビデオコーディングデバイス。
【請求項２８】
前記サポート領域は、前記ビデオデータの前記１つまたは複数のブロックが存在するフレームと、ビデオデータの前記ブロックが存在する前記フレームの領域と、前記第１のパーティションと、前記第２のパーティションと、前記第１のパーティションまたは前記第２のパーティションのいずれかの中の前記パーティション境界の近くの前記ピクセルの一部分、前記第１のパーティションのダウンサンプリングされたバージョン、前記第２のパーティションのダウンサンプリングされたバージョン、および前記第１のパーティションまたは前記第２のパーティションのいずれかのための前記遷移領域のダウンサンプリングされたバージョンを含む、前記第１のパーティションまたは前記第２のパーティションのいずれかのための遷移領域とのうちの１つを備える、請求項２７に記載のビデオコーディングデバイス。
【請求項２９】
前記適応メトリックを決定する前記手段は、前記サポート領域中の前記少なくとも１つのピクセルについての前記第１の予測ピクセル値と前記サポート領域中の前記少なくとも１つのピクセルについての前記第２の予測ピクセル値との間の差分に基づいて前記適応メトリックを決定する手段を備える、
請求項２７に記載のビデオコーディングデバイス。
【請求項３０】
前記適応メトリックを決定する前記手段は、前記サポート領域中の各ピクセルについての第１の予測ピクセル値と前記サポート領域中の各ピクセルについての第２の予測ピクセル値との間の絶対差分に基づいて前記適応メトリックを決定する手段を備え、
前記第１の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第２の動きベクトルから予測される、請求項２７に記載のビデオコーディングデバイス。
【請求項３１】
前記適応メトリックを決定する前記手段は、前記サポート領域中の各ピクセルについての第１の予測ピクセル値と前記サポート領域中の前記ピクセルの各々についての第２の予測ピクセル値との間の平均ピクセル差分に基づいて前記適応メトリックを決定する手段を備え、
前記第１の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第２の動きベクトルから予測される、請求項２７に記載のビデオコーディングデバイス。
【請求項３２】
前記第１の動きベクトルは、精度を有し、
前記適応メトリックを決定する前記手段は、前記少なくとも１つのピクセルと前記第１の動きベクトルの前記精度とに基づく前記適応メトリックを決定する手段を備え、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させる前記手段は、前記第１の動きベクトルの前記精度がしきい値精度よりも小さいときに前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにする手段を備え、
前記しきい値精度は、整数精度と、ハーフペル精度と、クォーターペル精度とのうちの１つを備える、請求項２７に記載のビデオコーディングデバイス。
【請求項３３】
ビデオデータの前記１つまたは複数のブロックはそれぞれブロックサイズに関連し、
前記適応メトリックを決定する前記手段は、前記少なくとも１つのピクセルと、ビデオデータの前記１つまたは複数のブロックのうちの少なくとも１つの前記ブロックサイズとに基づく前記適応メトリックを決定する手段を備え、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させる前記手段は、前記決定されたブロックサイズがブロックサイズしきい値よりも小さいときに前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにする手段を備え、
前記決定されたブロックサイズは、ビデオブロックサイズと、前記ブロックの前記第１のパーティションに適用される変換のサイズを識別する変換ブロックサイズとのうちの一方を備える、請求項２７に記載のビデオコーディングデバイス。
【請求項３４】
前記第１のパーティションは予測方向に関連し、
前記適応メトリックを決定する前記手段は、前記少なくとも１つのピクセルと前記予測方向とに基づく前記適応メトリックを決定する手段を備え、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させる前記手段は、前記第１のパーティションの前記予測方向が双方向であるときに前記第２のパーティションに対する前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにする手段を備える、請求項２７に記載のビデオコーディングデバイス。
【請求項３５】
前記第１のパーティションは第１の予測方向に関連し、
前記第２のパーティションは第２の予測方向に関連し、
前記適応メトリックを決定する前記手段は、前記少なくとも１つのピクセルと前記第１の予測方向と前記第２の予測方向とに基づく前記適応メトリックを決定する手段を備え、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させる前記手段は、
前記第１の予測方向が双方向であり、前記第２の予測方向が単方向であるときに前記第１のパーティションに対する前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにする手段と、
前記第１の予測方向が単方向であり、前記第２の予測方向が双方向であるときに前記第１のパーティションに対する前記重複ブロック動き補償プロセスの適用を選択的にイネーブルにする手段と、
を備える、請求項２７に記載のビデオコーディングデバイス。
【請求項３６】
前記第１の動きベクトルは、精度を有し、
前記適応メトリックを決定する前記手段は、前記少なくとも１つのピクセルと前記第１の動きベクトルの前記精度とに基づく前記適応メトリックを決定する手段を備え、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させる前記手段は、前記第１の動きベクトルの精度が分数であるときに前記第１の動きベクトルの前記精度を低減する手段を備え、前記第１のパーティションに関連する前記第１の動きベクトルの代わりに前記低減された精度の動きベクトルを使用するように前記重複ブロック動き補償プロセスの前記適用を適応させる、請求項２７に記載のビデオコーディングデバイス。
【請求項３７】
ビデオデータをコーディングするように構成されたビデオコーディングデバイスであって、前記ビデオコーディングデバイスは、
パーティション境界によって分離された前記ビデオデータの１つまたは複数のブロックの第１のパーティションと第２のパーティションとのうちの一方に対するサポート領域中の少なくとも１つのピクセルに基づき適応メトリックを決定する手段と、前記サポート領域はビデオデータの１つまたは複数のブロック全体でない、
前記ビデオブロックの前記第１のパーティションを表す第１の予測ブロックについて前記パーティション境界の近くの予測ピクセル値を決定するために、前記適応メトリックに基づいて、重複ブロック動き補償プロセスの適用を適応させる手段と、
を備え、
前記第１のパーティションは予測方向に関連し、
前記適応メトリックを決定する前記手段は、前記少なくとも１つのピクセルと前記予測方向とに基づく前記適応メトリックを決定する手段を備え、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させる前記手段は、前記決定された予測方向が双方向であるときに、前記第１のパーティションに関連する２つの動きベクトルのうちの一方のみを選択する手段を備え、前記２つの動きベクトルの代わりに前記２つの動きベクトルのうちの前記選択された一方のみを使用するように前記重複ブロック動き補償プロセスの適用を適応させる、ビデオコーディングデバイス。
【請求項３８】
ビデオデータをコーディングするように構成されたビデオコーディングデバイスであって、前記ビデオコーディングデバイスは、
パーティション境界によって分離された前記ビデオデータの１つまたは複数のブロックの第１のパーティションと第２のパーティションとのうちの一方に対するサポート領域中の少なくとも１つのピクセルに基づき適応メトリックを決定する手段と、前記サポート領域はビデオデータの１つまたは複数のブロック全体でない、
前記ビデオブロックの前記第１のパーティションを表す第１の予測ブロックについて前記パーティション境界の近くの予測ピクセル値を決定するために、前記適応メトリックに基づいて、重複ブロック動き補償プロセスの適用を適応させる手段と、
を備え、
前記サポート領域は、前記第１のパーティション中の前記パーティション境界の近くの前記ピクセルの一部分を含む前記第１のパーティションのための遷移領域の一部分と、前記第１のパーティションのための前記遷移領域のダウンサンプリングされたバージョンと、前記第１のパーティションとのうちの１つまたは複数を備え、
前記適応メトリックを決定する前記手段は、前記サポート領域中の各ピクセルについての第１の予測ピクセル値と前記サポート領域中の各ピクセルについての第２の予測ピクセル値との間の絶対差分に基づいて前記適応メトリックを決定する手段を備え、
前記第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し、
前記第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し、
前記第１の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第２の動きベクトルから予測され、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させる前記手段は、前記決定された絶対差分が差分しきい値よりも大きいときに前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにする手段を備える、ビデオコーディングデバイス。
【請求項３９】
実行されたとき、ビデオデータをコーディングするためのデバイスの１つまたは複数のプロセッサに、
パーティション境界によって分離された前記ビデオデータの１つまたは複数のブロックの第１のパーティションと第２のパーティションとのうちの一方に対するサポート領域中の少なくとも１つのピクセルに基づき適応メトリックを決定することと、前記サポート領域はビデオデータの１つまたは複数のブロック全体でない、
前記ビデオブロックの前記第１のパーティションを表す第１の予測ブロックについて前記パーティション境界の近くの予測ピクセル値を決定するために、前記適応メトリックに基づいて、重複ブロック動き補償プロセスの適用を適応させることと、
を行わせる命令を記憶し、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記適応メトリックを決定するとき、前記サポート領域中の前記少なくとも１つのピクセルについての第１の予測ピクセル値と前記サポート領域中の前記少なくとも１つのピクセルについての第２の予測ピクセル値とに基づいて前記適応メトリックを決定させ、
前記第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し、
前記第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し、
前記第１の予測ピクセル値は前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は前記第２の動きベクトルから予測される、
コンピュータ可読記憶媒体。
【請求項４０】
前記サポート領域は、前記ビデオデータの前記１つまたは複数のブロックが存在するフレームと、ビデオデータの前記ブロックが存在する前記フレームの領域と、前記第１のパーティションと、前記第２のパーティションと、前記第１のパーティションまたは前記第２のパーティションのいずれかの中の前記パーティション境界の近くの前記ピクセルの一部分、前記第１のパーティションのダウンサンプリングされたバージョン、前記第２のパーティションのダウンサンプリングされたバージョン、および前記第１のパーティションまたは前記第２のパーティションのいずれかのための前記遷移領域のダウンサンプリングされたバージョンを含む、前記第１のパーティションまたは前記第２のパーティションのいずれかのための遷移領域とのうちの１つを備える、請求項３９に記載のコンピュータ可読記憶媒体。
【請求項４１】
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記適応メトリックを決定するとき、前記サポート領域中の前記少なくとも１つのピクセルについての前記第１の予測ピクセル値と前記サポート領域中の前記少なくとも１つのピクセルについての前記第２の予測ピクセル値との間の差分に基づいて前記適応メトリックを決定させる、
請求項３９に記載のコンピュータ可読記憶媒体。
【請求項４２】
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記適応メトリックを決定するとき、前記サポート領域中の各ピクセルについての第１の予測ピクセル値と前記サポート領域中の各ピクセルについての第２の予測ピクセル値との間の絶対差分に基づいて前記適応メトリックを決定させ、
前記第１の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第２の動きベクトルから予測される、請求項３９に記載のコンピュータ可読記憶媒体。
【請求項４３】
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記適応メトリックを決定するとき、前記サポート領域中の各ピクセルについての第１の予測ピクセル値と前記サポート領域中の前記ピクセルの各々についての第２の予測ピクセル値との間の平均ピクセル差分に基づいて前記適応メトリックを決定させ、
前記第１の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第２の動きベクトルから予測される、請求項３９に記載のコンピュータ可読記憶媒体。
【請求項４４】
前記第１の動きベクトルは、精度を有し、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記適応メトリックを決定するとき、前記少なくとも１つのピクセルと前記第１の動きベクトルの前記精度とに基づく前記適応メトリックを決定させ、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記重複ブロック動き補償プロセスの適用を適応させるとき、前記第１の動きベクトルの前記精度がしきい値精度よりも小さいときに前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにさせ、
前記しきい値精度は、整数精度と、ハーフペル精度と、クォーターペル精度とのうちの１つを備える、請求項３９に記載のコンピュータ可読記憶媒体。
【請求項４５】
ビデオデータの前記１つまたは複数のブロックはそれぞれブロックサイズに関連し、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記適応メトリックを決定するとき、前記少なくとも１つのピクセルとビデオデータの前記１つまたは複数のブロックのうちの少なくとも１つの前記ブロックサイズとに基づく前記適応メトリックを決定させ、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記重複ブロック動き補償プロセスの適用を適応させるとき、前記決定されたブロックサイズがブロックサイズしきい値よりも小さいときに前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにさせ、
前記決定されたブロックサイズは、ビデオブロックサイズと、前記ブロックの前記第１のパーティションに適用される変換のサイズを識別する変換ブロックサイズとのうちの一方を備える、請求項３９に記載のコンピュータ可読記憶媒体。
【請求項４６】
前記第１のパーティションは予測方向に関連し、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記適応メトリックを決定するとき、前記少なくとも１つのピクセルと前記予測方向とに基づく前記適応メトリックを決定させ、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記重複ブロック動き補償プロセスの適用を適応させるとき、前記第１のパーティションの前記予測方向が双方向であるときに前記第２のパーティションに対する前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにさせる、請求項３９に記載のコンピュータ可読記憶媒体。
【請求項４７】
前記第１のパーティションは第１の予測方向に関連し、
前記第２のパーティションは第２の予測方向に関連し、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記適応メトリックを決定するとき、前記少なくとも１つのピクセルと前記第１の予測方向と前記第２の予測方向とに基づく前記適応メトリックを決定させ、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記重複ブロック動き補償プロセスの適用を適応させるとき、
前記第１の予測方向が双方向であり、前記第２の予測方向が単方向であるときに前記第１のパーティションに対する前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにすることと、
前記第１の予測方向が単方向であり、前記第２の予測方向が双方向であるときに前記第１のパーティションに対する前記重複ブロック動き補償プロセスの適用を選択的にイネーブルにすることと
を行わせる、請求項３９に記載のコンピュータ可読記憶媒体。
【請求項４８】
前記第１の動きベクトルは、精度を有し、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記適応メトリックを決定するとき、前記少なくとも１つのピクセルと前記第１の動きベクトルの前記精度とに基づく前記適応メトリックを決定させ、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記重複ブロック動き補償プロセスの適用を適応させるとき、前記第１の動きベクトルの精度が分数であるときに前記第１の動きベクトルの前記精度を低減させ、前記第１のパーティションに関連する前記第１の動きベクトルの代わりに前記低減された精度の動きベクトルを使用するように前記重複ブロック動き補償プロセスの前記適用を適応させる、請求項３９に記載のコンピュータ可読記憶媒体。
【請求項４９】
実行されたとき、ビデオデータをコーディングするためのデバイスの１つまたは複数のプロセッサに、
パーティション境界によって分離された前記ビデオデータの１つまたは複数のブロックの第１のパーティションと第２のパーティションとのうちの一方に対するサポート領域中の少なくとも１つのピクセルに基づき適応メトリックを決定することと、前記サポート領域はビデオデータの１つまたは複数のブロック全体でない、
前記ビデオブロックの前記第１のパーティションを表す第１の予測ブロックについて前記パーティション境界の近くの予測ピクセル値を決定するために、前記適応メトリックに基づいて、重複ブロック動き補償プロセスの適用を適応させることと、
を行わせる命令を記憶し、
前記第１のパーティションは予測方向に関連し、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記適応メトリックを決定するとき、前記少なくとも１つのピクセルと前記予測方向とに基づく前記適応メトリックを決定させ、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記重複ブロック動き補償プロセスの適用を適応させるとき、前記決定された予測方向が双方向であるときに前記第１のパーティションに関連する２つの動きベクトルのうちの一方のみを選択させ、前記２つの動きベクトルの代わりに前記２つの動きベクトルのうちの前記選択された一方のみを使用するように前記重複ブロック動き補償プロセスの適用を適応させる、コンピュータ可読記憶媒体。
【請求項５０】
実行されたとき、ビデオデータをコーディングするためのデバイスの１つまたは複数のプロセッサに、
パーティション境界によって分離された前記ビデオデータの１つまたは複数のブロックの第１のパーティションと第２のパーティションとのうちの一方に対するサポート領域中の少なくとも１つのピクセルに基づき適応メトリックを決定することと、前記サポート領域はビデオデータの１つまたは複数のブロック全体でない、
前記ビデオブロックの前記第１のパーティションを表す第１の予測ブロックについて前記パーティション境界の近くの予測ピクセル値を決定するために、前記適応メトリックに基づいて、重複ブロック動き補償プロセスの適用を適応させることと、
を行わせる命令を記憶し、
前記サポート領域は、前記第１のパーティション中の前記パーティション境界の近くの前記ピクセルの一部分を含む前記第１のパーティションのための遷移領域の一部分と、前記第１のパーティションのための前記遷移領域のダウンサンプリングされたバージョンと、前記第１のパーティションとのうちの１つまたは複数を備え、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記適応メトリックを決定するとき、前記サポート領域中の各ピクセルについての第１の予測ピクセル値と前記サポート領域中の各ピクセルについての第２の予測ピクセル値との間の絶対差分に基づいて前記適応メトリックを決定させ、
前記第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し、
前記第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し、
前記第１の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第２の動きベクトルから予測され、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記重複ブロック動き補償プロセスの適用を適応させるとき、前記決定された絶対差分が差分しきい値よりも大きいときに前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにさせる、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【優先権の主張】
【０００１】
本出願は、２０１１年１１月１８日に出願された米国仮出願第６１／５６１，７８３号の利益を主張する。
【技術分野】
【０００２】
本開示は、ビデオコーディングに関し、より詳細には、ビデオコーディング中に重複ブロック動き補償（overlapped block motion compensation）を適応的に実行することに関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）、現在開発中の高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的（イントラピクチャ）予測および／または時間的（インターピクチャ）予測を実行する。ブロックベースのビデオコーディングでは、ビデオスライス（すなわち、ビデオフレームまたはビデオフレームの一部）はビデオブロックに区分され得、これらのビデオブロックは、ツリーブロック、コーディングユニット（ＣＵ：coding unit）および／またはコーディングノードと呼ばれることがある。ピクチャのイントラコード化（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック内の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコード化ブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。量子化変換係数は、最初は２次元アレイで構成され、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコーディングが適用され得る。
【発明の概要】
【０００６】
[0006]概して、本開示は、ビデオデータをコーディングするときに適応型重複ブロック動き補償を実行するための技法について説明する。ビデオエンコーダは、いくつかの方法でＯＢＭＣを適応的に実行するために、本開示で説明する技法を実装し得る。新生のビデオコーディング規格において予測ユニット（ＰＵ：prediction unit）と通常呼ばれる、ビデオデータのブロックの２つのパーティション間の境界を指す、いわゆる動き境界（motion boundary）に沿ったピクセルにＯＢＭＣをブランクに適用するのではなく、本技法は、いくつかの事例において知覚される視覚的品質を低減することなしに動き境界に沿ったピクセルの平滑化を潜在的に改善するように、ビデオデータの特定のブロックに対するＯＢＭＣの適用を適応させ得る。すなわち、動き境界に沿った（不連続性の一例である）シャープエッジを保持することが、高い視覚的品質を保持するのに望ましいことがあるいくつかの事例があり得る。これらの事例に適応するために、ＯＢＭＣは、本開示で説明する技法に従って、知覚される視覚的品質の低減を生じることになる不連続性を潜在的に低減するとともに、知覚される視覚的品質を維持するまたは増加させることになる不連続性を保持するように適応され得る。
【０００７】
[0007]一例では、ビデオデータをコーディングするための方法は、パーティション境界によって分離されたビデオデータの１つまたは複数のブロックの第１のパーティションと第２のパーティションとのうちの一方に対するサポート領域から適応メトリックを決定すること、を備え、ここで、サポート領域はビデオデータの１つまたは複数のブロック全体でない。本方法は、適応メトリックに基づいて、ビデオブロックの第１のパーティションを表す第１の予測ブロックのためのパーティション境界の近くの予測ピクセル値を決定するために、重複ブロック動き補償プロセスの適用を適応させることをさらに備える。
【０００８】
[0008]別の例では、ビデオデータをコーディングするように構成されたビデオコーディングデバイスは、パーティション境界によって分離されたビデオデータの１つまたは複数のブロックの第１のパーティションと第２のパーティションとのうちの一方に対するサポート領域から適応メトリックを決定することと、サポート領域はビデオデータの１つまたは複数のブロック全体でなく、適応メトリックに基づいて、ビデオブロックの第１のパーティションを表す第１の予測ブロックのためのパーティション境界の近くの予測ピクセル値を決定するために、重複ブロック動き補償プロセスの適用を適応させることと、を行うように構成された１つまたは複数のプロセッサを備える。
【０００９】
[0009]別の例では、ビデオデータをコーディングするように構成されたビデオコーディングデバイスは、パーティション境界によって分離されたビデオデータの１つまたは複数のブロックの第１のパーティションと第２のパーティションとのうちの一方に対するサポート領域から適応メトリックを決定する手段と、サポート領域はビデオデータの１つまたは複数のブロック全体でなく、適応メトリックに基づいて、ビデオブロックの第１のパーティションを表す第１の予測ブロックのためのパーティション境界の近くの予測ピクセル値を決定するために、重複ブロック動き補償プロセスの適用を適応させる手段と、を備える。
【００１０】
[0010]別の例では、コンピュータプログラム製品は、実行されたとき、ビデオデータをコーディングするためのデバイスの１つまたは複数のプロセッサに、パーティション境界によって分離されたビデオデータの１つまたは複数のブロックの第１のパーティションと第２のパーティションとのうちの一方に対するサポート領域から適応メトリックを決定することと、サポート領域はビデオデータの１つまたは複数のブロック全体でなく、適応メトリックに基づいて、ビデオブロックの第１のパーティションを表す第１の予測ブロックのためのパーティション境界の近くの予測ピクセル値を決定するために、重複ブロック動き補償プロセスの適用を適応させることと、を行わせる命令を記憶したコンピュータ可読記憶媒体を備える。
【００１１】
[0011]１つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１２】
【図１】本開示で説明する適応型重複ブロック動き補償技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】本開示で説明する適応型重複ブロック動き補償技法を実装し得る例示的なビデオエンコーダを示すブロック図。
【図３】本開示で説明する技法を実装し得る例示的なビデオデコーダを示すブロック図。
【図４Ａ】適応型ＯＢＭＣ技法が適用され得るそれぞれのブロックを示す図。
【図４Ｂ】適応型ＯＢＭＣ技法が適用され得るそれぞれのブロックを示す図。
【図５】ビデオデータのブロックが区分され得る潜在的方法を示す図。
【図６】本開示で説明する適応型重複ブロック動き補償技法を実行する際のビデオエンコーダの例示的な動作を示すフローチャート。
【図７】本開示で説明する適応型重複ブロック動き補償技法を実行する際のビデオデコーダの例示的な動作を示すフローチャート。
【発明を実施するための形態】
【００１３】
[0019]本開示では、ビデオエンコーダまたはビデオデコーダのいずれかなど、ビデオコーダが重複ブロック動き補償（ＯＢＭＣ：overlapped block motion compensation）を適応的に実行することを可能にし得る技法について説明する。ＯＢＭＣは、動き境界に沿ったピクセル値を平滑化する技法を指し、「動き境界」という用語は、現在開発中の高効率ビデオコーディング（ＨＥＶＣ）と呼ばれる新生のビデオコーディング規格において「予測ユニット」または「ＰＵ」と通常呼ばれるものの間の境界を指す。これらの予測ユニットは、コーディングユニット（ＣＵ）のコーディングノードの部分を示し、これらの部分がインターコーティングされるときに動きベクトルを決定するために、これらの部分に対して動き補償および動き推定が実行され得る。
【００１４】
[0020]一般に、この（「予測境界」と呼ばれることもある）動き境界は、ビデオコーダが、予測ユニットの各々について異なる動きベクトルを決定し得るように、隣接する予測ユニット間の不連続性のラインを表す。この不連続性は、ピクセル値の不連続性または大きい変化が、コーディングするのにより多くのビットを必要とし得るので、コーディング非効率を生じ得る。その上、そのような不連続性は、十分なビットレートで適切にコーディングされない場合、顕著であり得る視覚的アーティファクトを生じ、したがって、コード化ビデオデータから再構成されるときにビデオデータの品質を損ない得る。この不連続性の程度を平滑化するか、または場合によっては低減するために、ＯＢＭＣがこれらの動き境界において適用され、それによってコーディングビットレートと視覚的アーティファクトの発生とを潜在的に改善し得る。
【００１５】
[0021]ＯＢＭＣは、概して、この予測境界を囲む領域またはエリア内のピクセルについて２つの予測を生成することを伴う。２つの予測のうちの一方は、予測境界に沿った１つの予測ユニットの動きベクトルを使用し、２つの予測のうちの他方または第２の予測は、予測境界に沿った第２の予測ユニットの動きベクトルを使用する。したがって、ＯＢＭＣでは、第１のＰＵと第２のＰＵとの間の予測境界に沿った（「ＰＵ０」と示され得る）第１の予測ユニットについて決定された（「ＭＶ０」と示され得る）動きベクトルを使用して、予測ブロックのピクセルについての第１のピクセル値が予測され、ＰＵ０とＰＵ１との間の予測境界に沿った（「ＰＵ１」と示され得る）第２のＰＵについて決定された（「ＭＶ１」と示され得る）動きベクトルを使用して、予測ブロックのピクセルについての第２のピクセル値が予測される。
【００１６】
[0022]この予測ブロックについての最終ピクセル値を決定するために、ビデオエンコーダは、一般に、ピクセル値の重み付き和を実行することによって、第１のピクセル値と第２のピクセル値の両方を組み合わせ、しばしば、予測ブロックのピクセルが存在するＰＵによって識別される部分に関連するＭＶを使用して予測されるピクセル値に、より高い重みを割り当て、予測ブロックのピクセルが存在しないＰＵによって識別される部分に関連しないＭＶを使用して予測されるピクセル値に、より小さい重みを割り当てる。ビデオコーダは、次いで、重み付き和の結果を、予測ブロックについてのピクセル値として使用する。このようにして、ビデオコーダは、予測境界に沿った不連続性を平滑化するためにＯＢＭＣを実行し得、それにより、再び（ビデオデータをコーディングするために使用されるビットに関して）コーディング効率を改善し、潜在的にアーティファクトを低減し得る。
【００１７】
[0023]ＯＢＭＣは、概して、予測境界に沿ったピクセル値を平滑化し得るが、（不連続性の一例である）シャープエッジを保持することが、高い視覚的品質を保持するのに望ましいことがあるいくつかの事例がある。いくつかの事例では、たとえば、そのような不連続性は、所与のビデオフレーム中で対象物または動きを適切に定義するのに必要であり得、これらの不連続性を平滑化することにより、視覚的品質を著しく損なう望ましくない不鮮明または不明確な対象物を生じ得る。本開示の技法は、視覚的品質を向上させ得る不連続性を平滑化することを回避するための試みにおいてＯＢＭＣを適応させ得る。
【００１８】
[0024]例示のために、ビデオエンコーダは、遷移領域（transition region）中のピクセル値、遷移領域内のピクセル値のサブブロック、パーティションの特定の特性、特定のパーティションの遷移領域に沿った境界条件、または上記のうちの１つまたは複数の何らかの組合せに基づいてＯＢＭＣを適応的に実行するために本開示で説明する技法を実装し得る。「遷移領域」という用語は、概して、パーティション境界に隣接するパーティションの一方または両方内のパーティション境界の近くの、またはそれに隣接するピクセルを指すことがある。
【００１９】
[0025]ビデオコーダは、いくつかの方法でＯＢＭＣの適用を適応させ得る。いくつかの事例では、ビデオコーダは、第１のピクセル値と第２のピクセル値との重み付き和を計算するときに使用される重みを適応させ得る。第１のピクセル値と第２のピクセル値とに関して説明するが、ＯＢＭＣは、予測ピクセル値を決定するために３つ以上のピクセル値を伴い得る。これらの事例では、一般に、ビデオデータの一部分の１つのパーティション内で、または２つ以上のパーティションにわたって、３×３または５×５（この表記法は、３ピクセル×３ピクセルまたは５ピクセル×５ピクセルのアレイに適用されるフィルタを平滑化することを指すことがある）など、様々なサイズの平滑化フィルタを適用するために、ＯＢＭＣが考慮され得る。すなわち、フィルタ処理は、フィルタがビデオデータのブロックの第１のパーティション中のピクセルと第２のパーティション中のピクセルとに適用されるように実行され得る。いくつかの事例では、本技法は、これらのフィルタの係数を適応させ得る。他の事例では、ビデオコーダは、たとえば、フィルタのあらかじめ定義された非０セットから、遷移領域中のピクセルごとに異なるフィルタを選択することによってこの適応を実行し得る。他の事例では、ビデオコーダは、そのようなフィルタ処理をイネーブルおよびディセーブルにすることによってＯＢＭＣを適応的に実行し得る。いくつかの事例では、ビデオエンコーダは、上記で説明した技法の３つの適応態様のうちの２つ以上の組合せを使用してＯＢＭＣを適応的に実行し得る。
【００２０】
[0026]動作中、ビデオコーダは、最初に、ビデオコーダが適応メトリックと呼ばれることがあるものを決定するために考慮するエリアを指すサポート領域を決定し得る。サポート領域はフレーム全体またはフレーム内の領域を備え得る。サポート領域は、当該のブロック内のピクセルのサブセットを備え得る。サポート領域は、言い換えれば、フレームまたはブロック全体を備えないことがあるが、フレームまたはブロック内のピクセルのうちの一部分またはサブセットのみを備え得る。一般に、メモリ帯域幅要件を低減するために、サポート領域は、パーティション境界に隣接するブロックをカバーする。ある実装形態では、メモリ帯域幅要件をさらに低減するために、ビデオデコーダが、パーティション形成の各々の遷移領域、またはパーティション境界に沿った遷移領域を含むためにサポート領域を決定し得る。サポート領域は、一般に、クォーターペルピクセル精度（quarter pel pixel precision）またはハーフペルピクセル精度（half pel pixel precision）を有する動きベクトルを使用した結果として生じる補間ピクセルを含み得る。
【００２１】
[0027]いずれの場合も、サポートの１つまたは複数の領域を決定した後に、ビデオコーダは、次いで、サポートの決定された１つまたは複数の領域のための適応メトリックを決定する。例示のために、サポート領域のうちの所与の１つについて、ビデオコーダは、同じ位置の２つのピクセル値間の差分を計算し得、ピクセル値のうちの一方は、その位置からの現在パーティション動きベクトルから予測され、他方は、他のパーティションのための動きベクトルから予測される。ビデオコーダは、差分の絶対値として、または２乗誤差差分として差分を計算し得る。
【００２２】
[0028]本技法は、（実行されるオペレーションの数に関する）多種多様な複雑さとメモリ帯域幅要件とを適合させるために、任意の数の適応が単独で、または互いとの異なる組合せのいずれかで使用され得るように実装され得る。一例として、主要な要件として計算複雑さを考慮すると、パーティションベースの適応がビデオコーダ中に実装され得る。適応型ＯＭＢＣのこの例示的なビデオコーダ実装形態は、ＯＢＭＣをイネーブル（enable）またはディセーブル(desable)にするための適応を伴い得る。この例示的な実装形態の場合のサポート領域は、遷移領域の中央領域、またはダウンサンプリングされた遷移領域など、遷移領域の一部分として定義され得る。適応メトリックの場合、例示的な実装形態は、サポート領域中のピクセルの絶対差分としてメトリックを設定し得る。この組合せに基づいて、ＯＢＭＣの例示的なビデオコーダ実装形態は、遷移領域のパーティションと中央領域の両方の中のピクセルの絶対差分和に基づいてＯＢＭＣをイネーブルまたはディセーブルにする。絶対差分和がしきい値よりも大きい場合、ビデオコーダはこのパーティションに対するＯＢＭＣをディセーブルにする。代替として、絶対差分和がしきい値よりも小さいかまたはそれに等しい場合、ビデオコーダはこのパーティションに対するＯＢＭＣをイネーブルにする。
【００２３】
[0029]図１は、本開示で説明する技法を利用し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示すように、システム１０は、宛先デバイス１４によって後で復号されるべき符号化ビデオデータを生成するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信のために装備され得る。
【００２４】
[0030]宛先デバイス１４は、リンク１６を介して復号されるべき符号化ビデオデータを受信し得る。リンク１６は、ソースデバイス１２から宛先デバイス１４に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、リンク１６は、ソースデバイス１２が、符号化ビデオデータをリアルタイムで宛先デバイス１４に直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００２５】
[0031]代替的に、符号化データは、出力インターフェース２２からストレージデバイス３２に出力され得る。同様に、符号化データは、入力インターフェースによってストレージデバイス３２からアクセスされ得る。ストレージデバイス３２は、ハードドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散したまたはローカルでアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイス３２は、ソースデバイス１２によって生成された符号化ビデオを保持し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介して、ストレージデバイス３２から、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することと、その符号化ビデオデータを宛先デバイス１４に送信することとが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、（たとえば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブを含む。宛先デバイス１４は、インターネット接続を含む、任意の標準のデータ接続を介して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組合せを含み得る。ストレージデバイス３２からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
【００２６】
[0032]本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００２７】
[0033]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。場合によっては、出力インターフェース２２は、変調器／復調器（モデム）および／または送信機を含み得る。ソースデバイス１２において、ビデオソース１８は、たとえばビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および／またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組合せを含み得る。一例として、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。
【００２８】
[0034]キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ１２によって符号化され得る。符号化ビデオデータは、ソースデバイス２０の出力インターフェース２２を介して宛先デバイス１４に直接送信され得る。符号化ビデオデータは、さらに（または代替として）、復号および／または再生のための宛先デバイス１４または他のデバイスによる後のアクセスのためにストレージデバイス３２上に記憶され得る。
【００２９】
[0035]宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。場合によっては、入力インターフェース２８は、受信機および／またはモデムを含み得る。宛先デバイス１４の入力インターフェース２８は、リンク１６を介して符号化ビデオデータを受信する。リンク１６を介して通信され、またはストレージデバイス３２上に与えられた符号化ビデオデータは、ビデオデータを復号する際に、ビデオデコーダ３０など、ビデオデコーダが使用するためのビデオエンコーダ２０によって生成される様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体上に記憶されるか、またはファイルサーバ上に記憶される符号化ビデオデータとともに含まれ得る。
【００３０】
[0036]ディスプレイデバイス３２は、宛先デバイス１４と一体化されるかまたはその外部にあり得る。いくつかの例では、宛先デバイス１４は、一体型ディスプレイデバイスを含み得、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス１４はディスプレイデバイスであり得る。概して、ディスプレイデバイス３２は、復号されたビデオデータをユーザに対して表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００３１】
[0037]ビデオエンコーダ２０およびビデオデコーダ３０は、現在開発中の高効率ビデオコーディング（ＨＥＶＣ）規格など、ビデオ圧縮規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４，Ｐａｒｔ１０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格、またはそのような規格の拡張版など、他のプロプライエタリまたは業界標準に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例には、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。
【００３２】
[0038]図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、いくつかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００３３】
[0039]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、１つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００３４】
[0040]ＪＣＴ−ＶＣは、ＨＥＶＣ規格の開発に取り組んでいる。ＨＥＶＣ規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＭは３３個ものイントラ予測符号化モードを提供し得る。
【００３５】
[0041]概して、ＨＭの作業モデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロックまたは最大コーディングユニット（ＬＣＵ：largest coding unit）に分割され得ることを記載している。ツリーブロックは、Ｈ．２６４規格のマクロブロックと同様の目的を有する。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、１つまたは複数のスライスに区分され得る。各ツリーブロックは、４分木に従ってコーディングユニット（ＣＵ）に分割され得る。たとえば、４分木のルートノードとしてのツリーブロックは、４つの子ノードに分割され得、各子ノードは、次に、親ノードとなり、別の４つの子ノードに分割され得る。４分木のリーフノードとしての、最終的な、分割されていない子ノードは、コーディングノード、すなわち、コード化ビデオブロックを備える。コード化ビットストリームに関連するシンタックスデータは、ツリーブロックが分割され得る最大回数を定義し得、コーディングノードの最小サイズをも定義し得る。
【００３６】
[0042]ＣＵは、コーディングノードと、コーディングノードに関連する予測ユニット（ＰＵ）および変換ユニット（ＴＵ：transform unit）とを含む。ＣＵのサイズは、コーディングノードのサイズに対応し、形状が方形でなければならない。ＣＵのサイズは、８×８ピクセルから最大６４×６４以上のピクセルをもつツリーブロックのサイズまでに及び得る。各ＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含み得る。ＣＵに関連するシンタックスデータは、たとえば、ＣＵを１つまたは複数のＰＵに区分することを記述し得る。区分モードは、ＣＵが、スキップモード符号化またはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、あるいはインター予測モード符号化されるかの間で異なり得る。ＰＵは、形状が非方形になるように区分され得る。ＣＵに関連するシンタックスデータは、たとえば、４分木に従って、ＣＵを１つまたは複数のＴＵに区分することも記述し得る。ＴＵは、形状が方形または非方形であり得る。
【００３７】
[0043]ＨＥＶＣ規格は、ＣＵごとに異なり得るＴＵに従う変換を可能にする。ＴＵは、一般に、区分されたＬＣＵについて定義された所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。ＴＵは、一般にＰＵと同じサイズであるかまたはＰＵよりも小さい。いくつかの例では、ＣＵに対応する残差サンプルは、「残差４分木」（ＲＱＴ：residual quad tree）として知られる４分木構造を使用して、より小さいユニットに再分割され得る。ＲＱＴのリーフノードは変換ユニット（ＴＵ）と呼ばれることがある。ＴＵに関連するピクセル差分値は、変換されて変換係数が生成され得、その変換係数は量子化され得る。
【００３８】
[0044]概して、ＰＵは、予測プロセスに関係するデータを含む。たとえば、ＰＵがイントラモード符号化されるとき、ＰＵは、ＰＵのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵのための１つまたは複数の動きベクトルを定義するデータを含み得る。ＰＵのための動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（たとえば、１／４ピクセル精度または１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、予測方向（双予測であるか単予測であるかにかかわらず）、および／または動きベクトルの参照ピクチャリスト（たとえば、リスト０、リスト１、またはリストＣ）を記述し得る。
【００３９】
[0045]概して、ＴＵは、変換プロセスと量子化プロセスとのために使用される。１つまたは複数のＰＵを有する所与のＣＵは、１つまたは複数の変換ユニット（ＴＵ）をも含み得る。予測の後に、ビデオエンコーダ２０は、ＰＵに対応する残差値を計算し得る。残差値はピクセル差分値を備え、ピクセル差分値は、エントロピーコーディングのためのシリアル化変換係数（serialized transform coefficient）を生成するためにＴＵを使用して変換係数に変換され、量子化され、走査され得る。本開示では、一般に、ＣＵのコーディングノードを指すために「ビデオブロック」という用語を使用する。いくつかの特定の場合において、本開示では、コーディングノードならびにＰＵおよびＴＵを含む、ツリーブロック、すなわち、ＬＣＵまたはＣＵを指す「ビデオブロック」という用語も使用し得る。
【００４０】
[0046]ビデオシーケンスは、一般に、一連のビデオフレームまたはピクチャを含む。ピクチャグループ（ＧＯＰ）は、概して、ビデオピクチャのうちの一連の１つまたは複数を備える。ＧＯＰは、ＧＯＰ中に含まれるいくつかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ピクチャのうちの１つまたは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックはＣＵ内のコーディングノードに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。
【００４１】
[0047]一例として、ＨＭは、様々なＰＵサイズでの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズでのイントラ予測をサポートし、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎの対称的なＰＵサイズでのインター予測をサポートする。ＨＭはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズでのインター予測のための非対称区分をサポートする。非対称区分では、ＣＵの一方向は区分されないが、他の方向は２５％と７５％とに区分される。２５％の区分に対応するＣＵの部分は、「ｎ」とその後ろに付く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、または「Ｒｉｇｈｔ」という表示によって示される。したがって、たとえば、「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５Ｎ  ＰＵと下部の２Ｎ×１．５Ｎ  ＰＵとで水平方向に区分された２Ｎ×２Ｎ  ＣＵを指す。
【００４２】
[0048]本開示では、「Ｎ×Ｎ（NxN）」および「Ｎ×Ｎ（N by N）」は、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法、たとえば、１６×１６（16x16）ピクセルまたは１６×１６（16 by 16）ピクセルを指すために互換的に使用され得る。一般に、１６×１６ブロックは、垂直方向に１６ピクセルを有し（ｙ＝１６）、水平方向に１６ピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮピクセルを有し、水平方向にＮピクセルを有し、ただし、Ｎは非負整数値を表す。ブロック中のピクセルは行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックはＮ×Ｍピクセルを備え得、ただし、Ｍは必ずしもＮに等しいとは限らない。
【００４３】
[0049]ＣＵの複数のＰＵを使用したイントラ予測コーディングまたはインター予測コーディングの後、ビデオエンコーダ２０は、当該ＣＵの複数のＴＵのための残差データを計算し得る。ＰＵは、（ピクセル領域とも呼ばれる）空間領域においてピクセルデータを備え得、ＴＵは、たとえば、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、ＰＵに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ２０は、ＣＵのための残差データを含むＴＵを形成し、次いで、ＴＵを変換して、ＣＵの変換係数を生成し得る。
【００４４】
[0050]変換係数を生成するための任意の変換の後に、ビデオエンコーダ２０は、変換係数の量子化を実行し得る。量子化は、概して、さらなる圧縮を行う、係数を表すために使用されるデータの量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にｎビット値がｍビット値に切り捨てられ得、ただし、ｎはｍよりも大きい。
【００４５】
[0051]いくつかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ２０は適応型走査を実行し得る。量子化変換係数を走査して１次元ベクトルを形成した後に、ビデオエンコーダ２０は、たとえば、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context-adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context-adaptive binary arithmetic coding）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コーディング、または別のエントロピー符号化方法に従って１次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０が使用するための、符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
【００４６】
[0052]ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、たとえば、シンボルの隣接値が非０であるか否かに関係し得る。ＣＡＶＬＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルのための可変長コードを選択し得る。ＶＬＣにおけるコードワードは、比較的短いコードが優勢（more probable）シンボルに対応し、より長いコードが劣勢(less probable)シンボルに対応するように構成され得る。このようにして、ＶＬＣの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づき得る。
【００４７】
[0053]本開示で説明する技法は、概して、（本明細書では、予測ブロックと呼ぶことがある）予測ビデオブロックを生成するために動き推定および補償を実行した後に実装され得る。この予測ブロックは、上述のＯＢＭＣプロセスを使用して不連続性を低減するために、いわゆる予測境界に沿って平滑化され得る。本技法は、より良い閲覧品質またはエクスペリエンスを提供し得るある不連続性が平滑化されず、より良い閲覧品質またはエクスペリエンスを概して提供しない他の不連続性が平滑化されるように、ＯＢＭＣの適応的適用を可能にし得る。ＯＢＭＣを適応的に適用することによって、本技法は、ビデオエンコーダ２０および／またはビデオデコーダ３０など、ビデオコーダが、視覚的品質の点で多くを犠牲にすることなしにＯＢＭＣによって典型的に提供される、少なくともある程度のコーディング効率とアーティファクト低減利益とを潜在的に与えることを可能にし得る。
【００４８】
[0054]動作中、ビデオコーダは、パーティション境界によって分離されたビデオデータのブロックの第１のパーティションと第２のパーティションとのうちの一方に対するサポート領域から適応メトリックを決定する。ビデオコーダは、次いで、適応メトリックに基づいて、ビデオブロックの第１のパーティションを表す第１の予測ブロックのためのパーティション境界の近くの予測ピクセル値を決定するために、ＯＢＭＣプロセスの適用を適応させる。適応メトリックを決定し、ＯＢＭＣプロセスの適用を適応させるこのプロセスは、いわゆる遷移領域中のピクセルの各々について行われ得、遷移領域は、通常５×５ピクセルまたは３×３ピクセルのサイズであり、他のパーティションからの少なくとも１つのピクセルを含む現在ピクセルを中心とする領域を表し得る。この遷移領域については、図４の例に関してより詳細に説明する。いずれの場合も、本技法は、したがって、ＯＢＭＣプロセスが経時的に別様に適用されるように、ピクセルごとに、サブブロックごとに、遷移領域ごとに、パーティションごとに、または概して他のサポート領域ごとにＯＢＭＣプロセスを適応させ得る。
【００４９】
[0055]図２は、本開示で説明する技法を実装し得る例示的なビデオエンコーダ２０を示すブロック図である。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースの圧縮モードのいずれかを指し得る。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。
【００５０】
[0056]図２の例では、ビデオエンコーダ２０は、区分ユニット３５と、予測処理ユニット４１と、参照ピクチャメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。予測処理ユニット４１は、動き推定ユニット４２と、動き補償ユニット４４と、イントラ予測ユニット４６とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ（図２に図示せず）も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタ処理することになる。追加のループフィルタ（ループ内またはループ後）もデブロッキングフィルタに加えて使用され得る。
【００５１】
[0057]図２に示すように、ビデオエンコーダ２０はビデオデータを受信し、区分ユニット３５はデータをビデオブロックに区分する。この区分は、たとえば、ＬＣＵおよびＣＵの４分木構造に応じて、スライス、タイル、または他のより大きいユニットへの区分、ならびにビデオブロック区分をも含み得る。ビデオエンコーダ２０は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに（および、場合によっては、タイルと呼ばれるビデオブロックのセットに）分割され得る。予測処理ユニット４１は、誤り結果（たとえば、コーディングレートおよびひずみレベル）に基づいて現在ビデオブロックのために、複数のイントラコーディングモードのうちの１つ、または複数のインターコーディングモードのうちの１つなど、複数の可能なコーディングモードのうちの１つを選択し得る。予測処理ユニット４１は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器５０に与え、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器６２に与え得る。
【００５２】
[0058]予測処理ユニット４１内のイントラ予測ユニット４６は、空間圧縮を行うために、コーディングされるべき現在ブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対する現在ビデオブロックのイントラ予測コーディングを実行し得る。予測処理ユニット４１内の動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を行うために、１つまたは複数の参照ピクチャ中の１つまたは複数の予測ブロックに対する現在ビデオブロックのインター予測コーディングを実行する。
【００５３】
[0059]動き推定ユニット４２は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスをＰスライス、ＢスライスまたはＧＰＢスライスに指定し得る。動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット４２によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。
【００５４】
[0060]予測ブロックは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきビデオブロックのＰＵにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ２０は、参照ピクチャメモリ６４に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット４２は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
【００５５】
[0061]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライスにおけるビデオブロックのＰＵのための動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【００５６】
[0062]ビデオエンコーダ２０は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。動き補償ユニット４４はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【００５７】
[0063]イントラ予測ユニット４６は、上記で説明したように、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測ユニット４６は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測ユニット４６は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測ユニット４６（または、いくつかの例では、モード選択ユニット４０）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。たとえば、イントラ予測ユニット４６は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化ブロックを生成するために使用されるビットレート（すなわち、ビット数）を決定する。イントラ予測ユニット４６は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化ブロックのひずみおよびレートから比を計算し得る。ＨＥＶＣとともに使用され得るイントラ予測モードと対応するモードインデックスとの例を付録２(Appendix 2)に示す。
【００５８】
[0064]いずれの場合も、ブロックのイントラ予測モードを選択した後に、イントラ予測ユニット４６は、ブロックについての選択されたイントラ予測モードを示す情報をエントロピーコーディングユニット５６に提供し得る。エントロピーコーディングユニット５６は、本開示の技法に従って選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、送信ビットストリーム中に、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確（most probable）イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを含み得る。
【００５９】
[0065]予測処理ユニット４１が、インター予測またはイントラ予測のいずれかによって現在ビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ２０は、現在ビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、１つまたは複数のＴＵ中に含まれ、変換処理ユニット５２に適用され得る。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット５２は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。
【００６０】
[0066]変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット５６が走査を実行し得る。
【００６１】
[0067]量子化の後に、エントロピー符号化ユニット５６は量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングまたは別のエントロピー符号化方法または技法を実行し得る。エントロピー符号化ユニット５６によるエントロピー符号化の後に、符号化ビットストリームは、ビデオデコーダ３０に送信されるか、あるいはビデオデコーダ３０が後で送信するかまたは取り出すためにアーカイブされ得る。エントロピー符号化ユニット５６はまた、コーディングされている現在ビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
【００６２】
[0068]逆量子化ユニット５８および逆変換ユニット６０は、それぞれ逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器６２は、再構成された残差ブロックを動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ６４に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット４２と動き補償ユニット４４とによって参照ブロックとして使用され得る。
【００６３】
[0069]上記で説明したように、動き補償ユニット４４は、予測ビデオブロックを決定するためにインター予測を実行し得る。いくつかの事例では、動き補償ユニット４４は、重複ブロック動き補償（ＯＢＭＣ：overlapped block motion compensation）と呼ばれる、動き補償の一形態を実行し得る。ＯＢＭＣは、動き境界に沿ったピクセル値を平滑化する技法を指し、「動き境界」という用語は、現在開発中の高効率ビデオコーディング（ＨＥＶＣ）と呼ばれる新生のビデオコーディング規格において「予測ユニット」または「ＰＵ」と通常呼ばれるものの間の境界を指す。これらの予測ユニットは、コーディングユニット（ＣＵ）のコーディングノードの部分を示し、これらの部分がインターコーティングされるときに動きベクトルを決定するために、これらの部分に対して動き補償および動き推定が実行され得る。
【００６４】
[0070]一般に、この（「予測境界」と呼ばれることもある）動き境界は、ビデオコーダが、予測ユニットの各々について異なる動きベクトルを決定し得るように、隣接する予測ユニット間の不連続性のラインを表す。この不連続性は、ピクセル値の不連続性または大きい変化が、コーディングするのにより多くのビットを必要とし得るので、コーディング非効率を生じ得る。その上、そのような不連続性は、十分なビットレートで適切にコーディングされない場合、顕著であり得る視覚的アーティファクトを生じ、したがって、コード化ビデオデータから再構成されるときにビデオデータの品質を損ない得る。この不連続性の程度を平滑化するか、または場合によっては低減するために、ＯＢＭＣがこれらの動き境界において適用され、それによってコーディングビットレートと視覚的アーティファクトの発生とを潜在的に改善し得る。
【００６５】
[0071]ＯＢＭＣは、概して、この予測境界を囲む領域またはエリア内のピクセルについて２つの予測を生成することを伴う。２つの予測のうちの一方は、予測境界に沿った１つの予測ユニットの動きベクトルを使用し、２つの予測のうちの他方または第２の予測は、予測境界に沿った第２の予測ユニットの動きベクトルを使用する。したがって、ＯＢＭＣでは、第１のＰＵと第２のＰＵとの間の予測境界に沿った（「ＰＵ０」と示され得る）第１の予測ユニットについて決定された（「ＭＶ０」と示され得る）動きベクトルを使用して、予測ブロックのピクセルについての第１のピクセル値が予測され、ＰＵ０とＰＵ１との間の予測境界に沿った（「ＰＵ１」と示され得る）第２のＰＵについて決定された（「ＭＶ１」と示され得る）動きベクトルを使用して、予測ブロックのピクセルについての第２のピクセル値が予測される。
【００６６】
[0072]この予測ブロックについての最終ピクセル値を決定するために、動き補償ユニット４４は、一般に、ピクセル値の重み付き和を実行することによって、第１のピクセル値と第２のピクセル値の両方を組み合わせる。しばしば、動き補償ユニット４４は、予測ブロックのピクセルが存在する（reside）ＰＵによって識別される部分に関連するＭＶを使用して予測されるピクセル値に、より高い重みを割り当て、予測ブロックのピクセルが存在しないＰＵによって識別される部分に関連しないＭＶを使用して予測されるピクセル値に、より小さい重みを割り当てる。動き補償ユニット４４は、次いで、重み付き和の結果を、予測ブロックについてのピクセル値として使用する。このようにして、動き補償ユニット４４は、予測境界に沿った不連続性を平滑化するためにＯＢＭＣを実行し得、それにより、再び（ビデオデータをコーディングするために使用されるビットに関して）コーディング効率を改善し、潜在的にアーティファクトを低減し得る。
【００６７】
[0073]ＯＢＭＣは、概して、予測境界に沿ったピクセル値を平滑化し得るが、（不連続性の一例である）シャープエッジを保持することが、高い視覚的品質を保持するのに必要であり得るいくつかの事例がある。いくつかの事例では、たとえば、そのような不連続性は、所与のビデオフレーム中で対象物または動きを適切に定義するのに必要であり得、これらの不連続性を平滑化することにより、視覚的品質を著しく損なう望ましくない不鮮明または不明確な対象物を生じ得る。本開示の技法は、視覚的品質を向上させ得る不連続性を平滑化することを回避するための試みにおいてＯＢＭＣを適応させ得る。
【００６８】
[0074]例示のために、動き補償ユニット４４は、遷移領域中のピクセル値、遷移領域内のピクセル値のサブブロック、パーティションの特定の特性、特定のパーティションの遷移領域に沿った境界条件、または上記のうちの１つまたは複数の何らかの組合せに基づいてＯＢＭＣを適応的に実行するために本開示で説明する技法を実装し得る。「遷移領域」という用語は、概して、パーティション境界に隣接するパーティションの一方または両方内のパーティション境界の近くの、またはそれに隣接するピクセルを指すことがある。
【００６９】
[0075]たとえば、動き補償ユニット４４は、遷移領域内の２つ以上のピクセルに対して異なるＯＢＭＣ方法を適応的に実行し得る。別の例として、動き補償ユニット４４は、遷移領域内のピクセル値の２つ以上のサブブロックに対して異なるＯＢＭＣ方法を適応的に実行し得る。また別の例として、動き補償ユニット４４は、パーティション境界を形成するパーティション、またはパーティション境界に隣接するパーティションの各々の遷移領域に対して異なるＯＢＭＣ方法を適応的に実行し得る。また別の例として、動き補償ユニット４４は、パーティション境界を形成するパーティション、またはパーティション境界に隣接するパーティションの両方の遷移領域に対して異なるＯＢＭＣ方法を適応的に実行し得る。
【００７０】
[0076]動き補償ユニット４４は、いくつかの方法でＯＢＭＣの適用を適応させ得る。いくつかの事例では、動き補償ユニット４４は、第１のピクセル値と第２のピクセル値との重み付き和を実行するときに使用される重みを適応させ得る。第１のピクセル値と第２のピクセル値とに関して説明するが、ＯＢＭＣは、予測ピクセル値を決定するために３つ以上のピクセル値を伴い得る。これらの事例では、ＯＢＭＣは、３×３または５×５など、１つまたは複数の様々なサイズの平滑化フィルタを適用すると考えられ得る。いくつかの事例では、本技法は、これらのフィルタの係数を適応させ得る。他の事例では、動き補償ユニット４４は、たとえば、フィルタのあらかじめ定義された非０セットから、遷移領域中のピクセルごとに異なるフィルタを選択することによってこの適応を実行し得る。他の事例では、動き補償ユニット４４は、そのようなフィルタ処理をイネーブルおよびディセーブルにすることによってＯＢＭＣを適応的に実行し得る。いくつかの事例では、動き補償ユニット４４は、上記で説明した技法の３つの適応態様のうちの２つ以上の組合せを使用してＯＢＭＣを適応的に実行し得る。
【００７１】
[0077]動作中、動き補償ユニット４４は、最初に、ビデオコーダが適応メトリックと呼ばれることがあるものを決定するために考慮するエリアを指すサポート領域を決定し得る。サポート領域はフレーム全体またはフレーム内の領域を備え得る。言い換えれば、サポート領域は、フレーム全体を含まないが、フレーム全体の一部分のみを含み得る。いくつかの事例では、サポート領域は、当該のブロック内のピクセルのサブセットを備え得る。一般に、メモリ帯域幅要件を低減するために、サポート領域は、パーティション境界に隣接するブロックをカバーする。ある実装形態では、メモリ帯域幅要件をさらに低減するために、動き補償ユニット４４は、パーティション形成の各々の遷移領域、またはパーティション境界に沿った遷移領域を含むためにサポート領域を決定し得る。サポート領域は、一般に、クォーターペルピクセル精度またはハーフペルピクセル精度を有する動きベクトルを使用した結果として生じる補間ピクセルを含み得る。
【００７２】
[0078]いくつかの実装形態では、動き補償ユニット４４は、サポート領域中のピクセルの数を低減するために（非整数ペルピクセル精度動きベクトルを利用するときに必要とされるピクセル補間プロセスが、実行される演算の数に関して複雑さをもたらすことがあるので、通常、このサポート領域を決定することの複雑さを低減するために）クォーターペルピクセル精度動きベクトルをハーフペルまたは整数ペルピクセル精度動きベクトルに低減するか、および／またはハーフペルピクセル精度動きベクトルを整数ペルピクセル精度動きベクトルに低減することによって動きベクトルの解像度を低下させ得る。
【００７３】
[0079]いずれの場合も、１つまたは複数のサポート領域を決定した後に、動き補償ユニット４４は、次いで、決定された１つまたは複数のサポート領域のための適応メトリックを決定する。例示のために、サポート領域のうちの所与の１つについて、動き補償ユニット４４は、同じ位置の２つのピクセル値間の差分を計算し、ピクセル値のうちの一方は、その位置からの現在パーティション動きベクトルから予測され、他方は、他のパーティションのための動きベクトルから予測される。ビデオコーダは、差分の絶対値として、または２乗誤差差分として差分を計算し得る。数学的に、１つの差分は、ｄｉｆｆ（ｘ，ｙ）＝｜ｐｉｘcurr（ｘ，ｙ）−ｐｉｘother（ｘ，ｙ）｜として表され得、ｐｉｘcurr（ｘ，ｙ）は、現在パーティションの動きベクトルからフェッチされるピクセルの値であり、ｐｉｘother（ｘ，ｙ）は、（ｘ，ｙ）番目の位置についての隣接パーティションの動きベクトルからフェッチされるピクセルの値である。
【００７４】
[0080]別の例として、動き補償ユニット４４は、決定されたサポート領域のうちの１つ内のピクセルのサブセットまたはすべてにわたる差分の平均値として適応メトリックを導出し得る。数学的に、これは、ｄｉｆｆ＝ａｖｇ（ｄｉｆｆ（ｘ，ｙ））として表され得、（ｘ，ｙ）はサポート領域のピクセルに属する。この例では、動き補償ユニット４４は、上記で説明した方法でサポート領域中の各ピクセルについての差分を決定し、差分を一緒に加算して総差分を決定し、総差分をサポート領域中のピクセルの数で除算する。また別の例として、動き補償ユニット４４は、各パーティションについて、サポート領域内のピクセルの重み付き平均を導出し得る。
【００７５】
[0081]上記の適応メトリックはすべて、ピクセル値に基づいて適応させられたこれらに関係する。他の適応メトリックは、他のコンテキストに基づいて決定され得る。いくつかの事例では、動き補償ユニット４４は、平均またはワーストケースメモリ帯域幅消費の事例を回避するようにＯＢＭＣを選択的にイネーブルおよびディセーブルにし得る。すなわち、動き補償ユニット４４は、動きベクトル値（たとえば、動きベクトルが整数ペル精度動きベクトルであるのか、分数ペル精度動きベクトルであるのか）に基づいてＯＢＭＣを選択的にイネーブルおよびディセーブルにし得る。動き補償ユニット４４は、たとえば、動きベクトルがハーフペルまたはクォーターペル（たとえば、分数）精度であるときにＯＢＭＣをディセーブルにし得る。動き補償ユニット４４は、ピクチャパラメータセット（ＰＰＳ）、シーケンスパラメータセット（ＳＰＳ）および／または適応パラメータセット（ＡＰＳ）中で、ＯＢＭＣを選択的にイネーブルおよび／またはディセーブルにするためにハーフペルまたはクォーターペル動きベクトル精度が使用されるかどうかをシグナリングし得る。
【００７６】
[0082]いくつかの事例では、動き補償ユニット４４は、ブロックサイズおよび／または変換サイズに応じてＯＢＭＣを選択的にイネーブルおよびディセーブルにし得る。たとえば、動きベクトルが、「Ｔ＿ｂｌｋｓｉｚｅ」と示されたしきい値よりも小さい場合、動き補償ユニット４４はＯＢＭＣをディセーブルにし得る。典型的なＴ＿ｂｌｋｓｉｚｅは、１６×１６の変換ブロックサイズを備え得る。動き補償ユニット４４は、ピクチャパラメータセット（ＰＰＳ）、シーケンスパラメータセット（ＳＰＳ）および／または適応パラメータセット（ＡＰＳ）中でＴ＿ｂｌｋｓｉｚｅを「シグナリング」し得る。
【００７７】
[0083]いくつかの事例では、動き補償ユニット４４は、インター予測方向に基づいてＯＢＭＣを選択的にイネーブルおよびディセーブルにし得る。たとえば、ＰＵ０が、第１のパーティションが双予測されるべきであることを示す（それの対応する予測ブロックが２つ以上の動きベクトルを使用して予測されることを意味する）場合、動き補償ユニット４４は、ＰＵ１によって識別された第２のパーティションに対するＯＢＭＣをディセーブルにし得る。動き補償ユニット４４は、Ｐ０によって識別されたパーティションの動き情報を使用して余分のラインをフェッチする必要があるので、動き補償ユニット４４は、第２のパーティションに対するＯＢＭＣを選択的にディセーブルにし得る。このパーティションは双予測であるので、ビデオコーダは、メモリ帯域幅を増加させる、２つのフレームからデータをフェッチするように要求される。別の例では、Ｐ０によって識別された第１のパーティションが双予測であり、第２のパーティションが単予測である場合、動き補償ユニット４４は、第１のパーティションに対するＯＢＭＣをディセーブルにし、第２のパーティションに対するＯＢＭＣをイネーブルにし得る。動き補償ユニット４４は、双予測Ｐ０の動き情報を使用するときに必要とされる余分のラインのフェッチのために第１のパーティションに対するＯＢＭＣをディセーブルにし得、双予測を実行することから生成された予測ブロックは、単予測を使用して生成された予測ブロックよりも正確であり得る。言い換えれば、本技法は、概して、単予測が実行されるとき、または大きいブロックが使用されるときなど、精度が無関係であると決定されるエリア中でＯＢＭＣを実行することを試みるが、これらは、概して、複雑でないか、高度に作成されていないか、場合によっては大量の細部を指定していないビデオデータに対応するからである。
【００７８】
[0084]本技法はまた、動きベクトルのピクセル精度または予測方向（たとえば、双予測なのか、単予測なのか）など、動き情報に基づいてＯＢＭＣの適用を適応させることを対象とする態様を含み得る。たとえば、動き補償ユニット４４は、パーティションの動きベクトルについてのピクセル精度をハーフペルまたはクォーターペルとして決定し、（演算に関する）複雑さとメモリ帯域幅要件とを低減するために、動きベクトルのピクセル精度が（元がクォーターペルである場合）ハーフペル、整数ペル、さらにはゼロ値になるように動きベクトルの解像度を低減し得る。低解像度動きベクトルは、したがって、元の動きベクトルの丸められた／量子化されたバージョンを表し得る。したがって、ＯＢＭＣは、最初にビットストリーム中で指定されたか、または符号化中に導出されたものよりも低い精度動きベクトルに適応するように適応させられ得る。
【００７９】
[0085]別の例として、動き補償ユニット４４は、予測方向に応答してＯＢＭＣを適応させ得る。例示のために、動き補償ユニット４４は、所与のパーティションが２つの参照フレームから双予測されるべきか、単一の参照フレームから単予測されるべきかを決定し得る。双予測である場合、動き補償ユニット４４は、２つの参照フレームのうちの一方を参照する２つの動きベクトルのうちの１つのみを利用するようにＯＢＭＣを適応させ得、両方の動きベクトルを利用するのではない。このようにして、動き補償ユニット４４は、再び、メモリ帯域幅要件を低減するために本技法を実装し得る。
【００８０】
[0086]動き補償ユニット４４は、所与のパーティションに適用するＯＢＭＣのタイプを決定するために、この適応メトリックを採用し得る。たとえば、動き補償ユニット４４は、ｄｉｆｆ（ｘ，ｙ）の大きさ（amplitude）をしきい値と比較し、ｄｉｆｆ（ｘ，ｙ）がしきい値よりも小さい場合はＯＢＭＣをイネーブルにし、ｄｉｆｆ（ｘ，ｙ）がしきい値よりも大きいかまたはそれに等しい場合はＯＢＭＣをディセーブルにし得る。別の例として、動き補償ユニット４４は、ｄｉｆｆ（ｘ，ｙ）の大きさをしきい値と比較して、（たとえば、ｄｉｆｆ（ｘ，ｙ）がしきい値よりも小さい場合）強いフィルタを使用すべきか、（たとえば、ｄｉｆｆ（ｘ，ｙ）がしきい値よりも大きいかまたはそれに等しい場合）弱いフィルタを使用すべきかを決定し得る。また別の例として、動き補償ユニット４４は、ｄｉｆｆ（ｘ，ｙ）に基づいてＯＢＭＣを実行する際に使用される平滑化フィルタのフィルタ係数をスケーリングし得る。この場合も、ｄｉｆｆ（ｘ，ｙ）は、同じ位置の２つのピクセル値間の差分の大きさで差分を表し得、ピクセル値のうちの一方は、その位置からの現在パーティション動きベクトルから予測され、他方は、他のパーティションのための動きベクトルから予測される。
【００８１】
[0087]いずれの場合も、本技法は、（実行される演算の数に関する）多種多様な複雑さとメモリ帯域幅要件とを適合させるために、任意の数の上記の適応が単独で、または互いとの異なる組合せのいずれかで使用され得るように実装され得る。一例として、主要な要件として計算複雑さを考慮すると、パーティションベースの適応が動き補償ユニット４４中に実装され得る。適応型ＯＭＢＣのこの例示的な実装形態は、ＯＢＭＣをイネーブルまたはディセーブルにするための適応を伴い得る。この例示的な実装形態の場合のサポート領域は、遷移領域の中央領域、またはダウンサンプリングされた遷移領域など、遷移領域の一部分として定義され得る。適応メトリックの場合、例示的な実装形態は、サポート領域中のピクセルの絶対差分としてメトリックを設定し得る。この組合せに基づいて、ＯＢＭＣの例示的な実装形態は、遷移領域のパーティションと中央領域の両方の中のピクセルの絶対差分和に基づいてＯＢＭＣをイネーブルまたはディセーブルにする。絶対差分和がしきい値よりも大きい場合、動き補償ユニット４４はこのパーティションに対するＯＢＭＣをディセーブルにする。代替として、絶対差分和がしきい値よりも小さいかまたはそれに等しい場合、動き補償ユニット４４はこのパーティションに対するＯＢＭＣをイネーブルにする。
【００８２】
[0088]本開示ではＯＢＭＣの推論された適応をほぼ伴うものとして説明するが、いくつかの事例では、ＯＢＭＣがイネーブルにされるのか、ディセーブルにされるのかは、明示的にシグナリングされ得る。そのようなシグナリングのレベルは、たとえば、ＬＣＵレベル、スライスヘッダレベル、ＡＰＳレベル、ＰＰＳレベルまたはＳＰＳレベルを含み得る。そのようなシグナリングの範囲は、たとえば、シグナリングの所与のレベルについてのすべてのＣＵサイズについてＯＢＭＣがイネーブルおよび／またはディセーブルにされるかどうか、ならびに／あるいはシグナリングの所与のレベルについてのＣＵサイズのサブセットについてＯＢＭＣがイネーブルおよび／またはディセーブルにされるかどうかを含み得る。本技法は、したがって、ＯＢＭＣプロセスの適応が推論されるかまたは静的に設定される実装に厳密に限定されるべきでないが、ＯＢＭＣプロセスの適応の明示的にシグナリングされた実装と、動的な（たとえば、コンテキストベースの）導出の両方を含み得る。
【００８３】
[0089]このようにして、図２のビデオエンコーダ２０は、パーティション境界によって分離されたビデオデータのブロックの第１のパーティションと第２のパーティションとのうちの一方に対するサポート領域から適応メトリックを決定するように構成されたビデオエンコーダの一例を表す。ビデオエンコーダ２０は、適応メトリックに基づいて、ビデオブロックの第１のパーティションを表す第１の予測ブロックのためのパーティション境界の近くの予測ピクセル値を決定するために、重複ブロック動き補償プロセスの適用を適応させるようにさらに構成され得る。
【００８４】
[0090]サポート領域は、ビデオブロックが存在するフレームと、ビデオブロックが存在するフレームの領域と、第１のパーティションと、第２のパーティションと、第１のパーティションまたは第２のパーティションのいずれかの中のパーティション境界の近くのピクセルの一部分、第１のパーティションのダウンサンプリングされたバージョン、第２のパーティションのダウンサンプリングされたバージョン、および第１のパーティションまたは第２のパーティションのいずれかのための遷移領域のダウンサンプリングされたバージョンを含む、第１のパーティションまたは第２のパーティションのいずれかのための遷移領域と、のうちの１つを備え得る。
【００８５】
[0091]さらに、ビデオエンコーダ２０は、サポート領域中の少なくとも１つのピクセルについての第１の予測ピクセル値とサポート領域中の少なくとも１つのピクセルについての第２の予測ピクセル値との間の差分として適応メトリックを決定するように構成され得る。第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し得る。第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し得る。第１の予測ピクセル値は第１の動きベクトルから予測され得る。第２の予測ピクセル値は第２の動きベクトルから予測され得る。
【００８６】
[0092]その上、ビデオエンコーダ２０は、サポート領域中の各ピクセルについての第１の予測ピクセル値とサポート領域中の各ピクセルについての第２の予測ピクセル値との間の絶対差分として適応メトリックを決定するように構成され得る。第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し得る。第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し得る。第１の予測ピクセル値は、サポート領域中のピクセルの各々についての第１の動きベクトルから予測され得る。第２の予測ピクセル値は、サポート領域中のピクセルの各々についての第２の動きベクトルから予測され得る。
【００８７】
[0093]さらに、ビデオエンコーダ２０は、サポート領域中の各ピクセルについての第１の予測ピクセル値とサポート領域中のピクセルの各々についての第２の予測ピクセル値との間の平均ピクセル差分として適応メトリックを決定するように構成され得る。第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し得る。第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し得る。第１の予測ピクセル値は、サポート領域中のピクセルの各々についての第１の動きベクトルから予測され得る。第２の予測ピクセル値は、サポート領域中のピクセルの各々についての第２の動きベクトルから予測され得る。
【００８８】
[0094]いくつかの事例では、ビデオエンコーダ２０は、サポート領域中のピクセルの平均重み付き平均値として適応メトリックを決定するように構成され得る。
【００８９】
[0095]他の事例では、第１のパーティションは、精度を有する動きベクトルに関連し得、ビデオエンコーダ２０は、動きベクトルの精度として適応メトリックを決定することと、動きベクトルの精度がしきい値精度よりも小さいときに重複ブロック動き補償プロセスの適用を選択的にディセーブルにすることによって重複ブロック動き補償プロセスの適用を適応させることとを行うように構成され得る。しきい値精度は、整数精度と、ハーフペル精度（half pel precision）と、クォーターペル精度（quarter pel precision）とのうちの１つを備え得る。
【００９０】
[0096]また他の事例では、ブロックはブロックサイズに関連し得、ビデオエンコーダ２０は、ブロックサイズとして適応メトリックを決定することと、ブロックサイズがブロックサイズしきい値よりも小さいときに重複ブロック動き補償プロセスの適用を選択的にディセーブルにすることによって重複ブロック動き補償プロセスの適用を適応させることとを行うように構成され得る。ブロックサイズは、ビデオブロックサイズと、ブロックの第１のパーティションに適用される変換のサイズを識別する変換ブロックサイズとのうちの一方を備え得る。
【００９１】
[0097]いくつかの例では、第１のパーティションは予測方向に関連し得、ビデオエンコーダ２０は、予測方向として適応メトリックを決定するように構成され得る。ビデオエンコーダ２０は、次いで、第１のパーティションの予測方向が双方向であるときに第２のパーティションに対する重複ブロック動き補償プロセスの適用を選択的にディセーブルにすることによって、重複ブロック動き補償プロセスの適用を適応させ得る。
【００９２】
[0098]他の例では、第１のパーティションは第１の予測方向に関連し得、第２のパーティションは第２の予測方向に関連し得、ビデオエンコーダ２０は、第１の予測方向および第２の予測方向として適応メトリックを決定し、第１の予測方向が双方向であり、第２の予測方向が単方向であるときに第１のパーティションに対する重複ブロック動き補償プロセスの適用を選択的にディセーブルにすることと、第１の予測方向が双方向であり、第２の予測方向が単方向であるときに第１のパーティションに対する重複ブロック動き補償プロセスの適用を選択的にイネーブルにすることとによって重複ブロック動き補償プロセスの適用を適応させるように構成され得る。
【００９３】
[0099]また他の例では、第１のパーティションは、精度を有する動きベクトルに関連し得、ビデオエンコーダ２０は、動きベクトルの精度として適応メトリックを決定することと、動きベクトルの精度が分数であるときに、動きベクトルの精度を低減することによって、第１のパーティションに関連する動きベクトルの代わりに低減された精度の動きベクトルを使用するように重複ブロック動き補償プロセスの適用を適応させるために、重複ブロック動き補償プロセスの適用を適応させることと、を行うように構成され得る。
【００９４】
[0100]さらに、第１のパーティションは予測方向に関連し得、ビデオエンコーダ２０は、予測方向を決定し、決定された予測方向が双方向であるときに、第１のパーティションに関連する２つの動きベクトルのうちの一方のみを選択することによって、当該２つの動きベクトルの代わりに当該２つの動きベクトルのうちの当該選択された一方のみを使用するように重複ブロック動き補償プロセスの適用を適応させるために、重複ブロック動き補償プロセスの適用を適応させるように構成され得る。
【００９５】
[0101]いくつかの他の例では、サポート領域は、第１のパーティション中のパーティション境界の近くのピクセルの一部分を含む第１のパーティションのための遷移領域の一部分と、第１のパーティションのための遷移領域のダウンサンプリングされたバージョンと、第１のパーティションとのうちの１つまたは複数を備え得る。サポート領域は、いくつかの事例では、ビデオデータのブロック全体を含まないことがある。これらの例では、ビデオエンコーダ２０は、サポート領域中の各ピクセルについての第１の予測ピクセル値とサポート領域中の各ピクセルについての第２の予測ピクセル値との間の絶対差分として適応メトリックを決定するように構成され得る。これらの例に関して、第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し得、第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し得る。さらに、第１の予測ピクセル値は、サポート領域中のピクセルの各々についての第１の動きベクトルから予測され得、第２の予測ピクセル値は、サポート領域中のピクセルの各々についての第２の動きベクトルから予測され得る。ビデオエンコーダ２０は、決定された絶対差分が差分しきい値よりも大きいときに重複ブロック動き補償プロセスの適用を選択的にディセーブルにすることによって、重複ブロック動き補償プロセスの適用を適応させるようにさらに構成され得る。
【００９６】
[0102]図３は、本開示で説明する技法を実装し得る例示的なビデオデコーダ３０を示すブロック図である。図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット８０と、予測ユニット８１と、逆量子化ユニット８６と、逆変換ユニット８８と、加算器９０と、参照ピクチャメモリ９２とを含む。予測ユニット８１は、動き補償ユニット８２と、イントラ予測ユニット８４とを含む。ビデオデコーダ３０は、いくつかの例では、図２のビデオエンコーダ２０に関して説明した符号化パスとは概して逆の復号パスを実行し得る。
【００９７】
[0103]復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット８０は、量子化係数、動きベクトル、および他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット８０は、予測ユニット８１に動きベクトルと他のシンタックス要素とを転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【００９８】
[0104]ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされたとき、予測ユニット８１のイントラ予測ユニット８４は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化（すなわち、Ｂ、ＰまたはＧＰＢ）スライスとしてコーディングされるとき、予測ユニット８１の動き補償ユニット８２は、エントロピー復号ユニット８０から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ９２に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト０およびリスト１を構成し得る。
【００９９】
[0105]動き補償ユニット８２は、動きベクトルと他のシンタックス要素とをパースすることによって現在ビデオスライスのビデオブロックのための予測情報を決定し、その予測情報を使用して、復号されている現在ビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット８２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）と、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、スライスの参照ピクチャリストのうちの１つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報と、を決定するために、受信されたシンタックス要素のいくつかを使用する。
【０１００】
[0106]動き補償ユニット８２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット８２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。この場合、動き補償ユニット８２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【０１０１】
[0107]逆量子化ユニット８６は、ビットストリーム中で与えられ、エントロピー復号ユニット８０によって復号された、量子化変換係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中の各ビデオブロックについてビデオエンコーダ２０によって計算される量子化パラメータの使用を含み得る。逆変換ユニット８８は、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用して、ピクセル領域において残差ブロックを生成する。
【０１０２】
[0108]動き補償ユニット８２が、動きベクトルと他のシンタックス要素とに基づいて現在ビデオブロックのための予測ブロックを生成した後、ビデオデコーダ３０は、逆変換ユニット８８からの残差ブロックを動き補償ユニット８２によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器９０は、この加算演算を実行する１つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するために、または場合によってはビデオ品質を改善するために、他のループフィルタが（コーディングループ中またはコーディングループ後のいずれかで）使用され得る。所与のフレームまたはピクチャ中の復号ビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ９２に記憶される。参照ピクチャメモリ９２はまた、図１のディスプレイデバイス３２などのディスプレイデバイス上での後の表示のための、復号ビデオを記憶する。
【０１０３】
[0109]上記で説明したように、動き補償ユニット８２は、予測ビデオブロックを決定するためにインター予測を実行し得る。いくつかの事例では、動き補償ユニット８２は、重複ブロック動き補償（ＯＢＭＣ）と呼ばれる、動き補償の一形態を実行し得る。ＯＢＭＣは、動き境界に沿ったピクセル値を平滑化する技法を指し、「動き境界（motion boundary）」という用語は、現在開発中の高効率ビデオコーディング（ＨＥＶＣ）と呼ばれる新生のビデオコーディング規格において「予測ユニット」または「ＰＵ」と通常呼ばれるものの間の境界を指す。これらの予測ユニットは、コーディングユニット（ＣＵ）のコーディングノードの部分を示し、これらの部分がインターコーティングされるときに動きベクトルを決定するために、これらの部分に対して動き補償および動き推定が実行され得る。
【０１０４】
[0110]この予測ブロックについての最終ピクセル値を決定するために、動き補償ユニット８２は、一般に、ピクセル値の重み付き和を実行することによって、第１のピクセル値と第２のピクセル値の両方を組み合わせる。しばしば、動き補償ユニット８２は、予測ブロックのピクセルが存在するＰＵによって識別される部分に関連するＭＶを使用して予測されるピクセル値に、より高い重みを割り当て、予測ブロックのピクセルが存在しないＰＵによって識別される部分に関連しないＭＶを使用して予測されるピクセル値に、より小さい重みを割り当てる。動き補償ユニット８２は、次いで、重み付き和の結果を、予測ブロックについてのピクセル値として使用する。このようにして、動き補償ユニット８２は、予測境界に沿った不連続性を平滑化するためにＯＢＭＣを実行し得、それにより、再び（ビデオデータをコーディングするために使用されるビットに関して）コーディング効率を改善し、潜在的にアーティファクトを低減し得る。
【０１０５】
[0111]ＯＢＭＣは、概して、予測境界に沿ったピクセル値を平滑化し得るが、（不連続性の一例である）シャープエッジを保持することが、高い視覚的品質を保持するのに必要であり得るいくつかの事例がある。いくつかの事例では、たとえば、そのような不連続性は、所与のビデオフレーム中で対象物または動きを適切に定義するのに必要であり得、これらの不連続性を平滑化することにより、視覚的品質を著しく損なう望ましくない不鮮明または不明確な対象物を生じ得る。本開示の技法は、視覚的品質を向上させ得る不連続性を平滑化することを回避するための試みにおいてＯＢＭＣを適応させ得る。
【０１０６】
[0112]例示のために、動き補償ユニット８２は、遷移領域中のピクセル値、遷移領域内のピクセル値のサブブロック、パーティションの特定の特性、特定のパーティションの遷移領域に沿った境界条件、または上記のうちの１つまたは複数の何らかの組合せに基づいてＯＢＭＣを適応的に実行するために本開示で説明する技法を実装し得る。「遷移領域」という用語は、概して、パーティション境界に隣接するパーティションの一方または両方内のパーティション境界の近くの、またはそれに隣接するピクセルを指すことがある。
【０１０７】
[0113]たとえば、動き補償ユニット８２は、遷移領域内の２つ以上のピクセルに対して異なるＯＢＭＣ方法を適応的に実行し得る。別の例として、動き補償ユニット８２は、遷移領域内のピクセル値の２つ以上のサブブロックに対して異なるＯＢＭＣ方法を適応的に実行し得る。また別の例として、動き補償ユニット８２は、パーティション境界を形成するパーティション、またはパーティション境界に隣接するパーティションの各々の遷移領域に対して異なるＯＢＭＣ方法を適応的に実行し得る。また別の例として、動き補償ユニット８２は、パーティション境界を形成するパーティション、またはパーティション境界に隣接するパーティションの両方の遷移領域に対して異なるＯＢＭＣ方法を適応的に実行し得る。
【０１０８】
[0114]動き補償ユニット８２は、いくつかの方法でＯＢＭＣの適用を適応させ得る。いくつかの事例では、動き補償ユニット８２は、第１のピクセル値と第２のピクセル値との重み付き和を実行するときに使用される重みを適応させ得る。第１のピクセル値と第２のピクセル値とに関して説明するが、ＯＢＭＣは、予測ピクセル値を決定するために３つ以上のピクセル値を伴い得る。これらの事例では、ＯＢＭＣは、３×３または５×５など、１つまたは複数の様々なサイズの平滑化フィルタを適用すると考えられ得る。いくつかの事例では、本技法は、これらのフィルタの係数を適応させ得る。他の事例では、動き補償ユニット８２は、たとえば、フィルタのあらかじめ定義された非０セットから、遷移領域中のピクセルごとに異なるフィルタを選択することによってこの適応を実行し得る。他の事例では、動き補償ユニット８２は、そのようなフィルタ処理をイネーブルおよびディセーブルにすることによってＯＢＭＣを適応的に実行し得る。いくつかの事例では、動き補償ユニット８２は、上記で説明した技法の３つの適応態様のうちの２つ以上の組合せを使用してＯＢＭＣを適応的に実行し得る。
【０１０９】
[0115]動作中、動き補償ユニット８２は、最初に、ビデオコーダが適応メトリックと呼ばれることがあるものを決定するために考慮するエリアを指すサポート領域を決定し得る。サポート領域はフレーム全体またはフレーム内の領域を備え得る。言い換えれば、サポート領域は、フレーム全体を含まないが、フレーム全体の一部分のみを含み得る。いくつかの事例では、サポート領域は、当該のブロック内のピクセルのサブセットを備え得る。一般に、メモリ帯域幅要件を低減するために、サポート領域は、パーティション境界に隣接するブロックをカバーする。ある実装形態では、メモリ帯域幅要件をさらに低減するために、動き補償ユニット８２は、パーティション形成の各々の遷移領域、またはパーティション境界に沿った遷移領域を含むためにサポート領域を決定し得る。サポート領域は、一般に、クォーターペルピクセル精度またはハーフペルピクセル精度を有する動きベクトルを使用した結果として生じる補間ピクセルを含み得る。
【０１１０】
[0116]いくつかの実装形態では、動き補償ユニット８２は、サポート領域中のピクセルの数を低減するために（非整数ペルピクセル精度動きベクトルを利用するときに必要とされるピクセル補間プロセスが、実行される演算の数に関して複雑さをもたらすことがあるので、通常、このサポート領域を決定することの複雑さを低減するために）クォーターペルピクセル精度動きベクトルをハーフペルまたは整数ペルピクセル精度動きベクトルに低減するか、および／またはハーフペルピクセル精度動きベクトルを整数ペルピクセル精度動きベクトルに低減することによって動きベクトルの解像度を低下させ得る。
【０１１１】
[0117]いずれの場合も、１つまたは複数のサポート領域を決定した後に、動き補償ユニット８２は、次いで、決定された１つまたは複数のサポート領域のための適応メトリックを決定する。例示のために、サポート領域のうちの所与の１つについて、動き補償ユニット８２は、同じ位置の２つのピクセル値間の差分を計算し、ピクセル値のうちの一方は、その位置からの現在パーティション動きベクトルから予測され、他方は、他のパーティションのための動きベクトルから予測される。ビデオコーダは、差分の絶対値として、または２乗誤差差分として差分を計算し得る。数学的に、１つの差分は、ｄｉｆｆ（ｘ，ｙ）＝｜ｐｉｘcurr（ｘ，ｙ）−ｐｉｘother（ｘ，ｙ）｜として表され得、ｐｉｘcurr（ｘ，ｙ）は、現在パーティションの動きベクトルからフェッチされるピクセルであり、ｐｉｘother（ｘ，ｙ）は、（ｘ，ｙ）番目の位置についての隣接パーティションの動きベクトルからフェッチされるピクセルである。
【０１１２】
[0118]別の例として、動き補償ユニット８２は、決定されたサポート領域のうちの１つ内のピクセルのサブセットまたはすべてにわたる差分の平均値として適応メトリックを導出し得る。数学的に、これは、ｄｉｆｆ＝ａｖｇ（ｄｉｆｆ（ｘ，ｙ））として表され得、（ｘ，ｙ）はサポート領域のピクセルに属する。この例では、動き補償ユニット８２は、上記で説明した方法でサポート領域中の各ピクセルについての差分を決定し、差分を一緒に加算して総差分を決定し、総差分をサポート領域中のピクセルの数で除算する。また別の例として、動き補償ユニット８２は、各パーティションについて、サポート領域内のピクセルの重み付き平均を導出し得る。
【０１１３】
[0119]上記の適応メトリックはすべて、ピクセル値に基づいて適応させられたこれらに関係する。他の適応メトリックは、他のコンテキストに基づいて決定され得る。いくつかの事例では、動き補償ユニット８２は、平均またはワーストケースメモリ帯域幅消費の事例を回避するようにＯＢＭＣを選択的にイネーブルおよびディセーブルにし得る。すなわち、動き補償ユニット８２は、動きベクトル値（たとえば、動きベクトルが整数ペル精度動きベクトルであるのか、分数ペル精度動きベクトルであるのか）に基づいてＯＢＭＣを選択的にイネーブルおよびディセーブルにし得る。動き補償ユニット８２は、たとえば、動きベクトルがハーフペルまたはクォーターペル（たとえば、分数）精度であるときにＯＢＭＣをディセーブルにし得る。上記で説明したように、ビデオエンコーダ２０の動き補償ユニット４４は、ピクチャパラメータセット（ＰＰＳ）、シーケンスパラメータセット（ＳＰＳ）および／または適応パラメータセット（ＡＰＳ）中で、ＯＢＭＣを選択的にイネーブルおよび／またはディセーブルにするためにハーフペルまたはクォーターペル動きベクトル精度が使用されるかどうかをシグナリングし得る。
【０１１４】
[0120]いくつかの事例では、動き補償ユニット８２は、ブロックサイズおよび／または変換サイズに応じてＯＢＭＣを選択的にイネーブルおよびディセーブルにし得る。たとえば、動きベクトルが、「Ｔ＿ｂｌｋｓｉｚｅ」と示されたしきい値よりも小さい場合、動き補償ユニット８２はＯＢＭＣをディセーブルにし得る。典型的なＴ＿ｂｌｋｓｉｚｅは、１６×１６の変換ブロックサイズを備え得る。この場合も、ビデオエンコーダ２０は、ピクチャパラメータセット（ＰＰＳ）、シーケンスパラメータセット（ＳＰＳ）および／または適応パラメータセット（ＡＰＳ）中でＴ＿ｂｌｋｓｉｚｅを「シグナリング」し得る。
【０１１５】
[0121]いくつかの事例では、動き補償ユニット８２は、インター予測方向に基づいてＯＢＭＣを選択的にイネーブルおよびディセーブルにし得る。たとえば、ＰＵ０が、第１のパーティションが双予測されるべきであることを示す（それの対応する予測ブロックが２つ以上の動きベクトルを使用して予測されることを意味する）場合、動き補償ユニット８２は、ＰＵ１によって識別された第２のパーティションに対するＯＢＭＣをディセーブルにし得る。動き補償ユニット８２は、Ｐ０によって識別されたパーティションの動き情報を使用して余分のラインをフェッチする必要があるので、動き補償ユニット８２は、第２のパーティションに対するＯＢＭＣを選択的にディセーブルにし得る。このパーティションは双予測であるので、ビデオコーダは、メモリ帯域幅を増加させる、２つのフレームからデータをフェッチするように要求される。別の例では、Ｐ０によって識別された第１のパーティションが双予測であり、第２のパーティションが単予測である場合、動き補償ユニット８２は、第１のパーティションに対するＯＢＭＣをディセーブルにし、第２のパーティションに対するＯＢＭＣをイネーブルにし得る。動き補償ユニット８２は、双予測Ｐ０の動き情報を使用するときに必要とされる余分のラインのフェッチのために第１のパーティションに対するＯＢＭＣをディセーブルにし得、双予測を実行することから生成された予測ブロックは、単予測を使用して生成された予測ブロックよりも正確であり得る。言い換えれば、本技法は、概して、単予測が実行されるとき、または大きいブロックが使用されるときなど、精度が無関係であると決定されるエリア中でＯＢＭＣを実行することを試みるが、これらは、概して、複雑でないか、高度に作成されていないか、場合によっては大量の細部を指定していないビデオデータに対応するからである。
【０１１６】
[0122]本技法はまた、動きベクトルのピクセル精度または予測方向（たとえば、双予測なのか、単予測なのか）など、動き情報に基づいてＯＢＭＣの適用を適応させることを対象とする態様を含み得る。たとえば、動き補償ユニット８２は、パーティションの動きベクトルについてのピクセル精度をハーフペルまたはクォーターペルとして決定し、（演算に関する）複雑さとメモリ帯域幅要件とを低減するために、動きベクトルのピクセル精度が（元がクォーターペルである場合）ハーフペル、整数ペル、さらにはゼロ値になるように動きベクトルの解像度を低減し得る。低解像度動きベクトルは、したがって、元の動きベクトルの丸められた／量子化されたバージョンを表し得る。したがって、ＯＢＭＣは、最初に指定されたものよりも低い精度動きベクトルに適応するように適応させられ得る。
【０１１７】
[0123]別の例として、動き補償ユニット８２は、予測方向に応答してＯＢＭＣを適応させ得る。例示のために、動き補償ユニット８２は、所与のパーティションが２つの参照フレームから双予測されるべきか、単一の参照フレームから単予測されるべきかを決定し得る。双予測である場合、動き補償ユニット８２は、２つの参照フレームのうちの一方を参照する２つの動きベクトルの両方を利用するのではなく、２つの動きベクトルのうちの一方のみを利用するようにＯＢＭＣを適応させ得る。このようにして、動き補償ユニット８２は、再び、メモリ帯域幅要件を低減するために本技法を実装し得る。
【０１１８】
[0124]動き補償ユニット８２は、所与のパーティションに適用するＯＢＭＣのタイプを決定するために、この適応メトリックを採用し得る。たとえば、動き補償ユニット８２は、ｄｉｆｆ（ｘ，ｙ）の大きさをしきい値と比較し、ｄｉｆｆ（ｘ，ｙ）がしきい値よりも小さい場合はＯＢＭＣをイネーブルにし、ｄｉｆｆ（ｘ，ｙ）がしきい値よりも大きいかまたはそれに等しい場合はＯＢＭＣをディセーブルにし得る。別の例として、動き補償ユニット８２は、ｄｉｆｆ（ｘ，ｙ）の大きさをしきい値と比較して、（たとえば、ｄｉｆｆ（ｘ，ｙ）がしきい値よりも小さい場合）強いフィルタを使用すべきか、（たとえば、ｄｉｆｆ（ｘ，ｙ）がしきい値よりも大きいかまたはそれに等しい場合）弱いフィルタを使用すべきかを決定し得る。また別の例として、動き補償ユニット８２は、ｄｉｆｆ（ｘ，ｙ）に基づいてＯＢＭＣを実行する際に使用される平滑化フィルタのフィルタ係数をスケーリングし得る。
【０１１９】
[0125]いずれの場合も、本技法は、（実行される演算の数に関する）多種多様な複雑さとメモリ帯域幅要件とを適合させるために、任意の数の上記の適応が単独で、または互いとの異なる組合せのいずれかで使用され得るように実装され得る。一例として、主要な要件として計算複雑さを考慮すると、パーティションベースの適応が動き補償ユニット８２中に実装され得る。適応型ＯＭＢＣのこの例示的な実装形態は、ＯＢＭＣをイネーブルまたはディセーブルにするための適応を伴い得る。この例示的な実装形態の場合のサポート領域は、遷移領域の中央領域、またはダウンサンプリングされた遷移領域など、遷移領域の一部分として定義され得る。適応メトリックの場合、例示的な実装形態は、サポート領域中のピクセルの絶対差分としてメトリックを設定し得る。この組合せに基づいて、ＯＢＭＣの例示的な実装形態は、遷移領域のパーティションと中央領域の両方の中のピクセルの絶対差分和に基づいてＯＢＭＣをイネーブルまたはディセーブルにする。絶対差分和がしきい値よりも大きい場合、動き補償ユニット８２はこのパーティションに対するＯＢＭＣをディセーブルにする。代替として、絶対差分和がしきい値よりも小さいかまたはそれに等しい場合、動き補償ユニット８２はこのパーティションに対するＯＢＭＣをイネーブルにする。
【０１２０】
[0126]本開示ではＯＢＭＣの推論された適応をほぼ伴うものとして説明するが、いくつかの事例では、ＯＢＭＣがイネーブルにされるのか、ディセーブルにされるのかは、明示的にシグナリングされ得る。そのようなシグナリングのレベルは、たとえば、ＬＣＵレベル、スライスヘッダレベル、ＡＰＳレベル、ＰＰＳレベルまたはＳＰＳレベルを含み得る。そのようなシグナリングの範囲は、たとえば、シグナリングの所与のレベルについてのすべてのＣＵサイズについてＯＢＭＣがイネーブルおよび／またはディセーブルにされるかどうか、ならびに／あるいはシグナリングの所与のレベルについてのＣＵサイズのサブセットについてＯＢＭＣがイネーブルおよび／またはディセーブルにされるかどうかを含み得る。本技法は、したがって、ＯＢＭＣプロセスの適応が推論されるかまたは静的に設定される実装に厳密に限定されるべきでないが、ＯＢＭＣプロセスの適応の明示的にシグナリングされた実装と、動的な（たとえば、コンテキストベースの）導出の両方を含み得る。
【０１２１】
[0127]このようにして、図３のビデオデコーダ３０は、パーティション境界によって分離されたビデオデータのブロックの第１のパーティションと第２のパーティションとのうちの一方に対するサポート領域から適応メトリックを決定することと、適応メトリックに基づいて、ビデオブロックの第１のパーティションを表す第１の予測ブロックのためのパーティション境界の近くの予測ピクセル値を決定するために、重複ブロック動き補償プロセスの適用を適応させることとを行うように構成されたビデオデコーダの一例を表す。
【０１２２】
[0128]サポート領域は、ビデオブロックが存在するフレームと、ビデオブロックが存在するフレームの領域と、第１のパーティションと、第２のパーティションと、第１のパーティションまたは第２のパーティションのいずれかの中のパーティション境界の近くのピクセルの一部分、第１のパーティションのダウンサンプリングされたバージョン、第２のパーティションのダウンサンプリングされたバージョン、および第１のパーティションまたは第２のパーティションのいずれかのための遷移領域のダウンサンプリングされたバージョンを含む、第１のパーティションまたは第２のパーティションのいずれかのための遷移領域とのうちの１つを備え得る。
【０１２３】
[0129]さらに、ビデオエンコーダ３０は、サポート領域中の少なくとも１つのピクセルについての第１の予測ピクセル値とサポート領域中の少なくとも１つのピクセルについての第２の予測ピクセル値との間の差分として適応メトリックを決定するように構成され得る。第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し得る。第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し得る。第１の予測ピクセル値は第１の動きベクトルから予測され得る。第２の予測ピクセル値は第２の動きベクトルから予測され得る。
【０１２４】
[0130]その上、ビデオデコーダ３０は、サポート領域中の各ピクセルについての第１の予測ピクセル値とサポート領域中の各ピクセルについての第２の予測ピクセル値との間の絶対差分として適応メトリックを決定するように構成され得る。第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し得る。第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し得る。第１の予測ピクセル値は、サポート領域中のピクセルの各々についての第１の動きベクトルから予測され得る。第２の予測ピクセル値は、サポート領域中のピクセルの各々についての第２の動きベクトルから予測され得る。
【０１２５】
[0131]さらに、ビデオデコーダ３０は、サポート領域中の各ピクセルについての第１の予測ピクセル値とサポート領域中のピクセルの各々についての第２の予測ピクセル値との間の平均ピクセル差分として適応メトリックを決定するように構成され得る。第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し得る。第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し得る。第１の予測ピクセル値は、サポート領域中のピクセルの各々についての第１の動きベクトルから予測され得る。第２の予測ピクセル値は、サポート領域中のピクセルの各々についての第２の動きベクトルから予測され得る。
【０１２６】
[0132]いくつかの事例では、ビデオデコーダ３０は、サポート領域中のピクセルの平均重み付き平均値として適応メトリックを決定するように構成され得る。
【０１２７】
[0133]他の事例では、第１のパーティションは、精度を有する動きベクトルに関連し得、ビデオデコーダ３０は、動きベクトルの精度として適応メトリックを決定することと、動きベクトルの精度がしきい値精度よりも小さいときに重複ブロック動き補償プロセスの適用を選択的にディセーブルにすることによって重複ブロック動き補償プロセスの適用を適応させることとを行うように構成され得る。しきい値精度は、整数精度と、ハーフペル精度と、クォーターペル精度とのうちの１つを備え得る。
【０１２８】
[0134]また他の事例では、ブロックはブロックサイズに関連し得、ビデオデコーダ３０は、ブロックサイズとして適応メトリックを決定することと、ブロックサイズがブロックサイズしきい値よりも小さいときに重複ブロック動き補償プロセスの適用を選択的にディセーブルにすることによって重複ブロック動き補償プロセスの適用を適応させることとを行うように構成され得る。ブロックサイズは、ビデオブロックサイズと、ブロックの第１のパーティションに適用される変換のサイズを識別する変換ブロックサイズとのうちの一方を備え得る。
【０１２９】
[0135]いくつかの例では、第１のパーティションは予測方向に関連し得、ビデオデコーダ３０は、予測方向として適応メトリックを決定することと、第１のパーティションの予測方向が双方向であるときに第２のパーティションに対する重複ブロック動き補償プロセスの適用を選択的にディセーブルにすることによって重複ブロック動き補償プロセスの適用を適応させることとを行うように構成され得る。
【０１３０】
[0136]他の例では、第１のパーティションは第１の予測方向に関連し得、第２のパーティションは第２の予測方向に関連し得、ビデオデコーダ３０は、第１の予測方向および第２の予測方向として適応メトリックを決定し、第１の予測方向が双方向であり、第２の予測方向が単方向であるときに第１のパーティションに対する重複ブロック動き補償プロセスの適用を選択的にディセーブルにすることと、第１の予測方向が双方向であり、第２の予測方向が単方向であるときに第１のパーティションに対する重複ブロック動き補償プロセスの適用を選択的にイネーブルにすることと、によって重複ブロック動き補償プロセスの適用を適応させるように構成され得る。
【０１３１】
[0137]また他の例では、第１のパーティションは、精度を有する動きベクトルに関連し得、ビデオデコーダ３０は、動きベクトルの精度として適応メトリックを決定することと、動きベクトルの精度が分数であるときに動きベクトルの精度を低減することによって、第１のパーティションに関連する動きベクトルの代わりに低減された精度の動きベクトルを使用するように重複ブロック動き補償プロセスの適用を適応させるために、重複ブロック動き補償プロセスの適用を適応させることとを行うように構成され得る。
【０１３２】
[0138]さらに、第１のパーティションは予測方向に関連し得、ビデオデコーダ３０は、予測方向を決定することと、決定された予測方向が双方向であるときに、第１のパーティションに関連する２つの動きベクトルのうちの一方のみを選択することによって、当該２つの動きベクトルの代わりに当該２つの動きベクトルのうちの当該選択された一方のみを使用するように重複ブロック動き補償プロセスの適用を適応させるために、重複ブロック動き補償プロセスの適用を適応させることと、を行うように構成され得る。
【０１３３】
[0139]いくつかの他の例では、サポート領域は、第１のパーティション中のパーティション境界の近くのピクセルの一部分を含む第１のパーティションのための遷移領域の一部分と、第１のパーティションのための遷移領域のダウンサンプリングされたバージョンと、第１のパーティションとのうちの１つまたは複数を備え得る。サポート領域は、いくつかの事例では、ビデオデータのブロック全体を含まないことがある。これらの例では、ビデオデコーダ３０は、サポート領域中の各ピクセルについての第１の予測ピクセル値とサポート領域中の各ピクセルについての第２の予測ピクセル値との間の絶対差分として適応メトリックを決定するように構成され得る。
【０１３４】
[0140]これらの例に関して、第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し得、第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し得る。さらに、第１の予測ピクセル値は、サポート領域中のピクセルの各々についての第１の動きベクトルから予測され得、第２の予測ピクセル値は、サポート領域中のピクセルの各々についての第２の動きベクトルから予測され得る。ビデオデコーダ３０は、決定された絶対差分が差分しきい値よりも大きいときに重複ブロック動き補償プロセスの適用を選択的にディセーブルにすることによって、重複ブロック動き補償プロセスの適用を適応させるようにさらに構成され得る。
【０１３５】
[0141]図４Ａ、図４Ｂは、適応型ＯＢＭＣ技法が適用され得るそれぞれのブロック１００Ａ、１００Ｂを示す図である。ブロック１００Ａ、１００Ｂの各々は、パーティション境界１０４によって分離されたパーティション１０２Ａとパーティション１０２Ｂとを含む。パーティション１０２Ａ、１０２Ｂの各々は、それぞれ、パーティション境界１０４に近い（図４Ａ、４Ｂの例では、高々２ピクセル離れている）遷移領域１０６Ａ、１０６Ｂを含む。パーティション境界１０４から高々２ピクセル離れているピクセルを含むものとして示されているが、遷移領域１０６Ａ、１０６Ｂは、より多いまたはより少ないピクセルを含み得る。その上、遷移領域１０６Ａ、１０６Ｂは、必ずしも同じ数のピクセルを含むとは限らない。ブロック１００Ａとブロック１００Ｂとの間の違いはパーティション１０２Ａ、１０２Ｂの違いにあり、ブロック１００Ａは水平方向に区分されており、ブロック１００Ｂは垂直方向に区分されている。パーティションのより多くの例が、図５に関して示されている。
【０１３６】
[0142]本開示の技法は、ビデオデータの単一のブロックに関して実行されるものとして説明および図示されるが、本技法はさらに、２つ以上のブロックに関して実行され得る。言い換えれば、本技法は、２ブロック間の境界上で実行され得る。遷移領域は、この事例では、第１のブロックのパーティションと第２のブロックのパーティションとからのピクセルを備え得る。いくつかの事例では、第１のブロックのパーティションは、第１のブロック全体またはそれのある部分を備え得、第２のブロックのパーティションは、第２のブロック全体またはそれのある部分を備え得る。本技法は、このようにして、パーティション境界によって分離されたビデオデータの１つまたは複数のブロックの第１のパーティションと第２のパーティションとのうちの一方に対するサポート領域から適応メトリックを決定し得る。本技法は、したがって、本開示で与えられる例に限定されるべきでない。
【０１３７】
[0143]図５は、ビデオデータのブロックが区分され得る潜在的方法を示す図である。図５の例では、パーティションモード１１０は、対称長方形または正方形区分モードを表す。パーティションモード１１２は非対称区分モードを表す。パーティションモード１１４は幾何学的パーティションモードの一例を表す。一例としてＨＥＶＣを使用して、フレームパーティションは最初にいくつかの最大コーディングユニット（ＬＣＵ）に分割され得、典型的なＬＣＵサイズは６４×６４である。ＬＣＵは、より小さいＣＵにさらに分割され得、各ＣＵはさらに分割され得る。ＣＵの分割は、パーティションモード１１０に従って対称的に区分され、パーティションモード１１２に従って非対称的に区分され、幾何学的パーティションモード１１４など、幾何学的パーティションモードに従って幾何学的に区分され得る。
【０１３８】
[0144]再び図４Ａを参照すると、ビデオコーダ、たとえば、図１〜図３に関して示したビデオエンコーダ２０および／またはビデオデコーダ３０は、遷移領域内のピクセルについての２つの予測と重複することによってＯＢＭＣを実装し得る。この遷移領域を定義するために、ビデオコーダは、ピクセル１０８など、現在ピクセルを識別し、ピクセル１０８を中心とするピクセルの３×３ウィンドウまたはブロックを形成し得る。ウィンドウ内のピクセルのいずれか１つが、ピクセル１０８が属さないパーティションに属する（図４Ａの例では、ピクセル１０８はパーティション１０６Ａに属し、ピクセル１０８を中心とする３×３ウィンドウ中のピクセルのうちの少なくとも１つは、パーティション１０６Ｂに属する）場合、現在ピクセル、すなわちピクセル１０８は、遷移領域に属するものとして分類され得る。この遷移領域は、３×３ウィンドウに関して定義されるものとして説明されるが、ウィンドウの他のサイズに関しても定義され得る。
【０１３９】
[0145]ピクセルを遷移領域に分類した後に、ビデオコーダは、次いで、上記で説明した方法でサポート領域を識別し得る。このサポート領域は、通常、サポート領域が、フレーム全体、または上記で説明したメモリ帯域幅の理由でフレーム全体よりも小さいものとして定義されるフレームのある部分を備え得る。図４Ａの例では、ビデオコーダは、ブロック１００Ａの一部分を備えるサポート領域１１０を識別する。ビデオコーダは、次いで、サポート領域１１０中のピクセルのピクセル値に基づいて、上記で説明した方法で適応メトリックを識別し得る。この適応メトリックを使用して、ビデオエンコーダは、次いで、上記で説明した様々な方法でＯＢＭＣを適応的に実行し得る。図４Ａに関して説明したが、本技法は、図４Ｂに示した区分モード、または図５の例で示したもののいずれかに関して同様に実装され得る。
【０１４０】
[0146]図６は、本開示で説明する適応型重複ブロック動き補償技法を実行する際のビデオエンコーダ、たとえば、図１および図２の例に示したビデオエンコーダ２０の例示的な動作を示すフローチャートである。ビデオエンコーダ２０は初めにビデオデータを受信し、区分ユニット３５はデータをビデオブロックに区分する。この区分は、たとえば、ＬＣＵおよびＣＵの４分木構造に応じて、スライス、タイル、または他のより大きいユニットへの区分、ならびにビデオブロック区分をも含み得る。すなわち、区分ユニット３５は、ビデオデータのブロック内の第１のパーティションと第２のパーティションとを形成するために、図４Ａ、図４Ｂ、図５の例に示したパーティションモードのうちの１つを実装し得、これらのパーティションは、たとえば、別個の予測ユニット（ＰＵ）を表し得る。この点において、区分ユニット３５は、ビデオデータのブロックの第１のパーティションを決定し、ビデオデータのブロックの第２のパーティションを決定する（１２０、１２２）。
【０１４１】
[0147]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライスにおけるビデオブロックの第１および第２のパーティション（ＰＵ）の各々のための動きベクトルを計算する。上記で説明したように、参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【０１４２】
[0148]動き補償ユニット４４は、本開示で説明する適応型ＯＢＭＣ技法を実行するように構成され得、それにより、動き補償ユニット４４は、上記で説明した方法で第１のパーティションと第２のパーティションの一方または両方のための適応メトリックを決定するように構成され得る（１２４）。すなわち、動き補償ユニット４４は、上記で説明した方法でサポート領域を識別し、このサポート領域に基づいて、適応メトリックを計算し得る。動き補償ユニット４４は、上記で説明したように、この場合も、決定された適応メトリックに基づいてＯＢＭＣの適用を適応させるようにさらに構成され得る（１２６）。さらに上記で説明したように、動き補償ユニット４４はまた、適応させられたＯＢＭＣを実行することによってビデオデータの予測ブロックを決定するように構成され得る（１２８）。
【０１４３】
[0149]動き補償ユニット４４は、次いで、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値として残差データを形成することによって残差ビデオブロックを形成する（１３０）。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。動き補償ユニット４４はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【０１４４】
[0150]変換処理ユニット５２は、次いで、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を使用して変換係数を決定するために、残差ビデオデータを変換する（１３２）。変換処理ユニット５２は、残差ビデオデータをピクセル（空間）領域から周波数領域などの変換領域に変換し得る。変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する（１３４）。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の後に、エントロピー符号化ユニット５６は量子化変換係数をエントロピー符号化する（１３６）。
【０１４５】
[0151]図７は、本開示で説明する適応型重複ブロック動き補償技法を実行する際のビデオデコーダ、たとえば、図１および図３の例に示したビデオデコーダ３０の例示的な動作を示すフローチャートである。復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット８０は、量子化変換係数を生成するためにビットストリームをエントロピー復号する（１４０）。エントロピー復号ユニット８０はまた、動きベクトルおよび他のシンタックス要素など、様々な他の情報を決定するために、ビットストリームをエントロピー復号し得る。エントロピー復号ユニット８０は、予測ユニット８１に動きベクトルと他のシンタックス要素とを転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【０１４６】
[0152]逆量子化ユニット８６は、変換係数を決定するために、ビットストリーム中で与えられ、エントロピー復号ユニット８０によって復号された、量子化変換係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する（１４２）。逆変換ユニット８８は、変換係数からビデオデータのブロックのための残差データを生成するために、逆変換、たとえば、逆ＤＣＴ、逆整数変換または概念的に同様の逆変換プロセスを実行する（１４６）。
【０１４７】
[0153]一方、予測ユニット８１の動き補償ユニット８２は、エントロピー復号ユニット８０から受信した動きベクトルと他のシンタックス要素とに基づいて、現在ビデオスライスのビデオブロックの予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ９２に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト０およびリスト１を構成し得る。
【０１４８】
[0154]動き補償ユニット８２は、動きベクトルと他のシンタックス要素とをパースすることによって現在ビデオスライスのビデオブロックのための予測情報を決定し、その予測情報を使用して、復号されている現在ビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット８２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）と、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、スライスの参照ピクチャリストのうちの１つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用する。
【０１４９】
[0155]動き補償ユニット８２は、（ＰＵへのコーディングノードのパーティションモードまたは階層区分を「シグナリングする」シンタックス要素にしばしば基づいて）ビデオデータのブロックの第１のパーティションを識別または決定し、ビデオデータのブロックの第２のパーティションを決定するように構成され得る（１４８、１５０）。動き補償ユニット８２は、次いで、第１のパーティションと第２のパーティションの一方または両方について、上記で説明した方法で適応メトリックを決定するようにさらに構成され得る（１５２）。動き補償ユニット８２はまた、上記で説明したように、この場合も、決定された適応メトリックに基づいてＯＢＭＣの適用を適応させるように構成され得る（１５４）。ＯＢＭＣを適応させた後に、動き補償ユニット８２は、適応させられたＯＢＭＣを実行することによって予測ブロックを決定するように構成され得る（１５６）。
【０１５０】
[0156]動き補償ユニット８２が、動きベクトルと他のシンタックス要素とに基づいて現在ビデオブロックのための予測ブロックを生成または場合によっては決定した後、ビデオデコーダ３０は、ビデオデータのブロックを生成するために予測ブロックを逆変換ユニット８８からの残差データに加算する（１５８）。所与のフレームまたはピクチャ中の復号ビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ９２に記憶される。参照ピクチャメモリ９２はまた、図１のディスプレイデバイス３２などのディスプレイデバイス上での後の表示のための、復号ビデオを記憶する。
【０１５１】
[0157]１つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１５２】
[0158]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）、およびＢｌｕ−ｒａｙディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０１５３】
[0159]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０１５４】
[0160]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０１５５】
[0161]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［１］  ビデオデータをコーディングするための方法であって、
パーティション境界によって分離された前記ビデオデータの１つまたは複数のブロックの第１のパーティションと第２のパーティションとのうちの一方に対するサポート領域から適応メトリックを決定することと、前記サポート領域はビデオデータの１つまたは複数のブロック全体でない、
前記ビデオブロックの前記第１のパーティションを表す第１の予測ブロックについて前記パーティション境界の近くの予測ピクセル値を決定するために、前記適応メトリックに基づいて、重複ブロック動き補償プロセスの適用を適応させることと、
を備える方法。
［２］  前記サポート領域は、前記ビデオデータの前記１つまたは複数のブロックが存在するフレームと、ビデオデータの前記ブロックが存在する前記フレームの領域と、前記第１のパーティションと、前記第２のパーティションと、前記第１のパーティションまたは前記第２のパーティションのいずれかの中の前記パーティション境界の近くの前記ピクセルの一部分、前記第１のパーティションのダウンサンプリングされたバージョン、前記第２のパーティションのダウンサンプリングされたバージョン、および前記第１のパーティションまたは前記第２のパーティションのいずれかのための前記遷移領域のダウンサンプリングされたバージョンを含む、前記第１のパーティションまたは前記第２のパーティションのいずれかのための遷移領域とのうちの１つを備える、［１］に記載の方法。
［３］  前記適応メトリックを決定することは、前記サポート領域中の少なくとも１つのピクセルについての第１の予測ピクセル値と前記サポート領域中の前記少なくとも１つのピクセルについての第２の予測ピクセル値との間の差分を決定することを備え、
前記第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し、
前記第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し、
前記第１の予測ピクセル値は前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は前記第２の動きベクトルから予測される、
［１］に記載の方法。
［４］  前記適応メトリックを決定することは、前記サポート領域中の各ピクセルについての第１の予測ピクセル値と前記サポート領域中の各ピクセルについての第２の予測ピクセル値との間の絶対差分を決定することを備え、
前記第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し、
前記第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し、
前記第１の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第２の動きベクトルから予測される、
［１］に記載の方法。
［５］  前記適応メトリックを決定することは、前記サポート領域中の各ピクセルについての第１の予測ピクセル値と前記サポート領域中の前記ピクセルの各々についての第２の予測ピクセル値との間の平均ピクセル差分を決定することを備え、
前記第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し、
前記第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し、
前記第１の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第２の動きベクトルから予測される、
［１］に記載の方法。
［６］  前記適応メトリックを決定することは、前記サポート領域中のピクセルの平均重み付き平均値を決定することを備える、［１］に記載の方法。
［７］  前記第１のパーティションは、精度を有する動きベクトルに関連し、
前記適応メトリックを決定することは、前記動きベクトルの前記精度を決定することを備え、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させることは、前記動きベクトルの前記精度がしきい値精度よりも小さいときに前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにすることを備え、
前記しきい値精度は、整数精度と、ハーフペル精度と、クォーターペル精度とのうちの１つを備える、［１］に記載の方法。
［８］  ビデオデータの前記１つまたは複数のブロックはそれぞれブロックサイズに関連し、
前記適応メトリックを決定することは、ビデオデータの前記１つまたは複数のブロックのうちの少なくとも１つの前記ブロックサイズを決定することを備え、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させることは、前記決定されたブロックサイズがブロックサイズしきい値よりも小さいときに前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにすることを備え、
前記決定されたブロックサイズは、ビデオブロックサイズと、前記ブロックの前記第１のパーティションに適用される変換のサイズを識別する変換ブロックサイズとのうちの一方を備える、［１］に記載の方法。
［９］  前記第１のパーティションは予測方向に関連し、
前記適応メトリックを決定することは、前記予測方向を決定することを備え、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させることは、前記第１のパーティションの前記予測方向が双方向であるときに前記第２のパーティションに対する前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにすることを備える、［１］に記載の方法。
［１０］  前記第１のパーティションは第１の予測方向に関連し、
前記第２のパーティションは第２の予測方向に関連し、
前記適応メトリックを決定することは、前記第１の予測方向と前記第２の予測方向とを決定することを備え、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させることは、
前記第１の予測方向が双方向であり、前記第２の予測方向が単方向であるときに前記第１のパーティションに対する前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにすることと、
前記第１の予測方向が単方向であり、前記第２の予測方向が双方向であるときに前記第１のパーティションに対する前記重複ブロック動き補償プロセスの適用を選択的にイネーブルにすることと、
を備える、［１］に記載の方法。
［１１］  前記第１のパーティションは、精度を有する動きベクトルに関連し、
前記適応メトリックを決定することは、前記動きベクトルの前記精度を決定することを備え、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させることは、前記動きベクトルの精度が分数であるときに、前記動きベクトルの前記精度を低減することを備え、前記第１のパーティションに関連する前記動きベクトルの代わりに前記低減された精度の動きベクトルを使用するように前記重複ブロック動き補償プロセスの前記適用を適応させる、［１］に記載の方法。
［１２］  前記第１のパーティションは予測方向に関連し、
前記適応メトリックを決定することは、前記予測方向を決定することを備え、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させることは、前記決定された予測方向が双方向であるときに、前記第１のパーティションに関連する２つの動きベクトルのうちの一方のみを選択することを備え、前記２つの動きベクトルの代わりに前記２つの動きベクトルのうちの前記選択された一方のみを使用するように前記重複ブロック動き補償プロセスの適用を適応させる、［１］に記載の方法。
［１３］  前記サポート領域は、前記第１のパーティション中の前記パーティション境界の近くの前記ピクセルの一部分を含む前記第１のパーティションのための遷移領域の一部分と、前記第１のパーティションのための前記遷移領域のダウンサンプリングされたバージョンと、前記第１のパーティションとのうちの１つまたは複数を備え、
前記適応メトリックを決定することは、前記サポート領域中の各ピクセルについての第１の予測ピクセル値と前記サポート領域中の各ピクセルについての第２の予測ピクセル値との間の絶対差分を決定することを備え、
前記第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し、
前記第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し、
前記第１の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第２の動きベクトルから予測され、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させることは、前記決定された絶対差分が差分しきい値よりも大きいときに前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにすることを備える、［１］に記載の方法。
［１４］  ビデオデータをコーディングするように構成されたビデオコーディングデバイスであって、前記ビデオコーディングデバイスは、
パーティション境界によって分離された前記ビデオデータの１つまたは複数のブロックの第１のパーティションと第２のパーティションとのうちの一方に対するサポート領域から適応メトリックを決定することと、前記サポート領域はビデオデータの１つまたは複数のブロック全体でなく、
前記ビデオブロックの前記第１のパーティションを表す第１の予測ブロックについて前記パーティション境界の近くの予測ピクセル値を決定するために、前記適応メトリックに基づいて、重複ブロック動き補償プロセスの適用を適応させることと、
を行うように構成された１つまたは複数のプロセッサ
を備える、ビデオコーディングデバイス。
［１５］  前記サポート領域は、前記ビデオデータの前記１つまたは複数のブロックが存在するフレームと、ビデオデータの前記ブロックが存在する前記フレームの領域と、前記第１のパーティションと、前記第２のパーティションと、前記第１のパーティションまたは前記第２のパーティションのいずれかの中の前記パーティション境界の近くの前記ピクセルの一部分、前記第１のパーティションのダウンサンプリングされたバージョン、前記第２のパーティションのダウンサンプリングされたバージョン、および前記第１のパーティションまたは前記第２のパーティションのいずれかのための前記遷移領域のダウンサンプリングされたバージョンを含む、前記第１のパーティションまたは前記第２のパーティションのいずれかのための遷移領域とのうちの１つを備える、［１４］に記載のビデオコーディングデバイス。
［１６］  前記１つまたは複数のプロセッサは、前記適応メトリックを決定するとき、前記サポート領域中の少なくとも１つのピクセルについての第１の予測ピクセル値と前記サポート領域中の前記少なくとも１つのピクセルについての第２の予測ピクセル値との間の差分を決定するように構成され、
前記第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し、
前記第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し、
前記第１の予測ピクセル値は前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は前記第２の動きベクトルから予測される、請求項１４に記載のビデオコーディングデバイス。
［１７］  前記１つまたは複数のプロセッサは、前記適応メトリックを決定するとき、前記サポート領域中の各ピクセルについての第１の予測ピクセル値と前記サポート領域中の各ピクセルについての第２の予測ピクセル値との間の絶対差分を決定するように構成され、
前記第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し、
前記第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し、
前記第１の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第２の動きベクトルから予測される、［１４］に記載のビデオコーディングデバイス。
［１８］  前記１つまたは複数のプロセッサは、前記適応メトリックを決定するとき、前記サポート領域中の各ピクセルについての第１の予測ピクセル値と前記サポート領域中の前記ピクセルの各々についての第２の予測ピクセル値との間の平均ピクセル差分を決定するように構成され、
前記第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し、
前記第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し、
前記第１の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第２の動きベクトルから予測される、［１４］に記載のビデオコーディングデバイス。
［１９］  前記１つまたは複数のプロセッサは、前記適応メトリックを決定するとき、前記サポート領域中のピクセルの平均重み付き平均値を決定するように構成された、［１４］に記載のビデオコーディングデバイス。
［２０］  前記第１のパーティションは、精度を有する動きベクトルに関連し、
前記１つまたは複数のプロセッサは、前記適応メトリックを決定するとき、前記動きベクトルの前記精度を決定するように構成され、
前記１つまたは複数のプロセッサは、前記重複ブロック動き補償プロセスの適用を適応させるとき、前記動きベクトルの前記精度がしきい値精度よりも小さいときに前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにするように構成され、
前記しきい値精度は、整数精度と、ハーフペル精度と、クォーターペル精度とのうちの１つを備える、［１４］に記載のビデオコーディングデバイス。
［２１］  ビデオデータの前記１つまたは複数のブロックはそれぞれブロックサイズに関連し、
前記１つまたは複数のプロセッサは、前記適応メトリックを決定するとき、ビデオデータの前記１つまたは複数のブロックのうちの少なくとも１つの前記ブロックサイズを決定するように構成され、
前記１つまたは複数のプロセッサは、前記重複ブロック動き補償プロセスの適用を適応させるとき、前記決定されたブロックサイズがブロックサイズしきい値よりも小さいときに前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにするように構成され、
前記決定されたブロックサイズは、ビデオブロックサイズと、前記ブロックの前記第１のパーティションに適用される変換のサイズを識別する変換ブロックサイズとのうちの一方を備える、［１４］に記載のビデオコーディングデバイス。
［２２］  前記第１のパーティションは予測方向に関連し、
前記１つまたは複数のプロセッサは、前記適応メトリックを決定するとき、前記予測方向を決定するように構成され、
前記１つまたは複数のプロセッサは、前記重複ブロック動き補償プロセスの適用を適応させるとき、前記第１のパーティションの前記予測方向が双方向であるときに前記第２のパーティションに対する前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにするように構成された、［１４］に記載のビデオコーディングデバイス。
［２３］  前記第１のパーティションは第１の予測方向に関連し、
前記第２のパーティションは第２の予測方向に関連し、
前記１つまたは複数のプロセッサは、前記適応メトリック決定するとき、前記第１の予測方向と前記第２の予測方向とを決定するように構成され、
前記１つまたは複数のプロセッサは、前記重複ブロック動き補償プロセスの適用を適応させるとき、前記第１の予測方向が双方向であり、前記第２の予測方向が単方向であるときに前記第１のパーティションに対する前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにすることと、前記第１の予測方向が単方向であり、前記第２の予測方向が双方向であるときに前記第１のパーティションに対する前記重複ブロック動き補償プロセスの適用を選択的にイネーブルにすることとを行うように構成された、［１４］に記載のビデオコーディングデバイス。
［２４］  前記第１のパーティションは、精度を有する動きベクトルに関連し、
前記１つまたは複数のプロセッサは、前記適応メトリックを決定するとき、前記動きベクトルの前記精度を決定するように構成され、
前記１つまたは複数のプロセッサは、前記重複ブロック動き補償プロセスの適用を適応させるとき、前記動きベクトルの精度が分数であるときに前記動きベクトルの前記精度を低減するように構成され、前記第１のパーティションに関連する前記動きベクトルの代わりに前記低減された精度の動きベクトルを使用するように前記重複ブロック動き補償プロセスの0前記適用を適応させる、［１４］に記載のビデオコーディングデバイス。
［２５］  前記第１のパーティションは予測方向に関連し、
前記１つまたは複数のプロセッサは、前記適応メトリックを決定するとき、前記予測方向を決定するように構成され、
前記１つまたは複数のプロセッサは、前記重複ブロック動き補償プロセスの適用を適応させるとき、前記決定された予測方向が双方向であるときに２つの動きベクトルのうちの一方のみを選択するように構成され、前記第１のパーティションに関連する前記２つの動きベクトルの代わりに前記２つの動きベクトルのうちの前記選択された一方のみを使用するように前記重複ブロック動き補償プロセスの適用を適応させる、［１４］に記載のビデオコーディングデバイス。
［２６］  前記サポート領域は、前記第１のパーティション中の前記パーティション境界の近くの前記ピクセルの一部分を含む前記第１のパーティションのための遷移領域の一部分と、前記第１のパーティションのための前記遷移領域のダウンサンプリングされたバージョンと、前記第１のパーティションとのうちの１つまたは複数を備え、
前記１つまたは複数のプロセッサは、前記適応メトリックを決定するとき、前記サポート領域中の各ピクセルについての第１の予測ピクセル値と前記サポート領域中の各ピクセルについての第２の予測ピクセル値との間の絶対差分を決定するように構成され、
前記第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し、
前記第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し、
前記第１の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第２の動きベクトルから予測され、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させることは、前記決定された絶対差分が差分しきい値よりも大きいときに前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにすることを備える、［１４］に記載のビデオコーディングデバイス。
［２７］  ビデオデータをコーディングするように構成されたビデオコーディングデバイスであって、前記ビデオコーディングデバイスは、
パーティション境界によって分離された前記ビデオデータの１つまたは複数のブロックの第１のパーティションと第２のパーティションとのうちの一方に対するサポート領域から適応メトリックを決定する手段と、前記サポート領域はビデオデータの１つまたは複数のブロック全体でない、
前記ビデオブロックの前記第１のパーティションを表す第１の予測ブロックについて前記パーティション境界の近くの予測ピクセル値を決定するために、前記適応メトリックに基づいて、重複ブロック動き補償プロセスの適用を適応させる手段と、
を備えるビデオコーディングデバイス。
［２８］  前記サポート領域は、前記ビデオデータの前記１つまたは複数のブロックが存在するフレームと、ビデオデータの前記ブロックが存在する前記フレームの領域と、前記第１のパーティションと、前記第２のパーティションと、前記第１のパーティションまたは前記第２のパーティションのいずれかの中の前記パーティション境界の近くの前記ピクセルの一部分、前記第１のパーティションのダウンサンプリングされたバージョン、前記第２のパーティションのダウンサンプリングされたバージョン、および前記第１のパーティションまたは前記第２のパーティションのいずれかのための前記遷移領域のダウンサンプリングされたバージョンを含む、前記第１のパーティションまたは前記第２のパーティションのいずれかのための遷移領域とのうちの１つを備える、［２７］に記載のビデオコーディングデバイス。
［２９］  前記適応メトリックを決定する前記手段は、前記サポート領域中の少なくとも１つのピクセルについての第１の予測ピクセル値と前記サポート領域中の前記少なくとも１つのピクセルについての第２の予測ピクセル値との間の差分を決定する手段を備え、
前記第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し、
前記第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し、
前記第１の予測ピクセル値は前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は前記第２の動きベクトルから予測される、［２７］に記載のビデオコーディングデバイス。
［３０］  前記適応メトリックを決定する前記手段は、前記サポート領域中の各ピクセルについての第１の予測ピクセル値と前記サポート領域中の各ピクセルについての第２の予測ピクセル値との間の絶対差分を決定する手段を備え、
前記第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し、
前記第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し、
前記第１の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第２の動きベクトルから予測される、［２７］に記載のビデオコーディングデバイス。
［３１］  前記適応メトリックを決定する前記手段は、前記サポート領域中の各ピクセルについての第１の予測ピクセル値と前記サポート領域中の前記ピクセルの各々についての第２の予測ピクセル値との間の平均ピクセル差分を決定する手段を備え、
前記第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し、
前記第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し、
前記第１の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第２の動きベクトルから予測される、［２７］に記載のビデオコーディングデバイス。
［３２］  前記第１のパーティションは、精度を有する動きベクトルに関連し、
前記適応メトリックを決定する前記手段は、前記動きベクトルの前記精度を決定する手段を備え、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させる前記手段は、前記動きベクトルの前記精度がしきい値精度よりも小さいときに前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにする手段を備え、
前記しきい値精度は、整数精度と、ハーフペル精度と、クォーターペル精度とのうちの１つを備える、［２７］に記載のビデオコーディングデバイス。
［３３］  ビデオデータの前記１つまたは複数のブロックがそれぞれブロックサイズに関連し、
前記適応メトリックを決定する前記手段は、ビデオデータの前記１つまたは複数のブロックのうちの少なくとも１つの前記ブロックサイズを決定する手段を備え、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応する前記手段は、前記決定されたブロックサイズがブロックサイズしきい値よりも小さいときに前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにする手段を備え、
前記決定されたブロックサイズは、ビデオブロックサイズと、前記ブロックの前記第１のパーティションに適用される変換のサイズを識別する変換ブロックサイズとのうちの一方を備える、［２７］に記載のビデオコーディングデバイス。
［３４］  前記第１のパーティションは予測方向に関連し、
前記適応メトリックを決定する前記手段は、前記予測方向を決定する手段を備え、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させる前記手段は、前記第１のパーティションの前記予測方向が双方向であるときに前記第２のパーティションに対する前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにする手段を備える、［２７］に記載のビデオコーディングデバイス。
［３５］  前記第１のパーティションは第１の予測方向に関連し、
前記第２のパーティションは第２の予測方向に関連し、
前記適応メトリックを決定する前記手段は、前記第１の予測方向と前記第２の予測方向とを決定する手段を備え、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させる前記手段は、
前記第１の予測方向が双方向であり、前記第２の予測方向が単方向であるときに前記第１のパーティションに対する前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにする手段と、
前記第１の予測方向が単方向であり、前記第２の予測方向が双方向であるときに前記第１のパーティションに対する前記重複ブロック動き補償プロセスの適用を選択的にイネーブルにする手段と、
を備える、［２７］に記載のビデオコーディングデバイス。
［３６］  前記第１のパーティションは、精度を有する動きベクトルに関連し、
前記適応メトリックを決定する前記手段は、前記動きベクトルの前記精度を決定する手段を備え、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させる前記手段は、前記動きベクトルの精度が分数であるときに前記動きベクトルの前記精度を低減する手段を備え、前記第１のパーティションに関連する前記動きベクトルの代わりに前記低減された精度の動きベクトルを使用するように前記重複ブロック動き補償プロセスの前記適用を適応させる、［２７］に記載のビデオコーディングデバイス。
［３７］  前記第１のパーティションは予測方向に関連し、
前記適応メトリックを決定する前記手段は、前記予測方向を決定する手段を備え、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させる前記手段は、前記決定された予測方向が双方向であるときに、前記第１のパーティションに関連する２つの動きベクトルのうちの一方のみを選択する手段を備え、前記２つの動きベクトルの代わりに前記２つの動きベクトルのうちの前記選択された一方のみを使用するように前記重複ブロック動き補償プロセスの適用を適応させる、［２７］に記載のビデオコーディングデバイス。
［３８］  前記サポート領域は、前記第１のパーティション中の前記パーティション境界の近くの前記ピクセルの一部分を含む前記第１のパーティションのための遷移領域の一部分と、前記第１のパーティションのための前記遷移領域のダウンサンプリングされたバージョンと、前記第１のパーティションとのうちの１つまたは複数を備え、
前記適応メトリックを決定する前記手段は、前記サポート領域中の各ピクセルについての第１の予測ピクセル値と前記サポート領域中の各ピクセルについての第２の予測ピクセル値との間の絶対差分を決定する手段を備え、
前記第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し、
前記第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し、
前記第１の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第２の動きベクトルから予測され、
前記適応メトリックに基づいて、前記重複ブロック動き補償プロセスの適用を適応させる前記手段は、前記決定された絶対差分が差分しきい値よりも大きいときに前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにする手段を備える、［２７］に記載のビデオコーディングデバイス。
［３９］  実行されたとき、ビデオデータをコーディングするためのデバイスの１つまたは複数のプロセッサに、
パーティション境界によって分離された前記ビデオデータの１つまたは複数のブロックの第１のパーティションと第２のパーティションとのうちの一方に対するサポート領域から適応メトリックを決定することと、前記サポート領域がビデオデータの１つまたは複数のブロック全体でない、
前記ビデオブロックの前記第１のパーティションを表す第１の予測ブロックについて前記パーティション境界の近くの予測ピクセル値を決定するために、前記適応メトリックに基づいて、重複ブロック動き補償プロセスの適用を適応させることと、
を行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
［４０］  前記サポート領域は、前記ビデオデータの前記１つまたは複数のブロックが存在するフレームと、ビデオデータの前記ブロックが存在する前記フレームの領域と、前記第１のパーティションと、前記第２のパーティションと、前記第１のパーティションまたは前記第２のパーティションのいずれかの中の前記パーティション境界の近くの前記ピクセルの一部分、前記第１のパーティションのダウンサンプリングされたバージョン、前記第２のパーティションのダウンサンプリングされたバージョン、および前記第１のパーティションまたは前記第２のパーティションのいずれかのための前記遷移領域のダウンサンプリングされたバージョンを含む、前記第１のパーティションまたは前記第２のパーティションのいずれかのための遷移領域とのうちの１つを備える、［３９］に記載のコンピュータプログラム製品。
［４１］  前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記適応メトリックを決定するとき、前記サポート領域中の少なくとも１つのピクセルについての第１の予測ピクセル値と前記サポート領域中の前記少なくとも１つのピクセルについての第２の予測ピクセル値との間の差分を決定させ、
前記第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し、
前記第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し、
前記第１の予測ピクセル値は前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は前記第２の動きベクトルから予測される、［３９］に記載のコンピュータプログラム製品。
［４２］  前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記適応メトリックを決定するとき、前記サポート領域中の各ピクセルについての第１の予測ピクセル値と前記サポート領域中の各ピクセルについての第２の予測ピクセル値との間の絶対差分を決定させ、
前記第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し、
前記第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し、
前記第１の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第２の動きベクトルから予測される、［３９］に記載のコンピュータプログラム製品。
［４３］  前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記適応メトリックを決定するとき、前記サポート領域中の各ピクセルについての第１の予測ピクセル値と前記サポート領域中の前記ピクセルの各々についての第２の予測ピクセル値との間の平均ピクセル差分を決定させ、
前記第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し、
前記第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し、
前記第１の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第２の動きベクトルから予測される、［３９］に記載のコンピュータプログラム製品。
［４４］  前記第１のパーティションは、精度を有する動きベクトルに関連し、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記適応メトリックを決定するとき、前記動きベクトルの前記精度を決定させ、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記重複ブロック動き補償プロセスの適用を適応させるとき、前記動きベクトルの前記精度がしきい値精度よりも小さいときに前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにさせ、
前記しきい値精度は、整数精度と、ハーフペル精度と、クォーターペル精度とのうちの１つを備える、［３９］に記載のコンピュータプログラム製品。
［４５］  ビデオデータの前記１つまたは複数のブロックはそれぞれブロックサイズに関連し、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記適応メトリックを決定するとき、ビデオデータの前記１つまたは複数のブロックのうちの少なくとも１つの前記ブロックサイズを決定させ、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記重複ブロック動き補償プロセスの適用を適応させるとき、前記決定されたブロックサイズがブロックサイズしきい値よりも小さいときに前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにさせ、
前記決定されたブロックサイズは、ビデオブロックサイズと、前記ブロックの前記第１のパーティションに適用される変換のサイズを識別する変換ブロックサイズとのうちの一方を備える、［３９］に記載のコンピュータプログラム製品。
［４６］  前記第１のパーティションは予測方向に関連し、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記適応メトリックを決定するとき、前記予測方向を決定させ、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記重複ブロック動き補償プロセスの適用を適応させるとき、前記第１のパーティションの前記予測方向が双方向であるときに前記第２のパーティションに対する前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにさせる、［３９］に記載のコンピュータプログラム製品。
［４７］  前記第１のパーティションは第１の予測方向に関連し、
前記第２のパーティションは第２の予測方向に関連し、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記適応メトリックを決定するとき、前記第１の予測方向と前記第２の予測方向とを決定させ、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記重複ブロック動き補償プロセスの適用を適応させるとき、
前記第１の予測方向が双方向であり、前記第２の予測方向が単方向であるときに前記第１のパーティションに対する前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにすることと、
前記第１の予測方向が単方向であり、前記第２の予測方向が双方向であるときに前記第１のパーティションに対する前記重複ブロック動き補償プロセスの適用を選択的にイネーブルにすることと
を行わせる、［３９］に記載のコンピュータプログラム製品。
［４８］  前記第１のパーティションは、精度を有する動きベクトルに関連し、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記適応メトリックを決定するとき、前記動きベクトルの前記精度を決定させ、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記重複ブロック動き補償プロセスの適用を適応させるとき、前記動きベクトルの精度が分数であるときに前記動きベクトルの前記精度を低減させ、前記第１のパーティションに関連する前記動きベクトルの代わりに前記低減された精度の動きベクトルを使用するように前記重複ブロック動き補償プロセスの前記適用を適応させる、［３９］に記載のコンピュータプログラム製品。
［４９］  前記第１のパーティションは予測方向に関連し、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記適応メトリックを決定するとき、前記予測方向を決定させ、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記重複ブロック動き補償プロセスの適用を適応させるとき、前記決定された予測方向が双方向であるときに２つの動きベクトルのうちの一方のみを選択させ、前記第１のパーティションに関連する前記２つの動きベクトルの代わりに前記２つの動きベクトルのうちの前記選択された一方のみを使用するように前記重複ブロック動き補償プロセスの適用を適応させる、［３９］に記載のコンピュータプログラム製品。
［５０］  前記サポート領域は、前記第１のパーティション中の前記パーティション境界の近くの前記ピクセルの一部分を含む前記第１のパーティションのための遷移領域の一部分と、前記第１のパーティションのための前記遷移領域のダウンサンプリングされたバージョンと、前記第１のパーティションとのうちの１つまたは複数を備え、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記適応メトリックを決定するとき、前記サポート領域中の各ピクセルについての第１の予測ピクセル値と前記サポート領域中の各ピクセルについての第２の予測ピクセル値との間の絶対差分を決定させ、
前記第１のパーティションは、第１の参照フレームの第１のブロックを参照する第１の動きベクトルに関連し、
前記第２のパーティションは、第２の参照フレームの第２のブロックを参照する第２の動きベクトルに関連し、
前記第１の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第１の動きベクトルから予測され、
前記第２の予測ピクセル値は、前記サポート領域中の前記ピクセルの各々についての前記第２の動きベクトルから予測され、
前記命令は、実行されたとき、前記１つまたは複数のプロセッサに、前記重複ブロック動き補償プロセスの適用を適応させるとき、前記決定された絶対差分が差分しきい値よりも大きいときに前記重複ブロック動き補償プロセスの適用を選択的にディセーブルにさせる、［３９］に記載のコンピュータプログラム製品。
【図１】
0005989794.tif 000002
【図２】
0005989794.tif 000003
【図３】
0005989794.tif 000004
【図５】
0005989794.tif 000005
【図６】
0005989794.tif 000006
【図７】
0005989794.tif 000007
【図４Ａ】
0005989794.tif 000008
【図４Ｂ】
0005989794.tif 000009