(57)【特許請求の範囲】
【請求項１】
双方向予測インターモードでコード化された現在ビデオブロックに関連する第１の動きベクトルと第２の動きベクトルとをコード化するために適応動きベクトル予測（ＡＭＶＰ）が使用される、ビデオデータを復号する方法であって、
前記第１の動きベクトルに関連する第１の動きベクトル差分（ＭＶＤ）を受信することと、
動きベクトルの第１のセットから選択される第１の動きベクトル予測子（ＭＶＰ）を識別する第１のインデックスを受信することと、
前記第１のＭＶＤと前記第１のＭＶＰとに基づいて前記第１の動きベクトルを生成することと、前記第１の動きベクトルは、前記現在ビデオブロックと第１の隣接ビデオブロックとに関連する、
前記第２の動きベクトルに関連する第２のＭＶＤを受信することと、
第２のＭＶＰを識別する第２のインデックスを受信することと、ここで前記第２のＭＶＰは、動きベクトルの第２のセットから選択され、前記動きベクトルの第２のセットは、前記現在ビデオブロックから前記第１の隣接ビデオブロックへの時間距離および前記現在ビデオブロックから第２の隣接ビデオブロックへの時間距離の関数であるスケールファクタによって前記第１の動きベクトルをスケーリングすることによって形成される候補と、隣接ビデオブロックの１つ以上に関連する動きベクトルとを含む、
前記第２のＭＶＤと前記第２のＭＶＰとに基づいて前記第２の動きベクトルを生成することと、前記第２の動きベクトルは、前記現在ビデオブロックおよび前記第２の隣接ビデオブロックに関連する、
を備える、方法。
【請求項２】
前記第１の動きベクトルと前記第２の動きベクトルとが、同じ予測フレームに関連するデータを指し、前記第２のＭＶＰが前記第１の動きベクトルである、請求項１に記載の方法。
【請求項３】
前記第１の動きベクトルが、前のフレームに関連するデータを指し、前記第２の動きベクトルが、別の前のフレームに関連するデータを指す、請求項１に記載の方法。
【請求項４】
前記第１の動きベクトルが、後続のフレームに関連するデータを指し、前記第２の動きベクトルが、別の後続のフレームに関連するデータを指す、請求項１に記載の方法。
【請求項５】
前記第１の動きベクトルが、前のフレームに関連するデータを指し、前記第２の動きベクトルが、後続のフレームに関連するデータを指し、現在フレームに対する前記前のフレームの時間距離が、前記現在フレームに対する前記後続のフレームの時間距離と同じである、請求項１に記載の方法。
【請求項６】
前記第１の動きベクトルが、後続のフレームに関連するデータを指し、前記第２の動きベクトルが、前のフレームに関連するデータを指し、現在フレームに対する前記後続のフレームの時間距離が、前記現在フレームに対する前記前のフレームの時間距離と同じである、請求項１に記載の方法。
【請求項７】
前記第１の動きベクトルが、前のフレームに関連するデータを指し、前記第２の動きベクトルが、後続のフレームに関連するデータを指し、現在フレームに対する前記前のフレームの時間距離が、前記現在フレームに対する前記後続のフレームの時間距離とは異なる、請求項１に記載の方法。
【請求項８】
前記第１の動きベクトルが、後続のフレームに関連するデータを指し、前記第２の動きベクトルが、前のフレームに関連するデータを指し、現在フレームに対する前記後続のフレームの時間距離が、前記現在フレームに対する前記前のフレームの時間距離とは異なる、請求項１に記載の方法。
【請求項９】
前記現在ビデオブロックが、高効率ビデオコード化（ＨＥＶＣ）規格に従って定義されたコード化単位（ＣＵ）を備え、前記ＣＵが、４分木区分方式に従って最大コード化単位（ＬＣＵ）に対して定義され、
前記４分木区分方式を定義するＬＣＵシンタックスデータを受信することと、
前記双方向予測インターモードを定義する、前記ＣＵについてのモード情報を受信することと
を更に備える、請求項１に記載の方法。
【請求項１０】
前記現在ビデオブロックが、高効率ビデオコード化（ＨＥＶＣ）規格に従って定義されたコード化単位（ＣＵ）の予測単位（ＰＵ）を備え、
前記双方向予測インターモードを定義する、前記ＰＵについてのモード情報を受信することと
を更に備える、請求項１に記載の方法。
【請求項１１】
前記第１の動きベクトルと前記第２の動きベクトルとに基づいて前記現在ビデオブロックを予測的に復号すること
を更に備える、請求項１に記載の方法。
【請求項１２】
双方向予測インターモードに従って現在ビデオブロックに関連する第１の動きベクトルと第２の動きベクトルとをコード化するために適応動きベクトル予測（ＡＭＶＰ）が使用される、ビデオデータを符号化する方法であって、
前記現在ビデオブロックを前記双方向予測インターモードでコード化するために使用されるべき前記第１の動きベクトルを決定することと、ここで、前記第１の動きベクトルは、第１の参照ビデオブロックの関数であり、
１つ以上の隣接ビデオブロックに関連する動きベクトルの第１のセットに基づいて動きベクトルの第１のセットから選択された第１の動きベクトル予測子（ＭＶＰ）を識別することと、ここで、前記動きベクトルの第１のセットは、前記第１の動きベクトルを含む、
前記第１のＭＶＰを識別する第１のインデックスを生成することと、
前記第１の動きベクトルと前記第１のＭＶＰとに基づいて第１の動きベクトル差分（ＭＶＤ）を生成することと、
前記現在ビデオブロックを前記双方向予測インターモードでコード化するために使用されるべき前記第２の動きベクトルを決定することと、
動きベクトルの第２のセットに基づいて第２のＭＶＰを識別することと、ここで前記動きベクトルの第２のセットは、隣接ビデオブロックの１つ以上に関連する動きベクトルと、前記第１の動きベクトルに基づく候補とを含み、前記第１の動きベクトルに基づく前記候補は、前記現在ビデオブロックから前記第１の参照ビデオブロックへの時間距離および前記現在ビデオブロックから第２の参照ビデオブロックへの時間距離の関数であるスケールファクタによって前記第１の動きベクトルをスケーリングすることによって形成される、
前記第２のＭＶＰとして前記スケーリングされた第１の動きベクトルを識別する第２のインデックスを生成することと、
前記第２の動きベクトルと前記第２のＭＶＰとに基づいて第２のＭＶＤを生成することと、
前記現在ビデオブロックについての符号化ビットストリームの一部として、前記第１のインデックスと前記第１のＭＶＤと前記第２のインデックスと前記第２のＭＶＤとを出力することと
を備える、方法。
【請求項１３】
前記第１の動きベクトルと前記第２の動きベクトルとが、同じ予測フレームに関連するデータを指し、前記第１の動きベクトルに基づく前記候補が前記第１の動きベクトルである、請求項１２に記載の方法。
【請求項１４】
前記第１の動きベクトルが、前のフレームに関連するデータを指し、前記第２の動きベクトルが、別の前のフレームに関連するデータを指す、請求項１２に記載の方法。
【請求項１５】
前記第１の動きベクトルが、後続のフレームに関連するデータを指し、前記第２の動きベクトルが、別の後続のフレームに関連するデータを指す、請求項１２に記載の方法。
【請求項１６】
前記第１の動きベクトルが、前のフレームに関連するデータを指し、前記第２の動きベクトルが、後続のフレームに関連するデータを指し、現在フレームに対する前記前のフレームの時間距離が、前記現在フレームに対する前記後続のフレームの時間距離と同じである、請求項１２に記載の方法。
【請求項１７】
前記第１の動きベクトルが、後続のフレームに関連するデータを指し、前記第２の動きベクトルが、前のフレームに関連するデータを指し、現在フレームに対する前記後続のフレームの時間距離が、前記現在フレームに対する前記前のフレームの時間距離と同じである、請求項１２に記載の方法。
【請求項１８】
前記第１の動きベクトルが、前のフレームに関連するデータを指し、前記第２の動きベクトルが、後続のフレームに関連するデータを指し、現在フレームに対する前記前のフレームの時間距離が、前記現在フレームに対する前記後続のフレームの時間距離とは異なる、請求項１２に記載の方法。
【請求項１９】
前記第１の動きベクトルが、後続のフレームに関連するデータを指し、前記第２の動きベクトルが、前のフレームに関連するデータを指し、現在フレームに対する前記後続のフレームの時間距離が、前記現在フレームに対する前記前のフレームの時間距離とは異なる、請求項１２に記載の方法。
【請求項２０】
前記現在ビデオブロックは、
高効率ビデオコード化（ＨＥＶＣ）規格に従って定義されたコード化単位（ＣＵ）と、ここで前記ＣＵが、４分木区分方式に従って最大コード化単位（ＬＣＵ）に対して定義される、
前記ＨＥＶＣ規格に従って定義された前記ＣＵの予測単位（ＰＵ）と
のうちの１つを備える、請求項１２に記載の方法。
【請求項２１】
ビデオデータを復号するビデオ復号装置であって、
第１の動きベクトルに関連する第１の動きベクトル差分（ＭＶＤ）を受信することと、
動きベクトルの第１のセットから選択される、第１の動きベクトル予測子（ＭＶＰ）を識別する第１のインデックスを受信することと、
前記第１のＭＶＤと前記第１のＭＶＰとに基づいて前記第１の動きベクトルを生成することと、前記第１の動きベクトルは、現在ビデオブロックと第１の隣接ビデオブロックとに関連する、
第２の動きベクトルに関連する第２のＭＶＤを受信することと、
第２のＭＶＰを識別する第２のインデックスを受信することと、ここで前記第２のＭＶＰは、動きベクトルの第２のセットから選択され、前記動きベクトルの第２のセットは、前記現在ビデオブロックから前記第１の隣接ビデオブロックへの時間距離および前記現在ビデオブロックから第２の隣接ビデオブロックへの時間距離の関数であるスケールファクタによって前記第１の動きベクトルをスケーリングすることによって形成される候補と、前記隣接ビデオブロックの１つ以上に関連する動きベクトルとを含む、
前記第２のＭＶＤと前記第２のＭＶＰとに基づいて前記第２の動きベクトルを生成することと、前記第２の動きベクトルは、前記現在ビデオブロックおよび第２の隣接ビデオブロックに関連する、
を行うように構成されたビデオデコーダを備える、ビデオ復号装置。
【請求項２２】
前記第１の動きベクトルと前記第２の動きベクトルとが、同じ予測フレームに関連するデータを指し、前記第２のＭＶＰが前記第１の動きベクトルである、請求項２１に記載のビデオ復号装置。
【請求項２３】
前記第１の動きベクトルが、前のフレームに関連するデータを指し、前記第２の動きベクトルが、別の前のフレームに関連するデータを指す、請求項２１に記載のビデオ復号装置。
【請求項２４】
前記第１の動きベクトルが、後続のフレームに関連するデータを指し、前記第２の動きベクトルが、別の後続のフレームに関連するデータを指す、請求項２１に記載のビデオ復号装置。
【請求項２５】
前記第１の動きベクトルが、前のフレームに関連するデータを指し、前記第２の動きベクトルが、後続のフレームに関連するデータを指し、現在フレームに対する前記前のフレームの時間距離が、前記現在フレームに対する前記後続のフレームの時間距離と同じである、請求項２１に記載のビデオ復号装置。
【請求項２６】
前記第１の動きベクトルが、後続のフレームに関連するデータを指し、前記第２の動きベクトルが、前のフレームに関連するデータを指し、現在フレームに対する前記後続のフレームの時間距離が、前記現在フレームに対する前記前のフレームの時間距離と同じである、請求項２１に記載のビデオ復号装置。
【請求項２７】
前記第１の動きベクトルが、前のフレームに関連するデータを指し、前記第２の動きベクトルが、後続のフレームに関連するデータを指し、現在フレームに対する前記前のフレームの時間距離が、前記現在フレームに対する前記後続のフレームの時間距離とは異なる、請求項２１に記載のビデオ復号装置。
【請求項２８】
前記第１の動きベクトルが、後続のフレームに関連するデータを指し、前記第２の動きベクトルが、前のフレームに関連するデータを指し、現在フレームに対する前記後続のフレームの時間距離が、前記現在フレームに対する前記前のフレームの時間距離とは異なる、請求項２１に記載のビデオ復号装置。
【請求項２９】
前記現在ビデオブロックが、高効率ビデオコード化（ＨＥＶＣ）規格に従って定義されたコード化単位（ＣＵ）を備え、前記ＣＵが、４分木区分方式に従って最大コード化単位（ＬＣＵ）に対して定義され、
前記ビデオデコーダは、前記４分木区分方式を定義するＬＣＵシンタックスデータを受信することと、
双方向予測インターモードを定義する、前記ＣＵについてのモード情報を受信することと
を行うように更に構成される、請求項２１に記載のビデオ復号装置。
【請求項３０】
前記現在ビデオブロックが、高効率ビデオコード化（ＨＥＶＣ）規格に従って定義されたコード化単位（ＣＵ）の予測単位（ＰＵ）を備え、前記ビデオデコーダが、
双方向予測インターモードを定義する、前記ＰＵについてのモード情報を受信する、請求項２１に記載のビデオ復号装置。
【請求項３１】
前記ビデオデコーダが、前記第１の動きベクトルと前記第２の動きベクトルとに基づいて前記現在ビデオブロックを予測的に復号する、請求項２１に記載のビデオ復号装置。
【請求項３２】
前記ビデオデコーダが、
前記第１のＭＶＤと前記第１のインデックスと前記第２のＭＶＤと前記第２のインデックスとを受信し、エントロピー復号するように構成されたエントロピー復号ユニットと、
前記第１のＭＶＤと前記第１のＭＶＰとに基づいて前記第１の動きベクトルを生成し、前記第２のＭＶＤと前記第２のＭＶＰとに基づいて前記第２の動きベクトルを生成するように構成された予測ユニットと
を含む、請求項２１に記載のビデオ復号装置。
【請求項３３】
集積回路と、
マイクロプロセッサと、
ビデオデコーダを含むワイヤレス通信機器と
のうちの１つ以上を備える、請求項２１に記載のビデオ復号装置。
【請求項３４】
現在ビデオブロックでビデオデータを符号化するビデオ符号化装置であって、
現在ビデオブロックを双方向予測インターモードでコード化するために使用される第１の動きベクトルを決定することと、ここで、前記第１の動きベクトルは第１の参照ビデオブロックの関数である、
１つ以上の隣接ビデオブロックに関連する動きベクトルの第１のセットに基づいて第１の動きベクトル予測子（ＭＶＰ）を識別することと、ここで、前記動きベクトルの第１のセットは、前記第１の動きベクトルを含む、
前記第１のＭＶＰを識別する第１のインデックスを生成することと、
前記第１の動きベクトルと前記第１のＭＶＰとに基づいて第１の動きベクトル差分（ＭＶＤ）を生成することと、
前記現在ビデオブロックを前記双方向予測インターモードでコード化するために使用される第２の動きベクトルを決定することと、
動きベクトルの第２のセットに基づいて第２のＭＶＰを識別することと、ここで前記動きベクトルの第２のセットは、隣接ビデオブロックの１つ以上に関連する動きベクトルと、前記第１の動きベクトルに基づく候補とを含み、ここで、前記第１の動きベクトルに基づく前記候補は、前記現在ビデオブロックから前記第１の参照ビデオブロックへの時間距離および前記現在ビデオブロックから第２の参照ビデオブロックへの時間距離の関数であるスケールファクタによって前記第１の動きベクトルをスケーリングすることによって形成される、
前記第２のＭＶＰとして前記スケーリングされた第１の動きベクトルを識別する第２のインデックスを生成することと、
前記第２の動きベクトルと前記第２のＭＶＰとに基づいて第２のＭＶＤを生成することと、
前記現在ビデオブロックについての符号化ビットストリームの一部として、前記第１のインデックスと前記第１のＭＶＤと前記第２のインデックスと前記第２のＭＶＤとを出力することと
を行うように構成されたビデオエンコーダ
を備える、ビデオ符号化装置。
【請求項３５】
前記第１の動きベクトルと前記第２の動きベクトルとが、同じ予測フレームに関連するデータを指し、前記第１の動きベクトルに基づく前記候補が前記第１の動きベクトルである、請求項３４に記載のビデオ符号化装置。
【請求項３６】
前記第１の動きベクトルが、前のフレームに関連するデータを指し、前記第２の動きベクトルが、別の前のフレームに関連するデータを指す、請求項３４に記載のビデオ符号化装置。
【請求項３７】
前記第１の動きベクトルが、後続のフレームに関連するデータを指し、前記第２の動きベクトルが、別の後続のフレームに関連するデータを指す、請求項３４に記載のビデオ符号化装置。
【請求項３８】
前記第１の動きベクトルが、前のフレームに関連するデータを指し、前記第２の動きベクトルが、後続のフレームに関連するデータを指し、現在フレームに対する前記前のフレームの時間距離が、前記現在フレームに対する前記後続のフレームの時間距離と同じである、請求項３４に記載のビデオ符号化装置。
【請求項３９】
前記第１の動きベクトルが、後続のフレームに関連するデータを指し、前記第２の動きベクトルが、前のフレームに関連するデータを指し、現在フレームに対する前記後続のフレームの時間距離が、前記現在フレームに対する前記前のフレームの時間距離と同じである、請求項３４に記載のビデオ符号化装置。
【請求項４０】
前記第１の動きベクトルが、前のフレームに関連するデータを指し、前記第２の動きベクトルが、後続のフレームに関連するデータを指し、現在フレームに対する前記前のフレームの時間距離が、前記現在フレームに対する前記後続のフレームの時間距離とは異なる、請求項３４に記載のビデオ符号化装置。
【請求項４１】
前記第１の動きベクトルが、後続のフレームに関連するデータを指し、前記第２の動きベクトルが、前のフレームに関連するデータを指し、現在フレームに対する前記後続のフレームの時間距離が、前記現在フレームに対する前記前のフレームの時間距離とは異なる、請求項３４に記載のビデオ符号化装置。
【請求項４２】
前記現在ビデオブロックは、
高効率ビデオコード化（ＨＥＶＣ）規格に従って定義されたコード化単位（ＣＵ）と、ここで前記ＣＵが、４分木区分方式に従って最大コード化単位（ＬＣＵ）に対して定義される、
前記ＨＥＶＣ規格に従って定義された前記ＣＵの予測単位（ＰＵ）と
のうちの１つを備える、請求項３４に記載のビデオ符号化装置。
【請求項４３】
集積回路と、
マイクロプロセッサと、
ビデオエンコーダを含むワイヤレス通信機器と
のうちの１つ以上を備える、請求項３４に記載のビデオ符号化装置。
【請求項４４】
双方向予測インターモードでコード化された現在ビデオブロックに関連する第１の動きベクトルと第２の動きベクトルとをコード化するために適応動きベクトル予測（ＡＭＶＰ）が使用される、ビデオデータを復号するための装置であって、
前記第１の動きベクトルに関連する第１の動きベクトル差分（ＭＶＤ）を受信するための手段と、
第１の動きベクトル予測子（ＭＶＰ）を識別する第１のインデックスを受信するための手段と、前記第１のＭＶＰは、動きベクトルの第１のセットから選択される、
前記第１のＭＶＤと前記第１のＭＶＰとに基づいて前記第１の動きベクトルを生成するための手段と、前記第１の動きベクトルは、前記現在ビデオブロックと第１の隣接ビデオブロックとに関連する、
前記第２の動きベクトルに関連する第２のＭＶＤを受信するための手段と、
第２のＭＶＰを識別する第２のインデックスを受信するための手段と、ここで前記第２のＭＶＰは、動きベクトルの第２のセットから選択され、前記動きベクトルの第２のセットは、前記現在ビデオブロックから前記第１の隣接ビデオブロックへの時間距離および前記現在ビデオブロックから第２の隣接ビデオブロックへの時間距離の関数であるスケールファクタによって前記第１の動きベクトルをスケーリングすることによって形成される候補と、隣接ビデオブロックの１つ以上に関連する動きベクトルとを含む、
前記第２のＭＶＤと前記第２のＭＶＰとに基づいて前記第２の動きベクトルを生成するための手段と、前記第２の動きベクトルは、前記現在ビデオブロックおよび第２の隣接ビデオブロックに関連する、
を備える、装置。
【請求項４５】
双方向予測インターモードに従って現在ビデオブロックに関連する第１の動きベクトルと第２の動きベクトルとをコード化するために適応動きベクトル予測（ＡＭＶＰ）が使用される、ビデオデータを符号化するための装置であって、
前記現在ビデオブロックを前記双方向予測インターモードでコード化するために使用されるべき前記第１の動きベクトルを決定するための手段と、ここで前記動きベクトルの第１のセットは、前記第１の動きベクトルを含む、
１つ以上の隣接ビデオブロックに関連する動きベクトルの第１のセットに基づいて動きベクトルの第１のセットから選択される第１の動きベクトル予測子（ＭＶＰ）を識別するための手段と、
前記第１のＭＶＰを識別する第１のインデックスを生成するための手段と、
前記第１の動きベクトルと前記第１のＭＶＰとに基づいて第１の動きベクトル差分（ＭＶＤ）を生成するための手段と、
前記現在ビデオブロックを前記双方向予測インターモードでコード化するために使用されるべき前記第２の動きベクトルを決定するための手段と、
動きベクトルの第２のセットに基づいて第２のＭＶＰを識別するための手段と、ここで前記動きベクトルの第２のセットは、前記隣接ビデオブロックの１つ以上に関連する動きベクトルと、前記第１の動きベクトルのスケーリングバージョンに基づく候補とを含み、前記第１の動きベクトルに基づく前記候補は、前記現在ビデオブロックから第１の参照ビデオブロックへの時間距離および前記現在ビデオブロックから第２の参照ビデオブロックへの時間距離の関数であるスケールファクタによって前記第１の動きベクトルをスケーリングすることによって形成される、
前記第２のＭＶＰとしてスケーリングされた前記第１の動きベクトルを識別する第２のインデックスを生成するための手段と、
前記第２の動きベクトルと前記第２のＭＶＰとに基づいて第２のＭＶＤを生成するための手段と、
前記現在ビデオブロックについての符号化ビットストリームの一部として、前記第１のインデックスと前記第１のＭＶＤと前記第２のインデックスと前記第２のＭＶＤとを出力するための手段と
を備える、装置。
【請求項４６】
双方向予測インターモードでコード化された現在ビデオブロックに関連する第１の動きベクトルと第２の動きベクトルとをコード化するために適応動きベクトル予測（ＡＭＶＰ）が使用される、実行されると、プロセッサにビデオデータを復号させる命令を記憶するコンピュータ可読記憶媒体であって、前記命令は前記プロセッサに、
前記第１の動きベクトルに関連する第１の動きベクトル差分（ＭＶＤ）を受信すると、及び第１の動きベクトル予測子（ＭＶＰ）を識別する第１のインデックスを受信すると、前記第１のＭＶＤと前記第１のＭＶＰとに基づいて前記第１の動きベクトルを生成することと、前記第１のＭＶＰは動きベクトルの第１のセットから選択され、前記第１の動きベクトルは、前記現在ビデオブロックと第１の隣接ビデオブロックとに関連する、
前記第２の動きベクトルに関連する第２のＭＶＤを受信すると、及び第２のＭＶＰを識別する第２のインデックスを受信すると、ここで、前記第２のＭＶＰは動きベクトルの第２のセットから選択され、前記動きベクトルの第２のセットは、前記現在ビデオブロックから前記第１の隣接ビデオブロックへの時間距離および前記現在ビデオブロックから第２の隣接ビデオブロックへの時間距離の関数であるスケールファクタによって前記第１の動きベクトルをスケーリングすることによって形成される候補と隣接ビデオブロックの１つ以上に関連する動きベクトルとを含み、前記第２のＭＶＤと前記第２のＭＶＰとに基づいて前記第２の動きベクトルを生成することと、前記第２の動きベクトルは、前記現在ビデオブロックと第２の隣接ビデオブロックに関連する、
を行わせる、コンピュータ可読記憶媒体。
【請求項４７】
実行されると、双方向予測インターモードに従って現在ビデオブロックに関連する第１の動きベクトルと第２の動きベクトルとをコード化するために適応動きベクトル予測（ＡＭＶＰ）が使用されるプロセッサにビデオデータを符号化させる命令を記憶するコンピュータ可読記憶媒体であって、前記命令は前記プロセッサに、
前記現在ビデオブロックを前記双方向予測インターモードでコード化するために使用されるべき前記第１の動きベクトルを決定することと、ここで、前記第１の動きベクトルは第１の参照ビデオブロックの関数であり、
１つ以上の隣接ビデオブロックに関連する動きベクトルの第１のセットに基づいて第１の動きベクトル予測子（ＭＶＰ）を識別することと、ここで前記動きベクトルの第１のセットは、前記第１の動きベクトルを含む、
前記第１のＭＶＰを識別する第１のインデックスを生成することと、
前記第１の動きベクトルと前記第１のＭＶＰとに基づいて第１の動きベクトル差分（ＭＶＤ）を生成することと、
前記現在ビデオブロックを前記双方向予測インターモードでコード化するために使用されるべき前記第２の動きベクトルを決定することと、
動きベクトルの第２のセットに基づいて第２のＭＶＰを識別することと、ここで前記動きベクトルの第２のセットは、前記隣接ビデオブロックの１つ以上に関連する動きベクトルと、前記第１の動きベクトルのスケーリングバージョンに基づく候補とを含み、前記第１の動きベクトルに基づく前記候補は、前記現在ビデオブロックから前記第１の参照ビデオブロックへの時間距離および前記現在ビデオブロックから第２の参照ビデオブロックへの時間距離の関数であるスケールファクタによって前記第１の動きベクトルをスケーリングすることによって形成され、
前記第２のＭＶＰとしてスケーリングされた前記第１の動きベクトルを識別する第２のインデックスを生成することと、
前記第１の動きベクトルと前記第１のＭＶＰとに基づいて第２のＭＶＤを生成することと、
前記現在ビデオブロックについての符号化ビットストリームの一部として、前記第１のインデックスと前記第１のＭＶＤと前記第２のインデックスと前記第２のＭＶＤとを出力することと
を行わせる、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ビデオデータを圧縮するために使用されるビデオコード化技法に関し、より詳細には、ビデオ圧縮において使用される適応動きベクトル予測（ＡＭＶＰ：adaptive motion vector prediction）に関する。
【背景技術】
【０００２】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレス電話ハンドセットなどのワイヤレス通信機器、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップ又はデスクトップコンピュータ、タブレットコンピュータ、デジタルカメラ、デジタル記録機器、ビデオゲーム機器、ビデオゲーム機、パーソナルマルチメディアプレーヤなどを含む、広範囲にわたる機器に組み込まれ得る。そのようなビデオ機器は、ビデオデータを圧縮するために、ＭＰＥＧ−２、ＭＰＥＧ−４、又はＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０、最新ビデオコード化（ＡＶＣ：Advanced Video Coding）に記載されているビデオ圧縮技法などのビデオ圧縮技法を実施し得る。ビデオ圧縮技法では、ビデオシーケンスに固有の冗長性を低減又は除去するために空間的及び／又は時間的予測を実行する。ＭＰＥＧとＩＴＵ−Ｔとのコラボレーションである「Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ−Ｖｉｄｅｏ  Ｃｏｄｉｎｇ」（ＪＣＴＶＣ）によって開発されている高効率ビデオコード化（ＨＥＶＣ：High Efficiency Video Coding）規格など、新しいビデオ規格が出現し、発展し続けている。新生ＨＥＶＣ規格は、Ｈ．２６５と呼ばれることがある。
【０００３】
これら及び他のビデオコード化規格及び技法は、ブロックベースのビデオコード化を使用する。ブロックベースのビデオコード化技法は、ビデオフレームのビデオデータ（又はそれの一部分）をビデオブロックに分割し、次いで予測ブロックベースの圧縮技法を使用してビデオブロックを符号化する。ビデオブロックは、更にビデオブロック区分に分割され得る。ビデオブロック（又はそれらの区分）は、コード化単位（ＣＵ）又は予測単位（ＰＵ）と呼ばれることがあり、１つ以上のビデオ固有の符号化技法ならびに一般的なデータ圧縮技法を使用して符号化され得る。ビデオブロックをコード化するために、異なるモードが選択され、使用され得る。
【０００４】
新生ＨＥＶＣ規格では、最大コード化単位（ＬＣＵ）が４分木区分方式（quadtree partitioning scheme）に従ってますます小さいＣＵに分割され得る。ＣＵは、所謂ＰＵに基づいて予測され得、ＰＵは、複数のＰＵが所与のＣＵを予測するために使用され得るように、ＣＵのサイズに対応するパーティションブロックサイズ、又はＣＵのサイズよりも小さいパーティションブロックサイズを有することができる。
【０００５】
ＣＵを符号化するために、異なるモードが使用され得る。例えば、ビデオフレーム内の空間的冗長性を活用するために、同じフレーム又はスライス内の予測データに基づいてＣＵをコード化するために異なるイントラコード化モードが使用され得る。代替的に、ビデオシーケンスのフレーム上の時間的冗長性を活用するために、別のフレーム又はスライスからの予測データに基づいてＣＵをコード化するためにインターコード化モードが使用され得る。予測コード化が選択されたモードに従って実行された後、次いで、離散コサイン変換（ＤＣＴ）、整数変換などの変換コード化が実行され得る。ＨＥＶＣの場合、変換コード化は変換単位（ＴＵ）に対して行われ得、ＴＵはまた、ＨＥＶＣ規格において変動する変換サイズを有することができる。また、変換係数の量子化、量子化変換係数の走査、及びエントロピーコード化が実行され得る。ビデオデータをどのように復号すべきかをデコーダに知らせるために、例えば、ビデオスライスヘッダ又はビデオブロックヘッダ中で、シンタックス情報が、符号化ビデオデータとともに信号伝達される。特に、シンタックス情報は、異なるビデオブロックのビデオコード化において使用されたモードを識別し得る。
【発明の概要】
【０００６】
本出願は、その内容全体が参照により本明細書に組み込まれる、２０１１年３月８日に出願された米国仮出願第６１／４５０，５３７号の利益を主張する。
【０００７】
本開示では、適応動きベクトル予測（ＡＭＶＰ）を使用する双方向予測インターモードに適用可能なビデオ符号化及び復号技法について説明する。特に、本開示では、双方向予測インターモードでコード化された現在ビデオブロックに関連する第１の動きベクトルと第２の動きベクトルとをコード化するためにＡＭＶＰが使用される、ビデオデータを符号化又は復号するための技法について説明する。より詳細には、本開示では、双方向予測ビデオブロックの１つの動きベクトルが、双方向予測ビデオブロックの別の動きベクトルを予測するための候補動きベクトル予測子（ＭＶＰ）を定義するために使用され得る技法について説明する。多くの例では、双方向予測ビデオブロックの第１の動きベクトルのスケーリングバージョンが、双方向予測ビデオブロックの第２の動きベクトルのためのＭＶＰとして使用される。このようにして、双方向予測ビデオブロックの第２の動きベクトルのための追加のＭＶＰ候補を定義することによって、圧縮の改善が達成され得る。
【０００８】
一例では、本開示では、双方向予測インターモードでコード化された現在ビデオブロックに関連する第１の動きベクトルと第２の動きベクトルとをコード化するためにＡＭＶＰが使用される、ビデオデータを復号する方法について説明する。本方法は、第１の動きベクトルに関連する第１の動きベクトル差分（ＭＶＤ）を受信することと、第１のＭＶＰを識別する第１のインデックスを受信することと、第１のＭＶＤと第１のＭＶＰとに基づいて第１の動きベクトルを生成することとを備える。本方法はまた、第２の動きベクトルに関連する第２のＭＶＤを受信することと、第２のＭＶＰを識別する第２のインデックスを受信することであって、第２のＭＶＰが、第１の動きベクトルに基づいて定義された、受信することと、第２のＭＶＤと第２のＭＶＰとに基づいて第２の動きベクトルを生成することとを備える。
【０００９】
別の例では、本開示では、双方向予測インターモードに従って現在ビデオブロックに関連する第１の動きベクトルと第２の動きベクトルとをコード化するためにＡＭＶＰが使用される、ビデオデータを符号化する方法について説明する。本方法は、現在ビデオブロックを双方向予測インターモードでコード化するために使用されるべき第１の動きベクトルを決定することと、１つ以上の隣接ビデオブロックに関連する動きベクトルの第１のセットに基づいて第１のＭＶＰを識別することと、第１のＭＶＰを識別する第１のインデックスを生成することと、第１の動きベクトルと第１のＭＶＰとに基づいて第１のＭＶＤを生成することとを備える。本方法はまた、現在ビデオブロックを双方向予測インターモードでコード化するために使用されるべき第２の動きベクトルを決定することと、動きベクトルの第２のセットに基づいて第２のＭＶＰを識別することと、ここで動きベクトルの第２のセットが、隣接ビデオブロックの１つ以上に関連する動きベクトルと、第１の動きベクトルに基づく候補とを含む、第２のＭＶＰを識別する第２のインデックスを生成することと、第２の動きベクトルと第２のＭＶＰとに基づいて第２のＭＶＤを生成することと、現在ビデオブロックについての符号化ビットストリームの一部として、第１のインデックスと第１のＭＶＤと第２のインデックスと第２のＭＶＤとを出力することとを備える。
【００１０】
別の例では、本開示では、ビデオデータを復号するビデオ復号機器について説明する。本ビデオ復号機器は、第１の動きベクトルに関連する第１のＭＶＤを受信することと、第１のＭＶＰを識別する第１のインデックスを受信することと、第１のＭＶＤと第１のＭＶＰとに基づいて第１の動きベクトルを生成することとを行うように構成されたビデオデコーダを備える。ビデオデコーダはまた、第２の動きベクトルに関連する第２のＭＶＤを受信することと、第２のＭＶＰを識別する第２のインデックスを受信することと、ここで第２のＭＶＰが、第１の動きベクトルに基づいて定義される、第２のＭＶＤと第２のＭＶＰとに基づいて第２の動きベクトルを生成することとを行うように構成される。
【００１１】
別の例では、本開示では、ビデオデータを符号化するビデオ符号化機器について説明する。本ビデオ符号化機器は、現在ビデオブロックを双方向予測インターモードでコード化するために使用されるべき第１の動きベクトルを決定することと、１つ以上の隣接ビデオブロックに関連する動きベクトルの第１のセットに基づいて第１のＭＶＰを識別することと、第１のＭＶＰを識別する第１のインデックスを生成することと、第１の動きベクトルと第１のＭＶＰとに基づいて第１のＭＶＤを生成することとを行うように構成されたビデオエンコーダを備える。ビデオエンコーダはまた、現在ビデオブロックを双方向予測インターモードでコード化するために使用されるべき第２の動きベクトルを決定することと、動きベクトルの第２のセットに基づいて第２のＭＶＰを識別することと、ここで動きベクトルの第２のセットが、隣接ビデオブロックのうちの１つ以上に関連する動きベクトルと、第１の動きベクトルに基づく候補とを含む、第２のＭＶＰを識別する第２のインデックスを生成することと、第２の動きベクトルと第２のＭＶＰとに基づいて第２のＭＶＤを生成することと、現在ビデオブロックについての符号化ビットストリームの一部として、第１のインデックスと第１のＭＶＤと第２のインデックスと第２のＭＶＤとを出力することとを行うように構成される。
【００１２】
別の例では、本開示では、双方向予測インターモードでコード化された現在ビデオブロックに関連する第１の動きベクトルと第２の動きベクトルとをコード化するためにＡＭＶＰが使用される、ビデオデータを復号するための機器について説明する。本機器は、第１の動きベクトルに関連する第１のＭＶＤを受信するための手段と、第１のＭＶＰを識別する第１のインデックスを受信するための手段と、第１のＭＶＤと第１のＭＶＰとに基づいて第１の動きベクトルを生成するための手段と、第２の動きベクトルに関連する第２のＭＶＤを受信するための手段と、第２のＭＶＰを識別する第２のインデックスを受信するための手段と、ここで第２のＭＶＰが、第１の動きベクトルに基づいて定義される、第２のＭＶＤと第２のＭＶＰとに基づいて第２の動きベクトルを生成するための手段とを備える。
【００１３】
別の例では、本開示では、双方向予測インターモードに従って現在ビデオブロックに関連する第１の動きベクトルと第２の動きベクトルとをコード化するためにＡＭＶＰが使用される、ビデオデータを符号化するための機器について説明する。本機器は、現在ビデオブロックを双方向予測インターモードでコード化するために使用されるべき第１の動きベクトルを決定するための手段と、１つ以上の隣接ビデオブロックに関連する動きベクトルの第１のセットに基づいて第１のＭＶＰを識別するための手段と、第１のＭＶＰを識別する第１のインデックスを生成するための手段と、第１の動きベクトルと第１のＭＶＰとに基づいて第１のＭＶＤを生成するための手段と、現在ビデオブロックを双方向予測インターモードでコード化するために使用されるべき第２の動きベクトルを決定するための手段と、動きベクトルの第２のセットに基づいて第２のＭＶＰを識別するための手段と、ここで動きベクトルの第２のセットが、隣接ビデオブロックの１つ以上に関連する動きベクトルと、第１の動きベクトルに基づく候補とを含む、第２のＭＶＰを識別する第２のインデックスを生成するための手段と、第２の動きベクトルと第２のＭＶＰとに基づいて第２のＭＶＤを生成するための手段と、現在ビデオブロックについての符号化ビットストリームの一部として、第１のインデックスと第１のＭＶＤと第２のインデックスと第２のＭＶＤとを出力するための手段とを備える。
【００１４】
本開示で説明する技法は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実施され得る。例えば、様々な技法が、１つ以上のプロセッサによって実施又は実行され得る。本明細書で使用するプロセッサは、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、又は他の等価の集積又はディスクリート論理回路を指すことがある。ソフトウェアは、１つ以上のプロセッサによって実行され得る。本技法を実行する命令を備えるソフトウェアは、最初にコンピュータ可読媒体に記憶され、プロセッサによってロードされ、実行され得る。
【００１５】
従って、本開示はまた、プロセッサに、本開示で説明するいずれかの技法を実行させる命令を備えるコンピュータ可読記憶媒体を企図する。場合によっては、コンピュータ可読記憶媒体はコンピュータプログラム記憶製品の一部を形成し得、コンピュータプログラム記憶製品は、製造業者に販売され、及び／又は機器中で使用され得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得、場合によってはパッケージング材料をも含み得る。
【００１６】
特に、本開示ではまた、双方向予測インターモードでコード化された現在ビデオブロックに関連する第１の動きベクトルと第２の動きベクトルとをコード化するためにＡＭＶＰが使用される、実行されると、プロセッサにビデオデータを復号させる命令を備えるコンピュータ可読媒体について説明する。命令はプロセッサに、第１の動きベクトルに関連する第１のＭＶＤを受信すると、及び第１のＭＶＰを識別する第１のインデックスを受信すると、第１のＭＶＤと第１のＭＶＰとに基づいて第１の動きベクトルを生成することを行わせる。更に、命令はプロセッサに、第２の動きベクトルに関連する第２のＭＶＤを受信すると、及び第１の動きベクトルに基づいて定義された第２のＭＶＰを識別する第２のインデックスを受信すると、第２のＭＶＤと第２のＭＶＰとに基づいて第２の動きベクトルを生成することを行わせる。
【００１７】
更に別の例では、本開示では、双方向予測インターモードに従って現在ビデオブロックに関連する第１の動きベクトルと第２の動きベクトルとをコード化するためにＡＭＶＰが使用される、実行されると、プロセッサにビデオデータを復号させる命令を備えるコンピュータ可読媒体について説明する。命令はプロセッサに、現在ビデオブロックを双方向予測インターモードでコード化するために使用されるべき第１の動きベクトルを決定することと、１つ以上の隣接ビデオブロックに関連する動きベクトルの第１のセットに基づいて第１のＭＶＰを識別することと、第１のＭＶＰを識別する第１のインデックスを生成することと、第１の動きベクトルと第１のＭＶＰとに基づいて第１のＭＶＤを生成することと、現在ビデオブロックを双方向予測インターモードでコード化するために使用されるべき第２の動きベクトルを決定することと、動きベクトルの第２のセットに基づいて第２のＭＶＰを識別することと、ここで動きベクトルの第２のセットが、隣接ビデオブロックの１つ以上に関連する動きベクトルと、第１の動きベクトルに基づく候補とを含む、第２のＭＶＰを識別する第２のインデックスを生成することと、第２の動きベクトルと第２のＭＶＰとに基づいて第２のＭＶＤを生成することと、現在ビデオブロックについての符号化ビットストリームの一部として、第１のインデックスと第１のＭＶＤと第２のインデックスと第２のＭＶＤとを出力することとを行わせる。
【００１８】
本開示の１つ以上の態様の詳細を添付の図面及び以下の説明に記載する。本開示で説明する技法の他の特徴、目的、及び利点は、これらの説明及び図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１９】
【図１】本開示の技法の１つ以上を実施し得る１つの例示的なビデオ符号化及び復号システムを示すブロック図。
【図２】本開示の技法に一致する、コード化ユニット（ＣＵ）の４分木区分を示す概念図。
【図３】本開示の技法を実施し得るビデオエンコーダを示すブロック図。
【図４】本開示の１つ以上の例に一致するエンコーダの例示的な予測ユニットを示すブロック図。
【図５】本開示の技法を実施し得るビデオデコーダを示すブロック図。
【図６】現在ビデオブロックが、本開示に一致する、双方向予測インターモードで１つ以上の異なる隣接ビデオブロックの情報を使用し得るような、現在ビデオブロックに対する異なる隣接ビデオブロックのロケーションを示す概念図。
【図７】現在ビデオブロックが、本開示に一致する、双方向予測インターモードで１つ以上の異なる隣接ビデオブロックの情報を使用し得るような、現在ビデオブロックに対する隣接ビデオブロックを示す別の概念図。
【図８】双方向予測されたビデオブロックの１つの動きベクトルが、双方向予測されたビデオブロックの別の動きベクトルのための候補ＭＶＰを定義するためにどのように使用され得るかを示す概念図。
【図９】双方向予測されたビデオブロックの１つの動きベクトルが、双方向予測されたビデオブロックの別の動きベクトルのための候補ＭＶＰを定義するためにどのように使用され得るかを示す概念図。
【図１０】双方向予測されたビデオブロックの１つの動きベクトルが、双方向予測されたビデオブロックの別の動きベクトルのための候補ＭＶＰを定義するためにどのように使用され得るかを示す概念図。
【図１１】双方向予測されたビデオブロックの１つの動きベクトルが、双方向予測されたビデオブロックの別の動きベクトルのための候補ＭＶＰを定義するためにどのように使用され得るかを示す概念図。
【図１２】双方向予測されたビデオブロックの１つの動きベクトルが、双方向予測されたビデオブロックの別の動きベクトルのための候補ＭＶＰを定義するためにどのように使用され得るかを示す概念図。
【図１３】本開示に一致する技法を示す流れ図。
【図１４】本開示に一致する技法を示す流れ図。
【発明を実施するための形態】
【００２０】
本開示では、適応動きベクトル予測（ＡＭＶＰ）を使用する双方向予測インターモードに適用可能なビデオ符号化及び復号技法について説明する。ＡＭＶＰの場合、動きベクトルは、隣接ブロックに関連する動きベクトルなど、他の動きベクトルに対する差分値（即ち、デルタ）として符号化される。ＡＭＶＰに従って現在動きベクトルを符号化するためにどの隣接ビデオブロックが使用されるかを定義するために、インデックスが使用され得る。特に、本開示では、ＡＭＶＰが、双方向予測インターモードでコード化された現在ビデオブロックに関連する第１の動きベクトルと第２の動きベクトルとをコード化するために使用される、ビデオデータを符号化又は復号するための技法について説明する。双方向予測インターモードは、ビデオブロックが、２つの予測ビデオブロックに関連する２つの異なる動きベクトルに基づいてコード化される、任意のビデオコード化モードを指す。
【００２１】
より詳細には、本開示では、双方向予測ビデオブロックの１つの動きベクトルが、双方向予測ビデオブロックの別の動きベクトルを予測するための候補動きベクトル予測子（ＭＶＰ）を定義するために使用され得る技法について説明する。多くの例では、双方向予測ビデオブロックの第１の動きベクトルのスケーリングバージョンが、双方向予測ビデオブロックの第２の動きベクトルのためのＭＶＰとして使用される。このようにして、双方向予測ビデオブロックの第２の動きベクトルのための追加のＭＶＰ候補を定義することによって、圧縮の改善が達成され得る。
【００２２】
たいていのビデオコード化システムでは、データ圧縮を達成するために、ビデオシーケンス中の時間的冗長性を低減するために動き推定及び動き補償が使用される。この場合、動きベクトルは、コード化されている現在ビデオブロックの値を予測するために使用され得る、例えば、別のビデオフレーム又はスライスからビデオデータの予測ブロックを識別するように生成され得る。予測ビデオブロックの値が、現在ビデオブロックの値から減算されて、残差データのブロックが生成される。動きベクトルは、残差データとともにエンコーダからデコーダに通信される。デコーダは、（動きベクトルに基づいて）同じ予測ブロックを配置し、残差データを予測ブロックのデータと組み合わせることによって符号化されたビデオブロックを再構成することができる。ビデオ圧縮を更に改善するために、変換及びエントロピーコード化などの多くの他の圧縮技法も使用され得る。
【００２３】
動き推定プロセスは、通常エンコーダにおいて行われる。動き情報（動きベクトル、動きベクトルインデックス、予測方向、又は他の情報など）は、デコーダによって記憶及びアクセスされるか、又はエンコーダからデコーダに送信され得る符号化ビットストリーム中に含まれ得る。符号化ビットストリーム中の動き情報に基づいて、デコーダは、所与のビデオブロックを符号化するために使用される予測ブロックを識別することができる。
【００２４】
場合によっては、動きベクトルの予測コード化は、動きベクトルを通信するために必要なデータの量を更に低減するために適用される。この場合、動きベクトル自体を符号化し、通信するのではなく、エンコーダは、知られている（又は知り得る）動きベクトルに対する動きベクトル差分（ＭＶＤ）を符号化し、通信する。場合によっては、現在動きベクトルを定義するためにＭＶＤとともに使用され得る、知られている動きベクトルは、（図６に示すネイバーブロックＸ、Ｙ、及びＺなどの）隣接ブロックに関連する動きベクトルの中央値として導出され得る、所謂動きベクトル予測子（ＭＶＰ）によって定義され得る。有効な候補ＭＶＰであるために、所与の動きベクトルが、ＭＶＰとＭＶＤとによって現在コード化されている動きベクトルと同じビデオフレームを指す必要があり得る。
【００２５】
ＭＶＰのための候補として空間的及び時間的方向において幾つかの隣接ブロックを含むことによって動きベクトル候補セットを構築するために、適応動きベクトル予測（ＡＭＶＰ）と呼ばれるより高度な技法が提案されている。この場合、エンコーダは、符号化レートと歪みとの分析に基づいて（例えば、所謂レート歪みコスト分析（rate-distortion cost analysis）を使用して）候補セットから最も正確な予測子を選択することができる。ＭＶＰをどこに配置すべきかをデコーダに通知するために、動きベクトル予測子インデックス（ｍｖｐ＿ｉｄｘ）がデコーダに送信され得る。インデックスは、概して、ＭＶＰ候補のセットからＭＶＰを識別する情報を指す。ＭＶＤも通信される。デコーダは、動きベクトルを再構成するために、ＭＶＤを（動きベクトル予測子インデックスによって定義された）ＭＶＰと組み合わせることができる。デコーダは、（エンコーダのように）インデックスが様々な基準に基づいて適用される候補ＭＶＰのセットを定義することができる。エンコーダ及びデコーダは、インデックスがどのようにＭＶＰ候補にマッピングしているかがわかるようにプログラムされ得、これらのマッピングは、例えば、ＡＭＶＰを使用する、前にコード化されたビデオブロックの統計値に基づいて経時的に一層適応し得る。
【００２６】
幾つかのビデオコード化モードは、１つのビデオブロックを予測するために２つの異なる動きベクトルを提供する。所謂双方向予測は、例えば、２つの異なる予測ビデオブロックの（時々重み付けされた）組合せに基づく予測ビデオブロックの作成を可能にし得る。従って、そのような双方向予測インターモードの場合、２つの異なる動きベクトルが予測プロセスのために使用される。
【００２７】
本開示では、双方向予測ビデオブロックの１つの動きベクトルが、双方向予測ビデオブロックの別の動きベクトルを予測するための候補ＭＶＰを定義するために使用され得る技法について説明する。多くの例では、双方向予測ビデオブロックの第１の動きベクトルのスケーリングバージョンが、双方向予測ビデオブロックの第２の動きベクトルのためのＭＶＰとして使用される。このようにして、双方向予測ビデオブロックの第２の動きベクトルのための追加のＭＶＰ候補を定義することによって、圧縮の改善が達成され得る。
【００２８】
図１は、本開示の技法を実施し得る例示的なビデオ符号化及び復号システム１０を示すブロック図である。図１に示すように、システム１０は、通信チャネル１５を介して符号化ビデオを宛先機器１６に送信する発信源１２を含む。発信源１２及び宛先機器１６は、広範囲にわたる機器のいずれかを備え得る。場合によっては、発信源１２及び宛先機器１６は、所謂セルラー無線電話又は衛星無線電話などのワイヤレス通信機器ハンドセットを備え得る。但し、概して双方向予測インターモードでのビデオブロックの符号化及び復号に適用される本開示の技法は、ビデオ符号化及び／又は復号能力を含む非ワイヤレス機器に適用され得る。発信源１２及び宛先機器１６は、本明細書で説明する技法をサポートすることができるコード化機器の例にすぎない。例えば、本技法は、符号化ビットストリームを記憶するために、符号化機器によって適用され得るか、又は本技法は、復号機器によって、記憶又は通信された（例えば、ストリーミング）ビットストリームに適用され得る。
【００２９】
図１の例では、発信源１２は、ビデオ発信源２０と、ビデオエンコーダ２２と、変調器／復調器（モデム）２３と、送信機２４とを含み得る。宛先機器１６は、受信機２６と、モデム２７と、ビデオデコーダ２８と、表示装置３０とを含み得る。本開示によれば、発信源１２のビデオエンコーダ２２は、双方向予測インターモードに従って１つ以上のビデオブロックを符号化するように構成され得る。ＡＭＶＰを使用する双方向予測インターモードの場合、２つの異なる動きベクトルに基づいて、ビデオブロックが予測され得る。動きベクトルは、動きベクトルについてのＭＶＰを定義するインデックス値によって、及びＭＶＰに対する動きベクトルの差（又はデルタ）を定義する動きベクトル差分（ＭＶＤ）によって定義され得る。デコーダは、所与の動きベクトルを定義するために、ＭＶＰを、対応するＭＶＤと組み合わせることができる。ＭＶＰについてのインデックスを識別するために、及び異なる予測された動きベクトルのためのＭＶＤを定義するために、ビデオエンコーダ２２においてシンタックス要素が生成され得る。ビデオデコーダは、シンタックス要素によって定義されたＭＶＰとＭＶＤとに基づいて双方向予測ビデオブロックを再構成することができる。
【００３０】
より詳細には、ビデオエンコーダ２２は、現在ビデオブロックを符号化するために、ならびに動きベクトルのために使用される２つの異なるＭＶＰを識別するために双方向予測インターモードを選択し得る。ビデオエンコーダ２２は、動きベクトルと、その動きベクトルをコード化するために使用される対応するＭＶＰとの間の差としてＭＶＤを生成し得る。ビデオエンコーダ２２は、ビデオデコーダへのＭＶＰとＭＶＤとを識別するために、１つ以上のシンタックス要素を生成し得る。同じく、本開示では、双方向予測ビデオブロックの１つの動きベクトルが、双方向予測ビデオブロックの別の動きベクトルを予測するための候補ＭＶＰを定義するために使用され得る技法について説明する。例えば、双方向予測ビデオブロックの第１の動きベクトルのスケーリングバージョンが、双方向予測ビデオブロックの第２の動きベクトルのためのＭＶＰとして使用され、それにより、データ圧縮が改善され得る。幾つかの異なるスケーリング技法について、以下で更に詳細に説明する。
【００３１】
ビデオ発信源２０は、ビデオカメラ、前に撮影されたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからのビデオフィード、又はビデオの別の発信源など、撮像装置を備え得る。さらなる代替として、ビデオ発信源２０は、発信源ビデオとしてのコンピュータグラフィックスベースのデータ、又はライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオ発信源２０がビデオカメラである場合、発信源１２及び宛先機器１６は、所謂カメラフォン又はビデオフォンを形成し得る。各場合において、撮影されたビデオ、事前撮影されたビデオ又はコンピュータ生成ビデオは、ビデオエンコーダ２２によって符号化され得る。
【００３２】
ビデオデータがビデオエンコーダ２２によって符号化されると、符号化されたビデオ情報は、次いで、例えば、符号分割多元接続（ＣＤＭＡ）、直交周波数分割多重化（ＯＦＤＭ）あるいは他の通信規格又は技法などの通信規格に従ってモデム２３によって変調され得る。次いで、符号化及び変調されたデータは、送信機２４を介して宛先機器１６に送信され得る。モデム２３は、信号変調のために設計された様々なミキサ、フィルタ、増幅器又は他の構成要素を含み得る。送信機２４は、増幅器、フィルタ、及び１つ以上のアンテナを含む、データを送信するために設計された回路を含み得る。宛先機器１６の受信機２６はチャネル１５を介して情報を受信し、モデム２７はその情報を復調する。
【００３３】
ビデオデコーダ２８によって実行されるビデオ復号プロセスは、ビデオエンコーダ２２によって実行される符号化技法とは逆の技法を含み得る。特に、ビデオデコーダ２８は、現在ビデオブロックについての１つ以上のシンタックス要素を受信し得、現在ビデオブロックは双方向予測インターモードに従って符号化され、ビデオデコーダ２８は、１つ以上のシンタックス要素に基づいてＭＶＰとＭＶＤとを識別し得る。ビデオデコーダは、双方向予測インターモードに従って現在ビデオブロックを復号するために、受信したＭＶＰとＭＶＤとを使用し得る。
【００３４】
通信チャネル１５は、説明のために示されているにすぎず、多くの例では必要でない。図１では、通信チャネル１５は、無線周波数（ＲＦ）スペクトル又は１つ以上の物理伝送線路など、任意のワイヤレス又はワイヤード通信媒体、又はワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル１５は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル１５は、一般に、ビデオデータを発信源１２から宛先機器１６に送信するのに好適な任意の通信媒体、又は様々な通信媒体の集合体を表す。この場合も、図１は例にすぎず、本開示の技法は、符号化機器と復号機器との間のデータ通信を必ずしも含むとは限らないビデオコード化設定（例えば、ビデオ符号化又はビデオ復号）に適用され得る。他の例では、データがローカルメモリから取り出されること、ネットワークを介してストリーミングされることなどが行われ得る。
【００３５】
場合によっては、ビデオエンコーダ２２及びビデオデコーダ２８は、新生のＨＶＥＣ規格などのビデオ圧縮規格に実質的に従って動作し得る。しかしながら、本開示の技法はまた、幾つかの古い規格、又は新しい若しくは新生の規格を含む、様々な他のビデオコード化規格のコンテキストにおいて適用され得る。図１には示されていないが、場合によっては、ビデオエンコーダ２２及びビデオデコーダ２８は、それぞれオーディオエンコーダ及びデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、又は他のハードウェア及びソフトウェアを含んで、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、又はユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００３６】
ビデオエンコーダ２２及びビデオデコーダ２８はそれぞれ、１つ以上のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、又はそれらの組合せとして実施され得る。ビデオエンコーダ２２及びビデオデコーダ２８の各々は１つ以上のエンコーダ又はデコーダ中に含まれ得、そのいずれも複合エンコーダ／デコーダ（コーデック）の一部としてそれぞれのモバイル機器、加入者機器、ブロードキャスト機器、サーバなどに統合され得る。本開示では、コーダという用語はエンコーダ、デコーダ、又はコーデックを指し、コーダ、エンコーダ、デコーダ、及びコーデックという用語はすべて、本開示に一致するビデオデータのコード化（符号化及び／又は復号）のために設計された特定の機械を指す。
【００３７】
場合によっては、機器１２、１６は、実質的に対称的に動作し得る。例えば、機器１２、１６の各々は、ビデオ符号化構成要素とビデオ復号構成要素とを含み得る。従って、システム１０は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、又はビデオテレフォニーのためのビデオ機器１２とビデオ機器１６との間の一方向又は双方向のビデオ送信をサポートし得る。
【００３８】
符号化プロセス中に、ビデオエンコーダ２２は、幾つかのコード化技法又は演算を実行し得る。概して、ビデオエンコーダ２２は、ＨＥＶＣ規格に一致するビデオデータのブロック上で動作する。ＨＥＶＣに従って、ビデオブロックは、コード化ユニット（ＣＵ）と呼ばれ、多くのＣＵは、個々のビデオフレーム（又は、スライスなど、ビデオの他の単独で定義されたユニット）内に存在する。フレーム、スライス、フレームの部分、ピクチャグループ、又は他のデータ構造は、複数のＣＵを含むビデオ情報のユニットとして定義され得る。ＣＵは、ＨＥＶＣ規格に従って変動するサイズを有し得、ビットストリームは、最大コード化ユニット（ＬＣＵ）をＣＵの最大サイズとして定義し得る。双方向予測インターモードは、ＬＣＵ、ＣＵ、又は場合によっては他のタイプのビデオブロックを符号化するために使用され得る。ＨＥＶＣ規格では、ＬＣＵが４分木区分方式に従ってますます小さいＣＵに分割され得、その方式において定義されている様々なＣＵは、更に、所謂予測ユニット（ＰＵ）に区分され得る。ＬＣＵ、ＣＵ、及びＰＵは、すべて、本開示の意味内のビデオブロックである。
【００３９】
ビデオエンコーダ２２は、コード化されているビデオブロック（例えば、ＬＣＵ内のＣＵのＰＵ）が、予測ブロックを識別するために１つ以上の予測候補と比較される、予測コード化を実行し得る。予測コード化のこのプロセスは、イントラ（その場合、予測データは、同じビデオフレーム又はスライス内の近隣イントラデータに基づいて生成される）、又はインター（その場合、予測データは、前又は後続のフレーム又はスライス中のビデオデータに基づいて生成される）であり得る。多くの異なるコード化モードがサポートされ得、ビデオエンコーダ２２は、望ましいビデオコード化モードを選択し得る。本開示によれば、少なくとも幾つかのビデオブロックは、本明細書で説明する双方向予測インターモードを使用してコード化され得る。双方向予測インターモードは、２つの動きベクトルによって識別された２つの予測ブロックに対する異なるブロックサイズ又は異なる重み付け割振りのために別様に定義され得る幾つかの可能な双方向予測インターモードのいずれかを指すことがある。
【００４０】
双方向予測インターモードの場合、予測ブロックは、２つの予測ブロックの組合せ、例えば、場合によっては重み付けされた組合せとして生成され得る。第１の予測ブロックは、第１の動きベクトルに基づいて生成され、第２の予測ブロックは、第２の動きベクトルに基づいて生成される。第１の動きベクトルは、ＭＶＰとＭＶＤとを定義するインデックスによって定義されるが、第２の動きベクトルは、別のＭＶＰと別のＭＶＤとを定義する別のインデックスによって定義される。本開示によれば、第２の動きベクトルのためのＭＶＰ候補のうちの少なくとも１つは、第１の動きベクトルに基づいて生成され得る。
【００４１】
予測ブロックを生成した後に、コード化されている現在のビデオブロックと予測ブロックとの間の差は残差ブロックとしてコード化され、予測ブロックを識別するために予測シンタックスが使用される。本明細書で説明する双方向予測インターモードの場合、予測シンタックス（例えば、シンタックス要素）は、ビデオデコーダへのＭＶＤとＭＶＰとを識別し得る。従って、デコーダは、双方向予測インターモードに従って現在ビデオブロックを復号するためにＭＶＤとＭＶＰとを使用することができる。
【００４２】
残差ブロックは、変換され、量子化され得る。変換技法は、ＤＣＴプロセス又は概念的に同様のプロセス、整数変換、ウェーブレット変換、又は他のタイプの変換を備え得る。ＤＣＴプロセスでは、一例として、変換プロセスは、画素値（例えば、残差画素値）のセットを、周波数領域における画素値のエネルギーを表し得る変換係数に変換する。ＨＥＶＣ規格は、ＣＵごとに異なり得る変換単位（ＴＵ）に従う変換を可能にする。特に、ＣＵに対応する残差サンプルは、「残差４分木」（ＲＱＴ：residual quad tree）として知られる４分木構造を使用して、より小さい単位に再分割され得る。ＲＱＴのリーフノードはＴＵと呼ばれることがある。ＴＵは、変換され、量子化され得る。
【００４３】
量子化は、変換係数に適用され得、概して、所与の変換係数に関連するビット数を制限するプロセスを必要とする。より詳細には、量子化は、ＬＣＵレベルで定義される量子化パラメータ（ＱＰ）に従って適用され得る。従って、同じレベルの量子化が、ＬＣＵ内のＣＵの異なるＰＵに関連するＴＵ中のすべての変換係数に適用され得る。但し、ＱＰ自体を信号伝達するのではなく、前のＬＣＵの変化に対するＱＰの変化を示すために、ＱＰの変化（即ち、デルタ）がＬＣＵとともに信号伝達され得る。
【００４４】
変換及び量子化の後に、量子化及び変換された残差ビデオブロックに対してエントロピーコード化が実行され得る。また、シンタックス要素がエントロピーコード化ビットストリーム中に含まれ得る。概して、エントロピーコード化は、量子化変換係数のシーケンス及び／又は他のシンタックス情報をまとめて圧縮する、１つ以上のプロセスを備える。２次元ビデオブロックから係数の１つ以上のシリアル化１次元ベクトルを定義するために、量子化変換係数に対して走査技法が実行され得る。走査された係数は次いで、例えば、コンテンツ適応型可変長コード化（ＣＡＶＬＣ：content adaptive variable length coding）、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ：context adaptive binary arithmetic coding）、又は別のエントロピーコード化プロセスによって、任意のシンタックス情報とともにエントロピーコード化される。
【００４５】
符号化プロセスの一部として、符号化されたビデオブロックは、後続のビデオブロックの後続の予測ベースコード化のために使用されるビデオデータを生成するために復号され得る。これは、しばしば、符号化プロセスの復号ループと呼ばれ、概して、デコーダ機器によって実行される復号を模倣する。エンコーダ又はデコーダの復号ループでは、ビデオ品質を改善し、例えば、画素境界を平滑化し、場合によっては、復号されたビデオからアーティファクトを除去するために、フィルタ処理技法が使用され得る。このフィルタ処理はループ内又はループ後であり得る。ループ内フィルタ処理の場合、コード化ループ中で再構成ビデオデータのフィルタ処理が行われ、これは、フィルタ処理されたデータが、後続の画像データの予測において後で使用するためにエンコーダ又はデコーダによって記憶されることを意味する。対照的に、ループ後フィルタ処理の場合、コード化ループの外で再構成ビデオデータのフィルタ処理が行われ、これは、データのフィルタ処理されていないバージョンが、後続の画像データの予測において後で使用するためにエンコーダ又はデコーダによって記憶されることを意味する。ループ内フィルタ処理又はループ後フィルタ処理は、しばしば、ビデオブロック境界に現れるブロック歪み(blockiness artifacts)を除去するために、一般に、隣接するビデオブロックの境界上に又はその近くにある画素にフィルタ処理を適用する別のデブロックフィルタ処理プロセスに続く。また、デブロックフィルタ処理は、ループ内又はループ後に実行され得る。
【００４６】
前のコード化規格と比較して、新生ＨＥＶＣ規格は、ビデオブロックについての新しい用語及びブロックサイズを導入している。特に、ＨＥＶＣは、４分木区分方式に従って区分され得るコード化ユニット（ＣＵ）を指す。「ＬＣＵ」は、所与の状況においてサポートされる最大サイズのコード化ユニット（例えば、「最大コード化ユニット」）を指す。ＬＣＵサイズは、それ自体が、ビットストリームの一部として、例えば、シーケンスレベルシンタックスとして信号伝達され得る。ＬＣＵは、より小さいＣＵに区分され得る。ＣＵは、予測のために予測ユニット（ＰＵ）に区分され得る。ＰＵは正方形又は長方形の形状を有し得るが、他の形状も使用され得る。変換は、新生ＨＥＶＣ規格において固定されていないが、所与のＣＵと同じサイズであるか、又は場合によってはより小さくなり得る変換ユニット（ＴＵ）サイズに応じて定義される。所与のＣＵについての残差データは、ＴＵ中で通信され得る。シンタックス要素は、ＬＣＵレベル、ＣＵレベル、ＰＵレベル及びＴＵレベルにおいて定義され得る。
【００４７】
ＨＥＶＣ規格に従ってビデオブロックを示すために、図２は、深さ６４×６４のＬＣＵを概念的に示しており、次いで、ＬＣＵは、４分木区分方式に従ってより小さいＣＵに区分される。「分割フラグ」と呼ばれる要素が、所与のＣＵ自体が更に４つのＣＵに再分割されるかどうかを示すためのＣＵレベルシンタックスとして含まれ得る。図２では、ＣＵ0はＬＣＵを備え得、ＣＵ1〜ＣＵ4はＬＣＵのサブＣＵを備え得る。双方向予測インターモードシンタックス要素は、本開示で説明するように、ＣＵレベル（又は場合によっては、ＬＣＵがより小さいＣＵに分割されていない場合、ＬＣＵレベル）で定義され得る。また、幾つかの例では、双方向予測インターモードは、ＣＵのＰＵのためにサポートされ得る。
【００４８】
図３は、本開示に一致するビデオエンコーダ５０を示すブロック図である。ビデオエンコーダ５０は、機器２０のビデオエンコーダ２２、又は異なる機器のビデオエンコーダに対応し得る。図３に示すように、ビデオエンコーダ５０は、予測符号化ユニット３２と、４分木区分ユニット３１と、加算器４８及び５１と、メモリ３４とを含む。ビデオエンコーダ５０はまた、変換ユニット３８及び量子化ユニット４０、ならびに逆量子化ユニット４２及び逆変換ユニット４４を含む。ビデオエンコーダ５０はまた、エントロピーコード化ユニット４６とフィルタユニット４７とを含み、フィルタユニット４７は、デブロックフィルタと、ループ後フィルタ及び／又はループ内フィルタとを含み得る。符号化の方法を定義する符号化ビデオデータ及びシンタックス情報は、エントロピー符号化ユニット４６に通信され得、エントロピー符号化ユニット４６はビットストリームに対してエントロピー符号化を実行する。
【００４９】
図３に示すように、予測符号化ユニット３２は、ビデオブロックの符号化において複数の異なるコード化モード３５をサポートし得る。モード３５は、異なるビデオフレーム（又はスライス）から予測データを定義するインターコード化モードを含み得る。インターコード化モードは双方向予測であり得、これは、予測データの２つの異なるリスト（例えば、リスト０及びリスト１）（並びに一般に２つの異なる動きベクトル）が、予測データを識別するために使用されることを意味する。インターコード化モードは、代替的に単予測であり得、これは、予測データの１つのリスト（例えば、リスト０）（及び一般に１つの動きベクトル）が、予測データを識別するために使用されることを意味する。補間、オフセット又は他の技法が、予測データの生成と併せて実行され得る。別のフレーム（又はスライス）の同位置配置ブロック(co-located block)に関連する動き情報を継承する、所謂ＳＫＩＰモード及びＤＩＲＥＣＴモードもサポートされ得る。ＳＫＩＰモードブロックは残差情報を含まないが、ＤＩＲＥＣＴモードブロックは残差情報を含む。隣接ビデオブロックから動き情報を継承し得るＭＥＲＧＥモードもサポートされ得る。
【００５０】
更に、モード３５は、コード化されているビデオフレーム（又はスライス）と同じビデオフレーム内のデータに基づいて予測データを定義するインターコード化モードを含み得る。イントラコード化モードは、同じフレーム内の特定の方向におけるデータに基づいて予測データを定義する指向性モード、及び近隣データの平均又は重み付き平均に基づいて予測データを定義するＤＣ及び／又は平面モードを含み得る。予測符号化ユニット３２は、レート歪み分析、又はブロックサイズ、テクスチャ若しくは他の特性などのブロックの何らかの特性に基づいてなど、何らかの基準に基づいて所与のブロックのためのモードを選択し得る。
【００５１】
本開示によれば、予測符号化ユニット３２は双方向予測インターモード３５Ｘをサポートする。説明する双方向予測インターモード３５Ｘの場合、コード化されているビデオブロックが、２つの異なる予測ビデオブロックに関連する予測データに基づいて双方向予測される。２つの予測ビデオブロックは、平均されるか、又は異なる画素値の何らかの重み付け和を介してなど、別の方法で組み合わせられ得る。２つの予測ビデオブロックは、それら自体がＭＶＰに基づいて予測される２つの異なる動きベクトルによって識別され得る。従って、双方向予測インターモード３５Ｘの場合、予測符号化ユニット３２は、ＭＶＰの各々を識別するためのインデックスを生成し得、コード化されている動きベクトルと、動きベクトルをコード化するために使用される対応するＭＶＰとの間の差を表すＭＶＤを生成し得る。双方向予測インターモード３５Ｘは、２つの動きベクトルによって識別された２つの予測ブロックに対する異なるブロックサイズ又は異なる重み付け割振りのために別様に定義され得る、多くの双方向予測インターモードのうちの１つに実際に対応し得る。言い換えれば、図３は、１つの双方向予測インターモード３５Ｘを示しているが、多くはサポートされ得、そのようなモードの一部又は全部は本開示の技法を使用し得る。
【００５２】
その上、本開示によれば、ＭＶＰ候補は、双方向予測インターモード３５Ｘでコード化された２つの動きベクトルのうちの少なくとも１つのために拡張され得る。例えば、動きベクトルのうちの第１の動きベクトルは、１つ以上の隣接ビデオブロックの動きベクトルによって定義されたＭＶＰ候補に基づいてコード化され得る。しかしながら、動きベクトルのうちの第１の動きベクトルがコード化されると、その動きベクトル自体は、現在ビデオブロックの動きベクトルのうちの第２の動きベクトルを双方向予測インターモード３５Ｘでコード化するための更に別のＭＶＰ候補を定義するために使用され得る。このようにして、第２の動きベクトルをコード化するために使用されるＭＶＰ候補の数は拡張され、その結果、場合によってはビデオ圧縮が改善される。第２の動きベクトルをコード化するための新しいＭＶＰ候補は、第１の動きベクトル、又は場合によっては第１の動きベクトルのスケーリングバージョンを備え得る。スケーリングは、２つの動きベクトルが予測ビデオデータの同じリストを指さない場合に実行され得る。スケーリングは、第１の動きベクトルに対するＭＶＰの長さを拡張し得、及び／又は異なる方向（例えば、逆方向ではなく順方向）において動きベクトルを拡張し得る。双方向予測インターモードに関連する予測ブロックを（場合によっては重み係数を使用して）組み合わせて１つの双方向予測ブロックを形成し得、双方向予測ブロックは、双方向予測インターモードでコード化されたブロックに関連する残差データを定義するために、コード化されている現在ブロックから（加算器４８を介して）減算され得る。
【００５３】
双方向予測インターモード３５Ｘを適用する際に、予測符号化ユニット３２は、現在ビデオブロックを双方向予測インターモードでコード化するために使用されるべき第１の動きベクトルを決定することと、１つ以上の隣接ビデオブロックに関連する動きベクトルの第１のセットに基づいて第１のＭＶＰを識別することと、第１のＭＶＰを識別する第１のインデックスを生成することと、第１の動きベクトルと第１のＭＶＰとに基づいて第１のＭＶＤを生成することとを行い得る。更に、予測符号化ユニット３２は、現在ビデオブロックを双方向予測インターモードでコード化するために使用されるべき第２の動きベクトルを決定することと、動きベクトルの第２のセットに基づいて第２のＭＶＰを識別することであって、動きベクトルの第２のセットが、隣接ビデオブロックの１つ以上に関連する動きベクトルと、第１の動きベクトルに基づく候補とを含む、識別することと、第２のＭＶＰを識別する第２のインデックスを生成することと、第２の動きベクトルと第２のＭＶＰとに基づいて第２のＭＶＤを生成することとを行い得る。予測符号化ユニット３２は、現在ビデオブロックについての符号化ビットストリームの一部として、第１のインデックスと第１のＭＶＤと第２のインデックスと第２のＭＶＤとを出力し得る。第２の動きベクトルのＭＶＰコード化のために、第１の動きベクトルに基づく候補がどのように定義され得るかを示す幾つかの例について、以下で説明する。
【００５４】
ＨＥＶＣの場合、コード化されている現在ビデオブロックは、４分木区分方式に従ってＬＣＵに対して定義された、所謂ＣＵを備え得る。この場合、４分木区分ユニット３１は、４分木区分方式を定義するＬＣＵシンタックスデータを生成し得、予測符号化ユニット３２は、双方向予測インターモードを定義するＣＵについてのモード情報を生成し得、（ＭＶＰとＭＶＤとを識別する）１つ以上のシンタックス要素は、ＣＵについてのモード情報中に含まれる。説明する双方向予測インターモードは、２つの双方向予測動きベクトルのうちの１つをコード化するコンテキストにおいて使用され得るＭＶＰ候補の数を増加させ得る。
【００５５】
概して、符号化プロセス中に、ビデオエンコーダ５０は、入力ビデオデータを受信する。予測符号化ユニット３２は、ビデオブロック（例えば、ＣＵ及びＰＵ）に対して予測コード化技法を実行する。４分木区分ユニット３１は、図２に関して上記で説明したＨＥＶＣ区分に従ってＬＣＵをより小さいＣＵとＰＵとに分け得る。インターコード化の場合、予測符号化ユニット３２は、予測ブロックを定義するために、ＣＵ又はＰＵを、１つ以上のビデオ参照フレーム又はスライス（例えば、参照データの１つ以上の「リスト」）中の様々な予測候補と比較する。イントラコード化の場合、予測符号化ユニット３２は、同じビデオフレーム又はスライス内の近隣データに基づいて予測ブロックを生成する。予測符号化ユニット３２は予測ブロックを出力し、加算器４８は、残差ブロックを生成するために、コード化されているＣＵ又はＰＵから予測ブロックを減算する。この場合も、少なくとも幾つかのビデオブロックは、本明細書で説明する双方向予測インターモードを使用してコード化され得る。
【００５６】
図４に、ビデオエンコーダ５０の予測符号化ユニット３２の一例をより詳細に示す。予測符号化ユニット３２は、双方向予測インターモード３５Ｘを候補として含むモード３５から所望のモードを選択するモード選択ユニット７５を含み得る。インターコード化の場合、予測符号化ユニット３２は、予測データを指す１つ以上の動きベクトルを識別し、１つ以上の動きベクトルに基づいて予測ブロックを生成する、動き推定（ＭＥ）ユニット７６と動き補償（ＭＣ）ユニット７７とを備え得る。一般に、動き推定は、動きを推定する、１つ以上の動きベクトルを生成するプロセスと考えられる。例えば、１つ以上の動きベクトルは、現在のフレーム内のコード化されている現在のブロックに対する予測フレーム内の１つ以上の予測ブロックの変位を示し得る。双方向予測インターモード３５Ｘの場合、双方向予測を作成するために、２つの動きベクトルが組み合わせられる。本開示の技法は、詳細には、動きベクトル自体がコード化され、例えば、動きベクトルのうちの一方が、動きベクトルのうちの他方を予測するためのＭＶＰを定義するために使用されることを可能にする方法に関係する。この場合も、双方向予測インターモード３５Ｘは、２つの動きベクトルによって識別された２つの予測ブロックに対する異なるブロックサイズ又は異なる重み付け割振りのために別様に定義され得る、多くの双方向予測インターモードのうちの１つに実際に対応し得る。言い換えれば、図４は、１つの双方向予測インターモード３５Ｘを示しているが、多くはサポートされ得、そのようなモードの一部又は全部は本開示の技法を使用し得る。
【００５７】
動き補償は、一般に、動き推定によって決定された１つ以上の動きベクトルに基づいて（１つ又は複数の）予測ブロックを取り込み又は生成するプロセスと考えられる。場合によっては、インターコード化の場合の動き補償は、サブ画素解像度への補間を含み得、それにより、動き推定プロセスがビデオブロックの動きをそのようなサブ画素解像度まで推定することを可能にする。２つのブロックの重み付けされた組合せも（双方向予測の場合）使用され得る。
【００５８】
イントラコード化の場合、予測符号化ユニット３２は、イントラ予測ユニット７８を備え得る。この場合、予測データは、（例えば、コード化されているビデオブロックに隣接する）現在ビデオブロック内のデータに基づいて生成され得る。同じく、イントラコード化モードは、同じフレーム内の特定の方向におけるデータに基づいて予測データを定義する指向性モード、及び近隣データの平均又は重み付き平均に基づいて予測データを定義するＤＣ及び／又は平面モードを含み得る。
【００５９】
レート歪み（Ｒ−Ｄ）ユニット７９は、異なるモードでのビデオブロック（例えば、ＣＵ又はＰＵ）のコード化結果を比較し得る。更に、Ｒ−Ｄユニット７９は、補間、オフセット、量子化パラメータ、又はコード化レートに影響を及ぼすことがある他のファクタに対する調整など、他のタイプのパラメータ調整を可能にし得る。モード選択ユニット７５は、ビデオブロックのためのモード選択を行うために、コード化レート（即ち、ブロックに必要なコード化ビット）と、（例えば、元のブロックに対するコード化ブロックのビデオ品質を表す）歪みとに関してコード化結果を分析することができる。このようにして、Ｒ−Ｄユニット７９は、モード選択ユニット７５が、異なるビデオブロックのための所望のモードを選択することを可能にするために、異なるモードの結果の分析を行う。本開示に従って、双方向予測インターモード３５Ｘは、Ｒ−Ｄユニット７９が、例えば、コード化利得又はコード化効率により、双方向予測インターモード３５Ｘを所与のビデオブロックのための所望のモードとして識別したとき選択され得る。
【００６０】
再び図３を参照すると、予測符号化ユニット３２が予測ブロックを出力し、加算器４８が、残差画素値の残差ブロックを生成するために、コード化されているビデオブロックから予測ブロックを減算した後に、変換ユニット３８が残差ブロックに変換を適用する。変換は、離散コサイン変換（ＤＣＴ）、又はＩＴＵ  Ｈ．２６４規格又はＨＥＶＣ規格によって定義された変換など、概念的に同様の変換を備え得る。変換を実行するために、所謂「バタフライ」構造が定義され得るか、又は行列ベースの乗算も使用され得る。幾つかの例では、ＨＥＶＣ規格に従って、変換のサイズは、例えば、所与のＬＣＵに関して行われる区分のレベルに応じて、異なるＣＵに対して変動し得る。変換単位（ＴＵ）は、変換ユニット３８によって適用される変換サイズを設定するために定義され得る。ウェーブレット変換、整数変換、サブバンド変換又は他のタイプの変換も使用され得る。いずれの場合も、変換ユニットは、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、概して、残差情報を画素領域から周波数領域に変換し得る。
【００６１】
次いで、量子化ユニット４０が、ビットレートを更に低減するために残差変換係数を量子化する。量子化ユニット４０は、例えば、係数の各々をコード化するために使用されるビット数を制限し得る。特に、量子化ユニット４０は、（ΔＱＰを、前のＬＣＵのＱＰ又は何らかの他の知られているＱＰと組み合わせることなどによって）適用すべき量子化レベルを定義するために、ＬＣＵについて定義されたΔＱＰを適用し得る。残差サンプルに対して量子化が実行された後に、エントロピーコード化ユニット４６は、データを走査し、エントロピー符号化し得る。
【００６２】
ＣＡＶＬＣは、エントロピーコード化ユニット４６によってベクトル化ベースで適用され得る、ＩＴＵ  Ｈ．２６４規格と新生のＨＥＶＣ規格とによってサポートされるエントロピーコード化技法の１つのタイプである。ＣＡＶＬＣは、係数及び／又はシンタックス要素のシリアル化「ラン」を効果的に圧縮するように可変長コード化（ＶＬＣ）テーブルを使用する。ＣＡＢＡＣは、エントロピーコード化ユニット４６によってベクトル化ベースで適用され得る、ＩＴＵ  Ｈ．２６４規格又はＨＥＶＣ規格によってサポートされる別のタイプのエントロピーコード化技法である。ＣＡＢＡＣは、２値化、コンテキストモデル選択、及びバイナリ算術コード化を含む幾つかの段を必要とし得る。この場合、エントロピーコード化ユニット４６は、ＣＡＢＡＣに従って係数及びシンタックス要素をコード化する。多くの他のタイプのエントロピーコード化技法も存在し、新しいエントロピーコード化技法が将来出現する可能性がある。本開示は、いかなる特定のエントロピーコード化技法にも限定されない。
【００６３】
エントロピー符号化ユニット４６によるエントロピーコード化の後に、符号化ビデオは、別の機器に送信されるか、又は後で送信するか又は取り出すためにアーカイブされ得る。符号化ビデオは、エントロピーコード化ベクトルと、（双方向予測インターモードとＭＶＰインデックスとＭＶＤとを定義するシンタックス情報を含む）様々なシンタックス情報とを備え得る。そのような情報は、復号プロセスを適切に構成するためにデコーダによって使用され得る。逆量子化ユニット４２及び逆変換ユニット４４が、それぞれ逆量子化及び逆変換を適用して、画素領域において残差ブロックを再構成する。加算器５１は、再構成された残差ブロックを、予測符号化ユニット３２によって生成された予測ブロックに加算して、メモリ３４に記憶するための再構成されたビデオブロックを生成する。しかしながら、そのような記憶より前に、フィルタユニット４７は、ビデオ品質を改善するためにビデオブロックにフィルタ処理を適用し得る。フィルタユニット４７によって適用されるフィルタ処理は、アーティファクトを低減し、画素境界を平滑化し得る。更に、フィルタ処理は、コード化されているビデオブロックへの緊密な一致を備える予測ビデオブロックを生成することによって、圧縮を改善し得る。
【００６４】
本開示によれば、双方向予測インターモード３５Ｘがサポートされ、動きベクトルのうちの少なくとも一方は、動きベクトルのうちの他方によって定義されたＭＶＰに基づいて予測される。このようにして、ＭＶＰ候補は、双方向予測インターモード３５Ｘでコード化された２つの動きベクトルのうちの少なくとも１つのために拡張され得る。例えば、動きベクトルのうちの第１の動きベクトルは、１つ以上の隣接ビデオブロックの動きベクトルによって定義されたＭＶＰ候補に基づいてコード化され得る。しかしながら、動きベクトルのうちの第１の動きベクトルがコード化されると、その動きベクトル自体は、現在ビデオブロックの動きベクトルのうちの第２の動きベクトルを双方向予測インターモード３５Ｘでコード化するための更に別のＭＶＰ候補を定義するために使用され得る。このようにして、第２の動きベクトルをコード化するために使用されるＭＶＰ候補の数は拡張され、その結果、場合によってはビデオ圧縮が改善される。第２の動きベクトルをコード化するための新しいＭＶＰ候補は、第１の動きベクトル、又は場合によっては第１の動きベクトルのスケーリングバージョンを備え得る。様々なタイプのスケーリングの追加詳細について、以下で更に詳細に説明する。いずれの場合も、Ｒ−Ｄユニット７９（図４）は、他のモードと比較して、このモードによって達成されるコード化利得のために、双方向予測インター３５Ｘを最も望ましいコード化モードとして識別し得る。そのような場合、モード選択ユニット７５は、所与のビデオブロックをコード化するために双方向予測インターモード３５Ｘを選択し得る。
【００６５】
図５は、本明細書で説明する方法で符号化されたビデオシーケンスを復号するビデオデコーダ６０の一例を示すブロック図である。本開示の技法は、幾つかの例ではビデオデコーダ６０によって実行され得る。特に、ビデオデコーダ６０は、双方向予測インターモードでコード化された現在ビデオブロックに関連する第１の動きベクトルと第２の動きベクトルとをコード化するためにＡＭＶＰが使用される、ビデオデータを復号し得る。この場合、ビデオデコーダ６０は、第１の動きベクトルに関連する第１のＭＶＤを受信することと、第１のＭＶＰを識別する第１のインデックスを受信することと、第１のＭＶＤと第１のＭＶＰとに基づいて第１の動きベクトルを生成することと、第２の動きベクトルに関連する第２のＭＶＤを受信することと、第２のＭＶＰを識別する第２のインデックスを受信することであって、第２のＭＶＰが、第１の動きベクトルに基づいて定義された、受信することと、第２のＭＶＤと第２のＭＶＰとに基づいて第２の動きベクトルを生成することとを行い得る。
【００６６】
ビデオデコーダ６０において受信されるビデオシーケンスは、画像フレームの符号化されたセット、フレームスライスのセット、一般にコード化されたピクチャグループ（ＧＯＰ）を備え得、又は符号化されたＬＣＵ（又は他のビデオブロック）と、そのようなＬＣＵをどのように復号すべきかを定義するシンタックス情報とを含むビデオ情報の多種多様なユニットを備え得る。ＬＣＵを復号するプロセスは、本明細書で説明する双方向予測インターモードであり得るコード化モードの指示を復号することを含み得る。
【００６７】
ビデオデコーダ６０は、図２のエントロピー符号化ユニット４６によって実行される符号化の相互復号機能を実行するエントロピー復号ユニット５２を含む。特に、エントロピー復号ユニット５２は、ＣＡＶＬＣ又はＣＡＢＡＣ復号、あるいはビデオエンコーダ５０によって使用された他のタイプのエントロピー復号を実行し得る。エントロピー復号ユニット５２は、エントロピーコード化データを含むビットストリームを受信し得る。エントロピー復号ユニット５２は、本開示で説明するインデックスとＭＶＤとを含む様々なシンタックス要素を生成するために、データを構文解析する。
【００６８】
ビデオデコーダ６０はまた、予測復号ユニット５４と、逆量子化ユニット５６と、逆変換ユニット５８と、メモリ６２と、加算器６４とを含む。特に、ビデオエンコーダ５０と同様に、ビデオデコーダ６０は、予測復号ユニット５４とフィルタユニット５７とを含む。ビデオデコーダ６０の予測復号ユニット５４は、動き補償ユニット８６を含み得、動き補償ユニット８６は、インターコード化ブロックを復号し、場合によっては、動き補償プロセスにおけるサブ画素補間のための１つ以上の補間フィルタを含む。予測復号ユニット５４はまた、イントラモードを復号するためのイントラ予測ユニットを含み得る。予測復号ユニット５４は、双方向予測インターモード５５Ｘを含む複数のモード３５をサポートし得る。フィルタユニット５７は、加算器６４の出力をフィルタ処理し得、ループフィルタ処理において適用されるフィルタ係数を定義するために、エントロピー復号されたフィルタ情報を受信し得る。双方向予測インターモード５５Ｘは、実際に、予測復号ユニット５４によってサポートされる多くの双方向予測インターモードのうちの１つに対応し得る。異なる双方向予測インターモードは、例えば、２つの動きベクトルによって識別された２つの予測ブロックに対する異なるブロックサイズ又は異なる重み付け割振りのために別様に定義され得る。従って、図５は、１つの双方向予測インターモード５５Ｘを示しているが、多くはサポートされ得、そのようなモードの一部又は全部は本開示の技法を使用し得る。
【００６９】
符号化ビデオデータを受信すると、エントロピー復号ユニット５２は、（図４のエンコーダ５０の）エントロピー符号化ユニット４６によって実行される符号化とは逆の復号を実行する。デコーダにおいて、エントロピー復号ユニット５２は、ＬＣＵと、ＬＣＵに関連する対応する区分とを決定するためにビットストリームを構文解析する。幾つかの例では、ＬＣＵ、又はＬＣＵのＣＵは、使用されたコード化モードを定義し得、これらのコード化モードは双方向予測インターモードを含み得る。従って、エントロピー復号ユニット５２は、シンタックス情報を、双方向予測インターモードを識別する予測ユニットに転送し得る。この場合、シンタックス情報は、ＭＶＰとＭＶＤとを識別する１つ以上のシンタックス要素を含み得る。予測復号ユニット５４のＭＣユニット８６は、予測ブロックを再構成するためにＭＶＰとＭＶＤとを使用し得る。即ち、ＭＣユニット８６は、ＭＶＰとＭＶＤとに基づいて２つの動きベクトルを再構成し、次いで、動きベクトルによって識別された予測データを取り込みし得る。現在ビデオブロックを双方向予測インターモードで復号するための予測ビデオブロックを定義するために、取り込みされたデータは、ＭＣユニット８６によって（場合によっては何らかの重み付けされた方式で）組み合わせられ得る。
【００７０】
本明細書で説明したように、ＭＶＰのための候補として空間的及び時間的方向において幾つかの隣接ブロックを含むことによって動きベクトル候補セットを構築するために、ＡＭＶＰが使用され得る。エンコーダは、符号化レートと歪みとの分析に基づいて（例えば、所謂レート歪みコスト分析を使用して）候補セットから最も正確な予測子を選択することができる。ＭＶＰをどこに配置すべきかをデコーダに通知するために、動きベクトル予測子インデックス（ｍｖｐ＿ｉｄｘ）がデコーダに送信され得る。ＭＶＤも通信される。デコーダは、動きベクトルを再構成するために、ＭＶＤを（動きベクトル予測子インデックスによって定義された）ＭＶＰと組み合わせることができる。デコーダは、（エンコーダのように）インデックスが様々な基準に基づいて適用される候補ＭＶＰのセットを定義することができる。エンコーダ及びデコーダは、インデックスがどのようにＭＶＰ候補にマッピングしているかがわかるようにプログラムされ得、これらのマッピングは、例えば、ＡＭＶＰを使用する、前にコード化されたビデオブロックの統計値に基づいて経時的に一層適応し得る。
【００７１】
図６は、ＭＶＰを定義するために使用され得る可能な隣接ブロック（ネイバーＸ、Ｙ、及びＺ）の一例を示す概念図である。候補ＭＶＰはまた、異なる（すでに符号化された／復号された）フレーム中にあるブロック、例えば、１つ以上の前にコード化されたフレームからのブロックＥに対するコロケートブロックの動きベクトルから定義され得る。ＡＭＶＰモードでは、候補ＭＶＰは、隣接ブロックの動きベクトルに基づいて定義され得る。
【００７２】
図７は、所謂「上部予測子」のためのＭＶＰを定義するために使用され得る可能なブロック（Ａ、Ｂ、Ｃ、Ｄ及びＥ）と、所謂「左予測子」のためのＭＶＰを定義するために使用され得る可能なブロック（Ｉ、Ｈ、Ｇ及びＦ）とを示す別の概念図である。単方向予測の場合、ＡＭＶＰに関連するＭＶＰの候補セット全体は、３つの候補を含み得る。第１の潜在的な候補ＭＶＰは、上部予測子を備え得、コード化されている現在動きベクトルと同じ参照リスト及び同じ参照インデックスを有する（従って同じ参照フレームを指す）、Ａ、Ｂ、Ｃ、Ｄ又はＥからの第１の識別された動きベクトルを備え得る。第２の潜在的な候補ＭＶＰは左予測子であり、コード化されている現在動きベクトルと同じ参照リスト及び同じ参照インデックスを有する、ブロックＦ、Ｇ、Ｈ又はＩに関連する第１の動きベクトルを備える。第３の潜在的な候補ＭＶＰは、現在ビデオブロックの動きベクトルに対するコロケートブロックに関連する動きベクトルであり、同位置配置ブロックは、別の（例えば、前にコード化された）フレーム中にある。他の候補のように、コロケートブロックに関連する候補は、有効な候補であるために、コード化されている現在動きベクトルと同じ参照リスト及び同じ参照インデックスを定義する必要があり得る。
【００７３】
潜在的なＭＶＰ候補のいずれもが、コード化されている現在動きベクトルと同じビデオフレームを指さない場合（即ち、潜在的なＭＶＰ候補のいずれもが、コード化されている現在動きベクトルと同じ参照リスト及び同じ参照インデックスを有しない場合）、ＭＶＰは、０などの何らかのデフォルト値に設定され得る。この場合（例えば、ＭＶＰのためのデフォルト値が０に設定された場合）、ＭＶＤはその動きベクトルに対応することになり、動きベクトルに適用される予測技法はデータ圧縮を生じないことになる。
【００７４】
場合によっては、１つのビデオブロックに関連するデータを予測するために、２つの異なる動きベクトルが使用され得る。これは、一般に、双方向予測又は双方向予測と呼ばれる。双方向予測という句は、時々、双方向予測と同義的に使用されるが、「双方向予測」という句は、２つの動きベクトルが一般にいかなる指向性要件にも限定されない限り、しばしば、誤称である。言い換えれば、双方向予測（双方向予測）の場合、２つの動きベクトルは、１つ以上の前のビデオフレーム及び／又は１つ以上の後続のビデオフレームに関連するデータを指すことを可能にされ得る。
【００７５】
Ｈ．２６４／ＡＶＣでは、予測フレームは、２つの参照リストに編成される。例えば、リスト０は、予測ビデオデータの順方向リストを備え得、リスト１は、予測データの逆方向リストを備え得る。但し、同じく、リスト０及びリスト１は、場合によっては、予測データの２つの異なる順方向リスト、２つの異なる逆方向リスト、又は場合によっては２つの同等のリストさえをも指し得る。
【００７６】
図８は、双方向予測されたビデオブロックの１つの動きベクトルが、双方向予測されたビデオブロックの別の動きベクトルのための候補ＭＶＰを定義するためにどのように使用され得るかを示す概念図である。図８の左部分に示すように、３つの連続するビデオフレームは、フレーム０、４、及び８として標示される。従って、図８に示すそのようなフレームの表示順序は、０−＞４−＞８である。これは、フレーム０が表示順序でフレーム４の前であり、フレーム８が表示順序でフレーム４の後であることを意味する。但し、符号化中に、符号化順序は、表示順序とは異なることがある。例えば、図８に示すフレームの符号化順序は、より良いコード化性能を達成するために０−＞８−＞４であり得る。
【００７７】
図８の右部分に、表示順序で中間フレームであり、符号化順序で最後のフレームであり得るフレーム４の符号化を概念的に示す。この場合、２つの参照フレーム、即ち、フレーム０及びフレーム８がある。２つの参照フレーム（又はそれらの部分）は、２つの参照リスト（リストＬ０及びリストＬ１）に編成され得るが、図８に示すように、データは、異なる参照インデックス（Ｒｅｆｉｄｘ）とともに記憶され得る。
【００７８】
フレーム４中の現在ビデオブロックは、リストＬ０からのデータから予測されるか、リストＬ１からのデータから予測されるか、又は両方のリスト中のデータの組合せから予測され得る。予測が、２つの異なる参照リストからの予測の組合せである場合、そのモードは双方向予測インターモードと呼ばれることがある。双方向予測インターモードでは、２つの異なるリストからの対応する２つの予測を示すために、２つの動きベクトルがデコーダに送られる。その上、動きベクトルを符号化するためにＡＭＶＰが使用された場合、ＭＶＰは、２つの動きベクトルの各々のための候補ＭＶＰの中から選択され得、ＭＶＰのインデックスは、符号化ビットストリームの一部として符号化され得る。
【００７９】
本開示の技法は、双方向予測ビデオブロックの他の動きベクトルのためのＭＶＰを定義するための、双方向予測ビデオブロックの１つの動きベクトルの使用について説明する。例えば、図８を参照すると、ｍｖ１を予測するために、ｍｖ０のスケーリングバージョンが使用され得る。この例では、スケーリングは、（例えば、ｍｖ１が参照フレーム０を指しているが、ｍｖ２が参照フレーム８を指している図８の場合）参照フレーム０ではなく参照フレーム８を指すようにＭＶＰの配向及び方向を変更することができる。スケーリングは、ピクチャオーダーカウント（ＰＯＣ：picture order count）数、参照インデックス、予測のローカルピクチャ構造、又はｍｖ０自体に依存し得る。このようにして、双方向予測モードで、データ圧縮の改善が達成され得る。
【００８０】
本開示の技法は、ＡＭＶＰの場合にＭＶＰを決定することに関するＡＭＶＰフレームワークに基づく。但し、本開示では、ＡＭＶＰの場合のＭＶＰ候補のリストを拡張するための技法について説明する。拡張することにより、動きベクトルの圧縮を改善することができる。
【００８１】
より詳細には、本開示は、双方向予測ビデオブロックの１つの動きベクトルのスケーリングバージョンが、双方向予測ビデオブロックの別の動きベクトルを予測するためのＭＶＰとして使用され得る技法について説明する。例えば、双方向予測ビデオブロックの第１の動きベクトルのスケーリングバージョンが、双方向予測の第２の動きベクトルのためのＭＶＰとして使用され得る。
【００８２】
双方向予測ビデオブロックは、ＩＴＵ−Ｈ．２６４規格、又は高効率ビデオコード化（ＨＥＶＣ）などの別の新生規格に一致する、所謂Ｂビデオブロックを備え得る。代替又は追加として、双方向予測ビデオブロックは、ＢビデオブロックとＰビデオブロックとの態様を組み合わせるために提案されたブロックのタイプである、所謂ＧＰＢブロックを備え得る。ＧＰＢブロックは予測データの２つのリストに基づいて予測されるが、リストは同等であり得る。
【００８３】
図９は、双方向予測されたビデオブロックの１つの動きベクトルが、双方向予測されたビデオブロックの別の動きベクトルのための候補ＭＶＰを定義するためにどのように使用され得るかを示す別の概念図である。図９に示すように、２つの異なる動きベクトル（例えば、リスト０に関連する動きベクトル及びリスト１に関連する動きベクトル）は、それぞれ、ｍｖ０及びｍｖ１によって示される。ｍｖ０動きベクトルは、最初に符号化又は復号され得、通常のＡＭＶＰ技法を介して予測され得る。次に、ｍｖ１が符号化又は復号され得る（それはｍｖ０の符号化又は復号の後に行われる）。
【００８４】
図９の例では、ｍｖ０は、前のフレーム（即ち、ピクチャオーダーカウント（ＰＯＣ）０によって識別されたフレーム）に関連するデータを指すが、ｍｖ１は、後続のフレーム（即ち、ＰＯＣ８によって識別されたフレーム）に関連するデータを指す。特に、ｍｖ０は、ＰＯＣ０における前のフレームのデータを指す、リスト０のｒｅｆｉｄｘ０におけるデータを識別し得るが、ｍｖ１は、ＰＯＣ０における後続のフレームのデータを指す、リスト１のｒｅｆｉｄｘ０におけるデータを識別し得る。この場合、第１の動きベクトルは、前のフレームに関連するデータを指し、第２の動きベクトルは、後続のフレームに関連するデータを指す。従って、第２のＭＶＰ（第２の動きベクトルを予測するために使用されるＭＶＰ）は、第１の動きベクトルのスケーリングバージョンを備え得、現在フレームに対する前のフレームの時間距離は、現在フレームに対する後続のフレームの時間距離と同じである。
【００８５】
また、図９の例と同様に、第１の動きベクトルは、後続のフレームに関連するデータを指すことができ、第２の動きベクトルは、前のフレームに関連するデータを指すことができることが可能である。この場合、第２のＭＶＰ（第２の動きベクトルを予測するために使用されるＭＶＰ）は、第１の動きベクトルのスケーリングバージョンを備え得、現在フレームに対する後続のフレームの時間距離は、現在フレームに対する前のフレームの時間距離と同じである。
【００８６】
図１０は、双方向予測されたビデオブロックの１つの動きベクトルが、双方向予測されたビデオブロックの別の動きベクトルのための候補ＭＶＰを定義するためにどのように使用され得るかを示す別の概念図である。この例では、第１の動きベクトル（ｍｖ０）及び第２の動きベクトル（ｍｖ１）は、同じ予測フレームに関連するデータ（即ち、前のフレームのデータ）を指す。この場合、第２のＭＶＰ（第２の動きベクトルを予測するために使用されるＭＶＰ）は、第１の動きベクトルを備え得る。また、ｍｖ０とｍｖ１の両方が、表示順序で現在フレームの後である同じ予測フレームに関連するデータを指すときに、同様の技法が適用され得る。
【００８７】
図１１は、双方向予測されたビデオブロックの１つの動きベクトルが、双方向予測されたビデオブロックの別の動きベクトルのための候補ＭＶＰを定義するためにどのように使用され得るかを示す別の概念図である。この例では、第１の動きベクトル（ｍｖ０）は、前のフレームに関連するデータを指し、第２の動きベクトル（ｍｖ１）は、別の前のフレームに関連するデータを指す。この場合、第２のＭＶＰ（第２の動きベクトルを予測するために使用されるＭＶＰ）は、第１の動きベクトルのスケーリングバージョンを備え得、スケーリングは、（図１１の「スケーリング」によって示されるように）現在フレームに対する前のフレームの第２の動きベクトル方向に対してＭＶＰを拡張する。また、ｍｖ０とｍｖ１の両方が、表示順序で現在フレームの後である同じ予測フレームに関連するデータを指すときに、同様の技法が適用され得る。
【００８８】
図１２は、双方向予測されたビデオブロックの１つの動きベクトルが、双方向予測されたビデオブロックの別の動きベクトルのための候補ＭＶＰを定義するためにどのように使用され得るかを示す別の概念図である。この例では、第１の動きベクトル（ｍｖ０）は、前のフレームに関連するデータを指し、第２の動きベクトル（ｍｖ１）は、後続のフレームに関連するデータを指す。但し、この場合、現在フレームに対する前のフレームの時間距離は、現在フレームに対する後続のフレームの時間距離とは異なる。即ち、後続のフレームは、前のフレームの現在フレームに対する時間距離よりも、現在フレームからの時間距離が遠い。この場合、第２のＭＶＰ（第２の動きベクトルを予測するために使用されるＭＶＰ）は、第１の動きベクトルのスケーリングバージョンを備え得、スケーリングは、第１の動きベクトルに対する第２のＭＶＰの方向を変更することと、また、第１の動きベクトルに対する第２のＭＶＰの距離を拡張することの両方を行う。また、第１の動きベクトル（ｍｖ０）が、後続のフレームに関連するデータを指し、第２の動きベクトル（ｍｖ１）が、前のフレームに関連するデータを指し、現在フレームに対する後続のフレームの時間距離が、現在フレームに対する前のフレームの時間距離とは異なるとき、同様の技法が適用され得る。
【００８９】
再び図８及び図９を参照すると、現在フレームがＰＯＣ＝４を定義する（即ち、現在フレームＰＯＣ数は４である）と仮定する。この場合、ｍｖ０は（５，２）であり得、ｒｅｆＰＯＣ＿Ｌ０は０であり得る（これは、ｍｖ０の参照フレームＰＯＣ数が０であり、リスト０予測がフレーム０に由来することを意味する）。また、この場合、ｍｖ１は（−８，−１）であり得、ｒｅｆＰＯＣ＿Ｌ１は８であり得る（これは、ｍｖ１の参照フレームＰＯＣ数が８であり、リスト１予測がフレーム８に由来することを意味する）。
【００９０】
ＭＶＰ＿ｍｖ１＝｛（０，０），（−１，−６）｝（即ち、ｍｖ１の２つの予測子候補がある）と仮定する。この場合、ｍｖ０が符号化又は復号されると、ｍｖ０は、ｍｖ１を予測するためのＭＶＰを定義するように、ＰＯＣ数の距離に従ってスケーリングされ得る。従って、ｍｖ１のためのＭＶＰ候補として使用されるｍｖ０のスケーリングバージョンは、次のように表され得る。
【００９１】
Scaled_mv0 = (RefPoc_L1-CurPoc )*mv0/( RefPoc_L0-CurPoc) = (8-4)*mv0/(0-4)= -mv0 = (-5, -2)
次いで、ＭＶＰ＿ｍｖ１は、ＭＶＰ候補としてｓｃａｌｅｄ＿ｍｖ０を追加することによって更新され得、ＭＶＰ＿ｍｖ１は、可能なＭＶＰ候補のリストを次のように拡張する。
【００９２】
MVP_mv1 = {(0,0), (-1, -6), (-5,-2)}.
従って、ｍｖ１は、新しい候補リストＭＶＰ＿ｍｖ１に基づいて符号化され得る。この場合、エンコーダが３つの候補のＭＶＤ（ｍｖ１ＭＶＰ＿ｍｖ１（ｉ），ｉ＝０，１，２）を比較した場合、ＭＶＤの結果は｛（−８，−１），（−７，５），（−３，１）｝のように表され得る。従って、この例では、付加予測子（即ち、ｍｖ１を予測するために使用されるｍｖ０のスケーリングバージョン）は、最も小さいＭＶＤを与え、それにより、コード化効率が改善され得る。従って、ｓｃａｌｅｄ＿ｍｖ０が、他の可能なＭＶＰ候補に対する最も良好な圧縮を達成した場合、デコーダが、ｍｖ１を予測するためにｓｃａｌｅｄ＿ｍｖ０を識別、生成及び使用することができるように、インデックスが、符号化ビットストリームの一部として出力され得る。
【００９３】
図１３は、本開示に一致する復号技法を示す流れ図である。図１３について図５のビデオデコーダ６０の観点から説明するが、他の機器でも同様の技法を実行し得る。図１３に示すように、予測復号ユニット５４のＭＣユニット８６は、第１のＭＶＤを受信し（１３０１）、第１のＭＶＰを識別する第１のインデックスを受信する（１３０２）。ＭＣユニット８６は、第１のＭＶＤと第１のＭＶＰとに基づいて第１の動きベクトル（ＭＶ）を生成する（１３０３）。更に、予測復号ユニット５４のＭＣユニット８６は、第２のＭＶＤを受信し（１３０４）、第２のＭＶＰを識別する第２のインデックスを受信する（１３０５）。次いで、ＭＣユニット８６は、第１のＭＶＤと第１のＭＶＰとに基づいて第２のＭＶを生成する（１３０６）。本開示で説明したように、第２のインデックスによって識別された第２のＭＶＰは、第１のＭＶに基づき得る。
【００９４】
次いで、ビデオデコーダ６０は、第１のＭＶと第２のＭＶとに基づいて現在ビデオブロックを復号する（１３０７）。特に、ＭＣユニット８６は、第１のＭＶと第２のＭＶとに基づいて予測データを生成し、（場合によっては、重み付けされた方式で）このデータを組み合わせて予測ブロックを形成することができる。予測ブロックは、加算器６４によって残差ブロックと組み合わされ、その結果は、メモリ６２に記憶するために再構成されたビデオブロックを生成するために、フィルタユニット５７によってフィルタ処理され得る。次いで、再構成されたビデオブロックは、ビデオシーケンスの復号されたビデオフレームの一部として提示するためにレンダリング機器に出力され得る。
【００９５】
図１４は、本開示に一致する符号化技法を示す流れ図である。図１４の技法について図３のビデオエンコーダ５０の観点から説明するが、他の機器でも同様の技法を実行し得る。図１４に示すように、予測符号化ユニット３２は、第１のＭＶを決定し（１４０１）、ネイバーに関連するＭＶの第１のセットに基づいて第１のＭＶＰを決定する（１４０２）。特に、第１のＭＶＰは、第１のＭＶに最もぴったり近似するＭＶの第１のセット中の候補として定義され得る。予測符号化ユニット３２は、第１のＭＶＰを識別するために、第１のインデックスを生成し（１４０３）、第１のＭＶと第１のＭＶＰとに基づいて第１のＭＶＤを生成する（１４０４）。特に、第１のＭＶＤは、第１のＭＶと第１のＭＶＰとの間の差分値（又はデルタ）を備え得る。
【００９６】
次に、予測符号化ユニット３２は、第２のＭＶを決定し（１４０５）、ＭＶの第２のセットに基づいて第２のＭＶＰを決定し、ＭＶの第２のセットは、隣に関連するＭＶと、第１のＭＶに基づく候補とを含む（１４０６）。本明細書で説明したように、第１のＭＶに基づくＭＶの第２のセットの候補を定義するために、スケーリングが使用され得る。第２のＭＶＰは、第２のＭＶに最もぴったり近似するＭＶの第２のセット中の候補として定義され得る。予測符号化ユニット３２は、第２のＭＶＰを識別するために第２のインデックスを生成し（１４０７）、第２のＭＶと第２のＭＶＰとに基づいて第２のＭＶＤを生成する（１４０８）。特に、第２のＭＶＤは、第２のＭＶと第２のＭＶＰとの間の差分値（又はデルタ）を備え得る。ビデオエンコーダ５０は、符号化ビットストリームの一部として、第１のインデックスと第１のＭＶＤと第２のインデックスと第２のＭＶＰとを出力し得る。特に、予測ユニット３２は、エントロピー符号化ユニット４６に対して第１のインデックスと第１のＭＶＤと第２のインデックスと第２のＭＶＰとを出力し得る。エントロピー符号化ユニット４６は、別の機器に記憶又は送信するために出力され得る符号化ビットストリームを生成するために、（予測符号化ユニット３２からの他のシンタックス情報、及び量子化ユニット４０からの残差データとともに）第１のインデックスと第１のＭＶＤと第２のインデックスと第２のＭＶＰとに対してエントロピーコード化を実行し得る。このようにして、ビデオエンコーダ５０は、符号化ビットストリームの一部として第１のＭＶＰと第１のＭＶＤと第２のＭＶＰと第２のＭＶＤとを出力する（１４０９）。
【００９７】
本開示の技法は、ワイヤレスハンドセット、及び集積回路（ＩＣ）又はＩＣのセット（即ち、チップセット）を含む、多種多様な機器又は装置において実現され得る。機能的態様を強調するために与えられた任意の構成要素、モジュール又はユニットについて説明したが、異なるハードウェアユニットによる実現を必ずしも必要とするとは限らない。
【００９８】
従って、本明細書で説明する技法は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実施され得る。モジュール又は構成要素として説明する任意の機能は、集積論理機器に一緒に、又は個別であるが相互運用可能な論理機器として別々に実施され得る。ソフトウェアで実施する場合、これらの技法は、実行されると、上記で説明した方法の１つ又は複数を実行する命令を備えるコンピュータ可読媒体によって、少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パッケージング材料を含むことがあるコンピュータプログラム製品の一部を形成し得る。
【００９９】
コンピュータ可読媒体は、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、磁気又は光学データ記憶媒体などの有形コンピュータ可読記憶媒体を備え得る。本技法は、追加又は代替として、命令又はデータ構造の形態でコードを搬送又は通信し、コンピュータによってアクセスされ、読み取られ、及び／又は実行され得るコンピュータ可読通信媒体によって少なくとも部分的に実現され得る。
【０１００】
命令は、１つ以上のデジタル信号プロセッサ（ＤＳＰ）などの１つ以上のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路又はディスクリート論理回路によって実行され得る。本明細書で使用する「プロセッサ」という用語は、前述の構造、又は本明細書で説明した技法の実施に好適な他の構造のいずれかを指し得る。更に、幾つかの態様では、本明細書で説明した機能は、符号化及び復号のために構成された専用のソフトウェアモジュール又はハードウェアモジュール内に提供され得、あるいは複合ビデオエンコーダ／デコーダ（コーデック）に組み込まれ得る。また、本技法は、１つ以上の回路又は論理要素中に十分に実施され得る。
【０１０１】
本開示の様々な態様について説明した。これら及び他の態様は以下の特許請求の範囲内に入る。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
［１］  双方向予測インターモードでコード化された現在ビデオブロックに関連する第１の動きベクトルと第２の動きベクトルとをコード化するために適応動きベクトル予測（ＡＭＶＰ）が使用される、ビデオデータを復号する方法であって、前記第１の動きベクトルに関連する第１の動きベクトル差分（ＭＶＤ）を受信することと、第１の動きベクトル予測子（ＭＶＰ）を識別する第１のインデックスを受信することと、前記第１のＭＶＤと前記第１のＭＶＰとに基づいて前記第１の動きベクトルを生成することと、前記第２の動きベクトルに関連する第２のＭＶＤを受信することと、第２のＭＶＰを識別する第２のインデックスを受信することと、ここで前記第２のＭＶＰが、前記第１の動きベクトルに基づいて定義される、前記第２のＭＶＤと前記第２のＭＶＰとに基づいて前記第２の動きベクトルを生成することとを備える、方法。
［２］  前記第１の動きベクトルと前記第２の動きベクトルとが、同じ予測フレームに関連するデータを指し、前記第２のＭＶＰが前記第１の動きベクトルである、請求項１に記載の方法。
［３］  前記第１の動きベクトルが、前のフレームに関連するデータを指し、前記第２の動きベクトルが、別の前のフレームに関連するデータを指し、前記第２のＭＶＰが前記第１の動きベクトルのスケーリングバージョンを備える、請求項１に記載の方法。
［４］  前記第１の動きベクトルが、後続のフレームに関連するデータを指し、前記第２の動きベクトルが、別の後続のフレームに関連するデータを指し、前記第２のＭＶＰが前記第１の動きベクトルのスケーリングバージョンを備える、請求項１に記載の方法。
［５］  前記第１の動きベクトルが、前のフレームに関連するデータを指し、前記第２の動きベクトルが、後続のフレームに関連するデータを指し、前記第２のＭＶＰが前記第１の動きベクトルのスケーリングバージョンを備え、現在フレームに対する前記前のフレームの時間距離が、前記現在フレームに対する前記後続のフレームの時間距離と同じである、請求項１に記載の方法。
［６］  前記第１の動きベクトルが、後続のフレームに関連するデータを指し、前記第２の動きベクトルが、前のフレームに関連するデータを指し、前記第２のＭＶＰが前記第１の動きベクトルのスケーリングバージョンを備え、現在フレームに対する前記後続のフレームの時間距離が、前記現在フレームに対する前記前のフレームの時間距離と同じである、請求項１に記載の方法。
［７］  前記第１の動きベクトルが、前のフレームに関連するデータを指し、前記第２の動きベクトルが、後続のフレームに関連するデータを指し、前記第２のＭＶＰが前記第１の動きベクトルのスケーリングバージョンを備え、現在フレームに対する前記前のフレームの時間距離が、前記現在フレームに対する前記後続のフレームの時間距離とは異なる、請求項１に記載の方法。
［８］  前記第１の動きベクトルが、後続のフレームに関連するデータを指し、前記第２の動きベクトルが、前のフレームに関連するデータを指し、前記第２のＭＶＰが前記第１の動きベクトルのスケーリングバージョンを備え、現在フレームに対する前記後続のフレームの時間距離が、前記現在フレームに対する前記前のフレームの時間距離とは異なる、請求項１に記載の方法。
［９］  前記現在ビデオブロックが、高効率ビデオコード化（ＨＥＶＣ）規格に従って定義されたコード化単位（ＣＵ）を備え、前記ＣＵが、４分木区分方式に従って最大コード化単位（ＬＣＵ）に対して定義され、前記４分木区分方式を定義するＬＣＵシンタックスデータを受信することと、前記双方向予測インターモードを定義する、前記ＣＵについてのモード情報を受信することとを更に備える、請求項１に記載の方法。
［１０］  前記現在ビデオブロックが、高効率ビデオコード化（ＨＥＶＣ）規格に従って定義されたコード化単位（ＣＵ）の予測単位（ＰＵ）を備え、前記双方向予測インターモードを定義する、前記ＰＵについてのモード情報を受信することとを更に備える、請求項１に記載の方法。
［１１］  前記第１の動きベクトルと前記第２の動きベクトルとに基づいて前記現在ビデオブロックを予測的に復号することを更に備える、請求項１に記載の方法。
［１２］  双方向予測インターモードに従って現在ビデオブロックに関連する第１の動きベクトルと第２の動きベクトルとをコード化するために適応動きベクトル予測（ＡＭＶＰ）が使用される、ビデオデータを符号化する方法であって、前記現在ビデオブロックを前記双方向予測インターモードでコード化するために使用されるべき前記第１の動きベクトルを決定することと、１つ以上の隣接ビデオブロックに関連する動きベクトルの第１のセットに基づいて第１の動きベクトル予測子（ＭＶＰ）を識別することと、前記第１のＭＶＰを識別する第１のインデックスを生成することと、前記第１の動きベクトルと前記第１のＭＶＰとに基づいて第１の動きベクトル差分（ＭＶＤ）を生成することと、前記現在ビデオブロックを前記双方向予測インターモードでコード化するために使用されるべき前記第２の動きベクトルを決定することと、動きベクトルの第２のセットに基づいて第２のＭＶＰを識別することと、ここで動きベクトルの前記第２のセットが、前記隣接ビデオブロックの１つ以上に関連する動きベクトルと、前記第１の動きベクトルに基づく候補とを含む、前記第２のＭＶＰを識別する第２のインデックスを生成することと、前記第２の動きベクトルと前記第２のＭＶＰとに基づいて第２のＭＶＤを生成することと、前記現在ビデオブロックについての符号化ビットストリームの一部として、前記第１のインデックスと前記第１のＭＶＤと前記第２のインデックスと前記第２のＭＶＤとを出力することとを備える、方法。
［１３］  前記第１の動きベクトルと前記第２の動きベクトルとが、同じ予測フレームに関連するデータを指し、前記第１の動きベクトルに基づく前記候補が前記第１の動きベクトルである、請求項１２に記載の方法。
［１４］  前記第１の動きベクトルが、前のフレームに関連するデータを指し、前記第２の動きベクトルが、別の前のフレームに関連するデータを指し、前記第１の動きベクトルに基づく前記候補が、前記第１の動きベクトルのスケーリングバージョンを備える、請求項１２に記載の方法。
［１５］  前記第１の動きベクトルが、後続のフレームに関連するデータを指し、前記第２の動きベクトルが、別の後続のフレームに関連するデータを指し、前記第１の動きベクトルに基づく前記候補が、前記第１の動きベクトルのスケーリングバージョンを備える、請求項１２に記載の方法。
［１６］  前記第１の動きベクトルが、前のフレームに関連するデータを指し、前記第２の動きベクトルが、後続のフレームに関連するデータを指し、前記第１の動きベクトルに基づく前記候補が、前記第１の動きベクトルのスケーリングバージョンを備え、現在フレームに対する前記前のフレームの時間距離が、前記現在フレームに対する前記後続のフレームの時間距離と同じである、請求項１２に記載の方法。
［１７］  前記第１の動きベクトルが、後続のフレームに関連するデータを指し、前記第２の動きベクトルが、前のフレームに関連するデータを指し、前記第１の動きベクトルに基づく前記候補が、前記第１の動きベクトルのスケーリングバージョンを備え、現在フレームに対する前記後続のフレームの時間距離が、前記現在フレームに対する前記前のフレームの時間距離と同じである、請求項１２に記載の方法。
［１８］  前記第１の動きベクトルが、前のフレームに関連するデータを指し、前記第２の動きベクトルが、後続のフレームに関連するデータを指し、前記第１の動きベクトルに基づく前記候補が、前記第１の動きベクトルのスケーリングバージョンを備え、現在フレームに対する前記前のフレームの時間距離が、前記現在フレームに対する前記後続のフレームの時間距離とは異なる、請求項１２に記載の方法。
［１９］  前記第１の動きベクトルが、後続のフレームに関連するデータを指し、前記第２の動きベクトルが、前のフレームに関連するデータを指し、前記第１の動きベクトルに基づく前記候補が、前記第１の動きベクトルのスケーリングバージョンを備え、現在フレームに対する前記後続のフレームの時間距離が、前記現在フレームに対する前記前のフレームの時間距離とは異なる、請求項１２に記載の方法。
［２０］  前記現在ビデオブロックは、高効率ビデオコード化（ＨＥＶＣ）規格に従って定義されたコード化単位（ＣＵ）と、ここで前記ＣＵが、４分木区分方式に従って最大コード化単位（ＬＣＵ）に対して定義される、前記ＨＥＶＣ規格に従って定義された前記ＣＵの予測単位（ＰＵ）とのうちの１つを備える、請求項１２に記載の方法。
［２１］  ビデオデータを復号するビデオ復号装置であって、前記第１の動きベクトルに関連する第１の動きベクトル差分（ＭＶＤ）を受信することと、第１の動きベクトル予測子（ＭＶＰ）を識別する第１のインデックスを受信することと、前記第１のＭＶＤと前記第１のＭＶＰとに基づいて前記第１の動きベクトルを生成することと、前記第２の動きベクトルに関連する第２のＭＶＤを受信することと、第２のＭＶＰを識別する第２のインデックスを受信することと、ここで前記第２のＭＶＰが、前記第１の動きベクトルに基づいて定義される、前記第２のＭＶＤと前記第２のＭＶＰとに基づいて前記第２の動きベクトルを生成することとを行うように構成されたビデオデコーダを備える、ビデオ復号装置。
［２２］  前記第１の動きベクトルと前記第２の動きベクトルとが、同じ予測フレームに関連するデータを指し、前記第２のＭＶＰが前記第１の動きベクトルである、請求項２１に記載のビデオ復号装置。
［２３］  前記第１の動きベクトルが、前のフレームに関連するデータを指し、前記第２の動きベクトルが、別の前のフレームに関連するデータを指し、前記第２のＭＶＰが前記第１の動きベクトルのスケーリングバージョンを備える、請求項２１に記載のビデオ復号装置。
［２４］  前記第１の動きベクトルが、後続のフレームに関連するデータを指し、前記第２の動きベクトルが、別の後続のフレームに関連するデータを指し、前記第２のＭＶＰが前記第１の動きベクトルのスケーリングバージョンを備える、請求項２１に記載のビデオ復号装置。
［２５］  前記第１の動きベクトルが、前のフレームに関連するデータを指し、前記第２の動きベクトルが、後続のフレームに関連するデータを指し、前記第２のＭＶＰが前記第１の動きベクトルのスケーリングバージョンを備え、現在フレームに対する前記前のフレームの時間距離が、前記現在フレームに対する前記後続のフレームの時間距離と同じである、請求項２１に記載のビデオ復号装置。
［２６］  前記第１の動きベクトルが、後続のフレームに関連するデータを指し、前記第２の動きベクトルが、前のフレームに関連するデータを指し、前記第２のＭＶＰが前記第１の動きベクトルのスケーリングバージョンを備え、現在フレームに対する前記後続のフレームの時間距離が、前記現在フレームに対する前記前のフレームの時間距離と同じである、請求項２１に記載のビデオ復号装置。
［２７］  前記第１の動きベクトルが、前のフレームに関連するデータを指し、前記第２の動きベクトルが、後続のフレームに関連するデータを指し、前記第２のＭＶＰが前記第１の動きベクトルのスケーリングバージョンを備え、現在フレームに対する前記前のフレームの時間距離が、前記現在フレームに対する前記後続のフレームの時間距離とは異なる、請求項２１に記載のビデオ復号装置。
［２８］  前記第１の動きベクトルが、後続のフレームに関連するデータを指し、前記第２の動きベクトルが、前のフレームに関連するデータを指し、前記第２のＭＶＰが前記第１の動きベクトルのスケーリングバージョンを備え、現在フレームに対する前記後続のフレームの時間距離が、前記現在フレームに対する前記前のフレームの時間距離とは異なる、請求項２１に記載のビデオ復号装置。
［２９］  前記現在ビデオブロックが、高効率ビデオコード化（ＨＥＶＣ）規格に従って定義されたコード化単位（ＣＵ）を備え、前記ＣＵが、４分木区分方式に従って最大コード化単位（ＬＣＵ）に対して定義され、前記４分木区分方式を定義するＬＣＵシンタックスデータを受信することと、前記双方向予測インターモードを定義する、前記ＣＵについてのモード情報を受信することとを更に備える、請求項２１に記載のビデオ復号装置。
［３０］  前記現在ビデオブロックが、高効率ビデオコード化（ＨＥＶＣ）規格に従って定義されたコード化単位（ＣＵ）の予測単位（ＰＵ）を備え、前記ビデオデコーダが、前記双方向予測インターモードを定義する、前記ＰＵについてのモード情報を受信する、請求項２１に記載のビデオ復号装置。
［３１］  前記ビデオデコーダが、前記第１の動きベクトルと前記第２の動きベクトルとに基づいて前記現在ビデオブロックを予測的に復号する、請求項２１に記載のビデオ復号装置。
［３２］  前記ビデオデコーダが、前記第１のＭＶＤと前記第１のインデックスと前記第２のＭＶＤと前記第２のインデックスとを受信し、エントロピー復号するように構成されたエントロピー復号ユニットと、前記第１のＭＶＤと前記第１のＭＶＰとに基づいて前記第１の動きベクトルを生成し、前記第２のＭＶＤと前記第２のＭＶＰとに基づいて前記第２の動きベクトルを生成するように構成された予測ユニットとを含む、請求項２１に記載のビデオ復号装置。
［３３］  集積回路と、マイクロプロセッサと、ビデオデコーダを含むワイヤレス通信機器とのうちの少なくとも１つを備える、請求項２１に記載のビデオ復号装置。
［３４］  ビデオデータを符号化するビデオ符号化装置であって、前記現在ビデオブロックを前記双方向予測インターモードでコード化するために使用される前記第１の動きベクトルを決定することと、１つ以上の隣接ビデオブロックに関連する動きベクトルの第１のセットに基づいて第１の動きベクトル予測子（ＭＶＰ）を識別することと、前記第１のＭＶＰを識別する第１のインデックスを生成することと、前記第１の動きベクトルと前記第１のＭＶＰとに基づいて第１の動きベクトル差分（ＭＶＤ）を生成することと、前記現在ビデオブロックを前記双方向予測インターモードでコード化するために使用される前記第２の動きベクトルを決定することと、動きベクトルの第２のセットに基づいて第２のＭＶＰを識別することと、ここで動きベクトルの前記第２のセットが、前記隣接ビデオブロックの１つ以上に関連する動きベクトルと、前記第１の動きベクトルに基づく候補とを含む、前記第２のＭＶＰを識別する第２のインデックスを生成することと、前記第２の動きベクトルと前記第２のＭＶＰとに基づいて第２のＭＶＤを生成することと、前記現在ビデオブロックについての符号化ビットストリームの一部として、前記第１のインデックスと前記第１のＭＶＤと前記第２のインデックスと前記第２のＭＶＤとを出力することとを行うように構成されたビデオエンコーダを備える、ビデオ符号化装置。
［３５］  前記第１の動きベクトルと前記第２の動きベクトルとが、同じ予測フレームに関連するデータを指し、前記第１の動きベクトルに基づく前記候補が前記第１の動きベクトルである、請求項３４に記載のビデオ符号化装置。
［３６］  前記第１の動きベクトルが、前のフレームに関連するデータを指し、前記第２の動きベクトルが、別の前のフレームに関連するデータを指し、前記第１の動きベクトルに基づく前記候補が、前記第１の動きベクトルのスケーリングバージョンを備える、請求項３４に記載のビデオ符号化装置。
［３７］  前記第１の動きベクトルが、後続のフレームに関連するデータを指し、前記第２の動きベクトルが、別の後続のフレームに関連するデータを指し、前記第１の動きベクトルに基づく前記候補が、前記第１の動きベクトルのスケーリングバージョンを備える、請求項３４に記載のビデオ符号化装置。
［３８］  前記第１の動きベクトルが、前のフレームに関連するデータを指し、前記第２の動きベクトルが、後続のフレームに関連するデータを指し、前記第１の動きベクトルに基づく前記候補が、前記第１の動きベクトルのスケーリングバージョンを備え、現在フレームに対する前記前のフレームの時間距離が、前記現在フレームに対する前記後続のフレームの時間距離と同じである、請求項３４に記載のビデオ符号化装置。
［３９］  前記第１の動きベクトルが、後続のフレームに関連するデータを指し、前記第２の動きベクトルが、前のフレームに関連するデータを指し、前記第１の動きベクトルに基づく前記候補が、前記第１の動きベクトルのスケーリングバージョンを備え、現在フレームに対する前記後続のフレームの時間距離が、前記現在フレームに対する前記前のフレームの時間距離と同じである、請求項３４に記載のビデオ符号化装置。
［４０］  前記第１の動きベクトルが、前のフレームに関連するデータを指し、前記第２の動きベクトルが、後続のフレームに関連するデータを指し、前記第１の動きベクトルに基づく前記候補が、前記第１の動きベクトルのスケーリングバージョンを備え、現在フレームに対する前記前のフレームの時間距離が、前記現在フレームに対する前記後続のフレームの時間距離とは異なる、請求項３４に記載のビデオ符号化装置。
［４１］  前記第１の動きベクトルが、後続のフレームに関連するデータを指し、前記第２の動きベクトルが、前のフレームに関連するデータを指し、前記第１の動きベクトルに基づく前記候補が、前記第１の動きベクトルのスケーリングバージョンを備え、現在フレームに対する前記後続のフレームの時間距離が、前記現在フレームに対する前記前のフレームの時間距離とは異なる、請求項３４に記載のビデオ符号化装置。
［４２］  前記現在ビデオブロックは、高効率ビデオコード化（ＨＥＶＣ）規格に従って定義されたコード化単位（ＣＵ）と、ここで前記ＣＵが、４分木区分方式に従って最大コード化単位（ＬＣＵ）に対して定義される、前記ＨＥＶＣ規格に従って定義された前記ＣＵの予測単位（ＰＵ）とのうちの１つを備える、請求項３４に記載のビデオ符号化装置。
［４３］  集積回路と、マイクロプロセッサと、ビデオエンコーダを含むワイヤレス通信機器とのうちの少なくとも１つを備える、請求項３４に記載のビデオ符号化装置。
［４４］  双方向予測インターモードでコード化された現在ビデオブロックに関連する第１の動きベクトルと第２の動きベクトルとをコード化するために適応動きベクトル予測（ＡＭＶＰ）が使用される、ビデオデータを復号するための装置であって、前記第１の動きベクトルに関連する第１の動きベクトル差分（ＭＶＤ）を受信するための手段と、第１の動きベクトル予測子（ＭＶＰ）を識別する第１のインデックスを受信するための手段と、前記第１のＭＶＤと前記第１のＭＶＰとに基づいて前記第１の動きベクトルを生成するための手段と、前記第２の動きベクトルに関連する第２のＭＶＤを受信するための手段と、第２のＭＶＰを識別する第２のインデックスを受信するための手段と、ここで前記第２のＭＶＰが、前記第１の動きベクトルに基づいて定義される、前記第２のＭＶＤと前記第２のＭＶＰとに基づいて前記第２の動きベクトルを生成するための手段とを備える、装置。
［４５］  双方向予測インターモードに従って現在ビデオブロックに関連する第１の動きベクトルと第２の動きベクトルとをコード化するために適応動きベクトル予測（ＡＭＶＰ）が使用される、ビデオデータを符号化するための装置であって、前記現在ビデオブロックを前記双方向予測インターモードでコード化するために使用されるべき前記第１の動きベクトルを決定するための手段と、１つ以上の隣接ビデオブロックに関連する動きベクトルの第１のセットに基づいて第１の動きベクトル予測子（ＭＶＰ）を識別するための手段と、前記第１のＭＶＰを識別する第１のインデックスを生成するための手段と、前記第１の動きベクトルと前記第１のＭＶＰとに基づいて第１の動きベクトル差分（ＭＶＤ）を生成するための手段と、前記現在ビデオブロックを前記双方向予測インターモードでコード化するために使用されるべき前記第２の動きベクトルを決定するための手段と、動きベクトルの第２のセットに基づいて第２のＭＶＰを識別するための手段と、ここで動きベクトルの前記第２のセットが、前記隣接ビデオブロックの１つ以上に関連する動きベクトルと、前記第１の動きベクトルに基づく候補とを含む、前記第２のＭＶＰを識別する第２のインデックスを生成するための手段と、前記第２の動きベクトルと前記第２のＭＶＰとに基づいて第２のＭＶＤを生成するための手段と、前記現在ビデオブロックについての符号化ビットストリームの一部として、前記第１のインデックスと前記第１のＭＶＤと前記第２のインデックスと前記第２のＭＶＤとを出力するための手段とを備える、装置。
［４６］  双方向予測インターモードでコード化された現在ビデオブロックに関連する第１の動きベクトルと第２の動きベクトルとをコード化するために適応動きベクトル予測（ＡＭＶＰ）が使用される、実行されると、プロセッサにビデオデータを復号させる命令を備えるコンピュータ可読媒体であって、前記命令は前記プロセッサに、前記第１の動きベクトルに関連する第１の動きベクトル差分（ＭＶＤ）を受信すると、及び第１の動きベクトル予測子（ＭＶＰ）を識別する第１のインデックスを受信すると、前記第１のＭＶＤと前記第１のＭＶＰとに基づいて前記第１の動きベクトルを生成することと、前記第２の動きベクトルに関連する第２のＭＶＤを受信すると、及び前記第１の動きベクトルに基づいて定義された第２のＭＶＰを識別する第２のインデックスを受信すると、前記第２のＭＶＤと前記第２のＭＶＰとに基づいて前記第２の動きベクトルを生成することとを行わせる、コンピュータ可読媒体。
［４７］  実行されると、双方向予測インターモードに従って現在ビデオブロックに関連する第１の動きベクトルと第２の動きベクトルとをコード化するために適応動きベクトル予測（ＡＭＶＰ）が使用されるプロセッサにビデオデータを符号化させる命令を備えるコンピュータ可読媒体であって、前記命令は前記プロセッサに、前記現在ビデオブロックを前記双方向予測インターモードでコード化するために使用されるべき前記第１の動きベクトルを決定することと、１つ以上の隣接ビデオブロックに関連する動きベクトルの第１のセットに基づいて第１の動きベクトル予測子（ＭＶＰ）を識別することと、前記第１のＭＶＰを識別する第１のインデックスを生成することと、前記第１の動きベクトルと前記第１のＭＶＰとに基づいて第１の動きベクトル差分（ＭＶＤ）を生成することと、前記現在ビデオブロックを前記双方向予測インターモードでコード化するために使用されるべき前記第２の動きベクトルを決定することと、動きベクトルの第２のセットに基づいて第２のＭＶＰを識別することと、ここで動きベクトルの前記第２のセットが、前記隣接ビデオブロックの１つ以上に関連する動きベクトルと、前記第１の動きベクトルに基づく候補とを含む、前記第２のＭＶＰを識別する第２のインデックスを生成することと、前記第１の動きベクトルと前記第１のＭＶＰとに基づいて第２のＭＶＤを生成することと、前記現在ビデオブロックについての符号化ビットストリームの一部として、前記第１のインデックスと前記第１のＭＶＤと前記第２のインデックスと前記第２のＭＶＤとを出力することとを行わせる、コンピュータ可読媒体。
【図１】
0005844392.tif 000002
【図２】
0005844392.tif 000003
【図３】
0005844392.tif 000004
【図４】
0005844392.tif 000005
【図５】
0005844392.tif 000006
【図６】
0005844392.tif 000007
【図７】
0005844392.tif 000008
【図８】
0005844392.tif 000009
【図９】
0005844392.tif 000010
【図１０】
0005844392.tif 000011
【図１１】
0005844392.tif 000012
【図１２】
0005844392.tif 000013
【図１３】
0005844392.tif 000014
【図１４】
0005844392.tif 000015