JP7431253B2 - 動き情報精緻化のサブ領域に基づいた決定 - Google Patents

動き情報精緻化のサブ領域に基づいた決定 Download PDF

Info

Publication number
JP7431253B2
JP7431253B2 JP2021564118A JP2021564118A JP7431253B2 JP 7431253 B2 JP7431253 B2 JP 7431253B2 JP 2021564118 A JP2021564118 A JP 2021564118A JP 2021564118 A JP2021564118 A JP 2021564118A JP 7431253 B2 JP7431253 B2 JP 7431253B2
Authority
JP
Japan
Prior art keywords
motion vector
video
video block
mvd
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021564118A
Other languages
English (en)
Other versions
JP2022530516A (ja
Inventor
リュウ,ホンビン
ザン,リー
ザン,カイ
ワン,ユエ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
ByteDance Inc
Original Assignee
Beijing ByteDance Network Technology Co Ltd
ByteDance Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing ByteDance Network Technology Co Ltd, ByteDance Inc filed Critical Beijing ByteDance Network Technology Co Ltd
Publication of JP2022530516A publication Critical patent/JP2022530516A/ja
Priority to JP2024010643A priority Critical patent/JP2024032872A/ja
Application granted granted Critical
Publication of JP7431253B2 publication Critical patent/JP7431253B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/543Motion estimation other than block-based using regions

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Description

[関連出願への相互参照]
本願は、2020年5月18日付けで出願された国際特許出願第PCT/CN2020/090802号の国内段階であり、上記の国際特許出願は、2019年5月16日付けで出願された国際特許出願第PCT/CN2019/0871937号、2019年6月4日付けで出願された国際特許出願第PCT/CN2019/090037号、2019年6月12日付けで出願された国際特許出願第PCT/CN2019/090903号、2019年6月28日付けで出願された国際特許出願第PCT/CN2019/093616号、2019年6月29日付けで出願された国際特許出願第PCT/CN2019/093973号、2019年7月1日付けで出願された国際特許出願第PCT/CN2019/094282号、2019年9月5日付けで出願された国際特許出願第PCT/CN2019/104489号、及び2019年11月8日付けで出願された国際特許出願第PCT/CN2019/116757号に対する優先権及びその利益を適時請求するようになされる。上記の出願の全体の開示は、本願の開示の部分として参照により援用される。
[技術分野]
本特許文献は、ビデオ処理技術、デバイス、及びシステムに関する。
ビデオ圧縮の進歩にかかわらず、デジタルビデオは依然として、インターネット及び他のデジタル通信ネットワーク上で最大バンド幅使用を占める。ビデオを受信及び表示することが可能なユーザデバイスの接続数が増えるにつれて、デジタルビデオ利用のためのバンド幅需要は成長し続けることが予期される。
サブ領域に基づいた動き情報精緻化を含むデジタルビデオコーディングに関連したデバイス、システム及び方法が記載される。記載されている方法は、既存のビデオコーディング標準規格(例えば、HEVC(High Efficiency Video Coding))及び将来のビデオコーディング標準規格(例えば、VVC(Versatile Video Coding))又はコーデックの両方に適用される可能性がある。
1つの代表的な態様で、開示されている技術は、ビデオ処理の方法であって、
ビデオの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、少なくとも1つの動きベクトルオフセットが前記現在のビデオブロック内の領域について導出されるオプティカルフローに基づいた方法を用いて前記現在のビデオブロックの動き情報が精緻化されることを決定するステップと、
N及びNが規則に基づいた整数であるとして、前記少なくとも1つの動きベクトルオフセットを範囲[-N,M]にクリップするステップと、
前記少なくとも1つの動きベクトルオフセットに基づき前記変換を実行するステップと
を有する方法を提供するために使用されてよい。
他の態様では、開示されている技術は、ビデオ処理の方法であって、
動き情報を精緻化するために使用されるデコーダ側動きベクトル精緻化(DMVR)動作中に、精緻化された動きベクトルとして、ビデオの現在のビデオブロックと関連した1つ以上の動きベクトル差分を用いて類似度一致関数を適用した結果に等しい動き情報を選択するステップと、
前記精緻化された動きベクトルを用いて、前記現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換を実行するステップと
を有する方法を提供するために使用されてよい。
更なる他の例示的な態様で、ビデオ処理の方法が開示される。方法は、
ビデオの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、前記現在のビデオブロックと関連した動き情報を導出するステップと、
規則に従って、第1サブ領域及び第2サブ領域を含む前記現在のビデオブロックに精緻化動作を適用するステップであり、前記規則は、前記第1サブ領域及び前記第2サブ領域が、前記精緻化動作により互いに異なった動き情報を有することを許す、前記適用するステップと、
前記現在のビデオブロックの精緻化された動き情報を用いて前記変換を実行するステップと
を含む。
更なる他の例示的な態様で、ビデオ処理の他の方法が開示される。方法は、
ビデオの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、前記現在のビデオブロックと関連した動き情報を導出するステップと、
前記現在のビデオブロックのサブ領域について、前記動き情報を精緻化するために使用されたデコーダ側動きベクトル精緻化(DMVR)の出力に基づき、双方向オプティカルフロー(BIO)を用いた精緻化動作の適用可能性を決定するステップと、
前記決定に基づき前記変換を実行するステップと
を含む。
更なる他の例示的な態様で、ビデオ処理の他の方法が開示される。方法は、
2つの動き候補間の距離を定める距離テーブルを含む動きベクトル表現を含む動きベクトル差分によるマージモード(MMVD)でコーディングされた現在のビデオブロックと関連した動き情報を導出するステップと、
前記MMVDのために使用された距離をどのように精緻化すべきかを指定する規則に従って前記動き情報を精緻化するよう、デコーダ側動きベクトル精緻化(DMVR)を前記現在のビデオブロックに適用するステップと、
前記現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換を実行するステップと
を含む。
更なる他の例示的な態様で、ビデオ処理の他の方法が開示される。方法は、
ビデオの現在のビデオブロックのサンプル又はサブブロックについて、規則に従って、導出された動き情報に基づき、該導出された動き情報が空間及び/又は時間勾配を用いて精緻化される双方向オプティカルフロー(BDOF)の適用可能性を決定するステップと
前記決定に基づき、前記現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換を実行するステップと
を有含む。
更なる他の例示的な態様で、ビデオ処理の他の方法が開示される。方法は、
ビデオの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、動きベクトル差分(MVD)を導出するステップと、
クリップされた動きベクトル差分を生成するよう、導出された前記動きベクトル差分にクリッピング動作を適用するステップと、
コスト関数を用いて、前記クリップされた動きベクトル差分のコストを計算するステップと、
規則に従って、前記導出された動きベクトル差分、前記クリップされた動きベクトル差分、又は前記コストのうちの少なくとも1つに基づき、前記導出された動きベクトル差分が空間及び/又は時間勾配を用いて精緻化される双方向オプティカルフロー(BDOF)動作を許されないと決定するステップと、
前記決定に基づき前記変換を実行するステップと
を有含む。
更なる他の例示的な態様で、ビデオ処理の他の方法が開示される。方法は、
ビデオの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、動きベクトル差分を導出するステップと、
1つ以上の動きベクトル精緻化ツール及び候補動きベクトル差分(MVD)に基づき、導出された前記動きベクトル差分を精緻化するステップと、
精緻化された前記動きベクトル差分を用いて前記変換を実行するステップと
を含む。
更なる他の例示的な態様で、ビデオ処理の他の方法が開示される。方法は、
ビデオの現在のビデオブロックと関連した導出された動きベクトル差分を候補セットに制限するステップであり、前記導出された動きベクトル差分は、前記現在のビデオブロックと関連した動き情報を精緻化する精緻化動作のために使用される、前記制限するステップと、
前記現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換を、前記制限するステップの結果として前記導出された動きベクトル差分を用いて実行するステップと
を含む。
更なる他の例示的な態様で、ビデオ処理の他の方法が開示される。方法は、
ビデオのビデオユニットの現在のビデオブロックと関連した動き情報を精緻化するために使用される双方向オプティカルフロー(BDOF)動作の間に、規則に従って前記ビデオユニット及び/又は前記ビデオユニットでのコーディングツールの利用に基づき決定されるクリッピングパラメータの組を用いてクリッピング動作を適用するステップと、
前記現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換を実行するステップと
を含む。
更なる他の例示的な態様で、ビデオ処理の他の方法が開示される。方法は、
ビデオの現在のビデオブロックと関連した動き情報を精緻化するために使用される精緻化動作の間に、動きベクトル差分(vx,vy)のx成分及び/又はy成分をクリップするよう規則に従ってクリッピング動作を適用するステップと、
前記動きベクトル差分を用いて前記現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換を実行するステップと
を含み、
前記規則は、前記クリッピング動作の前又は後に、前記動きベクトル差分をゼロ又はKの形を取る値に変換することを定め、mは整数である。
更なる他の例示的な態様で、ビデオ処理の他の方法が開示される。方法は、
ビデオの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、規則に従ってデコーダ側動き導出動作又はデコーダ側動き精緻化動作の間に動き情報を導出又は精緻化するために使用される探索領域を選択するステップと、
導出又は精緻化された前記動き情報に基づき前記変換を実行するステップと
を含む。
更なる他の例示的な態様で、ビデオ処理の他の方法が開示される。方法は、
ビデオの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、最良一致の整数位置を含む精緻化で使用された探索領域を使用することによって前記現在のビデオブロックと関連した動きベクトル差分を精緻化するようデコーダ側動きベクトル精緻化(DMVR)動作を適用するステップと、
精緻化された前記動きベクトル差分を用いて前記変換を実行するステップと
を含み、
前記DMVR動作の適用は、規則に従ってサブペル動きベクトル差分(MVD)を導出することを含む。
更なる他の例示的な態様で、ビデオ処理の他の方法が開示される。方法は、
ビデオのビデオユニットの現在のビデオブロックについて、前記現在のビデオブロックと関連した動きベクトル差分を精緻化するようデコーダ側動きベクトル精緻化(DMVR)動作を適用するステップと、
精緻化された前記動きベクトル差分を用いて、前記現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換を実行するステップと
を含み、
前記DMVR動作の適用は、前記ビデオユニットに対する双方向オプティカルフロー(BDOF)の使用に応じてサブペル動きベクトル差分(MVD)導出を許すか又は許さないと決定することを含む。
更なる他の例示的な態様で、ビデオ処理の他の方法が開示される。方法は、
オプティカルフローを用いた精緻化動作の間に、ビデオの現在のビデオブロックの第1サンプルの動きベクトル差分を導出するステップと、
前記第1サンプルの導出された前記動きベクトル差分に基づき、第2サンプルの動きベクトル差分を決定するステップと、
前記現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換を前記決定に基づき実行するステップと
を含む。
更なる他の例示的な態様で、ビデオ処理の他の方法が開示される。方法は、
双方向オプティカルフロー(BDOF)動作を用いた精緻化動作ビデオの現在のビデオブロックに適用することによって、予測精緻化サンプルを導出するステップと、
M及びNが整数であるとして、規則に従って、導出された前記予測精緻化サンプルを所定範囲[-M,N]にクリップするクリッピング動作の適用可能性を決定するステップと、
前記現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換を実行するステップと
含む。
更なる他の例示的な態様で、ビデオ処理の他の方法が開示される。方法は、
第1コーディンググループ及び第2コーディンググループが規則に従って整列されるように、異なる残差コーディングモードを用いてコーディングされている前記第1コーディンググループ及び前記第2コーディンググループを含む、ビデオの現在のビデオブロックについて、コーディンググループサイズを決定するステップと、
前記決定に基づき前記現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換を実行するステップと
を含む。
更なる他の例示的な態様で、ビデオ処理の他の方法が開示される。方法は、
ビデオの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、前記現在のビデオブロックと関連したコーディングされた情報及び/又はデコードされた情報に基づき、動き情報がオプティカルフローを用いて精緻化される予測精緻化オプティカルフロー(PROF)ツールの適用可能性を決定するステップと、
前記決定に基づき前記変換を実行するステップと
を含む。
更なる他の代表的な態様で、上記の方法は、プロセッサ実行可能なコードの形で具現され、コンピュータ可読プログラム媒体に記憶される。
更なる他の代表的な態様で、上記の方法を実行するよう構成され又は動作可能であるデバイスが、開示される。デバイスは、この方法を実装するようプログラムされているプロセッサを含んでよい。
更なる他の代表的な態様で、ビデオデコーダ装置が、本明細書で記載されている方法を実装してもよい。
開示されている技術の上記及び他の態様及び特徴は、図面、明細書及び特許請求の範囲で更に詳細に説明される。
バイラテラルマッチングの例を示す。 テンプレートマッチングの例を示す。 フレームレートアップコンバージョン(FRUC)でのユニラテラルMEの例を示す。 オプティカルフロー軌跡の例を示す。 ブロックの外のアクセス位置の例を示す。 余分のメモリアクセス及び計算を回避するために使用されるパディングの例を示す。 6ポイント探索によるバイラテラルマッチングの例を示す。 適応整数探索パターンの例を示す。 半サンプル探索パターンの例を示す。 パラメトリックエラーサーフェスフィットが実行されることになる整数位置の例を示す。 サブペルMVDがDMVRで導出される位置の例を示す。 サブブロックMV VSB及びピクセルΔv(i,j)の例を示す。 PROFにおいてサイズ4×4で導出されたMVDの例を示し、同じ色(シェーディング)を有するポジション対は反対のMVD値を有している。 開示されている技術に従って、ビデオ処理の方法の例のフローチャートを示す。 開示されている技術に従って、ビデオ処理の方法の例のフローチャートを示す。 開示されている技術に従って、ビデオ処理の方法の例のフローチャートを示す。 開示されている技術に従って、ビデオ処理の方法の例のフローチャートを示す。 開示されている技術に従って、ビデオ処理の方法の例のフローチャートを示す。 開示されている技術に従って、ビデオ処理の方法の例のフローチャートを示す。 開示されている技術に従って、ビデオ処理の方法の例のフローチャートを示す。 開示されている技術に従って、ビデオ処理の方法の例のフローチャートを示す。 開示されている技術に従って、ビデオ処理の方法の例のフローチャートを示す。 開示されている技術に従って、ビデオ処理の方法の例のフローチャートを示す。 開示されている技術に従って、ビデオ処理の方法の例のフローチャートを示す。 開示されている技術に従って、ビデオ処理の方法の例のフローチャートを示す。 開示されている技術に従って、ビデオ処理の方法の例のフローチャートを示す。 開示されている技術に従って、ビデオ処理の方法の例のフローチャートを示す。 開示されている技術に従って、ビデオ処理の方法の例のフローチャートを示す。 開示されている技術に従って、ビデオ処理の方法の例のフローチャートを示す。 開示されている技術に従って、ビデオ処理の方法の例のフローチャートを示す。 開示されている技術に従って、ビデオ処理の方法の例のフローチャートを示す。 本明細書で記載される視覚メディア復号化又は視覚メディア符号化技術を実装するハードウェアプラットフォームの例のブロック図である。 ビデオ処理システムのブロック図である。
本明細書で開示されている技術及びデバイスは、動き情報精緻化を提供する。開示されている技術のいくつかの実施は、サブ領域に基づいた動き情報精緻化に関係がある。開示されている技術のいくつかの実施は、ビデオ符号化及び復号化での動き補償に適用され得る。
ビデオコーディング標準規格は、主として、よく知られているITU-T及びISO/IEC標準規格の開発を通じて、進化してきた。ITU-Tは、H.261及びH.263を作り出し、ISO/IECは、MPEG-1及びMPEG-4 Visualを作り出し、2つの組織は共同で、H.262/MPEG-2 Video及びH264/MPEG-4 AVC(Advanced Video Coding)並びにH.265/HEVC標準規格を作り出した。H.262以降、ビデオコーディング標準規格は、ハイブリッドビデオコーディング構造に基づいており、時間予測及び変換コーディングが利用される。HEVCを越える将来のビデオコーディング技術を探るために、JVET(Joint Video Exploration Team)が2015年にVCEG及びMPEGによって共同設立された。それ以来、多くの新しい方法がJVETによって導入され、JEM(Joint Exploration Model)と名付けられた参照ソフトウェアに置かれてきた。2018年4月に、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MEPG)との間のJVET(Joint Video Expert Team)が、HEVCと比較して50%のビットレート低減を目指してVVC標準規格を研究するために作られた。
1.1.パターンマッチングされた動きベクトル導出
パターンマッチングされた動きベクトル導出(pattern matched motion vector derivation,PMMVD)モードは、フレームレートアップコンバージョン(Frame-Rate Up Conversion,FRUC)技術に基づいた特別なマージモードである。このモードによれば、ブロックの動き情報はシグナリングされないが、デコーダ側で導出される。
FRUCフラグは、そのマージフラグが真である場合に、CUについてシグナリングされる。FRUCフラグが偽である場合には、マージインデックスがシグナリングされ、正則マージモード(regular marge mode)が使用される。FRUCフラグが真である場合には、そのブロックについて動き情報を導出するためにどの方法(バイラテラルマッチング又はテンプレートマッチングの例)が使用されるべきであるかを示すよう、追加のFRUCモードフラグがシグナリングされる。
エンコーダ側で、CUについてFRUCマージモードを使用しているかどうかに関する決定は、通常のマージ候補について行われるようにRDコスト選択に基づく。つまり、2つのマッチングモード(バイラテラルマッチング及びテンプレートマッチング)は両方とも、RDコスト選択を使用することによってCUについてチェックされる。最小コストをもたらす一方が、他のCUモードと更に比較される。FRUCマッチングモードが最も効率的なモードであるならば、FRUCフラグは、そのCUについて真にセットされ、関連するマッチングモードが使用される。
FRUCマージモードでの動き導出プロセスは2つのステップを有する。CUレベルの動き探索が最初に実行され、サブCUレベルの動き精緻化がそれに続く。CUレベルで、バイラテラルマッチング又はテンプレートマッチングに基づき、CU全体について、初期動きベクトルが導出される。最初に、MC候補のリストが生成され、最小マッチングコストをもたらす候補が、更なるCUレベル精緻化のための開始点として選択される。次いで、開始点の周りでのバイラテラルマッチング又はテンプレートマッチングに基づいた局所探索が実行され、最小マッチングコストをもたらすMVが、CU全体のMVと見なされる。その後に、動き情報は更に、導出されたCU動きベクトルを開始点として用いて、サブCUレベルで精緻化される。
例えば、次の導出プロセスが、W×HのCU動き情報について実行される。最初の段階で、W×HのCU全体のMVが導出される。第2段階で、CUは更に、M×MのサブCUに分けられる。Mの値は、(16)で見られるように計算され、Dは、JEMではデフォルトで3にセットされる予め定義された分割デプスである。次いで、サブCUごとのMVが導出される。
Figure 0007431253000001
図1に示されるように、バイラテラルマッチングは、2つの異なった参照ピクチャにおける現在CUの運動軌跡に沿った2つのブロックの間で最も近い一致を見つけることによって、現在CUの動き情報を導出するために使用される。連続した運動軌跡の想定の下で、2つの参照ブロックを指し示す動きベクトルMV0及びMV1は、現在のピクチャと2つの参照ピクチャとの間の時間距離、すなわち、TD0及びTD1に比例すべきである。特別な場合として、現在のピクチャが時間的に2つの参照ピクチャの間にあり、現在のピクチャから2つの参照ピクチャまでの時間距離が同じである場合に、バイラテラルマッチングは、ミラーに基づいた双方向MVになる。
図2に示されるように、テンプレートマッチングは、現在のピクチャ内のテンプレート(現在CUの上及び/又は左隣にあるブロック)と参照ピクチャ内のブロック(テンプレートと同じサイズ)との間で最も近い一致を見つけることによって、現在CUの動き情報を導出するために使用される。上記のFRUCマージモードを除いて、テンプレートマッチングはAMVPモードにも適用される。JEMでは、HEVCで行われているように、AMVPは2つの候補を有する。テンプレートマッチング方法により、新しい候補が導出される。テンプレートマッチングによる新たに導出された候補が1番目に存在しているAMVP候補とは異なる場合には、それは、AMVP候補リストの1番最初に挿入され、次いで、リストサイズは2にセットされる(つまり、2番目に存在しているAMVP候補を削除する)。AMVPモードに適用される場合に、CUレベル探索のみが適用される。
CUレベルMV候補セット
CUレベルでのMV候補セットは、
i)現在CUがAMVPモードにある場合に、元のAMVP候補、
ii)全てのマージ候補、
iii)セクション2.1.1.3で紹介されている、補間されたMV場でのいくつかのMV、
iv)上及び左隣の動きベクトル
から成る。
バイラテラルマッチングを使用する場合に、マージ候補の各有効なMVは、バイラテラルマッチングの想定の下でMV対を生成するために入力として使用される。例えば、マージ候補の1つの有効なMVは、参照リストAで(MVa,refa)である。次いで、その対となるバイラテラルMVの参照ピクチャrefbは、refa及びrefbが、時間的に、現在のピクチャの異なった側にあるように、他方の参照リストBで見つけられる。そのようなrefbが参照リストBで利用可能でない場合には、refbは、refaとは異なる参照として決定され、現在のピクチャまでのその時間距離は、リストB内の最小のものである。refbが決定された後、MVbが、現在のピクチャとrefa、refbとの間の時間距離に基づきMVaをスケーリングすることによって導出される。
補間されたMV場からの4つのMVも、CUレベル候補リストに加えられる。より具体的には、現在CUの位置(0,0)、(W/2,0)、(0,H/2)、及び(W/2,H/2)にある補間されたMVが加えられる。
FRUCがAMVPモードで適用される場合に、元のAMVPも、CUレベルのMV候補セットに加えられる。
CUレベルで、AMVP CUの最大15個のMVと、マージCUの最大13個のMVとが、候補リストに加えられる。
サブCUレベルMV候補セット
サブCUレベルでのMV候補セットは、
i)CUレベル探索から決定されたMV、
ii)上、左、左上、及び右上の隣接MV、
iii)参照ピクチャからの同一位置MVのスケーリングされたバージョン
iv)最大4つのATMVP候補、
v)最大4つのSTMVP候補
から成る。
参照ピクチャからのスケーリングされたMVは、次の通りに導出される。両方のリスト内の全ての参照ピクチャがトラバースされる。参照ピクチャ内のサブCUの同一位置ポジションでのMVは、開始CUレベルMVの参照に合わせてスケーリングされる。
ATMVP及びSTMVP候補は、最初の4つの候補に限定される。
サブCUレベルで、最大17個のMVが候補リストに加えられる。
補間されたMV場の生成
フレームをコーディングする前に、補間された動き場が、ユニラテラルMEに基づきピクチャ全体について生成される。次いで、動き場は、CUレベル又はサブCUレベルMV候補として後に使用されてもよい。
最初に、両方の参照リスト内の各参照ピクチャの動き場は、4×4ブロックレベルでトラバースされる。4×4ブロックごとに、ブロックに関連した動きが現在のピクチャ内の4×4ブロックを通り(FRUCでのユニラテラルMEの例を示す図3に示される)、ブロックが如何なる補間された動きも割り当てられていない場合には、参照ブロックの動きは、時間距離TD0及びTD1に従って現在のピクチャに合わせてスケーリングされ(HEVCでのTMVPのMVスケーリングのそれと同様)、スケーリングされた動きは、現在のフレーム内のそのブロックに割り当てられる。スケーリングされたMVが4×4ブロックに割り当てられない場合には、そのブロックの動きは、補間された動き場で利用不可としてマークされる。
補間及びマッチングコスト
動きベクトルが分数サンプル位置を指し示す場合に、動き補償された補間が必要とされる。複雑さを提言するために、正則8タップHEVC補間の代わりに、双線形補間が、バイラテラルマッチング及びテンプレートマッチングの両方のために使用される。
マッチングコストの計算は、異なるステップで少し異なっている。CUレベルで候補セットから候補を選択する場合に、マッチングコストは、バイラテラルマッチング又はテンプレートマッチングの絶対差分和(absolute sum difference,SAD)である。開始MVが決定された後、サブCUレベル探索でのバイラテラルマッチングのマッチングコストCは、次の通りに計算される。
Figure 0007431253000002
ここで、wは、経験的に4にセットされている重み係数であり、MV及びMVは、夫々、現在MV及び開始MVを示す。SADは、サブCUレベル探索でのテンプレートマッチングのマッチングコストとして依然として使用される。
FRUCモードで、MVは、ルーマサンプルのみを使用することによって導出される。導出された動きは、MCインター予測のためのルーマ及びクロマの両方のために使用されることになる。MVが決定された後、最終的なMCが、ルーマのための8タップ補間フィルタ及びクロマのための4タップ補間フィルタを用いて実行される。
MV精緻化
MV精緻化は、バイラテラルマッチングコスト又はテンプレートマッチングコストの基準による、パターンに基づいたMV探索である。JEMでは、2つの探索パターンがサポートされている。夫々CUレベル及びサブCUレベルでのMV精緻化のためのUCBDS(unrestricted center-biased diamond search)及び適応交差探索(adaptive cross search)である。CU及びサブCUの両方のレベルのMV精緻化のために、MVは、4分の1ルーマサンプルMV精度で直接に探索され、この後に、8分の1ルーマサンプルMV精緻化が続く。CU及びサブCUステップのMV精緻化の探索範囲は、8ルーマサンプルに等しくセットされる。
テンプレートマッチングFRUCマージモードでの予測方向の選択
バイラテラルマッチングマージモードでは、2つの異なった参照ピクチャにおける現在CUの運動軌跡に沿った2つのブロック間の最も近い一致に基づきCUの動き情報が導出されるということで、双予測が常に適用される。テンプレートマッチングマージモードにはそのような制限はない。テンプレートマッチングマージモードでは、エンコーダは、CUのためにリスト0からの片予測、リスト1からの片予測、又は双予測から選択することができる。選択は、次のように、テンプレートマッチングコストに基づく:
costBi<=factor×min(cost0,cost1)の場合には、
双予測が使用される;
そうではなく、cost0<=cost1である場合には、
リスト0からの片予測が使用される;
それ以外の場合には、
リスト1からの片予測が使用される。
ここで、cost0は、リスト0テンプレートマッチングのSADであり、cost1は、リスト1テンプレートマッチングのSADであり、costBiは、双予測テンプレートマッチングのSADである。factorの値は1.25に等しく、つまり、選択プロセスは双予測の方にバイアスされる。
インター予測方向選択は、CUレベルのテンプレートマッチンプロセスにのみ適用される。
1.2.イントラ及びインターの複合予測
JVET-L0100では、多重仮説(multi-hypothesis)予測が提案されており、イントラ及びインターの複合予測は、多重仮説を生成するための1つの方法である。
多重仮説予測がイントラモードを改善するために適用される場合に、多重仮説予測は、1つのイントラ予測と1つのマージインデックス化予測とを組み合わせる。マージCUでは、1つのフラグが、フラグが真である場合にイントラ候補リストからイントラモードを選択するために、マージモードについてシグナリングされる。ルーマ成分については、イントラ候補リストは、DC、プレーナー、水平、及び垂直モードを含む4つのイントラ予測モードから導出され、イントラ候補リストのサイズは、ブロック形状に応じて3又は4であることができる。CU幅がCU高さの2倍よりも大きい場合に、水平モードはイントラモードリストから除かれ、CU高さがCU幅の2倍よりも大きい場合に、垂直モードはイントラリストモードから除かれる。イントラモードインデックスによって選択された1つのイントラ予測モード、及びマージインデックスによって選択された1つのマージインデックス化予測は、加重平均を用いて組み合わされる。クロマ成分については、余分のシグナリングによらずに、常にDMが適用される。予測を組み合わせるための重みは、次の通りに説明される。DC又はプレーナーモードが選択されるか、あるいは、CB幅又は高さが4よりも小さい場合に、等しい重みが適用される。CB幅及び高さが4以上であるようなCBについては、水平/垂直モードが選択される場合に、1つのCBが最初に、垂直方向/水平方向に、4つの等しい面積の領域に分けられる。iが1から4であり、(w_intra,w_inter)=(6,2)、(w_intra,w_inter)=(5,3)、(w_intra,w_inter)=(3,5)、及び(w_intra,w_inter)=(2,6)であるとして、(w_intra,w_inter)と表される各重みセットは、対応する領域に適用されることになる。(w_intra,w_inter)は、参照サンプルに最も近い領域用であり、(w_intra,w_inter)は、参照サンプルから最も遠い領域用である。次いで、組み合わされた予測は、2つの重み付けされた予測を合計し、3ビット右シフトすることによって、計算され得る。更に、予測子のイントラ仮説のためのイントラ予測モードは、次の隣接CUの参照のためにセーブされ得る。
1.3.双方向オプティカルフロー
BIOは、BDOF(Bi Directional Optical Flow)としても知られている。BIOでは、最初に、現在のブロックの(各予測方向での)最初の予測を生成するために、動き補償が実行される。最初の予測は、ブロック内の各サブブロック/ピクセルの空間勾配、時間勾配、及びオプティカルフローを導出するために使用され、これらは次いで、第2の予測、すなわち、サブブロック/ピクセルの最終的な予測を生成するために使用される。詳細は、次のように記載される。
双方向オプティカルフロー(Bi-directional Optical flow,BIO)は、双予測のためにブロック単位の動き補償に加えて実行されるサンプル単位の動き精緻化である。サンプルレベルの動き精緻化はシグナリングを使用しない。
(k)をブロック動き補償後の参照k(k=0,1)からのルーマ値であるとすると、∂I(k)/∂x、∂I(k)/∂yは、夫々、I(k)勾配の水平及び垂直成分である。オプティカルフローが有効であるとすれば、動きベクトル場(v,v)は、次の式によって与えられる:
Figure 0007431253000003
このオプティカルフロー式を各サンプル結果の運動軌跡についてエルミート(Hermite)補間と組み合わせることで、関数値I(k)及び導関数、∂I(k)/∂x、∂I(k)/∂yの両方と最後に一致する一意の3次多項式が得られる。t=0でのこの多項式の値がBIO予測である:
Figure 0007431253000004
ここで、τ及びτは、オプティカルフロー軌跡の例を示す図4で示されるように、参照フレームまでの距離を表す。距離τ及びτは、Ref0及びRef1についてのPOCに基づき計算される:

τ=POC(現在)-POC(Ref0)
τ=POC(Ref1)-POC(現在)

両方の予測が同じ時間方向から来る(両方が過去から来るか、又は両方が未来から来るかのどちらかである)場合、符号は異なる(すなわち、τ・τ<0)。この場合に、BIOは、予測が同じ時点からでなく(すなわち、τ0≠τ1)、両方の参照される領域が非ゼロ運動を有し(MVx0,MVy0,MVx1,Mvy1≠0)、ブロック動きベクトルが時間距離に比例する(MVx0/MVx1=MVy0/Mvy1=-τ/τ)場合にのみ適用される。
動きベクトル場(v、v)は、点A及びB(図4の運動軌跡と参照フレーム面との交点)での値の間の差Δを最小限にすることによって決定される。モデルは、Δについて局所テイラー展開の一次線形項のみを使用する:
Figure 0007431253000005
式(5)の全ての値が、これまで表記から省略されていたサンプル位置(i’,j’)に依存する。動きが局所周囲エリアにおいて一貫性があるとすれば、Mが2に等しいとして、現在予測されている点(i,j)を中心とした(2M+1)×(2M+1)正方窓Ω内でΔは最小限にされる:
Figure 0007431253000006
この最適化問題について、JEMは、最初に垂直方向において、それから水平方向において最小化を行う簡単化されたアプローチを使用する。その結果、次が得られる:
Figure 0007431253000007
Figure 0007431253000008
ここで、
Figure 0007431253000009
ゼロ又は極めて小さい値による除算を回避するために、正規化パラメータr及びmが式(7)及び(8)に導入される:
r=500・4d-8 (10)
m=700・4d-8 (11)
ここで、dは、ビデオサンプルのビットデプスである。
BIOのためのメモリアクセスを通常の双予測動き補償の場合と同じに保つために、全ての予測及び勾配値I(k)、∂I(k)/∂x、∂I(k)/∂yは、現在のブロック内の位置についてのみ計算される。式(9)中、予測されたブロックの境界上の現在予測されている点に中心がある(2M+1)×(2M+1)正方窓Ωは、図5Aに示されるように、ブロックの外にある点にアクセスする必要がある。JEMでは、ブロックの外にあるI(k)、∂I(k)/∂x、∂I(k)/∂yの値は、そのブロック内の最も近い利用可能な値に等しいようセットされる。例えば、これは、図5Bに示されるように、パディングとして実装され得る。図5A及び図5Bは、ブロック拡張によらないBIOの例を示す。図5Aは、ブロックの外のアクセス位置の例を示し、図5Bは、余分のメモリアクセス及び計算を回避するために使用されるパディングの例を示す。
BIOによれば、動き場がサンプルごとに精緻化され得ることが可能である。計算複雑性を低減するために、BIOのブロックに基づいた設計がJEMで使用されている。動き精緻化は、4×4ブロックに基づき計算される。ブロックに基づいたBIOでは、4×4ブロック内の全てのサンプルの式(9)中のsの値は、集計され、集計されたsの値は、4×4ブロックのためのBIO動きベクトルオフセットを導出するために使用される。より具体的には、次の式が、ブロックに基づいたBIO導出のために使用される。
Figure 0007431253000010
ここで、bは、予測されたブロックのk番目の4×4ブロックに属するサンプルの組を表す。式(7)及び(8)中のsは、関連する動きベクトルオフセットを導出するために((sn,bk)>>4)によって置換される。
いくつかの場合に、BIOのMVレジメントは、ノイズ又は不規則な動きにより信頼できない可能性がある。そのため、BIOでは、MVレジメントの大きさが閾値thBIOにクリップされる。閾値は、現在のピクチャの参照ピクチャが全て1つの方向からであるかどうかに基づいて決定される。現在のピクチャの全ての参照ピクチャが1つの方向からである場合に、閾値は12×214-dにセットされ、そうでない場合には、それは12×213-dにセットされる。
BIOの勾配は、HEVC動き補償プロセス(2D分離可能FIR)と一致する操作を用いて動き補償補間と同時に計算される。この2D分離可能FIRのための入力は、動き補償プロセスの場合と同じ参照フレームサンプルであり、ブロック動きベクトルの分数部分に応じた分数位置(fracX,fracY)である。水平勾配∂I/∂xの場合に、信号は最初に、スケール除去(de-scaling)シフトd-8を伴って分数位置fracYに対応するBIOfilterSを用いて垂直方向に補間され、次いで、勾配フィルタBIOfilterGが、18-dによるスケール除去シフトを伴って分数位置fracXに対応する水平方向において適用される。水平勾配∂I/∂Yの場合に、最初に勾配フィルタは、スケール除去シフトd-8を伴って分数位置fracYに対応するBIOfilterGを用いて垂直方向に適用され、次いで、信号変位は、18-dによるスケール除去シフトを伴って分数位置fracXに対応する水平方向でのBIOfilterSを用いて実行される。勾配計算BIOfilterG及び信号変位BIOfilterFのための補間フィルタの長さは、妥当な複雑性を保つために、より短い(6タップ)。表1は、BIOにおけるブロック動きの種々の分数位置についての勾配計算に使用されるフィルタを示す。表2は、BIOにおける予測信号生成に使用される補間フィルタを示す。
Figure 0007431253000011
Figure 0007431253000012
JEMでは、BIOは、2つの予測が異なる参照ピクチャからである場合に、全ての双予測されたブロックに適用される。LICがCUに使用可能である場合に、BIOは無効にされる。
JEMでは、OBMCは、通常のMCプロセスの後にブロックに適用される。計算複雑性を低減するために、BIOは、OBMCプロセス中に適用されない。つまり、BIOは、ブロックに対して、それ自体のMVを使用しているときにのみMCプロセスで使用され、隣接ブロックのMVがOBMCプロセス中に使用される場合にはMCプロセスで適用されない。
2段階の早期終了(early termination)方法が、2つの予測信号間の類似度に応じてBIO動作を条件付きで無効にするために使用される。早期終了は、最初にCUレベルで、次いでサブCUレベルで適用される。具体的に、提案されている方法は、最初に、CUレベルでL0及びL1予測信号間のSASを計算する。もしBIOがルーマにしか適用されないならば、ルーマサンプルしかSAD計算のために考慮される必要がない。CUレベルのSADがもはや予め定義された閾値よりも大きくない場合には、BIOプロセスは、CU全体に対して完全に無効にされる。CUレベルの閾値は、サンプルごとに2(BDepth-9)にセットされる。BIOプロセスがCUレベルで無効にされない場合には、かつ、現在CUが複数のサブCUを含む場合には、CU内の各サブCUのSADが計算されることになる。次いで、BIOプロセスを有効又は無効にすべきかどうかに関する決定が、予め定義されたサブCUレベルのSAD閾値に基づきサブCUレベルで行われる。サブCUレベルのSAD閾値は、サンプルごとに3×2(BDepth-10)にセットされる。
1.4.VVCにおけるBDOFの仕様
(JVET-N1001-v2における)BDOFの仕様は、次の通りである:

8.5.7.4 双方向オプティカルフロー予測プロセス
このプロセスへの入力は:
・現在のコーディングブロックの幅及び高さを指定する2つの変数nCbW及びnCbH、
・2つの(nCbW+2)×(nCbH+2)のルーマ予測サンプルアレイpredSamplesL0及びpredSamplesL1、
・予測リスト利用フラグpredFlagL0及びpredFlagL1、
・参照インデックスrefIdxL0及びrefIdxL1、
・xIdx=0..(nCbW>>2)-1、yIdx=0..(nCbH>>2)-1として、双方向オプティカルフロー利用フラグbdofUtilizationFlag[xIdx][yIdx]
である。
このプロセスの出力は、ルーマ予測サンプルアレイの(nCbW)×(nCbH)アレイpbSamplesである。
変数bitDepth、shift1、shift2、shift3、shift4、offset4、及びmvRefineThresは、次のように導出される:
・変数bitDepthは、BitDepthに等しくセットされる。
・変数shift1は、Max(2,14-bitDepth)に等しくセットされる。
・変数shift2は、Max(8,bitDepth-4)に等しくセットされる。
・変数shift3は、Max(5,bitDepth-7)に等しくセットされる。
・変数shift4は、Max(3,15-bitDepth)に等しくセットされ、変数offset4は、1<<(shift4-1)に等しくセットされる。
・変数mvRefineThresは、Max(2,1<<(13-bitDepth))に等しくセットされる。
xIdx=0..(nCbW>>2)-1、yIdx=0..(nCbH>>2)-1については、次が当てはまる:
・変数xSbは、(xIdx<<2)+1に等しくセットされ、ySbは、(yIdx<<2)+1に等しくセットされる。
・bdofUtilizationFlag[xSbIdx][yIdx]が偽に等しい場合には、x=xSb-1..xSb+2、y=ySb-1..ySb+2については、現在のブロックの予測サンプル値は、次のように導出される:
Figure 0007431253000013
・そうではない(bdofUtilizationFlag[xSbIdx][yIdx]が真に等しい)場合には、現在のブロックの予測サンプル値は、次のように導出される:
・x=xSb-1..xSb+4、y=ySb-1..ySb+4については、次の順序づけられたステップが適用される:
1.予測サンプルアレイ内の対応するサンプル位置(x,y)の夫々についての位置(h,v)は、次のように導出される:
=Clip3(1,nCbW,x) (8-853)
=Clip3(1,nCbH,y) (8-854)
2.変数gradientHL0[x][y]、gradientVL0[x][y]、gradientHL1[x][y]及びgradientVL1[x][y]は、次のように導出される:
Figure 0007431253000014
3.変数temp[x][y]、tempH[x][y]及びtemp[x][y]は、次のように導出される:
Figure 0007431253000015
・変数sGx2、sGy2、SGxGy、sGxdI及びsGydIは、次のように導出される:
Figure 0007431253000016
・現在のサブブロックの水平及び垂直動きオフセットは、次のように導出される:
Figure 0007431253000017
・x=xSb-1..xSb+2、y=ySb-1..ySb+2については、現在のサブブロックの予測サンプル値は、次のように導出される:
Figure 0007431253000018
[Ed.(JC):Round()演算は、float入力のために定義される。Round()演算は、入力が整数値であるということで、ここでは冗長に見える。提案者によって確認されるべき]
Figure 0007431253000019
空間勾配は、次のように計算される:
Figure 0007431253000020
他方で、時間勾配は、次のように計算される:
Figure 0007431253000021
空間勾配及び時間勾配の計算は、整列されない。
1.5.デコーダ側動きベクトル精緻化
双予測動作では、1つのブロックの領域の予測のために、リスト0の動きベクトル(MV)及びリスト1のMVを用いて夫々形成された2つの予測ブロックが、単一の予測信号を形成するよう結合される。JVET-K0217では、デコーダ側動きベクトル精緻化(Decoder-side Motion Vector Refinement,DMVR)法では、双予測の2つの動きベクトルは、バイラテラルマッチングプロセスによって更に精緻化される。
提案されている方法では、次の条件が当てはまる場合には、DMVRはマージモード及びスキップモードでのみ適用される:
(POC-POC0)×(POC-POC1)<0
ここで、POCは、エンコードされるべき現在のピクチャのピクチャオーダーカウント(picture order count)であり、POC0及びPOC1は、現在のピクチャのための参照のピクチャオーダーカウントである。
シグナリングされたマージ候補対がDMVRプロセスへの入力として使用され、初期動きベクトル(MV0,MV1)で表される。DMVRによって探索される探索ポイントは、動きベクトル差分ミラーリング条件に従う。つまり、候補ベクトル対(MV0’,MV1’)によって表される、DMVRによってチェックされる
如何なるポイントも、次の2つの式に従う:
MV0’=MV0+MVdiff
MV1’=MV1-MVdiff
ここで、MVdiffは、参照ピクチャの1つにおける探索空間内のポイントを表す。
探索空間の構築後、ユニラテラル予測が、正則8タップDCTIF補間フィルタを用いて構成される。バイラテラルマッチングコスト関数は、2つの予測の間のMRSAD(Mean Removed Sum of Absolute Differences)によって計算され(6ポイント探索によるバイラテラルマッチングの例を示す図6を参照)、最小コストをもたらす探索ポイントが、精緻化されたMV対として選択される。MRSAD計算のために、サンプルの16ビット精度が使用され(補間フィルタリングの出力である)、MRSAD計算の前に、クリッピング演算及び丸め演算は適用されない。丸め及びクリッピングを適用しない理由は、内部バッファ要件を低減するためである。
提案されている方法では、整数精度探索ポイントが適応パターン方法によって選択される。中央のポイント(初期動きベクトルによって指し示される)に対応するコストが最初に計算される。他の4つのコスト(サイン形状)は、中央のポイントで互いの反対側に位置している2つの予測によって計算される。角度において最後の6番目のポイントは、図7a及び図7bに示されるように、前に計算されたコストの勾配によって選択される。図7aは、適応整数探索パターンの例を示し、図7bは、半サンプル探索パターンの例を示す。
DMVRプロセスの出力は、最小コストに対応する精緻化された動きベクトル対である。
1回の繰り返しの後、最小コストが探索空間の中央のポイントで達成される場合には、すなわち、動きベクトルが変化しない場合には、精緻化プロセスは終了する。さもなければ、更に、最良のコストは中心と見なされて、プロセスは続き、一方、最小コストは中央のポイントに対応せず、探索範囲は越えられない。
半サンプル精度探索は、半ペル探索の適用が探索範囲を越えない場合にのみ適用される。この場合に、4回のMRSAD計算しか実行されない。これは、中央のポイントの周りのプラス形状ポイントに対応し、整数精度検索中に最適なものとして選択される。最後に、精緻化された動きベクトル対が出力され、これは最小コストポイントに対応する。
いくつかの簡単化及び改善が、JVET-L0163で更に提案されている。
参照サンプルパディング
参照サンプルパディングは、初期動きベクトルによって指し示される参照サンプルブロックを広げるために適用される。コーディングブロックのサイズが“w”及び“h”によって与えられる場合に、サイズw+7及びh+7のブロックが参照ピクチャバッファから読み出されると仮定される。読み出されたバッファは、次いで、最も近いサンプルを用いて反復的なサンプルパディングによって各方向で2サンプルずつ広げられる。その後に、広げられた参照サンプルブロックは、精緻化された動きベクトルが取得されると(初期動きベクトルからかく方向で2サンプル変位することできる)、最終的な予測を生成するために使用される。
この変更は、如何なるコーディング損失もなしで、完全にDMVRの余分のメモリアクセス要求を取り除くことが分かる。
8タップDCTIFに代わる双線形補間
提案に従って、双線形補間がDMVR探索プロセス中に適用される。つまり、MRSAD計算で使用される予測は、双線形補間を用いて生成される。最終的な精緻化された動きベクトルが取得されると、正則8タップDCTIF補間フィルタが、最終的な予測を生成するために適用される。
小さいブロックに対するDMVRの無効化
DMVRは、ブロック4×4、4×8、及び8×4に対して無効にされる。
マージ候補間のMV差分に基づいた早期終了
追加条件が、MV精緻化プロセスを制限するようDMVRに課される。それにより、DMVRは、次の条件が満足される場合に、条件付きで無効にされる。
選択されたマージ候補と同じマージリスト内の前のマージ候補のうちのいずれかとの間のMV差分は、予め定義された閾値(つまり、64個未満のピクセル、256個未満のピクセル、及び少なくとも256個のピクセルを夫々有しているCUについて1/4、1/2、及び1ピクセルワイドのインターバル)よりも小さい。
中心探索座標でのSADコストに基づいた早期終了
現在CUの初期動きベクトルを使用した2つの予測信号(L0及びL1予測)の間の絶対差分和(SAD)が計算される。SADがもはや予め定義された閾値、すなわち、サンプルごとに2(BDepth-9)、よりも大きくない場合には、DMVRはスキップされ、そうでない場合には、DMVRは依然として、現在のブロックの2つの動きベクトルを精緻化するために適用される。
DMVR適用条件
DMVR適用条件は、それがBMS2.1で実装されているということで(POC-POC1)×(POC-POC2)<0であり、新しい条件(POC-POC1)==(POC2-POC)で置換される。これは、参照ピクチャが反対の時間方向にあり、現在のピクチャと等距離にある場合にのみ、DMVRが適用されることを意味する。
2行おきに使用するMRSAD計算
MRSADコストは、ブロックの奇数番目の行についてのみ計算され、偶数番目のサンプル行は考慮されない。従って、MRSAD計算のための演算の数は半分である。
パラメトリックエラーサーフェスに基づいたサブピクセルオフセット推定
JVET-K0041では、非常に最小限の計算複雑性で16分の1ペル精度のサブピクセルオフセットを決定するために整数距離位置評価コスト(integer distance position evaluated costs)を使用して適合されたパラメトリックエラーサーフェス(parametric error surface)が提案された。
この方法は、VVCに導入されており、以下で要約される:
1.整数MVDの最小マッチングコストが0に等しくなく、かつ、ゼロMVDのマッチングコストが閾値よりも大きい場合にのみ、パラメトリックエラーサーフェスフィットは計算される。
2.最良の整数位置は中心位置と見なされ、中心位置のコストと、中心位置に対する(整数ピクセルの単位での)位置(-1,0)、(0,-1)、(1,0)及び(0,1)のコストとは、式:

E(x,y)=A(x-x+B(y-y+C

の2次元パラメトリックエラーサーフェス式に適合するために使用される。ここで、(x,y)は、最小コストを有する位置に対応し、Cは、最小コスト値に対応する。5つの未知数の5つの式を解くことによって、(x,y)は:

=(E(-1,0)-E(1,0))/(2(E(-1,0)+E(1,0)-2E(0,0)))
=(E(0,-1)-E(0,1))/(2(E(0,-1)+E(0,1)-2E(0,0)))

として計算される。(x,y)は、除算が実行される精度(すなわち、何ビットの商が計算されるか)を調整することによって、如何なる必要なサブピクセル精度でも計算され得る。16分の1ペル精度については、商の絶対値のわずか4ビットしか計算される必要がなく、これは、CUごとに必要な2回の除算の高速シフト減算ベースの実装に役立つ。
3.計算された(x,y)は、サブピクセル精度精緻化デルタMVを得るよう整数距離精緻化MVに加えられる。
一方で、5×5探索空間については、パラメトリックエラーサーフェスフィットは、図8に示されるように、中央の9つの位置のうちの1つが最良の整数位置である場合にのみ実行される。
JVET-N0236:オプティカルフローによる予測精緻化
この寄与は、オプティカルフローによりサブブロックベースのアフィン動き補償された予測を精緻化する方法を提案する。サブブロックベースのアフィン動き補償が実行された後、予測サンプルは、オプティカルフロー式によって導出された差を加えることによって精緻化される。これは、オプティカルフローによる予測精緻化(PROF)と呼ばれる。この提案されている方法は、メモリアクセスバンド幅を増大させずに、ピクセルレベル粒度でのインター予測を達成することができる。
より細かい粒度の動き補償を達成するために、この寄与は、オプティカルフローによりサブブロックベースのアフィン動き補償された予測を精緻化する方法を提案する。サブブロックベースのアフィン動き補償が実行された後に、ルーマ予測サンプルは、オプティカルフロー式によって導出された差を加えることによって精緻化される。この提案されているPROF(Prediction Refinement with Optical Flow)は、次の4つのステップとして記載される。
ステップ1)サブブロックベースのアフィン動き補償が、サブブロック予測I(i,j)を生成するために実行される。
ステップ2)サブブロック予測の空間勾配g(i,j)及びg(i,j)が、3タップフィルタ[-1,0,1]を用いて各サンプル位置で計算される。
(i,j)=I(i+1,j)-I(i-1,j)
(i,j)=I(i,j+1)-I(i,j-1)
サブブロック精度は、勾配計算のために各辺で1ピクセルずつ広げられる。メモリバンド幅及び複雑性を低減するよう、広げられた境界上のピクセルは、参照ピクチャ内の最も近い整数ピクセル位置からコピーされる。従って、領域パディングのための追加の補間は回避される。
ステップ3)ルーマ予測精緻化(ΔIで表される)が、オプティカルフロー式によって計算される。

ΔI(i,j)=g(i,j)×Δv(i,j)+g(i,j)×Δv(i,j)

ここで、デルタMV(Δv(i,j)と表される)は、図10に示されるように、v(i,j)によって表される、サンプル位置(i,j)について計算されたピクセルMVと、ピクセル(i,j)が属するサブブロックのサブブロックMVとの間の差である。
アフィンモデルパラメータ及びサブブロック中心に対するピクセル位置は、サブブロックごとに変化しないので、Δv(i,j)は、最初のサブブロックについて計算され、同じCU内の他のサブブロックに対して再利用され得る。x及びyを、ピクセル位置からサブブロックの中心までの水平及び垂直オフセットとすると、Δv(x,y)は、次の式によって導出され得る。
Figure 0007431253000022
4パラメータアフィンモデルについては、
Figure 0007431253000023
であり
6パラメータアフィンモデルについては、
Figure 0007431253000024
であり、ここで、(v0x,v0y)、(v1x,v1y)、(v2x,v2y)は、左上、右上、及び左下制御点動きベクトルであり、w及びhは、CUの幅及び高さである。
ステップ4)最後に、ルーマ予測精緻化がサブブロック予測I(i,j)に加えられる。最終的な予測I’は、次の式として生成される。
I’(i,j)=I(i,j)+ΔI(i,j)
JVET-N0236におけるいくつかの詳細
a)PROFの勾配導出方法
JVET-N0263では、勾配は、各参照リストのサブブロック(VTM-4.0の4×4サブブロック)ごとに計算される。サブブロックごとに、参照ブロックの最も近い整数サンプルは、サンプルの4つの辺の外側のラインをパディングするためにフェッチされる(前の図を参照されたい)。
現在のサブブロックのMVは(MV,MV)であるとする。次いで、分数部分は(FracX,FracY)=(MVx&15,MVy&15)として計算される。整数部分は、(IntX,IntY)=(MVx>>4,MVy>>4)として計算される。オフセット(OffsetX,OffsetY)は:
OffsetX=FracX>7?1:0;
OffsetY=FracY>7?1:0;
として導出される。現在のサブブロックの左上座標は(xCur,yCur)であり、現在のサブブロックの寸法はW×Hであるとする。
その場合に、(xXor0,yCor0)、(xCor1,yCor1)、(xCor2,yCor2)及び(xCor3,yCor3)は:
(xXor0,yCor0)=(xCur+IntX+OffsetX-1,yCur+IntY+OffsetY-1);
(xCor1,yCor1)=(xCur+IntX+OffsetX-1,yCur+IntY+OffsetY+H-1);
(xCor2,yCor2)=(xCur+IntX+OffsetX-1,yCur+IntY+OffsetY);
(xCor3,yCor3)=(xCur+IntX+OffsetX+W,yCur+IntY+OffsetY);
として計算される。PredSample[x][y](x=0..W-1、y=0..H-1である)は、サブブロックの予測サンプルを保持する。次いで、パディングサンプルは:
PredSample[x][-1]=(Ref(xCor0+x,yCor0)<<Shift0)-Rounding(x=-1..Wの場合);
PredSample[x][H]=(Ref(xCor1+x,yCor1)<<Shift0)-Rounding(x=-1..Wの場合);
PredSample[-1][y]=(Ref(xCor2,yCor2+y)<<Shift0)-Rounding(y=0..H-1の場合);
PredSample[W][y]=(Ref(xCor3,yCor3+y)<<Shift0)-Rounding(y=0..H-1の場合);
として導出される。ここで、Recは、参照ピクチャを表す。Roundingは、例示的なPROF実装で213に等しい整数である。Shift0=Max(2,(14-BitDepth))である。
PROFは、勾配が入力ルーマサンプルと同じ制度で出力されるVTM-4.0のBIOとは異なり、勾配の精度を増大させようと試みる。PROFの勾配は、次の:
Shift1=Shfit0-4
gradientH[x][y]=(predSample[x+1][y]-predSample[x-1][y])>>Shift1
gradientV[x][y]=(predSample[x][y+1]-predSample[x][y-1])>>Shift1
のように計算される。predSample[x][y]は補間後に精度を保つことが留意されるべきである。
b)PROFのΔv導出方法
Δv(dMvH[posX][posY]及びdMvV[posX][posY]と表される)(posX=0..W-1、posY=0..H-1である)の導出は、次のように記載され得る。
現在のブロックの寸法はcbWidth×cbHeightであり、制御点動きベクトルの数はnumCpMvであり、制御点動きベクトルはcpMvLX[cpIdx]であるとする。ここで、cpIdx=0..numCpMv-1であり、Xは、2つの参照リストを表す0又は1である。
変数log2CbW及びlog2CbHは、次のように導出される:
log2CbW=Log2(cbWidth)
log2CbH=Log2(cbHeight)
変数mvScaleHor、mvScaleVer、dHorX及びdVerXは、次のように導出される:
mvScaleHor=cpMvLX[0][0]<<7
mvScaleVer=cpMvLX[0][1]<<7
dHorX=(cpMvLX[1][0]-cpMvLX[0][0])<<(7-log2CbW)
dVerX=(cpMvLX[1][1]-cpMvLX[0][1])<<(7-log2CbW)
変数dHorY及びdVerYは、次のように導出される:
・numCpMvが3に等しい場合に、次が適用される:
dHorY=(cpMvLX[2][0]-cpMvLX[0][0])<<(7-log2CbH)
dVerY=(cpMvLX[2][1]-cpMvLX[0][1])<<(7-log2CbH)
・そうでない(numCpMvが2に等しい)場合に、次が適用される:
dHorY=―dVerX
dVerY=dHorX
変数qHorX、qVerX、qHorY、及びqVerYは:
qHorX=dHorX<<2;
qVerX=dVerX<<2;
qHorY=dHorY<<2;
qVerY=dVerY<<2;
として導出される。
dMvH[0][0]及びdMvV[0][0]は:
dMvH[0][0]=((dHorX+dHorY)<<1)-((qHorX+qHorY)<<1);
dMvV[0][0]=((dVerX+dVerY)<<1)-((qVerX+qVerY)<<1);
として計算される。
1からW-1までのxPosについてのdMvH[xPos][0]及びdMvV[xPos][0]は:
dMvH[xPos][0]=dMvH[xPos-1][0]+qHorX;
dMvV[xPos][0]=dMvV[xPos-1][0]+qVerX;
として導出される。
1からH-1までのyPosについては、次が適用される:
dMvH[xPos][yPos]=dMvH[xPos][yPos-1]+qHorY(xPos=0..W-1である)
dMvV[xPos][yPos]=dMvV[xPos][yPos-1]+qVerY(xPos=0..W-1である)
最後に、dMvH[xPos][yPos]及びdMvV[xPos][yPos](posX=0..W-1、posY=0..H-1である)は:
dMvH[xPos][yPos]=SatShift(dMvH[xPos][yPos],7+2-1);
dMvV[xPos][yPos]=SatShift(dMvV[xPos][yPos],7+2-1);
として右シフトされる。ここで、SatShift(x,n)及びShift(x,n)は:
Figure 0007431253000025
として定義される。一例で、offset0及び/又はoffset1は、(1<<n)>>1にセットされる。
c)PROFのΔI導出方法
サブブロック内の位置(posX,posY)について、その対応するΔv(i,j)は(dMvH[posX][posY],dMvV[posX][posY])と表される。その対応する勾配は、(gradientH[posX][posY],gradientV[posX][posY])と表される。
次いで、ΔI(posX,posY)は、次のように導出される。
(dMvH[posX][posY],dMvV[posX][posY])は:
dMvH[posX][posY]=Clip3(-32768,32767,dMvH[posX][posY]);
dMvV[posX][posY]=Clip3(-32768,32767,dMvV[posX][posY]);
としてクリップされる。
ΔI(posX,posY)=dMvH[posX][posY]×gradientH[posX][posY]+dMvV[posX][posY]×gradientV[posX][posY];
ΔI(posX,posY)=Shift(ΔI(posX,posY),1+1+4);
ΔI(posX,posY)=Clip3(-(213-1),213-1,ΔI(posX,posY)); (PROF-eq2)
d)PROFのI’導出方法
現在のブロックが双予測又は重み付き予測としてコーディングされない場合に:
I’(posX,posY)=Shift((I(posX,posY)+ΔI(posX,posY)),Shift0)、
I’(posX,posY)=ClipSample(I’(posX,posY))
ここで、ClipSampleは、サンプル値を有効な出力サンプル値にクリップする。
次いで、I’(posX,posY)は、インター予測値として出力される。
そうでない(現在のブロックが双予測又は重み付き予測としてコーディングされる)場合には、I’(posX,posY)は、他の予測値及び/又は重み値に従ってインター予測値を生成するために記憶及び使用される。
関連する方法
先願であるPCT出願第PCT/CN2018/096384、PCT/CN2018/098691、PCT/CN2018/104301、PCT/CN2018/106920、PCT/CN2018/109250、及びPCT/CN2018/109425号では、MV更新方法及び2ステップインター予測法が提案されている。BIOにおける参照ブロック0と参照ブロック1との間の導出されたMVは、すけーりんぐさr得て、リスト0及びリスト1の元の動きベクトルに加えられる。一方、更新されたMVは、動き補償を行うために使用され、第2のインター予測が最終的な予測として生成される。
一方、それらの先願PCTでは、時間勾配は、参照ブロック0と参照ブロック1との間の平均差を除くことによって変更される。
他の先願であるPCT出願第PCT/CN2018/092118号では、異なるいくつかのサブブロックについて、ただひと組のMVがクロマ成分について生成される。
JVET-N0145では、DMVRは、MMVD(Merge with MVD)と調和される。DMVRは、MMVDの距離が2ペルよりも大きい場合に、MMVDによって導出された動きベクトルに適用される。
1.7.VVCドラフト4のDMVR
JVET-M1001_v7(VVC作業ドラフト4、バージョン7)でのDMVRの利用は、次のように定義されている:
・次の条件の全てが当てはまる場合に、dmvrFlagは1にセットされる:
・sps_dmvr_enabled_flagは1に等しい
・現在のブロックは、三角予測モード(triangular prediction mode)、AMVRアフィンモード、サブブロックモード(マージアフィンモード及びATMVPモードを含む)でコーディングされていない
・merge_flag[xCb][yCb]は1に等しい
・predFlagL0[0][0]及びpredFlagL1[0][0]の両方ともが1に等しい
・mmvd_flag[xCb][yCb]は0に等しい
・DiffPicOrderCnt(currPic,RefPicList[0][refIdxL0])はDiffPicOrderCnt(RefPicList[1][refIdxL1],currPic)に等しい
・cbHeightは8以上である
・cbHeight×cbWidthは64以上である
既存の実施の欠点
DMVR/BIOの現在の設計には、次の問題がある:
1)DMVRがDMVRを処理するための1つのブロック又は1つのユニット(例えば、16×16)に適用される場合に、ユニット/ブロック全体は、同じ精緻化動き情報を共有する。しかし、精緻化された動き情報は、ユニット/ブロック全体の中のサンプルの一部に対して有益でない可能性がある。
2)JVET-N0145では、DMVRは、MMVDコーディングブロックにも適用されることがある。しかし、DMVRは、MMVDの距離が2ペルよりも大きい場合にしか適用されない、と制限される。選択されたMMVD距離は、最初に、現在のブロックの最初の精緻化された動きベクトルを導出するために使用される。DMVRが更に適用される場合に、DMVRによる第2の精緻化されたMMVD距離がMMVD距離テーブルに含まれ得る。これは不適切である。
3)DMVR/BIOは、ブロック寸法及びPOC距離の条件を満足するブロックに常に適用される。しかし、それは、精緻化後に最悪の性能をもたらす可能性がある1つのブロックのデコードされた情報を十分に考慮しない。
4)5×5の正方MVD空間がDMVRでは探索される。これは、計算的に複雑である。水平MVDは、-2から2までの範囲を取ることができ、垂直MVDは、-2から2までの範囲を取ることができる。
5)パラメトリックエラーサーフェスフィットは、中央の9つの整数位置に対してしか実行されない。これは非効率的である場合がある。
6)BDOF/PROFにおけるMVD値(すなわち、デコードされたMVと精緻化されたMVとの間の差)、つまり、BDOFでは8.5.7.4の式8-867及び式8-868で導出されたv及びv、又はPROFではΔv(x,y)、は、大きい範囲を取る可能性があり、そのため、BDOF/PROFプロセスでシフトによって乗算を置換することは不可能である。
7)BDOFの導出されたサンプル予測精緻化(例えば、予測サンプルに加えられるべきオフセット)はクリップされないので、記憶には不向きであり得る。他方で、PROFは、BDOFと同じOFフローを使用しているが、PROFは、導出されたオフセットのためのクリッピング動作を呼び出す。
残差コーディングの問題
1)変換スキップモード(transform skip mode)及び正則残差コーディングモード(regular residual coding mode)(例えば、変換モード)で使用されるコーディンググループ(Coding Group,CG)サイズは、ずれている。正則残差コーディングでは、2×2のCGサイズが、2×2、2×4及び4×2の残差ブロックのために使用され、2×8及び8×2のCGサイズが、2×N及びN×の残差ブロック(N>=8)のために夫々使用される。他方で、変換スキップモードでは、2×2のCGサイズが常に、2×N及びN×2(N>=2)の残差ブロックのために使用される。
適応分解能変換によるコーディングツールのための例示的な方法
開示されている技術の実施形態は、既存の実施の欠点を解消する。以下で与えられている開示されている技術の例は、開示されている技術の理解を助けるために議論されており、開示されている技術を限定するように解釈されるべきではない。明示的に反対の指示がない場合には、これらの例で記載されている様々な特徴は組み合わされ得る。
MV0及びMV1を夫々、予測方向0及び1でのブロックのMVとして表す。MVX(x=0又は1)については、MVX[0]及びMVX[1]は、夫々、MVXの水平及び垂直成分を表す。MV’が(MV0+MV1)に等しい場合に、MV’[0]=MV0[0]+MV1[0]及びMV’[1]=MV0[1]+MV1[1]である。MV’がa×MV0に等しい場合に、MV’[0]=a×MV1[0]及びMV’[1]=a×MV0[1]である。リスト0及びリスト1内の参照ピクチャは、夫々、Ref0及びRef1であるとすると、現在のピクチャとRef0との間のPOC距離はPocDist0(すなわち、現在のピクチャのPOCからRef0のPOCを引いたものの絶対値)であり、Ref1と現在のピクチャとの間のPOC距離はPocDist1(すなわち、Ref1のPOCから現在のピクチャのPOCを引いたものの絶対値)である。ブロックの幅及び高さを、夫々、W及びHと表す。関数abs(x)はxの絶対値を返すとする。
DMVRの水平MVDは、-MVD_Hor_TH1からMVD_Hor_TH2までの範囲を取ることができ、垂直MVDは、-MVD_ver_TH1からMVD_Ver_TH2までの範囲を取ることができる。ブロックの幅及び高さを、夫々、W及びHと表す。abs(X))はXの絶対値を返し、Max(X,Y)はX及びYのうちの大きい方を返すとする。sumAbsHorMv=abs(MV0[0])+abs(MV1[0])であり、sumAbsVerMv=abs(MV0[1])+abs(MV1[1]であり、maxHorVerMv=Max(abs(MV[0]),abs(MV1[0])であり、maxAbsVerMv=Max(abs(MV[1]),abs(MV1[1])であるとする。クリップされたvx及びvyを、夫々、clipVx及びclipVyと表す。
以下の開示では、MV=(MVx,MVy)の「絶対MV」との用語は、abs(MVx)、又はabs(MVy)、又はabs(MVx)+abs(MVy)、又はMax(abs(MVx),abs(MVy))を指すことができる。「絶対水平MV」という用語は、abs(MVx)を指し、「絶対垂直MV」はabs(MVy)を指す。
関数logK(x)は、Kを底とするxの対数を返し、関数ceil(y)は、y以上の最小の整数(つまり、y<=inty<y+1である場合に、整数値inty)を返し、floor(y)は、y以下の最大の整数(つまり、y-1<inty<=yである場合に、整数値inty)を返すとする。関数sign(x)は、xの符号を返し、例えば、x>=0である場合には0を、x<0である場合には1を返す。x^yはxに等しいとする。関数
Figure 0007431253000026
を仮定する。
提案されている方法は、他の種類のデコーダ側動きベクトル導出/精緻化、予測/再構成サンプル精緻化方法にも適用可能であり得ることに留意されたい。
DMVRは、DMVRを処理するための1つのブロック又は1つのユニット(例えば、16×16)に適用され、下記の説明では、サブ領域は、処理ユニットよりも小さい部分であってもよい。
BIOは、BDOF(Bi-Directional Optical Flow)としても知られている。
以下の議論では、デコーダ側動き導出プロセス(例えば、BDOF、PROF)で利用されるMVDは、v、v、Δv(x,y)及びΔv(x、y)によって表され得る。一例で、v及びvは、BDOFでは8.5.7.4の式8-867及び式8-868で導出された「v及びv」を、あるいは、PROFでは「Δv(x,y)及びΔv(x,y)」を指し得る。一例で、Δv(x,y)及びΔv(x,y)は、BDOFでは8.5.7.4の式8-867及び式8-868で導出された「v及びv」を、あるいは、PROFでは「Δv(x,y)及びΔv(x,y)」を指し得る。
PROF/BDOFに関する提案されている方法は、オプティカルフローを使用する他の種類のコーディング方法に適用されてもよい。
1.所与のMVD(又は2つのリストの所与のMVD対)を使用するMRSAD又は他の規則(例えば、SAD、SATD)の結果は、精緻化された動きベクトルをデコーダ側動き導出プロセスで選択するために使用される前に、更に変更されてもよい。
a.一例で、結果は、スケーリング係数を乗じられることで変更され得る。
i.代替的に、結果は、スケーリング係数で除されることで変更されてもよい。
ii.代替的に、結果は、スケーリング係数で加算/減算されることで変更されてもよい。
iii.一例で、スケーリング係数は、MVDの値に依存し得る。
1.一例で、スケーリング係数は、より大きいMVD(例えば、MVDの水平及び/又は垂直成分の大きい方の絶対値)について増大され得る。
2.一例で、スケーリング係数は、初期化されたMVに試験されたMVDをプラスしたもの有する候補MVのサブペル位置に依存し得る。
iv.一例で、スケーリング係数は、許可されたMVDセットに依存し得る(例えば、許可されたMVDセット内の候補の水平又は垂直成分は、M及びNが非負値であるとして、範囲[-M,N]内にある)。
2.DMVR及び/又はBIOを適用すべきかどうか及び/又はどのように適用すべきかは、ブロックのコーディング情報に依存してもよいことが提案される。
a.一例で、コーディング情報は、参照ピクチャの動きベクトル及びPOC値を含んでもよい。
i.一例で、コーディング情報は、ブロックがAMVPモード又はマージモードでコーディングされているかどうかを含んでもよい。
1.一例で、AMVPコーディングされているブロックについては、BIOは無効にされてもよい。
ii.一例で、DMVR/BIOを有効にすべきかどうかは、2つの動きベクトル(MV0及びMV1に依存し、MV0’及びMV1’によって表される)の和又はMV成分の絶対値に依存してもよい。
1.一例で、abs(MV0’[0]+MV1’[0])>T1又はabs(MV0’[1]+MV1’[1])>T1である場合に、DMVR及び/又はBIOは無効にされ得る。例えば、T1=10整数ピクセルである。
2.一例で、abs(MV0’[0]+MV1’[0])>T1及びabs(MV0’[1]+MV1’[1])>T1である場合に、DMVR及び/又はBIOは無効にされ得る。
3.一例で、abs(MV0’[0]+MV1’[0])+abs(MV0’[1]+MV1’[1])>T2である場合に、DMVR及び/又はBIOは無効にされ得る。例えば、T2=15整数ピクセルである。
4.一例で、abs(MV0’[0]+MV1’[0])<T1又はabs(MV0’[1]+MV1’[1])<T1である場合に、DMVR及び/又はBIOは無効にされ得る。例えば、T1=10整数ピクセルである。
5.一例で、abs(MV0’[0]+MV1’[0])>T1及びabs(MV0’[1]+MV1’[1])>T1である場合に、DMVR及び/又はBIOは無効にされ得る。
6.一例で、abs(MV0’[0]+MV1’[0])+abs(MV0’[1]+MV1’[1])<T2である場合に、DMVR及び/又はBIOは無効にされ得る。例えば、T1=15整数ピクセルである。
7.一例で、MV0’はMV0に等しくセットされ、MV1’はMV1に等しくセットされる。
8.一例で、MV0’はMV0に等しくセットされ、MV1は、MV1’を生成するようスケーリングされ得る。
a.一例で、MV1’=MV1×PocDist0/PocDist1。
b.一例で、MV1’=MV1。
9.一例で、MV1’はMV1に等しくセットされ、MV0は、MV0’を生成するようスケーリングされ得る。
a.一例で、MV0’=MV0×PocDist1/PocDist0。
b.一例で、MV0’=MV0。
10.一例で、MV0’はMV0×(POCRef1-POCcur)に等しくセットされ得、MV1’はMV1×(POCcur-POCRef0)に等しくセットされる。POCcur、POCRef0及びPOCRef1は、夫々、現在のピクチャ、MV0の参照ピクチャ、及びMV1の参照ピクチャのPOC値を表し得る。
b.一例で、コーディング情報は、マージインデックス又は/及びMVPインデックスを含んでもよい。
i.例えば、DMVR又は/及びBDOFは、特定のマージインデックスについてのみ許可され得る。
1.例えば、DMVR又は/及びBDOFは、偶数マージインデックスについてのみ許可され得る。
2.例えば、DMVR又は/及びBDOFは、奇数マージインデックスについてのみ許可され得る。
3.例えば、DMVR又は/及びBDOFは、閾値T1よりも小さいマージインデックスについてのみ許可され得る。
4.例えば、DMVR又は/及びBDOFは、閾値T1よりも大きいマージインデックスについてのみ許可され得る。
ii.例えば、BDOFは、特定のMVPインデックス、例えば、偶数又は奇数MVPインデックスについてのみ許可され得る。
c.一例で、コーディング情報は、SBTモードがブロックによって用いられているか否かを含んでもよい。
i.一例で、DMVR又は/及びBDOFは、SBTモードが用いられている場合に許可され得ない。
ii.一例で、DMVR又は/及びBDOFは、SBTモードで非ゼロ残差を有するサブパーティションについてのみ許可され得る。
iii.一例で、DMVR又は/及びBDOFは、SBTモードで非ゼロ残差を有するサブパーティションについてのみ許可され得ない。
3.DMVR及び/又はBIOを適用すべきかどうか及び/又はどのように適用すべきかは、第1参照リストを参照する精緻化前のMV(例えば、セクション2.5ではMV0と表される)と第2参照リストを参照する精緻化前のMV(例えば、セクション2.5ではMV1と表される)との間の関係に依存してもよいことが提案される。
a.一例で、MV0及びMV1がブロックにおいて対称である場合には、DMVR及び/又はBIOは無効にされ得る。
i.例えば、ブロックが対称な動きベクトル(例えば、(MV0+MV1)がゼロ成分しか有さない)場合には、BIOは無効にされ得る。一例で、ブロックはAMVPモードでコーディングされ得る。代替例では、ブロックはマージモードでコーディングされ得る。
ii.MV0及びMV1が対称であるかどうかは、POCに依存してもよい。
1.例えば、MV0及びMV1は、MV1×(POCcur-POC0)+MV0×(POC1-POCcur)がゼロ動きベクトルに等しい場合に対称である。POCcur、POCRef0及びPOCRef1は、夫々、現在のピクチャ、MV0の参照ピクチャ、及びMV1の参照ピクチャのPOC値を表し得る。
b.一例で、MV0及びMV1がブロックにおいてほぼ対称である場合には、DMVR又は/及びBIOは無効にされ得る。
i.例えば、MV0及びMV1は、abs(MV0+MV1)<Th1である場合にほぼ対称である。Th1は、1整数ピクセルなどの数である。
ii.MV0及びMV1が対称であるかどうかは、POCに依存してもよい。
1.例えば、MV0及びMV1は、abs(MV1×(POCcur-POC0)+MV0×(POC1-POCcur))<Th2である場合にほぼ対称である。Th2は、POCに依存し得る数である。
c.一例で、MV0及びMV1がブロックにおいて対称とはほど遠い場合に、DMVR又は/及びBIOは無効にされ得る。
i.例えば、MV0及びMV1は、abs(MV0+MV1)>Ths1である場合に対称でない。Th1は、16整数ピクセルなどの数である。
ii.MV0及びMV1が対称であるかどうかは、POCに依存してもよい。
1.例えば、MV0及びMV1は、abs(MV1×(POCcur-POC0)+MV0×(POC1-POCcur))>Th2である場合にほぼ対称ではない。Th2は、POCに依存し得る数である。
4.複数ステップの精緻化が適用されてもよく、ステップサイズが大きくなると、精緻化される領域は小さくなる。
a.一例で、k番目のステップは、1つ又は複数のMk×Nkのユニットを精緻化すべきであり、j番目のステップは、1つ又は複数のMj×Njのユニットを精緻化すべきである。ここで、k>jであり、Mk×NkはMj×Njと等しくなく、2つの条件Mk<=Mj、Nk<-Mjのうちの少なくとも一方が当てはまる。
5.1つのブロック内の精緻化された動き情報は、K×Lサブ領域ごとに異なってもよい。
a.一例で、第1のK×Lサブ領域は、デコードされた動き情報を使用してもよく、第2のK×Lサブ領域は、第2のサブ領域をカバーするユニットに適用されたDMVRで導出される精緻化された動き情報を使用してもよい。
6.サブ領域BIOを適用すべきかどうかは、DMVRプロセスの出力に依存してもよい。
a.一例で、DMVRが適用されるブロック/ユニット内のサブ領域について、動き情報がDMVRプロセス後に変化しない場合には、BIOはそのサブ領域について無効にされ得る。
7.N(N>1)対のMVD(例えば、セクション2.5の(MVdiff,-MVdiff))は、最終的な予測サンプルを生成するためにDMVRで選択されてもよく、1つの対が、リスト0の1つ及びリスト1の1つを含む2つの動きベクトル差分を含むことが提案される。
a.一例で、N=2であり、DMVRプロセスでの選択されたMVD対と、全ゼロMVD対とを含む。
b.一例で、N=2である。DMVRプロセスでの裁量の2対のMVD(例えば、最小コストを有する2つのMVD)が使用され得る。
c.一例で、ブロック内の各K×Lサブ領域は、それ自体のMVD対を決定してもよい。
d.一例で、MVDの各対により、2つの参照ブロックが識別可能である。2つの参照ブロック内の各サンプル又はブロック(例えば、2×2ブロック又は4×4ブロックなど)の間のコスト(例えば、SAD/SSE)が計算され得る。次いで、最終的な予測サンプルが、コスト値に従って全ての参照ブロック対の組み合わせとして生成され得る。predKLX(K=1,2,...,N)を、MVDのK番目の対によって識別されたリストX(X=0又は1)内の参照サンプルとして表し、costKを、MVDのK番目の対のコストとして表す。predKLX及びcostKは両方とも、(x,y)(例えば、サンプルの位置)の関数であることができる。
e.一例で、各サンプルの重み付けは、コストに反比例し得る。
i.一例で、
Figure 0007431253000027
ii.一例で、
Figure 0007431253000028
f.一例で、各サンプル又はサブブロックについて、最小コストを達成するMVDが、最終的な予測を生成するために使用される。
8.DMVR及びMMVDが一緒に使用される場合に、DMVRは、MMVD距離を特定の値に精緻化することを許可され得ない。
a.一例で、DMVRによって精緻化されたMMVD距離は、MMVD距離テーブルに含まれるべきではない。
i.代替的に、更に、DMVRによって精緻化されたMMVD距離は、MMVD距離テーブルに含まれる場合に、DMVRは許可されず、元のMMVD距離(例えば、シグナリングされたMMVD距離)が使用される。
b.一例で、DMVRで最良の整数MVDを生成した後に、それは元のMMVD距離に加えられて、粗く精緻化されたMMVD距離が生成される。DMVRは、粗く精緻化されたMMVD距離がMMVD距離テーブルに含まれる場合には許可され得ない。
c.一例でdMVrは、上記の制約を有する全てのMMVD距離について許可され得る。
i.例えば、DMVRは、2ペルMMVD距離について許可され得る。
9.BDOFは、導出されたMVD、及び/又は空間勾配、及び/又は時間勾配、などに応じてサンプル又はサブブロックについて許可されなくてもよいことが提案される。
a.一例で、BDOFは、導出された部分が、参照リスト0内の予測サンプルと参照リスト1内の予測サンプルとの間の距離を広げる場合に、サンプルについて許可され得ない。
i.例えば、
Figure 0007431253000029
(セクション2.3の式(5)に示される)である場合に、BDOFは、位置(x,y)について許可され得ない。
ii.例えば、
Figure 0007431253000030
である場合に、BDOFは、位置(x,y)について許可され得ない。
iii.例えば、
Figure 0007431253000031
(セクション2.3の式(5)に示される)である場合に、BDOFは、位置(x,y)について許可され得ない。
iv.例えば、
Figure 0007431253000032
である場合に、BDOFは、位置(x,y)について許可され得ない。
v.代替的に、導出されたオフセットは、導出された部分が、参照リスト0内の予測サンプルと参照リスト1内の予測サンプルとの間の距離を広げる場合に、fbdof(fbdof<1.0)と表される係数によってスケーリングされてもよい。
1.例えば、
Figure 0007431253000033
b.一例で、BDOFは、導出された部分が、参照リスト0内の予測サンプルと参照リスト1内の予測サンプルとの間の距離を広げる場合に、サンプル又はK×L(例えば、2×2、1×1)サブブロックについて許可され得ない。
i.例えば、BDOFは、Δ>Δである場合に許可され得ない。ここで、
Figure 0007431253000034
であり、Ωは、サブブロックに属するサンプルを表す。
ii.一例で、BDOFは、Δ1≧Δ2である場合に許可され得ない。
iii.一例で、差分はSSE(Sum of Squared Error)又は平均除去SSE若しくはSATD(Sum of Absolute Transformed Difference)によって測定され得る。例えば、
Figure 0007431253000035
iv.一例で、差分は、サブブロックの特定のサンプルに対して計算され得る。
1.例えば、差分は、サブブロックの偶数又は奇数行に対して計算され得る。
v.代替的に、導出されたオフセット又は/及びv又は/及びvは、導出された部分が、参照リスト0内の予測サンプルと参照リスト1内の予測サンプルとの間の距離を広げる場合に、fbdof(fbdof<1.0)と表される係数によってスケーリングされてもよい。
c.一例で、導出されたオフセット(例えば、
Figure 0007431253000036
)又は/及びv又は/及びvは、導出されたオフセット又は/及びv又は/及びvは、導出された部分が、参照リスト0内の予測サンプルと参照リスト1内の予測サンプルとの間の距離を縮める場合に、fbdof(fbdof>=1.0)と表される係数によってスケーリングされてもよい。
10.BDOFで導出されたMVD(例えば、v及びv)がクリッピング動作の後に変化する場合に、コスト、例えば、
Figure 0007431253000037
(Δは、式(5)で定義され、Ωは、サブブロックに属するサンプルを表す)は、クリップされたMVDについて計算され得る。最初に導出されたMVDをcostDerivedMvdと表し、クリップされたMVDのコストをcostClipMvdと表し、全ゼロMVDのコストをcostZeroMvdと表す。
a.一例で、costClipMvd>Th×costZeroMvdである場合に、BDOFは許可され得ない。
b.一例で、costClipMvd>Th×costDerivedMvdである場合に、BDOFは許可され得ない。
c.一例で、costClipMvd>ThcostZeroMvd又はcostClipMvd>Th×costDerivedMvdである場合に、導出されたオフセット(例えば、
Figure 0007431253000038
)は、1.0よりも小さい係数によってスケーリングされてもよい。
d.代替的に、v及びvの両方がクリッピング動作の後に変化する場合には、BDOFは許可され得ない。
e.代替的に、v又はvのどちらか一方がクリッピング動作の後に変化する場合には、BDOFは許可され得ない。
f.代替的に、vとクリップされたvとの間の絶対差が閾値Tよりも大きい場合には、BDOFは許可され得ない。
g.代替的に、vとクリップされたvとの間の絶対差が閾値Tよりも大きい場合には、BDOFは許可され得ない。
h.代替的に、vとクリップされたvとの間の絶対差が閾値T1よりも大きく、vとクリップされたvとの間の絶対差が閾値T2よりも大きい場合には、BDOFは許可され得ない。
i.一例で、T/T1/T2は1又は2又は3又は4整数ピクセルであってよい。
j.一例で、vがclipVxに等しくない場合に、コストは、いくつかの特定のMVD、例えば、(0,0)、(clipVx/2,0)、(clipVx×2,0)について計算され得る。最小コストを達成するMVDが最終的なMVDとして選択され得る。
k.一例で、vがclipVyに等しくない場合に、コストは、いくつかの特定のMVD、例えば、(clipVx,0)、(clipVx,clipVy/2)、(clipVx,clipVy×2)について計算され得る。最小コストを達成するMVDが最終的なMVDとして選択され得る。
l.一例で、vがclipVxに等しくなく、かつ、vがclipVyに等しくない場合に、コストは、いくつかの特定のMVD、例えば、(0,0)、(clipVx/2,0)、(clipVx×2,0)、(0,clipVy)、(clipVx/2,clipVy)、(clipVx×2,clipVy)、(0,2×clipVy)、(clipVx/2,2×clipVy)、(clipVx×2,2×clipVy)について計算され得る。最小コストを達成するMVDが最終的なMVDとして選択され得る。
m.一例で、vがclipVxに等しくなく、かつ、vがclipVyに等しくない場合に、水平MVD及び垂直MVDが順次に決定され得る。
i.例えば、水平MVDは、最初に、垂直MVDが特定の値(例えば、0)に等しいと仮定して決定され得る。次いで、垂直MVDが、決定された水平MVDに基づき決定され得る。
1.一例で、コストは、最初に、垂直MVDがゼロに等しいと仮定するいくつかの特定の水平MVD、例えば、MVD(0,0)、(clipVx/2,0)、(clipVx×2,0)について計算され得、最小コストを達成する水平MVDが、finalVxと表される最終的な水平MVDとして選択され得る。次いで、コストは、いくつかの特定の垂直MVD、例えば、MVD(finalVx,0)、(finalVx,clipVy/2)、(finalVx,clipVy×2)について計算され得、最小コストを達成する垂直MVDが、最終的な垂直MVDとして選択され得る。
ii.例えば、垂直MVDは、最初に、水平MVDが特定の値(例えば、0)に等しいと仮定して決定され得る。次いで、水平MVDが、決定された垂直MVDに基づき決定され得る。
1.一例で、コストは、最初に、水平MVDがゼロに等しいと仮定するいくつかの特定の水平MVD、例えば、MVD(0,0)、(0,clipVy/2)、(0,clipVy×2)について計算され得、最小コストを達成する垂直MVDが、finalVyと表される最終的な垂直MVDとして選択され得る。次いで、コストは、いくつかの特定の水平MVD、例えば、MVD(0,finalVy)、(clipVx/2,finalVy)、(clipVx×2,finalVy)について計算され得、最小コストを達成する水平MVDが、最終的な水平MVDとして選択され得る。
n.一例で、異なるMVDが、コスト関数においていくつかの共通の部分を有することがあり、これらの共通の部分は、比較において計算されなくてもよい。
i.代替的に、共通の部分は、全てのMVDについてコスト関数から削除される。
11.BDOF及び他のデコーダ精緻化ツール(例えば、PROF)で導出された動きベクトル差分(つまり、MVD)は、導出されたMVDに依存するひと組又は複数組の候補MVDに基づき更に精緻化されてもよい。そして、ブロックは、シグナリングされた動きベクトル及び精緻化されたMVDに基づき再構成され得る。導出されたMVDを(v,v)によって表し、精緻化されたMVDを(refinedV,refinedV)によって表す。
a.一例で、2ステップ精緻化が適用されてもよく、第1のステップで使用される第1の組の候補MVDは、変更されていないv及び変更されているvに基づき、第2の組の候補MVDは、変更されていないv及び変更されているvに基づき、あるいは、逆も同様である。
b.一例で、候補MVDの組は、(v+offsetX,v)を含むよう定義され、offsetXは範囲[-ThX1,ThX2]の中にあり、ThX1及びThX2は非負整数値である。一例で、ThX1=ThX2=ThXであり、ThXは非負整数である。他の例では、ThX1=ThX2+1=ThXであり、ThXは非負整数である。
i.一例で、ThX=2である。一例で、(v-2,v)、(v-1,v)、(v,v)、(v+1,v)、及び(v+2,v)を含むMVDが、vを導出した後にチェックされ得る。
ii.代替的に、ThX=1である。一例で、(v-1,v)、(v,v)、及び(v+1,v)を含むMVDが、vを導出した後にチェックされ得る。
iii.一例で、範囲[-ThX1,ThX2]内の値の一部(例えば、offsetX)のみが許可され得る。
iv.代替的に、vは、0に等しくセットされる。
v.代替的に、vは、refinedVに等しくセットされる。
c.一例で、候補MVDの組は、(v,v+offsetY)を含むよう定義され、offsetYは範囲[-ThY1,ThY2]の中にあり、ThY1及びThY2は非負整数値である。一例で、ThY1=ThY2=ThYであり、ThYは非負整数である。他の例では、ThY1=ThY2+1=ThYであり、ThYは非負整数である。
i.一例で、ThY=2である。一例で、(v,v-2)、(v,v-1)、(v,v)、(v,v+1)、及び(v,v+2)を含むMVDが、vを導出した後にチェックされ得る。
ii.一例で、ThY=1である。一例で、(v,v-1)、(v,v)、及び(v,v+1)を含むMVDが、vを導出した後にチェックされ得る。
iii.一例で、範囲[-ThY1,ThY2]内の値の一部(例えば、offsetY)のみが許可され得る。
iv.代替的に、vは、refinedVに等しくセットされる。
v.代替的に、vは、0に等しくセットされる。
d.一例で、v及びvは、順に精緻化されてもよい。
i.例えば、vは、例えば、ビュレット10.bに従って、最初に精緻化される。
1.代替的に、更に、vは、0に等しいと仮定される。
ii.例えば、vは、例えば、ビュレット10.cに従って、最初に精緻化される。
1.代替的に、更に、vは、0に等しいと仮定される。
e.一例で、v及びvは、一緒に精緻化されてもよい。例えば、候補MVDの組は、(v+offsetX,v+offsetY)を含むよう定義され、offsetXは範囲[-ThX1,ThX2]内にあり、offsetYは範囲[-ThY1.ThY2]内にある。
i.例えば、ThX1=ThX2=2かつThY1=ThY2=2である。
ii.例えば、ThX1=ThX2=1かつThY1=ThY2=1である。
iii.一例で、(v+offsetX,v+offsetY)の一部の値しか、候補MVDセットに含まれなくてもよい。
f.一例で、v及びvから導出される候補MVDの数は同じであってよく、例えば、ThX1=ThY1及びThX2=ThY2である。
i.代替的に、v及びvから導出される候補MVDの数は異なってもよく、例えば、ThX1!=ThY1又はThX2!=ThY2である。
g.代替的に、更に、最小コスト(例えば、ビュレット9で定義されるコスト)を達成するMVDは、精緻化されたMVDとして選択されてもよい。
12.BDOF及び他のデコーダ精緻化方法(例えば、PROF)で使用されるMVDは、所与の候補セット内にあるよう制限されてもよいことが提案される。
a.水平MVDの最大及び最小値は、夫々、MVDmaxX及びMVDminXによって表され、垂直MVDの最大及び最小値は、夫々、MVDmaxY及びMVDminYによって表されるとする。所与の候補セット内で許される水平MVD候補の数は、(1+MVDmaxX-MVDminX)よりも小さくなければならず、かつ/あるいは、所与の候補セット内で許される垂直MVD候補の数は、(1+MVDmaxY-MVDminY)よりも小さくなければならない。
b.一例で、所与の候補セットは、v及び/又はvがKの形を取る候補しか有さなくてもなく、mは整数である。例えば、K=2である。
i.代替的に、更に、所与の候補セットは、v及び/又はvが0に等しい候補も含んでもよい。
ii.代替的に、Δv(x,y)又は/及びΔv(x,y)についての所与の候補セットは、Δv(x,y)又は/及びΔv(x,y)がゼロであるか又はKの形を取る候補しか有さなくてもなく、mは整数である。例えば、K=2である。
c.一例で、所与の候補セットは、絶対値がゼロであるか又はKの形を取るv及び/又はv又は/及びΔv(x,y)又は/及びΔv(x,y)を有する候補しか有さなくてもなく、mは整数である。例えば、K=2である。
d.一例で、所与の候補セットは、v及び/又はv又は/及びΔv(x,y)又は/及びΔv(x,y)がゼロであるか又はKの形を取る候補しか有さなくてもなく、mは整数である。例えば、K=2である。
e.一例で、MVDは、最初に、先行技術(例えば、BDOFにおいて8.5.7.4の式8-867及び式8-868で導出されたv及びv)を用いて導出されてよく、次いで、所与の候補セット内で許されている候補のうちの1つであるよう変更されてよい。
i.一例で、Xは、abs(v)又はabs(v)に等しくセットされ、X’は、Xから導出され、v又はvは、sign(v)×X’又はsign(v)×X’に変更される。
1.例えば、X’は、K^ceil(logK(X))に等しくセットされ得る。
2.例えば、X’は、K^floor(logK(X))に等しくセットされ得る。
3.例えば、X’は、Xが閾値Tよりも小さい場合に、0に等しくセットされ得る。
4.例えば、X’は、ceil(logK(X))-X<=X-floor(logK(X))である場合に、K^ceil(logK(X))に等しくセットされ得る。
a.代替的に、更に、X’は、そうでない場合には、K^floor(logK(X))に等しくセットされ得る。
5.例えば、X’は、Kceil(logK(X))-X<=X-Kfloor(logK(X))である場合に、Kceil(logK(X))に等しくセットされ得る。
a.代替的に、更に、
X’は、Kceil(logK(X))-X>X-Kfloor(logK(X))である場合に、Kfloor(logK(X))に等しくセットされ得る。
6.例えば、X’は、Kceil(logK(X))-X<X-Kfloor(logK(X))である場合に、Kceil(logK(X))に等しくセットされ得る。
a.代替的に、更に、X’は、Kceil(logK(X))-X>=X-Kfloor(logK(X))である場合に、Kfloor(logK(X))に等しくセットされ得る。
7.一例で、Kは2にセットされる。
8.一例で、X’は、Kceil(logK(X+offset))に等しくセットされてもよく、offsetは整数である。例えば、offsetは、X-1又はX>>1に等しくてよい。
a.一例で、offsetはXに依存してもよい。例えば、offsetは、Kceil(logK(X))/2+Pに等しくてよい。Pは、0、1、-1といった整数である。
9.一例で、X’は、Kfloor(logK(X+offset))に等しくセットされてもよく、offsetは整数である。例えば、offsetは、X-1又はX>>1に等しくてよい。
a.一例で、offsetはXに依存してもよい。例えば、offsetは、Kfloor(logK(X))/2+Pに等しくてよい。Pは、0、1、-1といった整数である。
10.一例で、XからX’への変換は、予め定義されたルックアップテーブルによって実装されてもよい。
a.一例で、ルックアップテーブルは、上記の方法から導出されてもよい。
b.一例で、ルックアップテーブルは、上記の方法から導出されなくてもよい。
c.一例で、XからX’へ変換するときに、Xは、ルックアップテーブルにアクセスするためのインデックスとして使用されてもよい。
d.一例で、XからX’へ変換するときに、Xの最初のN個(N=3)の最上位ビットが、ルックアップテーブルにアクセスするためのインデックスとして使用されてもよい。
e.一例で、XからX’へ変換するときに、Xの最初のN個(N=3)の最下位ビットが、ルックアップテーブルにアクセスするためのインデックスとして使用されてもよい。
f.一例で、XからX’へ変換するときに、Xの特定のN個(N=3)の連続ビットが、ルックアップテーブルにアクセスするためのインデックスとして使用されてもよい。
11.上記の方法は、vをΔv(x,y)で置換することによってΔv(x,y)にも適用可能であることができる。
12.上記の方法は、vをΔv(x,y)で置換することによってΔv(x,y)にも適用可能であることができる。
ii.一例で、Kの累乗である候補値の組が、コスト(例えば、ビュレット9で定義されるコスト)を計算するためにv又はvに応じて選択されてもよい。最小コストを達成する値が最終的なv又はvとして選択される。lgKZ=floor(logJ(abs(vz)))を表し、Z=x又はyである。
1.例えば、値の組は、sign(vz)×{K^lgKZ,K^(lgKZ+1)}であってよい。
2.例えば、値の組は、sign(vz)×{K^lgKZ,K^(lgKZ+1),0}であってよい。
3.例えば、値の組は、sign(vz)×{K^lgKZ,0}であってよい。
4.例えば、値の組は、sign(vz)×{K^(lgKZ-1),K^lgKZ,K^(lgKZ+1)}であってよい。
5.例えば、値の組は、sign(vz)×{K^(lgKZ-1),K^lgKZ,K^(lgKZ+1),0}であってよい。
6.例えば、値の組は、sign(vz)×{K^(lgKZ-2),K^(lgKZ-1),K^lgKZ,K^(lgKZ+1),K^(lgKZ+2),0}であってよい。
7.例えば、値の組は、sign(vz)×{K^(lgKZ-1),K^lgKZ,K^(lgKZ+1)}であってよい。
iii.一例で、v及びvは、順に変更されてもよい。
1.一例で、vは、vがゼロに等しいと仮定して最初に変更されてもよい。
a.代替的に、更に、vは、変更されたvに基づき導出される。
2.一例で、vは、vがゼロに等しいと仮定して最初に変更されてもよい。
a.代替的に、更に、vは、変更されたvに基づき導出される。
f.代替的に、所与の候補セット内の許されている候補しか、MVDを導出するようチェックされなくてもよい。
i.一例で、BDOFにおいて、式(7)及び式(8)から明示的にMVD(例えば、8.5.7.4の式8-867及び式8-868で導出されたv及びv)を導出する代わりに、v及びvは、候補MVD値の組から直接に選択されてもよい。
ii.一例で、v及びvは、順に決定されてもよい。
1.一例で、vは、vがゼロに等しいと仮定して最初に決定されてもよい。
a.代替的に、更に、vは、決定されたvに基づき導出される。
2.一例で、vは、vがゼロに等しいと仮定して最初に決定されてもよい。
a.代替的に、更に、vは、決定されたvに基づき導出される。
iii.一例で、v及びvは一緒に決定される。
iv.一例で、候補MVD値セットは、K^N若しくは-K^Nの形を取る値又はゼロしか含まなくてもよく、Nは整数であり、K>0であり、例えば、K=2である。
1.一例で、候補MVD値セットは、M/(K^N)の形を取る値を含んでもよく、Mは整数であり、N>=0、K>0であり、例えば、k=2である。
2.一例で、候補MVD値セットは、M/(K^N)の形を取る値を含んでもよく、M及びNは整数であり、K>0であり、例えば、k=2である。
3.一例で、候補MVD値セットは、値ゼロ又は(K^M)/(K^N)の形を取る値を含んでもよく、M及びNは整数であり、K>0であり、例えば、k=2である。
g.代替的に、許可されたMVD値しか、v及びvについて導出されなくてもよい。
i.一例で、vxは、次のように導出される。ここで、関数F1()及びF2()はfloor()又はceil()であることができる。
Figure 0007431253000039
ii.一例で、vは、sign(-sGxdI)×esp2(M)として導出され、Mは、最小コスト(sGxdI<<3,sGx2)を達成する整数であり、関数cost()は、次のように定義される:
cost(x,y)=Abs(abs(x)×2-y)
1.代替的に、cost(x,y,M)=Abs(abs(x)×2-abs(y))。
2.代替的に、cost(x,y,M)=Abs(abs(x)×2-y)。
iii.一例で、vは次のように導出される。ここで、関数F1()及びF2()はfloor()又はceil()であることができる。
Figure 0007431253000040
iv.一例で、vは、sign(tmp)×esp2(M)として導出され、Mは、最小コスト(tmp,sGy2)を達成する整数であり、tmpは次のように定義され、関数cost()は上記で定義されている:
Figure 0007431253000041
v.vを導出するための分子及び分母は、夫々、numX及びdenoXであるとする(例えば、vは、近似的にnumX/denoXであると期待される)。vは、次のように導出され得る:
1.一例で、vは、sign(numX×denoX)×esp2(M)として導出され得、Mは、cost(numX,denoX,M)の最小値を達成する整数である。
2.一例で、vは、ゼロ又はsign(numX×denoX)×KF1(logK(abs(numX)+offset1))-F2(logK(abs(denoX)+offset2))に等しくセットされてよく、offset1及びoffset2は整数である。
a.例えば、vは、abs(numX)<abs(denoX)×T1+T2である場合にゼロに等しくセットされ得る。例えば、T1=1/2、T2=0である。
b.例えば、vは、abs(numX)<=abs(denoX)×T1+T2である場合にゼロに等しくセットされ得る。例えば、T1=1/2、T2=0である。
c.例えば、vは、abs(numX)<(abs(denoX)>>T1)+T2である場合にゼロに等しくセットされ得る。例えば、T1=1、T2=0である。
d.例えば、vは、abs(numX)<=(abs(denoX)>>T1)+T2である場合にゼロに等しくセットされ得る。例えば、T1=1、T2=0である。
e.例えば、vは、denoXがゼロに等しい場合にゼロに等しくセットされ得る。
f.例えば、vは、numXがゼロに等しい場合にゼロに等しくセットされ得る。
g.例えば、vは、numXがゼロに等しいか又はdenoXがゼロに等しい場合にゼロに等しくセットされ得る。
h.例えば、vは、denoXがT1よりも小さい場合にゼロに等しくセットされ得る。
i.例えば、vは、numXがT1よりも小さい場合にゼロに等しくセットされ得る。
j.例えば、vは、numxがT1よりも小さいか又はdenoXがT2よりも小さい場合にゼロに等しくセットされ得る。
k.例えば、offset1は、numX-1又はnumX>>1若しくは0に等しくセットされてもよい。
l.例えば、offset2は、denoX-1又はdenoX>>1若しくは0に等しくセットされてもよい。
m.例えば、offset1はnumXに依存してもよい。例えば、offset1は、Kceil(logK(numX))/2+Pに等しくてよい。ここで、Pは、0、1、-1といった整数である。
n.例えば、offset1はnumXに依存してもよい。例えば、offset1は、Kceil(logK(abs(numX)))/2+Pに等しくてよい。ここで、Pは、0、1、-1といった整数である。
o.例えば、offset1は、Kfloor(logK(numX))/2+Pに等しくてよい。ここで、Pは、0、1、-1といった整数である。
p.例えば、offset1は、Kfloor(logK(abs(numX)))/2+Pに等しくてよい。ここで、Pは、0、1、-1といった整数である。
q.例えば、offset2はdenoXに依存してもよい。例えば、offset2は、Kceil(logK(denoX))/2+Pに等しくてよい。ここで、Pは、0、1、-1といった整数である。
r.例えば、offset2はdenoXに依存してもよい。例えば、offset2は、Kceil(logK(abs(denoX)))/2+Pに等しくてよい。ここで、Pは、0、1、-1といった整数である。
s.例えば、offset2は、Kfloor(logK(denoX))/2+Pに等しくてよい。ここで、Pは、0、1、-1といった整数である。
t.例えば、offset2は、Kfloor(logK(abs(denoX)))/2+Pに等しくてよい。ここで、Pは、0、1、-1といった整数である。
u.例えば、F1()及びF2()は、関数floor()又はceil()でることができる。
3.一例で、delta=floor(log2(abs(numX)))-floor(log2(abs(denoX)))であり、vは次のように導出され得る。
a.例えば、v=abs(numX)<(T1×abs(denoX)+T2)?T3:sign(numX×denoX)×(1<<delta)。
i.一例で、T1=1、T2=0、T3=0である。
ii.一例で、T1=1/2、T2=0、T3=0である。
iii.一例で、T3=numXである。
b.例えば、v=abs(numX)<=(T1×abs(denoX)+T2)?T3:sign(numX×denox)×(1<<delta)。
i.一例で、T1=1、T2=0、T3=0である。
ii.一例で、T1=1/2、T2=0、T3=0である。
iii.一例で、T3=numXである。
c.例えば、v=((denoX==0)||(abs(numX)<(T1×abs(denoX)+T2)))?T3:sign(numX×denoX)×(1<<delta)。
d.例えば、v=((denoX==0)||(abs(numX)<=(T1×abs(denoX)+T2)))?T3:sign(numX×denoX)×(1<<delta)。
e.例えば、v=((numX==0)||(abs(numX)<(T1×abs(denoX)+T2)))?T3:sign(numX×denoX)×(1<<delta)。
f.例えば、v=((numX==0)||(abs(numX)<=(T1×abs(denoX)+T2)))?T3:sign(numX×denoX)×(1<<delta)。
g.例えば、v=((numX==0)||(denoX==0)||(abs(numX)<(T1×abs(denoX)+T2)))?T3:sign(numX×denoX)×(1<<delta)。
h.例えば、v=((numX==0)||(denoX==0)||(abs(numX)<=(T1×abs(denoX)+T2)))?T3:sign(numX×denoX)×(1<<delta)。
i.例えば、v=(delta<T1)?T3:sign(numX×denoX)×(1<<delta)。
j.例えば、v=(delta<=T1)?T3:sign(numX×denoX)×(1<<delta)。
k.例えば、v=((delta<T1)||(denoX==0))?T3:sign(numX×denoX)×(1<<delta)。
l.例えば、v=((delta<=T1)||(denoX==0))?T3:sign(numX×denoX)×(1<<delta)。
m.例えば、v=((delta<T1)||(numX==0))?T3:sign(numX×denoX)×(1<<delta)。
n.例えば、v=((delta<=T1)||(numX==0))?T3:sign(numX×denoX)×(1<<delta)。
o.例えば、v=((delta<=T1)||(numX==0)||(denoX==0))?T3:sign(numX×denoX)×(1<<delta)。
p.例えば、v=((delta<T1)||(numX==0)||(denoX==0))?T3:sign(numX×denoX)×(1<<delta)。
q.一例で、deltaは、次のように更に変更されてもよい。
i.例えば、floor(log2(abs(numX)))が0よりも大きく、かつ、abs(numX)&(1<<(floor(log2(abs(numX)))-1))がゼロに等しくない場合には、deltaは1だけ増やされ得る。
ii.例えば、floor(log2(abs(denoX)))が0よりも大きく、かつ、abs(denoX)&(1<<(floor(log2(abs(denoX)))-1))がゼロに等しくない場合には、deltaは1だけ増やされ得る。
r.代替的に、更に、deltaが0よりも小さい場合に、vは0にセットされる。
4.かような方法は、numX及びdenoXをnumY及びdenoYで夫々置換することによって、vに適用可能である(上記の方法のvをvで置換する)。numY及びdenoYは、vを導出するために使用される分子及び分母である。
5.上記の例で、vは、BDOFでbdofOffsetを導出するために使用される「v」、又はPROFで(例えば、PROF-eq2で)ΔIを導出するために使用される「Δv(x,y)」を指すことができる。
a.例えば、numX及び/又はdenoXは、vがBDOFでbdofOffsetを導出するために使用される「v」、又はPROFでΔIを導出するために使用される「Δv(x,y)」を指すかどうかに応じて、セットされてもよい。
b.例えば、PROFでΔIを導出するために使用される「Δv(x,y)」である場合に、numXは、PROFで(例えば、PROF-eq1で)アフィンパラメータから導出されたΔv(x,y)に等しくセットされ得る。
c.例えば、PROFでΔIを導出するために使用される「Δv(x,y)」である場合に、denoXは、1などの固定数に等しくセットされ得る。
6.上記の例で、vは、BDOFでbdofOffsetを導出するために使用される「v」、又はPROFで(例えば、PROF-eq2で)ΔIを導出するために使用される「Δv(x,y)」を指すことができる。
a.例えば、numY及び/又はdenoYは、vがBDOFでbdofOffsetを導出するために使用される「v」、又はPROFでΔIを導出するために使用される「Δv(x,y)」を指すかどうかに応じて、セットされてもよい。
b.例えば、PROFでΔIを導出するために使用される「Δv(x,y)」である場合に、numYは、PROFで(例えば、PROF-eq1で)アフィンパラメータから導出されたΔv(x,y)に等しくセットされ得る。
c.例えば、PROFでΔIを導出するために使用される「Δv(x,y)」である場合に、denoYは、1などの固定数に等しくセットされ得る。
h.一例で、異なるツール(例えば、BDOF及びPROF)で使用されるMVDの水平及び/又は垂直成分は、最初に先行技術を用いて導出され、次いで、ツールに関連した所与の候補セットに属しているように更に変更されてもよい。変更プロセスは統合されてもよい。
i.代替的に、異なるツールで使用されるMVDの導出プロセスは、直接に統合されてもよい。
ii.一例で、BDOF及びPROFで使用されるMVDの水平及び/又は垂直成分は、最初に先行技術を用いて導出され、ツールに関連した所与の候補セットに属しているように更に変更されてもよい。
1.代替的に、更に、異なる入力が、統合された変更プロセスを呼び出すために使用されてもよい。
2.例えば、これらの値は、ビュレット12.g.vで記載されているように導出されてもよい。入力は、分子及び分母であり、出力は、ゼロ又はKm若しくは-Kmの形を取る値(K及びmは整数であり、例えば、K=2である)のどちらか一方である導出されたMVD値である。
3.一例で、PROFで動きベクトル差分を導出するときに、分子は、夫々変更される前の元のΔv(x,y)又はΔv(x,y)(例えば、セクション2.6で導出される値)であり、分母は1である。
4.一例で、BDOFで動きベクトル差分を導出するときに、分子は、夫々変更される前の元のv又はv(例えば、BDOFにおいて8.5.7.4の式8-867及び式8-868で導出される値)であり、分母は1である。
5.一例で、元のΔv(x,y)又はΔv(x,y)は、分子として使用される前に数Nだけ左シフトされてもよく、分母は1<<Nである。この場合に、出力されたMVDは、使用される前にNだけ右シフトされるべきである。
6.一例で、元のv又はv(例えば、BDOFにおいて8.5.7.4の式8-867及び式8-868で導出される値)分子として使用される前に数Nだけ左シフトされてもよく、分母は1<<Nである。この場合に、出力されたMVDは、使用される前にNだけ右シフトされるべきである。
i.一例で、ビュレット11.b又は/及び11.cでv又はvを決定するときに、コストは、候補値ごとに計算され、最小コストを達成する値が、v又はvとして選択される。
i.例えば、コスト
Figure 0007431253000042
(Δは式(5)で定義され、Ωは、サブブロックに属するサンプルを表す)が使用され得る。
j.所与の候補セットは、予め定義されてもよい。
i.一例で、v及び/又はvは、-2^x/2^Xからのみであってよく、xは範囲[-(X-1),(X-1)]に含まれる。
1.代替的に、更に、所与の候補セットは、v及び/又はvが0に等しい候補も含んでもよい。
2.代替的に、更に、所与の候補セットは、2^x/2^Xの形を取る値も含んでもよい。
ii.一例で、所与のMVD候補セット内の候補の水平及び/又は垂直成分(例えば、BDOFで使用されるv及び/又はvの値や、PROFでのΔv(x,y)又はΔv(x,y))は、S×(2/2)の形しか取ることができず、Sは1又は-1である。
1.一例で、N=6である。他の例では、Nは0、2又は4であってもよい。
2.一例で、mは範囲[a,b]内にあり、例えば、a=0及びb=N、あるいは、a=0及びb=N-1である。
3.代替的に、更に、所与のMVD候補セットは、S×(2/2)に加えて0も含んでもよい。
4.代替的に、更に、所与のMVD候補セットは、S×(2/2)及び/又は0に加えて、(-S)×(2n/2Q)の形を取る値を含んでもよい。
a.一例で、Q=6である。
b.一例で、nは範囲[a,b]内にあり、例えば、a=0及びb=Q、あるいは、a=0及びb=Q-1である。
5.一例で、所与のMVD候補セット内の候補の水平及び/又は垂直成分(例えば、BDOFで使用されるv及び/又はvの値や、PROFでのΔv(x,y)又はΔv(x,y))は、{32/64,16/64,8/64,4/64,2/64,1/64,0,1/64,2/64,4/64,8/64,16/64,32/64}からのみであってよい。
iii.一例で、v及びvは、{-32,-16,-8,-4,-2,-1,0,1,2,4,8,16,32}/64からのみであってよい。
iv.一例で、v又は/及びv又は/及びΔv(x,y)又は/及びΔv(x,y)は、{-32,-16,-8,-4,-2,-1,0,1,2,4,8,16,32}からのみであってよい。
v.一例で、v又は/及びv又は/及びΔv(x,y)又は/及びΔv(x,y)は、{-32,-16,-8,-4,-2,-1,0,1,2,4,8,16,32}/32からのみであってよい。
vi.一例で、Δv(x,y)又は/及びΔv(x,y)は、{-64,-32,-16,-8,-4,-2,-1,0,1,2,4,8,16,32,64}からのみであってよい。
vii.一例で、v又は/及びv又は/及びΔv(x,y)又は/及びΔv(x,y)は、{-64,-32,-16,-8,-4,-2,-1,0,1,2,4,8,16,32、64}/64からのみであってよい。
viii.一例で、v又は/及びv又は/及びΔv(x,y)又は/及びΔv(x,y)は、{-128,-32,-16,-8,-4,-2,-1,0,1,2,4,8,16,32,128}/128からのみであってよい。
ix.一例で、v又は/及びv又は/及びΔv(x,y)又は/及びΔv(x,y)は、{-128,-32,-16,-8,-4,-2,-1,0,1,2,4,8,16,32,128}からのみであってよい。
k.所与の候補セットは、コーディングされた情報(例えば、ブロック寸法、モード)に依存してもよい。
i.それは、ブロックがBDOF又はPROFを有効にしてコーディングされているかどうかに依存してもよい。
l.所与の候補セットは、シーケンス/ピクチャ/スライス/ブリック/他のビデオユニットレベルでシグナリングされてもよい。
m.一例で、BDOF又はPROFでのサンプルに対する精緻化プロセスは、乗算演算を含む。
i.例えば、S’は、S’=S+((Gx+OffsetX)<<Bx)+((Gy+OffsetY)<<By)+OffsetSとして導出され、S及びS’は、精緻化の前及び後のサンプル値である。OffsetX、OffsetY、及びOffsetSは、0などの整数である。
1.一例で、S’はクリップされてもよい。
2.一例で、S’は右シフトされてもよい。
13.BDOFでのv又は/及びv又は/及びPROFでのΔv(x,y)又は/及びΔv(x,y)は、最初に、予め定義された範囲(v又は/及びv又は/及びΔv(x,y)又は/及びΔv(x,y)について異なった範囲が使用されてもよい)にクリップされ、次いで、提案されている方法によって、ゼロ又はK若しくは-Kの形を取る値に変換されてもよい。
a.代替的に、BDOFでのv又は/及びv又は/及びPROFでのΔv(x,y)又は/及びΔv(x,y)は、最初に提案されている方法によって、ゼロ又はK若しくは-Kの形を取る値に変換され、それから、予め定義された範囲(v又は/及びv又は/及びΔv(x,y)又は/及びΔv(x,y)について異なった範囲が使用されてもよい)にクリップされてもよい。
i.代替的に、更に、範囲は、[-Km1,K]又は[Km2,K]の形を取るべきである。
b.一例で、上記の方法での分子又は/及び分母は、使用される前に、予め定義された範囲にクリップされてもよい。
14.BDOFでのクリッピングパラメータ(例えば、式(7)及び式(8)のthBIO)は、異なるシーケンス/ピクチャ/スライス/タイルグループ/タイル/CTU/CUごとに異なってもよい。
a.一例で、異なるthBIOが、水平MVD及び垂直MVDをクリップする場合に使用されてもよい。
b.一例で、thBIOは、ピクチャの寸法に依存してもよい。例えば、より大きいthBIOは、より大きい寸法を有しているピクチャに対して使用され得る。
c.一例で、thBIOは、ブロックのデコードされた動き情報に依存してもよい。
i.例えば、より大きいthBIOは、より大きい絶対MV、例えば、MV[0]の「絶対MV」又はMV[1]の「絶対MV」又はsumAbsHorMv又はsumAbsVerMv又はsumAbsHorMv+sumAbsVerMvを有するブロックに対して使用されてもよい。
ii.例えば、より大きいthBIOは、より大きい絶対水平MV、例えば、MV[0]の「絶対水平MV」又はMV[1]の「絶対水平MV」又はsumAbsHorMv又はmaxHorVerMvを有するブロックに対して水平MVDをクリップするために使用されてもよい。
iii.例えば、より大きいthBIOは、より大きい絶対垂直MV、例えば、MV[0]の「絶対垂直MV」又はMV[1]の「絶対垂直MV」又はsumAbsVerMv又はmaxAbsVerMvを有するブロックに対して水平MVDをクリップするために使用されてもよい。
d.クリッピングパラメータは、エンコーダで決定されて、シーケンスパラメータセット(SPS)又は/及びビデオパラメータセット(VPS)又は/及び適応パラメータセット(APS)又は/及びピクチャパラメータセット(PPS)又は/及びスライスヘッダ又は/及びタイルグループヘッダでデコーダへシグナリングされてもよい。
15.BDOFでのクリッピングパラメータは、コーディングツールXが有効にされるか否かに依存してもよい。
a.一例で、XはDMVRである。
b.一例で、Xはアフィンインターモードである。
c.一例で、より大きいクリッピングパラメータ、例えば、式(7)及び式(8)の閾値thBIOは、Xがシーケンス/ビデオ/ピクチャ/スライス/タイルグループ/タイル/ブリック/コーディングユニット/CTB/CU/ブロックに対して無効にされる場合に用いられ得る。
i.代替的に、更に、より小さいクリッピングパラメータは、Xがシーケンス/ビデオ/ピクチャ/スライス/タイルグループ/タイル/ブリック/コーディングユニット/CTB/CU/ブロックに対して有効にされる場合に用いられ得る。
16.BDOF及びPROFで導出されたMVD(例えば、PROFについてはセクション2.6での(dMvH,dMvV)又は/及びBDOFについてはセクション2.3での(v,v))は、同じ範囲[-N,M]にクリップされてよく、N及びMは整数である。
d.一例で、N=M=31である。
e.一例で、N=M=63である。
f.一例で、N=M=15である。
g.一例で、N=M=7である。
h.一例で、N=M=3である。
i.一例で、N=M=127である。
j.一例で、N=M=255である。
k.一例で、M=Nであり、2×Mは2の値に等しくない(Kは整数である)。
l.一例で、MはNに等しくなく、(M+N)は2の値に等しくない(Kは整数である)。
m.代替的に、BDOF及びPROFで導出されたMVDは、異なる範囲にクリップされてもよい。
i.例えば、BDOFで導出されたMVDは[-31,31]にクリップされ得る。
ii.例えば、BDOFで導出されたMVDは[-15,15]にクリップされ得る。
iii.例えば、BDOFで導出されたMVDは[-63,63]にクリップされ得る。
iv.例えば、BDOFで導出されたMVDは[-127,127]にクリップされ得る。
v.例えば、PROFで導出されたMVDは[-63,63]にクリップされ得る。
vi.例えば、PROFで導出されたMVDは[-31,31]にクリップされ得る。
vii.例えば、PROFで導出されたMVDは[-15,15]にクリップされ得る。
viii.例えば、PROFで導出されたMVDは[-127,127]にクリップされ得る。
17.1つのサンプルに関連したMVD(例えば、セクション2.6での(dMvH,dMvV))は、オプティカルフローに基づいた方法(例えば、PROF)で他のサンプルのMVDを導出するために使用されてもよい。
n.一例で、PROFでのMVDは、特定の位置についてのみ(例えば、セクション2.6でのPROF-eq1に従って)アフィンモデルを用いて導出され得、そのようなMVDは、他の位置のMVDを導出するために使用されてもよい。MVDはPROFにおいてサイズW×Hで導出されるとする。
o.一例で、MVDは、上側のW×H/2部分についてのみアフィンモデルを用いて導出され得、下側のW×H/2部分のMVDは、上側のW×H/2部分のMVDから導出され得る。例は図11に示されている。
p.一例で、MVDは、下側のW×H/2部分についてのみアフィンモデルを用いて導出され得、上側のW×H/2部分のMVDは、下側のW×H/2部分のMVDから導出され得る。
q.一例で、MVDは、左側のW×H/2部分についてのみアフィンモデルを用いて導出され得、右側のW×H/2部分のMVDは、左側のW×H/2部分のMVDから導出され得る。
r.一例で、MVDは、右側のW×H/2部分についてのみアフィンモデルを用いて導出され得、左側のW×H/2部分のMVDは、右側のW×H/2部分のMVDから導出され得る。例は図11に示されている。
s.一例で、更に、アフィンモデルを用いて導出されたMVDは、他の位置のMVDを導出するために使用される前に、予め定義された精度に丸められかつ/あるいは予め定義された範囲にクリップされてもよい。
i.例えば、上側のW×H/2部分のMVDがアフィンモデルを用いて導出される場合に、かようなMVDは、下側のW×H/2部分のMVDを導出するために使用される前に、予め定義された精度に丸められかつ/あるいは予め定義された範囲にクリップされ得る。
t.一例で、x=0,...,W-1、y=H/2,...,H-1について、位置(x,y)のMVDは、次のように導出される。MVD及びMVDは、夫々、水平及び垂直MVDである。
i.MVD(x,y)=-MVD(W-1-x,H-1-y)
ii.MVD(x,y)=-MVD(W-1-x,H-1-y)
18.BDOFでの導出されたサンプル精度精緻化(例えば、予測サンプルに加えられるべきオフセット)は、予め定義された範囲[-M,N]にクリップされてもよい(M及びNは整数である)。
a.一例で、NはM-1に等しくてよい。
i.一例で、Mは2に等しい。例えば、Kは11、12、13、14又は15に等しくてよい。
ii.代替的に、NはMに等しくてもよい。
b.一例で、予め定義された範囲は、現在の色成分のビットデプスに依存してもよい。
i.一例で、Mは2に等しく、K=Max(K1,BitDepth+K2)であり、BitDepthは、現在の色成分(例えば、ルーマ、Cb若しくはCr、又はR、G若しくはB)のビットデプスである。Max(X,Y)は、X及びYのうちの大きい方を返す。
ii.一例で、Mは2に等しく、K=Min(K1,BitDepth+K2)であり、BitDepthは、現在の色成分(例えば、ルーマ、Cb若しくはCr、又はR、G若しくはB)のビットデプスである。Min(X,Y)は、X及びYのうちの小さい方を返す。
iii.例えば、K1は11、12、13、14又は15に等しくてよい。
iv.例えば、K2は-2、-1、0、1、2又は3に等しくてよい。
v.一例で、3つの色成分が同じビットデプスを共有するので、範囲は、ブロック内のサンプルの内部ビットデプス又は入力ビットデプスに完全に依存する。
c.一例で、予め定義された範囲は、PROFで使用されている範囲と同じである。
d.代替的に、更に、BDOFでの精緻化されたサンプル(例えば、精緻化される前のサンプルにオフセットをプラスしたもの)は、更にクリップされなくてもよい。
19.異なる残差コーディングモード(例えば、変換スキップ(Transform Skip,TS)モード及び正則残差コーディングモード(非TSモード))でのコーディンググループ(coding group,CG)サイズをアライメントすることが提案される。
a.一例で、変換スキップコーディングされたブロックについて(変換はバイパスされるか、あるいは、恒等変換が適用される)、CGサイズは、ブロックが(2×M)(例えば、M=8)よりも多いサンプルを含むかどうか及び/又は残差ブロックサイズに依存してもよい。
i.一例で、ブロックサイズがA×N(N>=M)である場合に、CGサイズはA×Mにセットされる。
ii.一例で、ブロックサイズがN×A(N>=M)である場合に、CGサイズはM×Aにセットされる。
iii.一例で、ブロックサイズがA×N(N<M)である場合に、CGサイズはA×Aにセットされる。
iv.一例で、ブロックサイズがN×A(N<M)である場合に、CGサイズはA×Aにセットされる。
v.一例で、A=2である。
b.一例で、非TSコーディングされたブロックについて、CGサイズは、ブロックの幅又は高さのどちらかがKに等しいかどうかに依存してもよい。
i.一例で、幅又は高さのどちらかがKに等しい場合に、CGサイズはK×Kにセットされる(例えば、K=2)。
ii.一例で、幅及び高さのうちの最小値がKに等しい場合に、CGサイズはK×Kにセットされる(例えば、K=2)。
c.一例で、2×2のCGサイズは、変換スキップモード及び正則残差コーディングの両方で2×N又は/及びN×2の残差ブロックに対して使用され得る。
d.一例で、2×8のCGサイズは、変換スキップモード及び正則残差コーディングの両方で2×N(N>=8)の残差ブロックに対して使用され得る。
i.代替的に、2×4のCGサイズは、変換スキップモード及び正則残差コーディングの両方で2×N(N>=8)の残差ブロックに対して使用され得る。
ii.代替的に、2×4のCGサイズは、変換スキップモード及び正則残差コーディングの両方で2×N(N>=4)の残差ブロックに対して使用され得る。
e.一例で、8×2のCGサイズは、変換スキップモード及び正則残差コーディングの両方で2×N(N>=8)の残差ブロックに対して使用され得る。
i.4×2のCGサイズは、変換スキップモード及び正則残差コーディングの両方で2×N(N>=8)の残差ブロックに対して使用され得る。
ii.4×2のCGサイズは、変換スキップモード及び正則残差コーディングの両方で2×N(N>=4)の残差ブロックに対して使用され得る。
20.アフィンコーディングされたブロックについてPROFを有効/無効にすべきかどうかは、現在のアフィンコーディングされたブロックに関連したデコードされた情報に依存してもよい。
a.一例で、PROFは、1つの参照ピクチャが現在のピクチャとは異なる分解能(幅又は高さ)と関連付けられる場合に、無効にされてもよい。
b.一例で、現在のブロックが片予測コーディングであるならば、PROFは、参照ピクチャが現在のピクチャとは異なる分解能(幅又は高さ)と関連付けられる場合に、無効にされてもよい。
c.一例で、現在のブロックが双予測コーディングであるならば、PROFは、少なくとも1つの参照ピクチャが現在のピクチャとは異なる分解能(幅又は高さ)と関連付けられる場合に、無効にされてもよい。
d.一例で、現在のブロックが双予測コーディングであるならば、PROFは、全ての参照ピクチャが現在のピクチャとは異なる分解能(幅又は高さ)と関連付けられる場合に、無効にされてもよい。
e.一例で、現在のブロックが双予測コーディングであるならば、PROFは、全ての参照ピクチャが現在のピクチャとは異なっていても同じ分解能(幅又は高さ)と関連付けられる場合に、有効にされてもよい。
f.上記の方法を有効にすべきかどうかは、現在のブロックのCPMVや、参照ピクチャと現在のピクチャとの間の分解能比などの、現在のピクチャのコーディングされた情報に依存してもよい。
21.PROFは、特定の条件が当てはまる場合に無効にされてもよい。特定の条件は、例えば、次の通りである:
a.一般化された双予測(generalized bi-prediction,GBi、別名BCW)が有効にされている。
b.重み付き予測が有効にされている。
c.代替の半ピクセル補間フィルタが適用されている。
22.DMVR/BIOに適用される上記の方法は、アフィンモードのためのオプティカルフローに基づいた予測精緻化などの他のデコーダ側動きベクトル導出(decoder-side vector derivation,DMVD)方法にも適用可能であることができる。
23.上記の方法を使用すべきかどうか、及び/又はどの方法を使用すべきかは、シーケンス/ピクチャ/スライス/タイル/ブリック/ビデオユニットレベルでシグナリングされてもよい。
24.非正方MVD領域(例えば、菱形領域、八角形に基づいたMVD領域)が、DMVR及び/又は他のデコーダ側動きベクトル導出方法で探索されてもよい。
a.例えば、次の5×5菱形MVD領域が探索されてもよく、例えば、以下に挙げられているMVD値は、整数ピクセルの単位にある。
Figure 0007431253000043
b.例えば、次の5×5八角形MVD領域が探索されてもよく、例えば、以下に挙げられているMVD値は、整数ピクセルの単位にある。
Figure 0007431253000044
c.例えば、次の3×3菱形MVD領域が探索されてもよく、例えば、以下に挙げられているMVD値は、整数ピクセルの単位にある。
Figure 0007431253000045
d.一例で、水平方向及び垂直方向での不等な探索範囲が適用されてもよく、例えば、(MVD_Hor_TH1+MVD_Hor_TH2+1)は、(MVD_Ver_TH1+MVD_Ver_TH2+1)に等しくない。
25.DMVR及び/又は他のデコーダ側動きベクトル導出方法で探索されるべきMVD領域は、ブロック寸法及び/又はブロック形状に依存してもよい。現在のブロックの寸法がW×Hであるとする。
a.一例で、W>=H+TH(TH>=0)である場合に、水平MVD探索範囲(例えば、MVD_Hor_TH1+MVD_Hor_TH2+1)は、垂直MVD探索範囲(例えば、MVD_Ver_TH1+MVD_Ver_TH2+1)以上であってよい。
i.代替的に、W+TH<=Hである場合に、水平MVD探索範囲は、垂直MVD探索範囲よりも大きくてもよい。
ii.例えば、MVD_Hor_TH1及びMVD_Hor_TH2は2に等しくセットされ、MVD_Ver_TH1及びMVD_Ver_TH2は1に等しくセットされる。
iii.例えば、次の5×3MVD領域が探索されてもよく、MVD値は整数ピクセルの単位にある。
Figure 0007431253000046
b.一例で、W+TH<=Hである場合に、水平MVD探索範囲は、垂直MVD探索範囲以下であってよい。
i.代替的に、W>=H+TH(TH>=0)である場合に、水平MVD探索範囲は、垂直MVD探索範囲よりも小さくてもよい。
ii.例えば、MVD_Hor_TH1及びMVD_Hor_TH2は1に等しくセットされ、MVD_Ver_TH1及びMVD_Ver_TH2は2に等しくセットされる。
iii.例えば、次の3×5MVD領域が探索されてもよく、MVD値は整数ピクセルの単位にある。
Figure 0007431253000047
c.W<=H+TH及びH<=W+THである場合に、菱形MVD領域が探索されてもよい。
i.例えば、次の5×5MVD領域が探索されてもよく、MVD値は整数ピクセルの単位にある。
Figure 0007431253000048
26.DMVR及び/又は他のデコーダ側動きベクトル導出方法で探索されるべきMVD空間は、精緻化される前のブロックの動き情報に依存してもよい。
a.一例で、sumAbsHorMv>=sumAbsVerMv+TH(TH>=0)である場合に、水平MVD探索範囲は、垂直MVD探索範囲よりも大きくてもよい。
i.代替的に、sumAbsHorMv+TH<=sumAbsVerMvである場合に、水平MVD探索範囲は垂直MVD探索範囲よりも大きくてもよい。
ii.例えば、MVD_Hor_TH1及びMVD_Hor_TH2は2に等しくセットされ、MVD_Ver_TH1及びMVD_Ver_TH2は1に等しくセットされる。
iii.例えば、次の5×3MVD領域が探索されてもよく、MVD値は整数ピクセルの単位にある。
Figure 0007431253000049
b.一例で、sumAbsHorMv+TH<=sumAbsVerMvである場合に、水平MVD探索範囲は、垂直MVD探索範囲よりも小さくてもよい。
i.代替的に、sumAbsVerMv+TH<=sumAbsHorMvである場合に、水平MVD探索範囲は垂直MVD探索範囲よりも小さくてもよい。
ii.例えば、MVD_Hor_TH1及びMVD_Hor_TH2は1に等しくセットされ、MVD_Ver_TH1及びMVD_Ver_TH2は2に等しくセットされる。
iii.例えば、次の3×5MVD領域が探索されてもよく、MVD値は整数ピクセルの単位にある。
Figure 0007431253000050
c.一例で、sumAbsHorMv<=sumAbsVerMv+THかつsumAbsVerMv<=sumAbsHorMv+THである場合に、菱形MVD領域が探索されてもよい。
i.例えば、次の5×5MVD領域が探索されてもよく、MVD値は整数ピクセルの単位にある。
Figure 0007431253000051
d.一例で、水平及び/又は垂直探索範囲は、参照ピクチャに依存してもよい。
i.一例で、参照ピクチャが現在のピクチャから遠く離れている場合には、より大きい探索範囲が利用され得る。
ii.一例で、第1参照ピクチャが第2参照ピクチャよりも低いQPを有している場合には、より大きい探索範囲が第1参照ピクチャについては利用され得る。
e.一例で、水平及び/又は垂直探索範囲は、動きベクトルに依存してもよい。
i.一例で、動きベクトルの絶対値が大きい場合には、より大きい探索範囲が利用され得る。
27.たとえ最良の整数位置が整数探索領域の境界にあるとしても、DMVRでは、サブペルMVDが導出されてもよい。
a.一例で、最良の整数位置の左右の位置が両方とも探索範囲に含まれる場合に、水平サブペルMVDが、例えば、パラメトリックエラーサーフェスフィット法を用いて、導出され得る。例は図9に表されている。
b.一例で、最良の整数位置の上下の位置が両方とも探索範囲に含まれる場合に、垂直サブペルMVDが、例えば、パラメトリックエラーサーフェスフィット法を用いて、導出され得る。例は図9に表されている。
c.一例で、サブペルMVDは如何なる位置についても導出されてもよい。
i.例えば、最良の整数位置及びそのN(例えば、N=4)個の最も近い隣接した位置のコストが、水平及び垂直サブペルMVDを導出するために使用され得る。
ii.例えば、最良の整数位置及びそのN(例えば、N=4)個の最も近い隣接した位置のコストが、水平サブペルMVDを導出するために使用され得る。
iii.例えば、最良の整数位置及びそのN(例えば、N=4)個の最も近い隣接した位置のコストが、垂直サブペルMVDを導出するために使用され得る。
iv.パラメトリックエラーサーフェスフィットは、サブペルMVDを導出するために使用されてもよい。
d.代替的に、更に、サブペルMVDが特定の方向(例えば、水平又は/及び垂直方向)で導出されない場合には、それはゼロに等しくセットされる。
28.サブペルMVD導出は、BDOFがピクチャ/スライス/タイルグループ/タイル/CTU/CUについて許可される場合に、DMVRでは許可されないことがある。
a.代替的に、サブペルMVD導出は、BDOFがピクチャ/スライス/タイルグループ/タイル/CTU/CUについて許可されない場合に、DMVRでは許可され得る。
29.どのビュレットが適用されるべきかは、BDOF又はPRFが1つのブロックに適用されるかどうかなどのコーディングされた情報に依存してもよい。
実施形態
削除されたテキストは、二重括弧によりマークされ(例えば、[[a]]は、文字「a」の削除を表す)、新たに加えられた部分は、太字イタリック体で強調表示される。

BDOFが許可される場合にDMVRでサブペルMVDを許可しないことの例。
Figure 0007431253000052
Figure 0007431253000053

DMVRでの八角形探索領域の例。
Figure 0007431253000054
Figure 0007431253000055

BDOF及びPROFでの動きベクトル精緻化をゼロであるか又はK若しくは-Kの形を取るよう制限する例。
JVET-O0070-CE4.2.1a-WD-r1.docxに加えられた提案されている変更は、太字イタリック体で強調表示され、削除された部分は、二重括弧によりマークされる(例えば、[[a]]は、文字「a」の削除を表す)。
Figure 0007431253000056
Figure 0007431253000057
Figure 0007431253000058
Figure 0007431253000059
Figure 0007431253000060
Figure 0007431253000061
Figure 0007431253000062

BDOF及びPROFでのMVDの[-31,31]へのクリッピングの例が記載される。
JVET-O2001-vE.docxに加えられた提案されている変更は、太字イタリック体で強調表示され、削除された部分は、二重括弧によりマークされる(例えば、[[a]]は、文字「a」の削除を表す)。
Figure 0007431253000063
Figure 0007431253000064
Figure 0007431253000065
Figure 0007431253000066

PROFにおいて上側のW×H/2部分のMVDから下側のW×H/2部分のMVDを導出する例。
JVET-O2001-vE.docxに加えられた提案されている変更は、太字イタリック体で強調表示され、削除された部分は、二重括弧によりマークされる(例えば、[[a]]は、文字「a」の削除を表す)。
Figure 0007431253000067
Figure 0007431253000068
図12Aは、ビデオ処理のための例示的な方法のフローチャートを示す。図12Aを参照すると、方法1210は、ステップ1212で、ビデオの現在のビデオブロックとビデオのコーディングされた表現との間の変換のために、少なくとも1つの動きベクトルオフセットが現在のビデオブロック内の領域について導出されるオプティカルフローに基づいた方法を用いて現在のビデオブロックの動き情報が精緻化されることを決定することを含む。方法1210は、ステップ1214で、少なくとも1つの動きベクトルオフセットを範囲[-N,M]にクリップすることを更に含み、N及びNは、規則に基づいた整数である。方法1210は、ステップ1216で、少なくとも1つの動きベクトルオフセットに基づき変換を実行することを更に含む。
図12Bは、ビデオ処理のための例示的な方法のフローチャートを示す。図12Bを参照すると、方法1220は、ステップ1222で、動き情報を精緻化するために使用されるデコーダ側動きベクトル精緻化(DMVR)動作中に、精緻化された動きベクトルとして、ビデオの現在のビデオブロックと関連した1つ以上の動きベクトル差分を用いて類似度一致関数を適用した結果に等しい動き情報を選択することを含む。方法1220は、ステップ1224で、精緻化された動きベクトルを用いて、現在のビデオブロックとビデオのコーディングされた表現との間の変換を実行することを更に含む。
図12Cは、ビデオ処理のための例示的な方法のフローチャートを示す。図12Cを参照すると、方法1230は、ステップ1232で、ビデオの現在のビデオブロックとビデオのコーディングされた表現との間の変換のために、現在のビデオブロックと関連した動き情報を導出することを含む。方法1230は、ステップ1234で、規則に従って、第1サブ領域及び第2サブ領域を含む現在のビデオブロックに精緻化動作を適用することを更に含み、規則は、第1サブ領域及び第2サブ領域が、精緻化動作により互いに異なった動き情報を有することを許す。方法1230は、ステップ1236で、現在のビデオブロックの精緻化された動き情報を用いて変換を実行することを更に含む。
図12Dは、ビデオ処理のための例示的な方法のフローチャートを示す。図12Dを参照すると、方法1240は、ステップ1242で、ビデオの現在のビデオブロックとビデオのコーディングされた表現との間の変換のために、現在のビデオブロックと関連した動き情報を導出することを含む。方法1240は、ステップ1244で、現在のビデオブロックのサブ領域について、動き情報を精緻化するために使用されたデコーダ側動きベクトル精緻化(DMVR)の出力に基づき、双方向オプティカルフロー(BIO)を用いた精緻化動作の適用可能性を決定することを更に含む。方法1240は、ステップ1246で、決定に基づき変換を実行することを更に含む。
図12Eは、ビデオ処理のための例示的な方法のフローチャートを示す。図12Eを参照すると、方法1250は、ステップ1252で、2つの動き候補間の距離を定める距離テーブルを含む動きベクトル表現を含む動きベクトル差分によるマージモード(MMVD)でコーディングされた現在のビデオブロックと関連した動き情報を導出することを含む。方法1250は、ステップ1254で、MMVDのために使用された距離をどのように精緻化すべきかを指定する規則に従って動き情報を精緻化するよう、デコーダ側動きベクトル精緻化(DMVR)を現在のビデオブロックに適用することを更に含む。方法1250は、ステップ1256で、現在のビデオブロックとビデオのコーディングされた表現との間の変換を実行することを更に含む。
図12Fは、ビデオ処理のための例示的な方法のフローチャートを示す。図12Dを参照すると、方法1260は、ステップ1262で、ビデオの現在のビデオブロックのサンプル又はサブブロックについて、規則に従って、導出された動き情報に基づき、該導出された動き情報が空間及び/又は時間勾配を用いて精緻化される双方向オプティカルフロー(BDOF)の適用可能性を決定することを含む。方法1260は、ステップ1264で、決定に基づき、現在のビデオブロックとビデオのコーディングされた表現との間の変換を実行することを更に含む。
図13Aは、ビデオ処理のための例示的な方法のフローチャートを示す。図13Aを参照すると、方法1310は、ステップ1311で、ビデオの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、動きベクトル差分(MVD)を導出することを含む。方法1310は、ステップ1312で、クリップされた動きベクトル差分を生成するよう、導出された動きベクトル差分にクリッピング動作を適用することを更に含む。方法1310は、ステップ1313で、コスト関数を用いて、クリップされた動きベクトル差分のコストを計算することを更に含む。方法1310は、ステップ1314で、規則に従って、導出された動きベクトル差分、クリップされた動きベクトル差分、又はコストのうちの少なくとも1つに基づき、導出された動きベクトル差分が空間及び/又は時間勾配を用いて精緻化される双方向オプティカルフロー(BDOF)動作を許されないと決定することを更に含む。方法1310は、ステップ1315で、決定に基づき変換を実行することを更に含む。
図13Bは、ビデオ処理のための例示的な方法のフローチャートを示す。図13Bを参照すると、方法1320は、ステップ1322で、ビデオの現在のビデオブロックとビデオのコーディングされた表現との間の変換のために、動きベクトル差分を導出することを含む。方法1320は、ステップ1324で、1つ以上の動きベクトル精緻化ツール及び候補動きベクトル差分(MVD)に基づき、導出された動きベクトル差分を精緻化することを更に含む。方法1320では、ステップ1326で、精緻化された動きベクトル差分を用いて変換を実行することを更に含む。
図13Cは、ビデオ処理のための例示的な方法のフローチャートを示す。図13Cを参照すると、方法1330は、ステップ1332で、ビデオの現在のビデオブロックと関連した導出された動きベクトル差分を候補セットに制限することを含み、導出された動きベクトル差分は、現在のビデオブロックと関連した動き情報を精緻化する精緻化動作のために使用される。方法1330は、ステップ1334で、導出された動きベクトル差分を制限ステップの結果として用いて、現在のビデオブロックとビデオのコーディングされた表現との間の変換を実行することを更に含む。
図13Dは、ビデオ処理のための例示的な方法のフローチャートを示す。図13Dを参照すると、方法1340は、ステップ1342で、ビデオのビデオユニットの現在のビデオブロックと関連した動き情報を精緻化するために使用される双方向オプティカルフロー(BDOF)動作の間に、規則に従ってビデオユニット及び/又はビデオユニットでのコーディングツールの利用に基づき決定されるクリッピングパラメータの組を用いてクリッピング動作を適用することを含む。方法1340は、ステップ1344で、現在のビデオブロックとビデオのコーディングされた表現との間の変換を実行することを更に含む。
図13Eは、ビデオ処理のための例示的な方法のフローチャートを示す。図13Eを参照すると、方法1350は、ステップ1352で、ビデオの現在のビデオブロックと関連した動き情報を精緻化するために使用される精緻化動作の間に、動きベクトル差分(vx,vy)のx成分及び/又はy成分をクリップするよう規則に従ってクリッピング動作を適用することを含む。方法1350は、ステップ1354で、動きベクトル差分を用いて現在のビデオブロックとビデオのコーディングされた表現との間の変換を実行することを更に含む。いくつかの実施で、規則は、クリッピング動作の前又は後に、動きベクトル差分をゼロ又はKの形を取る値に変換することを定め、mは整数である。
図13Fは、ビデオ処理のための例示的な方法のフローチャートを示す。図13Fを参照すると、方法1360は、ステップ1362で、ビデオの現在のビデオブロックとビデオのコーディングされた表現との間の変換のために、規則に従ってデコーダ側動き導出動作又はデコーダ側動き精緻化動作の間に動き情報を導出又は精緻化するために使用される探索領域を選択することを含む。方法1360は、ステップ1364で、導出又は精緻化された動き情報に基づき変換を実行することを更に含む。
図14Aは、ビデオ処理のための例示的な方法のフローチャートを示す。図14Aを参照すると、方法1410は、ステップ1412で、ビデオの現在のビデオブロックとビデオのコーディングされた表現との間の変換のために、最良一致の整数位置を含む精緻化で使用された探索領域を使用することによって現在のビデオブロックと関連した動きベクトル差分を精緻化するようデコーダ側動きベクトル精緻化(DMVR)動作を適用することを含む。方法1410は、ステップ1414で、精緻化された動きベクトル差分を用いて変換を実行することを更に含み、DMVR動作の適用は、規則に従ってサブペル動きベクトル差分(MVD)を導出することを含む。
図14Bは、ビデオ処理のための例示的な方法のフローチャートを示す。図14Bを参照すると、方法1420は、ステップ1422で、ビデオのビデオユニットの現在のビデオブロックについて、現在のビデオブロックと関連した動きベクトル差分を精緻化するようデコーダ側動きベクトル精緻化(DMVR)動作を適用することを含む。方法1420は、ステップ1424で、精緻化された動きベクトル差分を用いて、現在のビデオブロックとビデオのコーディングされた表現との間の変換を実行することを更に含む。いくつかの実施で、DMVR動作の適用は、ビデオユニットに対する双方向オプティカルフロー(BDOF)の使用に応じてサブペル動きベクトル差分(MVD)導出を許すか又は許さないと決定することを含む。
図14Cは、ビデオ処理のための例示的な方法のフローチャートを示す。図14Cを参照すると、方法1430は、ステップ1432で、オプティカルフローを用いた精緻化動作の間に、ビデオの現在のビデオブロックの第1サンプルの動きベクトル差分を導出することを含む。方法1430は、ステップ1434で、第1サンプルの導出された動きベクトル差分に基づき、第2サンプルの動きベクトル差分を決定することを更に含む。方法1430は、ステップ1436で、現在のビデオブロックとビデオのコーディングされた表現との間の変換を決定に基づき実行することを更に含む。
図14Dは、ビデオ処理のための例示的な方法のフローチャートを示す。図14Dを参照すると、方法1440は、ステップ1442で、双方向オプティカルフロー(BDOF)動作を用いた精緻化動作ビデオの現在のビデオブロックに適用することによって、予測精緻化サンプルを導出することを含む。方法1440は、ステップ1444で、規則に従って、導出された予測精緻化サンプルを所定範囲[-M,N]にクリップするクリッピング動作の適用可能性を決定することを更に含み、M及びNは整数である。方法1440は、ステップ1446で、現在のビデオブロックとビデオのコーディングされた表現との間の変換を実行することを更に含む。
図14Eは、ビデオ処理のための例示的な方法のフローチャートを示す。図14Eを参照すると、方法1450は、ステップ1452で、第1コーディンググループ及び第2コーディンググループが規則に従って整列されるように、異なる残差コーディングモードを用いてコーディングされている第1コーディンググループ及び第2コーディンググループを含む、ビデオの現在のビデオブロックについて、コーディンググループサイズを決定することを含む。方法1450は、ステップ1454で、決定に基づき現在のビデオブロックとビデオのコーディングされた表現との間の変換を実行することを更に含む。
図14Fは、ビデオ処理のための例示的な方法のフローチャートを示す。図14Fを参照すると、方法1460は、ステップ1462で、ビデオの現在のビデオブロックとビデオのコーディングされた表現との間の変換のために、現在のビデオブロックと関連したコーディングされた情報及び/又はデコードされた情報に基づき、動き情報がオプティカルフローを用いて精緻化される予測精緻化オプティカルフロー(PROF)ツールの適用可能性を決定することを含む。方法1460は、ステップ1464で、決定に基づき変換を実行することを更に含む。
図15は、ビデオ処理装置1500のブロック図である。装置1500は、本明細書で説明されている方法の1つ以上を実装するために使用されてよい。装置1500は、スマートフォン、タブレット、コンピュータ、インターネット・オブ・シングス(IoT)レシーバ、などで具現されてもよい。装置1500は、1つ以上のプロセッサ1502、1つ以上のメモリ1504、及びビデオ処理ハードウェア1506を含んでよい。プロセッサ1502は、本明細書で説明されている1つ以上の方法(図12~14Fに示される方法を含むが、これらに限定されない)を実装するよう構成されてよい。メモリ(複数のメモリ)1504は、本明細書で説明されている方法及び技術を実装するために使用されるデータ及びコードを記憶するために使用されてよい。ビデオ処理ハードウェア1506は、ハードウェア回路で、本明細書で説明されているいくつかの技術を実装するために使用されてよい。
図16は、開示されている技術が実装され得るビデオ処理システムのブロック図の他の例である。図16は、本明細書で開示されている様々な技術が実装され得る、例となるビデオ処理システム1610を示すブロック図である。様々な実施は、システム1610のコンポーネントのいくつか又は全てを含んでよい。システム1610は、ビデオコンテンツを受け取る入力部1612を含んでよい。ビデオコンテンツは、生の又は圧縮されていないフォーマット、例えば、8又は10ビットマルチコンポーネントピクセル値で、受け取られてよく、あるいは、圧縮又は符号化されたフォーマットであってもよい。入力部1612は、ネットワーク・インターフェース、ペリフェラル・バス・インターフェース、又はストレージ・インターフェースに相当してよい。ネットワーク・インターフェースの例には、Ethernet(登録商標)、受動光学ネットワーク(Passive Optical Network,PON)、などのような優先インターフェース、及びWi-Fi又はセルラーインターフェースのような無線インターフェースがある。
システム1610は、本明細書で説明されている様々なコーディング又は符号化方法を実装し得るコーディングコンポーネント1614を含んでよい。コーディングコンポーネント1614は、ビデオのコーディングされた表現を生成するよう入力部1612からコーディングコンポーネント1614の出力部までのビデオの平均ビットレートを低減してよい。コーディング技術は、従って、時々、ビデオ圧縮又はビデオトランスコーディング技術と呼ばれる。コーディングコンポーネント1614の出力は、コンポーネント1616によって表されているように、記憶されるか、あるいは、通信接続を介して伝送されるかのどちらかであってよい。入力部1612で受け取られたビデオの記憶又は通信されたビットストリーム(又はコーディングされた)表現は、表示インターフェース1620へ送られるピクセル値又は表示可能なビデオを生成するためにコンポーネント1618によって使用されてよい。ビットストリーム表現から、ユーザが見ることができるビデオを生成するプロセスは、時々、ビデオ圧縮解除と呼ばれる。更に、特定のビデオ処理動作は「コーディング」動作又はツールと呼ばれるが、コーディングツール又は動作はエンコーダで使用され、コーディングの結果を反転させる対応する復号化ツール又は動作は、デコーダで実行されることになる。
ペリフェラル・バス・インターフェース又は表示インターフェースの例には、ユニバーサル・シリアル・バス(Universal Serial Bus,USB)又は高精細マルチメディアインターフェース(High Definition Multimedia Interface,HDMI(登録商標))などが含まれ得る。ストレージ・インターフェースの例には、SATA(Serial Advanced Technology Attachment)、PCI、IDEインターフェース、などがある。本明細書で説明されている技術は、携帯電話機、ラップトップ、スマートフォン、あるいは、デジタルデータ処理及び/又はビデオ表示を実行することが可能な他のデバイスのような様々な電子機器で具現されてよい。
開示されている技術のいくつかの実施形態は、ビデオ処理ツール又はモードを有効にする決定又は判断を行うことを含む。例において、ビデオ処理ツール又はモードが有効にされる場合に、エンコーダは、ビデオのブロックの処理においてツール又はモードを使用することになるが、必ずしも、結果として得られたビットストリームをツール又はモードの利用に基づいて変更しなくてもよい。つまり、ビデオのブロックからビデオのビットストリーム表現への変換は、ビデオ処理ツール又はモードが決定又は判断に基づいて有効にされる場合にそれを使用する。他の例では、ビデオ処理ツール又はモードが有効にされる場合に、デコーダは、ビットストリームがビデオ処理ツール又はモードに基づき変更されていると知った上で、ビットストリームを処理することになる。つまり、ビデオのビットストリーム表現からビデオのブロックへの変換は、決定又は判断に基づき有効にされたビデオ処理ツール又はモードを用いて実行される。
開示されている技術のいくつかの実施形態は、ビデオ処理ツール又はモードを無効にする決定又は判断を行うことを含む。例において、ビデオ処理ツール又はモードが無効にされる場合に、エンコーダは、ビデオのブロックのビデオビットストリーム表現への変換においてツール又はモードを使用しない。他の例では、ビデオ処理ツール又はモードが無効にされる場合に、デコーダは、決定又は判断に基づき無効にされたビデオ処理ツール又はモードを用いてビットストリームが変更されていないと知った上で、ビットストリームを処理する。
本明細書中、「ビデオ処理」という用語は、ビデオ符号化、ビデオ復号化、ビデオ圧縮又はビデオ圧縮解除を指し得る。例えば、ビデオ圧縮アルゴリズムは、ビデオのピクセル表現から、対応するビットストリーム表現への変換中に、又はその逆も同様に、適用されてよい。現在のビデオブロックのビットストリーム表現は、例えば、シンタックスによって定義されるような、ビットストリーム内で同一位置にあるか又は異なった場所に広がっているかのどちらかであるビットに対応してよい。例えば、ビデオブロックは、変換及びコーディングされた誤差残余値に関して、更には、ビットストリーム内のヘッダ及び他のフィールドにおけるビットを用いて、エンコードされてよい。ここで、ビデオブロックは、動作に対応するピクセルのグループ、例えば、コーディングユニット又は変換ユニット又は予測ユニットなどである。
様々な技術及び実施形態は、次の箇条書きを用いて記載され得る。
第1の組の箇条は、前のセクションで開示されている技術の特定の特徴及び態様について記載する。
1.ビデオ処理の方法であって、
ビデオ処理ユニットと該ビデオ処理ユニットのビットストリーム表現との間の変換中に、前記ビデオ処理ユニットと関連した動き情報を導出するステップと、
精緻化動作が適用される前記ビデオ処理ユニットのサブ領域について、前記動き情報を精緻化すべきかどうかを決定するステップと、
前記決定に基づき、前記精緻化動作を前記ビデオ処理ユニットに適用して、前記動き情報を精緻化するステップと
を有する方法。
2.箇条1に記載の方法であって、
前記精緻化動作は、デコーダ側動きベクトル導出動作、デコーダ側動きベクトル精緻化(DMVR)動作、サンプル精緻化動作、又はオプティカルフローに基づいた予測精緻化動作を含む、
方法。
3.箇条1に記載の方法であって、
前記決定するステップは、前記ビデオ処理ユニットと関連したコーディング情報に基づく、
方法。
4.箇条3に記載の方法であって、
前記ビデオ処理ユニットと関連した前記コーディング情報は、動きベクトル、参照ピクチャのピクチャオーダーカウント(POC)値、マージインデックス、動きベクトル予測子(MVP)インデックス、又はSBTモードが前記ビデオ処理ユニットによって用いられるかどうか、のうちの少なくとも1つを含む、
方法。
5.箇条1に記載の方法であって、
前記決定するステップは、第1参照リストを参照する第1動きベクトルと、第2参照リストを参照する第2動きベクトルとの間の関係に基づき、
前記第1動きベクトル及び前記第2動きベクトルは、前記精緻化動作の適用前に取得される、
方法。
6.箇条1に記載の方法であって、
前記精緻化動作の適用は複数の段階で実行され、精緻化された領域は、前記複数の段階のステップの数に基づいて決定されたサイズを有する、
方法。
7.箇条1に記載の方法であって、
前記精緻化動作の適用は、
前記精緻化動作を第1サブ領域に適用するステップと、
前記精緻化動作を、前記第1サブ領域とは異なる第2サブ領域に適用するステップと
を含み、
前記ビデオ処理ユニット内の精緻化された動き情報は、前記第1サブ領域及び前記第2サブ領域において互いに異なる、
方法。
8.箇条1に記載の方法であって、
前記精緻化動作の結果に基づき、双方向オプティカルフロー(BIO)を適用すべきかどうかを決定するステップを更に含む、
方法。
9.箇条1に記載の方法であって、
前記精緻化動作の適用は、最終的な予測サンプルを生成するようN対のMVD(Motion Vector Differences)を選択するステップを含み、
Nは1よりも大きい自然数であり、各対は、異なるリストの2つの動きベクトル差分を含む、
方法。
10.箇条1に記載の方法であって、
前記精緻化動作は、MMVD(merge with MVD)とともに使用され、
MMVD距離が、前記精緻化動作中に特定の値として保持される、
方法。
11.箇条1に記載の方法であって、
導出されたMVD、空間勾配、又は時間勾配のうちの少なくとも1つに基づき、前記ビデオ処理ユニットのサンプル又はサブ領域についてBDOFを無効にするステップを更に有する、
方法。
12.箇条1に記載の方法であって、
BDOFにおける導出されたMVDがクリッピング動作の後に変化する場合に、クリップされたMVDについてコストを計算するステップを更に有する、
方法。
13.箇条1に記載の方法であって、
前記変換は、前記現在のビデオ処理ユニットから前記ビットストリーム表現を生成すること又は前記ビットストリーム表現から前記現在のビデオ処理ユニットを生成することを含む、
方法。
14.ビデオ処理の方法であって、
ビデオ処理ユニットと関連した動き情報を取得するステップと、
前記ビデオ処理ユニットのサブ領域について、前記ビデオ処理ユニットの前記動き情報を精緻化すべきかどうかを決定するステップであり、前記ビデオ処理ユニットは、精緻化動作を適用するユニットである、前記決定するステップと、
前記決定に基づき、前記ビデオ処理ユニットに前記精緻化動作を適用せずに前記動き情報を使用するステップと
を有する方法。
15.箇条14に記載の方法であって、
前記精緻化動作は、デコーダ側動きベクトル導出動作、デコーダ側動きベクトル精緻化(DMVR)動作、サンプル精緻化動作、又はオプティカルフローに基づいた予測精緻化動作を含む、
方法。
16.箇条14に記載の方法であって、
前記決定するステップは、前記ビデオ処理ユニットと関連したコーディング情報に基づき、
前記コーディング情報は、動きベクトル、参照ピクチャのピクチャオーダーカウント(POC)値、マージインデックス、動きベクトル予測子(MVP)インデックス、又はSBTモードが前記ビデオ処理ユニットによって用いられるかどうか、のうちの少なくとも1つを含む、
方法。
17.箇条14に記載の方法であって、
双方向オプティカルフロー(BIO)を含む前記精緻化動作は、前記ビデオ処理ユニットがアドバンスド動きベクトル予測(AMVP)モードでコーディングされている場合に省略される、
方法。
18.箇条14に記載の方法であって、
前記精緻化動作は、2つの動きベクトルの和又はMV成分の絶対値に基づき省略される、
方法。
19.箇条14に記載の方法であって、
前記精緻化動作は、SBTが前記ビデオ処理ユニットによって用いられる場合に省略される、
方法。
20.箇条14に記載の方法であって、
前記決定するステップは、第1参照リストを参照する第1動きベクトルと、第2参照リストを参照する第2動きベクトルとの間の関係に基づき、
前記第1動きベクトル及び前記第2動きベクトルは、前記精緻化動作の適用前に取得される、
方法。
21.箇条14に記載の方法であって、
導出されたMVD、空間勾配、又は時間勾配のうちの少なくとも1つに基づき、前記ビデオ処理ユニットのサンプル又はサブ領域についてBDOFを無効にするステップを更に有する、
方法。
22.箇条14に記載の方法であって、
BDOFにおける導出されたMVDがクリッピング動作の後に変化する場合に、クリップされたMVDについてコストを計算するステップを更に有する、
方法。
23.ビデオ処理の方法であって、
現在のビデオブロックと該現在のビデオブロックのビットストリーム表現との間の変換中に、1つ以上のベクトル精緻化ツール及び候補動きベクトル差分(MVD)に基づき、導出された動きベクトル差分を精緻化するステップと、
前記導出された動きベクトル差分と、前記ビットストリーム表現でシグナリングされる動きベクトルとを用いて、前記変換を実行するステップと
を有する方法。
24.箇条23に記載の方法であって、
前記精緻化するステップは、y成分が変更されておりx成分が変更されていないMVDが使用される第1ステップと、x成分が変更されておりy成分が変更されていないMVDが使用される第2ステップとを有する2ステッププロセスを有する、
方法。
25.箇条23に記載の方法であって、
前記候補MVDは、(v+offsetX,v)を含み、
offsetXは範囲[-ThX1,ThX2]内にあり、ThX1及びThX2は非負整数値であり、前記導出されたMVDは(v、v)である、
方法。
26.箇条23に記載の方法であって、
前記候補MVDは、(v,v+offsetY)を含み、
offsetYは範囲[-ThY1,ThY2]内にあり、ThY1及びThY2は非負整数値であり、前記導出されたMVDは(v、v)である、
方法。
27.箇条23乃至26のうちいずれかに記載の方法であって、
前記変換は、双方向オプティカルフローコーディングツールを使用する、
方法。
28.ビデオ処理の方法であって、
現在のビデオブロックと該現在のビデオブロックのビットストリーム表現との間の変換中に、導出された動きベクトル差分(DMVD)を候補セットに制限するステップと、
前記DMVDを前記候補セットに制限した結果を用いて前記変換を実行するステップと
を有する方法。
29.箇条28に記載の方法であって、
前記候補セットは候補(v,v)を含み、
及び/又はvはKの形を取り、mは整数である、
方法。
30.ビデオ処理の方法であって、
ビデオの現在のビデオブロックのビットストリーム表現と前記現在のビデオブロックとの間の変換のために、動きベクトル差分が範囲[-N,M]にクリップされることを決定するステップを有する方法。クリップすることの決定は、本明細書で更に記載されるように、規則に基づいて実行される。方法は、決定に基づき前記変換を実行するステップを更に含み、規則は、予測精緻化オプティカルフロー(PROF)及び双方向オプティカルフローツールを用いた変換のために同じ範囲を使用することを定める。
31.箇条30に記載の方法であって、
N=M=31である、
方法。
32.箇条30に記載の方法であって、
N=M=255である、
方法。
33.ビデオ処理の方法であって、
ビデオの現在のビデオブロックのビットストリーム表現と前記現在のビデオブロックとの間の変換のために、前記現在のビデオブロックの第2サンプルの動きベクトル差分に基づき第1サンプルの動きベクトル差分を決定するステップと、
前記決定に基づき前記変換を実行するステップと
を有し、
前記変換は、オプティカルフローコーディング又は復号化ツールに基づく、
方法。
34.箇条33に記載の方法であって、
前記第1サンプル及び前記第2サンプルは、異なるオプティカルフローコーディングツールを使用する、
方法。
35.ビデオ処理の方法であって、
現在のビデオブロックのビットストリーム表現と前記現在のビデオブロックとの間の変換のために予測精緻化オプティカルフロー(PROF)ツールの使用を有効にすべきかどうかを決定するステップであり、前記変換はオプティカルフローコーディングツールを使用する、前記決定するステップと、
前記決定に基づき前記変換を実行するステップと
を有する方法。
36.箇条35に記載の方法であって、
前記決定するステップは、前記変換で使用される参照ピクチャが、前記現在のビデオブロックを含む現在のピクチャの寸法とは異なる寸法を有していることにより、前記PROFツールの使用を無効にする、
方法。
37.箇条35乃至36のうちいずれかに記載の方法であって、
前記決定するステップは、前記変換が双予測的予測を使用し、両方の参照ピクチャが同じ寸法を有していることにより、前記PROFツールを有効にする、
方法。
38.箇条1乃至37のうちいずれかに記載の方法であって、
前記変換は、前記現在のビデオブロックをエンコードすることによって前記ビットストリーム表現を生成することを有する、
方法。
39.箇条1乃至37のうちいずれかに記載の方法であって、
前記変換は、前記ビットストリーム表現をデコードすることによって前記現在のビデオブロックを生成することを有する、
方法。
40.ビデオシステムにおける装置であって、
プロセッサと、命令を有する非一時的なメモリとを有し、
前記命令は、前記プロセッサによって実行されると、前記プロセッサに、箇条1乃至39のうちいずれか1つに記載の方法を実施させる、
装置。
41.非一時的なコンピュータ可読媒体に記憶されたコンピュータプログラム製品であって、
箇条1乃至39のうちいずれか1つに記載の方法を実行するためのプログラムコードを含む、コンピュータプログラム製品。
第2の組の箇条は、前のセクションで開示されている技術の特定の特徴及び態様について記載する。
1.ビデオ処理方法であって、
ビデオの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、少なくとも1つの動きベクトルオフセットが前記現在のビデオブロック内の領域について導出されるオプティカルフローに基づいた方法を用いて前記現在のビデオブロックの動き情報が精緻化されることを決定するステップと、
N及びNが規則に基づいた整数であるとして、前記少なくとも1つの動きベクトルオフセットを範囲[-N,M]にクリップするステップと、
前記少なくとも1つの動きベクトルオフセットに基づき前記変換を実行するステップと
を有する方法。
2.箇条1に記載の方法であって、
前記動きベクトルオフセットは、前記現在のビデオブロック内の前記領域について参照サンプルを精緻化するために使用される、
方法。
3.箇条1に記載の方法であって、
前記オプティカルフローに基づいた方法は、アフィン動きモデルによりブロックに適用される予測精緻化オプティカルフロー(PROF)方法、又は双方向オプティカルフロー(BDOF)方法、のうちの少なくとも1つを有する、
方法。
4.箇条1に記載の方法であって、
前記現在のビデオブロック内の前記領域は、前記現在のビデオブロックの全体又は前記現在のビデオブロック内のサブブロックである、
方法。
5.箇条1に記載の方法であって、
前記規則は、前記少なくとも1つの動きベクトルオフセットがオプティカルフロー計算を用いて導出されるPROF方法と、前記少なくとも1つの動きベクトルオフセットが空間勾配及び/又は時間勾配を用いて導出されるBDOF方法とを用いた前記変換のために同じ範囲又は異なる範囲を使用することを定める、
方法。
6.箇条1に記載の方法であって、
前記動きベクトルオフセットは、水平成分及び垂直成分を有し、
前記少なくとも1つの動きベクトルオフセットのクリッピングは、垂直成分及び/又は水平成分を前記範囲にクリップすることを有する、
方法。
7.箇条1に記載の方法であって、
N及びMは、2に等しくない同じ値を有し、Kは整数である、
方法。
8.箇条7に記載の方法であって、
前記同じ値は、(2-1)に等しく、Kは整数である、
方法。
9.箇条7に記載の方法であって、
前記同じ値は、31、63、15、7、3、127、又は255、のうちの1つである、
方法。
10.箇条17に記載の方法であって、
MはNに等しく、2×Mは2の値に等しくなく、Kは整数である、
方法。
11.箇条1乃至10のうちいずれかに記載の方法であって、
前記規則は、前記動きベクトルオフセットが、前記BDOFを用いた前記変換のために、[-31,31]、[-15,15]、[-63,63]、又は[-127,127]、のうちの1つにクリップされる、ことを定める、
方法。
12.箇条1乃至10のうちいずれかに記載の方法であって、
前記規則は、前記動きベクトルオフセットが、前記PROFを用いた前記変換のために、[-63,63]又は[-31,31]のうちの1つにクリップされる、ことを定める、
方法。
13.箇条1に記載の方法であって、
MはNに等しくなく、MとNとの合計は2の値に等しくなく、Kは整数である、
方法。
14ビデオ処理方法であって、
動き情報を精緻化するために使用されるデコーダ側動きベクトル精緻化(DMVR)動作中に、精緻化された動きベクトルとして、ビデオの現在のビデオブロックと関連した1つ以上の動きベクトル差分を用いて類似度一致関数を適用した結果に等しい動き情報を選択するステップと、
前記精緻化された動きベクトルを用いて、前記現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換を実行するステップと
を有する方法。
15.箇条14に記載の方法であって、
前記類似度一致関数は、平均除去絶対差分和(MRSAD)、絶対差分和(SAD)、又は絶対変換差分和(SATD)を含む、
方法。
16.箇条14に記載の方法であって、
前記動き情報は、スケーリング係数を用いて乗算、除算、加算、又は減算のうちの1つを実行することによって、変更される、
方法。
17.箇条16に記載の方法であって、
前記スケーリング係数は、規則に従って範囲[-M,N]内で許される動きベクトル差分(MVD)に依存し、M及びNは0よりも大きい整数である、
方法。
18.ビデオ処理方法であって、
ビデオの現在のビデオブロックの特性に基づき動き情報を精緻化する精緻化動作の適用に関する決定を行うステップと、
前記現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換を、前記決定に基づき実行するステップと
を有する方法。
19.箇条18に記載の方法であって、
前記精緻化動作は、デコーダ側動きベクトル導出動作、デコーダ側動きベクトル精緻化(DMVR)動作、サンプル精緻化動作、又はオプティカルフローに基づいた予測精緻化動作、のうちの少なくとも1つを含む、
方法。
20.箇条18に記載の方法であって、
前記現在のビデオブロックの前記特性は、前記現在のビデオブロックのコーディング情報に対応する、
方法。
21.箇条20に記載の方法であって、
前記現在のビデオブロックの前記コーディング情報は、動きベクトル、参照ピクチャのピクチャオーダーカウント(POC)値、マージインデックス、動きベクトル予測子(MVP)インデックス、又はサブブロック変換(SBT)モードが前記現在のビデオブロックによって用いられるかどうか、のうちの少なくとも1つを含む、
方法。
22.箇条20に記載の方法であって、
前記現在のビデオブロックの前記コーディング情報は、前記現在のビデオブロックがアドバンスド動きベクトル予測(AMVP)モード又はマージモードでコーディングされているかどうかを含む、
方法。
23.箇条20に記載の方法であって、
前記精緻化動作は、デコーダ側動きベクトル精緻化(DMVR)動作及び/又は双方向オプティカルフロー(BDOF)動作に対応し、
前記精緻化動作は、2つの動きベクトルの和又は動きベクトルの絶対値に依存して有効にされる、
方法。
24.箇条20に記載の方法であって、
前記精緻化動作は、デコーダ側動きベクトル精緻化(DMVR)動作及び/又は双方向オプティカルフロー(BDOF)動作に対応し、
前記精緻化動作は、マージインデックス又は動きベクトル予測子(MVP)インデックスを指定する規則に従って許可される、
方法。
25.箇条20に記載の方法であって、
前記精緻化動作は、デコーダ側動きベクトル精緻化(DMVR)動作及び/又は双方向オプティカルフロー(BDOF)動作に対応し、
前記精緻化動作は、サブブロック変換(SBT)モードが前記現在のビデオブロックによって用いられている場合に許可されない、
方法。
26.箇条20に記載の方法であって、
前記精緻化動作は、デコーダ側動きベクトル精緻化(DMVR)動作及び/又は双方向オプティカルフロー(BDOF)動作に対応し、
前記精緻化動作は、サブブロック変換(SBT)モードで非ゼロ残差を含むサブパーティションについて許可されるか又は許可されないかである、
方法。
27.箇条18に記載の方法であって、
前記現在のビデオブロックの前記特性は、第1参照リストを参照する第1動きベクトルと、第2参照リストを参照する第2動きベクトルとの間の関係に対応し、
前記第1動きベクトル及び前記第2動きベクトルは、前記精緻化動作の適用前に取得される、
方法。
28.箇条27に記載の方法であって、
前記精緻化動作は、前記第1動きベクトル及び前記第2動きベクトルが対称であるそれらの間の対称性の程度に応じて、規則に従って無効にされる、
方法。
29.箇条28に記載の方法であって、
前記対称性の程度は、
i)MV0とMV1との和がゼロ成分のみを有する場合に、対称であると、
ii)abs(MV0+MV1)<Th1である場合に、ほぼ対称であると、あるいは、
iii)abs(MV0+MV1)>Th2である場合に、対称でないと
決定され、
MV0及びMV1は、夫々、前記第1動きベクトル及び前記第2動きベクトルに対応し、
Th1及びTh2は整数である、
方法。
30.箇条28に記載の方法であって、
前記対称性の程度は、前記現在のビデオブロックの参照ピクチャのピクチャオーダーカウント(POC)値に基づき決定される、
方法。
31.箇条18に記載の方法であって、
Nが0よりも大きい整数であるとして、前記決定するステップは、Nの値が大きくなるにつれてN番目の精緻化ステップの精緻化領域のサイズが小さくなるように、複数のステップで前記精緻化動作を適用することを決定する、
方法。
32.箇条18に記載の方法であって、
Nが1よりも大きい整数であるとして、前記決定は、最終的な予測サンプルを生成するようN対の動きベクトル差分を選択することによって前記精緻化動作を適用することを含み、
前記動きベクトル差分の各対は、異なるリストごとの2つの動きベクトル差分を含む、
方法。
33.箇条32に記載の方法であって、
Nは2である、
方法。
34.箇条32に記載の方法であって、
前記動きベクトル差分の対は、前記現在のビデオブロックのサブ領域ごとに選択される、
方法。
35.ビデオ処理方法であって、
ビデオの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、前記現在のビデオブロックと関連した動き情報を導出するステップと、
規則に従って、第1サブ領域及び第2サブ領域を含む前記現在のビデオブロックに精緻化動作を適用するステップであり、前記規則は、前記第1サブ領域及び前記第2サブ領域が、前記精緻化動作により互いに異なった動き情報を有することを許す、前記適用するステップと、
前記現在のビデオブロックの精緻化された動き情報を用いて前記変換を実行するステップと
を有する方法。
36.箇条35に記載の方法であって、
前記第1サブ領域は、デコードされた動き情報を有し、
前記第2サブ領域は、該第2サブ領域をカバーするビデオ領域に適用された前記精緻化動作の間に導出された精緻化された動きベクトルを有する、
方法。
37.ビデオ処理方法であって、
ビデオの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、前記現在のビデオブロックと関連した動き情報を導出するステップと、
前記現在のビデオブロックのサブ領域について、前記動き情報を精緻化するために使用されたデコーダ側動きベクトル精緻化(DMVR)の出力に基づき、双方向オプティカルフロー(BIO)を用いた精緻化動作の適用可能性を決定するステップと、
前記決定に基づき前記変換を実行するステップと
を有する方法。
38.箇条37に記載の方法であって、
前記決定するステップは、前記DMVRによって精緻化された前記動き情報が前記サブ領域について変更されないままである場合に、前記BIOを用いた前記精緻化動作を無効にすると決定する、
方法。
39.ビデオ処理方法であって、
2つの動き候補間の距離を定める距離テーブルを含む動きベクトル表現を含む動きベクトル差分によるマージモード(MMVD)でコーディングされた現在のビデオブロックと関連した動き情報を導出するステップと、
前記MMVDのために使用された距離をどのように精緻化すべきかを指定する規則に従って前記動き情報を精緻化するよう、デコーダ側動きベクトル精緻化(DMVR)を前記現在のビデオブロックに適用するステップと、
前記現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換を実行するステップと
を有する方法。
40.箇条39に記載の方法であって、
前記規則は、前記DMVRによって精緻化された距離が前記距離テーブルに含まれない、ことを定める、
方法。
41.箇条39に記載の方法であって、
前記規則は、前記DMVRによって精緻化された距離又は粗く精緻化された距離が前記距離テーブルに含まれる場合に、前記DMVRを許されないことを定め、
前記粗く精緻化された距離は、最良の整数の動きベクトル差分を前記距離に加えることによって生成される、
方法。
42.箇条39に記載の方法であって、
前記規則は、特定の条件下にある全ての距離について前記DMVRを許すことを定める、
方法。
43.ビデオ処理方法であって、
ビデオの現在のビデオブロックのサンプル又はサブブロックについて、規則に従って、導出された動き情報に基づき、該導出された動き情報が空間及び/又は時間勾配を用いて精緻化される双方向オプティカルフロー(BDOF)の適用可能性を決定するステップと
前記決定に基づき、前記現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換を実行するステップと
を有する方法。
44.箇条43に記載の方法であって、
前記導出された動き情報は、動きベクトル差分、空間勾配、又は時間勾配、のうちの少なくとも1つを含む、
方法。
45.箇条43に記載の方法であって、
前記規則は、第1参照リスト内の予測サンプルと第2参照リスト内の予測サンプルとの間の差を増大させる前記導出された動き情報により、前記サンプルについて、前記BDOFを許されないことを定める、
方法。
46.箇条43に記載の方法であって、
前記規則は、第1参照リスト内の予測サブブロックと第2参照リスト内の予測サブブロックとの間の差を増大させる前記導出された動き情報により、前記サンプル又は前記サブブロックについて、前記BDOFを許されないことを定める、
方法。
47.箇条43に記載の方法であって、
前記導出された動き情報は、導出されたオフセットに対応し、該導出されたオフセットは、前記決定するステップのために使用される係数によってスケーリングされる、
方法。
48.ビデオ処理方法であって、
ビデオの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、動きベクトル差分(MVD)を導出するステップと、
クリップされた動きベクトル差分を生成するよう、導出された前記動きベクトル差分にクリッピング動作を適用するステップと、
コスト関数を用いて、前記クリップされた動きベクトル差分のコストを計算するステップと、
規則に従って、前記導出された動きベクトル差分、前記クリップされた動きベクトル差分、又は前記コストのうちの少なくとも1つに基づき、前記導出された動きベクトル差分が空間及び/又は時間勾配を用いて精緻化される双方向オプティカルフロー(BDOF)動作を許されないと決定するステップと、
前記決定に基づき前記変換を実行するステップと
を有する方法。
49.箇条48に記載の方法であって、
前記計算するステップは、前記導出された動きベクトル差分(vx,vy)が前記クリッピング動作の後に(clipVx,clipVy)に変更される場合に、実行され、
(clipVx,clipVy)は、(vx,vy)とは異なる、
方法。
50.箇条48に記載の方法であって、
前記規則は、
1)costClipMvd>Th×costZeroMvd、又は
2)costClipMvd>Th×costDerivedMvd
である場合に、前記BDOFを許されないことを定め、
costDerivedMvd及びcostClipMvdは、夫々、前記導出された動きベクトル差分及び前記クリップされた動きベクトル差分のコストに対応する、
方法。
51.箇条48に記載の方法であって、
前記規則は、vx及びvyのうちの少なくとも一方が前記クリッピング動作の後に変更される場合に、前記BDOFを許されないことを定め、
(vx,vy)は、前記導出された動きベクトル差分である、
方法。
52.箇条48に記載の方法であって、
前記規則は、前記導出された動きベクトル差分(vx,vy)のx成分及びy成分のうちの少なくとも一方の絶対差、及び前記クリップされた動きベクトル差分(clipVx,clipVy)に基づき、前記BDOFを許されないことを定める、
方法。
53.箇条48に記載の方法であって、
前記コストを計算するステップは、特定の動きベクトル差分について実行され、
最終的な動きベクトル差分は、最小コスト値を有しているものとして決定される、
方法。
54.箇条48に記載の方法であって、
水平動きベクトル差分及び垂直動きベクトル差分は、前記動きベクトル差分が前記クリッピング動作の後に変化する場合に決定される、
方法。
55.箇条48に記載の方法であって、
コスト関数において共通の部分を有している複数の動きベクトル差分については、前記計算するステップは、前記共通の部分を繰り返さないよう実行される、
方法。
56.箇条48に記載の方法であって、
コスト関数において共通の部分を有している複数の動きベクトル差分については、前記共通の部分は、前記計算するステップの前に前記コスト関数から除かれる、
方法。
57.ビデオ処理方法であって
ビデオの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、動きベクトル差分を導出するステップと、
1つ以上の動きベクトル精緻化ツール及び候補動きベクトル差分(MVD)に基づき、導出された前記動きベクトル差分を精緻化するステップと、
精緻化された前記動きベクトル差分を用いて前記変換を実行するステップと
を有する方法。
58.箇条57に記載の方法であって、
前記精緻化するステップは、y成分が変更されx成分が変更されていないMVDが使用される第1ステップと、x成分が変更されy成分が変更されていないMVDが使用される第2ステップとを含むよう実行される、
方法。
59.箇条57に記載の方法であって、
前記候補MVDは、(vx+offsetX,vy)を含み、
offsetXは、範囲[-ThX1,ThX2]内にあり、
ThX1及びThX2は、非負整数値であり、
前記導出された動きベクトル差分は(vx,vy)である、
方法。
60.箇条57に記載の方法であって、
前記候補MVDは、(vx,vy+offsetY)を含み、
offsetYは、範囲[-ThY1,ThY2]内にあり、
ThY1及びThY2は、非負整数値であり、
前記導出された動きベクトル差分は(vx,vy)である、
方法。
61.箇条57に記載の方法であって、
前記導出された動きベクトル差分は(vx,vy)であり、
vx又はvyのどちらか一方が最初に精緻化される、
方法。
62.箇条57に記載の方法であって、
前記導出された動きベクトル差分は(vx,vy)であり、
vx及びvyは一緒に精緻化される、
方法。
63.箇条57に記載の方法であって、
前記導出された動きベクトル差分は(vx,vy)であり、
同数の候補MVDがvx及びvyから導出される、
方法。
64.箇条57に記載の方法であって、
前記精緻化された動きベクトル差分は、コスト関数を用いて取得された最小コスト値をもたらす、
方法。
65.ビデオ処理方法であって、
ビデオの現在のビデオブロックと関連した導出された動きベクトル差分を候補セットに制限するステップであり、前記導出された動きベクトル差分は、前記現在のビデオブロックと関連した動き情報を精緻化する精緻化動作のために使用される、前記制限するステップと、
前記現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換を、前記制限するステップの結果として前記導出された動きベクトル差分を用いて実行するステップと
を有する方法。
66.箇条65に記載の方法であって、
前記候補セットは、(1+MVDmaxX-MVDminX)の値よりも小さい許可された水平MVD候補の数、及び/又は(1+MVDmaxY-MVDminY)の値よりも小さい許可された垂直MVD候補の数を含み、
水平MVDの最大及び最小値は、MVDmaxX及びMVDminXで夫々表され、
垂直MVDの最大及び最小値は、MVDmaxY及びMVDminYで夫々表される、
方法。
67.箇条65に記載の方法であって、
前記候補セットは、前記精緻化動作の間に式を用いて取得される候補(vx,vy)を含み、
前記候補は、
1)mが整数であるとして、vx及びvyのうちの少なくとも一方がKの形を取ること、又は
2)vx及びvyのうちの少なくとも一方がゼロであること
を満足する、
方法。
68.箇条65に記載の方法であって、
前記候補セットは、前記精緻化動作の間に式を用いて取得される候補(Δv(,y),Δv(x,y))を含み、
前記候補は、
1)mが整数であるとして、Δv(x,y)及びΔv(x,y)のうちの少なくとも一方がKの形を取ること、又は
2)Δv(x,y)及びΔv(x,y)のうちの少なくとも一方がゼロであること
を満足する、
方法。
69.箇条65に記載の方法であって、
前記候補セットは、前記精緻化動作の間に式を用いて取得される候補(vx,vy)又は(Δv(x,y),Δv(x,y))を含み、
前記候補は、
1)vx、vy、Δv(x,y)及びΔv(x,y)のうちの少なくとも1つの絶対値がゼロであること、又は
2)mが整数であるとして、vx、vy、Δv(x,y)及びΔv(x,y)のうちの少なくとも1つがKの形を取ること
を満足する、
方法。
70.箇条65に記載の方法であって、
前記候補セットは、前記精緻化動作の間に式を用いて取得される候補(vx,vy)又は(Δv(x,y),Δv(x,y))を含み、
前記候補は、
1)vx、vy、Δv(x,y)及びΔv(x,y)のうちの少なくとも1つがゼロであること、又は
2)mが整数であるとして、vx、vy、Δv(x,y)及びΔv(x,y)のうちの少なくとも1つがK又は-Kの形を取ること
を満足する、
方法。
71.箇条65に記載の方法であって、
前記導出された動きベクトル差分は、最初に、前記候補セットに制限されずに、最初に導出された動きベクトル差分として導出され、次いで、前記候補セットに制限される、
方法。
72.箇条71に記載の方法であって、
前記最初に導出された動きベクトル差分及び前記変更された動きベクトル差分は、X及びX’によって表され、
Xは,abs(vx)又はabs(vy)に等しく、X’は、sign(vx)又はsign(vy)から取得され、
abs(t)は、tの絶対値に帰る絶対値関数に対応し、sign(t)は、tの符号に応じて値を返す符号関数に対応する、
方法。
73.箇条71に記載の方法であって、
前記候補セットは、Kの累乗であり、vx及びvyのうちの少なくとも1つに依存する値を有し、
前記導出された動きベクトル差分は(vx,vy)である、
方法。
74.箇条71に記載の方法であって、
前記導出された動きベクトル差分は(vx,vy)であり、
vx及びvyのうちの少なくとも一方は最初に変更される、
方法。
75.箇条71に記載の方法であって、
前記最初に導出された動きベクトル差分は、logK(x)関数及びceil(y))関数を使用することによって変更され、
logK(x)は、底をKとするxの対数を返し、ceil(y)は、y以上の最小整数を返す、
方法。
76.箇条71に記載の方法であって、
前記最初に導出された動きベクトル差分は、floor(y)関数を使用することによって変更され、
floor(y)は、y以下の最大整数を返す、
方法。
77.箇条71に記載の方法であって、
前記最初に導出された動きベクトル差分は、予め定義されたルックアップテーブルを使用することによって変更される、
方法。
78.箇条65に記載の方法であって、
前記候補セット内の候補のみが、動きベクトル差分を導出するためにチェックされる、
方法。
79.箇条78に記載の方法であって、
前記候補セットは、K、-K、又はゼロの形をとる候補動きベクトル差分(MVD)を含み、
Kは0よりも大きい整数であり、Nは整数である、
方法。
80.箇条79に記載の方法であって、
前記候補セットは、M/Kの形を取る候補MVDを含み、
Mは整数である、
方法。
81.箇条79に記載の方法であって、
前記候補セットは、KM/KNの形を取るか又はゼロである候補MVDを含み、
M及びNは整数である、
方法。
82.箇条65に記載の方法であって、
前記導出された動きベクトル差分は、規則に従って許される値を有しているx成分及び/又はy成分を有するよう導出される、
方法。
83.箇条82に記載の方法であって、
前記規則は、前記導出された動きベクトル差分(vx,vy)が床関数、天井関数、又は符号関数を用いて取得された値を有し、
前記床関数floor(t)は、t以下の最大整数を返し、前記天井関数ceil(t)は、t以上の最小整数を返し、符号関数sign(t)は、tの符号に応じて値を返す、
方法。
84.箇条82に記載の方法であって、
前記規則は、
i)vxが分子(numX)及び分母(denoX)のうちの少なくとも一方を使用することによって導出され、かつ/あるいは、
ii)vyが分子(numY)及び分母(denoY)のうちの少なくとも一方を用いて導出される
ように、前記導出された動きベクトル差分(vx,vy)を取得することを定める、
方法。
85.箇条84に記載の方法であって、
前記規則は、床関数、天井関数、又は符号関数で使用された変数として前記分子及び/又は前記分母を使用することを定め、
前記床関数floor(t)は、t以下の最大整数を返し、前記天井関数ceil(t)は、t以上の最小整数を返し、符号関数sign(t)は、tの符号に応じて値を返す、
方法。
86.箇条84に記載の方法であって、
前記規則は、vxがsign(numX×denoX)×esp2(M)として導出される、ことを定め、
Mは、cost(numX,denoX,M)の最小値を実現する整数であり、
sign(t)は、tの符号に応じて値を返す、
方法。
87.箇条84に記載の方法であって、
前記規則は、vxがゼロに等しいか、又は式:
sign(numX×denoX)×KF1(logK(abs(numX)+offset1))-F2(logK(abs(denoX)+offset2))2
を使用するものとして取得される、ことを定め、
offset1及びoffset2は、整数であり、
sign(t)は、tの符号に応じて値を返す、
方法。
88.箇条87に記載の方法であって、
前記規則は、
i)denoXがゼロに等しい、
ii)numXがゼロに等しい、
iii)numXがゼロに等しいか、又はdenoXがゼロに等しい、
iv)denoXがT1よりも小さい、
v)numXがT1よりも小さい、あるいは、
vi)numXがT1よりも小さいか、又はdenoXがT2よりも小さい
場合に、vxが0に等しい、ことを定め、
T1及びT2は整数である、
方法。
89.箇条87に記載の方法であって、
前記offset1は、numXに依存する、
方法。
90.箇条87に記載の方法であって、
前記offset1は、Kfloor(logK(abs(numX)))/2+Pに等しく、
Pは整数であり、floor(t)は、t以下の最大整数を返し、logK(x)は、Kを底とするxの対数を返し、abs(t)は、tの絶対値に帰る、
方法。
91.箇条87に記載の方法であって、
前記offset2は、denoXに依存する、
方法。
92.箇条87に記載の方法であって、
前記offset1は、Kfloor(logK(abs(denoX)))/2+Pに等しく、
Pは整数であり、floor(t)は、t以下の最大整数を返し、logK(x)は、Kを底とするxの対数を返し、abs(t)は、tの絶対値に帰る、
方法。
93.箇条84に記載の方法であって、
前記規則は、vxが、式
delta=floor(log2(abs(numX)))-floor(log2(abs(denoX)))
として取得されるデルタの値に依存する、ことを定め、
floor(t)は、t以下の最大整数を返し、logK(x)は、Kを底とするxの対数を返し、abs(t)は、tの絶対値に帰る、
方法。
94.箇条93に記載の方法であって、
前記デルタは、
1)floor(log(abs(numX)))が0よりも大きくかつabs(numX)&(1<<(floor(log2(abs(numX)))-1))がゼロに等しくない、あるいは、
2)floor(log2(abs2(nodeX)))が0よりも大きくかつabs(denoX)&(1<<(floor(log2(abs(numX)))-1))がゼロに等しくない
場合に、変更される、
方法。
95.箇条93に記載の方法であって、
vxは、デルタが0よりも小さい場合に、0にセットされる、
方法。
96.箇条83乃至95のうちいずれかに記載の方法であって、
vx及びvyのうちの少なくとも一方は、BDOFで使用される予測サンプル値を示すパラメータ、又はPROFで使用されるルーマ予測精緻化を示すパラメータを導出するために使用される、
方法。
97.箇条96に記載の方法であって、
前記BDOFで使用される予測サンプル値を示す前記パラメータは、式
bdofOffset=Round((vx×(gradientHL1[x+1][y+1]-gradientHL0[x+1][y+1]))>>1)+Round((vy×(gradientVL1[x+1][y+1]-gradientVL0[x+1][y+1]))>>1)
を用いて導出されるbdofOffsetである、
方法。
98.箇条96に記載の方法であって、
前記PROFで使用されるルーマ予測精緻化を示す前記パラメータは、式
ΔI(posX,posY)=dMvH[posX][posY]×gradientH[posX][posY]+dMvV[posX][posY]×gradientV[posX][posY]を用いて導出されるΔIであり、
dMvH[posX][posY]及びdMvV[posX][posY]は、vx及びvyに対応する、
方法。
99.箇条65に記載の方法であって、
前記導出された動きベクトル差分の水平成分及び垂直成分のうちの少なくとも一方は、前記精緻化動作のために使用されたツールに応じて導出され、該ツールと関連した前記候補セット内であるよう変更される、
方法。
100.箇条99に記載の方法であって、
前記導出された動きベクトル差分の前記水平成分及び前記垂直成分のうちの少なくとも一方は、前記ツールにかかわらず統一されている変更プロセスによって変更される、
方法。
101.箇条65に記載の方法であって、
コストが、候補値ごとにコスト関数を用いて計算され、
最小コスト値に対応する候補値が、最終的な動きベクトル差分(vx,vy)として選択される、
方法。
102.箇条65に記載の方法であって、
前記候補セットは、予め定義される、
方法。
103.箇条102に記載の方法であって、
前記候補セットは、vx及びvyのうちの少なくとも一方が-2/2の形を取るように候補(vx,vy)を含み、
xは、範囲[-(X-1),(X-1)]内にある、
方法。
104.箇条102に記載の方法であって、
前記候補セットは、vx及びvyが、
i){-32,-16,-8,-4,-2,-1,0,1,2,4,8,16,32}/64、
ii){-32,-16,-8,-4,-2,-1,0,1,2,4,8,16,32}、
iii){-32,-16,-8,-4,-2,-1,0,1,2,4,8,16,32}/32、
iv){-64,-32,-16,-8,-4,-2,-1,0,1,2,4,8,16,32,64}、
v){-64,-32,-16,-8,-4,-2,-1,0,1,2,4,8,16,32,64}/64、
vi){-128,-64,-32,-16,-8,-4,-2,-1,0,1,2,4,8,16,32,64,128}/128、又は
vii){-128,-64,-32,-16,-8,-4,-2,-1,0,1,2,4,8,16,32,64,128}
を含むセットのうちの1つからのみであるように、候補(vx,vy)を含む、
方法。
105.箇条102に記載の方法であって、
前記候補セットは、前記候補の水平及び/又は垂直成分がS×(2/2)の形を取るように候補(vx,vy)を含み、
Sは1又は-1であり、m及びnは整数である、
方法。
106.箇条65に記載の方法であって、
前記候補セットは、前記現在のビデオブロックのコーディングされた情報に依存する、
方法。
107.箇条65に記載の方法であって、
前記候補セットは、シーケンス、ピクチャ、スライス、タイル、ブリック、又は他のビデオ領域を含むビデオユニットレベルでシグナリングされる、
方法。
108.箇条65に記載の方法であって、
双方向オプティカルフロー(BDOF)又は予測精緻化オプティカルフロー(PROF)の間のサンプルに対する前記精緻化動作は、乗算演算を除外する、
方法。
109.ビデオ処理方法であって、
ビデオのビデオユニットの現在のビデオブロックと関連した動き情報を精緻化するために使用される双方向オプティカルフロー(BDOF)動作の間に、規則に従って前記ビデオユニット及び/又は前記ビデオユニットでのコーディングツールの利用に基づき決定されるクリッピングパラメータの組を用いてクリッピング動作を適用するステップと、
前記現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換を実行するステップと
を有する方法。
110.箇条109に記載の方法であって
前記規則は、前記ビデオの異なるビデオユニットごとにクリッピングパラメータに異なる組を使用することを定める、
方法。
111.箇条109又は110に記載の方法であって、
前記ビデオユニットは、シーケンス、ピクチャ、スライス、タイルグループ、タイル、コーディングツリーユニット、又はコーディングユニットに対応する、
方法。
112.箇条109に記載の方法であって、
水平動きベクトル差分及び垂直動きベクトル差分は、互いに異なった閾値にクリップされる、
方法。
113.箇条109に記載の方法であって、
前記クリッピング動作で使用される閾値は、前記現在のビデオブロックを含むピクチャの寸法及び/又は前記現在のビデオブロックのデコードされた動き情報に依存する、
方法。
114.箇条109に記載の方法であって、
前記クリッピング動作で使用される閾値は、シーケンスパラメータセット(SPS)、ビデオパラメータセット(VPS)、適応パラメータセット(APS)、ピクチャパラメータセット(PPS)、スライスヘッダ、及び/又はタイルグループヘッダでシグナリングされる、
の方法。
115.箇条109に記載の方法であって、
前記規則は、デコーダ側動きベクトル差分(DMVR)又はアフィンインターモードの利用に基づき前記クリッピングパラメータの組を決定することを定める、
方法。
116.箇条109に記載の方法であって、
前記クリッピングパラメータの値は、前記コーディングツールが前記ビデオユニットに対して無効にされるか否かに応じて増大又は低下する、
方法。
117.ビデオ処理方法であって、
ビデオの現在のビデオブロックと関連した動き情報を精緻化するために使用される精緻化動作の間に、動きベクトル差分(vx,vy)のx成分及び/又はy成分をクリップするよう規則に従ってクリッピング動作を適用するステップと、
前記動きベクトル差分を用いて前記現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換を実行するステップと
を有し、
前記規則は、前記クリッピング動作の前又は後に、前記動きベクトル差分をゼロ又はKの形を取る値に変換することを定め、mは整数である、
方法。
118.箇条117に記載の方法であって、
前記動きベクトル差分(vx,vy)は、式
bdofOffset=Round((vx×(gradientHL1[x+1][y+1]-gradientHL0[x+1][y+1]))>>1)+Round((vy×(gradientVL1[x+1][y+1]-gradientVL0[x+1][y+1]))>>1)
に従ってbdofOffsetを導出するためにBDOFで使用されるvx及びvyに対応する値を有する、
方法。
119.箇条117に記載の方法であって、
前記動きベクトル差分(vx,vy)は、式
ΔI(posX,posY)=dMvH[posX][posY]×gradientH[posX][posY]+dMvV[posX][posY]×gradientV[posX][posY]
に従ってΔIを導出するためにPROFで使用されるdMvH[posX][posY]及びdMvV[posX][posY]に対応する値を有する、
方法。
120.箇条117に記載の方法であって、
前記規則は、前記精緻化動作のタイプに応じて前記x成分及び前記y成分について異なった範囲を使用する、
請求項117に記載の方法。
121.ビデオ処理方法であって、
ビデオの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、規則に従ってデコーダ側動き導出動作又はデコーダ側動き精緻化動作の間に動き情報を導出又は精緻化するために使用される探索領域を選択するステップと、
導出又は精緻化された前記動き情報に基づき前記変換を実行するステップと
を有する方法。
122.箇条121に記載の方法であって、
前記規則は、非正方動きベクトル差分(MVD)領域を選択することを定める、
方法。
123.箇条122に記載の方法であって、
前記非正方MVD領域は、5×5菱形領域、5×5八角形領域、又は3×3菱形領域に対応する、
方法。
124.箇条121に記載の方法であって、
前記探索領域は、水平方向及び垂直方向で異なった探索範囲を有する、
方法。
125.箇条121に記載の方法であって、
前記規則は、前記現在のビデオブロックの寸法及び/又は形状に基づき前記探索領域を選択することを定め、
前記寸法は、前記現在のビデオブロックの高さ(H)及び幅(W)のうちの少なくとも一方に対応する、
方法。
126.箇条125に記載の方法であって、
前記規則は、前記現在のビデオブロックの前記寸法に応じて、垂直MVD探索範囲よりも小さいよう又は菱形MVD空間を探索するよう水平MVD探索範囲を定める、
方法。
127.箇条121に記載の方法であって、
前記規則は、精緻化される前である前記現在のビデオブロックの動き情報に基づき前記探索領域を選択することを定める、
請求項121に記載の方法。
128.箇条127に記載の方法であって、
前記規則は、sumAbsHorMv及び/又はsumAbsVerMvを含む前記動き情報に応じて、垂直MVD探索範囲よりも小さいよう又は菱形MVD空間を探索するよう水平MVD探索範囲を定め、
sumAbsHorMv=abs(MV0[0])+abs(MV1[0])であり、sumAbsVerMv=abs(MV0[0])+abs(MV1[1])であり、abs(MVx)はMVxの絶対値を指す、
方法。
129.箇条121に記載の方法であって、
前記規則は、参照ピクチャに基づき水平探索範囲及び/又は垂直探索範囲を選択することを定める、
方法。
130.箇条121に記載の方法であって、
前記規則は、動きベクトルの大きさに基づき水平探索範囲及び/又は垂直探索範囲を選択することを定める、
方法。
131.ビデオ処理方法であって、
ビデオの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、最良一致の整数位置を含む精緻化で使用された探索領域を使用することによって前記現在のビデオブロックと関連した動きベクトル差分を精緻化するようデコーダ側動きベクトル精緻化(DMVR)動作を適用するステップと、
精緻化された前記動きベクトル差分を用いて前記変換を実行するステップと
を有し、
前記DMVR動作の適用は、規則に従ってサブペル動きベクトル差分(MVD)を導出することを含む、
方法。
132.箇条131に記載の方法であって、
前記規則は、前記最良一致の整数位置の左右の位置が両方とも前記探索領域に含まれる場合に、水平サブペルMVDを導出することを定める、
方法。
133.箇条131に記載の方法であって、
前記規則は、前記最良一致の整数位置の上下の位置が両方とも前記探索領域に含まれる場合に、垂直サブペルMVDを導出することを定める、
方法。
134.箇条131に記載の方法であって、
前記規則は、特定の位置について前記サブペルMVDを導出することを定める、
方法。
135.ビデオ処理方法であって、
ビデオのビデオユニットの現在のビデオブロックについて、前記現在のビデオブロックと関連した動きベクトル差分を精緻化するようデコーダ側動きベクトル精緻化(DMVR)動作を適用するステップと、
精緻化された前記動きベクトル差分を用いて、前記現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換を実行するステップと
を有し、
前記DMVR動作の適用は、前記ビデオユニットに対する双方向オプティカルフロー(BDOF)の使用に応じてサブペル動きベクトル差分(MVD)導出を許すか又は許さないと決定することを含む、
方法。
136.箇条135に記載の方法であって、
前記ビデオユニットは、ピクチャ、スライス、タイルグループ、タイル、コーディングツリーユニット、又はコーディングユニットに対応する、
方法。
137.箇条135に記載の方法であって、
前記サブペルMVD導出は、前記ビデオユニットに対する前記BDOFの使用により許されない、
方法。
138.箇条135に記載の方法であって、
前記サブペルMVD導出は、前記ビデオユニットに対する前記BDOFの不使用により許される、
方法。
139.ビデオ処理方法であって、
オプティカルフローを用いた精緻化動作の間に、ビデオの現在のビデオブロックの第1サンプルの動きベクトル差分を導出するステップと、
前記第1サンプルの導出された前記動きベクトル差分に基づき、第2サンプルの動きベクトル差分を決定するステップと、
前記現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換を前記決定に基づき実行するステップと
を有する方法。
140.箇条139に記載の方法であって、
前記精緻化動作は、オプティカルフローによる予測精緻化(PROF)を用いて実行され、
前記第1サンプルの動きベクトル差分は、前記現在のビデオブロック内の位置についてアフィンモデルを用いて導出され、異なる位置について前記第2サンプルの動きベクトル差分を決定するために使用される、
方法。
141.箇条139に記載の方法であって、
上部に位置する前記第1サンプルの動きベクトル差分は、アフィンモデルを用いて導出され、下部に位置する前記第2サンプルの動きベクトル差分を決定するために使用され、
前記現在のビデオブロックは、幅(W)及び高さ(H)を有し、
前記上部及び前記株は、W×H/2のサイズを有する、
方法。
142.箇条139に記載の方法であって、
下部に位置する前記第1サンプルの動きベクトル差分は、アフィンモデルを用いて導出され、上部に位置する前記第2サンプルの動きベクトル差分を決定するために使用され、
前記現在のビデオブロックは、幅(W)及び高さ(H)を有し、
前記上部及び前記下部は、W×H/2のサイズを有する、
方法。
143.箇条139に記載の方法であって、
左部に位置する前記第1サンプルの動きベクトル差分は、アフィンモデルを用いて導出され、右部に位置する前記第2サンプルの動きベクトル差分を決定するために使用され、
前記現在のビデオブロックは、幅(W)及び高さ(H)を有し、
前記左部及び前記右下部は、(W/2)×Hのサイズを有する、
方法。
144.箇条139に記載の方法であって、
右部に位置する前記第1サンプルの動きベクトル差分は、アフィンモデルを用いて導出され、左部に位置する前記第2サンプルの動きベクトル差分を決定するために使用され、
前記現在のビデオブロックは、幅(W)及び高さ(H)を有し、
前記左部及び前記右下部は、(W/2)×Hのサイズを有する、
方法。
145.箇条139に記載の方法であって、
前記第1サンプルの動きベクトル差分は、アフィンモデルを用いて導出され、前記第2サンプルの動きベクトル差分を決定するために使用される前に、予め定義された精度に丸められ及び/又は予め定義された範囲にクリップされる、
方法。
146.箇条139に記載の方法であって、
位置(x,y)にある前記第1サンプル又は前記第2サンプルについて、MVDh及びMVDvは、夫々、水平及び垂直動きベクトル差分であり、式
MVDh(x,y)=-MVDh(W-1-x,H-1-y)、及び
MVDv(x,y)=-MVDv(W-1-x,H-1-y)
を使用することによって取得され、
W及びHは、前記現在のビデオブロックの幅及び高さである、
方法。
147.ビデオ処理方法であって、
双方向オプティカルフロー(BDOF)動作を用いた精緻化動作ビデオの現在のビデオブロックに適用することによって、予測精緻化サンプルを導出するステップと、
M及びNが整数であるとして、規則に従って、導出された前記予測精緻化サンプルを所定範囲[-M,N]にクリップするクリッピング動作の適用可能性を決定するステップと、
前記現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換を実行するステップと
を有する方法。
148.箇条147に記載の方法であって、
前記規則は、前記クリッピング動作を適用することを決定する、
方法。
149.箇条147に記載の方法であって、
NはM-1の値に等しい、
方法。
150.箇条147に記載の方法であって、
前記所定範囲は、前記現在のビデオブロックの色成分のビットデプスに依存する、
方法。
151.箇条150に記載の方法であって、
Mは2に等しく、K=Max(K1,BitDepth+K2)であり、
BitDepthは、前記現在のビデオブロックの色成分のビットデプスであり、
K1及びK2は整数である、
方法。
152.箇条150に記載の方法であって、
Mは2に等しく、K=Min(K1,BitDepth+K2)であり、
BitDepthは、前記現在のビデオブロックの色成分のビットデプスであり、
K1及びK2は整数である、
方法。
153.箇条147に記載の方法であって、
前記所定範囲は、予測精緻化オプティカルフロー(PROF)を用いて他のビデオブロックに適用される、
方法。
154.箇条147に記載の方法であって、
前記規則は、前記クリッピング動作を適用しないと決定する、
方法。
155.ビデオ処理方法であって、
第1コーディンググループ及び第2コーディンググループが規則に従って整列されるように、異なる残差コーディングモードを用いてコーディングされている前記第1コーディンググループ及び前記第2コーディンググループを含む、ビデオの現在のビデオブロックについて、コーディンググループサイズを決定するステップと、
前記決定に基づき前記現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換を実行するステップと
を有する方法。
156.箇条155に記載の方法であって、
前記第1コーディンググループは、変換がバイパスされるか又は恒等変換が適用される変換スキップモードを用いてコーディングされ、
前記規則は、前記現在のビデオブロックが2×M個よりも多いサンプルを含むかどうか及び/又は残差ブロックサイズに基づき前記第1コーディンググループのサイズが決定されることを定める、
方法。
157.箇条155に記載の方法であって、
前記第1コーディンググループは、変換がバイパスされるか又は恒等変換が適用される変換スキップモードを用いずにコーディングされ、
前記規則は、前記現在のビデオブロックの幅(W)又は高さ(H)がKに等しいかどうかに基づき前記第1コーディンググループのサイズが決定されることを定め、Kは整数である、
方法。
158.箇条155に記載の方法であって、
前記第1コーディンググループ及び前記第2コーディンググループは、夫々、変換スキップモード及び正則残差コーディングモードを用いてコーディングされ、
前記規則は、前記第1コーディンググループ及び前記第2コーディンググループが2×2、2×8、2×4、8×2、又は4×2のサイズを有することを定める、
方法。
159.箇条158に記載の方法であって、
前記サイズは、N×2又は2×Nの残差ブロックに対して使用され、
Nは整数である、
方法。
160.ビデオ処理方法であって、
ビデオの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、前記現在のビデオブロックと関連したコーディングされた情報及び/又はデコードされた情報に基づき、動き情報がオプティカルフローを用いて精緻化される予測精緻化オプティカルフロー(PROF)ツールの適用可能性を決定するステップと、
前記決定に基づき前記変換を実行するステップと
を有する方法。
161.箇条160に記載の方法であって、
前記現在のビデオブロックは、アフィンモードを用いてコーディングされている、
方法。
162.箇条161に記載の方法であって、
前記決定するステップは、前記変換で使用される参照ピクチャが前記現在のビデオブロックを含む現在のピクチャの寸法とは異なった寸法を有していることにより、前記PROFツールを適用しないと決定する、
方法。
163.箇条161に記載の方法であって、
前記決定するステップは、前記変換が双予測的予測を使用し、両方の参照ピクチャが同じ寸法を有していることにより、前記PROFツールを適用することを決定する、
方法。
164.箇条161に記載の方法であって、
前記PROFツールの適用可能性は、参照ピクチャと前記現在のビデオブロックを含む現在のピクチャとの間の解像度比に応じて決定される、
方法。
165.箇条160に記載の方法であって、
前記決定するステップは、特定の条件を定めている規則に従って、前記PROFツールを適用しないと決定する、
方法。
166.箇条165に記載の方法であって、
前記特定の条件は、
i)一般化された双予測が有効にされること、
ii)重み予測が有効にされること、又は
iii)半ピクセル補間フィルタが適用されること
を含む、
方法。
167.箇条1乃至166のうちいずれかに記載の方法であって、
前記精緻化動作に関する情報は、シーケンス、ピクチャ、スライス、タイル、ブリック、又は他のビデオ領域を含むビデオユニットレベルでシグナリングされる、
方法。
168.箇条1乃至166のうちいずれかに記載の方法であって、
前記精緻化動作は、双方向オプティカルフロー(BDOF)又は予測精緻化オプティカルフロー(PROF)が前記現在のビデオブロックに適用されるかどうかに応じて、前記現在のビデオブロックのコーディングされた情報に基づき規則に従って実行される、
方法。
169.箇条1乃至168のうちいずれかに記載の方法であって、
前記変換は、前記ビデオから前記コーディングされた表現を生成すること、又は前記コーディングされた表現から前記ビデオを生成することを有する、
方法。
170.ビデオシステムにおける装置であって、
プロセッサと、命令を有する非一時的なメモリとを有し、
前記命令は、前記プロセッサによって実行されると、前記プロセッサに、箇条1乃至169のうちいずれか1つに記載の方法を実施させる、
装置。
171.非一時的なコンピュータ可読媒体に記憶されたコンピュータプログラム製品であって、
箇条1乃至169のうちいずれか1つに記載の方法を実行するためのプログラムコードを含む、コンピュータプログラム製品。
以上から、目下開示されている技術の具体的な実施形態は、説明のために本明細書で説明されているが、様々な変更が、本発明の範囲から逸脱せずに行われてよい、ことが認識される。従って、目下開示されている技術は、添付の特許請求の範囲による場合を除いて、限定されない。
本明細書で記載されている対象及び機能的動作の実施は、様々なシステムやデジタル電子回路で、又は本明細書で開示されている構造及びそれらの構造的同等物を含むコンピュータソフトウェア、ファームウェア、若しくはハードウェアで、又はそれらの1つ以上の組み合わせで実装可能である。本明細書で記載されている対象の実施は、1つ以上のコンピュータプログラム製品、すなわち、データ処理装置による実行のために又はデータ処理装置の動作を制御するために有形かつ非一時的なコンピュータ可読媒体に符号化されているコンピュータプログラム命令の1つ以上のモジュール、として実装可能である。コンピュータ可読媒体は、機械により読み出し可能な記憶デバイス、機械により読み出し可能な記憶担体、メモリデバイス、機械により読み出し可能な伝搬信号をもたらす組成物、又はそれらの1つ以上の組み合わせであることができる。「データ処理ユニット」又は「データ処理装置」との用語は、例として、プログラム可能なプロセッサ、コンピュータ、又は複数のプロセッサ若しくはコンピュータを含む、データを処理する全ての装置、デバイス、及び機械を包含する。装置は、ハードウェアに加えて、問題となっているコンピュータプログラムのための実行環境を作り出すコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらの1つ以上の組み合わせを構成するコード、を含むことができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる。)は、コンパイル済み又は解釈済みの言語を含む如何なる形式のプログラミング言語でも記述可能であり、それは、スタンドアロンプログラムとして又はコンピューティング環境における使用に適したモジュール、コンポーネント、サブルーチン、若しくは他のユニットとしてを含め、如何なる形式でもデプロイ可能である。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応しない。プログラムは、問題となっているプログラムに専用の単一のファイルで、又は複数の協調したファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの部分を保存するファイル)で、他のプログラム又はデータ(例えば、マークアップ言語文書で保存された1つ以上のスクリプト)を保持するファイルの部分において保存可能である。コンピュータプログラムは、1つのコンピュータで、あるいは、1つの場所に位置しているか、又は複数の場所にわたって分布しており、通信ネットワークによって相互接続されている複数のコンピュータで、実行されるようデプロイ可能である。
本明細書で記載されているプロセス及び論理フローは、入力データに作用して出力を生成することによって機能を実行するよう1つ以上のコンピュータプログラムを実行する1つ以上のプログラム可能なプロセッサによって実行可能である。プロセス及び論理フローはまた、専用のロジック回路、例えば、FPGA(Field Programmable Gate Array)又はASIC(Application-Specific Integrated Circuit)によっても実行可能であり、装置は、そのようなものとしても実装可能である。
コンピュータプログラムの実行に適したプロセッサは、例として、汎用のマイクロプロセッサ及び専用のマイクロプロセッサの両方、並びにあらゆる種類のデジタルコンピュータのいずれか1つ以上のプロセッサを含む。一般に、プロセッサは、リード・オンリー・メモリ若しくはランダム・アクセス・メモリ又はその両方から命令及びデータを受け取ることになる。コンピュータの必須の要素は、命令を実行するプロセッサと、命令及びデータを保存する1つ以上のメモリデバイスとである。一般に、コンピュータはまた、データを保存する1つ以上の大容量記憶デバイス、例えば、磁気、光学磁気ディスク、又は光ディスクを含むか、あるいは、そのような1つ以上の大容量記憶デバイスからのデータの受信若しくはそれへのデータの転送又はその両方のために動作可能に結合されることになる。しかし、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令及びデータを保存するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、及びフラッシュメモリデバイスを含む全ての形式の不揮発性メモリ、媒体及びメモリデバイスを含む。プロセッサ及びメモリは、専用のロジック回路によって強化されるか、あるいは、それに組み込まれ得る。
本明細書は、図面とともに、単に例示と見なされるよう意図され、ここで、例示とは、例を意味する。本明細書で使用されるように、「若しくは」、「又は」、「あるいは」の使用は、文脈中で別なふうに明示されない限りは、「及び/又は」、「かつ/あるいは」を含むよう意図される。
本明細書は、多数の詳細を含むが、それらは、あらゆる発明の又は請求される可能性があるものの範囲に対する限定としてではなく、むしろ、特定の発明の特定の実施形態に特有であり得る特徴の説明として解釈されるべきである。別々の実施形態に関連して本明細書に記載されている特定の特徴は、単一の実施形態と組み合わせても実装可能である。逆に、単一の実施形態に関連して記載されている様々な特徴はまた、複数の実施形態で別々に、又は何らかの適切なサブコンビネーションで実装可能である。更に、特徴は、特定の組み合わせで動作するものとして上述され、そのようなものとして最初に請求されることさえあるが、請求されている組み合わせからの1つ以上の特徴は、いくつかの場合に、その組み合わせから削除可能であり、請求されている組み合わせは、サブコンビネーション又はサブコンビネーションの変形に向けられてもよい。
同様に、動作は、特定の順序で図面において表されているが、これは、所望の結果を達成するために、そのような動作が、示されているその特定の順序で、又は順次的な順序で実行されること、あるいは、表されている全ての動作が実行されることを求めている、と理解されるべきではない。更に、本明細書に記載されている実施形態における様々なシステムコンポーネントの分離は、全ての実施形態でそのような分離を求めている、と理解されるべきではない。
ほんのわずかの実施及び例が説明されており、他の実施、強化及び変形は、本明細書で記載及び例示されているものに基づいて行われ得る。

Claims (13)

  1. ビデオデータを処理する方法であって、
    ビデオの第1の双予測されたビデオブロックと前記ビデオのビットストリームとの間の第1変換のために、少なくとも1つの第1動きベクトルオフセットが前記第1の双予測されたビデオブロック内の領域の予測サンプルを精緻化するよう導出される第1のオプティカルフローに基づいた方法を用いて前記第1の双予測されたビデオブロックの動き情報が精緻化されることを決定するステップと、
    前記少なくとも1つの第1動きベクトルオフセットを第1範囲にクリップするステップと、
    クリップされた前記少なくとも1つの第1動きベクトルオフセットに基づき前記第1変換を実行するステップと、
    前記ビデオの第2のアフィンビデオブロックと前記ビットストリームとの間の第2変換のために、少なくとも1つの第2動きベクトルオフセットが前記第2のアフィンビデオブロック内の領域の予測サンプルを精緻化するよう導出される第2のオプティカルフローに基づいた方法を用いて前記第2のアフィンビデオブロックの動き情報が精緻化されることを決定するステップと、
    前記少なくとも1つの第2動きベクトルオフセットを第2範囲にクリップするステップと、
    クリップされた前記少なくとも1つの第2動きベクトルオフセットに基づき前記第2変換を実行するステップと
    を有し、
    前記第1範囲は前記第2範囲とは異なる、方法。
  2. 前記第1範囲は[-N0,M0]であり、第2範囲は[-N1,M1]であり、N0、M0、N1、及びM1は整数である、
    請求項1に記載の方法。
  3. [-N0,M0]は[-15,15]である、
    請求項2に記載の方法。
  4. [-N1,M1]は[-31,31]である、
    請求項2に記載の方法。
  5. N0及びM0は、2K0に等しくない同じ値を有し、N1及びM1は、2K1に等しくない同じ値を有し、K0及びK1は整数である、
    請求項2に記載の方法。
  6. N0及びM0は、2K0-1に等しい同じ値を有し、N1及びM1は、2K1-1に等しい同じ値を有し、K0及びK1は整数である、
    請求項2に記載の方法。
  7. 前記第1の双予測されたビデオブロック内の領域は、前記第1の双予測されたビデオブロックの全体、又は前記第1の双予測されたビデオブロック内のサブブロックであり、
    前記第2のアフィンビデオブロック内の領域は、前記第2のアフィンビデオブロックの全体、又は前記第2のアフィンビデオブロック内のサブブロックである、
    請求項1乃至6のうちいずれか一項に記載の方法。
  8. 前記第1動きベクトルオフセットは、水平成分及び垂直成分を有し、
    前記第1動きベクトルオフセットをクリップするステップは、前記第1動きベクトルオフセットの水平成分及び/又は垂直成分を前記第1範囲にクリップすることを有し、
    前記第2動きベクトルオフセットは、水平成分及び垂直成分を有し、
    前記第2動きベクトルオフセットをクリップするステップは、前記第2動きベクトルオフセットの水平成分及び/又は垂直成分を前記第2範囲にクリップすることを有する、
    請求項1乃至7のうちいずれか一項に記載の方法。
  9. 前記第1変換は、前記第1の双予測されたビデオブロックを前記ビットストリームにエンコードすることを有し、前記第2変換は、前記第2のアフィンビデオブロックを前記ビットストリームにエンコードすることを有する、
    請求項1乃至8のうちいずれか一項に記載の方法。
  10. 前記第1変換は、前記第1の双予測されたビデオブロックを前記ビットストリームからデコードすることを有し、前記第2変換は、前記第2のアフィンビデオブロックを前記ビットストリームからデコードすることを有する、
    請求項1乃至8のうちいずれか一項に記載の方法。
  11. ビデオデータを処理する装置であって、
    プロセッサと、命令を有する非一時的なメモリとを有し、
    前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
    ビデオの第1の双予測されたビデオブロックと前記ビデオのビットストリームとの間の第1変換のために、少なくとも1つの第1動きベクトルオフセットが前記第1の双予測されたビデオブロック内の領域の予測サンプルを精緻化するよう導出される第1のオプティカルフローに基づいた方法を用いて前記第1の双予測されたビデオブロックの動き情報が精緻化されることを決定させ、
    前記少なくとも1つの第1動きベクトルオフセットを第1範囲にクリップさせ、
    クリップされた前記少なくとも1つの第1動きベクトルオフセットに基づき前記第1変換を実行させ、
    前記ビデオの第2のアフィンビデオブロックと前記ビットストリームとの間の第2変換のために、少なくとも1つの第2動きベクトルオフセットが前記第2のアフィンビデオブロック内の領域の予測サンプルを精緻化するよう導出される第2のオプティカルフローに基づいた方法を用いて前記第2のアフィンビデオブロックの動き情報が精緻化されることを決定させ、
    前記少なくとも1つの第2動きベクトルオフセットを第2範囲にクリップさせ、
    クリップされた前記少なくとも1つの第2動きベクトルオフセットに基づき前記第2変換を実行させ、
    前記第1範囲は前記第2範囲とは異なる、
    装置。
  12. 命令を記憶している非一時的なコンピュータ可読記憶媒体であって、
    前記命令は、プロセッサに、
    ビデオの第1の双予測されたビデオブロックと前記ビデオのビットストリームとの間の第1変換のために、少なくとも1つの第1動きベクトルオフセットが前記第1の双予測されたビデオブロック内の領域の予測サンプルを精緻化するよう導出される第1のオプティカルフローに基づいた方法を用いて前記第1の双予測されたビデオブロックの動き情報が精緻化されることを決定させ、
    前記少なくとも1つの第1動きベクトルオフセットを第1範囲にクリップさせ、
    クリップされた前記少なくとも1つの第1動きベクトルオフセットに基づき前記第1変換を実行させ、
    前記ビデオの第2のアフィンビデオブロックと前記ビットストリームとの間の第2変換のために、少なくとも1つの第2動きベクトルオフセットが前記第2のアフィンビデオブロック内の領域の予測サンプルを精緻化するよう導出される第2のオプティカルフローに基づいた方法を用いて前記第2のアフィンビデオブロックの動き情報が精緻化されることを決定させ、
    前記少なくとも1つの第2動きベクトルオフセットを第2範囲にクリップさせ、
    クリップされた前記少なくとも1つの第2動きベクトルオフセットに基づき前記第2変換を実行させ、
    前記第1範囲は前記第2範囲とは異なる、
    非一時的なコンピュータ可読記憶媒体。
  13. ビデオのビットストリームを記憶する方法であって、
    前記ビデオの第1の双予測されたビデオブロックについて、少なくとも1つの第1動きベクトルオフセットが前記第1の双予測されたビデオブロック内の領域の予測サンプルを精緻化するよう導出される第1のオプティカルフローに基づいた方法を用いて前記第1の双予測されたビデオブロックの動き情報が精緻化されることを決定するステップと、
    前記少なくとも1つの第1動きベクトルオフセットを第1範囲にクリップするステップと、
    クリップされた前記少なくとも1つの第1動きベクトルオフセットに基づき前記ビットストリームを生成するステップと、
    前記ビデオの第2のアフィンビデオブロックについて、少なくとも1つの第2動きベクトルオフセットが前記第2のアフィンビデオブロック内の領域の予測サンプルを精緻化するよう導出される第2のオプティカルフローに基づいた方法を用いて前記第2のアフィンビデオブロックの動き情報が精緻化されることを決定するステップと、
    前記少なくとも1つの第2動きベクトルオフセットを第2範囲にクリップするステップと、
    クリップされた前記少なくとも1つの第2動きベクトルオフセットに基づき前記ビットストリームを生成するステップと、
    前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップと
    を有し、
    前記第1範囲は前記第2範囲とは異なる、
    方法。
JP2021564118A 2019-05-16 2020-05-18 動き情報精緻化のサブ領域に基づいた決定 Active JP7431253B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2024010643A JP2024032872A (ja) 2019-05-16 2024-01-29 動き情報精緻化のサブ領域に基づいた決定

Applications Claiming Priority (17)

Application Number Priority Date Filing Date Title
CNPCT/CN2019/087193 2019-05-16
CN2019087193 2019-05-16
CNPCT/CN2019/090037 2019-06-04
CN2019090037 2019-06-04
CNPCT/CN2019/090903 2019-06-12
CN2019090903 2019-06-12
CN2019093616 2019-06-28
CNPCT/CN2019/093616 2019-06-28
CN2019093973 2019-06-29
CNPCT/CN2019/093973 2019-06-29
CNPCT/CN2019/094282 2019-07-01
CN2019094282 2019-07-01
CN2019104489 2019-09-05
CNPCT/CN2019/104489 2019-09-05
CNPCT/CN2019/116757 2019-11-08
CN2019116757 2019-11-08
PCT/CN2020/090802 WO2020228836A1 (en) 2019-05-16 2020-05-18 Sub-region based determination of motion information refinement

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2024010643A Division JP2024032872A (ja) 2019-05-16 2024-01-29 動き情報精緻化のサブ領域に基づいた決定

Publications (2)

Publication Number Publication Date
JP2022530516A JP2022530516A (ja) 2022-06-29
JP7431253B2 true JP7431253B2 (ja) 2024-02-14

Family

ID=73289816

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021564118A Active JP7431253B2 (ja) 2019-05-16 2020-05-18 動き情報精緻化のサブ領域に基づいた決定
JP2024010643A Pending JP2024032872A (ja) 2019-05-16 2024-01-29 動き情報精緻化のサブ領域に基づいた決定

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2024010643A Pending JP2024032872A (ja) 2019-05-16 2024-01-29 動き情報精緻化のサブ領域に基づいた決定

Country Status (8)

Country Link
US (2) US11736698B2 (ja)
EP (1) EP3949415A4 (ja)
JP (2) JP7431253B2 (ja)
KR (1) KR102647582B1 (ja)
CN (2) CN113728644B (ja)
BR (1) BR112021021669A2 (ja)
SG (1) SG11202111843XA (ja)
WO (1) WO2020228836A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020190853A1 (en) * 2019-03-16 2020-09-24 Vid Scale, Inc. Inter prediction memory access bandwidth reduction method with optical flow compensation
US11330287B2 (en) * 2019-06-28 2022-05-10 Tencent America LLC Method and apparatus for video coding
US20220264146A1 (en) * 2019-07-01 2022-08-18 Interdigital Vc Holdings France, Sas Bi-prediction refinement in affine with optical flow
WO2022257954A1 (en) * 2021-06-10 2022-12-15 Beijing Bytedance Network Technology Co., Ltd. Method, device, and medium for video processing
WO2023072287A1 (en) * 2021-10-29 2023-05-04 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing
US11616970B1 (en) 2022-01-25 2023-03-28 Mediatek Inc. Motion vector refinement apparatus having motion vector predictor derivation circuit that is allowed to start new task without waiting for motion vector difference computation and associated motion vector refinement method
EP4258666A1 (en) * 2022-04-07 2023-10-11 Beijing Xiaomi Mobile Software Co., Ltd. Encoding/decoding video picture data
US20230336773A1 (en) * 2022-04-18 2023-10-19 Tencent America LLC On motion compensated picture boundary padding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180278949A1 (en) 2017-03-22 2018-09-27 Qualcomm Incorporated Constraining motion vector information derived by decoder-side motion vector derivation
US20200314443A1 (en) 2019-04-01 2020-10-01 Qualcomm Incorporated Gradient-based prediction refinement for video coding

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7627037B2 (en) 2004-02-27 2009-12-01 Microsoft Corporation Barbell lifting for multi-layer wavelet coding
CN104584553A (zh) 2012-09-28 2015-04-29 英特尔公司 层间残差预测
SG11201500311XA (en) 2012-09-28 2015-02-27 Intel Corp Inter-layer pixel sample prediction
US9294777B2 (en) 2012-12-30 2016-03-22 Qualcomm Incorporated Progressive refinement with temporal scalability support in video coding
US9521425B2 (en) 2013-03-19 2016-12-13 Qualcomm Incorporated Disparity vector derivation in 3D video coding for skip and direct modes
WO2014166063A1 (en) 2013-04-09 2014-10-16 Mediatek Inc. Default vector for disparity vector derivation for 3d video coding
US9667996B2 (en) 2013-09-26 2017-05-30 Qualcomm Incorporated Sub-prediction unit (PU) based temporal motion vector prediction in HEVC and sub-PU design in 3D-HEVC
US9762927B2 (en) 2013-09-26 2017-09-12 Qualcomm Incorporated Sub-prediction unit (PU) based temporal motion vector prediction in HEVC and sub-PU design in 3D-HEVC
CN115278229A (zh) * 2015-11-11 2022-11-01 三星电子株式会社 对视频进行解码的设备和对视频进行编码的设备
GB2561507B (en) * 2016-01-07 2021-12-22 Mediatek Inc Method and apparatus for affine merge mode prediction for video coding system
US20180199057A1 (en) * 2017-01-12 2018-07-12 Mediatek Inc. Method and Apparatus of Candidate Skipping for Predictor Refinement in Video Coding
US10701366B2 (en) 2017-02-21 2020-06-30 Qualcomm Incorporated Deriving motion vector information at a video decoder
US10523964B2 (en) 2017-03-13 2019-12-31 Qualcomm Incorporated Inter prediction refinement based on bi-directional optical flow (BIO)
US10805630B2 (en) 2017-04-28 2020-10-13 Qualcomm Incorporated Gradient based matching for motion search and derivation
US10904565B2 (en) 2017-06-23 2021-01-26 Qualcomm Incorporated Memory-bandwidth-efficient design for bi-directional optical flow (BIO)
US10785494B2 (en) 2017-10-11 2020-09-22 Qualcomm Incorporated Low-complexity design for FRUC
US10986360B2 (en) * 2017-10-16 2021-04-20 Qualcomm Incorproated Various improvements to FRUC template matching
US20190306502A1 (en) 2018-04-02 2019-10-03 Qualcomm Incorporated System and method for improved adaptive loop filtering
US10779002B2 (en) 2018-04-17 2020-09-15 Qualcomm Incorporated Limitation of the MVP derivation based on decoder-side motion vector derivation
TWI719519B (zh) 2018-07-02 2021-02-21 大陸商北京字節跳動網絡技術有限公司 對於dmvr的塊尺寸限制
WO2020084461A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Restrictions on decoder side motion vector derivation based on coding information
CN112913240A (zh) 2018-10-22 2021-06-04 北京字节跳动网络技术有限公司 解码器侧运动矢量推导和其他编解码工具之间的并置
EP3861731A4 (en) 2018-11-05 2021-11-24 Beijing Bytedance Network Technology Co. Ltd. INTERPOLATION TO INTERPRDICTION WITH REFINEMENT
EP3949419A4 (en) * 2019-04-12 2023-01-04 HFI Innovation Inc. METHOD AND APPARATUS FOR SIMPLIFIED AFFINE SUB-BLOCK PROCESS FOR VIDEO CODING SYSTEM
MX2022002254A (es) * 2019-08-23 2022-03-22 Beijing Dajia Internet Information Tech Co Ltd Metodo y aparato en refinamiento de prediccion con flujo optico.

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180278949A1 (en) 2017-03-22 2018-09-27 Qualcomm Incorporated Constraining motion vector information derived by decoder-side motion vector derivation
US20200314443A1 (en) 2019-04-01 2020-10-01 Qualcomm Incorporated Gradient-based prediction refinement for video coding

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
LI, Xiang et al.,CE2-4.4: Affine Block Memory Bandwidth Reduction by MV Clip,JVET-N0398 (version 1),ITU,2019年03月13日,pp.1-4,JVET-N0398.docx
LI, Xiang et al.,Non-CE2: Combination of Affine MV Clip and Prediction Refinement with Optical Flow,JVET-N0737 (version 2),ITU,2019年03月21日,pp.1-3,JVET-N0737_r1.docx
LUO, Jiancong Daniel et al.,CE2-related: Prediction Refinement with Optical Flow for Affine Mode,JVET-N0236 (version 7),ITU,2019年03月26日,pp.1-7,JVET-N0236-r5.docx

Also Published As

Publication number Publication date
JP2022530516A (ja) 2022-06-29
US11736698B2 (en) 2023-08-22
KR20220009947A (ko) 2022-01-25
JP2024032872A (ja) 2024-03-12
CN117395419A (zh) 2024-01-12
WO2020228836A1 (en) 2020-11-19
EP3949415A4 (en) 2022-08-03
EP3949415A1 (en) 2022-02-09
BR112021021669A2 (pt) 2021-12-21
SG11202111843XA (en) 2021-11-29
US20220103827A1 (en) 2022-03-31
CN113728644B (zh) 2024-01-26
CN113728644A (zh) 2021-11-30
US20230403398A1 (en) 2023-12-14
KR102647582B1 (ko) 2024-03-15

Similar Documents

Publication Publication Date Title
JP7431253B2 (ja) 動き情報精緻化のサブ領域に基づいた決定
US11889108B2 (en) Gradient computation in bi-directional optical flow
JP7241870B2 (ja) 部分的な位置に基づく差分計算
KR102610709B1 (ko) 디코더 측 움직임 벡터 유도
CN112868239B (zh) 并置的局部照明补偿和帧内块复制编解码
WO2020147747A1 (en) Weighted prediction in video coding
WO2020103872A1 (en) Prediction refinement for combined inter intra prediction mode
WO2020147804A1 (en) Use of virtual candidate prediction and weighted prediction in video processing
JP2021530154A (ja) 効率的なアフィンマージ動きベクトル導出
KR20210089155A (ko) 페어와이즈 평균 후보 계산에서 라운딩
WO2020147745A1 (en) Motion candidate lists that use local illumination compensation
JP2023145563A (ja) 異なる動きベクトル微調整における勾配計算
WO2019229683A1 (en) Concept of interweaved prediction
CN111083484A (zh) 基于子块的预测
WO2020049540A1 (en) Affine mode in video coding and decoding
JP7322277B2 (ja) 参照ピクチャタイプに従ったツールの使用制限
CN113796084B (zh) 运动矢量和预测样点细化
CN110740327A (zh) 重叠块的运动补偿的改进
CN110876063A (zh) 交织预测的快速编码方法
WO2020224613A1 (en) Unified calculation method for inter prediction with refinement

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211027

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230718

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231016

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240201

R150 Certificate of patent or registration of utility model

Ref document number: 7431253

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150