(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-13
(45)【発行日】2024-08-21
(54)【発明の名称】MMVDおよびSMVDと動きモデルおよび予測モデルとの組み合わせ
(51)【国際特許分類】
H04N 19/70 20140101AFI20240814BHJP
H04N 19/52 20140101ALI20240814BHJP
H04N 19/105 20140101ALI20240814BHJP
H04N 19/136 20140101ALI20240814BHJP
H04N 19/176 20140101ALI20240814BHJP
H04N 19/577 20140101ALI20240814BHJP
【FI】
H04N19/70
H04N19/52
H04N19/105
H04N19/136
H04N19/176
H04N19/577
(21)【出願番号】P 2021535006
(86)(22)【出願日】2019-12-16
(86)【国際出願番号】 US2019066448
(87)【国際公開番号】W WO2020131659
(87)【国際公開日】2020-06-25
【審査請求日】2022-12-16
(32)【優先日】2018-12-17
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】318017914
【氏名又は名称】インターデイジタル ヴィーシー ホールディングス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ファブリス ルルアンネック
(72)【発明者】
【氏名】フランク ガルピン
(72)【発明者】
【氏名】エドゥアルド フランソワ
【審査官】田部井 和彦
(56)【参考文献】
【文献】米国特許出願公開第2013/0070855(US,A1)
【文献】国際公開第2020/108649(WO,A1)
【文献】特表2022-508177(JP,A)
【文献】国際公開第2020/117619(WO,A1)
【文献】特表2021-524176(JP,A)
【文献】国際公開第2020/085800(WO,A1)
【文献】特表2022-505578(JP,A)
【文献】Benjamin Bross et al.,Versatile Video Coding (Draft 3) [online],JVET-L1001-v6(JVET-L1001-v6.docx), [2024年1月18日検索],インターネット <URL: https://jvet-experts.org/doc_end_user/documents/12_Macao/wg11/JVET-L1001-v10.zip>,2018年12月14日,pp.33-36,60-64,90-93
【文献】Seungsoo Jeong et al.,CE4 Ultimate motion vector expression in J0024 (Test 4.2.9) [online],JVET-K0115-v4(JVET-K0115_r4.doc), [2024年1月18日検索],インターネット <URL: https://jvet-experts.org/doc_end_user/documents/11_Ljubljana/wg11/JVET-K0115-v4.zip>,2018年07月12日
【文献】Ramin Ghaznavi-Youvalari et al.,CE4-related: Merge mode with Regression based Motion Vector Field (RMVF) [online],JVET-L0171-r1(JVET-L0171-r1.docx), [2024年1月18日検索],インターネット <URL: https://jvet-experts.org/doc_end_user/documents/12_Macao/wg11/JVET-L0171-v3.zip>,2018年10月06日
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/70
H04N 19/52
H04N 19/105
H04N 19/136
H04N 19/176
H04N 19/577
(57)【特許請求の範囲】
【請求項1】
ビデオビットストリーム内の
第1のシンタックスを通して、
動きベクトル差モードを伴うマージ(MMVD)モードの使用を示すステップと、
前記ビデオビットストリーム内の
第2のシンタックスを通して
、双予測符号化モードの使用を示すステッ
プと、
前記第1のシンタックスおよび前記第2のシンタックスに基づいて、
第1の参照ピクチャに対する第1の距離インデックスおよび第1の方向インデックスを含むMMVDデータの第1のセットをエンコードするステップと、
第2の参照ピクチャに対する第2の距離インデックスおよび第2の方向インデックスを含むMMVDデータの第2セットを取得するステップであって、前記第2の方向インデックスは前記第1の方向インデックスに基づいて取得される、ステップと、
前記第2の方向インデックスなしで、MMVDデータの前記第2のセットをエンコードするステップと、
前記第1のセットのインデックスおよび前記第2のセットのインデックスを使用して、
現在のピクチャのブロックをエンコードするステップと
を備える方法。
【請求項2】
前記第2のセットをエンコードするステップは、前記第2の距離インデックスのみをエンコードすることを含む請求項1に記載の方法。
【請求項3】
前記第1の参照ピクチャおよび前記第2の参照ピクチャが、前記現在のピクチャに対して同一の時間側に位置している場合、前記第2の方向インデックスは、前記第1の方向インデックスに等しく、前記第1の参照ピクチャおよび前記第2の参照ピクチャが、前記現在のピクチャに対して異なる時間側に位置している場合、前記第2の方向インデックスは、前記第1の方向インデックスの逆に等しい請求項1または2に記載の方法。
【請求項4】
MMVDデータの前記第2のセットをエンコードするステップは、前記第1の距離インデックスへの差分として、前記第2の距離インデックスをエンコードすることを含む請求項1乃至3いずれかに記載の方法。
【請求項5】
前記第1の距離インデックスはN個の距離のセットにおける距離を代表しており、前記第2の距離インデックスはN個の距離の前記セットのサブセットにおける距離を代表しており、Nは整数である請求項1乃至4いずれかに記載の方法。
【請求項6】
プロセッサであって、
ビデオビットストリーム内の
第1のシンタックスを通して、
動きベクトル差モードを伴うマージ(MMVD)モードの使用を示し、
前記ビデオビットストリーム内の
第2のシンタック
スを通して
、双予測測符号化モードの使用を示し、
前記第1のシンタックスおよび前記第2のシンタックスに基づいて、
第1の参照ピクチャに対する第1の距離インデックスおよび第1の方向インデックスを含むMMVDデータの第1のセットをエンコードし、
第2の参照ピクチャに対する第2の距離インデックスおよび第2の方向インデックスを含むMMVDデータの第2セットを取得し、前記第2の方向インデックスは前記第1の方向インデックスに基づいて取得されおり、
前記第2の方向インデックスなしで、MMVDデータの前記第2のセットをエンコードし、
前記第1のセットのインデックスおよび前記第2のセットのインデックスを使用して、
現在のピクチャのブロックをエンコードする
ように構成されたプロセッサ
を備えた装置。
【請求項7】
前記第2のセットをエンコードすることは、前記第2の距離インデックスのみをエンコードすることを含む請求項6に記載の装置。
【請求項8】
前記第1の参照ピクチャおよび前記第2の参照ピクチャが、前記現在のピクチャに対して同一の時間側に位置している場合、前記第2の方向インデックスは、前記第1の方向インデックスに等しく、前記第1の参照ピクチャおよび前記第2の参照ピクチャが、前記現在のピクチャに対して異なる時間側に位置している場合、前記第2の方向インデックスは、前記第1の方向インデックスの逆に等しい請求項6または7に記載の装置。
【請求項9】
MMVDデータの前記第2のセットをエンコードすることは、前記第1の距離インデックスへの差分として、前記第2の距離インデックスをエンコードすることを含む請求項6乃至8いずれかに記載の装置。
【請求項10】
前記第1の距離インデックスはN個の距離のセットにおける距離を代表しており、前記第2の距離インデックスはN個の距離の前記セットのサブセットにおける距離を代表しており、Nは整数である請求項6乃至9いずれかに記載の装置。
【請求項11】
動きベクトル差モードを伴うマージ(MMVD)モードの使用を示している
第1のシンタックスについて、ビデオビットストリームを解析するステップと、
双予測測符号化モードの使用を示している
第2のシンタックスについて、前記ビデオビットストリームを解析するステッ
プと、
前記第1のシンタックスおよび前記第2のシンタックスに基づいて、
第1の参照ピクチャに対する第1の距離インデックスおよび第1の方向インデックスを含むMMVDデータの第1のセットをデコードするステップと、
第2の参照ピクチャに対する第2の距離インデックスおよび第2の方向インデックスを含むMMVDデータの第2セットを取得するステップであって、前記第2の方向インデックスは前記第1の方向インデックスに基づいて取得される、ステップと、
前記第1のセットのインデックスおよび前記第2のセットのインデックスを使用して、
現在のピクチャのブロックをデコードするステップと
を備える方法。
【請求項12】
MMVDデータの前記第2のセットを取得するステップは、前記第2の距離インデックスをデコードすることを含む請求項11に記載の方法。
【請求項13】
前記第1の参照ピクチャおよび前記第2の参照ピクチャが、前記現在のピクチャに対して同一の時間側に位置している場合、前記第2の方向インデックスは、前記第1の方向インデックスに等しく、前記第1の参照ピクチャおよび前記第2の参照ピクチャが、前記現在のピクチャに対して異なる時間側に位置している場合、前記第2の方向インデックスは、前記第1の方向インデックスの逆に等しい請求項11または12に記載の方法。
【請求項14】
MMVDデータの前記第2のセットを取得するステップは、前記第1の距離インデックスへの差分として、前記第2の距離インデックスをデコードすることを含む請求項11乃至13いずれかに記載の方法。
【請求項15】
前記第1の距離インデックスはN個の距離のセットにおける距離を代表しており、前記第2の距離インデックスはN個の距離の前記セットのサブセットにおける距離を代表しており、Nは整数である請求項11乃至14いずれかに記載の方法。
【請求項16】
プロセッサであって、
動きベクトル差モードを伴うマージ(MMVD)モードの使用を示している
第1のシンタックスついて、ビデオビットストリームを解析し、
双予測測符号化モードの使用を示している
第2のシンタックスついて、前記ビデオビットストリームを解析
し、
前記第1のシンタックスおよび前記第2のシンタックスに基づいて、
第1の参照ピクチャに対する第1の距離インデックスおよび第1の方向インデックスを含むMMVDデータの第1のセットをデコードし、
第2の参照ピクチャに対する第2の距離インデックスおよび第2の方向インデックスを含むMMVDデータの第2セットを取得し、前記第2の方向インデックスは前記第1の方向インデックスに基づいて取得され、
前記第1のセットのインデックスおよび前記第2のセットのインデックスを使用して、
現在のピクチャのブロックをデコードする
ように構成されたプロセッサ
を備えた装置。
【請求項17】
MMVDデータの前記第2のセットを取得することは、前記第2の距離インデックスをデコードすることを含む請求項16に記載の装置。
【請求項18】
前記第1の参照ピクチャおよび前記第2の参照ピクチャが、前記現在のピクチャに対して同一の時間側に位置している場合、前記第2の方向インデックスは、前記第1の方向インデックスに等しく、前記第1の参照ピクチャおよび前記第2の参照ピクチャが、前記現在のピクチャに対して異なる時間側に位置している場合、前記第2の方向インデックスは、前記第1の方向インデックスの逆に等しい請求項16または17に記載の装置。
【請求項19】
MMVDデータの前記第2のセットを取得することは、前記第1の距離インデックスへの差分として、前記第2の距離インデックスをデコードすることを含む請求項16乃至18いずれかに記載の装置。
【請求項20】
前記第1の距離インデックスはN個の距離のセットにおける距離を代表しており、前記第2の距離インデックスはN個の距離の前記セットのサブセットにおける距離を代表しており、Nは整数である請求項16乃至19いずれかに記載の装置。
【請求項21】
請求項
16に記載の装置と、
(i)
前記現在のピクチャのブロックを含む信号を受信するように構成されたアンテ
ナ、(ii)前記受信された信号を、前記
現在のピクチャのブロックを含む周波数の帯域に制限するように構成された帯域リミッタ、および(iii)
前記現在のピクチャのブロックを表す出力を表示すように構成されたディスプレイのうちの少なくとも1つと
を備えたデバイス。
【請求項22】
コンピュータによって実行され
るとき、請求項
1または11に記載の方法を、前記コンピュータに実行させる
命令を含むコンピュータプログラ
ム。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態の少なくとも1つは、一般に、ビデオエンコーディングまたはデコーディング、圧縮または圧縮解除のための方法または装置に関する。
【背景技術】
【0002】
高い圧縮効率を達成するために、画像およびビデオ符号化スキームは、通常、ビデオコンテンツ内の空間的および時間的冗長性を活用ために、動きベクトル予測を含む予測、および変換を利用する。一般に、フレーム内またはフレーム間相関を利用するために、イントラまたはインター予測が使用され、その後、しばしば予測誤差または予測残差と呼ばれる、原画像と予測画像との間の差が、変換、量子化、およびエントロピ符号化される。ビデオを再構築するために、エントロピ符号化、量子化、変換、および予測に対応する逆プロセスによって、圧縮されたデータをデコードする。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明は、ビデオ圧縮の分野にあり、既存のビデオ圧縮システムと比較して、インター符号化されたブロックにおける、双予測を改善することを目的とする。
【課題を解決するための手段】
【0004】
本実施形態の少なくとも1つは、一般に、ビデオエンコーディングまたはデコーディングのための、方法または装置に関し、より詳細には、近隣サンプル依存のパラメトリックモデルに基づいた、符号化モードの簡略化のための、方法または装置に関する。
【0005】
第1の態様に従うと、方法が、提供される。方法は、ビデオビットストリーム内のシンタックスを通して、第1の動きモードを示すためのステップと、ビデオビットストリーム内のシンタックスの存在を通して、第2の動きモードの使用を示すためのステップであって、存在する場合、前記第2の動きモードに関連する情報を含む、ステップと、前記第1の動きモードおよび前記第2の動きモードに対応する動き情報を使用して、ビデオブロックをエンコードするためのステップとを含む。
【0006】
第2の態様に従うと、方法が、提供される。方法は、シンタックスが第1の動きモードを示すかについて、ビデオビットストリームを解析するためのステップと、シンタックスが第2の動きモードの存在を示すかについて、ビデオビットストリームを解析するためのステップであって、存在する場合、前記第2の動きモードに関連する情報を決定する、ステップと、前記第1の動きモードに対応する動き情報を獲得するためのステップと、前記動き情報を使用して、ブロックをデコードするためのステップとを含む。
【0007】
別の態様に従うと、装置が、提供される。装置は、プロセッサを備える。プロセッサは、上述の方法のいずれかを実行することによって、ビデオのブロックをエンコードするように、またはビットストリームをデコードするように構成することができる。
【0008】
少なくとも1つの実施形態の別の一般的な態様に従うと、デコーディング実施形態のいずれかに従った装置と、(i)信号を受信するように構成されたアンテナであって、信号は、ビデオブロックを含む、アンテナ、(ii)受信された信号を、ビデオブロックを含む周波数の帯域に制限するように構成された帯域リミッタ、または(iii)ビデオブロックを表す出力を表示すように構成されたディスプレイのうちの少なくとも1つとを備えるデバイスが、提供される。
【0009】
少なくとも1つの実施形態の別の一般的な態様に従うと、説明されたエンコーディング実施形態または変形のいずれかに従って生成されたデータコンテンツを含む、非一時的コンピュータ可読媒体が、提供される。
【0010】
少なくとも1つの実施形態の別の一般的な態様に従うと、説明されたエンコーディング実施形態または変形のいずれかに従って生成されたビデオデータを含む、信号が、提供される。
【0011】
少なくとも1つの実施形態の別の一般的な態様に従うと、ビットストリームは、説明されたエンコーディング実施形態または変形のいずれかに従って生成されたデータコンテンツを含むように、フォーマットされる。
【0012】
少なくとも1つの実施形態の別の一般的な態様に従うと、命令を含むコンピュータプログラム製品であって、プログラムがコンピュータによって実行されたとき、説明されたデコーディング実施形態または変形のいずれかをコンピュータに実行させるコンピュータプログラム製品が、提供される。
【0013】
これらおよび他の態様、一般的な態様の特徴および利点は、添付の図面との関連において読まれるべき、例示的な実施形態についての以下の詳細な説明から明らかになる。
【図面の簡単な説明】
【0014】
【
図1】圧縮されたHEVCピクチャを表す、符号化ツリーユニットおよび符号化ツリー概念例を示す図である。
【
図2】符号化ツリーユニットの、符号化ユニット、予測ユニットおよび変換ユニットへの分割例を示す図である。
【
図3】標準的で汎用的なビデオ圧縮スキームを示す図である。
【
図4】標準的で汎用的なビデオ圧縮解除スキームを示す図である。
【
図5】現在のスキームのデコーディングプロセスの簡略化ブロック図である。
【
図6】双予測モードのケースにおける、MMVD図である。
【
図7】SMVD(対称動きベクトル差)の例を示す図である。
【
図8】符号化ユニットのためのATMVP動き予測の例を示す図である。
【
図9】共同調査モデル、VTMで使用される単純なアフィンモデルの例である。
【
図10】4×4サブCUベースのアフィン動きベクトル場を示す図である。
【
図11】アフィンインター符号化された符号化ユニットのための動きベクトル予測プロセスの例を示す図である。
【
図12】アフィンマージモードにおける動きベクトル予測候補を示す図である。
【
図13】アフィンマージのケースにおけるアフィン動き場制御点の空間的導出を示す図である。
【
図14】例示的な平面動きベクトル予測プロセスを示す図である。
【
図15】回帰ベースの動きベクトル場構築を示す図である。
【
図16】符号化ユニットを2三角予測ユニット(PU)に分割する例の図である。
【
図17】非長方形パーティショニングおよび関連付けられたOBMC対角重み付けを示す図である。
【
図18】LICパラメータが、(a)再構築された近隣サンプル、(b)対応する併置された参照サンプルからどのように導出されるかを示す図である。
【
図19】LICパラメータ導出に使用される近隣サンプル例を示す図である。
【
図20】非サブブロックSTMVPマージ候補の計算で検討される空間位置を示す図である。
【
図21】MMVDと双予測が組み合わされたときの、動きベクトルデコーディングプロセスの簡略化ブロック図である。
【
図23】MMVDモードでのCPR MVに対する制約の適用を示す図である。
【
図24】ATMVPのケースにおけるMMVDモード適応を示す図である。
【
図25】MMVDを使用するアフィン動き生成プロセスの第1バージョンの簡略化ブロック図である。
【
図26】MMVDを使用するアフィン動き生成プロセスの第2バージョンの簡略化ブロック図である。
【
図27】検討されるアフィン動き場の第1のCPMVに使用される、MVDインデックスに基づいた、差分MVDについての許容大きさ限界を示す図である。
【
図28】MMVDと組み合わされた、平面MVPモードの例を示す図である。
【
図29】MMVDを使用するPMVD動き生成プロセスの第1バージョンの簡略化ブロック図である。
【
図30】MMVDを使用するPMVD動き生成プロセスの第2バージョンの簡略化ブロック図である。
【
図31】MMVDを使用するPMVD動き生成プロセスの第3バージョンの簡略化ブロック図である。
【
図32】回帰ベースの動きベクトル場構築を示す図である。
【
図33】SMVDを使用するアフィン動き生成プロセスのバージョンの簡略化ブロック図である。
【
図34】説明された態様のエンコーディング、デコーディングのためのプロセッサベースのシステムを示す図である。
【
図35】説明された一般的態様のエンコーディング方法の一実施形態の図である。
【
図36】説明された一般的態様のデコーディング方法の一実施形態の図である。
【
図37】説明された一般的態様における、装置の一実施形態を示す図である。
【発明を実施するための形態】
【0015】
ここで説明される実施形態は、ビデオ圧縮の分野にあり、一般に、ビデオ圧縮ならびにビデオエンコーディングおよびデコーディングに関する。説明される一般的な態様は、ツール組み合わせの可能なセットを制約するために、高レベルのビデオ符号化シンタックスにおいて、またはビデオ符号化セマンティクスにおいて、制約を操作するためのメカニズムを提供することを目的とする。
【0016】
高い圧縮効率を達成するために、画像およびビデオ符号化スキームは、通常、ビデオコンテンツ内の空間的および時間的冗長性を活用するために、動きベクトル予測を含む予測、および変換を利用する。一般に、フレーム内またはフレーム間相関を利用するために、イントラまたはインター予測が使用され、その後、しばしば予測誤差または予測残差と呼ばれる、原画像と予測画像との間の差が、変換、量子化、およびエントロピ符号化される。ビデオを再構築するために、エントロピ符号化、量子化、変換、および予測に対応する逆プロセスによって、圧縮されたデータをデコードする。
【0017】
HEVC(高効率ビデオ符号化、ISO/IEC 23008-2、ITU-T H.265)ビデオ圧縮規格においては、ビデオの連続するピクチャ間に存在する冗長性を利用するために、動き補償された時間予測が、利用される。
【0018】
そうするために、動きベクトルが、各予測ユニット(PU)に関連付けられる。各符号化ツリーユニット(CTU)は、圧縮領域においては、符号化ツリーによって表される。
図1におけるように、これは、CTUの四分木分割であり、各リーフは、符号化ユニット(CU)と呼ばれる。
【0019】
各CUは、その後、いくつかのイントラまたはインター予測パラメータ(予測情報)を与えられる。そうするために、それは、1つまたは複数の予測ユニット(PU)に空間的にパーティションされ、各PUは、いくつかの予測情報を割り当てられる。
図2におけるように、イントラまたはインター符号化モードは、CUレベル上において割り当てられる。
【0020】
HEVCにおいては、正確に1つの動きベクトルが、各PUに割り当てられる。この動きベクトルは、検討されるPUの動き補償された時間予測のために使用される。したがって、HEVCにおいては、予測ブロックとそれの参照ブロックとを結びつける動きモデルは、単純に並進(translation)である。
【0021】
HEVCにおいては、2つのモードを利用して、動きデータをエンコードする。それらは、それぞれ、AMVP(適応動きベクトル予測)、およびマージと呼ばれる。
【0022】
AMVPは、基本的に、現在のPUを予測するために使用される参照ピクチャ、(2つのプレディクタからなるリストから取られる)動きベクトルプレディクタインデックス、および動きベクトル差をシグナリングすることに本質がある。本文書は、マージモードを扱い、したがって、以下においては、AMVPには取り組まない。
【0023】
マージモードは、動きデータプレディクタのリスト内に収集された、いくつかの動きデータのインデックスをシグナリングおよびデコードすることに本質がある。このリストは、5つの候補から作られ、デコーダ側およびエンコーダ側において、同じ方法で構築される。したがって、マージモードは、マージリストから取得される、いくつかの動き情報を導出することを目的とする。マージリストは、一般に、現在のPUが処理されているときに、デコードされた状態において利用可能な、いくつかの空間的および時間的周辺ブロックに関連付けられた、動き情報を含む。
【0024】
VTM-3(VVCドラフト3)においては、MMVD(動きベクトル差を伴うマージ)と呼ばれる、新しいタイプの動きベクトル符号化が、採用された。MMVDモードは、基本的に、エンコードまたはデコードするブロックのいくつかの動き情報を生成するために、何らかの従来のマージ候補に追加される、いくつかの動きベクトル差を導入することに本質がある。
【0025】
MMVDは、VVC符号化システムの符号化効率を向上させる。しかしながら、VVCドラフト3においては、通常の並進マージモード(translational merge mode)だけにおいて、MMVDツールが、適用されることが述べられた。MMVDツールを、他のいくつかのインター符号化モードと、特に、VVC符号化システムに含まれる、他のいくつかの動きベクトル(またはサブブロックベースの動き場のケースにおいては、動きモデル)生成ツールと組み合わせることは、興味深いことがある。
【0026】
VVC標準化に提案されている、別の動きベクトル符号化ツールは、いわゆる対称動きベクトル符号化(SMVD)である。MMVDと同様に、SMVDは、動きベクトル符号化の効率を向上させるための、新しいモードである。それは、AMVPモード内において企てられる。しかしながら、SMVDは、並進AMVP(Translational AMVP)ケースに対してだけ適用される。MMVDに関しては、単純な並進モデルを超える、いくつかの動きモデル向けに、それを拡張することが、有益なことがある。
【0027】
共同調査モデル(JEM)として知られる、新しいビデオ圧縮規格についての、JVET(共同ビデオ調査チーム)提案においては、高い圧縮性能のために、四分木-二分木(QTBT)ブロックパーティショニング構造を受け入れることが、提案された。二分木(BT)におけるブロックは、それを中央で水平または垂直に分割することによって、2つの等しいサイズのサブブロックに分割することができる。結果として、BTブロックは、高さと幅が等しい正方形形状をブロックが常に有する、QTにおけるブロックと異なり、幅と高さが等しくない長方形形状を有することができる。HEVCにおいては、角度イントラ予測方向は、45度から-135度まで、180度にわたって定義され、JEMにおいては、それらが、維持され、そのことが、角度方向の定義を、目標ブロック形状とは無関係にしている。
【0028】
これらのブロックをエンコードするために、以前再構築された近隣サンプルを使用して、ブロックの推定バージョンを提供するために、イントラ予測が、使用される。その後、ソースブロックと予測との間の差が、エンコードされる。上述の従来のコーデックにおいては、現在のブロックの左側および上側において、1ラインの参照サンプルが、使用される。
【0029】
HEVC(高効率ビデオ符号化、H.265)においては、ビデオシーケンスのフレームのエンコーディングは、四分木(QT)ブロックパーティショニング構造に基づく。フレームは、正方形の符号化ツリーユニット(CTU)に分割され、それらは、すべて、レート-歪み(RD)基準に基づいて、複数の符号化ユニット(CU)への四分木ベースの分割を受ける。各CUは、イントラ予測され、すなわち、それは、原因となる近隣CUから、空間的に予測され、またはインター予測され、すなわち、それは、すでにデコードされた参照フレームから、時間的に予測される。Iスライスにおいては、すべてのCUは、イントラ予測されるが、PスライスおよびBスライスにおいては、CUは、イントラ予測またはインター予測をともに行うことができる。イントラ予測については、HEVCは、(モード0としてインデックス付けされた)1つの平面モード、(モード1としてインデックス付けされた)1つのDCモード、および(モード2~34としてインデックス付けされた)33個の角度モードを含む、35個の予測モードを定義する。角度モードは、時計回り方向に、45度から-135度の範囲にわたる、予測方向と関連付けられる。HEVCは、四分木(QT)ブロックパーティショニング構造をサポートするので、すべての予測ユニット(PU)は、正方形形状をする。したがって、45度から-135度までの予測角度の定義は、PU(予測ユニット)形状の観点から正当化される。サイズがN×Nピクセルの目標予測ユニットについては、上側参照アレイおよび左側参照アレイは、各々が、サイズが2N+1のサンプルであり、それは、すべての目標ピクセルについて、上述の角度範囲をカバーすることを求められる。PUの高さと幅が、等しい長さであることを考えると、2つの参照アレイの長さの等しさも、当然である。
【0030】
本発明は、ビデオ圧縮の分野にある。それは、既存のビデオ圧縮システムと比較して、インター符号化されたブロックにおける、双予測を改善することを目的とする。本発明は、インタースライスについて、ルーマ符号化ツリーとクロマ符号化ツリーを分離することも提案する。
【0031】
HEVCビデオ圧縮規格においては、ピクチャは、いわゆる符号化ツリーユニット(CTU)に分割され、そのサイズは、一般に、64×64、128×128、または256×256ピクセルである。各CTUは、圧縮領域においては、符号化ツリーによって表される。これは、CTUの四分木分割であり、各リーフは、符号化ユニット(CU)と呼ばれる。
【0032】
各CUは、その後、いくつかのイントラまたはインター予測パラメータ(予測情報)を与えられる。そうするために、それは、1つまたは複数の予測ユニット(PU)に空間的にパーティションされ、各PUは、いくつかの予測情報を割り当てられる。イントラまたはインター符号化モードは、CUレベル上において割り当てられる。
【0033】
新たに出現したビデオ圧縮ツールは、圧縮領域において、より柔軟な方法でピクチャデータを表すために、圧縮領域における符号化ツリーユニット表現が、提案されることを含む。符号化ツリーのこのより柔軟な表現の利点は、それが、HEVC規格のCU/PU/TU配置と比較して、向上した圧縮効率を提供することである。
【0034】
四分木プラス二分木(QTBT)符号化ツールは、この向上した柔軟性を提供する。それは、符号化ユニットを四分木方式と二分木方式の両方で分割することができる、符号化ツリーであることに本質がある。符号化ツリーユニットのそのような符号化ツリー表現が、例示される。
【0035】
符号化ユニットの分割は、最小のレート歪みコストを有する、CTUのQTBT表現を決定することに本質がある、レート歪み最適化手順を通して、エンコーダ側において決定される。
【0036】
QTBT技術においては、CUは、正方形または長方形形状のどちらかを有する。符号化ユニットのサイズは、常に、2の累乗であり、一般に、4から128までである。
【0037】
符号化ユニットについての長方形形状のこの多様性に加えて、この新しいCTU表現は、HEVCと比較して、以下の異なる特性を有する。
【0038】
CTUのQTBT分解は、2つのステージから作られ、最初に、CTUは、四分木方式で分割され、次に、各四分木リーフは、二分木方式でさらに分割することができる。
【0039】
本発明によって解決される1つの問題は、MMVDおよびSMVD動きベクトル符号化ツールの使用を、どのように、現在提案されているビデオ規格においてサポートされる、すべての動きモデル導出方法および時間予測方法にまで拡張して、これらの提案されている規格の全体的な圧縮性能を向上させるかである。
【0040】
本開示の基本原理は、2つの側面からなっている。
【0041】
- MMVD動きベクトル符号化の、VVCドラフト3においてサポートされる、すべての動きモデルおよび/または時間予測方法、ならびにVVC標準化プロセスに提案されている他の動きモデルとの使用を拡張すること。特に、本開示においては、MMVDを、アフィン動きモデル、ATMVP動きモデル、平面動きモデル、回帰的動き場、三角パーティションベースの動きモデル、GBI時間予測方法、LIC時間予測方法、および多重仮説予測方法と、どのように組み合わせるかが、説明される。双予測のケースにおけるMMVDの強化された使用も、提供される。
【0042】
- SMVD動きベクトル符号化ツールの、VVCドラフト3においてサポートされる、すべての動きモデルおよび/または時間予測方法、ならびにVVC標準化プロセスに提案されている他の動きモデルジェネレータとの使用を拡張すること。特に、本開示においては、SMVDを、アフィン動きモデル、ATMVP動きモデル、平面動きモデル、回帰的動き場、三角パーティションベースの動きモデル、GBI時間予測方法、LIC時間予測方法、および多重仮説予測方法と、どのように組み合わせるかが、説明される。
【0043】
開発されているVVCビデオ規格においては、複数のインター予測モードが、サポートされ、または提案されている。
【0044】
図5は、VVCドラフトのバージョン3における、インターデコーディングプロセスの簡略化されたブロック図を示している。プロセスは、CUまたはPUの符号化のために使用される、インターモードに従って異なることができる、MV候補リストの構築(1001)に基づいた、MVプレディクタ(mvp)の導出で開始する。
【0045】
ステップ1002は、動きベクトル差(MVd)デコーディングステップである。デコードされたMVdは、先行するステップ(1001)において獲得された動きベクトルプレディクタへの、それの追加を通して、検討されるCU/PUの動きベクトルを再構築するために、使用される。
【0046】
次のステップ1003は、2つの先行するステップから出された動きベクトル値から、動きモデルを導出することに本質がある。モデルは、後で説明されるように、単に並進的(translational)であること、またはより高度なものであることができる。
【0047】
デコードされたMVを使用する、CU内のサンプルの予測は、1つの参照ピクチャについては、ステップ1004において、双予測モードのケースにおける、他方の参照ピクチャについては、ステップ1005において、実行される。予測信号は、1つの参照ピクチャについては、ステップ1006において、双予測モードのケースにおける、他方の参照ピクチャについては、ステップ1007において、さらに精緻化される。適用可能なときは、ステップ1008において、双予測、もしくは混合されたイントラ/インター予測の、またはCU内のPUの組み合わせが、達成される。ステップ1009において、予測信号の最終的な精緻化ステップが、実行される。
【0048】
図5は、VTM3における、これらの異なるステップに対して適用される、異なるモードも示している。(*)を用いて示されるツールは、採用を提案されているが、VVCドラフト3の段階では採用されていない、ツールに対応する。
【0049】
インターにおいては、MVを導出するための2つの基本モードである、マージおよびAMVPが、使用される。両ケースにおいて、MV候補リストが、導出される。この導出プロセスは、一般に、これら2つのモードについて異なり、与えられたモードについてさえも、CUに対して適用される他の設定(例えば、マージか、それともAMVPか、並進モデルか、それともアフィンモデルか)に応じて、変形が、適用される。
【0050】
マージモードにおいては、マージ候補リスト内のMVをフェッチするために、プレディクタインデックスが、シグナリングされる。加えて、スキップモードが適用されないケースにおいては、サンプル予測残差が、シグナリングされる。AMVPモードにおいては、各参照ピクチャ(単予測のケースにおいては、1つの参照ピクチャ、双予測のケースにおいては、2つ)について、参照フレームインデックス、プレディクタインデックス、および動きベクトル差(mvd)が、シグナリングされる。加えて、サンプル予測残差が、シグナリングされる。
【0051】
表1は、現在のVTMにおける、異なる候補リストの内容の概要を提供する。
【0052】
【0053】
本発明において考察されるインターモードの要約が、(psnrYについての、ランダムアクセス構成における、パーセンテージでの、ビットレート変動に関する)性能に関する何らかの表示的な数とともに、以下の表において提供される。
【0054】
【0055】
以下のサブセクションは、考察されるインターモードにおけるさらなる詳細を、これらのモードまたはツールに関連付けられた、シンタックス要素とともに提供する。
【0056】
本明細書において説明される一般的な態様は、
図5の「Mvd導出」および「モデル導出」ステップに焦点を当てている。本開示の目標は、MMVDおよびSMVD動きベクトル符号化ツールの使用を、単純な並進動きモデルを超えた動きモデルにまで拡張することである。
【0057】
[MMVD動きベクトル差符号化ツール説明]
MMVDは、マージモードだけにおいて、適用される。それは、マージ候補リストを使用する。フラグ「mmvd_skip」は、MMVDモードが適用されるかどうかを示す。モードが、適用されるとき、MV差(mmvd)は、以下のように構築される。
- (ここでは、mmvd_idxと表記される)シンタックス要素が、以下の情報から成る補正MV mmvdを構築するために、シグナリングされる。
○2つの第1の並進マージ候補の中からエンコーダによって選択された、ベースMVインデックス。
○(x,y)座標系における方向D(現在は4つ)に関連する、mmvd_dir_idxと表記されるインデックス(4つの要素{(0,1),(1,0),(-1,0),(0,-1)}からなるテーブルdir[]が、指定される)。
○ベースMVからの距離ステップSに関連する、mmvd_dist_idxと表記されるインデックス(現在は最大で8つの距離が可能であり、8つの要素{1/4ペル,1/2ペル,1ペル,2ペル,4ペル,8ペル,16ペル,32ペル}からなるテーブルdist[]の指定を伴う)。
【0058】
MMVDモードが、適用されるとき、MV差が、その後、以下のように計算される。
refinementMV=dir[mmvd_dir_idx]×dist[mmvd_dist_idx]
【0059】
CUが、双予測で符号化される場合であっても、単一のMV差が、シグナリングされる。双予測ケースにおいては、2つの対称MV差が、単一の符号化されたMVから、獲得される。予測ピクチャと参照ピクチャとの間の時間的距離が、参照ピクチャリストL0とL1との間で異なるとき、デコードされたmmvdは、最大の時間的距離に関連付けられたMV差(mvd)に割り当てられる。最小の距離に関連付けられたmvdは、POC距離の関数としてスケーリングされている。
【0060】
例えば、参照ピクチャk(k=0または1)が、現在のピクチャに最も近いものであるケースについて考察する。kk=1-k、またPOCref_0、POCref_1、およびPOCcurを、それぞれ、参照ピクチャ0、参照ピクチャ1、および現在のピクチャのピクチャ順序カウントであると定義する。スケーリングファクタは、以下のように導出される。
sc=(POCref_kk-POCcur)/(POCref_k-POCcur)
【0061】
次に、参照ピクチャの各々についての精緻化MVが、以下のように導出される。
refinementMV_k=refinementMV
refinementMV_kk=sc×refinementMV
【0062】
VVCドラフト3においては、MMVDは、並進動きモデルに対してだけ適用される。
【0063】
[JVET-L0370において提案された対称MVD]
対称MVD(SMVD)ツールが、VVCのために検討されている。それの原理は、双予測のケースにおいて、CUの動き情報が、2つの対称な前方動きベクトル差および後方動きベクトル差から作られるという制約下において、いくつかの動きベクトル情報をエンコードすることである。VVCドラフト3においては、SMVDモードは、AMVPだけに対して適用される。
【0064】
SMVDモードと呼ばれる、この制約下におけるCUの符号化は、CUレベルフラグsymmetrical_mvd_flagを通して、シグナリングされる。
【0065】
このフラグは、SMVDモードが、実現可能である場合に、すなわち、CUの予測モードが、双予測であり、以下のような、CUのための2つの参照ピクチャが、見つかった場合に、符号化される。
【0066】
- 現在のCUのための参照ピクチャが、それぞれ(L0およびL1)または(L1およびL0)参照ピクチャリスト内における、最も近い前方参照ピクチャおよび後方参照ピクチャとして検索される。見つからない場合、SMVDモードは、適用可能でなく、symmetrical_mvd_flagは、省略される。
【0067】
symmetrical_mvd_flagが、シグナリングされ、真に等しい場合、
- L0参照ピクチャのために、1つのmvdが、シグナリングされ、他の参照ピクチャリストのためのmvdは、対称的なものとして、すなわち、最初のものの反対として、導出される。
- 従来のAMVPモードにおけるのと同様に、(参照ピクチャリストごとに1つの)2つのMVプレディクタインデックスが、シグナリングされる。
【0068】
[VVCドラフト3においてサポートされる、またはVVCに提案された動きモデル]
*並進モデル(Translational Model)(VVCドラフト3)
デフォルトでは、CU内の動きは、ブロック内のすべてのサンプルに対して適用される、並進MVに基づく。
*ATMVP(VVCドラフト3)
【0069】
図8によって示される、代替(高度)時間動きベクトル予測(ATMVP:alternative (advanced) temporal motion vector prediction)方式においては、現在のCUのための1つまたは複数の時間動きベクトルプレディクタが、現在のCUのための参照ピクチャから取り出される。
【0070】
最初に、現在のCUの通常のマージ候補リスト内の最初の候補に関連付けられた動きデータとして、いわゆる時間動きベクトル、および関連付けられた参照ピクチャインデックスが、獲得される。
【0071】
次に、現在のCUが、N×NのサブCUに分割され、Nは、一般に、4に等しい。
図8に、これが、示されている。各N×Nサブブロック(サブCU)について、時間MVに関連付けられた参照ピクチャにおいて、時間動きベクトルの助けを借りて、動きベクトル、および参照ピクチャインデックスが、識別される。現在のサブCUの位置から、時間MVによってポイントされる、参照ピクチャ内のN×Nサブブロックが、検討される。それの動きデータが、現在のサブCUのためのATMVP動きデータ予測として、取得される。それは、その後、適切な動きベクトルスケーリングを通して、現在のサブCUの動きベクトルおよび参照ピクチャインデックスに変換される。
【0072】
VVCドラフト3においては、ATMVP動き情報プレディクタは、サブブロックベースのマージ候補リストの一部であることに留意されたい。
【0073】
*アフィン動きモデル(VVCドラフト3)
VVCにおいて導入された新しい動きモデルの1つは、基本的に、CU内において動きベクトルを表すために、アフィン動き場を使用することに本質がある、アフィンモードである。
【0074】
2つまたは3つの(以下では制御点とも呼ばれる)制御点動きベクトルのために使用される動きモデルが、
図9によって例示されている。検討されるブロック内の各位置(x,y)についての、2つの制御点に基づく、4パラメータアフィン動き場は、以下の動きベクトル成分値である。
【0075】
【0076】
ここで、(v0x,v0y)および(v1x,v1y)は、アフィン動き場を生成するために使用される、いわゆる制御点運動ベクトル(CPMV)である。(v0x,v0y)は、左上隅の制御点動きベクトルである。(v1x,v1y)は、右上隅の制御点動きベクトルである。JVET-J0021において説明されるように、3つのCPMVから生成される、6パラメータアフィン場も、可能である。
【0077】
実際には、複雑さを妥当に保つために、アフィン動きは、4×4サブブロックベースで管理され、すなわち、検討されるCUの各4×4サブブロック(サブCU)内の各サンプルに対して、同じ動きベクトルが、使用される(
図10を参照)。アフィン動きベクトルは、各サブブロックの中心の位置において、CPMVから計算される。獲得されたMVは、1/16ペル精度で表される。
【0078】
結果として、ブロック(CU)全体が、独自のMVを有する各4×4サブブロック(サブCU)の動き補償を通して、時間的に予測される。VTMにおいては、アフィン動き補償は、以下で説明される、アフィンインター(AF_INTER)と、アフィンマージ(またはマージアフィン)の、2つの方法で使用することができる。
【0079】
-アフィンインター(AF_INTER)-
それのサイズが8×8よりも大きい、AMVPモードにおけるCUは、アフィンインターモードで予測することができる。これは、CUレベルで符号化された、フラグinter_affine_flagを通して、シグナリングされる。そのインターCUのためのアフィン動き場の生成は、動きベクトル差プラス制御点動きベクトル予測(CPMVP)の加算を通して、デコーダによって獲得される、制御点動きベクトル(CPMV)を決定することを含む。CPMVPは、(アフィンマージモードにおけるように)アフィン近隣から継承すること、または
図11に例示される、リスト(A、B、C)、(D、E)、および/もしくは(F、G)からそれぞれ取得される、非アフィン動きベクトルから構築することができる、動きベクトル候補の、(2つのCPMVを有する4パラメータアフィンモデルについては)ペア、または(3つのCPMVを有する6パラメータアフィンモデルについては)トリプレットである。これは、表1において述べられた、「仮想候補」に対応する。
【0080】
-アフィンマージ-
アフィンマージモードにおいては、CUレベルフラグは、マージモードにおけるCUが、アフィン動き補償を利用するかどうかを示す。そうである場合、JEM(VVC以前に、JVETによって開発された、探索参照ソフトウェア)においては、
図12の順序付けられた候補位置のリスト(A、B、C、D、E)の中から、アフィンモードで符号化されている、最初の利用可能な近隣CUが、選択される。
【0081】
アフィンモードにある最初の近隣CUが、ひとたび獲得されると、近隣CUの左上隅、右上隅、および左下隅からの3つの動きベクトル
【0082】
【0083】
が、取り出される(
図13を参照)。これらの3つのベクトルに基づいて、現在のCUの左上隅、右上隅、および/または左下隅の2つまたは3つのCPMVが、以下のように導出される。
【0084】
【0085】
現在のCUの制御点動きベクトル
【0086】
【0087】
が、獲得されたとき、現在のCU内の動き場が、式1のモデルを通して、4×4サブCUベースで計算される。
【0088】
並行アプリケーションにおいては、アフィンマージモードのためのより多くの候補が、検討される。その場合、エンコーダにおいて、レート-歪み最適化プロセスを通して、最良の候補が、選択され、この最良の候補のインデックスが、merge_idxシンタックス要素を通して、ビットストリーム内に符号化される。
【0089】
アフィンマージ候補リストに入れられる、次のアフィン候補は、継承された候補とは対照的に、「構築された」(または「仮想」)アフィンモデル候補である。構築された候補は、アフィンモードで符号化されていない近隣CUからのものを含む、現在のCUの周りの利用可能な近隣動きベクトルに基づいて計算される、アフィン動き場である。2つまたは3つの近隣MVが、導出され、現在のCUのための候補アフィン動き場を生成するために、使用される。
【0090】
アフィンマージ候補を構築するために使用される近隣MVは、いくつかの空間MVPと、1つの時間MVPとを含む。
【0091】
[(JVET-L0070において提案された)平面動きモデル]
JVET-L0070においては、VVCコーデック設計に対する追加マージモードとして、平面動きベクトル予測(PMVP)が、提案されている。
図14に示される平面動きベクトル予測は、以下のように、4×4ブロックベースで、水平および垂直線形補間を平均することによって、達成される。これらの線形補間は、CUのコーナ(AR、AL、BL)上に配置された、ジェネレータMVから実行される。それの原理が、
図14に例示されている。
P(x,y)=(H×P
h(x,y)+W×P
v(x,y)+H×W)/(2×H×W)
【0092】
[回帰MVF(RMVF)モデル]
JVET-L0171においては、VVCコーデック設計に対する追加マージモードとして、回帰ベースの動きベクトル予測が、提案されている。
【0093】
図15に示される回帰ベースの動きベクトル場(RMVF)は、以下であることに本質がある。RMVFの原理は、サブブロックの動きベクトルを計算するために、6パラメータ動きモデルを使用することである。
【0094】
【0095】
動きパラメータは、空間的に近隣する4×4サブブロックの1行および1列に基づき、それらの動きベクトルおよび中心位置を線形回帰法の入力として使用して、計算される。
【0096】
[三角パーティションベースの動きモデル]
VVCドラフト3においては、三角動きパーティショニングツールが、採用された。それは、
図16によって示されるように、ブロックを2つの予測ユニットに分割する際の、柔軟性を可能にする。基本的に、CUは、対角線または逆対角線方向に、2つの三角予測ユニットに分割される。各三角PUは、専用の単予測候補リストから導出された、独自の単予測動きベクトルおよび参照ピクチャを使用して、インター予測される。
【0097】
三角予測ユニットを予測した後、適応的重み付けプロセス(
図17を参照)が、対角線エッジに対して実行される。その後、変換および量子化プロセス処理が、CU全体に対して適用される。三角PUモードは、スキップモードおよびマージモードに対してだけ適用される。
【0098】
[局所照明補償(LIC)]
LICの目的は、動き補償された(MC)時間予測を通して利用される、予測ブロックとそれの参照ブロックとの間に発生することがある、照明変化を補償することである。このツールにおいては、デコーダは、現在のブロックの左側列および/または上側行に配置された、いくつかの再構築されたピクチャサンプルと、動き補償ブロックの左側列および/または上側行に配置された、参照ピクチャサンプルとに基づいて、いくつかの予測パラメータを計算する(
図18a)。
【0099】
別の手法においては、左側/上側の近隣する再構築されたブロックの予測サンプル(
図18b)を、使用することができる。
【0100】
双予測のケースにおいては、LICの変形(「双方向LIC」)は、現在のブロックのためのLICパラメータを導出するために、現在の2つの参照ブロック間の照明変化を推定することに本質がある。
【0101】
LICパラメータは、Vcur内のサンプルと、Vref(MV)内の補正されたサンプルとの間の平均2乗誤差差(MSE)を最小化するように、選択される。一般に、LICモデルは、線形、すなわち、LIC(x)=a.x+bである。
【0102】
【0103】
sおよびrは、
図19に示されるように、それぞれ、Vcur内およびVref(MV)内におけるピクセル位置に対応する。
【0104】
結果として、LICが、時間予測のために使用されるとき、現在のブロックの時間予測を提供するために、線形LICモデルが、動き補償ブロックに対して適用される。
【0105】
[一般化された双予測(GBI)]
VVCドラフト3においては、GBIが、採用された。それは、双予測モードにおいて、L0およびL1からのプレディクタに対して、等しくない重みを適用する。インター予測モードにおいては、等しい重みペア(1/2、1/2)を含む、複数の重みペアが、レート-歪み最適化(RDO)に基づいて、評価され、選択された重みペアのGBIインデックスが、デコーダにシグナリングされる。
【0106】
AMVPモードにおいては、GBI重み情報を搬送するGBIインデックスが、CUレベルでシグナリングされる。
【0107】
マージモードにおいては、GBIインデックスは、近隣CUから継承される。GBIモードにおいて予測されるブロックは、以下のように計算される。
PGBi=(w0×PL0+w1×PL1)
ここで、w0およびw1は、選択されたGBI重みである。サポートされるw1値は、一般に、{-1/4,3/8,1/2,5/8,5/4}である。w1とw0の合計は、1に等しいので、対応するw0値は、{5/4,5/8,1/2,3/8,-1/4}である。重みペアは、CUレベルで選択され、シグナリングされる。非低遅延ピクチャについては、重みの数が、減らされる。w1値およびw0値は、それぞれ、{3/8,1/2,5/8}および{5/8,1/2,3/8}である。
【0108】
1.1.1.非サブブロック空間時間マージ動きベクトルプレディクタ(STMVP)
このセクションは、STMVPと呼ばれる、空間時間マージ候補を生成するための、先行技術方法JVET-L0354について説明する。方法は、基本的に、現在のPUの上側および左側の2つの空間近隣動きベクトルと、現在のCUの時間動きベクトルプレディクタとを取り出すことに本質がある。
【0109】
空間的近隣は、
図20に例示されるように、Afarと呼ばれる空間位置において、取得される。現在のPUの左上位置に関連するAfarの空間位置は、座標(nbPW×2,-1)によって与えられる。ここで、nbPWは、現在のブロックの幅である。動きベクトルが、位置Afarにおいて利用可能でない(存在しない、またはイントラ符号化されていない)場合、位置B1は、現在のブロックの上側近隣動きベクトルと見なされる。
【0110】
左側近隣ブロックの選択も、同様である。利用可能である場合、Lfarと表記される、相対的な空間位置(-1,2×nbPH)にある近隣動きベクトルが、選択される。nbPHは、現在のブロックの高さである。利用可能でない場合、位置A1(-1,nbPH-1)にある左側近隣動きベクトルが、利用可能であれば、選択される。
【0111】
次に、現在のブロックにおけるTMVPプレディクタが、HEVCの時間動きベクトル予測におけるのと同様に、導出される。
【0112】
最後に、現在のブロックのSTMVPマージ候補が、最大で3つの獲得された空間および時間近隣動きベクトルの平均として、計算される。したがって、ここでのSTMVP候補は、JEMにおけるSTMVPのサブブロックベースの手法とは対照的に、参照ピクチャリスト当たり、最大でも1つの動きベクトルから作られる。JVET-L0354の手法に対するいくつかの変形が、例えば、JVET-L0207において、提案された。
【0113】
[MMVDの使用を拡張するための提案された実施形態]
MMVDと双予測との組み合わせ
現在のMMVDの設計においては、方向インデックスおよび距離インデックスから作られる、mmvdデータの単一のセットが、双予測のケースにおいてさえも、シグナリングされる。
【0114】
[実施形態1]-両方の参照ピクチャのためのmmvdデータの相互依存シグナリング
実施形態においては、CUが、双予測(bipred)モードで符号化され、MMVDモードが、CUに対して有効化されるとき、mmvdデータの2つのセットが、すなわち、(リストL0およびL1からの)参照ピクチャの各1つに対して適用される、2つのmmvdの各1つに対して1つのセットが、シグナリングされる。加えて、mmvdデータの第2のセットを、mmvdデータの第1のセットから、様々な可能なオプションを伴って、導出することができる。
【0115】
図21の簡略化されたブロック図に、これが、例示されている。ステップ1101において、mmvdデータが、第1の参照ピクチャのために、デコードされる。双予測が適用される場合(ステップ1102のチェック)、第1の参照ピクチャのmmvdデータを条件として、第2の参照ピクチャのために、mmvdデータが、デコードされる(ステップ1103)。その後、ステップ1104において、双予測MVが、第1および第2の参照ピクチャのmmvdデータから導出される。双予測が適用されない場合(ステップ1102のチェック)、ステップ1105において、単予測MVが、第1の参照ピクチャのmmvdデータから導出される。
【0116】
[実施形態1]-オプション1-第2の参照ピクチャのmmvdについての推定される方向
1つのオプションにおいては、距離インデックスだけが、両方のmmvd(mmvd0_dist_idxおよびmmvd1_dist_idx)のために符号化される。第2のmmvdの方向は、第1のmmvdの方向(mmvd0_dir_idx)から推測される。両方の参照ピクチャが、現在のピクチャに関して、同じ時間側に配置される場合、mmvd1_dir_idxは、mmvd0_dir_idxに等しく設定される。参照ピクチャが、現在のピクチャから両方の時間側に配置される場合、mmvd1_dir_idxは、-mmvd0_dir_idxに等しく設定される。
【0117】
関連する簡略化されたシンタックスの例が、以下に示される。
【0118】
【0119】
[実施形態1]-オプション2-第2の参照ピクチャのmmvdの距離の差分符号化
別のオプションにおいては、第2の参照ピクチャについての距離は、第1の参照ピクチャについての距離に対する差分として、符号化される。mmvd0_dist_idxに対する差分に対応する、インデックスmmvdd1_dist_idxが、符号化される。
【0120】
関連する簡略化されたシンタックスの例が、以下に示される。
【0121】
【0122】
精緻化MV0についての距離は、
distMV0=dist[mmvd0_dist_idx]
として計算され、精緻化MV1についての距離は、
distMV1=distMV0+dist[mmvdd1_dist_idx]
として計算される。
【0123】
[実施形態1]-オプション3-第2の参照ピクチャのmmvdの可能な距離値の制限
実施形態においては、(mmvd1_dist_idxによってシグナリングされる距離、またはmmvdd1_dist_idxによってシグナリングされる、オプション2におけるような距離差のどちらかである)第2の距離の最大値は、mmvd0_dist_idxのものと比較して、小さくされる。mmvd0_dist_idxのために、N個の可能な距離が使用されると考える(例えば、8つ、dist[]={1/4ペル,1/2ペル,1ペル,2ペル,4ペル,8ペル,16ペル,32ペル})。mmvdd1_dist_idxのためには、dist[]の最初のN’個の値だけを、使用することができ、N’<Nである。
【0124】
以下の変形が、考えられる。
- N’は、Nから計算される(例えば、N’=N/2)。
- N’は、mmvd0_dist_idxの値から計算される(例えば、N’=mmvd0_dist_idx、またはN’=mmvd0_dist_idx/2)。
- N’は、(MMVD符号化ツール説明についてのセクションにおいて説明されるような)スケールパラメータ「sc」の値に依存する。例えば、N’=sc×N
【0125】
[MMVD-CPR組み合わせ]
実施形態においては、CPR(現在ピクチャ参照)モードが、適用されるとき、MMVDモードが、CPR固有の適応を伴って、有効化される。
【0126】
CPRのために使用されるMVは、現在のピクチャを参照する。VVCドラフト3においては、メモリストレージのニーズを制限するために、MVを現在のCUに近い制約された領域内のポイントに制限するための制約が、規定された。現在のVTMにおいては、
図22に例示されるように、制約された領域は、現在のCUを含むCTUから成る。CPR MVの他の制約は、それが整数精度を有することである。
【0127】
[実施形態2a]-CPRの場合の整数精度へのmmvd制約
実施形態においては、mmvdについての有効化された距離は、CPRのために有効化されたMV精度に適合するものに制限される。例えば、現在のVTMにおいては、CPR MV精度は、整数であり、本発明は、CPRモードが使用されるときの、mmvdについての距離は、mmvdのために通常使用されるフルセット
dist[]={1/4ペル,1/2ペル,1ペル,2ペル,4ペル,8ペル,16ペル,32ペル}
の代わりに、以下のセット、すなわち、
{1ペル,2ペル,4ペル,8ペル,16ペル,32ペル}
内にあると見なす。
【0128】
CPRのケースにおけるmmvd_dist_idxの最大値N’(例えば、5)は、mmvd_dist_idxの最大値N(例えば、8)よりも小さい。
【0129】
実施形態においては、このソリューションは、以下のように、mmvd_dist_idxに対して適用されるオフセットを使用して、実施される。
- MMVDモードが適用される場合、
○CPRモードが適用される場合、
□distMV=dist[mmvd_dist_idx+オフセット]。
【0130】
○それ以外の場合、
□distMV=dist[mmvd_dist_idx]。
【0131】
整数精度に制限するために、オフセットは、2に等しい。
【0132】
[実施形態2b]-CPRの場合のmmvdの最大値の制限
実施形態においては、CPRモードがアクティブ化されたケースにおける、mmvdについての最大距離は、従来のmmvd使用と比較して、小さくされる。例えば、現在のVTMにおいては、CPR MV精度は、整数であり、本発明は、CPRモードがアクティブ化されたときの、mmvdについての距離は、mmvdのために通常使用されるフルセット
dist[]={1/4ペル,1/2ペル,1ペル,2ペル,4ペル,8ペル,16ペル,32ペル}
の代わりに、以下のセット、すなわち、
{1ペル,2ペル,4ペル,8ペル}
内にあると見なす。
【0133】
CPRのケースにおけるmmvd_dist_idxの最大値N’(例えば、3)は、mmvd_dist_idxの最大値N(例えば、8)よりも小さい。
【0134】
[実施形態2c]-CPRの場合のmmvdからのMVのクリッピング
実施形態においては、mmvd精緻化からもたらされるMVは、予測のために使用される動き補償ブロックが、制約された領域内に留まるように、クリッピングされる。基本プロセスが、
図23に例示されている。
【0135】
実施形態3:MMVDとATMVPとの組み合わせ
[実施形態3.1]-サブブロックベースモードATMVPと組み合わせて使用されるMMVD
VVCドラフト3においては、MMVDは、通常の並進マージモードに対してだけ適用される。したがって、与えられたCUに対して、サブブロックベースのマージモードが、アクティブ化されるとき、MMVDは、使用されない。
【0136】
この実施形態3に従うと、サブブロックベースのマージモードが、アクティブ化されるとき、MMVD動きベクトル表現ツールを、使用することができる。特に、MMVDは、ATMVP動きベクトル予測モードと組み合わせて、使用することができる。
【0137】
merge_flagシンタックスが、現在のCUに対するマージモードの使用を示すとき、MMVDの使用が、VVCドラフト3におけるのと同じ方法で、シグナリングされる。さらに、サブブロックベースのマージモードの使用を示す、フラグsubblock_merge_flagは、現在のブロックに対するMMVDの使用を示す、シンタックス要素mmvd_merge_flagの値に関わらず、符号化される。
【0138】
第1のサブ実施形態3.0に従うと、MMVDとの組み合わせにおいて、アフィンモードは、許可されない。したがって、mmvd_merge_flagが、オンである場合、使用されるマージモードは、ATMVPモードであると推測される。したがって、merge_idxシンタックス要素は、符号化されたビットストリームから省略される。
【0139】
別のサブ実施形態に従うと、MMVDとの組み合わせにおいて、アフィンモードが、許可される。したがって、merge_idxシンタックス要素は、VVCドラフト3において現在行われているように、符号化される。
【0140】
[実施形態3.2]-ATMVPの継承されたサブブロックMVの精緻化として使用されるmmvd
実施形態においては、ATMVP候補が、選択され、MMVDが、有効化されるとき、mmvd精緻化が、各サブブロックのために継承される、すべてのMVに対して適用される。プロセスが、
図24の簡略化されたブロック図に示されている。最初のステップにおいて、mmvデータが、デコードされる。次のステップにおいて、グローバルATMVP MVが、識別される。その後、CUの各サブブロックについて、グローバルMVによって参照ピクチャ内において識別された、対応するサブブロックからの動きデータが、フェッチされる。これらの動きデータは、従来のMMVD精緻化プロセスと同様に、mmvdデータを使用して、精緻化される。
【0141】
[実施形態4]:MMVDとアフィンモードとの組み合わせ
実施形態に従うと、MMVDは、アフィンモードと組み合わせて、使用される。この実施形態内において、いくつかの変形を、適用することができる。それらが、以下に列挙される。
【0142】
[すべてのCPMVに対して符号化された単一のMMVD]
- 第1の変形に従うと、単一の動きベクトル差mmvdが、符号化され、アフィン動き場を生成するために使用される、すべてのCPMVに対して適用される。これは、一定の動きベクトルをアフィン動きモデル全体に追加することをもたらす。これは、MMVDモードがアクティブ化されるときの、アフィン動き場生成プロセスの簡略化されたデコーディングブロック図を示す、以下の図に例示されている。
【0143】
○双方向アフィン予測のケースにおいては、並進ケース(translational Case)におけるのと同様に、同じ対称動きベクトル差概念が、使用される。
【0144】
[CPMVの各々に対して符号化されるmmvdデータ]
- 第2の変形に従うと、CPMVごとに1つの動きベクトル差mmvdが、許可され、それが、候補アフィン動き場を生成するための柔軟性を向上させる。第1のCPMVに対しては、MMVDの通常のmmvd符号化を使用することができる。次に、第2および第3のCPMVに対しては、第1のCPMVに関連付けられたmmvdの上において、差分動きベクトル差(mmvdd)を符号化することができる。そのような手法の利点は、アフィンモードへのMMVDの適用において、何らかの柔軟性を可能にしながら、mmvdシグナリングのレートコストを制限することである。3つのアフィンCPMVについてのmmvd情報の符号化のケースにおける、関連する簡略化されたシンタックスの例が、以下に示される。この実施形態に従うと、差分動きベクトル差の大きさは、第1のCPMVのmmvdよりも小さい値に制約すること(例えば、値のフルセットは、dist[]={1/4ペル,1/2ペル,1ペル,2ペル,4ペル,8ペル,16ペル,32ペル}であることができるが、dist[]={1/4ペル,1/2ペル,1ペル}に制限すること)ができる。プロセスは、MMVDモードがアクティブ化されるときの、アフィン動き場生成プロセスの簡略化されたデコーディングブロック図を示す、以下の図に例示されている。
【0145】
【0146】
- いくつかの変形に従うと、差分mmvdの符号化において、許可される大きさの範囲は、第1のCPMVのmmvdに関連付けられた距離インデックスに従って、制限される。例えば、mmvd1_dist_idx、および適用可能なときの、mmvd2_dist_idxは、mmvd0_dist_idxよりも低くなるように、制約される。水平および垂直方向における、第2のmmvdの許容される範囲は、
図27に例示的に示されように、制限することができる。
【0147】
- さらなる変形に従うと、すべてのmmvdに対して、同じ方向インデックスが、使用され、したがって、第2および第3のCPMVについては、距離情報だけを符号化することができる。3つのアフィンCPMVについてのmmvd情報の符号化のケースにおける、関連する簡略化されたシンタックスの例が、以下に示される。
【0148】
【0149】
[仮想候補の削除によるアフィンマージ候補リストの制約]
- さらなる変形に従うと、アフィンのために使用されるMMVDモードは、アフィンマージ候補のセット内に、何らかの多様性をもたらすので、アフィンマージ候補のアフィンリストは、VVCドラフト3のアフィンマージリストと比較して、縮小され、簡略化された全体的なコーデック設計につながる。例えば、実施形態においては、いくつかの構築された(仮想)アフィンモデル候補が、アフィンマージリストから削除される。実施形態においては、すべての構築された(仮想)アフィンモデル候補が、アフィンマージリストから削除され、アフィンマージリストは、継承されたアフィン候補だけから作られる。
【0150】
[第1のmmvdの距離値に基づいた、第2(および第3)のmmvdの距離値の制約]
- 追加の特性に従うと、第2CPMV、および(それが適用されるときは)第3CPMVについて、第1のCPMVのmmvdに対するmmvd(動きベクトル差)の差分符号化は、差分動きベクトル差について、距離値0を符号化/デコードする可能性を含む(dist[]={0ペル,1/4ペル,...})。実際には、並進動きケースにおいてだけ適用される、既存のMMVDにおいては、0に等しい距離は、サポートされず、その訳は、それが、通常のマージのものと重複するMVプレディクタを提供するからである。
【0151】
[双方向アフィンのケースにおける、アフィンモデルパラメータへの対称制約の賦課]
- さらなる特性に従うと、双方向アフィンのケースにおいては、(第2の参照ピクチャに付随する)第2のmmvdの、(第1の参照ピクチャに付随する)第1のものの関数としての導出は、並進ケースにおいて課される、2つの双予測mmvd間の対称制約と同様に、対称性制約を使用する。そうするために、いくつかの手法が、可能であることがある。
○1つの第1の手法においては、第2の参照ピクチャリストに関連付けられたmmvdのmmvdは、第1の参照ピクチャリストに関連付けられたmmvdから直接的に推測される。例えば、第2のmmvdは、第1のmmdvをスケーリングすることによって、導出され、スケーリングは、参照ピクチャと現在のピクチャとの間の時間的距離を考慮する。
○別の手法においては、第2の参照ピクチャリストに関連付けられた、アフィンモデルのMVDは、(一般に、角度およびスケーリングファクタに結びつけられる)アフィンモデルパラメータが、第1の参照ピクチャに関連付けられた、アフィンモデルのMVDと比較して、対称であることを課すことによって、第1のものから推定される。そうするために、第1のアフィンモデルに関連付けられた、スケーリングファクタおよび角度値が、計算される。その後、それらは、対称性制約を満たすように変換され、その後、アフィンモードパラメータは、CUの双方向アフィン予測のための、現在のCUの第2アフィンモデルを提供するように、逆変換される。これは、以下の形を取る。
【0152】
検討されるブロックのために、4パラメータモデルが使用されると仮定する。
【0153】
【0154】
次に、回転角およびスケーリングパラメータが、以下のように獲得される。
【0155】
【0156】
次に、角度およびスケーリングファクタが、以下のように変換される。
【0157】
【0158】
ここで、kは、現在のピクチャとそれの2つの参照ピクチャとの間の時間的距離に依存する、スケーリングファクタである。最後に、第2の参照ピクチャのためのa’およびb’アフィンモデルパラメータが、a’およびb’から容易に計算される。
【0159】
簡略化されたバージョンにおいては、スケーリングファクタだけが、変更され、MVdの単純なスケーリングをもたらす。
【0160】
[実施の形態5]:MMVDと平面動きベクトル予測との組み合わせ
実施形態5に従うと、MMVDは、平面動きベクトル予測(PMVP)モードと組み合わせて、使用される。
【0161】
これは、以下の形のうちの1つを取ることができる。
【0162】
[PMVP動き場のMVの各々を精緻化する単一のmmvd]
- 第1の基本的な手法に従うと、PMVPモードが現在のCUのために使用されるケースにおいては、MMVD動きベクトル差が、符号化される。mmvdは、最初にそれのジェネレータMVから生成される、PMVP生成された動き場に対して適用される。したがって、mmvdは、PMVP動き場の各MVに対する加算的オフセットとして、使用される。これは、PMVD動き生成プロセスの簡略化されたデコーディングブロック図を示す、以下の図に例示されている。
【0163】
[PMVD動き場を生成するために使用される、MVの少なくとも1つを精緻化するために使用される、単一のmmvd]
- 別の変形に従うと、平面動き場(ジェネレータMV)を生成するために使用される、少なくとも1つの動きベクトルに対して、1つの動きベクトル差が、適用される。例えば、平面MV場を生成する前に、単一のMVDを、符号化し、
図28のAL(左上)動きベクトルに対して適用することができる。これは、PMVD動き生成プロセスの簡略化されたデコーディングブロック図を示す、以下の図に例示されている。
- 別の変形に従うと、平面MV場を生成する前に、MVDが、符号化され、BR動きベクトルに対して適用される。
- 別の変形に従うと、平面MV場を生成する前に、MVDが、符号化され、AR動きベクトルに対して適用される。
- 別の変形に従うと、平面MV場を生成する前に、MVDが、符号化され、BL動きベクトルに対して適用される。
【0164】
[PMVD動き場を生成するために使用される、いくつかのMVを精緻化するために使用される、いくつかのmmvd]
- 別の実施形態に従うと、平面動き場を生成する前に、いくつかのMVDが、符号化され、AL、BL、AR、およびBR動きベクトルのうちの、1つまたは複数のMVに対して適用される。これは、PMVD動き生成プロセスの簡略化されたデコーディングブロック図を示す、以下の図に例示されている。
- 別の実施形態に従うと、いくつかのMVDが、符号化され、AL、BL、AR、およびBR動きベクトルのうちの、複数のMVに対して適用されるとき、最初に符号化されるMVDは、MMVDにおけるように、符号化される。次のものは、MVD符号化プロセスに関連付けられたレートコストを制限するために、以前に符号化されたものに基づいて、差分的な方法で符号化される。
- 変形に従うと、平面ケースにおけるMVDのための許容される距離のセットが、VVCドラフト3において現在使用されるMMVDツールと比較して、変更される。例えば、許容されるMVD距離の制約された範囲が、可能である。
-変形に従うと、許容されるMVD方位の数が、VVCドラフト3における既存のMMVDシステムと比較して、変更される。例えば、MMVDが、平面MV予測と組み合わせて、使用されるとき、MVD角度の強化されたセットを、サポートすることができる。
【0165】
[実施形態6]:MMVDと回帰ベースの動きベクトル場との組み合わせ
実施形態6に従うと、MMVDは、回帰MVFモデルのセクションにおいて導入される、回帰ベースの6パラメータ動き場と組み合わせて、使用される。これは、以下の形のうちの1つ取ることができる。
【0166】
[RMVF動き場のMVの各々を精緻化する単一のmmvd]
- 第一の基本的な手法に従うと、MMVD動きベクトル差は、RMVFモードが現在のCUのために使用されるケースにおいて符号化され、RMVF生成された動き場に対して適用される。したがって、MVdは、RMVF動き場に対する加算的オフセットとして、使用される。
図29に示されるような類似のブロック図は、この変形に従ってRMVF動き場を生成するための、簡略化されたプロセスを適切に説明することができる。
【0167】
[RMVF動き場を生成するために使用される、MVの少なくとも1つを精緻化するために使用される、単一のmmvd]
- 別の変形に従うと、1つの動きベクトル差が、RMVF動き場を生成するために使用される、少なくとも1つの動きベクトルに対して適用される。例えば、RMVF動き場を生成する前に、単一のMVDを、符号化し、現在のブロックの左側の動きベクトルに対して適用することができる。
- 別の変形に従うと、回帰ベースのMV場を生成する前に、1つのMVDが、符号化され、上側近隣動きベクトルに対して適用される。
図30に示されるような類似のブロック図は、この変形に従ってRMVF動き場を生成するための、簡略化されたプロセスを適切に説明することができる。
【0168】
[RMVF動き場を生成するために使用される、2つのMVを精緻化するために使用される、2つのmmvd]
- 別の実施形態に従うと、回帰ベースの動き場を生成する前に、2つのMVDが、符号化され、それぞれ上側および左側MVに対して適用される。
- 別の実施形態に従うと、上で述べられたように、2つのMVDが、符号化され、適用されるとき、最初に符号化されるMVDは、MMVDにおけるように、符号化される。次のものは、MVD符号化プロセスに関連付けられたレートコストを制限するために、第1のものに基づいて、差分的な方法で符号化される。
- 変形に従うと、回帰ベースケースにおけるMVDのための許容される距離のセットが、VVCドラフト3において現在使用されるMMVDツールと比較して、変更される。例えば、許容されるMVD距離の制約された範囲が、可能である。
- 変形に従うと、許容されるMVD方位の数が、VVCドラフト3における既存のMMVDシステムと比較して、変更される。例えば、MMVDが、RMVFと組み合わせて、使用されるとき、MVD角度の強化されたセットを、サポートすることができる。
-
図31に示されるような類似のブロック図は、それらの変形に従ってRMVF動き場を生成するための、簡略化されたプロセスを適切に説明することができる。
【0169】
[実施形態7]:MMVDのLICとの組み合わせ
実施形態においては、MMVDとLICは、一緒に有効化することができる。そのケースにおいては、VVCドラフト3のケースにおけるのと同様に、符号化された動きベクトル差が、検討されるCUの動きベクトルに対して適用される。したがって、現在のLICツールにおけるケースと同様に、現在のCUの時間予測に関連付けられたLIC線形モデルパラメータは、使用されるマージ候補から導出される。
【0170】
変形に従うと、MVDの大きさが、ある閾値を上回る場合、現在のCUのLICフラグを、偽に設定することができ、すなわち、現在のCUに対して、LIC時間予測精緻化を、非アクティブ化することができる。実際、直感的には、現在のCUの動きベクトルが、現在のCUのMVを導出するために使用される、マージ候補の動きベクトルと著しく異なる場合、マージ候補CUのために使用されるLIC線形モデルは、現在のCUに関係ないことができる。
【0171】
例えば、MVDの大きさが、16または32以上である場合、現在のCUに対して、LICモードを強制的に0にすることができる。
【0172】
さらなる変形に従うと、MVDの大きさに関する上で述べられた閾値は、現在のCUサイズに依存することができる。
【0173】
[実施形態8]:MMVDのGBIとの組み合わせ
VVCドラフト3においては、CUが、並進マージモードで符号化されるとき、それの動きベクトルは、選択されたマージ候補から、およびそれのGBIインデックスから、導出される。これは、現在のCU動きデータを導出するための参照としての役割を果たすCUのGBI重みが、MMVDが現在のCUのためにアクティブ化されるケースを含めて、現在のCUのためにも、変わりなく使用されることを意味する。
【0174】
この現在の実施形態においては、現在のCUのためのGBI重みの適応を、現在のマージCUのために使用されるMVDの大きさに基づいて、適用することができる。
【0175】
例えば、MVDの大きさが、ある閾値を上回る場合、GBIを、現在のCUのためのデフォルトGBI重み(1/2、1/2)にリセットすることができる。実際、直感的には、現在のCUの動きベクトルが、現在のCUのMVを導出するために使用される、マージ候補の動きベクトルと著しく異なる場合、マージ候補CUのために使用されるGBI重みは、現在のCUに関係ないことができる。
【0176】
例えば、MVDの大きさが、16または32以上である場合、現在のCUに対して、GBI重みを強制的に(1/2、1/2)にすることができる。
【0177】
さらなる変形に従うと、MVDの大きさに関する上で述べられた閾値は、現在のCUサイズに依存することができる。
【0178】
[実施形態9]:MMVDおよび三角動きパーティション
実施形態に従うと、MMVD動きベクトル符号化ツールは、三角動きパーティショニングツールと組み合わせて、使用される。
【0179】
第1の変形に従うと、MMVDのVVCドラフト3 MVD符号化システムに従って、各三角パーティションに対して、1つのMVDが、符号化される。
【0180】
別の変形に従うと、単一のMVDが、符号化され、2つの三角動きパーティションによって共通に使用される。
【0181】
別の変形に従うと、2つのMVDが、符号化されるとき、第2のものは、第1のものに対する差分的な方法で、符号化される。そのケースにおいては、第2のMVDは、アフィンケース用と同じ方法で(実施形態4のセクションを参照)、より小さい許容される大きさの範囲に制約されることができる。
【0182】
より高度な実施形態に従うと、各パーティションに対して1つのMVDが、符号化されるケースにおいては、第2のMVDは、第1のおよび第2のパーティションの動きベクトルの相対的な値に基づいて、条件付きの方法で、符号化される。例えば、第2の精緻化MVが、第1の三角パーティションの精緻化されたMVに近すぎないように、第2のMVDを制約することができる。実際、近すぎる場合、現在のCUの全体的な予測は、長方形ブロック全体の通常の並進動き補償予測(Translational motion compensated prediction)に非常に近い挙動をすることがある。
【0183】
[実施形態10]:MMVDおよび多重仮説(MH)予測
VVCドラフト3など、現在のビデオ規格においては、多重仮説と呼ばれる新しい予測モードは、マージ/スキップ時間予測ブロックとイントラ予測ブロックの組み合わされた予測に本質がある。しかしながら、VVCドラフト3においては、MMVDとMH予測は、一緒に使用することができない。
【0184】
この実施形態においては、MMVDと多重仮説予測モードを、組み合わされた方法で使用することが、可能にされる。基本的に、これは、現在の符号化ユニットの動き情報を導出するために使用されるマージまたはスキップ候補動きベクトルに、マージ動きベクトル差を適用することに本質がある。
【0185】
この実施形態の利点は、さらに向上した符号化効率である。
【0186】
[実施形態11]:MMVDおよび空間-時間動きベクトル予測(STMVP)
VVCドラフト3においては、非サブブロック空間時間マージ動きベクトルプレディクタについてのセクションにおいて説明されように、STMVPと呼ばれる、動きベクトル予測モードが、提案されている。STMVP動きベクトル候補は、一般に、並進マージ候補リストの一部であることができる、追加のマージ候補である。それは、現在のCUのために、単一の動きベクトルを予測することに本質がある。したがって、MMVDを、直接的な方法で、STMVP候補に対して適用することができる。
【0187】
しかしながら、MMVDは、STMVP候補を計算するために使用される、3つの空間および時間MVプレディクタのうちの1つだけに適用することもできる。
【0188】
実施形態に従うと、MMVDの動きベクトル差は、これら2つの空間動きベクトルプレディクタと、時間動きベクトルプレディクタとの間の、平均動きベクトルを計算する前に、1つまたは2つの空間動きベクトルプレディクタに対して適用される。
【0189】
実施形態に従うと、MMVDの動きベクトル差は、この時間MVプレディクタと、1つまたは2つの空間動きベクトルプレディクタとの間の、平均動きベクトルを計算する前に、時間動きベクトルプレディクタに対して適用される。
【0190】
[SMVDの使用を拡張するための提案される実施形態]
実施形態12:AMVPモードにおいてMMVDによって置き換えられるSMVD
対称MVCセクションにおいて述べられたように、SMVD動きベクトル符号化モードは、AMVPモードにおいてだけ適用されるが、MMVD動きベクトル表現モードは、マージモードにおいてだけ適用される。この実施形態においては、コーデック設計は、調和させらされる。MMVDおよびSMVDのうちのただ1つの動きベクトル符号化モードが、マージとの関連において、対称的な双方向動きのケースと、大きさが小さい動きベクトルのケースの両方を扱うために、全体的な設計のために提案される。以下の2つの変形が、提案される。
【0191】
[MMVDモードとSMVDモードの両方における、MV差を符号化するためのmmvdシンタックスの使用]
- AMVPモードにおいて、対称モードが、オンであるとき、動きベクトル差は、MMVD動きベクトル差符号化ツール説明セクションに示される、MMVD MVD符号化シンタックスを用いて、符号化される。したがって、検討されるCUに対して、対称MVDモードが、アクティブである場合、AMVPにおけるVVCドラフト3の従来のMVD符号化方法が、置き換えられる。
【0192】
[MMVDモードとSMVDモードの両方における、MV差を符号化するためのVTM3 MVdシンタックスの使用]
- AMVPモードにおいて、対称モードが、オンであるとき、動きベクトル差は、AMVPにおけるVVCドラフト3において現在行われるように符号化される。しかしながら、マージケースにおいて、MMVDモードが、オンである場合、MMVDの動きベクトル差は、AMVP方法で符号化される。
【0193】
[実施形態13]:アフィン動きモデルと組み合わされるSMVD
実施形態に従うと、SMVDの使用は、アフィンAMVPケースに拡張される。これは、以下の形を取ることができる。
【0194】
検討されるアフィンCUの最初のCPMVは、従来の並進AMVPケースにおけるのと同様に、対称MVDに関するセクションのSMVDモードに従って、符号化される。次に、検討されるアフィンCUの他のCPMVのMVDは、アフィンAMVPケースにおいて現在行われるのと同様に、最初のCPMVのMVDに対して差分的に符号化される。対応する簡略化されたブロック図が、以下の図に示されている。
【0195】
さらなる変形に従うと、第2CPMV、および任意選択で、第3CPMVの差分MVDは、第1のCPMVのMVDに対して差分的に符号化されるが、対称モード制約の下でも符号化される。これは、第2および第3のCPMVのレートコストを低減することを可能にする。
【0196】
[実施形態14]:三角動きパーティションと組み合わされるSMVD
AMVPにおいて、三角パーティションが、使用される場合、対称MVDモードを、三角パーティションケースに拡張することができる。
【0197】
そのようなケースにおいて、実施形態においては、第1のおよび第2の三角パーティションの2つの単方向MVDは、互いに対称であることができる。
【0198】
[実施形態15]:多重仮説予測モードと組み合わされるSMVD
実施形態においては、マージモードに加えて、AMVPモードにおいて、多重仮説を使用することができる。そのケースにおいては、このインター/イントラ複合予測のインター成分が、双予測を使用しているケースにおいて、SMVDモードを、多重仮説予測モードと組み合わせて、使用することができる。
【0199】
[実施形態16]:平面動きモデルと組み合わされるSMVD
実施形態においては、平面動きモデルを、マージモードにおけるそれの現在の使用に加えて、AMVPモードにおいて、使用することができる。そのケースにおいては、現在のCUを取り囲む動きベクトルに対して、動き差を、使用および適用することができ、現在のCUの動き場を生成するために、使用することができる。
【0200】
さらに、SMVDモードを、このAMVP平面動きモデルケースと組み合わせて、使用することができる。そのケースにおいては、いくつかの対称双方向動きベクトル差を、現在のCUの平面MV場を生成するために使用される、現在のCUの周囲の動きベクトルに対して適用することができる。そのような実施形態は、実施形態5をカバーするセクションのそれと類似するが、AMVP+対称モードケース内にある。
【0201】
[実施形態17]:回帰ベースの動きモデルと組み合わされるSMVD
実施形態においては、回帰ベースの動きモデルを、マージモードにおけるそれの現在の使用に加えて、AMVPモードにおいて、使用することができる。そのケースにおいては、現在のCUを取り囲む動きベクトルに対して、動き差を、使用し、適用することができ、現在のCUの回帰ベースの動き場を生成するために、使用することができる。
【0202】
さらに、SMVDモードを、このAMVP回帰ベースの動きモデルケースと組み合わせて、使用することができる。そのケースにおいては、いくつかの対称双方向動きベクトル差を、現在のCUの回帰ベースのMV場を生成するために使用される、現在のCUの周囲の動きベクトルに対して適用することができる。そのような実施形態は、実施形態5をカバーするセクションのそれと類似するが、AMVP+対称モードケース内にある。
【0203】
[実施形態18]:ATMVP動きモデルと組み合わされるSMVD
AMVPおよびマージのせいで排他的
実施形態においては、ATMVP動きモデルを、マージモードにおけるそれの現在の使用に加えて、AMVPモードにおいて、使用することができる。そのケースにおいては、現在のCUのATMVP予測動きベクトルに含まれる動きベクトルに対して、動き差を、使用し、適用することができる。
【0204】
さらに、SMVDモードを、このAMVP ATMVP動きモデルケースと組み合わせて、使用することができる。そのケースにおいては、いくつかの対称双方向動きベクトル差を、現在のCUのために導出されたATMVP動きベクトルに対して適用することができる。そのような実施形態は、実施形態3をカバーするセクションのそれと類似するが、AMVP+ATMVPモードケース内にある。
【0205】
[実施形態19]:空間-時間動きベクトル予測(STMVP)と組み合わされるSMVD
VVCドラフト3など、現在のビデオ規格案においては、STMVP動きベクトルプレディクタ(STMVPに関するセクションを参照)は、マージケースにおいてだけ、提案されている。しかしながら、AMVPモードにおいて、STMVを可能にすることができる。そのケースにおいては、SMVDを、直接的な方法で、STMVP候補に対して適用することができる。
【0206】
しかしながら、SMVDは、STMVP候補を計算するために使用される、3つの空間および時間MVプレディクタのうちの1つだけに適用することもできる。
【0207】
実施形態に従うと、SMVDの動きベクトル差は、これら2つの空間動きベクトルプレディクタと、時間動きベクトルプレディクタとの間の、平均動きベクトルを計算する前に、1つまたは2つの空間動きベクトルプレディクタに対して適用される。
【0208】
実施形態に従うと、SMVDの動きベクトル差は、この時間MVプレディクタと、1つまたは2つの空間動きベクトルプレディクタとの間の、平均動きベクトルを計算する前に、時間動きベクトルプレディクタに対して適用される。
1.1.2.[実施形態20]:双方向動きベクトルの最終的な対に対称性を課すための変更されたSMVDモード。並進ケース
このセクションは、対称性制約が、動きベクトル差MVdに対してではなく、並進AMVPモードにおいてブロックを双方向予測するために使用される、最終的な動きベクトルに対して課されるように、SMVDモードが変更される、実施形態を提示する。実際、対称MVDをカバーするセクションにおいて説明されるように、SMVDにおいては、双方向MVの対の第1の動きベクトルのために、MVDが、符号化され、その後、第2の動きベクトルのMVDが、現在のピクチャとそれの参照ピクチャとの間の時間的距離の関数として、スケーリング可能な、反対MVDベクトルとして、第1のMVDから推測される。ここで、提案される実施形態においては、変更されたSMVDモードは、第1のベクトルのMVDが、既存のSMVDにおけるのと同様に符号化されるようなものである。次に、第1の動きベクトルが、MVプレディクタとデコードされた動きベクトル差の和として、再構築される。最後に、再構築された第2の動きベクトルが、現在のピクチャとそれの参照ピクチャとの間の時間的距離の関数として、スケーリング可能な、反対MVとして、再構築された第1の動きベクトルから推測される。
【0209】
このように、提案される新しいSMVDモードは、予測ブロックが、それの後方および前方の2つの参照ブロックと同じライン上にあることを保証する。この手法は、対称MVDをカバーするセクションの既存のSMVDと比較して、改善された符号化効率を提供することを期待される。
【0210】
[実施形態21]:最終的なアフィンモデルに対称性を課すための変更されたSMVDモード(回転、スケーリング/ズーム、および並進(translation))
実施形態に従うと、SMVDモードは、アフィンAMVPと組み合わせて、使用される。そのケースにおいては、対称性制約を、直接的な方法で、フィンMVDにも課すことができる。
【0211】
別の手法に従うと、MMVDとアフィンとの組み合わせに関連する、実施形態4に関するセクションの対応する特性と同様の方法で、対称性制約を、アフィンモデルパラメータ(角度およびスケーリングファクタ)に課すことができる。
【0212】
ここで説明された一般的な態様の下における、方法3500の一実施形態が、
図35に示されている。方法は、開始ブロック3501において開始し、制御は、ビデオビットストリーム内のシンタックスを通して、第1の動きモードを示すための、ブロック3510に進む。制御は、ブロック3510から、ビデオビットストリーム内のシンタックスの存在を通して、第2の動きモードの使用を示し、存在する場合、第2の動きモードに関連する情報を含むための、ブロック3520に進む。制御は、ブロック3520から、第1および第2の動きモードに対応する動き情報を使用して、ビデオブロックをエンコードするための、ブロック3530に進む。
【0213】
ここで説明された一般的な態様の下における、方法3600の別の実施形態が、
図36に示されている。方法は、開始ブロック3601において開始し、制御は、シンタックスが第1の動きモードを示すかについて、ビデオビットストリームを解析するための、ブロック3610に進む。制御は、ブロック3610から、シンタックスが第2の動きモードの存在を示すかについて、ビデオビットストリームを解析し、存在する場合、第2の動きモードに関連する情報を決定するための、ブロック3620に進む。制御は、ブロック3620から、第1の動きモードに対応する動き情報を獲得するための、ブロック3630に進む。制御は、ブロック3630から、動き情報を使用して、ブロックをデコードするための、ブロック3640に進む。
【0214】
図37は、近隣サンプル依存のパラメトリックモデルに基づいた、符号化モードの簡略化を使用して、ビデオデータをエンコード、デコード、圧縮、または圧縮解除するための、装置3700の一実施形態を示している。装置は、プロセッサ3710を備え、少なくとも1つのポートを通して、メモリ3720に相互接続することができる。プロセッサ3710およびメモリ3720は、ともに、外部接続への1つまたは複数の追加の相互接続を有することもできる。
【0215】
プロセッサ3710はまた、ビットストリーム内に情報を挿入する、またはビットストリーム内の情報を受け取るように、また説明される態様のいずれかを使用して、圧縮、エンコーディング、またはデコーディングを行うように構成される。
【0216】
本出願は、ツール、特徴、実施形態、モデル、手法などを含む、様々な態様を説明する。これらの態様の多くは、具体性をもって説明され、少なくとも、個々の特性を示すために、限定的に聞こえることがある方法で、しばしば説明される。しかしながら、これは、説明における明瞭性のためであり、それらの態様の適用または範囲を限定しない。実際、異なる態様のすべては、さらなる態様を提供するために、組み合わせること、および交換することができる。さらに、態様は、同様に、以前の出願において説明された態様とも、組み合わせること、および交換することができる。
【0217】
本出願において説明され、企図される態様は、多くの異なる形で実施することができる。
図3、
図4、および
図34は、いくつかの実施形態を提供するが、他の実施形態が、企図され、
図3、
図4、および
図34の説明は、実施形態の広さを限定しない。態様の少なくとも1つは、一般に、ビデオエンコーディングおよびデコーディングに関し、少なくとも1つの他の態様は、一般に、生成またはエンコードされたビットストリームを送信することに関する。これらおよび他の態様は、方法、装置、説明される方法のいずれかに従ってビデオデータをエンコードもしくはデコードするための命令をその上に記憶した、コンピュータ可読記憶媒体、および/または説明される方法のいずれかに従って生成されたビットストリームをその上に記憶した、コンピュータ可読記憶媒体として、実施することができる。
【0218】
本出願においては、「再構築された」、および「デコーディングされた」という用語は、交換可能に使用することができ、「ピクセル」、および「サンプル」という用語は、交換可能に使用することができ、「画像」、「ピクチャ」、および「フレーム」という用語は、交換可能に使用することができる。必ずではないが、通常は、「再構築された」という用語は、エンコーダ側で使用され、一方、「デコードされた」という用語は、デコーダ側で使用される。
【0219】
本明細書においては、様々な方法が、説明され、方法の各々は、説明される方法を達成するための、1つまたは複数のステップまたはアクションを含む。方法の適切な動作のために、ステップまたはアクションの特定の順序が、必要とされない限り、特定のステップおよび/またはアクションの順序および/または使用は、変更すること、または組み合わせることができる。
【0220】
本出願において説明される様々な方法および他の態様は、
図3および
図4に示されるような、ビデオエンコーダ100およびデコーダ200のモジュール、例えば、イントラ予測、エントロピ符号化、および/またはデコーディングモジュール(160、360、145、330)を変更するために、使用することができる。さらに、本態様は、VVCまたはHEVCに限定されず、例えば、既存のものか、それとも将来開発されるものかに関わらず、他の規格および勧告、ならびに(VVCおよびHEVCを含む)任意のそのような規格および勧告の拡張に対して適用することができる。別段の指摘がない限り、または技術的に除外されない限り、本出願において説明される態様は、個別にまたは組み合わせて、使用することができる。
【0221】
本出願においては、様々な数値が、使用される。特定の値は、例示のためであり、説明される態様は、これらの特定の値に限定されない。
【0222】
図3は、エンコーダ100を例示している。このエンコーダ100の変形が、企図されるが、エンコーダ100は、明瞭にするために、すべての予想される変形を説明することなく、以下で説明される。
【0223】
エンコードされる前に、ビデオシーケンスは、例えば、カラー変換を入力カラーピクチャに対して適用し(例えば、RGB 4:4:4からYCbCr 4:2:0への変換)、または(例えば、カラー成分の1つのヒストグラム均等化を使用して)圧縮に対してより回復力のある信号分布を取得するために、入力ピクチャ成分の再マッピングを実行する、プリエンコーディング処理(101)を通過することができる。メタデータは、前処理と関連付け、ビットストリームに添付することができる。
【0224】
エンコーダ100において、ピクチャは、以下で説明されるように、エンコーダ要素によってエンコードされる。エンコードされたピクチャは、パーティションされ(102)、例えば、CUの単位で、処理される。各ユニットは、例えば、イントラモードまたはインターモードのどちらかを使用して、エンコードされる。ユニットが、イントラモードでエンコードされるとき、それは、イントラ予測(160)を実行する。インターモードにおいては、動き推定(175)および補償(170)が、実行される。エンコーダは、ユニットをエンコードするために使用する、イントラモードまたはインターモードのどちらか一方を決定し(105)、例えば、予測モードフラグによって、イントラ/インター決定を示す。予測残差が、例えば、予測ブロックを元の画像ブロックから減算(110)することによって、計算される。
【0225】
その後、予測残差は、変換(125)され、量子化(130)される。量子化された変換係数、ならびに動きベクトルおよび他のシンタックス要素が、エントロピ符号化(145)されて、ビットストリームを出力する。エンコーダは、変換をスキップし、変換されていない残差信号に対して直接的に量子化を適用することができる。エンコーダは、変換および量子化の両方をバイパスすることができ、すなわち、残差は、変換または量子化プロセスの適用なしに、直接的に符号化される。
【0226】
エンコーダは、エンコードされたブロックをデコードして、さらなる予測のための参照を提供する。量子化された変換係数は、予測残差をデコードするために、逆量子化(140)および逆変換(150)される。デコードされた予測残差と予測ブロックとを組み合わせて(155)、画像ブロックが、再構築される。例えば、デブロッキング/SAO(サンプル適応オフセット)フィルタリングを実行して、エンコーディングアーチファクトを低減させるために、インループフィルタ(165)が、再構築されたピクチャに対して適用される。フィルタリングされた画像は、参照ピクチャバッファ(180)に記憶される。
【0227】
図4は、ビデオデコーダ200のブロック図を例示している。デコーダ200において、ビットストリームは、以下で説明されるように、デコーダ要素によってデコードされる。ビデオデコーダ200は、一般に、
図3において説明されるようなエンコーディングパスと相反的な、デコーディングパスを実行する。エンコーダ100も、一般に、ビデオデータをエンコードする一環として、ビデオデコーディングを実行する。
【0228】
特に、デコーダの入力は、ビデオエンコーダ100によって生成することができる、ビデオビットストリームを含む。ビットストリームは、最初に、エントロピデコード(230)されて、変換係数、動きベクトル、および他の符号化された情報を獲得する。ピクチャパーティション情報は、ピクチャがどのようにパーティションされるかを示す。したがって、デコーダは、デコードされたピクチャのパーティショニング情報に従って、ピクチャを分割する(235)ことができる。変換係数は、予測残差をデコードするために、逆量子化(240)および逆変換(250)される。デコードされた予測残差と予測ブロックとを組み合わせて(255)、画像ブロックが、再構築される。予測ブロックは、イントラ予測(260)または動き補償予測(すなわち、インター予測)(275)から、獲得する(270)ことができる。インループフィルタ(265)が、再構築された画像に対して適用される。フィルタリングされた画像は、参照ピクチャバッファ(280)に記憶される。
【0229】
デコードされたピクチャは、さらに、ポストデコーディング処理(285)、例えば、逆カラー変換(例えば、YCbCr 4:2:0からRGB 4:4:4への変換)、またはプリエンコーディング処理(101)において実行された再マッピングプロセスの逆を実行する逆再マッピングを通過することができる。ポストデコーディング処理は、プリエンコーディング処理において導出され、ビットストリームでシグナリングされた、メタデータを使用することができる。
【0230】
図34は、様々な態様および実施形態が実施されるシステムの例のブロック図を例示している。システム1000は、以下で説明される様々な構成要素を含むデバイスとして具体化することができ、本文書において説明される態様のうちの1つまたは複数を実行するように構成される。そのようなデバイスの例は、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビ受像機、パーソナルビデオ録画システム、接続された家電製品、およびサーバなど、様々な電子デバイスを含むが、それらに限定されない。システム1000の要素は、単独で、または組み合わせて、単一の集積回路(IC)、複数のIC、および/または個別の構成要素で具体化することができる。例えば、少なくとも1つの実施形態においては、システム1000の処理およびエンコーダ/デコーダ要素は、複数のICおよび/または個別の構成要素にわたって分散される。様々な実施形態においては、システム1000は、例えば、通信バスを介して、または専用入力および/もしくは出力ポートを通して、1つもしくは複数の他のシステムに、または他の電子デバイスに通信可能に結合される。様々な実施形態においては、システム1000は、本文書において説明される態様のうちの1つまたは複数を実施するように構成される。
【0231】
システム1000は、例えば、本文書において説明される様々な態様を実施するために、そこにロードされた命令を実行するように構成された、少なくとも1つのプロセッサ1010を含む。プロセッサ1010は、組み込みメモリ、入出力インターフェース、および当技術分野において知られた様々な他の回路を含むことができる。システム1000は、少なくとも1つのメモリ1020(例えば、揮発性メモリデバイス、および/または不揮発性メモリデバイス)を含む。システム1000は、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、リードオンリメモリ(ROM)、プログラマブルリードオンリメモリ(PROM)、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、フラッシュ、磁気ディスクドライブ、および/または光ディスクドライブを含むが、それらに限定されない、不揮発性メモリおよび/または揮発性メモリを含むことができる、ストレージデバイス1040を含む。ストレージデバイス1040は、非限定的な例として、内部ストレージデバイス、(取り外し可能および取り外し不能なストレージデバイスを含む)取り付けられたストレージデバイス、ならびに/またはネットワークアクセス可能なストレージデバイスを含むことができる。
【0232】
システム1000は、例えば、データを処理して、エンコードされたビデオまたはデコードされたビデオを提供するように構成された、エンコーダ/デコーダモジュール1030を含み、エンコーダ/デコーダモジュール1030は、独自のプロセッサおよびメモリを含むことができる。エンコーダ/デコーダモジュール1030は、エンコーディングおよび/またはデコーディング機能を実行するために、デバイスに含めることができる、モジュールを表す。知られているように、デバイスは、エンコーディングモジュールおよびデコーディングモジュールの一方または両方を含むことができる。加えて、エンコーダ/デコーダモジュール1030は、システム1000の別々の要素として実施することができ、または当業者に知られているように、ハードウェアおよびソフトウェアの組み合わせとして、プロセッサ1010内に組み込むことができる。
【0233】
本文書において説明される様々な態様を実行するために、プロセッサ1010またはエンコーダ/デコーダ1030上にロードされるプログラムコードは、ストレージデバイス1040内に記憶され、その後、プロセッサ1010による実行のために、メモリ1020上にロードすることができる。様々な実施形態に従うと、プロセッサ1010、メモリ1020、ストレージデバイス1040、およびエンコーダ/デコーダモジュール1030のうちの1つまたは複数は、本文書において説明されるプロセスの実行中に、様々なアイテムのうちの1つまたは複数を記憶することができる。そのような記憶されたアイテムは、入力ビデオ、デコードされたビデオまたはデコードされたビデオの一部、ビットストリーム、行列、変数、ならびに方程式、公式、演算、および演算論理の処理からの中間または最終結果を含むことができるが、それらに限定されない。
【0234】
いくつかの実施形態においては、プロセッサ1010および/またはエンコーダ/デコーダモジュール1030の内部のメモリは、命令を記憶し、エンコーディングまたはデコーディング中に必要とされる処理のための作業メモリを提供するために使用される。しかしながら、他の実施形態においては、処理デバイス(例えば、処理デバイスは、プロセッサ1010またはエンコーダ/デコーダモジュール1030のどちらかであることができる)の外部のメモリが、これらの機能のうちの1つまたは複数のために使用される。外部メモリは、メモリ1020および/またはストレージデバイス1040、例えば、動的揮発性メモリおよび/または不揮発性フラッシュメモリであることができる。いくつかの実施形態においては、外部不揮発性フラッシュメモリは、例えば、テレビのオペレーティングシステムを記憶するために使用される。少なくとも1つの実施形態においては、RAMなどの高速な外部動的揮発性メモリが、MPEG-2(MPEGとは、ムービングピクチャエキスパーツグループのことであり、MPEG-2は、ISO/IEC13818とも呼ばれ、13818-1は、H.222としても知られ、13818-2は、H.262としても知られる)、HEVC(HEVCとは、高効率ビデオ符号化のことであり、H.265およびMPEG-Hパート2としても知られる)、またはVVC(多用途ビデオ符号化、JVET、共同ビデオ専門家チームによって開発されている新しい規格)などのための、ビデオ符号化およびデコーディング演算のための作業メモリとして使用される。
【0235】
システム1000の要素への入力は、ブロック1130に示されるような、様々な入力デバイスを通して、提供することができる。そのような入力デバイスは、(i)例えば、放送局によって無線で送信された、RF信号を受信する無線周波(RF)部、(ii)コンポーネント(COMP)入力端子(もしくはCOMP入力端子のセット)、(iii)ユニバーサルシリアルバス(USB)入力端子、および/または(iv)高精細マルチメディアインターフェース(HDMI)入力端子を含むが、それらに限定されない。
図34に示されていない、他の例は、コンポジットビデオを含む。
【0236】
様々な実施形態においては、ブロック1130の入力デバイスは、当技術分野において知られるような、関連付けられたそれぞれの入力処理要素を有する。例えば、RF部は、(i)所望の周波数を選択し(信号を選択する、または信号を周波数の帯域に帯域制限するとも言われる)、(ii)選択された信号をダウンコンバートし、(iii)ある実施形態においてはチャネルと呼ぶことができる(例えば)信号周波数帯域を選択するために、周波数のより狭い帯域に再び帯域制限し、(iv)ダウンコンバートおよび帯域制限された信号を復調し、(v)誤り訂正を実行し、および(vi)データパケットの所望のストリームを選択するために逆多重化するのに適切な要素と関連付けることができる。様々な実施形態のRF部は、これらの機能を実行するための1つまたは複数の要素、例えば、周波数セレクタ、信号セレクタ、帯域リミッタ、チャネルセレクタ、フィルタ、ダウンコンバータ、復調器、誤り訂正器、およびデマルチプレクサを含む。RF部は、例えば、受信された信号を、より低い周波数(例えば、中間周波数もしくは近ベースバンド周波数)に、またはベースバンドにダウンコンバートすることを含む、様々なこれらの機能を実行する、チューナを含むことができる。セットトップボックスの一実施形態においては、RF部およびそれの関連付けられた入力処理要素は、有線(例えば、ケーブル)媒体上において送信されたRF信号を受信し、所望の周波数帯域にフィルタリングし、ダウンコンバートし、および再びフィルタリングすることによって、周波数選択を実行する。様々な実施形態は、上で説明された(および他の)要素の順序を再配置し、これらの要素のいくつかを削除し、および/または類似もしくは異なる機能を実行する他の要素を追加する。要素を追加することは、例えば、増幅器およびアナログ-デジタルコンバータを挿入することなど、既存の要素の間に要素を挿入することを含むことができる。様々な実施形態においては、RF部は、アンテナを含む。
【0237】
加えて、USBおよび/またはHDMI端子は、USBおよび/またはHDMI接続を介して、システム1000を他の電子デバイスに接続するための、それぞれのインターフェースプロセッサを含むことができる。入力処理の様々な態様、例えば、リード-ソロモン誤り訂正は、必要に応じて、例えば、別個の入力処理IC内において、またはプロセッサ1010内において実施することができることを理解されたい。同様に、USBまたはHDMIインターフェース処理の態様は、必要に応じて、別個のインターフェースIC内において、またはプロセッサ1010内において実施することができる。復調され、誤り訂正され、逆多重化されたストリームは、出力デバイス上における提示用に、必要に応じて、データストリームを処理するために、メモリおよびストレージ要素と組み合わされて動作する、例えば、プロセッサ1010、およびエンコーダ/デコーダ1030を含む、様々な処理要素に提供される。
【0238】
システム1000の様々な要素は、統合ハウジング内において提供することができる。統合ハウジング内においては、様々な要素は、相互接続され、適切な接続構成、例えば、インターIC(I2C)バス、配線、およびプリント回路基板を含む、当技術分野において知られた内部バスを使用して、それらの間でデータを送信することができる。
【0239】
システム1000は、通信チャネル1060を介した他のデバイスとの通信を可能にする、通信インターフェース1050を含む。通信インターフェース1050は、通信チャネル1060上においてデータを送信および受信するように構成された、送受信機を含むことができるが、それに限定されない。通信インターフェース1050は、モデムまたはネットワークカードを含むことができるが、それらに限定されず、通信チャネル1060は、例えば、有線および/または無線媒体内において実施することができる。
【0240】
様々な実施形態においては、データは、Wi-Fiネットワーク、例えば、IEEE802.11(IEEEとは、電気電子技術者協会のことである)などの無線ネットワークを使用して、システム1000にストリーミング、または他の方法で提供される。これらの実施形態のWi-Fi信号は、Wi-Fi通信のために適合された、通信チャネル1060および通信インターフェース1050上において受信される。これらの実施形態の通信チャネル1060は、典型的には、ストリーミングアプリケーションおよび他のオーバザトップ通信を可能にするための、インターネットを含む外部ネットワークへのアクセスを提供する、アクセスポイントまたはルータに接続される。他の実施形態は、入力ブロック1130のHDMI接続上においてデータを配信する、セットトップボックスを使用して、ストリーミングされるデータをシステム1000に提供する。さらに他の実施形態は、入力ブロック1130のRF接続を使用して、ストリーミングされるデータをシステム1000に提供する。上で示されたように、様々な実施形態は、非ストリーム方式で、データを提供する。加えて、様々な実施形態は、Wi-Fi以外の無線ネットワーク、例えば、セルラネットワークまたはBluetoothネットワークを使用する。
【0241】
システム1000は、出力信号を、ディスプレイ1100、スピーカ1110、および他の周辺デバイス1120を含む、様々な出力デバイスに提供することができる。様々な実施形態のディスプレイ1100は、例えば、タッチスクリーンディスプレイ、有機発光ダイオード(OLED)ディスプレイ、曲面ディスプレイ、および/または折り畳み式ディスプレイのうちの1つまたは複数を含む。ディスプレイ1100は、テレビ、タブレット、ラップトップ、セルフォン(モバイルフォン)、または他のデバイス用であることができる。ディスプレイ1100は、また、(例えば、スマートフォンにおけるように)他のコンポーネントと統合することができ、または分離していることができる(例えば、ラップトップ用の外部モニタ)。実施形態の様々な例においては、他の周辺デバイス1120は、スタンドアロンのデジタルビデオディスク(もしくはデジタル多用途ディスク)(どちらの用語についても、DVR)、ディスクプレーヤ、ステレオシステム、および/または照明システムのうちの1つまたは複数を含む。様々な実施形態は、システム1000の出力に基づいた機能を提供する、1つまたは複数の周辺デバイス1120を使用する。例えば、ディスクプレーヤは、システム1000の出力を再生する機能を実行する。
【0242】
様々な実施形態においては、AV.Link、家電制御(CEC)、またはユーザ介入ありもしくはなしのデバイス間制御を可能にする他の通信プロトコルなどのシグナリングを使用して、制御信号が、システム1000と、ディスプレイ1100、スピーカ1110、または他の周辺デバイス1120との間でシグナリングされる。出力デバイスは、それぞれのインターフェース1070、1080、および1090を通した専用接続を介して、システム1000に通信可能に結合することができる。あるいは、出力デバイスは、通信インターフェース1050を介して、通信チャネル1060を使用して、システム1000に接続することができる。ディスプレイ1100およびスピーカ1110は、電子デバイス、例えば、テレビなどにおいて、システム1000の他の構成要素とともに、単一のユニット内に統合することができる。様々な実施形態においては、ディスプレイインターフェース1070は、例えば、タイミングコントローラ(T Con)チップなど、ディスプレイドライバを含む。
【0243】
例えば、入力1130のRF部が、別個のセットトップボックスの一部である場合、ディスプレイ1100およびスピーカ1110は、代替として、他の構成要素のうちの1つまたは複数から分離していることができる。ディスプレイ1100およびスピーカ1110が外部コンポーネントである、様々な実施形態においては、出力信号は、例えば、HDMIポート、USBポート、またはCOMP出力を含む、専用出力接続を介して、提供することができる。
【0244】
実施形態は、プロセッサ1010によって実施されるコンピュータソフトウェアによって、もしくはハードウェアによって、またはハードウェアおよびソフトウェアの組み合わせによって、実行することができる。非限定的な例として、実施形態は、1つまたは複数の集積回路によって実施することができる。メモリ1020は、技術環境に対して適切な任意のタイプであることができ、非限定的な例として、光メモリデバイス、磁気メモリデバイス、半導体ベースのメモリデバイス、固定メモリ、およびリムーバブルメモリなどの、任意の適切なデータストレージ技術を使用して、実施することができる。プロセッサ1010は、技術環境に対して適切な任意のタイプであることができ、非限定的な例として、マイクロプロセッサ、汎用コンピュータ、専用コンピュータ、およびマルチコアアーキテクチャに基づいたプロセッサのうちの1つまたは複数を包含することができる。
【0245】
様々な実施は、デコーディングを含む。本出願において使用される場合、「デコーディング」は、表示に適した最終出力を生成するために、例えば、受信されたエンコードされたシーケンスに対して実行される、プロセスのすべてまたは一部を包含することができる。様々な実施形態においては、そのようなプロセスは、典型的にはデコーダによって実行されるプロセス、例えば、エントロピデコーディング、逆量子化、逆変換、および差分デコーディングのうちの1つまたは複数を含む。様々な実施形態においては、そのようなプロセスは、本出願において説明される様々な実施のデコーダによって実行されるプロセスも含み、または代替として、それを含む。
【0246】
さらなる例として、一実施形態においては、「デコーディング」とは、エントロピデコーディングだけのことであり、別の実施形態においては、「デコーディング」とは、差分デコーディングだけのことであり、別の実施形態においては、「デコーディング」とは、エントロピデコーディングおよび差分デコーディングの組み合わせのことである。「デコーディングプロセス」という語句が、特定的に操作のサブセットを指すことを意図しているか、それとも一般的により広いデコーディングプロセスを指すことを意図しているかは、具体的な説明の文脈に基づいて明らかであり、当業者によく理解されると信じられる。
【0247】
様々な実施は、エンコーディングを含む。「デコーディング」についての上述の説明と同様に、本出願において使用される場合、「エンコーディング」は、エンコードされたビットストリームを生成するために、例えば、入力ビデオシーケンスに対して実行される、プロセスのすべてまたは一部を包含することができる。様々な実施形態においては、そのようなプロセスは、典型的にはエンコーダによって実行されるプロセス、例えば、パーティショニング、差分エンコーディング、変換、量子化、およびエントロピエンコーディングのうちの1つまたは複数を含む。様々な実施形態においては、そのようなプロセスは、本出願において説明される様々な実施のエンコーダによって実行されるプロセスも含み、または代替として、それを含む。
【0248】
さらなる例として、一実施形態においては、「エンコーディング」とは、エントロピエンコーディングだけのことであり、別の実施形態においては、「エンコーディング」とは、差分エンコーディングだけのことであり、別の実施形態においては、「エンコーディング」とは、差分エンコーディングおよびエントロピエンコーディングの組み合わせのことである。「エンコーディングプロセス」という語句が、特定的に操作のサブセットを指すことを意図しているか、それとも一般的により広いエンコーディングプロセスを指すことを意図しているかは、具体的な説明の文脈に基づいて明らかであり、当業者によく理解されると信じられる。
【0249】
シンタックス要素は、本明細書において使用される場合、記述用語であることに留意されたい。そのため、それらは、他のシンタックス要素名の使用を排除しない。
【0250】
図が、フロー図として提示されるとき、それは、対応する装置のブロック図も提供することを理解されたい。同様に、図が、ブロック図として提示されるとき、それは、対応する方法/プロセスのフロー図も提供することを理解されたい。
【0251】
様々な実施形態は、パラメトリックモデルまたはレート歪み最適化に言及することがある。特に、エンコーディングプロセス中、通常、レートと歪みのバランスまたはトレードオフが、しばしば計算複雑さの制約を与えられて、考慮される。それは、レート歪み最適化(RDO)メトリックを通して、または最小平均2乗(LMS)、絶対誤差平均(MAE)、もしくは他のそのような測定を通して、測定することができる。レート歪み最適化は、通常、レートと歪みの加重和である、レート歪み関数を最小化することとして定式化される。レート歪み最適化問題を解決するための異なる手法が、存在する。例えば、手法は、すべての検討されるモードまたは符号化パラメータ値を含む、すべてのエンコーディングオプションの、それらの符号化コストならびに符号化およびデコーディング後の再構築された信号の関連する歪みの完全な評価を伴った、広範なテストに基づくことができる。エンコーディング複雑さを省くために、特に、再構築されたものではなく、予測または予測残差信号に基づいた、近似された歪みの計算を用いる、より高速な手法を使用することもできる。可能なエンコーディングオプションのいくつかだけに対しては近似された歪みを使用し、他のエンコーディングオプションに対しては完全な歪みを使用することなどによって、これら2つの手法の混合を使用することもできる。他の手法は、可能なエンコーディングオプションのサブセットだけを評価する。より一般には、多くの手法は、様々な技法のいずれかを利用して、最適化を実行するが、最適化は、必ずしも、符号化コストおよび関連する歪みの両方の完全な評価ではない。
【0252】
本明細書において説明される実施および態様は、例えば、方法もしくはプロセス、装置、ソフトウェアプログラム、データストリーム、または信号で実施することができる。実施の単一の形態との関連においてのみ説明された(例えば、方法としてのみ説明された)場合であっても、説明された特徴の実施は、他の形態(例えば、装置またはプログラム)でも実施することができる。装置は、例えば、適切なハードウェア、ソフトウェア、およびファームウェアで実施することができる。方法は、例えば、一般に処理デバイスを指す、例えば、コンピュータ、マイクロプロセッサ、集積回路、またはプログラマブル論理デバイスを含む、プロセッサで実施することができる。プロセッサは、例えば、コンピュータ、セルフォン、ポータブル/パーソナルデジタルアシスタント(「PDA」)、およびエンドユーザ間の情報の伝達を容易にする他のデバイスなどの、通信デバイスも含む。
【0253】
「一実施形態」もしくは「実施形態」、または「一実施」もしくは「実施」、およびそれらの他の変形に対する言及は、実施形態との関連において説明される特定の特徴、構造、および特性などが、少なくとも1つの実施形態に含まれることを意味する。したがって、本出願全体の様々な場所に現れる、「一実施形態において」もしくは「実施形態において」という語句、または「一実施において」もしくは「実施において」という語句、および他の任意の変形の出現は、すべてが、必ずしも同じ実施形態に言及しているとは限らない。
【0254】
加えて、本出願は、様々な情報を「決定する」ことに言及することがある。情報を決定することは、例えば、情報を推定すること、情報を計算すること、情報を予測すること、またはメモリから情報を取り出すことのうちの1つまたは複数を含むことができる。
【0255】
さらに、本出願は、様々な情報に「アクセスする」ことに言及することがある。情報にアクセスすることは、例えば、情報を受信すること、(例えば、メモリから)情報を取り出すこと、情報を記憶すること、情報を移動すること、情報をコピーすること、情報を計算すること、情報を決定すること、情報を予測すること、または情報を推定することのうちの1つまたは複数を含むことができる。
【0256】
加えて、本出願は、様々な情報を「受信する」ことに言及することがある。受信することは、「アクセスする」ことと同様、広義の用語であることが意図されている。情報を受信することは、例えば、情報にアクセスすること、または(例えば、メモリから)情報を取り出すことのうちの1つまたは複数を含むことができる。さらに、「受信する」ことは、一般に、例えば、情報を記憶すること、情報を処理すること、情報を送信すること、情報を移動すること、情報をコピーすること、情報を消去すること、情報を計算すること、情報を決定すること、情報を予測すること、または情報を推定することなどの操作中に、様々な方法で含まれる。
【0257】
例えば、「A/B」、「Aおよび/またはB」、および「AおよびBの少なくとも一方」のケースにおける、以下の「/」、「および/または」、および「少なくとも一方」のいずれかの使用は、第1の列挙された選択肢(A)だけの選択、または第2の列挙された選択肢(B)だけの選択、または両方の選択肢(AおよびB)の選択を包含することが意図されていることを理解されたい。さらなる例として、「A、B、および/またはC」、および「A、B、およびCのうちの少なくとも1つ」のケースにおいては、そのような言い回しは、第1の列挙された選択肢(A)だけの選択、または第2の列挙された選択肢(B)だけの選択、または第3の列挙された選択肢(C)だけの選択、または第1および第2の列挙された選択肢(AおよびB)だけの選択、または第1および第3の列挙された選択肢(AおよびC)だけの選択、または第2および第3の列挙された選択肢(BおよびC)だけの選択、または3つの選択肢すべて(AおよびBおよびC)の選択を包含することが意図されている。これは、当業者および関連技術分野の技術者に明らかなように、列挙されたアイテムの数だけ拡張することができる。
【0258】
また、本明細書において使用される場合、「signal(シグナリングする)」という語は、とりわけ、対応するデコーダに何かを示すことを指す。例えば、ある実施形態においては、エンコーダは、複数の変換、符号化モード、またはフラグのうちの特定の1つをシグナリングする。このように、実施形態においては、同じ変換、パラメータ、またはモードが、エンコーダ側およびデコーダ側の両方において使用される。したがって、例えば、エンコーダは、デコーダが、同じ特定のパラメータを使用することができるように、特定のパラメータをデコーダに送信することができる(明示的なシグナリング)。逆に、デコーダが、特定のパラメータその他をすでに有する場合、送信せずに、シグナリングを使用して、単にデコーダが特定のパラメータを知り、選択することを可能にすることができる(暗黙のシグナリング)。いずれかの実際の機能の送信を回避することによって、様々な実施形態において、ビット節約が、実現される。シグナリングは、様々な方法で達成することができることを理解されたい。例えば、様々な実施形態においては、情報を対応するデコーダにシグナリングするために、1つまたは複数のシンタックス要素、およびフラグなどが、使用される。上述のことは、「signal」という語の動詞形に関するが、「signal(信号)」という語は、本明細書において、名詞として使用することもできる。
【0259】
当業者に明らかであるように、実施は、例えば、記憶または送信することができる情報を搬送するようにフォーマットされた、様々な信号を生成することができる。情報は、例えば、方法を実行するための命令、または説明された実施のうちの1つによって生成されたデータを含むことができる。例えば、信号は、説明された実施形態のビットストリームを搬送するようにフォーマットすることができる。そのような信号は、例えば、(例えば、スペクトルの無線周波数部分を使用する)電磁波として、またはベースバンド信号として、フォーマットすることができる。フォーマッティングは、例えば、データストリームをエンコードすること、およびエンコードされたデータストリームを用いてキャリアを変調することを含むことができる。信号が搬送する情報は、例えば、アナログ情報、またはデジタル情報であることができる。信号は、知られているように、様々な異なる有線または無線リンク上において送信することができる。信号は、プロセッサ可読媒体上に記憶することができる。
【0260】
我々は、様々な請求項カテゴリおよびタイプにわたる、数々の実施形態を説明した。これらの実施形態の特徴は、単独または任意の組み合わせで、提供することができる。さらに、実施形態は、様々な請求項カテゴリおよびタイプにわたる、以下の特徴、デバイス、または態様のうちの1つまたは複数を、単独または任意の組み合わせで、含むことができる。
●アフィン動きモデルとともに、MMVDおよび/またはSMVDを使用する、プロセスまたはデバイス。
●代替時間動きベクトル予測とともに、MMVDおよび/またはSMVDを使用する、プロセスまたはデバイス。
●双方向オプティカルフローとともに、MMVDおよび/またはSMVDを使用する、プロセスまたはデバイス。
●現在のピクチャへの動きベクトル参照とともに、MMVDおよび/またはSMVDを使用する、プロセスまたはデバイス。
●一般化された双予測とともに、MMVDおよび/またはSMVDを使用する、プロセスまたはデバイス。
●局所照明補償とともに、MMVDおよび/またはSMVDを使用する、プロセスまたはデバイス。
●多重仮説マージ/イントラ組み合わせモードとともに、MMVDおよび/またはSMVDを使用する、プロセスまたはデバイス。
●MVDを伴うマージ、または究極的MV表現(Ultimate MV Expression)とともに、MMVDおよび/またはSMVDを使用する、プロセスまたはデバイス。
●回帰モデルに基づいたサブブロックごとの動きベクトル場とともに、MMVDおよび/またはSMVDを使用する、プロセスまたはデバイス。
●双予測で符号化された、対称MVD、ただ1つのMVDとともに、MMVDおよび/またはSMVDを使用する、プロセスまたはデバイス。
●三角パーティションとともに、MMVDおよび/またはSMVDを使用する、プロセスまたはデバイス。
●MMVDと双予測とを組み合わせる、プロセスまたはデバイス。
●MMVDとCPRとを組み合わせる、プロセスまたはデバイス。
●MMVDとATMVPとを組み合わせる、プロセスまたはデバイス。
●MMVDとアフィンモードとを組み合わせる、プロセスまたはデバイス。
●MMVDと平面動きベクトル予測とを組み合わせる、プロセスまたはデバイス。
●MMVDと回帰ベースの動きベクトル場とを組み合わせる、プロセスまたはデバイス。
●MMVDをGBIと組み合わせる、プロセスまたはデバイス。
●MMVDと空間-時間動きベクトル予測とを組み合わせる、プロセスまたはデバイス。
●AMVPモードにおいて、SMVDをMMVDによって置き換える、プロセスまたはデバイス。
●SMVDをアフィン動きモデルと組み合わせる、プロセスまたはデバイス。
●SMVDを平面動きモデルと組み合わせる、プロセスまたはデバイス。
●SMVDを回帰ベースの動きモデルと組み合わせる、プロセスまたはデバイス。
●SMVDをATMVP動きモデルと組み合わせる、プロセスまたはデバイス。
●SMVDを空間-時間動きベクトル予測と組み合わせる、プロセスまたはデバイス。
●並進ケースにおいて、双方向動きベクトルに対称性を課すように、SMVDモードを変更する、プロセスまたはデバイス。
●回転、スケーリング、ズーミング、または並進を含む、最終的なアフィンモデルに対称性を課すように、SMVDモードを変更する、プロセスまたはデバイス。
●説明されたシンタックス要素またはそれの変形のうちの1つまたは複数を含む、ビットストリームまたは信号。
●説明された実施形態のいずれかに従って生成された情報をシグナリングするシンタックスを含む、ビットストリームまたは信号。
●説明された実施形態のいずれかに従った、作成および/または送信および/または受信および/またはデコーディング。
●説明された実施形態のいずれかに従った、方法、プロセス、装置、命令を記憶する媒体、データを記憶する媒体、または信号。
●エンコーダによって使用されたものに対応する方法で、デコーダが符号化モードを決定することを可能にするシンタックス要素の、シグナリングへの挿入。
●説明されたシンタックス要素またはそれの変形のうちの1つまたは複数を含む、ビットストリームまたは信号の、作成および/または送信および/または受信および/またはデコーディング。
●説明された実施形態のいずれかに従った、変換方法を実行する、テレビ、セットトップボックス、セルフォン、タブレット、または他の電子デバイス。
●説明された実施形態のいずれかに従った、変換方法決定を実行し、結果の画像を(例えば、モニタ、スクリーン、または他のタイプのディスプレイを使用して)表示する、テレビ、セットトップボックス、セルフォン、タブレット、または他の電子デバイス。
●エンコードされた画像を含む信号を受信するために、チャネルを選択、帯域制限、または(例えば、チューナを使用して)調整し、説明された実施形態のいずれかに従った、変換方法を実行する、テレビ、セットトップボックス、セルフォン、タブレット、または他の電子デバイス。
●エンコードされた画像を含む信号を、無線で(例えば、アンテナを使用して)受信し、変換方法を実行する、テレビ、セットトップボックス、セルフォン、タブレット、または他の電子デバイス。