(57)【要約】本願は、動きベクトル予測方法及び関連する装置を提供する。方法は、候補動きベクトルリストのインデックス値を取得するようビットストリームをパースすることと、現在のブロックのＫ個の制御点の候補動きベクトルを含む候補動きベクトルリストを構成することであり、Ｋ個の制御点の候補動きベクトルは、現在のブロックの隣接ブロックに使用されている２Ｎパラメータアフィン変換モデルに基づいて取得され、Ｎは２以上４以下の整数であり、Ｋは２以上４以下の整数であり、ＮはＫと等しくない、ことと、候補動きベクトルリストの中で、インデックス値に基づいてＫ個の制御点の対象候補動きベクトルを決定することと、Ｋ個の制御点の対象候補動きベクトルに基づいて現在のブロックの各サブブロックの予測動きベクトルを取得することとを含む。本願は、オーディオ及びビデオコーディング処理のコーディング効率を改善するのを助け、ユーザ要求を満足する。
2021529483.tif 000002
【特許請求の範囲】
【請求項１】
動きベクトル予測方法であって、
候補動きベクトルリストのインデックス値を取得するようビットストリームをパースすることと、
現在のブロックのＫ個の制御点の候補動きベクトルを含む前記候補動きベクトルリストを構成することであり、前記Ｋ個の制御点の前記候補動きベクトルは、前記現在のブロックの隣接ブロックに使用されている２×Ｎパラメータアフィン変換モデルに基づいて取得され、前記２×Ｎパラメータアフィン変換モデルは、前記隣接ブロックのＮ個の制御点の動きベクトルに基づいて取得され、Ｎは２以上４以下の整数であり、Ｋは２以上４以下の整数であり、ＮはＫと等しくなく、前記隣接ブロックは、前記現在のブロックに空間的に隣接する復号された画像ブロックであり、前記現在のブロックは、複数のサブブロックを有する、ことと、
前記候補動きベクトルリストの中で、前記インデックス値に基づいて前記Ｋ個の制御点の対象候補動きベクトルを決定することと、
前記Ｋ個の制御点の前記対象候補動きベクトルに基づいて前記現在のブロックの各サブブロックの予測動きベクトルを取得することと
を有する方法。
【請求項２】
Ｎは２に等しく、Ｋは３に等しく、相応して、前記現在のブロックの３つの制御点の候補動きベクトルは、前記現在のブロックの前記隣接ブロックに使用されている４パラメータアフィン変換モデルに基づいて取得される、
請求項１に記載の方法。
【請求項３】
前記現在のブロックの前記３つの制御点の前記候補動きベクトルは、前記現在のブロックの左上サンプル位置での動きベクトルと、前記現在のブロックの右上サンプル位置での動きベクトルと、前記現在のブロックの左下サンプル位置での動きベクトルとを有し、
前記現在のブロックの前記３つの制御点の前記候補動きベクトルが、前記現在のブロックの前記隣接ブロックに使用されている４パラメータアフィン変換モデルに基づいて取得されることは、前記現在のブロックの前記３つの制御点の前記候補動きベクトルが、次の式
【数４０】
2021529483.tif 000042
に従って計算されることを有し、
ｖｘ０は、前記現在のブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ０は、前記現在のブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ１は、前記現在のブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ１は、前記現在のブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ２は、前記現在のブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ２は、前記現在のブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ４は、前記隣接ブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ４は、前記隣接ブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ５は、前記隣接ブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ５は、前記隣接ブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｘ０は、前記現在のブロックの左上サンプル位置の水平座標であり、ｙ０は、前記現在のブロックの左上サンプル位置の垂直座標であり、ｘ１は、前記現在のブロックの右上サンプル位置の水平座標であり、ｙ１は、前記現在のブロックの右上サンプル位置の垂直座標であり、ｘ２は、前記現在のブロックの左下サンプル位置の水平座標であり、ｙ２は、前記現在のブロックの左下サンプル位置の垂直座標であり、ｘ４は、前記隣接ブロックの左上サンプル位置の水平座標であり、ｙ４は、前記現在のブロックの左上サンプル位置の垂直座標であり、ｘ５は、前記隣接ブロックの右上サンプル位置の水平座標である、
請求項２に記載の方法。
【請求項４】
Ｎは３に等しく、Ｋは２に等しく、相応して、前記現在のブロックの２つの制御点の候補動きベクトルは、前記現在のブロックの前記隣接ブロックに使用されている６パラメータアフィン変換モデルに基づいて取得される、
請求項１に記載の方法。
【請求項５】
前記現在のブロックの前記２つの制御点の前記候補動きベクトルは、前記現在のブロックの左上サンプル位置での動きベクトルと、前記現在のブロックの右上サンプル位置での動きベクトルとを有し、
前記現在のブロックの前記２つの制御点の前記候補動きベクトルが、前記現在のブロックの前記隣接ブロックに使用されている６パラメータアフィン変換モデルに基づいて取得されることは、前記現在のブロックの前記２つの制御点の前記候補動きベクトルが、次の式
【数４１】
2021529483.tif 000043
に従って計算されることを有し、
ｖｘ０は、前記現在のブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ０は、前記現在のブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ１は、前記現在のブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ１は、前記現在のブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ４は、前記隣接ブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ４は、前記隣接ブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ５は、前記隣接ブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ５は、前記隣接ブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ６は、前記隣接ブロックの左下サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ６は、前記隣接ブロックの左下サンプル位置に対応する動きベクトルの垂直成分であり、ｘ０は、前記現在のブロックの左上サンプル位置の水平座標であり、ｙ０は、前記現在のブロックの左上サンプル位置の垂直座標であり、ｘ１は、前記現在のブロックの右上サンプル位置の水平座標であり、ｙ１は、前記現在のブロックの右上サンプル位置の垂直座標であり、ｘ４は、前記隣接ブロックの左上サンプル位置の水平座標であり、ｙ４は、前記現在のブロックの左上サンプル位置の垂直座標であり、ｘ５は、前記隣接ブロックの右上サンプル位置の水平座標であり、ｙ６は、前記隣接ブロックの左下サンプル位置の垂直座標である、
請求項４に記載の方法。
【請求項６】
前記Ｋ個の制御点の前記対象候補動きベクトルに基づいて前記現在のブロックの各サブブロックの予測動きベクトルを取得することは、
前記Ｋ個の制御点の前記対象候補動きベクトルに基づいて前記現在のブロックの２×Ｋパラメータアフィン変換モデルを取得することと、
前記２×Ｋパラメータアフィン変換モデルに基づいて前記現在のブロックの各サブブロックの前記予測動きベクトルを取得することと
を有する、
請求項１乃至５のうちいずれか一項に記載の方法。
【請求項７】
前記Ｋ個の制御点の前記対象候補動きベクトルに基づいて２×Ｋパラメータアフィン変換モデルを取得することは、
前記Ｋ個の制御点の前記対象候補動きベクトル及び前記Ｋ個の制御点の動きベクトル差に基づいて前記Ｋ個の制御点の動きベクトルを取得することであり、前記Ｋ個の制御点の前記動きベクトル差は、前記ビットストリームをパースすることによって取得される、ことと、
前記Ｋ個の制御点の前記動きベクトルに基づいて前記現在のブロックの前記２×Ｋパラメータアフィン変換モデルを取得することと
を有する、
請求項６に記載の方法。
【請求項８】
前記候補動きベクトルリストの中で、前記インデックス値に基づいて前記現在のブロックの前記Ｋ個の制御点の対象候補動きベクトルを決定することの後で、前記方法は、前記現在のブロックの前記Ｋ個の制御点の前記対象候補動きベクトルに基づいて前記現在のブロックの前記６パラメータアフィン変換モデルを取得することを更に有し、
相応して、前記Ｋ個の制御点の前記対象候補動きベクトルに基づいて前記現在のブロックの各サブブロックの予測動きベクトルを取得することは、
前記現在のブロックの前記６パラメータアフィン変換モデルに基づいて前記現在のブロックの各サブブロックの前記予測動きベクトルを取得することを有する、
請求項１乃至５のうちいずれか一項に記載の方法。
【請求項９】
復号化デバイスであって、
ビットストリームの形でビデオデータを記憶するよう構成される記憶ユニットと、
候補動きベクトルリストのインデックス値を取得するよう前記ビットストリームをパースするよう構成されるエントロピ復号化ユニットと、
現在のブロックのＫ個の制御点の候補動きベクトルを含む前記候補動きベクトルリストを構成するよう構成され、前記現在のブロックの前記Ｋ個の制御点の前記候補動きベクトルは、前記現在のブロックの隣接ブロックに使用されている２×Ｎパラメータアフィン変換モデルに基づいて取得され、前記２×Ｎパラメータアフィン変換モデルは、前記隣接ブロックのＮ個の制御点の動きベクトルに基づいて取得され、Ｎは２以上４以下の整数であり、Ｋは２以上４以下の整数であり、ＮはＫと等しくなく、前記隣接ブロックは、前記現在のブロックに空間的に隣接する復号された画像ブロックであり、前記現在のブロックは、複数のサブブロックを有する、予測処理ユニットであり、前記候補動きベクトルリストの中で、前記インデックス値に基づいて前記現在のブロックの前記Ｋ個の制御点の対象候補動きベクトルを決定し、前記現在のブロックの前記Ｋ個の制御点の前記対象候補動きベクトルに基づいて前記現在のブロックの各サブブロックの予測動きベクトルを取得するよう構成される前記予測処理ユニットと
を有するデバイス。
【請求項１０】
Ｎは２に等しく、Ｋは３に等しく、相応して、前記現在のブロックの３つの制御点の候補動きベクトルは、前記現在のブロックの前記隣接ブロックに使用されている４パラメータアフィン変換モデルに基づいて取得される、
請求項９に記載のデバイス。
【請求項１１】
前記現在のブロックの前記３つの制御点の前記候補動きベクトルは、前記現在のブロックの左上サンプル位置での動きベクトルと、前記現在のブロックの右上サンプル位置での動きベクトルと、前記現在のブロックの左下サンプル位置での動きベクトルとを有し、
前記予測処理ユニットは、前記現在のブロックの前記３つの制御点の前記候補動きベクトルを、次の式
【数４２】
2021529483.tif 000044
に従って計算するよう構成され、
ｖｘ０は、前記現在のブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ０は、前記現在のブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ１は、前記現在のブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ１は、前記現在のブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ２は、前記現在のブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ２は、前記現在のブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ４は、前記隣接ブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ４は、前記隣接ブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ５は、前記隣接ブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ５は、前記隣接ブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｘ０は、前記現在のブロックの左上サンプル位置の水平座標であり、ｙ０は、前記現在のブロックの左上サンプル位置の垂直座標であり、ｘ１は、前記現在のブロックの右上サンプル位置の水平座標であり、ｙ１は、前記現在のブロックの右上サンプル位置の垂直座標であり、ｘ２は、前記現在のブロックの左下サンプル位置の水平座標であり、ｙ２は、前記現在のブロックの左下サンプル位置の垂直座標であり、ｘ４は、前記隣接ブロックの左上サンプル位置の水平座標であり、ｙ４は、前記現在のブロックの左上サンプル位置の垂直座標であり、ｘ５は、前記隣接ブロックの右上サンプル位置の水平座標である、
請求項１０に記載のデバイス。
【請求項１２】
Ｎは３に等しく、Ｋは２に等しく、相応して、前記現在のブロックの２つの制御点の候補動きベクトルは、前記現在のブロックの前記隣接ブロックに使用されている６パラメータアフィン変換モデルに基づいて取得される、
請求項９に記載のデバイス。
【請求項１３】
前記現在のブロックの前記２つの制御点の前記候補動きベクトルは、前記現在のブロックの左上サンプル位置での動きベクトルと、前記現在のブロックの右上サンプル位置での動きベクトルとを有し、
前記予測処理ユニットは、前記現在のブロックの前記２つの制御点の前記候補動きベクトルを、次の式
【数４３】
2021529483.tif 000045
に従って計算するよう構成され、
ｖｘ０は、前記現在のブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ０は、前記現在のブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ１は、前記現在のブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ１は、前記現在のブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ４は、前記隣接ブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ４は、前記隣接ブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ５は、前記隣接ブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ５は、前記隣接ブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ６は、前記隣接ブロックの左下サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ６は、前記隣接ブロックの左下サンプル位置に対応する動きベクトルの垂直成分であり、ｘ０は、前記現在のブロックの左上サンプル位置の水平座標であり、ｙ０は、前記現在のブロックの左上サンプル位置の垂直座標であり、ｘ１は、前記現在のブロックの右上サンプル位置の水平座標であり、ｙ１は、前記現在のブロックの右上サンプル位置の垂直座標であり、ｘ４は、前記隣接ブロックの左上サンプル位置の水平座標であり、ｙ４は、前記現在のブロックの左上サンプル位置の垂直座標であり、ｘ５は、前記隣接ブロックの右上サンプル位置の水平座標であり、ｙ６は、前記隣接ブロックの左下サンプル位置の垂直座標である、
請求項１２に記載のデバイス。
【請求項１４】
前記予測処理ユニットは、
前記現在のブロックの前記Ｋ個の制御点の前記対象候補動きベクトルに基づいて前記現在のブロックの２×Ｋパラメータアフィン変換モデルを取得し、
前記現在のブロックの前記２×Ｋパラメータアフィン変換モデルに基づいて前記現在のブロックの各サブブロックの前記予測動きベクトルを取得する
よう特に構成される、
請求項９乃至１３のうちいずれか一項に記載のデバイス。
【請求項１５】
前記予測処理ユニットは、
前記現在のブロックの前記Ｋ個の制御点の前記対象候補動きベクトル及び前記現在のブロックの前記Ｋ個の制御点の動きベクトル差に基づいて前記現在のブロックの前記Ｋ個の制御点の動きベクトルを取得し、前記現在のブロックの前記Ｋ個の制御点の前記動きベクトル差は、前記ビットストリームをパースすることによって取得され、
前記現在のブロックの前記Ｋ個の制御点の前記動きベクトルに基づいて前記現在のブロックの前記２×Ｋパラメータアフィン変換モデルを取得する
よう特に構成される、
請求項１４に記載のデバイス。
【請求項１６】
前記候補動きベクトルリストの中で、前記インデックス値に基づいて前記現在のブロックの前記Ｋ個の制御点の前記対象候補動きベクトルを決定した後に、前記予測処理ユニットは、
前記現在のブロックの前記Ｋ個の制御点の前記対象候補動きベクトルに基づいて前記現在のブロックの前記６パラメータアフィン変換モデルを取得し、
前記現在のブロックの前記６パラメータアフィン変換モデルに基づいて前記現在のブロックの各サブブロックの前記予測動きベクトルを取得する
よう更に構成される、
請求項９乃至１３のうちいずれか一項に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ビデオコーディング技術の分野に、特に、ビデオ画像の動きベクトルを予測する方法及び装置と、対応する符号器及び復号器とに関係がある。
【背景技術】
【０００２】
ビデオコーディング（ビデオ符号化及び復号化）は、広範囲のデジタルビデオ用途、例えば、放送デジタルＴＶ、インターネット及びモバイルネットワーク上のビデオ伝送、ビデオチャットやビデオ会議などの実時間の対話アプリケーション、ＤＶＤ及びブルーレイディスク、ビデオコンテンツ取得及び編集システム、並びにセキュリティ用途のカムコーダ、において使用されている。
【０００３】
１９９０年のＨ．２６１標準規格におけるブロックベースのハイブリッドビデオコーディングアプローチの開発以来、新しいビデオコーディング技術及びツールが開発され、新しいビデオコーディング標準規格の基礎を形成した。更なるビデオコーディング標準規格には、ＭＰＥＧ−１ビデオ、ＭＰＥＧ−２ビデオ、ＩＴＵ−Ｔ  Ｈ．２６２／ＭＰＥＧ−２、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４  パート１０  アドバンスト・ビデオ・コーディング（Advanced  Video  Coding，ＡＶＣ）、ＩＴＵ−Ｔ  Ｈ．２６５／高効率ビデオコーディング（High  Efficiency  Video  Coding，ＨＥＶＣ）、及び拡張、例えば、これらの標準規格のスケーラビリティ及び／又は３Ｄ（three-dimensional）拡張がある。ビデオ作成及び使用がより偏在的になるにつれて、ビデオトラフィックは、通信ネットワーク及びデータ記憶に対する最大の負荷である。従って、ビデオコーディング標準規格の大部分の目標の１つは、画像品質を犠牲にせずにその前身と比較してビットレート低減を達成することであった。最新の高効率ビデオコーディング（High  Efficiency  Video  Coding，ＨＥＶＣ）は、画像品質を犠牲にせずにＡＶＣの約２倍ビデオを圧縮することができるが、ＨＥＶＣと比較してビデオを更に圧縮する新しい技術が更に渇望されている。
【発明の概要】
【０００４】
本発明の実施形態は、コーディング効率を改善しかつユーザ要求を満足するように、動きベクトル予測方法及び関連する装置を提供する。
【０００５】
第１の態様に従って、本発明の実施形態は、動きベクトル予測方法を提供する。方法は、復号器側又は符号器側の視点から記載される。方法は、処理されるべき画像ブロックを予測するために使用されてよい。処理されるべき画像ブロックは、ビデオ画像を分割することによって取得される。符号器側で、処理されるべき画像ブロックは、現在のアフィンコーディングブロックであり、処理されるべき画像ブロックに空間的に隣接する復号された画像ブロックは、隣接アフィンコーディングブロックである。復号器側で、処理されるべき画像ブロックは、現在のアフィン復号化ブロックであり、処理されるべき画像ブロックに空間的に隣接する復号された画像ブロックは、隣接アフィン復号化ブロックである。記載を簡単にするために、処理されるべき画像ブロックは、現在のブロックと呼ばれてよく、処理されるべき画像ブロックに空間的に隣接する参照ブロックは、隣接ブロックと呼ばれてよい。方法は、候補動きベクトルリストのインデックス値を取得するようビットストリームをパースすることと、現在のブロックのＫ個の制御点の候補動きベクトルを含む候補動きベクトルリストを構成することであり、Ｋ個の制御点の候補動きベクトルは、現在のブロックの隣接ブロックに使用されている２×Ｎパラメータアフィン変換モデルに基づいて取得され、２×Ｎパラメータアフィン変換モデルは、隣接ブロックのＮ個の制御点の動きベクトルに基づいて取得され、Ｎは２以上４以下の整数であり、Ｋは２以上４以下の整数であり、ＮはＫと等しくないことと、候補動きベクトルリストの中で、インデックス値に基づいてＫ個の制御点の対象候補動きベクトルを決定することと、Ｋ個の制御点の対象候補動きベクトルに基づいて現在のブロックの各サブブロックの位置に対応する予測動きベクトルを取得することとを含む。様々なサブブロックの位置に対応する予測動きベクトルは夫々、複数のサブブロックの動き補償のために使用されてよい。
【０００６】
本発明のこの実施形態において、現在のブロックを予測する過程で、復号器側は、現在のブロックの候補リストを構成するフェーズで（例えば、アフィン変換モデルに基づくＡＭＶＰモード又はマージモードのための候補動きベクトルリストを構成するフェーズで）、隣接ブロックのアフィン変換モデルを使用することによって現在のブロックのアフィン変換モデルを構成することができる、ことが分かる。２つのブロックのアフィン変換モデルは、異なってよい。現在のブロックのアフィン変換モデルは、現在のブロックの実際の動き状態／実際の要件をより良く満足する。従って、この解決法は、現在のブロックを予測する際のコーディング効率及び精度を改善し、かつ、ユーザ要求を満足することができる。
【０００７】
第１の態様に従って、可能な実施において、現在のブロックの１つ以上の前もってセットされた空間的に隣接するブロックの利用可能性は、前もってセットされた順序で決定されてよく、次いで、前もってセットされた順序にある利用可能な隣接ブロックは、順次に取得される。前もってセットされた利用可能な隣接ブロックは、処理されるべき画像ブロックの上、左、右上、左下、又は左上に位置する隣接画像ブロックを含んでよい。例えば、左に位置する隣接画像ブロック、上に位置する隣接画像ブロック、右上に位置する隣接画像ブロック、左下に位置する隣接画像ブロック、及び左上に位置する隣接画像ブロックは、順次に利用可能性を確認される。
【０００８】
第１の態様に従って、可能な実施において、Ｎ＝２かつＫ＝３である。具体的に言えば、４パラメータアフィン変換モデルがアフィン復号化ブロック（符号器側ではアフィンコーディングブロック）に使用され、６パラメータアフィン変換モデルが現在のブロックに使用される場合に、現在のブロックの３つの制御点の候補動きベクトルは、現在のブロックの隣接ブロックに使用されている４パラメータアフィン変換モデルに基づいて取得される。
【０００９】
例えば、現在のブロックの３つの制御点の候補動きベクトルは、現在のブロックの左上サンプル位置（又は左上角と呼ばれる、以下同じ）（ｘ０，ｙ０）での動きベクトル（ｖｘ０，ｖｙ０）と、現在のブロックの右上サンプル位置（又は右上角と呼ばれる、以下同じ）（ｘ１，ｙ１）での動きベクトル（ｖｘ１，ｖｙ１）と、現在のブロックの左下サンプル位置（又は左下角と呼ばれる、以下同じ）（ｘ２，ｙ２）での動きベクトル（ｖｘ２，ｖｙ２）とを含む。
【００１０】
現在のブロックの３つの制御点の候補動きベクトルが、現在のブロックの隣接ブロックに使用されている４パラメータアフィン変換モデルに基づいて取得されることは、現在のブロックの左上角（ｘ０，ｙ０）での動きベクトル（ｖｘ０，ｖｙ０）と、現在のブロックの右上角（ｘ１，ｙ１）での動きベクトル（ｖｘ１，ｖｙ１）と、現在のブロックの左下角（ｘ２，ｙ２）での動きベクトル（ｖｘ２，ｖｙ２）とが、最初に、次の式：
【数１】
2021529483.tif 000003
に従って計算されることを含み、
ｖｘ０は、現在のブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ０は、現在のブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ１は、現在のブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ１は、現在のブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ２は、現在のブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ２は、現在のブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ４は、隣接ブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ４は、隣接ブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ５は、隣接ブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ５は、隣接ブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｘ０は、現在のブロックの左上サンプル位置の水平座標であり、ｙ０は、現在のブロックの左上サンプル位置の垂直座標であり、ｘ１は、現在のブロックの右上サンプル位置の水平座標であり、ｙ１は、現在のブロックの右上サンプル位置の垂直座標であり、ｘ２は、現在のブロックの左下サンプル位置の水平座標であり、ｙ２は、現在のブロックの左下サンプル位置の垂直座標であり、ｘ４は、隣接ブロックの左上サンプル位置の水平座標であり、ｙ４は、現在のブロックの左上サンプル位置の垂直座標であり、ｘ５は、隣接ブロックの右上サンプル位置の水平座標である。
【００１１】
第１の態様に従って、可能な実施において、Ｎ＝３かつＫ＝２である。具体的に言えば、６パラメータアフィン変換モデルがアフィン復号化ブロック（符号器側ではアフィンコーディングブロック）に使用され、４パラメータアフィン変換モデルが現在のブロックに使用される場合に、現在のブロックの２つの制御点の候補動きベクトルは、現在のブロックの隣接ブロックに使用されている６パラメータアフィン変換モデルに基づいて取得される。
【００１２】
例えば、現在のブロックの２つの制御点の候補動きベクトルは、現在のブロックの左上サンプル位置（又は左上角と呼ばれる、以下同じ）（ｘ０，ｙ０）での動きベクトル（ｖｘ０，ｖｙ０）と、現在のブロックの右上サンプル位置（又は右上角と呼ばれる、以下同じ）（ｘ１，ｙ１）での動きベクトル（ｖｘ１，ｖｙ１）とを含み、現在のブロックの２つの制御点の候補動きベクトルが、現在のブロックの隣接ブロックに使用されている６パラメータアフィン変換モデルに基づいて取得されることは、現在のブロックの２つの制御点の候補動きベクトルが、次の式
【数２】
2021529483.tif 000004
に従って計算されることを含み、
ｖｘ０は、現在のブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ０は、現在のブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ１は、現在のブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ１は、現在のブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ４は、隣接ブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ４は、隣接ブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ５は、隣接ブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ５は、隣接ブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ６は、隣接ブロックの左下サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ６は、隣接ブロックの左下サンプル位置に対応する動きベクトルの垂直成分であり、ｘ０は、現在のブロックの左上サンプル位置の水平座標であり、ｙ０は、現在のブロックの左上サンプル位置の垂直座標であり、ｘ１は、現在のブロックの右上サンプル位置の水平座標であり、ｙ１は、現在のブロックの右上サンプル位置の垂直座標であり、ｘ４は、隣接ブロックの左上サンプル位置の水平座標であり、ｙ４は、現在のブロックの左上サンプル位置の垂直座標であり、ｘ５は、隣接ブロックの右上サンプル位置の水平座標であり、ｙ６は、隣接ブロックの左下サンプル位置の垂直座標である。
【００１３】
本発明のこの実施形態において、現在のブロックをパースするフェーズで（例えば、候補動きベクトルリストを構成するフェーズで）、現在のブロックのアフィン変換モデルは、隣接ブロックのアフィン変換モデルを使用することによって構成され得る、ことが分かる。２つのブロックのアフィン変換モデルは、異なってよい。現在のブロックのアフィン変換モデルは、現在のブロックの実際の動き状態／実際の要件をより良く満足する。従って、この解決法は、現在のブロックを予測する際のコーディング効率及び精度を改善し、かつ、ユーザ要求を満足することができる。
【００１４】
第１の態様に従って、現在のブロックを再構成するフェーズの実施形態において、現在のブロックの各サブブロックの予測動きベクトルを取得するプロセスは、次のプロシージャ：Ｋ個の制御点の対象候補動きベクトルに基づいて現在のブロックの２×Ｋパラメータアフィン変換モデルを取得することと、２×Ｋパラメータアフィン変換モデルに基づいて現在のブロックの各サブブロックの予測動きベクトルを取得することとを含む。
【００１５】
例えば、６パラメータアフィン運動モデルが現在のアフィン復号化ブロックに使用される場合に、現在のブロックの６パラメータアフィン変換モデルは、現在のブロックの３つの制御点（すなわち、Ｋ＝３）の対象候補動きベクトルに基づいて構成される。サブブロック内のサンプル座標（ｘ（ｉ，ｊ），ｙ（ｉ，ｊ））は、各サブブロック内のサンプル座標に対応する動きベクトルを取得するように６パラメータアフィン運動モデルについての式に代入され、取得された動きベクトルは、サブブロック内の全てのサンプルの動きベクトル（ｖｘ（ｉ，ｊ），ｖｙ（ｉ，ｊ））として使用される。
【数３】
2021529483.tif 000005
【００１６】
他の例として、４パラメータアフィン運動モデルが現在のアフィン復号化ブロックに使用される場合に、現在のブロックの４パラメータアフィン変換モデルは、現在のブロックの２つの制御点（すなわち、Ｋ＝２）の対象候補動きベクトルに基づいて構成される。サブブロック内のサンプル座標（ｘ（ｉ，ｊ），ｙ（ｉ，ｊ））は、各サブブロック内のサンプル座標に対応する動きベクトルを取得するように４パラメータアフィン運動モデルについての式に代入され、取得された動きベクトルは、サブブロック内の全てのサンプルの動きベクトル（ｖｘ（ｉ，ｊ），ｖｙ（ｉ，ｊ））として使用される。
【数４】
2021529483.tif 000006
【００１７】
第１の態様に従って、現在のブロックを再構成するフェーズの他の実施形態において、現在のブロックの各サブブロックの予測動きベクトルを取得するプロセスは、次のプロシージャ：現在のブロックのＫ個の制御点の対象候補動きベクトルに基づいて現在のブロック６パラメータアフィン変換モデルを取得することと、現在のブロックの６パラメータアフィン変換モデルに基づいて現在のブロックの各サブブロックの予測動きベクトルを取得することとを含む。
【００１８】
すなわち、この解決法では、パースフェーズ（リスト構成フェーズ）で現在のブロックに使用されたアフィン変換モデルにかかわらず、現在のブロックを再構成するフェーズで、６パラメータアフィン変換モデルが、各サブブロックを再構成するように、現在のブロックの各サブブロックの動きベクトル情報を取得するために一律に使用される。例えば、４パラメータアフィン変換モデル又は８パラメータ双線形モデルがパースフェーズで使用される場合に、現在のブロックの６パラメータアフィン変換モデルが更に構成される。例えば、６パラメータアフィン変換モデルがパースフェーズで使用される場合に、現在のブロックの６パラメータアフィン変換モデルは、引き続き再構成フェーズで使用される。
【００１９】
例えば、４パラメータアフィン変換モデルは、パースフェーズで現在のブロックに使用され、４パラメータアフィン変換モデル又は他のパラメータアフィンモデルは、隣接ブロックに使用されてよい。従って、現在のブロックの２つの制御点の動きベクトルが取得され、例えば、現在のブロックの左上制御点（ｘ４，ｙ４）の動きベクトル値（ｖｘ４，ｖｙ４）及び現在のブロックの右上制御点（ｘ５，ｙ５）の動きベクトル値（ｖｘ５，ｖｙ５）が取得された後、現在のブロックを再構成するフェーズで、６パラメータアフィン変換モデルは、現在のブロックの２つの制御点の動きベクトルに基づいて構成される必要がある。
【００２０】
例えば、現在のブロックの左上制御点（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）及び現在のブロックの右上制御点（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）に基づいて、第３の制御点の動きベクトル値は、次の式に従って取得されてよい。第３の制御点の動きベクトル値は、例えば、現在のブロックの左下角（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）である。
【数５】
2021529483.tif 000007
【００２１】
次いで、再構成フェーズにおける現在のブロックの６パラメータアフィンモデルは、現在のブロックの左上制御点（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）と、現在のブロックの右上制御点（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）と、現在のブロックの左下制御点（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）とを使用することによって取得される。６パラメータアフィンモデルについての式は、次の通りである：
【数６】
2021529483.tif 000008
【００２２】
次いで、現在のブロックの左上角（又は他の基準点）に対する現在のブロックの各サブブロック（又は各動き補償ユニット）の前もってセットされた位置（例えば、中心点）でのサンプルの座標（ｘ（ｉ，ｊ），ｙ（ｉ，ｊ））は、各サブブロックをその後に再構成するように、各サブブロック（又は各動き補償ユニット）の前もってセットされた位置でのサンプルの動き情報を取得するよう６パラメータアフィンモデルについての上記の式に代入される。
【００２３】
本発明のこの実施形態において、現在のブロックを再構成するフェーズで、６パラメータアフィン変換モデルは、現在のブロックを予測するために一律に使用され得る。現在のブロックのアフィン運動を記述する運動モデルのパラメータの数が多いほど、精度は高くなり、計算複雑性も高くなる。この解決法において、再構成フェーズで構成された６パラメータアフィン変換モデルは、画像ブロックの平行移動、スケーリング、及び回転などのアフィン変換を記述し、モデル複雑性とモデリング能力との間の良いバランスを達成することができる。従って、この解決法は、現在のブロックを予測する際のコーディング効率及び精度を改善し、かつ、ユーザ要求を満足することができる。
【００２４】
第１の態様に従って、可能な実施において、アフィン変換モデルに基づくＡＭＶＰモードで、Ｋ個の制御点の対象候補動きベクトルに基づいて２×Ｋパラメータアフィン変換モデルを取得することは、Ｋ個の制御点の対象候補動きベクトル及びＫ個の制御点の動きベクトル差に基づいてＫ個の制御点の動きベクトルを取得することであり、Ｋ個の制御点の動きベクトル差は、ビットストリームをパースすることによって取得される、ことと、Ｋ個の制御点の動きベクトルに基づいて現在のブロックの２×Ｋパラメータアフィン変換モデルを取得することとを含む。
【００２５】
第１の態様に従って、可能な実施において、符号器側及び復号器側は、インター予測を行うためにアフィン変換モデルに基づくＡＭＶＰモードを使用し、そして、構成されたリストは、アフィン変換モデルに基づくＡＭＶＰモードのための候補動きベクトルリストである。
【００２６】
本発明のいくつかの具体的な実施形態において、現在のブロックの制御点の候補動きベクトルは、本明細書で説明されている第１運動モデルに基づく動きベクトル予測方法を使用することによって取得され、ＡＭＶＰモードに対応する候補動きベクトルリストに加えられてよい。
【００２７】
本発明のいくつかの他の具体的な実施形態において、現在のブロックの制御点の候補動きベクトルは、代替的に、第１運動モデルに基づく動きベクトル予測方法と、構成的制御点動きベクトル予測方法とを使用することによって別々に取得され、ＡＭＶＰモードに対応する候補動きベクトルリストに加えられてよい。
【００２８】
第１の態様に従って、可能な実施において、符号器側及び復号器側は、インター予測を行うためにアフィン変換モデルに基づくマージモードを使用し、そして、構成されたリストは、アフィン変換モデルに基づくマージモードのための候補動きベクトルリストである。
【００２９】
本発明のいくつかの具体的な実施形態において、現在のブロックの制御点の候補動きベクトルはまた、本明細書で説明されている第１運動モデルに基づく動きベクトル予測方法を使用することによって取得され、マージモードに対応する候補動きベクトルリストに加えられてもよい。
【００３０】
本発明のいくつかの他の具体的な実施形態において、現在のブロックの制御点の候補動きベクトルは、代替的に、第１運動モデルに基づく動きベクトル予測方法と、構成的制御点動きベクトル予測方法とを使用することによって別々に取得され、マージモードに対応する候補動きベクトルリストに加えられてよい。
【００３１】
第１の態様に従って、可能な実施において、複数の隣接位置ブロックが存在する場合に、すなわち、現在のブロックが複数の隣接アフィン復号化ブロックを有する場合に、可能な実施形態で、符号器側及び復号器側は両方とも、最初に、モデルパラメータの数が現在のブロックのそれと同じであるアフィン復号化ブロックを使用することによって現在のブロックの制御点の候補動きベクトルを取得し、制御点の取得された候補動きベクトルを、ＡＭＶＰモードに対応する候補動きベクトルリストに加えることができる。次いで、現在のブロックの制御点の候補動きベクトルは、モデルパラメータの数が現在のブロックのそれとは異なるアフィン復号化ブロックを使用することによって取得され、ＡＭＶＰモードに対応する候補動きベクトルリストに加えられてよい。このようにして、モデルパラメータの数が現在のブロックのそれと同じであるアフィン復号化ブロックを使用することによって取得される、現在のブロックの制御点の候補動きベクトルは、リストの最前位置に位置付けられる。この設計は、ビットストリームで伝送されるビットの数を減らすのを助ける。
【００３２】
第１の態様に従って、可能な実施において、復号器側が現在のブロックの制御点の候補動きベクトルを導出する過程で、アフィン復号化ブロックのアフィン変換モデルのフラグ情報（flag）が取得される必要があり得る。フラグは、復号器側でローカルで予め記憶され、そして、アフィン復号化ブロックのサブブロックを予測するために実際に使用されるアフィン復号化ブロックのアフィン変換モデルを示すために使用される。
【００３３】
例えば、適用シナリオにおいて、復号器側が、アフィン復号化ブロックのフラグを識別することによって、アフィン復号化ブロックに実際に使用されたアフィン変換モデルのモデルパラメータの数が、現在のブロックに使用されたアフィン変換モデルのそれとは異なる（又はそれと同じである）と決定する場合に、復号器側は、アフィン復号化ブロックに実際に使用されたアフィン変換モデルを使用することによって現在のブロックの制御点の候補動きベクトルを導出するようトリガされる。
【００３４】
第１の態様に従って、可能な実施において、復号器側が現在のブロックの制御点の候補動きベクトルを導出する過程で、アフィン復号化ブロックのアフィン変換モデルのフラグは、必要とされなくてもよい。
【００３５】
例えば、適用シナリオにおいて、復号器側が現在のブロックに使用されたアフィン変換モデルを決定した後、復号器側は、アフィン復号化ブロックの特定の数（特定の数は、現在のブロックの制御点の数と同じか又は異なる）の制御点を取得し、アフィン復号化ブロックの特定の数の制御点を使用することによってアフィン変換モデルを構成し、次いで、アフィン変換モデルを使用することによって現在のブロックの制御点の候補動きベクトルを導出する。
【００３６】
第２の態様に従って、本発明の実施形態は、他の動きベクトル予測方法を提供する。方法は、候補動きベクトルリストのインデックス値を取得するようビットストリームをパースすることと、現在のブロックのＫ個の制御点の候補動きベクトルを含む候補動きベクトルリストを構成することであり、現在のブロックのＫ個の制御点の候補動きベクトルは、現在のブロックの隣接ブロックに使用されている２Ｎパラメータアフィン変換モデルに基づいて取得され、２Ｎパラメータアフィン変換モデルは、隣接ブロックのＮ個の制御点の動きベクトルに基づいて取得され、Ｎは２以上４以下の整数であり、Ｋは２以上４以下の整数であり、隣接ブロックは、現在のブロックに空間的に隣接する復号された画像ブロックであり、現在のブロックは、複数のサブブロックを含む、ことと、候補動きベクトルリストの中で、インデックス値に基づいて現在のブロックのＫ個の制御点の対象候補動きベクトルを決定することと、現在のブロックのＫ個の制御点の対象候補動きベクトルに基づいて現在のブロックの６パラメータアフィン変換モデルを取得することと、現在のブロックの６パラメータアフィン変換モデルに基づいて現在のブロックの各サブブロックの予測動きベクトルを取得することとを含む。
【００３７】
本発明のこの実施形態において、６パラメータアフィン変換モデルは、現在のブロックを再構成するフェーズで現在のブロックを予測するために一律に使用され得る、ことが分かる。現在のブロックのアフィン運動を記述する運動モデルのパラメータの数が多いほど、精度は高くなり、計算複雑性も高くなる。この解決法において、再構成フェーズで構成された６パラメータアフィン変換モデルは、画像ブロックの平行移動、スケーリング、及び回転などのアフィン変換を記述し、モデル複雑性とモデリング能力との間の良いバランスを達成することができる。従って、この解決法は、現在のブロックを予測する際のコーディング効率及び精度を改善し、かつ、ユーザ要求を満足することができる。
【００３８】
第２の態様に従って、可能な実施において、Ｎ＝２かつＫ＝２である。
【００３９】
相応して、現在のブロックの２つの制御点の候補動きベクトルは、現在のブロックの隣接ブロックに使用されている４パラメータアフィン変換モデルに基づいて取得される。
【００４０】
第２の態様に従って、可能な実施において、Ｎ＝３かつＫ＝２である。相応して、現在のブロックの２つの制御点の候補動きベクトルは、現在のブロックの隣接ブロックに使用されている６パラメータアフィン変換モデルに基づいて取得される。
【００４１】
第２の態様に従って、可能な実施において、現在のブロックのＫ個の制御点の対象候補動きベクトルに基づいて現在のブロックの６パラメータアフィン変換モデルを取得することは、
現在のブロックの２つの制御点の対象候補動きベクトルに基づいて現在のブロックの４パラメータアフィン変換モデルを取得することと、
現在のブロックの４パラメータアフィン変換モデルに基づいて現在のブロックの第３の制御点の動きベクトルを取得することと、
現在のブロックの２つの制御点の対象候補動きベクトル及び第３の制御点の動きベクトルに基づいて現在のブロックの６パラメータアフィン変換モデルを取得することと
を含む。
【００４２】
第２の態様に従って、可能な実施において、現在のブロックの２つの制御点の対象候補動きベクトルに基づいて現在のブロックの４パラメータアフィン変換モデルを取得することは、
現在のブロックの２つの制御点の対象候補動きベクトル及び現在のブロックの２つの制御点の動きベクトル差に基づいて現在のブロックの２つの制御点の動きベクトルを取得することであり、現在のブロックの２つの制御点の動きベクトル差は、ビットストリームをパースすることによって取得される、ことと、
現在のブロックの２つの制御点の動きベクトルに基づいて現在のブロックの４パラメータアフィン変換モデルを取得することと
を含み、
相応して、現在のブロックの２つの制御点の対象候補動きベクトル及び第３の制御点の動きベクトルに基づいて現在のブロックの６パラメータアフィン変換モデルを取得することは、具体的に、
現在のブロックの２つの制御点の動きベクトル及び第３の制御点の動きベクトルに基づいて現在のブロックの６パラメータアフィン変換モデルを取得することを含む。
【００４３】
第２の態様に従って、可能な実施において、Ｎ＝２かつＫ＝３である。相応して、現在のブロックの３つの制御点の候補動きベクトルは、現在のブロックの隣接ブロックに使用されている２パラメータアフィン変換モデルに基づいて取得される。
【００４４】
第３の態様に従って、本発明の実施形態は、復号化デバイスを提供する。デバイスは、ビットストリームの形でビデオデータを記憶するよう構成される記憶ユニットと、候補動きベクトルリストのインデックス値を取得するようビットストリームをパースするよう構成されるエントロピ復号化ユニットと、現在のブロックのＫ個の制御点の候補動きベクトルを含む候補動きベクトルリストを構成するよう構成され、現在のブロックのＫ個の制御点の候補動きベクトルは、現在のブロックの隣接ブロックに使用されている２×Ｎパラメータアフィン変換モデルに基づいて取得され、２×Ｎパラメータアフィン変換モデルは、隣接ブロックのＮ個の制御点の動きベクトルに基づいて取得され、Ｎは２以上４以下の整数であり、Ｋは２以上４以下の整数であり、ＮはＫと等しくなく、隣接ブロックは、現在のブロックに空間的に隣接する復号された画像ブロックであり、現在のブロックは、複数のサブブロックを含む、予測処理ユニットであり、候補動きベクトルリストの中で、インデックス値に基づいて現在のブロックのＫ個の制御点の対象候補動きベクトルを決定し、現在のブロックのＫ個の制御点の対象候補動きベクトルに基づいて現在のブロックの各サブブロックの予測動きベクトルを取得するよう構成される予測処理ユニットとを含む。
【００４５】
具体的な実施形態において、デバイスのモジュールは、第１の態様で記載される方法を実施するよう構成されてよい。
【００４６】
第４の態様に従って、本発明の実施形態は、復号化デバイスを提供する。デバイスは、ビットストリームの形でビデオデータを記憶するよう構成される記憶ユニットと、候補動きベクトルリストのインデックス値を取得するようビットストリームをパースするよう構成されるエントロピ復号化ユニットと、候補動きベクトルリストのインデックス値を取得するようビットストリームをパースし、現在のブロックのＫ個の制御点の候補動きベクトルを含む候補動きベクトルリストを構成するよう構成され、現在のブロックのＫ個の制御点の候補動きベクトルは、現在のブロックの隣接ブロックに使用されている２Ｎパラメータアフィン変換モデルに基づいて取得され、２Ｎパラメータアフィン変換モデルは、隣接ブロックのＮ個の制御点の動きベクトルに基づいて取得され、Ｎは２以上４以下の整数であり、Ｋは２以上４以下の整数であり、隣接ブロックは、現在のブロックに空間的に隣接する復号された画像ブロックであり、現在のブロックは、複数のサブブロックを含む、予測処理ユニットであり、候補動きベクトルリストの中で、インデックス値に基づいて現在のブロックのＫ個の制御点の対象候補動きベクトルを決定し、現在のブロックのＫ個の制御点の対象候補動きベクトルに基づいて現在のブロックの６パラメータアフィン変換モデルを取得し、現在のブロックの６パラメータアフィン変換モデルに基づいて現在のブロックの各サブブロックの予測動きベクトルを取得するよう構成される予測処理ユニットとを含む。
【００４７】
具体的な実施形態において、デバイスのモジュールは、第２の態様で記載される方法を実施するよう構成されてよい。
【００４８】
第５の態様に従って、本発明の実施形態は、ビデオ復号化デバイスを提供する。デバイスは、
ビットストリームの形でビデオデータを記憶するよう構成されるメモリと、
現在のブロックのＫ個の制御点の候補動きベクトルを含む候補動きベクトルリストを構成するよう構成され、現在のブロックのＫ個の制御点の候補動きベクトルは、現在のブロックの隣接ブロックに使用されている２×Ｎパラメータアフィン変換モデルに基づいて取得され、２×Ｎパラメータアフィン変換モデルは、隣接ブロックのＮ個の制御点の動きベクトルに基づいて取得され、Ｎは２以上４以下の整数であり、Ｋは２以上４以下の整数であり、ＮはＫと等しくなく、隣接ブロックは、現在のブロックに空間的に隣接する復号された画像ブロックであり、現在のブロックは、複数のサブブロックを含む、復号器であり、候補動きベクトルリストの中で、インデックス値に基づいて現在のブロックのＫ個の制御点の対象候補動きベクトルを決定し、現在のブロックのＫ個の制御点の対象候補動きベクトルに基づいて現在のブロックの各サブブロックの予測動きベクトルを取得するよう構成される復号器とを含む。
【００４９】
第５の態様に従って、いくつかの実施において、Ｎは２に等しく、Ｋは３に等しい。相応して、現在のブロックの３つの制御点の候補動きベクトルは、現在のブロックの隣接ブロックに使用されている４パラメータアフィン変換モデルに基づいて取得される。
【００５０】
第５の態様に従って、いくつかの実施において、現在のブロックの３つの制御点の候補動きベクトルは、現在のブロックの左上サンプル位置での動きベクトルと、現在のブロックの右上サンプル位置での動きベクトルと、現在のブロックの左下サンプル位置での動きベクトルとを含む。
【００５１】
復号器は、現在のブロックの３つの制御点の候補動きベクトルを、次の式
【数７】
2021529483.tif 000009
に従って計算するよう構成され、
ｖｘ０は、現在のブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ０は、現在のブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ１は、現在のブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ１は、現在のブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ２は、現在のブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ２は、現在のブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ４は、隣接ブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ４は、隣接ブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ５は、隣接ブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ５は、隣接ブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｘ０は、現在のブロックの左上サンプル位置の水平座標であり、ｙ０は、現在のブロックの左上サンプル位置の垂直座標であり、ｘ１は、現在のブロックの右上サンプル位置の水平座標であり、ｙ１は、現在のブロックの右上サンプル位置の垂直座標であり、ｘ２は、現在のブロックの左下サンプル位置の水平座標であり、ｙ２は、現在のブロックの左下サンプル位置の垂直座標であり、ｘ４は、隣接ブロックの左上サンプル位置の水平座標であり、ｙ４は、現在のブロックの左上サンプル位置の垂直座標であり、ｘ５は、隣接ブロックの右上サンプル位置の水平座標である。
【００５２】
第５の態様に従って、いくつかの実施において、Ｎは３に等しく、Ｋは２に等しい。相応して、現在のブロックの２つの制御点の候補動きベクトルは、現在のブロックの隣接ブロックに使用されている６パラメータアフィン変換モデルに基づいて取得される。
【００５３】
第５の態様に従って、いくつかの実施において、現在のブロックの２つの制御点の候補動きベクトルは、現在のブロックの左上サンプル位置での動きベクトルと、現在のブロックの右上サンプル位置での動きベクトルとを含む。
【００５４】
復号器は、現在のブロックの２つの制御点の候補動きベクトルを、次の式
【数８】
2021529483.tif 000010
に従って計算するよう構成され、
ｖｘ０は、現在のブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ０は、現在のブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ１は、現在のブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ１は、現在のブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ４は、隣接ブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ４は、隣接ブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ５は、隣接ブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ５は、隣接ブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ６は、隣接ブロックの左下サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ６は、隣接ブロックの左下サンプル位置に対応する動きベクトルの垂直成分であり、ｘ０は、現在のブロックの左上サンプル位置の水平座標であり、ｙ０は、現在のブロックの左上サンプル位置の垂直座標であり、ｘ１は、現在のブロックの右上サンプル位置の水平座標であり、ｙ１は、現在のブロックの右上サンプル位置の垂直座標であり、ｘ４は、隣接ブロックの左上サンプル位置の水平座標であり、ｙ４は、現在のブロックの左上サンプル位置の垂直座標であり、ｘ５は、隣接ブロックの右上サンプル位置の水平座標であり、ｙ６は、隣接ブロックの左下サンプル位置の垂直座標である。
【００５５】
第５の態様に従って、いくつかの実施において、復号器は、
現在のブロックのＫ個の制御点の対象候補動きベクトルに基づいて現在のブロックの２×Ｋパラメータアフィン変換モデルを取得し、
現在のブロックの２×Ｋパラメータアフィン変換モデルに基づいて現在のブロックの各サブブロックの予測動きベクトルを取得する
よう特に構成される。
【００５６】
第５の態様に従って、いくつかの実施において、復号器は、
現在のブロックのＫ個の制御点の対象候補動きベクトル及び現在のブロックのＫ個の制御点の動きベクトル差に基づいて現在のブロックのＫ個の制御点の動きベクトルを取得し、現在のブロックのＫ個の制御点の動きベクトル差は、ビットストリームをパースすることによって取得され、
現在のブロックのＫ個の制御点の動きベクトルに基づいて現在のブロックの２×Ｋパラメータアフィン変換モデルを取得する
よう特に構成される。
【００５７】
第５の態様に従って、いくつかの実施において、候補動きベクトルリストの中で、インデックス値に基づいて現在のブロックのＫ個の制御点の対象候補動きベクトルを決定した後に、復号器は、
現在のブロックのＫ個の制御点の対象候補動きベクトルに基づいて現在のブロックの６パラメータアフィン変換モデルを取得し、
現在のブロックの６パラメータアフィン変換モデルに基づいて現在のブロックの各サブブロックの予測動きベクトルを取得する
よう更に構成される。
【００５８】
復号器の具体的な機能実施については、第１の態様における関連する記載を参照されたい。
【００５９】
第６の態様に従って、本発明の実施形態は、他のビデオ復号化デバイスを提供する。デバイスは、
ビットストリームの形でビデオデータを記憶するよう構成されるメモリと、
候補動きベクトルリストのインデックス値を取得するようビットストリームをパースし；現在のブロックのＫ個の制御点の候補動きベクトルを含む候補動きベクトルリストを構成し、現在のブロックのＫ個の制御点の候補動きベクトルが、現在のブロックの隣接ブロックに使用されている２Ｎパラメータアフィン変換モデルに基づいて取得され、２Ｎパラメータアフィン変換モデルが、隣接ブロックのＮ個の制御点の動きベクトルに基づいて取得され、Ｎが２以上４以下の整数であり、Ｋが２以上４以下の整数であり、隣接ブロックが、現在のブロックに空間的に隣接する復号された画像ブロックであり、現在のブロックが、複数のサブブロックを含み；候補動きベクトルリストの中で、インデックス値に基づいて現在のブロックのＫ個の制御点の対象候補動きベクトルを決定し；現在のブロックのＫ個の制御点の対象候補動きベクトルに基づいて現在のブロックの６パラメータアフィン変換モデルを取得し；現在のブロックの６パラメータアフィン変換モデルに基づいて現在のブロックの各サブブロックの予測動きベクトルを取得するよう構成される復号器とを含む。
【００６０】
復号器の具体的な機能実施については、第２の態様における関連する記載を参照されたい。
【００６１】
第７の態様に従って、本発明の実施形態は、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は、命令を記憶し、命令が実行される場合に、１つ以上のプロセッサは、ビデオデータを符号化することを可能にされる。命令は、１つ以上のプロセッサが、第１の態様のいずれかの可能な実施形態で記載される方法を実行することを可能にする。
【００６２】
第８の態様に従って、本発明の実施形態は、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は、命令を記憶し、命令が実行される場合に、１つ以上のプロセッサは、ビデオデータを符号化することを可能にされる。命令は、１つ以上のプロセッサが、第２の態様のいずれかの可能な実施形態で記載される方法を実行することを可能にする。
【００６３】
第９の態様に従って、本発明の実施形態は、プログラムコードを含むコンピュータプログラムを提供する。プログラムコードがコンピュータで実行される場合に、第１の態様のいずれかの可能な実施形態で記載される方法は実行される。
【００６４】
第１０の態様に従って、本発明の実施形態は、プログラムコードを含むコンピュータプログラムを提供する。プログラムコードがコンピュータで実行される場合に、第２の態様のいずれかの可能な実施形態で記載される方法は実行される。
【００６５】
本発明の実施形態において、現在のブロックを符号化及び復号する過程において、現在のブロックパースするフェーズで（例えば、ＡＭＶＰモード又はマージモードのための候補動きベクトルリストを構成するフェーズで）、現在のブロックのアフィン変換モデルは、隣接ブロックのアフィン変換モデルを使用することによって構成され得る、ことが分かる。その２つのブロックのアフィン変換モデルは、異なってよい。現在のブロックのアフィン変換モデルは、現在のブロックの実際の動き状態／実際の要件をより良く満足する。従って、この解決法は、現在のブロックを符号化する効率及び精度を改善し、かつ、ユーザ要求を満足することができる。
【００６６】
更には、現在のブロックを符号化及び復号する過程において、復号器側は、画像ブロックを再構成するフェーズで画像ブロックを予測するために６パラメータアフィン変換モデルを一律に使用してよい、ことが分かる。このようにして、本発明のこの実施形態において、現在のブロックを再構成する過程で、モデル複雑性とモデリング能力との間には良いバランスが達成される。従って、この解決法は、現在のブロックを予測する際のコーディング効率及び精度を改善し、かつ、ユーザ要求を満足することができる。
【００６７】
本発明の実施形態における又は背景におけるより明りょうに技術的解決法を記載するために、下記は、本発明の実施形態又は背景を記載する添付の図面について簡単に説明する。
【図面の簡単な説明】
【００６８】
【図１】本発明の実施形態を実施するビデオコーディングシステムの構造の例を示すブロック図である。
【図２Ａ】本発明の実施形態を実施するビデオ符号器の構造の例を示すブロック図である。
【図２Ｂ】本発明の実施形態を実施するビデオ復号器の構造の例を示すブロック図である。
【図３】本発明の実施形態を実施するビデオコーディングデバイスの例を示すブロック図である。
【図４】本発明の実施形態を実施する符号化装置又は復号化装置の例を示すブロック図である。
【図５】例となる動作が現在のブロックに対して行われるシナリオを示す概略図である。
【図６】他の例となる動作が現在のブロックに対して行われるシナリオを示す概略図である。
【図７】他の例となる動作が現在のブロックに対して行われるシナリオを示す概略図である。
【図８】他の例となる動作が現在のブロックに対して行われるシナリオを示す概略図である。
【図９】本発明の実施形態に従う動きベクトル予測方法のフローチャートである。
【図１０】他の例となる動作が現在のブロックに対して行われるシナリオを示す概略図である。
【図１１Ａ】本発明の実施形態に従う現在のブロック及び現在のブロックの動き補償ユニットの概略図である。
【図１１Ｂ】本発明の実施形態に従う他の現在のブロック及び現在のブロックの動き補償ユニットの概略図である。
【図１２】本発明の実施形態に従う他の動きベクトル予測方法のフローチャートである。
【図１３】本発明の実施形態に従う他の動きベクトル予測方法のフローチャートである。
【発明を実施するための形態】
【００６９】
下記は、最初に、本発明の実施形態における関連する概念について簡単に説明する。本発明の実施形態における技術的解決法は、既存のビデオコーディング標準規格（例えば、Ｈ．２６４及びＨＥＶＣなどの標準規格）に適用されるだけでなく、将来のビデオコーディング標準規格（例えば、Ｈ．２６６標準規格）にも適用されてよい。
【００７０】
ビデオコーディングは、通常は、ビデオを構成する画像のシーケンス、又はビデオシーケンスを処理することを指す。ビデオコーディングの分野で、「ピクチャ（picture）」、「フレーム（frame）」、及び「画像（image）」との用語は、同義語として使用されることがある。本明細書で使用されているビデオコーディングは、ビデオ符号化及びビデオ復号化を含む。ビデオコーディングは送信元側で行われ、通常は、より効率的な記憶及び／又は伝送のために、ビデオ画像を表すデータの量を減らすよう原ビデオ画像を（例えば、圧縮することによって）処理することを含む。ビデオ復号化は、あて先側で行われ、通常は、ビデオ画像を再構成するよう符号器と比較して逆の処理を含む。実施形態におけるビデオ画像の“コーディング”は、ビデオシーケンスの“符号化”又は“復号化”と理解されるべきである。符号化部分及び復号化部分の組み合わせは、ＣＯＤＥＣ（符号化及び復号化）とも呼ばれる。
【００７１】
ビデオシーケンスは、画像（picture）の連続を含み、画像はスライス（slice）に更に分割され、スライスはブロック（block）に更に分割される。ビデオコーディングは、ブロック単位で実行される。いくつかの新しいビデオコーディング標準規格では、「ブロック」という概念は更に拡張される。例えば、マクロブロック（macroblock，ＭＢ）はＨ．２６４標準規格で導入されている。マクロブロックは、予測符号化のために使用され得る複数の予測ブロック（partition）に更に分割されてよい。高効率ビデオコーディング（high  efficiency  video  coding，ＨＥＶＣ）標準規格では、「コーディングユニット（coding  unit，ＣＵ）」、「予測ユニット（prediction  unit，ＰＵ）」、及び「変換ユニット（transform  unit，ＴＵ）」などの基本概念が使用されている。複数のブロックユニットは、機能的分割を通じて取得され、新しい木ベース構造を使用することによって記述される。例えば、ＣＵは、四分木に基づいて、より小さいＣＵに分割されてよく、より小さいＣＵは、四分木構造を生成するよう更に分割されてよい。ＣＵは、コード化した画像を分割及び符号化するための基本単位である。ＰＵ及びＴＵも、同様の木構造を有している。ＰＵは、予測ブロックに対応してよく、予測コーディングのための基本単位である。ＣＵは、分割パターンに基づいて、複数のＰＵに更に分割される。ＴＵは、変換ブロックに対応してよく、予測残差を変換するための基本単位である。なお、本質的に、ＣＵ、ＰＵ、及びＴＵの全ては、概念的にはブロック（又は画像ブロック）である。
【００７２】
例えば、ＨＥＶＣでは、ＣＴＵは、コーディング木として表されている四分木構造を使用することによって、複数のＣＵに分割される。インター画像（時間的）又はイントラ画像（空間的）予測を使用することによって画像エリアを符号化すべきかどうかに関する決定は、ＣＵレベルで行われる。各ＣＵは、ＰＵ分割パターンに基づいて、１つ、２つ、又は４つのＰＵに更に分割されてよい。１つのＰＵ内では、同じ予測プロセスが適用され、関連情報は、ＰＵベースで復号器へ送信される。ＰＵ分割パターンに基づいて予測プロセスを適用することによって残差ブロックを取得した後、ＣＵは、ＣＵのために使用されるコーディング木に類似した他の四分木構造に基づいて、変換ユニット（transform  unit，ＴＵ）に分割されてよい。ビデオ圧縮技術の近年の開発では、四分木プラス二分木（Quad-tree  and  binary  tree，ＱＴＢＴ）パーティションフレームが、コーディングブロックを分割するために使用されている。ＱＴＢＴブロック構造では、ＣＵは正方形又は長方形であってよい。
【００７３】
本明細書中、記載及び理解を容易にするために、現在のコード化された画像内の符号化されるべき画像ブロックは、現在のブロックと呼ばれ得る。例えば、符号化では、現在のブロックは、目下符号化中であるブロックであり、復号化では、現在のブロックは、目下復号化中であるブロックである。現在のブロックを予測するために使用される参照画像内の復号された画像ブロックは、参照ブロックと呼ばれる。すなわち、参照ブロックは、現在のブロックのための参照信号を供給するブロックであり、参照信号は、画像ブロック内のピクセル値を表す。参照画像内で現在のブロックのための予測信号を供給するブロックは、予測ブロックと呼ばれてよく、予測信号は、予測ブロック内のピクセル値、サンプリング値、又はサンプリング信号を表す。例えば、複数の参照ブロックがトラバースされた後、最適な参照ブロックは見つけられる。最適な参照ブロックは、現在のブロックのための予測を供給し、予測ブロックと呼ばれ得る。
【００７４】
下記は、本発明の実施形態におけるビデオコーディングシステムについて記載する。図１は、本発明の実施形態に従うビデオコーディングシステムの例のブロック図である。本明細書中で使用されているように、「ビデオコーデック」との用語は、一般に、ビデオ符号器及びビデオ復号器を指す。本発明の実施形態で、「ビデオコーディング」又は「コーディング」との用語は、一般に、ビデオ符号化又はビデオ復号化を指し得る。ビデオコーディングシステムのビデオ符号器１００及びビデオ復号器２００は、本発明の実施形態で提供される複数の新しいインター予測モードのうちのいずれか１つで説明されている様々な方法の例に従って、現在のコード化された画像ブロック又は現在のコード化された画像ブロックのサブブロックの動き情報、例えば、動きベクトルを予測するよう構成され、それにより、予測された動きベクトルは、動き推定方法を使用することによって取得された動きベクトルを最大限に近似する。このようにして、動きベクトル差は、符号化中に送信される必要がなく、それによって、コーディング性能を更に改善する。
【００７５】
図１に示されるように、ビデオコーディングシステムは、発信元装置１０及びあて先装置２０を含む。発信元装置１０は、符号化されたビデオデータを生成する。従って、発信元装置１０は、ビデオ符号化装置と呼ばれ得る。あて先装置２０は、発信元装置１０によって生成された符号化されたビデオデータを復号してよい。従って、あて先装置２０は、ビデオ復号化装置と呼ばれ得る。様々な実施解決法で、発信元装置１０、あて先装置２０、又は発信元装置１０及びあて先装置２０の両方は、１つ以上のプロセッサと、１つ以上のプロセッサへ結合されているメモリとを含んでよい。メモリは、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、又は本明細書で記載されるように、コンピュータにアクセス可能な命令若しくはデータ構造の形で所望のプログラムコードを記憶するために使用され得るあらゆる他の媒体を含んでよいが、これらに限定されない。
【００７６】
発信元装置１０及びあて先装置２０は、デスクトップコンピュータ、モバイルコンピューティング装置、ノートブック（例えば、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、“スマート”フォンなどの携帯電話機、テレビ受像機、カメラ、ディスプレイ装置、デジタルメディアプレイヤー、ビデオゲーム機、車載コンピュータ、及び又は同様の装置を含む様々な装置を含んでよい。
【００７７】
あて先装置２０は、符号化されたビデオデータを発信元装置１０からリンク３０を介して受信してよい。リンク３０は、符号化されたビデオデータを発信元装置１０からあて先装置２０へ移動することができる１つ以上の媒体又は装置を含んでよい。一例で、リンク３０は、符号化されたビデオデータをあて先装置２０へ実時間で直接に送ることを発信元装置１０に可能にする１つ以上の通信媒体を含んでよい。この例で、発信元装置１０は、通信標準規格（例えば、無線通信プロトコル）に従って、符号化されたビデオデータを変調してよく、そして、変調されたビデオデータをあて先装置２０へ送信してよい。１つ以上の通信媒体は、無線通信媒体及び／又は有線通信媒体、例えば、無線周波数（ＲＦ）スペクトル又は１つ以上の物理伝送ケーブルを含んでよい。１つ以上の通信媒体は、パケットベースのネットワークの部分であってもよく、パケットベースのネットワークは、例えば、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、又はグローバル・ネットワーク（例えば、インターネット）である。１つ以上の通信媒体は、ルータ、スイッチ、基地局、又は発信元装置１０からあて先装置２０への通信を助ける他のデバイスを含んでよい。
【００７８】
他の例で、符号化されたデータは、出力インターフェース１４０を通じて記憶装置４０へ出力されてもよい。同様に、符号化されたデータは、入力インターフェース２４０を通じて記憶装置４０からアクセスされてもよい。記憶装置４０は、複数の分散された又はローカルでアクセスされるデータ記憶媒体、例えば、ハード・ディスク・ドライブ、ブルーレイディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性若しくは不揮発性メモリ、又は符号化されたビデオデータを記憶するよう構成されたあらゆる他の適切なデジタル記憶媒体のうちのいずれか１つを含んでよい。
【００７９】
他の例で、記憶装置４０は、発信元装置１０によって生成された符号化されたビデオデータを記憶することができるファイルサーバ又は他の中間記憶装置に対応してよい。あて先装置２０は、記憶装置４０からストリーミング伝送又はダウンロードを通じて、記憶されているビデオデータにアクセスしてよい。ファイルサーバは、符号化されたビデオデータを記憶し、符号化されたビデオデータをあて先装置２０へ送信することができる如何なるタイプのサーバであってもよい。例えば、ファイルサーバは、ネットワークサーバ（例えば、ウェブサイトに使用される）、ＦＴＰサーバ、ネットワーク・アタッチド・ストレージ（ＮＡＳ）装置、又はローカル・ディスク・ドライブを含む。あて先装置２０は、如何なる標準のデータ接続（インターネット接続を含む）を通じて、符号化されたビデオデータにアクセスしてもよい。標準のデータ接続は、ファイルサーバに記憶されている符号化されたビデオデータにアクセスするために使用され得る無線チャネル（例えば、Ｗｉ−Ｆｉ接続）、有線接続（例えば、ＤＳＬ若しくはケーブルモデム）、又はそれらの組み合わせを含んでよい。記憶装置４０からの符号化されたビデオデータの伝送は、ストリーミング伝送、ダウンロード伝送、又はそれらの組み合わせであってよい。
【００８０】
本発明の実施形態における動きベクトル予測技術は、複数のマルチメディア用途、例えば、オーバー・ザ・エアのテレビ放送、無線テレビ伝送、衛星テレビ伝送、ストリーミングビデオ伝送（例えば、インターネットを経る）、データ記憶媒体に記憶されているビデオデータの符号化、データ記憶媒体に記憶されているビデオデータの復号化、又は他の用途をサポートするようビデオコーディングに適用されてよい。いくつかの例で、ビデオコーディングシステムは、ストリーミングビデオ伝送、ビデオ再生、ビデオ放送、及び／又はテレビ電話などの用途をサポートするように、単方向又は双方向のビデオ伝送をサポートするよう構成されてよい。
【００８１】
図１に記載されるビデオコーディングシステムは、一例にすぎない。本発明の実施形態における技術は、符号化装置と復号化装置との間の如何なるデータ通信も必ずしも含まないビデオコーディング設定（例えば、ビデオ符号化又はビデオ復号化）に適用可能であり得る。他の例では、データは、ローカルメモリから読み出されたり、ストリーミング方式でネットワーク上で伝送されたり、などする。ビデオ符号化装置は、データを符号化し、データをメモリに記憶してよく、かつ／あるいは、ビデオ復号化装置は、メモリからデータを読み出し、データを復号してよい。多くの例では、単にデータを符号化し、データをメモリに格納し、かつ／あるいは、メモリからデータを読み出し、データを復号するだけであって、互いに通信しない装置が、符号化及び復号化を実行する。
【００８２】
図１の例では、発信元装置１０は、ビデオソース１２０、ビデオ符号器１００、及び出力インターフェース１４０を含む。いくつかの例で、出力インターフェース１４０は、変調器／復調器（モデム）及び／又は送信器を含んでよい。ビデオソース１２０は、ビデオ捕捉装置（例えば、カメラ）、前に捕捉されたビデオデータを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するビデオ・フィードイン・インターフェース、及び／又はビデオデータを生成するコンピュータグラフィクスシステム、あるいは、上記のビデオデータソースの組み合わせを含んでよい。
【００８３】
ビデオ符号器１００は、ビデオソース１２０からのビデオデータを符号化してよい。いくつかの例で、発信元装置１０は、符号化されたビデオデータをあて先装置２０へ出力インターフェース１４０を通じて直接送信する。他の例では、符号化されたビデオデータは、代替的に、記憶装置４０に記憶されてよく、それにより、あて先装置２０は、その後に、復号化及び／又は再生のために、符号化されたビデオデータにアクセスする。
【００８４】
図１の例では、あて先装置２０は、入力インターフェース２４０、ビデオ復号器２００、及びディスプレイ装置２２０を含む。いくつかの例で、入力インターフェース２４０は、受信器及び／又はモデムを含む。入力インターフェース２４０は、リンク３０を通じて及び／又は記憶装置４０から、符号化されたビデオデータを受け取ってよい。ディスプレイ装置２２０は、あて先装置２０と一体化されてよく、あるいは、あて先装置２０の外に配置されてよい。通常は、ディスプレイ装置２２０は、復号されたビデオデータを表示する。ディスプレイ装置２２０は、複数のタイプのディスプレイ装置、例えば、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、又は他のタイプのディスプレイ装置を含んでよい。
【００８５】
図１に図示されていないが、いくつかの態様で、ビデオ符号器１００及びビデオ復号器２００は、夫々、オーディオ符号器及びオーディオ復号器と一体化されてよく、結合されたデータストリーム又は個別のデータストリームにおいてオーディオ及びビデオを符号化するように、適切なマルチプレクサ−デマルチプレクサユニット又は他のハードウェア及びソフトウェアを含んでよい。いくつかの例で、妥当な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル又は、ユーザ・データグラム・プロトコル（ＵＤＰ）などの他のプロトコルに準拠してよい。
【００８６】
ビデオ符号器１００及びビデオ復号器２００は夫々、例えば、次の複数の回路：１つ以上のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、ディスクリート・ロジック、ハードウェア、又はそれらの任意の組み合わせ、のうちのいずれか１つとして実施されてよい。本発明の実施形態が部分的にソフトウェアで実施される場合に、装置は、適切な不揮発性コンピュータ可読記憶媒体内に、そのソフトウェアに使用される命令を記憶してよく、ハードウェアで命令を実行して本発明の実施形態における技術を実施するために１つ以上のプロセッサを使用してよい。上記の内容（ハードウェア、ソフトウェア、ハードウェアとソフトウェアとの組み合わせ、などを含む）のいずれか１つが、１つ以上のプロセッサと見なされてよい。ビデオ符号器１００及びビデオ復号器２００は夫々、１つ以上の符号器又は復号器に含まれてよく、符号器又は復号器は、対応する装置において複合型符号器／復号器（コーデック）の一部分として組み込まれてよい。
【００８７】
本発明の実施形態で、ビデオ符号器１００は、一般に、何らかの情報をビデオ復号器２００などの他の装置へ「送信」又は「伝送」する装置であってよい。「送信」又は「伝送」との用語は、一般に、圧縮されたビデオデータを復号するために使用されるシンタックス要素及び／又は他のデータの転送を指し得る。転送は、実時間で又はほぼ実時間で起こり得る。あるいは、通信は、ある期間の後に起こり得る。例えば、通信は、符号化されたビットストリーム内のシンタックス要素が符号化中にコンピュータ可読記憶媒体に記憶されるときに起こってよく、復号化装置は、次いで、シンタックス要素が媒体に記憶された後にいつでもシンタックス要素を取り出してよい。
【００８８】
ビデオ符号器１００及びビデオ復号器２００は、高効率ビデオコーディング（ＨＥＶＣ）又はその拡張などのビデオ圧縮標準規格に従って動作してよく、ＨＥＶＣテストモデル（ＨＭ）に従ってよい。あるいは、ビデオ符号器１００及びビデオ復号器２００は、他の産業標準規格、例えば、ＩＴＵ−Ｔ  Ｈ．２６４標準規格、Ｈ．２６５標準規格、又はそのような標準規格の拡張に従って動作してよい。しかし、本発明の実施形態における技術は、如何なる特定のコーディング標準規格にも限定されない。
【００８９】
一例で、ビデオ符号器１００は、現在の符号化されるべき画像ブロックに関するシンタックス要素をデジタルビデオ出力ビットストリーム（略してビットストリーム又はビットストリームと呼ばれる）に符号化するよう構成される。ここで、現在の画像ブロックのインター予測に使用されるシンタックス要素は、略してインター予測データと呼ばれ、インター予測データは、例えば、インター予測モードの指示情報を含む。本発明の実施形態におけるインター予測モードは、アフィン変換モデルに基づくＡＭＶＰモード及びアフィン変換モデルに基づくマージモードの少なくとも１つを含む。インター予測データがアフィン変換モデルに基づくＡＭＶＰモードの指示情報を含む場合に、インター予測データは、ＡＭＶＰモードに対応する候補動きベクトルリストのインデックス値（又はインデックス番号と呼ばれる）と、現在のブロックの制御点の動きベクトル差（ＭＶＤ）とを更に含んでよい。インター予測データがアフィン変換モデルに基づくマージモードの指示情報を含む場合に、インター予測データは、マージモードに対応する候補動きベクトルリストのインデックス値（又はインデックス番号と呼ばれる）を更に含んでよい。その上、任意の実施形態で、上記の例におけるインター予測データは、現在のブロックのアフィン変換モデル（モデルパラメータの数）の指示情報を更に含んでよい。
【００９０】
本発明の実施形態で提供される新しいインター予測モードに基づいて予測された動き情報に基づいて生成された予測ブロックと、現在の符号化されるべき画像ブロック（すなわち、原ブロック）との間の差（すなわち、残差）が０である場合に、ビデオ符号器１００は、現在の符号化されるべき画像ブロックに関するシンタックス要素をビットストリーム（ビットストリームとも呼ばれる）に符号化しさえすればよい、ことが理解されるべきである。そうでなければ、シンタックス要素に加えて、対応する残差が更にビットストリームに符号化される必要がある。
【００９１】
具体的な実施形態において、ビデオ符号器１００は、本発明で説明される動きベクトル予測方法の符号器側での適用を実施するように、図１３に記載される以下の実施形態を実行するよう構成されてよい。
【００９２】
一例で、ビデオ復号器２００は、現在の復号されるべき画像ブロックに関するシンタックス要素を取得するように、ビットストリームを復号するよう構成される（Ｓ４０１）。ここで、現在の画像ブロックのインター予測に使用されるシンタックス要素は、略してインター予測データと呼ばれ、インター予測データは、例えば、インター予測モードの指示情報を含む。本発明の実施形態におけるインター予測モードは、アフィン変換モデルに基づくＡＭＶＰモード及びアフィン変換モデルに基づくマージモードの少なくとも１つを含む。インター予測データがアフィン変換モデルに基づくＡＭＶＰモードの指示情報を含む場合に、インター予測データは、ＡＭＶＰモードに対応する候補動きベクトルリストのインデックス値（又はインデックス番号と呼ばれる）と、現在のブロックの制御点の動きベクトル差（ＭＶＤ）とを更に含んでよい。インター予測データがアフィン変換モデルに基づくマージモードの指示情報を含む場合に、インター予測データは、マージモードに対応する候補動きベクトルリストのインデックス値（又はインデックス番号と呼ばれる）を更に含んでよい。その上、任意の実施形態で、上記の例におけるインター予測データは、現在のブロックのアフィン変換モデル（モデルパラメータの数）の指示情報を更に含んでよい。
【００９３】
具体的な実施形態において、ビデオ復号器２００は、本発明で説明される動きベクトル予測方法の復号器側での適用を実施するように、図９又は図１２に記載される以下の実施形態を実行するよう構成されてよい。
【００９４】
図２Ａは、本発明の実施形態に従う、例となるビデオ符号器１００のブロック図である。ビデオ符号器１００は、ビデオを後処理エンティティ４１へ出力するよう構成される。後処理エンティティ４１は、ビデオ符号器１００からの符号化されたビデオデータを処理することが可能なビデオエンティティの例を表す。例えば、ビデオエンティティは、メディア・アウェア・ネットワーク・エレメント（ＭＡＮＥ）又はスプライシング装置／編集装置である。いくつかの場合に、後処理エンティティ４１は、ネットワークエンティティの例であってよい。いくつかのビデオ符号化システムで、後処理エンティティ４１及びビデオ符号器１００は、別個の装置のコンポーネントであってよい。他の場合では、後処理エンティティ４１に関して説明されている機能は、ビデオ符号器１００を含む同じ装置によって実行されてよい。一例で、後処理エンティティ４１は、図１の記憶装置４０の例である。
【００９５】
図２Ａの例では、ビデオ符号器１００は、予測処理ユニット１０８、フィルタユニット１０６、復号化画像バッファ（ＤＰＢ）１０７、加算器１１２、変換器１０１、量子化器１０２、及びエントロピ符号器１０３を含む。予測処理ユニット１０８は、インター予測器１１０及びイントラ予測器１０９を含む。画像ブロック再構成のために、ビデオ符号器１００は、逆量子化器１０４、逆変換器１０５、及び加算器１１１を更に含む。フィルタユニット１０６は、１つ以上のループフィルタ、例えば、デブロッキングフィルタ、適応ループフィルタ（ＡＬＦ）、及びサンプル適応オフセット（ＳＡＯ）フィルタを表すよう意図される。フィルタユニット１０６は図２Ａでインループフィルタとして示されているが、他の実施では、フィルタユニット１０６は、ポストループフィルタとして実施されてよい。一例で、ビデオ符号器１００は、ビデオデータメモリ及びパーティショニングユニット（図示せず）を更に含んでもよい。
【００９６】
ビデオデータメモリは、ビデオ符号器１００のコンポーネントによって符号化されたビデオデータを記憶してよい。ビデオデータメモリに記憶されているビデオデータは、ビデオソース１２０から取得されてよい。ＤＰＢ１０７は、イントラ又はインターコーディングモードでビデオデータを符号化するためにビデオ符号器１００によって使用される参照ビデオデータを記憶する参照画像メモリであってよい。ビデオデータメモリ及びＤＰＢ１０７は夫々、複数のメモリ装置、例えば、同期ＤＲＡＭ（ＳＤＲＡＭ）、磁気抵抗性ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ）、又は他のタイプのメモリ装置を含む動的ランダム・アクセス・メモリ（ＤＲＡＭ）、のうちのいずれか１つによって構成されてよい。ビデオデータメモリ及びＤＰＢ１０７は、同じメモリ装置又は別個のメモリ装置によって提供されてよい。様々な例で、ビデオデータメモリは、ビデオ符号器１００の他のコンポーネントとともにチップ上に組み込まれてよく、あるいは、それらのコンポーネントに対してチップの外に配置されてよい。
【００９７】
図２Ａに示されるように、ビデオ符号器１００は、ビデオデータを受け取り、ビデオデータをビデオデータメモリに格納する。パーティショニングユニットは、ビデオデータをいくつかの画像ブロックに分割し、これらの画像ブロックは、より小さいブロックに更に分割、例えば、四分木構造又は二分木構造に基づいて分割されてよい。分割は、スライス（slice）、タイル（tile）、又は他のより大きいユニットへの分割を更に含んでよい。ビデオ符号器１００は、通常は、符号化されるべきビデオスライス内の画像ブロックを符号化するコンポーネントである。スライスは、複数の画像ブロックに分割されてよい（そして、タイルと呼ばれる画像ブロックセットに分割されてよい）。
【００９８】
予測処理ユニット１０８内のイントラ予測器１０９は、空間冗長性を取り除くように、現在の画像ブロックと同じフレーム又はスライスにある１つ以上の隣接ブロックに対して、符号化されるべき現在の画像ブロックに対するイントラ予測符号化を実行してよい。予測処理ユニット１０８内のインター予測器１１０は、時間冗長性を取り除くように、１つ以上の参照画像内の１つ以上の予測ブロックに対して、現在の画像ブロックに対するインター予測符号化を実行してよい。
【００９９】
具体的に、インター予測器１１０は、現在の画像ブロックを符号化するために使用されるインター予測モードを決定するよう構成されてよい。例えば、インター予測器１１０は、レート歪み解析を通じて、候補インター予測モードセット内の様々なインター予測モードのレート歪み値を計算し、インター予測モードから最適なレート歪み特性を有しているインター予測モードを選択してよい。レート歪み解析は、通常は、符号化されたブロックと、その符号化されたブロックを生成するよう符号化されるべきである元の符号化されていないブロックとの間の歪み（又は誤り）の量と、符号化されたブロックを生成するために使用されたビットレート（すなわち、ビットの量）とを決定することである。例えば、インター予測器１１０は、候補インター予測モードセットの中で、最小のレート歪みコストを有しておりかつ現在のブロックを符号化するために使用されるインター予測モードを、現在の画像ブロックに対するインター予測を実行するために使用されるインター予測モードとして決定してよい。下記は、インター予測符号化プロセス、特に、本発明の実施形態において無指向性又は指向性動き場に使用される様々なインター予測モードで現在の画像ブロック内の１つ以上のサブブロック（具体的に、夫々のサブブロック又は全てのサブブロックであってよい）の動き情報を予測するプロセス、について詳細に記載する。
【０１００】
インター予測器１１０は、決定されたインター予測モードに基づいて現在の画像ブロック内の１つ以上のサブブロックの動き情報（例えば、動きベクトル）を予測し、現在の画像ブロック内の１つ以上のサブブロックの動き情報（例えば、動きベクトル）を使用することによって現在の画像ブロックの予測ブロックを取得又は生成するよう構成される。インター予測器１１０は、参照画像リスト内の１つの参照画像において、動きベクトルが指し示す予測ブロックを見つける。インター予測器１１０は、画像ブロック及びビデオスライスに関連付けられたシンタックス要素を更に生成してよく、それにより、ビデオ復号器２００は、ビデオスライスの画像ブロックを復号するためにシンタックス要素を使用する。代替的に、一例で、インター予測器１１０は、サブブロックの予測ブロックを生成するために、各サブブロックの動き情報を使用することによって動き補償プロセスを実行し、それによって、現在の画像ブロックの予測ブロックを取得する。ここでのインター予測器１１０は、動き推定プロセス及び動き補償プロセスを実行する、ことが理解されるべきである。
【０１０１】
具体的に、現在の画像ブロックのためのインター予測モードを選択した後、インター予測器１１０は、現在の画像ブロックの選択されたインター予測モードを示す情報をエントロピ符号器１０３へ供給してよく、それにより、エントロピ符号器１０３は、選択されたインター予測モードを示す情報を符号化する。本発明のこの実施形態において、ビデオ符号器１００は、現在の画像ブロックに関連したインター予測データを、ビデオ符号器１００によって送信されるビットストリームに加えてよい。インター予測データは、例えば、インター予測モードの指示情報を含む。本発明の実施形態におけるインター予測モードは、アフィン変換モデルに基づくＡＭＶＰモード及びアフィン変換モデルに基づくマージモードの少なくとも１つを含む。インター予測データがアフィン変換モデルに基づくＡＭＶＰモードの指示情報を含む場合に、インター予測データは、ＡＭＶＰモードに対応する候補動きベクトルリストのインデックス値（又はインデックス番号と呼ばれる）と、現在のブロックの制御点の動きベクトル差（ＭＶＤ）とを更に含んでよい。インター予測データがアフィン変換モデルに基づくマージモードの指示情報を含む場合に、インター予測データは、マージモードに対応する候補動きベクトルリストのインデックス値（又はインデックス番号と呼ばれる）を更に含んでよい。その上、任意の実施形態で、上記の例におけるインター予測データは、現在のブロックのアフィン変換モデル（モデルパラメータの数）の指示情報を更に含んでよい。
【０１０２】
具体的な実施形態において、インター予測器１１０は、本発明で説明される動きベクトル予測方法の符号器側での適用を実施するように、図１３に記載される以下の実施形態における関連するステップを実行するよう構成されてよい。
【０１０３】
イントラ予測器１０９は、現在の画像ブロックに対するイントラ予測を実行してよい。具体的に、イントラ予測器１０９は、現在のブロックを符号化するために使用されるイントラ予測モードを決定してよい。例えば、イントラ予測器１０９は、レート歪み解析を通じて、様々な試験されるべきイントラ予測モードのレート歪み値を計算し、試験されるべきモードから最適なレート歪み特性を有しているイントラ予測モードを選択してよい。如何なる場合でも、画像ブロックのためのイントラ予測モードを選択した後、イントラ予測器１０９は、現在の画像ブロックの選択されたイントラ予測モードを示す情報をエントロピ符号器１０３へ供給してよく、それにより、エントロピ符号器１０３は、選択されたイントラ予測モードを示す情報を符号化する。
【０１０４】
予測処理ユニット１０８がインター予測及びイントラ予測を通じて現在の画像ブロックの予測ブロックを生成した後、ビデオ符号器１００は、残差画像ブロックを生成するよう、符号化されるべき現在の画像ブロックから予測ブロックを減じる。加算器１１２は、減算演算を実行する１つ以上のコンポーネントを表す。残差ブロックにおける残差ビデオデータは、１つ以上のＴＵに含まれ、変換器１０１に適用されてよい。変換器１０１は、離散コサイン変換（ＤＣＴ）又は概念的に類似した変換などの変換を通じて、残差ビデオデータを残差変換係数に変換する。変換器１０１は、残差ビデオデータをピクセル値領域から変換領域、例えば、周波数領域へ変換してよい。
【０１０５】
変換器１０１は、取得された変換係数を量子化器１０２へ送ってよい。量子化器１０２は、ビットレートを更に低減するよう変換係数を量子化する。いくつかの例で、量子化器１０２は更に、量子化された変換係数を含むマトリクスをスキャンしてもよい。代替的に、エントロピ符号器１０３がスキャンを実行してもよい。
【０１０６】
量子化後に、エントロピ符号器１０３は、量子化された変換係数に対してエントロピ符号化を実行する。例えば、エントロピ符号器１０３は、コンテキスト適応可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応２進算術演算コーディング（ＣＡＢＡＣ）、シンタックスに基づくコンテキスト適応２進算術演算コーディング（ＳＢＡＣ）、確率区間パーティショニングエントロピ（ＰＩＰＥ）コーディング、又は他のエントロピコーディング方法若しくは技術を実行してよい。エントロピ符号器１０３がエントロピ符号化を実行した後、符号化されたビットストリームはビデオ復号器２００へ送信されるか、あるいは、その後の伝送のために又はビデオ復号器２００によって取り出されるようにアーカイブ保管されてよい。エントロピ符号器１０３は、符号化されるべき現在の画像ブロックのシンタックス要素に対してエントロピ符号化を更に実行してよい。
【０１０７】
逆量子化器１０４及び逆変換器１０５は、ピクセル領域で残差ブロックを再構成するよう、例えば、参照画像の参照ブロックとしてその後に使用されるよう、逆量子化及び逆変換を夫々適用する。加算器１１１は、再構成された画像ブロックを生成するよう、再構成された残差ブロックを、インター予測器１１０又はイントラ予測器１０９によって生成された予測ブロックに加える。フィルタユニット１０６は、ブロッキングアーチファクト（block  artifacts）などの歪みを低減するよう、再構成された画像ブロックに適用可能であり得る。次いで、再構成された画像ブロックは、復号化画像バッファ１０７に参照ブロックとして記憶され、インター予測器１１０によって、後続のビデオフレーム又は画像内のブロックに対するインター予測を実行するよう参照ブロックとして使用されてよい。
【０１０８】
ビデオ符号器１００の他の構造的変形がビデオストリームを符号化するために使用され得る、ことが理解されるべきである。例えば、いくつかの画像ブロック又は画像フレームについて、ビデオ符号器１００は、残差信号を直接に量子化してよく、相応して、変換器１０１及び逆変換器１０５による処理は不要である。代替的に、いくつかの画像ブロック又は画像フレームについて、ビデオ符号器１００は、残差データを生成せず、相応して、変換器１０１、量子化器１０２、逆量子化器１０４、及び逆変換器１０５による処理は不要である。代替的に、ビデオ符号器１００は、フィルタユニット１０６による処理なしで、再構成された画像ブロックを参照ブロックとして直接に記憶してよい。代替的に、ビデオ符号器１００内の量子化器１０２及び逆量子化器１０４は結合されてよい。
【０１０９】
具体的に、本発明のこの実施形態において、ビデオ符号器１００は、以下の実施形態で説明される動きベクトル予測方法を実行するよう構成される。
【０１１０】
図２Ｂは、本発明の実施形態に従う、例となるビデオ復号器２００のブロック図である。図２Ｂの例では、ビデオ復号器２００は、エントロピ復号器２０３、予測処理ユニット２０８、逆量子化器２０４、逆変換器２０５、加算器２１１、フィルタユニット２０６、及び復号化画像バッファ２０７を含む。予測処理ユニット２０８は、インター予測器２１０及びイントラ予測器２０９を含んでよい。いくつかの例で、ビデオ復号器２００は、図２Ａでビデオ符号器１００に関して説明されている符号化プロセスとは実質的に逆である復号化プロセスを実行してよい。
【０１１１】
復号化中、ビデオ復号器２００は、ビデオ符号器１００から、符号化されたビデオスライスの画像ブロック及び関連するシンタックス要素を表す符号化されたビデオビットストリームを受け取る。ビデオ復号器２００は、ネットワークエンティティ４２からビデオデータを受け取ってよく、任意に、更に、ビデオデータをビデオデータメモリ（図示せず）に格納してよい。ビデオデータメモリは、ビデオ復号器２００のコンポーネントによって復号されるべきであるビデオデータ、例えば、符号化されたビデオビットストリームを記憶してよい。ビデオデータメモリに記憶されているビデオデータは、例えば、記憶装置４０又はカメラなどのローカルビデオソースからビデオデータの有線又は無線ネットワーク通信を通じて、あるいは、物理データ記憶媒体にアクセスすることによって、取得されてよい。ビデオデータメモリは、符号化されたビデオビットストリームからの符号化されたビデオデータを記憶するよう構成された復号化画像バッファ（ＣＰＢ）として使用されてよい。従って、ビデオデータメモリは図２Ｂに示されていないが、ビデオデータメモリ及びＤＰＢ２０７は、同じメモリであってよく、あるいは、別々に配置されたメモリであってよい。ビデオデータメモリ及びＤＰＢ２０７は夫々、複数のメモリ装置、例えば、同期ＤＲＡＭ（ＳＤＲＡＭ）、磁気抵抗性ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ）、又は他のタイプのメモリ装置を含む動的ランダム・アクセス・メモリ（ＤＲＡＭ）、のうちのいずれか１つによって構成されてよい。ビデオデータメモリ及びＤＰＢ１０７は、同じメモリ装置又は別個のメモリ装置によって提供されてよい。様々な例で、ビデオデータメモリは、ビデオ復号器２００の他のコンポーネントとともにチップ上に組み込まれてよく、あるいは、それらのコンポーネントに対してチップの外に配置されてよい。
【０１１２】
ネットワークエンティティ４２は、例えば、サーバ、ＭＡＮＥ、ビデオエディタ／スプライサ、又は上記の技術の１つ以上を実施するよう構成された他の同様の装置であってよい。ネットワークエンティティ４２は、ビデオ符号器、例えば、ビデオ符号器１００を含んでも含まなくてもよい。ネットワークエンティティ４２が符号化されたビデオビットストリームをビデオ復号器２００へ送る前に、ネットワークエンティティ４２は、本発明の実施形態で説明される技術の一部を実施してよい。いくつかのビデオ復号化システムで、ネットワークエンティティ４２及びビデオ復号器２００は、別個の装置のコンポーネントであってよい。他の場合では、ネットワークエンティティ４２に関して説明されている機能は、ビデオ復号器２００を含む同じ装置によって実行されてよい。いくつかの場合に、ネットワークエンティティ４２は、図１の記憶装置４０の例であってよい。
【０１１３】
ビデオ復号器２００のエントロピ復号器２０３は、量子化された係数及びいくつかのシンタックス要素を生成するようビットストリームに対するエントロピ復号化を実行する。エントロピ復号器２０３は、シンタックス要素を予測処理ユニット２０８へ転送する。ビデオ復号器２００は、ビデオスライスレベル及び／又は画像ブロックレベルで複数のシンタックス要素／１つのシンタックス要素を受け取ってよい。
【０１１４】
ビデオスライスがイントラ復号された（Ｉ）スライスに復号される場合に、予測処理ユニット２０８のイントラ予測器２０９は、信号で伝えられたイントラ予測モードと、現在のフレーム又は画像の前に復号されたブロックのデータとに基づいて、現在のビデオスライスの画像ブロックの予測ブロックを生成してよい。ビデオスライスがインター復号された（すなわち、Ｂ又はＰ）スライスに復号される場合に、予測処理ユニット２０８のインター予測器２１０は、エントロピ復号器２０３から受け取られたシンタックス要素に基づいて、現在のビデオスライスの現在の画像ブロックを復号するために使用されるインター予測モードを決定し、決定されたインター予測モードに基づいて現在の画像ブロックを復号（例えば、それに対してインター予測を実行）してよい。具体的に、インター予測器２１０は、現在のビデオスライスの現在の画像ブロックを予測するために新しいインター予測モードを使用すべきかどうかを決定してよい。シンタックス要素が、現在の画像ブロックを予測するために新しいインター予測モードを使用することを示す場合に、インター予測器２１０は、動き補償プロセスを使用することによって現在の画像ブロックの予測された動き情報又は現在の画像ブロックのサブブロックの予測された動き情報に基づいて現在の画像ブロック又は現在の画像ブロックのサブブロックのための予測ブロックを取得又は生成するように、新しいインター予測モード（例えば、シンタックス要素によって示されている新しいインター予測モード又はデフォルトの新しいインター予測モード）に基づいて現在のビデオスライスの現在の画像ブロックの動き情報又は現在の画像ブロックのサブブロックの動き情報を予測する。ここでの動き情報は、参照画像情報及び動きベクトルを含んでよい。参照画像情報は、単方向／双方向予測情報、参照画像リスト番号、及び参照画像リストに対応する参照画像インデックスを含んでよいが、これらに限定されない。インター予測のために、予測ブロックは、参照画像リストの１つの中の参照画像の１つから生成されてよい。ビデオ復号器２００は、ＤＰＢ２０７に記憶されている参照画像に基づいて、参照画像リスト、すなわち、リスト０及びリスト１を構成してよい。現在の画像の参照フレームインデックスは、参照フレームリスト０及び参照フレームリスト１の１つ以上に含まれてよい。ここでのインター予測器２１０は、動き補償プロセスを実行する、ことが理解されるべきである。下記は、様々な新しいインター予測モードにおいて、参照ブロックの動き情報を使用することによって現在の画像ブロックの動き情報又は現在の画像ブロックのサブブロックの動き情報を予測するインター予測プロセスについて詳細に記載する。
【０１１５】
一例で、インター予測器２１０は、現在の復号されるべき画像ブロックに関連しかつビットストリームを復号すること（Ｓ４０１）によって取得されるシンタックス要素に基づいて、現在の復号されるべき画像ブロックを予測してよい。ここで、現在の画像ブロックのインター予測に使用されるシンタックス要素は、略してインター予測データと呼ばれ、インター予測データは、例えば、インター予測モードの指示情報を含む。本発明の実施形態におけるインター予測モードは、アフィン変換モデルに基づくＡＭＶＰモード及びアフィン変換モデルに基づくマージモードの少なくとも１つを含む。インター予測データがアフィン変換モデルに基づくＡＭＶＰモードの指示情報を含む場合に、インター予測データは、ＡＭＶＰモードに対応する候補動きベクトルリストのインデックス値（又はインデックス番号と呼ばれる）と、現在のブロックの制御点の動きベクトル差（ＭＶＤ）とを更に含んでよい。インター予測データがアフィン変換モデルに基づくマージモードの指示情報を含む場合に、インター予測データは、マージモードに対応する候補動きベクトルリストのインデックス値（又はインデックス番号と呼ばれる）を更に含んでよい。その上、任意の実施形態で、上記の例におけるインター予測データは、現在のブロックのアフィン変換モデル（モデルパラメータの数）の指示情報を更に含んでよい。
【０１１６】
具体的な実施形態において、インター予測器２１０は、本発明で説明される動きベクトル予測方法の復号器側での適用を実施するように、図９又は図１２に記載される以下の実施形態における関連するステップを実行するよう構成されてよい。
【０１１７】
逆量子化器２０４は、ビットストリームで供給され、そしてエントロピ復号器２０３によって復号された量子化された変換係数に対して逆量子化を実行する、すなわち、量子化解除する。逆量子化プロセスは、ビデオスライス内の各画像ブロックについてビデオ符号器１００によって計算された量子化パラメータを使用することによって、適用されるべき量子化度合いを決定し、同様に、適用されるべき逆量子化度合いを決定することを含んでよい。逆変換器２０５は、ピクセル領域の残差ブロックを生成するよう、逆変換、例えば、逆ＤＣＴ、逆整数変換、又は概念上類似した逆変換プロセスを変換係数に適用する。
【０１１８】
インター予測器２１０が現在の画像ブロック又は現在の画像ブロックのサブブロックに使用される予測ブロックを生成した後、ビデオ復号器２００は、再構成されたブロック、すなわち、復号された画像ブロックを取得するよう、逆変換器２０５からの残差ブロック及びインター予測器２１０によって生成された対応する予測ブロックを加算する。加算器２１１は、加算演算を実行するコンポーネントを表す。必要な場合に、ループフィルタ（復号化ループ内又はその後）が更に、ピクセルを平滑化するために使用されてよく、あるいは、ビデオ品質は、他の方法で改善されてよい。フィルタユニット２０６は、１つ以上のループフィルタ、例えば、デブロッキングフィルタ、適応ループフィルタ（ＡＬＦ）、及びサンプル適応オフセット（ＳＡＯ）フィルタを表してよい。フィルタユニット２０６は図２Ｂでインループフィルタとして示されているが、他の実施では、フィルタユニット２０６は、ポストループフィルタとして実施されてよい。一例で、フィルタユニット２０６は、ブロック歪みを低減するよう、再構成されたブロックに適用可能であり、結果は、復号されたビデオストリームとして出力される。その上、所与のフレーム又は画像内の復号された画像ブロックは更に、復号化画像バッファ２０７に格納されてよく、復号化画像バッファ２０７は、その後の動き補償に使用される参照画像を記憶する。復号化画像バッファ２０７は、メモリの一部であってよく、ディスプレイ装置（例えば、図１のディスプレイ装置２２０）でのその後の提示のために、復号されたビデオを更に記憶してよい。代替的に、復号化画像バッファ２０７は、そのようなメモリから分離していてよい。
【０１１９】
ビデオ復号器２００の他の構造的変形が、符号化されたビデオストリームを復号するために使用され得る、ことが理解されるべきである。例えば、ビデオ復号器２００は、フィルタユニット２０６による処理なしで、出力ビデオストリームを生成してよい。代替的に、いくつかの画像ブロック又は画像フレームについて、ビデオ復号器２００のエントロピ復号器２０３は、復号化を通じて、量子化された係数を取得せず、相応して、逆量子化器２０４及び逆変換器２０５による処理は不要である。
【０１２０】
具体的に、本発明のこの実施形態において、ビデオ復号器２００は、以下の実施形態で説明される動きベクトル予測方法を実行するよう構成される。
【０１２１】
図３は、本発明の実施形態に従うビデオコーディングデバイス４００（例えば、ビデオ符号化デバイス４００又はビデオ復号化デバイス４００）の略構造図である。ビデオコーディングデバイス４００は、本明細書で説明される実施形態に適用可能である。実施形態において、ビデオコーディングデバイス４００は、ビデオ復号器（例えば、図１のビデオ復号器２００）又はビデオ符号器（例えば、図１のビデオ符号器１００）であってよい。他の実施形態では、ビデオコーディングデバイス４００は、図１のビデオ復号器２００又は図１のビデオ符号器１００における１つ以上のコンポーネントであってよい。
【０１２２】
ビデオコーディングデバイス４００は、データを受信するよう構成されている入口ポート４１０及び受信器ユニット（Ｒｘ）４２０と、データを処理するよう構成されているプロセッサ、ロジックユニット、又は中央演算処理装置（ＣＰＵ）４３０と、データを送信するよう構成されている送信器ユニット（Ｔｘ）４４０及び出口ポート４５０と、データを記憶するよう構成されているメモリ４６０とを含む。ビデオコーディングデバイス４００は、光又は電気信号の出口又は入口のために、入口ポート４１０、受信器ユニット４２０、送信器ユニット４４０、及び出口ポート４５０へ結合されている光電気及び電気光（ＥＯ）変換コンポーネントを更に含んでよい。
【０１２３】
プロセッサ４３０は、ハードウェア及びソフトウェアによって実施される。プロセッサ４３０は、１つ以上のＣＰＵチップ、コア（例えば、マルチコアプロセッサ）、ＦＰＧＡ、ＡＳＩＣ、又はＤＳＰとして実施されてよい。プロセッサ４３０は、入口ポート４１０、受信器ユニット４２０、送信器ユニット４４０、出口ポート４５０、及びメモリ４６０と通信する。プロセッサ４３０は、コーディングモジュール４７０（例えば、符号化モジュール４７０又は復号化モジュール４７０）を含む。符号化／復号化モジュール４７０は、本発明の実施形態で提供されるクロミナンスブロック予測方法を実施するよう、本明細書で開示されている実施形態を実施する。例えば、符号化／復号化モジュール４７０は、様々なコーディング動作を実行、処理、又は提供する。従って、符号化／復号化モジュール４７０は、ビデオコーディングデバイス４００の機能を実質的に改善し、異なる状態へのビデオコーディングデバイス４００の変換に作用する。代替的に、符号化／復号化モジュール４７０は、メモリ４６０に記憶されている命令として実施され、プロセッサ４３０によって実行される。
【０１２４】
メモリ４６０は、１つ以上のディスク、テープドライブ、及びソリッドステートドライブを含み、プログラムが選択的に実行される場合にそのようなプログラムを記憶するために、かつ、プログラム実行中に読み出される命令及びデータを記憶するために、オーバーフローデータ記憶デバイスとして使用されてよい。メモリ４６０は、揮発性及び／又は不揮発性であってよく、リード・オンリー・メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、三値連想メモリ（ternary  content-addressable  memory，ＴＣＡＭ）、及び／又は静的ランダム・アクセス・メモリ（ＳＲＡＭ）であってよい。
【０１２５】
本願のビデオ符号器１００及びビデオ復号器２００で、プロシージャの処理結果は、更に処理された後に次のプロシージャへ出力されてよい、ことが理解されるべきである。例えば、補間フィルタリング、動きベクトル導出、又はループフィルタリングなどのプロシージャの後で、クリッピング又はシフトなどの動作が、対応するプロシージャの処理結果に対して更に実行される。
【０１２６】
例えば、隣接するアフィンコーディングブロックの動きベクトルに基づいて導出される、現在の画像ブロックの制御点の動きベクトルは、更に処理されてよい。これは、本願において限定されない。例えば、動きベクトルの値範囲は、動きベクトルが特定のビットデプス内にあるように、制限される。動きベクトルの許容されるビットデプスがｂｉｔＤｅｐｔｈであるすると、動きベクトル範囲は、−２＾（ｂｉｔＤｅｐｔｈ−１）から２＾（ｂｉｔＤｅｐｔｈ−１）までであり、ここで、符号「＾」は累乗を表す。ｂｉｔＤｅｐｔｈが１６である場合に、値範囲は−３２７６８から３２７６７まである。ｂｉｔＤｅｐｔｈが１８である場合に、値範囲は−１３１０７２から１３１０７１までである。動きベクトルの値範囲は、次の２つの方法のどちらか一方で制限されてよい。
【０１２７】
方法１：動きベクトルのオーバーフローする高次ビットは、除かれる：
ｕｘ＝（ｖｘ＋２ｂｉｔＤｅｐｔｈ）％２ｂｉｔＤｅｐｔｈ
ｖｘ＝（ｕｘ＞＝２ｂｉｔＤｅｐｔｈ−１）？（ｕｘ−２ｂｉｔＤｅｐｔｈ）：ｕｘ
ｕｙ＝（ｖｙ＋２ｂｉｔＤｅｐｔｈ）％２ｂｉｔＤｅｐｔｈ
ｖｙ＝（ｕｙ＞＝２ｂｉｔＤｅｐｔｈ−１）？（ｕｙ−２ｂｉｔＤｅｐｔｈ）：ｕｙ
【０１２８】
例えば、ｖｘの値は−３２７６９であり、３２７６７が上記の式に従って取得される。値は、２の補数形式でコンピュータに記憶され、−３２７６９の２の補数は、１，０１１１，１１１１，１１１１，１１１１（１７ビット）であり、オーバーフローのためにコンピュータによって実行される処理は、高次ビットを捨てることである。従って、ｖｘの値は、０１１１，１１１１，１１１１，１１１１、すなわち、３２７６７であり、式に従って取得された結果と一致する。
【０１２９】
方法２：クリッピングが、次の式に示されるように、動きベクトルに対して実行される：
ｖｘ＝Ｃｌｉｐ３（−２ｂｉｔＤｅｐｔｈ−１，２ｂｉｔＤｅｐｔｈ−１−１，ｖｘ）
ｖｙ＝Ｃｌｉｐ３（−２ｂｉｔＤｅｐｔｈ−１，２ｂｉｔＤｅｐｔｈ−１−１，ｖｙ）
【０１３０】
上記の式で、Ｃｌｉｐ３は、ｚの値を範囲［ｘ，ｙ］にクリップすることとして定義される。
【数９】
2021529483.tif 000011
【０１３１】
図４は、本発明の実施形態に従う符号化デバイス又は復号化デバイス（略してコーディングデバイス１２００）の実施の略ブロック図である。コーディングデバイス１２００は、プロセッサ１２１０、メモリ１２３０、及びバスシステム１２５０を含んでよい。プロセッサ及びメモリは、バスシステムを使用することによって互いへ接続されている。メモリは、命令を記憶するよう構成される。プロセッサは、メモリに記憶されている命令を実行するよう構成される。符号化デバイスのメモリは、プログラムコードを記憶している。プロセッサは、メモリに記憶されているプログラムコードを呼び出して、本発明の実施形態で説明される様々なビデオ符号化又は復号化方法、特に、様々な新しいインター予測モード及び新しいインター予測モードにおける動き情報予測方法でのビデオ符号化又は復号化方法を実行してよい。繰り返しを避けるために、詳細はここで再び記載されない。
【０１３２】
本発明のこの実施形態において、プロセッサ１２１０は、中央演算処理装置（central  processing  unit，略してＣＰＵ）であってよく、あるいは、プロセッサ１２１０は、他の汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）若しくは他のプログラム可能なロジックデバイス、ディスクリートゲート若しくはトランジスタロジックデバイス、ディスクリートハードウェア部品、などであってよい。汎用プロセッサは、マイクロプロセッサであってよく、あるいは、プロセッサは、如何なる従来のプロセッサなどであってもよい。
【０１３３】
メモリ１２３０は、リード・オンリー・メモリ（ＲＯＭ）デバイス又はランダム・アクセス・メモリ（ＲＡＭ）デバイスを含んでよい。如何なる他の適切なタイプの記憶デバイスも、メモリ１２３０として使用されてよい。メモリ１２３０は、バス１２５０を使用することによってプロセッサ１２１０によってアクセスされるコード及びデータ１２３１を含んでよい。メモリ１２３０は、オペレーティングシステム１２３３及びアプリケーションプログラム１２３５を更に含んでよい。アプリケーションプログラム１２３５は、本発明の実施形態で説明されているビデオ符号化又は復号化方法（特に、本発明の実施形態で説明されている動きベクトル予測方法）を実行することをプロセッサ１２１０に可能にする少なくとも１つのプログラムを含む。例えば、アプリケーションプログラム１２３５は、アプリケーション１からＮを含んでよく、更には、本発明の実施形態で説明されているビデオ符号化又は復号化方法を実行するビデオ符号化又は復号化アプリケーション（略してビデオコーディングアプリケーション）を含む。
【０１３４】
データバスに加えて、バスシステム１２５０は、電力バス、制御バス、ステータス信号バス、などを更に含んでよい。なお、明りょうな記載のために、図では、様々なタイプのバスが、バスシステム１２５０として標記されている。
【０１３５】
任意に、コーディングデバイス１２００は、１つ以上の出力デバイス、例えば、ディスプレイ１２７０を更に含んでよい。一例で、ディスプレイ１２７０は、動作上タッチ入力を検知するタッチユニットとディスプレイとを組み合わせるタッチディスプレイであってよい。ディスプレイ１２７０は、バス１２５０を使用することによってプロセッサ１２１０へ接続されてよい。
【０１３６】
本発明の実施形態における技術的解決法をより良く理解するために、下記は、本発明の実施形態におけるインター予測モード、非平行移動運動モデル、継承的制御点動きベクトル予測方法、及び構成的制御点動きベクトル予測方法について更に記載する。
【０１３７】
（１）インター予測モード。ＨＥＶＣでは、２つのインター予測モードが使用される。すなわち、アドバンスト動きベクトル予測（advanced  motion  vector  prediction，ＡＭＶＰ）モード及びマージ（merge）モードである。
【０１３８】
ＡＭＶＰモードでは、現在のブロックの空間的又は時間的に隣接する符号化されたブロック（隣接ブロックと表される）が最初にトラバースされる。候補動きベクトルリスト（動き情報候補リストとも呼ばれ得る）が、隣接ブロックの動き情報に基づいて構成される。次いで、最適な動きベクトルが、レート歪みコストに基づいて候補動きベクトルリストの中で決定され、最小のレート歪みコストを有している候補動き情報が、現在のブロックの動きベクトル予測子（motion  vector  predictor，ＭＶＰ）として使用される。隣接ブロックの位置及びトラバース順序は、予め定義されている。レート歪みコストは、式（１）に従って計算され、このとき、Ｊは、レート歪みコストＲＤ  ｃｏｓｔを表し、ＳＡＤは、元のピクセル値と、候補動きベクトル予測子を使用することによって動き推定を通じて取得された予測されたピクセル値との間の差分絶対値和（sum  of  absolute  differences，ＳＡＤ）であり、Ｒは、ビットレートを表し、λは、ラグランジュ乗数を表す。符号器側は、候補動きベクトルリスト内の選択された動きベクトル予測子のインデックス値及び参照フレームインデックス値を復号器側へ転送する。更に、現在のブロックの実際の動きベクトルを取得するよう、ＭＶＰを中心とした近傍において動き探索が実行される。符号器側は、ＭＶＰと実際の動きベクトルとの間の差（動きベクトル差）を復号器側へ転送する。
Ｊ＝ＳＡＤ＋λＲ          （１）
【０１３９】
マージモードでは、候補動きベクトルリストは、現在のブロックの空間的又は時間的に隣接する符号化されたブロックの動き情報に基づいて最初に構成される。次いで、レート歪みコストは、現在のブロックの動き情報として候補動きベクトルリストの中の最適な動き情報を決定するために計算され、そして、候補動きベクトルリストの中の最適な動き情報の位置のインデックス値（以降、マージインデックスと表される）が、復号器側へ転送される。図５は、現在のブロックの空間的及び時間的候補動き情報を示す。空間的候補動き情報は、５つの空間的に隣接するブロック（Ａ０、Ａ１、Ｂ０、Ｂ１、及びＢ２）からである。隣接ブロックが利用不可能である（隣接ブロックが存在しないか、あるいは、隣接ブロックが符号化されていないか、あるいは、隣接ブロックに使用されている予測モードがインター予測モードでない）場合に、隣接ブロックの動き情報は候補動きベクトルリストに加えられない。現在のブロックの時間的候補動き情報は、参照フレーム及び現在のフレームのピクチャ順序カウント（picture  order  count，ＰＯＣ）に基づいて、参照フレーム内の対応する位置にあるブロックのＭＶをスケーリングすることによって、取得される。参照フレーム内の位置Ｔにあるブロックが利用可能であるかどうかが、最初に決定される。ブロックが利用不可能である場合には、位置Ｃにあるブロックが選択される。
【０１４０】
ＡＭＶＰモードと同様に、マージモードでは、隣接ブロックの位置及びトラバース順序はやはり予め定義されている。その上、隣接ブロックの位置及びトラバース順序は、異なるモードで異なってよい。
【０１４１】
候補動きベクトルリストは、ＡＭＶＰモード及びマージモードの両方において保持される必要がある、ことが分かる。新しい動き情報が毎回候補リストに加えられる前に、リスト内に同じ動き情報が既に存在しているかどうかが最初に確認される。同じ動き情報がリストに存在している場合には、その動き情報はリストに加えられない。この確認プロセスは、候補動きベクトルリストのプルーニングと呼ばれる。リストのプルーニングは、冗長なレート歪みコスト計算を回避するように、リスト内で同じ動き情報を回避するためである。
【０１４２】
ＨＥＶＣでのインター予測中に、同じ動き情報が、コーディングブロック内の全てのピクセルに使用され（すなわち、コーディングブロック内の全てのピクセルの動きは一致している）、次いで、コーディングブロックのピクセル予測子を取得するために、動き補償が動き情報に基づいて実行される。コーディングブロックでは、しかしながら、全てのピクセルが同じ動き特性を有しているとは限らない。同じ動き情報を使用することは、不正確な、動き補償された予測、及びより多くの残差情報をもたらす可能性がある。
【０１４３】
すなわち、既存のビデオコーディング標準規格では、平行移動運動モデルに基づくブロックマッチング動き推定が使用されている。しかし、現実世界では、様々な動きが存在する。多くのオブジェクト、例えば、回転しているオブジェクト、異なる方向で回転するローラーコースター、花火、及び映画の中のいくつかのスタントは、平行移動運動していない。これらの動いているオブジェクト、特にＵＧＣシナリオでのそれらが、現在のコーディング標準規格で平行移動運動モデルに基づいてブロック動き補償技術を使用することによって符号化される場合に、コーディング効率は大いに影響を受ける。従って、非平行移動運動モデル、例えば、アフィン運動モデルが、コーディング効率を更に改善するために導入される。
【０１４４】
これに基づいて、異なる運動モデルに関して、ＡＭＶＰモードは、平行移動運動モデルに基づくＡＭＶＰモードと非平行移動運動モデルに基づくＡＭＶＰモードとに分類されてよく、マージモードは、平行移動運動モデルに基づくマージモードと非平行移動運動モデルに基づくマージモードとに分類されてよい。
【０１４５】
（２）非平行移動運動モデル。非平行移動運動モデルに基づく予測では、コーデック側は、現在のブロック内の各動き補償サブユニットの動き情報を導出するために１つの運動モデルを使用し、予測ブロックを取得するよう動き補償サブユニットの動き情報に基づいて動き補償を実行する。これは、予測効率を改善することができる。本発明の実施形態における動き補償サブユニットは、特定の方法に従って分割を通じて取得される、サイズがＮ１×Ｎ２であるサンプル又はピクセルブロックであってよく、このとき、Ｎ１及びＮ２は両方とも正の整数であり、Ｎ１はＮ２に等しくてよく、又はＮ２に等しくなくてもよい。
【０１４６】
しばしば使用される非平行移動運動モデルは、４パラメータアフィン変換モデル及び６パラメータアフィン変換モデルを含み、更には、可能な適用シナリオでは、８パラメータ双線形モデルを含む。これらのモデルは、以下で別々に説明される。
【０１４７】
４パラメータアフィン変換モデルは、次の式（２）に示される：
【数１０】
2021529483.tif 000012
【０１４８】
４パラメータアフィン変換モデルは、２つのサンプルの動きベクトルと、現在のブロックの左上角にあるサンプルに対する２つのサンプルの座標とを使用することによって、表現され得る。運動モデルパラメータを表すために使用されるサンプルは、制御点と呼ばれる。左上角（０，０）にあるサンプル及び右上角（Ｗ，０）にあるサンプルが制御点として使用される場合に、現在のブロックの左上角及び右上角にある制御点の運動ベクトル（ｖｘ０，ｖｙ０）及び（ｖｘ１，ｖｙ１）は、最初に決定される。次いで、現在のブロックの各動き補償サブユニットの動き情報は、次の式（３）に従って取得され、このとき、（ｘ，ｙ）は、現在のブロックの左上角にあるサンプルに対する動き補償サブユニットの座標であり、Ｗは、現在のブロックの幅を表す。
【数１１】
2021529483.tif 000013
【０１４９】
６パラメータアフィン変換モデルは、次の式（４）に示される：
【数１２】
2021529483.tif 000014
【０１５０】
６パラメータアフィン変換モデルは、３つのサンプルの動きベクトルと、現在のブロックの左上角にあるサンプルに対する３つのサンプルの座標とを使用することによって、表現され得る。左上角（０，０）にあるサンプル、右上角（Ｗ，０）にあるサンプル、及び左下角（０，Ｈ）にあるサンプルが制御点として使用される場合に、現在のブロックの左上角、右上角、及び左下角にある制御点の動きベクトルは、最初に決定され、夫々（ｖｘ０，ｖｙ０）、（ｖｘ１，ｖｙ１）、及び（ｖｘ２，ｖｙ２）である。次いで、現在のブロックの各動き補償サブユニットの動き情報は、次の式（５）に従って取得され、このとき、（ｘ，ｙ）は、現在のブロックの左上角にあるサンプルに対する動き補償サブユニットの座標であり、Ｗ及びＨは、夫々、現在のブロックの幅及び高さを表す。
【数１３】
2021529483.tif 000015
【０１５１】
８パラメータ双線形モデルは、次の式（６）に示される：
【数１４】
2021529483.tif 000016
【０１５２】
８パラメータ双線形モデルは、４つのサンプルの動きベクトルと、現在のコーディングブロックの左上角にあるサンプルに対する４つのサンプルの座標とを使用することによって、表現され得る。左上角（０，０）にあるサンプル、右上角（Ｗ，０）にあるサンプル、左下角（０，Ｈ）にあるサンプル、及び右下角（Ｗ，Ｈ）にあるサンプルが制御点として使用される場合に、現在のコーディングブロックの左上角、右上角、左下角、及び右下角にある制御点の動きベクトル（ｖｘ０，ｖｙ０）、（ｖｘ１，ｖｙ１）、（ｖｘ２，ｖｙ２）、及び（ｖｘ３，ｖｙ３）は、最初に決定される。次いで、現在のコーディングブロックの各動き補償サブユニットの動き情報は、次の式（７）に従って導出され、このとき、（ｘ，ｙ）は、現在のコーディングブロックの左上角にあるサンプルに対する動き補償サブユニットの座標であり、Ｗ及びＨは、夫々、現在のコーディングブロックの幅及び高さである。
【数１５】
2021529483.tif 000017
【０１５３】
アフィン変換モデルを使用することによって予測されるコーディングブロックは、アフィンコーディングブロックとも呼ばれ得る。アフィン変換モデルがアフィンコーディングブロックの制御点の動き情報に直接関係があることは、上記の説明から分かる。
【０１５４】
通常、アフィンコーディングブロックの制御点の動き情報は、アフィン変換モデルに基づくＡＭＶＰモード又はアフィン変換モデルに基づくマージモードを使用することによって取得されてよい。アフィン変換モデルに基づくＡＭＶＰモード又はアフィン変換モデルに基づくマージモードで、現在のコーディングブロックの制御点の動き情報は、継承的制御点動きベクトル予測方法又は構成的制御点動きベクトル予測方法に従って取得されてよい。下記は、２つの方法について更に記載する。
【０１５５】
（３）継承的制御点動きベクトル予測方法。継承的制御点動きベクトル予測方法では、現在のブロックの制御点の候補動きベクトルは、現在のブロックの隣接する符号化されたアフィンコーディングブロックのアフィン変換モデルを使用することによって決定される。アフィンコーディングブロックのアフィン変換モデルのパラメータ数（例えば、４つのパラメータ、６つのパラメータ、又は８つのパラメータ）は、現在のブロックのアフィン変換モデルのそれと同じである。
【０１５６】
図６に示される現在のブロックが一例として使用される。現在のブロックの隣接位置ブロックは、現在のブロックの隣接位置ブロックが位置するアフィンコーディングブロックを見つけ、アフィンコーディングブロックの制御点の動き情報を取得するために、特定の順序、例えば、Ａ１→Ｂ１→Ｂ０→Ａ０→Ｂ２でトラバースされる。更に、制御点の動きベクトル（マージモードの場合）又は制御点の動きベクトル予測子（ＡＭＶＰモードの場合）は、アフィンコーディングブロックの制御点の動き情報に基づいて構成されたアフィン変換モデルを使用することによって、現在のブロックについて導出される。順序Ａ１→Ｂ１→Ｂ０→Ａ０→Ｂ２は、単に一例として使用されている。他の組み合わせ順序も、本発明の実施形態に適用可能である。その上、隣接位置ブロックは、Ａ１、Ｂ１、Ｂ０、Ａ０、及びＢ０に限られない。隣接位置ブロックはサンプルであってよく、あるいは、特定の分割方法、例えば、４×４ピクセルブロック、４×２ピクセルブロック、又は他のサイズのピクセルブロックに従って取得される、予めセットされたサイズのピクセルブロックであってよい。これは限定されない。アフィンコーディングブロックは、現在のブロックに隣接しておりかつ符号化フェーズでアフィン変換モデルを使用することによって予測される符号化されたブロック（略して、隣接アフィンコーディングブロックとも呼ばれ得る）である。
【０１５７】
以下は、現在のブロックの制御点の候補動きベクトルを決定するプロセスを説明するために、図６に示されるＡ１を例として使用する。他の場合は、類推によって推定される。
【０１５８】
Ａ１が位置するアフィンコーディングブロックが４パラメータアフィンコーディングブロックである（すなわち、アフィンコーディングブロックが４パラメータアフィン変換モデルを使用することによって予測される）場合に、アフィンコーディングブロックの左上角（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）及びアフィンコーディングブロックの右上角（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）は取得される。
【０１５９】
次いで、現在のブロックの左上角（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）は、次の式（８）に従って計算される：
【数１６】
2021529483.tif 000018
【０１６０】
現在のブロックの右上角（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）は、次の式（９）に従って計算される：
【数１７】
2021529483.tif 000019
【０１６１】
Ａ１が位置するアフィンコーディングブロックに基づいて取得される現在のブロックの左上角（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）及び現在のブロックの右上角（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）の組み合わせは、現在のブロックの制御点の候補動きベクトルである。
【０１６２】
Ａ１が位置するコーディングブロックが６パラメータアフィンコーディングブロックである（すなわち、アフィンコーディングブロックが６パラメータアフィン変換モデルを使用することによって予測される）場合に、アフィンコーディングブロックの左上角（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）、アフィンコーディングブロックの右上角（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）、及びアフィンコーディングブロックの左下角（ｘ６，ｙ６）の動きベクトル（ｖｘ６，ｖｙ６）は取得される。
【０１６３】
次いで、現在のブロックの左上角（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）は、次の式（１０）に従って計算される：
【数１８】
2021529483.tif 000020
【０１６４】
現在のブロックの右上角（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）は、次の式（１１）に従って計算される：
【数１９】
2021529483.tif 000021
【０１６５】
現在のブロックの左下角（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）は、次の式（１２）に従って計算される：
【数２０】
2021529483.tif 000022
【０１６６】
Ａ１が位置するアフィンコーディングブロックに基づいて取得される現在のブロックの左上角（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）、右上角（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）、及び左下角（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）の組み合わせは、現在のブロックの制御点の候補動きベクトルである。
【０１６７】
他の運動モデル、候補位置、並びに探索及びトラバース順序も、本発明の実施形態に適用可能である、ことが留意されるべきである。詳細は、本発明の実施形態で説明されない。
【０１６８】
他の制御点を使用することによって現在及び隣接コーディングブロックの運動モデルを表現する方法も、本発明の実施形態に適用可能であり得る、ことが留意されるべきである。詳細はここで記載されない。
【０１６９】
（４）構成的制御点動きベクトル予測方法。構成的制御点動きベクトル予測方法では、現在のブロックの制御点の隣接する符号化されたブロックの動きベクトルは、現在のアフィンコーディングブロックの制御点の動きベクトルとして結合され、隣接する符号化されたブロックがアフィンコーディングブロックであるかどうかを考慮する必要はない。異なる予測モード（アフィン変換モデルに基づくＡＭＶＰモード及びアフィン変換モデルに基づくマージモード）に基づく構成的制御点動きベクトル予測方法は異なっており、以下で別々に説明される。
【０１７０】
アフィン変換モデルに基づくＡＭＶＰモードに基づく構成的制御点動きベクトル予測方法が、最初に説明される。
【０１７１】
図７は、現在のコーディングブロックの隣接する符号化されたブロックの動き情報を使用することによって現在のブロックの左上角及び右上角の動きベクトルを決定する構成的制御点動きベクトル予測方法を説明するために一例として使用される。
【０１７２】
現在のブロックが４パラメータアフィンコーディングブロックである（すなわち、現在のブロックが４パラメータアフィン変換モデルを使用することによって予測される）場合に、左上角に隣接する符号化されたブロックＡ２、Ｂ２又はＢ３の動きベクトルは、現在のブロックの左上角の動きベクトルの候補動きベクトルとして使用されてよい。右上角に隣接する符号化されたブロックＢ１又はＢ０の動きベクトルは、現在のブロックの右上角の動きベクトルの候補動きベクトルとして使用される。左上角及び右上角の候補動きベクトルは、複数の２タプルを構成するよう結合される。２タプルに含まれる２つの符号化されたブロックの動きベクトルは、現在のブロックの候補制御点動きベクトルとして使用されてよい。複数の２タプルは、次の通り（１３Ａ）に示される：
｛ｖＡ２，ｖＢ１｝，｛ｖＡ２，ｖＢ０｝，｛ｖＢ２，ｖＢ１｝，｛ｖＢ２，ｖＢ０｝，｛ｖＢ３，ｖＢ１｝，｛ｖＢ３，ｖＢ０｝            （１３Ａ）
【０１７３】
ｖＡ２は、Ａ２の動きベクトルを表し、ｖＢ１は、Ｂ１の動きベクトルを表し、ｖＢ０は、Ｂ０の動きベクトルを表し、ｖＢ２は、Ｂ２の動きベクトルを表し、ｖＢ３は、Ｂ３の動きベクトルを表す。
【０１７４】
現在のブロックが６パラメータアフィンコーディングブロックである（すなわち、現在のブロックが６パラメータアフィン変換モデルを使用することによって予測される）場合に、左上角に隣接する符号化されたブロックＡ２、Ｂ２、又はＢ３の動きベクトルは、現在のブロックの左上角の動きベクトルの候補動きベクトルとして使用されてよい。右上角に隣接する符号化されたブロックＢ１又はＢ０の動きベクトルは、現在のブロックの右上角の動きベクトルの候補動きベクトルとして使用される。左下角に隣接する符号化されたブロックＡ０又はＡ１の動きベクトルは、現在のブロックの左下角の動きベクトルの候補動きベクトルとして使用される。左上角、右上角、及び左下角の候補動きベクトルは、複数のトリプレットを構成するよう結合される。トリプレットに含まれる３つの符号化されたブロックの動きベクトルは、現在のブロックの候補制御点動きベクトルとして使用されてよい。複数のトリプレットは、次の通り（（１３Ｂ）及び（１３Ｃ））に示される：
｛ｖＡ２，ｖＢ１，ｖＡ０｝，｛ｖＡ２，ｖＢ０，ｖＡ０｝，｛ｖＢ２，ｖＢ１，ｖＡ０｝，｛ｖＢ２，ｖＢ０，ｖＡ０｝，｛ｖＢ３，ｖＢ１，ｖＡ０｝，｛ｖＢ３，ｖＢ０，ｖＡ０｝      （１３Ｂ）
｛ｖＡ２，ｖＢ１，ｖＡ１｝，｛ｖＡ２，ｖＢ０，ｖＡ１｝，｛ｖＢ２，ｖＢ１，ｖＡ１｝，｛ｖＢ２，ｖＢ０，ｖＡ１｝，｛ｖＢ３，ｖＢ１，ｖＡ１｝，｛ｖＢ３，ｖＢ０，ｖＡ１｝      （１３Ｃ）
【０１７５】
ｖＡ２は、Ａ２の動きベクトルを表し、ｖＢ１は、Ｂ１の動きベクトルを表し、ｖＢ０は、Ｂ０の動きベクトルを表し、ｖＢ２は、Ｂ２の動きベクトルを表し、ｖＢ３は、Ｂ３の動きベクトルを表し、ｖＡ０は、Ａ０の動きベクトルを表し、ｖＡ１は、Ａ１の動きベクトルを表す。
【０１７６】
図７は一例にすぎない、ことが留意されるべきである。制御点動きベクトルを結合する他の方法も、本発明の実施形態に適用可能であり得る、ことが留意されるべきである。詳細はここで記載されない。
【０１７７】
他の制御点を使用することによって現在及び隣接コーディングブロックの運動モデルを表現する方法も、本発明の実施形態に適用可能であり得る、ことが留意されるべきである。詳細はここで記載されない。
【０１７８】
下記は、アフィン変換モデルに基づくマージモードに基づく構成的制御点動きベクトル予測方法について記載する。
【０１７９】
図８は、現在のコーディングブロックの隣接する符号化されたブロックの動き情報を使用することによって現在のブロックの左上角及び右上角の動きベクトルを決定する構成的制御点動きベクトル予測方法を説明するために一例として使用される。図８は一例にすぎない、ことが留意されるべきである。
【０１８０】
図８に示されるように、ＣＰｋ（ｋ＝１，２，３，４）は、ｋ番目の制御点を表す。Ａ０、Ａ１、Ａ２、Ｂ０、Ｂ１、Ｂ２、及びＢ３は、現在のブロックの空間的に隣接する位置であり、ＣＰ１、ＣＰ２、又はＣＰ３を予測するために使用される。Ｔは、現在のブロックの時間的に隣接する位置であり、ＣＰ４を予測するために使用される。ＣＰ１、ＣＰ２、ＣＰ３、及びＣＰ４の座標は、夫々、（０，０）、（Ｗ，０）、（Ｈ，０）、及び（Ｗ，Ｈ）であり、このとき、Ｗ及びＨは、現在のブロックの幅及び高さを表す。この場合に、現在のブロックの各制御点の動き情報は、次の順序で取得される。
【０１８１】
１．ＣＰ１について、確認順序はＢ２→Ａ２→Ｂ３である。Ｂ２が利用可能である場合に、Ｂ２の動き情報が使用される。そうでなければ、Ａ２及びＢ３が確認される。３つの全ての位置の動き情報が利用不可能である場合に、ＣＰ１の動き情報は取得され得ない。
【０１８２】
２．ＣＰ２について、確認順序はＢ０→Ｂ１である。Ｂ０が利用可能である場合に、Ｂ０の動き情報がＣＰ２のために使用される。そうでなければ、Ｂ１が確認される。両方の位置の動き情報が利用不可能である場合に、ＣＰ２の動き情報は取得され得ない。
【０１８３】
３．ＣＰ３について、確認順序はＡ０→Ａ１である。
【０１８４】
４．ＣＰ４について、Ｔの動き情報が使用される。
【０１８５】
ここで、Ｘが利用可能であるとは、位置Ｘ（Ｘは、Ａ０、Ａ１、Ａ２、Ｂ０、Ｂ１、Ｂ２、Ｂ３、又はＴである）でのブロックが既に符号化されており、インター予測モードがそのブロックに使用されていることを意味する。そうでなければ、位置Ｘは利用不可能である。制御点動き情報を取得する他の方法も、本発明の実施形態に適用可能であり得る、ことが留意されるべきである。詳細はここで記載されない。
【０１８６】
次いで、現在のブロックの制御点動き情報は、構成的制御点動き情報を取得するよう結合される。
【０１８７】
４パラメータアフィン変換モデルが現在のブロックに使用される場合に、現在のブロックの２つの制御点の動き情報は、４パラメータアフィン変換モデルを構成するために、２タプルを構成するよう結合される。２つの制御点は次の：｛ＣＰ１，ＣＰ４｝、｛ＣＰ２，ＣＰ３｝、｛ＣＰ１，ＣＰ２｝、｛ＣＰ２，ＣＰ４｝、｛ＣＰ１，ＣＰ３｝、及び｛ＣＰ３，ＣＰ４｝、のように結合されてよい。例えば、制御点ＣＰ１及びＣＰ２を含む２タプルを使用することによって構成された４パラメータアフィン変換モデルは、Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２）と表され得る。
【０１８８】
６パラメータアフィン変換モデルが現在のブロックに使用される場合に、現在のブロックの３つの制御点の動き情報は、６パラメータアフィン変換モデルを構成するために、トリプレットを構成するよう結合される。３つの制御点は次の：｛ＣＰ１，ＣＰ２，ＣＰ４｝、｛ＣＰ１，ＣＰ２，ＣＰ３｝、｛ＣＰ２，ＣＰ３，ＣＰ４｝及び｛ＣＰ１，ＣＰ３，ＣＰ４｝、のように結合されてよい。例えば、制御点ＣＰ１、ＣＰ２、及びＣＰ３を含むトリプレットを使用することによって構成された６パラメータアフィン変換モデルは、Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２，ＣＰ３）と表され得る。
【０１８９】
８パラメータ双線形モデルが現在のブロックに使用される場合に、現在のブロックの４つ制御点の動き情報は、８パラメータ双線形モデルを構成するために、クワドループルを構成するよう結合される。制御点ＣＰ１、ＣＰ２、ＣＰ３、及びＣＰ４を含むクワドループルを使用することによって構成された８パラメータ双線形モデルは、Ｂｉｌｉｎｅａｒ（ＣＰ１，ＣＰ２，ＣＰ３，ＣＰ４）と表され得る。
【０１９０】
本明細書中で、記載を容易にするために、２つの制御点（又は２つの符号化されたブロック）の動き情報の組み合わせは、略して２タプルと呼ばれ、３つの制御点（又は２つの符号化されたブロック）の動き情報の組み合わせは、略してトリプレットと呼ばれ、４つの制御点（又は４つの符号化されたブロック）の動き情報の組み合わせは、略してクワドループルと呼ばれる。
【０１９１】
これらのモデルは、前もってセットされた順序でトラバースされる。結合モデルに対応する制御点の動き情報が利用不可能である場合に、モデルは利用不可能であると見なされる。そうでなければ、モデルの参照フレームインデックスは決定され、制御点の動きベクトルはスケーリングされる。スケーリング後の全ての制御点の動き情報が一致する場合に、モデルは無効である。モデルを制御する制御点の全ての動き情報が利用可能であって、かつ、モデルが有効である場合に、モデルを較正するために使用された制御点の動き情報は、動き情報候補リストに加えられる。
【０１９２】
制御点動きベクトルをスケーリングする方法は、次の式（１４）に示される：
【数２１】
2021529483.tif 000023
【０１９３】
ＣｕｒＰｏｃは、現在のフレームのＰＯＣ番号を表し、ＤｅｓＰｏｃは、現在のブロックの参照フレームのＰＯＣ番号を表し、ＳｒｃＰｏｃは、制御点の参照フレームのＰＯＣ番号を表し、ＭＶｓは、スケーリングを通じて取得された動きベクトルを表し、ＭＶは、制御点の動きベクトルを表す。
【０１９４】
異なる制御点の組み合わせは、代替的に、同じ場所での制御点に変換されてよい、ことが留意されるべきである。
【０１９５】
例えば、組み合わせ｛ＣＰ１，ＣＰ４｝、｛ＣＰ２，ＣＰ３｝、｛ＣＰ２，ＣＰ４｝、｛ＣＰ１，ＣＰ３｝、又は｛ＣＰ３，ＣＰ４｝を通じて取得された４パラメータアフィン変換モデルは、｛ＣＰ１，ＣＰ２｝又は｛ＣＰ１，ＣＰ２，ＣＰ３｝によって表現される。変換方法は、制御点の動きベクトル及び座標情報を上記の式（２）に代入してモデルパラメータを取得し、次いで、｛ＣＰ１，ＣＰ２｝の座標情報を上記の式（３）に代入して制御点の動きベクトルを取得することである。
【０１９６】
より直接的に、変換は、次の式（１５）から（２３）に従って実行されてよく、ここで、Ｗは、現在のブロックの幅を表し、Ｈは、現在のブロックの高さを表す。式（１５）から（２３）で、（ｖｘ０，ｖｙ０）は、ＣＰ１の動きベクトルを表し、（ｖｘ１，ｖｙ１）は、ＣＰ２の動きベクトルを表し、（ｖｘ２，ｖｙ２）は、ＣＰ３の動きベクトルを表し、（ｖｘ３，ｖｙ３）は、ＣＰ４の動きベクトルを表す。
【０１９７】
｛ＣＰ１，ＣＰ２｝は、次の式（１５）に従って｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る。すなわち、｛ＣＰ１，ＣＰ２，ＣＰ３｝の中のＣＰ３の動きベクトルは、次の式（１５）に従って決定され得る：
【数２２】
2021529483.tif 000024
【０１９８】
｛ＣＰ１，ＣＰ３｝は、次の式（１６）に従って｛ＣＰ１，ＣＰ２｝又は｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る：
【数２３】
2021529483.tif 000025
【０１９９】
｛ＣＰ２，ＣＰ３｝は、次の式（１７）に従って｛ＣＰ１，ＣＰ２｝又は｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る：
【数２４】
2021529483.tif 000026
【０２００】
｛ＣＰ１，ＣＰ４｝は、次の式（１８）又は（１９）に従って｛ＣＰ１，ＣＰ２｝又は｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る：
【数２５】
2021529483.tif 000027
【０２０１】
｛ＣＰ２，ＣＰ４｝は、次の式（２０）に従って｛ＣＰ１，ＣＰ２｝に変換され得、｛ＣＰ２，ＣＰ４｝は、次の式（２０）及び（２１）に従って｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る：
【数２６】
2021529483.tif 000028
【０２０２】
｛ＣＰ３，ＣＰ４｝は、次の式（２０）に従って｛ＣＰ１，ＣＰ２｝に変換され得、｛ＣＰ３，ＣＰ４｝は、次の式（２２）及び（２３）に従って｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る：
【数２７】
2021529483.tif 000029
【０２０３】
例えば、組み合わせ｛ＣＰ１，ＣＰ２，ＣＰ４｝、｛ＣＰ２，ＣＰ３，ＣＰ４｝、又は｛ＣＰ１，ＣＰ３，ＣＰ４｝を通じて取得された６パラメータアフィン変換モデルは、制御点｛ＣＰ１，ＣＰ２，ＣＰ３｝によって表現される。変換方法は、制御点の動きベクトル及び座標情報を上記の式（４）に代入してモデルパラメータを取得し、次いで、｛ＣＰ１，ＣＰ２，ＣＰ３｝の座標情報を上記の式（５）に代入して制御点の動きベクトルを取得することである。
【０２０４】
より直接的に、変換は、次の式（２４）から（２６）に従って実行されてよく、ここで、Ｗは、現在のブロックの幅を表し、Ｈは、現在のブロックの高さを表す。式（２４）から（２６）で、（ｖｘ０，ｖｙ０）は、ＣＰ１の動きベクトルを表し、（ｖｘ１，ｖｙ１）は、ＣＰ２の動きベクトルを表し、（ｖｘ１，ｖｙ１）は、ＣＰ３の動きベクトルを表し、（ｖｘ３，ｖｙ３）は、ＣＰ４の動きベクトルを表す。
【０２０５】
｛ＣＰ１，ＣＰ２，ＣＰ４｝は、式（２２）に従って｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る：
【数２８】
2021529483.tif 000030
【０２０６】
｛ＣＰ２，ＣＰ３，ＣＰ４｝は、式（２３）に従って｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る：
【数２９】
2021529483.tif 000031
【０２０７】
｛ＣＰ１，Ｃ３，ＣＰ４｝は、式（２４）に従って｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る：
【数３０】
2021529483.tif 000032
【０２０８】
具体的な実施形態において、目下構成中である制御点動き情報が候補動きベクトルリストに加えられた後、候補リストの長さが最大リスト長さ（例えば、ＭａｘＡｆｆｉｎｅＮｕｍＭｒｇＣａｎｄ）よりも短い場合には、これらの組み合わせは、前もってセットされた順序でトラバースされ、そして、取得された有効な組み合わせが、制御点の候補動き情報として使用される。候補動きベクトルリストが空である場合には、制御点の候補動き情報は候補動きベクトルリストに加えられる。そうでなければ、候補動きベクトルリスト内の動き情報は順次トラバースされ、制御点の候補動き情報と同じである動き情報が候補動きベクトルリストに存在するかどうかが確認される。制御点の候補動き情報と同じである動き情報が候補動きベクトルリストに存在しない場合には、制御点の候補動き情報は候補動きベクトルリストに加えられる。
【０２０９】
例えば、前もってセットされた順序は次の：Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２，ＣＰ３）→Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２，ＣＰ４）→Ａｆｆｉｎｅ（ＣＰ１，ＣＰ３，ＣＰ４）→Ａｆｆｉｎｅ（ＣＰ２，ＣＰ３，ＣＰ４）→Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２）→Ａｆｆｉｎｅ（ＣＰ１，ＣＰ３）→Ａｆｆｉｎｅ（ＣＰ２，ＣＰ３）→Ａｆｆｉｎｅ（ＣＰ１，ＣＰ４）→Ａｆｆｉｎｅ（ＣＰ２，ＣＰ４）→Ａｆｆｉｎｅ（ＣＰ３，ＣＰ４）、の通りである。全部で１０通りの組み合わせがある。
【０２１０】
組み合わせに対応する制御点動き情報が利用不可能である場合に、その組み合わせは利用不可能であると見なされる。組み合わせが利用可能である場合に、その組み合わせの参照フレームインデックスは決定され（２つの制御点の場合に、最小参照フレームインデックスが組み合わせの参照フレームインデックスとして選択され、２よりも多い制御点の場合に、最も頻繁に現れる参照フレームインデックスが選択され、複数の参照フレームインデックスが現れる回数が同じである場合に、最小参照フレームインデックスが組み合わせの参照フレームインデックスとして選択される）、制御点動きベクトルはスケーリングされる。スケーリング後の全ての制御点の動き情報が一致する場合に、組み合わせは無効である。
【０２１１】
任意に、本発明の実施形態において、候補動きベクトルリストは、代替的に、パディングされてよい。例えば、上記のトラバースプロセスの後に、候補動きベクトルリストの長さが最大リスト長さ（例えば、ＭａｘＡｆｆｉｎｅＮｕｍＭｒｇＣａｎｄ）よりも短い場合に、候補動きベクトルリストは、リスト長さが最大リスト長さに等しくなるまでパディングされてよい。
【０２１２】
パディングは、ゼロ動きベクトルをパディングすることによって、あるいは、既存のリスト内の既存の候補動き情報を結合又は加重平均することによって、実行されてよい。候補動きベクトルリストをパディングする他の方法も、本発明の実施形態に適用可能であり得る、ことが留意されるべきである。詳細はここで記載されない。
【０２１３】
既存の解決法では、継承的制御点動きベクトル予測方法について、同じ画像シーケンスに使用される非平行移動運動モデルは固定され、画像内の異なるブロックに使用されるアフィン変換モデルのパラメータの数は同じである。すなわち、アフィンコーディングブロックに使用されるアフィン変換モデルのパラメータの数は、現在のブロックに使用されるアフィン変換モデルのそれと同じである。従って、アフィンコーディングブロックの制御点の数は、現在のブロックのそれと同じであり、アフィンコーディングブロック内の制御点の位置は、現在のブロックの制御点の位置と同じである。
【０２１４】
例えば、４パラメータアフィン変換モデルがアフィンコーディングブロックに使用される場合に、４パラメータアフィン変換モデルは現在のブロックにも使用される。復号器側は、各サブブロックを再構成するように、現在のブロックの４パラメータアフィン変換モデルに基づいて現在のブロックの各サブブロックの動きベクトル情報を取得する。
【０２１５】
他の例として、８パラメータ双線形モデルがアフィンコーディングブロックに使用される場合に、８パラメータ双線形モデルは現在のブロックにも使用される。復号器側は、各サブブロックを再構成するように、現在のブロックの８パラメータ双線形モデルに基づいて現在のブロックの各サブブロックの動きベクトル情報を取得する。
【０２１６】
実務は、画像内の異なるブロックのアフィン運動が異なり得る（すなわち、現在のブロックのアフィン運動は、アフィンコーディングブロックのアフィン運動とは異なり得る）、ことを示す。従って、現在のブロックが、アフィンコーディングブロックと同じ次数を有するアフィン変換モデルに基づいて、パースされ（例えば、候補動きベクトルリストが確立され）、再構成される既存の方法では、現在のブロックを予測する際のコーディング効率及び精度は高くなく、いくつかのシナリオでユーザ要求を満足することが依然として困難である。
【０２１７】
既存の解決法の欠点を解消し、コーディングプロセスにおける予測中のコーディング効率及び精度を改善するために、継承的制御点動きベクトル予測方法は、本発明の実施形態において改善される。２つの改善された解決法、すなわち、第１の改善された解決法及び第２の改善された解決法がある。第１の改善された解決法は、第１運動モデルに基づく動きベクトル予測方法とも呼ばれることがあり、第２の改善された解決法は、第２運動モデルに基づく動きベクトル予測方法とも呼ばれることがある。下記は、２つの方法について別々に記載している。
【０２１８】
（５）第１運動モデルに基づく動きベクトル予測方法。第１運動モデルに基づく動きベクトル予測方法では、画像シーケンス内の画像の異なるブロックに使用されるアフィン変換モデルは制限されず、すなわち、異なるアフィン変換モデルが異なるブロックごとに使用されてよい。現在のブロックを符号化及び復号化する過程で、現在のブロックに使用されるアフィン変換モデルは最初に決定される。現在のブロックに使用されるアフィン変換モデルは予め定義されてよく、あるいは、現在のブロックのアフィン変換モデルの実際の動き状態又は実際の要件に基づいて、複数のアフィン変換モデルから選択されてよい。２×Ｎパラメータアフィン変換モデルが現在のブロックの隣接ブロック（符号器側ではアフィンコーディングブロックと、又は復号器側ではアフィン復号化ブロックとも呼ばれる）に使用され、２×Ｋパラメータアフィン変換モデルが現在のブロックに使用され、Ｎ≠Ｎである、と仮定される。この場合に、現在のブロックのＫ個の制御点の動きベクトル（候補動きベクトル）は、隣接ブロックに使用されている２×Ｎパラメータアフィン変換モデルに基づいて補間計算を通じて取得される。
【０２１９】
以下は、現在のブロックの制御点の候補動きベクトルを決定するプロセスを説明するために、図１０に示されるＡ１を例として使用する。決定プロセスは、主として、復号器側の視点から説明される。この場合に、Ａ１が位置する隣接ブロックは、アフィン復号化ブロックである。符号器側での実施は、類推によって推定され得る、ことが理解され得る。すなわち、符号器側では、現在のブロックの隣接ブロックはアフィンコーディングブロックである。実施に関する詳細は、本明細書で再び記載されない。
【０２２０】
例えば、６パラメータアフィン変換モデルが、Ａ１が位置するアフィン復号化ブロックに使用され、４パラメータアフィン変換モデルが現在のブロックに使用される場合に、アフィン復号化ブロックの左上角（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）、アフィン復号化ブロックの右上角（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）、及びアフィン復号化ブロックの左下角（ｘ６，ｙ６）の動きベクトル（ｖｘ６，ｖｙ６）は取得される。６パラメータアフィン変換モデルについての次の式（２７）及び（２８）に従って、補間計算は、現在のブロックの左上角（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）及び現在のブロックの右上角（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）を取得するために、アフィン復号化ブロックの上記３つの制御点の動きベクトルによって構成された６パラメータアフィン変換モデルを使用することによって別々に実行される：
【数３１】
2021529483.tif 000033
【０２２１】
他の例として、４パラメータアフィン変換モデルが、Ａ１が位置するアフィン復号化ブロックに使用され、６パラメータアフィン変換モデルが現在のブロックに使用される場合に、アフィン復号化ブロックの左上角（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）及びアフィン復号化ブロックの右上角（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）は取得される。この場合に、アフィン復号化ブロックの２つの制御点の動きベクトル、すなわち、左上制御点（ｘ４，ｙ４）の動きベクトル値（ｖｘ４，ｖｙ４）及び右上制御点（ｘ５，ｙ５）の動きベクトル値（ｖｘ５，ｖｙ５）、が取得される。４パラメータアフィン変換モデルについての次の式（２９）、（３０）、及び（３１）に従って、補間計算は、現在のブロックの左上角（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）、現在のブロックの右上角（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）、及び現在のブロックの左下角（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）を取得するために、アフィン復号化ブロックの２つの制御点によって構成された４パラメータアフィン変換モデルを使用することによって別々に実行される：
【数３２】
2021529483.tif 000034
【０２２２】
上記の例は、単に、本発明の技術的解決法を説明するために使用されているにすぎず、本発明を限定する意図はない、ことが留意されるべきである。その上、他のアフィン変換モデルが現在のブロック及び隣接ブロックに使用される（例えば、４パラメータアフィン変換モデルが現在のブロックに使用され、８パラメータ双線形モデルが隣接ブロックに使用されるか、あるいは、６パラメータアフィン変換モデルが現在のブロックに使用され、８パラメータ双線形モデルが隣接ブロックに使用される）場合については、上記の例の実施を参照されたい。詳細はここで再び記載されない。
【０２２３】
この解決法では、現在のブロックのモデルパラメータの数が隣接ブロックのそれと同じであるかどうかは限定されない、ことが更に留意されるべきである。従って、いくつかの実施シナリオで、現在のブロックのモデルパラメータの数はまた、隣接ブロックのそれと同じであってもよい。
【０２２４】
例えば、４パラメータアフィン変換モデルが、Ａ１が位置するアフィン復号化ブロックに使用され、４パラメータアフィン変換モデルが現在のブロックにも使用される場合に、アフィン復号化ブロックの左上角（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）及びアフィン復号化ブロックの右上角（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）は取得される。４パラメータアフィン変換モデルについての次の式（３２）及び（３３）に従って、補間計算は、現在のブロックの左上角（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）及び現在のブロックの右上角（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）を取得するために、アフィン復号化ブロックの上記２つの制御点の動きベクトルによって構成された４パラメータアフィン変換モデルを使用することによって別々に実行される：
【数３３】
2021529483.tif 000035
【０２２５】
他の例として、６パラメータアフィン変換モデルが、Ａ１が位置するアフィン復号化ブロックに使用され、６パラメータアフィン変換モデルが現在のブロックに使用される場合に、アフィン復号化ブロックの左上角（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）、アフィン復号化ブロックの右上角（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）、及びアフィン復号化ブロックの左下角（ｘ６，ｙ６）の動きベクトル（ｖｘ６，ｖｙ６）は取得される。６パラメータアフィン変換モデルについての次の式（３４）、（３５）、及び（３６）に従って、補間計算は、現在のブロックの左上角（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）、現在のブロックの右上角（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）、及び現在のブロックの左下角（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）を取得するために、アフィン復号化ブロックの３つの制御点によって構成された６パラメータアフィン変換モデルを使用することによって別々に実行される：
【数３４】
2021529483.tif 000036
【０２２６】
上記の例は、単に、本発明の技術的解決法を説明するために使用されているにすぎず、本発明を限定する意図はない、ことが留意されるべきである。その上、他のアフィン変換モデルが現在のブロック及び隣接ブロックに使用される（例えば、８パラメータアフィン変換モデルが現在のブロック及び隣接ブロックの両方に使用される）場合については、上記の例の実施を参照されたい。詳細はここで再び記載されない。
【０２２７】
本発明における第１運動モデルに基づく動きベクトル予測方法に従って、現在のブロックをパースするフェーズで（例えば、候補動きベクトルリストを構成するフェーズで）、隣接ブロックのアフィン変換モデルは、現在のブロックのアフィン変換モデルを構成するために使用され得る。２つのブロックのアフィン変換モデルは、異なってよい。現在のブロックのアフィン変換モデルは、現在のブロックの実際の動き状態／実際の要件をより良く満足する。従って、この解決法は、現在のブロックを予測する際のコーディング効率及び精度を改善し、かつ、ユーザ要求を満足することができる。
【０２２８】
（６）第２運動モデルに基づく動きベクトル予測方法。第２運動モデルに基づく動きベクトル予測方法では、画像シーケンス内の画像の異なるブロックに使用されるアフィン変換モデルは限定されず、同じアフィン変換モデル又は異なるアフィン変換モデルが異なるブロックごとに使用されてよい。すなわち、２×Ｎパラメータアフィン変換モデルが現在のブロックの隣接ブロック（符号器側ではアフィンコーディングブロックと、又は復号器側ではアフィン復号化ブロックとも呼ばれる）に使用され、２×Ｋパラメータアフィン変換モデルが現在のブロックに使用される場合に、ＮはＮに等しくても等しくなくてもよい。パースフェーズ（例えば、候補動きベクトルリストを構成するフェーズ）で、現在のブロックの制御点（例えば、２つ、３つ、又は４つの制御点）は、“（３）”で説明された継承的制御点動きベクトル予測方法又は“（５）”で説明された第１運動モデルに基づく動きベクトル予測方法に従って取得されてよい。次いで、現在のブロックを再構成するフェーズで、６パラメータアフィン変換モデルは、各サブブロックを再構成するように、現在のブロックの制御点に基づいて現在のブロックの各サブブロックの動きベクトル情報を取得するために一律に使用される。
【０２２９】
以下も、（復号器側の視点から）現在のブロックの制御点の候補動きベクトルを決定するプロセスを説明するために、図６に示されるＡ１を例として使用する。他の場合は、類推によって推定される。
【０２３０】
例えば、４パラメータアフィン変換モデルが、パースフェーズで現在のブロックに使用され、４パラメータアフィン変換モデル又は他のパラメータアフィンモデルが隣接ブロックに使用され得る。従って、現在のブロックの２つの制御点の動きベクトル、例えば、現在のブロックの左上制御点（ｘ４，ｙ４）の動きベクトル値（ｖｘ４，ｖｙ４）及び現在のブロックの右上制御点（ｘ５，ｙ５）の動きベクトル値（ｖｘ５，ｖｙ５）は、“（３）”で説明された継承的制御点動きベクトル予測方法又は“（５）”で説明された第１運動モデルに基づく動きベクトル予測方法に従って取得されてよい。次いで、現在のブロックを再構成するフェーズで、６パラメータアフィン変換モデルは、現在のブロックの２つの制御点の動きベクトルに基づいて構成される必要がある。
【０２３１】
例えば、現在のブロックの左上制御点（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）及び現在のブロックの右上制御点（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）に基づいて、第３の制御点の動きベクトル値は、次の式（４０）に従って取得されてよい。第３の制御点の動きベクトル値は、例えば、現在のブロックの左下角（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）である。
【数３５】
2021529483.tif 000037
【０２３２】
Ｗは、現在のブロックの幅を表し、Ｈは、現在のブロックの高さを表す。
【０２３３】
次いで、再構成フェーズにおける現在のブロックの６パラメータアフィンモデルは、現在のブロックの左上制御点（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）と、現在のブロックの右上制御点（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）と、現在のブロックの左下制御点（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）とを使用することによって取得される。６パラメータアフィンモデルについての式は、次の式（３７）に示される：
【数３６】
2021529483.tif 000038
【０２３４】
次いで、現在のブロックの左上角（又は他の基準点）に対する現在のブロックの各サブブロック（又は各動き補償ユニット）の中心点の座標（ｘ（ｉ，ｊ），ｙ（ｉ，ｊ））は、各サブブロックをその後に再構成するように、各サブブロック（又は各動き補償ユニット）の中心点の動き情報を取得するよう上記の式（３７）に代入される。
【０２３５】
上記の例は、単に、本発明の技術的解決法を説明するために使用されているにすぎず、本発明を限定する意図はない、ことが留意されるべきである。その上、他のアフィン変換モデル（例えば、６パラメータアフィン変換モデル又は８パラメータ双線形モデル）がパースフェーズで現在のブロックに使用される場合については、上記の例の実施を参照されたい。詳細はここで再び記載されない。
【０２３６】
本発明における第２運動モデルに基づく動きベクトル予測方法に従って、現在のブロックを再構成するフェーズで、６パラメータアフィン変換モデルは、現在のブロックを予測するために一律に使用され得る。現在のブロックのアフィン運動を記述する運動モデルのパラメータの数が多いほど、精度は高くなり、計算複雑性も高くなる。この解決法において、再構成フェーズで構成された６パラメータアフィン変換モデルは、画像ブロックの平行移動、スケーリング、及び回転などのアフィン変換を記述し、モデル複雑性とモデリング能力との間の良いバランスを達成することができる。従って、この解決法は、在のブロックを予測する際のコーディング効率及び現精度を改善し、かつ、ユーザ要求を満足することができる。
【０２３７】
本発明のいくつかの実施形態で、第１の改善された解決法及び第２の改善された解決法は両方とも、二者択一的に実施のために使用されてよい、ことが理解され得る。
【０２３８】
例えば、４パラメータアフィン変換モデルがパースフェーズで現在のブロックに使用され、６パラメータアフィン変換モデルが隣接ブロックに使用される場合に、現在のブロックの２つの制御点の動きベクトルは、“（５）”で説明された第１運動モデルに基づく動きベクトル予測方法に従って取得されてよい。次いで、“（６）”で説明された第２運動モデルに基づく動きベクトル予測方法に従って、２つの制御点の動きベクトルは、現在のブロックの各サブブロックをその後に再構成するように、再構成フェーズで６パラメータアフィン変換モデルに変換される。
【０２３９】
他の例として、６パラメータアフィン変換モデルがパースフェーズで現在のブロックに使用され、４パラメータアフィン変換モデルが隣接ブロックに使用される場合に、現在のブロックの３つの制御点の動きベクトルは、“（５）”で説明された第１運動モデルに基づく動きベクトル予測方法に従って取得されてよい。次いで、“（６）”で説明された第２運動モデルに基づく動きベクトル予測方法における式（３２）に従って、３つの制御点の動きベクトルは、現在のブロックの各サブブロックをその後に再構成するように、再構成フェーズで６パラメータアフィン変換モデルを取得するよう結合される。
【０２４０】
確かに、第１の改善された解決法及び第２の改善された解決法の両方が実施のために使用される解決法が、二者択一的に他の実施形態として実施されてよい。詳細は、ここで記載されない。
【０２４１】
上記の説明に基づいて、下記は、本発明の実施形態におけるアフィン変換モデルに基づくＡＭＶＰモード（Affine  AMVP  mode）及びアフィン変換モデルに基づくマージモード）（Affine  Merge  mode）について更に説明する。
【０２４２】
アフィン変換モデルに基づくＡＭＶＰモードが最初に説明される。
【０２４３】
アフィン変換モデルに基づくＡＭＶＰモードについて、実施形態において、ＡＭＶＰに基づく候補動きベクトルリスト（又は制御点動きベクトル予測子候補リストと呼ばれる）も、第１運動モデルに基づく動きベクトル予測方法及び／又は構成的制御点動きベクトル予測方法を使用することによって構成され得る。他の実施形態では、ＡＭＶＰモードに基づく候補動きベクトルリスト（又は制御点動きベクトル予測子候補リストと呼ばれる）は、継承的制御点動きベクトル予測方法及び／又は構成的制御点動きベクトル予測方法を使用することによって構成され得る。リスト内の制御点動きベクトル予測子は、２つの候補制御点動きベクトルを含むか（例えば、４パラメータアフィン変換モデルが現在のブロックに使用される場合）、あるいは、３つの候補制御点動きベクトルを含むか（例えば、６パラメータアフィン変換モデルが現在のブロックに使用される場合）、あるいは、４つの候補制御点動きベクトルを含んでよい（例えば、８パラメータ双線形モデルが現在のブロックに使用される場合）。
【０２４４】
可能な適用シナリオで、制御点動きベクトル予測子候補リストは、特定の規則に従って更にプルーニング及びソートされてよく、特定の数の制御点動きベクトル予測子を取得するよう切り詰められ又はパディングされてよい。
【０２４５】
次いで、符号器側で、符号器（例えば、ビデオ符号器１００）は、制御点動きベクトル予測子候補リスト内の各制御点動きベクトル予測子を使用することによって、及び上記の式（３）、（５）、又は（７）に従って、現在のコーディングブロックの各動き補償サブユニットの動きベクトルを取得する。更に、符号器は、各動き補償サブユニットの動きベクトルが指し示す参照フレーム内の対応する位置のピクセル値を取得し、そのピクセル値を動き補償サブユニットのピクセル予測子として使用して、アフィン変換モデルに基づく動き補償を実行する。元の値と現在のコーディングブロックにおける各サンプルの予測子との間の平均差が計算される。最小平均差に対応する制御点動きベクトル予測子が、最適な制御点動きベクトル予測子として選択され、現在のコーディングブロックの２つ、３つ、又は４つの制御点の動きベクトル予測子として使用される。その上、符号器側で、制御点動きベクトル予測子は、制御点動きベクトル（control  point  motion  vectors，ＣＰＭＶ）を取得するように特定の探索範囲内で動き探索を実行するよう探索開始点として更に使用されてよく、そして、制御点動きベクトルと制御点動きベクトル予測子との間の差（control  point  motion  vectors  differences，ＣＰＭＶＤ）が計算される。次いで、符号器は、制御点動きベクトル予測子候補リスト内の制御点動きベクトル予測子の位置を示すインデックス値と、ＣＰＭＶＤとをビットストリームに符号化し、ビットストリームを復号器側へ転送する。
【０２４６】
復号器側で、復号器（例えば、ビデオ復号器２００）は、インデックス値及び制御点動きベクトル差（ＣＰＭＶＤ）を取得するようビットストリームをパースし、インデックス値に基づいて制御点動きベクトル予測子候補リスト内の制御点動きベクトル予測子（control  point  motion  vectors  predictor）を決定し、ＣＰＭＶＰ及びＣＰＭＶＤを加算して制御点動きベクトルを取得する。
【０２４７】
下記は、アフィン変換モデルに基づくマージモードについて説明する。
【０２４８】
アフィン変換モデルに基づくマージモードについて、実施形態において、マージモードのための候補動きベクトルリスト（又は制御点動きベクトルマージ候補リストと呼ばれる）は、継承的制御点動きベクトル予測方法及び／又は構成的制御点動きベクトル予測方法を使用することによって構成され得る。他の実施形態では、マージモードのための候補動きベクトルリスト（又は制御点動きベクトルマージ候補リストと呼ばれる）は、代替的に、第１運動モデルに基づく動きベクトル予測方法及び／又は構成的制御点動きベクトル予測方法を使用することによって構成され得る。
【０２４９】
可能な適用シナリオで、制御点動きベクトルマージ候補リストは、特定の規則に従って更にプルーニング及びソートされてよく、特定の数の制御点動きベクトルを取得するよう切り詰められ又はパディングされてよい。
【０２５０】
次いで、符号器側で、符号器（例えば、ビデオ符号器１００）は、マージ候補リスト内の各制御点動きベクトルを使用することによって、及び上記の式（３）、（５）、又は（７）に従って、現在のコーディングブロックの各動き補償サブユニット（Ｍ×Ｎのサイズを有し、特定の方法に従って分割により取得されるサンプル又はピクセルブロック）の動きベクトルを取得する。更に、符号器は、各動き補償サブユニットの動きベクトルが指し示す参照フレーム内の位置のピクセル値を取得し、そのピクセル値を動き補償サブユニットのピクセル予測子として使用して、アフィン動き補償を実行する。元の値と現在のコーディングブロックの各サンプルの予測子との間の平均差が計算される。最小平均差に対応する制御点動きベクトルが、現在のコーディングブロックの２つ、３つ、又は４つの制御点の動きベクトルとして選択される。候補リスト内の制御点動きベクトルの位置を示すインデックス値がビットストリームに符号化され、復号器側へ送られる。
【０２５１】
復号器側で、復号器（例えば、ビデオ復号器２００）は、インデックス値を取得するようビットストリームをパースし、インデックス値に基づいて制御点動きベクトルマージ候補リスト内の制御点動きベクトル（control  point  motion  vectors，ＣＰＭＶＰ）を決定する。
【０２５２】
加えて、本発明の実施形態で、「少なくとも１つ」は１つ以上を意味し、「複数の〜」は２つ以上を意味する、ことが留意されるべきである。「及び／又は」との用語は、関連するオブジェクトを記載する関連付け関係を示し、３つの関係が存在する可能性があることを表す。例えば、Ａ及び／又はＢは、次の場合：Ａのみが存在する、Ａ及びＢの両方が存在する、及びＢのみが存在する、を示してよく、このとき、Ａ及びＢは単数又は複数であってよい。「／」との文字は、一般的に、関連するオブジェクトの間の“論理和”関係を示す。「次の項目（要素）の少なくとも１つ」又はその類似表現は、単一の項目（要素）又は複数の項目（要素）の任意の組み合わせを含め、それらの項目の任意の組み合わせを示す。例えば、ａ、ｂ、又はｃの少なくとも１つは、ａ、ｂ、ｃ、ａ及びｂ、ａ及びｃ、ｂ及びｃ、又はａ、ｂ及びｃ、を示してよく、このとき、ａ、ｂ、及びｃは単数又は複数であってよい。
【０２５３】
図９を参照されたい。第１運動モデルに基づく動きベクトル予測方法の設計ソリューションに基づいて、本発明の実施形態は動きベクトル予測方法を提供する。方法は、ビデオ復号器２００によって実行されてよく、具体的に、ビデオ復号器２００のインター予測器２１０によって実行されてよい。ビデオ復号器２００は、複数のビデオフレームを有するビデオデータストリームに基づいて、現在のビデオフレームの現在の復号化ブロック（略して現在のブロックと称される）の各サブブロックの動き情報を予測し、動き補償を実行するよう、下記のステップの一部又は全てを実行してよい。図９に示されるように、方法は、次のステップを含むが、これらに限定されない。
【０２５４】
ステップ６０１：ビットストリームをパースし、現在の復号化ブロックのインター予測モードを決定する。
【０２５５】
具体的に、復号器側でのビデオ復号器２００は、インター予測モードを示すために使用されている指示情報を取得して、指示情報に基づいて現在のブロックのインター予測モードを決定するために、符号器側から送信されたビットストリーム内のシンタックス要素をパースしてよい。
【０２５６】
現在のブロックのインター予測モードがアフィン変換モデルに基づくＡＭＶＰモードであると決定される場合には、ステップ６０２ａから６０６ａが続いて実行される。
【０２５７】
現在のブロックのインター予測モードがアフィン変換モデルに基づくマージモードであると決定される場合には、ステップ６０２ｂから６０５ｂが続いて実行される。
【０２５８】
ステップ６０２ａ：アフィン変換モデルに基づくＡＭＶＰモードのための候補動きベクトルリストを構成する。
【０２５９】
本発明のいくつかの具体的な実施形態で、現在のブロックの制御点の候補動きベクトルは、第１運動モデルに基づく動きベクトル予測方法を使用することによって取得され、ＡＭＶＰモードに対応する候補動きベクトルリストに加えられてよい。
【０２６０】
本発明のいくつかの他の具体的な実施形態で、現在のブロックの制御点の候補動きベクトルは、代替的に、第１運動モデルに基づく動きベクトル予測方法及び構成的制御点動きベクトル予測方法を使用することによって別々に取得され、ＡＭＶＰモードに対応する候補動きベクトルリストに加えられてよい。
【０２６１】
４パラメータアフィン変換モデルが現在のブロックに使用される場合に、ＡＭＶＰモードのための候補動きベクトルリストは２タプルリストであってよい。２タプルリストは、４パラメータアフィン変換モデルを構成するために使用される１つ以上の２タプルを含む。
【０２６２】
６パラメータアフィン変換モデルが現在のブロックに使用される場合に、ＡＭＶＰモードのための候補動きベクトルリストはトリプレットリストであってよい。トリプレットリストは、６パラメータアフィン変換モデルを構成するために使用される１つ以上のトリプレットを含む。
【０２６３】
８パラメータ双線形モデルが現在のブロックに使用される場合に、ＡＭＶＰモードのための候補動きベクトルリストは、クワドループルリストであってよい。クワドループルリストは、８パラメータ双線形モデルを構成するために使用される１つ以上のクワドループルを含む。
【０２６４】
可能な適用シナリオで、候補動きベクトル２タプル／トリプレット／クワドループルリストは、特定の規則に従ってプルーニング及びソートされてよく、特定の数の候補動きベクトルを取得するよう切り詰められ又はパディングされてよい。
【０２６５】
第１運動モデルに基づく動きベクトル予測方法について、例えば、図１０に示されるように、現在のブロックの隣接位置ブロックは、隣接位置ブロックが位置するアフィン復号化ブロック（例えば、Ａ１が図１０で位置するアフィン復号化ブロック）を見つけるために、図１０のＡ１→Ｂ１→Ｂ０→Ａ０→Ｂ２の順にトラバースされてよい。アフィン復号化ブロックのアフィン変換モデルは、アフィン復号化ブロックの制御点を使用することによって構成され、次いで、現在のブロックの制御点の候補動きベクトル（例えば、候補動きベクトル２タプル／トリプレット／クワドループル）は、アフィン復号化ブロックのアフィン変換モデルを使用することによって導出され、ＡＭＶＰモードに対応する候補動きベクトルリストに加えられる。他の探索順序も、本発明の実施形態に適用可能であり得る、ことが留意されるべきである。詳細はここで記載されない。
【０２６６】
複数の隣接位置ブロックが存在する場合に、すなわち、現在のブロックが複数の隣接アフィン復号化ブロックを有する場合に、可能な実施形態で、符号器側及び復号器側は両方とも、最初に、モデルパラメータの数が現在のブロックのそれと同じであるアフィン復号化ブロックを使用することによって現在のブロックの制御点の候補動きベクトルを取得し、取得された候補動きベクトルを、ＡＭＶＰモードに対応する候補動きベクトルリストに加えることができる、ことが留意されるべきである。次いで、現在のブロックの制御点の候補動きベクトルは、モデルパラメータの数が現在のブロックのそれとは異なるアフィン復号化ブロックを使用することによって取得され、ＡＭＶＰモードに対応する候補動きベクトルリストに加えられてよい。このようにして、モデルパラメータの数が現在のブロックのそれと同じであるアフィン復号化ブロックを使用することによって取得される、現在のブロックの制御点の候補動きベクトルは、リストの最前位置に位置付けられる。この設計は、ビットストリームで伝送されるビットの数を減らすのを助ける。
【０２６７】
図１０は、一例として使用される。現在の復号化ブロックのパラメータモデルは４パラメータアフィン変換モデルである、と仮定される。現在のブロックの隣接位置ブロックがトラバースされた後、４パラメータアフィン変換モデルは、Ｂ１が位置するアフィン復号化ブロックに使用されており、６パラメータアフィン変換モデルは、Ａ１が位置するアフィン復号化ブロックに使用されている、と決定される。この場合に、現在のブロックの２つの制御点の動きベクトルは、最初に、Ｂ１が位置するアフィン復号化ブロックを使用することによって導出され、リストに加えられ得る。次いで、現在のブロックの２つの制御点の動きベクトルは、Ａ１が位置するアフィン復号化ブロックを使用することによって導出され、リストに加えられる。
【０２６８】
あるいは、現在の復号化ブロックのパラメータモデルは６パラメータアフィン変換モデルである、と仮定される。現在のブロックの隣接位置ブロックがトラバースされた後、６パラメータアフィン変換モデルは、Ａ１が位置するアフィン復号化ブロックに使用されており、４パラメータアフィン変換モデルは、Ｂ１が位置するアフィン復号化ブロックに使用されている、と決定される。この場合に、現在のブロックの３つの制御点の動きベクトルは、最初に、Ａ１が位置するアフィン復号化ブロックを使用することによって導出され、リストに加えられ得る。次いで、現在のブロックの３つの制御点の動きベクトルは、Ｂ１が位置するアフィン復号化ブロックを使用することによって導出され、リストに加えられる。
【０２６９】
本発明の技術的解決法は、上記の例に限定されず、他の隣接位置ブロック、運動モデル、及び探索順序も、本発明に適用可能であり得る、ことが留意されるべきである。詳細はここで記載されない。
【０２７０】
ステップ６０２ａで、異なるブロックに使用されるアフィン変換モデルは限定されない。すなわち、現在のブロックに使用されるアフィン変換モデルのパラメータの数は、アフィン復号化ブロックのそれと異なっても又は同じであってもよい。実施形態において、現在のブロックに使用されるアフィン変換モデルは、ビットストリームをパースすることによって決定されてよい。すなわち、この場合に、ビットストリームは、現在のブロックのアフィン変換モデルの指示情報を含む。実施形態において、現在のブロックに使用されるアフィン変換モデルは、事前設定されてよい。実施形態において、現在のブロックに使用されるアフィン変換モデルは、現在のブロックの実際の動き状態又は実際の要件に基づいて複数のアフィン変換モデルから選択されてよい。
【０２７１】
構成的制御点動きベクトル予測方法を使用することによって現在のブロックの制御点の候補動きベクトルを取得することに関するいくつかの内容は、上記の“（４）”で詳細に説明されている。本明細書の簡潔さのために、詳細はここで再び記載されない。
【０２７２】
第１運動モデルに基づく動きベクトル予測方法を使用することによって現在のブロックの制御点の候補動きベクトルを取得することに関するいくつかの内容は、上記の“（５）”で詳細に説明されている。本明細書の簡潔さのために、詳細はここで再び記載されない。
【０２７３】
第１運動モデルに基づく動きベクトル予測方法が使用されるいくつかの実施形態において、復号器側が現在のブロックの制御点の候補動きベクトルを導出する過程で、アフィン復号化ブロックのアフィン変換モデルのフラグ情報（flag）が取得される必要があり得る、ことが留意されるべきである。フラグは、復号器側でローカルで予め記憶され、そして、アフィン復号化ブロックのサブブロックを予測するために実際に使用されるアフィン復号化ブロックのアフィン変換モデルを示すために使用される。
【０２７４】
例えば、適用シナリオにおいて、復号器側が、アフィン復号化ブロックのフラグを識別することによって、アフィン復号化ブロックに実際に使用されたアフィン変換モデルのモデルパラメータの数が、現在のブロックに使用されたアフィン変換モデルのそれとは異なる（又はそれと同じである）と決定する場合に、復号器側は、アフィン復号化ブロックに実際に使用されたアフィン変換モデルを使用することによって現在のブロックの制御点の候補動きベクトルを導出するようトリガされる。
【０２７５】
例えば、４パラメータアフィン変換モデルが現在のブロックに使用される場合に、復号器側がアフィン復号化ブロックのフラグを識別し、アフィン復号化ブロックに実際に使用されたアフィン変換モデルのモデルパラメータの数が現在のブロックに使用されたアフィン変換モデルのそれとは異なると、例えば、６パラメータアフィン変換モデルがアフィン復号化ブロックに使用されていると決定するならば、復号器側は、アフィン復号化ブロックの３つの制御点の動きベクトル、すなわち、左上角（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）、右上角（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）及び左下角（ｘ６，ｙ６）の動きベクトル（ｖｘ６，ｖｙ６）を取得する。アフィン復号化ブロックの３つの制御点によって構成された４パラメータアフィン変換モデルに基づいて、現在のブロックの左上及び右上制御点の候補動きベクトルは、夫々、６パラメータアフィン変換モデルのための式（２７）及び（２８）に従って導出される。
【０２７６】
他の例として、４パラメータアフィン変換モデルが現在のブロックに使用される場合に、復号器側がアフィン復号化ブロックのフラグを識別し、アフィン復号化ブロックに実際に使用されたアフィン変換モデルのモデルパラメータの数が現在のブロックに使用されたアフィン変換モデルのそれと同じであると、例えば、４パラメータアフィン変換モデルがアフィン復号化ブロックにも使用されていると決定するならば、復号器側は、アフィン復号化ブロックの２つの制御点の動きベクトル、すなわち、左上制御点（ｘ４，ｙ４）の動きベクトル値（ｖｘ４，ｖｙ４）及び右上制御点（ｘ５，ｙ５）の動きベクトル値（ｖｘ５，ｖｙ５）を取得する。アフィン復号化ブロックの２つの制御点によって構成された４パラメータアフィン変換モデルに基づいて、現在のブロックの左上及び右上制御点の候補動きベクトルは、夫々、４パラメータアフィン変換モデルのための式（３２）及び（３３）に従って導出される。
【０２７７】
第１運動モデルに基づく動きベクトル予測方法が使用されるいくつかの他の実施形態において、復号器側が現在のブロックの制御点の候補動きベクトルを導出する過程で、アフィン復号化ブロックのアフィン変換モデルのフラグは必要とされなくてもよい、ことが留意されるべきである。
【０２７８】
例えば、適用シナリオにおいて、復号器側が現在のブロックに使用されたアフィン変換モデルを決定した後、復号器側は、アフィン復号化ブロックの特定の数（特定の数は、現在のブロックの制御点の数と同じか又は異なる）の制御点を取得し、アフィン復号化ブロックの特定の数の制御点を使用することによってアフィン変換モデルを構成し、次いで、アフィン変換モデルを使用することによって現在のブロックの制御点の候補動きベクトルを導出する。
【０２７９】
例えば、４パラメータアフィン変換モデルが現在のブロックに使用される場合に、復号器側は、アフィン復号化ブロックに実際に使用されたアフィン変換モデル（アフィン復号化ブロックに実際に使用されたアフィン変換モデルは、４パラメータアフィン変換モデル、６パラメータアフィン変換モデル、又は８パラメータ双線形モデルであってよい）を決定せず、アフィン復号化ブロックの２つの制御点の動きベクトル、すなわち、左上制御点（ｘ４，ｙ４）の動きベクトル値（ｖｘ４，ｖｙ４）及び右上制御点（ｘ５，ｙ５）の動きベクトル値（ｖｘ５，ｖｙ５）を直接取得する。アフィン復号化ブロックの２つの制御点によって構成された４パラメータアフィンモデルに基づいて、現在のブロックの左上及び右上制御点の動きベクトルは、夫々、４パラメータアフィンモデルのための式（３２）及び（３３）に従って導出される。
【０２８０】
本発明の技術的解決法は、上記の例に限定されず、他の制御点、運動モデル、候補位置、及び探索順序も、本発明に適用可能であり得る、ことが留意されるべきである。詳細はここで記載されない。
【０２８１】
ステップ６０３ａ：インデックス値に基づいて制御点の最適な動きベクトル予測子を決定する。
【０２８２】
具体的に、候補動きベクトルリストのインデックス値は、ビットストリームをパースすることによって取得され、制御点の最適な動きベクトル予測子は、インデックス値に基づいて、ステップ６０２ａで構成された候補動きベクトルリストの中で決定される。
【０２８３】
例えば、４パラメータアフィン運動モデルが現在のブロックに使用される場合に、インデックス値は、パースすることを通じて取得され、２つの制御点の最適な動きベクトル予測子は、インデックス値に基づいて候補動きベクトル２タプルリストの中で決定される。
【０２８４】
他の例として、６パラメータアフィン運動モデルが現在のブロックに使用される場合に、インデックス値は、パースすることを通じて取得され、３つの制御点の最適な動きベクトル予測子は、インデックス値に基づいて候補動きベクトルトリプレットリストの中で決定される。
【０２８５】
他の例として、８パラメータ双線形モデルが現在のブロックに使用される場合に、インデックス値は、パースすることにより取得され、４つの制御点の最適な動きベクトル予測子は、インデックス値に基づいて候補動きベクトルクワドループルリストの中で決定される。
【０２８６】
ステップ６０４ａ：動きベクトル差に基づいて制御点の実際の動きベクトル決定する。
【０２８７】
具体的に、制御点の動きベクトル差は、ビットストリームをパースすることによって取得され、次いで、制御点の動きベクトルは、制御点の動きベクトル差と、ステップ６０３ａで決定されている制御点の最適な動きベクトル予測子とに基づいて、取得される。
【０２８８】
例えば、４パラメータアフィン運動モデルが現在のブロックに使用される場合に、現在のブロックの２つの制御点の動きベクトル差は、ビットストリームを復号することによって取得される。例えば、左上制御点の動きベクトル差及び右上制御点の動きベクトル差が、ビットストリームを復号することによって取得され得る。次いで、各制御点の動きベクトル差及び動きベクトル予測子は、制御点の実際の動きベクトル値を取得するよう加算される。すなわち、現在のブロックの左上及び右上制御点の動きベクトル値が取得される。
【０２８９】
他の例として、６パラメータアフィン運動モデルが現在のブロックに使用される場合に、現在のブロックの３つの制御点の動きベクトル差は、ビットストリームを復号することによって取得される。例えば、左上制御点の動きベクトル差、右上制御点の動きベクトル差、及び左下制御点の動きベクトル差が、ビットストリームを復号することによって取得され得る。次いで、各制御点の動きベクトル差及び動きベクトル予測子は、制御点の実際の動きベクトル値を取得するよう加算される。すなわち、現在のブロックの左上、右上、及び左下制御点の動きベクトル値が取得される。
【０２９０】
本発明のこの実施形態において、他のアフィン運動モデル及び他の制御点位置も使用されてよい、ことが留意されるべきである。詳細はここで記載されない。
【０２９１】
ステップ６０５ａ：現在のブロック使用されているアフィン変換モデルに基づいて現在のブロックの各サブブロックの動きベクトル値を取得する。
【０２９２】
Ｐ×Ｑの現在のブロックにおける各Ｍ×Ｎのサブブロックについて（１つのサブブロックは１つの動き補償ユニットと同等であってよく、Ｐ×Ｑのサブブロックの幅又は高さの少なくとも１つは現在のブロックの幅又は高さよりも小さい）、動き補償ユニットにおける前もってセットされた位置でのサンプルの動き情報は、動き補償ユニットにおける全てのサンプルの動き情報を表すために使用されてよい。動き補償ユニットサイズがＭ×Ｎであるとすると、前もってセットされた位置でのサンプルは中心点（Ｍ／２，Ｎ／２）、左上サンプル（０，０）、右上サンプル（Ｍ−１，０）、又は動き補償ユニットの他の位置でのサンプルであってよい。
【０２９３】
下記は、動き補償ユニットの中心点を説明のために例として使用する。図１１Ａ及び図１１Ｂを参照されたい。
【０２９４】
図１１Ａは、現在のブロック及び現在のブロックの動き補償ユニットの例を示す。図中の各小さいボックスは、１つの動き補償ユニットを表す。図中、各動き補償ユニットの仕様は４×４であり、各動き補償ユニットにおける灰色の点は動き補償ユニットの中心点を表す。図１１Ａで、Ｖ０は、現在のブロックの左上制御点の動きベクトルを表し、Ｖ１は、現在のブロックの右上制御点の動きベクトルを表し、Ｖ２は、現在のブロックの左下制御点の動きベクトルを表す。
【０２９５】
図１１Ｂは、他の現在のブロック及び現在のブロックの動き補償ユニットの例を示す。図中の各小さいボックスは、１つの動き補償ユニットを表す。図中、各動き補償ユニットの仕様は８×８であり、各動き補償ユニットにおける灰色の点は動き補償ユニットの中心点を表す。図１１Ｂで、Ｖ０は、現在のブロックの左上制御点の動きベクトルを表し、Ｖ１は、現在のブロックの右上制御点の動きベクトルを表し、Ｖ２は、現在のブロックの左下制御点の動きベクトルを表す。
【０２９６】
現在のブロックの左上ピクセルに対する動き補償ユニットの中心点の座標は、次の式（３８）に従って計算され得る：
【数３７】
2021529483.tif 000039
【０２９７】
上記の式中、ｉは、（左から右へ）水平方向におけるｉ番目の動き補償ユニットであり、ｊは、（上から下へ）垂直方向におけるｊ番目の動き補償ユニットであり、（ｘ（ｉ，ｊ），ｙ（ｉ，ｊ））は、現在のアフィン復号化ブロックの左上制御点でのピクセルに対する（ｉ，ｊ）番目の動き補償ユニットの中心点の座標を示す。
【０２９８】
６パラメータアフィン運動モデルが現在のアフィン復号化ブロックに使用される場合に、（ｘ（ｉ，ｊ），ｙ（ｉ，ｊ））は、各動き補償ユニットの中心点の動きベクトルを取得するよう６パラメータアフィン運動モデルのための次の式（３７）に代入され、取得された動きベクトルは、動き補償ユニットにおける全てのサンプルの動きベクトル（ｖｘ（ｉ，ｊ），ｖｙ（ｉ，ｊ））として使用される：
【数３８】
2021529483.tif 000040
【０２９９】
４パラメータアフィン運動モデルが現在のアフィン復号化ブロックに使用される場合に、（ｘ（ｉ，ｊ），ｙ（ｉ，ｊ））は、各動き補償ユニットの中心点の動きベクトルを取得するよう４パラメータアフィン運動モデルのための次の式（３９）に代入され、取得された動きベクトルは、動き補償ユニットにおける全てのサンプルの動きベクトル（ｖｘ（ｉ，ｊ），ｖｙ（ｉ，ｊ））として使用される：
【数３９】
2021529483.tif 000041
【０３００】
ステップ６０６ａ：サブブロックごとに、サブブロックの決定された動きベクトル値に基づいて動き補償を実行して、サブブロックのピクセル予測子を取得する。
【０３０１】
ステップ６０２ｂ：アフィン変換モデルに基づくマージモードのための候補動きベクトルリストを構成する。
【０３０２】
本発明のいくつかの具体的な実施形態で、現在のブロックの制御点の候補動きベクトルは、代替的に、第１運動モデルに基づく動きベクトル予測方法を使用することによって取得され、マージモードに対応する候補動きベクトルリストに加えられてよい。
【０３０３】
本発明のいくつかの他の具体的な実施形態で、現在のブロックの制御点の候補動きベクトルは、代替的に、第１運動モデルに基づく動きベクトル予測方法及び構成的制御点動きベクトル予測方法を使用することによって別々に取得され、マージモードに対応する候補動きベクトルリストに加えられてよい。
【０３０４】
同様に、マージモードに対応する候補動きベクトルリストについて、４パラメータアフィン変換モデルが現在のブロックに使用される場合に、候補動きベクトルリストは２タプルリストであってよい。２タプルリストは、４パラメータアフィン変換モデルを構成するために使用される１つ以上の２タプルを含む。
【０３０５】
６パラメータアフィン変換モデルが現在のブロックに使用される場合に、候補動きベクトルリストはトリプレットリストであってよい。トリプレットリストは、６パラメータアフィン変換モデルを構成するために使用される１つ以上のトリプレットを含む。
【０３０６】
８パラメータ双線形モデルが現在のブロックに使用される場合に、候補動きベクトルリストはクワドループルリストであってよい。クワドループルリストは、８パラメータ双線形モデルを構成するために使用される１つ以上のクワドループルを含む。
【０３０７】
可能な適用シナリオで、候補動きベクトル２タプル／トリプレット／クワドループルリストは、特定の規則に従ってプルーニング及びソートされてよく、特定の数の候補動きベクトルを取得するよう切り詰められ又はパディングされてよい。
【０３０８】
同様に、第１運動モデルに基づく動きベクトル予測方法について、例えば、図１０に示されるように、現在のブロックの隣接位置ブロックは、隣接位置ブロックが位置するアフィン復号化ブロックを見つけるために、図１０のＡ１→Ｂ１→Ｂ０→Ａ０→Ｂ２の順にトラバースされてよい。アフィン復号化ブロックのアフィン変換モデルは、アフィン復号化ブロックの制御点を使用することによって構成され、次いで、現在のブロックの制御点の候補動きベクトル（例えば、候補動きベクトル２タプル／トリプレット／クワドループル）は、アフィン復号化ブロックのアフィン変換モデルを使用することによって導出され、マージモードに対応する候補動きベクトルリストに加えられる。他の探索順序も、本発明の実施形態に適用可能であり得る、ことが留意されるべきである。詳細はここで記載されない。
【０３０９】
具体的に、上記のトラバースプロセスで、候補動きベクトルリストが空である場合には、制御点の候補動き情報は候補リストに加えられる。そうでなければ、候補動きベクトルリスト内の動き情報は順次トラバースされ、制御点の候補動き情報と同じである動き情報が候補動きベクトルリストに存在するかどうかが確認される。制御点の候補動き情報と同じである動き情報が候補動きベクトルリストに存在しない場合には、制御点の候補動き情報は候補動きベクトルリストに加えられる。
【０３１０】
２つの候補動き情報が同じであるかどうかを決定するために、２つの候補動き情報における前方参照フレーム、後方参照フレーム、各前方動きベクトルの水平及び垂直成分、並びに各後方動きベクトルの水平及び垂直成分が同じであるかどうかを順次決定する必要がある。２つの候補動き情報は、それら全ての要素が異なる場合にのみ異なると見なされる。
【０３１１】
候補動きベクトルリスト内の動き情報の数が最大リスト長さに達する場合に、候補リスト構成は完了され、そうでなければ、次の隣接位置ブロックがトラバースされる。
【０３１２】
構成的制御点動きベクトル予測方法を使用することによって現在のブロックの制御点の候補動きベクトルを取得することに関するいくつかの内容は、上記の“（４）”で詳細に説明されている。本明細書の簡潔さのために、詳細はここで再び記載されない。
【０３１３】
第１運動モデルに基づく動きベクトル予測方法を使用することによって現在のブロックの制御点の候補動きベクトルを取得することに関するいくつかの内容は、上記の“（５）”で詳細に説明されている。本明細書の簡潔さのために、詳細はここで再び記載されない。
【０３１４】
第１運動モデルに基づく動きベクトル予測方法が使用されるいくつかの実施形態において、アフィン変換モデルに基づくマージモードの場合に、４パラメータアフィン変換モデル、６パラメータアフィン変換モデル、及び８パラメータ双線形モデルなどのアフィン変換モデルは、代替的に、画像内の異なるブロックごとに区別されてなくてもよく、すなわち、同数のパラメータによるアフィン変換モデルが異なるブロックに使用されてよい、ことが留意されるべきである。
【０３１５】
例えば、６パラメータアフィン変換モデルが画像内の全てのブロックに使用される。図１０のＡ１が例として使用される。Ａ１が位置するアフィン復号化ブロックの３つの制御点の動きベクトル、すなわち、左上制御点（ｘ４，ｙ４）の動きベクトル値（ｖｘ４，ｖｙ４）、右上制御点（ｘ５，ｙ５）の動きベクトル値（ｖｘ５，ｖｙ５）、及び左下制御点（ｘ６，ｙ６）の動きベクトル（ｖｘ６，ｖｙ６）、が取得される。次いで、隣接するアフィン復号化ブロックの３つの制御点によって構成された６パラメータアフィンモデルに基づいて、現在のブロックの左上制御点、右上制御点、及び左下制御点の動きベクトルは、夫々、式（３４）、（３５）、及び（３６）に従って導出される。
【０３１６】
本発明の技術的解決法は、上記の例に限定されず、他の制御点、運動モデル、候補位置、及び探索順序も、本発明に適用可能であり得る、ことが留意されるべきである。詳細はここで記載されない。
【０３１７】
ステップ６０３ｂ：インデックス値に基づいて制御点の動きベクトル値を決定する。
【０３１８】
具体的に、候補動きベクトルリストのインデックス値は、ビットストリームをパースすることによって取得され、制御点の実際の動きベクトルは、インデックス値に基づいて、ステップ６０２ｂで構成された候補動きベクトルリストの中で決定される。
【０３１９】
例えば、４パラメータアフィン運動モデルが現在のブロックに使用される場合に、インデックス値は、パースすることにより取得され、２つの制御点の動きベクトル値は、インデックス値に基づいて候補動きベクトル２タプルリストの中で決定される。
【０３２０】
他の例として、６パラメータアフィン運動モデルが現在のブロックに使用される場合に、インデックス値は、パースすることにより取得され、３つの制御点の動きベクトル値は、インデックス値に基づいて候補動きベクトルトリプレットリストの中で決定される。
【０３２１】
他の例として、８パラメータ双線形モデルが現在のブロックに使用される場合に、インデックス値は、パースすることにより取得され、４つの制御点の動きベクトル値は、インデックス値に基づいて候補動きベクトルトクワドループルリストの中で決定される。
【０３２２】
ステップ６０４ｂ：現在のブロックに使用されているアフィン変換モデルに基づいて現在のブロックの各サブブロックの動きベクトル値を取得する。このステップの詳細な実施については、ステップ６０５ａの説明を参照されたい。本明細書の簡潔さのために、詳細は、ここで再び記載されない。
【０３２３】
ステップ６０５ｂ：サブブロックごとに、対応する動きベクトル値に基づいて動き補償を実行して、サブブロックのピクセル予測子を取得する。
【０３２４】
本発明のこの実施形態において、復号器側は、現在のブロックを予測する過程で、第１運動モデルに基づく動きベクトル予測方法を使用する、ことが分かる。このようにして、隣接ブロックのアフィン変換モデルは、現在のブロックをパースするフェーズで（例えば、ＡＭＶＰモード又はマージモードのための候補動きベクトルリストを構成するフェーズで）、現在のブロックのアフィン変換モデルを構成するために使用され得る。２つのブロックのアフィン変換モデルは、異なっても又は同じであってもよい。現在のブロックのアフィン変換モデルは、現在のブロックの実際の動き状態／実際の要件をより良く満足する。従って、この解決法は、現在のブロックを予測する際のコーディング効率及び精度を改善し、かつ、ユーザ要求を満足することができる。
【０３２５】
図１２を参照されたい。第２運動モデルに基づく動きベクトル予測方法の設計ソリューションに基づいて、本発明の実施形態は、他の動きベクトル予測方法を提供する。方法は、ビデオ復号器２００によって実行されてよく、具体的に、ビデオ復号器２００のインター予測器２１０によって実行されてよい。ビデオ復号器２００は、複数のビデオフレームを有するビデオデータストリームに基づいて、現在のビデオフレームの現在の復号化ブロック（略して現在のブロックと称される）の各サブブロックの動き情報を予測し、動き補償を実行するよう、下記のステップの一部又は全てを実行してよい。図１２に示されるように、方法は、次のステップを含むが、限定されない。
【０３２６】
ステップ７０１：ビットストリームをパースし、現在の復号化ブロックのインター予測モードを決定する。
【０３２７】
具体的に、復号器側でのビデオ復号器２００は、インター予測モードを示すために使用されている指示情報を取得して、指示情報に基づいて現在のブロックのインター予測モードを決定するために、符号器側から送信されたビットストリーム内のシンタックス要素をパースしてよい。
【０３２８】
現在のブロックのインター予測モードがアフィン変換モデルに基づくＡＭＶＰモードであると決定される場合には、ステップ７０２ａから７０６ａが続いて実行される。
【０３２９】
現在のブロックのインター予測モードがアフィン変換モデルに基づくマージモードであると決定される場合には、ステップ７０２ｂから７０５ｂが続いて実行される。
【０３３０】
ステップ７０２ａ：アフィン変換モデルに基づくＡＭＶＰモードのための候補動きベクトルリストを構成する。
【０３３１】
本発明のこの実施形態で、画像シーケンス内の画像の異なるブロックに使用されるアフィン変換モデルは限定されず、すなわち、異なるアフィン変換モデルが異なるブロックごと使用されてよい。
【０３３２】
具体的な実施形態で、現在のブロックの制御点の候補動きベクトルは、継承的制御点動きベクトル予測方法を使用することによって取得され、ＡＭＶＰモードに対応する候補動きベクトルリストに加えられてよい。
【０３３３】
具体的な実施形態で、現在のブロックの制御点の候補動きベクトルは、第１運動モデルに基づく動きベクトル予測方法を使用することによって取得され、ＡＭＶＰモードに対応する候補動きベクトルリストに加えられてよい。
【０３３４】
具体的な実施形態で、現在のブロックの制御点の候補動きベクトルは、構成的制御点動きベクトル予測方法を使用することによって取得され、ＡＭＶＰモードに対応する候補動きベクトルリストに加えられてよい。
【０３３５】
いくつかの他の具体的な実施形態において、現在のブロックの制御点の候補動きベクトルは、代替的に、継承的制御点動きベクトル予測方法、第２運動モデルに基づく動きベクトル予測方法、又は構成的制御点動きベクトル予測方法のうちのいずれか２つを使用することによって別々に取得され、ＡＭＶＰモードに対応する候補動きベクトルリストに加えられてよい。
【０３３６】
いくつかの他の具体的な実施形態において、現在のブロックの制御点の候補動きベクトルは、代替的に、継承的制御点動きベクトル予測方法、第２運動モデルに基づく動きベクトル予測方法、及び構成的制御点動きベクトル予測方法を使用することによって別々に取得され、ＡＭＶＰモードに対応する候補動きベクトルリストに加えられてよい。
【０３３７】
継承的制御点動きベクトル予測方法を使用することによって現在のブロックの制御点の候補動きベクトルを取得することに関するいくつかの内容は、上記の“（３）”で詳細に説明されている。本明細書の簡潔さのために、詳細はここで再び記載されない。
【０３３８】
構成的制御点動きベクトル予測方法を使用することによって現在のブロックの制御点の候補動きベクトルを取得することに関するいくつかの内容は、上記の“（４）”で詳細に説明されている。本明細書の簡潔さのために、詳細はここで再び記載されない。
【０３３９】
第１運動モデルに基づく動きベクトル予測方法を使用することによって現在のブロックの制御点の候補動きベクトルを取得することに関するいくつかの内容は、上記の“（５）”で及び図９の実施形態におけるステップ６０２ａで詳細に説明されている。本明細書の簡潔さのために、詳細はここで再び記載されない。
【０３４０】
例えば、４パラメータアフィン変換モデルが現在のブロックに使用される場合に、ＡＭＶＰモードのための候補動きベクトルリストは２タプルリストであってよい。２タプルリストは、４パラメータアフィン変換モデルを構成するために使用される１つ以上の２タプルを含む。
【０３４１】
６パラメータアフィン変換モデルが現在のブロックに使用される場合に、ＡＭＶＰモードのための候補動きベクトルリストはトリプレットリストであってよい。トリプレットリストは、６パラメータアフィン変換モデルを構成するために使用される１つ以上のトリプレットを含む。
【０３４２】
８パラメータ双線形モデルが現在のブロックに使用される場合に、ＡＭＶＰモードのための候補動きベクトルリストは、クワドループルリストであってよい。クワドループルリストは、８パラメータ双線形モデルを構成するために使用される１つ以上のクワドループルを含む。
【０３４３】
可能な適用シナリオで、候補動きベクトル２タプル／トリプレット／クワドループルリストは、特定の規則に従って更にプルーニング及びソートされてよく、特定の数の候補動きベクトルを取得するよう切り詰められ又はパディングされてよい。
【０３４４】
ステップ７０３ａ：インデックス値に基づいて制御点の最適な動きベクトル予測子を決定する。具体的な内容については、図９の実施形態におけるステップ６０３ａの関連する記載を参照されたい。詳細は、ここで再び記載されない。
【０３４５】
ステップ７０４ａ：動きベクトル差に基づいて現在のブロックの３つの制御点の動きベクトル値を決定する。
【０３４６】
具体的に、制御点の動きベクトル差は、ビットストリームをパースすることによって取得され、次いで、制御点の動きベクトルは、制御点の動きベクトル差と、ステップ７０３ａで決定されている制御点の最適な動きベクトル予測子とに基づいて、取得される。次いで、現在のブロックの３つの制御点の動きベクトル値は、制御点の取得された動きベクトルに基づいて決定される。
【０３４７】
例えば、ステップ７０２ａで復号器側によって構成された候補動きベクトルリストが２タプルリストである場合に、インデックス値は、ステップ７０３ａでパースすることにより取得され、２つの制御点（すなわち、２タプル）の動きベクトル予測子（ＭＶＰ）は、インデックス値に基づいて候補動きベクトルリストの中で決定される。現在のブロックの２つの制御点の動きベクトル差（ＭＶＤ）は、ステップ７０４ａでビットストリームをパースすることによって取得される。次いで、２つの制御点の動きベクトル値（ＭＶ）は、２つの制御点のＭＶＰ及びＭＶＤに基づいて夫々取得される。２つの制御点の動きベクトル値は、例えば、現在のブロックの左上制御点（ｘ０，ｙ０）の動きベクトル値（ｖｘ０，ｖｙ０）及び現在のブロックの右上制御点（ｘ１，ｙ１）の動きベクトル値（ｖｘ１，ｖｙ１）である。次いで、４パラメータアフィン変換モデルは、現在のブロックの２つの制御点の動きベクトル値に基づいて構成される。第３の制御点の動きベクトル値は、４パラメータアフィン変換モデルのための式（４０）に従って取得される。第３の制御点の動きベクトル値は、例えば、現在のブロックの左下角（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）である。このようにして、現在のブロックの左上制御点、右上制御点、及び左下制御点の動きベクトル値は決定される。
【０３４８】
他の例として、ステップ７０２ａで復号器側によって構成された候補動きベクトルリストがトリプレットリストである場合に、インデックス値は、ステップ７０３ａでパースすることにより取得され、３つの制御点（すなわち、トリプレット）の動きベクトル予測子（ＭＶＰ）は、インデックス値に基づいて候補動きベクトルリストの中で決定される。現在のブロックの３つの制御点の動きベクトル差（ＭＶＤ）は、ステップ７０４ａでビットストリームをパースすることによって取得される。次いで、３つの制御点の動きベクトル値（ＭＶ）は、３つの制御点のＭＶＰ及びＭＶＤに基づいて夫々取得される。３つの制御点の動きベクトル値は、例えば、現在のブロックの左上制御点（ｘ０，ｙ０）の動きベクトル値（ｖｘ０，ｖｙ０）、現在のブロックの右上制御点（ｘ１，ｙ１）の動きベクトル値（ｖｘ１，ｖｙ１）、及び現在のブロックの左下角（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）である。
【０３４９】
このようにして、現在のブロックの左上制御点、右上制御点、及び左下制御点の動きベクトル値は、決定される。
【０３５０】
他の例として、ステップ７０２ａで復号器側によって構成された候補動きベクトルリストがクワドループルリストである場合に、インデックス値は、ステップ７０３ａでパースすることにより取得され、４つの制御点（すなわち、クワドループル）の動きベクトル予測子（ＭＶＰ）は、インデックス値に基づいて候補動きベクトルリストの中で決定される。現在のブロックの４つの制御点の動きベクトル差（ＭＶＤ）は、ステップ７０４ａでビットストリームをパースすることによって取得される。次いで、４つの制御点の動きベクトル値（ＭＶ）は、４つの制御点のＭＶＰ及びＭＶＤに基づいて夫々取得される。４つの制御点の動きベクトル値は、例えば、現在のブロックの左上制御点（ｘ０，ｙ０）の動きベクトル値（ｖｘ０，ｖｙ０）、現在のブロックの右上制御点（ｘ１，ｙ１）の動きベクトル値（ｖｘ１，ｖｙ１）、現在のブロックの左下角（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）、及び現在のブロックの右下角（ｘ３，ｙ３）の動きベクトル（ｖｘ３，ｖｙ３）である。次いで、復号器側は、現在のブロックの左上制御点、右上制御点、及び左下制御点の動きベクトル値のみを使用してよい。
【０３５１】
本発明の技術的解決法は、上記の例に限定されず、他の制御点及び運動モデルも、本発明に適用可能であり得る、ことが留意されるべきである。詳細はここで記載されない。
【０３５２】
ステップ７０５ａ：現在のブロックの３つの制御点に基づき、かつ、６パラメータアフィン変換モデルを使用することによって、各サブブロックの動きベクトル値を取得する。
【０３５３】
具体的に、現在のブロックの３つの制御点の動きベクトル値は、ステップ７０４ａで決定されている。従って、６パラメータアフィン変換モデルは、現在のブロックの３つの制御点の動きベクトル値に基づいて構成されてよく、各サブブロックの動きベクトル値は、６パラメータアフィン変換モデルを使用することによって取得される。
【０３５４】
例えば、３つの制御点の動きベクトル値は、例えば、現在のブロックの左上制御点（ｘ０，ｙ０）の動きベクトル値（ｖｘ０，ｖｙ０）、現在のブロックの右上制御点（ｘ１，ｙ１）の動きベクトル値（ｖｘ１，ｖｙ１）、及び現在のブロックの左下制御点（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）である。この場合に、再構成フェーズでの現在のブロックの６パラメータアフィンモデルは、現在のブロックの左上制御点（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）、現在のブロックの右上制御点（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）、及び現在のブロックの左下角（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）を使用することによって取得される。６パラメータアフィンモデルの式は、式（３７）に示されている。
【０３５５】
次いで、現在のブロックの左上角（又は他の基準点）に対する現在のブロックの各サブブロック（又は各動き補償ユニット）における前もってセットされた位置でのサンプルの座標（ｘ（ｉ，ｊ），ｙ（ｉ，ｊ））は、各サブブロックの動きベクトル値を取得するために上記の式（３７）に代入される。前もってセットされた位置でのサンプルは、各サブブロック（又は各動き補償ユニット）の中心点であってよい。現在のブロックの左上ピクセルに対する各サブブロック（又は各動き補償ユニット）の中心点の座標（ｘ（ｉ，ｊ），ｙ（ｉ，ｊ））は、下記の式（３８）に従って計算されてよい。具体的な内容については、図１１Ａの実施形態及び図１１Ｂの実施形態における関連する記載を参照されたい。詳細は、ここで再び記載されない。
【０３５６】
ステップ７０６ａ：サブブロックごとに、対応する動きベクトル値に基づいて動き補償を実行して、サブブロックのピクセル予測子を取得する。
【０３５７】
ステップ７０２ｂ：アフィン変換モデルに基づくマージモードのための候補動きベクトルリストを構成する。
【０３５８】
同様に、本発明のこの実施形態で、画像シーケンス内の画像の異なるブロックに使用されるアフィン変換モデルは限定されず、すなわち、異なるアフィン変換モデルが異なるブロックごと使用されてよい。
【０３５９】
具体的な実施形態で、現在のブロックの制御点の候補動きベクトルは、継承的制御点動きベクトル予測方法を使用することによって取得され、マージモードに対応する候補動きベクトルリストに加えられてよい。
【０３６０】
具体的な実施形態で、現在のブロックの制御点の候補動きベクトルは、第１運動モデルに基づく動きベクトル予測方法を使用することによって取得され、マージモードに対応する候補動きベクトルリストに加えられてよい。
【０３６１】
具体的な実施形態で、現在のブロックの制御点の候補動きベクトルは、構成的制御点動きベクトル予測方法を使用することによって取得され、マージモードに対応する候補動きベクトルリストに加えられてよい。
【０３６２】
いくつかの他の具体的な実施形態において、現在のブロックの制御点の候補動きベクトルは、代替的に、継承的制御点動きベクトル予測方法、第２運動モデルに基づく動きベクトル予測方法、又は構成的制御点動きベクトル予測方法のうちのいずれか２つを使用することによって別々に取得され、マージモードに対応する候補動きベクトルリストに加えられてよい。
【０３６３】
いくつかの他の具体的な実施形態において、現在のブロックの制御点の候補動きベクトルは、代替的に、継承的制御点動きベクトル予測方法、第２運動モデルに基づく動きベクトル予測方法、及び構成的制御点動きベクトル予測方法を使用することによって別々に取得され、マージモードに対応する候補動きベクトルリストに加えられてよい。
【０３６４】
継承的制御点動きベクトル予測方法を使用することによって現在のブロックの制御点の候補動きベクトルを取得することに関するいくつかの内容は、上記の“（３）”で詳細に説明されている。本明細書の簡潔さのために、詳細はここで再び記載されない。
【０３６５】
構成的制御点動きベクトル予測方法を使用することによって現在のブロックの制御点の候補動きベクトルを取得することに関するいくつかの内容は、上記の“（４）”で詳細に説明されている。本明細書の簡潔さのために、詳細はここで再び記載されない。
【０３６６】
第１運動モデルに基づく動きベクトル予測方法を使用することによって現在のブロックの制御点の候補動きベクトルを取得することに関するいくつかの内容は、上記の“（５）”で及び図９の実施形態におけるステップ６０ｂａで詳細に説明されている。本明細書の簡潔さのために、詳細はここで再び記載されない。
【０３６７】
更なるいくつかの他の実施形態で、アフィン変換モデルに基づくマージモードの場合に、復号器側によって確立された候補動きベクトルリストは、候補動きベクトル２タプル／トリプレット／クワドループルリストであってよい、ことが留意されるべきである。その上、候補動きベクトル２タプル／トリプレット／クワドループルリストは、特定の規則に従って更にプルーニング及びソートされてよく、特定の数の候補動きベクトルを取得するよう切り詰められ又はパディングされてよい。
【０３６８】
更なるいくつかの他の実施形態で、アフィン変換モデルに基づくマージモードの場合に、４パラメータアフィン変換モデル、６パラメータアフィン変換モデル、及び８パラメータ双線形モデルなどのアフィン変換モデルは、代替的に、画像内の異なるブロックごとに区別されてなくてもよく、すなわち、同数のパラメータによるアフィン変換モデルが異なるブロックに使用されてよい、ことが留意されるべきである。
【０３６９】
ステップ７０３ｂ：インデックス値に基づいて制御点の動きベクトル値を取得する。具体的に、候補動きベクトルリストのインデックス値は、ビットストリームをパースすることによって取得され、制御点の実際の動きベクトルは、インデックス値に基づいて、ステップ７０２ｂで構成された候補動きベクトルリストの中で決定される。このステップの具体的な実施については、図９の実施形態におけるステップ６０３ｂにおける関連する記載を参照されたい。詳細は、ここで再び記載されない。
【０３７０】
ステップ７０４ｂ：制御点の取得された動きベクトルに基づいて現在のブロックの３つの制御点の動きベクトル値を決定する。
【０３７１】
例えば、復号器側は、ステップ７０３ｂで２つの制御点（すなわち、２タプル）の動きベクトル値を取得する。２つの制御点の動きベクトル値は、例えば、現在のブロックの左上制御点（ｘ０，ｙ０）の動きベクトル値（ｖｘ０，ｖｙ０）及び現在のブロックの右上制御点（ｘ１，ｙ１）の動きベクトル値（ｖｘ１，ｖｙ１）である。次いで、４パラメータアフィン変換モデルは、現在のブロックの２つの制御点の動きベクトル値に基づいて構成される。第３の制御点の動きベクトル値は、４パラメータアフィン変換モデルのための式（３１）に従って取得される。第３の制御点の動きベクトル値は、例えば、現在のブロックの左下角（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）である。このようにして、現在のブロックの左上制御点、右上制御点、及び左下制御点の動きベクトル値は、決定される。
【０３７２】
他の例として、復号器側は、ステップ７０３ｂで３つの制御点（すなわち、トリプレット）の動きベクトル値を取得する。３つの制御点の動きベクトル値は、例えば、現在のブロックの左上制御点（ｘ０，ｙ０）の動きベクトル値（ｖｘ０，ｖｙ０）、現在のブロックの右上制御点（ｘ１，ｙ１）の動きベクトル値（ｖｘ１，ｖｙ１）、及び現在のブロックの左下角（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）である。このようにして、現在のブロックの左上制御点、右上制御点、及び左下制御点の動きベクトル値は、決定される。
【０３７３】
他の例として、復号器側は、ステップ７０３ｂで４つの制御点（すなわち、クワドループル）の動きベクトル値を取得する。４つの制御点の動きベクトル値は、例えば、現在のブロックの左上制御点（ｘ０，ｙ０）の動きベクトル値（ｖｘ０，ｖｙ０）、現在のブロックの右上制御点（ｘ１，ｙ１）の動きベクトル値（ｖｘ１，ｖｙ１）、現在のブロックの左下角（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）、及び現在のブロックの右下角（ｘ３，ｖｙ３）の動きベクトル（ｖｘ３，ｖｙ３）である。次いで、復号器側は、現在のブロックの左上制御点、右上制御点、及び左下制御点の動きベクトル値のみを使用してよい。
【０３７４】
本発明の技術的解決法は、上記の例に限定されず、他の制御点及び運動モデルも、本発明に適用可能であり得る、ことが留意されるべきである。詳細はここで記載されない。
【０３７５】
ステップ７０５ｂ：現在のブロックの３つの制御点に基づき、かつ、６パラメータアフィン変換モデルを使用することによって、各サブブロックの動きベクトル値を取得する。このステップの具体的な実施については、ステップ７０５ａにおける関連する記載を参照されたい。詳細は、ここで再び記載されない。
【０３７６】
ステップ７０６ｂ：サブブロックごとに、対応する動きベクトル値に基づいて動き補償を実行して、サブブロックのピクセル予測子を取得する。
【０３７７】
本発明のこの実施形態において、復号器側は、現在のブロックを予測する過程で、第２運動モデルに基づく動きベクトル予測方法を使用する、ことが分かる。このようにして、パースフェーズで、現在のブロックに使用されるアフィン変換モデルのパラメータの数は、隣接ブロックに使用されるアフィン変換モデルのそれと異なっても又は同じであってもよく、６パラメータアフィン変換モデルは、現在のブロックを再構成するフェーズ（サブブロックの動きベクトルを予測するフェーズを含む）で、現在のブロックを予測するために一律に使用され得る。この解決法で、再構成フェーズで構成された６パラメータアフィン変換モデルは、画像ブロックの平行移動、スケーリング、及び回転などのアフィン変換を記述し、モデル複雑性とモデリング能力との間の良いバランスを達成することができる。従って、この解決法は、現在のブロックを予測する際のコーディング効率及び精度を改善し、かつ、ユーザ要求を満足することができる。
【０３７８】
図１３は、本発明の実施形態に従う更なる他の動きベクトル予測方法のフローチャートである。方法は、ビデオ符号器１００によって実行されてよく、具体的に、ビデオ符号器１００のインター予測器１１０によって実行されてよい。ビデオ符号器１００は、複数のビデオフレームを有するビデオデータストリームに基づいて、現在のビデオフレームの現在のコーディングブロック（略して現在のブロックと称される）を符号化するよう、下記のステップの一部又は全てを実行してよい。図１３に示されるように、方法は、次のステップを含むが、これらに限定されない。
【０３７９】
８０１：現在のコーディングブロックのインター予測モードを決定する。
【０３８０】
具体的な実施において、複数のインター予測モードが、符号器側でインター予測のために予めセットされてよい。例えば、複数のイントラ予測モードは、上述されているアフィン運動モデルに基づくＡＭＶＰモード及びアフィン運動モデルに基づくマージモードを含む。符号器側は、現在のブロックを予測するための最適なインター予測モードを決定するために、複数のインター予測モードをトラバースする。
【０３８１】
他の具体的な実施では、ただ１つのインター予測モードが、符号器側でインター予測のために予めセットされてよい。この場合に、符号器側は、デフォルトのインター予測モードが現在使用されていることを直接決定する。デフォルトのインター予測モードは、アフィン運動モデルに基づくＡＭＶＰモード又はアフィン運動モデルに基づくマージモードである。
【０３８２】
本発明のこの実施形態において、現在のブロックのインター予測モードがアフィン運動モデルに基づくＡＭＶＰモードであると決定される場合には、ステップ８０２ａから８０４ａが続けて実行される。
【０３８３】
本発明のこの実施形態において、現在のブロックのインター予測モードがアフィン運動モデルに基づくＡＭＶＰモードであると決定される場合には、ステップ８０２ｂから８０４ｂが続けて実行される。
【０３８４】
８０２ａ：アフィン変換に基づくＡＭＶＰモードのための候補動きベクトルリストを構成する。
【０３８５】
いくつかの実施形態で、符号器側は、第１運動モデルに基づく動きベクトル予測方法の設計ソリューションを使用する。従って、このステップの具体的な実施については、図９の実施形態におけるステップ６０２ａの記載を参照されたい。詳細は、ここで再び記載されない。
【０３８６】
いくつかの他の実施形態で、符号器側は、第２運動モデルに基づく動きベクトル予測方法の設計ソリューションを使用する。従って、このステップの具体的な実施については、図１２の実施形態におけるステップ７０２ａの記載を参照されたい。詳細は、ここで再び記載されない。
【０３８７】
８０３ａ：レート歪みコストに基づいて制御点の最適な動きベクトル予測子を決定する。
【０３８８】
いくつかの例で、符号器側は、候補動きベクトルリスト内の制御点動きベクトル予測子（例えば、候補動きベクトル２タプル／トリプレット／クワドループル）を使用することによって、及び式（３）、（５）、又は（７）に従って、現在のブロックの各動き補償サブユニットの動きベクトルを取得してよい。更に、符号器側は、各動き補償サブユニットの動きベクトルが指し示す参照フレーム内の対応する位置のピクセル値を取得し、そのピクセル値を動き補償サブユニットのピクセル予測子として使用して、アフィン運動モデルに基づく動き補償を実行する。元の値と現在のコーディングブロックにおける各サンプルの予測子との間の平均差が計算される。最小平均差に対応する制御点動きベクトル予測子が、最適な制御点動きベクトル予測子として選択され、現在のブロックの２つ、３つ、又は４つの制御点の動きベクトル予測子として使用される。
【０３８９】
８０４ａ：インデックス値と、制御点の動きベクトル差と、インター予測モードの指示情報とをビットストリームに符号化する。
【０３９０】
いくつかの例で、符号器側は、制御点動きベクトル（control  point  motion  vectors，ＣＰＭＶ）を取得するように最適な制御点動きベクトル予測子を探索開始点として使用することによって特定の探索範囲内で動き探索を実行し、そして、制御点動きベクトルと制御点動きベクトル予測子との間の差（control  point  motion  vectors  differences，ＣＰＭＶＤ）を計算してよい。次いで、符号器側は、候補動きベクトルリスト内の制御点動きベクトル予測子の位置を示すインデックス値と、ＣＰＭＶＤとをビットストリームに符号化する。インター予測モードの指示情報が更にビットストリームに符号化されてもよく、それにより、ビットストリームは、その後に、復号器側へ送信される。
【０３９１】
他の可能な例で、符号器側は、現在のブロックに使用されているアフィン変換モデル（パラメータの数）を示す指示情報をビットストリームに符号化し、その後に、ビットストリームを復号器側へ送信してよい。このようにして、復号器側は、指示情報に基づいて、現在のブロックに使用されているアフィン変換モデルを決定する。
【０３９２】
８０２ｂ：アフィン変換に基づくマージモードのための候補動きベクトルリストを構成する。
【０３９３】
いくつかの実施形態で、符号器側は、第１運動モデルに基づく動きベクトル予測方法の設計ソリューションを使用する。従って、このステップの具体的な実施については、図９の実施形態におけるステップ６０２ｂの記載を参照されたい。詳細は、ここで再び記載されない。
【０３９４】
いくつかの他の実施形態で、符号器側は、第２運動モデルに基づく動きベクトル予測方法の設計ソリューションを使用する。従って、このステップの具体的な実施については、図１２の実施形態におけるステップ７０２ｂの記載を参照されたい。詳細は、ここで再び記載されない。
【０３９５】
８０３ｂ：制御点の最適な動きベクトル予測子を決定する。
【０３９６】
いくつかの例で、符号器側は、候補動きベクトルリスト内の制御点動きベクトル（例えば、候補動きベクトル２タプル／トリプレット／クワドループル）を使用することによって、及び式（３）、（５）、又は（７）に従って、現在のコーディングブロックの各動き補償サブユニットの動きベクトルを取得してよい。更に、符号器側は、各動き補償サブユニットの動きベクトルが指し示す参照フレーム内の位置のピクセル値を取得し、そのピクセル値を動き補償サブユニットのピクセル予測子として使用して、アフィン動き補償を実行する。元の値と現在のコーディングブロックにおける各サンプルの予測子との間の平均差が計算される。最小平均差に対応する制御点動きベクトルが、最適な制御点動きベクトルとして選択される。最適な制御点動きベクトルは、現在のコーディングブロックの２つ、３つ、又は４つの制御点の動きベクトルとして使用される。
【０３９７】
８０４ｂ：インデックス値及びインター予測モードの指示情報をビットストリームに符号化する。
【０３９８】
一例で、符号器側は、候補リスト内の制御点動きベクトルの位置を示すインデックス値と、インター予測モードの指示情報とをビットストリームに符号化してよく、それにより、ビットストリームは、その後に、復号器側へ送信される。
【０３９９】
他の可能な例で、符号器側は、現在のブロックに使用されているアフィン変換モデル（パラメータの数）を示す指示情報をビットストリームに符号化し、その後に、ビットストリームを復号器側へ送信してよい。このようにして、復号器側は、指示情報に基づいて、現在のブロックに使用されているアフィン変換モデルを決定する。
【０４００】
上記の実施形態は、符号器側が符号化を実行し、ビットストリームを送るプロセスのみを記載している、ことが留意されるべきである。上記の記載に従って、当業者であれば、符号器側は、他のプロシージャで、本発明の実施形態で説明されている他の方法を実行してもよい、ことを理解する。例えば、現在のブロックに対して符号器側によって実行される予測中に、現在のブロックを再構成するプロセスの具体的な実施については、復号器側に関して上述された関連する方法（図９又は図１２の実施形態で示される）を参照されたい。詳細は、ここで再び記載されない。
【０４０１】
本発明の実施形態において、符号器側は、第１運動モデルに基づく動きベクトル予測方法の設計ソリューションに従って現在のブロックを符号化する、ことが分かる。このようにして、隣接ブロックのアフィン変換モデルは、現在のブロックをパースするフェーズで（例えば、ＡＭＶＰモード又はマージモードのための候補動きベクトルリストを構成するフェーズで）、現在のブロックのアフィン変換モデルを構成するために使用され得る。２つのブロックのアフィン変換モデルは、異なっても又は同じであってもよい。現在のブロックのアフィン変換モデルは、現在のブロックの実際の動き状態／実際の要件をより良く満足する。従って、この解決法は、現在のブロックを符号化する効率及び精度を改善し、かつ、ユーザ要求を満足することができる。
【０４０２】
本発明の実施形態において、符号器側は、第２運動モデルに基づく動きベクトル予測方法の設計ソリューションに従って現在のブロックを符号化する、ことが更に分かる。このことは、復号器側が、画像ブロックを再構成するフェーズで、画像ブロックを予測するために６パラメータアフィン変換モデルを一律に使用するのを助ける。従って、この解決法は、現在のブロックを予測する際のコーディング効率及び精度を改善し、かつ、ユーザ要求を満足することができる。
【０４０３】
当業者であれば、本明細書で開示及び記載されている様々な実例となる論理ブロック、モジュール、及びアルゴリズムステップを参照して説明されている機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせによって実施され得る、と理解することができる。ソフトウェアで実施される場合に、実例となる論理ブロック、モジュール、及びステップを参照して説明されている機能は、１つ以上の命令又はコードとしてコンピュータ可読媒体で記憶又は伝送され、ハードウェアベースの処理ユニットによって実行されてよい。コンピュータ可読媒体は、データ記憶媒体などの有形な媒体に対応するコンピュータ可読記憶媒体を含んでも、あるいは、１つの場所から他へ（例えば、通信プロトコルに従って）コンピュータプログラムの伝送を助ける如何なる通信媒体も含んでもよい。このようにして、コンピュータ可読媒体は、一般に、（１）非一時的な有形なコンピュータ可読記憶媒体、又は（２）信号若しくは搬送波などの通信媒体に対応してよい。データ記憶媒体は、本発明の実施形態で説明されている技術を実施するための命令、コード、及び／又はデータ構造を取り出すよう１つ以上のコンピュータ又は１つ以上のプロセッサによってアクセスされ得る如何なる使用可能な媒体でもあってよい。コンピュータプログラム製品は、コンピュータ可読媒体を含んでよい。
【０４０４】
例としてであって限定としてではなく、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ若しくは他のコンパクトディスク型記憶装置、磁気ディスク記憶装置若しくは他の磁気記憶装置、フラッシュメモリ、又は命令若しくはデータ構造の形で所望のプログラムコードを記憶するために使用可能であって、コンピュータによってアクセスされ得るあらゆる他の媒体を含んでよい。更に、如何なる接続も、コンピュータ可読媒体と適切に呼ばれる。例えば、命令がウェブサイト、サーバ、又は他の遠隔ソースから同軸ケーブル、光ファイバ、ツイステッドペア、デジタル加入者回線（ＤＳＬ）、又は赤外線、電波、若しくはマイクロ波などの無線技術を通じて伝送される場合に、同軸ケーブル、光ファイバ、ツイステッドペア、ＤＳＬ、又は赤外線、電波、若しくはマイクロ波などの無線技術は、媒体の定義に含まれる。なお、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時的な媒体を含まず、実際に非一時的な有形な記憶媒体である、ことが理解されるべきである。本明細書で使用されているdisk及びdiscは、コンパクトディスク（ＣＤ）、レーザーディスク、光ディスク、デジタル・バーサタイル・ディスク（ＤＶＤ）、及びブルーレイディスクを含む。diskは、通常は、磁気的にデータを再生し、一方、discは、レーザーで光学的にデータを再生する。上記の組み合わせも、コンピュータ可読媒体の範囲に含まれるべきである。
【０４０５】
命令は、１つ以上のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、又は他の同等の集積若しくはディスクリート・ロジック回路などの１つ以上のプロセッサによって実行されてよい。従って、本明細書で使用されている「プロセッサ」との用語は、上記の構造又は本明細書で説明されている技術に適用可能なあらゆる他の構造のいずれか１つであってよい。更に、いくつかの態様で、本明細書で説明されている実例となる論理ブロック、モジュール、及びステップを参照して説明されている機能は、符号化及び復号化のために構成されている専用のハードウェア及び／又はソフトウェアモジュール内で提供されてよく、あるいは、複合型コーデックに組み込まれてよい。更に、技術は、１つ以上の回路又はロジック素子において完全に実施されてよい。
【０４０６】
本発明の実施形態における技術は、無線ハンドセット、集積回路（ＩＣ）、又はＩＣの組（例えば、チップセット）を含む様々な装置又はデバイスで実施されてよい。様々なコンポーネント、モジュール、又はユニットは、開示されている技術を実行するよう構成されている装置の機能的側面を強調するように本発明の実施形態で説明されているが、必ずしも異なるハードウェアユニットによって実施されない。実際には、上述されたように、様々なユニットは、適切なソフトウェア及び／又はファームウェアと組み合わせてコーデックハードウェアユニットにまとめられてよく、あるいは、相互運用可能なハードウェアユニット（上述された１つ以上のプロセッサを含む）によって提供されてよい。
【０４０７】
上記の説明は、本発明の実施形態の具体的な実施の例にすぎず、本発明の実施形態の保護範囲を限定する意図はない。本発明の実施形態で開示されている技術的範囲内で当業者によって容易に考え出される如何なる変形又は置換も、本発明の実施形態の保護範囲内にあるべきである。従って、本発明の実施形態の保護範囲は、特許請求の範囲の保護範囲に従うべきである。
【図１】
2021529483.tif 000046
【図２Ａ】
2021529483.tif 000047
【図２Ｂ】
2021529483.tif 000048
【図３】
2021529483.tif 000049
【図４】
2021529483.tif 000050
【図５】
2021529483.tif 000051
【図６】
2021529483.tif 000052
【図７】
2021529483.tif 000053
【図８】
2021529483.tif 000054
【図９】
2021529483.tif 000055
【図１０】
2021529483.tif 000056
【図１１Ａ】
2021529483.tif 000057
【図１１Ｂ】
2021529483.tif 000058
【図１２】
2021529483.tif 000059
【図１３】
2021529483.tif 000060
【手続補正書】
【提出日】令和3年3月5日(2021.3.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
動きベクトル予測方法であって、
候補動きベクトルリストのインデックス値を取得するようビットストリームをパースすることと、
現在のブロックのアフィンモデルが２×Ｋパラメータアフィン変換モデルであり、前記現在のブロックの隣接ブロックのアフィン変換モデルが２×Ｎパラメータアフィン変換モデルである場合に、前記隣接ブロックに使用されている前記２×Ｎパラメータアフィン変換モデルに従って、前記現在のブロックのＫ個の制御点の候補動きベクトルを取得することであり、前記２×Ｎパラメータアフィン変換モデルは、前記隣接ブロックのＮ個の制御点の動きベクトルに基づいて取得され、Ｎは２以上４以下の整数であり、Ｋは２以上４以下の整数であり、ＮはＫと等しくなく、前記隣接ブロックは、前記現在のブロックに空間的に隣接する復号された画像ブロックであり、前記現在のブロックは、複数のサブブロックを含む、ことと、
前記現在のブロックの前記Ｋ個の制御点の前記候補動きベクトルを含む前記候補動きベクトルリストを構成することと、
前記候補動きベクトルリストの中で、前記インデックス値に基づいて前記Ｋ個の制御点の対象候補動きベクトルを決定することと、
前記Ｋ個の制御点の前記対象候補動きベクトルに基づいて前記現在のブロックの各サブブロックの予測動きベクトルを取得することと
を有する方法。
【請求項２】
Ｎは２に等しく、Ｋは３に等しく、相応して、前記現在のブロックの３つの制御点の候補動きベクトルは、前記現在のブロックの前記隣接ブロックに使用されている４パラメータアフィン変換モデルに基づいて取得される、
請求項１に記載の方法。
【請求項３】
前記現在のブロックの前記３つの制御点の前記候補動きベクトルは、前記現在のブロックの左上サンプル位置での動きベクトルと、前記現在のブロックの右上サンプル位置での動きベクトルと、前記現在のブロックの左下サンプル位置での動きベクトルとを有し、
前記現在のブロックの前記３つの制御点の前記候補動きベクトルが、前記現在のブロックの前記隣接ブロックに使用されている４パラメータアフィン変換モデルに基づいて取得されることは、前記現在のブロックの前記３つの制御点の前記候補動きベクトルが、次の式
【数４０】
2021529483.tif 000061
に従って計算されることを有し、
ｖｘ０は、前記現在のブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ０は、前記現在のブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ１は、前記現在のブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ１は、前記現在のブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ２は、前記現在のブロックの左下サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ２は、前記現在のブロックの左下サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ４は、前記隣接ブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ４は、前記隣接ブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ５は、前記隣接ブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ５は、前記隣接ブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｘ０は、前記現在のブロックの左上サンプル位置の水平座標であり、ｙ０は、前記現在のブロックの左上サンプル位置の垂直座標であり、ｘ１は、前記現在のブロックの右上サンプル位置の水平座標であり、ｙ１は、前記現在のブロックの右上サンプル位置の垂直座標であり、ｘ２は、前記現在のブロックの左下サンプル位置の水平座標であり、ｙ２は、前記現在のブロックの左下サンプル位置の垂直座標であり、ｘ４は、前記隣接ブロックの左上サンプル位置の水平座標であり、ｙ４は、前記隣接ブロックの左上サンプル位置の垂直座標であり、ｘ５は、前記隣接ブロックの右上サンプル位置の水平座標であり、ｙ５は、前記隣接ブロックの右上サンプル位置の垂直座標である、
請求項２に記載の方法。
【請求項４】
Ｎは３に等しく、Ｋは２に等しく、相応して、前記現在のブロックの２つの制御点の候補動きベクトルは、前記現在のブロックの前記隣接ブロックに使用されている６パラメータアフィン変換モデルに基づいて取得される、
請求項１に記載の方法。
【請求項５】
前記現在のブロックの前記２つの制御点の前記候補動きベクトルは、前記現在のブロックの左上サンプル位置での動きベクトルと、前記現在のブロックの右上サンプル位置での動きベクトルとを有し、
前記現在のブロックの前記２つの制御点の前記候補動きベクトルが、前記現在のブロックの前記隣接ブロックに使用されている６パラメータアフィン変換モデルに基づいて取得されることは、前記現在のブロックの前記２つの制御点の前記候補動きベクトルが、次の式
【数４１】
2021529483.tif 000062
に従って計算されることを有し、
ｖｘ０は、前記現在のブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ０は、前記現在のブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ１は、前記現在のブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ１は、前記現在のブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ４は、前記隣接ブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ４は、前記隣接ブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ５は、前記隣接ブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ５は、前記隣接ブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ６は、前記隣接ブロックの左下サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ６は、前記隣接ブロックの左下サンプル位置に対応する動きベクトルの垂直成分であり、ｘ０は、前記現在のブロックの左上サンプル位置の水平座標であり、ｙ０は、前記現在のブロックの左上サンプル位置の垂直座標であり、ｘ１は、前記現在のブロックの右上サンプル位置の水平座標であり、ｙ１は、前記現在のブロックの右上サンプル位置の垂直座標であり、ｘ４は、前記隣接ブロックの左上サンプル位置の水平座標であり、ｙ４は、前記隣接ブロックの左上サンプル位置の垂直座標であり、ｘ５は、前記隣接ブロックの右上サンプル位置の水平座標であり、ｙ５は、前記隣接ブロックの右上サンプル位置の垂直座標であり、ｘ６は、前記隣接ブロックの左下サンプル位置の水平座標であり、ｙ６は、前記隣接ブロックの左下サンプル位置の垂直座標である、
請求項４に記載の方法。
【請求項６】
前記Ｋ個の制御点の前記対象候補動きベクトルに基づいて前記現在のブロックの各サブブロックの予測動きベクトルを取得することは、
前記Ｋ個の制御点の前記対象候補動きベクトルに基づいて前記現在のブロックの２×Ｋパラメータアフィン変換モデルを取得することと、
前記２×Ｋパラメータアフィン変換モデルに基づいて前記現在のブロックの各サブブロックの前記予測動きベクトルを取得することと
を有する、
請求項１乃至５のうちいずれか一項に記載の方法。
【請求項７】
前記Ｋ個の制御点の前記対象候補動きベクトルに基づいて２×Ｋパラメータアフィン変換モデルを取得することは、
前記Ｋ個の制御点の前記対象候補動きベクトル及び前記Ｋ個の制御点の動きベクトル差に基づいて前記Ｋ個の制御点の動きベクトルを取得することであり、前記Ｋ個の制御点の前記動きベクトル差は、前記ビットストリームをパースすることによって取得される、ことと、
前記Ｋ個の制御点の前記動きベクトルに基づいて前記現在のブロックの前記２×Ｋパラメータアフィン変換モデルを取得することと
を有する、
請求項６に記載の方法。
【請求項８】
前記候補動きベクトルリストの中で、前記インデックス値に基づいて前記現在のブロックの前記Ｋ個の制御点の対象候補動きベクトルを決定することの後で、前記方法は、前記現在のブロックの前記Ｋ個の制御点の前記対象候補動きベクトルに基づいて前記現在のブロックの６パラメータアフィン変換モデルを取得することを更に有し、
相応して、前記Ｋ個の制御点の前記対象候補動きベクトルに基づいて前記現在のブロックの各サブブロックの予測動きベクトルを取得することは、
前記現在のブロックの前記６パラメータアフィン変換モデルに基づいて前記現在のブロックの各サブブロックの前記予測動きベクトルを取得することを有する、
請求項１乃至５のうちいずれか一項に記載の方法。
【請求項９】
復号化デバイスであって、
ビットストリームの形でビデオデータを記憶するよう構成される記憶ユニットと、
候補動きベクトルリストのインデックス値を取得するよう前記ビットストリームをパースするよう構成されるエントロピ復号化ユニットと、
現在のブロックのアフィンモデルが２×Ｋパラメータアフィン変換モデルであり、前記現在のブロックの隣接ブロックのアフィン変換モデルが２×Ｎパラメータアフィン変換モデルである場合に、前記隣接ブロックに使用されている前記２×Ｎパラメータアフィン変換モデルに従って、前記現在のブロックのＫ個の制御点の候補動きベクトルを取得し、前記２×Ｎパラメータアフィン変換モデルは、前記隣接ブロックのＮ個の制御点の動きベクトルに基づいて取得され、Ｎは２以上４以下の整数であり、Ｋは２以上４以下の整数であり、ＮはＫと等しくなく、前記隣接ブロックは、前記現在のブロックに空間的に隣接する復号された画像ブロックであり、前記現在のブロックは、複数のサブブロックを含む、よう構成される予測処理ユニットであり、前記現在のブロックの前記Ｋ個の制御点の前記候補動きベクトルを含む前記候補動きベクトルリストを構成し、前記候補動きベクトルリストの中で、前記インデックス値に基づいて前記現在のブロックの前記Ｋ個の制御点の対象候補動きベクトルを決定し、前記現在のブロックの前記Ｋ個の制御点の前記対象候補動きベクトルに基づいて前記現在のブロックの各サブブロックの予測動きベクトルを取得するよう構成される前記予測処理ユニットと
を有するデバイス。
【請求項１０】
Ｎは２に等しく、Ｋは３に等しく、相応して、前記現在のブロックの３つの制御点の候補動きベクトルは、前記現在のブロックの前記隣接ブロックに使用されている４パラメータアフィン変換モデルに基づいて取得される、
請求項９に記載のデバイス。
【請求項１１】
前記現在のブロックの前記３つの制御点の前記候補動きベクトルは、前記現在のブロックの左上サンプル位置での動きベクトルと、前記現在のブロックの右上サンプル位置での動きベクトルと、前記現在のブロックの左下サンプル位置での動きベクトルとを有し、
前記予測処理ユニットは、前記現在のブロックの前記３つの制御点の前記候補動きベクトルを、次の式
【数４２】
2021529483.tif 000063
に従って計算するよう構成され、
ｖｘ０は、前記現在のブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ０は、前記現在のブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ１は、前記現在のブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ１は、前記現在のブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ２は、前記現在のブロックの左下サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ２は、前記現在のブロックの左下サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ４は、前記隣接ブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ４は、前記隣接ブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ５は、前記隣接ブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ５は、前記隣接ブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｘ０は、前記現在のブロックの左上サンプル位置の水平座標であり、ｙ０は、前記現在のブロックの左上サンプル位置の垂直座標であり、ｘ１は、前記現在のブロックの右上サンプル位置の水平座標であり、ｙ１は、前記現在のブロックの右上サンプル位置の垂直座標であり、ｘ２は、前記現在のブロックの左下サンプル位置の水平座標であり、ｙ２は、前記現在のブロックの左下サンプル位置の垂直座標であり、ｘ４は、前記隣接ブロックの左上サンプル位置の水平座標であり、ｙ４は、前記隣接ブロックの左上サンプル位置の垂直座標であり、ｘ５は、前記隣接ブロックの右上サンプル位置の水平座標であり、ｙ５は、前記隣接ブロックの右上サンプル位置の垂直座標である、
請求項１０に記載のデバイス。
【請求項１２】
Ｎは３に等しく、Ｋは２に等しく、相応して、前記現在のブロックの２つの制御点の候補動きベクトルは、前記現在のブロックの前記隣接ブロックに使用されている６パラメータアフィン変換モデルに基づいて取得される、
請求項９に記載のデバイス。
【請求項１３】
前記現在のブロックの前記２つの制御点の前記候補動きベクトルは、前記現在のブロックの左上サンプル位置での動きベクトルと、前記現在のブロックの右上サンプル位置での動きベクトルとを有し、
前記予測処理ユニットは、前記現在のブロックの前記２つの制御点の前記候補動きベクトルを、次の式
【数４３】
2021529483.tif 000064
に従って計算するよう構成され、
ｖｘ０は、前記現在のブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ０は、前記現在のブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ１は、前記現在のブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ１は、前記現在のブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ４は、前記隣接ブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ４は、前記隣接ブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ５は、前記隣接ブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ５は、前記隣接ブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ６は、前記隣接ブロックの左下サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ６は、前記隣接ブロックの左下サンプル位置に対応する動きベクトルの垂直成分であり、ｘ０は、前記現在のブロックの左上サンプル位置の水平座標であり、ｙ０は、前記現在のブロックの左上サンプル位置の垂直座標であり、ｘ１は、前記現在のブロックの右上サンプル位置の水平座標であり、ｙ１は、前記現在のブロックの右上サンプル位置の垂直座標であり、ｘ４は、前記隣接ブロックの左上サンプル位置の水平座標であり、ｙ４は、前記隣接ブロックの左上サンプル位置の垂直座標であり、ｘ５は、前記隣接ブロックの右上サンプル位置の水平座標であり、ｙ５は、前記隣接ブロックの右上サンプル位置の垂直座標であり、ｘ６は、前記隣接ブロックの左下サンプル位置の水平座標であり、ｙ６は、前記隣接ブロックの左下サンプル位置の垂直座標である、
請求項１２に記載のデバイス。
【請求項１４】
前記予測処理ユニットは、
前記現在のブロックの前記Ｋ個の制御点の前記対象候補動きベクトルに基づいて前記現在のブロックの２×Ｋパラメータアフィン変換モデルを取得し、
前記現在のブロックの前記２×Ｋパラメータアフィン変換モデルに基づいて前記現在のブロックの各サブブロックの前記予測動きベクトルを取得する
よう特に構成される、
請求項９乃至１３のうちいずれか一項に記載のデバイス。
【請求項１５】
前記予測処理ユニットは、
前記現在のブロックの前記Ｋ個の制御点の前記対象候補動きベクトル及び前記現在のブロックの前記Ｋ個の制御点の動きベクトル差に基づいて前記現在のブロックの前記Ｋ個の制御点の動きベクトルを取得し、前記現在のブロックの前記Ｋ個の制御点の前記動きベクトル差は、前記ビットストリームをパースすることによって取得され、
前記現在のブロックの前記Ｋ個の制御点の前記動きベクトルに基づいて前記現在のブロックの前記２×Ｋパラメータアフィン変換モデルを取得する
よう特に構成される、
請求項１４に記載のデバイス。
【請求項１６】
前記候補動きベクトルリストの中で、前記インデックス値に基づいて前記現在のブロックの前記Ｋ個の制御点の前記対象候補動きベクトルを決定した後に、前記予測処理ユニットは、
前記現在のブロックの前記Ｋ個の制御点の前記対象候補動きベクトルに基づいて前記現在のブロックの６パラメータアフィン変換モデルを取得し、
前記現在のブロックの前記６パラメータアフィン変換モデルに基づいて前記現在のブロックの各サブブロックの前記予測動きベクトルを取得する
よう更に構成される、
請求項９乃至１３のうちいずれか一項に記載のデバイス。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ビデオコーディング技術の分野に、特に、ビデオ画像の動きベクトルを予測する方法及び装置と、対応する符号器及び復号器とに関係がある。
【背景技術】
【０００２】
ビデオコーディング（ビデオ符号化及び復号化）は、広範囲のデジタルビデオ用途、例えば、放送デジタルＴＶ、インターネット及びモバイルネットワーク上のビデオ伝送、ビデオチャットやビデオ会議などの実時間の対話アプリケーション、ＤＶＤ及びブルーレイディスク、ビデオコンテンツ取得及び編集システム、並びにセキュリティ用途のカムコーダ、において使用されている。
【０００３】
１９９０年のＨ．２６１標準規格におけるブロックベースのハイブリッドビデオコーディングアプローチの開発以来、新しいビデオコーディング技術及びツールが開発され、新しいビデオコーディング標準規格の基礎を形成した。更なるビデオコーディング標準規格には、ＭＰＥＧ−１ビデオ、ＭＰＥＧ−２ビデオ、ＩＴＵ−Ｔ  Ｈ．２６２／ＭＰＥＧ−２、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４  パート１０  アドバンスト・ビデオ・コーディング（Advanced  Video  Coding，ＡＶＣ）、ＩＴＵ−Ｔ  Ｈ．２６５／高効率ビデオコーディング（High  Efficiency  Video  Coding，ＨＥＶＣ）、及び拡張、例えば、これらの標準規格のスケーラビリティ及び／又は３Ｄ（three-dimensional）拡張がある。ビデオ作成及び使用がより偏在的になるにつれて、ビデオトラフィックは、通信ネットワーク及びデータ記憶に対する最大の負荷である。従って、ビデオコーディング標準規格の大部分の目標の１つは、画像品質を犠牲にせずにその前身と比較してビットレート低減を達成することであった。最新の高効率ビデオコーディング（High  Efficiency  Video  Coding，ＨＥＶＣ）は、画像品質を犠牲にせずにＡＶＣの約２倍ビデオを圧縮することができるが、ＨＥＶＣと比較してビデオを更に圧縮する新しい技術が更に渇望されている。
【発明の概要】
【０００４】
本発明の実施形態は、コーディング効率を改善しかつユーザ要求を満足するように、動きベクトル予測方法及び関連する装置を提供する。
【０００５】
第１の態様に従って、本発明の実施形態は、動きベクトル予測方法を提供する。方法は、復号器側又は符号器側の視点から記載される。方法は、処理されるべき画像ブロックを予測するために使用されてよい。処理されるべき画像ブロックは、ビデオ画像を分割することによって取得される。符号器側で、処理されるべき画像ブロックは、現在のアフィンコーディングブロックであり、処理されるべき画像ブロックに空間的に隣接する復号された画像ブロックは、隣接アフィンコーディングブロックである。復号器側で、処理されるべき画像ブロックは、現在のアフィン復号化ブロックであり、処理されるべき画像ブロックに空間的に隣接する復号された画像ブロックは、隣接アフィン復号化ブロックである。記載を簡単にするために、処理されるべき画像ブロックは、現在のブロックと呼ばれてよく、処理されるべき画像ブロックに空間的に隣接する参照ブロックは、隣接ブロックと呼ばれてよい。方法は、候補動きベクトルリストのインデックス値を取得するようビットストリームをパースすることと、現在のブロックのＫ個の制御点の候補動きベクトルを含む候補動きベクトルリストを構成することであり、Ｋ個の制御点の候補動きベクトルは、現在のブロックの隣接ブロックに使用されている２×Ｎパラメータアフィン変換モデルに基づいて取得され、２×Ｎパラメータアフィン変換モデルは、隣接ブロックのＮ個の制御点の動きベクトルに基づいて取得され、Ｎは２以上４以下の整数であり、Ｋは２以上４以下の整数であり、ＮはＫと等しくないことと、候補動きベクトルリストの中で、インデックス値に基づいてＫ個の制御点の対象候補動きベクトルを決定することと、Ｋ個の制御点の対象候補動きベクトルに基づいて現在のブロックの各サブブロックの位置に対応する予測動きベクトルを取得することとを含む。様々なサブブロックの位置に対応する予測動きベクトルは夫々、複数のサブブロックの動き補償のために使用されてよい。
【０００６】
本発明のこの実施形態において、現在のブロックを予測する過程で、復号器側は、現在のブロックの候補リストを構成するフェーズで（例えば、アフィン変換モデルに基づくＡＭＶＰモード又はマージモードのための候補動きベクトルリストを構成するフェーズで）、隣接ブロックのアフィン変換モデルを使用することによって現在のブロックのアフィン変換モデルを構成することができる、ことが分かる。２つのブロックのアフィン変換モデルは、異なってよい。現在のブロックのアフィン変換モデルは、現在のブロックの実際の動き状態／実際の要件をより良く満足する。従って、この解決法は、現在のブロックを予測する際のコーディング効率及び精度を改善し、かつ、ユーザ要求を満足することができる。
【０００７】
第１の態様に従って、可能な実施において、現在のブロックの１つ以上の前もってセットされた空間的に隣接するブロックの利用可能性は、前もってセットされた順序で決定されてよく、次いで、前もってセットされた順序にある利用可能な隣接ブロックは、順次に取得される。前もってセットされた利用可能な隣接ブロックは、処理されるべき画像ブロックの上、左、右上、左下、又は左上に位置する隣接画像ブロックを含んでよい。例えば、左に位置する隣接画像ブロック、上に位置する隣接画像ブロック、右上に位置する隣接画像ブロック、左下に位置する隣接画像ブロック、及び左上に位置する隣接画像ブロックは、順次に利用可能性を確認される。
【０００８】
第１の態様に従って、可能な実施において、Ｎ＝２かつＫ＝３である。具体的に言えば、４パラメータアフィン変換モデルがアフィン復号化ブロック（符号器側ではアフィンコーディングブロック）に使用され、６パラメータアフィン変換モデルが現在のブロックに使用される場合に、現在のブロックの３つの制御点の候補動きベクトルは、現在のブロックの隣接ブロックに使用されている４パラメータアフィン変換モデルに基づいて取得される。
【０００９】
例えば、現在のブロックの３つの制御点の候補動きベクトルは、現在のブロックの左上サンプル位置（又は左上角と呼ばれる、以下同じ）（ｘ０，ｙ０）での動きベクトル（ｖｘ０，ｖｙ０）と、現在のブロックの右上サンプル位置（又は右上角と呼ばれる、以下同じ）（ｘ１，ｙ１）での動きベクトル（ｖｘ１，ｖｙ１）と、現在のブロックの左下サンプル位置（又は左下角と呼ばれる、以下同じ）（ｘ２，ｙ２）での動きベクトル（ｖｘ２，ｖｙ２）とを含む。
【００１０】
現在のブロックの３つの制御点の候補動きベクトルが、現在のブロックの隣接ブロックに使用されている４パラメータアフィン変換モデルに基づいて取得されることは、現在のブロックの左上角（ｘ０，ｙ０）での動きベクトル（ｖｘ０，ｖｙ０）と、現在のブロックの右上角（ｘ１，ｙ１）での動きベクトル（ｖｘ１，ｖｙ１）と、現在のブロックの左下角（ｘ２，ｙ２）での動きベクトル（ｖｘ２，ｖｙ２）とが、最初に、次の式：
【数１】
2021529483.tif 000065
に従って計算されることを含み、
ｖｘ０は、現在のブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ０は、現在のブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ１は、現在のブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ１は、現在のブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ２は、現在のブロックの左下サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ２は、現在のブロックの左下サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ４は、隣接ブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ４は、隣接ブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ５は、隣接ブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ５は、隣接ブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｘ０は、現在のブロックの左上サンプル位置の水平座標であり、ｙ０は、現在のブロックの左上サンプル位置の垂直座標であり、ｘ１は、現在のブロックの右上サンプル位置の水平座標であり、ｙ１は、現在のブロックの右上サンプル位置の垂直座標であり、ｘ４は、隣接ブロックの左上サンプル位置の水平座標であり、ｙ４は、隣接ブロックの左上サンプル位置の垂直座標であり、ｘ５は、隣接ブロックの右上サンプル位置の水平座標であり、ｙ５は、隣接ブロックの右上サンプル位置の垂直座標である。
【００１１】
第１の態様に従って、可能な実施において、Ｎ＝３かつＫ＝２である。具体的に言えば、６パラメータアフィン変換モデルがアフィン復号化ブロック（符号器側ではアフィンコーディングブロック）に使用され、４パラメータアフィン変換モデルが現在のブロックに使用される場合に、現在のブロックの２つの制御点の候補動きベクトルは、現在のブロックの隣接ブロックに使用されている６パラメータアフィン変換モデルに基づいて取得される。
【００１２】
例えば、現在のブロックの２つの制御点の候補動きベクトルは、現在のブロックの左上サンプル位置（又は左上角と呼ばれる、以下同じ）（ｘ０，ｙ０）での動きベクトル（ｖｘ０，ｖｙ０）と、現在のブロックの右上サンプル位置（又は右上角と呼ばれる、以下同じ）（ｘ１，ｙ１）での動きベクトル（ｖｘ１，ｖｙ１）とを含み、現在のブロックの２つの制御点の候補動きベクトルが、現在のブロックの隣接ブロックに使用されている６パラメータアフィン変換モデルに基づいて取得されることは、現在のブロックの２つの制御点の候補動きベクトルが、次の式
【数２】
2021529483.tif 000066
に従って計算されることを含み、
ｖｘ０は、現在のブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ０は、現在のブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ１は、現在のブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ１は、現在のブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ４は、隣接ブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ４は、隣接ブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ５は、隣接ブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ５は、隣接ブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ６は、隣接ブロックの左下サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ６は、隣接ブロックの左下サンプル位置に対応する動きベクトルの垂直成分であり、ｘ０は、現在のブロックの左上サンプル位置の水平座標であり、ｙ０は、現在のブロックの左上サンプル位置の垂直座標であり、ｘ１は、現在のブロックの右上サンプル位置の水平座標であり、ｙ１は、現在のブロックの右上サンプル位置の垂直座標であり、ｘ２は、現在のブロックの左下サンプル位置の水平座標であり、ｙ２は、現在のブロックの左下サンプル位置の垂直座標であり、ｘ４は、隣接ブロックの左上サンプル位置の水平座標であり、ｙ４は、隣接ブロックの左上サンプル位置の垂直座標であり、ｘ５は、隣接ブロックの右上サンプル位置の水平座標であり、ｙ５は、隣接ブロックの右上サンプル位置の垂直座標であり、ｘ６は、隣接ブロックの左下サンプル位置の水平座標であり、ｙ６は、隣接ブロックの左下サンプル位置の垂直座標である。
【００１３】
本発明のこの実施形態において、現在のブロックをパースするフェーズで（例えば、候補動きベクトルリストを構成するフェーズで）、現在のブロックのアフィン変換モデルは、隣接ブロックのアフィン変換モデルを使用することによって構成され得る、ことが分かる。２つのブロックのアフィン変換モデルは、異なってよい。現在のブロックのアフィン変換モデルは、現在のブロックの実際の動き状態／実際の要件をより良く満足する。従って、この解決法は、現在のブロックを予測する際のコーディング効率及び精度を改善し、かつ、ユーザ要求を満足することができる。
【００１４】
第１の態様に従って、現在のブロックを再構成するフェーズの実施形態において、現在のブロックの各サブブロックの予測動きベクトルを取得するプロセスは、次のプロシージャ：Ｋ個の制御点の対象候補動きベクトルに基づいて現在のブロックの２×Ｋパラメータアフィン変換モデルを取得することと、２×Ｋパラメータアフィン変換モデルに基づいて現在のブロックの各サブブロックの予測動きベクトルを取得することとを含む。
【００１５】
例えば、６パラメータアフィン運動モデルが現在のアフィン復号化ブロックに使用される場合に、現在のブロックの６パラメータアフィン変換モデルは、現在のブロックの３つの制御点（すなわち、Ｋ＝３）の対象候補動きベクトルに基づいて構成される。サブブロック内のサンプル座標（ｘ（ｉ，ｊ），ｙ（ｉ，ｊ））は、各サブブロック内のサンプル座標に対応する動きベクトルを取得するように６パラメータアフィン運動モデルについての式に代入され、取得された動きベクトルは、サブブロック内の全てのサンプルの動きベクトル（ｖｘ（ｉ，ｊ），ｖｙ（ｉ，ｊ））として使用される。
【数３】
2021529483.tif 000067
【００１６】
他の例として、４パラメータアフィン運動モデルが現在のアフィン復号化ブロックに使用される場合に、現在のブロックの４パラメータアフィン変換モデルは、現在のブロックの２つの制御点（すなわち、Ｋ＝２）の対象候補動きベクトルに基づいて構成される。サブブロック内のサンプル座標（ｘ（ｉ，ｊ），ｙ（ｉ，ｊ））は、各サブブロック内のサンプル座標に対応する動きベクトルを取得するように４パラメータアフィン運動モデルについての式に代入され、取得された動きベクトルは、サブブロック内の全てのサンプルの動きベクトル（ｖｘ（ｉ，ｊ），ｖｙ（ｉ，ｊ））として使用される。
【数４】
2021529483.tif 000068
【００１７】
第１の態様に従って、現在のブロックを再構成するフェーズの他の実施形態において、現在のブロックの各サブブロックの予測動きベクトルを取得するプロセスは、次のプロシージャ：現在のブロックのＫ個の制御点の対象候補動きベクトルに基づいて現在のブロック６パラメータアフィン変換モデルを取得することと、現在のブロックの６パラメータアフィン変換モデルに基づいて現在のブロックの各サブブロックの予測動きベクトルを取得することとを含む。
【００１８】
すなわち、この解決法では、パースフェーズ（リスト構成フェーズ）で現在のブロックに使用されたアフィン変換モデルにかかわらず、現在のブロックを再構成するフェーズで、６パラメータアフィン変換モデルが、各サブブロックを再構成するように、現在のブロックの各サブブロックの動きベクトル情報を取得するために一律に使用される。例えば、４パラメータアフィン変換モデル又は８パラメータ双線形モデルがパースフェーズで使用される場合に、現在のブロックの６パラメータアフィン変換モデルが更に構成される。例えば、６パラメータアフィン変換モデルがパースフェーズで使用される場合に、現在のブロックの６パラメータアフィン変換モデルは、引き続き再構成フェーズで使用される。
【００１９】
例えば、４パラメータアフィン変換モデルは、パースフェーズで現在のブロックに使用され、４パラメータアフィン変換モデル又は他のパラメータアフィン変換モデルは、隣接ブロックに使用されてよい。従って、現在のブロックの２つの制御点の動きベクトルが取得され、例えば、現在のブロックの左上制御点（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）及び現在のブロックの右上制御点（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）が取得された後、現在のブロックを再構成するフェーズで、６パラメータアフィン変換モデルは、現在のブロックの２つの制御点の動きベクトルに基づいて構成される必要がある。
【００２０】
例えば、現在のブロックの左上制御点（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）及び現在のブロックの右上制御点（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）に基づいて、第３の制御点の動きベクトルは、次の式に従って取得されてよい。第３の制御点の動きベクトルは、例えば、現在のブロックの左下角（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）である。
【数５】
2021529483.tif 000069
【００２１】
次いで、再構成フェーズにおける現在のブロックの６パラメータアフィン変換モデルは、現在のブロックの左上制御点（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）と、現在のブロックの右上制御点（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）と、現在のブロックの左下制御点（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）とを使用することによって取得される。６パラメータアフィン変換モデルについての式は、次の通りである：
【数６】
2021529483.tif 000070
【００２２】
次いで、現在のブロックの左上角（又は他の基準点）に対する現在のブロックの各サブブロック（又は各動き補償ユニット）の前もってセットされた位置（例えば、中心点）でのサンプルの座標（ｘ（ｉ，ｊ），ｙ（ｉ，ｊ））は、各サブブロックをその後に再構成するように、各サブブロック（又は各動き補償ユニット）の前もってセットされた位置でのサンプルの動き情報を取得するよう６パラメータアフィン変換モデルについての上記の式に代入される。
【００２３】
本発明のこの実施形態において、現在のブロックを再構成するフェーズで、６パラメータアフィン変換モデルは、現在のブロックを予測するために一律に使用され得る。現在のブロックのアフィン運動を記述する運動モデルのパラメータの数が多いほど、精度は高くなり、計算複雑性も高くなる。この解決法において、再構成フェーズで構成された６パラメータアフィン変換モデルは、画像ブロックの平行移動、スケーリング、及び回転などのアフィン変換を記述し、モデル複雑性とモデリング能力との間の良いバランスを達成することができる。従って、この解決法は、現在のブロックを予測する際のコーディング効率及び精度を改善し、かつ、ユーザ要求を満足することができる。
【００２４】
第１の態様に従って、可能な実施において、アフィン変換モデルに基づくＡＭＶＰモードで、Ｋ個の制御点の対象候補動きベクトルに基づいて２×Ｋパラメータアフィン変換モデルを取得することは、Ｋ個の制御点の対象候補動きベクトル及びＫ個の制御点の動きベクトル差に基づいてＫ個の制御点の動きベクトルを取得することであり、Ｋ個の制御点の動きベクトル差は、ビットストリームをパースすることによって取得される、ことと、Ｋ個の制御点の動きベクトルに基づいて現在のブロックの２×Ｋパラメータアフィン変換モデルを取得することとを含む。
【００２５】
第１の態様に従って、可能な実施において、符号器側及び復号器側は、インター予測を行うためにアフィン変換モデルに基づくＡＭＶＰモードを使用し、そして、構成されたリストは、アフィン変換モデルに基づくＡＭＶＰモードのための候補動きベクトルリストである。
【００２６】
本発明のいくつかの具体的な実施形態において、現在のブロックの制御点の候補動きベクトルは、本明細書で説明されている第１運動モデルに基づく動きベクトル予測方法を使用することによって取得され、ＡＭＶＰモードに対応する候補動きベクトルリストに加えられてよい。
【００２７】
本発明のいくつかの他の具体的な実施形態において、現在のブロックの制御点の候補動きベクトルは、代替的に、第１運動モデルに基づく動きベクトル予測方法と、構成的制御点動きベクトル予測方法とを使用することによって別々に取得され、ＡＭＶＰモードに対応する候補動きベクトルリストに加えられてよい。
【００２８】
第１の態様に従って、可能な実施において、符号器側及び復号器側は、インター予測を行うためにアフィン変換モデルに基づくマージモードを使用し、そして、構成されたリストは、アフィン変換モデルに基づくマージモードのための候補動きベクトルリストである。
【００２９】
本発明のいくつかの具体的な実施形態において、現在のブロックの制御点の候補動きベクトルはまた、本明細書で説明されている第１運動モデルに基づく動きベクトル予測方法を使用することによって取得され、マージモードに対応する候補動きベクトルリストに加えられてもよい。
【００３０】
本発明のいくつかの他の具体的な実施形態において、現在のブロックの制御点の候補動きベクトルは、代替的に、第１運動モデルに基づく動きベクトル予測方法と、構成的制御点動きベクトル予測方法とを使用することによって別々に取得され、マージモードに対応する候補動きベクトルリストに加えられてよい。
【００３１】
第１の態様に従って、可能な実施において、複数の隣接ブロックが存在する場合に、すなわち、現在のブロックが複数の隣接アフィン復号化ブロックを有する場合に、可能な実施形態で、符号器側及び復号器側は両方とも、最初に、モデルパラメータの数が現在のブロックのそれと同じであるアフィン復号化ブロックを使用することによって現在のブロックの制御点の候補動きベクトルを取得し、制御点の取得された候補動きベクトルを、ＡＭＶＰモードに対応する候補動きベクトルリストに加えることができる。次いで、現在のブロックの制御点の候補動きベクトルは、モデルパラメータの数が現在のブロックのそれとは異なるアフィン復号化ブロックを使用することによって取得され、ＡＭＶＰモードに対応する候補動きベクトルリストに加えられてよい。このようにして、モデルパラメータの数が現在のブロックのそれと同じであるアフィン復号化ブロックを使用することによって取得される、現在のブロックの制御点の候補動きベクトルは、リストの最前位置に位置付けられる。この設計は、ビットストリームで伝送されるビットの数を減らすのを助ける。
【００３２】
第１の態様に従って、可能な実施において、復号器側が現在のブロックの制御点の候補動きベクトルを導出する過程で、アフィン復号化ブロックのアフィン変換モデルのフラグ情報（flag）が取得される必要があり得る。フラグは、復号器側でローカルで予め記憶され、そして、アフィン復号化ブロックのサブブロックを予測するために実際に使用されるアフィン復号化ブロックのアフィン変換モデルを示すために使用される。
【００３３】
例えば、適用シナリオにおいて、復号器側が、アフィン復号化ブロックのフラグを識別することによって、アフィン復号化ブロックに実際に使用されたアフィン変換モデルのモデルパラメータの数が、現在のブロックに使用されたアフィン変換モデルのそれとは異なる（又はそれと同じである）と決定する場合に、復号器側は、アフィン復号化ブロックに実際に使用されたアフィン変換モデルを使用することによって現在のブロックの制御点の候補動きベクトルを導出するようトリガされる。
【００３４】
第１の態様に従って、可能な実施において、復号器側が現在のブロックの制御点の候補動きベクトルを導出する過程で、アフィン復号化ブロックのアフィン変換モデルのフラグは、必要とされなくてもよい。
【００３５】
例えば、適用シナリオにおいて、復号器側が現在のブロックに使用されたアフィン変換モデルを決定した後、復号器側は、アフィン復号化ブロックの特定の数（特定の数は、現在のブロックの制御点の数と同じか又は異なる）の制御点を取得し、アフィン復号化ブロックの特定の数の制御点を使用することによってアフィン変換モデルを構成し、次いで、アフィン変換モデルを使用することによって現在のブロックの制御点の候補動きベクトルを導出する。
【００３６】
第２の態様に従って、本発明の実施形態は、他の動きベクトル予測方法を提供する。方法は、候補動きベクトルリストのインデックス値を取得するようビットストリームをパースすることと、現在のブロックのＫ個の制御点の候補動きベクトルを含む候補動きベクトルリストを構成することであり、現在のブロックのＫ個の制御点の候補動きベクトルは、現在のブロックの隣接ブロックに使用されている２Ｎパラメータアフィン変換モデルに基づいて取得され、２Ｎパラメータアフィン変換モデルは、隣接ブロックのＮ個の制御点の動きベクトルに基づいて取得され、Ｎは２以上４以下の整数であり、Ｋは２以上４以下の整数であり、隣接ブロックは、現在のブロックに空間的に隣接する復号された画像ブロックであり、現在のブロックは、複数のサブブロックを含む、ことと、候補動きベクトルリストの中で、インデックス値に基づいて現在のブロックのＫ個の制御点の対象候補動きベクトルを決定することと、現在のブロックのＫ個の制御点の対象候補動きベクトルに基づいて現在のブロックの６パラメータアフィン変換モデルを取得することと、現在のブロックの６パラメータアフィン変換モデルに基づいて現在のブロックの各サブブロックの予測動きベクトルを取得することとを含む。
【００３７】
本発明のこの実施形態において、６パラメータアフィン変換モデルは、現在のブロックを再構成するフェーズで現在のブロックを予測するために一律に使用され得る、ことが分かる。現在のブロックのアフィン運動を記述する運動モデルのパラメータの数が多いほど、精度は高くなり、計算複雑性も高くなる。この解決法において、再構成フェーズで構成された６パラメータアフィン変換モデルは、画像ブロックの平行移動、スケーリング、及び回転などのアフィン変換を記述し、モデル複雑性とモデリング能力との間の良いバランスを達成することができる。従って、この解決法は、現在のブロックを予測する際のコーディング効率及び精度を改善し、かつ、ユーザ要求を満足することができる。
【００３８】
第２の態様に従って、可能な実施において、Ｎ＝２かつＫ＝３である。
【００３９】
相応して、現在のブロックの２つの制御点の候補動きベクトルは、現在のブロックの隣接ブロックに使用されている４パラメータアフィン変換モデルに基づいて取得される。
【００４０】
第２の態様に従って、可能な実施において、Ｎ＝３かつＫ＝２である。相応して、現在のブロックの２つの制御点の候補動きベクトルは、現在のブロックの隣接ブロックに使用されている６パラメータアフィン変換モデルに基づいて取得される。
【００４１】
第２の態様に従って、可能な実施において、現在のブロックのＫ個の制御点の対象候補動きベクトルに基づいて現在のブロックの６パラメータアフィン変換モデルを取得することは、
現在のブロックの２つの制御点の対象候補動きベクトルに基づいて現在のブロックの４パラメータアフィン変換モデルを取得することと、
現在のブロックの４パラメータアフィン変換モデルに基づいて現在のブロックの第３の制御点の動きベクトルを取得することと、
現在のブロックの２つの制御点の対象候補動きベクトル及び第３の制御点の動きベクトルに基づいて現在のブロックの６パラメータアフィン変換モデルを取得することと
を含む。
【００４２】
第２の態様に従って、可能な実施において、現在のブロックの２つの制御点の対象候補動きベクトルに基づいて現在のブロックの４パラメータアフィン変換モデルを取得することは、
現在のブロックの２つの制御点の対象候補動きベクトル及び現在のブロックの２つの制御点の動きベクトル差に基づいて現在のブロックの２つの制御点の動きベクトルを取得することであり、現在のブロックの２つの制御点の動きベクトル差は、ビットストリームをパースすることによって取得される、ことと、
現在のブロックの２つの制御点の動きベクトルに基づいて現在のブロックの４パラメータアフィン変換モデルを取得することと
を含み、
相応して、現在のブロックの２つの制御点の対象候補動きベクトル及び第３の制御点の動きベクトルに基づいて現在のブロックの６パラメータアフィン変換モデルを取得することは、具体的に、
現在のブロックの２つの制御点の動きベクトル及び第３の制御点の動きベクトルに基づいて現在のブロックの６パラメータアフィン変換モデルを取得することを含む。
【００４３】
第２の態様に従って、可能な実施において、Ｎ＝２かつＫ＝３である。相応して、現在のブロックの３つの制御点の候補動きベクトルは、現在のブロックの隣接ブロックに使用されている４パラメータアフィン変換モデルに基づいて取得される。
【００４４】
第３の態様に従って、本発明の実施形態は、復号化デバイスを提供する。デバイスは、ビットストリームの形でビデオデータを記憶するよう構成される記憶ユニットと、候補動きベクトルリストのインデックス値を取得するようビットストリームをパースするよう構成されるエントロピ復号化ユニットと、現在のブロックのＫ個の制御点の候補動きベクトルを含む候補動きベクトルリストを構成するよう構成され、現在のブロックのＫ個の制御点の候補動きベクトルは、現在のブロックの隣接ブロックに使用されている２×Ｎパラメータアフィン変換モデルに基づいて取得され、２×Ｎパラメータアフィン変換モデルは、隣接ブロックのＮ個の制御点の動きベクトルに基づいて取得され、Ｎは２以上４以下の整数であり、Ｋは２以上４以下の整数であり、ＮはＫと等しくなく、隣接ブロックは、現在のブロックに空間的に隣接する復号された画像ブロックであり、現在のブロックは、複数のサブブロックを含む、予測処理ユニットであり、候補動きベクトルリストの中で、インデックス値に基づいて現在のブロックのＫ個の制御点の対象候補動きベクトルを決定し、現在のブロックのＫ個の制御点の対象候補動きベクトルに基づいて現在のブロックの各サブブロックの予測動きベクトルを取得するよう構成される予測処理ユニットとを含む。
【００４５】
具体的な実施形態において、デバイスのモジュールは、第１の態様で記載される方法を実施するよう構成されてよい。
【００４６】
第４の態様に従って、本発明の実施形態は、復号化デバイスを提供する。デバイスは、ビットストリームの形でビデオデータを記憶するよう構成される記憶ユニットと、候補動きベクトルリストのインデックス値を取得するようビットストリームをパースするよう構成されるエントロピ復号化ユニットと、現在のブロックのＫ個の制御点の候補動きベクトルを含む候補動きベクトルリストを構成するよう構成され、現在のブロックのＫ個の制御点の候補動きベクトルは、現在のブロックの隣接ブロックに使用されている２Ｎパラメータアフィン変換モデルに基づいて取得され、２Ｎパラメータアフィン変換モデルは、隣接ブロックのＮ個の制御点の動きベクトルに基づいて取得され、Ｎは２以上４以下の整数であり、Ｋは２以上４以下の整数であり、隣接ブロックは、現在のブロックに空間的に隣接する復号された画像ブロックであり、現在のブロックは、複数のサブブロックを含む、予測処理ユニットであり、候補動きベクトルリストの中で、インデックス値に基づいて現在のブロックのＫ個の制御点の対象候補動きベクトルを決定し、現在のブロックのＫ個の制御点の対象候補動きベクトルに基づいて現在のブロックの６パラメータアフィン変換モデルを取得し、現在のブロックの６パラメータアフィン変換モデルに基づいて現在のブロックの各サブブロックの予測動きベクトルを取得するよう構成される予測処理ユニットとを含む。
【００４７】
具体的な実施形態において、デバイスのモジュールは、第２の態様で記載される方法を実施するよう構成されてよい。
【００４８】
第５の態様に従って、本発明の実施形態は、ビデオ復号化デバイスを提供する。デバイスは、
ビットストリームの形でビデオデータを記憶するよう構成されるメモリと、
候補動きベクトルリストのインデックス値を取得するようビットストリームをパースし、現在のブロックのＫ個の制御点の候補動きベクトルを含む候補動きベクトルリストを構成するよう構成され、現在のブロックのＫ個の制御点の候補動きベクトルは、現在のブロックの隣接ブロックに使用されている２×Ｎパラメータアフィン変換モデルに基づいて取得され、２×Ｎパラメータアフィン変換モデルは、隣接ブロックのＮ個の制御点の動きベクトルに基づいて取得され、Ｎは２以上４以下の整数であり、Ｋは２以上４以下の整数であり、ＮはＫと等しくなく、隣接ブロックは、現在のブロックに空間的に隣接する復号された画像ブロックであり、現在のブロックは、複数のサブブロックを含む、復号器であり、候補動きベクトルリストの中で、インデックス値に基づいて現在のブロックのＫ個の制御点の対象候補動きベクトルを決定し、現在のブロックのＫ個の制御点の対象候補動きベクトルに基づいて現在のブロックの各サブブロックの予測動きベクトルを取得するよう構成される復号器とを含む。
【００４９】
第５の態様に従って、いくつかの実施において、Ｎは２に等しく、Ｋは３に等しい。相応して、現在のブロックの３つの制御点の候補動きベクトルは、現在のブロックの隣接ブロックに使用されている４パラメータアフィン変換モデルに基づいて取得される。
【００５０】
第５の態様に従って、いくつかの実施において、現在のブロックの３つの制御点の候補動きベクトルは、現在のブロックの左上サンプル位置での動きベクトルと、現在のブロックの右上サンプル位置での動きベクトルと、現在のブロックの左下サンプル位置での動きベクトルとを含む。
【００５１】
復号器は、現在のブロックの３つの制御点の候補動きベクトルを、次の式
【数７】
2021529483.tif 000071
に従って計算するよう構成され、
ｖｘ０は、現在のブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ０は、現在のブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ１は、現在のブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ１は、現在のブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ２は、現在のブロックの左下サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ２は、現在のブロックの左下サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ４は、隣接ブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ４は、隣接ブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ５は、隣接ブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ５は、隣接ブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｘ０は、現在のブロックの左上サンプル位置の水平座標であり、ｙ０は、現在のブロックの左上サンプル位置の垂直座標であり、ｘ１は、現在のブロックの右上サンプル位置の水平座標であり、ｙ１は、現在のブロックの右上サンプル位置の垂直座標であり、ｘ２は、現在のブロックの左下サンプル位置の水平座標であり、ｙ２は、現在のブロックの左下サンプル位置の垂直座標であり、ｘ４は、隣接ブロックの左上サンプル位置の水平座標であり、ｙ４は、隣接ブロックの左上サンプル位置の垂直座標であり、ｘ５は、隣接ブロックの右上サンプル位置の水平座標であり、ｙ５は、隣接ブロックの右上サンプル位置の垂直座標である。
【００５２】
第５の態様に従って、いくつかの実施において、Ｎは３に等しく、Ｋは２に等しい。相応して、現在のブロックの２つの制御点の候補動きベクトルは、現在のブロックの隣接ブロックに使用されている６パラメータアフィン変換モデルに基づいて取得される。
【００５３】
第５の態様に従って、いくつかの実施において、現在のブロックの２つの制御点の候補動きベクトルは、現在のブロックの左上サンプル位置での動きベクトルと、現在のブロックの右上サンプル位置での動きベクトルとを含む。
【００５４】
復号器は、現在のブロックの２つの制御点の候補動きベクトルを、次の式
【数８】
2021529483.tif 000072
に従って計算するよう構成され、
ｖｘ０は、現在のブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ０は、現在のブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ１は、現在のブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ１は、現在のブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ４は、隣接ブロックの左上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ４は、隣接ブロックの左上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ５は、隣接ブロックの右上サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ５は、隣接ブロックの右上サンプル位置に対応する動きベクトルの垂直成分であり、ｖｘ６は、隣接ブロックの左下サンプル位置に対応する動きベクトルの水平成分であり、ｖｙ６は、隣接ブロックの左下サンプル位置に対応する動きベクトルの垂直成分であり、ｘ０は、現在のブロックの左上サンプル位置の水平座標であり、ｙ０は、現在のブロックの左上サンプル位置の垂直座標であり、ｘ１は、現在のブロックの右上サンプル位置の水平座標であり、ｙ１は、現在のブロックの右上サンプル位置の垂直座標であり、ｘ４は、隣接ブロックの左上サンプル位置の水平座標であり、ｙ４は、隣接ブロックの左上サンプル位置の垂直座標であり、ｘ５は、隣接ブロックの右上サンプル位置の水平座標であり、ｙ５は、隣接ブロックの右上サンプル位置の垂直座標であり、ｘ６は、隣接ブロックの左下サンプル位置の水平座標であり、ｙ６は、隣接ブロックの左下サンプル位置の垂直座標である。
【００５５】
第５の態様に従って、いくつかの実施において、復号器は、
現在のブロックのＫ個の制御点の対象候補動きベクトルに基づいて現在のブロックの２×Ｋパラメータアフィン変換モデルを取得し、
現在のブロックの２×Ｋパラメータアフィン変換モデルに基づいて現在のブロックの各サブブロックの予測動きベクトルを取得する
よう特に構成される。
【００５６】
第５の態様に従って、いくつかの実施において、復号器は、
現在のブロックのＫ個の制御点の対象候補動きベクトル及び現在のブロックのＫ個の制御点の動きベクトル差に基づいて現在のブロックのＫ個の制御点の動きベクトルを取得し、現在のブロックのＫ個の制御点の動きベクトル差は、ビットストリームをパースすることによって取得され、
現在のブロックのＫ個の制御点の動きベクトルに基づいて現在のブロックの２×Ｋパラメータアフィン変換モデルを取得する
よう特に構成される。
【００５７】
第５の態様に従って、いくつかの実施において、候補動きベクトルリストの中で、インデックス値に基づいて現在のブロックのＫ個の制御点の対象候補動きベクトルを決定した後に、復号器は、
現在のブロックのＫ個の制御点の対象候補動きベクトルに基づいて現在のブロックの６パラメータアフィン変換モデルを取得し、
現在のブロックの６パラメータアフィン変換モデルに基づいて現在のブロックの各サブブロックの予測動きベクトルを取得する
よう更に構成される。
【００５８】
復号器の具体的な機能実施については、第１の態様における関連する記載を参照されたい。
【００５９】
第６の態様に従って、本発明の実施形態は、他のビデオ復号化デバイスを提供する。デバイスは、
ビットストリームの形でビデオデータを記憶するよう構成されるメモリと、
候補動きベクトルリストのインデックス値を取得するようビットストリームをパースし；現在のブロックのＫ個の制御点の候補動きベクトルを含む候補動きベクトルリストを構成し、現在のブロックのＫ個の制御点の候補動きベクトルが、現在のブロックの隣接ブロックに使用されている２Ｎパラメータアフィン変換モデルに基づいて取得され、２Ｎパラメータアフィン変換モデルが、隣接ブロックのＮ個の制御点の動きベクトルに基づいて取得され、Ｎが２以上４以下の整数であり、Ｋが２以上４以下の整数であり、隣接ブロックが、現在のブロックに空間的に隣接する復号された画像ブロックであり、現在のブロックが、複数のサブブロックを含み；候補動きベクトルリストの中で、インデックス値に基づいて現在のブロックのＫ個の制御点の対象候補動きベクトルを決定し；現在のブロックのＫ個の制御点の対象候補動きベクトルに基づいて現在のブロックの６パラメータアフィン変換モデルを取得し；現在のブロックの６パラメータアフィン変換モデルに基づいて現在のブロックの各サブブロックの予測動きベクトルを取得するよう構成される復号器とを含む。
【００６０】
復号器の具体的な機能実施については、第２の態様における関連する記載を参照されたい。
【００６１】
第７の態様に従って、本発明の実施形態は、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は、命令を記憶し、命令が実行される場合に、１つ以上のプロセッサは、ビデオデータを符号化することを可能にされる。命令は、１つ以上のプロセッサが、第１の態様のいずれかの可能な実施形態で記載される方法を実行することを可能にする。
【００６２】
第８の態様に従って、本発明の実施形態は、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は、命令を記憶し、命令が実行される場合に、１つ以上のプロセッサは、ビデオデータを符号化することを可能にされる。命令は、１つ以上のプロセッサが、第２の態様のいずれかの可能な実施形態で記載される方法を実行することを可能にする。
【００６３】
第９の態様に従って、本発明の実施形態は、プログラムコードを含むコンピュータプログラムを提供する。プログラムコードがコンピュータで実行される場合に、第１の態様のいずれかの可能な実施形態で記載される方法は実行される。
【００６４】
第１０の態様に従って、本発明の実施形態は、プログラムコードを含むコンピュータプログラムを提供する。プログラムコードがコンピュータで実行される場合に、第２の態様のいずれかの可能な実施形態で記載される方法は実行される。
【００６５】
本発明の実施形態において、現在のブロックを符号化及び復号する過程において、現在のブロックパースするフェーズで（例えば、ＡＭＶＰモード又はマージモードのための候補動きベクトルリストを構成するフェーズで）、現在のブロックのアフィン変換モデルは、隣接ブロックのアフィン変換モデルを使用することによって構成され得る、ことが分かる。その２つのブロックのアフィン変換モデルは、異なってよい。現在のブロックのアフィン変換モデルは、現在のブロックの実際の動き状態／実際の要件をより良く満足する。従って、この解決法は、現在のブロックを符号化する効率及び精度を改善し、かつ、ユーザ要求を満足することができる。
【００６６】
更には、現在のブロックを符号化及び復号する過程において、復号器側は、画像ブロックを再構成するフェーズで画像ブロックを予測するために６パラメータアフィン変換モデルを一律に使用してよい、ことが分かる。このようにして、本発明のこの実施形態において、現在のブロックを再構成する過程で、モデル複雑性とモデリング能力との間には良いバランスが達成される。従って、この解決法は、現在のブロックを予測する際のコーディング効率及び精度を改善し、かつ、ユーザ要求を満足することができる。
【００６７】
本発明の実施形態における又は背景におけるより明りょうに技術的解決法を記載するために、下記は、本発明の実施形態又は背景を記載する添付の図面について簡単に説明する。
【図面の簡単な説明】
【００６８】
【図１】本発明の実施形態を実施するビデオコーディングシステムの構造の例を示すブロック図である。
【図２Ａ】本発明の実施形態を実施するビデオ符号器の構造の例を示すブロック図である。
【図２Ｂ】本発明の実施形態を実施するビデオ復号器の構造の例を示すブロック図である。
【図３】本発明の実施形態を実施するビデオコーディングデバイスの例を示すブロック図である。
【図４】本発明の実施形態を実施する符号化装置又は復号化装置の例を示すブロック図である。
【図５】例となる動作が現在のブロックに対して行われるシナリオを示す概略図である。
【図６】他の例となる動作が現在のブロックに対して行われるシナリオを示す概略図である。
【図７】他の例となる動作が現在のブロックに対して行われるシナリオを示す概略図である。
【図８】他の例となる動作が現在のブロックに対して行われるシナリオを示す概略図である。
【図９】本発明の実施形態に従う動きベクトル予測方法のフローチャートである。
【図１０】他の例となる動作が現在のブロックに対して行われるシナリオを示す概略図である。
【図１１Ａ】本発明の実施形態に従う現在のブロック及び現在のブロックの動き補償ユニットの概略図である。
【図１１Ｂ】本発明の実施形態に従う他の現在のブロック及び現在のブロックの動き補償ユニットの概略図である。
【図１２】本発明の実施形態に従う他の動きベクトル予測方法のフローチャートである。
【図１３】本発明の実施形態に従う他の動きベクトル予測方法のフローチャートである。
【発明を実施するための形態】
【００６９】
下記は、最初に、本発明の実施形態における関連する概念について簡単に説明する。本発明の実施形態における技術的解決法は、既存のビデオコーディング標準規格（例えば、Ｈ．２６４及びＨＥＶＣなどの標準規格）に適用されるだけでなく、将来のビデオコーディング標準規格（例えば、Ｈ．２６６標準規格）にも適用されてよい。
【００７０】
ビデオコーディングは、通常は、ビデオを構成する画像のシーケンス、又はビデオシーケンスを処理することを指す。ビデオコーディングの分野で、「ピクチャ（picture）」、「フレーム（frame）」、及び「画像（image）」との語は、同義語として使用されることがある。本明細書で使用されているビデオコーディングは、ビデオ符号化及びビデオ復号化を含む。ビデオ符号化は発信元側で行われ、通常は、より効率的な記憶及び／又は伝送のために、ビデオ画像を表すデータの量を減らすよう原ビデオ画像を（例えば、圧縮することによって）処理することを含む。ビデオ復号化は、あて先側で行われ、通常は、ビデオ画像を再構成するよう符号器と比較して逆の処理を含む。実施形態におけるビデオ画像の“コーディング”は、ビデオシーケンスの“符号化”又は“復号化”と理解されるべきである。符号化部分及び復号化部分の組み合わせは、ＣＯＤＥＣ（符号化及び復号化）とも呼ばれる。
【００７１】
ビデオシーケンスは、画像（picture）の連続を含み、画像はスライス（slice）に更に分割され、スライスはブロック（block）に更に分割される。ビデオコーディングは、ブロック単位で実行される。いくつかの新しいビデオコーディング標準規格では、「ブロック」という概念は更に拡張される。例えば、マクロブロック（macroblock，ＭＢ）はＨ．２６４標準規格で導入されている。マクロブロックは、予測符号化のために使用され得る複数の予測ブロック（predictor）に更に分割されてよい。高効率ビデオコーディング（high  efficiency  video  coding，ＨＥＶＣ）標準規格では、「コーディングユニット（coding  unit，ＣＵ）」、「予測ユニット（prediction  unit，ＰＵ）」、及び「変換ユニット（transform  unit，ＴＵ）」などの基本概念が使用されている。複数のブロックユニットは、機能的分割を通じて取得され、新しい木ベース構造を使用することによって記述される。例えば、ＣＵは、四分木に基づいて、より小さいＣＵに分割されてよく、より小さいＣＵは、四分木構造を生成するよう更に分割されてよい。ＣＵは、コード化した画像を分割及び符号化するための基本単位である。ＰＵ及びＴＵも、同様の木構造を有している。ＰＵは、予測ブロックに対応してよく、予測コーディングのための基本単位である。ＣＵは、分割パターンに基づいて、複数のＰＵに更に分割される。ＴＵは、変換ブロックに対応してよく、予測残差を変換するための基本単位である。なお、本質的に、ＣＵ、ＰＵ、及びＴＵの全ては、概念的にはブロック（又は画像ブロック）である。
【００７２】
例えば、ＨＥＶＣでは、ＣＴＵは、コーディング木として表されている四分木構造を使用することによって、複数のＣＵに分割される。インター画像（時間的）又はイントラ画像（空間的）予測を使用することによって画像エリアを符号化すべきかどうかに関する決定は、ＣＵレベルで行われる。各ＣＵは、ＰＵ分割パターンに基づいて、１つ、２つ、又は４つのＰＵに更に分割されてよい。１つのＰＵ内では、同じ予測プロセスが適用され、関連情報は、ＰＵベースで復号器へ送信される。ＰＵ分割パターンに基づいて予測プロセスを適用することによって残差ブロックを取得した後、ＣＵは、ＣＵのために使用されるコーディング木に類似した他の四分木構造に基づいて、変換ユニット（transform  unit，ＴＵ）に分割されてよい。ビデオ圧縮技術の近年の開発では、四分木プラス二分木（Quad-tree  plus  binary  tree，ＱＴＢＴ）パーティションフレームが、コーディングブロックを分割するために使用されている。ＱＴＢＴブロック構造では、ＣＵは正方形又は長方形であってよい。
【００７３】
本明細書中、記載及び理解を容易にするために、現在のコード化された画像内の符号化されるべき画像ブロックは、現在のブロックと呼ばれ得る。例えば、符号化では、現在のブロックは、目下符号化中であるブロックであり、復号化では、現在のブロックは、目下復号化中であるブロックである。現在のブロックを予測するために使用される参照画像内の復号された画像ブロックは、参照ブロックと呼ばれる。すなわち、参照ブロックは、現在のブロックのための参照信号を供給するブロックであり、参照信号は、画像ブロック内のピクセル値を表す。参照画像内で現在のブロックのための予測信号を供給するブロックは、予測ブロックと呼ばれてよく、予測信号は、予測ブロック内のピクセル値、サンプリング値、又はサンプリング信号を表す。例えば、複数の参照ブロックがトラバースされた後、最適な参照ブロックは見つけられる。最適な参照ブロックは、現在のブロックのための予測を供給し、予測ブロックと呼ばれ得る。
【００７４】
下記は、本発明の実施形態におけるビデオコーディングシステムについて記載する。図１は、本発明の実施形態に従うビデオコーディングシステムの例のブロック図である。本明細書中で使用されているように、「ビデオコーデック」との語は、一般に、ビデオ符号器及びビデオ復号器を指す。本発明の実施形態で、「ビデオコーディング」又は「コーディング」との語は、一般に、ビデオ符号化又はビデオ復号化を指し得る。ビデオコーディングシステムのビデオ符号器１００及びビデオ復号器２００は、本発明の実施形態で提供される複数の新しいインター予測モードのうちのいずれか１つで説明されている様々な方法の例に従って、現在のコード化された画像ブロック又は現在のコード化された画像ブロックのサブブロックの動き情報、例えば、動きベクトルを予測するよう構成され、それにより、予測された動きベクトルは、動き推定方法を使用することによって取得された動きベクトルを最大限に近似する。このようにして、動きベクトル差は、符号化中に送信される必要がなく、それによって、コーディング性能を更に改善する。
【００７５】
図１に示されるように、ビデオコーディングシステムは、発信元装置１０及びあて先装置２０を含む。発信元装置１０は、符号化されたビデオデータを生成する。従って、発信元装置１０は、ビデオ符号化装置と呼ばれ得る。あて先装置２０は、発信元装置１０によって生成された符号化されたビデオデータを復号してよい。従って、あて先装置２０は、ビデオ復号化装置と呼ばれ得る。様々な実施解決法で、発信元装置１０、あて先装置２０、又は発信元装置１０及びあて先装置２０の両方は、１つ以上のプロセッサと、１つ以上のプロセッサへ結合されているメモリとを含んでよい。メモリは、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、又は本明細書で記載されるように、コンピュータにアクセス可能な命令若しくはデータ構造の形で所望のプログラムコードを記憶するために使用され得るあらゆる他の媒体を含んでよいが、これらに限定されない。
【００７６】
発信元装置１０及びあて先装置２０は、デスクトップコンピュータ、モバイルコンピューティング装置、ノートブック（例えば、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、“スマート”フォンなどの携帯電話機、テレビ受像機、カメラ、ディスプレイ装置、デジタルメディアプレイヤー、ビデオゲーム機、車載コンピュータ、及び同様の装置を含む様々な装置を含んでよい。
【００７７】
あて先装置２０は、符号化されたビデオデータを発信元装置１０からリンク３０を介して受信してよい。リンク３０は、符号化されたビデオデータを発信元装置１０からあて先装置２０へ移動することができる１つ以上の媒体又は装置を含んでよい。一例で、リンク３０は、符号化されたビデオデータをあて先装置２０へ実時間で直接に送ることを発信元装置１０に可能にする１つ以上の通信媒体を含んでよい。この例で、発信元装置１０は、通信標準規格（例えば、無線通信プロトコル）に従って、符号化されたビデオデータを変調してよく、そして、変調されたビデオデータをあて先装置２０へ送信してよい。１つ以上の通信媒体は、無線通信媒体及び／又は有線通信媒体、例えば、無線周波数（ＲＦ）スペクトル又は１つ以上の物理伝送ケーブルを含んでよい。１つ以上の通信媒体は、パケットベースのネットワークの部分であってもよく、パケットベースのネットワークは、例えば、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、又はグローバル・ネットワーク（例えば、インターネット）である。１つ以上の通信媒体は、ルータ、スイッチ、基地局、又は発信元装置１０からあて先装置２０への通信を助ける他のデバイスを含んでよい。
【００７８】
他の例で、符号化されたデータは、出力インターフェース１４０を通じて記憶装置４０へ出力されてもよい。同様に、符号化されたデータは、入力インターフェース２４０を通じて記憶装置４０からアクセスされてもよい。記憶装置４０は、複数の分散された又はローカルでアクセスされるデータ記憶媒体、例えば、ハード・ディスク・ドライブ、ブルーレイディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性若しくは不揮発性メモリ、又は符号化されたビデオデータを記憶するよう構成されたあらゆる他の適切なデジタル記憶媒体のうちのいずれか１つを含んでよい。
【００７９】
他の例で、記憶装置４０は、発信元装置１０によって生成された符号化されたビデオデータを記憶することができるファイルサーバ又は他の中間記憶装置に対応してよい。あて先装置２０は、記憶装置４０からストリーミング伝送又はダウンロードを通じて、記憶されているビデオデータにアクセスしてよい。ファイルサーバは、符号化されたビデオデータを記憶し、符号化されたビデオデータをあて先装置２０へ送信することができる如何なるタイプのサーバであってもよい。例えば、ファイルサーバは、ネットワークサーバ（例えば、ウェブサイトに使用される）、ＦＴＰサーバ、ネットワーク・アタッチド・ストレージ（ＮＡＳ）装置、又はローカル・ディスク・ドライブを含む。あて先装置２０は、如何なる標準のデータ接続（インターネット接続を含む）を通じて、符号化されたビデオデータにアクセスしてもよい。標準のデータ接続は、ファイルサーバに記憶されている符号化されたビデオデータにアクセスするために使用され得る無線チャネル（例えば、Ｗｉ−Ｆｉ接続）、有線接続（例えば、ＤＳＬ若しくはケーブルモデム）、又はそれらの組み合わせを含んでよい。記憶装置４０からの符号化されたビデオデータの伝送は、ストリーミング伝送、ダウンロード伝送、又はそれらの組み合わせであってよい。
【００８０】
本発明の実施形態における動きベクトル予測技術は、複数のマルチメディア用途、例えば、オーバー・ザ・エアのテレビ放送、無線テレビ伝送、衛星テレビ伝送、ストリーミングビデオ伝送（例えば、インターネットを経る）、データ記憶媒体に記憶されているビデオデータの符号化、データ記憶媒体に記憶されているビデオデータの復号化、又は他の用途をサポートするようビデオコーディングに適用されてよい。いくつかの例で、ビデオコーディングシステムは、ストリーミングビデオ伝送、ビデオ再生、ビデオ放送、及び／又はテレビ電話などの用途をサポートするように、単方向又は双方向のビデオ伝送をサポートするよう構成されてよい。
【００８１】
図１に記載されるビデオコーディングシステムは、一例にすぎない。本発明の実施形態における技術は、符号化装置と復号化装置との間の如何なるデータ通信も必ずしも含まないビデオコーディング設定（例えば、ビデオ符号化又はビデオ復号化）に適用可能であり得る。他の例では、データは、ローカルメモリから読み出されたり、ストリーミング方式でネットワーク上で伝送されたり、などする。ビデオ符号化装置は、データを符号化し、データをメモリに記憶してよく、かつ／あるいは、ビデオ復号化装置は、メモリからデータを読み出し、データを復号してよい。多くの例では、単にデータを符号化し、データをメモリに格納し、かつ／あるいは、メモリからデータを読み出し、データを復号するだけであって、互いに通信しない装置が、符号化及び復号化を実行する。
【００８２】
図１の例では、発信元装置１０は、ビデオソース１２０、ビデオ符号器１００、及び出力インターフェース１４０を含む。いくつかの例で、出力インターフェース１４０は、変調器／復調器（モデム）及び／又は送信器を含んでよい。ビデオソース１２０は、ビデオ捕捉装置（例えば、カメラ）、前に捕捉されたビデオデータを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するビデオ・フィードイン・インターフェース、及び／又はビデオデータを生成するコンピュータグラフィクスシステム、あるいは、上記のビデオデータソースの組み合わせを含んでよい。
【００８３】
ビデオ符号器１００は、ビデオソース１２０からのビデオデータを符号化してよい。いくつかの例で、発信元装置１０は、符号化されたビデオデータをあて先装置２０へ出力インターフェース１４０を通じて直接送信する。他の例では、符号化されたビデオデータは、代替的に、記憶装置４０に記憶されてよく、それにより、あて先装置２０は、その後に、復号化及び／又は再生のために、符号化されたビデオデータにアクセスする。
【００８４】
図１の例では、あて先装置２０は、入力インターフェース２４０、ビデオ復号器２００、及びディスプレイ装置２２０を含む。いくつかの例で、入力インターフェース２４０は、受信器及び／又はモデムを含む。入力インターフェース２４０は、リンク３０を通じて及び／又は記憶装置４０から、符号化されたビデオデータを受け取ってよい。ディスプレイ装置２２０は、あて先装置２０と一体化されてよく、あるいは、あて先装置２０の外に配置されてよい。通常は、ディスプレイ装置２２０は、復号されたビデオデータを表示する。ディスプレイ装置２２０は、複数のタイプのディスプレイ装置、例えば、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、又は他のタイプのディスプレイ装置を含んでよい。
【００８５】
図１に図示されていないが、いくつかの態様で、ビデオ符号器１００及びビデオ復号器２００は、夫々、オーディオ符号器及びオーディオ復号器と一体化されてよく、結合されたデータストリーム又は個別のデータストリームにおいてオーディオ及びビデオを符号化するように、適切なマルチプレクサ−デマルチプレクサ（ＭＵＸ−ＤＥＭＵＸ）ユニット又は他のハードウェア及びソフトウェアを含んでよい。妥当な場合、必要に応じて、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル又は、ユーザ・データグラム・プロトコル（ＵＤＰ）などの他のプロトコルに準拠してよい。
【００８６】
ビデオ符号器１００及びビデオ復号器２００は夫々、例えば、次の複数の回路：１つ以上のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、ディスクリート・ロジック、ハードウェア、又はそれらの任意の組み合わせ、のうちのいずれか１つとして実施されてよい。本発明の実施形態が部分的にソフトウェアで実施される場合に、装置は、適切な不揮発性コンピュータ可読記憶媒体内に、そのソフトウェアに使用される命令を記憶してよく、ハードウェアで命令を実行して本発明の実施形態における技術を実施するために１つ以上のプロセッサを使用してよい。上記の内容（ハードウェア、ソフトウェア、ハードウェアとソフトウェアとの組み合わせ、などを含む）のいずれか１つが、１つ以上のプロセッサと見なされてよい。ビデオ符号器１００及びビデオ復号器２００は夫々、１つ以上の符号器又は復号器に含まれてよく、符号器又は復号器は、対応する装置において複合型符号器／復号器（コーデック）の一部分として組み込まれてよい。
【００８７】
本発明の実施形態で、ビデオ符号器１００は、一般に、何らかの情報をビデオ復号器２００などの他の装置へ「送信」又は「伝送」する装置であってよい。「送信」又は「伝送」との用語は、一般に、圧縮されたビデオデータを復号するために使用されるシンタックス要素及び／又は他のデータの転送を指し得る。転送は、実時間で又はほぼ実時間で起こり得る。あるいは、通信は、ある期間の後に起こり得る。例えば、通信は、符号化されたビットストリーム内のシンタックス要素が符号化中にコンピュータ可読記憶媒体に記憶されるときに起こってよく、復号化装置は、次いで、シンタックス要素が媒体に記憶された後にいつでもシンタックス要素を取り出してよい。
【００８８】
ビデオ符号器１００及びビデオ復号器２００は、高効率ビデオコーディング（ＨＥＶＣ）又はその拡張などのビデオ圧縮標準規格に従って動作してよく、ＨＥＶＣテストモデル（ＨＭ）に従ってよい。あるいは、ビデオ符号器１００及びビデオ復号器２００は、他の産業標準規格、例えば、ＩＴＵ−Ｔ  Ｈ．２６４標準規格、Ｈ．２６５標準規格、又はそのような標準規格の拡張に従って動作してよい。しかし、本発明の実施形態における技術は、如何なる特定のコーディング標準規格にも限定されない。
【００８９】
一例で、ビデオ符号器１００は、現在の符号化されるべき画像ブロックに関するシンタックス要素をデジタルビデオ出力ビットストリーム（略してビットストリームと呼ばれる）に符号化するよう構成される。ここで、現在の画像ブロックのインター予測に使用されるシンタックス要素は、略してインター予測データと呼ばれ、インター予測データは、例えば、インター予測モードの指示情報を含む。本発明の実施形態におけるインター予測モードは、アフィン変換モデルに基づくＡＭＶＰモード及びアフィン変換モデルに基づくマージモードの少なくとも１つを含む。インター予測データがアフィン変換モデルに基づくＡＭＶＰモードの指示情報を含む場合に、インター予測データは、ＡＭＶＰモードに対応する候補動きベクトルリストのインデックス値（又はインデックス番号と呼ばれる）と、現在のブロックの制御点の動きベクトル差（ＭＶＤ）とを更に含んでよい。インター予測データがアフィン変換モデルに基づくマージモードの指示情報を含む場合に、インター予測データは、マージモードに対応する候補動きベクトルリストのインデックス値（又はインデックス番号と呼ばれる）を更に含んでよい。その上、任意の実施形態で、上記の例におけるインター予測データは、現在のブロックのアフィン変換モデル（モデルパラメータの数）の指示情報を更に含んでよい。
【００９０】
本発明の実施形態で提供される新しいインター予測モードに基づいて予測された動き情報に基づいて生成された予測ブロックと、現在の符号化されるべき画像ブロック（すなわち、原ブロック）との間の差（すなわち、残差）が０である場合に、ビデオ符号器１００は、現在の符号化されるべき画像ブロックに関するシンタックス要素をビットストリームに符号化しさえすればよい、ことが理解されるべきである。そうでなければ、シンタックス要素に加えて、対応する残差が更にビットストリームに符号化される必要がある。
【００９１】
具体的な実施形態において、ビデオ符号器１００は、本発明で説明される動きベクトル予測方法の符号器側での適用を実施するように、図１３に記載される以下の実施形態を実行するよう構成されてよい。
【００９２】
一例で、ビデオ復号器２００は、現在の復号されるべき画像ブロックに関するシンタックス要素を取得するように、ビットストリームを復号するよう構成される（Ｓ４０１）。ここで、現在の画像ブロックのインター予測に使用されるシンタックス要素は、略してインター予測データと呼ばれ、インター予測データは、例えば、インター予測モードの指示情報を含む。本発明の実施形態におけるインター予測モードは、アフィン変換モデルに基づくＡＭＶＰモード及びアフィン変換モデルに基づくマージモードの少なくとも１つを含む。インター予測データがアフィン変換モデルに基づくＡＭＶＰモードの指示情報を含む場合に、インター予測データは、ＡＭＶＰモードに対応する候補動きベクトルリストのインデックス値（又はインデックス番号と呼ばれる）と、現在のブロックの制御点の動きベクトル差（ＭＶＤ）とを更に含んでよい。インター予測データがアフィン変換モデルに基づくマージモードの指示情報を含む場合に、インター予測データは、マージモードに対応する候補動きベクトルリストのインデックス値（又はインデックス番号と呼ばれる）を更に含んでよい。その上、任意の実施形態で、上記の例におけるインター予測データは、現在のブロックのアフィン変換モデル（モデルパラメータの数）の指示情報を更に含んでよい。
【００９３】
具体的な実施形態において、ビデオ復号器２００は、本発明で説明される動きベクトル予測方法の復号器側での適用を実施するように、図９又は図１２に記載される以下の実施形態を実行するよう構成されてよい。
【００９４】
図２Ａは、本発明の実施形態に従う、例となるビデオ符号器１００のブロック図である。ビデオ符号器１００は、ビデオを後処理エンティティ４１へ出力するよう構成される。後処理エンティティ４１は、ビデオ符号器１００からの符号化されたビデオデータを処理することが可能なビデオエンティティの例を表す。例えば、ビデオエンティティは、メディア・アウェア・ネットワーク・エレメント（ＭＡＮＥ）又はスプライシング装置／編集装置である。いくつかの場合に、後処理エンティティ４１は、ネットワークエンティティの例であってよい。いくつかのビデオ符号化システムで、後処理エンティティ４１及びビデオ符号器１００は、別個の装置のコンポーネントであってよい。他の場合では、後処理エンティティ４１に関して説明されている機能は、ビデオ符号器１００を含む同じ装置によって実行されてよい。一例で、後処理エンティティ４１は、図１の記憶装置４０の例である。
【００９５】
図２Ａの例では、ビデオ符号器１００は、予測処理ユニット１０８、フィルタユニット１０６、復号化画像バッファ（ＤＰＢ）１０７、加算器１１２、変換器１０１、量子化器１０２、及びエントロピ符号器１０３を含む。予測処理ユニット１０８は、インター予測器１１０及びイントラ予測器１０９を含む。画像ブロック再構成のために、ビデオ符号器１００は、逆量子化器１０４、逆変換器１０５、及び加算器１１１を更に含む。フィルタユニット１０６は、１つ以上のループフィルタ、例えば、デブロッキングフィルタ、適応ループフィルタ（ＡＬＦ）、及びサンプル適応オフセット（ＳＡＯ）フィルタを表すよう意図される。フィルタユニット１０６は図２Ａでインループフィルタとして示されているが、他の実施では、フィルタユニット１０６は、ポストループフィルタとして実施されてよい。一例で、ビデオ符号器１００は、ビデオデータメモリ及びパーティショニングユニット（図示せず）を更に含んでもよい。
【００９６】
ビデオデータメモリは、ビデオ符号器１００のコンポーネントによって符号化されたビデオデータを記憶してよい。ビデオデータメモリに記憶されているビデオデータは、ビデオソース１２０から取得されてよい。ＤＰＢ１０７は、イントラ又はインターコーディングモードでビデオデータを符号化するためにビデオ符号器１００によって使用される参照ビデオデータを記憶する参照画像メモリであってよい。ビデオデータメモリ及びＤＰＢ１０７は夫々、複数のメモリ装置、例えば、同期ＤＲＡＭ（ＳＤＲＡＭ）、磁気抵抗性ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ）、又は他のタイプのメモリ装置を含む動的ランダム・アクセス・メモリ（ＤＲＡＭ）、のうちのいずれか１つによって構成されてよい。ビデオデータメモリ及びＤＰＢ１０７は、同じメモリ装置又は別個のメモリ装置によって提供されてよい。様々な例で、ビデオデータメモリは、ビデオ符号器１００の他のコンポーネントとともにチップ上に組み込まれてよく、あるいは、それらのコンポーネントに対してチップの外に配置されてよい。
【００９７】
図２Ａに示されるように、ビデオ符号器１００は、ビデオデータを受け取り、ビデオデータをビデオデータメモリに格納する。パーティショニングユニットは、ビデオデータをいくつかの画像ブロックに分割し、これらの画像ブロックは、より小さいブロックに更に分割、例えば、四分木構造又は二分木構造に基づいて分割されてよい。分割は、スライス（slice）、タイル（tile）、又は他のより大きいユニットへの分割を更に含んでよい。ビデオ符号器１００は、通常は、符号化されるべきビデオスライス内の画像ブロックを符号化するコンポーネントである。スライスは、複数の画像ブロックに分割されてよい（そして、タイルと呼ばれる画像ブロックセットに分割されてよい）。
【００９８】
予測処理ユニット１０８内のイントラ予測器１０９は、空間冗長性を取り除くように、現在の画像ブロックと同じフレーム又はスライスにある１つ以上の隣接ブロックに対して、符号化されるべき現在の画像ブロックに対するイントラ予測符号化を実行してよい。予測処理ユニット１０８内のインター予測器１１０は、時間冗長性を取り除くように、１つ以上の参照画像内の１つ以上の予測ブロックに対して、現在の画像ブロックに対するインター予測符号化を実行してよい。
【００９９】
具体的に、インター予測器１１０は、現在の画像ブロックを符号化するために使用されるインター予測モードを決定するよう構成されてよい。例えば、インター予測器１１０は、レート歪み解析を通じて、候補インター予測モードセット内の様々なインター予測モードのレート歪み値を計算し、インター予測モードから最適なレート歪み特性を有しているインター予測モードを選択してよい。レート歪み解析は、通常は、符号化されたブロックと、その符号化されたブロックを生成するよう符号化されるべきである元の符号化されていないブロックとの間の歪み（又は誤り）の量と、符号化されたブロックを生成するために使用されたビットレート（すなわち、ビットの量）とを決定することである。例えば、インター予測器１１０は、候補インター予測モードセットの中で、最小のレート歪みコストを有しておりかつ現在のブロックを符号化するために使用されるインター予測モードを、現在の画像ブロックに対するインター予測を実行するために使用されるインター予測モードとして決定してよい。下記は、インター予測符号化プロセス、特に、本発明の実施形態において無指向性又は指向性動き場に使用される様々なインター予測モードで現在の画像ブロック内の１つ以上のサブブロック（具体的に、夫々のサブブロック又は全てのサブブロックであってよい）の動き情報を予測するプロセス、について詳細に記載する。
【０１００】
インター予測器１１０は、決定されたインター予測モードに基づいて現在の画像ブロック内の１つ以上のサブブロックの動き情報（例えば、動きベクトル）を予測し、現在の画像ブロック内の１つ以上のサブブロックの動き情報（例えば、動きベクトル）を使用することによって現在の画像ブロックの予測ブロックを取得又は生成するよう構成される。インター予測器１１０は、参照画像リスト内の１つの参照画像において、動きベクトルが指し示す予測ブロックを見つける。インター予測器１１０は、画像ブロック及びビデオスライスに関連付けられたシンタックス要素を更に生成してよく、それにより、ビデオ復号器２００は、ビデオスライスの画像ブロックを復号するためにシンタックス要素を使用する。代替的に、一例で、インター予測器１１０は、サブブロックの予測ブロックを生成するために、各サブブロックの動き情報を使用することによって動き補償プロセスを実行し、それによって、現在の画像ブロックの予測ブロックを取得する。ここでのインター予測器１１０は、動き推定プロセス及び動き補償プロセスを実行する、ことが理解されるべきである。
【０１０１】
具体的に、現在の画像ブロックのためのインター予測モードを選択した後、インター予測器１１０は、現在の画像ブロックの選択されたインター予測モードを示す情報をエントロピ符号器１０３へ供給してよく、それにより、エントロピ符号器１０３は、選択されたインター予測モードを示す情報を符号化する。本発明のこの実施形態において、ビデオ符号器１００は、現在の画像ブロックに関連したインター予測データを、ビデオ符号器１００によって送信されるビットストリームに加えてよい。インター予測データは、例えば、インター予測モードの指示情報を含む。本発明の実施形態におけるインター予測モードは、アフィン変換モデルに基づくＡＭＶＰモード及びアフィン変換モデルに基づくマージモードの少なくとも１つを含む。インター予測データがアフィン変換モデルに基づくＡＭＶＰモードの指示情報を含む場合に、インター予測データは、ＡＭＶＰモードに対応する候補動きベクトルリストのインデックス値（又はインデックス番号と呼ばれる）と、現在のブロックの制御点の動きベクトル差（ＭＶＤ）とを更に含んでよい。インター予測データがアフィン変換モデルに基づくマージモードの指示情報を含む場合に、インター予測データは、マージモードに対応する候補動きベクトルリストのインデックス値（又はインデックス番号と呼ばれる）を更に含んでよい。その上、任意の実施形態で、上記の例におけるインター予測データは、現在のブロックのアフィン変換モデル（モデルパラメータの数）の指示情報を更に含んでよい。
【０１０２】
具体的な実施形態において、インター予測器１１０は、本発明で説明される動きベクトル予測方法の符号器側での適用を実施するように、図１３に記載される以下の実施形態における関連するステップを実行するよう構成されてよい。
【０１０３】
イントラ予測器１０９は、現在の画像ブロックに対するイントラ予測を実行してよい。具体的に、イントラ予測器１０９は、現在のブロックを符号化するために使用されるイントラ予測モードを決定してよい。例えば、イントラ予測器１０９は、レート歪み解析を通じて、様々な試験されるべきイントラ予測モードのレート歪み値を計算し、試験されるべきモードから最適なレート歪み特性を有しているイントラ予測モードを選択してよい。如何なる場合でも、画像ブロックのためのイントラ予測モードを選択した後、イントラ予測器１０９は、現在の画像ブロックの選択されたイントラ予測モードを示す情報をエントロピ符号器１０３へ供給してよく、それにより、エントロピ符号器１０３は、選択されたイントラ予測モードを示す情報を符号化する。
【０１０４】
予測処理ユニット１０８がインター予測及びイントラ予測を通じて現在の画像ブロックの予測ブロックを生成した後、ビデオ符号器１００は、残差画像ブロックを生成するよう、符号化されるべき現在の画像ブロックから予測ブロックを減じる。加算器１１２は、減算演算を実行する１つ以上のコンポーネントを表す。残差ブロックにおける残差ビデオデータは、１つ以上のＴＵに含まれ、変換器１０１に適用されてよい。変換器１０１は、離散コサイン変換（ＤＣＴ）又は概念的に類似した変換などの変換を通じて、残差ビデオデータを残差変換係数に変換する。変換器１０１は、残差ビデオデータをピクセル値領域から変換領域、例えば、周波数領域へ変換してよい。
【０１０５】
変換器１０１は、取得された変換係数を量子化器１０２へ送ってよい。量子化器１０２は、ビットレートを更に低減するよう変換係数を量子化する。いくつかの例で、量子化器１０２は更に、量子化された変換係数を含むマトリクスをスキャンしてもよい。代替的に、エントロピ符号器１０３がスキャンを実行してもよい。
【０１０６】
量子化後に、エントロピ符号器１０３は、量子化された変換係数に対してエントロピ符号化を実行する。例えば、エントロピ符号器１０３は、コンテキスト適応可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応２進算術演算コーディング（ＣＡＢＡＣ）、シンタックスに基づくコンテキスト適応２進算術演算コーディング（ＳＢＡＣ）、確率区間パーティショニングエントロピ（ＰＩＰＥ）コーディング、又は他のエントロピコーディング方法若しくは技術を実行してよい。エントロピ符号器１０３がエントロピ符号化を実行した後、符号化されたビットストリームはビデオ復号器２００へ送信されるか、あるいは、その後の伝送のために又はビデオ復号器２００によって取り出されるようにアーカイブ保管されてよい。エントロピ符号器１０３は、符号化されるべき現在の画像ブロックのシンタックス要素に対してエントロピ符号化を更に実行してよい。
【０１０７】
逆量子化器１０４及び逆変換器１０５は、ピクセル領域で残差ブロックを再構成するよう、例えば、参照画像の参照ブロックとしてその後に使用されるよう、逆量子化及び逆変換を夫々適用する。加算器１１１は、再構成された画像ブロックを生成するよう、再構成された残差ブロックを、インター予測器１１０又はイントラ予測器１０９によって生成された予測ブロックに加える。フィルタユニット１０６は、ブロッキングアーチファクト（blocking  artifacts）などの歪みを低減するよう、再構成された画像ブロックに適用可能であり得る。次いで、再構成された画像ブロックは、復号化画像バッファ１０７に参照ブロックとして記憶され、インター予測器１１０によって、後続のビデオフレーム又は画像内のブロックに対するインター予測を実行するよう参照ブロックとして使用されてよい。
【０１０８】
ビデオ符号器１００の他の構造的変形がビデオストリームを符号化するために使用され得る、ことが理解されるべきである。例えば、いくつかの画像ブロック又は画像フレームについて、ビデオ符号器１００は、残差信号を直接に量子化してよく、相応して、変換器１０１及び逆変換器１０５による処理は不要である。代替的に、いくつかの画像ブロック又は画像フレームについて、ビデオ符号器１００は、残差データを生成せず、相応して、変換器１０１、量子化器１０２、逆量子化器１０４、及び逆変換器１０５による処理は不要である。代替的に、ビデオ符号器１００は、フィルタユニット１０６による処理なしで、再構成された画像ブロックを参照ブロックとして直接に記憶してよい。代替的に、ビデオ符号器１００内の量子化器１０２及び逆量子化器１０４は結合されてよい。
【０１０９】
具体的に、本発明のこの実施形態において、ビデオ符号器１００は、以下の実施形態で説明される動きベクトル予測方法を実行するよう構成される。
【０１１０】
図２Ｂは、本発明の実施形態に従う、例となるビデオ復号器２００のブロック図である。図２Ｂの例では、ビデオ復号器２００は、エントロピ復号器２０３、予測処理ユニット２０８、逆量子化器２０４、逆変換器２０５、加算器２１１、フィルタユニット２０６、及び復号化画像バッファ２０７を含む。予測処理ユニット２０８は、インター予測器２１０及びイントラ予測器２０９を含んでよい。いくつかの例で、ビデオ復号器２００は、図２Ａでビデオ符号器１００に関して説明されている符号化プロセスとは実質的に逆である復号化プロセスを実行してよい。
【０１１１】
復号化中、ビデオ復号器２００は、ビデオ符号器１００から、符号化されたビデオスライスの画像ブロック及び関連するシンタックス要素を表す符号化されたビデオビットストリームを受け取る。ビデオ復号器２００は、ネットワークエンティティ４２からビデオデータを受け取ってよく、任意に、更に、ビデオデータをビデオデータメモリ（図示せず）に格納してよい。ビデオデータメモリは、ビデオ復号器２００のコンポーネントによって復号されるべきであるビデオデータ、例えば、符号化されたビデオビットストリームを記憶してよい。ビデオデータメモリに記憶されているビデオデータは、例えば、記憶装置４０又はカメラなどのローカルビデオソースからビデオデータの有線又は無線ネットワーク通信を通じて、あるいは、物理データ記憶媒体にアクセスすることによって、取得されてよい。ビデオデータメモリは、符号化されたビデオビットストリームからの符号化されたビデオデータを記憶するよう構成された復号化画像バッファ（ＤＰＢ）として使用されてよい。従って、ビデオデータメモリは図２Ｂに示されていないが、ビデオデータメモリ及びＤＰＢ２０７は、同じメモリであってよく、あるいは、別々に配置されたメモリであってよい。ビデオデータメモリ及びＤＰＢ２０７は夫々、複数のメモリ装置、例えば、同期ＤＲＡＭ（ＳＤＲＡＭ）、磁気抵抗性ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ）、又は他のタイプのメモリ装置を含む動的ランダム・アクセス・メモリ（ＤＲＡＭ）、のうちのいずれか１つによって構成されてよい。ビデオデータメモリ及びＤＰＢ１０７は、同じメモリ装置又は別個のメモリ装置によって提供されてよい。様々な例で、ビデオデータメモリは、ビデオ復号器２００の他のコンポーネントとともにチップ上に組み込まれてよく、あるいは、それらのコンポーネントに対してチップの外に配置されてよい。
【０１１２】
ネットワークエンティティ４２は、例えば、サーバ、ＭＡＮＥ、ビデオエディタ／スプライサ、又は上記の技術の１つ以上を実施するよう構成された他の同様の装置であってよい。ネットワークエンティティ４２は、ビデオ符号器、例えば、ビデオ符号器１００を含んでも含まなくてもよい。ネットワークエンティティ４２が符号化されたビデオビットストリームをビデオ復号器２００へ送る前に、ネットワークエンティティ４２は、本発明の実施形態で説明される技術の一部を実施してよい。いくつかのビデオ復号化システムで、ネットワークエンティティ４２及びビデオ復号器２００は、別個の装置のコンポーネントであってよい。他の場合では、ネットワークエンティティ４２に関して説明されている機能は、ビデオ復号器２００を含む同じ装置によって実行されてよい。いくつかの場合に、ネットワークエンティティ４２は、図１の記憶装置４０の例であってよい。
【０１１３】
ビデオ復号器２００のエントロピ復号器２０３は、量子化された係数及びいくつかのシンタックス要素を生成するようビットストリームに対するエントロピ復号化を実行する。エントロピ復号器２０３は、シンタックス要素を予測処理ユニット２０８へ転送する。ビデオ復号器２００は、ビデオスライスレベル及び／又は画像ブロックレベルで複数のシンタックス要素／１つのシンタックス要素を受け取ってよい。
【０１１４】
ビデオスライスがイントラ復号された（Ｉ）スライスに復号される場合に、予測処理ユニット２０８のイントラ予測器２０９は、信号で伝えられたイントラ予測モードと、現在のフレーム又は画像の前に復号されたブロックのデータとに基づいて、現在のビデオスライスの画像ブロックの予測ブロックを生成してよい。ビデオスライスがインター復号された（すなわち、Ｂ又はＰ）スライスに復号される場合に、予測処理ユニット２０８のインター予測器２１０は、エントロピ復号器２０３から受け取られたシンタックス要素に基づいて、現在のビデオスライスの現在の画像ブロックを復号するために使用されるインター予測モードを決定し、決定されたインター予測モードに基づいて現在の画像ブロックを復号（例えば、それに対してインター予測を実行）してよい。具体的に、インター予測器２１０は、現在のビデオスライスの現在の画像ブロックを予測するために新しいインター予測モードを使用すべきかどうかを決定してよい。シンタックス要素が、現在の画像ブロックを予測するために新しいインター予測モードを使用することを示す場合に、インター予測器２１０は、動き補償プロセスを使用することによって現在の画像ブロックの予測された動き情報又は現在の画像ブロックのサブブロックの予測された動き情報に基づいて現在の画像ブロック又は現在の画像ブロックのサブブロックのための予測ブロックを取得又は生成するように、新しいインター予測モード（例えば、シンタックス要素によって示されている新しいインター予測モード又はデフォルトの新しいインター予測モード）に基づいて現在のビデオスライスの現在の画像ブロックの動き情報又は現在の画像ブロックのサブブロックの動き情報を予測する。ここでの動き情報は、参照画像情報及び動きベクトルを含んでよい。参照画像情報は、単方向／双方向予測情報、参照画像リスト番号、及び参照画像リストに対応する参照画像インデックスを含んでよいが。これらに限定されない。インター予測のために、予測ブロックは、参照画像リストの１つの中の参照画像の１つから生成されてよい。ビデオ復号器２００は、ＤＰＢ２０７に記憶されている参照画像に基づいて、参照画像リスト、すなわち、リスト０及びリスト１を構成してよい。現在の画像の参照フレームインデックスは、参照フレームリスト０及び参照フレームリスト１の１つ以上に含まれてよい。ここでのインター予測器２１０は、動き補償プロセスを実行する、ことが理解されるべきである。下記は、様々な新しいインター予測モードにおいて、参照ブロックの動き情報を使用することによって現在の画像ブロックの動き情報又は現在の画像ブロックのサブブロックの動き情報を予測するインター予測プロセスについて詳細に記載する。
【０１１５】
一例で、インター予測器２１０は、現在の復号されるべき画像ブロックに関連しかつビットストリームを復号すること（Ｓ４０１）によって取得されるシンタックス要素に基づいて、現在の復号されるべき画像ブロックを予測してよい。ここで、現在の画像ブロックのインター予測に使用されるシンタックス要素は、略してインター予測データと呼ばれ、インター予測データは、例えば、インター予測モードの指示情報を含む。本発明の実施形態におけるインター予測モードは、アフィン変換モデルに基づくＡＭＶＰモード及びアフィン変換モデルに基づくマージモードの少なくとも１つを含む。インター予測データがアフィン変換モデルに基づくＡＭＶＰモードの指示情報を含む場合に、インター予測データは、ＡＭＶＰモードに対応する候補動きベクトルリストのインデックス値（又はインデックス番号と呼ばれる）と、現在のブロックの制御点の動きベクトル差（ＭＶＤ）とを更に含んでよい。インター予測データがアフィン変換モデルに基づくマージモードの指示情報を含む場合に、インター予測データは、マージモードに対応する候補動きベクトルリストのインデックス値（又はインデックス番号と呼ばれる）を更に含んでよい。その上、任意の実施形態で、上記の例におけるインター予測データは、現在のブロックのアフィン変換モデル（モデルパラメータの数）の指示情報を更に含んでよい。
【０１１６】
具体的な実施形態において、インター予測器２１０は、本発明で説明される動きベクトル予測方法の復号器側での適用を実施するように、図９又は図１２に記載される以下の実施形態における関連するステップを実行するよう構成されてよい。
【０１１７】
逆量子化器２０４は、ビットストリームで供給され、そしてエントロピ復号器２０３によって復号された量子化された変換係数に対して逆量子化を実行する、すなわち、量子化解除する。逆量子化プロセスは、ビデオスライス内の各画像ブロックについてビデオ符号器１００によって計算された量子化パラメータを使用することによって、適用されるべき量子化度合いを決定し、同様に、適用されるべき逆量子化度合いを決定することを含んでよい。逆変換器２０５は、ピクセル領域の残差ブロックを生成するよう、逆変換、例えば、逆ＤＣＴ、逆整数変換、又は概念上類似した逆変換プロセスを変換係数に適用する。
【０１１８】
インター予測器２１０が現在の画像ブロック又は現在の画像ブロックのサブブロックに使用される予測ブロックを生成した後、ビデオ復号器２００は、再構成されたブロック、すなわち、復号された画像ブロックを取得するよう、逆変換器２０５からの残差ブロック及びインター予測器２１０によって生成された対応する予測ブロックを加算する。加算器２１１は、加算演算を実行するコンポーネントを表す。必要な場合に、ループフィルタ（復号化ループ内又はその後）が更に、ピクセルを平滑化するために使用されてよく、あるいは、ビデオ品質は、他の方法で改善されてよい。フィルタユニット２０６は、１つ以上のループフィルタ、例えば、デブロッキングフィルタ、適応ループフィルタ（ＡＬＦ）、及びサンプル適応オフセット（ＳＡＯ）フィルタを表してよい。フィルタユニット２０６は図２Ｂでインループフィルタとして示されているが、他の実施では、フィルタユニット２０６は、ポストループフィルタとして実施されてよい。一例で、フィルタユニット２０６は、ブロック歪みを低減するよう、再構成されたブロックに適用可能であり、結果は、復号されたビデオストリームとして出力される。その上、所与のフレーム又は画像内の復号された画像ブロックは更に、復号化画像バッファ２０７に格納されてよく、復号化画像バッファ２０７は、その後の動き補償に使用される参照画像を記憶する。復号化画像バッファ２０７は、メモリの一部であってよく、ディスプレイ装置（例えば、図１のディスプレイ装置２２０）でのその後の提示のために、復号されたビデオを更に記憶してよい。代替的に、復号化画像バッファ２０７は、そのようなメモリから分離していてよい。
【０１１９】
ビデオ復号器２００の他の構造的変形が、符号化されたビデオストリームを復号するために使用され得る、ことが理解されるべきである。例えば、ビデオ復号器２００は、フィルタユニット２０６による処理なしで、出力ビデオストリームを生成してよい。代替的に、いくつかの画像ブロック又は画像フレームについて、ビデオ復号器２００のエントロピ復号器２０３は、復号化を通じて、量子化された係数を取得せず、相応して、逆量子化器２０４及び逆変換器２０５による処理は不要である。
【０１２０】
具体的に、本発明のこの実施形態において、ビデオ復号器２００は、以下の実施形態で説明される動きベクトル予測方法を実行するよう構成される。
【０１２１】
図３は、本発明の実施形態に従うビデオコーディングデバイス４００（例えば、ビデオ符号化デバイス４００又はビデオ復号化デバイス４００）の略構造図である。ビデオコーディングデバイス４００は、本明細書で説明される実施形態に適用可能である。実施形態において、ビデオコーディングデバイス４００は、ビデオ復号器（例えば、図１のビデオ復号器２００）又はビデオ符号器（例えば、図１のビデオ符号器１００）であってよい。他の実施形態では、ビデオコーディングデバイス４００は、図１のビデオ復号器２００又は図１のビデオ符号器１００における１つ以上のコンポーネントであってよい。
【０１２２】
ビデオコーディングデバイス４００は、データを受信するよう構成されている入口ポート４１０及び受信器ユニット（Ｒｘ）４２０と、データを処理するよう構成されているプロセッサ、ロジックユニット、又は中央演算処理装置（ＣＰＵ）４３０と、データを送信するよう構成されている送信器ユニット（Ｔｘ）４４０及び出口ポート４５０と、データを記憶するよう構成されているメモリ４６０とを含む。ビデオコーディングデバイス４００は、光又は電気信号の出口又は入口のために、入口ポート４１０、受信器ユニット４２０、送信器ユニット４４０、及び出口ポート４５０へ結合されている光電気及び電気光（ＥＯ）変換コンポーネントを更に含んでよい。
【０１２３】
プロセッサ４３０は、ハードウェア及びソフトウェアによって実施される。プロセッサ４３０は、１つ以上のＣＰＵチップ、コア（例えば、マルチコアプロセッサ）、ＦＰＧＡ、ＡＳＩＣ、又はＤＳＰとして実施されてよい。プロセッサ４３０は、入口ポート４１０、受信器ユニット４２０、送信器ユニット４４０、出口ポート４５０、及びメモリ４６０と通信する。プロセッサ４３０は、コーディングモジュール４７０（例えば、符号化モジュール４７０又は復号化モジュール４７０）を含む。符号化／復号化モジュール４７０は、本発明の実施形態で提供される動きベクトル予測方法を実施するよう、本明細書で開示されている実施形態を実施する。例えば、符号化／復号化モジュール４７０は、様々なコーディング動作を実行、処理、又は提供する。従って、符号化／復号化モジュール４７０は、ビデオコーディングデバイス４００の機能を実質的に改善し、異なる状態へのビデオコーディングデバイス４００の変換に作用する。代替的に、符号化／復号化モジュール４７０は、メモリ４６０に記憶されている命令として実施され、プロセッサ４３０によって実行される。
【０１２４】
メモリ４６０は、１つ以上のディスク、テープドライブ、及びソリッドステートドライブを含み、プログラムが選択的に実行される場合にそのようなプログラムを記憶するために、かつ、プログラム実行中に読み出される命令及びデータを記憶するために、オーバーフローデータ記憶デバイスとして使用されてよい。メモリ４６０は、揮発性及び／又は不揮発性であってよく、リード・オンリー・メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、三値連想メモリ（ternary  content-addressable  memory，ＴＣＡＭ）、及び／又は静的ランダム・アクセス・メモリ（ＳＲＡＭ）であってよい。
【０１２５】
本願のビデオ符号器１００及びビデオ復号器２００で、プロシージャの処理結果は、更に処理された後に次のプロシージャへ出力されてよい、ことが理解されるべきである。例えば、補間フィルタリング、動きベクトル導出、又はループフィルタリングなどのプロシージャの後で、クリッピング又はシフトなどの動作が、対応するプロシージャの処理結果に対して更に実行される。
【０１２６】
例えば、隣接するアフィンコーディングブロックの動きベクトルに基づいて導出される、現在の画像ブロックの制御点の動きベクトルは、更に処理されてよい。これは、本願において限定されない。例えば、動きベクトルの値範囲は、動きベクトルが特定のビットデプス内にあるように、制限される。動きベクトルの許容されるビットデプスがｂｉｔＤｅｐｔｈであるすると、動きベクトル範囲は、−２＾（ｂｉｔＤｅｐｔｈ−１）から２＾（ｂｉｔＤｅｐｔｈ−１）までであり、ここで、符号「＾」は累乗を表す。ｂｉｔＤｅｐｔｈが１６である場合に、値範囲は−３２７６８から３２７６７まである。ｂｉｔＤｅｐｔｈが１８である場合に、値範囲は−１３１０７２から１３１０７１までである。動きベクトルの値範囲は、次の２つの方法のどちらか一方で制限されてよい。
【０１２７】
方法１：動きベクトルのオーバーフローする高次ビットは、除かれる：
ｕｘ＝（ｖｘ＋２ｂｉｔＤｅｐｔｈ）％２ｂｉｔＤｅｐｔｈ
ｖｘ＝（ｕｘ＞＝２ｂｉｔＤｅｐｔｈ−１）？（ｕｘ−２ｂｉｔＤｅｐｔｈ）：ｕｘ
ｕｙ＝（ｖｙ＋２ｂｉｔＤｅｐｔｈ）％２ｂｉｔＤｅｐｔｈ
ｖｙ＝（ｕｙ＞＝２ｂｉｔＤｅｐｔｈ−１）？（ｕｙ−２ｂｉｔＤｅｐｔｈ）：ｕｙ
【０１２８】
例えば、ｖｘの値は−３２７６９であり、３２７６７が上記の式に従って取得される。値は、２の補数形式でコンピュータに記憶され、−３２７６９の２の補数は、１，０１１１，１１１１，１１１１，１１１１（１７ビット）であり、オーバーフローのためにコンピュータによって実行される処理は、高次ビットを捨てることである。従って、ｖｘの値は、０１１１，１１１１，１１１１，１１１１、すなわち、３２７６７であり、式に従って取得された結果と一致する。
【０１２９】
方法２：クリッピングが、次の式に示されるように、動きベクトルに対して実行される：
ｖｘ＝Ｃｌｉｐ３（−２ｂｉｔＤｅｐｔｈ−１，２ｂｉｔＤｅｐｔｈ−１−１，ｖｘ）
ｖｙ＝Ｃｌｉｐ３（−２ｂｉｔＤｅｐｔｈ−１，２ｂｉｔＤｅｐｔｈ−１−１，ｖｙ）
【０１３０】
上記の式で、Ｃｌｉｐ３は、ｚの値を範囲［ｘ，ｙ］にクリップすることとして定義される。
【数９】
2021529483.tif 000073
【０１３１】
図４は、本発明の実施形態に従う符号化デバイス又は復号化デバイス（略してコーディングデバイス１２００）の実施の略ブロック図である。コーディングデバイス１２００は、プロセッサ１２１０、メモリ１２３０、及びバスシステム１２５０を含んでよい。プロセッサ及びメモリは、バスシステムを使用することによって互いへ接続されている。メモリは、命令を記憶するよう構成される。プロセッサは、メモリに記憶されている命令を実行するよう構成される。符号化デバイスのメモリは、プログラムコードを記憶している。プロセッサは、メモリに記憶されているプログラムコードを呼び出して、本発明の実施形態で説明される様々なビデオ符号化又は復号化方法、特に、様々な新しいインター予測モード及び新しいインター予測モードにおける動き情報予測方法でのビデオ符号化又は復号化方法を実行してよい。繰り返しを避けるために、詳細はここで再び記載されない。
【０１３２】
本発明のこの実施形態において、プロセッサ１２１０は、中央演算処理装置（central  processing  unit，略してＣＰＵ）であってよく、あるいは、プロセッサ１２１０は、他の汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）若しくは他のプログラム可能なロジックデバイス、ディスクリートゲート若しくはトランジスタロジックデバイス、ディスクリートハードウェア部品、などであってよい。汎用プロセッサは、マイクロプロセッサであってよく、あるいは、プロセッサは、如何なる従来のプロセッサなどであってもよい。
【０１３３】
メモリ１２３０は、リード・オンリー・メモリ（ＲＯＭ）デバイス又はランダム・アクセス・メモリ（ＲＡＭ）デバイスを含んでよい。如何なる他の適切なタイプの記憶デバイスも、メモリ１２３０として使用されてよい。メモリ１２３０は、バスシステム１２５０を使用することによってプロセッサ１２１０によってアクセスされるコード及びデータ１２３１を含んでよい。メモリ１２３０は、オペレーティングシステム１２３３及びアプリケーションプログラム１２３５を更に含んでよい。アプリケーションプログラム１２３５は、本発明の実施形態で説明されているビデオ符号化又は復号化方法（特に、本発明の実施形態で説明されている動きベクトル予測方法）を実行することをプロセッサ１２１０に可能にする少なくとも１つのプログラムを含む。例えば、アプリケーションプログラム１２３５は、アプリケーション１からＮを含んでよく、更には、本発明の実施形態で説明されているビデオ符号化又は復号化方法を実行するビデオ符号化又は復号化アプリケーション（略してビデオコーディングアプリケーション）を含む。
【０１３４】
データバスに加えて、バスシステム１２５０は、電力バス、制御バス、ステータス信号バス、などを更に含んでよい。なお、明りょうな記載のために、図では、様々なタイプのバスが、バスシステム１２５０として標記されている。
【０１３５】
任意に、コーディングデバイス１２００は、１つ以上の出力デバイス、例えば、ディスプレイ１２７０を更に含んでよい。一例で、ディスプレイ１２７０は、動作上タッチ入力を検知するタッチユニットとディスプレイとを組み合わせるタッチディスプレイであってよい。ディスプレイ１２７０は、バスシステム１２５０を使用することによってプロセッサ１２１０へ接続されてよい。
【０１３６】
本発明の実施形態における技術的解決法をより良く理解するために、下記は、本発明の実施形態におけるインター予測モード、非平行移動運動モデル、継承的制御点動きベクトル予測方法、及び構成的制御点動きベクトル予測方法について更に記載する。
【０１３７】
（１）インター予測モード。ＨＥＶＣでは、２つのインター予測モードが使用される。すなわち、アドバンスト動きベクトル予測（advanced  motion  vector  prediction，ＡＭＶＰ）モード及びマージ（merge）モードである。
【０１３８】
ＡＭＶＰモードでは、現在のブロックの空間的又は時間的に隣接する符号化されたブロック（隣接ブロックと表される）が最初にトラバースされる。候補動きベクトルリスト（動き情報候補リストとも呼ばれ得る）が、隣接ブロックの動き情報に基づいて構成される。次いで、最適な動きベクトルが、レート歪みコストに基づいて候補動きベクトルリストの中で決定され、最小のレート歪みコストを有している候補動き情報が、現在のブロックの動きベクトル予測子（motion  vector  predictor，ＭＶＰ）として使用される。隣接ブロックの位置及びトラバース順序は、予め定義されている。レート歪みコストは、式（１）に従って計算され、このとき、Ｊは、レート歪みコストＲＤ  ｃｏｓｔを表し、ＳＡＤは、元のピクセル値と、候補動きベクトル予測子を使用することによって動き推定を通じて取得された予測されたピクセル値との間の差分絶対値和（sum  of  absolute  differences，ＳＡＤ）であり、Ｒは、ビットレートを表し、λは、ラグランジュ乗数を表す。符号器側は、候補動きベクトルリスト内の選択された動きベクトル予測子のインデックス値及び参照フレームインデックス値を復号器側へ転送する。更に、現在のブロックの実際の動きベクトルを取得するよう、ＭＶＰを中心とした近傍において動き探索が実行される。符号器側は、ＭＶＰと実際の動きベクトルとの間の差（動きベクトル差）を復号器側へ転送する。
Ｊ＝ＳＡＤ＋λＲ          （１）
【０１３９】
マージモードでは、候補動きベクトルリストは、現在のブロックの空間的又は時間的に隣接する符号化されたブロックの動き情報に基づいて最初に構成される。次いで、レート歪みコストは、現在のブロックの動き情報として候補動きベクトルリストの中の最適な動き情報を決定するために計算され、そして、候補動きベクトルリストの中の最適な動き情報の位置のインデックス値（以降、マージインデックスと表される）が、復号器側へ転送される。図５は、現在のブロックの空間的及び時間的候補動き情報を示す。空間的候補動き情報は、５つの空間的に隣接するブロック（Ａ０、Ａ１、Ｂ０、Ｂ１、及びＢ２）からである。隣接ブロックが利用不可能である（隣接ブロックが存在しないか、あるいは、隣接ブロックが符号化されていないか、あるいは、隣接ブロックに使用されている予測モードがインター予測モードでない）場合に、隣接ブロックの動き情報は候補動きベクトルリストに加えられない。現在のブロックの時間的候補動き情報は、参照フレーム及び現在のフレームのピクチャ順序カウント（picture  order  count，ＰＯＣ）に基づいて、参照フレーム内の対応する位置にあるブロックのＭＶをスケーリングすることによって、取得される。参照フレーム内の位置Ｔにあるブロックが利用可能であるかどうかが、最初に決定される。ブロックが利用不可能である場合には、位置Ｃにあるブロックが選択される。
【０１４０】
ＡＭＶＰモードと同様に、マージモードでは、隣接ブロックの位置及びトラバース順序はやはり予め定義されている。その上、隣接ブロックの位置及びトラバース順序は、異なるモードで異なってよい。
【０１４１】
候補動きベクトルリストは、ＡＭＶＰモード及びマージモードの両方において保持される必要がある、ことが分かる。新しい動き情報が毎回候補リストに加えられる前に、リスト内に同じ動き情報が既に存在しているかどうかが最初に確認される。同じ動き情報がリストに存在している場合には、その動き情報はリストに加えられない。この確認プロセスは、候補動きベクトルリストのプルーニングと呼ばれる。リストのプルーニングは、冗長なレート歪みコスト計算を回避するように、リスト内で同じ動き情報を回避するためである。
【０１４２】
ＨＥＶＣでのインター予測中に、同じ動き情報が、コーディングブロック内の全てのピクセルに使用され（すなわち、コーディングブロック内の全てのピクセルの動きは一致している）、次いで、コーディングブロックのピクセル予測子を取得するために、動き補償が動き情報に基づいて実行される。コーディングブロックでは、しかしながら、全てのピクセルが同じ動き特性を有しているとは限らない。同じ動き情報を使用することは、不正確な、動き補償された予測、及びより多くの残差情報をもたらす可能性がある。
【０１４３】
すなわち、既存のビデオコーディング標準規格では、平行移動運動モデルに基づくブロックマッチング動き推定が使用されている。しかし、現実世界では、様々な動きが存在する。多くのオブジェクト、例えば、回転しているオブジェクト、異なる方向で回転するローラーコースター、花火、及び映画の中のいくつかのスタントは、平行移動運動していない。これらの動いているオブジェクト、特にＵＧＣシナリオでのそれらが、現在のコーディング標準規格で平行移動運動モデルに基づいてブロック動き補償技術を使用することによって符号化される場合に、コーディング効率は大いに影響を受ける。従って、非平行移動運動モデル、例えば、アフィン運動モデルが、コーディング効率を更に改善するために導入される。
【０１４４】
これに基づいて、異なる運動モデルに関して、ＡＭＶＰモードは、平行移動運動モデルに基づくＡＭＶＰモードと非平行移動運動モデルに基づくＡＭＶＰモードとに分類されてよく、マージモードは、平行移動運動モデルに基づくマージモードと非平行移動運動モデルに基づくマージモードとに分類されてよい。
【０１４５】
（２）非平行移動運動モデル。非平行移動運動モデルに基づく予測では、コーデック側は、現在のブロック内の各動き補償サブユニットの動き情報を導出するために１つの運動モデルを使用し、予測ブロックを取得するよう動き補償サブユニットの動き情報に基づいて動き補償を実行する。これは、予測効率を改善することができる。本発明の実施形態における動き補償サブユニットは、特定の方法に従って分割を通じて取得される、サイズがＮ１×Ｎ２であるサンプル又はピクセルブロックであってよく、このとき、Ｎ１及びＮ２は両方とも正の整数であり、Ｎ１はＮ２に等しくてよく、又はＮ２に等しくなくてもよい。
【０１４６】
しばしば使用される非平行移動運動モデルは、４パラメータアフィン変換モデル及び６パラメータアフィン変換モデルを含み、更には、可能な適用シナリオでは、８パラメータ双線形モデルを含む。これらのモデルは、以下で別々に説明される。
【０１４７】
４パラメータアフィン変換モデルは、次の式（２）に示される：
【数１０】
2021529483.tif 000074
【０１４８】
４パラメータアフィン変換モデルは、２つのサンプルの動きベクトルと、現在のブロックの左上角にあるサンプルに対する２つのサンプルの座標とを使用することによって、表現され得る。運動モデルパラメータを表すために使用されるサンプルは、制御点と呼ばれる。左上角（０，０）にあるサンプル及び右上角（Ｗ，０）にあるサンプルが制御点として使用される場合に、現在のブロックの左上角及び右上角にある制御点の運動ベクトル（ｖｘ０，ｖｙ０）及び（ｖｘ１，ｖｙ１）は、最初に決定される。次いで、現在のブロックの各動き補償サブユニットの動き情報は、次の式（３）に従って取得され、このとき、（ｘ，ｙ）は、現在のブロックの左上角にあるサンプルに対する動き補償サブユニットの座標であり、Ｗは、現在のブロックの幅を表す。
【数１１】
2021529483.tif 000075
【０１４９】
６パラメータアフィン変換モデルは、次の式（４）に示される：
【数１２】
2021529483.tif 000076
【０１５０】
６パラメータアフィン変換モデルは、３つのサンプルの動きベクトルと、現在のブロックの左上角にあるサンプルに対する３つのサンプルの座標とを使用することによって、表現され得る。左上角（０，０）にあるサンプル、右上角（Ｗ，０）にあるサンプル、及び左下角（０，Ｈ）にあるサンプルが制御点として使用される場合に、現在のブロックの左上角、右上角、及び左下角にある制御点の動きベクトルは、最初に決定され、夫々（ｖｘ０，ｖｙ０）、（ｖｘ１，ｖｙ１）、及び（ｖｘ２，ｖｙ２）である。次いで、現在のブロックの各動き補償サブユニットの動き情報は、次の式（５）に従って取得され、このとき、（ｘ，ｙ）は、現在のブロックの左上角にあるサンプルに対する動き補償サブユニットの座標であり、Ｗ及びＨは、夫々、現在のブロックの幅及び高さを表す。
【数１３】
2021529483.tif 000077
【０１５１】
８パラメータ双線形モデルは、次の式（６）に示される：
【数１４】
2021529483.tif 000078
【０１５２】
８パラメータ双線形モデルは、４つのサンプルの動きベクトルと、現在のコーディングブロックの左上角にあるサンプルに対する４つのサンプルの座標とを使用することによって、表現され得る。左上角（０，０）にあるサンプル、右上角（Ｗ，０）にあるサンプル、左下角（０，Ｈ）にあるサンプル、及び右下角（Ｗ，Ｈ）にあるサンプルが制御点として使用される場合に、現在のコーディングブロックの左上角、右上角、左下角、及び右下角にある制御点の動きベクトル（ｖｘ０，ｖｙ０）、（ｖｘ１，ｖｙ１）、（ｖｘ２，ｖｙ２）、及び（ｖｘ３，ｖｙ３）は、最初に決定される。次いで、現在のコーディングブロックの各動き補償サブユニットの動き情報は、次の式（７）に従って導出され、このとき、（ｘ，ｙ）は、現在のコーディングブロックの左上角にあるサンプルに対する動き補償サブユニットの座標であり、Ｗ及びＨは、夫々、現在のコーディングブロックの幅及び高さである。
【数１５】
2021529483.tif 000079
【０１５３】
アフィン変換モデルを使用することによって予測されるコーディングブロックは、アフィンコーディングブロックとも呼ばれ得る。アフィン変換モデルがアフィンコーディングブロックの制御点の動き情報に直接関係があることは、上記の説明から分かる。
【０１５４】
通常、アフィンコーディングブロックの制御点の動き情報は、アフィン変換モデルに基づくＡＭＶＰモード又はアフィン変換モデルに基づくマージモードを使用することによって取得されてよい。アフィン変換モデルに基づくＡＭＶＰモード又はアフィン変換モデルに基づくマージモードで、アフィンコーディングブロックの制御点の動き情報は、継承的制御点動きベクトル予測方法又は構成的制御点動きベクトル予測方法に従って取得されてよい。下記は、２つの方法について更に記載する。
【０１５５】
（３）継承的制御点動きベクトル予測方法。継承的制御点動きベクトル予測方法では、現在のブロックの制御点の候補動きベクトルは、現在のブロックの隣接する符号化されたアフィンコーディングブロックのアフィン変換モデルを使用することによって決定される。アフィンコーディングブロックのアフィン変換モデルのパラメータ数（例えば、４つのパラメータ、６つのパラメータ、又は８つのパラメータ）は、現在のブロックのアフィン変換モデルのそれと同じである。
【０１５６】
図６に示される現在のブロックが一例として使用される。現在のブロックの隣接ブロックは、現在のブロックの隣接ブロックが位置するアフィンコーディングブロックを見つけ、アフィンコーディングブロックの制御点の動き情報を取得するために、特定の順序、例えば、Ａ１→Ｂ１→Ｂ０→Ａ０→Ｂ２でトラバースされる。更に、制御点の動きベクトル（マージモードの場合）又は制御点の動きベクトル予測子（ＡＭＶＰモードの場合）は、アフィンコーディングブロックの制御点の動き情報に基づいて構成されたアフィン変換モデルを使用することによって、現在のブロックについて導出される。順序Ａ１→Ｂ１→Ｂ０→Ａ０→Ｂ２は、単に一例として使用されている。他の組み合わせ順序も、本発明の実施形態に適用可能である。その上、隣接ブロックは、Ａ１、Ｂ１、Ｂ０、Ａ０、及びＢ０に限られない。隣接ブロックはサンプルであってよく、あるいは、特定の分割方法、例えば、４×４ピクセルブロック、４×２ピクセルブロック、又は他のサイズのピクセルブロックに従って取得される、予めセットされたサイズのピクセルブロックであってよい。これは限定されない。アフィンコーディングブロックは、現在のブロックに隣接しておりかつ符号化フェーズでアフィン変換モデルを使用することによって予測される符号化されたブロック（略して、隣接アフィンコーディングブロックとも呼ばれ得る）である。
【０１５７】
以下は、現在のブロックの制御点の候補動きベクトルを決定するプロセスを説明するために、図６に示されるＡ１を例として使用する。他の場合は、類推によって推定される。
【０１５８】
Ａ１が位置するアフィンコーディングブロックが４パラメータアフィンコーディングブロックである（すなわち、アフィンコーディングブロックが４パラメータアフィン変換モデルを使用することによって予測される）場合に、アフィンコーディングブロックの左上角（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）及びアフィンコーディングブロックの右上角（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）は取得される。
【０１５９】
次いで、現在のブロックの左上角（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）は、次の式（８）に従って計算される：
【数１６】
2021529483.tif 000080
【０１６０】
現在のブロックの右上角（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）は、次の式（９）に従って計算される：
【数１７】
2021529483.tif 000081
【０１６１】
Ａ１が位置するアフィンコーディングブロックに基づいて取得される現在のブロックの左上角（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）及び現在のブロックの右上角（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）の組み合わせは、現在のブロックの制御点の候補動きベクトルである。
【０１６２】
Ａ１が位置するコーディングブロックが６パラメータアフィンコーディングブロックである（すなわち、アフィンコーディングブロックが６パラメータアフィン変換モデルを使用することによって予測される）場合に、アフィンコーディングブロックの左上角（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）、アフィンコーディングブロックの右上角（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）、及びアフィンコーディングブロックの左下角（ｘ６，ｙ６）の動きベクトル（ｖｘ６，ｖｙ６）は取得される。
【０１６３】
次いで、現在のブロックの左上角（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）は、次の式（１０）に従って計算される：
【数１８】
2021529483.tif 000082
【０１６４】
現在のブロックの右上角（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）は、次の式（１１）に従って計算される：
【数１９】
2021529483.tif 000083
【０１６５】
現在のブロックの左下角（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）は、次の式（１２）に従って計算される：
【数２０】
2021529483.tif 000084
【０１６６】
Ａ１が位置するアフィンコーディングブロックに基づいて取得される現在のブロックの左上角（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）、右上角（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）、及び左下角（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）の組み合わせは、現在のブロックの制御点の候補動きベクトルである。
【０１６７】
他の運動モデル、候補位置、並びに探索及びトラバース順序も、本発明の実施形態に適用可能である、ことが留意されるべきである。詳細は、本発明の実施形態で説明されない。
【０１６８】
他の制御点を使用することによって現在及び隣接コーディングブロックの運動モデルを表現する方法も、本発明の実施形態に適用可能であり得る、ことが留意されるべきである。詳細はここで記載されない。
【０１６９】
（４）構成的制御点動きベクトル予測方法。構成的制御点動きベクトル予測方法では、現在のブロックの制御点の隣接する符号化されたブロックの動きベクトルは、現在のアフィンコーディングブロックの制御点の動きベクトルとして結合され、隣接する符号化されたブロックがアフィンコーディングブロックであるかどうかを考慮する必要はない。異なる予測モード（アフィン変換モデルに基づくＡＭＶＰモード及びアフィン変換モデルに基づくマージモード）に基づく構成的制御点動きベクトル予測方法は異なっており、以下で別々に説明される。
【０１７０】
アフィン変換モデルに基づくＡＭＶＰモードに基づく構成的制御点動きベクトル予測方法が、最初に説明される。
【０１７１】
図７は、現在のコーディングブロックの隣接する符号化されたブロックの動き情報を使用することによって現在のブロックの左上角及び右上角の動きベクトルを決定する構成的制御点動きベクトル予測方法を説明するために一例として使用される。
【０１７２】
現在のブロックが４パラメータアフィンコーディングブロックである（すなわち、現在のブロックが４パラメータアフィン変換モデルを使用することによって予測される）場合に、左上角に隣接する符号化されたブロックＡ２、Ｂ２又はＢ３の動きベクトルは、現在のブロックの左上角の動きベクトルの候補動きベクトルとして使用されてよい。右上角に隣接する符号化されたブロックＢ１又はＢ０の動きベクトルは、現在のブロックの右上角の動きベクトルの候補動きベクトルとして使用される。左上角及び右上角の候補動きベクトルは、複数の２タプルを構成するよう結合される。２タプルに含まれる２つの符号化されたブロックの動きベクトルは、現在のブロックの候補制御点動きベクトルとして使用されてよい。複数の２タプルは、次の通り（１３Ａ）に示される：
｛ｖＡ２，ｖＢ１｝，｛ｖＡ２，ｖＢ０｝，｛ｖＢ２，ｖＢ１｝，｛ｖＢ２，ｖＢ０｝，｛ｖＢ３，ｖＢ１｝，｛ｖＢ３，ｖＢ０｝            （１３Ａ）
【０１７３】
ｖＡ２は、Ａ２の動きベクトルを表し、ｖＢ１は、Ｂ１の動きベクトルを表し、ｖＢ０は、Ｂ０の動きベクトルを表し、ｖＢ２は、Ｂ２の動きベクトルを表し、ｖＢ３は、Ｂ３の動きベクトルを表す。
【０１７４】
現在のブロックが６パラメータアフィンコーディングブロックである（すなわち、現在のブロックが６パラメータアフィン変換モデルを使用することによって予測される）場合に、左上角に隣接する符号化されたブロックＡ２、Ｂ２、又はＢ３の動きベクトルは、現在のブロックの左上角の動きベクトルの候補動きベクトルとして使用されてよい。右上角に隣接する符号化されたブロックＢ１又はＢ０の動きベクトルは、現在のブロックの右上角の動きベクトルの候補動きベクトルとして使用される。左下角に隣接する符号化されたブロックＡ０又はＡ１の動きベクトルは、現在のブロックの左下角の動きベクトルの候補動きベクトルとして使用される。左上角、右上角、及び左下角の候補動きベクトルは、複数のトリプレットを構成するよう結合される。トリプレットに含まれる３つの符号化されたブロックの動きベクトルは、現在のブロックの候補制御点動きベクトルとして使用されてよい。複数のトリプレットは、次の通り（（１３Ｂ）及び（１３Ｃ））に示される：
｛ｖＡ２，ｖＢ１，ｖＡ０｝，｛ｖＡ２，ｖＢ０，ｖＡ０｝，｛ｖＢ２，ｖＢ１，ｖＡ０｝，｛ｖＢ２，ｖＢ０，ｖＡ０｝，｛ｖＢ３，ｖＢ１，ｖＡ０｝，｛ｖＢ３，ｖＢ０，ｖＡ０｝      （１３Ｂ）
｛ｖＡ２，ｖＢ１，ｖＡ１｝，｛ｖＡ２，ｖＢ０，ｖＡ１｝，｛ｖＢ２，ｖＢ１，ｖＡ１｝，｛ｖＢ２，ｖＢ０，ｖＡ１｝，｛ｖＢ３，ｖＢ１，ｖＡ１｝，｛ｖＢ３，ｖＢ０，ｖＡ１｝      （１３Ｃ）
【０１７５】
ｖＡ２は、Ａ２の動きベクトルを表し、ｖＢ１は、Ｂ１の動きベクトルを表し、ｖＢ０は、Ｂ０の動きベクトルを表し、ｖＢ２は、Ｂ２の動きベクトルを表し、ｖＢ３は、Ｂ３の動きベクトルを表し、ｖＡ０は、Ａ０の動きベクトルを表し、ｖＡ１は、Ａ１の動きベクトルを表す。
【０１７６】
図７は一例にすぎない、ことが留意されるべきである。制御点動きベクトルを結合する他の方法も、本発明の実施形態に適用可能であり得る、ことが留意されるべきである。詳細はここで記載されない。
【０１７７】
他の制御点を使用することによって現在及び隣接コーディングブロックの運動モデルを表現する方法も、本発明の実施形態に適用可能であり得る、ことが留意されるべきである。詳細はここで記載されない。
【０１７８】
下記は、アフィン変換モデルに基づくマージモードに基づく構成的制御点動きベクトル予測方法について記載する。
【０１７９】
図８は、現在のコーディングブロックの隣接する符号化されたブロックの動き情報を使用することによって現在のブロックの左上角及び右上角の動きベクトルを決定する構成的制御点動きベクトル予測方法を説明するために一例として使用される。図８は一例にすぎない、ことが留意されるべきである。
【０１８０】
図８に示されるように、ＣＰｋ（ｋ＝１，２，３，４）は、ｋ番目の制御点を表す。Ａ０、Ａ１、Ａ２、Ｂ０、Ｂ１、Ｂ２、及びＢ３は、現在のブロックの空間的に隣接する位置であり、ＣＰ１、ＣＰ２、又はＣＰ３を予測するために使用される。Ｔは、現在のブロックの時間的に隣接する位置であり、ＣＰ４を予測するために使用される。ＣＰ１、ＣＰ２、ＣＰ３、及びＣＰ４の座標は、夫々、（０，０）、（Ｗ，０）、（Ｈ，０）、及び（Ｗ，Ｈ）であり、このとき、Ｗ及びＨは、現在のブロックの幅及び高さを表す。この場合に、現在のブロックの各制御点の動き情報は、次の順序で取得される。
【０１８１】
１．ＣＰ１について、確認順序はＢ２→Ａ２→Ｂ３である。Ｂ２が利用可能である場合に、Ｂ２の動き情報が使用される。そうでなければ、Ａ２及びＢ３が確認される。３つの全ての位置の動き情報が利用不可能である場合に、ＣＰ１の動き情報は取得され得ない。
【０１８２】
２．ＣＰ２について、確認順序はＢ０→Ｂ１である。Ｂ０が利用可能である場合に、Ｂ０の動き情報がＣＰ２のために使用される。そうでなければ、Ｂ１が確認される。両方の位置の動き情報が利用不可能である場合に、ＣＰ２の動き情報は取得され得ない。
【０１８３】
３．ＣＰ３について、確認順序はＡ０→Ａ１である。
【０１８４】
４．ＣＰ４について、Ｔの動き情報が使用される。
【０１８５】
ここで、Ｘが利用可能であるとは、位置Ｘ（Ｘは、Ａ０、Ａ１、Ａ２、Ｂ０、Ｂ１、Ｂ２、Ｂ３、又はＴである）でのブロックが既に符号化されており、インター予測モードがそのブロックに使用されていることを意味する。そうでなければ、位置Ｘは利用不可能である。制御点動き情報を取得する他の方法も、本発明の実施形態に適用可能であり得る、ことが留意されるべきである。詳細はここで記載されない。
【０１８６】
次いで、現在のブロックの制御点動き情報は、構成的制御点動き情報を取得するよう結合される。
【０１８７】
４パラメータアフィン変換モデルが現在のブロックに使用される場合に、現在のブロックの２つの制御点の動き情報は、４パラメータアフィン変換モデルを構成するために、２タプルを構成するよう結合される。２つの制御点は次の：｛ＣＰ１，ＣＰ４｝、｛ＣＰ２，ＣＰ３｝、｛ＣＰ１，ＣＰ２｝、｛ＣＰ２，ＣＰ４｝、｛ＣＰ１，ＣＰ３｝、及び｛ＣＰ３，ＣＰ４｝、のように結合されてよい。例えば、制御点ＣＰ１及びＣＰ２を含む２タプルを使用することによって構成された４パラメータアフィン変換モデルは、Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２）と表され得る。
【０１８８】
６パラメータアフィン変換モデルが現在のブロックに使用される場合に、現在のブロックの３つの制御点の動き情報は、６パラメータアフィン変換モデルを構成するために、トリプレットを構成するよう結合される。３つの制御点は次の：｛ＣＰ１，ＣＰ２，ＣＰ４｝、｛ＣＰ１，ＣＰ２，ＣＰ３｝、｛ＣＰ２，ＣＰ３，ＣＰ４｝及び｛ＣＰ１，ＣＰ３，ＣＰ４｝、のように結合されてよい。例えば、制御点ＣＰ１、ＣＰ２、及びＣＰ３を含むトリプレットを使用することによって構成された６パラメータアフィン変換モデルは、Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２，ＣＰ３）と表され得る。
【０１８９】
８パラメータ双線形モデルが現在のブロックに使用される場合に、現在のブロックの４つ制御点の動き情報は、８パラメータ双線形モデルを構成するために、クワドループルを構成するよう結合される。制御点ＣＰ１、ＣＰ２、ＣＰ３、及びＣＰ４を含むクワドループルを使用することによって構成された８パラメータ双線形モデルは、Ｂｉｌｉｎｅａｒ（ＣＰ１，ＣＰ２，ＣＰ３，ＣＰ４）と表され得る。
【０１９０】
本明細書中で、記載を容易にするために、２つの制御点（又は２つの符号化されたブロック）の動き情報の組み合わせは、略して２タプルと呼ばれ、３つの制御点（又は３つの符号化されたブロック）の動き情報の組み合わせは、略してトリプレットと呼ばれ、４つの制御点（又は４つの符号化されたブロック）の動き情報の組み合わせは、略してクワドループルと呼ばれる。
【０１９１】
これらのモデルは、前もってセットされた順序でトラバースされる。結合モデルに対応する制御点の動き情報が利用不可能である場合に、モデルは利用不可能であると見なされる。そうでなければ、モデルの参照フレームインデックスは決定され、制御点の動きベクトルはスケーリングされる。スケーリング後の全ての制御点の動き情報が一致する場合に、モデルは無効である。モデルを制御する制御点の全ての動き情報が利用可能であって、かつ、モデルが有効である場合に、モデルを較正するために使用された制御点の動き情報は、動き情報候補リストに加えられる。
【０１９２】
制御点動きベクトルをスケーリングする方法は、次の式（１４）に示される：
【数２１】
2021529483.tif 000085
【０１９３】
ＣｕｒＰｏｃは、現在のフレームのＰＯＣ番号を表し、ＤｅｓＰｏｃは、現在のブロックの参照フレームのＰＯＣ番号を表し、ＳｒｃＰｏｃは、制御点の参照フレームのＰＯＣ番号を表し、ＭＶｓは、スケーリングを通じて取得された動きベクトルを表し、ＭＶは、制御点の動きベクトルを表す。
【０１９４】
異なる制御点の組み合わせは、代替的に、同じ場所での制御点に変換されてよい、ことが留意されるべきである。
【０１９５】
例えば、組み合わせ｛ＣＰ１，ＣＰ４｝、｛ＣＰ２，ＣＰ３｝、｛ＣＰ２，ＣＰ４｝、｛ＣＰ１，ＣＰ３｝、又は｛ＣＰ３，ＣＰ４｝を通じて取得された４パラメータアフィン変換モデルは、｛ＣＰ１，ＣＰ２｝又は｛ＣＰ１，ＣＰ２，ＣＰ３｝によって表現される。変換方法は、制御点の動きベクトル及び座標情報を上記の式（２）に代入してモデルパラメータを取得し、次いで、｛ＣＰ１，ＣＰ２｝の座標情報を上記の式（３）に代入して制御点の動きベクトルを取得することである。
【０１９６】
より直接的に、変換は、次の式（１５）から（２３）に従って実行されてよく、ここで、Ｗは、現在のブロックの幅を表し、Ｈは、現在のブロックの高さを表す。式（１５）から（２３）で、（ｖｘ０，ｖｙ０）は、ＣＰ１の動きベクトルを表し、（ｖｘ１，ｖｙ１）は、ＣＰ２の動きベクトルを表し、（ｖｘ２，ｖｙ２）は、ＣＰ３の動きベクトルを表し、（ｖｘ３，ｖｙ３）は、ＣＰ４の動きベクトルを表す。
【０１９７】
｛ＣＰ１，ＣＰ２｝は、次の式（１５）に従って｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る。すなわち、｛ＣＰ１，ＣＰ２，ＣＰ３｝の中のＣＰ３の動きベクトルは、次の式（１５）に従って決定され得る：
【数２２】
2021529483.tif 000086
【０１９８】
｛ＣＰ１，ＣＰ３｝は、次の式（１６）に従って｛ＣＰ１，ＣＰ２｝又は｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る：
【数２３】
2021529483.tif 000087
【０１９９】
｛ＣＰ２，ＣＰ３｝は、次の式（１７）に従って｛ＣＰ１，ＣＰ２｝又は｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る：
【数２４】
2021529483.tif 000088
【０２００】
｛ＣＰ１，ＣＰ４｝は、次の式（１８）又は（１９）に従って｛ＣＰ１，ＣＰ２｝又は｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る：
【数２５】
2021529483.tif 000089
【０２０１】
｛ＣＰ２，ＣＰ４｝は、次の式（２０）に従って｛ＣＰ１，ＣＰ２｝に変換され得、｛ＣＰ２，ＣＰ４｝は、次の式（２０）及び（２１）に従って｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る：
【数２６】
2021529483.tif 000090
【０２０２】
｛ＣＰ３，ＣＰ４｝は、次の式（２２）に従って｛ＣＰ１，ＣＰ２｝に変換され得、｛ＣＰ３，ＣＰ４｝は、次の式（２２）及び（２３）に従って｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る：
【数２７】
2021529483.tif 000091
【０２０３】
例えば、組み合わせ｛ＣＰ１，ＣＰ２，ＣＰ４｝、｛ＣＰ２，ＣＰ３，ＣＰ４｝、又は｛ＣＰ１，ＣＰ３，ＣＰ４｝を通じて取得された６パラメータアフィン変換モデルは、制御点｛ＣＰ１，ＣＰ２，ＣＰ３｝によって表現される。変換方法は、制御点の動きベクトル及び座標情報を上記の式（４）に代入してモデルパラメータを取得し、次いで、｛ＣＰ１，ＣＰ２，ＣＰ３｝の座標情報を上記の式（５）に代入して制御点の動きベクトルを取得することである。
【０２０４】
より直接的に、変換は、次の式（２４）から（２６）に従って実行されてよく、ここで、Ｗは、現在のブロックの幅を表し、Ｈは、現在のブロックの高さを表す。式（２４）から（２６）で、（ｖｘ０，ｖｙ０）は、ＣＰ１の動きベクトルを表し、（ｖｘ１，ｖｙ１）は、ＣＰ２の動きベクトルを表し、（ｖｘ２，ｖｙ２）は、ＣＰ３の動きベクトルを表し、（ｖｘ３，ｖｙ３）は、ＣＰ４の動きベクトルを表す。
【０２０５】
｛ＣＰ１，ＣＰ２，ＣＰ４｝は、式（２４）に従って｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る：
【数２８】
2021529483.tif 000092
【０２０６】
｛ＣＰ２，ＣＰ３，ＣＰ４｝は、式（２５）に従って｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る：
【数２９】
2021529483.tif 000093
【０２０７】
｛ＣＰ１，Ｃ３，ＣＰ４｝は、式（２６）に従って｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る：
【数３０】
2021529483.tif 000094
【０２０８】
具体的な実施形態において、目下構成中である制御点動き情報が候補動きベクトルリストに加えられた後、候補リストの長さが最大リスト長さ（例えば、ＭａｘＡｆｆｉｎｅＮｕｍＭｒｇＣａｎｄ）よりも短い場合には、これらの組み合わせは、前もってセットされた順序でトラバースされ、そして、取得された有効な組み合わせが、制御点の候補動き情報として使用される。候補動きベクトルリストが空である場合には、制御点の候補動き情報は候補動きベクトルリストに加えられる。そうでなければ、候補動きベクトルリスト内の動き情報は順次トラバースされ、制御点の候補動き情報と同じである動き情報が候補動きベクトルリストに存在するかどうかが確認される。制御点の候補動き情報と同じである動き情報が候補動きベクトルリストに存在しない場合には、制御点の候補動き情報は候補動きベクトルリストに加えられる。
【０２０９】
例えば、前もってセットされた順序は次の：Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２，ＣＰ３）→Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２，ＣＰ４）→Ａｆｆｉｎｅ（ＣＰ１，ＣＰ３，ＣＰ４）→Ａｆｆｉｎｅ（ＣＰ２，ＣＰ３，ＣＰ４）→Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２）→Ａｆｆｉｎｅ（ＣＰ１，ＣＰ３）→Ａｆｆｉｎｅ（ＣＰ２，ＣＰ３）→Ａｆｆｉｎｅ（ＣＰ１，ＣＰ４）→Ａｆｆｉｎｅ（ＣＰ２，ＣＰ４）→Ａｆｆｉｎｅ（ＣＰ３，ＣＰ４）、の通りである。全部で１０通りの組み合わせがある。
【０２１０】
組み合わせに対応する制御点動き情報が利用不可能である場合に、その組み合わせは利用不可能であると見なされる。組み合わせが利用可能である場合に、その組み合わせの参照フレームインデックスは決定され（２つの制御点の場合に、最小参照フレームインデックスが組み合わせの参照フレームインデックスとして選択され、２よりも多い制御点の場合に、最も頻繁に現れる参照フレームインデックスが選択され、複数の参照フレームインデックスが現れる回数が同じである場合に、最小参照フレームインデックスが組み合わせの参照フレームインデックスとして選択される）、制御点動きベクトルはスケーリングされる。スケーリング後の全ての制御点の動き情報が一致する場合に、組み合わせは無効である。
【０２１１】
任意に、本発明の実施形態において、候補動きベクトルリストは、代替的に、パディングされてよい。例えば、上記のトラバースプロセスの後に、候補動きベクトルリストの長さが最大リスト長さ（例えば、ＭａｘＡｆｆｉｎｅＮｕｍＭｒｇＣａｎｄ）よりも短い場合に、候補動きベクトルリストは、リスト長さが最大リスト長さに等しくなるまでパディングされてよい。
【０２１２】
パディングは、ゼロ動きベクトルをパディングすることによって、あるいは、既存のリスト内の既存の候補動き情報を結合又は加重平均することによって、実行されてよい。候補動きベクトルリストをパディングする他の方法も、本発明の実施形態に適用可能であり得る、ことが留意されるべきである。詳細はここで記載されない。
【０２１３】
既存の解決法では、継承的制御点動きベクトル予測方法について、同じ画像シーケンスに使用される非平行移動運動モデルは固定され、画像内の異なるブロックに使用されるアフィン変換モデルのパラメータの数は同じである。すなわち、アフィンコーディングブロックに使用されるアフィン変換モデルのパラメータの数は、現在のブロックに使用されるアフィン変換モデルのそれと同じである。従って、アフィンコーディングブロックの制御点の数は、現在のブロックのそれと同じであり、アフィンコーディングブロック内の制御点の位置は、現在のブロックの制御点の位置と同じである。
【０２１４】
例えば、４パラメータアフィン変換モデルがアフィンコーディングブロックに使用される場合に、４パラメータアフィン変換モデルは現在のブロックにも使用される。復号器側は、各サブブロックを再構成するように、現在のブロックの４パラメータアフィン変換モデルに基づいて現在のブロックの各サブブロックの動きベクトル情報を取得する。
【０２１５】
他の例として、８パラメータ双線形モデルがアフィンコーディングブロックに使用される場合に、８パラメータ双線形モデルは現在のブロックにも使用される。復号器側は、各サブブロックを再構成するように、現在のブロックの８パラメータ双線形モデルに基づいて現在のブロックの各サブブロックの動きベクトル情報を取得する。
【０２１６】
実務は、画像内の異なるブロックのアフィン運動が異なり得る（すなわち、現在のブロックのアフィン運動は、アフィンコーディングブロックのアフィン運動とは異なり得る）、ことを示す。従って、現在のブロックが、アフィンコーディングブロックと同じ次数を有するアフィン変換モデルに基づいて、パースされ（例えば、候補動きベクトルリストが確立され）、再構成される既存の方法では、現在のブロックを予測する際のコーディング効率及び精度は高くなく、いくつかのシナリオでユーザ要求を満足することが依然として困難である。
【０２１７】
既存の解決法の欠点を解消し、コーディングプロセスにおける予測中のコーディング効率及び精度を改善するために、継承的制御点動きベクトル予測方法は、本発明の実施形態において改善される。２つの改善された解決法、すなわち、第１の改善された解決法及び第２の改善された解決法がある。第１の改善された解決法は、第１運動モデルに基づく動きベクトル予測方法とも呼ばれることがあり、第２の改善された解決法は、第２運動モデルに基づく動きベクトル予測方法とも呼ばれることがある。下記は、２つの方法について別々に記載している。
【０２１８】
（５）第１運動モデルに基づく動きベクトル予測方法。第１運動モデルに基づく動きベクトル予測方法では、画像シーケンス内の画像の異なるブロックに使用されるアフィン変換モデルは制限されず、すなわち、異なるアフィン変換モデルが異なるブロックごとに使用されてよい。現在のブロックを符号化及び復号化する過程で、現在のブロックに使用されるアフィン変換モデルは最初に決定される。現在のブロックに使用されるアフィン変換モデルは予め定義されてよく、あるいは、現在のブロックの実際の動き状態又は実際の要件に基づいて、複数のアフィン変換モデルから選択されてよい。２×Ｎパラメータアフィン変換モデルが現在のブロックの隣接ブロック（符号器側ではアフィンコーディングブロックと、又は復号器側ではアフィン復号化ブロックとも呼ばれる）に使用され、２×Ｋパラメータアフィン変換モデルが現在のブロックに使用され、Ｎ≠Ｎである、と仮定される。この場合に、現在のブロックのＫ個の制御点の動きベクトル（候補動きベクトル）は、隣接ブロックに使用されている２×Ｎパラメータアフィン変換モデルに基づいて補間計算を通じて取得される。
【０２１９】
以下は、現在のブロックの制御点の候補動きベクトルを決定するプロセスを説明するために、図１０に示されるＡ１を例として使用する。決定プロセスは、主として、復号器側の視点から説明される。この場合に、Ａ１が位置する隣接ブロックは、アフィン復号化ブロックである。符号器側での実施は、類推によって推定され得る、ことが理解され得る。すなわち、符号器側では、現在のブロックの隣接ブロックはアフィンコーディングブロックである。実施に関する詳細は、本明細書で再び記載されない。
【０２２０】
例えば、６パラメータアフィン変換モデルが、Ａ１が位置するアフィン復号化ブロックに使用され、４パラメータアフィン変換モデルが現在のブロックに使用される場合に、アフィン復号化ブロックの左上角（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）、アフィン復号化ブロックの右上角（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）、及びアフィン復号化ブロックの左下角（ｘ６，ｙ６）の動きベクトル（ｖｘ６，ｖｙ６）は取得される。６パラメータアフィン変換モデルについての次の式（２７）及び（２８）に従って、補間計算は、現在のブロックの左上角（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）及び現在のブロックの右上角（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）を取得するために、アフィン復号化ブロックの上記３つの制御点の動きベクトルによって構成された６パラメータアフィン変換モデルを使用することによって別々に実行される：
【数３１】
2021529483.tif 000095
【０２２１】
他の例として、４パラメータアフィン変換モデルが、Ａ１が位置するアフィン復号化ブロックに使用され、６パラメータアフィン変換モデルが現在のブロックに使用される場合に、アフィン復号化ブロックの左上角（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）及びアフィン復号化ブロックの右上角（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）は取得される。この場合に、アフィン復号化ブロックの２つの制御点の動きベクトル、すなわち、左上制御点（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）及び右上制御点（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）、が取得される。４パラメータアフィン変換モデルについての次の式（２９）、（３０）、及び（３１）に従って、補間計算は、現在のブロックの左上角（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）、現在のブロックの右上角（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）、及び現在のブロックの左下角（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）を取得するために、アフィン復号化ブロックの２つの制御点の動きベクトルによって構成された４パラメータアフィン変換モデルを使用することによって別々に実行される：
【数３２】
2021529483.tif 000096
【０２２２】
上記の例は、単に、本発明の技術的解決法を説明するために使用されているにすぎず、本発明を限定する意図はない、ことが留意されるべきである。その上、他のアフィン変換モデルが現在のブロック及び隣接ブロックに使用される（例えば、４パラメータアフィン変換モデルが現在のブロックに使用され、８パラメータ双線形モデルが隣接ブロックに使用されるか、あるいは、６パラメータアフィン変換モデルが現在のブロックに使用され、８パラメータ双線形モデルが隣接ブロックに使用される）場合については、上記の例の実施を参照されたい。詳細はここで再び記載されない。
【０２２３】
この解決法では、現在のブロックのモデルパラメータの数が隣接ブロックのそれと同じであるかどうかは限定されない、ことが更に留意されるべきである。従って、いくつかの実施シナリオで、現在のブロックのモデルパラメータの数はまた、隣接ブロックのそれと同じであってもよい。
【０２２４】
例えば、４パラメータアフィン変換モデルが、Ａ１が位置するアフィン復号化ブロックに使用され、４パラメータアフィン変換モデルが現在のブロックにも使用される場合に、アフィン復号化ブロックの左上角（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）及びアフィン復号化ブロックの右上角（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）は取得される。４パラメータアフィン変換モデルについての次の式（３２）及び（３３）に従って、補間計算は、現在のブロックの左上角（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）及び現在のブロックの右上角（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）を取得するために、アフィン復号化ブロックの上記２つの制御点の動きベクトルによって構成された４パラメータアフィン変換モデルを使用することによって別々に実行される：
【数３３】
2021529483.tif 000097
【０２２５】
他の例として、６パラメータアフィン変換モデルが、Ａ１が位置するアフィン復号化ブロックに使用され、６パラメータアフィン変換モデルが現在のブロックに使用される場合に、アフィン復号化ブロックの左上角（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）、アフィン復号化ブロックの右上角（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）、及びアフィン復号化ブロックの左下角（ｘ６，ｙ６）の動きベクトル（ｖｘ６，ｖｙ６）は取得される。６パラメータアフィン変換モデルについての次の式（３４）、（３５）、及び（３６）に従って、補間計算は、現在のブロックの左上角（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）、現在のブロックの右上角（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）、及び現在のブロックの左下角（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）を取得するために、アフィン復号化ブロックの３つの制御点によって構成された６パラメータアフィン変換モデルを使用することによって別々に実行される：
【数３４】
2021529483.tif 000098
【０２２６】
上記の例は、単に、本発明の技術的解決法を説明するために使用されているにすぎず、本発明を限定する意図はない、ことが留意されるべきである。その上、他のアフィン変換モデルが現在のブロック及び隣接ブロックに使用される（例えば、８パラメータ双線形モデルが現在のブロック及び隣接ブロックの両方に使用される）場合については、上記の例の実施を参照されたい。詳細はここで再び記載されない。
【０２２７】
本発明における第１運動モデルに基づく動きベクトル予測方法に従って、現在のブロックをパースするフェーズで（例えば、候補動きベクトルリストを構成するフェーズで）、隣接ブロックのアフィン変換モデルは、現在のブロックのアフィン変換モデルを構成するために使用され得る。２つのブロックのアフィン変換モデルは、異なってよい。現在のブロックのアフィン変換モデルは、現在のブロックの実際の動き状態／実際の要件をより良く満足する。従って、この解決法は、現在のブロックを予測する際のコーディング効率及び精度を改善し、かつ、ユーザ要求を満足することができる。
【０２２８】
（６）第２運動モデルに基づく動きベクトル予測方法。第２運動モデルに基づく動きベクトル予測方法では、画像シーケンス内の画像の異なるブロックに使用されるアフィン変換モデルは限定されず、同じアフィン変換モデル又は異なるアフィン変換モデルが異なるブロックごとに使用されてよい。すなわち、２×Ｎパラメータアフィン変換モデルが現在のブロックの隣接ブロック（符号器側ではアフィンコーディングブロックと、又は復号器側ではアフィン復号化ブロックとも呼ばれる）に使用され、２×Ｋパラメータアフィン変換モデルが現在のブロックに使用される場合に、ＮはＮに等しくても等しくなくてもよい。パースフェーズ（例えば、候補動きベクトルリストを構成するフェーズ）で、現在のブロックの制御点（例えば、２つ、３つ、又は４つの制御点）は、“（３）”で説明された継承的制御点動きベクトル予測方法又は“（５）”で説明された第１運動モデルに基づく動きベクトル予測方法に従って取得されてよい。次いで、現在のブロックを再構成するフェーズで、６パラメータアフィン変換モデルは、各サブブロックを再構成するように、現在のブロックの制御点に基づいて現在のブロックの各サブブロックの動きベクトル情報を取得するために一律に使用される。
【０２２９】
以下も、（復号器側の視点から）現在のブロックの制御点の候補動きベクトルを決定するプロセスを説明するために、図６に示されるＡ１を例として使用する。他の場合は、類推によって推定される。
【０２３０】
例えば、４パラメータアフィン変換モデルが、パースフェーズで現在のブロックに使用され、４パラメータアフィン変換モデル又は他のパラメータアフィン変換モデルが隣接ブロックに使用され得る。従って、現在のブロックの２つの制御点の動きベクトル、例えば、現在のブロックの左上制御点（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）及び現在のブロックの右上制御点（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）は、“（３）”で説明された継承的制御点動きベクトル予測方法又は“（５）”で説明された第１運動モデルに基づく動きベクトル予測方法に従って取得されてよい。次いで、現在のブロックを再構成するフェーズで、６パラメータアフィン変換モデルは、現在のブロックの２つの制御点の動きベクトルに基づいて構成される必要がある。
【０２３１】
例えば、現在のブロックの左上制御点（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）及び現在のブロックの右上制御点（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）に基づいて、第３の制御点の動きベクトルは、次の式（４０）に従って取得されてよい。第３の制御点の動きベクトルは、例えば、現在のブロックの左下角（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）である。
【数３５】
2021529483.tif 000099
【０２３２】
Ｗは、現在のブロックの幅を表し、Ｈは、現在のブロックの高さを表す。
【０２３３】
次いで、再構成フェーズにおける現在のブロックの６パラメータアフィン変換モデルは、現在のブロックの左上制御点（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）と、現在のブロックの右上制御点（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）と、現在のブロックの左下制御点（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）とを使用することによって取得される。６パラメータアフィン変換モデルについての式は、次の式（３７）に示される：
【数３６】
2021529483.tif 000100
【０２３４】
次いで、現在のブロックの左上角（又は他の基準点）に対する現在のブロックの各サブブロック（又は各動き補償ユニット）の中心点の座標（ｘ（ｉ，ｊ），ｙ（ｉ，ｊ））は、各サブブロックをその後に再構成するように、各サブブロック（又は各動き補償ユニット）の中心点の動き情報を取得するよう上記の式（３７）に代入される。
【０２３５】
上記の例は、単に、本発明の技術的解決法を説明するために使用されているにすぎず、本発明を限定する意図はない、ことが留意されるべきである。その上、他のアフィン変換モデル（例えば、６パラメータアフィン変換モデル又は８パラメータ双線形モデル）がパースフェーズで現在のブロックに使用される場合については、上記の例の実施を参照されたい。詳細はここで再び記載されない。
【０２３６】
本発明における第２運動モデルに基づく動きベクトル予測方法に従って、現在のブロックを再構成するフェーズで、６パラメータアフィン変換モデルは、現在のブロックを予測するために一律に使用され得る。現在のブロックのアフィン運動を記述する運動モデルのパラメータの数が多いほど、精度は高くなり、計算複雑性も高くなる。この解決法において、再構成フェーズで構成された６パラメータアフィン変換モデルは、画像ブロックの平行移動、スケーリング、及び回転などのアフィン変換を記述し、モデル複雑性とモデリング能力との間の良いバランスを達成することができる。従って、この解決法は、現在のブロックを予測する際のコーディング効率及び精度を改善し、かつ、ユーザ要求を満足することができる。
【０２３７】
本発明のいくつかの実施形態で、第１の改善された解決法及び第２の改善された解決法は両方とも、二者択一的に実施のために使用されてよい、ことが理解され得る。
【０２３８】
例えば、４パラメータアフィン変換モデルがパースフェーズで現在のブロックに使用され、６パラメータアフィン変換モデルが隣接ブロックに使用される場合に、現在のブロックの２つの制御点の動きベクトルは、“（５）”で説明された第１運動モデルに基づく動きベクトル予測方法に従って取得されてよい。次いで、“（６）”で説明された第２運動モデルに基づく動きベクトル予測方法に従って、２つの制御点の動きベクトルは、現在のブロックの各サブブロックをその後に再構成するように、再構成フェーズで６パラメータアフィン変換モデルに変換される。
【０２３９】
他の例として、６パラメータアフィン変換モデルがパースフェーズで現在のブロックに使用され、４パラメータアフィン変換モデルが隣接ブロックに使用される場合に、現在のブロックの３つの制御点の動きベクトルは、“（５）”で説明された第１運動モデルに基づく動きベクトル予測方法に従って取得されてよい。次いで、“（６）”で説明された第２運動モデルに基づく動きベクトル予測方法における式（３２）に従って、３つの制御点の動きベクトルは、現在のブロックの各サブブロックをその後に再構成するように、再構成フェーズで６パラメータアフィン変換モデルを取得するよう結合される。
【０２４０】
確かに、第１の改善された解決法及び第２の改善された解決法の両方が実施のために使用される解決法が、二者択一的に他の実施形態として実施されてよい。詳細は、ここで記載されない。
【０２４１】
上記の説明に基づいて、下記は、本発明の実施形態におけるアフィン変換モデルに基づくＡＭＶＰモード（Affine  AMVP  mode）及びアフィン変換モデルに基づくマージモード）（Affine  Merge  mode）について更に説明する。
【０２４２】
アフィン変換モデルに基づくＡＭＶＰモードが最初に説明される。
【０２４３】
アフィン変換モデルに基づくＡＭＶＰモードについて、実施形態において、ＡＭＶＰに基づく候補動きベクトルリスト（又は制御点動きベクトル予測子候補リストと呼ばれる）も、第１運動モデルに基づく動きベクトル予測方法及び／又は構成的制御点動きベクトル予測方法を使用することによって構成され得る。他の実施形態では、ＡＭＶＰモードに基づく候補動きベクトルリスト（又は制御点動きベクトル予測子候補リストと呼ばれる）は、継承的制御点動きベクトル予測方法及び／又は構成的制御点動きベクトル予測方法を使用することによって構成され得る。リスト内の制御点動きベクトル予測子は、２つの候補制御点動きベクトルを含むか（例えば、４パラメータアフィン変換モデルが現在のブロックに使用される場合）、あるいは、３つの候補制御点動きベクトルを含むか（例えば、６パラメータアフィン変換モデルが現在のブロックに使用される場合）、あるいは、４つの候補制御点動きベクトルを含んでよい（例えば、８パラメータ双線形モデルが現在のブロックに使用される場合）。
【０２４４】
可能な適用シナリオで、制御点動きベクトル予測子候補リストは、特定の規則に従って更にプルーニング及びソートされてよく、特定の数の制御点動きベクトル予測子候補を取得するよう切り詰められ又はパディングされてよい。
【０２４５】
次いで、符号器側で、符号器（例えば、ビデオ符号器１００）は、制御点動きベクトル予測子候補リスト内の各制御点動きベクトル予測子を使用することによって、及び上記の式（３）、（５）、又は（７）に従って、現在のコーディングブロックの各動き補償サブユニットの動きベクトルを取得する。更に、符号器は、各動き補償サブユニットの動きベクトルが指し示す参照フレーム内の対応する位置のピクセル値を取得し、そのピクセル値を動き補償サブユニットのピクセル予測子として使用して、アフィン変換モデルに基づく動き補償を実行する。元の値と現在のコーディングブロックにおける各サンプルの予測子との間の平均差が計算される。最小平均差に対応する制御点動きベクトル予測子が、最適な制御点動きベクトル予測子として選択され、現在のコーディングブロックの２つ、３つ、又は４つの制御点の動きベクトル予測子として使用される。その上、符号器側で、制御点動きベクトル予測子は、制御点動きベクトル（control  point  motion  vectors，ＣＰＭＶ）を取得するように特定の探索範囲内で動き探索を実行するよう探索開始点として更に使用されてよく、そして、制御点動きベクトルと制御点動きベクトル予測子との間の差（control  point  motion  vectors  differences，ＣＰＭＶＤ）が計算される。次いで、符号器は、制御点動きベクトル予測子候補リスト内の制御点動きベクトル予測子の位置を示すインデックス値と、ＣＰＭＶＤとをビットストリームに符号化し、ビットストリームを復号器側へ転送する。
【０２４６】
復号器側で、復号器（例えば、ビデオ復号器２００）は、インデックス値及び制御点動きベクトル差（ＣＰＭＶＤ）を取得するようビットストリームをパースし、インデックス値に基づいて制御点動きベクトル予測子候補リスト内の制御点動きベクトル予測子（control  point  motion  vectors  predictor）を決定し、ＣＰＭＶＰ及びＣＰＭＶＤを加算して制御点動きベクトルを取得する。
【０２４７】
下記は、アフィン変換モデルに基づくマージモードについて説明する。
【０２４８】
アフィン変換モデルに基づくマージモードについて、実施形態において、マージモードのための候補動きベクトルリスト（又は制御点動きベクトルマージ候補リストと呼ばれる）は、継承的制御点動きベクトル予測方法及び／又は構成的制御点動きベクトル予測方法を使用することによって構成され得る。他の実施形態では、マージモードのための候補動きベクトルリスト（又は制御点動きベクトルマージ候補リストと呼ばれる）は、代替的に、第１運動モデルに基づく動きベクトル予測方法及び／又は構成的制御点動きベクトル予測方法を使用することによって構成され得る。
【０２４９】
可能な適用シナリオで、制御点動きベクトルマージ候補リストは、特定の規則に従って更にプルーニング及びソートされてよく、特定の数の制御点動きベクトル候補を取得するよう切り詰められ又はパディングされてよい。
【０２５０】
次いで、符号器側で、符号器（例えば、ビデオ符号器１００）は、マージ候補リスト内の各制御点動きベクトルを使用することによって、及び上記の式（３）、（５）、又は（７）に従って、現在のコーディングブロックの各動き補償サブユニット（Ｍ×Ｎのサイズを有し、特定の方法に従って分割により取得されるサンプル又はピクセルブロック）の動きベクトルを取得する。更に、符号器は、各動き補償サブユニットの動きベクトルが指し示す参照フレーム内の位置のピクセル値を取得し、そのピクセル値を動き補償サブユニットのピクセル予測子として使用して、アフィン動き補償を実行する。元の値と現在のコーディングブロックの各サンプルの予測子との間の平均差が計算される。最小平均差に対応する制御点動きベクトルが、現在のコーディングブロックの２つ、３つ、又は４つの制御点の動きベクトルとして選択される。候補リスト内の制御点動きベクトルの位置を示すインデックス値がビットストリームに符号化され、復号器側へ送られる。
【０２５１】
復号器側で、復号器（例えば、ビデオ復号器２００）は、インデックス値を取得するようビットストリームをパースし、インデックス値に基づいて制御点動きベクトルマージ候補リスト内の制御点動きベクトル（control  point  motion  vectors，ＣＰＭＶＰ）を決定する。
【０２５２】
加えて、本発明の実施形態で、「少なくとも１つ」は１つ以上を意味し、「複数の〜」は２つ以上を意味する、ことが留意されるべきである。「及び／又は」との用語は、関連するオブジェクトを記載する関連付け関係を示し、３つの関係が存在する可能性があることを表す。例えば、Ａ及び／又はＢは、次の場合：Ａのみが存在する、Ａ及びＢの両方が存在する、及びＢのみが存在する、を示してよく、このとき、Ａ及びＢは単数又は複数であってよい。「／」との文字は、一般的に、関連するオブジェクトの間の“論理和”関係を示す。「次の項目（要素）の少なくとも１つ」又はその類似表現は、単一の項目（要素）又は複数の項目（要素）の任意の組み合わせを含め、それらの項目の任意の組み合わせを示す。例えば、ａ、ｂ、又はｃの少なくとも１つは、ａ、ｂ、ｃ、ａ及びｂ、ａ及びｃ、ｂ及びｃ、又はａ、ｂ及びｃ、を示してよく、このとき、ａ、ｂ、及びｃは単数又は複数であってよい。
【０２５３】
図９を参照されたい。第１運動モデルに基づく動きベクトル予測方法の設計ソリューションに基づいて、本発明の実施形態は動きベクトル予測方法を提供する。方法は、ビデオ復号器２００によって実行されてよく、具体的に、ビデオ復号器２００のインター予測器２１０によって実行されてよい。ビデオ復号器２００は、複数のビデオフレームを有するビデオデータストリームに基づいて、現在のビデオフレームの現在の復号化ブロック（略して現在のブロックと称される）の各サブブロックの動き情報を予測し、動き補償を実行するよう、下記のステップの一部又は全てを実行してよい。図９に示されるように、方法は、次のステップを含むが、これらに限定されない。
【０２５４】
ステップ６０１：ビットストリームをパースし、現在の復号化ブロックのインター予測モードを決定する。
【０２５５】
具体的に、復号器側でのビデオ復号器２００は、インター予測モードを示すために使用されている指示情報を取得して、指示情報に基づいて現在のブロックのインター予測モードを決定するために、符号器側から送信されたビットストリーム内のシンタックス要素をパースしてよい。
【０２５６】
現在のブロックのインター予測モードがアフィン変換モデルに基づくＡＭＶＰモードであると決定される場合には、ステップ６０２ａから６０６ａが続いて実行される。
【０２５７】
現在のブロックのインター予測モードがアフィン変換モデルに基づくマージモードであると決定される場合には、ステップ６０２ｂから６０５ｂが続いて実行される。
【０２５８】
ステップ６０２ａ：アフィン変換モデルに基づくＡＭＶＰモードのための候補動きベクトルリストを構成する。
【０２５９】
本発明のいくつかの具体的な実施形態で、現在のブロックの制御点の候補動きベクトルは、第１運動モデルに基づく動きベクトル予測方法を使用することによって取得され、ＡＭＶＰモードに対応する候補動きベクトルリストに加えられてよい。
【０２６０】
本発明のいくつかの他の具体的な実施形態で、現在のブロックの制御点の候補動きベクトルは、代替的に、第１運動モデルに基づく動きベクトル予測方法及び構成的制御点動きベクトル予測方法を使用することによって別々に取得され、ＡＭＶＰモードに対応する候補動きベクトルリストに加えられてよい。
【０２６１】
４パラメータアフィン変換モデルが現在のブロックに使用される場合に、ＡＭＶＰモードのための候補動きベクトルリストは２タプルリストであってよい。２タプルリストは、４パラメータアフィン変換モデルを構成するために使用される１つ以上の２タプルを含む。
【０２６２】
６パラメータアフィン変換モデルが現在のブロックに使用される場合に、ＡＭＶＰモードのための候補動きベクトルリストはトリプレットリストであってよい。トリプレットリストは、６パラメータアフィン変換モデルを構成するために使用される１つ以上のトリプレットを含む。
【０２６３】
８パラメータ双線形モデルが現在のブロックに使用される場合に、ＡＭＶＰモードのための候補動きベクトルリストは、クワドループルリストであってよい。クワドループルリストは、８パラメータ双線形モデルを構成するために使用される１つ以上のクワドループルを含む。
【０２６４】
可能な適用シナリオで、候補動きベクトル２タプル／トリプレット／クワドループルリストは、特定の規則に従ってプルーニング及びソートされてよく、特定の数の候補動きベクトル候補を取得するよう切り詰められ又はパディングされてよい。
【０２６５】
第１運動モデルに基づく動きベクトル予測方法について、例えば、図１０に示されるように、現在のブロックの隣接ブロックは、隣接ブロックが位置するアフィン復号化ブロック（例えば、Ａ１が図１０で位置するアフィン復号化ブロック）を見つけるために、図１０のＡ１→Ｂ１→Ｂ０→Ａ０→Ｂ２の順にトラバースされてよい。アフィン復号化ブロックのアフィン変換モデルは、アフィン復号化ブロックの制御点を使用することによって構成され、次いで、現在のブロックの制御点の候補動きベクトル（例えば、候補動きベクトル２タプル／トリプレット／クワドループル）は、アフィン復号化ブロックのアフィン変換モデルを使用することによって導出され、ＡＭＶＰモードに対応する候補動きベクトルリストに加えられる。他の探索順序も、本発明の実施形態に適用可能であり得る、ことが留意されるべきである。詳細はここで記載されない。
【０２６６】
複数の隣接ブロックが存在する場合に、すなわち、現在のブロックが複数の隣接アフィン復号化ブロックを有する場合に、可能な実施形態で、符号器側及び復号器側は両方とも、最初に、モデルパラメータの数が現在のブロックのそれと同じであるアフィン復号化ブロックを使用することによって現在のブロックの制御点の候補動きベクトルを取得し、取得された候補動きベクトルを、ＡＭＶＰモードに対応する候補動きベクトルリストに加えることができる、ことが留意されるべきである。次いで、現在のブロックの制御点の候補動きベクトルは、モデルパラメータの数が現在のブロックのそれとは異なるアフィン復号化ブロックを使用することによって取得され、ＡＭＶＰモードに対応する候補動きベクトルリストに加えられてよい。このようにして、モデルパラメータの数が現在のブロックのそれと同じであるアフィン復号化ブロックを使用することによって取得される、現在のブロックの制御点の候補動きベクトルは、リストの最前位置に位置付けられる。この設計は、ビットストリームで伝送されるビットの数を減らすのを助ける。
【０２６７】
図１０は、一例として使用される。現在の復号化ブロックのパラメータモデルは４パラメータアフィン変換モデルである、と仮定される。現在のブロックの隣接ブロックがトラバースされた後、４パラメータアフィン変換モデルは、Ｂ１が位置するアフィン復号化ブロックに使用されており、６パラメータアフィン変換モデルは、Ａ１が位置するアフィン復号化ブロックに使用されている、と決定される。この場合に、現在のブロックの２つの制御点の動きベクトルは、最初に、Ｂ１が位置するアフィン復号化ブロックを使用することによって導出され、リストに加えられ得る。次いで、現在のブロックの２つの制御点の動きベクトルは、Ａ１が位置するアフィン復号化ブロックを使用することによって導出され、リストに加えられる。
【０２６８】
あるいは、現在の復号化ブロックのパラメータモデルは６パラメータアフィン変換モデルである、と仮定される。現在のブロックの隣接ブロックがトラバースされた後、６パラメータアフィン変換モデルは、Ａ１が位置するアフィン復号化ブロックに使用されており、４パラメータアフィン変換モデルは、Ｂ１が位置するアフィン復号化ブロックに使用されている、と決定される。この場合に、現在のブロックの３つの制御点の動きベクトルは、最初に、Ａ１が位置するアフィン復号化ブロックを使用することによって導出され、リストに加えられ得る。次いで、現在のブロックの３つの制御点の動きベクトルは、Ｂ１が位置するアフィン復号化ブロックを使用することによって導出され、リストに加えられる。
【０２６９】
本発明の技術的解決法は、上記の例に限定されず、他の隣接ブロック、運動モデル、及び探索順序も、本発明に適用可能であり得る、ことが留意されるべきである。詳細はここで記載されない。
【０２７０】
ステップ６０２ａで、異なるブロックに使用されるアフィン変換モデルは限定されない。すなわち、現在のブロックに使用されるアフィン変換モデルのパラメータの数は、アフィン復号化ブロックのそれと異なっても又は同じであってもよい。実施形態において、現在のブロックに使用されるアフィン変換モデルは、ビットストリームをパースすることによって決定されてよい。すなわち、この場合に、ビットストリームは、現在のブロックのアフィン変換モデルの指示情報を含む。実施形態において、現在のブロックに使用されるアフィン変換モデルは、事前設定されてよい。実施形態において、現在のブロックに使用されるアフィン変換モデルは、現在のブロックの実際の動き状態又は実際の要件に基づいて複数のアフィン変換モデルから選択されてよい。
【０２７１】
構成的制御点動きベクトル予測方法を使用することによって現在のブロックの制御点の候補動きベクトルを取得することに関するいくつかの内容は、上記の“（４）”で詳細に説明されている。本明細書の簡潔さのために、詳細はここで再び記載されない。
【０２７２】
第１運動モデルに基づく動きベクトル予測方法を使用することによって現在のブロックの制御点の候補動きベクトルを取得することに関するいくつかの内容は、上記の“（５）”で詳細に説明されている。本明細書の簡潔さのために、詳細はここで再び記載されない。
【０２７３】
第１運動モデルに基づく動きベクトル予測方法が使用されるいくつかの実施形態において、復号器側が現在のブロックの制御点の候補動きベクトルを導出する過程で、アフィン復号化ブロックのアフィン変換モデルのフラグ情報（flag）が取得される必要があり得る、ことが留意されるべきである。フラグは、復号器側でローカルで予め記憶され、そして、アフィン復号化ブロックのサブブロックを予測するために実際に使用されるアフィン復号化ブロックのアフィン変換モデルを示すために使用される。
【０２７４】
例えば、適用シナリオにおいて、復号器側が、アフィン復号化ブロックのフラグを識別することによって、アフィン復号化ブロックに実際に使用されたアフィン変換モデルのモデルパラメータの数が、現在のブロックに使用されたアフィン変換モデルのそれとは異なる（又はそれと同じである）と決定する場合に、復号器側は、アフィン復号化ブロックに実際に使用されたアフィン変換モデルを使用することによって現在のブロックの制御点の候補動きベクトルを導出するようトリガされる。
【０２７５】
例えば、４パラメータアフィン変換モデルが現在のブロックに使用される場合に、復号器側がアフィン復号化ブロックのフラグを識別し、アフィン復号化ブロックに実際に使用されたアフィン変換モデルのモデルパラメータの数が現在のブロックに使用されたアフィン変換モデルのそれとは異なると、例えば、６パラメータアフィン変換モデルがアフィン復号化ブロックに使用されていると決定するならば、復号器側は、アフィン復号化ブロックの３つの制御点の動きベクトル、すなわち、左上角（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）、右上角（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）及び左下角（ｘ６，ｙ６）の動きベクトル（ｖｘ６，ｖｙ６）を取得する。アフィン復号化ブロックの３つの制御点によって構成された６パラメータアフィン変換モデルに基づいて、現在のブロックの左上及び右上制御点の候補動きベクトルは、夫々、６パラメータアフィン変換モデルのための式（２７）及び（２８）に従って導出される。
【０２７６】
他の例として、４パラメータアフィン変換モデルが現在のブロックに使用される場合に、復号器側がアフィン復号化ブロックのフラグを識別し、アフィン復号化ブロックに実際に使用されたアフィン変換モデルのモデルパラメータの数が現在のブロックに使用されたアフィン変換モデルのそれと同じであると、例えば、４パラメータアフィン変換モデルがアフィン復号化ブロックにも使用されていると決定するならば、復号器側は、アフィン復号化ブロックの２つの制御点の動きベクトル、すなわち、左上制御点（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）及び右上制御点（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）を取得する。アフィン復号化ブロックの２つの制御点によって構成された４パラメータアフィン変換モデルに基づいて、現在のブロックの左上及び右上制御点の候補動きベクトルは、夫々、４パラメータアフィン変換モデルのための式（３２）及び（３３）に従って導出される。
【０２７７】
第１運動モデルに基づく動きベクトル予測方法が使用されるいくつかの他の実施形態において、復号器側が現在のブロックの制御点の候補動きベクトルを導出する過程で、アフィン復号化ブロックのアフィン変換モデルのフラグは必要とされなくてもよい、ことが留意されるべきである。
【０２７８】
例えば、適用シナリオにおいて、復号器側が現在のブロックに使用されたアフィン変換モデルを決定した後、復号器側は、アフィン復号化ブロックの特定の数（特定の数は、現在のブロックの制御点の数と同じか又は異なる）の制御点を取得し、アフィン復号化ブロックの特定の数の制御点を使用することによってアフィン変換モデルを構成し、次いで、アフィン変換モデルを使用することによって現在のブロックの制御点の候補動きベクトルを導出する。
【０２７９】
例えば、４パラメータアフィン変換モデルが現在のブロックに使用される場合に、復号器側は、アフィン復号化ブロックに実際に使用されたアフィン変換モデル（アフィン復号化ブロックに実際に使用されたアフィン変換モデルは、４パラメータアフィン変換モデル、６パラメータアフィン変換モデル、又は８パラメータ双線形モデルであってよい）を決定せず、アフィン復号化ブロックの２つの制御点の動きベクトル、すなわち、左上制御点（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）及び右上制御点（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）を直接取得する。アフィン復号化ブロックの２つの制御点によって構成された４パラメータアフィン変換モデルに基づいて、現在のブロックの左上及び右上制御点の動きベクトルは、夫々、４パラメータアフィン変換モデルのための式（３２）及び（３３）に従って導出される。
【０２８０】
本発明の技術的解決法は、上記の例に限定されず、他の制御点、運動モデル、候補位置、及び探索順序も、本発明に適用可能であり得る、ことが留意されるべきである。詳細はここで記載されない。
【０２８１】
ステップ６０３ａ：インデックス値に基づいて制御点の最適な動きベクトル予測子を決定する。
【０２８２】
具体的に、候補動きベクトルリストのインデックス値は、ビットストリームをパースすることによって取得され、制御点の最適な動きベクトル予測子は、インデックス値に基づいて、ステップ６０２ａで構成された候補動きベクトルリストの中で決定される。
【０２８３】
例えば、４パラメータアフィン運動モデルが現在のブロックに使用される場合に、インデックス値は、パースすることにより取得され、２つの制御点の最適な動きベクトル予測子は、インデックス値に基づいて候補動きベクトル２タプルリストの中で決定される。
【０２８４】
他の例として、６パラメータアフィン運動モデルが現在のブロックに使用される場合に、インデックス値は、パースすることにより取得され、３つの制御点の最適な動きベクトル予測子は、インデックス値に基づいて候補動きベクトルトリプレットリストの中で決定される。
【０２８５】
他の例として、８パラメータ双線形モデルが現在のブロックに使用される場合に、インデックス値は、パースすることにより取得され、４つの制御点の最適な動きベクトル予測子は、インデックス値に基づいて候補動きベクトルクワドループルリストの中で決定される。
【０２８６】
ステップ６０４ａ：動きベクトル差に基づいて制御点の実際の動きベクトル決定する。
【０２８７】
具体的に、制御点の動きベクトル差は、ビットストリームをパースすることによって取得され、次いで、制御点の動きベクトルは、制御点の動きベクトル差と、ステップ６０３ａで決定されている制御点の最適な動きベクトル予測子とに基づいて、取得される。
【０２８８】
例えば、４パラメータアフィン運動モデルが現在のブロックに使用される場合に、現在のブロックの２つの制御点の動きベクトル差は、ビットストリームを復号することによって取得される。例えば、左上制御点の動きベクトル差及び右上制御点の動きベクトル差が、ビットストリームを復号することによって取得され得る。次いで、各制御点の動きベクトル差及び動きベクトル予測子は、制御点の実際の動きベクトルを取得するよう加算される。すなわち、現在のブロックの左上及び右上制御点の動きベクトルが取得される。
【０２８９】
他の例として、６パラメータアフィン運動モデルが現在のブロックに使用される場合に、現在のブロックの３つの制御点の動きベクトル差は、ビットストリームを復号することによって取得される。例えば、左上制御点の動きベクトル差、右上制御点の動きベクトル差、及び左下制御点の動きベクトル差が、ビットストリームを復号することによって取得され得る。次いで、各制御点の動きベクトル差及び動きベクトル予測子は、制御点の実際の動きベクトルを取得するよう加算される。すなわち、現在のブロックの左上、右上、及び左下制御点の動きベクトルが取得される。
【０２９０】
本発明のこの実施形態において、他のアフィン運動モデル及び他の制御点位置も使用されてよい、ことが留意されるべきである。詳細はここで記載されない。
【０２９１】
ステップ６０５ａ：現在のブロック使用されているアフィン変換モデルに基づいて現在のブロックの各サブブロックの動きベクトルを取得する。
【０２９２】
Ｐ×Ｑの現在のブロックにおける各Ｍ×Ｎのサブブロックについて（１つのサブブロックは１つの動き補償ユニットと同等であってよく、Ｍ×Ｎのサブブロックの幅又は高さの少なくとも１つは現在のブロックの幅又は高さよりも小さい）、動き補償ユニットにおける前もってセットされた位置でのサンプルの動き情報は、動き補償ユニットにおける全てのサンプルの動き情報を表すために使用されてよい。動き補償ユニットサイズがＭ×Ｎであるとすると、前もってセットされた位置でのサンプルは中心点（Ｍ／２，Ｎ／２）、左上サンプル（０，０）、右上サンプル（Ｍ−１，０）、又は動き補償ユニットの他の位置でのサンプルであってよい。
【０２９３】
下記は、動き補償ユニットの中心点を説明のために例として使用する。図１１Ａ及び図１１Ｂを参照されたい。
【０２９４】
図１１Ａは、現在のブロック及び現在のブロックの動き補償ユニットの例を示す。図中の各小さいボックスは、１つの動き補償ユニットを表す。図中、各動き補償ユニットの仕様は４×４であり、各動き補償ユニットにおける灰色の点は動き補償ユニットの中心点を表す。図１１Ａで、Ｖ０は、現在のブロックの左上制御点の動きベクトルを表し、Ｖ１は、現在のブロックの右上制御点の動きベクトルを表し、Ｖ２は、現在のブロックの左下制御点の動きベクトルを表す。
【０２９５】
図１１Ｂは、他の現在のブロック及び現在のブロックの動き補償ユニットの例を示す。図中の各小さいボックスは、１つの動き補償ユニットを表す。図中、各動き補償ユニットの仕様は８×８であり、各動き補償ユニットにおける灰色の点は動き補償ユニットの中心点を表す。図１１Ｂで、Ｖ０は、現在のブロックの左上制御点の動きベクトルを表し、Ｖ１は、現在のブロックの右上制御点の動きベクトルを表し、Ｖ２は、現在のブロックの左下制御点の動きベクトルを表す。
【０２９６】
現在のブロックの左上ピクセルに対する動き補償ユニットの中心点の座標は、次の式（３８）に従って計算され得る：
【数３７】
2021529483.tif 000101
【０２９７】
上記の式中、ｉは、（左から右へ）水平方向におけるｉ番目の動き補償ユニットであり、ｊは、（上から下へ）垂直方向におけるｊ番目の動き補償ユニットであり、（ｘ（ｉ，ｊ），ｙ（ｉ，ｊ））は、現在のアフィン復号化ブロックの左上制御点でのピクセルに対する（ｉ，ｊ）番目の動き補償ユニットの中心点の座標を示す。
【０２９８】
６パラメータアフィン運動モデルが現在のアフィン復号化ブロックに使用される場合に、（ｘ（ｉ，ｊ），ｙ（ｉ，ｊ））は、各動き補償ユニットの中心点の動きベクトルを取得するよう６パラメータアフィン運動モデルのための次の式（３７）に代入され、取得された動きベクトルは、動き補償ユニットにおける全てのサンプルの動きベクトル（ｖｘ（ｉ，ｊ），ｖｙ（ｉ，ｊ））として使用される：
【数３８】
2021529483.tif 000102
【０２９９】
４パラメータアフィン運動モデルが現在のアフィン復号化ブロックに使用される場合に、（ｘ（ｉ，ｊ），ｙ（ｉ，ｊ））は、各動き補償ユニットの中心点の動きベクトルを取得するよう４パラメータアフィン運動モデルのための次の式（３９）に代入され、取得された動きベクトルは、動き補償ユニットにおける全てのサンプルの動きベクトル（ｖｘ（ｉ，ｊ），ｖｙ（ｉ，ｊ））として使用される：
【数３９】
2021529483.tif 000103
【０３００】
ステップ６０６ａ：サブブロックごとに、サブブロックの決定された動きベクトルに基づいて動き補償を実行して、サブブロックのピクセル予測子を取得する。
【０３０１】
ステップ６０２ｂ：アフィン変換モデルに基づくマージモードのための候補動きベクトルリストを構成する。
【０３０２】
本発明のいくつかの具体的な実施形態で、現在のブロックの制御点の候補動きベクトルは、代替的に、第１運動モデルに基づく動きベクトル予測方法を使用することによって取得され、マージモードに対応する候補動きベクトルリストに加えられてよい。
【０３０３】
本発明のいくつかの他の具体的な実施形態で、現在のブロックの制御点の候補動きベクトルは、代替的に、第１運動モデルに基づく動きベクトル予測方法及び構成的制御点動きベクトル予測方法を使用することによって別々に取得され、マージモードに対応する候補動きベクトルリストに加えられてよい。
【０３０４】
同様に、マージモードに対応する候補動きベクトルリストについて、４パラメータアフィン変換モデルが現在のブロックに使用される場合に、候補動きベクトルリストは２タプルリストであってよい。２タプルリストは、４パラメータアフィン変換モデルを構成するために使用される１つ以上の２タプルを含む。
【０３０５】
６パラメータアフィン変換モデルが現在のブロックに使用される場合に、候補動きベクトルリストはトリプレットリストであってよい。トリプレットリストは、６パラメータアフィン変換モデルを構成するために使用される１つ以上のトリプレットを含む。
【０３０６】
８パラメータ双線形モデルが現在のブロックに使用される場合に、候補動きベクトルリストはクワドループルリストであってよい。クワドループルリストは、８パラメータ双線形モデルを構成するために使用される１つ以上のクワドループルを含む。
【０３０７】
可能な適用シナリオで、候補動きベクトル２タプル／トリプレット／クワドループルリストは、特定の規則に従ってプルーニング及びソートされてよく、特定の数の候補動きベクトル候補を取得するよう切り詰められ又はパディングされてよい。
【０３０８】
同様に、第１運動モデルに基づく動きベクトル予測方法について、例えば、図１０に示されるように、現在のブロックの隣接ブロックは、隣接ブロックが位置するアフィン復号化ブロックを見つけるために、図１０のＡ１→Ｂ１→Ｂ０→Ａ０→Ｂ２の順にトラバースされてよい。アフィン復号化ブロックのアフィン変換モデルは、アフィン復号化ブロックの制御点を使用することによって構成され、次いで、現在のブロックの制御点の候補動きベクトル（例えば、候補動きベクトル２タプル／トリプレット／クワドループル）は、アフィン復号化ブロックのアフィン変換モデルを使用することによって導出され、マージモードに対応する候補動きベクトルリストに加えられる。他の探索順序も、本発明の実施形態に適用可能であり得る、ことが留意されるべきである。詳細はここで記載されない。
【０３０９】
具体的に、上記のトラバースプロセスで、候補動きベクトルリストが空である場合には、制御点の候補動き情報は候補リストに加えられる。そうでなければ、候補動きベクトルリスト内の動き情報は順次トラバースされ、制御点の候補動き情報と同じである動き情報が候補動きベクトルリストに存在するかどうかが確認される。制御点の候補動き情報と同じである動き情報が候補動きベクトルリストに存在しない場合には、制御点の候補動き情報は候補動きベクトルリストに加えられる。
【０３１０】
２つの候補動き情報が同じであるかどうかを決定するために、２つの候補動き情報における前方参照フレーム、後方参照フレーム、各前方動きベクトルの水平及び垂直成分、並びに各後方動きベクトルの水平及び垂直成分が同じであるかどうかを順次決定する必要がある。２つの候補動き情報は、それら全ての要素が異なる場合にのみ異なると見なされる。
【０３１１】
候補動きベクトルリスト内の動き情報の数が最大リスト長さに達する場合に、候補リスト構成は完了され、そうでなければ、次の隣接ブロックがトラバースされる。
【０３１２】
構成的制御点動きベクトル予測方法を使用することによって現在のブロックの制御点の候補動きベクトルを取得することに関するいくつかの内容は、上記の“（４）”で詳細に説明されている。本明細書の簡潔さのために、詳細はここで再び記載されない。
【０３１３】
第１運動モデルに基づく動きベクトル予測方法を使用することによって現在のブロックの制御点の候補動きベクトルを取得することに関するいくつかの内容は、上記の“（５）”で詳細に説明されている。本明細書の簡潔さのために、詳細はここで再び記載されない。
【０３１４】
第１運動モデルに基づく動きベクトル予測方法が使用されるいくつかの実施形態において、アフィン変換モデルに基づくマージモードの場合に、４パラメータアフィン変換モデル、６パラメータアフィン変換モデル、及び８パラメータ双線形モデルなどのアフィン変換モデルは、代替的に、画像内の異なるブロックごとに区別されてなくてもよく、すなわち、同数のパラメータによるアフィン変換モデルが異なるブロックに使用されてよい、ことが留意されるべきである。
【０３１５】
例えば、６パラメータアフィン変換モデルが画像内の全てのブロックに使用される。図１０のＡ１が例として使用される。Ａ１が位置するアフィン復号化ブロックの３つの制御点の動きベクトル、すなわち、左上制御点（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）、右上制御点（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）、及び左下制御点（ｘ６，ｙ６）の動きベクトル（ｖｘ６，ｖｙ６）、が取得される。次いで、隣接するアフィン復号化ブロックの３つの制御点によって構成された６パラメータアフィン変換モデルに基づいて、現在のブロックの左上制御点、右上制御点、及び左下制御点の動きベクトルは、夫々、式（３４）、（３５）、及び（３６）に従って導出される。
【０３１６】
本発明の技術的解決法は、上記の例に限定されず、他の制御点、運動モデル、候補位置、及び探索順序も、本発明に適用可能であり得る、ことが留意されるべきである。詳細はここで記載されない。
【０３１７】
ステップ６０３ｂ：インデックス値に基づいて制御点の動きベクトルを決定する。
【０３１８】
具体的に、候補動きベクトルリストのインデックス値は、ビットストリームをパースすることによって取得され、制御点の実際の動きベクトルは、インデックス値に基づいて、ステップ６０２ｂで構成された候補動きベクトルリストの中で決定される。
【０３１９】
例えば、４パラメータアフィン運動モデルが現在のブロックに使用される場合に、インデックス値は、パースすることにより取得され、２つの制御点の動きベクトルは、インデックス値に基づいて候補動きベクトル２タプルリストの中で決定される。
【０３２０】
他の例として、６パラメータアフィン運動モデルが現在のブロックに使用される場合に、インデックス値は、パースすることにより取得され、３つの制御点の動きベクトルは、インデックス値に基づいて候補動きベクトルトリプレットリストの中で決定される。
【０３２１】
他の例として、８パラメータ双線形モデルが現在のブロックに使用される場合に、インデックス値は、パースすることにより取得され、４つの制御点の動きベクトルは、インデックス値に基づいて候補動きベクトルトクワドループルリストの中で決定される。
【０３２２】
ステップ６０４ｂ：現在のブロックに使用されているアフィン変換モデルに基づいて現在のブロックの各サブブロックの動きベクトルを取得する。このステップの詳細な実施については、ステップ６０５ａの説明を参照されたい。本明細書の簡潔さのために、詳細は、ここで再び記載されない。
【０３２３】
ステップ６０５ｂ：サブブロックごとに、対応する動きベクトルに基づいて動き補償を実行して、サブブロックのピクセル予測子を取得する。
【０３２４】
本発明のこの実施形態において、復号器側は、現在のブロックを予測する過程で、第１運動モデルに基づく動きベクトル予測方法を使用する、ことが分かる。このようにして、隣接ブロックのアフィン変換モデルは、現在のブロックをパースするフェーズで（例えば、ＡＭＶＰモード又はマージモードのための候補動きベクトルリストを構成するフェーズで）、現在のブロックのアフィン変換モデルを構成するために使用され得る。２つのブロックのアフィン変換モデルは、異なっても又は同じであってもよい。現在のブロックのアフィン変換モデルは、現在のブロックの実際の動き状態／実際の要件をより良く満足する。従って、この解決法は、現在のブロックを予測する際のコーディング効率及び精度を改善し、かつ、ユーザ要求を満足することができる。
【０３２５】
図１２を参照されたい。第２運動モデルに基づく動きベクトル予測方法の設計ソリューションに基づいて、本発明の実施形態は、他の動きベクトル予測方法を提供する。方法は、ビデオ復号器２００によって実行されてよく、具体的に、ビデオ復号器２００のインター予測器２１０によって実行されてよい。ビデオ復号器２００は、複数のビデオフレームを有するビデオデータストリームに基づいて、現在のビデオフレームの現在の復号化ブロック（略して現在のブロックと称される）の各サブブロックの動き情報を予測し、動き補償を実行するよう、下記のステップの一部又は全てを実行してよい。図１２に示されるように、方法は、次のステップを含むが、限定されない。
【０３２６】
ステップ７０１：ビットストリームをパースし、現在の復号化ブロックのインター予測モードを決定する。
【０３２７】
具体的に、復号器側でのビデオ復号器２００は、インター予測モードを示すために使用されている指示情報を取得して、指示情報に基づいて現在のブロックのインター予測モードを決定するために、符号器側から送信されたビットストリーム内のシンタックス要素をパースしてよい。
【０３２８】
現在のブロックのインター予測モードがアフィン変換モデルに基づくＡＭＶＰモードであると決定される場合には、ステップ７０２ａから７０６ａが続いて実行される。
【０３２９】
現在のブロックのインター予測モードがアフィン変換モデルに基づくマージモードであると決定される場合には、ステップ７０２ｂから７０５ｂが続いて実行される。
【０３３０】
ステップ７０２ａ：アフィン変換モデルに基づくＡＭＶＰモードのための候補動きベクトルリストを構成する。
【０３３１】
本発明のこの実施形態で、画像シーケンス内の画像の異なるブロックに使用されるアフィン変換モデルは限定されず、すなわち、異なるアフィン変換モデルが異なるブロックごと使用されてよい。
【０３３２】
具体的な実施形態で、現在のブロックの制御点の候補動きベクトルは、継承的制御点動きベクトル予測方法を使用することによって取得され、ＡＭＶＰモードに対応する候補動きベクトルリストに加えられてよい。
【０３３３】
具体的な実施形態で、現在のブロックの制御点の候補動きベクトルは、第１運動モデルに基づく動きベクトル予測方法を使用することによって取得され、ＡＭＶＰモードに対応する候補動きベクトルリストに加えられてよい。
【０３３４】
具体的な実施形態で、現在のブロックの制御点の候補動きベクトルは、構成的制御点動きベクトル予測方法を使用することによって取得され、ＡＭＶＰモードに対応する候補動きベクトルリストに加えられてよい。
【０３３５】
いくつかの他の具体的な実施形態において、現在のブロックの制御点の候補動きベクトルは、代替的に、継承的制御点動きベクトル予測方法、第２運動モデルに基づく動きベクトル予測方法、又は構成的制御点動きベクトル予測方法のうちのいずれか２つを使用することによって別々に取得され、ＡＭＶＰモードに対応する候補動きベクトルリストに加えられてよい。
【０３３６】
いくつかの他の具体的な実施形態において、現在のブロックの制御点の候補動きベクトルは、代替的に、継承的制御点動きベクトル予測方法、第２運動モデルに基づく動きベクトル予測方法、及び構成的制御点動きベクトル予測方法を使用することによって別々に取得され、ＡＭＶＰモードに対応する候補動きベクトルリストに加えられてよい。
【０３３７】
継承的制御点動きベクトル予測方法を使用することによって現在のブロックの制御点の候補動きベクトルを取得することに関するいくつかの内容は、上記の“（３）”で詳細に説明されている。本明細書の簡潔さのために、詳細はここで再び記載されない。
【０３３８】
構成的制御点動きベクトル予測方法を使用することによって現在のブロックの制御点の候補動きベクトルを取得することに関するいくつかの内容は、上記の“（４）”で詳細に説明されている。本明細書の簡潔さのために、詳細はここで再び記載されない。
【０３３９】
第１運動モデルに基づく動きベクトル予測方法を使用することによって現在のブロックの制御点の候補動きベクトルを取得することに関するいくつかの内容は、上記の“（５）”で及び図９の実施形態におけるステップ６０２ａで詳細に説明されている。本明細書の簡潔さのために、詳細はここで再び記載されない。
【０３４０】
例えば、４パラメータアフィン変換モデルが現在のブロックに使用される場合に、ＡＭＶＰモードのための候補動きベクトルリストは２タプルリストであってよい。２タプルリストは、４パラメータアフィン変換モデルを構成するために使用される１つ以上の２タプルを含む。
【０３４１】
６パラメータアフィン変換モデルが現在のブロックに使用される場合に、ＡＭＶＰモードのための候補動きベクトルリストはトリプレットリストであってよい。トリプレットリストは、６パラメータアフィン変換モデルを構成するために使用される１つ以上のトリプレットを含む。
【０３４２】
８パラメータ双線形モデルが現在のブロックに使用される場合に、ＡＭＶＰモードのための候補動きベクトルリストは、クワドループルリストであってよい。クワドループルリストは、８パラメータ双線形モデルを構成するために使用される１つ以上のクワドループルを含む。
【０３４３】
可能な適用シナリオで、候補動きベクトル２タプル／トリプレット／クワドループルリストは、特定の規則に従って更にプルーニング及びソートされてよく、特定の数の候補動きベクトル候補を取得するよう切り詰められ又はパディングされてよい。
【０３４４】
ステップ７０３ａ：インデックス値に基づいて制御点の最適な動きベクトル予測子を決定する。具体的な内容については、図９の実施形態におけるステップ６０３ａの関連する記載を参照されたい。詳細は、ここで再び記載されない。
【０３４５】
ステップ７０４ａ：動きベクトル差に基づいて現在のブロックの３つの制御点の動きベクトルを決定する。
【０３４６】
具体的に、制御点の動きベクトル差は、ビットストリームをパースすることによって取得され、次いで、制御点の動きベクトルは、制御点の動きベクトル差と、ステップ７０３ａで決定されている制御点の最適な動きベクトル予測子とに基づいて、取得される。次いで、現在のブロックの３つの制御点の動きベクトルは、制御点の取得された動きベクトルに基づいて決定される。
【０３４７】
例えば、ステップ７０２ａで復号器側によって構成された候補動きベクトルリストが２タプルリストである場合に、インデックス値は、ステップ７０３ａでパースすることにより取得され、２つの制御点（すなわち、２タプル）の動きベクトル予測子（ＭＶＰ）は、インデックス値に基づいて候補動きベクトルリストの中で決定される。現在のブロックの２つの制御点の動きベクトル差（ＭＶＤ）は、ステップ７０４ａでビットストリームをパースすることによって取得される。次いで、２つの制御点の動きベクトル（ＭＶ）は、２つの制御点のＭＶＰ及びＭＶＤに基づいて夫々取得される。２つの制御点の動きベクトルは、例えば、現在のブロックの左上制御点（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）及び現在のブロックの右上制御点（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）である。次いで、４パラメータアフィン変換モデルは、現在のブロックの２つの制御点の動きベクトルに基づいて構成される。第３の制御点の動きベクトルは、４パラメータアフィン変換モデルのための上記の式（４０）に従って取得される。第３の制御点の動きベクトルは、例えば、現在のブロックの左下角（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）である。このようにして、現在のブロックの左上制御点、右上制御点、及び左下制御点の動きベクトルは決定される。
【０３４８】
他の例として、ステップ７０２ａで復号器側によって構成された候補動きベクトルリストがトリプレットリストである場合に、インデックス値は、ステップ７０３ａでパースすることにより取得され、３つの制御点（すなわち、トリプレット）の動きベクトル予測子（ＭＶＰ）は、インデックス値に基づいて候補動きベクトルリストの中で決定される。現在のブロックの３つの制御点の動きベクトル差（ＭＶＤ）は、ステップ７０４ａでビットストリームをパースすることによって取得される。次いで、３つの制御点の動きベクトル（ＭＶ）は、３つの制御点のＭＶＰ及びＭＶＤに基づいて夫々取得される。３つの制御点の動きベクトルは、例えば、現在のブロックの左上制御点（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）、現在のブロックの右上制御点（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）、及び現在のブロックの左下制御点（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）である。
【０３４９】
このようにして、現在のブロックの左上制御点、右上制御点、及び左下制御点の動きベクトルは、決定される。
【０３５０】
他の例として、ステップ７０２ａで復号器側によって構成された候補動きベクトルリストがクワドループルリストである場合に、インデックス値は、ステップ７０３ａでパースすることにより取得され、４つの制御点（すなわち、クワドループル）の動きベクトル予測子（ＭＶＰ）は、インデックス値に基づいて候補動きベクトルリストの中で決定される。現在のブロックの４つの制御点の動きベクトル差（ＭＶＤ）は、ステップ７０４ａでビットストリームをパースすることによって取得される。次いで、４つの制御点の動きベクトル（ＭＶ）は、４つの制御点のＭＶＰ及びＭＶＤに基づいて夫々取得される。４つの制御点の動きベクトルは、例えば、現在のブロックの左上制御点（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）、現在のブロックの右上制御点（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）、現在のブロックの左下制御点（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）、及び現在のブロックの右下制御点（ｘ３，ｙ３）の動きベクトル（ｖｘ３，ｖｙ３）である。次いで、復号器側は、現在のブロックの左上制御点、右上制御点、及び左下制御点の動きベクトルのみを使用してよい。
【０３５１】
本発明の技術的解決法は、上記の例に限定されず、他の制御点及び運動モデルも、本発明に適用可能であり得る、ことが留意されるべきである。詳細はここで記載されない。
【０３５２】
ステップ７０５ａ：現在のブロックの３つの制御点に基づき、かつ、６パラメータアフィン変換モデルを使用することによって、各サブブロックの動きベクトルを取得する。
【０３５３】
具体的に、現在のブロックの３つの制御点の動きベクトルは、ステップ７０４ａで決定されている。従って、６パラメータアフィン変換モデルは、現在のブロックの３つの制御点の動きベクトルに基づいて構成されてよく、各サブブロックの動きベクトルは、６パラメータアフィン変換モデルを使用することによって取得される。
【０３５４】
例えば、３つの制御点の動きベクトルは、例えば、現在のブロックの左上制御点（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）、現在のブロックの右上制御点（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）、及び現在のブロックの左下制御点（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）である。この場合に、再構成フェーズでの現在のブロックの６パラメータアフィン変換モデルは、現在のブロックの左上制御点（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）、現在のブロックの右上制御点（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）、及び現在のブロックの左下制御点（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）を使用することによって取得される。６パラメータアフィン変換モデルの式は、式（３７）に示されている。
【０３５５】
次いで、現在のブロックの左上角（又は他の基準点）に対する現在のブロックの各サブブロック（又は各動き補償ユニット）における前もってセットされた位置でのサンプルの座標（ｘ（ｉ，ｊ），ｙ（ｉ，ｊ））は、各サブブロックの動きベクトルを取得するために上記の式（３７）に代入される。前もってセットされた位置でのサンプルは、各サブブロック（又は各動き補償ユニット）の中心点であってよい。現在のブロックの左上ピクセルに対する各サブブロック（又は各動き補償ユニット）の中心点の座標（ｘ（ｉ，ｊ），ｙ（ｉ，ｊ））は、上記の式（３８）に従って計算されてよい。具体的な内容については、図１１Ａの実施形態及び図１１Ｂの実施形態における関連する記載を参照されたい。詳細は、ここで再び記載されない。
【０３５６】
ステップ７０６ａ：サブブロックごとに、対応する動きベクトルに基づいて動き補償を実行して、サブブロックのピクセル予測子を取得する。
【０３５７】
ステップ７０２ｂ：アフィン変換モデルに基づくマージモードのための候補動きベクトルリストを構成する。
【０３５８】
同様に、本発明のこの実施形態で、画像シーケンス内の画像の異なるブロックに使用されるアフィン変換モデルは限定されず、すなわち、異なるアフィン変換モデルが異なるブロックごと使用されてよい。
【０３５９】
具体的な実施形態で、現在のブロックの制御点の候補動きベクトルは、継承的制御点動きベクトル予測方法を使用することによって取得され、マージモードに対応する候補動きベクトルリストに加えられてよい。
【０３６０】
具体的な実施形態で、現在のブロックの制御点の候補動きベクトルは、第１運動モデルに基づく動きベクトル予測方法を使用することによって取得され、マージモードに対応する候補動きベクトルリストに加えられてよい。
【０３６１】
具体的な実施形態で、現在のブロックの制御点の候補動きベクトルは、構成的制御点動きベクトル予測方法を使用することによって取得され、マージモードに対応する候補動きベクトルリストに加えられてよい。
【０３６２】
いくつかの他の具体的な実施形態において、現在のブロックの制御点の候補動きベクトルは、代替的に、継承的制御点動きベクトル予測方法、第２運動モデルに基づく動きベクトル予測方法、又は構成的制御点動きベクトル予測方法のうちのいずれか２つを使用することによって別々に取得され、マージモードに対応する候補動きベクトルリストに加えられてよい。
【０３６３】
いくつかの他の具体的な実施形態において、現在のブロックの制御点の候補動きベクトルは、代替的に、継承的制御点動きベクトル予測方法、第２運動モデルに基づく動きベクトル予測方法、及び構成的制御点動きベクトル予測方法を使用することによって別々に取得され、マージモードに対応する候補動きベクトルリストに加えられてよい。
【０３６４】
継承的制御点動きベクトル予測方法を使用することによって現在のブロックの制御点の候補動きベクトルを取得することに関するいくつかの内容は、上記の“（３）”で詳細に説明されている。本明細書の簡潔さのために、詳細はここで再び記載されない。
【０３６５】
構成的制御点動きベクトル予測方法を使用することによって現在のブロックの制御点の候補動きベクトルを取得することに関するいくつかの内容は、上記の“（４）”で詳細に説明されている。本明細書の簡潔さのために、詳細はここで再び記載されない。
【０３６６】
第１運動モデルに基づく動きベクトル予測方法を使用することによって現在のブロックの制御点の候補動きベクトルを取得することに関するいくつかの内容は、上記の“（５）”で及び図９の実施形態におけるステップ６０２ａで詳細に説明されている。本明細書の簡潔さのために、詳細はここで再び記載されない。
【０３６７】
更なるいくつかの他の実施形態で、アフィン変換モデルに基づくマージモードの場合に、復号器側によって確立された候補動きベクトルリストは、候補動きベクトル２タプル／トリプレット／クワドループルリストであってよい、ことが留意されるべきである。その上、候補動きベクトル２タプル／トリプレット／クワドループルリストは、特定の規則に従って更にプルーニング及びソートされてよく、特定の数の候補動きベクトル候補を取得するよう切り詰められ又はパディングされてよい。
【０３６８】
更なるいくつかの他の実施形態で、アフィン変換モデルに基づくマージモードの場合に、４パラメータアフィン変換モデル、６パラメータアフィン変換モデル、及び８パラメータ双線形モデルなどのアフィン変換モデルは、代替的に、画像内の異なるブロックごとに区別されてなくてもよく、すなわち、同数のパラメータによるアフィン変換モデルが異なるブロックに使用されてよい、ことが留意されるべきである。
【０３６９】
ステップ７０３ｂ：インデックス値に基づいて制御点の動きベクトルを取得する。具体的に、候補動きベクトルリストのインデックス値は、ビットストリームをパースすることによって取得され、制御点の実際の動きベクトルは、インデックス値に基づいて、ステップ７０２ｂで構成された候補動きベクトルリストの中で決定される。このステップの具体的な実施については、図９の実施形態におけるステップ６０３ｂにおける関連する記載を参照されたい。詳細は、ここで再び記載されない。
【０３７０】
ステップ７０４ｂ：制御点の取得された動きベクトルに基づいて現在のブロックの３つの制御点の動きベクトルを決定する。
【０３７１】
例えば、復号器側は、ステップ７０３ｂで２つの制御点（すなわち、２タプル）の動きベクトルを取得する。２つの制御点の動きベクトルは、例えば、現在のブロックの左上制御点（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）及び現在のブロックの右上制御点（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）である。次いで、４パラメータアフィン変換モデルは、現在のブロックの２つの制御点の動きベクトルに基づいて構成される。第３の制御点の動きベクトルは、４パラメータアフィン変換モデルのための上記の式（３１）に従って取得される。第３の制御点の動きベクトルは、例えば、現在のブロックの左下制御点（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）である。このようにして、現在のブロックの左上制御点、右上制御点、及び左下制御点の動きベクトルは、決定される。
【０３７２】
他の例として、復号器側は、ステップ７０３ｂで３つの制御点（すなわち、トリプレット）の動きベクトルを取得する。３つの制御点の動きベクトルは、例えば、現在のブロックの左上制御点（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）、現在のブロックの右上制御点（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）、及び現在のブロックの左下制御点（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）である。このようにして、現在のブロックの左上制御点、右上制御点、及び左下制御点の動きベクトルは、決定される。
【０３７３】
他の例として、復号器側は、ステップ７０３ｂで４つの制御点（すなわち、クワドループル）の動きベクトルを取得する。４つの制御点の動きベクトルは、例えば、現在のブロックの左上制御点（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）、現在のブロックの右上制御点（ｘ１，ｙ１）の動きベクトルｖｘ１，ｖｙ１）、現在のブロックの左下制御点（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）、及び現在のブロックの右下制御点（ｘ３，ｙ３）の動きベクトル（ｖｘ３，ｖｙ３）である。次いで、復号器側は、現在のブロックの左上制御点、右上制御点、及び左下制御点の動きベクトルのみを使用してよい。
【０３７４】
本発明の技術的解決法は、上記の例に限定されず、他の制御点及び運動モデルも、本発明に適用可能であり得る、ことが留意されるべきである。詳細はここで記載されない。
【０３７５】
ステップ７０５ｂ：現在のブロックの３つの制御点に基づき、かつ、６パラメータアフィン変換モデルを使用することによって、各サブブロックの動きベクトルを取得する。このステップの具体的な実施については、ステップ７０５ａにおける関連する記載を参照されたい。詳細は、ここで再び記載されない。
【０３７６】
ステップ７０６ｂ：サブブロックごとに、対応する動きベクトルに基づいて動き補償を実行して、サブブロックのピクセル予測子を取得する。
【０３７７】
本発明のこの実施形態において、復号器側は、現在のブロックを予測する過程で、第２運動モデルに基づく動きベクトル予測方法を使用する、ことが分かる。このようにして、パースフェーズで、現在のブロックに使用されるアフィン変換モデルのパラメータの数は、隣接ブロックに使用されるアフィン変換モデルのそれと異なっても又は同じであってもよく、６パラメータアフィン変換モデルは、現在のブロックを再構成するフェーズ（サブブロックの動きベクトルを予測するフェーズを含む）で、現在のブロックを予測するために一律に使用され得る。この解決法で、再構成フェーズで構成された６パラメータアフィン変換モデルは、画像ブロックの平行移動、スケーリング、及び回転などのアフィン変換を記述し、モデル複雑性とモデリング能力との間の良いバランスを達成することができる。従って、この解決法は、現在のブロックを予測する際のコーディング効率及び精度を改善し、かつ、ユーザ要求を満足することができる。
【０３７８】
図１３は、本発明の実施形態に従う更なる他の動きベクトル予測方法のフローチャートである。方法は、ビデオ符号器１００によって実行されてよく、具体的に、ビデオ符号器１００のインター予測器１１０によって実行されてよい。ビデオ符号器１００は、複数のビデオフレームを有するビデオデータストリームに基づいて、現在のビデオフレームの現在のコーディングブロック（略して現在のブロックと称される）を符号化するよう、下記のステップの一部又は全てを実行してよい。図１３に示されるように、方法は、次のステップを含むが、これらに限定されない。
【０３７９】
８０１：現在のコーディングブロックのインター予測モードを決定する。
【０３８０】
具体的な実施において、複数のインター予測モードが、符号器側でインター予測のために予めセットされてよい。例えば、複数のインター予測モードは、上述されているアフィン運動モデルに基づくＡＭＶＰモード及びアフィン運動モデルに基づくマージモードを含む。符号器側は、現在のブロックを予測するための最適なインター予測モードを決定するために、複数のインター予測モードをトラバースする。
【０３８１】
他の具体的な実施では、ただ１つのインター予測モードが、符号器側でインター予測のために予めセットされてよい。この場合に、符号器側は、デフォルトのインター予測モードが現在使用されていることを直接決定する。デフォルトのインター予測モードは、アフィン運動モデルに基づくＡＭＶＰモード又はアフィン運動モデルに基づくマージモードである。
【０３８２】
本発明のこの実施形態において、現在のブロックのインター予測モードがアフィン運動モデルに基づくＡＭＶＰモードであると決定される場合には、ステップ８０２ａから８０４ａが続けて実行される。
【０３８３】
本発明のこの実施形態において、現在のブロックのインター予測モードがアフィン運動モデルに基づくマージモードであると決定される場合には、ステップ８０２ｂから８０４ｂが続けて実行される。
【０３８４】
８０２ａ：アフィン変換に基づくＡＭＶＰモードのための候補動きベクトルリストを構成する。
【０３８５】
いくつかの実施形態で、符号器側は、第１運動モデルに基づく動きベクトル予測方法の設計ソリューションを使用する。従って、このステップの具体的な実施については、図９の実施形態におけるステップ６０２ａの記載を参照されたい。詳細は、ここで再び記載されない。
【０３８６】
いくつかの他の実施形態で、符号器側は、第２運動モデルに基づく動きベクトル予測方法の設計ソリューションを使用する。従って、このステップの具体的な実施については、図１２の実施形態におけるステップ７０２ａの記載を参照されたい。詳細は、ここで再び記載されない。
【０３８７】
８０３ａ：レート歪みコストに基づいて制御点の最適な動きベクトル予測子を決定する。
【０３８８】
いくつかの例で、符号器側は、候補動きベクトルリスト内の制御点動きベクトル予測子（例えば、候補動きベクトル２タプル／トリプレット／クワドループル）を使用することによって、及び式（３）、（５）、又は（７）に従って、現在のブロックの各動き補償サブユニットの動きベクトルを取得してよい。更に、符号器側は、各動き補償サブユニットの動きベクトルが指し示す参照フレーム内の対応する位置のピクセル値を取得し、そのピクセル値を動き補償サブユニットのピクセル予測子として使用して、アフィン運動モデルに基づく動き補償を実行する。元の値と現在のコーディングブロックにおける各サンプルの予測子との間の平均差が計算される。最小平均差に対応する制御点動きベクトル予測子が、最適な制御点動きベクトル予測子として選択され、現在のブロックの２つ、３つ、又は４つの制御点の動きベクトル予測子として使用される。
【０３８９】
８０４ａ：インデックス値と、制御点の動きベクトル差と、インター予測モードの指示情報とをビットストリームに符号化する。
【０３９０】
いくつかの例で、符号器側は、制御点動きベクトル（control  point  motion  vectors，ＣＰＭＶ）を取得するように最適な制御点動きベクトル予測子を探索開始点として使用することによって特定の探索範囲内で動き探索を実行し、そして、制御点動きベクトルと制御点動きベクトル予測子との間の差（control  point  motion  vectors  differences，ＣＰＭＶＤ）を計算してよい。次いで、符号器側は、候補動きベクトルリスト内の制御点動きベクトル予測子の位置を示すインデックス値と、ＣＰＭＶＤとをビットストリームに符号化する。インター予測モードの指示情報が更にビットストリームに符号化されてもよく、それにより、ビットストリームは、その後に、復号器側へ送信される。
【０３９１】
他の可能な例で、符号器側は、現在のブロックに使用されているアフィン変換モデル（パラメータの数）を示す指示情報をビットストリームに符号化し、その後に、ビットストリームを復号器側へ送信してよい。このようにして、復号器側は、指示情報に基づいて、現在のブロックに使用されているアフィン変換モデルを決定する。
【０３９２】
８０２ｂ：アフィン変換に基づくマージモードのための候補動きベクトルリストを構成する。
【０３９３】
いくつかの実施形態で、符号器側は、第１運動モデルに基づく動きベクトル予測方法の設計ソリューションを使用する。従って、このステップの具体的な実施については、図９の実施形態におけるステップ６０２ｂの記載を参照されたい。詳細は、ここで再び記載されない。
【０３９４】
いくつかの他の実施形態で、符号器側は、第２運動モデルに基づく動きベクトル予測方法の設計ソリューションを使用する。従って、このステップの具体的な実施については、図１２の実施形態におけるステップ７０２ｂの記載を参照されたい。詳細は、ここで再び記載されない。
【０３９５】
８０３ｂ：制御点の最適な動きベクトル予測子を決定する。
【０３９６】
いくつかの例で、符号器側は、候補動きベクトルリスト内の制御点動きベクトル（例えば、候補動きベクトル２タプル／トリプレット／クワドループル）を使用することによって、及び式（３）、（５）、又は（７）に従って、現在のコーディングブロックの各動き補償サブユニットの動きベクトルを取得してよい。更に、符号器側は、各動き補償サブユニットの動きベクトルが指し示す参照フレーム内の位置のピクセル値を取得し、そのピクセル値を動き補償サブユニットのピクセル予測子として使用して、アフィン動き補償を実行する。元の値と現在のコーディングブロックにおける各サンプルの予測子との間の平均差が計算される。最小平均差に対応する制御点動きベクトルが、最適な制御点動きベクトルとして選択される。最適な制御点動きベクトルは、現在のコーディングブロックの２つ、３つ、又は４つの制御点の動きベクトルとして使用される。
【０３９７】
８０４ｂ：インデックス値及びインター予測モードの指示情報をビットストリームに符号化する。
【０３９８】
一例で、符号器側は、候補リスト内の制御点動きベクトルの位置を示すインデックス値と、インター予測モードの指示情報とをビットストリームに符号化してよく、それにより、ビットストリームは、その後に、復号器側へ送信される。
【０３９９】
他の可能な例で、符号器側は、現在のブロックに使用されているアフィン変換モデル（パラメータの数）を示す指示情報をビットストリームに符号化し、その後に、ビットストリームを復号器側へ送信してよい。このようにして、復号器側は、指示情報に基づいて、現在のブロックに使用されているアフィン変換モデルを決定する。
【０４００】
上記の実施形態は、符号器側が符号化を実行し、ビットストリームを送るプロセスのみを記載している、ことが留意されるべきである。上記の記載に従って、当業者であれば、符号器側は、他のプロシージャで、本発明の実施形態で説明されている他の方法を実行してもよい、ことを理解する。例えば、現在のブロックに対して符号器側によって実行される予測中に、現在のブロックを再構成するプロセスの具体的な実施については、復号器側に関して上述された関連する方法（図９又は図１２の実施形態で示される）を参照されたい。詳細は、ここで再び記載されない。
【０４０１】
本発明の実施形態において、符号器側は、第１運動モデルに基づく動きベクトル予測方法の設計ソリューションに従って現在のブロックを符号化する、ことが分かる。このようにして、隣接ブロックのアフィン変換モデルは、現在のブロックをパースするフェーズで（例えば、ＡＭＶＰモード又はマージモードのための候補動きベクトルリストを構成するフェーズで）、現在のブロックのアフィン変換モデルを構成するために使用され得る。２つのブロックのアフィン変換モデルは、異なっても又は同じであってもよい。現在のブロックのアフィン変換モデルは、現在のブロックの実際の動き状態／実際の要件をより良く満足する。従って、この解決法は、現在のブロックを符号化する効率及び精度を改善し、かつ、ユーザ要求を満足することができる。
【０４０２】
本発明の実施形態において、符号器側は、第２運動モデルに基づく動きベクトル予測方法の設計ソリューションに従って現在のブロックを符号化する、ことが更に分かる。このことは、復号器側が、画像ブロックを再構成するフェーズで、画像ブロックを予測するために６パラメータアフィン変換モデルを一律に使用するのを助ける。従って、この解決法は、現在のブロックを予測する際のコーディング効率及び精度を改善し、かつ、ユーザ要求を満足することができる。
【０４０３】
当業者であれば、本明細書で開示及び記載されている様々な実例となる論理ブロック、モジュール、及びアルゴリズムステップを参照して説明されている機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせによって実施され得る、と理解することができる。ソフトウェアで実施される場合に、実例となる論理ブロック、モジュール、及びステップを参照して説明されている機能は、１つ以上の命令又はコードとしてコンピュータ可読媒体で記憶又は伝送され、ハードウェアベースの処理ユニットによって実行されてよい。コンピュータ可読媒体は、データ記憶媒体などの有形な媒体に対応するコンピュータ可読記憶媒体を含んでも、あるいは、１つの場所から他へ（例えば、通信プロトコルに従って）コンピュータプログラムの伝送を助ける如何なる通信媒体も含んでもよい。このようにして、コンピュータ可読媒体は、一般に、（１）非一時的な有形なコンピュータ可読記憶媒体、又は（２）信号若しくは搬送波などの通信媒体に対応してよい。データ記憶媒体は、本発明の実施形態で説明されている技術を実施するための命令、コード、及び／又はデータ構造を取り出すよう１つ以上のコンピュータ又は１つ以上のプロセッサによってアクセスされ得る如何なる使用可能な媒体でもあってよい。コンピュータプログラム製品は、コンピュータ可読媒体を含んでよい。
【０４０４】
例としてであって限定としてではなく、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ若しくは他のコンパクトディスク型記憶装置、磁気ディスク記憶装置若しくは他の磁気記憶装置、フラッシュメモリ、又は命令若しくはデータ構造の形で所望のプログラムコードを記憶するために使用可能であって、コンピュータによってアクセスされ得るあらゆる他の媒体を含んでよい。更に、如何なる接続も、コンピュータ可読媒体と適切に呼ばれる。例えば、命令がウェブサイト、サーバ、又は他の遠隔ソースから同軸ケーブル、光ファイバ、ツイステッドペア、デジタル加入者回線（ＤＳＬ）、又は赤外線、電波、若しくはマイクロ波などの無線技術を通じて伝送される場合に、同軸ケーブル、光ファイバ、ツイステッドペア、ＤＳＬ、又は赤外線、電波、若しくはマイクロ波などの無線技術は、媒体の定義に含まれる。なお、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時的な媒体を含まず、実際に非一時的な有形な記憶媒体である、ことが理解されるべきである。本明細書で使用されているdisk及びdiscは、コンパクトディスク（ＣＤ）、レーザーディスク、光ディスク、デジタル・バーサタイル・ディスク（ＤＶＤ）、及びブルーレイディスクを含む。diskは、通常は、磁気的にデータを再生し、一方、discは、レーザーで光学的にデータを再生する。上記の組み合わせも、コンピュータ可読媒体の範囲に含まれるべきである。
【０４０５】
命令は、１つ以上のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、又は他の同等の集積若しくはディスクリート・ロジック回路などの１つ以上のプロセッサによって実行されてよい。従って、本明細書で使用されている「プロセッサ」との用語は、上記の構造又は本明細書で説明されている技術に適用可能なあらゆる他の構造のいずれか１つであってよい。更に、いくつかの態様で、本明細書で説明されている実例となる論理ブロック、モジュール、及びステップを参照して記載されている機能は、符号化及び復号化のために構成されている専用のハードウェア及び／又はソフトウェアモジュール内で提供されてよく、あるいは、複合型コーデックに組み込まれてよい。更に、技術は、１つ以上の回路又はロジック素子において完全に実施されてよい。
【０４０６】
本発明の実施形態における技術は、無線ハンドセット、集積回路（ＩＣ）、又はＩＣの組（例えば、チップセット）を含む様々な装置又はデバイスで実施されてよい。様々なコンポーネント、モジュール、又はユニットは、開示されている技術を実行するよう構成されている装置の機能的側面を強調するように本発明の実施形態で説明されているが、必ずしも異なるハードウェアユニットによって実施されない。実際には、上述されたように、様々なユニットは、適切なソフトウェア及び／又はファームウェアと組み合わせてコーデックハードウェアユニットにまとめられてよく、あるいは、相互運用可能なハードウェアユニット（上述された１つ以上のプロセッサを含む）によって提供されてよい。
【０４０７】
上記の説明は、本発明の実施形態の具体的な実施の例にすぎず、本発明の実施形態の保護範囲を限定する意図はない。本発明の実施形態で開示されている技術的範囲内で当業者によって容易に考え出される如何なる変形又は置換も、本発明の実施形態の保護範囲内にあるべきである。従って、本発明の実施形態の保護範囲は、特許請求の範囲の保護範囲に従うべきである。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図１３
【補正方法】変更
【補正の内容】
【図１３】
2021529483.tif 000104
【国際調査報告】
2021529483.tif 000105
2021529483.tif 000106
2021529483.tif 000107
2021529483.tif 000108
2021529483.tif 000109
2021529483.tif 000110