JP2022506161A - 精緻化を伴うインター予測のための補間 - Google Patents

精緻化を伴うインター予測のための補間 Download PDF

Info

Publication number
JP2022506161A
JP2022506161A JP2021523358A JP2021523358A JP2022506161A JP 2022506161 A JP2022506161 A JP 2022506161A JP 2021523358 A JP2021523358 A JP 2021523358A JP 2021523358 A JP2021523358 A JP 2021523358A JP 2022506161 A JP2022506161 A JP 2022506161A
Authority
JP
Japan
Prior art keywords
current block
video
samples
prediction
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2021523358A
Other languages
English (en)
Other versions
JP7231727B2 (ja
Inventor
カイ ジャン
リー ジャン
ホンビン リウ
ユエ ワン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
ByteDance Inc
Original Assignee
Beijing ByteDance Network Technology Co Ltd
ByteDance Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing ByteDance Network Technology Co Ltd, ByteDance Inc filed Critical Beijing ByteDance Network Technology Co Ltd
Publication of JP2022506161A publication Critical patent/JP2022506161A/ja
Priority to JP2023021775A priority Critical patent/JP2023062073A/ja
Application granted granted Critical
Publication of JP7231727B2 publication Critical patent/JP7231727B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods 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 a colour or a chrominance component
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/537Motion estimation other than block-based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/563Motion estimation with padding, i.e. with filling of non-object values in an arbitrarily shaped picture block or region for estimation purposes

Landscapes

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

Abstract

精緻化を伴うインター予測を含む、デジタル・映像符号化のためのデバイス、システム、および方法が記述されている。例示的な映像処理の方法は、映像の現在のブロックとその映像のビットストリーム表現の間における変換のために、第1の符号化モードを使用する変換のための第1の線形最適化モデルの使用を決定することであって、第1の線形最適化モデルは、第2の符号化モードを使用する変換のために使用される第2の線形最適化モデルから導出される、ことと、その決定に基づいて変換を実行することと、を含む。別の例示的な映像処理の方法は、映像の現在のブロックとその映像のビットストリーム表現の間における変換のために、双方向オプティカルフローのツールのための勾配値計算アルゴリズムの使用を決定することと、その決定に基づいてその変換を実行することと、を含む。【選択図】図28A

Description

(関連出願の相互参照)
パリ条約に基づいて適用可能な特許法および/または規則の下に、この出願は、2018年11月5日に提出された国際特許出願第PCT/CN2018/113928号の優先権および恩典を主張して適時になされる。米国の法律の下におけるすべての目的のために、上記の出願の完全な開示は、参照により、この出願の開示の一部として援用される。
この特許書類は、映像符号化技術、デバイス、およびシステムに関する。
映像圧縮における進歩にもかかわらず、デジタル映像は、未だに、インターネットおよびそのほかのデジタル通信ネットワークにおいてもっとも大きな帯域幅使用を占めている。映像を受信し、表示する能力のあるユーザデバイスの接続数が増加することから、デジタル映像使用のための帯域幅需要が伸び続けることが予想される。
デジタル映像符号化、特に、映像符号化のための線形モード予測の調和に関係するデバイス、システム、および方法。記述されている方法は、既存の映像符号化規格(例えば、HEVC(High Efficiency Coding))および将来的な映像符号化規格または映像コーデックの両方に適用できる。
1つの代表的な側面において、開示されている技術は、映像処理の方法の提供に使用することができる。この方法は、映像の現在のブロックとその映像のビットストリーム表現の間における変換のために、第1の符号化モードを使用する変換のための第1の線形最適化モデルの使用を決定することであって、第2の符号化モードを使用する変換のために使用される第2の線形最適化モデルから導出される第1の線形最適化モデルの使用を決定することと、その決定に基づいて変換を実行することと、を含む。
別の代表的な側面においては、開示されている技術は、映像処理の方法を提供するべく使用することができる。この方法は、映像の現在のブロックのピクチャに関連付けされた1つまたは複数のPOC(Picture Order Count)パラメータに基づいて、オプティカルフローを使用する符号化モードである第1の予測モード、またはその第1の予測モードとは異なる第2の予測モードのうちのいずれかを有効化することと、第1のモードまたは第2のモードに基づいて、現在のブロックと映像のビットストリーム表現の間における変換を実行することと、を含む。
さらに別の代表的な側面においては、開示されている技術は、映像処理の方法を提供するべく使用することができる。この方法は、映像の現在のブロックに関連付けされている符号化済み情報に基づいて、その現在のブロックの参照ピクチャに関連付けされる1つまたは複数の速度ベクトル(v,v)を連続的に導出することと、その1つまたは複数の速度ベクトルに基づいて、現在のブロックと映像のビットストリーム表現の間における変換を実行することと、を含み、符号化済み情報は、現在のブロックの動きベクトルの水平成分の値、現在のブロックの動きベクトルの垂直成分の値、または現在のブロックのサイズを有する。
さらに別の代表的な側面においては、開示されている技術は、映像処理の方法を提供するべく使用することができる。この方法は、映像の現在のブロックのためにオプティカルフローを使用する符号化モードが有効化されたとの決定時に、その現在のブロックの各色成分のために単一タイプの補間フィルタを使用するフィルタリング動作を実行することと、そのフィルタリング工程に基づいて、現在のブロックと映像のビットストリーム表現の間における変換を実行することと、を含む。
さらに別の代表的な側面においては、開示されている技術は、映像処理の方法を提供するべく使用することができる。この方法は、映像の現在のブロックのためにオプティカルフローを使用する符号化モードが有効化されたとの決定時に、その現在のブロックの各色成分のために単一タイプの補間フィルタを使用するフィルタリング工程を実行することと、現在のブロックの少なくとも1つのサンプルが所定の範囲の外側に位置するとの決定時に、パディング工程を実行することと、これらのフィルタリング工程およびパディング工程に基づいて、現在のブロックと映像のビットストリーム表現の間における変換を実行することと、を含む。
さらに別の代表的な側面においては、開示されている技術は、映像処理の方法を提供するべく使用することができる。この方法は、映像の現在のブロックとその映像のビットストリーム表現の間における変換のために、オプティカルフローのツールのための勾配値計算アルゴリズムの使用を決定することと、その決定に基づいてその変換を実行することと、を含む。
さらに別の代表的な側面においては、開示されている技術は、映像処理の方法を提供するべく使用することができる。この方法は、映像の現在のブロックのサブブロックについての1つまたは複数の差分絶対値和(SAD)の計算に基づいて、その現在のブロックのためにオプティカルフローを使用する符号化モードの選択的使用可能性に関する判定を行うことと、その判定に基づいて、現在のブロックとその現在のブロックのビットストリーム表現の間における変換を実行することと、を含む。
さらに別の代表的な側面においては、開示されている技術は、映像処理の方法を提供するべく使用することができる。この方法は、映像の現在のブロックのためのGBi(Generalized Bi-prediction improvement)処理の選択的使用可能性に基づいて、その現在のブロックのためにオプティカルフローを使用する符号化モードの1つまたは複数のパラメータを導出することと、オプティカルフローを使用する符号化モードの1つまたは複数のパラメータに基づいて、現在のブロックと映像のビットストリーム表現の間における変換を実行することと、を含む。
さらに別の代表的な側面においては、開示されている技術は、映像処理の方法を提供するべく使用することができる。この方法は、オプティカルフローを使用する符号化モードを用いて符号化された映像の現在のブロックのために、オプティカルフローを使用する符号化モードの最終予測出力に対してクリッピング工程を実行することと、その最終予測出力に基づいて、現在のブロックと映像のビットストリーム表現の間における変換を実行することと、を含む。
さらに別の代表的な側面においては、上に述べられている方法が、プロセッサ実行可能コードの形式で具体化され、コンピュータ可読プログラム媒体内に格納される。
さらに別の代表的な側面においては、上に述べられている方法を実施するべく構成されるか、または動作可能なデバイスが開示されている。このデバイスは、この方法を実装するべくプログラムされるプロセッサを含むことができる。
さらに別の代表的な側面においては、映像デコーダ装置が、この中に述べられている方法を実装することができる。
これらの、またそのほかの、開示されている技術の側面および特徴は、より詳しく、図面、説明、および特許請求の範囲の中に記述されている。
マージ候補リストを構築する例を示したブロック図である。 空間的候補の位置の例を示した説明図である。 空間的マージ候補の冗長性チェックを受ける候補ペアの例を示した説明図である。 現在のブロックのサイズおよび形状に基づく第2の予測ユニット(PU:Prediction Unit)の位置の例を示した説明図である。 現在のブロックのサイズおよび形状に基づく第2の予測ユニット(PU)の位置の例を示した説明図である。 時間的マージ候補のための動きベクトルスケーリングの例を示した説明図である。 時間的マージ候補のための候補位置の例を示した説明図である。 結合双方向予測マージ候補を生成する例を示した説明図である。 動きベクトル予測候補を構築する例を示した説明図である。 空間的動きベクトル候補のための動きベクトルスケーリングの例を示した説明図である。 符号化ユニット(CU:Coding Unit)のためのATMVP(Alternative Temporal Motion Vector Prediction)アルゴリズムを使用する動き予測の例を示した説明図である。 STMVP(Spatial-Temporal Motion Vector Prediction)アルゴリズムによって使用されるサブブロックおよび近傍ブロックを伴う符号化ユニット(CU)の例を示した説明図である。 OBMC(Overlapped Block Motion Compensation)アルゴリズムを使用するサブブロックのスナップショットの例を示した説明図である。 OBMCアルゴリズムを使用するサブブロックのスナップショットの例を示した説明図である。 LIC(Local Illumination Compensation)アルゴリズムのためのパラメータの導出に使用される近傍サンプルの例を示した説明図である。 単純化したアフィン動きモデルの例を示した説明図である。 サブブロック毎のアフィンMVF(Motion Vector Field)の例を示した説明図である。 AF_INTERアフィン動きモードのためのMVP(Motion Vector Prediction)の例を示した説明図である。 AF_MERGEアフィン動きモードのための候補の例を示した説明図である。 AF_MERGEアフィン動きモードのための候補の例を示した説明図である。 FRUC(Frame-Rate Up Conversion)アルゴリズムに基づく特殊マージモードであるPMMVD(Pattern Matched Motion Vector Derivation)モードにおけるバイラテラルマッチングの例を示した説明図である。 FRUCアルゴリズムにおけるテンプレートマッチングの例を示した説明図である。 FRUCアルゴリズムにおけるユニラテラル動き推定の例を示した説明図である。 BDOF(Bi-Directional Optical Flow)アルゴリズムによって使用されるオプティカルフローの軌跡の例を示した説明図である。 ブロック拡張を伴わないBDOF(Bi-Directional Optical Flow)アルゴリズムの使用のスナップショットの例を示した説明図である。 ブロック拡張を伴わないBDOFアルゴリズムの使用のスナップショットの例を示した説明図である。 BDOFにおいて使用される補間済みサンプルの例を示した説明図である。 バイラテラルテンプレートマッチングに基づくDMVR(Decoder-side Motion Vector Refinement)アルゴリズムの例を示した説明図である。 線形予測モードにおける線形モデル(αおよびβ)のパラメータの導出のために使用されるサンプルの位置の例を示した説明図である。 最大と最小の輝度値の間の直線(線形モデルを表す)の例を示した説明図である。 BDOFにおいて使用される補間済みサンプルの別の例を示した説明図である。 映像処理のための方法の例を示したフローチャートである。 映像処理のための方法の例を示したフローチャートである。 映像処理のための方法の例を示したフローチャートである。 映像処理のための方法の例を示したフローチャートである。 映像処理のための方法の例を示したフローチャートである。 映像処理のための方法の例を示したフローチャートである。 映像処理のための方法の例を示したフローチャートである。 映像処理のための方法の例を示したフローチャートである。 映像処理のための方法の例を示したフローチャートである。 この書類にて記述されているビジュアルメディア復号化またはビジュアルメディア符号化技術を実装するためのハードウエアプラットフォームの例を示したブロック図である。 開示されている技術を実装できる映像処理システムの例を示したブロック図である。
より高い解像度の映像への増加する需要に起因して、近代技術の至る所に映像符号化方法および技術が姿を現わしている。映像コーデックは、通常、デジタル映像を圧縮または圧縮解除する電子回路またはソフトウエアを含み、より高い符号化効率を提供するべく絶えず改良されている。映像コーデックは、圧縮されていない映像を圧縮されたフォーマットに変換するか、またはその逆を行う。映像品質、(ビットレートによって決定される)映像を表現するために使用されるデータの量、符号化および復号化のアルゴリズムの複雑性、データの喪失およびエラーに対する敏感度、編集の容易性、ランダムアクセス、およびエンド・トゥ・エンド遅延(待ち時間)の間には複雑な関係が存在する。圧縮フォーマットは、通常、標準映像圧縮仕様、例えば、HEVC(High Efficiency Video Coding)規格(H.265またはMPEG-H Part 2としても知られる)、確立された最終化が予定されているVVC(Versatile Video Coding)規格、またはその他の、現行および/または将来的な映像符号化規格に従う。
開示されている技術の実施形態は、既存の映像符号化規格(例えば、HEVC、H.265)および将来的な規格に適用され、圧縮パフォーマンスを向上させることができる。この書類においては、記述の読みやすさを向上させるためにセクションの見出しが使用されているが、いかなる形においてもここでの議論または実施形態(および/または、実装)がそれぞれのセクションのみに限定されることはない。
1.HEVC/H.265におけるインター予測の例
映像符号化規格は、ここ数年にわたって有意に改良され、現在は、より高い解像度のためのサポートおよび高い符号化効率がある程度提供されている。HEVCおよびH.265等の最近の規格は、ハイブリッド映像符号化構造に基づいており、それにおいては、時間的予測に変換符号化がプラスされて利用されている。
1.1 予測モードの例
それぞれのインター予測されたPU(予測ユニット:Prediction Unit)は、1つまたは2つの参照ピクチャリストのための動きパラメータを有する。いくつかの実施形態においては、動きパラメータが、動きベクトルおよび参照ピクチャインデックスを含む。ほかの実施形態においては、2つの参照ピクチャリストのうちの1つの使用もまた、inter_pred_idcを使用してシグナリングしてよい。さらにほかの実施形態においては、動きベクトルが、予測因子に関する差分として明示的に符号化されてよい。
スキップモードを用いてCUが符号化されるとき、1つのPUがCUと関連付けされ、有意な残余の係数、符号化された動きベクトル差分、または参照ピクチャインデックスが存在しない。マージモードが指定され、それによって、現在のPUのための動きパラメータが、空間的および時間的候補を含めて近傍のPUから獲得される。マージモードは、スキップモードだけでなく、任意のインター予測されたPUに適用することが可能である。マージモードに対する代替は、動きパラメータの明示的な送信であり、それにおいては、各参照ピクチャリストのための参照ピクチャインデックスおよび参照ピクチャリスト使用に対応する動きベクトルが、それぞれのPU毎に明示的にシグナリングされる。
シグナリングが、2つの参照ピクチャリストのうちの1つが使用されることになる旨を示しているとき、サンプルの1つのブロックからPUが生成される。これは、『単方向予測』と呼ばれる。単方向予測は、PスライスおよびBスライスの両方のために利用可能である。
シグナリングが、参照ピクチャリストの両方が使用されることになる旨を示しているとき、サンプルの2つのブロックからPUが生成される。これは、『双方向予測』と呼ばれる。双方向予測は、Bスライスのみのために利用可能である。
1.1.1 マージモードのための候補を構築する実施形態
マージモードを使用してPUが予測されるとき、マージ候補リスト内のエントリを指し示すインデックスがビットストリームから構文解析され、かつ使用されて動き情報が取り出される。このリストの構築を、以下のステップのシーケンスにあるように要約することが可能である:
ステップ1:初期候補の導出
ステップ1.1:空間的候補の導出
ステップ1.2:空間的候補のための冗長性チェック
ステップ1.3:時間的候補の導出
ステップ2:追加の候補の挿入
ステップ2.1:双方向予測候補の作成
ステップ2.2:ゼロ動き候補の挿入
図1は、上に要約されているステップのシーケンスに基づいてマージ候補リストを構築する例を示している。空間的マージ候補の導出のために、5つの異なる位置に位置する候補の中から最大で4つのマージ候補が選択される。時間的マージ候補の導出のために、2つの候補の中から最大で1つのマージ候補が選択される。デコーダにおいては、それぞれのPUについて一定数の候補が仮定されることから、候補の数が、スライスヘッダの中でシグナリングされたマージ候補の最大数(MaxNumMergeCand)に到達しないときは、追加の候補が生成される。候補の数が一定であることから、最良マージ候補のインデックスが、TU(Truncated Unary binarization)を使用して符号化される。CUのサイズが8に等しい場合には、現在のCUのすべてのPUが、2N×2Nの予測ユニットのマージ候補リストと同一の単一のマージ候補リストを共有する。
1.1.2 空間的マージ候補の構築
空間的マージ候補の導出においては、図2に図示されている位置に位置する候補の中から最大で4つのマージ候補が選択される。導出の順序は、A、B、B、A、およびBである。位置Bは、位置A、B、B、およびAのいずれのPUも(例えば、別のスライスまたはタイルに属しているために)利用可能でないか、またはイントラ符号化されているときにのみ考慮される。位置Aの候補が追加された後は、符号化効率が向上するように、残りの候補の追加が、同一の動き情報を伴う候補がリストから除外されることを保証する冗長性チェックの対象となる。
計算の複雑性を低減するために、可能性のある候補のペアのすべてが、上に述べられている冗長性チェックにおいて考慮されるわけではない。それに代えて、図3の矢印によりリンクされるペアのみが考慮され、冗長性チェックのために使用される対応する候補が同一の動き情報を有していない場合にのみ、リストに候補が追加される。重複する動き情報の別のソースは、2N×2Nとは異なるパーティションと関連付けされる『第2のPU』である。例として述べるが、図4Aおよび図4Bは、それぞれN×2Nおよび2N×Nの場合の第2のPUを図示している。現在のPUがN×2Nとして分割されているとき、位置Aにおける候補は、リスト構築のために考慮されない。いくつかの実施態様においては、この候補の追加が同一の動き情報を有する2つの予測ユニットを導く可能性があり、これは、符号化ユニット内にPUを1つだけ有することに対する冗長である。同様に、2N×Nとして現在のPUが分割されているときには、位置Bが考慮されない。
1.1.3 時間的マージ候補の構築
このステップにおいては、リストに候補が1つだけ追加される。特に、この時間的マージ候補の導出においては、スケーリングされた動きベクトルが、与えられた参照ピクチャリスト内において現在のピクチャと最小のPOC差分を有するピクチャに属する同一位置のPU(co-located PU)に基づいて導出される。その同一位置のPUの導出のために使用されるべき参照ピクチャリストは、スライスヘッダの中で明示的にシグナリングされる。
図5は、時間的マージ候補のためのスケーリングされた動きベクトル(破線として示されている)の導出の例を示しており、同一位置のPUの動きベクトルからPOC距離tbおよびtdを使用してスケーリングされ、tbは、現在のピクチャの参照ピクチャと現在のピクチャの間におけるPOC差分として定義され、tdは、同一位置のピクチャの参照ピクチャと当該同一位置のピクチャの間におけるPOC差分として定義される。時間的マージ候補の参照ピクチャインデックスは、ゼロに等しく設定される。Bスライスについては、一方は参照ピクチャリスト0のためとし、他方は参照ピクチャリスト1のためとする2つの動きベクトルが取得され、組み合わされて双方向予測マージ候補が作られる。
参照フレームに属する同一位置のPU(Y)においては、時間的候補のための位置が、図6に図示されているとおり、候補CとCの間において選択される。位置CのPUが利用可能でないか、イントラ符号化されているか、または現在のCTUの外側である場合には、位置Cが使用される。それ以外であれば、位置Cが、時間的マージ候補の導出において使用される。
1.1.4 追加のタイプのマージ候補の構築
空間的-時間的マージ候補のほかに、追加のタイプのマージ候補、すなわち結合双方向予測マージ候補およびゼロマージ候補の2つが存在する。結合双方向予測マージ候補は、空間的-時間的マージ候補を利用することによって生成される。結合双方向予測マージ候補は、Bスライスのためにのみ使用される。結合双方向予測候補は、初期候補の第1の参照ピクチャリストの動きパラメータと、別の候補の第2の参照ピクチャリストの動きパラメータとを組み合わせることによって生成される。これら2つのタプルが異なる動き仮説を提供する場合には、それらは、新しい双方向予測候補を形成することになる。
図7は、この処理の例を示しており、元のリスト(左側の710)内の、mvL0およびrefIdxL0、またはmvL1およびrefIdxL1を有する2つの候補が使用されて、結合双方向予測マージ候補が作成され、それが最終的なリスト(右側の720)に追加される。
ゼロ動き候補が挿入されて、マージ候補リスト内の残りのエントリが埋められ、したがって、MaxNumMergeCandキャパシティに達する。これらの候補は、ゼロの空間的変位、およびゼロから始まり、かつ新しいゼロ動き候補がリストに追加される都度に増加する参照ピクチャインデックスを有している。これらの候補によって使用される参照フレームの数は、単方向および双方向予測それぞれについて1つおよび2つである。いくつかの実施形態においては、これらの候補に対して冗長性チェックが実行されない。
1.1.5 並列処理のための動き推定領域の例
符号化処理を高速化するために、動き推定を並列に実施することが可能であり、それによって、与えられた領域の内側のすべての予測ユニットのための動きベクトルが、同時に導出される。空間的近傍からのマージ候補の導出は、1つの予測ユニットが動きパラメータを隣接PUから導出することが、それに関連付けされた動き推定が完了するまで可能でないため、並列処理と干渉することがある。符号化効率と処理待ち時間の間におけるトレードオフを軽減するために、動き推定領域(MER:Motion Estimation Region)を定義することができる。MERのサイズは、ピクチャパラメータセット(PPS)の中で『log2_parallel_merge_level_minus2』構文要素を使用してシグナリングすることができる。MERが定義されるとき、同一領域内に入るマージ候補が利用不可としてマークされ、したがって、リスト構築においては考慮されない。
1.2 AMVP(Advanced Motion Vector Prediction)の実施形態
AMVPは、動きベクトルの近傍のPUとの空間的-時間的相関を利用し、動きパラメータの明示的な送信のために使用される。これは、最初に、時間的に近傍の左と上のPU位置の利用可能性をチェックし、冗長候補を除去し、ゼロベクトルを追加して候補リストを一定長にすることによって動きベクトル候補リストを構築する。その後、エンコーダが、候補リストの中から最良の予測因子を選択し、対応する選択した候補を示すインデックスを送信することが可能になる。マージインデックスシグナリングと同様に、最良の動きベクトル候補のインデックスが、短縮項(truncated unary)を使用して符号化される。符号化されることになる最大値は、この場合においては2である(図8参照)。以下のセクションにおいては、動きベクトル予測候補の導出処理についての詳細を提供する。
1.2.1 動きベクトル予測候補の構築の例
図8は、動きベクトル予測候補のための導出処理の要約であり、入力としてrefidxを伴う各参照ピクチャリストのために実装することができる。
動きベクトル予測においては、2つのタイプの動きベクトル候補、すなわち、空間的-動きベクトル候補および時間的動きベクトル候補が考慮される。空間的動きベクトル候補の導出については、最終的に2つの動きベクトル候補が、先の図2の中に示されているとおり、5つの異なる位置で見つかる各PUの動きベクトルに基づいて導出される。
時間的動きベクトル候補の導出については、1つの動きベクトル候補が、2つの異なる同一位置にある配置に基づいて導出される2つの候補から選択される。時間的-空間的候補の最初のリストが作られた後、リスト内の重複する動きベクトル候補が除去される。潜在的な候補の数が2より大きい場合には、関連付けされた参照ピクチャリスト内の参照ピクチャインデックスが1より大きい動きベクトル候補が、リストから除去される。時間的-空間的動きベクトル候補の数が2より小さい場合には、追加のゼロ動きベクトル候補がリストに追加される。
1.2.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)
空間的スケーリングなしのケースが最初にチェックされ、それに空間的スケーリングを許容するケースが続く。空間的スケーリングは、参照ピクチャリストによらず、近傍のPUの参照ピクチャと、現在のPUのそれとの間においてPOCが異なるときに考慮される。左側候補のすべてのPUが利用可能でないか、またはイントラ符号化されている場合には、上側動きベクトルのためのスケーリングが、左および上側MV候補の並列導出を補助することが許容される。それ以外は、上側動きベクトルのための空間的スケーリングが許容されない。
図9の例に示されているとおり、空間的スケーリングのケースについては、近傍のPUの動きベクトルが、時間的スケーリングと類似する態様でスケーリングされる。1つの相違は、現在のPUの参照ピクチャリストおよびインデックスが入力として与えられることであるが、実際のスケーリング処理は、時間的スケーリングのそれと同じである。
1.2.3 時間的動きベクトル候補の構築
参照ピクチャインデックスの導出を除けば、時間的マージ候補の導出のためのすべての処理は、(図6の例に示されているとおり)空間的動きベクトル候補の導出のためのそれと同じである。いくつかの実施態様においては、参照ピクチャインデックスが、デコーダにシグナリングされる。
2. JEM(Joint Exploration Model)におけるインター予測方法の例
いくつかの実施形態においては、将来的な映像符号化技術が、JEM(Joint Exploration Model)として知られる参照ソフトウエアを使用して探査される。JEMにおいては、いくつかの符号化ツールに、アフィン予測、ATMVP(Alternative Temporal Motion Vector Prediction)、STMVP(Spatial-Temporal Motion Vector Prediction)、双方向オプティカルフロー(BDOFまたはBIO)、FRUC(Frame-Rate Up Conversion)、LAMVR(Locally Adaptive Motion Vector Resolution)、OBMC(Overlapped Block Motion Compensation)、LIC(Local Illumination Compensation)、およびDMVR(Decoder-side Motion Vector Refinement)等のサブブロックベースの予測が採り入れられる。
2.1 サブCUに基づく動きベクトル予測の例
QTBT(Quad Tree plus Binary Trees)を用いるJEMにおいては、各CUが、各予測方向のために多くとも1セットの動きパラメータを有することが可能である。いくつかの実施形態においては、2つのサブCUレベルの動きベクトル予測方法が、エンコーダ内において、ラージCUをサブCUに分割し、ラージCUのすべてのサブCUのための動き情報を導出することによって考慮される。ATMVP(Alternative Temporal Motion Vector Prediction)方法は、各CUが、同一位置の参照ピクチャ内の現在のCUより小さい複数のブロックから複数セットの動き情報をフェッチすることを可能にする。STMVP(Spatial-Temporal Motion Vector Prediction)方法においては、サブCUの動きベクトルが、時間的動きベクトル予測因子および空間的な近傍の動きベクトルを使用することによって再帰的に導出される。いくつかの実施形態においては、サブCU動き予測のためのより正確な動きフィールドを保存するために、参照フレームのための動き圧縮を無効化することができる。
2.1.1 ATMVP(Alternative Temporal Motion Vector Prediction)の例
ATMVP方法においては、TMVP(Temporal Motion Vector Prediction)方法が、現在のCUより小さいブロックから複数セットの動き情報(動きベクトルおよび参照インデクスを含む)をフェッチすることによって修正される。
図10は、CU1000のためのATMVP動き予測処理の例を示している。ATMVP方法は、CU1000内のサブCU1001の動きベクトルを2つのステップで予測する。第1のステップは、時間的ベクトルを伴う参照ピクチャ1050内の対応するブロック1051を識別する。参照ピクチャ1050は、動きソースピクチャとも呼ばれる。第2のステップは、現在のCU1000をサブCU1001に分割し、各サブCUに対応するブロックから動きベクトルならびに各サブCUの参照インデックスを取得する。
第1のステップにおいては、参照ピクチャ1050および対応するブロックが、現在のCU1000の空間的近傍のブロックの動き情報によって決定される。近傍のブロックの反復的な走査処理を回避するために、現在のCU1000のマージ候補リスト内の最初のマージ候補が使用される。最初の利用可能な動きベクトルおよびその関連付けされた参照インデックスが、時間的なベクトルおよび動きソースピクチャに対するインデックスに設定される。このようにして、対応するブロック(配列されたブロックと呼ばれることがある)が、TMVPと比較してより正確に識別することができ、対応するブロックが、現在のCUに対して常に右下または中央の位置になる。
第2のステップにおいては、現在のCUの座標に時間的なベクトルを追加することによって、動きソースピクチャ1050内の時間的なベクトルにより、サブCU1051の対応するブロックが識別される。各サブCUについて、それの対応するブロック(例えば、中心のサンプルをカバーする最小の動きグリッド)の動き情報が使用されて、そのサブCUのための動き情報が導出される。対応するN×Nブロックの動き情報が識別された後、それが、動きスケーリングおよびそのほかの手順が適用されるHEVCのTMVPと同じ方法で、現在のサブCUの動きベクトルおよび参照インデックスに変換される。例えば、デコーダが、低遅延条件(例えば、現在のピクチャのすべての参照ピクチャのPOCは、現在のピクチャのPOCより小さい)が満たされているか否かをチェックし、また可能性として、動きベクトルMVx(例えば、参照ピクチャリストXに対応する動きベクトル)を使用して各サブCUのための動きベクトルMVyを予測する(例えば、Xが0または1に等しければ、Yは、1-Xに等しい)。
2.1.2 STMVP(Spatial-Temporal Motion Vector Prediction)の例
STMVP方法においては、サブCUの動きベクトルが、ラスタスキャンの順序に従って再帰的に導出される。図11は、4つのサブブロックを伴う1つのCUおよび近傍のブロックの例を示している。4つの4×4サブCUのA(1101)、B(1102)、C(1103)、およびD(1104)を含む8×8のCU1100を考える。現在のフレーム内の近傍の4×4ブロックは、a(1111)、b(1112)、c(1113)、およびd(1114)としてラベル付けされる。
サブCU Aの動き導出は、それの2つの空間的ネイバーを識別することによって開始する。第1の近傍は、サブCU A1101の上側のN×Nブロック(ブロックc1113)である。このブロックc(1113)が利用可能でないか、またはイントラ符号化されている場合には、サブCU A(1101)の上側のほかのN×Nブロックがチェックされる(ブロックc1113から開始して左から右へ)。第2の近傍は、サブCU A1101の左側のブロック(ブロックb1112)である。ブロックb(1112)が利用可能でないか、またはイントラ符号化されている場合には、サブCU A1101の左側のほかのブロックがチェックされる(ブロックb1112から開始して上から下へ)。各リストのための近傍のブロックから獲得された動き情報は、与えられたリストのための第1の参照フレームに対してスケーリングされる。次に、サブブロックA1101のTMVP(Temporal Motion Vector Predictor)が、HEVC内に指定されているTMVPの導出と同じ手順に従って導出される。ブロックD1104の配列されたブロックの動き情報がフェッチされ、相応じてスケーリングされる。最後に、動き情報の取り出しおよびスケーリングの後、すべての利用可能な動きベクトルが、それぞれの参照リスト毎に別々に平均される。平均化された動きベクトルは、現在のサブCUの動きベクトルとして割り当てられる。
2.1.3 サブCU動き予測モードシグナリングの例
いくつかの実施形態においては、サブCUモードが、追加のマージ候補として有効化され、そのモードのシグナリングに必要とされる追加の構文要素は存在しない。2つの追加のマージ候補が、ATMVPモードおよびSTMVPモードを表すべく各CUのマージ候補リストに追加される。ほかの実施形態においては、ATMVPおよびSTMVPが有効化されることをシーケンスパラメータセットが示している場合に、最大で7つのマージ候補を使用することができる。追加のマージ候補の符号化ロジックは、HMにおけるマージ候補のためのそれと同じであり、すなわちこれは、PまたはBスライス内のそれぞれのCU毎に、さらに2つのRDチェックが2つの追加のマージ候補のために必要になる可能性があることを意味する。いくつかの実施形態、例えばJEM、においては、マージインデックスのすべてのビンが、CABAC(Context-based Adaptive Binary Arithmetic Coding)によってコンテキスト符号化される。ほかの実施形態、例えばHEVC、においては、最初のビンのみがコンテキスト符号化され、残りのビンは、バイパス符号化されたコンテキストである。
2.2 適応型動きベクトル差分分解の例
いくつかの実施形態においては、スライスヘッダ内のuse_integer_mv_flagが0に等しいとき、1/4輝度サンプルを単位にして、(PUの動きベクトルと予測された動きベクトルとの間における)MVD(Motion Vector Difference)がシグナリングされる。JEMにおいては、LAMVR(Locally Adaptive Motion Vector Resolution)が導入される。JEMにおいては、1/4輝度サンプル、整数輝度サンプル、または4輝度サンプルを単位にしてMVDを符号化することが可能である。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のために使用されることになるか、が決定される。すなわち、各MVD解像度のためにCUレベルのRDチェックが3回実行される。エンコーダの速度を加速するために、JEMにおいては、以下の符号化スキームが適用される。
--標準1/4輝度サンプルMVD解像度を用いるCUのRDチェックの間に、現在のCU(整数輝度サンプル精度)の動き情報が格納される。格納された動き情報(丸め後)が、時間の掛かる動き推定処理が3回にわたって複製されないように、整数輝度サンプルおよび4輝度サンプルMVD分解を用いる同一CUのためのRDチェックの間におけるさらに小さい範囲の動きベクトル精緻化のための開始点として使用される。
--4輝度サンプルMVD解像を用いるCUのRDチェックは、条件付きで呼び出される。CUについて、整数輝度サンプルMVD解像度のRDコストが、1/4輝度サンプルMVD解像度よりはるかに大きい場合、そのCUのための4輝度サンプルMVD解像度のRDチェックがスキップされる。
2.3 より高い動きベクトルストレージの精度の例
HEVCにおいては、動きベクトルの精度が1/4ピクセル(4:2:0映像についての1/4輝度サンプルおよび1/8彩度サンプル)である。JEMにおいては、内部動きベクトルストレージおよびマージ候補のための精度が1/16ピクセルに増加する。より高い動きベクトル精度(1/16ピクセル)が、スキップ/マージモードを用いて符号化されるCUのための動き補償インター予測に使用される。標準AMVPモードを用いて符号化されるCUのためには、整数ピクセルまたは1/4ピクセルのいずれかの動きが使用される。
HEVC動き補償補間フィルタと同じフィルタ長および正規化因子を有するSHVCアップサンプリング補間フィルタが、追加の分数ピクセル位置のための動き補償補間フィルタとして使用される。彩度成分の動きベクトル精度は、JEMにおいて1/32サンプルであり、1/32ピクセルの分数位置の追加の補間フィルタが、2つの近傍の1/16ピクセルの分数位置のフィルタの平均を使用することによって導出される。
2.4 OBMC(Overlapped Block Motion Compensation)の例
JEMにおいては、CUレベルにおける構文を使用してOBMCのオン・オフを切り換えることが可能である。JEMにおいてOBMCが使用されるときには、CUの右側および下側の境界を除き、OBMCが、すべての動き補償(MC:Motion Compensation)ブロック境界のために実施される。それに加えて、これは、輝度および彩度成分の両方のために適用される。JEMにおいては、MCブロックが符号化ブロックに対応する。サブCUモードを用いてCUが符号化されるときには(サブCUマージ、アフィン、およびFRUCモードを含む)、CUの各サブブロックがMCブロックになる。一様な態様でCU境界を処理するために、すべてのMCブロック境界のためにサブブロックレベルにおいてOBMCが実行され、それにおいては、サブブロックサイズは、図12Aおよび12Bに示されているとおり、4×4に等しく設定される。
図12Aは、CU/PU境界におけるサブブロックを示しており、ハッチングは、OBMCが適用されるサブブロックである。同様に図12Bは、ATMVPモードにおけるサブPUを示している。
OBMCが現在のサブブロックに適用されるとき、現在の動きベクトルのほかに、接続されている4つの近傍のサブブロックの動きベクトルもまた、これらが利用可能であり、かつ現在の動きベクトルとまったく同じでなければ、現在のサブブロックのための予測ブロックの導出に使用される。複数の動きベクトルに基づく、これらの複数の予測ブロックが組み合わされて、現在のサブブロックの最終的な予測シグナルが生成される。
近傍のサブブロックの動きベクトルに基づく予測ブロックは、PNとして示され、Nは、上側、下側、左側、および右側の近傍のサブブロックのためのインデックスを示し、現在のサブブロックの動きベクトルに基づく予測ブロックは、PCとして示される。PNが、現在のサブブロックと同じ動き情報を含んでいる近傍のサブブロックの動き情報に基づく場合には、PNからOBMCが実施されない。それ以外は、PNのすべてのサンプルが、PC内の同じサンプルに追加され、すなわち、PNの4つの行/列がPCに追加される。重み付け因子{1/4,1/8,1/16,1/32}がPNのために使用され、重み付け因子{3/4,7/8,15/16,31/32}がPCのために使用される。例外は、小さいMCブロック(すなわち、符号化ブロックの高さまたは幅が4に等しいか、またはサブCUモードを用いてCUが符号化されている)であり、その場合は、PNの2つの行/列だけがPCに追加される。この場合においては、重み付け因子{1/4,1/8}がPNのために使用され、重み付け因子{3/4,7/8}がPCのために使用される。垂直(水平)に近傍のサブブロックの動きベクトルに基づいて生成されるPNについては、PNの同一行(列)内のサンプルが同じ重み付け因子を用いてPCに追加される。
JEMにおいては、256輝度サンプルより小さいか、または等しいサイズを伴うCUについて、CUレベルフラグがシグナリングされて、現在のCUのためにOBMCが適用されるか否か、が示される。256輝度サンプルより大きいサイズを伴うか、またはAMVPモードを用いて符号化されていないCUについては、デフォルトによりOBMCが適用される。エンコーダにおいては、CUのためにOBMCが適用されるとき、動き推定ステージの間に、それの影響が考慮に入れられる。上側の近傍のブロックおよび左側の近傍のブロックの動き情報を使用してOBMCによって形成される予測シグナルが、現在のCUのオリジナルのシグナルの上側および左側の境界の補償に使用され、その後、標準の動き推定処理が適用される。
2.5 局所的照度補償(LIC:Local Illumination Compensation)の例
LICは、照度変化のための線形モデルに基づき、スケーリング因子aおよびオフセットbを使用する。また、これは、各インターモード符号化された符号化ユニット(CU)毎に適応的に有効化されるか、または無効化される。
CUに対してLICが適用されるとき、最小二乗誤差法が採用され、現在のCUの近傍のサンプルおよびそれらの対応する参照サンプルを使用することによって、パラメータaおよびbが導出される。図13は、ICアルゴリズムのパラメータの導出に使用される近傍のサンプルの例を示している。特に、図13に示されているとおり、CUのサブサンプリングされた(2:1サブサンプリング)近傍のサンプルおよび参照ピクチャ内の対応するサンプル(現在のCUまたはサブCUの動き情報によって識別される)が使用される。ICパラメータは、それぞれの予測方向毎に別々に導出され、適用される。
マージモードを用いてCUが符号化されるとき、LICフラグが、マージモードにおける動き情報のコピーと類似する方法で近傍のブロックからコピーされる;それ以外は、そのCUのためにLICが適用されるか否かを示すLICフラグがシグナリングされる。
ピクチャのためにLICが有効化されるとき、CUのためにLICが適用されるか否かを決定する追加のCUレベルのRDチェックが必要になる。CUのためにLICが有効化されるときは、整数ピクセル動き探索および分数ピクセル動き探索それぞれに対して、MR-SAD(Mean-Removed Sum of Absolute Difference)およびMR-SATD(Mean-Removed Sum of Absolute Hadamard-Transformed Difference)が、SADおよびSATDに代えて使用される。
符号化の複雑性を低減するために、JEMにおいては、以下の符号化スキームが適用される。
--現在のピクチャとそれの参照ピクチャの間に明白な照度変化が存在しないときは、全体のピクチャに対してLICが無効化される。この状況を識別するために、現在のピクチャおよび現在のピクチャのすべての参照ピクチャのヒストグラムが、エンコーダにおいて計算される。現在のピクチャと、現在のピクチャのすべての参照ピクチャの間におけるヒストグラムの差が所定の閾値より小さい場合には、現在のピクチャに対するLICが無効化される;それ以外の場合には、現在のピクチャに対するLICが有効化される。
2.6 アフィン動き補償予測の例
HEVCにおいては、平行移動動きモデルのみが、動き補償予測(MCP:Motion Compensation Prediction)に適用される。しかしながら、カメラおよび対象は、多くの種類の動き、例えば、ズームイン/アウト、回転、遠近運動、および/またはそのほかの不規則な動き等を有する可能性がある。これに対してJEMは、単純化したアフィン変換動き補償予測を適用する。図14は、2つの制御点動きベクトルVおよびVによって記述されるブロック1400のアフィン動きフィールドの例を示している。ブロック1400の動きベクトルフィールド(MVF:Motion Vector Field)は、次の式(1)によって記述することが可能である。
Figure 2022506161000002
図14に示されているとおり、(v0x,v0y)は、左上の角の制御点の動きベクトルであり、(v1x,v1y)は、右上の角の制御点の動きベクトルである。動き補償予測を単純化するために、サブブロックベースのアフィン変換予測を適用することが可能である。サブブロックのサイズM×Nは、次の式(2)に従って導出される。
Figure 2022506161000003
これにおいて、MvPreは、動きベクトルの分数精度(例えば、JEMにおける1/16)である。(v2x,v2y)は、式(1)に従って計算される左下側の制御点の動きベクトルである。MおよびNは、それぞれをwおよびhの除数にする必要がある場合には、下方への調整を行うことが可能である。
図15は、ブロック1500のためのサブブロック毎のアフィンMVFの例を示している。各M×Nサブブロックの動きベクトルを導出するために、各サブブロックの中心のサンプルの動きベクトルを、式(1)に従って計算し、動きベクトルの分数精度(例えば、JEMにおける1/16)に丸めることが可能である。その後、動き補償補間フィルタを適用し、各サブブロックの予測を、導出済みの動きベクトルを用いて生成することが可能である。MCPの後、各サブブロックの高い正確度の動きベクトルが丸められて、標準の動きベクトルと同じ精度が保存される。
2.6.1 AF_INTERモードの実施形態
JEMには、2つのアフィン動きモード、すなわち、AF_INTERモードおよびAF_MERGEモードが存在する。幅および高さの両方が8より大きいCUに対しては、AF_INTERモードを適用することが可能である。ビットストリーム内においてCUレベルのアフィンフラグがシグナリングされ、AF_INTERモードが使用されるか否か、が示される。AF_INTERモードにおいては、動きベクトルのペア{(v,v)|v={v,v,v},v={v,v}}を伴う候補リストが、近傍のブロックを使用して構築される。
図16は、AF_INTERモードにおけるブロック1600のための動きベクトル予測(MVP:Motion Vector Prediction)の例を示している。図16に示されているように、サブブロックA、B、またはCの動きベクトルからvが選択される。近傍のブロックからの動きベクトルは、参照リストに従ってスケーリングすることが可能である。動きベクトルは、近傍のブロックのための参照のPOC(Picture Order Count)、現在のCUのための参照のPOC、および現在のCUのPOCの間における関係に従ってスケーリングすることも可能である。近傍のサブブロックDおよびEからvを選択するアプローチも同様である。候補リストの数が2より小さい場合には、AMVP候補のそれぞれを複製することによって構成される動きベクトルのペアを用いてリストがパディングされる。候補リストが2より大きいときは、最初に、近傍の動きベクトルに従って(例えば、ペアの候補内における2つの動きベクトルの類似性に基づいて)それらの候補をソートすることが可能である。いくつかの実装においては、最初の2つの候補が維持される。いくつかの実施形態においては、RD(Rate Distortion)コストチェックが使用されて、現在のCUのCPMVP(Control Point Motion Vector Prediction)としていずれの動きベクトルのペアの候補が選択されるか、が決定される。候補リスト内のCPMVPの位置を示すインデックスは、ビットストリーム内においてシグナリングすることが可能である。現在のアフィンCUのCPMVPが決定された後、アフィン動き推定が適用され、CPMV(Control Point Motion Vector)が見つけられる。その後、CPMVとCPMVPの差が、ビットストリーム内においてシグナリングされる。
2.6.3 AF_MERGEモードの実施形態
AF_MERGEモードにおいてCUが適用されるとき、有効な近傍の再構築ブロックからアフィンモードを用いて符号化された最初のブロックが取得される。図17Aは、現在のCU1700のための候補ブロックの選択順序の例を示している。図17Aに示されているとおり、この選択順序は、現在のCU1700の左(1701)から、上(1702)、右上(1703)、左下(1704)、左上(1705)とすることが可能である。図17Bは、AF_MERGEモードにおける現在のCU1700のための候補ブロックの別の例を示している。近傍の左下のブロック1801がアフィンモードで符号化されている場合には、図17Bに示されているとおり、サブブロック1701を含むCUの左上の角、右上の角、および左下の角の動きベクトルv、v、およびvが導出される。現在のCU1700の左上の角の動きベクトルvは、v2、v3、およびv4に基づいて計算される。相応じて、現在のCUの右上の動きベクトルv1を計算することが可能である。
現在のCUのCPMV v0およびv1が、式(1)のアフィン動きモデルに従って計算された後、現在のCUのMVFを生成することが可能である。現在のCUがAF_MERGEモードを用いて符号化されているか否かを識別するために、アフィンモードで符号化されている少なくとも1つの近傍のブロックが存在するときには、ビットストリーム内においてアフィンフラグをシグナリングすることが可能である。
2.7 PMMVD(Pattern Matched Motion Vector Derivation)の例
PMMVDモードは、FRUC(Frame-Rate Up Conversion)方法に基づく特殊マージモードである。このモードを用いると、ブロックの動き情報がシグナリングされないが、デコーダ側で導出される。
FRUCフラグは、CUについて、それのマージフラグが真のときにシグナリングすることが可能である。FRUCフラグが偽のときは、マージインデックスをシグナリングすることが可能であり、通常のマージモードが使用される。FRUCフラグが真のときは、追加のFRUCモードフラグをシグナリングして、いずれの方法(例えば、バイラテラルマッチング、またはテンプレートマッチング)がそのブロックのための動き情報の導出に使用されることになるか、を示すことが可能である。
エンコーダ側においては、CUのためにFRUCマージモードを使用するか否かの判定が、通常のマージ候補のために行われるようなRDコスト選択に基づく。例えば、複数のマッチングモード(例えば、バイラテラルマッチング、およびテンプレートマッチング)が、RDコスト選択を使用することによってCUについてチェックされる。最小コストを導く1つが、さらにほかのCUモードと比較される。FRUCマッチングモードが最も効率的であるとき、そのCUのためにFRUCフラグが真に設定され、関係するマッチングモードが使用される。
通常、FRUCマージモードにおける動き導出処理は、2つのステップを有する:最初に、CUレベルの動き探索が実行され、その後に、サブCUレベルの動き精緻化が続く。CUレベルにおいては、バイラテラルマッチングまたはテンプレートマッチングに基づいてCU全体のための初期動きベクトルが導出される。最初に、MV候補のリストが生成され、最小マッチングコストを導く候補が、さらなるCUレベルの精緻化のための開始点として選択される。その後、その開始点周りのバイラテラルマッチングまたはテンプレートマッチングに基づいて局所的探索が実行される。最小マッチングコストに帰するMVが、CU全体のためのMVとして採用される。その後に続いて、その動き情報が、サブCUレベルにおいて、開始点として導出されたCU動きベクトルを用いてさらに精緻化される。
例えば、以下の導出処理が、W×HのCU動き情報導出のために実行される。第1のステージにおいて、W×HのCU全体のためのMVが導出される。第2のステージにおいて、CUが、さらにM×MのサブCUに分割される。Mの値は、式(3)のとおりに計算され、Dは、予め定義された分割の深さであり、JEMにおいては、デフォルトにより3に設定されている。その後、各サブCUのためのMVが導出される。
Figure 2022506161000004
図18は、FRUC(Frame-Rate Up Conversion)方法において使用されるバイラテラルマッチングの例を示している。バイラテラルマッチングは、現在のCUの動き情報の導出に使用され、2つの異なる参照ピクチャ(1810、1811)内の現在のCU(1800)の動きの軌跡に沿う2つのブロックの間において最も近い一致を見つけ出すことによってそれを導出する。連続する動きの軌跡の仮定の下においては、2つの参照ブロックを指し示す動きベクトルMV0(1801)およびMV1(1802)が、現在のピクチャと2つの参照ピクチャの間における時間的距離、例えば、TD0(1803)およびTD1(1804)に比例する。いくつかの実施形態においては、現在のピクチャ1800が、時間的に2つの参照ピクチャ(1810、1811)の間にあり、現在のピクチャからそれらの2つの参照ピクチャまでの時間的距離が同じであり、バイラテラルマッチングがミラーベースの双方向MVになる。
図19は、FRUC(Frame-Rate Up Conversion)方法において使用されるテンプレートマッチングの例を示している。テンプレートマッチングは、現在のCU1900の動き情報の導出に使用可能であり、現在のピクチャ内のテンプレート(例えば、現在のCUの上側および/または左側の近傍のブロック)と参照ピクチャ1910内のブロック(例えば、テンプレートと同じサイズ)の間における最も近い一致を見つけ出すことによってそれを導出する。上に述べられているFRUCマージモードを除き、テンプレートマッチングは、AMVPモードに対しても適用可能である。JEMおよびHEVCの両方において、AMVPは、2つの候補を有する。テンプレートマッチング方法を用いると、新しい候補を導出することが可能である。テンプレートマッチングによって新しく導出された候補が、最初の既存AMVP候補と異なる場合には、AMVP候補リストの一番先頭にそれが挿入され、その後、リストサイズが(例えば、2番目の既存AMVP候補を除去することによって)2に設定される。AMVPモードに適用されるときは、CUレベルの探索のみが適用される。
CUレベルにおいて設定されるMV候補は、(1)現在のCUがAMVPモードの場合には、元のAMVP候補、(2)すべてのマージ候補、および(3)補間されたMVフィールド(後述)内のいくつかのMV、および上側および左側の近傍の動きベクトルを含むことが可能である。
バイラテラルマッチングを使用するときには、マージ候補のそれぞれの有効なMVを、バイラテラルマッチングの仮定を用いてMVペアを生成する入力として使用することが可能である。例えば、マージ候補の1つの有効なMVは、参照リストAにおける(MVa,ref)である。その場合、それのペアとなるバイラテラルMVの参照ピクチャrefが、refとrefが現在のピクチャの時間的に異なる側となるように、他方の参照リストB内に見つけられる。そのようなrefが、参照リストB内において利用可能でない場合には、refが、refとは異なる参照として決定され、現在のピクチャに対するそれの時間的距離が、リストB内における最小のものになる。refが決定された後に、MVbが、現在のピクチャとref、refの間の時間的距離に基づいてMVaをスケーリングすることによって導出される。
いくつかの実装においては、補間されたMVフィールドからの4つのMVを、CUレベルの候補リストに追加することも可能である。より具体的に述べると、現在のCUの位置(0,0)、(W/2,0)、(0,H/2)、および(W/2,H/2)の補間されたMVが追加される。AMVPモードにおいてFRUCが適用されるときは、元のAMVP候補もまた、CUレベルのMV候補セットに追加される。いくつかの実装では、CUレベルにおいて、AMVP CUのための15個のMVと、マージCUのための13個のMVを、候補リストに追加することが可能である。
サブCUレベルにおけるMV候補セットは、CUレベルの探索から決定されるMV、(2)上、左、左上、および右上の近傍のMV、(3)参照ピクチャからの配置されたMVのスケーリングされたバージョン、(4)1つまたは複数のATMVP候補(例えば、最大4つ)、および(5)1つまたは複数のSTMVP候補(例えば、最大4つ)を含む。参照ピクチャからのスケーリングされたMVは、以下のとおりに導出される。両方のリスト内の参照ピクチャがトラバースされる。参照ピクチャ内のサブCUの配置された位置のMVが、開始CUレベルのMVの参照に対してスケーリングされる。ATMVPおよびSTMVP候補は、最初の4つとすることが可能である。サブCUレベルにおいて、1つまたは複数のMV(例えば、最大17)が候補リストに追加される。
補間されるMVフィールドの生成。フレームの符号化の前に、補間される動きフィールドが、ユニラテラルMEに基づいてピクチャ全体のために生成される。その場合、後に動きフィールドを、CUレベルまたはサブCUレベルのMV候補として使用することができる。
いくつかの実施形態においては、両方の参照リスト内の各参照ピクチャの動きフィールドが、4×4ブロックレベルでトラバースされる。図20は、FRUC方法におけるユニラテラル動き推定(ME:Motion Estimation)2000の例を示している。各4×4ブロックについて、そのブロックに関連付けされた動きが現在のピクチャ内の4×4ブロックを通過し、かつそのブロックが、まだいずれの補間された動きにも割り当てられていない場合には、参照ブロックの動きが、時間的距離TD0およびTD1に従って現在のピクチャに対して(HEVC内のTMVPのMVスケーリングのそれと同じ方法で)スケーリングされ、スケーリング後の動きが、現在のフレーム内のブロックに割り当てられる。4×4ブロックに割り当てられるスケーリングされたMVが存在しない場合には、ブロックの動きが、補間動きフィールド内において利用不可としてマークされる。
補間およびマッチングコスト。動きベクトルが、分数サンプル位置を指し示しているときには、動き補償された補間が必要になる。複雑性を低減するために、通常の8タップHEVC補間に代えてバイリニア補間を、バイラテラルマッチングおよびテンプレートマッチングの両方のために使用することが可能である。
マッチングコストの計算は、異なる段階においてわずかに異なる。CUレベルにおいて候補セットから候補を選択するとき、マッチングコストは、バイラテラルマッチングまたはテンプレートマッチングの差分絶対値和(SAD)とすることが可能である。開始MVが決定された後、以下のとおりに、サブCUレベルの探索におけるバイラテラルマッチングのマッチングコストCが計算される。
Figure 2022506161000005
これにおいて、wは、重み付け因子である。いくつかの実施形態においては、wを経験則的に4に設定することが可能である。MVおよびMVは、それぞれ、現在のMVおよび開始MVを示す。SADは、さらにサブCUレベルの探索におけるテンプレートマッチングのマッチングコストとして使用することができる。
FRUCモードにおいては、MVが輝度サンプルのみを使用することによって導出される。導出された動きは、MCインター予測のための輝度および彩度両方のために使用されることになる。MVが判定された後、輝度に対する8タップ補間フィルタ、および彩度に対する4タップ補間フィルタを使用して最終的なMCが実行される。
MV精緻化は、バイラテラルマッチングコスト、またはテンプレートマッチングコストの評価基準を用いるパターンベースのMV探索である。JEMにおいては、2つの探索パターン--CUレベルおよびサブCUレベルにおけるMV精緻化それぞれのための、UCBDS(Unrestricted Center-Biased Diamond Search)および適応型横断探索がサポートされている。CUおよびサブCUレベルの両方のMV精緻化について、1/4輝度サンプルのMV正確度においてMVが直接探索され、1/8輝度サンプルのMV精緻化がこれに続く。CUおよびサブCU段階のためのMV精緻化の探索範囲は、8輝度サンプルに等しく設定される。
バイラテラルマッチングマージモードにおいては、2つの異なる参照ピクチャにおける現在のCUの動き軌跡に沿った2つのブロックの間における最も近い整合に基づいてCUの動き情報が導出されることから、双方向予測が適用される。テンプレートマッチングマージモードにおいては、エンコーダが、list0からの単方向予測、list1からの単方向予測、またはCUのための双方向予測の中から選択することが可能である。選択は、以下のとおり、テンプレートマッチングコストに基づくことが可能である。
costBi≦factor*min(cost0,cost1)の場合、
双方向予測が使用される。
それ以外の場合において、cost0≦cost1の場合、
list0からの単方向予測が使用される。
それ以外は、
list1からの単方向予測が使用される。
これにおいて、cost0は、list0テンプレートマッチングのSADであり、cost1は、list1テンプレートマッチングのSADであり、costBiは、双方向予測テンプレートマッチングのSADである。例えば、因数の値が1.25に等しいとき、そのことが、選択処理が双方向予測に向かってバイアスされていることを意味する。インター予測方向選択は、CUレベルのテンプレートマッチング処理に適用することが可能である。
2.8 GBi(Generalized Bi-prediction improvement)の例
GBi(Generalized Bi-prediction improvement)が、VTM-3.0に採用されている。GBiは、双方向予測モードにおいて、L0およびL1からの予測因子に対して等しくない重みを適用する。インター予測モードにおいては、等しい重みのペア(1/2,1/2)を含む複数の重みペアが、RDO(Rate-Distortion Optimization)に基づいて評価され、選択された重みペアのGBiインデックスが、デコーダに対してシグナリングされる。マージモードにおいては、近傍のCUからGBiインデックスが受け継がれる。予測因子の生成の公式は、以下の式(5)に示されるとおりである。
Figure 2022506161000006
これにおいて、PGBiは、GBiの最終的な予測因子であり、wおよびwは、それぞれ、リスト0(L0)およびリスト1(L1)の予測因子(PL0およびPL1)に適用される選択されたGBi重みである。RoundingOffsetGBiおよびshiftNumGBiは、GBiの最終的な予測因子の正規化に使用される。サポートされているwの重みセットは、{-1/4,3/8,1/2,5/8,5/4}であり、それにおいては、これらの5つの重みが、1つの等しい重みペア、および4つの等しくない重みペアに対応する。混合利得、すなわち、wとwの和は、1.0に固定されている。したがって、対応するwの重みセットは、{5/4,5/8,1/2,3/8,-1/4}である。重みペアの選択は、CUレベルにおいて行われる。
非低遅延ピクチャについては、重みセットのサイズが5つから3つに縮小され、それにおいては、w重みセットが{3/8,1/2,5/8}となり、w重みセットが{5/8,1/2,3/8}となる。非低遅延ピクチャの重みセットのサイズ縮小は、BMS2.1 GBiおよびこの寄与におけるすべてのGBiテストに適用される。
2.8.1 GBiエンコーダのバグ修正
GBi符号化時間を短縮するために、現在のエンコーダ設計においては、エンコーダが、4/8に等しいGBi重みから推定された単方向予測動きベクトルを格納し、他のGBi重みの単方向予測探索のためにそれらを再使用する。この高速符号化方法は、平行移動動きモデルおよびアフィン動きモデルの両方に適用される。VTM2.0においては、6パラメータのアフィンモデルが、4パラメータのアフィンモデルとともに採用された。BMS2.1エンコーダは、GBi重みが4/8に等しいときの単方向予測アフィンMVの格納において、4パラメータのアフィンモデルと6パラメータのアフィンモデルを差別しない。その結果、GBi重み4/8を用いる符号化の後に、4パラメータのアフィンMVが6パラメータのアフィンMVによって上書きされてよい。格納された6パラメータのアフィンMVが、他のGBi重みのための4パラメータのアフィンMEのために使用されてもよく、または格納された4パラメータのアフィンMVが6パラメータのアフィンMEのために使用されてもよい。提案されているGBiエンコーダのバグ修正は、4パラメータと6パラメータのアフィンMVのストレージを分離する。エンコーダは、GBi重みが4/8に等しいとき、アフィンモデルタイプに基づいてこれらのアフィンMVを格納し、対応するアフィンMVを、他のGBi重みのためのアフィンモデルタイプに基づいて再使用する。
2.8.2 GBiエンコーダの高速化
この既存の実装においては、GBiが有効化されているときの符号化時間を短縮する5つのエンコーダ高速化方法が提案される。
(1)条件付きでいくつかのGBi重みのためのアフィン動き推定をスキップ
BMS2.1においては、4パラメータおよび6パラメータ・アフィンMEを含むアフィンMEが、すべてのGBi重みのために実行される。発明者らは、条件付きで、これらの等しくないGBi重み(4/8に等しくない重み)のためのアフィンMEをスキップすることを提案する。具体的には、4/8のGBi重みの評価後において、アフィンモードが現在の最良モードとして選択され、かつそれがアフィンマージモードではない場合だけに限って、他のGBi重みのためにアフィンMEが実行されることになる。現在のピクチャが非低遅延ピクチャである場合には、アフィンMEが実行されるとき、等しくないGBi重みのために、平行移動モデルのための双方向予測MEがスキップされることになる。現在の最良モードとしてアフィンモードが選択されないか、または現在の最良モードとしてアフィンマージが選択される場合においては、アフィンMEが、他のすべてのGBi重みについてスキップされることになる。
(2)1ピクセルおよび4ピクセルMVD精度のための符号化における低遅延ピクチャについてのRDコストチェック用の重みの数の低減
低遅延ピクチャについては、1/4ピクセル、1ピクセル、および4ピクセルを含むすべてのMVD精度のためのRDコストチェック用に5つの重みが存在する。エンコーダは、最初に1/4ペルMVD精度のためのRDコストをチェックすることになる。発明者らは、1ピクセルおよび4ピクセルMVD精度のためのRDコストチェック用のGBi重みの部分をスキップすることを提案する。発明者らは、それらの1/4ピクセルMVD精度におけるRDコストに従ってこれらの等しくない重みを整える。GBi重み4/8とともに、最も小さいRDコストを伴う最初の2つの重みだけが、1ピクセルおよび4ピクセルMVD精度における符号化の間に評価されることになる。したがって、低遅延ピクチャについては、1ピクセルおよび4ピクセルMVD精度のために、多くとも3つの重みが評価されることになる。
(3)L0およびL1参照ピクチャが同一のとき、双方向予測探索を条件付きでスキップ
RA内のいくつかのピクチャについては、両方の参照ピクチャリスト(リスト0およびリスト1)内に同一のピクチャが生じることがある。例えば、CTCにおけるランダムアクセス符号化構成の場合、第1のGOP(Group Of Pictures)のための参照ピクチャ構造が以下のとおりにリストされる。
POC:16,TL:0,[L0:][L1:
POC:8,TL:1,[L0: 16][L1:16
POC:4,TL:2,[L0:0 ][L1: 16]
POC:2,TL:3,[L0:0 ][L1: 8]
POC:1,TL:4,[L0:0 ][L1: 4]
POC:3,TL:4,[L0:2 0][L1: 8]
POC:6,TL:3,[L0:4 0][L1:8 16]
POC:5,TL:4,[L0:4 0][L1:6 8]
POC:7,TL:4,[L0:6 4][L1:8 16]
POC:12,TL:2,[L0: 0][L1:16
POC:10,TL:3,[L0:8 0][L1:12 16]
POC:9,TL:4,[L0:8 0][L1:10 12]
POC:11,TL:4,[L0:10 8][L1:12 16]
POC:14,TL:3,[L0:12 8][L1:12 16]
POC:13,TL:4,[L0:12 8][L1:14 16]
POC:15,TL:4,[L0:14 12][L1:16 14
ピクチャ16、8、4、2、1、12、14、および15が、両方のリスト内に同じ参照ピクチャ(1つまたは複数)を有している。これらのピクチャのための双方向予測については、L0およびL1の参照ピクチャが同一である可能性がある。発明者らは、1)双方向予測における2つの参照ピクチャが同一であり、2)時間レイヤが1より大きく、3)MVD精度が1/4ピクセルのとき、エンコーダが、等しくないGBi重みのための双方向予測MEをスキップすることを提案する。アフィン双方向予測MEについては、この高速スキップ方法が、4パラメータのアフィンMEに対してだけ適用される。
(4)時間レイヤおよび、参照ピクチャと現在のピクチャの間におけるPOC距離に基づいて、等しくないGBi重みのためのRDコストチェックをスキップ
発明者らは、時間レイヤが4に等しいか(RA内における最も高い時間レイヤ)、または参照ピクチャ(リスト0またはリスト1のいずれか)と現在のピクチャの間におけるPOC距離が1に等しく、かつ符号化QPが32より大きい場合に、これらの等しくないGBi重みのためのRDコスト評価をスキップすることを提案する。
(5)MEの間においては、等しくないGBi重みのための浮動小数点演算を固定小数点演算に変更
既存の双方向予測探索については、エンコーダが、一方のリストのMVを固定し、他方のリスト内のMVを精緻化することになる。MEの前にターゲットが修正されて、計算の複雑性が低減される。例えば、リスト1のMVが固定され、エンコーダがリスト0のMVを精緻化することになる場合には、リスト0のMV精緻化のためのターゲットが、式(6)を用いて修正される。Oは、元の信号であり、Pは、リスト1の予測信号であり、wは、リスト1のためのGBi重みである。
Figure 2022506161000007
これにおいて、項(1/(8-w))は、浮動小数点精度で格納され、それが計算の複雑性を増加する。発明者らは、式(6)を式(7)のとおりに固定小数点に変更することを提案する。
Figure 2022506161000008
これにおいて、aおよびaは、スケーリング因子であり、次のとおりに計算される。
Figure 2022506161000009
2.8.3 GBiのためのCUサイズ制約
この方法においては、小さいCUのためにGBiが無効化される。インター予測モードにおいては、双方向予測が使用され、かつCUエリアが128輝度サンプルより小さい場合に、何らかのシグナリングを伴うことなくGBiが無効化される。
2.9 BDOF(Bi-Directional Optical Flow)の例
双方向オプティカルフロー(BDOFまたはBIO)においては、動き補償が最初に実行されて、現在のブロックの最初の予測が(各予測方向において)生成される。この最初の予測は、各サブブロックまたはブロック内のピクセルの空間的勾配、時間的勾配、およびオプティカルフローの導出に使用され、その後それらが使用されて、2番目の予測、例えば、そのサブブロックまたはピクセルの最終的な予測が生成される。詳細は、以下のとおりに記述される。
BDOFは、双方向予測のためのブロック単位の動き補償の先頭に実施されるサンプル単位の動きの精緻化である。いくつかの実装においては、サンプルレベルの動き精緻化がシグナリングを使用しない。
ブロック動き補償後の参照k(k=0,1)からの輝度値をI(k)とし、∂I(k)/∂x、および∂I(k)/∂yを、それぞれI(k)勾配の水平および垂直成分として示す。オプティカルフローが有効であると仮定すると、動きベクトルフィールド(v,v)が次のとおりに与えられる:
Figure 2022506161000010
このオプティカルフロー式と各サンプルの動き軌跡のためのエルミート補間とを組み合わせると、最終的に、関数値I(k)、ならびに導関数∂I(k)/∂xおよび∂I(k)/∂yの両方に整合する一意的な三次多項式が結果として得られる。t=0におけるこの多項式の値がBDOF予測である:
Figure 2022506161000011
図24は、BDOF(Bi-Directional Optical Flow)方法における一例のオプティカルフロー軌跡を示している。ここでは、τおよびτが、参照フレームに対する距離を示す。距離τおよびτは、RefおよびRefのためのPOCに基づいて計算される:τ=POC(current)-POC(Ref)、τ=POC(Ref)-POC(current)。両方の予測が同じ時間方向から(両方が過去から、または両方が未来から)到来する場合には、符号が異なる(例えば、τ・τ<0)。この場合において、予測が同じ時間モーメントからでない(例えば、τ≠τ)場合には、BDOFが適用される。両方の参照される領域は、非ゼロの動き(例えば、MVx0,MVy0,MVx1,MVy1≠0)を有し、ブロック動きベクトルは、時間距離に比例する(例えば、MVx0/MVx1=MVy0/MVy1=-τ/τ)。
動きベクトルフィールド(v,v)は、点AとBにおける値の間の差Δを最小化することによって決定される。図9A~図9Bは、動き軌跡および参照フレーム平面の交差の例を示している。モデルは、Δについての局所的テーラー展開の最初の線形項のみを使用する:
Figure 2022506161000012
上の式のすべての値は、(i’,j’)として示されるサンプルの位置に依存する。動きが、局所的に取り囲むエリア内において一貫していると仮定すると、Δを、現在の予測されているポイント(i,j)に中心を置く(2M+1)×(2M+1)の正方形の窓Ωの内側に最小化することが可能であり、それにおいてMは2に等しい:
Figure 2022506161000013
この最適化問題のために、JEMは、最初に垂直方向において、その後、水平方向において最小化を行う単純化のアプローチを使用する。この結果は、以下のとおりとなる。
Figure 2022506161000014
Figure 2022506161000015
Figure 2022506161000016
ゼロまたは非常に小さい値による除算を回避するために、式(9)および式(10)に正則化パラメータrおよびmを導入することが可能である。
Figure 2022506161000017
Figure 2022506161000018
これにおいて、dは、映像サンプルのビット深度である。
BDOFのためのメモリアクセスを、通常の双方向予測動き補償のためのそれと同じに維持するために、すべての予測および勾配値、I(k),∂I(k)/∂x,∂I(k)/∂yが、現在のブロックの内側の位置について計算される。図22Aは、ブロック2200の外側のアクセス位置の例を示している。図22Aに示されているとおり、式(9)において、予測ブロックの境界上の現在の予測点に中心を置く(2M+1)×(2M+1)の正方形の窓Ωは、ブロックの外側の位置にアクセスする必要がある。JEMにおいては、ブロックの外側のI(k),∂I(k)/∂x,∂I(k)/∂yの値が、そのブロックの内側の最も近い利用可能な値に等しく設定される。例えば、これは、図22Bに示されるとおり、パディングエリア2201として実装することが可能である。
BDOFを用いると、各サンプルについて動きフィールドを精緻化できる可能性がある。計算の複雑性を低減するために、JEMにおいては、ブロックベースのBDOFの設計が使用される。動きの精緻化は、4×4ブロックに基づいて計算することが可能である。ブロックベースのBDOFにおいては、4×4ブロック内のすべてのサンプルの式(9)のsの値を集計することが可能であり、その後、集計したsの値が、4×4ブロックのためのBDOF動きベクトルオフセットの導出に使用される。より具体的に述べれば、ブロックベースのBDOFの導出のために以下の公式を使用することが可能である:
Figure 2022506161000019
これにおいて、bは、予測されるブロックのk番目の4×4ブロックに属するサンプルのセットを示す。式(9)および式(10)のsは、((sn,bk)>>4)によって置換され、関連付けされた動きベクトルオフセットが導出される。
いくつかのシナリオにおいては、BIOのMVレジメントが、ノイズまたは不規則な動きに起因して信頼できないことがある。したがって、BDOFにおいては、MVレジメントの大きさが閾値にクリップされる。閾値は、現在のピクチャの参照ピクチャが、すべて1つの方向からのものであるか否かに基づいて決定される。例えば、現在のピクチャの参照ピクチャが、すべて1つの方向からのものである場合には、閾値が、12×214-dに設定され、それ以外の場合には、12×213-dに設定される。
BDOFのための勾配は、HEVC動き補償処理(例えば、2D分離可能なFIR(Finite Impulse Response))と調和する演算を使用して動き補償補間と同時に計算することが可能である。いくつかの実施形態においては、2D分離可能なFIRのための入力が、動き補償処理のためのそれと同じ参照フレームサンプル、およびブロック動きベクトルの分数部分に従った分数位置(fracX,fracY)である。水平勾配∂I/∂xについては、信号が最初に、逆スケーリングシフトd-8を伴う分数位置fracYに対応するBIOfilterSを使用して垂直に補間される。その後、18-dによる逆スケーリングシフトを伴う分数位置fracXに対応して、勾配フィルタBIOfilterGが水平方向に適用される。垂直勾配∂I/∂yについては、逆スケーリングシフトd-8を伴う分数位置fracYに対応するBIOfilterGを使用して勾配フィルタが垂直に適用される。その後、18-dによる逆スケーリングシフトを伴う分数位置fracXに対応して、水平方向にBIOfilterSを使用して信号変位が実行される。勾配計算のための補間フィルタのBIOfilterGおよび信号変位BIOfilterFの長さは、複雑性を妥当に維持するために、より短く(例えば、6タップ)することが可能である。表1は、BDOFにおけるブロック動きベクトルの種々の分数位置の勾配計算のために使用することが可能なフィルタの例を示している。表2は、BIOにおける予測シグナル生成のために使用することが可能な補間フィルタの例を示している。
Figure 2022506161000020
Figure 2022506161000021
JEMにおいては、2つの予測が異なる参照ピクチャからのものであるとき、双方向予測されるすべてのブロックに対してBDOFを適用することが可能である。LIC(Local Illumination Compensation)がCUのために有効化されているときには、BDOFを無効化することが可能である。
いくつかの実施形態においては、通常のMC処理後のブロックにOBMCが適用される。計算の複雑性を低減するために、OBMC処理の間は、BDOFが適用されなくてもよい。このことは、BDOFが、それ独自のMVの使用時には、ブロックのためのMC処理において適用され、OBMC処理の間に近傍のブロックのMVが使用されるときには、MC処理において適用されないことを意味する。
2.9.1 VTM-3.0におけるBDOFの例
ステップ1:BIOが適用可能か否かの判断(W/Hは、現在のブロックの幅/高さ)
BIOは、以下の場合に適用可能でない:
〇現在の映像ブロックがアフィン符号化されているか、またはATMVP符号化されている
〇(iPOC-iPOC)×(iPOC-iPOC)≧0
〇H==4、または(W==4、かつH==8)
〇重み付け予測を伴う
〇GBi重みが(1,1)でない
BDOFは、2つの参照ブロック(RおよびRとして示される)の間における合計のSADが、閾値より小さい場合、すなわち以下の場合に使用されない:
Figure 2022506161000022
ステップ2:データの準備
W×Hブロックについて、(W+2)×(H+2)個のサンプルが補間される。
内側のW×H個のサンプルは、通常の動き補償と同様に、8タップの補間フィルタを用いて補間される。
4つの側辺の外側のサンプルのライン(図23の黒丸)が、バイリニアフィルタを用いて補間される。
各位置について、2つの参照ブロック(RおよびR)上において勾配が計算される。
Gx0(x,y)=(R0(x+1,y)-R0(x-1,y))>>4
Gy0(x,y)=(R0(x,y+1)-R0(x,y-1))>>4
Gx1(x,y)=(R1(x+1,y)-R1(x-1,y))>>4
Gy1(x,y)=(R1(x,y+1)-R1(x,y-1))>>4
各位置について、内部の値が以下のとおりに計算される:
T1=(R0(x,y)>>6)-(R1(x,y)>>6)、T2=(Gx0(x,y)+Gx1(x,y))>>3、T3=(Gy0(x,y)+Gy1(x,y))>>3;および、
B1(x,y)=T2*T2、B2(x,y)=T2*T3、B3(x,y)=-T1*T2、B5(x,y)=T3*T3、B6(x,y)=-T1*T3
ステップ3:各ブロックのための予測の計算
2つの4×4参照ブロックの間のSADが閾値より小さい場合には、4×4ブロックのためのBDOFがスキップされる。
VxおよびVyを計算する。
4×4ブロック内の各位置のための最終的な予測を計算する。
b(x,y)=(Vx(Gx(x,y)-Gx(x,y))+Vy(Gy(x,y)-Gy(x,y))+1)>>1
P(x,y)=(R(x,y)+R(x,y)+b(x,y)+offset)>>shift
これにおいて、b(x,y)は、訂正項として知られる。
2.9.2 VTM-3.0におけるBDOF(またはBIO)の代替例
8.3.4 インターブロックのための復号化処理
--predFlagL0およびpredFlagL1が1に等しく、DiffPicOrderCnt(currPic,refPicList0[refIdx0])*DiffPicOrderCnt(currPic,refPicList1[refIdx1])<0、MotionModelIdc[xCb][yCb]が0に等しく、かつMergeModeList[merge_idx[xCb][yCb]]がSbColに等しくない場合、bioAvailableFlagの値を真に設定する。
--それ以外の場合には、bioAvailableFlagの値を偽に設定する。
--bioAvailableFlagが真に等しければ、以下が適用される:
--変数shiftが、Max(2,14-bitDepth)に等しく設定される。
--変数cuLevelAbsDiffThresおよびsubCuLevelAbsDiffThresが、(1<<(bitDepth-8+shift))*cbWidth*cbHeightおよび1<<(bitDepth-3+shift)に等しく設定される。変数cuLevelSumAbsoluteDiffが、0に設定される。
--xSbIdx=0から・・(cbWidth>>2)-1まで、およびySbIdx=0から・・(cbHeight>>2)-1までについて、現在のサブブロックの変数subCuLevelSumAbsoluteDiff[xSbIdx][ySbIdx]および双方向オプティカルフロー利用フラグbioUtilizationFlag[xSbIdx][ySbIdx]が以下のとおりに導出される:
subCuLevelSumAbsoluteDiff[xSbIdx][ySbIdx]=ΣΣAbs(predSamplesL0L[(xSbIdx<<2)+1+i][(ySbIdx<<2)+1+j]-predSamplesL1L[(xSbIdx<<2)+1+i][(ySbIdx<<2)+1+j])、ただし、i,j=0・・・3
bioUtilizationFlag[xSbIdx][ySbIdx]=subCuLevelSumAbsoluteDiff[xSbIdx][ySbIdx]>=subCuLevelAbsDiffThres
cuLevelSumAbsoluteDiff+=subCuLevelSumAbsoluteDiff[xSbIdx][ySbIdx]
--cuLevelSumAbsoluteDiffがcuLevelAbsDiffThresより小さい場合には、bioAvailableFlagを偽に設定する。
--bioAvailableFlagが真に等しい場合には、現在の輝度符号化サブブロックの内側の予測サンプル、predSamplesL[xL+xSb][yL+ySb]、ただし、xL=0・・・sbWidth-1、かつyL=0・・・sbHeight-1、が、輝度符号化サブブロック幅sbWidth、輝度符号化サブブロック高さsbHeight、およびサンプル配列predSamplesL0LおよびpredSamplesL1L、および変数predFlagL0、predFlagL1、refIdxL0、refIdxL1を用いて、第8.3.4.5節に指定されている双方向オプティカルフローサンプル予測処理を呼び出すことによって導出される。
8.3.4.3 分数標本補間処理
8.3.4.3.1 全般
この処理に対する入力は:
-現在のピクチャの上左側の輝度サンプルに関する現在の符号化サブブロックの上左側標本を指定する輝度位置(xSb,ySb)、
-輝度サンプル内の現在の符号化サブブロックの幅を指定する変数sbWidth、
-輝度サンプル内の現在の符号化サブブロックの高さを指定する変数sbHeight、
-1/16輝度サンプル単位で与えられる輝度動きベクトルmvLX、
-1/32彩度サンプル単位で与えられる彩度動きベクトルmvCLX、
-選択された参照ピクチャサンプル配列refPicLXLおよび配列refPicLXCbおよびrefPicLXCr、
-双方向オプティカルフロー有効化フラグbioAvailableFlag、
である。
この処理の出力は:
-bioAvailableFlagが偽のときの予測輝度サンプル値の(sbWidth)×(sbHeight)配列predSamplesLXL、またはbioAvailableFlagが真のときの予測輝度サンプル値の(sbWidth+2)×(sbHeight+2)配列のpredSamplesLXL、
-予測彩度サンプル値の2つの(sbWidth/2)×(sbHeight/2)配列predSamplesLXCbおよびpredSamplesLXCr、
である。
(xIntL,yIntL)をフルサンプル単位で与えられる輝度位置とし、(xFracL,yFracL)を、1/16サンプル単位で与えられるオフセットとする。これらの変数は、参照サンプル配列refPicLXL、refPicLXCb、およびrefPicLXCrの内側の分数サンプル位置を指定するために、この節内においてのみ使用される。
bioAvailableFlagが真に等しいときは、予測輝度サンプル配列predSamplesLXLの内側の各輝度サンプル位置(xL=-1・・・sbWidth,yL=-1・・・sbHeight)について、対応する予測輝度サンプル値predSamplesLXL[xL][yL]が、以下のとおりに導出される:
-変数xIntL、yIntL、xFracL、およびyFracLは、次のとおりに導出される:
xIntL=xSb-1+(mvLX[0]>>4)+xL
yIntL=ySb-1+(mvLX[1]>>4)+yL
xFracL=mvLX[0]&15
yFracL=mvLX[1]&15
-bilinearFiltEnabledFlagの値は、次のとおりに導出される:
-xLが-1またはsbWidthに等しいか、またはyLが-1またはsbHeightに等しい場合には、bilinearFiltEnabledFlagの値を真に設定する。
-それ以外の場合には、bilinearFiltEnabledFlagの値を偽に設定する。
-予測輝度サンプル値predSamplesLXL[xL][yL]は、(xIntL,yIntL)、(xFracL,yFracL)、refPicLXL、およびbilinearFiltEnabledFlagを入力として用いて、8.3.4.3.2節に指定されている処理を呼び出すことによって導出される。
bioAvailableFlagが偽に等しいときは、予測輝度サンプル配列predSamplesLXLの内側の各輝度サンプル位置(xL=0・・・sbWidth-1,yL=0・・・sbHeight-1)について、対応する予測輝度サンプル値predSamplesLXL[xL][yL]が、以下のとおりに導出される:
-変数xIntL、yIntL、xFracL、およびyFracLは、次のとおりに導出される:
xIntL=xSb+(mvLX[0]>>4)+xL
yIntL=ySb+(mvLX[1]>>4)+yL
xFracL=mvLX[0]&15
yFracL=mvLX[1]&15
-変数bilinearFiltEnabledFlagは、偽に設定される。
-予測輝度サンプル値predSamplesLXL[xL][yL]は、(xIntL,yIntL)、(xFracL,yFracL)、refPicLXL、およびbilinearFiltEnabledFlagを入力として用いて、8.3.4.3.2節に指定されている処理を呼び出すことによって導出される。
8.3.4.5 双方向オプティカルフロー(BDOFまたはBIO)予測処理
この処理に対する入力は:
-現在の符号化ブロックの幅および高さを指定する2つの変数nCbWおよびnCbH、
-2つの(nCbW+2)×(nCbH+2)輝度予測サンプル配列のpredSamplesL0およびpredSamplesL1、
-予測リスト利用フラグのpredFlagL0およびpredFlagL1、
-参照インデックスのrefIdxL0およびrefIdxL1、
-双方向オプティカルフロー利用フラグのbioUtilizationFlag[xSbIdx][ySbIdx]、xSbIdx=0..(nCbW>>2)-1、ySbIdx=0..(nCbH>>2)-1、
である。
この処理の出力は、輝度予測サンプル値の(nCbW)×(nCbH)配列、pbSamplesである。
変数bitDepthは、BitDepthYに等しく設定される。
変数shift2は、Max(3,15-bitDepth)に等しく設定され、変数offset2は、1<<(shift2-1)に等しく設定される。
変数mvRefineThresは、1<<(13-bitDepth)に等しく設定される。
xSbIdx=0から(nCbW>>2)-1まで、およびySbIdx=0から(nCbH>>2)-1までにおいて、
-bioUtilizationFlag[xSbIdx][ySbIdx]が偽の場合には、x=xSb・・・xSb+3、およびy=ySb・・・ySb+3について、現在の予測ユニットの予測サンプル値が、以下のとおりに導出される:
pbSamples[x][y]=Clip3(0,(1<<bitDepth)-1,
(predSamplesL0[x][y]+predSamplesL1[x][y]+offset2)>>shift2)
-それ以外の場合には、現在の予測ユニットの予測サンプル値が、以下のとおりに導出される:
予測サンプル配列predSamplesL0およびpredSampleL1の上左のサンプルに関する現在のサブブロックの上左側サンプルを指定する位置(xSb,ySb)が、次のとおりに導出される:
xSb=(xSbIdx<<2)+1
ySb=(ySbIdx<<2)+1
-x=xSb-1からxSb+4まで、およびy=ySb-1からySb+4までにおいて、以下が適用される:
-予測サンプル配列の内側の対応するサンプル(x,y)のそれぞれについての位置(hx,vy)が、次のとおりに導出される:
hx=Clip3(1,nCbW,x)
vy=Clip3(1,nCbH,y)
-変数のgradientHL0[x][y]、gradientVL0[x][y]、gradientHL1[x][y]、およびgradientVL1[x][y]が、次のとおりに導出される:
gradientHL0[x][y]=(predSamplesL0[hx+1][vy]-predSampleL0[hx-1][vy])>>4
gradientVL0[x][y]=(predSampleL0[hx][vy+1]-predSampleL0[hx][vy-1])>>4
gradientHL1[x][y]=(predSamplesL1[hx+1][vy]-predSampleL1[hx-1][vy])>>4
gradientVL1[x][y]=(predSampleL1[hx][vy+1]-predSampleL1[hx][vy-1])>>4
-変数のtemp、tempX、およびtempYが、次のとおりに導出される:
temp[x][y]=(predSamplesL0[hx][vy]>>6)-(predSamplesL1[hx][vy]>>6)
tempX[x][y]=(gradientHL0[x][y]+gradientHL1[x][y])>>3
tempY[x][y]=(gradientVL0[x][y]+gradientVL1[x][y])>>3
-変数のsGx2、sGy2、sGxGy、sGxdI、およびsGydIが、次のとおりに導出される:
sGx2=ΣΣ(tempX[xSb+x][ySb+y]*tempX[xSb+x][ySb+y])、ただし、x,y=-1・・・4
sGy2=ΣΣ(tempY[xSb+x][ySb+y]*tempY[xSb+x][ySb+y])、ただし、x,y=-1・・・4
sGxGy=ΣΣ(tempX[xSb+x][ySb+y]*tempY[xSb+x][ySb+y])、ただし、x,y=-1・・・4
sGxdI=ΣΣ(-tempX[xSb+x][ySb+y]*temp[xSb+x][ySb+y])、ただし、x,y=-1・・・4
sGydI=ΣΣ(-tempY[xSb+x][ySb+y]*temp[xSb+x][ySb+y])、ただし、x,y=-1・・・4
-現在のサブブロックの水平および垂直の動き精緻化が、次のとおりに導出される:
vx=sGx2>0?Clip3(-mvRefineThres,mvRefineThres,-(sGxdI<<3)>>Floor(Log2(sGx2))):0
vy=sGy2>0?Clip3(-mvRefineThres,mvRefineThres,((sGydI<<3)-((vx*sGxGym)<<12+vx*sGxGys)>>1)>>Floor(Log2(sGy2))):0
sGxGym=sGxGy>>12;
sGxGys=sGxGy&((1<<12)-1)
x=xSb-1からxSb+2まで、およびy=ySb-1からySb+2までにおいて、以下が適用される:
sampleEnh=Round((vx*(gradientHL1[x+1][y+1]-gradientHL0[x+1][y+1]))>>1)+Round((vy*(gradientVL1[x+1][y+1]-gradientVL0[x+1][y+1]))>>1)
pbSamples[x][y]=Clip3(0,(1<<bitDepth)-1,(predSamplesL0[x+1][y+1]+predSamplesL1[x+1][y+1]+sampleEnh+offset2)>>shift2)
2.10 DMVR(Decoder-side Motion Vector Refinement)の例
双方向予測演算においては、1つのブロック領域の予測のためにそれぞれ、list0の動きベクトル(MV)およびlist1のMVを使用して形成される2つの予測ブロックが組み合わされて単一の予測シグナルが形成される。DMVR(Decoder-side Motion Vector Refinement)方法においては、双方向予測の2つの動きベクトルが、さらに、バイラテラルテンプレートマッチング処理によって精緻化される。デコーダにおいて適用されるバイラテラルテンプレートマッチングは、追加の動き情報の伝達を伴うことなく精緻化されたMVを獲得するために、バイラテラルテンプレートと参照ピクチャ内の再構築サンプルの間において歪みベースの探索を実行する。
DMVRにおいては、バイラテラルテンプレートが、図24に示されているとおり、それぞれ、list0の初期MV0およびlist1のMV1からの2つの予測ブロックの重み付けされた組み合わせ(すなわち、平均)として生成される。テンプレートマッチング演算は、生成されたテンプレートと参照ピクチャ内の(初期予測ブロック周りの)サンプル領域の間におけるコスト測度の計算からなる。2つの参照ピクチャのそれぞれについて、最小テンプレートコストをもたらしたMVが、そのリストのアップデート後のMVとして考慮されて、元のそれと置き換わる。JEMにおいては、それぞれのリストについて、9つのMV候補が探索される。これらの9つのMV候補は、元のMVと、元のMVに対する水平または垂直いずれか、または両方の方向における1輝度サンプルオフセットを伴って周囲を取り囲む8つのMVを含む。最後に、2つの新しいMV、すなわち、図24に示されているとおりのMV0′およびMV1′が、最終的な双方向予測結果を生成するために使用される。コスト測度として、差分絶対値和(SAD)が使用される。なお、1つの周囲を取り囲むMVによって生成される予測ブロックのコストを計算するとき、実際には、(整数ピクセルに)丸められたMVが実際のMVに代えて使用されて、予測ブロックが獲得される。
DMVRは、追加の構文要素の伝達を伴うことなく、一方のMVは、過去の参照ピクチャから、他方は、未来の参照ピクチャからとする双方向予測のマージモードのために適用される。JEMにおいては、LIC、アフィン動き、FRUC、またはサブCUマージ候補がCUのために有効化されているときには、DMVRが適用されない。
3. 開示されている技術に関係する例示的な実施形態
3.1 CCLM(Cross-Component Linear Model)予測の例
交差成分の冗長性を低減するために、LMとしても知られるCCLM予測モードがJEMにおいて使用され、それにおいては、以下のとおり、線形モデルを使用することによって、同じCUの再構築された輝度サンプルに基づいて彩度サンプルが予測される:
Figure 2022506161000023
これにおいて、pred(i,j)は、CU内の予測される彩度サンプルを表し、rec’(i,j)は、色フォーマットが4:2:0または4:2:2のときには同じCUのダウンサンプリングされた再構築後の輝度サンプルを表すが、色フォーマットが4:4:4のときには、rec’(i,j)は、同じCUの再構築後の輝度サンプルを表す。CCLMパラメータαおよびβは、現在のブロック周りの近傍の再構築後の輝度および彩度サンプルの間における回帰誤差を最小化することによって次のとおりに導出される:
Figure 2022506161000024
Figure 2022506161000025
これにおいて、L(n)は、ダウンサンプリングされた(色フォーマットが4:2:0または4:2:2のとき)または元の(色フォーマットが4:4:4のとき)上側および左側の近傍の再構築後の輝度サンプルを表し、C(n)は、上側および左側の近傍の再構築後の彩度サンプルを表し、Nの値は、現在の彩度符号化ブロックの幅および高さのうちの最小値の2倍に等しい。正方形状の符号化ブロックについては、上の2つの式が直接適用される。非正方形の符号化ブロックについては、より長い方の境界の近傍のサンプルが、より短い方の境界のためのサンプルと同数を有するべく最初にサブサンプリングされる。図25は、CCLMモードに関係する左側および上側の再構築されたサンプル、および現在ブロックのサンプルの位置を示している。
この回帰誤差最小化の計算は、エンコーダ探索演算だけでなく、復号化処理の一部として実行され、したがって、αおよびβ値の伝達に構文は使用されない。また、CCLM予測モードは、2つの彩度成分の間における予測も含み、すなわち、Cr成分がCb成分から予測される。残部の領域には、再構築されたサンプル信号を使用することに代えて、CCLMのCbからのCr予測が適用される。これは、重み付けされた再構築後のCb残部を元のCrイントラ予測に加えて、最終的なCr予測を形成することによって実装される:
Figure 2022506161000026
これにおいて、resiCb’(i,j)は、位置(i,j)における再構築後のCb残留サンプルを示す。
スケーリング因子αは、CCLMの輝度からの彩度予測における方法と類似の形で導出される。唯一の相違は、以下のとおり、導出されたスケーリング因子が-0.5のデフォルト値に向けてバイアスされるように、誤差関数におけるデフォルトのα値に関して回帰コストが加算されることである:
Figure 2022506161000027
これにおいて、Cb(n)は、近傍の再構築されたCbサンプルを表し、Cr(n)は、近傍の再構築されたCrサンプルを表し、λは、Σ(Cb(n)・Cb(n))>>9に等しい。
CCLMの輝度からの彩度予測モードは、1つの追加の彩度イントラ予測モードとして追加される。エンコーダ側においては、彩度成分のための追加の1つのRDコストチェックが、彩度イントラ予測モードを選択するために追加される。CCLMの輝度からの彩度予測モード以外のイントラ予測モードがCUの彩度成分のために使用されるときには、CCLMのCbからのCr予測が、Cr成分の予測のために使用される。
3.2 単純化したCCLMの例
いくつかの既存の実装においては、線形モデルのパラメータαおよびβのLMSアルゴリズムが、直線の式によって置き換えられる。2つのポイント(輝度および彩度の対)(A,B)は、図26に図示されているとおり、隣接する輝度サンプルのセットの内側の最小値および最大値である。これにおいて、線形モデルのパラメータαおよびβは、以下に従って取得される:
Figure 2022506161000028
除算は、乗算およびシフトによって回避し、置き換えられてもよい。
彩度予測因子を導出するために、現在のVTM実装に関して、以下のとおり、乗算を整数演算によって置き換える:
Figure 2022506161000029
さらに、その実装は、また、シフトSが常に同一の値を有することから、現在のVTM実装より単純でもある。複雑性に関して言えば、提案されているアルゴリズムは、次の表に示されているとおり、演算の数を低減する:
Figure 2022506161000030
演算の数は低減されるが、提案されている方法は、近傍のサンプルの最小および最大の輝度値を取得するためにいくつかの比較を必要とする。
4. 既存の実装の欠点
いくつかの既存の実装は、以下の欠点を抱えている。
(1)BIOおよびCCLMは、両方ともに線形回帰を必要とするが、単純化の方法が異なる。
(2)VTMにおけるBIO実装は、POC距離を考慮しない。
(3)Ref0上の速度は、v (0)およびv (0)として示される。Ref1上の速度は、v (1)およびv (1)として示される。現在のBIO設計においては、2つの参照ピクチャ上の速度が、v (1)=-v (0)=vおよびv (1)=-v (0)=v(または、v (1)=v (0)=vおよびv (1)=v (0)=v)であるようにミラーリングされることが前提とされる。しかしながら、この前提が真でないことがあり得る。
(4)BIOにおける速度vおよびvの導出が過度に単純化されている。
(5)BIOにおけるvおよびvの導出は、DMVRまたはデコーダ側の動き導出と組み合わせることが可能である。
(6)vおよびvがわかれば、Ref0/Ref1上の予測/勾配をさらに精緻化されてよい。
(7)追加の補間フィルタ(バイリニアフィルタ)が、ピクセルおよび境界の補間に導入される。
(8)いくつかの丸めおよびクリッピング演算が、BIO手順の中に見当たらない。
(9)内部演算の精度がさらに下げられることが可能である。
(10)BIOのためのSADの計算を単純化することが可能である。
(11)GBiが適用されるとき、値の重み付けが、BIO導出手順の中で適切に考慮されない。
5. 精緻化を伴うインター予測のための方法の例
現在開示されている技術の実施形態は、既存の実装の欠点を克服し、BIOおよびCCLMにおける線形回帰手順を調和させ、BIOの修正を提案し、それによってより高い符号化効率を伴う映像符号化を提供する。開示されている技術に基づく線形モード予測の調和は、既存および将来両方の映像符号化標準を強化することができ、それは、以下の多様な実装のために記述されている例の中で明瞭になる。以下に提供される開示されている技術の例は、一般概念を説明するものであり、限定として解釈されることを意味しない。例においては、別段の記載が明示的に示されていない限り、これらの例の中に記述された多様な特徴を組み合わせることができる。
リスト0およびリスト1からの現在のピクチャの参照ピクチャを、それぞれRef0およびRef1によって示し、τ=POC(current)-POC(Ref0)、τ=POC(Ref1)-POC(current)と示し、Ref0およびRef1からの現在のブロックの参照ブロックを、それぞれrefblk0およびrefblk1によって示す。現在のブロック内のサブブロックについて、refblk1を指し示すrefblk0内のその対応するサブブロックのMVを、(v,v)によって示す。Ref0およびRef1内のサブブロックのMVを、それぞれ、(mvL0,mvL0)および(mvL1,mvL1)によって示す。
Shift(x,s)は、Shift(x,s)=(x+off)>>sとして定義される。
SignShift(x,s)は、次のとおりに定義される:
Figure 2022506161000031
これにおいて、offは、整数のオフセット、例えば、0または2s-1を表す。
Clip3(x,min,max)は、次のとおりに定義される:
Figure 2022506161000032
例1。BIO内において使用される線形最適化モジュールが、映像符号化システム内の他の符号化ツールによって使用されることが可能であることが提案される。
(a)線形最適化モジュールは、kを0からN-1までとする入力、2つのパラメータaおよびbを出力として、以下の式が最小化または概略最小化が可能となるようなサンプルのグループ(u,v,w)を含む。
Figure 2022506161000033
式(9)および式(10)から、BIO内における次のことがわかる:
Figure 2022506161000034
これにおいて、G(x,y)およびG(x,y)は、それぞれ、水平および垂直の勾配を表す。
(b)1つの例においては、BIO内で使用される線形最適化モジュールが、CCLMのためのパラメータの導出に使用される。式(18)および式(19)から、表記を次のとおりに記述することが可能である:
Figure 2022506161000035
(c)それに代えて、別の、CCLM等の符号化ツール内で使用される線形最適化モジュールを使用して、BIO内におけるvおよびvを導出することも可能である。
例2。BIO手順を適用するか否か、およびどのように適用するかということがPOC距離に依存することが提案される。
(a)abs(τ)≧T0、またはabs(τ)≧T1の場合には、BIO手順が適用されない。T0およびT1は、整数、例えば、T0=T1=4である。T0およびT1は、一定の数とすること、またはVPS/SPS/PPS/スライスヘッダ/タイルグループヘッダ/タイル/CTU/CU内においてデコーダに対してエンコーダからシグナリングすることが可能である。
(b)abs(τ)≧T0、かつabs(τ)≧T1の場合には、BIO手順が適用されない。T0およびT1は、整数、例えば、T0=T1=4である。T0およびT1は、一定の数とすること、またはVPS/SPS/PPS/スライスヘッダ/タイルグループヘッダ/タイル/CTU/CU内においてデコーダに対してエンコーダからシグナリングすることが可能である。
(c)abs(τ)+abs(τ)≧Tの場合には、BIO手順が適用されない。Tは、整数、例えば、T=8である。Tは、一定の数とすること、またはVPS/SPS/PPS/スライスヘッダ/タイルグループヘッダ/タイル/CTU/CU内においてデコーダに対してエンコーダからシグナリングすることが可能である。
(d)abs(abs(τ)-abs(τ))≧Tの場合には、BIO手順が適用されない。Tは、整数、例えば、T=8である。Tは、一定の数とすること、またはVPS/SPS/PPS/スライスヘッダ/タイルグループヘッダ/タイル/CTU/CU内においてデコーダに対してエンコーダからシグナリングすることが可能である。
(e)abs(τ)≧T*abs(τ)、またはabs(τ)≧T*abs(τ)の場合には、BIO手順が適用されない。Tは、整数、例えば、T=4である。Tは、一定の数とすること、またはVPS/SPS/PPS/スライスヘッダ/タイルグループヘッダ/タイル/CTU/CU内においてデコーダに対してエンコーダからシグナリングすることが可能である。
例3。BIO処理における予測値の精緻化に使用される速度ベクトルがPOC距離に依存することが提案される。BIO手順の後の予測は、以下のとおりに計算される:
Figure 2022506161000036
これにおいて、G (0)およびG (0)は、Ref0上の水平および垂直の勾配を表し、G (0)およびG (0)は、Ref0上の水平および垂直の勾配を表す。
(i)VTM-3.0におけるBIO設計においては、v=v (1)=-v (0)、かつv=v (1)=-v (0)であり、vおよびvが導出される。その後、式(22)が式(9)とまったく同じになる。
(ii)1つの例においては:
Figure 2022506161000037
これにおいて、除算は、HEVCにおけるMVスケーリング演算と同様に乗算およびシフトとして実装することが可能である。
例4。常に、最初にvが0に等しいことを前提としてからvを導出することに代えて、最初にvを導出し、vに基づいてvを導出することが提案される。それに代えて、vまたはvを最初に導出するか否かは、符号化された情報、例えば、動きベクトルの水平および垂直成分、ブロックサイズ等の値に依存することができる。
例5。vおよびvが反復的な形で導出されることが提案される。
a.1つの例においては、i番目のステップにおいて導出されたvがi番目のステップにおけるvの導出に使用され、i番目のステップにおいて導出されたvが、i+1番目のステップにおいて導出されるvの導出に使用される。この導出が反復的に行われる。
b.それの代替においては、i番目のステップにおいて導出されたvがi番目のステップにおけるvの導出に使用され、i番目のステップにおいて導出されたvが、i+1番目のステップにおいて導出されるvの導出に使用される。この導出が反復的に行われる。
c.同一のステップ内においてvの導出にvを使用するか、またはvの導出にvを使用するかについては、符号化された情報、例えば、動きベクトルの水平および垂直成分、ブロックサイズ等の値に依存してよい。
d.1つの例においては、v=-(s-ε×v)/sとし、それにおいてs2、s5、s6は、式(13)におけるとおりに定義される。εは、整数、または1/2または1/4などの分数である。
i.除法演算は、単純化すること、例えば、JEM-3.0におけるように、MSBシフトによって置き換えることが可能である。
ii.クリッピング演算を除法演算後にすることができる。
e.1つの例においては、v=-(s-ε×v)/sとし、それにおいてs1、s2、s3は、式(13)におけるとおりに定義される。εは、整数、または1/2または1/4などの分数である。
i.除法演算は、単純化すること、例えば、JEM-3.0におけるように、MSBシフトによって置き換えることが可能である。
ii.クリッピング演算を除法演算後にすることができる。
f.この導出は、iが所定の数、例えば2に到達するまで反復的に行われる。
g.それの代替においては、導出の1ラウンドの前後におけるvおよび/またはvの間の絶対差が閾値より小さくなるまで導出が反復的に行われる。
例6。BIOにおけるvおよびvの導出は、DMVR、バイラテラルマッチング、またはその他の、デコーダ側の動き導出方法と組み合わせることが可能である。
a.ブロックまたはサブブロック(4×4ブロック等)のためにBIOにおいて導出されるvおよびvは、DMVR、バイラテラルマッチング、またはその他のデコーダ側の動き導出方法の探索開始点の導出に使用することが可能である。Ref0およびRef1のための元のMVをMV0およびMV1とし、DMVR、バイラテラルマッチング、またはその他のデコーダ側の動き導出方法の開始点としてMV0’およびMV1’と記されるMVは、以下のとおりに計算することが可能である:
i.1つの例においては、MV0’=MV0+(v,v)、MV1’=MV1-(v,v);
ii.1つの例においては、MV0’=MV0-(v,v)、MV1’=MV1+(v,v);
iii.1つの例においては、MV0’=MV0+Scale(v,v)、MV1’=MV1-Scale(v,v);
iv.1つの例においては、MV0’=MV0-Scale(v,v)、MV1’=MV1+Scale(v,v);
v.1つの例においては、MV0’=Clip(MV0+Scale(v,v))、MV1’=Clip(MV1-Scale(v,v));
vi.1つの例においては、MV0’=Clip(MV0-Scale(v,v))、MV1’=Clip(MV1+Scale(v,v));
b.それの代替においては、ブロックまたはサブブロック(4×4ブロック等)のためのDMVR、バイラテラルマッチング、またはその他のデコーダ側の動き導出方法の出力MVを、BIO内において使用されるvおよびvの導出に使用することが可能である。Ref0およびRef1のための元のMVをMV0およびMV1とし、出力MVをMV0’およびMV1’とすると、vおよびvは、以下のとおりに計算することが可能である:
i.1つの例においては、(v,v)=Scale(MV0’-MV0)
ii.1つの例においては、(v,v)=Scale(MV0-MV0’)
iii.1つの例においては、(v,v)=Scale(MV1’-MV1)
iv.1つの例においては、(v,v)=Scale(MV1-MV1’)
v.1つの例においては、(v,v)=(Scale(MV0’-MV0)+Scale(MV1’-MV1))/2
vi.1つの例においては、(v,v)=(Scale(MV0-MV0’)+Scale(MV1-MV1’))/2
例7。導出されたvおよびvは、Ref0およびRef1上における予測および勾配の精緻化に使用することが可能であることが提案される。その後、精緻化された予測および勾配は、新しいvおよびvの導出に使用される。
a.導出および精緻化の手順は、導出の1ラウンドの前後におけるvまたはvの間の絶対差が閾値より小さくなるまで反復的に行うことが可能である。それに代えて、導出および精緻化の手順を、所定の反復回数に到達するまで反復的に行うことが可能である。例えば、その数が2になる。
b.Ref0およびRef1のための元のMVをMV0およびMV1とすると、精緻化された予測および勾配を得るMV0’およびMV1’として記されるMVは、以下のとおりに計算することが可能である:
i.1つの例においては、MV0’=MV0+(v,v)、MV1’=MV1-(v,v);
ii.1つの例においては、MV0’=MV0-(v,v)、MV1’=MV1+(v,v);
iii.1つの例においては、MV0’=MV0+Scale(v,v)、MV1’=MV1-Scale(v,v);
iv.1つの例においては、MV0’=MV0-Scale(v,v)、MV1’=MV1+Scale(v,v);
v.1つの例においては、MV0’=Clip(MV0+Scale(v,v))、MV1’=Clip(MV1-Scale(v,v));
vi.1つの例においては、MV0’=Clip(MV0-Scale(v,v))、MV1’=Clip(MV1+Scale(v,v));
例8。1つのブロックまたは1つのサブブロック内の部分的なサンプルに対してBIOが適用できることが提案される。1つの例においては、最初/最後の行/最初/最後の列で見つかるサンプルについてはBIOが適用されない。
例9。BIOが適用されるときは、1つの色成分のために、補間フィルタが1種類だけ使用されることが提案される。
a.1つの例においては、BIOが適用されるとき、輝度成分に対して8タップ補間フィルタだけが使用される。
b.代替においては、さらにまた、メモリ帯域幅を低減するために、フェッチされるべきサンプルのサイズ/範囲を補間フィルタによって要求されるより小さく制限することが提案される。
c.代替においては、さらにまた、いくつかのサンプルが所与のサイズ/範囲の外側の位置に位置するとき、パディングを適用してもよい。
d.現在のブロックをM×N、要求されているサブサンプルのサイズを(M+G)×(N+G)とすると、Lタップ補間フィルタによって要求されるサイズが(M+G+L-1)×(N+G+L-1)となる必要がある。BIO手順を用いてフェッチされることになる整数輝度サンプルの許容されるサイズを、(M+L-1+k)×(N+L-1+k)とすることが提案される。例えば、kは0、または1であり、かつkは、Gより小さい。整数輝度サンプルが、補間処理によって要求されるが、フェッチされることが許容されない場合には、隣接する輝度サンプルによってそれがパディングされることになる。
i.図27は、BIO手順における補間フィルタリングの例を示している。現在のブロックサイズは、M×Nであり、この例においては、M=N=8である。必要とされるサブサンプルのサイズは、勾配の計算に起因して(M+2)×(N+2)である。したがって、補間フィルタによって要求される整数サンプルは、(M+2+7)×(N+2+7)であり、この例においては、17×17に等しい。しかしながら、(M+7)×(N+7)の、すなわちこの例においては、15×15に等しい整数サンプルだけのフェッチが要求される。補間フィルタによって要求されるその他のサンプル(フィルタ内の黒丸)は、隣接するフェッチされたサンプルによってパディングされる。
e.1つの例においては、x=-1またはy=-1またはx=Wまたはy=Hとする位置(x,y)の勾配が計算されず、これらの位置においては、BIOが適用されない。現在のブロックの左上を(0,0)とし、現在のブロックの幅/高さをW/Hとする。
f.1つの例においては、x=-1またはy=-1またはx=Wまたはy=Hとする位置(x,y)の勾配が、異なる方法で計算される。例えば、
〇gradientHL0[x][y]=
hx==1の場合、(predSamplesL0[hx+1][vy]-predSampleL0[hx][vy])>>4
hx==nCbWの場合、(predSamplesL0[hx][vy]-predSampleL0[hx-1][vy])>>4
それ以外の場合、(predSamplesL0[hx+1][vy]-predSampleL0[hx-1][vy])>>4。
〇gradientVL0[x][y]=
vy==1の場合、(predSampleL0[hx][vy+1]-predSampleL0[hx][vy])>>4
vy==nCbHの場合、(predSampleL0[hx][vy]-predSampleL0[hx][vy-1])>>4
それ以外の場合、(predSampleL0[hx][vy+1]-predSampleL0[hx][vy-1])>>4。
〇gradientHL1[x][y]=
hx==1の場合、(predSamplesL1[hx+1][vy]-predSampleL1[hx][vy])>>4
hx==nCbWの場合、(predSamplesL1[hx][vy]-predSampleL1[hx-1][vy])>>4
それ以外の場合、(predSamplesL0[hx+1][vy]-predSampleL1[hx-1][vy])>>4。
〇gradientVL1[x][y]=
vy==1の場合、(predSampleL1[hx][vy+1]-predSampleL1[hx][vy])>>4
vy==nCbHの場合、(predSampleL1[hx][vy]-predSampleL1[hx][vy-1])>>4
それ以外の場合、(predSampleL1[hx][vy+1]-predSampleL1[hx][vy-1])>>4。
別の例においては、
〇gradientHL0[x][y]=
hx==1の場合、(predSamplesL0[hx+1][vy]-predSampleL0[hx][vy])>>3
hx==nCbWの場合、(predSamplesL0[hx][vy]-predSampleL0[hx-1][vy])>>3
それ以外の場合、(predSamplesL0[hx+1][vy]-predSampleL0[hx-1][vy])>>4。
〇gradientVL0[x][y]=
vy==1の場合、(predSampleL0[hx][vy+1]-predSampleL0[hx][vy])>>3
vy==nCbHの場合、(predSampleL0[hx][vy]-predSampleL0[hx][vy-1])>>3
それ以外の場合、(predSampleL0[hx][vy+1]-predSampleL0[hx][vy-1])>>4。
〇gradientHL1[x][y]=
hx==1の場合、(predSamplesL1[hx+1][vy]-predSampleL1[hx][vy])>>3
hx==nCbWの場合、(predSamplesL1[hx][vy]-predSampleL1[hx-1][vy])>>3
それ以外の場合、(predSamplesL0[hx+1][vy]-predSampleL1[hx-1][vy])>>4
〇gradientVL1[x][y]=
vy==1の場合、(predSampleL1[hx][vy+1]-predSampleL1[hx][vy])>>3
vy==nCbHの場合、(predSampleL1[hx][vy]-predSampleL1[hx][vy-1])>>3
それ以外の場合、(predSampleL1[hx][vy+1]-predSampleL1[hx][vy-1])>>4
g.1つの例においては、勾配の計算の前に、外側のサンプル(図23における黒丸)が、パディングによって補間されない。
i.例えば、すべての有効なhxおよびvyについて、
predSampleL0[0][vy]=predSampleL0[1][vy]、
predSampleL0[nCbW+1][vy]=predSampleL0[nCbW][vy]、
predSampleL0[hx][0]=predSampleL0[hx][1]、
predSampleL0[hx][nCbH+1]=predSampleL0[hx][nCbH]、および
predSampleL1[0][vy]=predSampleL1[1][vy]、
predSampleL1[nCbW+1][vy]=predSampleL1[nCbW][vy]、
predSampleL1[hx][0]=predSampleL1[hx][1]、
predSampleL1[hx][nCbH+1]=predSampleL1[hx][nCbH]。
h.1つの例においては、BIOにおける勾配の計算方法とALF(Adaptive Loop Filter)における勾配の計算方法が同じ方法である。
i.1つの例においては、VTM-3におけるBIOのための勾配の計算方法が、ALFのための勾配の計算にも使用される。
ii.1つの例においては、VTM-3におけるALFのための勾配の計算方法が、BIOのための勾配の計算にも使用される。
例10。双方向オプティカルフロー予測処理に対する以下の変更が提案される。
a.勾配値は、4以外の異なる値によってシフトされてよい。1つの例においては、変数gradientHL0[x][y]、gradientVL0[x][y]、gradientHL1[x][y]、およびgradientVL1[x][y]が、以下のとおりに導出される:
gradientHL0[x][y]=SignShift(predSamplesL0[hx+1][vy]-predSampleL0[hx-1][vy],S)
gradientVL0[x][y]=SignShift(predSampleL0[hx][vy+1]-predSampleL0[hx][vy-1],S)
gradientHL1[x][y]=SignShift(predSamplesL1[hx+1][vy]-predSampleL1[hx-1][vy],S)
gradientVL1[x][y]=SignShift(predSampleL1[hx][vy+1]-predSampleL1[hx][vy-1],S)
i.1つの例においては、Sが、4または5といった一定の数になる。
ii.1つの例においては、Sが、サンプルのビット深度に依存する。例えば、Sは、B-Pに等しく、それにおいてBは、8、10、または12といったサンプルのビット深度であり、Pは、6などの整数である。
b.勾配値は、範囲内となる必要がある。1つの例においては、変数gradientHL0[x][y]、gradientVL0[x][y]、gradientHL1[x][y]、およびgradientVL1[x][y]が、Kビット整数、例えば、K=8または16によって表されることが保証される必要がある。
i.例えば、導出後、勾配が、以下のとおりにクリップされる:
gradientHL0[x][y]=Clip3(-2K-1,2K-1-1,gradientHL0[x][y])
gradientVL0[x][y]=Clip3(-2K-1,2K-1-1,gradientVL0[x][y])
gradientHL1[x][y]=Clip3(-2K-1,2K-1-1,gradientHL1[x][y])
gradientVL1[x][y]=Clip3(-2K-1,2K-1-1,gradientVL1[x][y])
c.内部変数temp、tempX、およびtempYが、以下のとおりに導出される:
temp[x][y]=SignShift(predSamplesL0[hx][vy]-predSamplesL1[hx][vy],S1)
tempX[x][y]=SignShift(gradientHL0[x][y]+gradientHL1[x][y],S2)
tempY[x][y]=SignShift(gradientVL0[x][y]+gradientVL1[x][y],S3)
i.1つの例においては、S1、S2、およびS3が、S1=6、S2=S3=3といった一定の数である。
ii.1つの例においては、S1、S2、およびS3が、サンプルのビット深度に依存する。例えば、S1=B-P1、S2=B-P2、およびS3=B-P3であり、それにおいてBは、8、10、または12といったサンプルのビット深度であり、P1、P2、およびP3は、例えば、P1=4、P2=P3=7といった整数である。
d.内部変数temp、tempX、およびtempYが、K1ビット整数、K2ビット整数、およびK3ビット整数、例えばK1=8または16、K2=8または16、K3=8または16によって表されることが保証される必要がある。
i.例えば、内部変数は、導出された後に以下のとおりにクリップされる:
temp[x][y]=Clip3(-2K1-1,2K1-1-1,gradientHL0[x][y])
tempX[x][y]=Clip3(-2K2-1,2K2-1-1,gradientVL0[x][y])
tempY[x][y]=Clip3(-2K3-1,2K3-1-1,gradientHL1[x][y])
e.内部変数sGx2、sGy2、sGxGy、sGxdI、およびsGydIは、範囲内にある必要がある。1つの例においては、これらの変数が、K1ビット整数、K2ビット整数、K3ビット整数、K4ビット整数、およびK5ビット整数、例えばK1=8または16、K2=8または16、K3=8または16によって表されることが保証される必要がある。
i.例えば、内部変数は、導出された後に以下のとおりに右シフトされる:
sGx2=Shift(sGx2,S1)
sGy2=Shift(sGy2,S2)
sGxGy=SignShift(sGxGy,S3)
sGxdI=SignShift(sGxdI,S4)
sGydI=SignShift(sGydI,S5)
1つの例においては、S1、S2、S3、S4、およびS5が、4または5といった一定の数である。
代替においては、S1、S2、S3、S4、およびS5が、サンプルのビット深度に依存する。例えば、S1=B-P1、S2=B-P2、S3=B-P3、S4=B-P4、およびS5=B-P5であり、それにおいて、Bは、8、10、または12といったサンプルビット深度、P1、P2、P3、P4、およびP5は、整数である。
ii.例えば、内部変数は、導出された後に以下のとおりにクリップされる:
sGx2=Clip3(0,2K1-1,sGx2)
sGy2=Clip3(0,2K2-1,sGy2)
sGxGy=Clip3(-2K3-1,2K3-1-1,sGxGy)
sGxdI=Clip3(-2K4-1,2K4-1-1,sGxdI)
sGydI=Clip3(-2K5-1,2K5-1-1,sGydI)
f.変数gradientHL0[x][y]、gradientVL0[x][y]、gradientHL1[x][y]、およびgradientVL1[x][y]は、選択された位置のみについて導出される。
i.1つの例においては、x%Q==0を伴う位置(x,y)におけるサンプルのみについてそれらが計算される。例えば、Q=2。
ii.1つの例においては、x%Q==1を伴う位置(x,y)におけるサンプルのみについてそれらが計算される。例えば、Q=2。
iii.1つの例においては、y%Q==0を伴う位置(x,y)におけるサンプルのみについてそれらが計算される。例えば、Q=2。
iv.1つの例においては、y%Q==1を伴う位置(x,y)におけるサンプルのみについてそれらが計算される。例えば、Q=2。
v.1つの例においては、y%Q==0またはy%Q==3を伴う位置(x,y)におけるサンプルのみについてそれらが計算される。例えば、Q=4。
g.内部変数temp[x][y]、tempX[x][y]、およびtempY[x][y]は、選択された位置のみについて導出される。
i.1つの例においては、x%Q==0を伴う位置(x,y)におけるサンプルのみについてそれらが計算される。例えば、Q=2。
ii.1つの例においては、x%Q==1を伴う位置(x,y)におけるサンプルのみについてそれらが計算される。例えば、Q=2。
iii.1つの例においては、y%Q==0を伴う位置(x,y)におけるサンプルのみについてそれらが計算される。例えば、Q=2。
iv.1つの例においては、y%Q==1を伴う位置(x,y)におけるサンプルのみについてそれらが計算される。例えば、Q=2。
v.1つの例においては、y%Q==0またはy%Q==3を伴う位置(x,y)におけるサンプルのみについてそれらが計算される。例えば、Q=4。
vi.1つの例においては、temp[x][y]、tempX[x][y]、tempY[x][y]、およびgradientHL0[x][y]、gradientVL0[x][y]、gradientHL1[x][y]、gradientVL1[x][y]が、同じ位置、例えば、この例のg.i乃至g.vの位置におけるサンプルについて計算される。
h.内部変数sGx2、sGy2、sGxGy、sGxdI、およびsGydIは、選択された位置のサンプルの累積を用いてのみ計算される。公式化の形においては、
sGx2=ΣΣ(tempX[xSb+x][ySb+y]*tempX[xSb+x][ySb+y])、ただし、x,y∈S
sGy2=ΣΣ(tempY[xSb+x][ySb+y]*tempY[xSb+x][ySb+y])、ただし、x,y∈S
sGxGy=ΣΣ(tempX[xSb+x][ySb+y]*tempY[xSb+x][ySb+y])、ただし、x,y∈S
sGxdI=ΣΣ(-tempX[xSb+x][ySb+y]*temp[xSb+x][ySb+y])、ただし、x,y∈S
sGydI=ΣΣ(-tempY[xSb+x][ySb+y]*temp[xSb+x][ySb+y])、ただし、x,y∈S
これにおいて、Sは、選択された位置のセットである。
i.1つの例においては、選択された位置が、x=0、1、2、3、およびy=0、1、2、3である。
ii.1つの例においては、選択された位置が、x=0、2、およびy=0、1、2、3である。
iii.1つの例においては、選択された位置が、x=1、2、およびy=0、1、2、3である。
iv.1つの例においては、選択された位置が、x=1、3、およびy=0、1、2、3である。
v.1つの例においては、選択された位置が、x=2、3、およびy=0、1、2、3である。
vi.1つの例においては、選択された位置が、x=0、3、およびy=0、1、2、3である。
vii.1つの例においては、選択された位置が、y=0、2、およびx=0、1、2、3である。
viii.1つの例においては、選択された位置が、y=1、2、およびx=0、1、2、3である。
ix.1つの例においては、選択された位置が、y=1、3、およびx=0、1、2、3である。
x.1つの例においては、選択された位置が、y=2、3、およびx=0、1、2、3である。
xi.1つの例においては、選択された位置が、y=0、3、およびx=0、1、2、3である。
xii.1つの例においては、選択された位置が、x=-1、4、およびy=-1、0、1、2、3、4である。
xiii.1つの例においては、選択された位置が、x=0、3、およびy=-1、0、1、2、3、4である。
xiv.1つの例においては、選択された位置が、x=1、2、およびy=-1、0、1、2、3、4である。
xv.1つの例においては、選択された位置が、x=-1、1、3、およびy=-1、0、1、2、3、4である。
xvi.1つの例においては、選択された位置が、x=0、2、4、およびy=-1、0、1、2、3、4である。
xvii.1つの例においては、選択された位置が、x=-1、1、2、4、およびy=-1、0、1、2、3、4である。
xviii.1つの例においては、選択された位置が、x=0、1、2、3、およびy=-1、0、1、2、3、4である。
xix.1つの例においては、選択された位置が、y=-1、4、およびx=-1、0、1、2、3、4である。
xx.1つの例においては、選択された位置が、y=0、3、およびx=-1、0、1、2、3、4である。
xxi.1つの例においては、選択された位置が、y=1、2、およびx=-1、0、1、2、3、4である。
xxii.1つの例においては、選択された位置が、y=-1、1、3、およびx=-1、0、1、2、3、4である。
xxiii.1つの例においては、選択された位置が、y=0、2、4、およびx=-1、0、1、2、3、4である。
xxiv.1つの例においては、選択された位置が、y=-1、1、2、4、およびx=-1、0、1、2、3、4である。
xxv.1つの例においては、選択された位置が、y=0、1、2、3、およびx=-1、0、1、2、3、4である。
i.vおよびvの導出に使用される除法演算が、より洗練された形に置き換えられる。
i.1つの例においては、vx=sGx2>0? Clip3(-mvRefineThres,mvRefineThres,-(sGxdI<<3)>>M):0。Mは、sGx2の値に応じて、Floor(Log2(sGx2))またはCeiling(Log2(sGx2))とすることが可能である。例えば、3*sGx2が2Floor(Log2(sGx2))+2より大きい場合には、MをCeiling(Log2(sGx2))とし、それ以外の場合には、MをFloor(Log2(sGx2))とする。別の例においては、sGx2がTより大きい場合には、MをCeiling(Log2(sGx2))とし、それ以外の場合には、MをFloor(Log2(sGx2))とする。例えば、T=(Floor(Log2(sGx2))+Ceiling(Log2(sGx2)))/2である。別の例においては、sGx2*sGx2が22*Floor(Log2(sGx2))+1より大きい場合には、MをCeiling(Log2(sGx2))とし、それ以外の場合には、MをFloor(Log2(sGx2))とする。
1.代替においては、vx=sGx2>0? Clip3(-mvRefineThres,mvRefineThres,-((sGxdI<<3)+Offset)>>M):0。Offsetは、1<<(M-1)等の整数である。
a.Offsetは、sGx2に依存させることが可能である。
ii.1つの例においては、vy=sGy2>0? Clip3(-mvRefineThres,mvRefineThres,((sGydI<<3)-((vx*sGxGym)<<12+vx*sGxGys)>>1)>>M:0。Mは、sGy2の値に応じて、Floor(Log2(sGy2))またはCeiling(Log2(sGy2))とすることが可能である。例えば、3*sGy2が2Floor(Log2(sGy2))+2より大きい場合には、MをCeiling(Log2(sGy2))とし、それ以外の場合には、MをFloor(Log2(sGy2))とする。別の例においては、sGy2がTより大きい場合には、MをCeiling(Log2(sGy2))とし、それ以外の場合には、MをFloor(Log2(sGy2))とする。例えば、T=(Floor(Log2(sGy2))+Ceiling(Log2(sGy2)))/2である。別の例においては、sGy2*sGy2が22*Floor(Log2(sGy2))+1より大きい場合には、MをCeiling(Log2(sGy2))とし、それ以外の場合には、MをFloor(Log2(sGy2))とする。
1.代替においては、vy=sGy2>0? Clip3(-mvRefineThres,mvRefineThres,(((sGydI<<3)-((vx*sGxGym)<<12+vx*sGxGys)>>1)+Offset)>>M:0。Offsetは、1<<(M-1)等の整数である。
a.Offsetは、sGy2に依存させることが可能である。
iii.sGxGymおよびsGxGysは、sGxGyの符号に応じて計算される。x≧0の場合にはsign(x)=1、x<0の場合にはsign(x)=-1とすれば、sGxGym=sign(sGxGy)*|sGxGy|>>W;sGxGys=sign(sGxGy)*(|sGxGy|&((1<<W)-1))。
1.Wは、12などの一定の数とすることが可能である。または、それを、サンプルビット深度に依存させてもよい。
iv.BIO手順における除法演算は、ルックアップテーブルによって計算される。
(i)CCLMにおいても、除法演算の置き換えに同じルックアップテーブルが使用される。
例11。ブロック全体およびサブブロックのSADの計算に基づくBIOオン/オフの判定は、サブブロックのSADの計算だけを計算することによって単純化することができる。それに代えて、SADの計算を、そのほかの、MR-SAD等の規則によって置き換えることができる。
例12。BIOにおけるSADの計算は、選択された位置のサンプルのみを用いて行われる。
a.subCuLevelSumAbsoluteDiff[xSbIdx][ySbIdx]=ΣΣAbs(predSamplesL0L[(xSbIdx<<2)+1+i][(ySbIdx<<2)+1+j]-predSamplesL1L[(xSbIdx<<2)+1+i][(ySbIdx<<2)+1+j])、ただし、i,j∈S
これにおいて、Sは、選択された位置のセットである。
i.1つの例においては、選択された位置が、i=0、2、およびj=0、1、2、3である。
ii.1つの例においては、選択された位置が、i=1、2、およびj=0、1、2、3である。
iii.1つの例においては、選択された位置が、i=1、3、およびj=0、1、2、3である。
iv.1つの例においては、選択された位置が、i=2、3、およびj=0、1、2、3である。
v.1つの例においては、選択された位置が、i=0、3、およびj=0、1、2、3である。
vi.1つの例においては、選択された位置が、j=0、2、およびi=0、1、2、3である。
vii.1つの例においては、選択された位置が、j=1、2、およびi=0、1、2、3である。
viii.1つの例においては、選択された位置が、j=1、3、およびi=0、1、2、3である。
ix.1つの例においては、選択された位置が、j=2、3、およびi=0、1、2、3である。
x.1つの例においては、選択された位置が、j=0、3、およびi=0、1、2、3である。
xi.1つの例においては、選択された位置が、i=0、3、およびj=0、3である。
xii.1つの例においては、選択された位置が、i=1、2、およびj=1、2である。
b.それに代えて、subCuLevelSumAbsoluteDiff[xSbIdx][ySbIdx]=maxi,jAbs(predSamplesL0L[(xSbIdx<<2)+1+i][(ySbIdx<<2)+1+j]-predSamplesL1L[(xSbIdx<<2)+1+i][(ySbIdx<<2)+1+j])、ただし、i,j∈S。
これにおいて、Sは、選択された位置のセットである。
c.それに代えて、subCuLevelSumAbsoluteDiff[xSbIdx][ySbIdx]=mini,jAbs(predSamplesL0L[(xSbIdx<<2)+1+i][(ySbIdx<<2)+1+j]-predSamplesL1L[(xSbIdx<<2)+1+i][(ySbIdx<<2)+1+j])、ただし、i,j∈S
これにおいて、Sは、選択された位置のセットである。
d.閾値subCuLevelAbsDiffThresは、適応型としてよい。
i.それを、QPおよびPOC距離等の符号化情報に依存させてもよい。
ii.それを、VPS/SPS/PPS/スライスヘッダ/タイルグループヘッダ/タイル/CTU/CU内においてデコーダに対してエンコーダからシグナリングさせてもよい。
例13。BIOにおけるSADの計算は、選択されたサブブロック上のサンプルのみを用いて行われる。
a.代替においては、さらにまた、各サブブロックのためのSADの計算が、1つのサブブロック内のサンプルの部分に影響を及ぼすだけであってもよい。
b.cuLevelSumAbsoluteDiff=ΣxSbIdxΣySbIdxsubCuLevelSumAbsoluteDiff[xSbIdx][ySbIdx]、ただし、xSbIdx、ySbIdx∈S
これにおいて、Sは、選択されたサブブロックのセットである。
i.1つの例においては、選択された位置がxSbIdx%2==0である。
ii.1つの例においては、選択された位置がxSbIdx%2==1である。
iii.1つの例においては、選択された位置がxSbIdx%4==0である。
iv.1つの例においては、選択された位置がxSbIdx==0、またはxSbIdx==(cbWidth>>2)-1である。
v.1つの例においては、選択された位置がxSbIdy%2==0である。
vi.1つの例においては、選択された位置がxSbIdy%2==1である。
vii.1つの例においては、選択された位置がxSbIdy%4==0である。
viii.1つの例においては、選択された位置がxSbIdy==0、またはxSbIdy==(cbHeight>>2)-1である。
ix.1つの例においては、選択された位置が(xSbIdy==0、またはxSbIdy==(cbHeight>>2)-1)、および(xSbIdy==0、またはxSbIdy==(cbHeight>>2)-1)である。
c.cuLevelSumAbsoluteDiff=MaxxSbIdxySbIdxsubCuLevelSumAbsoluteDiff[xSbIdx][ySbIdx]、ただし、xSbIdx,ySbIdx∈S
d.cuLevelSumAbsoluteDiff=MinxSbIdxySbIdxsubCuLevelSumAbsoluteDiff[xSbIdx][ySbIdx]、ただし、xSbIdx,ySbIdx∈S
e.閾値cuLevelAbsDiffThresは、適応型としてよい。
i.それを、QPおよびPOC距離等の符号化情報に依存させてもよい。
ii.それを、AMVPモード、マージモードまたはMMVD(Merge with MV Difference)モード等の符号化モードに依存させてもよい。
iii.それを、VPS/SPS/PPS/スライスヘッダ/タイルグループヘッダ/タイル/CTU/CU内においてデコーダに対してエンコーダからシグナリングさせてもよい。
例14。例12および例13について、提案されている方法は、SADがほかの規則によって置き換えられるこのほかの場合に対しても適用させてもよい。すなわち、1つのサブブロック内のサンプルの部分だけ、および/またはサブブロック(複数形)の部分を考慮して、BIOの使用を判定してもよい。
例15。BIO手順においてどのように変数を導出するかは、GBiが適用されるときと、そうでないときとで異なっていてもよい。
a.代替においては、さらにまた、その導出が、異なる重み付けの値を伴うGBiについて異なっていてよい。
b.ここで、GBi処理におけるRef0およびRef1のための重み付けの値をW0およびW1とし、予測ブロックは、SADの計算、勾配の計算等のBIO手順において使用される変数の導出前に、最初に重み付けされる。
i.2つの予測ブロックを、predSamplesL0[x][y]およびpredSamplesL1[x][y]によって示す。BIOのための入力として、W0*predSamplesL0[x][y]およびpredSamplesL1[x][y]およびW1*predSamplesL1[x][y]が使用される。
c.それに代えて、BIO手順において使用される変数の導出前に、predSamplesL0[x][y]が、Shift(W0*predSamplesL0[x][y],S0)として予め計算され、predSamplesL1[x][y]が、Shift(W1*predSamplesL1[x][y],S1)として予め計算される。
i.S0およびS1は、サンプルビット深度に依存してよい。
ii.S0およびS1は、W0およびW1に依存してよい。
iii.S0およびS1は、2などの一定の数としてよい。
d.代替においては、訂正項の値も、1つのブロックの最終的な予測ブロックを生成するときに重み付けされてよい。
i.BIO手順において使用されるパラメータの導出時に、2つの予測ブロックが、従来技術と同様に、BIOへの入力として重み付けされることなく使用される。しかしながら、最終的な予測ブロックは、重み付けされた予測ブロックの値および重み付けされた訂正項の値によって生成される。
ii.訂正項に適用される重みは、予測ブロックのために使用されるそれと同じにすることができる。それに代えて、訂正項に対して異なる重みを適用することができる。
例16。訂正項の値は、特定の範囲内にある必要があることが提案される。
(a)例えば、訂正項が、[minCorrection,maxCorrection]にクリップされる。
i.minCorrectionおよびmaxCorrectionは、例えば、-32および32に固定してよい。
ii.minCorrectionおよびmaxCorrectionは、サンプルビット深度に依存してよい。例えば、minCorrection=-(32<<(BitDepth-8))、maxCorrection=32<<(BitDepth-8))。
iii.minCorrectionおよびmaxCorrectionは、ブロックの幅および/または高さに依存してよい。
iv.minCorrectionおよびmaxCorrectionは、VPS/SPS/PPS/スライスヘッダ/タイルグループヘッダ/タイル/CTUライン/CTU/CU内においてデコーダに対してエンコーダからシグナリングされてよい。
(b)例えば、訂正項は、範囲の外にある場合に、因子によって除されるか、または右シフトされる。
例17。BIOにおける最終予測出力は、特定の範囲内にある必要があることが提案される。
(a)例えば、BIOにおける最終予測出力は、[minPred,maxPred]にクリップされる。
i.minPredおよびmaxPredは、-32および32といった一定の数であってよい。
ii.minPredおよびmaxPredは、サンプルビット深度に依存してよい。例えば、minPred=-(32<<(BitDepth-8))、maxCorrection=32<<(BitDepth-8))。
iii.minPredおよびmaxPredは、ブロックの幅および/または高さに依存してよい。
iv.minPredおよびmaxPredは、VPS/SPS/PPS/スライスヘッダ/タイルグループヘッダ/タイル/CTUライン/CTU/CU内においてデコーダに対してエンコーダからシグナリングされてよい。
上で述べた例は、以下に述べる方法、例えば、映像デコーダまたは映像エンコーダにおいて実装することができる方法2810、2820、2830、2840、2850、および2860の文脈の中に組み込まれてよい。
図28Aは、映像処理のための例示的な方法のフローチャートを示している。方法2810は、ステップ2812において、映像の現在のブロックとその映像のビットストリーム表現の間における変換のために、第1の符号化モードを使用する変換のための第1の線形最適化モデルの使用を決定することを含み、第1の線形最適化モデルは、第2の符号化モードを使用する変換のために使用される第2の線形最適化モデルから導出される。
方法2810は、ステップ2814において、その決定に基づいてその変換を実行することを含む。
図28Bは、映像処理のための例示的な方法のフローチャートを示している。方法2820は、ステップ2822において、映像の現在のブロックのピクチャに関連付けされた1つまたは複数のPOC(Picture Order Count)パラメータに基づいて、第1の予測モードまたは第1の予測モードとは異なる第2の予測モードのうちのいずれかを有効化することを含み、第1の予測モードは、オプティカルフローを使用する符号化モードである。
方法2820は、ステップ2824において、第1のモードまたは第2のモードに基づいて、現在のブロックと映像のビットストリーム表現の間における変換を実行することを含む。
図28Cは、映像処理のための例示的な方法のフローチャートを示している。方法2830は、ステップ2832において、映像の現在のブロックに関連付けされている符号化済み情報に基づいて、その現在のブロックの参照ピクチャに関連付けされる1つまたは複数の速度ベクトル(v,v)を連続的に導出することを含む。
方法2830は、ステップ2834において、その1つまたは複数の速度ベクトルに基づいて、現在のブロックと映像のビットストリーム表現の間における変換を実行することを含み、符号化済み情報は、現在のブロックの動きベクトルの水平成分の値、現在のブロックの動きベクトルの垂直成分の値、または現在のブロックのサイズを包含する。
図28Dは、映像処理のための例示的な方法のフローチャートを示している。方法2840は、ステップ2842において、映像の現在のブロックのためにオプティカルフローを使用する符号化モードが有効化されたとの決定時に、その現在のブロックの各色成分のために単一タイプの補間フィルタを使用するフィルタリング工程を実行することを含む。
方法2840は、ステップ2844において、そのフィルタリング工程に基づいて、現在のブロックと映像のビットストリーム表現の間における変換を実行することを含む。
図28Eは、映像処理のための例示的な方法のフローチャートを示している。方法2850は、ステップ2852において、映像の現在のブロックとその映像のビットストリーム表現の間における変換のために、オプティカルフローツールのための勾配値計算アルゴリズムの使用を決定することを含む。
方法2850は、ステップ2854において、その決定に基づいてその変換を実行することを含む。
図28Fは、映像処理のための例示的な方法のフローチャートを示している。方法2860は、ステップ2862において、映像の現在のブロックのサブブロックについての1つまたは複数の差分絶対値和(SAD)の計算に基づいて、その現在のブロックのためにオプティカルフローを使用する符号化モードの選択的な有効化に関係する判定を行うことを含む。
方法2860は、ステップ2864において、その判定に基づいて、現在のブロックとその現在のブロックのビットストリーム表現の間における変換を実行することを含む。
図28Gは、映像処理のための例示的な方法のフローチャートを示している。方法2870は、ステップ2872において、映像の現在のブロックのためのGBi(Generalized Bi-prediction improvement)処理の選択的な有効化に基づいて、その現在のブロックのためにオプティカルフローを使用する符号化モードの1つまたは複数のパラメータを導出することを含む。
方法2870は、ステップ2874において、オプティカルフローを使用する符号化モードの1つまたは複数のパラメータに基づいて、現在のブロックと映像のビットストリーム表現の間における変換を実行することを含む。
図28Hは、映像処理のための例示的な方法のフローチャートを示している。方法2880は、ステップ2882において、オプティカルフローを使用する符号化モードを用いて符号化された映像の現在のブロックのために、オプティカルフローを使用する符号化モードの最終予測出力の訂正項に対してクリッピング工程を実行することを含む。
方法2880は、ステップ2884において、その最終予測出力に基づいて、現在のブロックと映像のビットストリーム表現の間における変換を実行することを含む。
図28Iは、映像処理のための例示的な方法のフローチャートを示している。方法2890は、ステップ2892において、映像の現在のブロックのためにオプティカルフローを使用する符号化モードが有効化されたとの決定時に、その現在のブロックの各カラー成分のために単一タイプの補間フィルタを使用するフィルタリング工程を実行することを含む。
方法2890は、ステップ2894において、現在のブロックの少なくとも1つのサンプルが所定の範囲の外側に位置するとの決定時に、パディング工程を実行することを含む。
方法2890は、ステップ2896において、これらのフィルタリング工程およびパディング工程に基づいて、現在のブロックと映像のビットストリーム表現の間における変換を実行することを含む。
いくつかの実施形態においては、以下の技術的な解決策を実装することができる:
A1.映像処理の方法が、映像の現在のブロックとその映像のビットストリーム表現の間における変換のために、第1の符号化モードを使用する変換のための第1の線形最適化モデルの使用を決定することであって、第1の線形最適化モデルは、第2の符号化モードを使用する変換のために使用される第2の線形最適化モデルから導出される、ことと;その決定に基づいて変換を実行することと、を包含する。
A2.解決策A1の方法において、第2の符号化モードは、BDOF(Bi-Directional Optical Flow)予測モードである。
A3.解決策A2の方法において、第2の線形最適化モデルは、入力としてのN個のグループのサンプル(u,v,w)および2つの出力パラメータaおよびbを包含し、第2の線形最適化モデルは、次式を最小化、または概略で最小化する:
Figure 2022506161000038
A4.解決策A3の方法において、u=(I(0)(x,y)-I(1)(x,y))、v=(G (0)(x,y)-G (1)(x,y))、w=(G (0)(x,y)-G (1)(x,y))、a=v、およびb=vであり、I(i)(x,y)は、参照フレームi内のピクセル位置(x,y)における輝度サンプルを表し、G (i)(x,y)およびG (i)(x,y)はそれぞれ、輝度サンプルの水平勾配および垂直勾配を表す。
A5.解決策A3の方法において、u=-C(n)、v=L(n)、w=1、a=α、およびb=βであり、C(n)は、上側および左側の近傍の再構築後の彩度サンプルを表し、L(n)は、上側および左側の近傍の再構築後の輝度サンプルを表し、αおよびβは、第2の線形最適化モデルのパラメータを表す。
A6.解決策A1の方法において、第2の符号化モードは、交差成分線形モデル予測モードである。
A7.映像処理の方法が、映像の現在のブロックのピクチャに関連付けされた1つまたは複数のPOC(Picture Order Count)パラメータに基づいて、第1の予測モードまたは第1の予測モードとは異なる第2の予測モードのうちのいずれかを有効化することであって、第1の予測モードは、オプティカルフローを使用する符号化モードである、ことと;第1のモードまたは第2のモードに基づいて、現在のブロックと映像のビットストリーム表現の間における変換を実行することと、を包含する。
A8.解決策A7の方法は、さらに、オプティカルフローを使用する符号化モードの有効化を抑制することを包含し、第1の参照ピクチャ(R)および第2の参照ピクチャ(R)は、現在のブロックを包含する現在のピクチャに関連付けされ、τは、現在のピクチャのピクチャオーダーカウントと第1の参照ピクチャのピクチャオーダーカウントとの間における差(τ=POC(current)-POC(R))であり、τは、第2の参照ピクチャのピクチャオーダーカウントと現在のピクチャのピクチャオーダーカウントとの間における差(τ=POC(R)-POC(current))である。
A9.解決策A8の方法において、abs(τ)≧Tまたはabs(τ)≧Tであり、TおよびTは、整数である。
A10.解決策A8の方法において、abs(τ)≧Tかつabs(τ)≧Tであり、TおよびTは、整数である。
A11.解決策A9またはA10の方法において、T=T=4である。
A12.解決策A8の方法において、abs(τ)+abs(τ)≧Tであり、Tは、整数である。
A13.解決策A12の方法において、T=8である。
A14.解決策A8の方法において、abs(abs(τ)-abs(τ))≧Tであり、Tは、整数である。
A15.解決策A14の方法において、T=0である。
A16.解決策A8の方法において、abs(τ)≧abs(τ)×T、かつabs(τ)≧abs(τ)×Tであり、Tは、整数である。
A17.解決策A16の方法において、T=8である。
A18.解決策A9乃至A17のいずれかの方法において、Tは、VPS(Video Parameter Set)、SPS(Sequence Parameter Set)、PPS(Picture Parameter Set)、スライスヘッダ、タイルグループヘッダ、タイル、CU(Coding Unit)、またはCTU(Coding Tree Unit)内においてシグナリングされる。
A19.解決策A7の方法において、オプティカルフローを使用する符号化モードが有効化され、現在のブロックを包含する現在のピクチャのための1つまたは複数の速度ベクトル(v,v)が、1つまたは複数のPOC距離に基づき、第1の参照ピクチャ(R)および第2の参照ピクチャ(R)が、現在のピクチャに関連付けされる。
A20.解決策A19の方法において、τは、現在のピクチャのピクチャオーダーカウントと第1の参照ピクチャのピクチャオーダーカウントとの間における差(τ=POC(current)-POC(R))であり、τが、第2の参照ピクチャのピクチャオーダーカウントと現在のピクチャのピクチャオーダーカウントとの間における差(τ=POC(R)-POC(current))であり、
Figure 2022506161000039
であり、
(v (0),v (0))は、第1の参照ピクチャについての速度ベクトルであり、(v (1),v (1))は、第2の参照ピクチャについての速度ベクトルである。
A21.解決策A19の方法において、1つまたは複数の速度ベクトルは、反復的な態様で導出される。
A22.解決策A19の方法において、1つまたは複数の速度ベクトルは、第3の予測モードに基づき、第3の予測モードは、DMVRまたはバイラテラルマッチングである。
A23.解決策A22の方法において、MV0およびMV1は、それぞれ、第1および第2の参照ピクチャについての動きベクトルであり、MV0’およびMV1’は、第3の予測モードのための初期動きベクトルである。
A24.解決策A23の方法において、MV0’=MV0+(v,v)、かつMV1’=MV1-(v,v)である。
A25.解決策A23の方法において、MV0’=MV0-(v,v)、かつMV1’=MV1+(v,v)である。
A26.解決策A7の方法において、オプティカルフローを使用する符号化モードが有効化され、かつ現在のブロックのサンプルのサブセットに適用され、当該サンプルのサブセットは、現在のブロックのすべてのサンプルを除外する。
A27.解決策A26の方法において、サンプルのサブセットは、現在のブロックの最初の行、最後の行、最初の列、または最後の列のサンプルを除外する。
A28.解決策A7の方法において、オプティカルフローを使用する符号化モードが有効化され、かつ現在のブロックのサブブロックのサンプルのサブセットに適用され、当該サンプルのサブセットは、現在のブロックのサブブロックの全サンプルと同じではない。
A29.解決策A28の方法において、サンプルのサブセットは、現在のブロックのサブブロックの最初の行、最後の行、最初の列、または最後の列のサンプルを除外する。
A30.解決策A1乃至A29のいずれかの方法において、オプティカルフローを使用する符号化モードは、BDOF(Bi-Directional Optical Flow)予測モードである。
A31.映像処理の方法が、映像の現在のブロックに関連付けされている符号化済み情報に基づいて、その現在のブロックの参照ピクチャに関連付けされる1つまたは複数の速度ベクトル(v,v)を連続的に導出することと;その1つまたは複数の速度ベクトルに基づいて、現在のブロックと映像のビットストリーム表現の間における変換を実行することと、を包含し、符号化済み情報は、現在のブロックの動きベクトルの水平成分の値、現在のブロックの動きベクトルの垂直成分の値、または現在のブロックのサイズを包含する。
A32.A31の方法において、vが最初に導出され、vは、vの値に基づいて導出される。
A33.解決策A31の方法は、さらに、1つまたは複数の速度ベクトルに基づいて、参照ピクチャの少なくとも1つの予測または少なくとも1つの勾配を精緻化することと;精緻化の後に続いて、参照ピクチャに基づいて当該1つまたは複数の速度ベクトルを導出することと、を包含する。
A34.解決策A33の方法において、精緻化および導出は、1つまたは複数の速度ベクトルのうちの1つの連続する値の間における差が所定の閾値より小さくなるまで複数回実行される。
A35.解決策A1乃至A34のいずれかの方法において、変換は、ビットストリーム表現から現在のブロックを生成する。
A36.解決策A1乃至A34のいずれかの方法において、変換は、現在のブロックからビットストリーム表現を生成する。
A37.映像システムにおける装置が、プロセッサ、および命令を有する非一過性のメモリを包含し、当該命令は、プロセッサによる実行時に、解決策A1乃至A36のいずれか1つの方法をプロセッサに実装させる。
A38.非一過性のコンピュータ可読媒体上に格納されたコンピュータプログラムプロダクトであって、解決策A1乃至A36のいずれか1つの方法を実行するためのプログラムコードを含むコンピュータプログラムプロダクト。
いくつかの実施形態においては、以下の技術的な解決策を実装することができる:
B1.映像処理の方法が、映像の現在のブロックのためにオプティカルフローを使用する符号化モードが有効化されたとの決定時に、その現在のブロックの各色成分のために単一タイプの補間フィルタを使用するフィルタリング工程を実行することと;そのフィルタリング工程に基づいて、現在のブロックと映像のビットストリーム表現の間における変換を実行することと、を包含する。
B2.解決策B1の方法において、色成分は、輝度成分を包含し、単一タイプの補間フィルタは、8タップ補間フィルタを包含する。
B3.解決策B1の方法において、フィルタリング工程において使用される現在のブロックのサンプルの第1の数は、単一タイプの補間フィルタによって要求されるサンプルの第2の数より少なく、それによってフィルタリング工程のメモリ帯域幅が低減される。
B4.解決策B3の方法において、サンプルの第2の数は、オプティカルフローを使用する符号化モードが適用されないとき、フィルタリング工程において使用される現在のブロックのサンプルの数に等しい。
B5.解決策B1の方法において、現在のブロックのサンプルの数がフィルタリング工程において使用され、それにおいてこの方法は、さらに、オプティカルフローを使用する符号化モードが適用されるとの決定時に、パディング工程を実行することを包含する。
B6.解決策B1の方法において、現在のブロックのサイズは、M×Nであり、勾配の計算によって要求されるサンプルの第1の数は、(M+G)×(N+G)であり、単一タイプの補間フィルタは、Lタップを包含し、フィルタリング工程によって要求されるサンプルの第2の数は、(M+G+L-1)×(N+G+L-1)であり、フィルタリング工程において使用されるサンプルの第3の数は、(M+L-1+k)×(N+L-1+k)であり、それにおいて、M、N、G、およびLは、正の整数であり、kは、Gより小さい整数であり、それにおいて、サンプルの第2の数とサンプルの第3の数の間における差を構成するサンプルの第4の数がパディングされる。
B7.解決策B6の方法において、M=N=8、L=8、かつG=2である。
B8.解決策B6またはB7の方法において、k=0またはk=1である。
B9.解決策B1の方法において、現在のブロックの左上のピクセルの座標が(0,0)であり、それにおいてこの方法は、さらに、所定の位置のピクセルに対する勾配値の計算およびオプティカルフローを使用する符号化モードの適用を抑制することを包含する。
B10.解決策B9の方法において、所定の位置のx座標は、-1またはWであり、それにおいてWは、現在のブロックの幅であり、かつWは、正の整数である。
B11.解決策B9の方法において、所定の位置のy座標は、-1またはHであり、それにおいてHは、現在のブロックの高さであり、かつHは、正の整数である。
B12.解決策B1の方法において、現在のブロックの左上のピクセルの座標が(0,0)であり、それにおいてこの方法は、さらに、所定の位置のピクセルのための勾配値の計算を修正することを包含する。
B13.解決策B12の方法において、所定の位置のx座標は、-1またはWであり、それにおいてWは、現在のブロックの幅であり、かつWは、正の整数である。
B14.解決策B12の方法において、所定の位置のy座標は、-1またはHであり、それにおいてHは、現在のブロックの高さであり、かつHは、正の整数である。
B15.解決策B13またはB14の方法において、勾配値の計算は、
Figure 2022506161000040
とすることを包含し、それにおいてWは、現在のブロックの幅であり、predSampleL0は、参照リストL0からの現在のブロックのための輝度予測サンプルを包含する配列であり、gradientHL0は、参照リストL0から導出された勾配値の水平成分であり、hxおよびvyは、整数の座標インデックスである。
B16.解決策B13またはB14の方法において、勾配値の計算は、
Figure 2022506161000041
とすることを包含し、
それにおいてWは、現在のブロックの幅であり、predSampleL0は、現在のブロックからの輝度予測サンプルを包含する配列であり、gradientVL0は、参照リストL0から導出された勾配値の垂直成分であり、hxおよびvyは、整数の座標インデックスである。
B17.解決策B1の方法は、さらに、勾配値の計算に先行して、現在のブロックの外側の1つまたは複数のサンプルを、当該1つまたは複数の外側のサンプルの補間に代えてパディングすることを包含する。
B18.解決策B1の方法において、オプティカルフローを用いる符号化モードにおいて使用される1つまたは複数の勾配の計算は、ALF(Adaptive Loop Filter)において使用されるものとまったく同じである。
B19.映像処理の方法が、映像の現在のブロックのためにオプティカルフローを使用する符号化モードが有効化されたとの決定時に、その現在のブロックの各色成分のために単一タイプの補間フィルタを使用するフィルタリング工程を実行することと;現在のブロックの少なくとも1つのサンプルが所定の範囲の外側に位置するとの決定時に、パディング工程を実行することと;これらのフィルタリング工程およびパディング工程に基づいて、現在のブロックと映像のビットストリーム表現の間における変換を実行することと、を包含する。
B20.解決策B19の方法において、パディング工程は、勾配の計算の実行に先行して実行される。
B21.解決策B19の方法において、所定の範囲は、現在のブロックの高さまたは幅に基づく。
B22.解決策B1乃至B21のいずれかの方法において、オプティカルフローを使用する符号化モードは、BDOF(Bi-Directional Optical Flow)予測モードを包含する。
B23.解決策B1乃至B22のいずれかの方法において、変換は、ビットストリーム表現から現在のブロックを生成する。
B24.解決策B1乃至B22のいずれかの方法において、変換は、現在のブロックからビットストリーム表現を生成する。
B25.映像システムにおける装置が、プロセッサ、および命令を伴う非一過性のメモリを包含し、それにおいて当該命令は、プロセッサによる実行時に、解決策B1乃至B24のいずれか1つの方法をプロセッサに実装させる。
B26.非一過性のコンピュータ可読媒体上に格納されたコンピュータプログラムプロダクトであって、解決策B1乃至B24のいずれか1つの方法を実行するためのプログラムコードを含むコンピュータプログラムプロダクト。
いくつかの実施形態においては、以下の技術的な解決策を実装することができる:
C1.映像処理の方法が、映像の現在のブロックとその映像のビットストリーム表現の間における変換のために、オプティカルフローツールのための勾配値計算アルゴリズムの使用を決定することと;その決定に基づいてその変換を実行することと、を包含し、それにおいて、勾配値計算アルゴリズムは、旧来の勾配値計算アルゴリズムとは異なり、
gradientHL0[x][y]=(predSampleL0[hx+1][vy]-predSampleL0[hx-1][vy])>>4、
gradientVL0[x][y]=(predSampleL0[hx][vy+1]-predSampleL0[hx][vy-1])>>4、
gradientHL1[x][y]=(predSampleL1[hx+1][vy]-predSampleL1[hx-1][vy])>>4、および、
gradientVL1[x][y]=(predSampleL1[hx][vy+1]-predSampleL1[hx][vy-1])>>4、
を包含し、
それにおいて、gradientHL0は、参照リストL0から導出された勾配値の水平成分であり、gradientVL0は、参照リストL0から導出された勾配値の垂直成分であり、gradientHL1は、参照リストL1から導出された勾配値の水平成分であり、gradientVL1は、参照リストL1から導出された勾配値の垂直成分であり、predSampleL0は、参照リストL0からの現在のブロックのための輝度予測サンプルを包含する配列であり、predSampleL1は、参照リストL1からの現在のブロックのための輝度予測サンプルを包含する配列であり、hxおよびvyは、整数の座標インデックスである。
C2.解決策C1の方法において、勾配値計算の修正は、所定の正の整数(S)によって勾配値をシフトすることを包含するが、それにおいては、S≠4とする。
C3.解決策C2の方法において、S=6である。
C4.解決策C2の方法において、S=B-Pであり、それにおいて、Bは、現在のブロックのサンプルのビット深度であり、Pは、正の整数である。
C5.解決策C4の方法において、P=6であり、B=8または12である。
C6.解決策C1の方法において、勾配値計算の修正は、勾配値をKビットの整数として表現できるように勾配値をクリッピングすることを包含し、それにおいて、Kは、正の整数である。
C7.解決策C6の方法において、K=8または16である。
C8.解決策C1の方法において、オプティカルフローツールのための勾配値計算アルゴリズムは、第1の内部変数(temp)、第2のインターバル変数(tempX)、および第3の内部変数(tempY)の計算を包含し、それにおいて、その計算は:
temp[x][y]=SignShift(predSampleL0[hx][vy]-predSampleL1[hx][vy],S1)、
tempX[x][y]=SignShift(gradientHL0[x][y]+gradientHL1[x][y],S2)、および、
tempY[x][y]=SignShift(gradientVL0[x][y]+gradientVL1[x][y],S3)、
として定義され、
それにおいてS1、S2、およびS3は、整数であり、SignShift(x,s)は、
Figure 2022506161000042
として定義され、それにおいてoffは、整数である。
C9.解決策C8の方法において、S1=6かつS2=S3=3である。
C10.解決策C8の方法において、S1、S2、およびS3は、現在のブロックのサンプルのビット深度(B)に基づく。
C11.解決策C10の方法において、S1=B-P1、S2=B-P2、かつS3=B-P3であり、それにおいて、P1、P2、およびP3は、整数である。
C12.解決策C11の方法において、B=8、10、または12であり、それにおいて、P1=4、かつP2=P3=7である。
C13.解決策C1の方法において、オプティカルフローツールのための勾配値計算アルゴリズムは、それぞれ、K1ビット整数、K2ビット整数、およびK3ビット整数によって表現可能な第1の内部変数(temp)と、第2のインターバル変数(tempX)と、第3の内部変数(tempY)の計算を包含し、それにおいて、K1、K2、およびK3は、正の整数である。
C14.解決策C13の方法において、K1=8または16、K2=8または16、かつK3=8または16である。
C15.解決策C13またはC14の方法において、temp、tempX、およびtempYの計算の後に、
temp[x][y]=Clip3(-2K1-1,2K1-1-1,gradientHL0[x][y])、
tempX[x][y]=Clip3(-2K2-1,2K2-1-1,gradientVL0[x][y])、および、
tempY[x][y]=Clip3(-2K3-1,2K3-1-1,gradientHL1[x][y])、
として定義されるクリッピング工程が続き、
それにおいて、Clip3(x,min,max)は、
Figure 2022506161000043
として定義される。
C16.解決策C1の方法において、オプティカルフローツールのための勾配値計算アルゴリズムは、それぞれ、K1ビット整数、K2ビット整数、K3ビット整数、K4ビット整数、およびK5ビット整数によって表現可能なsGx2、sGy2、sGxGy、sGxdI、およびsGydIを包含する複数の内部変数の計算を包含し、それにおいて、K1、K2、K3、K4、およびK5は、正の整数である。
C17.解決策C16の方法において、K1=8または16、K2=8または16、K3=8または16、K4=8または16、かつK5=8または16である。
C18.解決策C16およびC17の方法において、sGx2、sGy2、sGxGy、sGxdI、およびsGydIの計算の後に、
sGx2=Shift(sGx2,S1)、
sGy2=Shift(sGy2,S2)、
sGxGy=SignShift(sGxGy,S3)、
sGxdI=SignShift(sGxdI,S4)、および、
sGydI=SignShift(sGydI,S5)、
として定義されるシフト工程が続き、
それにおいて、S1、S2、S3、S4、およびS5は、正の整数であり、Shift(x,s)=(x+off)>>sであり、それにおいてSignShift(x,s)は、
Figure 2022506161000044
として定義され、
それにおいてoffは、整数である。
C19.解決策C18の方法において、S1、S2、S3、S4、S5は、4または5に等しい。
C20.解決策C18の方法において、S1、S2、S3、S4、S5は、現在のブロックのサンプルのビット深度(B)に基づく。
C21.解決策C8の方法において、S1=B-P1、S2=B-P2、S3=B-P3、S4=B-P4、かつS5=B-P5であり、それにおいてP1、P2、P3、P4、およびP5は、整数である。
C22.解決策C21の方法において、B=8、10、または12である。
C23.解決策C16およびC17の方法において、sGx2、sGy2、sGxGy、sGxdI、およびsGydIの計算の後に、
sGx2=Clip3(0,2K1-1,sGx2)、
sGy2=Clip3(0,2K2-1,sGy2)、
sGxGy=Clip3(-2K3-1,2K3-1-1,sGxGy)、
sGxdI=Clip3(-2K4-1,2K4-1-1,sGxdI)、および、
sGydI=Clip3(-2K5-1,2K5-1-1,sGydI)、
として定義されるクリッピング工程が続き、
それにおいて、Clip3(x,min,max)は、
Figure 2022506161000045
として定義される。
C24.解決策C1乃至C23のいずれかの方法において、オプティカルフローツールは、BDOF(Bi-Directional Optical Flow)ツールを包含する。
C25.映像処理の方法が、映像の現在のブロックのサブブロックについての1つまたは複数の差分絶対値和(SAD)の計算に基づいて、その現在のブロックのためにオプティカルフローを使用する符号化モードの選択的な有効化に関係する判定を行うことと;その判定に基づいて、現在のブロックとその現在のブロックのビットストリーム表現の間における変換を実行することと、を包含する。
C26.解決策C25の方法において、SADの計算は、MR-SAD(Mean-Removed Sum of Absolute Difference)の計算を包含する。
C27.解決策C25またはC26の方法において、SADの計算は、現在のブロックの所定の位置にあるサンプルに対して実行される。
C28.解決策C25またはC26の方法において、SADの計算は、現在のブロックのサブブロックの所定の位置にあるサンプルに対して実行される。
C29.映像処理の方法が、映像の現在のブロックのためのGBi(Generalized Bi-prediction improvement)処理の選択的な有効化に基づいて、その現在のブロックのためにオプティカルフローを使用する符号化モードの1つまたは複数のパラメータを導出することと;BDOF予測モードの1つまたは複数のパラメータに基づいて、現在のブロックと映像のビットストリーム表現の間における変換を実行することと、を包含する。
C30.映像処理の方法が、オプティカルフローを使用する符号化モードを用いて符号化された映像の現在のブロックのために、オプティカルフローを使用する符号化モードの最終予測出力の訂正項に対してクリッピング工程を実行することと;その最終予測出力に基づいて、現在のブロックと映像のビットストリーム表現の間における変換を実行することと、を包含する。
C31.クレームC30の方法において、訂正項は、範囲[minCorrection,maxCorrection]にクリップされ、それにおいて、minCorrectionおよびmaxCorrectionは、整数である。
C32.解決策C31の方法において、minCorrection=-32かつmaxCorrection=32である。
C33.解決策C31の方法において、minCorrectionおよびmaxCorrectionは、サンプルのビット深度に基づく。
C34.解決策C31の方法において、minCorrectionおよびmaxCorrectionは、現在の映像ブロックの高さまたは幅に基づく。
C35.解決策C31の方法において、minCorrectionおよびmaxCorrectionは、VPS(Video Parameter Set)、SPS(Sequence Parameter Set)、PPS(Picture Parameter Set)、スライスヘッダ、タイルグループヘッダ、タイル、CU(Coding Unit)、またはCTU(Coding Tree Unit)内においてシグナリングされる。
C36.解決策C30の方法において、最終予測出力は、範囲[minPred,maxPred]にクリップされ、それにおいて、minPredおよびmaxPredは、整数である。
C37.解決策C36の方法において、minPred=-32かつmaxPred=32である。
C38.解決策C36の方法において、midPredおよびmaxPredは、サンプルのビット深度に基づく。
C39.解決策C36の方法において、midPredおよびmaxPredは、現在の映像ブロックの高さまたは幅に基づく。
C40.解決策C36の方法において、midPredおよびmaxPredは、VPS(Video Parameter Set)、SPS(Sequence Parameter Set)、PPS(Picture Parameter Set)、スライスヘッダ、タイルグループヘッダ、タイル、CU(Coding Unit)、またはCTU(Coding Tree Unit)内においてシグナリングされる。
C41.解決策C30乃至C40のいずれかの方法において、訂正項は、オプティカルフローを使用する符号化モードに基づいて導出されたサンプルのための予測オフセットを包含する。
C42.解決策C25乃至C41のいずれかの方法において、オプティカルフローを使用する符号化モードは、BDOF(Bi-Directional Optical Flow)予測モードを包含する。
C43.解決策C1乃至C42のいずれかの方法において、変換は、ビットストリーム表現から現在のブロックを生成する。
C44.解決策C1乃至C42のいずれかの方法において、変換は、現在のブロックからビットストリーム表現を生成する。
C45.映像システムにおける装置が、プロセッサ、および命令を伴う非一過性のメモリを包含し、それにおいて当該命令は、プロセッサによる実行時に、解決策C1乃至C44のいずれか1つの方法をプロセッサに実装させる。
C46.非一過性のコンピュータ可読媒体上に格納されたコンピュータプログラムプロダクトであって、解決策C1乃至C44のいずれか1つの方法を実行するためのプログラムコードを含むコンピュータプログラムプロダクト。
6.開示されているテクノロジの実装の例
図29は、映像処理装置2900のブロック図である。装置2900は、この中に述べられている方法のうちの1つまたは複数の実装に使用することができる。装置2900は、スマートフォン、タブレット、コンピュータ、IoT(Internet of Things)受信機等々において具体化されてよい。装置2900は、1つまたは複数のプロセッサ2902、1つまたは複数のメモリ2904、および映像処理ハードウエア2906を含んでよい。プロセッサ2902(1つまたは複数)は、この書類の中に記述されている1つまたは複数の方法(限定ではないが、方法2800を含む)を実装するべく構成されてよい。メモリ(または、複数のメモリ)2904は、この中に記述されている方法および技術を実装するために使用されるデータおよびコードを格納するために使用されてよい。映像処理ハードウエア2906を使用して、この書類の中に記述されているいくつかの技術をハードウエア回路において実装されてよい。
いくつかの実施形態においては、映像符号化方法は、図29に関して記述されているとおりのハードウエアプラットフォーム上において実装される装置を使用して実装されてよい。
開示されている技術のいくつかの実施形態は、映像処理ツールまたはモードの有効化の判定または決定を行うことを含む。一例においては、映像処理ツールまたはモードが有効化されるとき、エンコーダが、映像のブロックの処理においてそれらのツールまたはモードを使用するか、または実装することになるが、必ずしも、それらのツールまたはモードの使用に基づいて結果として得られるビットストリームを修正しなくてもよい。すなわち、映像のブロックから映像のビットストリーム表現への変換は、映像処理ツールまたはモードを、それが判定または決定に基づいて有効化されているとき、使用することになる。別の例においては、映像処理ツールまたはモードが有効化されるとき、デコーダが、映像処理ツールまたはモードに基づいてビットストリームが修正されているとの認識の下に、そのビットストリームを処理することになる。すなわち、映像のビットストリーム表現から映像のブロックへの変換は、上記の判定または決定に基づいて有効化された映像処理ツールまたはモードを使用して実行されることになる。
開示されている技術のいくつかの実施形態は、映像処理ツールまたはモードの無効化の判定または決定を行うことを含む。一例においては、映像処理ツールまたはモードが無効化されるとき、エンコーダは、映像のブロックの、映像のビットストリーム表現への変換において当該ツールまたはモードを使用しない。別の例においては、映像処理ツールまたはモードが無効化されるとき、デコーダが、上記の判定または決定に基づいて有効化される映像処理ツールまたはモードを使用してビットストリームが修正されていないとの認識の下に、そのビットストリームを処理することになる。
図30は、この中に開示されている多様な技術を実装することができる一例の映像処理システム3000を示したブロック図である。多様な実装は、システム3000の構成要素のうちのいくつかまたは全部を含んでよい。システム3000は、映像コンテンツを受信するための入力3002を含んでよい。映像コンテンツは、生または非圧縮フォーマット、例えば、8または10ビットの多成分ピクセル値として、あるいは圧縮または符号化フォーマットで受信されてよい。入力3002は、ネットワークインターフェース、周辺機器バスインターフェース、またはストレージインターフェースを表してもよい。ネットワークインターフェースの例には、イーサネット、PON(Passive Optical Network)等の有線インターフェース、およびWi-Fiまたはセルラインターフェース等の無線インターフェースが含まれる。
システム3000は、この書類の中に記述されている多様な符号化または符号化方法を実装できる符号化構成要素3004を含んでよい。符号化構成要素3004は、入力3002から符号化構成要素3004の出力への映像の平均ビットレートを低減し、その映像の符号化された表現を生成してよい。したがって、符号化手法は、しばしば、映像圧縮または映像トランスコーディング技術と呼ばれる。符号化構成要素3004の出力は、構成要素3006によって表されているとおり、格納されるか、または通信接続を介して送信されるかのいずれかであってよい。格納されるか、または通信される、入力3002において受信された映像のビットストリーム(または、符号化された)表現は、構成要素3008によって、表示インターフェース3010へ送信されるピクセル値または表示可能な映像を生成するために使用されてよい。ビットストリーム表現からユーザが視聴可能な映像を生成する処理は、しばしば、映像展開と呼ばれる。さらにまた、特定の映像処理動作が『符号化(coding)』動作またはツールと呼ばれるが、認識されるように、符号化ツールまたは動作は、エンコーダにおいて使用されることになり、それに対応する、その符号化の結果を逆転させる復号化ツールまたは動作は、デコーダによって実行されることになる。
周辺機器バスインターフェースまたは表示インターフェースの例には、USB(Universal Serial Bus)またはHDMI(High Definition Multimedia Interface)またはディスプレイポート等々を含めてよい。ストレージインターフェースの例には、SATA(Serial Advanced Technology Attachment)、PCI、IDEインターフェース、およびこれらの類が含まれる。この書類の中に記述されている技術は、携帯電話、ラップトップ、スマートフォン、またはそのほかの、デジタルデータ処理および/または映像表示を実行する能力のあるデバイスといった多様な電子デバイス内において具体化されてよい。
以上から、現在開示されている技術の具体的な実施形態が、ここでは、例証の目的のために記述されていること、したがって、本発明の範囲からの逸脱を伴うことなく多様な修正がなされ得ることは認識されることになろう。したがって、現在開示されている技術は、付随する特許請求の範囲によるほかは限定されない。
この特許書類の中に記述されている発明の要旨および機能動作の実装は、この明細書内に開示されている構造およびそれらの構造的均等物を含めた多様なシステム、デジタル電子回路、またはコンピュータソフトウエア、ファームウエア、もしくはハードウエア内において、またはそれらのうちの1つまたは複数の組み合わせにおいて実装することが可能である。この明細書内に記述されている発明の要旨の実装は、1つまたは複数のコンピュータプログラムプロダクト、すなわち有体物の非一過性のコンピュータ可読媒体上にエンコードされたデータ処理装置による実行、あるいはその動作の制御のためのコンピュータプログラム命令の1つまたは複数のモジュールとして実装することが可能である。コンピュータ可読媒体は、マシン可読ストレージデバイス、マシン可読ストレージ基材、メモリデバイス、マシン可読伝播信号をもたらす組成物、またはこれらのうちの1つまたは複数の組み合わせとすることが可能である。用語『データ処理ユニット』または『データ処理装置』は、例として述べるが、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含むデータを処理するためのあらゆる装置、デバイス、およびマシンを囲い込む。『装置』は、ハードウエアに加えて、論議されているコンピュータプログラムのための実行環境を作り出すコード、例えば、プロセッサファームウエア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらのうちの1つまたは複数の組み合わせを構成するコードを含むことが可能である。
コンピュータプログラム(プログラム、ソフトウエア、ソフトウエアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイル済みまたは翻訳済みの言語を含む任意形式のプログラミング言語で記述することが可能であり、かつそれを、スタンドアロンプログラムとして、またはモジュール、構成要素、サブルーチンとして、またはそのほかのコンピューティング環境における使用に適したユニットを含む任意の形式で展開することが可能である。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応している必要はない。プログラムは、そのほかのプログラムまたはデータ(例えば、マークアップ言語書類内に格納される1つまたは複数のスクリプト)を保持するファイルの部分内、論議されているプログラム専用の単一ファイル内、または複数の調和されたファイル(例えば、1つまたは複数のモジュール、サブプログラム、またはコードの部分を格納するファイル)内に格納することが可能である。コンピュータプログラムは、1つのコンピュータ上において、または1つの場所に設置されるか、または複数の場所にわたって分散され、通信ネットワークによって相互接続される複数のコンピュータ上において実行されるべく展開することが可能である。
この明細書の中に記述されている処理およびロジックフローは、1つまたは複数のコンピュータプログラムを実行して入力データに対する演算および出力の生成により機能を実施する1つまたは複数のプログラマブルプロセッサによって実施することが可能である。これらの処理およびロジックフローは、専用ロジック回路、例えば、FPGA(Field Programmable Gate Array)またはASIC(Application Specific Integrated Circuit)によって実行することも可能であり、また、それによって装置を実装することも可能である。
コンピュータプログラムの実行に適したプロセッサには、例として述べるが、汎用および専用両方のマイクロプロセッサ、および任意の1つまたは複数の任意種類のデジタルコンピュータが含まれる。概して言えば、プロセッサは、読出し専用メモリまたはランダムアクセスメモリまたはそれら両方から命令およびデータを受け取る。コンピュータの必須の要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを格納するための1つまたは複数のメモリデバイスである。概して言えば、コンピュータは、また、データを格納するための、例えば、磁気、光磁気ディスク、もしくは光ディスクといった1つまたは複数の大容量ストレージデバイスも含むか、またはそこからデータを受け取るために、またはそこへデータを転送するために、またはその両方のためにそれらと動作可能に結合される。しかしながら、コンピュータがそれらのデバイスを有することは、必須ではない。コンピュータプログラム命令およびデータを格納するために適したコンピュータ可読媒体には、例として述べるが、半導体メモリデバイス、例えば、EPROM、EEPROMおよびフラッシュメモリデバイスを含めたあらゆる形式の不揮発性メモリ、媒体、およびメモリデバイスが含まれる。プロセッサおよびメモリは、専用ロジック回路によって補うこと、またはそれの中に組み込むことが可能である。
この明細書は、図面とともに、例示的なものとしてのみ考慮されることが意図されており、それにおいて、例示的とは例であることを意味する。ここで使用されるとき、『または』の使用は、『および/または』を含むことが、文脈がそれ以外であることを明白に示していない限り、意図されている。
この特許書類は、多くの詳細を含んでいるが、これらは、本発明の、または請求されている範囲を限定するものと解釈されるべきでなく、むしろその逆に、特定の発明の特定の実施形態に特有なものとし得る特徴の記述として解釈される。この特許書類の中で、別々の実施形態という文脈において記述されている特定の特徴は、単一の実施形態の中で組み合わされて実装されることも可能である。その逆に、単一の実施形態という文脈において記述されている多様な特徴は、複数の実施形態の中で別々に、または任意の適切な部分的組み合わせにおいて実装することも可能である。それに加えて、特徴が、特定の組み合わせにおいて作用するとして上で記述されていることもあり、また、当初こそそれ自体が主張されていることがあるかも知れないが、主張されている組み合わせからの1つまたは複数の特徴を、いくつかの場合には、組み合わせから削除することが可能であり、また、主張されている組み合わせが、部分的組み合わせに、または部分的組み合わせの変形に向けられてもよい。
同様に、図面においては、動作が特定の順序で図示されているが、そのことを、所望の結果の達成に、その種の動作がそこに示されている特定の順序もしくは並び順において実行されること、または図解されている動作が実行されることが要求されているとしては理解されないものとする。それに加えて、この特許書類の中に記述されている実施形態内における多様なシステム構成要素の分離が、すべての実施形態においてその種の分離が要求されているとしては理解されるべきではない。
いくつかの実装および例だけが記述されているが、そのほかの実装、強化、および変形を、この特許書類の中に記述され、図解されているものに基づいて行うことは可能である。

Claims (26)

  1. 映像処理の方法であって、
    映像の現在のブロックのためにオプティカルフローを使用する符号化モードが有効化されたとの決定時に、前記現在のブロックの各色成分のために単一タイプの補間フィルタを使用するフィルタリング工程を実行することと、
    前記フィルタリング工程に基づいて、前記現在のブロックと前記映像のビットストリーム表現の間における変換を実行することと、
    を有する、映像処理の方法。
  2. 前記色成分は、輝度成分を有し、前記単一タイプの補間フィルタは、8タップ補間フィルタを有する、請求項1に記載の方法。
  3. 前記フィルタリング工程において使用される前記現在のブロックのサンプルの第1の数は、前記単一タイプの補間フィルタによって要求されるサンプルの第2の数より少なく、それによって前記フィルタリング工程のメモリ帯域幅が低減される、請求項1に記載の方法。
  4. サンプルの前記第2の数は、オプティカルフローを使用する前記符号化モードが適用されないとき、前記フィルタリング工程において使用される前記現在のブロックのサンプルの数に等しい、請求項3に記載の方法。
  5. 前記現在のブロックのサンプルの数が前記フィルタリング工程において使用され、
    前記方法は、さらに、
    オプティカルフローを使用する前記符号化モードが適用されるとの決定時に、パディング工程を実行すること、
    を包含する、請求項1に記載の方法。
  6. 前記現在のブロックのサイズは、M×Nであり、
    勾配計算によって要求されるサンプルの第1の数は、(M+G)×(N+G)であり、
    前記単一タイプの補間フィルタは、Lタップを有し、
    前記フィルタリング工程によって要求されるサンプルの第2の数は、(M+G+L-1)×(N+G+L-1)であり、
    前記フィルタリング工程において使用されるサンプルの第3の数は、(M+L-1+k)×(N+L-1+k)であり、
    M、N、G、およびLは、正の整数であり、
    kは、Gより小さい整数であり、
    サンプルの前記第2の数とサンプルの前記第3の数の間の差を有するサンプルの第4の数がパディングされる、請求項1に記載の方法。
  7. M=N=8、L=8、かつG=2である、請求項6に記載の方法。
  8. k=0、またはk=1である、請求項6または7に記載の方法。
  9. 前記現在のブロックの左上のピクセルの座標が(0,0)であり、
    前記方法は、さらに、
    所定の位置のピクセルに対する勾配値の計算およびオプティカルフローを使用する前記符号化モードの適用を抑制すること、
    を有する、請求項1に記載の方法。
  10. 前記所定の位置のx座標は、-1またはWであり、
    Wは、前記現在のブロックの幅であり、
    Wは、正の整数である、請求項9に記載の方法。
  11. 前記所定の位置のy座標は、-1またはHであり、
    Hは、前記現在のブロックの高さであり、
    Hは、正の整数である、請求項9に記載の方法。
  12. 前記現在のブロックの左上のピクセルの座標が(0,0)であり、
    前記方法は、さらに、
    所定の位置のピクセルのための勾配値の計算を修正すること、
    を有する、請求項1に記載の方法。
  13. 前記所定の位置のx座標は、-1またはWであり、
    Wは、前記現在のブロックの幅であり、
    Wは、正の整数である、請求項12に記載の方法。
  14. 前記所定の位置のy座標は、-1またはHであり、
    Hは、前記現在のブロックの高さであり、
    Hは、正の整数である、請求項12に記載の方法。
  15. 前記勾配値の前記計算は、
    Figure 2022506161000046
    とすることを有し、
    Wは、前記現在のブロックの幅であり、
    predSampleL0は、参照リストL0からの前記現在のブロックのための輝度予測サンプルを有する配列であり、
    gradientHL0は、前記参照リストL0から導出された前記勾配値の水平成分であり、
    hxおよびvyは、整数の座標インデックスである、請求項13または14に記載の方法。
  16. 前記勾配値の前記計算は、
    Figure 2022506161000047
    とすることを有し、
    Wは、前記現在のブロックの幅であり、
    predSampleL0は、前記現在のブロックからの輝度予測サンプルを有する配列であり、
    gradientVL0は、参照リストL0から導出された前記勾配値の垂直成分であり、
    hxおよびvyは、整数の座標インデックスである、請求項13または14に記載の方法。
  17. 前記勾配値の前記計算に先行して、前記現在のブロックの外側の1つまたは複数のサンプルを、前記1つまたは複数の外側のサンプルの補間に代えてパディングすること、
    を更に有する、請求項1に記載の方法。
  18. オプティカルフローを使用する前記符号化モードにおいて使用される1つまたは複数の勾配の計算は、ALF(Adaptive Loop Filter)において使用されるものと同一である、請求項1に記載の方法。
  19. 映像処理の方法であって、
    映像の現在のブロックのためにオプティカルフローを使用する符号化モードが有効化されたとの決定時に、前記現在のブロックの各色成分のために単一タイプの補間フィルタを使用するフィルタリング工程を実行することと、
    前記現在のブロックの少なくとも1つのサンプルが所定の範囲の外側に位置するとの決定時に、パディング工程を実行することと、
    前記フィルタリング工程および前記パディング工程に基づいて、前記現在のブロックと前記映像のビットストリーム表現の間における変換を実行することと、
    を有する、映像処理の方法。
  20. 前記パディング工程は、勾配計算の実行に先行して実行される、請求項19に記載の方法。
  21. 前記所定の範囲は、前記現在のブロックの高さまたは幅に基づく、請求項19に記載の方法。
  22. オプティカルフローを使用する前記符号化モードは、BDOF(Bi-Directional Optical Flow)予測モードを有する、請求項1乃至21のいずれかに記載の方法。
  23. 前記変換は、前記ビットストリーム表現から前記現在のブロックを生成する、請求項1乃至22のいずれかに記載の方法。
  24. 前記変換は、前記現在のブロックから前記ビットストリーム表現を生成する、請求項1乃至22のいずれかに記載の方法。
  25. 映像システムにおける装置であって、プロセッサおよび命令を有する非一時的メモリを有し、前記命令は、前記プロセッサにより実行された際に、前記プロセッサに、請求項1乃至24のうちの1つまたは複数に記載の前記方法を実装させる、装置。
  26. 非一時的コンピュータ可読媒体上に格納されたコンピュータプログラムプロダクトであって、請求項1乃至24のうちの1つまたは複数に記載の前記方法を実行するためのプログラムコードを含むコンピュータプログラムプロダクト。
JP2021523358A 2018-11-05 2019-11-05 精緻化を伴うインター予測のための補間 Active JP7231727B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023021775A JP2023062073A (ja) 2018-11-05 2023-02-15 精緻化を伴うインター予測のための補間

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2018/113928 2018-11-05
CN2018113928 2018-11-05
PCT/CN2019/115697 WO2020094000A1 (en) 2018-11-05 2019-11-05 Interpolation for inter prediction with refinement

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023021775A Division JP2023062073A (ja) 2018-11-05 2023-02-15 精緻化を伴うインター予測のための補間

Publications (2)

Publication Number Publication Date
JP2022506161A true JP2022506161A (ja) 2022-01-17
JP7231727B2 JP7231727B2 (ja) 2023-03-01

Family

ID=70610813

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021523358A Active JP7231727B2 (ja) 2018-11-05 2019-11-05 精緻化を伴うインター予測のための補間
JP2023021775A Pending JP2023062073A (ja) 2018-11-05 2023-02-15 精緻化を伴うインター予測のための補間

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023021775A Pending JP2023062073A (ja) 2018-11-05 2023-02-15 精緻化を伴うインター予測のための補間

Country Status (9)

Country Link
US (6) US11064206B2 (ja)
EP (2) EP4300965A3 (ja)
JP (2) JP7231727B2 (ja)
KR (2) KR20230158645A (ja)
CN (4) CN112970261A (ja)
BR (1) BR112021008251A2 (ja)
MX (1) MX2021004715A (ja)
SG (1) SG11202104480RA (ja)
WO (3) WO2020093999A1 (ja)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019234600A1 (en) 2018-06-05 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Interaction between pairwise average merging candidates and intra-block copy (ibc)
WO2019244051A1 (en) 2018-06-19 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Selected mvd precision without mvp truncation
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
TWI719519B (zh) 2018-07-02 2021-02-21 大陸商北京字節跳動網絡技術有限公司 對於dmvr的塊尺寸限制
TW202017377A (zh) 2018-09-08 2020-05-01 大陸商北京字節跳動網絡技術有限公司 視頻編碼和解碼中的仿射模式
CN110933427B (zh) 2018-09-19 2023-05-12 北京字节跳动网络技术有限公司 仿射模式编码的模式相关自适应运动矢量分辨率
TWI822862B (zh) 2018-09-23 2023-11-21 大陸商北京字節跳動網絡技術有限公司 8參數仿射模型
WO2020058956A1 (en) 2018-09-23 2020-03-26 Beijing Bytedance Network Technology Co., Ltd. Non-affine blocks predicted from affine motion
CN110944181B (zh) 2018-09-23 2023-03-10 北京字节跳动网络技术有限公司 仿射模型的多个假设
TWI818086B (zh) 2018-09-24 2023-10-11 大陸商北京字節跳動網絡技術有限公司 擴展Merge預測
WO2020084475A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Utilization of refined motion vector
CN111083485A (zh) 2018-10-22 2020-04-28 北京字节跳动网络技术有限公司 仿射模式的运动信息的利用
MX2021004715A (es) 2018-11-05 2021-06-04 Beijing Bytedance Network Tech Co Ltd Interpolacion para interprediccion con refinamiento.
US11197005B2 (en) * 2018-11-08 2021-12-07 Qualcomm Incorporated Cross-component prediction for video coding
CN112970262B (zh) 2018-11-10 2024-02-20 北京字节跳动网络技术有限公司 三角预测模式中的取整
CN111436227B (zh) 2018-11-12 2024-03-29 北京字节跳动网络技术有限公司 在视频处理中使用组合帧间-帧内预测
CN113170192B (zh) 2018-11-15 2023-12-01 北京字节跳动网络技术有限公司 仿射的merge与mvd
WO2020098813A1 (en) 2018-11-16 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Usage for history-based affine parameters
WO2020098810A1 (en) 2018-11-17 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Merge with motion vector difference in video processing
WO2020103852A1 (en) 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Difference calculation based on patial position
CN113170171B (zh) 2018-11-20 2024-04-12 北京字节跳动网络技术有限公司 组合帧间帧内预测模式的预测细化
EP3896973A4 (en) * 2018-12-12 2022-09-28 SHARP Kabushiki Kaisha PREDICTIVE IMAGE GENERATING DEVICE, MOVING IMAGE DECODING DEVICE, MOVING IMAGE ENCODING DEVICE, AND PREDICTIVE IMAGE GENERATING METHOD
KR102662036B1 (ko) 2018-12-21 2024-05-03 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 모션 벡터 차이 모드에서 병합시 모션 벡터 정밀도
CA3120750A1 (en) * 2018-12-28 2020-07-02 Sony Group Corporation Image processing device and method
EP3895429A4 (en) 2019-01-31 2022-08-10 Beijing Bytedance Network Technology Co., Ltd. CONTEXT FOR CODE AN ADAPTIVE MOTION VECTOR RESOLUTION IN AFFINE MODE
WO2020164577A1 (en) 2019-02-14 2020-08-20 Beijing Bytedance Network Technology Co., Ltd. Selective application of decoder side refining tools
US11632563B2 (en) * 2019-02-22 2023-04-18 Qualcomm Incorporated Motion vector derivation in video coding
CN113491125A (zh) 2019-02-22 2021-10-08 北京字节跳动网络技术有限公司 基于历史的仿射模式子表
KR20210126126A (ko) * 2019-02-22 2021-10-19 후아웨이 테크놀러지 컴퍼니 리미티드 크로마 서브블록의 아핀 기반 인터 예측을 위한 방법 및 장치
CN113545085A (zh) 2019-03-03 2021-10-22 北京字节跳动网络技术有限公司 基于图片头中的信息启用dmvr
KR102635518B1 (ko) 2019-03-06 2024-02-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 변환된 단예측 후보의 사용
JP7203241B2 (ja) 2019-03-08 2023-01-12 北京字節跳動網絡技術有限公司 映像処理における再整形情報の信号伝達
WO2020187198A1 (en) 2019-03-17 2020-09-24 Beijing Bytedance Network Technology Co., Ltd. Prediction refinement based on optical flow
CN113647099B (zh) 2019-04-02 2022-10-04 北京字节跳动网络技术有限公司 解码器侧运动矢量推导
CN113728651B (zh) 2019-04-02 2022-10-25 北京字节跳动网络技术有限公司 视频处理中的自适应环路滤波
WO2020211862A1 (en) 2019-04-18 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. Restriction on applicability of cross component mode
EP3922015A4 (en) 2019-04-19 2022-07-20 Beijing Bytedance Network Technology Co., Ltd. GRADIENT CALCULATION IN VARIOUS MOTION VECTOR REFINEMENTS
CN113711608B (zh) 2019-04-19 2023-09-01 北京字节跳动网络技术有限公司 利用光流的预测细化过程的适用性
CN113711609B (zh) 2019-04-19 2023-12-01 北京字节跳动网络技术有限公司 利用光流的预测细化过程中的增量运动矢量
AU2020263199B2 (en) 2019-04-23 2023-10-19 Beijing Bytedance Network Technology Co., Ltd. Methods for cross component dependency reduction
CN113728646A (zh) * 2019-04-25 2021-11-30 北京达佳互联信息技术有限公司 用于利用光流的预测细化的方法和装置
BR112021021661A2 (pt) 2019-05-08 2021-12-21 Beijing Bytedance Network Tech Co Ltd Método e aparelho para processar dados de vídeo, e, meios de armazenamento e de gravação legíveis por computador não transitórios
CN110225339A (zh) * 2019-05-10 2019-09-10 上海德衡数据科技有限公司 一种hevc视频序列编解码加速方法
CN113812155B (zh) * 2019-05-11 2023-10-27 北京字节跳动网络技术有限公司 多种帧间编解码方法之间的交互
BR112021022174A2 (pt) 2019-05-11 2021-12-21 Beijing Bytedance Network Tech Co Ltd Método para processar dados de vídeo, aparelho para processar dados de vídeo, meio de armazenamento e meio de gravação
JP7431253B2 (ja) 2019-05-16 2024-02-14 北京字節跳動網絡技術有限公司 動き情報精緻化のサブ領域に基づいた決定
WO2020233659A1 (en) 2019-05-21 2020-11-26 Beijing Bytedance Network Technology Co., Ltd. Adaptive motion vector difference resolution for affine mode
MX2021015521A (es) 2019-06-14 2022-02-03 Lg Electronics Inc Metodo y dispositivo de descodificacion de imagen para derivar la informacion del indice de ponderacion para la generacion de una muestra de prediccion.
CN111031318B (zh) * 2019-06-21 2020-12-29 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
CN113994697A (zh) 2019-06-22 2022-01-28 北京字节跳动网络技术有限公司 色度残差缩放的语法元素
US20220264146A1 (en) * 2019-07-01 2022-08-18 Interdigital Vc Holdings France, Sas Bi-prediction refinement in affine with optical flow
EP3977738A4 (en) 2019-07-07 2022-08-17 Beijing Bytedance Network Technology Co., Ltd. SIGNALING OF CHROMA RESIDUAL SCALE
US11272203B2 (en) * 2019-07-23 2022-03-08 Tencent America LLC Method and apparatus for video coding
JP7322277B2 (ja) 2019-07-27 2023-08-07 北京字節跳動網絡技術有限公司 参照ピクチャタイプに従ったツールの使用制限
KR20220073752A (ko) 2019-10-12 2022-06-03 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩 툴들을 위한 상위 레벨 신택스
CN114556918A (zh) 2019-10-12 2022-05-27 北京字节跳动网络技术有限公司 细化视频编解码工具的使用和信令
JP7482220B2 (ja) 2019-10-18 2024-05-13 北京字節跳動網絡技術有限公司 サブピクチャのパラメータセットシグナリングにおける構文制約
US11425405B2 (en) * 2019-11-15 2022-08-23 Qualcomm Incorporated Cross-component adaptive loop filter in video coding
JP7425224B2 (ja) * 2020-04-07 2024-01-30 北京字節跳動網絡技術有限公司 高レベル構文におけるインター予測のための信号通知
WO2021204234A1 (en) 2020-04-09 2021-10-14 Beijing Bytedance Network Technology Co., Ltd. Deblocking signaling in video coding
CN115486064A (zh) 2020-04-10 2022-12-16 抖音视界有限公司 标头语法元素和自适应参数集的使用
CN115868159A (zh) 2020-04-17 2023-03-28 抖音视界有限公司 自适应参数集单元的存在
WO2021222037A1 (en) 2020-04-26 2021-11-04 Bytedance Inc. Conditional signaling of weighted prediction information
US20230336772A1 (en) * 2022-04-18 2023-10-19 Tencent America LLC Mmvd candidate refinement methods
WO2023250115A1 (en) * 2022-06-23 2023-12-28 Beijing Dajia Internet Information Technology Co., Ltd Method and apparatus for cross-component prediction for video coding
WO2024006409A1 (en) * 2022-06-29 2024-01-04 Beijing Dajia Internet Information Technology Co., Ltd Method and apparatus for cross-component prediction for video coding
WO2024081291A1 (en) * 2022-10-12 2024-04-18 Beijing Dajia Internet Information Technology Co., Ltd Method and apparatus for cross-component prediction for video coding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018230493A1 (ja) * 2017-06-14 2018-12-20 シャープ株式会社 動画像復号装置、動画像符号化装置、予測画像生成装置及び動きベクトル導出装置
WO2020061082A1 (en) * 2018-09-21 2020-03-26 Vid Scale, Inc. Complexity reduction and bit-width control for bi-directional optical flow

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101768207B1 (ko) 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
US20120230407A1 (en) * 2011-03-11 2012-09-13 General Instrument Corporation Interpolation Filter Selection Using Prediction Index
JP5649523B2 (ja) 2011-06-27 2015-01-07 日本電信電話株式会社 映像符号化方法,装置,映像復号方法,装置およびそれらのプログラム
US20130177084A1 (en) 2012-01-10 2013-07-11 Qualcomm Incorporated Motion vector scaling in video coding
US10200709B2 (en) 2012-03-16 2019-02-05 Qualcomm Incorporated High-level syntax extensions for high efficiency video coding
US9420280B2 (en) * 2012-06-08 2016-08-16 Qualcomm Incorporated Adaptive upsampling filters
US9538180B2 (en) 2012-12-17 2017-01-03 Qualcomm Incorporated Motion vector prediction in video coding
US9374581B2 (en) 2013-01-07 2016-06-21 Qualcomm Incorporated Signaling of picture order count to timing information relations for video timing in video coding
US9380305B2 (en) 2013-04-05 2016-06-28 Qualcomm Incorporated Generalized residual prediction in high-level syntax only SHVC and signaling and management thereof
US10212435B2 (en) * 2013-10-14 2019-02-19 Qualcomm Incorporated Device and method for scalable coding of video information
US10880565B2 (en) 2014-03-24 2020-12-29 Qualcomm Incorporated Use of specific HEVC SEI messages for multi-layer video codecs
US9918105B2 (en) 2014-10-07 2018-03-13 Qualcomm Incorporated Intra BC and inter unification
US10055674B2 (en) * 2015-03-20 2018-08-21 Texas Instruments Incorporated Confidence estimation for optical flow
WO2017036399A1 (en) * 2015-09-02 2017-03-09 Mediatek Inc. Method and apparatus of motion compensation for video coding based on bi prediction optical flow techniques
US10375413B2 (en) * 2015-09-28 2019-08-06 Qualcomm Incorporated Bi-directional optical flow for video coding
US10368083B2 (en) 2016-02-15 2019-07-30 Qualcomm Incorporated Picture order count based motion vector pruning
KR20180129860A (ko) * 2016-04-25 2018-12-05 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측 방법 및 장치
WO2017197146A1 (en) * 2016-05-13 2017-11-16 Vid Scale, Inc. Systems and methods for generalized multi-hypothesis prediction for video coding
US10560712B2 (en) * 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
US20170374369A1 (en) * 2016-06-24 2017-12-28 Mediatek Inc. Methods and Apparatuses of Decoder Side Intra Mode Derivation
US10390015B2 (en) * 2016-08-26 2019-08-20 Qualcomm Incorporated Unification of parameters derivation procedures for local illumination compensation and cross-component linear model prediction
US11356693B2 (en) 2016-09-29 2022-06-07 Qualcomm Incorporated Motion vector coding for video coding
US10462462B2 (en) 2016-09-29 2019-10-29 Qualcomm Incorporated Motion vector difference coding technique for video coding
US10341659B2 (en) * 2016-10-05 2019-07-02 Qualcomm Incorporated Systems and methods of switching interpolation filters
WO2018097078A1 (ja) * 2016-11-22 2018-05-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
WO2018097700A1 (ko) * 2016-11-28 2018-05-31 한국전자통신연구원 필터링을 위한 방법 및 장치
CN116320495A (zh) 2016-11-28 2023-06-23 韩国电子通信研究院 用于滤波的方法和装置
CN110115032B (zh) 2016-12-22 2021-07-20 联发科技股份有限公司 用于视频编解码的运动细化的方法以及装置
US10931969B2 (en) 2017-01-04 2021-02-23 Qualcomm Incorporated Motion vector reconstructions for bi-directional optical flow (BIO)
US20180199057A1 (en) * 2017-01-12 2018-07-12 Mediatek Inc. Method and Apparatus of Candidate Skipping for Predictor Refinement in Video Coding
US10701366B2 (en) * 2017-02-21 2020-06-30 Qualcomm Incorporated Deriving motion vector information at a video decoder
US10523964B2 (en) 2017-03-13 2019-12-31 Qualcomm Incorporated Inter prediction refinement based on bi-directional optical flow (BIO)
WO2018166357A1 (en) 2017-03-16 2018-09-20 Mediatek Inc. Method and apparatus of motion refinement based on bi-directional optical flow for video coding
US10491917B2 (en) * 2017-03-22 2019-11-26 Qualcomm Incorporated Decoder-side motion vector derivation
US10595035B2 (en) * 2017-03-22 2020-03-17 Qualcomm Incorporated Constraining motion vector information derived by decoder-side motion vector derivation
CN116708831A (zh) * 2017-04-24 2023-09-05 Sk电信有限公司 编解码视频数据的方法、发送编码视频数据比特流的方法
CN117478884A (zh) 2017-07-03 2024-01-30 Vid拓展公司 用于视频编解码的设备、方法
WO2019045427A1 (ko) 2017-08-29 2019-03-07 에스케이텔레콤 주식회사 양방향 옵티컬 플로우를 이용한 움직임 보상 방법 및 장치
US10986360B2 (en) * 2017-10-16 2021-04-20 Qualcomm Incorproated Various improvements to FRUC template matching
US11750832B2 (en) 2017-11-02 2023-09-05 Hfi Innovation Inc. Method and apparatus for video coding
US20190141320A1 (en) 2017-11-07 2019-05-09 Qualcomm Incorporated Enhanced reference picture management in video coding
EP3804324A4 (en) * 2018-06-11 2022-08-03 HFI Innovation Inc. BIDIRECTIONAL OPTICAL FLOW METHOD AND APPARATUS FOR VIDEO CODING
MX2021004715A (es) 2018-11-05 2021-06-04 Beijing Bytedance Network Tech Co Ltd Interpolacion para interprediccion con refinamiento.

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018230493A1 (ja) * 2017-06-14 2018-12-20 シャープ株式会社 動画像復号装置、動画像符号化装置、予測画像生成装置及び動きベクトル導出装置
WO2020061082A1 (en) * 2018-09-21 2020-03-26 Vid Scale, Inc. Complexity reduction and bit-width control for bi-directional optical flow

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CHEN-YEN LAI, ET AL.: "CE9-related: BIO simplification", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, vol. JVET-L0099-v3, JPN6022016863, October 2018 (2018-10-01), pages 1 - 6, ISSN: 0004889818 *
CHING-YEH CHEN, ET AL.: "CE9.5.2: BIO with simplified gradient calculation, adaptive BIO granularity, and applying BIO to chr", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, vol. JVET-K0255-v1, JPN6022016860, July 2018 (2018-07-01), pages 1 - 5, ISSN: 0004889816 *
XIAOYU XIU, ET AL.: "CE9-related: A simplified bi-directional optical flow (BIO) design based on the combination of CE9.5", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, vol. JVET-K0485-v1, JPN6022016859, July 2018 (2018-07-01), pages 1 - 3, ISSN: 0004889817 *
XIAOYU XIU, ET AL.: "CE9-related: A simplified design of bi-directional optical flow (BIO)", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, vol. JVET-L0591, JPN6022016861, October 2018 (2018-10-01), pages 1 - 9, XP030192183, ISSN: 0004889819 *

Also Published As

Publication number Publication date
KR102607097B1 (ko) 2023-11-29
EP3861731A1 (en) 2021-08-11
US20220038714A1 (en) 2022-02-03
US20200382795A1 (en) 2020-12-03
BR112021008251A2 (pt) 2021-08-03
US11902535B2 (en) 2024-02-13
JP7231727B2 (ja) 2023-03-01
CN117241017A (zh) 2023-12-15
US20220086458A1 (en) 2022-03-17
CN112970261A (zh) 2021-06-15
US11089310B2 (en) 2021-08-10
WO2020093999A1 (en) 2020-05-14
US11706421B2 (en) 2023-07-18
WO2020094010A1 (en) 2020-05-14
CN112997485A (zh) 2021-06-18
CN112970259A (zh) 2021-06-15
US11064206B2 (en) 2021-07-13
US20200396453A1 (en) 2020-12-17
MX2021004715A (es) 2021-06-04
KR20230158645A (ko) 2023-11-20
US20240089464A1 (en) 2024-03-14
EP3861731A4 (en) 2021-11-24
KR20210084474A (ko) 2021-07-07
EP4300965A3 (en) 2024-01-17
EP4300965A2 (en) 2024-01-03
US20210160511A1 (en) 2021-05-27
SG11202104480RA (en) 2021-05-28
WO2020094000A1 (en) 2020-05-14
JP2023062073A (ja) 2023-05-02

Similar Documents

Publication Publication Date Title
JP7231727B2 (ja) 精緻化を伴うインター予測のための補間
US11134268B2 (en) Simplified coding of generalized bi-directional index
US11470341B2 (en) Interaction between different DMVD models
US11778170B2 (en) Temporal gradient calculations in bio
JP2022503715A (ja) 適応動きベクトル解像度による動きベクトルの変更
JP2022500909A (ja) 適応動きベクトル解像度によるアフィンモードへの構文の使用
JP2023145563A (ja) 異なる動きベクトル微調整における勾配計算
CN110740321B (zh) 基于更新的运动矢量的运动预测
RU2808586C2 (ru) Интерполяция для внешнего предсказания с уточнением
CN115152229A (zh) merge估计区域下IBC块的BV列表构建过程

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210430

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221216

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230216

R150 Certificate of patent or registration of utility model

Ref document number: 7231727

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150