JP2022544260A - サブブロックに基づくインター予測における動き精度 - Google Patents

サブブロックに基づくインター予測における動き精度 Download PDF

Info

Publication number
JP2022544260A
JP2022544260A JP2022508597A JP2022508597A JP2022544260A JP 2022544260 A JP2022544260 A JP 2022544260A JP 2022508597 A JP2022508597 A JP 2022508597A JP 2022508597 A JP2022508597 A JP 2022508597A JP 2022544260 A JP2022544260 A JP 2022544260A
Authority
JP
Japan
Prior art keywords
block
motion vector
sub
video
picture
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.)
Granted
Application number
JP2022508597A
Other languages
English (en)
Other versions
JP7481430B2 (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
Priority claimed from PCT/CN2020/108805 external-priority patent/WO2021027862A1/en
Publication of JP2022544260A publication Critical patent/JP2022544260A/ja
Priority to JP2023214836A priority Critical patent/JP2024037992A/ja
Application granted granted Critical
Publication of JP7481430B2 publication Critical patent/JP7481430B2/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding
    • G06F7/49978Rounding towards zero
    • 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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Figure 2022544260000001
サブブロックに基づくインター予測方法を含む、デジタル映像符号化のためのデバイス、システム、および方法が説明される。映像処理のための例示的な方法は、映像の現在のブロックと映像のビットストリーム表現との間での変換のため、サブブロックに基づくマージ候補リストにおける最大数の候補、および/または、サブブロックに基づく時間的動きベクトル予測(SbTMVP)候補を、時間的動きベクトル予測(TMVP)が変換中の使用に対して有効であるかどうか、または、変換に、現在のピクチャ参照(CPR)符号化モードを使用するかどうかに基づいて、サブブロックに基づくマージ候補リストに加えるかどうかを判定することと、判定に基づいて、前記変換を行うこと、を含む。
【選択図】図30

Description

(関連出願の相互参照)
パリ条約に基づく適用可能な特許法および/または規則に基づいて、本願は、2019年8月13日出願の国際特許出願PCT/CN2019/100396号、および2019年9月22日出願の国際特許出願PCT/CN2019/107159号の優先権および利益を適時に主張することを目的とする。法に基づくすべての目的のために、上記出願の開示全体は、本明細書の開示の一部として参照により組み込まれる。
本明細書は、画像および映像符号化および復号化に関する。
映像圧縮の進歩にもかかわらず、デジタル映像は、依然として、インターネットおよび他のデジタル通信ネットワークにおいて最大の帯域幅の使用量を占めている。映像の受信および表示が可能な接続されたユーザ機器の数が増加するにつれ、デジタル映像の使用に対する帯域幅需要は増大し続けることが予測される。
サブブロックに基づくインター予測方法を含む、デジタル映像符号化に関連するデバイス、システム、および方法を説明する。記載された方法は、既存の映像符号化規格(例えば、高効率映像符号化(HEVC)および/または汎用映像符号化(VVC))および将来の映像符号化規格またはビデオコーデックの両方に適用され得る。
1つの代表的な態様において、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、映像の現在のブロックと映像のビットストリーム表現との間での変換のために、サブブロックに基づくマージ候補リストにおける最大数の候補(ML)および/または、サブブロックに基づく時間的動きベクトル予測(SbTMVP)候補を、時間的動きベクトル予測(TMVP)が変換時に有効とされているかどうか、または、変換に、現在のピクチャ参照(CPR)符号化モードを使用するかどうかに基づいて、
サブブロックに基づくマージ候補リストに加えるかどうかを判定することと、この判定に基づいて変換を行うことを含む。
別の代表的な態様では、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、映像の現在のブロックと映像のビットストリーム表現との間での変換のために、時間的動きベクトル予測(TMVP)、サブブロックに基づく時間的動きベクトル予測(SbTMVP)ツール、およびアフィン符号化モードが変換時の使用に対して有効であるかどうかに基づいて、サブブロックに基づくマージ候補リストにおける候補の最大数(ML)を判定することと、この判定に基づいて変換を行うことを含む。
別の代表的な態様では、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、映像の第1の映像セグメントの現在のブロックと映像のビットストリーム表現との間での変換のために、サブブロックに基づく動きベクトル予測(SbTMVP)モードは、時間的動きベクトル予測(TMVP)モードが第1の映像セグメントレベルで変換に対して無効になっているために、変換に対して無効にされていると判定することと、その決定に基づいて、変換を行うことであって、ビットストリーム表現は、SbTMVPモードの表示が含めるかどうか、および/またはマージ候補リストにおけるTMVPモードの表示に対するSbTMVPモードの表示の位置を規定するフォーマットに準拠している、変換を行うことと、を含む。
別の代表的な態様では、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、サブブロックに基づく時間的動きベクトル予測(SbTMVP)ツールまたは時間的動きベクトル予測(TMVP)ツールを使用して符号化された映像の現在のブロックと、この映像のビットストリーム表現との間で変換を行うことを含み、現在のブロックまたはこの現在のブロックの対応する位置の座標を、マスクを使用して、SbTMVPツールまたはTMVPツールに関連付けられた動きベクトルの圧縮に基づいて選択的にマスクし、このマスクを適用することは、この座標の値とこのマスクの値とのビット単位のAND演算を含む。
別の代表的な態様では、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、映像の映像セグメントの現在のブロックの1つ以上特徴に基づいて、この現在のブロックに基づいてサブブロックに基づく動きベクトル予測(SbTMVP)ツールを適用するための、この現在のブロックの有効な対応する領域を判定することと、この判定に基づいて、この現在のブロックとこの映像のビットストリーム表現との間での変換を行うこととを含む。
別の代表的な態様では、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、サブブロックに基づく時間的動きベクトル予測(SbTMVP)ツールを使用して符号化される映像の現在のブロックに対して、デフォルトの動きベクトルを判定することと、この判定に基づいて、現在のブロックとこの映像のビットストリーム表現との間で変換を行うこととを含み、現在のブロックの中心位置に関連付けられた、このコロケーションされたピクチャにおける対応する位置を含むブロックから動きベクトルが得られない場合にこのデフォルトの動きベクトルが判定される。
別の代表的な態様では、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、映像の映像セグメントの現在のブロックについて、現在のブロックの現在のピクチャが、参照ピクチャリストXにおけるインデックスがMに設定された参照ピクチャであり、ここで、MおよびXが整数であり、X=0またはX=1である場合に映像セグメントに対して、サブブロックに基づく時間的動きベクトル予測(SbTMVP)ツールまたは時間的動きベクトル予測(TMVP)ツールが無効にされていると推論することと、推論に基づいて、現在のブロックとビデオのビットストリーム表現との間で変換を行うことと、を含む。
別の代表的な態様では、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、映像の現在のブロックに対して、現在のブロックの現在のピクチャが、参照ピクチャリストXにおけるインデックスがMに設定された参照ピクチャであり、
MおよびXが整数である場合にサブブロックに基づく時間的動きベクトル予測(SbTMVP)ツールの適用が有効にされることを判定することと、この判定に基づいて、現在のブロックと映像のビットストリーム表現との間での変換を行うこととを含む。
別の代表的な態様では、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、映像の現在のブロックと映像のビットストリーム表現との間で変換を行うことを含み、現在のブロックは、サブブロックに基づく符号化ツールを使用して符号化され、この変換を行うことは、サブブロックに基づく時間的動きベクトル予測(SbTMVP)ツールが有効にされるか無効にされる場合に複数のビン(N)を使用してサブブロックマージインデックスを統一方法で符号化することを含む。
別の代表的な態様では、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、サブブロックに基づく時間的動きベクトル予測(SbTMVP)ツールを使用して符号化された映像の現在のブロックに対して、SbTMVPツールが現在のブロックを含む現在のピクチャと異なるピクチャにおける対応するブロックの位置を突き止めるために使用する動きベクトルを判定することと、この判定に基づいて、現在のブロックと映像のビットストリーム表現との間で変換を行うこととを含む。
別の代表的な態様では、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、映像の現在のブロックと映像のビットストリーム表現との間での変換のために、現在のブロックの変換に対してアフィン予測が有効にされるかどうかに基づいて、動きゼロアフィンマージ候補をサブブロックマージ候補リストに挿入するかどうかを判定することと、この判定に基づいて、変換を行うことを含む。
別の代表的な態様では、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、映像の現在のブロックと、サブブロックマージ候補リストを使用する映像のビットストリーム表現との間での変換のために、サブブロックマージ候補リストが満たされていない場合にゼロ動き非アフィンパディング候補をサブブロックマージ候補リストに挿入することと、挿入の後に、変換を行うことと、を含む。
別の代表的な態様では、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、映像の現在のブロックと映像のビットストリーム表現との間での変換のために、動きベクトルが、コロケーションされたピクチャにおける対応する位置を含むブロックの1つ以上の動きベクトルから導出するものであると判定する規則を使用して、動きベクトルを判定することと、動きベクトルに基づいて、この変換を行うこととを含む。
さらに別の代表的な態様では、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、映像の現在のブロックと映像のビットストリーム表現との変換のために、同一位置に配置されたピクチャ内の現在のブロックまたは現在のブロックのサブブロックに関連付けられた時間的ブロックが、同じピクチャ内の以前に符号化されたサンプルに基づいて映像ユニットが再構成される符号化モードを使用して符号化されている場合に、変換に対してデフォルトの動き候補を有するサブブロックに基づく時間的動きベクトル予測(sbTMVP)ツールを使用すると決定することと、デフォルトの動き候補に基づいて変換を行うことと、を含む。
さらに別の代表的な態様では、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、映像の現在のブロックと映像のビットストリーム表現との間での変換の一部であるサブブロックに基づく時間的動きベクトル予測(sbTMVP)処理に対して、現在のブロックのサブブロックのための動き情報導出処理で使用される位置の所在に基づいて、sbTMVP処理のためのデフォルト動き情報を導出することと、デフォルト動き情報に基づいて、変換を実行することとを含む。
さらに別の代表的な態様では、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、サブブロックに基づく時間的動きベクトル予測(sbTMVP)ツールを用いて符号化された映像の現在のブロックと、映像のビットストリーム表現と、の変換のために、現在のブロックの現在のピクチャとは異なるピクチャ内の対応するブロックの位置を突き止めるために使用される修正された動きベクトルを決定することであって、修正された動きベクトルは、sbTMVPツールで予測に使用される動きベクトルを整数精度で右シフトすることによって生成される、決定することと、決定に基づいて前記変換を行うことと、を含む。
さらに別の例示的な態様では、ビデオエンコーダ装置が開示される。このビデオエンコーダ装置は、本明細書で説明される方法を実装するように構成されている処理装置を含む。
さらに別の例示的な態様では、ビデオデコーダ装置が開示される。このビデオデコーダ装置は、本明細書に記載の方法を実装するように構成されている処理装置を含む。
さらに別の態様では、コードが記憶されたコンピュータ可読媒体が開示される。このコードは、処理装置によって実行されると、この処理装置に、本明細書に記載の方法を実装させる。
これらの、および他の態様は、本明細書で説明される。
マージ候補リスト構築の導出処理の一例を示す図 空間的マージ候補の位置の例を示す図 空間的マージ候補の冗長性チェックで考慮される候補対の例を示す図 N×2N個の分割の第2の予測ユニット(PU)のための例示的な位置を示す図 2N×N個の分割の第2の予測ユニット(PU)のための例示的な位置を示す図 時間的マージ候補のための動きベクトルのスケーリングの例を示す図 時間的マージ候補の候補位置の例、C0およびC1を示す図 結合双予測マージ候補の例を示す図 動きベクトル予測候補の導出処理例を示す図 空間的動きベクトル候補のための動きベクトルのスケーリングの例を示す図 CUのための代替的な時間的動きベクトル予測(ATMVP)動き予測の例を示す図 4つのサブブロック(A-D)およびその近傍のブロックを有する1つのCUの例を示す図 異なるMV精度で符号化する例のフローチャート 135度分割タイプ(左上隅から右下隅への分割)を示す図 45度分割パターンを示す図 近傍のブロックの位置の例を示す図 上側および左右のブロックの例を示す図 2つの制御点動きベクトル(CPMV)の例を示す図 3つのCPMVの例を示す図 サブブロックごとのアフィン動きベクトルフィールド(MVF)の例を示す図 4パラメータアフィンモデルの例を示す図 6パラメータアフィンモデルの例を示す図 継承されたアフィン候補のAF_INTERのMVPの例を示す図 AF_INTERでアフィン動き予測子を構築する例を示す図 AF_MERGEにおけるアフィン符号化における制御点動きベクトルの例を示す図 AF_MERGEにおけるアフィン符号化における制御点動きベクトルの例を示す図 アフィンマージモードの候補位置の例を示す図 ピクチャ内ブロックコピー動作の一例を示す図 コロケーションされたピクチャにおける有効な対応する領域の例を示す図 履歴に基づく動きベクトル予測のための例示的なフローチャートを示す図 修正されたマージリスト構築処理を示す図 現在のブロックが基本領域内にある場合の、提案される有効領域の例示的な実施形態を示す図 現在のブロックが基本領域内にない場合の有効領域の例示的な実施形態を示す図 既存のデフォルト動き情報の識別のための場所の例を示す図 提案されたデフォルト動き情報の識別のための場所の例を示す図 映像処理方法の例を示すフローチャート 映像処理方法の例を示すフローチャート 映像処理方法の例を示すフローチャート 映像処理方法の例を示すフローチャート 映像処理方法の例を示すフローチャート 映像処理方法の例を示すフローチャート 映像処理方法の例を示すフローチャート 映像処理方法の例を示すフローチャート 映像処理方法の例を示すフローチャート 映像処理方法の例を示すフローチャート 映像処理方法の例を示すフローチャート 映像処理方法の例を示すフローチャート 映像処理方法の例を示すフローチャート 映像処理方法の例を示すフローチャート 映像処理方法の例を示すフローチャート 映像処理方法の例を示すフローチャート 本明細書に記載されるビジュアルメディアの復号化またはビジュアルメディアの符号化技術を実装するためのハードウェアプラットフォームの一例を示すブロック図 開示される技術が実装され得る例示的な映像処理システムのブロック図
本明細書は、伸張または復号化されたデジタル映像または画像の品質を向上させるために、ビデオビットストリームのデコーダで使用できる様々な技術を提供する。さらに、ビデオエンコーダは、さらなる符号化に使用される復号化されたフレームを再構成するために、符号化の処理中にこれらの技術を実装してもよい。
本明細書では、理解を容易にするために章見出しを使用しているが、実施形態および技術を、対応する章に限定するものではない。このように、一つの章からの実施形態は、他の章からの実施例と組み合わせることができる。
1. 概要
本特許明細書は、映像符号化技術に関する。具体的には、本発明は、映像符号化における動きベクトル符号化に関する。本発明は、HEVCのような既存の映像符号化規格またはファイナライズされるべき規格(例えば、汎用映像符号化)に適用され得る。本発明は、将来の映像符号化規格またはビデオコーデックにも適用可能である。
2. 序文
映像符号化規格は、主に周知のITU-TおよびISO/IEC規格の開発によって発展してきた。ITU-TはH.261とH.263を、ISO/IECはMPEG-1とMPEG-4Visualを、両団体はH.262/MPEG-2VideoとH.264/MPEG-4高度映像符号化(AVC)とH.265/HEVC規格を共同で作成した。映像符号化規格、H.262は、時間的予測プラス変換符号化が利用されるハイブリッド映像符号化構造に基づく。HEVCを超えた将来の映像符号化技術を探索するため、
2015年には、VCEGとMPEGが共同で共同映像探索チーム(Joint Video Exploration Team:JVET)を設立した。それ以来、多くの新しい方法がJVETによって採用され、共同探索モデル(JEM)と呼ばれる参照ソフトウェアに組み込まれてきた。2018年4月、VCEG(Q6/16)とISO/IEC
JTC_1 SC29/WG11(MPEG)の間に共同映像探索チーム(JVET)が作られ、HEVCと比較してビットレートを50%低減することを目標としたVVC規格に取り組むことになった。
VVCドラフトの最新バージョン、即ち、汎用映像符号化(ドラフト3)は、以下を参照することができる。
http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/12_Macao/wg11/JVET-L1001-v2.zip VTMと呼ばれるVVCの最新のリファレンスソフトウェアは、以下を参照。
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-3.0rC1
2.1 HEVC/H.265におけるインター予測
各インター予測されたPUは、1つまたは2つの参照ピクチャリストのための動きパラメータを有する。動きパラメータは、動きベクトルおよび参照ピクチャインデックスを含む。2つの参照ピクチャリストのうちの1つの参照ピクチャリストの使用は、inter_pred_idcを使用して信号通知されてもよい。動きベクトルは、予測子に対するデルタ(delta)として明確に符号化されてもよい。
1つのCUがスキップモードで符号化される場合、1つのPUがこのCUに関連付けられ、有意な残差係数がなく、符号化動きベクトルデルタも参照ピクチャインデックスもない。マージモードを指定し、これにより、現在のPUのための動きパラメータを、空間的および時間的候補を含む近傍のPUから取得する。マージモードは、スキップモードのためだけでなく、任意のインター予測されたPUに適用することができる。マージモードの代替としては、動きパラメータの明確な送信があり、PUごとに、各参照ピクチャリストおよび参照ピクチャリストの使用に対応する参照ピクチャインデックスである、動きベクトル(より正確には、動きベクトル予測子(MVD)と比較した動きベクトルの差)を明確に信号通知する。このようなモードを、本開示では高度動きベクトル予測(AMVP)と呼ぶ。
2つの参照ピクチャリストのうちの1つを使用することを信号通知が示す場合、1つのサンプルのブロックからPUを生成する。これを「単一予測」と呼ぶ。単一予測は、PスライスおよびBスライスの両方に利用可能である。
両方の参照ピクチャリストを使用することを信号通知が示す場合、2つのサンプルのブロックからPUを生成する。これを「双予測」と呼ぶ。Bスライスのみに双予測が利用可能である。
以下、HEVCに規定されるインター予測モードについて詳細に説明する。まず、マージモードについて説明する。
2.1.1 参照ピクチャリスト
HEVCにおいて、インター予測という用語は、現在の復号化されたピクチャ以外の参照ピクチャのデータ要素(例えば、サンプル値または動きベクトル)から導出された予測を示すために使用される。H.264/AVCと同様に、複数の参照ピクチャから1つのピクチャを予測することができる。インター予測に使用される参照ピクチャは、1つ以上の参照ピクチャリストにまとめられる。参照インデックスは、リストにおけるいずれの参照ピクチャを使用して予測信号を生成するかを識別する。
1つの参照ピクチャリストList0はPスライスに用いられ、2つの参照ピクチャリストList0およびList1はBスライスに使用される。なお、List0/1に含まれる参照ピクチャは、撮影/表示順にしても、過去および将来のピクチャからのものであってもよい。
2.1.2 マージモード
2.1.2.1 マージモードの候補の導出
マージモードを使用してPUを予測する場合、ビットストリームからマージ候補リストにおけるエントリを指すインデックスを構文解析し、これを使用して動き情報を検索する。このリストの構成は、HEVC規格で規定されており、以下のステップのシーケンスに基づいてまとめることができる。
・ ステップ1:初期候補導出
o ステップ1.1:空間的候補導出
o ステップ1.2:空間的候補の冗長性チェック
o ステップ1.3:時間的候補導出
・ ステップ2:追加候補挿入
o ステップ2.1:双予測候補の作成
o ステップ2.2:動きゼロ候補の挿入
これらのステップは図1にも概略的に示されている。空間的マージ候補導出のために、
5つの異なる位置にある候補の中から最大4つのマージ候補を選択する。時間的マージ候補導出のために、2つの候補の中から最大1つのマージ候補を選択する。デコーダ側ではPUごとに一定数の候補を想定しているので、ステップ1で得られた候補の数が、スライスヘッダにおいて信号通知されるマージ候補の最大数(MaxNumMergeCand)に達しない場合、追加の候補を生成する。候補の数は一定であるので、短縮された単項2値化(TU)を使用して最良マージ候補のインデックスを符号化する。CUのサイズが8に等しい場合、現在のCUのすべてのPUは、2N×2N予測ユニットのマージ候補リストと同じ1つのマージ候補リストを共有する。
以下、上述したステップに関連付けられた動作を詳しく説明する。
2.1.2.2 空間的候補導出
空間的マージ候補の導出において、図2に示す位置にある候補の中から、最大4つのマージ候補を選択する。導出の順序はA、B、B、A、Bである。位置A、B、B、AのいずれかのPUが利用可能でない場合(例えば、別のスライスまたはタイルに属しているため)、またはイントラ符号化された場合にのみ、位置Bが考慮される。位置Aの候補を加えた後、残りの候補を加えると、冗長性チェックを受け、それにより、同じ動き情報を有する候補を確実にリストから排除でき、符号化効率を向上させることができる。計算の複雑性を低減するために、前述の冗長性チェックにおいて、考えられる候補対のすべてを考慮することはしない。その代わりに、図3の矢印で結ばれたペアのみを考慮し、冗長性チェックに使用された対応する候補が同じ動き情報を持っていない場合にのみ、候補をリストに加える。重複した動き情報の別のソースは、2N×2Nとは異なる分割に関連付けられた「第2のPU」である。一例として、図4A及び図4Bは、
それぞれN×2Nおよび2N×Nの場合の第2のPUを示す。現在のPUをN×2Nに分割する場合、リスト構築に位置Aの候補は考慮されない。実際、この候補を加えることにより、双予測ユニットが同じ動き情報を有するようになり、1つの符号化ユニットに1つのPUのみを有することは冗長である。同様に、現在のPUを2N×Nに分割する場合、位置Bは考慮されない。
2.1.2.3 時間的候補導出
このステップにおいて、1つの候補のみがリストに追加される。具体的には、この時間的マージ候補の導出において、所与の参照ピクチャリストにおける現在のピクチャとの間に最小のPOC差を有するピクチャに属する同一位置PUに基づいて、スケーリングされた動きベクトルを導出する。スライスヘッダにおいて、同一位置PUの導出に用いられる参照ピクチャリストが明確に信号通知される。図5に点線で示すように、時間的マージ候補のスケーリングされた動きベクトルが得られる。これは、POC距離tbおよびtdを利用して、同一位置PUの動きベクトルからスケーリングしたものである。tbは、現在のピクチャの参照ピクチャと現在のピクチャのPOC差として規定し、tdは、同一位置PUの参照ピクチャと同一位置ピクチャのPOC差として規定する。時間的マージ候補の参照ピクチャインデックスをゼロに等しく設定する。このスケーリング処理の実際的な実現については、HEVC仕様に記載されている。Bスライスの場合、2つの動きベクトル、即ち、1つは参照ピクチャリスト0のためのもの、もう1つは参照ピクチャリスト1のためのもの、を取得し、これらを組み合わせることによって、双予測マージ候補を形成する。
図5は、時間的マージ候補の動きベクトルのスケーリングを示す図である。
参照フレームに属する同一位置PU(Y)において、図6に示すように、候補Cと候補Cとの間で時間的候補の位置を選択する。位置CのPUが利用可能でなく、イントラ符号化されるか、または現在の符号化ツリーユニット(CTU aka.LCU、最大符号化ユニット)行の外側にある場合、位置Cが使用される。そうでない場合、位置Cが時間的マージ候補の導出に使用される。
図6は、時間的マージ候補の候補位置C0、C1の例を示す。
2.1.2.4 追加候補挿入
時空間的マージ候補の他に、2つの追加のタイプのマージ候補、すなわち、結合双予測マージ候補およびゼロマージ候補がある。時空間的マージ候補を利用することで、結合双予測マージ候補を生成する。結合双予測マージ候補は、Bスライスのみに使用される。最初の候補の第1の参照ピクチャリスト動きパラメータと別の候補の第2の参照ピクチャリスト動きパラメータとを組み合わせることで、結合双予測候補を生成する。これら2つのタプルが異なる動き仮説を提供する場合、これらのタプルは、新しい双予測候補を形成する。一例として、図7は、オリジナルリスト(左側)における、mvL0、refIdxL0またはmvL1、refIdxL1を有する2つの候補を使用して、最終リスト(右側)に加えられる結合双予測マージ候補を生成する場合を示す。これらの追加のマージ候補を生成するために考慮される組み合わせについては、様々な規則が存在する。
動きゼロ候補を挿入し、マージ候補リストにおける残りのエントリを埋めることにより、MaxNumMergeCand容量にヒットする。これらの候補は、空間的変位がゼロであり、ゼロから始まり、新しいゼロ動き候補をリストに加える度に増加する参照ピクチャインデックスを有する。
具体的には、マージリストが一杯になるまで、以下のステップを順に行う。
1. Pスライスの場合、変数numRefを、リスト0に関連付けられた参照ピクチャの数またはBスライスの場合、2つのリストにおける参照ピクチャの最小数のいずれかに設定する。
2. 非反復動きゼロ候補を加える。
変数iが0~numRef-1の場合、MVを(0,0)に設定し、参照ピクチャインデックスをiに設定したデフォルトの動き候補を、リスト0(Pスライスの場合)に追加し、両方のリスト(Bスライスの場合)に加える。
3. MVを(0,0)に設定し、リスト0の参照ピクチャインデックスを0(Pスライスの場合)に設定し、両方のリストの参照ピクチャインデックスを0(Bスライスの場合)に設定した繰り返し動きゼロ候補を加える。
最終的には、これらの候補に対して冗長性チェックは行われない。
2.1.3 高度動きベクトル予測(AMVP)
AMVPは、動きパラメータの明確な伝送に使用される、動きベクトルの近傍のPUとの時空間的相関を利用する。各参照ピクチャリストにおいて、左側、上側の時間的に近傍のPU位置の可用性をチェックし、冗長な候補を取り除き、ゼロベクトルを加えることで、候補リストの長さを一定にすることにより、動きベクトル候補リストを構築する。次いで、エンコーダは、候補リストから最良の予測子を選択し、選択された候補を示す対応するインデックスを送信することができる。マージインデックスの信号通知と同様に、最良の動きベクトル候補のインデックスは、短縮された単項を使用して符号化される。この場合に符号化対象の最大値は2である(図8参照)。以下の章では、動きベクトル予測候補の導出処理の詳細を説明する。
2.1.3.1 AMVP候補の導出
図8に、動きベクトル予測候補の導出処理をまとめる。
動きベクトル予測において、空間的動きベクトル候補と時間的動きベクトル候補という2つのタイプの動きベクトル候補が考えられる。空間的動きベクトル候補を導出するために、図2に示したように、5つの異なる位置にある各PUの動きベクトルに基づいて、最終的には2つの動きベクトル候補を導出する。
時間的動きベクトル候補を導出するために、2つの異なる同一位置に配置された位置に基づいて導出された2つの候補から1つの動きベクトル候補を選択する。第1の時空間的候補リストを作成した後、リストにおける重複した動きベクトル候補を除去する。候補の数が2よりも多い場合、関連づけられた参照ピクチャリストにおける参照ピクチャインデックスが1よりも大きい動きベクトル候補をリストから削除する。時空間的動きベクトル候補の数が2未満である場合は、追加のゼロ動きベクトル候補をリストに加える。
2.1.3.2 空間的動きベクトル候補
空間的動きベクトル候補の導出において、図2に示すような位置にあるPUから導出された5つの候補のうち、最大2つの候補を考慮するそれらの位置は動きマージの位置と同じである。現在のPUの左側のための導出の順序は、A、A、スケーリングされたA、スケーリングされたAとして規定される。現在のPUの上側のための導出の順序は、B、B、B、スケーリングされたB、スケーリングされたB、スケーリングされたBとして規定される。そのため、辺ごとに、動きベクトル候補として使用できる場合は4つ、すなわち空間的スケーリングを使用する必要がない2つの場合と、空間的スケーリングを使用する2つの場合とがある。4つの異なる場合をまとめると、以下のようになる。
・ 空間的スケーリングなし
- (1)同じ参照ピクチャリスト、および同じ参照ピクチャインデックス(同じPOC)- (2)異なる参照ピクチャリストであるが、同じ参照ピクチャ(同じPOC)・ 空間的スケーリング- (3)同じ参照ピクチャリストであるが、異なる参照ピクチャ(異なるPOC)- (4)異なる参照ピクチャリスト、および異なる参照ピクチャ(異なるPOC)
最初に非空間的スケーリングの場合をチェックし、次に空間的スケーリングを行う。参照ピクチャリストにかかわらず、POCが近傍のPUの参照ピクチャと現在のPUの参照ピクチャとで異なる場合、空間的スケーリングを考慮する。左側候補のすべてのPUが利用可能でないか、またはイントラ符号化されている場合、上側の動きベクトルのスケーリングは、左側および上側MV候補の並列導出に役立つ。そうでない場合、上側の動きベクトルに対して空間的スケーリングは許可されない。
空間的スケーリング処理において、図9に示すように、時間的スケーリングと同様にして、近傍のPUの動きベクトルをスケーリングする。主な違いは、現在のPUの参照ピクチャリストおよびインデックスを入力として与え、実際のスケーリング処理は時間的スケーリングと同じであることである。
2.1.3.3 時間的動きベクトル候補
参照ピクチャインデックスを導出する以外は、時間的マージ候補を導出するための処理は、すべて、空間的動きベクトル候補を導出するための処理と同じである(図6参照)。
参照ピクチャインデックスはデコーダに信号通知される。
2.2 JEMにおけるサブCUに基づく動きベクトル予測方法
QTBTを有するJEMにおいて、各CUは、各予測方向に対して最大1つの動きパラメータセットを有することができる。エンコーダにおいて、ラージCUをサブCUに分割し、ラージCUのすべてのサブCUの動き情報を導出することにより、2つのサブCUレベルの動きベクトル予測方法を考慮する。代替的な時間的動きベクトル予測(ATMVP)方法により、各CUが、配列された参照ピクチャにおける現在のCUよりも小さい複数のブロックから複数の動き情報のセットを取り出すことが可能となる。時空間的動きベクトル予測(STMVP)法において、時間的動きベクトル予測子および空間的近傍動きベクトルを使用して、サブCUの動きベクトルを再帰的に導出する。
サブCU動き予測のためにより正確な動きフィールドを保守するために、参照フレームの動き圧縮は現在無効にされている。
図10は、CUのためのATMVP動き予測の例を示す。
2.2.1 代替の時間的動きベクトル予測
代替的な時間的動きベクトル予測(ATMVP)において、動きベクトル時間的動きベクトル予測(TMVP)法は、現在のCUより小さいブロックから複数動き情報のセット
(動きベクトルおよび参照インデックスを含む)を取り出すことで修正される。いくつかの実装形態において、サブCUは、N×N個の正方形ブロックである(Nは、デフォルトで4に設定される)。
ATMVPは、CU内のサブCUの動きベクトルを2つのステップで予測する。第1のステップでは、参照ピクチャにおける対応するブロックを時間的ベクトルで特定する。この参照ピクチャをモーションソースピクチャと呼ぶ。第2のステップでは、現在のCUをサブCUに分割し、各サブCUに対応するブロックから、各サブCUの動きベクトルおよび参照インデックスを得る。
Figure 2022544260000002
第2のステップにおいて、現在のCUの座標に時間ベクトルを加えることで、モーションソースピクチャにおける時間的ベクトルにより、サブCUの対応するブロックを特定する。サブCUごとに、その対応するブロックの動き情報(中心サンプルを覆う最小の動きグリッド)を使用して、サブCUの動き情報を導出する。対応するN×Nブロックの動き情報を特定した後、HEVCのTMVPと同様に、現在のサブCUの動きベクトルおよび参照インデックスに変換され、動きスケーリングや他の手順が適用される。例えば、デコーダは、低遅延条件(現在のピクチャのすべての参照ピクチャのPOCが現在のピクチャのPOCよりも小さい)が満たされているか否かをチェックし、場合によっては、動きベクトルMV(参照ピクチャリストXに対応する動きベクトル)を使用して、各サブCUの動きベクトルMV(Xが0または1に等しく、Yが1-Xに等しい)を予測する。
2.2.2 時空間的動きベクトル予測(STMVP)
この方法において、サブCUの動きベクトルは、ラスタスキャンの順に沿って再帰的に導出される。図11はこの概念を説明する。4つの4×4サブCU、A、B、C、およびDを含む8×8CUを考える。現在のフレームの近傍の4×4ブロックには、a、b、c、dというラベルが付けられている。
サブCU Aの動きの導出は、その2つの空間的近傍を特定することで始まる。第1の近傍は、サブCU Aの上のN×Nブロックである(ブロックc)。このブロックcが利用可能でないか、またはイントラ符号化されている場合、サブCU Aより上の他のN×N個のブロックをチェックする(ブロックcから始まり、左から右へ)。第2の近傍は、
サブCU Aの左側のブロックである(ブロックb)。ブロックbが利用可能でないか、
またはイントラ符号化されている場合、サブCU Aの左側の他のブロックをチェックする(ブロックbを中心に、上から下へ)。各リストの近傍のブロックから得られた動き情報を、所与のリストの第1の参照フレームにスケーリングする。次に、HEVCで規定されているTMVP導出と同じ手順に従って、サブブロックAの時間的動きベクトル予測子
(TMVP)を導出する。位置Dの同一位置のブロックの動き情報を取り出し、それに応じてスケーリングする。最後に、動き情報を検索し、スケーリングした後、参照リストごとにすべての利用可能な動きベクトル(3まで)を別個に平均する。この平均化された動きベクトルを現在のサブCUの動きベクトルとする。
2.2.3 サブCU動き予測モード信号通知
サブCUモードは追加のマージ候補として有効とされ、モードを信号通知するために追加の構文要素は必要とされない。ATMVPモードおよびSTMVPモードを表すように、各CUのマージ候補リストに2つの追加のマージ候補を加える。シーケンスパラメータセットがATMVPおよびSTMVPが有効であることを示す場合、7個までのマージ候補を使用する。追加のマージ候補のエン符号化ロジックは、HMにおけるマージ候補の場合と同じであり、つまり、PまたはBスライスにおける各CUについて、2つの追加のマージ候補に対して2回以上のRDチェックが必要となる。
JEMにおいて、マージインデックスのすべての2値は、CABACによってコンテキスト符号化される。一方、HEVCにおいては、第1の2値のみがコンテキスト符号化され、残りの2値はコンテキストバイパス符号化される。
2.3 VVCにおけるインター予測方法
MVDを信号通知するための適応動きベクトル差解像度(AMVR)、アフィン予測モード、三角形予測モード(TPM)、ATMVP、一般化双予測(GBI)、双方向オプティカルフロー(BIO)などのインター予測を改良するための新しい符号化ツールがいくつか存在する。
2.3.1 適応動きベクトル差解像度
HEVCにおいて、use_integer_mv_flagがスライスヘッダにおいて0であるとき、1/4輝度サンプルの単位で動きベクトルの差(MVD)(動きベクトルとPUの予測動きベクトルとの差)が信号通知される。VVCにおいて、ローカル適応動きベクトル解像度(LAMVR)が導入される。VVCにおいて、MVDは、1/4輝度サンプル、整数輝度サンプルまたは4つの輝度サンプル(即ち、1/4画素、1画素、
4画素)の単位で符号化することができる。MVD分解能は符号化ユニット(CU)レベルで制御され、MVD解像度フラグは、少なくとも1つのノンゼロMVDモジュールを有する各CUに対して条件付きで信号通知される。
少なくとも1つのノンゼロMVDモジュールを有するCUの場合、1/4輝度サンプルMV精度がCUにおいて使用されるか否かを示すために、第1のフラグが信号通知される。第1のフラグ(1に等しい)が、1/4輝度サンプルMV精度が使用されていないことを示す場合、整数輝度サンプルMV精度が使用されるかまたは4輝度サンプルMV精度が使用されるかを示すために、別のフラグが信号通知される。
CUの第1のMVD解像度フラグがゼロであるか、またはCUに対して符号化されていない(つまり、CUにおけるすべてのMVDがゼロである)場合、CUに対して1/4輝度サンプルMV解像度が使用される。CUが整数輝度サンプルMV精度または4輝度サンプルMV精度を使用する場合、CUのAMVP候補リストにおけるMVPを対応する精度に丸める。
エンコーダにおいて、CUレベルのRDチェックは、どのMVD解像度をCUに用いるかを判定するために使用される。すなわち、1つのMVD解像度ごとに3回、CUレベルのRDチェックを行う。エンコーダの速度を速めるために、JEMにおいては、以下の符号化方式が適用される。
通常の1/4輝度サンプルMVD解像度を有するCUのRDチェック中、現在のCUの動き情報(整数輝度サンプル精度)が記憶される。整数輝度サンプルおよび4輝度サンプルのMVD解像度を有する同じCUのRDチェック中に、記憶された動き情報(丸められた後)は、更なる小範囲動きベクトル改良の開始点として使用されるので、時間がかかる動き推定処理が3回重複しない。
4輝度サンプルMVD解像度を有するCUのRDチェックを条件付きで呼び出す。CUの場合、整数輝度サンプルMVD解像度のRDコストが1/4輝度サンプルMVD解像度のそれよりもはるかに大きい場合、CUのための4輝度サンプルMVD解像度のRDチェックはスキップされる。
符号化処理を図12に示す。まず、1/4画素MVをテストし、RDコストを計算し、
RDCost0と表し、次に、整数MVをテストし、RDコストをRDCost1と表す。RDCost1<th*RDCost0(ただし、thは正の値である)である場合、
4画素MVをテストし、そうでない場合、4画素MVをスキップする。基本的に、整数または4画素MVをチェックするときには、1/4画素MVに対して動き情報およびRDコスト等が既知であり、これを再利用して整数または4画素MVの符号化処理を高速化することができる。
2.3.2 三角形予測モード
三角形予測モード(TPM)の概念は、動き補償予測のために新しい三角形分割を導入することである。図13A及び図13Bに示すように、CUを対角線方向または逆対角線方向に2つの三角形予測ユニットに分割する。CUにおける各三角形予測ユニットは、1つの単一予測候補リストから導出された独自の単一予測動きベクトルおよび参照フレームインデックスを使用して、インター予測される。三角形予測ユニットを予測した後、対角エッジに対して適応重み付け処理を行う。そして、CU全体に対して変換および量子化処理を行う。なお、このモードは、マージモードにのみ適用される(なお、スキップモードは、特別なマージモードとして扱われる)。
図13A及び13Bは、CUを2つの三角形予測ユニット(2つの分割パターン)に分割する説明図である。図13A:135度分割タイプ(左上隅から右下隅への分割)、図13B:45度分割パターン。
2.3.2.1 TPMの単一予測候補リスト
Figure 2022544260000003
具体的には、以下のステップが含まれる。
1) 空間的に近傍のブロックから正規の動き候補を加える場合、フルプルーニング操作によって、、B、B、A、B、Col、Col2から正規の動き候補を得る(図14のブロック1-7に対応)。
2) 変数numCurrMergeCand=0を設定する。
Figure 2022544260000004
Figure 2022544260000005
Figure 2022544260000006
Figure 2022544260000007
7) numCurrMergeCandが5未満である場合、ゼロ動きベクトル候補を加える。
リストに候補を挿入するとき、それが前述の追加されたすべての候補と比較されてそれらのうちの1つと同じであるかどうかを調べなければならない場合、このような処理はフルプルーニングと呼ばれる。
2.3.2.2 適応重み付け処理
各三角形予測ユニットを予測した後、2つの三角形予測ユニット間の対角エッジに適応重み付け処理を施し、CU全体の最終予測を導出する。2つの重み係数群を以下のように定義する。
・ 第1の重み係数群は、{7/8,6/8,4/8,2/8,1/8}および{7/8,4/8,1/8}をそれぞれ輝度および色差サンプルに用いる。
・ 第2の重み係数群は、{7/8、6/8、5/8、4/8、3/8、2/8、1/8}および{6/8、4/8、2/8}をそれぞれ輝度および色差サンプルに使用する。
2つの三角形予測ユニットの動きベクトルの比較に基づいて、重み係数群を選択する。
第2の重み係数群は、2つの三角形予測ユニットの参照ピクチャが異なる場合、またはその動きベクトルの差が16画素よりも大きい場合に使用される。そうでない場合、第1の重み係数群を使用する。
2.3.2.3 三角形予測モード(TPM)の信号通知
TPMが使用されているか否かを示すための1つのビットフラグが、まず信号通知されてもよい。その後、(図13A及び図13Bに示すような)2つの分割パターン、および2つの分割の各々の選択されたマージインデックスをさらに信号通知する。
2.3.2.3.1 TPMフラグの信号通知
1つの輝度ブロックの幅および高さを、それぞれWおよびHで表すことにする。W*H
<64の場合、三角形予測モードは無効になる。
1つのブロックをアフィンモードで符号化する場合、三角形予測モードも無効にされる。
1つのブロックがマージモードで符号化されるとき、1つのビットフラグを信号通知して、このブロックに対して三角形予測モードが有効とされるか無効とされるかを示すことができる。
Figure 2022544260000008
図15は、TPMフラグ符号化におけるコンテキスト選択に用いられる近傍のブロック
(AおよびL)の例を示す。
2.3.2.3.2 2つの分割パターンの表示(図13に示す)、および2つの分割の各々に対して選択されたマージインデックスの信号通知
なお、分割パターンと、2つの分割のマージインデックスとは、互いに符号化される。
既存の実装形態において、2つの分割が同じ参照インデックスを使用できなかったことが制限される。そのため、2つの(分割パターン)*N(マージ候補の最大数)*(N-1)個の可能性があり、Nが5に設定される。1つの表示はコード化され、分割パターン、
2つのマージインデックス、コード化された指示の間のマッピングは、以下に定義された配列から導出される。
const uint8_t g_TriangleCombination[TRIANGLE_MAX_NUM_CANDS][3]={{0,1,0},{1,0,1},{1,0,2},{0,0,1},{0,2,0},{1,0,3},{1,0,4},{1,1,0},{0,3,0},{0,4,0},{0,0,2},{0,1,2},{1,1,2},{0,0,4},{0,0,3},{0,1,3},{0,1,4},{1,1,4},{1,1,3},{1,2,1},{1,2,0},{0,2,1},{0,4,3},{1,3,0},{1,3,2},{1,3,4},{1,4,0},{1,3,1},{1,2,3},{1,4,1},{0,4,1},{0,2,3},{1,4,2},{0,3,2},{1,4,3},{0,3,1},{0,2,4},{1,2,4},{0,4,2},{0,3,4}};
分割パターン(45度または135度)=g_TriangleCombination[signaled indication][0];Merge index of candidate A=g_TriangleCombination[signaled indication][1];Merge index of candidate B=g_TriangleCombination[signaled indication][2];
2つの動き候補A、Bを導出すると、AまたはBのいずれか一方から2つの分割の(PU1、PU2)動き情報を設定することができ、PU1がマージ候補AまたはBの動き情報を使用するか否かは、2つの動き候補の予測方向に依存する。表1は、2つの分割を有する、2つの導出された動き候補AおよびBの間の関係を示す。
Figure 2022544260000009
2.3.2.3.3(merge_triangle_idxで示す)表示のエントロピー符号化
merge_triangle_idxは、[0,39](それぞれを含む)の範囲内にある。K_th order Exponential Golomb(EG)コードは、merge_triangle_idxの2値化に使用される(Kは1に設定される)。
K-th orderEG
(より多くのビットを使用してより小さな数を符号化することを犠牲にして)より少ないビットでより大きな数を符号化するため、これは、非負の整数パラメータkを使用して一般化され得る。非負の整数xを次数kのexp-Golombコードで符号化するには、
次のようにする。
1. 前述のorder-0 exp-Golombコードを使用して[x/2]を符号化する。次に、
2. x mod 2をバイナリで符号化する。
Figure 2022544260000010
2.3.3 アフィン動き補償予測
HEVCにおいて、動き補償予測(MCP)のために並進運動モデルのみが適用される。実際の世界ではあるが、動きには様々な種類があり、例えば、ズームイン/ズームアウト、回転、透視運動、および他の不規則な動きがある。VVCにおいて、4パラメータアフィンモデルおよび6パラメータアフィンモデルを使用して、簡易アフィン変換動き補償予測を適用する。図16A~図16Bに示すように、ブロックのアフィン動きフィールドは、4パラメータアフィンモデル(図16A)の場合、2つの制御点動きベクトル(CPMV)によって表され、6パラメータアフィンモデル(図16B)の場合、3つのCPMVによって表される。
ブロックの動きベクトルフィールド(MVF)は、式(1)における4パラメータアフィンモデル(ここで、4パラメータを変数a、b、e、fとして定義する)および式(2)における6パラメータアフィンモデル(ここで、4パラメータを変数a、b、c、d、
e、fとして定義する)を使用して、それぞれ、以下の式で表される。
Figure 2022544260000011
Figure 2022544260000012
Figure 2022544260000013
動き補償予測をさらに簡単にするために、サブブロックに基づくアフィン変換予測が適用される。各M×N(現在のVVCにおいて、MおよびNの両方を4に設定する)サブブロックの動きベクトルを導出するために、図17に示すように、各サブブロックの中心サンプルの動きベクトルは、式(1)および式(2)に従って算出され、1/16の端数精度に丸められる。次に、1/16画素の動き補償補間フィルタを適用し、導出された動きベクトルを使用して各サブブロックの予測を生成する。1/16画素の補間フィルタは、
アフィンモードで導入される。
MCPの後、各サブブロックの高精度動きベクトルを丸め、通常の動きベクトルと同じ精度で保存する。
2.3.3.1 アフィン予測の信号通知
並進運動モデルと同様に、アフィン予測によるサイド情報の信号通知にも2つのモードがある。それらはAFFINE_INTERモードとAFFINE_MERGEモードである。
2.3.3.2. AF_INTERモード
幅と高さの両方が8より大きいCUの場合、AF_INTERモードを適用することができる。AF_INTERモードが使用されるか否かを示すために、ビットストリームにおいてCUレベルのアフィンフラグが信号通知される。
本実施例において、各参照ピクチャリスト(リスト0またはリスト1)に対して、3種類のアフィン動き予測子を使用して、以下の順にアフィンAMVP候補リストを構築し、
各候補は、現在のブロックの推定CPMVを含む。エンコーダ側で見つかった最良のCPMVの差(図20のmvmvmvなど)および推定されたCPMVが信号通知される。さらに、推定されたCPMVを導出するアフィンAMVP候補のインデックスが信号通知される。
1) 継承されたアフィン動き予測子
そのチェック順序は、HEVC AMVPリスト構築における空間的MVPのチェック順序に類似している。まず、{A1,A0}のうち、アフィン符号化された現在のブロックと同じ参照ピクチャを有する第1のブロックから、左側の継承されたアフィン動き予測子を導出する。次に、上記継承されたアフィン動き予測子を、アフィン符号化され、現在のブロックと同じ参照ピクチャを有する{B1,B0,B2}における第1のブロックから導出する、ブロックから導出する。図19には、5つのブロックA1、A0、B1、B0、B2が示されている。
近傍のブロックがアフィンモードで符号化されていることが見出されると、この近傍のブロックを含む符号化ユニットのCPMVを使用して、現在のブロックのCPMVの予測子を導出する。例えば、A1が非アフィンモードで符号化され、A0が4パラメータアフィンモードで符号化される場合、左側の継承されたアフィンMV予測子は、A0から導出する。この場合、図21Bの左上のCPMVについてはMV 、右上のCPMVについてはCPMVおよびMV で示されるA0を含むCUのCPMVを使用して、左上(座標(x0、y0))、現在のブロックの右上(座標(x1、y1))および右下の位置(座標(x2、y2))に対してMV ,MV ,MV で表される、現在のブロックの推定CPMVを導出する。
2) 構築されたアフィン動き予測子
構築されたアフィン動き予測子は、図20に示すように、近傍のインター符号化ブロックから導出された、同じ参照ピクチャを有する制御点動きベクトル(CPMV)からなる。現在のアフィン動きモデルが4パラメータアフィンである場合、CPMVの数は2であり、そうでない場合、現在のアフィン動きモデルが6パラメータアフィンである場合、CPMVの数は3である。左上のCPMVm ̄v ̄は、インターコードされており、現在のブロックと同じ参照ピクチャを持っているグループ{A、B、C}の第1のブロックのMVによって導出する。右上のCPMVm ̄v ̄は、インターコードされており、現在のブロックと同じ参照ピクチャを持っているグループ{D、E}の第1のブロックのMVによって導出する。左下のCPMVm ̄v ̄は、インターコードされており、現在のブロックと同じ参照ピクチャを持っているグループ{F、G}の第1のブロックのMVによって導出する。
- 現在のアフィンモーションモデルが4パラメータアフィンである場合、構築されたアフィン動き予測子は、m ̄v ̄とm ̄v ̄の両方が確立されている場合、つまりm ̄v ̄とm ̄v ̄の場合にのみ候補リストに挿入される。現在のブロックの左上(座標
(x0、y0))、右上(座標(x1、y1))の位置の推定CPMVとして使用される。
- 現在のアフィンモーションモデルが6パラメータアフィンである場合、m ̄v ̄、
m ̄v ̄、およびm ̄v ̄がすべて確立されている場合、つまりm ̄v ̄、m ̄v ̄、およびm ̄v ̄がすべて、現在のブロックの位置の左上(座標(x0、y0))、右上(座標(x1、y1))、および右下(座標(x2、y2))の推定CPMVとして使用される場合にのみ、構築されたアフィン動き予測子が候補リストに挿入される。
構築されたアフィン動き予測子を候補リストに挿入する場合、プルーニング処理は適用されない。
3) 通常のAMVP動き予測子
アフィン動き予測子の数が最大に達するまで、以下が適用される。
1) 利用可能な場合は、すべてのCPMVをm ̄v ̄に等しく設定して、アフィン動き予測子を導出する。
2) 利用可能な場合は、すべてのCPMVをm ̄v ̄に等しく設定して、アフィン動き予測子を導出する。
3) 利用可能な場合は、すべてのCPMVをm ̄v ̄に設定して、アフィン動き予測子を導出する。
4) 利用可能な場合は、すべてのCPMVをHEVCTMVPに等しく設定することで、アフィン動き予測子を導出する。
5) すべてのCPMVをゼロMVに設定することによって、アフィン動き予測子を導出する。
なお、m ̄v ̄は、構築されたアフィン動き予測子ですでに導出されている。
図18Aは、4パラメータアフィンモデルの例を示す。図18Bは、6パラメータアフィンモデルの例を示す。
図19は、継承されたアフィン候補のAF_INTERのMVPの例を示す。
図20は、構築されたアフィン候補のAF_INTERのMVPの例を示す。
AF_INTERモードにおいて、4/6パラメータアフィンモードが使用される場合、2/3個の制御点が必要であり、従って、図18に示すように、これらの制御点のために2/3個のMVDを符号化することが必要である。既存の実装形態において、MVを以下のように導出することが提案され、即ち、mvdおよびmvdはmvdから予測される。
mv=m ̄v ̄+mvd
mv=m ̄v ̄+mvd+mvd
mv=m ̄v ̄+mvd+mvd
ここで、m ̄v ̄、mvd、mvは、それぞれ、図18Bに示すように、左上の画素(i=0)、右上の画素(i=1)、左下の画素(i=2)の予測動きベクトル、動きベクトルの差分、動きベクトルである。なお、2つの動きベクトル(例えば、mvA(xA,yA)およびmvB(xB,yB))の加算は、2つのモジュールを別個に合計したものに等しく、即ち、newMV=mvA+mvBであり、newMVの2つのモジュールをそれぞれ(xA+xB)および(yA+yB)に設定する。
2.3.3.3 AF_MERGEモード
AF_MERGEモードでCUを適用する場合、CUは、有効な近傍の再構築ブロックから、アフィンモードで符号化された第1のブロックを得る。そして、候補ブロックの選択順は、図21AのABCDEの順に示すように、左、上、右上、左下から左上へとなる。例えば、隣接する左下のブロックが、図21B中のA0で示されるように、アフィンモードで符号化される場合、ブロックAを含む近傍のCU/PUの左上隅、右上隅、左下隅の制御点(CP)動きベクトルmv 、mv およびmv を取り出す。そして、
mv 、mv およびmv に基づいて、現在のCU/PUにおける左上/右上/左下の動きベクトルmv 、mv およびmv (6パラメータアフィンモデルにのみ用いられる)を算出する。なお、VTM-2.0において、左上隅に位置するサブブロック(例えば、VTMにおける4×4ブロック)は、MV0を記憶し、右上隅に位置するサブブロックは、現在のブロックがアフィン符号化されている場合、mv1を記憶する。現在のブロックが6パラメータアフィンモデルで符号化されている場合、左下隅に位置するサブブロックはmv2を記憶し、そうでない場合(4パラメータアフィンモデルで)、LBはmv2’を記憶する。他のサブブロックは、MCに用いられるMVを記憶する。
現在のCU mv0、mv1、mv2のCPMVを導出した後、簡易アフィン動きモデル式(1)、(2)にしたがって、現在のCUのMVFを生成する。現在のCUがAF_MERGEモードで符号化されているか否かを識別するために、アフィンモードで符号化された近傍のブロックが少なくとも1つある場合、ビットストリーム内にアフィンフラグを信号通知する。
既存の実装形態において、アフィンマージ候補リストは、以下のステップを使用して構築される。
1) 継承されたアフィン候補を挿入する
継承されたアフィン候補は、その有効な近傍アフィン符号化ブロックのアフィン動きモデルからその候補を導出することを意味する。近傍のブロックのアフィン動きモデルから最大2つの継承されたアフィン候補を導出し、候補リストに挿入する。左側の予測子の場合、スキャン順序は{A0,A1}であり、上記の予測子の場合、スキャン順序は{B0,B1,B2}である。
2) 構築されたアフィン候補を挿入する
アフィンマージ候補リストにおける候補の数がMaxNumAffineCand未満である場合(例えば、5個)、構築されたアフィン候補を候補リストに挿入する。構築されたアフィン候補は、各制御点の近傍の動き情報を組み合わせることで候補を構築することを意味する。
a) まず、図22に示される特定された空間的近傍および時間的近傍から、制御点の動き情報を導出する。CPk(k=1,2,3,4)は、k番目の制御点を表す。A0,A1、A2、B0、B1、B2、B3は、CPk(k=1,2,3)を予測するための空間的位置であり、Tは、CP4を予測するための時間的位置である。
CP1、CP2、CP3、CP4の座標は、それぞれ、(0、0)、(W、0)、(H、
0)、(W、H)であり、W、Hは、現在のブロックの幅および高さである。
各制御点の動き情報は、以下の優先順位に従って取得される。
- CP1の場合、チェックの優先順位はB2->B3->A2である。利用可能であれば、B2を使用する。そうではなく、B2が利用可能である場合、B3が使用される。B2とB3の両方が利用不可能である場合、A2が使用される。3つの候補のすべてが利用不可能である場合、CP1の動き情報を取得することができない。
- CP2の場合、チェックの優先順位はB1->B0である。
- CP3の場合、チェックの優先順位はA1->A0である。
- CP4にはTを用いる。
b) 次に、アフィンマージ候補を構築するためにこれらの制御点の組み合わせを使用する。
I. 6パラメータアフィン候補を構築するためには、3つの制御点の動き情報が必要である。3つの制御点は、以下の4つの組み合わせ({CP1、CP2、CP4}、{CP1、CP2、CP3}、{CP2、CP3、CP4}、{CP1、CP3、CP4})のうち1つを選択することができる。{CP1,CP2,CP3},{CP2,CP3,CP4},{CP1,CP3,CP4}の組み合わせを、左上、右上、左下の制御点で表される6パラメータ動きモデルに変換する。
II. 4パラメータアフィン候補を構築するためには、2つの制御点の動き情報が必要である。2つの制御点は、2つの組み合わせ({CP1,CP2}、{CP1,CP3})の1つから選択されてもよい。この2つの組み合わせを、左上および右上の制御点で表される4パラメータ動きモデルに変換する。
III. 構築されたアフィン候補の組み合わせを以下の順に候補リストに挿入する。
{CP1,CP2,CP3},{CP1,CP2,CP4},{CP1,CP3,CP4},{CP2,CP3,CP4},{CP1,CP2},{CP1,CP3}i. 各組み合わせについて、各CPに対するリストXの参照インデックスをチェックし、それらがすべて同じである場合、このコンビネーションはリストXに対して有効なCPMVを有する。このコンビネーションがリスト0およびリスト1の両方に対して有効なCPMVを有していない場合、このコンビネーションは無効としてマークされる。そうでない場合、それは有効であり、CPMVはサブブロックマージリストに入れられる。
3) 動きベクトルがゼロのパディング
アフィンマージ候補リストにおける候補の数が5未満である場合、リストが一杯になるまで、参照インデックスがゼロのゼロ動きベクトルを候補リストに挿入する。
具体的には、サブブロックマージ候補リストについて、MVが(0,0)に設定され、
予測方向がリスト0(Pスライスの場合)から単一予測に設定される4パラメータマージ候補と、双予測(Bスライスの場合)とを行う。
2.3.4 現在のピクチャの参照
Figure 2022544260000014
HEVC SCC、VVCにおけるCRPの設計と同様に、IBCモードの使用は、シーケンスレベルおよびピクチャレベルの両方で信号通知される。シーケンスパラメータセット(SPS)においてIBCモードが有効にされる場合、それはピクチャレベルで有効にされることができる。IBCモードがピクチャレベルで有効にされる場合、現在の再構築ピクチャは参照ピクチャとして扱われる。従って、IBCモードの使用を合図するために、既存のVVCインターモードの上部では、ブロックレベルでの構文変更は必要とされない。
Figure 2022544260000015
2.3.5 VVCにおけるマージリスト設計
VVCでサポートされる3つの異なるマージリスト構築処理がある。
Figure 2022544260000016
Figure 2022544260000017
Figure 2022544260000018
2.3.5.1 サブブロックマージ候補リスト
なお、非サブブロックマージ候補の通常マージリストに加え、すべてのサブブロック関連の動き候補を別個のマージリストに入れることが推薦される。
サブブロック関連動き候補を別個のマージリストに入れ、「sub-blockマージ候補リスト」とする。
一例において、サブブロックマージ候補リストは、アフィンマージ候補、ATMVP候補、および/またはサブブロックに基づくSTMVP候補を含む。
2.3.5.1.1 別のATMVP実施形態
この寄与において、通常マージリストにおけるATMVPマージ候補をアフィンマージリストの第1の位置に移動させる。新しいリストにおけるすべてのマージ候補(すなわち、サブブロックに基づくマージ候補リスト)は、サブブロック符号化ツールに基づく。
2.3.5.1.2 VTM-3.0のATMVP
VTM-3.0において、通常のマージ候補リストの他に、サブブロックマージ候補リスト(別名、アフィンマージ候補リスト)と呼ばれる特殊なマージ候補リストを加える。
サブブロックマージ候補リストは、以下の順に候補を満たす。
b. ATMVP候補(利用可能でも、または利用不可能でもよい)
c. 継承されたアフィン候補
d. 構築されたアフィン候補
e. ゼロMV4パラメータアフィンモデルとしてのパディング
Figure 2022544260000019
Figure 2022544260000020
VTM-3.0におけるATMVPは、JEMにおけるATMVPよりもずっとシンプルである。ATMVPマージ候補を生成する場合、以下の処理が適用される。
a. 図22に示すように、近傍のブロックA1、B1、B0、A0をチェックして、ブロックXとして示される、インターコードされているがCPRコードされていない第1のブロックを見出す。
b. TMV=(0,0)を初期化する。ブロックXに1つのMV(MV’と表記される)がある場合、(スライスヘッダに信号通知されたら)コロケーションされた参照ピクチャを参照し、TMVをMV’に等しく設定する。
c. 現在のブロックの中心点を(x0,y0)とし、次に、コロケーションされたピクチャにおける(x0,y0)の対応する位置をM=(x0+MV’x,y0+MV’y)として配置する。Mを含むブロックZを見つける。
i. Zがイントラ符号化されている場合、ATMVPは利用できない。
ii. Zがインター符号化されている場合、ブロックZの2つのリストのMVZ_0とMVZ_1は、MVdefault0、MVdefault1として(Reflist0 index0)と(Reflist1 index0)にスケーリングされ、記憶される。
d. 各8×8サブブロックに対して、その中心点が(x0S,y0S)であると仮定し、次に、コロケーションされたピクチャにおける(x0S,y0S)の対応する位置をMS=(x0S+MV’x,y0S+MV’y)として位置指定する。MSを含むブロックZSを見つける。
i. ZSがイントラ符号化されている場合、MVdefault0、MVdefault1がサブブロックに割り当てられる。
ii. ZSがインター符号化されている場合、ブロックZSの2つのリストのMVZS_0とMVZS_1は、(Reflist0 index0)と(Reflist1 index0)にスケーリングされ、サブブロックに割り当てられる。
ATMVPでのMVクリッピングとマスキング
コロケーションされたピクチャにおいて、MまたはMS等の対応する位置を規定する場合、所定の領域内にあるようにクリッピングされる。CTUのサイズは、VTM-3.0においてS×S、S=128である。コロケーションされたCTUの左上の位置が(xCTU,yCTU)であるとすると、対応する位置MまたはMSの(xN,yN)における位置は、有効領域xCTU<=xN<xCTU+S+4;yCTU<=yN<yCTU+Sにクリッピングされる。
クリッピングの他に、(xN,yN)もまた、xN=xN&MASK,yN=yN&MASKとしてマスクされ、ここで、MASKは、~(2-1)に等しい整数であり、N=3であり、最低3ビットを0に設定する。よって、xNおよびyNは、8の倍数でなければならない。(“~”はビット単位の補数演算子を表する。)
図24は、コロケーションされたピクチャにおける有効な対応する領域の例を示す。
2.3.5.1.3 スライスヘッダにおける構文設計
Figure 2022544260000021
2.3.5.2 通常マージリスト
マージリストの設計とは異なり、VVCでは、履歴に基づく動きベクトル予測(HMVP)法が採用されている。
HMVPには、前述の符号化された動き情報が記憶される。前述の符号化されたブロックの動き情報をHMVP候補と定義する。複数のHMVP候補をHMVPテーブルと呼ばれるテーブルに記憶し、このテーブルは符号化/復号化処理中、オンザフライで維持される。新しいスライスの符号化/復号化を開始するとき、HMVPテーブルは空になる。インターコーディングされたブロックがあるときはいつでも、関連する動き情報を新しいHMVP候補としてテーブルの最後のエントリに加える。全体の符号化フローを図25に示す。
HMVP候補は、AMVPおよびマージ候補リスト構築処理の両方に用いることができる。図26は、修正されたマージ候補リスト構築処理(青色で強調表示)を示す。TMVP候補を挿入した後、マージ候補リストが満杯でない場合、HMVPテーブルに記憶されたHMVP候補を利用してマージ候補リストに記入することができる。1つのブロックは、通常、動き情報の観点から、最も近接した近傍のブロックとの間に高い相関を有することを考慮し、テーブルにおけるHMVP候補をインデックスの降順に挿入する。テーブルの最後のエントリをまずリストに加え、最後に第1のエントリを加える。同様に、HMVP候補に対して冗長性除去が適用される。利用可能なマージ候補の総数がマージ可能なマージ候補の信号通知可能な最大数に達すると、マージ候補リスト構築処理を終了する。
2.4 MVの四捨五入
VVCにおいて、MVが右シフトしている場合、MVを0に向かって丸めるように求める。定式化した形で、MV(MVx,MVy)をNビット右シフトすると、結果MV‘(MVx’,MVy’)は、以下のように導出する。
MVx’=(MVx+((1<<N)>>1)-(MV_x>=0?1:0))>>N;
MVy’=(MVy+((1<<N)>>1)-(MVy>=0?1:0))>>N;
2.5 参照ピクチャ再サンプリング(RPR)の実施形態
ARC、別名、参照ピクチャ再サンプリング(RPR)は、既存のおよび今後の映像規格に組み込まれている。
RPRのいくつかの実施形態において、コロケーションされたピクチャが現在のピクチャと異なる解像度を有する場合、TMVPは無効にされる。また、参照ピクチャの解像度が現在のピクチャと異なる場合、BDOFおよびDMVRは無効にされる。
参照ピクチャの解像度が現在のピクチャの解像度と異なる場合、通常のMCを扱うために、補間セクションは、以下のように定義される。
8.5.6.3 端数サンプル補間処理
8.5.6.3.1 概説
この処理への入力は以下の通りである。
- 現在のピクチャの左上の輝度サンプルに対する現在の符号化サブブロックの左上のサンプルを規定する輝度位置(xSb,ySb)、
- 現在の符号化サブブロックの幅を規定する変数sbWidth、
- 現在の符号化サブブロックの高さを規定する変数sbHeight、
- 動きベクトルオフセットmvOffset、
- 微調整された動きベクトルrefMvLX、
- 選択された参照ピクチャサンプル配列refPicLX、
- 1/2サンプル補間フィルタインデックスhpelIfIdx、
- 双方向オプティカルフローフラグbdofFlag、
- 現在のブロックの色成分インデックスを規定する変数cIdx。
この処理の出力は以下の通りである。
- 予測サンプル値の(sbWidth+brdExtSize)x(sbHeight+brdExtSize)配列predSamplesLX。
予測ブロック境界拡大サイズbrdExtSizeは、以下のように導出する。
brdExtSize=(bdofFlag||(inter_affine_flag
[xSb][ySb] && sps_affine_prof_enabled_flag))?2:0 (8-752)
変数fRefWidthは、輝度サンプルにおける参照ピクチャのPicOutputWidthLに等しく設定される。
変数fRefHeightは、輝度サンプルにおける参照ピクチャのPicOutputHeightLに等しく設定される。
動きベクトルmvLXは、(refMvLX-mvOffset)に等しく設定される。
- cIdxが0に等しい場合、以下が適用される。
- スケーリングファクタおよびその固定小数点表現は、以下のように定義される。
hori_scale_fp=((fRefWidth<<14)+(PicOutputWidthL>>1))/PicOutputWidthL (8-753)
vert_scale_fp=((fRefHeight<<14)+(PicOutputHeightL>>1))/PicOutputHeightL (8-754)
- (xIntL,yIntL)をフルサンプルユニットで与えられた輝度位置とし、
(xFracL,yFracL)を1/16サンプル単位で与えられたオフセットとする。これらの変数は、本項でのみ、参照サンプル配列refPicLX内の端数サンプル位置を規定するために使用される。
- 参照サンプルパディング用バウンディングブロック(xSbInt,ySbInt)の左上座標を、(xSb+(mvLX[0]>>4),ySb+(mvLX[1]>>4))に等しく設定する。
- 予測輝度サンプル配列predSamplesLX内の各輝度サンプル位置(x=0..sbWidth-1+brdExtSize,y=0..sbHeight-1+brdExtSize)について、対応する予測輝度サンプル値predSamplesLX[x][y]は下記のように導出する。
- (refxSb,refySb)および(refx,refy)を、1/16サンプル単位で与えられる動きベクトル(refMvLX[0],refMvLX[1])が指す輝度位置とする。変数refxSb、refx、refySb、refyは、以下のように導出する。
refxSb=((xSb<<4)+refMvLX[0])*hori_scale_fp (8-755)
refx=((Sign(refxSb)*((Abs(refxSb)+128)>>8)+x*((hori_scale_fp+8)>>4))+32)>>6
(8-756)
refySb=((ySb<<4)+refMvLX[1])*vert_scale_fp (8-757)
refyL=((Sign(refySb)*((Abs(refySb)+128)>>8)+yL*((vert_scale_fp+8)>>4))+32)>>6
(8-758)
- 変数xInt、yInt、xFrac、およびyFracは、以下のように導出する。
xInt=refx>>4 (8-759)
yInt=refy>>4 (8-760)
xFrac=refx&15 (8-761)
yFrac=refy&15 (8-762)
- bdofFlagがTRUEに等しいか(sps_affine_prof_enabled_flagがTRUEに等しく、inter_affine_flag[xSb][ySb]がTRUEに等しい)、次の条件の1つ以上が真である場合、予測輝度サンプル値predSamplesLX[x][y]は、8.5.6.3.3項で規定されているように、入力として(xInt+(xFrac>>3)-1),yInt+(yFrac>>3)-1)およびrefPicLXを使用して輝度整数サンプル取り出し処理を呼び出すことによって導出する。
1. xは0に等しい。
2. xは、sbWidth+1に等しい。
3. yは0に等しい。
4. yは、sbHeight+1に等しい。
- そうでない場合、8.5.6.3.2項で規定されるように、(xIntL-(brdExtSize>0?で輝度サンプル8タップ補間フィルタリング処理を呼び出すことによって、予測輝度サンプル値predSamplesLX[x][y]を導出する。1:0),yIntL-(brdExtSize>0?1:0))、入力として、(xFracL,yFracL)、(xSbInt,ySbInt)、refPicLX、hpelIfIdx、sbWidth、sbHeight、および(xSb,ySb)。
- そうでない場合(cIdxが0に等しくない)、以下が適用される。
- (xIntC,yIntC)をフルサンプルユニットで与えられたクロマ位置とし、(xFracC,yFracC)を1/32サンプル単位で与えられたオフセットとする。これらの変数は、本項でのみ、参照サンプル配列refPicLX内の一般的な端数サンプルの位置を規定するために使用される。
- 参照サンプルパディング用バウンディングブロック(xSbIntC,ySbIntC)の左上座標は、((xSb/SubWidthC)+(mvLX[0]>>5),
(ySb/SubHeightC)+(mvLX[1]>>5))に等しく設定される。
- 予測クロマサンプル配列predSamplesLX内の各クロマサンプル位置(xC=0..sbWidth-1,yC=0..sbHeight-1)について、対応する予測クロマサンプル値predSamplesLX[xC][yC]は、以下のように導出する。
- (refxSb,refySb)および(refx,refy)を、1/32サンプル単位で与えられる動きベクトル(mvLX[0],mvLX[1])が指すクロマ位置とする。変数refxSb、refySb、refx、refyは、以下のように導出する。
refxSb=((xSb/SubWidthC<<5)+mvLX[0])*hori_scale_fp (8-763)
refx=((Sign(refxSb)*((Abs(refxSb)+256)>>9)+xC*((hori_scale_fp+8)>>4))+16)>>5 (8-764)
refySb=((ySb/SubHeightC<<5)+mvLX[1])*vert_scale_fp (8-765)
refyC=((Sign(refySb)*((Abs(refySb)+256)>>9)+yC*((vert_scale_fp+8)>>4))+16)>>5 (8-766)
- 変数xInt、yInt、xFrac、yFracは、以下のように導出する。
xInt=refx>>5 (8-767)
yInt=refy>>5 (8-768)
xFrac=refy&31 (8-769)
yFrac=refy&31 (8-770)
- 予測サンプル値predSamplesLX[xC][yC]は、(xIntC,yIntC),(xFracC,yFracC),(xSbIntC,ySbIntC),sbWidth,sbHeight、およびrefPicLXを入力として、8.5.6.3.4項で指定した処理を呼び出すことによって導出される。
8.5.6.3.2 輝度サンプル補間フィルタリング処理
この処理への入力は以下の通りである。
- フルサンプルユニット(xInt,yInt)における輝度位置、
- 端数サンプル単位での輝度位置(xFrac,yFrac)、
- 参照ピクチャの左上の輝度サンプルに対する参照サンプルのパディングのための境界ブロックの左上のサンプルを規定する、フルサンプルユニット(xSbInt,ySbInt)における輝度位置、
- 輝度参照サンプル配列refPicLX
- 1/2サンプル補間フィルタインデックスhpelIfIdx、
- 現在のサブブロックの幅を規定する変数sbWidth、
- 現在のサブブロックの高さを規定する変数sbHeight、
- 現在のピクチャの左上の輝度サンプルに対する現在のサブブロックの左上のサンプルを規定する輝度位置(xSb,ySb)、
この処理の出力は、予測輝度サンプル値predSampleLXである。
変数shift1、shift2、およびshift3は、以下のように導出する。
- 変数shift1をMin(4,BitDepth_8)に等しく設定し、変数shift2を6に等しく設定し、変数shift3をMax(2,14-BitDepth)に等しく設定する。
- 変数picWはpic_width_in_luma_samplesに等しく設定され、変数picHはpic_height_in_luma_samplesに等しく設定される。
xFracまたはyFracに等しい各1/16端数サンプル位置pに対する輝度補間フィルタ係数f[p]は、以下のように導出する。
- MotionModelIdc[xSb][ySb]が0より大きく、sbWidthおよびsbHeightがともに4に等しい場合、輝度補間フィルタ係数f[p]を表8-12で指定する。
- そうでない場合、hpelIfIdxに基づいて輝度補間フィルタ係数f[p]を表8-11で指定する。
i=0..7の場合、フルサンプルユニット(xInt,yInt)における輝度位置は、以下のように導出する。
- subpic_treated_as_pic_flag[SubPicIdx]が1に等しい場合、以下が適用される。
xInt=Clip3(SubPicLeftBoundaryPos,SubPicRightBoundaryPos,xInt+i-3) (8-771)
yInt=Clip3(SubPicTopBoundaryPos,SubPicBotBoundaryPos,yInt+i-3) (8-772)- それ以外の場合(subpic_treated_as_pic_flag[SubPicIdx]が0に等しい)、以下が適用される。
xInt=Clip3(0,picW-1,sps_ref_wraparound_enabled_flag?
ClipH((sps_ref_wraparound_offset_minus1+1)*MinCbSizeY,picW,xInt+i-3): (8-773)
xInt+i-3)
yInt=Clip3(0,picH-1,yInt+i-3) (8-774)
i=0..7の場合、フルサンプルユニットにおける輝度位置は、以下のようにさらに修正される。
xInt=Clip3(xSbInt-3,xSbInt+sbWidth+4,xInt) (8-775)
yInt=Clip3(ySbInt-3,ySbInt+sbHeight+4,yInt) (8-776)
予測輝度サンプル値predSampleLXは、以下のように導出する。
- 両方のxFracおよびyFracが0に等しい場合、predSampleLXの値は、以下のように導出する。
predSampleLX=refPicLX[xInt][yInt]<<shift3 (8-777)- そうではなく、xFracLが0に等しくなく、yFracLが0に等しい場合は、
predSampleLXの値は、以下のように導出する。
predSampleLX=(Σ i=0[xFrac][i]*refPicLX[xInt][yInt])>>shift1 (8-778)- そうではなく、xFracが0に等しく、yFracが0に等しくない場合、predSampleLXの値は、以下のように導出する。
predSampleLX=(Σ i=0[yFrac][i]*refPicLX[xInt][yInt])>>shift1 (8-779)- そうではなく、xFracが0に等しくなく、yFracが0に等しくない場合、predSampleLXの値は、以下のように導出する。
- n=0..7のサンプル配列temp[n]は、以下のように導出する。
temp[n]=(Σ i=0[xFrac][i]*refPicLX[xInt][yInt])>>shift1 (8-780)- 予測輝度サンプル値predSampleLXは、以下のように導出する。
predSampleLX=(Σ i=0[yFrac][i]*temp[i])>>shift2 (8-781)
Figure 2022544260000022
Figure 2022544260000023
8.5.6.3.3 輝度整数サンプル取り出し処理
この処理への入力は以下の通りである。
- フルサンプルユニット(xInt,yInt)における輝度位置、
- 輝度参照サンプル配列refPicLX
この処理の出力は、予測輝度サンプル値predSampleLXである。
この変数shiftは、Max(2,14-BitDepth)に等しく設定される。
変数picWはpic_width_in_luma_samplesに等しく設定され、変数picHはpic_height_in_luma_samplesに等しく設定される。
フルサンプルユニット(xInt,yInt)における輝度位置は、以下のように導出する。
xInt=Clip3(0,picW-1,sps_ref_wraparound_enabled_flag? (8-782)
ClipH((sps_ref_wraparound_offset_minus1+1)*MinCbSizeY,picW,xInt):xInt
yInt=Clip3(0,picH-1,yInt) (8-783)
予測輝度サンプル値predSampleLXは、以下のように導出する。
predSampleLX=refPicLX[xInt][yInt]<<shift3 (8-784)
8.5.6.3.4 クロマサンプル補間処理
この処理への入力は以下の通りである。
- フルサンプルユニット(xInt,yInt)におけるクロマ位置、
- 1/32の端数サンプル単位でのクロマ位置(xFrac,yFrac)、
- 参照ピクチャの左上のクロマサンプルに対する参照サンプルパディングのための境界ブロックの左上のサンプルを規定する、フルサンプルユニット(xSbIntC,ySbIntC)におけるクロマ位置、
- 現在のサブブロックの幅を規定する変数sbWidth、
- 現在のサブブロックの高さを規定する変数sbHeight、
- クロマ参照サンプル配列refPicLX
この処理の出力は、予測クロマサンプル値predSampleLXである。
変数shift1、shift2、およびshift3は、以下のように導出する。
- 変数shift1をMin(4,BitDepth-8に等しく設定し、変数shift2を6に等しく設定し、変数shift3をMax(2,14-BitDepth)に等しく設定する。
- 変数picWはpic_width_in_luma_samples/SubWidthCに等しく設定され、変数picHはpic_height_in_luma_samples/SubHeightCに等しく設定される。
表8-13に、xFracまたはyFracに等しい各1/32端数サンプル位置pのクロマ補間フィルタ係数f[p]を示す。
変数xOffsetは、(sps_ref_wraparound_offset_minus1+1)*MinCbSizeY)/SubWidthCに等しく設定される。
i=0..3の場合、フルサンプルユニット(xInt,yInt)におけるクロマ位置は、以下のように導出する。
- subpic_treated_as_pic_flag[SubPicIdx]が1に等しい場合、以下が適用される。
xInt=Clip3(SubPicLeftBoundaryPos/SubWidthC,SubPicRightBoundaryPos/SubWidthC,xInt+i) (8-785)
yInt=Clip3(SubPicTopBoundaryPos/SubHeightC,SubPicBotBoundaryPos/SubHeightC,yInt+i) (8-786)- それ以外の場合(subpic_treated_as_pic_flag[SubPicIdx]が0に等しい)、以下が適用される。
xInt=Clip3(0,picW-1,sps_ref_wraparound_enabled_flag?ClipH(xOffset,picW,xInt+i-1): (8-787)
xInt+i-1)
yInt=Clip3(0,picH-1,yInt+i-1) (8-788)
フルサンプルユニット(xInt,yInt)におけるクロマ位置は、i=0..3の場合、以下のようにさらに修正される。
xInt=Clip3(xSbIntC-1,xSbIntC+sbWidth+2,xInt) (8-789)
yInt=Clip3(ySbIntC-1,ySbIntC+sbHeight+2,yInt) (8-790)
予測クロマサンプル値predSampleLXは、以下のように導出する。
- xFracおよびyFracの両方が0に等しい場合、predSampleLXの値は、以下のように導出する。
predSampleLX=refPicLX[xInt][yInt
<<shift3 (8-791)
- そうではなく、xFracが0に等しくなく、yFracが0に等しい場合、predSampleLXの値は、以下のように導出する。
predSampleLX=(Σ i=0[xFrac][i]*refPicLX[xInt][yInt])>>shift1 (8-792)- そうではなく、xFracが0に等しく、yFracが0に等しくない場合、predSampleLXの値は、以下のように導出する。
predSampleLXC=(Σ i=0[yFrac][i]*refPicLX[xInt][yInt])>>shift1 (8-793)- そうではなく、xFracが0に等しくなく、yFracが0に等しくない場合、predSampleLXの値は、以下のように導出する。
- n=0..3のサンプル配列temp[n]は、以下のように導出する。
temp[n]=(Σ i=0[xFrac][i]*refPicLX[xInt][yInt])>>shift1 (8-794)
- 予測クロマサンプル値predSampleLXは、以下のように導出する。
predSampleLX=(f[yFrac][0]*temp[0]+f[yFrac][1]*temp[1]+f[yFrac][2]*temp[2]+ (8-795)
[yFrac][3]*temp[3])>>shift2
Figure 2022544260000024
Figure 2022544260000025
2.6 サブピクチャを用いる実施形態
既存の実装形態におけるサブピクチャの現在の構文設計では、サブピクチャの位置および寸法は、以下のように導出する。
Figure 2022544260000026
Figure 2022544260000027
変数NumSubPicGridColsは、以下のように導出する。
NumSubPicGridCols=(pic_width_max_in_luma_samples+subpic_grid_col_width_minus1*4+3)/
(subpic_grid_col_width_minus1*4+4) (7-5)
Figure 2022544260000028
変数NumSubPicGridRowsは、以下のように導出する。
NumSubPicGridRows=(pic_height_max_in_luma_samples+subpic_grid_row_height_minus1*4+3)/
(subpic_grid_row_height_minus1*4+4) (7-6)
Figure 2022544260000029
変数SubPicTop[subpic_grid_idx[i][j]]、SubPicLeft[subpic_grid_idx[i][j]]、SubPicWidth
[subpic_grid_idx[i][j]]、SubPicHeight[subpic_grid_idx[i][j]]、およびNumSubPicsは次のように導出する。
NumSubPics=0
for(i=0;i.<NumSubPicGridRows;i++){
for(j=0;j<NumSubPicGridCols;j++){
if(i==0)
SubPicTop[subpic_grid_idx[i][j]]=0
else if(subpic_grid_idx[i][j]!=subpic_grid_idx[i-1][j]){
SubPicTop[subpic_grid_idx[i][j]]=i
SubPicHeight[subpic_grid_idx[i-1][j]]=i-SubPicTop[subpic_grid_idx[i-1][j]]

if(j==0)
SubPicLeft[subpic_grid_idx[i][j]]=0 (7-7)
else if(subpic_grid_idx[i][j]!=subpic_grid_idx[i][j-1]){
SubPicLeft[subpic_grid_idx[i][j]]=j
SubPicWidth[subpic_grid_idx[i][j]]=j-SubPicLeft[subpic_grid_idx[i][j-1]]

if(i==NumSubPicGridRows-1)
SubPicHeight[subpic_grid_idx[i][j]]=i-SubPicTop[subpic_grid_idx[i-1][j]]+1 if(j==NumSubPicGridRows-1)
SubPicWidth[subpic_grid_idx[i][j]]=j-SubPicLeft[subpic_grid_idx[i][j-1]]+1
if(subpic_grid_idx[i][j]>NumSubPics)
NumSubPics=subpic_grid_idx[i][j]

Figure 2022544260000030
2.7 インターイントラ結合予測(CIIP)
インターイントラ結合予測は、特殊マージ候補として、CIIP(Combined Inter-Intra Prediction)をVVCに採用する。これは、W<=64 and H<=64のWxHブロックに対してのみ有効にすることができる。
3. 既存の実装形態の欠点
現在のVVCの設計において、ATMVPには以下のような問題がある。
1) ATMVPを適用するかどうかが、スライスレベルとCUレベルで不整合である。
2) スライスヘッダにおいて、TMVPが無効にされてもATMVPは有効としてもよい。一方、TMVPフラグの前にATMVPフラグを信号通知する。
3) マスキングは、MVが圧縮されているかどうかを考慮せずに、常に行われる。
4) 有効な対応する領域が大き過ぎてもよい。
5) TMVの導出は非常に複雑である。
6) ATMVPが利用できなくてもよい、より優れたデフォルトMVが望ましい。
7) ATMVPにおけるMVスケーリング方法は、効率的でなくてもよい。
8) ATMVPはCPR症例を考慮すべきである。
9) アフィン予測が無効にされても、デフォルトの0アフィンマージ候補をリストに含めてもよい。
10) 現在のピクチャは長期参照ピクチャとして扱われ、他のピクチャは短期参照ピクチャとして扱われる。ATMVP候補およびTMVP候補の両方について、コロケーションされたピクチャにおける時間的ブロックからの動き情報は、固定された参照インデックスを有する参照ピクチャにスケーリングされる(即ち、現在の設計における各参照ピクチャリストに対して0)。しかしながら、CPRモードが有効にされると、現在のピクチャはまた参照ピクチャとして扱われ、現在のピクチャは、0に等しいインデックスを有する参照ピクチャリスト0(RefPicList0)に追加してもよい。
a. TMVPにおいて、時間的ブロックがCPRモードで符号化され、RefPicList0の参照ピクチャが短い参照ピクチャである場合、TMVP候補は利用不可能に設定される。
b. インデックスが0のRefPicList0の参照ピクチャが現在のピクチャであり、現在のピクチャがイントラランダムアクセスポイント(IRAP)ピクチャである場合、ATMVP候補は利用不可能に設定される。
c. 1つのブロック内のATMVPサブブロックの場合、1つの時間的ブロックからサブブロックの動き情報を導出する時に、この時間的ブロックがCPRモードで符号化されている場合、このサブブロックの動き情報を埋めるために、デフォルトのATMVP候補(開始TMVと現在のブロックの中心位置とによって特定される1つの時間的ブロックから導出する)が使用される。
11) MVは整数精度に右シフトされるが、VVCにおける丸め規則に従わない。
12) ATMVPにおいて、異なるピクチャにおける対応するブロックの位置を規定するために用いられるMV(MVx,MVy)(例えば、TMVが0)は、コロケーションされたピクチャを指すため、そのまま用いられる。これは、すべてのピクチャが同じ解像度であるという仮定に基づく。しかしながら、RPRが有効にされる場合、異なるピクチャ解像度を利用してもよい。サブブロック動き情報を導出するために、コロケーションされたピクチャにおける対応するブロックを識別することに関しても、同様の問題が存在する。
13) 1つのブロックの幅または高さが32より大きく、CIIP符号化ブロックに対して最大変換ブロックのサイズが32である場合、CUサイズでイントラ予測信号を生成し、一方、インター予測信号は、TUサイズで生成する(現在のブロックを複数の32×32ブロックに再帰的に分割する)。CUを使用してイントラ予測信号を導出することは、より低い効率をもたらす。
現在の設計には問題がある。第1に、インデックスが0であるRefPicList0の参照ピクチャが現在のピクチャであり、現在のピクチャがIRAPピクチャでない場合、ATMVP手続きが依然として呼び出されるが、いずれの時間的動きベクトルも現在のピクチャに合わせてスケーリングすることができないので、ATMVP手続きは利用可能なATMVP候補を見つけることができなかった。
4. 実施形態および技術の例
以下の技術および実施形態のリストは、一般的な概念を説明するための例と見なされるべきである。これらの技術は狭い意味で解釈されるべきではない。さらに、これらの技術は、エンコーダまたはデコーダの実施形態において任意の方法で組み合わせることができる。
1. TMVPが許可されるかどうか、および/またはCPRが使用されるかどうかは、
サブブロックマージ候補リストにおける候補の最大数を判定/構文解析するため、および/またはATMVP候補を候補リストに加えるべきかどうかを判定するために考慮されるべきである。サブブロックマージ候補リストにおける最大数をMLとする。
a) 一例において、ATMVPは、サブブロックマージ候補リストにおける候補の最大数の判定または構文解析において、ATMVP使用フラグがオフ(0に等しい)であるか、またはTMVPが無効にされている場合、適用不可能であると推測される。
i. 一例において、ATMVP使用フラグがオン(1に等しい)であり、TMVPが無効にされている場合、ATMVP候補は、サブブロックマージ候補リストまたはATMVP候補リストに追加されない。
ii. 一例において、ATMVP使用フラグがオン(1に等しい)であり、TMVPが無効にされており、且つアフィン使用フラグがオフ(0に等しい)である場合、MLが0に等しく設定され、これは、サブブロックマージが適用可能でないことを意味する。
iii. 一例において、ATMVP使用フラグがオン(1に等しい)であり、TMVPが有効とされ、アフィン使用フラグがオフ(0に等しい)である場合、MLが1に等しく設定される。
b) 一例において、ATMVPは、ATMVP使用フラグがオフ(0に等しい)であるか、または現在のピクチャのコロケーションされた参照ピクチャが現在のピクチャ自体である場合、サブブロックマージ候補リストにおける候補の最大数を判定または構文解析する時に、適用可能でないと推測される。
i. 一例において、ATMVP使用フラグがオン(1に等しい)であり、現在のピクチャのコロケーションされた参照ピクチャが現在のピクチャそのものである場合、ATMVP候補は、サブブロックマージ候補リストまたはATMVP候補リストに追加されない。
ii. 一例において、ATMVP使用フラグがオン(1に等しい)であり、現在のピクチャのコロケーションされた参照ピクチャが現在のピクチャそのものであり、アフィン使用フラグがオフ(0に等しい)である場合、MLが0に等しく設定され、これは、サブブロックマージが適用可能でないことを意味する。
iii. 一例において、ATMVP使用フラグがオン(1に等しい)であり、現在のピクチャのコロケーションされた参照ピクチャが現在のピクチャそのものでなく、アフィン使用フラグがオフ(0に等しい)である場合、MLは1に等しく設定される。
c) 一例において、ATMVP使用フラグがオフ(0に等しい)であるか、または参照リスト0における参照ピクチャインデックス0を有する参照ピクチャが現在のピクチャそのものである場合、ATMVPは、サブブロックマージ候補リストにおける候補の最大数を判定または構文解析する時に、適用可能でないと推測される。
i. 一例において、ATMVP使用フラグがオン(1に等しい)であり、参照リスト0における参照ピクチャインデックス0を有するコロケーションされた参照ピクチャは、現在のピクチャそのものであり、ATMVP候補は、サブブロックマージ候補リストまたはATMVP候補リストに追加されない。
ii. 一例において、ATMVP使用フラグがオン(1に等しい)であり、参照リスト0における参照ピクチャインデックス0を有する参照ピクチャが現在のピクチャそのものであり、且つアフィン使用フラグがオフ(0に等しい)である場合、MLが0に等しく設定され、これは、サブブロックマージが適用可能でないことを意味する。
iii. 一例において、ATMVP使用フラグがオン(1に等しい)であり、参照リスト0における参照ピクチャインデックス0を有する参照ピクチャは、現在のピクチャそのものではなく、アフィン使用フラグがオフ(0に等しい)である場合、MLは1に等しく設定される。
d) 一例において、ATMVP使用フラグがオフ(0に等しい)であるか、または参照リスト1における参照ピクチャインデックス0を有する参照ピクチャが現在のピクチャそのものである場合、ATMVPは、サブブロックマージ候補リストにおける候補の最大数を判定または構文解析する時に、適用可能でないと推測される。
i. 一例において、ATMVP使用フラグがオン(1に等しい)であり、参照リスト1における参照ピクチャインデックス0を有するコロケーションされた参照ピクチャは、現在のピクチャそのものであり、ATMVP候補は、サブブロックマージ候補リストまたはATMVP候補リストに追加されない。
ii. 一例において、ATMVP使用フラグがオン(1に等しい)であり、参照リスト1における参照ピクチャインデックス0を有する参照ピクチャが現在のピクチャそのものであり、且つアフィン使用フラグがオフ(0に等しい)である場合、MLが0に等しく設定され、これは、サブブロックマージが適用可能でないことを意味する。
iii. 一例において、ATMVP使用フラグがオン(1に等しい)であり、参照リスト1における参照ピクチャインデックス0を有する参照ピクチャが現在のピクチャそのものでなく、アフィン使用フラグがオフ(0に等しい)である場合、MLは1に等しく設定される。
2. TMVPがスライス/タイル/ピクチャレベルで無効にされている場合、ATMVPは暗黙的に無効にされ、ATMVPフラグは信号通知されないとされている。
a) 一例において、ATMVPフラグは、スライスヘッダ/タイルヘッダ/PPSにおけるTMVPフラグの後に信号通知される。
b) 一例において、ATMVPまたは/およびTMVPフラグは、スライスヘッダ/タイルヘッダ/PPSにおいて信号通知されなくてもよく、SPSヘッダにおいてのみ信号通知される。
3. ATMVPにおける対応する位置をマスクするかどうか、およびどのようにマスクするかは、MVが圧縮されているかどうか、およびどのように圧縮されているかに依存する。(xN,yN)が、現在のブロック/サブブロックのコーディネータと、コロケーションされたピクチャにおける開始動きベクトル(例えば、TMV)とを使用して算出された対応する位置であるとする。
a) 一例において、MVを圧縮する必要がない場合(例えば、SPSで信号通知されるsps_disable_motioncompressionが1の場合)、(xN,yN)はマスクされない。それ以外の場合、(MVは圧縮する必要がある)(xN,yN)はxN=xN&MASK,yN=yN&MASKとしてマスクされる。ここで、MASKは~(2-1)に等しく、Mは3または4などのような整数である。
b) 各2×2ブロックにおけるMV記憶結果のMV圧縮方法は、同じ動き情報を共有し、ATMVP処理におけるマスクを~(2-1)と定義する。KはMに等しくなくてもよく、例えば、M=K+1であるとされている。
c) ATMVPおよびTMVPに用いられるMASKは、同じであってもよいし、異なっていてもよい。
4. 一例において、MV圧縮方法はフレキシブルであってもよい。
a) 一例において、MV圧縮方法は非圧縮、8×8圧縮(Bullet3.aにおけるM=3),または16×16圧縮(Bullet3.aにおけるM=4)の間で選択することができる。
b) 一例において、MV圧縮方法は、VPS/SPS/PPS/スライスヘッダ/タイルグループヘッダにおいて信号通知されてもよい。
c) 一例において、MV圧縮方法は、異なる標準プロファイル/レベル/層において異なるように設定してもよい。
5. ATMVPにおける有効な対応する領域は適応可能でもよい。
a) 例えば、有効な対応する領域は、現在のブロックの幅および高さに依存してもよい。
b) 例えば、有効な対応領域はMV圧縮方法に依存してもよい。
i. 一例において、MV圧縮方法が使用されない場合、有効な対応領域はより小さく、MV圧縮方法が使用される場合、有効な対応領域はより大きい。
6. ATMVPにおける有効な対応する領域は、CTU領域よりも小さいサイズM×Nを有する基本領域に基づいてもよい。例えば、VTM-3.0におけるCTUのサイズは128×128であり、基本領域のサイズは64×64であってもよい。現在のブロックの幅および高さをWおよびHとする。
a) 一例において、W<=MおよびH<=Nであり、現在のブロックが1つの基本領域の内側にあることを意味する場合、ATMVPにおける有効な対応する領域は、コロケーションされた基本領域およびコロケーションされたピクチャにおける拡張である。図27は、一例を示す。
i. 例えば、配置された基本領域の左上の位置が(xBR,yBR)であるとすると、(xN,yN)における対応する位置は、有効領域xBR<=xN<xBR+M+4;yBR<=yN<yBR+Nにクリッピングされる。
図27は、現在のブロックが基本領域(BR)内にある場合の、提案される有効領域の例示的な実施形態を示す。
図28は、現在のブロックが基本領域内にない場合の有効領域の例示的な実施形態を示す。
b) 一例において、W>Mであり、H>Nである場合、現在のブロックが1つの基本領域内にないことを意味し、現在のブロックを複数の部分に分ける。各部分は、ATMVP内に個々の有効な対応する領域を有する。現在のブロックにおける位置Aについて、コロケーションされたブロックにおけるその対応する位置Bは、位置Aが位置する部分の有効な対応する領域内にあるべきである。
i. 例えば、現在のブロックを非重複基本領域に分ける。1つの基本領域に対応する有効領域は、そのコロケーション基本領域およびコロケーションされたピクチャにおける拡張である。図28は、一例を示す。
1. 例えば、現在のブロックの位置Aが1つの基本領域Rにあるとする。コロケーションされたピクチャにおけるRのコロケーション基本領域をCRとする。コロケーションされたブロックにおけるAの対応する位置は、位置Bであり、CRの左上の位置は(xCR,yCR)であり、次に、位置Bの(xN,yN)が、有効領域xCR<=xN<xCR+M+4;yCR<=yN<yCR+Nにクリッピングされる。
7. ATMVPにおいて用いられる、異なるピクチャにおける対応するブロックの位置を規定するための動きベクトルを、以下のように導出することができる(例えば、2.3.5.1.2におけるTMV)。
a) 一例において、TMVは、常に、(0,0)等のデフォルトMVに等しく設定される。
i. 一例において、デフォルトMVは、VPS/SPS/PPS/スライスヘッダ/タイルグループヘッダ/CTU/CUにおいて信号通知される。
b) 一例において、TMVは、以下の方法で、HMVPテーブルに記憶される1つのMVに設定される。
i. HMVPリストが空である場合、TMVは、デフォルトMV、例えば(0,0)に等しく設定される。
ii. そうでない(HMVPリストが空でない)場合、
1. TMVは、HMVPテーブルに記憶された第1の要素と等しく設定してもよい。
2. あるいは、TMVは、HMVPテーブルに記憶された最後の要素に等しく設定してもよい。
3. あるいは、TMVは、HMVPテーブルに記憶された特定のMVに等しく設定してもよい。
a. 一例において、特定のMVは、参照リスト0を参照する。
b. 一例において、特定のMVは、参照リスト1を参照する。
c. 一例において、特定のMVは、参照リスト0における特定の参照ピクチャ、例えばインデックス0を有する参照ピクチャを参照する。
d. 一例において、特定のMVは、参照リスト1における特定の参照ピクチャ、例えばインデックス0を有する参照ピクチャを参照する。
e. 一例において、特定のMVは、コロケーションされたピクチャを参照する。
4. あるいは、HMVPテーブルに記憶された特定のMV(例えば、bullet3.に記載)が見つからない場合、TMVをデフォルトMVに等しく設定してもよい。
a. 一例において、HMVPテーブルに記憶された第1の要素のみを検索し、
特定のMVを見出す。
b. 一例において、HMVPテーブルに記憶された最後の要素のみを検索し、
特定のMVを見出す。
c. 一例において、HMVPテーブルに記憶された一部または全部の要素を検索し、特定のMVを見出す。
5. あるいは、さらに、HMVPから取得したTMVは、現在のピクチャそのものを参照することができない。
6. あるいは、さらに、HMVPテーブルから取得したTMVは、参照していない場合、コロケーションされたピクチャに合わせてスケーリングされてもよい。
c) 一例において、TMVは、1つの特定の近傍のブロックの1つのMVに設定される。他の近傍のブロックは含まれない。
i. 特定の近傍のブロックは、図22のブロックA0、A1、B0、B1、B2であってもよい。
ii. TMVは、以下の場合、デフォルトMVに等しく設定してもよい。
1. 特定の近傍のブロックが存在しない。
2. 特定の近傍のブロックは、インター符号化されない。
iii. TMVは、特定の近傍のブロックに記憶された特定のMVに等しく設定してもよい。
1. 一例において、特定のMVは、参照リスト0を参照する。
2. 一例において、特定のMVは、参照リスト1を参照する。
3. 一例において、特定のMVは、参照リスト0における特定の参照ピクチャ、
例えばインデックス0を有する参照ピクチャを参照する。
4. 一例において、特定のMVは、参照リスト1における特定の参照ピクチャ、
例えばインデックス0を有する参照ピクチャを参照する。
5. 一例において、特定のMVは、コロケーションされたピクチャを参照する。
6. 特定の近傍のブロックに記憶された特定のMVが見つからない場合、TMVをデフォルトMVに等しく設定してもよい。
iv. 特定の近傍のブロックから得られたTMVは、それが参照しない場合、コロケーションされたピクチャに合わせてスケーリングされてもよい。
v. 特定の近傍のブロックから得られたTMVは、現在のピクチャそのものを参照することができない。
8. 2.3.5.1.2に開示されているように、ATMVPにおいて使用されるMVdefault0およびMVdefault1は、次のように導出されてもよい。
a) 一例において、MVdefault0およびMVdefault1は、(0,0)に等しく設定される。
b) 一例において、MVdefaultX(X=0または1)は、HMVPから導出する。
i. HMVPリストが空である場合、MVdefaultXは、(0,0)等の予め定義されたデフォルトMVに等しく設定される。
1. 予め定義されたデフォルトMVは、VPS/SPS/PPS/スライスヘッダ/タイルグループヘッダ/CTU/CUにおいて信号通知されてもよい。
ii. そうでない(HMVPリストが空でない)場合、
1. MVdefaultXは、HMVPテーブルに記憶された第1の要素と等しく設定してもよい。
2. MVdefaultXは、HMVPテーブルに記憶された最後の要素に等しく設定してもよい。
3. MVdefaultXは、HMVPテーブルに記憶された特定のMVにのみ等しく設定してもよい。
a. 一例において、特定のMVは、参照リストXを参照する。
b. 一例において、特定のMVは、参照リストXにおける特定の参照ピクチャ、例えばインデックス0を有する参照ピクチャを参照する。
4. HMVPテーブルに記憶された特定のMVが見つからない場合、MVdefaultXを予め定義されたデフォルトMVに等しく設定してもよい。
a. 一例において、HMVPテーブルに記憶された第1の要素のみを検索する。
b. 一例において、HMVPテーブルに記憶された最後の要素のみを検索する。
c. 一例において、HMVPテーブルに記憶された要素の一部または全部を検索する。
5. HMVPテーブルから取得したMVdefaultXは、参照していない場合、コロケーションされたピクチャ(collocated picture)に合わせてスケーリングされてもよい。
6. HMVPから取得したMVdefaultXは、現在のピクチャそのものを参照することができない。
c) 一例において、MVdefaultX(X=0または1)は、近傍のブロックから導出する。
i. 近傍のブロックは、図22のブロックA0、A1、B0、B1、B2を含んでもよい。
1. 例えば、これらのブロックの1つのみを使用してMVdefaultXを導出する。
2. あるいは、これらのブロックの一部または全部を使用してMVdefaultXを導出する。
a. これらのブロックは、有効なMVdefaultXが見つかるまで、順にチェックされる。
3. 選択された1つ以上の近傍のブロックから有効なMVdefaultXが見つからない場合、それは、(0,0)等の予め定義されたデフォルトMVに等しく設定される。
a. 予め定義されたデフォルトMVは、VPS/SPS/PPS/スライスヘッダ/タイルグループヘッダ/CTU/CUにおいて信号通知されてもよい。
ii. 次の場合、特定の近傍のブロックから有効なMVdefaultXが見つからない。
1. 特定の近傍のブロックが存在しない。
2. 特定の近傍のブロックは、インター符号化されない。
iii. MVdefaultXは、特定の近傍のブロックに記憶された特定のMVにのみ等しく設定してもよい。
1. 一例において、特定のMVは、参照リストXを参照する。
2. 一例において、特定のMVは、参照リストXにおける特定の参照ピクチャを参照し、例えば、インデックス0を有する参照ピクチャが挙げられる。
iv. 特定の近傍のブロックから取得したMVdefaultXを、特定の参照ピクチャ、例えば参照リストXにおけるインデックス0を有する参照ピクチャにスケーリングしてもよい。
v. 特定の近傍のブロックから取得したMVdefaultXは、現在のピクチャそのものを参照することができない。
9. サブブロックまたは非サブブロックATMVP候補のいずれかに対して、コロケーションされたピクチャにおける1つのサブブロック/全ブロックのための1つの時間的ブロックがCPRモードで符号化される場合、代わりに、1つのデフォルトの動き候補を利用してもよい。
a) 一例において、デフォルト動き候補は、現在のブロックの中心位置に関連付けられた動き候補として定義されてもよい(例えば、2.3.5.1.2に開示されるように、ATMVPにおいて用いられるMVdefault0および/またはMVdefault1)。
b) 一例において、デフォルト動き候補は、利用可能である場合、両方の参照ピクチャリストに対して、(0,0)動きベクトルおよび0に等しい参照ピクチャインデックスとして定義されてもよい。
10. なお、ATMVP処理におけるデフォルト動き情報(例えば、2.3.5.1.2に開示されるように、ATMVPにおいて用いられるMVdefault0、MVdefault1)は、サブブロック動き情報導出処理において用いられる位置の場所に基づいて導出されてもよい。この提案された方法では、そのサブブロックに対して、デフォルト動き情報が直接割り当てられるので、動き情報をさらに導出する必要がない。
a) 一例において、現在のブロックの中心位置を用いる代わりに、現在のブロックにおけるサブブロック(例えば、中心サブブロック)の中心位置を利用してもよい。
b) 既存のおよび提案された実装形態の例を図29Aおよび29Bにそれぞれ示す。
11. ATMVP候補は、常に以下の方法で利用可能とすることとされている。
a) 現在のブロックの中心点を(x0,y0)とすると、コロケーションされたピクチャにおける(x0,y0)の対応する位置をM=(x0+MV’x,y0+MV’y)とする。Mを含むブロックZを見つける。Zがイントラ符号化されている場合、項目6に提案される何らかの方法によってMVdefault0、MVdefault1を導出する。
b) あるいは、ブロックZは、動き情報を取得するために配置されず、項目8に提案されるいくつかの方法は、MVdefault0およびMVdefault1を取得するために直接適用される。
c) あるいは、ATMVP処理で使用されるデフォルトの動き候補は、常に利用可能である。現在の設計に基づいて、それが利用不可能に設定されている(例えば、時間的ブロックがイントラ符号化されている)場合、デフォルト動き候補の代わりに他の動きベクトルを利用してもよい。
i. 一例において、参照により本明細書に組み込まれる国際出願PCT/CN2018/124639号の解決案が適用されてもよい。
d) あるいは、さらに、ATMVP候補が常に利用可能であるかどうかは、他の高レベル構文情報に依存する。
i. 一例において、スライス/タイル/ピクチャヘッダまたは他の映像ユニットにおけるATMVPイネーブルフラグが真であると推測される場合にのみ、ATMVP候補は常に利用可能であると設定してもよい。
ii. 一例において、上記方法は、スライスヘッダ/ピクチャヘッダまたは他の映像ユニットにおけるATMVPイネーブルフラグが真に設定され、且つ現在のピクチャがIRAPピクチャでなく、且つ現在のピクチャが0に等しい参照インデックスでRefPicList0に挿入されていない場合にのみ適用可能であってもよい。
e) ATMVP候補には、固定インデックスまたは固定グループのインデックスが割り当てられる。ATMVP候補が常に利用可能でない場合、固定インデックス/群インデックスは、他の種類の動き候補(例えば、アフィン候補)に推論してもよい。
Figure 2022544260000031
13. なお、非アフィンパディング候補をサブブロックマージ候補リストに含めてもよいとされている。
a) サブブロックマージ候補リストが満たされていない場合、動きゼロ非アフィンパディング候補を追加してもよい。
b) このようなパディング候補を選択する場合は、現在のブロックのaffine_flagを0に設定する必要がある。
c) あるいは、サブブロックマージ候補リストが満たされず、かつ、アフィン使用フラグがオフである場合、ゼロ動き非アフィンパディング候補をサブブロックマージ候補リストに含める。
14. MV0とMV1が、対応する位置を含むブロックの参照リスト0と参照リスト1のMVを表すとする(例えば、MV0とMV1は、2.3.5.1.2章で説明されているMVZ_0とMVZ_1、またはMVZS_0とMVZS_1の場合がある)。MV0’およびMV1’は、現在のブロックまたはサブブロックに対して導出するべき参照リスト0および参照リスト1におけるMVを表す。その場合、MV0’およびMV1’は、スケーリングによって導出するべきである。
a) MV0、コロケーションされたピクチャが参照リスト1にある場合。
b) MV1、コロケーションされたピクチャが参照リスト0にある場合。
15. 参照ピクチャリストX(PicRefListX、例えば、X=0)において、
現在のピクチャをインデックスがM(例えば、0)に設定された参照ピクチャとして扱う場合、ATMVPおよび/またはTMVP許可/禁止フラグは、スライス/タイルまたは他の種類の映像ユニットに対して偽であると推測されてもよい。ここで、Mは、ATMVP/TMVP処理において時間的ブロックの動き情報をPicRefListXに対してスケーリングするオブジェクト参照ピクチャインデックスに等しくてもよい。
a) あるいは、上記方法は、現在のピクチャがイントラランダムアクセスポイント(IRAP)ピクチャである場合にのみ適用可能である。
b) 一例において、PicRefListXにおける現在のピクチャをインデックスがM(例えば、0)に設定された参照ピクチャとして扱う場合、および/または、PicRefListYにおけるインデックスがN(例えば、0)に設定された参照ピクチャとして扱う場合、ATMVPおよび/またはTMVP許可/禁止フラグが偽であると推測してもよい。変数MおよびNは、TMVPまたはATMVP処理で使用されるオブジェクト参照ピクチャインデックスを表す。
c) ATMVP処理の場合、確認ビットストリームは、現在のブロックの動き情報が導出されるコロケーションされたピクチャが現在のピクチャではないという規則に従うよう、制限されている。
d) あるいは、上記の条件が真である場合、ATMVPまたはTMVP処理は呼び出されない。
16. 現在のブロックのための参照ピクチャリストX(PicRefListX、例えば、X=0)におけるインデックスがM(例えば、0)に設定された参照ピクチャが現在のピクチャである場合、ATMVPは、このブロックに対して依然として有効にできるとされている。
a) 一例において、すべてのサブブロックの動き情報は、現在のピクチャを指す。
b) 一例において、時間的ブロックからサブブロックの動き情報を取得する場合、時間的ブロックは、時間的ブロックの現在のピクチャを指す少なくとも1つの参照ピクチャで符号化される。
c) 一例において、時間的ブロックからサブブロックの動き情報を取得する場合、スケーリング演算は適用されない。
17. ATMVPの使用に関わらず、サブブロックマージインデックスの符号化方法を統一する。
a) 一例において、第1のL個のビンに対して、それらはコンテキスト符号化される。残りのビンについては、バイパス符号化される。一例において、Lは1に設定される。
b) あるいは、すべてのビンに対して、それらはコンテキスト符号化される。
18. ATMVPにおいて、異なるピクチャにおいて対応するブロックを見つけるために用いられるMV(MVx,MVy)(例えば、TMVが0)は、MVスケーリング処理と同様な丸め方法によって、整数精度(MVx’、MVy’と表記される)に右シフトしてもよい。
a) あるいは、ATMVPにおいて異なるピクチャ内の対応するブロックを突き止めるために使用されるMV(例えば、TMVが0)を、MV平均化処理と同じ丸め方法で、
整数精度に右シフトしてもよい。
b) あるいは、ATMVPにおいて異なるピクチャ内の対応するブロックを突き止めるために使用されるMV(例えば、TMVが0)は、適応MV解像度(AMVR)処理と同じ丸め方法で、整数精度に右シフトしてもよい。
19. ATMVPにおいて、異なるピクチャにおいて対応するブロックを見つけるために用いられるMV(MVx,MVy)(例えば、TMVが0)は、0に近づく方向に丸めることで、整数精度((MVx’,MVy’)と表記される)に右シフトしてもよい。
a) 例えば、MVx’=(MVx+((1<<N)>>1)-(MVx>=0?1:0))>>N;Nは、MVの解像度、例えばN=4を表す整数である。
i. 例えば、MVx’=(MVx+(MVx>=0?7:8))>>4.
b) 例えば、MVy’=(MVy+((1<<N)>>1)-(MVy>=0?1:0))>>N;Nは、MVの解像度、例えばN=4を表す整数である。
i. 例えば、MVy’=(MVy+(MVy>=0?7:8))>>4.
20. 一例において、bullet18およびbullet19におけるMV(MVx,MVy)は、ATMVPにおいて用いられるデフォルトの動き情報を導出するために、
サブブロックの中心位置およびシフトされたMVを使用して、または現在のブロックの左上の位置およびシフトされたMVを使用して、対応するブロックの位置を規定するために用いられる。
a) 一例において、MV(MVx,MVy)は、ATMVP処理中に、現在のブロックにおけるサブブロックの動き情報を導出するために、例えば、サブブロックの中心位置およびシフトされたMVを使用して、対応するブロックの位置を規定するために用いられる。
21. bullet18、19、20に提案された方法は、異なるピクチャまたは現在のピクチャにおける参照ブロックの位置を動きベクトルで規定することを必要とする他の符号化ツールに適用してもよい。
22. ATMVPにおいて異なるピクチャ内の対応するブロックを見つけるために使用されるMV(MVx,MVy)(例えば、0におけるTMV)は、それがコロケーションされたピクチャを指しても、スケーリングされてもよい。
a) 一例において、コロケーションされたピクチャ(またはその中のコンフォーマンスウィンドウ)の幅および/または高さが、現在のピクチャ(またはその中のコンフォーマンスウィンドウ)の幅および/または高さと異なる場合、MVをスケーリングしてもよい。
b) コロケーションされたピクチャの(コンフォーマンスウィンドウの)幅および高さを、それぞれW1およびH1として示す。現在のピクチャ(のコンフォーマンスウィンドウ)の幅および高さをそれぞれW2およびH2とする。そして、MV(MVx,MVy)は、MVx’=MVx*W1/W2およびMVy’=MVy*H1/H2としてスケーリングされてもよい。
23. ATMVP処理における動き情報を導出するために使用される現在のブロックの中心点(例えば、2.3.5.1.2における位置(x0,y0))は、スケーリングおよび/またはオフセットの追加によってさらに修正してもよい。
a) 一例において、コロケーションされたピクチャ(またはその中のコンフォーマンスウィンドウ)の幅および/または高さが現在のピクチャ(またはその中のコンフォーマンスウィンドウ)の幅および/または高さと異なる場合、中心点をさらに修正してもよい。
b) コロケーションされたピクチャにおけるコンフォーマンスウィンドウの左上の位置をX1およびY1とする。現在のピクチャに定義されたコンフォーマンスウィンドウの左上の位置をX2およびY2とする。コロケーションされたピクチャ(のコンフォーマンスウィンドウ)の幅および高さは、それぞれW1およびH1として示される。現在のピクチャの(コンフォーマンスウィンドウの)幅および高さを、それぞれW2およびH2とする。その場合、(x0,y0)は、x0’=(x0-X2)*W1/W2+X1、y0’=(y0-Y2)*H1/H2+Y1として修正してもよい。
i. あるいは、x0’=x0*W1/W2、y0’=y0*H1/H2である。
24. ATMVP処理における動き情報を導出するために使用される対応する位置(例えば、2.3.5.1.2における位置M)は、スケーリングおよび/またはオフセットの追加によってさらに修正してもよい。
a) 一例において、コロケーションされたピクチャ(またはその中のコンフォーマンスウィンドウ)の幅および/または高さが現在のピクチャ(またはその中のコンフォーマンスウィンドウ)の幅および/または高さと異なる場合、対応する位置をさらに修正してもよい。
b) コロケーションされたピクチャにおけるコンフォーマンスウィンドウの左上の位置をX1およびY1とする。現在のピクチャに定義されたコンフォーマンスウィンドウの左上の位置をX2およびY2とする。コロケーションされたピクチャ(のコンフォーマンスウィンドウ)の幅および高さは、それぞれW1およびH1として示される。現在のピクチャの(コンフォーマンスウィンドウの)幅および高さを、それぞれW2およびH2とする。その場合、M(x,y)は、x’=(x-X2)*W1/W2+X1およびy’=(y-Y2)*H1/H2+Y1として修正してもよい。
i. あるいは、x’=x*W1/W2、y’=y*H1/H2である。
サブピクチャ関連
25. 一例において、位置(i,j)および(i,j-1)が異なるサブピクチャに属する場合、(j-1)列で終わるサブピクチャSの幅は、j―サブピクチャSの最左列に等しく設定してもよい。
a) 既存の実装形態例に基づく実施形態を以下に強調する。
NumSubPics=0
for(i=0;i.<NumSubPicGridRows;i++){
for(j=0;j<NumSubPicGridCols;j++){
if(i==0)
SubPicTop[subpic_grid_idx[i][j]]=0
else if(subpic_grid_idx[i][j]!=subpic_grid_idx[i-1][j]){
SubPicTop[subpic_grid_idx[i][j]]=i
SubPicHeight[subpic_grid_idx[i-1][j]]=i-SubPicTop[subpic_grid_idx[i-1][j]]

Figure 2022544260000032
if(i==NumSubPicGridRows-1)
SubPicHeight[subpic_grid_idx[i][j]]=i-SubPicTop[subpic_grid_idx[i-1][j]]+1 if(j==NumSubPicGridRows-1)
SubPicWidth[subpic_grid_idx[i][j]]=j-SubPicLeft[subpic_grid_idx[i][j-1]]+1
if(subpic_grid_idx[i][j]>NumSubPics)
NumSubPics=subpic_grid_idx[i][j]

26. 一例において、(NumSubPicGridRows-1)行で終わるサブピクチャSの高さは、(NumSubPicGridRows-1)-サブピクチャSの最上行+1に等しく設定してもよい。
a) 既存の実装形態例に基づく実施形態を以下に強調する。
NumSubPics=0
for(i=0;i.<NumSubPicGridRows;i++){
for(j=0;j<NumSubPicGridCols;j++){
if(i==0)
SubPicTop[subpic_grid_idx[i][j]]=0
else if(subpic_grid_idx[i][j]!=subpic_grid_idx[i-1][j]){
SubPicTop[subpic_grid_idx[i][j]]=i
SubPicHeight[subpic_grid_idx[i-1][j]]=i-SubPicTop[subpic_grid_idx[i-1][j]]

if(j==0)
SubPicLeft[subpic_grid_idx[i][j]]=0 (7-7)
else if(subpic_grid_idx[i][j]!=subpic_grid_idx[i][j-1]){
SubPicLeft[subpic_grid_idx[i][j]]=j
SubPicWidth[subpic_grid_idx[i][j]]=j-SubPicLeft[subpic_grid_idx[i][j-1]]

Figure 2022544260000033
if(subpic_grid_idx[i][j]>NumSubPics)
NumSubPics=subpic_grid_idx[i][j]
27. 一例において、(NumSubPicGridColumns-1)列で終わるサブピクチャSの幅は、(NumSubPicGridColumns-1)-サブピクチャSの左端の列、次に1を加えたものに等しく設定してもよい。
a) 既存の実装形態例に基づく実施形態を以下に強調する。
NumSubPics=0
for(i=0;i.<NumSubPicGridRows;i++){
for(j=0;j<NumSubPicGridCols;j++){
if(i==0)
SubPicTop[subpic_grid_idx[i][j]]=0
else if(subpic_grid_idx[i][j]!=subpic_grid_idx[i-1][j]){
SubPicTop[subpic_grid_idx[i][j]]=i
SubPicHeight[subpic_grid_idx[i-1][j]]=i-SubPicTop[subpic_grid_idx[i-1][j]]

if(j==0)
SubPicLeft[subpic_grid_idx[i][j]]=0 (7-7)
else if(subpic_grid_idx[i][j]!=subpic_grid_idx[i][j-1]){
SubPicLeft[subpic_grid_idx[i][j]]=j
SubPicWidth[subpic_grid_idx[i][j]]=j-SubPicLeft[subpic_grid_idx[i][j-1]]

Figure 2022544260000034
if(subpic_grid_idx[i][j]>NumSubPics)
NumSubPics=subpic_grid_idx[i][j]
Figure 2022544260000035
Figure 2022544260000036
RPR関連
30. RPR_flagとして示される構文要素(フラグなど)は、RPRが映像ユニット(シーケンスなど)で使用できるかどうかを示すために信号通知される。RPR_flagは、SPS、VPS、またはDPSで信号通知されてもよい。
a) 一例において、RPRが使用されないように通知される場合(例えば、RPR_flagが0の場合)、PPSで通知されるすべての幅/高さは、SPSで信号通知される最大幅/最大高さと同じである必要がある。
b) 一例において、RPRが使用されないように通知された場合(例えば、RPR_flagが0の場合)、PPSのすべての幅/高さは通知されず、SPSで信号通知された最大幅/最大高さであると推測される。
c) 一例において、RPRが使用されないように信号通知される場合(例えば、RPR_flagが0である場合)、コンフォーマンスウィンドウ情報は、復号化処理で使用されない。そうでない場合(RPRを使用するように信号通知される)、コンフォーマンスウィンドウ情報を復号化処理において使用してもよい。
31. 動き補償処理において現在のブロックの予測ブロックを導出するために用いられる補間フィルタは、参照ピクチャの解像度が現在のピクチャと異なるかどうか、または参照ピクチャの幅および/または高さが現在のピクチャの解像度よりも大きいかどうかに基づいて選択されてもよい。
a. 一例において、条件Aが満たされ、条件Aが現在のピクチャおよび/または参照ピクチャの寸法に依存する場合、よりタップが少ない補間フィルタを適用してもよい。
i. 一例において、条件Aは、参照ピクチャの解像度が現在のピクチャと異なることである。
ii. 一例において、条件Aは、参照ピクチャの幅および/または高さが現在のピクチャのそれよりも大きいことである。
iii. 一例において、条件Aは、W1>a*W2および/またはH1>b*H2であり、ここで、(W1、H1)は参照ピクチャの幅および高さを表し、(W2、H2)は現在のピクチャの幅および高さを表し、aおよびbは2つの因子、例えば、a=b=1.5である。
iv. 一例において、条件Aは、双予測が使用されるかどうかに依存してもよい。
1) 現在のブロックに対して双予測を用いる場合にのみ、条件Aを満たす。
v. 一例において、条件Aは、MおよびNに依存してもよく、ここで、MおよびNは、現在のブロックの幅および高さを表す。
1) 例えば、条件Aは、M*N<=Tの場合にのみ満たされ、ここで、Tは、64などの整数である。
2) 例えば、条件Aは、M<=T1またはN<=T2の場合にのみ満たされ、ここで、T1およびT2は整数、例えばT1=T2=4である。
3) 例えば、条件Aは、M<=T1およびN<=T2の場合にのみ満たされ、ここで、T1およびT2は整数、例えば、T1=T2=4である。
4) 例えば、条件Aは、M*N=T、またはM=T1またはN=T2の場合にのみ満たされ、ここで、T、T1、T2は整数、例えばT=64、T1=T2=4である。
5) 一例において、上記sub-bulletにおける小さい方の条件は、大きい方に置き換えられてもよい。
vi. 一例において、1タップフィルタが適用される。すなわち、フィルタリングされていない整数画素を補間結果として出力する。
vii. 一例において、参照ピクチャの解像度が現在のピクチャと異なる場合、バイリニアフィルタが適用される。
viii. 一例において、参照ピクチャの解像度が現在のピクチャと異なる場合、
または参照ピクチャの幅および/または高さが現在のピクチャの解像度よりも大きい場合、4タップフィルタまたは6タップフィルタが適用される。
1) 6タップフィルタは、アフィン動き補償に使用されてもよい。
2) 4タップフィルタは、クロマサンプルの補間に使用されてもよい。
b. bullet31に開示された方法を適用するかどうか、および/またはどのように適用するかは、色成分に依存してもよい。
i. 例えば、これらの方法は、輝度成分にのみ適用される。
c. bullet31に開示された方法を適用するかどうか、および/またはどのように適用するかは、補間フィルタリング方向に依存してもよい。
i. 例えば、この方法は水平フィルタリングにのみ適用される。
ii. 例えば、この方法は垂直フィルタリングにのみ適用される。
CIIP関連
32. CIIP処理で使用されるイントラ予測信号は、CUレベルの代わりにTUレベルで(例えば、CUの代わりにTUの外側の参照サンプルを使用して)行われてもよい。
a) 一例において、CUの幅または高さのいずれかが最大変換ブロックサイズよりも大きい場合、CUは複数のTUに分割してもよく、例えば、TUの外側の参照サンプルを使用して、TUごとにイントラ/インター予測が生成されてもよい。
b) 一例において、最大変換サイズKが64よりも小さい(例えば、K=32)場合、CIIPにおいて使用されるイントラ予測は、通常のイントラコードブロックにおけるように再帰的な方法で実行される。
c) 例えば、MおよびNが整数であるKM×KN CIIP符号化ブロックを、K×K個のブロックのMN個に分割することで、各K×K個のブロックごとにイントラ予測を行う。後に符号化/復号されたK×Kブロックのイントラ予測は、前述の符号化/復号化されたK×Kブロックの再構成サンプルに依存してもよい。
5. 追加の例示的な実施形態
5.1 実施形態#1:SPS/PPS/スライスヘッダ/タイルグループヘッダにおける構文設計の例
VTM3.0.1rC1標準ソフトウェアと比較した場合の変化を、大きなボールドのフォントで以下のように強調する。
Figure 2022544260000037
5.2 実施形態#2:SPS/PPS/スライスヘッダ/タイルグループヘッダにおける構文設計の例
7.3.2.1 シーケンスパラメータセットRBSP構文
Figure 2022544260000038
sps_sbtmvp_enabled_flagが1に等しい場合、サブブロックに基づく時間的動きベクトル予測子を使用してもよく、CVSでslice_typeがIに等しくないすべてのスライスを含むピクチャを復号化できることを規定する。0に等しいsps_sbtmvp_enabled_flagは、サブブロックに基づく時間的動きベクトル予測子がCVSで使用されないことを規定する。sps_sbtmvp_enabled_flagが存在しない場合、0に等しいと推測される。
five_minus_max_num_subblock_merge_candは、5から減算されたスライスでサポートされるサブブロックに基づくマージ動きベクトル予測(MVP)候補の最大数を規定する。five_minus_max_num_subblock_merge_candが存在しない場合、5-sps_sbtmvp_enabled_flagに等しいと推測される。サブブロックに基づくマージMVP候補の最大数MaxNumSubblockMergeCandは、以下のように導出する。
MaxNumSubblockMergeCand=5-five_minus_max_num_subblock_merge_cand (7-45)
MaxNumSubblockMergeCandの値は、0~5の範囲内にある。
8.3.4.2 サブブロックマージモードにおける動きベクトルおよび参照インデックスの導出処理
この処理への入力は以下の通りである。
..[現在のVVC仕様案に変更はない]
この処理の出力は以下の通りである。
...[現在のVVC仕様案に変更はない]
変数numSbX、numSbY、およびサブブロックマージ候補リストsubblockMergeCandListは、以下の順序ステップによって導出する。
sps_sbtmvp_enabled_flagが1に等しく、(現在の画像がIRAPであり、参照ピクチャリスト0のインデックス0が現在の画像である)が真でない場合、以下が適用される。
8.3.2.3項で規定されている近傍の符号化ユニットからの候補をマージするための導出処理は、Xが0または1として、輝度符号化ブロックの位置(xCb,yCb)、
輝度符号化ブロック幅cbWidth、輝度符号化ブロック高さcbHeight、輝度符号化ブロック幅を入力として呼び出され、出力は、可用性フラグavailableFlagA0、availableFlagA1、availableFlagB0、availableFlagB1およびavailableFlagB2、参照インデックスrefIdxLXA0、refIdxLXA1,refIdxLXB0、refIdxLXB1およびrefIdxLXB2、および予測リスト利用フラグpredFlagLXA0、predFlagLXA1、predFlagLXB0,predFlagLXB1およびpredFlagLXB2、および動きベクトルmvLXA0、mvLXA1、mvLXB0、mvLXB1およびmvLXB2である。
8.3.4.3項で規定されているサブブロックベースの時間的マージ候補の導出処理は、xSbIdx=0..numSbX-1,ySbIdx=0..numSbY-1およびXは0または1として、輝度位置(xCb,yCb)、輝度符号化ブロック幅cbWidth、輝度符号化ブロック高さcbHeight、可用性フラグ、availableFlagA0、availableFlagA1、availableFlagB0、
availableFlagB1、参照インデックスrefIdxLXA0、refIdxLXA1、refIdxLXB0、efIdxLXB1、予測リスト利用フラグpredFlagLXA0、predFlagLXA1、predFlagLXB0、predFlagLXB1、動きベクトルmvLXA0,mvLXA1,mvLXB0,mvLXB1を入力として呼び出され、出力は、可用性フラグavailableFlagSbCol、水平方向numSbXおよび垂直方向numSbYにおける輝度符号化サブブロックの数、参照インデックスrefIdxLXSbCol、輝度動きベクトルmvLXSbCol[xSbIdx][ySbIdx]および予測リスト利用フラグpredFlagLXSbCol[xSbIdx][ySbIdx]である。
sps_affine_enabled_flagが1に等しい場合、サンプルの場所
(xNbA0,yNbA0)、(xNbA1,yNbA1)、(xNbA2,yNbA2)、(xNbB0,yNbB0)、(xNbB1,yNbB1)、(xNbB2,yNbB2)、(xNbB3,yNbB3)、および変数numSbXおよびnumSbYは次のように導出する。
[現在のVVC仕様案に変更はない]
5.3 実施形態#3 MVの丸めの例
構文の変更は、既存の実装形態に基づいている。
8.5.5.3 サブブロックに基づく時間的マージ候補の導出処理
Figure 2022544260000039
8.5.5.4 サブブロックに基づく時間的マージベースの動きデータの導出処理
Figure 2022544260000040
5.3 実施形態#3:MVの丸めの例
構文の変更は、既存の実装形態に基づいている。
8.5.5.3 サブブロックに基づく時間的マージ候補の導出処理
Figure 2022544260000041
8.5.5.4 サブブロックに基づく時間的マージベースの動きデータの導出処理
Figure 2022544260000042
5.4 実施形態#4:MVの丸めの第2の例
8.5.5.3 サブブロックに基づく時間的マージ候補の導出処理
この処理への入力は以下の通りである。
- 現在のピクチャの左上の輝度サンプルに対する現在の輝度符号化ブロックの左上のサンプルの輝度位置(xCb、yCb)、
- 輝度サンプルにおける現在の符号化ブロックの幅を規定する変数cbWidth、
- 輝度サンプルにおける現在の符号化ブロックの高さを規定する変数cbHeight。
- 近傍の符号化ユニットの可用性フラグavailableFlagA
- 近傍の符号化ユニットの参照インデックスrefIdxLXAであってXは0または1、
- 近傍の符号化ユニットの予測リスト利用フラグpredFlagLXAであってXは0または1、
- 近傍の符号化ユニットの1/16端数サンプル精度mvLXAにおける動きベクトルであってXが0または1である。
この処理の出力は以下の通りである。
- 可用性フラグavailableFlagSbCol、
- 水平方向numSbXおよび垂直方向numSbYにおける輝度符号化サブブロックの数、
- 参照インデックスrefIdxL0SbColおよびrefIdxL1SbCol、
- 1/16端数サンプル精度mvL0SbCol[xSbIdx][ySbIdx]およびmvL1SbCol[xSbIdx][ySbIdx]における輝度動きベクトル、
但しxSbIdx=0..numSbX-1,ySbIdx=0..numSbY-1、
- 予測リスト利用フラグpredFlagL0SbCol[xSbIdx][ySbIdx]およびpredFlagL1SbCol[xSbIdx][ySbIdx]、但しxSbIdx=0..numSbX-1,ySbIdx=0..numSbY-1。
可用性フラグavailableFlagSbCollは、以下のように導出する。
- 以下の条件の1つ以上が真である場合、availableFlagSbColに0が設定される。
- slice_temporal_mvp_enabled_flagは0に等しい。
- sps_sbtmvp_enabled_flagは0に等しい。
- cbWidthが8未満である。
- cbHeightが8未満である。
- そうでない場合、以下の順序付けられたステップが適用される。
1. 現在の符号化ブロックを含む輝度符号化ツリーブロックの左上のサンプルの位置(xCtb,yCtb)および現在の輝度符号化ブロックの右下の中心サンプルの位置(xCtr,yCtr)は、以下のように導出する。
xCtb=(xCb>>CtuLog2Size)<<CtuLog2Size (8-542)
yCtb=(yCb>>CtuLog2Size)<<CtuLog2Size (8-543)
xCtr=xCb+(cbWidth/2) (8-544)
yCtr=yCb+(cbHeight/2) (8-545)
2. 輝度位置(xColCtrCb,yColCtrCb)は、ColPicによって規定されたコロケーションされたピクチャの左上輝度サンプルに対して、ColPic内部の(xCtr,yCtr)によって与えられる位置を含む同一位置輝度符号化ブロックの左上サンプルに等しく設定される。
3. 8.5.5.4項で規定されているサブブロックに基づく時間的マージベース動きデータの導出処理は、Xを0および1として、(xCtb,yCtb)、場所(xColCtrCb,yColCtrCb)、可用性フラグ可用性フラグAvailabilityフラグA、予測リスト利用フラグpredFlagLXA、および参照インデックスrefIdxLXA、並びに動きベクトルmvLXAを入力として呼び出され、出力は、Xを0および1として、動きベクトルctrMVLX、並びにコロケーションされたブロックの予測リスト利用フラグctrPredFlagLX、時間動きベクトルtempMvである。
4. 変数availableFlagSbColは、以下のように導出する。
- ctrPredFlagL0およびctrPredFlagL1の両方が0に等しい場合、availableFlagSbColは0に等しく設定される。
- そうでない場合、availableFlagSbColは1に等しく設定される。
availableFlagSbColが1に等しい場合、以下が適用される。
- 変数numSbX、numSbY,sbWidth、sbHeight、refIdxLXSbColは、以下のように導出する。
numSbX=cbWidth>>3 (8-546)
numSbY=cbHeight>>3 (8-547)
sbWidth=cbWidth/numSbX (8-548)
sbHeight=cbHeight/numSbY (8-549)
refIdxLXSbCol=0 (8-550)
- xSbIdx=0..numSbX-1およびySbIdx=0...numSbY-1の場合、動きベクトルmvLXSbCol[xSbIdx][ySbIdx]および予測リスト利用フラグpredFlags LXSbCol[xSbIdx]は、以下のように導出する。
- 現在のピクチャの左上の輝度サンプルに対する現在の符号化サブブロックの左上のサンプルを規定する輝度位置(xSb,ySb)は、以下のように導出する。
xSb=xCb+xSbIdx*sbWidth+sbWidth/2 (8-551)
ySb=yCb+ySbIdx*sbHeight+sbHeight/2 (8-552)
Figure 2022544260000043
- 変数currCbは、現在のピクチャ内の現在の符号化サブブロックを含む輝度符号化ブロックを規定する。
- 変数colCbは、ColPicの内部において、((xColSb>>3)<<3,(yColSb>>3)<<3)で与えられる修正位置を含む輝度符号化ブロックを規定する。
- 輝度位置(xColCb,yColCb)は、ColPicによって指定されたコロケーションされたピクチャの左上輝度サンプルに対して、colCbによって指定された同一位置輝度符号化ブロックの左上サンプルに等しく設定される。
- 8.5.2.12項で規定されている同一位置動きベクトルの導出処理は、currCb,colCb,(xColCb,yColCb),0と等しく設定されたrefIdxL0、1と等しく設定されたsbFlagを入力として呼び出され、出力は、サブブロックmvL0SbCol[xSbIdx][ySbIdx]およびavailableFlagL0SbColの動きベクトルに割り当てられる。
- 8.5.2.12項で規定されている同一位置動きベクトルの導出処理は、currCb,colCb,(xColCb,yColCb)、0と等しく設定されたrefIdxL1、1と等しく設定されたsbFlagを入力として呼び出され、出力はサブブロックMVL1SbCol[xSbIdx][ySbIdx]およびavailableFlagL1SbColの動きベクトルに割り当てられる。
- availableFlagL0SbColおよびavailableFlagL1SbColが両方とも0に等しい場合、Xが0および1である場合、以下が適用される。
mvLXSbCol[xSbIdx][ySbIdx]=ctrMvLX (8-556)
predFlagLXSbCol[xSbIdx][ySbIdx]=ctrPredFlagLX (8-557)
8.5.5.4 サブブロックに基づく時間的マージベースの動きデータの導出処理
この処理への入力は以下の通りである。
- 現在の符号化ブロックを含む輝度符号化ツリーブロックの左上のサンプルの位置(xCtb,yCtb)、
- 右下中心サンプルを含む、同じ場所に位置する輝度符号化ブロックの左上サンプルの位置(xColCtrCb,yColCtrCb)。
- 近傍の符号化ユニットの可用性フラグavailableFlagA
- 近傍の符号化ユニットの参照インデックスrefIdxLXA
- 近傍の符号化ユニットの予測リスト利用フラグpredFlagLXA
- 近傍の符号化ユニットの1/16端数サンプル精度mvLXAにおける動きベクトル。
この処理の出力は以下の通りである。
- 動きベクトルctrMvL0およびctrMvL1、
- 予測リスト利用フラグctrPredFlagL0、ctrPredFlagL1、
- 時間的動きベクトルtempMv。
変数tempMvは、以下のように設定される。
tempMv[0]=0 (8-558)
tempMv[1]=0 (8-559)
変数currPicは、現在のピクチャを規定する。
availableFlagAがTRUEに等しい場合、以下が適用される。
- 以下のすべての条件が真である場合、tempMvはmvL0Aに等しく設定される。
- predFlagL0Aが1に等しい、
- DiffPicOrderCnt(ColPic,RefPicList[0][refIdxL0A])が0に等しい、
- そうでない場合、以下のすべての条件が真である場合、tempMvはmvL1A:に等しく設定される。
- スライスタイプはBと同じである、
- predFlagL1Aが1に等しい、
- DiffPicOrderCnt(ColPic,RefPicList[1][refIdxL1A])は0に等しい。
Figure 2022544260000044
配列colPredModeは、ColPicが指定したコロケーションされたピクチャの予測モード配列CuPredMode[0]に等しく設定される。
動きベクトルctrMvL0、ctrMvL1、および予測リスト利用フラグctrPredFlagL0、ctrPredFlagL1は、以下のように導出する。
- colPredMode[xColCb][yColCb]がMODE_INTERと等しい場合、以下が適用される。
- 変数currCbは、現在のピクチャ内で(xCtrCb,yCtrCb)を含む輝度符号化ブロックを規定する。
- 変数colCbは、ColPicの内部において、((xColCb>>3)<<3,(yColCb>>3)<<3)で与えられる修正位置を含む輝度符号化ブロックを規定する。
- 輝度位置(xColCb,yColCb)は、ColPicによって指定されたコロケーションされたピクチャの左上輝度サンプルに対して、colCbによって指定された同一位置輝度符号化ブロックの左上サンプルに等しく設定される。
- 8.5.2.12項に規定されている同一位置動きベクトルの導出処理は、currCb、colCb,(xColCb,yColCb)、0と等しく設定されたrefIdxL0、および1に等しく設定されたsbFlagを入力とし、出力をctrMvL0およびctrPredFlagL0に割り当てることにより呼び出される。
- 8.5.2.12項に規定されている同一位置動きベクトルの導出処理は、currCb,colCb,(xColCb,yColCb),0に等しく設定されたrefIdxL1、および1に等しく設定されたsbFlagを入力とし、出力をctrMvL1およびctrPredFlagL1に割り当てることにより呼び出される。
- そうでない場合、以下が適用される。
ctrPredFlagL0=0 (8-563)
ctrPredFlagL1=0 (8-564)
5.5 実施形態#5:MVの丸めの第3の例
8.5.5.3 サブブロックに基づく時間的マージ候補の導出処理
この処理への入力は以下の通りである。
- 現在のピクチャの左上の輝度サンプルに対する現在の輝度符号化ブロックの左上のサンプルの輝度位置(xCb、yCb)、
- 輝度サンプルにおける現在の符号化ブロックの幅を規定する変数cbWidth、
- 輝度サンプルにおける現在の符号化ブロックの高さを規定する変数cbHeight。
- 近傍の符号化ユニットの可用性フラグavailableFlagA
- 近傍の符号化ユニットの参照インデックスrefIdxLXAであってXは0または1、
- 近傍の符号化ユニットの予測リスト利用フラグpredFlagLXAであってXは0または1、
- 近傍の符号化ユニットの1/16端数サンプル精度mvLXAにおける動きベクトルであってXが0または1である。
この処理の出力は以下の通りである。
- 可用性フラグavailableFlagSbCol,
- 水平方向numSbXおよび垂直方向numSbYにおける輝度符号化サブブロックの数、
- 参照インデックスrefIdxL0SbColおよびrefIdxL1SbCol、
- 1/16端数サンプル精度mvL0SbCol[xSbIdx][ySbIdx]およびmvL1SbCol[xSbIdx][ySbIdx]における輝度動きベクトル、
但しxSbIdx=0..numSbX-1,ySbIdx=0..numSbY-1、
- 予測リスト利用フラグpredFlagL0SbCol[xSbIdx][ySbIdx]およびpredFlagL1SbCol[xSbIdx][ySbIdx]、但しxSbIdx=0..numSbX-1,ySbIdx=0..numSbY-1。
可用性フラグavailableFlagSbCollは、以下のように導出する。
- 以下の条件の1つ以上が真である場合、availableFlagSbColに0が設定される。
- slice_temporal_mvp_enabled_flagは0に等しい。
- sps_sbtmvp_enabled_flagは0に等しい。
- cbWidthが8未満である。
- cbHeightが8未満である。
- そうでない場合、以下の順序付けられたステップが適用される。
5. 現在の符号化ブロックを含む輝度符号化ツリーブロックの左上のサンプルの位置(xCtb,yCtb)および現在の輝度符号化ブロックの右下の中心サンプルの位置(xCtr,yCtr)は、以下のように導出する。
xCtb=(xCb>>CtuLog2Size)<<CtuLog2Size (8-542)
yCtb=(yCb>>CtuLog2Size)<<CtuLog2Size (8-543)
xCtr=xCb+(cbWidth/2) (8-544)
yCtr=yCb+(cbHeight/2) (8-545)
6. 輝度位置(xColCtrCb,yColCtrCb)は、ColPicによって規定されたコロケーションされたピクチャの左上輝度サンプルに対して、ColPic内部の(xCtr,yCtr)によって与えられる位置を含む同一位置輝度符号化ブロックの左上サンプルに等しく設定される。
7. 8.5.5.4項で規定されているサブブロックに基づく時間的マージベース動きデータの導出処理は、Xを0および1として、(xCtb,yCtb)、場所(xColCtrCb,yColCtrCb)、可用性フラグ可用性フラグAvailabilityフラグA、予測リスト利用フラグpredFlagLXA、および参照インデックスrefIdxLXA、並びに動きベクトルmvLXAを入力として呼び出され、出力は、Xを0および1として、動きベクトルctrMVLX、並びにコロケーションされたブロックの予測リスト利用フラグctrPredFlagLX、時間動きベクトルtempMvである。
8. 変数availableFlagSbColは、以下のように導出する。
- ctrPredFlagL0およびctrPredFlagL1の両方が0に等しい場合、availableFlagSbColは0に等しく設定される。
- そうでない場合、availableFlagSbColは1に等しく設定される。
availableFlagSbColが1に等しい場合、以下が適用される。
- 変数numSbX、numSbY,sbWidth、sbHeight、refIdxLXSbColは、以下のように導出する。
numSbX=cbWidth>>3 (8-546)
numSbY=cbHeight>>3 (8-547)
sbWidth=cbWidth/numSbX (8-548)
sbHeight=cbHeight/numSbY (8-549)
refIdxLXSbCol=0 (8-550)
- xSbIdx=0..numSbX-1およびySbIdx=0...numSbY-1の場合、動きベクトルmvLXSbCol[xSbIdx][ySbIdx]および予測リスト利用フラグpredFlags LXSbCol[xSbIdx]は、以下のように導出する。
- 現在のピクチャの左上の輝度サンプルに対する現在の符号化サブブロックの左上のサンプルを規定する輝度位置(xSb,ySb)は、以下のように導出する。
xSb=xCb+xSbIdx*sbWidth+sbWidth/2 (8-551)
ySb=yCb+ySbIdx*sbHeight+sbHeight/2 (8-552)
Figure 2022544260000045
- 変数currCbは、現在のピクチャ内の現在の符号化サブブロックを含む輝度符号化ブロックを規定する。
- 変数colCbは、ColPicの内部において、((xColSb>>3)<<3,(yColSb>>3)<<3)で与えられる修正位置を含む輝度符号化ブロックを規定する。
- 輝度位置(xColCb,yColCb)は、ColPicによって指定されたコロケーションされたピクチャの左上輝度サンプルに対して、colCbによって指定された同一位置輝度符号化ブロックの左上サンプルに等しく設定される。
- 8.5.2.12項で規定されている同一位置動きベクトルの導出処理は、currCb,colCb,(xColCb,yColCb),0と等しく設定されたrefIdxL0、1と等しく設定されたsbFlagを入力として呼び出され、出力は、サブブロックmvL0SbCol[xSbIdx][ySbIdx]およびavailableFlagL0SbColの動きベクトルに割り当てられる。
- 8.5.2.12項で規定されている同一位置動きベクトルの導出処理は、currCb,colCb,(xColCb,yColCb)、0と等しく設定されたrefIdxL1、1と等しく設定されたsbFlagを入力として呼び出され、出力はサブブロックMVL1SbCol[xSbIdx][ySbIdx]およびavailableFlagL1SbColの動きベクトルに割り当てられる。
- availableFlagL0SbColおよびavailableFlagL1SbColが両方とも0に等しい場合、Xが0および1である場合、以下が適用される。
mvLXSbCol[xSbIdx][ySbIdx]=ctrMvLX (8-556)
predFlagLXSbCol[xSbIdx][ySbIdx]=ctrPredFlagLX (8-557)
8.5.5.4 サブブロックに基づく時間的マージベースの動きデータの導出処理
この処理への入力は以下の通りである。
- 現在の符号化ブロックを含む輝度符号化ツリーブロックの左上のサンプルの位置(xCtb,yCtb)、
- 右下中心サンプルを含む、同じ場所に位置する輝度符号化ブロックの左上サンプルの位置(xColCtrCb,yColCtrCb)。
- 近傍の符号化ユニットの可用性フラグavailableFlagA
- 近傍の符号化ユニットの参照インデックスrefIdxLXA
- 近傍の符号化ユニットの予測リスト利用フラグpredFlagLXA
- 近傍の符号化ユニットの1/16端数サンプル精度mvLXAにおける動きベクトル。
この処理の出力は以下の通りである。
- 動きベクトルctrMvL0およびctrMvL1、
- 予測リスト利用フラグctrPredFlagL0、ctrPredFlagL1、
- 時間的動きベクトルtempMv。
変数tempMvは、以下のように設定される。
tempMv[0]=0 (8-558)
tempMv[1]=0 (8-559)
変数currPicは、現在のピクチャを規定する。
availableFlagAがTRUEに等しい場合、以下が適用される。
- 以下のすべての条件が真である場合、tempMvはmvL0Aに等しく設定される。
- predFlagL0Aが1に等しい、
- DiffPicOrderCnt(ColPic,RefPicList[0][refIdxL0A])が0に等しい、
- そうでない場合、以下のすべての条件が真である場合、tempMvはmvL1A:に等しく設定される。
- スライスタイプはBと同じである、
- predFlagL1Aが1に等しい、
- DiffPicOrderCnt(ColPic,RefPicList[1][refIdxL1A])は0に等しい。
Figure 2022544260000046
配列colPredModeは、ColPicが指定したコロケーションされたピクチャの予測モード配列CuPredMode[0]に等しく設定される。
動きベクトルctrMvL0、ctrMvL1、および予測リスト利用フラグctrPredFlagL0、ctrPredFlagL1は、以下のように導出する。
- colPredMode[xColCb][yColCb]がMODE_INTERと等しい場合、以下が適用される。
- 変数currCbは、現在のピクチャ内で(xCtrCb,yCtrCb)を含む輝度符号化ブロックを規定する。
- 変数colCbは、ColPicの内部において、((xColCb>>3)<<3,(yColCb>>3)<<3)で与えられる修正位置を含む輝度符号化ブロックを規定する。
- 輝度位置(xColCb,yColCb)は、ColPicによって指定されたコロケーションされたピクチャの左上輝度サンプルに対して、colCbによって指定された同一位置輝度符号化ブロックの左上サンプルに等しく設定される。
- 8.5.2.12項に規定されている同一位置動きベクトルの導出処理は、currCb、colCb,(xColCb,yColCb)、0と等しく設定されたrefIdxL0、および1に等しく設定されたsbFlagを入力とし、出力をctrMvL0およびctrPredFlagL0に割り当てることにより呼び出される。
- 8.5.2.12項に規定されている同一位置動きベクトルの導出処理は、currCb,colCb,(xColCb,yColCb),0に等しく設定されたrefIdxL1、および1に等しく設定されたsbFlagを入力とし、出力をctrMvL1およびctrPredFlagL1に割り当てることにより呼び出される。
- そうでない場合、以下が適用される。
ctrPredFlagL0=0 (8-563)
ctrPredFlagL1=0 (8-564)
8.5.6.3 端数サンプル補間処理
8.5.6.3.1 一般
この処理への入力は以下の通りである。
- 現在のピクチャの左上の輝度サンプルに対する現在の符号化サブブロックの左上のサンプルを規定する輝度位置(xSb,ySb)、
- 現在の符号化サブブロックの幅を規定する変数sbWidth、
- 現在の符号化サブブロックの高さを規定する変数sbHeight、
- 動きベクトルオフセットmvOffset、
- 微調整された動きベクトルrefMvLX、
- 選択された参照ピクチャサンプル配列refPicLX、
- 1/2サンプル補間フィルタインデックスhpelIfIdx、
- 双方向オプティカルフローフラグbdofFlag、
- 現在のブロックの色成分インデックスを規定する変数cIdx。
この処理の出力は以下の通りである。
- 予測サンプル値の(sbWidth+brdExtSize)x(sbHeight+brdExtSize)配列predSamplesLX。
予測ブロック境界拡大サイズbrdExtSizeは、以下のように導出する。
brdExtSize=(bdofFlag||(inter_affine_flag[xSb][ySb] && sps_affine_prof_enabled_flag))?2:0 (8-752)
変数fRefWidthは、輝度サンプルにおける参照ピクチャのPicOutputWidthLに等しく設定される。
変数fRefHeightは、輝度サンプルにおける参照ピクチャのPicOutputHeightLに等しく設定される。
動きベクトルmvLXは、(refMvLX-mvOffset)に等しく設定される。
- cIdxが0に等しい場合、以下が適用される。
- スケーリングファクタおよびその固定小数点表現は、以下のように定義される。
hori_scale_fp=((fRefWidth<<14)+(PicOutputWidthL>>1))/PicOutputWidthL (8-753)
vert_scale_fp=((fRefHeight<<14)+(PicOutputHeightL>>1))/PicOutputHeightL (8-754)
- (xIntL,yIntL)をフルサンプルユニットで与えられた輝度位置とし、
(xFracL,yFracL)を1/16サンプル単位で与えられたオフセットとする。これらの変数は、本項でのみ、参照サンプル配列refPicLX内の端数サンプル位置を規定するために使用される。
- 参照サンプルパディング用バウンディングブロック(xSbIntL,ySbIntL)の左上座標を、(xSbIntL,ySbIntL) is set equal
to(xSb+(mvLX[0]>>4),ySb+(mvLX[1]>>4))に等しく設定する。
- 予測輝度サンプル配列predSamplesLX内の各輝度サンプル位置(xL=0..sbWidth-1+brdExtSize,yL=0..sbHeight-1+brdExtSize)について、対応する予測輝度サンプル値predSamplesLX[xL][yL]は下記のように導出する。
- (refxSbL,refySbL)および(refxL,refyL)を、1/16サンプル単位で与えられる動きベクトル(refMvLX[0],refMvLX
[1])が指す輝度位置とする。変数refxSbL、refxL、refySbL、refyLは、以下のように導出する。
refxSbL=((xSb<<4)+refMvLX[0])*hori_scale_fp (8-755)
refxL=((Sign(refxSb)*((Abs(refxSb)+128)>>8)
+xL*((hori_scale_fp+8)>>4))+32)>>6 (8-756)
refySbL=((ySb<<4)+refMvLX[1])*vert_scale_fp (8-757)
refyL=((Sign(refySb)*((Abs(refySb)+128)>>8)+yL*
((vert_scale_fp+8)>>4))+32)>>6 (8-758)
- 変数xInt、yInt、xFrac、およびyFracは、以下のように導出する。
xInt=refx>>4 (8-759)
yInt=refy>>4 (8-760)
xFrac=refx&15 (8-761)
yFrac=refy&15 (8-762)
Figure 2022544260000047
- bdofFlagがTRUEに等しいか(sps_affine_prof_enabled_flagがTRUEに等しく、inter_affine_flag[xSb][ySb]がTRUEに等しい)、次の条件の1つ以上が真である場合、予測輝度サンプル値predSamplesLX[x][y]は、8.5.6.3.3で規定されているように、入力として(xInt+(xFrac>>3)-1),yInt+(yFrac>>3)-1)およびrefPicLXを使用して輝度整数サンプル取り出し処理を呼び出すことによって導出する。
1. xは0に等しい。
2. xは、sbWidth+1に等しい。
3. yは0に等しい。
4. yは、sbHeight+1に等しい。
Figure 2022544260000048
- そうでない場合(cIdxが0に等しくない)、以下が適用される。
- (xIntC,yIntC)をフルサンプルユニットで与えられたクロマ位置とし、(xFracC,yFracC)を1/32サンプル単位で与えられたオフセットとする。これらの変数は、本項でのみ、参照サンプル配列refPicLX内の一般的な端数サンプルの位置を規定するために使用される。
- 参照サンプルパディング用バウンディングブロック(xSbIntC,ySbIntC)の左上座標は、((xSb/SubWidthC)+(mvLX[0]>>5),
(ySb/SubHeightC)+(mvLX[1]>>5))に等しく設定される。
- 予測クロマサンプル配列predSamplesLX内の各クロマサンプル位置(xC=0..sbWidth-1,yC=0..sbHeight-1)について、対応する予測クロマサンプル値predSamplesLX[xC][yC]は、以下のように導出する。
- (refxSb,refySb)および(refx,refy)を、1/32サンプル単位で与えられる動きベクトル(mvLX[0],mvLX[1])が指すクロマ位置とする。変数refxSb、refySb、refx、refyは、以下のように導出する。
refxSb=((xSb/SubWidthC<<5)+mvLX[0])*hori_scale_fp (8-763)
refx=((Sign(refxSb)*((Abs(refxSb)+256)>>9)
+xC*((hori_scale_fp+8)>>4))+16)>>5 (8-764)
refySb=((ySb/SubHeightC<<5)+mvLX[1])*vert_scale_fp (8-765)
refy=((Sign(refySb)*((Abs(refySb)+256)>>9)
+yC*((vert_scale_fp+8)>>4))+16)>>5 (8-766)
- 変数xInt、yInt、xFrac、yFracは、以下のように導出する。
xInt=refx>>5 (8-767)
yInt=refy>>5 (8-768)
xFrac=refy&31 (8-769)
yFrac=refy&31 (8-770)
- 予測サンプル値predSamplesLX[xC][yC]は、(xIntC,yIntC),(xFracC,yFracC),(xSbIntC,ySbIntC),sbWidth,sbHeight、およびrefPicLXを入力として、8.5.6.3.4で指定した処理を呼び出すことによって導出される。
8.5.6.3.2 輝度サンプル補間フィルタリング処理
Figure 2022544260000049
この処理の出力は、予測輝度サンプル値predSampleLXである。
変数shift1、shift2、およびshift3は、以下のように導出する。
- 変数shift1をMin(4,BitDepth_8)に等しく設定し、変数shift2を6に等しく設定し、変数shift3をMax(2,14-BitDepth)に等しく設定する。
- 変数picWはpic_width_in_luma_samplesに等しく設定され、変数picHはpic_height_in_luma_samplesに等しく設定される。
Figure 2022544260000050
i=0..7の場合、フルサンプルユニット(xInt,yInt)における輝度位置は、以下のように導出する。
- subpic_treated_as_pic_flag[SubPicIdx]が1に等しい場合、以下が適用される。
xInt=Clip3(SubPicLeftBoundaryPos,SubPicRightBoundaryPos,xInt+i-3) (8-771)
yInt=Clip3(SubPicTopBoundaryPos,SubPicBotBoundaryPos,yInt+i-3) (8-772)- それ以外の場合(subpic_treated_as_pic_flag[SubPicIdx]が0に等しい)、以下が適用される。
xInt=Clip3(0,picW-1,sps_ref_wraparound_enabled_flag?
ClipH((sps_ref_wraparound_offset_minus1+1)*MinCbSizeY,picW,xInt+i-3): (8-773)
xInt+i-3)
yInt=Clip3(0,picH-1,yInt+i-3) (8-774)
i=0..7の場合、フルサンプルユニットにおける輝度位置は、以下のようにさらに修正される。
xInt=Clip3(xSbInt-3,xSbIntL+sbWidth+4,xInt) (8-775)
yInt=Clip3(ySbInt-3,ySbInt+sbHeight+4,yInt) (8-776)
予測輝度サンプル値predSampleLXは、以下のように導出する。
- xFracおよびyFracの両方が0に等しい場合、predSampleLXの値は、以下のように導出する。
predSampleLX=refPicLX[xInt][yInt]<
<shift3 (8-777)
- そうではなく、xFracが0に等しくなく、yFracが0に等しい場合は、
predSampleLXの値は、以下のように導出する。
predSampleLX=(Σ i=0[xFrac][i]*refPicLX[xInt][yInt])>>shift1 (8-778)- そうではなく、xFracが0に等しく、yFracが0に等しくない場合、predSampleLXの値は、以下のように導出する。
predSampleLX=(Σ i=0[yFrac][i]*refPicLX[xInt][yInt])>>shift1 (8-779)- そうではなく、xFracが0に等しくなく、yFracが0に等しくない場合、predSampleLXの値は、以下のように導出する。
- n=0..7のサンプル配列temp[n]は、以下のように導出する。
temp[n]=(Σ i=0[xFrac][i]*refPicLX[xInt][yInt])>>shift1 (8-780)
- 予測輝度サンプル値predSampleLXは、以下のように導出する。
predSampleLX=(Σ i=0[yFrac][i]*temp
[i])>>shift2 (8-781)
Figure 2022544260000051
Figure 2022544260000052
図30は、映像処理方法3000のフローチャートである。方法3000は、ステップ3010において、映像の現在のブロックと映像のビットストリーム表現との間での変換のために、サブブロックに基づくマージ候補リストにおける最大数の候補(ML)および/または、サブブロックに基づく時間的動きベクトル予測(SbTMVP)候補を、時間的動きベクトル予測(TMVP)が変換時に使用に対して有効にされるかどうか、または、変換に、現在のピクチャ参照(CPR)符号化モードを使用するかどうかに基づいて、
サブブロックに基づくマージ候補リストに加えるかどうかを判定すること、を含む。
方法3000は、ステップ3020において、前記判定をすることに基づいて前記変換を行うことを含む。
図31は、映像処理方法3100のフローチャートである。方法3100は、ステップ3110において、映像の現在のブロックと映像のビットストリーム表現との間での変換のために、時間的動きベクトル予測(TMVP)、サブブロックに基づく時間的動きベクトル予測(SbTMVP)ツール、およびアフィン符号化モードを変換に対して有効とされているかどうかに基づいて、サブブロックに基づくマージ候補リストにおける候補の最大数(ML)を判定することを含む。
方法3100は、ステップ3120において、判定に基づいて変換を行うことを含む。
図32は、映像処理方法3200のフローチャートである。方法3200は、ステップ3210において、映像の第1の映像セグメントの現在のブロックと映像のビットストリーム表現との間での変換のために、第1の映像セグメントレベルにおいて時間的動きベクトル予測(TMVP)モードが無効であるために、サブブロックに基づく動きベクトル予測(SbTMVP)モードの変換が無効にされていると判定することを含む。
方法3200は、ステップ3220において、判定に基づいて変換を行うことを含み、
ビットストリーム表現は、SbTMVPモードの表示が含まれているか否か、および/またはマージ候補リストにおけるTMVPモードの表示に対するSbTMVPモードの表示の位置を規定するフォーマットに準拠する。
図33は、映像処理方法3300のフローチャートである。方法3300は、ステップ3310において、サブブロックに基づく時間的動きベクトル予測(SbTMVP)ツールまたは時間的動きベクトル予測(TMVP)ツールを使用して符号化された映像の現在のブロックと、映像のビットストリーム表現との間で変換を行うことを含み、現在のブロックまたは現在のブロックの対応する位置の座標または現在のブロックのサブブロックは、SbTMVPツールまたはTMVPツールに関連付けられた動きベクトルの圧縮に基づいてマスクを使用して選択的にマスクされ、マスクの適用は、座標の値とマスクの値との間のビット単位のAND演算を含む。
図34は、映像処理方法3400のフローチャートである。方法3400は、ステップ3410において、映像の映像セグメントの現在のブロックの1つ以上の特徴に基づいて、現在のブロックに対してサブブロックに基づく動きベクトル予測(SbTMVP)ツールを適用するための現在のブロックの有効な対応する領域を判定することを含む。
方法3400は、ステップ3420において、この判定に基づいて現在のブロックと映像のビットストリーム表現との間で変換を行うことを含む。
図35は、映像処理方法3500のフローチャートである。方法3500は、ステップ3510において、サブブロックに基づく時間的動きベクトル予測(SbTMVP)ツールを使用して符号化される映像の現在のブロックについて、デフォルトの動きベクトルを判定することを含む。
方法3500は、ステップ3520において、判定に基づいて、現在のブロックと映像のビットストリーム表現との間で変換を行うことを含み、現在のブロックの中心位置に関連付けられたコロケーションされたピクチャにおける対応する位置を含むブロックから動きベクトルが得られない場合にデフォルトの動きベクトルを判定する。
図36は、映像処理方法3600のフローチャートである。方法3600は、ステップ3610において、映像の映像セグメントの現在のブロックについて、現在のブロックの現在のピクチャが、参照ピクチャリストXにおけるインデックスをMに設定した参照ピクチャであり、MおよびXが整数であり、X=0またはX=1である場合にサブブロックに基づく時間的動きベクトル予測(SbTMVP)ツールまたは時間的動きベクトル予測(TMVP)ツールが無効になると推論することを含む。
方法3600は、ステップ3620において、推論に基づいて、現在のブロックと映像のビットストリーム表現との間で変換を行うことを含む。
図37は、映像処理方法3700のフローチャートである。方法3700は、ステップ3710において、映像の現在のブロックに対して、現在のブロックの現在のピクチャが、参照ピクチャリストXにおけるMに設定されたインデックスを有する参照ピクチャであり、MおよびXが整数である場合にサブブロックに基づく時間的動きベクトル予測(SbTMVP)ツールの適用が有効にされることを判定することを含む。
方法3700は、ステップ3720において、この判定に基づいて現在のブロックと映像のビットストリーム表現との間で変換を行うことを含む。
図38は、映像処理方法3800のフローチャートである。方法3800は、ステップ3810において、映像の現在のブロックと映像のビットストリーム表現との間で変換を行うことを含み、現在のブロックは、サブブロックに基づく符号化ツールを使用して符号化され、変換を行うことは、サブブロックに基づく時間的動きベクトル予測(SbTMVP)ツールが有効にされているか無効にされている場合に複数のビン(N)を使用してサブブロックマージインデックスを統一方法で符号化する。
図39は、映像処理方法3900のフローチャートである。方法3900は、ステップ3910において、サブブロックに基づく時間的動きベクトル予測(SbTMVP)ツールを使用して符号化された映像の現在のブロックに対して、SbTMVPツールが現在のブロックを含む現在のピクチャと異なるピクチャにおける対応するブロックを規定するための動きベクトルを判定することを含む。
方法3900は、ステップ3920において、判定に基づいて、現在のブロックと映像のビットストリーム表現との間で変換を行うことを含む。
図40は、映像処理方法4000のフローチャートである。方法4000は、ステップ4010において、映像の現在のブロックと映像のビットストリーム表現との間での変換のために、現在のブロックを変換するためにアフィン予測が有効にされるか否かに基づいて、動きゼロアフィンマージ候補をサブブロックマージ候補リストに挿入するか否かを判定することを含む。
方法4000は、ステップ4020において、前記判定に基づいて前記変換を行うことを含む。
図41は、映像処理方法4100のフローチャートである。方法4100は、ステップ4110において、映像の現在のブロックと、サブブロックマージ候補リストを用いる映像のビットストリーム表現との間での変換のために、サブブロックマージ候補リストが満たされていない場合にゼロ動き非アフィンパディング候補をサブブロックマージ候補リストに挿入することを含む。
方法4100は、ステップ4120において、挿入した後、変換を行うことを含む。
図42は、映像処理方法4200のフローチャートである。方法4200は、ステップ4210において、映像の現在のブロックと映像のビットストリーム表現との間での変換のために、コロケーションされたピクチャにおける対応する位置を含むブロックの1つ以上の動きベクトルから動きベクトルを導出することを判定する規則を使用して、動きベクトルを判定することを含む。
方法4200は、ステップ4220において、動きベクトルに基づいて変換を行うことを含む。
図43は、映像処理の方法4300のフローチャートである。この方法4300は、工程4310において、映像の現在のブロックと映像のビットストリーム表現との変換のために、同一位置に配置されたピクチャ内の現在のブロックまたは現在のブロックのサブブロックに関連付けられた時間的ブロックが、同じピクチャ内の以前に符号化されたサンプルに基づいて映像ユニットが再構成される符号化モードを使用して符号化されている場合に、変換のためにデフォルトの動き候補を有するサブブロックに基づく時間的動きベクトル予測(sbTMVP)ツールを使用すると決定することを含む。
方法4300は、工程4320において、デフォルト動き候補に基づいて変換を行うことを含む。
図44は、映像処理の方法4400のフローチャートである。この方法4400は、工程4410において、映像の現在のブロックと映像のビットストリーム表現との間での変換の一部であるサブブロックに基づく時間的動きベクトル予測(sbTMVP)処理に対して、現在のブロックのサブブロックのためのサブブロック動き情報導出処理で使用される位置の所在に基づいて、sbTMVP処理のためのデフォルト動き情報を導出することを含む。
方法4400は、工程4420において、デフォルト動き情報に基づいて変換を行うことを含む。
図45は、映像処理の方法4500のフローチャートである。この方法4500は、工程4510において、サブブロックに基づく時間的動きベクトル予測(sbTMVP)ツールを用いて符号化された映像の現在のブロックと、映像のビットストリーム表現と、の変換のために、現在のブロックの現在のピクチャとは異なるピクチャ内の対応するブロックの位置を突き止めるために使用される修正された動きベクトルを決定することであって、修正された動きベクトルは、sbTMVPツールで予測に使用される動きベクトルを整数精度で右シフトすることによって生成される、決定することを含む。
方法4500は、動作4520において、前記決定に基づいて前記変換を行うことを含む。
図46は、映像処理装置4600のブロック図である。本明細書に記載の方法の1つ以上を実装するために、装置4600を使用してもよい。装置4600は、スマートフォン、タブレット、コンピュータ、モノのインターネット(IoT)受信機等に実施されてもよい。装置4600は、1つ以上の処理装置4602と、1つまたは複数のメモリ4604と、映像処理ハードウェア4606と、を含んでもよい。処理装置4602は、本明細書に記載される1つ以上の方法を実装するように構成されてもよい。メモリ(複数可)4604は、本明細書で説明される方法および技術を実装するために使用されるデータおよびコードを記憶するために使用してもよい。映像処理ハードウェア4606は、本明細書に記載される技術をハードウェア回路にて実装するために使用してもよい。
いくつかの実施形態において、映像符号化方法は、図46を参照して説明したように、
ハードウェアプラットフォームに実装される装置を使用して実施されてもよい。
開示される技術のいくつかの実施形態は、映像処理ツールまたはモードを有効にするように決定または判定することを含む。一例において、映像処理ツールまたはモードが有効にされる場合、エンコーダは、1つの映像ブロックを処理する際にこのツールまたはモードを使用するまたは実装するが、このツールまたはモードの使用に基づいて、結果として得られるビットストリームを必ずしも修正しなくてもよい。すなわち、映像のブロックから映像のビットストリーム表現への変換は、決定または判定に基づいて映像処理ツールまたはモードが有効にされる場合に、この映像処理ツールまたはモードを使用する。別の例において、映像処理ツールまたはモードが有効にされる場合、デコーダは、ビットストリームが映像処理ツールまたはモードに基づいて修正されたことを認識して、ビットストリームを処理する。すなわち、決定または判定に基づいて有効にされた映像処理ツールまたはモードを使用して、映像のビットストリーム表現から映像のブロックへの変換を行う。
開示される技術の一部の実施形態は、映像処理ツールまたはモードを無効にする決定または判定を行うことを含む。一例において、映像処理ツールまたはモードが無効にされている場合、エンコーダは、映像のブロックを映像のビットストリーム表現に変換する際に、このツールまたはモードを使用しない。別の例において、映像処理ツールまたはモードが無効にされている場合、デコーダは、ビットストリームが、決定または判定に基づいて有効にされた映像処理ツールまたはモードを使用して修正されていないことを認識して、
ビットストリームを処理する。
図47は、本明細書で開示される様々な技術が実装され得る例示的な映像処理システム4700を示すブロック図である。様々な実装形態は、システム4700のモジュールの一部または全部を含んでもよい。システム4700は、映像コンテンツを受信するための入力ユニット4702を含んでもよい。映像コンテンツは、未加工または非圧縮フォーマット、例えば、8または10ビットのマルチモジュール画素値で受信されてもよく、または圧縮または符号化フォーマットで受信されてもよい。入力ユニット4702は、ネットワークインターフェース、周辺バスインターフェース、または記憶インターフェースを表してもよい。ネットワークインターフェースの例としては、イーサネット(登録商標)、
パッシブ光ネットワーク(PON)等の有線インターフェース、およびWi-Fi(登録商標)またはセルラーインターフェース等の無線インターフェースが挙げられる。
システム4700は、本明細書に記載される様々な符号化または符号化方法を実装することができる符号化モジュール4704を含んでもよい。符号化モジュール4704は、
入力ユニット4702からの映像の平均ビットレートを符号化モジュール4704の出力に低減し、映像の符号化表現を生成してもよい。従って、この符号化技術は、映像圧縮または映像コード変換技術と呼ばれることがある。符号化モジュール4704の出力は、モジュール4706によって表されるように、記憶されてもよいし、接続された通信を介して送信されてもよい。入力ユニット4702において受信された、記憶されたまたは通信された映像のビットストリーム(または符号化)表現は、モジュール4708によって使用されて、表示インターフェースユニット4710に送信される画素値または表示可能な映像を生成してもよい。ビットストリーム表現からユーザが見ることができる映像を生成する処理は、映像展開と呼ばれることがある。さらに、特定の映像処理動作を「符号化」動作またはツールと呼ぶが、符号化ツールまたは動作は、エンコーダおよびそれに対応する、復号化の結果を逆にする復号化ツールまたは動作が、デコーダによって行われることが理解されよう。
周辺バスインターフェースユニットまたは表示インターフェースユニットの例は、ユニバーサルシリアルバス(USB)または高精細マルチメディアインターフェース(HDMI(登録商標))またはディスプレイポート等を含んでもよい。ストレージインターフェースの例は、シリアルアドバンスドテクノロジーアタッチメント(SATA)、PCI、
IDEインターフェース等を含む。本明細書に記載される技術は、携帯電話、ノートパソコン、スマートフォン、またはデジタルデータ処理および/または映像表示を実施可能な他のデバイス等の様々な電子デバイスに実施されてもよい。
いくつかの実施形態において、次の技術案を実装することができる。
A1.映像の現在のブロックと該映像のビットストリーム表現との間での変換のために、サブブロックに基づくマージ候補リストにおける最大数の候補(ML)および/または時間的動きベクトル予測(SbTMVP)を、該サブブロックに基づくマージ候補リストに加えるかどうかを、時間的動きベクトル予測(TMVP)を変換中の使用に対して有効であるか、または現在のピクチャ参照(CPR)符号化モードが該変換に使用されているかどうかに基づいて、判定することと、判定に基づいて、変換を行うことと、を含む、映像処理方法。
A2.TMVPツールが無効にされているか、またはSbTMVPツールが無効にされているかの判定に基づいて、SbTMVP候補の使用が無効にされる、解決案A1に記載の方法。
A3.MLを判定することは、SbTMVPツールまたはTMVPツールが無効にされているかどうかに基づいて、サブブロックに基づくマージ候補リストからSbTMVP候補を除外することを含む、解決案A2に記載の方法。
A4.映像の現在のブロックとこの映像のビットストリーム表現との間での変換のために、時間的動きベクトル予測(TMVP)、サブブロックに基づく時間的動きベクトル予測(SbTMVP)ツール、およびアフィン符号化モードがこの変換に対する使用に対して有効であるかどうかに基づいて、サブブロックに基づくマージ候補リストにおける最大数の候補(ML)を判定することと、判定に基づいて、この変換を行うことを含む、映像処理方法。
A5.アフィン符号化モードが有効であるとの判定に起因して、MLがオンザフライで設定され、ビットストリーム表現で信号通知される、解決案A4に記載の方法。
A6.アフィン符号化モードが無効にされているとの判定により、MLが予め定義される、解決案A4に記載の方法。
A7.MLを判定することは、TMVPツールが無効にされていると判定されることによって、MLを0に設定することを含み、SbTMVPツールが有効にされ、現在のブロックのアフィン符号化モードが無効にされる、解決案A2またはA6に記載の方法。
A8.MLを判定することは、SbTMVPツールが有効であると判定されることによって、MLを1に設定することを含み、TMVPツールが有効にされ、現在のブロックのアフィン符号化モードが無効にされる、解決案A2またはA6に記載の方法。
A9.SbTMVPツールが無効にされている、または現在のブロックの現在のピクチャのコロケーションされた参照ピクチャが現在のピクチャであると判定することによって、SbTMVP候補の使用が無効にされる、解決案A1に記載の方法。
A10.MLを判定することは、SbTMVPツールが無効であるか、または現在のピクチャのコロケーションされた参照ピクチャが現在のピクチャであるかに基づいて、サブブロックに基づくマージ候補リストからSbTMVP候補を除外することを含む、解決案A9に記載の方法。
A11.MLを判定することは、現在のピクチャのコロケーションされた参照ピクチャが現在のピクチャであると判定されることに基づいて、MLを0に設定することと、現在のブロックのアフィン符号化が無効にされることとを含む、解決案A9に記載の方法。
A12.MLを判定することは、SbTMVPツールが有効であると判定されることによって、現在のピクチャのコロケーションされた参照ピクチャが現在のピクチャではなく、現在のブロックのアフィン符号化が無効にされている場合、MLを1に設定することを含む、解決案A9に記載の方法。
A13.SbTMVPツールが無効にされているか、または参照ピクチャリスト0(L0)における参照ピクチャインデックス0を有する参照ピクチャが現在のブロックの現在のピクチャであると判定されることによって、SbTMVP候補の使用が無効にされる、
解決案A1に記載の方法。
A14.MLを判定することは、SbTMVPツールが無効にされているか、またはL0における参照ピクチャインデックス0を有する参照ピクチャが現在のピクチャであるかに基づいて、サブブロックに基づくマージ候補リストからSbTMVP候補を除外することを含む、解決案A13に記載の方法。
A15.MLを判定することは、SbTMVPツールが有効であると判定されることによって、MLを0に設定することを含み、L0における参照ピクチャインデックス0を有する参照ピクチャが現在のピクチャであり、現在のブロックのアフィン符号化が無効にされる、解決案A10またはA13に記載の方法。
A16.MLを判定することは、SbTMVPツールが有効であると判定されることによってMLを1に設定することを含み、L0における参照ピクチャインデックス0を有する参照ピクチャが現在のピクチャではなく、現在のブロックのアフィン符号化が無効にされる、A13に記載の方法。
A17.SbTMVPツールが無効にされているとの判定により、SbTMVP候補の使用が無効にされているか、または参照ピクチャリスト1(L1)における参照ピクチャインデックス0を有する参照ピクチャが現在のブロックの現在のピクチャである、解決案A1に記載の方法。
A18.MLを判定することは、SbTMVPツールが無効とされているか、またはL1における参照ピクチャインデックス0を有する参照ピクチャが現在のピクチャであるかに基づいて、SbTMVP候補をサブブロックに基づくマージ候補リストから除外することを含む、解決案A17に記載の方法。
A19.MLを判定することは、SbTMVPツールが有効であると判定されることによって、MLを0に設定することと、L1における参照ピクチャインデックス0が現在のピクチャである参照ピクチャと、現在のブロックのアフィン符号化とを無効にすることとを含む、A17に記載の方法。
A20.MLを判定することは、SbTMVPツールが有効であると判定されることによって、MLを1に設定することを含む、L1における参照ピクチャインデックス0を有する参照ピクチャが現在のピクチャではなく、現在のブロックのアフィン符号化が無効である、A17に記載の方法。
A21.1つの映像の第1の映像セグメントの現在のブロックとこの映像のビットストリーム表現との間での変換のために、第1の映像セグメントレベルで時間的動きベクトル予測(TMVP)モードが無効にされているために、1つのサブブロックに基づく動きベクトル予測(SbTMVP)モードがこの変換に対して無効にされていることを判定することと、この判定に基づいて、変換を行うこととを含み、ビットストリーム表現は、SbTMVPモードの表示が含まれているかどうか、および/または、マージ候補リストにおけるTMVPモードの表示に対するSbTMVPの表示の位置を規定するフォーマットに準拠している、映像処理方法。
A22.第1の映像セグメントは、シーケンス、スライス、タイルまたはピクチャである、解決案A21に記載の方法。
A23.フォーマットは、第1の映像セグメントレベルにTMVPモードの表示を含めることによって、SbTMVPモードの表示を省略することを規定する、解決案A21に記載の方法。
A24.前記フォーマットは、SbTMVPモードの表示が、TMVPモードの表示の後、復号化順に第1の映像セグメントレベルにあることを規定する、解決案A21に記載の方法。
A25.前記フォーマットは、TMVPモードが無効であると判定されるため、SbTMVPモードの表示を省略することを規定する、解決案A21~A24のいずれかに記載の方法。
A26.前記フォーマットは、SbTMVPモードの表示が映像のシーケンスレベルに含まれ、第2の映像セグメントレベルでは省略されることを規定する、解決案A21に記載の方法。
A27.第2の映像セグメントレベルの第2の映像セグメントは、スライス、タイル、
またはピクチャである、解決案A26に記載の方法。
A28.変換は、ビットストリーム表現から現在のブロックを生成する、解決案A1~A27のいずれかに記載の方法。
A29.前記変換は、現在のブロックからビットストリーム表現を生成する、解決案A1~A27のいずれかに記載の方法。
A30.前記変換を行うことは、1つ以上の復号化規則に基づいて前記ビットストリーム表現を構文解析するステップを含む、解決案A1~A27のいずれかに記載の方法。
A31.処理装置と、命令を搭載した非一時的メモリとを含む、映像システムにおける装置であって、処理装置が実行する命令は、処理装置に、解決案A1~A43のいずれか1案に記載の方法を実装させる映像システムにおける装置。
A32.非一時的なコンピュータ可読媒体に記憶されたコンピュータプログラム製品であって、解決案A1~A43のいずれか1案に記載の方法を実行するためのプログラムコードを含む、コンピュータプログラム製品。
いくつかの実施形態において、次の技術案を実装することができる。
B1.サブブロックに基づく時間的動きベクトル予測(SbTMVP)ツールまたは時間的動きベクトル予測(TMVP)ツールを使用して符号化された映像の現在のブロックと、この映像のビットストリーム表現との間で変換を行うことを含み、SbTMVPツールまたはTMVPツールに関連付けられた動きベクトルの圧縮に基づいて、マスクを使用して、現在のブロックまたはこの現在のブロックのサブブロックに対応する位置の座標を選択的にマスクし、このマスクを適用することは、この座標の値とこのマスクの値とのビット単位のAND演算を含む、映像処理方法。
B2.座標が(xN,yN)であり、マスク(MASK)が~(2M-1)に等しい整数であり、Mが整数であり、マスクの適用によりマスクされた座標(xN’,yN’)が得られ、xN’=xN&MASKであり、yN’=yN&MASKであり、“~”がビット単位のNOT演算であり、“&”がビット単位のAND演算である、解決手段B1に記載の方法。
B3.M=3またはM=4である、解決案B2に記載の方法。
B4.前記動きベクトルの圧縮に基づいて、サイズ2K×2Kの複数のサブブロックが同じ動き情報を共有し、KがMに等しくない整数である、解決案B2またはB3に記載の方法。
B5.M=K+1である、解決案B4に記載の方法。
B6.SbTMVPツールまたはTMVPツールに関連付けられた動きベクトルが圧縮されていないと判定された場合、前記マスクを適用しない、解決案1に記載の方法。
B7.SbTMVPツールのためのマスクがTMVPツールのためのマスクと同じである、解決案B1~B6のいずれかに記載の方法。
B8.ATMVPツールのためのマスクがTMVPツールのためのマスクと異なる、解決案B1~B6のいずれかに記載の方法。
B9.1つのタイプの圧縮は、非圧縮、8×8圧縮、または16×16圧縮である、解決案B1に記載の方法。
B10.前記圧縮のタイプは、映像パラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダ、またはタイルグループヘッダで信号通知される、解決案B9に記載の方法。
B11.前記圧縮のタイプは、現在のブロックに対応する標準プロファイル、レベルまたは層に基づく、解決案B9またはB10に記載の方法。
B12.映像の映像セグメントの現在のブロックの1つ以上の特徴に基づいて、現在のブロックに基づいてサブブロックに基づく動きベクトル予測(SbTMVP)ツールを適用するための、現在のブロックの有効な対応する領域を判定することと、この判定に基づいて、現在のブロックと映像のビットストリーム表現との間で変換を行うことと、を含む映像処理方法。
B13.1つ以上の特徴は、前記現在のブロックの高さまたは幅を含む、解決案B12に記載の方法。
B14.1つ以上の特徴は、現在のブロックに関連付けられた動きベクトルの圧縮のタイプを含む、解決案B12に記載の方法。
B15.圧縮のタイプが圧縮を含まないと判定されることによって、有効な対応する領域が第1のサイズであり、有効な対応する領域が、圧縮のタイプがK×K圧縮を含むと判定されることによって、第1のサイズよりも大きい第2のサイズである、解決案B14に記載の方法。
B16.有効な対応する領域のサイズは、サイズM×Nが符号化ツリーユニット(CTU)領域のサイズよりも小さい基本領域に基づいており、現在のブロックのサイズはW×Hである、解決案B12に記載の方法。
B17.CTU領域のサイズが128×128であり、M=64であり、N=64である、解決案B16に記載の方法。
B18.W≦Mであり、H≦Nであると判定されることにより、有効な対応する領域が、コロケーションされたピクチャにおけるコロケーション基本領域および拡張である、解決案B16に記載の方法。
B19.W>M、H>Nであると判定されると、現在のブロックを複数の部分に分割し、複数の部分の各々は、SbTMVPツールを適用するための個々の有効な対応する領域を含む、解決案B16に記載の方法。
B20.サブブロックに基づく時間的動きベクトル予測(SbTMVP)ツールを使用して符号化された映像の現在のブロックに対して、デフォルトの動きベクトルを判定することと、この判定に基づいて、現在のブロックとこの映像のビットストリーム表現との間で変換を行うこととを含み、現在のブロックの中心位置に関連付けられた、このコロケーションされたピクチャにおける対応する位置を含むブロックから動きベクトルが得られていないと判定されたことによりデフォルトの動きベクトルを判定する、映像処理方法。
B21.前記デフォルトの動きベクトルが(0,0)に設定される、解決案B20に記載の方法。
B22.デフォルトの動きベクトルは、履歴に基づく動きベクトル予測(HMVP)テーブルから導出する、解決案B20に記載の方法。
B23.HMVPテーブルが空であると判定されることにより、デフォルトの動きベクトルが(0,0)に設定される、解決案B22に記載の方法。
B24.デフォルトの動きベクトルは、予め定義され、映像パラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダ、タイルグループヘッダ、符号化ツリーユニット(CTU)、または符号化ユニット(CU)に信号通知される、解決案B22に記載の方法。
B25.HMVPテーブルが空でないと判定されることに基づいて、デフォルトの動きベクトルをHMVPテーブルに記憶された第1の要素に設定する、解決案B22に記載の方法。
B26.HMVPテーブルが空でないと判定されることに基づいて、デフォルトの動きベクトルをHMVPテーブルに記憶された最後の要素に設定する、解決案B22に記載の方法。
B27.HMVPテーブルが空でないと判定されることに基づいて、デフォルトの動きベクトルをHMVPテーブルに記憶された特定の動きベクトルに設定する、解決案B22に記載の方法。
B28.特定の動きベクトルは、参照リスト0を参照する、解決案B27に記載の方法。
B29.特定の動きベクトルは、参照リスト1を参照する、解決案B27に記載の方法。
B30.特定の動きベクトルは、参照リスト0における特定の参照ピクチャを参照する、解決案B27に記載の方法。
B31.特定の動きベクトルは、参照リスト1における特定の参照ピクチャを参照する、解決案B27に記載の方法。
B32.特定の参照ピクチャは、インデックス0を有する、解決案B30またはB31に記載の方法。
B33.特定の動きベクトルは、コロケーションされたピクチャを参照する、解決案B27に記載の方法。
B34.HMVPテーブルにおける検索処理において特定の動きベクトルが見つからないと判定された場合、デフォルトの動きベクトルを予め定義されたデフォルトの動きベクトルに設定する、解決案B22に記載の方法。
B35.検索処理は、HMVPテーブルの最初の要素のみを検索するか、または最後の要素のみを検索する、解決案B34に記載の方法。
B36.検索処理は、HMVPテーブルの要素のサブセットのみを検索する、解決案B34に記載の方法。
B37.デフォルトの動きベクトルは、現在のブロックの現在のピクチャを参照しない、解決案B22に記載の方法。
B38.デフォルトの動きベクトルがコロケーションされたピクチャを参照しない判定に基づいて、デフォルトの動きベクトルをコロケーションされたピクチャにスケーリングする、解決案B22に記載の方法。
B39.デフォルトの動きベクトルは、近傍のブロックから導出する、解決案B20に記載の方法。
B40.近傍のブロック(A0)の右上隅が現在のブロックの左下隅に直接隣接しているか、または近傍のブロック(A1)の右下隅が現在のブロックの左下隅に直接隣接しているか、または近傍のブロック(B0)の左下隅が現在のブロックの右上隅に直接隣接しているか、または近傍のブロック(B1)の右下隅が現在のブロックの右上隅に直接隣接しているか、または近傍のブロック(B2)の右下隅が現在のブロックの左上隅に直接隣接している、解決案B39に記載の方法。
B41.デフォルトの動きベクトルは、近傍のブロックA0、A1、B0、B1、B2のうちの1つのみから導出する、解決案B40に記載の方法。
B42.デフォルトの動きベクトルは、近傍のブロックA0、A1、B0、B1、B2のうちの1つ以上のブロックから導出する、解決案B40に記載の方法。
B43.近傍のブロックA0、A1、B0、B1、B2のいずれかに有効なデフォルトの動きベクトルが見つからないと判定された場合、デフォルトの動きベクトルを予め定義されたデフォルトの動きベクトルに設定する、解決案B40に記載の方法。
B44.予め定義されたデフォルトの動きベクトルは、映像パラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダ、タイルグループヘッダ、符号化ツリーユニット(CTU)、または符号化ユニット(CU)において信号通知される、解決案B43に記載の方法。
B45.予め定義されたデフォルトの動きベクトルが(0,0)である、解決案B43またはB44に記載の方法。
B46.デフォルトの動きベクトルは、近傍のブロックからの特定の動きベクトルに設定される、解決案B39に記載の方法。
B47.特定の動きベクトルは、参照リスト0を参照する、解決案B46に記載の方法。
B48.特定の動きベクトルは、参照リスト1を参照する、解決案B46に記載の方法。
B49.特定の動きベクトルは、参照リスト0における特定の参照ピクチャを参照する、解決案B46に記載の方法。
B50.特定の動きベクトルは、参照リスト1における特定の参照ピクチャを参照する、解決案B46に記載の方法。
B51.特定の参照ピクチャは、インデックス0を有する、解決案B49またはB50に記載の方法。
B52.特定の動きベクトルは、コロケーションされたピクチャを参照する、解決案B46に記載の方法。
B53.コロケーションされたピクチャにおける対応する位置を含むブロックがイントラ符号化されていると判定されることにより、デフォルトの動きベクトルを使用する、解決案B20に記載の方法。
B54.導出方法は、コロケーションされたピクチャにおける対応する位置を含むブロックが位置していないと判定されることによって修正される、解決案B20に記載の方法。
B55.デフォルトの動きベクトル候補が常に利用可能である、解決案B20に記載の方法。
B56.デフォルトの動きベクトル候補が利用不可能に設定されていると判定されると、代替的にデフォルトの動きベクトルを導出する、解決案B20に記載の方法。
B57.デフォルトの動きベクトルの可用性は、映像セグメントに関連付けられたビットストリーム表現における構文情報に基づく、解決案B20に記載の方法。
B58.構文情報は、SbTMVPツールを有効にする表示を含み、映像セグメントは、スライス、タイルまたはピクチャである、解決案B57に記載の方法。
B59.現在のブロックの現在のピクチャはイントラランダムアクセスポイント(IRAP)参照インデックスピクチャではなく、現在のピクチャは、参照インデックス0を有する参照ピクチャリスト0(L0)に挿入されない、解決案B58に記載の方法。
B60.SbTMVPツールが有効であるとの判定により、SbTMVPツールに関連付けられた候補に固定インデックスまたは固定インデックス群を割り当て、SbTMVPツールが無効であると判断された場合、SbTMVPツール以外の符号化ツールに関連付けられた候補に固定インデックスまたは固定インデックス群を割り当てる、解決案B20に記載の方法。
B61.映像の映像セグメントの現在のブロックに対して、現在のブロックの現在のピクチャが、参照ピクチャリストXにおけるMに設定されたインデックスを有する参照ピクチャであり、MおよびXが整数であり、X=0またはX=1であると判定されることに基づいて、サブブロックに基づく時間的動きベクトル予測(SbTMVP)ツールまたは時間的動きベクトル予測(TMVP)ツールが映像セグメントに対して無効にされることを推論することと、推論に基づいて、現在のブロックと映像のビットストリーム表現との間の変換を行うことと、を含む映像処理方法。
B62.SbTMVPツールまたはTMVPツールのための参照ピクチャリストXに対して、Mが、時間的ブロックの動き情報をスケーリングする対象参照ピクチャインデックスに対応する、解決案B61に記載の方法。
B63.現在のピクチャは、イントラランダムアクセスポイント(IRAP)ピクチャである、解決案B61に記載の方法。
B64.映像の現在のブロックに対して、現在のブロックの現在のピクチャが、参照ピクチャリストXにおけるMに設定されたインデックスを有する参照ピクチャであり、MおよびXが整数であると判定されることによって、サブブロックに基づく時間的動きベクトル予測(SbTMVP)ツールの適用が有効であることを判定することと、この判定に基づいて、現在のブロックと映像のビットストリーム表現との間の変換を行うことと、を含む映像処理方法。
B65.現在のブロックの各サブブロックに対応する動き情報は、現在のピクチャを参照する、解決案B64に記載の方法。
B66.現在のブロックのサブブロックのための動き情報が1つの時間的ブロックから導出され、この時間的ブロックは、この時間的ブロックの現在のピクチャを参照する、少なくとも1つの参照ピクチャで符号化される、解決案B64に記載の方法。
B67.変換は、スケーリング演算を除外する、解決案B66に記載の方法。
B68.映像の現在のブロックと映像のビットストリーム表現との間で変換を行うことを含み、現在のブロックは、サブブロックに基づく符号化ツールを使用して符号化され、
この変換を行うことは、サブブロックに基づく時間的動きベクトル予測(SbTMVP)ツールが有効または無効であると判定されることに基づいて、複数のビン(N)を使用してサブブロックマージインデックスを統一方法で符号化することを含む、映像処理方法。
B69.複数のビンの第1の数のビン(L)はコンテキスト符号化され、第2の数のビン(N-L)はバイパス符号化される、解決案B68に記載の方法。
B70.L=1である、解決案B69に記載の方法。
B71.複数のビンの各々は、コンテキスト符号化される、解決案B68に記載の方法。
B72.変換は、ビットストリーム表現から現在のブロックを生成する、解決案B1~B71のいずれかに記載の方法。
B73.変換は、現在のブロックからビットストリーム表現を生成する、解決案B1~B71のいずれかに記載の方法。
B74.変換を行うことは、1つ以上の復号化規則に基づいてビットストリーム表現を構文解析することを含む、解決案B1~B71のいずれかに記載の方法。
B75.処理装置と、命令を搭載した非一時的メモリとを備え、映像システムにおける装置であって、処理装置が実行する命令は、処理装置に、解決案B1~B11のいずれか1案に記載の方法を実装させることを特徴とする装置。
B76.非一時的なコンピュータ可読媒体に記憶されたコンピュータプログラム製品であって、コンピュータプログラム製品は、解決案B1~B11のいずれか1案に記載の方法を実行するためのプログラムコードを含む。
いくつかの実施形態において、次の技術案を実装することができる。
C1.サブブロックに基づく時間的動きベクトル予測(SbTMVP)ツールを使用して符号化された映像の現在のブロックに対して、SbTMVPツールが現在のブロックを含む現在のピクチャと異なるピクチャにおける対応するブロックの位置を突き止めるために使用する動きベクトルを判定することと、この判定に基づいて、現在のブロックと映像のビットストリーム表現との間の変換を行うことと、を含む映像処理方法。
C2.動きベクトルは、デフォルトの動きベクトルに設定される、解決案1に記載の方法。
C3.デフォルトの動きベクトルは、(0,0)である、解決案C2に記載の方法。
C4.デフォルトの動きベクトルは、映像パラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダ、タイルグループヘッダ、符号化ツリーユニット(CTU)、または符号化ユニット(CU)において信号通知される、解決策C2に記載の方法。
C5.動きベクトルが、履歴に基づく動きベクトル予測(HMVP)テーブルに記憶された動きベクトルに設定される、解決案C1に記載の方法。
C6.HMVPテーブルが空であると判定されることに基づいて、動きベクトルをデフォルトの動きベクトルに設定する、解決案C5に記載の方法。
C7.デフォルトの動きベクトルは、(0,0)である、解決案C6に記載の方法。
C8.HMVPテーブルが空でないと判定されることに基づいて、動きベクトルをHMVPテーブルに記憶された第1の動きベクトルに設定する、解決案C5に記載の方法。
C9.HMVPテーブルが空でないと判定されることにより、動きベクトルをHMVPテーブルに記憶された最後の動きベクトルに設定する、解決案C5に記載の方法。
C10.HMVPテーブルが空でないと判定されることに基づいて、動きベクトルをHMVPテーブルに記憶された特定の動きベクトルに設定する、解決案C5に記載の方法。
C11.特定の動きベクトルは、参照リスト0を参照する、解決案C10に記載の方法。
C12.特定の動きベクトルは、参照リスト1を参照する、解決案C10に記載の方法。
C13.特定の動きベクトルは、参照リスト0における特定の参照ピクチャを参照する、解決案C10に記載の方法。
C14.特定の動きベクトルは、参照リスト1における特定の参照ピクチャを参照する、解決案C10に記載の方法。
C15.特定の参照ピクチャは、インデックス0を有する、解決案C13または14に記載の方法。
C16.特定の動きベクトルは、コロケーションされたピクチャを参照する、解決案C10に記載の方法。
C17.HMVPテーブルにおける検索処理において特定の動きベクトルが見つからないと判定された場合、動きベクトルをデフォルトの動きベクトルに設定する、解決案C5に記載の方法。
C18.検索処理は、HMVPテーブルの最初の要素のみを検索するか、または最後の要素のみを検索する、解決案C17に記載の方法。
C19.検索処理は、HMVPテーブルの要素のサブセットのみを検索する、解決案C17に記載の方法。
C20.HMVPテーブルに記憶された動きベクトルが現在のピクチャを参照しない、
解決案C5に記載の方法。
C21.HMVPテーブルに記憶された動きベクトルがコロケーションされたピクチャを参照していないと判定されたため、HMVPテーブルに記憶された動きベクトルをコロケーションされたピクチャにスケーリングする、解決案C5に記載の方法。
C22.動きベクトルは、特定の近傍のブロックの特定の動きベクトルに設定される、
解決案C1に記載の方法。
C23.特定の近傍のブロック(A0)の右上隅が現在のブロックの左下隅に直接隣接するか、または特定の近傍のブロック(A1)の右下隅が現在のブロックの左下隅に直接隣接するか、または特定の近傍のブロック(B0)の左下隅が現在のブロックの右上隅に直接隣接するか、または特定の近傍のブロック(B1)の右下隅が現在のブロックの右上隅に直接隣接するか、または特定の近傍のブロック(B2)の右下隅が現在のブロックの左上隅に直接隣接する、または現在のブロックの左上隅に直接隣接する、解決案C22に記載の方法。
C24.特定の近傍のブロックが存在しないと判定されることにより、動きベクトルをデフォルトの動きベクトルに設定する、解決案C1に記載の方法。
C25.特定の近傍のブロックがインター符号化されていないと判定されることにより、動きベクトルをデフォルトの動きベクトルに設定する、解決案C1に記載の方法。
C26.特定の動きベクトルは、参照リスト0を参照する、解決案C22に記載の方法。
C27.特定の動きベクトルは、参照リスト1を参照する、解決案C22に記載の方法。
C28.特定の動きベクトルは、参照リスト0における特定の参照ピクチャを参照する、解決案C22に記載の方法。
C29.特定の動きベクトルは、参照リスト1における特定の参照ピクチャを参照する、解決案C22に記載の方法。
C30.特定の参照ピクチャはインデックス0を有する、解決案C28またはC29に記載の方法。
C31.特定の動きベクトルは、コロケーションされたピクチャを参照する、解決案C22またはC23に記載の方法。
C32.特定の近傍のブロックがコロケーションされたピクチャを参照していないと判定されることにより、動きベクトルをデフォルトの動きベクトルに設定する、解決案C22またはC23に記載の方法。
C33.デフォルトの動きベクトルが(0,0)である、解決案C24~C32のいずれかに記載の方法。
C34.特定の近傍のブロックに記憶された特定の動きベクトルが見つからないと判定された場合、この動きベクトルをデフォルトの動きベクトルに設定する、解決案C1に記載の方法。
C35.特定の動きベクトルは、該特定の動きベクトルが該コロケーションされたピクチャを参照しないと判定されることにより、1つのコロケーションされたピクチャにスケーリングされる、解決案C22に記載の方法。
C36.特定の動きベクトルは、現在のピクチャを参照しない、解決案C22に記載の方法。
C37.変換は、ビットストリーム表現から現在のブロックを生成する、解決案C1~C36のいずれかに記載の方法。
C38.変換は、現在のブロックからビットストリーム表現を生成する、解決案C1~C36のいずれかに記載の方法。
C39.変換を行うことは、1つ以上の復号化規則に基づいてビットストリーム表現を構文解析することを含む、解決案C1~C36のいずれかに記載の方法。
C40.処理装置と、命令を搭載した非一時的メモリとを含む映像システムにおける装置であって、処理装置が実行する命令は、処理装置に、解決案C1~C25のいずれか1案に記載の方法を実装させることを特徴とする装置。
C41.非一時的なコンピュータ可読媒体に記憶されたコンピュータプログラム製品であって、コンピュータプログラム製品は、解決案C1~C25のいずれか1案に記載の方法を実行するためのプログラムコードを含む。
いくつかの実施形態において、次の技術案を実装することができる。
D1.映像の現在のブロックと映像のビットストリーム表現との間での変換のために、
現在のブロックの変換に対してアフィン予測が有効にされているかどうかに基づいて、動きゼロアフィンマージ候補をサブブロックマージ候補リストに挿入するかどうかを判定することと、この判定に基づいて、この変換を行うことを含む、映像処理方法。
D2.ビットストリーム表現におけるアフィン使用フラグがオフであると判定されるために、動きゼロアフィンマージ候補をサブブロックマージ候補リストに挿入しない、解決案D1に記載の方法。
D3.アフィン使用フラグがオフであると判定されたことにより、非アフィン候補であるデフォルトの動きベクトル候補をサブブロックマージ候補リストに挿入することをさらに含む、解決案D2に記載の方法。
D4.映像の現在のブロックと、サブブロックマージ候補リストを使用する映像のビットストリーム表現との間での変換のために、サブブロックマージ候補リストが満たされていないと判定された場合、ゼロ動き非アフィンパディング候補をサブブロックマージ候補リストに挿入することと、この挿入に続いて、この変換を行うことと、を含む、映像処理方法。
D5.現在のブロックのアフィン使用フラグを0に設定することをさらに含む、解決案D4に記載の方法。
D6.挿入するステップは、ビットストリーム表現におけるアフィン使用フラグがオフであるかどうかにさらに基づく、解決案D4に記載の方法。
D7.映像の現在のブロックと映像のビットストリーム表現との間での変換のために、
動きベクトルが、コロケーションされたピクチャにおける対応する位置を含むブロックの1つ以上の動きベクトルから導出されたものであると判定する規則を使用して、動きベクトルを判定し、この動きベクトルに基づいて、この変換を行うことを含む、映像処理方法。
D8.1つ以上の動きベクトルは、参照リスト0および参照リスト1における動きベクトルをそれぞれ表すMV0およびMV1を備え、導出するべき動きベクトルは、参照リスト0および参照リスト1における動きベクトルを表すMV0’およびMV1’を備える、
解決案D7に記載の方法。
D9.1つのコロケーションされたピクチャが参照リスト0にあると判定されることにより、MV0’およびMV1’がMV0に基づいて導出する、解決案D8に記載の方法。
D10.1つのコロケーションされたピクチャが参照リスト1にあると判定されることに基づいて、MV0’およびMV1’がMV1に基づいて導出する、解決案D8に記載の方法。
D11.変換は、ビットストリーム表現から現在のブロックを生成する解決案D1~D10のいずれかに記載の方法。
D12.変換は、現在のブロックからビットストリーム表現を生成する、解決案D1~D16のいずれか1案に記載の方法。
D13.変換を行うことは、1つ以上の復号化規則に基づいてビットストリーム表現を構文解析することを含む、解決案D1~D10のいずれかに記載の方法。
D14.処理装置と、命令を搭載した非一時的メモリとを含む、映像システムにおける装置であって、処理装置が実行する命令は、処理装置に、解決案D1~D18のいずれかいずれか1案に記載の方法を実装させることを特徴とする装置。
D15.非一時的なコンピュータ可読媒体に記憶されたコンピュータプログラム製品であって、コンピュータプログラム製品は、解決案D1~D18のいずれかいずれか1案に記載の方法を実行するためのプログラムコードを含む。
いくつかの実施形態において、下記のような技術的解決策を実装することができる。
E1.映像処理方法であって、映像の現在のブロックと映像のビットストリーム表現との変換のために、同一位置に配置されたピクチャ内の現在のブロックまたは現在のブロックのサブブロックに関連付けられた時間的ブロックが、同じピクチャ内の以前に符号化されたサンプルに基づいて映像ユニットが再構成される符号化モードを使用して符号化されている場合に、変換のためにデフォルトの動き候補を有するサブブロックに基づく時間的動きベクトル予測(sbTMVP)ツールを使用すると決定することと、デフォルトの動き候補に基づいて変換を行うことと、を含む、方法。
E2.サブブロックまたは非サブブロックのsbTMVP候補の代わりに、デフォルト動き候補を用いる、解決策E1に記載の方法。
E3.前記デフォルト動き候補は、前記現在のブロックの中心位置に関連付けられた動き候補を含む、解決策E1またはE2に記載の方法。
E4.前記デフォルト動き候補は(0,0)であり、前記参照ピクチャリスト0または参照ピクチャリスト1の前記参照ピクチャインデックスはゼロである、解決策E1またはE2に記載の方法。
E5.前記符号化モードは、イントラブロックコピー(IBC)モードである、解決策E1~E4のいずれかに記載の方法。
E6.映像処理方法であって、映像の現在のブロックと映像のビットストリーム表現との間での変換の一部であるサブブロックに基づく時間的動きベクトル予測(sbTMVP)処理に対して、現在のブロックのサブブロックのためのサブブロック動き情報導出処理で使用される位置の所在に基づいて、sbTMVP処理のためのデフォルト動き情報を導出することと、デフォルト動き情報に基づいて、変換を行うことと、を含む、方法。
E7.前記位置は、現在のブロックの中心位置ではなく、現在のブロックの特定のサブブロックの中心位置である、解決策E6に記載の方法。
E8.前記特定のサブブロックは、中央サブブロックである、解決策E7に記載の方法。
E9.前記変換は、前記ビットストリーム表現から前記現在のブロックを生成する、解決策E1~E8のいずれかに記載の方法。
E10.前記変換は、前記現在のブロックから前記ビットストリーム表現を生成する、解決策E1~E8のいずれかに記載の方法。
E11.前記変換を行うことは、1つ以上の復号化規則に基づいて前記ビットストリーム表現を構文解析することを含む、解決策E1~E8のいずれかに記載の方法。
E12.処理装置と、その処理装置に命令が記憶された非一時的メモリと、を備える映像システムの装置であって、命令が処理装置によって実行されることにより、処理装置に、解決策E1~E11のいずれか1つに記載の方法を実施させる、装置。
E13.非一時的なコンピュータ可読媒体に記憶されたコンピュータプログラム製品であって、解決策E1~E11のいずれか1つに記載の方法を実行するためのプログラムコードを含む、コンピュータプログラム製品。
いくつかの実施形態において、下記のような技術的解決策を実装することができる。
F1.映像処理方法であって、サブブロックに基づく時間的動きベクトル予測(sbTMVP)ツールを用いて符号化された映像の現在のブロックと、映像のビットストリーム表現と、の変換のために、現在のブロックの現在のピクチャとは異なるピクチャ内の対応するブロックの位置を突き止めるために使用される修正された動きベクトルを決定することであって、修正された動きベクトルは、sbTMVPツールで予測に使用される動きベクトルを整数精度で右シフトすることによって生成される、決定することと、決定に基づいて変換を行うことと、を含む、方法。
F2.前記右シフトは、動きベクトルスケーリング処理に使用されるものと同じ丸め演算を使用する、解決策F1に記載の方法。
F3.前記右シフトは、動きベクトル平均化処理に使用されるものと同じ丸め演算を使用する、解決策F1に記載の方法。
F4.前記右シフトは、適応動きベクトル解像度(AMVR)処理で使用されるものと同じ丸め演算を使用する、解決策F1に記載の方法。
F5.右シフトは、ゼロに向かう丸め演算を使用し、動きベクトルは、MV=(MVx,MVy)と表され、右シフトされた動きベクトルは、MV’=(MVx’,MVy’)と表される、解決策F1に記載の方法。
F6.前記右シフトされた動きベクトルは、MVx’=(MVx+((1<<N)>>1)-(MVx≧0 ? 1:0))>>N、およびMVy’=(MVy+((1<<N)>>1)-(MVy≧0 ? 1:0))>>Nとして算出され、Nは、動きベクトルの解像度を表す整数である、解決策F5に記載の方法。
F7.N=4である、解決策F6に記載の方法。
F8.前記右シフトされた動きベクトルは、MVx’=(MVx+(MVx≧0 ? 7:8))>>4、およびMVy’=(MVy+(MVy≧0 ? 7:8))>>4として算出される、解決策F5に記載の方法。
F9.修正された動きベクトルをさらに使用して、別の対応するブロックの位置を突き止め、sbTMVPツールで使用されるデフォルト動き情報を導出する、解決策F1~F8のいずれかに記載の方法。
F10.前記デフォルト動き情報を導出することは、現在のブロックの中心位置および前記修正された動きベクトルにさらに基づく、解決策F9に記載の方法。
F11.現在のブロックのサブブロックのためのデフォルト動き情報を導出することは、サブブロックの中心位置および修正された動きベクトルにさらに基づく、解決策F9に記載の方法。
F12.前記変換は、sbTMVPツールとは異なる別の符号化ツールを使用し、前記修正された動きベクトルを使用して、異なるピクチャまたは現在のピクチャにおける参照ブロックの位置を突き止める、解決策F1~F11のいずれかに記載の方法。
F13.前記変換は、前記ビットストリーム表現から前記現在のブロックを生成する、解決策F1~F12のいずれかに記載の方法。
F14.前記変換は、前記現在のブロックから前記ビットストリーム表現を生成する、解決策F1~F12のいずれかに記載の方法。
F15.前記変換を行うことは、1つ以上の復号化規則に基づいて前記ビットストリーム表現を構文解析することを含む、解決策F1~F12のいずれかに記載の方法。
F16.処理装置と、その処理装置に命令が記憶された非一時的メモリとを備える映像システムの装置であって、命令が処理装置によって実行されることにより、処理装置に、解決策F1~F15のいずれかに記載の方法を実施させる、装置。
F17.非一時的なコンピュータ可読媒体に記憶されたコンピュータプログラム製品であって、解決策F1~F15のいずれか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つ以上の特徴は、場合によっては、組み合わせから抜粋されることができ、主張された組み合わせは、サブコンビネーションまたはサブコンビネーションのバリエーションに向けられてもよい。
同様に、動作は図面において特定の順番で示されているが、これは、所望の結果を達成するために、このような動作が示された特定の順番でまたは連続した順番で実行されること、または示された全ての操作が実行されることを必要とするものと理解されるべきではない。また、本特許明細書に記載されている実施形態における様々なシステムモジュールの分離は、全ての実施形態においてこのような分離を必要とするものと理解されるべきではない。
いくつかの実装形態および例のみが記載されており、本特許明細書に記載され図示されている内容に基づいて、他の実施形態、拡張および変形が可能である。
(関連出願の相互参照)
本願は、2020年8月13日に出願された国際特許出願PCT/CN2020/108805の国内段階であり、2019年8月13日出願の国際特許出願PCT/CN2019/100396号の優先権および利益を主張する。上記出願の開示全体は、本明細書の開示の一部として参照により組み込まれる。

Claims (17)

  1. 映像処理方法であって、
    サブブロックに基づく時間的動きベクトル予測(sbTMVP)ツールを用いて符号化された映像の現在のブロックと前記映像のビットストリーム表現との変換のために、前記現在のブロックの前記現在のピクチャとは異なるピクチャ内の対応するブロックの位置を突き止めるために使用される修正された動きベクトルを決定することであって、前記修正された動きベクトルは、前記sbTMVPツールで予測に使用される動きベクトルを整数精度で右シフトすることによって生成される、決定することと、
    前記決定することに基づいて前記変換を行うことと、を含む、
    方法。
  2. 前記右シフトすることは、動きベクトルスケーリング処理に使用されるものと同じ丸め演算を使用する、
    請求項1に記載の方法。
  3. 前記右シフトすることは、動きベクトル平均化処理に使用されるものと同じ丸め演算を使用する、
    請求項1に記載の方法。
  4. 前記右シフトすることは、適応動きベクトル解像度(AMVR)処理で使用されるものと同じ丸め演算を使用する、
    請求項1に記載の方法。
  5. 前記右シフトすることは、ゼロに向かう丸め演算を使用し、
    前記動きベクトルは、MV=(MVx,MVy)と表され、
    右シフトされた動きベクトルは、MV’=(MVx’,MVy’)と表される、
    請求項1に記載の方法。
  6. 前記右シフトされた動きベクトルは、MVx’=(MVx+((1<<N)>>1)-(MVx≧0 ? 1:0))>>N、およびMVy’=(MVy+((1<<N)>>1)-(MVy≧0 ? 1:0))>>Nとして算出され、Nは、動きベクトルの解像度を表す整数である、
    請求項5に記載の方法。
  7. N=4である、請求項6に記載の方法。
  8. 前記右シフトされた動きベクトルは、MVx’=(MVx+(MVx≧0 ? 7:8))>>4、およびMVy’=(MVy+(MVy≧0 ? 7:8))>>4として算出される、
    請求項5に記載の方法。
  9. 前記修正された動きベクトルは、前記sbTMVPツールで使用されるデフォルト動き情報を導出する別の対応するブロックの位置を突き止めるためにさらに使用される、
    請求項1~8のいずれかに記載の方法。
  10. 前記デフォルト動き情報を導出することは、前記現在のブロックの中心位置および前記修正された動きベクトルにさらに基づく、
    請求項9に記載の方法。
  11. 前記現在のブロックのサブブロックのための前記デフォルト動き情報を導出することは、前記サブブロックの中心位置および前記修正された動きベクトルにさらに基づく、
    請求項9に記載の方法。
  12. 前記変換は、前記異なるピクチャまたは前記現在のピクチャにおける参照ブロックの位置を突き止めるために、前記修正された動きベクトルを使用する、sbTMVPツールとは異なる別の符号化ツールを使用する、
    請求項1~11のいずれかに記載の方法。
  13. 前記変換は、前記ビットストリーム表現から前記現在のブロックを生成する、
    請求項1~12のいずれかに記載の方法。
  14. 前記変換は、前記現在のブロックから前記ビットストリーム表現を生成する、
    請求項1~12のいずれかに記載の方法。
  15. 前記変換を行うことは、1つ以上の復号化規則に基づいて前記ビットストリーム表現を構文解析することを含む、
    請求項1~12のいずれかに記載の方法。
  16. 処理装置と、命令を含む非一時的メモリと、を備えた映像システムの装置であって、
    前記処理装置による実行時の前記命令は、前記処理装置に、請求項1~15のいずれか1項に記載の方法を実行させる、
    装置。
  17. 非一時的なコンピュータ可読媒体に記憶されたコンピュータプログラム製品であって、
    請求項1~15のいずれか1項に記載の方法を実行するためのプログラムコードを含む、
    コンピュータプログラム製品。
JP2022508597A 2019-08-13 2020-08-13 サブブロックに基づくインター予測における動き精度 Active JP7481430B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023214836A JP2024037992A (ja) 2019-08-13 2023-12-20 サブブロックに基づくインター予測における動き精度

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2019100396 2019-08-13
CNPCT/CN2019/100396 2019-08-13
PCT/CN2020/108805 WO2021027862A1 (en) 2019-08-13 2020-08-13 Motion precision in sub-block based inter prediction

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023214836A Division JP2024037992A (ja) 2019-08-13 2023-12-20 サブブロックに基づくインター予測における動き精度

Publications (2)

Publication Number Publication Date
JP2022544260A true JP2022544260A (ja) 2022-10-17
JP7481430B2 JP7481430B2 (ja) 2024-05-10

Family

ID=80645893

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022508597A Active JP7481430B2 (ja) 2019-08-13 2020-08-13 サブブロックに基づくインター予測における動き精度
JP2023214836A Pending JP2024037992A (ja) 2019-08-13 2023-12-20 サブブロックに基づくインター予測における動き精度

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023214836A Pending JP2024037992A (ja) 2019-08-13 2023-12-20 サブブロックに基づくインター予測における動き精度

Country Status (6)

Country Link
US (1) US11871025B2 (ja)
EP (1) EP3997877A4 (ja)
JP (2) JP7481430B2 (ja)
KR (1) KR20220043109A (ja)
CN (1) CN114208184A (ja)
BR (1) BR112022002687A2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102660160B1 (ko) 2018-11-22 2024-04-24 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 서브 블록 기반 인터 예측을 위한 조정 방법
CN114762330A (zh) 2019-09-22 2022-07-15 北京字节跳动网络技术有限公司 视频的子图片编码和解码
US11317093B2 (en) * 2019-09-24 2022-04-26 Tencent America LLC Method for reference picture resampling with offset in video bitstream
EP4124042A4 (en) * 2020-03-19 2023-12-06 Panasonic Intellectual Property Corporation of America ENCODING DEVICE, DECODING DEVICE, IMAGE PROCESSING DEVICE, ENCODING METHOD, DECODING METHOD, IMAGE PROCESSING METHOD, BIT STREAM TRANSMISSION DEVICE, AND NON-TEMPORARY STORAGE MEDIUM
US20230362403A1 (en) * 2022-05-04 2023-11-09 Mediatek Inc. Methods and Apparatuses of Sharing Preload Region for Affine Prediction or Motion Compensation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160100189A1 (en) * 2014-10-07 2016-04-07 Qualcomm Incorporated Intra bc and inter unification
US20160337662A1 (en) * 2015-05-11 2016-11-17 Qualcomm Incorporated Storage and signaling resolutions of motion vectors
JP2017528984A (ja) * 2014-08-22 2017-09-28 クゥアルコム・インコーポレイテッドQualcomm Incorporated 統合されたイントラブロックコピーおよびインター予測

Family Cites Families (146)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040001546A1 (en) 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
BRPI0413988A (pt) 2003-08-26 2006-11-07 Thomson Licensing método e aparelho para decodificar blocos intra-inter codificador hìbridos
GB0500174D0 (en) * 2005-01-06 2005-02-16 Kokaram Anil Method for estimating motion and occlusion
JP4178480B2 (ja) 2006-06-14 2008-11-12 ソニー株式会社 画像処理装置、画像処理方法、撮像装置および撮像方法
US8675738B2 (en) 2008-08-06 2014-03-18 Mediatek Inc. Video decoding method without using additional buffers for storing scaled frames and system thereof
TWI387317B (zh) 2008-12-11 2013-02-21 Novatek Microelectronics Corp 產生重新取樣參考畫面之裝置及其方法與影像解碼系統
CN101877785A (zh) 2009-04-29 2010-11-03 祝志怡 一种基于混合预测的视频编码方法
US9654792B2 (en) 2009-07-03 2017-05-16 Intel Corporation Methods and systems for motion vector derivation at a video decoder
KR20150013776A (ko) 2010-04-09 2015-02-05 미쓰비시덴키 가부시키가이샤 동화상 부호화 장치 및 동화상 복호 장치
CN103281527B (zh) 2010-04-15 2015-12-23 华为技术有限公司 图像编解码方法及相关装置
US9215470B2 (en) 2010-07-09 2015-12-15 Qualcomm Incorporated Signaling selected directional transform for video coding
US9124898B2 (en) 2010-07-12 2015-09-01 Mediatek Inc. Method and apparatus of temporal motion vector prediction
US8780973B2 (en) 2010-08-13 2014-07-15 Texas Instruments Incorporated Limiting the maximum size of an encoded video picture using sub-picture based rate control
CN106937122B (zh) 2010-10-28 2020-03-27 韩国电子通信研究院 视频解码方法
CN103299630B (zh) 2011-01-19 2016-10-19 寰发股份有限公司 获取运动矢量预测子的方法和装置
US9148666B2 (en) 2011-02-09 2015-09-29 Lg Electronics Inc. Method for storing motion information and method for inducing temporal motion vector predictor using same
GB2488815C (en) 2011-03-09 2018-03-28 Canon Kk Video decoding
US9143795B2 (en) 2011-04-11 2015-09-22 Texas Instruments Incorporated Parallel motion estimation in video coding
US10123053B2 (en) 2011-05-23 2018-11-06 Texas Instruments Incorporated Acceleration of bypass binary symbol processing in video coding
WO2012174990A1 (en) 2011-06-24 2012-12-27 Mediatek Inc. Method and apparatus for removing redundancy in motion vector predictors
JP2014524706A (ja) 2011-08-19 2014-09-22 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 動きベクトル処理
US9451252B2 (en) 2012-01-14 2016-09-20 Qualcomm Incorporated Coding parameter sets and NAL unit headers for video coding
US9503720B2 (en) 2012-03-16 2016-11-22 Qualcomm Incorporated Motion vector coding and bi-prediction in HEVC and its extensions
US9420286B2 (en) 2012-06-15 2016-08-16 Qualcomm Incorporated Temporal motion vector prediction in HEVC and its extensions
US20140003504A1 (en) 2012-07-02 2014-01-02 Nokia Corporation Apparatus, a Method and a Computer Program for Video Coding and Decoding
WO2014059049A1 (en) 2012-10-09 2014-04-17 Rodriguez Arturo A Output management of prior decoded pictures at picture format transitions in bitstreams
WO2014107853A1 (en) 2013-01-09 2014-07-17 Mediatek Singapore Pte. Ltd. Methods for disparity vector derivation
US9596448B2 (en) 2013-03-18 2017-03-14 Qualcomm Incorporated Simplifications on disparity vector derivation and motion vector prediction in 3D video coding
US9491460B2 (en) 2013-03-29 2016-11-08 Qualcomm Incorporated Bandwidth reduction for video coding prediction
US10057594B2 (en) 2013-04-02 2018-08-21 Vid Scale, Inc. Enhanced temporal motion vector prediction for scalable video coding
GB2512829B (en) 2013-04-05 2015-05-27 Canon Kk Method and apparatus for encoding or decoding an image with inter layer motion information prediction according to motion information compression scheme
WO2014166109A1 (en) 2013-04-12 2014-10-16 Mediatek Singapore Pte. Ltd. Methods for disparity vector derivation
US9813723B2 (en) 2013-05-03 2017-11-07 Qualcomm Incorporated Conditionally invoking a resampling process in SHVC
US9432667B2 (en) 2013-06-11 2016-08-30 Qualcomm Incorporated Processing bitstream constraints relating to inter-layer prediction types in multi-layer video coding
WO2015003383A1 (en) 2013-07-12 2015-01-15 Mediatek Singapore Pte. Ltd. Methods for inter-view motion prediction
US9628795B2 (en) 2013-07-17 2017-04-18 Qualcomm Incorporated Block identification using disparity vector in video coding
US10244253B2 (en) 2013-09-13 2019-03-26 Qualcomm Incorporated Video coding techniques using asymmetric motion partitioning
US9906813B2 (en) 2013-10-08 2018-02-27 Hfi Innovation Inc. Method of view synthesis prediction in 3D video coding
EP3078195A4 (en) 2013-12-02 2017-08-09 Nokia Technologies OY Video encoding and decoding
WO2015085575A1 (en) 2013-12-13 2015-06-18 Mediatek Singapore Pte. Ltd. Methods for background residual prediction
CN104768015B (zh) 2014-01-02 2018-10-26 寰发股份有限公司 视频编码方法及装置
WO2015109598A1 (en) 2014-01-27 2015-07-30 Mediatek Singapore Pte. Ltd. Methods for motion parameter hole filling
US10432928B2 (en) 2014-03-21 2019-10-01 Qualcomm Incorporated Using a current picture as a reference for video coding
WO2015192353A1 (en) 2014-06-19 2015-12-23 Microsoft Technology Licensing, Llc Unified intra block copy and inter prediction modes
US20150373350A1 (en) 2014-06-20 2015-12-24 Qualcomm Incorporated Temporal motion vector prediction (tmvp) indication in multi-layer codecs
WO2016008157A1 (en) 2014-07-18 2016-01-21 Mediatek Singapore Pte. Ltd. Methods for motion compensation using high order motion model
CN107079164B (zh) * 2014-09-30 2020-07-10 寰发股份有限公司 用于视频编码的自适应运动向量分辨率的方法
WO2016119104A1 (en) 2015-01-26 2016-08-04 Mediatek Inc. Motion vector regularization
US9854237B2 (en) 2014-10-14 2017-12-26 Qualcomm Incorporated AMVP and merge candidate list derivation for intra BC and inter prediction unification
CN107113425A (zh) 2014-11-06 2017-08-29 三星电子株式会社 视频编码方法和设备以及视频解码方法和设备
KR102128216B1 (ko) * 2014-11-20 2020-06-30 에이치에프아이 이노베이션 인크. 모션 벡터 및 블록 벡터 해상도 제어의 방법
KR20170101983A (ko) 2014-12-31 2017-09-06 노키아 테크놀로지스 오와이 스케일러블 비디오 코딩 및 디코딩을 위한 계층 간 예측
US11477477B2 (en) 2015-01-26 2022-10-18 Qualcomm Incorporated Sub-prediction unit based advanced temporal motion vector prediction
US10230980B2 (en) 2015-01-26 2019-03-12 Qualcomm Incorporated Overlapped motion compensation for video coding
US10070130B2 (en) 2015-01-30 2018-09-04 Qualcomm Incorporated Flexible partitioning of prediction units
US10057574B2 (en) 2015-02-11 2018-08-21 Qualcomm Incorporated Coding tree unit (CTU) level adaptive loop filter (ALF)
US10200711B2 (en) 2015-03-27 2019-02-05 Qualcomm Incorporated Motion vector derivation in video coding
WO2016165069A1 (en) 2015-04-14 2016-10-20 Mediatek Singapore Pte. Ltd. Advanced temporal motion vector prediction in video coding
WO2016175550A1 (ko) * 2015-04-27 2016-11-03 엘지전자 주식회사 비디오 신호의 처리 방법 및 이를 위한 장치
CN107852506A (zh) 2015-05-12 2018-03-27 三星电子株式会社 用于执行帧内预测的图像解码方法及其装置以及用于执行帧内预测的图像编码方法及其装置
US10271064B2 (en) 2015-06-11 2019-04-23 Qualcomm Incorporated Sub-prediction unit motion vector prediction using spatial and/or temporal motion information
WO2017008263A1 (en) 2015-07-15 2017-01-19 Mediatek Singapore Pte. Ltd. Conditional binary tree block partitioning structure
WO2017057953A1 (ko) 2015-09-30 2017-04-06 엘지전자 주식회사 비디오 코딩 시스템에서 레지듀얼 신호 코딩 방법 및 장치
EP3376764A4 (en) 2015-11-12 2019-12-04 LG Electronics Inc. METHOD AND DEVICE FOR COEFFICIENT-INDUCED INTRAPREDICATION IN A BILDCODING SYSTEM
US20190158870A1 (en) 2016-01-07 2019-05-23 Mediatek Inc. Method and apparatus for affine merge mode prediction for video coding system
US9955186B2 (en) 2016-01-11 2018-04-24 Qualcomm Incorporated Block size decision for video coding
US10469841B2 (en) 2016-01-29 2019-11-05 Google Llc Motion vector prediction using prior frame residual
US10368083B2 (en) 2016-02-15 2019-07-30 Qualcomm Incorporated Picture order count based motion vector pruning
WO2017143467A1 (en) 2016-02-22 2017-08-31 Mediatek Singapore Pte. Ltd. Localized luma mode prediction inheritance for chroma coding
WO2017147765A1 (en) 2016-03-01 2017-09-08 Mediatek Inc. Methods for affine motion compensation
US10623774B2 (en) 2016-03-22 2020-04-14 Qualcomm Incorporated Constrained block-level optimization and signaling for video coding tools
US10834419B2 (en) 2016-04-13 2020-11-10 Qualcomm Incorporated Conformance constraint for collocated reference index in video coding
CN105976395B (zh) 2016-04-27 2018-11-09 宁波大学 一种基于稀疏表示的视频目标跟踪方法
WO2017195554A1 (ja) 2016-05-13 2017-11-16 シャープ株式会社 予測画像生成装置、動画像復号装置、および動画像符号化装置。
US10560718B2 (en) 2016-05-13 2020-02-11 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding
US10560712B2 (en) 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
KR20180136555A (ko) 2016-06-03 2018-12-24 엘지전자 주식회사 영상 코딩 시스템에서 인트라 예측 방법 및 장치
JP6938612B2 (ja) 2016-07-12 2021-09-22 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute 画像復号方法、画像符号化方法、及び非一時的なコンピュータ可読の記録媒体
US11503305B2 (en) 2016-08-03 2022-11-15 Kt Corporation Method and apparatus for processing video signal
US11638027B2 (en) 2016-08-08 2023-04-25 Hfi Innovation, Inc. Pattern-based motion vector derivation for video coding
CN116567212A (zh) 2016-08-11 2023-08-08 Lx 半导体科技有限公司 编码/解码设备以及发送图像数据的设备
US10609423B2 (en) 2016-09-07 2020-03-31 Qualcomm Incorporated Tree-type coding for video coding
US10812791B2 (en) 2016-09-16 2020-10-20 Qualcomm Incorporated Offset vector identification of temporal motion vector predictor
US10631002B2 (en) 2016-09-30 2020-04-21 Qualcomm Incorporated Frame rate up-conversion coding mode
CN116866564A (zh) 2016-10-04 2023-10-10 株式会社Kt 用于处理视频信号的方法和装置
CN117221575A (zh) 2016-10-04 2023-12-12 英迪股份有限公司 图像解码方法、图像编码方法以及发送比特流的方法
KR20190053238A (ko) 2016-10-06 2019-05-17 엘지전자 주식회사 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
CN117528108A (zh) 2016-11-28 2024-02-06 英迪股份有限公司 图像编码方法、图像解码方法及用于传送比特流的方法
CN109983773A (zh) 2016-11-29 2019-07-05 联发科技股份有限公司 用于合并模式推导的视频编解码方法和装置
US10681370B2 (en) 2016-12-29 2020-06-09 Qualcomm Incorporated Motion vector generation for affine motion model for video coding
US11394976B2 (en) 2017-01-03 2022-07-19 Lg Electronics Inc. Inter-prediction method and apparatus in image coding system
US10931969B2 (en) 2017-01-04 2021-02-23 Qualcomm Incorporated Motion vector reconstructions for bi-directional optical flow (BIO)
US10542280B2 (en) 2017-01-09 2020-01-21 QUALCOMM Incorpated Encoding optimization with illumination compensation and integer motion vector restriction
US20180199057A1 (en) 2017-01-12 2018-07-12 Mediatek Inc. Method and Apparatus of Candidate Skipping for Predictor Refinement in Video Coding
US10701390B2 (en) 2017-03-14 2020-06-30 Qualcomm Incorporated Affine motion information derivation
US11277635B2 (en) 2017-03-17 2022-03-15 Vid Scale, Inc. Predictive coding for 360-degree video based on geometry padding
US10708591B2 (en) 2017-03-20 2020-07-07 Qualcomm Incorporated Enhanced deblocking filtering design in video coding
US10582209B2 (en) 2017-03-30 2020-03-03 Mediatek Inc. Sub-prediction unit temporal motion vector prediction (sub-PU TMVP) for video coding
US20180310017A1 (en) 2017-04-21 2018-10-25 Mediatek Inc. Sub-prediction unit temporal motion vector prediction (sub-pu tmvp) for video coding
US10742975B2 (en) 2017-05-09 2020-08-11 Futurewei Technologies, Inc. Intra-prediction with multiple reference lines
US10523934B2 (en) 2017-05-31 2019-12-31 Mediatek Inc. Split based motion vector operation reduction
KR102438181B1 (ko) 2017-06-09 2022-08-30 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
US10602180B2 (en) 2017-06-13 2020-03-24 Qualcomm Incorporated Motion vector prediction
GB2563943B (en) 2017-06-30 2021-02-24 Canon Kk Method and apparatus for encoding or decoding video data in FRUC mode with reduced memory accesses
CN117478884A (zh) 2017-07-03 2024-01-30 Vid拓展公司 用于视频编解码的设备、方法
KR102595689B1 (ko) * 2017-09-29 2023-10-30 인텔렉추얼디스커버리 주식회사 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN118075455A (zh) 2017-09-29 2024-05-24 Lx 半导体科技有限公司 图像编码/解码方法、存储介质及图像数据的发送方法
RU2741507C1 (ru) 2017-10-09 2021-01-26 Нокиа Текнолоджиз Ой Устройство и способ для кодирования и декодирования видео
WO2019078664A1 (ko) 2017-10-20 2019-04-25 주식회사 케이티 비디오 신호 처리 방법 및 장치
KR20200095463A (ko) * 2017-11-01 2020-08-10 브이아이디 스케일, 인크. 병합 모드를 위한 서브-블록 모션 도출 및 디코더측 모션 벡터 정교화
US10931963B2 (en) 2017-12-07 2021-02-23 Tencent America LLC Method and apparatus for video coding
US11388398B2 (en) 2018-01-11 2022-07-12 Qualcomm Incorporated Video coding using local illumination compensation
US11172229B2 (en) 2018-01-12 2021-11-09 Qualcomm Incorporated Affine motion compensation with low bandwidth
CN111630855B (zh) 2018-01-16 2024-06-21 Vid拓展公司 基于局部照明补偿的运动补偿双向预测
CN108347616B (zh) 2018-03-09 2020-02-14 中南大学 一种基于可选时域运动矢量预测的深度预测方法及装置
US20190306502A1 (en) 2018-04-02 2019-10-03 Qualcomm Incorporated System and method for improved adaptive loop filtering
WO2019204234A1 (en) * 2018-04-15 2019-10-24 Arris Enterprises Llc Unequal weight planar motion vector derivation
US11115660B2 (en) * 2018-04-30 2021-09-07 Mediatek Inc. Method and apparatus of syntax interleaving for separate coding tree in video coding
WO2019229683A1 (en) 2018-05-31 2019-12-05 Beijing Bytedance Network Technology Co., Ltd. Concept of interweaved prediction
WO2019234613A1 (en) 2018-06-05 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Partition tree with partition into 3 sub-blocks by horizontal and vertical splits
WO2019234674A1 (en) 2018-06-07 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Integer motion compensation
CN113115046A (zh) 2018-06-21 2021-07-13 北京字节跳动网络技术有限公司 分量相关的子块分割
WO2019244117A1 (en) 2018-06-21 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Unified constrains for the merge affine mode and the non-merge affine mode
WO2019244116A1 (en) 2018-06-21 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Border partition in video coding
JP7171770B2 (ja) * 2018-06-28 2022-11-15 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 動きベクトル精密化および動き補償のためのメモリアクセスウィンドウおよびパディング
US10863193B2 (en) * 2018-06-29 2020-12-08 Qualcomm Incorporated Buffer restriction during motion vector prediction for video coding
CN110662063B (zh) 2018-06-29 2020-12-15 北京字节跳动网络技术有限公司 视频处理方法、装置和计算机可读存储介质
KR20210016054A (ko) * 2018-06-30 2021-02-10 김기백 영상 부호화/복호화 방법 및 장치
KR20210024487A (ko) 2018-07-01 2021-03-05 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 효율적인 아핀 병합 모션 벡터 유도
TW202007164A (zh) 2018-07-15 2020-02-01 大陸商北京字節跳動網絡技術有限公司 跨分量運動資訊匯出
US10897617B2 (en) * 2018-07-24 2021-01-19 Qualcomm Incorporated Rounding of motion vectors for adaptive motion vector difference resolution and increased motion vector storage precision in video coding
US10958934B2 (en) 2018-07-27 2021-03-23 Tencent America LLC History-based affine merge and motion vector prediction
BR122021009784A2 (pt) 2018-09-10 2021-07-13 Lg Electronics Inc. Método e aparelho de decodificação de imagens com base em predição de movimento afim usando lista de candidatos a mvp afim no sistema de codificação de imagens
GB201815443D0 (en) 2018-09-21 2018-11-07 Canon Kk Video coding and decoding
GB2579763B (en) 2018-09-21 2021-06-09 Canon Kk Video coding and decoding
US11997279B2 (en) 2018-10-10 2024-05-28 Interdigital Vc Holdings, Inc. Affine mode signaling in video encoding and decoding
WO2020084552A1 (en) 2018-10-24 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Motion candidate derivation based on spatial neighboring block in sub-block motion vector prediction
CN111107354A (zh) 2018-10-29 2020-05-05 华为技术有限公司 一种视频图像预测方法及装置
CN113056917B (zh) 2018-11-06 2024-02-06 北京字节跳动网络技术有限公司 为视频处理使用具有几何分割的帧间预测
KR102660160B1 (ko) 2018-11-22 2024-04-24 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 서브 블록 기반 인터 예측을 위한 조정 방법
US11032574B2 (en) * 2018-12-31 2021-06-08 Tencent America LLC Method and apparatus for video coding
US10742972B1 (en) * 2019-03-08 2020-08-11 Tencent America LLC Merge list construction in triangular prediction
US11233988B2 (en) 2019-05-17 2022-01-25 Qualcomm Incorporated Reference picture resampling and inter-coding tools for video coding
US11140402B2 (en) 2019-09-20 2021-10-05 Tencent America LLC Signaling of reference picture resampling with constant window size indication in video bitstream
CN114762330A (zh) 2019-09-22 2022-07-15 北京字节跳动网络技术有限公司 视频的子图片编码和解码
US11477471B2 (en) 2020-05-20 2022-10-18 Tencent America LLC Techniques for signaling combination of reference picture resampling and spatial scalability

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017528984A (ja) * 2014-08-22 2017-09-28 クゥアルコム・インコーポレイテッドQualcomm Incorporated 統合されたイントラブロックコピーおよびインター予測
US20160100189A1 (en) * 2014-10-07 2016-04-07 Qualcomm Incorporated Intra bc and inter unification
US20160337662A1 (en) * 2015-05-11 2016-11-17 Qualcomm Incorporated Storage and signaling resolutions of motion vectors

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
RAJAN JOSHI, ET AL.: ""Screen content coding test model 7 (SCM 7)"", DOCUMENT: JCTVC-W1014, [ONLINE], vol. JCTVC-W1014 (version 1), JPN6023007009, 23 May 2016 (2016-05-23), pages 1 - 14, ISSN: 0004996769 *
XIAOZHONG XU, ET AL.: ""On stored decoded motion vector resolution"", DOCUMENT: JCTVC-U0107, [ONLINE], vol. JCTVC-U0107 (version 2), JPN6023007008, 19 June 2015 (2015-06-19), pages 1 - 7, ISSN: 0004996770 *

Also Published As

Publication number Publication date
US20220109868A1 (en) 2022-04-07
EP3997877A1 (en) 2022-05-18
JP2024037992A (ja) 2024-03-19
BR112022002687A2 (pt) 2022-09-27
CN114208184A (zh) 2022-03-18
EP3997877A4 (en) 2023-05-24
KR20220043109A (ko) 2022-04-05
JP7481430B2 (ja) 2024-05-10
US11871025B2 (en) 2024-01-09

Similar Documents

Publication Publication Date Title
JP7319365B2 (ja) サブブロックに基づくインター予測のための調整方法
CN114467308B (zh) 视频处理中的参考图片重采样
JP7481430B2 (ja) サブブロックに基づくインター予測における動き精度
CN113906738A (zh) 仿射模式的自适应运动矢量差分辨率
CN113261292B (zh) 基于子块的帧间预测中默认运动候选的构造方法
WO2021027862A1 (en) Motion precision in sub-block based inter prediction

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220225

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230522

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240105

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20240125

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240425

R150 Certificate of patent or registration of utility model

Ref document number: 7481430

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150