(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-15
(45)【発行日】2022-08-23
(54)【発明の名称】映像符号化における動きマージモードのシグナリングのためのシステム、方法および非一時的コンピュータ可読記憶媒体
(51)【国際特許分類】
H04N 19/70 20140101AFI20220816BHJP
H04N 19/52 20140101ALI20220816BHJP
【FI】
H04N19/70
H04N19/52
(21)【出願番号】P 2021538770
(86)(22)【出願日】2019-12-30
(86)【国際出願番号】 US2019068977
(87)【国際公開番号】W WO2020142448
(87)【国際公開日】2020-07-09
【審査請求日】2021-06-30
(32)【優先日】2018-12-31
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
【前置審査】
(73)【特許権者】
【識別番号】521289098
【氏名又は名称】ベイジン ダジア インターネット インフォメーション テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】BEIJING DAJIA INTERNET INFORMATION TECHNOLOGY CO., LTD.
【住所又は居所原語表記】Room 101D1-7,1st Floor,Building 1,No.6,Shangdi West Road,Haidian District,Beijing 100085,P.R.China
(74)【代理人】
【識別番号】100112656
【氏名又は名称】宮田 英毅
(74)【代理人】
【識別番号】100089118
【氏名又は名称】酒井 宏明
(72)【発明者】
【氏名】チェン,イーウェン
(72)【発明者】
【氏名】ワン,シャンリン
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2020/123998(WO,A1)
【文献】国際公開第2020/117619(WO,A1)
【文献】Seungsoo Jeong, et al.,CE4 Ultimate motion vector expression (Test 4.5.4),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-L0054,12th Meeting: Macao, CN,2018年10月,pp.1-6
【文献】Benjamin Bross, Jianle Chen, and Shan Liu,Versatile Video Coding (Draft 3),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-L1001-v7 (version 11),12th Meeting: Macao, CN,2018年12月20日,pp.34-38, 61-65
【文献】Eiichi Sasaki, Takeshi Chujoh, and Tomohiro Ikai,Non-CE4: Syntax change of MMVD,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M0069,13th Meeting: Marrakech, MA,2018年12月28日,pp.1-6
【文献】Yi-Wen Chen, and Xianglin Wang,Non-CE4: Regular merge flag coding,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M0231,13th Meeting: Marrakech, MA,2019年01月,pp.1-3
【文献】Han Huang, et al,Non-CE4: Merge Modes Signaling ,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-O0249,15th Meeting: Gothenburg, SE,2019年07月,pp.1-10
【文献】Benjamin Bross, Jianle Chen, and Shan Liu,Versatile Video Coding (Draft 6),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-O2001-vE (version 14),15th Meeting: Gothenburg, SE,2019年07月31日,pp.71,146-148
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
コンピュータが動きマージ処理を実行する方法であって、
マージモードおよびマージ関連モードとして符号化されている符号化ユニット(Coding Unit:CU)に対する通常のマージフラグをデコーダから取得することと、
前記通常のマージフラグが1の場合、通常のマージモードまたは差分動きベクトルマージモード(Merge mode with Motion Vector Difference:MMVD)が、前記CUによって使用されることを示し、前記CUに対する
単一のマージリストを構
築することと、
前記通常のマージフラグが0の場合、前記通常のマージモードが前記CUによって使用されないことを示し、さらにモードフラグの制約条件が満たされるときに使用される付随するマージ関連モードを示すモードフラグを受信することと、
を含
み、
前記単一のマージリストは、どの候補が使用されるかを示す通常のマージインデックスによって選択される通常の動きベクトル候補とMMVD動きベクトル候補とを含み、
前記単一のマージリストは、前記通常のマージモードと前記MMVDとの両方に対して構築される、方法。
【請求項2】
MMVDフラグが1に等しい場合、前記デコーダによって、MMVDマージフラグ、MMVD距離インデックス、およびMMVD方向インデックスを受信すること、をさらに含む、請求項1に記載の方法。
【請求項3】
サブブロックフラグを受信することをさらに含み、
前記サブブロックフラグの制約条件は、
デコーダから幅および高さを有する符号化ブロックを取得することと、
前記デコーダによって、サブブロックベースマージングMVP候補(MaxNumSubblockMergeCand)の最大数が、0より大きいかどうかを判定することと、
前記デコーダによって、符号化ブロック幅が8以上かどうかを判定することと、
前記デコーダによって、符号化ブロック高さが8以上かどうかを判定することと、
を含む、請求項1に記載の方法。
【請求項4】
前記モードフラグは、組み合わせインターおよびイントラ予測(Combined Inter and Intra Prediction:CIIP)フラグであり、前記CIIPの制約条件は、
デコーダから幅および高さを有する符号化ブロックを取得することと、
前記デコーダによって、sps_mh_intra_enabled_flagが設定されているかどうかを判定することと、
前記デコーダによって、cu_skip_flagが0に等しいかどうかを判定することと、
前記デコーダによって、前記符号化ブロック幅かける前記符号化ブロック高さが64以上であるかどうかを判定することと、
前記デコーダによって、符号化ブロック幅が128未満であるかどうかを判定することと、
前記デコーダによって、符号化ブロック高さが128未満であるかどうかを判定することと、
を含む、請求項1に記載の方法。
【請求項5】
前記モードフラグの制約条件が満たされるときに前記デコーダによって前記モードフラグを受信する前に、前記デコーダによって、通常のマージフラグを受信すること、をさらに含む、請求項1に記載の方法。
【請求項6】
差分動きベクトルマージモード(MMVD)フラグの制約条件が満たされるときに前記デコーダによって前記差分動きベクトルマージモード(MMVD)フラグを受信する前に、前記デコーダによって、通常のマージフラグを受信すること、をさらに含む、請求項5に記載の方法。
【請求項7】
インターおよびイントラ予測(CIIP)フラグの制約条件が満たされるときに前記デコーダによって前記インターおよびイントラ予測(CIIP)フラグを受信する前に、前記デコーダによって、通常のマージフラグを受信すること、をさらに含む、請求項5に記載の方法。
【請求項8】
モードフラグの制約条件が満たされるときに前記デコーダによって前記モードフラグを受信した後に、前記デコーダによって、通常のマージフラグを受信すること、をさらに含む、請求項1に記載の方法。
【請求項9】
サブブロックマージモードフラグの制約条件が満たされるときに前記デコーダによって前記サブブロックマージモードフラグを受信した後に、前記デコーダによって、通常のマージフラグを受信すること、をさらに含む、請求項8に記載の方法。
【請求項10】
複数のコンテキストモデルを用いるコンテキスト適応型2値算術符号化(Context-Adaptive Binary Arithmetic Coding:CABAC)を使用した前記通常のマージフラグを前記デコーダによって受信すること、をさらに含み、前記コンテキストモデルの選択は、符号化された情報に基づく、請求項1に記載の方法。
【請求項11】
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行可能な命令を記憶している非一時的コンピュータ可読メモリと、を備えるコンピューティングデバイスであって、
前記1つまたは複数のプロセッサは、
マージモードおよびマージ関連モードとして符号化されている符号化ユニット(CU)に対する通常のマージフラグをデコーダから取得し、
前記通常のマージフラグが1の場合、通常のマージモードまたは差分動きベクトルマージモード(MMVD)が、前記CUによって使用されることを示し、前記CUに対する
単一のマージリストを構築
し、
前記通常のマージフラグが0の場合、前記通常のマージモードが前記CUによって使用されないことを示し、さらにモードフラグの制約条件が満たされるときに使用される付随するマージ関連モードを示すモードフラグを受信する、
ように構成さ
れ、
前記単一のマージリストは、どの候補が使用されるかを示す通常のマージインデックスによって選択される通常の動きベクトル候補とMMVD動きベクトル候補とを含み、
前記単一のマージリストは、前記通常のマージモードと前記MMVDとの両方に対して構築される、コンピューティングデバイス。
【請求項12】
前記1つまたは複数のプロセッサは、MMVDフラグが1に等しい場合の、前記デコーダによる、MMVDマージフラグ、MMVD距離インデックス、およびMMVD方向インデックスの受信、を実行する、請求項11に記載のコンピューティングデバイス。
【請求項13】
前記1つまたは複数のプロセッサは、サブブロックフラグを受信するようにさらに構成され、前記サブブロックフラグの制約条件は、
デコーダからの幅および高さを有する符号化ブロックの取得と、
前記デコーダによる、サブブロックベースマージングMVP候補(MaxNumSubblockMergeCand)の最大数が、0より大きいかどうかの判定と、
前記デコーダによる、符号化ブロック幅が8以上かどうかの判定と、
前記デコーダによる、符号化ブロック高さが8以上かどうかの判定と、
を含む、請求項11に記載のコンピューティングデバイス。
【請求項14】
前記モードフラグは、組み合わせインターおよびイントラ予測(CIIP)フラグであり、
前記CIIPの制約条件は、
デコーダからの幅および高さを有する符号化ブロックの取得と、
前記デコーダによる、sps_mh_intra_enabled_flagが設定されているかどうかの判定と、
前記デコーダによる、cu_skip_flagが0に等しいかどうかの判定と、
前記デコーダによる、前記符号化ブロック幅かける前記符号化ブロック高さが64以上であるかどうかの判定と、
前記デコーダによる、符号化ブロック幅が128未満であるかどうかの判定と、
前記デコーダによる、符号化ブロック高さが128未満であるかどうかの判定と、
を含む、請求項11に記載のコンピューティングデバイス。
【請求項15】
前記1つまたは複数のプロセッサは、前記モードフラグの制約条件が満たされるときに前記デコーダによって前記モードフラグをシグナリングする前の、前記デコーダによる通常のマージフラグのシグナリング、を実行する、請求項11に記載のコンピューティングデバイス。
【請求項16】
前記1つまたは複数のプロセッサは、インターおよびイントラ予測(CIIP)フラグの制約条件が満たされるときに前記デコーダによって前記インターおよびイントラ予測(CIIP)フラグをシグナリングする前の、前記デコーダによる、通常のマージフラグのシグナリング、を実行する、請求項15に記載のコンピューティングデバイス。
【請求項17】
前記1つまたは複数のプロセッサは、モードフラグの制約条件が満たされるときに前記デコーダによって前記モードフラグを受信した後の、前記デコーダによる、通常のマージフラグの受信、をさらに含む、請求項11に記載のコンピューティングデバイス。
【請求項18】
前記1つまたは複数のプロセッサは、サブブロックマージモードフラグの制約条件が満たされるときに前記デコーダによって前記サブブロックマージモードフラグを受信した後の、前記デコーダによる、通常のマージフラグの受信、を実行する、請求項17に記載のコンピューティングデバイス。
【請求項19】
前記1つまたは複数のプロセッサは、複数のコンテキストモデルを用いるコンテキスト適応型2値算術符号化(CABAC)を使用した前記通常のマージフラグの前記デコーダによる受信、を実行し、
前記コンテキストモデルの選択は、符号化された情報に基づく、請求項11に記載のコンピューティングデバイス。
【請求項20】
1つまたは複数のプロセッサを有するコンピューティングデバイスによって実行される複数のプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、
前記複数のプログラムは、前記1つまたは複数のプロセッサによって実行されると、前記コンピューティングデバイスに、
マージモードおよびマージ関連モードとして符号化されている符号化ユニット(CU)に対する通常のマージフラグをデコーダから取得することと、
前記通常のマージフラグが1の場合、通常のマージモードまたは差分動きベクトルマージモード(MMVD)が、前記CUによって使用されることを示し、前記CUに対する
単一のマージリストを構
築することと、
前記通常のマージフラグが0の場合、前記通常のマージモードが前記CUによって使用されないことを示し、さらにモードフラグの制約条件が満たされるときに使用される付随するマージ関連モードを示すモードフラグを受信することと、
を含む操作を実施さ
せ、
前記単一のマージリストは、どの候補が使用されるかを示す通常のマージインデックスによって選択される通常の動きベクトル候補とMMVD動きベクトル候補とを含み、
前記単一のマージリストは、前記通常のマージモードと前記MMVDとの両方に対して構築される、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2018年12月31日に出願の仮出願番号第62/787,230号に基づき、かつその利益を主張し、その全内容は参照により本明細書に援用される。
【0002】
本出願は、映像符号化および圧縮に関する。より具体的には、本出願は、映像符号化の動きマージモードのシグナリングのためのシステムおよび方法に関する。
【背景技術】
【0003】
種々の映像符号化技法が、映像データを圧縮するために使用される場合がある。映像符号化は、1つまたは複数の映像符号化規格に従って実施される。例えば、映像符号化規格には、汎用映像符号化(Versatile Video Coding:VVC)、ジョイント探索テストモデル(Joint Exploration test Model:JEM)、高性能映像符号化(H.265/High-Efficiency Video Coding:HEVC)、高度映像符号化(H.264/Advanced Video Coding:AVC)、動画専門家集団(Moving Picture Experts Group:MPEG)符号化などが含まれる。映像符号化は、一般に、映像画像またはシーケンスに存在する冗長性を活用する予測方法(例えば、インター予測、イントラ予測など)を利用する。映像符号化技法の重要な目的は、映像品質の低下を回避するかまたは最小化するのと共に、より低いビットレートを使用する形式に映像データを圧縮することである。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示の例は、マージ関連モードのシンタックスシグナリングの効率を向上させるための方法を提供する。
本開示の第1態様によれば、動き予測のためのコンピュータ実行方法は、マージモードおよびマージ関連モードとして符号化されている符号化ユニット(Coding Unit:CU)に対する通常のマージフラグをデコーダから取得することと、該通常のマージフラグが1の場合、通常のマージモードまたは差分動きベクトルマージモード(Merge mode with Motion Vector Difference:MMVD)がCUによって使用されることを示し、CUに対する動きベクトルマージリストを構築し、どの候補が使用されるかを示す通常のマージインデックスを使用することと、該通常のマージフラグが0の場合、通常のマージモードがCUによって使用されないことを示し、さらにモードフラグの制約条件が満たされるときに使用される付随するマージ関連モードを示すモードフラグを受信することと、を含む。
本開示の第2態様によれば、コンピューティングデバイスは、1つまたは複数のプロセッサと、該1つまたは複数のプロセッサによって実行可能な命令を記憶している非一時的コンピュータ可読メモリと、を備え、該1つまたは複数のプロセッサは、マージモードおよびマージ関連モードとして符号化されている符号化ユニット(CU)に対する通常のマージフラグをデコーダから取得し、該通常のマージフラグが1の場合、通常のマージモードまたは差分動きベクトルマージモード(MMVD)がCUによって使用されることを示し、CUに対する動きベクトルマージリストを構築し、どの候補が使用されるかを示す通常のマージインデックスを使用し、該通常のマージフラグが0の場合、通常のマージモードがCUによって使用されないことを示し、さらにモードフラグの制約条件が満たされるときに使用される付随するマージ関連モードを示すモードフラグを受信するように構成される。
本開示の第3態様によれば、それ自体に記憶された命令を有する非一時的コンピュータ可読記憶媒体が提供される。装置の1つまたは複数のプロセッサによって命令が実行されると、該命令は、該装置に、マージモードおよびマージ関連モードとして符号化されている符号化ユニット(CU)に対する通常のマージフラグをデコーダから取得することと、該通常のマージフラグが1の場合、通常のマージモードまたは差分動きベクトルマージモード(MMVD)がCUによって使用されることを示し、CUに対する動きベクトルマージリストを構築し、どの候補が使用されるかを示す通常のマージインデックスを使用することと、該通常のマージフラグが0の場合、通常のマージモードがCUによって使用されないことを示し、さらにモードフラグの制約条件が満たされるときに使用される付随するマージ関連モードを示すモードフラグを受信することと、を行わせる。
【0005】
前述の基本的な説明および以下の詳細な説明の両方は、本開示を例示するためだけのものであり、本開示を限定するものではないことを理解すべきである。
【図面の簡単な説明】
【0006】
本明細書の一部に組み込まれ、かつ本明細書の一部を構成する添付図面は、本開示と一致した例を示し、本開示の原理を説明するために提供される。
【0007】
【
図1】本開示の例によるエンコーダのブロック図である。
【
図2】本開示の例によるデコーダのブロック図である。
【
図3】本開示の例による、構築されたアフィンマージ候補を導出するための方法を示すフローチャートである。
【
図4】本開示の例による、フラグ制約条件が満たされるかどうかを判定するための方法を示すフローチャートである。
【
図5A】本開示の例による、MMVD探索ポイントを示す図である。
【
図5B】本開示の例による、MMVD探索ポイントを示す図である。
【
図6A】本開示の例による、制御ポイントベースアフィン動きモデルの図である。
【
図6B】本開示の例による、制御ポイントベースアフィン動きモデルの図である。
【
図7】本開示の例による、サブブロックごとのアフィン動きベクトルフィールド(Motion Vector Field:MVF)を示す図である。
【
図8】本開示の例による、継承されたアフィン動き予測子の位置を示す図である。
【
図9】本開示の例による、制御ポイント動きベクトル継承を示す図である。
【
図10】本開示の例による、候補配置の位置を示す図である。
【
図11】本開示の例による、サブブロックベース時間動きベクトル予測(Subblock based Temporal Motion Vector Prediction:SbTMVP)によって使用される空間隣接ブロックを示す図である。
【
図12A】本開示の例による、サブブロックベース時間動きベクトル予測(SbTMVP)処理を示す図である。
【
図12B】本開示の例による、サブブロックベース時間動きベクトル予測(SbTMVP)処理を示す図である。
【
図13A】本開示の例による、三角形分割を示す図である。
【
図13B】本開示の例による、三角形分割を示す図である。
【
図14】本開示の例による、ユーザインターフェースに接続されたコンピューティング環境を示す図である。
【発明を実施するための形態】
【0008】
参照番号が、例示的実施形態の詳細に付与され、その例が添付の図面に示されている。以下の説明は、添付図面について言及するが、異なる図面内の同じ参照番号は、表されていない場合を除き、同じまたは類似の要素を表す。例示的実施形態の以下の説明に記述されている実装形態は、本開示と整合する全ての実装形態を表しているわけではない。それよりもむしろ、それら実装形態は、単に添付の特許請求の範囲で説明されるような本開示に関連する態様と整合する装置および方法の例である。
【0009】
本開示で使用される用語は、特定の実施形態を説明することのみを目的としており、本開示を限定することを意図していない。本開示および添付の特許請求の範囲で使用される場合、文脈上特に明記されていない限り、単数形「a」、「an」および「the」は、同様に複数形を含むことも意図する。本明細書で使用される「および/または」という用語は、1つまたは複数の関連する列挙されたアイテムの任意または全ての可能な組み合わせを表すことを意図し、かつそれらを包含することも理解されたい。
【0010】
種々の情報を説明するために、用語「第1」、「第2」、「第3」などが本明細書で使用される場合があるが、これらの情報は、これらの用語によって制限されるべきではないこともさらに理解される。これらの用語は、情報のあるカテゴリーを別のものと区別するためのみに使用される。例えば、本開示の範囲から逸脱することなく、第1情報は第2情報と称される場合があり、また同様に、第2情報は、第1情報と称される場合もある。本明細書で使用される場合、用語「~する場合」は、「~するとき」、「~の際」、あるいは文脈によって「判断に応じて」を意味すると理解される場合がある。
【0011】
映像符号化システム
概念的には、各映像符号化規格は類似している。例えば、多くは、映像圧縮を実現するために、ブロックベース処理を使用し、かつ類似の映像符号化ブロック図を共有する場合がある。
【0012】
本開示のこの実施形態において、マージ関連モードのシンタックスシグナリングの効率を向上させるいくつかの方法を提案する。提案する方法は、独立してまたは組み合わされて適用される場合があることに留意されたい。
【0013】
図1は、典型的なエンコーダ100を示している。エンコーダ100は、映像入力110、動き補償112、動き推定114、イントラ/インターモード決定116、ブロック予測子140、加算器128、変換130、量子化132、予測関連情報142、イントラ予測118、ピクチャバッファ120、逆量子化134、逆変換136、加算器126、メモリ124、ループ内フィルタ122、エントロピー符号化138およびビットストリーム144を有する。
【0014】
エンコーダの例示的実施形態において、映像フレームは、処理のためにブロックに分割される。所与の映像ブロックごとに、予測は、インター予測またはイントラ予測のいずれかに基づいて形成される。インター予測では、予測子は、先に再構築されたフレームからの画素に基づいて、動き推定および動き補償を通して形成することができる。イントラ予測では、予測子は、現在のフレーム内の再構築された画素に基づいて形成することができる。モード決定を通して、最良の予測子が、現在のブロックを予測するために選択される場合がある。
【0015】
予測残差(すなわち、現在のブロックと、その予測子との差)は、変換モジュールに送信される。次いで、変換係数が、エントロピー低減のために量子化モジュールに送信される。量子化された係数が、圧縮された映像ビットストリームを生成するためにエントロピー符号化モジュールに供給される。
図1に示すように、ブロック分割情報、動きベクトル、参照ピクチャインデックス、およびイントラ予測モードなどのインターおよび/またはイントラ予測モジュールからの予測関連情報はまた、エントロピー符号化モジュールを通過して、ビットストリームに保存される。
【0016】
エンコーダにおいて、デコーダ関連モジュールもまた、予測目的で画素を再構築するために必要とされる。まず、予測残差が逆量子化および逆変換を通して再構築される。このような再構築された予測残差は、現在のブロックに対するフィルタなし再構築画素を生成するために、ブロック予測子と組み合わされる。
【0017】
符号化効率および視覚的品質を向上させるために、ループ内フィルタが一般に使用される。例えば、デブロッキングフィルタが、AVC、HEVCならびに現在のVVCで利用可能である。HEVCでは、サンプル適応オフセット(Sample Adaptive Offset:SAO)と呼ばれる追加のループ内フィルタが、符号化効率をさらに向上させるために規定されている。最新のVVCでは、適応ループフィルタ(Adaptive Loop Filter:ALF)と呼ばれるさらに別のループ内フィルタが、積極的に調査されており、最終的な規格に含まれる可能性が高い。
【0018】
図2は、典型的なデコーダ200のブロック図を示している。デコーダ200は、ビットストリーム210、エントロピーデコーディング212、逆量子化214、逆変換216、加算器218、イントラ/インターモード選択220、イントラ予測222、メモリ230、ループ内フィルタ228、動き補償224、ピクチャバッファ226、予測関連情報234および映像出力232を有する。
【0019】
デコーダにおいて、ビットストリームは、まず、量子化された係数レベルおよび予測関連情報を導出するためにエントロピーデコーディングモジュールを通してデコードされる。量子化された係数レベルは、次いで、再構築された予測残差を得るために、逆量子化および逆変換モジュールを通して処理される。ブロック予測子は、デコードされた予測情報に基づいて、イントラ予測または動き補償処理のいずれかを通して形成される。フィルタなし再構築画素は、再構築された予測残差とブロック予測子とを合計することによって得られる。ループ内フィルタが適用されるケースでは、出力向けの最終再構築映像を導出するために、フィルタリング操作がこれらの画素に対して実施される。
【0020】
図3は、本開示による、構築されたアフィンマージ候補を導出するための例示的方法を示している。
【0021】
ステップ310で、マージモードおよびマージ関連モードとして符号化されている符号化ユニット(CU)に対する通常のマージフラグをデコーダから取得する。
【0022】
ステップ312で、該通常のマージフラグが1の場合、通常のマージモードまたは差分動きベクトルマージモード(MMVD)がCUによって使用されることを示し、CUに対する動きベクトルマージリストを構築し、どの候補が使用されるかを示す通常のマージインデックスを使用する。
【0023】
ステップ314で、該通常のマージフラグが0の場合、通常のマージモードがCUによって使用されないことを示し、さらにモードフラグの制約条件が満たされるときに使用される付随するマージ関連モードを示すモードフラグを受信する。
【0024】
図4は、本開示による、フラグ制約条件が満たされるかどうかを判定するための例示的方法を示している。
【0025】
ステップ410で、デコーダから符号化ブロックを取得する。この際、符号化ブロックは、幅および高さを有する。
【0026】
ステップ412で、デコーダによって、符号化ブロック幅および符号化ブロック高さのそれぞれが、4と等しくないかどうかを判定する。
【0027】
ステップ414で、デコーダによって、符号化ブロック幅が8と等しくないか、または符号化ブロック高さが4と等しくないかどうかを判定する。
【0028】
ステップ416で、デコーダによって、符号化ブロック幅が4と等しくないか、または符号化ブロック高さが8と等しくないかどうかを判定する。
【0029】
ステップ418で、デコーダによって、通常のマージフラグが設定されていないかどうかを判定する。
【0030】
汎用映像符号化(VVC)
第10回JVET会議(2018年4月10日から20日、サンディエゴ、米国)において、JVETは、汎用映像符号化(VVC)およびVVCテストモデル1(Vvc Test Model 1:VTM1)エンコーディング方法の第1ドラフトを規定した。VVCの初期の新しい符号化機能として、符号化ブロック構造を分割する2分木および3分木を使用するネストされたマルチタイプ木を伴う4分木を含むことが決定された。それ以降、エンコーディング方法およびドラフトVVCデコーディング処理を実行する参照ソフトウェアVTMは、JVET会議において拡張されてきた。
【0031】
ピクチャ分割構造は、入力映像を符号化木ユニット(Coding Tree Unit:CTU)と呼ばれるブロックに分割する。CTUは、ネストされたマルチタイプ木構造を伴う4分木を使用して、同じ予測モード(例えば、イントラまたはインター)を共有する領域を画定する葉符号化ユニット(CU)と共に符号化ユニット(CU)に分割される。本明細書において、用語「ユニット」は、全ての成分をカバーする画像の領域を定義し、用語「ブロック」は、特定の成分(例えば、輝度)をカバーする領域を定義するために使用されるが、4:2:0などの彩度サンプリングフォーマットを考慮する場合は空間的位置が異なる場合がある。
【0032】
VVCの拡張されたマージモード
VTM3では、マージ候補リストは、以下の5つのタイプの候補を順番に含むことによって構築される。
1.空間隣接CUからのSpatial MVP
2.同一位置(collocated)CUからのTemporal MVP
3.FIFOテーブルからのHistory-based MVP
4.Pairwise average MVP
5.Zero MV
【0033】
マージリストのサイズは、スライスヘッダにシグナリングされ、マージリストの最大許容サイズは、VTM3においては6である。マージモードのCU符号ごとに、最良のマージ候補のインデックスが、短縮単項2値化(Truncated Unary binarization:TU)を使用してエンコードされる。マージインデックスの第1ビンは、コンテキストを用いて符号化され、バイパス符号化が他のビンに使用される。本開示の以下の文脈では、拡張されたマージモードはまた、その概念が、HEVCで使用されるマージモードと同じであるので、通常のマージモードとも呼ばれる。
【0034】
MVDマージモード(MMVD)
暗に導出された動き情報が現在のCUの予測サンプル生成に直接使用されるマージモードに加えて、差分動きベクトルマージモード(MMVD)が、VVCに導入される。MMVDフラグは、MMVDモードがCUに使用されるかどうかを明示するために、スキップフラグおよびマージフラグの送信直後にシグナリングされる。
【0035】
MMVDでは、マージ候補が選択された後に、そのマージ候補は、シグナリングされたMVD情報によってより洗練される。別の情報は、マージ候補フラグ、動きの大きさを明示するインデックス、および動き方向のインジケーションのインデックスを含む。MMVDモードでは、マージリストの最初の2つの候補のうちの1つは、MVベースとして使用されるように選択される。マージ候補フラグは、どちらが使用されるかを明示するためにシグナリングされる。
【0036】
距離インデックスは、動きの大きさ情報を明示し、かつ開始ポイントからの既定のオフセットを示す。
図5に示す(以下に述べる)ように、オフセットは、開始MVの水平成分または垂直成分のいずれかに加えられる。距離インデックスと既定のオフセットとの関係について、表1に明示する。
【表1】
【0037】
方向インデックスは、開始ポイントに対するMVDの方向を表す。方向インデックスは、表2に示すように、4つの方向を表す場合がある。MVD記号の意味は、開始MVの情報によって変化する場合があることに留意されたい。開始MVが、現在のピクチャの同じ側を指す両方のリストポイントを伴う非予測MVまたは双予測MVである場合(すなわち、2つの参照のPOCの両方が、現在のピクチャのPOCよりも大きいか、または現在のピクチャのPOCよりも小さい場合)、表2の記号は、開始MVに加えられたMVオフセットの記号を明示する。開始MVが、現在のピクチャの異なる側を指す2つのMVポイントを伴う双予測MVの場合(すなわち、片方の参照のPOCが、現在のピクチャのPOCよりも大きく、かつ他方の参照のPOCが、現在のピクチャのPOCよりも小さい場合)、表2の記号は、開始MVのリスト0MV成分に加えられたMVオフセットの記号を明示し、リスト1MVに対する記号は、反対の値を有する。
【表2】
【0038】
図5Aは、本開示による第1リスト(L0)参照向けのMMVD探索ポイントを示す図を示している。
【0039】
図5Bは、本開示による第2リスト(L1)参照向けのMMVD探索ポイントを示す図を示している。
【0040】
アフィン動き補償予測
HEVCでは、並進動きモデルのみが、動き補償予測(Motion Compensation Prediction:MCP)に適用される。ところが、実世界においては、ズームイン/アウト、回転、遠近の動き、および他の不規則な動きなど、多くの種類の動きが存在する。VTM3では、ブロックベースアフィン変換動き補償予測が適用される。
図6Aおよび
図6Bに示す(以下に述べる)ように、ブロックのアフィン動きフィールドは、2つの制御ポイント動きベクトル(4パラメータ)または3つの制御ポイント動きベクトル(6パラメータ)の動き情報によって説明される。
【0041】
図6Aは、本開示による4パラメータアフィンモデルの制御ポイントベースアフィン動きモデルを示す。
【0042】
図6Bは、本開示による6パラメータアフィンモデルの制御ポイントベースアフィン動きモデルを示す。
【0043】
4パラメータアフィン動きモデルの場合、ブロック内のサンプル位置(x、y)の動きベクトルは下式(1)のように導出される。
【数1】
【0044】
6パラメータアフィン動きモデルの場合、ブロック内のサンプル位置(x、y)の動きベクトルは下式(2)のように導出される。
【数2】
【0045】
式中、(mv0x, mv0y)は、左上角の制御ポイントの動きベクトルであり、(mv1x, mv1y)は、右上角の制御ポイントの動きベクトルであり、(mv2x, mv2y)は、左下角の制御ポイントの動きベクトルである。
【0046】
動き補償予測を簡略化するために、ブロックベースアフィン変換予測が適用される。各4×4輝度サブブロックの動きベクトルを導出するために、
図7に示す(以下に述べる)ように、各サブブロックの中央サンプルの動きベクトルが、上式に従って計算されて、1/16の精度に丸められる。次いで、動き補償補間フィルタが、導出された動きベクトルを用いて各サブブロックの予測を引き起こすために適用される。彩度成分のサブブロックサイズもまた、4×4に設定される。4×4彩度サブブロックのMVは、4つの対応する4×4輝度サブブロックのMVの平均として計算される。
【0047】
図7は、本開示による、サブブロックごとのアフィン動きベクトルフィールド(MVF)を示している。
【0048】
並進動きインター予測のために行われるような、2つのアフィン動きインター予測モード、すなわち、アフィンマージモードおよびアフィンAMVPモードがある。
【0049】
アフィンマージ予測
AF_MERGEモードは、幅と高さの両方が8以上のCU向けに適用される場合がある。このモードでは、現在のCUのCPMVは、空間隣接CUの動き情報に基づいて生成される。5つまでのCPMVP候補が存在する場合があり、インデックスは、現在のCUに使用される1つを示すためにシグナリングされる。以下の3つのタイプのCPVM候補が、アフィンマージ候補リストを形成するために使用される。
6.隣接CUのCPMVから推定される継承されたアフィンマージ候補
7.隣接CUの並進MVを使用して導出される構築されたアフィンマージ候補CPMVP
8.Zero MV
【0050】
VTM3では、最大2つの継承されたアフィン候補があり、これは左隣接CUと上隣接CUからの隣接ブロックのアフィン動きモデルから導出される。候補ブロックについて、
図8に示す(以下に述べる)。左予測子の場合、スキャンの順番はA0->A1であり、上予測子の場合、スキャンの順番はB0->B1->B2である。各側から第1の継承された候補のみが、選択される。2つの継承された候補間での刈り込みチェックは実施されない。隣接アフィンCUが識別されると、その制御ポイント動きベクトルは、現在のCUのアフィンマージリスト内のCPMVP候補を導出するために使用される。
図9に示す(以下に述べる)ように、隣接左下ブロックAが、アフィンモードで符号化される場合、ブロックAを含むCUの左上角、右上角、および左下角の動きベクトルv
2、v
3およびv
4が、得られる。ブロックAが4パラメータアフィンモデルで符号化されると、現在のCUの2つのCPMVは、v
2およびv
3に従って計算される。ブロックAが6パラメータアフィンモデルで符号化されるケースでは、現在のCUの3つのCPMVはv
2、v
3およびv
4に従って計算される。
【0051】
図8は、本開示による継承されたアフィン動き予測子の位置を示している。
【0052】
図9は、本開示による制御ポイント動きベクトル継承を示している。
構築されたアフィン候補とは、各制御ポイントの隣接並進動き情報を組み合わせることによって候補が構築されることを意味する。制御ポイントの動き情報は、
図10に示す(以下に述べる)ように、明示された空間隣接および時間隣接から導出される。CPMV
k(k=1、2、3、4)は、k番目の制御ポイントを表す。CPMV
1の場合、B2->B3->A2ブロックがチェックされて、第1の利用可能ブロックのMVが使用される。CPMV
2の場合、B1->B0ブロックがチェックされ、CPMV
3の場合、A1->A0ブロックがチェックされる。TMVPの場合、利用可能であればCPMV
4として使用される。
【0053】
図10は、本開示による構築されたアフィンマージモードの候補配置の位置を示している。
【0054】
4つの制御ポイントのMVが得られた後に、アフィンマージ候補が、対応する動き情報に基づいて構築される。制御ポイントMVの以下の組み合わせが、構築のために順番に使用される。
{CPMV1、CPMV2、CPMV3}、{CPMV1、CPMV2、CPMV4}、{CPMV1、CPMV3、CPMV4}、{CPMV2、CPMV3、CPMV4}、{CPMV1、CPMV2}、{CPMV1、CPMV3}
【0055】
3つのCPMVの組み合わせが、6パラメータアフィンマージ候補を構築し、2つのCPMVの組み合わせが、4パラメータアフィンマージ候補を構築する。動きスケーリング処理を回避するために、制御ポイントの参照インデックスが異なる場合、制御ポイントMVの関連する組み合わせは破棄される。
【0056】
継承されたアフィンマージ候補および構築されたアフィンマージ候補がチェックされた後も、リストに依然として空きがある場合、ゼロMVがリストの終わりに挿入される。
【0057】
サブブロックベース時間動きベクトル予測(SbTMVP)
【0058】
VTMはサブブロックベース時間動きベクトル予測(SbTMVP)方法をサポートしている。HEVCの時間動きベクトル予測(Temporal Motion Vector Prediction:TMVP)と同様に、SbTMVPは、現在のピクチャのCUの動きベクトル予測およびマージモードを向上させるために、同一位置ピクチャの動きフィールドを使用する。TMVPによって使用される同じ同一位置ピクチャが、SbTVMPにも使用される。SbTMVPは、以下の2つの主要な態様においてTMVPとは異なる。
1.TMVPは、CUレベルで動きを予測するが、SbTMVPは、サブCUレベルで動きを予測する。
2.TMVPは、同一位置ピクチャの同一位置ブロックから時間動きベクトルを取り込む(同一位置ブロックは、現在のCUに対する右下または中央ブロックである)が、SbTMVPは、同一位置ピクチャからの時間動き情報を取り出す前に、動きシフトを適用するが、この際、動きシフトは、現在のCUの空間隣接ブロックの1つからの動きベクトルから得られる。
【0059】
SbTVMP処理について、
図11、
図12A、および
図12Bに示す(以下に述べる)。SbTMVPは、2つのステップで、現在のCU内のサブCUの動きベクトルを予測する。第1ステップで、
図11の空間隣接は、A1、B1、B0、およびA0の順番で評価される。その参照ピクチャとして同一位置ピクチャを使用し、動きベクトルを有する第1空間隣接ブロックが識別されるとすぐに、この動きベクトルは、適用される動きシフトになるものとして選択される。空間隣接からそのような動きが識別されない場合、動きシフトは(0,0)に設定される。
【0060】
図11は、サブブロックベース時間動きベクトル予測(SbTMVP)によって使用される空間隣接ブロックを示している。SbTMVPはまた、代替の時間動きベクトル予測(Alternative Temporal Motion Vector Prediction:ATMVP)としても知られている。
【0061】
第2ステップで、
図12Aおよび12Bに示すように、同一位置ピクチャからサブCUレベル動き情報(動きベクトルおよび参照インデックス)を得るために、ステップ1で識別された動きシフトが適用される(すなわち、現在のブロックの座標に加えられる)。
図12Aおよび12Bの例は、動きシフトがブロックA1の動きに設定されることを仮定している。次いで、サブCUごとに、同一位置ピクチャ内のその対応するブロックの動き情報(中央サンプルをカバーする最小動きグリッド)が、サブCU向けの動き情報を導出するために使用される。同一位置サブCUの動き情報は、識別された後に、HEVCのTMVP処理と類似の方式で、現在のサブCUの動きベクトルおよび参照インデックスに変換される。この際、時間動きスケーリングが、時間動きベクトルの参照ピクチャを、現在のCUのそれらに位置合わせするために適用される。
【0062】
図12Aは、空間隣接からの動きシフトを適用して、対応する同一位置サブCUからの動き情報をスケーリングすることによって、サブCU動きフィールドを導出する際の、同一位置ピクチャに対するVVCのSbTMVP処理を示している。
【0063】
図12Bは、空間隣接からの動きシフトを適用して、対応する同一位置サブCUからの動き情報をスケーリングすることによって、サブCU動きフィールドを導出する際の、現在のピクチャに対するVVCのSbTMVP処理を示している。
【0064】
VTM3では、SbTVMP候補とアフィンマージ候補との両方を含む組み合わされたサブブロックベースマージリストが、サブブロックベースマージモードのシグナリングに使用される。以下の文脈では、サブブロックマージモードが使用される。SbTVMPモードは、シーケンスパラメータセット(Sequence Parameter Set:SPS)フラグによって、有効/無効にされる。SbTMVPモードが有効にされる場合、SbTMVP予測子は、サブブロックベースマージ候補のリストの第1エントリとして加えられ、その後に、アフィンマージ候補が続く。サブブロックベースマージリストのサイズは、SPSでシグナリングされ、サブブロックベースマージリストの最大許容サイズは、VTM3では5である。
【0065】
SbTMVPで使用されるサブCUサイズは、8×8に固定され、これはアフィンマージモードで行われるのと同じであり、SbTMVPモードは、幅と高さの両方が8以上のCUにのみ適用可能である。
【0066】
追加のSbTMVPマージ候補のエンコーディング論理は、他のマージ候補に対するものと同じであり、すなわち、PまたはBスライス内のCUごとに、SbTMVP候補を使用するかどうかを決定するために、追加のRDチェックが実施される。
【0067】
組み合わせインターおよびイントラ予測(Combined Inter and Intra Prediction:CIIP)
【0068】
VTM3では、CUがマージモードで符号化され、かつCUが少なくとも64の輝度サンプルを含む場合(すなわち、CU幅かけるCU高さが、64以上である場合)、追加のフラグが、組み合わせインター/イントラ予測(CIIP)モードが、現在のCUに適用されるかどうかを示すためにシグナリングされる。
【0069】
CIIP予測を形成するために、まず、イントラ予測モードが、2つの追加のシンタックス要素から導出される。4つまでの可能なイントラ予測モード、すなわち、DC、プラナー、水平および垂直が使用される場合がある。次いで、インター予測およびイントラ予測信号が、通常のイントラおよびインターデコーディング処理を使用して導出される。最後に、インターおよびイントラ予測信号の重み付き平均が、CIIP予測を得るために実施される。
【0070】
イントラ予測モード導出
DC、PLANAR、HORIZONTALおよびVERTICALモードを含む、4つまでのイントラ予測モードは、CIIPモードで輝度成分を予測するために使用される場合がある。CU形状が非常に広い場合(すなわち、幅が高さの2倍を超える場合)、HORIZONTALモードは不可である。CU形状が非常に狭い場合(すなわち、高さが幅の2倍を超える場合)、VERTICALモードは不可である。これらのケースでは、3つのイントラ予測モードだけが可能である。
【0071】
CIIPモードは、イントラ予測のために3つの最確モード(Most Probable Mode:MPM)を使用する。CIIP MPM候補リストは、以下のように形成される。
-左および上隣接ブロックは、それぞれ、AおよびBと設定される。
-intraModeAおよびintraModeBと表されるブロックAおよびブロックBのイントラ予測モードは、以下のように導出される。
○XをAまたはBのいずれかとする
○intraModeXは、1)ブロックXが利用可能でない場合、2)ブロックXがCIIPモードまたはイントラモードを使用して予測されない場合、3)ブロックBが現在のCTUの外側にある場合、DCに設定される。
○その他の場合、intraModeXは、1)ブロックXのイントラ予測モードがDCまたはPLANARの場合、DCまたはPLANARに、2)ブロックXのイントラ予測モードが「垂直のような」角度モード(34より大きい)の場合、VERTICALに、あるいは3)ブロックXのイントラ予測モードが、「水平のような」角度モード(34以下)の場合、HORIZONTALに、設定される。
-intraModeAと、intraModeBが同じ場合、
○intraModeAがPLANARまたはDCの場合、3つのMPMは、{PLANAR、DC、VERTICAL}の順番で設定される
○その他の場合、3つのMPMは、{intraModeA、PLANAR、DC}の順番で設定される
-その他の場合(intraModeAと、intraModeBが異なる場合)
○最初の2つのMPMが、{intraModeA、intraModeB}の順番で設定される
○最初の2つのMPM候補モードに対して順番にPLANAR、DCおよびVERTICALの一意性がチェックされ、一意のモードが発見されるとすぐに、3番目のMPMに加えられる。
【0072】
上述のようにCU形状が非常に広いか非常に狭い場合、MPMフラグは、シグナリングなしで1であると推定される。その他の場合、MPMフラグは、CIIPイントラ予測モードがCIIP MPM候補モードのうちの1つであるかどうかを示すためにシグナリングされる。
【0073】
MPMフラグが1の場合、MPM候補モードのうちのどれがCIIPイントラ予測に使用されるかを示すために、MPMインデックスがさらにシグナリングされる。その他のMPMフラグが0の場合、イントラ予測モードは、MPM候補リストで「存在しない」モードに設定される。例えば、PLANARモードがMPM候補リストにない場合、PLANARは存在しないモードであり、イントラ予測モードは、PLANARに設定される。4つの可能なイントラ予測モードが、CIIPで許容されるので、MPM候補リストは、3つのイントラ予測モードのみを含み、4つの可能なモードのうち1つは、存在しないモードである。
【0074】
彩度成分に関して、DMモードは、常に追加のシグナリングなしで適用される。すなわち、彩度は輝度と同じ予測モードを使用する。
【0075】
CIIP符号化CUのイントラ予測モードは保存されて、将来の隣接CUのイントラモード符号化で使用される。
【0076】
組み合わせインターおよびイントラ予測信号
CIIPモードにおけるインター予測信号P
interは、通常のマージモードに適用されるのと同じインター予測処理を使用して導出され、イントラ予測信号P
intraは、通常のイントラ予測処理に続くCIIPイントラ予測モードを使用して導出される。次に、イントラおよびインター予測信号は、重み付き平均を使用して組み合わされ、この際、重み値はイントラ予測モードに応じ、サンプルは、以下のように符号化ブロックに位置付けされる。
-イントラ予測モードがDCまたはプラナーモードの場合、またはブロック幅もしくは高さが4より小さい場合、等しい重みが、イントラ予測信号およびインター予測信号に適用される。
-その他の場合、重みはイントラ予測モード(このケースでは、水平モードまたは垂直モードのいずれか)およびブロック内のサンプル位置に基づいて決定される。例えば、水平予測モードをとる(垂直モードに対する重みは、同様に導出されるが、直交方向にある)。ブロックの幅はWと表し、ブロックの高さはHと表す。符号化ブロックは、まず4つの等積部分に分割され、それぞれの寸法は、(W/4)×Hである。イントラ予測参照サンプルに最も近い部分から開始して、イントラ予測参照サンプルから最も遠い部分で終わり、4つの領域のそれぞれに対する重みwtは、6、5、3および2にそれぞれ設定される。最終的なCIIP予測信号は、下式(3)を使用して導出される。
【数3】
【0077】
インター予測のための三角形分割
VTM3では、新しい三角形分割モードが、インター予測向けに導入される。三角形分割モードは、8×8以上のCUにのみ適用され、スキップモードまたはマージモードで符号化される。これらの条件を満たし、マージフラグがオンになっているCUの場合、CUレベルフラグは、三角形分割モードが適用されるかどうかを示すためにシグナリングされる。
【0078】
このモードが使用される場合、対角分割または非対角分割のいずれかを使用して、CUは2つの三角形状分割に均等に分割される(
図13Aおよび
図13Bを参照。後述する)。CU内の三角形分割のそれぞれは、それ自体の動きを使用してインター予測され、単一の予測のみが各分割に対して許容され、すなわち、各分割は、1つの動きベクトルおよび1つの参照インデックスを有する。単一の予測動き制約条件は、従来の双予測と同じように、各CUに対して2つの動き補償予測のみが必要であることを保証するために適用される。
【0079】
現在のCUが三角形分割モードを使用して符号化されていることをCUレベルフラグが示す場合、[0、39]の範囲のインデックスがさらにシグナリングされる。この三角形分割インデックスを使用して、三角形分割(対角または非対角)の方向、ならびに分割のそれぞれに対する動きは、ルックアップテーブルを通して得ることができる。三角形分割のそれぞれの予測後、対角または非対角エッジに沿ったサンプル値は、適応重みを伴う混合処理を使用して調整される。これは、全CUに対する予測信号であり、変換および量子化処理が、その他の予測モードのように全CUに適用される。最後に、三角形分割モードを使用して予測されるCUの動きフィールドは、4×4単位で記憶される。
【0080】
図13Aは、本開示による三角形分割ベースインター予測を示している。
【0081】
図13Bは、本開示による三角形分割ベースインター予測を示している。
【0082】
コンテキスト適応型2値算術符号化(Context-Adaptive Binary Arithmetic Coding:CABAC)
【0083】
コンテキスト適応型2値算術符号化(CABAC)は、H.264/MPEG-4 AVCおよび高性能映像符号化(HEVC)規格ならびにVVCで使用されるエントロピーエンコーディングの形式である。CABACは、映像エンコーディング規格のニーズに適応させるためにいくつかの技術革新および変更を伴う算術符号化に基づく。
・複雑性を低く保ち、任意のシンボルのより頻繁に使用されるビットの確率モデリングを可能にする2値シンボルをエンコードする。
・通常、各符号化モードは局所的によく相関するので、確率モデルは、局所コンテキストに基づいて適応的に選択されて、確率のより良いモデリングが可能になる。
・量子化された確率範囲および確率状態を用いる乗算フリー範囲除算(multiplication-free range division)を使用する。
【0084】
CABACは、異なるコンテキストに対して複数の確率モードを有する。まず全ての非2値シンボルを2値に変換する。次いで、ビン(またはビットと称される)ごとに、符号器は、使用する確率モデルを選択して、近傍要素からの情報を使用して確率推定を最適化する。最後に、算術符号化が適用されて、データが圧縮される。
【0085】
コンテキストモデリングにより、符号化シンボルの条件付き確率の推定がもたらされる。好適なコンテキストモデルを利用することで、エンコードするために、現在のシンボルの隣接にある既に符号化されたシンボルに従って異なる確率モデル間を切り替えることによって、所与のインターシンボル冗長性を活用することができる。
【0086】
データシンボルの符号化は、以下の段階を伴う。
・2値化:CABACは、2値決定(1または0)のみがエンコードされることを意味する2値算術符号化を使用する。非2値シンボル(例えば、変換係数または動きベクトル)は、算術符号化の前に、「2値化」されるか、または2値符号に変換される。この処理は、データシンボルを可変長のコードに変換する処理に類似したものであるが、2値符号は、伝送前にさらに(算術符号器によって)エンコードされる。
・段階は、2値化されたシンボルのビン(または「ビット」)ごとに繰り返される。
・コンテキストモデル選択:「コンテキストモデル」は、2値化されたシンボルの1つまたは複数のビン向けの確率モデルである。このモデルは、直近で符号化されたデータシンボルの統計に応じて、利用可能なモデルの選択肢から選択されてよい。コンテキストモデルは、「1」または「0」となる各ビンの確率を記憶する。
・算術エンコーディング:算術符号器は、選択された確率モデルに従って各ビンをエンコードする。ビンごとに2つのサブ範囲(「0」または「1」に対応する)のみが存在することに留意されたい。
・確率更新:選択されたコンテキストモデルは、実際に符号化された値に基づいて更新される(例えば、ビン値が「1」であった場合、「1」の回数カウントが上げられる)。
【0087】
図14は、ユーザインターフェース1460に接続されたコンピューティング環境1410を示している。コンピューティング環境1410は、データ処理サーバの一部である場合がある。コンピューティング環境1410は、プロセッサ1420、メモリ1440、およびI/Oインターフェース1450を含む。
【0088】
プロセッサ1420は、典型的には、ディスプレイ、データ収集、データ通信および画像処理に関連する操作などの、コンピューティング環境1410の全体的な操作を制御する。プロセッサ1420は、上述した方法のステップの全てまたはいくつかを実施する命令を実行する1つまたは複数のプロセッサを含んでいてもよい。さらに、プロセッサ1420は、プロセッサ1420と他の構成要素と相互作用を促進する1つまたは複数のモジュールを含んでいてもよい。プロセッサは、中央演算処理装置(Central Processing Unit:CPU)、マイクロプロセッサ、シングルチップマシン、GPUなどであってもよい。
【0089】
メモリ1440は、コンピューティング環境1410の操作をサポートするために様々なタイプのデータを記憶するように構成される。このようなデータの例としては、MRIデータセット、画像データなど、コンピューティング環境1410で操作される任意のアプリケーションまたは方法のための命令が含まれる。メモリ1440は、静的ランダムアクセスメモリ(Static Random Access Memory:SRAM)、電気的消去可能プログラマブル読み取り専用メモリ(Electrically Erasable Programmable Read-Only Memory:EEPROM)、消去可能プログラマブル読み取り専用メモリ(Erasable Programmable Read-Only Memory:EPROM)、プログラマブル読み取り専用メモリ(Programmable Read-Only Memory:PROM)、読み取り専用メモリ(Read-Only Memory:ROM)、磁気メモリ、フラッシュメモリ、磁気または光学ディスクなど、任意のタイプの揮発性または不揮発性メモリデバイス、あるいはそれらの組み合わせを使用して実装されてよい。
【0090】
I/Oインターフェース1450は、プロセッサ1420と、キーボード、クリックホイール、ボタンなどのインターフェースモジュールとの間のインターフェースを提供する。ボタンとしては、限定はされないが、ホームボタン、スキャン開始ボタン、スキャン停止ボタンなどが挙げられる。I/Oインターフェース1450は、エンコーダおよびデコーダに接続される場合がある。
【0091】
一実施形態において、メモリ1440に含まれ、コンピューティング環境1410内のプロセッサ1420によって実行可能であり、上述した方法を実施するための複数のプログラムを含む非一時的コンピュータ可読記憶媒体もまた提供される。例えば、非一時的コンピュータ可読記憶媒体は、ROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、光学データ記憶デバイスなどであってよい。
【0092】
非一時的コンピュータ可読記憶媒体は、それ自体に記憶され、1つまたは複数のプロセッサを有するコンピューティングデバイスによって実行される複数のプログラムを有し、該複数のプログラムは、1つまたは複数のプロセッサによって実行されると、該コンピューティングデバイスに動き予測について上述した方法を実施させる。
【0093】
一実施形態において、コンピューティング環境1410は、上述の方法を実施するために、1つまたは複数の特定用途向け集積回路(Application-Specific Integrated Circuit:ASIC)、デジタル信号プロセッサ(Digital Signal Processor:DSP)、デジタル信号処理デバイス(Digital Signal Processing Device:DSPD)、プログラマブル論理デバイス(Programmable Logic Device:PLD)、フィールドプログラマブルゲートアレイ(Field-Programmable Gate Array:FPGA)、グラフィック処理装置(Graphical Processing Unit:GPU)、コントローラ、マイクロコントローラ、マイクロプロセッサまたは他の電子構成要素と共に実装されてよい。
【0094】
本開示による方法
上述のように、VTM-3.0では、マージモードは、さらに5つのカテゴリー、すなわち、通常のマージ、マージモードMVD(MMVD)、サブブロックマージ(アフィンマージおよびサブブロックベース時間動きベクトル予測を含む)、組み合わせインターおよびイントラ予測(CIIP)、ならびに三角形分割マージに分類される。現在のVVCにおけるマージモードシグナリングのシンタックスを下表3-1、表3-2に示す。
【表3-1】
【表3-2】
要約のために、現在のVVCにおける、対応するマージモードを示すためにシグナリングされるシンタックス(関連するフラグ)について以下に示す。
【表4】
【0095】
50%を超えるマージモードが、通常のマージモードであることが観察される。しかし、VTM-3.0では、通常のマージモード用の符合語は、5つの異なるマージモードの中の最も長いものであり、これは、シンタックス解析の観点から効率的な設計ではない。現在のVVCでは、スキップモードは、マージモードと類似のシンタックス設計を有するが、スキップ用のCIIPモードはない。しかし、同じ観測結果が、スキップモードで得られた。
【0096】
通常のマージ用のシンタックス
上述のように、現在のVVCの通常のマージモードのスキームは、(通常のマージ、MMVD、サブブロックマージ、CIIPおよび三角形マージ)を含むいくつかのマージ関連モードの中で最も頻繁に使用される。本開示の一実施形態において、通常のマージモードが使用されるかどうかを示すために、通常のマージモード用の明確なフラグをシグナリングする。下表に示すように、1つの通常のフラグ(または通常のマージフラグと称される)は、ビットストリームに明確にシグナリングし、関連フラグのシグナリングの全ては、それに応じて修正される。通常のマージフラグは、CABACを使用して符合化されたコンテキストである。あるスキームでは、1つのコンテキストのみが、通常のマージフラグを符号化するために使用される。さらに別のスキームでは、複数のコンテキストモデルが、通常のマージフラグを符号化するために使用され、コンテキストモデルの選択は、隣接ブロックの通常のマージフラグ、または現在のCUのサイズなど符号化された情報に基づく。
【表5】
【0097】
現在のVVCでは、各マージ関連モードを有効にするための制約条件は異なるので、各マージ関連モードのフラグのシグナリングもまた、下記の要約のように異なるものである。
【表6】
【0098】
したがって、通常のマージフラグのシグナリングはまた、各フラグシグナリングに適用される異なる制約条件を考慮する必要がある。例えば、ブロックサイズが、4×4、8×4または4×8の場合、通常のマージモードおよびMMVDのみが有効である。これらの条件(ブロックサイズが4×4、8×4または4×8)では、通常のマージフラグのみがシグナリングされ、通常のマージフラグが1に等しい場合は通常のマージモードが使用され、その他の通常のマージフラグが0に等しい場合はMMVDが使用される。現在のVVC動作ドラフトに基づくシンタックスの例を以下の表7-1、表7-2、表7-3に示す。
【表7-1】
【表7-2】
【表7-3】
【0099】
例では、通常のマージフラグがビットストリームに明確にシグナリングされることに留意されたい。しかし、通常のマージフラグは、任意の配置でシグナリングされてよく、上述したような第1の配置である必要はない。さらに別のスキームでは、通常のマージフラグは、シグナリングされるが、MMVDおよびサブブロックマージフラグの後にシグナリングされる。
【0100】
通常のマージモードへの関連マージモードの統合
本開示の一実施形態において、MMVD、CIIP、および三角形マージは、通常のマージモードに結合される。このスキームでは、MMVD候補、CIIP候補および三角形マージ候補の全ては、通常のマージ候補と見なされ、通常のマージインデックスは、どの候補が使用されるかを示すために利用される。通常のマージ候補リストのサイズは、それに応じて拡大される必要がある。一例では、Nに等しい通常のマージインデックス(Nは任意の正整数であってよく、かつ通常のマージ候補リストの最大サイズよりも小さい)は、MMVDモードが選択されて、どのMMVD候補が使用されるかを示すために別のシンタックスがシグナリング/受信されることを意味する。同じスキームが、CIIPおよび三角形マージモードにも適用されてよい。
【0101】
さらに別の例では、CIIPおよび三角形マージは、通常のマージモードに結合される。このスキームでは、CIIP候補および三角形マージ候補の全ては、通常のマージ候補と見なされ、通常のマージインデックスは、どの候補が使用されるかを示すために利用される。通常のマージ候補リストのサイズは、それに応じて拡大される必要がある。
【0102】
制約条件の調整
上述のように、異なるマージ関連モードを有効にする制約条件は異なる。本開示の一実施形態において、異なるマージモードを有効にし、かつ関連フラグをシグナリングする制約条件は、さらに調整される。一例では、制約条件は、下表に示すように修正される。
【表8】
【0103】
本開示のさらに別の例では、制約条件は、下表に示すように修正される。
【0104】
【0105】
本開示のさらに別の例では、制約条件は、下表に示すように修正される。このスキームでは、CIIPのフラグは、ブロック幅=128またはブロック高さ=128であっても、シグナリングされ、ブロック幅=128またはブロック高さ=128の場合、イントラ予測がこれらの条件をサポートしないので、常に0に制約されることに留意されたい。
【0106】
【0107】
本開示のさらに別の例では、制約条件は、下表に示すように修正される。このスキームでは、CIIPのフラグは、ブロック幅=128またはブロック高さ=128であっても、シグナリングされ、ブロック幅=128またはブロック高さ=128の場合、イントラ予測がこれらの条件をサポートしないので、常に0に制約されることに留意されたい。
【0108】
【0109】
CIIPフラグおよび三角形マージフラグの順番の切り替え
三角形マージモードは、より頻繁に使用されることが観察されるので、CIIPフラグおよび三角形マージフラグのシグナリングの順番を切り替える。