(57)【要約】  サブブロックベース予測のための装置，システム，および方法について述べた。代表的な態様では、ビデオ処理のための方法は、現在のビデオブロックの第１の成分を第１のサブブロックのセットに分割し、現在のビデオブロックの第２の成分を第２サブブロックセットに分割することを含む。第２の成分のサブブロックは、第１の成分の一以上のサブブロックに対応する。本方法はまた、現在のビデオブロックのカラーフォーマットに基づいて、第１のカラー成分の一以上の対応するサブブロックの動きベクトルに基づいて、第２の成分のサブブロックの動きベクトルを導出するステップを含む。
2021528011.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ符号化の方法であって、
現在のビデオブロックの第１成分を第１サブブロックセットに分割することと、
現在のビデオブロックの第２成分を第２サブブロックセットに分割することであって、前記第２成分のサブブロックが前記第１成分の１以上のサブブロックに対応する、分割することと、
前記現在のビデオブロックのカラーフォーマットに基づいて、前記第１成分の１以上の対応するサブブロックの動きベクトルに基づいて、前記第２成分のサブブロックの動きベクトルを導出することと
を有する方法。
【請求項２】
前記第２成分のサブブロックは、前記第１成分のサブブロックに対応し、前記導出することは、
前記第１成分のサブブロックの動きベクトルをコピーすることによって、中間動きベクトルセットを計算することと、
中間動きベクトルセットに係数を適用して、前記導出される動きベクトルを取得することであり、前記係数はカラーフォーマットに関連付けられる、
請求項１に記載の方法。
【請求項３】
前記カラーフォーマットは４：４：４ではなく、前記第１サブブロックセットの少なくとも１つのサブブロックのサイズは、前記第２サブブロックセットの少なくとも１つのサブブロックのサイズとは異なる、請求項１または２に記載の方法。
【請求項４】
前記カラーフォーマットは４：４：４であり、前記第１サブブロックセットのうちの少なくとも１つのサブブロックのサイズは、前記第２サブブロックセットのうちの少なくとも１つのサブブロックのサイズと同じである、
請求項１または２に記載の方法。
【請求項５】
前記カラーフォーマットは４：４：４ではなく、前記第１サブブロックセットのうちの少なくとも１つのサブブロックのサイズは、前記第２サブブロックセットのうちの少なくとも１つのサブブロックのサイズと同じであり、前記第２成分のサブブロックは、前記第１成分の複数のサブブロックに対応する、
請求項１に記載の方法。
【請求項６】
前記第２成分の前記サブブロックの前記動きベクトルのうちの少なくとも１つは、前記第１成分の前記複数のサブブロックの対応する動きベクトルの平均に基づいて導出される、
請求項５に記載の方法。
【請求項７】
前記第２成分の前記サブブロックは、前記第１成分の４つのサブブロックに対応し、前記４つのサブブロックは、それぞれ動きベクトルＭＶ０＝（ＭＶ０ｘ、ＭＶ０ｙ）、ＭＶ１＝（ＭＶ１ｘ、ＭＶ１ｙ）、ＭＶ２＝（ＭＶ２ｘ、ＭＶ２ｙ）およびＭＶ３＝（ＭＶ３ｘ、ＭＶ３ｙ）を有し、
中間動きベクトルセットＭＶ＊＝（ＭＶ＊ｘ，ＭＶ＊ｙ）をＭＶ＊ｘ＝Ｓｈｉｆｔ（ＭＶ０ｘ＋ＭＶ１ｘ＋ＭＶ２ｘ＋ＭＶ３ｘ，２）及びＭＶ＊ｙ＝Ｓｈｉｆｔ（ＭＶｙ０＋ＭＶｙ１＋ＭＶｙ２＋ＭＶｙ３，２）として計算することであって、Ｓｈｉｆｔ（ｘ，ｓ）＝（ｘ＋ｏｆｆ）≫ｓであり、ｏｆｆおよびｓは整数であり、＞＞は右シフト演算を表し、
中間動きベクトルセットに係数を適用して、前記導出される動きベクトルを取得することであり、前記係数はカラーフォーマットに関連付けられる、
請求項６に記載の方法。
【請求項８】
前記第２成分のサブブロックは、前記第１成分の４つのサブブロックに対応し、前記４つのサブブロックは、それぞれ動きベクトルＭＶ０＝（ＭＶ０ｘ、ＭＶ０ｙ）、ＭＶ１＝（ＭＶ１ｘ、ＭＶ１ｙ）、ＭＶ２＝（ＭＶ２ｘ、ＭＶ２ｙ）およびＭＶ３＝（ＭＶ３ｘ、ＭＶ３ｙ）を有し、
中間動きベクトルセットＭＶ＊＝（ＭＶ＊ｘ、ＭＶ＊ｙ）をＭＶ＊ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｘ＋ＭＶ１ｘ＋ＭＶ２ｘ＋ＭＶ３ｘ，２）及びＭＶ＊ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｙ＋ＭＶ１ｙ＋ＭＶ２ｙ＋ＭＶ３ｙ，２）として計算することであって、（ｘ≧０）のときＳｉｇｎＳｈｉｆｔ（ｘ，ｓ）＝（ｘ＋ｏｆｆ）≫ｓ及び（ｘ＜０）のときＳｉｇｎＳｈｉｆｔ（ｘ，ｓ）＝−（（−ｘ＋ｏｆｆ）≫ｓ）であり、ｏｆｆおよびｓは整数であり、＞＞はシフト演算を表し、
中間動きベクトルセットに係数を適用して、前記導出される動きベクトルを取得することでああって、前記係数は前記カラーフォーマットに関連付けられる、
請求項６に記載の方法。
【請求項９】
前記第２成分の前記サブブロックは、前記第１成分の４つのサブブロックに対応し、前記４つのサブブロックは、それぞれ動きベクトルＭＶ０＝（ＭＶ０ｘ、ＭＶ０ｙ）、ＭＶ１＝（ＭＶ１ｘ、ＭＶ１ｙ）、ＭＶ２＝（ＭＶ２ｘ、ＭＶ２ｙ）およびＭＶ３＝（ＭＶ３ｘ、ＭＶ３ｙ）を有し、
中間動きベクトルセットＭＶ＊＝（ＭＶ＊ｘ、ＭＶ＊ｙ）を、ＭＶ＊ｘ＝Ｓｈｉｆｔ（ＭＶ’ｘ＋ＭＶ’’ｘ，１）及びＭＶ＊ｙ＝Ｓｈｉｆｔ（ＭＶ’ｙ＋ＭＶ’’ｙ，１）として計算することであって、ＭＶ’ｘ＝Ｓｈｉｆｔ（ＭＶ０ｘ＋ＭＶ１ｘ，１）、ＭＶ’ｙ＝Ｓｈｉｆｔ（ＭＶ０ｙ＋ＭＶ１ｙ，１）、ＭＶ’’ｘ＝Ｓｈｉｆｔ（ＭＶ２ｘ＋ＭＶ３ｘ，１）及びＭＶ’’ｙ＝Ｓｈｉｆｔ（ＭＶ２ｙ＋ＭＶ３ｙ，１）であり、Ｓｈｉｆｔ（ｘ，ｓ）＝（ｘ＋ｏｆｆ）≫ｓであり、ｏｆｆおよびｓは整数であり、＞＞は右シフト演算を表す、計算することと、
中間動きベクトルセットに係数を適用して、前記導出される動きベクトルを取得することでああって、前記係数はカラーフォーマットに関連付けられる、
請求項６に記載の方法。
【請求項１０】
前記第２成分のサブブロックは、前記第１成分の４つのサブブロックに対応し、前記４つのサブブロックは、それぞれ動きベクトルＭＶ０＝（ＭＶ０ｘ、ＭＶ０ｙ）、ＭＶ１＝（ＭＶ１ｘ、ＭＶ１ｙ）、ＭＶ２＝（ＭＶ２ｘ、ＭＶ２ｙ）およびＭＶ３＝（ＭＶ３ｘ、ＭＶ３ｙ）を有し、
中間動きベクトルセットＭＶ＊＝（ＭＶ＊ｘ、ＭＶ＊ｙ）を、ＭＶ＊ｘ＝Ｓｈｉｆｔ（ＭＶ’ｘ＋ＭＶ’’ｘ，１）及びＭＶ＊ｙ＝Ｓｈｉｆｔ（ＭＶ’ｙ＋ＭＶ’’ｙ，１）として計算することであって、ＭＶ’ｘ＝Ｓｈｉｆｔ（ＭＶ０ｘ＋ＭＶ２ｘ，１）、ＭＶ’ｙ＝Ｓｈｉｆｔ（ＭＶ０ｙ＋ＭＶ２ｙ，１）、ＭＶ’’ｘ＝Ｓｈｉｆｔ（ＭＶ１ｘ＋ＭＶ３ｘ，１）及びＭＶ’’ｙ＝Ｓｈｉｆｔ（ＭＶ１ｙ＋ＭＶ３ｙ，１）であって、Ｓｈｉｆｔ（ｘ，ｓ）＝（ｘ＋ｏｆｆ）≫ｓであり、ｏｆｆおよびｓは整数であり、＞＞は右シフト演算を表す、計算することと、
中間動きベクトルセットに係数を適用して、前記導出される動きベクトルを取得することであって、前記係数はカラーフォーマットに関連付けられる、取得することとを有する、
請求項６に記載の方法。
【請求項１１】
前記第２成分のサブブロックは、前記第１成分の４つのサブブロックに対応し、前記４つのサブブロックは、それぞれ動きベクトルＭＶ０＝（ＭＶ０ｘ、ＭＶ０ｙ）、ＭＶ１＝（ＭＶ１ｘ、ＭＶ１ｙ）、ＭＶ２＝（ＭＶ２ｘ、ＭＶ２ｙ）およびＭＶ３＝（ＭＶ３ｘ、ＭＶ３ｙ）を有し、
中間動きベクトルセットＭＶ＊＝（ＭＶ＊ｘ、ＭＶ＊ｙ）を、ＭＶ＊ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ’ｘ＋ＭＶ’’ｘ，１）、ＭＶ＊ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ’ｙ＋ＭＶ’’ｙ，１）、ＭＶ’ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｘ＋ＭＶ１ｘ，１）、ＭＶ’ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｙ＋ＭＶ１ｙ，１）、ＭＶ’’ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ２ｘ＋ＭＶ３ｘ，１）、及びＭＶ’’ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ２ｙ＋ＭＶ３ｙ，１）として計算することであって、ｘ≧０のときＳｉｇｎＳｈｉｆｔ（ｘ，ｓ）＝（ｘ＋ｏｆｆ）≫ｓであり、ｘ＜０のときＳｉｇｎＳｈｉｆｔ（ｘ，ｓ）＝（−（（−ｘ＋ｏｆｆ）≫ｓ）であり、ｏｆｆおよびｓは整数であり、＞＞はシフト演算を表す、計算することと、
中間動きベクトルセットに係数を適用して、前記導出される動きベクトルを取得することでああって、前記係数はカラーフォーマットに関連付けられる、
請求項６に記載の方法。
【請求項１２】
前記第２成分のサブブロックは、前記第１成分の４つのサブブロックに対応し、前記４つのサブブロックは、それぞれ動きベクトルＭＶ０＝（ＭＶ０ｘ、ＭＶ０ｙ）、ＭＶ１＝（ＭＶ１ｘ、ＭＶ１ｙ）、ＭＶ２＝（ＭＶ２ｘ、ＭＶ２ｙ）およびＭＶ３＝（ＭＶ３ｘ、ＭＶ３ｙ）を有し、
中間動きベクトルセットＭＶ＊＝（ＭＶ＊ｘ、ＭＶ＊ｙ）を、ＭＶ＊ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ’ｘ＋ＭＶ’’ｘ，１）及びＭＶ＊ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ’ｙ＋ＭＶ’’ｙ，１）として計算することであって、ＭＶ’ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｘ＋ＭＶ２ｘ，１）、ＭＶ’ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｙ＋ＭＶ２ｙ，１）、ＭＶ’’ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ１ｘ＋ＭＶ３ｘ，１）、及びＭＶ’’ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ１ｙ＋ＭＶ３ｙ，１）であって、ｘ≧０のときＳｉｇｎＳｈｉｆｔ（ｘ，ｓ）＝（ｘ＋ｏｆｆ）≫ｓであり、ｘ＜０のときＳｉｇｎＳｈｉｆｔ（ｘ，ｓ）＝−（（−ｘ＋ｏｆｆ）≫ｓ）であり、ｏｆｆおよびｓは整数であり、＞＞はシフト演算を表す、計算することと、
中間動きベクトルセットに係数を適用して、前記導出される動きベクトルを取得することでああって、前記係数はカラーフォーマットに関連付けられる、
請求項６に記載の方法。
【請求項１３】
前記第２成分のサブブロックは、前記第１成分の２つのサブブロックに対応し、前記２つのサブブロックは、それぞれ動きベクトルＭＶ０＝（ＭＶ０ｘ、ＭＶ０ｙ）及びＭＶ１＝（ＭＶ１ｘ、ＭＶ１ｙ）を有し、
前記方法は、
中間動きベクトルセットＭＶ＊＝（ＭＶ＊ｘ、ＭＶ＊ｙ）を、ＭＶ＊ｘ＝Ｓｈｉｆｔ（ＭＶ０ｘ＋ＭＶ１ｘ，１）及びＭＶ＊ｙ＝Ｓｈｉｆｔ（ＭＶｙ０＋ＭＶｙ１，１）として計算することであって、Ｓｈｉｆｔ（ｘ，ｓ）＝（ｘ＋ｏｆｆ）≫ｓであり、ｏｆｆおよびｓは整数であり、＞＞は右シフト演算を表す、計算することと、
中間動きベクトルセットに係数を適用して、前記導出される動きベクトルを取得することであって、前記係数はカラーフォーマットに関連付けられる、
請求項６に記載の方法。
【請求項１４】
前記第２成分のサブブロックは、前記第１成分の２つのサブブロックに対応し、前記２つのサブブロックは、それぞれ動きベクトルＭＶ０＝（ＭＶ０ｘ、ＭＶ０ｙ）及びＭＶ１＝（ＭＶ１ｘ、ＭＶ１ｙ）を有し、
中間動きベクトルセットＭＶ＊＝（ＭＶ＊ｘ，ＭＶ＊ｙ）をＭＶ＊ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｘ＋ＭＶ１ｘ，１）及びＭＶ＊ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶｙ０＋ＭＶｙ１，１）として計算することであって、ｘ≧０のときｉｇｎＳｈｉｆｔ（ｘ，ｓ）＝（ｘ＋ｏｆｆ）≫ｓ、ｘ＜０のときＳｉｇｎＳｈｉｆｔ（ｘ，ｓ）＝−（（−ｘ＋ｏｆｆ）≫ｓ）であり、ｏｆｆとｓは整数であり、＞＞はシフト演算を表す、計算することと、
中間動きベクトルセットに係数を適用して、前記導出される動きベクトルを取得することでああって、前記係数は、カラーフォーマットに関連付けられる、
請求項６に記載の方法。
【請求項１５】
前記方法はさらに、
第１成分の複数のサブブロック中の選択されたサブブロックの動きベクトルに基づいて、中間動きベクトルセットを計算することと、
中間動きベクトルセットに係数を適用して、前記導出される動きベクトルを取得することであって、前記係数はカラーフォーマットに関連付けられる、取得することとを有する、
請求項５記載の方法。
【請求項１６】
前記選択されたサブブロックは、前記第１成分の前記複数のサブブロックの上左サブブロックである、請求項１５に記載の方法。
【請求項１７】
前記選択されたサブブロックは、前記第１成分の前記複数のサブブロックの中心サブブロックである、請求項１５に記載の方法。
【請求項１８】
前記方法はさらに、
第１成分の複数のサブブロックの動きベクトルの中央値に基づいて中間動きベクトルセットを計算することと、
中間動きベクトルセットに係数を適用して、前記導出される動きベクトルを取得することであって、前記係数はカラーフォーマットに関連付けられる、
請求項５記載の方法。
【請求項１９】
前記係数の適用が、高効率ビデオ符号化（ＨＥＶＣ）標準において規定されている、請求項２乃至１８のいずれかに記載の方法。
【請求項２０】
請求項１乃至１９のいずれかに記載の方法を実装するように構成されたプロセッサを含む、ビデオ符号化装置。
【請求項２１】
ビデオ復号の方法であって、
第１成分及び少なくとも第２成分を含むビデオデータのブロックを受信することであって、前記第１成分は、第１サブブロックセットに分割され、前記第２成分は、第２サブブロックセットに分割され、前記第２成分のサブブロックは、前記第１成分の１つ又は複数のサブブロックに対応する、ビデオデータのブロックを受信することと、
前記ビデオデータのブロックのカラーフォーマットに基づいて、第１カラー成分の１以上の対応するサブブロックの動きベクトルに基づいて、第２成分のサブブロックの動きベクトルを導出することと、
前記導出された動きベクトルに基づいて、ビデオデータのブロックを再構成するか、または同じピクチャ内のビデオデータの他のブロックを復号することとを有する、方法。
【請求項２２】
前記第２成分のサブブロックは、前記第１成分のサブブロックに対応し、前記導出することは、
第１成分のサブブロックの動きベクトルをコピーすることによって、中間動きベクトルセットを計算することと、
中間動きベクトルセットに係数を適用して、前記導出される動きベクトルを取得することであって、前記係数はカラーフォーマットに関連付けられる、取得することとを含む、
請求項２１に記載の方法。
【請求項２３】
前記カラーフォーマットは、４：４：４ではなく、前記第１サブブロックセットのうちの少なくとも１つのサブブロックのサイズは、前記第２サブブロックセットのうちの少なくとも１つのサブブロックのサイズとは異なる、
請求項２１または２２に記載の方法。
【請求項２４】
前記カラーフォーマットは４：４：４であり、前記第１サブブロックセットのうちの少なくとも１つのサブブロックのサイズは、前記第２サブブロックセットのうちの少なくとも１つのサブブロックのサイズと同じである、
請求項２１または２２に記載の方法。
【請求項２５】
前記カラーフォーマットは４：４：４ではなく、前記第１サブブロックセットのうちの少なくとも１つのサブブロックのサイズは、前記第２サブブロックセットのうちの少なくとも１つのサブブロックのサイズと同じであり、前記第２成分のサブブロックは、前記第１成分の複数のサブブロックに対応する、
請求項２１に記載の方法。
【請求項２６】
前記第２成分のサブブロックに対する動きベクトルのうちの少なくとも１つは、前記第１成分の複数のサブブロックの対応する動きベクトルの平均に基づいて導出される、
請求項２５に記載の方法。
【請求項２７】
前記第２成分の前記サブブロックは、前記第１成分の４つのサブブロックに対応し、前記４つのサブブロックは、それぞれ動きベクトルＭＶ０＝（ＭＶ０ｘ、ＭＶ０ｙ）、ＭＶ１＝（ＭＶ１ｘ、ＭＶ１ｙ）、ＭＶ２＝（ＭＶ２ｘ、ＭＶ２ｙ）およびＭＶ３＝（ＭＶ３ｘ、ＭＶ３ｙ）を有し、
中間動きベクトルセットＭＶ＊＝（ＭＶ＊ｘ，ＭＶ＊ｙ）をＭＶ＊ｘ＝Ｓｈｉｆｔ（ＭＶ０ｘ＋ＭＶ１ｘ＋ＭＶ２ｘ＋ＭＶ３ｘ，２）及びＭＶ＊ｙ＝Ｓｈｉｆｔ（ＭＶｙ０＋ＭＶｙ１＋ＭＶｙ２＋ＭＶｙ３，２）として計算することであって、Ｓｈｉｆｔ（ｘ，ｓ）＝（ｘ＋ｏｆｆ）≫ｓであり、ｏｆｆおよびｓは整数であり、＞＞は右シフト演算を表し、
中間動きベクトルセットに係数を適用して、前記導出される動きベクトルを取得することであり、前記係数はカラーフォーマットに関連付けられる、
請求項２６に記載の方法。
【請求項２８】
前記第２成分のサブブロックは、前記第１成分の４つのサブブロックに対応し、前記４つのサブブロックは、それぞれ動きベクトルＭＶ０＝（ＭＶ０ｘ、ＭＶ０ｙ）、ＭＶ１＝（ＭＶ１ｘ、ＭＶ１ｙ）、ＭＶ２＝（ＭＶ２ｘ、ＭＶ２ｙ）およびＭＶ３＝（ＭＶ３ｘ、ＭＶ３ｙ）を有し、
中間動きベクトルセットＭＶ＊＝（ＭＶ＊ｘ、ＭＶ＊ｙ）をＭＶ＊ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｘ＋ＭＶ１ｘ＋ＭＶ２ｘ＋ＭＶ３ｘ，２）及びＭＶ＊ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｙ＋ＭＶ１ｙ＋ＭＶ２ｙ＋ＭＶ３ｙ，２）として計算することであって、（ｘ≧０）のときＳｉｇｎＳｈｉｆｔ（ｘ，ｓ）＝（ｘ＋ｏｆｆ）≫ｓ及び（ｘ＜０）のときＳｉｇｎＳｈｉｆｔ（ｘ，ｓ）＝−（（−ｘ＋ｏｆｆ）≫ｓ）であり、ｏｆｆおよびｓは整数であり、＞＞はシフト演算を表し、
中間動きベクトルセットに係数を適用して、前記導出される動きベクトルを取得することでああって、前記係数は前記カラーフォーマットに関連付けられる、
請求項２６に記載の方法。
【請求項２９】
前記第２成分の前記サブブロックは、前記第１成分の４つのサブブロックに対応し、前記４つのサブブロックは、それぞれ動きベクトルＭＶ０＝（ＭＶ０ｘ、ＭＶ０ｙ）、ＭＶ１＝（ＭＶ１ｘ、ＭＶ１ｙ）、ＭＶ２＝（ＭＶ２ｘ、ＭＶ２ｙ）およびＭＶ３＝（ＭＶ３ｘ、ＭＶ３ｙ）を有し、
中間動きベクトルセットＭＶ＊＝（ＭＶ＊ｘ、ＭＶ＊ｙ）を、ＭＶ＊ｘ＝Ｓｈｉｆｔ（ＭＶ’ｘ＋ＭＶ’’ｘ，１）及びＭＶ＊ｙ＝Ｓｈｉｆｔ（ＭＶ’ｙ＋ＭＶ’’ｙ，１）として計算することであって、ＭＶ’ｘ＝Ｓｈｉｆｔ（ＭＶ０ｘ＋ＭＶ１ｘ，１）、ＭＶ’ｙ＝Ｓｈｉｆｔ（ＭＶ０ｙ＋ＭＶ１ｙ，１）、ＭＶ’’ｘ＝Ｓｈｉｆｔ（ＭＶ２ｘ＋ＭＶ３ｘ，１）及びＭＶ’’ｙ＝Ｓｈｉｆｔ（ＭＶ２ｙ＋ＭＶ３ｙ，１）であり、Ｓｈｉｆｔ（ｘ，ｓ）＝（ｘ＋ｏｆｆ）≫ｓであり、ｏｆｆおよびｓは整数であり、＞＞は右シフト演算を表す、計算することと、
中間動きベクトルセットに係数を適用して、前記導出される動きベクトルを取得することでああって、前記係数はカラーフォーマットに関連付けられる、
請求項２６に記載の方法。
【請求項３０】
前記第２成分のサブブロックは、前記第１成分の４つのサブブロックに対応し、前記４つのサブブロックは、それぞれ動きベクトルＭＶ０＝（ＭＶ０ｘ、ＭＶ０ｙ）、ＭＶ１＝（ＭＶ１ｘ、ＭＶ１ｙ）、ＭＶ２＝（ＭＶ２ｘ、ＭＶ２ｙ）およびＭＶ３＝（ＭＶ３ｘ、ＭＶ３ｙ）を有し、
中間動きベクトルセットＭＶ＊＝（ＭＶ＊ｘ、ＭＶ＊ｙ）を、ＭＶ＊ｘ＝Ｓｈｉｆｔ（ＭＶ’ｘ＋ＭＶ’’ｘ，１）及びＭＶ＊ｙ＝Ｓｈｉｆｔ（ＭＶ’ｙ＋ＭＶ’’ｙ，１）として計算することであって、ＭＶ’ｘ＝Ｓｈｉｆｔ（ＭＶ０ｘ＋ＭＶ２ｘ，１）、ＭＶ’ｙ＝Ｓｈｉｆｔ（ＭＶ０ｙ＋ＭＶ２ｙ，１）、ＭＶ’’ｘ＝Ｓｈｉｆｔ（ＭＶ１ｘ＋ＭＶ３ｘ，１）及びＭＶ’’ｙ＝Ｓｈｉｆｔ（ＭＶ１ｙ＋ＭＶ３ｙ，１）であって、Ｓｈｉｆｔ（ｘ，ｓ）＝（ｘ＋ｏｆｆ）≫ｓであり、ｏｆｆおよびｓは整数であり、＞＞は右シフト演算を表す、計算することと、
中間動きベクトルセットに係数を適用して、前記導出される動きベクトルを取得することであって、前記係数はカラーフォーマットに関連付けられる、取得することとを有する、
請求項２６に記載の方法。
【請求項３１】
前記第２成分のサブブロックは、前記第１成分の４つのサブブロックに対応し、前記４つのサブブロックは、それぞれ動きベクトルＭＶ０＝（ＭＶ０ｘ、ＭＶ０ｙ）、ＭＶ１＝（ＭＶ１ｘ、ＭＶ１ｙ）、ＭＶ２＝（ＭＶ２ｘ、ＭＶ２ｙ）およびＭＶ３＝（ＭＶ３ｘ、ＭＶ３ｙ）を有し、
中間動きベクトルセットＭＶ＊＝（ＭＶ＊ｘ、ＭＶ＊ｙ）を、ＭＶ＊ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ’ｘ＋ＭＶ’’ｘ，１）、ＭＶ＊ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ’ｙ＋ＭＶ’’ｙ，１）、ＭＶ’ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｘ＋ＭＶ１ｘ，１）、ＭＶ’ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｙ＋ＭＶ１ｙ，１）、ＭＶ’’ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ２ｘ＋ＭＶ３ｘ，１）、及びＭＶ’’ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ２ｙ＋ＭＶ３ｙ，１）として計算することであって、ｘ≧０のときＳｉｇｎＳｈｉｆｔ（ｘ，ｓ）＝（ｘ＋ｏｆｆ）≫ｓであり、ｘ＜０のときＳｉｇｎＳｈｉｆｔ（ｘ，ｓ）＝（−（（−ｘ＋ｏｆｆ）≫ｓ）であり、ｏｆｆおよびｓは整数であり、＞＞はシフト演算を表す、計算することと、
中間動きベクトルセットに係数を適用して、前記導出される動きベクトルを取得することでああって、前記係数はカラーフォーマットに関連付けられる、
請求項２６に記載の方法。
【請求項３２】
前記第２成分のサブブロックは、前記第１成分の４つのサブブロックに対応し、前記４つのサブブロックは、それぞれ動きベクトルＭＶ０＝（ＭＶ０ｘ、ＭＶ０ｙ）、ＭＶ１＝（ＭＶ１ｘ、ＭＶ１ｙ）、ＭＶ２＝（ＭＶ２ｘ、ＭＶ２ｙ）およびＭＶ３＝（ＭＶ３ｘ、ＭＶ３ｙ）を有し、
中間動きベクトルセットＭＶ＊＝（ＭＶ＊ｘ、ＭＶ＊ｙ）を、ＭＶ＊ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ’ｘ＋ＭＶ’’ｘ，１）及びＭＶ＊ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ’ｙ＋ＭＶ’’ｙ，１）として計算することであって、ＭＶ’ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｘ＋ＭＶ２ｘ，１）、ＭＶ’ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｙ＋ＭＶ２ｙ，１）、ＭＶ’’ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ１ｘ＋ＭＶ３ｘ，１）、及びＭＶ’’ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ１ｙ＋ＭＶ３ｙ，１）であって、ｘ≧０のときＳｉｇｎＳｈｉｆｔ（ｘ，ｓ）＝（ｘ＋ｏｆｆ）≫ｓであり、ｘ＜０のときＳｉｇｎＳｈｉｆｔ（ｘ，ｓ）＝−（（−ｘ＋ｏｆｆ）≫ｓ）であり、ｏｆｆおよびｓは整数であり、＞＞はシフト演算を表す、計算することと、
中間動きベクトルセットに係数を適用して、前記導出される動きベクトルを取得することでああって、前記係数はカラーフォーマットに関連付けられる、
請求項２６に記載の方法。
【請求項３３】
前記第２成分のサブブロックは、前記第１成分の２つのサブブロックに対応し、前記２つのサブブロックは、それぞれ動きベクトルＭＶ０＝（ＭＶ０ｘ、ＭＶ０ｙ）及びＭＶ１＝（ＭＶ１ｘ、ＭＶ１ｙ）を有し、
前記方法は、
中間動きベクトルセットＭＶ＊＝（ＭＶ＊ｘ、ＭＶ＊ｙ）を、ＭＶ＊ｘ＝Ｓｈｉｆｔ（ＭＶ０ｘ＋ＭＶ１ｘ，１）及びＭＶ＊ｙ＝Ｓｈｉｆｔ（ＭＶｙ０＋ＭＶｙ１，１）として計算することであって、Ｓｈｉｆｔ（ｘ，ｓ）＝（ｘ＋ｏｆｆ）≫ｓであり、ｏｆｆおよびｓは整数であり、＞＞は右シフト演算を表す、計算することと、
中間動きベクトルセットに係数を適用して、前記導出される動きベクトルを取得することであって、前記係数はカラーフォーマットに関連付けられる、
請求項２６に記載の方法。
【請求項３４】
前記第２成分のサブブロックは、前記第１成分の２つのサブブロックに対応し、前記２つのサブブロックは、それぞれ動きベクトルＭＶ０＝（ＭＶ０ｘ、ＭＶ０ｙ）及びＭＶ１＝（ＭＶ１ｘ、ＭＶ１ｙ）を有し、
中間動きベクトルセットＭＶ＊＝（ＭＶ＊ｘ，ＭＶ＊ｙ）をＭＶ＊ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｘ＋ＭＶ１ｘ，１）及びＭＶ＊ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶｙ０＋ＭＶｙ１，１）として計算することであって、ｘ≧０のときｉｇｎＳｈｉｆｔ（ｘ，ｓ）＝（ｘ＋ｏｆｆ）≫ｓ、ｘ＜０のときＳｉｇｎＳｈｉｆｔ（ｘ，ｓ）＝−（（−ｘ＋ｏｆｆ）≫ｓ）であり、ｏｆｆとｓは整数であり、＞＞はシフト演算を表す、計算することと、
中間動きベクトルセットに係数を適用して、前記導出される動きベクトルを取得することでああって、前記係数は、カラーフォーマットに関連付けられる、
請求項２６に記載の方法。
【請求項３５】
前記方法はさらに、
第１成分の複数のサブブロック中の選択されたサブブロックの動きベクトルに基づいて、中間動きベクトルセットを計算することと、
中間動きベクトルセットに係数を適用して、前記導出される動きベクトルを取得することであって、前記係数はカラーフォーマットに関連付けられる、取得することとを有する、
請求項２５記載の方法。
【請求項３６】
前記選択されたサブブロックは、前記第１成分の前記複数のサブブロックの上左サブブロックである、請求項３５に記載の方法。
【請求項３７】
前記選択されたサブブロックは、前記第１成分の前記複数のサブブロックの中心サブブロックである、請求項３５に記載の方法。
【請求項３８】
前記方法はさらに、
第１成分の複数のサブブロックの動きベクトルの中央値に基づいて中間動きベクトルセットを計算することと、
中間動きベクトルセットに係数を適用して、前記導出される動きベクトルを取得することであって、前記係数はカラーフォーマットに関連付けられる、
請求項２５記載の方法。
【請求項３９】
前記係数の適用が、高効率ビデオ符号化（ＨＥＶＣ）標準において規定されている、請求項２２乃至３８のいずれかに記載の方法。
【請求項４０】
請求項２１乃至３９のいずれかの一以上に記載の方法を実装するように構成されたプロセッサを含む、ビデオ符号化装置。
【請求項４１】
非一時的コンピュータ読取り可能媒体に記憶されたコンピュータプログラム製品であって、
請求項１乃至１９および請求項２１乃至３９のうちいずれか１項に記載の方法を実行するためのプログラムコードを含むコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
[関連出願の相互参照]
適用特許法及び／又はパリ条約に基づく規則に基づき、本出願は、２０１８年６月２１日に出願された国際特許出願第ＰＣＴ／ＣＮ２０１８／０９２１１８号及び２０１８年１１月１０日に出願された国際特許出願第ＰＣＴ／ＣＮ２０１８／１１４９３１号の優先権及び利益を適時に主張するものである。米国法の下でのすべての目的のために、国際特許出願第ＰＣＴ／ＣＮ２０１８／０９２１１８号、および国際特許出願第ＰＣＴ／ＣＮ２０１８／１１４９３１号の開示全体が、本出願の開示の一部として参照援用される。
【０００２】
この特許文献は、概してピクチャおよびビデオの符号化技術を対象としている。
【背景技術】
【０００３】
動き補正は、ビデオ内のカメラおよび／またはオブジェクトの動きを考慮（ａｃｃｏｕｎｔ  ｆｏｒ）することによって、前のフレームおよび／または将来のフレームが与えられたときに、ビデオ内のフレームを予測する、ビデオ処理における技術である。動き補正は、ビデオ圧縮のためのビデオデータの符号化および復号に使用することができる。
【発明の概要】
【０００４】
ピクチャおよびビデオ符号化のためのサブブロックベース予測に関連する装置、システムおよび方法を説明する。
【０００５】
１つの代表的な態様において、開示された技術は、ビデオ符号化方法を提供するために使用され取得する。この方法は、現在のビデオブロックの第１成分を第１サブブロックセットに分割し、現在のビデオブロックの第２成分を第２サブブロックセットに分割することを含む。第２成分のサブブロックは、第１成分の一以上のサブブロックに対応する。本方法はまた、現在のビデオブロックのカラーフォーマットに基づいて、第１色成分の一以上の対応するサブブロックの動きベクトルに基づいて、第２成分のサブブロックの動きベクトルを導出するステップを含む。
【０００６】
別の代表的な態様では、開示の技術は、ビデオ復号方法を提供するために使用され取得する。この方法は、第１成分と、少なくとも第２成分とを含むビデオデータブロックを受信することを含む。第１成分は、第１サブブロックセットに分割され、第２成分は、第２サブブロックセットに分割される。第２成分のサブブロックは、第１成分の一以上のサブブロックに対応する。この方法は、ビデオデータブロックのカラーフォーマットに基づいて、第２の成分のサブブロックの動きベクトルを、第１カラー成分の一以上の対応するサブブロックの動きベクトルに基づいて導出することを含む。また、この方法は、導出された動きベクトルに基づいて、ビデオデータブロックを再構成すること、または同じピクチャ内のビデオデータの他のブロックを復号することを含む。
【０００７】
さらに別の代表的な態様では、上述の方法は、プロセッサ実行可能コードの形態で具体化され、コンピュータ読み取り可能なプログラム媒体に記憶される。
【０００８】
さらに別の代表的な態様では、上述の方法を実行するように構成または動作可能なデバイスを開示する。このデバイスは、この方法を実装するようにプログラムされたプロセッサを含んでもよい。
【０００９】
さらに別の代表的な態様では、ビデオエンコーダまたはビデオデコーダ装置が、本明細書に記載の方法を実装することができる。
【００１０】
開示の技術の上記その他の態様および特徴は、図面、明細書および特許請求の範囲により詳細に記載されている。
【図面の簡単な説明】
【００１１】
【図１】サブブロックベース予測の一例を示す。
【００１２】
【図２】簡略化されたアフィン動きモデルの一例を示す。
【００１３】
【図３】サブブロックごとのアフィン動きベクトル場（ＭＶＦ）の例を示す。
【００１４】
【図４】符号化ユニットに対する代替的な時間的動きベクトル予測（ＡＴＭＶＰ）アルゴリズムを使用する動き予測の一例を示す。
【００１５】
【図５】４つのサブブロックおよび隣接ブロックを有する１つのＣＵの一例を示す。
【００１６】
【図６】双方向オプティカルフロー（ＢＩＯ）アルゴリズムによって使用されるオプティカルフロートラジェクトリの一例を示す。
【００１７】
【図７】フレームレートアップコンバージョン（ＦＲＵＣ）アルゴリズムにおけるバイラテラルマッチングの一例を示す。
【００１８】
【図８】ＦＲＵＣアルゴリズムにおけるテンプレートマッチングの一例を示す。
【００１９】
【図９】ＦＲＵＣ法におけるユニラテラル動き推定（ＭＥ）の一例を示す。
【００２０】
【図１０】本技術による、４：２：０フォーマットで、サブブロックの成分の動きベクトル（ＭＶ）を導出する一例を示す。
【００２１】
【図１１】本技術による、４：２：０フォーマットで、サブブロックの成分のＭＶを導出する別の例を示す。
【００２２】
【図１２】本技術によるサブブロックの成分のＭＶを導出するさらに別の例を示す。
【００２３】
【図１３】本技術の一以上の実施形態によるビデオ符号化方法の一例を示すフローチャートである。
【００２４】
【図１４】本技術の一以上の実施形態によるビデオ符号化方法の他の一例を示すフローチャートである。
【００２５】
【図１５】本開示の技術の様々な部分を実装するために利用可能な符号化装置の一例を示すブロック図である。
【００２６】
【図１６】本開示の技術の様々な部分を実装するために利用可能な符号化装置の一例を示すブロック図である。
【００２７】
【図１７】本開示の技術の様々な部分を実装するために利用可能なコンピュータシステムその他の制御デバイスのアーキテクチャの一例を示すブロック図である。
【００２８】
【図１８】本開示の技術の様々な部分を実装するために利用可能なモバイルデバイスの実施形態の一例を示すブロック図を示す。
【発明を実施するための形態】
【００２９】
より高解像度のビデオに対する要求が高まっているため、ビデオ符号化方法および技術は、現代の技術では至るところに存在している。ビデオコーデックは、典型的には、デジタルビデオを圧縮または解凍する電子回路またはソフトウェアを含み、より高い符号化効率を提供するために絶えず改良されている。ビデオコーデックは、圧縮されていないビデオを圧縮形式に変換し、又はその逆を行う。ビデオ画質、（ビットレートによって決定される）ビデオを表現するために使用されるデータ量、符号化および復号アルゴリズムの複雑さ、データ損失およびエラーに対する感度、編集の容易さ、ランダムアクセス、およびエンドツーエンド遅延（レイテンシ）の間には複雑な関係がある。圧縮フォーマットは、通常、標準的なビデオ圧縮仕様、例えば、高効率ビデオ符号化（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ、ＨＥＶＣ）標準（Ｈ．２６５またはＭＰＥＧ−Ｈ  Ｐａｒｔ  ２としても知られている）、最終化される汎用ビデオ符号化（Ｖｅｒｓａｔｉｌｅ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）標準、または他の現在および／または将来のビデオ符号化標準に準拠する。
【００３０】
サブブロックベース予測は、高効率ビデオ符号化（ＨＥＶＣ）標準によってビデオ符号化標準に最初に導入された。サブブロックベース予測では、符号化ユニット（ＣＵ）または予測ユニット（ＰＵ）のようなブロックは、いくつかの重複しないサブブロックに分割される。異なるサブブロックには、参照インデックスまたは動きベクトル（ＭＶ）のような異なる動き情報が割り当てられ、動き補償（ＭＣ）は各サブブロックに対して個別に実行される。図１は、サブブロックベース予測の一例を示す。
【００３１】
開示の技術の実施形態は、ランタイム性能を改善するために、既存のビデオ符号化標準（例えば、ＨＥＶＣ、Ｈ．２６５）および将来の標準に適用され取得する。本文書では、セクション見出しは、説明の可読性を向上させるために使用しており、いかなる意味においても、説明または実施形態（および／または実装）を各セクションのみに限定するものではない。
【００３２】
ＪＥＭ（Ｊｏｉｎｔ  Ｅｘｐｌｏｒａｔｉｏｎ  Ｍｏｄｅｌ）として知られる参照ソフトウェアを用いて、将来のビデオ符号化技術を説明する。ＪＥＭでは、サブブロックベースの予測を、アフィン予測、代替時間動きベクトル予測（ＡＴＭＶＰ）、空間時間動きベクトル予測（ＳＴＭＶＰ）、双方向オプティカルフロー（ＢＩＯ）、フレームレートアップ変換（ＦＲＵＣ）、局所適応動きベクトル解像（ＬＡＭＶＲ）、オーバーラップブロック動き補償（ＯＢＭＣ）、局所照明補償（ＬＩＣ）、デコーダ側動きベクトル精緻化（ＤＭＶＲ）などのいくつかの符号化ツールに採用している。
【００３３】
ＨＥＶＣでは、並進動きモデルのみが動き補償予測（ＭＣＰ）に適用される。しかし、カメラおよびオブジェクトは、ズームイン／ズームアウト、回転、斜視的動き、および／または他の不規則な動きなど、多くの種類の動きを有し取得する。一方、ＪＥＭは単純化したアフィン変換動き補償予測を適用する。図２は、２つの制御点動きベクトルＶ０およびＶ１によって記述されるブロック２００のアフィン動き場の例を示す。ブロック２００の動きベクトル場（ＭＶＦ）は、以下の式で表すことができる：
【００３４】
【数１】
2021528011.tif 000003
【００３５】
図３は、ブロック３００に対するサブブロック当たりのアフィンＭＶＦの例を示す。各Ｍ×Ｎサブブロックの動きベクトルを導出するために、各サブブロックの中心サンプルの動きベクトルを式（１）に従って計算し、動きベクトル分率精度に丸めることができる（例えば、ＪＥＭでは１／１６）。次に、動き補償補間フィルタを適用して、導出された動きベクトルを有する各サブブロックの予測を生成することができる。ＭＣＰの後、各サブブロックの高精度動きベクトルを丸め、通常の動きベクトルと同じ精度で保存する。
【００３６】
ＪＥＭには、ＡＦ＿ＩＮＴＥＲモードとＡＦ＿ＭＥＲＧＥモードの２つのアフィン動きモードがある。幅と高さの両方が８より大きいＣＵに対して、ＡＦ＿ＩＮＴＥＲモードが適用できる。ＣＵレベルのアフィンフラグはＡＦ＿ＩＮＴＥＲモードが使われるかどうかを示すためにビットストリームでシグナリングされる。ＡＦ＿ＩＮＴＥＲモードでは、動きベクトルペア｛（ｖ０，ｖ１）｜ｖ０＝｛ｖＡ，ｖＢ，ｖｃ｝，ｖ１＝｛ｖＤ，ｖＥ｝｝を持つ候補リストが隣接ブロックを使って構築される。
【００３７】
ＪＥＭでは、非マージアフィンモードは現在のブロックの幅と高さの両方が８より大きい場合にのみ使用でき、マージアフィンモードは現在のブロックの面積（すなわち幅×高さ）が６４より小さくない場合にのみ使用できる。
【００３８】
図４は、ＣＵ４００の代替時間動きベクトル予測（ＡＴＭＶＰ）動き予測プロセスの例を示す。ＡＴＭＶＰ法は、ＣＵ４００内のサブＣＵ４０１の動きベクトルを２ステップで予測する。第１のステップは、時間ベクトルを有する参照ピクチャ４５０内の対応するブロック４５１を特定することである。参照ピクチャ４５０は、動きソースピクチャとも呼ばれる。第２のステップは、現在のＣＵ４００をサブＣＵ４０１に分割し、各サブＣＵに対応するブロックから各サブＣＵの動きベクトルおよび参照インデックスを取得する。
【００３９】
第１のステップでは、参照ピクチャ４５０と、対応するブロックとは、現在のＣＵ４００の空間的隣接ブロックの動き情報によって決定される。第２のステップでは、サブＣＵ４５１の対応するブロックが、現在のＣＵの座標に時間ベクトルを加えることによって、動きソースピクチャ４５０内の時間ベクトルによって特定される。各サブＣＵに対して、対応するブロックの動き情報（例えば、中心サンプルをカバーする最小の動きグリッド）を用いて、サブＣＵの動き情報を導出する。対応するＮ×Ｎブロックの動き情報が特定された後、ＨＥＶＣのＴＭＶＰと同様に、現在のサブＣＵの動きベクトルおよび参照インデックスに変換される。ここで、動きスケーリングおよびその他の手順が適用される。
【００４０】
空間時間動きベクトル予測（ＳＴＭＶＰ）法では、サブＣＵの動きベクトルはラスタ走査順序に従って再帰的に導出される。図５は、４つのサブブロックおよび隣接ブロックを有する１つのＣＵの例を示す。４×４のサブＣＵ  Ａ（５０１）、Ｂ（５０２）、Ｃ（５０３）、Ｄ（５０４）の４つのサブＣＵを含む８×８ＣＵ５００を考える。現在のフレーム内の隣接する４×４ブロックは、ａ（５１１）、ｂ（５１２）、ｃ（５１３）、ｄ（５１４）とラベル付けされている。
【００４１】
サブＣＵ  Ａの動き導出は、その２つの空間的隣接者を特定することから始まる。最初の隣接者はサブＣＵ  Ａ５０１の上のＮ×Ｎブロック（ブロックｃ５１３）である。このブロックｃ（５１３）が利用できないか、またはイントラ符号化されている場合、サブＣＵ  Ａ（５０１）の上の他のＮ×Ｎブロックがチェックされる（ブロックｃ５１３から始めて左から右へ）。第２の隣接者は、サブＣＵ  Ａ５０１の左側のブロック（ブロックｂ５１２）である。ブロックｂ（５１２）が利用可能でないか、またはイントラ符号化されている場合、サブＣＵ  Ａ５０１の左側にある他のブロックがチェックされる（ブロックｂ５１２から始めて上から下へ）。各リストに対する隣接ブロックから得られた動き情報は、与えられたリストに対する最初の参照フレームにスケーリングされる。次に、サブブロックＡ５０１の時間的動きベクトル予測子（ＴＭＶＰ）が、ＨＥＶＣで規定されたのと同じＴＭＶＰ導出手順に従うことによって導出される。ブロックＤ７０４でコロケーションされたブロックの動き情報は、適宜、フェッチされスケールされる。最後に、動き情報を読み出し、スケーリングした後、すべての利用可能な動きベクトルは、各参照リストに対して別々に平均化される。平均化された動きベクトルは、現在のサブＣＵの動きベクトルとして割り当てられる。
【００４２】
双方向オプティカルフロー（ＢＩＯ）法は、双方向予測のためのブロックごとの動き補償の上で実施されるサンプルごとの動き微細化である。いくつかの実装では、サンプルレベルの動きの精緻化は、シグナリングを使用しない。
【００４３】
Ｉ（ｋ）をブロック動き補償後の参照ｋ（ｋ＝０，１）からのルミナンス値とし、∂Ｉ（ｋ）/∂ｘ，∂Ｉ（ｋ）/∂ｙを、それぞれＩ（ｋ）グラジエントの水平成分と垂直成分とする。オプティカルフローが有効であると仮定すると、動きベクトル場（ｖｘ、ｖｙ）は次式で与えられる：
【００４４】
【数２】
2021528011.tif 000004
【００４５】
このオプティカルフロー方程式を各サンプルの動き軌跡に対するエルミート補間と組み合わせると、両端において関数値Ｉ（ｋ）と微分値∂Ｉ（ｋ）/∂ｘ，∂Ｉ（ｋ）/∂ｙの両方に一致するユニークな三次多項式が得られる。ｔ＝０におけるこの多項式の値は次のＢＩＯ予測である。
【００４６】
【数３】
2021528011.tif 000005
【００４７】
図６は、双方向オプティカルフロー（ＢＩＯ）法における例示的なオプティカルフローの軌跡を示す。ここで、τ０とτ１は、参照フレームまでの距離を示す。距離τ０とτ１は、Ｒｅｆ０とＲｅｆ１のＰＯＣに基づいてτ０＝ＰＯＣ（現在）−ＰＯＣ（Ｒｅｆ０）、τ１＝ＰＯＣ（Ｒｅｆ１）−ＰＯＣ（現在）に基づいて計算される。もし、両方の予測が（両方とも過去から、あるいは両方とも将来から）同じ時間の向きから来るとすると、その符号は異なる（たとえば、τ０・τ１＜０）。この場合、予測が同時点からでない場合（例えば、τ０≠τ１）、ＢＩＯが適用される。両方の参照領域は、非ゼロ動き（例えばＭＶｘ０，ＭＶｙ０，ＭＶｘ１，ＭＶｙ１≠０）を有し、ブロック動きベクトルは、時間的距離に比例する（例えば、ＭＶｘ０/（ＭＶｘ１＝ＭＶｙ０/ＭＶｙ１）＝−τ０/τ１）。ＪＥＭでは、２つの予測が異なる参照ピクチャからのものである場合、ＢＩＯをすべての双予測ブロックに適用することができる。ＬＩＣ（Ｌｏｃａｌ  Ｉｌｌｕｍｉｎａｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ）が有効になっているＣＵでは、ＢＩＯを無効にすることができます。
【００４８】
場合によっては、マージフラグが真の場合、ＦＲＵＣフラグはＣＵに対してシグナリングすることができる。ＦＲＵＣフラグが偽の場合、マージインデックスをシグナリングすることができ、通常のマージモードが使用される。ＦＲＵＣフラグが真の場合、追加のＦＲＵＣモードフラグがシグナリングされ、どの方法（例えば、バイラテラルマッチングまたはテンプレートマッチング）を用いてブロックの動作情報を導出するか示す。
【００４９】
エンコーダ側では、ＣＵのためにＦＲＵＣマージモードを使用するかどうかの決定は、通常のマージ候補の場合と同様に、ＲＤコスト選択に基づいて行われる。例えば、複数のマッチングモード（例えば、バイラテラルマッチングおよびテンプレートマッチング）は、ＲＤコスト選択を使用することによって、ＣＵについてチェックされる。最小のコストにつながるものは、さらに他のＣＵモードと比較される。ＦＲＵＣマッチングモードが最も効率的なモードである場合、ＦＲＵＣフラグはＣＵに対してｔｒｕｅに設定され、関連するマッチングモードが使用される。
【００５０】
典型的には、ＦＲＵＣマージモードにおける動き導出プロセスは、２つのステップを有する：最初にＣＵレベルの動きサーチが実行され、その後にサブＣＵレベルの動き精緻化が続く。ＣＵレベルでは、バイラテラルマッチングまたはテンプレートマッチングに基づいて、ＣＵ全体に対して初期動きベクトルを導出する。最初に、ＭＶ候補のリストが生成され、最小マッチングコストをもたらす候補が、さらなるＣＵレベルの改良のための出発点として選択される。次に、開始点周辺でのバイラテラルマッチングまたはテンプレートマッチングに基づくローカルサーチを実行する。ＭＶの結果、最小マッチングコストがＣＵ全体のＭＶとなる。引き続いて、導出されたＣＵ動きベクトルを出発点として、サブＣＵレベルで動き情報をさらに精緻化する。
【００５１】
図７は、フレームレートアップコンバージョン（ＦＲＵＣ）法で使用されるバイラテラルマッチングの例を示す。バイラテラルマッチングは、２つの異なる参照ピクチャ（７１０、７１１）において、現在のＣＵ（７００）の動き軌跡に沿って２つのブロック間の最も近いマッチングを見つけることによって、現在のＣＵの動き情報を導出するために使用される。連続的な動き軌跡の仮定の下で、２つの参照ブロックを指す動きベクトルＭＶ０（７０１）とＭＶ１（７０２）は、現在のピクチャと２つの参照ピクチャの間の時間的距離、例えばＴＤ０（７０３）とＴＤ１（７０４）に比例する。いくつかの実施態様において、現在のピクチャ７００が、時間的に２つの参照ピクチャ（７１０、７１１）の間にあり、現在のピクチャから２つの参照ピクチャまでの時間的距離が同じである場合、バイラテラルマッチングは、ミラーベース双方向ＭＶになる。
【００５２】
図８は、フレームレートアップコンバージョン（Ｆｒａｍｅ−Ｒａｔｅ  Ｕｐ  Ｃｏｎｖｅｒｓｉｏｎ：ＦＲＵＣ）法で使用されるテンプレートマッチングの例を示す。テンプレートマッチングは、現在のピクチャ内のテンプレート（例えば、現在のＣＵの上および／または左に隣接するブロック）と参照ピクチャ８１０内のブロック（例えば、テンプレートと同じサイズ）との間の最も近いマッチングを見つけることによって、現在のＣＵ８００の動き情報を導出するために使用することができる。前述のＦＲＵＣマージモードを除き、テンプレートマッチングはＡＭＶＰモードにも適用することができる。ＪＥＭとＨＥＶＣの両方で、ＡＭＶＰには２つの候補がある。テンプレートマッチング法を用いて、新しい候補を導出することができる。テンプレートマッチングによって新たに導出された候補が最初の既存のＡＭＶＰ候補と異なる場合、それは（例えば、２番目の既存のＡＭＶＰ候補を削除することによって）ＡＭＶＰ候補リストの最初に挿入され、リストサイズは２に設定される。ＡＭＶＰモードに適用され場合、ＣＵレベルサーチのみが適用される。
【００５３】
ＣＵレベルで設定されたＭＶ候補には、（１）現在のＣＵがＡＭＶＰモードにある場合のオリジナルのＡＭＶＰ候補、（２）すべてのマージ候補、（３）補間されたＭＶフィールド（後述）のいくつかのＭＶ、および／または（４）上部および左側の隣接する動きベクトルが含まれる。
【００５４】
バイラテラルマッチングを使用する場合、マージ候補の各有効ＭＶは、バイラテラルマッチングの仮定の下にＭＶペアを生成するための入力として使用することができる。例えば、マージ候補の有効なＭＶの１つは参照リストＡの（ＭＶａ，ｒｅｆａ）である。そのペア化されたバイラテラルＭＶの参照ピクチャリファレンスｒｅｆｂは、ｒｅｆａとｒｅｆｂが時間的に現在のピクチャの異なる側にあるように、他の参照リストＢに見つかる。参照リストＢにそのようなｒｅｆｂがない場合、ｒｅｆｂはｒｅｆａとは異なる参照として決定され、現在のピクチャとの時間的距離は、リストＢの最小のものである。ｒｅｆｂが決定された後、現在のピクチャとｒｅｆａ、ｒｅｆｂとの時間的距離に基づいてＭＶａをスケーリングすることによってＭＶｂが導出される。
【００５５】
いくつかの実装では、補間されたＭＶフィールドからの４つのＭＶをＣＵレベル候補リストに加えられることができる。より具体的には、現在のＣＵの位置（０、０）、（Ｗ／２、０）、（０、Ｈ／２）および（Ｗ／２、Ｈ／２）に補間されたＭＶが追加される。ＡＭＶＰモードでＦＲＵＣを適用すると、ＣＵレベルのＭＶ候補セットに元のＡＭＶＰ候補も追加される。一部の実装では、ＣＵレベルで、ＡＭＶＰ  ＣＵの場合は１５ＭＶ、マージＣＵの場合は１３ＭＶを候補リストに追加できる。
【００５６】
サブＣＵレベルで設定されたＭＶ候補は、ＣＵレベルのサーチから決定されたＭＶ、（２）上、左、左上、及び右上の隣接するＭＶ、（３）参照ピクチャからのコロケーションされたＭＶのスケーリングされたバージョン、（４）１以上のＡＴＭＶＰ候補（例えば４つまで）、および／または（５）１以上のＳＴＭＶＰ候補（例えば４つまで）を含む。参照ピクチャからのスケーリングされたＭＶは以下のように導出される。両方のリストにある参照ピクチャを横断する。参照ピクチャのサブＣＵのコロケーション位置（ｃｏｌｌｏｃａｔｅｄ  ｐｏｓｉｔｉｏｎ）のＭＶは、開始ＣＵレベルＭＶを参照してスケーリングされる。ＡＴＭＶＰおよびＳＴＭＶＰ候補は、４つの最初の候補とすることができる。サブＣＵレベルでは、一以上のＭＶ（例えば、１７まで）が候補リストに追加される。
【００５７】
フレームを符号化する前に、補間された動き場が、片側（ｕｎｉｌａｔｅｒａｌ）ＭＥに基づいて全体ピクチャに対して生成される。その後、動きフィールドは、後にＣＵレベルまたはサブＣＵレベルＭＶ候補として使用されることがある。
【００５８】
いくつかの実施態様において、両方の参照リストにおける各参照ピクチャの動き場を、４×４ブロックレベルで横断する。図９は、ＦＲＵＣ法における片側動き推定（ＭＥ）９００の例を示す。４×４ブロックごとに、ブロックに関連する動きが現在のピクチャの４×４ブロックを通り、そのブロックは補間されたどの動きにも割り当てられていない場合、参照ブロックの動きは時間距離ＴＤ０とＴＤ１（ＨＥＶＣにおけるＴＭＶＰのＭＶスケーリングと同様）に従って現在のピクチャにスケーリングされ、スケーリングされた動きは現在のフレームのブロックに割り当てられる。４×４ブロックにスケーリングされたＭＶが割り当てられていない場合は、そのブロックの動きは、補間された動き場では使用不可としてマークされる。
【００５９】
動きベクトルが端数サンプル位置を指すとき、動き補償補間が必要である。複雑さを減らすために、通常の８タップＨＥＶＣ補間の代わりに双線形補間を、バイラテラルマッチングとテンプレートマッチングの両方に使用することができる。
【００６０】
マッチングコストの計算は、異なるステップで少しずつ異なる。ＣＵレベルで候補セットから候補を選択するとき、マッチングコストは、バイラテラルマッチングまたはテンプレートマッチングの絶対和差（ＳＡＤ）であり得る。開始ＭＶが決定された後、サブＣＵレベルサーチにおけるバイラテラルマッチングのマッチングコストＣは、以下のように計算される：
【００６１】
【数４】
2021528011.tif 000006
【００６２】
ここで、ｗは重み係数である。いくつかの実施形態において、ｗは経験的に４に設定することができる。ＭＶおよびＭＶＳは、それぞれ現在のＭＶおよび開始ＭＶを示す。ＳＡＤは、サブＣＵレベルサーチにおけるテンプレートマッチングのマッチングコストとして依然として使用され得る。
【００６３】
ＦＲＵＣモードでは、ＭＶはルミナンスサンプルのみを使用して導出される。導出された動きは、ＭＣ間予測のためのルミナンス（ｌｕｍａ）とクロミナンス（ｃｈｒｏｍａ）の両方に使用される。ＭＶが決定された後、ルミナンス用の８タップ補間フィルタとクロミナンス用の４タップ補間フィルタを使用して最終ＭＣを実行する。
【００６４】
ＭＶ精緻化は、バイラテラルマッチングコストまたはテンプレートマッチングコストを基準としてパターンベースのＭＶサーチである。ＪＥＭでは、２つのサーチパターンがサポートされている。それぞれＣＵレベルとサブＣＵレベルのＭＶ精緻化のための無制限中心バイアスダイヤモンドサーチ（ＵＣＢＤＳ）と適応クロスサーチである。ＣＵレベルとサブＣＵレベルのＭＶ精緻化の両方について、ＭＶは１／４ルミナンスサンプルＭＶ精度で直接サーチされ、続いて１／８ルミナンスサンプルＭＶ精緻化が行われる。ＣＵおよびサブＣＵステップのＭＶ精緻化のサーチ範囲は、８ルミナンスサンプルに設定される。
【００６５】
バイラテラルマッチングマージモードでは、ＣＵの動き情報が、２つの異なる参照ピクチャにおける現在のＣＵの動き軌跡に沿った２つのブロック間の最も近いマッチに基づいて導出されるので、双予測（ｂｉ−ｐｒｅｄｉｃｔｉｏｎ）が適用される。テンプレートマッチングマージモードでは、エンコーダは、ｌｉｓｔ０からの単予測（ｕｎｉ−ｐｒｅｄｉｃｔｉｏｎ）、ｌｉｓｔ１からの単予測、またはＣＵに対する双予測の中から選択することができる。選択は、次のようにテンプレートマッチングコストに基づいて行うことができる
【００６６】
ＩＦ  ｃｏｓｔＢｉ  ＜＝  ｆａｃｔｏｒ  ＊  ｍｉｎ（ｃｏｓｔ０，ｃｏｓｔ１）
【００６７】
双予測を用いる；
【００６８】
Ｏｔｈｅｒｗｉｓｅ，  ｉｆ  ｃｏｓｔ０  ＜＝  ｃｏｓｔ１
【００６９】
ｌｉｓｔ０からの単予測を用いる；
【００７０】
Ｏｔｈｅｒｗｉｓｅ，
【００７１】
ｌｉｓｔ１からの単予測を用いる；
【００７２】
ここで、ｃｏｓｔ０はｌｉｓｔ０テンプレートマッチングのＳＡＤ、ｃｏｓｔ１はｌｉｓｔ１テンプレートマッチングのＳＡＤ、ｃｏｓｔＢｉは双予測テンプレートマッチングのＳＡＤである。例えば、係数の値が１．２５に等しい場合、それは選択プロセスが双予測に偏っていることを意味する。予測間方向選択（ｉｎｔｅｒ  ｐｒｅｄｉｃｔｉｏｎ  ｄｉｒｅｃｔｉｏｎ  ｓｅｌｅｃｔｉｏｎ）を、ＣＵレベルテンプレートマッチングプロセスに適用することができる。
【００７３】
人間の視覚系は、輝度よりも色の位置や動きに敏感ではない。したがって、カラーディテールよりも多くの輝度ディテールを保存することによって帯域幅を最適化することができる。ビデオシステムでは、これは、色差成分を使用することによって達成される。信号はルミナンス（Ｙ’）成分と２つの色差（クロミナンス）成分に分けられる。クロマサブサンプリングは、ルミナンス情報よりもクロマ情報の解像度を低く実装することによって画像を符号化する方法であり、ヒト視覚系においてはルミナンスよりも色差の方が視力が低いことを利用するものである。例えば、一般的なサブサンプリングのタイプには、４：２：２（２つのクロマ成分がルミナンスのサンプルレートの半分でサンプリングされる）、４：１：１（水平方向のカラー解像度が四分の１にされる）、および４：２：０（４：１：１と比較して垂直方向の解像度が半分になる。これは、ＣｂチャネルとＣｒチャネルがそれぞれの交代ラインでのみサンプリングされるためである）がある。一例では、ＨＥＶＣ標準は、クロマ成分（ｍｖＣとして記す）内のＭＣに使用されたＭＶを、ルマ成分（ｍｖとして記す）内のＭＣに使用されるＭＶから導出する方法を規定する。一般に、ｍｖＣは、４：２：０または４：２：２のようなカラーフォーマットに依存する係数をかけたｍｖとして計算される。
【００７４】
現在ピクチャ参照（ｃｕｒｒｅｎｔ  ｐｉｃｔｕｒｅ  ｒｅｆｅｒｅｎｃｉｎｇ：ＣＰＲ）とも呼ばれるブロック内コピー（ＩＢＣ、またはピクチャブロック内補償）がＨＥＶＣスクリーンコンテンツ符号化拡張（ＳＣＣ）で採用された。このツールは、テキストとグラフィックスが豊富なコンテンツの繰り返しパターンが同一ピクチャ内で頻繁に発生するという点で、スクリーンコンテンツビデオのコーディングに非常に有効である。予測器として同一または類似のパターンを有する以前に再構成されたブロックを有することは、予測誤差を効果的に低減でき、従って符号化効率を改善できる。
【００７５】
ＨＥＶＣ  ＳＣＣにおけるＣＲＰの設計と同様に、ＶＶＣにおいては、ＩＢＣモードの使用は、シーケンスおよびピクチャレベルの両方でシグナリングされる。ＩＢＣモードは、シーケンスパラメータセット（ＳＰＳ）で有効にされると、ピクチャレベルで有効にすることができる。ＩＢＣモードは、ピクチャレベルで有効にされると、現在の再構成されたピクチャは参照ピクチャとして扱われる。したがって、ＩＢＣモードの使用をシグナリングする既存のＶＶＣインターモードに対して、ブロックレベルの構文変更は必要ない。
【００７６】
ＩＢＣモードの特徴は以下の通りである：
【００７７】
○通常のインターモードとして扱われる。そのため、マージモードとスキップモードはＩＢＣモードでも使用できる。マージ候補リスト構成は統一され、ＩＢＣモードまたはＨＥＶＣインターモードのいずれかで符号化された隣接位置からのマージ候補を含む。選択されたマージインデックスに応じて、マージモードまたはスキップモードの現在のブロックは、ＩＢＣモードモード復号化された隣接ブロック、または、参照ピクチャとして異なるピクチャを有する通常のインターモード符号化されたブロックのいずれかにマージできる。
【００７８】
○ＩＢＣモードのブロックベクトル予測および符号化方式は、ＨＥＶＣインターモード（ＡＭＶＰおよびＭＶＤ符号化）における動きベクトル予測および符号化に使用される方式を再利用する。
【００７９】
○ブロックベクトルとも呼ばれるＩＢＣモードの動きベクトルは整数ピクセル精度で符号化されるが、補間および逆ブロック化（ｄｅｂｌｏｃｋｉｎｇ）段階で１／４ピクセル精度が要求されるので、復号後に１／１６ピクセル精度でメモリに保存される。ＩＢＣモードの動きベクトル予測で使用される場合、保存されたベクトル予測子は４だけ右シフトされる。
【００８０】
○サーチ範囲：現在のＣＴＵ内に制限される。
【００８１】
○アフィンモード／三角モード／ＧＢＩ／重み付き予測が有効になっている場合は、ＣＰＲを禁止される。
【００８２】
場合によっては、現在のマージ候補リスト内のあらかじめ定めた候補ペアを平均することによってペア別平均候補が生成され、あらかじめ定めたペアは｛（０，１）、（０，２）、（１，２）、（０，３）、（１，３）、（２，３）｝として定められる。ここで、数字はマージ候補リストへのマージインデックスを表す。平均化された動きベクトルは、各参照リストに対して別々に計算される。両方の動きベクトルが１つのリストにある場合、これらの２つの動きベクトルは、それらが異なる参照ピクチャを指している場合であっても平均される。１つの動きベクトルしか無い場合は、その１つの動きベクトルを直接使用し、動きベクトルがない場合は、このリストを無効のままにする。ペア平均候補は、ＨＥＶＣ標準の組み合わせ候補に取って代わる。２つのマージ候補のＭＶがＭＶ０＝（ＭＶ０ｘ，ＭＶ０ｙ）、ＭＶ１＝（ＭＶ１ｘ，ＭＶ１ｙ）であるとすると、ＭＶ＊＝（ＭＶ＊ｘ，ＭＶ＊ｙ）と表されるペアのマージ候補のＭＶは以下のように導出される：
【００８３】
ＭＶ＊ｘ＝（ＭＶ０ｘ＋ＭＶ１ｘ）／２、及び
【００８４】
ＭＶ＊ｙ＝（ＭＶ０ｙ＋ＭＶ１ｙ）／２
【００８５】
また、ＭＶ０、ＭＶ１が現在のピクチャを参照している場合（すなわち、ＣＰＲモード）、ＭＶ＊ｘ、ＭＶ＊ｙはさらに丸められ、フルピクセルよりも高い精度の部分を取り除き、整数ＭＶが得られるようにする：
【００８６】
ＭＶ＊ｘ＝（ＭＶ＊ｘ／１６）＜＜４、及び
【００８７】
ＭＶ＊ｙ＝（ＭＶ＊ｙ／１６）＜＜４。
【００８８】
留意点として、各ペアについて、２つのうちの一方がＣＰＲ符号化され、もう一方がＣＰＲ符号化されていない場合、そのようなペアはペア平均候補となることができない。
【００８９】
三角形予測モード（ＴＰＭ）の概念は、動き補償予測のための新しい三角形パーティションを導入することである。ＴＰＭは、ＣＵを対角方向または逆対角方向の２つの三角形予測ユニットに分割する。ＣＵの各三角予測ユニットは、単一の単予測候補リストから導出された独自の単予測動きベクトルと参照フレームインデックスとを用いて相互予測（ｉｎｔｅｒ−ｐｒｅｄｉｃｔｅｄ）される。三角形予測ユニットを予測した後、対角線エッジに対して適応的重み付けプロセスを実行する。次に、変換と量子化プロセスをＣＵ全体に適用する。留意点として、このモードはマージモードにのみ適用される（注：スキップモードは特別なマージモードとして扱われる）。
ＴＰＭの単予測候補リスト
【００９０】
ＴＰＭ動き候補リストと名付けた単予測候補リストは、５つの単予測動きベクトル候補から構成される。これは、５つの空間的隣接ブロックと２つの時間的コロケーション（ｃｏ−ｌｏｃａｔｅｄ）ブロックを含む７つの隣接ブロックから導出される。７つの隣接ブロックの動きベクトルを収集し、単予測候補リストに、単予測動きベクトル、双予測動きベクトルのＬ０動きベクトル、双予測動きベクトルのＬ１動きベクトル、および双予測動きベクトルのＬ０動きベクトルとＬ１動きベクトルの平均化された動きベクトルの順に入れる。候補の数が５未満の場合、動きベクトルはリストに追加されない。ＴＰＭのためにこのリストに追加された動き候補はＴＰＭ候補と呼ばれ、空間的／時間的ブロックから導出された動き情報はレギュラー動き候補と呼ばれる。
【００９１】
具体的には、以下のステップが含まれる：
【００９２】
（１）  剪定操作を行わずに、（レギュラーマージモードと同様に）Ａ１，Ｂ１，Ｂ０，Ａ０，Ｂ２，Ｃｏｌ，Ｃｏｌ２から、レギュラー動き候補を取得する。
【００９３】
（２）変数ｎｕｍＣｕｒｒＭｅｒｇｅＣａｎｄ＝０と設定
【００９４】
（３）Ａ１，Ｂ１，Ｂ０，Ａ０，Ｂ２，Ｃｏｌ，Ｃｏｌ２と、５未満のｎｕｍＣｕｒｒＭｅｒｇｅＣａｎｄから導出された各レギュラー動き候補について、正規動き候補が単予測（Ｌｉｓｔ０またはＬｉｓｔ１のいずれか）である場合、ＴＰＭ候補としてマージリストに直接追加し、ｎｕｍＣｕｒｒＭｅｒｇｅＣａｎｄを１増加させる。このようなＴＰＭ候補は、「オリジナル単予測候補（ｏｒｉｇｉｎａｌｌｙ  ｕｎｉ−ｐｒｅｄｉｃｔｅｄ  ｃａｎｄｉｄａｔｅ）」と呼ぶ。
【００９５】
完全な剪定（ｐｒｕｎｉｎｇ）を適用する。
【００９６】
（４）Ａ１、Ｂ１、Ｂ０、Ａ０、Ｂ２、Ｃｏｌ、Ｃｏｌ２及び５未満のｎｕｍＣｕｒｒＭｅｒｇｅＣａｎｄから導出された各動き候補は、正規動き候補が双予測である場合、Ｌｉｓｔ０からの動き情報が、新しいＴＰＭ候補としてＴＰＭマージリスト（すなわち、Ｌｉｓｔ０からの単予測に修正）に追加され、ｎｕｍＣｕｒｒＭｅｒｇｅＣａｎｄが１増加される。このようなＴＰＭ候補は「剪定Ｌｉｓｔ０−予測候補」と命名される。
【００９７】
完全な剪定が適用される。
【００９８】
（５）Ａ１、Ｂ１、Ｂ０、Ａ０、Ｂ２、Ｃｏｌ、Ｃｏｌ２から導出された、ｎｕｍＣｕｒｒＭｅｒｇｅＣａｎｄが５未満である各動き候補に対し、レギュラー動き候補が双予測である場合、Ｌｉｓｔ１からの動き情報がＴＰＭマージリストに追加され（すなわち、Ｌｉｓｔ１からの単予測に修正され）、ｎｕｍＣｕｒｒＭｅｒｇｅＣａｎｄが１増加される。このようなＴＰＭ候補は「剪定Ｌｉｓｔ１−予測候補」と呼ばれる。
【００９９】
完全な剪定が適用される。
【０１００】
（６）Ａ１、Ｂ１、Ｂ０、Ａ０、Ｂ２、Ｃｏｌ、Ｃｏｌ２から導出された、ｎｕｍＣｕｒｒＭｅｒｇｅＣａｎｄが５未満である各動き候補について、レギュラー動き候補が双予測である場合、Ｌｉｓｔ１の動き情報は最初にＬｉｓｔ０の参照ピクチャにスケーリングされ、２つのＭＶ（一方は元のＬｉｓｔ０から、他方はＬｉｓｔ１からスケーリングされたＭＶ）の平均をＴＰＭマージリストに加算する。そのような候補をＬｉｓｔ０の動き候補からの平均単予測と呼び、ｎｕｍＣｕｒｒｇｅＭｅｒＣａｎｄを１だけ増加させる。
【０１０１】
完全な剪定が適用される。
【０１０２】
（７）ｎｕｍＣｕｒｒＭｅｒｇｅＣａｎｄが５未満の場合、ゼロ動きベクトル候補が追加される。
【０１０３】
候補をリストに挿入する際に、その候補が以前に追加された候補のうちの１つと同一であるかどうかを確認するために、その候補が以前に追加されたすべての候補と比較されなければならない場合、そのプロセスは完全剪定（ｆｕｌｌ  ｐｒｕｎｉｎｇ）と呼ばれる。
【０１０４】
スケール化されたＭＶを（ＭＶ１’ｘ，ＭＶ１’ｙ）で表し、リスト０のＭＶを（ＭＶ０ｘ，ＭＶ０ｙ）で表すと仮定する。（ＭＶ＊ｘ，ＭＶ＊ｙ）で示されるＬｉｓｔ０動き候補からの平均単予測は、次のように定義される：
【０１０５】
ＭＶ＊ｘ＝（ＭＶ０ｘ＋ＭＶ１’ｘ＋１）＞＞１
【０１０６】
ＭＶ＊ｙ＝（ＭＶ０ｙ＋ＭＶ１’ｙ＋１）＞＞１。
【０１０７】
ＪＥＭにおけるアフィン予測のようないくつかの既存の実装では、各成分について独立して式（１）に示されるように、各サブブロックのＭＶがアフィンモデルを用いて計算され、これはルミナンス成分とクロミナンス成分との間の動きベクトルの位置ずれを生じさせる可能性がある。複数の成分の計算もまた、符号化の非効率性をもたらす。いくつかの他の既存の実装では、Ｌｉｓｔ０動き候補からペアマージ候補／平均化単予測を導出するための動きベクトル平均化演算は、サブブロック予測で使用される丸め方法と整合する必要がある。したがって、統一された設計を取得することが望ましい。
【０１０８】
本特許文献は、別の成分（例えばルミナンス成分）の一以上のサブブロックのＭＶから、１つの成分（例えばクロマ成分）のサブブロックのＭＶを計算する様々な実施形態で実施することができる技術を開示している。開示された技術は、異なる成分のＭＶを複数回決定する必要性を排除し、それによって、ビデオ符号化効率を改善する。また、開示の技術は、平均化演算および丸め方法に関して統一された設計を導入する。
【０１０９】
そのような技術の使用は、種々の実施例について説明される以下の実施例において明らかになる。以下の例では、限定的に解釈してはならないが、Ｓｈｉｆｔ（ｘ，ｓ）はＳｈｉｆｔ（ｘ，ｓ）＝（ｘ＋ｏｆｆ）＞＞ｓと定義される。
【０１１０】
ＳｉｇｎＳｈｉｆｔ（ｘ，ｓ）は以下のように定義される：
【０１１１】
【数５】
2021528011.tif 000007
【０１１２】
ここで、ｏｆｆは整数、例えば０または１＜＜（ｓ−１）である。
【０１１３】
いくつかの実施形態において、１つの成分のサブブロックのＭＶは、別の成分の１以上のサブブロックのＭＶに基づいて導出することができる。ここで、別の成分の一以上のサブブロックのＭＶは、アフィンモデルで既に導出されている。このようにして、動き情報を複数導出する必要はない。
【０１１４】
いくつかの実施形態では、ＨＥＶＣ標準は、ルミナンス成分（ｍｖと示される）中のＭＣのために使用されるＭＶから、クロミナンス成分（ｍｖＣと示される）中のＭＶを導出する方法を定める。一般に、ｍｖＣは、４：２：０または４：２：２のようなカラーフォーマットに依存する係数をｍｖに乗算することで計算される。図１０は、本技術に係るサブブロックの成分のＭＶを４：２：０フォーマットで導出する例を示す。この例では、ブロックサイズはＹ（ルミナンス成分）で１６×１６、Ｃｂ／Ｃｒ（クロミナンス成分）で８×８である。ルミナンス成分のサブブロックサイズは４×４であり、クロミナンス成分のサブブロックサイズは２×２である。ＭＶ＊は最初にＹ成分中の４×４サブブロックに対して導出される。Ｃｂおよび／またはＣｒ成分中の２×２サブブロックのＭＶは、ＭＶ＊に基づいて導出することができる。この特定の例では、ＭＶ＊の値が最初にコピーされ、Ｃｂおよび／またはＣｒ成分中の２×２サブブロックのＭＶは、ＨＥＶＣ標準に従ってＭＶ＊に基づいて計算される。
【０１１５】
図１１は、本技術に従った、４：２：０フォーマットにおいてサブブロックの成分のＭＶを導出する別の例を示す。この例では、ブロックサイズはルミナンス成分で１６×１６、クロミナンス成分で８×８である。すべての成分のサブブロックサイズは４×４である。ＣｂまたはＣｒ成分の４×４サブブロックは、Ｙ成分の４×４サブブロックに対応する。ルミナンス成分のＭＶ＊が最初に計算される。次に、ＣｂまたはＣｒ成分中の４×４サブブロックのＭＶが、ＨＥＶＣ標準に従ってＭＶ＊に基づいて導出される。
【０１１６】
いくつかの実施形態では、ＭＶ＊は、Ｙ成分中の全ての対応するサブブロックＭＶの平均として計算される：ＭＶ＊＝（ＭＶ０＋ＭＶ１＋ＭＶ２＋ＭＶ３）／４。ＭＶ＊＝（ＭＶ＊ｘ、ＭＶ＊ｙ）、ＭＶ０＝（ＭＶ０ｘ、ＭＶ０ｙ）、ＭＶ１＝（ＭＶ１ｘ、ＭＶ１ｙ）、ＭＶ２＝（ＭＶ２ｘ、ＭＶ２ｙ）、ＭＶ３＝（ＭＶ３ｘ、ＭＶ３ｙ）とする。
【０１１７】
いくつかの実施形態では、ＭＶ＊ｘ＝Ｓｈｉｆｔ（ＭＶ０ｘ＋ＭＶ１ｘ＋ＭＶ２ｘ＋ＭＶ３ｘ，２）、ＭＶ＊ｙ＝Ｓｈｉｆｔ（ＭＶ０ｙ＋ＭＶ１ｙ＋ＭＶ２ｙ＋ＭＶ３ｙ，２）である。いくつかの実施形態では、ＭＶ＊ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｘ＋ＭＶ１ｘ＋ＭＶ２ｘ＋ＭＶ３ｘ，２）、ＭＶ＊ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｙ＋ＭＶ１ｙ＋ＭＶ２ｙ＋ＭＶ３ｙ，２）である。
【０１１８】
いくつかの実施形態では、ＭＶ＊の計算は、以下の演算を使用して行うことができる：
【０１１９】
１．ａ ＭＶ’ｘ＝Ｓｈｉｆｔ（ＭＶ０ｘ＋ＭＶ１ｘ，１）
【０１２０】
１．ｂ ＭＶ’ｙ＝Ｓｈｉｆｔ（ＭＶ０ｙ＋ＭＶ１ｙ，１）、
【０１２１】
１．ｃ ＭＶ’’ｘ＝Ｓｈｉｆｔ（ＭＶ２ｘ＋ＭＶ３ｘ，１），
【０１２２】
１．ｄ ＭＶ’’ｙ＝Ｓｈｉｆｔ（ＭＶ２ｙ＋ＭＶ３ｙ，１）
【０１２３】
１．ｅ ＭＶ＊ｘ ＝Ｓｈｉｆｔ（ＭＶ’ｘ＋ＭＶ’’ｘ，１）、
【０１２４】
１．ｆ ＭＶ＊ｙ ＝Ｓｈｉｆｔ（ＭＶ’ｙ＋ＭＶ’’ｙ，１）
【０１２５】
いくつかの実施形態では、ＭＶ＊の計算は、以下の演算を使用して行うことができる：
【０１２６】
２．ａ ＭＶ’ｘ＝Ｓｈｉｆｔ（ＭＶ０ｘ＋ＭＶ２ｘ，１）
【０１２７】
２．ｂ ＭＶ’ｙ＝Ｓｈｉｆｔ（ＭＶ０ｙ＋ＭＶ２ｙ，１）
【０１２８】
２．ｃ ＭＶ’’ｘ＝Ｓｈｉｆｔ（ＭＶ１ｘ＋ＭＶ３ｘ，１）
【０１２９】
２．ｄ ＭＶ’’ｙ＝Ｓｈｉｆｔ（ＭＶ１ｙ＋ＭＶ３ｙ，１）
【０１３０】
２．ｅ ＭＶ＊ｘ ＝Ｓｈｉｆｔ（ＭＶ’ｘ＋ＭＶ’’ｘ，１）、
【０１３１】
２．ｆ ＭＶ＊ｙ ＝Ｓｈｉｆｔ（ＭＶ’ｙ＋ＭＶ’’ｙ，１）
【０１３２】
いくつかの実施形態において、ＭＶ＊の計算は、以下の演算を使用して行うことができる：
【０１３３】
３．ａ ＭＶ’ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｘ＋ＭＶ１ｘ，１）
【０１３４】
３．ｂ ＭＶ’ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｙ＋ＭＶ１ｙ，１）
【０１３５】
３．ｃ ＭＶ’’ｘ      ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ２ｘ＋ＭＶ３ｘ，１）
【０１３６】
３．ｄ ＭＶ’’ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ２ｙ＋ＭＶ３ｙ，１），
【０１３７】
３．ｅ ＭＶ＊ｘ ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ’ｘ＋ＭＶ’’ｘ，１）
【０１３８】
３．ｆ ＭＶ＊ｙ ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ’ｙ＋ＭＶ’’ｙ，１）。
【０１３９】
いくつかの実施形態において、ＭＶ＊の計算は、以下の演算を使用して行うことができる：
【０１４０】
４．ａ ＭＶ’ｘ       ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｘ＋ＭＶ２ｘ，１）
【０１４１】
４．ｂ ＭＶ’ｙ       ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｙ＋ＭＶ２ｙ，１）
【０１４２】
４．ｃ ＭＶ’’ｘ         ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ１ｘ＋ＭＶ３ｘ，１）
【０１４３】
４．ｄ ＭＶ’’ｙ         ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ１ｙ＋ＭＶ３ｙ，１）
【０１４４】
４．ｅ ＭＶ＊ｘ ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ’ｘ＋ＭＶ’’ｘ，１）
【０１４５】
４．ｆ ＭＶ＊ｙ ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ’ｙ＋ＭＶ’’ｙ，１）。
【０１４６】
いくつかの実施態様において、ＭＶ＊は、Ｙ成分中の左上サブブロックのＭＶ（例えば、図１１に示されるようなＭＶ０）に基づいて計算される。いくつかの実施態様において、ＭＶ＊は、Ｙ成分における中心サブブロックのＭＶに基づいて計算される。いくつかの実施態様において、ＭＶ＊は、Ｙ成分中の全ての対応するサブブロックの中央値ＭＶに基づいて計算される。図１１に示すこの特定の例では、ＭＶ＊＝ｍｅｄｉａｎ（ＭＶ０、ＭＶ１、ＭＶ２、ＭＶ３）である。
【０１４７】
いくつかの実施形態では、色成分のサブブロックのＭＶの導出は、４：２：０、４：２：２および／または４：４：４などの色フォーマットに基づいて決定することができる。例えば、色フォーマットが４：４：４の場合、サブサンプリングは行われない。ビデオデータのブロック内のサブブロックサイズとサブブロック数は、すべての成分で同じである。ある成分のサブブロックのＭＶは、別の成分の対応するサブブロックのＭＶと同じである。
【０１４８】
別の例として、カラーフォーマットが４：２：２の場合、サブブロックのサイズは、すべての成分について同じにしてもよく、一方、ブロックの数は、成分が異なれば異なってもよい。ルミナンス成分のＭＶ＊は、まずいくつかの対応するサブブロックのＭＶに基づいて計算される。次いで、ＣｂまたはＣｒ成分中の対応するサブブロックのＭＶ（ｓ）をＭＶ＊から導出する。
【０１４９】
図１２は、本技術によるサブブロックの成分のＭＶを導出するさらに別の例を示す。この例では、ブロックサイズはルミナンス成分で１６×１６、クロミナンス成分で８×１６である。すべての成分のサブブロックサイズは４×４である。ＣｂまたはＣｒ成分の４×４サブブロックは、Ｙ成分の２つの４×４サブブロックに相当する。ルミナンス成分のＭＶ＊をまず計算する。次に、ＣｂまたはＣｒ成分中の４×４サブブロックのＭＶを、ＨＥＶＣ標準に従ってＭＶ＊に基づいて導出する。
【０１５０】
いくつかの実施態様において、ＭＶ＊は、Ｙ成分中の全ての対応するサブブロックＭＶの平均として計算される：ＭＶ＊＝（ＭＶ０＋ＭＶ１）／２。ＭＶ＊＝（ＭＶ＊ｘ、ＭＶ＊ｙ）、ＭＶ０＝（ＭＶ０ｘ、ＭＶ０ｙ）、ＭＶ１＝（ＭＶ１ｘ、ＭＶ１ｙ）とする。
【０１５１】
いくつかの実施態様において、ＭＶ＊ｘ＝Ｓｈｉｆｔ（ＭＶ０ｘ＋ＭＶ１ｘ，１）、ＭＶ＊ｙ＝Ｓｈｉｆｔ（ＭＶ０ｙ＋ＭＶ１ｙ，１）である。いくつかの実施態様において、ＭＶ＊ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｘ＋ＭＶ１ｘ，１）、ＭＶ＊ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｙ＋ＭＶ１ｙ，１）である。
【０１５２】
図１３は、本技術の一以上の実施形態によるビデオ符号化のための例示的方法１３００のフローチャートである。方法１３００は、動作１３１０において、現在のビデオブロックの第１の成分を第１サブブロックセットに分割することを含む。方法１３００は、動作１３２０において、現在のビデオブロックの第２の成分を第２サブブロックセットに分割することを含む。第２の成分のサブブロックは、第１の成分の一以上のサブブロックに対応する。また、方法１３００は、動作１３３０において、現在のビデオブロックのカラーフォーマットに基づいて、第２の成分のサブブロックの動きベクトルを、第１のカラー成分の一以上の対応するサブブロックの動きベクトルに基づいて導出することを含む。
【０１５３】
図１４は、本技術の一以上の実施形態によるビデオ符号化のための別の例示的方法１４００のフローチャートである。方法１４００は、動作１４１０において、第１の成分および少なくとも第２の成分を含むビデオデータのブロックを受信することを含む。第１の成分は、第１サブブロックセットに分割され、第２の成分は、第２サブブロックセットに分割される。第２の成分のサブブロックは、第１の成分の一以上のサブブロックに対応する。方法１４００は、動作１４２０において、ビデオデータのブロックのカラーフォーマットに基づいて、第２の成分のサブブロックの動きベクトルを、第１のカラー成分の一以上の対応するサブブロックの動きベクトルに基づいて導出することを含む。方法１４００は、動作１４３０において、導出された動きベクトルに基づいて、ビデオデータのブロックを再構成するか、または同じピクチャ内のビデオデータの他のブロックを復号することを含む。
【０１５４】
いくつかの実施態様において、第２の成分のサブブロックは、第１の成分のサブブロックに対応する。例えば、これらの２つのサブブロックは、ピクチャ内で空間的にコロケーション（ｃｏ−ｌｏｃａｔｅｄ）されてもよい。方法１３００または１４００は、さらに、第１の成分のサブブロックの動きベクトルをコピーすることにより、中間動きベクトルセットを計算し、中間動きベクトルセットに係数を適用して、導出された動きベクトルを取得することを含む。前記係数は、カラーフォーマットに関連付けられる。
【０１５５】
いくつかの実施態様において、カラーフォーマットは、４：４：４ではなく（例えば、４：２：２又は４：２：０であり）、第１サブブロックセットのうちの少なくとも１つのサブブロックのサイズは、第２サブブロックセットのうちの少なくとも１つのサブブロックのサイズとは異なる。いくつかの実施態様において、カラーフォーマットは、４：４：４であり、第１サブブロックセットのうちの少なくとも１つのサブブロックのサイズは、第２サブブロックセットのうちの少なくとも１つのサブブロックのサイズと同じである。
【０１５６】
いくつかの実施態様において、カラーフォーマットは、４：４：４ではなく、第１サブブロックセットのうちの少なくとも１つのサブブロックのサイズは、第２サブブロックセットのうちの少なくとも１つのサブブロックのサイズと同一である。第２の成分のサブブロックは、第１の成分の複数のサブブロックに対応する。いくつかの実施態様において、第２の成分のサブブロックの動きベクトルのうちの少なくとも１つは、第１の成分の複数のサブブロックの対応する動きベクトルの平均に基づいて導出される。
【０１５７】
いくつかの実装では、第２の成分のサブブロックは、第１の成分の４つのサブブロックに対応する。４つのサブブロックは、それぞれ、動きベクトルＭＶ０＝（ＭＶ０ｘ、ＭＶ０ｙ）、ＭＶ１＝（ＭＶ１ｘ、ＭＶ１ｙ）、ＭＶ２＝（ＭＶ２ｘ、ＭＶ２ｙ）およびＭＶ３＝（ＭＶ３ｘ、ＭＶ３ｙ）を有する。方法１３００または１４００は、中間動きベクトルセットＭＶ＊＝（ＭＶ＊ｘ、ＭＶ＊ｙ）を、ＭＶ＊ｘ＝Ｓｈｉｆｔ（ＭＶ０ｘ＋ＭＶ１ｘ＋ＭＶ２ｘ＋ＭＶ３ｘ，２）及びＭＶ＊ｙ＝Ｓｈｉｆｔ（ＭＶｙ０＋ＭＶｙ１＋ＭＶｙ２＋ＭＶｙ３，２）として計算するステップを含む。Ｓｈｉｆｔ（ｘ，ｓ）＝（ｘ＋ｏｆｆ）≫ｓであり、ｏｆｆおよびｓは整数であり、＞＞は右シフト演算を表す。また、方法１３００または１４００は、中間動きベクトルセットに係数を適用して、導出された動きベクトルを取得することを含み、前記係数は、カラーフォーマットに関連付けられる。
【０１５８】
いくつかの実装では、第２の成分のサブブロックは、第１の成分の４つのサブブロックに対応する。４つのサブブロックは、それぞれ、動きベクトルＭＶ０＝（ＭＶ０ｘ、ＭＶ０ｙ）、ＭＶ１＝（ＭＶ１ｘ、ＭＶ１ｙ）、ＭＶ２＝（ＭＶ２ｘ、ＭＶ２ｙ）およびＭＶ３＝（ＭＶ３ｘ、ＭＶ３ｙ）を有する。方法１３００または１４００は、中間動きベクトルセットＭＶ＊＝（ＭＶ＊ｘ、ＭＶ＊ｙ）をＭＶ＊ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｘ＋ＭＶ１ｘ＋ＭＶ２ｘ＋ＭＶ３ｘ，２）及びＭＶ＊ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｙ＋ＭＶ１ｙ＋ＭＶ２ｙ＋ＭＶ３ｙ，２）として計算することを含む。ここで、ＳｉｇｎＳｈｉｆｔ（ｘ，ｓ）＝（ｘ＋ｏｆｆ）≫ｓ（ｘ≧０のとき）または−（（−ｘ＋ｏｆｆ）≫ｓ）（ｘ＜０のとき）であり、ｏｆｆおよびｓは整数であり、＞＞はシフト演算を表す。また、方法１３００または１４００は、中間動きベクトルセットに係数を適用して、導出した動きベクトルを取得することを含み、前記係数は、カラーフォーマットに関連付けられる。
【０１５９】
いくつかの実装では、第２の成分のサブブロックは、第１の成分の４つのサブブロックに対応する。４つのサブブロックは、それぞれ、動きベクトルＭＶ０＝（ＭＶ０ｘ、ＭＶ０ｙ）、ＭＶ１＝（ＭＶ１ｘ、ＭＶ１ｙ）、ＭＶ２＝（ＭＶ２ｘ、ＭＶ２ｙ）およびＭＶ３＝（ＭＶ３ｘ、ＭＶ３ｙ）を有する。方法１３００または１４００は、中間動きベクトルセットＭＶ＊＝（ＭＶ＊ｘ、ＭＶ＊ｙ）を、ＭＶ＊ｘ＝Ｓｈｉｆｔ（ＭＶ’ｘ＋ＭＶ’’ｘ，１）及びＭＶ＊ｙ＝Ｓｈｉｆｔ（ＭＶ’ｙ＋ＭＶ’’ｙ，１）として計算することを含み、ここでＭＶ’ｘ＝Ｓｈｉｆｔ（ＭＶ０ｘ＋ＭＶ１ｘ，１）、ＭＶ’ｙ＝Ｓｈｉｆｔ（ＭＶ０ｙ＋ＭＶ１ｙ，１）、ＭＶ’’ｘ＝Ｓｈｉｆｔ（ＭＶ２ｘ＋ＭＶ３ｘ，１）及びＭＶ’’ｙ＝Ｓｈｉｆｔ（ＭＶ２ｙ＋ＭＶ３ｙ，１）であり、Ｓｈｉｆｔ（ｘ，ｓ）＝（ｘ＋ｏｆｆ）≫ｓであり、ｏｆｆおよびｓは整数であり、＞＞は右シフト演算を表す。また、方法１３００または１４００は、中間動きベクトルセットに係数を適用して、派生した動きベクトルを取得することを含み、前記係数は、カラーフォーマットに関連付けられる。
【０１６０】
いくつかの実装では、第２の成分のサブブロックは、第１の成分の４つのサブブロックに対応する。４つのサブブロックは、それぞれ、動きベクトルＭＶ０＝（ＭＶ０ｘ、ＭＶ０ｙ）、ＭＶ１＝（ＭＶ１ｘ、ＭＶ１ｙ）、ＭＶ２＝（ＭＶ２ｘ、ＭＶ２ｙ）およびＭＶ３＝（ＭＶ３ｘ、ＭＶ３ｙ）を有する。方法１３００または１４００は、中間動きベクトルセットＭＶ＊＝（ＭＶ＊ｘ、ＭＶ＊ｙ）を、ＭＶ＊ｘ＝Ｓｈｉｆｔ（ＭＶ’ｘ＋ＭＶ’’ｘ，１）、ＭＶ＊ｙ＝Ｓｈｉｆｔ（ＭＶ’ｙ＋ＭＶ’’ｙ，１）、ＭＶ’ｘ＝Ｓｈｉｆｔ（ＭＶ０ｘ＋ＭＶ２ｘ，１）、ＭＶ’ｙ＝Ｓｈｉｆｔ（ＭＶ０ｙ＋ＭＶ２ｙ，１）、ＭＶ’’ｘ＝Ｓｈｉｆｔ（ＭＶ１ｘ＋ＭＶ３ｘ，１）、ＭＶ’’ｙ＝Ｓｈｉｆｔ（ＭＶ１ｙ＋ＭＶ３ｙ，１）として計算することを含み、Ｓｈｉｆｔ（ｘ，ｓ）＝（ｘ＋ｏｆｆ）≫ｓであり、ｏｆｆおよびｓは整数であり、＞＞は右シフト演算を表す。また、方法１３００または１４００は、中間動きベクトルセットに係数を適用して、導出された動きベクトルを取得することを含み、前記係数はカラーフォーマットに関連付けられる。
【０１６１】
いくつかの実装では、第２の成分のサブブロックは、第１の成分の４つのサブブロックに対応する。４つのサブブロックは、それぞれ、動きベクトルＭＶ０＝（ＭＶ０ｘ、ＭＶ０ｙ）、ＭＶ１＝（ＭＶ１ｘ、ＭＶ１ｙ）、ＭＶ２＝（ＭＶ２ｘ、ＭＶ２ｙ）およびＭＶ３＝（ＭＶ３ｘ、ＭＶ３ｙ）を有する。方法１３００または１４００は、中間動きベクトルセットＭＶ＊＝（ＭＶ＊ｘ、ＭＶ＊ｙ）を、ＭＶ＊ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ’ｘ＋ＭＶ’’ｘ，１）、ＭＶ＊ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ’ｙ＋ＭＶ’’ｙ，１）、ＭＶ’ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｘ＋ＭＶ１ｘ，１）、ＭＶ’ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｙ＋ＭＶ１ｙ，１）、ＭＶ’’ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ２ｘ＋ＭＶ３ｘ，１）、ＭＶ’’ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ２ｙ＋ＭＶ３ｙ，１）として計算することを含み、ＳｉｇｎＳｈｉｆｔ（ｘ，ｓ）＝（ｘ＋ｏｆｆ）≫ｓ（ｘ≧０のとき）または−（（−ｘ＋ｏｆｆ）≫ｓ）（ｘ＜０のとき）であり、ｏｆｆおよびｓは整数であり、＞＞はシフト演算を表す。また、方法１３００または１４００は、中間動きベクトルセットに係数を適用して、導出された動きベクトルを取得することを含み、前記係数はカラーフォーマットに関連付けられる。
【０１６２】
いくつかの実装では、第２の成分のサブブロックは、第１の成分の４つのサブブロックに対応する。４つのサブブロックは、それぞれ、動きベクトルＭＶ０＝（ＭＶ０ｘ、ＭＶ０ｙ）、ＭＶ１＝（ＭＶ１ｘ、ＭＶ１ｙ）、ＭＶ２＝（ＭＶ２ｘ、ＭＶ２ｙ）およびＭＶ３＝（ＭＶ３ｘ、ＭＶ３ｙ）を有する。方法１３００または１４００は、中間動きベクトルセットＭＶ＊＝（ＭＶ＊ｘ、ＭＶ＊ｙ）を、ＭＶ＊ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ’ｘ＋ＭＶ’’ｘ，１）、ＭＶ＊ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ’ｙ＋ＭＶ’’ｙ，１）、ＭＶ’ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｘ＋ＭＶ２ｘ，１）、ＭＶ’ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｙ＋ＭＶ２ｙ，１）、ＭＶ’’ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ１ｘ＋ＭＶ３ｘ，１）、ＭＶ’’ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ１ｙ＋ＭＶ３ｙ，１）として計算することを含み、ＳｉｇｎＳｈｉｆｔ（ｘ，ｓ）＝（ｘ＋ｏｆｆ）≫ｓ（ｘ≧０のとき）または−（（−ｘ＋ｏｆｆ）≫ｓ）（ｘ＜０のとき）であり、ｏｆｆおよびｓは整数であり、＞＞はシフト演算を表す。また、方法１３００または１４００は、中間動きベクトルセットに係数を適用し、導出した動きベクトルを取得することを含み、前記係数はカラーフォーマットに関連付けられる。
【０１６３】
いくつかの実装では、第２の成分のサブブロックは、第１の成分の２つのサブブロックに対応する。２つのサブブロックは、それぞれ、動きベクトルＭＶ０＝（ＭＶ０ｘ、ＭＶ０ｙ）およびＭＶ１＝（ＭＶ１ｘ、ＭＶ１ｙ）を有する。方法１３００または１４００は、中間動きベクトルセットＭＶ＊＝（ＭＶ＊ｘ、ＭＶ＊ｙ）を、ＭＶ＊ｘ＝Ｓｈｉｆｔ（ＭＶ０ｘ＋ＭＶ１ｘ，１）及びＭＶ＊ｙ＝Ｓｈｉｆｔ（ＭＶｙ０＋ＭＶｙ１，１）として計算することを含み、Ｓｈｉｆｔ（ｘ，ｓ）＝（ｘ＋ｏｆｆ）≫ｓであり、ｏｆｆおよびｓは整数であり、＞＞は右シフト演算を表す。また、方法１３００または１４００は、中間動きベクトルセットに係数を適用して、導出した動きベクトルを取得することを含み、前記係数はカラーフォーマットに関連付けられる。
【０１６４】
いくつかの実装では、第２の成分のサブブロックは、第１の成分の２つのサブブロックに対応する。２つのサブブロックは、それぞれ、動きベクトルＭＶ０＝（ＭＶ０ｘ、ＭＶ０ｙ）およびＭＶ１＝（ＭＶ１ｘ、ＭＶ１ｙ）を有する。
【０１６５】
方法１３００または１４００は、中間動きベクトルセットＭＶ＊＝（ＭＶ＊ｘ、ＭＶ＊ｙ）をＭＶ＊ｘ＝ＳｉｇｎＳｈｉｆｔ（ＭＶ０ｘ＋ＭＶ１ｘ，１）及びＭＶ＊ｙ＝ＳｉｇｎＳｈｉｆｔ（ＭＶｙ０＋ＭＶｙ１，１）として計算することを含み、ＳｉｇｎＳｈｉｆｔ（ｘ，ｓ）＝（ｘ＋ｏｆｆ）≫ｓ（ｘ≧０のとき）又は−（（−ｘ＋ｏｆｆ）≫ｓ（ｘ＜０のとき）である。
【０１６６】
ここで、ｏｆｆとｓは整数であり、＞＞はシフト演算を表す。また、方法１３００または１４００は、中間動きベクトルセットに係数を適用し、導出された動きベクトルを取得することを含み、前記係数はカラーフォーマットに関連付けられる。
【０１６７】
いくつかの実施形態では、方法１３００または１４００は、さらに、第１の成分の複数のサブブロックのうちの選択されたサブブロックの動きベクトルに基づいて、中間動きベクトルセットを計算することと、前記中間動きベクトルセットに係数を適用して、導出された動きベクトルを取得することとを含む。係数はカラーフォーマットに関連付けられる。幾つかの実装形態では、選択されたサブブロックは、第１の成分の複数のサブブロックの左上サブブロックである。いくつかの実装では、選択されたサブブロックは、第１の成分の複数のサブブロックの中心サブブロックである。
【０１６８】
いくつかの実施形態では、方法１３００または１４００は、第１の成分の複数のサブブロックの動きベクトルの中央値に基づいて中間動きベクトルセットを計算することと、中間動きベクトルセットに係数を適用して、導出された動きベクトルを取得することとを含み、前記係数はカラーフォーマットに関連付けられる。
【０１６９】
いくつかの実施形態では、係数の適用は、高効率ビデオ符号化（ＨＥＶＣ）標準で規定されている。
【０１７０】
上述の例は、ビデオデコーダおよび／またはビデオエンコーダで実装されてもよい、以下に述べる方法、例えば、方法１３００および１４００のコンテキストに組み込むことができる。
【０１７１】
図１５は、本開示の技術の様々な部分（方法１３００および方法１４００を含むが、これらに限定されない）を実装するために利用可能な例示的符号化装置１５００を示すブロック図である。符号化装置１５００は、入力データビットを圧縮する量子化器１５０５を含む。符号化装置１５００はまた、データビットをメモリ１５２５に供給できるように逆量子化器１５１５と、動き予測をする予測器１５２０とを含む。符号化装置１５００は、さらに、符号化されたバイナリコードを生成するバイナリエンコーダ１５３０を含む。
【０１７２】
図１６は、本開示の技術の様々な部分（方法１３００および方法１４００を含むが、これらに限定されない）を実装するために利用可能な例示的符号化装置１６００を示すブロック図である。復号装置１６００は、バイナリ符号を復号するバインダリデコーダ１６０５を含む。復号装置１６００はまた、復号されたデータビットをメモリ１６２５に供給するように逆量子化器１６１５と、復号側で動き推定を行う予測器１６２０とを含む。
【０１７３】
図１７は、本開示の技術の様々な部分（方法１３００および方法１４００を含むが、これらに限定されない）を実装するために利用可能な、コンピュータシステムまたは他の制御装置１７００のアーキテクチャの一例を示すブロック図である。図１７において、コンピュータシステム１７００は、相互接続１７２５を介して接続された一以上のプロセッサ１７０５およびメモリ１７１０を含む。相互接続１７２５は、適切なブリッジ、アダプタ、またはコントローラによって接続された、任意の一以上の別個の物理バス、ポイントツーポイント接続、またはその両方を表すことができる。従って、相互接続１７２５は、例えば、システムバス、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）バス、ハイパートランスポートまたはｉｎｄｕｓｔｒｙ  ｓｔａｎｄａｒｄ  ａｒｃｈｉｔｅｃｔｕｒｅ（ＩＳＡ）バス、ｓｍａｌｌ  ｃｏｍｐｕｔｅｒ  ｓｙｓｔｅｍ  ｉｎｔｅｒｆａｃｅ（ＳＣＳＩ）バス、ユニバーサルシリアルバス（ＵＳＢ）、ＩＩＣ（Ｉ２Ｃ）バス、または「ファイアワイヤ」と呼ばれることもあるＩｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ（ＩＥＥＥ）標準６７４バスを含んでもよい。
【０１７４】
プロセッサ１７０５は、例えばホストコンピュータの全体的な動作を制御する中央処理装置を含んでいてもよい。特定の実施形態では、プロセッサ１７０５は、メモリ１７１０に格納されたソフトウェアまたはファームウェアを実行することによって、これを達成する。プロセッサ１７０５は、一以上のプログラマブル汎用または専用マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、プログラマブルコントローラ、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理デバイスなど、またはこれらのデバイスの組み合わせであってもよく、またはこれらを含んでもよい。
【０１７５】
メモリ１７１０は、コンピュータシステムのメインメモリであってもよく、またはそれを含むこともできる。メモリ１７１０は、ランダムアクセスメモリ、リードオンリーメモリ、フラッシュメモリなど、またはこれらの装置の組み合わせの任意の好適な形態を表す。使用において、メモリ１７１０は、特に、プロセッサ１７０５によって実行されると、プロセッサ１７０５に、本開示の技術の実施形態を実施する動作を実行させる一組の機械命令を含んでいてもよい。
【０１７６】
また、相互接続１７２５を介してプロセッサ１７０５に接続されるのは、（オプションの）ネットワークアダプタ１７１５である。ネットワークアダプタ１７１５は、ストレージクライアントおよび／または他のストレージサーバなどのリモートデバイスと通信する能力をコンピュータシステム１７００に提供し、例えば、イーサネットアダプタまたはファイバチャネルアダプタであってもよい。
【０１７７】
図１８は、本開示の技術の種々の部分（方法１６００を含むが、これに限定されない）を実装するために利用可能な、モバイル装置１８００の例示的実施形態のブロック図を示す。モバイル装置１８００は、ラップトップ、スマートフォン、タブレット、カムコーダ、またはビデオを処理可能な他の種類の装置であり得る。モバイル装置１８００は、データを処理するためのプロセッサまたはコントローラ１８０１と、データを格納および／またはバッファするための、プロセッサ１８０１と通信するメモリ１８０２とを含む。例えば、プロセッサ１８０１は、中央処理装置（ＣＰＵ）またはマイクロコントローラ装置（ＭＣＵ）を含むことができる。いくつかの実装では、プロセッサ１８０１はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）を含むことができる。いくつかの実施態様では、移動装置１８００は、スマートフォン装置の種々の視覚的及び／又は通信データ処理機能のために、グラフィックス処理ユニット、ビデオ処理ユニット、及び／又は無線通信ユニットを含むか、又はそれらと通信している。例えば、メモリ１８０２は、プロセッサ１８０１によって実行されると、例えば情報、コマンド、および／またはデータの受信、処理情報およびデータの処理、および処理情報／データの他のデバイス、例えばアクチュエータまたは外部ディスプレイへの送信または提供などの種々の操作を実行するように、モバイルデバイス１８００を構成するプロセッサ実行可能コードを含み、記憶することができる。
【０１７８】
移動装置１８００の種々の機能をサポートするために、メモリ１８０２は、命令、ソフトウェア、値、画像、およびプロセッサ１８０１によって処理または参照される他のデータなどの情報およびデータを格納することができる。例えば、種々のタイプのランダムアクセスメモリ（ＲＡＭ）デバイス、リードオンリーメモリ（ＲＯＭ）デバイス、フラッシュメモリデバイス、および他の適切な記憶媒体を使用して、メモリ１８０２の記憶機能を実現することができる。いくつかの実施態様では、モバイル装置１８００は、プロセッサ１８０１および／またはメモリ１８０２を他のモジュール、ユニットまたは装置にインターフェースする入出力（Ｉ／Ｏ）ユニット１８０３を含む。例えば、Ｉ／Ｏユニット１８０３は、プロセッサ１８０１およびメモリ１８０２をインタフェースして、例えばクラウド内の一以上のコンピュータとユーザ装置との間のような、典型的なデータ通信標準と互換性のある種々のタイプの無線インタフェースを利用することができる。いくつかの実施態様では、モバイル装置１８００は、入出力ユニット１８０３を介した有線接続を使用して、他の装置とインターフェースすることができる。モバイル装置１８００はまた、データ記憶装置および／またはビジュアルまたはオーディオ表示装置１８０４のような他の外部インターフェースとインターフェースして、プロセッサによって処理され得る、メモリに記憶され得る、または表示装置１８０４の出力ユニットまたは外部装置に表示され得るデータおよび情報を読み出しおよび転送することができる。例えば、表示装置１８０４は、ブロックが動き補償アルゴリズムを用いて、及び本開示の技術によって符号化されるかどうかに基づいてブロック内コピーを適用するブロック（ＣＵ、ＰＵまたはＴＵ）を含むビデオフレームを表示することができる。
【０１７９】
以上から、言うまでもなく、本明細書において、説明の目的で、本開示の技術の特定の実施形態を説明したが、本発明の範囲を逸脱することなく、種々の修正を行うことができる。従って、本開示の技術は、添付した特許請求の範囲による場合を除き、限定されない。
【０１８０】
この特許文献に記載されている主題の実装および機能動作は、本明細書に開示されている構造およびそれらの構造的等価物を含む、種々のシステム、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、またはそれらの一以上の組み合わせにおいて実施することができる。本明細書に記載された主題の実装は、一以上のコンピュータプログラム製品、すなわち、データ処理装置による、またはデータ処理装置の動作を制御するための、有形および非一時的コンピュータ読み取り可能媒体上に符号化されたコンピュータプログラム命令の一以上のモジュールとして実装することができる。コンピュータ読取可能媒体は、機械読取可能記憶装置、機械読取可能記憶サブストレート、メモリ装置、機械読取可能伝搬信号に影響を与える物質の組成、またはそれらの一以上の組み合わせであり得る。用語「データ処理ユニット」または「データ処理装置」は、例えば、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサまたはコンピュータを含む、データを処理するためのすべての装置、デバイス、および機械を包含する。装置は、ハードウェアに加えて、問題のコンピュータプログラムの実行環境を生成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの一以上の組み合わせを構成するコードを含むことができる。
【０１８１】
コンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる）は、コンパイルまたは解釈される言語を含む、任意の形態のプログラミング言語で書くことができ、それは、スタンドアロンプログラムとして、またはコンピューティング環境での使用に適したモジュール、コンポーネント、サブルーチン、または他のユニットを含む、任意の形態で展開することができる。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応するものではない。プログラムは、他のプログラムまたはデータを保持するファイルの一部分（例えば、マークアップ言語文書に記憶される一以上のスクリプト）、問題のプログラム専用の単一ファイル、または複数の調整されたファイル（例えば、一以上のモジュール、サブプログラム、またはコードの一部分を記憶するファイル）に記憶することができる。コンピュータプログラムは、１つのコンピュータまたは１つのサイトに配置されるか、または複数のサイトに分散され、通信ネットワークによって相互接続される複数のコンピュータ上で実行されるようにデプロイすることができる。
【０１８２】
本明細書に記載されるプロセスおよび論理フローは、入力データ上で動作し、出力を生成することによって機能を実行するために、一以上のコンピュータプログラムを実行する一以上のプログラマブルプロセッサによって実行することができる。プロセスおよび論理フローはまた、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）またはＡＳＩＣ（特定用途向け集積回路）のような特殊目的論理回路によって実行することができ、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）またはＡＳＩＣ（特定用途向け集積回路）のような特殊目的論理回路として装置を実装することができる。
【０１８３】
コンピュータプログラムの実行に適したプロセッサは、例えば、汎用および専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の一以上のプロセッサを含む。一般に、プロセッサは、読み出し専用メモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するプロセッサと、命令およびデータを記憶する一以上のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための一以上の大容量記憶装置、例えば、磁気ディスク、磁気光ディスク、または光ディスクを含み、またはデータを受信または転送したりするために動作可能に結合される。しかし、コンピュータは、そのような装置を有する必要はない。コンピュータプログラム命令及びデータを記憶するのに適したコンピュータ読取可能媒体は、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、及びフラッシュメモリデバイスのような半導体メモリデバイスを含む、あらゆる形態の不揮発性メモリ、媒体及びメモリデバイスを含む。プロセッサおよびメモリは、特殊目的論理回路によって補足されるか、またはそれに組み込まれ得る。
【０１８４】
明細書は、図面と共に、単に例示的とみなされるが、例示は一例を意味する。本明細書中で使用されるように、単数形「ａ」、「ａｎ」および「ｔｈｅ」は、文脈が他に明確に示さない限り、複数形も含むことを意図している。さらに、「ｏｒ」の使用は、文脈が他に明確に示さない限り、「ａｎｄ／ｏｒ」を含むことを意図している。
【０１８５】
この特許文献には多くの詳細が含まれているが、これらは、いずれかの発明の範囲または特許請求されることができるものを限定するものではなく、特定の発明の特定の実施形態に特有の特徴の説明と解釈されるべきである。別々の実施形態の文脈でこの特許文献に記載されている特徴は、単一の実施形態で組み合わせて実施することもできる。逆に、単一の実施形態の文脈において説明される種々の特徴は、複数の実施形態において別々に、または任意の適切なサブコンビネーションで実施することもできる。さらに、特徴は、特定の組み合わせにおいて作用するものとして上述され、最初にそのようにクレームされてもよいが、クレームされた組み合わせからの１又は複数の特徴は、場合によっては、組み合わせから切り出されてもよく、クレームされた組み合わせは、サブコンビネーション又はサブコンビネーションのバリエーションに向けられ得る。
【０１８６】
同様に、図面には特定の順序で動作が示されているが、これは、所望の結果を達成するために、このような動作を図示した特定の順序でまたはシーケンス順序で実行すること、または、例示されたすべての動作を実行することを要求するものとして理解されるべきではない。さらに、この特許文献に記載されている実施形態における種々のシステムコンポーネントの分離は、すべての実施形態においてこのような分離を必要とするものとして理解されるべきではない。
【０１８７】
少数の実施形態および例のみを記述し、他の実施形態、拡張およびバリエーションは、この特許文献に記載され、例示されていることに基づいて行われ得る。
【図１】
2021528011.tif 000008
【図２】
2021528011.tif 000009
【図３】
2021528011.tif 000010
【図４】
2021528011.tif 000011
【図５】
2021528011.tif 000012
【図６】
2021528011.tif 000013
【図７】
2021528011.tif 000014
【図８】
2021528011.tif 000015
【図９】
2021528011.tif 000016
【図１０】
2021528011.tif 000017
【図１１】
2021528011.tif 000018
【図１２】
2021528011.tif 000019
【図１３】
2021528011.tif 000020
【図１４】
2021528011.tif 000021
【図１５】
2021528011.tif 000022
【図１６】
2021528011.tif 000023
【図１７】
2021528011.tif 000024
【図１８】
2021528011.tif 000025
【手続補正書】
【提出日】令和3年1月20日(2021.1.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを符号化する方法であって、
ビデオの現在のビデオブロックと、前記ビデオのビットストリーム表現との間の変換中に、アフィンモードに基づいて、現在のビデオブロックの制御点の動きベクトルを決定することであって、現在のビデオブロックは、ルミナンスコンポーネントと、少なくとも１つのクロマコンポーネントとを含む、決定することと、
前記ルミナンスコンポーネントのルミナンスサブブロックに分割することと、
少なくとも１つのクロマコンポーネントのクロマコンポーネントをクロマサブブロックに分割することと、
前記制御点の動きベクトルに基づいて各ルミナンスサブブロックのルミナンス動きベクトルを決定することと、
複数の対応するルミナンスサブブロックのルミナンス動きベクトルと現在のビデオブロックのカラーフォーマットとに基づいて、各クロマサブブロックのクロマ動きベクトルを導出することと、
各ルミナンスサブブロックのルミナンス動きベクトルに基づいてルミナンスコンポーネントを再構成することと
を含む方法。
【請求項２】
各クロマサブブロックのクロマ動きベクトルを導出することは、
クロマコンポーネントが少なくとも１つの第１のクロマグループに分割されていると決定することであって、第１のクロマグループは、現在のビデオブロックのカラーフォーマットに従って２つ又は４つのクロマサブブロックを含む、決定することと、
少なくとも１つの第１のクロマグループの各々に対してグループクロマ動きベクトルを導出することと、
前記グループクロマ動きベクトルを対応する第１のクロマグループの各サブブロックに割り当てることと
をさらに含む、請求項１に記載の方法。
【請求項３】
前記グループクロマ動きベクトルは、スケーリング係数を中間動きベクトルに適用することに基づいて導出される、請求項２に記載の方法。
【請求項４】
前記第１のクロマグループは、前記カラーフォーマットが４：２：２であり、前記２つのクロマサブブロックに対応する２つのルミナンスサブブロックがそれぞれ動きベクトルＭＶ０およびＭＶ１を有する場合には２つのクロマサブブロックを含み、前記中間動きベクトルＭＶ＊は、前記ＭＶ０および前記ＭＶ１に基づいて導出される、
請求項２又は３に記載の方法。
【請求項５】
前記中間動きベクトルは、オフセットに基づく平均化演算を前記ＭＶ０及び前記ＭＶ１に適用することに基づいて導出される、請求項３又は４に記載の方法。
【請求項６】
前記中間動きベクトルはＭＶ＊＝Ｓｈｉｆｔ（ＭＶ０＋ＭＶ１，１）であり、Ｓｈｉｆｔ（ｘ，１）＝（ｘ＋ｏｆｆｓｅｔ）＞＞１であり、オフセットは０又は１であり、＞＞は右シフト演算を表す、請求項３ないし５いずれか一項に記載の方法。
【請求項７】
前記第１のクロマグループは、前記カラーフォーマットが４：２：０であり、４つのルミナンスサブブロックのうちの左上のルミナンスサブブロックが動きベクトルＭＶ０を有し、前記４つのルミナンスサブブロックのうちの右上のルミナンスサブブロックが動きベクトルＭＶ１を有し、前記４つのルミナンスサブブロックのうちの左下のルミナンスサブブロックが動きベクトルＭＶ２を有し、前記４つのルミナンスサブブロックのうちの右下のルミナンスサブブロックが動きベクトルＭＶ３を有する場合に４つのクロマサブブロックを含み、前記４つのルミナンスサブブロックは前記４つのクロマサブブロックに対応し、前記中間動きベクトルＭＶ＊は、少なくとも前記ＭＶ０および前記ＭＶ３に基づいて導出される、請求項２又は請求項３に記載の方法。
【請求項８】
前記中間動きベクトルが、オフセットに基づく平均化演算を少なくとも前記ＭＶ０及びＭＶ３に適用することに基づいて導出される、請求項３ないし７いずれか一項に記載の方法。
【請求項９】
前記グループクロマ動きベクトルに基づいてクロマコンポーネントを再構成することをさらに含む、請求項２ないし８いずれか一項記載の方法。
【請求項１０】
前記第１のクロマグループの単位で前記クロマコンポーネントを再構成する、請求項２ないし９いずれか一項に記載の方法。
【請求項１１】
前記変換は、現在のビデオブロックをビットストリーム表現に符号化することを含む、請求項１ないし１０いずれか一項に記載の方法。
【請求項１２】
前記変換は、前記ビットストリーム表現から現在のビデオブロックを復号することを含む、請求項１ないし１０いずれか一項に記載の方法。
【請求項１３】
プロセッサと、命令を有する非一時メモリとを備える、ビデオデータを符号化する装置であって、前記命令は、前記プロセッサにより実行されると、前記プロセッサに、
ビデオの現在のビデオブロックと、前記ビデオのビットストリーム表現との間の変換中に、アフィンモードに基づいて、現在のビデオブロックの制御点の動きベクトルを決定することであって、現在のビデオブロックは、ルミナンスコンポーネントと、少なくとも１つのクロマコンポーネントとを含む、決定することと、
前記ルミナンスコンポーネントのルミナンスサブブロックに分割することと、
少なくとも１つのクロマコンポーネントのクロマコンポーネントをクロマサブブロックに分割することと、
前記制御点の動きベクトルに基づいて各ルミナンスサブブロックのルミナンス動きベクトルを決定することと、
複数の対応するルミナンスサブブロックのルミナンス動きベクトルと現在のビデオブロックのカラーフォーマットとに基づいて、各クロマサブブロックのクロマ動きベクトルを導出することと、
各ルミナンスサブブロックのルミナンス動きベクトルに基づいてルミナンスコンポーネントを再構成することと
を実行させる、装置。
【請求項１４】
プロセッサに
ビデオの現在のビデオブロックと、前記ビデオのビットストリーム表現との間の変換中に、アフィンモードに基づいて、現在のビデオブロックの制御点の動きベクトルを決定することであって、現在のビデオブロックは、ルミナンスコンポーネントと、少なくとも１つのクロマコンポーネントとを含む、決定することと、
前記ルミナンスコンポーネントのルミナンスサブブロックに分割することと、
少なくとも１つのクロマコンポーネントのクロマコンポーネントをクロマサブブロックに分割することと、
前記制御点の動きベクトルに基づいて各ルミナンスサブブロックのルミナンス動きベクトルを決定することと、
複数の対応するルミナンスサブブロックのルミナンス動きベクトルと現在のビデオブロックのカラーフォーマットとに基づいて、各クロマサブブロックのクロマ動きベクトルを導出することと、
各ルミナンスサブブロックのルミナンス動きベクトルに基づいてルミナンスコンポーネントを再構成することと
を実行させる命令を格納する非一時的なコンピュータ読取可能記憶媒体。
【請求項１５】
ビデオ処理装置によって実行される方法によって生成されるビットストリーム表現を格納する非一時的なコンピュータ読取可能記録媒体であって、該方法は、
ビデオの現在のビデオブロックと、前記ビデオのビットストリーム表現との間の変換中に、アフィンモードに基づいて、現在のビデオブロックの制御点の動きベクトルを決定することであって、現在のビデオブロックは、ルミナンスコンポーネントと、少なくとも１つのクロマコンポーネントとを含む、決定することと、
前記ルミナンスコンポーネントのルミナンスサブブロックに分割することと、
少なくとも１つのクロマコンポーネントのクロマコンポーネントをクロマサブブロックに分割することと、
前記制御点の動きベクトルに基づいて各ルミナンスサブブロックのルミナンス動きベクトルを決定することと、
複数の対応するルミナンスサブブロックのルミナンス動きベクトルと現在のビデオブロックのカラーフォーマットとに基づいて、各クロマサブブロックのクロマ動きベクトルを導出することと、
各ルミナンスサブブロックのルミナンス動きベクトルに基づいてルミナンスコンポーネントを再構成することと
を含む、記録媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
[関連出願の相互参照]
適用特許法及び／又はパリ条約に基づく規則に基づき、本出願は、２０１８年６月２１日に出願された国際特許出願第ＰＣＴ／ＣＮ２０１８／０９２１１８号及び２０１８年１１月１０日に出願された国際特許出願第ＰＣＴ／ＣＮ２０１８／１１４９３１号の優先権及び利益を適時に主張するものである。国際特許出願第ＰＣＴ／ＣＮ２０１８／０９２１１８号、および国際特許出願第ＰＣＴ／ＣＮ２０１８／１１４９３１号の開示全体が、本出願の開示の一部として参照援用される。
【国際調査報告】
2021528011.tif 000026
2021528011.tif 000027
2021528011.tif 000028
2021528011.tif 000029