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

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

Info

Publication number
JP7436527B2
JP7436527B2 JP2021577192A JP2021577192A JP7436527B2 JP 7436527 B2 JP7436527 B2 JP 7436527B2 JP 2021577192 A JP2021577192 A JP 2021577192A JP 2021577192 A JP2021577192 A JP 2021577192A JP 7436527 B2 JP7436527 B2 JP 7436527B2
Authority
JP
Japan
Prior art keywords
mvd
component
block
video
motion vector
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
JP2021577192A
Other languages
English (en)
Other versions
JP2022538279A (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 JP2022538279A publication Critical patent/JP2022538279A/ja
Priority to JP2024017982A priority Critical patent/JP2024054269A/ja
Application granted granted Critical
Publication of JP7436527B2 publication Critical patent/JP7436527B2/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/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/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/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/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/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/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)

Description

関連出願の相互参照
本願は、2019年6月25日出願の国際特許出願第PCT/CN2019/092851号の優先権と利益を主張する、2020年6月28日出願の国際特許出願第PCT/CN2020/098514号に基づく。前述の特許出願はすべて、参照によりその全体が本明細書に組み込まれる。
この特許文献は、映像符号化技術、デバイスおよびシステムに関する。
映像圧縮の進歩にもかかわらず、デジタル映像は、依然として、インターネット及び他のデジタル通信ネットワークにおいて最大の帯域幅の使用量を占めている。映像を受信及び表示することが可能である接続されたユーザ機器の数が増加するにつれ、デジタル映像の使用に対する帯域幅需要は増大し続けることが予測される。
本明細書では、指定されたビット数を使用して表現される動きベクトルを用いて映像符号化または映像復号化を行う様々な実施形態および技術を説明する。
1つの例示的な態様において、映像復号化方法が開示される。この方法は、最大許容動きベクトル解像度、最大許容動きベクトル精度または映像領域の特性に基づいて、前記映像領域と前記映像領域のビットストリーム表現との間での変換中、映像の映像領域に対して使用される動きベクトル差(MVD)値の範囲を判定することと、このMVD値がこの範囲内になるように制限することでこの変換を行うことと、を含む。
1つの例示的な態様において、映像復号化方法が開示される。この方法は、第1の映像ブロックと第1のブロックのビットストリーム表現との間での変換のために、前記第1のブロックに関連付けられた動きベクトル差(MVD)成分の範囲を判定することであって、MVD成分の範囲は、[-2,2-1]であり、M=17である、判定することと、MVD成分の値は、MVD成分の範囲内にあるように制約することと、前記制約されたMVD成分に基づいて該変換を行うことと、を含む。
1つの例示的な態様において、映像復号化方法が開示される。この方法は、第1の映像ブロックと前記第1のブロックのビットストリーム表現との間での変換のために、前記第1のブロックに関連付けられた動きベクトル差(MVD)成分の範囲を判定することであって、前記MVD成分の範囲は、コーデックの許容MVD精度および/または許容動きベクトル(MV)精度に適応される、判定することと、前記MVD成分の値を前記MVD成分の範囲内に制約することと、前記制約されたMVD成分に基づいてこの変換を行うことを含む。
1つの例示的な態様において、映像復号化方法が開示される。この方法は、第1の映像ブロックと第1のブロックのビットストリーム表現との間での変換のために、前記第1のブロックに関連付けられた動きベクトル差(MVD)成分の範囲を、前記第1のブロックの符号化された情報に基づいて判定することと、MVD成分の値は、MVD成分の範囲内にあるように制約することと、制約されたMVD成分の範囲に基づいて該変換を行うことと、を含む。
1つの例示的な態様において、映像復号化方法が開示される。この方法は、映像の第1のブロックに関連付けられ、制約されて信号通知されるMVD成分に基づいて、第1のブロックと第1のブロックのビットストリーム表現との変換を行うことを含み、信号通知される動きベクトル差(MVD)成分の値が、所定の範囲に制約される。
1つの例示的な態様において、映像復号化方法が開示される。この方法は、制約されて導出されるMVD成分に基づいて、映像の第1のブロックと第1のブロックのビットストリーム表現との変換を行うことを含み、第1のブロックに関連付けられ、導出される動きベクトル差(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会議において、新しい映像符号化規格を「汎用映像符号化(Versatile Video Coding:VVC)」と正式に命名し、その時、第1版のVVCテストモデル(VTM)をリリースした。VVCの標準化に寄与する努力が続けられているので、すべてのJVET会議において、VVC標準に新しい符号化技術が採用されている。毎回の会議の後、VVC作業草案およびテストモデルVTMを更新する。VVCプロジェクトは、現在、2020年7月の会合における技術完成(FDIS)を目指している。
2.1 典型的な映像コーデックの符号化フロー
図1は、3つのインループフィルタリングブロック、すなわち非ブロック化フィルタ(DF)、サンプル適応オフセット(SAO)およびALFを含むVVCのエンコーダブロック図の例を示す。DF(予め定義されたフィルタを使用する)とは異なり、SAOおよびALFは、現在のピクチャのオリジナルサンプルを利用し、それぞれ、オフセットを追加することにより、および、有限インパルス応答(FIR)フィルタを適用することにより、オフセットおよびフィルタ係数を信号通知する符号化側情報を用いて、元のサンプルと再構成サンプルとの間の平均二乗誤差を低減する。ALFは、各ピクチャの最後の処理ステージに位置し、前のステージで生成されたアーチファクトを捕捉し、修正しようとするツールと見なすことができる。
図1は、エンコーダブロック図の例を示す。
2.2 適応型動きベクトル解像度(AMVR)
HEVCにおいて、use_integer_mv_flagがスライスヘッダにおいて0であるとき、1/4輝度サンプルの単位で動きベクトル差分(MVD:Motion Vector Difference)(動きベクトルとCUの予測動きベクトルとの差)が信号通知される。JEMにおいて、LAMVR(Locally Adaptive Motion Vector Resolution)が導入される。VVCにおいて、CUレベルの適応型動きベクトル解像度(AMVR)スキームが導入される。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精度が使用される。そうでない場合、通常のAMVP CUのために整数輝度サンプルまたは4輝度サンプルのMVD精度が使用されるかどうかを示すために、第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であり、以下の4つのタイプのCPVM候補を順に使用して生成される。
1)近傍のCUのCPUMVから外挿した継承アフィンAMVP候補
2)近傍のCUの並進MVを使用して導出された構築アフィンAMVP候補CPMVP
3)近傍のCUからの並進MV
4)ゼロMV
継承アフィンAMVP候補のチェック順は、継承アフィンマージ候補のチェック順と同じである。唯一の違いは、AVMP候補の場合、現在のブロックと同じ参照ピクチャを有するアフィンCUのみを考慮することである。継承されたアフィン動き予測子を候補リストに挿入する場合、プルーニング処理は適用されない。
構築されたAMVP候補は、指定された空間的近傍から導出される。また、近傍のブロックの参照ピクチャインデックスもチェックする。現在のCUと同じ参照ピクチャを有する、インター符号化されたチェック順の第1のブロックを使用する。4パラメータアフィンモードで符号化された現在のCUが1つのみであり、mvおよびmvが両方とも利用可能である場合、それらをアフィンAMVP一覧に1つの候補として追加する。現在のCUが6パラメータアフィンモードで符号化され、3つのCPMVすべてが利用可能である場合、それらをアフィンAMVPリストにおける1つの候補として追加する。そうでない場合、構築されたAMVP候補を利用不可能に設定する。
継承されたアフィンAMVP候補および構築されたAMVP候補をチェックした後、アフィンAMVP一覧候補が依然として2未満である場合、利用可能であれば、mv、mv、およびmvの順に、現在のCUのすべての制御点MVを予測する並進MVとして追加される。最後に、まだアフィンAMVPリストがすべて満たされていない場合は、満たすためにゼロMVを使用する。
2.4 VVCにおけるMVD(MMVD)とのマージモード
マージモードに加え、暗黙的に導出された動き情報を現在のCUの予測サンプル生成に直接使用する場合、VVCに動きベクトル差を有するマージモード(MMVD)を導入する。スキップフラグおよびマージフラグを送信した直後に、MMVDフラグを信号通知して、MMVDモードをCUに使用するかどうかを指定する。
MMVDにおいて、マージ候補が選択された後、信号通知されたMVD情報によってさらに微調整される。このさらなる情報は、マージ候補フラグと、動きの大きさを指定するためのインデックスと、動き方向の指示のためのインデックスとを含む。MMVDモードにおいて、マージリストにおける最初の2つの候補のうちの1つを選択し、MVベースとして使用する。マージ候補フラグは、どちらを使用するかを指定するように信号通知される。
距離インデックスは、動きの大きさの情報を指定して、予め定義された開始点からのオフセットを示す。開始MVの水平成分または垂直成分のいずれかにオフセットを加える。距離インデックスと予め定義されたオフセットとの関係を、表1に示す。
VVCには、spssレベルでの端数MMVDオフセットのオン/オフのためのSPSフラグsp_fpel_mmvd_enabled_flagが存在する。そして、タイルグループフラグtile_group_fpel_mmvd_enabled_flagにより、タイトルグループのヘッダレベルにおける“SCC/UHDフレーム”のための端数MMVDオフセットのオン/オフを制御する。端数MVDが有効化されている場合、表1のデフォルト距離テーブルが使用され、そうでない場合、表1のデフォルト距離におけるすべてのオフセット要素は、2だけ左シフトされる。
距離指数と予め定義されたオフセットとの関係
Figure 0007436527000001
方向インデックスは、開始点に対する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の符号は逆の値を有する。
方向索引で指定したMVオフセットの符号
Figure 0007436527000002
2.5 VVCにおけるイントラブロックコピー(IBC)
イントラブロックコピー(IBC)は、SCCのHEVC拡張に採用されているツールである。これにより、スクリーンコンテンツ素材の符号化効率が有意に向上することが知られている。IBCモードはブロックレベル符号化モードとして実装されるので、エンコーダにおいてブロックマッチング(BM)を行い、各CUごとに最適なブロックベクトル(または動きベクトル)を見出す。ここで、ブロックベクトルは、現在のブロックから、現在のピクチャの内部で既に再構成された参照ブロックへの変位を示すために使用される。
VVCにおいて、IBC符号化CUの輝度ブロックベクトルは、整数精度である。クロマブロックベクトルは、整数精度にも丸められる。AMVRと組み合わせた場合、IBCモードは、1画素と4画素の動きベクトル精度を切り替えることができる。IBC符号化されたCUは、イントラ予測モードまたはインター予測モード以外の第3の予測モードとして扱われる。IBCモードは、幅および高さの両方が64輝度サンプル以下のCUに適用可能である。
IBCモードは、現在のピクチャ参照(CPR)モードとしても知られている。
2.6 VVC仕様/作業草案における動きベクトルの差
VVC作業草案から以下のテキストを抽出する。
7.3.6.8 動きベクトル差構文
Figure 0007436527000003
7.3.6.7 マージデータ構文
Figure 0007436527000004
7.4.3.1 シーケンスパラメータセットRBSP意味論
sps_amvr_enabled_flagが1に等しい場合は、動きベクトル符号化に適応型動きベクトル差解像度を使用することを指定する。amvr_affine_amvr_enabled_flagが0に等しい場合は、動きベクトル符号化に適応動きベクトル差分解像度を用いないことを指定する。
sps_amvr_affine_amvr_enabled_flagが1に等しい場合は、アフィンインターモードの動きベクトル符号化に適応動きベクトル差解像度を使用することを指定する。sps_amvr_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]は、mmvd_distance_idx[x0][y0]とmmvd_direction_idx[x0][y0]から導出される動きベクトルの差で、マージ候補リストの第1(0)の候補を使うか、第2(1)の候補を使うかを指定する。配列インデックスx0,y0は、ピクチャの左上輝度サンプルに対する、考慮される符号化ブロックの左上輝度サンプルの位置(x0,y0)を指定する。
mmvd_distance_idx[x0][y0]は、表7-11で規定されているように、MmvdDistance[x0][y0]を導出するために使用するインデックスを指定する。配列インデックスx0,y0は、ピクチャの左上輝度サンプルに対する、考慮される符号化ブロックの左上輝度サンプルの位置(x0,y0)を指定する。
表7-11 mmvd_distance_idx[x0][y0]に基づくMmvdDistance[x0][y0]の仕様
Figure 0007436527000005
mmvd_distance_idx[x0][y0]は、表7-12で規定されているように、MmvdDistance[x0][y0]を導出するために使用するインデックスを指定する。配列インデックスx0,y0は、ピクチャの左上輝度サンプルに対する、考慮される符号化ブロックの左上輝度サンプルの位置(x0,y0)を指定する。
表7-12 mmvd_direction_idx[x0][y0]に基づくMmvdSign[x0][y0]の仕様
Figure 0007436527000006
マージ+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に等しい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]は、以下のように導出される。
lMvd[compIdx]=abs_mvd_greater0_flag[compIdx]*
(abs_mvd_minus2[compIdx]+2)*(1-2*mvd_sign_flag[compIdx]) (7-114)
lMvd[compIdx]の値は、-215から215-1の範囲内にあるとする。
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である場合、MvdCpL0[x0][y0][cpIdx][compIdx]は、compIdx=0..1で、lMvd[compIdx]に設定される。
- そうでない場合(refListが1である)、MvdCpL1[x0][y0][cpIdx][compIdx]は、compIdx=0..1で、lMvd[compIdx]に設定される。
3.本明細書に記載の実施形態が解決しようとする課題の例
VVCのようなある符号化標準において、動きベクトル差(MVD)は、必ずしも1/4画素(例えば、1/4輝度サンプル)の解像度であるとは限らない。しかしながら、既存のVVC作業草案において、MVD成分を-215~215-1の範囲に常時クリッピングするビットストリーム制約が存在する。この結果、特に、1/4画素でないMVD解像度が使用される場合、MVD値が不正確になる可能性がある(例えば、アフィンAMVPが使用される場合、1/16輝度サンプルのMVD解像度)。
4.例示的な実施形態および技術
以下に列記される実施形態は、一般的な概念を説明するための例であると考えられるべきである。これらの発明は狭い意味で解釈されるべきではない。さらに、これらの発明は、任意の方法で組み合わせることができる。
以下の説明において、「動きベクトル差(MVD)成分」は、水平方向(例えば、x軸に沿って)の動きベクトル差または垂直方向(例えば、y軸に沿って)の動きベクトル差のいずれかを示す。
サブピクセル動きベクトル(MV)表現の場合、動きベクトルは、通常、端数部分および整数部分からなる。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]などのMV範囲の範囲、例えば、M=17と同じである。
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の値は、[-2K+L,2K+L-1]の範囲、例えば、K=13,L=4となる。
2.MVD成分の範囲は、ブロックの符号化された情報に依存してもよいことが提案される。
a) 一例において、MVD成分の範囲の複数のセットを定義してもよい。
b) 一例において、範囲は、MV予測子/MVD/MV精度に依存してもよい。
i.一例において、MVD成分のMVD精度が(1/2L)輝度サンプルであるとする(例えば、L=4,3,2,1,0,-1,2,3,4など)と、MVDの値は、[-2K+L,2K+L-1]の範囲、例えば、K=13,L=4,3,2,1,0,-1,2,3,4などに制約されるか、または/およびクリッピングされてもよい。
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)、および/または予測モード、および/またはaffine_inter_flagに依存してもよい。
ii.一例において、現在のブロックの予測モードがMODE_IBC(例えば、現在のブロックがIBCモードで符号化されている)である場合、MVDの値は、[-2K+L,2K+L-1]の範囲(例えばK=13,L=0)であってもよい。
iii.一例において、現在のブロックの動きモデルインデックス(例えば、仕様のMotionModelIdc)が0に等しい(例えば、現在のブロックが並進動きモデルを使用して予測される)場合、MVDの値は、[-2K+L,2K+L-1]の範囲(例えばK=13,L=2)であってもよい。
1.代替的に、現在のブロックの予測モードがMODE_INTERで、affine_inter_flagが偽の場合(例えば、現在のブロックが並進動きモデルを使用して予測されている場合)、MVDの値は、[-2K+L,2K+L-1]の範囲(例えばK=13,L=2)であってもよい。
iv.一例において、現在のブロックの動きモデルインデックス(例えば、仕様のMotionModelIdc)が0に等しくない場合(例えば、現在のブロックがアフィン動きモデルを使用して予測されている場合)、MVDの値は、[-2K+L,2K+L-1]の範囲(例えばK=13,L=4)であってもよい。
1.代替的に、現在のブロックの予測モードがMODE_INTERで、affine_inter_flagが真の場合(例えば、現在のブロックがアフィン動きモデルを使用して予測される場合)、MVDの値は、[-2K+L,2K+L-1]の範囲(例えばK=13,L=4)であってもよい。
d) 復号化されたMVD成分に制約を加える代わりに,丸められたMVD値に制約を加えることが提案される。
i.一例において、適合ビットストリームは、丸められた整数のMVD値が所与の範囲内にあることを満足するものとする。
1.一例において、整数のMVD(復号化されたMVDが端数精度の場合、丸めが必要)は、[-2,2-1]の範囲とし、例えば、K=13とする。
3.なお、復号化されたMVD成分の値は、ビットストリーム制約を使用する以外に、意味解釈の際に明示的にある範囲(例えば、上述のMVD範囲)にクリッピングされてもよいことが提案される。
5. 実施形態
5.1 実施形態#1
以下の実施形態は、章4の項目1の方法に関するものである。
Figure 0007436527000007
7.4.7.8 動きベクトル差意味論
compIdx=0..1の場合、動きベクトル差lMvd[compIdx]は、以下のように導出される。
Figure 0007436527000008
5.2 実施形態#2
以下の実施形態は、章4の項目2の方法に関するものである。
Figure 0007436527000009
7.4.7.9 動きベクトル差意味論
compIdx=0..1の場合、動きベクトル差lMvd[compIdx]は、以下のように導出される。
Figure 0007436527000010
5.3 実施形態#3
以下の実施形態は、章4の項目2の方法に関するものである。
Figure 0007436527000011
7.4.7.10 動きベクトル差意味論
compIdx=0..1の場合、動きベクトル差lMvd[compIdx]は、以下のように導出される。
Figure 0007436527000012
5.4 実施形態#4
以下の実施形態は、章4の項目2の方法にも当てはまる。
Figure 0007436527000013
7.4.7.11 動きベクトル差意味論
compIdx=0..1の場合、動きベクトル差lMvd[compIdx]は、以下のように導出される。
Figure 0007436527000014
5.5 実施形態#5
以下の実施形態は、章4の項目3および項目1の方法に関するものである。
Figure 0007436527000015
7.4.7.12 動きベクトル差意味論
compIdx=0..1の場合、動きベクトル差lMvd[compIdx]は、以下のように導出される。
Figure 0007436527000016
5.6 実施形態#6
以下の実施形態は、章4の項目3および項目2の方法に関するものである。
Figure 0007436527000017
7.4.7.13 動きベクトル差意味論
compIdx=0..1の場合、動きベクトル差lMvd[compIdx]は、以下のように導出される。
Figure 0007436527000018
MotionModelIdc[x][y]の値に基づいて、動きベクトルの差は、以下のように導出される。
- MotionModelIdc[x][y]が0である場合、変数MvdLX[x0][y0][compIdx])(Xが0または1)は、使用されるべきリストXベクトル成分とその予測との間の差を指定する。配列インデックスx0,y0は、ピクチャの左上輝度サンプルに対する、考慮される符号化ブロックの左上輝度サンプルの位置(x0,y0)を指定する。水平方向の動きベクトル成分の差にはcompIdx=0が割り当てられ、垂直方向の動きベクトル成分にはcompIdx=1が割り当てられる。
Figure 0007436527000019
- 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が割り当てられる。
Figure 0007436527000020
- refListが0である場合、MvdCpL0[x0][y0][cpIdx][compIdx]は、compIdx=0..1で、lMvd[compIdx]に設定される。
- そうでない場合(refListが1のとき)、MvdCpL1[x0][y0][cpIdx][compIdx]は、compIdx=0..1で、lMvd[compIdx]に設定される。
図2は、映像処理装置1000のブロック図である。装置1000は、本明細書に記載の方法の1つ以上を実装するために使用してもよい。装置1000は、スマートフォン、タブレット、コンピュータ、IoT(モノのインターネット)受信機等により実施されてもよい。装置1000は、1つ以上の処理装置1002と、1つ以上のメモリ1004と、映像処理ハードウェア1006と、を含んでもよい。1つまたは複数のプロセッサ1002は、本明細書に記載される1つ以上の方法を実装するように構成されてもよい。メモリ(複数可)1004は、本明細書で説明される方法および技術を実装するために使用されるデータおよびコードを記憶するために使用してもよい。映像処理ハードウェア1006は、本明細書に記載される技術をハードウェア回路にて実装するために使用してもよい。
図3は、映像処理方法の一例を示すフローチャートである。この方法300は、最大許容動きベクトル解像度、最大許容動きベクトル精度または映像領域の特性に基づいて、前記映像領域と前記映像領域のビットストリーム表現との間での変換中、映像の映像領域に対して使用される動きベクトル差(MVD)値の範囲を判定すること(302)を含む。方法300は、MVD値を範囲内に収まるように制限することによって変換を行う(304)ことを含む。
以下の解決策のリストは、他の問題の中でもとりわけ、本明細書に記載されている技術的問題に対処できる実施形態を提供する。
1. 最大許容動きベクトル解像度、最大許容動きベクトル精度または映像領域の特性に基づいて、前記映像領域と前記映像領域のビットストリーム表現との間での変換中、映像の映像領域に対して使用される動きベクトル差(MVD)値の範囲を判定することと、この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. 解決策9に記載の方法であって、前記符号化モードがイントラブロックコピーモードであり、前記範囲が[-2K+L,2K+L-1]に対応し、ここで、KおよびLは、それぞれ、動きベクトル(MV)の整数部分の範囲およびMVの端数部分の範囲を表す整数である、方法。
11. K=13およびL=0である、解決策10に記載の方法。
12. 映像領域の特性が、変換に使用される動きモデルに対応する、解決策1に記載の方法。
13. 映像領域の特性が、映像領域の動きが並進モデルを使用してモデル化されることであり、その結果、範囲が[-2K+L、2K+L-1]であると判定され、ここで、KおよびLは、それぞれ、動きベクトル(MV)の整数部分の範囲、およびMVの端数部分の範囲を表す整数である、解決策1に記載の方法。
14. K=13、L=2である、解決策13に記載の方法。
15. 映像領域の特性が、映像領域の動きが非並進モデルを使用してモデル化されることであり、その結果、範囲が[-2K+L、2K+L-1]であると判定され、ここで、KとLは、それぞれ動きベクトル(MV)の整数部分の範囲とMVの端数部分の範囲を表す整数である、解決策1の方法。。
16. K=13、L=4である、解決策15のに記載方法。
17. 制限が、MVDの丸められた値を範囲に制限することを含む、解決策1のに記載方法。
18. 映像領域と映像領域のビットストリーム表現との間での変換中に映像の映像領域に使用される動きベクトル差(MVD)値の範囲を判定することと、前記変換で行われる意味解釈中に、範囲内に収まるように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)モジュールの範囲を判定すること(402)であって、MVD成分の範囲は、[-2,2-1]であり、M=17である、判定することと、MVD成分の値は、MVD成分の範囲内にあるように制約すること(404)と、前記制約されたMVD成分の範囲に基づいて該変換を行うこと(406)と、を含む。
いくつかの例では、この範囲は、コーデックの許容MVD精度および/または許容動きベクトル(MV)精度に適合されている。
いくつかの例では、許容MVD精度および/または許容動きベクトル(MV)精度は、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)成分の範囲を判定することであって、MVD成分の範囲は、コーデックの許容MVD精度および/または許容動きベクトル(MV)精度に適応される、判定すること、判定すること(502)と、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)の範囲を、第1のブロックの符号化された情報に基づいて判定すること(602)と、MVD成分の値は、MVD成分の範囲内にあるように制約すること(604)と、制約されたMVD成分に基づいて該変換を行うこと(606)と、を含む。
いくつかの例では、MVD成分の範囲には、MVD成分の範囲の複数のセットが含まれる。
いくつかの例では、符号化された情報は、動きベクトル(MV)予測器の精度、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)が使用されているか否か、および/または、AMVRの精度、および/または、MVDの精度、および/または、動きベクトル差を有するマージモード(MMVD)情報、および/または、第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成分の範囲に明示的にクリッピングされる。
図7は、映像処理の方法700の一例を示すフローチャートである。方法700は、映像の第1のブロックに関連付けられ、制約されて信号通知されるMVD成分に基づいて、第1のブロックと、第1のブロックのビットストリーム表現との変換を行うこと(702)を含み、信号通知される動きベクトル差(MVD)成分の値が、所定の範囲に制約される。
いくつかの例では、この所定の範囲は、第1のブロックに関連付けられたMVD成分の精度に関連付けられている。
いくつかの例では、第1のブロックに関連付けられたMVD成分の精度は1/16画素であり、所定の範囲は[-217,217-1]である。
いくつかの例では、MVD成分の精度が1/16画素である場合、信号通知されるMVD成分の数値は、[-2K+L,2K+L-1]の所定の範囲に制約され、ここで、Kは、MVD成分の整数部分を表すために用いられるビット数を示し、Lは、MVD成分の端数部分を表すために用いられるビット数を示し、ここで、KおよびLは整数である。
いくつかの例において、K=13、L=4である。
いくつかの例では、MVD成分の精度が1/4画素である場合、信号通知されるMVD成分の数値は、[-2K+L,2K+L-1]の所定の範囲に制約され、ここで、Kは、MVD成分の整数部分を表すために用いられるビット数を示し、Lは、MVD成分の端数部分を表すために用いられるビット数を示し、ここで、KおよびLは整数である。
いくつかの例において、K=13、L=2である。
いくつかの例では、MVD成分の精度が1画素である場合、信号通知されるMVD成分の数値は、[-2K+L,2K+L-1]の所定の範囲に制約され、ここで、Kは、MVD成分の整数部分を表すために用いられるビット数を示し、Lは、MVD成分の端数部分を表すために用いられるビット数を示し、ここで、KおよびLは整数である。
いくつかの例において、K=13、L=0である。
いくつかの例では、MVD成分の精度が4画素である場合、信号通知されるMVD成分の数値は、[-2K+L,2K+L-1]の所定の範囲に制約され、ここで、Kは、信号通知されるMVD成分の整数部分を表すために用いられるビット数を示し、Lは、信号通知されるMVD成分の端数部分を表すために用いられるビット数を示し、ここで、KおよびLは整数である。
いくつかの例では、K=13、L=-2である。
いくつかの例では、信号通知されるMVD成分の数値は、[-2K+L,2K+L-1]の所定の範囲に制約され、ここで、Kは、MVD成分の整数部分を表すために用いられるビット数を示し、Lは、MVD成分の端数部分を表すために用いられるビット数を示し、ここで、K=13,L=4である。
図8は、映像処理の方法800の一例を示すフローチャートである。方法800は、制約されて導出されるMVD成分に基づいて、映像の第1のブロックと、第1のブロックのビットストリーム表現との変換を行うこと(802)を含み、第1のブロックに関連付けられた導出される動きベクトル差(MVD)成分の値が、所定の範囲に制約される。
いくつかの例では、導出MVD成分は、対応するリスト-Y MVD成分から導出されたリスト-X MVD成分であり、ここで、X=0または1であり、Y=1または0である。
いくつかの例では、リスト-X MVD成分は、対称動きベクトル差モードに従って、信号通知されたリスト-Y MVD成分によって導出される。
いくつかの例では、この所定の範囲は、第1のブロックに関連付けられたMVD成分の精度に関連付けられている。
いくつかの例では、第1のブロックに対応するMVD成分の精度は1/16画素であり、この所定の範囲は[-217,217-1]である。
いくつかの例では、導出MVD成分の数値は、[-2K+L,2K+L-1]の所定の範囲に制約され、ここで、Kは、MVD成分の整数部分を表すために用いられるビット数を示し、Lは、導出MVD成分の端数部分を表すために用いられるビット数を示し、ここで、KおよびLは整数である。
いくつかの例では、K=13、およびL=4である。
いくつかの例では、導出MVD成分は、コーデックにおけるすべてのMVD成分が同じ精度に変換される内部のMVD値である。
いくつかの例では、適応型動きベクトル解像度(AMVR)フラグに従って、信号通知されるMVD値を内部の18ビットのMVD値にシフトし、導出されるMVD成分を得る。
いくつかの例では、変換により、ビットストリーム表現から映像の第1のブロックが生成される。
いくつかの例では、変換により、映像の第1のブロックからビットストリーム表現が生成される。
本明細書における例の一覧において、用語「変換」は、現在の映像ブロックのためのビットストリーム表現の生成、またはビットストリーム表現から現在の映像ブロックを生成することを指すことができる。ビットストリーム表現は、ビットの連続したグループを表す必要がなく、ヘッダフィールドまたは符号化画素値情報を表すコード名に含まれるビットに分割されてもよい。
上記の例において、適用可能性の規則は、予め定義されたものであってもよく、エンコーダおよびデコーダに知られたものであってもよい。
本明細書に記載されているように、開示された技術は、映像エンコーダまたはデコーダで実施されて、イントラ符号化における差分符号化モードの使用に関して考慮事項の様々な実装規則の使用を含む技術を使用して圧縮効率を改善し得ることが理解されよう。
本明細書に記載された開示された、およびその他の解決策、実施例、実施形態、モジュール、および機能動作の実装形態は、本明細書に開示された構造およびその構造的等価物を含め、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、若しくはハードウェアで実施されてもよく、またはそれらの1つ以上の組み合わせで実施してもよい。開示された、およびその他の実施形態は、1つ以上のコンピュータプログラム製品、すなわち、データ処理装置によって実装されるため、またはデータ処理装置の動作を制御するために、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして実施することができる。このコンピュータ可読媒体は、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝播信号をもたらす物質の組成物、またはこれらの1つ以上の組み合わせであってもよい。「データ処理装置」という用語は、例えば、プログラマブル処理装置、コンピュータ、または複数の処理装置、若しくはコンピュータを含む、データを処理するためのすべての装置、デバイス、および機械を含む。この装置は、ハードウェアの他に、当該コンピュータプログラムの実行環境を作るコード、例えば、処理装置ファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの1つ以上の組み合わせを構成するコードを含むことができる。伝播信号は、人工的に生成した信号、例えば、機械で生成した電気、光、または電磁信号であり、適切な受信装置に送信するための情報を符号化するために生成される。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとも呼ばれる)は、コンパイルされた言語または解釈された言語を含む任意の形式のプログラミング言語で記述することができ、また、それは、スタンドアロンプログラムとして、またはコンピューティング環境で使用するのに適したモジュール、成分、サブルーチン、または他のユニットとして含む任意の形式で展開することができる。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(例えば、マークアップ言語文書に格納された1つ以上のスクリプト)に記録されていてもよいし、当該プログラム専用の単一のファイルに記憶されていてもよいし、複数の調整ファイル(例えば、1つ以上のモジュール、サブプログラム、またはコードの一部を格納するファイル)に記憶されていてもよい。1つのコンピュータプログラムを、1つのサイトに位置する1つのコンピュータ、または複数のサイトに分散され通信ネットワークによって相互接続される複数のコンピュータで実行させるように展開することも可能である。
本明細書に記載された処理およびロジックフローは、入力データ上で動作し、出力を生成することによって機能を実行するための1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブル処理装置によって行うことができる。処理およびロジックフローはまた、特定用途のロジック回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって行うことができ、装置はまた、特別目的のロジック回路として実装することができる。
コンピュータプログラムの実行に適した処理装置は、例えば、汎用および専用マイクロ処理装置の両方、並びに任意の種類のデジタルコンピュータの任意の1つ以上の処理装置を含む。一般的に、処理装置は、リードオンリーメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの本質的な要素は、命令を実行するための処理装置と、命令およびデータを記憶するための1つ以上のメモリデバイスとである。一般的に、コンピュータは、データを記憶するための1つ以上の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含んでもよく、またはこれらの大容量記憶デバイスからデータを受信するか、またはこれらにデータを転送するように動作可能に結合されてもよい。しかしながら、コンピュータは、このようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、あらゆる形式の不揮発性メモリ、媒体、およびメモリデバイスを含み、例えば、EPROM、EEPROM、フラッシュ記憶装置、磁気ディスク、例えば内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、およびCD-ROMおよびDVD-ROMディスク等の半導体記憶装置を含む。処理装置およびメモリは、特定用途のロジック回路によって補完されてもよく、または特定用途のロジック回路に組み込まれてもよい。
本特許明細書は多くの詳細を含むが、これらは、任意の主題の範囲または特許請求の範囲を限定するものと解釈されるべきではなく、むしろ、特定の技術の特定の実施形態に特有であり得る特徴の説明と解釈されるべきである。本特許文献において別個の実施形態のコンテクストで説明されている特定の特徴は、1つの例において組み合わせて実装してもよい。逆に、1つの例のコンテクストで説明された様々な特徴は、複数の実施形態において別個にまたは任意の適切なサブコンビネーションで実装してもよい。さらに、特徴は、特定の組み合わせで作用するものとして上記に記載され、最初にそのように主張されていてもよいが、主張された組み合わせからの1つ以上の特徴は、場合によっては、組み合わせから抜粋されることができ、主張された組み合わせは、サブコンビネーションまたはサブコンビネーションのバリエーションに向けられてもよい。
同様に、動作は図面において特定の順番で示されているが、これは、所望の結果を達成するために、このような動作が示された特定の順番でまたは連続した順番で行われること、または示された全ての動作が行われることを必要とするものと理解されるべきではない。また、本特許明細書に記載されている例における様々なシステムの構成要素の分離は、全ての実施形態においてこのような分離を必要とするものと理解されるべきではない。
いくつかの実装形態および例のみが記載されており、この特許文献に記載され図示されているコンテンツに基づいて、他の実施形態、拡張および変形が可能である。

Claims (13)

  1. 映像の第1のブロックと前記映像のビットストリームとの第1の変換のために、前記第1のブロックに関連付けられ第1の動きベクトル差分(MVD)成分を決定することと、
    少なくとも前記第1のMVD成分に基づいて前記第1の変換を行うことと、を含む映像データを処理する方法であって、
    前記第1のMVD成分の値が、所定の範囲に制限され、前記所定の範囲は、[-2,2-1]であり、M=17であり、
    M=K+Lであって、K=13およびL=4であり、Kは、前記第1のMVD成分の整数部分を表すために使用されるビット数を示し、Lは、前記第1のMVD成分の端数部分を表すために使用されるビット数を示し、前記第1のMVD成分は、1/2L輝度サンプル精度で表される、
    方法。
  2. 前記方法は、
    前記映像の第2のブロックと前記ビットストリームとの第2の変換のために、前記第2のブロックに関連付けられた第1のリストの第2のMVD成分を決定することと、
    前記第2のMVD成分に基づいて、前記第2のブロックに関連付けられた第2のリストの第3のMVD成分を決定することと
    少なくとも前記第2のMVD成分と前記第3のMVD成分とに基づいて、前記第2の変換を行うことと、をさらに含む、請求項1に記載の方法。
  3. 前記第2のMVD成分の値は、最大値2 -1を有する所定の範囲に制限される、請求項2に記載の方法。
  4. 前記第3のMVD成分の値が、最大値2 -1を有する所定の範囲に制限される、請求項2または3に記載の方法。
  5. 前記第1のリストは、X=0によるリストXであり、前記第2のリストは、それに応じて、Y=1によるリストYである、請求項に記載の方法。
  6. 前記第3のMVD成分は、前記第2のMVD成分の負数である、請求項に記載の方法。
  7. 前記第1のMVD成分の前記所定の範囲は、コーデックの許容可能なMVD精度および/または許容動きベクトル精度に適応される、請求項1~のいずれか1項に記載の方法。
  8. 許容可能なMVD精度および/または許容動きベクトル精度は、1/16輝度サンプル精度である、請求項に記載の方法。
  9. 前記変換は、前記第1のブロックを前記ビットストリームに符号化することを含む、請求項1~のいずれか1項に記載の方法。
  10. 前記変換は、前記第1のブロックを前記ビットストリームから復号化することを含む、請求項1~のいずれか1項に記載の方法。
  11. 処理装置と、命令を含む非一時的メモリとを備えた映像データを処理するための装置であって、前記処理装置による実行時に前記命令は、前記処理装置に、
    映像の第1のブロックと前記映像のビットストリームとの第1の変換のために、前記第1のブロックに関連付けられ第1の動きベクトル差分(MVD)成分を決定することと、
    少なくとも前記第1のMVD成分に基づいて前記第1の変換を行うこととを行わせ、
    前記第1のMVD成分の値が、所定の範囲に制限され、前記所定の範囲は、[-2,2-1]であり、M=17であり、
    M=K+Lであって、K=13およびL=4であり、Kは、前記第1のMVD成分の整数部分を表すために使用されるビット数を示し、Lは、前記第1のMVD成分の端数部分を表すために使用されるビット数を示し、前記第1のMVD成分は、1/2L輝度サンプル精度で表される、
    装置。
  12. 命令を記憶する非一時的なコンピュータ可読記憶媒体であって、前記命令は、処理装置に、
    映像の第1のブロックと前記映像のビットストリームとの第1の変換のために、前記第1のブロックに関連付けられ第1の動きベクトル差分(MVD)成分を決定することと、
    少なくとも前記第1のMVD成分に基づいて前記第1の変換を行うこととを行わせ、
    前記第1のMVD成分の値が、所定の範囲に制限され、前記所定の範囲は、[-2,2-1]であり、M=17であり、
    M=K+Lであって、K=13およびL=4であり、Kは、前記第1のMVD成分の整数部分を表すために使用されるビット数を示し、Lは、前記第1のMVD成分の端数部分を表すために使用されるビット数を示し、前記第1のMVD成分は、1/2L輝度サンプル精度で表される、
    非一時的なコンピュータ可読記憶媒体。
  13. 映像のビットストリームを記憶する方法であって、前記方法は、
    前記映像の第1のブロックのために、前記第1のブロックに関連付けられた第1の動きベクトル差(MVD)成分を決定することと、
    少なくとも前記第1のMVD成分に基づいて前記ビットストリームを生成することと、
    前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することと、を含み、
    前記第1のMVD成分の値が、所定の範囲に制限され、前記所定の範囲は、[-2,2-1]であり、M=17であり、
    M=K+Lであって、K=13およびL=4であり、Kは、前記第1のMVD成分の整数部分を表すために使用されるビット数を示し、Lは、前記第1のMVD成分の端数部分を表すために使用されるビット数を示し、前記第1のMVD成分は、1/2L輝度サンプル精度で表される、
    方法。
JP2021577192A 2019-06-25 2020-06-28 動きベクトルの差に関する制限 Active JP7436527B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2024017982A JP2024054269A (ja) 2019-06-25 2024-02-08 動きベクトルの差に関する制限

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2019/092851 2019-06-25
CN2019092851 2019-06-25
PCT/CN2020/098514 WO2020259681A1 (en) 2019-06-25 2020-06-28 Restrictions on motion vector difference

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2024017982A Division JP2024054269A (ja) 2019-06-25 2024-02-08 動きベクトルの差に関する制限

Publications (2)

Publication Number Publication Date
JP2022538279A JP2022538279A (ja) 2022-09-01
JP7436527B2 true JP7436527B2 (ja) 2024-02-21

Family

ID=74059857

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021577192A Active JP7436527B2 (ja) 2019-06-25 2020-06-28 動きベクトルの差に関する制限
JP2024017982A Pending JP2024054269A (ja) 2019-06-25 2024-02-08 動きベクトルの差に関する制限

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2024017982A Pending JP2024054269A (ja) 2019-06-25 2024-02-08 動きベクトルの差に関する制限

Country Status (6)

Country Link
US (2) US11812028B2 (ja)
EP (1) EP3973705A4 (ja)
JP (2) JP7436527B2 (ja)
KR (1) KR20220023338A (ja)
CN (2) CN114026861B (ja)
WO (1) WO2020259681A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3939287A4 (en) 2019-04-25 2022-05-11 Beijing Bytedance Network Technology Co., Ltd. RESTRICTIONS ON DIFFERENCE BETWEEN MOVEMENT VECTORS
US20230116983A1 (en) * 2021-10-20 2023-04-20 Tencent America LLC Methods and devices for restriction on motion vector difference

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020216381A1 (en) 2019-04-25 2020-10-29 Beijing Bytedance Network Technology Co., Ltd. Restrictions on motion vector difference

Family Cites Families (30)

* 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
KR101500914B1 (ko) 2010-04-09 2015-03-10 미쓰비시덴키 가부시키가이샤 동화상 복호 장치
US20130170553A1 (en) * 2012-01-04 2013-07-04 Qualcomm Incorporated Coding motion vector difference
CN104205838B (zh) 2012-03-22 2018-05-18 联发科技股份有限公司 可伸缩视频编码的方法以及装置
EP3247116A1 (en) 2012-07-27 2017-11-22 HFI Innovation Inc. Method of constrain disparity vector derivation in 3d video coding
KR102245026B1 (ko) 2012-09-28 2021-04-27 소니 주식회사 화상 처리 장치 및 방법
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
US10075712B2 (en) 2014-11-20 2018-09-11 Hfi Innovation Inc. Method of motion vector and block vector resolution control
KR102617235B1 (ko) * 2015-08-24 2023-12-26 엘지전자 주식회사 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
JP2018533298A (ja) * 2015-09-24 2018-11-08 エルジー エレクトロニクス インコーポレイティド 映像コーディングシステムにおけるamvrに基づく映像コーディング方法及び装置
KR20180059443A (ko) 2015-09-24 2018-06-04 엘지전자 주식회사 영상 코딩 시스템에서 움직임 벡터 정제 기반 인터 예측 방법 및 장치
EP3264769A1 (en) * 2016-06-30 2018-01-03 Thomson Licensing Method and apparatus for video coding with automatic motion information refinement
EP3264768A1 (en) 2016-06-30 2018-01-03 Thomson Licensing Method and apparatus for video coding with adaptive motion information refinement
US10462462B2 (en) * 2016-09-29 2019-10-29 Qualcomm Incorporated Motion vector difference coding technique for video coding
US11356693B2 (en) 2016-09-29 2022-06-07 Qualcomm Incorporated Motion vector coding 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
CN109964484B (zh) 2016-11-22 2021-11-09 联发科技股份有限公司 视频编码中用于运动向量符号预测的方法及装置
CN116320475A (zh) * 2016-12-22 2023-06-23 株式会社Kt 对视频进行解码或编码的方法和发送视频数据的方法
US11432003B2 (en) * 2017-09-28 2022-08-30 Samsung Electronics Co., Ltd. Encoding method and apparatus therefor, and decoding method and apparatus therefor
US10856003B2 (en) * 2017-10-03 2020-12-01 Qualcomm Incorporated Coding affine prediction motion information for video coding
KR20190108506A (ko) 2018-03-14 2019-09-24 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN116347099A (zh) 2018-06-19 2023-06-27 北京字节跳动网络技术有限公司 没有运动矢量预测截断的选择的运动矢量差精度
CN116095312A (zh) 2018-08-04 2023-05-09 北京字节跳动网络技术有限公司 视频处理方法、装置和计算机可读介质
CN116546213A (zh) 2018-09-19 2023-08-04 北京字节跳动网络技术有限公司 具有自适应运动矢量分辨率的仿射模式的语法重用
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020216381A1 (en) 2019-04-25 2020-10-29 Beijing Bytedance Network Technology Co., Ltd. Restrictions on motion vector difference
JP2022529357A (ja) 2019-04-25 2022-06-21 北京字節跳動網絡技術有限公司 動きベクトルの差に関する制限

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Benjamin Bross et al.,Versatile Video Coding (Draft 5) [online],JVET-N1001-v8,インターネット <URL: https://jvet-experts.org/doc_end_user/documents/14_Geneva/wg11/JVET-N1001-v8.zip>,2019年06月11日,pp.53-59,112-113,117-118,164-167,173-175,314,319
Benjamin Bross Jianle Chen Shan Liu,Versatile Video Coding (Draft 5) [online], JVET-N JVET-N1001-v8,ITU-T インターネット<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/14_Geneva/wg11/JVET-N1001-v8.zip>,2019年06月11日,pp.164-165
David Flynn Research in Motion Limited,High Efficiency Video Coding (HEVC) Range Extensions text specification: Draft 4[online], JCTVC-N JCTVC-N1005_v1,インターネット<URL:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1005-v3.zip>,2013年08月08日,pp.99, 126-127
Jianle Chen Yan Ye Seung Hwan Kim,Algorithm description for Versatile Video Coding and Test Model 5 (VTM 5) [online], JVET-N JVET-N1002-v2,ITU-T インターネット<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/14_Geneva/wg11/JVET-N1002-v2.zip>,2019年06月11日,p.33

Also Published As

Publication number Publication date
US20220103829A1 (en) 2022-03-31
KR20220023338A (ko) 2022-03-02
JP2022538279A (ja) 2022-09-01
CN114026861B (zh) 2023-11-17
EP3973705A1 (en) 2022-03-30
US11812028B2 (en) 2023-11-07
EP3973705A4 (en) 2022-09-28
US20230074372A1 (en) 2023-03-09
CN117499667A (zh) 2024-02-02
WO2020259681A1 (en) 2020-12-30
CN114026861A (zh) 2022-02-08
JP2024054269A (ja) 2024-04-16

Similar Documents

Publication Publication Date Title
JP7303329B2 (ja) 動きベクトルの差に関する制限
CN110677659A (zh) 对于dmvr的块尺寸限制
JP7482218B2 (ja) ビデオコーディングにおける予測タイプシグナリング
CN113661706A (zh) 视频编码中的可选插值滤波器
CN113454996A (zh) 帧内块复制模式的运动候选列表构建
US11936905B2 (en) Overlapped block motion compensation with derived motion information from neighbors
CN113545085A (zh) 基于图片头中的信息启用dmvr
JP2024038200A (ja) イントラブロックコピー仮想バッファに対するマッピング制限
US20230074372A1 (en) Restrictions on motion vector difference
WO2021129682A1 (en) Improvements on merge mode
JP2022544667A (ja) 映像処理における代替の補間フィルタの選択的使用
CN110719466B (zh) 用于视频处理的方法、装置和存储介质
CN116195253A (zh) 帧内块复制编解码中的块矢量处理
CN114287134A (zh) 块矢量的上下文自适应编解码

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211224

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230428

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: 20231018

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: 20240208

R150 Certificate of patent or registration of utility model

Ref document number: 7436527

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150