(57)【要約】本発明の実施形態は、ビデオ・エンコーダ、ビデオ・デコーダおよび対応する方法を提供する。方法は：ビットストリームをパースしてインデックスを得るステップであって、前記インデックスは、現在符号化ブロックのターゲット候補動きベクトル・グループを示すために使用される、ステップと；アフィン候補動きベクトル・リスト内の前記ターゲット候補動きベクトル・グループを、前記インデックスに基づいて決定するステップであって、前記アフィン候補動きベクトル・リストは、少なくとも第1の候補動きベクトル・グループを含み、前記第1の候補動きベクトル・グループは、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られ、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、前記第1の近傍アフィン符号化ブロックは前記CTU内に位置する、ステップと；前記ターゲット候補動きベクトル・グループに基づいて、前記現在符号化ブロックの予測サンプル値を予測するステップとを含む。本願の実施形態によれば、メモリからの読み出し回数を減らすことができ、それにより、エンコードおよびデコードのパフォーマンスが改善される。
2021524708.tif 000002
【特許請求の範囲】
【請求項１】
エンコード方法であって：
レート‐歪みコスト基準に従って、アフィン候補動きベクトル・リスト内のターゲット候補動きベクトル・グループを決定するステップであって、前記ターゲット候補動きベクトル・グループは、現在符号化ブロックの制御点のグループの動きベクトル予測子を表わし、前記アフィン候補動きベクトル・リストは、少なくとも第1の候補動きベクトル・グループを含み、前記第1の候補動きベクトル・グループは、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られ、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であって、前記第1の近傍アフィン符号化ブロックは前記CTU内に位置する、または前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ステップと；
前記ターゲット候補動きベクトルに対応するインデックスを、送信されるべきビットストリーム中にエンコードするステップとを含む、
方法。
【請求項２】
前記第1の候補動きベクトル・グループが、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られることは、具体的には：
前記第1の候補動きベクトル・グループが、第1のアフィン・モデルに基づいて得られ、前記第1のアフィン・モデルが、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループの動きベクトルおよび位置座標に基づいて決定されることである、
請求項１に記載の方法。
【請求項３】
前記アフィン候補動きベクトル・リストは、第2の候補動きベクトル・グループをさらに含み、前記第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られ；前記第2の近傍アフィン符号化ブロックの制御点の前記第2のグループにおける一つまたは複数の制御点の、前記第2の近傍アフィン符号化ブロックに対する位置は、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループにおける一つまたは複数の制御点の、前記第1の近傍アフィン符号化ブロックに対する位置とは異なる、または前記第2の近傍アフィン符号化ブロックの制御点の前記第2のグループは、前記第2の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、
請求項１または２に記載の方法。
【請求項４】
前記ターゲット候補動きベクトル・グループを開始探索点として使用することによって、前記レート‐歪みコスト基準に従って、事前設定された探索範囲内で、制御点のグループの、最低の諸コストをもつ諸動きベクトルを探すステップと；
前記ターゲット候補動きベクトル・グループと制御点の前記グループの前記動きベクトルとの間の動きベクトル差分MVDを決定するステップとをさらに含み、
前記ターゲット候補動きベクトル・グループに対応するインデックスを、送信されるべきビットストリーム中にエンコードすることは：
それらのMVDおよび前記ターゲット候補動きベクトル・グループに対応する前記インデックスを、前記送信されるべきビットストリーム中にエンコードすることを含む、
請求項１ないし３のうちいずれか一項に記載の方法。
【請求項５】
前記ターゲット候補動きベクトル・グループに対応するインデックスを、送信されるべきビットストリーム中にエンコードすることは：
前記ターゲット候補動きベクトル・グループに対応する前記インデックス、参照フレーム・インデックス、および予測方向に対応するインデックスを、前記送信されるべきビットストリーム中にエンコードすることを含む、
請求項１ないし３のうちいずれか一項に記載の方法。
【請求項６】
前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であって、前記第1の近傍アフィン符号化ブロックは前記CTU内に位置する、ことは：
前記第1の近傍アフィン符号化ブロックが前記現在符号化ブロックの上の符号化ツリー単位CTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ことを含む、
請求項１ないし５のうちいずれか一項に記載の方法。
【請求項７】
前記第1の近傍アフィン符号化ブロックが前記現在ブロックの上の前記CTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、さらに、前記第1の近傍アフィン符号化ブロックの左上の制御点または右上の制御点を含む、請求項６に記載の方法。
【請求項８】
前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であって、前記第1の近傍アフィン符号化ブロックは前記CTU内に位置する、ことは：
前記第1の近傍アフィン符号化ブロックが前記現在符号化ブロックの左のCTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの右上の制御点および右下の制御点を含む、ことを含む、
請求項１ないし５のうちいずれか一項に記載の方法。
【請求項９】
前記第1の近傍アフィン符号化ブロックが前記現在符号化ブロックの左の前記CTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、さらに、前記第1の近傍アフィン符号化ブロックの左上の制御点または左下の制御点を含む、請求項８に記載の方法。
【請求項１０】
前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループが、前記第1の近傍アフィン符号化ブロックの前記左下の制御点および前記右下の制御点を含む場合に、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループはさらに、前記第1の近傍アフィン符号化ブロックの左上の制御点を含む、請求項１ないし５のうちいずれか一項に記載の方法。
【請求項１１】
デコード方法であって：
ビットストリームをパースしてインデックスを得るステップであって、前記インデックスは、現在符号化ブロックのターゲット候補動きベクトル・グループを示すために使用される、ステップと；
アフィン候補動きベクトル・リスト内の前記ターゲット候補動きベクトル・グループを、前記インデックスに基づいて決定するステップであって、前記ターゲット候補動きベクトル・グループは、前記現在符号化ブロックの制御点のグループの動きベクトル予測子を表わし、前記アフィン候補動きベクトル・リストは、少なくとも第1の候補動きベクトル・グループを含み、前記第1の候補動きベクトル・グループは、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られ、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、前記第1の近傍アフィン符号化ブロックは前記CTU内に位置する、または前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ステップと；
前記ターゲット候補動きベクトル・グループに基づいて、前記現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを取得するステップと；
前記現在符号化ブロックの前記一つまたは複数のサブブロックの前記動きベクトルに基づいて、前記現在符号化ブロックの予測サンプル値を予測するステップとを含む、
方法。
【請求項１２】
前記第1の候補動きベクトル・グループが、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られることは、具体的には：前記第1の候補動きベクトル・グループが、第1のアフィン・モデルに基づいて得られ、前記第1のアフィン・モデルが、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループの動きベクトルおよび位置座標に基づいて決定されることであり；
前記ターゲット候補動きベクトル・グループに基づいて前記現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを得ることは、具体的には：第2のアフィン・モデルに基づいて前記現在符号化ブロックの前記一つまたは複数のサブブロックの前記動きベクトルを得ることであり、前記第2のアフィン・モデルは、前記ターゲット候補動きベクトル・グループおよび前記現在符号化ブロックの制御点のグループの位置座標に基づいて決定される、
請求項１１に記載の方法。
【請求項１３】
前記アフィン候補動きベクトル・リストは、第2の候補動きベクトル・グループをさらに含み、前記第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られ；前記第2の近傍アフィン符号化ブロックの制御点の前記第2のグループにおける一つまたは複数の制御点の、前記第2の近傍アフィン符号化ブロックに対する位置は、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループにおける一つまたは複数の制御点の、前記第1の近傍アフィン符号化ブロックに対する位置とは異なる、または前記第2の近傍アフィン符号化ブロックの制御点の前記第2のグループは、前記第2の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、
請求項１１または１２に記載の方法。
【請求項１４】
前記ターゲット候補動きベクトル・グループに基づいて前記現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを得ることは：
パースを通して前記ビットストリームから得られた動きベクトル差分MVDおよび前記インデックスによって示される前記ターゲット候補動きベクトル・グループに基づいて、新しい候補動きベクトル・グループを得て；
前記新しい候補動きベクトル・グループに基づいて、前記現在符号化ブロックの前記一つまたは複数のサブブロックの前記動きベクトルを得ることを含む、
請求項１１ないし１３のうちいずれか一項に記載の方法。
【請求項１５】
前記現在符号化ブロックの前記一つまたは複数のサブブロックの前記動きベクトルに基づいて前記現在符号化ブロックの予測サンプル値を予測することは：
前記現在符号化ブロックの前記一つまたは複数のサブブロックの前記動きベクトルと、参照フレーム・インデックスおよび前記インデックスによって示される予測方向とに基づいて前記現在符号化ブロックの前記予測サンプル値を予測することを含む、
請求項１１ないし１３のうちいずれか一項に記載の方法。
【請求項１６】
前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、前記第1の近傍アフィン符号化ブロックは、前記CTU内に位置する、ことは：
前記第1の近傍アフィン符号化ブロックが前記現在符号化ブロックの上の符号化ツリー単位CTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ことを含む、
請求項１１ないし１５のうちいずれか一項に記載の方法。
【請求項１７】
前記第1の近傍アフィン符号化ブロックが前記現在ブロックの上の前記CTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、さらに、前記第1の近傍アフィン符号化ブロックの左上の制御点または右上の制御点を含む、請求項１６に記載の方法。
【請求項１８】
前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループが、前記現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、前記第1の近傍アフィン符号化ブロックは前記CTU内に位置する、ことは：
前記第1の近傍アフィン符号化ブロックが前記現在符号化ブロックの左のCTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの右上の制御点および右下の制御点を含む、ことを含む、
請求項１１ないし１５のうちいずれか一項に記載の方法。
【請求項１９】
前記第1の近傍アフィン符号化ブロックが前記現在符号化ブロックの左の前記CTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、さらに、前記第1の近傍アフィン符号化ブロックの左上の制御点または左下の制御点を含む、請求項１８に記載の方法。
【請求項２０】
前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループが、前記第1の近傍アフィン符号化ブロックの前記左下の制御点および前記右下の制御点を含む場合に、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループはさらに、前記第1の近傍アフィン符号化ブロックの左上の制御点を含む、請求項１１ないし１５のうちいずれか一項に記載の方法。
【請求項２１】
ビットストリームの形でビデオ・データを記憶するように構成されたメモリと；
レート‐歪みコスト基準に従って、アフィン候補動きベクトル・リスト内のターゲット候補動きベクトル・グループを決定し；前記ターゲット候補動きベクトルに対応するインデックスを、送信されるべきビットストリーム中にエンコードするように構成されたビデオ・エンコーダと
を有するビデオ・データ・エンコード装置であって、前記ターゲット候補動きベクトル・グループは、現在符号化ブロックの制御点のグループの動きベクトル予測子を表わし、前記アフィン候補動きベクトル・リストは、少なくとも第1の候補動きベクトル・グループを含み、前記第1の候補動きベクトル・グループは、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られ、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であって、前記第1の近傍アフィン符号化ブロックは前記CTU内に位置する、または前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、
装置。
【請求項２２】
前記第1の候補動きベクトル・グループが、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られることは、具体的には：
前記第1の候補動きベクトル・グループが、第1のアフィン・モデルに基づいて得られ、前記第1のアフィン・モデルが、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループの動きベクトルおよび位置座標に基づいて決定されることである、
請求項２１に記載の装置。
【請求項２３】
前記アフィン候補動きベクトル・リストは、第2の候補動きベクトル・グループをさらに含み、前記第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られ；前記第2の近傍アフィン符号化ブロックの制御点の前記第2のグループにおける一つまたは複数の制御点の、前記第2の近傍アフィン符号化ブロックに対する位置は、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループにおける一つまたは複数の制御点の、前記第1の近傍アフィン符号化ブロックに対する位置とは異なる、または前記第2の近傍アフィン符号化ブロックの制御点の前記第2のグループは、前記第2の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、
請求項２１または２２に記載の装置。
【請求項２４】
前記ビデオ・エンコーダがさらに：前記ターゲット候補動きベクトル・グループを開始探索点として使用することによって、前記レート‐歪みコスト基準に従って、事前設定された探索範囲内で、制御点のグループの、最低の諸コストをもつ諸動きベクトルを探し；前記ターゲット候補動きベクトル・グループと制御点の前記グループの前記動きベクトルとの間の動きベクトル差分MVDを決定するように構成されており；
前記ターゲット候補動きベクトルに対応するインデックスを、送信されるべきビットストリーム中にエンコードすることは、具体的には：
それらのMVDおよび前記ターゲット候補動きベクトル・グループに対応する前記インデックスを、前記送信されるべきビットストリーム中にエンコードすることである、
請求項２１ないし２３のうちいずれか一項に記載の装置。
【請求項２５】
前記ターゲット候補動きベクトルに対応するインデックスを、送信されるべきビットストリーム中にエンコードすることは、具体的には：前記ターゲット候補動きベクトル・グループに対応する前記インデックス、参照フレーム・インデックス、および予測方向に対応するインデックスを、前記送信されるべきビットストリーム中にエンコードすることである、
請求項２１ないし２３のうちいずれか一項に記載の装置。
【請求項２６】
前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であって、前記第1の近傍アフィン符号化ブロックは前記CTU内に位置する、ことは：
前記第1の近傍アフィン符号化ブロックが前記現在符号化ブロックの上の符号化ツリー単位CTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ことを含む、
請求項２１ないし２５のうちいずれか一項に記載の装置。
【請求項２７】
前記第1の近傍アフィン符号化ブロックが前記現在ブロックの上の前記CTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、さらに、前記第1の近傍アフィン符号化ブロックの左上の制御点または右上の制御点を含む、請求項２６に記載の装置。
【請求項２８】
前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であって、前記第1の近傍アフィン符号化ブロックは前記CTU内に位置する、ことは：
前記第1の近傍アフィン符号化ブロックが前記現在符号化ブロックの左のCTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの右上の制御点および右下の制御点を含む、ことを含む、
請求項２１ないし２５のうちいずれか一項に記載の装置。
【請求項２９】
前記第1の近傍アフィン符号化ブロックが前記現在符号化ブロックの左の前記CTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、さらに、前記第1の近傍アフィン符号化ブロックの左上の制御点または左下の制御点を含む、請求項２８に記載の装置。
【請求項３０】
前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループが、前記第1の近傍アフィン符号化ブロックの前記左下の制御点および前記右下の制御点を含む場合に、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループはさらに、前記第1の近傍アフィン符号化ブロックの左上の制御点を含む、請求項２１ないし２５のうちいずれか一項に記載の装置。
【請求項３１】
ビットストリームの形でビデオ・データを記憶するように構成されたメモリと；
ビデオ・デコーダとを有するビデオ・データ・デコード装置であって、前記ビデオ・デコーダは：ビットストリームをパースしてインデックスを得るステップであって、前記インデックスは、現在符号化ブロックのターゲット候補動きベクトル・グループを示すために使用される、ステップと；アフィン候補動きベクトル・リスト内の前記ターゲット候補動きベクトル・グループを、前記インデックスに基づいて決定するステップであって、前記ターゲット候補動きベクトル・グループは、前記現在符号化ブロックの制御点のグループの動きベクトル予測子を表わし、前記アフィン候補動きベクトル・リストは、少なくとも第1の候補動きベクトル・グループを含み、前記第1の候補動きベクトル・グループは、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られ、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、前記第1の近傍アフィン符号化ブロックは前記CTU内に位置する、または前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ステップと；前記ターゲット候補動きベクトル・グループに基づいて、前記現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを取得するステップと；前記現在符号化ブロックの前記一つまたは複数のサブブロックの前記動きベクトルに基づいて、前記現在符号化ブロックの予測サンプル値を予測するステップとを実行するように構成されている、
装置。
【請求項３２】
前記第1の候補動きベクトル・グループが、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られることは、具体的には：前記第1の候補動きベクトル・グループが、第1のアフィン・モデルに基づいて得られ、前記第1のアフィン・モデルが、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループの動きベクトルおよび位置座標に基づいて決定されることであり；
前記ターゲット候補動きベクトル・グループに基づいて前記現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを得ることは、具体的には：第2のアフィン・モデルに基づいて前記現在符号化ブロックの前記一つまたは複数のサブブロックの前記動きベクトルを得ることであり、前記第2のアフィン・モデルは、前記ターゲット候補動きベクトル・グループおよび前記現在符号化ブロックの制御点のグループの位置座標に基づいて決定される、
請求項３１に記載の装置。
【請求項３３】
前記アフィン候補動きベクトル・リストは、第2の候補動きベクトル・グループをさらに含み、前記第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られ；前記第2の近傍アフィン符号化ブロックの制御点の前記第2のグループにおける一つまたは複数の制御点の、前記第2の近傍アフィン符号化ブロックに対する位置は、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループにおける一つまたは複数の制御点の、前記第1の近傍アフィン符号化ブロックに対する位置とは異なる、または前記第2の近傍アフィン符号化ブロックの制御点の前記第2のグループは、前記第2の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、
請求項３１または３２に記載の装置。
【請求項３４】
前記ターゲット候補動きベクトル・グループに基づいて前記現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを得る前記側面において、前記ビデオ・デコーダは：
パースを通して前記ビットストリームから得られた動きベクトル差分MVDおよび前記インデックスによって示される前記ターゲット候補動きベクトル・グループに基づいて、新しい候補動きベクトル・グループを得て；
前記新しい候補動きベクトル・グループに基づく計算を通じて、前記現在符号化ブロックの前記一つまたは複数のサブブロックの前記動きベクトルを得るように構成されている、
請求項３１ないし３３のうちいずれか一項に記載の装置。
【請求項３５】
前記現在符号化ブロックの前記一つまたは複数のサブブロックの前記動きベクトルに基づいて前記現在符号化ブロックの予測サンプル値を予測する前記側面において、前記ビデオ・デコーダは：
前記現在符号化ブロックの前記一つまたは複数のサブブロックの前記動きベクトルと、参照フレーム・インデックスおよび前記インデックスによって示される予測方向とに基づいて前記現在符号化ブロックの前記予測サンプル値を予測するように構成されている、
請求項３１ないし３３のうちいずれか一項に記載の装置。
【請求項３６】
前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、前記第1の近傍アフィン符号化ブロックは、前記CTU内に位置する、ことは：
前記第1の近傍アフィン符号化ブロックが前記現在符号化ブロックの上の符号化ツリー単位CTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ことを含む、
請求項３１ないし３５のうちいずれか一項に記載の装置。
【請求項３７】
前記第1の近傍アフィン符号化ブロックが前記現在ブロックの上の前記CTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、さらに、前記第1の近傍アフィン符号化ブロックの左上の制御点または右上の制御点を含む、請求項３６に記載の装置。
【請求項３８】
前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループが、前記現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、前記第1の近傍アフィン符号化ブロックは前記CTU内に位置する、ことは：
前記第1の近傍アフィン符号化ブロックが前記現在符号化ブロックの左のCTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの右上の制御点および右下の制御点を含む、ことを含む、
請求項３１ないし３５のうちいずれか一項に記載の装置。
【請求項３９】
前記第1の近傍アフィン符号化ブロックが前記現在符号化ブロックの左の前記CTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、さらに、前記第1の近傍アフィン符号化ブロックの左上の制御点または左下の制御点を含む、請求項３８に記載の装置。
【請求項４０】
前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループが、前記第1の近傍アフィン符号化ブロックの前記左下の制御点および前記右下の制御点を含む場合に、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループはさらに、前記第1の近傍アフィン符号化ブロックの左上の制御点を含む、請求項３１ないし３５のうちいずれか一項に記載の装置。
【請求項４１】
互いに結合された不揮発性メモリおよびプロセッサを有するビデオ・データ・エンコード装置であって、前記メモリはプログラム命令を記憶するように構成されており、前記プロセッサは、以下の動作：
レート‐歪みコスト基準に従って、アフィン候補動きベクトル・リスト内のターゲット候補動きベクトル・グループを決定するステップと；前記ターゲット候補動きベクトルに対応するインデックスを、送信されるべきビットストリーム中にエンコードするステップであって、前記ターゲット候補動きベクトル・グループは、現在符号化ブロックの制御点のグループの動きベクトル予測子を表わし、前記アフィン候補動きベクトル・リストは、少なくとも第1の候補動きベクトル・グループを含み、前記第1の候補動きベクトル・グループは、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られ、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、前記第1の近傍アフィン符号化ブロックは前記CTU内に位置する、または、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ステップとを実行するよう前記プログラム・コードを呼び出すように構成されている、
装置。
【請求項４２】
前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であって、前記第1の近傍アフィン符号化ブロックは前記CTU内に位置する、ことは：
前記第1の近傍アフィン符号化ブロックが前記現在符号化ブロックの上の符号化ツリー単位CTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ことを含む、
請求項４１に記載の装置。
【請求項４３】
前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であって、前記第1の近傍アフィン符号化ブロックは前記CTU内に位置する、ことは：
前記第1の近傍アフィン符号化ブロックが前記現在符号化ブロックの左のCTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの右上の制御点および右下の制御点を含む、ことを含む、
請求項４１に記載の装置。
【請求項４４】
互いに結合された不揮発性メモリおよびプロセッサを有するビデオ・データ・デコード装置であって、前記メモリはプログラム命令を記憶するように構成されており、前記プロセッサは、以下の動作：
ビットストリームをパースしてインデックスを得るステップであって、前記インデックスは、現在符号化ブロックのターゲット候補動きベクトル・グループを示すために使用される、ステップと；アフィン候補動きベクトル・リスト内の前記ターゲット候補動きベクトル・グループを、前記インデックスに基づいて決定するステップであって、前記ターゲット候補動きベクトル・グループは、前記現在符号化ブロックの制御点のグループの動きベクトル予測子を表わし、前記アフィン候補動きベクトル・リストは、少なくとも第1の候補動きベクトル・グループを含み、前記第1の候補動きベクトル・グループは、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られ、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、前記第1の近傍アフィン符号化ブロックは前記CTU内に位置する、または前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ステップと；前記ターゲット候補動きベクトル・グループに基づいて、前記現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを取得するステップと；前記現在符号化ブロックの前記一つまたは複数のサブブロックの前記動きベクトルに基づいて、前記現在符号化ブロックの予測サンプル値を予測するステップとを実行するよう前記プログラム・コードを呼び出すように構成されている、
装置。
【請求項４５】
前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であって、前記第1の近傍アフィン符号化ブロックは前記CTU内に位置する、ことは：
前記第1の近傍アフィン符号化ブロックが前記現在符号化ブロックの上の符号化ツリー単位CTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ことを含む、
請求項４４に記載の装置。
【請求項４６】
前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であって、前記第1の近傍アフィン符号化ブロックは前記CTU内に位置する、ことは：
前記第1の近傍アフィン符号化ブロックが前記現在符号化ブロックの左のCTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの右上の制御点および右下の制御点を含む、ことを含む、
請求項４４に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、ビデオ・エンコードおよびデコード技術の分野に関し、特に、エンコード方法、デコード方法、対応するエンコード装置、および対応するデコード装置に関する。
【背景技術】
【０００２】
デジタルビデオ機能は、デジタルテレビ、デジタル生放送システム、ワイヤレスブロードキャストシステム、パーソナルデジタルアシスタント（PDA）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子書籍リーダー、デジタルカメラ、デジタル記録装置、デジタルメディアプレーヤー、ビデオゲーム装置、ビデオゲームコンソール、携帯電話または衛星無線電話（いわゆる「スマートフォン」）、ビデオ会議装置、ビデオストリーミング装置などを含む幅広い多様な装置に組み込まれることができる。デジタルビデオ装置は、ビデオ圧縮技術、たとえば、MPEG-2、MPEG-4、ITU-T  H.263、およびITU-T  H.264/MPEG-4  Part  10：アドバンストビデオコーディング（AVC）によって定義された諸規格、ビデオ符号化規格H.265/高効率ビデオ符号化（HEVC）規格、およびそのような規格の拡張に記載されたビデオ圧縮技術を実装する。ビデオ装置は、そのようなビデオ圧縮技術を実施することによって、デジタルビデオ情報をより効率的に送信、受信、エンコード、デコード、および／または記憶することができる。
【０００３】
ビデオ圧縮技術は、ビデオシーケンスにおける内在的な冗長性を低減または除去するために、空間的（ピクチャー内）予測および／または時間的（ピクチャー間）予測を実行するために使用される。ブロックベースのビデオ符号化では、ビデオ・スライス（すなわち、ビデオ・フレームまたはビデオ・フレームの一部）は、ピクチャー・ブロックに分割されてもよく、ピクチャー・ブロックは、ツリーブロック、符号化単位（coding  unit、CU）、および／または符号化ノードとも呼ばれてもよい。ピクチャーのイントラ符号化される（I）スライス内のピクチャー・ブロックは、同じピクチャー内の近傍ブロック内の参照サンプルに基づく空間的予測を通じて符号化される。ピクチャーのインター符号化される（PまたはB）スライス内のピクチャー・ブロックについては、同じピクチャー内の近傍ブロック内の参照サンプルに基づく空間的予測、または別の参照ピクチャー内の参照サンプルに基づく時間的予測が使用されうる。ピクチャーはフレームと呼ばれることもあり、参照ピクチャーは参照フレームと呼ばれることもある。
【０００４】
高効率ビデオ符号化（HEVC）規格を含むさまざまなビデオ符号化規格は、ピクチャー・ブロックのために使用される予測符号化モードを提案する。具体的には、現在の符号化されるべきブロックが、符号化されたビデオデータブロックに基づいて予測される。イントラ予測モードでは、現在ブロックは、現在ブロックと同じピクチャー内の一つまたは複数の以前にデコードされた近傍ブロックに基づいて予測される。インター予測モードでは、現在ブロックは、異なるピクチャー内のデコードされたブロックに基づいて予測される。
【０００５】
動きベクトル予測は、エンコード／デコード性能に影響を与える重要な技術である。既存の動きベクトル予測プロセスでは、ピクチャー中の並進オブジェクトについては並進動きモデルに基づく動きベクトル予測方法があり、非並進オブジェクトについては、動きモデルに基づく動きベクトル予測方法と、制御点組み合わせに基づく動きベクトル予測方法とがある。動きモデルに基づく動きベクトル予測方法では、大量の情報がメモリから読み取られる必要があり、その結果、比較的低いエンコード／デコード速度となる。動きベクトル予測プロセスにおいて、メモリからの読み出し回数をどのようにして減らすかが、当業者によって研究されている技術的課題である。
【発明の概要】
【０００６】
本願の実施形態は、エンコードおよびデコード性能を改善するよう、メモリからの読み出し回数をある程度減少させるためのエンコード方法、デコード方法、対応するエンコード装置、および対応するエンコード装置を提供する。
【０００７】
第1の側面によれば、本願のある実施形態は、エンコード方法を開示する。本方法は、レート‐歪みコスト基準に従って、アフィン候補動きベクトル・リスト（候補動きベクトル・リストとも呼ばれる）内のターゲット候補動きベクトル・グループを決定するステップであって、ターゲット候補動きベクトル・グループは、現在符号化ブロック（たとえば、現在アフィン符号化ブロック）の制御点のグループの動きベクトル予測子を表わし、前記アフィン候補動きベクトル・リストは、少なくとも第1の候補動きベクトル・グループを含み、前記第1の候補動きベクトル・グループは、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られ、前記第1の近傍アフィン符号化ブロックの制御点の第1のグループは、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定された制御点であって、前記第1の近傍アフィン符号化ブロックは前記CTU内に位置する、または前記第1の近傍アフィン符号化ブロックの制御点の第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ステップと；前記ターゲット候補動きベクトルに対応するインデックスを送信されるべきビットストリーム中にエンコードするステップとを含む。
【０００８】
たとえば、ターゲット候補動きベクトル・グループがターゲット候補動きベクトル2-タプルである場合、ターゲット候補動きベクトル・グループは、現在符号化ブロックの2つの制御点の動きベクトル予測子を表わす。ターゲット候補動きベクトル・グループがターゲット候補動きベクトル・トリプレットである場合、ターゲット候補動きベクトル・グループは、現在符号化ブロックの3つの制御点の動きベクトル予測子を表わす。
【０００９】
任意的に、アフィン候補動きベクトル・リストを構築する態様は：（図7Aに示されるような）近傍ブロックA、近傍ブロックB、近傍ブロックC、近傍ブロックD、および近傍ブロックEの順序で、現在符号化ブロックの一つまたは複数の近傍アフィン符号化ブロックを決定することであって、前記一つまたは複数の近傍アフィン符号化ブロックは第1の近傍アフィン符号化ブロックを含む、ことと；第1の近傍アフィン符号化ブロックの前記第1のグループの制御点の動きベクトルおよび前記第1のグループの制御点の位置座標に基づいて第1のアフィン・モデルを構築することと；次いで、第1のアフィン・モデルを使用することによって、現在符号化ブロックの制御点の第1のグループの動きベクトル予測子を取得することであって、現在符号化ブロックの制御点の第1のグループの動きベクトル予測子が、アフィン候補動きベクトル・リストにおける前記第1の候補動きベクトル・グループとして使用される、ことであってもよい。
【００１０】
任意的に、アフィン候補動きベクトル・リストの長さが1である場合、ターゲット動きベクトル・グループは、インデックスを使用して示される必要がない場合がある。
【００１１】
前述の方法では、アフィン候補動きベクトル・リストは、1つだけの候補動きベクトル・グループを含んでいてもよく、あるいは複数の候補動きベクトル・グループを含んでいてもよい。各候補動きベクトル・グループは、動きベクトル2-タプルまたは動きベクトル・トリプレットであってもよい。複数の候補動きベクトル・グループが存在する場合、第1の候補動きベクトル・グループは、前記複数の候補動きベクトル・グループのうちの1つである。前記複数の候補動きベクトル・グループにおける別の候補動きベクトル・グループの導出（derivation）プロセスは、第1の候補動きベクトル・グループの導出（derivation）プロセスと同じであってもよく、または第1の候補動きベクトル・グループの導出（derivation）プロセスとは異なっていてもよい。さらに、ターゲット候補動きベクトル・グループは、レート‐歪みコスト基準に従ってアフィン候補動きベクトル・リストから選択された最適な候補動きベクトル・グループである。第1の候補動きベクトル・グループが最適である（たとえば、最低のレート‐歪みコストをもつ）場合、選択されたターゲット候補動きベクトル・グループは、第1の候補動きベクトル・グループである。第1の候補動きベクトル・グループが最適でない場合、選択されたターゲット候補動きベクトル・グループは、第1の候補動きベクトル・グループではない。第1の近傍アフィン符号化ブロックは、現在符号化ブロックの諸近傍ブロックにおける特定のアフィン符号化ブロックであり、本明細書では特に限定されない。図7Aが、記述のための例として使用される。第1の近傍アフィン符号化ブロックは、近傍位置Aが位置する符号化ブロック、近傍位置Bが位置する符号化ブロック、または他の近傍の符号化ブロックでありうる。図7AにおけるA、B、C、D、およびEは、単に近傍位置を示すために意図されており、実際の符号化ブロックではないことに注意しておくべきである。また、本願の実施形態における他の箇所に現われる「第1」、「第2」、「第3」等は、それぞれ特定のオブジェクトを示す。「第1」によって示される特定のオブジェクト、「第2」によって示される特定のオブジェクト、「第3」によって示される特定のオブジェクトは、異なるオブジェクトを示す。たとえば、制御点の第1のグループと制御点の第2のグループが存在する場合、制御点の第1のグループと制御点の第2のグループは異なる制御点を表わす。さらに、本願の実施形態における「第1」、「第2」等は、順序を意味するものではない。
【００１２】
第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが現在符号化ブロックの上に位置する場合、第1の近傍アフィン符号化ブロックの最も下の制御点（たとえば、左下の制御点および右下の制御点）に関する情報（たとえば、位置座標および動きベクトル）がメモリから読み込まれていることが理解されうる。第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが現在符号化ブロックの左に位置する場合、第1の近傍アフィン符号化ブロックの最も右の制御点（たとえば、右上の制御点および右下の制御点）に関する情報がメモリから読み込まれている。したがって、前記の解決策においては、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、第1の近傍アフィン符号化ブロックはその符号化ツリー単位CTU内に位置するか、または、制御点の第1のグループは、従来技術において第1の近傍符号化ブロックの左上の制御点、右上の制御点、および左下の制御点（6パラメータのアフィン・モデル）を第1のグループの制御点として固定的に使用する、あるいは第1の近傍符号化ブロックの左上の制御点および右上の制御点（4パラメータのアフィン・モデル）を第1のグループの制御点として固定的に使用する代わりに、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。よって、本願における制御点の第1のグループを決定する方法によれば、メモリから読み出された情報が、制御点の第1のグループに関する情報（たとえば、位置座標および動きベクトル）として直接再利用できる可能性が非常に高く、それにより、メモリからの読み出し回数を減らし、エンコード性能を改善する。
【００１３】
ある可能な実装では、第1の候補動きベクトル・グループが、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られることは、具体的には：第1の候補動きベクトル・グループが、第1のアフィン・モデルに基づいて（たとえば、前記第1のアフィン・モデルおよび現在符号化ブロックの制御点のグループの位置座標に基づいて）得られ、第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の第1のグループの動きベクトルおよび位置座標に基づいて決定されることであってもよい。
【００１４】
ある任意的な解決策において、アフィン候補動きベクトル・リストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られる。第2の近傍アフィン符号化ブロックの制御点の第2のグループにおける一つまたは複数の制御点の、第2の近傍アフィン符号化ブロックに対する位置は、第1の近傍アフィン符号化ブロックの制御点の第1のグループにおける一つまたは複数の制御点の、第1の近傍アフィン符号化ブロックに対する位置とは異なる（たとえば、第1の近傍アフィン符号化ブロックの制御点の第1のグループに含まれる制御点は、第1の近傍アフィン符号化ブロックの左下の制御点、右下の制御点、および左上の制御点であるが、第2の近傍アフィン符号化ブロックの制御点の第2のグループに含まれる制御点は、第2の近傍アフィン符号化ブロックの右上の制御点、右下の制御点、および左下の制御点である）、または第2の近傍アフィン符号化ブロックの制御点の第2のグループは、第2の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。たとえば、第1の近傍アフィン符号化ブロックおよび第2の近傍アフィン符号化ブロックは、現在符号化ブロックの周囲の空間的近傍ブロックにおける異なるアフィン符号化ブロックである。
【００１５】
別の可能な実装では、先進動きベクトル予測（advanced  motion  vector  prediction）AMVPモードにおいて、本方法は：前記ターゲット候補動きベクトル・グループを開始探索点として使用することによって、レート‐歪みコスト基準に従って、事前設定された探索範囲内で、制御点のグループの動きベクトルであって、最低のコストをもつものを探すステップと；次いで、前記ターゲット候補動きベクトル・グループと前記制御点のグループの動きベクトルとの間の動きベクトル差分（motion  vector  difference）MVDを決定するステップとをさらに含む。たとえば、制御点の第1のグループが第1の制御点および第2の制御点を含む場合、第1の制御点の動きベクトルと、制御点のグループにおける前記第1の制御点の、前記ターゲット候補動きベクトル・グループによって表わされる動きベクトル予測子との間の動きベクトル差分MVDが決定される必要があり、第2の制御点の動きベクトルと、制御点の前記グループにおける第2の制御点の、前記ターゲット候補動きベクトル・グループによって表わされる動きベクトル予測子との間の動きベクトル差分MVDが決定される必要がある。この場合、ターゲット候補動きベクトル・グループに対応するインデックスを送信されるべきビットストリーム中にエンコードすることは、具体的には：それらのMVDおよびターゲット候補動きベクトル・グループに対応するインデックスを、送信されるべきビットストリーム中にエンコードすることを含んでいてもよい。
【００１６】
別の任意的な解決策では、マージmergeモードにおいて、ターゲット候補動きベクトル・グループに対応するインデックスを送信されるべきビットストリーム中にエンコードすることは、具体的には：ターゲット候補動きベクトル・グループに対応するインデックス、参照フレーム・インデックス、および予測方向に対応するインデックスを、送信されるべきビットストリーム中にエンコードすることを含んでいてもよい。マージmergeモードでは、ターゲット候補動きベクトル・グループは、現在符号化ブロックの制御点のグループの動きベクトルを表わすことが理解されるべきである。言い換えれば、マージ・モードでは、動きベクトル予測子は、動きベクトルに等しい。
【００１７】
ある可能な実装では、第1の近傍アフィン符号化ブロックの制御点の第1のグループは、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、第1の近傍アフィン符号化ブロックは、該CTU内に位置する、ことは：第1の近傍アフィン符号化ブロックが現在符号化ブロックの上の符号化ツリー単位CTU内に位置する場合、第1の近傍アフィン符号化ブロックの制御点の第1のグループは、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ことを含んでいてもよい。第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが現在符号化ブロックの上に位置する場合、第1の近傍アフィン符号化ブロックの最も下の制御点に関する情報がメモリから読み出されている。したがって、上記の解決策においては、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点（両方とも最も下の制御点に属する）を含み、これら2つの制御点に関する情報がメモリから追加的に読み出される必要がないことは明らかであり、それにより、メモリからの読み出し回数を減らし、エンコード性能を改善する。
【００１８】
任意的に、第1の近傍アフィン符号化ブロックが現在ブロックの上のCTU内に位置する場合、第1の近傍アフィン符号化ブロックの制御点の第1のグループは、さらに、第1の近傍アフィン符号化ブロックの左上の制御点または右上の制御点を含む。制御点の第1のグループが3つの制御点を含む場合、制御点の第1のグループに基づいて計算される第1の候補動きベクトル・グループの精度はより高いことが理解されうる。
【００１９】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算され、導出される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいては、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および右下の制御点の位置座標の両方が、メモリから読み取られるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、エンコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は代替的に、メモリにあらかじめ記憶されていて、必要なときに使用のためにメモリから読み出されてもよい。
【００２０】
別の任意的な解決策においては、第1の近傍アフィン符号化ブロックの制御点の第1のグループが、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、第1の近傍アフィン符号化ブロックは該CTU内に位置する、ことは具体的には：第1の近傍アフィン符号化ブロックが現在符号化ブロックの左のCTU内に位置する場合、第1の近傍アフィン符号化ブロックの制御点の第1のグループは、第1の近傍アフィン符号化ブロックの右上の制御点および右下の制御点を含む、ことを含んでいてもよい。第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが現在符号化ブロックの左に位置する場合、第1の近傍アフィン符号化ブロックの最も右の制御点に関する情報がメモリから読み出されている。したがって、上記の解決策においては、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、第1の近傍アフィン符号化ブロックの右上の制御点および右下の制御点（両方とも最も右の制御点に属する）を含み、これら2つの制御点に関する情報がメモリから追加的に読み出される必要がないことは明らかであり、それにより、メモリからの読み出し回数を減らし、エンコード性能を改善する。
【００２１】
任意的に、第1の近傍アフィン符号化ブロックが現在符号化ブロックの左のCTU内に位置する場合、第1の近傍アフィン符号化ブロックの制御点の第1のグループは、さらに、第1の近傍アフィン符号化ブロックの左上の制御点または左下の制御点を含む。制御点の第1のグループが3つの制御点を含む場合、制御点の第1のグループに基づいて計算される第1の候補動きベクトル・グループの精度はより高いことが理解されうる。
【００２２】
任意的に、第1の近傍アフィン符号化ブロックの右上の制御点の位置座標(x5,y5)および右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算され、導出される。第1の近傍アフィン符号化ブロックの右上の制御点の位置座標(x5,y5)は(x4+cuW,y4)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの右上の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右上のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいては、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの右上の制御点の位置座標および右下の制御点の位置座標の両方が、メモリから読み取られるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、エンコード性能が改善できる。別の任意的な解決策では、右上の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶され、必要なときに使用のためにメモリから読み出されてもよい。
【００２３】
別の任意的な解決策においては、第1の近傍アフィン符号化ブロックの制御点の第1のグループが、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む場合に、第1の近傍アフィン符号化ブロックの制御点の第1のグループはさらに、第1の近傍アフィン符号化ブロックの左上の制御点または右上の制御点を含む。制御点の第1のグループが3つの制御点を含む場合、制御点の第1のグループに基づいて計算される第1の候補動きベクトル・グループの精度はより高いことが理解されうる。
【００２４】
別の任意的な解決策では、レート‐歪みコスト基準に従って、アフィン候補動きベクトル・リスト内のターゲット候補動きベクトル・グループを決定した後、本方法は、さらに：ターゲット候補動きベクトル・グループに基づいて、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを取得するステップと；現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルに基づいて、現在符号化ブロックの予測サンプル値を予測するステップとを含む（たとえば、前記一つまたは複数のサブブロックの予測されたサンプル値が、現在符号化ブロックの前記一つまたは複数のサブブロックの動きベクトルに基づいて予測され、次いで、現在符号化ブロックの予測されたサンプル値が得られる）。任意的に、現在符号化ブロックの前記一つまたは複数のサブブロックの動きベクトルがターゲット候補動きベクトル・グループに基づいて得られる場合、現在符号化ブロックの下の境界が、現在符号化ブロックが位置するCTUの下の境界と重なっていれば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックのアフィン・モデルと、現在符号化ブロックの左下隅の位置座標(0,H)とに基づく計算を通じて得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックのアフィン・モデルと、現在符号化ブロックの右下隅の位置座標(W,H)に基づく計算を通じて得られる。たとえば、アフィン・モデルは、ターゲット候補動きベクトルに基づいて構築される。現在符号化ブロックのアフィン・モデルのモデル・パラメータは、ターゲット候補動きベクトル・グループと、現在符号化ブロックの制御点のグループの位置座標であって、ターゲット候補動きベクトル・グループによって表わされる位置座標とに基づいて得られる。そして、現在符号化ブロックの左下隅にあるサブブロックの動きベクトルは、（計算のために、左下隅にあるサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）現在符号化ブロックの左下隅の位置座標(0,H)をアフィン・モデルに代入することによって得ることができ、現在符号化ブロックの右下隅にあるサブブロックの動きベクトルは、（計算のために、右下隅にあるサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）現在符号化ブロックの右下隅の位置座標(W,H)をアフィン・モデルに代入することによって得ることができる。このようにして、現在符号化ブロックの左下の制御点の動きベクトルおよび右下の制御点の動きベクトルが使用される（たとえば、別のブロックのアフィン候補動きベクトル・リストが、その後、現在ブロックの左下の制御点および右下の制御点の動きベクトルに基づいて構築される）とき、推定値ではなく、正確な値が用いられる。Wは現在符号化ブロックの幅であり、Hは現在符号化ブロックの高さである。
【００２５】
任意的に、任意の符号化ブロック（たとえば、現在符号化ブロックまたは近傍の符号化ブロック）について、符号化ブロックの左上の制御点の位置座標が(x,y)である場合、符号化ブロックの右上の制御点の座標は(x＋w,y)であり、符号化ブロックの左下の制御点の座標は(x,y＋h)であり、符号化ブロックの右下の制御点の座標は(x＋w,y＋h)である。wは符号化ブロックの幅であり、hは符号化ブロックの高さである。
【００２６】
第2の側面によれば、本願のある実施形態は、第1の側面において任意の方法を実装するように構成された、いくつかの機能ユニットを含むビデオ・エンコーダを提供する。たとえば、ビデオ・エンコーダは、：
レート‐歪みコスト基準に従って、アフィン候補動きベクトル・リスト内のターゲット候補動きベクトル・グループを決定するように構成されたインター予測ユニットであって、前記ターゲット候補動きベクトル・グループは、現在符号化ブロックの制御点のグループの動きベクトル予測子を表わし、前記アフィン候補動きベクトル・リストは、少なくとも第1の候補動きベクトル・グループを含み、前記第1の候補動きベクトル・グループは、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られ、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、前記第1の近傍アフィン符号化ブロックは、前記CTU内に位置する、または、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含み、該インター予測ユニットは、インター予測モジュール、特に、動き推定モジュールと称されてもよい、インター予測ユニット；ならびに
ターゲット候補動きベクトルに対応するインデックスを送信されるべきビットストリーム中にエンコードするように構成されたエントロピー・エンコード・ユニットを含んでいてもよい。
【００２７】
第3の側面によれば、本願のある実施形態は、第1の側面における任意の方法を実装するように構成されたビデオ・エンコーダを含む、ビデオ・データ・エンコード装置を提供する。たとえば、本装置は：
ビットストリームの形でビデオ・データを記憶するように構成されたメモリと；
前記ビデオ・エンコーダとを含んでいてもよい。前記ビデオ・エンコーダは、レート‐歪みコスト基準に従って、アフィン候補動きベクトル・リスト内のターゲット候補動きベクトル・グループを決定するステップであって、前記ターゲット候補動きベクトル・グループは、現在符号化ブロックの制御点のグループの動きベクトル予測子を表わし、前記アフィン候補動きベクトル・リストは、少なくとも第1の候補動きベクトル・グループを含み、前記第1の候補動きベクトル・グループは、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られ、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定された制御点であり、前記第1の近傍アフィン符号化ブロックは該CTU内に位置する、または、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ステップと；前記ターゲット候補動きベクトルに対応するインデックスを、送信されるべきビットストリーム中にエンコードするステップとを実行するように構成される。
【００２８】
第4の側面によれば、本願のある実施形態は、ビデオ・データ・エンコード装置を提供する。本装置は、互いに結合された不揮発性メモリおよびプロセッサを含む。メモリはプログラム命令を記憶するように構成される。プロセッサは、第1の側面および第1の側面における任意の方法の一部または全部のステップを実行するようプログラム・コードを呼び出すように構成される。たとえば、プロセッサは、以下のステップを実行するためにプログラム・コードを呼び出すように構成される：
レート‐歪みコスト基準に従って、アフィン候補動きベクトル・リスト内のターゲット候補動きベクトル・グループを決定するステップと；前記ターゲット候補動きベクトルに対応するインデックスを、送信されるべきビットストリーム中にエンコードするステップ。ここで、前記ターゲット候補動きベクトル・グループは、現在符号化ブロックの制御点のグループの動きベクトル予測子を表わし、前記アフィン候補動きベクトル・リストは、少なくとも第1の候補動きベクトル・グループを含み、前記第1の候補動きベクトル・グループは、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られ、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定された制御点であり、前記第1の近傍アフィン符号化ブロックは該CTU内に位置する、または、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。
【００２９】
第5の側面によれば、本願のある実施形態は、コンピュータ読み取り可能な記憶媒体を提供する。コンピュータ読み取り可能な記憶媒体は、プログラム・コードを記憶し、該プログラム・コードは、第1の側面における任意の方法の一部または全部のステップを実行するために使用される命令を含む。
【００３０】
第6の側面によれば、本願のある実施形態は、コンピュータ・プログラム製品を提供する。コンピュータ・プログラム製品がコンピュータ上で実行されるとき、該コンピュータは、第1の側面における任意の方法の一部または全部のステップを実行できるようにされる。
【００３１】
本願の第2ないし第6の側面における技術的解決策は、本願の第1の側面における技術的解決策と一貫しており、それらの側面および対応する実現可能な実装によって達成される有益な効果は同様であることを理解しておくべきである。詳細は、再度記載しない。
【００３２】
第7の側面によれば、本願のある実施形態は、デコード方法を開示する。本方法は、ビットストリームをパースしてインデックスを得るステップであって、該インデックスは、現在符号化ブロック（たとえば、現在アフィン符号化ブロック）のターゲット候補動きベクトル・グループを示すために使用される、ステップと；アフィン候補動きベクトル・リスト（候補動きベクトル・リストとも称される）内のターゲット候補動きベクトル・グループを、該インデックスに基づいて決定するステップ（任意的に、アフィン候補動きベクトル・リストの長さが1である場合には、インデックスを得るためにビットストリームがパースされる必要はなく、ターゲット動きベクトル・グループは直接決定できる）であって、ターゲット候補動きベクトル・グループは、現在符号化ブロックの制御点のグループの動きベクトル予測子を表わし、アフィン候補動きベクトル・リストは、少なくとも第1の候補動きベクトル・グループを含み、第1の候補動きベクトル・グループは、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られ、第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、前記第1の近傍アフィン符号化ブロックは該CTU内に位置する、または前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ステップと；前記ターゲット候補動きベクトル・グループに基づいて、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを取得するステップと；現在符号化ブロックの前記一つまたは複数のサブブロックの動きベクトルに基づいて、現在符号化ブロックの予測サンプル値を予測するステップとを含む。
【００３３】
任意的に、アフィン候補動きベクトル・リストを構築する態様はたとえば：（図7Aに示されるような）近傍ブロックA、近傍ブロックB、近傍ブロックC、近傍ブロックD、および近傍ブロックEの順序で、現在符号化ブロックの一つまたは複数の近傍アフィン符号化ブロックを決定することであって、前記一つまたは複数の近傍アフィン符号化ブロックは第1の近傍アフィン符号化ブロックを含む、ことと；第1のアフィン・モデルを使用することによって、現在符号化ブロックの制御点の第1のグループの動きベクトル予測子を取得することであって、現在符号化ブロックの制御点の第1のグループの動きベクトル予測子は、アフィン候補動きベクトル・リストにおける第1の候補動きベクトル・グループとして使用され、第1のアフィン・モデルのモデル・パラメータが、第1の近傍アフィン符号化ブロックの前記第1のグループの制御点の動きベクトルと、第1の近傍アフィン符号化ブロックの前記第1のグループの制御点の位置座標とに基づいて決定される、ことであってもよい。
【００３４】
上記の方法では、アフィン候補動きベクトル・リストは、1つだけの候補動きベクトル・グループを含んでいてもよく、あるいは複数の候補動きベクトル・グループを含んでいてもよい。各候補動きベクトル・グループは、動きベクトル2-タプルまたは動きベクトル・トリプレットであってもよい。複数の候補動きベクトル・グループが存在する場合、第1の候補動きベクトル・グループは、前記複数の候補動きベクトル・グループのうちの1つである。前記複数の候補動きベクトル・グループにおける別の候補動きベクトル・グループの導出プロセスは、第1の候補動きベクトル・グループの導出プロセスと同じであってもよく、または第1の候補動きベクトル・グループの導出プロセスとは異なっていてもよい。さらに、ターゲット候補動きベクトル・グループは、パースを通じてビットストリームから得られたインデックスに基づいてアフィン候補動きベクトル・リストから選択された候補動きベクトル・グループである。インデックスが第1の候補動きベクトル・グループをポイントする場合、ターゲット候補動きベクトル・グループは第1の候補動きベクトル・グループである。インデックスが別の候補動きベクトル・グループをポイントする場合、ターゲット候補動きベクトル・グループは第1の候補動きベクトル・グループではない。第1の近傍アフィン符号化ブロックは、現在符号化ブロックの諸近傍ブロックにおける特定のアフィン符号化ブロックであり、本明細書では特に限定されない。図7Aが、記述のための例として使用される。第1の近傍アフィン符号化ブロックは、近傍位置Aにおける符号化ブロック、近傍位置Bにおける符号化ブロック、または他の近傍の符号化ブロックでありうる。さらに本願の実施形態における他の箇所に現われる「第1」、「第2」、「第3」等は、それぞれ特定のオブジェクトを示す。「第1」によって示される特定のオブジェクト、「第2」によって示される特定のオブジェクト、「第3」によって示される特定のオブジェクトは、異なるオブジェクトを表わす。たとえば、制御点の第1のグループと制御点の第2のグループが存在する場合、制御点の第1のグループと制御点の第2のグループは異なる制御点を表わす。さらに、本願の実施形態における「第1」、「第2」等は、順序を意味するものではない。
【００３５】
第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが現在符号化ブロックの上に位置する場合、第1の近傍アフィン符号化ブロックの最も下の制御点に関する情報がメモリから読み込まれていることが理解されうる。第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが現在符号化ブロックの左に位置する場合、第1の近傍アフィン符号化ブロックの最も右の制御点に関する情報がメモリから読み込まれている。したがって、上記の解決策においては、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、第1の近傍アフィン符号化ブロックは符号化ツリー単位CTU内に位置するか、または、制御点の第1のグループは、従来技術において第1の近傍符号化ブロックの左上の制御点、右上の制御点、および左下の制御点を第1のグループの制御点として固定的に使用する（あるいは第1の近傍符号化ブロックの左上の制御点および右上の制御点を第1のグループの制御点として固定的に使用する）代わりに、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。よって、本願における制御点の第1のグループを決定する方法によれば、メモリから読み出された情報が、制御点の第1のグループに関する情報（たとえば、位置座標および動きベクトル）として直接再利用できる可能性が非常に高く、それにより、メモリからの読み出し回数を減らし、デコード性能を改善する。
【００３６】
ある可能な実装では、第1の候補動きベクトル・グループが、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られることは、具体的には：第1の候補動きベクトル・グループが、第1のアフィン・モデルに基づいて（たとえば、前記第1のアフィン・モデルおよび現在符号化ブロックの制御点のグループの位置座標に基づいて）得られ、第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の第1のグループの動きベクトルおよび位置座標に基づいて決定されることである。この場合、ターゲット候補動きベクトル・グループに基づいて現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを得ることは、具体的には：第2のアフィン・モデルに基づいて現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを得ること（たとえば、第2のアフィン・モデルおよび現在符号化ブロックの一つまたは複数のサブブロックの位置座標に基づいて現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを得ること）であり、第2のアフィン・モデルは、ターゲット候補動きベクトル・グループおよび現在符号化ブロックの制御点のグループの位置座標に基づいて決定される。
【００３７】
別の任意的な解決策において、アフィン候補動きベクトル・リストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られる。第2の近傍アフィン符号化ブロックの制御点の第2のグループにおける一つまたは複数の制御点の、第2の近傍アフィン符号化ブロックに対する位置は、第1の近傍アフィン符号化ブロックの制御点の第1のグループにおける一つまたは複数の制御点の、第1の近傍アフィン符号化ブロックに対する位置とは異なる（たとえば、第1の近傍アフィン符号化ブロックの制御点の第1のグループに含まれる制御点は、第1の近傍アフィン符号化ブロックの左下の制御点、右下の制御点、および左上の制御点であるが、第2の近傍アフィン符号化ブロックの制御点の第2のグループに含まれる制御点は、第2の近傍アフィン符号化ブロックの右上の制御点、右下の制御点、および左下の制御点である）、または第2の近傍アフィン符号化ブロックの制御点の第2のグループは、第2の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。
【００３８】
ある任意的な解決策では、先進動きベクトル予測（advanced  motion  vector  prediction）AMVPモードにおいて、ターゲット候補動きベクトル・グループに基づいて現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを得ることは、具体的には：パースを通してビットストリームから得られた動きベクトル差分（motion  vector  difference）MVDおよびインデックスによって示されるターゲット候補動きベクトル・グループに基づいて、新しい候補動きベクトル・グループを得て、次いで、該新しい候補動きベクトル・グループに基づいて、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを得ることを含んでいてもよい。たとえば、第2のアフィン・モデルは、まず、新しい候補動きベクトル・グループおよび現在符号化ブロックの制御点のグループの位置座標に基づいて決定され、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルは、第2のアフィン・モデルに基づいて得られる。たとえば、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルは、第2のアフィン・モデルおよび現在符号化ブロックの一つまたは複数のサブブロックの位置座標に基づいて得られる。
【００３９】
別の可能な実装では、マージmergeモードにおいて、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルに基づいて現在符号化ブロックの予測サンプル値を予測することは、具体的には：現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルと、参照フレーム・インデックスおよび前記インデックスによって示される予測方向とに基づいて現在符号化ブロックの予測サンプル値を予測することを含んでいてもよい。
【００４０】
別の可能な実装では、第1の近傍アフィン符号化ブロックの制御点の第1のグループは、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、第1の近傍アフィン符号化ブロックは、該CTU内に位置する、ことは：第1の近傍アフィン符号化ブロックが現在符号化ブロックの上の符号化ツリー単位CTU内に位置する場合、第1の近傍アフィン符号化ブロックの制御点の第1のグループは、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ことを含んでいてもよい。第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが現在符号化ブロックの上に位置する場合、第1の近傍アフィン符号化ブロックの最も下の制御点に関する情報がメモリから読み出されている。したがって、上記の解決策においては、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点（両方とも最も下の制御点に属する）を含み、これら2つの制御点に関する情報がメモリから追加的に読み出される必要がないことは明らかであり、それにより、メモリからの読み出し回数を減らし、デコード性能を改善する。
【００４１】
別の任意的な解決策において、第1の近傍アフィン符号化ブロックが現在ブロックの上のCTU内に位置する場合、第1の近傍アフィン符号化ブロックの制御点の第1のグループは、さらに、第1の近傍アフィン符号化ブロックの左上の制御点または右上の制御点を含む。制御点の第1のグループが3つの制御点を含む場合、制御点の第1のグループに基づいて計算される第1の候補動きベクトル・グループの精度はより高いことが理解されうる。
【００４２】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算され、導出される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいては、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および右下の制御点の位置座標の両方が、メモリから読み取られるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、デコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は代替的に、メモリにあらかじめ記憶されていて、必要なときに使用のためにメモリから読み出されてもよい。
【００４３】
別の可能な実装においては、第1の近傍アフィン符号化ブロックの制御点の第1のグループが、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、第1の近傍アフィン符号化ブロックは該CTU内に位置する、ことは具体的には：第1の近傍アフィン符号化ブロックが現在符号化ブロックの左のCTU内に位置する場合、第1の近傍アフィン符号化ブロックの制御点の第1のグループは、第1の近傍アフィン符号化ブロックの右上の制御点および右下の制御点を含む、ことを含んでいてもよい。第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが現在符号化ブロックの左に位置する場合、第1の近傍アフィン符号化ブロックの最も右の制御点に関する情報がメモリから読み出されている。したがって、上記の解決策においては、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、第1の近傍アフィン符号化ブロックの右上の制御点および右下の制御点（両方とも最も右の制御点に属する）を含み、これら2つの制御点に関する情報がメモリから追加的に読み出される必要がないことは明らかであり、それにより、メモリからの読み出し回数を減らし、デコード性能を改善する。
【００４４】
別の可能な実装では、第1の近傍アフィン符号化ブロックが現在符号化ブロックの左のCTU内に位置する場合、第1の近傍アフィン符号化ブロックの制御点の第1のグループは、さらに、第1の近傍アフィン符号化ブロックの左上の制御点または左下の制御点を含む。制御点の第1のグループが3つの制御点を含む場合、制御点の第1のグループに基づいて計算される第1の候補動きベクトル・グループの精度はより高いことが理解されうる。
【００４５】
任意的に、第1の近傍アフィン符号化ブロックの右上の制御点の位置座標(x5,y5)および右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算される。第1の近傍アフィン符号化ブロックの右上の制御点の位置座標(x5,y5)は(x4+cuW,y4)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの右上の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右上のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいては、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの右上の制御点の位置座標および右下の制御点の位置座標の両方が、メモリから読み取られるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、デコード性能が改善できる。別の任意的な解決策では、右上の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶され、必要なときに使用のためにメモリから読み出されてもよい。
【００４６】
別の可能な実装においては、第1の近傍アフィン符号化ブロックの制御点の第1のグループが、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む場合に、第1の近傍アフィン符号化ブロックの制御点の第1のグループはさらに、第1の近傍アフィン符号化ブロックの左上の制御点を含む。制御点の第1のグループが3つの制御点を含む場合、制御点の第1のグループに基づいて計算される第1の候補動きベクトル・グループの精度はより高いことが理解されうる。
【００４７】
別の任意的な解決策では、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルがターゲット候補動きベクトル・グループに基づいて得られる場合、現在符号化ブロックの下の境界が、現在符号化ブロックが位置するCTUの下の境界と重なっていれば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックのアフィン・モデルと、現在符号化ブロックの左下隅の位置座標(0,H)とに基づく計算を通じて得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックのアフィン・モデルと、現在符号化ブロックの右下隅の位置座標(W,H)とに基づく計算を通じて得られる。たとえば、アフィン・モデルは、ターゲット候補動きベクトルと、現在符号化ブロックの制御点のグループの位置座標とに基づいて構築される。アフィン・モデルのモデル・パラメータは、ターゲット候補動きベクトルと、現在符号化ブロックの制御点のグループの位置座標とに基づいて得られる。そして、現在符号化ブロックの左下隅にあるサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)をアフィン・モデルに代入する（計算のために、左下隅にあるサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得ることができ、現在符号化ブロックの右下隅にあるサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)をアフィン・モデルに代入する（計算のために、右下隅にあるサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得ることができる。このようにして、現在符号化ブロックの左下の制御点の動きベクトルおよび右下の制御点の動きベクトルが使用される（たとえば、別のブロックのアフィン候補動きベクトル・リストが、その後、現在ブロックの左下の制御点および右下の制御点の動きベクトルに基づいて構築される）とき、推定値ではなく、正確な値が用いられる。Wは現在符号化ブロックの幅であり、Hは現在符号化ブロックの高さである。
【００４８】
任意的に、任意の符号化ブロック（たとえば、現在符号化ブロックまたは近傍の符号化ブロック）について、符号化ブロックの左上の制御点の位置座標が(x,y)である場合、符号化ブロックの右上の制御点の座標は(x＋w,y)であり、符号化ブロックの左下の制御点の座標は(x,y＋h)であり、符号化ブロックの右下の制御点の座標は(x＋w,y＋h)である。wは符号化ブロックの幅であり、hは符号化ブロックの高さである。
【００４９】
第8の側面によれば、本願のある実施形態は、第7の側面における任意の方法を実装するように構成された、いくつかの機能ユニットを含むビデオ・デコーダを提供する。たとえば、ビデオ・デコーダは：
ビットストリームをパースしてインデックスを得るように構成されたエントロピー・デコード・ユニットであって、該インデックスは、現在符号化ブロックのターゲット候補動きベクトル・グループを示すために使用される、エントロピー・デコード・ユニットと；
アフィン候補動きベクトル・リスト内のターゲット候補動きベクトル・グループを、該インデックスに基づいて決定するステップであって、ターゲット候補動きベクトル・グループは、現在符号化ブロックの制御点のグループの動きベクトル予測子を表わし、アフィン候補動きベクトル・リストは、少なくとも第1の候補動きベクトル・グループを含み、第1の候補動きベクトル・グループは、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られ、第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、前記第1の近傍アフィン符号化ブロックは該CTU内に位置する、または前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ステップと；前記ターゲット候補動きベクトル・グループに基づいて、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを取得するステップと；現在符号化ブロックの前記一つまたは複数のサブブロックの動きベクトルに基づいて、現在符号化ブロックの予測サンプル値を予測するステップとを実行するように構成されたインター予測ユニットとを含んでいてもよい。
【００５０】
第9の側面によれば、本願のある実施形態は、第7の側面における任意の方法を実装するように構成されたビデオ・デコーダを含む、ビデオ・データ・デコード装置を提供する。たとえば、本装置は：
ビットストリームの形でビデオ・データを記憶するように構成されたメモリと；
前記ビデオ・デコーダとを含んでいてもよい。前記ビデオ・デコーダは、ビットストリームをパースしてインデックスを得るステップであって、該インデックスは、現在符号化ブロックのターゲット候補動きベクトル・グループを示すために使用される、ステップと；アフィン候補動きベクトル・リスト内のターゲット候補動きベクトル・グループを、該インデックスに基づいて決定するステップであって、ターゲット候補動きベクトル・グループは、現在符号化ブロックの制御点のグループの動きベクトル予測子を表わし、アフィン候補動きベクトル・リストは、少なくとも第1の候補動きベクトル・グループを含み、第1の候補動きベクトル・グループは、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られ、第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、前記第1の近傍アフィン符号化ブロックは該CTU内に位置する、または前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ステップと；前記ターゲット候補動きベクトル・グループに基づいて、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを取得するステップと；現在符号化ブロックの前記一つまたは複数のサブブロックの動きベクトルに基づいて、現在符号化ブロックの予測サンプル値を予測するステップとを実行するように構成される。
【００５１】
第10の側面によれば、本願のある実施形態は、ビデオ・データ・デコード装置を提供する。本装置は、互いに結合された不揮発性メモリおよびプロセッサを含む。メモリはプログラム命令を記憶するように構成される。プロセッサは、第7の側面および第7の側面における任意の方法の一部または全部のステップを実行するようプログラム・コードを呼び出すように構成される。たとえば、プロセッサは、以下のステップを実行するためにプログラム・コードを呼び出すように構成される：
ビットストリームをパースしてインデックスを得るステップであって、該インデックスは、現在符号化ブロックのターゲット候補動きベクトル・グループを示すために使用される、ステップと；アフィン候補動きベクトル・リスト内のターゲット候補動きベクトル・グループを、該インデックスに基づいて決定するステップであって、ターゲット候補動きベクトル・グループは、現在符号化ブロックの制御点のグループの動きベクトル予測子を表わし、アフィン候補動きベクトル・リストは、少なくとも第1の候補動きベクトル・グループを含み、第1の候補動きベクトル・グループは、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られ、第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、前記第1の近傍アフィン符号化ブロックは該CTU内に位置する、または前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ステップと；前記ターゲット候補動きベクトル・グループに基づいて、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを取得するステップと；現在符号化ブロックの前記一つまたは複数のサブブロックの動きベクトルに基づいて、現在符号化ブロックの予測サンプル値を予測するステップ。
【００５２】
第11の側面によれば、本願のある実施形態は、コンピュータ読み取り可能な記憶媒体を提供する。コンピュータ読み取り可能な記憶媒体は、プログラム・コードを記憶し、該プログラム・コードは、第7の側面における任意の方法の一部または全部のステップを実行するために使用される命令を含む。
【００５３】
第12の側面によれば、本願のある実施形態は、コンピュータ・プログラム製品を提供する。コンピュータ・プログラム製品がコンピュータ上で実行されるとき、該コンピュータは、第7の側面における任意の方法の一部または全部のステップを実行できるようにされる。
【００５４】
本願の第8ないし第12の側面における技術的解決策は、本願の第7の側面における技術的解決策と一貫しており、それらの側面および対応する実現可能な実装によって達成される有益な効果は同様であることを理解しておくべきである。詳細は、再度記載しない。
【図面の簡単な説明】
【００５５】
本願の実施形態または背景における技術的解決策をより明確に記述するために、下記は、本願の実施形態または背景を記述するための添付の図面を説明する。
【００５６】
【図１Ａ】本願のある実施形態によるビデオ・エンコードおよびデコード・システムの概略ブロック図である。
【００５７】
【図１Ｂ】本願のある実施形態によるビデオ・データ処理の概略フローチャートである。
【００５８】
【図２Ａ】本願のある実施形態によるビデオ・エンコーダの概略ブロック図である。
【００５９】
【図２Ｂ】本願のある実施形態によるビデオ・デコーダの概略ブロック図である。
【００６０】
【図３】本願のある実施形態によるビデオ・ピクチャー・エンコードのためのインター予測方法のフローチャートである。
【００６１】
【図４】本願のある実施形態による、ビデオ・ピクチャー・デコードのためのインター予測方法のフローチャートである。
【００６２】
【図５Ａ】本願のある実施形態による、現在ピクチャー・ブロックおよび参照ブロックの動き情報の概略図である。
【００６３】
【図５Ｂ】本願のある実施形態による、インター予測シナリオの概略図である。
【００６４】
【図５Ｃ】本願のある実施形態によるフレーム間近傍ブロックのシナリオの概略図である。
【００６５】
【図５Ｄ】本願のある実施形態による、近傍アフィン符号化ブロックの動きベクトルの概略図である。
【００６６】
【図６】本願のある実施形態によるエンコード方法の概略フローチャートである。
【００６７】
【図７Ａ】本願のある実施形態による近傍ブロックのシナリオの概略図である。
【００６８】
【図７Ｂ】本願のある実施形態による近傍ブロックのシナリオの概略図である。
【００６９】
【図８Ａ】本願のある実施形態による動き補償単位の概略構造図である。
【００７０】
【図８Ｂ】本願のある実施形態による別の動き補償単位の概略構造図である。
【００７１】
【図９】本願のある実施形態によるデコード方法の概略フローチャートである。
【００７２】
【図９Ａ】本願のある実施形態による、アフィン候補動きベクトル・リストを構築することの概略フローチャートである。
【００７３】
【図９Ｂ】本願のある実施形態による、アフィン候補動きベクトル・リストを構築することの概略フローチャートである。
【００７４】
【図９Ｃ】本願のある実施形態によるアフィン候補動きベクトル・リストを構築することの概略フローチャートである。
【００７５】
【図９Ｄ】本願のある実施形態によるアフィン候補動きベクトル・リストを構成することの概略フローチャートである。
【００７６】
【図１０】本願のある実施形態によるエンコード装置またはデコード装置の概略構造図である。
【００７７】
【図１１】ある実施形態による、図2Aのエンコーダ20および／または図2Bのデコーダ200を含むビデオ符号化システム1100である。
【発明を実施するための形態】
【００７８】
以下は、本願の実施形態における添付の図面を参照して、本願の実施形態を記載する。
【００７９】
ビデオストリームまたはビデオストリームの一部、たとえばビデオ・フレームまたはピクチャー・ブロックのエンコードのために、ビデオストリームにおける時間的および空間的類似性が、エンコード性能を改善するために使用されうる。たとえば、ビデオストリーム内の現在ピクチャー・ブロックについて、現在ピクチャー・ブロックについて使用される動き情報は、ビデオストリーム内の先にエンコードされたブロックに基づいて予測されてもよく、先にエンコードされたブロックに基づいて現在ピクチャー・ブロックを符号化するために、予測ブロックと現在ピクチャー・ブロック（すなわち、もとのブロック）との間の差（残差とも呼ばれる）が同定される。この方法によれば、現在ピクチャー・ブロック全体ではなく、現在ピクチャー・ブロックを生成するために使用される残差およびいくつかのパラメータのみが、デジタルビデオ出力ビットストリームに含められる。この技術は、インター予測と呼ばれることがある。
【００８０】
動きベクトルは、インター予測プロセスにおける重要なパラメータであり、現在符号化ブロックに対する、先に符号化されたブロックの空間的変位を表わす。動きベクトルを得るために、動き探索のような動き推定方法が使用されてもよい。初期のインター予測技術では、デコーダが予測ブロックを再現し、それにより再構成されたブロックを得ることができるようにするために、動きベクトルを表わすビットが、エンコードされたビットストリームに含められる。さらにエンコード効率を改善するために、参照動きベクトルを使用することによって動きベクトルを差分的にエンコードすること、すなわち、動きベクトル全体をエンコードする代わりに、動きベクトルと参照動きベクトルとの間の差分のみをエンコードすることがさらに提案されている。いくつかの場合には、参照動きベクトルは、ビデオストリームにおいて以前に使用された動きベクトルから選択されてもよい。現在動きベクトルをエンコードするために以前に使用された動きベクトルを選択することは、エンコードされたビデオ・ビットストリームに含まれるビットの量をさらに減らすことができる。
【００８１】
図1Aは、本願のある実施形態による例示的なビデオ符号化システム1のブロック図である。本明細書で使用されるところでは、「ビデオコーデック」という用語は、通例、ビデオ・エンコーダおよびビデオ・デコーダを指す。本願では、「ビデオ符号化」または「符号化」という用語は、通例、ビデオ・エンコードまたはビデオ・デコードを指しうる。ビデオ符号化システム1におけるビデオ・エンコーダ100およびビデオ・デコーダ200は、本願で提供される複数の新しいインター予測モードのうちの任意の一つに記載されるさまざまな方法例に従って、現在の符号化されるピクチャー・ブロックの、または現在の符号化されるピクチャー・ブロックのサブブロックの動き情報、たとえば、動きベクトルを予測するように構成され、それにより、予測された動きベクトルは、動き推定方法を用いて得られた動きベクトルに最大限近いものとなる。このようにして、動きベクトル差分がエンコードの間に伝送される必要がなく、それによりエンコードおよびデコード性能をさらに改善する。
【００８２】
図1Aに示されるように、ビデオ符号化システム1は、源装置10と宛先装置20とを含む。源装置10は、エンコードされたビデオ・データを生成する。よって、源装置10は、ビデオ・エンコード装置と称されてもよい。宛先装置20は、源装置10によって生成されたエンコードされたビデオ・データをデコードすることができる。よって、宛先装置20は、ビデオ・デコード装置と称されてもよい。源装置10、宛先装置20、または源装置10および宛先装置20の両方のさまざまな実装解決策は、一つまたは複数のプロセッサおよび該一つまたは複数のプロセッサに結合されたメモリを含んでいてもよい。メモリは、本明細書に記載されるような、コンピュータによってアクセス可能な命令またはデータ構造の形で必要とされるプログラム・コードを記憶するために使用できるRAM、ROM、EEPROM、フラッシュメモリ、または他の任意の媒体を含みうるが、これらに限定されない。理解の容易のため、図1Bはさらに、ビデオ・データが源装置10によって収集され、エンコードされ、送信され、宛先装置20によって受領され、デコードされ、レンダリングされるシナリオを示す。
【００８３】
源装置10および宛先装置20は、デスクトップコンピュータ、モバイルコンピューティング装置、ノートブック（たとえばラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、「スマート」フォンのようなハンドヘルド電話機、テレビジョンセット、カメラ、ディスプレイ装置、デジタルメディアプレーヤー、ビデオゲームコンソール、車載コンピュータ、および同様の装置を含むさまざまな装置を含みうる。
【００８４】
宛先装置20は、リンク30を通じて源装置10からエンコードされたビデオ・データを受領することができる。リンク30は、エンコードされたビデオ・データを源装置10から宛先装置20に転送することができる一つまたは複数の媒体または装置を含みうる。一例では、リンク30は、源装置10がエンコードされたビデオ・データを宛先装置20にリアルタイムで直接送信することを可能にする一つまたは複数の通信媒体を含みうる。この例では、源装置10は、通信標準（たとえば、無線通信プロトコル）に従って、エンコードされたビデオ・データを変調してもよく、変調されたビデオ・データを宛先装置20に送信してもよい。一つまたは複数の通信媒体は、無線通信媒体および／または有線通信媒体、たとえば、無線周波数（RF）スペクトルまたは一つまたは複数の物理的伝送線を含みうる。一つまたは複数の通信媒体は、パケットベースのネットワークの一部であってもよく、該パケットベースのネットワークは、たとえば、ローカルエリアネットワーク、ワイドエリアネットワーク、またはグローバルネットワーク（たとえば、インターネット）である。一つまたは複数の通信媒体は、ルーター、スイッチ、基地局、または源装置10から宛先装置20への通信を容易にする他の装置を含みうる。
【００８５】
別の例では、エンコードされたデータは、出力インターフェース140を通じて記憶装置40に出力されうる。同様に、エンコードされたデータは、記憶装置40から入力インターフェース240を通じてアクセスされうる。記憶装置40は、複数の分散されたまたはローカルにアクセスされるデータ記憶媒体のうちの任意の一つを含みうる。たとえば、ハードディスクドライブ、ブルーレイディスク、DVD、CD-ROM、フラッシュメモリ、揮発性または不揮発性メモリ、またはエンコードされたビデオ・データを記憶するように構成された任意の他の好適なデジタル記憶媒体である。
【００８６】
別の例では、記憶装置40は、源装置10によって生成されたエンコードされたビデオを維持することができるファイル・サーバーまたは別の中間記憶装置に対応してもよい。宛先装置20は、ストリーミング伝送またはダウンロードを通じて、記憶装置40からの記憶されたビデオ・データにアクセスすることができる。ファイル・サーバーは、エンコードされたビデオ・データを記憶し、エンコードされたビデオ・データを宛先装置20に送信することができる任意のタイプのサーバーでありうる。たとえば、ファイル・サーバーは、ネットワークサーバー（たとえば、ウェブサイトのために使用される）、FTPサーバー、ネットワークアタッチトストレージ（NAS）装置、またはローカルディスクドライブであってもよい。宛先装置20は、任意の標準的なデータ接続（インターネット接続を含む）を通じて、エンコードされたビデオ・データにアクセスすることができる。標準的なデータ接続は、無線チャネル（たとえば、Wi-Fi接続）、有線接続（たとえば、DSLまたはケーブルモデム）、またはファイル・サーバーに記憶されているエンコードされたビデオ・データにアクセスするのに好適なそれらの組み合わせを含みうる。記憶装置40からのエンコードされたビデオ・データの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組み合わせでありうる。
【００８７】
本願における動きベクトル予測技術は、複数のマルチメディアアプリケーション、たとえば、無線テレビ放送、ケーブルテレビ放送、衛星テレビ放送、（たとえばインターネット上での）ストリーミングビデオ伝送、データ記憶媒体に記憶されているビデオ・データのエンコード、データ記憶媒体に記憶されているビデオ・データのデコード、または他のアプリケーションをサポートするために、ビデオ符号化およびデコードのために使用されうる。いくつかの例では、ビデオ符号化システム1は、ビデオストリーミング伝送、ビデオ再生、ビデオ放送、および／またはビデオ電話などのアプリケーションをサポートするために、一方向または双方向のビデオ伝送をサポートするように構成されうる。
【００８８】
図1Aに記載されたビデオ符号化システム1は、単に一例であり、本願における技術は、必ずしもエンコード装置とデコード装置との間の何らかのデータ通信を含まないビデオ符号化セッティング（たとえば、ビデオ符号化またはビデオ・デコード）に適用可能である。別の例では、データはローカルメモリから取り出される、ストリーミング方式でネットワーク上で伝送される、などである。ビデオ・エンコード装置は、データをエンコードし、該データをメモリに記憶してもよく、および／またはビデオ・デコード装置は、メモリからデータを取り出し、該データをデコードしてもよい。多くの例において、データをエンコードし、該データをメモリに記憶する、および／または、メモリからデータを取り出し、該データをデコードするだけであって、互いに通信しない装置が、エンコードおよびデコードを実行する。
【００８９】
図1Aの例では、源装置10は、ビデオ源120と、ビデオ・エンコーダ100と、出力インターフェース140とを含む。いくつかの例では、出力インターフェース140は、変調器／復調器（モデム）および／または送信器を含んでいてもよい。ビデオ源120は、ビデオ捕捉装置（たとえば、カメラ）、以前に捕捉されたビデオ・データを含むビデオ・アーカイブ、ビデオ・コンテンツ・プロバイダーからビデオ・データを受信するためのビデオ・フィードイン・インターフェース、および／またはビデオ・データを生成するためのコンピュータ・グラフィックス・システム、または上記のビデオ・データ源の組み合わせを含みうる。
【００９０】
ビデオ・エンコーダ100は、ビデオ源120からのビデオ・データをエンコードしてもよい。いくつかの例では、源装置10は、エンコードされたビデオ・データを出力インターフェース140を通じて宛先装置20に直接送信する。別の例では、エンコードされたビデオ・データは、代替的に、記憶装置40に記憶されてもよく、それにより、宛先装置20が、その後、デコードおよび／または再生のために、エンコードされたビデオ・データにアクセスする。
【００９１】
図1Aの例では、宛先装置20は、入力インターフェース240、ビデオ・デコーダ200、および表示装置220を含む。いくつかの例では、入力インターフェース240は、受信器および／またはモデムを含む。入力インターフェース240は、リンク30を通じておよび／または記憶装置40から、エンコードされたビデオ・データを受領することができる。表示装置220は、宛先装置20と一体化されてもよく、または宛先装置20の外部に位置してもよい。通例、表示装置220は、デコードされたビデオ・データを表示する。表示装置220は、複数のタイプの表示装置、たとえば、液晶ディスプレイ（LCD）、プラズマディスプレイ、有機発光ダイオード（OLED）ディスプレイ、または別のタイプの表示装置を含みうる。
【００９２】
図1Aには示されていないが、いくつかの側面では、ビデオ・エンコーダ100およびビデオ・デコーダ200は、それぞれ、オーディオエンコーダおよびオーディオデコーダと一体化されてもよく、適切なマルチプレクサ‐デマルチプレクサ・ユニットまたは他のハードウェアおよびソフトウェアを含んでいて、オーディオおよびビデオを、組み合わされたデータストリームまたは別個のデータストリームにおいてエンコードしてもよい。いくつかの例において、もし適用可能であれば、MUX-DEMUXユニットは、ITU  H.223マルチプレクサプロトコル、またはユーザーデータグラムプロトコル（UDP）のような別のプロトコルに準拠してもよい。
【００９３】
ビデオ・エンコーダ100およびビデオ・デコーダ200は、それぞれ、たとえば、以下の複数の回路：一つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（DSP）、特定用途向け集積回路（ASIC）、フィールドプログラマブルゲートアレイ（FPGA）、離散論理、ハードウェア、またはそれらの任意の組み合わせのうちの任意の一つとして実装されうる。本願が部分的にソフトウェアを通じて実装される場合、装置は、適切な不揮発性コンピュータ読み取り可能記憶媒体に、ソフトウェアのために使用される命令を記憶してもよく、本願で技術を実装するために、ハードウェアにおいて該命令を実行するために一つまたは複数のプロセッサを使用してもよい。上記の内容（ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組み合わせなどを含む）の任意の一つが、一つまたは複数のプロセッサとみなされてもよい。ビデオ・エンコーダ100およびビデオ・デコーダ200は、それぞれ、一つまたは複数のエンコーダまたはデコーダに含まれてもよく、エンコーダまたはデコーダは、対応する装置内で組み合わされたエンコーダ／デコーダ（コーデック）の一部として統合されてもよい。
【００９４】
本願では、ビデオ・エンコーダ100は、おおまかには、たとえばビデオ・デコーダ200に何らかの情報を「シグナリング」または「送信」する別の装置と称されてもよい。「シグナリング」または「送信」という用語は、おおまかには、圧縮されたビデオ・データをデコードするために使用されるシンタックス要素および／または他のデータの転送を指しうる。転送は、リアルタイムで、またはほぼリアルタイムで行なわれる。あるいはまた、通信は、ある時間期間後に行なわれてもよい。たとえば、通信は、エンコードされたビットストリーム中のシンタックス要素がエンコードの間にコンピュータ読み取り可能な記憶媒体中に記憶されたときに生起してもよく、すると、デコード装置は、そのシンタックス要素が媒体中に記憶された後の任意の時点で、そのシンタックス要素を取り出しうる。
【００９５】
ビデオ・エンコーダ100およびビデオ・デコーダ200は、高効率ビデオ符号化（HEVC）またはその拡張などのビデオ圧縮標準に従って動作してもよく、HEVCテスト・モデル（HM）に準拠してもよい。あるいはまた、ビデオ・エンコーダ100およびビデオ・デコーダ200は、別の業界標準、たとえば、ITU-T  H.264標準、H.265標準、またはそのような標準の拡張に従って動作してもよい。しかしながら、本願における技術は、いかなる特定のエンコードおよびデコード標準にも限定されない。
【００９６】
一例では、図3を一緒に参照すると、ビデオ・エンコーダ100は、現在のエンコードされるべきピクチャー・ブロックに関連するシンタックス要素を、デジタルビデオ出力ビットストリーム（これは、ビットストリームまたはビットストリームと略称される）中にエンコードするように構成される。ここでは、現在ピクチャー・ブロックに対してインター予測を実行するために使用されるシンタックス要素はインター予測データと略称される。現在ピクチャー・ブロックをエンコードするために使用されるインター予測モードを決定するために、ビデオ・エンコーダ100は、現在ピクチャー・ブロックに対してインター予測を実行するために使用されるインター予測モードを候補インター予測モード集合において決定または選択し（S301）（たとえば、現在ピクチャー・ブロックをエンコードする妥協されたまたは最低のレート‐歪みコストをもつインター予測モードを複数の新しいインター予測モードにおいて選択する）；決定されたインター予測モードに基づいて現在ピクチャー・ブロックをエンコードする（S303）ようにさらに構成される。本明細書におけるエンコード・プロセスは：決定されたインター予測モードに基づいて、現在ピクチャー・ブロック内の一つまたは複数のサブブロックの動き情報を予測し（動き情報は、具体的には、各サブブロックの動き情報または全サブブロックの動き情報であってもよい）、現在ピクチャー・ブロックの予測ブロックを得るために、現在ピクチャー・ブロック内の一つまたは複数のサブブロックの動き情報を使用することによって、一つまたは複数のサブブロックの予測サンプル値を予測することを含んでいてもよい。
【００９７】
インター予測モードに基づいて予測された動き情報を用いて生成された予測ブロックと、現在のエンコードされるべきピクチャー・ブロック（すなわち、もとのブロック）との間の差（すなわち、残差）が0である場合、ビデオ・エンコーダ100は、現在のエンコードされるべきピクチャー・ブロックに関連するシンタックス要素のみをビットストリーム（ビットストリームとも呼ばれる）中にエンコードする必要があることが理解されるべきである。そうでない場合、シンタックス要素に加えて、対応する残差がビットストリーム中にエンコードされる必要がある。
【００９８】
別の例では、図4を一緒に参照すると、ビデオ・デコーダ200は、ビットストリームをデコードして、現在のデコードされるべきピクチャー・ブロックに関連するシンタックス要素を得て（S401）、インター予測データが、現在ピクチャー・ブロックを予測するために特定のインター予測モード（たとえば、先進動きベクトル予測（Advanced  Motion  Vector  Prediction,  AMVP）モード、マージ（merge）モード、アフィン・マージaffine_mergeモード、またはアフィン動きベクトル予測affine_interモード）を使用することを示す場合（S403）、決定されたインター予測モードに基づいて現在ピクチャー・ブロックをデコードする（S405）ように構成される。ここでのデコード・プロセスは：現在ピクチャー・ブロック内の一つまたは複数のサブブロックの動き情報を予測し、現在ピクチャー・ブロック内の一つまたは複数のサブブロックの動き情報を使用することによって、現在ピクチャー・ブロックに対してインター予測を実行することを含みうる。
【００９９】
任意的に、インター予測データが、現在ピクチャー・ブロックのターゲット候補動きベクトル・グループを示すために使用されるインデックスをさらに含む場合、ビデオ・デコーダ200は、アフィン候補動きベクトル・リスト内のターゲット候補動きベクトル・グループを決定するように構成される。ターゲット候補動きベクトル・グループは、現在ピクチャー・ブロックの制御点のグループの動きベクトル予測子を表わす。ビデオ・デコーダ200がマージ・モードを使用する場合、ターゲット候補動きベクトル・グループによって表わされる、現在ピクチャー・ブロックの制御点のグループの動きベクトル予測子が、現在ピクチャー・ブロックの制御点のグループの動きベクトルとして使用されることが理解されるべきである。
【０１００】
図2Aは、本願のある実施形態による例示的なビデオ・エンコーダ100のブロック図である。ビデオ・エンコーダ100は、後処理エンティティ41にビデオを出力するように構成される。後処理エンティティ41は、ビデオ・エンコーダ100からのエンコードされたビデオ・データを処理することができるビデオ・エンティティの例を表わす。たとえば、ビデオ・エンティティは、メディア認識ネットワーク要素（MANE）またはステッチ装置／編集装置である。いくつかの場合には、後処理エンティティ41は、ネットワーク・エンティティの例であってもよい。いくつかのビデオ符号化システムでは、後処理エンティティ41およびビデオ・エンコーダ100は、別個の装置のコンポーネントであってもよく、他の場合には、後処理エンティティ41に関して記載される機能は、ビデオ・エンコーダ100を含む同じ装置によって実装されてもよい。一例において、後処理エンティティ41は、図1Aの記憶装置40の例である。
【０１０１】
ビデオ・エンコーダ100は、モード0、1、2、…、10を含む、本願で提案される候補インター予測モード集合における任意の新しいインター予測モードに基づいて、ビデオ・ピクチャー・ブロックをエンコードする、たとえばビデオ・ピクチャー・ブロックに対してインター予測を実行することができる。
【０１０２】
図2Aの例では、ビデオ・エンコーダ100は、予測処理ユニット108と、フィルタ・ユニット106と、デコード・ピクチャー・バッファ（DPB）107と、加算ユニット112と、変換ユニット101と、量子化ユニット102と、エントロピー・エンコード・ユニット103とを含む。予測処理ユニット108は、インター予測ユニット110と、イントラ予測ユニット109とを含む。ピクチャー・ブロック再構成のために、ビデオ・エンコーダ100は、逆量子化ユニット104、逆変換ユニット105、および加算ユニット111をさらに含む。フィルタ・ユニット106は、一つまたは複数のループ・フィルタ・ユニット、たとえば、ブロック解除フィルタ・ユニット、適応ループ・フィルタ（ALF）・ユニット、およびサンプル適応オフセット（SAO）・フィルタ・ユニットを表わすことが意図されている。フィルタ・ユニット106は、図2Aではループ内フィルタとして示されているが、別の実装では、フィルタ・ユニット106は、ポストフィルタとして実装されてもよい。一例では、ビデオ・エンコーダ100は、さらに、ビデオ・データ記憶ユニットと、分割ユニット（図には示されていない）とを含んでいてもよい。
【０１０３】
ビデオ・データ記憶ユニットは、ビデオ・エンコーダ100のコンポーネントによってエンコードされたビデオ・データを記憶することができる。ビデオ・データ記憶ユニットに記憶されたビデオ・データは、ビデオ源120から得られてもよい。DPB  107は、ビデオ・データをイントラまたはインター符号化モードでエンコードするためにビデオ・エンコーダ100によって使用される参照ビデオ・データを記憶する参照ピクチャー記憶ユニットであってもよい。ビデオ・データ記憶ユニットおよびDPB  107は、それぞれ、複数の記憶ユニット装置、たとえば、同期DRAM（SDRAM）を含む動的ランダムアクセスメモリ（DRAM）、磁気抵抗RAM（MRAM）、抵抗RAM（RRAM）、または別のタイプの記憶ユニット装置のいずれか一つを含んでいてもよい。ビデオ・データ記憶ユニットおよびDPB  107は、同じ記憶ユニット装置または別個の記憶ユニット装置によって提供されうる。さまざまな例において、ビデオ・データ記憶ユニットは、ビデオ・エンコーダ100の他のコンポーネントと一緒にチップ上に集積されてもよく、またはそれらのコンポーネントに対してチップの外部に配置されてもよい。
【０１０４】
図2Aに示されるように、ビデオ・エンコーダ100は、ビデオ・データを受領し、該ビデオ・データをビデオ・データ記憶ユニットに記憶する。分割ユニットは、ビデオ・データをいくつかのピクチャー・ブロックに分割し、これらのピクチャー・ブロックはさらに、より小さなブロックに分割されてもよい。たとえば、四分木構造または二分木構造に基づくピクチャー・ブロック分割が実行される。分割は、スライス（slice）、タイル（tile）、または他のより大きな単位に分割することをさらに含みうる。ビデオ・エンコーダ100は、通例、エンコードされるべきビデオ・スライス内のピクチャー・ブロックをエンコードするためのコンポーネントである。スライスは、複数のピクチャー・ブロックに分割されてもよい（また、タイルと呼ばれるピクチャー・ブロック集合に分割されてもよい）。予測処理ユニット108は、現在ピクチャー・ブロックのために使用される複数の可能な符号化モードのうちの一つ、たとえば、複数のイントラ符号化モードのうちの一つまたは複数のインター符号化モードのうちの一つを選択してもよい。前記複数のインター符号化モードは、本願において提案されるモード0、1、2、3、…、10のうちの一つまたは複数を含むが、これらに限定されない。予測処理ユニット108は、得られたイントラ符号化されたブロックおよびインター符号化されたブロックを、残差ブロックを生成するために加算ユニット112に提供し、それらのブロックを、参照ピクチャーとして使用されるエンコードされたブロックを再構成するために加算ユニット111に提供してもよい。
【０１０５】
予測処理ユニット108内のイントラ予測ユニット109は、空間的冗長性を除去するために、現在のエンコードされるべきブロックと同じフレームまたはスライス内にある一つまたは複数の近傍ブロックをもとに、現在ピクチャー・ブロックに対してイントラ予測エンコードを実行してもよい。予測処理ユニット108内のインター予測ユニット110は、時間的冗長性を除去するために、一つまたは複数の参照ピクチャー内の一つまたは複数の予測ブロックをもとに、現在ピクチャー・ブロックに対してインター予測エンコードを実行してもよい。
【０１０６】
具体的には、インター予測ユニット110は、現在ピクチャー・ブロックをエンコードするために使用されるインター予測モードを決定するように構成されてもよい。たとえば、インター予測ユニット110は、レート‐歪み解析を通じて設定された候補インター予測モード集合におけるさまざまなインター予測モードのレート‐歪み値を計算し、それらのインター予測モードから、最適なレート‐歪み特性をもつインター予測モードを選択することができる。レート‐歪み解析は、通例、エンコードされたブロックと、エンコードされておらず、エンコードされたブロックを生成するためにエンコードされるべきもとのブロックとの間の歪み（または誤差）の量、ならびに、エンコードされたブロックを生成するために使用されるビットレート（すなわち、ビットの量）を決定するために使用される。たとえば、インター予測ユニット110は、現在ピクチャー・ブロックに対してインター予測を実行するために使用されるインター予測モードとして、最低のレート‐歪みコストをもち、現在ピクチャー・ブロックをエンコードするために使用されるインター予測モードを決定することができる。下記は、インター予測エンコード・プロセス、特に本願におけるアフィンモード（たとえば、アフィン変換に基づく先進動きベクトル予測モードまたはアフィン変換に基づくマージ予測モード）において現在ピクチャー・ブロックにおける一つまたは複数のサブブロック（具体的には、各サブブロックまたは全サブブロックであってもよい）の動き情報を予測するプロセスについて詳細に述べる。言い換えると、下記は、動きモデル、たとえば、4パラメータ・アフィン・モデルまたは6パラメータ・アフィン・モデルに基づく動きベクトル予測プロセスを詳細に説明する。
【０１０７】
インター予測ユニット110は、決定されたインター予測モードに基づいて、現在ピクチャー・ブロック内の一つまたは複数のサブブロックの動き情報（たとえば、動きベクトル）を予測し、現在ピクチャー・ブロック内の一つまたは複数のサブブロックの動き情報（たとえば、動きベクトル）を用いて、現在ピクチャー・ブロックの予測ブロックを取得または生成するように構成されている。インター予測ユニット110は、参照ピクチャー・リスト内の1つの参照ピクチャーにおいて、動きベクトルがポイントする予測ブロックを位置特定することができる。インター予測ユニット110は、さらに、ピクチャー・ブロックおよびビデオ・スライスに関連するシンタックス要素を生成することができ、それにより、ビデオ・デコーダ200は、そのシンタックス要素を使用して、ビデオ・スライスのピクチャー・ブロックをデコードする。あるいはまた、一例では、インター予測ユニット110は、各サブブロックの予測ブロックを生成するために各サブブロックの動き情報を用いて動き補償プロセスを実行し、現在ピクチャー・ブロックの予測ブロックを取得する。ここで、インター予測部110は、具体的には、動き推定ユニット111および動き補償部112を含むことが理解されるべきである。動き推定ユニット111は、動き推定（Motion  estimation、ME）プロセスを実行するように構成され、動き補償ユニット112は、動き補償（Motion  compensation、MC）プロセスを実行するように構成される。
【０１０８】
具体的には、現在ピクチャー・ブロックのためのインター予測モードを選択した後、インター予測ユニット110は、エントロピー・エンコード・ユニット103のために、現在ピクチャー・ブロックの選択されたインター予測モードを示す情報を提供することができ、それにより、エントロピー・エンコード・ユニット103は、選択されたインター予測モードを示す情報をエンコードする。イントラ予測ユニット109は、現在ピクチャー・ブロックに対してイントラ予測を実行することができる。具体的には、イントラ予測ユニット109は、現在ブロックをエンコードするために使用されるイントラ予測モードを決定することができる。たとえば、イントラ予測ユニット109は、レート‐歪み解析を通じて、さまざまなテストされるべきイントラ予測モードのレート‐歪み値を計算し、それらのテストされるべきモードから、最適なレート‐歪み特性をもつイントラ予測モードを選択することができる。いずれの場合も、ピクチャー・ブロックのためのイントラ予測モードを選択した後、イントラ予測ユニット109は、エントロピー・エンコード・ユニット103のために、現在ピクチャー・ブロックの選択されたイントラ予測モードを示す情報を提供することができ、それにより、エントロピー・エンコード・ユニット103は選択されたイントラ予測モードを示す情報をエンコードする。
【０１０９】
予測処理ユニット108が、現在ピクチャー・ブロックの予測ブロックをインター予測およびイントラ予測を通じて生成した後、ビデオ・エンコーダ100は、現在のエンコードされるべきピクチャー・ブロックから予測ブロックを減算し、残差ピクチャー・ブロックを形成する。加算ユニット112は、減算演算を実行する一つまたは複数のコンポーネントを表わす。残差ブロック内の残差ビデオ・データは、一つまたは複数のTUに含まれて、変換ユニット101によって使用されてもよい。変換ユニット101は、離散コサイン変換（DCT）または概念的に同様の変換といった変換を通じて、残差ビデオ・データを残差変換係数に変換する。変換ユニット101は、残差ビデオ・データをサンプル値ドメインから変換ドメイン、たとえば周波数ドメインに変換することができる。
【０１１０】
変換ユニット101は、得られた変換係数を量子化ユニット102に送信してもよい。量子化ユニット102は、ビットレートをさらに低減するために変換係数を量子化する。いくつかの例では、量子化ユニット102は、量子化された変換係数を含むマトリクスをさらに走査してもよい。あるいはまた、エントロピー・エンコード・ユニット103がその走査を実行してもよい。
【０１１１】
量子化後、エントロピー・エンコード・ユニット103は、量子化された変換係数に対してエントロピー・エンコードを実行する。たとえば、エントロピー・エンコード・ユニット103は、コンテキスト適応可変長符号化（CAVLC）、コンテキスト適応バイナリ算術符号化（CABAC）、シンタックスベースのコンテキスト適応バイナリ算術符号化（SBAC）、確率区間分割エントロピー（PIPE）符号化、または他のエントロピー符号化方法もしくは技術を実行することができる。エントロピー・エンコード・ユニット103がエントロピー・エンコードを実行した後、エンコードされたビットストリームは、ビデオ・デコーダ200に送信されてもよいし、またはその後の送信のためもしくはビデオ・デコーダ200によって取り出されるためにアーカイブされてもよい。エントロピー・エンコード・ユニット103は、さらに、現在のエンコードされるべきピクチャー・ブロックのシンタックス要素に対してエントロピー・エンコードを実行してもよい。
【０１１２】
逆量子化ユニット104および逆変換ユニット105は、それぞれ、逆量子化および逆変換を適用して、たとえば参照ピクチャーの参照ブロックとしてのその後の使用のためにサンプル・ドメインでの残差ブロックを再構成する。加算ユニット111は、インター予測ユニット110またはイントラ予測ユニット109によって生成された予測ブロックに、再構成された残差ブロックを加算して、再構成されたピクチャー・ブロックを生成する。フィルタ・ユニット106は、ブロッキングアーチファクト（ブロックアーチファクト）などの歪みを低減するために、再構成されたピクチャー・ブロックに適用可能である。次いで、再構成されたピクチャー・ブロックは、デコード・ピクチャー・バッファ107内の参照ブロックとして記憶され、その後のビデオ・フレームまたはピクチャー内のブロックに対してインター予測を実行するためにインター予測ユニット110によって参照ブロックとして使用されることができる。
【０１１３】
ビデオストリームをエンコードするためにビデオ・エンコーダ100の他の構造的変形が使用されてもよいことが理解されるべきである。たとえば、いくつかのピクチャー・ブロックまたはピクチャー・フレームについて、ビデオ・エンコーダ100は残差信号を直接量子化してもよい。この場合、変換ユニット101および逆変換ユニット105による処理は要求されない。あるいはまた、いくつかのピクチャー・ブロックまたはピクチャー・フレームについては、ビデオ・エンコーダ100は残差データを生成しない。この場合、変換ユニット101、量子化ユニット102、逆量子化ユニット104、逆変換ユニット105による処理は要求されない。あるいはまた、ビデオ・エンコーダ100は、再構成されたピクチャー・ブロックを参照ブロックとして直接記憶してもよく、フィルタ・ユニット106による処理は要求されない。あるいはまた、ビデオ・エンコーダ100内の量子化ユニット102および逆量子化ユニット104は組み合わされてもよい。ループ・フィルタ・ユニットは任意的である。また、無損失圧縮符号化については、変換ユニット101、量子化ユニット102、逆量子化ユニット104、逆変換ユニット105は任意的である。異なる適用シナリオでは、インター予測ユニットおよびイントラ予測ユニットが選択的に有効化されてもよいことが理解されるべきである。この解決策では、インター予測ユニットが有効にされる。
【０１１４】
図2Bは、本願のある実施形態による例示的なビデオ・デコーダ200のブロック図である。図2Bの例では、ビデオ・デコーダ200は、エントロピー・デコード・ユニット203、予測処理ユニット208、逆量子化ユニット204、逆変換ユニット205、加算ユニット211、フィルタ・ユニット206、およびデコード・ピクチャー・バッファ207を含む。予測処理ユニット208は、動き補償ユニット210（インター予測ユニットとも呼ばれる）210と、イントラ予測ユニット209とを含んでいてもよい。いくつかの例では、ビデオ・デコーダ200は、図2Aにおけるビデオ・エンコーダ100に関して記載されるエンコード・プロセスと実質的に逆のデコード・プロセスを実行することができる。
【０１１５】
デコードの間、ビデオ・デコーダ200は、ビデオ・エンコーダ100から、エンコードされたビデオ・スライスのピクチャー・ブロックおよび関連するシンタックス要素を表わすエンコードされたビデオ・ビットストリームを受領する。ビデオ・デコーダ200は、ネットワーク・エンティティ42からビデオ・データを受領してもよく、任意的に、ビデオ・データをビデオ・データ記憶ユニット（図には示されていない）にさらに記憶してもよい。ビデオ・データ記憶ユニットは、ビデオ・デコーダ200のコンポーネントによってデコードされるべき、エンコードされたビデオ・ビットストリームといったビデオ・データを記憶することができる。ビデオ・データ記憶ユニットに記憶されたビデオ・データは、たとえば、ビデオ・データの有線または無線ネットワーク通信を通じて、または物理的なデータ記憶媒体にアクセスすることによって、記憶装置40またはカメラのようなローカル・ビデオ源から得られてもよい。ビデオ・データ記憶ユニットは、エンコードされたビデオ・ビットストリームからのエンコードされたビデオ・データを記憶するように構成されたデコード・ピクチャー・バッファ（CPB）として使用されてもよい。よって、ビデオ・データ記憶ユニットは図2Bには示されていないが、ビデオ・データ記憶ユニットとDPB  207は、同じ記憶ユニットであってもよく、または別個に配置された記憶ユニットであってもよい。ビデオ・データ記憶ユニットおよびDPB  207は、それぞれ、複数の記憶ユニット装置、たとえば、同期DRAM（SDRAM）を含む動的ランダムアクセスメモリ（DRAM）、磁気抵抗RAM（MRAM）、抵抗RAM（RRAM）、または別のタイプの記憶ユニット装置のいずれか一つを含んでいてもよい。さまざまな例において、ビデオ・データ記憶ユニットは、ビデオ・デコーダ200の他のコンポーネントと一緒にチップ上に集積されてもよく、またはそれらのコンポーネントに対してチップの外部に配置されてもよい。
【０１１６】
ネットワーク・エンティティ42は、たとえば、サーバー、MANE、ビデオ・エディタ／スプライサ、または上述の技術の一つまたは複数を実装するように構成された別の装置であってもよい。ネットワーク・エンティティ42は、ビデオ・エンコーダ、たとえば、ビデオ・エンコーダ100を含んでも含まなくてもよい。ネットワーク・エンティティ42がエンコードされたビデオ・ビットストリームをビデオ・デコーダ200に送信する前に、ネットワーク・エンティティ42は、本願に記載される技術の一部を実装しうる。いくつかのビデオ・デコード・システムでは、ネットワーク・エンティティ42およびビデオ・デコーダ200は、別個の装置のコンポーネントであってもよい。他の場合には、ネットワーク・エンティティ42に関して記載される機能は、ビデオ・デコーダ200を含む同じ装置によって実装されてもよい。いくつかの場合には、ネットワーク・エンティティ42は、図1Aにおける記憶装置40の例であってもよい。
【０１１７】
ビデオ・デコーダ200のエントロピー・デコード・ユニット203は、ビットストリームに対してエントロピー・デコードを実行し、量子化された係数およびいくつかのシンタックス要素を生成する。エントロピー・デコード・ユニット203は、シンタックス要素を予測処理ユニット208に転送する。ビデオ・デコーダ200は、ビデオ・スライス・レベルおよび／またはピクチャー・ブロック・レベルでシンタックス要素（単数または複数）を受領しうる。
【０１１８】
ビデオ・スライスがイントラ・デコードされた（I）スライスにデコードされるとき、予測処理ユニット208のイントラ予測ユニット209は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャーの前にデコードされたブロックのデータとに基づいて、現在のビデオ・スライスのピクチャー・ブロックの予測ブロックを生成することができる。ビデオ・スライスが、インター・デコードされた（すなわち、BまたはP）スライスにデコードされるとき、予測処理ユニット208のインター予測部210は、エントロピー・デコード・ユニット203から受領されたシンタックス要素に基づいて、現在のビデオ・スライスの現在ピクチャー・ブロックをデコードするために使用されるインター予測モードを決定し、決定されたインター予測モードに基づいて現在ピクチャー・ブロックをデコードする（たとえば、現在ピクチャー・ブロックに対してインター予測を実行する）ことができる。具体的には、現在ピクチャー・ブロック、または現在のビデオ・スライスの現在ピクチャー・ブロックのサブブロックの動き情報が、インター予測モード（たとえば、シンタックス要素によって指定されたインター予測モードまたはデフォルトのインター予測モード）に基づいて予測される。このようにして、現在ピクチャー・ブロックのサブブロックの予測ブロックまたは現在ピクチャー・ブロックの予測ブロックが、動き補償プロセスにおいて現在ピクチャー・ブロックまたは現在ピクチャー・ブロックのサブブロックの予測された動き情報を用いて取得または生成される。ここでの動き情報は、参照ピクチャー情報および動きベクトルを含みうる。参照ピクチャー情報は、一方向／双方向予測情報、参照ピクチャー・リスト番号、および参照ピクチャー・リストに対応する参照ピクチャー・インデックスを含んでいてもよいが、これらに限定されない。インター予測のために、予測ブロックは、参照ピクチャー・リストのうちの一つの参照ピクチャー・リストにおける参照ピクチャーのうちの一つから生成されてもよい。ビデオ・デコーダ200は、DPB  207に記憶された参照ピクチャーに基づいて、参照ピクチャー・リスト、すなわち、リスト0およびリスト1を構築してもよい。現在ピクチャーの参照フレーム・インデックスが、参照フレーム・リスト0および参照フレーム・リスト1の一方または両方に含まれてもよい。ここで、インター予測ユニット210が動き補償プロセスを実行することが理解されるべきである。下記は、さまざまな新しいインター予測モードにおける参照ブロックの動き情報を用いて、現在ピクチャー・ブロックまたは現在ピクチャー・ブロックのサブブロックの動き情報を予測するインター予測プロセスについて詳細に説明する。下記は、本願におけるアフィンモード（たとえば、アフィン変換に基づく先進動きベクトル予測モードまたはアフィン変換に基づくマージ予測モード）において現在ピクチャー・ブロックにおける一つまたは複数のサブブロック（具体的には、各サブブロックまたは全サブブロックであってもよい）の動き情報を予測するプロセスについて詳細に説明する。言い換えると、下記は、動きモデル、たとえば、4パラメータ・アフィン・モデルまたは6パラメータ・アフィン・モデルに基づく動きベク���ル予測プロセスを詳細に説明する。
【０１１９】
逆量子化ユニット204は、ビットストリームにおいて提供され、エントロピー・デコード・ユニット203によってデコードされた量子化変換係数に対して逆量子化を実行する、すなわち、量子化解除する。逆量子化プロセスは、ビデオ・スライス内の各ピクチャー・ブロックについてビデオ・エンコーダ100によって計算された量子化パラメータを使用することによって、適用されるべき量子化度を決定し、適用されるべき逆量子化度を同様に決定することを含んでいてもよい。逆変換ユニット205は、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用し、サンプル・ドメインでの残差ブロックを生成する。
【０１２０】
インター予測ユニット210が、現在ピクチャー・ブロックまたは現在ピクチャー・ブロックのサブブロックのために使用される予測ブロックを生成した後、ビデオ・デコーダ200が、逆変換ユニット205からの残差ブロックと、インター予測ユニット210によって生成された対応する予測ブロックとを加算し、再構成されたブロック、すなわちデコードされたピクチャー・ブロックを得る。加算ユニット211は、加算演算を実行するコンポーネントを表わす。必要な場合には、サンプルを平滑化するために（デコード・ループの中または後に）ループ・フィルタ・ユニットがさらに使用されてもよく、または別の仕方でビデオ品質が改善されてもよい。フィルタ・ユニット206は、一つまたは複数のループ・フィルタ・ユニット、たとえば、ブロック解除フィルタ・ユニット、適応ループ・フィルタ（ALF）・ユニット、およびサンプル適応オフセット（SAO）・フィルタ・ユニットを表わしうる。フィルタ・ユニット206は、図2Bではループ内フィルタ・ユニットとして示されているが、別の実装では、フィルタ・ユニット206は、ループ後フィルタ・ユニットとして実装されてもよい。一例では、フィルタ・ユニット206は、ブロック歪みを低減するためにブロック再構成に適用可能であり、この結果は、デコードされたビデオストリームとして出力される。加えて、所与のフレームまたはピクチャー内のデコードされたピクチャー・ブロックは、デコード・ピクチャー・バッファ207内にさらに記憶されてもよく、デコード・ピクチャー・バッファ207は、その後の動き補償のために使用される参照ピクチャーを記憶する。デコード・ピクチャー・バッファ207は、記憶ユニットの一部であってもよく、また、表示装置（たとえば、図1Aにおける表示装置220）上でのその後の呈示のために、デコードされたビデオをさらに記憶してもよく、または、そのような記憶ユニットから分離されていてもよい。
【０１２１】
エンコードされたビデオ・ビットストリームをデコードするために、ビデオ・デコーダ200の他の構造的変形が使用されてもよいことが理解されるべきである。たとえば、ビデオ・デコーダ200は、フィルタ・ユニット206による処理なしに出力ビデオストリームを生成してもよい。あるいはまた、いくつかのピクチャー・ブロックまたはピクチャー・フレームについて、ビデオ・デコーダ200のエントロピー・デコード・ユニット203は、デコードを通じて量子化係数を得ない。この場合、逆量子化ユニット204および逆変換ユニット205による処理は要求されない。ループ・フィルタ・ユニットは任意的である。さらに、無損失圧縮については、逆量子化ユニット204および逆変換ユニット205は任意的である。異なる適用シナリオでは、インター予測ユニットおよびイントラ予測ユニットが選択的に有効化されてもよいことが理解されるべきである。この解決策では、インター予測ユニットが有効にされる。
【０１２２】
図5Aは、本願のある実施形態による、現在ピクチャー・ブロック600および参照ブロックの動き情報の例示的概略図である。図5Aに示されるように、WおよびHは、現在ピクチャー・ブロック600の幅および高さならびに現在ピクチャー・ブロック600の共位置co-locatedのブロック（略して共位置ブロック）600'の幅および高さである。現在ピクチャー・ブロック600の参照ブロックは、現在ピクチャー・ブロック600の上の空間的近傍ブロックと、現在ピクチャー・ブロック600の左の空間的近傍ブロックと、共位置ブロック600'の下の空間的近傍ブロックと、共位置ブロック600'の右の空間的近傍ブロックとを含む。共位置ブロック600'は、参照ピクチャー内にあり、現在ピクチャー・ブロック600と同じサイズ、同じ形状、および同じ座標を有するピクチャー・ブロックである。現在ピクチャー・ブロックの下に空間的近傍ブロックと、現在ピクチャー・ブロックの右の空間的近傍ブロックの動き情報は存在せず、これらはエンコードされないことを注意しておくべきである。現在ピクチャー・ブロック600および共位置ブロック600'は、任意のブロック・サイズを有しうることが理解されるべきである。たとえば、現在ピクチャー・ブロック600および共位置ブロック600'は、16×16サンプル、32×32サンプル、32×16サンプル、16×32サンプルなどを含むことができるが、これらに限定されない。上述のように、各ピクチャー・フレームは、エンコードのためにピクチャー・ブロックに分割されてもよい。これらのピクチャー・ブロックは、さらに、より小さなブロックに分割されてもよい。たとえば、現在ピクチャー・ブロック600および共位置ブロック600'は、複数のM×Nサブブロックに分割されてもよい。換言すれば、各サブブロックのサイズは、M×Nサンプルである。さらに、各参照ブロックのサイズもM×Nサンプルであり、すなわち、現在ピクチャー・ブロックのサブブロックのサイズと同じである。図5Aにおける座標は、1  M×Nブロックで測定される。「M×N」および「MかけるN」は、水平寸法および垂直寸法におけるピクチャー・ブロックのサンプル・サイズを指すために交換可能に使用されうる。言い換えると、水平方向にはM個のサンプル、垂直方向にはN個のサンプルがある。ここで、MとNは負でない整数値を表わす。また、ブロックにおいて、水平方向におけるサンプル数と垂直方向におけるサンプル数が必ずしも同じでなくてもよい。たとえば、ここではM＝N＝4である。むろん、現在ピクチャー・ブロックのサブブロックのサイズおよび参照ブロックのサイズは、代替的に、8×8サンプル、8×4サンプル、4×8サンプル、または最小の予測ブロック・サイズであってもよい。また、本願に記載されるピクチャー・ブロックは、予測単位（prediction  unit、PU）、符号化単位（coding  unit、CU）、変換単位（transform  unit、TU）などとして理解されうるが、これらに限定されない。種々のビデオ圧縮符号化規格における規定によれば、CUは、一つまたは複数の予測ユニットPUを含んでいてもよく、またはPUのサイズは、CUのサイズと同じである。ピクチャー・ブロックは、固定または可変サイズを有することができ、サイズは、異なるビデオ圧縮符号化規格では変わりうる。加えて、現在ピクチャー・ブロックは、現在のエンコードされるべきまたはデコードされるべきピクチャー・ブロック、たとえば、エンコードされるべきまたはデコードされるべき予測単位である。
【０１２３】
一例では、現在ピクチャー・ブロック600の左の各空間的近傍ブロックが利用可能であるかどうかは、方向1に沿って逐次的に決定されてもよく、現在ピクチャー・ブロック600の上の各空間的近傍ブロックが利用可能であるかどうかは、方向2に沿って逐次的に決定されてもよい。たとえば、近傍ブロック（参照ブロックとも称される。ここで、「近傍ブロック」と「参照ブロック」は交換可能に使用されうる）がインター符号化されているかどうかが判定され、該近傍ブロックが存在し、インター符号化されている場合には該近傍ブロックは利用可能であり、あるいは該近傍ブロックが存在しないまたはイントラ符号化されている場合には該近傍ブロックは利用不能である。近傍ブロックがイントラ符号化されている場合には、別の近傍の参照ブロックの動き情報が近傍ブロックの動き情報としてコピーされる。共位置ブロック600'の下の空間的近傍ブロックおよび共位置ブロック600'の右の空間的近傍ブロックが利用可能であるかどうかは、同様の方法を使用することによって検出され、詳細はここには記載されない。
【０１２４】
また、利用可能な参照ブロックのサイズと現在ピクチャー・ブロックのサブブロックのサイズとが4×4である場合、利用可能な参照ブロックの動き情報を直接取ってくることができる。利用可能な参照ブロックのサイズが、たとえば、8×4または8×8である場合、利用可能な参照ブロックの中心の4×4ブロックの動き情報を取ってきて、利用可能な参照ブロックの動き情報として使用してもよい。参照ブロックの左上の頂点に対する、中心の4×4ブロックの左上の頂点の座標は((W/4)/2×4,(H/4)/2×4)である。ここでの除算演算は、厳密な除算演算である。M＝8かつN＝4である場合、参照ブロックの左上の頂点に対する、中心の4×4ブロックの左上の頂点の座標は(4,0)である。任意的に、参照ブロックの左上4×4ブロックの動き情報を代わりに取ってきて、利用可能な参照ブロックの動き情報として使用してもよい。ただし、本願はこれに限定されるものではない。
【０１２５】
記述の容易のため、下記は、説明のために、M×Nサブブロックを表わすサブブロックを使用し、近傍のM×Nブロックを表わす近傍ブロックを使用する。
【０１２６】
インター予測は本願の実施形態において重要なステップである。デコーダ側の観点からは、インター予測は、現在ピクチャー内の現在符号化ブロックについてのマッチする参照ブロックを求めて、再構成されたピクチャーを探索することである。図5Bに示されるように、参照ブロック（たとえば、参照ブロックFr1または参照ブロックFr2）内のサンプルのサンプル値は、現在符号化ブロックFc内のサンプルのサンプル値の予測された情報として、または予測された値（「情報」および「値」は以下で区別されない）として使用される。このプロセスは、動き推定MEと呼ばれる。また、現在符号化ブロックの動き情報が伝送される。デコーダ側の観点からは、インター予測の間にパースを通じて動き情報が得られる必要があり、得られた動き情報に基づいて、再構成されたピクチャー内で参照ブロックが決定され、該ブロック内のサンプルのサンプル値が予測された情報として使用される。このプロセスは動き補償MCと呼ばれる。再構成された情報は、予測された情報と残差情報とを組み合わせ、組み合わされた情報に対してフィルタリング操作を実行することによって得られる。本願におけるアイデアは、HEVCにおいて使用されてもよく、または別のビデオ符号化／デコード標準において使用されてもよい。下記は、このアイデアがHEVCにおいて使用される例を用いて、エンコーダ側でのインター予測モードの可能な場合を説明する。デコーダ側でのインター予測モードの可能な場合は同様であり、よって、追加の記述は提供されない。
【０１２７】
HEVCでは、先進動きベクトル予測（Advanced  Motion  Vector  Prediction、AMVP）モードとマージ（Merge）・モードがある。下記は、これら2つのモードについて別個に説明する。
【０１２８】
AMVPモードでは、現在符号化ブロックに空間的または時間的に近傍であるエンコードされたブロックの動き情報を用いてアフィン候補動きベクトル・リストがまず構築され、次いで、アフィン候補動きベクトル・リストから、最適な動きベクトルが、現在符号化ブロックの動きベクトル予測子（Motion  vector  predictor、MVP）として決定される。レート‐歪みコストは、式(0-1)を用いて計算される。ここで、Jはレート‐歪みコストRDコストであり、SADは予測されたサンプル値と、候補動きベクトル予測子を用いて実行された動き推定を通じて得られたもとのサンプル値との間の差分絶対値和（Sum  of  Absolute  Differences、SAD）であり、Rはビットレートであり、λはラグランジュ乗数である。エンコーダ側は、デコーダ側に、アフィン候補動きベクトル・リスト内の選択された動きベクトル予測子のインデックス値と、参照フレーム・インデックス値とを転送する。さらに、現在符号化ブロックの実際の動きベクトルを得るために、MVPを中心として近傍ドメインにおいて動き探索が実行される。エンコーダ側は、MVPと実際の動きベクトルとの間の差（Motion  vector  difference［動きベクトル差分］）をデコーダ側に転送する。
J＝SAD＋λR        (0-1)
【０１２９】
マージ・モードでは、現在符号化ブロックに空間的または時間的に近傍であるエンコードされたブロックの動き情報を用いて候補動き情報リストがまず構築され、次いで、レート‐歪みコストに基づいて候補動き情報リストから最適な動き情報が決定され、現在符号化ブロックの動き情報として使用され、候補動き情報リスト内の最適な動き情報の位置のインデックス値（マージ・インデックスと記される。以下同じ）がデコーダ側に転送される。現在符号化ブロックの空間的および時間的な候補動き情報が図5Cに示されている。空間的候補動き情報は、5つの空間的近傍ブロック（A0,A1,B0,B1,B2）からくる。近傍ブロックが利用不能である、またはイントラ符号化モードである場合は、該近傍ブロックは候補動き情報リストに追加されない。現在符号化ブロックの時間的な候補動き情報は、参照フレーム内の対応する位置におけるブロックのMVが、参照フレームと現在のフレームのピクチャー順カウント（Picture  order  count、POC）に基づいてスケーリングされた後に得られる。参照フレーム内の位置Tにおけるブロックが利用可能であるかどうかがまず判定される。そのブロックが利用可能でない場合は、位置Cのブロックが選択される。
【０１３０】
HEVCにおけるインター予測では、現在符号化ブロック内のすべてのサンプルが同じ動き情報を使用し、次いで、該動き情報に基づいて動き補償が実行されて、符号化ブロックのサンプルの予測子が得られる。しかしながら、現在符号化ブロックでは、すべてのサンプルが同じ運動特性を有するわけではない。同じ動き情報を使用することは、不正確な動き補償予測およびより多くの残差情報につながる可能性がある。
【０１３１】
既存のビデオ符号化標準では、並進動きモデルに基づくブロック・マッチング動き推定が使用され、ブロック内の全サンプルの動きが一貫していると想定される。しかしながら、現実世界では、多様な動きがある。多くのオブジェクト、たとえば、回転するオブジェクト、種々の方向に回転するジェットコースター、花火、および映画におけるいくつかのスタントは、並進運動ではない。特にUGCシナリオにおけるこれらの動くオブジェクトについて、既存の符号化標準における並進動きモデルに基づくブロック動き補償技術が符号化に使用されると、符号化効率が大きく影響される。よって、非並進動きモデルに関する研究が産業界において、また華為によって行なわれてきた。特に、符号化効率をさらに改善するために、アフィン変換に基づく動きモデルに関して、深い研究が行なわれてきた。
【０１３２】
非並進動きモデルに基づく予測では、現在符号化ブロック内の各サブ動き補償単位の動き情報を推定するために、エンコーダ側とデコーダ側で同じ動きモデルが使用され、該サブ動き補償単位の動き情報に基づいて動き補償が実行されて予測ブロックが得られ、それにより予測効率を改善する。一般的に使用される動きモデルは、6パラメータ・アフィン・モデルおよび4パラメータ・アフィン変換モデルを含む。
【０１３３】
4パラメータ・アフィン変換モデルは式(0-2)として示される：
【数１】
2021524708.tif 000003
【０１３４】
4パラメータ・アフィン変換モデルは、2つのサンプルの動きベクトルおよび現在符号化ブロックの左上サンプルに対するそれらのサンプルの座標によって表現されうる。動きモデル・パラメータを表現するために使用されるサンプルは、制御点として記される。左上の頂点(0,0)のサンプルと右上の頂点(W,0)のサンプルが制御点として使用される場合、現在符号化ブロックの左上の制御点の位置座標(x0,y0)および動きベクトル(vx0,vy0)ならびに現在符号化ブロックの右上の制御点の位置座標(x1,y1)および動きベクトル(vx1,vy1)がまず決定され、次いで、現在符号化ブロック内の各サブ動き補償単位の動き情報が式(0-3)に従って導出される。ここで、(x,y)は現在符号化ブロックの左上のサンプルに対するサブ動き補償単位の座標であり、Wは現在符号化ブロックの幅である。
【数２】
2021524708.tif 000004
【０１３５】
6パラメータ・アフィン変換モデルは式(0-4)として示される。
【数３】
2021524708.tif 000005
【０１３６】
6パラメータ・アフィン変換モデルは、3つのサンプルの動きベクトルおよび現在符号化ブロックの左上サンプルに対するそれらのサンプルの座標によって表現されうる。左上の頂点(0,0)のサンプル、右上の頂点(W,0)のサンプルおよび左下の頂点(0,H)のサンプルが制御点として使用される場合、現在符号化ブロックの左上の制御点の位置座標(x0,y0)および動きベクトル(vx0,vy0)、現在符号化ブロックの右上の制御点の位置座標(x1,y1)および動きベクトル(vx1,vy1)ならびに現在符号化ブロックの左下の制御点の位置座標(x2,y2)および動きベクトル(vx2,vy2)がまず決定され、次いで、現在符号化ブロック内の各サブ動き補償単位の動き情報が式(0-5)に従って導出される。ここで、(x,y)は現在符号化ブロックの左上のサンプルに対するサブ動き補償単位の座標であり、WおよびHはそれぞれ現在符号化ブロックの幅および高さである。
【数４】
2021524708.tif 000006
【０１３７】
8パラメータ双線形モデルは式(0-6)として示される。
【数５】
2021524708.tif 000007
【０１３８】
8パラメータ双線形モデルは、4つのサンプルの動きベクトルおよび現在符号化ブロックの左上サンプルに対するそれらのサンプルの座標によって表現されうる。左上の頂点(0,0)のサンプル、右上の頂点(W,0)のサンプル、左下の頂点(0,H)のサンプルおよび右下の頂点(W,H)のサンプルが制御点として使用される場合、現在符号化ブロックの左上の制御点の位置座標(x0,y0)および動きベクトル(vx0,vy0)、現在符号化ブロックの右上の制御点の位置座標(x1,y1)および動きベクトル(vx1,vy1)、現在符号化ブロックの左下の制御点の位置座標(x2,y2)および動きベクトル(vx2,vy2)、ならびに現在符号化ブロックの右下の制御点の位置座標(x3,y3)および動きベクトル(vx3,vy3)がまず決定され、次いで、現在符号化ブロック内の各サブ動き補償単位の動き情報が式(0-7)に従って導出される。ここで、(x,y)は現在符号化ブロックの左上のサンプルに対するサブ動き補償単位の座標であり、WおよびHはそれぞれ現在符号化ブロックの幅および高さである。
【数６】
2021524708.tif 000008
【０１３９】
非並進動きモデルを用いて予測される符号化ブロックは、非並進符号化ブロックと呼ばれる。
【０１４０】
通例、非並進符号化ブロックの制御点の動き情報は、アフィン変換に基づく先進動きベクトル予測（Advanced  Motion  Vector  Prediction、AMVP）モードまたはアフィン変換に基づくマージ（Merge）・モードを使用することによって得られてもよい。
【０１４１】
下記は、4パラメータ・アフィン変換モデルにおける2つの制御点の動き情報を例として用いて、エンコーダ側の視点とデコーダ側の視点から別個に、現在符号化ブロックまたは現在符号化ブロックの制御点の動きベクトルをどのようにして得るかを記述する。
【０１４２】
（1）候補動きベクトル2-タプルを構築する。
【０１４３】
現在符号化ブロックの左上の制御点および右上の制御点の動きベクトルは、現在符号化ブロックの近傍のエンコードされたブロックの動き情報に基づいて決定される。図7Bに示されるように、左上の近傍のエンコードされたブロックA、B、Cの動きベクトルは、現在符号化ブロックの左上の制御点の動きベクトルについての候補動きベクトルとして使用され、右上の近傍のエンコードされたブロックD、Eの動きベクトルは、現在符号化ブロックの右上の制御点の動きベクトルについての候補動きベクトルとして使用される。左上の制御点の候補動きベクトルと右上の制御点の候補動きベクトルが組み合わされて、それら2つの制御点の候補動きベクトル2-タプル待ち行列を構成する。
【数７】
2021524708.tif 000009
【０１４４】
ここでv0は、左上の制御点の候補動きベクトルを表わし、v1は右上の制御点の候補動きベクトルを表わす。待ち行列における2-タプルの位置はインデックス化され、インデックス値は順に0、1、2、3、4、5である。
【０１４５】
任意的に、候補動きベクトル2-タプル待ち行列は、特定の規則に従って剪定され、ソートされ、特定の量になるよう切り詰められ、またはパディングされてもよい。
【０１４６】
（2）最適な候補動きベクトル2-タプルを決定する。
【０１４７】
エンコーダ側では、現在符号化ブロック内の各サブ動き補償単位（サンプルまたは特定の方法に従った分割を通じて得られるN1×N2のサンプル・ブロック）の動きベクトルが、式(3)に従った各候補動きベクトル2-タプルに基づいて得られる。それにより、各サブ動き補償単位の動きベクトルがポイントする、参照フレーム内の位置でのサンプル値が得られる。このサンプル値は、アフィン変換に基づく動き補償を実行するための予測子として使用される。現在符号化ブロック内のすべてのサンプルのもとの値と予測子との間の差の平均が計算され、最小差平均に対応する候補動きベクトル2-タプルにおける動きベクトルが、現在符号化ブロック内の2つの制御点の動きベクトル予測子として選択される。候補動きベクトル2-タプル待ち行列内の2-タプルの位置を表わすインデックスがビットストリーム中にエンコードされ、デコーダに送られる。
【０１４８】
デコーダ側では、2つの制御点の動きベクトル予測子を得るために該インデックスがパースされる。
【０１４９】
（3）制御点の動きベクトルを決定する。
【０１５０】
エンコーダ側では、2つの制御点の動きベクトル予測子が、2つの制御点の動きベクトルを得るために、特定の探索範囲内の動き探索を実行するための開始探索点として使用される。2つの制御点の動きベクトルと動きベクトル予測子の間の差は、デコーダ側に送信される。
【０１５１】
デコーダ側では、2つの制御点の動きベクトル差分がパースされ、動きベクトル予測子に加えられて、制御点の動きベクトルが得られる。
【０１５２】
現在主流の動きモデルに基づく動きベクトル予測方法は：図7AにおけるA、B、C、D、Eの順に現在符号化ブロックの近傍ブロックをたどり（図5Dに示されるように、近傍ブロックA、B、C、D、Eは、現在符号化ブロックが位置するCTU  502のまわりに分布している）、アフィン符号化ブロックを見つけて、該アフィン符号化ブロックの制御点の動きベクトルを取得し、該アフィン符号化ブロックの制御点の位置座標および動きベクトルに基づいて動きモデルを構築し、次いで、現在符号化ブロックの制御点の位置座標を動きモデルに代入して、現在ブロックの制御点の動きベクトル予測子を推定することを含むことに注意しておくべきである。具体的には、ここでは、アフィン符号化ブロックの左上の制御点および右上の制御点が、動きモデルを構成するために使用される（時に、左下の制御点に関する情報がさらに使用される）。図5Dが例として使用される。近傍ブロックEが近傍アフィン符号化ブロックである場合、近傍ブロックEの左上の制御点の位置座標および動きベクトル
【数８】
2021524708.tif 000010
と、近傍ブロックEの右上の制御点の位置座標および動きベクトル
【数９】
2021524708.tif 000011
と、近傍ブロックEの左下の制御点の位置座標および動きベクトル
【数１０】
2021524708.tif 000012
とを用いてアフィン・モデルが構築される。近傍ブロックBが近傍アフィン符号化ブロックである場合、近傍ブロックBの左上の制御点の位置座標および動きベクトル
【数１１】
2021524708.tif 000013
と、近傍ブロックBの右上の制御点の位置座標および動きベクトル
【数１２】
2021524708.tif 000014
と、近傍ブロックBの左下の制御点の位置座標および動きベクトル
【数１３】
2021524708.tif 000015
とを用いてアフィン・モデルが構築される。ただし、動きベクトル予測プロセスにおいて用いられる近傍アフィン符号化ブロックの左上の制御点、右上の制御点、および左下の制御点の位置座標および動きベクトルが全部、メモリからリアルタイムで読み取られる必要があり、これはメモリ読み取り圧力を増加させる。本願の実施形態では、現在符号化ブロックが位置するCTU  502の上の境界501上の制御点に関する情報（位置座標および動きベクトル）がメモリから読み込み済みであるという特徴を参照して、メモリ読み取り圧力を軽減するために、アフィン・モデルを構築するために近傍アフィン符号化ブロックの制御点に関する情報をどのように選択するかが記載される。下記は、エンコーダ側の視点とデコーダ側の視点からの記述を別個に与える。
【０１５３】
図6は、本願のある実施形態によるエンコード方法のプロセス700のフローチャートである。プロセス700は、ビデオ・エンコーダ100によって実行されてもよく、具体的には、ビデオ・エンコーダ100のインター予測ユニット（インター予測子とも称される）110およびエントロピー・エンコード・ユニット（エントロピー・エンコーダとも称される）103によって実行されてもよい。プロセス700は、一連のステップまたは動作として記述される。プロセス700のステップまたは動作は、さまざまなシーケンスでおよび／または同時に実行されてもよく、図6に示される実行シーケンスに限定されないことが理解されるべきである。複数のビデオ・フレームを含むビデオ・データ・ストリームは、ビデオ・エンコーダを使用していると想定される。第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上の符号化ツリー単位（Coding  Tree  Unit、CTU）内に位置する場合、候補動きベクトル予測子のグループは、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点に基づいて決定される。図6に示されるプロセスに対応して、関連する説明は以下のとおりである。
【０１５４】
ステップS700：ビデオ・エンコーダが、現在符号化ブロックについてのインター予測モードを決定する。
【０１５５】
具体的には、インター予測モードは、先進動きベクトル予測（Advanced  Motion  Vector  Prediction、AMVP）モードであってもよく、またはマージ（merge）・モードであってもよい。
【０１５６】
現在符号化ブロックについての決定されたインター予測モードがAMVPモードである場合は、ステップS711〜S713が実行される。
【０１５７】
現在符号化ブロックについての決定されたインター予測モードがマージ・モードである場合は、ステップS721〜S723が実行される。
【０１５８】
AMVPモード：
【０１５９】
ステップS711：ビデオ・エンコーダが、候補動きベクトル予測子MVPリストを構築する。
【０１６０】
具体的には、ビデオ・エンコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動きベクトル予測子MVPリスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動きベクトル予測子MVPリストは、トリプレット候補動きベクトル予測子MVPリストまたは2-タプル候補動きベクトル予測子MVPリストでありうる。2つの態様は具体的には次のとおり。
【０１６１】
態様1：候補動きベクトル予測子MVPリストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０１６２】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０１６３】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて現在符号化ブロックの制御点の動きベクトルを予測する態様は、現在符号化ブロックのパラメータ・モデルによって変わる。よって、下記は、異なる場合について記述を与える。
【０１６４】
A:  現在符号化ブロックのパラメータ・モデルは、4パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０１６５】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にある符号化ツリー単位（Coding  Tree  Unit、CTU）内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０１６６】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルおよび位置座標に基づいて形成される。
【０１６７】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(1)および(2)に示される。
【数１４】
2021524708.tif 000016
【０１６８】
式(1)および(2)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルである。
【０１６９】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)と、右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいて、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標と右下の制御点の位置座標は両方とも、メモリから読まれるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、エンコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶されて、必要なときに使用のためにメモリから読み出されてもよい。
【０１７０】
この場合、式(1)および(2)において、(x7−x6)はcuWと等しく、(vx7,vy7)は、ピクチャー中の位置(x4＋cuW−1,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよく、(vx6,vy6)は、ピクチャー中の位置(x4,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよい。
【０１７１】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTUに位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書では限定されない。具体的には、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。
【０１７２】
B:  現在符号化ブロックのパラメータ・モデルは、6パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０１７３】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０１７４】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルに基づいて形成される。
【０１７５】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(1)、(2)、および(3)に示される。
【数１５】
2021524708.tif 000017
【０１７６】
式(1)および(2)は上記に記載されている。式(1)、(2)、および(3)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０１７７】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTUに位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書では限定されない。具体的には、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。
【０１７８】
態様2：候補動きベクトル予測子MVPリストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０１７９】
候補動きベクトル予測子MVPリストを構築する態様は、現在符号化ブロックのパラメータ・モデルによって変わる。詳細は下記に記載される。
【０１８０】
A:  現在符号化ブロックのパラメータ・モデルは、4パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０１８１】
現在符号化ブロックの左上の頂点および右上の頂点の動きベクトルが、現在符号化ブロックの近傍のエンコードされたブロックの動き情報に基づいて推定される。図7Bに示されるように、まず、左上の頂点の近傍のエンコードされたブロックAおよび／またはBおよび／またはCの動きベクトルが、現在符号化ブロックの左上の頂点の動きベクトルのための候補動きベクトルとして使用され、右上の頂点の近傍のエンコードされたブロックDおよび／またはEの動きベクトルが、現在符号化ブロックの右上の頂点の動きベクトルのための候補動きベクトルとして使用される。左上の頂点の候補動きベクトルと右上の頂点の候補動きベクトルが組み合わされて、候補動きベクトル予測子のグループが得られてもよい。この態様における組み合わせを通じて得られた複数のレコードは、候補動きベクトル予測子MVPリストを構成してもよい。
【０１８２】
B：現在符号化ブロックのパラメータ・モデルは、6パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０１８３】
現在符号化ブロックの左上の頂点および右上の頂点の動きベクトルが、現在符号化ブロックの近傍のエンコードされたブロックの動き情報に基づいて推定される。図7Bに示されるように、まず、左上の頂点の近傍のエンコードされたブロックAおよび／またはBおよび／またはCの動きベクトルが、現在符号化ブロックの左上の頂点の動きベクトルのための候補動きベクトルとして使用され、右上の頂点の近傍のエンコードされたブロックDおよび／またはEの動きベクトルが、現在符号化ブロックの右上の頂点の動きベクトルのための候補動きベクトルとして使用され、右上の頂点の近傍のエンコードされたブロックFおよび／またはGの動きベクトルが、現在符号化ブロックの右上の頂点の動きベクトルのための候補動きベクトルとして使用される。左上の頂点の候補動きベクトル、右上の頂点の候補動きベクトル、および左下の頂点の候補動きベクトルが組み合わされて、候補動きベクトル予測子のグループが得られてもよい。この態様における組み合わせを通じて得られた候補動きベクトル予測子の複数のグループは、候補動きベクトル予測子MVPリストを構成してもよい。
【０１８４】
候補動きベクトル予測子MVPリストは、態様1で予測される候補動きベクトル予測子のみを用いて構築されてもよく、あるいは候補動きベクトル予測子MVPリストは、態様2で予測される候補動きベクトル予測子のみを用いて構築されてもよく、あるいは候補動きベクトル予測子MVPリストは、態様1で予測される候補動きベクトル予測子と態様2で予測される候補動きベクトル予測子の両方を用いて構築されてもよいことを注意しておくべきである。加えて、候補動きベクトル予測子MVPリストは、事前に構成された規則に従ってさらに剪定され、ソートされ、次いで、特定の量になるよう切り詰められ、またはパディングされてもよい。候補動きベクトル予測子MVPリスト内の候補動きベクトル予測子の各グループが3つの制御点の動きベクトル予測子を含む場合、この候補動きベクトル予測子MVPリストは、トリプレット・リストと称されてもよく；または、候補動きベクトル予測子MVPリスト内の候補動きベクトル予測子の各グループが2つの制御点の動きベクトル予測子を含む場合、この候補動きベクトル予測子MVPリストは、2-タプル・リストと称されてもよい。
【０１８５】
ステップS712：ビデオ・エンコーダは、レート‐歪みコスト基準に従って、候補動きベクトル予測子MVPリスト内のターゲット候補動きベクトル・グループを決定する。具体的には、候補動きベクトル予測子MVPリスト内の各候補動きベクトル・グループについて、現在ブロックの各サブブロックの動きベクトルが計算を通じて得られ、現在ブロックの予測子を得るよう、各サブブロックの予測子を得るために動き補償が実行される。予測子ともとの値との間の最小誤差をもつ候補動きベクトル・グループが、最適な動きベクトル予測子のグループ、すなわちターゲット候補動きベクトル・グループとして選択される。さらに、決定されたターゲット候補動きベクトル・グループは、制御点のグループの最適な候補動きベクトル予測子として使用され、ターゲット候補動きベクトル・グループは、候補動きベクトル予測子MVPリスト内の一意的なインデックス番号に対応する。
【０１８６】
ステップS713：ビデオ・エンコーダは、動きベクトル差分MVDと、ターゲット候補動きベクトルに対応するインデックスとを、送信されるべきビットストリーム中にエンコードする。
【０１８７】
具体的には、ビデオ・エンコーダは、ターゲット候補動きベクトル・グループを開始探索点として使用することによって、レート‐歪みコスト基準に従って、事前設定された探索範囲内で、制御点のグループであり、最もコストが低い動きベクトルをさらにサーチし、次にターゲット候補動きベクトル・グループと制御点のグループの動きベクトルとの間の動きベクトル差分MVDを決定することができる。たとえば、制御点の第1のグループが第1の制御点および第2の制御点を含む場合には、第1の制御点の動きベクトルと、制御点のグループ内の第1の制御点のターゲット候補動きベクトル・グループによって表される動きベクトル予測子との間の動きベクトル差分MVDを決定し、第2の制御点の動きベクトルと、制御点のグループ内の第2の制御点のターゲット候補の動きベクトル・グループによって表される動きベクトル予測子との間の動きベクトル差分MVDを決定する必要がある。
【０１８８】
任意的に、上記のステップS711〜S713に加えて、AMVPモードではステップS714およびS715がさらに実行されてもよい。
【０１８９】
ステップS714：ビデオ・エンコーダは、アフィン変換モデルを用いて、現在符号化ブロックの制御点の決定された動きベクトルに基づいて、現在符号化ブロックの各サブブロックの動きベクトルを取得する。
【０１９０】
具体的には、ターゲット候補動きベクトル・グループとMVDに基づいて得られた新しい候補動きベクトル・グループは、2つの制御点（左上の制御点と右上の制御点）または3つの制御点（たとえば左上の制御点、右上の制御点、左下の制御点）の動きベクトルを含む。現在符号化ブロックの各サブブロック（1つのサブブロックは、1つの動き補償単位と等価であってもよい）について、動き補償単位内の事前設定された位置におけるサンプルの動き情報が、動き補償単位内のすべてのサンプルの動き情報を表現するために使用されてもよい。動き補償単位のサイズがM×Nである（Mは現在符号化ブロックの幅W以下であり、Nは現在符号化ブロックの高さH以下であり、M、N、W、Hはそれぞれ正の整数であり、通例2の冪乗、たとえば4、8、16、32、64、または128である）場合、事前設定された位置におけるサンプルは、動き補償単位の中心点(M/2,N/2)、左上のサンプル(0,0)、右上のサンプル(M−1,0)、または他の位置のサンプルであってもよい。図8Aは、4×4の動き補償単位を示し、図8Bは、8×8の動き補償単位を示す。対応する動き補償単位の中心点は、三角形で表わされている。
【０１９１】
現在符号化ブロックの左上の頂点におけるサンプルに対する動き補償単位の中心点の座標は、式(5)に従って計算される。ここで、iは水平方向において（左から右へ）i番目の動き補償単位であり、jは垂直方向において（上から下へ）j番目の動き補償単位であり、(x(i,j),y(i,j))は現在符号化ブロックの左上の制御点におけるサンプルに対する(i,j)番目の動き補償単位の中心点の座標を表わす。そして、現在符号化ブロックのアフィン・モデル・タイプ（6パラメータまたは4パラメータ）に基づき、(x(i,j),y(i,j))は6パラメータ・アフィン・モデルの式(6-1)に代入されるか、または(x(i,j),y(i,j))は4パラメータ・アフィン・モデルの式(6-2)に代入され、各動き補償単位の中心点の動き情報を得て、該動き情報は、この動き補償単位におけるすべてのサンプルの動きベクトル(vx(i,j),vy(i,j))として使用される。
【数１６】
2021524708.tif 000018
【０１９２】
任意的に、現在符号化ブロックが6パラメータ符号化ブロックであり、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルがターゲット候補動きベクトル・グループに基づいて得られる場合、現在符号化ブロックの下の境界が、現在符号化ブロックが位置するCTUの下の境界と重なっていれば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)と、3つの制御点を用いて構築された6パラメータ・アフィン・モデルとに基づく計算を通じて得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)と、3つの制御点を用いて構築された6パラメータ・アフィン・モデルとに基づく計算を通じて得られる。たとえば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)を6パラメータ・アフィン・モデルに代入する（計算のために、左下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)を6パラメータ・アフィン・モデルに代入する（計算のために、右下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られる。このようにして、現在符号化ブロックの左下の制御点の動きベクトルと右下の制御点の動きベクトルが使用される（たとえば、現在ブロックの左下の制御点と右下の制御点の動きベクトルに基づいて、その後、他のブロックの候補動きベクトル予測子MVPリストが構築される）場合、推定値ではなく正確な値が用いられる。Wは現在符号化ブロックの幅であり、Hは現在符号化ブロックの高さである。
【０１９３】
任意的に、現在符号化ブロックが4パラメータ符号化ブロックであり、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルがターゲット候補動きベクトル・グループに基づいて得られる場合、現在符号化ブロックの下の境界が、現在符号化ブロックが位置するCTUの下の境界と重なっていれば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)と、2つの制御点を用いて構築された4パラメータ・アフィン・モデルとに基づく計算を通じて得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)と、2つの制御点を用いて構築された4パラメータ・アフィン・モデルとに基づく計算を通じて得られる。たとえば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)を4パラメータ・アフィン・モデルに代入する（計算のために、左下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)を4パラメータ・アフィン・モデルに代入する（計算のために、右下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られる。このようにして、現在符号化ブロックの左下の制御点の動きベクトルと右下の制御点の動きベクトルが使用される（たとえば、現在ブロックの左下の制御点と右下の制御点の動きベクトルに基づいて、その後、他のブロックの候補動きベクトル予測子MVPリストが構築される）場合、推定値ではなく正確な値が用いられる。Wは現在符号化ブロックの幅であり、Hは現在符号化ブロックの高さである。
【０１９４】
ステップS715:ビデオ・エンコーダは、現在符号化ブロックの各サブブロックの動きベクトルに基づいて動き補償を実行して、各サブブロックの予測されるサンプル値を得る。たとえば、各サブブロックの動きベクトルおよび参照フレーム・インデックスに基づいて対応するサブブロックが参照フレーム内に見出され、補間フィルタリングが実行されて、各サブブロックの予測されたサンプル値が得られる。
【０１９５】
マージ・モード：
【０１９６】
ステップS721：ビデオ・エンコーダは、候補動き情報リストを構築する。
【０１９７】
具体的には、ビデオ・エンコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動き情報リスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動き情報リストは、トリプレット候補動き情報リストである。2つの態様は具体的には次のとおり。
【０１９８】
態様1：候補動き情報リストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０１９９】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０２００】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。詳細は次のとおり。
【０２０１】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０２０２】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルに基づいて形成される。
【０２０３】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル・トリプレットが形成され、候補動き情報リストに加えられる。詳細は、式(1)、(2)、および(3)に示される。
【０２０４】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル2-タプルが形成され、候補動き情報リストに加えられる。詳細は、式(1)および(2)に示される。
【０２０５】
式(1)、(2)、および(3)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０２０６】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTUに位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書では限定されない。具体的には、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。
【０２０７】
態様2：候補動き情報リストは、制御点組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０２０８】
下記は、解決策Aと解決策Bとして記される2つの解決策を挙げる。
【０２０９】
解決策A：現在符号化ブロックの2つの制御点の動き情報が組み合わされて、4パラメータ・アフィン変換モデルを構築する。2つの制御点は、{CP1,CP4}、{CP2,CP3}、{CP1,CP2}、{CP2,CP4}、{CP1,CP3}、または{CP3,CP4}のように組み合わされる。たとえば、制御点CP1およびCP2を使用して構築された4パラメータ・アフィン変換モデルは、Affine(CP1,CP2)として記される。
【０２１０】
異なる制御点の組み合わせが、同じ位置の諸制御点に変換されることがあることに注意しておくべきである。たとえば、{CP1,CP4}、{CP2,CP3}、{CP2,CP4}、{CP1,CP3}、または{CP3,CP4}の組み合わせに基づいて得られた4パラメータ・アフィン変換モデルが、制御点{CP1,CP2}または{CP1,CP2,CP3}によって表現されるように変換される。変換方法は次のとおり：ある制御点の動きベクトルおよび座標情報が式(7)に代入されて、モデル・パラメータが得られる。次いで、{CP1,CP2}の配位情報が該式に代入され、{CP1,CP2}の諸動きベクトルが得られる。それらの動きベクトルは、候補動きベクトル予測子のグループとして使用される。
【数１７】
2021524708.tif 000019
【０２１１】
式(7)において、a0、a1、a2、a3はパラメータ・モデルにおけるすべてのパラメータであり、(x,y)は位置座標を表わす。
【０２１２】
より直接的には、この変換は、左上の制御点および右上の制御点によって表わされる動きベクトル予測子のグループを得るために下記の諸式に従って実行されてもよく、動きベクトル予測子のこのグループが、候補動き情報リストに追加される。
【０２１３】
{CP1,CP2}を{CP1,CP2,CP3}に変換する式(8)は、次のとおり：
【数１８】
2021524708.tif 000020
【０２１４】
{CP1,CP3}を{CP1,CP2,CP3}に変換する式(9)は、次のとおり：
【数１９】
2021524708.tif 000021
【０２１５】
{CP2,CP3}を{CP1,CP2,CP3}に変換する式(10)は、次のとおり：
【数２０】
2021524708.tif 000022
【０２１６】
{CP1,CP4}を{CP1,CP2,CP3}に変換する式(11)は、次のとおり：
【数２１】
2021524708.tif 000023
【０２１７】
{CP2,CP4}を{CP1,CP2,CP3}に変換する式(12)は、次のとおり：
【数２２】
2021524708.tif 000024
【０２１８】
{CP3,CP4}を{CP1,CP2,CP3}に変換する式(13)は、次のとおり：
【数２３】
2021524708.tif 000025
【０２１９】
解決策B：現在符号化ブロックの3つの制御点の動き情報が組み合わされて、6パラメータ・アフィン変換モデルを構築する。3つの制御点は、{CP1,CP2,CP4}、{CP1,CP2,CP3}、{CP2,CP3,CP4}、または{CP1,CP3,CP4}のように組み合わされる。たとえば、制御点CP1、CP2、およびCP3を使用して構築された6パラメータ・アフィン変換モデルは、Affine(CP1,CP2,CP3)として記される。
【０２２０】
異なる制御点の組み合わせが、同じ位置の諸制御点に変換されることがあることに注意しておくべきである。たとえば、{CP1,CP2,CP4}、{CP2,CP3,CP4}、または{CP1,CP3,CP4}の組み合わせに基づいて得られた6パラメータ・アフィン変換モデルが、制御点{CP1,CP2,CP3}によって表現されるように変換される。変換方法は次のとおり：ある制御点の動きベクトルおよび座標情報が式(14)に代入されて、モデル・パラメータが得られる。次いで、{CP1,CP2,CP3}の配位情報が該式に代入され、{CP1,CP2,CP3}の諸動きベクトルが得られる。それらの動きベクトルは、候補動きベクトル予測子のグループとして使用される。
【数２４】
2021524708.tif 000026
【０２２１】
式(14)において、a1、a2、a3、a4、a5、a6は、パラメータ・モデルにおけるパラメータであり、(x,y)は位置座標を表わす。
【０２２２】
より直接的には、この変換は、左上の制御点、右上の制御点、および左下の制御点によって表わされる動きベクトル予測子のグループを得るために下記の諸式に従って実行されてもよく、動きベクトル予測子のこのグループが、候補動き情報リストに追加される。
【０２２３】
{CP1,CP2,CP4}を{CP1,CP2,CP3}に変換する式(15)は次のとおり：
【数２５】
2021524708.tif 000027
【０２２４】
{CP2,CP3,CP4}を{CP1,CP2,CP3}に変換する式(16)は次のとおり：
【数２６】
2021524708.tif 000028
【０２２５】
{CP1,CP3,CP4}を{CP1,CP2,CP3}に変換する式(17)は次のとおり：
【数２７】
2021524708.tif 000029
【０２２６】
候補動き情報リストは、態様1で予測された候補動きベクトル予測子のみを使用して構築されてもよく、あるいは候補動き情報リストは、態様2で予測された候補動きベクトル予測子のみを使用して構築されてもよく、あるいは候補動き情報リストは、態様1で予測された候補動きベクトル予測子と態様2で予測された候補動きベクトル予測子の両方を使用して構築されてもよいことに注意しておくべきである。さらに、候補動き情報リストは、事前に構成された規則に従ってさらに剪定され、ソートされ、次いで、特定の数になるよう切り詰められ、またはパディングされてもよい。候補動き情報リスト内の候補動きベクトル予測子の各グループが3つの制御点の動きベクトル予測子を含む場合、この候補動き情報リストは、トリプレット・リストと称されてもよく；または候補動き情報リスト内の候補動きベクトル予測子の各グループが2つの制御点の動きベクトル予測子を含む場合、この候補動き情報リストは、2-タプル・リストと称されてもよい。
【０２２７】
ステップS722:ビデオ・エンコーダは、レート‐歪みコスト基準に従って、候補動き情報リスト内のターゲット候補動きベクトル・グループを決定する。具体的には、候補動き情報リスト内の各候補動きベクトル・グループについて、現在ブロックの各サブブロックの動きベクトルが計算を通じて得られ、現在ブロックの予測子を得るよう、各サブブロックの予測子を得るために動き補償が実行される。予測子ともとの値との間の最小誤差をもつ候補動きベクトル・グループが、最適な動きベクトル予測子のグループ、すなわちターゲット候補動きベクトル・グループとして選択される。さらに、決定されたターゲット候補動きベクトル・グループは、制御点のグループの最適な候補動きベクトル予測子として使用され、ターゲット候補動きベクトル・グループは、候補動き情報リスト内の一意的なインデックス番号に対応する。
【０２２８】
ステップS723:ビデオ・エンコーダは、ターゲット候補動きベクトル・グループに対応するインデックス、参照フレーム・インデックス、および予測方向に対応するインデックスを、送信されるべきビットストリーム中にエンコードする。
【０２２９】
任意的に、上記のステップS721〜S723に加えて、ステップS724およびS725が、マージ・モードにおいてさらに実行されてもよい。
【０２３０】
ステップS724:ビデオ・エンコーダは、パラメータに基づくアフィン変換モデルを用いて、現在符号化ブロックの制御点の決定された動きベクトルに基づいて、現在符号化ブロックの各サブブロックの動きベクトルを取得する。
【０２３１】
具体的には、ターゲット候補動きベクトル・グループは、2つの制御点（左上の制御点および右上の制御点）または3つの制御点（たとえば左上の制御点、右上の制御点、および左下の制御点）の動きベクトルを含む。現在符号化ブロックの各サブブロック（1つのサブブロックは、1つの動き補償単位と等価であってもよい）について、動き補償単位内の事前設定された位置におけるサンプルの動き情報が、動き補償単位内のすべてのサンプルの動き情報を表現するために使用されてもよい。動き補償単位のサイズがM×Nである（Mは現在符号化ブロックの幅W以下であり、Nは現在符号化ブロックの高さH以下であり、M、N、W、Hはそれぞれ正の整数であり、通例2の冪乗、たとえば4、8、16、32、64、または128である）場合、事前設定された位置におけるサンプルは、動き補償単位の中心点(M/2,N/2)、左上のサンプル(0,0)、右上のサンプル(M−1,0)、または他の位置のサンプルであってもよい。図8Aは、4×4の動き補償単位を示し、図8Bは、8×8の動き補償単位を示す。
【０２３２】
現在符号化ブロックの左上の頂点におけるサンプルに対する動き補償単位の中心点の座標は、式(5)に従って計算される。ここで、iは水平方向において（左から右へ）i番目の動き補償単位であり、jは垂直方向において（上から下へ）j番目の動き補償単位であり、(x(i,j),y(i,j))は現在符号化ブロックの左上の制御点におけるサンプルに対する(i,j)番目の動き補償単位の中心点の座標を表わす。そして、現在符号化ブロックのアフィン・モデル・タイプ（6パラメータまたは4パラメータ）に基づき、(x(i,j),y(i,j))は6パラメータ・アフィン・モデルの式(6-1)に代入されるか、または(x(i,j),y(i,j))は4パラメータ・アフィン・モデルの式(6-2)に代入され、各動き補償単位の中心点の動き情報を得て、該動き情報は、この動き補償単位におけるすべてのサンプルの動きベクトル(vx(i,j),vy(i,j))として使用される。
【０２３３】
任意的に、現在符号化ブロックが6パラメータ符号化ブロックであり、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルがターゲット候補動きベクトル・グループに基づいて得られる場合、現在符号化ブロックの下の境界が、現在符号化ブロックが位置するCTUの下の境界と重なっていれば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)と、3つの制御点を用いて構築された6パラメータ・アフィン・モデルとに基づく計算を通じて得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)と、3つの制御点を用いて構築された6パラメータ・アフィン・モデルとに基づく計算を通じて得られる。たとえば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)を6パラメータ・アフィン・モデルに代入する（計算のために、左下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)を6パラメータ・アフィン・モデルに代入する（計算のために、右下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られる。このようにして、現在符号化ブロックの左下の制御点の動きベクトルと右下の制御点の動きベクトルが使用される（たとえば、現在ブロックの左下の制御点と右下の制御点の動きベクトルに基づいて、その後、他のブロックの候補動き情報リストが構築される）場合、推定値ではなく正確な値が用いられる。Wは現在符号化ブロックの幅であり、Hは現在符号化ブロックの高さである。
【０２３４】
任意的に、現在符号化ブロックが4パラメータ符号化ブロックであり、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルがターゲット候補動きベクトル・グループに基づいて得られる場合、現在符号化ブロックの下の境界が、現在符号化ブロックが位置するCTUの下の境界と重なっていれば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)と、2つの制御点を用いて構築された4パラメータ・アフィン・モデルとに基づく計算を通じて得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)と、2つの制御点を用いて構築された4パラメータ・アフィン・モデルとに基づく計算を通じて得られる。たとえば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)を4パラメータ・アフィン・モデルに代入する（計算のために、左下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)を4パラメータ・アフィン・モデルに代入する（計算のために、右下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られる。このようにして、現在符号化ブロックの左下の制御点の動きベクトルと右下の制御点の動きベクトルが使用される（たとえば、現在ブロックの左下の制御点と右下の制御点の動きベクトルに基づいて、その後、他のブロックの候補動き情報リストが構築される）場合、推定値ではなく正確な値が用いられる。Wは現在符号化ブロックの幅であり、Hは現在符号化ブロックの高さである。
【０２３５】
ステップS725:ビデオ・エンコーダは、現在符号化ブロックの各サブブロックの動きベクトルに基づいて動き補償を実行して、各サブブロックの予測されるサンプル値を得る。具体的には、現在符号化ブロックの予測サンプル値は、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルと、参照フレーム・インデックスおよびインデックスによって示される予測方向とに基づいて予測される。
【０２３６】
第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが、現在符号化ブロックの上に位置する場合、第1の近傍アフィン符号化ブロックの最も下の制御点に関する情報が、メモリから読み込まれていることが理解されうる。したがって、上述の解決策では、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、従来技術において第1の近傍符号化ブロックの左上の制御点、右上の制御点、および左下の制御点を制御点の第1のグループとして固定的に使用する代わりに、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。よって、本願における制御点の第1のグループを決定する方法によれば、メモリから読み出されている情報が、制御点の第1のグループに関する情報（たとえば、位置座標および動きベクトル）として直接再利用でき、それにより、メモリからの読み出し回数を減らし、エンコード性能を改善する。
【０２３７】
エンコーダ側の別の任意的な実施形態では、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上の符号化ツリー単位（Coding  Tree  Unit、CTU）内に位置する場合、候補動きベクトル予測子のグループは、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点に基づいて決定される；または、第1の近傍アフィン符号化ブロックが、現在符号化ブロックの左のCTU内に位置する場合、候補動きベクトル予測子のグループは、第1の近傍アフィン符号化ブロックの右上の制御点および右下の制御点に基づいて決定される。詳細は次のとおり。
【０２３８】
ステップS900：ビデオ・エンコーダは、現在符号化ブロックのインター予測モードを決定する。
【０２３９】
具体的には、インター予測モードは、先進動きベクトル予測（Advanced  Motion  Vector  Prediction、AMVP）モードであってもよく、またはマージ（merge）・モードであってもよい。
【０２４０】
現在符号化ブロックについての決定されたインター予測モードがAMVPモードである場合は、ステップS911〜S913が実行される。
【０２４１】
現在符号化ブロックについての決定されたインター予測モードがマージ・モードである場合は、ステップS921〜S923が実行される。
【０２４２】
AMVPモード：
【０２４３】
ステップS911：ビデオ・エンコーダが、候補動きベクトル予測子MVPリストを構築する。
【０２４４】
具体的には、ビデオ・エンコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動きベクトル予測子MVPリスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動きベクトル予測子MVPリストは、トリプレット候補動きベクトル予測子MVPリストまたは2-タプル候補動きベクトル予測子MVPリストでありうる。2つの態様は具体的には次のとおり。
【０２４５】
態様1：候補動きベクトル予測子MVPリストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０２４６】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０２４７】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて現在符号化ブロックの制御点の動きベクトルを予測する態様は、現在符号化ブロックのパラメータ・モデルによって変わる。よって、下記は、異なる場合について記述を与える。
【０２４８】
A:  現在符号化ブロックのパラメータ・モデルは、4パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０２４９】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にある符号化ツリー単位（Coding  Tree  Unit、CTU）内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０２５０】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルおよび位置座標に基づいて形成される。
【０２５１】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(1)および(2)に示される。
【０２５２】
式(1)および(2)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルである。
【０２５３】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)と、右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいて、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標と右下の制御点の位置座標は両方とも、メモリから読まれるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、エンコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶されて、必要なときに使用のためにメモリから読み出されてもよい。
【０２５４】
この場合、式(1)および(2)において、(x7−x6)はcuWと等しく、(vx7,vy7)は、ピクチャー中の位置(x4＋cuW−1,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよく、(vx6,vy6)は、ピクチャー中の位置(x4,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよい。
【０２５５】
第1の近傍アフィン符号化ブロックが現在符号化ブロックの左の符号化ツリー単位（Coding  Tree  Unit、CTU）内に位置する場合、第1の近傍アフィン符号化ブロックの最も右の2つの制御点の動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの右上の制御点の位置座標(x5,y5)および動きベクトル(vx5,vy5)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０２５６】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）は、第1の近傍アフィン符号化ブロックの2つの最も右の制御点の動きベクトルおよび位置座標に基づいて形成される。
【０２５７】
現在符号化ブロックの制御点の動きベクトルは第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は式(18)および式(19)に示される。
【数２８】
2021524708.tif 000030
【０２５８】
式(18)および(19)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルである。
【０２５９】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTU内に位置しておらず、かつ現在符号化ブロックの左のCTU内に位置していない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書において限定されない。たとえば、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じ、または異なるものでありうる。別の例では、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの左のCTU内に位置する場合に使用される予測態様と同じ、または異なるものでありうる。
【０２６０】
任意的に、候補動きベクトル予測子MVPリストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られる。第2の近傍アフィン符号化ブロックの制御点の第2のグループ内の一つまたは複数の制御点の、第2の近傍アフィン符号化ブロックに対する位置は、第1の近傍アフィン符号化ブロックの制御点の第1のグループ内の一つまたは複数の制御点の、第1の近傍アフィン符号化ブロックに対する位置とは異なる（たとえば、第1の近傍アフィン符号化ブロックの制御点の第1のグループに含まれる制御点は、第1の近傍アフィン符号化ブロックの左下の制御点、右下の制御点、および左上の制御点であるが、第2の近傍アフィン符号化ブロックの制御点の第2のグループに含まれる制御点は、第2の近傍アフィン符号化ブロックの右上の制御点、右下の制御点、および左下の制御点である）。
【０２６１】
B:  現在符号化ブロックのパラメータ・モデルは、6パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０２６２】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０２６３】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルに基づいて形成される。
【０２６４】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(1)、(2)、および(3)に示される。
【０２６５】
式(1)、(2)、および(5)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０２６６】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)と、右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいて、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標と右下の制御点の位置座標は両方とも、メモリから読まれるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、エンコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶されて、必要なときに使用のためにメモリから読み出されてもよい。
【０２６７】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの左にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も右の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの右上の制御点の位置座標(x5,y5)および動きベクトル(vx5,vy5)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０２６８】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルに基づいて形成される。
【０２６９】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(18)、(19)、および(20)に示される。
【数２９】
2021524708.tif 000031
【０２７０】
式(18)、(19)、および(20)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０２７１】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTU内に位置せず、かつ、現在符号化ブロックの左のCTU内に位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書では限定されない。たとえば、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。別の例として、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの左のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。
【０２７２】
任意的に、候補動きベクトル予測子MVPリストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られる。第2の近傍アフィン符号化ブロックの制御点の第2のグループにおける一つまたは複数の制御点の、第2の近傍アフィン符号化ブロックに対する位置は、第1の近傍アフィン符号化ブロックの制御点の第1のグループにおける一つまたは複数の制御点の、第1の近傍アフィン符号化ブロックに対する位置とは異なる（たとえば、第1の近傍アフィン符号化ブロックの制御点の第1のグループに含まれる制御点は、第1の近傍アフィン符号化ブロックの左下の制御点、右下の制御点、および左上の制御点であるが、第2の近傍アフィン符号化ブロックの制御点の第2のグループに含まれる制御点は、第2の近傍アフィン符号化ブロックの右上の制御点、右下の制御点、および左下の制御点である）。
【０２７３】
態様2：候補動きベクトル予測子MVPリストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０２７４】
具体的には、態様2の原理は、ステップS711における態様2の原理と同じである。よって、詳細はここでは再度説明しない。
【０２７５】
ステップS912：ビデオ・エンコーダは、レート‐歪みコスト基準に従って、候補動きベクトル予測子MVPリスト内のターゲット候補動きベクトル・グループを決定する。
【０２７６】
詳細については、ステップS712の説明を参照されたい。詳細は、ここでは再度説明しない。
【０２７７】
ステップS913：ビデオ・エンコーダは、動きベクトル差分MVDと、ターゲット候補動きベクトルに対応するインデックスとを、送信されるべきビットストリーム中にエンコードする。
【０２７８】
詳細については、ステップS713の説明を参照されたい。詳細は、ここでは再度説明しない。
【０２７９】
マージ・モード：
【０２８０】
ステップS921：ビデオ・エンコーダは、候補動き情報リストを構築する。
【０２８１】
具体的には、ビデオ・エンコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動き情報リスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動き情報リストは、トリプレット候補動き情報リストである。2つの態様は具体的には次のとおり。
【０２８２】
態様1：候補動き情報リストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０２８３】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０２８４】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。詳細は次のとおり。
【０２８５】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０２８６】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルに基づいて形成される。
【０２８７】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル・トリプレットが形成され、候補動き情報リストに加えられる。詳細は、式(1)、(2)、および(3)に示される。
【０２８８】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル2-タプルが形成され、候補動き情報リストに加えられる。詳細は、式(1)および(2)に示される。
【０２８９】
式(1)、(2)、および(3)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０２９０】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)と、右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいて、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標と右下の制御点の位置座標は両方とも、メモリから読まれるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、エンコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶されて、必要なときに使用のためにメモリから読み出されてもよい。
【０２９１】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの左にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も右の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの右上の制御点の位置座標(x5,y5)および動きベクトル(vx5,vy5)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０２９２】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルに基づいて形成される。
【０２９３】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル・トリプレットが形成され、候補動き情報リストに加えられる。詳細は、式(18)、(19)、および(20)に示される。
【０２９４】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル2-タプルが形成され、候補動き情報リストに加えられる。詳細は、式(18)および(19)に示される。
【０２９５】
式(18)、(19)、および(20)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０２９６】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTU内に位置せず、かつ、現在符号化ブロックの左のCTU内に位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書では限定されない。たとえば、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。別の例として、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの左のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。
【０２９７】
任意的に、候補動き情報リストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られる。第2の近傍アフィン符号化ブロックの制御点の第2のグループにおける一つまたは複数の制御点の、第2の近傍アフィン符号化ブロックに対する位置は、第1の近傍アフィン符号化ブロックの制御点の第1のグループにおける一つまたは複数の制御点の、第1の近傍アフィン符号化ブロックに対する位置とは異なる（たとえば、第1の近傍アフィン符号化ブロックの制御点の第1のグループに含まれる制御点は、第1の近傍アフィン符号化ブロックの左下の制御点、右下の制御点、および左上の制御点であるが、第2の近傍アフィン符号化ブロックの制御点の第2のグループに含まれる制御点は、第2の近傍アフィン符号化ブロックの右上の制御点、右下の制御点、および左下の制御点である）。
【０２９８】
態様2：候補動き情報リストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０２９９】
具体的には、態様2の原理は、ステップS721における態様2の原理と同じである。よって、詳細はここでは再度説明しない。
【０３００】
ステップS922：ビデオ・エンコーダは、ビットストリームをパースして、インデックスを得る。
【０３０１】
詳細については、ステップS722の説明を参照されたい。詳細は、ここでは再度説明しない。
【０３０２】
ステップS923：ビデオ・エンコーダは、候補動き情報リスト内のターゲット動きベクトル・グループをインデックスに基づいて決定する。
【０３０３】
詳細については、ステップS723の説明を参照されたい。詳細は、ここでは再度説明しない。
【０３０４】
ステップS924：ビデオ・エンコーダは、6パラメータ・アフィン変換モデルを用いて、現在符号化ブロックの3つの制御点の動きベクトルに基づいて、現在符号化ブロックの各サブブロックの動きベクトルを取得する。
【０３０５】
詳細については、ステップS724の説明を参照されたい。詳細は、ここでは再度説明しない。
【０３０６】
ステップS925：ビデオ・エンコーダは、現在符号化ブロックの各サブブロックの動きベクトルに基づいて動き補償を実行し、各サブブロックの予測されるサンプル値を得る。
【０３０７】
詳細については、ステップS725の説明を参照されたい。詳細は、ここでは再度説明しない。
【０３０８】
第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが、現在符号化ブロックの上に位置する場合、第1の近傍アフィン符号化ブロックの最も下の制御点に関する情報が、メモリから読み込まれていることが理解されうる。第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが、現在符号化ブロックの左に位置する場合は、第1の近傍アフィン符号化ブロックの最も右の制御点に関する情報が、メモリから読み込まれている。したがって、上述の解決策では、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、従来技術において第1の近傍符号化ブロックの左上の制御点、右上の制御点、および左下の制御点を制御点の第1のグループとして固定的に使用する代わりに、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点である。ここで、第1の近傍アフィン符号化ブロックは該CTU内に位置する。よって、本願における制御点の第1のグループを決定する方法によれば、メモリから読み出されている情報が、制御点の第1のグループに関する情報（たとえば、位置座標および動きベクトル）として直接再利用でき、それにより、メモリからの読み出し回数を減らし、エンコード性能を改善する。
【０３０９】
エンコーダ側の別の任意的な実施形態では、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上の符号化ツリー単位（Coding  Tree  Unit、CTU）内に位置する場合、候補動きベクトル予測子のグループは、第1の近傍アフィン符号化ブロックの左下の制御点、右下の制御点、および右上の制御点に基づいて決定される。詳細は次のとおり。
【０３１０】
ステップS1000：ビデオ・エンコーダは、現在符号化ブロックについてのインター予測モードを決定する。
【０３１１】
具体的には、インター予測モードは、先進動きベクトル予測（Advanced  Motion  Vector  Prediction、AMVP）モードであってもよく、またはマージ（merge）・モードであってもよい。
【０３１２】
現在符号化ブロックについての決定されたインター予測モードがAMVPモードである場合は、ステップS1011〜S1013が実行される。
【０３１３】
現在符号化ブロックについての決定されたインター予測モードがマージ・モードである場合は、ステップS1021〜S1023が実行される。
【０３１４】
AMVPモード：
【０３１５】
ステップS1011：ビデオ・エンコーダが、候補動きベクトル予測子MVPリストを構築する。
【０３１６】
具体的には、ビデオ・エンコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動きベクトル予測子MVPリスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動きベクトル予測子MVPリストは、トリプレット候補動きベクトル予測子MVPリストまたは2-タプル候補動きベクトル予測子MVPリストでありうる。2つの態様は具体的には次のとおり。
【０３１７】
態様1：候補動きベクトル予測子MVPリストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０３１８】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０３１９】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて現在符号化ブロックの制御点の動きベクトルを予測する態様は、現在符号化ブロックのパラメータ・モデルによって変わる。よって、下記は、異なる場合について記述を与える。
【０３２０】
A:  現在符号化ブロックのパラメータ・モデルは、4パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０３２１】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にある符号化ツリー単位（Coding  Tree  Unit、CTU）内に位置する場合、第1の近傍アフィン符号化ブロックの左上の制御点および2つの最も下の制御点の動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)および動きベクトル(vx4,vy4)、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０３２２】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは6パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標および動きベクトル、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および動きベクトル、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標および動きベクトルに基づいて形成される。
【０３２３】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(21)および(22)に示される。
【数３０】
2021524708.tif 000032
【０３２４】
式(21)および(22)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルである。
【０３２５】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)と、右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいて、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標と右下の制御点の位置座標は両方とも、メモリから読まれるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、エンコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶されて、必要なときに使用のためにメモリから読み出されてもよい。
【０３２６】
この場合、式(1)および(2)において、(x7−x6)はcuWと等しく、(vx7,vy7)は、ピクチャー中の位置(x4＋cuW−1,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよく、(vx6,vy6)は、ピクチャー中の位置(x4,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよい。
【０３２７】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTU内に位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書において限定されない。具体的には、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じ、または異なるものでありうる。
【０３２８】
B:  現在符号化ブロックのパラメータ・モデルは、6パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０３２９】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの左上の制御点および2つの最も下の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)および動きベクトル(vx4,vy4)、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０３３０】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは6パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標および動きベクトル、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および動きベクトル、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標および動きベクトルに基づいて形成される。
【０３３１】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(21)、(22)、および(23)に示される。
【数３１】
2021524708.tif 000033
【０３３２】
式(21)、(22)、および(23)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０３３３】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTU内に位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書では限定されない。具体的には、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。
【０３３４】
態様2：候補動きベクトル予測子MVPリストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０３３５】
具体的には、態様2の原理は、ステップS711における態様2の原理と同じである。よって、詳細はここでは再度説明しない。
【０３３６】
ステップS1012：ビデオ・エンコーダは、レート‐歪みコスト基準に従って、候補動きベクトル予測子MVPリスト内のターゲット候補動きベクトル・グループを決定する。
【０３３７】
詳細については、ステップS712の説明を参照されたい。詳細は、ここでは再度説明しない。
【０３３８】
ステップS1013：ビデオ・エンコーダは、動きベクトル差分MVDと、ターゲット候補動きベクトルに対応するインデックスとを、送信されるべきビットストリーム中にエンコードする。
【０３３９】
詳細については、ステップS713の説明を参照されたい。詳細は、ここでは再度説明しない。
【０３４０】
マージ・モード：
【０３４１】
ステップS1021：ビデオ・エンコーダは、候補動き情報リストを構築する。
【０３４２】
具体的には、ビデオ・エンコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動き情報リスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動き情報リストは、トリプレット候補動き情報リストである。2つの態様は具体的には次のとおり。
【０３４３】
態様1：候補動き情報リストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０３４４】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０３４５】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。詳細は次のとおり。
【０３４６】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの左上の制御点および2つの最も下の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)および動きベクトル(vx4,vy4)、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０３４７】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは6パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標および動きベクトル、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および動きベクトル、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標および動きベクトルに基づいて形成される。
【０３４８】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル・トリプレットが形成され、候補動き情報リストに加えられる。詳細は、式(21)、(22)、および(23)に示される。
【０３４９】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル2-タプルが形成され、候補動き情報リストに加えられる。詳細は、式(21)および(22)に示される。
【０３５０】
式(21)、(22)、および(23)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０３５１】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTU内に位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書では限定されない。具体的には、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。
【０３５２】
態様2：候補動き情報リストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０３５３】
具体的には、態様2の原理は、ステップS721における態様2の原理と同じである。よって、詳細はここでは再度説明しない。
【０３５４】
ステップS1022：ビデオ・エンコーダは、レート‐歪みコスト基準に従って、候補動き情報リスト内のターゲット候補動きベクトル・グループを決定する。
【０３５５】
詳細については、ステップS712の説明を参照されたい。詳細は、ここでは再度説明しない。
【０３５６】
ステップS1023:ビデオ・エンコーダは、ターゲット候補動きベクトルに対応するインデックスを、送信されるべきビットストリーム中にエンコードする。
【０３５７】
詳細については、ステップS713の説明を参照されたい。詳細は、ここでは再度説明しない。
【０３５８】
第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが、現在符号化ブロックの上に位置する場合、第1の近傍アフィン符号化ブロックの最も下の制御点に関する情報が、メモリから読み込まれていることが理解されうる。したがって、上述の解決策では、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、従来技術において第1の近傍符号化ブロックの左上の制御点、右上の制御点、および左下の制御点を制御点の第1のグループとして固定的に使用する代わりに、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。よって、本願における制御点の第1のグループを決定する方法によれば、メモリから読み出されている情報が、制御点の第1のグループに関する情報（たとえば、位置座標および動きベクトル）として直接再利用でき、それにより、メモリからの読み出し回数を減らし、エンコード性能を改善する。
【０３５９】
エンコーダ側の別の任意的な実施形態では、第1の近傍アフィン符号化ブロックの、現在符号化ブロックに対する位置にかかわりなく、候補動きベクトル予測子のグループは、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点に基づいて直接決定される。詳細は次のとおり。
【０３６０】
ステップS1100：ビデオ・エンコーダは、現在符号化ブロックのインター予測モードを決定する。
【０３６１】
具体的には、インター予測モードは、先進動きベクトル予測（Advanced  Motion  Vector  Prediction、AMVP）モードであってもよく、またはマージ（merge）・モードであってもよい。
【０３６２】
現在符号化ブロックについての決定されたインター予測モードがAMVPモードである場合は、ステップS1111〜S1113が実行される。
【０３６３】
現在符号化ブロックについての決定されたインター予測モードがマージ・モードである場合は、ステップS1121〜S1123が実行される。
【０３６４】
AMVPモード：
【０３６５】
ステップS1111：ビデオ・エンコーダが、候補動きベクトル予測子MVPリストを構築する。
【０３６６】
具体的には、ビデオ・エンコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動きベクトル予測子MVPリスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動きベクトル予測子MVPリストは、トリプレット候補動きベクトル予測子MVPリストまたは2-タプル候補動きベクトル予測子MVPリストでありうる。2つの態様は具体的には次のとおり。
【０３６７】
態様1：候補動きベクトル予測子MVPリストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０３６８】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０３６９】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて現在符号化ブロックの制御点の動きベクトルを予測する態様は、現在符号化ブロックのパラメータ・モデルによって変わる。よって、下記は、異なる場合について記述を与える。
【０３７０】
A:  現在符号化ブロックのパラメータ・モデルは、4パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０３７１】
第1の近傍アフィン符号化ブロックの、現在符号化ブロックに対する位置にかかわりなく、第1の近傍アフィン符号化ブロックの左上の制御点および2つの最も下の制御点の動きベクトルが直接、得られる。たとえば、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)および動きベクトル(vx4,vy4)、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０３７２】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは6パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標および動きベクトル、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および動きベクトル、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標および動きベクトルに基づいて形成される。
【０３７３】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(21)および(22)に示される。
【数３２】
2021524708.tif 000034
【０３７４】
式(21)および(22)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルである。
【０３７５】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)と、右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいて、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標と右下の制御点の位置座標は両方とも、メモリから読まれるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、エンコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶されて、必要なときに使用のためにメモリから読み出されてもよい。
【０３７６】
この場合、式(1)および(2)において、(x7−x6)はcuWと等しく、(vx7,vy7)は、ピクチャー中の位置(x4＋cuW−1,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよく、(vx6,vy6)は、ピクチャー中の位置(x4,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよい。
【０３７７】
任意的に、候補動きベクトル予測子MVPリストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られ、第2の近傍アフィン符号化ブロックの制御点の第2のグループは、第2の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。
【０３７８】
B:  現在符号化ブロックのパラメータ・モデルは、6パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０３７９】
第1の近傍アフィン符号化ブロックの、現在符号化ブロックに対する位置にかかわりなく、第1の近傍アフィン符号化ブロックの左上の制御点および2つの最も下の制御点の位置座標および動きベクトルが直接、得られる。たとえば、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)および動きベクトル(vx4,vy4)、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０３８０】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは6パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標および動きベクトル、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および動きベクトル、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標および動きベクトルに基づいて形成される。
【０３８１】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(21)、(22)、および(23)に示される。
【０３８２】
式(21)、(22)、および(23)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０３８３】
任意的に、候補動きベクトル予測子MVPリストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られ、第2の近傍アフィン符号化ブロックの制御点の第2のグループは、第2の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。
【０３８４】
態様2：候補動きベクトル予測子MVPリストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０３８５】
具体的には、態様2の原理は、ステップS711における態様2の原理と同じである。よって、詳細はここでは再度説明しない。
【０３８６】
ステップS1112：ビデオ・エンコーダは、レート‐歪みコスト基準に従って、候補動きベクトル予測子MVPリスト内のターゲット候補動きベクトル・グループを決定する。
【０３８７】
詳細については、ステップS712の説明を参照されたい。詳細は、ここでは再度説明しない。
【０３８８】
ステップS1113：ビデオ・エンコーダは、動きベクトル差分MVDと、ターゲット候補動きベクトルに対応するインデックスとを、送信されるべきビットストリーム中にエンコードする。
【０３８９】
詳細については、ステップS713の説明を参照されたい。詳細は、ここでは再度説明しない。
【０３９０】
マージ・モード：
【０３９１】
ステップS1121：ビデオ・エンコーダは、アフィン候補動きベクトル・リストを構築する。
【０３９２】
具体的には、ビデオ・エンコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、アフィン候補動きベクトル・リスト（候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築されたアフィン候補動きベクトル・リストは、トリプレット・アフィン候補動きベクトル・リストである。2つの態様は具体的には次のとおり。
【０３９３】
態様1：アフィン候補動きベクトル・リストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０３９４】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０３９５】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。詳細は次のとおり。
【０３９６】
第1の近傍アフィン符号化ブロックの、現在符号化ブロックに対する位置にかかわりなく、第1の近傍アフィン符号化ブロックの左上の制御点および2つの最も下の制御点の位置座標および動きベクトルが直接、得られる。たとえば、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)および動きベクトル(vx4,vy4)、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０３９７】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは6パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標および動きベクトル、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および動きベクトル、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標および動きベクトルに基づいて形成される。
【０３９８】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル・トリプレットが形成され、アフィン候補動きベクトル・リストに加えられる。詳細は、式(21)、(22)、および(23)に示される。
【０３９９】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル2-タプルが形成され、アフィン候補動きベクトル・リストに加えられる。詳細は、式(21)および(22)に示される。
【０４００】
式(21)、(22)、および(23)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０４０１】
任意的に、アフィン候補動きベクトル・リストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られ、第2の近傍アフィン符号化ブロックの制御点の第2のグループは、第2の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。
【０４０２】
態様2：アフィン候補動きベクトル・リストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０４０３】
具体的には、態様2の原理は、ステップS721における態様2の原理と同じである。よって、詳細はここでは再度説明しない。
【０４０４】
ステップS1122：ビデオ・エンコーダは、レート‐歪みコスト基準に従って、アフィン候補動きベクトル・リスト内のターゲット候補動きベクトル・グループを決定する。
【０４０５】
詳細については、ステップS712の説明を参照されたい。詳細は、ここでは再度説明しない。
【０４０６】
ステップS1123:ビデオ・エンコーダは、ターゲット候補動きベクトルに対応するインデックスを、送信されるべきビットストリーム中にエンコードする。
【０４０７】
詳細については、ステップS713の説明を参照されたい。詳細は、ここでは再度説明しない。
【０４０８】
第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが、現在符号化ブロックの上に位置する場合、第1の近傍アフィン符号化ブロックの最も下の制御点に関する情報が、メモリから読み込まれていることが理解されうる。したがって、上述の解決策では、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、従来技術において第1の近傍符号化ブロックの左上の制御点、右上の制御点、および左下の制御点を制御点の第1のグループとして固定的に使用する代わりに、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。よって、本願における制御点の第1のグループを決定する方法によれば、メモリから読み出されている情報が、制御点の第1のグループに関する情報（たとえば、位置座標および動きベクトル）として直接再利用できる可能性が非常に高く、それにより、メモリからの読み出し回数を減らし、エンコード性能を改善する。
【０４０９】
図9は、本願のある実施形態によるデコード方法のプロセス900のフローチャートである。
プロセス900は、ビデオ・デコーダ100によって実行されてもよく、具体的には、ビデオ・デコーダ200のインター予測ユニット（インター予測器とも呼ばれる）210およびエントロピー・デコード・ユニット（エントロピー・デコーダとも呼ばれる）203によって実行されてもよい。プロセス900は、一連のステップまたは動作として記述される。プロセス900のステップまたは動作は、さまざまなシーケンスで、および／または同時に実施されることができ、図9に示される実行シーケンスに限定されないことが理解されるべきである。複数のビデオ・フレームを含むビデオ・データ・ストリームが、ビデオ・デコーダを使用していると想定される。第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上の符号化ツリー単位（Coding  Tree  Unit、CTU）内に位置する場合、候補動きベクトル予測子のグループは、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点に基づいて決定される。図9に示されるプロセスに対応して、関連する説明は、以下のとおりである。
【０４１０】
デコーダ側の任意の実施形態において、第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にある符号化ツリー単位（Coding  Tree  Unit、CTU）内に位置する場合、候補動きベクトル予測子のグループは、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点に基づいて決定される。詳細は、次のとおり。
【０４１１】
ステップS1200：ビデオ・デコーダは、現在符号化ブロックについてインター予測モードを決定する。
【０４１２】
具体的には、インター予測モードは、高度動きベクトル予測（Advanced  Motion  Vector  Prediction、AMVP）モードであってもよく、マージ（merge）・モードであってもよい。
【０４１３】
現在符号化ブロックについての決定されたインター予測モードがAMVPモードである場合は、ステップS1211〜S1216が実行される。
【０４１４】
現在符号化ブロックについての決定されたインター予測モードがマージ・モードである場合は、ステップS1221〜S1225が実行される。
【０４１５】
AMVPモード：
【０４１６】
ステップS1211：ビデオ・デコーダは、候補動きベクトル予測子MVPリストを構築する。
【０４１７】
具体的には、ビデオ・デコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動きベクトル予測子MVPリスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動きベクトル予測子MVPリストは、トリプレット候補動きベクトル予測子MVPリストまたは2-タプル候補動きベクトル予測子MVPリストでありうる。2つの態様は具体的には次のとおり。
【０４１８】
態様1：候補動きベクトル予測子MVPリストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０４１９】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０４２０】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて現在符号化ブロックの制御点の動きベクトルを予測する態様は、現在符号化ブロックのパラメータ・モデルによって変わる。よって、下記は、異なる場合について記述を与える。
【０４２１】
A:  現在符号化ブロックのパラメータ・モデルは、4パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる（図9Aに示される）。
【０４２２】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にある符号化ツリー単位（Coding  Tree  Unit、CTU）内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい（ステップS1201）。
【０４２３】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルおよび位置座標に基づいて形成される（ステップS1202）。
【０４２４】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(1)および(2)に示される（ステップS1203）。
【数３３】
2021524708.tif 000035
【０４２５】
式(1)および(2)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルである。
【０４２６】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)と、右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいて、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標と右下の制御点の位置座標は両方とも、メモリから読まれるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、デコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶されて、必要なときに使用のためにメモリから読み出されてもよい。
【０４２７】
この場合、式(1)および(2)において、(x7−x6)はcuWと等しく、(vx7,vy7)は、ピクチャー中の位置(x4＋cuW−1,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよく、(vx6,vy6)は、ピクチャー中の位置(x4,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよい。
【０４２８】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTUに位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書では限定されない。具体的には、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。
【０４２９】
B:  現在符号化ブロックのパラメータ・モデルは、6パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０４３０】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０４３１】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルに基づいて形成される。
【０４３２】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(1)、(2)、および(3)に示される。
【数３４】
2021524708.tif 000036
【０４３３】
式(1)および(2)は上記に記載されている。式(1)、(2)、および(3)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０４３４】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTUに位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書では限定されない。具体的には、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。
【０４３５】
態様2：候補動きベクトル予測子MVPリストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０４３６】
候補動きベクトル予測子MVPリストを構築する態様は、現在符号化ブロックのパラメータ・モデルによって変わる。詳細は下記に記載される。
【０４３７】
A:  現在符号化ブロックのパラメータ・モデルは、4パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０４３８】
現在符号化ブロックの左上の頂点および右上の頂点の動きベクトルが、現在符号化ブロックの近傍のデコードされたブロックの動き情報に基づいて推定される。図7Bに示されるように、まず、左上の頂点の近傍のデコードされたブロックAおよび／またはBおよび／またはCの動きベクトルが、現在符号化ブロックの左上の頂点の動きベクトルのための候補動きベクトルとして使用され、右上の頂点の近傍のデコードされたブロックDおよび／またはEの動きベクトルが、現在符号化ブロックの右上の頂点の動きベクトルのための候補動きベクトルとして使用される。左上の頂点の候補動きベクトルと右上の頂点の候補動きベクトルが組み合わされて、候補動きベクトル予測子のグループが得られてもよい。この態様における組み合わせを通じて得られた複数のレコードは、候補動きベクトル予測子MVPリストを構成してもよい。
【０４３９】
B：現在符号化ブロックのパラメータ・モデルは、6パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０４４０】
現在符号化ブロックの左上の頂点および右上の頂点の動きベクトルが、現在符号化ブロックの近傍のデコードされたブロックの動き情報に基づいて推定される。図7Bに示されるように、まず、左上の頂点の近傍のデコードされたブロックAおよび／またはBおよび／またはCの動きベクトルが、現在符号化ブロックの左上の頂点の動きベクトルのための候補動きベクトルとして使用され、右上の頂点の近傍のデコードされたブロックDおよび／またはEの動きベクトルが、現在符号化ブロックの右上の頂点の動きベクトルのための候補動きベクトルとして使用され、右上の頂点の近傍のデコードされたブロックFおよび／またはGの動きベクトルが、現在符号化ブロックの右上の頂点の動きベクトルのための候補動きベクトルとして使用される。左上の頂点の候補動きベクトル、右上の頂点の候補動きベクトル、および左下の頂点の候補動きベクトルが組み合わされて、候補動きベクトル予測子のグループが得られてもよい。この態様における組み合わせを通じて得られた候補動きベクトル予測子の複数のグループは、候補動きベクトル予測子MVPリストを構成してもよい。
【０４４１】
候補動きベクトル予測子MVPリストは、態様1で予測される候補動きベクトル予測子のみを用いて構築されてもよく、あるいは候補動きベクトル予測子MVPリストは、態様2で予測される候補動きベクトル予測子のみを用いて構築されてもよく、あるいは候補動きベクトル予測子MVPリストは、態様1で予測される候補動きベクトル予測子と態様2で予測される候補動きベクトル予測子の両方を用いて構築されてもよいことを注意しておくべきである。加えて、候補動きベクトル予測子MVPリストは、事前に構成された規則に従ってさらに剪定され、ソートされ、次いで、特定の量になるよう切り詰められ、またはパディングされてもよい。候補動きベクトル予測子MVPリスト内の候補動きベクトル予測子の各グループが3つの制御点の動きベクトル予測子を含む場合、この候補動きベクトル予測子MVPリストは、トリプレット・リストと称されてもよく；または、候補動きベクトル予測子MVPリスト内の候補動きベクトル予測子の各グループが2つの制御点の動きベクトル予測子を含む場合、この候補動きベクトル予測子MVPリストは、2-タプル・リストと称されてもよい。
【０４４２】
ステップS1212：ビデオ・デコーダは、ビットストリームをパースして、インデックスと、動きベクトル差分MVDとを得る。
【０４４３】
具体的には、ビデオ・デコーダは、エントロピー・デコード・ユニットを用いてビットストリームをパースしてもよい。インデックスは、現在符号化ブロックのターゲット候補動きベクトル・グループを示すために使われ、ターゲット候補動きベクトルは、現在符号化ブロックの制御点のグループの動きベクトル予測子を表わす。
【０４４４】
ステップS1213：ビデオ・デコーダは、候補動きベクトル予測子MVPリストにおけるターゲット動きベクトル・グループを、インデックスに基づいて決定する。
【０４４５】
具体的には、インデックスに基づいて候補動きベクトルにおいてビデオ・デコーダによって決定されたターゲット候補動きベクトル・グループが、最適な候補動きベクトル予測子として使用される（任意的に、候補動きベクトル予測子MVPリストの長さが1である場合、インデックスを得るためにビットストリームをパースする必要はなく、ターゲット動きベクトル・グループを直接決定することができる）。下記は、最適な候補動きベクトル予測子を簡単に説明する。
【０４４６】
現在符号化ブロックのパラメータ・モデルが4パラメータ・アフィン変換モデルである場合、2つの制御点の最適な動きベクトル予測子が、構築された候補動きベクトル予測子MVPリストから選択される。たとえば、ビデオ・デコーダは、ビットストリームをパースしてインデックス番号を得て、次いで、インデックス番号に基づいて、2タプル候補動きベクトル予測子MVPリスト内の2つの制御点の最適な動きベクトル予測子を決定する。候補動きベクトル予測子MVPリスト内の候補動きベクトル予測子の各グループは、それぞれのインデックス番号に対応する。
【０４４７】
現在符号化ブロックのパラメータ・モデルが6パラメータ・アフィン変換モデルである場合、3つの制御点の最適な動きベクトル予測子が、構築された候補動きベクトル予測子MVPリストから選択される。たとえば、ビデオ・デコーダは、ビットストリームをパースしてインデックス番号を得て、次いで、インデックス番号に基づいて、トリプレット候補動きベクトル予測子MVPリスト内の3つの制御点の最適な動きベクトル予測子を決定する。候補動きベクトル予測子MVPリスト内の候補動きベクトル予測子の各グループは、それぞれのインデックス番号に対応する。
【０４４８】
ステップS1214：ビデオ・デコーダは、ターゲット候補動きベクトル・グループと、ビットストリームからパースを通じて得られた動きベクトル差分MVDとに基づいて、現在符号化ブロックの制御点の動きベクトルを決定する。
【０４４９】
現在符号化ブロックのパラメータ・モデルが4パラメータ・アフィン変換モデルである場合、現在符号化ブロックの2つの制御点の動きベクトル差分が、ビットストリームからデコードを通じて得られ、新しい候補動きベクトル・グループが、それらの制御点の動きベクトル差分と、インデックスによって示されたターゲット候補動きベクトル・グループとに基づいて得られる。たとえば、左上の制御点の動きベクトル差分MVDおよび右上の制御点の動きベクトル差分MVDがビットストリームからデコードを通じて得られ、それぞれターゲット候補動きベクトル・グループにおける左上の制御点の動きベクトルおよび右上の制御点の動きベクトルに加算されて、新しい候補動きベクトル・グループが得られる。よって、新しい候補動きベクトル・グループは、現在符号化ブロックの左上の制御点および右上の制御点の新しい動きベクトルを含む。
【０４５０】
任意的に、4パラメータ・アフィン変換モデルを使用することによって、新しい候補動きベクトル・グループにおいて、第3の制御点の動きベクトルが、現在符号化ブロックの2つの制御点の動きベクトルに基づいてさらに得られてもよい。たとえば、現在符号化ブロックの左上の制御点の動きベクトル(vx0,vy0)と、現在符号化ブロックの右上の制御点の動きベクトル(vx1,vy1)が得られる。そして、現在符号化ブロックの左下の制御点(x2,y2)の動きベクトル(vx2,vy2)が、式(4)に従った計算を通じて得られる。
【数３５】
2021524708.tif 000037
【０４５１】
ここで、(x0,y0)は左上の制御点の位置座標であり、(x1,y1)は右上の制御点の位置座標であり、Wは現在符号化ブロックの幅であり、Hは現在符号化ブロックの高さである。
【０４５２】
現在符号化ブロックのパラメータ・モデルが6パラメータ・アフィン変換モデルである場合、現在符号化ブロックの3つの制御点の動きベクトル差分が、ビットストリームからデコードを通じて得られ、新しい候補動きベクトル・グループが、それらの制御点の動きベクトル差分MVDと、インデックスによって示されたターゲット候補動きベクトル・グループとに基づいて得られる。たとえば、左上の制御点の動きベクトル差分MVD、右上の制御点の動きベクトル差分MVD、および左下の制御点の動きベクトル差分がビットストリームからデコードを通じて得られ、それぞれターゲット候補動きベクトル・グループにおける左上の制御点の動きベクトル、右上の制御点の動きベクトル、および左下の制御点の動きベクトルに加算されて、新しい候補動きベクトル・グループが得られる。よって、新しい候補動きベクトル・グループは、現在符号化ブロックの左上の制御点、右上の制御点、および左下の制御点の動きベクトルを含む。
【０４５３】
ステップS1215：ビデオ・デコーダは、アフィン変換モデルを用いて、現在符号化ブロックの制御点の決定された動きベクトルに基づいて、現在符号化ブロックの各サブブロックの動きベクトルを取得する。
【０４５４】
具体的には、ターゲット候補動きベクトル・グループとMVDとに基づいて得られた新しい候補動きベクトル・グループは、2つの制御点（左上の制御点および右上の制御点）または3つの制御点（たとえば左上の制御点、右上の制御点、および左下の制御点）の動きベクトルを含む。現在符号化ブロックの各サブブロック（1つのサブブロックは、1つの動き補償単位と等価であってもよい）について、動き補償単位内の事前設定された位置におけるサンプルの動き情報が、その動き補償単位内のすべてのサンプルの動き情報を表現するために使用されてもよい。動き補償単位のサイズがM×Nである（Mは現在符号化ブロックの幅W以下であり、Nは現在符号化ブロックの高さH以下であり、M、N、W、Hはそれぞれ正の整数であり、通例2の冪乗、たとえば4、8、16、32、64、または128である）場合、事前設定された位置におけるサンプルは、動き補償単位の中心点(M/2,N/2)、左上のサンプル(0,0)、右上のサンプル(M−1,0)、または他の位置のサンプルであってもよい。図8Aは、4×4の動き補償単位を示し、図8Bは、8×8の動き補償単位を示す。
【０４５５】
現在符号化ブロックの左上の頂点におけるサンプルに対する動き補償単位の中心点の座標は、式(5)に従って計算される。ここで、iは水平方向において（左から右へ）i番目の動き補償単位であり、jは垂直方向において（上から下へ）j番目の動き補償単位であり、(x(i,j),y(i,j))は現在符号化ブロックの左上の制御点におけるサンプルに対する(i,j)番目の動き補償単位の中心点の座標を表わす。そして、現在符号化ブロックのアフィン・モデル・タイプ（6パラメータまたは4パラメータ）に基づき、(x(i,j),y(i,j))は6パラメータ・アフィン・モデルの式(6-1)に代入されるか、または(x(i,j),y(i,j))は4パラメータ・アフィン・モデルの式(6-2)に代入され、各動き補償単位の中心点の動き情報を得て、該動き情報は、この動き補償単位におけるすべてのサンプルの動きベクトル(vx(i,j),vy(i,j))として使用される。
【数３６】
2021524708.tif 000038
【０４５６】
任意的に、現在符号化ブロックが6パラメータ符号化ブロックであり、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルがターゲット候補動きベクトル・グループに基づいて得られる場合、現在符号化ブロックの下の境界が、現在符号化ブロックが位置するCTUの下の境界と重なっていれば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)と、3つの制御点を用いて構築された6パラメータ・アフィン・モデルとに基づく計算を通じて得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)と、3つの制御点を用いて構築された6パラメータ・アフィン・モデルとに基づく計算を通じて得られる。たとえば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)を6パラメータ・アフィン・モデルに代入する（計算のために、左下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)を6パラメータ・アフィン・モデルに代入する（計算のために、右下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られる。このようにして、現在符号化ブロックの左下の制御点の動きベクトルと右下の制御点の動きベクトルが使用される（たとえば、現在ブロックの左下の制御点と右下の制御点の動きベクトルに基づいて、その後、他のブロックの候補動きベクトル予測子MVPリストが構築される）場合、推定値ではなく正確な値が用いられる。Wは現在符号化ブロックの幅であり、Hは現在符号化ブロックの高さである。
【０４５７】
任意的に、現在符号化ブロックが4パラメータ符号化ブロックであり、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルがターゲット候補動きベクトル・グループに基づいて得られる場合、現在符号化ブロックの下の境界が、現在符号化ブロックが位置するCTUの下の境界と重なっていれば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)と、2つの制御点を用いて構築された4パラメータ・アフィン・モデルとに基づく計算を通じて得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)と、2つの制御点を用いて構築された4パラメータ・アフィン・モデルとに基づく計算を通じて得られる。たとえば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)を4パラメータ・アフィン・モデルに代入する（計算のために、左下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)を4パラメータ・アフィン・モデルに代入する（計算のために、右下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られる。このようにして、現在符号化ブロックの左下の制御点の動きベクトルと右下の制御点の動きベクトルが使用される（たとえば、現在ブロックの左下の制御点と右下の制御点の動きベクトルに基づいて、その後、他のブロックの候補動きベクトル予測子MVPリストが構築される）場合、推定値ではなく正確な値が用いられる。Wは現在符号化ブロックの幅であり、Hは現在符号化ブロックの高さである。
【０４５８】
ステップS1216：ビデオ・デコーダは、現在符号化ブロックの各サブブロックの動きベクトルに基づいて動き補償を実行して、各サブブロックの予測されるサンプル値を得る。たとえば、各サブブロックの動きベクトルおよび参照フレーム・インデックスに基づいて対応するサブブロックが参照フレーム内に見出され、補間フィルタリングが実行されて、各サブブロックの予測されたサンプル値が得られる。
【０４５９】
マージ・モード：
【０４６０】
ステップS1221：ビデオ・デコーダは、候補動き情報リストを構築する。
【０４６１】
具体的には、ビデオ・デコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動き情報リスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動き情報リストは、トリプレット候補動き情報リストである。2つの態様は具体的には次のとおり。
【０４６２】
態様1：候補動き情報リストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０４６３】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０４６４】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。詳細は次のとおり。
【０４６５】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０４６６】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルに基づいて形成される。
【０４６７】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル・トリプレットが形成され、候補動き情報リストに加えられる。詳細は、式(1)、(2)、および(3)に示される。
【０４６８】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル2-タプルが形成され、候補動き情報リストに加えられる。詳細は、式(1)および(2)に示される。
【０４６９】
式(1)、(2)、および(3)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０４７０】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTUに位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書では限定されない。具体的には、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。
【０４７１】
態様2：候補動き情報リストは、制御点組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０４７２】
下記は、解決策Aと解決策Bとして記される2つの解決策を挙げる。
【０４７３】
解決策A：現在符号化ブロックの2つの制御点の動き情報が組み合わされて、4パラメータ・アフィン変換モデルを構築する。2つの制御点は、{CP1,CP4}、{CP2,CP3}、{CP1,CP2}、{CP2,CP4}、{CP1,CP3}、または{CP3,CP4}のように組み合わされる。たとえば、制御点CP1およびCP2を使用して構築された4パラメータ・アフィン変換モデルは、Affine(CP1,CP2)として記される。
【０４７４】
異なる制御点の組み合わせが、同じ位置の諸制御点に変換されることがあることに注意しておくべきである。たとえば、{CP1,CP4}、{CP2,CP3}、{CP2,CP4}、{CP1,CP3}、または{CP3,CP4}の組み合わせに基づいて得られた4パラメータ・アフィン変換モデルが、制御点{CP1,CP2}または{CP1,CP2,CP3}によって表現されるように変換される。変換方法は次のとおり：ある制御点の動きベクトルおよび座標情報が式(7)に代入されて、モデル・パラメータが得られる。次いで、{CP1,CP2}の配位情報が該式に代入され、{CP1,CP2}の諸動きベクトルが得られる。それらの動きベクトルは、候補動きベクトル予測子のグループとして使用される。
【数３７】
2021524708.tif 000039
【０４７５】
式(7)において、a0、a1、a2、a3はパラメータ・モデルにおけるすべてのパラメータであり、(x,y)は位置座標を表わす。
【０４７６】
より直接的には、この変換は、左上の制御点および右上の制御点によって表わされる動きベクトル予測子のグループを得るために下記の諸式に従って実行されてもよく、動きベクトル予測子のこのグループが、候補動き情報リストに追加される。
【０４７７】
{CP1,CP2}を{CP1,CP2,CP3}に変換する式(8)は、次のとおり：
【数３８】
2021524708.tif 000040
【０４７８】
{CP1,CP3}を{CP1,CP2,CP3}に変換する式(9)は、次のとおり：
【数３９】
2021524708.tif 000041
【０４７９】
{CP2,CP3}を{CP1,CP2,CP3}に変換する式(10)は、次のとおり：
【数４０】
2021524708.tif 000042
【０４８０】
{CP1,CP4}を{CP1,CP2,CP3}に変換する式(11)は、次のとおり：
【数４１】
2021524708.tif 000043
【０４８１】
{CP2,CP4}を{CP1,CP2,CP3}に変換する式(12)は、次のとおり：
【数４２】
2021524708.tif 000044
【０４８２】
{CP3,CP4}を{CP1,CP2,CP3}に変換する式(13)は、次のとおり：
【数４３】
2021524708.tif 000045
【０４８３】
解決策B：現在符号化ブロックの3つの制御点の動き情報が組み合わされて、6パラメータ・アフィン変換モデルを構築する。3つの制御点は、{CP1,CP2,CP4}、{CP1,CP2,CP3}、{CP2,CP3,CP4}、または{CP1,CP3,CP4}のように組み合わされる。たとえば、制御点CP1、CP2、およびCP3を使用して構築された6パラメータ・アフィン変換モデルは、Affine(CP1,CP2,CP3)として記される。
【０４８４】
異なる制御点の組み合わせが、同じ位置の諸制御点に変換されることがあることに注意しておくべきである。たとえば、{CP1,CP2,CP4}、{CP2,CP3,CP4}、または{CP1,CP3,CP4}の組み合わせに基づいて得られた6パラメータ・アフィン変換モデルが、制御点{CP1,CP2,CP3}によって表現されるように変換される。変換方法は次のとおり：ある制御点の動きベクトルおよび座標情報が式(14)に代入されて、モデル・パラメータが得られる。次いで、{CP1,CP2,CP3}の配位情報が該式に代入され、{CP1,CP2,CP3}の諸動きベクトルが得られる。それらの動きベクトルは、候補動きベクトル予測子のグループとして使用される。
【数４４】
2021524708.tif 000046
【０４８５】
式(14)において、a1、a2、a3、a4、a5、a6は、パラメータ・モデルにおけるパラメータであり、(x,y)は位置座標を表わす。
【０４８６】
より直接的には、この変換は、左上の制御点、右上の制御点、および左下の制御点によって表わされる動きベクトル予測子のグループを得るために下記の諸式に従って実行されてもよく、動きベクトル予測子のこのグループが、候補動き情報リストに追加される。
【０４８７】
{CP1,CP2,CP4}を{CP1,CP2,CP3}に変換する式(15)は次のとおり：
【数４５】
2021524708.tif 000047
【０４８８】
{CP2,CP3,CP4}を{CP1,CP2,CP3}に変換する式(16)は次のとおり：
【数４６】
2021524708.tif 000048
【０４８９】
{CP1,CP3,CP4}を{CP1,CP2,CP3}に変換する式(17)は次のとおり：
【数４７】
2021524708.tif 000049
【０４９０】
候補動き情報リストは、態様1で予測された候補動きベクトル予測子のみを使用して構築されてもよく、あるいは候補動き情報リストは、態様2で予測された候補動きベクトル予測子のみを使用して構築されてもよく、あるいは候補動き情報リストは、態様1で予測された候補動きベクトル予測子と態様2で予測された候補動きベクトル予測子の両方を使用して構築されてもよいことに注意しておくべきである。さらに、候補動き情報リストは、事前に構成された規則に従ってさらに剪定され、ソートされ、次いで、特定の数になるよう切り詰められ、またはパディングされてもよい。候補動き情報リスト内の候補動きベクトル予測子の各グループが3つの制御点の動きベクトル予測子を含む場合、この候補動き情報リストは、トリプレット・リストと称されてもよく；または候補動き情報リスト内の候補動きベクトル予測子の各グループが2つの制御点の動きベクトル予測子を含む場合、この候補動き情報リストは、2-タプル・リストと称されてもよい。
【０４９１】
ステップS1222:ビデオ・デコーダは、ビットストリームをパースして、インデックスを得る。
【０４９２】
具体的には、ビデオ・デコーダは、エントロピー・デコード・ユニットを用いてビットストリームをパースしてもよい。インデックスは、現在符号化ブロックのターゲット候補動きベクトル・グループを示すために使われ、該ターゲット候補動きベクトルは、現在符号化ブロックの制御点のグループの動きベクトル予測子を表わす。
【０４９３】
ステップS1223：ビデオ・デコーダは、候補動き情報リストにおけるターゲット動きベクトル・グループを、インデックスに基づいて決定する。
【０４９４】
具体的には、インデックスに基づいて候補動きベクトルにおいてビデオ・デコーダによって決定されたターゲット候補動きベクトル・グループが、最適な候補動きベクトル予測子として使用される（任意的に、候補動き情報リストの長さが1である場合、インデックスを得るためにビットストリームをパースする必要はなく、ターゲット動きベクトル・グループを直接決定することができる）。具体的には、最適な候補動きベクトル予測子は、2つまたは3つの制御点の最適な動きベクトル予測子である。たとえば、ビデオ・デコーダは、ビットストリームからパースを通じてインデックス番号を取得し、次いで、インデックス番号に基づいて、候補動き情報リスト内の2つまたは3つの制御点の最適な動きベクトル予測子を決定する。候補動き情報リスト内の候補動きベクトル予測子の各グループは、それぞれのインデックス番号に対応する。
【０４９５】
ステップS1224：ビデオ・デコーダは、パラメータに基づくアフィン変換モデルを用いて、現在符号化ブロックの制御点の決定された動きベクトルに基づいて、現在符号化ブロックの各サブブロックの動きベクトルを取得する。
【０４９６】
具体的には、ターゲット候補動きベクトル・グループは、2つの制御点（左上の制御点および右上の制御点）または3つの制御点（たとえば左上の制御点、右上の制御点、および左下の制御点）の動きベクトルを含む。現在符号化ブロックの各サブブロック（1つのサブブロックは、1つの動き補償単位と等価であってもよい）について、動き補償単位内の事前設定された位置におけるサンプルの動き情報が、その動き補償単位内のすべてのサンプルの動き情報を表現するために使用されてもよい。動き補償単位のサイズがM×Nである（Mは現在符号化ブロックの幅W以下であり、Nは現在符号化ブロックの高さH以下であり、M、N、W、Hはそれぞれ正の整数であり、通例2の冪乗、たとえば4、8、16、32、64、または128である）場合、事前設定された位置におけるサンプルは、動き補償単位の中心点(M/2,N/2)、左上のサンプル(0,0)、右上のサンプル(M−1,0)、または他の位置のサンプルであってもよい。図8Aは、4×4の動き補償単位を示し、図8Bは、8×8の動き補償単位を示す。
【０４９７】
現在符号化ブロックの左上の頂点におけるサンプルに対する動き補償単位の中心点の座標は、式(5)に従って計算される。ここで、iは水平方向において（左から右へ）i番目の動き補償単位であり、jは垂直方向において（上から下へ）j番目の動き補償単位であり、(x(i,j),y(i,j))は現在符号化ブロックの左上の制御点におけるサンプルに対する(i,j)番目の動き補償単位の中心点の座標を表わす。そして、現在符号化ブロックのアフィン・モデル・タイプ（6パラメータまたは4パラメータ）に基づき、(x(i,j),y(i,j))は6パラメータ・アフィン・モデルの式(6-1)に代入されるか、または(x(i,j),y(i,j))は4パラメータ・アフィン・モデルの式(6-2)に代入され、各動き補償単位の中心点の動き情報を得て、該動き情報は、この動き補償単位におけるすべてのサンプルの動きベクトル(vx(i,j),vy(i,j))として使用される。
【０４９８】
任意的に、現在符号化ブロックが6パラメータ符号化ブロックであり、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルがターゲット候補動きベクトル・グループに基づいて得られる場合、現在符号化ブロックの下の境界が、現在符号化ブロックが位置するCTUの下の境界と重なっていれば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)と、3つの制御点を用いて構築された6パラメータ・アフィン・モデルとに基づく計算を通じて得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)と、3つの制御点を用いて構築された6パラメータ・アフィン・モデルとに基づく計算を通じて得られる。たとえば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)を6パラメータ・アフィン・モデルに代入する（計算のために、左下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)を6パラメータ・アフィン・モデルに代入する（計算のために、右下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られる。このようにして、現在符号化ブロックの左下の制御点の動きベクトルと右下の制御点の動きベクトルが使用される（たとえば、現在ブロックの左下の制御点と右下の制御点の動きベクトルに基づいて、その後、他のブロックの候補動き情報リストが構築される）場合、推定値ではなく正確な値が用いられる。Wは現在符号化ブロックの幅であり、Hは現在符号化ブロックの高さである。
【０４９９】
任意的に、現在符号化ブロックが4パラメータ符号化ブロックであり、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルがターゲット候補動きベクトル・グループに基づいて得られる場合、現在符号化ブロックの下の境界が、現在符号化ブロックが位置するCTUの下の境界と重なっていれば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)と、2つの制御点を用いて構築された4パラメータ・アフィン・モデルとに基づく計算を通じて得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)と、2つの制御点を用いて構築された4パラメータ・アフィン・モデルとに基づく計算を通じて得られる。たとえば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)を4パラメータ・アフィン・モデルに代入する（計算のために、左下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)を4パラメータ・アフィン・モデルに代入する（計算のために、右下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られる。このようにして、現在符号化ブロックの左下の制御点の動きベクトルと右下の制御点の動きベクトルが使用される（たとえば、現在ブロックの左下の制御点と右下の制御点の動きベクトルに基づいて、その後、他のブロックの候補動き情報リストが構築される）場合、推定値ではなく正確な値が用いられる。Wは現在符号化ブロックの幅であり、Hは現在符号化ブロックの高さである。
【０５００】
ステップS1225：ビデオ・デコーダは、現在符号化ブロックの各サブブロックの動きベクトルに基づいて動き補償を実行して、各サブブロックの予測されるサンプル値を得る。具体的には、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルと、参照フレーム・インデックスおよびインデックスによって示される予測方向とに基づいて、現在符号化ブロックの予測されたサンプル値が得られる。
【０５０１】
第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが、現在符号化ブロックの上に位置する場合、第1の近傍アフィン符号化ブロックの最も下の制御点に関する情報が、メモリから読み込まれていることが理解されうる。したがって、上述の解決策では、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、従来技術において第1の近傍符号化ブロックの左上の制御点、右上の制御点、および左下の制御点を第1のグループの制御点として固定的に使用する（あるいは第1の近傍符号化ブロックの左上の制御点および右上の制御点を第1のグループの制御点として固定的に使用する）代わりに、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。よって、本願における制御点の第1のグループを決定する方法によれば、メモリから読み出された情報が、制御点の第1のグループに関する情報（たとえば、位置座標および動きベクトル）として直接再利用でき、それにより、メモリからの読み出し回数を減らし、デコード性能を改善する。
【０５０２】
デコーダ側の別の任意的な実施形態では、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上の符号化ツリー単位（Coding  Tree  Unit、CTU）内に位置する場合、候補動きベクトル予測子のグループは、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点に基づいて決定される；または、第1の近傍アフィン符号化ブロックが、現在符号化ブロックの左のCTU内に位置する場合、候補動きベクトル予測子のグループは、第1の近傍アフィン符号化ブロックの右上の制御点および右下の制御点に基づいて決定される。詳細は次のとおり。
【０５０３】
ステップS1300：ビデオ・デコーダは、現在符号化ブロックのインター予測モードを決定する。
【０５０４】
具体的には、インター予測モードは、先進動きベクトル予測（Advanced  Motion  Vector  Prediction、AMVP）モードであってもよく、またはマージ（merge）・モードであってもよい。
【０５０５】
現在符号化ブロックについての決定されたインター予測モードがAMVPモードである場合は、ステップS1311〜S1313が実行される。
【０５０６】
現在符号化ブロックについての決定されたインター予測モードがマージ・モードである場合は、ステップS1321〜S1325が実行される。
【０５０７】
AMVPモード：
【０５０８】
ステップS1311：ビデオ・デコーダが、候補動きベクトル予測子MVPリストを構築する。
【０５０９】
具体的には、ビデオ・デコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動きベクトル予測子MVPリスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動きベクトル予測子MVPリストは、トリプレット候補動きベクトル予測子MVPリストまたは2-タプル候補動きベクトル予測子MVPリストでありうる。2つの態様は具体的には次のとおり。
【０５１０】
態様1：候補動きベクトル予測子MVPリストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０５１１】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０５１２】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて現在符号化ブロックの制御点の動きベクトルを予測する態様は、現在符号化ブロックのパラメータ・モデルによって変わる。よって、下記は、異なる場合について記述を与える。
【０５１３】
A:  現在符号化ブロックのパラメータ・モデルは、4パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる（図9Bに示される）。
【０５１４】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にある符号化ツリー単位（Coding  Tree  Unit、CTU）内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい（ステップS1301）。
【０５１５】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルおよび位置座標に基づいて形成される（ステップS1302）。
【０５１６】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(1)および(2)に示される（ステップS1303）。
【０５１７】
式(1)および(2)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルである。
【０５１８】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)と、右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいて、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標と右下の制御点の位置座標は両方とも、メモリから読まれるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、デコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶されて、必要なときに使用のためにメモリから読み出されてもよい。
【０５１９】
この場合、式(1)および(2)において、(x7−x6)はcuWと等しく、(vx7,vy7)は、ピクチャー中の位置(x4＋cuW−1,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよく、(vx6,vy6)は、ピクチャー中の位置(x4,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよい。
【０５２０】
第1の近傍アフィン符号化ブロックが現在符号化ブロックの左の符号化ツリー単位（Coding  Tree  Unit、CTU）内に位置する場合、第1の近傍アフィン符号化ブロックの最も右の2つの制御点の動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの右上の制御点の位置座標(x5,y5)および動きベクトル(vx5,vy5)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい（ステップS1304）。
【０５２１】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）は、第1の近傍アフィン符号化ブロックの2つの最も右の制御点の動きベクトルおよび位置座標に基づいて形成される（ステップS1305）。
【０５２２】
現在符号化ブロックの制御点の動きベクトルは第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は式(18)および式(19)に示される（ステップS1306）。
【数４８】
2021524708.tif 000050
【０５２３】
式(18)および(19)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルである。
【０５２４】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTU内に位置しておらず、かつ現在符号化ブロックの左のCTU内に位置していない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書において限定されない。たとえば、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じ、または異なるものでありうる。別の例では、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの左のCTU内に位置する場合に使用される予測態様と同じ、または異なるものでありうる。
【０５２５】
任意的に、候補動きベクトル予測子MVPリストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られる。第2の近傍アフィン符号化ブロックの制御点の第2のグループ内の一つまたは複数の制御点の、第2の近傍アフィン符号化ブロックに対する位置は、第1の近傍アフィン符号化ブロックの制御点の第1のグループ内の一つまたは複数の制御点の、第1の近傍アフィン符号化ブロックに対する位置とは異なる（たとえば、第1の近傍アフィン符号化ブロックの制御点の第1のグループに含まれる制御点は、第1の近傍アフィン符号化ブロックの左下の制御点、右下の制御点、および左上の制御点であるが、第2の近傍アフィン符号化ブロックの制御点の第2のグループに含まれる制御点は、第2の近傍アフィン符号化ブロックの右上の制御点、右下の制御点、および左下の制御点である）。
【０５２６】
B:  現在符号化ブロックのパラメータ・モデルは、6パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０５２７】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０５２８】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルに基づいて形成される。
【０５２９】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(1)、(2)、および(3)に示される。
【０５３０】
式(1)、(2)、および(5)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０５３１】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)と、右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいて、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標と右下の制御点の位置座標は両方とも、メモリから読まれるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、デコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶されて、必要なときに使用のためにメモリから読み出されてもよい。
【０５３２】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの左にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も右の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの右上の制御点の位置座標(x5,y5)および動きベクトル(vx5,vy5)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０５３３】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルに基づいて形成される。
【０５３４】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(18)、(19)、および(20)に示される。
【数４９】
2021524708.tif 000051
【０５３５】
式(18)、(19)、および(20)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０５３６】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTU内に位置せず、かつ、現在符号化ブロックの左のCTU内に位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書では限定されない。たとえば、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。別の例として、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの左のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。
【０５３７】
任意的に、候補動きベクトル予測子MVPリストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られる。第2の近傍アフィン符号化ブロックの制御点の第2のグループにおける一つまたは複数の制御点の、第2の近傍アフィン符号化ブロックに対する位置は、第1の近傍アフィン符号化ブロックの制御点の第1のグループにおける一つまたは複数の制御点の、第1の近傍アフィン符号化ブロックに対する位置とは異なる（たとえば、第1の近傍アフィン符号化ブロックの制御点の第1のグループに含まれる制御点は、第1の近傍アフィン符号化ブロックの左下の制御点、右下の制御点、および左上の制御点であるが、第2の近傍アフィン符号化ブロックの制御点の第2のグループに含まれる制御点は、第2の近傍アフィン符号化ブロックの右上の制御点、右下の制御点、および左下の制御点である）。
【０５３８】
態様2：候補動きベクトル予測子MVPリストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０５３９】
具体的には、態様2の原理は、ステップS1211における態様2の原理と同じである。よって、詳細はここでは再度説明しない。
【０５４０】
ステップS1312：ビデオ・デコーダは、ビットストリームをパースして、インデックスおよび動きベクトル差分MVDを得る。
【０５４１】
詳細については、ステップS1212の説明を参照されたい。詳細は、ここでは再度説明しない。
【０５４２】
ステップS1313：ビデオ・デコーダは、候補動きベクトル予測子MVPリストにおけるターゲット動きベクトル・グループを、インデックスに基づいて決定する。
【０５４３】
詳細については、ステップS1213の説明を参照されたい。詳細は、ここでは再度説明しない。
【０５４４】
ステップS1314：ビデオ・デコーダは、ターゲット候補動きベクトル・グループと、ビットストリームからパースを通じて得られた動きベクトル差分MVDとに基づいて、現在符号化ブロックの制御点の動きベクトルを決定する。
【０５４５】
詳細については、ステップS1214の説明を参照されたい。詳細は、ここでは再度説明しない。
【０５４６】
ステップS1315：ビデオ・デコーダは、パラメータに基づくアフィン変換モデルを用いて、現在符号化ブロックの制御点の決定された動きベクトルに基づいて、現在符号化ブロックの各サブブロックの動きベクトルを取得する。
【０５４７】
詳細については、ステップS1215の説明を参照されたい。詳細は、ここでは再度説明しない。
【０５４８】
ステップS1316：ビデオ・デコーダは、現在符号化ブロックの各サブブロックの動きベクトルに基づいて動き補償を実行して、各サブブロックの予測されるサンプル値を得る。
【０５４９】
詳細については、ステップS1216の説明を参照されたい。詳細は、ここでは再度説明しない。
【０５５０】
マージ・モード：
【０５５１】
ステップS1321：ビデオ・デコーダは、候補動き情報リストを構築する。
【０５５２】
具体的には、ビデオ・デコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動き情報リスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動き情報リストは、トリプレット候補動き情報リストである。2つの態様は具体的には次のとおり。
【０５５３】
態様1：候補動き情報リストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０５５４】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０５５５】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。詳細は次のとおり。
【０５５６】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０５５７】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルに基づいて形成される。
【０５５８】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル・トリプレットが形成され、候補動き情報リストに加えられる。詳細は、式(1)、(2)、および(3)に示される。
【０５５９】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル2-タプルが形成され、候補動き情報リストに加えられる。詳細は、式(1)および(2)に示される。
【０５６０】
式(1)、(2)、および(3)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０５６１】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)と、右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWである。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいて、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標と右下の制御点の位置座標は両方とも、メモリから読まれるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、デコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶されて、必要なときに使用のためにメモリから読み出されてもよい。
【０５６２】
この場合、式(1)および(2)において、(x7−x6)はcuWと等しく、(vx7,vy7)は、ピクチャー中の位置(x4＋cuW−1,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよく、(vx6,vy6)は、ピクチャー中の位置(x4,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよい。
【０５６３】
第1の近傍アフィン符号化ブロックが現在符号化ブロックの左のCTU内に位置する場合、第1の近傍アフィン符号化ブロックの最も右の2つの制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの右上の制御点の位置座標(x5,y5)および動きベクトル(vx5,vy5)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０５６４】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）は、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルに基づいて形成される。
【０５６５】
任意的に、現在符号化ブロックの制御点の動きベクトルは第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル・トリプレットが形成され、候補動き情報リストに加えられる。詳細は式(18)、(19)、および(20)に示される。
【０５６６】
任意的に、現在符号化ブロックの制御点の動きベクトルは第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル2-タプルが形成され、候補動き情報リストに加えられる。詳細は式(18)および(19)に示される。
【０５６７】
式(18)、(19)、および(20)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０５６８】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTU内に位置しておらず、かつ現在符号化ブロックの左のCTU内に位置していない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書において限定されない。たとえば、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じ、または異なるものでありうる。別の例では、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの左のCTU内に位置する場合に使用される予測態様と同じ、または異なるものでありうる。
【０５６９】
任意的に、候補動き情報リストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られる。第2の近傍アフィン符号化ブロックの制御点の第2のグループ内の一つまたは複数の制御点の、第2の近傍アフィン符号化ブロックに対する位置は、第1の近傍アフィン符号化ブロックの制御点の第1のグループ内の一つまたは複数の制御点の、第1の近傍アフィン符号化ブロックに対する位置とは異なる（たとえば、第1の近傍アフィン符号化ブロックの制御点の第1のグループに含まれる制御点は、第1の近傍アフィン符号化ブロックの左下の制御点、右下の制御点、および左上の制御点であるが、第2の近傍アフィン符号化ブロックの制御点の第2のグループに含まれる制御点は、第2の近傍アフィン符号化ブロックの右上の制御点、右下の制御点、および左下の制御点である）。
【０５７０】
態様2：候補動き情報リストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０５７１】
具体的には、態様2の原理は、ステップS1221における態様2の原理と同じである。よって、詳細はここでは再度説明しない。
【０５７２】
ステップS1322：ビデオ・デコーダは、ビットストリームをパースして、インデックスを得る。
【０５７３】
詳細については、ステップS1222の説明を参照されたい。詳細は、ここでは再度説明しない。
【０５７４】
ステップS1223：ビデオ・デコーダは、候補動き情報リスト内のターゲット動きベクトル・グループをインデックスに基づいて決定する。
【０５７５】
詳細については、ステップS1223の説明を参照されたい。詳細は、ここでは再度説明しない。
【０５７６】
ステップS1324：ビデオ・デコーダは、パラメータに基づくアフィン変換モデルを用いて、現在符号化ブロックの制御点の決定された動きベクトルに基づいて、現在符号化ブロックの各サブブロックの動きベクトルを取得する。
【０５７７】
詳細については、ステップS1224の説明を参照されたい。詳細は、ここでは再度説明しない。
【０５７８】
ステップS1325：ビデオ・デコーダは、現在符号化ブロックの各サブブロックの動きベクトルに基づいて動き補償を実行し、各サブブロックの予測されるサンプル値を得る。
【０５７９】
詳細については、ステップS1225の説明を参照されたい。詳細は、ここでは再度説明しない。
【０５８０】
第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが、現在符号化ブロックの上に位置する場合、第1の近傍アフィン符号化ブロックの最も下の制御点に関する情報が、メモリから読み込まれていることが理解されうる。第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが、現在符号化ブロックの左に位置する場合は、第1の近傍アフィン符号化ブロックの最も右の制御点に関する情報が、メモリから読み込まれている。したがって、上述の解決策では、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、従来技術において第1の近傍符号化ブロックの左上の制御点、右上の制御点、および左下の制御点を制御点の第1のグループとして固定的に使用する代わりに（あるいは、第1の近傍符号化ブロックの左上の制御点および右上の制御点を制御点の第1のグループとして固定的に使用する代わりに）、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点である。ここで、第1の近傍アフィン符号化ブロックは該CTU内に位置する。よって、本願における制御点の第1のグループを決定する方法によれば、メモリから読み出されている情報が、制御点の第1のグループに関する情報（たとえば、位置座標および動きベクトル）として直接再利用でき、それにより、メモリからの読み出し回数を減らし、デコード性能を改善する。
【０５８１】
デコーダ側の別の任意的な実施形態では、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上の符号化ツリー単位（Coding  Tree  Unit、CTU）内に位置する場合、候補動きベクトル予測子のグループは、第1の近傍アフィン符号化ブロックの左下の制御点、右下の制御点、および右上の制御点に基づいて決定される。詳細は次のとおり。
【０５８２】
ステップS1400：ビデオ・デコーダは、現在符号化ブロックについてのインター予測モードを決定する。
【０５８３】
具体的には、インター予測モードは、先進動きベクトル予測（Advanced  Motion  Vector  Prediction、AMVP）モードであってもよく、またはマージ（merge）・モードであってもよい。
【０５８４】
現在符号化ブロックについての決定されたインター予測モードがAMVPモードである場合は、ステップS1411〜S1416が実行される。
【０５８５】
現在符号化ブロックについての決定されたインター予測モードがマージ・モードである場合は、ステップS1421〜S1425が実行される。
【０５８６】
AMVPモード：
【０５８７】
ステップS1411：ビデオ・デコーダが、候補動きベクトル予測子MVPリストを構築する。
【０５８８】
具体的には、ビデオ・デコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動きベクトル予測子MVPリスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動きベクトル予測子MVPリストは、トリプレット候補動きベクトル予測子MVPリストまたは2-タプル候補動きベクトル予測子MVPリストでありうる。2つの態様は具体的には次のとおり。
【０５８９】
態様1：候補動きベクトル予測子MVPリストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０５９０】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０５９１】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて現在符号化ブロックの制御点の動きベクトルを予測する態様は、現在符号化ブロックのパラメータ・モデルによって変わる。よって、下記は、異なる場合について記述を与える。
【０５９２】
A:  現在符号化ブロックのパラメータ・モデルは、4パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる（図9Cに示される）。
【０５９３】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にある符号化ツリー単位（Coding  Tree  Unit、CTU）内に位置する場合、第1の近傍アフィン符号化ブロックの左上の制御点および2つの最も下の制御点の動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)および動きベクトル(vx4,vy4)、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい（ステップS1401）。
【０５９４】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは6パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標および動きベクトル、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および動きベクトル、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標および動きベクトルに基づいて形成される（ステップS1402）。
【０５９５】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(21)および(22)に示される（ステップS1403）。
【数５０】
2021524708.tif 000052
【０５９６】
式(21)および(22)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルである。
【０５９７】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)と、右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいて、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標と右下の制御点の位置座標は両方とも、メモリから読まれるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、デコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶されて、必要なときに使用のためにメモリから読み出されてもよい。
【０５９８】
この場合、式(1)および(2)において、(x7−x6)はcuWと等しく、(vx7,vy7)は、ピクチャー中の位置(x4＋cuW−1,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよく、(vx6,vy6)は、ピクチャー中の位置(x4,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよい。
【０５９９】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTU内に位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書において限定されない。具体的には、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じ、または異なるものでありうる。
【０６００】
B:  現在符号化ブロックのパラメータ・モデルは、6パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０６０１】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの左上の制御点および2つの最も下の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)および動きベクトル(vx4,vy4)、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０６０２】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは6パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標および動きベクトル、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および動きベクトル、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標および動きベクトルに基づいて形成される。
【０６０３】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(21)、(22)、および(23)に示される。
【数５１】
2021524708.tif 000053
【０６０４】
式(21)、(22)、および(23)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０６０５】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTU内に位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書では限定されない。具体的には、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。
【０６０６】
態様2：候補動きベクトル予測子MVPリストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０６０７】
具体的には、態様2の原理は、ステップS1211における態様2の原理と同じである。よって、詳細はここでは再度説明しない。
【０６０８】
ステップS1412：ビデオ・デコーダは、ビットストリームをパースして、インデックスおよび動きベクトル差分MVDを得る。
【０６０９】
詳細については、ステップS1212の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６１０】
ステップS1413：ビデオ・デコーダは、候補動きベクトル予測子MVPリストにおけるターゲット動きベクトル・グループを、インデックスに基づいて決定する。
【０６１１】
詳細については、ステップS1213の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６１２】
ステップS1414：ビデオ・デコーダは、ターゲット候補動きベクトル・グループと、ビットストリームからパースを通じて得られた動きベクトル差分MVDとに基づいて、現在符号化ブロックの制御点の動きベクトルを決定する。
【０６１３】
詳細については、ステップS1214の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６１４】
ステップS1415：ビデオ・デコーダは、パラメータに基づくアフィン変換モデルを用いて、現在符号化ブロックの制御点の決定された動きベクトルに基づいて、現在符号化ブロックの各サブブロックの動きベクトルを取得する。
【０６１５】
詳細については、ステップS1215の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６１６】
ステップS1416：ビデオ・デコーダは、現在符号化ブロックの各サブブロックの動きベクトルに基づいて動き補償を実行して、各サブブロックの予測されるサンプル値を得る。
【０６１７】
詳細については、ステップS1216の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６１８】
マージ・モード：
【０６１９】
ステップS1421：ビデオ・デコーダは、候補動き情報リストを構築する。
【０６２０】
具体的には、ビデオ・デコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動き情報リスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動き情報リストは、トリプレット候補動き情報リストである。2つの態様は具体的には次のとおり。
【０６２１】
態様1：候補動き情報リストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０６２２】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０６２３】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。詳細は次のとおり。
【０６２４】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの左上の制御点および2つの最も下の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)および動きベクトル(vx4,vy4)、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０６２５】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは6パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標および動きベクトル、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および動きベクトル、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標および動きベクトルに基づいて形成される。
【０６２６】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル・トリプレットが形成され、候補動き情報リストに加えられる。詳細は、式(21)、(22)、および(23)に示される。
【０６２７】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル2-タプルが形成され、候補動き情報リストに加えられる。詳細は、式(21)および(22)に示される。
【０６２８】
式(21)、(22)、および(23)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０６２９】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTU内に位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書では限定されない。具体的には、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。
【０６３０】
態様2：候補動き情報リストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０６３１】
具体的には、態様2の原理は、ステップS1221における態様2の原理と同じである。よって、詳細はここでは再度説明しない。
【０６３２】
ステップS1422：ビデオ・デコーダは、ビットストリームをパースして、インデックスを得る。
【０６３３】
詳細については、ステップS1222の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６３４】
ステップS1423：ビデオ・デコーダは、候補動き情報リスト内のターゲット動きベクトル・グループをインデックスに基づいて決定する。
【０６３５】
詳細については、ステップS1223の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６３６】
ステップS1424：ビデオ・デコーダは、6パラメータ・アフィン変換モデルを用いて、現在符号化ブロックの制御点の決定された動きベクトルに基づいて、現在符号化ブロックの各サブブロックの動きベクトルを取得する。
【０６３７】
詳細については、ステップS1224の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６３８】
ステップS1425：ビデオ・デコーダは、現在符号化ブロックの各サブブロックの動きベクトルに基づいて動き補償を実行し、各サブブロックの予測されるサンプル値を得る。
【０６３９】
詳細については、ステップS1225の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６４０】
第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが、現在符号化ブロックの上に位置する場合、第1の近傍アフィン符号化ブロックの最も下の制御点に関する情報が、メモリから読み込まれていることが理解されうる。したがって、上述の解決策では、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、従来技術において第1の近傍符号化ブロックの左上の制御点、右上の制御点、および左下の制御点を制御点の第1のグループとして固定的に使用する（あるいは第1の近傍符号化ブロックの左上の制御点および右上の制御点を第1のグループの制御点として固定的に使用する）代わりに、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。よって、本願における制御点の第1のグループを決定する方法によれば、メモリから読み出された情報が、制御点の第1のグループに関する情報（たとえば、位置座標および動きベクトル）として直接再利用でき、それにより、メモリからの読み出し回数を減らし、デコード性能を改善する。
【０６４１】
デコーダ側の別の任意的な実施形態では、第1の近傍アフィン符号化ブロックの、現在符号化ブロックに対する位置にかかわりなく、候補動きベクトル予測子のグループは、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点に基づいて直接、決定される。詳細は次のとおり。
【０６４２】
ステップS1500：ビデオ・デコーダは、現在符号化ブロックについてのインター予測モードを決定する。
【０６４３】
具体的には、インター予測モードは、先進動きベクトル予測（Advanced  Motion  Vector  Prediction、AMVP）モードであってもよく、またはマージ（merge）・モードであってもよい。
【０６４４】
現在符号化ブロックについての決定されたインター予測モードがAMVPモードである場合は、ステップS1511〜S1516が実行される。
【０６４５】
現在符号化ブロックについての決定されたインター予測モードがマージ・モードである場合は、ステップS1521〜S1525が実行される。
【０６４６】
AMVPモード：
【０６４７】
ステップS1511：ビデオ・デコーダが、候補動きベクトル予測子MVPリストを構築する。
【０６４８】
具体的には、ビデオ・デコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動きベクトル予測子MVPリスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動きベクトル予測子MVPリストは、トリプレット候補動きベクトル予測子MVPリストまたは2-タプル候補動きベクトル予測子MVPリストでありうる。2つ態様は具体的には次のとおり。
【０６４９】
態様1：候補動きベクトル予測子MVPリストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０６５０】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０６５１】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて現在符号化ブロックの制御点の動きベクトルを予測する態様は、現在符号化ブロックのパラメータ・モデルによって変わる。よって、下記は、異なる場合について記述を与える。
【０６５２】
A:  現在符号化ブロックのパラメータ・モデルは、4パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる（図9Dに示される）。
【０６５３】
第1の近傍アフィン符号化ブロックの、現在符号化ブロックに対する位置にかかわりなく、第1の近傍アフィン符号化ブロックの左上の制御点および2つの最も下の制御点の動きベクトルが直接、得られる。たとえば、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)および動きベクトル(vx4,vy4)、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい（ステップS1501）。
【０６５４】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは6パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標および動きベクトル、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および動きベクトル、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標および動きベクトルに基づいて形成される（ステップS1502）。
【０６５５】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(21)および(22)に示される（ステップ1503）。
【数５２】
2021524708.tif 000054
【０６５６】
式(21)および(22)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルである。
【０６５７】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)と、右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいて、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標と右下の制御点の位置座標は両方とも、メモリから読まれるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、デコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶されて、必要なときに使用のためにメモリから読み出されてもよい。
【０６５８】
この場合、式(1)および(2)において、(x7−x6)はcuWと等しく、(vx7,vy7)は、ピクチャー中の位置(x4＋cuW−1,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよく、(vx6,vy6)は、ピクチャー中の位置(x4,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよい。
【０６５９】
任意的に、候補動きベクトル予測子MVPリストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られ、第2の近傍アフィン符号化ブロックの制御点の第2のグループは、第2の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。
【０６６０】
B:  現在符号化ブロックのパラメータ・モデルは、6パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０６６１】
第1の近傍アフィン符号化ブロックの、現在符号化ブロックに対する位置にかかわりなく、第1の近傍アフィン符号化ブロックの左上の制御点および2つの最も下の制御点の位置座標および動きベクトルが直接、得られる。たとえば、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)および動きベクトル(vx4,vy4)、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０６６２】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは6パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標および動きベクトル、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および動きベクトル、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標および動きベクトルに基づいて形成される。
【０６６３】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(21)、(22)、および(23)に示される。
【０６６４】
式(21)、(22)、および(23)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０６６５】
任意的に、候補動きベクトル予測子MVPリストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られ、第2の近傍アフィン符号化ブロックの制御点の第2のグループは、第2の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。
【０６６６】
態様2：候補動きベクトル予測子MVPリストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０６６７】
具体的には、態様2の原理は、ステップS1211における態様2の原理と同じである。よって、詳細はここでは再度説明しない。
【０６６８】
ステップS1512：ビデオ・デコーダは、ビットストリームをパースして、インデックスおよび動きベクトル差分MVDを得る。
【０６６９】
詳細については、ステップS1212の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６７０】
ステップS1513：ビデオ・デコーダは、候補動きベクトル予測子MVPリストにおけるターゲット動きベクトル・グループを、インデックスに基づいて決定する。
【０６７１】
詳細については、ステップS1213の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６７２】
ステップS1514：ビデオ・デコーダは、ターゲット候補動きベクトル・グループと、ビットストリームからパースを通じて得られた動きベクトル差分MVDとに基づいて、現在符号化ブロックの制御点の動きベクトルを決定する。
【０６７３】
詳細については、ステップS1214の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６７４】
ステップS1515：ビデオ・デコーダは、パラメータに基づくアフィン変換モデルを用いて、現在符号化ブロックの制御点の決定された動きベクトルに基づいて、現在符号化ブロックの各サブブロックの動きベクトルを取得する。
【０６７５】
詳細については、ステップS1215の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６７６】
ステップS1516：ビデオ・デコーダは、現在符号化ブロックの各サブブロックの動きベクトルに基づいて動き補償を実行して、各サブブロックの予測されるサンプル値を得る。
【０６７７】
詳細については、ステップS1216の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６７８】
マージ・モード：
【０６７９】
ステップS1521：ビデオ・デコーダは、候補動き情報リストを構築する。
【０６８０】
具体的には、ビデオ・デコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動き情報リスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動き情報リストは、トリプレット候補動き情報リストである。2つの態様は具体的には次のとおり。
【０６８１】
態様1：候補動き情報リストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０６８２】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０６８３】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。詳細は次のとおり。
【０６８４】
第1の近傍アフィン符号化ブロックの、現在符号化ブロックに対する位置にかかわりなく、第1の近傍アフィン符号化ブロックの左上の制御点および2つの最も下の制御点の位置座標および動きベクトルが直接、得られる。たとえば、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)および動きベクトル(vx4,vy4)、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０６８５】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは6パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標および動きベクトル、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および動きベクトル、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標および動きベクトルに基づいて形成される。
【０６８６】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル・トリプレットが形成され、候補動き情報リストに加えられる。詳細は、式(21)、(22)、および(23)に示される。
【０６８７】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル2-タプルが形成され、候補動き情報リストに加えられる。詳細は、式(21)および(22)に示される。
【０６８８】
式(21)、(22)、および(23)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０６８９】
任意的に、候補動き情報リストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られ、第2の近傍アフィン符号化ブロックの制御点の第2のグループは、第2の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。
【０６９０】
態様2：候補動き情報リストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０６９１】
具体的には、態様2の原理は、ステップS1221における態様2の原理と同じである。よって、詳細はここでは再度説明しない。
【０６９２】
ステップS1522：ビデオ・デコーダは、ビットストリームをパースして、インデックスを得る。
【０６９３】
詳細については、ステップS1222の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６９４】
ステップS1523：ビデオ・デコーダは、候補動き情報リスト内のターゲット動きベクトル・グループをインデックスに基づいて決定する。
【０６９５】
詳細については、ステップS1223の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６９６】
ステップS1524：ビデオ・デコーダは、パラメータに基づくアフィン変換モデルを用いて、現在符号化ブロックの制御点の決定された動きベクトルに基づいて、現在符号化ブロックの各サブブロックの動きベクトルを取得する。
【０６９７】
詳細については、ステップS1224の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６９８】
ステップS1525：ビデオ・デコーダは、現在符号化ブロックの各サブブロックの動きベクトルに基づいて動き補償を実行し、各サブブロックの予測されるサンプル値を得る。
【０６９９】
詳細については、ステップS1225の説明を参照されたい。詳細は、ここでは再度説明しない。
【０７００】
第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが、現在符号化ブロックの上に位置する場合、第1の近傍アフィン符号化ブロックの最も下の制御点に関する情報が、メモリから読み込まれていることが理解されうる。したがって、上述の解決策では、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、従来技術において第1の近傍符号化ブロックの左上の制御点、右上の制御点、および左下の制御点を制御点の第1のグループとして固定的に使用する（あるいは第1の近傍符号化ブロックの左上の制御点および右上の制御点を第1のグループの制御点として固定的に使用する）代わりに、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。よって、本願における制御点の第1のグループを決定する方法によれば、メモリから読み出された情報が、制御点の第1のグループに関する情報（たとえば、位置座標および動きベクトル）として直接再利用でき、それにより、メモリからの読み出し回数を減らし、デコード性能を改善する。
【０７０１】
図10は、本願のある実施形態による、エンコード装置またはデコード装置（符号化装置1000と略称される）の実装の概略ブロック図である。符号化装置1000は、プロセッサ1010、メモリ1030、およびバス・システム1050を含んでいてもよい。プロセッサとメモリは、バス・システムを通じて接続される。メモリは命令を記憶するように構成される。プロセッサは、メモリに記憶された命令を実行するように構成される。エンコード装置のメモリは、プログラム・コードを記憶する。プロセッサは、メモリに記憶されたプログラム・コードを呼び出して、本願に記載されたビデオ符号化またはデコード方法、特に、さまざまな新しいインター予測モードでのビデオ符号化またはデコード方法、およびさまざまな新しいインター予測モードでの動き情報予測方法を実行することができる。反復を回避するために、詳細は、ここでは再度説明されない。
【０７０２】
本願のこの実施形態では、プロセッサ1010は、中央処理装置（Central  Processing  Unit、略「CPU」）であってもよく、またはプロセッサ1010は、別の汎用プロセッサ、デジタル信号プロセッサ（DSP）、特定用途向け集積回路（ASIC）、フィールド・プログラマブル・ゲート・アレイ（FPGA）、または別のプログラマブル・ロジック・デバイス、離散的なゲートまたはトランジスタ・ロジック・デバイス、離散的なハードウェア・コンポーネントなどであってもよい。汎用プロセッサは、マイクロプロセッサであってもよく、またはプロセッサは、任意の従来のプロセッサ等であってもよい。
【０７０３】
メモリ1030は、読み出し専用メモリ（ROM）デバイスまたはランダムアクセスメモリ（RAM）デバイスを含んでいてもよい。メモリ1030としては、適切なタイプの任意の他の記憶装置が使用されてもよい。メモリ1030は、バス1050を通じてプロセッサ1010によってアクセスされるコードおよびデータ1031を含んでいてもよい。メモリ1030は、オペレーティング・システム1033およびアプリケーションプログラム1035をさらに含んでいてもよい。アプリケーションプログラム1035は、プロセッサ1010が、本願に記載されるビデオ符号化またはデコード方法（特に、本願に記載されたインター予測方法または動き情報予測方法）を実行することを許容する少なくとも1つのプログラムを含む。たとえば、アプリケーションプログラム1035は、アプリケーション1〜Nを含んでいてもよく、さらに、本願に記載されるビデオ符号化またはデコード方法を実行するためのビデオ符号化またはデコードアプリケーション（ビデオ符号化アプリケーションと略称される）を含んでいてもよい。
【０７０４】
バス・システム1050は、データ・バスに加えて、電力バス、制御バス、ステータス信号バスなどをさらに含んでいてもよい。しかしながら、明確な記述のために、図中のさまざまなタイプのバスはすべてバス・システム1050としてマークされている。
【０７０５】
任意的に、符号化装置1000は、一つまたは複数の出力装置、たとえば、ディスプレイ1070をさらに含んでいてもよい。一例では、ディスプレイ1070は、動作上、タッチ入力を感知することができるタッチユニットとディスプレイを統合するタッチディスプレイであってもよい。ディスプレイ1070は、バス1050を通じてプロセッサ1010に接続されてもよい。
【０７０６】
図11は、ある例示的実施形態による、図2Aのエンコーダ20および／または図2Bのデコーダ200を含むビデオ符号化システム1100の一例の例解図である。システム1100は、本願のさまざまな技術の組み合わせを実装してもよい。記載された実装において、ビデオ符号化システム1100は、撮像装置1101、ビデオ・エンコーダ100、ビデオ・デコーダ200（および／または処理ユニット1106の論理回路1107を使用して実装されるビデオ・エンコーダ）、アンテナ1102、一つまたは複数のプロセッサ1103、一つまたは複数のメモリ1104、および／または、表示装置1105を含んでいてもよい。
【０７０７】
図に示されるように、撮像装置1101、アンテナ1102、処理ユニット1106、論理回路1107、ビデオ・エンコーダ100、ビデオ・デコーダ200、プロセッサ1103、メモリ1104、および／または表示装置1105は、互いに通信することができる。記載されるように、ビデオ符号化システム1100は、ビデオ・エンコーダ100およびビデオ・デコーダ200を使用して示されるが、異なる例では、ビデオ符号化システム1100は、ビデオ・エンコーダ100のみ、またはビデオ・デコーダ200のみを含んでいてもよい。
【０７０８】
いくつかの例では、図に示されるように、ビデオ符号化システム1100は、アンテナ1102を含んでいてもよい。たとえば、アンテナ1102は、ビデオ・データのエンコードされたビットストリームを送信または受信するように構成されてもよい。さらに、いくつかの例では、ビデオ符号化システム1100は、表示装置1105を含んでいてもよい。表示装置1105は、ビデオ・データを提示するように構成されてもよい。いくつかの例では、図に示されるように、論理回路1107は、処理ユニット1106によって実装されてもよい。処理ユニット1106は、特定用途向け集積回路（application-specific  integrated  circuit、ASIC）ロジック、グラフィックス・プロセッサ、汎用プロセッサなどを含んでいてもよい。ビデオ符号化システム1100は、任意的なプロセッサ1103をさらに含んでいてもよい。任意的なプロセッサ1103は、同様に、特定用途向け集積回路（application-specific  integrated  circuit、ASIC）ロジック、グラフィックス・プロセッサ、汎用プロセッサなどを含んでいてもよい。いくつかの例では、論理回路1107は、ハードウェア、たとえば、ビデオ符号化のための専用ハードウェアを使用することによって実装されてもよい。プロセッサ1103は、汎用ソフトウェア、オペレーティング・システムなどを使用して実装されてもよい。さらに、メモリ1104は、任意のタイプのメモリ、たとえば、揮発性メモリ（たとえば、スタティックランダムアクセスメモリ（Static  Random  Access  Memory、SRAM）、またはダイナミックランダムアクセスメモリ（Dynamic  Random  Access  Memory、DRAM））または不揮発性メモリ（たとえば、フラッシュメモリ）であってもよい。制約しない一例では、メモリ1104は、キャッシュメモリによって実装されてもよい。いくつかの例では、論理回路1107は、（たとえば、ピクチャー・バッファを実装するために）メモリ1104にアクセスしてもよい。他の例では、論理回路1107および／または処理ユニット1106は、ピクチャー・バッファを実装するためのメモリ（たとえば、キャッシュ）を含んでいてもよい。
【０７０９】
いくつかの例では、論理回路を使用して実装されるビデオ・エンコーダ100は、ピクチャー・バッファ（たとえば、処理ユニット1106またはメモリ1104によって実装される）およびグラフィックス処理ユニット（たとえば、処理ユニット1106によって実装される）を含んでいてもよい。グラフィックス処理ユニットは、ピクチャー・バッファに通信上結合されてもよい。グラフィックス処理ユニットは、図1Aを参照して説明したさまざまなモジュールおよび／または本明細書で説明した任意の他のエンコーダ・システムもしくはサブシステムを実装するために、論理回路1107を使用して実装されたビデオ・エンコーダ100を含んでいてもよい。論理回路は、本明細書に記載されるさまざまな動作を実行するように構成されてもよい。
【０７１０】
ビデオ・デコーダ200は、図1Bのデコーダ200を参照して説明したさまざまなモジュール、および／または本明細書に説明した任意の他のデコーダ・システムもしくはサブシステムを実装するために、論理回路1107によって同様の仕方で実装されてもよい。いくつかの例では、論理回路を使用して実装されるビデオ・デコーダ200は、ピクチャー・バッファ（処理ユニット2820またはメモリ1104によって実装される）およびグラフィックス処理ユニット（たとえば、処理ユニット1106によって実装される）を含んでいてもよい。グラフィックス処理ユニットは、ピクチャー・バッファに通信上結合されてもよい。グラフィックス処理ユニットは、図1Bを参照して説明したさまざまなモジュールおよび／または本明細書で説明した任意の他のデコーダ・システムもしくはサブシステムを実装するために、論理回路1107を使用して実装されたビデオ・デコーダ200を含んでいてもよい。
【０７１１】
いくつかの例では、ビデオ符号化システム1100のアンテナ1102は、ビデオ・データのエンコードされたビットストリームを受信するように構成されてもよい。記載されるように、エンコードされたビットストリームは、ビデオ・フレーム・エンコードに関連し、本明細書に記載されるデータ、インジケータ、インデックス値、モード選択データなど、たとえば符号化のための分割に関連するデータ（たとえば、変換係数または量子化された変換係数、任意的なインジケータ（記載されるようなもの）、および／または符号化のための分割を定義するデータ）を含んでいてもよい。ビデオ符号化システム1100は、アンテナ1102に結合され、エンコードされたビットストリームをデコードするように構成されたビデオ・デコーダ200をさらに含んでいてもよい。表示装置1105は、ビデオ・フレームを提示するように構成される。
【０７１２】
上記の方法手順のステップにおいて、ステップの記述順序は、ステップの実行順序を表わさない。ステップは、上記の記載順序に従って実行されても、されなくてもよい。たとえば、ステップS1211は、ステップS1212の後に実行されてもよく、またはステップS1212の前に実行されてもよく、ステップS1221は、ステップS1222の後に実行されてもよく、またはステップS1222の前に実行されてもよい。他のステップは、ここで1つずつ列挙されない。
【０７１３】
当業者は、本明細書に開示および記載されたさまざまな例示的な論理ブロック、モジュール、およびアルゴリズム・ステップを参照して記載された機能が、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせによって実装できることを理解することができる。ソフトウェアによって実装される場合、例示的な論理ブロック、モジュール、およびステップを参照して記載された機能は、一つまたは複数の命令またはコードとしてコンピュータ読み取り可能媒体に記憶されるか、またはコンピュータ読み取り可能媒体を通じて伝送され、ハードウェアベースの処理ユニットによって実行されることができる。コンピュータ読み取り可能媒体は、データ記憶媒体のような有形媒体に対応するコンピュータ可読記憶媒体を含んでいてもよく、あるいは、ある場所から他の場所への（たとえば、通信プロトコルに従った）コンピュータ・プログラムの伝送を容易にする任意の通信媒体を含んでいてもよい。このようにして、コンピュータ読み取り可能媒体は、一般に、（1）非一時的な有形コンピュータ読み取り可能記憶媒体、または（2）信号または搬送波のような通信媒体に対応しうる。データ記憶媒体は、本願に記載される技術を実装するための命令、コード、および／またはデータ構造を取り出すために、一つまたは複数のコンピュータまたは一つまたは複数のプロセッサによってアクセスされることができる任意の使用可能な媒体でありうる。コンピュータ・プログラム製品は、コンピュータ読み取り可能媒体を含むことができる。
【０７１４】
限定ではないが、例として、そのようなコンピュータ読み取り可能記憶媒体は、RAM、ROM、EEPROM、CD-ROMまたは他のコンパクトディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶装置、フラッシュメモリ、または命令またはデータ構造の形で所望のプログラム・コードを記憶するために使用されることができ、コンピュータによってアクセスされることができる任意の他の媒体を含むことができる。さらに、どのような接続も、適正にコンピュータ読み取り可能媒体と呼ばれる。たとえば、同軸ケーブル、光ファイバー、ツイストペア、デジタル加入者線（DSL）、または赤外線、電波、もしくはマイクロ波のような無線技術を通じて、ウェブサイト、サーバー、または他のリモート源から命令が送信される場合、その同軸ケーブル、光ファイバー、ツイストペア、DSL、または赤外線、電波、もしくはマイクロ波のような無線技術は、媒体の定義に含まれる。しかしながら、コンピュータ読み取り可能な記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的な媒体を含まず、実際には非一時的な有形記憶媒体を意味することが理解されるべきである。本明細書において使用されるディスク（disk）およびディスク（disc）は、コンパクトディスク（CD）、レーザディスク、光ディスク、デジタル多用途ディスク（DVD）、およびブルーレイディスクを含む。ディスク（disk）は通例、磁気的にデータを再生するが、ディスク（disc）は光学的にレーザーでデータを再生する。上記の項目の組み合わせもまた、コンピュータ読み取り可能媒体の範囲に含まれるべきである。
【０７１５】
命令は、一つまたは複数のデジタル信号プロセッサ（DSP）、汎用マイクロプロセッサ、特定用途向け集積回路（ASIC）、フィールドプログラマブルゲートアレイ（FPGA）、または他の等価な集積または離散的論理回路といった一つまたは複数のプロセッサによって実行されうる。したがって、本明細書で使用される用語「プロセッサ」は、上記の構造のいずれか、または本明細書に記載される技術を実装するのに好適な任意の他の構造でありうる。さらに、いくつかの側面において、本明細書に記載される例示的な論理ブロック、モジュール、およびステップを参照して記載される機能は、エンコードおよびデコードのために構成される専用のハードウェアおよび／またはソフトウェアモジュール内に提供されてもよく、または組み合わされたコーデックに組み込まれてもよい。さらに、これらの技術は、完全に一つまたは複数の回路または論理素子において実装されてもよい。
【０７１６】
本願における技術は、無線ハンドセット、集積回路（IC）、または一組のIC（たとえば、チップセット）を含むさまざまな装置またはデバイスにおいて実装されうる。開示された技術を実行するように構成された装置の機能的側面を強調するために、さまざまなコンポーネント、モジュール、またはユニットが本願に記載されているが、必ずしも異なるハードウェアユニットによって実装されるわけではない。実際には、上述のように、さまざまなユニットが、適切なソフトウェアおよび／またはファームウェアと組み合わせてコーデック・ハードウェアユニットに組み合わされてもよく、または、相互運用可能なハードウェアユニット（上述の一つまたは複数のプロセッサを含む）によって提供されてもよい。
【０７１７】
上記の説明は、単に本願の個別的な実装の例であり、本願の保護範囲を制限するために意図されたものではない。本願に開示された技術的範囲内で、当業者によって容易に割り出される任意の変形または代替は、本願の保護範囲内にはいる。したがって、本願の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
【図１Ａ】
2021524708.tif 000055
【図１Ｂ】
2021524708.tif 000056
【図２Ａ】
2021524708.tif 000057
【図２Ｂ】
2021524708.tif 000058
【図３】
2021524708.tif 000059
【図４】
2021524708.tif 000060
【図５Ａ】
2021524708.tif 000061
【図５Ｂ】
2021524708.tif 000062
【図５Ｃ】
2021524708.tif 000063
【図５Ｄ】
2021524708.tif 000064
【図６】
2021524708.tif 000065
【図７Ａ】
2021524708.tif 000066
【図７Ｂ】
2021524708.tif 000067
【図８Ａ】
2021524708.tif 000068
【図８Ｂ】
2021524708.tif 000069
【図９】
2021524708.tif 000070
【図９Ａ】
2021524708.tif 000071
【図９Ｂ】
2021524708.tif 000072
【図９Ｃ】
2021524708.tif 000073
【図９Ｄ】
2021524708.tif 000074
【図１０】
2021524708.tif 000075
【図１１】
2021524708.tif 000076
【手続補正書】
【提出日】令和3年3月17日(2021.3.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
エンコード方法であって：
レート‐歪みコスト基準に従って、アフィン候補動きベクトル・リスト内のターゲット候補動きベクトル・グループを決定するステップであって、前記ターゲット候補動きベクトル・グループは、現在符号化ブロックの制御点のグループの動きベクトル予測子を表わし、前記アフィン候補動きベクトル・リストは、少なくとも第1の候補動きベクトル・グループを含み、前記第1の候補動きベクトル・グループは、前記現在符号化ブロックの第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られ、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であって、前記第1の近傍アフィン符号化ブロックは前記CTU内に位置する、ステップと；
前記ターゲット候補動きベクトル・グループに対応するインデックスを、送信されるべきビットストリーム中にエンコードするステップとを含む、
方法。
【請求項２】
前記現在符号化ブロックが位置する符号化ツリー単位CTUと前記第1の近傍アフィン符号化ブロックが位置する前記CTUとの間にCTU境界がある、請求項１に記載の方法。
【請求項３】
前記第1の候補動きベクトル・グループが、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られることは、具体的には：
前記第1の候補動きベクトル・グループが、第1のアフィン・モデルに基づいて得られ、前記第1のアフィン・モデルが、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループの動きベクトルおよび位置座標に基づいて決定されることである、
請求項１または２に記載の方法。
【請求項４】
前記アフィン候補動きベクトル・リストは、第2の候補動きベクトル・グループをさらに含み、前記第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られ；前記第2の近傍アフィン符号化ブロックの制御点の前記第2のグループにおける一つまたは複数の制御点の、前記第2の近傍アフィン符号化ブロックに対する位置は、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループにおける一つまたは複数の制御点の、前記第1の近傍アフィン符号化ブロックに対する位置とは異なる、または前記第2の近傍アフィン符号化ブロックの制御点の前記第2のグループは、前記第2の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、
請求項１ないし３のうちいずれか一項に記載の方法。
【請求項５】
前記ターゲット候補動きベクトル・グループを開始探索点として使用することによって、前記レート‐歪みコスト基準に従って、事前設定された探索範囲内で、制御点のグループの、最低の諸コストをもつ諸動きベクトルを探すステップと；
前記ターゲット候補動きベクトル・グループと制御点の前記グループの前記動きベクトルとの間の動きベクトル差分MVDを決定するステップとをさらに含み、
前記ターゲット候補動きベクトル・グループに対応するインデックスを、送信されるべきビットストリーム中にエンコードすることは：
それらのMVDおよび前記ターゲット候補動きベクトル・グループに対応する前記インデックスを、前記送信されるべきビットストリーム中にエンコードすることを含む、
請求項１ないし４のうちいずれか一項に記載の方法。
【請求項６】
前記ターゲット候補動きベクトル・グループに対応するインデックスを、送信されるべきビットストリーム中にエンコードすることは：
前記ターゲット候補動きベクトル・グループに対応する前記インデックス、参照フレーム・インデックス、および予測方向に対応するインデックスを、前記送信されるべきビットストリーム中にエンコードすることを含む、
請求項１ないし４のうちいずれか一項に記載の方法。
【請求項７】
前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であって、前記第1の近傍アフィン符号化ブロックは前記CTU内に位置する、ことは：
前記第1の近傍アフィン符号化ブロックが前記現在符号化ブロックの上の符号化ツリー単位CTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ことを含む、
請求項１ないし６のうちいずれか一項に記載の方法。
【請求項８】
前記第1の近傍アフィン符号化ブロックが前記現在ブロックの上の前記CTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、さらに、前記第1の近傍アフィン符号化ブロックの左上の制御点または右上の制御点を含む、請求項７に記載の方法。
【請求項９】
前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であって、前記第1の近傍アフィン符号化ブロックは前記CTU内に位置する、ことは：
前記第1の近傍アフィン符号化ブロックが前記現在符号化ブロックの左のCTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの右上の制御点および右下の制御点を含む、ことを含む、
請求項１ないし６のうちいずれか一項に記載の方法。
【請求項１０】
前記第1の近傍アフィン符号化ブロックが前記現在符号化ブロックの左の前記CTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、さらに、前記第1の近傍アフィン符号化ブロックの左上の制御点または左下の制御点を含む、請求項９に記載の方法。
【請求項１１】
前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループが、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む場合に、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループはさらに、前記第1の近傍アフィン符号化ブロックの左上の制御点を含む、請求項１ないし６のうちいずれか一項に記載の方法。
【請求項１２】
前記第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および前記第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)の両方が、前記第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて導出され、前記第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)で表わされ、前記第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)で表わされ、cuWは前記第1の近傍アフィン符号化ブロックの幅であり、cuHは前記第1の近傍アフィン符号化ブロックの高さである、請求項１ないし１１のうちいずれか一項に記載の方法。
【請求項１３】
前記第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、前記第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、前記第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、前記第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである、請求項１２に記載の方法。
【請求項１４】
前記第1の候補動きベクトル・グループが、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループの動きベクトルに基づいて得られる前記現在符号化ブロックの制御点のグループの候補動きベクトル予測子である、請求項１ないし１３のうちいずれか一項に記載の方法。
【請求項１５】
前記第2の候補動きベクトル・グループが、前記第2の近傍アフィン符号化ブロックの制御点の前記第2のグループの動きベクトルに基づいて得られる前記現在符号化ブロックの制御点のグループの候補動きベクトル予測子である、請求項４ないし１３のうちいずれか一項に記載の方法。
【請求項１６】
デコード方法であって：
ビットストリームをパースしてインデックスを得るステップであって、前記インデックスは、現在符号化ブロックのターゲット候補動きベクトル・グループを示すために使用される、ステップと；
アフィン候補動きベクトル・リスト内の前記ターゲット候補動きベクトル・グループを、前記インデックスに基づいて決定するステップであって、前記ターゲット候補動きベクトル・グループは、前記現在符号化ブロックの制御点のグループの動きベクトル予測子を表わし、前記アフィン候補動きベクトル・リストは、少なくとも第1の候補動きベクトル・グループを含み、前記第1の候補動きベクトル・グループは、前記現在符号化ブロックの第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られ、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、前記第1の近傍アフィン符号化ブロックは前記CTU内に位置する、ステップと；
前記ターゲット候補動きベクトル・グループに基づいて、前記現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを取得するステップと；
前記現在符号化ブロックの前記一つまたは複数のサブブロックの前記動きベクトルに基づいて、前記現在符号化ブロックの予測サンプル値を予測するステップとを含む、
方法。
【請求項１７】
前記現在符号化ブロックが位置する符号化ツリー単位CTUと前記第1の近傍アフィン符号化ブロックが位置する前記CTUとの間にCTU境界がある、請求項１６に記載の方法。
【請求項１８】
前記第1の候補動きベクトル・グループが、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られることは、具体的には：前記第1の候補動きベクトル・グループが、第1のアフィン・モデルに基づいて得られ、前記第1のアフィン・モデルが、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループの動きベクトルおよび位置座標に基づいて決定されることであり；
前記ターゲット候補動きベクトル・グループに基づいて前記現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを得ることは、具体的には：第2のアフィン・モデルに基づいて前記現在符号化ブロックの前記一つまたは複数のサブブロックの前記動きベクトルを得ることであり、前記第2のアフィン・モデルは、前記ターゲット候補動きベクトル・グループおよび前記現在符号化ブロックの制御点のグループの位置座標に基づいて決定される、
請求項１６または１７に記載の方法。
【請求項１９】
前記アフィン候補動きベクトル・リストは、第2の候補動きベクトル・グループをさらに含み、前記第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られ；前記第2の近傍アフィン符号化ブロックの制御点の前記第2のグループにおける一つまたは複数の制御点の、前記第2の近傍アフィン符号化ブロックに対する位置は、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループにおける一つまたは複数の制御点の、前記第1の近傍アフィン符号化ブロックに対する位置とは異なる、または前記第2の近傍アフィン符号化ブロックの制御点の前記第2のグループは、前記第2の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、
請求項１６ないし１８のうちいずれか一項に記載の方法。
【請求項２０】
前記ターゲット候補動きベクトル・グループに基づいて前記現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを得ることは：
パースを通して前記ビットストリームから得られた動きベクトル差分MVDおよび前記インデックスによって示される前記ターゲット候補動きベクトル・グループに基づいて、新しい候補動きベクトル・グループを得て；
前記新しい候補動きベクトル・グループに基づいて、前記現在符号化ブロックの前記一つまたは複数のサブブロックの前記動きベクトルを得ることを含む、
請求項１６ないし１９のうちいずれか一項に記載の方法。
【請求項２１】
前記現在符号化ブロックの前記一つまたは複数のサブブロックの前記動きベクトルに基づいて前記現在符号化ブロックの予測サンプル値を予測することは：
前記現在符号化ブロックの前記一つまたは複数のサブブロックの前記動きベクトルと、参照フレーム・インデックスおよび前記インデックスによって示される予測方向とに基づいて前記現在符号化ブロックの前記予測サンプル値を予測することを含む、
請求項１６ないし１９のうちいずれか一項に記載の方法。
【請求項２２】
前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、前記第1の近傍アフィン符号化ブロックは、前記CTU内に位置する、ことは：
前記第1の近傍アフィン符号化ブロックが前記現在符号化ブロックの上の符号化ツリー単位CTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ことを含む、
請求項１６ないし２１のうちいずれか一項に記載の方法。
【請求項２３】
前記第1の近傍アフィン符号化ブロックが前記現在ブロックの上の前記CTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、さらに、前記第1の近傍アフィン符号化ブロックの左上の制御点または右上の制御点を含む、請求項２２に記載の方法。
【請求項２４】
前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループが、前記現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、前記第1の近傍アフィン符号化ブロックは前記CTU内に位置する、ことは：
前記第1の近傍アフィン符号化ブロックが前記現在符号化ブロックの左のCTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの右上の制御点および右下の制御点を含む、ことを含む、
請求項１６ないし２１のうちいずれか一項に記載の方法。
【請求項２５】
前記第1の近傍アフィン符号化ブロックが前記現在符号化ブロックの左の前記CTU内に位置する場合、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、さらに、前記第1の近傍アフィン符号化ブロックの左上の制御点または左下の制御点を含む、請求項２４に記載の方法。
【請求項２６】
前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループが、前記第1の近傍アフィン符号化ブロックの前記左下の制御点および前記右下の制御点を含む場合に、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループはさらに、前記第1の近傍アフィン符号化ブロックの左上の制御点を含む、請求項１６ないし２１のうちいずれか一項に記載の方法。
【請求項２７】
前記第1の近傍アフィン符号化ブロックの前記左下の制御点の位置座標(x6,y6)および前記第1の近傍アフィン符号化ブロックの前記右下の制御点の位置座標(x7,y7)の両方が、前記第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて導出され、前記第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)で表わされ、前記第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)で表わされ、cuWは前記第1の近傍アフィン符号化ブロックの幅であり、cuHは前記第1の近傍アフィン符号化ブロックの高さである、請求項１６ないし２６のうちいずれか一項に記載の方法。
【請求項２８】
前記第1の近傍アフィン符号化ブロックの前記左下の制御点の動きベクトルは、前記第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、前記第1の近傍アフィン符号化ブロックの前記右下の制御点の動きベクトルは、前記第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである、請求項２７に記載の方法。
【請求項２９】
前記第1の候補動きベクトル・グループが、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループの動きベクトルに基づいて得られる前記現在符号化ブロックの制御点のグループの候補動きベクトル予測子である、請求項１６ないし２８のうちいずれか一項に記載の方法。
【請求項３０】
前記第2の候補動きベクトル・グループが、前記第2の近傍アフィン符号化ブロックの制御点の前記第2のグループの動きベクトルに基づいて得られる前記現在符号化ブロックの制御点のグループの候補動きベクトル予測子である、請求項１９ないし２８のうちいずれか一項に記載の方法。
【請求項３１】
ビットストリームの形でビデオ・データを記憶するように構成されたメモリと；
請求項１ないし１５に記載の方法のいずれかを実行するように構成されたビデオ・エンコーダと
を有するビデオ・データ・エンコード装置。
【請求項３２】
ビットストリームの形でビデオ・データを記憶するように構成されたメモリと；
請求項１６ないし３０に記載の方法のいずれかを実行するように構成されたビデオ・デコーダと
を有するビデオ・データ・デコード装置。
【請求項３３】
一つまたは複数のプロセッサによって実行されたときに前記一つまたは複数のプロセッサに請求項１ないし３０に記載の方法のいずれかを実行させるコンピュータ命令を記憶している非一時的なコンピュータ可読媒体。
【請求項３４】
命令を含むメモリと；
前記命令の実行に際して請求項１ないし１５に記載の方法のいずれかを実行するように構成されている、前記メモリと通信するプロセッサとを有する、
ビデオ・データ・エンコード装置。
【請求項３５】
命令を含むメモリと；
前記命令の実行に際して請求項１６ないし３０に記載の方法のいずれかを実行するように構成されている、前記メモリと通信するプロセッサとを有する、
ビデオ・データ・デコード装置。
【請求項３６】
請求項１ないし１５に記載の方法のいずれかによってエンコードされたビットストリームを含んでいる非一時的な記憶媒体。

【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、ビデオ・エンコードおよびデコード技術の分野に関し、特に、エンコード方法、デコード方法、対応するエンコード装置、および対応するデコード装置に関する。
【背景技術】
【０００２】
デジタルビデオ機能は、デジタルテレビ、デジタル生放送システム、ワイヤレスブロードキャストシステム、パーソナルデジタルアシスタント（PDA）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子書籍リーダー、デジタルカメラ、デジタル記録装置、デジタルメディアプレーヤー、ビデオゲーム装置、ビデオゲームコンソール、携帯電話または衛星無線電話（いわゆる「スマートフォン」）、ビデオ会議装置、ビデオストリーミング装置などを含む幅広い多様な装置に組み込まれることができる。デジタルビデオ装置は、ビデオ圧縮技術、たとえば、MPEG-2、MPEG-4、ITU-T  H.263、およびITU-T  H.264/MPEG-4  Part  10：アドバンストビデオコーディング（AVC）によって定義された諸規格、ビデオ符号化規格H.265/高効率ビデオ符号化（HEVC）規格、およびそのような規格の拡張に記載されたビデオ圧縮技術を実装する。ビデオ装置は、そのようなビデオ圧縮技術を実施することによって、デジタルビデオ情報をより効率的に送信、受信、エンコード、デコード、および／または記憶することができる。
【０００３】
ビデオ圧縮技術は、ビデオシーケンスにおける内在的な冗長性を低減または除去するために、空間的（ピクチャー内）予測および／または時間的（ピクチャー間）予測を実行するために使用される。ブロックベースのビデオ符号化では、ビデオ・スライス（すなわち、ビデオ・フレームまたはビデオ・フレームの一部）は、ピクチャー・ブロックに分割されてもよく、ピクチャー・ブロックは、ツリーブロック、符号化単位（coding  unit、CU）、および／または符号化ノードとも呼ばれてもよい。ピクチャーのイントラ符号化される（I）スライス内のピクチャー・ブロックは、同じピクチャー内の近傍ブロック内の参照サンプルに基づく空間的予測を通じて符号化される。ピクチャーのインター符号化される（PまたはB）スライス内のピクチャー・ブロックについては、同じピクチャー内の近傍ブロック内の参照サンプルに基づく空間的予測、または別の参照ピクチャー内の参照サンプルに基づく時間的予測が使用されうる。ピクチャーはフレームと呼ばれることもあり、参照ピクチャーは参照フレームと呼ばれることもある。
【０００４】
高効率ビデオ符号化（HEVC）規格を含むさまざまなビデオ符号化規格は、ピクチャー・ブロックのために使用される予測符号化モードを提案する。具体的には、現在の符号化されるべきブロックが、符号化されたビデオデータブロックに基づいて予測される。イントラ予測モードでは、現在ブロックは、現在ブロックと同じピクチャー内の一つまたは複数の以前にデコードされた近傍ブロックに基づいて予測される。インター予測モードでは、現在ブロックは、異なるピクチャー内のデコードされたブロックに基づいて予測される。
【０００５】
動きベクトル予測は、エンコード／デコード性能に影響を与える重要な技術である。既存の動きベクトル予測プロセスでは、ピクチャー中の並進オブジェクトについては並進動きモデルに基づく動きベクトル予測方法があり、非並進オブジェクトについては、動きモデルに基づく動きベクトル予測方法と、制御点組み合わせに基づく動きベクトル予測方法とがある。動きモデルに基づく動きベクトル予測方法では、大量の情報がメモリから読み取られる必要があり、その結果、比較的低いエンコード／デコード速度となる。動きベクトル予測プロセスにおいて、メモリからの読み出し回数をどのようにして減らすかが、当業者によって研究されている技術的課題である。
【発明の概要】
【０００６】
本願の実施形態は、エンコードおよびデコード性能を改善するよう、メモリからの読み出し回数をある程度減少させるためのエンコード方法、デコード方法、対応するエンコード装置、および対応するデコード装置を提供する。
【０００７】
第1の側面によれば、本願のある実施形態は、エンコード方法を開示する。本方法は、レート‐歪みコスト基準に従って、アフィン候補動きベクトル・リスト（候補動きベクトル・リストとも呼ばれる）内のターゲット候補動きベクトル・グループを決定するステップであって、ターゲット候補動きベクトル・グループは、現在符号化ブロック（たとえば、現在アフィン符号化ブロック）の制御点のグループの動きベクトル予測子を表わし、前記アフィン候補動きベクトル・リストは、少なくとも第1の候補動きベクトル・グループを含み、前記第1の候補動きベクトル・グループは、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られ、前記第1の近傍アフィン符号化ブロックの制御点の第1のグループは、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定された制御点であって、前記第1の近傍アフィン符号化ブロックは前記CTU内に位置する、または前記第1の近傍アフィン符号化ブロックの制御点の第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ステップと；前記ターゲット候補動きベクトル・グループに対応するインデックスを送信されるべきビットストリーム中にエンコードするステップとを含む。
【０００８】
たとえば、ターゲット候補動きベクトル・グループがターゲット候補動きベクトル2-タプルである場合、ターゲット候補動きベクトル・グループは、現在符号化ブロックの2つの制御点の動きベクトル予測子を表わす。ターゲット候補動きベクトル・グループがターゲット候補動きベクトル・トリプレットである場合、ターゲット候補動きベクトル・グループは、現在符号化ブロックの3つの制御点の動きベクトル予測子を表わす。
【０００９】
任意的に、アフィン候補動きベクトル・リストを構築する態様は：（図7Aに示されるような）近傍ブロックA、近傍ブロックB、近傍ブロックC、近傍ブロックD、および近傍ブロックEの順序で、現在符号化ブロックの一つまたは複数の近傍アフィン符号化ブロックを決定することであって、前記一つまたは複数の近傍アフィン符号化ブロックは第1の近傍アフィン符号化ブロックを含む、ことと；第1の近傍アフィン符号化ブロックの前記第1のグループの制御点の動きベクトルおよび前記第1のグループの制御点の位置座標に基づいて第1のアフィン・モデルを構築することと；次いで、第1のアフィン・モデルを使用することによって、現在符号化ブロックの制御点の第1のグループの動きベクトル予測子を取得することであって、現在符号化ブロックの制御点の第1のグループの動きベクトル予測子が、アフィン候補動きベクトル・リストにおける前記第1の候補動きベクトル・グループとして使用される、ことであってもよい。
【００１０】
任意的に、アフィン候補動きベクトル・リストの長さが1である場合、ターゲット動きベクトル・グループは、インデックスを使用して示される必要がない場合がある。
【００１１】
前述の方法では、アフィン候補動きベクトル・リストは、1つだけの候補動きベクトル・グループを含んでいてもよく、あるいは複数の候補動きベクトル・グループを含んでいてもよい。各候補動きベクトル・グループは、動きベクトル2-タプルまたは動きベクトル・トリプレットであってもよい。複数の候補動きベクトル・グループが存在する場合、第1の候補動きベクトル・グループは、前記複数の候補動きベクトル・グループのうちの1つである。前記複数の候補動きベクトル・グループにおける別の候補動きベクトル・グループの導出プロセスは、第1の候補動きベクトル・グループの導出プロセスと同じであってもよく、または第1の候補動きベクトル・グループの導出プロセスとは異なっていてもよい。さらに、ターゲット候補動きベクトル・グループは、レート‐歪みコスト基準に従ってアフィン候補動きベクトル・リストから選択された最適な候補動きベクトル・グループである。第1の候補動きベクトル・グループが最適である（たとえば、最低のレート‐歪みコストをもつ）場合、選択されたターゲット候補動きベクトル・グループは、第1の候補動きベクトル・グループである。第1の候補動きベクトル・グループが最適でない場合、選択されたターゲット候補動きベクトル・グループは、第1の候補動きベクトル・グループではない。第1の近傍アフィン符号化ブロックは、現在符号化ブロックの諸近傍ブロックにおける特定のアフィン符号化ブロックであり、本明細書では特に限定されない。図7Aが、記述のための例として使用される。第1の近傍アフィン符号化ブロックは、近傍位置Aが位置する符号化ブロック、近傍位置Bが位置する符号化ブロック、または他の近傍の符号化ブロックでありうる。図7AにおけるA、B、C、D、およびEは、単に近傍位置を示すために意図されており、実際の符号化ブロックではないことに注意しておくべきである。また、本願の実施形態における他の箇所に現われる「第1」、「第2」、「第3」等は、それぞれ特定のオブジェクトを示す。「第1」によって示される特定のオブジェクト、「第2」によって示される特定のオブジェクト、「第3」によって示される特定のオブジェクトは、異なるオブジェクトを示す。たとえば、制御点の第1のグループと制御点の第2のグループが存在する場合、制御点の第1のグループと制御点の第2のグループは異なる制御点を表わす。さらに、本願の実施形態における「第1」、「第2」等は、順序を意味するものではない。
【００１２】
第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが現在符号化ブロックの上に位置する場合、第1の近傍アフィン符号化ブロックの最も下の制御点（たとえば、左下の制御点および右下の制御点）に関する情報（たとえば、位置座標および動きベクトル）がメモリから読み込まれていることが理解されうる。第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが現在符号化ブロックの左に位置する場合、第1の近傍アフィン符号化ブロックの最も右の制御点（たとえば、右上の制御点および右下の制御点）に関する情報がメモリから読み込まれている。したがって、前記の解決策においては、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、第1の近傍アフィン符号化ブロックはその符号化ツリー単位CTU内に位置するか、または、制御点の第1のグループは、従来技術において第1の近傍符号化ブロックの左上の制御点、右上の制御点、および左下の制御点（6パラメータのアフィン・モデル）を第1のグループの制御点として固定的に使用する、あるいは第1の近傍符号化ブロックの左上の制御点および右上の制御点（4パラメータのアフィン・モデル）を第1のグループの制御点として固定的に使用する代わりに、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。よって、本願における制御点の第1のグループを決定する方法によれば、メモリから読み出された情報が、制御点の第1のグループに関する情報（たとえば、位置座標および動きベクトル）として直接再利用できる可能性が非常に高く、それにより、メモリからの読み出し回数を減らし、エンコード性能を改善する。
【００１３】
ある可能な実装では、第1の候補動きベクトル・グループが、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られることは、具体的には：第1の候補動きベクトル・グループが、第1のアフィン・モデルに基づいて（たとえば、前記第1のアフィン・モデルおよび現在符号化ブロックの制御点のグループの位置座標に基づいて）得られ、第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の第1のグループの動きベクトルおよび位置座標に基づいて決定されることであってもよい。
【００１４】
ある任意的な解決策において、アフィン候補動きベクトル・リストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られる。第2の近傍アフィン符号化ブロックの制御点の第2のグループにおける一つまたは複数の制御点の、第2の近傍アフィン符号化ブロックに対する位置は、第1の近傍アフィン符号化ブロックの制御点の第1のグループにおける一つまたは複数の制御点の、第1の近傍アフィン符号化ブロックに対する位置とは異なる（たとえば、第1の近傍アフィン符号化ブロックの制御点の第1のグループに含まれる制御点は、第1の近傍アフィン符号化ブロックの左下の制御点、右下の制御点、および左上の制御点であるが、第2の近傍アフィン符号化ブロックの制御点の第2のグループに含まれる制御点は、第2の近傍アフィン符号化ブロックの右上の制御点、右下の制御点、および左下の制御点である）、または第2の近傍アフィン符号化ブロックの制御点の第2のグループは、第2の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。たとえば、第1の近傍アフィン符号化ブロックおよび第2の近傍アフィン符号化ブロックは、現在符号化ブロックの周囲の空間的近傍ブロックにおける異なるアフィン符号化ブロックである。
【００１５】
別の可能な実装では、先進動きベクトル予測（advanced  motion  vector  prediction）AMVPモードにおいて、本方法は：前記ターゲット候補動きベクトル・グループを開始探索点として使用することによって、レート‐歪みコスト基準に従って、事前設定された探索範囲内で、制御点のグループの動きベクトルであって、最低のコストをもつものを探すステップと；次いで、前記ターゲット候補動きベクトル・グループと前記制御点のグループの動きベクトルとの間の動きベクトル差分（motion  vector  difference）MVDを決定するステップとをさらに含む。たとえば、制御点の第1のグループが第1の制御点および第2の制御点を含む場合、第1の制御点の動きベクトルと、制御点のグループにおける前記第1の制御点の、前記ターゲット候補動きベクトル・グループによって表わされる動きベクトル予測子との間の動きベクトル差分MVDが決定される必要があり、第2の制御点の動きベクトルと、制御点の前記グループにおける第2の制御点の、前記ターゲット候補動きベクトル・グループによって表わされる動きベクトル予測子との間の動きベクトル差分MVDが決定される必要がある。この場合、ターゲット候補動きベクトル・グループに対応するインデックスを送信されるべきビットストリーム中にエンコードすることは、具体的には：それらのMVDおよびターゲット候補動きベクトル・グループに対応するインデックスを、送信されるべきビットストリーム中にエンコードすることを含んでいてもよい。
【００１６】
別の任意的な解決策では、マージ・モードにおいて、ターゲット候補動きベクトル・グループに対応するインデックスを送信されるべきビットストリーム中にエンコードすることは、具体的には：ターゲット候補動きベクトル・グループに対応するインデックス、参照フレーム・インデックス、および予測方向に対応するインデックスを、送信されるべきビットストリーム中にエンコードすることを含んでいてもよい。マージ・モードでは、ターゲット候補動きベクトル・グループは、現在符号化ブロックの制御点のグループの動きベクトルを表わすことが理解されるべきである。言い換えれば、マージ・モードでは、動きベクトル予測子は、動きベクトルに等しい。
【００１７】
ある可能な実装では、第1の近傍アフィン符号化ブロックの制御点の第1のグループは、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、第1の近傍アフィン符号化ブロックは、該CTU内に位置する、ことは：第1の近傍アフィン符号化ブロックが現在符号化ブロックの上の符号化ツリー単位CTU内に位置する場合、第1の近傍アフィン符号化ブロックの制御点の第1のグループは、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ことを含んでいてもよい。第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが現在符号化ブロックの上に位置する場合、第1の近傍アフィン符号化ブロックの最も下の制御点に関する情報がメモリから読み出されている。したがって、上記の解決策においては、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点（両方とも最も下の制御点に属する）を含み、これら2つの制御点に関する情報がメモリから追加的に読み出される必要がないことは明らかであり、それにより、メモリからの読み出し回数を減らし、エンコード性能を改善する。
【００１８】
任意的に、第1の近傍アフィン符号化ブロックが現在ブロックの上のCTU内に位置する場合、第1の近傍アフィン符号化ブロックの制御点の第1のグループは、さらに、第1の近傍アフィン符号化ブロックの左上の制御点または右上の制御点を含む。制御点の第1のグループが3つの制御点を含む場合、制御点の第1のグループに基づいて計算される第1の候補動きベクトル・グループの精度はより高いことが理解されうる。
【００１９】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算され、導出される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいては、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および右下の制御点の位置座標の両方が、メモリから読み取られるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、エンコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は代替的に、メモリにあらかじめ記憶されていて、必要なときに使用のためにメモリから読み出されてもよい。
【００２０】
別の任意的な解決策においては、第1の近傍アフィン符号化ブロックの制御点の第1のグループが、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、第1の近傍アフィン符号化ブロックは該CTU内に位置する、ことは具体的には：第1の近傍アフィン符号化ブロックが現在符号化ブロックの左のCTU内に位置する場合、第1の近傍アフィン符号化ブロックの制御点の第1のグループは、第1の近傍アフィン符号化ブロックの右上の制御点および右下の制御点を含む、ことを含んでいてもよい。第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが現在符号化ブロックの左に位置する場合、第1の近傍アフィン符号化ブロックの最も右の制御点に関する情報がメモリから読み出されている。したがって、上記の解決策においては、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、第1の近傍アフィン符号化ブロックの右上の制御点および右下の制御点（両方とも最も右の制御点に属する）を含み、これら2つの制御点に関する情報がメモリから追加的に読み出される必要がないことは明らかであり、それにより、メモリからの読み出し回数を減らし、エンコード性能を改善する。
【００２１】
任意的に、第1の近傍アフィン符号化ブロックが現在符号化ブロックの左のCTU内に位置する場合、第1の近傍アフィン符号化ブロックの制御点の第1のグループは、さらに、第1の近傍アフィン符号化ブロックの左上の制御点または左下の制御点を含む。制御点の第1のグループが3つの制御点を含む場合、制御点の第1のグループに基づいて計算される第1の候補動きベクトル・グループの精度はより高いことが理解されうる。
【００２２】
任意的に、第1の近傍アフィン符号化ブロックの右上の制御点の位置座標(x5,y5)および右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算され、導出される。第1の近傍アフィン符号化ブロックの右上の制御点の位置座標(x5,y5)は(x4+cuW,y4)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの右上の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右上のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいては、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの右上の制御点の位置座標および右下の制御点の位置座標の両方が、メモリから読み取られるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、エンコード性能が改善できる。別の任意的な解決策では、右上の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶され、必要なときに使用のためにメモリから読み出されてもよい。
【００２３】
別の任意的な解決策においては、第1の近傍アフィン符号化ブロックの制御点の第1のグループが、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む場合に、第1の近傍アフィン符号化ブロックの制御点の第1のグループはさらに、第1の近傍アフィン符号化ブロックの左上の制御点または右上の制御点を含む。制御点の第1のグループが3つの制御点を含む場合、制御点の第1のグループに基づいて計算される第1の候補動きベクトル・グループの精度はより高いことが理解されうる。
【００２４】
別の任意的な解決策では、レート‐歪みコスト基準に従って、アフィン候補動きベクトル・リスト内のターゲット候補動きベクトル・グループを決定した後、本方法は、さらに：ターゲット候補動きベクトル・グループに基づいて、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを取得するステップと；現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルに基づいて、現在符号化ブロックの予測サンプル値を予測するステップとを含む（たとえば、前記一つまたは複数のサブブロックの予測されたサンプル値が、現在符号化ブロックの前記一つまたは複数のサブブロックの動きベクトルに基づいて予測され、次いで、現在符号化ブロックの予測されたサンプル値が得られる）。任意的に、現在符号化ブロックの前記一つまたは複数のサブブロックの動きベクトルがターゲット候補動きベクトル・グループに基づいて得られる場合、現在符号化ブロックの下の境界が、現在符号化ブロックが位置するCTUの下の境界と重なっていれば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックのアフィン・モデルと、現在符号化ブロックの左下隅の位置座標(0,H)とに基づく計算を通じて得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックのアフィン・モデルと、現在符号化ブロックの右下隅の位置座標(W,H)に基づく計算を通じて得られる。たとえば、アフィン・モデルは、ターゲット候補動きベクトル・グループに基づいて構築される。現在符号化ブロックのアフィン・モデルのモデル・パラメータは、ターゲット候補動きベクトル・グループと、現在符号化ブロックの制御点のグループの位置座標であって、ターゲット候補動きベクトル・グループによって表わされる位置座標とに基づいて得られる。そして、現在符号化ブロックの左下隅にあるサブブロックの動きベクトルは、（計算のために、左下隅にあるサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）現在符号化ブロックの左下隅の位置座標(0,H)をアフィン・モデルに代入することによって得ることができ、現在符号化ブロックの右下隅にあるサブブロックの動きベクトルは、（計算のために、右下隅にあるサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）現在符号化ブロックの右下隅の位置座標(W,H)をアフィン・モデルに代入することによって得ることができる。このようにして、現在符号化ブロックの左下の制御点の動きベクトルおよび右下の制御点の動きベクトルが使用される（たとえば、別のブロックのアフィン候補動きベクトル・リストが、その後、現在ブロックの左下の制御点および右下の制御点の動きベクトルに基づいて構築される）とき、推定値ではなく、正確な値が用いられる。Wは現在符号化ブロックの幅であり、Hは現在符号化ブロックの高さである。
【００２５】
任意的に、任意の符号化ブロック（たとえば、現在符号化ブロックまたは近傍の符号化ブロック）について、符号化ブロックの左上の制御点の位置座標が(x,y)である場合、符号化ブロックの右上の制御点の座標は(x＋w,y)であり、符号化ブロックの左下の制御点の座標は(x,y＋h)であり、符号化ブロックの右下の制御点の座標は(x＋w,y＋h)である。wは符号化ブロックの幅であり、hは符号化ブロックの高さである。
【００２６】
第2の側面によれば、本願のある実施形態は、第1の側面において任意の方法を実装するように構成された、いくつかの機能ユニットを含むビデオ・エンコーダを提供する。たとえば、ビデオ・エンコーダは、：
レート‐歪みコスト基準に従って、アフィン候補動きベクトル・リスト内のターゲット候補動きベクトル・グループを決定するように構成されたインター予測ユニットであって、前記ターゲット候補動きベクトル・グループは、現在符号化ブロックの制御点のグループの動きベクトル予測子を表わし、前記アフィン候補動きベクトル・リストは、少なくとも第1の候補動きベクトル・グループを含み、前記第1の候補動きベクトル・グループは、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られ、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、前記第1の近傍アフィン符号化ブロックは、前記CTU内に位置する、または、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含み、該インター予測ユニットは、インター予測モジュール、特に、動き推定モジュールと称されてもよい、インター予測ユニット；ならびに
ターゲット候補動きベクトル・グループに対応するインデックスを送信されるべきビットストリーム中にエンコードするように構成されたエントロピー・エンコード・ユニットを含んでいてもよい。
【００２７】
第3の側面によれば、本願のある実施形態は、第1の側面における任意の方法を実装するように構成されたビデオ・エンコーダを含む、ビデオ・データ・エンコード装置を提供する。たとえば、本装置は：
ビットストリームの形でビデオ・データを記憶するように構成されたメモリと；
前記ビデオ・エンコーダとを含んでいてもよい。前記ビデオ・エンコーダは、レート‐歪みコスト基準に従って、アフィン候補動きベクトル・リスト内のターゲット候補動きベクトル・グループを決定するステップであって、前記ターゲット候補動きベクトル・グループは、現在符号化ブロックの制御点のグループの動きベクトル予測子を表わし、前記アフィン候補動きベクトル・リストは、少なくとも第1の候補動きベクトル・グループを含み、前記第1の候補動きベクトル・グループは、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られ、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定された制御点であり、前記第1の近傍アフィン符号化ブロックは該CTU内に位置する、または、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ステップと；前記ターゲット候補動きベクトル・グループに対応するインデックスを、送信されるべきビットストリーム中にエンコードするステップとを実行するように構成される。
【００２８】
第4の側面によれば、本願のある実施形態は、ビデオ・データ・エンコード装置を提供する。本装置は、互いに結合された不揮発性メモリおよびプロセッサを含む。メモリはプログラム命令を記憶するように構成される。プロセッサは、第1の側面および第1の側面における任意の方法の一部または全部のステップを実行するようプログラム・コードを呼び出すように構成される。たとえば、プロセッサは、以下のステップを実行するためにプログラム・コードを呼び出すように構成される：
レート‐歪みコスト基準に従って、アフィン候補動きベクトル・リスト内のターゲット候補動きベクトル・グループを決定するステップと；前記ターゲット候補動きベクトル・グループに対応するインデックスを、送信されるべきビットストリーム中にエンコードするステップ。ここで、前記ターゲット候補動きベクトル・グループは、現在符号化ブロックの制御点のグループの動きベクトル予測子を表わし、前記アフィン候補動きベクトル・リストは、少なくとも第1の候補動きベクトル・グループを含み、前記第1の候補動きベクトル・グループは、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られ、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定された制御点であり、前記第1の近傍アフィン符号化ブロックは該CTU内に位置する、または、前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。
【００２９】
第5の側面によれば、本願のある実施形態は、コンピュータ読み取り可能な記憶媒体を提供する。コンピュータ読み取り可能な記憶媒体は、プログラム・コードを記憶し、該プログラム・コードは、第1の側面における任意の方法の一部または全部のステップを実行するために使用される命令を含む。
【００３０】
第6の側面によれば、本願のある実施形態は、コンピュータ・プログラム製品を提供する。コンピュータ・プログラム製品がコンピュータ上で実行されるとき、該コンピュータは、第1の側面における任意の方法の一部または全部のステップを実行できるようにされる。
【００３１】
本願の第2ないし第6の側面における技術的解決策は、本願の第1の側面における技術的解決策と一貫しており、それらの側面および対応する実現可能な実装によって達成される有益な効果は同様であることを理解しておくべきである。詳細は、再度記載しない。
【００３２】
第7の側面によれば、本願のある実施形態は、デコード方法を開示する。本方法は、ビットストリームをパースしてインデックスを得るステップであって、該インデックスは、現在符号化ブロック（たとえば、現在アフィン符号化ブロック）のターゲット候補動きベクトル・グループを示すために使用される、ステップと；アフィン候補動きベクトル・リスト（候補動きベクトル・リストとも称される）内のターゲット候補動きベクトル・グループを、該インデックスに基づいて決定するステップ（任意的に、アフィン候補動きベクトル・リストの長さが1である場合には、インデックスを得るためにビットストリームがパースされる必要はなく、ターゲット動きベクトル・グループは直接決定できる）であって、ターゲット候補動きベクトル・グループは、現在符号化ブロックの制御点のグループの動きベクトル予測子を表わし、アフィン候補動きベクトル・リストは、少なくとも第1の候補動きベクトル・グループを含み、第1の候補動きベクトル・グループは、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られ、第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、前記第1の近傍アフィン符号化ブロックは該CTU内に位置する、または前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ステップと；前記ターゲット候補動きベクトル・グループに基づいて、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを取得するステップと；現在符号化ブロックの前記一つまたは複数のサブブロックの動きベクトルに基づいて、現在符号化ブロックの予測サンプル値を予測するステップとを含む。
【００３３】
任意的に、アフィン候補動きベクトル・リストを構築する態様はたとえば：（図7Aに示されるような）近傍ブロックA、近傍ブロックB、近傍ブロックC、近傍ブロックD、および近傍ブロックEの順序で、現在符号化ブロックの一つまたは複数の近傍アフィン符号化ブロックを決定することであって、前記一つまたは複数の近傍アフィン符号化ブロックは第1の近傍アフィン符号化ブロックを含む、ことと；第1のアフィン・モデルを使用することによって、現在符号化ブロックの制御点の第1のグループの動きベクトル予測子を取得することであって、現在符号化ブロックの制御点の第1のグループの動きベクトル予測子は、アフィン候補動きベクトル・リストにおける第1の候補動きベクトル・グループとして使用され、第1のアフィン・モデルのモデル・パラメータが、第1の近傍アフィン符号化ブロックの前記第1のグループの制御点の動きベクトルと、第1の近傍アフィン符号化ブロックの前記第1のグループの制御点の位置座標とに基づいて決定される、ことであってもよい。
【００３４】
上記の方法では、アフィン候補動きベクトル・リストは、1つだけの候補動きベクトル・グループを含んでいてもよく、あるいは複数の候補動きベクトル・グループを含んでいてもよい。各候補動きベクトル・グループは、動きベクトル2-タプルまたは動きベクトル・トリプレットであってもよい。複数の候補動きベクトル・グループが存在する場合、第1の候補動きベクトル・グループは、前記複数の候補動きベクトル・グループのうちの1つである。前記複数の候補動きベクトル・グループにおける別の候補動きベクトル・グループの導出プロセスは、第1の候補動きベクトル・グループの導出プロセスと同じであってもよく、または第1の候補動きベクトル・グループの導出プロセスとは異なっていてもよい。さらに、ターゲット候補動きベクトル・グループは、パースを通じてビットストリームから得られたインデックスに基づいてアフィン候補動きベクトル・リストから選択された候補動きベクトル・グループである。インデックスが第1の候補動きベクトル・グループをポイントする場合、ターゲット候補動きベクトル・グループは第1の候補動きベクトル・グループである。インデックスが別の候補動きベクトル・グループをポイントする場合、ターゲット候補動きベクトル・グループは第1の候補動きベクトル・グループではない。第1の近傍アフィン符号化ブロックは、現在符号化ブロックの諸近傍ブロックにおける特定のアフィン符号化ブロックであり、本明細書では特に限定されない。図7Aが、記述のための例として使用される。第1の近傍アフィン符号化ブロックは、近傍位置Aにおける符号化ブロック、近傍位置Bにおける符号化ブロック、または他の近傍の符号化ブロックでありうる。さらに本願の実施形態における他の箇所に現われる「第1」、「第2」、「第3」等は、それぞれ特定のオブジェクトを示す。「第1」によって示される特定のオブジェクト、「第2」によって示される特定のオブジェクト、「第3」によって示される特定のオブジェクトは、異なるオブジェクトを表わす。たとえば、制御点の第1のグループと制御点の第2のグループが存在する場合、制御点の第1のグループと制御点の第2のグループは異なる制御点を表わす。さらに、本願の実施形態における「第1」、「第2」等は、順序を意味するものではない。
【００３５】
第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが現在符号化ブロックの上に位置する場合、第1の近傍アフィン符号化ブロックの最も下の制御点に関する情報がメモリから読み込まれていることが理解されうる。第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが現在符号化ブロックの左に位置する場合、第1の近傍アフィン符号化ブロックの最も右の制御点に関する情報がメモリから読み込まれている。したがって、上記の解決策においては、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、第1の近傍アフィン符号化ブロックは符号化ツリー単位CTU内に位置するか、または、制御点の第1のグループは、従来技術において第1の近傍符号化ブロックの左上の制御点、右上の制御点、および左下の制御点を第1のグループの制御点として固定的に使用する（あるいは第1の近傍符号化ブロックの左上の制御点および右上の制御点を第1のグループの制御点として固定的に使用する）代わりに、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。よって、本願における制御点の第1のグループを決定する方法によれば、メモリから読み出された情報が、制御点の第1のグループに関する情報（たとえば、位置座標および動きベクトル）として直接再利用できる可能性が非常に高く、それにより、メモリからの読み出し回数を減らし、デコード性能を改善する。
【００３６】
ある可能な実装では、第1の候補動きベクトル・グループが、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られることは、具体的には：第1の候補動きベクトル・グループが、第1のアフィン・モデルに基づいて（たとえば、前記第1のアフィン・モデルおよび現在符号化ブロックの制御点のグループの位置座標に基づいて）得られ、第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の第1のグループの動きベクトルおよび位置座標に基づいて決定されることである。この場合、ターゲット候補動きベクトル・グループに基づいて現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを得ることは、具体的には：第2のアフィン・モデルに基づいて現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを得ること（たとえば、第2のアフィン・モデルおよび現在符号化ブロックの一つまたは複数のサブブロックの位置座標に基づいて現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを得ること）であり、第2のアフィン・モデルは、ターゲット候補動きベクトル・グループおよび現在符号化ブロックの制御点のグループの位置座標に基づいて決定される。
【００３７】
別の任意的な解決策において、アフィン候補動きベクトル・リストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られる。第2の近傍アフィン符号化ブロックの制御点の第2のグループにおける一つまたは複数の制御点の、第2の近傍アフィン符号化ブロックに対する位置は、第1の近傍アフィン符号化ブロックの制御点の第1のグループにおける一つまたは複数の制御点の、第1の近傍アフィン符号化ブロックに対する位置とは異なる（たとえば、第1の近傍アフィン符号化ブロックの制御点の第1のグループに含まれる制御点は、第1の近傍アフィン符号化ブロックの左下の制御点、右下の制御点、および左上の制御点であるが、第2の近傍アフィン符号化ブロックの制御点の第2のグループに含まれる制御点は、第2の近傍アフィン符号化ブロックの右上の制御点、右下の制御点、および左下の制御点である）、または第2の近傍アフィン符号化ブロックの制御点の第2のグループは、第2の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。
【００３８】
ある任意的な解決策では、先進動きベクトル予測（advanced  motion  vector  prediction）AMVPモードにおいて、ターゲット候補動きベクトル・グループに基づいて現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを得ることは、具体的には：パースを通してビットストリームから得られた動きベクトル差分（motion  vector  difference）MVDおよびインデックスによって示されるターゲット候補動きベクトル・グループに基づいて、新しい候補動きベクトル・グループを得て、次いで、該新しい候補動きベクトル・グループに基づいて、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを得ることを含んでいてもよい。たとえば、第2のアフィン・モデルは、まず、新しい候補動きベクトル・グループおよび現在符号化ブロックの制御点のグループの位置座標に基づいて決定され、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルは、第2のアフィン・モデルに基づいて得られる。たとえば、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルは、第2のアフィン・モデルおよび現在符号化ブロックの一つまたは複数のサブブロックの位置座標に基づいて得られる。
【００３９】
別の可能な実装では、マージ・モードにおいて、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルに基づいて現在符号化ブロックの予測サンプル値を予測することは、具体的には：現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルと、参照フレーム・インデックスおよび前記インデックスによって示される予測方向とに基づいて現在符号化ブロックの予測サンプル値を予測することを含んでいてもよい。
【００４０】
別の可能な実装では、第1の近傍アフィン符号化ブロックの制御点の第1のグループは、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、第1の近傍アフィン符号化ブロックは、該CTU内に位置する、ことは：第1の近傍アフィン符号化ブロックが現在符号化ブロックの上の符号化ツリー単位CTU内に位置する場合、第1の近傍アフィン符号化ブロックの制御点の第1のグループは、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ことを含んでいてもよい。第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが現在符号化ブロックの上に位置する場合、第1の近傍アフィン符号化ブロックの最も下の制御点に関する情報がメモリから読み出されている。したがって、上記の解決策においては、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点（両方とも最も下の制御点に属する）を含み、これら2つの制御点に関する情報がメモリから追加的に読み出される必要がないことは明らかであり、それにより、メモリからの読み出し回数を減らし、デコード性能を改善する。
【００４１】
別の任意的な解決策において、第1の近傍アフィン符号化ブロックが現在ブロックの上のCTU内に位置する場合、第1の近傍アフィン符号化ブロックの制御点の第1のグループは、さらに、第1の近傍アフィン符号化ブロックの左上の制御点または右上の制御点を含む。制御点の第1のグループが3つの制御点を含む場合、制御点の第1のグループに基づいて計算される第1の候補動きベクトル・グループの精度はより高いことが理解されうる。
【００４２】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算され、導出される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいては、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および右下の制御点の位置座標の両方が、メモリから読み取られるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、デコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は代替的に、メモリにあらかじめ記憶されていて、必要なときに使用のためにメモリから読み出されてもよい。
【００４３】
別の可能な実装においては、第1の近傍アフィン符号化ブロックの制御点の第1のグループが、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、第1の近傍アフィン符号化ブロックは該CTU内に位置する、ことは具体的には：第1の近傍アフィン符号化ブロックが現在符号化ブロックの左のCTU内に位置する場合、第1の近傍アフィン符号化ブロックの制御点の第1のグループは、第1の近傍アフィン符号化ブロックの右上の制御点および右下の制御点を含む、ことを含んでいてもよい。第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが現在符号化ブロックの左に位置する場合、第1の近傍アフィン符号化ブロックの最も右の制御点に関する情報がメモリから読み出されている。したがって、上記の解決策においては、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、第1の近傍アフィン符号化ブロックの右上の制御点および右下の制御点（両方とも最も右の制御点に属する）を含み、これら2つの制御点に関する情報がメモリから追加的に読み出される必要がないことは明らかであり、それにより、メモリからの読み出し回数を減らし、デコード性能を改善する。
【００４４】
別の可能な実装では、第1の近傍アフィン符号化ブロックが現在符号化ブロックの左のCTU内に位置する場合、第1の近傍アフィン符号化ブロックの制御点の第1のグループは、さらに、第1の近傍アフィン符号化ブロックの左上の制御点または左下の制御点を含む。制御点の第1のグループが3つの制御点を含む場合、制御点の第1のグループに基づいて計算される第1の候補動きベクトル・グループの精度はより高いことが理解されうる。
【００４５】
任意的に、第1の近傍アフィン符号化ブロックの右上の制御点の位置座標(x5,y5)および右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算される。第1の近傍アフィン符号化ブロックの右上の制御点の位置座標(x5,y5)は(x4+cuW,y4)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの右上の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右上のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいては、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの右上の制御点の位置座標および右下の制御点の位置座標の両方が、メモリから読み取られるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、デコード性能が改善できる。別の任意的な解決策では、右上の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶され、必要なときに使用のためにメモリから読み出されてもよい。
【００４６】
別の可能な実装においては、第1の近傍アフィン符号化ブロックの制御点の第1のグループが、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む場合に、第1の近傍アフィン符号化ブロックの制御点の第1のグループはさらに、第1の近傍アフィン符号化ブロックの左上の制御点を含む。制御点の第1のグループが3つの制御点を含む場合、制御点の第1のグループに基づいて計算される第1の候補動きベクトル・グループの精度はより高いことが理解されうる。
【００４７】
別の任意的な解決策では、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルがターゲット候補動きベクトル・グループに基づいて得られる場合、現在符号化ブロックの下の境界が、現在符号化ブロックが位置するCTUの下の境界と重なっていれば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックのアフィン・モデルと、現在符号化ブロックの左下隅の位置座標(0,H)とに基づく計算を通じて得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックのアフィン・モデルと、現在符号化ブロックの右下隅の位置座標(W,H)とに基づく計算を通じて得られる。たとえば、アフィン・モデルは、ターゲット候補動きベクトル・グループと、現在符号化ブロックの制御点のグループの位置座標とに基づいて構築される。アフィン・モデルのモデル・パラメータは、ターゲット候補動きベクトルと、現在符号化ブロックの制御点のグループの位置座標とに基づいて得られる。そして、現在符号化ブロックの左下隅にあるサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)をアフィン・モデルに代入する（計算のために、左下隅にあるサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得ることができ、現在符号化ブロックの右下隅にあるサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)をアフィン・モデルに代入する（計算のために、右下隅にあるサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得ることができる。このようにして、現在符号化ブロックの左下の制御点の動きベクトルおよび右下の制御点の動きベクトルが使用される（たとえば、別のブロックのアフィン候補動きベクトル・リストが、その後、現在ブロックの左下の制御点および右下の制御点の動きベクトルに基づいて構築される）とき、推定値ではなく、正確な値が用いられる。Wは現在符号化ブロックの幅であり、Hは現在符号化ブロックの高さである。
【００４８】
任意的に、任意の符号化ブロック（たとえば、現在符号化ブロックまたは近傍の符号化ブロック）について、符号化ブロックの左上の制御点の位置座標が(x,y)である場合、符号化ブロックの右上の制御点の座標は(x＋w,y)であり、符号化ブロックの左下の制御点の座標は(x,y＋h)であり、符号化ブロックの右下の制御点の座標は(x＋w,y＋h)である。wは符号化ブロックの幅であり、hは符号化ブロックの高さである。
【００４９】
第8の側面によれば、本願のある実施形態は、第7の側面における任意の方法を実装するように構成された、いくつかの機能ユニットを含むビデオ・デコーダを提供する。たとえば、ビデオ・デコーダは：
ビットストリームをパースしてインデックスを得るように構成されたエントロピー・デコード・ユニットであって、該インデックスは、現在符号化ブロックのターゲット候補動きベクトル・グループを示すために使用される、エントロピー・デコード・ユニットと；
アフィン候補動きベクトル・リスト内のターゲット候補動きベクトル・グループを、該インデックスに基づいて決定するステップであって、ターゲット候補動きベクトル・グループは、現在符号化ブロックの制御点のグループの動きベクトル予測子を表わし、アフィン候補動きベクトル・リストは、少なくとも第1の候補動きベクトル・グループを含み、第1の候補動きベクトル・グループは、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られ、第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、前記第1の近傍アフィン符号化ブロックは該CTU内に位置する、または前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ステップと；前記ターゲット候補動きベクトル・グループに基づいて、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを取得するステップと；現在符号化ブロックの前記一つまたは複数のサブブロックの動きベクトルに基づいて、現在符号化ブロックの予測サンプル値を予測するステップとを実行するように構成されたインター予測ユニットとを含んでいてもよい。
【００５０】
第9の側面によれば、本願のある実施形態は、第7の側面における任意の方法を実装するように構成されたビデオ・デコーダを含む、ビデオ・データ・デコード装置を提供する。たとえば、本装置は：
ビットストリームの形でビデオ・データを記憶するように構成されたメモリと；
前記ビデオ・デコーダとを含んでいてもよい。前記ビデオ・デコーダは、ビットストリームをパースしてインデックスを得るステップであって、該インデックスは、現在符号化ブロックのターゲット候補動きベクトル・グループを示すために使用される、ステップと；アフィン候補動きベクトル・リスト内のターゲット候補動きベクトル・グループを、該インデックスに基づいて決定するステップであって、ターゲット候補動きベクトル・グループは、現在符号化ブロックの制御点のグループの動きベクトル予測子を表わし、アフィン候補動きベクトル・リストは、少なくとも第1の候補動きベクトル・グループを含み、第1の候補動きベクトル・グループは、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られ、第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、前記第1の近傍アフィン符号化ブロックは該CTU内に位置する、または前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ステップと；前記ターゲット候補動きベクトル・グループに基づいて、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを取得するステップと；現在符号化ブロックの前記一つまたは複数のサブブロックの動きベクトルに基づいて、現在符号化ブロックの予測サンプル値を予測するステップとを実行するように構成される。
【００５１】
第10の側面によれば、本願のある実施形態は、ビデオ・データ・デコード装置を提供する。本装置は、互いに結合された不揮発性メモリおよびプロセッサを含む。メモリはプログラム命令を記憶するように構成される。プロセッサは、第7の側面および第7の側面における任意の方法の一部または全部のステップを実行するようプログラム・コードを呼び出すように構成される。たとえば、プロセッサは、以下のステップを実行するためにプログラム・コードを呼び出すように構成される：
ビットストリームをパースしてインデックスを得るステップであって、該インデックスは、現在符号化ブロックのターゲット候補動きベクトル・グループを示すために使用される、ステップと；アフィン候補動きベクトル・リスト内のターゲット候補動きベクトル・グループを、該インデックスに基づいて決定するステップであって、ターゲット候補動きベクトル・グループは、現在符号化ブロックの制御点のグループの動きベクトル予測子を表わし、アフィン候補動きベクトル・リストは、少なくとも第1の候補動きベクトル・グループを含み、第1の候補動きベクトル・グループは、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて得られ、第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点であり、前記第1の近傍アフィン符号化ブロックは該CTU内に位置する、または前記第1の近傍アフィン符号化ブロックの制御点の前記第1のグループは、前記第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む、ステップと；前記ターゲット候補動きベクトル・グループに基づいて、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルを取得するステップと；現在符号化ブロックの前記一つまたは複数のサブブロックの動きベクトルに基づいて、現在符号化ブロックの予測サンプル値を予測するステップ。
【００５２】
第11の側面によれば、本願のある実施形態は、コンピュータ読み取り可能な記憶媒体を提供する。コンピュータ読み取り可能な記憶媒体は、プログラム・コードを記憶し、該プログラム・コードは、第7の側面における任意の方法の一部または全部のステップを実行するために使用される命令を含む。
【００５３】
第12の側面によれば、本願のある実施形態は、コンピュータ・プログラム製品を提供する。コンピュータ・プログラム製品がコンピュータ上で実行されるとき、該コンピュータは、第7の側面における任意の方法の一部または全部のステップを実行できるようにされる。
【００５４】
本願の第8ないし第12の側面における技術的解決策は、本願の第7の側面における技術的解決策と一貫しており、それらの側面および対応する実現可能な実装によって達成される有益な効果は同様であることを理解しておくべきである。詳細は、再度記載しない。
【図面の簡単な説明】
【００５５】
本願の実施形態における技術的解決策をより明確に記述するために、下記は、本願の実施形態を記述するための添付の図面を説明する。
【００５６】
【図１Ａ】本願のある実施形態によるビデオ・エンコードおよびデコード・システムの概略ブロック図である。
【００５７】
【図１Ｂ】本願のある実施形態によるビデオ・データ処理の概略フローチャートである。
【００５８】
【図２Ａ】本願のある実施形態によるビデオ・エンコーダの概略ブロック図である。
【００５９】
【図２Ｂ】本願のある実施形態によるビデオ・デコーダの概略ブロック図である。
【００６０】
【図３】本願のある実施形態によるビデオ・ピクチャー・エンコードのためのインター予測方法のフローチャートである。
【００６１】
【図４】本願のある実施形態による、ビデオ・ピクチャー・デコードのためのインター予測方法のフローチャートである。
【００６２】
【図５Ａ】本願のある実施形態による、現在ピクチャー・ブロックおよび参照ブロックの動き情報の概略図である。
【００６３】
【図５Ｂ】本願のある実施形態による、インター予測シナリオの概略図である。
【００６４】
【図５Ｃ】本願のある実施形態によるフレーム間近傍ブロックのシナリオの概略図である。
【００６５】
【図５Ｄ】本願のある実施形態による、近傍アフィン符号化ブロックの動きベクトルの概略図である。
【００６６】
【図６】本願のある実施形態によるエンコード方法の概略フローチャートである。
【００６７】
【図７Ａ】本願のある実施形態による近傍ブロックのシナリオの概略図である。
【００６８】
【図７Ｂ】本願のある実施形態による近傍ブロックのシナリオの概略図である。
【００６９】
【図８Ａ】本願のある実施形態による動き補償単位の概略構造図である。
【００７０】
【図８Ｂ】本願のある実施形態による別の動き補償単位の概略構造図である。
【００７１】
【図９】本願のある実施形態によるデコード方法の概略フローチャートである。
【００７２】
【図９Ａ】本願のある実施形態による、アフィン候補動きベクトル・リストを構築することの概略フローチャートである。
【００７３】
【図９Ｂ】本願のある実施形態による、アフィン候補動きベクトル・リストを構築することの概略フローチャートである。
【００７４】
【図９Ｃ】本願のある実施形態によるアフィン候補動きベクトル・リストを構築することの概略フローチャートである。
【００７５】
【図９Ｄ】本願のある実施形態によるアフィン候補動きベクトル・リストを構成することの概略フローチャートである。
【００７６】
【図１０】本願のある実施形態によるエンコード装置またはデコード装置の概略構造図である。
【００７７】
【図１１】ある実施形態による、図2Aのエンコーダ100および／または図2Bのデコーダ200を含むビデオ符号化システム1100である。
【発明を実施するための形態】
【００７８】
以下は、本願の実施形態における添付の図面を参照して、本願の実施形態を記載する。
【００７９】
ビデオストリームまたはビデオストリームの一部、たとえばビデオ・フレームまたはピクチャー・ブロックのエンコードのために、ビデオストリームにおける時間的および空間的類似性が、エンコード性能を改善するために使用されうる。たとえば、ビデオストリーム内の現在ピクチャー・ブロックについて、現在ピクチャー・ブロックについて使用される動き情報は、ビデオストリーム内の先にエンコードされたブロックに基づいて予測されてもよく、先にエンコードされたブロックに基づいて現在ピクチャー・ブロックを符号化するために、予測ブロックと現在ピクチャー・ブロック（すなわち、もとのブロック）との間の差（残差とも呼ばれる）が同定される。この方法によれば、現在ピクチャー・ブロック全体ではなく、現在ピクチャー・ブロックを生成するために使用される残差およびいくつかのパラメータのみが、デジタルビデオ出力ビットストリームに含められる。この技術は、インター予測と呼ばれることがある。
【００８０】
動きベクトルは、インター予測プロセスにおける重要なパラメータであり、現在符号化ブロックに対する、先に符号化されたブロックの空間的変位を表わす。動きベクトルを得るために、動き探索のような動き推定方法が使用されてもよい。初期のインター予測技術では、デコーダが予測ブロックを再現し、それにより再構成されたブロックを得ることができるようにするために、動きベクトルを表わすビットが、エンコードされたビットストリームに含められる。さらにエンコード効率を改善するために、参照動きベクトルを使用することによって動きベクトルを差分的にエンコードすること、すなわち、動きベクトル全体をエンコードする代わりに、動きベクトルと参照動きベクトルとの間の差分のみをエンコードすることがさらに提案されている。いくつかの場合には、参照動きベクトルは、ビデオストリームにおいて以前に使用された動きベクトルから選択されてもよい。現在動きベクトルをエンコードするために以前に使用された動きベクトルを選択することは、エンコードされたビデオ・ビットストリームに含まれるビットの量をさらに減らすことができる。
【００８１】
図1Aは、本願のある実施形態による例示的なビデオ符号化システム1のブロック図である。本明細書で使用されるところでは、「ビデオコーデック」という用語は、通例、ビデオ・エンコーダおよびビデオ・デコーダを指す。本願では、「ビデオ符号化」または「符号化」という用語は、通例、ビデオ・エンコードまたはビデオ・デコードを指しうる。ビデオ符号化システム1におけるビデオ・エンコーダ100およびビデオ・デコーダ200は、本願で提供される複数の新しいインター予測モードのうちの任意の一つに記載されるさまざまな方法例に従って、現在の符号化されるピクチャー・ブロックの、または現在の符号化されるピクチャー・ブロックのサブブロックの動き情報、たとえば、動きベクトルを予測するように構成され、それにより、予測された動きベクトルは、動き推定方法を用いて得られた動きベクトルに最大限近いものとなる。このようにして、動きベクトル差分がエンコードの間に伝送される必要がなく、それによりエンコードおよびデコード性能をさらに改善する。
【００８２】
図1Aに示されるように、ビデオ符号化システム1は、源装置10と宛先装置20とを含む。源装置10は、エンコードされたビデオ・データを生成する。よって、源装置10は、ビデオ・エンコード装置と称されてもよい。宛先装置20は、源装置10によって生成されたエンコードされたビデオ・データをデコードすることができる。よって、宛先装置20は、ビデオ・デコード装置と称されてもよい。源装置10、宛先装置20、または源装置10および宛先装置20の両方のさまざまな実装解決策は、一つまたは複数のプロセッサおよび該一つまたは複数のプロセッサに結合されたメモリを含んでいてもよい。メモリは、本明細書に記載されるような、コンピュータによってアクセス可能な命令またはデータ構造の形で必要とされるプログラム・コードを記憶するために使用できるRAM、ROM、EEPROM、フラッシュメモリ、または他の任意の媒体を含みうるが、これらに限定されない。理解の容易のため、図1Bはさらに、ビデオ・データが源装置10によって収集され、エンコードされ、送信され、宛先装置20によって受領され、デコードされ、レンダリングされるシナリオを示す。
【００８３】
源装置10および宛先装置20は、デスクトップコンピュータ、モバイルコンピューティング装置、ノートブック（たとえばラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、「スマート」フォンのようなハンドヘルド電話機、テレビジョンセット、カメラ、ディスプレイ装置、デジタルメディアプレーヤー、ビデオゲームコンソール、車載コンピュータ、および同様の装置を含むさまざまな装置を含みうる。
【００８４】
宛先装置20は、リンク30を通じて源装置10からエンコードされたビデオ・データを受領することができる。リンク30は、エンコードされたビデオ・データを源装置10から宛先装置20に転送することができる一つまたは複数の媒体または装置を含みうる。一例では、リンク30は、源装置10がエンコードされたビデオ・データを宛先装置20にリアルタイムで直接送信することを可能にする一つまたは複数の通信媒体を含みうる。この例では、源装置10は、通信標準（たとえば、無線通信プロトコル）に従って、エンコードされたビデオ・データを変調してもよく、変調されたビデオ・データを宛先装置20に送信してもよい。一つまたは複数の通信媒体は、無線通信媒体および／または有線通信媒体、たとえば、無線周波数（RF）スペクトルまたは一つまたは複数の物理的伝送線を含みうる。一つまたは複数の通信媒体は、パケットベースのネットワークの一部であってもよく、該パケットベースのネットワークは、たとえば、ローカルエリアネットワーク、ワイドエリアネットワーク、またはグローバルネットワーク（たとえば、インターネット）である。一つまたは複数の通信媒体は、ルーター、スイッチ、基地局、または源装置10から宛先装置20への通信を容易にする他の装置を含みうる。
【００８５】
別の例では、エンコードされたデータは、出力インターフェース140を通じて記憶装置40に出力されうる。同様に、エンコードされたデータは、記憶装置40から入力インターフェース240を通じてアクセスされうる。記憶装置40は、複数の分散されたまたはローカルにアクセスされるデータ記憶媒体のうちの任意の一つを含みうる。たとえば、ハードディスクドライブ、ブルーレイディスク、DVD、CD-ROM、フラッシュメモリ、揮発性または不揮発性メモリ、またはエンコードされたビデオ・データを記憶するように構成された任意の他の好適なデジタル記憶媒体である。
【００８６】
別の例では、記憶装置40は、源装置10によって生成されたエンコードされたビデオを維持することができるファイル・サーバーまたは別の中間記憶装置に対応してもよい。宛先装置20は、ストリーミング伝送またはダウンロードを通じて、記憶装置40からの記憶されたビデオ・データにアクセスすることができる。ファイル・サーバーは、エンコードされたビデオ・データを記憶し、エンコードされたビデオ・データを宛先装置20に送信することができる任意のタイプのサーバーでありうる。たとえば、ファイル・サーバーは、ネットワークサーバー（たとえば、ウェブサイトのために使用される）、FTPサーバー、ネットワークアタッチトストレージ（NAS）装置、またはローカルディスクドライブであってもよい。宛先装置20は、任意の標準的なデータ接続（インターネット接続を含む）を通じて、エンコードされたビデオ・データにアクセスすることができる。標準的なデータ接続は、無線チャネル（たとえば、Wi-Fi接続）、有線接続（たとえば、DSLまたはケーブルモデム）、またはファイル・サーバーに記憶されているエンコードされたビデオ・データにアクセスするのに好適なそれらの組み合わせを含みうる。記憶装置40からのエンコードされたビデオ・データの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組み合わせでありうる。
【００８７】
本願における動きベクトル予測技術は、複数のマルチメディアアプリケーション、たとえば、無線テレビ放送、ケーブルテレビ放送、衛星テレビ放送、（たとえばインターネット上での）ストリーミングビデオ伝送、データ記憶媒体に記憶されているビデオ・データのエンコード、データ記憶媒体に記憶されているビデオ・データのデコード、または他のアプリケーションをサポートするために、ビデオ符号化およびデコードのために使用されうる。いくつかの例では、ビデオ符号化システム1は、ビデオストリーミング伝送、ビデオ再生、ビデオ放送、および／またはビデオ電話などのアプリケーションをサポートするために、一方向または双方向のビデオ伝送をサポートするように構成されうる。
【００８８】
図1Aに記載されたビデオ符号化システム1は、単に一例であり、本願における技術は、必ずしもエンコード装置とデコード装置との間の何らかのデータ通信を含まないビデオ符号化セッティング（たとえば、ビデオ符号化またはビデオ・デコード）に適用可能である。別の例では、データはローカルメモリから取り出される、ストリーミング方式でネットワーク上で伝送される、などである。ビデオ・エンコード装置は、データをエンコードし、該データをメモリに記憶してもよく、および／またはビデオ・デコード装置は、メモリからデータを取り出し、該データをデコードしてもよい。多くの例において、データをエンコードし、該データをメモリに記憶する、および／または、メモリからデータを取り出し、該データをデコードするだけであって、互いに通信しない装置が、エンコードおよびデコードを実行する。
【００８９】
図1Aの例では、源装置10は、ビデオ源120と、ビデオ・エンコーダ100と、出力インターフェース140とを含む。いくつかの例では、出力インターフェース140は、変調器／復調器（モデム）および／または送信器を含んでいてもよい。ビデオ源120は、ビデオ捕捉装置（たとえば、カメラ）、以前に捕捉されたビデオ・データを含むビデオ・アーカイブ、ビデオ・コンテンツ・プロバイダーからビデオ・データを受信するためのビデオ・フィードイン・インターフェース、および／またはビデオ・データを生成するためのコンピュータ・グラフィックス・システム、または上記のビデオ・データ源の組み合わせを含みうる。
【００９０】
ビデオ・エンコーダ100は、ビデオ源120からのビデオ・データをエンコードしてもよい。いくつかの例では、源装置10は、エンコードされたビデオ・データを出力インターフェース140を通じて宛先装置20に直接送信する。別の例では、エンコードされたビデオ・データは、代替的に、記憶装置40に記憶されてもよく、それにより、宛先装置20が、その後、デコードおよび／または再生のために、エンコードされたビデオ・データにアクセスする。
【００９１】
図1Aの例では、宛先装置20は、入力インターフェース240、ビデオ・デコーダ200、および表示装置220を含む。いくつかの例では、入力インターフェース240は、受信器および／またはモデムを含む。入力インターフェース240は、リンク30を通じておよび／または記憶装置40から、エンコードされたビデオ・データを受領することができる。表示装置220は、宛先装置20と一体化されてもよく、または宛先装置20の外部に位置してもよい。通例、表示装置220は、デコードされたビデオ・データを表示する。表示装置220は、複数のタイプの表示装置、たとえば、液晶ディスプレイ（LCD）、プラズマディスプレイ、有機発光ダイオード（OLED）ディスプレイ、または別のタイプの表示装置を含みうる。
【００９２】
図1Aには示されていないが、いくつかの側面では、ビデオ・エンコーダ100およびビデオ・デコーダ200は、それぞれ、オーディオエンコーダおよびオーディオデコーダと一体化されてもよく、適切なマルチプレクサ‐デマルチプレクサ・ユニットまたは他のハードウェアおよびソフトウェアを含んでいて、オーディオおよびビデオを、組み合わされたデータストリームまたは別個のデータストリームにおいてエンコードしてもよい。いくつかの例において、もし適用可能であれば、MUX-DEMUXユニットは、ITU  H.223マルチプレクサプロトコル、またはユーザーデータグラムプロトコル（UDP）のような別のプロトコルに準拠してもよい。
【００９３】
ビデオ・エンコーダ100およびビデオ・デコーダ200は、それぞれ、たとえば、以下の複数の回路：一つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（DSP）、特定用途向け集積回路（ASIC）、フィールドプログラマブルゲートアレイ（FPGA）、離散論理、ハードウェア、またはそれらの任意の組み合わせのうちの任意の一つとして実装されうる。本願が部分的にソフトウェアを通じて実装される場合、装置は、適切な不揮発性コンピュータ読み取り可能記憶媒体に、ソフトウェアのために使用される命令を記憶してもよく、本願で技術を実装するために、ハードウェアにおいて該命令を実行するために一つまたは複数のプロセッサを使用してもよい。上記の内容（ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組み合わせなどを含む）の任意の一つが、一つまたは複数のプロセッサとみなされてもよい。ビデオ・エンコーダ100およびビデオ・デコーダ200は、それぞれ、一つまたは複数のエンコーダまたはデコーダに含まれてもよく、エンコーダまたはデコーダは、対応する装置内で組み合わされたエンコーダ／デコーダ（コーデック）の一部として統合されてもよい。
【００９４】
本願では、ビデオ・エンコーダ100は、おおまかには、たとえばビデオ・デコーダ200に何らかの情報を「シグナリング」または「送信」する別の装置と称されてもよい。「シグナリング」または「送信」という用語は、おおまかには、圧縮されたビデオ・データをデコードするために使用されるシンタックス要素および／または他のデータの転送を指しうる。転送は、リアルタイムで、またはほぼリアルタイムで行なわれる。あるいはまた、通信は、ある時間期間後に行なわれてもよい。たとえば、通信は、エンコードされたビットストリーム中のシンタックス要素がエンコードの間にコンピュータ読み取り可能な記憶媒体中に記憶されたときに生起してもよく、すると、デコード装置は、そのシンタックス要素が媒体中に記憶された後の任意の時点で、そのシンタックス要素を取り出しうる。
【００９５】
ビデオ・エンコーダ100およびビデオ・デコーダ200は、高効率ビデオ符号化（HEVC）またはその拡張などのビデオ圧縮標準に従って動作してもよく、HEVCテスト・モデル（HM）に準拠してもよい。あるいはまた、ビデオ・エンコーダ100およびビデオ・デコーダ200は、別の業界標準、たとえば、ITU-T  H.264標準、H.265標準、またはそのような標準の拡張に従って動作してもよい。しかしながら、本願における技術は、いかなる特定のエンコードおよびデコード標準にも限定されない。
【００９６】
一例では、図3を一緒に参照すると、ビデオ・エンコーダ100は、現在のエンコードされるべきピクチャー・ブロックに関連するシンタックス要素を、デジタルビデオ出力ビットストリーム（これは、ビットストリームと略称される）中にエンコードするように構成される。ここでは、現在ピクチャー・ブロックに対してインター予測を実行するために使用されるシンタックス要素はインター予測データと略称される。現在ピクチャー・ブロックをエンコードするために使用されるインター予測モードを決定するために、ビデオ・エンコーダ100は、現在ピクチャー・ブロックに対してインター予測を実行するために使用されるインター予測モードを候補インター予測モード集合において決定または選択し（S301）（たとえば、現在ピクチャー・ブロックをエンコードする妥協されたまたは最低のレート‐歪みコストをもつインター予測モードを複数の新しいインター予測モードにおいて選択する）；決定されたインター予測モードに基づいて現在ピクチャー・ブロックをエンコードする（S303）ようにさらに構成される。本明細書におけるエンコード・プロセスは：決定されたインター予測モードに基づいて、現在ピクチャー・ブロック内の一つまたは複数のサブブロックの動き情報を予測し（動き情報は、具体的には、各サブブロックの動き情報または全サブブロックの動き情報であってもよい）、現在ピクチャー・ブロックの予測ブロックを得るために、現在ピクチャー・ブロック内の一つまたは複数のサブブロックの動き情報を使用することによって、一つまたは複数のサブブロックの予測サンプル値を予測することを含んでいてもよい。
【００９７】
インター予測モードに基づいて予測された動き情報を用いて生成された予測ブロックと、現在のエンコードされるべきピクチャー・ブロック（すなわち、もとのブロック）との間の差（すなわち、残差）が0である場合、ビデオ・エンコーダ100は、現在のエンコードされるべきピクチャー・ブロックに関連するシンタックス要素のみをビットストリーム（ビットストリームとも呼ばれる）中にエンコードする必要があることが理解されるべきである。そうでない場合、シンタックス要素に加えて、対応する残差がビットストリーム中にエンコードされる必要がある。
【００９８】
別の例では、図4を一緒に参照すると、ビデオ・デコーダ200は、ビットストリームをデコードして、現在のデコードされるべきピクチャー・ブロックに関連するシンタックス要素を得て（S401）、インター予測データが、現在ピクチャー・ブロックを予測するために特定のインター予測モード（たとえば、先進動きベクトル予測（AMVP）モード、マージ・モード、アフィン・マージaffine_mergeモード、またはアフィン動きベクトル予測affine_interモード）を使用することを示す場合（S403）、決定されたインター予測モードに基づいて現在ピクチャー・ブロックをデコードする（S405）ように構成される。ここでのデコード・プロセスは：現在ピクチャー・ブロック内の一つまたは複数のサブブロックの動き情報を予測し、現在ピクチャー・ブロック内の一つまたは複数のサブブロックの動き情報を使用することによって、現在ピクチャー・ブロックに対してインター予測を実行することを含みうる。
【００９９】
任意的に、インター予測データが、現在ピクチャー・ブロックのターゲット候補動きベクトル・グループを示すために使用されるインデックスをさらに含む場合、ビデオ・デコーダ200は、アフィン候補動きベクトル・リスト内のターゲット候補動きベクトル・グループを決定するように構成される。ターゲット候補動きベクトル・グループは、現在ピクチャー・ブロックの制御点のグループの動きベクトル予測子を表わす。ビデオ・デコーダ200がマージ・モードを使用する場合、ターゲット候補動きベクトル・グループによって表わされる、現在ピクチャー・ブロックの制御点のグループの動きベクトル予測子が、現在ピクチャー・ブロックの制御点のグループの動きベクトルとして使用されることが理解されるべきである。
【０１００】
図2Aは、本願のある実施形態による例示的なビデオ・エンコーダ100のブロック図である。ビデオ・エンコーダ100は、後処理エンティティ41にビデオを出力するように構成される。後処理エンティティ41は、ビデオ・エンコーダ100からのエンコードされたビデオ・データを処理することができるビデオ・エンティティの例を表わす。たとえば、ビデオ・エンティティは、メディア認識ネットワーク要素（MANE）またはステッチ装置／編集装置である。いくつかの場合には、後処理エンティティ41は、ネットワーク・エンティティの例であってもよい。いくつかのビデオ符号化システムでは、後処理エンティティ41およびビデオ・エンコーダ100は、別個の装置のコンポーネントであってもよく、他の場合には、後処理エンティティ41に関して記載される機能は、ビデオ・エンコーダ100を含む同じ装置によって実装されてもよい。一例において、後処理エンティティ41は、図1Aの記憶装置40の例である。
【０１０１】
ビデオ・エンコーダ100は、モード0、1、2、…、10を含む、本願で提案される候補インター予測モード集合における任意の新しいインター予測モードに基づいて、ビデオ・ピクチャー・ブロックをエンコードする、たとえばビデオ・ピクチャー・ブロックに対してインター予測を実行することができる。
【０１０２】
図2Aの例では、ビデオ・エンコーダ100は、予測処理ユニット108と、フィルタ・ユニット106と、デコード・ピクチャー・バッファ（DPB）107と、加算ユニット114と、変換ユニット101と、量子化ユニット102と、エントロピー・エンコード・ユニット103とを含む。予測処理ユニット108は、インター予測ユニット110と、イントラ予測ユニット109とを含む。ピクチャー・ブロック再構成のために、ビデオ・エンコーダ100は、逆量子化ユニット104、逆変換ユニット105、および加算ユニット113をさらに含む。フィルタ・ユニット106は、一つまたは複数のループ・フィルタ・ユニット、たとえば、ブロック解除フィルタ・ユニット、適応ループ・フィルタ（ALF）・ユニット、およびサンプル適応オフセット（SAO）・フィルタ・ユニットを表わすことが意図されている。フィルタ・ユニット106は、図2Aではループ内フィルタとして示されているが、別の実装では、フィルタ・ユニット106は、ポストフィルタとして実装されてもよい。一例では、ビデオ・エンコーダ100は、さらに、ビデオ・データ記憶ユニットと、分割ユニット（図には示されていない）とを含んでいてもよい。
【０１０３】
ビデオ・データ記憶ユニットは、ビデオ・エンコーダ100のコンポーネントによってエンコードされたビデオ・データを記憶することができる。ビデオ・データ記憶ユニットに記憶されたビデオ・データは、ビデオ源120から得られてもよい。DPB  107は、ビデオ・データをイントラまたはインター符号化モードでエンコードするためにビデオ・エンコーダ100によって使用される参照ビデオ・データを記憶する参照ピクチャー記憶ユニットであってもよい。ビデオ・データ記憶ユニットおよびDPB  107は、それぞれ、複数の記憶ユニット装置、たとえば、同期DRAM（SDRAM）を含む動的ランダムアクセスメモリ（DRAM）、磁気抵抗RAM（MRAM）、抵抗RAM（RRAM）、または別のタイプの記憶ユニット装置のいずれか一つを含んでいてもよい。ビデオ・データ記憶ユニットおよびDPB  107は、同じ記憶ユニット装置または別個の記憶ユニット装置によって提供されうる。さまざまな例において、ビデオ・データ記憶ユニットは、ビデオ・エンコーダ100の他のコンポーネントと一緒にチップ上に集積されてもよく、またはそれらのコンポーネントに対してチップの外部に配置されてもよい。
【０１０４】
図2Aに示されるように、ビデオ・エンコーダ100は、ビデオ・データを受領し、該ビデオ・データをビデオ・データ記憶ユニットに記憶する。分割ユニットは、ビデオ・データをいくつかのピクチャー・ブロックに分割し、これらのピクチャー・ブロックはさらに、より小さなブロックに分割されてもよい。たとえば、四分木構造または二分木構造に基づくピクチャー・ブロック分割が実行される。分割は、スライス（slice）、タイル（tile）、または他のより大きな単位に分割することをさらに含みうる。ビデオ・エンコーダ100は、通例、エンコードされるべきビデオ・スライス内のピクチャー・ブロックをエンコードするためのコンポーネントである。スライスは、複数のピクチャー・ブロックに分割されてもよい（また、タイルと呼ばれるピクチャー・ブロック集合に分割されてもよい）。予測処理ユニット108は、現在ピクチャー・ブロックのために使用される複数の可能な符号化モードのうちの一つ、たとえば、複数のイントラ符号化モードのうちの一つまたは複数のインター符号化モードのうちの一つを選択してもよい。前記複数のインター符号化モードは、本願において提案されるモード0、1、2、3、…、10のうちの一つまたは複数を含むが、これらに限定されない。予測処理ユニット108は、得られたイントラ符号化されたブロックおよびインター符号化されたブロックを、残差ブロックを生成するために加算ユニット114に提供し、それらのブロックを、参照ピクチャーとして使用されるエンコードされたブロックを再構成するために加算ユニット113に提供してもよい。
【０１０５】
予測処理ユニット108内のイントラ予測ユニット109は、空間的冗長性を除去するために、現在のエンコードされるべきブロックと同じフレームまたはスライス内にある一つまたは複数の近傍ブロックをもとに、現在ピクチャー・ブロックに対してイントラ予測エンコードを実行してもよい。予測処理ユニット108内のインター予測ユニット110は、時間的冗長性を除去するために、一つまたは複数の参照ピクチャー内の一つまたは複数の予測ブロックをもとに、現在ピクチャー・ブロックに対してインター予測エンコードを実行してもよい。
【０１０６】
具体的には、インター予測ユニット110は、現在ピクチャー・ブロックをエンコードするために使用されるインター予測モードを決定するように構成されてもよい。たとえば、インター予測ユニット110は、レート‐歪み解析を通じて設定された候補インター予測モード集合におけるさまざまなインター予測モードのレート‐歪み値を計算し、それらのインター予測モードから、最適なレート‐歪み特性をもつインター予測モードを選択することができる。レート‐歪み解析は、通例、エンコードされたブロックと、エンコードされておらず、エンコードされたブロックを生成するためにエンコードされるべきもとのブロックとの間の歪み（または誤差）の量、ならびに、エンコードされたブロックを生成するために使用されるビットレート（すなわち、ビットの量）を決定するために使用される。たとえば、インター予測ユニット110は、現在ピクチャー・ブロックに対してインター予測を実行するために使用されるインター予測モードとして、最低のレート‐歪みコストをもち、現在ピクチャー・ブロックをエンコードするために使用されるインター予測モードを決定することができる。下記は、インター予測エンコード・プロセス、特に本願におけるアフィンモード（たとえば、アフィン変換に基づく先進動きベクトル予測モードまたはアフィン変換に基づくマージ予測モード）において現在ピクチャー・ブロックにおける一つまたは複数のサブブロック（具体的には、各サブブロックまたは全サブブロックであってもよい）の動き情報を予測するプロセスについて詳細に述べる。言い換えると、下記は、動きモデル、たとえば、4パラメータ・アフィン・モデルまたは6パラメータ・アフィン・モデルに基づく動きベクトル予測プロセスを詳細に説明する。
【０１０７】
インター予測ユニット110は、決定されたインター予測モードに基づいて、現在ピクチャー・ブロック内の一つまたは複数のサブブロックの動き情報（たとえば、動きベクトル）を予測し、現在ピクチャー・ブロック内の一つまたは複数のサブブロックの動き情報（たとえば、動きベクトル）を用いて、現在ピクチャー・ブロックの予測ブロックを取得または生成するように構成されている。インター予測ユニット110は、参照ピクチャー・リスト内の1つの参照ピクチャーにおいて、動きベクトルがポイントする予測ブロックを位置特定することができる。インター予測ユニット110は、さらに、ピクチャー・ブロックおよびビデオ・スライスに関連するシンタックス要素を生成することができ、それにより、ビデオ・デコーダ200は、そのシンタックス要素を使用して、ビデオ・スライスのピクチャー・ブロックをデコードする。あるいはまた、一例では、インター予測ユニット110は、各サブブロックの予測ブロックを生成するために各サブブロックの動き情報を用いて動き補償プロセスを実行し、現在ピクチャー・ブロックの予測ブロックを取得する。ここで、インター予測部110は、具体的には、動き推定ユニット111および動き補償部112を含むことが理解されるべきである。動き推定ユニット111は、動き推定（ME）プロセスを実行するように構成され、動き補償ユニット112は、動き補償（MC）プロセスを実行するように構成される。
【０１０８】
具体的には、現在ピクチャー・ブロックのためのインター予測モードを選択した後、インター予測ユニット110は、エントロピー・エンコード・ユニット103のために、現在ピクチャー・ブロックの選択されたインター予測モードを示す情報を提供することができ、それにより、エントロピー・エンコード・ユニット103は、選択されたインター予測モードを示す情報をエンコードする。イントラ予測ユニット109は、現在ピクチャー・ブロックに対してイントラ予測を実行することができる。具体的には、イントラ予測ユニット109は、現在ブロックをエンコードするために使用されるイントラ予測モードを決定することができる。たとえば、イントラ予測ユニット109は、レート‐歪み解析を通じて、さまざまなテストされるべきイントラ予測モードのレート‐歪み値を計算し、それらのテストされるべきモードから、最適なレート‐歪み特性をもつイントラ予測モードを選択することができる。いずれの場合も、ピクチャー・ブロックのためのイントラ予測モードを選択した後、イントラ予測ユニット109は、エントロピー・エンコード・ユニット103のために、現在ピクチャー・ブロックの選択されたイントラ予測モードを示す情報を提供することができ、それにより、エントロピー・エンコード・ユニット103は選択されたイントラ予測モードを示す情報をエンコードする。
【０１０９】
予測処理ユニット108が、現在ピクチャー・ブロックの予測ブロックをインター予測およびイントラ予測を通じて生成した後、ビデオ・エンコーダ100は、現在のエンコードされるべきピクチャー・ブロックから予測ブロックを減算し、残差ピクチャー・ブロックを形成する。加算ユニット114は、減算演算を実行する一つまたは複数のコンポーネントを表わす。残差ブロック内の残差ビデオ・データは、一つまたは複数のTUに含まれて、変換ユニット101によって使用されてもよい。変換ユニット101は、離散コサイン変換（DCT）または概念的に同様の変換といった変換を通じて、残差ビデオ・データを残差変換係数に変換する。変換ユニット101は、残差ビデオ・データをサンプル値ドメインから変換ドメイン、たとえば周波数ドメインに変換することができる。
【０１１０】
変換ユニット101は、得られた変換係数を量子化ユニット102に送信してもよい。量子化ユニット102は、ビットレートをさらに低減するために変換係数を量子化する。いくつかの例では、量子化ユニット102は、量子化された変換係数を含むマトリクスをさらに走査してもよい。あるいはまた、エントロピー・エンコード・ユニット103がその走査を実行してもよい。
【０１１１】
量子化後、エントロピー・エンコード・ユニット103は、量子化された変換係数に対してエントロピー・エンコードを実行する。たとえば、エントロピー・エンコード・ユニット103は、コンテキスト適応可変長符号化（CAVLC）、コンテキスト適応バイナリ算術符号化（CABAC）、シンタックスベースのコンテキスト適応バイナリ算術符号化（SBAC）、確率区間分割エントロピー（PIPE）符号化、または他のエントロピー符号化方法もしくは技術を実行することができる。エントロピー・エンコード・ユニット103がエントロピー・エンコードを実行した後、エンコードされたビットストリームは、ビデオ・デコーダ200に送信されてもよいし、またはその後の送信のためもしくはビデオ・デコーダ200によって取り出されるためにアーカイブされてもよい。エントロピー・エンコード・ユニット103は、さらに、現在のエンコードされるべきピクチャー・ブロックのシンタックス要素に対してエントロピー・エンコードを実行してもよい。
【０１１２】
逆量子化ユニット104および逆変換ユニット105は、それぞれ、逆量子化および逆変換を適用して、たとえば参照ピクチャーの参照ブロックとしてのその後の使用のためにサンプル・ドメインでの残差ブロックを再構成する。加算ユニット113は、インター予測ユニット110またはイントラ予測ユニット109によって生成された予測ブロックに、再構成された残差ブロックを加算して、再構成されたピクチャー・ブロックを生成する。フィルタ・ユニット106は、ブロッキングアーチファクト（ブロックアーチファクト）などの歪みを低減するために、再構成されたピクチャー・ブロックに適用可能である。次いで、再構成されたピクチャー・ブロックは、デコード・ピクチャー・バッファ107内の参照ブロックとして記憶され、その後のビデオ・フレームまたはピクチャー内のブロックに対してインター予測を実行するためにインター予測ユニット110によって参照ブロックとして使用されることができる。
【０１１３】
ビデオストリームをエンコードするためにビデオ・エンコーダ100の他の構造的変形が使用されてもよいことが理解されるべきである。たとえば、いくつかのピクチャー・ブロックまたはピクチャー・フレームについて、ビデオ・エンコーダ100は残差信号を直接量子化してもよい。この場合、変換ユニット101および逆変換ユニット105による処理は要求されない。あるいはまた、いくつかのピクチャー・ブロックまたはピクチャー・フレームについては、ビデオ・エンコーダ100は残差データを生成しない。この場合、変換ユニット101、量子化ユニット102、逆量子化ユニット104、逆変換ユニット105による処理は要求されない。あるいはまた、ビデオ・エンコーダ100は、再構成されたピクチャー・ブロックを参照ブロックとして直接記憶してもよく、フィルタ・ユニット106による処理は要求されない。あるいはまた、ビデオ・エンコーダ100内の量子化ユニット102および逆量子化ユニット104は組み合わされてもよい。ループ・フィルタ・ユニットは任意的である。また、無損失圧縮符号化については、変換ユニット101、量子化ユニット102、逆量子化ユニット104、逆変換ユニット105は任意的である。異なる適用シナリオでは、インター予測ユニットおよびイントラ予測ユニットが選択的に有効化されてもよいことが理解されるべきである。この解決策では、インター予測ユニットが有効にされる。
【０１１４】
図2Bは、本願のある実施形態による例示的なビデオ・デコーダ200のブロック図である。図2Bの例では、ビデオ・デコーダ200は、エントロピー・デコード・ユニット203、予測処理ユニット208、逆量子化ユニット204、逆変換ユニット205、加算ユニット211、フィルタ・ユニット206、およびデコード・ピクチャー・バッファ207を含む。予測処理ユニット208は、動き補償ユニット210（インター予測ユニットとも呼ばれる）210と、イントラ予測ユニット209とを含んでいてもよい。いくつかの例では、ビデオ・デコーダ200は、図2Aにおけるビデオ・エンコーダ100に関して記載されるエンコード・プロセスと実質的に逆のデコード・プロセスを実行することができる。
【０１１５】
デコードの間、ビデオ・デコーダ200は、ビデオ・エンコーダ100から、エンコードされたビデオ・スライスのピクチャー・ブロックおよび関連するシンタックス要素を表わすエンコードされたビデオ・ビットストリームを受領する。ビデオ・デコーダ200は、ネットワーク・エンティティ42からビデオ・データを受領してもよく、任意的に、ビデオ・データをビデオ・データ記憶ユニット（図には示されていない）にさらに記憶してもよい。ビデオ・データ記憶ユニットは、ビデオ・デコーダ200のコンポーネントによってデコードされるべき、エンコードされたビデオ・ビットストリームといったビデオ・データを記憶することができる。ビデオ・データ記憶ユニットに記憶されたビデオ・データは、たとえば、ビデオ・データの有線または無線ネットワーク通信を通じて、または物理的なデータ記憶媒体にアクセスすることによって、記憶装置40またはカメラのようなローカル・ビデオ源から得られてもよい。ビデオ・データ記憶ユニットは、エンコードされたビデオ・ビットストリームからのエンコードされたビデオ・データを記憶するように構成されたデコード・ピクチャー・バッファ（DPB）として使用されてもよい。よって、ビデオ・データ記憶ユニットは図2Bには示されていないが、ビデオ・データ記憶ユニットとDPB  207は、同じ記憶ユニットであってもよく、または別個に配置された記憶ユニットであってもよい。ビデオ・データ記憶ユニットおよびDPB  207は、それぞれ、複数の記憶ユニット装置、たとえば、同期DRAM（SDRAM）を含む動的ランダムアクセスメモリ（DRAM）、磁気抵抗RAM（MRAM）、抵抗RAM（RRAM）、または別のタイプの記憶ユニット装置のいずれか一つを含んでいてもよい。さまざまな例において、ビデオ・データ記憶ユニットは、ビデオ・デコーダ200の他のコンポーネントと一緒にチップ上に集積されてもよく、またはそれらのコンポーネントに対してチップの外部に配置されてもよい。
【０１１６】
ネットワーク・エンティティ42は、たとえば、サーバー、MANE、ビデオ・エディタ／スプライサ、または上述の技術の一つまたは複数を実装するように構成された別の装置であってもよい。ネットワーク・エンティティ42は、ビデオ・エンコーダ、たとえば、ビデオ・エンコーダ100を含んでも含まなくてもよい。ネットワーク・エンティティ42がエンコードされたビデオ・ビットストリームをビデオ・デコーダ200に送信する前に、ネットワーク・エンティティ42は、本願に記載される技術の一部を実装しうる。いくつかのビデオ・デコード・システムでは、ネットワーク・エンティティ42およびビデオ・デコーダ200は、別個の装置のコンポーネントであってもよい。他の場合には、ネットワーク・エンティティ42に関して記載される機能は、ビデオ・デコーダ200を含む同じ装置によって実装されてもよい。いくつかの場合には、ネットワーク・エンティティ42は、図1Aにおける記憶装置40の例であってもよい。
【０１１７】
ビデオ・デコーダ200のエントロピー・デコード・ユニット203は、ビットストリームに対してエントロピー・デコードを実行し、量子化された係数およびいくつかのシンタックス要素を生成する。エントロピー・デコード・ユニット203は、シンタックス要素を予測処理ユニット208に転送する。ビデオ・デコーダ200は、ビデオ・スライス・レベルおよび／またはピクチャー・ブロック・レベルでシンタックス要素（単数または複数）を受領しうる。
【０１１８】
ビデオ・スライスがイントラ・デコードされた（I）スライスにデコードされるとき、予測処理ユニット208のイントラ予測ユニット209は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャーの前にデコードされたブロックのデータとに基づいて、現在のビデオ・スライスのピクチャー・ブロックの予測ブロックを生成することができる。ビデオ・スライスが、インター・デコードされた（すなわち、BまたはP）スライスにデコードされるとき、予測処理ユニット208のインター予測部210は、エントロピー・デコード・ユニット203から受領されたシンタックス要素に基づいて、現在のビデオ・スライスの現在ピクチャー・ブロックをデコードするために使用されるインター予測モードを決定し、決定されたインター予測モードに基づいて現在ピクチャー・ブロックをデコードする（たとえば、現在ピクチャー・ブロックに対してインター予測を実行する）ことができる。具体的には、現在ピクチャー・ブロック、または現在のビデオ・スライスの現在ピクチャー・ブロックのサブブロックの動き情報が、インター予測モード（たとえば、シンタックス要素によって指定されたインター予測モードまたはデフォルトのインター予測モード）に基づいて予測される。このようにして、現在ピクチャー・ブロックのサブブロックの予測ブロックまたは現在ピクチャー・ブロックの予測ブロックが、動き補償プロセスにおいて現在ピクチャー・ブロックまたは現在ピクチャー・ブロックのサブブロックの予測された動き情報を用いて取得または生成される。ここでの動き情報は、参照ピクチャー情報および動きベクトルを含みうる。参照ピクチャー情報は、一方向／双方向予測情報、参照ピクチャー・リスト番号、および参照ピクチャー・リストに対応する参照ピクチャー・インデックスを含んでいてもよいが、これらに限定されない。インター予測のために、予測ブロックは、参照ピクチャー・リストのうちの一つの参照ピクチャー・リストにおける参照ピクチャーのうちの一つから生成されてもよい。ビデオ・デコーダ200は、DPB  207に記憶された参照ピクチャーに基づいて、参照ピクチャー・リスト、すなわち、リスト0およびリスト1を構築してもよい。現在ピクチャーの参照フレーム・インデックスが、参照フレーム・リスト0および参照フレーム・リスト1の一方または両方に含まれてもよい。ここで、インター予測ユニット210が動き補償プロセスを実行することが理解されるべきである。下記は、さまざまな新しいインター予測モードにおける参照ブロックの動き情報を用いて、現在ピクチャー・ブロックまたは現在ピクチャー・ブロックのサブブロックの動き情報を予測するインター予測プロセスについて詳細に説明する。下記は、本願におけるアフィンモード（たとえば、アフィン変換に基づく先進動きベクトル予測モードまたはアフィン変換に基づくマージ予測モード）において現在ピクチャー・ブロックにおける一つまたは複数のサブブロック（具体的には、各サブブロックまたは全サブブロックであってもよい）の動き情報を予測するプロセスについて詳細に説明する。言い換えると、下記は、動きモデル、たとえば、4パラメータ・アフィン・モデルまたは6パラメータ・アフィン・モデルに基づく動きベク���ル予測プロセスを詳細に説明する。
【０１１９】
逆量子化ユニット204は、ビットストリームにおいて提供され、エントロピー・デコード・ユニット203によってデコードされた量子化変換係数に対して逆量子化を実行する、すなわち、量子化解除する。逆量子化プロセスは、ビデオ・スライス内の各ピクチャー・ブロックについてビデオ・エンコーダ100によって計算された量子化パラメータを使用することによって、適用されるべき量子化度を決定し、適用されるべき逆量子化度を同様に決定することを含んでいてもよい。逆変換ユニット205は、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用し、サンプル・ドメインでの残差ブロックを生成する。
【０１２０】
インター予測ユニット210が、現在ピクチャー・ブロックまたは現在ピクチャー・ブロックのサブブロックのために使用される予測ブロックを生成した後、ビデオ・デコーダ200が、逆変換ユニット205からの残差ブロックと、インター予測ユニット210によって生成された対応する予測ブロックとを加算し、再構成されたブロック、すなわちデコードされたピクチャー・ブロックを得る。加算ユニット211は、加算演算を実行するコンポーネントを表わす。必要な場合には、サンプルを平滑化するために（デコード・ループの中または後に）ループ・フィルタ・ユニットがさらに使用されてもよく、または別の仕方でビデオ品質が改善されてもよい。フィルタ・ユニット206は、一つまたは複数のループ・フィルタ・ユニット、たとえば、ブロック解除フィルタ・ユニット、適応ループ・フィルタ（ALF）・ユニット、およびサンプル適応オフセット（SAO）・フィルタ・ユニットを表わしうる。フィルタ・ユニット206は、図2Bではループ内フィルタ・ユニットとして示されているが、別の実装では、フィルタ・ユニット206は、ループ後フィルタ・ユニットとして実装されてもよい。一例では、フィルタ・ユニット206は、ブロック歪みを低減するためにブロック再構成に適用可能であり、この結果は、デコードされたビデオストリームとして出力される。加えて、所与のフレームまたはピクチャー内のデコードされたピクチャー・ブロックは、デコード・ピクチャー・バッファ207内にさらに記憶されてもよく、デコード・ピクチャー・バッファ207は、その後の動き補償のために使用される参照ピクチャーを記憶する。デコード・ピクチャー・バッファ207は、記憶ユニットの一部であってもよく、また、表示装置（たとえば、図1Aにおける表示装置220）上でのその後の呈示のために、デコードされたビデオをさらに記憶してもよく、または、そのような記憶ユニットから分離されていてもよい。
【０１２１】
エンコードされたビデオ・ビットストリームをデコードするために、ビデオ・デコーダ200の他の構造的変形が使用されてもよいことが理解されるべきである。たとえば、ビデオ・デコーダ200は、フィルタ・ユニット206による処理なしに出力ビデオストリームを生成してもよい。あるいはまた、いくつかのピクチャー・ブロックまたはピクチャー・フレームについて、ビデオ・デコーダ200のエントロピー・デコード・ユニット203は、デコードを通じて量子化係数を得ない。この場合、逆量子化ユニット204および逆変換ユニット205による処理は要求されない。ループ・フィルタ・ユニットは任意的である。さらに、無損失圧縮については、逆量子化ユニット204および逆変換ユニット205は任意的である。異なる適用シナリオでは、インター予測ユニットおよびイントラ予測ユニットが選択的に有効化されてもよいことが理解されるべきである。この解決策では、インター予測ユニットが有効にされる。
【０１２２】
図5Aは、本願のある実施形態による、現在ピクチャー・ブロック600および参照ブロックの動き情報の例示的概略図である。図5Aに示されるように、WおよびHは、現在ピクチャー・ブロック600の幅および高さならびに現在ピクチャー・ブロック600の共位置のブロック600'の幅および高さである。現在ピクチャー・ブロック600の参照ブロックは、現在ピクチャー・ブロック600の上の空間的近傍ブロックと、現在ピクチャー・ブロック600の左の空間的近傍ブロックと、共位置ブロック600'の下の空間的近傍ブロックと、共位置ブロック600'の右の空間的近傍ブロックとを含む。共位置ブロック600'は、参照ピクチャー内にあり、現在ピクチャー・ブロック600と同じサイズ、同じ形状、および同じ座標を有するピクチャー・ブロックである。現在ピクチャー・ブロックの下に空間的近傍ブロックと、現在ピクチャー・ブロックの右の空間的近傍ブロックの動き情報は存在せず、これらはエンコードされないことを注意しておくべきである。現在ピクチャー・ブロック600および共位置ブロック600'は、任意のブロック・サイズを有しうることが理解されるべきである。たとえば、現在ピクチャー・ブロック600および共位置ブロック600'は、16×16サンプル、32×32サンプル、32×16サンプル、16×32サンプルなどを含むことができるが、これらに限定されない。上述のように、各ピクチャー・フレームは、エンコードのためにピクチャー・ブロックに分割されてもよい。これらのピクチャー・ブロックは、さらに、より小さなブロックに分割されてもよい。たとえば、現在ピクチャー・ブロック600および共位置ブロック600'は、複数のM×Nサブブロックに分割されてもよい。換言すれば、各サブブロックのサイズは、M×Nサンプルである。さらに、各参照ブロックのサイズもM×Nサンプルであり、すなわち、現在ピクチャー・ブロックのサブブロックのサイズと同じである。図5Aにおける座標は、1  M×Nブロックで測定される。「M×N」および「MかけるN」は、水平寸法および垂直寸法におけるピクチャー・ブロックのサンプル・サイズを指すために交換可能に使用されうる。言い換えると、水平方向にはM個のサンプル、垂直方向にはN個のサンプルがある。ここで、MとNは負でない整数値を表わす。また、ブロックにおいて、水平方向におけるサンプル数と垂直方向におけるサンプル数が必ずしも同じでなくてもよい。たとえば、ここではM＝N＝4である。むろん、現在ピクチャー・ブロックのサブブロックのサイズおよび参照ブロックのサイズは、代替的に、8×8サンプル、8×4サンプル、4×8サンプル、または最小の予測ブロック・サイズであってもよい。また、本願に記載されるピクチャー・ブロックは、予測単位（PU）、符号化単位（CU）、変換単位（TU）などとして理解されうるが、これらに限定されない。種々のビデオ圧縮符号化規格における規定によれば、CUは、一つまたは複数の予測ユニットPUを含んでいてもよく、またはPUのサイズは、CUのサイズと同じである。ピクチャー・ブロックは、固定または可変サイズを有することができ、サイズは、異なるビデオ圧縮符号化規格では変わりうる。加えて、現在ピクチャー・ブロックは、現在のエンコードされるべきまたはデコードされるべきピクチャー・ブロック、たとえば、エンコードされるべきまたはデコードされ��べき予測単位である。
【０１２３】
一例では、現在ピクチャー・ブロック600の左の各空間的近傍ブロックが利用可能であるかどうかは、方向1に沿って逐次的に決定されてもよく、現在ピクチャー・ブロック600の上の各空間的近傍ブロックが利用可能であるかどうかは、方向2に沿って逐次的に決定されてもよい。たとえば、近傍ブロック（参照ブロックとも称される。ここで、「近傍ブロック」と「参照ブロック」は交換可能に使用されうる）がインター符号化されているかどうかが判定され、該近傍ブロックが存在し、インター符号化されている場合には該近傍ブロックは利用可能であり、あるいは該近傍ブロックが存在しないまたはイントラ符号化されている場合には該近傍ブロックは利用不能である。近傍ブロックがイントラ符号化されている場合には、別の近傍の参照ブロックの動き情報が近傍ブロックの動き情報としてコピーされる。共位置ブロック600'の下の空間的近傍ブロックおよび共位置ブロック600'の右の空間的近傍ブロックが利用可能であるかどうかは、同様の方法を使用することによって検出され、詳細はここには記載されない。
【０１２４】
また、利用可能な参照ブロックのサイズと現在ピクチャー・ブロックのサブブロックのサイズとが4×4である場合、利用可能な参照ブロックの動き情報を直接取ってくることができる。利用可能な参照ブロックのサイズが、たとえば、8×4または8×8である場合、利用可能な参照ブロックの中心の4×4ブロックの動き情報を取ってきて、利用可能な参照ブロックの動き情報として使用してもよい。参照ブロックの左上の頂点に対する、中心の4×4ブロックの左上の頂点の座標は((W/4)/2×4,(H/4)/2×4)である。ここでの除算演算は、厳密な除算演算である。M＝8かつN＝4である場合、参照ブロックの左上の頂点に対する、中心の4×4ブロックの左上の頂点の座標は(4,0)である。任意的に、参照ブロックの左上4×4ブロックの動き情報を代わりに取ってきて、利用可能な参照ブロックの動き情報として使用してもよい。ただし、本願はこれに限定されるものではない。
【０１２５】
記述の容易のため、下記は、説明のために、M×Nサブブロックを表わすサブブロックを使用し、近傍のM×Nブロックを表わす近傍ブロックを使用する。
【０１２６】
インター予測は本願の実施形態において重要なステップである。デコーダ側の観点からは、インター予測は、現在ピクチャー内の現在符号化ブロックについてのマッチする参照ブロックを求めて、再構成されたピクチャーを探索することである。図5Bに示されるように、参照ブロック（たとえば、参照ブロックFr1または参照ブロックFr2）内のサンプルのサンプル値は、現在符号化ブロックFc内のサンプルのサンプル値の予測された情報として、または予測された値（「情報」および「値」は以下で区別されない）として使用される。このプロセスは、動き推定MEと呼ばれる。また、現在符号化ブロックの動き情報が伝送される。デコーダ側の観点からは、インター予測の間にパースを通じて動き情報が得られる必要があり、得られた動き情報に基づいて、再構成されたピクチャー内で参照ブロックが決定され、該ブロック内のサンプルのサンプル値が予測された情報として使用される。このプロセスは動き補償MCと呼ばれる。再構成された情報は、予測された情報と残差情報とを組み合わせ、組み合わされた情報に対してフィルタリング操作を実行することによって得られる。本願におけるアイデアは、HEVCにおいて使用されてもよく、または別のビデオ符号化／デコード標準において使用されてもよい。下記は、このアイデアがHEVCにおいて使用される例を用いて、エンコーダ側でのインター予測モードの可能な場合を説明する。デコーダ側でのインター予測モードの可能な場合は同様であり、よって、追加の記述は提供されない。
【０１２７】
HEVCでは、先進動きベクトル予測（AMVP）モードとマージ・モードがある。下記は、これら2つのモードについて別個に説明する。
【０１２８】
AMVPモードでは、現在符号化ブロックに空間的または時間的に近傍であるエンコードされたブロックの動き情報を用いてアフィン候補動きベクトル・リストがまず構築され、次いで、アフィン候補動きベクトル・リストから、最適な動きベクトルが、現在符号化ブロックの動きベクトル予測子（MVP）として決定される。レート‐歪みコストは、式(0-1)を用いて計算される。ここで、Jはレート‐歪みコストRDコストであり、SADは予測されたサンプル値と、候補動きベクトル予測子を用いて実行された動き推定を通じて得られたもとのサンプル値との間の差分絶対値和（SAD）であり、Rはビットレートであり、λはラグランジュ乗数である。エンコーダ側は、デコーダ側に、アフィン候補動きベクトル・リスト内の選択された動きベクトル予測子のインデックス値と、参照フレーム・インデックス値とを転送する。さらに、現在符号化ブロックの実際の動きベクトルを得るために、MVPを中心として近傍ドメインにおいて動き探索が実行される。エンコーダ側は、MVPと実際の動きベクトルとの間の差（Motion  vector  difference［動きベクトル差分］）をデコーダ側に転送する。
J＝SAD＋λR        (0-1)
【０１２９】
マージ・モードでは、現在符号化ブロックに空間的または時間的に近傍であるエンコードされたブロックの動き情報を用いて候補動き情報リストがまず構築され、次いで、レート‐歪みコストに基づいて候補動き情報リストから最適な動き情報が決定され、現在符号化ブロックの動き情報として使用され、候補動き情報リスト内の最適な動き情報の位置のインデックス値（マージ・インデックスと記される。以下同じ）がデコーダ側に転送される。現在符号化ブロックの空間的および時間的な候補動き情報が図5Cに示されている。空間的候補動き情報は、5つの空間的近傍ブロック（A0,A1,B0,B1,B2）からくる。近傍ブロックが利用不能である、またはイントラ符号化モードである場合は、該近傍ブロックは候補動き情報リストに追加されない。現在符号化ブロックの時間的な候補動き情報は、参照フレーム内の対応する位置におけるブロックのMVが、参照フレームと現在のフレームのピクチャー順カウント（Picture  order  count、POC）に基づいてスケーリングされた後に得られる。参照フレーム内の位置Tにおけるブロックが利用可能であるかどうかがまず判定される。そのブロックが利用可能でない場合は、位置Cのブロックが選択される。
【０１３０】
HEVCにおけるインター予測では、現在符号化ブロック内のすべてのサンプルが同じ動き情報を使用し、次いで、該動き情報に基づいて動き補償が実行されて、符号化ブロックのサンプルの予測子が得られる。しかしながら、現在符号化ブロックでは、すべてのサンプルが同じ運動特性を有するわけではない。同じ動き情報を使用することは、不正確な動き補償予測およびより多くの残差情報につながる可能性がある。
【０１３１】
既存のビデオ符号化標準では、並進動きモデルに基づくブロック・マッチング動き推定が使用され、ブロック内の全サンプルの動きが一貫していると想定される。しかしながら、現実世界では、多様な動きがある。多くのオブジェクト、たとえば、回転するオブジェクト、種々の方向に回転するジェットコースター、花火、および映画におけるいくつかのスタントは、並進運動ではない。特にUGCシナリオにおけるこれらの動くオブジェクトについて、既存の符号化標準における並進動きモデルに基づくブロック動き補償技術が符号化に使用されると、符号化効率が大きく影響される。よって、非並進動きモデルに関する研究が産業界において、また華為によって行なわれてきた。特に、符号化効率をさらに改善するために、アフィン変換に基づく動きモデルに関して、深い研究が行なわれてきた。
【０１３２】
非並進動きモデルに基づく予測では、現在符号化ブロック内の各サブ動き補償単位の動き情報を推定するために、エンコーダ側とデコーダ側で同じ動きモデルが使用され、該サブ動き補償単位の動き情報に基づいて動き補償が実行されて予測ブロックが得られ、それにより予測効率を改善する。一般的に使用される動きモデルは、6パラメータ・アフィン・モデルおよび4パラメータ・アフィン変換モデルを含む。
【０１３３】
4パラメータ・アフィン変換モデルは式(0-2)として示される：
【数１】
2021524708.tif 000077
【０１３４】
4パラメータ・アフィン変換モデルは、2つのサンプルの動きベクトルおよび現在符号化ブロックの左上サンプルに対するそれらのサンプルの座標によって表現されうる。動きモデル・パラメータを表現するために使用されるサンプルは、制御点として記される。左上の頂点(0,0)のサンプルと右上の頂点(W,0)のサンプルが制御点として使用される場合、現在符号化ブロックの左上の制御点の位置座標(x0,y0)および動きベクトル(vx0,vy0)ならびに現在符号化ブロックの右上の制御点の位置座標(x1,y1)および動きベクトル(vx1,vy1)がまず決定され、次いで、現在符号化ブロック内の各サブ動き補償単位の動き情報が式(0-3)に従って導出される。ここで、(x,y)は現在符号化ブロックの左上のサンプルに対するサブ動き補償単位の座標であり、Wは現在符号化ブロックの幅である。
【数２】
2021524708.tif 000078
【０１３５】
6パラメータ・アフィン変換モデルは式(0-4)として示される。
【数３】
2021524708.tif 000079
【０１３６】
6パラメータ・アフィン変換モデルは、3つのサンプルの動きベクトルおよび現在符号化ブロックの左上サンプルに対するそれらのサンプルの座標によって表現されうる。左上の頂点(0,0)のサンプル、右上の頂点(W,0)のサンプルおよび左下の頂点(0,H)のサンプルが制御点として使用される場合、現在符号化ブロックの左上の制御点の位置座標(x0,y0)および動きベクトル(vx0,vy0)、現在符号化ブロックの右上の制御点の位置座標(x1,y1)および動きベクトル(vx1,vy1)ならびに現在符号化ブロックの左下の制御点の位置座標(x2,y2)および動きベクトル(vx2,vy2)がまず決定され、次いで、現在符号化ブロック内の各サブ動き補償単位の動き情報が式(0-5)に従って導出される。ここで、(x,y)は現在符号化ブロックの左上のサンプルに対するサブ動き補償単位の座標であり、WおよびHはそれぞれ現在符号化ブロックの幅および高さである。
【数４】
2021524708.tif 000080
【０１３７】
8パラメータ双線形モデルは式(0-6)として示される。
【数５】
2021524708.tif 000081
【０１３８】
8パラメータ双線形モデルは、4つのサンプルの動きベクトルおよび現在符号化ブロックの左上サンプルに対するそれらのサンプルの座標によって表現されうる。左上の頂点(0,0)のサンプル、右上の頂点(W,0)のサンプル、左下の頂点(0,H)のサンプルおよび右下の頂点(W,H)のサンプルが制御点として使用される場合、現在符号化ブロックの左上の制御点の位置座標(x0,y0)および動きベクトル(vx0,vy0)、現在符号化ブロックの右上の制御点の位置座標(x1,y1)および動きベクトル(vx1,vy1)、現在符号化ブロックの左下の制御点の位置座標(x2,y2)および動きベクトル(vx2,vy2)、ならびに現在符号化ブロックの右下の制御点の位置座標(x3,y3)および動きベクトル(vx3,vy3)がまず決定され、次いで、現在符号化ブロック内の各サブ動き補償単位の動き情報が式(0-7)に従って導出される。ここで、(x,y)は現在符号化ブロックの左上のサンプルに対するサブ動き補償単位の座標であり、WおよびHはそれぞれ現在符号化ブロックの幅および高さである。
【数６】
2021524708.tif 000082
【０１３９】
非並進動きモデルを用いて予測される符号化ブロックは、非並進符号化ブロックと呼ばれる。
【０１４０】
通例、非並進符号化ブロックの制御点の動き情報は、アフィン変換に基づく先進動きベクトル予測（AMVP）モードまたはアフィン変換に基づくマージ・モードを使用することによって得られてもよい。
【０１４１】
下記は、4パラメータ・アフィン変換モデルにおける2つの制御点の動き情報を例として用いて、エンコーダ側の視点とデコーダ側の視点から別個に、現在符号化ブロックまたは現在符号化ブロックの制御点の動きベクトルをどのようにして得るかを記述する。
【０１４２】
（1）候補動きベクトル2-タプルを構築する。
【０１４３】
現在符号化ブロックの左上の制御点および右上の制御点の動きベクトルは、現在符号化ブロックの近傍のエンコードされたブロックの動き情報に基づいて決定される。図7Bに示されるように、左上の近傍のエンコードされたブロックA、B、Cの動きベクトルは、現在符号化ブロックの左上の制御点の動きベクトルについての候補動きベクトルとして使用され、右上の近傍のエンコードされたブロックD、Eの動きベクトルは、現在符号化ブロックの右上の制御点の動きベクトルについての候補動きベクトルとして使用される。左上の制御点の候補動きベクトルと右上の制御点の候補動きベクトルが組み合わされて、それら2つの制御点の候補動きベクトル2-タプル待ち行列を構成する。
【数７】
2021524708.tif 000083
【０１４４】
ここでv0は、左上の制御点の候補動きベクトルを表わし、v1は右上の制御点の候補動きベクトルを表わす。待ち行列における2-タプルの位置はインデックス化され、インデックス値は順に0、1、2、3、4、5である。
【０１４５】
任意的に、候補動きベクトル2-タプル待ち行列は、特定の規則に従って剪定され、ソートされ、特定の量になるよう切り詰められ、またはパディングされてもよい。
【０１４６】
（2）最適な候補動きベクトル2-タプルを決定する。
【０１４７】
エンコーダ側では、現在符号化ブロック内の各サブ動き補償単位（サンプルまたは特定の方法に従った分割を通じて得られるN1×N2のサンプル・ブロック）の動きベクトルが、式(3)に従った各候補動きベクトル2-タプルに基づいて得られる。それにより、各サブ動き補償単位の動きベクトルがポイントする、参照フレーム内の位置でのサンプル値が得られる。このサンプル値は、アフィン変換に基づく動き補償を実行するための予測子として使用される。現在符号化ブロック内のすべてのサンプルのもとの値と予測子との間の差の平均が計算され、最小差平均に対応する候補動きベクトル2-タプルにおける動きベクトルが、現在符号化ブロック内の2つの制御点の動きベクトル予測子として選択される。候補動きベクトル2-タプル待ち行列内の2-タプルの位置を表わすインデックスがビットストリーム中にエンコードされ、デコーダに送られる。
【０１４８】
デコーダ側では、2つの制御点の動きベクトル予測子を得るために該インデックスがパースされる。
【０１４９】
（3）制御点の動きベクトルを決定する。
【０１５０】
エンコーダ側では、2つの制御点の動きベクトル予測子が、2つの制御点の動きベクトルを得るために、特定の探索範囲内の動き探索を実行するための開始探索点として使用される。2つの制御点の動きベクトルと動きベクトル予測子の間の差は、デコーダ側に送信される。
【０１５１】
デコーダ側では、2つの制御点の動きベクトル差分がパースされ、動きベクトル予測子に加えられて、制御点の動きベクトルが得られる。
【０１５２】
現在主流の動きモデルに基づく動きベクトル予測方法は：図7AにおけるA、B、C、D、Eの順に現在符号化ブロックの近傍ブロックをたどり（図5Dに示されるように、近傍ブロックA、B、C、D、Eは、現在符号化ブロックが位置するCTU  502のまわりに分布している）、アフィン符号化ブロックを見つけて、該アフィン符号化ブロックの制御点の動きベクトルを取得し、該アフィン符号化ブロックの制御点の位置座標および動きベクトルに基づいて動きモデルを構築し、次いで、現在符号化ブロックの制御点の位置座標を動きモデルに代入して、現在ブロックの制御点の動きベクトル予測子を推定することを含むことに注意しておくべきである。具体的には、ここでは、アフィン符号化ブロックの左上の制御点および右上の制御点が、動きモデルを構成するために使用される（時に、左下の制御点に関する情報がさらに使用される）。図5Dが例として使用される。近傍ブロックEが近傍アフィン符号化ブロックである場合、近傍ブロックEの左上の制御点の位置座標および動きベクトル
【数８】
2021524708.tif 000084
と、近傍ブロックEの右上の制御点の位置座標および動きベクトル
【数９】
2021524708.tif 000085
と、近傍ブロックEの左下の制御点の位置座標および動きベクトル
【数１０】
2021524708.tif 000086
とを用いてアフィン・モデルが構築される。近傍ブロックBが近傍アフィン符号化ブロックである場合、近傍ブロックBの左上の制御点の位置座標および動きベクトル
【数１１】
2021524708.tif 000087
と、近傍ブロックBの右上の制御点の位置座標および動きベクトル
【数１２】
2021524708.tif 000088
と、近傍ブロックBの左下の制御点の位置座標および動きベクトル
【数１３】
2021524708.tif 000089
とを用いてアフィン・モデルが構築される。ただし、動きベクトル予測プロセスにおいて用いられる近傍アフィン符号化ブロックの左上の制御点、右上の制御点、および左下の制御点の位置座標および動きベクトルが全部、メモリからリアルタイムで読み取られる必要があり、これはメモリ読み取り圧力を増加させる。本願の実施形態では、現在符号化ブロックが位置するCTU  502の上の境界501上の制御点に関する情報（位置座標および動きベクトル）がメモリから読み込み済みであるという特徴を参照して、メモリ読み取り圧力を軽減するために、アフィン・モデルを構築するために近傍アフィン符号化ブロックの制御点に関する情報をどのように選択するかが記載される。下記は、エンコーダ側の視点とデコーダ側の視点からの記述を別個に与える。
【０１５３】
図6は、本願のある実施形態によるエンコード方法のプロセス700のフローチャートである。プロセス700は、ビデオ・エンコーダ100によって実行されてもよく、具体的には、ビデオ・エンコーダ100のインター予測ユニット（インター予測子とも称される）110およびエントロピー・エンコード・ユニット（エントロピー・エンコーダとも称される）103によって実行されてもよい。プロセス700は、一連のステップまたは動作として記述される。プロセス700のステップまたは動作は、さまざまなシーケンスでおよび／または同時に実行されてもよく、図6に示される実行シーケンスに限定されないことが理解されるべきである。複数のビデオ・フレームを含むビデオ・データ・ストリームは、ビデオ・エンコーダを使用していると想定される。第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上の符号化ツリー単位（CTU）内に位置する場合、候補動きベクトル予測子のグループは、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点に基づいて決定される。図6に示されるプロセスに対応して、関連する説明は以下のとおりである。
【０１５４】
ステップS700：ビデオ・エンコーダが、現在符号化ブロックについてのインター予測モードを決定する。
【０１５５】
具体的には、インター予測モードは、先進動きベクトル予測（AMVP）モードであってもよく、またはマージ・モードであってもよい。
【０１５６】
現在符号化ブロックについての決定されたインター予測モードがAMVPモードである場合は、ステップS711〜S713が実行される。
【０１５７】
現在符号化ブロックについての決定されたインター予測モードがマージ・モードである場合は、ステップS721〜S723が実行される。
【０１５８】
AMVPモード：
【０１５９】
ステップS711：ビデオ・エンコーダが、候補動きベクトル予測子MVPリストを構築する。
【０１６０】
具体的には、ビデオ・エンコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動きベクトル予測子MVPリスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動きベクトル予測子MVPリストは、トリプレット候補動きベクトル予測子MVPリストまたは2-タプル候補動きベクトル予測子MVPリストでありうる。2つの態様は具体的には次のとおり。
【０１６１】
態様1：候補動きベクトル予測子MVPリストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０１６２】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０１６３】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて現在符号化ブロックの制御点の動きベクトルを予測する態様は、現在符号化ブロックのパラメータ・モデルによって変わる。よって、下記は、異なる場合について記述を与える。
【０１６４】
A:  現在符号化ブロックのパラメータ・モデルは、4パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０１６５】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にある符号化ツリー単位（CTU）内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０１６６】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルおよび位置座標に基づいて形成される。
【０１６７】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(1)および(2)に示される。
【数１４】
2021524708.tif 000090
【０１６８】
式(1)および(2)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルである。
【０１６９】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)と、右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいて、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標と右下の制御点の位置座標は両方とも、メモリから読まれるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、エンコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶されて、必要なときに使用のためにメモリから読み出されてもよい。
【０１７０】
この場合、式(1)および(2)において、(x7−x6)はcuWと等しく、(vx7,vy7)は、ピクチャー中の位置(x4＋cuW−1,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよく、(vx6,vy6)は、ピクチャー中の位置(x4,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよい。
【０１７１】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTUに位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書では限定されない。具体的には、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。
【０１７２】
B:  現在符号化ブロックのパラメータ・モデルは、6パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０１７３】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０１７４】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルに基づいて形成される。
【０１７５】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(1)、(2)、および(3)に示される。
【数１５】
2021524708.tif 000091
【０１７６】
式(1)および(2)は上記に記載されている。式(1)、(2)、および(3)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０１７７】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTUに位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書では限定されない。具体的には、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。
【０１７８】
態様2：候補動きベクトル予測子MVPリストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０１７９】
候補動きベクトル予測子MVPリストを構築する態様は、現在符号化ブロックのパラメータ・モデルによって変わる。詳細は下記に記載される。
【０１８０】
A:  現在符号化ブロックのパラメータ・モデルは、4パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０１８１】
現在符号化ブロックの左上の頂点および右上の頂点の動きベクトルが、現在符号化ブロックの近傍のエンコードされたブロックの動き情報に基づいて推定される。図7Bに示されるように、まず、左上の頂点の近傍のエンコードされたブロックAおよび／またはBおよび／またはCの動きベクトルが、現在符号化ブロックの左上の頂点の動きベクトルのための候補動きベクトルとして使用され、右上の頂点の近傍のエンコードされたブロックDおよび／またはEの動きベクトルが、現在符号化ブロックの右上の頂点の動きベクトルのための候補動きベクトルとして使用される。左上の頂点の候補動きベクトルと右上の頂点の候補動きベクトルが組み合わされて、候補動きベクトル予測子のグループが得られてもよい。この態様における組み合わせを通じて得られた複数のレコードは、候補動きベクトル予測子MVPリストを構成してもよい。
【０１８２】
B：現在符号化ブロックのパラメータ・モデルは、6パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０１８３】
現在符号化ブロックの左上の頂点、右上の頂点、および左下の頂点の動きベクトルが、現在符号化ブロックの近傍のエンコードされたブロックの動き情報に基づいて推定される。図7Bに示されるように、まず、左上の頂点の近傍のエンコードされたブロックAおよび／またはBおよび／またはCの動きベクトルが、現在符号化ブロックの左上の頂点の動きベクトルのための候補動きベクトルとして使用され、右上の頂点の近傍のエンコードされたブロックDおよび／またはEの動きベクトルが、現在符号化ブロックの右上の頂点の動きベクトルのための候補動きベクトルとして使用され、左下の頂点の近傍のエンコードされたブロックFおよび／またはGの動きベクトルが、現在符号化ブロックの左下の頂点の動きベクトルのための候補動きベクトルとして使用される。左上の頂点の候補動きベクトル、右上の頂点の候補動きベクトル、および左下の頂点の候補動きベクトルが組み合わされて、候補動きベクトル予測子のグループが得られてもよい。この態様における組み合わせを通じて得られた候補動きベクトル予測子の複数のグループは、候補動きベクトル予測子MVPリストを構成してもよい。
【０１８４】
候補動きベクトル予測子MVPリストは、態様1で予測される候補動きベクトル予測子のみを用いて構築されてもよく、あるいは候補動きベクトル予測子MVPリストは、態様2で予測される候補動きベクトル予測子のみを用いて構築されてもよく、あるいは候補動きベクトル予測子MVPリストは、態様1で予測される候補動きベクトル予測子と態様2で予測される候補動きベクトル予測子の両方を用いて構築されてもよいことを注意しておくべきである。加えて、候補動きベクトル予測子MVPリストは、事前に構成された規則に従ってさらに剪定され、ソートされ、次いで、特定の量になるよう切り詰められ、またはパディングされてもよい。候補動きベクトル予測子MVPリスト内の候補動きベクトル予測子の各グループが3つの制御点の動きベクトル予測子を含む場合、この候補動きベクトル予測子MVPリストは、トリプレット・リストと称されてもよく；または、候補動きベクトル予測子MVPリスト内の候補動きベクトル予測子の各グループが2つの制御点の動きベクトル予測子を含む場合、この候補動きベクトル予測子MVPリストは、2-タプル・リストと称されてもよい。
【０１８５】
ステップS712：ビデオ・エンコーダは、レート‐歪みコスト基準に従って、候補動きベクトル予測子MVPリスト内のターゲット候補動きベクトル・グループを決定する。具体的には、候補動きベクトル予測子MVPリスト内の各候補動きベクトル・グループについて、現在ブロックの各サブブロックの動きベクトルが計算を通じて得られ、現在ブロックの予測子を得るよう、各サブブロックの予測子を得るために動き補償が実行される。予測子ともとの値との間の最小誤差をもつ候補動きベクトル・グループが、最適な動きベクトル予測子のグループ、すなわちターゲット候補動きベクトル・グループとして選択される。さらに、決定されたターゲット候補動きベクトル・グループは、制御点のグループの最適な候補動きベクトル予測子として使用され、ターゲット候補動きベクトル・グループは、候補動きベクトル予測子MVPリスト内の一意的なインデックス番号に対応する。
【０１８６】
ステップS713：ビデオ・エンコーダは、動きベクトル差分MVDと、ターゲット候補動きベクトル・グループに対応するインデックスとを、送信されるべきビットストリーム中にエンコードする。
【０１８７】
具体的には、ビデオ・エンコーダは、ターゲット候補動きベクトル・グループを開始探索点として使用することによって、レート‐歪みコスト基準に従って、事前設定された探索範囲内で、制御点のグループであり、最もコストが低い動きベクトルをさらにサーチし、次にターゲット候補動きベクトル・グループと制御点のグループの動きベクトルとの間の動きベクトル差分MVDを決定することができる。たとえば、制御点の第1のグループが第1の制御点および第2の制御点を含む場合には、第1の制御点の動きベクトルと、制御点のグループ内の第1の制御点のターゲット候補動きベクトル・グループによって表される動きベクトル予測子との間の動きベクトル差分MVDを決定し、第2の制御点の動きベクトルと、制御点のグループ内の第2の制御点のターゲット候補の動きベクトル・グループによって表される動きベクトル予測子との間の動きベクトル差分MVDを決定する必要がある。
【０１８８】
任意的に、上記のステップS711〜S713に加えて、AMVPモードではステップS714およびS715がさらに実行されてもよい。
【０１８９】
ステップS714：ビデオ・エンコーダは、アフィン変換モデルを用いて、現在符号化ブロックの制御点の決定された動きベクトルに基づいて、現在符号化ブロックの各サブブロックの動きベクトルを取得する。
【０１９０】
具体的には、ターゲット候補動きベクトル・グループとMVDに基づいて得られた新しい候補動きベクトル・グループは、2つの制御点（左上の制御点と右上の制御点）または3つの制御点（たとえば左上の制御点、右上の制御点、左下の制御点）の動きベクトルを含む。現在符号化ブロックの各サブブロック（1つのサブブロックは、1つの動き補償単位と等価であってもよい）について、動き補償単位内の事前設定された位置におけるサンプルの動き情報が、動き補償単位内のすべてのサンプルの動き情報を表現するために使用されてもよい。動き補償単位のサイズがM×Nである（Mは現在符号化ブロックの幅W以下であり、Nは現在符号化ブロックの高さH以下であり、M、N、W、Hはそれぞれ正の整数であり、通例2の冪乗、たとえば4、8、16、32、64、または128である）場合、事前設定された位置におけるサンプルは、動き補償単位の中心点(M/2,N/2)、左上のサンプル(0,0)、右上のサンプル(M−1,0)、または他の位置のサンプルであってもよい。図8Aは、4×4の動き補償単位を示し、図8Bは、8×8の動き補償単位を示す。対応する動き補償単位の中心点は、三角形で表わされている。
【０１９１】
現在符号化ブロックの左上の頂点におけるサンプルに対する動き補償単位の中心点の座標は、式(5)に従って計算される。ここで、iは水平方向において（左から右へ）i番目の動き補償単位であり、jは垂直方向において（上から下へ）j番目の動き補償単位であり、(x(i,j),y(i,j))は現在符号化ブロックの左上の制御点におけるサンプルに対する(i,j)番目の動き補償単位の中心点の座標を表わす。そして、現在符号化ブロックのアフィン・モデル・タイプ（6パラメータまたは4パラメータ）に基づき、(x(i,j),y(i,j))は6パラメータ・アフィン・モデルの式(6-1)に代入されるか、または(x(i,j),y(i,j))は4パラメータ・アフィン・モデルの式(6-2)に代入され、各動き補償単位の中心点の動き情報を得て、該動き情報は、この動き補償単位におけるすべてのサンプルの動きベクトル(vx(i,j),vy(i,j))として使用される。
【数１６】
2021524708.tif 000092
【０１９２】
任意的に、現在符号化ブロックが6パラメータ符号化ブロックであり、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルがターゲット候補動きベクトル・グループに基づいて得られる場合、現在符号化ブロックの下の境界が、現在符号化ブロックが位置するCTUの下の境界と重なっていれば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)と、3つの制御点を用いて構築された6パラメータ・アフィン・モデルとに基づく計算を通じて得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)と、3つの制御点を用いて構築された6パラメータ・アフィン・モデルとに基づく計算を通じて得られる。たとえば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)を6パラメータ・アフィン・モデルに代入する（計算のために、左下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)を6パラメータ・アフィン・モデルに代入する（計算のために、右下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られる。このようにして、現在符号化ブロックの左下の制御点の動きベクトルと右下の制御点の動きベクトルが使用される（たとえば、現在ブロックの左下の制御点と右下の制御点の動きベクトルに基づいて、その後、他のブロックの候補動きベクトル予測子MVPリストが構築される）場合、推定値ではなく正確な値が用いられる。Wは現在符号化ブロックの幅であり、Hは現在符号化ブロックの高さである。
【０１９３】
任意的に、現在符号化ブロックが4パラメータ符号化ブロックであり、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルがターゲット候補動きベクトル・グループに基づいて得られる場合、現在符号化ブロックの下の境界が、現在符号化ブロックが位置するCTUの下の境界と重なっていれば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)と、2つの制御点を用いて構築された4パラメータ・アフィン・モデルとに基づく計算を通じて得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)と、2つの制御点を用いて構築された4パラメータ・アフィン・モデルとに基づく計算を通じて得られる。たとえば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)を4パラメータ・アフィン・モデルに代入する（計算のために、左下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)を4パラメータ・アフィン・モデルに代入する（計算のために、右下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られる。このようにして、現在符号化ブロックの左下の制御点の動きベクトルと右下の制御点の動きベクトルが使用される（たとえば、現在ブロックの左下の制御点と右下の制御点の動きベクトルに基づいて、その後、他のブロックの候補動きベクトル予測子MVPリストが構築される）場合、推定値ではなく正確な値が用いられる。Wは現在符号化ブロックの幅であり、Hは現在符号化ブロックの高さである。
【０１９４】
ステップS715:ビデオ・エンコーダは、現在符号化ブロックの各サブブロックの動きベクトルに基づいて動き補償を実行して、各サブブロックの予測されるサンプル値を得る。たとえば、各サブブロックの動きベクトルおよび参照フレーム・インデックスに基づいて対応するサブブロックが参照フレーム内に見出され、補間フィルタリングが実行されて、各サブブロックの予測されたサンプル値が得られる。
【０１９５】
マージ・モード：
【０１９６】
ステップS721：ビデオ・エンコーダは、候補動き情報リストを構築する。
【０１９７】
具体的には、ビデオ・エンコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動き情報リスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動き情報リストは、トリプレット候補動き情報リストである。2つの態様は具体的には次のとおり。
【０１９８】
態様1：候補動き情報リストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０１９９】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０２００】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。詳細は次のとおり。
【０２０１】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０２０２】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルに基づいて形成される。
【０２０３】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル・トリプレットが形成され、候補動き情報リストに加えられる。詳細は、式(1)、(2)、および(3)に示される。
【０２０４】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル2-タプルが形成され、候補動き情報リストに加えられる。詳細は、式(1)および(2)に示される。
【０２０５】
式(1)、(2)、および(3)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０２０６】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTUに位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書では限定されない。具体的には、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。
【０２０７】
態様2：候補動き情報リストは、制御点組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０２０８】
下記は、解決策Aと解決策Bとして記される2つの解決策を挙げる。
【０２０９】
解決策A：現在符号化ブロックの2つの制御点の動き情報が組み合わされて、4パラメータ・アフィン変換モデルを構築する。2つの制御点は、{CP1,CP4}、{CP2,CP3}、{CP1,CP2}、{CP2,CP4}、{CP1,CP3}、または{CP3,CP4}のように組み合わされる。たとえば、制御点CP1およびCP2を使用して構築された4パラメータ・アフィン変換モデルは、Affine(CP1,CP2)として記される。
【０２１０】
異なる制御点の組み合わせが、同じ位置の諸制御点に変換されることがあることに注意しておくべきである。たとえば、{CP1,CP4}、{CP2,CP3}、{CP2,CP4}、{CP1,CP3}、または{CP3,CP4}の組み合わせに基づいて得られた4パラメータ・アフィン変換モデルが、制御点{CP1,CP2}または{CP1,CP2,CP3}によって表現されるように変換される。変換方法は次のとおり：ある制御点の動きベクトルおよび座標情報が式(7)に代入されて、モデル・パラメータが得られる。次いで、{CP1,CP2}の配位情報が該式に代入され、{CP1,CP2}の諸動きベクトルが得られる。それらの動きベクトルは、候補動きベクトル予測子のグループとして使用される。
【数１７】
2021524708.tif 000093
【０２１１】
式(7)において、a0、a1、a2、a3はパラメータ・モデルにおけるすべてのパラメータであり、(x,y)は位置座標を表わす。
【０２１２】
より直接的には、この変換は、左上の制御点および右上の制御点によって表わされる動きベクトル予測子のグループを得るために下記の諸式に従って実行されてもよく、動きベクトル予測子のこのグループが、候補動き情報リストに追加される。
【０２１３】
{CP1,CP2}を{CP1,CP2,CP3}に変換する式(8)は、次のとおり：
【数１８】
2021524708.tif 000094
【０２１４】
{CP1,CP3}を{CP1,CP2,CP3}に変換する式(9)は、次のとおり：
【数１９】
2021524708.tif 000095
【０２１５】
{CP2,CP3}を{CP1,CP2,CP3}に変換する式(10)は、次のとおり：
【数２０】
2021524708.tif 000096
【０２１６】
{CP1,CP4}を{CP1,CP2,CP3}に変換する式(11)は、次のとおり：
【数２１】
2021524708.tif 000097
【０２１７】
{CP2,CP4}を{CP1,CP2,CP3}に変換する式(12)は、次のとおり：
【数２２】
2021524708.tif 000098
【０２１８】
{CP3,CP4}を{CP1,CP2,CP3}に変換する式(13)は、次のとおり：
【数２３】
2021524708.tif 000099
【０２１９】
解決策B：現在符号化ブロックの3つの制御点の動き情報が組み合わされて、6パラメータ・アフィン変換モデルを構築する。3つの制御点は、{CP1,CP2,CP4}、{CP1,CP2,CP3}、{CP2,CP3,CP4}、または{CP1,CP3,CP4}のように組み合わされる。たとえば、制御点CP1、CP2、およびCP3を使用して構築された6パラメータ・アフィン変換モデルは、Affine(CP1,CP2,CP3)として記される。
【０２２０】
異なる制御点の組み合わせが、同じ位置の諸制御点に変換されることがあることに注意しておくべきである。たとえば、{CP1,CP2,CP4}、{CP2,CP3,CP4}、または{CP1,CP3,CP4}の組み合わせに基づいて得られた6パラメータ・アフィン変換モデルが、制御点{CP1,CP2,CP3}によって表現されるように変換される。変換方法は次のとおり：ある制御点の動きベクトルおよび座標情報が式(14)に代入されて、モデル・パラメータが得られる。次いで、{CP1,CP2,CP3}の配位情報が該式に代入され、{CP1,CP2,CP3}の諸動きベクトルが得られる。それらの動きベクトルは、候補動きベクトル予測子のグループとして使用される。
【数２４】
2021524708.tif 000100
【０２２１】
式(14)において、a1、a2、a3、a4、a5、a6は、パラメータ・モデルにおけるパラメータであり、(x,y)は位置座標を表わす。
【０２２２】
より直接的には、この変換は、左上の制御点、右上の制御点、および左下の制御点によって表わされる動きベクトル予測子のグループを得るために下記の諸式に従って実行されてもよく、動きベクトル予測子のこのグループが、候補動き情報リストに追加される。
【０２２３】
{CP1,CP2,CP4}を{CP1,CP2,CP3}に変換する式(15)は次のとおり：
【数２５】
2021524708.tif 000101
【０２２４】
{CP2,CP3,CP4}を{CP1,CP2,CP3}に変換する式(16)は次のとおり：
【数２６】
2021524708.tif 000102
【０２２５】
{CP1,CP3,CP4}を{CP1,CP2,CP3}に変換する式(17)は次のとおり：
【数２７】
2021524708.tif 000103
【０２２６】
候補動き情報リストは、態様1で予測された候補動きベクトル予測子のみを使用して構築されてもよく、あるいは候補動き情報リストは、態様2で予測された候補動きベクトル予測子のみを使用して構築されてもよく、あるいは候補動き情報リストは、態様1で予測された候補動きベクトル予測子と態様2で予測された候補動きベクトル予測子の両方を使用して構築されてもよいことに注意しておくべきである。さらに、候補動き情報リストは、事前に構成された規則に従ってさらに剪定され、ソートされ、次いで、特定の数になるよう切り詰められ、またはパディングされてもよい。候補動き情報リスト内の候補動きベクトル予測子の各グループが3つの制御点の動きベクトル予測子を含む場合、この候補動き情報リストは、トリプレット・リストと称されてもよく；または候補動き情報リスト内の候補動きベクトル予測子の各グループが2つの制御点の動きベクトル予測子を含む場合、この候補動き情報リストは、2-タプル・リストと称されてもよい。
【０２２７】
ステップS722:ビデオ・エンコーダは、レート‐歪みコスト基準に従って、候補動き情報リスト内のターゲット候補動きベクトル・グループを決定する。具体的には、候補動き情報リスト内の各候補動きベクトル・グループについて、現在ブロックの各サブブロックの動きベクトルが計算を通じて得られ、現在ブロックの予測子を得るよう、各サブブロックの予測子を得るために動き補償が実行される。予測子ともとの値との間の最小誤差をもつ候補動きベクトル・グループが、最適な動きベクトル予測子のグループ、すなわちターゲット候補動きベクトル・グループとして選択される。さらに、決定されたターゲット候補動きベクトル・グループは、制御点のグループの最適な候補動きベクトル予測子として使用され、ターゲット候補動きベクトル・グループは、候補動き情報リスト内の一意的なインデックス番号に対応する。
【０２２８】
ステップS723:ビデオ・エンコーダは、ターゲット候補動きベクトル・グループに対応するインデックス、参照フレーム・インデックス、および予測方向に対応するインデックスを、送信されるべきビットストリーム中にエンコードする。
【０２２９】
任意的に、上記のステップS721〜S723に加えて、ステップS724およびS725が、マージ・モードにおいてさらに実行されてもよい。
【０２３０】
ステップS724:ビデオ・エンコーダは、パラメータに基づくアフィン変換モデルを用いて、現在符号化ブロックの制御点の決定された動きベクトルに基づいて、現在符号化ブロックの各サブブロックの動きベクトルを取得する。
【０２３１】
具体的には、ターゲット候補動きベクトル・グループは、2つの制御点（左上の制御点および右上の制御点）または3つの制御点（たとえば左上の制御点、右上の制御点、および左下の制御点）の動きベクトルを含む。現在符号化ブロックの各サブブロック（1つのサブブロックは、1つの動き補償単位と等価であってもよい）について、動き補償単位内の事前設定された位置におけるサンプルの動き情報が、動き補償単位内のすべてのサンプルの動き情報を表現するために使用されてもよい。動き補償単位のサイズがM×Nである（Mは現在符号化ブロックの幅W以下であり、Nは現在符号化ブロックの高さH以下であり、M、N、W、Hはそれぞれ正の整数であり、通例2の冪乗、たとえば4、8、16、32、64、または128である）場合、事前設定された位置におけるサンプルは、動き補償単位の中心点(M/2,N/2)、左上のサンプル(0,0)、右上のサンプル(M−1,0)、または他の位置のサンプルであってもよい。図8Aは、4×4の動き補償単位を示し、図8Bは、8×8の動き補償単位を示す。
【０２３２】
現在符号化ブロックの左上の頂点におけるサンプルに対する動き補償単位の中心点の座標は、式(5)に従って計算される。ここで、iは水平方向において（左から右へ）i番目の動き補償単位であり、jは垂直方向において（上から下へ）j番目の動き補償単位であり、(x(i,j),y(i,j))は現在符号化ブロックの左上の制御点におけるサンプルに対する(i,j)番目の動き補償単位の中心点の座標を表わす。そして、現在符号化ブロックのアフィン・モデル・タイプ（6パラメータまたは4パラメータ）に基づき、(x(i,j),y(i,j))は6パラメータ・アフィン・モデルの式(6-1)に代入されるか、または(x(i,j),y(i,j))は4パラメータ・アフィン・モデルの式(6-2)に代入され、各動き補償単位の中心点の動き情報を得て、該動き情報は、この動き補償単位におけるすべてのサンプルの動きベクトル(vx(i,j),vy(i,j))として使用される。
【０２３３】
任意的に、現在符号化ブロックが6パラメータ符号化ブロックであり、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルがターゲット候補動きベクトル・グループに基づいて得られる場合、現在符号化ブロックの下の境界が、現在符号化ブロックが位置するCTUの下の境界と重なっていれば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)と、3つの制御点を用いて構築された6パラメータ・アフィン・モデルとに基づく計算を通じて得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)と、3つの制御点を用いて構築された6パラメータ・アフィン・モデルとに基づく計算を通じて得られる。たとえば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)を6パラメータ・アフィン・モデルに代入する（計算のために、左下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)を6パラメータ・アフィン・モデルに代入する（計算のために、右下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られる。このようにして、現在符号化ブロックの左下の制御点の動きベクトルと右下の制御点の動きベクトルが使用される（たとえば、現在ブロックの左下の制御点と右下の制御点の動きベクトルに基づいて、その後、他のブロックの候補動き情報リストが構築される）場合、推定値ではなく正確な値が用いられる。Wは現在符号化ブロックの幅であり、Hは現在符号化ブロックの高さである。
【０２３４】
任意的に、現在符号化ブロックが4パラメータ符号化ブロックであり、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルがターゲット候補動きベクトル・グループに基づいて得られる場合、現在符号化ブロックの下の境界が、現在符号化ブロックが位置するCTUの下の境界と重なっていれば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)と、2つの制御点を用いて構築された4パラメータ・アフィン・モデルとに基づく計算を通じて得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)と、2つの制御点を用いて構築された4パラメータ・アフィン・モデルとに基づく計算を通じて得られる。たとえば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)を4パラメータ・アフィン・モデルに代入する（計算のために、左下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)を4パラメータ・アフィン・モデルに代入する（計算のために、右下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られる。このようにして、現在符号化ブロックの左下の制御点の動きベクトルと右下の制御点の動きベクトルが使用される（たとえば、現在ブロックの左下の制御点と右下の制御点の動きベクトルに基づいて、その後、他のブロックの候補動き情報リストが構築される）場合、推定値ではなく正確な値が用いられる。Wは現在符号化ブロックの幅であり、Hは現在符号化ブロックの高さである。
【０２３５】
ステップS725:ビデオ・エンコーダは、現在符号化ブロックの各サブブロックの動きベクトルに基づいて動き補償を実行して、各サブブロックの予測されるサンプル値を得る。具体的には、現在符号化ブロックの予測サンプル値は、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルと、参照フレーム・インデックスおよびインデックスによって示される予測方向とに基づいて予測される。
【０２３６】
第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが、現在符号化ブロックの上に位置する場合、第1の近傍アフィン符号化ブロックの最も下の制御点に関する情報が、メモリから読み込まれていることが理解されうる。したがって、上述の解決策では、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、従来技術において第1の近傍符号化ブロックの左上の制御点、右上の制御点、および左下の制御点を制御点の第1のグループとして固定的に使用する代わりに、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。よって、本願における制御点の第1のグループを決定する方法によれば、メモリから読み出されている情報が、制御点の第1のグループに関する情報（たとえば、位置座標および動きベクトル）として直接再利用でき、それにより、メモリからの読み出し回数を減らし、エンコード性能を改善する。
【０２３７】
エンコーダ側の別の任意的な実施形態では、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上の符号化ツリー単位（CTU）内に位置する場合、候補動きベクトル予測子のグループは、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点に基づいて決定される；または、第1の近傍アフィン符号化ブロックが、現在符号化ブロックの左のCTU内に位置する場合、候補動きベクトル予測子のグループは、第1の近傍アフィン符号化ブロックの右上の制御点および右下の制御点に基づいて決定される。詳細は次のとおり。
【０２３８】
ステップS900：ビデオ・エンコーダは、現在符号化ブロックのインター予測モードを決定する。
【０２３９】
具体的には、インター予測モードは、先進動きベクトル予測（AMVP）モードであってもよく、またはマージ・モードであってもよい。
【０２４０】
現在符号化ブロックについての決定されたインター予測モードがAMVPモードである場合は、ステップS911〜S913が実行される。
【０２４１】
現在符号化ブロックについての決定されたインター予測モードがマージ・モードである場合は、ステップS921〜S923が実行される。
【０２４２】
AMVPモード：
【０２４３】
ステップS911：ビデオ・エンコーダが、候補動きベクトル予測子MVPリストを構築する。
【０２４４】
具体的には、ビデオ・エンコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動きベクトル予測子MVPリスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動きベクトル予測子MVPリストは、トリプレット候補動きベクトル予測子MVPリストまたは2-タプル候補動きベクトル予測子MVPリストでありうる。2つの態様は具体的には次のとおり。
【０２４５】
態様1：候補動きベクトル予測子MVPリストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０２４６】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０２４７】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて現在符号化ブロックの制御点の動きベクトルを予測する態様は、現在符号化ブロックのパラメータ・モデルによって変わる。よって、下記は、異なる場合について記述を与える。
【０２４８】
A:  現在符号化ブロックのパラメータ・モデルは、4パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０２４９】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にある符号化ツリー単位（CTU）内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０２５０】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルおよび位置座標に基づいて形成される。
【０２５１】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(1)および(2)に示される。
【０２５２】
式(1)および(2)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルである。
【０２５３】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)と、右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいて、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標と右下の制御点の位置座標は両方とも、メモリから読まれるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、エンコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶されて、必要なときに使用のためにメモリから読み出されてもよい。
【０２５４】
この場合、式(1)および(2)において、(x7−x6)はcuWと等しく、(vx7,vy7)は、ピクチャー中の位置(x4＋cuW−1,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよく、(vx6,vy6)は、ピクチャー中の位置(x4,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよい。
【０２５５】
第1の近傍アフィン符号化ブロックが現在符号化ブロックの左の符号化ツリー単位（CTU）内に位置する場合、第1の近傍アフィン符号化ブロックの最も右の2つの制御点の動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの右上の制御点の位置座標(x5,y5)および動きベクトル(vx5,vy5)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０２５６】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）は、第1の近傍アフィン符号化ブロックの2つの最も右の制御点の動きベクトルおよび位置座標に基づいて形成される。
【０２５７】
現在符号化ブロックの制御点の動きベクトルは第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は式(18)および式(19)に示される。
【数２８】
2021524708.tif 000104
【０２５８】
式(18)および(19)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルである。
【０２５９】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTU内に位置しておらず、かつ現在符号化ブロックの左のCTU内に位置していない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書において限定されない。たとえば、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じ、または異なるものでありうる。別の例では、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの左のCTU内に位置する場合に使用される予測態様と同じ、または異なるものでありうる。
【０２６０】
任意的に、候補動きベクトル予測子MVPリストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られる。第2の近傍アフィン符号化ブロックの制御点の第2のグループ内の一つまたは複数の制御点の、第2の近傍アフィン符号化ブロックに対する位置は、第1の近傍アフィン符号化ブロックの制御点の第1のグループ内の一つまたは複数の制御点の、第1の近傍アフィン符号化ブロックに対する位置とは異なる（たとえば、第1の近傍アフィン符号化ブロックの制御点の第1のグループに含まれる制御点は、第1の近傍アフィン符号化ブロックの左下の制御点、右下の制御点、および左上の制御点であるが、第2の近傍アフィン符号化ブロックの制御点の第2のグループに含まれる制御点は、第2の近傍アフィン符号化ブロックの右上の制御点、右下の制御点、および左下の制御点である）。
【０２６１】
B:  現在符号化ブロックのパラメータ・モデルは、6パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０２６２】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０２６３】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルに基づいて形成される。
【０２６４】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(1)、(2)、および(3)に示される。
【０２６５】
式(1)、(2)、および(5)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０２６６】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)と、右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいて、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標と右下の制御点の位置座標は両方とも、メモリから読まれるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、エンコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶されて、必要なときに使用のためにメモリから読み出されてもよい。
【０２６７】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの左にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も右の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの右上の制御点の位置座標(x5,y5)および動きベクトル(vx5,vy5)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０２６８】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルに基づいて形成される。
【０２６９】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(18)、(19)、および(20)に示される。
【数２９】
2021524708.tif 000105
【０２７０】
式(18)、(19)、および(20)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０２７１】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTU内に位置せず、かつ、現在符号化ブロックの左のCTU内に位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書では限定されない。たとえば、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。別の例として、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの左のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。
【０２７２】
任意的に、候補動きベクトル予測子MVPリストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られる。第2の近傍アフィン符号化ブロックの制御点の第2のグループにおける一つまたは複数の制御点の、第2の近傍アフィン符号化ブロックに対する位置は、第1の近傍アフィン符号化ブロックの制御点の第1のグループにおける一つまたは複数の制御点の、第1の近傍アフィン符号化ブロックに対する位置とは異なる（たとえば、第1の近傍アフィン符号化ブロックの制御点の第1のグループに含まれる制御点は、第1の近傍アフィン符号化ブロックの左下の制御点、右下の制御点、および左上の制御点であるが、第2の近傍アフィン符号化ブロックの制御点の第2のグループに含まれる制御点は、第2の近傍アフィン符号化ブロックの右上の制御点、右下の制御点、および左下の制御点である）。
【０２７３】
態様2：候補動きベクトル予測子MVPリストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０２７４】
具体的には、態様2の原理は、ステップS711における態様2の原理と同じである。よって、詳細はここでは再度説明しない。
【０２７５】
ステップS912：ビデオ・エンコーダは、レート‐歪みコスト基準に従って、候補動きベクトル予測子MVPリスト内のターゲット候補動きベクトル・グループを決定する。
【０２７６】
詳細については、ステップS712の説明を参照されたい。詳細は、ここでは再度説明しない。
【０２７７】
ステップS913：ビデオ・エンコーダは、動きベクトル差分MVDと、ターゲット候補動きベクトル・グループに対応するインデックスとを、送信されるべきビットストリーム中にエンコードする。
【０２７８】
詳細については、ステップS713の説明を参照されたい。詳細は、ここでは再度説明しない。
【０２７９】
マージ・モード：
【０２８０】
ステップS921：ビデオ・エンコーダは、候補動き情報リストを構築する。
【０２８１】
具体的には、ビデオ・エンコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動き情報リスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動き情報リストは、トリプレット候補動き情報リストである。2つの態様は具体的には次のとおり。
【０２８２】
態様1：候補動き情報リストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０２８３】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０２８４】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。詳細は次のとおり。
【０２８５】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０２８６】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルに基づいて形成される。
【０２８７】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル・トリプレットが形成され、候補動き情報リストに加えられる。詳細は、式(1)、(2)、および(3)に示される。
【０２８８】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル2-タプルが形成され、候補動き情報リストに加えられる。詳細は、式(1)および(2)に示される。
【０２８９】
式(1)、(2)、および(3)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０２９０】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)と、右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいて、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標と右下の制御点の位置座標は両方とも、メモリから読まれるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、エンコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶されて、必要なときに使用のためにメモリから読み出されてもよい。
【０２９１】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの左にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も右の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの右上の制御点の位置座標(x5,y5)および動きベクトル(vx5,vy5)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０２９２】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルに基づいて形成される。
【０２９３】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル・トリプレットが形成され、候補動き情報リストに加えられる。詳細は、式(18)、(19)、および(20)に示される。
【０２９４】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル2-タプルが形成され、候補動き情報リストに加えられる。詳細は、式(18)および(19)に示される。
【０２９５】
式(18)、(19)、および(20)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０２９６】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTU内に位置せず、かつ、現在符号化ブロックの左のCTU内に位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書では限定されない。たとえば、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。別の例として、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの左のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。
【０２９７】
任意的に、候補動き情報リストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られる。第2の近傍アフィン符号化ブロックの制御点の第2のグループにおける一つまたは複数の制御点の、第2の近傍アフィン符号化ブロックに対する位置は、第1の近傍アフィン符号化ブロックの制御点の第1のグループにおける一つまたは複数の制御点の、第1の近傍アフィン符号化ブロックに対する位置とは異なる（たとえば、第1の近傍アフィン符号化ブロックの制御点の第1のグループに含まれる制御点は、第1の近傍アフィン符号化ブロックの左下の制御点、右下の制御点、および左上の制御点であるが、第2の近傍アフィン符号化ブロックの制御点の第2のグループに含まれる制御点は、第2の近傍アフィン符号化ブロックの右上の制御点、右下の制御点、および左下の制御点である）。
【０２９８】
態様2：候補動き情報リストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０２９９】
具体的には、態様2の原理は、ステップS721における態様2の原理と同じである。よって、詳細はここでは再度説明しない。
【０３００】
ステップS922：ビデオ・エンコーダは、レート‐歪みコスト基準に従って、候補動き情報リスト内のターゲット候補動きベクトル・グループを決定する。
【０３０１】
詳細については、ステップS722の説明を参照されたい。詳細は、ここでは再度説明しない。
【０３０２】
ステップS923：ビデオ・エンコーダは、前記ターゲット候補動きベクトル・グループに対応するインデックス、参照フレーム・インデックスに対応するインデックス、および予測方向に対応するインデックスを、送信されるべきビットストリーム中にエンコードする。
【０３０３】
詳細については、ステップS723の説明を参照されたい。詳細は、ここでは再度説明しない。
【０３０４】
ステップS924：ビデオ・エンコーダは、6パラメータ・アフィン変換モデルを用いて、現在符号化ブロックの3つの制御点の動きベクトルに基づいて、現在符号化ブロックの各サブブロックの動きベクトルを取得する。
【０３０５】
詳細については、ステップS724の説明を参照されたい。詳細は、ここでは再度説明しない。
【０３０６】
ステップS925：ビデオ・エンコーダは、現在符号化ブロックの各サブブロックの動きベクトルに基づいて動き補償を実行し、各サブブロックの予測されるサンプル値を得る。
【０３０７】
詳細については、ステップS725の説明を参照されたい。詳細は、ここでは再度説明しない。
【０３０８】
第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが、現在符号化ブロックの上に位置する場合、第1の近傍アフィン符号化ブロックの最も下の制御点に関する情報が、メモリから読み込まれていることが理解されうる。第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが、現在符号化ブロックの左に位置する場合は、第1の近傍アフィン符号化ブロックの最も右の制御点に関する情報が、メモリから読み込まれている。したがって、上述の解決策では、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、従来技術において第1の近傍符号化ブロックの左上の制御点、右上の制御点、および左下の制御点を制御点の第1のグループとして固定的に使用する代わりに、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点である。ここで、第1の近傍アフィン符号化ブロックは該CTU内に位置する。よって、本願における制御点の第1のグループを決定する方法によれば、メモリから読み出されている情報が、制御点の第1のグループに関する情報（たとえば、位置座標および動きベクトル）として直接再利用でき、それにより、メモリからの読み出し回数を減らし、エンコード性能を改善する。
【０３０９】
エンコーダ側の別の任意的な実施形態では、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上の符号化ツリー単位（CTU）内に位置する場合、候補動きベクトル予測子のグループは、第1の近傍アフィン符号化ブロックの左下の制御点、右下の制御点、および右上の制御点に基づいて決定される。詳細は次のとおり。
【０３１０】
ステップS1000：ビデオ・エンコーダは、現在符号化ブロックについてのインター予測モードを決定する。
【０３１１】
具体的には、インター予測モードは、先進動きベクトル予測（AMVP）モードであってもよく、またはマージ・モードであってもよい。
【０３１２】
現在符号化ブロックについての決定されたインター予測モードがAMVPモードである場合は、ステップS1011〜S1013が実行される。
【０３１３】
現在符号化ブロックについての決定されたインター予測モードがマージ・モードである場合は、ステップS1021〜S1023が実行される。
【０３１４】
AMVPモード：
【０３１５】
ステップS1011：ビデオ・エンコーダが、候補動きベクトル予測子MVPリストを構築する。
【０３１６】
具体的には、ビデオ・エンコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動きベクトル予測子MVPリスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動きベクトル予測子MVPリストは、トリプレット候補動きベクトル予測子MVPリストまたは2-タプル候補動きベクトル予測子MVPリストでありうる。2つの態様は具体的には次のとおり。
【０３１７】
態様1：候補動きベクトル予測子MVPリストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０３１８】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０３１９】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて現在符号化ブロックの制御点の動きベクトルを予測する態様は、現在符号化ブロックのパラメータ・モデルによって変わる。よって、下記は、異なる場合について記述を与える。
【０３２０】
A:  現在符号化ブロックのパラメータ・モデルは、4パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０３２１】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にある符号化ツリー単位（CTU）内に位置する場合、第1の近傍アフィン符号化ブロックの左上の制御点および2つの最も下の制御点の動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)および動きベクトル(vx4,vy4)、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０３２２】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは6パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標および動きベクトル、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および動きベクトル、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標および動きベクトルに基づいて形成される。
【０３２３】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(21)および(22)に示される。
【数３０】
2021524708.tif 000106
【０３２４】
式(21)および(22)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルである。
【０３２５】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)と、右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいて、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標と右下の制御点の位置座標は両方とも、メモリから読まれるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、エンコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶されて、必要なときに使用のためにメモリから読み出されてもよい。
【０３２６】
この場合、式(21)および(22)において、(x7−x6)はcuWと等しく、(vx7,vy7)は、ピクチャー中の位置(x4＋cuW−1,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよく、(vx6,vy6)は、ピクチャー中の位置(x4,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよい。
【０３２７】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTU内に位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書において限定されない。具体的には、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じ、または異なるものでありうる。
【０３２８】
B:  現在符号化ブロックのパラメータ・モデルは、6パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０３２９】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの左上の制御点および2つの最も下の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)および動きベクトル(vx4,vy4)、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０３３０】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは6パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標および動きベクトル、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および動きベクトル、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標および動きベクトルに基づいて形成される。
【０３３１】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(21)、(22)、および(23)に示される。
【数３１】
2021524708.tif 000107
【０３３２】
式(21)、(22)、および(23)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０３３３】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTU内に位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書では限定されない。具体的には、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。
【０３３４】
態様2：候補動きベクトル予測子MVPリストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０３３５】
具体的には、態様2の原理は、ステップS711における態様2の原理と同じである。よって、詳細はここでは再度説明しない。
【０３３６】
ステップS1012：ビデオ・エンコーダは、レート‐歪みコスト基準に従って、候補動きベクトル予測子MVPリスト内のターゲット候補動きベクトル・グループを決定する。
【０３３７】
詳細については、ステップS712の説明を参照されたい。詳細は、ここでは再度説明しない。
【０３３８】
ステップS1013：ビデオ・エンコーダは、動きベクトル差分MVDと、ターゲット候補動きベクトル・グループに対応するインデックスとを、送信されるべきビットストリーム中にエンコードする。
【０３３９】
詳細については、ステップS713の説明を参照されたい。詳細は、ここでは再度説明しない。
【０３４０】
マージ・モード：
【０３４１】
ステップS1021：ビデオ・エンコーダは、候補動き情報リストを構築する。
【０３４２】
具体的には、ビデオ・エンコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動き情報リスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動き情報リストは、トリプレット候補動き情報リストである。2つの態様は具体的には次のとおり。
【０３４３】
態様1：候補動き情報リストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０３４４】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０３４５】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。詳細は次のとおり。
【０３４６】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの左上の制御点および2つの最も下の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)および動きベクトル(vx4,vy4)、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０３４７】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは6パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標および動きベクトル、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および動きベクトル、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標および動きベクトルに基づいて形成される。
【０３４８】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル・トリプレットが形成され、候補動き情報リストに加えられる。詳細は、式(21)、(22)、および(23)に示される。
【０３４９】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル2-タプルが形成され、候補動き情報リストに加えられる。詳細は、式(21)および(22)に示される。
【０３５０】
式(21)、(22)、および(23)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０３５１】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTU内に位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書では限定されない。具体的には、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。
【０３５２】
態様2：候補動き情報リストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０３５３】
具体的には、態様2の原理は、ステップS721における態様2の原理と同じである。よって、詳細はここでは再度説明しない。
【０３５４】
ステップS1022：ビデオ・エンコーダは、レート‐歪みコスト基準に従って、候補動き情報リスト内のターゲット候補動きベクトル・グループを決定する。
【０３５５】
詳細については、ステップS722の説明を参照されたい。詳細は、ここでは再度説明しない。
【０３５６】
ステップS1023:ビデオ・エンコーダは、ターゲット候補動きベクトル・グループに対応するインデックスを、送信されるべきビットストリーム中にエンコードする。
【０３５７】
詳細については、ステップS723の説明を参照されたい。詳細は、ここでは再度説明しない。
【０３５８】
第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが、現在符号化ブロックの上に位置する場合、第1の近傍アフィン符号化ブロックの最も下の制御点に関する情報が、メモリから読み込まれていることが理解されうる。したがって、上述の解決策では、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、従来技術において第1の近傍符号化ブロックの左上の制御点、右上の制御点、および左下の制御点を制御点の第1のグループとして固定的に使用する代わりに、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。よって、本願における制御点の第1のグループを決定する方法によれば、メモリから読み出されている情報が、制御点の第1のグループに関する情報（たとえば、位置座標および動きベクトル）として直接再利用でき、それにより、メモリからの読み出し回数を減らし、エンコード性能を改善する。
【０３５９】
エンコーダ側の別の任意的な実施形態では、第1の近傍アフィン符号化ブロックの、現在符号化ブロックに対する位置にかかわりなく、候補動きベクトル予測子のグループは、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点に基づいて直接決定される。詳細は次のとおり。
【０３６０】
ステップS1100：ビデオ・エンコーダは、現在符号化ブロックのインター予測モードを決定する。
【０３６１】
具体的には、インター予測モードは、先進動きベクトル予測（AMVP）モードであってもよく、またはマージ・モードであってもよい。
【０３６２】
現在符号化ブロックについての決定されたインター予測モードがAMVPモードである場合は、ステップS1111〜S1113が実行される。
【０３６３】
現在符号化ブロックについての決定されたインター予測モードがマージ・モードである場合は、ステップS1121〜S1123が実行される。
【０３６４】
AMVPモード：
【０３６５】
ステップS1111：ビデオ・エンコーダが、候補動きベクトル予測子MVPリストを構築する。
【０３６６】
具体的には、ビデオ・エンコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動きベクトル予測子MVPリスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動きベクトル予測子MVPリストは、トリプレット候補動きベクトル予測子MVPリストまたは2-タプル候補動きベクトル予測子MVPリストでありうる。2つの態様は具体的には次のとおり。
【０３６７】
態様1：候補動きベクトル予測子MVPリストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０３６８】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０３６９】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて現在符号化ブロックの制御点の動きベクトルを予測する態様は、現在符号化ブロックのパラメータ・モデルによって変わる。よって、下記は、異なる場合について記述を与える。
【０３７０】
A:  現在符号化ブロックのパラメータ・モデルは、4パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０３７１】
第1の近傍アフィン符号化ブロックの、現在符号化ブロックに対する位置にかかわりなく、第1の近傍アフィン符号化ブロックの左上の制御点および2つの最も下の制御点の動きベクトルが直接、得られる。たとえば、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)および動きベクトル(vx4,vy4)、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０３７２】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは6パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標および動きベクトル、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および動きベクトル、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標および動きベクトルに基づいて形成される。
【０３７３】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(21)および(22)に示される。
【数３２】
2021524708.tif 000108
【０３７４】
式(21)および(22)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルである。
【０３７５】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)と、右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいて、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標と右下の制御点の位置座標は両方とも、メモリから読まれるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、エンコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶されて、必要なときに使用のためにメモリから読み出されてもよい。
【０３７６】
この場合、式(21)および(22)において、(x7−x6)はcuWと等しく、(vx7,vy7)は、ピクチャー中の位置(x4＋cuW−1,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよく、(vx6,vy6)は、ピクチャー中の位置(x4,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよい。
【０３７７】
任意的に、候補動きベクトル予測子MVPリストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られ、第2の近傍アフィン符号化ブロックの制御点の第2のグループは、第2の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。
【０３７８】
B:  現在符号化ブロックのパラメータ・モデルは、6パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０３７９】
第1の近傍アフィン符号化ブロックの、現在符号化ブロックに対する位置にかかわりなく、第1の近傍アフィン符号化ブロックの左上の制御点および2つの最も下の制御点の位置座標および動きベクトルが直接、得られる。たとえば、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)および動きベクトル(vx4,vy4)、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０３８０】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは6パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標および動きベクトル、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および動きベクトル、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標および動きベクトルに基づいて形成される。
【０３８１】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(21)、(22)、および(23)に示される。
【０３８２】
式(21)、(22)、および(23)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０３８３】
任意的に、候補動きベクトル予測子MVPリストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られ、第2の近傍アフィン符号化ブロックの制御点の第2のグループは、第2の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。
【０３８４】
態様2：候補動きベクトル予測子MVPリストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０３８５】
具体的には、態様2の原理は、ステップS711における態様2の原理と同じである。よって、詳細はここでは再度説明しない。
【０３８６】
ステップS1112：ビデオ・エンコーダは、レート‐歪みコスト基準に従って、候補動きベクトル予測子MVPリスト内のターゲット候補動きベクトル・グループを決定する。
【０３８７】
詳細については、ステップS712の説明を参照されたい。詳細は、ここでは再度説明しない。
【０３８８】
ステップS1113：ビデオ・エンコーダは、動きベクトル差分MVDと、ターゲット候補動きベクトル・グループに対応するインデックスとを、送信されるべきビットストリーム中にエンコードする。
【０３８９】
詳細については、ステップS713の説明を参照されたい。詳細は、ここでは再度説明しない。
【０３９０】
マージ・モード：
【０３９１】
ステップS1121：ビデオ・エンコーダは、アフィン候補動きベクトル・リストを構築する。
【０３９２】
具体的には、ビデオ・エンコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、アフィン候補動きベクトル・リスト（候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築されたアフィン候補動きベクトル・リストは、トリプレット・アフィン候補動きベクトル・リストである。2つの態様は具体的には次のとおり。
【０３９３】
態様1：アフィン候補動きベクトル・リストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０３９４】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０３９５】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。詳細は次のとおり。
【０３９６】
第1の近傍アフィン符号化ブロックの、現在符号化ブロックに対する位置にかかわりなく、第1の近傍アフィン符号化ブロックの左上の制御点および2つの最も下の制御点の位置座標および動きベクトルが直接、得られる。たとえば、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)および動きベクトル(vx4,vy4)、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０３９７】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは6パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標および動きベクトル、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および動きベクトル、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標および動きベクトルに基づいて形成される。
【０３９８】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル・トリプレットが形成され、アフィン候補動きベクトル・リストに加えられる。詳細は、式(21)、(22)、および(23)に示される。
【０３９９】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル2-タプルが形成され、アフィン候補動きベクトル・リストに加えられる。詳細は、式(21)および(22)に示される。
【０４００】
式(21)、(22)、および(23)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０４０１】
任意的に、アフィン候補動きベクトル・リストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られ、第2の近傍アフィン符号化ブロックの制御点の第2のグループは、第2の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。
【０４０２】
態様2：アフィン候補動きベクトル・リストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０４０３】
具体的には、態様2の原理は、ステップS721における態様2の原理と同じである。よって、詳細はここでは再度説明しない。
【０４０４】
ステップS1122：ビデオ・エンコーダは、レート‐歪みコスト基準に従って、アフィン候補動きベクトル・リスト内のターゲット候補動きベクトル・グループを決定する。
【０４０５】
詳細については、ステップS712の説明を参照されたい。詳細は、ここでは再度説明しない。
【０４０６】
ステップS1123:ビデオ・エンコーダは、ターゲット候補動きベクトル・グループに対応するインデックスを、送信されるべきビットストリーム中にエンコードする。
【０４０７】
詳細については、ステップS713の説明を参照されたい。詳細は、ここでは再度説明しない。
【０４０８】
第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが、現在符号化ブロックの上に位置する場合、第1の近傍アフィン符号化ブロックの最も下の制御点に関する情報が、メモリから読み込まれていることが理解されうる。したがって、上述の解決策では、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、従来技術において第1の近傍符号化ブロックの左上の制御点、右上の制御点、および左下の制御点を制御点の第1のグループとして固定的に使用する代わりに、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。よって、本願における制御点の第1のグループを決定する方法によれば、メモリから読み出されている情報が、制御点の第1のグループに関する情報（たとえば、位置座標および動きベクトル）として直接再利用できる可能性が非常に高く、それにより、メモリからの読み出し回数を減らし、エンコード性能を改善する。
【０４０９】
図9は、本願のある実施形態によるデコード方法のプロセス900のフローチャートである。
プロセス900は、ビデオ・デコーダ200によって実行されてもよく、具体的には、ビデオ・デコーダ200のインター予測ユニット（インター予測器とも呼ばれる）210およびエントロピー・デコード・ユニット（エントロピー・デコーダとも呼ばれる）203によって実行されてもよい。プロセス900は、一連のステップまたは動作として記述される。プロセス900のステップまたは動作は、さまざまなシーケンスで、および／または同時に実施されることができ、図9に示される実行シーケンスに限定されないことが理解されるべきである。複数のビデオ・フレームを含むビデオ・データ・ストリームが、ビデオ・デコーダを使用していると想定される。第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上の符号化ツリー単位（CTU）内に位置する場合、候補動きベクトル予測子のグループは、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点に基づいて決定される。図9に示されるプロセスに対応して、関連する説明は、以下のとおりである。
【０４１０】
デコーダ側の任意の実施形態において、第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にある符号化ツリー単位（CTU）内に位置する場合、候補動きベクトル予測子のグループは、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点に基づいて決定される。詳細は、次のとおり。
【０４１１】
ステップS1200：ビデオ・デコーダは、現在符号化ブロックについてインター予測モードを決定する。
【０４１２】
具体的には、インター予測モードは、高度動きベクトル予測（AMVP）モードであってもよく、マージ・モードであってもよい。
【０４１３】
現在符号化ブロックについての決定されたインター予測モードがAMVPモードである場合は、ステップS1211〜S1216が実行される。
【０４１４】
現在符号化ブロックについての決定されたインター予測モードがマージ・モードである場合は、ステップS1221〜S1225が実行される。
【０４１５】
AMVPモード：
【０４１６】
ステップS1211：ビデオ・デコーダは、候補動きベクトル予測子MVPリストを構築する。
【０４１７】
具体的には、ビデオ・デコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動きベクトル予測子MVPリスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動きベクトル予測子MVPリストは、トリプレット候補動きベクトル予測子MVPリストまたは2-タプル候補動きベクトル予測子MVPリストでありうる。2つの態様は具体的には次のとおり。
【０４１８】
態様1：候補動きベクトル予測子MVPリストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０４１９】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０４２０】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて現在符号化ブロックの制御点の動きベクトルを予測する態様は、現在符号化ブロックのパラメータ・モデルによって変わる。よって、下記は、異なる場合について記述を与える。
【０４２１】
A:  現在符号化ブロックのパラメータ・モデルは、4パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる（図9Aに示される）。
【０４２２】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にある符号化ツリー単位（CTU）内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい（ステップS1201）。
【０４２３】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルおよび位置座標に基づいて形成される（ステップS1202）。
【０４２４】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(1)および(2)に示される（ステップS1203）。
【数３３】
2021524708.tif 000109
【０４２５】
式(1)および(2)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルである。
【０４２６】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)と、右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいて、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標と右下の制御点の位置座標は両方とも、メモリから読まれるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、デコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶されて、必要なときに使用のためにメモリから読み出されてもよい。
【０４２７】
この場合、式(1)および(2)において、(x7−x6)はcuWと等しく、(vx7,vy7)は、ピクチャー中の位置(x4＋cuW−1,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよく、(vx6,vy6)は、ピクチャー中の位置(x4,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよい。
【０４２８】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTUに位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書では限定されない。具体的には、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。
【０４２９】
B:  現在符号化ブロックのパラメータ・モデルは、6パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０４３０】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０４３１】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルに基づいて形成される。
【０４３２】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(1)、(2)、および(3)に示される。
【数３４】
2021524708.tif 000110
【０４３３】
式(1)および(2)は上記に記載されている。式(1)、(2)、および(3)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０４３４】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTUに位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書では限定されない。具体的には、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。
【０４３５】
態様2：候補動きベクトル予測子MVPリストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０４３６】
候補動きベクトル予測子MVPリストを構築する態様は、現在符号化ブロックのパラメータ・モデルによって変わる。詳細は下記に記載される。
【０４３７】
A:  現在符号化ブロックのパラメータ・モデルは、4パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０４３８】
現在符号化ブロックの左上の頂点および右上の頂点の動きベクトルが、現在符号化ブロックの近傍のデコードされたブロックの動き情報に基づいて推定される。図7Bに示されるように、まず、左上の頂点の近傍のデコードされたブロックAおよび／またはBおよび／またはCの動きベクトルが、現在符号化ブロックの左上の頂点の動きベクトルのための候補動きベクトルとして使用され、右上の頂点の近傍のデコードされたブロックDおよび／またはEの動きベクトルが、現在符号化ブロックの右上の頂点の動きベクトルのための候補動きベクトルとして使用される。左上の頂点の候補動きベクトルと右上の頂点の候補動きベクトルが組み合わされて、候補動きベクトル予測子のグループが得られてもよい。この態様における組み合わせを通じて得られた複数のレコードは、候補動きベクトル予測子MVPリストを構成してもよい。
【０４３９】
B：現在符号化ブロックのパラメータ・モデルは、6パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０４４０】
現在符号化ブロックの左上の頂点、右上の頂点、および左下の頂点の動きベクトルが、現在符号化ブロックの近傍のデコードされたブロックの動き情報に基づいて推定される。図7Bに示されるように、まず、左上の頂点の近傍のデコードされたブロックAおよび／またはBおよび／またはCの動きベクトルが、現在符号化ブロックの左上の頂点の動きベクトルのための候補動きベクトルとして使用され、右上の頂点の近傍のデコードされたブロックDおよび／またはEの動きベクトルが、現在符号化ブロックの右上の頂点の動きベクトルのための候補動きベクトルとして使用され、左下の頂点の近傍のデコードされたブロックFおよび／またはGの動きベクトルが、現在符号化ブロックの左下の頂点の動きベクトルのための候補動きベクトルとして使用される。左上の頂点の候補動きベクトル、右上の頂点の候補動きベクトル、および左下の頂点の候補動きベクトルが組み合わされて、候補動きベクトル予測子のグループが得られてもよい。この態様における組み合わせを通じて得られた候補動きベクトル予測子の複数のグループは、候補動きベクトル予測子MVPリストを構成してもよい。
【０４４１】
候補動きベクトル予測子MVPリストは、態様1で予測される候補動きベクトル予測子のみを用いて構築されてもよく、あるいは候補動きベクトル予測子MVPリストは、態様2で予測される候補動きベクトル予測子のみを用いて構築されてもよく、あるいは候補動きベクトル予測子MVPリストは、態様1で予測される候補動きベクトル予測子と態様2で予測される候補動きベクトル予測子の両方を用いて構築されてもよいことを注意しておくべきである。加えて、候補動きベクトル予測子MVPリストは、事前に構成された規則に従ってさらに剪定され、ソートされ、次いで、特定の量になるよう切り詰められ、またはパディングされてもよい。候補動きベクトル予測子MVPリスト内の候補動きベクトル予測子の各グループが3つの制御点の動きベクトル予測子を含む場合、この候補動きベクトル予測子MVPリストは、トリプレット・リストと称されてもよく；または、候補動きベクトル予測子MVPリスト内の候補動きベクトル予測子の各グループが2つの制御点の動きベクトル予測子を含む場合、この候補動きベクトル予測子MVPリストは、2-タプル・リストと称されてもよい。
【０４４２】
ステップS1212：ビデオ・デコーダは、ビットストリームをパースして、インデックスと、動きベクトル差分MVDとを得る。
【０４４３】
具体的には、ビデオ・デコーダは、エントロピー・デコード・ユニットを用いてビットストリームをパースしてもよい。インデックスは、現在符号化ブロックのターゲット候補動きベクトル・グループを示すために使われ、ターゲット候補動きベクトル・グループは、現在符号化ブロックの制御点のグループの動きベクトル予測子を表わす。
【０４４４】
ステップS1213：ビデオ・デコーダは、候補動きベクトル予測子MVPリストにおけるターゲット動きベクトル・グループを、インデックスに基づいて決定する。
【０４４５】
具体的には、インデックスに基づいて候補動きベクトル予測子MVPリストにおいてビデオ・デコーダによって決定されたターゲット候補動きベクトル・グループが、最適な候補動きベクトル予測子として使用される（任意的に、候補動きベクトル予測子MVPリストの長さが1である場合、インデックスを得るためにビットストリームをパースする必要はなく、ターゲット動きベクトル・グループを直接決定することができる）。下記は、最適な候補動きベクトル予測子を簡単に説明する。
【０４４６】
現在符号化ブロックのパラメータ・モデルが4パラメータ・アフィン変換モデルである場合、2つの制御点の最適な動きベクトル予測子が、構築された候補動きベクトル予測子MVPリストから選択される。たとえば、ビデオ・デコーダは、ビットストリームをパースしてインデックス番号を得て、次いで、インデックス番号に基づいて、2タプル候補動きベクトル予測子MVPリスト内の2つの制御点の最適な動きベクトル予測子を決定する。候補動きベクトル予測子MVPリスト内の候補動きベクトル予測子の各グループは、それぞれのインデックス番号に対応する。
【０４４７】
現在符号化ブロックのパラメータ・モデルが6パラメータ・アフィン変換モデルである場合、3つの制御点の最適な動きベクトル予測子が、構築された候補動きベクトル予測子MVPリストから選択される。たとえば、ビデオ・デコーダは、ビットストリームをパースしてインデックス番号を得て、次いで、インデックス番号に基づいて、トリプレット候補動きベクトル予測子MVPリスト内の3つの制御点の最適な動きベクトル予測子を決定する。候補動きベクトル予測子MVPリスト内の候補動きベクトル予測子の各グループは、それぞれのインデックス番号に対応する。
【０４４８】
ステップS1214：ビデオ・デコーダは、ターゲット候補動きベクトル・グループと、ビットストリームからパースを通じて得られた動きベクトル差分MVDとに基づいて、現在符号化ブロックの制御点の動きベクトルを決定する。
【０４４９】
現在符号化ブロックのパラメータ・モデルが4パラメータ・アフィン変換モデルである場合、現在符号化ブロックの2つの制御点の動きベクトル差分が、ビットストリームからデコードを通じて得られ、新しい候補動きベクトル・グループが、それらの制御点の動きベクトル差分と、インデックスによって示されたターゲット候補動きベクトル・グループとに基づいて得られる。たとえば、左上の制御点の動きベクトル差分MVDおよび右上の制御点の動きベクトル差分MVDがビットストリームからデコードを通じて得られ、それぞれターゲット候補動きベクトル・グループにおける左上の制御点の動きベクトルおよび右上の制御点の動きベクトルに加算されて、新しい候補動きベクトル・グループが得られる。よって、新しい候補動きベクトル・グループは、現在符号化ブロックの左上の制御点および右上の制御点の新しい動きベクトルを含む。
【０４５０】
任意的に、4パラメータ・アフィン変換モデルを使用することによって、新しい候補動きベクトル・グループにおいて、第3の制御点の動きベクトルが、現在符号化ブロックの2つの制御点の動きベクトルに基づいてさらに得られてもよい。たとえば、現在符号化ブロックの左上の制御点の動きベクトル(vx0,vy0)と、現在符号化ブロックの右上の制御点の動きベクトル(vx1,vy1)が得られる。そして、現在符号化ブロックの左下の制御点(x2,y2)の動きベクトル(vx2,vy2)が、式(4)に従った計算を通じて得られる。
【数３５】
2021524708.tif 000111
【０４５１】
ここで、(x0,y0)は左上の制御点の位置座標であり、(x1,y1)は右上の制御点の位置座標であり、Wは現在符号化ブロックの幅であり、Hは現在符号化ブロックの高さである。
【０４５２】
現在符号化ブロックのパラメータ・モデルが6パラメータ・アフィン変換モデルである場合、現在符号化ブロックの3つの制御点の動きベクトル差分が、ビットストリームからデコードを通じて得られ、新しい候補動きベクトル・グループが、それらの制御点の動きベクトル差分MVDと、インデックスによって示されたターゲット候補動きベクトル・グループとに基づいて得られる。たとえば、左上の制御点の動きベクトル差分MVD、右上の制御点の動きベクトル差分MVD、および左下の制御点の動きベクトル差分がビットストリームからデコードを通じて得られ、それぞれターゲット候補動きベクトル・グループにおける左上の制御点の動きベクトル、右上の制御点の動きベクトル、および左下の制御点の動きベクトルに加算されて、新しい候補動きベクトル・グループが得られる。よって、新しい候補動きベクトル・グループは、現在符号化ブロックの左上の制御点、右上の制御点、および左下の制御点の動きベクトルを含む。
【０４５３】
ステップS1215：ビデオ・デコーダは、アフィン変換モデルを用いて、現在符号化ブロックの制御点の決定された動きベクトルに基づいて、現在符号化ブロックの各サブブロックの動きベクトルを取得する。
【０４５４】
具体的には、ターゲット候補動きベクトル・グループとMVDとに基づいて得られた新しい候補動きベクトル・グループは、2つの制御点（左上の制御点および右上の制御点）または3つの制御点（たとえば左上の制御点、右上の制御点、および左下の制御点）の動きベクトルを含む。現在符号化ブロックの各サブブロック（1つのサブブロックは、1つの動き補償単位と等価であってもよい）について、動き補償単位内の事前設定された位置におけるサンプルの動き情報が、その動き補償単位内のすべてのサンプルの動き情報を表現するために使用されてもよい。動き補償単位のサイズがM×Nである（Mは現在符号化ブロックの幅W以下であり、Nは現在符号化ブロックの高さH以下であり、M、N、W、Hはそれぞれ正の整数であり、通例2の冪乗、たとえば4、8、16、32、64、または128である）場合、事前設定された位置におけるサンプルは、動き補償単位の中心点(M/2,N/2)、左上のサンプル(0,0)、右上のサンプル(M−1,0)、または他の位置のサンプルであってもよい。図8Aは、4×4の動き補償単位を示し、図8Bは、8×8の動き補償単位を示す。
【０４５５】
現在符号化ブロックの左上の頂点におけるサンプルに対する動き補償単位の中心点の座標は、式(5)に従って計算される。ここで、iは水平方向において（左から右へ）i番目の動き補償単位であり、jは垂直方向において（上から下へ）j番目の動き補償単位であり、(x(i,j),y(i,j))は現在符号化ブロックの左上の制御点におけるサンプルに対する(i,j)番目の動き補償単位の中心点の座標を表わす。そして、現在符号化ブロックのアフィン・モデル・タイプ（6パラメータまたは4パラメータ）に基づき、(x(i,j),y(i,j))は6パラメータ・アフィン・モデルの式(6-1)に代入されるか、または(x(i,j),y(i,j))は4パラメータ・アフィン・モデルの式(6-2)に代入され、各動き補償単位の中心点の動き情報を得て、該動き情報は、この動き補償単位におけるすべてのサンプルの動きベクトル(vx(i,j),vy(i,j))として使用される。
【数３６】
2021524708.tif 000112
【０４５６】
任意的に、現在符号化ブロックが6パラメータ符号化ブロックであり、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルがターゲット候補動きベクトル・グループに基づいて得られる場合、現在符号化ブロックの下の境界が、現在符号化ブロックが位置するCTUの下の境界と重なっていれば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)と、3つの制御点を用いて構築された6パラメータ・アフィン・モデルとに基づく計算を通じて得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)と、3つの制御点を用いて構築された6パラメータ・アフィン・モデルとに基づく計算を通じて得られる。たとえば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)を6パラメータ・アフィン・モデルに代入する（計算のために、左下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)を6パラメータ・アフィン・モデルに代入する（計算のために、右下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られる。このようにして、現在符号化ブロックの左下の制御点の動きベクトルと右下の制御点の動きベクトルが使用される（たとえば、現在ブロックの左下の制御点と右下の制御点の動きベクトルに基づいて、その後、他のブロックの候補動きベクトル予測子MVPリストが構築される）場合、推定値ではなく正確な値が用いられる。Wは現在符号化ブロックの幅であり、Hは現在符号化ブロックの高さである。
【０４５７】
任意的に、現在符号化ブロックが4パラメータ符号化ブロックであり、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルがターゲット候補動きベクトル・グループに基づいて得られる場合、現在符号化ブロックの下の境界が、現在符号化ブロックが位置するCTUの下の境界と重なっていれば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)と、2つの制御点を用いて構築された4パラメータ・アフィン・モデルとに基づく計算を通じて得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)と、2つの制御点を用いて構築された4パラメータ・アフィン・モデルとに基づく計算を通じて得られる。たとえば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)を4パラメータ・アフィン・モデルに代入する（計算のために、左下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)を4パラメータ・アフィン・モデルに代入する（計算のために、右下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られる。このようにして、現在符号化ブロックの左下の制御点の動きベクトルと右下の制御点の動きベクトルが使用される（たとえば、現在ブロックの左下の制御点と右下の制御点の動きベクトルに基づいて、その後、他のブロックの候補動きベクトル予測子MVPリストが構築される）場合、推定値ではなく正確な値が用いられる。Wは現在符号化ブロックの幅であり、Hは現在符号化ブロックの高さである。
【０４５８】
ステップS1216：ビデオ・デコーダは、現在符号化ブロックの各サブブロックの動きベクトルに基づいて動き補償を実行して、各サブブロックの予測されるサンプル値を得る。たとえば、各サブブロックの動きベクトルおよび参照フレーム・インデックスに基づいて対応するサブブロックが参照フレーム内に見出され、補間フィルタリングが実行されて、各サブブロックの予測されたサンプル値が得られる。
【０４５９】
マージ・モード：
【０４６０】
ステップS1221：ビデオ・デコーダは、候補動き情報リストを構築する。
【０４６１】
具体的には、ビデオ・デコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動き情報リスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動き情報リストは、トリプレット候補動き情報リストである。2つの態様は具体的には次のとおり。
【０４６２】
態様1：候補動き情報リストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０４６３】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０４６４】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。詳細は次のとおり。
【０４６５】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０４６６】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルに基づいて形成される。
【０４６７】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル・トリプレットが形成され、候補動き情報リストに加えられる。詳細は、式(1)、(2)、および(3)に示される。
【０４６８】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル2-タプルが形成され、候補動き情報リストに加えられる。詳細は、式(1)および(2)に示される。
【０４６９】
式(1)、(2)、および(3)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０４７０】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTUに位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書では限定されない。具体的には、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。
【０４７１】
態様2：候補動き情報リストは、制御点組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０４７２】
下記は、解決策Aと解決策Bとして記される2つの解決策を挙げる。
【０４７３】
解決策A：現在符号化ブロックの2つの制御点の動き情報が組み合わされて、4パラメータ・アフィン変換モデルを構築する。2つの制御点は、{CP1,CP4}、{CP2,CP3}、{CP1,CP2}、{CP2,CP4}、{CP1,CP3}、または{CP3,CP4}のように組み合わされる。たとえば、制御点CP1およびCP2を使用して構築された4パラメータ・アフィン変換モデルは、Affine(CP1,CP2)として記される。
【０４７４】
異なる制御点の組み合わせが、同じ位置の諸制御点に変換されることがあることに注意しておくべきである。たとえば、{CP1,CP4}、{CP2,CP3}、{CP2,CP4}、{CP1,CP3}、または{CP3,CP4}の組み合わせに基づいて得られた4パラメータ・アフィン変換モデルが、制御点{CP1,CP2}または{CP1,CP2,CP3}によって表現されるように変換される。変換方法は次のとおり：ある制御点の動きベクトルおよび座標情報が式(7)に代入されて、モデル・パラメータが得られる。次いで、{CP1,CP2}の配位情報が該式に代入され、{CP1,CP2}の諸動きベクトルが得られる。それらの動きベクトルは、候補動きベクトル予測子のグループとして使用される。
【数３７】
2021524708.tif 000113
【０４７５】
式(7)において、a0、a1、a2、a3はパラメータ・モデルにおけるすべてのパラメータであり、(x,y)は位置座標を表わす。
【０４７６】
より直接的には、この変換は、左上の制御点および右上の制御点によって表わされる動きベクトル予測子のグループを得るために下記の諸式に従って実行されてもよく、動きベクトル予測子のこのグループが、候補動き情報リストに追加される。
【０４７７】
{CP1,CP2}を{CP1,CP2,CP3}に変換する式(8)は、次のとおり：
【数３８】
2021524708.tif 000114
【０４７８】
{CP1,CP3}を{CP1,CP2,CP3}に変換する式(9)は、次のとおり：
【数３９】
2021524708.tif 000115
【０４７９】
{CP2,CP3}を{CP1,CP2,CP3}に変換する式(10)は、次のとおり：
【数４０】
2021524708.tif 000116
【０４８０】
{CP1,CP4}を{CP1,CP2,CP3}に変換する式(11)は、次のとおり：
【数４１】
2021524708.tif 000117
【０４８１】
{CP2,CP4}を{CP1,CP2,CP3}に変換する式(12)は、次のとおり：
【数４２】
2021524708.tif 000118
【０４８２】
{CP3,CP4}を{CP1,CP2,CP3}に変換する式(13)は、次のとおり：
【数４３】
2021524708.tif 000119
【０４８３】
解決策B：現在符号化ブロックの3つの制御点の動き情報が組み合わされて、6パラメータ・アフィン変換モデルを構築する。3つの制御点は、{CP1,CP2,CP4}、{CP1,CP2,CP3}、{CP2,CP3,CP4}、または{CP1,CP3,CP4}のように組み合わされる。たとえば、制御点CP1、CP2、およびCP3を使用して構築された6パラメータ・アフィン変換モデルは、Affine(CP1,CP2,CP3)として記される。
【０４８４】
異なる制御点の組み合わせが、同じ位置の諸制御点に変換されることがあることに注意しておくべきである。たとえば、{CP1,CP2,CP4}、{CP2,CP3,CP4}、または{CP1,CP3,CP4}の組み合わせに基づいて得られた6パラメータ・アフィン変換モデルが、制御点{CP1,CP2,CP3}によって表現されるように変換される。変換方法は次のとおり：ある制御点の動きベクトルおよび座標情報が式(14)に代入されて、モデル・パラメータが得られる。次いで、{CP1,CP2,CP3}の配位情報が該式に代入され、{CP1,CP2,CP3}の諸動きベクトルが得られる。それらの動きベクトルは、候補動きベクトル予測子のグループとして使用される。
【数４４】
2021524708.tif 000120
【０４８５】
式(14)において、a1、a2、a3、a4、a5、a6は、パラメータ・モデルにおけるパラメータであり、(x,y)は位置座標を表わす。
【０４８６】
より直接的には、この変換は、左上の制御点、右上の制御点、および左下の制御点によって表わされる動きベクトル予測子のグループを得るために下記の諸式に従って実行されてもよく、動きベクトル予測子のこのグループが、候補動き情報リストに追加される。
【０４８７】
{CP1,CP2,CP4}を{CP1,CP2,CP3}に変換する式(15)は次のとおり：
【数４５】
2021524708.tif 000121
【０４８８】
{CP2,CP3,CP4}を{CP1,CP2,CP3}に変換する式(16)は次のとおり：
【数４６】
2021524708.tif 000122
【０４８９】
{CP1,CP3,CP4}を{CP1,CP2,CP3}に変換する式(17)は次のとおり：
【数４７】
2021524708.tif 000123
【０４９０】
候補動き情報リストは、態様1で予測された候補動きベクトル予測子のみを使用して構築されてもよく、あるいは候補動き情報リストは、態様2で予測された候補動きベクトル予測子のみを使用して構築されてもよく、あるいは候補動き情報リストは、態様1で予測された候補動きベクトル予測子と態様2で予測された候補動きベクトル予測子の両方を使用して構築されてもよいことに注意しておくべきである。さらに、候補動き情報リストは、事前に構成された規則に従ってさらに剪定され、ソートされ、次いで、特定の数になるよう切り詰められ、またはパディングされてもよい。候補動き情報リスト内の候補動きベクトル予測子の各グループが3つの制御点の動きベクトル予測子を含む場合、この候補動き情報リストは、トリプレット・リストと称されてもよく；または候補動き情報リスト内の候補動きベクトル予測子の各グループが2つの制御点の動きベクトル予測子を含む場合、この候補動き情報リストは、2-タプル・リストと称されてもよい。
【０４９１】
ステップS1222:ビデオ・デコーダは、ビットストリームをパースして、インデックスを得る。
【０４９２】
具体的には、ビデオ・デコーダは、エントロピー・デコード・ユニットを用いてビットストリームをパースしてもよい。インデックスは、現在符号化ブロックのターゲット候補動きベクトル・グループを示すために使われ、該ターゲット候補動きベクトル・グループは、現在符号化ブロックの制御点のグループの動きベクトル予測子を表わす。
【０４９３】
ステップS1223：ビデオ・デコーダは、候補動き情報リストにおけるターゲット動きベクトル・グループを、インデックスに基づいて決定する。
【０４９４】
具体的には、インデックスに基づいて候補動きベクトル予測子MVPリストにおいてビデオ・デコーダによって決定されたターゲット候補動きベクトル・グループが、最適な候補動きベクトル予測子として使用される（任意的に、候補動き情報リストの長さが1である場合、インデックスを得るためにビットストリームをパースする必要はなく、ターゲット動きベクトル・グループを直接決定することができる）。具体的には、最適な候補動きベクトル予測子は、2つまたは3つの制御点の最適な動きベクトル予測子である。たとえば、ビデオ・デコーダは、ビットストリームからパースを通じてインデックス番号を取得し、次いで、インデックス番号に基づいて、候補動き情報リスト内の2つまたは3つの制御点の最適な動きベクトル予測子を決定する。候補動き情報リスト内の候補動きベクトル予測子の各グループは、それぞれのインデックス番号に対応する。
【０４９５】
ステップS1224：ビデオ・デコーダは、パラメータに基づくアフィン変換モデルを用いて、現在符号化ブロックの制御点の決定された動きベクトルに基づいて、現在符号化ブロックの各サブブロックの動きベクトルを取得する。
【０４９６】
具体的には、ターゲット候補動きベクトル・グループは、2つの制御点（左上の制御点および右上の制御点）または3つの制御点（たとえば左上の制御点、右上の制御点、および左下の制御点）の動きベクトルを含む。現在符号化ブロックの各サブブロック（1つのサブブロックは、1つの動き補償単位と等価であってもよい）について、動き補償単位内の事前設定された位置におけるサンプルの動き情報が、その動き補償単位内のすべてのサンプルの動き情報を表現するために使用されてもよい。動き補償単位のサイズがM×Nである（Mは現在符号化ブロックの幅W以下であり、Nは現在符号化ブロックの高さH以下であり、M、N、W、Hはそれぞれ正の整数であり、通例2の冪乗、たとえば4、8、16、32、64、または128である）場合、事前設定された位置におけるサンプルは、動き補償単位の中心点(M/2,N/2)、左上のサンプル(0,0)、右上のサンプル(M−1,0)、または他の位置のサンプルであってもよい。図8Aは、4×4の動き補償単位を示し、図8Bは、8×8の動き補償単位を示す。
【０４９７】
現在符号化ブロックの左上の頂点におけるサンプルに対する動き補償単位の中心点の座標は、式(5)に従って計算される。ここで、iは水平方向において（左から右へ）i番目の動き補償単位であり、jは垂直方向において（上から下へ）j番目の動き補償単位であり、(x(i,j),y(i,j))は現在符号化ブロックの左上の制御点におけるサンプルに対する(i,j)番目の動き補償単位の中心点の座標を表わす。そして、現在符号化ブロックのアフィン・モデル・タイプ（6パラメータまたは4パラメータ）に基づき、(x(i,j),y(i,j))は6パラメータ・アフィン・モデルの式(6-1)に代入されるか、または(x(i,j),y(i,j))は4パラメータ・アフィン・モデルの式(6-2)に代入され、各動き補償単位の中心点の動き情報を得て、該動き情報は、この動き補償単位におけるすべてのサンプルの動きベクトル(vx(i,j),vy(i,j))として使用される。
【０４９８】
任意的に、現在符号化ブロックが6パラメータ符号化ブロックであり、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルがターゲット候補動きベクトル・グループに基づいて得られる場合、現在符号化ブロックの下の境界が、現在符号化ブロックが位置するCTUの下の境界と重なっていれば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)と、3つの制御点を用いて構築された6パラメータ・アフィン・モデルとに基づく計算を通じて得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)と、3つの制御点を用いて構築された6パラメータ・アフィン・モデルとに基づく計算を通じて得られる。たとえば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)を6パラメータ・アフィン・モデルに代入する（計算のために、左下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)を6パラメータ・アフィン・モデルに代入する（計算のために、右下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られる。このようにして、現在符号化ブロックの左下の制御点の動きベクトルと右下の制御点の動きベクトルが使用される（たとえば、現在ブロックの左下の制御点と右下の制御点の動きベクトルに基づいて、その後、他のブロックの候補動き情報リストが構築される）場合、推定値ではなく正確な値が用いられる。Wは現在符号化ブロックの幅であり、Hは現在符号化ブロックの高さである。
【０４９９】
任意的に、現在符号化ブロックが4パラメータ符号化ブロックであり、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルがターゲット候補動きベクトル・グループに基づいて得られる場合、現在符号化ブロックの下の境界が、現在符号化ブロックが位置するCTUの下の境界と重なっていれば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)と、2つの制御点を用いて構築された4パラメータ・アフィン・モデルとに基づく計算を通じて得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)と、2つの制御点を用いて構築された4パラメータ・アフィン・モデルとに基づく計算を通じて得られる。たとえば、現在符号化ブロックの左下隅のサブブロックの動きベクトルは、現在符号化ブロックの左下隅の位置座標(0,H)を4パラメータ・アフィン・モデルに代入する（計算のために、左下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られ、現在符号化ブロックの右下隅のサブブロックの動きベクトルは、現在符号化ブロックの右下隅の位置座標(W,H)を4パラメータ・アフィン・モデルに代入する（計算のために、右下隅のサブブロックの中心点の座標をアフィン・モデルに代入するのではなく）ことによって得られる。このようにして、現在符号化ブロックの左下の制御点の動きベクトルと右下の制御点の動きベクトルが使用される（たとえば、現在ブロックの左下の制御点と右下の制御点の動きベクトルに基づいて、その後、他のブロックの候補動き情報リストが構築される）場合、推定値ではなく正確な値が用いられる。Wは現在符号化ブロックの幅であり、Hは現在符号化ブロックの高さである。
【０５００】
ステップS1225：ビデオ・デコーダは、現在符号化ブロックの各サブブロックの動きベクトルに基づいて動き補償を実行して、各サブブロックの予測されるサンプル値を得る。具体的には、現在符号化ブロックの一つまたは複数のサブブロックの動きベクトルと、参照フレーム・インデックスおよびインデックスによって示される予測方向とに基づいて、現在符号化ブロックの予測されたサンプル値が得られる。
【０５０１】
第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが、現在符号化ブロックの上に位置する場合、第1の近傍アフィン符号化ブロックの最も下の制御点に関する情報が、メモリから読み込まれていることが理解されうる。したがって、上述の解決策では、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、従来技術において第1の近傍符号化ブロックの左上の制御点、右上の制御点、および左下の制御点を第1のグループの制御点として固定的に使用する（あるいは第1の近傍符号化ブロックの左上の制御点および右上の制御点を第1のグループの制御点として固定的に使用する）代わりに、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。よって、本願における制御点の第1のグループを決定する方法によれば、メモリから読み出された情報が、制御点の第1のグループに関する情報（たとえば、位置座標および動きベクトル）として直接再利用でき、それにより、メモリからの読み出し回数を減らし、デコード性能を改善する。
【０５０２】
デコーダ側の別の任意的な実施形態では、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上の符号化ツリー単位（CTU）内に位置する場合、候補動きベクトル予測子のグループは、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点に基づいて決定される；または、第1の近傍アフィン符号化ブロックが、現在符号化ブロックの左のCTU内に位置する場合、候補動きベクトル予測子のグループは、第1の近傍アフィン符号化ブロックの右上の制御点および右下の制御点に基づいて決定される。詳細は次のとおり。
【０５０３】
ステップS1300：ビデオ・デコーダは、現在符号化ブロックのインター予測モードを決定する。
【０５０４】
具体的には、インター予測モードは、先進動きベクトル予測（AMVP）モードであってもよく、またはマージ・モードであってもよい。
【０５０５】
現在符号化ブロックについての決定されたインター予測モードがAMVPモードである場合は、ステップS1311〜S1313が実行される。
【０５０６】
現在符号化ブロックについての決定されたインター予測モードがマージ・モードである場合は、ステップS1321〜S1325が実行される。
【０５０７】
AMVPモード：
【０５０８】
ステップS1311：ビデオ・デコーダが、候補動きベクトル予測子MVPリストを構築する。
【０５０９】
具体的には、ビデオ・デコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動きベクトル予測子MVPリスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動きベクトル予測子MVPリストは、トリプレット候補動きベクトル予測子MVPリストまたは2-タプル候補動きベクトル予測子MVPリストでありうる。2つの態様は具体的には次のとおり。
【０５１０】
態様1：候補動きベクトル予測子MVPリストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０５１１】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０５１２】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて現在符号化ブロックの制御点の動きベクトルを予測する態様は、現在符号化ブロックのパラメータ・モデルによって変わる。よって、下記は、異なる場合について記述を与える。
【０５１３】
A:  現在符号化ブロックのパラメータ・モデルは、4パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる（図9Bに示される）。
【０５１４】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にある符号化ツリー単位（CTU）内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい（ステップS1301）。
【０５１５】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルおよび位置座標に基づいて形成される（ステップS1302）。
【０５１６】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(1)および(2)に示される（ステップS1303）。
【０５１７】
式(1)および(2)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルである。
【０５１８】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)と、右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいて、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標と右下の制御点の位置座標は両方とも、メモリから読まれるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、デコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶されて、必要なときに使用のためにメモリから読み出されてもよい。
【０５１９】
この場合、式(1)および(2)において、(x7−x6)はcuWと等しく、(vx7,vy7)は、ピクチャー中の位置(x4＋cuW−1,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよく、(vx6,vy6)は、ピクチャー中の位置(x4,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよい。
【０５２０】
第1の近傍アフィン符号化ブロックが現在符号化ブロックの左の符号化ツリー単位（CTU）内に位置する場合、第1の近傍アフィン符号化ブロックの最も右の2つの制御点の動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの右上の制御点の位置座標(x5,y5)および動きベクトル(vx5,vy5)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい（ステップS1304）。
【０５２１】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）は、第1の近傍アフィン符号化ブロックの2つの最も右の制御点の動きベクトルおよび位置座標に基づいて形成される（ステップS1305）。
【０５２２】
現在符号化ブロックの制御点の動きベクトルは第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は式(18)および式(19)に示される（ステップS1306）。
【数４８】
2021524708.tif 000124
【０５２３】
式(18)および(19)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルである。
【０５２４】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTU内に位置しておらず、かつ現在符号化ブロックの左のCTU内に位置していない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書において限定されない。たとえば、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じ、または異なるものでありうる。別の例では、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの左のCTU内に位置する場合に使用される予測態様と同じ、または異なるものでありうる。
【０５２５】
任意的に、候補動きベクトル予測子MVPリストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られる。第2の近傍アフィン符号化ブロックの制御点の第2のグループ内の一つまたは複数の制御点の、第2の近傍アフィン符号化ブロックに対する位置は、第1の近傍アフィン符号化ブロックの制御点の第1のグループ内の一つまたは複数の制御点の、第1の近傍アフィン符号化ブロックに対する位置とは異なる（たとえば、第1の近傍アフィン符号化ブロックの制御点の第1のグループに含まれる制御点は、第1の近傍アフィン符号化ブロックの左下の制御点、右下の制御点、および左上の制御点であるが、第2の近傍アフィン符号化ブロックの制御点の第2のグループに含まれる制御点は、第2の近傍アフィン符号化ブロックの右上の制御点、右下の制御点、および左下の制御点である）。
【０５２６】
B:  現在符号化ブロックのパラメータ・モデルは、6パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０５２７】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０５２８】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルに基づいて形成される。
【０５２９】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(1)、(2)、および(3)に示される。
【０５３０】
式(1)、(2)、および(5)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０５３１】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)と、右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいて、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標と右下の制御点の位置座標は両方とも、メモリから読まれるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、デコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶されて、必要なときに使用のためにメモリから読み出されてもよい。
【０５３２】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの左にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も右の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの右上の制御点の位置座標(x5,y5)および動きベクトル(vx5,vy5)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０５３３】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルに基づいて形成される。
【０５３４】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(18)、(19)、および(20)に示される。
【数４９】
2021524708.tif 000125
【０５３５】
式(18)、(19)、および(20)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０５３６】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTU内に位置せず、かつ、現在符号化ブロックの左のCTU内に位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書では限定されない。たとえば、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。別の例として、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの左のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。
【０５３７】
任意的に、候補動きベクトル予測子MVPリストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られる。第2の近傍アフィン符号化ブロックの制御点の第2のグループにおける一つまたは複数の制御点の、第2の近傍アフィン符号化ブロックに対する位置は、第1の近傍アフィン符号化ブロックの制御点の第1のグループにおける一つまたは複数の制御点の、第1の近傍アフィン符号化ブロックに対する位置とは異なる（たとえば、第1の近傍アフィン符号化ブロックの制御点の第1のグループに含まれる制御点は、第1の近傍アフィン符号化ブロックの左下の制御点、右下の制御点、および左上の制御点であるが、第2の近傍アフィン符号化ブロックの制御点の第2のグループに含まれる制御点は、第2の近傍アフィン符号化ブロックの右上の制御点、右下の制御点、および左下の制御点である）。
【０５３８】
態様2：候補動きベクトル予測子MVPリストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０５３９】
具体的には、態様2の原理は、ステップS1211における態様2の原理と同じである。よって、詳細はここでは再度説明しない。
【０５４０】
ステップS1312：ビデオ・デコーダは、ビットストリームをパースして、インデックスおよび動きベクトル差分MVDを得る。
【０５４１】
詳細については、ステップS1212の説明を参照されたい。詳細は、ここでは再度説明しない。
【０５４２】
ステップS1313：ビデオ・デコーダは、候補動きベクトル予測子MVPリストにおけるターゲット動きベクトル・グループを、インデックスに基づいて決定する。
【０５４３】
詳細については、ステップS1213の説明を参照されたい。詳細は、ここでは再度説明しない。
【０５４４】
ステップS1314：ビデオ・デコーダは、ターゲット候補動きベクトル・グループと、ビットストリームからパースを通じて得られた動きベクトル差分MVDとに基づいて、現在符号化ブロックの制御点の動きベクトルを決定する。
【０５４５】
詳細については、ステップS1214の説明を参照されたい。詳細は、ここでは再度説明しない。
【０５４６】
ステップS1315：ビデオ・デコーダは、パラメータに基づくアフィン変換モデルを用いて、現在符号化ブロックの制御点の決定された動きベクトルに基づいて、現在符号化ブロックの各サブブロックの動きベクトルを取得する。
【０５４７】
詳細については、ステップS1215の説明を参照されたい。詳細は、ここでは再度説明しない。
【０５４８】
ステップS1316：ビデオ・デコーダは、現在符号化ブロックの各サブブロックの動きベクトルに基づいて動き補償を実行して、各サブブロックの予測されるサンプル値を得る。
【０５４９】
詳細については、ステップS1216の説明を参照されたい。詳細は、ここでは再度説明しない。
【０５５０】
マージ・モード：
【０５５１】
ステップS1321：ビデオ・デコーダは、候補動き情報リストを構築する。
【０５５２】
具体的には、ビデオ・デコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動き情報リスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動き情報リストは、トリプレット候補動き情報リストである。2つの態様は具体的には次のとおり。
【０５５３】
態様1：候補動き情報リストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０５５４】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０５５５】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。詳細は次のとおり。
【０５５６】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０５５７】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルに基づいて形成される。
【０５５８】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル・トリプレットが形成され、候補動き情報リストに加えられる。詳細は、式(1)、(2)、および(3)に示される。
【０５５９】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル2-タプルが形成され、候補動き情報リストに加えられる。詳細は、式(1)および(2)に示される。
【０５６０】
式(1)、(2)、および(3)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０５６１】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)と、右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWである。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいて、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標と右下の制御点の位置座標は両方とも、メモリから読まれるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、デコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶されて、必要なときに使用のためにメモリから読み出されてもよい。
【０５６２】
この場合、式(1)および(2)において、(x7−x6)はcuWと等しく、(vx7,vy7)は、ピクチャー中の位置(x4＋cuW−1,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよく、(vx6,vy6)は、ピクチャー中の位置(x4,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよい。
【０５６３】
第1の近傍アフィン符号化ブロックが現在符号化ブロックの左のCTU内に位置する場合、第1の近傍アフィン符号化ブロックの最も右の2つの制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの右上の制御点の位置座標(x5,y5)および動きベクトル(vx5,vy5)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０５６４】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは4パラメータ・アフィン・モデル）は、第1の近傍アフィン符号化ブロックの2つの最も下の制御点の動きベクトルに基づいて形成される。
【０５６５】
任意的に、現在符号化ブロックの制御点の動きベクトルは第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル・トリプレットが形成され、候補動き情報リストに加えられる。詳細は式(18)、(19)、および(20)に示される。
【０５６６】
任意的に、現在符号化ブロックの制御点の動きベクトルは第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル2-タプルが形成され、候補動き情報リストに加えられる。詳細は式(18)および(19)に示される。
【０５６７】
式(18)、(19)、および(20)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０５６８】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTU内に位置しておらず、かつ現在符号化ブロックの左のCTU内に位置していない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書において限定されない。たとえば、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じ、または異なるものでありうる。別の例では、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの左のCTU内に位置する場合に使用される予測態様と同じ、または異なるものでありうる。
【０５６９】
任意的に、候補動き情報リストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られる。第2の近傍アフィン符号化ブロックの制御点の第2のグループ内の一つまたは複数の制御点の、第2の近傍アフィン符号化ブロックに対する位置は、第1の近傍アフィン符号化ブロックの制御点の第1のグループ内の一つまたは複数の制御点の、第1の近傍アフィン符号化ブロックに対する位置とは異なる（たとえば、第1の近傍アフィン符号化ブロックの制御点の第1のグループに含まれる制御点は、第1の近傍アフィン符号化ブロックの左下の制御点、右下の制御点、および左上の制御点であるが、第2の近傍アフィン符号化ブロックの制御点の第2のグループに含まれる制御点は、第2の近傍アフィン符号化ブロックの右上の制御点、右下の制御点、および左下の制御点である）。
【０５７０】
態様2：候補動き情報リストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０５７１】
具体的には、態様2の原理は、ステップS1221における態様2の原理と同じである。よって、詳細はここでは再度説明しない。
【０５７２】
ステップS1322：ビデオ・デコーダは、ビットストリームをパースして、インデックスを得る。
【０５７３】
詳細については、ステップS1222の説明を参照されたい。詳細は、ここでは再度説明しない。
【０５７４】
ステップS1223：ビデオ・デコーダは、候補動き情報リスト内のターゲット動きベクトル・グループをインデックスに基づいて決定する。
【０５７５】
詳細については、ステップS1223の説明を参照されたい。詳細は、ここでは再度説明しない。
【０５７６】
ステップS1324：ビデオ・デコーダは、パラメータに基づくアフィン変換モデルを用いて、現在符号化ブロックの制御点の決定された動きベクトルに基づいて、現在符号化ブロックの各サブブロックの動きベクトルを取得する。
【０５７７】
詳細については、ステップS1224の説明を参照されたい。詳細は、ここでは再度説明しない。
【０５７８】
ステップS1325：ビデオ・デコーダは、現在符号化ブロックの各サブブロックの動きベクトルに基づいて動き補償を実行し、各サブブロックの予測されるサンプル値を得る。
【０５７９】
詳細については、ステップS1225の説明を参照されたい。詳細は、ここでは再度説明しない。
【０５８０】
第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが、現在符号化ブロックの上に位置する場合、第1の近傍アフィン符号化ブロックの最も下の制御点に関する情報が、メモリから読み込まれていることが理解されうる。第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが、現在符号化ブロックの左に位置する場合は、第1の近傍アフィン符号化ブロックの最も右の制御点に関する情報が、メモリから読み込まれている。したがって、上述の解決策では、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、従来技術において第1の近傍符号化ブロックの左上の制御点、右上の制御点、および左下の制御点を制御点の第1のグループとして固定的に使用する代わりに（あるいは、第1の近傍符号化ブロックの左上の制御点および右上の制御点を制御点の第1のグループとして固定的に使用する代わりに）、現在符号化ブロックに対する符号化ツリー単位CTUの相対位置に基づいて決定される制御点である。ここで、第1の近傍アフィン符号化ブロックは該CTU内に位置する。よって、本願における制御点の第1のグループを決定する方法によれば、メモリから読み出されている情報が、制御点の第1のグループに関する情報（たとえば、位置座標および動きベクトル）として直接再利用でき、それにより、メモリからの読み出し回数を減らし、デコード性能を改善する。
【０５８１】
デコーダ側の別の任意的な実施形態では、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上の符号化ツリー単位（CTU）内に位置する場合、候補動きベクトル予測子のグループは、第1の近傍アフィン符号化ブロックの左下の制御点、右下の制御点、および右上の制御点に基づいて決定される。詳細は次のとおり。
【０５８２】
ステップS1400：ビデオ・デコーダは、現在符号化ブロックについてのインター予測モードを決定する。
【０５８３】
具体的には、インター予測モードは、先進動きベクトル予測（AMVP）モードであってもよく、またはマージ・モードであってもよい。
【０５８４】
現在符号化ブロックについての決定されたインター予測モードがAMVPモードである場合は、ステップS1411〜S1416が実行される。
【０５８５】
現在符号化ブロックについての決定されたインター予測モードがマージ・モードである場合は、ステップS1421〜S1425が実行される。
【０５８６】
AMVPモード：
【０５８７】
ステップS1411：ビデオ・デコーダが、候補動きベクトル予測子MVPリストを構築する。
【０５８８】
具体的には、ビデオ・デコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動きベクトル予測子MVPリスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動きベクトル予測子MVPリストは、トリプレット候補動きベクトル予測子MVPリストまたは2-タプル候補動きベクトル予測子MVPリストでありうる。2つの態様は具体的には次のとおり。
【０５８９】
態様1：候補動きベクトル予測子MVPリストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０５９０】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０５９１】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて現在符号化ブロックの制御点の動きベクトルを予測する態様は、現在符号化ブロックのパラメータ・モデルによって変わる。よって、下記は、異なる場合について記述を与える。
【０５９２】
A:  現在符号化ブロックのパラメータ・モデルは、4パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる（図9Cに示される）。
【０５９３】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にある符号化ツリー単位（CTU）内に位置する場合、第1の近傍アフィン符号化ブロックの左上の制御点および2つの最も下の制御点の動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)および動きベクトル(vx4,vy4)、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい（ステップS1401）。
【０５９４】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは6パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標および動きベクトル、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および動きベクトル、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標および動きベクトルに基づいて形成される（ステップS1402）。
【０５９５】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(21)および(22)に示される（ステップS1403）。
【数５０】
2021524708.tif 000126
【０５９６】
式(21)および(22)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルである。
【０５９７】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)と、右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいて、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標と右下の制御点の位置座標は両方とも、メモリから読まれるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、デコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶されて、必要なときに使用のためにメモリから読み出されてもよい。
【０５９８】
この場合、式(21)および(22)において、(x7−x6)はcuWと等しく、(vx7,vy7)は、ピクチャー中の位置(x4＋cuW−1,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよく、(vx6,vy6)は、ピクチャー中の位置(x4,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよい。
【０５９９】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTU内に位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書において限定されない。具体的には、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じ、または異なるものでありうる。
【０６００】
B:  現在符号化ブロックのパラメータ・モデルは、6パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０６０１】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの左上の制御点および2つの最も下の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)および動きベクトル(vx4,vy4)、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０６０２】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは6パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標および動きベクトル、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および動きベクトル、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標および動きベクトルに基づいて形成される。
【０６０３】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(21)、(22)、および(23)に示される。
【数５１】
2021524708.tif 000127
【０６０４】
式(21)、(22)、および(23)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０６０５】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTU内に位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書では限定されない。具体的には、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。
【０６０６】
態様2：候補動きベクトル予測子MVPリストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０６０７】
具体的には、態様2の原理は、ステップS1211における態様2の原理と同じである。よって、詳細はここでは再度説明しない。
【０６０８】
ステップS1412：ビデオ・デコーダは、ビットストリームをパースして、インデックスおよび動きベクトル差分MVDを得る。
【０６０９】
詳細については、ステップS1212の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６１０】
ステップS1413：ビデオ・デコーダは、候補動きベクトル予測子MVPリストにおけるターゲット動きベクトル・グループを、インデックスに基づいて決定する。
【０６１１】
詳細については、ステップS1213の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６１２】
ステップS1414：ビデオ・デコーダは、ターゲット候補動きベクトル・グループと、ビットストリームからパースを通じて得られた動きベクトル差分MVDとに基づいて、現在符号化ブロックの制御点の動きベクトルを決定する。
【０６１３】
詳細については、ステップS1214の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６１４】
ステップS1415：ビデオ・デコーダは、パラメータに基づくアフィン変換モデルを用いて、現在符号化ブロックの制御点の決定された動きベクトルに基づいて、現在符号化ブロックの各サブブロックの動きベクトルを取得する。
【０６１５】
詳細については、ステップS1215の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６１６】
ステップS1416：ビデオ・デコーダは、現在符号化ブロックの各サブブロックの動きベクトルに基づいて動き補償を実行して、各サブブロックの予測されるサンプル値を得る。
【０６１７】
詳細については、ステップS1216の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６１８】
マージ・モード：
【０６１９】
ステップS1421：ビデオ・デコーダは、候補動き情報リストを構築する。
【０６２０】
具体的には、ビデオ・デコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動き情報リスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動き情報リストは、トリプレット候補動き情報リストである。2つの態様は具体的には次のとおり。
【０６２１】
態様1：候補動き情報リストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０６２２】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０６２３】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。詳細は次のとおり。
【０６２４】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上にあるCTU内に位置する場合、第1の近傍アフィン符号化ブロックの左上の制御点および2つの最も下の制御点の位置座標および動きベクトルが得られる。たとえば、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)および動きベクトル(vx4,vy4)、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０６２５】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは6パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標および動きベクトル、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および動きベクトル、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標および動きベクトルに基づいて形成される。
【０６２６】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル・トリプレットが形成され、候補動き情報リストに加えられる。詳細は、式(21)、(22)、および(23)に示される。
【０６２７】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル2-タプルが形成され、候補動き情報リストに加えられる。詳細は、式(21)および(22)に示される。
【０６２８】
式(21)、(22)、および(23)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０６２９】
第1の近傍アフィン符号化ブロックが、現在符号化ブロックの上のCTU内に位置しない場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、本明細書では限定されない。具体的には、この場合、現在符号化ブロックの制御点の動きベクトルを予測する態様は、第1の近傍アフィン符号化ブロックが現在符号化ブロックの上のCTU内に位置する場合に使用される予測態様と同じか、または異なることがありうる。
【０６３０】
態様2：候補動き情報リストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０６３１】
具体的には、態様2の原理は、ステップS1221における態様2の原理と同じである。よって、詳細はここでは再度説明しない。
【０６３２】
ステップS1422：ビデオ・デコーダは、ビットストリームをパースして、インデックスを得る。
【０６３３】
詳細については、ステップS1222の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６３４】
ステップS1423：ビデオ・デコーダは、候補動き情報リスト内のターゲット動きベクトル・グループをインデックスに基づいて決定する。
【０６３５】
詳細については、ステップS1223の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６３６】
ステップS1424：ビデオ・デコーダは、6パラメータ・アフィン変換モデルを用いて、現在符号化ブロックの制御点の決定された動きベクトルに基づいて、現在符号化ブロックの各サブブロックの動きベクトルを取得する。
【０６３７】
詳細については、ステップS1224の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６３８】
ステップS1425：ビデオ・デコーダは、現在符号化ブロックの各サブブロックの動きベクトルに基づいて動き補償を実行し、各サブブロックの予測されるサンプル値を得る。
【０６３９】
詳細については、ステップS1225の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６４０】
第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが、現在符号化ブロックの上に位置する場合、第1の近傍アフィン符号化ブロックの最も下の制御点に関する情報が、メモリから読み込まれていることが理解されうる。したがって、上述の解決策では、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、従来技術において第1の近傍符号化ブロックの左上の制御点、右上の制御点、および左下の制御点を制御点の第1のグループとして固定的に使用する（あるいは第1の近傍符号化ブロックの左上の制御点および右上の制御点を第1のグループの制御点として固定的に使用する）代わりに、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。よって、本願における制御点の第1のグループを決定する方法によれば、メモリから読み出された情報が、制御点の第1のグループに関する情報（たとえば、位置座標および動きベクトル）として直接再利用でき、それにより、メモリからの読み出し回数を減らし、デコード性能を改善する。
【０６４１】
デコーダ側の別の任意的な実施形態では、第1の近傍アフィン符号化ブロックの、現在符号化ブロックに対する位置にかかわりなく、候補動きベクトル予測子のグループは、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点に基づいて直接、決定される。詳細は次のとおり。
【０６４２】
ステップS1500：ビデオ・デコーダは、現在符号化ブロックについてのインター予測モードを決定する。
【０６４３】
具体的には、インター予測モードは、先進動きベクトル予測（AMVP）モードであってもよく、またはマージ・モードであってもよい。
【０６４４】
現在符号化ブロックについての決定されたインター予測モードがAMVPモードである場合は、ステップS1511〜S1516が実行される。
【０６４５】
現在符号化ブロックについての決定されたインター予測モードがマージ・モードである場合は、ステップS1521〜S1525が実行される。
【０６４６】
AMVPモード：
【０６４７】
ステップS1511：ビデオ・デコーダが、候補動きベクトル予測子MVPリストを構築する。
【０６４８】
具体的には、ビデオ・デコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動きベクトル予測子MVPリスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動きベクトル予測子MVPリストは、トリプレット候補動きベクトル予測子MVPリストまたは2-タプル候補動きベクトル予測子MVPリストでありうる。2つ態様は具体的には次のとおり。
【０６４９】
態様1：候補動きベクトル予測子MVPリストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０６５０】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０６５１】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて現在符号化ブロックの制御点の動きベクトルを予測する態様は、現在符号化ブロックのパラメータ・モデルによって変わる。よって、下記は、異なる場合について記述を与える。
【０６５２】
A:  現在符号化ブロックのパラメータ・モデルは、4パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる（図9Dに示される）。
【０６５３】
第1の近傍アフィン符号化ブロックの、現在符号化ブロックに対する位置にかかわりなく、第1の近傍アフィン符号化ブロックの左上の制御点および2つの最も下の制御点の動きベクトルが直接、得られる。たとえば、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)および動きベクトル(vx4,vy4)、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい（ステップS1501）。
【０６５４】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは6パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標および動きベクトル、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および動きベクトル、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標および動きベクトルに基づいて形成される（ステップS1502）。
【０６５５】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(21)および(22)に示される（ステップ1503）。
【数５２】
2021524708.tif 000128
【０６５６】
式(21)および(22)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルである。
【０６５７】
任意的に、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)と、右下の制御点の位置座標(x7,y7)の両方が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)に基づいて計算される。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)は(x4,y4＋cuH)であり、第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)は(x4＋cuW,y4＋cuH)である。ここで、cuWは第1の近傍アフィン符号化ブロックの幅であり、cuHは第1の近傍アフィン符号化ブロックの高さである。さらに、第1の近傍アフィン符号化ブロックの左下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの左下のサブブロックの動きベクトルであり、第1の近傍アフィン符号化ブロックの右下の制御点の動きベクトルは、第1の近傍アフィン符号化ブロックの右下のサブブロックの動きベクトルである。この場合、第1の近傍アフィン符号化ブロックの左下の制御点と右下の制御点との間の水平距離はcuWであり、第1の近傍アフィン符号化ブロックの左上の制御点と右上の制御点との間の水平距離はcuWであることがわかる。cuWは通例2の冪乗であるので、現在符号化ブロックの制御点の動きベクトルを導出するプロセスにおいて、実装の複雑さを低減するために、除算演算の代わりに右シフト方式が使用されてもよい。第1の近傍アフィン符号化ブロックの左下の制御点の位置座標と右下の制御点の位置座標は両方とも、メモリから読まれるのではなく、導出を通じて得られることがわかる。よって、この方法によれば、メモリからの読み出し回数をさらに減らすことができ、デコード性能が改善できる。別の任意的な解決策では、左下の制御点の位置座標および右下の制御点の位置座標は、代替的に、メモリにあらかじめ記憶されて、必要なときに使用のためにメモリから読み出されてもよい。
【０６５８】
この場合、式(21)および(22)において、(x7−x6)はcuWと等しく、(vx7,vy7)は、ピクチャー中の位置(x4＋cuW−1,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよく、(vx6,vy6)は、ピクチャー中の位置(x4,y4＋cuH−1)の動きベクトルを読み取ることによって得られてもよい。
【０６５９】
任意的に、候補動きベクトル予測子MVPリストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られ、第2の近傍アフィン符号化ブロックの制御点の第2のグループは、第2の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。
【０６６０】
B:  現在符号化ブロックのパラメータ・モデルは、6パラメータ・アフィン変換モデルである。導出態様は以下のとおりでありうる。
【０６６１】
第1の近傍アフィン符号化ブロックの、現在符号化ブロックに対する位置にかかわりなく、第1の近傍アフィン符号化ブロックの左上の制御点および2つの最も下の制御点の位置座標および動きベクトルが直接、得られる。たとえば、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)および動きベクトル(vx4,vy4)、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０６６２】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは6パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標および動きベクトル、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および動きベクトル、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標および動きベクトルに基づいて形成される。
【０６６３】
現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。詳細は、式(21)、(22)、および(23)に示される。
【０６６４】
式(21)、(22)、および(23)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０６６５】
任意的に、候補動きベクトル予測子MVPリストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られ、第2の近傍アフィン符号化ブロックの制御点の第2のグループは、第2の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。
【０６６６】
態様2：候補動きベクトル予測子MVPリストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０６６７】
具体的には、態様2の原理は、ステップS1211における態様2の原理と同じである。よって、詳細はここでは再度説明しない。
【０６６８】
ステップS1512：ビデオ・デコーダは、ビットストリームをパースして、インデックスおよび動きベクトル差分MVDを得る。
【０６６９】
詳細については、ステップS1212の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６７０】
ステップS1513：ビデオ・デコーダは、候補動きベクトル予測子MVPリストにおけるターゲット動きベクトル・グループを、インデックスに基づいて決定する。
【０６７１】
詳細については、ステップS1213の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６７２】
ステップS1514：ビデオ・デコーダは、ターゲット候補動きベクトル・グループと、ビットストリームからパースを通じて得られた動きベクトル差分MVDとに基づいて、現在符号化ブロックの制御点の動きベクトルを決定する。
【０６７３】
詳細については、ステップS1214の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６７４】
ステップS1515：ビデオ・デコーダは、パラメータに基づくアフィン変換モデルを用いて、現在符号化ブロックの制御点の決定された動きベクトルに基づいて、現在符号化ブロックの各サブブロックの動きベクトルを取得する。
【０６７５】
詳細については、ステップS1215の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６７６】
ステップS1516：ビデオ・デコーダは、現在符号化ブロックの各サブブロックの動きベクトルに基づいて動き補償を実行して、各サブブロックの予測されるサンプル値を得る。
【０６７７】
詳細については、ステップS1216の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６７８】
マージ・モード：
【０６７９】
ステップS1521：ビデオ・デコーダは、候補動き情報リストを構築する。
【０６８０】
具体的には、ビデオ・デコーダは、インター予測ユニット（インター予測モジュールとも呼ばれる）を使用して、候補動き情報リスト（アフィン候補動きベクトル・リストとも呼ばれる）を構築する。この構築は、次の2つの態様のいずれかまたはそれら2つの態様の組み合わせにおいて実行されうる。構築された候補動き情報リストは、トリプレット候補動き情報リストである。2つの態様は具体的には次のとおり。
【０６８１】
態様1：候補動き情報リストは、動きモデルに基づく動きベクトル予測方法を用いて構築される。
【０６８２】
まず、現在符号化ブロックの全部またはいくつかの近傍ブロックがあらかじめ指定された順序でたどられて、それらの近傍ブロックのうちの近傍アフィン符号化ブロックを決定する。一つまたは複数の決定された近傍アフィン符号化ブロックが存在することがありうる。たとえば、図7Aに示される近傍ブロックA、B、C、D、Eが、近傍ブロックA、B、C、D、Eのうちで近傍アフィン符号化ブロックを決定するために逐次的にたどられてもよい。インター予測ユニットは、少なくとも1つの近傍アフィン符号化ブロックに基づいて、候補動きベクトル予測子のグループを決定する（候補動きベクトル予測子の各グループは2-タプルまたはトリプレットである）。下記は、記述のための例として1つの近傍アフィン符号化ブロックを使用する。説明の簡単のために、この近傍アフィン符号化ブロックは、第1の近傍アフィン符号化ブロックと呼ばれる。詳細は、次のとおり。
【０６８３】
第1のアフィン・モデルが、第1の近傍アフィン符号化ブロックの制御点の動きベクトルに基づいて決定される。さらに、現在符号化ブロックの制御点の動きベクトルが、第1のアフィン・モデルに基づいて予測される。詳細は次のとおり。
【０６８４】
第1の近傍アフィン符号化ブロックの、現在符号化ブロックに対する位置にかかわりなく、第1の近傍アフィン符号化ブロックの左上の制御点および2つの最も下の制御点の位置座標および動きベクトルが直接、得られる。たとえば、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標(x4,y4)および動きベクトル(vx4,vy4)、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標(x6,y6)および動きベクトル(vx6,vy6)、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標(x7,y7)および動きベクトル(vx7,vy7)が得られてもよい。
【０６８５】
第1のアフィン・モデル（この場合に得られる第1のアフィン・モデルは6パラメータ・アフィン・モデル）が、第1の近傍アフィン符号化ブロックの左上の制御点の位置座標および動きベクトル、第1の近傍アフィン符号化ブロックの左下の制御点の位置座標および動きベクトル、ならびに第1の近傍アフィン符号化ブロックの右下の制御点の位置座標および動きベクトルに基づいて形成される。
【０６８６】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標と、現在符号化ブロックの左下の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルと、現在符号化ブロックの左下の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル・トリプレットが形成され、候補動き情報リストに加えられる。詳細は、式(21)、(22)、および(23)に示される。
【０６８７】
任意的に、現在符号化ブロックの制御点の動きベクトルは、第1のアフィン・モデルに基づいて予測される。たとえば、現在符号化ブロックの左上の制御点の位置座標と、現在符号化ブロックの右上の制御点の位置座標とが、現在符号化ブロックの左上の制御点の動きベクトルと、現在符号化ブロックの右上の制御点の動きベクトルとを予測するために、第1のアフィン・モデルに代入されてもよい。候補動きベクトル2-タプルが形成され、候補動き情報リストに加えられる。詳細は、式(21)および(22)に示される。
【０６８８】
式(21)、(22)、および(23)において、(x0,y0)は現在符号化ブロックの左上の制御点の座標であり、(x1,y1)は現在符号化ブロックの右上の制御点の座標であり、(x2,y2)は現在符号化ブロックの左下の制御点の座標である。また、(vx0,vy0)は現在符号化ブロックの左上の制御点の予測される動きベクトルであり、(vx1,vy1)は現在符号化ブロックの右上の制御点の予測される動きベクトルであり、(vx2,vy2)は現在符号化ブロックの左下の制御点の予測される動きベクトルである。
【０６８９】
任意的に、候補動き情報リストは、第2の候補動きベクトル・グループをさらに含み、第2の候補動きベクトル・グループは、第2の近傍アフィン符号化ブロックの制御点の第2のグループに基づいて得られ、第2の近傍アフィン符号化ブロックの制御点の第2のグループは、第2の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。
【０６９０】
態様2：候補動き情報リストは、制御点の組み合わせに基づく動きベクトル予測方法を用いて構築される。
【０６９１】
具体的には、態様2の原理は、ステップS1221における態様2の原理と同じである。よって、詳細はここでは再度説明しない。
【０６９２】
ステップS1522：ビデオ・デコーダは、ビットストリームをパースして、インデックスを得る。
【０６９３】
詳細については、ステップS1222の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６９４】
ステップS1523：ビデオ・デコーダは、候補動き情報リスト内のターゲット動きベクトル・グループをインデックスに基づいて決定する。
【０６９５】
詳細については、ステップS1223の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６９６】
ステップS1524：ビデオ・デコーダは、パラメータに基づくアフィン変換モデルを用いて、現在符号化ブロックの制御点の決定された動きベクトルに基づいて、現在符号化ブロックの各サブブロックの動きベクトルを取得する。
【０６９７】
詳細については、ステップS1224の説明を参照されたい。詳細は、ここでは再度説明しない。
【０６９８】
ステップS1525：ビデオ・デコーダは、現在符号化ブロックの各サブブロックの動きベクトルに基づいて動き補償を実行し、各サブブロックの予測されるサンプル値を得る。
【０６９９】
詳細については、ステップS1225の説明を参照されたい。詳細は、ここでは再度説明しない。
【０７００】
第1の近傍アフィン符号化ブロックが位置する符号化ツリー単位CTUが、現在符号化ブロックの上に位置する場合、第1の近傍アフィン符号化ブロックの最も下の制御点に関する情報が、メモリから読み込まれていることが理解されうる。したがって、上述の解決策では、第1の近傍アフィン符号化ブロックの制御点の第1のグループに基づいて候補動きベクトルを構築するプロセスにおいて、制御点の第1のグループは、従来技術において第1の近傍符号化ブロックの左上の制御点、右上の制御点、および左下の制御点を制御点の第1のグループとして固定的に使用する（あるいは第1の近傍符号化ブロックの左上の制御点および右上の制御点を第1のグループの制御点として固定的に使用する）代わりに、第1の近傍アフィン符号化ブロックの左下の制御点および右下の制御点を含む。よって、本願における制御点の第1のグループを決定する方法によれば、メモリから読み出された情報が、制御点の第1のグループに関する情報（たとえば、位置座標および動きベクトル）として直接再利用でき、それにより、メモリからの読み出し回数を減らし、デコード性能を改善する。
【０７０１】
図10は、本願のある実施形態による、エンコード装置またはデコード装置（符号化装置1000と略称される）の実装の概略ブロック図である。符号化装置1000は、プロセッサ1010、メモリ1030、およびバス・システム1050を含んでいてもよい。プロセッサとメモリは、バス・システムを通じて接続される。メモリは命令を記憶するように構成される。プロセッサは、メモリに記憶された命令を実行するように構成される。エンコード装置のメモリは、プログラム・コードを記憶する。プロセッサは、メモリに記憶されたプログラム・コードを呼び出して、本願に記載されたビデオ符号化またはデコード方法、特に、さまざまな新しいインター予測モードでのビデオ符号化またはデコード方法、およびさまざまな新しいインター予測モードでの動き情報予測方法を実行することができる。反復を回避するために、詳細は、ここでは再度説明されない。
【０７０２】
本願のこの実施形態では、プロセッサ1010は、中央処理装置（略「CPU」）であってもよく、またはプロセッサ1010は、別の汎用プロセッサ、デジタル信号プロセッサ（DSP）、特定用途向け集積回路（ASIC）、フィールド・プログラマブル・ゲート・アレイ（FPGA）、または別のプログラマブル・ロジック・デバイス、離散的なゲートまたはトランジスタ・ロジック・デバイス、離散的なハードウェア・コンポーネントなどであってもよい。汎用プロセッサは、マイクロプロセッサであってもよく、またはプロセッサは、任意の従来のプロセッサ等であってもよい。
【０７０３】
メモリ1030は、読み出し専用メモリ（ROM）デバイスまたはランダムアクセスメモリ（RAM）デバイスを含んでいてもよい。メモリ1030としては、適切なタイプの任意の他の記憶装置が使用されてもよい。メモリ1030は、バス1050を通じてプロセッサ1010によってアクセスされるコードおよびデータ1031を含んでいてもよい。メモリ1030は、オペレーティング・システム1033およびアプリケーションプログラム1035をさらに含んでいてもよい。アプリケーションプログラム1035は、プロセッサ1010が、本願に記載されるビデオ符号化またはデコード方法（特に、本願に記載されたインター予測方法または動き情報予測方法）を実行することを許容する少なくとも1つのプログラムを含む。たとえば、アプリケーションプログラム1035は、アプリケーション1〜Nを含んでいてもよく、さらに、本願に記載されるビデオ符号化またはデコード方法を実行するためのビデオ符号化またはデコードアプリケーション（ビデオ符号化アプリケーションと略称される）を含んでいてもよい。
【０７０４】
バス・システム1050は、データ・バスに加えて、電力バス、制御バス、ステータス信号バスなどをさらに含んでいてもよい。しかしながら、明確な記述のために、図中のさまざまなタイプのバスはすべてバス・システム1050としてマークされている。
【０７０５】
任意的に、符号化装置1000は、一つまたは複数の出力装置、たとえば、ディスプレイ1070をさらに含んでいてもよい。一例では、ディスプレイ1070は、動作上、タッチ入力を感知することができるタッチユニットとディスプレイを統合するタッチディスプレイであってもよい。ディスプレイ1070は、バス1050を通じてプロセッサ1010に接続されてもよい。
【０７０６】
図11は、ある例示的実施形態による、図2Aのエンコーダ100および／または図2Bのデコーダ200を含むビデオ符号化システム1100の一例の例解図である。システム1100は、本願のさまざまな技術の組み合わせを実装してもよい。記載された実装において、ビデオ符号化システム1100は、撮像装置1101、ビデオ・エンコーダ100、ビデオ・デコーダ200（および／または処理ユニット1106の論理回路1107を使用して実装されるビデオ・エンコーダ）、アンテナ1102、一つまたは複数のプロセッサ1103、一つまたは複数のメモリ1104、および／または、表示装置1105を含んでいてもよい。
【０７０７】
図に示されるように、撮像装置1101、アンテナ1102、処理ユニット1106、論理回路1107、ビデオ・エンコーダ100、ビデオ・デコーダ200、プロセッサ1103、メモリ1104、および／または表示装置1105は、互いに通信することができる。記載されるように、ビデオ符号化システム1100は、ビデオ・エンコーダ100およびビデオ・デコーダ200を使用して示されるが、異なる例では、ビデオ符号化システム1100は、ビデオ・エンコーダ100のみ、またはビデオ・デコーダ200のみを含んでいてもよい。
【０７０８】
いくつかの例では、図に示されるように、ビデオ符号化システム1100は、アンテナ1102を含んでいてもよい。たとえば、アンテナ1102は、ビデオ・データのエンコードされたビットストリームを送信または受信するように構成されてもよい。さらに、いくつかの例では、ビデオ符号化システム1100は、表示装置1105を含んでいてもよい。表示装置1105は、ビデオ・データを提示するように構成されてもよい。いくつかの例では、図に示されるように、論理回路1107は、処理ユニット1106によって実装されてもよい。処理ユニット1106は、特定用途向け集積回路（ASIC）ロジック、グラフィックス・プロセッサ、汎用プロセッサなどを含んでいてもよい。ビデオ符号化システム1100は、任意的なプロセッサ1103をさらに含んでいてもよい。任意的なプロセッサ1103は、同様に、特定用途向け集積回路（ASIC）ロジック、グラフィックス・プロセッサ、汎用プロセッサなどを含んでいてもよい。いくつかの例では、論理回路1107は、ハードウェア、たとえば、ビデオ符号化のための専用ハードウェアを使用することによって実装されてもよい。プロセッサ1103は、汎用ソフトウェア、オペレーティング・システムなどを使用して実装されてもよい。さらに、メモリ1104は、任意のタイプのメモリ、たとえば、揮発性メモリ（たとえば、スタティックランダムアクセスメモリ（SRAM）、またはダイナミックランダムアクセスメモリ（DRAM））または不揮発性メモリ（たとえば、フラッシュメモリ）であってもよい。制約しない一例では、メモリ1104は、キャッシュメモリによって実装されてもよい。いくつかの例では、論理回路1107は、（たとえば、ピクチャー・バッファを実装するために）メモリ1104にアクセスしてもよい。他の例では、論理回路1107および／または処理ユニット1106は、ピクチャー・バッファを実装するためのメモリ（たとえば、キャッシュ）を含んでいてもよい。
【０７０９】
いくつかの例では、論理回路を使用して実装されるビデオ・エンコーダ100は、ピクチャー・バッファ（たとえば、処理ユニット1106またはメモリ1104によって実装される）およびグラフィックス処理ユニット（たとえば、処理ユニット1106によって実装される）を含んでいてもよい。グラフィックス処理ユニットは、ピクチャー・バッファに通信上結合されてもよい。グラフィックス処理ユニットは、図1Aを参照して説明したさまざまなモジュールおよび／または本明細書で説明した任意の他のエンコーダ・システムもしくはサブシステムを実装するために、論理回路1107を使用して実装されたビデオ・エンコーダ100を含んでいてもよい。論理回路は、本明細書に記載されるさまざまな動作を実行するように構成されてもよい。
【０７１０】
ビデオ・デコーダ200は、図1Bのデコーダ200を参照して説明したさまざまなモジュール、および／または本明細書に説明した任意の他のデコーダ・システムもしくはサブシステムを実装するために、論理回路1107によって同様の仕方で実装されてもよい。いくつかの例では、論理回路を使用して実装されるビデオ・デコーダ200は、ピクチャー・バッファ（処理ユニット1106またはメモリ1104によって実装される）およびグラフィックス処理ユニット（たとえば、処理ユニット1106によって実装される）を含んでいてもよい。グラフィックス処理ユニットは、ピクチャー・バッファに通信上結合されてもよい。グラフィックス処理ユニットは、図1Bを参照して説明したさまざまなモジュールおよび／または本明細書で説明した任意の他のデコーダ・システムもしくはサブシステムを実装するために、論理回路1107を使用して実装されたビデオ・デコーダ200を含んでいてもよい。
【０７１１】
いくつかの例では、ビデオ符号化システム1100のアンテナ1102は、ビデオ・データのエンコードされたビットストリームを受信するように構成されてもよい。記載されるように、エンコードされたビットストリームは、ビデオ・フレーム・エンコードに関連し、本明細書に記載されるデータ、インジケータ、インデックス値、モード選択データなど、たとえば符号化のための分割に関連するデータ（たとえば、変換係数または量子化された変換係数、任意的なインジケータ（記載されるようなもの）、および／または符号化のための分割を定義するデータ）を含んでいてもよい。ビデオ符号化システム1100は、アンテナ1102に結合され、エンコードされたビットストリームをデコードするように構成されたビデオ・デコーダ200をさらに含んでいてもよい。表示装置1105は、ビデオ・フレームを提示するように構成される。
【０７１２】
上記の方法手順のステップにおいて、ステップの記述順序は、ステップの実行順序を表わさない。ステップは、上記の記載順序に従って実行されても、されなくてもよい。たとえば、ステップS1211は、ステップS1212の後に実行されてもよく、またはステップS1212の前に実行されてもよく、ステップS1221は、ステップS1222の後に実行されてもよく、またはステップS1222の前に実行されてもよい。他のステップは、ここで1つずつ列挙されない。
【０７１３】
当業者は、本明細書に開示および記載されたさまざまな例示的な論理ブロック、モジュール、およびアルゴリズム・ステップを参照して記載された機能が、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせによって実装できることを理解することができる。ソフトウェアによって実装される場合、例示的な論理ブロック、モジュール、およびステップを参照して記載された機能は、一つまたは複数の命令またはコードとしてコンピュータ読み取り可能媒体に記憶されるか、またはコンピュータ読み取り可能媒体を通じて伝送され、ハードウェアベースの処理ユニットによって実行されることができる。コンピュータ読み取り可能媒体は、データ記憶媒体のような有形媒体に対応するコンピュータ可読記憶媒体を含んでいてもよく、あるいは、ある場所から他の場所への（たとえば、通信プロトコルに従った）コンピュータ・プログラムの伝送を容易にする任意の通信媒体を含んでいてもよい。このようにして、コンピュータ読み取り可能媒体は、一般に、（1）非一時的な有形コンピュータ読み取り可能記憶媒体、または（2）信号または搬送波のような通信媒体に対応しうる。データ記憶媒体は、本願に記載される技術を実装するための命令、コード、および／またはデータ構造を取り出すために、一つまたは複数のコンピュータまたは一つまたは複数のプロセッサによってアクセスされることができる任意の使用可能な媒体でありうる。コンピュータ・プログラム製品は、コンピュータ読み取り可能媒体を含むことができる。
【０７１４】
限定ではないが、例として、そのようなコンピュータ読み取り可能記憶媒体は、RAM、ROM、EEPROM、CD-ROMまたは他のコンパクトディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶装置、フラッシュメモリ、または命令またはデータ構造の形で所望のプログラム・コードを記憶するために使用されることができ、コンピュータによってアクセスされることができる任意の他の媒体を含むことができる。さらに、どのような接続も、適正にコンピュータ読み取り可能媒体と呼ばれる。たとえば、同軸ケーブル、光ファイバー、ツイストペア、デジタル加入者線（DSL）、または赤外線、電波、もしくはマイクロ波のような無線技術を通じて、ウェブサイト、サーバー、または他のリモート源から命令が送信される場合、その同軸ケーブル、光ファイバー、ツイストペア、DSL、または赤外線、電波、もしくはマイクロ波のような無線技術は、媒体の定義に含まれる。しかしながら、コンピュータ読み取り可能な記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的な媒体を含まず、実際には非一時的な有形記憶媒体を意味することが理解されるべきである。本明細書において使用されるディスク（disk）およびディスク（disc）は、コンパクトディスク（CD）、レーザディスク、光ディスク、デジタル多用途ディスク（DVD）、およびブルーレイディスクを含む。ディスク（disk）は通例、磁気的にデータを再生するが、ディスク（disc）は光学的にレーザーでデータを再生する。上記の項目の組み合わせもまた、コンピュータ読み取り可能媒体の範囲に含まれるべきである。
【０７１５】
命令は、一つまたは複数のデジタル信号プロセッサ（DSP）、汎用マイクロプロセッサ、特定用途向け集積回路（ASIC）、フィールドプログラマブルゲートアレイ（FPGA）、または他の等価な集積または離散的論理回路といった一つまたは複数のプロセッサによって実行されうる。したがって、本明細書で使用される用語「プロセッサ」は、上記の構造のいずれか、または本明細書に記載される技術を実装するのに好適な任意の他の構造でありうる。さらに、いくつかの側面において、本明細書に記載される例示的な論理ブロック、モジュール、およびステップを参照して記載される機能は、エンコードおよびデコードのために構成される専用のハードウェアおよび／またはソフトウェアモジュール内に提供されてもよく、または組み合わされたコーデックに組み込まれてもよい。さらに、これらの技術は、完全に一つまたは複数の回路または論理素子において実装されてもよい。
【０７１６】
本願における技術は、無線ハンドセット、集積回路（IC）、または一組のIC（たとえば、チップセット）を含むさまざまな装置またはデバイスにおいて実装されうる。開示された技術を実行するように構成された装置の機能的側面を強調するために、さまざまなコンポーネント、モジュール、またはユニットが本願に記載されているが、必ずしも異なるハードウェアユニットによって実装されるわけではない。実際には、上述のように、さまざまなユニットが、適切なソフトウェアおよび／またはファームウェアと組み合わせてコーデック・ハードウェアユニットに組み合わされてもよく、または、相互運用可能なハードウェアユニット（上述の一つまたは複数のプロセッサを含む）によって提供されてもよい。
【０７１７】
上記の説明は、単に本願の個別的な実装の例であり、本願の保護範囲を制限するために意図されたものではない。本願に開示された技術的範囲内で、当業者によって容易に割り出される任意の変形または代替は、本願の保護範囲内にはいる。したがって、本願の保護範囲は、特許請求の範囲の保護範囲に従うものとする。

【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図２Ａ
【補正方法】変更
【補正の内容】
【図２Ａ】
2021524708.tif 000129
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図６
【補正方法】変更
【補正の内容】
【図６】
2021524708.tif 000130
【国際調査報告】
2021524708.tif 000131
2021524708.tif 000132
2021524708.tif 000133
2021524708.tif 000134
2021524708.tif 000135