JP2023120345A - 動きベクトルの差に関する制限 - Google Patents

動きベクトルの差に関する制限 Download PDF

Info

Publication number
JP2023120345A
JP2023120345A JP2023100145A JP2023100145A JP2023120345A JP 2023120345 A JP2023120345 A JP 2023120345A JP 2023100145 A JP2023100145 A JP 2023100145A JP 2023100145 A JP2023100145 A JP 2023100145A JP 2023120345 A JP2023120345 A JP 2023120345A
Authority
JP
Japan
Prior art keywords
mvd
component
range
components
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.)
Pending
Application number
JP2023100145A
Other languages
English (en)
Inventor
ジピン ドン
Zhipin Deng
リー ジャン
Li Zhang
ホンビン リウ
Hongbin Liu
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 JP2023120345A publication Critical patent/JP2023120345A/ja
Pending legal-status Critical Current

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
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for 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/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
    • 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/167Position within a video image, e.g. region of interest [ROI]
    • 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/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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/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

Landscapes

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

Abstract

Figure 2023120345000001
【課題】動きベクトルの差を制限する方法、装置及びプログラムを提供する。
【解決手段】映像処理の方法は、映像第1のブロックと第1のブロックのビットストリーム表現との間での変換のために、第1のブロックに関連付けられたMVD(Motion Vector Difference)成分の範囲を判定することを含む。MVD成分の範囲は、[-2,2-1]であり、M=17である。方法はまた、MVD成分の値が、MVD成分の範囲内となるように抑制することと、抑制されたMVD成分に基づいて変換を実行することと、を含む。
【選択図】図4

Description

関連出願の相互参照
パリ条約に基づく適用可能な特許法および/または規則に基づいて、本願は、2019年4月25日出願の国際特許出願第PCT/CN2019/084228号の優先権および利益を適時に主張することを目的とする。国際特許出願第PCT/CN2019/084228号の全開示は、本出願の開示の一部として参照により援用される。
本特許明細書は、映像コーディング技術、デバイスおよびシステムに関する。
映像圧縮の進歩にもかかわらず、デジタル映像は、依然として、インターネット及び他のデジタル通信ネットワークにおいて最大の帯域幅の使用量を占めている。映像を受信及び表示することが可能である接続されたユーザデバイスの数が増加するにつれ、デジタル映像の使用に対する帯域幅需要は増大し続けることが予測される。
本特許明細書では、規定されたビット数を使用して表現される動きベクトルを用いて映像符号化または映像復号化を行う様々な実施形態および技術を説明する。
1つの例示的な態様において、映像復号化方法が開示される。方法は、映像領域と映像領域のビットストリーム表現との間での変換の間、映像の映像領域に対して使用されるMVD(Motion Vector Difference)値の範囲を、最大許容動きベクトル解像度、最大許容動きベクトル精度、または映像領域の優先度に基づいて判定することと、MVD値が範囲内になるように制限することにより、変換を実行することと、を含む。
1つの例示的な態様において、映像復号化方法が開示される。方法は、映像の第1のブロックと第1のブロックのビットストリーム表現との間での変換のために、第1のブロックに関連付けられたMVD(Motion Vector Difference)成分の範囲を判定することであって、MVD成分の範囲は、[-2,2-1]であり、M=17である、ことと、MVD成分の値は、MVD成分の範囲内となるように抑制することと、抑制されたMVD成分に基づいて変換を実行することと、を含む。
1つの例示的な態様において、映像復号化方法が開示される。方法は、映像の第1のブロックと第1のブロックのビットストリーム表現との間での変換のために、第1のブロックに関連付けられたMVD(Motion Vector Difference)成分の範囲を判定することであって、MVD成分の範囲は、コーデックの許容可能なMVD精度および/または許容可能なMV(Motion Vector)精度に適合される、ことと、MVD成分の値をMVD成分の範囲内となるように抑制することと、抑制されたMVD成分に基づいて変換を実行することと、を含む。
1つの例示的な態様において、映像復号化方法が開示される。方法は、映像の第1のブロックと第1のブロックのビットストリーム表現との間での変換のために、第1のブロックに関連付けられたMVD(Motion Vector Difference)成分の範囲を、第1のブロックのコーディングされた情報に基づいて判定することと、MVD成分の値を、MVD成分の範囲内となるように抑制することと、MVD成分の抑制された範囲に基づいて変換を実行することと、を含む。
さらに別の例示的な態様において、映像処理装置が開示される。装置は、上述した方法を実行するように構成されたプロセッサを含む。
さらに別の例示的な態様において、コンピュータ可読媒体が開示される。媒体は、上述した方法をプロセッサで実装するためのコードが記憶されている。
これらの、および他の態様は、本特許明細書で説明される。
例示的なエンコーダブロック図を示す。 本特許明細書に記載される1または複数の方法を実装するためのハードウェアプラットフォームの一例を示すブロック図である。 映像処理の方法の一例を示すフローチャートである。 映像処理の方法の一例を示すフローチャートである。 映像処理の方法の一例を示すフローチャートである。 映像処理の方法の一例を示すフローチャートである。
本明細書では、理解を容易にするためにセクションの見出しを使用しており、1つのセクションに開示された実施形態をそのセクションにのみ限定するものではない。さらに、特定の実施形態は、VVC(Versatile Video Coding)または他の特定の映像コーデックを参照して説明されたが、開示された技術は、他の映像コーディング技術にも適用可能である。さらに、いくつかの実施形態は映像コーディングステップを詳細に説明しているが、コーディングを元に戻す復号化の対応するステップはデコーダによって実行されることが理解されよう。さらに、映像処理という用語は、映像コーディングまたは圧縮、映像の復号化または展開、および映像の画素がある圧縮形式から別の圧縮形式へ、または別の圧縮ビットレートで表現される映像のコード変換を含む。
1. 概要
本特許明細書は、映像コーディング技術に関する。具体的には、映像コーディングにおけるインターコーディング処理に関する。HEVCのような既存の映像コーディング規格に適用してもよいし、規格(Versatile Video Coding)を確定させるために適用してもよい。本発明は、将来の映像コーディング規格または映像コーデックにも適用可能である。
2. 初期の協議
映像コーディング規格は、主に周知のITU-TおよびISO/IEC規格の開発によって発展してきた。ITU-TはH.261とH.263を作り、ISO/IECはMPEG-1とMPEG-4 Visualを作り、両団体はH.262/MPEG-2 VideoとH.264/MPEG-4 AVC(Advanced Video Coding)とH.265/HEVC規格を共同で作った。H.262以来、映像コーディング規格は、時間的予測と変換コーディングが利用されるハイブリッド映像コーディング構造に基づく。HEVCを超えた将来の映像コーディング技術を探索するため、2015年には、VCEGとMPEGが共同でJVET(Joint Video Exploration Team)を設立した。それ以来、多くの新しい方法がJVETによって採用され、JEM(Joint Exploration Mode)と呼ばれる参照ソフトウェアに組み込まれてきた。JVET会議は四半期に1回開催され、新しいコーディング規格はHEVCに比べて50%のビットレート低減を目指している。2018年4月のJVET会議において、新しい映像コーディング規格をVVC(Versatile Video Coding)と正式に命名され、その時、第1版のVTM(VVC Test Model)がリリースされた。VVCの標準化に寄与する努力が続けられており、すべてのJVET会議において、VVC標準に新しいコーディング技術が採用されている。毎回の会議の後、VVC作業草案およびテストモデルVTMが更新される。VVCプロジェクトは、現在、2020年7月の会議における技術完成(FDIS)を目指している。
2.1 典型的な映像コーデックのコーディングフロー
図1は、3つのインループフィルタリングブロック、すなわち、DF(Deblocking Filter)、SAO(Sample Adaptive Offset)、およびALFを含む、VVCのエンコーダブロック図の例を示す。予め定義されたフィルタを使用するDFとは異なり、SAOおよびALFは、現在のピクチャの元のサンプルを利用し、それぞれ、オフセットを追加し、オフセットとフィルタ係数を信号通知するコーディングされる側の情報でFIR(Finite Inpulse Response)フィルタを適用することにより、元のサンプルと再構成されたサンプルとの間の平均二乗誤差を低減する。ALFは、各ピクチャの最後の処理ステージに位置し、前のステージで生成されたアーチファクトを捕捉し、確定しようとするツールと見なすことができる。
図1は、エンコーダブロック図の例を示す。
2.2 AMVR(Adaptive Motion Vector Resolution)
HEVCにおいて、スライスヘッダにてuse_integer_mv_flagが0等しい場合、1/4輝度サンプルのユニットにてMVD(Motion Vector Difference)(CUの動きベクトルと予測動きベクトルとの差)が信号通知される。JEMにおいて、LAMVR(Locally Adaptive Motion Vector Resolution)が導入される。VVCにおいて、CUレベルのAMVR(Adaptive Motion Vector Resolution)スキームが導入される。AMVRは、CUのMVDを異なる精度でコーディングすることを可能にする。現在のCUに対するモード(通常のAMVPモードまたはアフィンAVMPモード)に基づいて、現在のCUのMVDは、以下のように適応的に選択できる。
-通常のAMVPモード:1/4輝度サンプル、整数輝度サンプル、または4輝度サンプル。
-アフィンAMVPモード:1/4輝度サンプル、整数輝度サンプル、または1/16輝度サンプル。
現在のCUが少なくとも1つの非ゼロMVD成分を有する場合、CUレベルのMVD解像度指示が条件付きで信号通知される。すべてのMVD成分(すなわち、参照リストL0および参照リストL1の水平および垂直MVDの両方)がゼロである場合、1/4輝度サンプルMVD解像度が推測される。
少なくとも1つの非ゼロMVD成分の構成要素を有するCUの場合、1/4輝度サンプルMVD精度がCUに対して使用されるかどうかを示すために、第1のフラグが信号通知される。第1のフラグが0である場合、さらなる信号通知は必要とされず、現在のCUのために1/4輝度サンプルMVD精度が使用される。そうでない場合、整数輝度サンプルまたは4輝度サンプルのMVD精度が通常のAMVP CUに対して使用されるかどうかを示すために、第2のフラグが信号通知される。同じ第2のフラグは、整数輝度サンプルまたは1/16輝度サンプルのMVD精度がアフィンAMVP CUに対して使用されるかどうかを示すために使用される。再構成されたMVが意図された精度(1/4輝度サンプル、整数輝度サンプル、または4輝度サンプル)を有することを保証するために、CUの動きベクトル予測子は、MVDに加算される前に、MVDと同じ精度に丸められる。動きベクトル予測子をゼロに向かって丸める(すなわち、負の動きベクトル予測子を正の無限大に向かって丸め、正の動きベクトル予測モジュールを負の無限大に向かって丸める)。
エンコーダは、RDチェックを使用して、現在のCUに対する動きベクトルの解像度を判定する。各MVD解像度に対してCUレベルのRDチェックを常に3回行うことを回避するために、VTM4では、1/4輝度サンプル以外のMVD精度のRDチェックは、条件付きでのみ呼び出される。通常のAVMPモードの場合、まず、1/4輝度サンプルMVD精度および整数輝度サンプルMV精度のRDコストが算出される。次に、整数輝度サンプルMVD精度のRDコストが1/4輝度サンプルMVD精度のRDコストと比較され、4輝度サンプルMVD精度のRDコストをさらにチェックする必要があるかどうかが決定される。1/4輝度サンプルMVD精度のRDコストが整数輝度サンプルMVD精度のRDコストよりもずっと小さい場合、4輝度サンプルMVD精度のRDチェックは省略される。アフィンAMVPモードの場合、アフィンマージ/スキップモード、マージ/スキップモード、1/4輝度サンプリングMVD精度の通常のAMVPモード、1/4輝度サンプリングMVD精度のアフィンAMVPモードの、レート-ひずみのコストをチェックした後に、アフィンインターモードが選択されなかった場合、1/16輝度サンプルMV精度および1画素MV精度のアフィンインターモードはチェックされない。さらに、1/16輝度サンプルおよび1/4輝度サンプルMV精度のアフィンインターモードにおける検索開始点として、1/4輝度サンプルMV精度のアフィンインターモードで得られたアフィンパラメータが使用される。
2.3 VVCにおけるアフィンAMVP予測
アフィンAMVPモードは、幅および高さの両方が16以上であるCUに適用することができる。アフィンAMVPモードが使用されるかどうかを示すために、CUレベルのアフィンフラグがビットストリームにて信号通知され、次いで、4パラメータアフィンまたは6パラメータアフィンであるかを示すために、別のフラグが信号通知される。このモードにおいて、現在のCUのCPMVの差とそれらの予測子CPMVPがビットストリームにおいて信号通知される。アフィンAVMP候補リストサイズは2であり、以下のCPVM候補の4つのタイプを順に使用して生成される。
1)近傍のCUのCPMVから外挿した継承されたアフィンAMVP候補
2)近傍のCUの並進MVを使用して導出された構築されたアフィンAMVP候補CPMVP
3)近傍のCUからの並進MV
4)ゼロMV
継承されたアフィンAMVP候補のチェック順は、継承されたアフィンマージ候補のチェック順と同じである。唯一の違いは、AVMP候補の場合、現在のブロックと同じ参照ピクチャを有するアフィンCUのみを考慮することである。継承されたアフィン動き予測子を候補リストに挿入する場合、プルーニング処理は適用されない。
構築されたAMVP候補は、指定された空間的近傍から導出される。また、近傍のブロックの参照ピクチャインデックスもチェックされる。インター符号化され、現在のCUと同じ参照ピクチャを有する、チェック順において第1のブロックが使用される。1つのみが存在する。現在のCUが4パラメータアフィンモードでコーディングされ、mvおよびmvが両方とも利用可能である場合、それらをアフィンAMVPリストに1つの候補として追加する。現在のCUが6パラメータアフィンモードでコーディングされ、3つのCPMVすべてが利用可能である場合、それらをアフィンAMVPリストに1つの候補として追加する。そうでない場合、構築されたAMVP候補を利用不可能に設定する。
継承されたアフィンAMVP候補および構築されたAMVP候補をチェックした後、アフィンAMVPリスト候補が依然として2未満である場合、利用可能であれば、mv、mv、およびmvの順に、現在のCUのすべての制御点MVを予測するために並進MVとして追加される。最後に、まだアフィンAMVPリストがすべて満たされていない場合は、アフィンAMVPリストを満たすために、ゼロMVが使用される。
2.4 VVCにおけるMMVD(Merge mode with MVD)
暗黙的に導出された動き情報が現在のCUの予測サンプル生成に対して直接使用されるマージモードに加え、VVCにてMMVD(Merge mode with Motion Vector Deffirences)が導入される。スキップフラグおよびマージフラグを送信した直後に、MMVDフラグが信号通知され、MMVDモードがCUに対して使用されるかどうかを指定する。
MMVDにおいて、マージ候補が選択された後、信号通知されたMVD情報によってさらに改善される。さらなる情報は、マージ候補フラグ、動きの大きさを指定するためのインデックス、および動き方向の指示のためのインデックスを含む。MMVDモードにおいて、マージリストにおける最初の2つの候補のうちの1つが、MVベースとして使用されるために選択される。マージ候補フラグは、どちらを使用するかを指定するために信号通知される。
距離インデックスは、動きの大きさの情報を指定し、開始点からの予め定義されたオフセットを示す。オフセットは、開始MVの水平成分または垂直成分のいずれかに追加される。距離インデックスと予め定義されたオフセットとの関係は、表1に規定される。
VVCにおいて、spssレベルにおける小数MMVDオフセットのオン/オフのためのSPSフラグsps_fpel_mmvd_enabled_flag、および、タイルグループのヘッダレベルにおける「SCC/UHDフレーム」のための小数MMVDオフセットのオン/オフを制御するためのタイルグループフラグtile_group_fpel_mmvd_enabled_flagが存在する。小数MVDが有効化されている場合、表1のデフォルト距離テーブルが使用される。そうでない場合、表1のデフォルト距離におけるすべてのオフセット要素は、2だけ左シフトされる。
Figure 2023120345000002
方向インデックスは、開始点に対するMVDの方向を表す。方向インデックスは、表2に示すように、4つの方向を表すことができる。なお、MVD符号の意味は、開始MVの情報に従って異なってもよい。開始MVが未予測MV又は双方向予測MVであり、両方のリストが現在のピクチャの同じ側を指している(即ち、2つの参照のPOCが両方とも現在のピクチャのPOCよりも大きい、または、両方とも現在のピクチャのPOCより小さい)場合、表2における符号は、開始MVに加えられるMVオフセットの符号を指定する。開始MVが双方向予測MVであり、2つのMVが現在のピクチャの異なる側を指している(即ち、1つの参照のPOCが現在のピクチャのPOCよりも大きく、他の参照のPOCが現在のピクチャのPOCより小さい)場合、表2における符号は、開始MVのlist0 MV成分に加えられるMVオフセットの符号を規定し、list1 MVの符号は逆の値を有する。
Figure 2023120345000003
2.5 VVCにおけるIBC(Intra Block Copy)
IBC(Intra Block Copy)は、SCCのHEVC拡張に採用されているツールである。これにより、スクリーンコンテンツマテリアルのコーディング効率が有意に向上することが知られている。IBCモードはブロックレベルコーディングモードとして実装されるので、BM(Block Matching)がエンコーダにおいて実行され、各CUに対し最適なブロックベクトル(または、動きベクトル)を見出す。ここで、ブロックベクトルは、現在のブロックから、現在のピクチャの内部で既に再構成された参照ブロックへの置き換えを示すために使用される。
VVCにおいて、IBCコーディングされたCUの輝度ブロックベクトルは、整数精度である。彩度ブロックベクトルは、整数精度に丸められる。AMVRと組み合わせた場合、IBCモードは、1画素と4画素の動きベクトル精度を切り替えることができる。IBCコーディングされたCUは、イントラ予測モードまたはインター予測モード以外の第3の予測モードとして扱われる。IBCモードは、幅および高さの両方が64輝度サンプル以下のCUに適用可能である。
IBCモードは、CPR(Current Picture Reference)モードとしても知られている。
2.6 VVC仕様/作業草案における動きベクトルの差
VVC作業草案から以下のテキストが抽出される。
7.3.6.8 動きベクトル差構文
Figure 2023120345000004
7.3.6.7 マージデータ構文
Figure 2023120345000005
Figure 2023120345000006
7.4.3.1 シーケンスパラメータセットRBSP意味論
sps_amvr_enabled_flagが1に等しい場合は、動きベクトルコーディングに適応動きベクトル差解像度が使用されることを規定する。amvr_enabled_flagが0に等しい場合は、動きベクトルコーディングに適応動きベクトル差解像度が使用されないことを規定する。
sps_affine_amvr_enabled_flagが1に等しい場合は、アフィンインターモードの動きベクトルコーディングに適応動きベクトル差解像度が使用されることを規定する。sps_affine_amvr_enabled_flaggが0に等しい場合は、アフィンインターモードの動きベクトルコーディングに適応動きベクトル差解像度が使用されないことを規定する。
sps_fpel_mmvd_enabled_flagが1に等しい場合は、動きベクトル差を用いるマージモードが整数サンプル精度を使用することを規定する。sps_fpel_mmvd_enabled_flagが0に等しい場合は、動きベクトル差を用いるマージモードが小数サンプル精度を使用できることを規定する。
7.4.5.1 一般タイルグループヘッダ意味論
tile_group_fpel_mmvd_enabled_flagが1に等しい場合は、動きベクトル差を用いるマージモードが現在のタイルグループにおける整数サンプル精度を使用することを規定する。
tile_group_fpel_mmvd_enabled_flagが0に等しい場合は、動きベクトル差を用いるマージモードが現在のタイルグループにおける小数サンプル精度を使用できることを規定する。存在しない場合、tile_group_fpel_mmvd_enabled_flagの値は0であると推測される。
7.4.7.5 コーディングユニット意味論
amvr_flag[x0][y0]は、動きベクトル差の解像度を規定する。配列インデックスx0,y0は、ピクチャの左上の輝度サンプルに関連する、考慮されるコーディングブロックの左上の輝度サンプルの位置(x0,y0)を規定する。amvr_flag[x0][y0]が0に等しい場合は、動きベクトル差の解像度が輝度サンプルの1/4であることを規定する。amvr_flag[x0][y0]が1に等しい場合は、動きベクトル差の解像度がさらにamvr_precision_flag[x0][y0]で規定されることを規定する。
amvr_flag[x0][y0]が存在しない場合、次のように推測される。
-CuPredMode[x0][y0]がMODE_IBCに等しい場合、amvr_flag[x0][y0]は1に等しいと推測される。
-そうでない場合(CuPredMode[x0][y0]がMODE_IBCに等しくない場合)、amvr_flag[x0][y0]は0であると推測される。
amvr_precision_flag[x0][y0]が0に等しい場合に、動きベクトル差の解像度は、inter_affine_flag[x0][y0]が0に等しい際には1つの整数輝度サンプルであり、そうでない際には輝度サンプルの1/16であると規定する。amvr_precision_flag[x0][y0]が1に等しい場合に、動きベクトル差の解像度は、inter_affine_flag[x0][y0]が0に等しい際には、4つの輝度サンプルでありそうでない場合は、1つの整数輝度サンプルであることを規定する。配列インデックスx0,y0は、ピクチャの左上の輝度サンプルに関連する、考慮されるコーディングブロックの左上の輝度サンプルの位置(x0,y0)を規定する。
amvr_precision_flag[x0][y0]が存在しない場合、0に等しいと推測される。
動きベクトル差は、以下のように修正される。
-inter_affine_flag[x0][y0]が0に等しい場合、変数MvShiftが導出され、変数MvdL0[x0][y0][0]、MvdL0[x0][y0][1]、MvdL1[x0][y0][0]、MvdL1[x0][y0][1]が次ように修正される。
MvShift=(amvr_flag[x0][y0]+amvr_precision_flag[x0][y0])<<1 (7-98)
MvdL0[x0][y0][0]=MvdL0[x0][y0][0]<<(MvShift+2) (7-99)
MvdL0[x0][y0][1]=MvdL0[x0][y0][1]<<(MvShift+2) (7-100)
MvdL1[x0][y0][0]=MvdL1[x0][y0][0]<<(MvShift+2) (7-101)
MvdL1[x0][y0][1]=MvdL1[x0][y0][1]<<(MvShift+2) (7-102)
-そうでない場合(inter_afine_flag[x0][y0]が1に等しい場合)、変数MvShiftが導出され、変数MvdCpL0[x0][y0][0][0]、MvdCpL0[x0][y0][0][1]、MvdCpL0[x0][y0][1][0]、MvdCpL0[x0][y0][1][1]、MvdCpL0[x0][y0][2][0]、およびMvdCpL0[x0][y0][2][1]が次のように修正される。
MvShift=amvr_precision_flag[x0][y0]?(amvr_precision_flag[x0][y0]<<1):(-(amvr_flag[x0][y0]<<1))) (7-103)
MvdCpL0[x0][y0][0][0]=MvdCpL0[x0][y0][0][0]<<(MvShift+2) (7-104)
MvdCpL1[x0][y0][0][1]=MvdCpL1[x0][y0][0][1]<<(MvShift+2) (7-105)
MvdCpL0[x0][y0][1][0]=MvdCpL0[x0][y0][1][0]<<(MvShift+2) (7-106)
MvdCpL1[x0][y0][1][1]=MvdCpL1[x0][y0][1][1]<<(MvShift+2) (7-107)
MvdCpL0[x0][y0][2][0]=MvdCpL0[x0][y0][2][0]<<(MvShift+2) (7-108)
MvdCpL1[x0][y0][2][1]=MvdCpL1[x0][y0][2][1]<<(MvShift+2) (7-109)
7.4.7.7 マージデータ意味論
merge_flag[x0][y0]は、現在のコーディングユニットに対するインター予測パラメータが近傍のインター予測区間から推測されるかどうかを規定する。配列インデックスx0,y0は、ピクチャの左上の輝度サンプルに関連する、考慮されるコーディングブロックの左上の輝度サンプルの位置(x0,y0)を規定する。
merge_flag[x0][y0]が存在しない場合、次のように推測される。
-cu_skip_flag[x0][y0]が1に等しい場合、merge_flag[x0][y0]は1に等しいと推測される。
-そうでない場合、merge_flag[x0][y0]は0に等しいと推測される。
mmvd_flag[x0][y0]が1に等しい場合、現在のコーディングユニットのインター予測パラメータを生成するために、動きベクトル差を用いるマージモードを使用することを規定する。配列インデックスx0,y0は、ピクチャの左上輝度サンプルに関連する、考慮されるコーディングブロックの左上の輝度サンプルの位置(x0,y0)を規定する。
mmvd_flag[x0][y0]が存在しない場合、0に等しいと推測される。
mmvd_merge_flag[x0][y0]は、マージ候補リストにおける第1(0)の候補、または、第2(1)の候補のいずれが、mmvd_distance_idx[x0][y0]とmmvd_direction_idx[x0][y0]から導出される動きベクトル差にて用いられるかを規定する。配列インデックスx0,y0は、ピクチャの左上の輝度サンプルに関連する、考慮されるコーディングブロックの左上の輝度サンプルの位置(x0,y0)を規定する。
mmvd_distance_idx[x0][y0]は、表7-11で規定されているように、MmvdDistance[x0][y0]を導出するために使用されるインデックスを規定する。配列インデックスx0,y0は、ピクチャの左上の輝度サンプルに関連する、考慮されるコーディングブロックの左上の輝度サンプルの位置(x0,y0)を規定する。
Figure 2023120345000007
mmvd_distance_idx[x0][y0]は、表7-12で規定されているように、MmvdDistance[x0][y0]を導出するために使用されるインデックスを規定する。配列インデックスx0,y0は、ピクチャの左上の輝度サンプルに関連する、考慮されるコーディングブロックの左上の輝度サンプルの位置(x0,y0)を規定する。
Figure 2023120345000008
マージ+MVDオフセットMmvdOffset[x0][y0]の両成分は、以下のように導出される。
MmvdOffset[x0][y0][0]=(MmvdDistance[x0][y0]<<2)*MmvdSign[x0][y0][0] (7-112)
MmvdOffset[x0][y0][1]=(MmvdDistance[x0][y0]<<2)*MmvdSign[x0][y0][1] (7-113)
merge_subblock_flag[x0][y0]は、現在のコーディングユニットに対するサブブロックベースインター予測パラメータが近傍のブロックから推測されるかどうかを規定する。配列インデックスx0,y0は、ピクチャの左上の輝度サンプルに関連する、考慮されるコーディングブロックの左上の輝度サンプルの位置(x0,y0)を規定する。merge_subblock_flag[x0][y0]が存在しない場合、0に等しいと推測される。
merge_subblock_idx[x0][y0]は、サブブロックベースマージ候補リストのマージ候補インデックスを規定し、ここで、x0,y0は、ピクチャの左上の輝度サンプルに関連する、考慮されるコーディングブロックの左上の輝度サンプルの位置(x0,y0)を規定する。
merge_subblock_idx[x0][y0]が存在しない場合、0に等しいと推測される。
ciip_flag[x0][y0]は、現在のコーディングユニットに対して、結合されたインターピクチャマージとイントラピクチャ予測が適用されるかどうかを規定する。配列インデックスx0,y0は、ピクチャの左上の輝度サンプルに関連する、考慮されるコーディングブロックの左上の輝度サンプルの位置(x0,y0)を規定する。
ciip_flag[x0][y0]が存在しない場合、0に等しいと推測される。
構文要素ciip_luma_mpm_flag[x0][y0]、およびciip_luma_mpm_idx[x0][y0]は、結合されたインターピクチャマージおよびイントラピクチャ予測に使用される輝度サンプルのイントラ予測モードを規定する。配列インデックスx0,y0は、ピクチャの左上の輝度サンプルに関連する、考慮されるコーディングブロックの左上の輝度サンプルの位置(x0,y0)を規定する。イントラ予測モードは、8.5.6節に従って導出される。
ciip_luma_mpm_flag[x0][y0]が存在しない場合、次のように推測される。
-cbWidthが2*cbHeightよりも大きい、または、cbHeightが2*cbWidthよりも大きい場合、ciip_luma_mpm_flag[x0][y0]は1に等しいと推測される。
-そうでない場合、ciip_luma_mpm_flag[x0][y0]は0に等しいと推測される。
merge_triangle_flag[x0][y0]が1に等しい場合は、現在のコーディングユニットに対して、Bタイルグループを復号化する際に、三角形の形状に基づく動き補償が、現在のコーディングユニットの予測サンプルを生成するために使用されることを規定する。merge_triangle_flag[x0][y0]が0に等しい場合は、コーディングユニットが、三角形状に基づく動き補償によって予測されないことを規定する。merge_triangle_flag[x0][y0]が存在しない場合、0に等しいと推測される。
merge_triangle_split_dir[x0][y0]は、マージ三角形モードの分割方向を規定する。配列インデックスx0,y0は、ピクチャの左上の輝度サンプルに関連する、考慮されるコーディングブロックの左上の輝度サンプルの位置(x0,y0)を規定する。
merge_triangle_split_dir[x0][y0]が存在しない場合、0に等しいと推測される。
merge_triangle_idx0[x0][y0]は、三角形状に基づく動き補償候補リストの第1のマージ候補インデックスを規定し、ここで、x0,y0は、ピクチャの左上の輝度サンプルに関連する、考慮されるコーディングブロックの左上の輝度サンプルの位置(x0,y0)を規定する。
merge_triangle_idx0[x0][y0]が存在しない場合、0に等しいと推測される。
merge_triangle_idx1[x0][y0]は、三角形状に基づく動き補償候補リストの第2のマージ候補インデックスを規定し、ここで、x0,y0は、ピクチャの左上の輝度サンプルに関連する、考慮されるコーディングブロックの左上の輝度サンプルの位置(x0,y0)を規定する。
merge_triangle_idx1[x0][y0]が存在しない場合、0に等しいと推測される。
merge_idx[x0][y0]は、マージ候補リストのマージ候補インデックスを規定し、ここで、x0,y0は、ピクチャの左上の輝度サンプルに関連する、考慮されるコーディングブロックの左上の輝度サンプルの位置(x0,y0)を規定する。
merge_idx[x0][y0]が存在しない場合、次のように推測される。
-mmvd_flag[x0][y0]が1に等しい場合、merge_idx[x0][y0]は、mmvd_merge_flag[x0][y0]に等しいと推測される。
そうでない場合(mmvd_flag[x0][y0]が0に等しい場合)、merge_idx[x0][y0]は0に等しいと推測される。
7.4.7.8 動きベクトル差意味論
abs_mvd_greater0_flag[compIdx]は、動きベクトル成分の差の絶対値が0より大きいかどうかを規定する。
abs_mvd_greater1_flag[compIdx]は、動きベクトル成分の差の絶対値が1より大きいかどうかを規定する。
abs_mvd_greater1_flag[compIdx]が存在しない場合は、0に等しいと推測される。
abs_mvd_minus2[compIdx]+2は、動きベクトル成分の差の絶対値を規定する。
abs_mvd_minus2[compIdx]が存在しない場合、-1に等しいと推測される。
mvd_sign_flag[compIdx]は動きベクトル成分の差の符号を以下のように規定する。
-mvd_sign_flag[compIdx]が0に等しい場合、対応する動きベクトル成分の差は正の値を有する。
-そうでない場合(mvd_sign_flag[compIdx]が1に等しい場合)、対応する動きベクトル成分の差は負の値を有する。
mvd_sign_flag[compIdx]が存在しない場合、0に等しいと推測される。
compIdx=0..1において、動きベクトル差lMvd[compIdx]は、以下のように導出される。
Figure 2023120345000009
MotionModelIdc[x][y]の値に基づいて、動きベクトルの差は、以下のように導出される。
-MotionModelIdc[x][y]が0に等しい場合、変数MvdLX[x0][y0][compIdx](Xが0または1)は、使用されるべきリストXベクトル成分とその予測との間の差を規定する。配列インデックスx0,y0は、ピクチャの左上の輝度サンプルに関連する、考慮されるコーディングブロックの左上の輝度サンプルの位置(x0,y0)を規定する。水平方向の動きベクトル成分の差にはcompIdx=0が割り当てられ、垂直方向の動きベクトル成分にはcompIdx=1が割り当てられる。
-refListが0に等しい場合、MvdL0[x0][y0][compIdx]は、compIdx=0..1において、lMvd[compIdx]に等しく設定される。
-そうでない場合(refListが1に等しい場合)、MvdL1[x0][y0][compIdx]は、compIdx=0..1において、lMvd[compIdx]に等しく設定される。
-そうでない場合(MotionModelIdc[x][y]が0に等しくない場合)、変数MvdCpLX[x0][y0][cpIdx][compIdx](Xが0または1)、使用されるべきリストXベクトル成分とその予測との間の差を規定する。配列インデックスx0,y0は、ピクチャの左上の輝度サンプルに関連する、考慮されるコーディングブロックの左上の輝度サンプルの位置(x0,y0)を規定し、配列インデックスcpIdxは、制御点インデックスを規定する。水平方向の動きベクトル成分の差にはcompIdx=0が割り当てられ、垂直方向の動きベクトル成分にはcompIdx=1が割り当てられる。
-refListが0に等しい場合、compIdx=0..1において、MvdCpL0[x0][y0][cpIdx][compIdx]は、lMvd[compIdx]に等しく設定される。
-そうでない場合(refListが1に等しい場合)、compIdx=0..1において、MvdCpL1[x0][y0][cpIdx][compIdx]は、lMvd[compIdx]に等しく設定される。
3. 本特許明細書に記載の実施形態が解決しようとする課題の例
VVCのようないくつかのコーディング規格において、MVD(Motion Vector Difference)は、必ずしも1/4画素(例えば、1/4輝度サンプル)の解像度であるとは限らない。しかしながら、既存のVVC作業草案において、MVD成分をある-215~215-1の範囲に常時クリッピングするビットストリーム制約が存在する。この結果、特に、1/4画素でないMVD解像度が使用される場合(例えば、アフィンAMVPが使用される場合の1/16輝度サンプルのMVD解像度)、MVD値が不正確になる可能性がある。
4. 例示的な実施形態および技術
以下に列記される実施形態は、一般的な概念を説明するための例であると考えられるべきである。これらの発明は狭い意味で解釈されるべきではない。さらに、これらの発明は、任意の方法で組み合わせることができる。
以下の説明において、「MVD(Motion Vector Difference)成分」は、水平方向(例えば、x軸に沿う)の動きベクトル差または垂直方向(例えば、y軸に沿う)の動きベクトル差のいずれかを示す。
サブピクセルMV(Motion Vector)表現の場合、動きベクトルは、通常、小数部分と整数部分からなる。MVの範囲を[-2,2-1]とし、Mが正の整数値であり、M=K+Lであり、Kは、MVの整数部分の範囲を表し、Lは、MVの小数部分の範囲を表し、MVは、(1/2)輝度サンプル精度で表現されるとする。例えば、HEVCにおいて、K=13、L=2であり、従って、M=K+L=15である。一方、VVCにおいて、K=13、L=4であり、M=K+L=17である。
1.MVD成分の範囲は、コーデックの許容可能なMVD解像度/精度に依存してよいことが提案される。
a)一例において、すべてのMVD成分に同じ範囲を適用してよい。
i.一例において、MVD成分の範囲は、[-2、2-1]、M=17などのMV範囲と同じである。
b)一例において、復号化されたすべてのMVD成分は、最初に予め定義された精度(1/2)輝度サンプル(例えば、L=4)にスケーリングされ、次に予め定義された範囲[-2,2-1](例えば、M=17)にクリッピングされてよい。
c)一例において、MVD成分の範囲は、コーデックで許容可能なMVD/MV解像度に依存してよい。
i.一例において、MVDの許容可能な解像度が1/16輝度サンプル、1/4輝度サンプル、1輝度サンプル、または4輝度サンプルであるとすると、MVD成分の値は、最上の解像度(例えば、これらの可能な解像度のうち1/16輝度サンプル)に従ってクリッピング/抑制されてよい。すなわち、MVDの値は、例えば、K=13,L=4として、[-2K+L,2K+L-1]の範囲となる。
2.MVD成分の範囲は、ブロックのコーディングされた情報に依存してよいことが提案される。
a)一例において、MVD成分の範囲の複数のセットが定義されてよい。
b)一例において、範囲は、MV予測子/MVD/MV精度に依存してよい。
i.一例において、MVD成分のMVD精度が(1/2)輝度サンプルであり(例えば、L=4,3,2,1,0,-1,-2,-3,-4など)、MVDの値は、例えば、K=13,L=4,3,2,1,0,-1,-2,-3,-4として、[-2K+L,2K+L-1]の範囲に抑制または/およびクリッピングされてよい。
ii.一例において、MVD成分の範囲は、変数MvShiftに依存してよく、ここで、MvShiftは、VVCのaffine_inter_flag、amvr_flag、およびamvr_precision_flagから導出されてよい。
1.一例において、MvShiftは、affine_inter_flag、amvr_flag、および/またはamvr_precision_flag、および/またはsps_fpel_mmvd_enabled_flag、および/またはtile_group_fpel_mmvd_enabled_flag、および/またはmmvd_distance_idx、および/またはCuPredModeなどのコーディングされた情報によって導出されてよい。
c)一例において、MVD範囲は、ブロックの、コーディングモード、動きモデルなどに依存してよい。
i.一例において、MVD成分の範囲は、現在のブロックの、動きモデル(例えば、仕様のMotionModelIdc)、および/または予測モード、および/またはアフィンインターフラグに依存してよい。
ii.一例において、現在のブロックの予測モードがMODE_IBCである場合(例えば、現在のブロックがIBCモードでコーディングされている場合)、MVDの値は、例えば、K=13,L=0として、[-2K+L,2K+L-1]の範囲であってよい。
iii.一例において、現在のブロックの動きモデルインデックス(例えば、仕様のMotionModelIdc)が0に等しい場合(例えば、現在のブロックが並進動きモデルを使用して予測される場合)、MVDの値は、例えば、K=13,L=2として、[-2K+L,2K+L-1]の範囲であってよい。
1.代替的に、現在のブロックの予測モードがMODE_INTERであり、かつ、affine_inter_flagが偽の場合(例えば、現在のブロックが並進動きモデルを使用して予測されている場合)、MVDの値は、例えば、K=13,L=2として、[-2K+L,2K+L-1]の範囲であってよい。
iv.一例において、現在のブロックの動きモデルインデックス(例えば、仕様のMotionModelIdc)が0に等しくない場合(例えば、現在のブロックがアフィン動きモデルを使用して予測されている場合)、MVDの値は、例えば、K=13,L=4として、[-2K+L,2K+L-1]の範囲であってよい。
1.代替的に、現在のブロックの予測モードがMODE_INTERであり、かつ、affine_inter_flagが真の場合(例えば、現在のブロックがアフィン動きモデルを使用して予測される場合)、MVDの値は、例えば、K=13,L=4として、[-2K+L,2K+L-1]の範囲であってよい。
d)復号化されたMVD成分に制約を加える代わりに,丸められたMVD値に制約を加えることが提案される。
i.一例において、適合ビットストリームは、丸められた整数MVD値が所与の範囲内にあることを満たすものとする。
1.一例において、整数MVD(復号化されたMVDが小数精度の場合、丸めが必要である)は、例えば、K=13として、[-2,2-1]の範囲にあるべきである。
3.復号化されたMVD成分の値は、ビットストリーム制約を使用する以外に、意味解釈の間に、明示的に範囲(例えば、上述のMVD範囲)にクリッピングされてよいことが提案される。
5. 実施形態
5.1 実施形態#1
以下の実施形態は、セクション4の項目1の方法に関するものである。
新たに追加された部分はイタリック体の太字で、VVCの作業草案から削除された部分は取り消し線で強調している。
7.4.7.8 動きベクトル差意味論
compIdx=0..1の場合、動きベクトル差lMvd[compIdx]は、以下のように導出される。
Figure 2023120345000010
5.2 実施形態#2
以下の実施形態は、セクション4の項目2の方法に関するものである。
新たに追加された部分はイタリック体の太字で、VVCの作業草案から削除された部分は取り消し線で強調している。
7.4.7.9 動きベクトル差意味論
compIdx=0..1の場合、動きベクトル差lMvd[compIdx]は、以下のように導出される。
Figure 2023120345000011
5.3 実施形態#3
以下の実施形態は、セクション4の項目2の方法に関するものである。
新たに追加された部分はイタリック体の太字で、VVCの作業草案から削除された部分は緑の取り消し線で強調している。
7.4.7.10 動きベクトル差意味論
compIdx=0..1の場合、動きベクトル差lMvd[compIdx]は、以下のように導出される。
Figure 2023120345000012
5.4 実施形態#4
以下の実施形態は、セクション4の項目2の方法に関するものである。
新たに追加された部分はイタリック体の太字で、VVCの作業草案から削除された部分は緑の取り消し線で強調している。
7.4.7.11 動きベクトル差意味論
compIdx=0..1の場合、動きベクトル差lMvd[compIdx]は、以下のように導出される。
Figure 2023120345000013
5.5 実施形態#5
以下の実施形態は、セクション4の項目3および項目1の方法に関するものである。
新たに追加された部分はイタリック体の太字で、VVCの作業草案から削除された部分は緑の取り消し線で強調している。
7.4.7.12 動きベクトル差意味論
compIdx=0..1の場合、動きベクトル差lMvd[compIdx]は、以下のように導出される。
Figure 2023120345000014
5.6 実施形態#6
以下の実施形態は、セクション4の項目3および項目2の方法に関するものである。新たに追加された部分はイタリック体の太字で、VVCの作業草案から削除された部分は緑の取り消し線で強調している。
7.4.7.13 動きベクトル差意味論
compIdx=0..1の場合、動きベクトル差lMvd[compIdx]は、以下のように導出される。
Figure 2023120345000015
MotionModelIdc[x][y]の値に基づいて、動きベクトル差は、以下のように導出される。
-MotionModelIdc[x][y]が0に等しい場合、変数MvdLX[x0][y0][compIdx])(Xが0または1)は、使用されるべきリストXベクトル成分とその予測との間の差を規定する。配列インデックスx0,y0は、ピクチャの左上の輝度サンプルに関連する、考慮されるコーディングブロックの左上の輝度サンプルの位置(x0,y0)を規定する。水平方向の動きベクトル成分の差にはcompIdx=0が割り当てられ、垂直方向の動きベクトル成分にはcompIdx=1が割り当てられる。
Figure 2023120345000016
-そうでない場合(MotionModelIdc[x][y]が0に等しくない場合)、変数MvdCpLX[x0][y0][cpIdx][compIdx](Xが0または1)は、使用されるべきリストXベクトル成分とその予測との間の差を規定する。配列インデックスx0,y0は、ピクチャの左上の輝度サンプルに関連する、考慮されるコーディングブロックの左上の輝度サンプルの位置(x0,y0)を規定し、配列インデックスcpIdxは、制御点インデックスを規定する。水平方向の動きベクトル成分の差にはcompIdx=0が割り当てられ、垂直方向の動きベクトル成分にはcompIdx=1が割り当てられる。
Figure 2023120345000017
図2は、映像処理装置1000のブロック図である。装置1000は、本明細書に記載の1または複数の方法を実装するために使用されてよい。装置1000は、スマートフォン、タブレット、コンピュータ、IoT(Internet of Things)受信機等により実施されてよい。装置1000は、1または複数のプロセッサ1002、1または複数のメモリ1004、および、映像処理ハードウェ1006を含んでよい。1または複数のプロセッサ1002は、本特許明細書に記載される1または複数の方法を実装するように構成されてよい。1または複数のメモリ1004は、ここで説明される方法および技術を実装するために使用されるデータおよびコードを記憶するために使用されてよい。映像処理ハードウェア1006は、本特許明細書に記載される技術をハードウェア回路にて実装するために使用されてもよい。
図3は、映像処理の方法の一例を示すフローチャートである。方法300は、最大許容動きベクトル解像度、最大許容動きベクトル精度、または映像領域の属性に基づいて、映像領域と映像領域のビットストリーム表現との間での変換の間、映像の映像領域に対して使用されるMVD(Motion Vector Difference)の値の範囲を判定すること(302)を含む。方法300は、MVD値を範囲内に収まるように制限することによって変換を実行する(304)ことを含む。
以下の解決策のリストは、他の問題の中でもとりわけ、本特許明細書に記載されている技術的問題に対処できる実施形態を提供する。
1. 映像処理方法であって、最大許容動きベクトル解像度、最大許容動きベクトル精度、または映像領域の特性に基づいて、映像領域と映像領域のビットストリーム表現との間での変換の間、映像の映像領域に対して使用されるMVD(Motion Vector Difference)値の範囲を判定することと、MVD値がこの範囲内になるように制限することにより変換を実行することと、を有する方法。
2. 映像のすべての映像領域の変換の間、範囲が適用される、解決策1に記載の方法。
3. 範囲は、映像領域に対する動きベクトルの範囲に等しい、解決策1~2に記載のいずれかに記載の方法。
4. 制限することは、MVD成分を精度にスケーリングすることと、スケーリングの外れを範囲へクリッピングすることを含む、解決策1~3のいずれかに記載の方法。
5. 映像領域の特性は、映像領域のコーディングされた情報を含む、解決策1~4のいずれかに記載の方法。
6. 範囲は、映像の複数の可能な範囲のセットから選択される、解決策1~5のいずれかに記載の方法。
7. 映像領域の特性は、映像領域に使用される動きベクトル予測子の精度を含む、解決策1~4のいずれかに記載の方法。
8. 映像領域の特性は、MVShiftの値に対応し、MVShiftは、映像領域に関連付けられた変数であり、MVShiftは、映像領域に関連付けられたaffine_inter_flag、またはamvr_flagまたはamvr_precision_flagに依存する解決策1~4のいずれかに記載の方法。
9. 映像領域の特性は、変換に使用されるコーディングモードに対応する、解決策1に記載の方法。
10. コーディングモードは、イントラブロックコピーモードであり、範囲は、[-2K+L,2K+L-1]に対応し、ここで、KおよびLは、それぞれ、MV(Motion Vector)の整数部分の範囲およびMVの小数部分の範囲を表す整数である、解決策9に記載の方法。
11. K=13およびL=0である、解決策10に記載の方法。
12. 映像領域の特性は、変換に使用される動きモデルに対応する、解決策1に記載の方法。
13. 映像領域の特性は、映像領域の動きが並進モデルを使用してモデル化されることであり、その結果、範囲は、[-2K+L,2K+L-1]であると判定され、ここで、KおよびLは、それぞれ、MV(Motion Vector)の整数部分の範囲およびMVの小数部分の範囲を表す整数である、解決策1に記載の方法。
14. K=13およびL=2である、解決策13に記載の方法。
15. 映像領域の特性は、映像領域の動きが非並進モデルを使用してモデル化されることであり、その結果、範囲は[-2K+L、2K+L-1]であると判定され、ここで、KとLは、それぞれMV(Motion Vector)の整数部分の範囲とMVの小数部分の範囲を表す整数である、解決策1に記載の方法。
16. K=13およびL=4である、解決策15に記載の方法。
17. 制限することは、MVDの丸められた値を範囲に制限することを含む、解決策1に記載の方法。
18. 映像処理方法であって、映像領域と映像領域のビットストリーム表現との間での変換の間、映像の映像領域に使用されるMVD(Motion Vector Difference)値の範囲を判定することと、変換で行われる意味解釈の間、範囲内に収まるようにMVD値に対してクリッピング動作を行うことと、を有する方法。
19. 映像領域は、映像ブロックに対応する、解決策1~18のいずれかに記載の方法。
20. 変換は、ビットストリーム表現から映像領域の画素値を生成することを含む、解決策1~19のいずれかに記載の方法。
21. 変換は、映像領域の画素値からビットストリーム表現を生成することを含む、解決策1~20のいずれかに記載の方法。
22. 例1~21の1または複数を実装するように構成されたプロセッサを備える映像処理装置。
23. コードが記憶されたコンピュータ可読媒体であって、コードがプロセッサによって実行されることにより、プロセッサに、例1~21の1または複数に記載の方法を実装させる、コンピュータ可読媒体。
セクション4にリストされている項目は、上記の解決策のさらなる変形例を提供する。
図4は、映像処理の方法400の一例を示すフローチャートである。方法400は、映像の第1のブロックと第1のブロックのビットストリーム表現との間での変換のために、第1のブロックに関連付けられたMVD(Motion Vector Difference)成分の範囲を判定すること(402)であって、MVD成分の範囲は、[-2,2-1]であり、M=17である、ことと、MVD成分の値をMVD成分の範囲内となるように抑制すること(404)と、MVD成分の抑制された範囲に基づいて変換を実行すること(406)と、を有する。
いくつかの例では、範囲は、コーデックの許容可能なMVD精度および/または許容可能なMV(Motion Vector)精度に適合されている。
いくつかの例では、許容可能なMVD精度および/または許容可能なMV(Motion Vector)精度は、1/16輝度サンプル精度である。
いくつかの例では、コーデックに複数の許容可能なMVD精度および/またはMV精度が存在する場合、MVD成分の範囲は、複数の許容可能なMVD精度および/またはMV精度の最上の精度に適合される。
いくつかの例では、複数の許容可能なMVD精度および/またはMV精度が1/16輝度サンプル、1/4輝度サンプル、1輝度サンプル、および4輝度サンプルを含む場合、MVD成分の範囲は、1/16輝度サンプルの精度に適合される。
いくつかの例では、MVD成分の範囲は、[-2,2-1]であると判定され、M=K+Lであり、Kは、MVD成分の整数部分を表すために使用されるビット数を示し、Lは、MVD成分の小数部分を表すために使用されるビット数を示し、MVD成分は、1/2輝度サンプル精度で表され、および/または、第1のブロックに関連付けられたMV成分の範囲は、[-2,2-1]であると判定され、M=K+Lであり、Kは、MV成分の整数部分を表すために使用されるビット数を示し、Lは、MV成分の小数部分を表すために使用されるビット数を示し、MV成分は、1/2-輝度サンプル精度で表され、M、K、Lは正の整数である。
いくつかの例では、K=13、L=4、およびM=17である。
いくつかの例では、MVD成分は、ビットストリームでコーディングされた、復号化/信号通知されたMVD成分、または復号化処理の内部シフト動作を介して特定の精度に関連付けられた変換されたMVD成分である。
いくつかの例では、MVD成分は、水平MVD成分および垂直MVD成分を含み、水平MVD成分および垂直MVD成分は、同じ範囲を有する。
いくつかの例では、MVD成分は、整数ビット、小数ビット、および符号ビットで表現される。
いくつかの例では、第1のブロックに関連付けられたMVの範囲は、MVD成分の範囲と同じである。
図5は、映像処理の方法500の一例を示すフローチャートである。方法500は、映像の第1のブロックと第1のブロックのビットストリーム表現との間での変換のために、第1のブロックに関連付けられたMVD(Motion Vector Difference)成分の範囲を判定することであって(502)、MVD成分の範囲は、コーデックの許容可能なMVD精度および/または許容可能なMV(Motion Vector)精度に適合される、ことと、MVD成分の値をMVD成分の範囲内に抑制すること(504)と、MVD成分の抑制された範囲に基づいて変換を実行すること(506)と、を含む。
いくつかの例では、MVD成分は、ビットストリームでコーディングされた復号化/信号通知されたMVD成分、または復号化処理の内部シフト動作を介して特定の精度に関連付けられた変換されたMVD成分である。
いくつかの例では、復号化/信号通知されたMVD成分は、[-2,2-1]の範囲にあることが要求され、M=17である。
いくつかの例では、MVD成分は、整数ビット、小数ビット、および符号ビットで表現される。
いくつかの例では、MVD成分の範囲は、[-2,2-1]であると判定され、M=K+Lであり、Kは、MVD成分の整数部分を表すために使用されるビット数を示し、Lは、MVD成分の小数部分を表すために使用されるビット数を示し、MVD成分は、1/2輝度サンプル精度で表され、および/または、第1のブロックに関連付けられたMV成分の範囲は[-2,2-1]であると判定され、M=K+Lであり、Kは、MV成分の整数部分を表すのに使用されるビット数を示し、Lは、MV成分の小数部分を表現するために使用されるビット数を示し、MV成分は1/2輝度サンプル精度で表され、M、K、Lは、正の整数である。
いくつかの例では、すべての復号化されたMVD成分の値は、まず1/2輝度サンプル精度にスケーリングされ、次にMVD成分の範囲[-2,2-1]にクリッピングされる。
いくつかの例では、コーデックに複数の許容可能なMVD精度および/またはMV精度が存在する場合、MVD成分の範囲は、複数の許容可能なMVD精度および/またはMV精度の最上の精度に適合される。
いくつかの例では、複数の許容可能なMVD精度および/またはMV精度が1/16輝度サンプル精度、1/4輝度サンプル精度、1輝度サンプル精度、および4輝度サンプル精度を含む場合、MVD成分の範囲は、1/16輝度サンプル精度に適合され、MVD成分の値は、範囲に抑制され、および/またはクリッピングされる。
いくつかの例では、K=13、L=4、およびM=17である。
いくつかの例では、MVD成分は、水平MVD成分および垂直MVD成分を含み、水平MVD成分および垂直MVD成分は、同じ範囲を有する。
いくつかの例では、MVの範囲は、MVD成分の範囲と同じである。
図6は、映像処理の方法600の一例を示すフローチャートである。方法600は、映像の第1のブロックと第1のブロックのビットストリーム表現との間での変換のために、第1のブロックに関連付けられたMVD(Motion Vector Difference)成分の範囲を、第1のブロックのコーディングされた情報に基づいて判定すること(602)と、MVD成分の値をMVD成分の範囲内となるように抑制すること(604)と、抑制されたMVD成分に基づいて変換を実行すること(606)と、を含む。
いくつかの例では、MVD成分の範囲は、MVD成分の範囲の複数のセットを含む。
いくつかの例では、コーディングされた情報は、MV(Motion Vector)予測子の精度、MVD成分の精度、およびMVの精度のうちの少なくとも1つを含む。
いくつかの例では、MVD成分のMVD精度が1/2輝度サンプルである場合、MVD成分の範囲は、[-2K+L,2K+L-1]の範囲であると判定され、MVP成分の値は、範囲内になるように抑制および/またはクリッピングされ、Kは、MVD成分の整数部分を表すために使用するビット数を示し、Lは、MVD成分の小数部分を表すためのビット数を示し、KとLは正の整数である。
いくつかの例では、Kは13であり、Lは4,3,2,1,0、-1、-2、-3、および-4のうちの1つである。
いくつかの例では、コーディングされた情報は、MVDに関連付けられた変数MvShiftを含み、変数MvShiftの導出は、AFFINEが使用されるか否か、および/または、AMVR(Adaptive Motion Vector Resolution)が使用されるか否か、および/または、AMVRの精度、および/または、MVDの精度、および/または、MMVD(MMerge mode with Motion Vector Difference)情報、および/または、第1のブロックの予測モードに依存する。
いくつかの例では、変数MvShiftは、コーディングされた情報におけるinter_affine_flag、amvr_flag、およびamvr_precision_idxを含む1または複数の構文要素から導出される。
いくつかの例では、変数MvShiftは、コーディングされた情報におけるinter_affine_flag、amvr_flag、amvr_precision_idx、sps_fpel_mmvd_enabled_flag、ph_fpel_mmvd_enabled_flag、mmvd_distance_idx、およびCuPredModeを含む1または複数の構文要素から導出される。
いくつかの例では、コーディングされた情報は、第1のブロックのコーディングモード、動きモード、および予測モード、およびコーディング情報でAFFIN/AMVRが使用されるかどうかを示す1または複数の変数および/または構文要素を含む。
いくつかの例では、第1のブロックの予測モードが、第1のブロックがIBCモードでコーディングされていることを示すMODE_IBCである場合、MVD成分の範囲は、[-2K+L,2K+L-1]の範囲であると判定され、MVP成分の値は、範囲内になるように抑制および/またはクリッピングされ、Kは、MVD成分の整数部分を表すために使用されるビット数を示し、Lは、MVD成分の小数部分を表すために使用されるビット数を示し、KおよびLは正の整数である。
いくつかの例では、K=13、およびL=0である。
いくつかの例では、第1のブロックの動きモデルのインデックスが0に等しい場合、MVD成分の範囲は、[-2K+L,2K+L-1]の範囲であると判定され、MVP成分の値は、範囲内になるように抑制および/またはクリッピングされ、Kは、MVD成分の整数部分を表すために使用されるビット数を示し、Lは、MVD成分の小数部分を表すために使用されるビット数を示し、KおよびLは正の整数である。
いくつかの例では、K=13、およびL=2である。
いくつかの例では、第1のブロックの予測モードが、第1のブロックがMODE_INTERであり、かつ、affine_inter_flagの変数が偽である場合、MVD成分の範囲は、[-2K+L,2K+L-1]の範囲であると判定され、MVP成分の値は、範囲内になるように抑制および/またはクリッピングされ、Kは、MVD成分の整数部分を表すために使用されるビット数を示し、Lは、MVD成分の小数部分を表すために使用されるビット数を示し、KおよびLは正の整数である。
いくつかの例では、K=13、およびL=2である。
いくつかの例では、第1のブロックの動きモデルのインデックスが0に等しくない場合、MVD成分の範囲は、[-2K+L,2K+L-1]の範囲であると判定され、MVP成分の値は、範囲内になるように抑制および/またはクリッピングされ、Kは、MVD成分の整数部分を表すために使用されるビット数を示し、Lは、MVD成分の小数部分を表すために使用するされるビット数を示し、KおよびLは正の整数である。
いくつかの例では、K=13、およびL=4である。
いくつかの例では、第1のブロックの予測モードが、第1のブロックがMODE_INTERであり、かつ、affine_inter_flagの変数が真である場合、MVD成分の範囲は、[-2K+L,2K+L-1]の範囲であると判定され、MVP成分の値は、範囲内になるように抑制および/またはクリッピングされ、KはMVD成分の整数部分を表すために使用されるビット数を示し、Lは、MVD成分の小数部分を表すために使用されるビット数を示し、KおよびLは正の整数である。
いくつかの例では、K=13、およびL=4である。
いくつかの例では、復号化されたMVD成分が小数精度である場合、復号化されたMVD成分は、整数MVD成分に丸められる。
いくつかの例では、丸められた整数MVD成分は、[-2、2-1]の範囲にあり、K=13である。
いくつかの例では、復号化されたすべてのMVD成分の値は、ビットストリーム制約を使用する以外の意味解釈中にMVD成分の範囲に明示的にクリッピングされる。
いくつかの例では、変換は、ビットストリーム表現から映像の第1のブロックを生成する。
いくつかの例では、変換は、映像の第1のブロックからビットストリーム表現を生成する。
この本特許明細書の例のリストでは、変換という用語は、現在の映像ブロックのビットストリーム表現の生成、またはビットストリーム表現からの現在の映像ブロックの生成を指す場合がある。ビットストリーム表現は、連続するビットのグループを表す必要はなく、ヘッダフィールドまたはコーディングされた画素値情報を表すコード名に含まれるビットに分割できる。
上記の例では、適用可能性の規則は予め定義されており、エンコーダとデコーダに認識されている場合がある。
本特許明細書に記載されているように、開示された技術は、映像エンコーダまたはデコーダで実施されて、イントラコーディングにおける差分コーディングモードの使用に関する考慮事項の様々な実装規則の使用を含む技術を使用して圧縮効率を改善し得ることが理解されよう。
本特許明細書に記載された開示された、およびその他の解決策、実施例、実施形態、モジュール、および機能動作の実装形態は、本特許明細書に開示された構造およびその構造的等価物を含め、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、若しくはハードウェアで実施されてもよく、またはそれらの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または複数の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含んでもよく、またはこれらの大容量記憶デバイスからデータを受信するか、またはこれらにデータを転送するように動作可能に結合されてもよい。しかしながら、コンピュータは、このようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、あらゆる形式の不揮発性メモリ、媒体、およびメモリデバイスを含み、例えば、EPROM、EEPROM、フラッシュ記憶装置、磁気ディスク、例えば内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、およびCD-ROMおよびDVD-ROMディスク等の半導体記憶装置を含む。プロセッサおよびメモリは、特定用途のロジック回路によって補完されてもよく、または特定用途のロジック回路に組み込まれてもよい。
本特許明細書は多くの詳細を含むが、これらは、任意の主題の範囲または特許請求の範囲を限定するものと解釈されるべきではなく、むしろ、特定の技術の特定の実施形態に特有であり得る特徴の説明と解釈されるべきである。本特許明細書において別個の実施形態のコンテキストで説明されている特定の特徴は、1つの例において組み合わせて実装してもよい。逆に、1つの例のコンテキストで説明された様々な特徴は、複数の実施形態において別個にまたは任意の適切なサブコンビネーションで実装してもよい。さらに、特徴は、特定の組み合わせで作用するものとして上記に記載され、最初にそのように主張されていてもよいが、主張された組み合わせからの1または複数の特徴は、場合によっては、組み合わせから抜粋されることができ、主張された組み合わせは、サブコンビネーションまたはサブコンビネーションのバリエーションに向けられてもよい。
同様に、動作は図面において特定の順番で示されているが、これは、所望の結果を達成するために、このような動作が示された特定の順番でまたは連続した順番で行われること、または示された全ての動作が行われることを必要とするものと理解されるべきではない。また、本特許明細書に記載されている例における様々なシステムの構成要素の分離は、全ての実施形態においてこのような分離を必要とするものと理解されるべきではない。
いくつかの実装形態および例のみが記載されており、この特許文献に記載され図示されているコンテンツに基づいて、他の実施形態、拡張および変形が可能である。
関連出願の相互参照
願は、2019年4月25日出願の国際特許出願第PCT/CN2019/084228号の優先権および利益を適時に主張する、2020年4月26日出願の国際特許出願第PCT/CN2020/087068号の国内段階である日本国特願2021-562033号の分割出願である。上記出願の開示全体は、本出願の開示の一部として参照によりここに援用される。

Claims (48)

  1. 映像を処理するための方法であって、
    映像の第1のブロックと前記第1のブロックのビットストリーム表現との間の変換のために、前記第1のブロックに関連付けられたMVD(Motion Vector Difference)成分の範囲を判定することであって、MVD成分の前記範囲は、[-2,2-1]であり、M=17である、ことと、
    MVD成分の前記範囲内になるように前記MVD成分の値を抑制することと、
    前記抑制されたMVD成分に基づいて前記変換を実行することと
    を有する方法。
  2. 前記範囲は、コーデックの許容可能なMVD精度および/または許容可能なMV(Motion Vector)精度に適合される、請求項1に記載の方法。
  3. 前記許容可能なMVD精度および/または許容可能なMV(Motion Vector)精度は、1/16輝度サンプル精度である、請求項2に記載の方法。
  4. 複数の許容可能なMVD精度および/またはMV精度が前記コーデックにある場合、MVD成分の前記範囲は、前記複数の許容可能なMVD精度および/またはMV精度のうちの最上の精度に適合される、請求項1~3のいずれか一項に記載の方法。
  5. 前記複数のMVD精度および/またはMV精度は、1/16輝度サンプル、1/4輝度サンプル、1輝度サンプル、および4輝度サンプルを含み、
    前記MVD成分は、1/16輝度サンプル精度に適合される、
    請求項4に記載の方法。
  6. MVD成分の前記範囲は、[-2,2-1]であると判定され、
    M=K+Lであり、
    Kは、前記MVD成分の整数部分を表すために用いられるビット数を示し、
    Lは、前記MVD成分の小数部分を表すために用いられるビット数を示し、
    前記MVD成分は、1/2輝度サンプル精度にて表され、
    および/または、
    前記第1のブロックに関連付けられたMV成分の範囲は、[-2,2-1]であると判定され、
    M=K+Lであり、
    Kは、前記MV成分の整数部分を表すために用いられるビット数を示し、
    Lは、前記MV成分の小数部分を表すために用いられるビット数を示し、
    前記MV成分は、1/2輝度サンプル精度にて表され、
    M、K、およびLは、正の整数である、
    請求項1~5のいずれか一項に記載の方法。
  7. K=13、L=4、および、M=17、である請求項6に記載の方法。
  8. 前記MVD成分は、ビットストリームにてコーディングされた、復号化された/信号通知されたMVD成分である、または、復号化処理における内部シフト動作を介して特定の精度に関連付けられた変換されたMVD成分である、請求項1~7のいずれか一項に記載の方法。
  9. 前記MVD成分は、水平MVD成分および垂直MVD成分を含み、
    前記水平MVD成分および前記垂直MVD成分は、同じ範囲を有する、
    請求項1~8のいずれか一項に記載の方法。
  10. 前記MVD成分は、整数ビット、小数ビット、および符号ビットにて表される、請求項1~9のいずれか一項に記載の方法。
  11. 前記第1のブロックに関連付けられたMVの前記範囲は、MVD成分の前記範囲と同じである、請求項1~10のいずれか一項に記載の方法。
  12. 映像を処理するための方法であって、
    前記映像の第1のブロックと、前記第1のブロックとのビットストリーム表現との間の変換のために、前記第1のブロックに関連付けられたMVD(Motion Vector Difference)成分の範囲を判定することであって、MVD成分の前記範囲は、コーデックの許容可能なMVD成分精度および/または許容可能なMV(Motion Vector)精度に適合される、ことと、
    MVD成分の前記範囲内になるように前記MVD成分の値を抑制することと、
    前記抑制されたMVD成分に基づいて前記変換を実行することと、
    を有する方法。
  13. 前記MVD成分は、ビットストリームにてコーディングされた、復号化された/信号通知されたMVD成分である、または、復号化処理における内部シフト動作を介して特定の精度に関連付けられた変換されたMVD成分である、請求項12に記載の方法。
  14. 前記コーディングされた/信号通知されたMVD成分は、[-2,2-1]の範囲内となることが求められ、M=17である、請求項13に記載の方法。
  15. 前記MVD成分は、整数ビット、小数ビット、および符号ビットにて表される、請求項12~14のいずれか一項に記載の方法。
  16. MVD成分の前記範囲は、[-2,2-1]であると判定され、
    M=K+Lであり、
    Kは、前記MVD成分の整数部分を表すために用いられるビット数を示し、
    Lは、前記MVD成分の小数部分を表すために用いられるビット数を示し、
    前記MVD成分は、1/2輝度サンプル精度にて表され、
    および/または、
    前記第1のブロックに関連付けられたMV成分の範囲は、[-2,2-1]であると判定され、
    M=K+Lであり、
    Kは、前記MV成分の整数部分を表すために用いられるビット数を示し、
    Lは、前記MV成分の小数部分を表すために用いられるビット数を示し、
    前記MV成分は、1/2輝度サンプル精度にて表され、
    M、K、およびLは、正の整数である、
    請求項12~15のいずれか一項に記載の方法。
  17. 全ての復号化されたMVD成分の前記値は、最初に、1/2輝度サンプル精度にスケール化され、その次に、MVD税分の前記範囲の[-2,2-1]にクリップされる、請求項16に記載の方法。
  18. 複数の許容可能なMVD精度および/またはMV精度が前記コーデックにある場合、MVD成分の前記範囲は、前記複数の許容可能なMVD精度および/またはMV精度のうちの最上の精度に適合される、請求項12~17のいずれか一項に記載の方法。
  19. 前記複数のMVD精度および/またはMV精度は、1/16輝度サンプル、1/4輝度サンプル、1輝度サンプル、および4輝度サンプルを含み、
    MVD成分の前記範囲は、1/16輝度サンプル精度に適合され、
    MVD成分の前記値は、前記範囲において抑制および/またはクリップされる、
    請求項18に記載の方法。
  20. K=13、L=4、および、M=17、である請求項16~19のいずれか一項に記載の方法。
  21. 前記MVD成分は、水平MVD成分および垂直MVD成分を含み、
    前記水平MVD成分および前記垂直MVD成分は、同じ範囲を有する、
    請求項12~20のいずれか一項に記載の方法。
  22. 前記MVの前記範囲は、MVD成分の前記範囲と同じである、請求項12~21のいずれか一項に記載の方法。
  23. 映像を処理するための方法であって、
    前記映像の第1のブロックと、前記第1のブロックとのビットストリーム表現との間の変換のために、前記第1のブロックのコーディングされた情報に基づいて、前記第1のブロックに関連付けられたMVD(Motion Vector Difference)成分の範囲を判定することと、
    MVD成分の前記範囲内になるように前記MVD成分の値を抑制することと、
    MVD成分の抑制された範囲に基づいて前記変換を実行することと、
    を有する方法。
  24. MVD成分の前記範囲は、MVD成分の範囲の複数のセットを含む、請求項23に記載の方法。
  25. 前記コーディングされた情報は、MV(Motion Vector)予測子精度、MVD成分精度、およびMV精度のうちの少なくとも1つを含む、請求項23または24に記載の方法。
  26. 前記MVD成分の前記MVD精度は、1/2輝度サンプルであり、
    MVD成分の前記範囲は、[-2K+L,2K+L-1]の範囲であると判定され、
    MVP成分の前記値は、前記範囲において抑制および/またはクリップされ、
    Kは、前記MVD成分の整数部分を表すために用いられるビット数を示し、
    Lは、前記MVD成分の小数部分を表すために用いられるビット数を示し、
    K、およびLは、正の整数である、
    請求項25に記載の方法。
  27. Kは、13であり、
    Lは、4、3、2、1、0、-1、-2、-3、および-4のうちの1つである、
    請求項26に記載の方法。
  28. 前記コーディングされた情報は、MVDに関連付けられた変数MvShiftを含み、
    前記変数MvShiftの前記導出は、AFFINEが用いられるか否か、および/または、AMVR(Adaptive Motion Vector Resolution)が用いられるか否か、および/または、AMVR精度、および/または、MVDの精度、および/または、MMVD(Merge mode with Motion Vector Difference)情報、および/または、前記第1のブロックの予測モードに基づく、
    請求項23または24に記載の方法。
  29. 前記変数MvShiftは、前記コーディングされた情報におけるinter_affine_flag、amvr_flag、およびamvr_precision_idxを含む1または複数の構文要素から導出される、請求項28に記載の方法。
  30. 前記変数MvShiftは、前記コーディングされた情報におけるinter_affine_flag、amvr_flag、amvr_precision_idx、sps_fpel_mmvd_enabled_flag、ph_fpel_mmvd_enabled_flag、mmvd_distance_idx、CuPredModeを含む1または複数の構文要素から導出される、請求項28に記載の方法。
  31. 前記コーディングされた情報は、前記第1のブロックのコーディングモード、動きモード、および予測モード、および、AFFINE/AMVRが前記コーディングされた情報において用いられるか否かを示す1または複数の変数および/または構文要素を含む、請求項23または24に記載の方法。
  32. 前記第1のブロックの前記予測モードが、前記第1のブロックがIBCモードにてコーディングされたことを示すMODE_IBCである場合、MVD成分の前記範囲は、[-2K+L,2K+L-1]の範囲であると判定され、
    MVP成分の前記値は、前記範囲において抑制および/またはクリップされ、
    Kは、前記MVD成分の整数部分を表すために用いられるビット数を示し、
    Lは、前記MVD成分の小数部分を表すために用いられるビット数を示し、
    K、およびLは、正の整数である、
    請求項31に記載の方法。
  33. K=13、および、L=0、である請求項32に記載の方法。
  34. 前記第1のブロックの前記動きモデルのインデックスが、0に等しい場合、MVD成分の前記範囲は、[-2K+L,2K+L-1]の範囲であると判定され、
    MVP成分の前記値は、前記範囲において抑制および/またはクリップされ、
    Kは、前記MVD成分の整数部分を表すために用いられるビット数を示し、
    Lは、前記MVD成分の小数部分を表すために用いられるビット数を示し、
    K、およびLは、正の整数である、
    請求項30に記載の方法。
  35. K=13、および、L=2、である請求項34に記載の方法。
  36. 前記第1のブロックの前記予測モードが、MODE_INTERであり、affine_inter_flagの前記変数が偽である場合、MVD成分の前記範囲は、[-2K+L,2K+L-1]の範囲であると判定され、
    MVP成分の前記値は、前記範囲において抑制および/またはクリップされ、
    Kは、前記MVD成分の整数部分を表すために用いられるビット数を示し、
    Lは、前記MVD成分の小数部分を表すために用いられるビット数を示し、
    K、およびLは、正の整数である、
    請求項31に記載の方法。
  37. K=13、および、L=2、である請求項36に記載の方法。
  38. 前記第1のブロックの前記動きモデルのインデックスが、0に等しくない場合、MVD成分の前記範囲は、[-2K+L,2K+L-1]の範囲であると判定され、
    MVP成分の前記値は、前記範囲において抑制および/またはクリップされ、
    Kは、前記MVD成分の整数部分を表すために用いられるビット数を示し、
    Lは、前記MVD成分の小数部分を表すために用いられるビット数を示し、
    K、およびLは、正の整数である、
    請求項31に記載の方法。
  39. K=13、および、L=4、である請求項38に記載の方法。
  40. 前記第1のブロックの前記予測モードが、MODE_INTERであり、affine_inter_flagの前記変数が真である場合、MVD成分の前記範囲は、[-2K+L,2K+L-1]の範囲であると判定され、
    MVP成分の前記値は、前記範囲において抑制および/またはクリップされ、
    Kは、前記MVD成分の整数部分を表すために用いられるビット数を示し、
    Lは、前記MVD成分の小数部分を表すために用いられるビット数を示し、
    K、およびLは、正の整数である、
    請求項31に記載の方法。
  41. K=13、および、L=4、である請求項40に記載の方法。
  42. 復号化されたMVD成分が小数精度にある場合、前記復号化されたMVD成分は、整数MVD成分に丸められる、請求項1~41のいずれか一項に記載の方法。
  43. 前記丸められた整数MVD成分は、[-2,2-1]の範囲にあり、K=13である、請求項42に記載の方法。
  44. 全ての復号化されたMVD成分の前記値は、ビットストリーム制限を用いる以外の意味解釈の間、MVD成分の前記範囲に明示的にクリップされる、請求項1~43のいずれか一項に記載の方法。
  45. 前記変換は、映像の前記第1のブロックを前記ビットストリーム表現から生成する、請求項1~44のいずれか一項に記載の方法。
  46. 前記変換は、前記ビットストリーム表現を映像の前記第1のブロックから生成する、請求項1~44のいずれか一項に記載の方法。
  47. プロセッサと、命令を有する非一時的メモリを有する、映像システムにおける装置であって、前記命令が前記プロセッサにより実行されることにより、前記プロセッサに、請求項1~46のいずれか一項に記載の方法を実行させる、装置。
  48. 非一時的コンピュータ可読媒体に格納されるコンピュータプログラムプロダクトであって、請求項1~46のいずれか一項に記載の方法を実行するためのプログラムコードを含むコンピュータプログラムプロダクト。
JP2023100145A 2019-04-25 2023-06-19 動きベクトルの差に関する制限 Pending JP2023120345A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN2019084228 2019-04-25
CNPCT/CN2019/084228 2019-04-25
PCT/CN2020/087068 WO2020216381A1 (en) 2019-04-25 2020-04-26 Restrictions on motion vector difference
JP2021562033A JP7303329B2 (ja) 2019-04-25 2020-04-26 動きベクトルの差に関する制限

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2021562033A Division JP7303329B2 (ja) 2019-04-25 2020-04-26 動きベクトルの差に関する制限

Publications (1)

Publication Number Publication Date
JP2023120345A true JP2023120345A (ja) 2023-08-29

Family

ID=72940934

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021562033A Active JP7303329B2 (ja) 2019-04-25 2020-04-26 動きベクトルの差に関する制限
JP2023100145A Pending JP2023120345A (ja) 2019-04-25 2023-06-19 動きベクトルの差に関する制限

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2021562033A Active JP7303329B2 (ja) 2019-04-25 2020-04-26 動きベクトルの差に関する制限

Country Status (6)

Country Link
US (2) US11418794B2 (ja)
EP (1) EP3939287A4 (ja)
JP (2) JP7303329B2 (ja)
KR (1) KR20220002897A (ja)
CN (2) CN113785579B (ja)
WO (1) WO2020216381A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019144908A1 (en) * 2018-01-26 2019-08-01 Mediatek Inc. Method and apparatus of affine inter prediction for video coding system
WO2020216381A1 (en) 2019-04-25 2020-10-29 Beijing Bytedance Network Technology Co., Ltd. Restrictions on motion vector difference
EP3989572A4 (en) * 2019-06-21 2023-04-12 Samsung Electronics Co., Ltd. APPARATUS AND METHOD FOR ENCODING AND DECODING MOTION INFORMATION USING PROXIMITY MOTION INFORMATION
CN117499667A (zh) 2019-06-25 2024-02-02 北京字节跳动网络技术有限公司 对运动矢量差的约束
US11218718B2 (en) * 2019-08-26 2022-01-04 Tencent America LLC Adaptive motion vector resolution signaling
US20230116983A1 (en) * 2021-10-20 2023-04-20 Tencent America LLC Methods and devices for restriction on motion vector difference
US20230128502A1 (en) * 2021-10-21 2023-04-27 Tencent America LLC Schemes for Adjusting Adaptive Resolution for Motion Vector Difference
WO2023132692A1 (ko) * 2022-01-09 2023-07-13 엘지전자 주식회사 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체
WO2023167439A1 (ko) * 2022-03-03 2023-09-07 현대자동차주식회사 움직임벡터 차분의 유도를 이용하는 비디오 코딩을 위한 방법 및 장치
WO2023219600A1 (en) * 2022-05-07 2023-11-16 Google Llc Motion vector coding using a motion vector precision

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007028393A (ja) 2005-07-20 2007-02-01 Matsushita Electric Ind Co Ltd 双方向予測符号化ピクチャの直接モードブロックの動きベクトルを求める方法
US9060176B2 (en) 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
US20130170553A1 (en) 2012-01-04 2013-07-04 Qualcomm Incorporated Coding motion vector difference
WO2013139250A1 (en) * 2012-03-22 2013-09-26 Mediatek Inc. Method and apparatus of scalable video coding
CN107454426A (zh) * 2012-07-27 2017-12-08 寰发股份有限公司 三维视频编码或解码方法
EP3579562B1 (en) * 2012-09-28 2021-09-08 Sony Group Corporation Image processing device and method
US10021414B2 (en) 2013-01-04 2018-07-10 Qualcomm Incorporated Bitstream constraints and motion vector restriction for inter-view or inter-layer reference pictures
CN103561263B (zh) 2013-11-06 2016-08-24 北京牡丹电子集团有限责任公司数字电视技术中心 基于运动矢量约束和加权运动矢量的运动补偿预测方法
US9854253B2 (en) 2014-06-30 2017-12-26 Qualcomm Incorporated Method for motion vector difference (MVD) and intra block copy vector difference (BVD) coding of screen content video data
CA3074097C (en) * 2014-11-20 2021-10-26 Hfi Innovation Inc. Method of motion vector and block vector resolution control
WO2017034113A1 (ko) 2015-08-24 2017-03-02 엘지전자(주) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
US10560713B2 (en) * 2015-09-24 2020-02-11 Lg Electronics Inc. Method and apparatus for motion vector refinement-based inter prediction in image coding system
US10547847B2 (en) 2015-09-24 2020-01-28 Lg Electronics Inc. AMVR-based image coding method and apparatus in image coding system
EP3264768A1 (en) * 2016-06-30 2018-01-03 Thomson Licensing Method and apparatus for video coding with adaptive motion information refinement
EP3264769A1 (en) * 2016-06-30 2018-01-03 Thomson Licensing Method and apparatus for video coding with automatic motion information refinement
US11356693B2 (en) 2016-09-29 2022-06-07 Qualcomm Incorporated Motion vector coding for video coding
US10462462B2 (en) * 2016-09-29 2019-10-29 Qualcomm Incorporated Motion vector difference coding technique for video coding
EP3301918A1 (en) * 2016-10-03 2018-04-04 Thomson Licensing Method and apparatus for encoding and decoding motion information
US10979732B2 (en) 2016-10-04 2021-04-13 Qualcomm Incorporated Adaptive motion vector precision for video coding
US10448010B2 (en) 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
TWI655864B (zh) * 2016-11-22 2019-04-01 聯發科技股份有限公司 視訊編碼中用於運動向量符號預測的方法及裝置
CN110100440B (zh) 2016-12-22 2023-04-25 株式会社Kt 一种用于对视频进行解码、编码的方法
BR112020004381A2 (pt) * 2017-09-28 2020-09-08 Samsung Electronics Co., Ltd. método de decodificação de vídeo, aparelho de decodificação de vídeo, método de codificação de vídeo, e aparelho de codificação de vídeo
US10856003B2 (en) 2017-10-03 2020-12-01 Qualcomm Incorporated Coding affine prediction motion information for video coding
CN117041593A (zh) * 2018-03-14 2023-11-10 Lx 半导体科技有限公司 图像编码/解码方法、存储介质和发送方法
WO2019244051A1 (en) 2018-06-19 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Selected mvd precision without mvp truncation
CN115842912A (zh) 2018-08-04 2023-03-24 抖音视界有限公司 不同解码器侧运动矢量推导模式之间的交互
CN110933427B (zh) 2018-09-19 2023-05-12 北京字节跳动网络技术有限公司 仿射模式编码的模式相关自适应运动矢量分辨率
CN112956197A (zh) 2018-10-22 2021-06-11 北京字节跳动网络技术有限公司 基于编解码信息的解码器侧运动矢量推导的限制
WO2020216381A1 (en) 2019-04-25 2020-10-29 Beijing Bytedance Network Technology Co., Ltd. Restrictions on motion vector difference
CN117499667A (zh) 2019-06-25 2024-02-02 北京字节跳动网络技术有限公司 对运动矢量差的约束

Also Published As

Publication number Publication date
US11909982B2 (en) 2024-02-20
CN113785579A (zh) 2021-12-10
WO2020216381A1 (en) 2020-10-29
US11418794B2 (en) 2022-08-16
EP3939287A1 (en) 2022-01-19
US20230041150A1 (en) 2023-02-09
JP7303329B2 (ja) 2023-07-04
CN113785579B (zh) 2023-10-20
US20210385462A1 (en) 2021-12-09
JP2022529357A (ja) 2022-06-21
CN117676134A (zh) 2024-03-08
EP3939287A4 (en) 2022-05-11
KR20220002897A (ko) 2022-01-07

Similar Documents

Publication Publication Date Title
JP7303329B2 (ja) 動きベクトルの差に関する制限
JP7332721B2 (ja) イントラブロックコピー符号化ブロックにおけるブロックベクトルの符号化
JP7391203B2 (ja) ビデオコーディングツールを洗練する使用およびシグナリング
JP2022551937A (ja) 参照ピクチャリサンプリングと映像コーディングツールとの間の相互作用
JP7391199B2 (ja) 映像コーディングツールのレベルベースシグナリング
US20230074372A1 (en) Restrictions on motion vector difference
JP2022544667A (ja) 映像処理における代替の補間フィルタの選択的使用
WO2021129685A1 (en) Spatial-temporal motion vector prediction
JP2022553364A (ja) ビデオ・データを処理する方法、装置及び記憶媒体
KR20220058551A (ko) 비디오 코딩의 양 예측 가중 샘플
JP2023523638A (ja) 分割構文のためのエントロピーコーディング
CN115176462A (zh) 视频编解码中限制片宽度
CN115812306A (zh) 使用非紧邻临近块的帧内块复制的约束

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230623

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240409