IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ベイジン バイトダンス ネットワーク テクノロジー カンパニー リミテッドの特許一覧 ▶ バイトダンス インコーポレイテッドの特許一覧

特許7307191履歴に基づく動きベクトル予測のための補間フィルタの使用
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-03
(45)【発行日】2023-07-11
(54)【発明の名称】履歴に基づく動きベクトル予測のための補間フィルタの使用
(51)【国際特許分類】
   H04N 19/52 20140101AFI20230704BHJP
   H04N 19/523 20140101ALI20230704BHJP
【FI】
H04N19/52
H04N19/523
【請求項の数】 14
(21)【出願番号】P 2021557130
(86)(22)【出願日】2020-04-01
(65)【公表番号】
(43)【公表日】2022-06-07
(86)【国際出願番号】 CN2020082752
(87)【国際公開番号】W WO2020200236
(87)【国際公開日】2020-10-08
【審査請求日】2021-09-27
(31)【優先権主張番号】PCT/CN2019/080754
(32)【優先日】2019-04-01
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】520476341
【氏名又は名称】北京字節跳動網絡技術有限公司
【氏名又は名称原語表記】Beijing Bytedance Network Technology Co., Ltd.
【住所又は居所原語表記】Room B-0035, 2/F, No.3 Building, No.30, Shixing Road, Shijingshan District Beijing 100041 China
(73)【特許権者】
【識別番号】520477474
【氏名又は名称】バイトダンス インコーポレイテッド
【氏名又は名称原語表記】BYTEDANCE INC.
【住所又は居所原語表記】12655 West Jefferson Boulevard, Sixth Floor, Suite No. 137 Los Angeles, California 90066 United States of America
(74)【代理人】
【識別番号】110002000
【氏名又は名称】弁理士法人栄光事務所
(72)【発明者】
【氏名】リウ ホンビン
(72)【発明者】
【氏名】ジャン リー
(72)【発明者】
【氏名】ジャン カイ
(72)【発明者】
【氏名】シュー ジジョン
(72)【発明者】
【氏名】ワン ユエ
【審査官】鉢呂 健
(56)【参考文献】
【文献】米国特許出願公開第2018/0098066(US,A1)
【文献】CHEN, Jianle et al.,Algorithm description for Versatile Video Coding and Test Model 4 (VTM 4),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 13th Meeting: Marrakech, MA, 9-18 Jan. 2019, [JVET-M1002-v2],JVET-M1002 (version 2),ITU-T,2019年03月19日,<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/13_Marrakech/wg11/JVET-M1002-v2.zip>: JVET-M1002-v2.docx: pp.24,26-27
【文献】HENKEL, Anastasia et al.,Non-CE4: Switched half-pel interpolation filter,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 14th Meeting: Geneva, CH, 19-27 March 2019, [JVET-N0309-v3],JVET-N0309 (version 3),ITU-T,2019年03月25日,<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/14_Geneva/wg11/JVET-N0309-v3.zip>: JVET-N0309-v3.docx: pp.1-8
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
映像処理方法であって、
映像の現在の映像ブロックと前記映像のビットストリームとの間の変換の前に、1または複数の以前に処理されたブロックの動き情報に対応する1または複数のエントリを含む少なくとも1つのHMVP(History-based Motion Vector Prediction)テーブルを維持することであって、各エントリは更に、前記1または複数の以前に処理されたブロックに対する補間フィルタ情報を含むように構成され、前記補間フィルタ情報は、前記1または複数の以前に処理されたブロックの予測ブロックに対して使用される少なくとも1つの補間フィルタを示す、ことと、
前記変換に対する、HMVP候補を含む動き候補リストを構成することであって、前記HMVP候補は、前記HMVPテーブルから1のエントリを継承することによって導出され、前記継承することは、前記1のエントリに関連付けられた前記補間フィルタ情報を継承することを有する、ことと、
前記動き候補リストに基づいて前記変換を実行することと、
を有し、
前記少なくとも1つのHMVPテーブルを維持することは、
新たな候補を前記少なくとも1つのHMVPテーブルに挿入することによって前記少なくとも1つのHMVPテーブルを選択的に更新することを含み、
前記新たな候補は、前記HMVPテーブルからの1のエントリに対応する1の候補と同じ候補として前記補間フィルタ情報をみなさずに、前記動き情報に基づいて判定される、映像処理方法。
【請求項2】
前記新たな候補と前記1の候補とが同じ動き情報であるが、異なる補間フィルタ情報であることに応じて、前記新たな候補は、前記1の候補と同じ候補であると判定される、請求項に記載の映像処理方法。
【請求項3】
前記動き候補リストは、1または複数の第1の動き候補と、前記動き候補リストに追加された前記1または複数の第1の動き候補から導出された1または複数の第2の動き候補とを含み、
前記第2の動き候補に割り当てられた第2の補間フィルタ情報は、前記1または複数の第1の動き候補に割り当てられた1または複数の第1の補間フィルタ情報に基づいて生成される、
請求項1または2に記載の映像処理方法。
【請求項4】
前記第2の動き候補は、ペアワイズ平均マージ候補である、請求項に記載の映像処理方法。
【請求項5】
前記第2の動き候補は、前記1または複数の第1の動き候補の後に、前記動き候補リストに追加される、請求項に記載の映像処理方法。
【請求項6】
前記1または複数の第1の動き候補は、前記HMVP候補を有する、請求項に記載の映像処理方法。
【請求項7】
前記1または複数の第1の補間フィルタ情報と前記第2の補間フィルタ情報は、1/2サンプル補間フィルタインデックスに関連付けられる、請求項に記載の映像処理方法。
【請求項8】
2つの第1の動き候補と、前記2つの第1の動き候補に関連付けられた、同一の2つの1/2サンプル補間フィルタインデックスとを有する前記1または複数の第1の動き候補に応じて、前記第2の補間フィルタに関連付けられた前記1/2サンプル補間フィルタインデックスは、前記2つの第1の動き候補に関連付けられた前記1/2サンプル補間フィルタインデックスと等しくなる様に設定される、請求項に記載の映像処理方法。
【請求項9】
2つの第1の動き候補と、前記2つの第1の動き候補に関連付けられた、同一でない2つの1/2サンプル補間フィルタインデックスとを有する前記1または複数の第1の動き候補に応じて、前記第2の補間フィルタに関連付けられた前記1/2サンプル補間フィルタインデックスは0に設定される、請求項に記載の映像処理方法。
【請求項10】
前記変換は、前記現在の映像ブロックを前記ビットストリームに符号化することを有する、請求項1~のいずれか一項に記載の映像処理方法。
【請求項11】
前記変換は、前記現在の映像ブロックを前記ビットストリームから復号化することを有する、請求項1~のいずれか一項に記載の映像処理方法。
【請求項12】
プロセッサと、命令を有する非一時的メモリとを有する、映像データを処理するための装置であって、
前記命令が前記プロセッサによって実行されることにより、前記プロセッサに、
映像の現在の映像ブロックと前記映像のビットストリームとの間の変換の前に、1または複数の以前に処理されたブロックの動き情報に対応する1または複数のエントリを含む少なくとも1つのHMVP(History-based Motion Vector Prediction)テーブルを維持することであって、各エントリは更に、前記1または複数の以前に処理されたブロックに対する補間フィルタ情報を含むように構成され、前記補間フィルタ情報は、前記1または複数の以前に処理されたブロックの予測ブロックに対して使用される少なくとも1つの補間フィルタを示す、ことと、
前記変換に対する、HMVP候補を含む動き候補リストを構成することであって、前記HMVP候補は、前記HMVPテーブルから1のエントリを継承することによって導出され、前記継承することは、前記1のエントリに関連付けられた前記補間フィルタ情報を継承することを有する、ことと、
前記動き候補リストに基づいて前記変換を実行することと、
を行わせ
前記少なくとも1つのHMVPテーブルを維持することは、
新たな候補を前記少なくとも1つのHMVPテーブルに挿入することによって前記少なくとも1つのHMVPテーブルを選択的に更新することを含み、
前記新たな候補は、前記HMVPテーブルからの1のエントリに対応する1の候補と同じ候補として前記補間フィルタ情報をみなさずに、前記動き情報に基づいて判定される、装置。
【請求項13】
命令を格納する非一時的コンピュータ可読記憶媒体であって、
プロセッサに、
映像の現在の映像ブロックと前記映像のビットストリームとの間の変換の前に、1または複数の以前に処理されたブロックの動き情報に対応する1または複数のエントリを含む少なくとも1つのHMVP(History-based Motion Vector Prediction)テーブルを維持することであって、各エントリは更に、前記1または複数の以前に処理されたブロックに対する補間フィルタ情報を含むように構成され、前記補間フィルタ情報は、前記1または複数の以前に処理されたブロックの予測ブロックに対して使用される少なくとも1つの補間フィルタを示す、ことと、
前記変換に対する、HMVP候補を含む動き候補リストを構成することであって、前記HMVP候補は、前記HMVPテーブルから1のエントリを継承することによって導出され、前記継承することは、前記1のエントリに関連付けられた前記補間フィルタ情報を継承することを有する、ことと、
前記動き候補リストに基づいて前記変換を実行することと、
を行わせ
前記少なくとも1つのHMVPテーブルを維持することは、
新たな候補を前記少なくとも1つのHMVPテーブルに挿入することによって前記少なくとも1つのHMVPテーブルを選択的に更新することを含み、
前記新たな候補は、前記HMVPテーブルからの1のエントリに対応する1の候補と同じ候補として前記補間フィルタ情報をみなさずに、前記動き情報に基づいて判定される、非一時的コンピュータ可読記憶媒体。
【請求項14】
映像のビットストリームを格納するための方法であって、
1または複数の以前に処理されたブロックの動き情報に対応する1または複数のエントリを含む少なくとも1つのHMVP(History-based Motion Vector Prediction)テーブルを維持することであって、各エントリは更に、前記1または複数の以前に処理されたブロックに対する補間フィルタ情報を含むように構成され、前記補間フィルタ情報は、前記1または複数の以前に処理されたブロックの予測ブロックに対して使用される少なくとも1つの補間フィルタを示す、ことと、
HMVP候補を含む動き候補リストを構成することであって、前記HMVP候補は、前記HMVPテーブルから1のエントリを継承することによって導出され、前記継承することは、前記1のエントリに関連付けられた前記補間フィルタ情報を継承することを有する、ことと、
前記動き候補リストに基づいて前記ビットストリームを生成することと、
非一時的コンピュータ記録媒体に前記ビットストリームを格納することと、
を有し、
前記少なくとも1つのHMVPテーブルを維持することは、
新たな候補を前記少なくとも1つのHMVPテーブルに挿入することによって前記少なくとも1つのHMVPテーブルを選択的に更新することを含み、
前記新たな候補は、前記HMVPテーブルからの1のエントリに対応する1の候補と同じ候補として前記補間フィルタ情報をみなさずに、前記動き情報に基づいて判定される、方法
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2020年4月1日出願の国際特許出願第PCT/CN2020/082752号の国内段階である。パリ条約に基づく適用可能な特許法および/または規則に基づいて、本願は、2019年4月1日出願の国際特許出願第PCT/CN2019/080754号の優先権および利益を適時に主張することを目的とする。上記出願の全ては、それらの全文における参照により、ここで援用される。
【0002】
本特許明細書は、映像処理技術、デバイスおよびシステムに関する。
【背景技術】
【0003】
映像圧縮の進歩にもかかわらず、デジタル映像は、依然として、インターネットおよび他のデジタル通信ネットワークにおいて最大の帯域幅の使用量を占めている。映像を受信および表示することが可能である接続されたユーザ機器の数が増加するにつれ、デジタル映像の使用に対する帯域幅需要は増大し続けることが予測される。
【発明の概要】
【0004】
デジタル映像処理に関し、具体的には、動きベクトルを導出することに関するデバイス、システム、および方法が記載される。記載された方法は、既存の映像符号化規格(例えば、HEVC(High Efficiency Video Coding)またはVVC(Versatile Video Coding))および将来の映像符号化規格または映像コーデックの両方に適用されてもよい。
【0005】
1つの代表的な態様において、開示される技術は、映像処理の方法を提供するために使用されてもよい。この方法は、映像の現在の映像ブロックと映像の符号化表現との間で変換を行うことを含み、前記符号化表現は、デフォルトの動き情報精度を使用しない現在の映像ブロックに対する複数の精度セットからの動き情報精度を示す第1のパラメータ、および/または、代替1/2画素補間フィルタを前記変換に使用するかどうかを識別する第2のパラメータを含み、前記第1のパラメータおよび/または前記第2のパラメータは各々、1または複数のビンに関連付けられ、コンテキストモデルに基づく符号化は、前記符号化表現における前記1または複数のビンの第1のビンに対してのみ使用される。
【0006】
別の態様では、開示される技術は、映像処理の方法を提供するために使用されてもよい。この方法は、映像の現在の映像ブロックと前記映像の符号化表現との間での変換のために、補間フィルタを使用して動き情報を判定することであって、前記動き情報は、M整数画素精度または1/Nサブピクセル精度を有し、M、Nは正の整数であり、Nは2に等しくない、ことと、前記動き情報に基づいて、前記変換を行うことであって、前記符号化表現の構文フィールドが前記補間フィルタに対応する、こととを含む。
【0007】
別の態様では、開示される技術は、映像処理の方法を提供するために使用されてもよい。この方法は、映像の現在の映像ブロックと前記映像の符号化表現との間での変換のために、動き候補リストにおける1または複数の動き候補および前記1または複数の動き候補に関連付けられた1または複数の補間フィルタに基づいて、第1の動き候補を生成することであって、補間フィルタが、前記1または複数の動き候補に関連付けられた前記1または複数の補間フィルタに依存する規則に従って、前記第1の動き候補に割り当てられる、ことと、前記第1の動き候補を前記動き候補リストに挿入することと、前記動き候補リストに基づいて前記変換を行うことと、を含む。
【0008】
別の態様では、開示される技術は、映像処理の方法を提供するために使用されてもよい。この方法は、映像の第1の映像領域における第1のブロックと、第2の映像領域における第2のブロックとを含む複数のブロックの各々に、前記複数のブロックの各々に対する動きベクトル差分情報を補間するために使用するそれぞれの補間フィルタについての情報を含む動き情報を関連付けることと、前記動き情報を使用して、前記映像と前記映像の符号化表現との間での変換を行うことと、を含む。
【0009】
別の態様では、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、映像の現在の映像ブロックと前記映像の符号化表現との間で変換を行うことを含み、前記現在の映像ブロックは、マージモードまたはMMVD(Merge with Motion Vector Different)モードを使用して前記符号化表現で表現され、1/Nの精度を有する補間フィルタが、規則に従って、前記現在の映像ブロックに関連付けられた予測ブロックを補間するために使用され、Nは、正の整数であり、前記規則は、前記補間フィルタがデフォルトの補間フィルタとは異なる代替補間フィルタである場合、補間情報を継承するための条件を定義する。
【0010】
別の態様では、開示される技術は、映像処理の方法を提供するために使用されてもよい。この方法は、現在の映像ブロックを含む映像と前記映像の符号化表現との間での変換中に、前記現在の映像ブロックを処理することと、マージ候補リストと前記現在の映像ブロックの動き情報とを比較し、選択的に更新することと、を含み、前記動き情報は、補間フィルタ情報を含み、前記補間フィルタ情報は、前記符号化表現における前記現在の映像ブロックを表すために使用される動きベクトル差分値を補間するために使用される補間フィルタのパラメータを含む。
【0011】
1つの代表的な態様において、開示される技術は、映像処理の方法を提供するために使用されてもよい。この方法は、映像領域の現在の映像ブロックと前記映像の符号化表現との間の変換に先だって、少なくとも1つのHMVP(History-based Motion Vector Prediction)テーブルを維持することであって、前記HMVPテーブルは、1または複数の以前に処理されたブロックの動き情報に対応する1または複数のエントリを含む、ことと、前記少なくとも1つのHMVPテーブルを使用して前記変換を行うことと、を含み、各エントリの前記動き情報は、前記1または複数の以前に処理されたブロックのための補間フィルタ情報を含むように構成され、前記補間フィルタ情報は、前記1または複数の以前に処理されたブロックの予測ブロックを補間するために使用される補間フィルタを示す。
【0012】
1つの代表的な態様において、開示される技術は、映像処理の方法を提供するために使用されてもよい。この方法は、映像領域の現在の映像ブロックと前記映像の符号化表現との間の変換に先だって、1または複数の以前に処理されたブロックの動き情報に対応する1または複数のエントリを含む、少なくとも1つのHMVP(History-based Motion Vector Prediction)テーブルを維持することであって、各エントリの前記動き情報は、前記1または複数の以前に処理されたブロックのための補間フィルタ情報を含むように構成される、ことと、前記変換のために、HMVPマージ候補を含む動き候補リストを構築することであって、前記HMVP候補は、1つのエントリを、前記1つのエントリに関連付けられた対応する補間フィルタ情報を含む前記HMVPテーブルから継承することによって導出される、ことと、前記動き候補リストに基づいて前記変換を行うことと、を含む。
【0013】
1つの代表的な態様において、開示される技術は、映像処理の方法を提供するために使用されてもよい。この方法は、映像の符号化表現において、前記映像の現在の映像ブロックを表すために使用される符号化モードを決定することと、前記符号化モードに従って、前記現在の映像ブロックを前記符号化表現に符号化することと、を含み、動き情報を表すための1/2画素精度の使用は、前記符号化モードの使用によって、前記現在の映像ブロックに対して無効化される。
【0014】
1つの代表的な態様において、開示される技術は、映像処理の方法を提供するために使用されてもよい。この方法は、映像の現在の映像ブロックが符号化モードを使用して符号化されていると判定するために、前記映像の符号化表現を構文解析することと、前記符号化モードに従って、前記符号化表現から前記現在の映像ブロックの復号化表現を生成することと、を含み、動き情報を表すための1/2画素精度の使用は、前記符号化モードを使用することによって、前記現在の映像ブロックに対して無効化される。
【0015】
1つの代表的な態様において、開示される技術は、映像処理の方法を提供するために使用されてもよい。この方法は、GBi(Generalized Bi-prediction)モードを使用して処理される現在の映像ブロックに対して、第1の重み係数と、第2の異なる重み係数を第1の予測ブロックと第2の予測ブロックに対してそれぞれ使用するように判定することであって、前記第1の重み係数および前記第2の重み係数は、重み係数セットから選択される、ことと、前記判定に基づいて、映像の現在の映像ブロックと前記映像の符号化表現との間の変換を行うことと、を含み、インターモードに使用される第1の重み係数セットは、アフィンインターモードに使用される第2の重み係数セットとは異なる。
【0016】
1つの代表的な態様において、開示される技術は、映像処理の方法を提供するために使用されてもよい。この方法は、映像の映像領域の複数の映像ユニットと前記複数の映像ユニットの符号化表現との間での変換のために、映像ユニットの符号化モードに依存する補間フィルタに関する情報を判定することであって、前記補間フィルタは、前記符号化表現において動きベクトル差分値を補間するために使用され、M整数画素精度または1/Nサブピクセル精度を有し、MおよびNは正の整数である、ことと、前記補間フィルタを使用してこの変換を行うことと、を含む。
【0017】
1つの代表的な態様において、開示される技術は、映像符号化の方法を提供するために使用されてもよい。この方法は、映像の符号化表現において、前記映像の現在の映像ブロックを表すために使用される符号化モードを決定することと、前記符号化モードに従って、前記現在の映像ブロックを前記符号化表現に符号化することと、を含み、動き情報を表すためのデフォルトの1/2画素精度フィルタに加えた代替1/2画素精度フィルタの使用は、前記符号化モードの使用によって、前記現在の映像ブロックに対して無効化される。
【0018】
1つの代表的な態様において、開示される技術は、映像復号化の方法を提供するために使用されてもよい。この方法は、映像の現在の映像ブロックが符号化モードを使用して符号化されていると判定するために、前記映像の符号化表現を構文解析することと、前記符号化モードに従って、前記符号化表現から前記現在の映像ブロックの復号化表現を生成することと、を含み、動き情報を表すためのデフォルトの1/2画素精度フィルタに加えた代替1/2画素精度フィルタの使用は、前記符号化モードを使用することによって、前記現在の映像ブロックに対して無効化される。
【0019】
1つの代表的な態様において、開示される技術は、映像符号化の方法を提供するために使用されてもよい。この方法は、映像の映像ブロックに対して有効にされている代替補間フィルタを使用することによって、符号化モードが前記映像ブロックを前記映像の符号化表現に符号化するために許可されないことを判定することと、前記決定に基づいて、前記映像ブロックの前記符号化表現を生成することと、を含み、前記代替補間フィルタは、前記現在の映像ブロックのインター予測ブロックを補間するために使用される。
【0020】
1つの代表的な態様において、開示される技術は、映像復号化の方法を提供するために使用されてもよい。この方法は、映像の映像ブロックに対して有効にされている代替補間フィルタを使用することによって、前記映像の符号化表現における前記映像ブロックを表すための符号化モードの使用が許可されないことを判定することと、前記判定に基づいて前記符号化表現を構文解析することによって、復号化された映像ブロックを生成することと、を含む。
【0021】
さらに、代表的な態様において、前記開示される方法のうちのいずれか1つは、エンコーダ側の実装形態である。
【0022】
また、代表的な態様において、前記開示される方法のうちのいずれか1つは、デコーダ側の実装形態である。
【0023】
上述された方法のうちの1つは、プロセッサが実行可能なコードの形式で実施され、コンピュータ可読プログラム媒体に記憶される。
【0024】
さらに別の代表的な態様では、プロセッサと、命令を有する非一時的メモリとを備える、映像システムにおける装置が開示される。命令は、プロセッサによって実行されると、プロセッサに、本明細書に開示される方法のいずれかを実装させる。
【0025】
開示される技術の上記および他の態様および特徴は、図面、説明および特許請求の範囲でより詳細に説明される。
【図面の簡単な説明】
【0026】
図1】4分木+2分木(QTBT)ブロック構造を示す図。
図2】マージ候補リストの構築の例を示す図。
図3】空間的候補の位置の例を示す図。
図4】空間的マージ候補の冗長性チェックの対象となる候補対の例を示す図。
図5A】現在のブロックのサイズおよび形状に基づく第2の予測ユニット(PU:Prediction Unit)の位置の例を示す図。
図5B】現在のブロックのサイズおよび形状に基づく第2の予測ユニット(PU)の位置の例を示す図。
図6】時間的マージ候補のための動きベクトルのスケーリングの例を示す図。
図7】時間的マージ候補の候補位置の例を示す図。
図8】結合双方向予測マージ候補を生成する例を示す図。
図9】動きベクトル予測候補の構築の例を示す図。
図10】空間的動きベクトル候補のための動きベクトルのスケーリングの例を示す図。
図11A】本明細書に記載されたビジュアルメディアの復号化またはビジュアルメディアの符号化技術を実装するためのハードウェアプラットフォームの一例を示すブロック図。
図11B】本明細書に記載されたビジュアルメディアの復号化またはビジュアルメディアの符号化技術を実装するためのハードウェアプラットフォームの一例を示すブロック図。
図12A】開示された技術のいくつかの実装形態に基づく、映像処理のための例示的な方法のフローチャート。
図12B】開示された技術のいくつかの実装形態に基づく、映像処理のための例示的な方法のフローチャート。
図13A】開示された技術のいくつかの実装形態に基づく、映像処理のための例示的な方法のフローチャート。
図13B】開示された技術のいくつかの実装形態に基づく、映像処理のための例示的な方法のフローチャート。
図13C】開示された技術のいくつかの実装形態に基づく、映像処理のための例示的な方法のフローチャート。
図14A】開示された技術のいくつかの実装形態に基づく、映像処理のための例示的な方法のフローチャート。
図14B】開示された技術のいくつかの実装形態に基づく、映像処理のための例示的な方法のフローチャート。
図15A】開示された技術のいくつかの実装形態に基づく、映像処理のための例示的な方法のフローチャート。
図15B】開示された技術のいくつかの実装形態に基づく、映像処理のための例示的な方法のフローチャート。
図15C】開示された技術のいくつかの実装形態に基づく、映像処理のための例示的な方法のフローチャート。
図15D】開示された技術のいくつかの実装形態に基づく、映像処理のための例示的な方法のフローチャート。
図16A】開示される技術のいくつかの実装形態に基づく、映像処理のための例示的な方法のフローチャートを示す。
図16B】開示される技術のいくつかの実装形態に基づく、映像処理のための例示的な方法のフローチャートを示す。
図16C】開示される技術のいくつかの実装形態に基づく、映像処理のための例示的な方法のフローチャートを示す。
図16D】開示される技術のいくつかの実装形態に基づく、映像処理のための例示的な方法のフローチャートを示す。
【発明を実施するための形態】
【0027】
1. HEVC/H.265における映像符号化
【0028】
映像符号化規格は、主に周知のITU-TおよびISO/IEC規格の開発によって発展してきた。ITU-TはH.261とH.263を作り、ISO/IECはMPEG-1とMPEG-4 Visualを作り、両団体はH.262/MPEG-2 VideoとH.264/MPEG-4 AVC(Advanced Video Coding)とH.265/HEVC規格を共同で作った。H.262以来、映像符号化規格は、時間的予測と変換符号化が利用されるハイブリッド映像符号化構造に基づく。HEVCを超えた将来の映像符号化技術を探索するため、2015年には、VCEGとMPEGが共同でJVET(Joint Video Exploration Team)を設立した。それ以来、多くの新しい方法がJVETによって採用され、JEM(Joint Exploration Mode)と呼ばれる参照ソフトウェアに組み込まれてきた。2018年4月には、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)の間にJVET(Joint Video Expert Team)が発足し、HEVCと比較して50%のビットレート削減を目標にVVC規格の策定に取り組んでいる。
【0029】
2.1. より大きいCTUを有する4分木+2分木(QTBT)ブロック構造
【0030】
HEVCにおいて、CTUは、様々な局所的特徴に適応するように、符号化ツリーと呼ばれる4分木構造を用いてCUに分割される。インターピクチャ(時間的)予測またはイントラピクチャ(空間的)予測を使用して、ピクチャ領域を符号化するかどうかの決定は、CUレベルで行われる。各CUは、PU分割タイプに応じて1つ、2つまたは4つのPUに更に分割することができる。1つのPUの内部では、同じ予測処理が適用され、PU単位で関連情報がデコーダに送信される。PU分割タイプに基づく予測処理を適用して残差ブロックを得た後、CUのための符号化ツリーに類似した別の4分木構造に基づいて、CUを変換ユニット(TU:Transform Unit)に分割することができる。HEVC構造の重要な特徴の1つは、CU、PU、TUを含む複数のパーティション概念を有することである。
【0031】
図1は、4分木+2分木(QTBT:QuadTree plus Binary Tree)ブロック構造を示す図である。QTBT構造は、複数の分割タイプの概念を削除する。すなわち、CU、PU、TUの概念の分離を取り除き、CU分割の形状の柔軟性を向上させる。QTBTブロック構造において、CUは正方形または長方形のいずれかを有することができる。図1に示すように、まず、符号化ツリーユニット(CTU:Coding Tree Unit)を4分木構造で分割する。4分木の葉ノードは、2分木構造によってさらに分割される。2分木の分割には、対称水平分割と対称垂直分割の2つの分割タイプがある。2分木の葉ノードは、符号化ユニット(CU:Coding Unit)と呼ばれ、このセグメント化は、それ以上の分割を行うことなく、予測および変換処理に使用される。これは、QTBTの符号化されたブロック構造において、CU、PUおよびTUが同じブロックサイズを有することを意味する。JEMにおいて、CUは、しばしば異なる色成分の符号化ブロック(CB:Coding Block)からなり、例えば、4:2:0彩度フォーマットのPおよびBスライスの場合、1つのCUは1つの輝度CBおよび2つの彩度CBを含み、また、CUは、しばしば単一の成分のCBからなり、例えば、Iスライスの場合、1つのCUは、1つの輝度CBのみ、または、2つの彩度CBのみを含む。
【0032】
QTBT分割スキームに対して以下のパラメータが規定される。
-CTUのサイズ:4分木のルートノードのサイズ、HEVCと同じ概念
-MinQTSize:最小許容の4分木の葉ノードサイズ
-MaxBTSize:最大許容の2分木ルートノードサイズ
-MaxBTDepth:最大許容の2分木の深さ
-MinBTSize:最小許容の2分木の葉ノードのサイズ
【0033】
QTBTの分割構造の一例において、CTUのサイズを、2つの対応する64×64のブロックの彩度サンプルを有する128×128の輝度サンプルとして設定し、MinQTSizeを16×16として設定し、MaxBTSizeを64×64として設定し、MinBTSize(幅および高さの両方について)を4×4として設定し、MaxBTDepthを4として設定する。4分木の分割は、まずCTUに適用され、4分木の葉ノードを生成する。4分木の葉ノードは、16×16(即ち、MinQTSize)から128×128(即ち、CTUサイズ)までのサイズを有してもよい。葉4分木のノードが128×128である場合、サイズがMaxBTSize(すなわち、64×64)を超えるため、2分木によってさらに分割されない。そうでない場合、葉4分木のノードは、2分木によってさらに分割されてもよい。従って、4分木の葉ノードは、2分木のルートノードでもあり、その2分木の深さは0である。2分木の深さがMaxBTDepth(すなわち、4)に達した場合、それ以上の分割は考慮されない。2分木のノードの幅がMinBTSize(すなわち、4)に等しい場合、それ以上の水平分割は考慮されない。同様に、2分木のノードの高さがMinBTSizeに等しい場合、それ以上の垂直分割は考慮されない。2分木の葉ノードは、さらに分割することなく、予測および変換処理によってさらに処理される。JEMにおいて、最大CTUサイズは、256×256個の輝度サンプルである。
【0034】
図1(左)はQTBTを用いたブロックの分割の例を示し、図1(右)は対応する木表現を示す。実線は4分木の分割を表し、点線は2分木の分割を表す。2分木の各分割(即ち、非葉)ノードにおいて、1つのフラグが、どの分割タイプ(即ち、水平または垂直)が使用されるかを示すために信号通知される。ここで、0は、水平分割を表し、1は、垂直分割を表す。4分木の分割の場合、4分木の分割は常にブロックを水平および垂直に分割し、等分したサイズの4つのサブブロックを生成するため、分割タイプを示す必要がない
【0035】
さらに、QTBT方式は、輝度および彩度が別個のQTBT構造を有する能力をサポートする。現在、PおよびBスライスの場合、1つのCTUにおける輝度および彩度CTBは、同じQTBT構造を共有する。しかしながら、Iスライスの場合、輝度CTBはQTBT構造によってCUに分割され、彩度CTBは別のQTBT構造によって彩度CUに分割される。これは、Iスライスにおける1つのCUが1つの輝度成分の1つの符号化ブロックまたは2つの彩度成分の符号化ブロックからなり、PまたはBスライスにおける1つのCUが3つの色成分すべての符号化ブロックからなることを意味する。
【0036】
HEVCにおいて、小さなブロックのためのインター予測は、動き補償のメモリアクセスを低減するために制限され、その結果、4×8および8×4ブロックのために双方向予測はサポートされず、4×4ブロックのためにインター予測はサポートされない。JEMのQTBTにおいて、これらの制限は取り除かれる。
【0037】
2.2. HEVC/H.265におけるインター予測
【0038】
各インター予測されたPUは、1つまたは2つの参照ピクチャリストのための動きパラメータを有する。動きパラメータは、動きベクトルおよび参照ピクチャインデックスを含む。2つの参照ピクチャリストのうちの1つの使用は、inter_pred_idcを使用して信号通知されてもよい。動きベクトルは、予測子に対する差分として明確に符号化されてもよい。
【0039】
CUがスキップモードにて符号化される場合、1つのPUがこのCUに関連付けられ、有意な残差係数、符号化された動きベクトル差分、もしくは参照ピクチャインデックスもない。マージモードを指定し、これにより、現在のPUのための動きパラメータを、空間的および時間的候補を含む近傍のPUから取得する。マージモードは、スキップモードのためだけでなく、任意のインター予測されたPUに適用することができる。マージモードの代替として、動きパラメータの明示的な送信があり、動きベクトル(より正確には、動きベクトル予測子と比較した動きベクトル差分)、各参照ピクチャリストの対応する参照ピクチャインデックス、および参照ピクチャリストの使用が、各PUに明確に信号通知される。このようなモードを、本開示ではAMVP(Advanced Motion Vector Prediction)と呼ぶ。
【0040】
2つの参照ピクチャリストのうちの1つを使用することを信号通知が示す場合、サンプルのうちの1つのブロックからPUが生成される。これを「単一予測」と呼ぶ。PスライスおよびBスライスの両方に対して単一予測が利用可能である。
【0041】
両方の参照ピクチャリストを使用することを信号通知が示す場合、サンプルのうちの2つのブロックからPUが生成される。これを「双方向予測」と呼ぶ。Bスライスのみに双方向予測が利用可能である。
【0042】
以下、HEVCに規定されるインター予測モードについて詳細に説明する。まず、マージモードについて説明する。
【0043】
2.2.1. マージモード
2.2.1.1. マージモードの候補の導出
【0044】
マージモードを使用してPUを予測する場合、ビットストリームからマージ候補リストにおけるエントリを指すインデックスを構文解析し、これを使用して動き情報を検索する。このリストの構成は、HEVC規格で規定されており、以下のステップのシーケンスに基づいてまとめることができる。
●ステップ1:初期候補導出
〇ステップ1.1:空間的候補導出
〇ステップ1.2:空間的候補の冗長性チェック
〇ステップ1.3:時間的候補導出
●ステップ2:追加の候補挿入
〇ステップ2.1:双方向予測候補の作成
〇ステップ2.2:ゼロ動き候補の挿入
【0045】
これらのステップは図2にも概略的に示されている。空間的マージ候補導出のために、5つの異なる位置にある候補の中から最大4つのマージ候補を選択する。時間的マージ候補導出のために、2つの候補の中から最大1つのマージ候補を選択する。デコーダ側ではPUごとに一定数の候補を想定しているので、ステップ1で得た候補数がスライスヘッダで信号通知されるマージ候補(MaxNumMergeCand)の最大数に達しない場合、追加候補を生成する。候補数は一定であるので、短縮された単項2値化(TU:Truncated Unary Binarization)を使用して最良マージ候補のインデックスを符号化する。CUのサイズが8に等しい場合、現在のCUのすべてのPUは、2N×2N予測ユニットのマージ候補リストと同じ1つのマージ候補リストを共有する。
【0046】
以下、上述したステップに関連付けられた動作を詳しく説明する。
【0047】
2.2.1.2. 空間的候補導出
【0048】
空間的マージ候補の導出において、図3に示す位置にある候補の中から、最大4つのマージ候補を選択する。導出の順序はA、B、B、A、Bである。位置A、B、B、AのいずれかのPUが利用可能でない場合(例えば、別のスライスまたはタイルに属しているため)、またはイントラ符号化された場合にのみ、位置Bが考慮される。位置Aの候補を加えた後、残りの候補を加えると、冗長性チェックを受け、それにより、同じ動き情報を有する候補を確実にリストから排除でき、符号化効率を向上させることができる。計算の複雑性を低減するために、前述の冗長性チェックにおいて、考えられる候補対のすべてを考慮することはしない。代わりに、図4において矢印でリンクされた対のみを考慮し、冗長性チェックに使用される対応する候補が同じ動き情報を有していない場合にのみ、その候補をリストに加える。重複した動き情報の別のソースは、2N×2Nとは異なる分割に関連付けられた「第2のPU」である。一例として、図5は、それぞれN×2Nおよび2N×Nの場合の第2のPUを示す。現在のPUをN×2Nに分割する場合、リスト構築において位置Aの候補は考慮されない。実際、この候補を加えることにより、同じ動き情報を有する2つの予測ユニットが導かれることとなり、1つの符号化ユニットに1つのPUのみを有するためには冗長である。同様に、現在のPUを2N×Nに分割する場合、位置Bは考慮されない。
【0049】
2.2.1.3. 時間的候補導出
【0050】
このステップにおいて、1つの候補のみがリストに追加される。具体的には、この時間的マージ候補の導出において、所与の参照ピクチャリストにおける現在のピクチャとの間に最小のPOC差を有するピクチャに属する同一位置(co-located)のPUに基づいて、スケーリングされた動きベクトルが導出される。スライスヘッダにおいて、同一位置のPUの導出に用いられるべき参照ピクチャリストが明確に信号通知される。図6に点線で示すように、時間的マージ候補のスケーリングされた動きベクトルが得られ、これは、POC距離tbおよびtdを利用して、同一位置のPUの動きベクトルからスケーリングしたものであり、tbは、現在のピクチャの参照ピクチャと現在のピクチャのPOC差として規定され、tdは、同一位置のピクチャの参照ピクチャと同一位置のピクチャのPOC差として規定される。時間的マージ候補の参照ピクチャインデックスをゼロに等しく設定される。このスケーリング処理の実際的な実現については、HEVC仕様に記載されている。Bスライスの場合、2つの動きベクトル、即ち、1つは参照ピクチャリスト0のためのもの、もう1つは参照ピクチャリスト1のためのものが取得され、これらを組み合わせることによって、双方向予測マージ候補を形成する。
【0051】
参照フレームに属する同一位置のPU(Y)において、図7に示すように、候補Cと候補Cとの間で時間的候補の位置が選択される。位置CのPUが利用可能でない場合、イントラ符号化されている場合、または現在のCTU行の外側にある場合、位置Cが使用される。そうでない場合、位置Cが時間的マージ候補の導出に使用される。
【0052】
2.2.1.4. 追加の候補挿入
【0053】
空間的-時間的マージ候補の他に、マージ候補の2つの追加のタイプ、すなわち、結合双方向予測マージ候補およびゼロマージ候補がある。空間的-時間的マージ候補を利用して、結合双方向予測マージ候補が生成される。結合双方向予測マージ候補は、Bスライスのみに使用される。最初の候補の第1の参照ピクチャリスト動きパラメータと別の候補の第2の参照ピクチャリスト動きパラメータとを組み合わせることで、結合双方向予測候補が生成される。これら2つのタプルが異なる動き仮説を提供する場合、これらは、新しい双方向予測候補を形成する。一例として、図8は、mvL0およびrefIdxL0、またはmvL1およびrefIdxL1を有する元のリスト(左側)における2つの候補を用いて、最終リスト(右側)に加えられる結合双方向予測マージ候補を生成する場合を示す。これらの追加のマージ候補を生成するために考慮される組み合わせについては、様々な規則が存在する。
【0054】
ゼロ動き候補を挿入し、マージ候補リストにおける残りのエントリを埋めることにより、MaxNumMergeCand容量にヒットする。これらの候補は、空間的変位がゼロであり、ゼロから始まり新しいゼロ動き候補をリストに加える度に増加する参照ピクチャインデックスを有する。これらの候補が使用する参照フレームの数は、それぞれ、一方向予測の場合は1つ、双方向予測の場合は2つである。最終的には、これらの候補に対して冗長性チェックは行われない。
【0055】
2.2.1.5. 並列処理のための動き推定領域
【0056】
符号化処理を高速化するために、動き推定を並列に行うことができ、それによって、所与の領域内のすべての予測ユニットの動きベクトルを同時に導出する。1つの予測ユニットは、その関連する動き推定が完了するまで、隣接するPUから動きパラメータを導出することができないので、空間的近傍からのマージ候補の導出は、並列処理に干渉する可能性がある。符号化効率と処理待ち時間との間のトレードオフを緩和するために、HEVCは、動き推定領域(MER:Motion Estimation Region)を規定し、そのサイズは、「log2_parallel_merge_level_minus2」構文要素を使用してピクチャパラメータセットにおいて信号通知される。1つのMERを規定するとき、同じ領域にあるマージ候補は利用不可能であるとしてマークされ、それゆえにリスト構築においては考慮されない。
【0057】
2.2.2. AMVP
【0058】
AMVPは、動きベクトルと近傍のPUとの間の空間的-時間的相関を利用し、これを動きパラメータの明確な伝送に用いる。各参照ピクチャリストに対し、まず、左側、上側の時間的に近傍のPU位置の可用性をチェックし、冗長な候補を取り除き、ゼロベクトルを加えて候補リストの長さを一定にすることで、動きベクトル候補リストを構築する。次いで、エンコーダは、候補リストから最良の予測子を選択し、選択された候補を示す対応するインデックスを送信することができる。マージインデックスの信号通知と同様に、最良の動きベクトル候補のインデックスは、短縮された単項を使用して符号化される。この場合に符号化対象の最大値は2である(図9参照)。以下の章では、動きベクトル予測候補の導出処理の詳細を説明する。
【0059】
2.2.2.1. AMVP候補の導出
【0060】
図9に、動きベクトル予測候補の導出処理をまとめる。
【0061】
動きベクトル予測において、空間的動きベクトル候補と時間的動きベクトル候補という2つのタイプの動きベクトル候補が考慮される。空間的動きベクトル候補を導出するために、図3に示したように、5つの異なる位置にある各PUの動きベクトルに基づいて、最終的には2つの動きベクトル候補を導出する。
【0062】
時間的動きベクトル候補を導出するために、2つの異なる同一位置に配置された位置に基づいて導出された2つの候補から1つの動きベクトル候補を選択する。空間的-時間的候補の最初のリストを作成した後、リストにおける重複した動きベクトル候補を除去する。候補の数が2よりも多い場合、関連づけられた参照ピクチャリストにおける参照ピクチャインデックスが1よりも大きい動きベクトル候補をリストから削除される。空間的―時間的動きベクトル候補の数が2未満である場合は、追加のゼロ動きベクトル候補をリストに加える。
【0063】
2.2.2.2. 空間的動きベクトル候補
【0064】
空間的動きベクトル候補の導出において、図3に示したような位置にあるPUから導出された5つの可能性のある候補のうち、最大2つの候補が考慮され、これらの位置は、動きマージと同じ位置である。現在の左側に対する導出の順序は、A、A、スケーリングされたA、スケーリングされたAとして規定される。現在のPUの上側に対する導出の順序は、B、B、B、スケーリングされたB、スケーリングされたB、スケーリングされたBとして規定される。辺ごとに、動きベクトル候補として使用できる4つのケースがあり、すなわち空間的スケーリングに関連付けられていない2つのケースと、空間的スケーリングを使用する2つのケースとがある。4つの異なる場合をまとめると、以下のようになる。
・空間スケーリングなし
-(1)同じ参照ピクチャリスト、かつ、同じ参照ピクチャインデックス(同じPOC)
-(2)異なる参照ピクチャリスト、かつ、同じ参照ピクチャ(同じPOC)
・空間的スケーリング
-(3)同じ参照ピクチャリスト、かつ、異なる参照ピクチャ(異なるPOC)
-(4)異なる参照ピクチャリスト、かつ、異なる参照ピクチャ(異なるPOC)
【0065】
最初に非空間的スケーリングの場合をチェックし、次に空間的スケーリングをチェックする。参照ピクチャリストにかかわらず、POCが近傍のPUの参照ピクチャと現在のPUの参照ピクチャとで異なる場合、空間的スケーリングが考慮される。左側候補のすべてのPUが利用可能でないか、またはイントラ符号化されている場合、上側の動きベクトルのスケーリングは、左側および上側のMV候補の並列導出に役立つために許可される。そうでない場合、上側の動きベクトルに対して空間的スケーリングは許可されない。
【0066】
空間的スケーリング処理において、図10に示すように、時間的スケーリングと同様にして、近傍のPUの動きベクトルがスケーリングされる。主な違いは、現在のPUの参照ピクチャリストおよびインデックスを入力として与え、実際のスケーリング処理は時間的スケーリングと同じであることである。
【0067】
2.2.2.3. 時間的動きベクトル候補
【0068】
参照ピクチャインデックスを導出する以外は、時間的マージ候補を導出するための処理は、すべて、空間的動きベクトル候補を導出するための処理と同じである(図7参照)。参照ピクチャインデックスはデコーダに信号通知される。
2.3. AMVR(Adaptive Motion Vector Resolution)
【0069】
VVCにおいて、通常のインターモードの場合、MVDは1/4輝度サンプル、整数輝度サンプルまたは4つの輝度サンプルの単位で符号化できる。MVD解像度は符号化ユニット(CU:Coding Unit)レベルで制御され、MVD解像度フラグは、少なくとも1つの非ゼロMVD構成要素を有する各CUに対して条件付きで信号通知される。
【0070】
少なくとも1つの非ゼロMVDの構成要素を有するCUの場合、1/4輝度サンプルMV精度がCUにおいて使用されるか否かを示すために、第1のフラグが信号通知される。第1のフラグ(1に等しい)が、1/4輝度サンプルMV精度が使用されていないことを示す場合、整数輝度サンプルMV精度が使用されるか、または4輝度サンプルMV精度が使用されるかを示すために、別のフラグが信号通知される。
【0071】
CUの第1のMVD解像度フラグがゼロであるか、又はCUに対して符号化されていない(つまり、CUにおけるすべてのMVDがゼロである)場合、CUに対して1/4輝度サンプルMV解像度が使用される。CUが整数輝度サンプルMV精度または4輝度サンプルMV精度を使用する場合、CUのAMVP候補リストにおけるMVPを対応する精度に丸める。
【0072】
2.4. VVCにおける補間フィルタ
【0073】
輝度補間フィルタリングの場合、表1に示すように、1/16画素の精度のサンプルに対して8タップの分離可能な補間フィルタを用いる。
【0074】
【表1】
【0075】
同様に、表2に示すように、1/32画素精度の彩度補間には、4タップの分離可能な補間フィルタが使用される。
【0076】
【表2】
【0077】
4:2:2の垂直補間、4:4:4の彩度チャネルの水平および垂直補間の場合、表2の奇数位置を使用せず、1/16画素の彩度補間になる。
【0078】
2.5. 代替輝度1/2画素補間フィルタ
【0079】
JVET-N0309において、代替1/2画素補間フィルタが提案されている。
【0080】
1/2画素輝度補間フィルタの切り替えは、動きベクトルの精度に基づいて行われる。既存の1/4画素、フル画素、および4画素のAMVRモードに加え、新しい1/2画素精度AMVRモードが導入される。1/2画素度の動きベクトルの精度の場合にのみ、代替1/2画素度の輝度補間フィルタを選択することができる。
【0081】
2.5.1. 1/2画素AMVRモード
【0082】
非アフィン非マージインター符号化CUのための追加のAMVRモードが提案され、このモードは、1/2画素精度で動きベクトル差分を信号通知することを可能にする。現在のVVC草案の既存のAMVRスキームは、以下のようにして簡単に拡張される。構文要素amvr_flagの直後に、amvr_flag==1の場合、新しいコンテキストモデル化されたバイナリ構文要素hpel_amvr_flagがあり、これは、hpel_amvr_flag==1の場合、新しい1/2画素AMVRモードの使用を示す。そうでない場合、すなわちhpel_amvr_flag==0である場合、現在のVVC草案におけるように、フル画素と4画素AMVRモードとの間の選択は、構文要素amvr_precision_flagによって示される。
【0083】
2.5.2. 代替輝度1/2画素補間フィルタ
【0084】
1/2画素動きベクトル精度を使用する非アフィン非マージインター符号化CU(すなわち、1/2画素AMVRモード)の場合、新しい構文要素if_idxの値に基づいて、HEVC/VVC1/2画素輝度補間フィルタと1または複数の代替1/2画素補間との間の切り替えが行われる。構文要素if_idxは、1/2画素AMVRモードの場合にのみ信号通知される。空間的マージ候補を用いたスキップ/マージモードの場合、構文要素if_idxの値は近傍のブロックから継承される。
【0085】
2.5.2.1. テスト1:1つの代替1/2画素補間フィルタ
【0086】
このテストケースにおいて、通常のHEVC/VVC1/2画素補間フィルタの代替えとして、1つの6タップ補間フィルタが存在する。次の表は、構文要素if_idxの値と選択された1/2画素輝度補間フィルタとの間のマッピングを示す。
【0087】
【表3】
【0088】
2.5.2.2. テスト2:2つの代替的な1/2画素補間フィルタ
【0089】
このテストケースでは、通常のHEVC/VVC1/2画素補間フィルタの代替として、2つの8タップ補間フィルタがある。次の表は、構文要素if_idxの値と選択された1/2画素輝度補間フィルタとの間のマッピングを示す。
【0090】
【表4】
【0091】
amvr_precision_idxは、現在のCUが1/2画素、1画素、または4画素MV精度を使用しているかどうかを示すように信号通知される。符号化されるべきビンが2つある。
【0092】
hpel_if_idxは、デフォルトの1/2画素補間フィルタを使用するか代替1/2画素補間フィルタを使用するかを示すように信号通知される。2つの代替1/2画素補間フィルタを使用する場合、2つの符号化対象のビンがある。
【0093】
2.6. 一般化双方向予測
【0094】
従来の双方向予測において、L0およびL1からの予測子を平均し、均等重み0.5を使用して最終予測子を生成する。予測子生成式は、式(3)に示される。
TraditionalBiPred=(PL0+L1+RoundingOffset)>>shiftNum, (1)
式(3)において、PTraditionalBiPredは従来の双予測のための最終予測子であり、PL0とPL1は、それぞれL0およびL1からの予測子であり、RoundingOffsetとshiftNumは、最終予測子を正規化するために使用される。
【0095】
L0とL1からの予測子に異なる重みを適用することを可能にするために、GBI(Generated Bi-predintion:一般化双予測)が提案されている。予測子の生成を式(4)に示す。
GBi=((1-w)*PL0+*PL1+RoundingOffsetGBi)>>shiftNumGBi, (2)
式(4)において、PGBiはGBiの最終予測子である。(1-w)およびwは、それぞれL0およびL1の予測子に適用される選択されたGBI重みである。RoundingOffsetGBiおよびseftNumGBiは、GBiにおける最終予測子を正規化するために用いられる。
【0096】
サポートされるwの重みは、{-1/4,3/8,1/2,5/8,5/4}である。1つの均等重みセットおよび4つの不均等重みセットがサポートされる。均等重みの場合、最終予測子を生成するための処理は、従来の双予測モードにおける処理と全く同じである。ランダムアクセス(RA)条件における真の双予測の場合、候補重みセットの数を3に減らす。
【0097】
AMVP(Advanced Motion Vector Prediction)モードにおいて、CUが双方向予測によって符号化されている場合、GBIにおける重み選択は、CUレベルで明確に信号通知される。マージモードの場合、重み選択はマージ候補から継承される。
【0098】
3. 従来の実装形態における課題
【0099】
代替1/2画素補間フィルタは、MMVD(Merge with Motion Vector Difference)モードで導出されたMVが1/2画素精度でなく妥当でないにしても、MMVDモードで継承されてもよい。
【0100】
amvr_precision_idxおよびhpel_if_idxを符号化する場合、すべてのビンはコンテキスト符号化される。
【0101】
4. 例示的な実施形態および技術
【0102】
以下の実施形態の詳細は、一般的な概念を説明するための例であると考えられるべきである。これらの実施形態は狭い意味で解釈されるべきではない。さらに、これらの実施形態は、任意の方法で組み合わせることができる。
【0103】
DMVD(Decoder-dide Motion Vector Derivation)は、BDOF(Bi-Direction Optical Flow)および/またはDMVR(Decoder-side Motion Vector Refinement)および/または改善動きベクトルまたはデコーダにおける予測サンプルに関連付けられた他のツールを表すために用いられる。
【0104】
以下の文脈において、デフォルト補間フィルタは、HEVC/VVCに定義されるものを示すことができる。以下の説明において、新しく導入された補間フィルタ(例えば、JVET-N0309に提案されているもの)を代替補間フィルタとも呼ぶこともできる。
【0105】
1.Nが2に等しくない異なるNに対して、代替1/N個の画素補間フィルタが使用されてもよい。
a.一例において、Nは、4、16等に等しくてもよい。
b.一例において、1/N画素の補間フィルタのインデックスは、AMVRモードで信号通知されてもよい。
i.さらに、代替的に、1/N画素のMV/MVD精度がブロックによって選択された場合にのみ、1/N画素の補間フィルタのインデックスが信号通知されてもよい。
c.一例において、代替1/N画素補間フィルタは、マージモードおよび/またはMMVDモードで継承されなくてもよい。
i.さらに、代替的に、デフォルトの1/N画素補間フィルタのみがマージモードおよび/またはMMVDモードで使用されてもよい。
d.一例において、代替1/N画素補間フィルタは、マージモードで継承されてもよい。
e.一例において、代替1/N画素補間フィルタは、MMVDモードで継承されてもよい。
i.一例において、代替1/N画素補間フィルタは、最終的に導出されたMVが1/N画素の精度である、すなわち、MV成分がより微細なMV精度でない場合、MMVDモードで継承されてもよい。
ii.一例において、代替1/N画素補間フィルタは、最終的に導出されたMVのK(K≧1)個のMV成分が1/N画素精度である場合、MMVDモードで継承されてもよい。
f.一例において、代替1/N画素補間フィルタは、MMVDモードおよび/またはマージモードで継承されてもよいが、代替1/N画素補間フィルタは、動き補償にのみ使用される。代替1/N画素補間フィルタのインデックスは、ブロックのために記憶されなくてもよく、後続の符号化ブロックによって使用されなくてもよい。
【0106】
2.補間フィルタの指示(例えば、デフォルトの1/2画素補間フィルタ、代替1/2画素補間フィルタ)は、動きベクトル、参照インデックス等の他の動き情報とともに記憶されてもよい。
a.一例において、1つの符号化/復号化対象のブロックが、異なる区域(例えば、異なるCTU行、異なるVPDU)に位置する第2のブロックにアクセスする場合、第2のブロックに関連付けられた補間フィルタは、現在のブロックの符号化/復号化のために使用することは許可されない。
【0107】
3.代替1/2画素補間フィルタは、マージモードおよび/またはMMVDモードで継承されなくてもよい。
a.一例において、代替1/2画素補間フィルタは、MMVDモードで継承されなくてもよい。
i.さらに、代替的に、VVCにおけるデフォルトの1/2画素補間フィルタは、常にMMVDモードに使用されてもよい。
ii.代替的に、代替1/2画素補間フィルタは、MMVDモードで継承されてもよい。すなわち、MMVDモードの場合、ベースマージ候補に関連付けられた代替1/2画素補間フィルタは継承されることができる。
b.一例において、代替1/2画素補間フィルタは、特定の条件下においてMMVDモードで継承されてもよい。
i.一例において、代替1/2画素補間フィルタは、最終的に導出されたMVが1/2画素精度である、すなわち、1/4画素精度、1/16画素精度のようなより微細なMV精度のMV成分がない場合に継承されてもよい。
ii.一例において、代替1/2画素補間フィルタは、最終的に導出されたMVのK(K≧1)個のMV成分が1/2画素精度である場合、MMVDモードで継承されてもよい。
c.一例において、代替1/2画素補間フィルタは、MMVDモードおよび/またはマージモードで継承されてもよいが、代替1/2画素補間フィルタは、動き補償にのみ使用される。代替1/2画素補間フィルタの代わりに、デフォルトの1/2画素補間フィルタのインデックスをブロックに対して記憶してもよく、後続の符号化ブロックによって使用してもよい。
d.上記方法は、1/N画素の精度のために複数の補間フィルタを適用することができる他の場合にも適用可能である。
【0108】
4.補間フィルタ情報は、HMVP(History-based Motion Vector Prediction)テーブルに記憶されてもよく、HMVPマージ候補によって継承されてもよい。いくつかの実装形態において、HMVPテーブルは、映像領域の映像ブロックと符号化表現との間での変換後、選択的に更新される。テーブルを更新するかどうか、即ちテーブルを更新するときの選択性は、映像ブロックを変換した後、HMVPテーブルを更新するのに適した変換に用いられる動き候補があるかどうか(例えば、プルーニングなどを適用することによって)を判定することに基づく。
a.一例において、HMVPルックアップテーブルに新しい候補を挿入するとき、補間フィルタ情報が考慮されてよい。例えば、同じ動き情報であるが、補間フィルタ情報が異なる2つの候補が、2つの異なる候補と見なされてもよい。
b.一例において、HMVPルックアップテーブルに新しい候補を挿入するとき、同じ動き情報を有するが、補間フィルタ情報が異なる2つの候補が、同じ候補と見なされてもよい。
【0109】
5.マージ候補リストにマージ候補を挿入する場合、プルーニング処理において補間フィルタ情報が考慮されてもよい。
a.一例において、補間フィルタが異なる2つのマージ候補は、2つの異なるマージ候補と見なされてもよい。
b.一例において、HMVPマージ候補をマージリストに挿入する際に、プルーニング処理において補間フィルタ情報は考慮されてもよい。
c.一例において、HMVPマージ候補をマージリストに挿入する際に、プルーニング処理において補間フィルタ情報は、考慮されなくてもよい。
【0110】
6.ペアワイズマージ候補および/または結合マージ候補および/またはゼロ動きベクトル候補および/または他のデフォルト候補を生成する際に、常にデフォルト補間フィルタを使用する代わりに、補間フィルタ情報が考慮されてもよい。
a.一例において、(ペアワイズマージ候補または/および結合マージ候補の生成に関与する)両方の候補が同じ代替補間フィルタを使用する場合、このような補間フィルタは、ペアワイズマージ候補または/および結合マージ候補において継承されてもよい。
b.一例において、(ペアワイズマージ候補又は/及び結合マージ候補の生成に関与する)2つの候補のうちの1つがデフォルト補間フィルタを用いない場合、その補間フィルタをペアワイズマージ候補または/および結合マージ候補に継承してもよい。
c.一例において、(結合マージ候補の生成に関与する)2つの候補のうちの1つがデフォルトの補間フィルタを用いない場合、その補間フィルタを結合マージ候補に継承してもよい。しかしながら、このような補間フィルタは、対応する予測方向にのみ使用してもよい。
d.一例において、(結合マージ候補の生成に関与する)2つの候補が異なる補間フィルタを用いる場合、それらの補間フィルタは、両方とも結合マージ候補において継承されてもよい。この場合、異なる予測方向に対して異なる補間フィルタが使用されてもよい。
e.一例において、K(K≧0)個以下のペアワイズマージ候補または/および結合されたマージ候補は、代替補間フィルタを使用してもよい。
f.一例において、デフォルト補間フィルタは、ペアワイズマージ候補または/および結合マージ候補に対して常に使用される。
【0111】
7.現在のブロックIBCモードで符号化する場合、1/2画素の動きベクトル/動きベクトル差分精度を使用できないようにすることが提案されている。
a.さらに、代替的に、1/2画素MV/MVD精度の使用の指示を信号通知する必要がない。
b.一例において、現在のブロックがIBCモードで符号化される場合、代替1/2画素補間フィルタは、常に無効にされる。
c.さらに、代替的に、1/2画素補間フィルタの指示を信号通知する必要がない。
d.一例において、「現在のブロックをIBCモードで符号化する」の条件は、「現在のブロックをモードで符号化する」に置き換えてもよい。このようなモードは、三角形モード、マージモード等として定義してもよい。1つの例示的なモードは、1つのブロックを2つの部分に分割し、各部分が1つの動き候補に関連付けられ、2つの動き候補が同じ動き候補リストから導出される符号化モードに対応する。
【0112】
8.amvr_precision_idxおよび/またはhpel_if_idxを符号化する場合、最初のビンのみがコンテキスト符号化されてもよい。
a.さらに、代替的に、他のビンがバイパス符号化されてもよい。
b.一例において、amvr_precision_idxの最初のビンgが、バイパス符号化されてもよい。
c.一例において、hpel_if_idxの最初のビンが、バイパス符号化されてもよい。
d.一例において、1つのコンテキストのみが、amvr_precision_idxの第1のビンを符号化するために使用されてもよい。
e.一例において、1つのコンテキストのみが、hpel_if_idxの最初のビンを符号化するために使用されてもよい。
f.一例において、amvr_precision_idxのすべてのビンは、同じコンテキストを共有してもよい。
g.一例において、hpel_if_idxのすべてのビンは、同じコンテキストを共有してもよい。
【0113】
9.代替補間フィルタを使用する場合、一部の符号化ツールは許可されない場合がある。
a.一例において、代替補間フィルタを使用する場合、BDOF(Bi-Directional Optical Flow)は許可されなくてもよい。
b.一例において、代替補間フィルタを使用する場合、DMVRまたは/およびDMVDは許可されなくてもよい。
c.一例において、代替補間フィルタを使用する場合、CIIP(Combined Inter-Intra Prediction)は許可されなくてもよい。
i.一例において、マージ候補が代替補間フィルタを継承する場合、CIIPフラグはスキップされ、偽であると推論されてもよい。
ii.代替的に、CIIPフラグが真である場合、デフォルトの補間フィルタは常に使用されてもよい。
d.一例において、代替補間フィルタを使用する場合、SMVD(Symmetric Motion Vector Difference)は許可されなくてもよい。
i.一例において、SMVDを用いる場合、デフォルトの補間フィルタが常に使用され、代替補間フィルタに関する構文要素は信号通知されない。
ii.代替的に、代替補間フィルタに関する構文要素が、代替補間フィルタを使用することを示す場合、SMVDに関する構文要素は信号通知されなくてもよく、SMVDモードは使用されない。
e.一例において、代替補間フィルタを使用する場合、SBT(SubBlock Transform)は許可されなくてもよい。
i.一例において、SBTを用いる場合、デフォルトの補間フィルタが常に使用され、代替補間フィルタに関する構文要素は信号通知されない。
ii.代替的に、代替補間フィルタに関する構文要素が、代替補間フィルタを使用することを示す場合、SBTに関する構文要素は信号通知されなくてもよく、SBTは使用されない。
f.一例において、代替補間フィルタを使用する場合、ブロックが2つの部分に分割される三角形予測モードおよび他の符号化モードは、許可されなくてもよい。本発明の実施例において、ブロックを2つの部分に分けるとき、各部分は1つの動き候補に関連付けられ、2つの動き候補は同じ動き候補リストから導出される。
i.一例において、補間フィルタ情報は、三角形予測において継承されず、デフォルトの補間フィルタのみが使用されてもよい。
g.代替的に、代替補間フィルタを使用する場合、ブロックを2つの部分に分割する三角形予測および他の符号化モードが許容されてもよい。本発明の実施例において、ブロックを2つの部分に分ける場合、各部分は1つの動き候補に関連付けられ、2つの動き候補は同じ動き候補リストから導出される。
i.一例において、補間フィルタ情報は、三角形予測において継承されてもよい。
h.代替的に、上述した符号化ツールの場合、それが有効にされていれば、代替1/2画素補間フィルタが無効化されてよい。
【0114】
10.フィルタは、N画素精度MVに適用されてもよい。
a.一例において、Nは、1、2、または4等に等しくてもよい。
b.一例において、フィルタは、ローパスフィルタであってもよい。
c.一例において、フィルタは、1次元フィルタであってもよい。
i.例えば、フィルタは、1次元水平フィルタであってもよい。
ii.例えば、フィルタは、1次元垂直フィルタであってもよい。
d.一例において、そのようなフィルタが使用されているかどうかを示すように、フラグが信号通知されてもよい。
i.さらに、代替的に、そのようなフラグは、ブロックに対して(AMVRモードで信号伝達される)N画素MVD精度を使用する場合にのみ信号伝達されてもよい。
【0115】
11.GBIモードにおける通常のインターモードおよびアフィンモードのために、異なる重み係数セットが使用されてもよい。
a.一例において、通常のインターモードおよびアフィンモードに使用される重み係数セットは、SPS/タイルグループヘッダ/スライスヘッダ/VPS/PPS等において信号通知されてもよい。
b.一例において、通常のインターモードおよびアフィンモードに使用される重み係数セットは、エンコーダおよびデコーダにおいて予め規定されてもよい。
【0116】
12.代替補間フィルタをどのように定義/選択するかは、符号化モード情報に依存してもよい。
a.一例において、アフィンモードおよび非アフィンモードの場合、代替補間フィルタの許容されるセットは異なってもよい。
b.一例において、IBCモードおよび非IBCモードの場合、代替補間フィルタの許容されるセットは異なってもよい。
【0117】
5. 開示される技術の例示的な実装形態
【0118】
図11Aは、映像処理装置1100のブロック図である。装置1100は、本明細書に記載の方法の1つ以上を実装するために使用されてもよい。装置1100は、スマートフォン、タブレット、コンピュータ、IoT(Internet of Things)受信機等により実施されてもよい。装置1100は、1または複数のプロセッサ1102と、1または複数のメモリ1104と、映像処理ハードウェア1106と、を含んでもよい。プロセッサ(単数または複数)1102は、本明細書に記載される1つ以上の方法を実装するように構成されてもよい。メモリ(単数または複数)1104は、本明細書で説明される方法および技術を実装するために使用されるデータおよびコードを記憶するために使用してもよい。映像処理ハードウェア1106を使用して、ハードウェア回路において、本明細書に記載されるいくつかの技術を実装してもよく、一部または全部がプロセッサ1102の一部(例えば、グラフィックプロセッサコアGPUまたは他の信号処理回路)であってもよい。
【0119】
図11Bは、開示された技術を実装し得る映像処理システムのブロック図の別の例である。図11Bは、本明細書で開示される様々な技術が実装され得る例示的な映像処理システム4100を示すブロック図である。様々な実装形態は、システム4100の構成要素の一部または全部を含んでもよい。システム4100は、映像コンテンツを受信するための入力4102を含んでもよい。映像コンテンツは、未加工または非圧縮フォーマット、例えば、8または10ビットのマルチモジュール画素値で受信されてもよく、または、圧縮または符号化フォーマットで受信されてもよい。入力4102は、ネットワークインターフェース、周辺バスインターフェース、または記憶インターフェースを表してもよい。ネットワークインターフェースの例は、イーサネット(登録商標)、PON(Passive Optical Network)等の有線インターフェース、およびWi-Fi(登録商標)またはセルラーインターフェース等の無線インターフェースを含む。
【0120】
システム4100は、本明細書に記載される様々な符号化または符号化方法を実装することができる符号化構成要素4104を含んでもよい。符号化構成要素4104は、入力4102からの映像の平均ビットレートを符号化構成要素4104の出力に低減し、映像の符号化表現を生成してもよい。従って、この符号化技術は、映像圧縮または映像コード変換技術と呼ばれることがある。符号化構成要素4104の出力は、構成要素4106によって表されるように、記憶されてもよいし、接続された通信を介して送信されてもよい。入力4102において受信された、記憶されたまたは通信された映像のビットストリーム(または符号化)表現は、構成要素4108によって使用されて、表示インターフェース4110に送信される画素値または表示可能な映像を生成してもよい。ビットストリーム表現からユーザが見ることができる映像を生成する処理は、映像展開と呼ばれることがある。さらに、特定の映像処理動作を「符号化」動作またはツールと呼ぶが、符号化ツールまたは動作は、エンコーダにて用いられ、それに対応する、復号化の結果を逆にする復号化ツールまたは動作が、デコーダによって行われることが理解されよう。
【0121】
周辺バスインターフェースユニットまたは表示インターフェースユニットの例は、USB(Universal Serial Bus)またはHDMI(登録商標)(High Definetion Multimedia Interface)またはディスプレイポート等を含んでもよい。ストレージインターフェースの例は、SATA(Serial Advanced Technology Attachment)、PCI、IDEインターフェース等を含む。本明細書に記載される技術は、携帯電話、ノートパソコン、スマートフォン、またはデジタルデータ処理および/または映像表示を実施可能な他のデバイス等の様々な電子デバイスに実施されてもよい。
【0122】
開示される技術のいくつかの実施形態は、映像処理ツールまたはモードを有効化するように決定または判定することを含む。一例において、映像処理ツールまたはモードが有効化される場合、エンコーダは、1つの映像ブロックを処理する際にこのツールまたはモードを使用するまたは実装するが、このツールまたはモードの使用に基づいて、結果として得られるビットストリームを必ずしも修正しなくてもよい。すなわち、映像のブロックから映像のビットストリーム表現への変換は、決定または判定に基づいて映像処理ツールまたはモードが有効化される場合に、この映像処理ツールまたはモードを使用する。別の例において、映像処理ツールまたはモードが有効化される場合、デコーダは、ビットストリームが映像処理ツールまたはモードに基づいて修正されたことを知って、ビットストリームを処理する。すなわち、決定または判定に基づいて有効化された映像処理ツールまたはモードを使用して、映像のビットストリーム表現から映像のブロックへの変換を行う。
【0123】
開示される技術のいくつかの実施形態は、映像処理ツールまたはモードを無効化するように決定または判定することを含む。一例において、映像処理ツールまたはモードが無効にされている場合、エンコーダは、映像のブロックを映像のビットストリーム表現に変換する際に、ツールまたはモードを使用しない。別の例において、映像処理ツールまたはモードが無効にされている場合、デコーダは、決定または判定に基づいて無効化された映像処理ツールまたはモードを使用してビットストリームが修正されていないことを知って、ビットストリームを処理する。
【0124】
本明細書では、「映像処理」という用語は、映像符号化、映像復号化、映像圧縮、または映像展開を指すことができる。例えば、映像圧縮アルゴリズムは、映像の画素表現から対応するビットストリーム表現への変換、またはその逆の変換中に適用されてもよい。現在の映像ブロックのビットストリーム表現は、例えば、構文によって規定されるように、ビットストリーム内の同じ場所または異なる場所に拡散されるビットに対応していてもよい。例えば、1つのマクロブロックは、変換および符号化された誤り残差値の観点から、且つビットストリームにおけるヘッダおよび他のフィールドにおけるビットを使用して符号化されてもよい。
【0125】
開示された方法および技法は、本明細書に開示された技法を使用できるようにすることで、スマートフォン、ノートパソコン、卓上パソコン、および類似した機器等の映像処理デバイスに組み込まれる映像エンコーダおよび/またはデコーダの実施例に有益となることが理解される。
【0126】
図12Aは、映像処理の例の方法1210を示すフローチャートである。この方法1210は、1212において、映像の現在の映像ブロックと映像の符号化表現との間で変換を行うことを含む。いくつかの実装形態において、符号化表現は、デフォルトの動き情報精度を使用しない現在の映像ブロックに対する複数の精度セットからの動き情報精度を示す第1のパラメータ、および/または、代替1/2画素補間フィルタを変換に使用するかどうかを識別する第2のパラメータを含む。いくつかの実装形態において、第1のパラメータおよび/または第2のパラメータは各々、1つ以上のビンに関連付けられ、コンテキストモデルに基づく符号化は、符号化表現における1または複数のビンの第1のビンに対してのみ使用される。いくつかの実装形態において、現在の映像ブロックは、マージモードまたはMMVD(Merge with Motion Vector Different)モードを使用して符号化表現で表現され、1/N予測を有する補間フィルタが、規則に従って、現在の映像ブロックに関連付けられた予測ブロックを補間するために使用され、Nは正の整数であり、規則は、補間フィルタがデフォルトの補間フィルタとは異なる代替補間フィルタである場合に、補間情報を継承するための条件を定義する。
【0127】
図12Bは、映像処理の例の方法1220を示すフローチャートである。方法1220は、1222において、映像の現在の映像ブロックと映像の符号化表現との間の変換のために、補間フィルタを使用して動き情報を判定することであって、M整数画素精度または1/Nサブピクセル精度を有し、M、Nが正の整数であり、Nが2に等しくない、ことを含む。方法1220は、1224において、動き情報に基づいて変換を行うことを含む。
【0128】
図13Aは、映像処理の例の方法1310を示すフローチャートである。方法1310は、1312において、映像の現在の映像ブロックと映像の符号化表現との間での変換のために、動き候補リストにおける1または複数の動き候補および1または複数の動き候補に関連付けられた1または複数の補間フィルタに基づいて、第1の動き候補を生成することであって、補間フィルタが、1または複数の動き候補に関連付けられた1または複数の補間フィルタに依存する規則に従って、第1の動き候補に割り当てられる、ことを含む。方法1310は、1314において、第1の動き候補を動き候補リストに挿入することをさらに含む。方法1310は、1316において、動き候補リストに基づいて変換を行うことを含む。
【0129】
図13Bは、映像処理の例の方法1320を示すフローチャートである。方法1320は、1322において、映像の第1の映像領域における第1のブロックと第2の映像領域における第2のブロックとを含む複数のブロックの各々に、複数のブロックの各々に対する動きベクトル差分情報を補間するために使用する補間フィルタそれぞれについての情報を含む動き情報を関連付けることを含む。方法1320は、1324において、動き情報を使用して、映像と映像の符号化表現との間で変換を行うことをさらに含む。
【0130】
図13Cは、映像処理の例の方法1330を示すフローチャートである。方法1330は、1332において、現在の映像ブロックを含む映像と映像の符号化表現との間での変換中に、現在の映像ブロックを処理することを含む。方法1330は、1334において、マージ候補リストと現在の映像ブロックの動き情報とを比較し、選択的にマージ候補リストを更新することとをさらに含む。いくつかの実装形態において、動き情報は、補間フィルタ情報を含み、補間フィルタ情報は、符号化表現における現在の映像ブロックを表すために使用される動きベクトル差分値を補間するために使用される補間フィルタのパラメータを含む。
【0131】
図14Aは、映像処理の例の方法1410を示すフローチャートである。方法1410は、1412において、映像領域の現在の映像ブロックと映像の符号化表現との間の変換に先だって、少なくとも1つのHMVP(History-based Motion Vector Prediction)テーブルを維持することを含み、HMVPテーブルは、1または複数の以前に処理されたブロックの動き情報に対応する1または複数のエントリを含む。方法1410は、1414において、少なくとも1つのHMVPテーブルを使用して変換を行うことをさらに含む。いくつかの実装形態において、各エントリの動き情報は、1または複数の以前に処理されたブロックのための補間フィルタ情報を含むように構成される。いくつかの実装形態において、補間フィルタ情報は、1または複数の以前に処理されたブロックの補間予測ブロックのために使用される補間フィルタを示す。
【0132】
図14Bは、映像処理の例の方法1420を示すフローチャートである。方法1420は、1422において、映像領域の現在の映像ブロックと映像の符号化表現との間の変換に先だって、1または複数の以前に処理されたブロックの動き情報に対応する1または複数のエントリを含むHMVP(History-based Motion Vector Prediction)テーブルを維持することを含み、各エントリの動き情報は、1または複数の以前に処理されたブロックのための補間フィルタ情報を含むように構成される。方法1420は、1424において、変換のために、HMVPマージ候補を含む動き候補リストを構成することを含み、HMVP候補は、1つのエントリに関連付けられた対応する補間フィルタ情報を含むHMVPテーブルから1つのエントリを継承することで導出される、ことをさらに含む。方法1420は、1426において、動き候補リストに基づいて変換を行うことを含む。
【0133】
図15Aは、映像処理の例の方法1510を示すフローチャートである。方法1510は、1512において、映像の符号化表現において、映像の現在の映像ブロックを表すために使用される符号化モードを決定することを含む。方法1510は、1514において、符号化モードに従って、現在の映像ブロックを符号化表現に符号化することをさらに含み、符号化モードの使用によって、現在の映像ブロックに対して、動き情報を表すための1/2画素精度の使用が無効化される。
【0134】
図15Bは、映像処理の例の方法1520を示すフローチャートである。方法1520は、1522において、映像の現在の映像ブロックが符号化モードを使用して符号化されていると判定するために、映像の符号化表現を構文解析することを含む。方法1520は、1524において、符号化モードに従って、符号化された表現から現在の映像ブロックの復号化表現を生成することをさらに含み、符号化モードの使用によって、現在の映像ブロックに対して、動き情報を表すための1/2画素精度の使用が無効化される。
【0135】
図15Cは、映像処理の例の方法1530を示すフローチャートである。方法1530は、1532において、GBi(Generalized Bi-prediction)モードを使用して処理される現在の映像ブロックに対して、第1の重み係数と、第2の異なる重み係数を第1の予測ブロックと第2の予測ブロックに対してそれぞれ使用することを判定することであって、第1の重み係数および第2の重み係数は重み係数集合から選択される、ことを含む。方法1530は、1534において、判定に基づいて映像の現在の映像ブロックと映像の符号化表現との間で変換を行うことをさらに含む。いくつかの実装形態において、インターモードに使用される第1重み係数セットは、アフィンインターモードに使用される第2重み係数セットとは異なる。
【0136】
図15Dは、映像処理の例の方法1540を示すフローチャートである。方法1540は、1542において、映像の映像領域の複数の映像ユニットと複数の映像ユニットの符号化表現との間での変換のために、映像ユニットの符号化モードに依存して、補間フィルタに関する情報を判定することであって、補間フィルタは、符号化表現において動きベクトル差分値を補間するために使用され、M整数画素精度または1/Nサブピクセル精度を有し、MおよびNは正の整数である、ことを含む。方法1540は、1544において、補間フィルタを使用して変換を行うことをさらに含む。
【0137】
図16Aは、映像処理の例の方法1610のフローチャートである。方法1610は、1612において、映像の符号化表現において、映像の現在の映像ブロックを表すために使用される符号化モードを決定することを含む。方法1610は、1614において、符号化モードに従って、現在の映像ブロックを符号化表現に符号化することをさらに含む。いくつかの実装形態において、符号化モードの使用に起因して、現在の映像ブロックに対して、動き情報を表すためのデフォルトの1/2画素精度フィルタに加えて代替1/2画素精度フィルタを使用することが無効化されている。
【0138】
図16Bは、映像処理の例の方法1620のフローチャートである。方法1620は、1622において、映像の現在の映像ブロックが符号化モードを使用して符号化されていると判定するために、映像の符号化表現を構文解析することを含む。方法1620は、1624において、符号化モードに従って、符号化表現から現在の映像ブロックの復号化表現を生成することをさらに含む。いくつかの実装形態において、符号化モードの使用に起因して、現在の映像ブロックに対して、動き情報を表すためのデフォルトの1/2画素精度フィルタに加えて代替1/2画素精度フィルタを使用することが無効化されている。
【0139】
図16Cは、映像処理の例の方法1630のフローチャートである。方法1630は、1632において、映像の映像ブロックに対して有効にされている代替補間フィルタを使用することに起因して、映像ブロックを映像の符号化表現に符号化するために符号化モードが許可されないと判定することを含む。方法1630は、1634において、判定に基づいて映像ブロックの符号化表現を生成することをさらに含み、代替補間フィルタは、現在の映像ブロックのインター予測ブロックを補間するために使用される。
【0140】
図16Dは、映像処理の例の方法1640のフローチャートである。方法1640は、1642において、映像の映像ブロックに対して有効化されている代替補間フィルタを使用することに起因して、映像の符号化表現において映像ブロックを表すために符号化モードを使用することが許可されないと判定することを含む。方法1640は、1644において、判定に基づいて符号化表現を構文解析することによって、復号化された映像ブロックを生成することをさらに含む。
【0141】
様々な技術および実施形態を、以下の項に基づくフォーマットを使用して説明することができる。
【0142】
第1組の項目では、前章で開示された技術の特定の特徴および態様を説明する。
【0143】
1.現在の映像ブロックに対して、近傍のブロックのセットに少なくとも1つの補間フィルタを適用することに基づいて、単一の動き情報のセットを判定することであって、前記少なくとも1つの補間フィルタは、前記単一の動き情報のセットの整数画素精度またはサブピクセル精度に構成可能である、ことと、前記現在の映像ブロックと前記現在の映像ブロックのビットストリーム表現との間での変換を行うことであって、前記変換は、前記ビットストリーム表現において信号通知される前記単一の動き情報のセットを改善するためのDMVR(Decoder Motion Vector Refinement)ステップを含む、ことを有する、映像処理方法。
【0144】
2.前記単一の動き情報のセットがAMVR(Adaptive Motion Vector Resolution)モードに関連付けられている場合、前記少なくとも1つの補間フィルタのインデックスが前記ビットストリーム表現において信号通知される、項目1に記載の方法。
【0145】
3.前記単一の動き情報のセットが1つのマージモードに関連付けられている場合、前記少なくとも1つの補間フィルタのインデックスが前の映像ブロックから継承される、項目1に記載の方法。
【0146】
4.前記単一の動き情報のセットがMMVD(Merge with Motion Vector Difference)モードに関連付けられる場合、前記少なくとも1つの補間フィルタのインデックスが前の映像ブロックから継承される、項目1に記載の方法。
【0147】
5.前記少なくとも1つの補間フィルタは、サブピクセル精度を有するデフォルトフィルタに対応し、前記単一の動き情報のセットは、MMVD(Merge with Motion Vector Difference)モードに関連付けられる、項目1に記載の方法。
【0148】
6.前記現在の映像ブロックのための前記少なくとも1つの補間フィルタの係数は、前記前の映像ブロックから継承される、第2~4項のいずれかに記載の方法。
【0149】
7.前記単一の動き情報のセットの前記サブピクセル精度は、1/4画素または1/16画素に等しい、項目1~6のいずれかに記載の方法。
【0150】
8.前記単一の動き情報のセットの1または複数の構成要素がサブピクセル精度を有する、項目1~7のいずれかに記載の方法。
【0151】
9.前記少なくとも1つの補間フィルタは、6つの係数または8つの係数を使用して表される、項目1に記載の方法。
【0152】
10.前記少なくとも1つの補間フィルタのインデックスは、現在の映像ブロックにのみ関連付けられ、後続の映像ブロックには関連付けられない、第5項に記載の方法。
【0153】
11.前記少なくとも1つの補間フィルタに関する情報が、前記単一の動き情報のセットとともに記憶される、項目1に記載の方法。
【0154】
12.前記少なくとも1つの補間フィルタに関する情報は、前記少なくとも1つの補間フィルタをデフォルトフィルタとして特定する、項目11に記載の方法。
【0155】
13.前記現在の映像ブロックに対する前記少なくとも1つの補間フィルタの係数は、別の映像ブロックの補間フィルタによる利用がされないようにする、項目1に記載の方法。
【0156】
14.前記少なくとも1つの補間フィルタは、複数のフィルタに対応し、前記複数のフィルタにおける各フィルタは、前記単一の動き情報のセットの前記サブピクセル精度に関連付けられる、項目1~13のいずれかに記載の方法。
【0157】
15.前記単一の動き情報のセットの各成分の精度は、前記単一の動き情報のセットのサブピクセル精度以下である、項目1~14のいずれかに記載の方法。
【0158】
16.前記少なくとも1つの補間フィルタは、HMVP(History-based Motion Vector Prediction)ルックアップテーブルに記憶される、項目1~15のいずれかに記載の方法。
【0159】
17.項目16に記載の方法であって、さらに、
【0160】
別の映像ブロックの動き情報が前記現在の映像ブロックの前記単一の動きのセットと同じであることを検出することに伴って、前記別の映像ブロックの前記動き情報を挿入せずに、前記単一の動き情報のセットを、前記HMVPテーブルに挿入することを有する、方法。
【0161】
18.別の映像ブロックの動き情報が前記現在の映像ブロックの前記単一の動きのセットと同じであることを検出することに伴って、HMVPテーブルに、前記現在の映像ブロックの前記単一の動き情報のセットと前記別の映像ブロックの前記動き情報を挿入することをさらに含む、項目16に記載の方法。
【0162】
19.前記別の映像ブロックは補間フィルタに関連づけられ、前記挿入することは、前記現在の映像ブロックの少なくとも1つの補間フィルタおよび/または前記別の映像ブロックの補間フィルタに少なくとも部分的に基づく、項目17~18のいずれかに記載の方法。
【0163】
20.前記現在の映像ブロックと前記別の映像ブロックは、ペアワイズ候補または結合マージ候補に対応する、項目17~19のいずれかに記載の方法。
【0164】
21.前記現在の映像ブロックの前記少なくとも1つの補間フィルタと前記別の映像ブロックの前記補間フィルタとが同じである、項目17~20のいずれかに記載の方法。
【0165】
22.前記現在の映像ブロックの前記少なくとも1つの補間フィルタと前記別の映像ブロックの前記補間フィルタとが異なる、項目17~20のいずれかに記載の方法。
【0166】
23.前記現在の映像ブロックは、IBC(Intra Block Copy)モードで符号化され、前記単一の動き情報のセットの表現における前記サブピクセル精度の使用が無効化される、項目1に記載の方法。
【0167】
24.前記少なくとも1つの補間フィルタの使用が無効にされる、項目1~23のいずれかに記載の方法。
【0168】
25.前記少なくとも1つの補間フィルタは、amvr_precision_idxフラグおよび/またはhpel_if_idxフラグに関連付けられる、項目1に記載の方法。
【0169】
26.前記amvr_precision_idxフラグおよび/または前記hpel_if_idxフラグは、バイパス符号化ビンまたはコンテキスト符号化ビンに関連付けられる、項目25に記載の方法。
【0170】
27.最初のビンは、バイパス符号化ビンまたはコンテキスト符号化ビンである、項目26に記載の方法。
【0171】
28.すべてのビンが同じコンテキストを共有する、項目25~27のいずれかに記載の方法。
【0172】
29.前記少なくとも1つの補間フィルタを用いることに基づいて、1または複数の映像処理ステップを無効化する、項目1に記載の方法。
【0173】
30.前記1または複数の映像処理ステップは、DMVR(Decoder Motion Vector Refinement)ステップ、BDOF(Bi-Directional Optical Flow)ステップ、CIIP(Combined Inter-Intra Prediction)ステップ、SMVD(Symmetric Motion Vector Difference)ステップ、SBT(SubBlock Transform)ステップ、または、三角形予測ステップ、を含む項目29に記載の方法。
【0174】
31.前記少なくとも1つの補間フィルタは、デフォルトフィルタに対応する、項目30に記載の方法。
【0175】
32.前記1または複数の映像処理ステップを無効化することは、前記ビットストリーム表現において、前記1または複数の映像処理ステップの指示を無効化することを含む、項目30~31のいずれかに記載の方法。
【0176】
33.前記1または複数の映像処理ステップを無効化することは、前記現在の映像ブロックの前記少なくとも1つの補間フィルタを別の映像ブロックに継承することを無効化することを含む、項目30~31のいずれかに記載の方法。
【0177】
34.前記単一の動き情報のセットの前記整数画素精度は、1画素、2画素、または4画素に対応する、項目1に記載の方法。
【0178】
35.前記少なくとも1つの補間フィルタは、ローパスフィルタである、項目34に記載の方法。
【0179】
36.前記少なくとも1つの補間フィルタは1次元フィルタである、項目34に記載の方法。
【0180】
37.前記1次元フィルタは、水平フィルタまたは垂直フィルタである、項目36に記載の方法。
【0181】
38.前記ビットストリーム表現におけるフラグは、前記少なくとも1つの補間フィルタを用いるどうかを示す、項目34に記載の方法。
【0182】
39.前記現在の映像ブロックは、AMVR(Adaptive Motion Vector Resolution)モードに関連付けられる、項目1~38のいずれかに記載の方法。
【0183】
40.前記現在の映像ブロックのインターモードのための前記少なくとも1つの補間フィルタは、現在の映像ブロックのGBI(Generalized Bi-Prediction)モードとは異なる、項目1~39のいずれかに記載の方法。
【0184】
41.前記少なくとも1つの補間フィルタは、予め決定される、項目1~40のいずれかに記載の方法。
【0185】
42.前記ビットストリーム表現は、前記現在の映像ブロックに関連付けられた、VPS(Video Parameter Set)、PPS(Picture Parameter Set)、ピクチャヘッダ、タイルグループヘッダ、またはスライスヘッダを含む、項目1~41のいずれかに記載の方法。
【0186】
43.前記映像処理は、エンコーダ側の実装である、項目1~42のいずれかに記載の方法。
【0187】
44.前記映像処理は、デコーダ側の実装である、項目1~70のいずれかに記載の方法。
【0188】
45.プロセッサと、命令が記憶された非一時的メモリとを備える映像システムにおける装置であって、前記命令が前記プロセッサによって実行されることにより、前記処理装置に、項目1~44のいずれかに記載の方法を実施させる装置。
【0189】
46.非一時的なコンピュータ可読媒体に記憶されたコンピュータプログラムプロダクトであって、項目1~45のいずれかの方法を実行するためのプログラムコードを含む、コンピュータプログラムプロダクト。
【0190】
第2組の項目では、例えば、例示の実装形態1、8、および10を含む、前章に記載された開示された技術の特定の特徴および態様を説明する。
【0191】
1.映像の現在の映像ブロックと前記映像の符号化表現との間で変換を行うことを有し、前記符号化表現は、前記現在の映像ブロックに対して、デフォルトの動き情報精度を使用しない複数の精度セットからの動き情報精度を示す第1のパラメータ、および/または、代替1/2画素補間フィルタを前記変換に使用するかどうかを識別する第2のパラメータを含み、前記第1のパラメータおよび/または前記第2のパラメータは各々、1または複数のビンに関連付けられ、コンテキストモデルに基づく符号化は、前記符号化表現における前記1または複数のビンの最初のビンに対してのみ使用される、映像処理方法。
【0192】
2.前記動き情報は、動きベクトル予測、動きベクトル差分、および動きベクトルのうちの少なくとも1つを有する、項目1に記載の方法。
【0193】
3.前記第1のパラメータは、amvr_precision_idxである、項目1に記載の方法。
【0194】
4.前記デフォルト動き情報精度は、1/4輝度サンプルである、項目1に記載の方法。
【0195】
5.前記複数の精度セットは、1/16輝度サンプル、1/2輝度サンプル、1輝度サンプル、および4輝度サンプルのうちの少なくとも1つを有する、項目1に記載の方法。
【0196】
6.前記現在のブロックは、インターモード、アフィンインターモード、またはイントラブロックコピーモードで符号化される、項目1に記載の方法。
【0197】
7.1つのコンテキストが前記第1のパラメータの前記最初のビンに使用される、項目1に記載の方法。
【0198】
8.残りのビンはバイパス符号化される、項目1に記載の方法。
【0199】
9.前記第1のパラメータの前記最初のビンおよび/または前記第2のパラメータの前記最初のビンは、バイパス符号化される、項目1に記載の方法。
【0200】
10.1つのコンテキストは、前記第2のパラメータの前記最初のビンに使用される、項目1に記載の方法。
【0201】
11.1つのコンテキストは、前記第1のパラメータのすべてのビンによって共有される、項目1に記載の方法。
【0202】
12.1つのコンテキストは、前記第2のパラメータのすべてのビンによって共有される、項目1に記載の方法。
【0203】
13.前記第2のパラメータは、デフォルトの1/2画素補間フィルタの使用を示す第1の値を有する、項目1に記載の方法。
【0204】
14.前記第2のパラメータは、前記代替1/2画素補間フィルタを使用する第2の値を有する、項目1に記載の方法。
【0205】
15.前記デフォルトの1/2画素補間フィルタは、[-1,4,-11,40,40,-11,4,-1]の係数セットを有する、項目13に記載の方法。
【0206】
16.前記代替1/2画素補間フィルタは、[0,3,9,20,20,9,3,0]の係数セットを有する、項目1に記載の方法。
【0207】
17.映像の現在の映像ブロックと前記映像の符号化表現との間での変換のために、補間フィルタを使用して動き情報を判定することであって、前記動き情報は、M-整数画素精度または1/Nサブピクセル精度を有し、M、Nは正の整数であり、Nが2に等しくない、ことと、前記動き情報に基づいて、前記変換を行うこととであって、前記符号化表現の構文フィールドは前記補間フィルタに対応する、こととを有する、映像処理方法。
【0208】
18.Nは4と等しい、項目17に記載の方法。代替的に、いくつかの実施形態において、Nは16と等しい。
【0209】
19.AMVR(Adaptive Motion Vector Difference Resolution)モードで符号化された前記現在の映像ブロックに起因して、前記符号化表現は、前記補間フィルタのインデックスを含む、項目17に記載の方法。
【0210】
20.マージモードおよび/またはMMVD(Merge with Motion Vector Difference)モードで符号化された現在の映像ブロックに起因して、前記補間フィルタのインデックスは前の映像ブロックから継承されない、項目17に記載の方法。
【0211】
21.マージモードおよび/またはMMVD(Merge with Motion Vector Diffenrence)モードで符号化された前記現在の映像ブロックに起因して、前記構文フィールドはデフォルト補間フィルタを示す、項目17に記載の方法。
【0212】
22.マージモードおよび/またはMMVD(Merge with Motion Vector Diffenrence)モードで符号化された前記現在の映像ブロックに起因して、前の映像ブロックから前記補間フィルタのインデックスが継承される、項目17に記載の方法。
【0213】
23.前記動き情報は、前記サブピクセル精度を有する、項目22に記載の方法。
【0214】
24.前記動き情報は、前記サブピクセル精度を有する1または複数の構成要素を含む、項目22に記載の方法。
【0215】
25.前記補間フィルタのインデックスは、前記現在の映像ブロックにのみ関連付けられ、後続の映像ブロックには関連付けられない、項目22に記載の方法。
【0216】
26.Mは、1、2または4と等しい、項目17に記載の方法。
【0217】
27.前記補間フィルタは、ローパスフィルタである、項目17に記載の方法。
【0218】
28.前記補間フィルタは、1次元フィルタである、項目17に記載の方法。
【0219】
29.前記1次元フィルタは、水平フィルタまたは垂直フィルタである、項目28に記載の方法。
【0220】
30.前記符号化表現は、M整数画素精度を有する前記補間フィルタが有効であるかどうかを示すフラグを選択的に含む、項目17に記載の方法。
【0221】
31.前記フラグは、前記現在の映像ブロックが整数画素動きベクトル精度を使用して符号化され、かつその場合にのみ信号通知される、項目30に記載の方法。
【0222】
32.前記変換を行うことは、前記符号化表現から前記映像を生成することを含む、項目1~31のいずれかに記載の方法。
【0223】
33.前記変換を行うことは、前記映像から前記符号化表現を生成することを含む、項目1~31のいずれかに記載の方法。
【0224】
34.プロセッサと、命令が記憶された非一時的メモリとを備える映像システムにおける装置であって、前記命令が前記プロセッサによって実行されることにより、前記プロセッサに、項目1~33のいずれかに記載の方法を実施させる映像システムの装置。
【0225】
35.非一時的なコンピュータ可読媒体に記憶されたコンピュータプログラムプロダクトであって、項目1~35のいずれかに記載の方法を実行するためのプログラムコードを含む、コンピュータプログラムプロダクト。
【0226】
第3組の項目では、例えば、例示の実装形態2、3、5および6を含む、前章に記載された開示された技術の特定の特徴および態様を説明する。
【0227】
1.映像の現在の映像ブロックと前記映像の符号化表現との間での変換のために、動き候補リストにおける1または複数の動き候補および前記1または複数の動き候補に関連付けられた1または複数の補間フィルタに基づいて、第1の動き候補を生成することであって、前記補間フィルタは、前記1または複数の動き候補に関連付けられた前記1または複数の補間フィルタに依存する規則に従って、前記第1の動き候補に割り当てられる、ことと、前記第1の動き候補を前記動き候補リストに挿入することと、前記動き候補リストに基づいて前記変換を行うことと、を有する映像処理方法。
【0228】
2.前記第1の動き候補は、ペアワイズマージ候補、結合マージ候補、ゼロ動きベクトル候補、および/または他のデフォルト候補のうちの少なくとも1つに対応する、項目1に記載の方法。
【0229】
3.各動き候補は、1/2サンプル補間フィルタインデックスに関連付けられ、前記第1の動き候補の1/2サンプル補間フィルタは、少なくとも2つの動き候補の1/2サンプル補間フィルタインデックスによって決定される、項目1に記載の方法。
【0230】
4.同じ1/2サンプル補間フィルタに関連付けられている2つの動き候補に対し、前記規則は、前記第1の動き候補において同じ1/2サンプル補間フィルタを継承することを規定する、項目1に記載の方法。
【0231】
5.前記同じ1/2サンプル補間フィルタは、1に等しい1/2サンプル補間フィルタインデックスに関連付けられた代替1/2サンプル補間フィルタに対応し、前記代替1/2サンプル補間フィルタは、0に等しい1/2サンプル補間フィルタインデックスに関連付けられたデフォルト1/2サンプル補間フィルタとは異なる、項目4に記載の方法。
【0232】
6.デフォルト補間フィルタに関連付けられていない前記動き候補の1つに対し、前記規則は、前記補間フィルタを前記第1の動き候補に継承することを規定する、項目1に記載の方法。
【0233】
7.前記補間フィルタは、対応する予測方向に対してのみ使用される、項目6に記載の方法。
【0234】
8.異なる補間フィルタに関連付けられている2つの動き候補に対し、前記規則は、前記第1の動き候補において前記異なる補間フィルタが継承されることを規定する、項目1に記載の方法。
【0235】
9.前記異なる補間フィルタが、異なる予測方向に対して使用される、項目1に記載の方法。
【0236】
10.割り当てられた補間フィルタに対応する代替補間フィルタの前記第1の動き候補の数は、K以下であり、Kは0以上である、項目1に記載の方法。
【0237】
11.前記デフォルト補間フィルタは、前記第1の動き候補に対して常に用いられる、項目1に記載の方法。
【0238】
12.映像の第1の映像領域における第1のブロックと、第2の映像領域における第2のブロックとを含む複数のブロックの各々に、前記複数のブロックの各々に対して動きベクトル差分情報を補間するために使用するそれぞれの補間フィルタについての情報を含む動き情報を関連付けることと、前記動き情報を使用して、前記映像と前記映像の符号化表現との間の変換を行うことと、を含む、映像処理方法。
【0239】
13.前記動き情報は、デフォルト動き補間フィルタの使用を示す情報を含む、項目12に記載の方法。
【0240】
14.前記動き情報は、デフォルトの補間フィルタとは異なる代替補間フィルタを特定する、項目12に記載の方法。
【0241】
15.前記動き情報は、1または複数の動きベクトル、および1または複数の参照フレームインデックスを含む、項目12に記載の方法。
【0242】
16.前記第1の映像領域および前記第2の映像領域は、符号化ツリーユニット行である、項目12~15のいずれかに記載の方法。
【0243】
17.前記第1の映像領域および前記第2の映像領域は、仮想パイプラインデータユニットである、項目12~15のいずれかに記載の方法。
【0244】
18.前記第1の映像領域および前記第2の映像領域は、異なる領域である、項目12~17のいずれかに記載の方法。
【0245】
19.前記第2のブロックは、前記第1のブロックにアクセスすることで符号化または復号化され、前記動き情報は、前記第1の映像領域が前記第2の映像領域と異なる場合、前記第2のブロックに使用される補間フィルタが、第1のブロックに使用される補間フィルタと同じであることは許可されないことを規定する規則に従う、項目12~18のいずれかに記載の方法。
【0246】
20.前記第1の映像領域および前記第2の映像領域は、同じである、項目12~17のいずれかに記載の方法。
【0247】
21.映像の現在の映像ブロックと前記映像の符号化表現との間で変換を行うことを有し、前記現在の映像ブロックは、マージモードまたはMMVD(Merge with Motion Vector Different)モードを使用して前記符号化表現で表現され、1/N精度を有する補間フィルタは、規則に従って、前記現在の映像ブロックに関連付けられた予測ブロックを補間するために用いられ、Nは正の整数であり、前記規則は、前記補間フィルタがデフォルトの補間フィルタとは異なる代替補間フィルタである場合、補間情報を継承するための条件を定義する、映像処理方法。
【0248】
22.前記規則は、前記代替補間フィルタの係数を前記継承することを許可しないことを判定する、項目21に記載の方法。
【0249】
23.前記符号化表現における構文要素は、常に前記デフォルト補間フィルタを示す、項目21に記載の方法。
【0250】
24.前記規則は、前記代替補間フィルタの係数を前記継承することを許可することを判定する、項目21に記載の方法。
【0251】
25.最終的に導出された動きベクトルが1/2画素の精度であり、動きベクトル構成要素がより細かい動きベクトル精度を有していない場合、前記代替補間フィルタの前記係数が継承される、項目24に記載の方法。
【0252】
26.最終的に導出された動きベクトルが、1/2画素の精度を有する1または複数の動きベクトル構成要素を含む場合、前記代替補間フィルタの前記係数が継承される、項目24に記載の方法。
【0253】
27.前記代替補間フィルタは、動き補償にのみ使用される、項目24に記載の方法。
【0254】
28.前記現在の映像ブロックのために、前記デフォルト補間フィルタのインデックスが記憶され、前記現在の映像ブロックの後続の符号化ブロックで使用される、項目24に記載の方法。
【0255】
29.現在の映像ブロックを含む映像と前記映像の符号化表現との間での変換中に、前記現在の映像ブロックを処理することと、マージ候補リストと前記現在の映像ブロックの動き情報とを比較して、選択的に更新することと、を有し、前記動き情報は、補間フィルタ情報を含み、前記補間フィルタ情報は、前記符号化表現における前記現在の映像ブロックを表すために使用される動きベクトル差分値を補間するために使用される補間フィルタのパラメータを含む、映像処理方法。
【0256】
30.異なる補間フィルタに関連付けられた2つのマージ候補は、2つの異なるマージ候補として見なされる、項目29に記載の方法。
【0257】
31.前記マージリストを比較して選択的に更新することは、前記補間フィルタ情報を考慮することにより、HMVP(History-mased Motion Vector Prediction)マージ候補を前記マージ候補リストに挿入することを含む、項目29に記載の方法。
【0258】
32.前記マージ候補リストを比較して選択的に更新することは、前記補間フィルタ情報を考慮することなく、HMVP(History-based Motion Vector Prediction)マージ候補を前記マージ候補リストに挿入することを含む、項目29に記載の方法。
【0259】
33.前記デフォルトの動き補間フィルタは、[-1,4,-11,40,40,-11,4,-1]の係数セットを有する、項目1~32のいずれかに記載の方法。
【0260】
34.前記代替補間フィルタは、[0,3,9,20,20,9,3,0]の係数セットを有する、項目1~32のいずれかに記載の方法。
【0261】
35.前記変換を行うことは、前記現在の映像ブロックから前記符号化表現を生成することを含む、項目1~34のいずれかに記載の方法。
【0262】
36.前記変換を行うことは、前記符号化表現から前記現在の映像ブロックを生成することを含む、項目1~34のいずれかに記載の方法。
【0263】
37.プロセッサと、命令が記憶された非一時的メモリとを備える映像システムにおける装置であって、前記命令が前記プロセッサによって実行されることにより、前記プロセッサに、項目1~36のいずれかに記載の方法を実施させる映像システムの装置。
【0264】
38.非一時的なコンピュータ可読媒体に記憶されたコンピュータプログラムプロダクトであって、項目1~36のいずれかに記載の方法を実行するためのプログラムコードを含む、コンピュータプログラムプロダクト。
【0265】
第4組の項目では、例えば、例示の実装形態4を含む、前章に記載された開示された技術の特定の特徴および態様を説明する。
【0266】
1.映像領域の現在の映像ブロックと映像の符号化表現との間の変換の前に、少なくとも1つのHMVP(History-based Motiona Vector Prediction)テーブルを維持することであって、前記HMVPテーブルは、1または複数の以前に処理されたブロックの動き情報に対応する1または複数のエントリを含む、ことと、前記少なくとも1つのHMVPテーブルを使用して前記変換を行うことと、を有し、各エントリの前記動き情報は、1または複数の以前に処理されたブロックのための補間フィルタ情報を含むように構成され、前記補間フィルタ情報は、1または複数の以前に処理されたブロックのうちの予測ブロックを補間するために使用した補間フィルタを示す、映像処理方法。
【0267】
2.映像領域の現在の映像ブロックと映像の符号化表現との間の変換の前に、1または複数の以前に処理されたブロックの動き情報に対応する1または複数のHMVP(Hitory-based Motion Vector Prediction)テーブルを維持することであって、各エントリの前記動き情報は、1または複数の以前に処理されたブロックのための補間フィルタ情報を含むように構成される、ことと、前記変換のために、HMVPマージ候補を含む動き候補リストを構築することであって、前記HMVP候補は、1つのエントリに関連付けられた対応する補間フィルタ情報を含む前記HMVPテーブルからの前記1つのエントリを継承することによって導出される、ことと、前記動き候補リストに基づいて前記変換を行うことと、を有する映像処理方法。
【0268】
3.前記変換の後、前記HMVPテーブルを選択的に更新することをさらに有する、項目1または2に記載の方法。
【0269】
4.前記現在の映像ブロックのための前記変換中に導出された前記動き情報を使用して、前記HMVPテーブルを選択的に更新することをさらに有し、前記現在の映像ブロックのために導出された動前記動き情報は、前記現在の映像ブロックのための補間フィルタ情報を含む。項目1または2に記載の方法。
【0270】
5.前記更新することは、前記補間フィルタ情報を考慮せずに、新しい候補を前記HMVPテーブルに挿入するかどうかを判定することを含む、項目3または4に記載の方法。
【0271】
6.補間フィルタ情報が異なるが、前記補間フィルタ情報を除く残りの動き情報の一部又は全部が同じである、前記新しい候補と、更新前の前記HMVPテーブルにおけるエントリとは、同じ候補として考慮される、項目4に記載の方法。
【0272】
7.前記更新することは、前記補間フィルタ情報を考慮することにより、新しい候補を前記HMVPテーブルに挿入するかどうかを判定することを含む、項目3または4に記載の方法。
【0273】
8.、前記補間フィルタ情報を除く残りの動き情報の一部または全部が同じである、前記新しい候補と、更新前の前記HMVPテーブルにおけるエントリとは、2つの異なる候補として考慮される、項目7に記載の方法。
【0274】
9.前記新しい候補は、前記現在の映像ブロックの前記動き情報に基づいて導出される、項目5~8のいずれかに記載の方法。
【0275】
10.前記更新することは、前記HMVPテーブルにおけるエントリと異なる新しい候補に対し、前記新しい候補を前記HMVPテーブルに追加することを含む、項目5~8のいずれかに記載の方法。
【0276】
11.前記更新することは、前記HMVPテーブルにおけるエントリと同じ前記新規候補に対し、前記HMVPテーブルから前記エントリを削除し、前記新しい候補を前記HMVPテーブルに追加することを含む、項目5~8のいずれかに記載の方法。
【0277】
12.前記補間フィルタ情報は、代替補間フィルタまたはデフォルト補間フィルタの使用を示す1/2サンプル補間フィルタインデックスを含む、項目1~11のいずれか記載の方法。
【0278】
13.前記デフォルト補間フィルタの前記使用を示すために、前記1/2サンプル補間フィルタのインデックスが0に等しい、項目12に記載の方法。
【0279】
14.前記代替補間フィルタの前記使用を示すために、前記1/2サンプル補間フィルタのインデックスが1に等しい、項目12に記載の方法。
【0280】
15.前記デフォルト補間フィルタは、[-1,4,-11,40,40,-11,4,-1]である係数セットを有する、項目12に記載の方法。
【0281】
16.前記代替補間フィルタは、[0,3,9,20,20,9,3,0]の係数セットを有する、項目12に記載の方法。
【0282】
17.前記変換を行うことは、前記現在の映像ブロックから前記符号化表現を生成することを含む、項目1~16のいずれかに記載の方法。
【0283】
18.前記変換を行うことは、前記符号化表現から前記現在の映像ブロックを生成することを含む、項目1~16のいずれかに記載の方法。
【0284】
19.プロセッサと、命令が記憶された非一時的メモリとを備える映像システムにおける装置であって、前記命令が前記プロセッサによって実行されることにより、前記プロセッサに、項目1~18のいずれかに記載の方法を実施させる映像システムの装置。
【0285】
20.非一時的なコンピュータ可読媒体に記憶されたコンピュータプログラムプロダクトであって、項目1~18のいずれかに記載の方法を実行するためのプログラムコードを含む、コンピュータプログラムプロダクト。
【0286】
第5組の項目では、例えば、例示の実装形態7および11~12を含む、前章に記載された開示された技術の特定の特徴および態様を説明する。
【0287】
1.映像の符号化表現において、映像の現在の映像ブロックを表すために使用される符号化モードを決定することと、前記符号化モードに従って、前記現在の映像ブロックを前記符号化表現に符号化することと、を有し、前記符号化モードの使用に起因して、前記現在の映像ブロックに対して、動き情報を表すための1/2画素精度の使用が無効化される、映像符号化方法。
【0288】
2.映像の現在の映像ブロックが符号化モードを使用して符号化されているかを判定するために、前記映像の符号化表現を構文解析することと、前記符号化モードに従って、前記符号化表現から前記現在の映像ブロックの復号化表現を生成することと、を有し、前記符号化モードを使用することに起因して、前記現在の映像ブロックに対して、動き情報を表すための1/2画素精度の使用が無効化される、映像復号化方法。
【0289】
3.前記動き情報は、前記現在の映像ブロックのための1または複数の動きベクトルに対応する、項目1または2に記載の方法。
【0290】
4.前記動き情報は、前記現在の映像ブロックの1または複数の動きベクトル差分値に対応する、項目1または2に記載の方法。
【0291】
5.前記動き情報は、前記現在の映像ブロックの動きベクトルおよび前記現在の映像ブロックの1または複数の動きベクトル差分値に対応する、項目1または2に記載の方法。
【0292】
6.前記符号化モードの使用に起因して、前記符号化表現は、1/2画素解像度が前記現在の映像ブロックに適用可能であるかどうかを信号通知するためのビットおよび/またはビンを省略する、項目1~4のいずれかに記載の方法。
【0293】
7.前記符号化モードは、前記現在の映像ブロックを符号化するために、前記現在の映像ブロックを含む映像フレームを指すブロックベクトルを少なくとも使用して予測ブロックを生成するIBC(Intra Block Copy)モードに対応する、項目1~6のいずれかに記載の方法。
【0294】
8.1/2画素補間フィルタの指示が信号通知されない、項目7に記載の方法。
【0295】
9.前記符号化モードは、前記現在の映像ブロックを2つの部分に分割し、各部分が1つの動き候補に関連付けられ、同じ動き候補リストから2つの動き候補を導出するモードに対応する、項目1に記載の方法。
【0296】
10.前記符号化モードは、三角形予測モードに対応する、項目9に記載の方法。
【0297】
11.前記符号化モードは、前記現在の映像ブロックと近傍のブロックとが前記動き情報を共有するマージモードに対応する、項目1に記載の方法。
【0298】
12.GBi(Generalized Bi-prediction)モードを使用して処理される現在の映像ブロックに対して、第1の重み係数と、第2の異なる重み係数を第1の予測ブロックと第2の予測ブロックに対してそれぞれ使用するように、判定することであって、前記第1の重み係数および前記第2の重み係数は重み係数セットから選択される、ことと、前記最終予測子を使用して、映像の現在の映像ブロックと前記映像の符号化表現との間で変換を行うことと、を有し、インターモードにて使用される第1の重み係数セットは、アフィンインターモードにて使用される第2の重み係数セットとは異なる、映像処理方法。
【0299】
13.前記第1の重み係数と前記第2の重み係数との合計が1に等しい、項目12に記載の方法。
【0300】
14.前記重み係数セットは、現在の映像ブロックに関連付けられた、SPS(SequenceParamter Set)、VPS(Video Parameter Set)、PPS(Picture Parameter Set)、ピクチャヘッダ、タイルグループヘッダ、またはスライスヘッダにおいて信号通知される、項目12に記載の方法。
【0301】
15.前記重み係数セットは予め規定される、項目12に記載の方法。
【0302】
16.映像の映像領域の複数の映像ユニットと前記複数の映像ユニットの符号化表現との間での変換のために、映像ユニットの符号化モードに依存する補間フィルタに関する情報を判定することであって、前記補間フィルタは、前記符号化表現において動きベクトル差分値を補間するために使用され、M整数画素精度または1/Nサブピクセル精度を有し、MおよびNは正の整数である、ことと、前記補間フィルタを使用して前記変換を行うことと、を有する、映像処理方法。
【0303】
17.判定することは、アフィンモードで符号化された前記映像ユニットのための前記補間フィルタの第1の係数セットを判定し、判定することは、非アフィンモードで符号化された別の映像ユニットのための前記補間の異なる第2の係数セットを判定する、項目16に記載の方法。
【0304】
18.判定することは、IBCモードで符号化された前記映像ユニットのための前記補間フィルタの第1の係数セットを判定し、判定することは、非IBCモードで符号化された別の映像ユニットのための前記補間の異なる第2の係数セットを判定する、項目16に記載の方法。
【0305】
19.前記変換を行うことは、前記現在の映像ブロックから前記符号化表現を生成することを含む、項目1~18のいずれかに記載の方法。
【0306】
20.前記変換を行うことは、前記符号化表現から前記現在の映像ブロックを生成することを含む、項目1~18のいずれかに記載の方法。
【0307】
21.プロセッサと、命令が記憶された非一時的メモリとを備える映像システムにおける装置であって、前記命令が前記プロセッサによって実行されることにより、前記プロセッサに、項目1~20のいずれかに記載の方法を実施させる映像システムの装置。
【0308】
22.非一時的なコンピュータ可読媒体に記憶されたコンピュータプログラムプロダクトであって、項目1~20のいずれかに記載の方法を実行するためのプログラムコードを含む、コンピュータプログラムプロダクト。
【0309】
第6組の項目では、例えば、例示の実装形態9を含む、前章に記載された開示された技術の特定の特徴および態様を説明する。
【0310】
1.映像の符号化表現において、前記映像の現在の映像ブロックを表すために使用される符号化モードを決定することと、前記符号化モードに従って、前記現在の映像ブロックを前記符号化表現に符号化することと、を有し、前記符号化モードの使用に起因して、前記現在の映像ブロックに対して、動き情報を表すためのデフォルトの1/2画素精度フィルタに加えて代替1/2画素精度フィルタの使用が無効化される、映像符号化方法。
【0311】
2.映像の現在の映像ブロックが符号化モードを使用して符号化されていることを判定するために、前記映像の符号化表現を構文解析することと、前記符号化モードに従って、前記符号化表現から前記現在の映像ブロックの復号化表現を生成することと、を有し、前記符号化モードを使用することに起因して、前記現在の映像ブロックに対して、動き情報を表すためのデフォルトの1/2画素精度フィルタに加えて代替1/2画素精度フィルタの使用が無効化される、映像復号化方法。
【0312】
3.前記符号化モードは、前記映像ブロックを複数の区画に分割し、そのうちの少なくとも1つが非長方形区画である三角形予測モードに対応する、項目1または2に記載の方法。
【0313】
4.前記三角形予測モードにおいて、前記代替1/2画素精度フィルタに関する情報は継承されず、前記デフォルトの1/2画素精度フィルタのみが用いられる、項目3に記載の方法。
【0314】
5.前記符号化モードは、前記現在のブロックが双方向予測されるBDOF(Bi-Direction Optical Flow)に対応する、項目1または2に記載の方法。
【0315】
6.前記符号化モードは、デコーダ側で導出された動き情報から予測情報を改善するDMVR(Decoder-side Motion Vector Refinement)に対応する、項目1または2に記載の方法。
【0316】
7.前記符号化モードは、デコーダ側で動き情報を導出するDMVD(Decoder-side Motion Vector Derivation)に対応する、項目1または2に記載の方法。
【0317】
8.前記符号化モードは、インター予測とイントラ予測とを組み合わせて最終予測信号を生成するCIIP(Combined Inter-Intra Prediction)に対応する、項目1または2に記載の方法。
【0318】
9.前記符号化モードは、動きベクトルの差分を対称的に処理するSMVD(Symmetric Motion Vector Difference)に対応する、項目1または2に記載の方法。
【0319】
10.前記符号化モードは、サブブロックを1つの変換ブロックに変換するSBT(SubBlock Transform)に対応する、項目1または2に記載の方法。
【0320】
11.映像の映像ブロックに対して有効にされている代替補間フィルタを使用することに起因して、前記映像ブロックを前記映像の符号化表現に符号化するために符号化モードが許可されないことを判定することと、前記判定に基づいて、前記映像ブロックの前記符号化表現を生成することと、を有し、前記代替補間フィルタは、前記現在の映像ブロックのインター予測ブロックを補間するために使用される、映像符号化方法。
【0321】
12.映像の映像ブロックに対して有効にされている代替補間フィルタを使用することに起因して、前記映像の符号化表現における前記映像ブロックを表すための符号化モードの使用が許可されないことを判定することと、前記判定に基づいて前記符号化表現を構文解析することにより、復号化された映像ブロックを生成することと、を有する、映像復号化方法。
【0322】
13.前記代替補間フィルタは、代替1/2サンプル補間フィルタである、項目11または12に記載の方法。
【0323】
14.前記判定することは、前記現在の映像ブロックを2つの部分に分割し、各部分が1つの動き候補に関連付けられ、2つの動き候補は同じ動き候補リストから導出される符号化モードに対応する前記符号化モードを許可しないことを判定する、項目11に記載の方法。
【0324】
15.前記符号化モードは、三角形予測モードに対応する、項目14に記載の方法。
【0325】
16.前記代替補間フィルタに関する情報は、前記符号化モードにおいて継承されず、デフォルトの1/2サンプル補間フィルタのみが使用される項目13または14に記載の方法。
【0326】
17.前記判定することは、前記現在のブロックが双方向予測されるBDOF(Bi-Direction Optical Flow)に対応する前記符号化モードを許可しないことを判定する、項目11または12に記載の方法。
【0327】
18.前記判定することは、デコーダ側で導出された動き情報から予測情報を改善するDMVR(Decoder-side Motion Vector Refinement)に対応する前記符号化モードを許可しないかを判定する、項目17に記載の方法。
【0328】
19.前記判定することは、デコーダ側において動き情報を導出するDMVD(Decoder-side Motion Vector Derivation)に対応する前記符号化モードを許可しないことを判定する、項目12に記載の方法。
【0329】
20.前記判定することは、インター予測とイントラ予測とを組み合わせることで最終予測信号を生成するCIIP(Combined Inter-Intra Prediction)に対応する前記符号化モードを許可しないことを判定する、項目11に記載の方法。
【0330】
21.マージ候補が前記補間フィルタを継承する場合、CIIPフラグをスキップし、偽であると推論する、項目20に記載の方法。
【0331】
22.CIIPフラグが真である場合、常にデフォルトの補間フィルタが使用される、項目20に記載の方法。
【0332】
23.前記判定することは、動きベクトル差分を対称的に処理するSMVD(Symmetric Motion Vector Difference)に対応する前記符号化モードを許可しないことを判定する、項目11に記載の方法。
【0333】
24.前記SMVDの前記使用のために常にデフォルトの補間フィルタが使用され、前記補間フィルタに関する構文要素は信号通知されない、項目23に記載の方法。
【0334】
25.前記補間フィルタに関する構文要素は、前記補間フィルタを使用しないことを表し、前記SMVDに関する構文要素は信号通知されず、前記SMVDは使用されない、項目23に記載の方法。
【0335】
26.前記判定することは、サブブロックを変換ブロックに変換するSBT(SubBlock Transform)に対応する前記符号化モードを許可しないことを判定する、項目12に記載の方法。
【0336】
27.デフォルトの補間フィルタは前記SBTの使用のために常に使用され、前記補間フィルタに関する構文要素は信号通知されない、項目26に記載の方法。
【0337】
28.前記補間フィルタに関する構文要素は、前記補間フィルタが使用されないことを示し、前記SBTに関する構文要素は信号通知されず、前記SBTは使用されない、項目26に記載の方法。
【0338】
29.前記符号化表現を前記生成することは、前記映像ブロックが複数の部分に分割され、少なくとも1つが長方形部分である、三角符号化モードを使用して前記映像ブロックを符号化することによって、前記符号化表現を生成することを含む、項目11に記載の方法。
【0339】
30.前記補間フィルタに関する情報は、前記三角形符号化モードにおいて継承される、項目29に記載の方法。
【0340】
31.前記符号化表現を生成することは、前記符号化モードの使用を信号通知する構文要素を省略することにより、前記符号化表現を生成することを含む、項目11に記載の方法。
【0341】
32.前記符号化表現を前記構文解析することは、前記符号化モードの使用を信号通知する構文要素がない場合に前記符号化表現を構文解析すること含む、項目12に記載の方法。
【0342】
33.プロセッサと、命令が記憶された非一時的メモリとを備える映像システムにおける装置であって、前記命令が前記プロセッサによって実行されることにより、前記プロセッサに、項目1~32のいずれかに記載の方法を実施させる映像システムの装置。
【0343】
34.非一時的なコンピュータ可読媒体に記憶されたコンピュータプログラムプロダクトであって、項目1~32のいずれかに記載の方法を実行するためのプログラムコードを含む、コンピュータプログラムプロダクト。
【0344】
いくつかの実施形態において、上記開示の方法は、この方法を実行するように構成可能なプロセッサを備える装置によって実装されてもよい。
【0345】
本明細書に記載された開示された、およびその他の解決策、実施例、実施形態、モジュール、および機能動作の実装形態は、本明細書に開示された構造およびその構造的等価物を含め、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、若しくはハードウェアで実施されてもよく、またはそれらの1または複数の組み合わせで実施してもよい。開示された、およびその他の実施形態は、1または複数のコンピュータプログラムプロダクト、すなわち、データ処理装置によって実装されるため、またはデータ処理装置の動作を制御するために、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして実施することができる。このコンピュータ可読媒体は、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝播信号をもたらす物質の組成物、またはこれらの1または複数の組み合わせであってもよい。「データ処理装置」という用語は、例えば、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサ、若しくはコンピュータを含む、データを処理するためのすべての装置、デバイス、および機械を含む。この装置は、ハードウェアの他に、当該コンピュータプログラムの実行環境を作るコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの1つ以上の組み合わせを構成するコードを含むことができる。伝播信号は、人工的に生成した信号、例えば、機械で生成した電気、光、または電磁信号であり、適切な受信装置に送信するための情報を符号化するために生成される。
【0346】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとも呼ばれる)は、コンパイルされた言語または解釈された言語を含む任意の形式のプログラミング言語で記述することができ、また、それは、スタンドアロンプログラムとして、またはコンピューティング環境で使用するのに適したモジュール、コンポーネント、サブルーチン、または他のユニットとして含む任意の形式で展開することができる。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(例えば、マークアップ言語文書に格納された1つ以上のスクリプト)に記録されていてもよいし、当該プログラム専用の単一のファイルに記憶されていてもよいし、複数の調整ファイル(例えば、1または複数のモジュール、サブプログラム、またはコードの一部を格納するファイル)に記憶されていてもよい。1つのコンピュータプログラムを、1つのサイトに位置する1つのコンピュータ、または複数のサイトに分散され通信ネットワークによって相互接続される複数のコンピュータで実行させるように展開することも可能である。
【0347】
本明細書に記載された処理およびロジックフローは、入力データ上で動作し、出力を生成することによって機能を実行するための1つ以上のコンピュータプログラムを実行する1または複数のプログラマブルプロセッサによって行うことができる。処理およびロジックフローはまた、特定用途のロジック回路、例えば、FPGA(Field Programmable Gate Array)またはASIC(Application Specific Integrated Circuit)によって行うことができ、装置はまた、特別目的のロジック回路として実装することができる。
【0348】
コンピュータプログラムの実行に適したプロセッサは、例えば、汎用および専用マイクロプロセッサの両方、並びに任意の種類のデジタルコンピュータの任意の1または複数のプロセッサを含む。一般的に、プロセッサは、リードオンリーメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの本質的な要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための1つ以上のメモリデバイスとである。一般的に、コンピュータは、データを記憶するための1つ以上の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含んでもよく、またはこれらの大容量記憶デバイスからデータを受信するか、またはこれらにデータを転送するように動作可能に結合されてもよい。しかしながら、コンピュータは、このようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、あらゆる形式の不揮発性メモリ、媒体、およびメモリデバイスを含み、例えば、EPROM、EEPROM、フラッシュ記憶装置、磁気ディスク、例えば内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、およびCD-ROMおよびDVD-ROMディスク等の半導体記憶装置を含む。プロセッサおよびメモリは、特定用途のロジック回路によって補完されてもよく、または特定用途のロジック回路に組み込まれてもよい。
【0349】
本特許明細書は多くの詳細を含むが、これらは、任意の主題の範囲または特許請求の範囲を限定するものと解釈されるべきではなく、むしろ、特定の技術の特定の実施形態に特有であり得る特徴の説明と解釈されるべきである。本特許文献において別個の実施形態のコンテキストで説明されている特定の特徴は、1つの例において組み合わせて実装してもよい。逆に、1つの例のコンテキストで説明された様々な特徴は、複数の実施形態において別個にまたは任意の適切なサブコンビネーションで実装してもよい。さらに、特徴は、特定の組み合わせで作用するものとして上記に記載され、最初にそのように主張されていてもよいが、主張された組み合わせからの1または複数の特徴は、場合によっては、組み合わせから抜粋されることができ、主張された組み合わせは、サブコンビネーションまたはサブコンビネーションのバリエーションに向けられてもよい。
【0350】
同様に、動作は図面において特定の順番で示されているが、これは、所望の結果を達成するために、このような動作が示された特定の順番でまたは連続した順番で行われること、または示された全ての動作が行われることを必要とするものと理解されるべきではない。また、本特許明細書に記載されている例における様々なシステムの構成要素の分離は、全ての実施形態においてこのような分離を必要とするものと理解されるべきではない。
【0351】
いくつかの実装形態および例のみが記載されており、本特許明細書に記載され図示されているコンテンツに基づいて、他の実施形態、拡張および変形が可能である。
図1
図2
図3
図4
図5A
図5B
図6
図7
図8
図9
図10
図11A
図11B
図12A
図12B
図13A
図13B
図13C
図14A
図14B
図15A
図15B
図15C
図15D
図16A
図16B
図16C
図16D