JP2023134521A - デコーダ側の動きベクトルの導出 - Google Patents

デコーダ側の動きベクトルの導出 Download PDF

Info

Publication number
JP2023134521A
JP2023134521A JP2023105110A JP2023105110A JP2023134521A JP 2023134521 A JP2023134521 A JP 2023134521A JP 2023105110 A JP2023105110 A JP 2023105110A JP 2023105110 A JP2023105110 A JP 2023105110A JP 2023134521 A JP2023134521 A JP 2023134521A
Authority
JP
Japan
Prior art keywords
block
technique
bio
video
current block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023105110A
Other languages
English (en)
Inventor
ホンビン リウ
Hongbin Liu
リー ジャン
Li Zhang
カイ ジャン
Kai Zhang
ジジョン シュー
Jizheng Xu
ユエ ワン
Yue Wang
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 JP2023134521A publication Critical patent/JP2023134521A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search

Landscapes

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

Abstract

Figure 2023134521000001
【課題】映像および画像符号化、復号化技術を提供する。
【解決手段】視覚メディア処理方法であって、視覚メディアデータの現在のブロックと対応する視覚メディアデータのコーディング表現との間で変換を行うことを含み、現在のブロックを変換することは、双方向オプティカルフロー(BIO)技法またはデコーダ側動きベクトル改良(DMVR)技法の一方または両方を使用することが現在のブロックに対して有効または無効化されるかどうかを判定することを含み、BIO技法またはDMVR技法の使用を判定することは、現在のブロックに関連付けられたコスト基準に基づく。
【選択図】図10

Description

関連出願の相互参照
パリ条約に基づく適用可能な特許法および/または規則に基づいて、本願は、2019年4月2日出願の国際特許出願PCT/CN2019/081155号、2019年5月7日出願の国際特許出願PCT/CN2019/085796号の優先権および利益を適時に主張することを目的とする。米国法に基づくすべての目的のために、上記出願の開示全体は、本明細書の開示の一部として参照により援用される。
本明細書は、映像および画像符号化、復号化技術に関する。
デジタル映像は、インターネット及び他のデジタル通信ネットワークにおいて最大の帯域幅の使用量を占めている。映像を受信及び表示することが可能である接続されたユーザ機器の数が増加するにつれ、デジタル映像の使用に対する帯域幅需要は増大し続けることが予測される。
1つの例示的な態様において、映像を処理する方法が開示される。前記方法は、視覚メディアデータの現在のブロックと対応する視覚メディアデータのコーディング表現との間で変換を行うことを含み、この現在のブロックを変換することは、双方向オプティカルフロー(BIO)技法またはデコーダ側動きベクトル改良(DMVR)技法の一方または両方を使用することが現在のブロックに対して有効または無効化されるかどうかを判定することを含み、BIO技法またはDMVR技法の使用を判定することは、現在のブロックに関連付けられたコスト基準に基づく。
別の例示的な態様において、映像を処理する方法が開示される。前記方法は、視覚メディアデータの現在のブロックと対応する前記視覚メディアデータのコーディング表現との間で変換を行うことを含み、前記現在のブロックを前記変換することは、デコーダ側動きベクトル改良(DMVR)技法を前記現在のブロックに使用することが有効化されているか、または無効化されているかを判定することを含み、前記DMVR技法は、平均除去絶対差の合計(mean removed sum of absolute differences)(MRSAD)コスト基準以外のコスト基準に基づいて前記現在のブロックの動き情報を改良することを含む。
別の例示的な態様において、映像を処理する方法が開示される。前記方法は、視覚メディアデータの現在のブロックと対応する前記視覚メディアデータのコーディング表現との間で変換を行うことを含み、前記現在のブロックを前記変換することは、双方向オプティカルフロー(BIO)技法またはデコーダ側動きベクトル改良(DMVR)技法の一方または両方を使用することが前記現在のブロックに対して有効または無効化されるかどうかを判定することを含み、前記BIO技法または前記DMVR技法の前記使用を判定することは、前記現在のブロックに関連付けられた1対の参照ブロックの平均値の差が閾値を超えることを計算することに基づく。
別の例示的な態様において、映像を処理する方法が開示される。前記方法は、第1の参照ブロックを修正して第1の修正された参照ブロックを生成し、第2の参照ブロックを修正して第2の修正された参照ブロックを生成することであって、前記第1の参照ブロックおよび前記第2の参照ブロックは、両方とも視覚メディアデータの現在のブロックに関連付けられている、生成することと、前記第1の修正された参照ブロックと前記第2の修正された参照ブロックとの間の差を判定することであって、前記差は、絶対変換差の合計(sum of absolute transformed differences)(SATD)と、平均値分離絶対変換差の合計(mean removed sum of absolute transformed differences)(MRSATD)と、
二乗誤差の合計(sum of squares error)(SSE)と、平均値分離二乗誤差の合計(mean removed sum of squares error)(MRSSE)と、平均値差、または勾配値のうちの1つ以上を含む、判定することと、前記視覚メディアデータの現在のブロックと対応する前記視覚メディアデータのコーディング表現との間で変換を行うことを含み、前記変換は、前記第1の参照ブロックおよび前記第2の参照ブロックをそれぞれ修正することから生成された前記第2の修正された参照ブロックとの間の前記差の使用を含む。
別の例示的な態様において、映像を処理する方法が開示される。前記方法は、視覚メディアデータの現在のブロックに関連付けられた参照ピクチャを使用して時間的勾配または修正された時間的勾配を判定することであって、前記時間的勾配または前記修正された時間的勾配は、前記参照ピクチャ間の差を示す、判定することと、前記視覚メディアデータの現在のブロックと対応する前記視覚メディアデータのコーディング表現との間で変換を行うことを含み、前記変換は、前記時間的勾配または前記修正された時間的勾配に部分的に基づいて双方向オプティカルフロー(BIO)技法の使用を含む。
別の例示的な態様において、映像を処理する方法が開示される。前記方法は、第1の映像ブロックまたはそのサブブロックに関連付けられた参照ピクチャを使用して第1の時間的勾配を判定することと、第2の映像ブロックまたはそのサブブロックに関連付けられた参照ピクチャを使用して第2の時間的勾配を判定することと、修正された第1の時間的勾配および修正された第2の時間的勾配を生成するために、前記第1の時間的勾配の修正および前記第2の時間的勾配の修正を行うことであって前記第1の映像ブロックに関連付けられた前記第1の時間的勾配の前記修正は、前記第2の映像ブロックに関連付けられた前記第2の時間的勾配の前記修正とは異なる、修正を行うことと、前記第1の映像ブロックおよび前記第2の映像ブロックの、前記対応するコーディング表現への変換を行うこととを含む。
別の例示的な態様において、映像を処理する方法が開示される。前記方法は、前記現在のブロックに関連付けられた第1の相互参照ブロックおよび第2の相互参照ブロックの一方または両方を修正することと、修正された第1の相互参照ブロックおよび/または前記修正された第2相互参照ブロックの前記一方または両方を使用することに基づいて、双方向オプティカル(BIO)フロー技法を適用することにしたがって、前記現在のブロックに関連付けられた空間的勾配を判定することと、前記現在のブロックおよび対応するコーディング表現の間での変換を行うことであって、前記変換は前記現在のブロックに関連付けられた前記空間的勾配の使用を含む、変換を行うことと、を含む。
別の例示的な態様において、映像を処理する方法が開示される。前記方法は、処理装置によって、ブロックレベルで信号通知されたフラグが、現在のブロックに対して、デコーダ側動きベクトル改良(DMVR)技法または双方向オプティカルフロー(BIO)技法のうちの一方または両方を有効にするべきであることを少なくとも部分的に示す判定を行うことと、前記現在のブロックと対応するコーディング表現との間で変換を行うことであって、前記コーディング表現は、前記DMVR技法および/または前記BIO技法のうちの前記一方または両方を有効にするかどうかを示す前記フラグを含む、変換を行うことと、を含む。
別の例示的な態様において、映像を処理する方法が開示される。前記方法は、処理装置により、現在のブロックに対してデコーダ側動きベクトル改良(DMVR)技法を有効にするべきであると判定することを含み、前記判定は、前記現在のブロックの高さにのみ基づいて行われ、且つ前記現在のブロックと対応するコーディング表現との間で変換を行うことを含む。
別の例示的な態様において、映像を処理する方法が開示される。前記方法は、視覚メディアデータの現在のブロックと対応する視覚メディアデータのコーディング表現との間で変換を行うことを含み、前記変換は、現在のブロックに対して、デコーダ側動きベクトル改良(DMVR)技法または双方向オプティカルフロー(BIO)技法の一方または両方に関連付けられた規則を使用することを含み、前記DMVR技法に関連付けられた規則は、前記BIO技法への適用に準拠しており、前記BIO技法または前記DMVR技法の前記一方または両方の前記使用が有効化されているか無効化されているかを判定することは、前記規則を適用することに基づく。
別の例示的な態様において、上述された方法は、処理装置を含む映像デコーダによって実装されてもよい。
別の例示的な態様において、上述された方法は、処理装置を含む映像エンコーダによって実装されてもよい。
さらに別の例示的な態様において、これらの方法は、処理装置実行可能命令の形式で実施されてもよく、コンピュータ可読プログラム媒体に記憶されてもよい。
これらの、および他の態様は、本明細書でさらに説明される。
バイラテラルマッチングの例を示す。 テンプレートマッチングの例を示す。 フレームレートアップ変換(FRUC)における単方向動き推定(ME)の例を示す。 オプティカルフローの軌跡の例を示す。 ブロック拡張なしの双方向オプティカルフロー(BIO)の例を示す。 ブロック拡張なしの双方向オプティカルフロー(BIO)の例を示す。 6点検索によるバイラテラルマッチングの例を示す。 適応整数検索パターンおよびハーフサンプル検索パターンの例を示す。 映像処理装置の例を示すブロック図である。 映像エンコーダの実装形態の例を示すブロック図である。 映像処理方法の例を示すフローチャートである。 映像処理方法の例を示すフローチャートである。 映像処理方法の例を示すフローチャートである。 映像処理方法の例を示すフローチャートである。 映像処理方法の例を示すフローチャートである。 映像処理方法の例を示すフローチャートである。 映像処理方法の例を示すフローチャートである。 開示された技術を実装することができる例示的な映像処理システムを示すブロック図である。 映像処理方法の例を示すフローチャートである。 映像処理方法の例を示すフローチャートである。 映像処理方法の例を示すフローチャートである。 映像処理方法の例を示すフローチャートである。 映像処理方法の例を示すフローチャートである。 映像処理方法の例を示すフローチャートである。 映像処理方法の例を示すフローチャートである。 映像処理方法の例を示すフローチャートである。 映像処理方法の例を示すフローチャートである。 映像処理方法の例を示すフローチャートである。
映像の圧縮率を改善するために、研究者らは、映像を符号化する新しい技術を絶えず求めている。本明細書は、伸張または復号化されたデジタル映像の品質を向上させるために、映像ビットストリームのデコーダによって使用できる様々な技術を提供する。さらに、映像エンコーダは、さらなる符号化に使用される復号化されたフレームを再構成するために、符号化の処理中にこれらの技術を実装してもよい。
本明細書では、読みやすさを向上させるためにセクションの見出しを使用しており、各章に記載される技法および実施形態の範囲をそのセクションにのみ限定するものではない。さらに、様々な既存の映像コーデック規格からの特定の用語を使用したが、開示される技術は、これらの映像規格またはその後継規格にのみ限定されるものではなく、他の映像コーデック規格にも適用可能である。さらに、いくつかの場合において、対応するコーディングステップを使用する技法が開示され、デコーダにおいて、逆順の対応する復号化するステップが行われることが理解される。また、コーディングは、映像が1つのコーディング表現(例えば、1つのビットレート)から別のコーディング表現(例えば、異なるビットレート)に表現されるコード変換を行うために使用してもよい。
1. 概要
本明細書は、映像コーディング技術に関する。具体的には、映像コーディングにおける動き補償に関する。HEVCのような既存の映像コーディング規格に適用してもよいし、規格(Versatile Video Coding)を確定させるために適用してもよい。本発明は、将来の映像コーディング規格または映像コーデックにも適用可能である。
2. 背景
映像コーディング規格は、主に周知のITU-TおよびISO/IEC規格の開発によって発展してきた。ITU-TはH.261とH.263を作り、ISO/IECはMPEG-1とMPEG-4 Visualを作り、両団体はH.262/MPEG-2 VideoとH.264/MPEG-4 AVC(Advanced Video Coding)とH.265/HEVC規格を共同で作った。H.262以来、映像コーディング規格は、時間予測と変換コーディングが利用されるハイブリッド映像コーディング構造に基づく。HEVCを超えた将来の映像コーディング技術を探索するため、2015年には、VCEGとMPEGが共同でJVET(Joint Video Exploration Team)を設立した。それ以来、多くの新しい方法がJVETによって採用され、JEM(Joint Exploration Mode)と呼ばれる参照ソフトウェアに組み込まれてきた。2018年4月には、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)の間にJoint Video Expert Team(JVET)が発足し、HEVCと比較して50%のビットレート削減を目標にVVC規格の策定に取り組んでいる。
VVC草案の最新バージョン、即ち汎用映像コーディング(草案2)は、以下を参照することができる。
http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/11_Ljubljana/wg11/JVET-K1001-v7.zip.VTMと呼ばれるVVCの最新の参照ソフトウェアは、以下で確認することができる。
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-2.1.
図9は映像エンコーダの実装形態の例のブロック図である。図9は、エンコーダの実装が、映像エンコーダが映像復号化機能も実行する(次の映像データの符号化に使用するために映像データの圧縮表現を再構成する)フィードバック経路を組み込んでいることを示す。
2.1 パターンマッチング動きベクトル導出
PMMVD(Pattern Matched Motion Vector Derivation)モードは、FRUC(Frame-Rate Up Conversion)技術に基づく特殊なマージモードである。このモードでは、ブロックの動き情報は信号通知されず、デコーダ側で導出される。
そのマージフラグが真である場合、FRUCフラグは、CUに信号通知される。FRUCフラグが偽である場合、マージインデックスを信号通知することができ、通常のマージモードが使用される。FRUCフラグが真である場合、追加のFRUCモードフラグを信号通知して、どの方法(バイラテラルマッチングまたはテンプレートマッチング)を使用してブロックの動き情報を導出するかを示す。
エンコーダ側では、CUのためにFRUCマージモードを使用するかどうかの決定は、通常のマージ候補に対して行われるのと同じように、RDコストの選択に基づく。つまり、RDコスト選択を使用して、1つのCUに対して2つのマッチングモード(バイラテラルマッチングおよびテンプレートマッチング)を両方チェックする。最小コストに導くものが、更に、他の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の値は、(16)のように計算されるが、Dは、予め規定義された分割深さであり、JEMにおいてデフォルトで3に設定される。そして、各サブCUのMVを以下のように導出する。
Figure 2023134521000002
図1に示すように、このバイラテラルマッチングは、2つの異なる参照ピクチャにおける現在のCUの動き軌跡に沿った2つのブロック間の最も近いマッチングを見出すことにより、現在のCUの動き情報を導出するために用いられる。連続した動き軌跡を仮定すると、2つの参照ブロックを指す動きベクトルMV0およびMV1は、現在のピクチャと2つの参照ピクチャとの間の時間的距離、例えばTD0およびTD1に比例する。特殊なケースとしては、現在のピクチャが時間的に2つの参照ピクチャの間にあり、現在のピクチャから2つの参照ピクチャまでの時間的な距離が同じである場合、バイラテラルマッチングはミラーに基づく双方向MVとなる。
図2に示すように、現在のピクチャにおけるテンプレート(現在のCUの上側および/または左側の近傍のブロック)と、参照ピクチャにおけるブロック(テンプレートと同じサイズ)との間の最も近いマッチングを見出すことで、テンプレートマッチングを使用して、現在のCUの動き情報を導出する。前述のFRUCマージモード以外に、テンプレートマッチングは、AMVPモードにも適用される。JEMにおいて、HEVCと同様、AMVPは2つの候補を有する。テンプレートマッチング法を用いることで、新しい候補を導出する。テンプレートマッチングによって新規に導出された候補が、第1の既存のAMVP候補と異なる場合、AMVP候補リストの最初に挿入し、次に、リストサイズを2(第2の既存のAMVP候補を取り除くことを意味する)に設定する。AMVPモードに適用される場合、CUレベル検索のみが適用される。
CUレベルMV候補セット
CUレベルのMV候補セットは、以下を含むことができる。
・現在のCUがAMVPモードになっている場合の元のAMVP候補、
・すべてのマージ候補、
・2.1.1.3項に紹介されるような、補間されたMVフィールド内の複数のMV、
・上と左の近傍の動きベクトル
バイラテラルマッチングを使用する場合、マージ候補の各有効なMVを入力として使用して、バイラテラルマッチングを仮定してMV対を生成する。例えば、マージ候補の1つの有効なMVは、参照リストAにおいて(MVa,refa)であり、そして、その対をなすバイラテラルMVの参照ピクチャrefbが他の参照リストBにおいて見出され、refaおよびrefbは、時間的に現在のピクチャの異なる側にある。参照リストBにおいてこのようなrefbが利用可能でない場合、refbをrefaとは異なる参照として決定し、現在のピクチャとの時間的距離はリストBにおける最小値である。refbを決定した後、現在のピクチャとrefa,refbとの時間的距離に基づいてMVaをスケーリングすることでMVbを導出する。
補間された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候補セットは、以下を含むことができる。
・CUレベルの検索から決定されたMV、
・上、左、左上、右上の近傍のMV、
・参照ピクチャからの並置されたMVのスケーリングされたバージョン、
・最大4つのATMVP候補、
・最大4つのSTMVP候補
参照ピクチャからのスケーリングされたMVは、以下のように導出される。両方のリストにおける参照ピクチャをすべてトラバースする。参照ピクチャにおけるサブCUの配列位置にあるMVは、開始CUレベルMVの参照に対してスケーリングされる。
ATMVPおよびSTMVPの候補は、最初の4つの候補に限定される
サブCUレベルにおいて、最大17個のMVが候補リストに追加される。
補間MVフィールドの生成
フレームをコーディングする前に、一方のMEに基づいてピクチャ全体に対して補間動きフィールドを生成する。そして、この動きフィールドを後にCUレベルまたはサブCUレベルのMV候補として使用してもよい。
まず、両方の参照リストにおける各参照ピクチャの動きフィールドは、4×4ブロックレベルでトラバースされる。各4×4ブロックにおいて、現在のピクチャ(図3に示す)の4×4ブロックを通過するブロックに関連する動きで、補間動きがまだ割り当てられていない場合、時間的距離TD0およびTD1に基づいて(HEVCにおけるTMVPのMVスケーリングと同様に)、参照ブロックの動きを現在のピクチャにスケーリングし、スケーリングされた動きを現在のフレームのブロックに割り当てる。4×4ブロックにスケーリングされたMVが割り当てられていない場合、ブロックの動きは、補間された動きフィールドにおいて利用不可能であるとマークされる。
補間およびマッチングコスト
1つの動きベクトルが1つの分数のサンプル位置を指す場合、動き補償補間を行うことができる。複雑性を低減するために、通常の8タップHEVC補間の代わりに、バイラテラルマッチングおよびテンプレートマッチングの両方に双線形補間を使用する。
マッチングコストの計算は、異なるステップでは少し異なる。CUレベルの候補セットから候補を選択する場合、マッチングコストは、バイラテラルマッチングまたはテンプレートマッチングの差分の絶対値の和(SAD)である。開始MVを決定した後、サブCUレベル検索におけるバイラテラルマッチングのマッチングコストCを以下のように算出する。
Figure 2023134521000003
ここで、wは、経験的に4に設定された重み係数であり、MVおよびMVは、それぞれ、現在のMVおよび開始MVを示す。SADは、依然として、サブCUレベル検索におけるテンプレートマッチングのマッチングコストとして使用される。
FRUCモードにおいて、MVは、輝度サンプルのみを使用することによって導出される。導出された動きは、MCインター予測のために、輝度および彩度の両方に使用される。MVを決定した後、輝度用の8タップ補間フィルタおよび彩度用の4タップ補間フィルタを使用して、最終的なMCを行う。
MVの改良
MV改良は、バイラテラルマッチングコストまたはテンプレートマッチングコストの基準を有するパターンに基づくMV検索である。JEMでは、2つの検索パターン、即ち、無制限中心バイアス菱形検索(UCBDS)およびCUレベルおよびサブCUレベルでのMV改良のための適応的横断検索をそれぞれサポートする。CUおよびサブCUレベルのMV改良の両方のために、MVは、1/4輝度サンプルMVの精度で直接検索され、これに続いて1/8輝度サンプルMVの改良が行われる。CUおよびサブCUステップのためのMV改良の検索範囲は、8つの輝度サンプルに等しく設定される。
テンプレートマッチングFRUCマージモードにおける予測方向の選択
バイラテラルマッチングマージモードにおいては、2つの異なる参照ピクチャにおける現在のCUの動き軌跡に沿った2つのブロック間の最も近いマッチングに基づいて、CUの動き情報を導出するため、双方向予測が常に適用される。テンプレートマッチングマージモードについては、そのような限定はない。テンプレートマッチングマージモードにおいて、エンコーダは、list0からの単一予測、list1からの単一予測、またはCUのための双方向予測のうちから選択することができる。選択は、テンプレートマッチングコストに基づいて、以下のように行う。
costBi≦factor*min(cost0,cost1)の場合
双方向予測を用いる。
それ以外の場合において、cost0≦cost1の場合
list0からの単一予測を用いる。
そうでない場合、
list1からの単一予測を用いる。
ここで、cost0はlist0テンプレートマッチングのSADであり、cost1はlist1テンプレートマッチングのSADであり、costBiは双方向予測テンプレートマッチングのSADである。factorの値が1.25である場合、選択処理が双方向予測に偏っていることを意味する。
このインター予測方向選択は、CUレベルのテンプレートマッチング処理にのみ適用される
ハイブリッドのイントラおよびインター予測
JVET-L0100には、多重仮説を生成する1つの方法として、ハイブリッドのイントラおよびインター予測とを用いる複数の仮説予測が提案されている。
多重仮説予測をイントラモードの改良に適用する場合、マルチ仮説予測は、1つのイントラ予測と1つのマージインデックス予測とを組み合わせる。マージCUにおいて、フラグが真である場合、1つのフラグをマージモードのために信号通知し、イントラ候補リストから1つのイントラモードを選択する。輝度成分の場合、イントラ候補リストは、DC、プレーナ、水平、および垂直モードを含む4つのイントラ予測モードから導出され、イントラ候補リストのサイズは、ブロックの形状に依存して3または4であることができる。CUの幅がCUの高さの2倍よりも大きい場合、水平モードはイントラモードリストを排除し、CUの高さがCUの幅の2倍よりも大きい場合、垂直モードはイントラモードリストから削除される。重み付け平均を使用して、イントラモードインデックスで選択された1つのイントラ予測モードと、マージインデックスで選択された1つのマージインデックス付き予測とを組み合わせる。クロマ成分の場合、DMは、余分な信号伝達なしに常に適用される。予測を結合するための重みは、以下のように記述される。DCまたは平面モードが選択された場合、またはCBの幅または高さが4より小さい場合、等分した重みが適用される。CBの幅および高さが4以上のCBに対して、水平/垂直モードが選択された場合、まず、1つのCBを垂直/水平方向に4つの等面積領域に分割する。それぞれの重みセットは、(w_intra,w_inter)と表し、iは1~4であり、(w_intra,w_inter)=(6,2)、(w_intra,w_inter)=(5,3)、(w_intra,w_inter)=(3,5)、(w_intra,w_inter)=(2,6)である場合に、対応する領域に適用される。(w_intra,w_inter)は、参照サンプルに最も近い領域に対するものであり、(w_intra,w_inter)は、参照サンプルから最も遠い領域に対するものである。そして、2つの重み付け予測と3ビットの右シフトとを合計することで、合成予測を算出することができる。また、以下の近傍のCUを参照するために、予測子のイントラ仮説のためのイントラ予測モードを省略することができる。
双方向オプティカルフロー(BIO)
BIOにおいて、まず、動き補償を行い、現在のブロックの(各予測方向における)第1の予測を生成する。第1の予測は、ブロック内の各サブブロック/画素の空間的勾配、時間的勾配、およびオプティカルフローを導出するために用いられ、これらを使用して第2の予測、即ちサブブロック/画素の最終予測を生成する。以下、その詳細を説明する。
双方向オプティカルフロー(BIO)は、双方向予測のためにブロック単位の動き補償の上で実行されるサンプル単位の動きの改良である。サンプルレベルの動きの改良は、信号通知を使用しない。
ここで、ブロック動き補償後の基準k(k=0,1)からの輝度値をI(k)とし、∂I(k)/∂x、∂I(k)/∂yをそれぞれ、I(k)の勾配の水平成分、垂直成分とする。オプティカルフローが有効化されていると仮定すると、動きベクトルフィールド(v,v)は、以下の式によって与えられる。
Figure 2023134521000004
このオプティカルフロー方程式をそれぞれのサンプルの動き軌跡に対してエルミート補間によって組み合わせることにより、両端にある両機能値I(k)および導関数∂I(k)/∂x、∂I(k)/∂yに合致する唯一の3次多項式が得られる。t=0におけるこの多項式の値は、BIO次式のような、BIO予測となる。
Figure 2023134521000005
ここで、τおよびτは、図4に示すように、参照フレームまでの距離を示す。距離τおよびτは、Ref0およびRef1のPOCに基づいて以下のように計算される。τ=POC(current)-POC(Ref0),τ=POC(Ref1)-POC(current).両方の予測が同じ時間方向から来たものである場合(両方とも過去から来たものであるか、または両方とも将来から来たものである場合)、符号が異なる(即ち、τ・τ<0)。ここで、BI0は、予測が同じ時刻からのものでない(即ち、τ≠τ)場合にのみ適用され、両方の参照領域は、非ゼロ動き(MVx,MVy,MVx,MVy≠0)を有し、ブロック動きベクトルは、時間距離(MVx/MVx=MVy/MVy=-τ/τ)に比例する。
動きベクトルフィールド(v,v)は、点AおよびB(図9上の動き軌跡と基準フレーム平面の交差)における値の差Δを最小化することによって判定される。モデルは、Δに対するローカルテーラー展開の第1の線形項のみを以下のように使用する。
Figure 2023134521000006
式5におけるすべての値は、サンプルの位置(i’,j’)に依存し、これまでのところ表記から省略した。動きがローカル周辺エリアにおいて一貫していると仮定すると、Δは、現在の予測点(i,j)を中心とする(2M+1)×(2M+1)個の正方形窓Ωの内側で最小化することができる。式中、Mは2に等しい。
Figure 2023134521000007
この最適化問題に対して、JEMは、まず垂直方向に最小化し、次に水平方向に最小化する簡単なアプローチを使用する。その結果、以下となる。
Figure 2023134521000008
式中、以下である。
Figure 2023134521000009
ゼロまたは非常に小さな数値での除算を回避するために、式7および式8において、正則化パラメータrおよびmを導入する。
r=500・4d-8 (10)
m=700・4d-8 (11)
ここで、dは映像サンプルのビット深度である。
BIOに対するメモリアクセスを通常の双方向予測動き補償と同じにするために、現在のブロック内の位置に対してのみ、すべての予測値および勾配値I(k)、∂I(k)/∂x、∂I(k)/∂yを計算する。式9において、予測ブロックの境界上の現在の予測点を中心とする(2M+1)×(2M+1)個の正方形窓Ωは、(図5(a)に示すように)ブロックの外側の位置にアクセスできる。JEMにおいて、ブロックの外部のI(k)、∂I(k)/∂x、∂I(k)/∂yの値はブロックの内部で最も近い利用可能な数値に等しくなるように設定される。例えば、これは、図5(b)に示すように、パディングとして実装されてもよい。
BIOを用いることで、サンプル毎に動きフィールドを改良することができる。計算の複雑性を低減するために、JEMではブロックに基づくBIOの設計が用いられている。4×4ブロックに基づいて動きの改良を計算する。ブロックに基づくBIOにおいて、4×4ブロックにおけるすべてのサンプルの、式9におけるsの値を統合し、次いで、この統合したsの値を使用して、4×4ブロックのためのBIO動きベクトルオフセットを導出する。具体的には、ブロックに基づくBIO導出には、以下の式を用いる。
Figure 2023134521000010
式中、bは、予測ブロックのk番目の4×4ブロックに属するサンプルのセットを表し、式7および式8におけるsを((sn,bk)>>4)に置き換え、関連する動きベクトルオフセットを導出する。
場合によっては、BIOのMV管理は、雑音または不規則な動きのために信頼できない場合がある。したがって、BIOにおいて、MVレジメンの大きさは閾値thBIOにクリップされる。閾値は、現在のピクチャの参照ピクチャがすべて一方向からのものであるかどうかに基づいて判定される。現在のピクチャのすべての参照ピクチャが一方向からのものである場合、閾値を12×214-dに設定し、そうでない場合、閾値を12×213-dに設定する。
HEVC動き補償処理(2D分離可能FIR)に準拠した演算を使用して、動き補償補間と同時にBIOの勾配を算出する。この2D分離可能なFIRのための入力は、ブロック動きベクトルの端数部分にしたがって、動き補償処理および端数位置(fracX,fracY)のためのものと同じ参照フレームサンプルである。水平勾配∂I/∂xの場合、信号は、まず、デスケーリングシフトd-8で端数位置fracYに対応するBIOfilterSを使用して垂直方向に補間され、次に、勾配フィルタBIOfilterGを端数位置fracXに対応する水平方向に、18-dによるデスケーリングシフトで適用する。垂直方向勾配∂I/∂yの場合、まず、第1の勾配フィルタを、デスケーリングシフトd-8で端数位置fracYに対応するBIOfilterSを使用して垂直方向に適用し、次に、BIOfilterSを水平方向に使用して、端数位置fracXに対応する信号変位を18-dによるデスケーリングシフトで行う。適度な複雑性を維持するために、勾配計算BIOfilterGおよび信号変位BIOfilterFのための補間フィルタの長さはより短い(6タップ)。表1は、BIOにおけるブロック動きベクトルの異なる端数位置の勾配計算に使用されるフィルタを示す。表2は、BIOにおける予測信号の生成に使用できる補間フィルタを示す。
Figure 2023134521000011
Figure 2023134521000012
本JEMにおいて、2つの予測が異なる参照ピクチャからのものである場合、BIOはすべての双方向予測ブロックに適用される。CUに対してLICが有効になっている場合、BIOは無効になる。
本JEMにおいて、OBMCは、通常のMC処理の後、1つのブロックに適用される。計算の複雑性を低減するために、OBMC処理中にBIOは適用されない。つまり、BIOは、それ自身のMVを使用する場合、1つのブロックのMC処理においてのみ適用され、OBMC処理において近傍のブロックのMVを使用する場合、MC処理においては適用されない。
2段階早期終了方法が使用され、2つの予測信号の類似性に基づいて、BIO演算を条件付きで無効化する。早期終了は、まずCUレベルで適用され、次にサブCUレベルで適用される。具体的には、提案した方法は、まず、CUレベルのL0予測信号とL1予測信号との間のSADを計算する。BIOが輝度にのみ適用されると仮定すると、輝度サンプルのみをSAD計算のために考慮することができる。CUレベルのSADが予め規定された閾値以下の場合、BIO処理はCU全体に対して完全に無効化される。CUレベル閾値は、サンプルごとに2(BDepth-9)に設定される。CUレベルでBIO処理が無効化されておらず、現在のCUが複数のサブCUを含む場合、CU内の各サブCUのSADを計算する。次に、サブCUレベルにおいて、サンプルごとに3*2(BDepth-10)に設定される予め規定されたサブCUレベルSAD閾値に基づいて、バイオ処理をイネーブルするかディスエーブルするかを決定する。
2.4 VVCにおけるBDOFの仕様
BDOF(JVET-N1001-v2)の仕様は以下のとおりである。
8.5.7.4 双方向オプティカルフロー予測処理
この処理への入力は以下の通りである。
- 現在のコーディングブロックの幅および高さを規定する2つの変数nCBWおよびnCBH、
- 2つの(nCBW+2)×(nCBH+2)輝度予測サンプル配列predSamplesL0およびpredSamplesL1、
- 予測リスト利用フラグpredFlagL0およびpredFlagL1、
- 参照インデックスrefIdxL0およびrefIdxL1、
- 双方向オプティカルフロー利用フラグbdofUtilizationFlag[xIdx][yIdx]、但しxIdx=0..(nCbW>>2)-1,yIdx=0..(nCbH>>2)-1
この処理の出力は、輝度予測サンプル値の(nCBW)×(nCBH)アレイpbSamplesである。
変数bitDepth、shift1、shift2、shift3、shift4、offset4、およびmvRefineThresは、以下のように導出される。
- 変数bitDepthはBitDepthに等しく設定される。
- 変数shift1は、Max(2,14-bitDepth)に等しく設定される。
- 変数shift2は、Max(8,bitDepth-4)に等しく設定される。
- 変数shift3は、Max(5,bitDepth-7)に等しく設定される。
- 変数shift4をMax(3,15-bitDepth)は等しく設定され、変数offset4は1<<(shift4-1)に等しく設定される。
- 変数mvRefineThresは、Max(2,1<<(13-bitDepth))に等しく設定される。
xIdx=0..(nCbW>>2)-1およびyIdx=0..(nCbH>>2)-1の場合、以下が適用される。
- 変数xSbを(xIdx<<2)+1に等しく設定し、ySbを(yIdx<<2)+1に等しく設定する。
- bdofUtilizationFlag[xSbIdx][yIdx]がFALSEに等しい場合、x=xSb-1..xSb+2,y=ySb-1..ySb+2に対して、現在のサブブロックの予測サンプル値は、以下のように導出される。
pbSamples[x][y]=Clip3(0,(2bitDepth)-1,(predSamplesL0[x+1][y+1]+offset2+predSamplesL1[x+1][y+1])>>shift2) (8-852)
- そうでない場合(bdofUtilizationFlag[xSbIdx][yIdx]がTRUEに等しい)、現在のサブブロックの予測サンプル値は、以下のように導出される。
- x=xSb-1..xSb+4,y=ySb-1..ySb+4の場合、以下の順序付けられたステップが適用される。
1. 予測サンプルアレイ内の対応するサンプル位置(x,y)の各々の位置(h,v)は、以下のように導出される。
=Clip3(1,nCbW,x) (8-853)
=Clip3(1,nCbH,y) (8-854)
2. 変数gradientHL0[x][y],gradientVL0[x][y],gradientHL1[x][y]およびgradientVL1[x][y]は、以下のように導出される。
gradientHL0[x][y]=(predSamplesL0[h+1][v]-predSampleL0[h-1][v])>>shift1 (8-855)
gradientVL0[x][y]=(predSampleL0[h][v+1]-predSampleL0[h][v-1])>>shift1 (8-856)
gradientHL1[x][y]=(predSamplesL1[h+1][v]-predSampleL1[h-1][v])>>shift1 (8-857)
gradientVL1[x][y]=(predSampleL1[h][v+1]-predSampleL1[h][v-1])>>shift1 (8-858)
3. 変数temp[x][y],tempH[x][y]およびtempV[x][y]は、以下のように導出される。
diff[x][y]=(predSamplesL0[h][v]>>shift2)-(predSamplesL1[h][v]>>shift2) (8-859)
tempH[x][y]=(gradientHL0[x][y]+gradientHL1[x][y])>>shift3 (8-860)
tempV[x][y]=(gradientVL0[x][y]+gradientVL1[x][y])>>shift3 (8-861)
- 変数sGx2、sGy2、sGxGy、sGxdI、sGydIは、以下のように導出される。
sGx2=ΣΣ(tempH[xSb+i][ySb+j]*tempH[xSb+i][ySb+j])with i,j=-1..4 (8-862)
sGy2=ΣΣ(tempV[xSb+i][ySb+j]*tempV[xSb+i][ySb+j])with i,j=-1..4 (8-863)
sGxGy=ΣΣ(tempH[xSb+i][ySb+j]*tempV[xSb+i][ySb+j])with i,j-1..4 (8-864)
sGxdI=ΣΣ(-tempH[xSb+i][ySb+j]*diff[xSb+i][ySb+j])with i,j=-1..4 (8-865)
sGydI=ΣΣ(-tempV[xSb+i][ySb+j]*diff[xSb+i][ySb+j])with i,j=-1..4 (8-866)
- 現在のサブブロックの水平および垂直方向の動きオフセットは、以下のように導出される。
=sGx2>0?Clip3(-mvRefineThres,mvRefineThres,-(sGxdI<<3)>>Floor(Log2(sGx2))):0 (8-867)
=sGy2>0?Clip3(-mvRefineThres,mvRefineThres,((sGydI<<3)-((v*sGxGy)<<12+v*sGxGy)>>1)>>Floor(Log2(sGx2))):0 (8-868)
- x=xSb-1..xSb+2,y=ySb-1..ySb+2の場合、現在のサブブロックの予測サンプル値は、以下のように導出される。
bdofOffset=Round((v*(gradientHL1[x+1][y+1]-gradientHL0[x+1][y+1]))>>1)+Round((v*(gradientVL1[x+1][y+1]-gradientVL0[x+1][y+1]))>>1) (8-869)
[Ed.(JC):Round()演算はfloat入力に対して定義される。Round()演算は入力が整数値であるため、ここでは冗長に見える。推薦人が確認すること]pbSamples[x][y]=Clip3(0,(2bitDepth)-1,(predSamplesL0[x+1][y+1]+offset4+predSamplesL1[x+1][y+1]+bdofOffset)>>shift4) (8-870)
空間的勾配は、以下のように計算される。
gradientHL0[x][y]=(predSamplesL0[h+1][v]-predSampleL0[h-1][v])>>shift1 (8-855)
一方、時間的勾配は、以下のようにして算出される。
diff[x][y]=(predSamplesL0[h][v]>>shift2)-(predSamplesL1[h][v]>>shift2) (8-859)
このように、空間的勾配および時間的勾配の計算は整合されていない。
2.5 デコーダ側動きベクトル改良
双方向予測演算において、1つのブロック領域を予測するために、list0の動きベクトル(MV)およびlist1のMVをそれぞれ使用して構成される双方向予測ブロックを組み合わせ、1つの予測信号を形成する。JVET-K0217、デコーダ側動きベクトル改良(DMVR)方法において、バイラテラルマッチング処理によって、双方向予測の2つの動きベクトルをさらに改良する。
以下の条件が成り立てば、提案した方法において、DMVRは、マージモードおよびスキップモードにおいてのみ適用される。
(POC-POC0)*(POC-POC1)<0,
式中、POCは、現在の符号化対象のピクチャのピクチャオーダカウントであり、POC0およびPOC1は、現在のピクチャに対する参照のピクチャオーダカウントである。
信号通知されたマージ候補対は、DMVR処理への入力として使用され、初期動きベクトル(MV0,MV1)と呼ばれる。DMVRで検索された検索点は、動きベクトル差分ミラーリング条件に従う。すなわち、候補動きベクトルの対(MV0’,MV1’)で表されるDMVRのチェック点は、次の2つの式に従う。
MV0’=MV0+MVdiff
MV1’=MV1-MVdiff
ここで、MVdiffは、1つの参照ピクチャにおける探索空間内の点を表す。
探索空間を構築した後、通常の8タップDCTIF補間フィルタを使用して片側予測を構築する。2つの予測(図6)と検索点との間のMRSAD(平均値分離絶対差の合計)を使用することによって、バイラテラルマッチングコスト関数を計算し、結果として最小限のコストとなる検索点を、改良されたMV対として選択する。MRSAD計算には、16ビット精度のサンプル(これは補間フィルタリングの出力である)を使用し、MRSAD計算の前にクリッピングおよび丸め演算を適用しない。丸めおよびクリッピングを適用しない理由は、内部バッファ要件を低減するためである。
図6は、6点検索によるバイラテラルマッチングの例を示す。
提案した方法では、整数精度検索点を適応パターン法で選択する。まず、中心点(初期動きベクトルが指す)に対応するコストを算出する。他の4つのコスト(符号の形状)は、2つの予測によって算出され、中心点に対して互いに反対側に位置する。先に計算されたコスト(図7)の勾配によって、この角における最後の6番目の点を選択する。
図7は、適応整数検索パターンおよびハーフサンプル検索パターンの例を示す。
DMVR処理の出力は、最小コストに対応する改良された動きベクトルの対である。
1回の繰り返しの後、探索空間の中心点で最小限のコストに達した場合、すなわち動きベクトルが変わらなかった場合、改良処理は終了する。そうでない場合、最良のコストをさらに中心と見なし、この処理を続け、一方、最小コストは中心点に対応せず、検索範囲を超えない。
半画素探索の適用が探索範囲を超えない場合にのみ、ハーフサンプル精度探索が適用される。この場合、中心点の周りのプラスの形状点に対応して、4回のMRSAD計算のみが行われ、これは、整数精度検索の間、最良のものとして選択される。最後に、最小コスト点に対応する改良された動きベクトル対を出力する。
JVET-L0163には、若干の簡単化および改良がさらに提案されている。
基準サンプリングパディング
最初の動きベクトルが指す参照サンプルブロックを拡大するために、参照サンプルパディングが適用される。コーディングブロックのサイズを「w」および「h」とした場合、サイズw+7およびh+7のブロックが参照ピクチャバッファから取り出されると仮定する。次に、最も近いサンプルを使用してサンプルを繰り返しパディングすることにより、検索したバッファを各方向に2サンプルずつ拡大する。その後、この拡張参照サンプルブロックを使用して、改良された動きベクトル(各方向において最初の動きベクトル2サンプルから逸脱してもよい)を取得した後、最終予測を生成する。
なお、この変形例によれば、DMVRにおける外部メモリアクセスは、コーディング損失を生じることなく完全に排除される。
8タップDCTIFの代わりの双線形補間
本提案によれば、DMVR検索処理中に双線形補間を適用し、これは、MRSAD計算に使用される予測が双線形補間を使用して生成されることを意味する。最終的に改良された動きベクトルが取得されると、通常の8タップDCTIF補間フィルタを適用して、最終予測を生成する。
小さなブロックのためのDMVRの無効化
ブロック4×4、4×8、8×4では、DMVRは無効になる。
マージ候補間のMV差に基づく早期終了
MV改良処理を限定するために、DMVRに追加の条件を課す。これにより、以下の条件が満たされる場合、DMVRは条件付きで無効化される。
選択されたマージ候補と同じマージリストにおける前のマージ候補のいずれかとの間のMV差は、予め規定された閾値未満である(すなわち、それぞれ64画素未満、256画素未満、および少なくとも256画素のCUの場合、1/4、1/2、および1画素幅の間隔である)。
中心探索座標におけるSADコストに基づく早期終了
現在のCUの初期動きベクトルを使用して、2つの予測信号(L0、L1予測)の絶対差の合計(SAD)を算出する。SADが予め規定された閾値よりも大きくない場合、即ちサンプル当たりの2(BDepth-9)の場合、DMVRはスキップされ、そうでない場合、DMVRは現在のブロックの2つの動きベクトルを改良するために引き続き適用される。
DMVRの適用条件
DMVRの適用条件は、BMS2.1で実装されている場合、(POC-POC1)×(POC-POC2)<0であり、新しい条件(POC-POC1)==(POC2-POC)によって置き換えられる。これは、DMVRが適用されるのは、参照ピクチャが反対の時間方向にあり、現在のピクチャに対して等距離である場合のみであることを意味する。
一つおきの行を使用したMRSAD計算
MRSADコストは、1つのブロックの奇数番目の行に対してのみ計算され、偶数番目のサンプル行は考慮に入れない。これにより、MRSAD計算のための演算回数が半減される。
2.6 関連方法
2018年8月4日に出願された「視覚媒体コーディングのための動き改良(Motion Refinement for Visual Media Coding)」という名称の特許出願番号PCT/CN2018/098691号(本明細書において参照により援用される)によって識別される本願明細書において、MV更新方法および2ステップインター予測方法が提案されている。BIOにおける参照ブロック0と参照ブロック1との間の導出されたMVをスケーリングし、リスト0およびリスト1の元の動きベクトルに加える。一方、更新されたMVを使用して動き補償を行い、第2のインター予測を最終予測として生成する。時間的勾配は、参照ブロック0と参照ブロック1との間の平均差を取り除くことによって修正される。
2.7 VVC草案4におけるDMVR
JVET-M1001_v7(VVC作業草案4,第7版)におけるDMVRの使用法は、以下のように定義される。
- 以下のすべての条件が真である場合、dmvrFlagは1に等しく設定される。
- sps_dmvr_enabled_flagが1と等しい
- 現在のブロックは、三角形予測モード、AMVRアフィンモード、サブブロックモード(マージアフィンモード、ATMVPモードを含む)でコーディングされていない。
- merge_flag[xCb][yCb]が1に等しい
- predFlagL0[0][0]とpredFlagL1[0][0]の両方が1に等しい
- mmvd_flag[xCb][yCb]が0に等しい
- DiffPicOrderCnt(currPic,RefPicList[0][refIdxL0])は、DiffPicOrderCnt(RefPicList[1][refIdxL1],currPic)に等しい。
- cbHeightが8以上である
- cbHeight*cbWidthが64以上である
3. 実施形態が解決しようとする課題の例
BIOでは、早期終了段階において、2つの参照ブロックまたはサブブロック間の差を計算し、一方、時間的勾配も計算する。時間的勾配は実際には2つの参照画素間の差(または右シフトした差)であるため、この差および時間的勾配の両方を計算しても意味がない。
DMVRにおいて、MRSAD計算は、1つのブロック改良動きベクトルを判定するために用いられる。
BIOにおいて、SAD計算を使用して、1つのブロック/1つのサブブロックのすべてのサンプルを使用して、1つのブロックまたは1つのサブブロックに対してBIOを有効化/無効化するべきかどうかを決定するが、これは計算の複雑性を増大させる。
この計算方法は、空間的勾配と時間的勾配とで異なる。
4.実施形態の例
SATDを絶対変換差の合計として、MRSATDを平均値分離絶対変換差の合計として、SSEを二乗誤差の合計として、およびMRSSEを平均値分離二乗誤差の合計として表す。
以下の詳細な技術は、一般的な概念を説明するための例であると考えられるべきである。これらの技術は狭い意味で解釈されるべきではない。さらに、これらの発明は、任意の方法で組み合わせることができる。
以下の説明において、SatShift(x,n)は、以下のように定義される。
Figure 2023134521000013
Shift(x,n)は、Shift(x,n)=(x+offset0)>>nとして定義される。
一例において、offset0および/またはoffset1は、(1<<n)>>1または(1<<(n-1))に設定される。別の実施例において、offset0および/またはoffset1は0に設定される。
別の例において、offset0=offset1=((1<<n)>>1)-1又は((1<<(n-1)))-1である。
BDOFの勾配計算において、2つの近傍の(空間的に近傍のまたは時間的に近傍の)サンプル間の差および/または非隣接のサンプル間の差を計算することができ、右シフトは勾配計算中に行われてもよい。2つの近傍のサンプルがneig0、neig1であり、右シフト値が1であり、算出される傾きがgradであるとする。なお、空間的勾配および時間的勾配について、shift1が異なってもよい。
1. 空間的勾配および時間的勾配の計算に使用される方法を調整することが提案される。
a. 一例において、勾配は、シフトされたサンプル差にしたがって計算される。
i. 代替的に、勾配は、修正されたサンプルの(例えば、シフトすることによって)差にしたがって計算される。
b. 一例において、勾配計算において、右シフトの前に減算を行ってもよい。例えば、grad=(neig0-neig1)>>shift1。
c. 一例において、勾配計算において、減算は右シフトの後に行ってもよい。例えば、grad=(neig0>>shift1)-(neig1>>shift1)。
d. 一例において、勾配計算において、右シフトの前に減算を行い、右シフトの前にオフセットを加えてもよい。例えば、grad=(neig0-neig1+offset)>>shift1。このオフセットは、1<<(shift1-1)又は1<<shift1>>1に等しくてもよい。
e. 一例において、勾配計算において、右シフトの後に減算を行ってもよく、右シフトの前にオフセットを加えてもよい。例えば、grad=((neig0+offset)>>shift1)-((neig1+offset)>>shift1)。このオフセットは、1<<(shift1-1)又は1<<shift1>>1に等しくてもよい。
f. 一例において、この勾配は、SatShift(neig0-neig1,shift1)として算出されてもよい。
i. 代替的に、この勾配は、SatShift(neig0,shift1)-SatShift(neig1,shift1)として算出されてもよい。
2. 早期終了段階におけるBIOおよび/またはDMVRの有効化/無効化を判定するために、他の基準、例えば、SATDまたはMRSATDまたはSSEまたはMRSSEまたは平均値の差または勾配値を用いることが提案される。
a. 一例において、ブロックレベルおよびサブブロックレベルの有効化/無効化決定は、異なる規則、例えば、SADを有する規則およびSATDを有する規則を選択してもよい。
b. 一例において、ブロック/サブブロックにおいて、勾配値(水平および/または垂直)または平均勾配値または勾配値の範囲が1つの条件を満たす(例えば、閾値よりも大きい、または所定の範囲外にある)場合、BIOおよび/またはDMVRは無効にしてもよい。
c. 有効化/無効化BIO/DMVRを判定するために使用される基準は、VPS/SPS/PPS/スライスヘッダ/タイルグループヘッダにおいて、エンコーダからデコーダに信号通知されてもよいことが提案される。
3. DMVR処理における1つのブロックの改良された動きベクトルを判定するために、他の基準、例えば、SATD、MRSATD、またはSSE、またはMRSSEを使用してMRSADに置き換えることが提案される。
a. 一例において、DMVR処理における1つのサブブロックの改良された動きベクトル、例えば、SATD、MRSATD、またはSSE、またはMRSSEは、MRSADに取って代わる。
b. 一例において、SATD(またはMRSATD)が適用される場合、ブロック全体がM×N個のサブブロックに分割され、各サブブロックごとにSATD(またはMRSATD)が算出される。サブブロックのすべてまたは一部のSATD(またはMRSATD)を合計し、ブロック全体のSATD(またはMRSATD)値を得る。
4. 1つのブロックの2つの参照ブロックの平均値の差が閾値(T1)よりも大きい場合、BIOおよび/またはDMVRを無効にしてもよい。
a. 1つのサブブロックの2つの参照サブブロックの平均値差が閾値(T2)よりも大きい場合、BIOを無効にしてもよい。
b. 閾値T1および/またはT2は、予め規定されてもよい。
c. 閾値T1および/またはT2は、ブロック寸法に依存してもよい。
5. BIOの早期終了段階において、2つの参照ブロック/サブブロック間の差(例えば、SAD/SATD/SSE等)を計算する前に、まず、参照ブロックまたは/およびサブブロックを修正してもよいことが提案される。
a. 一例において、参照ブロックまたは/およびサブブロックの平均を計算し、その後、参照ブロックまたは/およびサブブロックによって差し引いてもよい。
b. 一例において、方法は、2018年7月20日に出願された「動き予測に基づく更新された動きベクトル(Motion Prediction Basing Updated Motion Vectors)」という名称の出願であるPCT/CN2018/096384号(参照により本明細書に組み込まれる)に開示されており、参照ブロックおよび/またはサブブロックの平均値の計算に使用されてよく、即ち、平均値はいくつかの代表的な位置の計算に使用される。
6. BIOおよび/またはDMVRの早期終了段階において、2つの参照ブロックおよび/またはサブブロック間の差(例えば、SAD/SATD/SSE/MRSAD/MRSATD/MRSSE等)は、いくつかの代表的な位置に対してのみ計算されてもよいことが提案される。
a. 一例において、ブロックまたは/およびサブブロックに対して偶数行の差のみを計算する。
b. 一例において、1つのブロック/サブブロックの4つのコーナーサンプルの差のみが、このブロックまたは/およびサブブロックに対して計算される。
c. 一例において、前記方法は、2018年7月2日に出願された「映像コーディングにおけるデコーダ側の動きベクトル導出(Decoder Side Motion Vector Derivation in Video Coding)」という名称の米国仮出願第62/693,412号(本明細書において参照により援用される)に開示されており、代表的な位置を選択するために使用されてもよい。
d. 一例において、2つの参照ブロック間の差(例えば、SAD/SATD/SSE/MRSAD/MRSATD/MRSSE等)は、いくつかの代表的なサブブロックについてのみ計算されてもよい。
e. 一例において、代表的な位置またはサブブロックについて算出された差(例えば、SAD/SATD/SSE/MRSAD/MRSATD/MRSSE等)を合計することにより、ブロック/サブブロック全体の差を得る。
7. 時間的勾配(位置(x,y)における時間的グラデーションは、G(x,y)=P0(x,y)-P1(x,y)と定義され、P0(x,y)とP1(x,y)は、2つの異なる参照ピクチャからの(x,y)における予測値を表す)、または、修正された時間的勾配を、BIOの早期終了段階において(SADの代わりに)差として使用し、その結果、早期終了に使用された閾値を調整してもよいことが提案される。
a. 一例において、時間的勾配の絶対値の合計が計算され、2つの参照ブロックまたは/およびサブブロックの差として使用される。
b. 一例において、時間的勾配の絶対値の合計は、ブロックおよび/またはサブブロックのいくつかの代表的な位置においてのみ計算される。
c. 一例において、前記方法は、米国特許に開示されている。代表的な位置を選択するために、2018年7月2日に出願された「映像コーディングにおけるデコーダ側の動きベクトル導出(Decoder Side Motion Vector Derivation in Video Coding)」という名称の仮出願第62/693,412号(本明細書において参照により援用される)を使用してもよい。
8. 時間的勾配修正処理は、異なるブロック/サブブロックに対して適応的に行ってもよいことが提案される。
a. 一例において、時間的勾配は、2つの参照ブロック間の平均絶対差(absolute mean difference)(またはSAD/SATD/SSE等)が閾値Tよりも大きい場合にのみ、例えばT=4となるように修正される。
b. 一例において、時間的勾配は、2つの参照ブロック間の平均絶対差(またはSAD/SATD/SSE等)が閾値Tより小さい場合にのみ、例えばT=20となるように修正される。
c. 一例において、時間的勾配は、2つの参照ブロック間の平均絶対差(またはSAD/SATD/SSE等)が[T1,T2]の範囲内に含まれる場合にのみ、例えばT1=4、T2=20となるように修正される。
d. 一例において、2つの参照ブロック間の平均絶対差(またはSAD/SATD/SSE等)が閾値Tよりも大きい場合に、例えばT(T=40)となるように修正され、BIOは無効化される。
e. 一例において、これらの閾値は、暗黙的に予め規定されてもよい。
f. 一例において、これらの閾値は、SPS/PPS/ピクチャ/スライス/タイルレベルで信号通知されてもよい。
g. 一例において、これらの閾値は、異なるCU、LCU、スライス、タイル、またはピクチャごとに異なってもよい。
i. 一例において、これらの閾値は、復号化/符号化された画素値に基づいて設計されてもよい。
ii. 一例において、これらの閾値は、異なる参照ピクチャに対して異なるように設計されてもよい。
h. 一例において、時間的勾配は、2つの(または2つのうちのいずれか1つの)参照ブロックの(絶対)平均が閾値Tよりも大きい場合にのみ、例えばT=40となるように修正される。
i. 一例において、時間的勾配は、2つの(または2つのうちのいずれか1つの)参照ブロックの(絶対)平均が閾値Tより小さい場合にのみ、例えばT=100となるように修正される。
j. 一例において、時間的勾配は、2つの(または2つのうちのいずれか1つの)参照ブロックの(絶対)平均が[T1,T2]の範囲内に含まれる場合にのみ、例えばT1=40、T2=100となるように修正される。
k. 一例において、時間的勾配は、2つの(または2つのうちのいずれか1つの)参照ブロックの(絶対)平均が、平均絶対差(またはSAD/SATD等)にT(一例において、T=4.5)を掛けた値よりも大きい/小さい場合にのみ修正される。
l. 一例において、時間的勾配は、2つの(または2つのうちのいずれか1つの)参照ブロックの(絶対)平均が、平均絶対差(またはSAD/SATD等)に[T1,T2](一例において、T1=4.5,T2=7)を掛けた値の範囲内にある場合にのみ修正される。
9. なお、ハイブリッドのイントラおよびインター予測モードにおいて、2つのインター参照ブロックは、BIOにおける空間的勾配を計算する時に修正されてもよいし、またはBIO手順全体を行う前に修正されてもよいことが提案される。
a. 一例において、各予測方向におけるイントラ予測ブロックおよびインター予測ブロックを(ハイブリッドのインターおよびインター予測と同じ重み付け方法を使用して)重み平均し、wAvgBlkL0およびwAvgBlkL1と表される、BIOにおける空間的勾配を導出するために使用される2つの新しい予測ブロックを生成する。
b. 一例において、wAvgBlkL0およびwAvgBlkL1は、predBlkと表される現在のブロックの予測ブロックを生成するために用いられる。そして、BIO手順として、wAvgBlkL0、wAvgBlkL1、およびpredBlkをさらに用い、BIOで生成された改良した予測ブロックを最終予測ブロックとして用いる。
10. DMVRまたは/およびBIOフラグは、ブロックに対してDMVRおよび/またはBIOが有効化されているかどうかを示すように、ブロックレベルで信号通知されてもよいことが提案される。
a. 一例において、このようなフラグは、AMVPモードの場合にのみ信号通知されてもよく、マージモードにおいて、このようなフラグは、空間的および/または時間的に近傍のブロックから継承されてもよい。
b. 一例において、BIOまたは/およびDMVRが有効化されるかどうかは、信号通知されたフラグおよびオンザフライ判定(例えば、早期終了段階におけるSADに基づく判定)によって一緒に決定されてもよい。信号通知されたフラグは、オンザフライ決定が正しいかどうかを示すことができる。
c. このようなフラグは、単一予測ブロックに対しては通知されない。
d. このようなフラグは、2つの参照ピクチャが両方とも表示順に前のピクチャまたは後のピクチャである双方向予測ブロックには信号通知されない場合がある。
e. POC_diff(curPic,ref0)がPOC_diff(ref1,curPic)に等しくない場合、このようなフラグは双方向予測ブロックには信号通知されなくてもよく、POC_diff()は2つのピクチャの間のPOC差を計算し、ref0およびref1は現在のピクチャの参照ピクチャである。
f. このようなフラグは、イントラコーディングブロックに対しては信号通知されない。代替的に、さらに、このようなフラグは、ハイブリッドのイントラおよびインター予測モードでコーディングされたブロックに対しては信号通知されない。代替的に、このようなフラグは、現在のピクチャ参照ブロックに対して信号通知されず、即ち、参照ピクチャが現在のピクチャである。
g. フラグを信号通知するかどうかは、ブロック寸法に依存してもよい。例えば、ブロックサイズが閾値より小さい場合、このようなフラグは信号通知されない。代替的に、ブロックの幅および/または高さが閾値以上である場合、このようなフラグは信号通知されない。
h. フラグを信号通知するかどうかは、動きベクトルの精度に依存してもよい。例えば、動きベクトルが整数精度である場合、このようなフラグは信号通知されない。
i. そのようなフラグが信号通知されない場合、それは暗黙的に真または偽であると導出されてもよい。
j. 前記方法が有効化されているかどうかを示すために、スライスヘッダ/タイルヘッダ/PPS/SPS/VPSにおいて1つのフラグを信号通知してもよい。
k. このような信号通知方法は、ピクチャの時間層に依存し、例えば、時間層が高いピクチャに対しては無効化されてもよい。
l. このような信号通知方法は、ピクチャのQPに依存し、例えば、QPが高いピクチャに対しては無効化してもよい。
11. ブロックの高さとブロックのサイズの両方をチェックする代わりに、ブロックの高さのみにしたがってDMVRを有効にするか無効化するかを判定することが提案される。
a. 一例において、DMVRは、ブロックの高さがT1よりも大きい(例えば、T1=4)場合、有効化されてもよい。
b. 一例において、DMVRは、ブロックの高さがT1以上(例えば、T1=8)である場合に有効化されてもよい。
12. DMVR/BIOに適用される上記方法は、他のデコーダ側動きベクトル導出(DMVD)方法にのみ適用可能であり、例えば、アフィンモードのためのオプティカルフローに基づく予測改良などに適用可能である。
a. 一例において、DMVRおよびBIOの使用判定のための条件チェックは、ブロックの高さが同じ閾値を満たすかどうか等、調整されてもよい。
i. 一例において、DMVRおよびBIOは、ブロックの高さがT1以上(例えば、T1=8)である場合、有効化されてもよい。
ii. 一例において、DMVRおよびBIOは、ブロックの高さがT1よりも大きい(例えば、T1=4)場合、有効化されてもよい。
5. 実施形態
5.1 実施形態#1
Figure 2023134521000014
つまり、「cbHeight*cbWidthが64以上である」を削除する。
5.2 実施形態#2
Figure 2023134521000015
i. 一例
8.5.7.4 双方向オプティカルフロー予測処理
この処理への入力は以下の通りである。
- 現在のコーディングブロックの幅および高さを規定する2つの変数nCBWおよびnCBH、
- 2つの(nCBW+2)×(nCBH+2)輝度予測サンプル配列predSamplesL0およびpredSamplesL1、
- 予測リスト利用フラグpredFlagL0およびpredFlagL1、
- 参照インデックスrefIdxL0およびrefIdxL1、
- 双方向オプティカルフロー利用フラグbdofUtilizationFlag[xIdx][yIdx]、但しxIdx=0..(nCbW>>2)-1,yIdx=0..(nCbH>>2)-1
この処理の出力は、輝度予測サンプル値の(nCBW)×(nCBH)アレイpbSamplesである。
変数bitDepth、shift1、shift2、shift3、shift4、offset4、およびmvRefineThresは、以下のように導出される。
- 変数bitDepthはBitDepthに等しく設定される。
- 変数shift1は、Max(2,14-bitDepth)に等しく設定される。
- 変数shift2は、Max(8,bitDepth-4)に等しく設定される。
- 変数shift3は、Max(5,bitDepth-7)に等しく設定される。
- 変数shift4をMax(3,15-bitDepth)は等しく設定され、変数offset4は1<<(shift4-1)に等しく設定される。
- 変数mvRefineThresは、Max(2,1<<(13-bitDepth))に等しく設定される。
xIdx=0..(nCbW>>2)-1およびyIdx=0..(nCbH>>2)-1の場合、以下が適用される。
- 変数xSbを(xIdx<<2)+1に等しく設定し、ySbを(yIdx<<2)+1に等しく設定する。
- bdofUtilizationFlag[xSbIdx][yIdx]がFALSEに等しい場合、x=xSb-1..xSb+2,y=ySb-1..ySb+2に対して、現在のサブブロックの予測サンプル値は、以下の通りである。
pbSamples[x][y]=Clip3(0,(2bitDepth)-1,(predSamplesL0[x+1][y+1]+offset2+predSamplesL1[x+1][y+1])>>shift2) (8-852)
- そうでない場合(bdofUtilizationFlag[xSbIdx][yIdx]がTRUEに等しい)、現在のサブブロックの予測サンプル値は、以下のように導出される。
- x=xSb-1..xSb+4,y=ySb-1..ySb+4の場合、以下の順序付けられたステップが適用される。
4. 予測サンプルアレイ内の対応するサンプル位置(x,y)の各々の位置(h,v)は、以下のように導出される。
=Clip3(1,nCbW,x) (8-853)
=Clip3(1,nCbH,y) (8-854)
5. 変数gradientHL0[x][y],gradientVL0[x][y],gradientHL1[x][y]およびgradientVL1[x][y]は、以下のように導出される。
gradientHL0[x][y]=(predSamplesL0[h+1][v]-predSampleL0[h-1][v])>>shift1 (8-855)
gradientVL0[x][y]=(predSampleL0[h][v+1]-predSampleL0[h][v-1])>>shift1 (8-856)
gradientHL1[x][y]=(predSamplesL1[h+1][v]-predSampleL1[h-1][v])>>shift1 (8-857)
gradientVL1[x][y]=(predSampleL1[h][v+1]-predSampleL1[h][v-1])>>shift1 (8-858)
Figure 2023134521000016
- 変数sGx2、sGy2、sGxGy、sGxdI、sGydIは、以下のように導出される。
sGx2=ΣΣ(tempH[xSb+i][ySb+j]*tempH[xSb+i][ySb+j])with i,j=-1..4 (8-862)
sGy2=ΣΣ(tempV[xSb+i][ySb+j]*tempV[xSb+i][ySb+j])with i,j=-1..4 (8-863)
sGxGy=ΣΣ(tempH[xSb+i][ySb+j]*tempV[xSb+i][ySb+j])with i,j-1..4 (8-864)
sGxdI=ΣΣ(-tempH[xSb+i][ySb+j]*diff[xSb+i][ySb+j])with i,j=-1..4 (8-865)
sGydI=ΣΣ(-tempV[xSb+i][ySb+j]*diff[xSb+i][ySb+j])with i,j=-1..4 (8-866)
- 現在のサブブロックの水平および垂直方向の動きオフセットは、以下のように導出される。
=sGx2>0?Clip3(-mvRefineThres,mvRefineThres,-(sGxdI<<3)>>Floor(Log2(sGx2))):0 (8-867)
=sGy2>0?Clip3(-mvRefineThres,mvRefineThres,((sGydI<<3)-((v*sGxGy)<<12+v*sGxGy)>>1)>>Floor(Log2(sGx2))):0 (8-868)
- x=xSb-1..xSb+2,y=ySb-1..ySb+2の場合、現在のサブブロックの予測サンプル値は、以下のように導出される。
bdofOffset=Round((v*(gradientHL1[x+1][y+1]-gradientHL0[x+1][y+1]))>>1)+Round((v*(gradientVL1[x+1][y+1]-gradientVL0[x+1][y+1]))>>1) (8-869)
[Ed.(JC):Round()演算はfloat入力に対して定義される。Round()演算は入力が整数値であるため、ここでは冗長に見える。推薦人が確認すること]pbSamples[x][y]=Clip3(0,(2bitDepth)-1,(predSamplesL0[x+1][y+1]+offset4+predSamplesL1[x+1][y+1]+bdofOffset)>>shift4) (8-870)
ii. 一例
8.5.7.4 双方向オプティカルフロー予測処理
この処理への入力は以下の通りである。
- 現在のコーディングブロックの幅および高さを規定する2つの変数nCBWおよびnCBH、
- 2つの(nCBW+2)×(nCBH+2)輝度予測サンプル配列predSamplesL0およびpredSamplesL1、
- 予測リスト利用フラグpredFlagL0およびpredFlagL1、
- 参照インデックスrefIdxL0およびrefIdxL1、
- 双方向オプティカルフロー利用フラグbdofUtilizationFlag[xIdx][yIdx]、但しxIdx=0..(nCbW>>2)-1,yIdx=0..(nCbH>>2)-1
この処理の出力は、輝度予測サンプル値の(nCBW)×(nCBH)アレイpbSamplesである。
変数bitDepth、shift1、shift2、shift3、shift4、offset4、およびmvRefineThresは、以下のように導出される。
- 変数bitDepthはBitDepthに等しく設定される。
- 変数shift1は、Max(2,14-bitDepth)に等しく設定される。
- 変数shift2は、Max(8,bitDepth-4)に等しく設定される。
- 変数shift3は、Max(5,bitDepth-7)に等しく設定される。
- 変数shift4をMax(3,15-bitDepth)は等しく設定され、変数offset4は1<<(shift4-1)に等しく設定される。
- 変数mvRefineThresは、Max(2,1<<(13-bitDepth))に等しく設定される。
xIdx=0..(nCbW>>2)-1およびyIdx=0..(nCbH>>2)-1の場合、以下が適用される。
- 変数xSbを(xIdx<<2)+1に等しく設定し、ySbを(yIdx<<2)+1に等しく設定する。
- bdofUtilizationFlag[xSbIdx][yIdx]がFALSEに等しい場合、x=xSb-1..xSb+2,y=ySb-1..ySb+2に対して、現在のサブブロックの予測サンプル値は、以下のように導出される。
pbSamples[x][y]=Clip3(0,(2bitDepth)-1,(predSamplesL0[x+1][y+1]+offset2+predSamplesL1[x+1][y+1])>>shift2) (8-852)
- そうでない場合(bdofUtilizationFlag[xSbIdx][yIdx]がTRUEに等しい)、現在のサブブロックの予測サンプル値は、以下のように導出される。
- x=xSb-1..xSb+4,y=ySb-1..ySb+4の場合、以下の順序付けられたステップが適用される。
7. 予測サンプルアレイ内の対応するサンプル位置(x,y)の各々の位置(h,v)は、以下のように導出される。
=Clip3(1,nCbW,x) (8-853)
=Clip3(1,nCbH,y) (8-854)
Figure 2023134521000017
9. 変数temp[x][y],tempH[x][y]およびtempV[x][y]は、以下のように導出される。
diff[x][y]=(predSamplesL0[h][v]>>shift2)-(predSamplesL1[h][v]>>shift2) (8-859)
tempH[x][y]=(gradientHL0[x][y]+gradientHL1[x][y])>>shift3 (8-860)
tempV[x][y]=(gradientVL0[x][y]+gradientVL1[x][y])>>shift3 (8-861)
- 変数sGx2、sGy2、sGxGy、sGxdI、sGydIは、以下のように導出される。
sGx2=ΣΣ(tempH[xSb+i][ySb+j]*tempH[xSb+i][ySb+j])with i,j=-1..4 (8-862)
sGy2=ΣΣ(tempV[xSb+i][ySb+j]*tempV[xSb+i][ySb+j])with i,j=-1..4 (8-863)
sGxGy=ΣΣ(tempH[xSb+i][ySb+j]*tempV[xSb+i][ySb+j])with i,j-1..4 (8-864)
sGxdI=ΣΣ(-tempH[xSb+i][ySb+j]*diff[xSb+i][ySb+j])with i,j=-1..4 (8-865)
sGydI=ΣΣ(-tempV[xSb+i][ySb+j]*diff[xSb+i][ySb+j])with i,j=-1..4 (8-866)
- 現在のサブブロックの水平および垂直方向の動きオフセットは、以下のように導出される。
=sGx2>0?Clip3(-mvRefineThres,mvRefineThres,-(sGxdI<<3)>>Floor(Log2(sGx2))):0 (8-867)
=sGy2>0?Clip3(-mvRefineThres,mvRefineThres,((sGydI<<3)-((v*sGxGy)<<12+v*sGxGy)>>1)>>Floor(Log2(sGx2))):0 (8-868)
- x=xSb-1..xSb+2,y=ySb-1..ySb+2の場合、現在のサブブロックの予測サンプル値は、以下のように導出される。
bdofOffset=Round((v*(gradientHL1[x+1][y+1]-gradientHL0[x+1][y+1]))>>1)+Round((v*(gradientVL1[x+1][y+1]-gradientVL0[x+1][y+1]))>>1) (8-869)
[Ed.(JC):Round()演算はfloat入力に対して定義される。Round()演算は入力が整数値であるため、ここでは冗長に見える。推薦人が確認すること]pbSamples[x][y]=Clip3(0,(2bitDepth)-1,(predSamplesL0[x+1][y+1]+offset4+predSamplesL1[x+1][y+1]+bdofOffset)>>shift4) (8-870)
iii. 一例
8.5.7.4 双方向オプティカルフロー予測処理
この処理への入力は以下の通りである。
- 現在のコーディングブロックの幅および高さを規定する2つの変数nCBWおよびnCBH、
- 2つの(nCBW+2)×(nCBH+2)輝度予測サンプル配列predSamplesL0およびpredSamplesL1、
- 予測リスト利用フラグpredFlagL0およびpredFlagL1、
- 参照インデックスrefIdxL0およびrefIdxL1、
- 双方向オプティカルフロー利用フラグbdofUtilizationFlag[xIdx][yIdx]、但しxIdx=0..(nCbW>>2)-1,yIdx=0..(nCbH>>2)-1
この処理の出力は、輝度予測サンプル値の(nCBW)×(nCBH)アレイpbSamplesである。
Figure 2023134521000018
xIdx=0..(nCbW>>2)-1およびyIdx=0..(nCbH>>2)-1の場合、以下が適用される。
- 変数xSbを(xIdx<<2)+1に等しく設定し、ySbを(yIdx<<2)+1に等しく設定する。
- bdofUtilizationFlag[xSbIdx][yIdx]がFALSEに等しい場合、x=xSb-1..xSb+2,y=ySb-1..ySb+2に対して、現在のサブブロックの予測サンプル値は、以下のように導出される。
pbSamples[x][y]=Clip3(0,(2bitDepth)-1,(predSamplesL0[x+1][y+1]+offset2+predSamplesL1[x+1][y+1])>>shift2) (8-852)
- そうでない場合(bdofUtilizationFlag[xSbIdx][yIdx]がTRUEに等しい)、現在のサブブロックの予測サンプル値は、以下のように導出される。
- x=xSb-1..xSb+4,y=ySb-1..ySb+4の場合、以下の順序付けられたステップが適用される。
10. 予測サンプルアレイ内の対応するサンプル位置(x,y)の各々の位置(h,v)は、以下のように導出される。
=Clip3(1,nCbW,x) (8-853)
=Clip3(1,nCbH,y) (8-854)
Figure 2023134521000019
Figure 2023134521000020
- 変数sGx2、sGy2、sGxGy、sGxdI、sGydIは、以下のように導出される。
sGx2=ΣΣ(tempH[xSb+i][ySb+j]*tempH[xSb+i][ySb+j])with i,j=-1..4 (8-862)
sGy2=ΣΣ(tempV[xSb+i][ySb+j]*tempV[xSb+i][ySb+j])with i,j=-1..4 (8-863)
sGxGy=ΣΣ(tempH[xSb+i][ySb+j]*tempV[xSb+i][ySb+j])with i,j-1..4 (8-864)
sGxdI=ΣΣ(-tempH[xSb+i][ySb+j]*diff[xSb+i][ySb+j])with i,j=-1..4 (8-865)
sGydI=ΣΣ(-tempV[xSb+i][ySb+j]*diff[xSb+i][ySb+j])with i,j=-1..4 (8-866)
- 現在のサブブロックの水平および垂直方向の動きオフセットは、以下のように導出される。
=sGx2>0?Clip3(-mvRefineThres,mvRefineThres,-(sGxdI<<3)>>Floor(Log2(sGx2))):0 (8-867)
=sGy2>0?Clip3(-mvRefineThres,mvRefineThres,((sGydI<<3)-((v*sGxGy)<<12+v*sGxGy)>>1)>>Floor(Log2(sGx2))):0 (8-868)
- x=xSb-1..xSb+2,y=ySb-1..ySb+2の場合、現在のサブブロックの予測サンプル値は、以下のように導出される。
bdofOffset=Round((v*(gradientHL1[x+1][y+1]-gradientHL0[x+1][y+1]))>>1)+Round((v*(gradientVL1[x+1][y+1]-gradientVL0[x+1][y+1]))>>1) (8-869)
[Ed.(JC):Round()演算はfloat入力に対して定義される。Round()演算は入力が整数値であるため、ここでは冗長に見える。推薦人が確認すること]pbSamples[x][y]=Clip3(0,(2bitDepth)-1,(predSamplesL0[x+1][y+1]+offset4+predSamplesL1[x+1][y+1]+bdofOffset)>>shift4) (8-870)
図8は、映像処理装置800のブロック図である。装置800は、本明細書に記載の方法の1つ以上を実装するために使用してもよい。装置800は、スマートフォン、タブレット、コンピュータ、IoT(モノのインターネット)受信機等により実施されてもよい。装置800は、1つ以上の処理装置802と、1つ以上のメモリ804と、映像処理ハードウェア806と、を含んでもよい。1つまたは複数の処理装置802は、本明細書に記載される1つ以上の方法を実装するように構成されてもよい。メモリ(複数可)804は、本明細書で説明される方法および技術を実装するために使用されるデータおよびコードを記憶するために使用してもよい。映像処理ハードウェア806は、本明細書に記載される技術をハードウェア回路にて実装するために使用してもよい。映像処理ハードウェア806は、専用ハードウェア、またはグラフィカル処理装置ユニット(GPU)若しくは専用信号処理ブロックの形式で、処理装置802内に部分的にまたは完全に含まれてもよい。
図10は、映像を処理する方法1000のフローチャートである。方法1000は、第1の映像ブロックの特徴の判定(1005)を行うことであって、前記特徴は、前記第1の映像ブロックに関連付けられた参照ブロック間の差を含み、前記差は、絶対変換差の合計(SATD)、平均値分離絶対変換差の合計(MRSATD)、二乗誤差の合計(SSE)、平均値分離二乗誤差の合計(MRSSE)、平均値の差、または勾配値の1つ以上を含む、判定を行うことと、前記第1の映像ブロックの特徴に基づいて、双方向オプティカルフロー(BIO)技法またはデコーダ側動きベクトル改良(DMVR)技法のうちの一方または両方の動作状態を判定すること(1010)であって、前記動作状態は、有効化されているまたは無効化されている、の一方である、判定することと、前記BIO技法または前記DMVR技法のうちの一方または両方の前記動作状態に準拠した前記第1の映像ブロックの処理をさらに行うこと(1015)と、を含む。
図11は、映像を処理する方法1100のフローチャートである。方法1100は、第1の参照ブロックを修正(1105)して第1の修正された参照ブロックを生成し、第2の参照ブロックを修正して第2の修正された参照ブロックを生成することであって、前記第1の参照ブロックおよび前記第2の参照ブロックは、第1の映像ブロックに関連付けられている、生成することと、前記第1の修正された参照ブロックと前記第2の修正された参照ブロックとの間の差を行うこと(1110)であって、前記差は、絶対変換差の合計(SATD)、平均値分離絶対変換差の合計(MRSATD)、二乗誤差の合計(SSE)、平均値分離二乗誤差の合計(MRSSE)、平均値の差、または勾配値の1つ以上を含む、差を行うことと、前記第1の修正された参照ブロックと前記第2の修正された参照ブロックとの間の差に基づいて前記第1の映像ブロックをさらに処理することを行うこと
(1115)と、を含む。
図12は、映像を処理する方法1200のフローチャートである。前記方法1200は、第1の映像ブロックに関連付けられた第1の参照ブロックの一部分と第2の参照ブロックの一部分との間の差を判定すること(1205)であって、前記差は、絶対変換差の合計(SATD)、平均値分離絶対変換差の合計(MRSATD)、二乗誤差の合計(SSE)、平均値分離二乗誤差の合計(MRSSE)、平均値の差、または勾配値の1つ以上を含む、差を判定することと、前記差に基づいて前記第1の映像ブロックのさらなる処理を行うこと(1210)と、を含む。
図13は、映像を処理する方法1300のフローチャートである。方法1300は、第1の映像ブロックに関連付けられた参照ピクチャを使用して時間的勾配または修正された時間的勾配を判定すること(1305)であって、前記時間的勾配または前記修正された時間的勾配は、前記参照ピクチャ間の差を示す、判定することと、前記差にしたがって双方向オプティカルフロー(BIO)コーディングツールを使用して前記第1の映像ブロックのさらなる処理を行うこと(1310)と、を含む。
図14は、映像を処理する方法1400のフローチャートである。前記方法1400は、第1の映像ブロックに関連付けられた参照ピクチャを使用して時間的勾配を判定すること(1405)と、修正された時間的勾配を生成するために前記時間的勾配を修正すること(1410)と、前記修正された時間的勾配を使用して前記第1の映像ブロックのさらなる処理を行うこと(1415)と、を含む。
図15は、映像を処理する方法1500のフローチャートである。方法1500は、第1の映像ブロックに関連付けられた第1の相互参照ブロックおよび第2の相互参照ブロックの一方または両方を修正すること(1505)と、前記修正された第1の相互参照ブロックまたは前記修正された第2の相互参照ブロックの一方または両方を使用して、双方向オプティカルフローコーディングツール(BIO)に従った空間的勾配を判定すること(1510)と、前記空間的勾配に基づいて前記第1の映像ブロックのさらなる処理を行うこと(1515)と、を含む。
図16は、映像を処理する方法1600のフローチャートである。方法1600は、ブロックレベルで信号通知されたフラグが、第1の映像ブロックに対して、デコーダ側動きベクトル改良(DMVR)または双方向オプティカルフロー(BIO)のうちの一方または両方を有効にするべきであることを示す判定を行うこと(1605)と、前記第1の映像ブロックのさらなる処理を行うこと(1610)であって、前記フラグに準拠したDMVRまたはBIOの一方または両方を適用することを含む前記処理を行うことと、を含む。
方法1000、1100、1200、1300、1400、1500、および1600を参照すると、双方向オプティカルフロー(BIO)またはデコーダ側動きベクトル改良(DMVR)の使用を判定するいくつかの例が、本明細書の第4章に記載されている。例えば、第4章で説明したように、参照ブロック間の差を判定してもよく、この差を使用してBIOまたはDMVRを有効化または無効化してもよい。
方法1000、1100、1200、1300、1400、1500および1600を参照すると、映像ブロックは、動き情報予測に関するビットストリーム生成規則を使用することによって、ビット効率を達成し得る映像ビットストリームにおいて符号化されてもよい。
前記方法は、BIO技法またはDMVR技法の動作状態がブロックレベルとサブブロックレベルとで異なることを含むことができる。
前記方法は、前記勾配値、前記勾配値の平均、または前記勾配値の範囲のうちの1つ以上が閾値範囲の中に含まれることを判定することを含み、前記動作状態を判定することが、前記勾配値、前記勾配値の平均、または前記勾配値の範囲が閾値範囲の中に含まれることの判定に基づく。
前記方法は、動作状態を判定することが、映像パラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、タイルグループヘッダ、またはスライスヘッダにおいて、エンコーダからデコーダに信号通知される情報にさらに基づいて行われることを含むことができる。
前記方法は、SATD、MRSATD、SSEまたはMRSSEに基づいて、第1の映像ブロックの改良された動きベクトルを判定することを含むことができ、改良された動きベクトルに基づいてさらなる処理を行う。
前記方法は、前記改良された動きベクトルをSATDまたはMRSATDに基づいて判定することを含むことができ、前記方法は、前記第1の映像ブロックの各サブブロックに対してSATDまたはMRSATDを判定することと、各サブブロックに対するSATDまたはMRSATDの合計に基づいて、前記第1の映像ブロックに対する前記SATDまたはMRSATDを生成することと、をさらに含み、前記第1の映像ブロックのさらなる処理は、生成されたSATDまたはMRSATDに基づいて行われる。
前記方法は、前記第1の映像ブロックの2つの参照ブロックの平均値の差が閾値よりも大きいことを判定することを含むことができ、前記2つの参照ブロックの前記平均値の差に基づいて、BIOまたはDMVRの一方または両方が無効化された動作状態にある。
前記方法は、前記第1の映像ブロックのサブブロックのうち、2つの参照サブブロックの平均値の差が閾値よりも大きいことを判定することを含むことができ、前記2つの参照サブブロックの前記平均値の差に基づいて、BIOまたはDMVRの一方または両方が無効化された動作状態にある。
前記方法は、前記閾値が予め規定されることを含むことができる。
前記方法は、前記第1の映像ブロックの寸法を判定することを含むことができ、前記閾値は、前記第1の映像ブロックの前記寸法に基づく。
前記方法は、前記第1の参照ブロックおよび前記第2の参照ブロックを修正することが、前記第1の参照ブロックから前記第1の参照ブロックの平均を減算することを含むことができる。
前記方法は、前記第1の参照ブロックおよび前記第2の参照ブロックの前記一部分が偶数行を含むことを含むことができる。
前記方法は、前記第1の参照ブロックおよび前記第2の参照ブロックの前記一部分がコーナーサンプルを含むことを含むことができる。
前記方法は、前記第1の参照ブロックおよび前記第2の参照ブロックの前記一部分が、代表的なサブブロックを含むことを含むことができる。
前記方法は、前記代表的なサブブロック間の差を合計し、前記第1の参照ブロックまたは前記第2の参照ブロックの差を生成することを含むことができる。
前記方法は、前記差が前記時間的勾配の絶対値の合計に関することを含むことができる。
前記方法は、時間的勾配を修正することが、参照ブロック間の平均絶対差が閾値よりも大きいことに基づくことを含むことができる。
前記方法は、前記閾値が4であることを含むことができる。
前記方法は、時間的勾配を修正することが、参照ブロック間の平均絶対差が閾値未満であることに基づくことを含むことができる。
前記方法は、前記閾値が20であることを含むことができる。
前記方法は、時間的勾配を修正することが、閾値範囲内にある参照ブロック間の平均絶対差に基づくことを含むことができる。
前記方法は、前記平均絶対差が閾値よりも大きいことに基づいて、BIOが無効化された動作状態にあることを含むことができる。
前記方法は、前記閾値または前記閾値範囲が、VPS、SPS、PPS、ピクチャ、スライス、またはタイルレベルで示されることを含むことができる。
前記方法は、異なるコーディングユニット(CU)、最大コーディングユニット(LCU)、スライス、タイル、またはピクチャごとに、前記閾値または前記閾値範囲が異なることを含むことができる。
前記方法は、前記閾値または前記閾値範囲が、復号化または符号化された画素値に基づくものであることを含むことができる。
前記方法は、前記閾値または前記閾値範囲が参照ピクチャに基づくものであることを含むことができる。
前記方法は、前記空間的勾配を判定することが、各予測方向におけるイントラ予測ブロックおよびインター予測ブロックの重み付け平均を判定することを含むことができる。
前記方法は、前記フラグが高度動きベクトル予測(AMVP)モードで提供されることと、マージモードにおいて、空間的に近傍のブロックまたは時間的に近傍のブロックの一方または両方から前記フラグを継承することとを含むことができる。
前記方法は、単一予測ブロックのために前記フラグが信号通知されないことを含むことができる。
前記方法は、表示順に前のピクチャまたは後のピクチャである参照ピクチャを使用して、双方向予測ブロックに対して前記フラグを信号通知しないことを含むことができる。
前記方法は、双方向予測ブロックに対して前記フラグが信号通知されないことを含むことができる。
前記方法は、フラグがイントラコーディングされたブロックのために信号通知されないことを含むことができる。
前記方法は、ハイブリッドのイントラおよびインター予測モードでコーディングされたブロックに対して前記フラグを信号通知しないことを含むことができる。
前記方法は、前記第1の映像ブロックの次元に基づいて前記フラグを信号通知することを含むことができる。
前記方法は、フラグがVPS、SPS、またはPPSで信号通知されることを含むことができる。
前記方法は、前記フラグが、前記第1の映像ブロックに関連付けられたピクチャの時間層に基づくことを含むことができる。
前記方法は、前記フラグが、前記第1の映像ブロックに関連付けられたピクチャの量子化パラメータ(QP)に基づくことを含むことができる。
図17は、本明細書で開示される様々な技術が実装され得る例示的な映像処理システム1700を示すブロック図である。様々な実装形態は、システム1700のモジュールの一部又は全部を含んでもよい。システム1700は、映像コンテンツを受信するための入力ユニット1702を含んでもよい。映像コンテンツは、未加工又は非圧縮フォーマット、例えば、8又は10ビットのマルチコンポーネント画素値で受信されてもよく、又は圧縮又は符号化フォーマットで受信されてもよい。入力ユニット1702は、ネットワークインターフェース、周辺バスインターフェース、又は記憶インターフェースを表してもよい。ネットワークインターフェースの例は、イーサネット(登録商標)、受動光ネットワーク(PON)等の有線インターフェース、およびWi-Fi(登録商標)またはセルラーインターフェース等の無線インターフェースを含む。
システム1700は、本明細書に記載される様々なコーディング又は符号化方法を実装することができるコーディングモジュール1704を含んでもよい。コーディングモジュール1704は、入力ユニット1702からコーディングモジュール1704の出力への映像の平均ビットレートを低減して、映像のコーディング表現を生成してもよい。従って、このコーディング技術は、映像圧縮または映像コード変換技術と呼ばれることがある。コーディングモジュール1704の出力は、モジュール1706によって表されるように、記憶されてもよいし、接続された通信を介して送信されてもよい。入力ユニット1702において受信された、記憶された又は通信された映像のビットストリーム(又はコーディング)表現は、モジュール1708によって使用されて、表示インターフェースユニット1710に送信される画素値又は表示可能な映像を生成してもよい。ビットストリーム表現からユーザが見ることができる映像を生成する処理は、映像復元と呼ばれることがある。さらに、特定の映像処理動作を「コーディング」動作又はツールと呼ぶが、コーディングツール又は動作はエンコーダで使用され、コーディングの結果を逆にし対応する復号化ツール又は動作が、デコーダによって行われることが理解されよう。
周辺バスインターフェースユニットまたは表示インターフェースユニットの例は、ユニバーサルシリアルバス(USB)または高精細マルチメディアインターフェース(HDMI(登録商標))またはディスプレイポート等を含んでもよい。ストレージインターフェースの例は、シリアルアドバンスドテクノロジーアタッチメント(SATA)、PCI、IDEインターフェース等を含む。本明細書に記載される技術は、携帯電話、ノートパソコン、スマートフォン、又はデジタルデータ処理及び/又は映像表示を実施可能な他のデバイス等の様々な電子デバイスに実施されてもよい。
理解されるように、前記開示された技法は、圧縮されている前記コーディングユニットが、前記従来の正方形のブロックまたは半正方形の長方形のブロックとは大きく異なる形状を有する場合、圧縮効率を向上させるために、映像エンコーダまたはデコーダに実施されてもよい。例えば、4×32または32×4サイズのユニットのような長いまたは高いコーディングユニットを使用する新しいコーディングツールは、開示された技術から恩恵を受けることができる。
いくつかの実装形態において、映像処理方法は次のように行ってもよい。
映像ブロックと前記映像ブロックのビットストリーム表現との間での変換中に、空間的勾配および時間的勾配を計算するフィルタリングの方法を使用し、
前記フィルタリングを使用して前記変換を行う。
ここで、この変換は、映像ブロックの画素値からビットストリーム表現を生成すること、またはビットストリーム表現から画素値を生成することを含む。
いくつかの実施形態において、前記空間的および時間的勾配は、シフトされたサンプル差を使用して算出される。
いくつかの実施形態において、前記空間的および時間的勾配は、修正されたサンプルを使用して算出される。
前記方法のさらなる詳細は、第4章に記載の項目1に記載されている。
図18は、映像処理方法の例を示すフローチャートである。前記方法のステップは、本願の第4章の実施例2に記載されている。この方法は、視覚メディアデータの現在のブロックと対応する視覚メディアデータのコーディング表現との間で変換を行うこと(ステップ1805)であって、この現在のブロックを変換することは、双方向オプティカルフロー(BIO)技法またはデコーダ側動きベクトル改良(DMVR)技法の一方または両方を使用することが現在のブロックに対して有効または無効化されるかどうかを判定することを含み、BIO技法またはDMVR技法の使用を判定することは、現在のブロックに関連付けられたコスト基準に基づく、変換を行うことを含む。
図19は、映像処理方法の例を示すフローチャートである。前記方法のステップは、本願の第4章の実施例3に記載されている。この方法は、視覚メディアデータの現在のブロックと対応する前記視覚メディアデータのコーディング表現との間で変換を行うこと(ステップ1905)であって、前記現在のブロックを前記変換することは、デコーダ側動きベクトル改良(DMVR)技法の前記現在のブロックでの使用が有効化されているか無効化されているかを判定することを含み、前記DMVR技法は、平均除去絶対差の合計(MRSAD)コスト基準以外のコスト基準に基づいて前記現在のブロックの動き情報を改良することを含む、変換を行うことを含む。
図20は、映像処理方法の例を示すフローチャートである。前記方法のステップは、本願の第4章の実施例4に記載されている。この方法は、視覚メディアデータの現在のブロックと対応する前記視覚メディアデータのコーディング表現との間で変換を行うこと(ステップ2005)であって、前記現在のブロックを前記変換することは、双方向オプティカルフロー(BIO)技法またはデコーダ側動きベクトル改良(DMVR)技法の一方または両方を使用することが前記現在のブロックに対して有効または無効化されるかどうかを判定することを含み、前記BIO技法または前記DMVR技法の前記使用を判定することは、前記現在のブロックに関連付けられた1対の参照ブロックの平均値の差が閾値を超えることを計算することに基づく、変換を行うことを含む。
図21は、映像処理方法の例を示すフローチャートである。前記方法のステップは、本願の第4章の実施例6に記載されている。前記方法は、第1の参照ブロックを修正して第1の修正された参照ブロックを生成し、第2の参照ブロックを修正して第2の修正された参照ブロックを生成すること(ステップ2105)であって、前記第1の参照ブロックおよび前記第2の参照ブロックの両方は、視覚メディアデータの現在のブロックに関連付けられている、生成することを含む。前記方法は、さらに、前記第1の修正された参照ブロックと前記第2の修正された参照ブロックとの間の差を判定すること(ステップ2110)であって、前記差は、絶対変換差の合計(SATD)、平均値分離絶対変換差の合計(MRSATD)、二乗誤差の合計(SSE)、平均値分離二乗誤差の合計(MRSSE)、平均値の差、または勾配値の1つ以上を含む、判定することを含む。前記方法は、視覚メディアデータの現在のブロックと、対応する視覚メディアデータのコーディング表現との間での変換を行うこと(ステップ2115)であって、前記変換は、前記第1の参照ブロックおよび前記第2の参照ブロックをそれぞれ修正することから生成された、前記第1の修正された参照ブロックと前記第2の修正された参照ブロックとの間の前記差の使用を含む、
変換を行うことを含む。
図22は、映像処理方法の例を示すフローチャートである。前記方法のステップは、本願の第4章の実施例7に記載されている。本方法は、視覚メディアデータの現在のブロックに関連付けられた参照ピクチャを使用して、参照ピクチャ間の差を示す時間的勾配または修正された時間的勾配を判定すること(ステップ2205)であって、前記時間的勾配または前記修正された時間的勾配は、前記参照ピクチャ間の差を表す、判定することを含む。前記方法は、視覚メディアデータの現在のブロックと対応する前記視覚メディアデータのコーディング表現との間で変換を行うこと(ステップ2210)であって、前記変換は、時間的勾配または修正された時間的勾配に部分的に基づいて双方向オプティカルフロー(BIO)技法を使用することを含む、変換を行うことを含む。
図23は、映像処理方法の例を示すフローチャートである。前記方法のステップは、本願の第4章の実施例8に記載されている。前記方法は、第1の映像ブロックまたはそのサブブロックに関連付けられた参照ピクチャを使用して第1の時間的勾配を判定すること(ステップ2305)を含む。前記方法は、第2の映像ブロックまたはそのサブブロックに関連付けられた参照ピクチャを使用して第2の時間的勾配を判定すること(ステップ2310)を含む。前記方法は、修正された第1の時間的勾配および修正された第2の時間的勾配を生成するために、前記第1の時間的勾配の修正および前記第2の時間的勾配の修正を行うこと(ステップ2315)であって、前記第1の映像ブロックに関連付けられた前記第1の時間的勾配の前記修正は、前記第2の映像ブロックに関連付けられた前記第2の時間的勾配の前記修正とは異なる、修正を行うことを含む。前記方法は、前記第1の映像ブロックおよび前記第2の映像ブロックの、これらの対応するコーディング表現への変換を行うこと(ステップ2320)を含む。
図24は、映像処理方法の例を示すフローチャートである。前記方法のステップは、本願の第4章の実施例9に記載されている。前記方法は、前記現在のブロックに関連付けられた第1の相互参照ブロックおよび第2の相互参照ブロックの一方または両方を修正すること(ステップ2405)を含む。本方法は、修正された第1の相互参照ブロックおよび/または前記修正された第2の相互参照ブロックの前記一方または両方を使用することに基づいて、双方向オプティカル(BIO)フロー技法を適用することにしたがって、前記現在のブロックに関連付けられた空間的勾配を判定すること(ステップ2410)を含む。前記方法は、前記現在のブロックおよび対応するコーディング表現の間での変換を行うこと(ステップ2415)であって、前記変換は、前記現在のブロックに関連付けられた前記空間的勾配の使用を含む、変換を行うことを含む。
図25は、映像処理方法の例を示すフローチャートである。前記方法のステップは、本願の第4章の実施例10に記載されている。前記方法は、処理装置によって、ブロックレベルで信号通知されたフラグが、現在のブロックに対して、デコーダ側動きベクトル改良(DMVR)技法または双方向オプティカルフロー(BIO)技法のうちの一方または両方を有効にするべきであることを少なくとも部分的に示す判定を行うこと(ステップ2505)を含む。前記方法は、前記現在のブロックと対応するコーディング表現との間で変換を行うこと(ステップ2510において)であって、前記コーディング表現は、前記DMVR技法および/または前記BIO技法のうちの前記一方または両方を有効にするかどうかを示す前記フラグを含む、変換を行うことを含む。
図26は、映像処理方法の例を示すフローチャートである。前記方法のステップは、本願の第4章の実施例11に記載されている。前記方法は、処理装置により、現在のブロックに対してデコーダ側動きベクトル改良(DMVR)技法を有効にするべきであるという判定を行うこと(ステップ2605)であって、前記判定は、前記現在のブロックの高さに排他的に基づく、判定を行うことを含む。前記方法は、前記現在のブロックと対応するコーディング表現との間で変換を行うこと(ステップ2610)を含む。
図27は、映像処理方法の例を示すフローチャートである。前記方法のステップは、本願の第4章の実施例12に記載されている。この方法は、視覚メディアデータの現在のブロックと対応する視覚メディアデータのコーディング表現との間で変換を行うこと(ステップ2705において)であって、前記変換は、現在のブロックに対して、デコーダ側動きベクトル改良(DMVR)技法または双方向オプティカルフロー(BIO)技法の一方または両方に関連付けられた規則を使用することを含み、前記DMVR技法に関連付けられた規則は、前記BIO技法への適用に準拠しており、前記BIO技法または前記DMVR技法の前記一方または両方の前記使用が有効化されているか無効化されているかを判定することは、前記規則を適用することに基づく、変換を行うことを含む。
本技術のいくつかの実施形態は、項に基づく形式で説明される。
1. 視覚メディア処理方法であって、
視覚メディアデータの現在のブロックと対応する視覚メディアデータのコーディング表現との間で変換を行うことを含み、
この現在のブロックを変換することは、双方向オプティカルフロー(BIO)技法またはデコーダ側動きベクトル改良(DMVR)技法の一方または両方を使用することが現在のブロックに対して有効または無効化されるかどうかを判定することを含み、
BIO技法またはDMVR技法の使用を判定することは、現在のブロックに関連付けられたコスト基準に基づく、
方法。
2. 前記コスト基準は、前記差は、絶対変換差の合計(SATD)、平均値分離絶対変換差の合計(MRSATD)、二乗誤差の合計(SSE)、平均値分離二乗誤差の合計
(MRSSE)、平均値の差、または勾配値の1つ以上に基づく、第1項に記載の方法。
3. 前記コスト基準は、前記現在のブロックのサブブロックに関連付けられる、第1~2項のいずれか1項以上に記載の方法。
4. サブブロックレベルのコスト基準がブロックレベルのコスト基準と異なる、第3項に記載の方法。
5. 前記勾配値、勾配値の平均、または勾配値の範囲の1つ以上が閾値範囲外であると判定されると、前記BIO技法および/またはDMVR技法の適用を無効化すること、
をさらに含む、第1項から第4項のいずれか1項以上に記載の方法。
6. 前記現在のブロックに関連付けられた前記コスト基準が、前記コーディング表現で信号通知される、第1項に記載の方法。
7. 前記コスト基準は、映像パラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、タイルグループヘッダ、またはスライスヘッダで信号通知される、第6項に記載の方法。
8. 視覚メディア処理方法であって、
視覚メディアデータの現在のブロックと対応する視覚メディアデータのコーディング表現との間で変換を行うことを含み、
この現在のブロックを変換することは、双方向オプティカルフロー(BIO)技法またはデコーダ側動きベクトル改良(DMVR)技法の一方または両方を使用することが現在のブロックに対して有効化または無効化されるかどうかを判定することを含み、
このDMVR技法は、平均除去絶対差の合計(MRSAD)コスト基準以外のコスト基準に基づいて、現在のブロックの動き情報を改良することを含む、
方法。
9. 現在のブロックに関連付けられたコスト基準は、絶対変換差の合計(SATD)、平均値分離絶対変換差の合計(MRSATD)、二乗誤差の合計(SSE)、または平均値分離二乗誤差の合計(MRSSE)のうちの1つ以上に基づく、第8項に記載の方法。
10. 前記コスト基準は、前記現在のブロックのサブブロックに関連付けられる、第8~9項のいずれか1項以上に記載の方法。
11. 現在のブロックをサイズM×Nの複数のサブブロックに分割することであって、コスト基準は、複数のサブブロックの各々に関連付けられた動き情報に基づく、分割することと、
複数のサブブロックの各々に対応するコストを生成することと、
をさらに含む、第10項に記載の方法。
12. 複数のサブブロックの各々に対応するコストの少なくとも1つのサブセットを合計し、現在のブロックに関連付けられた結果としてのコストを生成すること、をさらに含む、第11項に記載の方法。
13. 視覚メディア処理方法であって、
視覚メディアデータの現在のブロックと対応する視覚メディアデータのコーディング表現との間で変換を行うことを含み、
この現在のブロックを変換することは、双方向オプティカルフロー(BIO)技法またはデコーダ側動きベクトル改良(DMVR)技法の一方または両方を使用することが現在のブロックに対して有効または無効化されるかどうかを判定することを含み、
BIO技法またはDMVR技法の使用を判定することは、現在のブロックに関連付けられた1対の参照ブロックの平均値の差が閾値を超えることを計算することに基づく、
方法。
14. 前記閾値は第1の閾値であり、さらに、
前記現在のブロックの1つのサブブロックに関連付けられた1対の参照サブブロックの平均値の差が第2の閾値を超えた場合、前記BIO技法および/または前記DMVR技法の適用を無効化することを含む、第13項に記載の方法。
15. 前記第1の閾値および/または前記第2の閾値は、予め規定された数である、第14項に記載の方法。
16. 前記第1の閾値および/または前記第2の閾値は、前記現在のブロックの寸法に基づく、項目14に記載の方法。
17. 視覚メディア処理方法であって、
第1の参照ブロックを修正して第1の修正された参照ブロックを生成し、第2の参照ブロックを修正して第2の修正された参照ブロックを生成することであって、前記第1の参照ブロックおよび前記第2の参照ブロックの両方が、視覚メディアデータの現在のブロックに関連付けられている、修正することと、
前記第1の修正された参照ブロックと前記第2の修正された参照ブロックとの間の差を判定することであって、前記差は、絶対変換差の合計(SATD)、平均値分離絶対変換差の合計(MRSATD)、二乗誤差の合計(SSE)、平均値分離二乗誤差の合計(MRSSE)、平均値の差、または勾配値の1つ以上を含む、差を判定することと、
視覚メディアデータの現在のブロックと、対応する視覚メディアデータのコーディング表現との間での変換を行うことであって、前記変換は、前記第1の参照ブロックおよび前記第2の参照ブロックをそれぞれ修正することから生成された前記第1の修正された参照ブロックと前記第2の修正された参照ブロックとの間の前記差の使用を含む、変換を行うことと、
を含む方法。
18. 前記第1の参照ブロックと塩基第2の参照ブロックを前記修正することは、
前記第1の参照ブロックに含まれるサンプル値に基づいて第1の算術平均と、前記第2の参照ブロックに含まれるサンプル値に基づいて第2の算術平均を算出することと、
前記第1の参照ブロックに含まれるサンプルから前記第1の算術平均を減算し、前記第2の参照ブロックに含まれるサンプルから前記第2の算術平均を減算することと、を含む、第17項に記載の方法。
19. 前記第1の算術平均および前記第2の算術平均は、前記第1の参照ブロックおよび前記第2の参照ブロックにそれぞれ含まれるサンプルのサブセットに基づく、第18項に記載の方法。
20. 前記第1の参照ブロックおよび/または前記第2の参照ブロックは、現在のブロックに関連付けられたサブブロックである、第17~19項のいずれか1項以上に記載の方法。
21. 視覚メディア処理方法であって、
視覚メディアデータの現在のブロックに関連付けられた参照ピクチャを使用して、参照ピクチャ間の差を示す時間的勾配または修正された時間的勾配を判定することであって、前記時間的勾配または前記修正された時間的勾配は、前記参照ピクチャ間の差を表す、判定することと、
視覚メディアデータの現在のブロックと対応する前記視覚メディアデータのコーディング表現との間で変換を行うことであって、前記変換は、時間的勾配または修正された時間的勾配に部分的に基づいて双方向オプティカルフロー(BIO)技法を使用することを含む、変換を行うことと、を含む、
方法。
22. 時間的勾配または修正された時間的勾配が閾値以下であることを判定することに応じて、BIO技法を早期に終了させること、をさらに含む、第21項に記載の方法。
23. 時間的勾配または修正された勾配の絶対値の合計を計算するために使用されるサンプルの数に基づいて閾値を調整すること、をさらに含む、第22項に記載の方法。
24. 前記方法は、前記差が前記時間的勾配の絶対値の合計に関することを含む、第21~23項のうちのいずれか1項以上に記載の方法。
25. 前記参照ピクチャ間の前記差が、第1の参照ピクチャの第1の部分と第2の参照ピクチャの第2の部分との間の差に対応する、第21~24項のいずれか1項以上に記載の方法。
26. 前記参照ピクチャは、前記現在のブロックのサブブロックに関連付けられる、第21~25項のいずれか1項以上に記載の方法。
27. 視覚メディア処理方法であって、
第1の映像ブロックまたはそのサブブロックに関連付けられた参照ピクチャを使用して第1の時間的勾配を判定することと、
第2の映像ブロックまたはそのサブブロックに関連付けられた参照ピクチャを使用して第2の時間的勾配を判定することと、
修正された第1の時間的勾配および修正された第2の時間的勾配を生成するために、前記第1の時間的勾配の修正および前記第2の時間的勾配の修正を行うことであって、前記第1の映像ブロックに関連付けられた前記第1の時間的勾配の前記修正は、前記第2の映像ブロックに関連付けられた前記第2の時間的勾配の前記修正とは異なる、修正を行うことと、
前記第1の映像ブロックおよび前記第2の映像ブロックの、これらに対応するコーディング表現への変換を行うことと、を含む、方法。
28. 前記第1の時間的勾配の前記修正および/または前記第2の時間的勾配の前記修正は、前記第1の映像ブロックおよび/または前記第2の映像ブロックに関連付けられた前記参照ピクチャ間の平均絶対差が閾値よりも大きいことに条件付きで基づく、第27項に記載の方法。
29. 前記閾値は4である、第28項に記載の方法。
30. 前記第1の時間的勾配の前記修正および/または前記第2の時間的勾配の前記修正は、前記第1の映像ブロックおよび/または前記第2の映像ブロックに関連付けられた前記参照ピクチャ間の平均絶対差が閾値より小さいことに条件付きで基づく、第27項に記載の方法。
31. 前記閾値は20である、第30項に記載の方法。
32. 前記第1の時間的勾配の前記修正および/または前記第2の時間的勾配の前記修正は、前記第1の映像ブロックおよび/または前記第2の映像ブロックに関連付けられた前記参照ピクチャ間の平均絶対差が閾値範囲内にあることに条件付きで基づく、第27項に記載の方法。
33. 前記第1の映像ブロックおよび/または前記第2の映像ブロックに関連付けられた前記参照ピクチャの間の平均絶対差が閾値よりも大きいことに基づいて、前記第1の映像ブロックおよび/または前記第2の映像ブロックに対して双方向オプティカルフロー(BIO)技法を用いることを無効化すること、をさらに含む、第27~32項のいずれかに記載の方法。
34. 前記閾値または前記閾値範囲は、前記第1の映像ブロックおよび/または前記第2の映像ブロックに関連付けられたVPS、SPS、PPS、ピクチャ、スライス、またはタイルレベルで示される、第27~33項のいずれか1項以上に記載の方法。
35. 前記閾値または前記閾値範囲は、暗黙のうちに予め規定されたパラメータである、第27~33項のいずれか1項以上に記載の方法。
36. 前記閾値または前記閾値範囲は、第1の映像ブロックおよび/または第2の映像ブロックに関連付けられた異なるコーディングユニット(CU)、最大コーディングユニット(LCU)、スライス、タイル、またはピクチャごとに異なる、第27~33項のいずれか1項以上に記載の方法。
37. 前記閾値または前記閾値範囲は、前記第1の映像ブロックおよび/または前記第2の映像ブロックに関連付けられた復号化または符号化された画素値に基づく、第27~33項のいずれか1項以上に記載の方法。
38. 第1の参照ピクチャのセットの閾値または閾値範囲が、第2の参照ピクチャのセットの前記閾値または前記閾値範囲と異なる、第27~33項のいずれか1項以上に記載の方法。
39. 前記第1の時間的勾配の前記修正および/または前記第2の時間的勾配の前記修正は、前記第1の映像ブロックおよび/または前記第2の映像ブロックに関連付けられた前記参照ピクチャの平均絶対差が閾値よりも大きいことに条件付きで基づく、第27項に記載の方法。
40. 前記閾値は40である、項目39に記載の方法。
41. 前記第1の時間的勾配の前記修正および/または前記第2の時間的勾配の前記修正は、前記第1の映像ブロックおよび/または前記第2の映像ブロックに関連付けられた前記参照ピクチャの平均絶対差が閾値より小さいことに条件付きで基づく、第27項に記載の方法。
42. 前記閾値は100である、第41項に記載の方法。
43. 前記第1の時間的勾配の前記修正および/または前記第2の時間的勾配の前記修正は、前記第1の映像ブロックおよび/または前記第2の映像ブロックに関連付けられた前記参照ピクチャの平均絶対差が閾値範囲内に含まれることに条件付きで基づく、第27項に記載の方法。
44. 前記第1の時間的勾配の前記修正および/または前記第2の時間的勾配の前記修正は、前記第1の映像ブロックおよび/または前記第2の映像ブロックに関連付けられた前記参照ピクチャの平均絶対差が前記第1の映像ブロックおよび/または前記第2の映像ブロックに乗算係数を掛けた値に関連付けられた参照ピクチャの平均絶対差よりも大きいことに条件付きで基づく、第27項に記載の方法。
45. 前記第1の時間的勾配の前記修正および/または前記第2の時間的勾配の前記修正は、前記第1の映像ブロックおよび/または前記第2の映像ブロックに関連付けられた前記参照ピクチャの平均絶対差が前記第1の映像ブロックおよび/または前記第2の映像ブロックに乗算係数を掛けた値に関連付けられた参照ピクチャの平均絶対差より小さいことに条件付きで基づく、第27項に記載の方法。
46. 前記乗算係数が4.5である、第44~45項のいずれか1項以上に記載の方法。
47. 視覚メディア処理方法であって、
前記現在のブロックに関連付けられた第1の相互参照ブロックおよび第2の相互参照ブロックの一方または両方を修正することと、
修正された第1の相互参照ブロックおよび/または前記修正された第2の相互参照ブロックの前記一方または両方を使用することに基づいて、双方向オプティカル(BIO)フロー技法を適用することにしたがって、前記現在のブロックに関連付けられた空間的勾配を判定することと、
前記現在のブロックおよび対応するコーディング表現の間での変換を行うことであって、前記変換は、前記現在のブロックに関連付けられた前記空間的勾配の使用を含む、変換を行うことと、を含む、方法。
48. 前記空間的勾配を判定することが、
現在のブロックに関連付けられたイントラ予測ブロックとインター予測ブロックとの重み付け平均に基づいて、2つの予測ブロックを生成することと、
現在のブロックに関連付けられた前記空間的勾配を判定するために2つの予測ブロックを使用することと、を含む、第47項に記載の方法。
49. 前記BIO技法を使用して、前記2つの予測ブロックから改良された予測ブロックを生成することと、
前記現在のブロックのサブブロックおよび/またはサンプルを予測するための改良された予測ブロックを使用することと、をさらに含む、第48項に記載の方法。
50. 視覚メディア処理方法であって、
処理装置によって、ブロックレベルで信号通知されたフラグが、現在のブロックに対して、デコーダ側動きベクトル改良(DMVR)技法または双方向オプティカルフロー(BIO)技法のうちの一方または両方を有効にするべきであることを少なくとも部分的に示す判定を行うことと、
前記現在のブロックと対応するコーディング表現との間で変換を行うことであって、前記コーディング表現は、前記DMVR技法および/または前記BIO技法のうちの前記一方または両方を有効にするかどうかを示す前記フラグを含む、変換を行うことと、を含む、
方法。
51. 前記フラグは、前記現在のブロックに対して高度動きベクトル予測(AMVP)技法が有効化されていることを検出することに応じて、コーディング表現で信号通知される、第50項記載の方法。
52. 前記フラグは、現在のブロックに対してマージモードが有効化されていることを検出することに応じて、現在のブロックに関連付けられた空間的に近傍のブロックまたは時間的に近傍のブロックの一方または両方から導出される、第50項記載の方法。
53. 前記フラグは、選択されたマージ候補が空間的マージ候補である場合、選択されたマージ候補から継承される、第52項の方法。
54. 前記フラグは、選択された融合候補が時間的融合候補である場合、前記選択された融合候補から継承される、第52項に記載の方法。
55. 前記現在のブロックに関連付けられたコスト基準を使用して、DMVR技法および/またはBIO技法の前記一方または両方が有効化されているかどうかを判定し、前記コーディング表現で信号通知された前記フラグを使用して、このような判定が正確であるかどうかを示す、第50項に記載の方法。
56. 前記現在のブロックに関連付けられたコスト基準は、前記現在のブロックの2つの参照ブロック間の絶対差の合計(SAD)であり、コスト基準が閾値よりも大きい場合、DMVR技法および/またはBIO技法の一方または両方が有効化されているという判定が適用される、第55項に記載の方法。
57. 前記現在のブロックが単一予測ブロックであると判定されると、コーディング表現におけるフラグの信号通知をスキップすること、をさらに含む、第50項に記載の方法。
58. 前記現在のブロックが、両方とも表示順に前または後ろにある1対の参照ピクチャに関連付けられた双方向予測ブロックであると判定されると、コーディング表現におけるフラグの信号通知をスキップする、ことをさらに含む、第50項に記載の方法。
59. 前記現在のブロックが、前記現在のブロックに関連付けられた現在のピクチャからの異なるピクチャオーダカウント(POC)距離を有する1対の参照ピクチャに関連付けられた双方向予測ブロックであると判定されると、前記コーディング表現における前記フラグの信号通知をスキップする、ことをさらに含む、第50項に記載の方法。
60. 前記現在のブロックがイントラコーディングされたブロックであると判定されると、前記コーディング表現におけるフラグの信号通知をスキップすること、をさらに含む、第50項に記載の方法。
61. 前記現在のブロックがハイブリッドイントラおよびインター予測ブロックであると判定されると、前記コーディング表現における前記フラグの信号通知をスキップすること、をさらに含む、第50項に記載の方法。
62. 前記現在のブロックが参照ブロックと同じピクチャの少なくとも1つのブロックに関連付けられていると判定されると、前記コーディング表現における前記フラグの信号通知をスキップすること、をさらに含む、第50項に記載の方法。
63. 前記現在のブロックの寸法が閾値より小さいと判定されると、前記コーディング表現における前記フラグの信号通知をスキップすること、をさらに含む、第50項に記載の方法。
64. 前記現在のブロックの寸法が閾値以上であると判定されると、前記コーディング表現における前記フラグの信号通知をスキップすること、をさらに含む、第50項に記載の方法。
65. 前記現在のブロックに関連付けられた動き情報の精度が整数精度であると判定されると、前記コーディング表現における前記フラグの信号通知をスキップすること、をさらに含む、第50項に記載の方法。
66. 前記現在のブロックを含むピクチャに関連付けられた時間層が閾値を超えていると判定されると、前記コーディング表現における前記フラグの信号通知をスキップすること、をさらに含む、第50項に記載の方法。
67. 前記現在のブロックに関連付けられた量子化パラメータが閾値を超えていると判定されると、前記コーディング表現における前記フラグの信号通知をスキップすること、をさらに含む、第50項に記載の方法。
68. 前記コーディング表現における前記フラグの信号通知がスキップされることを判定することに応じて、前記フラグの値を真または偽として導出すること、をさらに含む、第50項~第67項のいずれか1項以上に記載の方法。
69. フラグが真であると判定されると、前記DMVR技法または前記BIO技法の一方または両方を有効化すること、をさらに含む、第50項~第67項のいずれか1項以上に記載の方法。
70. フラグが偽であると判定されると、前記DMVR技法または前記BIO技法の一方または両方を無効化すること、をさらに含む、第50項~第67項のいずれか1項以上に記載の方法。
71. 前記フラグが真であると判定されると、少なくとも1つのコスト基準に基づいて、前記DMVR技法または前記BIO技法の一方または両方を有効化または無効化することを正しいものとして判定すること、をさらに含む、第50項~第67項のいずれか1項以上に記載の方法。
72. 前記フラグが偽であると判定されると、少なくとも1つのコスト基準に基づいて、前記DMVR技法または前記BIO技法の一方または両方を有効化または無効化することを正しくないものとして判定すること、をさらに含む、第50項~第67項のいずれか1項以上に記載の方法。
73. 前記フラグが、スライスヘッダ、タイルヘッダ、映像パラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)で信号通知される、第50項~第67項のいずれか1項以上に記載の方法。
74. 前記第1のフラグは、前記DMVR技法が無効化されているかどうかを示すように信号通知され、前記第2のフラグは、BIO技法が無効化されているかどうかを示すように信号通知される、第50項に記載の方法。
75. 前記DMVR技法のためのフラグが真であると判定されると、スライス、タイル、映像、シーケンスまたはピクチャのための前記DMVR技法を無効化すること、をさらに含む、第64項~第74項のいずれか1項以上に記載の方法。
76. 前記DMVR技法のためのフラグが偽であると判定されると、前記DMVR技法はスライス、タイル、映像、シーケンス、またはピクチャのために有効化されること、をさらに含む、第64項~第74項のいずれか1項以上に記載の方法。
77. 前記BIO技法のフラグが真であると判定されると、スライス、タイル、映像、シーケンスまたはピクチャの前記BIO技法を無効化すること、をさらに含む、第64項~第74項のいずれか1項以上に記載の方法。
78. 前記BIO技法のためのフラグが偽であると判定されると、スライス、タイル、映像、シーケンスまたはピクチャのための前記BIO技法が有効化されること、をさらに含む、第64項~第74項のいずれか1項以上に記載の方法。
79. 視覚メディア処理方法であって、
処理装置により、現在のブロックに対してデコーダ側動きベクトル改良(DMVR)技法を有効にするべきであると判定を行うことであって、前記判定は前記現在のブロックの高さに排他的に基づく、判定を行うことと、
前記現在のブロックと対応するコーディング表現との間で変換を行うことと、を含む、方法。
80. DMVR技法が有効化されたことを判定することに応じて、前記現在のブロックの高さが閾値パラメータよりも大きいまたは超えていることを検証すること、をさらに含む、第79項に記載の方法。
81. 前記閾値パラメータが4に等しい、第80項に記載の方法。
82. 前記閾値パラメータが8に等しい、第80項に記載の方法。
83. 視覚メディア処理方法であって、
視覚メディアデータの現在のブロックと対応する視覚メディアデータのコーディング表現との間で変換を行うことを含み、前記変換は、現在のブロックに対して、デコーダ側動きベクトル改良(DMVR)技法または双方向オプティカルフロー(BIO)技法の一方または両方に関連付けられた規則を使用することを含み、前記DMVR技法に関連付けられた規則は、前記BIO技法への適用に準拠しており、
現在のブロックにおける前記BIO技法または前記DMVR技法の前記一方または両方の前記使用が有効化されているか無効化されているかを判定することは、前記規則を適用することに基づく、方法。
84. 前記DMVR技法が有効化されるかどうかを判定する規則は、BIO技法が有効化されるかどうかを判定する規則と同じである、請求項83に記載の方法。
85. 前記BIO技法および/またはDMVR技法が有効化されているかどうかを判定する規則は、現在のブロックの高さが閾値以上であることを検証することを規定する、第84項に記載の方法。
86. 前記BIO技法および/またはDMVR技法が有効化されているかどうかを判定する規則は、現在のブロックの幅と高さの両方が閾値以上であることを検証することを規定する、第84項に記載の方法。
87. 前記閾値が4または8である、第85項または第86項のいずれか1項以上に記載の方法。
88. 前記BIO技法および/またはDMVR技法が有効化されているかどうかを判定する規則は、現在のブロックの寸法が閾値以上であることを検証することを規定する、第84項に記載の方法。
89. 前記閾値は64または128である、第86項に記載の方法。
90. BIO技法および/またはDMVR技法が有効であるかどうかを判定する規則が、前記現在のブロックがCUレベルウェイト(BCW)モードで双方向予測によりコーディングされていないことを検証することを規定しており、2つの参照リストの2つの参照ブロックに不均等な重みが使用されている、第84項に記載の方法。
91. 前記BIO技法および/または前記DMVR技法が有効化されているかどうかを判定するための規則は、前記現在のブロックが、前記現在のブロックに関連付けられた前記現在のピクチャから同じピクチャオーダカウント(POC)距離を有する1つの1対の参照ピクチャに関連付けられた双方向予測ブロックであることを検証することを規定する、第84項に記載の方法。
92. 前記1対の参照ピクチャは、現在のブロックに関連付けられた現在のピクチャの前のピクチャと後のピクチャとを表示順に含む、第91項に記載の方法。
93. 第1項~第92項の1項以上に記載の方法を実装するように構成された処理装置を備える、映像復号化装置。
94. 第1項~第92項の1項以上に記載の方法を実装するように構成された処理装置を備える映像符号化装置。
95. コンピュータコードが記憶されたコンピュータプログラム製品であって、前記のコードが処理装置により実行されると、前記処理装置は、第1項~第92項のいずれかに記載の方法を実装する、コンピュータプログラム製品。
96. 本明細書に記載の方法、装置またはシステム。
本明細書に記載された開示された、およびその他の解決策、実施例、実施形態、モジュール、および機能動作の実装形態は、本明細書に開示された構造およびその構造的等価物を含め、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、若しくはハードウェアで実施されてもよく、またはそれらの1つ以上の組み合わせで実施してもよい。開示された、およびその他の実施形態は、1つ以上のコンピュータプログラム製品、すなわち、データ処理装置によって実装されるため、またはデータ処理装置の動作を制御するために、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして実施することができる。このコンピュータ可読媒体は、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝播信号をもたらす物質の組成物、またはこれらの1つ以上の組み合わせであってもよい。「データ処理装置」という用語は、例えば、プログラマブル処理装置、コンピュータ、または複数の処理装置、若しくはコンピュータを含む、データを処理するためのすべての装置、デバイス、および機械を含む。この装置は、ハードウェアの他に、当該コンピュータプログラムの実行環境を作るコード、例えば、処理装置ファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの1つ以上の組み合わせを構成するコードを含むことができる。伝播信号は、人工的に生成した信号、例えば、機械で生成した電気、光、または電磁信号であり、適切な受信装置に送信するための情報を符号化するために生成される。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとも呼ばれる)は、コンパイルされた言語または解釈された言語を含む任意の形式のプログラミング言語で記述することができ、また、それは、スタンドアロンプログラムとして、またはコンピューティング環境で使用するのに適したモジュール、成分、サブルーチン、または他のユニットとして含む任意の形式で展開することができる。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(例えば、マークアップ言語文書に格納された1つ以上のスクリプト)に記録されていてもよいし、当該プログラム専用の単一のファイルに記憶されていてもよいし、複数の調整ファイル(例えば、1つ以上のモジュール、サブプログラム、またはコードの一部を格納するファイル)に記憶されていてもよい。1つのコンピュータプログラムを、1つのサイトに位置する1つのコンピュータ、または複数のサイトに分散され通信ネットワークによって相互接続される複数のコンピュータで実行させるように展開することも可能である。
本明細書に記載された処理およびロジックフローは、入力データ上で動作し、出力を生成することによって機能を実行するための1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブル処理装置によって行うことができる。処理およびロジックフローはまた、特定用途のロジック回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって行うことができ、装置はまた、特別目的のロジック回路として実装することができる。
コンピュータプログラムの実行に適した処理装置は、例えば、汎用および専用マイクロ処理装置の両方、並びに任意の種類のデジタルコンピュータの任意の1つ以上の処理装置を含む。一般的に、処理装置は、リードオンリーメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの本質的な要素は、命令を実行するための処理装置と、命令およびデータを記憶するための1つ以上のメモリデバイスとである。一般的に、コンピュータは、データを記憶するための1つ以上の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含んでもよく、またはこれらの大容量記憶デバイスからデータを受信するか、またはこれらにデータを転送するように動作可能に結合されてもよい。しかしながら、コンピュータは、このようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、あらゆる形式の不揮発性メモリ、媒体、およびメモリデバイスを含み、例えば、EPROM、EEPROM、フラッシュ記憶装置、磁気ディスク、例えば内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、およびCD-ROMおよびDVD-ROMディスク等の半導体記憶装置を含む。処理装置およびメモリは、特定用途のロジック回路によって補完されてもよく、または特定用途のロジック回路に組み込まれてもよい。
本特許明細書は多くの詳細を含むが、これらは、任意の主題の範囲または特許請求の範囲を限定するものと解釈されるべきではなく、むしろ、特定の技術の特定の実施形態に特有であり得る特徴の説明と解釈されるべきである。本特許文献において別個の実施形態のコンテキストで説明されている特定の特徴は、1つの例において組み合わせて実装してもよい。逆に、1つの例のコンテキストで説明された様々な特徴は、複数の実施形態において別個にまたは任意の適切なサブコンビネーションで実装してもよい。さらに、特徴は、特定の組み合わせで作用するものとして上記に記載され、最初にそのように主張されていてもよいが、主張された組み合わせからの1つ以上の特徴は、場合によっては、組み合わせから抜粋されることができ、主張された組み合わせは、サブコンビネーションまたはサブコンビネーションのバリエーションに向けられてもよい。
同様に、動作は図面において特定の順番で示されているが、これは、所望の結果を達成するために、このような動作が示された特定の順番でまたは連続した順番で行われること、または示された全ての動作が行われることを必要とするものと理解されるべきではない。また、本特許明細書に記載されている例における様々なシステムの構成要素の分離は、全ての実施形態においてこのような分離を必要とするものと理解されるべきではない。
いくつかの実装形態および例のみが記載されており、この特許文献に記載され図示されているコンテンツに基づいて、他の実施形態、拡張および変形が可能である。
関連出願の相互参照
願は、2021年9月24日出願の日本特許出願2021-557132号に基づくものであり、この日本特許出願は、2020年4月2日出願の国際特許出願PCT/CN2020/082937号に基づくものであり、この国際特許出願は、2019年4月2日出願の国際特許出願PCT/CN2019/081155号、2019年5月7日出願の国際特許出願PCT/CN2019/085796号の優先権および利益を主張する。上記出願の開示全体は、本明細書の開示の一部として参照により援用される。

Claims (14)

  1. 視覚メディア処理方法であって、
    視覚メディアデータの現在のブロックと視覚メディアデータの対応するコーディング表現との間で変換を行うことを含み、
    前記変換は、前記現在のブロックに対して、デコーダ側動きベクトル改良(DMVR)技法または双方向オプティカルフロー(BIO)技法の一方または両方に関連付けられた規則の使用を含み、
    前記DMVR技法に関連付けられた前記規則は、前記BIO技法への適用に準拠しており、
    前記現在のブロックに対して、前記BIO技法または前記DMVR技法の前記一方または両方の前記使用が有効化されるか、または無効化されるかを判定することは、前記規則を適用することに基づく、
    方法。
  2. 前記DMVR技法が有効化されるかどうかを判定するための規則は、前記BIO技法が有効化されるかどうかを判定する規則と同じである、
    請求項1に記載の方法。
  3. 前記BIO技法および/または前記DMVR技法が有効化されるかどうかを判定するための前記規則は、前記現在のブロックの高さが閾値以上であることを検証することを規定する、
    請求項2に記載の方法。
  4. 前記BIO技法および/または前記DMVR技法が有効化されるかどうかを判定するための前記規則は、前記現在のブロックの幅と高さの両方が閾値以上であることを検証することを規定する、
    請求項2に記載の方法。
  5. 前記閾値が4または8である、
    請求項3または4のいずれか1項以上に記載の方法。
  6. 前記BIO技法および/または前記DMVR技法が有効化されるかどうかを判定するための前記規則は、前記現在のブロックの寸法が閾値以上であることを検証することを規定する、
    請求項2に記載の方法。
  7. 前記閾値は64もしくは128である、
    請求項4に記載の方法。
  8. 前記BIO技法および/または前記DMVR技法が有効化されるかどうかを判定するための前記規則は、前記現在のブロックがCUレベルウェイト(BCW)モードによる双方向予測でコーディングされていないことを検証することを規定しており、2つの参照リストからの2つの参照ブロックに不均等な重みが使用されている、
    請求項2に記載の方法。
  9. 前記BIO技法および/または前記DMVR技法が有効化されるかどうかを判定するための前記規則は、前記現在のブロックが、前記現在のブロックに関連付けられた現在のピクチャから同じピクチャオーダカウント(POC)距離を有する1対の参照ピクチャに関連付けられた双方向予測ブロックであることを検証することを規定する、
    請求項2に記載の方法。
  10. 前記1対の参照ピクチャは、前記現在のブロックに関連付けられた前記現在のピクチャの前のピクチャと後のピクチャとを表示順に含む、
    請求項9に記載の方法。
  11. 請求項1~10のいずれか1項に記載の方法を実装するように構成された処理装置を備える、
    映像復号化装置。
  12. 請求項1~10のいずれか1項に記載の方法を実装するように構成された処理装置を備える、
    映像符号化装置。
  13. コンピュータコードが記憶されたコンピュータプログラム製品であって、
    前記コードは、処理装置により実行されると、前記処理装置に、請求項1~10のいずれか1項に記載の方法を実装させる、
    コンピュータプログラム製品。
  14. 本明細書に記載の方法、装置またはシステム。
JP2023105110A 2019-04-02 2023-06-27 デコーダ側の動きベクトルの導出 Pending JP2023134521A (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
CNPCT/CN2019/081155 2019-04-02
CN2019081155 2019-04-02
CN2019085796 2019-05-07
CNPCT/CN2019/085796 2019-05-07
JP2021557132A JP7307192B2 (ja) 2019-04-02 2020-04-02 デコーダ側の動きベクトルの導出
PCT/CN2020/082937 WO2020200269A1 (en) 2019-04-02 2020-04-02 Decoder side motion vector derivation

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2021557132A Division JP7307192B2 (ja) 2019-04-02 2020-04-02 デコーダ側の動きベクトルの導出

Publications (1)

Publication Number Publication Date
JP2023134521A true JP2023134521A (ja) 2023-09-27

Family

ID=72664978

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021557132A Active JP7307192B2 (ja) 2019-04-02 2020-04-02 デコーダ側の動きベクトルの導出
JP2023105110A Pending JP2023134521A (ja) 2019-04-02 2023-06-27 デコーダ側の動きベクトルの導出

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2021557132A Active JP7307192B2 (ja) 2019-04-02 2020-04-02 デコーダ側の動きベクトルの導出

Country Status (6)

Country Link
US (1) US11553201B2 (ja)
EP (1) EP3922014A4 (ja)
JP (2) JP7307192B2 (ja)
KR (2) KR20230169434A (ja)
CN (2) CN115190317A (ja)
WO (1) WO2020200269A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020084476A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Sub-block based prediction
WO2020084475A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Utilization of refined motion vector
CN111436230A (zh) 2018-11-12 2020-07-21 北京字节跳动网络技术有限公司 仿射预测的带宽控制方法
EP3861742A4 (en) 2018-11-20 2022-04-13 Beijing Bytedance Network Technology Co., Ltd. DIFFERENCE CALCULATION BASED ON SPATIAL POSITION
CN113170171B (zh) 2018-11-20 2024-04-12 北京字节跳动网络技术有限公司 组合帧间帧内预测模式的预测细化
JP2022521554A (ja) 2019-03-06 2022-04-08 北京字節跳動網絡技術有限公司 変換された片予測候補の利用
WO2020233661A1 (en) 2019-05-21 2020-11-26 Beijing Bytedance Network Technology Co., Ltd. Syntax signaling in sub-block merge mode
CN117440170A (zh) * 2019-06-21 2024-01-23 华为技术有限公司 编码器、解码器及对应方法
WO2020262365A1 (ja) * 2019-06-28 2020-12-30 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法、および復号方法
CN114073090A (zh) * 2019-07-01 2022-02-18 交互数字Vc控股法国公司 仿射运动补偿的双向光流细化
JP6960969B2 (ja) * 2019-09-20 2021-11-05 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
EP4035373A1 (en) * 2019-09-23 2022-08-03 VID SCALE, Inc. Switching logic for bi-directional optical flow
JP7391203B2 (ja) 2019-10-12 2023-12-04 北京字節跳動網絡技術有限公司 ビデオコーディングツールを洗練する使用およびシグナリング
CN114631317B (zh) 2019-10-18 2024-03-15 北京字节跳动网络技术有限公司 子图片的参数集信令中的语法约束
MX2022007503A (es) 2019-12-27 2022-07-04 Beijing Bytedance Network Tech Co Ltd Se?alizacion de tipos de corte en encabezados de imagenes de video.
GB2617839A (en) * 2022-04-19 2023-10-25 Canon Kk Video coding and decoding
WO2023219279A1 (ko) * 2022-05-10 2023-11-16 현대자동차주식회사 기하학적 분할에 기초하는 인터/인트라 예측을 이용하는 비디오 코딩을 위한방법 및 장치

Family Cites Families (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6480615B1 (en) 1999-06-15 2002-11-12 University Of Washington Motion estimation within a sequence of data frames using optical flow with adaptive gradients
US7627037B2 (en) 2004-02-27 2009-12-01 Microsoft Corporation Barbell lifting for multi-layer wavelet coding
US8023041B2 (en) 2006-01-30 2011-09-20 Lsi Corporation Detection of moving interlaced text for film mode decision
US8462852B2 (en) 2009-10-20 2013-06-11 Intel Corporation Methods and apparatus for adaptively choosing a search range for motion estimation
US9654792B2 (en) 2009-07-03 2017-05-16 Intel Corporation Methods and systems for motion vector derivation at a video decoder
US20110176611A1 (en) 2010-01-15 2011-07-21 Yu-Wen Huang Methods for decoder-side motion vector derivation
US9215470B2 (en) 2010-07-09 2015-12-15 Qualcomm Incorporated Signaling selected directional transform for video coding
KR101484281B1 (ko) 2010-07-09 2015-01-21 삼성전자주식회사 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치
EP2656610A4 (en) 2010-12-21 2015-05-20 Intel Corp SYSTEM AND METHOD FOR EXTENDED DMVD PROCESSING
JP2012142702A (ja) 2010-12-28 2012-07-26 Sony Corp 画像処理装置および方法、並びにプログラム
JP6134651B2 (ja) 2011-12-28 2017-05-24 シャープ株式会社 算術復号装置、算術符号化装置および算術復号方法
US9451277B2 (en) 2012-02-08 2016-09-20 Qualcomm Incorporated Restriction of prediction units in B slices to uni-directional inter prediction
EP2642755B1 (en) 2012-03-20 2018-01-03 Dolby Laboratories Licensing Corporation Complexity scalable multilayer video coding
CN104365102B (zh) 2012-05-10 2018-01-02 Lg 电子株式会社 处理视频信号的方法和装置
CN106791833B (zh) 2012-06-27 2019-10-11 株式会社东芝 编码方法、解码方法、编码设备以及解码设备
TWI637625B (zh) 2012-08-29 2018-10-01 Vid衡器股份有限公司 可調整視訊編碼移動向量預測的方法及裝置
WO2014047877A1 (en) 2012-09-28 2014-04-03 Intel Corporation Inter-layer residual prediction
SG11201500311XA (en) 2012-09-28 2015-02-27 Intel Corp Inter-layer pixel sample prediction
US20140177706A1 (en) * 2012-12-21 2014-06-26 Samsung Electronics Co., Ltd Method and system for providing super-resolution of quantized images and video
US9294777B2 (en) 2012-12-30 2016-03-22 Qualcomm Incorporated Progressive refinement with temporal scalability support in video coding
US9794569B2 (en) 2013-01-30 2017-10-17 Intel Corporation Content adaptive partitioning for prediction and coding for next generation video
US9596448B2 (en) 2013-03-18 2017-03-14 Qualcomm Incorporated Simplifications on disparity vector derivation and motion vector prediction in 3D video coding
US9521425B2 (en) 2013-03-19 2016-12-13 Qualcomm Incorporated Disparity vector derivation in 3D video coding for skip and direct modes
WO2014166063A1 (en) 2013-04-09 2014-10-16 Mediatek Inc. Default vector for disparity vector derivation for 3d video coding
WO2015003383A1 (en) 2013-07-12 2015-01-15 Mediatek Singapore Pte. Ltd. Methods for inter-view motion prediction
US9628795B2 (en) 2013-07-17 2017-04-18 Qualcomm Incorporated Block identification using disparity vector in video coding
EP4134951A1 (en) 2013-09-13 2023-02-15 Samsung Electronics Co., Ltd. Energy lossless coding method and apparatus, signal coding method and apparatus, energy lossless decoding method and apparatus, and signal decoding method and apparatus
US10244253B2 (en) 2013-09-13 2019-03-26 Qualcomm Incorporated Video coding techniques using asymmetric motion partitioning
US9554150B2 (en) 2013-09-20 2017-01-24 Qualcomm Incorporated Combined bi-predictive merging candidates for 3D video coding
US9667996B2 (en) 2013-09-26 2017-05-30 Qualcomm Incorporated Sub-prediction unit (PU) based temporal motion vector prediction in HEVC and sub-PU design in 3D-HEVC
US9762927B2 (en) 2013-09-26 2017-09-12 Qualcomm Incorporated Sub-prediction unit (PU) based temporal motion vector prediction in HEVC and sub-PU design in 3D-HEVC
US9906813B2 (en) 2013-10-08 2018-02-27 Hfi Innovation Inc. Method of view synthesis prediction in 3D video coding
WO2015085575A1 (en) 2013-12-13 2015-06-18 Mediatek Singapore Pte. Ltd. Methods for background residual prediction
WO2015109598A1 (en) 2014-01-27 2015-07-30 Mediatek Singapore Pte. Ltd. Methods for motion parameter hole filling
US9906790B2 (en) 2014-03-14 2018-02-27 Qualcomm Incorporated Deblock filtering using pixel distance
EP3139605A4 (en) 2014-04-28 2017-05-17 Panasonic Intellectual Property Corporation of America Encoding method, decoding method, encoding apparatus, and decoding apparatus
GB2531003A (en) 2014-10-06 2016-04-13 Canon Kk Method and apparatus for vector encoding in video coding and decoding
US10687069B2 (en) 2014-10-08 2020-06-16 Microsoft Technology Licensing, Llc Adjustments to encoding and decoding when switching color spaces
CN104301724B (zh) 2014-10-17 2017-12-01 华为技术有限公司 视频处理方法、编码设备和解码设备
CN107005713A (zh) 2014-11-04 2017-08-01 三星电子株式会社 施加边缘类型偏移的视频编码方法和设备以及视频解码方法和设备
US10382795B2 (en) 2014-12-10 2019-08-13 Mediatek Singapore Pte. Ltd. Method of video coding using binary tree block partitioning
US10230980B2 (en) 2015-01-26 2019-03-12 Qualcomm Incorporated Overlapped motion compensation for video coding
US10958927B2 (en) 2015-03-27 2021-03-23 Qualcomm Incorporated Motion information derivation mode determination in video coding
US10887597B2 (en) 2015-06-09 2021-01-05 Qualcomm Incorporated Systems and methods of determining illumination compensation parameters for video coding
WO2017008263A1 (en) 2015-07-15 2017-01-19 Mediatek Singapore Pte. Ltd. Conditional binary tree block partitioning structure
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
WO2017088093A1 (en) 2015-11-23 2017-06-01 Mediatek Singapore Pte. Ltd. On the smallest allowed block size in video coding
US10268901B2 (en) * 2015-12-04 2019-04-23 Texas Instruments Incorporated Quasi-parametric optical flow estimation
US9955186B2 (en) 2016-01-11 2018-04-24 Qualcomm Incorporated Block size decision for video coding
CN114793279A (zh) 2016-02-03 2022-07-26 Oppo广东移动通信有限公司 运动图像解码装置、编码装置、以及预测图像生成装置
EP3398331A4 (en) * 2016-02-05 2019-04-10 Mediatek Inc. METHOD AND APPARATUS FOR MOTION COMPENSATION BASED ON BIDIRECTIONAL OPTICAL FLUSH TECHNOLOGIES FOR VIDEO CODING
US11064195B2 (en) 2016-02-15 2021-07-13 Qualcomm Incorporated Merging filters for multiple classes of blocks for video coding
WO2017143467A1 (en) 2016-02-22 2017-08-31 Mediatek Singapore Pte. Ltd. Localized luma mode prediction inheritance for chroma coding
US20170339405A1 (en) * 2016-05-20 2017-11-23 Arris Enterprises Llc System and method for intra coding
US11638027B2 (en) 2016-08-08 2023-04-25 Hfi Innovation, Inc. Pattern-based motion vector derivation for video coding
US10609423B2 (en) 2016-09-07 2020-03-31 Qualcomm Incorporated Tree-type coding for video coding
US10666937B2 (en) 2016-12-21 2020-05-26 Qualcomm Incorporated Low-complexity sign prediction for video coding
US10674165B2 (en) * 2016-12-21 2020-06-02 Arris Enterprises Llc Constrained position dependent intra prediction combination (PDPC)
WO2018113658A1 (en) 2016-12-22 2018-06-28 Mediatek Inc. Method and apparatus of motion refinement for video coding
EP3560202A4 (en) 2016-12-27 2020-07-29 MediaTek Inc. METHOD AND DEVICE FOR BILATERAL TEMPLATE MV REFINING FOR VIDEO CODING
US20190387234A1 (en) 2016-12-29 2019-12-19 Peking University Shenzhen Graduate School Encoding method, decoding method, encoder, and decoder
EP4258657A1 (en) 2017-01-04 2023-10-11 Samsung Electronics Co., Ltd. Video decoding method and apparatus and video encoding method and apparatus
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)
US11109062B2 (en) 2017-03-16 2021-08-31 Mediatek Inc. Method and apparatus of motion refinement based on bi-directional optical flow for video coding
US11277635B2 (en) 2017-03-17 2022-03-15 Vid Scale, Inc. Predictive coding for 360-degree video based on geometry padding
US10595035B2 (en) 2017-03-22 2020-03-17 Qualcomm Incorporated Constraining motion vector information derived by decoder-side motion vector derivation
US10491917B2 (en) 2017-03-22 2019-11-26 Qualcomm Incorporated Decoder-side motion vector derivation
TW201902223A (zh) 2017-03-24 2019-01-01 聯發科技股份有限公司 視頻編碼中重疊分塊運動補償的雙向光流的方法和裝置
US10805650B2 (en) 2017-03-27 2020-10-13 Qualcomm Incorporated Signaling important video information in network video streaming using mime type parameters
US10805630B2 (en) 2017-04-28 2020-10-13 Qualcomm Incorporated Gradient based matching for motion search and derivation
CN110574377B (zh) 2017-05-10 2021-12-28 联发科技股份有限公司 用于视频编解码的重新排序运动向量预测候选集的方法及装置
KR102599115B1 (ko) 2017-05-17 2023-11-06 주식회사 케이티 비디오 신호 처리 방법 및 장치
US10904565B2 (en) 2017-06-23 2021-01-26 Qualcomm Incorporated Memory-bandwidth-efficient design for bi-directional optical flow (BIO)
US10477237B2 (en) 2017-06-28 2019-11-12 Futurewei Technologies, Inc. Decoder side motion vector refinement in video coding
WO2019001741A1 (en) 2017-06-30 2019-01-03 Huawei Technologies Co., Ltd. MOTION VECTOR REFINEMENT FOR MULTI-REFERENCE PREDICTION
JP7168593B2 (ja) 2017-07-03 2022-11-09 ヴィド スケール インコーポレイテッド 双方向オプティカルフローに基づいた動き補償予測
CN117499682A (zh) 2017-09-20 2024-02-02 韩国电子通信研究院 用于对图像进行编码/解码的方法和装置
US10785494B2 (en) 2017-10-11 2020-09-22 Qualcomm Incorporated Low-complexity design for FRUC
US10986360B2 (en) 2017-10-16 2021-04-20 Qualcomm Incorproated Various improvements to FRUC template matching
US11057640B2 (en) 2017-11-30 2021-07-06 Lg Electronics Inc. Image decoding method and apparatus based on inter-prediction in image coding system
US11277609B2 (en) 2017-12-29 2022-03-15 Sharp Kabushiki Kaisha Systems and methods for partitioning video blocks for video coding
US11172229B2 (en) 2018-01-12 2021-11-09 Qualcomm Incorporated Affine motion compensation with low bandwidth
EP3741115A1 (en) 2018-01-16 2020-11-25 Vid Scale, Inc. Motion compensated bi-prediction based on local illumination compensation
US11265551B2 (en) 2018-01-18 2022-03-01 Qualcomm Incorporated Decoder-side motion vector derivation
US11310526B2 (en) 2018-01-26 2022-04-19 Mediatek Inc. Hardware friendly constrained motion vector refinement
WO2019151257A1 (en) 2018-01-30 2019-08-08 Sharp Kabushiki Kaisha Systems and methods for deriving quantization parameters for video blocks in video coding
KR102551362B1 (ko) 2018-02-28 2023-07-04 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
US20190306502A1 (en) 2018-04-02 2019-10-03 Qualcomm Incorporated System and method for improved adaptive loop filtering
US10779002B2 (en) 2018-04-17 2020-09-15 Qualcomm Incorporated Limitation of the MVP derivation based on decoder-side motion vector derivation
WO2019229683A1 (en) 2018-05-31 2019-12-05 Beijing Bytedance Network Technology Co., Ltd. Concept of interweaved prediction
WO2019234612A1 (en) 2018-06-05 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Partition tree with four sub-blocks symmetric or asymmetric
WO2019234672A1 (en) 2018-06-07 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Partial cost calculation
WO2019244115A2 (en) 2018-06-21 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Automatic partition for cross blocks
CN110636298B (zh) 2018-06-21 2022-09-13 北京字节跳动网络技术有限公司 对于Merge仿射模式和非Merge仿射模式的统一约束
EP3788782A1 (en) 2018-06-21 2021-03-10 Beijing Bytedance Network Technology Co. Ltd. Sub-block mv inheritance between color components
KR20210029160A (ko) 2018-06-27 2021-03-15 브이아이디 스케일, 인크. 디코더측 모션 미세 조정의 코딩 지연을 줄이기 위한 방법 및 장치
CN110677675B (zh) 2018-07-01 2022-02-08 北京字节跳动网络技术有限公司 高效的仿射Merge运动矢量推导的方法、装置及存储介质
TWI719519B (zh) 2018-07-02 2021-02-21 大陸商北京字節跳動網絡技術有限公司 對於dmvr的塊尺寸限制
US10911768B2 (en) 2018-07-11 2021-02-02 Tencent America LLC Constraint for template matching in decoder side motion derivation and refinement
CN110719478B (zh) 2018-07-15 2023-02-07 北京字节跳动网络技术有限公司 跨分量帧内预测模式导出
WO2020017840A1 (ko) 2018-07-16 2020-01-23 엘지전자 주식회사 Dmvr에 기반하여 인터 예측을 수행하는 방법 및 장치
US10911751B2 (en) 2018-09-14 2021-02-02 Tencent America LLC Method and apparatus for video coding
CN110944170B (zh) 2018-09-24 2023-05-02 北京字节跳动网络技术有限公司 扩展Merge预测
WO2020070612A1 (en) 2018-10-06 2020-04-09 Beijing Bytedance Network Technology Co., Ltd. Improvement for temporal gradient calculating in bio
WO2020084462A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Restrictions on decoder side motion vector derivation based on block size
WO2020084461A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Restrictions on decoder side motion vector derivation based on coding information
WO2020084476A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Sub-block based prediction
WO2020084475A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Utilization of refined motion vector
CN109191514B (zh) 2018-10-23 2020-11-24 北京字节跳动网络技术有限公司 用于生成深度检测模型的方法和装置
CN117241017A (zh) 2018-11-05 2023-12-15 北京字节跳动网络技术有限公司 数字视频编解码的方法、设备和系统
KR20210087450A (ko) 2018-11-06 2021-07-12 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 기하학적 파티션을 이용한 인터 예측을 위한 사이드 정보 시그널링
CN113016180A (zh) 2018-11-12 2021-06-22 交互数字Vc控股公司 用于视频编码和解码的虚拟管线
EP3861742A4 (en) 2018-11-20 2022-04-13 Beijing Bytedance Network Technology Co., Ltd. DIFFERENCE CALCULATION BASED ON SPATIAL POSITION
CN113170171B (zh) 2018-11-20 2024-04-12 北京字节跳动网络技术有限公司 组合帧间帧内预测模式的预测细化
EP3657794A1 (en) 2018-11-21 2020-05-27 InterDigital VC Holdings, Inc. Method and device for picture encoding and decoding
WO2020140874A1 (en) * 2019-01-02 2020-07-09 Huawei Technologies Co., Ltd. A hardware and software friendly system and method for decoder-side motion vector refinement with decoder-side bi-predictive optical flow based per-pixel correction to bi-predictive motion compensation
KR102374687B1 (ko) * 2019-01-06 2022-03-14 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 양방향 광학 흐름을 위한 비트 폭 제어
KR20240000610A (ko) 2019-01-15 2024-01-02 로즈데일 다이나믹스 엘엘씨 변환 스킵 플래그를 이용한 영상 코딩 방법 및 장치
JP7092951B2 (ja) 2019-03-12 2022-06-28 ベイジン、ターチア、インターネット、インフォメーション、テクノロジー、カンパニー、リミテッド ビデオ符号化方法、コンピューティングデバイス、非一時的コンピュータ可読記憶媒体、及びプログラム
CN113632484A (zh) 2019-03-15 2021-11-09 北京达佳互联信息技术有限公司 用于双向光流的比特宽度控制的方法和设备
CA3140379A1 (en) * 2019-06-21 2020-12-24 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method and decoding method
US11330287B2 (en) * 2019-06-28 2022-05-10 Tencent America LLC Method and apparatus for video coding
US11272203B2 (en) * 2019-07-23 2022-03-08 Tencent America LLC Method and apparatus for video coding
CN110267045B (zh) 2019-08-07 2021-09-24 杭州微帧信息科技有限公司 一种视频处理及编码的方法、装置及可读存储介质
US11405628B2 (en) * 2020-04-06 2022-08-02 Tencent America LLC Method and apparatus for video coding

Also Published As

Publication number Publication date
JP7307192B2 (ja) 2023-07-11
US11553201B2 (en) 2023-01-10
CN113647099A (zh) 2021-11-12
US20210385481A1 (en) 2021-12-09
EP3922014A1 (en) 2021-12-15
KR102610709B1 (ko) 2023-12-05
KR20210145747A (ko) 2021-12-02
EP3922014A4 (en) 2022-04-06
WO2020200269A1 (en) 2020-10-08
CN113647099B (zh) 2022-10-04
JP2022527751A (ja) 2022-06-06
CN115190317A (zh) 2022-10-14
KR20230169434A (ko) 2023-12-15

Similar Documents

Publication Publication Date Title
JP7307192B2 (ja) デコーダ側の動きベクトルの導出
CN113170097B (zh) 视频编解码模式的编解码和解码
JP7417670B2 (ja) 部分的コスト計算
JP7182000B2 (ja) インター-イントラ複合予測モードにおける重み
JP2023164833A (ja) インター-イントラ複合予測の簡単化
CN113597766A (zh) 基于光流的预测细化的计算
JP7322277B2 (ja) 参照ピクチャタイプに従ったツールの使用制限
JP2022544667A (ja) 映像処理における代替の補間フィルタの選択的使用
CN113767634B (zh) 利用细化的帧间预测的统一计算方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230721

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240423