第1の態様は、1つ以上の候補予測モードを決定する方法に関係し、この方法はプロセッサによって、ビットストリームを解析することで第1の指標を導出することであって、第1の指標は、任意のアフィンモデルが予め設定された領域内の画像ブロックに対する候補動きモデルであるかどうかを指定する、第1の指標を導出することと、プロセッサによって、第1の指標が1に設定されると決定することと、プロセッサによって、また第1の指標が1に設定されるという決定に基づき、ビットストリームを解析することで第2の指標を導出することであって、第2の指標は、6パラメータアフィンモデルが画像ブロックに対する候補動きモデルであるかどうかを指定する、第2の指標を導出することと、プロセッサによって、第1の指標および第2の指標に基づき画像ブロックに対する1つ以上の候補予測モードを決定することとを含む。この方法は、アフィンモデルのより効率的なコーディングと、並進運動モデルのコーディングとを提供する。
そのようなものとして第1の態様に係る方法の第1の実装形態において、第2の指標を導出する前に、この方法は、アフィンモデルが候補動きモデルであると決定することをさらに含み、この方法は、アフィンモデルが候補動きモデルであると決定したことに応答して第2の指標を導出することをさらに含む。
そのようなものとしての第1の態様に係る方法の第2の実装形態または第1の態様の先行する任意の実装形態において、第1の指標を導出することはビットストリームのシーケンスのSPSを解析することを含み、予め設定された領域は、シーケンス、シーケンス中の任意のスライス、またはシーケンス中の任意のCUを含み、第2の指標を導出することは、SPSを解析することを含む。
そのようなものとしての第1の態様に係る方法の第3の実装形態または第1の態様の先行する任意の実装形態において、この方法は、アフィンモデルが候補動きモデルであることに応答して、シーケンス内のスライスのスライスヘッダを解析することによって第6の指標を導出することをさらに含み、第6の指標は、任意のアフィンモデルがスライス内の画像ブロックに対する候補動きモデルであるかどうかを指定する。
そのようなものとしての第1の態様に係る方法の第4の実装形態または第1の態様の先行する任意の実装形態において、この方法は、6パラメータアフィンモデルが候補動きモデルであることに応答して、シーケンス内のスライスのスライスヘッダを解析することによって第7の指標を導出することをさらに含み、第7の指標は、6パラメータアフィンモデルがスライス内の画像ブロックに対する候補予測モデルであるかどうかを指定する。
そのようなものとしての第1の態様に係る方法の第5の実装形態または第1の態様の先行する任意の実装形態において、この方法は、ビットストリームのスライスのスライスヘッダを解析することによって第1の指標を導出することであって、予め設定された領域は、スライスまたはスライス内の任意のコーディングユニットを含む、第1の指標を、さらに導出することと、スライスヘッダを解析することによって第2の指標を、さらに導出することとをさらに含む。
そのようなものとしての第1の態様に係る方法の第6の実装形態または第1の態様の先行する任意の実装形態において、この方法は、アフィンモデルが候補動きモデルであることに応答して、ビットストリームを解析することによって第3の指標を導出することをさらに含み、第3の指標は、画像ブロックの予測モードがアフィンマージモードであるかどうかを指定する。
そのようなものとしての第1の態様に係る方法の第7の実装形態または第1の態様の先行する任意の実装形態において、アフィンモデルが候補動きモデルであることに応答して、この方法は、ビットストリームを解析することによって第4の指標を導出することと、第4の指標が第1の値であることに応答して、画像ブロックの予測モードがアフィンインターモードでないと決定することと、第4の指標が第2の値であることに応答して、予測モードがアフィンインターモードであると決定することであって、アフィンインターモードは6パラメータアフィンモデルモードまたは4パラメータアフィンモデルモードであることを指定する、決定することとをさらに含む。
そのようなものとしての第1の態様に係る方法の第8の実装形態または第1の態様の先行する任意の実装形態において、予測モードがアフィンインターモードであることに応答して、この方法は、ビットストリームを解析することによって第5の指標を導出することと、第5の指標が第3の値であることに応答して、予測モードが6パラメータアフィンモデルモードであると決定することと、第5の指標が第4の値であることに応答して、予測モードが4パラメータアフィンモデルモードであると決定することとをさらに含む。
そのようなものとしての第1の態様に係る方法の第9の実装形態または第1の態様の先行する任意の実装形態において、第1の値が1であり、第2の値が0であり、第3の値が0であり、第4の値が1であることに応答して、この方法は、第4の指標の値と第5の指標の値とを加算することによって合計値を導出することと、合計値が0より大きいことに応答して、ビットストリームを解析することによってMVD情報の第1のセットを導出することと、合計値が1より大きいことに応答して、ビットストリームを解析することによってMVD情報の第2のセットを導出することとをさらに含む。
第2の態様は、1つ以上の候補予測モードを決定するための装置に関係し、装置はメモリと、メモリに結合され、そのようなものとしての第1の態様または第1の態様の先行する任意の実装形態のうちのいずれかを実行するように構成されているプロセッサとを備える。
第3の態様は、プロセッサによって実行されたときに装置にそのようなものとしての第1の態様または第1の態様の先行する任意の実装形態のうちのいずれかを実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を含むコンピュータプログラム製品に関係する。
第4の態様は、アフィンインターフラグがコーディングユニットレベルシンタックスで提示されるかどうかを指定するSPSアフィンインターフラグに対する第1の値を決定することと、SPSアフィンインターフラグに対する第1の値をビットストリームにエンコードすることと、アフィンタイプフラグがコーディングユニットレベルシンタックスで提示されるかどうかを指定するSPSアフィンタイプフラグに対する第2の値を決定することと、SPSアフィンタイプフラグに対する第2の値をビットストリームにエンコードすることとを含む方法に関係する。この方法は、アフィンモデルのより効率的なコーディングと、並進運動モデルのコーディングとを提供する。
そのようなものとしての第4の態様に係る方法の第1の実装形態において、SPSアフィンタイプフラグは、第1の値に基づき条件付きでシグナリングされる。
そのようなものとしての第4の態様に係る方法の第2の実装形態または第4の態様の先行する任意の実装形態において、この方法は、アフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを指定するアフィンインターフラグに対する第3の値を決定することと、アフィンインターフラグに対する第3の値をビットストリームにエンコードすることと、6パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを指定するアフィンタイプフラグに対する第4の値を決定することと、アフィンタイプフラグに対する第4の値をビットストリームにエンコードすることとをさらに含む。
そのようなものとしての第4の態様に係る方法の第3の実装形態または第4の態様の先行する任意の実装形態において、アフィンインターフラグは、第1の値に基づき条件付きでシグナリングされ、アフィンタイプフラグは、第2の値に基づき条件付きでシグナリングされる。
第5の態様は、メモリと、メモリに結合され、そのようなものとしての第4の態様または第4の態様の先行する任意の実装形態を実行するように構成されているプロセッサとを備える装置に関係する。
第6の態様は、プロセッサによって実行されたときに装置にそのようなものとしての第4の態様または第4の態様の先行する任意の実装形態のうちのいずれかを実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を含むコンピュータプログラム製品に関係する。
第7の態様は、SPSアフィンインターフラグおよびSPSアフィンタイプフラグを含むビットストリームを受信することと、SPSアフィンインターフラグの第1の値に基づき、アフィンインターフラグがコーディングユニットレベルシンタックスで提示されるかどうかを決定することと、SPSアフィンタイプフラグの第2の値に基づき、アフィンタイプフラグがコーディングユニットレベルシンタックスで提示されるかどうかを決定することとを含む方法に関係する。この方法は、アフィンモデルのより効率的なコーディングと、並進運動モデルのコーディングとを提供する。
そのようなものとしての第7の態様に係る方法の第1の実装形態において、SPSアフィンタイプフラグは、第1の値に基づき条件付きでシグナリングされる。
そのようなものとしての第7の態様に係る方法の第2の実装形態または第1の態様の先行する任意の実装形態において、ビットストリームは、アフィンインターフラグとアフィンタイプフラグとをさらに含み、この方法は、アフィンインターフラグの第3の値に基づき、アフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを決定することと、アフィンタイプフラグの第4の値に基づき、6パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを決定することとをさらに含む。
そのようなものとしての第7の態様に係る方法の第3の実装形態または第1の態様の先行する任意の実装形態において、アフィンインターフラグは、第1の値に基づき条件付きでシグナリングされ、アフィンタイプフラグは、第2の値に基づき条件付きでシグナリングされる。
第8の態様は、メモリと、メモリに結合され、そのようなものとしての第7の態様または第7の態様の先行する任意の実装形態を実行するように構成されているプロセッサとを備える装置に関係する。
第9の態様は、プロセッサによって実行されたときに装置にそのようなものとしての第7の態様または第7の態様の先行する任意の実装形態のうちのいずれかを実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を含むコンピュータプログラム製品に関係する。
第10の態様は、現在のピクチャのデコーディングにおいてアフィンインターモードが使用されるように現在のピクチャのシンタックス要素が制約されるかどうかを指定するスライスアフィンインターフラグに対する第1の値を決定することと、スライスアフィンインターフラグに対する第1の値をビットストリームにエンコードすることと、現在のピクチャのデコーディングにおいて6パラメータアフィンモードが使用されるように現在のピクチャのシンタックス要素が制約されるかどうかを指定するスライスアフィンタイプフラグに対する第2の値を決定することと、スライスアフィンタイプフラグに対する第2の値をビットストリームにエンコードすることとを含む方法に関係する。この方法は、アフィンモデルのより効率的なコーディングと、並進運動モデルのコーディングとを提供する。
そのようなものとしての第10の態様に係る方法の第1の実装形態において、スライスアフィンタイプフラグは、第1の値に基づき条件付きでシグナリングされる。
そのようなものとしての第10の態様に係る方法の第2の実装形態または第10の態様の先行する任意の実装形態において、この方法は、アフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを指定するアフィンインターフラグに対する第3の値を決定することと、アフィンインターフラグに対する第3の値をビットストリームにエンコードすることと、6パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを指定するアフィンタイプフラグに対する第4の値を決定することと、アフィンタイプフラグに対する第4の値をビットストリームにエンコードすることとをさらに含む。
そのようなものとしての第10の態様に係る方法の第3の実装形態または第10の態様の先行する任意の実装形態において、アフィンインターフラグは、第1の値に基づき条件付きでシグナリングされ、アフィンタイプフラグは、第2の値に基づき条件付きでシグナリングされる。
第11の態様は、メモリと、メモリに結合され、そのようなものとしての第10の態様または第10の態様の先行する任意の実装形態のうちのいずれかを実行するように構成されているプロセッサとを備える装置に関係する。
第12の態様は、プロセッサによって実行されたときに装置にそのようなものとしての第10の態様または第10の態様の先行する任意の実装形態のうちのいずれかを実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を含むコンピュータプログラム製品に関係する。
第13の態様は、スライスアフィンインターフラグおよびスライスアフィンタイプフラグを含むビットストリームを受信することと、スライスアフィンインターフラグの第1の値に基づき、現在のピクチャのデコーディングにおいてアフィンインターモードが使用されるように現在のピクチャのシンタックス要素が制約されるかどうかを決定することと、スライスアフィンタイプフラグの第2の値に基づき、現在のピクチャのデコーディングにおいて6パラメータアフィンモードが使用されるように現在のピクチャのシンタックス要素が制約されるかどうかを決定することとを含む方法に関係する。この方法は、アフィンモデルのより効率的なコーディングと、並進運動モデルのコーディングとを提供する。
そのようなものとしての第13の態様に係る方法の第1の実装形態において、スライスアフィンタイプフラグは、第1の値に基づき条件付きでシグナリングされる。
そのようなものとしての第13の態様に係る方法の第2の実装形態または第13の態様の先行する任意の実装形態において、ビットストリームは、アフィンインターフラグとアフィンタイプフラグとをさらに含み、この方法は、アフィンインターフラグの第3の値に基づき、アフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを決定することと、アフィンタイプフラグの第4の値に基づき、6パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを決定することとをさらに含む。
そのようなものとしての第13の態様に係る方法の第3の実装形態または第13の態様の先行する任意の実装形態において、アフィンインターフラグは、第1の値に基づき条件付きでシグナリングされ、アフィンタイプフラグは、第2の値に基づき条件付きでシグナリングされる。
第14の態様は、メモリと、メモリに結合され、そのようなものとしての第13の態様または第13の態様の先行する任意の実装形態のうちのいずれかを実行するように構成されているプロセッサとを備える装置に関係する。
第15の態様は、プロセッサによって実行されたときに装置にそのようなものとしての第13の態様または第13の態様の先行する任意の実装形態のうちのいずれかを実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を含むコンピュータプログラム製品に関係する。
第16の態様は、スライスアフィンインターフラグがスライス・セグメント・ヘッダ・レベル・シンタックスで提示されるかどうか、およびビデオシーケンスのデコーディングにおいてアフィンインターモードが使用されるようにビデオシーケンスのシンタックス要素が制約されるかどうかを指定するSPSアフィンインターフラグに対する第1の値を決定することと、SPSアフィンインターフラグに対する第1の値をビットストリームにエンコードすることと、スライスアフィンタイプフラグがスライス・セグメント・ヘッダ・レベル・シンタックスで提示されるかどうか、およびビデオシーケンスのデコーディングにおいて6パラメータアフィンモードが使用されるようにビデオシーケンスのシンタックス要素が制約されるかどうかを指定するSPSアフィンタイプフラグに対する第2の値を決定することと、SPSアフィンタイプフラグに対する第2の値をビットストリームにエンコードすることとを含む方法に関係する。この方法は、アフィンモデルのより効率的なコーディングと、並進運動モデルのコーディングとを提供する。
そのようなものとしての第16の態様に係る方法の第1の実装形態において、SPSアフィンタイプフラグは、第1の値に基づき条件付きでシグナリングされる。
そのようなものとしての第16の態様に係る方法の第2の実装形態または第16の態様の先行する任意の実装形態において、この方法は、現在のピクチャのデコーディングにおいてアフィンインターモードが使用されるように現在のピクチャのシンタックス要素が制約されるかどうかを指定するスライスアフィンインターフラグに対する第3の値を決定することと、スライスアフィンインターフラグに対する第3の値をビットストリームにエンコードすることと、現在のピクチャのデコーディングにおいて6パラメータアフィンモードが使用されるように現在のピクチャのシンタックス要素が制約されるかどうかを指定するスライスアフィンタイプフラグに対する第4の値を決定することと、スライスアフィンタイプフラグに対する第2の値をビットストリームにエンコードすることとをさらに含む。
そのようなものとしての第16の態様に係る方法の第3の実装形態または第16の態様の先行する任意の実装形態において、スライスアフィンインターフラグは、第1の値に基づき条件付きでシグナリングされ、スライスアフィンタイプフラグは、第2の値に基づき条件付きでシグナリングされる。
そのようなものとしての第16の態様に係る方法の第4の実装形態または第16の態様の先行する任意の実装形態において、この方法は、アフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを指定するアフィンインターフラグに対する第5の値を決定することと、アフィンインターフラグに対する第5の値をビットストリームにエンコードすることと、6パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを指定するアフィンタイプフラグに対する第6の値を決定することと、アフィンタイプフラグに対する第6の値をビットストリームにエンコードすることとをさらに含む。
そのようなものとしての第16の態様に係る方法の第5の実装形態または第16の態様の先行する任意の実装形態において、アフィンインターフラグは、第3の値に基づき条件付きでシグナリングされ、アフィンタイプフラグは、第4の値に基づき条件付きでシグナリングされる。
第17の態様は、メモリと、メモリに結合され、そのようなものとしての第1の態様または第16の態様の先行する任意の実装形態のうちのいずれかを実行するように構成されているプロセッサとを備える装置に関係する。
第18の態様は、プロセッサによって実行されたときに装置にそのようなものとしての第1の態様または第16の態様の先行する任意の実装形態のうちのいずれかを実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を含むコンピュータプログラム製品に関係する。
第19の態様は、SPSアフィンインターフラグおよびSPSアフィンタイプフラグを含むビットストリームを受信することと、SPSアフィンインターフラグの第1の値に基づき、スライスアフィンインターフラグがスライス・セグメント・ヘッダ・レベル・シンタックスで提示されるかどうか、およびビデオシーケンスのデコーディングにおいてアフィンインターモードが使用されるようにビデオシーケンスのシンタックス要素が制約されるかどうかを決定することと、SPSアフィンタイプフラグの第2の値に基づき、スライスアフィンタイプフラグがスライス・セグメント・ヘッダ・レベル・シンタックスで提示されるかどうか、およびビデオシーケンスのデコーディングにおいて6パラメータアフィンモードが使用されるようにビデオシーケンスのシンタックス要素が制約されるかどうかを決定することとを含む方法に関係する。この方法は、アフィンモデルのより効率的なコーディングと、並進運動モデルのコーディングとを提供する。
そのようなものとしての第19の態様に係る方法の第1の実装形態において、SPSアフィンタイプフラグは、第1の値に基づき条件付きでシグナリングされる。
そのようなものとしての第19の態様に係る方法の第2の実装形態または第19の態様の先行する任意の実装形態において、ビットストリームは、スライスアフィンインターフラグとスライスアフィンタイプフラグとをさらに含み、この方法は、スライスアフィンインターフラグの第3の値に基づき、現在のピクチャのデコーディングにおいてアフィンインターモードが使用されるように現在のピクチャのシンタックス要素が制約されるかどうかを決定することと、スライスアフィンタイプフラグの第4の値に基づき、現在のピクチャのデコーディングにおいて6パラメータアフィンモードが使用されるように現在のピクチャのシンタックス要素が制約されるかどうかを決定することとをさらに含む。
そのようなものとしての第19の態様に係る方法の第3の実装形態または第19の態様の先行する任意の実装形態において、スライスアフィンインターフラグは、第1の値に基づき条件付きでシグナリングされ、スライスアフィンタイプフラグは、第2の値に基づき条件付きでシグナリングされる。
そのようなものとしての第19の態様に係る方法の第4の実装形態または第19の態様の先行する任意の実装形態において、ビットストリームは、アフィンインターフラグとアフィンタイプフラグとをさらに含み、この方法は、アフィンインターフラグの第5の値に基づき、アフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを決定することと、アフィンタイプフラグの第6の値に基づき、6パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを決定することとをさらに含む。
そのようなものとしての第19の態様に係る方法の第5の実装形態または第19の態様の先行する任意の実装形態において、アフィンインターフラグは、第3の値に基づき条件付きでシグナリングされ、アフィンタイプフラグは、第4の値に基づき条件付きでシグナリングされる。
第20の態様は、メモリと、メモリに結合され、そのようなものとしての第19の態様または第19の態様の先行する任意の実装形態のうちのいずれかを実行するように構成されているプロセッサとを備える装置に関係する。
第21の態様は、プロセッサによって実行されたときに装置にそのようなものとしての第19の態様または第19の態様の先行する任意の実装形態のうちのいずれかを実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を含むコンピュータプログラム製品に関係する。
第22の態様は、現在のコーディングユニットの予測サンプルを生成するために使用される動きモデルを指定する動きモデル指標変数に対する第1の値を決定することであって、動きモデルは、並進運動モデル、4パラメータアフィンモデル、または6パラメータアフィンモデルのうちの1つである、第1の値を決定することと、第1の値に基づきアフィンインターフラグに対する第2の値を決定することと、アフィンインターフラグに対する第2の値をビットストリームにエンコードすることと、第1の値に基づきアフィンタイプフラグに対する第3の値を決定することと、アフィンタイプフラグに対する第3の値をビットストリームにエンコードすることとを含む方法に関係する。この方法は、アフィンモデルのより効率的なコーディングと、並進運動モデルのコーディングとを提供する。
第23の態様は、メモリと、メモリに結合され、そのようなものとしての第22の態様または第22の態様の先行する任意の実装形態のうちのいずれかを実行するように構成されているプロセッサとを備える装置に関係する。
第24の態様は、プロセッサによって実行されたときに装置にそのようなものとしての第22の態様または第22の態様の先行する任意の実装形態のうちのいずれかを実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を含むコンピュータプログラム製品に関係する。
第25の態様は、アフィンインターフラグおよびアフィンタイプフラグを含むビットストリームを受信することと、アフィンインターフラグの第1の値およびアフィンタイプフラグの第2の値に基づき、動きモデル指標変数の第3の値を決定することと、第3の値に基づき、動きモデルが並進運動モデル、4パラメータアフィンモデル、または6パラメータアフィンモデルであるかどうか決定することとを含む方法に関係する。この方法は、アフィンモデルのより効率的なコーディングと、並進運動モデルのコーディングとを提供する。
第26の態様は、メモリと、メモリに結合され、そのようなものとしての第25の態様または第25の態様の先行する任意の実装形態のうちのいずれかを実行するように構成されているプロセッサとを備える装置に関係する。
第27の態様は、プロセッサによって実行されたときに装置にそのようなものとしての第25の態様または第25の態様の先行する任意の実装形態のうちのいずれかを実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を含むコンピュータプログラム製品に関係する。
上記の実施形態はいずれも、新しい実施形態を作成するために上記の他の実施形態のうちのいずれかと組み合わされてもよい。これらおよび他の特徴は、添付図面および請求項と併せて次の詳細な説明からより明確に理解されるであろう。
本開示をより完全に理解できるように、類似の番号は類似の部分を表す、添付図面および詳細な説明に関して以下の簡単な説明が参照される。
最初に、1つ以上の実施形態の例示的な実装が以下に提示されているが、開示されているシステムおよび/または方法は、現在知られているか、または存在している、任意の数の技術を使用することで実装されてもよいことは理解されるべきである。本開示は、本明細書において例示され、説明されている例示的な設計および実装を含む、以下に例示されている例示的な実装、図面、および技術に決して限定されるべきでないが、等価物の全範囲とともに付属の請求項の範囲内で修正されてもよい。
次の略語が適用される。
ASIC:特定用途向け集積回路
CPU:中央演算処理装置
DSP:デジタルシグナルプロセッサ
EO:電気-光
FPGA:フィールドプログラマブルゲートアレイ
Idc:指標
MVD:動きベクトル差分
OE:光-電気
PPS:ピクチャパラメータセット
RAM:ランダムアクセスメモリ
RBSP:ローバイトシーケンスペイロード
RF:無線周波数
ROM:読取り専用メモリ
RX:受信機ユニット
SPS:シーケンスパラメータセット
SRAM:スタティックRAM
TCAM:三値連想メモリ
TX:送信機ユニット
VPS:ビデオパラメータセット
図1は、コーディングシステム100の概略図である。コーディングシステム100は、ソースデバイス110と、媒体150と、デスティネーションデバイス160とを備える。ソースデバイス110およびデスティネーションデバイス160は、携帯電話、タブレットコンピュータ、デスクトップコンピュータ、ノートブックコンピュータ、または他のデバイスである。媒体150は、ローカルネットワーク、無線ネットワーク、インターネット、または他の通信媒体である。
ソースデバイス110は、ビデオジェネレータ120と、エンコーダ130と、出力インターフェース140とを備える。ビデオジェネレータ120は、ビデオを生成するカメラまたは別のデバイスである。エンコーダ130は、コーデックと称されてもよい。エンコーダ130は、一組のルールに従ってビデオおよび他のデータをビットストリームにエンコードする。出力インターフェース140は、ビットストリームをデスティネーションデバイス160に伝送するアンテナまたは別のコンポーネントである。代替的に、ビデオジェネレータ120、エンコーダ130、および出力インターフェース140は、デバイスの組み合わせである。
デスティネーションデバイス160は、入力インターフェース170と、デコーダ180と、ディスプレイ190とを備える。入力インターフェース170は、ソースデバイス110からビットストリームを受信するアンテナまたは別のコンポーネントである。デコーダ180は、コーデックとも称されてもよい。デコーダ180は、ビットストリームから一組のルールに従ってビデオおよび他のデータをデコードする。エンコーディングおよびデコーディングは、合わせて、コーディングと称される。ディスプレイ190は、ビデオを表示する。代替的に、入力インターフェース170、デコーダ180、およびディスプレイ190は、デバイスの組み合わせである。
ビットストリームは、スライスおよびブロックを含む、様々なレベルにおいて定義されるデータを含む。スライスは、ビデオフレーム内の任意の他の領域から別にコーディングされるビデオフレームの空間的に異なる領域である。ブロックは、矩形に配置構成されたピクセルのグループであり、最小のコーディングユニットである。スライス内のブロックは、依存する仕方でコーディングされてもよい。ビデオについて説明されているが、ビデオは単一のフレームが一続きになったものであり、同じ概念が単一のフレームにも適用される。
オブジェクトはフレーム間を移動するので、それらのオブジェクトのブロックは対応する方式で移動する。その動きを表現するために、イントラ予測とインター予測の2つの主要な方法がある。イントラ予測は、現在のフレーム内の参照ブロックと現在のブロックとの関係に基づき現在のフレーム内の現在のブロックを表す。インター予測は、参照フレーム内の参照ブロックと現在のブロックとの関係に基づき現在のフレーム内の現在のブロックを表す。動きベクトルは、その関係を記述するものである。それらの動きベクトルを決定するプロセスは動き推定であり、コーディングにおいてそれらの動きベクトルを使用するプロセスは動き補償である。参照フレームは、前のフレームまたは前方フレームでありうる。Pスライスはコーディングに前のフレームを使用し、Bスライスはコーディングに前のフレームおよび前方フレームの両方を使用する。
物体が単にある位置から別の位置に移動する場合には、並進運動インター予測、または従来のインター予測が使用される。並進運動モデルは並進運動インター予測を実装するものである。アフィンインター予測は、カメラのズーム、回転、透視動き、または他の不規則な動きにより、オブジェクトがフレーム間で形状を変化させるときに使用される。様々なアフィンモデルが、アフィンインター予測を実装する。並進運動モデルおよびアフィンモデルは動きモデルの一種である。
予測モードは、イントラ予測またはインター予測のいずれかを使用してコーディングユニットをコーディングするコーディングモードである。イントラモードはイントラ予測を使用するコーディングモードであり、インターモードはインター予測を使用するコーディングモードである。アフィンマージモード、またはアフィンインターモードは、アフィンモデルを使用してアフィンインター予測を実装するマージモードの一種である。
図2Aは、4パラメータアフィンモデルを示す現在のブロック210の概略図である。現在のブロック210は、左上隅にあり、動きベクトル
に対応する第0の制御点と、右上隅にあり、動きベクトル
に対応する第1の制御点とを備える。
および
はxおよびy個の位置を有し、したがって、それぞれ(v
0x,v
0y)および(v
1x,v
1y)として表されてもよい。4パラメータアフィンモデルは、動きベクトル場であり、
のように表され、wは現在のブロック210のピクセル単位の幅であり、v
0x、v
0y、v
1x、およびv
1yは4パラメータアフィンモデルを構成する4つのパラメータである。同様に現在のブロック210内のサブブロックは、それぞれ、動きベクトルを1つ有してもよい。
図2Bは、6パラメータアフィンモデルを示す現在のブロック220の概略図である。現在のブロック220は、左上隅にあり、動きベクトルmv
0に対応する第0の制御点と、右上隅にあり、動きベクトルmv
1に対応する第1の制御点と、左上隅にあり、動きベクトルmv
2に対応する第2の制御点とを備える。mv
0、mv
1、およびmv
2はxおよびy個の位置を有し、したがって、それぞれ、
として表されてもよい。6パラメータアフィンモデルは、動きベクトル場であり、
のように表され、wは現在のブロック220のピクセル単位の幅であり、hは現在のブロック220のピクセル単位の高さであり、
は6パラメータアフィンモデルを構成する6個のパラメータである。同様に現在のブロック220内のサブブロックは、各々、動きベクトルを1つ有してもよい。
図2A~図2Bは、動きベクトル場(1)および(2)において複数の動きベクトルを使用するアフィンモデルを示している。しかしながら、並進運動モデルでは、単一の動きベクトルを使用する。したがって、並進運動モデルは、単純に、
であってもよい。
図3は、ビデオビットストリーム300の概略図である。ビデオビットストリーム300は、VPS305、SPS310、PPS315、ならびに少なくとも4つのスライス320、325、330、および335を含む。スライス320は、ヘッダ340およびデータ345を含む。スライス325、330、335は、スライス320に類似している。データ345は、少なくとも3つのブロック350、355、および360を含む。4つのスライス320~335が図示されているが、ビデオビットストリーム300は、任意の好適な数のスライスを含む。3つのブロック350~360が図示されているが、データ345は、任意の好適な数のブロックを含む。それに加えて、各残りのスライス325、330、335もブロックを含む。したがって、ビデオビットストリーム300は多数のブロックを含んでいるが、ビデオビットストリーム300は、1つのSPS310と、ブロックより著しく少ないスライスヘッダとを含む。
一アプローチは、2つのフラグを各ブロック350~360に常にコーディングすることである。第1のフラグは、ブロック350~360がアフィンモデルを使用するかどうかを指定する。第2のフラグは、アフィンモデルが4パラメータアフィンモデルであるか、または6パラメータアフィンモデルであるかを指定する。しかしながら、各ブロック350~360に第1のフラグおよび第2のフラグを常に含めることは、そのようなブロックが多数あり、すべてのブロックがアフィンモデルを使用するとは限らないので、過剰なビット数を必要とする。したがって、アフィンモデルをより効率的にコーディングすることが望ましい。並進運動モデルをコーディングすることも望ましい。
本明細書において開示されているのは、動きモデルシグナリングのための実施形態である。動きモデルは、並進運動モデル、4パラメータアフィンモデル、および6パラメータアフィンモデルを含む。動きモデルシグナリングは、SPSおよびスライスヘッダを含む、ビデオビットストリームの上位レベルにある。上位レベルのシグナリングが動きモデルが使用されないことを指定しているときに、次いで、下位レベルのシグナリングは動きモデリングを指定する必要はない。下位レベルのシグナリングを低減することによって、モデルモデルをシグナリングするか、シグナリングしないかのためにビデオビットストリームに必要なビット数が少なくて済む。その結果、ビデオビットストリームの通信に必要な帯域幅が小さくて済む。SPSおよびスライスヘッダが説明されているが、同じ概念がビデオビットストリームの他の上位レベルにも適用される。並進運動モデル、4パラメータアフィンモデル、6パラメータアフィンモデルが説明されているが、同じ概念が、他の動きモデルには特に、他のコンテキストモデルには一般的に、適用される。
図4Aは、本開示の一実施形態に係るSPSシンタックス410を示す図である。SPSシンタックス410を使用することでSPS310を、エンコーダ130はエンコードし、デコーダ180はデコードする。SPSシンタックス410は、SPSアフィンインターフラグ、Sps_affine_inter_flag、およびSPSアフィンタイプフラグ、Sps_affine_type_flagを含む。
Sps_affine_inter_flagは、アフィンインターフラグ、affine_inter_flagがコーディングユニットレベルシンタックスで提示されるかどうかを指定する。0に等しいSps_affine_inter_flagは、affine_inter_flagがコーディングユニットレベルシンタックスで提示されないことを指定する。1に等しいSps_affine_inter_flagは、affine_inter_flagがコーディングユニットレベルシンタックスで提示されることを指定する。
Sps_affine_type_flagは、アフィンタイプフラグ、affine_type_flagがコーディングユニットレベルシンタックスで提示されるかどうかを指定する。0に等しいSps_affine_type_flagは、affine_inter_flagがコーディングユニットレベルシンタックスで提示されないことを指定する。1に等しいSps_affine_type_flagは、affine_type_flagがコーディングユニットレベルシンタックスで提示されることを指定する。Sps_affine_type_flagは、Sps_affine_inter_flagが0に等しいときにSps_affine_type_flagがシグナリングされず、Sps_affine_inter_flagが1に等しいときにSps_affine_type_flagがシグナリングされるように条件付きでシグナリングされる。
図4Bは、本開示の別の実施形態に係るSPSシンタックス420を示す図である。SPSシンタックス420は、図4AにおけるSPSシンタックス410に類似している。しかしながら、SPSシンタックス410の場合と異なり、SPSシンタックス420におけるSps_affine_type_flagは条件付きでシグナリングされることがない。その代わりに、Sps_affine_type_flagは、Sps_affine_inter_flagが0に等しいときであっても、常にシグナリングされる。
図4Cは、本開示の一実施形態に係るコーディングユニットシンタックス430を示す図である。コーディングユニットシンタックス430を使用することでブロック350~360を、エンコーダ130はエンコードし、デコーダ180はデコードする。コーディングユニットシンタックス430は、アフィンインターフラグ、affine_inter_flag、およびアフィンタイプフラグ、affine_type_flagを含む。
affine_inter_flagは、現在のコーディングユニットについて、PまたはBスライスをデコードするときに、アフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを指定する。0に等しいaffine_inter_flagは、現在のコーディングユニットについて、PまたはBスライスをデコードするときに、アフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されないことを指定する。1に等しいaffine_inter_flagは、現在のコーディングユニットについて、PまたはBスライスをデコードするときに、アフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されることを指定する。affine_inter_flagは、SPSシンタックス410またはSPSシンタックス420におけるSps_affine_inter_flagが0に等しいときにaffine_inter_flagがシグナリングされず、SPSシンタックス410またはSPSシンタックス420におけるSps_affine_inter_flagが1に等しいときにaffine_inter_flagがシグナリングされるように、条件付きでシグナリングされる。
affine_type_flagは、現在のコーディングユニットについて、PまたはBスライスをデコードするときに、6パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを指定する。0に等しいaffine_type_flagは、現在のコーディングユニットについて、PまたはBスライスをデコードするときに、4パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されることを指定する。1に等しいaffine_type_flagは、現在のコーディングユニットについて、PまたはBスライスをデコードするときに、6パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されることを指定する。affine_type_flagは、SPSシンタックス410もしくはSPSシンタックス420におけるSps_affine_type_flagが0に等しいときまたはコーディングユニットシンタックス430におけるaffine_inter_flagが0に等しいときにaffine_type_flagがシグナリングされず、SPSシンタックス410もしくはSPSシンタックス420におけるSps_affine_inter_flagが1に等しいとき、およびコーディングユニットシンタックス430におけるaffine_inter_flagが1に等しいときにaffine_type_flagがシグナリングされるように、条件付きでシグナリングされる。
図5Aは、本開示の一実施形態に係るスライスセグメントヘッダシンタックス510を示す図である。スライスセグメントヘッダシンタックス510を使用することでヘッダ340を、エンコーダ130はエンコードし、デコーダ180はデコードする。スライスセグメントヘッダシンタックス510は、スライスアフィンインターフラグ、Slice_affine_inter_flag、およびスライスアフィンタイプフラグ、Slice_affine_type_flagを含む。
Slice_affine_inter_flagは、アフィンインターモードが現在のピクチャのデコーディングにおいて使用されるように現在のピクチャのシンタックス要素が制約されるかどうかを指定する。0に等しいSlice_affine_inter_flagは、アフィンインターモードも現在のピクチャのデコーディングにおいて使用されないように現在のピクチャのシンタックス要素が制約されることを指定する。1に等しいSlice_affine_inter_flagは、アフィンインターモードが現在のピクチャのデコーディングにおいて使用されるように現在のピクチャのシンタックス要素が制約されることを指定する。
Slice_affine_type_flagは、6パラメータアフィンモードが現在のピクチャのデコーディングにおいて使用されるように現在のピクチャのシンタックス要素が制約されるかどうかを指定する。0に等しいSlice_affine_type_flagは、6パラメータアフィンモードも現在のピクチャのデコーディングにおいて使用されないように現在のピクチャのシンタックス要素が制約されることを指定する。1に等しいSlice_affine_type_flagは、6パラメータアフィンモードが現在のピクチャのデコーディングにおいて使用されるように現在のピクチャのシンタックス要素が制約されることを指定する。Slice_affine_type_flagは、Slice_affine_inter_flagが0に等しいときにSlice_affine_type_flagがシグナリングされず、Slice_affine_inter_flagが1に等しいときにSlice_affine_type_flagがシグナリングされるように条件付きでシグナリングされる。
図5Bは、本開示の別の実施形態に係るスライスセグメントヘッダシンタックス520を示す図である。スライスセグメントヘッダシンタックス520は、図5Aにおけるスライスセグメントヘッダシンタックス510に類似している。しかしながら、スライスセグメントヘッダシンタックス510の場合と異なり、スライスセグメントヘッダシンタックス520におけるSlice_affine_type_flagは条件付きでシグナリングされることがない。その代わりに、Slice_affine_type_flagは、Slice_affine_inter_flagが0に等しいときであっても、常にシグナリングされる。
図5Cは、本開示の一実施形態に係るコーディングユニットシンタックス530を示す図である。コーディングユニットシンタックス530を使用することでブロック350~360を、エンコーダ130はエンコードし、デコーダ180はデコードする。コーディングユニットシンタックス530は、アフィンインターフラグ、affine_inter_flag、およびアフィンタイプフラグ、affine_type_flagを含む。
affine_inter_flagは、現在のコーディングユニットについて、PまたはBスライスをデコードするときに、アフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを指定する。0に等しいaffine_inter_flagは、現在のコーディングユニットについて、PまたはBスライスをデコードするときに、アフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されないことを指定する。1に等しいaffine_inter_flagは、現在のコーディングユニットについて、PまたはBスライスをデコードするときに、アフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されることを指定する。affine_inter_flagは、スライスセグメントヘッダシンタックス510またはスライスセグメントヘッダシンタックス520におけるSlice_affine_inter_flagが0に等しいときにaffine_inter_flagがシグナリングされず、スライスセグメントヘッダシンタックス510またはスライスセグメントヘッダシンタックス520におけるSlice_affine_inter_flagが1に等しいときにaffine_inter_flagがシグナリングされるように、条件付きでシグナリングされる。
affine_type_flagは、現在のコーディングユニットについて、PまたはBスライスをデコードするときに、6パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを指定する。0に等しいaffine_type_flagは、現在のコーディングユニットについて、PまたはBスライスをデコードするときに、4パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されることを指定する。1に等しいaffine_type_flagは、現在のコーディングユニットについて、PまたはBスライスをデコードするときに、6パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されることを指定する。affine_type_flagは、スライスセグメントヘッダシンタックス510もしくはスライスセグメントヘッダシンタックス520におけるSlice_affine_type_flagが0に等しいときまたはコーディングユニットシンタックス530におけるaffine_inter_flagが0に等しいときにaffine_type_flagがシグナリングされず、スライスセグメントヘッダシンタックス510もしくはスライスセグメントヘッダシンタックス520におけるSlice_affine_type_flagが1に等しいとき、およびコーディングユニットシンタックス530におけるaffine_inter_flagが1に等しいときにaffine_type_flagがシグナリングされるように、条件付きでシグナリングされる。
図6A~図6Dは、図4A~図4Cと図5A~図5Cとの間のセミハイブリッドを示している。図6Aは、本開示の一実施形態に係るSPSシンタックス610を示す図である。SPSシンタックス610を使用することでSPS310を、エンコーダ130はエンコードし、デコーダ180はデコードする。SPSシンタックス610は、SPSアフィンインターフラグ、Sps_affine_inter_flag、およびSPSアフィンタイプフラグ、Sps_affine_type_flagを含む。
Sps_affine_inter_flagは、スライスアフィンインターフラグ、Slice_affine_inter_flagがスライス・セグメント・ヘッダ・レベル・シンタックスで提示されるかどうか、およびビデオシーケンスのデコーディングにおいてアフィンインターモードが使用されるようにビデオシーケンスのシンタックス要素が制約されるかどうかを指定する。0に等しいSps_affine_inter_flagは、Slice_affine_inter_flagがスライス・セグメント・ヘッダ・レベル・シンタックスで提示されず、ビデオシーケンスのデコーディングにおいてアフィンインターモードが使用されないようにビデオシーケンスのシンタックス要素が制約されることを指定する。1に等しいSps_affine_inter_flagは、Slice_affine_inter_flagがスライス・セグメント・ヘッダ・レベル・シンタックスで提示され、ビデオシーケンスのデコーディングにおいてアフィンインターモードが使用されるようにビデオシーケンスのシンタックス要素が制約されることを指定する。
Sps_affine_type_flagは、スライスアフィンタイプフラグ、Slice_affine_type_flagがスライス・セグメント・ヘッダ・レベル・シンタックスで提示されるかどうか、およびビデオシーケンスのデコーディングにおいて6パラメータアフィンモードが使用されるようにビデオシーケンスのシンタックス要素が制約されるかどうかを指定する。0に等しいSps_affine_type_flagは、Slice_affine_type_flagがスライス・セグメント・ヘッダ・レベル・シンタックスで提示されず、ビデオシーケンスのデコーディングにおいて6パラメータアフィンモードが使用されないようにビデオシーケンスのシンタックス要素が制約されることを指定する。1に等しいSps_affine_type_flagは、Slice_affine_type_flagがスライス・セグメント・ヘッダ・レベル・シンタックスで提示され、ビデオシーケンスのデコーディングにおいて6パラメータアフィンモードが使用されるようにビデオシーケンスのシンタックス要素が制約されることを指定する。Sps_affine_type_flagは、Sps_affine_inter_flagが0に等しいときにSps_affine_type_flagがシグナリングされず、Sps_affine_inter_flagが1に等しいときにSps_affine_type_flagがシグナリングされるように条件付きでシグナリングされる。
図6Bは、本開示の別の実施形態に係るSPSシンタックス620を示す図である。SPSシンタックス620は、図6AにおけるSPSシンタックス610に類似している。しかしながら、SPSシンタックス610の場合と異なり、SPSシンタックス620におけるSps_affine_type_flagは条件付きでシグナリングされることがない。その代わりに、Sps_affine_type_flagは、Sps_affine_inter_flagが0に等しいときであっても、常にシグナリングされる。
図6Cは、本開示の一実施形態に係るスライスセグメントヘッダシンタックス630を示す図である。スライスセグメントヘッダシンタックス630を使用することでヘッダ340を、エンコーダ130はエンコードし、デコーダ180はデコードする。スライスセグメントヘッダシンタックス630は、スライスアフィンインターフラグ、Slice_affine_inter_flag、およびスライスアフィンタイプフラグ、Slice_affine_type_flagを含む。
Slice_affine_inter_flagは、アフィンインターモードが現在のピクチャのデコーディングにおいて使用されるように現在のピクチャのシンタックス要素が制約されるかどうかを指定する。0に等しいSlice_affine_inter_flagは、アフィンインターモードも現在のピクチャのデコーディングにおいて使用されないように現在のピクチャのシンタックス要素が制約されることを指定する。1に等しいSlice_affine_inter_flagは、アフィンインターモードが現在のピクチャのデコーディングにおいて使用されるように現在のピクチャのシンタックス要素が制約されることを指定する。Slice_affine_inter_flagは、SPSシンタックス610またはSPSシンタックス620におけるSps_affine_inter_flagが0に等しいときにSlice_affine_inter_flagがシグナリングされず、SPSシンタックス610またはSPSシンタックス620が1に等しいときにSlice_affine_inter_flagがシグナリングされるように、条件付きでシグナリングされる。
Slice_affine_type_flagは、6パラメータアフィンモードが現在のピクチャのデコーディングにおいて使用されるように現在のピクチャのシンタックス要素が制約されるかどうかを指定する。0に等しいSlice_affine_type_flagは、6パラメータアフィンモードも現在のピクチャのデコーディングにおいて使用されないように現在のピクチャのシンタックス要素が制約されることを指定する。1に等しいSlice_affine_type_flagは、6パラメータアフィンモードが現在のピクチャのデコーディングにおいて使用されるように現在のピクチャのシンタックス要素が制約されることを指定する。Slice_affine_type_flagは、SPSシンタックス610またはSPSシンタックス620におけるSps_affine_type_flagが0に等しいときにSlice_affine_type_flagがシグナリングされず、SPSシンタックス610またはSPSシンタックス620におけるSps_affine_type_flagが1に等しいときにSlice_affine_type_flagがシグナリングされるように、条件付きでシグナリングされる。
図6Dは、本開示の一実施形態に係るコーディングユニットシンタックス640を示す図である。コーディングユニットシンタックス640を使用することでブロック350~360を、エンコーダ130はエンコードし、デコーダ180はデコードする。コーディングユニットシンタックス640は、アフィンインターフラグ、affine_inter_flag、およびアフィンタイプフラグ、affine_type_flagを含む。
affine_inter_flagは、現在のコーディングユニットについて、PまたはBスライスをデコードするときに、アフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを指定する。0に等しいaffine_inter_flagは、現在のコーディングユニットについて、PまたはBスライスをデコードするときに、アフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されないことを指定する。1に等しいaffine_inter_flagは、現在のコーディングユニットについて、PまたはBスライスをデコードするときに、アフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されることを指定する。affine_inter_flagは、スライスセグメントヘッダシンタックス630におけるSlice_affine_inter_flagが0に等しいときにaffine_inter_flagがシグナリングされず、スライスセグメントヘッダシンタックス630におけるSlice_affine_inter_flagが1に等しいときにaffine_inter_flagがシグナリングされるように、条件付きでシグナリングされる。
affine_type_flagは、現在のコーディングユニットについて、PまたはBスライスをデコードするときに、6パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを指定する。0に等しいaffine_type_flagは、現在のコーディングユニットについて、PまたはBスライスをデコードするときに、4パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されることを指定する。1に等しいaffine_type_flagは、現在のコーディングユニットについて、PまたはBスライスをデコードするときに、6パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されることを指定する。affine_type_flagは、スライスセグメントヘッダシンタックス630におけるSlice_affine_type_flagが0に等しいときまたはコーディングユニットシンタックス640におけるaffine_inter_flagが0に等しいときにaffine_type_flagがシグナリングされず、スライスセグメントヘッダシンタックス630におけるSlice_affine_type_flagが1に等しいとき、およびコーディングユニットシンタックス640におけるaffine_inter_flagが1に等しいときにaffine_type_flagがシグナリングされるように、条件付きでシグナリングされる。
図7は、本開示の一実施形態に係るコーディングユニットシンタックス700を示す図である。コーディングユニットシンタックス700を使用することでブロック350~360を、エンコーダ130はエンコードし、デコーダ180はデコードする。コーディングユニットシンタックス700は、動きモデル指標変数、motion_model_indicator[x0][y0]およびMVDコーディング命令、mvd_coding(x0,y0,refList,cpIdx)を含む。
motion_model_indicator[x0][y0]は、現在のコーディングユニットの予測サンプルを生成するために使用される動きモデルを指定する。シンタックス700は、motion_model_indicator[x0][y0]をアフィンインターフラグ、affine_inter_flagとアフィンタイプフラグ、affine_type_flagとの和に等しくなるように設定する。affine_inter_flagおよびaffine_type_flagは、コーディングユニットシンタックス430、530、640、または別のところからのものであってもよい。表1に示されているように、motion_model_indicator[x0][y0]は0、1、または2の値を有する。値0は並進運動動きモデルを指定し、値1は4パラメータアフィンモードを指定し、値2は6パラメータアフィンモデルを指定する。
代替的に、motion_model_indicator[x0][y0]に対する値は、別の好適な方式で、並進運動動きモデル、4パラメータアフィンモデル、および6パラメータアフィンモデルを指定する。
mvd_coding(x0,y0,refList,cpIdx)は、現在コーディングユニットに対してMVDをどのようにコーディングするかを指定する。MVDは、予測された動きベクトルと現在の動きベクトルとの間の差分である。したがって、動きベクトル場(1)、(2)のような完全な動きベクトル場の代わりにMVDを、エンコーダ130はエンコードし、デコーダ180はデコードする。x0およびy0は現在のコーディングユニットの位置を指定する。refListは、参照ピクチャリストList0またはList1を指定する。List0およびList1が利用可能であることにより、List0内の第1の参照ブロックおよびList1内の第2の参照ブロックで双予測を行える。cpIdxは、制御点、たとえば、図2Aまたは図2B内の制御点のうちの1つを示す制御点インデックスを指定する。コーディングユニットシンタックス700において、mvd_coding(x0,y0,refList,cpIdx)は、List0および制御点1に対するMVDコーディング命令を示すmvd_coding(x0,y0,0,1)、List0および制御点2に対するMVDコーディング命令を示すmvd_coding(x0,y0,0,2)、List1および制御点1に対するMVDコーディング命令を示すmvd_coding(x0,y0,1,1)、ならびにList1および制御点2に対するMVDコーディング命令を示すmvd_coding(x0,y0,1,2)の形態をとる。
図8は、本開示の一実施形態に係る1つ以上の候補予測モードを決定する方法800を例示するフローチャートである。エンコーダ130またはデコーダ180は、方法800を実行する。エンコーダ130またはデコーダ180は、以下で説明されているようにプロセッサ内にあってもよい。ステップ810において、第1の指標は、ビットストリームを解析することによって導出される。第1の指標は、任意のアフィンモデルが、予め設定された領域内の画像ブロックに対する候補動きモデルであるかどうかを指定する。たとえば、第1の指標は、SPSシンタックス410、420、610、もしくは620におけるSps_affine_inter_flag、コーディングユニットシンタックス430、530、640、もしくは700におけるaffine_inter_flag、またはスライスセグメントヘッダシンタックス510、520、または630におけるSlice_affine_inter_flagである。ステップ820において、第1の指標の存在が決定される。たとえば、SPSシンタックス410、420、610、もしくは620におけるSps_affine_inter_flag、コーディングユニットシンタックス430、530、640、もしくは700におけるaffine_inter_flag、またはスライスセグメントヘッダシンタックス510、520、または630におけるSlice_affine_inter_flagは1に設定される。ステップ830において、第1の指標の存在を決定したことに応答して、ビットストリームを解析することによって、第2の指標が導出される。第2の指標は、6パラメータアフィンモデルが画像ブロックに対する候補動きモデルであるかどうかを指定する。たとえば、第2の指標は、SPSシンタックス410、420、610、もしくは620におけるSps_affine_type_flag、コーディングユニットシンタックス430、530、640、もしくは700におけるaffine_type_flag、またはスライスセグメントヘッダシンタックス510、520、または630におけるSlice_affine_type_flagである。最後に、ステップ840において、1つ以上の候補動きモデルは、第1の指標および第2の指標に基づき画像ブロックに対して決定される。たとえば、エンコーダ130またはデコーダ180は、並進運動モデル、4パラメータアフィンモデル、または6パラメータアフィンモデルを決定する。方法800は、次のような追加のステップを含んでもよい。
第2の指標を導出する前に、方法800は、アフィンモデルが候補動きモデルであると決定することをさらに含む。方法800は、アフィンモデルが候補動きモデルであると決定したことに応答して第2の指標を導出することをさらに含む。
方法800において、第1の指標を導出することは、ビットストリームのシーケンスのSPSを解析することを含む。予め設定された領域は、シーケンス、シーケンス内の任意のスライス、またはシーケンス内の任意のコーディングユニットを含む。第2の指標を導出することは、SPSを解析することを含む。任意選択で、方法800は、アフィンモデルが候補動きモデルであることに応答して、シーケンス内のスライスのスライスヘッダを解析することによって第6の指標を導出することをさらに含む。第6の指標は、任意のアフィンモデルが、スライス内の画像ブロックに対する候補動きモデルであるかどうかを指定する。任意選択で、方法800は、6パラメータアフィンモデルが候補動きモデルであることに応答して、シーケンス内のスライスのスライスヘッダを解析することによって第7の指標を導出することをさらに含む。第7の指標は、6パラメータアフィンモデルが、スライス内の画像ブロックに対する候補予測モデルであるかどうかを指定する。
方法800は、ビットストリームのスライスのスライスヘッダを解析することによって第1の指標をさらに導出することをさらに含む。予め設定された領域は、スライスまたはスライス内の任意のコーディングユニットを含む。方法800は、スライスヘッダを解析することによって第2の指標をさらに導出することをさらに含む。
方法800は、アフィンモデルが候補動きモデルであることに応答して、ビットストリームを解析することによって第3の指標を導出することをさらに含む。第3の指標は、画像ブロックの予測モードがアフィンマージモードであるかどうかを指定する。
アフィンモデルが候補動きモデルであることに応答して、方法800は、ビットストリームを解析することによって第4の指標を導出することと、第4の指標が第1の値であることに応答して、画像ブロックの予測モードがアフィンインターモードでないと決定することと、第4の指標が第2の値であることに応答して、予測モードがアフィンインターモードであると決定することとをさらに含む。アフィンインターモードは、6パラメータアフィンモデルモードまたは4パラメータアフィンモデルモードである。予測モードがアフィンインターモードであることに応答して、方法800は、ビットストリームを解析することによって第5の指標を導出することと、第5の指標が第3の値であることに応答して、予測モードが6パラメータアフィンモデルモードであると決定することと、第5の指標が第4の値であることに応答して、予測モードが4パラメータアフィンモデルモードであると決定することとをさらに含む。第1の値が1であり、第2の値が0であり、第3の値が0であり、第4の値が1であることに応答して、この方法は、第4の指標および第5の指標の値を加算して合計値を導出することと、合計値が0より大きいことに応答して、ビットストリームを解析することによってMVD情報の第1のセットを導出することと、合計値が1より大きいことに応答して、ビットストリームを解析することによってMVD情報の第2のセットを導出することとをさらに含む。
図9は、本開示の一実施形態に係るビットストリームをエンコードする方法900を例示するフローチャートである。エンコーダ130は、方法900を実行する。ステップ910において、アフィンインターフラグがコーディングユニットレベルシンタックスで提示されるかどうかを指定するSPSアフィンインターフラグに対する第1の値が決定される。たとえば、SPSアフィンインターフラグはSPSシンタックス410または420内のSps_affine_inter_flagである。ステップ920において、SPSアフィンインターフラグに対する第1の値は、ビットストリームにエンコードされる。ステップ930において、アフィンタイプフラグがコーディングユニットレベルシンタックスで提示されるかどうかを指定するSPSアフィンタイプフラグに対する第2の値が決定される。たとえば、SPSアフィンタイプフラグはSPSシンタックス410または420内のSps_affine_type_flagである。最後に、ステップ940において、SPSアフィンタイプフラグに対する第2の値は、ビットストリームにエンコードされる。
図10は、本開示の一実施形態に係るビットストリームをデコードする方法1000を例示するフローチャートである。デコーダ180は、方法1000を実行する。ステップ1010において、SPSアフィンインターフラグおよびSPSアフィンタイプフラグを含むビットストリームが受信される。たとえば、SPSアフィンインターフラグはSPSシンタックス410または420内のSps_affine_inter_flagであり、SPSアフィンタイプフラグはSPSシンタックス410または420内のSps_affine_type_flagである。ステップ1020において、SPSアフィンインターフラグの第1の値に基づき、アフィンインターフラグがコーディングユニットレベルシンタックスで提示されているかどうかが決定される。最後に、ステップ1030において、SPSアフィンタイプフラグの第2の値に基づき、アフィンタイプフラグがコーディングユニットレベルシンタックスで提示されているかどうかが決定される。
図11は、本開示の一実施形態に係るビットストリームをエンコードする方法1100を例示するフローチャートである。エンコーダ130は、方法1100を実行する。ステップ1110において、現在のピクチャのデコーディングにおいてアフィンインターモードが使用されるように現在のピクチャのシンタックス要素が制約されるかどうかを指定するスライスアフィンインターフラグに対する第1の値が決定される。たとえば、スライスアフィンインターフラグはスライスセグメントヘッダシンタックス510または520内のSlice_affine_inter_flagである。ステップ1120において、スライスアフィンインターフラグに対する第1の値は、ビットストリームにエンコードされる。ステップ1130において、現在のピクチャのデコーディングにおいて6パラメータアフィンモードが使用されるように現在のピクチャのシンタックス要素が制約されるかどうかを指定するスライスアフィンタイプフラグに対する第2の値が決定される。たとえば、スライスアフィンタイプフラグはスライスセグメントヘッダシンタックス510または520内のSlice_affine_type_flagである。最後に、ステップ1140において、スライスアフィンタイプフラグに対する第2の値は、ビットストリームにエンコードされる。
図12は、本開示の一実施形態に係るビットストリームをデコードする方法1200を例示するフローチャートである。デコーダ180は、方法1200を実行する。ステップ1210において、スライスアフィンインターフラグおよびスライスアフィンタイプフラグを含むビットストリームが受信される。たとえば、スライスアフィンインターフラグはスライスセグメントヘッダシンタックス510または520内のSlice_affine_inter_flagであり、スライスアフィンタイプフラグはスライスセグメントヘッダシンタックス510または520内のSlice_affine_type_flagである。ステップ1220において、スライスアフィンインターフラグの第1の値に基づき、現在のピクチャのデコーディングにおいてアフィンインターモードが使用されるように現在のピクチャのシンタックス要素が制約されるかどうかが決定される。最後に、ステップ1230において、スライスアフィンタイプフラグの第2の値に基づき、現在のピクチャのデコーディングにおいて6パラメータアフィンモードが使用されるように現在のピクチャのシンタックス要素が制約されるかどうかが決定される。
図13は、本開示の一実施形態に係るビットストリームをエンコードする方法1300を例示するフローチャートである。エンコーダ130は、方法1300を実行する。ステップ1310において、スライスアフィンインターフラグがスライス・セグメント・ヘッダ・レベル・シンタックスで提示されるかどうか、およびビデオシーケンスのデコーディングにおいてアフィンインターモードが使用されるようにビデオシーケンスのシンタックス要素が制約されるかどうかを指定するSPSアフィンインターフラグに対する第1の値が決定される。たとえば、SPSアフィンインターフラグはSPSシンタックス610または620内のSps_affine_inter_flagである。ステップ1320において、SPSアフィンインターフラグに対する第1の値は、ビットストリームにエンコードされる。ステップ1330において、スライスアフィンタイプフラグがスライス・セグメント・ヘッダ・レベル・シンタックスで提示されるかどうか、およびビデオシーケンスのデコーディングにおいて6パラメータアフィンモードが使用されるようにビデオシーケンスのシンタックス要素が制約されるかどうかを指定するSPSアフィンタイプフラグに対する第2の値が決定される、たとえば、SPSアフィンタイプフラグはSPSシンタックス610または620内のSps_affine_type_flagである。最後に、ステップ1340において、SPSアフィンタイプフラグに対する第2の値は、ビットストリームにエンコードされる。
図14は、本開示の一実施形態に係るビットストリームをデコードする方法1400を例示するフローチャートである。デコーダ180は、方法1400を実行する。ステップ1410において、SPSアフィンインターフラグおよびSPSアフィンタイプフラグを含むビットストリームが受信される。たとえば、SPSアフィンインターフラグはSPSシンタックス610または620内のSps_affine_inter_flagであり、SPSアフィンタイプフラグはSPSシンタックス610または620内のSps_affine_type_flagである。ステップ1420において、SPSアフィンインターフラグの第1の値に基づき、スライスアフィンインターフラグがスライス・セグメント・ヘッダ・レベル・シンタックスで提示されるかどうか、およびビデオシーケンスのデコーディングにおいてアフィンインターモードが使用されるようにビデオシーケンスのシンタックス要素が制約されるかどうかが決定される。最後に、ステップ1430において、SPSアフィンタイプフラグの第2の値に基づき、スライスアフィンタイプフラグがスライス・セグメント・ヘッダ・レベル・シンタックスで提示されるかどうか、およびビデオシーケンスのデコーディングにおいて6パラメータアフィンモードが使用されるようにビデオシーケンスのシンタックス要素が制約されるかどうかが決定される。
図15は、本開示の一実施形態に係るビットストリームをエンコードする方法1500を例示するフローチャートである。エンコーダ130は、方法1500を実行する。ステップ1510において、現在のコーディングユニットの予測サンプルを生成するために使用される動きモデルを指定する動きモデル指標変数に対する第1の値が決定される。動きモデルは、並進運動モデル、4パラメータアフィンモデル、または6パラメータアフィンモデルのうちの1つである。たとえば、動きモデル指標変数は、コーディングユニットシンタックス700におけるmotion_model_indicator[x0][y0]である。ステップ1520において、アフィンインターフラグに対する第2の値は、第1の値に基づき決定される。たとえば、アフィンインターフラグは、コーディングユニットシンタックス700におけるaffine_inter_flagである。ステップ1530において、アフィンインターフラグに対する第2の値は、ビットストリームにエンコードされる。ステップ1540において、アフィンタイプフラグに対する第3の値は、第1の値に基づき決定される。たとえば、アフィンタイプフラグは、コーディングユニットシンタックス700におけるaffine_type_flagである。最後に、ステップ1550において、アフィンタイプフラグに対する第3の値は、ビットストリームにエンコードされる。
図16は、本開示の一実施形態に係るビットストリームをデコードする方法1600を例示するフローチャートである。デコーダ180は、方法1600を実行する。ステップ1610において、アフィンインターフラグおよびアフィンタイプフラグを含むビットストリームが受信される。たとえば、アフィンインターフラグは、コーディングユニットシンタックス700におけるaffine_inter_flagであり、アフィンタイプフラグは、コーディングユニットシンタックス700におけるaffine_type_flagである。ステップ1620において、アフィンインターフラグの第1の値およびアフィンタイプフラグの第2の値に基づき、動きモデル指標変数の第3の値が決定される。たとえば、動きモデル指標変数は、コーディングユニットシンタックス700におけるmotion_model_indicator[x0][y0]である。最後に、ステップ1630において、第3の値に基づき、動きモデルが並進運動モデル、4パラメータアフィンモデル、または6パラメータアフィンモデルであるかどうかが決定される。
図17は、本開示の一実施形態に係る装置1700の概略図である。装置1700は、開示されている実施形態を実装してもよい。装置1700は、データを受信するための入力ポート1710およびRX1720と、データを処理するためのプロセッサ、ロジックユニット、ベースバンドユニット、またはCPU1730と、データを伝送するためのTX1740および出力ポート1750と、データを記憶するためのメモリ1760とを備える。装置1700は、光信号、電気信号、またはRF信号の入力または出力を提供するために、入力ポート1710、RX1720、TX1740、および出力ポート1750に結合されているOEコンポーネント、EOコンポーネント、またはRFコンポーネントも備えてもよい。
プロセッサ1730は、ハードウェア、ミドルウェア、ファームウェア、またはソフトウェアの任意の組み合わせである。プロセッサ1730は、1つ以上のCPUチップ、コア、FPGA、ASIC、またはDSPの任意の組み合わせを含む。プロセッサ1730は、入力ポート1710、RX1720、TX1740、出力ポート1750、およびメモリ1760と通信する。プロセッサ1730は、開示されている実施形態を実装する、動きモデルシグナリングコンポーネント1770を備える。したがって、動きモデルシグナリングコンポーネント1770を備えることで、装置1700の機能に実質的な改善がもたらされ、装置1700の別の状態への変換が引き起こされる。代替的に、メモリ1760は、動きモデルシグナリングコンポーネント1770を命令として記憶し、プロセッサ1730は、それらの命令を実行する。
メモリ1760は、ディスク、テープドライブ、またはソリッドステートドライブの任意の組み合わせを含む。装置1700はメモリ1760をオーバーフローデータ記憶装置デバイスとして使用し、装置1700が実行するためにプログラムを選択したときにそれらのプログラムを記憶し、それらのプログラムの実行時に装置1700が読み込む命令およびデータを記憶してもよい。メモリ1760は、揮発性であっても不揮発性であってもよく、ROM、RAM、TCAM、またはSRAMの任意の組み合わせであってよい。
図18は、コーディング手段1800の概略図である。コーディング手段1800は、ビデオコーディングデバイス1802で実装される(たとえば、エンコーダ130またはデコーダ180)。ビデオコーディングデバイス1802は、受信手段1801を含む。受信手段1801は、エンコードするためにピクチャを、または復号するためにビットストリームを受信するように構成される。ビデオコーディングデバイス1802は、受信手段1801に結合されている伝送手段1807を含む。伝送手段1807は、ビットストリームをデコーダに伝送するか、またはデコードされた画像を表示手段(たとえば、ディスプレイ190)に伝送するように構成される。
ビデオコーディングデバイス1802は、記憶装置手段1803を含む。記憶装置手段1803は、受信手段1801または伝送手段1807のうちの少なくとも一方に結合される。記憶装置手段1803は、命令を記憶するように構成される。ビデオコーディングデバイス1802は、処理手段1805も含む。処理手段1805は、記憶装置手段1803に結合される。処理手段1805は、開示されている実施形態を実行するために記憶装置手段1803に記憶された命令を実行するように構成される。
装置は、メモリ素子と、メモリ素子に結合され、1つ以上の候補予測モードを決定することと、ビットストリームを解析することで第1の指標を導出することであって、第1の指標は、任意のアフィンモデルが予め設定された領域内の画像ブロックに対する候補動きモデルであるかどうかを指定する、第1の指標を導出することと、第2の指標を、ビットストリームを解析することによって導出することであって、第2の指標は6パラメータアフィンモデルが画像ブロックに対する候補動きモデルであるかどうかを指定する、第2の指標を導出することと、第1の指標および第2の指標に基づき画像ブロックに対する1つ以上の候補予測モードを決定することとを行う方法を実行するように構成されているプロセッサ要素とを備える。
本発明は、以下の実施形態のうちの1つ以上を参照してもよい:
1.1つ以上の候補予測モードを決定する方法であって、プロセッサによって、ビットストリームを解析することで第1の指標を導出することであって、第1の指標は、任意のアフィンモデルが予め設定された領域内の画像ブロックに対する候補動きモデルであるかどうかを指定する、第1の指標を導出することと、プロセッサによって、第1の指標が1に設定されると決定することと、プロセッサによって、また第1の指標が1に設定されるという決定に基づき、ビットストリームを解析することで第2の指標を導出することであって、第2の指標は、6パラメータアフィンモデルが画像ブロックに対する候補動きモデルであるかどうかを指定する、第2の指標を導出することと、プロセッサによって、第1の指標および第2の指標に基づき画像ブロックに対する1つ以上の候補予測モードを決定することとを含む方法。2.第2の指標を導出する前に、この方法は、アフィンモデルが候補動きモデルであると決定することをさらに含み、この方法は、アフィンモデルが候補動きモデルであると決定したことに応答して第2の指標を導出することをさらに含む実施形態1に記載の方法。3.第1の指標を導出することは、ビットストリームのシーケンスのSPS)を解析することを含み、予め設定された領域は、シーケンス、シーケンス内の任意のスライス、またはシーケンス内の任意のCUを含み、第2の指標を導出することは、SPSを解析することを含む実施形態1から2のいずれか一項に記載の方法。4.アフィンモデルが候補動きモデルであることに応答して、シーケンス内のスライスのスライスヘッダを解析することによって第6の指標を導出することをさらに含み、第6の指標は、任意のアフィンモデルが、スライス内の画像ブロックに対する候補動きモデルであるかどうかを指定する実施形態1から3のいずれか一項に記載の方法。5.6パラメータアフィンモデルが候補動きモデルであることに応答して、シーケンス内のスライスのスライスヘッダを解析することによって第7の指標を導出することをさらに含み、第7の指標は、6パラメータアフィンモデルが、スライス内の画像ブロックに対する候補予測モデルであるかどうかを指定する実施形態1から4のいずれか一項に記載の方法。6.ビットストリームのスライスのスライスヘッダを解析することによって第1の指標を導出することであって、予め設定された領域は、スライスまたはスライス内の任意のコーディングユニットを含む、第1の指標をさらに導出することと、スライスヘッダを解析することによって第2の指標をさらに導出することとをさらに含む実施形態1から5のいずれか一項に記載の方法。7.アフィンモデルが候補動きモデルであることに応答して、ビットストリームを解析することによって第3の指標を導出することをさらに含み、第3の指標は、画像ブロックの予測モードがアフィンマージモードであるかどうかを指定する、実施形態1から6のいずれか一項に記載の方法。8.アフィンモデルが候補動きモデルであることに応答して、この方法は、ビットストリームを解析することによって第4の指標を導出することと、第4の指標が第1の値であることに応答して、画像ブロックの予測モードがアフィンインターモードでないと決定することと、第4の指標が第2の値であることに応答して、予測モードがアフィンインターモードであると決定することであって、アフィンインターモードは6パラメータアフィンモデルモードまたは4パラメータアフィンモデルモードであることを指定する、決定することとをさらに含む実施形態1から7のいずれか一項に記載の方法。9.予測モードがアフィンインターモードであることに応答して、この方法は、ビットストリームを解析することによって第5の指標を導出することと、第5の指標が第3の値であることに応答して、予測モードが6パラメータアフィンモデルモードであると決定することと、第5の指標が第4の値であることに応答して、予測モードが4パラメータアフィンモデルモードであると決定することとをさらに含む実施形態1から9のいずれか一項に記載の方法。10.第1の値が1であり、第2の値が0であり、第3の値が0であり、第4の値が1であることに応答して、この方法は、第4の指標の値と第5の指標の値とを加算することによって合計値を導出することと、合計値が0より大きいことに応答して、ビットストリームを解析することによってMVD情報の第1のセットを導出することと、合計値が1より大きいことに応答して、ビットストリームを解析することによってMVD情報の第2のセットを導出することとをさらに含む実施形態1から9のいずれか一項に記載の方法。11.1つ以上の候補予測モードを決定するための装置であって、メモリと、メモリに結合され、実施形態1から10のいずれか一項を実行するように構成されているプロセッサとを備える装置。12.プロセッサによって実行されたときに装置に実施形態1から10のいずれか一項を実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を備えるコンピュータプログラム製品。
13.方法であって、アフィンインターフラグがコーディングユニットレベルシンタックスで提示されるかどうかを指定するSPSアフィンインターフラグに対する第1の値を決定することと、SPSアフィンインターフラグに対する第1の値をビットストリームにエンコードすることと、アフィンタイプフラグがコーディングユニットレベルシンタックスで提示されるかどうかを指定するSPSアフィンタイプフラグに対する第2の値を決定することと、SPSアフィンタイプフラグに対する第2の値をビットストリームにエンコードすることとを含む方法。14.SPSアフィンタイプフラグは、第1の値に基づき条件付きでシグナリングされる実施形態13に記載の方法。15.アフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを指定するアフィンインターフラグに対する第3の値を決定することと、アフィンインターフラグに対する第3の値をビットストリームにエンコードすることと、6パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを指定するアフィンタイプフラグに対する第4の値を決定することと、アフィンタイプフラグに対する第4の値をビットストリームにエンコードすることとをさらに含む実施形態13から14のいずれか一項に記載の方法。16.アフィンインターフラグは、第1の値に基づき条件付きでシグナリングされ、アフィンタイプフラグは、第2の値に基づき条件付きでシグナリングされる実施形態13から15のいずれか一項に記載の方法。17.装置であって、メモリと、メモリに結合され、実施形態13から16のいずれか一項を実行するように構成されているプロセッサとを備える装置。18.プロセッサによって実行されたときに装置に実施形態13から16のいずれか一項を実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を備えるコンピュータプログラム製品。
19.方法であって、SPSアフィンインターフラグおよびSPSアフィンタイプフラグを含むビットストリームを受信することと、SPSアフィンインターフラグの第1の値に基づき、アフィンインターフラグがコーディングユニットレベルシンタックスで提示されるかどうかを決定することと、SPSアフィンタイプフラグの第2の値に基づき、アフィンタイプフラグがコーディングユニットレベルシンタックスで提示されるかどうかを決定することとを含む方法。20.SPSアフィンタイプフラグは、第1の値に基づき条件付きでシグナリングされる実施形態19に記載の方法。21.ビットストリームは、アフィンインターフラグとアフィンタイプフラグとをさらに含み、この方法は、アフィンインターフラグの第3の値に基づき、アフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを決定することと、アフィンタイプフラグの第4の値に基づき、6パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを決定することとをさらに含む実施形態19から20のいずれか一項に記載の方法。22.アフィンインターフラグは、第1の値に基づき条件付きでシグナリングされ、アフィンタイプフラグは、第2の値に基づき条件付きでシグナリングされる実施形態19から21のいずれか一項に記載の方法。23.装置であって、メモリと、メモリに結合され、実施形態19から22のいずれか一項を実行するように構成されているプロセッサとを備える装置。24.プロセッサによって実行されたときに装置に実施形態19から22のいずれか一項を実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を備えるコンピュータプログラム製品。
25.方法であって、現在のピクチャのデコーディングにおいてアフィンインターモードが使用されるように現在のピクチャのシンタックス要素が制約されるかどうかを指定するスライスアフィンインターフラグに対する第1の値を決定することと、スライスアフィンインターフラグに対する第1の値をビットストリームにエンコードすることと、現在のピクチャのデコーディングにおいて6パラメータアフィンモードが使用されるように現在のピクチャのシンタックス要素が制約されるかどうかを指定するスライスアフィンタイプフラグに対する第2の値を決定することと、スライスアフィンタイプフラグに対する第2の値をビットストリームにエンコードすることとをさらに含む方法。26.スライスアフィンタイプフラグは、第1の値に基づき条件付きでシグナリングされる実施形態24に記載の方法。27.アフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを指定するアフィンインターフラグに対する第3の値を決定することと、アフィンインターフラグに対する第3の値をビットストリームにエンコードすることと、6パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを指定するアフィンタイプフラグに対する第4の値を決定することと、アフィンタイプフラグに対する第4の値をビットストリームにエンコードすることとをさらに含む実施形態25から26のいずれか一項に記載の方法。28.アフィンインターフラグは、第1の値に基づき条件付きでシグナリングされ、アフィンタイプフラグは、第2の値に基づき条件付きでシグナリングされる実施形態25から27のいずれか一項に記載の方法。29.装置であって、メモリと、メモリに結合され、実施形態25から28のいずれか一項を実行するように構成されているプロセッサとを備える装置。30.プロセッサによって実行されたときに装置に実施形態25から28のいずれか一項を実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を備えるコンピュータプログラム製品。
31.方法であって、スライスアフィンインターフラグとスライスアフィンタイプフラグとを含むビットストリームを受信することと、スライスアフィンインターフラグの第1の値に基づき、現在のピクチャのデコーディングにおいてアフィンインターモードが使用されるように現在のピクチャのシンタックス要素が制約されるかどうかを決定することと、スライスアフィンタイプフラグの第2の値に基づき、現在のピクチャのデコーディングにおいて6パラメータアフィンモードが使用されるように現在のピクチャのシンタックス要素が制約されるかどうかを決定することとを含む方法。32.スライスアフィンタイプフラグは、第1の値に基づき条件付きでシグナリングされる実施形態30に記載の方法。33.ビットストリームは、アフィンインターフラグとアフィンタイプフラグとをさらに含み、この方法は、アフィンインターフラグの第3の値に基づき、アフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを決定することと、アフィンタイプフラグの第4の値に基づき、6パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを決定することとをさらに含む実施形態31から32のいずれか一項に記載の方法。34.アフィンインターフラグは、第1の値に基づき条件付きでシグナリングされ、アフィンタイプフラグは、第2の値に基づき条件付きでシグナリングされる実施形態31から33のいずれか一項に記載の方法。35.装置であって、メモリと、メモリに結合され、実施形態31から34のいずれか一項を実行するように構成されているプロセッサとを備える装置。36.プロセッサによって実行されたときに装置に実施形態31から34のいずれか一項を実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を備えるコンピュータプログラム製品。
37.方法であって、スライスアフィンインターフラグがスライス・セグメント・ヘッダ・レベル・シンタックスで提示されるかどうか、およびビデオシーケンスのデコーディングにおいてアフィンインターモードが使用されるようにビデオシーケンスのシンタックス要素が制約されるかどうかを指定するSPSアフィンインターフラグに対する第1の値を決定することと、SPSアフィンインターフラグに対する第1の値をビットストリームにエンコードすることと、スライスアフィンタイプフラグがスライス・セグメント・ヘッダ・レベル・シンタックスで提示されるかどうか、およびビデオシーケンスのデコーディングにおいて6パラメータアフィンモードが使用されるようにビデオシーケンスのシンタックス要素が制約されるかどうかを指定するSPSアフィンタイプフラグに対する第2の値を決定することと、SPSアフィンタイプフラグに対する第2の値をビットストリームにエンコードすることとを含む方法。38.SPSアフィンタイプフラグは、第1の値に基づき条件付きでシグナリングされる実施形態37に記載の方法。39.現在のピクチャのデコーディングにおいてアフィンインターモードが使用されるように現在のピクチャのシンタックス要素が制約されるかどうかを指定するスライスアフィンインターフラグに対する第3の値を決定することと、スライスアフィンインターフラグに対する第3の値をビットストリームにエンコードすることと、現在のピクチャのデコーディングにおいて6パラメータアフィンモードが使用されるように現在のピクチャのシンタックス要素が制約されるかどうかを指定するスライスアフィンタイプフラグに対する第4の値を決定することと、スライスアフィンタイプフラグに対する第2の値をビットストリームにエンコードすることとをさらに含む実施形態37から38のいずれか一項に記載の方法。40.スライスアフィンインターフラグは、第1の値に基づき条件付きでシグナリングされ、スライスアフィンタイプフラグは、第2の値に基づき条件付きでシグナリングされる実施形態37から39のいずれか一項に記載の方法。41.アフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを指定するアフィンインターフラグに対する第5の値を決定することと、アフィンインターフラグに対する第5の値をビットストリームにエンコードすることと、6パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを指定するアフィンタイプフラグに対する第6の値を決定することと、アフィンタイプフラグに対する第6の値をビットストリームにエンコードすることとをさらに含む実施形態37から40のいずれか一項に記載の方法。42.アフィンインターフラグは、第3の値に基づき条件付きでシグナリングされ、アフィンタイプフラグは、第4の値に基づき条件付きでシグナリングされる実施形態37から41のいずれか一項に記載の方法。43.装置であって、メモリと、メモリに結合され、実施形態37から42のいずれか一項を実行するように構成されているプロセッサとを備える装置。44.プロセッサによって実行されたときに装置に実施形態37から42のいずれか一項を実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を備えるコンピュータプログラム製品。
45.方法であって、SPSアフィンインターフラグおよびSPSアフィンタイプフラグを含むビットストリームを受信することと、SPSアフィンインターフラグの第1の値に基づき、スライスアフィンインターフラグがスライス・セグメント・ヘッダ・レベル・シンタックスで提示されるかどうか、およびビデオシーケンスのデコーディングにおいてアフィンインターモードが使用されるようにビデオシーケンスのシンタックス要素が制約されるかどうかを決定することと、SPSアフィンタイプフラグの第2の値に基づき、スライスアフィンタイプフラグがスライス・セグメント・ヘッダ・レベル・シンタックスで提示されるかどうか、およびビデオシーケンスのデコーディングにおいて6パラメータアフィンモードが使用されるようにビデオシーケンスのシンタックス要素が制約されるかどうかを決定することとを含む方法。46.SPSアフィンタイプフラグは、第1の値に基づき条件付きでシグナリングされる実施形態44に記載の方法。47.ビットストリームは、スライスアフィンインターフラグとスライスアフィンタイプフラグとをさらに含み、この方法は、スライスアフィンインターフラグの第3の値に基づき、現在のピクチャのデコーディングにおいてアフィンインターモードが使用されるように現在のピクチャのシンタックス要素が制約されるかどうかを決定することと、スライスアフィンタイプフラグの第4の値に基づき、現在のピクチャのデコーディングにおいて6パラメータアフィンモードが使用されるように現在のピクチャのシンタックス要素が制約されるかどうかを決定することとをさらに含む実施形態45から46のいずれか一項に記載の方法。48.スライスアフィンインターフラグは、第1の値に基づき条件付きでシグナリングされ、スライスアフィンタイプフラグは、第2の値に基づき条件付きでシグナリングされる実施形態45から47のいずれか一項に記載の方法。49.ビットストリームは、アフィンインターフラグとアフィンタイプフラグとをさらに含み、この方法は、アフィンインターフラグの第5の値に基づき、アフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを決定することと、アフィンタイプフラグの第6の値に基づき、6パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを決定することとをさらに含む実施形態45から48のいずれか一項に記載の方法。50.アフィンインターフラグは、第3の値に基づき条件付きでシグナリングされ、アフィンタイプフラグは、第4の値に基づき条件付きでシグナリングされる実施形態45から49のいずれか一項に記載の方法。51.装置であって、メモリと、メモリに結合され、実施形態45から50のいずれか一項を実行するように構成されているプロセッサとを備える装置。52.プロセッサによって実行されたときに装置に実施形態45から50のいずれか一項を実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を備えるコンピュータプログラム製品。
53.方法であって、現在のコーディングユニットの予測サンプルを生成するために使用される動きモデルを指定する動きモデル指標変数に対する第1の値を決定することであって、動きモデルは、並進運動モデル、4パラメータアフィンモデル、または6パラメータアフィンモデルのうちの1つである、第1の値を決定することと、第1の値に基づきアフィンインターフラグに対する第2の値を決定することと、アフィンインターフラグに対する第2の値をビットストリームにエンコードすることと、第1の値に基づきアフィンタイプフラグに対する第3の値を決定することと、アフィンタイプフラグに対する第3の値をビットストリームにエンコードすることとを含む方法。54.装置であって、メモリと、メモリに結合され、実施形態53を実行するように構成されているプロセッサとを備える装置。55.プロセッサによって実行されたときに装置に実施形態53を実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を備えるコンピュータプログラム製品。
56.方法であって、アフィンインターフラグおよびアフィンタイプフラグを含むビットストリームを受信することと、アフィンインターフラグの第1の値およびアフィンタイプフラグの第2の値に基づき、動きモデル指標変数の第3の値を決定することと、第3の値に基づき、動きモデルが並進運動モデル、4パラメータアフィンモデル、または6パラメータアフィンモデルであるかどうか決定することとを含む方法。57.装置であって、メモリと、メモリに結合され、実施形態56を実行するように構成されているプロセッサとを備える装置。58.プロセッサによって実行されたときに装置に実施形態56を実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を備えるコンピュータプログラム製品。
1.1つ以上の候補予測モードを決定する方法であって、プロセッサによって、ビットストリームを解析することにより第1の指標を導出することであって、第1の指標は、任意のアフィンモデルが、予め設定された領域内の画像ブロックに対する候補動きモデルであることが許されるかどうかを指定する、第1の指標を導出することと、プロセッサによって、第1の指標がアフィンモデルが候補動きモデルであることを許されることを示す第1の値に等しいときにビットストリームを解析することによって第2の指標を導出することであって、第2の指標は、6パラメータアフィンモデルが画像ブロックに対する候補動きモデルであることを許されるかどうかを指定する、第2の指標を導出することと、プロセッサによって、第1の指標および第2の指標に基づき画像ブロックに対する1つ以上の候補予測モードを決定することとを含む方法。2.第1の指標を導出することは、ビットストリームのシーケンスのSPSを解析することを含み、予め設定された領域は、シーケンス、シーケンス内の任意のスライス、またはシーケンス内の任意のCUを含み、第2の指標を導出することは、第2の指標を導出するためにSPSを解析することを含む実施形態1のいずれかに記載の方法。3.アフィンモデルが候補動きモデルであることを許されたことに応答して、シーケンス内の画像ブロックのグループのピクチャ/タイル/タイルグループヘッダを解析することによって第6の指標を導出することをさらに含み、第6の指標は、任意のアフィンモデルが、グループ内の画像ブロックに対する候補動きモデルであることが許されるかどうかを指定する実施形態1から2のいずれか一項に記載の方法。4.6パラメータアフィンモデルが候補動きモデルであることを許されたことに応答して、シーケンス内の画像ブロックのグループのピクチャ/タイル/タイルグループヘッダを解析することによって第7の指標を導出することをさらに含み、第7の指標は、6パラメータアフィンモデルが、グループ内の画像ブロックに対する候補予測モデルであるかどうかを指定する実施形態1から3のいずれか一項に記載の方法。5.第1の指標および/または第2の指標は、画像ブロックのグループのピクチャヘッダで運ばれる実施形態1から4のいずれか一項に記載の方法。6.アフィンモデルが候補動きモデルであることを許されたことに応答して、ビットストリームを解析することによって第3の指標を導出することをさらに含み、第3の指標は、画像ブロックの予測モードがアフィンマージモードであるかどうかを指定する、実施形態1から5のいずれか一項に記載の方法。7.アフィンモデルが候補動きモデルであることを許されたことに応答して、この方法は、ビットストリームを解析することによって第4の指標を導出することと、第4の指標が第2の値であることに応答して、画像ブロックの予測モードがアフィンインターモードでないと決定することと、第4の指標が第1の値であることに応答して、予測モードがアフィンインターモードであると決定することとをさらに含み、アフィンインターモードは、第2の指標が第1の値であることに応答して、6パラメータアフィンモデルモードもしくは4パラメータアフィンモデルモードであるか、またはアフィンインターモードは、第2の指標が第2の値であることに応答して、4パラメータアフィンモデルモードである実施形態1から6のいずれか一項に記載の方法。8.予測モードがアフィンインターモードであることに応答して、第2の指標は、6パラメータアフィンモデルが画像ブロックに対する候補動きモデルであることを許されることを示し、この方法は、ビットストリームを解析することによって第5の指標を導出することと、第5の指標が第1の値であることに応答して、予測モードが6パラメータアフィンモデルモードであると決定することと、第5の指標が第2の値であることに応答して、予測モードが4パラメータアフィンモデルモードであると決定することとをさらに含む実施形態1から7のいずれか一項に記載の方法。9.合計値が0より大きいことに応答して、ビットストリームを解析することによってMVD情報の第1のセットを導出することをさらに含み、合計値は、第4の指標の値と第5の指標の値との和である実施形態1から8のいずれか一項に記載の方法。10.合計値が1より大きいことに応答して、ビットストリームを解析することによってMVD情報の第2のセットを導出することをさらに含み、合計値は、第4の指標の値と第5の指標の値との和である実施形態1から9のいずれか一項に記載の方法。11.1つ以上の候補予測モードを決定するための装置であって、メモリと、メモリに結合され、実施形態1から10のいずれか一項を実行するように構成されているプロセッサとを備える装置。12.プロセッサによって実行されたときに装置に実施形態1から10のいずれか一項を実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を備えるコンピュータプログラム製品。
13.方法であって、SPSにおけるアフィンインターフラグの値をビットストリームにエンコードすることであって、SPSにおけるアフィンインターフラグの値は、アフィンインターフラグがコーディングユニットレベルシンタックスで提示されるかどうかを指定する、エンコードすることと、SPSアフィンタイプフラグの値をビットストリームにエンコードすることであって、値アフィンタイプフラグは、アフィンタイプフラグがコーディングユニットレベルシンタックスで提示されることを指定する、エンコードすることとを含む方法。14.SPSアフィンタイプフラグは、SPSアフィンタイプフラグの値が第1の値または第2の値であることに基づき条件付きでシグナリング/エンコードされる実施形態13に記載の方法。15.アフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するのを許されているかどうかを指定するアフィンインターフラグに対する値をエンコードすることと、6パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するのを許されているかどうかを指定するアフィンタイプフラグに対する値をエンコードすることとをさらに含む実施形態13から14のいずれか一項に記載の方法。16.アフィンインターフラグは、アフィンインターフラグの値が第1の値または第2の値であることに基づき条件付きでシグナリングされ、アフィンタイプフラグは、アフィンタイプフラグの値が第1の値または第2の値であることに基づき条件付きでシグナリングされる実施形態15に記載の方法。17.装置であって、メモリと、メモリに結合され、実施形態13から16のいずれか一項を実行するように構成されているプロセッサとを備える装置。18.プロセッサによって実行されたときに装置に実施形態13から16のいずれか一項を実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を備えるコンピュータプログラム製品。
19.方法であって、SPSアフィンインターフラグおよびSPSアフィンタイプフラグをビットストリームから取り出すことと、SPSアフィンインターフラグの値に基づき、アフィンインターフラグがコーディングユニットレベルシンタックスで提示されるかどうかを決定することと、SPSアフィンタイプフラグおよびコーディングユニットレベルシンタックスにおけるアフィンインターフラグの値に基づき、アフィンタイプフラグがコーディングユニットレベルシンタックスで提示されるかどうかを決定することとを含む方法。20.SPSアフィンタイプフラグは、SPSアフィンタイプフラグがビットストリームから正常に取り出せない場合として第2の値であると推論される実施形態19に記載の方法。21.この方法は、アフィンインターフラグおよびアフィンタイプフラグをビットストリームから取り出し、アフィンインターフラグの値に基づき、アフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するのを許されるかどうかを決定することと、アフィンタイプフラグの値に基づき、6パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するのを許されるかどうかを決定することとをさらに含む実施形態19から20のいずれか一項に記載の方法。22.アフィンインターフラグは、アフィンインターフラグがビットストリームから正常に取り出せない場合に第2の値であると推論され、アフィンタイプフラグは、アフィンタイプフラグがビットストリームから正常に取り出せない場合に第2の値であると推論される実施形態19から21のいずれか一項に記載の方法。23.装置であって、メモリと、メモリに結合され、実施形態19から22のいずれか一項を実行するように構成されているプロセッサとを備える装置。24.プロセッサによって実行されたときに装置に実施形態19から22のいずれか一項を実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を備えるコンピュータプログラム製品。
25.方法であって、スライスアフィンインターフラグに関連付けられているスライスのデコーディングにおいてアフィンインターモードが使用されるように現在のピクチャ内の現在のスライスのシンタックス要素が制約されるかどうかを指定するスライスアフィンインターフラグに対する第1の値を決定することと、スライスアフィンインターフラグに対する第1の値をビットストリームにエンコードすることと、スライスアフィンタイプフラグに関連付けられているスライスのデコーディングにおいて6パラメータアフィンモードが使用されるように現在のピクチャ内の現在のスライスのシンタックス要素が制約されるかどうかを指定するスライスアフィンタイプフラグに対する第2の値を決定することと、スライスアフィンタイプフラグに対する第2の値をビットストリームにエンコードすることとを含む方法。26.スライスアフィンタイプフラグは、第1の値に基づき条件付きでシグナリング/エンコードされる実施形態25に記載の方法。27.アフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを指定するアフィンインターフラグに対する第3の値を決定することと、アフィンインターフラグに対する第3の値をビットストリームにエンコードすることと、6パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを指定するアフィンタイプフラグに対する第4の値を決定することと、アフィンタイプフラグに対する第4の値をビットストリームにエンコードすることとをさらに含む実施形態25から26のいずれか一項に記載の方法。28.アフィンインターフラグは、第1の値に基づき条件付きでシグナリングされ、アフィンタイプフラグは、第2の値に基づき条件付きでシグナリングされる実施形態25から27のいずれか一項に記載の方法。29.装置であって、メモリと、メモリに結合され、実施形態26から29のいずれか一項を実行するように構成されているプロセッサとを備える装置。30.プロセッサによって実行されたときに装置に実施形態26から28のいずれか一項を実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を備えるコンピュータプログラム製品。
31.方法であって、スライスアフィンインターフラグおよびスライスアフィンタイプフラグをビットストリームから取り出すことと、スライスアフィンインターフラグの値に基づき、アフィンインターモードが現在のピクチャのデコーディングにおいて使用されることを許されるかどうかを決定することと、スライスアフィンタイプフラグの値に基づき、6パラメータアフィンモードが現在のピクチャのデコーディングにおいて使用されることを許されるかどうかを決定することとを含む方法。32.スライスアフィンタイプフラグは、スライスアフィンタイプフラグがビットストリームから正常に取り出せないときに第2の値であると推論される実施形態31に記載の方法。33.ビットストリームからアフィンインターフラグとアフィンタイプフラグとを取り出すことと、アフィンインターフラグの値に基づき、アフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されることを許されるかどうかを決定することと、アフィンタイプフラグの値に基づき、6パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されることを許されるかどうかを決定することとをさらに含む実施形態31から32のいずれか一項に記載の方法。34.アフィンインターフラグは、アフィンインターフラグがビットストリームから正常に取り出せない場合に第2の値であると推論され、アフィンタイプフラグは、アフィンタイプフラグがビットストリームから正常に取り出せない場合に第2の値であると推論される実施形態31から33のいずれか一項に記載の方法。35.装置であって、メモリと、メモリに結合され、実施形態32から34のいずれか一項を実行するように構成されているプロセッサとを備える装置。36.プロセッサによって実行されたときに装置に実施形態32から34のいずれか一項を実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を備えるコンピュータプログラム製品。
37.方法であって、SPSにおけるアフィンインターフラグに対する値をシグナリングすることであって、アフィンインターフラグに対する値は、アフィンインターモードがビデオシーケンスのデコーディングにおいて使用されることを許されるか、またはビデオシーケンスのシンタックス要素がビデオシーケンスのデコーディングにおいてアフィンインターモードが使用されないように制約されるものとするかを指定する、シグナリングすることと、アフィンインターモードがビデオシーケンスをデコードする際に使用されることを許されることをアフィンインターフラグの値で指定する場合にSPSアフィンタイプフラグに対する値をシグナリングすることであって、SPSアフィンタイプフラグに対する値は、6パラメータアフィンモードがビデオシーケンスのデコーディングにおいて使用されることを許されるか、またはビデオシーケンスのシンタックス要素がビデオシーケンスのデコーディングにおいて6パラメータアフィンモードが使用されないように制約されるものとするかを指定する、シグナリングすることとを含む方法。38.SPSアフィンタイプフラグは、SPSにおけるアフィンインターフラグに対する値が第1の値または第2の値であることに基づき条件付きでシグナリングされ、第1の値は第2の値と異なる実施形態37に記載の方法。39.スライスヘッダ内のスライスアフィンインターフラグに対する値をシグナリングすることであって、スライスアフィンインターフラグに対する値は、アフィンインターモードがスライスアフィンインターフラグに関連付けられているスライスのデコーディングにおいて使用されることを許されるか、またはビデオシーケンスのシンタックス要素がスライスのデコーディングにおいてアフィンインターモードが使用されないように制約されるものとするかを指定する、シグナリングすることと、アフィンインターモードがスライスをデコードする際に使用されることを許されることをスライスアフィンインターフラグの値で指定する場合にスライスアフィンタイプフラグに対する値をシグナリングすることであって、スライスアフィンタイプフラグに対する値は、6パラメータアフィンモードがスライスのデコーディングにおいて使用されることを許されるか、またはビデオシーケンスのシンタックス要素がスライスのデコーディングにおいて6パラメータアフィンモードが使用されないように制約されるものとするかを指定する、シグナリングすることとを含む実施形態37から38のいずれか一項に記載の方法。40.スライスアフィンインターフラグは、SPSにおけるスライスアフィンインターフラグに対する値が第3の値または第4の値であることに基づき条件付きでシグナリングされ、第3の値は第4の値と異なっており、スライスアフィンタイプフラグは、SPSにおけるスライスアフィンタイプフラグに対する値が第5の値または第6の値であることに基づき条件付きでシグナリングされ、第5の値は第6の値と異なる実施形態37から39のいずれか一項に記載の方法。41.アフィンインターフラグに対する値をビットストリームにエンコードすることによってアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを指定するアフィンインターフラグに対する値をシグナリングすることと、アフィンタイプフラグに対する値をビットストリームにエンコードすることによって6パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを指定するアフィンタイプフラグに対する値をシグナリングすることとを含む実施形態37から40のいずれか一項に記載の方法。42.アフィンインターフラグは、アフィンインターフラグに対する値が第1の値または第2の値であることに基づき条件付きでシグナリングされ、アフィンタイプフラグは、アフィンタイプフラグに対する値が第1の値または第2の値であることに基づき条件付きでシグナリングされる実施形態37から41のいずれか一項に記載の方法。43.装置であって、メモリと、メモリに結合され、実施形態37から42のいずれか一項を実行するように構成されているプロセッサとを備える装置。44.プロセッサによって実行されたときに装置に実施形態37から42のいずれか一項を実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を備えるコンピュータプログラム製品。
45.方法であって、ビットストリームから、SPSアフィンインターフラグを取り出すことと、SPSアフィンインターフラグの値に基づき、アフィンインターモードがビデオシーケンスのデコーディングにおいて使用されることを許されるか、またはビデオシーケンスのシンタックス要素がビデオシーケンスのデコーディングにおいてアフィンインターモードが使用されないように制約されるものとするかを決定することと、ビットストリームから、アフィンインターフラグの場合にSPSアフィンタイプフラグを取り出すことと、SPSアフィンタイプフラグの値に基づき、6パラメータアフィンモードがビデオシーケンスのデコーディングにおいて使用されるか、またはビデオシーケンスのシンタックス要素がビデオシーケンスのデコーディングにおいて6パラメータアフィンモードが使用されないように制約されるものとするかを決定することとを含む方法。46.SPSアフィンタイプフラグは、SPSアフィンタイプフラグの値が第1の値または第2の値であることに基づき条件付きでシグナリングされる実施形態45に記載の方法。47.ビットストリームから、スライスアフィンインターフラグを取り出すことと、スライスアフィンインターフラグの値に基づき、アフィンインターモードがスライスアフィンインターフラグに関連付けられているスライスのデコーディングにおいて使用されることを許されるか、またはスライスのシンタックス要素がスライスのデコーディングにおいてアフィンインターモードが使用されないように制約されるものとするかを決定することと、ビットストリームから、アフィンインターフラグの値の場合にスライスアフィンタイプフラグを取り出すことと、スライスアフィンタイプフラグの値に基づき、6パラメータアフィンモードがスライスのデコーディングにおいて使用されるか、またはスライスのシンタックス要素がスライスをデコードする際に6パラメータアフィンモードが使用されないように制約されるものとするかを決定することとをさらに含む実施形態45から46のいずれか一項に記載の方法。48.スライスアフィンインターフラグは、スライスアフィンインターフラグの値が第3の値または第4の値であることに基づき条件付きでシグナリングされ、スライスアフィンタイプフラグは、スライスアフィンタイプフラグの値が第5の値または第6の値であることに基づき条件付きでシグナリングされる実施形態45から46のいずれか一項に記載の方法。49.この方法は、ビットストリームからアフィンインターフラグを取り出すことと、アフィンインターフラグの値に基づき、アフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを決定することと、アフィンアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用される場合にビットストリームからアフィンタイプフラグを取り出すことと、アフィンタイプフラグの値に基づき、6パラメータアフィンモデルベースの動き補償が現在のコーディングユニットの予測サンプルを生成するために使用されるかどうかを決定することとをさらに含む実施形態45から46のいずれか一項に記載の方法。50.アフィンインターフラグは、アフィンインターフラグが正常に取り出せない場合に第2の値であると推論され、アフィンタイプフラグは、アフィンタイプフラグが正常に取り出せない場合に第2の値であると推論される実施形態45から49のいずれか一項に記載の方法。51.装置であって、メモリと、メモリに結合され、実施形態45から50のいずれか一項を実行するように構成されているプロセッサとを備える装置。52.プロセッサによって実行されたときに装置に実施形態45から50のいずれか一項を実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を備えるコンピュータプログラム製品。
53.方法であって、アフィンインターフラグに対する第2の値を決定することと、アフィンインターフラグに対する第2の値をビットストリームにエンコードすることと、アフィンタイプフラグに対する第3の値を決定することと、アフィンタイプフラグに対する第3の値をビットストリームにエンコードすることと、現在のコーディングユニットの予測サンプルを生成するために使用される動きモデルを指定する動きモデル指標変数に対する第1の値を決定することであって、動きモデルは、並進運動モデル、4パラメータアフィンモデル、または6パラメータアフィンモデルのうちの1つであり、動きモデル指標変数に対する第1の値は、アフィンインターフラグに対する第2の値とアフィンタイプフラグに対する第3の値との和によって決定される、第1の値を決定することとを含む方法。54.装置であって、メモリと、メモリに結合され、実施形態53を実行するように構成されているプロセッサとを備える装置。55.プロセッサによって実行されたときに装置に実施形態53を実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を備えるコンピュータプログラム製品。
56.方法であって、アフィンインターフラグおよびアフィンタイプフラグを含むビットストリームを受信することと、アフィンインターフラグの第1の値およびアフィンタイプフラグの第2の値に基づき、動きモデル指標変数の第3の値を決定することと、第3の値に基づき、動きモデルが並進運動モデル、4パラメータアフィンモデル、または6パラメータアフィンモデルであるかどうか決定することとを含む方法。57.アフィンインターフラグの第1の値およびアフィンタイプフラグの第2の値に基づき、動きモデル指標変数の第3の値を決定することは、アフィンインターフラグの第1の値およびアフィンタイプフラグの第2の値の和に基づき、動きモデル指標変数の第3の値を決定することを含む実施形態56に記載の方法。58.装置であって、メモリと、メモリに結合され、実施形態56または57を実行するように構成されているプロセッサとを備える装置。59.プロセッサによって実行されたときに装置に実施形態56または57を実行させる非一時的媒体上に記憶されているコンピュータ実行可能命令を備えるコンピュータプログラム製品。
本開示においていくつかの実施形態が提供されているが、開示されているシステムおよび方法は、本開示の精神または範囲から逸脱することなく多くの他の特定の形態で具現化されてもよいと理解されてもよい。本発明の例は、例示的であり、制限的でない、と考えられるべきであり、本発明は、明細書に示されている詳細に限定されるべきでない。たとえば、様々な要素またはコンポーネントは、別のシステム内に組み合わされ、もしくは一体化されてもよく、またはいくつかの特徴が省略され、もしくは実施されなくてもよい。
それに加えて、離散または分離していると様々な実施形態において説明され例示されている技術、システム、サブシステム、および方法は、本開示の範囲から逸脱することなく他のシステム、コンポーネント、技術、または方法と組み合わされ、もしくは一体化されてもよい。結合されるものとして図示されるかもしくは説明されている他の項目は、電気的であろうと機械的であろうと他の方法であろうと、何らかのインターフェース、デバイス、または中間コンポーネントを通じて直接的に結合されてもよく、または間接的に結合され、もしくは通信してもよい。変更、代用、および改変の他の例は、当業者によって確かめることができ、本明細書で開示されている精神および範囲から逸脱することなくなされてもよい。