JP2023134521A - Decoder side motion vector derivation - Google Patents

Decoder side motion vector derivation 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
Japanese (ja)
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/en
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

Abstract

To provide a video and image encoding, decoding technique.SOLUTION: A visual media processing method includes performing a conversion between a current block of visual media data and a corresponding coded representation of the visual media data, the conversion of the current block including determining whether the use of one or both of a bi-directional optical flow (BIO) technique and a decoder-side motion vector refinement (DMVR) technique to the current block is enabled or disabled, and the determining the use of the BIO technique or the DMVR technique being based on a cost criterion associated with the current block.SELECTED DRAWING: Figure 10

Description

関連出願の相互参照
パリ条約に基づく適用可能な特許法および/または規則に基づいて、本願は、2019年4月2日出願の国際特許出願PCT/CN2019/081155号、2019年5月7日出願の国際特許出願PCT/CN2019/085796号の優先権および利益を適時に主張することを目的とする。米国法に基づくすべての目的のために、上記出願の開示全体は、本明細書の開示の一部として参照により援用される。
Cross-Reference to Related Applications Under the applicable patent laws and/or regulations under the Paris Convention, this application is filed under International Patent Application No. PCT/CN2019/081155, filed on April 2, 2019, filed on May 7, 2019 The purpose is to timely claim the priority rights and benefits of International Patent Application No. PCT/CN2019/085796. For all purposes under United States law, the entire disclosure of the above application is incorporated by reference as part of the disclosure herein.

本明細書は、映像および画像符号化、復号化技術に関する。 The present specification relates to video and image encoding and decoding techniques.

デジタル映像は、インターネット及び他のデジタル通信ネットワークにおいて最大の帯域幅の使用量を占めている。映像を受信及び表示することが可能である接続されたユーザ機器の数が増加するにつれ、デジタル映像の使用に対する帯域幅需要は増大し続けることが予測される。 Digital video accounts for the largest amount of bandwidth usage on the Internet and other digital communication networks. It is expected that the bandwidth demands for digital video usage will continue to increase as the number of connected user equipment capable of receiving and displaying video increases.

1つの例示的な態様において、映像を処理する方法が開示される。前記方法は、視覚メディアデータの現在のブロックと対応する視覚メディアデータのコーディング表現との間で変換を行うことを含み、この現在のブロックを変換することは、双方向オプティカルフロー(BIO)技法またはデコーダ側動きベクトル改良(DMVR)技法の一方または両方を使用することが現在のブロックに対して有効または無効化されるかどうかを判定することを含み、BIO技法またはDMVR技法の使用を判定することは、現在のブロックに関連付けられたコスト基準に基づく。 In one example aspect, a method of processing video is disclosed. The method includes converting between a current block of visual media data and a corresponding coding representation of visual media data, wherein converting the current block employs bidirectional optical flow (BIO) techniques or determining whether use of one or both of decoder-side motion vector refinement (DMVR) techniques is enabled or disabled for the current block; determining the use of BIO techniques or DMVR techniques; is based on the cost criteria associated with the current block.

別の例示的な態様において、映像を処理する方法が開示される。前記方法は、視覚メディアデータの現在のブロックと対応する前記視覚メディアデータのコーディング表現との間で変換を行うことを含み、前記現在のブロックを前記変換することは、デコーダ側動きベクトル改良(DMVR)技法を前記現在のブロックに使用することが有効化されているか、または無効化されているかを判定することを含み、前記DMVR技法は、平均除去絶対差の合計(mean removed sum of absolute differences)(MRSAD)コスト基準以外のコスト基準に基づいて前記現在のブロックの動き情報を改良することを含む。 In another exemplary aspect, a method of processing video is disclosed. The method includes converting between a current block of visual media data and a corresponding coding representation of the visual media data, wherein the converting the current block includes decoder-side motion vector refinement (DMVR). ) technique is enabled or disabled for use on the current block, and the DMVR technique includes a mean sum removed of absolute differences. (MRSAD) comprising refining the motion information of the current block based on a cost criterion other than a cost criterion.

別の例示的な態様において、映像を処理する方法が開示される。前記方法は、視覚メディアデータの現在のブロックと対応する前記視覚メディアデータのコーディング表現との間で変換を行うことを含み、前記現在のブロックを前記変換することは、双方向オプティカルフロー(BIO)技法またはデコーダ側動きベクトル改良(DMVR)技法の一方または両方を使用することが前記現在のブロックに対して有効または無効化されるかどうかを判定することを含み、前記BIO技法または前記DMVR技法の前記使用を判定することは、前記現在のブロックに関連付けられた1対の参照ブロックの平均値の差が閾値を超えることを計算することに基づく。 In another exemplary aspect, a method of processing video is disclosed. The method includes converting between a current block of visual media data and a corresponding coding representation of the visual media data, wherein the converting the current block includes bidirectional optical flow (BIO). determining whether use of one or both of a BIO technique or a decoder-side motion vector refinement (DMVR) technique is enabled or disabled for the current block; Determining the usage is based on calculating that a difference in mean values of a pair of reference blocks associated with the current block exceeds a threshold.

別の例示的な態様において、映像を処理する方法が開示される。前記方法は、第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の修正された参照ブロックとの間の前記差の使用を含む。
In another exemplary aspect, a method of processing video is disclosed. The method comprises: modifying a first reference block to generate a first modified reference block; modifying a second reference block to generate a second modified reference block; said first reference block and said second reference block are both associated with a current block of visual media data; and said first modified reference block and said second modified reference block. determining a difference between a sum of absolute transformed differences (SATD) and a mean removed sum of absolute transformed differences (SATD); of absolute transformed differences) (MRSATD),
Contains one or more of the following: sum of squares error (SSE), mean removed sum of squares error (MRSSE), mean difference, or slope value , and performing a transformation between the current block of visual media data and a corresponding coding representation of the visual media data, the transformation comprising determining the first reference block and the second reference block. and the use of said difference between said second modified reference block generated from respectively modifying the reference block.

別の例示的な態様において、映像を処理する方法が開示される。前記方法は、視覚メディアデータの現在のブロックに関連付けられた参照ピクチャを使用して時間的勾配または修正された時間的勾配を判定することであって、前記時間的勾配または前記修正された時間的勾配は、前記参照ピクチャ間の差を示す、判定することと、前記視覚メディアデータの現在のブロックと対応する前記視覚メディアデータのコーディング表現との間で変換を行うことを含み、前記変換は、前記時間的勾配または前記修正された時間的勾配に部分的に基づいて双方向オプティカルフロー(BIO)技法の使用を含む。 In another exemplary aspect, a method of processing video is disclosed. The method includes determining a temporal gradient or a modified temporal gradient using a reference picture associated with a current block of visual media data, the method comprising: determining a temporal gradient or a modified temporal gradient; The gradient includes determining a difference between the reference pictures and performing a transformation between the current block of visual media data and a corresponding coding representation of the visual media data, the transformation comprising: using bidirectional optical flow (BIO) techniques based in part on the temporal gradient or the modified temporal gradient.

別の例示的な態様において、映像を処理する方法が開示される。前記方法は、第1の映像ブロックまたはそのサブブロックに関連付けられた参照ピクチャを使用して第1の時間的勾配を判定することと、第2の映像ブロックまたはそのサブブロックに関連付けられた参照ピクチャを使用して第2の時間的勾配を判定することと、修正された第1の時間的勾配および修正された第2の時間的勾配を生成するために、前記第1の時間的勾配の修正および前記第2の時間的勾配の修正を行うことであって前記第1の映像ブロックに関連付けられた前記第1の時間的勾配の前記修正は、前記第2の映像ブロックに関連付けられた前記第2の時間的勾配の前記修正とは異なる、修正を行うことと、前記第1の映像ブロックおよび前記第2の映像ブロックの、前記対応するコーディング表現への変換を行うこととを含む。 In another exemplary aspect, a method of processing video is disclosed. The method includes determining a first temporal gradient using a reference picture associated with a first video block or a sub-block thereof; and a reference picture associated with a second video block or sub-block thereof. and modifying the first temporal gradient to generate a modified first temporal gradient and a modified second temporal gradient. and performing a modification of the second temporal gradient, the modification of the first temporal gradient associated with the first video block comprising: modifying the second temporal gradient associated with the second video block. and converting the first video block and the second video block into the corresponding coding representations.

別の例示的な態様において、映像を処理する方法が開示される。前記方法は、前記現在のブロックに関連付けられた第1の相互参照ブロックおよび第2の相互参照ブロックの一方または両方を修正することと、修正された第1の相互参照ブロックおよび/または前記修正された第2相互参照ブロックの前記一方または両方を使用することに基づいて、双方向オプティカル(BIO)フロー技法を適用することにしたがって、前記現在のブロックに関連付けられた空間的勾配を判定することと、前記現在のブロックおよび対応するコーディング表現の間での変換を行うことであって、前記変換は前記現在のブロックに関連付けられた前記空間的勾配の使用を含む、変換を行うことと、を含む。 In another exemplary aspect, a method of processing video is disclosed. The method includes modifying one or both of a first cross-reference block and a second cross-reference block associated with the current block; determining a spatial gradient associated with the current block according to applying a bidirectional optical flow (BIO) technique based on using the one or both of the second cross-reference blocks; , performing a transformation between the current block and a corresponding coding representation, the transformation comprising using the spatial gradient associated with the current block; .

別の例示的な態様において、映像を処理する方法が開示される。前記方法は、処理装置によって、ブロックレベルで信号通知されたフラグが、現在のブロックに対して、デコーダ側動きベクトル改良(DMVR)技法または双方向オプティカルフロー(BIO)技法のうちの一方または両方を有効にするべきであることを少なくとも部分的に示す判定を行うことと、前記現在のブロックと対応するコーディング表現との間で変換を行うことであって、前記コーディング表現は、前記DMVR技法および/または前記BIO技法のうちの前記一方または両方を有効にするかどうかを示す前記フラグを含む、変換を行うことと、を含む。 In another exemplary aspect, a method of processing video is disclosed. The method is characterized in that a flag signaled at the block level causes the processing unit to perform one or both of a decoder-side motion vector refinement (DMVR) technique or a bidirectional optical flow (BIO) technique for the current block. making a determination indicating, at least in part, that the current block should be enabled; and converting between the current block and a corresponding coding representation, wherein the coding representation is based on the DMVR technique and/or the coding representation. or performing a conversion that includes the flag indicating whether to enable the one or both of the BIO techniques.

別の例示的な態様において、映像を処理する方法が開示される。前記方法は、処理装置により、現在のブロックに対してデコーダ側動きベクトル改良(DMVR)技法を有効にするべきであると判定することを含み、前記判定は、前記現在のブロックの高さにのみ基づいて行われ、且つ前記現在のブロックと対応するコーディング表現との間で変換を行うことを含む。 In another exemplary aspect, a method of processing video is disclosed. The method includes determining, by a processing unit, that a decoder-side motion vector refinement (DMVR) technique should be enabled for a current block, the determining determining only on the height of the current block. and converting between the current block and a corresponding coding representation.

別の例示的な態様において、映像を処理する方法が開示される。前記方法は、視覚メディアデータの現在のブロックと対応する視覚メディアデータのコーディング表現との間で変換を行うことを含み、前記変換は、現在のブロックに対して、デコーダ側動きベクトル改良(DMVR)技法または双方向オプティカルフロー(BIO)技法の一方または両方に関連付けられた規則を使用することを含み、前記DMVR技法に関連付けられた規則は、前記BIO技法への適用に準拠しており、前記BIO技法または前記DMVR技法の前記一方または両方の前記使用が有効化されているか無効化されているかを判定することは、前記規則を適用することに基づく。 In another exemplary aspect, a method of processing video is disclosed. The method includes performing a transformation between a current block of visual media data and a corresponding coding representation of the visual media data, the transformation comprising decoder side motion vector refinement (DMVR) for the current block. or Bidirectional Optical Flow (BIO) technique, the rules associated with the DMVR technique are compliant with application to the BIO technique, and the rules associated with the DMVR technique are compliant with application to the BIO technique; Determining whether the use of the technique or the one or both of the DMVR techniques is enabled or disabled is based on applying the rules.

別の例示的な態様において、上述された方法は、処理装置を含む映像デコーダによって実装されてもよい。 In another example aspect, the method described above may be implemented by a video decoder that includes a processing device.

別の例示的な態様において、上述された方法は、処理装置を含む映像エンコーダによって実装されてもよい。 In another example aspect, the method described above may be implemented by a video encoder that includes a processing device.

さらに別の例示的な態様において、これらの方法は、処理装置実行可能命令の形式で実施されてもよく、コンピュータ可読プログラム媒体に記憶されてもよい。 In yet another exemplary aspect, these methods may be implemented in the form of processor-executable instructions and stored on a computer-readable program medium.

これらの、および他の態様は、本明細書でさらに説明される。 These and other aspects are further described herein.

バイラテラルマッチングの例を示す。An example of bilateral matching is shown. テンプレートマッチングの例を示す。An example of template matching is shown. フレームレートアップ変換(FRUC)における単方向動き推定(ME)の例を示す。Figure 3 shows an example of unidirectional motion estimation (ME) in frame rate up conversion (FRUC). オプティカルフローの軌跡の例を示す。An example of an optical flow trajectory is shown. ブロック拡張なしの双方向オプティカルフロー(BIO)の例を示す。An example of bidirectional optical flow (BIO) without block expansion is shown. ブロック拡張なしの双方向オプティカルフロー(BIO)の例を示す。An example of bidirectional optical flow (BIO) without block expansion is shown. 6点検索によるバイラテラルマッチングの例を示す。An example of bilateral matching using 6-point search is shown. 適応整数検索パターンおよびハーフサンプル検索パターンの例を示す。Examples of adaptive integer search patterns and half-sample search patterns are shown. 映像処理装置の例を示すブロック図である。FIG. 1 is a block diagram showing an example of a video processing device. 映像エンコーダの実装形態の例を示すブロック図である。FIG. 2 is a block diagram illustrating an example implementation of a video encoder. 映像処理方法の例を示すフローチャートである。3 is a flowchart illustrating an example of a video processing method. 映像処理方法の例を示すフローチャートである。3 is a flowchart illustrating an example of a video processing method. 映像処理方法の例を示すフローチャートである。3 is a flowchart illustrating an example of a video processing method. 映像処理方法の例を示すフローチャートである。3 is a flowchart illustrating an example of a video processing method. 映像処理方法の例を示すフローチャートである。3 is a flowchart illustrating an example of a video processing method. 映像処理方法の例を示すフローチャートである。3 is a flowchart illustrating an example of a video processing method. 映像処理方法の例を示すフローチャートである。3 is a flowchart illustrating an example of a video processing method. 開示された技術を実装することができる例示的な映像処理システムを示すブロック図である。FIG. 1 is a block diagram illustrating an example video processing system in which the disclosed techniques may be implemented. 映像処理方法の例を示すフローチャートである。3 is a flowchart illustrating an example of a video processing method. 映像処理方法の例を示すフローチャートである。3 is a flowchart illustrating an example of a video processing method. 映像処理方法の例を示すフローチャートである。3 is a flowchart illustrating an example of a video processing method. 映像処理方法の例を示すフローチャートである。3 is a flowchart illustrating an example of a video processing method. 映像処理方法の例を示すフローチャートである。3 is a flowchart illustrating an example of a video processing method. 映像処理方法の例を示すフローチャートである。3 is a flowchart illustrating an example of a video processing method. 映像処理方法の例を示すフローチャートである。3 is a flowchart illustrating an example of a video processing method. 映像処理方法の例を示すフローチャートである。3 is a flowchart illustrating an example of a video processing method. 映像処理方法の例を示すフローチャートである。3 is a flowchart illustrating an example of a video processing method. 映像処理方法の例を示すフローチャートである。3 is a flowchart illustrating an example of a video processing method.

映像の圧縮率を改善するために、研究者らは、映像を符号化する新しい技術を絶えず求めている。本明細書は、伸張または復号化されたデジタル映像の品質を向上させるために、映像ビットストリームのデコーダによって使用できる様々な技術を提供する。さらに、映像エンコーダは、さらなる符号化に使用される復号化されたフレームを再構成するために、符号化の処理中にこれらの技術を実装してもよい。 To improve video compression rates, researchers are constantly seeking new techniques for encoding video. This specification provides various techniques that can be used by a video bitstream decoder to improve the quality of decompressed or decoded digital video. Additionally, a video encoder may implement these techniques during the encoding process to reconstruct decoded frames used for further encoding.

本明細書では、読みやすさを向上させるためにセクションの見出しを使用しており、各章に記載される技法および実施形態の範囲をそのセクションにのみ限定するものではない。さらに、様々な既存の映像コーデック規格からの特定の用語を使用したが、開示される技術は、これらの映像規格またはその後継規格にのみ限定されるものではなく、他の映像コーデック規格にも適用可能である。さらに、いくつかの場合において、対応するコーディングステップを使用する技法が開示され、デコーダにおいて、逆順の対応する復号化するステップが行われることが理解される。また、コーディングは、映像が1つのコーディング表現(例えば、1つのビットレート)から別のコーディング表現(例えば、異なるビットレート)に表現されるコード変換を行うために使用してもよい。 Section headings are used herein to improve readability and are not intended to limit the scope of the techniques and embodiments described in each chapter to that section only. Additionally, although we have used specific terminology from various existing video codec standards, the disclosed technology is not limited solely to these video standards or their successors, but may also apply to other video codec standards. It is possible. Furthermore, it is understood that in some cases techniques are disclosed that use corresponding coding steps, and corresponding decoding steps in reverse order are performed at the decoder. Coding may also be used to perform transcoding, where the video is represented from one coding representation (eg, one bit rate) to another coding representation (eg, a different bit rate).

1. 概要 1. overview

本明細書は、映像コーディング技術に関する。具体的には、映像コーディングにおける動き補償に関する。HEVCのような既存の映像コーディング規格に適用してもよいし、規格(Versatile Video Coding)を確定させるために適用してもよい。本発明は、将来の映像コーディング規格または映像コーデックにも適用可能である。 TECHNICAL FIELD This specification relates to video coding technology. Specifically, it relates to motion compensation in video coding. It may be applied to an existing video coding standard such as HEVC, or it may be applied to finalize a standard (Versatile Video Coding). The invention is also applicable to future video coding standards or video codecs.

2. 背景 2. background

映像コーディング規格は、主に周知の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規格の策定に取り組んでいる。 Video coding standards have evolved primarily through the development of the well-known ITU-T and ISO/IEC standards. ITU-T is H. 261 and H. ISO/IEC created MPEG-1 and MPEG-4 Visual, and both organizations created H.263. 262/MPEG-2 Video and H.262/MPEG-2 Video. 264/MPEG-4 AVC (Advanced Video Coding) and H.264/MPEG-4 AVC (Advanced Video Coding). They jointly created the H.265/HEVC standard. H. Since H.262, video coding standards are based on a hybrid video coding structure where temporal prediction and transform coding are utilized. In 2015, VCEG and MPEG jointly established the Joint Video Exploration Team (JVET) to explore future video coding technologies beyond HEVC. Since then, many new methods have been adopted by JVET and incorporated into a reference software called JEM (Joint Exploration Mode). In April 2018, the Joint Video Expert Team (JVET) was established between VCEG (Q6/16) and ISO/IEC JTC1 SC29/WG11 (MPEG), and has achieved a 50% bit rate reduction compared to HEVC. The goal is to formulate a VVC standard.

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.
The latest version of the VVC draft, namely Universal Video Coding (Draft 2), can be found below.
http://phenix. it-sudparis. eu/jvet/doc_end_user/documents/11_Ljubljana/wg11/JVET-K1001-v7. zip. The latest reference software for VVC, called VTM, can be found below.
https://vcgit. hhi. fraunhofer. de/jvet/VVCSoftware_VTM/tags/VTM-2.1.

図9は映像エンコーダの実装形態の例のブロック図である。図9は、エンコーダの実装が、映像エンコーダが映像復号化機能も実行する(次の映像データの符号化に使用するために映像データの圧縮表現を再構成する)フィードバック経路を組み込んでいることを示す。 FIG. 9 is a block diagram of an example implementation of a video encoder. Figure 9 shows that the encoder implementation incorporates a feedback path in which the video encoder also performs video decoding functions (reconstructing the compressed representation of the video data for use in encoding the next video data). show.

2.1 パターンマッチング動きベクトル導出 2.1 Pattern matching motion vector derivation

PMMVD(Pattern Matched Motion Vector Derivation)モードは、FRUC(Frame-Rate Up Conversion)技術に基づく特殊なマージモードである。このモードでは、ブロックの動き情報は信号通知されず、デコーダ側で導出される。 PMMVD (Pattern Matched Motion Vector Derivation) mode is a special merge mode based on FRUC (Frame-Rate Up Conversion) technology. In this mode, the motion information of the block is not signaled and is derived at the decoder side.

そのマージフラグが真である場合、FRUCフラグは、CUに信号通知される。FRUCフラグが偽である場合、マージインデックスを信号通知することができ、通常のマージモードが使用される。FRUCフラグが真である場合、追加のFRUCモードフラグを信号通知して、どの方法(バイラテラルマッチングまたはテンプレートマッチング)を使用してブロックの動き情報を導出するかを示す。 If that merge flag is true, the FRUC flag is signaled to the CU. If the FRUC flag is false, a merge index can be signaled and normal merge mode is used. If the FRUC flag is true, an additional FRUC mode flag is signaled to indicate which method (bilateral matching or template matching) is used to derive motion information for the block.

エンコーダ側では、CUのためにFRUCマージモードを使用するかどうかの決定は、通常のマージ候補に対して行われるのと同じように、RDコストの選択に基づく。つまり、RDコスト選択を使用して、1つのCUに対して2つのマッチングモード(バイラテラルマッチングおよびテンプレートマッチング)を両方チェックする。最小コストに導くものが、更に、他のCUモードと比較される。FRUCマッチングモードが最も効率的なものである場合、CUに対してFRUCフラグを真に設定し、関連するマッチングモードを使用する。 On the encoder side, the decision whether to use FRUC merge mode for a CU is based on the RD cost selection, just as it is done for regular merge candidates. That is, RD cost selection is used to check both two matching modes (bilateral matching and template matching) for one CU. The one leading to the minimum cost is further compared to other CU modes. If the FRUC matching mode is the most efficient one, set the FRUC flag to true for the CU and use the associated matching mode.

FRUCマージモードにおける動き導出処理は、2つのステップを有する。まず、CUレベルの動き探索を実行し、次に、サブCUレベルの動き改良を実行する。CUレベルでは、バイラテラルマッチング又はテンプレートマッチングに基づいて、CU全体のための初期の動きベクトルを導出する。まず、MV候補のリストを生成し、最小マッチングコストに導く候補を、さらなるCUレベル改良の開始点として選択する。そして、開始点付近のバイラテラルマッチングまたはテンプレートマッチングに基づく局所検索を行い、最小マッチングコストとなるMV結果をCU全体のMVとする。続いて、導出されたCU動きベクトルを開始点として、サブCUレベルでの動き情報をさらに改良する。 The motion derivation process in FRUC merge mode has two steps. First, CU-level motion search is performed, and then sub-CU-level motion refinement is performed. At the CU level, we derive the initial motion vector for the entire CU based on bilateral matching or template matching. First, we generate a list of MV candidates and select the candidate that leads to the minimum matching cost as the starting point for further CU level improvement. Then, a local search is performed based on bilateral matching or template matching near the starting point, and the MV result with the minimum matching cost is set as the MV for the entire CU. Next, using the derived CU motion vector as a starting point, the motion information at the sub-CU level is further refined.

例えば、W×H CU動き情報導出のために、以下の導出処理を行う。第1のステージにおいて、W×H CU全体のためのMVが導出される。第2のステージにおいて、CUは、M×M個のサブCUにさらに分割される。Mの値は、(16)のように計算されるが、Dは、予め規定義された分割深さであり、JEMにおいてデフォルトで3に設定される。そして、各サブCUのMVを以下のように導出する。 For example, to derive W×H CU motion information, the following derivation process is performed. In the first stage, the MV for the entire W×H CU is derived. In the second stage, the CU is further divided into M×M sub-CUs. The value of M is calculated as in (16), where D is a predefined division depth and is set to 3 by default in JEM. Then, the MV of each sub-CU is derived as follows.

Figure 2023134521000002
Figure 2023134521000002

図1に示すように、このバイラテラルマッチングは、2つの異なる参照ピクチャにおける現在のCUの動き軌跡に沿った2つのブロック間の最も近いマッチングを見出すことにより、現在のCUの動き情報を導出するために用いられる。連続した動き軌跡を仮定すると、2つの参照ブロックを指す動きベクトルMV0およびMV1は、現在のピクチャと2つの参照ピクチャとの間の時間的距離、例えばTD0およびTD1に比例する。特殊なケースとしては、現在のピクチャが時間的に2つの参照ピクチャの間にあり、現在のピクチャから2つの参照ピクチャまでの時間的な距離が同じである場合、バイラテラルマッチングはミラーに基づく双方向MVとなる。 As shown in Fig. 1, this bilateral matching derives the motion information of the current CU by finding the closest matching between two blocks along the motion trajectory of the current CU in two different reference pictures. used for Assuming continuous motion trajectories, motion vectors MV0 and MV1 pointing to the two reference blocks are proportional to the temporal distance between the current picture and the two reference pictures, e.g. TD0 and TD1. As a special case, if the current picture is temporally between two reference pictures, and the temporal distances from the current picture to the two reference pictures are the same, then bilateral matching is mirror-based. This will be the MV for the future.

図2に示すように、現在のピクチャにおけるテンプレート(現在のCUの上側および/または左側の近傍のブロック)と、参照ピクチャにおけるブロック(テンプレートと同じサイズ)との間の最も近いマッチングを見出すことで、テンプレートマッチングを使用して、現在のCUの動き情報を導出する。前述のFRUCマージモード以外に、テンプレートマッチングは、AMVPモードにも適用される。JEMにおいて、HEVCと同様、AMVPは2つの候補を有する。テンプレートマッチング法を用いることで、新しい候補を導出する。テンプレートマッチングによって新規に導出された候補が、第1の既存のAMVP候補と異なる場合、AMVP候補リストの最初に挿入し、次に、リストサイズを2(第2の既存のAMVP候補を取り除くことを意味する)に設定する。AMVPモードに適用される場合、CUレベル検索のみが適用される。
CUレベルMV候補セット
As shown in Figure 2, by finding the closest match between the template in the current picture (neighboring block above and/or to the left of the current CU) and the block in the reference picture (same size as the template). , template matching is used to derive the motion information of the current CU. Besides the aforementioned FRUC merge mode, template matching also applies to AMVP mode. In JEM, like HEVC, AMVP has two candidates. New candidates are derived by using a template matching method. If the newly derived candidate by template matching is different from the first existing AMVP candidate, it is inserted at the beginning of the AMVP candidate list, and then the list size is set to 2 (removing the second existing AMVP candidate). meaning). When applied to AMVP mode, only CU level search is applied.
CU level MV candidate set

CUレベルのMV候補セットは、以下を含むことができる。
・現在のCUがAMVPモードになっている場合の元のAMVP候補、
・すべてのマージ候補、
・2.1.1.3項に紹介されるような、補間されたMVフィールド内の複数のMV、
・上と左の近傍の動きベクトル
The CU level MV candidate set may include:
・Original AMVP candidate when the current CU is in AMVP mode,
・All merge candidates,
- multiple MVs within an interpolated MV field, as introduced in Section 2.1.1.3;
・Motion vectors in the upper and left neighborhoods

バイラテラルマッチングを使用する場合、マージ候補の各有効なMVを入力として使用して、バイラテラルマッチングを仮定してMV対を生成する。例えば、マージ候補の1つの有効なMVは、参照リストAにおいて(MVa,refa)であり、そして、その対をなすバイラテラルMVの参照ピクチャrefbが他の参照リストBにおいて見出され、refaおよびrefbは、時間的に現在のピクチャの異なる側にある。参照リストBにおいてこのようなrefbが利用可能でない場合、refbをrefaとは異なる参照として決定し、現在のピクチャとの時間的距離はリストBにおける最小値である。refbを決定した後、現在のピクチャとrefa,refbとの時間的距離に基づいてMVaをスケーリングすることでMVbを導出する。 When using bilateral matching, each valid MV of the merge candidate is used as input to generate MV pairs assuming bilateral matching. For example, one valid MV of a merge candidate is (MVa, refa) in the reference list A, and the reference picture refb of its paired bilateral MV is found in the other reference list B, refa and refb is on a different side of the current picture in time. If no such refb is available in reference list B, determine refb as a different reference from refa, and the temporal distance to the current picture is the minimum value in list B. After determining refb, MVb is derived by scaling MVa based on the temporal distance between the current picture and refa, refb.

補間されたMVフィールドからの4つのMVもCUレベル候補リストに追加する。具体的には、現在のCUの(0,0)、(W/2,0)、(0,H/2)、(W/2,H/2)の位置の補間されたMVを加算する。 The four MVs from the interpolated MV field are also added to the CU level candidate list. Specifically, the interpolated MVs of the positions (0, 0), (W/2, 0), (0, H/2), (W/2, H/2) of the current CU are added. .

AMVPモードでFRUCを適用する場合、元のAMVP候補をCUレベルMV候補セットにも加える。 When applying FRUC in AMVP mode, the original AMVP candidates are also added to the CU level MV candidate set.

CUレベルにおいて、AMVP CUのための最大15個のMVおよびマージCUのための最大13個のMVを候補リストに加える。 At the CU level, add up to 15 MVs for AMVP CUs and up to 13 MVs for merge CUs to the candidate list.

サブCUレベルMV候補セット Sub-CU level MV candidate set

サブCUレベルのMV候補セットは、以下を含むことができる。
・CUレベルの検索から決定されたMV、
・上、左、左上、右上の近傍のMV、
・参照ピクチャからの並置されたMVのスケーリングされたバージョン、
・最大4つのATMVP候補、
・最大4つのSTMVP候補
The sub-CU level MV candidate set may include the following:
・MV determined from CU level search,
・MV near the top, left, top left, and top right,
a scaled version of the juxtaposed MV from the reference picture;
・Up to 4 ATMVP candidates,
・Up to 4 STMVP candidates

参照ピクチャからのスケーリングされたMVは、以下のように導出される。両方のリストにおける参照ピクチャをすべてトラバースする。参照ピクチャにおけるサブCUの配列位置にあるMVは、開始CUレベルMVの参照に対してスケーリングされる。 The scaled MV from the reference picture is derived as follows. Traverse all reference pictures in both lists. The MV at the array position of the sub-CU in the reference picture is scaled with respect to the reference of the starting CU level MV.

ATMVPおよびSTMVPの候補は、最初の4つの候補に限定される ATMVP and STMVP candidates are limited to the first four candidates

サブCUレベルにおいて、最大17個のMVが候補リストに追加される。 At the sub-CU level, up to 17 MVs are added to the candidate list.

補間MVフィールドの生成 Generation of interpolated MV field

フレームをコーディングする前に、一方のMEに基づいてピクチャ全体に対して補間動きフィールドを生成する。そして、この動きフィールドを後にCUレベルまたはサブCUレベルのMV候補として使用してもよい。 Before coding a frame, generate an interpolated motion field for the entire picture based on one ME. Then, this motion field may be used later as an MV candidate at the CU level or sub-CU level.

まず、両方の参照リストにおける各参照ピクチャの動きフィールドは、4×4ブロックレベルでトラバースされる。各4×4ブロックにおいて、現在のピクチャ(図3に示す)の4×4ブロックを通過するブロックに関連する動きで、補間動きがまだ割り当てられていない場合、時間的距離TD0およびTD1に基づいて(HEVCにおけるTMVPのMVスケーリングと同様に)、参照ブロックの動きを現在のピクチャにスケーリングし、スケーリングされた動きを現在のフレームのブロックに割り当てる。4×4ブロックにスケーリングされたMVが割り当てられていない場合、ブロックの動きは、補間された動きフィールドにおいて利用不可能であるとマークされる。 First, the motion field of each reference picture in both reference lists is traversed at the 4x4 block level. For each 4x4 block, if the motion associated with the block passes through the 4x4 block of the current picture (shown in Figure 3) and has not yet been assigned an interpolated motion, then based on the temporal distances TD0 and TD1 (Similar to MV scaling of TMVP in HEVC), scale the motion of the reference block to the current picture and assign the scaled motion to the block of the current frame. If a 4x4 block is not assigned a scaled MV, the block's motion is marked as unavailable in the interpolated motion field.

補間およびマッチングコスト Interpolation and matching costs

1つの動きベクトルが1つの分数のサンプル位置を指す場合、動き補償補間を行うことができる。複雑性を低減するために、通常の8タップHEVC補間の代わりに、バイラテラルマッチングおよびテンプレートマッチングの両方に双線形補間を使用する。 Motion compensated interpolation can be performed if one motion vector points to one fractional sample position. To reduce complexity, we use bilinear interpolation for both bilateral and template matching instead of the usual 8-tap HEVC interpolation.

マッチングコストの計算は、異なるステップでは少し異なる。CUレベルの候補セットから候補を選択する場合、マッチングコストは、バイラテラルマッチングまたはテンプレートマッチングの差分の絶対値の和(SAD)である。開始MVを決定した後、サブCUレベル検索におけるバイラテラルマッチングのマッチングコストCを以下のように算出する。 The matching cost calculation is slightly different for different steps. When selecting a candidate from a CU-level candidate set, the matching cost is the sum of absolute differences (SAD) of bilateral matching or template matching. After determining the starting MV, the matching cost C of bilateral matching in sub-CU level search is calculated as follows.

Figure 2023134521000003
Figure 2023134521000003

ここで、wは、経験的に4に設定された重み係数であり、MVおよびMVは、それぞれ、現在のMVおよび開始MVを示す。SADは、依然として、サブCUレベル検索におけるテンプレートマッチングのマッチングコストとして使用される。 Here, w is a weighting factor empirically set to 4, and MV and MV S denote the current MV and starting MV, respectively. SAD is still used as matching cost for template matching in sub-CU level search.

FRUCモードにおいて、MVは、輝度サンプルのみを使用することによって導出される。導出された動きは、MCインター予測のために、輝度および彩度の両方に使用される。MVを決定した後、輝度用の8タップ補間フィルタおよび彩度用の4タップ補間フィルタを使用して、最終的なMCを行う。 In FRUC mode, MV is derived by using only luminance samples. The derived motion is used for both luminance and saturation for MC inter prediction. After determining the MV, final MC is performed using an 8-tap interpolation filter for luminance and a 4-tap interpolation filter for chroma.

MVの改良 Improvement of MV

MV改良は、バイラテラルマッチングコストまたはテンプレートマッチングコストの基準を有するパターンに基づくMV検索である。JEMでは、2つの検索パターン、即ち、無制限中心バイアス菱形検索(UCBDS)およびCUレベルおよびサブCUレベルでのMV改良のための適応的横断検索をそれぞれサポートする。CUおよびサブCUレベルのMV改良の両方のために、MVは、1/4輝度サンプルMVの精度で直接検索され、これに続いて1/8輝度サンプルMVの改良が行われる。CUおよびサブCUステップのためのMV改良の検索範囲は、8つの輝度サンプルに等しく設定される。 MV refinement is a pattern-based MV search with criteria of bilateral matching cost or template matching cost. JEM supports two search patterns: unrestricted center-biased diamond search (UCBDS) and adaptive traversal search for MV refinement at the CU and sub-CU levels, respectively. For both CU and sub-CU level MV refinement, the MV is directly searched with an accuracy of 1/4 luminance sample MV, followed by 1/8 luminance sample MV refinement. The search range of MV refinement for CU and sub-CU steps is set equal to 8 luminance samples.

テンプレートマッチングFRUCマージモードにおける予測方向の選択 Selection of prediction direction in template matching FRUC merge mode

バイラテラルマッチングマージモードにおいては、2つの異なる参照ピクチャにおける現在のCUの動き軌跡に沿った2つのブロック間の最も近いマッチングに基づいて、CUの動き情報を導出するため、双方向予測が常に適用される。テンプレートマッチングマージモードについては、そのような限定はない。テンプレートマッチングマージモードにおいて、エンコーダは、list0からの単一予測、list1からの単一予測、またはCUのための双方向予測のうちから選択することができる。選択は、テンプレートマッチングコストに基づいて、以下のように行う。 In bilateral matching merge mode, bidirectional prediction is always applied to derive the motion information of a CU based on the closest matching between two blocks along the current CU's motion trajectory in two different reference pictures. be done. There is no such limitation for template matching merge mode. In template matching merge mode, the encoder can choose between single prediction from list0, single prediction from list1, or bidirectional prediction for the CU. The selection is performed as follows based on the template matching cost.

costBi≦factor*min(cost0,cost1)の場合
双方向予測を用いる。
それ以外の場合において、cost0≦cost1の場合
list0からの単一予測を用いる。
そうでない場合、
list1からの単一予測を用いる。
When costBi≦factor*min (cost0, cost1), bidirectional prediction is used.
In other cases, if cost0≦cost1, use single prediction from list0.
If not,
Use a single prediction from list1.

ここで、cost0はlist0テンプレートマッチングのSADであり、cost1はlist1テンプレートマッチングのSADであり、costBiは双方向予測テンプレートマッチングのSADである。factorの値が1.25である場合、選択処理が双方向予測に偏っていることを意味する。 Here, cost0 is the SAD of list0 template matching, cost1 is the SAD of list1 template matching, and costBi is the SAD of bidirectional predictive template matching. When the value of factor is 1.25, it means that the selection process is biased toward bidirectional prediction.

このインター予測方向選択は、CUレベルのテンプレートマッチング処理にのみ適用される This inter-prediction direction selection is only applied to the CU-level template matching process.

ハイブリッドのイントラおよびインター予測 Hybrid intra and inter prediction

JVET-L0100には、多重仮説を生成する1つの方法として、ハイブリッドのイントラおよびインター予測とを用いる複数の仮説予測が提案されている。 JVET-L0100 proposes multiple hypothesis prediction using hybrid intra and inter prediction as one method for generating multiple hypotheses.

多重仮説予測をイントラモードの改良に適用する場合、マルチ仮説予測は、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を参照するために、予測子のイントラ仮説のためのイントラ予測モードを省略することができる。 When applying multi-hypothesis prediction to intra mode refinement, multi-hypothesis prediction combines one intra prediction and one merge index prediction. In the merge CU, if the flag is true, signal one flag for merge mode and select one intra mode from the intra candidate list. For the luminance component, the intra candidate list is derived from four intra prediction modes including DC, planar, horizontal, and vertical modes, and the size of the intra candidate list is 3 or 4 depending on the shape of the block. I can do it. Horizontal mode eliminates the intra mode list if the CU width is greater than twice the CU height, and vertical mode is removed from the intra mode list if the CU height is greater than twice the CU width. be done. A weighted average is used to combine one intra prediction mode selected by the intra mode index and one merge indexed prediction selected by the merge index. For chroma components, DM is always applied without extra signaling. The weights for combining predictions are written as: If DC or planar mode is selected, or if the width or height of the CB is less than 4, equal weights are applied. When the horizontal/vertical mode is selected for a CB whose width and height are four or more, first, one CB is divided into four equal area areas in the vertical/horizontal direction. Each weight set is expressed as (w_intra i , w_inter i ), where i is 1 to 4, (w_intra 1 , w_inter 1 )=(6,2), (w_intra 2 ,w_inter 2 )=(5,3 ), (w_intra 3 , w_inter 3 ) = (3, 5), (w_intra 4 , w_inter 4 ) = (2, 6), then it is applied to the corresponding region. (w_intra 1 , w_inter 1 ) is for the region closest to the reference sample, and (w_intra 4 , w_inter 4 ) is for the region furthest from the reference sample. A composite prediction can then be calculated by summing the two weighted predictions and the 3-bit right shift. Also, the intra-prediction mode for the intra-hypothesis of the predictor can be omitted to refer to the following nearby CUs.

双方向オプティカルフロー(BIO) Bidirectional optical flow (BIO)

BIOにおいて、まず、動き補償を行い、現在のブロックの(各予測方向における)第1の予測を生成する。第1の予測は、ブロック内の各サブブロック/画素の空間的勾配、時間的勾配、およびオプティカルフローを導出するために用いられ、これらを使用して第2の予測、即ちサブブロック/画素の最終予測を生成する。以下、その詳細を説明する。 In BIO, motion compensation is first performed to generate the first prediction (in each prediction direction) of the current block. The first prediction is used to derive the spatial gradient, temporal gradient, and optical flow for each subblock/pixel within the block, which are used to derive the second prediction, i.e., for each subblock/pixel. Generate the final prediction. The details will be explained below.

双方向オプティカルフロー(BIO)は、双方向予測のためにブロック単位の動き補償の上で実行されるサンプル単位の動きの改良である。サンプルレベルの動きの改良は、信号通知を使用しない。 Bidirectional optical flow (BIO) is an improvement on sample-wise motion performed on top of block-wise motion compensation for bidirectional prediction. Sample-level motion refinement does not use signaling.

ここで、ブロック動き補償後の基準k(k=0,1)からの輝度値をI(k)とし、∂I(k)/∂x、∂I(k)/∂yをそれぞれ、I(k)の勾配の水平成分、垂直成分とする。オプティカルフローが有効化されていると仮定すると、動きベクトルフィールド(v,v)は、以下の式によって与えられる。 Here, the luminance value from the reference k (k=0, 1) after block motion compensation is I (k) , and ∂I (k) /∂x and ∂I (k) /∂y are respectively I ( Let be the horizontal and vertical components of the gradient of k) . Assuming optical flow is enabled, the motion vector field (v x , v y ) is given by the following equation.

Figure 2023134521000004
Figure 2023134521000004

このオプティカルフロー方程式をそれぞれのサンプルの動き軌跡に対してエルミート補間によって組み合わせることにより、両端にある両機能値I(k)および導関数∂I(k)/∂x、∂I(k)/∂yに合致する唯一の3次多項式が得られる。t=0におけるこの多項式の値は、BIO次式のような、BIO予測となる。 By combining this optical flow equation with Hermitian interpolation for the motion trajectory of each sample, both functional values I (k) at both ends and derivatives ∂I (k) /∂x, ∂I (k) /∂ A unique cubic polynomial matching y is obtained. The value of this polynomial at t=0 is the BIO prediction, such as:

Figure 2023134521000005
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=-τ/τ)に比例する。 Here, τ 0 and τ 1 indicate the distance to the reference frame, as shown in FIG. 4. The distances τ 0 and τ 1 are calculated as follows based on the POC of Ref0 and Ref1. τ 0 = POC (current) - POC (Ref0), τ 1 = POC (Ref1) - POC (current). If both predictions come from the same time direction (both from the past or both from the future), they have different signs (i.e., τ 0 and τ 1 <0). Here, BI0 is only applied if the predictions are not from the same time (i.e. τ 0 ≠ τ 1 ), and both reference regions have non-zero motion (MVx 0 , MVy 0 , MVx 1 , MVy 1 ≠0), and the block motion vector is proportional to the temporal distance (MVx 0 /MVx 1 =MVy 0 /MVy 1 =-τ 01 ).

動きベクトルフィールド(v,v)は、点AおよびB(図9上の動き軌跡と基準フレーム平面の交差)における値の差Δを最小化することによって判定される。モデルは、Δに対するローカルテーラー展開の第1の線形項のみを以下のように使用する。 The motion vector field (v x , v y ) is determined by minimizing the difference Δ between the values at points A and B (the intersection of the motion trajectory and the reference frame plane on FIG. 9). The model uses only the first linear term of the local Taylor expansion for Δ as follows.

Figure 2023134521000006
Figure 2023134521000006

式5におけるすべての値は、サンプルの位置(i’,j’)に依存し、これまでのところ表記から省略した。動きがローカル周辺エリアにおいて一貫していると仮定すると、Δは、現在の予測点(i,j)を中心とする(2M+1)×(2M+1)個の正方形窓Ωの内側で最小化することができる。式中、Mは2に等しい。 All values in Equation 5 depend on the sample position (i', j') and have been omitted from the notation so far. Assuming that the motion is consistent in the local surrounding area, Δ can be minimized inside a (2M+1)×(2M+1) square window Ω centered at the current prediction point (i,j). can. where M is equal to 2.

Figure 2023134521000007
Figure 2023134521000007

この最適化問題に対して、JEMは、まず垂直方向に最小化し、次に水平方向に最小化する簡単なアプローチを使用する。その結果、以下となる。 For this optimization problem, JEM uses a simple approach that first minimizes vertically and then horizontally. The result is as follows.

Figure 2023134521000008
Figure 2023134521000008

式中、以下である。 In the formula:

Figure 2023134521000009
Figure 2023134521000009

ゼロまたは非常に小さな数値での除算を回避するために、式7および式8において、正則化パラメータrおよびmを導入する。
r=500・4d-8 (10)
m=700・4d-8 (11)
ここで、dは映像サンプルのビット深度である。
In order to avoid division by zero or very small numbers, we introduce regularization parameters r and m in Equation 7 and Equation 8.
r=500・4 d-8 (10)
m=700・4 d-8 (11)
Here, d is the bit depth of the video sample.

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)に示すように、パディングとして実装されてもよい。 To make the memory access for BIO the same as normal bidirectional predictive motion compensation, all predicted and gradient values I(k), ∂I (k) /∂x only for the position within the current block. , ∂I (k) /∂y. In Equation 9, a (2M+1)×(2M+1) square window Ω centered at the current prediction point on the boundary of the prediction block accesses positions outside the block (as shown in Figure 5(a)). can. In JEM, the values of I (k) , ∂I (k) /∂x, ∂I (k) /∂y outside the block are set equal to the nearest available number inside the block. . For example, this may be implemented as padding, as shown in Figure 5(b).

BIOを用いることで、サンプル毎に動きフィールドを改良することができる。計算の複雑性を低減するために、JEMではブロックに基づくBIOの設計が用いられている。4×4ブロックに基づいて動きの改良を計算する。ブロックに基づくBIOにおいて、4×4ブロックにおけるすべてのサンプルの、式9におけるsの値を統合し、次いで、この統合したsの値を使用して、4×4ブロックのためのBIO動きベクトルオフセットを導出する。具体的には、ブロックに基づくBIO導出には、以下の式を用いる。 Using BIO, the motion field can be refined sample by sample. To reduce computational complexity, JEM uses a block-based BIO design. Calculate motion refinement based on 4x4 blocks. In block-based BIO, we integrate the values of s n in Equation 9 for all samples in the 4x4 block, and then use this integrated value of s n to move the BIO motion for the 4x4 block. Derive the vector offset. Specifically, the following formula is used for BIO derivation based on blocks.

Figure 2023134521000010
Figure 2023134521000010

式中、bは、予測ブロックのk番目の4×4ブロックに属するサンプルのセットを表し、式7および式8におけるsを((sn,bk)>>4)に置き換え、関連する動きベクトルオフセットを導出する。 where b k represents the set of samples belonging to the kth 4×4 block of the prediction block, replacing s n in equations 7 and 8 with ((s n, bk ) >> 4), and Derive the motion vector offset.

場合によっては、BIOのMV管理は、雑音または不規則な動きのために信頼できない場合がある。したがって、BIOにおいて、MVレジメンの大きさは閾値thBIOにクリップされる。閾値は、現在のピクチャの参照ピクチャがすべて一方向からのものであるかどうかに基づいて判定される。現在のピクチャのすべての参照ピクチャが一方向からのものである場合、閾値を12×214-dに設定し、そうでない場合、閾値を12×213-dに設定する。 In some cases, BIO's MV management may be unreliable due to noise or irregular motion. Therefore, in BIO, the magnitude of the MV regimen is clipped to the threshold thBIO. The threshold is determined based on whether the current picture's reference pictures are all from one direction. If all reference pictures of the current picture are from one direction, set the threshold to 12×2 14-d , otherwise set the threshold to 12×2 13-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における予測信号の生成に使用できる補間フィルタを示す。 The gradient of BIO is calculated simultaneously with motion compensation interpolation using calculations based on HEVC motion compensation processing (2D separable FIR). The input for this 2D separable FIR is the same reference frame sample as for motion compensation processing and fractional position (fracX, fracY) according to the fractional part of the block motion vector. For horizontal gradient ∂I/∂x, the signal is first interpolated vertically using BIOfilterS corresponding to fractional position fracY with descaling shift d-8, then gradient filter BIOfilterG to fractional position fracX. Apply a corresponding horizontal descaling shift by 18-d. For vertical gradient ∂I/∂y, first apply the first gradient filter vertically using BIOfilterS corresponding to fractional position fracY with descaling shift d-8, then apply BIOfilterS horizontally direction, the signal displacement corresponding to the fractional position fracX is descaled by 18-d. To maintain reasonable complexity, the interpolation filter lengths for gradient computation BIOfilterG and signal displacement BIOfilterF are shorter (6 taps). Table 1 shows the filters used for gradient calculation of different fractional positions of block motion vectors in BIO. Table 2 shows interpolation filters that can be used to generate prediction signals in BIO.

Figure 2023134521000011
Figure 2023134521000011

Figure 2023134521000012
Figure 2023134521000012

本JEMにおいて、2つの予測が異なる参照ピクチャからのものである場合、BIOはすべての双方向予測ブロックに適用される。CUに対してLICが有効になっている場合、BIOは無効になる。 In the present JEM, BIO is applied to all bi-directionally predicted blocks if the two predictions are from different reference pictures. If LIC is enabled for the CU, BIO is disabled.

本JEMにおいて、OBMCは、通常のMC処理の後、1つのブロックに適用される。計算の複雑性を低減するために、OBMC処理中にBIOは適用されない。つまり、BIOは、それ自身のMVを使用する場合、1つのブロックのMC処理においてのみ適用され、OBMC処理において近傍のブロックのMVを使用する場合、MC処理においては適用されない。 In this JEM, OBMC is applied to one block after normal MC processing. To reduce computational complexity, no BIO is applied during OBMC processing. That is, BIO is applied only in MC processing of one block when using its own MV, and is not applied in MC processing when using MV of a neighboring block in OBMC processing.

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閾値に基づいて、バイオ処理をイネーブルするかディスエーブルするかを決定する。 A two-step early termination method is used to conditionally invalidate BIO operations based on the similarity of the two predicted signals. Early termination is applied first at the CU level and then at the sub-CU level. Specifically, the proposed method first calculates the SAD between the L0 prediction signal and the L1 prediction signal at the CU level. Assuming that BIO is applied only to luminance, only luminance samples can be considered for SAD calculation. If the CU level SAD is below a predefined threshold, BIO processing is completely disabled for the entire CU. The CU level threshold is set to 2 (BDepth-9) for each sample. If BIO processing is not disabled at the CU level and the current CU includes multiple sub-CUs, calculate the SAD of each sub-CU in the CU. Then, at the sub-CU level, it is determined whether to enable or disable bio-processing based on a predefined sub-CU level SAD threshold set to 3*2 (BDepth-10) for each sample.

2.4 VVCにおけるBDOFの仕様 2.4 BDOF specifications in VVC

BDOF(JVET-N1001-v2)の仕様は以下のとおりである。 The specifications of BDOF (JVET-N1001-v2) are as follows.

8.5.7.4 双方向オプティカルフロー予測処理 8.5.7.4 Bidirectional optical flow prediction processing

この処理への入力は以下の通りである。
- 現在のコーディングブロックの幅および高さを規定する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
The inputs to this process are as follows.
- two variables nCBW and nCBH, defining the width and height of the current coding block;
- two (nCBW+2)×(nCBH+2) luminance prediction sample arrays predSamplesL0 and predSamplesL1,
- prediction list usage flags predFlagL0 and predFlagL1,
- reference indexes refIdxL0 and refIdxL1,
- Bidirectional optical flow utilization flag bdofUtilizationFlag[xIdx][yIdx], where xIdx=0. .. (nCbW>>2)-1, yIdx=0. .. (nCbH>>2)-1

この処理の出力は、輝度予測サンプル値の(nCBW)×(nCBH)アレイpbSamplesである。 The output of this process is an (nCBW) x (nCBH) array pbSamples of luminance prediction sample values.

変数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))に等しく設定される。
The variables bitDepth, shift1, shift2, shift3, shift4, offset4, and mvRefineThres are derived as follows.
- The variable bitDepth is set equal to BitDepth Y.
- The variable shift1 is set equal to Max(2,14-bitDepth).
- The variable shift2 is set equal to Max(8, bitDepth-4).
- The variable shift3 is set equal to Max(5, bitDepth-7).
- The variables shift4 and Max(3,15-bitDepth) are set equal and the variable offset4 is set equal to 1<<(shift4-1).
- The variable mvRefineThres is set equal to 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に等しい)、現在のサブブロックの予測サンプル値は、以下のように導出される。
xIdx=0. .. (nCbW>>2)-1 and yIdx=0. .. If (nCbH>>2)-1, the following applies.
- Set variable xSb equal to (xIdx<<2)+1 and set ySb equal to (yIdx<<2)+1.
- If bdofUtilizationFlag[xSbIdx][yIdx] is equal to FALSE, then x=xSb-1. .. xSb+2, y=ySb-1. .. For ySb+2, the predicted sample value of the current subblock is derived as follows.
pbSamples[x][y]=Clip3(0, (2 bitDepth )-1, (predSamplesL0[x+1][y+1]+offset2+predSamplesL1[x+1][y+1])>>shift2) (8-852)
- Otherwise (bdofUtilizationFlag[xSbIdx][yIdx] equals TRUE), the predicted sample value of the current sub-block is derived as follows:

- x=xSb-1..xSb+4,y=ySb-1..ySb+4の場合、以下の順序付けられたステップが適用される。 - x=xSb-1. .. xSb+4, y=ySb-1. .. For ySb+4, the following ordered steps apply.

1. 予測サンプルアレイ内の対応するサンプル位置(x,y)の各々の位置(h,v)は、以下のように導出される。
=Clip3(1,nCbW,x) (8-853)
=Clip3(1,nCbH,y) (8-854)
1. The position (h x , v y ) of each corresponding sample position (x, y) in the predicted sample array is derived as follows.
h x =Clip3(1,nCbW,x) (8-853)
v y =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)
2. The variables gradientHL0[x][y], gradientVL0[x][y], gradientHL1[x][y], and gradientVL1[x][y] are derived as follows.
gradientHL0[x][y] = (predSamplesL0[h x +1] [v y ] - predSampleL0[h x -1] [v y ]) >> shift1 (8-855)
gradientVL0[x][y]=(predSampleL0[h x ][v y +1]-predSampleL0[h x ][v y -1])>>shift1 (8-856)
gradientHL1[x][y] = (predSamplesL1[h x +1] [v y ] - predSampleL1[h x -1] [v y ]) >> shift1 (8-857)
gradientVL1[x][y]=(predSampleL1[h x ][v y +1]-predSampleL1[h x ][v y -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)
3. The variables temp[x][y], tempH[x][y] and tempV[x][y] are derived as follows.
diff [x] [y] = (predSamplesL0[h x ] [v y ] >> shift2) - (predSamplesL1 [h x ] [v y ] >> 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)
- The variables sGx2, sGy2, sGxGy, sGxdI, sGydI are derived as follows.
sGx2=Σ i Σ j (tempH[xSb+i][ySb+j]*tempH[xSb+i][ySb+j])with i,j=-1. .. 4 (8-862)
sGy2=Σ i Σ j (tempV[xSb+i][ySb+j]*tempV[xSb+i][ySb+j])with i,j=-1. .. 4 (8-863)
sGxGy=Σ i Σ j (tempH[xSb+i][ySb+j]*tempV[xSb+i][ySb+j])with i,j-1. .. 4 (8-864)
sGxdI=Σ i Σ j (-tempH[xSb+i][ySb+j]*diff[xSb+i][ySb+j])with i,j=-1. .. 4 (8-865)
sGydI=Σ i Σ j (-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)
- The horizontal and vertical motion offsets of the current subblock are derived as follows:
v x =sGx2>0? Clip3(-mvRefineThres, mvRefineThres, -(sGxdI<<3)>>Floor(Log2(sGx2))): 0 (8-867)
v y =sGy2>0? Clip3 (-mvRefineThres, mvRefineThres, ((sGydI<<3)-((v x *sGxGy m )<<12+v x *sGxGy s )>>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)
- x=xSb-1. .. xSb+2, y=ySb-1. .. For ySb+2, the predicted sample value of the current subblock is derived as follows.
bdofOffset=Round((v x *(gradientHL1[x+1][y+1]-gradientHL0[x+1][y+1]))>>1)+Round((v y *(gradientVL1[x+1][y+1]-gradientVL0[ x+1][ y+1]))>>1) (8-869)
[Ed. (JC): The Round() operation is defined for float inputs. The Round( ) operation seems redundant here because the input is an integer value. Recommender should confirm] pbSamples[x][y]=Clip3(0, (2 bitDepth )-1, (predSamplesL0[x+1][y+1]+offset4+predSamplesL1[x+1][y+1]+bdofOffset) >> shif t4) (8- 870)

空間的勾配は、以下のように計算される。
gradientHL0[x][y]=(predSamplesL0[h+1][v]-predSampleL0[h-1][v])>>shift1 (8-855)
The spatial gradient is calculated as follows.
gradientHL0[x][y] = (predSamplesL0[h x +1] [v y ] - predSampleL0[h x -1] [v y ]) >> shift1 (8-855)

一方、時間的勾配は、以下のようにして算出される。
diff[x][y]=(predSamplesL0[h][v]>>shift2)-(predSamplesL1[h][v]>>shift2) (8-859)
On the other hand, the temporal gradient is calculated as follows.
diff [x] [y] = (predSamplesL0[h x ] [v y ] >> shift2) - (predSamplesL1 [h x ] [v y ] >> shift2) (8-859)

このように、空間的勾配および時間的勾配の計算は整合されていない。 Thus, spatial and temporal gradient calculations are not aligned.

2.5 デコーダ側動きベクトル改良 2.5 Improvement of motion vector on decoder side

双方向予測演算において、1つのブロック領域を予測するために、list0の動きベクトル(MV)およびlist1のMVをそれぞれ使用して構成される双方向予測ブロックを組み合わせ、1つの予測信号を形成する。JVET-K0217、デコーダ側動きベクトル改良(DMVR)方法において、バイラテラルマッチング処理によって、双方向予測の2つの動きベクトルをさらに改良する。 In the bidirectional prediction calculation, in order to predict one block area, bidirectional prediction blocks configured using the motion vectors (MV) of list0 and the MV of list1 are combined to form one prediction signal. In JVET-K0217, a decoder-side motion vector refinement (DMVR) method, two motion vectors for bidirectional prediction are further refined by a bilateral matching process.

以下の条件が成り立てば、提案した方法において、DMVRは、マージモードおよびスキップモードにおいてのみ適用される。
(POC-POC0)*(POC-POC1)<0,
式中、POCは、現在の符号化対象のピクチャのピクチャオーダカウントであり、POC0およびPOC1は、現在のピクチャに対する参照のピクチャオーダカウントである。
In the proposed method, DMVR is applied only in merge mode and skip mode if the following conditions hold:
(POC-POC0)*(POC-POC1)<0,
where POC is the picture order count of the current picture to be encoded, and POC0 and POC1 are the picture order counts of the references to the current picture.

信号通知されたマージ候補対は、DMVR処理への入力として使用され、初期動きベクトル(MV0,MV1)と呼ばれる。DMVRで検索された検索点は、動きベクトル差分ミラーリング条件に従う。すなわち、候補動きベクトルの対(MV0’,MV1’)で表されるDMVRのチェック点は、次の2つの式に従う。
MV0’=MV0+MVdiff
MV1’=MV1-MVdiff
ここで、MVdiffは、1つの参照ピクチャにおける探索空間内の点を表す。
The signaled merge candidate pair is used as input to the DMVR process and is called the initial motion vector (MV0, MV1). The search points searched by DMVR comply with the motion vector difference mirroring condition. That is, the DMVR check point represented by the pair of candidate motion vectors (MV0', MV1') follows the following two equations.
MV0'=MV0+MV diff
MV1'=MV1-MV diff
Here, MV diff represents a point in the search space in one reference picture.

探索空間を構築した後、通常の8タップDCTIF補間フィルタを使用して片側予測を構築する。2つの予測(図6)と検索点との間のMRSAD(平均値分離絶対差の合計)を使用することによって、バイラテラルマッチングコスト関数を計算し、結果として最小限のコストとなる検索点を、改良されたMV対として選択する。MRSAD計算には、16ビット精度のサンプル(これは補間フィルタリングの出力である)を使用し、MRSAD計算の前にクリッピングおよび丸め演算を適用しない。丸めおよびクリッピングを適用しない理由は、内部バッファ要件を低減するためである。 After constructing the search space, a regular 8-tap DCTIF interpolation filter is used to construct a one-sided prediction. By using the MRSAD (sum of mean separation absolute differences) between the two predictions (Figure 6) and the search point, we compute the bilateral matching cost function and find the search point that results in the minimum cost. , as the improved MV pair. For MRSAD calculations, we use 16-bit precision samples (which are the output of interpolation filtering) and do not apply clipping and rounding operations before MRSAD calculations. The reason for not applying rounding and clipping is to reduce internal buffer requirements.

図6は、6点検索によるバイラテラルマッチングの例を示す。 FIG. 6 shows an example of bilateral matching using six-point search.

提案した方法では、整数精度検索点を適応パターン法で選択する。まず、中心点(初期動きベクトルが指す)に対応するコストを算出する。他の4つのコスト(符号の形状)は、2つの予測によって算出され、中心点に対して互いに反対側に位置する。先に計算されたコスト(図7)の勾配によって、この角における最後の6番目の点を選択する。 In the proposed method, integer precision search points are selected using an adaptive pattern method. First, the cost corresponding to the center point (pointed to by the initial motion vector) is calculated. The other four costs (code shapes) are calculated by two predictions and are located on opposite sides of the center point. Select the last 6th point in this corner by the gradient of the cost (FIG. 7) calculated earlier.

図7は、適応整数検索パターンおよびハーフサンプル検索パターンの例を示す。 FIG. 7 shows examples of adaptive integer and half-sample search patterns.

DMVR処理の出力は、最小コストに対応する改良された動きベクトルの対である。 The output of the DMVR process is a pair of refined motion vectors corresponding to the minimum cost.

1回の繰り返しの後、探索空間の中心点で最小限のコストに達した場合、すなわち動きベクトルが変わらなかった場合、改良処理は終了する。そうでない場合、最良のコストをさらに中心と見なし、この処理を続け、一方、最小コストは中心点に対応せず、検索範囲を超えない。 After one iteration, the refinement process ends if the minimum cost is reached at the center point of the search space, ie, if the motion vector does not change. If not, consider the best cost as further center and continue this process, while the lowest cost does not correspond to the center point and does not exceed the search range.

半画素探索の適用が探索範囲を超えない場合にのみ、ハーフサンプル精度探索が適用される。この場合、中心点の周りのプラスの形状点に対応して、4回のMRSAD計算のみが行われ、これは、整数精度検索の間、最良のものとして選択される。最後に、最小コスト点に対応する改良された動きベクトル対を出力する。 A half-sample precision search is applied only if the application of a half-pixel search does not exceed the search range. In this case, only four MRSAD calculations are performed corresponding to the positive shape points around the center point, which are selected as the best during the integer precision search. Finally, output the refined motion vector pair corresponding to the minimum cost point.

JVET-L0163には、若干の簡単化および改良がさらに提案されている。
基準サンプリングパディング
Some simplifications and improvements are further proposed in JVET-L0163.
Reference sampling padding

最初の動きベクトルが指す参照サンプルブロックを拡大するために、参照サンプルパディングが適用される。コーディングブロックのサイズを「w」および「h」とした場合、サイズw+7およびh+7のブロックが参照ピクチャバッファから取り出されると仮定する。次に、最も近いサンプルを使用してサンプルを繰り返しパディングすることにより、検索したバッファを各方向に2サンプルずつ拡大する。その後、この拡張参照サンプルブロックを使用して、改良された動きベクトル(各方向において最初の動きベクトル2サンプルから逸脱してもよい)を取得した後、最終予測を生成する。 Reference sample padding is applied to enlarge the reference sample block pointed to by the first motion vector. Let the sizes of the coding blocks be "w" and "h", and assume that blocks of size w+7 and h+7 are retrieved from the reference picture buffer. The searched buffer is then expanded by two samples in each direction by repeatedly padding the samples using the closest sample. This expanded reference sample block is then used to obtain a refined motion vector (which may deviate from the initial motion vector 2 samples in each direction) before generating the final prediction.

なお、この変形例によれば、DMVRにおける外部メモリアクセスは、コーディング損失を生じることなく完全に排除される。 Note that according to this variant, external memory access in DMVR is completely eliminated without any coding loss.

8タップDCTIFの代わりの双線形補間 Bilinear interpolation instead of 8-tap DCTIF

本提案によれば、DMVR検索処理中に双線形補間を適用し、これは、MRSAD計算に使用される予測が双線形補間を使用して生成されることを意味する。最終的に改良された動きベクトルが取得されると、通常の8タップDCTIF補間フィルタを適用して、最終予測を生成する。 According to the present proposal, bilinear interpolation is applied during the DMVR search process, which means that the predictions used for MRSAD computation are generated using bilinear interpolation. Once the final refined motion vector is obtained, a regular 8-tap DCTIF interpolation filter is applied to generate the final prediction.

小さなブロックのためのDMVRの無効化 Disabling DMVR for small blocks

ブロック4×4、4×8、8×4では、DMVRは無効になる。 For blocks 4x4, 4x8, 8x4, DMVR is disabled.

マージ候補間のMV差に基づく早期終了 Early termination based on MV difference between merge candidates

MV改良処理を限定するために、DMVRに追加の条件を課す。これにより、以下の条件が満たされる場合、DMVRは条件付きで無効化される。 We impose additional conditions on the DMVR to limit the MV refinement process. Thereby, DMVR is conditionally disabled if the following conditions are met:

選択されたマージ候補と同じマージリストにおける前のマージ候補のいずれかとの間のMV差は、予め規定された閾値未満である(すなわち、それぞれ64画素未満、256画素未満、および少なくとも256画素のCUの場合、1/4、1/2、および1画素幅の間隔である)。 The MV difference between the selected merge candidate and any of the previous merge candidates in the same merge list is less than a predefined threshold (i.e. less than 64 pixels, less than 256 pixels, and a CU of at least 256 pixels, respectively). , the spacing is 1/4, 1/2, and 1 pixel width).

中心探索座標におけるSADコストに基づく早期終了 Early termination based on SAD cost at center search coordinates

現在のCUの初期動きベクトルを使用して、2つの予測信号(L0、L1予測)の絶対差の合計(SAD)を算出する。SADが予め規定された閾値よりも大きくない場合、即ちサンプル当たりの2(BDepth-9)の場合、DMVRはスキップされ、そうでない場合、DMVRは現在のブロックの2つの動きベクトルを改良するために引き続き適用される。 The initial motion vector of the current CU is used to calculate the sum of absolute differences (SAD) of the two predicted signals (L0, L1 prediction). If the SAD is not larger than the predefined threshold, i.e. 2 per sample (BDepth-9) , then DMVR is skipped, otherwise DMVR is used to refine the two motion vectors of the current block. Still applicable.

DMVRの適用条件 Conditions for applying DMVR

DMVRの適用条件は、BMS2.1で実装されている場合、(POC-POC1)×(POC-POC2)<0であり、新しい条件(POC-POC1)==(POC2-POC)によって置き換えられる。これは、DMVRが適用されるのは、参照ピクチャが反対の時間方向にあり、現在のピクチャに対して等距離である場合のみであることを意味する。 When implemented in BMS2.1, the application condition of DMVR is (POC-POC1)×(POC-POC2)<0, which is replaced by the new condition (POC-POC1)==(POC2-POC). This means that DMVR is only applied if the reference picture is in the opposite temporal direction and equidistant to the current picture.

一つおきの行を使用したMRSAD計算 MRSAD calculation using every other row

MRSADコストは、1つのブロックの奇数番目の行に対してのみ計算され、偶数番目のサンプル行は考慮に入れない。これにより、MRSAD計算のための演算回数が半減される。 The MRSAD cost is calculated only for odd rows of one block and does not take into account even sample rows. This reduces the number of operations for MRSAD calculation by half.

2.6 関連方法 2.6 Related methods

2018年8月4日に出願された「視覚媒体コーディングのための動き改良(Motion Refinement for Visual Media Coding)」という名称の特許出願番号PCT/CN2018/098691号(本明細書において参照により援用される)によって識別される本願明細書において、MV更新方法および2ステップインター予測方法が提案されている。BIOにおける参照ブロック0と参照ブロック1との間の導出されたMVをスケーリングし、リスト0およびリスト1の元の動きベクトルに加える。一方、更新されたMVを使用して動き補償を行い、第2のインター予測を最終予測として生成する。時間的勾配は、参照ブロック0と参照ブロック1との間の平均差を取り除くことによって修正される。 Patent Application No. PCT/CN2018/098691 entitled "Motion Refinement for Visual Media Coding" filed on August 4, 2018 (herein incorporated by reference) ) are proposed herein, an MV update method and a two-step inter prediction method. The derived MV between reference block 0 and reference block 1 in BIO is scaled and added to the original motion vectors of list 0 and list 1. On the other hand, motion compensation is performed using the updated MV, and the second inter prediction is generated as the final prediction. The temporal gradient is modified by removing the average difference between reference block 0 and reference block 1.

2.7 VVC草案4におけるDMVR 2.7 DMVR in VVC Draft 4

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以上である
The usage of DMVR in JVET-M1001_v7 (VVC working draft 4, 7th edition) is defined as follows.
- dmvrFlag is set equal to 1 if all of the following conditions are true:
- sps_dmvr_enabled_flag is equal to 1 - The current block is not coded in triangle prediction mode, AMVR affine mode, subblock mode (including merge affine mode, ATMVP mode).
- merge_flag[xCb][yCb] is equal to 1 - both predFlagL0[0][0] and predFlagL1[0][0] are equal to 1 - mmvd_flag[xCb][yCb] is equal to 0 - DiffPicOrderCnt(currPic , RefPicList[0][refIdxL0]) is equal to DiffPicOrderCnt(RefPicList[1][refIdxL1], currPic).
- cbHeight is 8 or more - cbHeight*cbWidth is 64 or more

3. 実施形態が解決しようとする課題の例 3. Examples of issues that the embodiment attempts to solve

BIOでは、早期終了段階において、2つの参照ブロックまたはサブブロック間の差を計算し、一方、時間的勾配も計算する。時間的勾配は実際には2つの参照画素間の差(または右シフトした差)であるため、この差および時間的勾配の両方を計算しても意味がない。 In BIO, during the early termination stage, the difference between two reference blocks or subblocks is calculated, while also calculating the temporal gradient. Since the temporal gradient is actually the difference (or right-shifted difference) between the two reference pixels, there is no point in calculating both this difference and the temporal gradient.

DMVRにおいて、MRSAD計算は、1つのブロック改良動きベクトルを判定するために用いられる。 In DMVR, MRSAD calculations are used to determine one block refinement motion vector.

BIOにおいて、SAD計算を使用して、1つのブロック/1つのサブブロックのすべてのサンプルを使用して、1つのブロックまたは1つのサブブロックに対してBIOを有効化/無効化するべきかどうかを決定するが、これは計算の複雑性を増大させる。 In BIO, use SAD calculation to determine whether BIO should be enabled/disabled for one block or one sub-block using all samples of one block/one sub-block. , but this increases computational complexity.

この計算方法は、空間的勾配と時間的勾配とで異なる。 This calculation method differs depending on the spatial gradient and the temporal gradient.

4.実施形態の例 4. Examples of embodiments

SATDを絶対変換差の合計として、MRSATDを平均値分離絶対変換差の合計として、SSEを二乗誤差の合計として、およびMRSSEを平均値分離二乗誤差の合計として表す。 Express SATD as the sum of absolute transformation differences, MRSATD as the sum of mean-separated absolute transformation differences, SSE as the sum of squared errors, and MRSSE as the sum of mean-separated squared errors.

以下の詳細な技術は、一般的な概念を説明するための例であると考えられるべきである。これらの技術は狭い意味で解釈されるべきではない。さらに、これらの発明は、任意の方法で組み合わせることができる。 The detailed techniques below should be considered as examples to illustrate general concepts. These techniques should not be interpreted in a narrow sense. Furthermore, these inventions can be combined in any way.

以下の説明において、SatShift(x,n)は、以下のように定義される。 In the following description, SatShift (x, n) is defined as follows.

Figure 2023134521000013
Figure 2023134521000013

Shift(x,n)は、Shift(x,n)=(x+offset0)>>nとして定義される。 Shift(x,n) is defined as Shift(x,n)=(x+offset0)>>n.

一例において、offset0および/またはoffset1は、(1<<n)>>1または(1<<(n-1))に設定される。別の実施例において、offset0および/またはoffset1は0に設定される。 In one example, offset0 and/or offset1 are set to (1<<n)>>1 or (1<<(n-1)). In another embodiment, offset0 and/or offset1 are set to 0.

別の例において、offset0=offset1=((1<<n)>>1)-1又は((1<<(n-1)))-1である。 In another example, offset0=offset1=((1<<n)>>1)-1 or ((1<<(n-1)))-1.

BDOFの勾配計算において、2つの近傍の(空間的に近傍のまたは時間的に近傍の)サンプル間の差および/または非隣接のサンプル間の差を計算することができ、右シフトは勾配計算中に行われてもよい。2つの近傍のサンプルがneig0、neig1であり、右シフト値が1であり、算出される傾きがgradであるとする。なお、空間的勾配および時間的勾配について、shift1が異なってもよい。 In the gradient calculation of a BDOF, the difference between two neighboring (spatially nearby or temporally neighboring) samples and/or the difference between non-adjacent samples can be calculated, and the right shift is used during the gradient calculation. may be carried out. Assume that two neighboring samples are neig0 and neig1, the right shift value is 1, and the calculated slope is grad. Note that shift1 may be different for the spatial gradient and the temporal gradient.

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)として算出されてもよい。
1. It is proposed to adjust the methods used to calculate spatial and temporal gradients.
a. In one example, the slope is calculated according to the shifted sample difference.
i. Alternatively, the slope is calculated according to the difference in the modified samples (eg, by shifting).
b. In one example, a subtraction may be performed before the right shift in the gradient calculation. For example, grad=(neig0-neig1) >> shift1.
c. In one example, in the gradient computation, the subtraction may be performed after the right shift. For example, grad=(neig0>>shift1)-(neig1>>shift1).
d. In one example, the gradient calculation may include a subtraction before the right shift and an offset before the right shift. For example, grad=(neig0-neig1+offset)>>shift1. This offset may be equal to 1<<(shift1-1) or 1<<shift1>>1.
e. In one example, a right shift may be followed by a subtraction, and an offset may be added before a right shift in the gradient calculation. For example, grad=((neig0+offset)>>shift1)-((neig1+offset)>>shift1). This offset may be equal to 1<<(shift1-1) or 1<<shift1>>1.
f. In one example, this slope may be calculated as SatShift(neig0-neig1, shift1).
i. Alternatively, this slope may be calculated as 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/スライスヘッダ/タイルグループヘッダにおいて、エンコーダからデコーダに信号通知されてもよいことが提案される。
2. It is proposed to use other criteria, for example SATD or MRSATD or SSE or MRSSE or mean difference or slope values, to determine the activation/deactivation of BIO and/or DMVR in the early termination phase.
a. In one example, block-level and sub-block-level enabling/disabling decisions may select different rules, eg, a rule with SAD and a rule with SATD.
b. In one example, in a block/subblock, if the slope value (horizontal and/or vertical) or the average slope value or range of slope values satisfies a condition (e.g., is greater than a threshold or outside a predetermined range) , BIO and/or DMVR may be disabled.
c. It is proposed that the criteria used to determine enabled/disabled BIO/DMVR may be signaled from the encoder to the decoder in the VPS/SPS/PPS/slice header/tile group header.

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)値を得る。
3. To determine the improved motion vector of one block in DMVR processing, it is proposed to use other criteria, such as SATD, MRSATD, or SSE, or MRSSE to replace MRSAD.
a. In one example, an improved motion vector of one sub-block in DMVR processing, eg, SATD, MRSATD, or SSE, or MRSSE, replaces MRSAD.
b. In one example, when SATD (or MRSATD) is applied, the entire block is divided into M×N subblocks, and SATD (or MRSATD) is calculated for each subblock. The SATD (or MRSATD) of all or some of the sub-blocks are summed to obtain the SATD (or MRSATD) value of the entire block.

4. 1つのブロックの2つの参照ブロックの平均値の差が閾値(T1)よりも大きい場合、BIOおよび/またはDMVRを無効にしてもよい。
a. 1つのサブブロックの2つの参照サブブロックの平均値差が閾値(T2)よりも大きい場合、BIOを無効にしてもよい。
b. 閾値T1および/またはT2は、予め規定されてもよい。
c. 閾値T1および/またはT2は、ブロック寸法に依存してもよい。
4. If the difference between the average values of two reference blocks of one block is greater than a threshold (T1), BIO and/or DMVR may be disabled.
a. If the average value difference between two reference subblocks of one subblock is greater than a threshold (T2), BIO may be disabled.
b. Threshold value T1 and/or T2 may be defined in advance.
c. The threshold T1 and/or T2 may depend on the block size.

5. BIOの早期終了段階において、2つの参照ブロック/サブブロック間の差(例えば、SAD/SATD/SSE等)を計算する前に、まず、参照ブロックまたは/およびサブブロックを修正してもよいことが提案される。
a. 一例において、参照ブロックまたは/およびサブブロックの平均を計算し、その後、参照ブロックまたは/およびサブブロックによって差し引いてもよい。
b. 一例において、方法は、2018年7月20日に出願された「動き予測に基づく更新された動きベクトル(Motion Prediction Basing Updated Motion Vectors)」という名称の出願であるPCT/CN2018/096384号(参照により本明細書に組み込まれる)に開示されており、参照ブロックおよび/またはサブブロックの平均値の計算に使用されてよく、即ち、平均値はいくつかの代表的な位置の計算に使用される。
5. It is noted that during the early termination stage of BIO, the reference block or/and sub-block may be modified first before calculating the difference between two reference blocks/sub-blocks (e.g. SAD/SATD/SSE etc.). Suggested.
a. In one example, an average of a reference block or/and subblock may be calculated and then subtracted by the reference block or/and subblock.
b. In one example, the method is described in application no. PCT/CN2018/096384 (with reference to (incorporated herein) and may be used to calculate the average value of the reference block and/or sub-blocks, ie the average value is used to calculate several representative positions.

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等)を合計することにより、ブロック/サブブロック全体の差を得る。
6. During the early termination stage of BIO and/or DMVR, the difference between two reference blocks and/or subblocks (e.g., SAD/SATD/SSE/MRSAD/MRSATD/MRSSE, etc.) is calculated for some representative positions. It is proposed that only the following may be calculated.
a. In one example, only even row differences are calculated for a block or/and subblock.
b. In one example, only the four corner sample differences of one block/subblock are calculated for this block or/and subblock.
c. In one example, the method is described in U.S. Provisional Application No. 62/693,412 entitled "Decoder Side Motion Vector Derivation in Video Coding," filed on July 2, 2018. (herein incorporated by reference) and may be used to select representative locations.
d. In one example, the difference between two reference blocks (eg, SAD/SATD/SSE/MRSAD/MRSATD/MRSSE, etc.) may be calculated only for some representative subblocks.
e. In one example, the differences across blocks/subblocks are obtained by summing the differences (eg, SAD/SATD/SSE/MRSAD/MRSATD/MRSSE, etc.) calculated for representative locations or subblocks.

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号(本明細書において参照により援用される)を使用してもよい。
7. Temporal gradient (The temporal gradient at position (x, y) is defined as G(x, y) = P0(x, y) - P1(x, y), where P0(x, y) and P1(x , y) represents the predicted value at (x, y) from two different reference pictures) or the modified temporal gradient is used as the difference (instead of SAD) in the early termination stage of BIO. , Consequently, it is proposed that the threshold used for early termination may be adjusted.
a. In one example, the sum of the absolute values of the temporal gradients is calculated and used as the difference between two reference blocks or/and subblocks.
b. In one example, the sum of the absolute values of the temporal gradients is calculated only at some representative positions of the block and/or subblock.
c. In one example, the method is disclosed in a US patent. In order to select representative positions, Provisional Application No. 62/693 entitled “Decoder Side Motion Vector Derivation in Video Coding” filed on July 2, 2018 , 412 (herein incorporated by reference) may be used.

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)を掛けた値の範囲内にある場合にのみ修正される。
8. It is proposed that the temporal gradient modification process may be performed adaptively on different blocks/subblocks.
a. In one example, the temporal gradient is modified such that only if the absolute mean difference (or SAD/SATD/SSE, etc.) between the two reference blocks is greater than a threshold T, e.g. T=4. be done.
b. In one example, the temporal gradient is modified only if the average absolute difference (or SAD/SATD/SSE, etc.) between two reference blocks is less than a threshold T, eg, T=20.
c. In one example, the temporal gradient is determined only if the average absolute difference (or SAD/SATD/SSE, etc.) between two reference blocks falls within the range [T1, T2], e.g. T1=4, T2=20 It is corrected so that
d. In one example, if the average absolute difference (or SAD/SATD/SSE, etc.) between two reference blocks is greater than a threshold T, for example T (T=40), the BIO is disabled. .
e. In one example, these thresholds may be implicitly predefined.
f. In one example, these thresholds may be signaled at the SPS/PPS/picture/slice/tile level.
g. In one example, these thresholds may be different for different CUs, LCUs, slices, tiles, or pictures.
i. In one example, these thresholds may be designed based on decoded/encoded pixel values.
ii. In one example, these thresholds may be designed differently for different reference pictures.
h. In one example, the temporal gradient is modified only if the (absolute) average of the two (or any one of the two) reference blocks is greater than a threshold T, for example T=40.
i. In one example, the temporal gradient is modified such that only if the (absolute) average of the two (or any one of the two) reference blocks is less than a threshold T, e.g. T=100.
j. In one example, the temporal gradient is determined only if the (absolute) average of the two (or any one of the two) reference blocks falls within the range [T1, T2], e.g. T1=40, T2 =100.
k. In one example, the temporal gradient is such that the (absolute) average of the two (or any one of the two) reference blocks is the average absolute difference (or SAD/SATD, etc.) of T (in one example, T=4. 5) is corrected only if it is greater/less than the multiplied value.
l. In one example, the temporal gradient is such that the (absolute) average of two (or any one of the two) reference blocks is equal to the average absolute difference (or SAD/SATD, etc.) [T1, T2] (in one example, T1=4.5, T2=7).

9. なお、ハイブリッドのイントラおよびインター予測モードにおいて、2つのインター参照ブロックは、BIOにおける空間的勾配を計算する時に修正されてもよいし、またはBIO手順全体を行う前に修正されてもよいことが提案される。
a. 一例において、各予測方向におけるイントラ予測ブロックおよびインター予測ブロックを(ハイブリッドのインターおよびインター予測と同じ重み付け方法を使用して)重み平均し、wAvgBlkL0およびwAvgBlkL1と表される、BIOにおける空間的勾配を導出するために使用される2つの新しい予測ブロックを生成する。
b. 一例において、wAvgBlkL0およびwAvgBlkL1は、predBlkと表される現在のブロックの予測ブロックを生成するために用いられる。そして、BIO手順として、wAvgBlkL0、wAvgBlkL1、およびpredBlkをさらに用い、BIOで生成された改良した予測ブロックを最終予測ブロックとして用いる。
9. Note that it is proposed that in the hybrid intra and inter prediction mode, the two inter reference blocks may be modified when calculating the spatial gradient in BIO or may be modified before performing the entire BIO procedure. be done.
a. In one example, the intra- and inter-predicted blocks in each prediction direction are weighted averaged (using the same weighting method as the hybrid inter- and inter-prediction) to derive spatial gradients in the BIO, denoted wAvgBlkL0 and wAvgBlkL1. Generate two new prediction blocks that will be used to
b. In one example, wAvgBlkL0 and wAvgBlkL1 are used to generate a predictive block for the current block, denoted predBlk. Then, wAvgBlkL0, wAvgBlkL1, and predBlk are further used as the BIO procedure, and the improved prediction block generated by BIO is used as the final prediction block.

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が高いピクチャに対しては無効化してもよい。
10. It is proposed that a DMVR or/and BIO flag may be signaled at the block level to indicate whether DMVR and/or BIO is enabled for the block.
a. In one example, such flags may be signaled only in AMVP mode, and in merge mode, such flags may be inherited from spatially and/or temporally neighboring blocks.
b. In one example, whether BIO or/and DMVR is enabled may be determined jointly by a signaled flag and an on-the-fly decision (eg, a SAD-based decision during an early termination phase). A signaled flag can indicate whether the on-the-fly decision is correct.
c. Such flags are not reported for single prediction blocks.
d. Such a flag may not be signaled for bidirectional predictive blocks where the two reference pictures are both previous or subsequent pictures in display order.
e. If POC_diff(curPic, ref0) is not equal to POC_diff(ref1, curPic), such a flag may not be signaled to the bidirectional prediction block, and POC_diff() ref0 and ref1 are the reference pictures of the current picture.
f. Such flags are not signaled for intra-coding blocks. Alternatively, further such flags are not signaled for blocks coded in hybrid intra and inter prediction mode. Alternatively, such a flag is not signaled for the current picture reference block, ie the reference picture is the current picture.
g. Whether a flag is signaled may depend on the block size. For example, if the block size is less than a threshold, no such flag will be signaled. Alternatively, such a flag is not signaled if the width and/or height of the block is greater than or equal to the threshold.
h. Whether a flag is signaled may depend on the accuracy of the motion vector. For example, if the motion vector is of integer precision, no such flag will be signaled.
i. If such a flag is not signaled, it may be implicitly derived to be true or false.
j. A flag may be signaled in the slice header/tile header/PPS/SPS/VPS to indicate whether the method is enabled.
k. Such signaling methods depend on the temporal layer of the picture and may, for example, be disabled for pictures in higher temporal layers.
l. Such signaling methods depend on the QP of the picture and may be disabled, for example, for pictures with high QP.

11. ブロックの高さとブロックのサイズの両方をチェックする代わりに、ブロックの高さのみにしたがってDMVRを有効にするか無効化するかを判定することが提案される。
a. 一例において、DMVRは、ブロックの高さがT1よりも大きい(例えば、T1=4)場合、有効化されてもよい。
b. 一例において、DMVRは、ブロックの高さがT1以上(例えば、T1=8)である場合に有効化されてもよい。
11. Instead of checking both block height and block size, it is proposed to decide whether to enable or disable DMVR according to block height only.
a. In one example, DMVR may be enabled if the block height is greater than T1 (eg, T1=4).
b. In one example, DMVR may be enabled if the block height is greater than or equal to T1 (eg, T1=8).

12. DMVR/BIOに適用される上記方法は、他のデコーダ側動きベクトル導出(DMVD)方法にのみ適用可能であり、例えば、アフィンモードのためのオプティカルフローに基づく予測改良などに適用可能である。
a. 一例において、DMVRおよびBIOの使用判定のための条件チェックは、ブロックの高さが同じ閾値を満たすかどうか等、調整されてもよい。
i. 一例において、DMVRおよびBIOは、ブロックの高さがT1以上(例えば、T1=8)である場合、有効化されてもよい。
ii. 一例において、DMVRおよびBIOは、ブロックの高さがT1よりも大きい(例えば、T1=4)場合、有効化されてもよい。
12. The above method applied to DMVR/BIO is only applicable to other decoder-side motion vector derivation (DMVD) methods, such as optical flow-based prediction improvement for affine modes.
a. In one example, condition checks for determining DMVR and BIO usage may be adjusted, such as whether block heights meet the same threshold.
i. In one example, DMVR and BIO may be enabled if the block height is greater than or equal to T1 (eg, T1=8).
ii. In one example, DMVR and BIO may be enabled if the block height is greater than T1 (eg, T1=4).

5. 実施形態 5. Embodiment

5.1 実施形態#1 5.1 Embodiment #1

Figure 2023134521000014
Figure 2023134521000014

つまり、「cbHeight*cbWidthが64以上である」を削除する。 In other words, "cbHeight*cbWidth is 64 or more" is deleted.

5.2 実施形態#2 5.2 Embodiment #2

Figure 2023134521000015
Figure 2023134521000015

i. 一例 i. One case

8.5.7.4 双方向オプティカルフロー予測処理 8.5.7.4 Bidirectional optical flow prediction processing

この処理への入力は以下の通りである。
- 現在のコーディングブロックの幅および高さを規定する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
The inputs to this process are as follows.
- two variables nCBW and nCBH, defining the width and height of the current coding block;
- two (nCBW+2)×(nCBH+2) luminance prediction sample arrays predSamplesL0 and predSamplesL1,
- prediction list usage flags predFlagL0 and predFlagL1,
- reference indexes refIdxL0 and refIdxL1,
- Bidirectional optical flow utilization flag bdofUtilizationFlag[xIdx][yIdx], where xIdx=0. .. (nCbW>>2)-1, yIdx=0. .. (nCbH>>2)-1

この処理の出力は、輝度予測サンプル値の(nCBW)×(nCBH)アレイpbSamplesである。 The output of this process is an (nCBW) x (nCBH) array pbSamples of luminance prediction sample values.

変数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))に等しく設定される。
The variables bitDepth, shift1, shift2, shift3, shift4, offset4, and mvRefineThres are derived as follows.
- The variable bitDepth is set equal to BitDepth Y.
- The variable shift1 is set equal to Max(2,14-bitDepth).
- The variable shift2 is set equal to Max(8, bitDepth-4).
- The variable shift3 is set equal to Max(5, bitDepth-7).
- The variables shift4 and Max(3,15-bitDepth) are set equal and the variable offset4 is set equal to 1<<(shift4-1).
- The variable mvRefineThres is set equal to 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に等しい)、現在のサブブロックの予測サンプル値は、以下のように導出される。
xIdx=0. .. (nCbW>>2)-1 and yIdx=0. .. If (nCbH>>2)-1, the following applies.
- Set variable xSb equal to (xIdx<<2)+1 and set ySb equal to (yIdx<<2)+1.
- If bdofUtilizationFlag[xSbIdx][yIdx] is equal to FALSE, then x=xSb-1. .. xSb+2, y=ySb-1. .. For ySb+2, the predicted sample values of the current subblock are:
pbSamples[x][y]=Clip3(0, (2 bitDepth )-1, (predSamplesL0[x+1][y+1]+offset2+predSamplesL1[x+1][y+1])>>shift2) (8-852)
- Otherwise (bdofUtilizationFlag[xSbIdx][yIdx] equals TRUE), the predicted sample value of the current sub-block is derived as follows:

- x=xSb-1..xSb+4,y=ySb-1..ySb+4の場合、以下の順序付けられたステップが適用される。 - x=xSb-1. .. xSb+4, y=ySb-1. .. For ySb+4, the following ordered steps apply.

4. 予測サンプルアレイ内の対応するサンプル位置(x,y)の各々の位置(h,v)は、以下のように導出される。
=Clip3(1,nCbW,x) (8-853)
=Clip3(1,nCbH,y) (8-854)
4. The position (h x , v y ) of each corresponding sample position (x, y) in the predicted sample array is derived as follows.
h x =Clip3(1,nCbW,x) (8-853)
v y =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)
5. The variables gradientHL0[x][y], gradientVL0[x][y], gradientHL1[x][y], and gradientVL1[x][y] are derived as follows.
gradientHL0[x][y] = (predSamplesL0[h x +1] [v y ] - predSampleL0[h x -1] [v y ]) >> shift1 (8-855)
gradientVL0[x][y]=(predSampleL0[h x ][v y +1]-predSampleL0[h x ][v y -1])>>shift1 (8-856)
gradientHL1[x][y] = (predSamplesL1[h x +1] [v y ] - predSampleL1[h x -1] [v y ]) >> shift1 (8-857)
gradientVL1[x][y]=(predSampleL1[h x ][v y +1]-predSampleL1[h x ][v y -1])>>shift1 (8-858)

Figure 2023134521000016
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)
- The variables sGx2, sGy2, sGxGy, sGxdI, sGydI are derived as follows.
sGx2=Σ i Σ j (tempH[xSb+i][ySb+j]*tempH[xSb+i][ySb+j])with i,j=-1. .. 4 (8-862)
sGy2=Σ i Σ j (tempV[xSb+i][ySb+j]*tempV[xSb+i][ySb+j])with i,j=-1. .. 4 (8-863)
sGxGy=Σ i Σ j (tempH[xSb+i][ySb+j]*tempV[xSb+i][ySb+j])with i,j-1. .. 4 (8-864)
sGxdI=Σ i Σ j (-tempH[xSb+i][ySb+j]*diff[xSb+i][ySb+j])with i,j=-1. .. 4 (8-865)
sGydI=Σ i Σ j (-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)
- The horizontal and vertical motion offsets of the current subblock are derived as follows:
v x =sGx2>0? Clip3(-mvRefineThres, mvRefineThres, -(sGxdI<<3)>>Floor(Log2(sGx2))): 0 (8-867)
v y =sGy2>0? Clip3 (-mvRefineThres, mvRefineThres, ((sGydI<<3)-((v x *sGxGy m )<<12+v x *sGxGy s )>>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)
- x=xSb-1. .. xSb+2, y=ySb-1. .. For ySb+2, the predicted sample value of the current subblock is derived as follows.
bdofOffset=Round((v x *(gradientHL1[x+1][y+1]-gradientHL0[x+1][y+1]))>>1)+Round((v y *(gradientVL1[x+1][y+1]-gradientVL0[ x+1][ y+1]))>>1) (8-869)
[Ed. (JC): The Round() operation is defined for float inputs. The Round( ) operation seems redundant here because the input is an integer value. Recommender should confirm] pbSamples[x][y]=Clip3(0, (2 bitDepth )-1, (predSamplesL0[x+1][y+1]+offset4+predSamplesL1[x+1][y+1]+bdofOffset) >> shif t4) (8- 870)

ii. 一例 ii. One case

8.5.7.4 双方向オプティカルフロー予測処理 8.5.7.4 Bidirectional optical flow prediction processing

この処理への入力は以下の通りである。
- 現在のコーディングブロックの幅および高さを規定する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
The inputs to this process are as follows.
- two variables nCBW and nCBH, defining the width and height of the current coding block;
- two (nCBW+2)×(nCBH+2) luminance prediction sample arrays predSamplesL0 and predSamplesL1,
- prediction list usage flags predFlagL0 and predFlagL1,
- reference indexes refIdxL0 and refIdxL1,
- Bidirectional optical flow utilization flag bdofUtilizationFlag[xIdx][yIdx], where xIdx=0. .. (nCbW>>2)-1, yIdx=0. .. (nCbH>>2)-1

この処理の出力は、輝度予測サンプル値の(nCBW)×(nCBH)アレイpbSamplesである。 The output of this process is an (nCBW) x (nCBH) array pbSamples of luminance prediction sample values.

変数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))に等しく設定される。
The variables bitDepth, shift1, shift2, shift3, shift4, offset4, and mvRefineThres are derived as follows.
- The variable bitDepth is set equal to BitDepth Y.
- The variable shift1 is set equal to Max(2,14-bitDepth).
- The variable shift2 is set equal to Max(8, bitDepth-4).
- The variable shift3 is set equal to Max(5, bitDepth-7).
- The variables shift4 and Max(3,15-bitDepth) are set equal and the variable offset4 is set equal to 1<<(shift4-1).
- The variable mvRefineThres is set equal to 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に等しい)、現在のサブブロックの予測サンプル値は、以下のように導出される。
xIdx=0. .. (nCbW>>2)-1 and yIdx=0. .. If (nCbH>>2)-1, the following applies.
- Set variable xSb equal to (xIdx<<2)+1 and set ySb equal to (yIdx<<2)+1.
- If bdofUtilizationFlag[xSbIdx][yIdx] is equal to FALSE, then x=xSb-1. .. xSb+2, y=ySb-1. .. For ySb+2, the predicted sample value of the current subblock is derived as follows.
pbSamples[x][y]=Clip3(0, (2 bitDepth )-1, (predSamplesL0[x+1][y+1]+offset2+predSamplesL1[x+1][y+1])>>shift2) (8-852)
- Otherwise (bdofUtilizationFlag[xSbIdx][yIdx] equals TRUE), the predicted sample value of the current sub-block is derived as follows:

- x=xSb-1..xSb+4,y=ySb-1..ySb+4の場合、以下の順序付けられたステップが適用される。 - x=xSb-1. .. xSb+4, y=ySb-1. .. For ySb+4, the following ordered steps apply.

7. 予測サンプルアレイ内の対応するサンプル位置(x,y)の各々の位置(h,v)は、以下のように導出される。
=Clip3(1,nCbW,x) (8-853)
=Clip3(1,nCbH,y) (8-854)
7. The position (h x , v y ) of each corresponding sample position (x, y) in the predicted sample array is derived as follows.
h x =Clip3(1,nCbW,x) (8-853)
v y =Clip3(1,nCbH,y) (8-854)

Figure 2023134521000017
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)
9. The variables temp[x][y], tempH[x][y] and tempV[x][y] are derived as follows.
diff [x] [y] = (predSamplesL0[h x ] [v y ] >> shift2) - (predSamplesL1 [h x ] [v y ] >> 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)
- The variables sGx2, sGy2, sGxGy, sGxdI, sGydI are derived as follows.
sGx2=Σ i Σ j (tempH[xSb+i][ySb+j]*tempH[xSb+i][ySb+j])with i,j=-1. .. 4 (8-862)
sGy2=Σ i Σ j (tempV[xSb+i][ySb+j]*tempV[xSb+i][ySb+j])with i,j=-1. .. 4 (8-863)
sGxGy=Σ i Σ j (tempH[xSb+i][ySb+j]*tempV[xSb+i][ySb+j])with i,j-1. .. 4 (8-864)
sGxdI=Σ i Σ j (-tempH[xSb+i][ySb+j]*diff[xSb+i][ySb+j])with i,j=-1. .. 4 (8-865)
sGydI=Σ i Σ j (-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)
- The horizontal and vertical motion offsets of the current subblock are derived as follows:
v x =sGx2>0? Clip3(-mvRefineThres, mvRefineThres, -(sGxdI<<3)>>Floor(Log2(sGx2))): 0 (8-867)
v y =sGy2>0? Clip3 (-mvRefineThres, mvRefineThres, ((sGydI<<3)-((v x *sGxGy m )<<12+v x *sGxGy s )>>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)
- x=xSb-1. .. xSb+2, y=ySb-1. .. For ySb+2, the predicted sample value of the current subblock is derived as follows.
bdofOffset=Round((v x *(gradientHL1[x+1][y+1]-gradientHL0[x+1][y+1]))>>1)+Round((v y *(gradientVL1[x+1][y+1]-gradientVL0[ x+1][ y+1]))>>1) (8-869)
[Ed. (JC): The Round() operation is defined for float inputs. The Round( ) operation seems redundant here because the input is an integer value. Recommender should confirm] pbSamples[x][y]=Clip3(0, (2 bitDepth )-1, (predSamplesL0[x+1][y+1]+offset4+predSamplesL1[x+1][y+1]+bdofOffset) >> shif t4) (8- 870)

iii. 一例 iii. One case

8.5.7.4 双方向オプティカルフロー予測処理 8.5.7.4 Bidirectional optical flow prediction processing

この処理への入力は以下の通りである。
- 現在のコーディングブロックの幅および高さを規定する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
The inputs to this process are as follows.
- two variables nCBW and nCBH, defining the width and height of the current coding block;
- two (nCBW+2)×(nCBH+2) luminance prediction sample arrays predSamplesL0 and predSamplesL1,
- prediction list usage flags predFlagL0 and predFlagL1,
- reference indexes refIdxL0 and refIdxL1,
- Bidirectional optical flow utilization flag bdofUtilizationFlag[xIdx][yIdx], where xIdx=0. .. (nCbW>>2)-1, yIdx=0. .. (nCbH>>2)-1

この処理の出力は、輝度予測サンプル値の(nCBW)×(nCBH)アレイpbSamplesである。 The output of this process is an (nCBW) x (nCBH) array pbSamples of luminance prediction sample values.

Figure 2023134521000018
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に等しい)、現在のサブブロックの予測サンプル値は、以下のように導出される。
xIdx=0. .. (nCbW>>2)-1 and yIdx=0. .. If (nCbH>>2)-1, the following applies.
- Set variable xSb equal to (xIdx<<2)+1 and set ySb equal to (yIdx<<2)+1.
- If bdofUtilizationFlag[xSbIdx][yIdx] is equal to FALSE, then x=xSb-1. .. xSb+2, y=ySb-1. .. For ySb+2, the predicted sample value of the current subblock is derived as follows.
pbSamples[x][y]=Clip3(0, (2 bitDepth )-1, (predSamplesL0[x+1][y+1]+offset2+predSamplesL1[x+1][y+1])>>shift2) (8-852)
- Otherwise (bdofUtilizationFlag[xSbIdx][yIdx] equals TRUE), the predicted sample value of the current sub-block is derived as follows:

- x=xSb-1..xSb+4,y=ySb-1..ySb+4の場合、以下の順序付けられたステップが適用される。 - x=xSb-1. .. xSb+4, y=ySb-1. .. For ySb+4, the following ordered steps apply.

10. 予測サンプルアレイ内の対応するサンプル位置(x,y)の各々の位置(h,v)は、以下のように導出される。
=Clip3(1,nCbW,x) (8-853)
=Clip3(1,nCbH,y) (8-854)
10. The position (h x , v y ) of each corresponding sample position (x, y) in the predicted sample array is derived as follows.
h x =Clip3(1,nCbW,x) (8-853)
v y =Clip3(1,nCbH,y) (8-854)

Figure 2023134521000019
Figure 2023134521000019

Figure 2023134521000020
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)
- The variables sGx2, sGy2, sGxGy, sGxdI, sGydI are derived as follows.
sGx2=Σ i Σ j (tempH[xSb+i][ySb+j]*tempH[xSb+i][ySb+j])with i,j=-1. .. 4 (8-862)
sGy2=Σ i Σ j (tempV[xSb+i][ySb+j]*tempV[xSb+i][ySb+j])with i,j=-1. .. 4 (8-863)
sGxGy=Σ i Σ j (tempH[xSb+i][ySb+j]*tempV[xSb+i][ySb+j])with i,j-1. .. 4 (8-864)
sGxdI=Σ i Σ j (-tempH[xSb+i][ySb+j]*diff[xSb+i][ySb+j])with i,j=-1. .. 4 (8-865)
sGydI=Σ i Σ j (-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)
- The horizontal and vertical motion offsets of the current subblock are derived as follows:
v x =sGx2>0? Clip3(-mvRefineThres, mvRefineThres, -(sGxdI<<3)>>Floor(Log2(sGx2))): 0 (8-867)
v y =sGy2>0? Clip3 (-mvRefineThres, mvRefineThres, ((sGydI<<3)-((v x *sGxGy m )<<12+v x *sGxGy s )>>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)
- x=xSb-1. .. xSb+2, y=ySb-1. .. For ySb+2, the predicted sample value of the current subblock is derived as follows.
bdofOffset=Round((v x *(gradientHL1[x+1][y+1]-gradientHL0[x+1][y+1]))>>1)+Round((v y *(gradientVL1[x+1][y+1]-gradientVL0[ x+1][ y+1]))>>1) (8-869)
[Ed. (JC): The Round() operation is defined for float inputs. The Round( ) operation seems redundant here because the input is an integer value. Recommender should confirm] pbSamples[x][y]=Clip3(0, (2 bitDepth )-1, (predSamplesL0[x+1][y+1]+offset4+predSamplesL1[x+1][y+1]+bdofOffset) >> shif t4) (8- 870)

図8は、映像処理装置800のブロック図である。装置800は、本明細書に記載の方法の1つ以上を実装するために使用してもよい。装置800は、スマートフォン、タブレット、コンピュータ、IoT(モノのインターネット)受信機等により実施されてもよい。装置800は、1つ以上の処理装置802と、1つ以上のメモリ804と、映像処理ハードウェア806と、を含んでもよい。1つまたは複数の処理装置802は、本明細書に記載される1つ以上の方法を実装するように構成されてもよい。メモリ(複数可)804は、本明細書で説明される方法および技術を実装するために使用されるデータおよびコードを記憶するために使用してもよい。映像処理ハードウェア806は、本明細書に記載される技術をハードウェア回路にて実装するために使用してもよい。映像処理ハードウェア806は、専用ハードウェア、またはグラフィカル処理装置ユニット(GPU)若しくは専用信号処理ブロックの形式で、処理装置802内に部分的にまたは完全に含まれてもよい。 FIG. 8 is a block diagram of a video processing device 800. Apparatus 800 may be used to implement one or more of the methods described herein. Apparatus 800 may be implemented by a smartphone, tablet, computer, Internet of Things (IoT) receiver, or the like. Apparatus 800 may include one or more processing units 802, one or more memories 804, and video processing hardware 806. One or more processing devices 802 may be configured to implement one or more methods described herein. Memory(s) 804 may be used to store data and code used to implement the methods and techniques described herein. Video processing hardware 806 may be used to implement the techniques described herein in hardware circuitry. Video processing hardware 806 may be partially or fully included within processing device 802 in the form of dedicated hardware or a graphical processing unit (GPU) or dedicated signal processing block.

図10は、映像を処理する方法1000のフローチャートである。方法1000は、第1の映像ブロックの特徴の判定(1005)を行うことであって、前記特徴は、前記第1の映像ブロックに関連付けられた参照ブロック間の差を含み、前記差は、絶対変換差の合計(SATD)、平均値分離絶対変換差の合計(MRSATD)、二乗誤差の合計(SSE)、平均値分離二乗誤差の合計(MRSSE)、平均値の差、または勾配値の1つ以上を含む、判定を行うことと、前記第1の映像ブロックの特徴に基づいて、双方向オプティカルフロー(BIO)技法またはデコーダ側動きベクトル改良(DMVR)技法のうちの一方または両方の動作状態を判定すること(1010)であって、前記動作状態は、有効化されているまたは無効化されている、の一方である、判定することと、前記BIO技法または前記DMVR技法のうちの一方または両方の前記動作状態に準拠した前記第1の映像ブロックの処理をさらに行うこと(1015)と、を含む。 FIG. 10 is a flowchart of a method 1000 for processing video. The method 1000 includes determining (1005) a feature of a first video block, the feature including a difference between reference blocks associated with the first video block, the difference being an absolute value. One of the following: Sum of Transformed Differences (SATD), Sum of Mean Separated Absolute Transformed Differences (MRSATD), Sum of Squared Errors (SSE), Sum of Mean Separated Squared Errors (MRSSE), Difference in Means, or Slope Values and determining an operating state of one or both of a bidirectional optical flow (BIO) technique or a decoder-side motion vector refinement (DMVR) technique based on the characteristics of the first video block. determining (1010) the operational state is one of enabled or disabled; and one or both of the BIO technique or the DMVR technique. further processing the first video block in accordance with the operating state of (1015).

図11は、映像を処理する方法1100のフローチャートである。方法1100は、第1の参照ブロックを修正(1105)して第1の修正された参照ブロックを生成し、第2の参照ブロックを修正して第2の修正された参照ブロックを生成することであって、前記第1の参照ブロックおよび前記第2の参照ブロックは、第1の映像ブロックに関連付けられている、生成することと、前記第1の修正された参照ブロックと前記第2の修正された参照ブロックとの間の差を行うこと(1110)であって、前記差は、絶対変換差の合計(SATD)、平均値分離絶対変換差の合計(MRSATD)、二乗誤差の合計(SSE)、平均値分離二乗誤差の合計(MRSSE)、平均値の差、または勾配値の1つ以上を含む、差を行うことと、前記第1の修正された参照ブロックと前記第2の修正された参照ブロックとの間の差に基づいて前記第1の映像ブロックをさらに処理することを行うこと
(1115)と、を含む。
FIG. 11 is a flowchart of a method 1100 for processing video. The method 1100 includes modifying (1105) a first reference block to generate a first modified reference block and modifying a second reference block to generate a second modified reference block. the first reference block and the second reference block are associated with a first video block; performing a difference (1110) between the reference block and the reference block, the difference being the sum of absolute transform differences (SATD), the sum of mean separated absolute transform differences (MRSATD), and the sum of squared errors (SSE). , the first modified reference block and the second modified further processing the first video block based on a difference between the first video block and a reference block (1115).

図12は、映像を処理する方法1200のフローチャートである。前記方法1200は、第1の映像ブロックに関連付けられた第1の参照ブロックの一部分と第2の参照ブロックの一部分との間の差を判定すること(1205)であって、前記差は、絶対変換差の合計(SATD)、平均値分離絶対変換差の合計(MRSATD)、二乗誤差の合計(SSE)、平均値分離二乗誤差の合計(MRSSE)、平均値の差、または勾配値の1つ以上を含む、差を判定することと、前記差に基づいて前記第1の映像ブロックのさらなる処理を行うこと(1210)と、を含む。 FIG. 12 is a flowchart of a method 1200 for processing video. The method 1200 includes determining (1205) a difference between a portion of a first reference block associated with a first video block and a portion of a second reference block, the difference being an absolute value. One of the following: Sum of Transformed Differences (SATD), Sum of Mean Separated Absolute Transformed Differences (MRSATD), Sum of Squared Errors (SSE), Sum of Mean Separated Squared Errors (MRSSE), Difference in Means, or Slope Values and further processing the first video block based on the difference (1210).

図13は、映像を処理する方法1300のフローチャートである。方法1300は、第1の映像ブロックに関連付けられた参照ピクチャを使用して時間的勾配または修正された時間的勾配を判定すること(1305)であって、前記時間的勾配または前記修正された時間的勾配は、前記参照ピクチャ間の差を示す、判定することと、前記差にしたがって双方向オプティカルフロー(BIO)コーディングツールを使用して前記第1の映像ブロックのさらなる処理を行うこと(1310)と、を含む。 FIG. 13 is a flowchart of a method 1300 for processing video. The method 1300 includes determining (1305) a temporal gradient or a modified temporal gradient using a reference picture associated with a first video block, the method comprising: determining a gradient indicative of a difference between the reference pictures; and further processing the first video block using a bidirectional optical flow (BIO) coding tool according to the difference (1310). and, including.

図14は、映像を処理する方法1400のフローチャートである。前記方法1400は、第1の映像ブロックに関連付けられた参照ピクチャを使用して時間的勾配を判定すること(1405)と、修正された時間的勾配を生成するために前記時間的勾配を修正すること(1410)と、前記修正された時間的勾配を使用して前記第1の映像ブロックのさらなる処理を行うこと(1415)と、を含む。 FIG. 14 is a flowchart of a method 1400 for processing video. The method 1400 includes determining 1405 a temporal gradient using a reference picture associated with a first video block and modifying the temporal gradient to generate a modified temporal gradient. further processing the first video block using the modified temporal gradient (1415).

図15は、映像を処理する方法1500のフローチャートである。方法1500は、第1の映像ブロックに関連付けられた第1の相互参照ブロックおよび第2の相互参照ブロックの一方または両方を修正すること(1505)と、前記修正された第1の相互参照ブロックまたは前記修正された第2の相互参照ブロックの一方または両方を使用して、双方向オプティカルフローコーディングツール(BIO)に従った空間的勾配を判定すること(1510)と、前記空間的勾配に基づいて前記第1の映像ブロックのさらなる処理を行うこと(1515)と、を含む。 FIG. 15 is a flowchart of a method 1500 of processing video. Method 1500 includes modifying (1505) one or both of a first cross-reference block and a second cross-reference block associated with a first video block; determining (1510) a spatial gradient according to a bidirectional optical flow coding tool (BIO) using one or both of the modified second cross-reference blocks; further processing the first video block (1515).

図16は、映像を処理する方法1600のフローチャートである。方法1600は、ブロックレベルで信号通知されたフラグが、第1の映像ブロックに対して、デコーダ側動きベクトル改良(DMVR)または双方向オプティカルフロー(BIO)のうちの一方または両方を有効にするべきであることを示す判定を行うこと(1605)と、前記第1の映像ブロックのさらなる処理を行うこと(1610)であって、前記フラグに準拠したDMVRまたはBIOの一方または両方を適用することを含む前記処理を行うことと、を含む。 FIG. 16 is a flowchart of a method 1600 for processing video. Method 1600 determines whether a flag signaled at the block level should enable one or both of decoder-side motion vector refinement (DMVR) or bidirectional optical flow (BIO) for a first video block. (1605) and further processing the first video block (1610), the method comprising applying one or both of DMVR and BIO in accordance with the flag. and performing the processing including.

方法1000、1100、1200、1300、1400、1500、および1600を参照すると、双方向オプティカルフロー(BIO)またはデコーダ側動きベクトル改良(DMVR)の使用を判定するいくつかの例が、本明細書の第4章に記載されている。例えば、第4章で説明したように、参照ブロック間の差を判定してもよく、この差を使用してBIOまたはDMVRを有効化または無効化してもよい。 Referring to methods 1000, 1100, 1200, 1300, 1400, 1500, and 1600, several examples of determining the use of bidirectional optical flow (BIO) or decoder-side motion vector refinement (DMVR) are provided herein. Described in Chapter 4. For example, as described in Section 4, differences between reference blocks may be determined and used to enable or disable BIO or DMVR.

方法1000、1100、1200、1300、1400、1500および1600を参照すると、映像ブロックは、動き情報予測に関するビットストリーム生成規則を使用することによって、ビット効率を達成し得る映像ビットストリームにおいて符号化されてもよい。 Referring to methods 1000, 1100, 1200, 1300, 1400, 1500 and 1600, video blocks are encoded in a video bitstream that may achieve bit efficiency by using bitstream generation rules for motion information prediction. Good too.

前記方法は、BIO技法またはDMVR技法の動作状態がブロックレベルとサブブロックレベルとで異なることを含むことができる。 The method may include operating states of the BIO technique or the DMVR technique being different at a block level and a sub-block level.

前記方法は、前記勾配値、前記勾配値の平均、または前記勾配値の範囲のうちの1つ以上が閾値範囲の中に含まれることを判定することを含み、前記動作状態を判定することが、前記勾配値、前記勾配値の平均、または前記勾配値の範囲が閾値範囲の中に含まれることの判定に基づく。 The method includes determining that one or more of the slope value, the average of the slope values, or the range of slope values is included within a threshold range, and determining the operating condition includes: , based on a determination that the gradient value, the average of the gradient values, or the range of gradient values is included within a threshold range.

前記方法は、動作状態を判定することが、映像パラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、タイルグループヘッダ、またはスライスヘッダにおいて、エンコーダからデコーダに信号通知される情報にさらに基づいて行われることを含むことができる。 The method includes determining an operating state signaled from an encoder to a decoder in a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), a tile group header, or a slice header. The information may further include actions taken based on the information.

前記方法は、SATD、MRSATD、SSEまたはMRSSEに基づいて、第1の映像ブロックの改良された動きベクトルを判定することを含むことができ、改良された動きベクトルに基づいてさらなる処理を行う。 The method may include determining an improved motion vector of the first video block based on SATD, MRSATD, SSE or MRSSE, and performing further processing based on the improved motion vector.

前記方法は、前記改良された動きベクトルをSATDまたはMRSATDに基づいて判定することを含むことができ、前記方法は、前記第1の映像ブロックの各サブブロックに対してSATDまたはMRSATDを判定することと、各サブブロックに対するSATDまたはMRSATDの合計に基づいて、前記第1の映像ブロックに対する前記SATDまたはMRSATDを生成することと、をさらに含み、前記第1の映像ブロックのさらなる処理は、生成されたSATDまたはMRSATDに基づいて行われる。 The method may include determining the refined motion vector based on SATD or MRSATD, the method comprising determining SATD or MRSATD for each sub-block of the first video block. and generating the SATD or MRSATD for the first video block based on the sum of the SATD or MRSATD for each sub-block, the further processing of the first video block comprising: This is done based on SATD or MRSATD.

前記方法は、前記第1の映像ブロックの2つの参照ブロックの平均値の差が閾値よりも大きいことを判定することを含むことができ、前記2つの参照ブロックの前記平均値の差に基づいて、BIOまたはDMVRの一方または両方が無効化された動作状態にある。 The method may include determining that a difference between the average values of two reference blocks of the first video block is greater than a threshold, and based on the difference between the average values of the two reference blocks. , one or both of the BIO or DMVR is in a disabled operating state.

前記方法は、前記第1の映像ブロックのサブブロックのうち、2つの参照サブブロックの平均値の差が閾値よりも大きいことを判定することを含むことができ、前記2つの参照サブブロックの前記平均値の差に基づいて、BIOまたはDMVRの一方または両方が無効化された動作状態にある。 The method may include determining that the difference between the average values of two reference sub-blocks among the sub-blocks of the first video block is greater than a threshold, Based on the difference in average values, one or both of the BIO or DMVR is in a disabled operating state.

前記方法は、前記閾値が予め規定されることを含むことができる。 The method may include predefining the threshold.

前記方法は、前記第1の映像ブロックの寸法を判定することを含むことができ、前記閾値は、前記第1の映像ブロックの前記寸法に基づく。 The method may include determining a size of the first video block, and the threshold is based on the size of the first video block.

前記方法は、前記第1の参照ブロックおよび前記第2の参照ブロックを修正することが、前記第1の参照ブロックから前記第1の参照ブロックの平均を減算することを含むことができる。 The method may include modifying the first reference block and the second reference block including subtracting an average of the first reference block from the first reference block.

前記方法は、前記第1の参照ブロックおよび前記第2の参照ブロックの前記一部分が偶数行を含むことを含むことができる。 The method may include the portions of the first reference block and the second reference block including an even number of rows.

前記方法は、前記第1の参照ブロックおよび前記第2の参照ブロックの前記一部分がコーナーサンプルを含むことを含むことができる。 The method may include the portions of the first reference block and the second reference block including corner samples.

前記方法は、前記第1の参照ブロックおよび前記第2の参照ブロックの前記一部分が、代表的なサブブロックを含むことを含むことができる。 The method may include the portions of the first reference block and the second reference block including representative sub-blocks.

前記方法は、前記代表的なサブブロック間の差を合計し、前記第1の参照ブロックまたは前記第2の参照ブロックの差を生成することを含むことができる。 The method may include summing differences between the representative sub-blocks to generate a difference of the first reference block or the second reference block.

前記方法は、前記差が前記時間的勾配の絶対値の合計に関することを含むことができる。 The method may include that the difference relates to a sum of absolute values of the temporal gradients.

前記方法は、時間的勾配を修正することが、参照ブロック間の平均絶対差が閾値よりも大きいことに基づくことを含むことができる。 The method may include modifying the temporal gradient based on an average absolute difference between the reference blocks being greater than a threshold.

前記方法は、前記閾値が4であることを含むことができる。 The method may include the threshold being four.

前記方法は、時間的勾配を修正することが、参照ブロック間の平均絶対差が閾値未満であることに基づくことを含むことができる。 The method may include modifying the temporal gradient based on a mean absolute difference between the reference blocks being less than a threshold.

前記方法は、前記閾値が20であることを含むことができる。 The method may include the threshold being twenty.

前記方法は、時間的勾配を修正することが、閾値範囲内にある参照ブロック間の平均絶対差に基づくことを含むことができる。 The method may include modifying the temporal slope based on an average absolute difference between reference blocks that is within a threshold range.

前記方法は、前記平均絶対差が閾値よりも大きいことに基づいて、BIOが無効化された動作状態にあることを含むことができる。 The method may include BIO being in a disabled operating state based on the average absolute difference being greater than a threshold.

前記方法は、前記閾値または前記閾値範囲が、VPS、SPS、PPS、ピクチャ、スライス、またはタイルレベルで示されることを含むことができる。 The method may include the threshold value or the threshold range being indicated at a VPS, SPS, PPS, picture, slice, or tile level.

前記方法は、異なるコーディングユニット(CU)、最大コーディングユニット(LCU)、スライス、タイル、またはピクチャごとに、前記閾値または前記閾値範囲が異なることを含むことができる。 The method may include varying the threshold value or the threshold range for different coding units (CUs), maximum coding units (LCUs), slices, tiles, or pictures.

前記方法は、前記閾値または前記閾値範囲が、復号化または符号化された画素値に基づくものであることを含むことができる。 The method may include the threshold or threshold range being based on decoded or encoded pixel values.

前記方法は、前記閾値または前記閾値範囲が参照ピクチャに基づくものであることを含むことができる。 The method may include the threshold or the threshold range being based on a reference picture.

前記方法は、前記空間的勾配を判定することが、各予測方向におけるイントラ予測ブロックおよびインター予測ブロックの重み付け平均を判定することを含むことができる。 The method may include determining the spatial gradient comprising determining a weighted average of intra-predicted blocks and inter-predicted blocks in each prediction direction.

前記方法は、前記フラグが高度動きベクトル予測(AMVP)モードで提供されることと、マージモードにおいて、空間的に近傍のブロックまたは時間的に近傍のブロックの一方または両方から前記フラグを継承することとを含むことができる。 The method includes: providing the flag in an advanced motion vector prediction (AMVP) mode; and inheriting the flag from one or both of a spatially neighboring block or a temporally neighboring block in a merge mode. and can include.

前記方法は、単一予測ブロックのために前記フラグが信号通知されないことを含むことができる。 The method may include the flag not being signaled for a single prediction block.

前記方法は、表示順に前のピクチャまたは後のピクチャである参照ピクチャを使用して、双方向予測ブロックに対して前記フラグを信号通知しないことを含むことができる。 The method may include not signaling the flag for bidirectional predictive blocks using a reference picture that is a previous picture or a subsequent picture in display order.

前記方法は、双方向予測ブロックに対して前記フラグが信号通知されないことを含むことができる。 The method may include not signaling the flag for bi-directionally predicted blocks.

前記方法は、フラグがイントラコーディングされたブロックのために信号通知されないことを含むことができる。 The method may include a flag not being signaled for intra-coded blocks.

前記方法は、ハイブリッドのイントラおよびインター予測モードでコーディングされたブロックに対して前記フラグを信号通知しないことを含むことができる。 The method may include not signaling the flag for blocks coded in a hybrid intra and inter prediction mode.

前記方法は、前記第1の映像ブロックの次元に基づいて前記フラグを信号通知することを含むことができる。 The method may include signaling the flag based on a dimension of the first video block.

前記方法は、フラグがVPS、SPS、またはPPSで信号通知されることを含むことができる。 The method may include flags being signaled at VPS, SPS, or PPS.

前記方法は、前記フラグが、前記第1の映像ブロックに関連付けられたピクチャの時間層に基づくことを含むことができる。 The method may include the flag being based on a temporal layer of a picture associated with the first video block.

前記方法は、前記フラグが、前記第1の映像ブロックに関連付けられたピクチャの量子化パラメータ(QP)に基づくことを含むことができる。 The method may include the flag being based on a quantization parameter (QP) of a picture associated with the first video block.

図17は、本明細書で開示される様々な技術が実装され得る例示的な映像処理システム1700を示すブロック図である。様々な実装形態は、システム1700のモジュールの一部又は全部を含んでもよい。システム1700は、映像コンテンツを受信するための入力ユニット1702を含んでもよい。映像コンテンツは、未加工又は非圧縮フォーマット、例えば、8又は10ビットのマルチコンポーネント画素値で受信されてもよく、又は圧縮又は符号化フォーマットで受信されてもよい。入力ユニット1702は、ネットワークインターフェース、周辺バスインターフェース、又は記憶インターフェースを表してもよい。ネットワークインターフェースの例は、イーサネット(登録商標)、受動光ネットワーク(PON)等の有線インターフェース、およびWi-Fi(登録商標)またはセルラーインターフェース等の無線インターフェースを含む。 FIG. 17 is a block diagram illustrating an example video processing system 1700 in which various techniques disclosed herein may be implemented. Various implementations may include some or all of the modules of system 1700. System 1700 may include an input unit 1702 for receiving video content. The video content may be received in raw or uncompressed format, eg, 8 or 10 bit multi-component pixel values, or in compressed or encoded format. Input unit 1702 may represent a network interface, a peripheral bus interface, or a storage interface. Examples of network interfaces include wired interfaces such as Ethernet, passive optical networks (PON), and wireless interfaces such as Wi-Fi or cellular interfaces.

システム1700は、本明細書に記載される様々なコーディング又は符号化方法を実装することができるコーディングモジュール1704を含んでもよい。コーディングモジュール1704は、入力ユニット1702からコーディングモジュール1704の出力への映像の平均ビットレートを低減して、映像のコーディング表現を生成してもよい。従って、このコーディング技術は、映像圧縮または映像コード変換技術と呼ばれることがある。コーディングモジュール1704の出力は、モジュール1706によって表されるように、記憶されてもよいし、接続された通信を介して送信されてもよい。入力ユニット1702において受信された、記憶された又は通信された映像のビットストリーム(又はコーディング)表現は、モジュール1708によって使用されて、表示インターフェースユニット1710に送信される画素値又は表示可能な映像を生成してもよい。ビットストリーム表現からユーザが見ることができる映像を生成する処理は、映像復元と呼ばれることがある。さらに、特定の映像処理動作を「コーディング」動作又はツールと呼ぶが、コーディングツール又は動作はエンコーダで使用され、コーディングの結果を逆にし対応する復号化ツール又は動作が、デコーダによって行われることが理解されよう。 System 1700 may include a coding module 1704 that can implement various coding or encoding methods described herein. Coding module 1704 may reduce the average bit rate of the video from input unit 1702 to the output of coding module 1704 to generate a coded representation of the video. Therefore, this coding technique is sometimes referred to as a video compression or video transcoding technique. The output of coding module 1704 may be stored or transmitted via a connected communication, as represented by module 1706. The bitstream (or coding) representation of the stored or communicated video received at input unit 1702 is used by module 1708 to generate pixel values or displayable video that is sent to display interface unit 1710. You may. The process of producing user-viewable video from a bitstream representation is sometimes referred to as video restoration. Furthermore, while we refer to certain video processing operations as "coding" operations or tools, it is understood that the coding tools or operations are used at the encoder and that the corresponding decoding tools or operations that reverse the coding result are performed by the decoder. It will be.

周辺バスインターフェースユニットまたは表示インターフェースユニットの例は、ユニバーサルシリアルバス(USB)または高精細マルチメディアインターフェース(HDMI(登録商標))またはディスプレイポート等を含んでもよい。ストレージインターフェースの例は、シリアルアドバンスドテクノロジーアタッチメント(SATA)、PCI、IDEインターフェース等を含む。本明細書に記載される技術は、携帯電話、ノートパソコン、スマートフォン、又はデジタルデータ処理及び/又は映像表示を実施可能な他のデバイス等の様々な電子デバイスに実施されてもよい。 Examples of peripheral bus interface units or display interface units may include a Universal Serial Bus (USB) or a High Definition Multimedia Interface (HDMI) or a Display Port or the like. Examples of storage interfaces include Serial Advanced Technology Attachment (SATA), PCI, IDE interfaces, and the like. The techniques described herein may be implemented in a variety of electronic devices, such as mobile phones, laptops, smartphones, or other devices capable of performing digital data processing and/or video display.

理解されるように、前記開示された技法は、圧縮されている前記コーディングユニットが、前記従来の正方形のブロックまたは半正方形の長方形のブロックとは大きく異なる形状を有する場合、圧縮効率を向上させるために、映像エンコーダまたはデコーダに実施されてもよい。例えば、4×32または32×4サイズのユニットのような長いまたは高いコーディングユニットを使用する新しいコーディングツールは、開示された技術から恩恵を受けることができる。 As will be appreciated, the disclosed technique improves compression efficiency when the coding unit being compressed has a shape significantly different from the conventional square block or half-square rectangular block. It may also be implemented in a video encoder or decoder. For example, new coding tools that use long or tall coding units, such as 4x32 or 32x4 size units, can benefit from the disclosed techniques.

いくつかの実装形態において、映像処理方法は次のように行ってもよい。 In some implementations, the video processing method may be performed as follows.

映像ブロックと前記映像ブロックのビットストリーム表現との間での変換中に、空間的勾配および時間的勾配を計算するフィルタリングの方法を使用し、
前記フィルタリングを使用して前記変換を行う。
ここで、この変換は、映像ブロックの画素値からビットストリーム表現を生成すること、またはビットストリーム表現から画素値を生成することを含む。
using a method of filtering to calculate spatial and temporal gradients during the conversion between a video block and a bitstream representation of the video block;
The filtering is used to perform the transformation.
Here, the transformation includes generating a bitstream representation from the pixel values of the video block, or generating pixel values from the bitstream representation.

いくつかの実施形態において、前記空間的および時間的勾配は、シフトされたサンプル差を使用して算出される。 In some embodiments, the spatial and temporal gradients are calculated using shifted sample differences.

いくつかの実施形態において、前記空間的および時間的勾配は、修正されたサンプルを使用して算出される。 In some embodiments, the spatial and temporal gradients are calculated using modified samples.

前記方法のさらなる詳細は、第4章に記載の項目1に記載されている。 Further details of the method are described in section 1 in section 4.

図18は、映像処理方法の例を示すフローチャートである。前記方法のステップは、本願の第4章の実施例2に記載されている。この方法は、視覚メディアデータの現在のブロックと対応する視覚メディアデータのコーディング表現との間で変換を行うこと(ステップ1805)であって、この現在のブロックを変換することは、双方向オプティカルフロー(BIO)技法またはデコーダ側動きベクトル改良(DMVR)技法の一方または両方を使用することが現在のブロックに対して有効または無効化されるかどうかを判定することを含み、BIO技法またはDMVR技法の使用を判定することは、現在のブロックに関連付けられたコスト基準に基づく、変換を行うことを含む。 FIG. 18 is a flowchart illustrating an example of a video processing method. The steps of the method are described in Example 2 of Chapter 4 of this application. The method includes converting between a current block of visual media data and a corresponding coding representation of the visual media data (step 1805), wherein converting the current block includes bidirectional optical flow. including determining whether use of one or both of the BIO (BIO) technique or the Decoder Side Motion Vector Refinement (DMVR) technique is enabled or disabled for the current block; Determining usage includes performing a transformation based on cost criteria associated with the current block.

図19は、映像処理方法の例を示すフローチャートである。前記方法のステップは、本願の第4章の実施例3に記載されている。この方法は、視覚メディアデータの現在のブロックと対応する前記視覚メディアデータのコーディング表現との間で変換を行うこと(ステップ1905)であって、前記現在のブロックを前記変換することは、デコーダ側動きベクトル改良(DMVR)技法の前記現在のブロックでの使用が有効化されているか無効化されているかを判定することを含み、前記DMVR技法は、平均除去絶対差の合計(MRSAD)コスト基準以外のコスト基準に基づいて前記現在のブロックの動き情報を改良することを含む、変換を行うことを含む。 FIG. 19 is a flowchart illustrating an example of a video processing method. The steps of the method are described in Example 3 of Chapter 4 of this application. The method includes converting between a current block of visual media data and a corresponding coding representation of the visual media data (step 1905), wherein the converting the current block is performed at a decoder side. determining whether use of a motion vector refinement (DMVR) technique in the current block is enabled or disabled, the DMVR technique being based on a method other than a mean removed sum of absolute differences (MRSAD) cost criterion; performing a transformation, including refining the motion information of the current block based on a cost criterion.

図20は、映像処理方法の例を示すフローチャートである。前記方法のステップは、本願の第4章の実施例4に記載されている。この方法は、視覚メディアデータの現在のブロックと対応する前記視覚メディアデータのコーディング表現との間で変換を行うこと(ステップ2005)であって、前記現在のブロックを前記変換することは、双方向オプティカルフロー(BIO)技法またはデコーダ側動きベクトル改良(DMVR)技法の一方または両方を使用することが前記現在のブロックに対して有効または無効化されるかどうかを判定することを含み、前記BIO技法または前記DMVR技法の前記使用を判定することは、前記現在のブロックに関連付けられた1対の参照ブロックの平均値の差が閾値を超えることを計算することに基づく、変換を行うことを含む。 FIG. 20 is a flowchart illustrating an example of a video processing method. The steps of the method are described in Example 4 of Chapter 4 of this application. The method includes converting between a current block of visual media data and a corresponding coding representation of the visual media data (step 2005), wherein the converting the current block includes bidirectionally determining whether using one or both of optical flow (BIO) techniques or decoder-side motion vector refinement (DMVR) techniques is enabled or disabled for the current block; Alternatively, determining the use of the DMVR technique includes performing a transformation based on calculating that a difference in mean values of a pair of reference blocks associated with the current block exceeds a threshold.

図21は、映像処理方法の例を示すフローチャートである。前記方法のステップは、本願の第4章の実施例6に記載されている。前記方法は、第1の参照ブロックを修正して第1の修正された参照ブロックを生成し、第2の参照ブロックを修正して第2の修正された参照ブロックを生成すること(ステップ2105)であって、前記第1の参照ブロックおよび前記第2の参照ブロックの両方は、視覚メディアデータの現在のブロックに関連付けられている、生成することを含む。前記方法は、さらに、前記第1の修正された参照ブロックと前記第2の修正された参照ブロックとの間の差を判定すること(ステップ2110)であって、前記差は、絶対変換差の合計(SATD)、平均値分離絶対変換差の合計(MRSATD)、二乗誤差の合計(SSE)、平均値分離二乗誤差の合計(MRSSE)、平均値の差、または勾配値の1つ以上を含む、判定することを含む。前記方法は、視覚メディアデータの現在のブロックと、対応する視覚メディアデータのコーディング表現との間での変換を行うこと(ステップ2115)であって、前記変換は、前記第1の参照ブロックおよび前記第2の参照ブロックをそれぞれ修正することから生成された、前記第1の修正された参照ブロックと前記第2の修正された参照ブロックとの間の前記差の使用を含む、
変換を行うことを含む。
FIG. 21 is a flowchart illustrating an example of a video processing method. The steps of the method are described in Example 6 of Chapter 4 of this application. The method includes modifying a first reference block to generate a first modified reference block and modifying a second reference block to generate a second modified reference block (step 2105). wherein both the first reference block and the second reference block are associated with a current block of visual media data. The method further includes determining a difference between the first modified reference block and the second modified reference block (step 2110), the difference being an absolute transform difference. Contains one or more of the following: sum (SATD), sum of mean separated absolute transformed differences (MRSATD), sum of squared errors (SSE), sum of mean separated squared errors (MRSSE), difference in means, or slope value. , including determining. The method includes performing a transformation between a current block of visual media data and a corresponding coding representation of visual media data (step 2115), the transformation comprising the first reference block and the first reference block. using the difference between the first modified reference block and the second modified reference block generated from respectively modifying a second reference block;
Including performing transformations.

図22は、映像処理方法の例を示すフローチャートである。前記方法のステップは、本願の第4章の実施例7に記載されている。本方法は、視覚メディアデータの現在のブロックに関連付けられた参照ピクチャを使用して、参照ピクチャ間の差を示す時間的勾配または修正された時間的勾配を判定すること(ステップ2205)であって、前記時間的勾配または前記修正された時間的勾配は、前記参照ピクチャ間の差を表す、判定することを含む。前記方法は、視覚メディアデータの現在のブロックと対応する前記視覚メディアデータのコーディング表現との間で変換を行うこと(ステップ2210)であって、前記変換は、時間的勾配または修正された時間的勾配に部分的に基づいて双方向オプティカルフロー(BIO)技法を使用することを含む、変換を行うことを含む。 FIG. 22 is a flowchart illustrating an example of a video processing method. The steps of the method are described in Example 7 of Chapter 4 of this application. The method includes using reference pictures associated with a current block of visual media data to determine a temporal gradient or modified temporal gradient indicative of a difference between the reference pictures (step 2205). , the temporal gradient or the modified temporal gradient representing a difference between the reference pictures. The method includes performing a transformation between a current block of visual media data and a corresponding coding representation of the visual media data (step 2210), the transformation comprising a temporal gradient or a modified temporal gradient. The method includes performing a transformation, including using bidirectional optical flow (BIO) techniques based in part on the gradient.

図23は、映像処理方法の例を示すフローチャートである。前記方法のステップは、本願の第4章の実施例8に記載されている。前記方法は、第1の映像ブロックまたはそのサブブロックに関連付けられた参照ピクチャを使用して第1の時間的勾配を判定すること(ステップ2305)を含む。前記方法は、第2の映像ブロックまたはそのサブブロックに関連付けられた参照ピクチャを使用して第2の時間的勾配を判定すること(ステップ2310)を含む。前記方法は、修正された第1の時間的勾配および修正された第2の時間的勾配を生成するために、前記第1の時間的勾配の修正および前記第2の時間的勾配の修正を行うこと(ステップ2315)であって、前記第1の映像ブロックに関連付けられた前記第1の時間的勾配の前記修正は、前記第2の映像ブロックに関連付けられた前記第2の時間的勾配の前記修正とは異なる、修正を行うことを含む。前記方法は、前記第1の映像ブロックおよび前記第2の映像ブロックの、これらの対応するコーディング表現への変換を行うこと(ステップ2320)を含む。 FIG. 23 is a flowchart illustrating an example of a video processing method. The steps of the method are described in Example 8 of Chapter 4 of this application. The method includes determining a first temporal gradient using a reference picture associated with a first video block or a sub-block thereof (step 2305). The method includes determining a second temporal gradient using a reference picture associated with a second video block or a subblock thereof (step 2310). The method includes modifying the first temporal gradient and modifying the second temporal gradient to generate a modified first temporal gradient and a modified second temporal gradient. (step 2315), wherein the modification of the first temporal gradient associated with the first video block includes: Including making corrections, which is different from modification. The method includes converting the first video block and the second video block into their corresponding coding representations (step 2320).

図24は、映像処理方法の例を示すフローチャートである。前記方法のステップは、本願の第4章の実施例9に記載されている。前記方法は、前記現在のブロックに関連付けられた第1の相互参照ブロックおよび第2の相互参照ブロックの一方または両方を修正すること(ステップ2405)を含む。本方法は、修正された第1の相互参照ブロックおよび/または前記修正された第2の相互参照ブロックの前記一方または両方を使用することに基づいて、双方向オプティカル(BIO)フロー技法を適用することにしたがって、前記現在のブロックに関連付けられた空間的勾配を判定すること(ステップ2410)を含む。前記方法は、前記現在のブロックおよび対応するコーディング表現の間での変換を行うこと(ステップ2415)であって、前記変換は、前記現在のブロックに関連付けられた前記空間的勾配の使用を含む、変換を行うことを含む。 FIG. 24 is a flowchart illustrating an example of a video processing method. The steps of the method are described in Example 9 of Chapter 4 of this application. The method includes modifying one or both of a first cross-reference block and a second cross-reference block associated with the current block (step 2405). The method applies a bidirectional optical (BIO) flow technique based on using said one or both of a modified first cross-reference block and/or said modified second cross-reference block. In particular, it includes determining a spatial gradient associated with said current block (step 2410). The method includes performing a transformation between the current block and a corresponding coding representation (step 2415), the transformation comprising using the spatial gradient associated with the current block. Including performing transformations.

図25は、映像処理方法の例を示すフローチャートである。前記方法のステップは、本願の第4章の実施例10に記載されている。前記方法は、処理装置によって、ブロックレベルで信号通知されたフラグが、現在のブロックに対して、デコーダ側動きベクトル改良(DMVR)技法または双方向オプティカルフロー(BIO)技法のうちの一方または両方を有効にするべきであることを少なくとも部分的に示す判定を行うこと(ステップ2505)を含む。前記方法は、前記現在のブロックと対応するコーディング表現との間で変換を行うこと(ステップ2510において)であって、前記コーディング表現は、前記DMVR技法および/または前記BIO技法のうちの前記一方または両方を有効にするかどうかを示す前記フラグを含む、変換を行うことを含む。 FIG. 25 is a flowchart illustrating an example of a video processing method. The steps of the method are described in Example 10 of Chapter 4 of this application. The method is characterized in that a flag signaled at the block level causes the processing unit to perform one or both of a decoder-side motion vector refinement (DMVR) technique or a bidirectional optical flow (BIO) technique for the current block. and making a determination indicating at least in part that it should be enabled (step 2505). The method comprises (in step 2510) converting between the current block and a corresponding coding representation, wherein the coding representation is based on the one or more of the DMVR technique and/or the BIO technique. and performing a conversion, including said flag indicating whether both are enabled.

図26は、映像処理方法の例を示すフローチャートである。前記方法のステップは、本願の第4章の実施例11に記載されている。前記方法は、処理装置により、現在のブロックに対してデコーダ側動きベクトル改良(DMVR)技法を有効にするべきであるという判定を行うこと(ステップ2605)であって、前記判定は、前記現在のブロックの高さに排他的に基づく、判定を行うことを含む。前記方法は、前記現在のブロックと対応するコーディング表現との間で変換を行うこと(ステップ2610)を含む。 FIG. 26 is a flowchart illustrating an example of a video processing method. The steps of the method are described in Example 11 of Chapter 4 of this application. The method includes determining (step 2605) that a decoder-side motion vector refinement (DMVR) technique should be enabled for a current block by a processing unit; It involves making a determination based exclusively on the height of the block. The method includes converting between the current block and a corresponding coding representation (step 2610).

図27は、映像処理方法の例を示すフローチャートである。前記方法のステップは、本願の第4章の実施例12に記載されている。この方法は、視覚メディアデータの現在のブロックと対応する視覚メディアデータのコーディング表現との間で変換を行うこと(ステップ2705において)であって、前記変換は、現在のブロックに対して、デコーダ側動きベクトル改良(DMVR)技法または双方向オプティカルフロー(BIO)技法の一方または両方に関連付けられた規則を使用することを含み、前記DMVR技法に関連付けられた規則は、前記BIO技法への適用に準拠しており、前記BIO技法または前記DMVR技法の前記一方または両方の前記使用が有効化されているか無効化されているかを判定することは、前記規則を適用することに基づく、変換を行うことを含む。 FIG. 27 is a flowchart illustrating an example of a video processing method. The steps of the method are described in Example 12 of Chapter 4 of this application. The method includes (at step 2705) converting between a current block of visual media data and a corresponding coding representation of the visual media data, wherein the conversion is performed at a decoder side for the current block. using rules associated with one or both of a motion vector refinement (DMVR) technique or a bidirectional optical flow (BIO) technique, wherein the rules associated with the DMVR technique are compliant with application to the BIO technique. and determining whether said use of said one or both of said BIO technique or said DMVR technique is enabled or disabled includes performing a transformation based on applying said rule. include.

本技術のいくつかの実施形態は、項に基づく形式で説明される。 Some embodiments of the present technology are described in a section-based format.

1. 視覚メディア処理方法であって、
視覚メディアデータの現在のブロックと対応する視覚メディアデータのコーディング表現との間で変換を行うことを含み、
この現在のブロックを変換することは、双方向オプティカルフロー(BIO)技法またはデコーダ側動きベクトル改良(DMVR)技法の一方または両方を使用することが現在のブロックに対して有効または無効化されるかどうかを判定することを含み、
BIO技法またはDMVR技法の使用を判定することは、現在のブロックに関連付けられたコスト基準に基づく、
方法。
1. A visual media processing method, the method comprising:
converting between a current block of visual media data and a corresponding coding representation of visual media data;
Transforming this current block enables or disables the use of one or both of Bidirectional Optical Flow (BIO) techniques or Decoder Side Motion Vector Refinement (DMVR) techniques for the current block. including determining whether
Determining the use of BIO or DMVR techniques is based on cost criteria associated with the current block;
Method.

2. 前記コスト基準は、前記差は、絶対変換差の合計(SATD)、平均値分離絶対変換差の合計(MRSATD)、二乗誤差の合計(SSE)、平均値分離二乗誤差の合計
(MRSSE)、平均値の差、または勾配値の1つ以上に基づく、第1項に記載の方法。
2. The cost criteria are: the sum of absolute transformation differences (SATD), the sum of mean separation absolute transformation differences (MRSATD), the sum of squared errors (SSE), the sum of mean separation squared errors (MRSSE), the average 2. The method of claim 1, based on one or more of a difference in values or a slope value.

3. 前記コスト基準は、前記現在のブロックのサブブロックに関連付けられる、第1~2項のいずれか1項以上に記載の方法。 3. 3. The method of any one or more of clauses 1-2, wherein the cost metric is associated with a sub-block of the current block.

4. サブブロックレベルのコスト基準がブロックレベルのコスト基準と異なる、第3項に記載の方法。 4. 4. The method of clause 3, wherein the sub-block level cost metric is different from the block level cost metric.

5. 前記勾配値、勾配値の平均、または勾配値の範囲の1つ以上が閾値範囲外であると判定されると、前記BIO技法および/またはDMVR技法の適用を無効化すること、
をさらに含む、第1項から第4項のいずれか1項以上に記載の方法。
5. disabling application of the BIO technique and/or DMVR technique when one or more of the slope values, average slope values, or range of slope values is determined to be outside a threshold range;
The method according to any one or more of paragraphs 1 to 4, further comprising:

6. 前記現在のブロックに関連付けられた前記コスト基準が、前記コーディング表現で信号通知される、第1項に記載の方法。 6. 2. The method of claim 1, wherein the cost metric associated with the current block is signaled in the coding representation.

7. 前記コスト基準は、映像パラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、タイルグループヘッダ、またはスライスヘッダで信号通知される、第6項に記載の方法。 7. 7. The method of claim 6, wherein the cost criteria is signaled in a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), a tile group header, or a slice header.

8. 視覚メディア処理方法であって、
視覚メディアデータの現在のブロックと対応する視覚メディアデータのコーディング表現との間で変換を行うことを含み、
この現在のブロックを変換することは、双方向オプティカルフロー(BIO)技法またはデコーダ側動きベクトル改良(DMVR)技法の一方または両方を使用することが現在のブロックに対して有効化または無効化されるかどうかを判定することを含み、
このDMVR技法は、平均除去絶対差の合計(MRSAD)コスト基準以外のコスト基準に基づいて、現在のブロックの動き情報を改良することを含む、
方法。
8. A visual media processing method, the method comprising:
converting between a current block of visual media data and a corresponding coding representation of visual media data;
Transforming this current block to use one or both of Bidirectional Optical Flow (BIO) techniques or Decoder Side Motion Vector Refinement (DMVR) techniques is enabled or disabled for the current block. including determining whether
This DMVR technique includes refining the motion information of the current block based on a cost criterion other than the mean removed sum of absolute differences (MRSAD) cost criterion.
Method.

9. 現在のブロックに関連付けられたコスト基準は、絶対変換差の合計(SATD)、平均値分離絶対変換差の合計(MRSATD)、二乗誤差の合計(SSE)、または平均値分離二乗誤差の合計(MRSSE)のうちの1つ以上に基づく、第8項に記載の方法。 9. The cost criteria associated with the current block can be Sum of Absolute Transformed Differences (SATD), Sum of Mean Separated Absolute Transformed Differences (MRSATD), Sum of Squared Errors (SSE), or Sum of Mean Separated Squared Errors (MRSSE). ).) The method according to clause 8.

10. 前記コスト基準は、前記現在のブロックのサブブロックに関連付けられる、第8~9項のいずれか1項以上に記載の方法。 10. 10. A method according to any one or more of clauses 8-9, wherein the cost metric is associated with a sub-block of the current block.

11. 現在のブロックをサイズM×Nの複数のサブブロックに分割することであって、コスト基準は、複数のサブブロックの各々に関連付けられた動き情報に基づく、分割することと、
複数のサブブロックの各々に対応するコストを生成することと、
をさらに含む、第10項に記載の方法。
11. dividing the current block into a plurality of sub-blocks of size M×N, the cost criterion being based on motion information associated with each of the plurality of sub-blocks;
generating a cost corresponding to each of the plurality of sub-blocks;
11. The method of clause 10, further comprising:

12. 複数のサブブロックの各々に対応するコストの少なくとも1つのサブセットを合計し、現在のブロックに関連付けられた結果としてのコストを生成すること、をさらに含む、第11項に記載の方法。 12. 12. The method of clause 11, further comprising summing at least one subset of costs corresponding to each of the plurality of sub-blocks to generate a resulting cost associated with the current block.

13. 視覚メディア処理方法であって、
視覚メディアデータの現在のブロックと対応する視覚メディアデータのコーディング表現との間で変換を行うことを含み、
この現在のブロックを変換することは、双方向オプティカルフロー(BIO)技法またはデコーダ側動きベクトル改良(DMVR)技法の一方または両方を使用することが現在のブロックに対して有効または無効化されるかどうかを判定することを含み、
BIO技法またはDMVR技法の使用を判定することは、現在のブロックに関連付けられた1対の参照ブロックの平均値の差が閾値を超えることを計算することに基づく、
方法。
13. A visual media processing method, the method comprising:
converting between a current block of visual media data and a corresponding coding representation of visual media data;
Transforming this current block enables or disables the use of one or both of Bidirectional Optical Flow (BIO) techniques or Decoder Side Motion Vector Refinement (DMVR) techniques for the current block. including determining whether
Determining the use of the BIO technique or the DMVR technique is based on calculating that the difference in mean values of a pair of reference blocks associated with the current block exceeds a threshold;
Method.

14. 前記閾値は第1の閾値であり、さらに、
前記現在のブロックの1つのサブブロックに関連付けられた1対の参照サブブロックの平均値の差が第2の閾値を超えた場合、前記BIO技法および/または前記DMVR技法の適用を無効化することを含む、第13項に記載の方法。
14. The threshold value is a first threshold value, and further,
disabling application of the BIO technique and/or the DMVR technique if a difference in mean values of a pair of reference subblocks associated with one subblock of the current block exceeds a second threshold; 14. The method of claim 13, comprising:

15. 前記第1の閾値および/または前記第2の閾値は、予め規定された数である、第14項に記載の方法。 15. 15. The method according to clause 14, wherein the first threshold and/or the second threshold are predefined numbers.

16. 前記第1の閾値および/または前記第2の閾値は、前記現在のブロックの寸法に基づく、項目14に記載の方法。 16. 15. The method of item 14, wherein the first threshold and/or the second threshold are based on dimensions of the current block.

17. 視覚メディア処理方法であって、
第1の参照ブロックを修正して第1の修正された参照ブロックを生成し、第2の参照ブロックを修正して第2の修正された参照ブロックを生成することであって、前記第1の参照ブロックおよび前記第2の参照ブロックの両方が、視覚メディアデータの現在のブロックに関連付けられている、修正することと、
前記第1の修正された参照ブロックと前記第2の修正された参照ブロックとの間の差を判定することであって、前記差は、絶対変換差の合計(SATD)、平均値分離絶対変換差の合計(MRSATD)、二乗誤差の合計(SSE)、平均値分離二乗誤差の合計(MRSSE)、平均値の差、または勾配値の1つ以上を含む、差を判定することと、
視覚メディアデータの現在のブロックと、対応する視覚メディアデータのコーディング表現との間での変換を行うことであって、前記変換は、前記第1の参照ブロックおよび前記第2の参照ブロックをそれぞれ修正することから生成された前記第1の修正された参照ブロックと前記第2の修正された参照ブロックとの間の前記差の使用を含む、変換を行うことと、
を含む方法。
17. A visual media processing method, the method comprising:
modifying a first reference block to generate a first modified reference block; modifying a second reference block to generate a second modified reference block; modifying, wherein both the reference block and the second reference block are associated with a current block of visual media data;
determining a difference between the first modified reference block and the second modified reference block, the difference being a sum of absolute transform differences (SATD), a mean separated absolute transform; determining a difference, including one or more of a sum of differences (MRSATD), a sum of squared errors (SSE), a sum of mean separated squared errors (MRSSE), a difference in means, or a slope value;
performing a transformation between a current block of visual media data and a corresponding coding representation of visual media data, the transformation modifying the first reference block and the second reference block, respectively; performing a transformation including using the difference between the first modified reference block and the second modified reference block generated from
method including.

18. 前記第1の参照ブロックと塩基第2の参照ブロックを前記修正することは、
前記第1の参照ブロックに含まれるサンプル値に基づいて第1の算術平均と、前記第2の参照ブロックに含まれるサンプル値に基づいて第2の算術平均を算出することと、
前記第1の参照ブロックに含まれるサンプルから前記第1の算術平均を減算し、前記第2の参照ブロックに含まれるサンプルから前記第2の算術平均を減算することと、を含む、第17項に記載の方法。
18. The modifying the first reference block and the base second reference block comprises:
Calculating a first arithmetic mean based on sample values included in the first reference block and a second arithmetic mean based on sample values included in the second reference block;
Clause 17, comprising subtracting the first arithmetic mean from samples included in the first reference block and subtracting the second arithmetic mean from samples included in the second reference block. The method described in.

19. 前記第1の算術平均および前記第2の算術平均は、前記第1の参照ブロックおよび前記第2の参照ブロックにそれぞれ含まれるサンプルのサブセットに基づく、第18項に記載の方法。 19. 19. The method of clause 18, wherein the first arithmetic mean and the second arithmetic mean are based on a subset of samples included in the first reference block and the second reference block, respectively.

20. 前記第1の参照ブロックおよび/または前記第2の参照ブロックは、現在のブロックに関連付けられたサブブロックである、第17~19項のいずれか1項以上に記載の方法。 20. 20. The method according to any one or more of clauses 17-19, wherein the first reference block and/or the second reference block are sub-blocks associated with the current block.

21. 視覚メディア処理方法であって、
視覚メディアデータの現在のブロックに関連付けられた参照ピクチャを使用して、参照ピクチャ間の差を示す時間的勾配または修正された時間的勾配を判定することであって、前記時間的勾配または前記修正された時間的勾配は、前記参照ピクチャ間の差を表す、判定することと、
視覚メディアデータの現在のブロックと対応する前記視覚メディアデータのコーディング表現との間で変換を行うことであって、前記変換は、時間的勾配または修正された時間的勾配に部分的に基づいて双方向オプティカルフロー(BIO)技法を使用することを含む、変換を行うことと、を含む、
方法。
21. A visual media processing method, the method comprising:
using a reference picture associated with a current block of visual media data to determine a temporal gradient or a modified temporal gradient indicative of a difference between the reference pictures, the temporal gradient or the modification determining that the determined temporal gradient represents a difference between the reference pictures;
performing a transformation between a current block of visual media data and a corresponding coded representation of said visual media data, said transformation based in part on a temporal gradient or a modified temporal gradient; performing a transformation, including using a directional optical flow (BIO) technique;
Method.

22. 時間的勾配または修正された時間的勾配が閾値以下であることを判定することに応じて、BIO技法を早期に終了させること、をさらに含む、第21項に記載の方法。 22. 22. The method of clause 21, further comprising terminating the BIO technique early in response to determining that the temporal slope or modified temporal slope is less than or equal to a threshold.

23. 時間的勾配または修正された勾配の絶対値の合計を計算するために使用されるサンプルの数に基づいて閾値を調整すること、をさらに含む、第22項に記載の方法。 23. 23. The method of clause 22, further comprising adjusting the threshold based on the number of samples used to calculate the sum of absolute values of the temporal slope or modified slope.

24. 前記方法は、前記差が前記時間的勾配の絶対値の合計に関することを含む、第21~23項のうちのいずれか1項以上に記載の方法。 24. 24. The method according to any one or more of clauses 21 to 23, wherein the difference relates to a sum of absolute values of the temporal gradients.

25. 前記参照ピクチャ間の前記差が、第1の参照ピクチャの第1の部分と第2の参照ピクチャの第2の部分との間の差に対応する、第21~24項のいずれか1項以上に記載の方法。 25. any one or more of clauses 21 to 24, wherein the difference between the reference pictures corresponds to a difference between a first part of a first reference picture and a second part of a second reference picture; The method described in.

26. 前記参照ピクチャは、前記現在のブロックのサブブロックに関連付けられる、第21~25項のいずれか1項以上に記載の方法。 26. 26. A method according to any one or more of clauses 21-25, wherein the reference picture is associated with a sub-block of the current block.

27. 視覚メディア処理方法であって、
第1の映像ブロックまたはそのサブブロックに関連付けられた参照ピクチャを使用して第1の時間的勾配を判定することと、
第2の映像ブロックまたはそのサブブロックに関連付けられた参照ピクチャを使用して第2の時間的勾配を判定することと、
修正された第1の時間的勾配および修正された第2の時間的勾配を生成するために、前記第1の時間的勾配の修正および前記第2の時間的勾配の修正を行うことであって、前記第1の映像ブロックに関連付けられた前記第1の時間的勾配の前記修正は、前記第2の映像ブロックに関連付けられた前記第2の時間的勾配の前記修正とは異なる、修正を行うことと、
前記第1の映像ブロックおよび前記第2の映像ブロックの、これらに対応するコーディング表現への変換を行うことと、を含む、方法。
27. A visual media processing method, the method comprising:
determining a first temporal gradient using a reference picture associated with the first video block or a sub-block thereof;
determining a second temporal gradient using a reference picture associated with the second video block or a sub-block thereof;
modifying the first temporal gradient and modifying the second temporal gradient to generate a modified first temporal gradient and a modified second temporal gradient; , the modification of the first temporal gradient associated with the first video block performs a modification that is different from the modification of the second temporal gradient associated with the second video block. And,
converting the first video block and the second video block into corresponding coding representations.

28. 前記第1の時間的勾配の前記修正および/または前記第2の時間的勾配の前記修正は、前記第1の映像ブロックおよび/または前記第2の映像ブロックに関連付けられた前記参照ピクチャ間の平均絶対差が閾値よりも大きいことに条件付きで基づく、第27項に記載の方法。 28. The modification of the first temporal gradient and/or the modification of the second temporal gradient is an average between the reference pictures associated with the first video block and/or the second video block. 28. The method of clause 27, conditionally based on the absolute difference being greater than a threshold.

29. 前記閾値は4である、第28項に記載の方法。 29. 29. The method of clause 28, wherein the threshold is four.

30. 前記第1の時間的勾配の前記修正および/または前記第2の時間的勾配の前記修正は、前記第1の映像ブロックおよび/または前記第2の映像ブロックに関連付けられた前記参照ピクチャ間の平均絶対差が閾値より小さいことに条件付きで基づく、第27項に記載の方法。 30. The modification of the first temporal gradient and/or the modification of the second temporal gradient is an average between the reference pictures associated with the first video block and/or the second video block. 28. The method of clause 27, conditionally based on the absolute difference being less than a threshold.

31. 前記閾値は20である、第30項に記載の方法。 31. 31. The method of clause 30, wherein the threshold is 20.

32. 前記第1の時間的勾配の前記修正および/または前記第2の時間的勾配の前記修正は、前記第1の映像ブロックおよび/または前記第2の映像ブロックに関連付けられた前記参照ピクチャ間の平均絶対差が閾値範囲内にあることに条件付きで基づく、第27項に記載の方法。 32. The modification of the first temporal gradient and/or the modification of the second temporal gradient is an average between the reference pictures associated with the first video block and/or the second video block. 28. The method of clause 27, conditionally based on the absolute difference being within a threshold range.

33. 前記第1の映像ブロックおよび/または前記第2の映像ブロックに関連付けられた前記参照ピクチャの間の平均絶対差が閾値よりも大きいことに基づいて、前記第1の映像ブロックおよび/または前記第2の映像ブロックに対して双方向オプティカルフロー(BIO)技法を用いることを無効化すること、をさらに含む、第27~32項のいずれかに記載の方法。 33. the first video block and/or the second video block based on the average absolute difference between the reference pictures associated with the first video block and/or the second video block being greater than a threshold; 33. The method of any of clauses 27-32, further comprising disabling the use of bidirectional optical flow (BIO) techniques for video blocks of.

34. 前記閾値または前記閾値範囲は、前記第1の映像ブロックおよび/または前記第2の映像ブロックに関連付けられたVPS、SPS、PPS、ピクチャ、スライス、またはタイルレベルで示される、第27~33項のいずれか1項以上に記載の方法。 34. 34. The threshold value or the threshold range is indicated at the VPS, SPS, PPS, picture, slice, or tile level associated with the first video block and/or the second video block. The method described in any one or more of the items.

35. 前記閾値または前記閾値範囲は、暗黙のうちに予め規定されたパラメータである、第27~33項のいずれか1項以上に記載の方法。 35. 34. The method according to any one or more of clauses 27 to 33, wherein the threshold value or the threshold value range is an implicitly predefined parameter.

36. 前記閾値または前記閾値範囲は、第1の映像ブロックおよび/または第2の映像ブロックに関連付けられた異なるコーディングユニット(CU)、最大コーディングユニット(LCU)、スライス、タイル、またはピクチャごとに異なる、第27~33項のいずれか1項以上に記載の方法。 36. The threshold value or the threshold range may be different for different coding units (CUs), maximum coding units (LCUs), slices, tiles, or pictures associated with the first video block and/or the second video block. The method according to any one or more of items 27 to 33.

37. 前記閾値または前記閾値範囲は、前記第1の映像ブロックおよび/または前記第2の映像ブロックに関連付けられた復号化または符号化された画素値に基づく、第27~33項のいずれか1項以上に記載の方法。 37. The threshold value or the threshold range is based on decoded or encoded pixel values associated with the first video block and/or the second video block, and is based on any one or more of items 27 to 33. The method described in.

38. 第1の参照ピクチャのセットの閾値または閾値範囲が、第2の参照ピクチャのセットの前記閾値または前記閾値範囲と異なる、第27~33項のいずれか1項以上に記載の方法。 38. 34. A method according to any one or more of clauses 27 to 33, wherein the threshold or threshold range of a first set of reference pictures is different from the threshold or threshold range of a second set of reference pictures.

39. 前記第1の時間的勾配の前記修正および/または前記第2の時間的勾配の前記修正は、前記第1の映像ブロックおよび/または前記第2の映像ブロックに関連付けられた前記参照ピクチャの平均絶対差が閾値よりも大きいことに条件付きで基づく、第27項に記載の方法。 39. The modification of the first temporal gradient and/or the modification of the second temporal gradient may be based on the average absolute value of the reference pictures associated with the first video block and/or the second video block. 28. The method of clause 27, conditionally based on the difference being greater than a threshold.

40. 前記閾値は40である、項目39に記載の方法。 40. 40. The method of item 39, wherein the threshold is 40.

41. 前記第1の時間的勾配の前記修正および/または前記第2の時間的勾配の前記修正は、前記第1の映像ブロックおよび/または前記第2の映像ブロックに関連付けられた前記参照ピクチャの平均絶対差が閾値より小さいことに条件付きで基づく、第27項に記載の方法。 41. The modification of the first temporal gradient and/or the modification of the second temporal gradient may be based on the average absolute value of the reference pictures associated with the first video block and/or the second video block. 28. The method of clause 27, conditionally based on the difference being less than a threshold.

42. 前記閾値は100である、第41項に記載の方法。 42. 42. The method of clause 41, wherein the threshold is 100.

43. 前記第1の時間的勾配の前記修正および/または前記第2の時間的勾配の前記修正は、前記第1の映像ブロックおよび/または前記第2の映像ブロックに関連付けられた前記参照ピクチャの平均絶対差が閾値範囲内に含まれることに条件付きで基づく、第27項に記載の方法。 43. The modification of the first temporal gradient and/or the modification of the second temporal gradient may be based on the average absolute value of the reference pictures associated with the first video block and/or the second video block. 28. The method of clause 27, conditionally based on the difference being within a threshold range.

44. 前記第1の時間的勾配の前記修正および/または前記第2の時間的勾配の前記修正は、前記第1の映像ブロックおよび/または前記第2の映像ブロックに関連付けられた前記参照ピクチャの平均絶対差が前記第1の映像ブロックおよび/または前記第2の映像ブロックに乗算係数を掛けた値に関連付けられた参照ピクチャの平均絶対差よりも大きいことに条件付きで基づく、第27項に記載の方法。 44. The modification of the first temporal gradient and/or the modification of the second temporal gradient may be based on the average absolute value of the reference pictures associated with the first video block and/or the second video block. 28. Conditionally based on the difference being greater than the average absolute difference of reference pictures associated with the first video block and/or the second video block multiplied by a multiplication factor. Method.

45. 前記第1の時間的勾配の前記修正および/または前記第2の時間的勾配の前記修正は、前記第1の映像ブロックおよび/または前記第2の映像ブロックに関連付けられた前記参照ピクチャの平均絶対差が前記第1の映像ブロックおよび/または前記第2の映像ブロックに乗算係数を掛けた値に関連付けられた参照ピクチャの平均絶対差より小さいことに条件付きで基づく、第27項に記載の方法。 45. The modification of the first temporal gradient and/or the modification of the second temporal gradient may be based on the average absolute value of the reference pictures associated with the first video block and/or the second video block. The method of clause 27, conditionally based on the difference being less than the average absolute difference of reference pictures associated with the first video block and/or the second video block multiplied by a multiplication factor. .

46. 前記乗算係数が4.5である、第44~45項のいずれか1項以上に記載の方法。 46. The method according to any one or more of items 44 to 45, wherein the multiplication factor is 4.5.

47. 視覚メディア処理方法であって、
前記現在のブロックに関連付けられた第1の相互参照ブロックおよび第2の相互参照ブロックの一方または両方を修正することと、
修正された第1の相互参照ブロックおよび/または前記修正された第2の相互参照ブロックの前記一方または両方を使用することに基づいて、双方向オプティカル(BIO)フロー技法を適用することにしたがって、前記現在のブロックに関連付けられた空間的勾配を判定することと、
前記現在のブロックおよび対応するコーディング表現の間での変換を行うことであって、前記変換は、前記現在のブロックに関連付けられた前記空間的勾配の使用を含む、変換を行うことと、を含む、方法。
47. A visual media processing method, the method comprising:
modifying one or both of a first cross-reference block and a second cross-reference block associated with the current block;
in accordance with applying a Bidirectional Optical (BIO) flow technique based on using said one or both of said modified first cross-reference block and/or said modified second cross-reference block; determining a spatial gradient associated with the current block;
performing a transformation between the current block and a corresponding coding representation, the transformation comprising using the spatial gradient associated with the current block; ,Method.

48. 前記空間的勾配を判定することが、
現在のブロックに関連付けられたイントラ予測ブロックとインター予測ブロックとの重み付け平均に基づいて、2つの予測ブロックを生成することと、
現在のブロックに関連付けられた前記空間的勾配を判定するために2つの予測ブロックを使用することと、を含む、第47項に記載の方法。
48. Determining the spatial gradient comprises:
generating two predictive blocks based on a weighted average of an intra-predicted block and an inter-predicted block associated with the current block;
48. The method of clause 47, comprising: using two predictive blocks to determine the spatial gradient associated with a current block.

49. 前記BIO技法を使用して、前記2つの予測ブロックから改良された予測ブロックを生成することと、
前記現在のブロックのサブブロックおよび/またはサンプルを予測するための改良された予測ブロックを使用することと、をさらに含む、第48項に記載の方法。
49. generating an improved prediction block from the two prediction blocks using the BIO technique;
49. The method of clause 48, further comprising: using an improved prediction block to predict subblocks and/or samples of the current block.

50. 視覚メディア処理方法であって、
処理装置によって、ブロックレベルで信号通知されたフラグが、現在のブロックに対して、デコーダ側動きベクトル改良(DMVR)技法または双方向オプティカルフロー(BIO)技法のうちの一方または両方を有効にするべきであることを少なくとも部分的に示す判定を行うことと、
前記現在のブロックと対応するコーディング表現との間で変換を行うことであって、前記コーディング表現は、前記DMVR技法および/または前記BIO技法のうちの前記一方または両方を有効にするかどうかを示す前記フラグを含む、変換を行うことと、を含む、
方法。
50. A visual media processing method, the method comprising:
A flag signaled at the block level by the processing unit to enable one or both of decoder-side motion vector refinement (DMVR) techniques or bidirectional optical flow (BIO) techniques for the current block. making a determination that at least partially indicates that
performing a transformation between said current block and a corresponding coding representation, said coding representation indicating whether said one or both of said DMVR technique and/or said BIO technique is enabled; and performing a transformation that includes the flag.
Method.

51. 前記フラグは、前記現在のブロックに対して高度動きベクトル予測(AMVP)技法が有効化されていることを検出することに応じて、コーディング表現で信号通知される、第50項記載の方法。 51. 51. The method of clause 50, wherein the flag is signaled in a coding expression in response to detecting that advanced motion vector prediction (AMVP) techniques are enabled for the current block.

52. 前記フラグは、現在のブロックに対してマージモードが有効化されていることを検出することに応じて、現在のブロックに関連付けられた空間的に近傍のブロックまたは時間的に近傍のブロックの一方または両方から導出される、第50項記載の方法。 52. The flag determines whether one of the spatially neighboring blocks or temporally neighboring blocks associated with the current block or 51. The method of clause 50, which is derived from both.

53. 前記フラグは、選択されたマージ候補が空間的マージ候補である場合、選択されたマージ候補から継承される、第52項の方法。 53. 53. The method of clause 52, wherein the flag is inherited from a selected merge candidate if the selected merge candidate is a spatial merge candidate.

54. 前記フラグは、選択された融合候補が時間的融合候補である場合、前記選択された融合候補から継承される、第52項に記載の方法。 54. 53. The method of clause 52, wherein the flag is inherited from the selected fusion candidate if the selected fusion candidate is a temporal fusion candidate.

55. 前記現在のブロックに関連付けられたコスト基準を使用して、DMVR技法および/またはBIO技法の前記一方または両方が有効化されているかどうかを判定し、前記コーディング表現で信号通知された前記フラグを使用して、このような判定が正確であるかどうかを示す、第50項に記載の方法。 55. determining whether the one or both of DMVR techniques and/or BIO techniques are enabled using a cost metric associated with the current block and using the flag signaled in the coding expression; 51. The method of clause 50, wherein the determination is accurate.

56. 前記現在のブロックに関連付けられたコスト基準は、前記現在のブロックの2つの参照ブロック間の絶対差の合計(SAD)であり、コスト基準が閾値よりも大きい場合、DMVR技法および/またはBIO技法の一方または両方が有効化されているという判定が適用される、第55項に記載の方法。 56. The cost metric associated with the current block is the sum of absolute differences (SAD) between the two reference blocks of the current block, and if the cost metric is greater than a threshold, the DMVR technique and/or the BIO technique 56. The method of clause 55, wherein a determination that one or both are enabled is applied.

57. 前記現在のブロックが単一予測ブロックであると判定されると、コーディング表現におけるフラグの信号通知をスキップすること、をさらに含む、第50項に記載の方法。 57. 51. The method of clause 50, further comprising skipping signaling a flag in a coding representation if the current block is determined to be a single prediction block.

58. 前記現在のブロックが、両方とも表示順に前または後ろにある1対の参照ピクチャに関連付けられた双方向予測ブロックであると判定されると、コーディング表現におけるフラグの信号通知をスキップする、ことをさらに含む、第50項に記載の方法。 58. skipping signaling a flag in the coding representation when the current block is determined to be a bidirectional predictive block associated with a pair of reference pictures both preceding or following in display order; 51. The method of paragraph 50, comprising:

59. 前記現在のブロックが、前記現在のブロックに関連付けられた現在のピクチャからの異なるピクチャオーダカウント(POC)距離を有する1対の参照ピクチャに関連付けられた双方向予測ブロックであると判定されると、前記コーディング表現における前記フラグの信号通知をスキップする、ことをさらに含む、第50項に記載の方法。 59. When it is determined that the current block is a bi-directional predictive block associated with a pair of reference pictures having different picture order count (POC) distances from the current picture associated with the current block; 51. The method of clause 50, further comprising skipping signaling of the flag in the coding representation.

60. 前記現在のブロックがイントラコーディングされたブロックであると判定されると、前記コーディング表現におけるフラグの信号通知をスキップすること、をさらに含む、第50項に記載の方法。 60. 51. The method of clause 50, further comprising skipping signaling a flag in the coding representation if the current block is determined to be an intra-coded block.

61. 前記現在のブロックがハイブリッドイントラおよびインター予測ブロックであると判定されると、前記コーディング表現における前記フラグの信号通知をスキップすること、をさらに含む、第50項に記載の方法。 61. 51. The method of clause 50, further comprising skipping signaling the flag in the coding representation if the current block is determined to be a hybrid intra- and inter-predicted block.

62. 前記現在のブロックが参照ブロックと同じピクチャの少なくとも1つのブロックに関連付けられていると判定されると、前記コーディング表現における前記フラグの信号通知をスキップすること、をさらに含む、第50項に記載の方法。 62. 51. The method of claim 50, further comprising skipping signaling of the flag in the coding representation when the current block is determined to be associated with at least one block of the same picture as a reference block. Method.

63. 前記現在のブロックの寸法が閾値より小さいと判定されると、前記コーディング表現における前記フラグの信号通知をスキップすること、をさらに含む、第50項に記載の方法。 63. 51. The method of clause 50, further comprising skipping signaling the flag in the coding expression if the current block size is determined to be less than a threshold.

64. 前記現在のブロックの寸法が閾値以上であると判定されると、前記コーディング表現における前記フラグの信号通知をスキップすること、をさらに含む、第50項に記載の方法。 64. 51. The method of clause 50, further comprising skipping signaling the flag in the coding representation if the current block size is determined to be greater than or equal to a threshold.

65. 前記現在のブロックに関連付けられた動き情報の精度が整数精度であると判定されると、前記コーディング表現における前記フラグの信号通知をスキップすること、をさらに含む、第50項に記載の方法。 65. 51. The method of clause 50, further comprising skipping signaling the flag in the coding representation if the precision of motion information associated with the current block is determined to be integer precision.

66. 前記現在のブロックを含むピクチャに関連付けられた時間層が閾値を超えていると判定されると、前記コーディング表現における前記フラグの信号通知をスキップすること、をさらに含む、第50項に記載の方法。 66. 51. The method of clause 50, further comprising skipping signaling of the flag in the coding representation when a temporal layer associated with a picture containing the current block is determined to exceed a threshold. .

67. 前記現在のブロックに関連付けられた量子化パラメータが閾値を超えていると判定されると、前記コーディング表現における前記フラグの信号通知をスキップすること、をさらに含む、第50項に記載の方法。 67. 51. The method of clause 50, further comprising skipping signaling the flag in the coding representation when a quantization parameter associated with the current block is determined to exceed a threshold.

68. 前記コーディング表現における前記フラグの信号通知がスキップされることを判定することに応じて、前記フラグの値を真または偽として導出すること、をさらに含む、第50項~第67項のいずれか1項以上に記載の方法。 68. Any one of paragraphs 50-67, further comprising deriving a value of the flag as true or false in response to determining that signaling of the flag in the coding representation is skipped. The method described above.

69. フラグが真であると判定されると、前記DMVR技法または前記BIO技法の一方または両方を有効化すること、をさらに含む、第50項~第67項のいずれか1項以上に記載の方法。 69. 68. The method of any one or more of paragraphs 50-67, further comprising enabling one or both of the DMVR technique or the BIO technique if a flag is determined to be true.

70. フラグが偽であると判定されると、前記DMVR技法または前記BIO技法の一方または両方を無効化すること、をさらに含む、第50項~第67項のいずれか1項以上に記載の方法。 70. 68. The method of any one or more of paragraphs 50-67, further comprising disabling one or both of the DMVR technique or the BIO technique if a flag is determined to be false.

71. 前記フラグが真であると判定されると、少なくとも1つのコスト基準に基づいて、前記DMVR技法または前記BIO技法の一方または両方を有効化または無効化することを正しいものとして判定すること、をさらに含む、第50項~第67項のいずれか1項以上に記載の方法。 71. If the flag is determined to be true, determining that it is correct to enable or disable one or both of the DMVR technique or the BIO technique based on at least one cost criterion; The method according to any one or more of paragraphs 50 to 67, comprising:

72. 前記フラグが偽であると判定されると、少なくとも1つのコスト基準に基づいて、前記DMVR技法または前記BIO技法の一方または両方を有効化または無効化することを正しくないものとして判定すること、をさらに含む、第50項~第67項のいずれか1項以上に記載の方法。 72. determining that it is incorrect to enable or disable one or both of the DMVR technique or the BIO technique based on at least one cost criterion if the flag is determined to be false; The method according to any one or more of paragraphs 50 to 67, further comprising.

73. 前記フラグが、スライスヘッダ、タイルヘッダ、映像パラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)で信号通知される、第50項~第67項のいずれか1項以上に記載の方法。 73. Any one or more of paragraphs 50 to 67, wherein the flag is signaled in a slice header, tile header, video parameter set (VPS), sequence parameter set (SPS), or picture parameter set (PPS). The method described in.

74. 前記第1のフラグは、前記DMVR技法が無効化されているかどうかを示すように信号通知され、前記第2のフラグは、BIO技法が無効化されているかどうかを示すように信号通知される、第50項に記載の方法。 74. The first flag is signaled to indicate whether the DMVR technique is disabled, and the second flag is signaled to indicate whether the BIO technique is disabled. The method according to paragraph 50.

75. 前記DMVR技法のためのフラグが真であると判定されると、スライス、タイル、映像、シーケンスまたはピクチャのための前記DMVR技法を無効化すること、をさらに含む、第64項~第74項のいずれか1項以上に記載の方法。 75. of paragraphs 64-74, further comprising disabling the DMVR technique for a slice, tile, video, sequence or picture if the flag for the DMVR technique is determined to be true. The method described in any one or more of the items.

76. 前記DMVR技法のためのフラグが偽であると判定されると、前記DMVR技法はスライス、タイル、映像、シーケンス、またはピクチャのために有効化されること、をさらに含む、第64項~第74項のいずれか1項以上に記載の方法。 76. Clauses 64-74 further comprising: if the flag for the DMVR technique is determined to be false, the DMVR technique is enabled for a slice, tile, video, sequence, or picture. The method described in any one or more of the following paragraphs.

77. 前記BIO技法のフラグが真であると判定されると、スライス、タイル、映像、シーケンスまたはピクチャの前記BIO技法を無効化すること、をさらに含む、第64項~第74項のいずれか1項以上に記載の方法。 77. any one of paragraphs 64-74, further comprising disabling the BIO technique for a slice, tile, video, sequence, or picture if the BIO technique flag is determined to be true. The method described above.

78. 前記BIO技法のためのフラグが偽であると判定されると、スライス、タイル、映像、シーケンスまたはピクチャのための前記BIO技法が有効化されること、をさらに含む、第64項~第74項のいずれか1項以上に記載の方法。 78. Clauses 64-74, further comprising: enabling the BIO technique for a slice, tile, video, sequence, or picture if a flag for the BIO technique is determined to be false. The method described in any one or more of the following.

79. 視覚メディア処理方法であって、
処理装置により、現在のブロックに対してデコーダ側動きベクトル改良(DMVR)技法を有効にするべきであると判定を行うことであって、前記判定は前記現在のブロックの高さに排他的に基づく、判定を行うことと、
前記現在のブロックと対応するコーディング表現との間で変換を行うことと、を含む、方法。
79. A visual media processing method, the method comprising:
determining, by a processing unit, that a decoder-side motion vector refinement (DMVR) technique should be enabled for a current block, said determination being based exclusively on a height of said current block; , making a determination;
converting between the current block and a corresponding coding representation.

80. DMVR技法が有効化されたことを判定することに応じて、前記現在のブロックの高さが閾値パラメータよりも大きいまたは超えていることを検証すること、をさらに含む、第79項に記載の方法。 80. 80. The method of clause 79, further comprising, in response to determining that a DMVR technique is enabled, verifying that the current block height is greater than or exceeds a threshold parameter. .

81. 前記閾値パラメータが4に等しい、第80項に記載の方法。 81. 81. The method of clause 80, wherein the threshold parameter is equal to four.

82. 前記閾値パラメータが8に等しい、第80項に記載の方法。 82. 81. The method of clause 80, wherein the threshold parameter is equal to eight.

83. 視覚メディア処理方法であって、
視覚メディアデータの現在のブロックと対応する視覚メディアデータのコーディング表現との間で変換を行うことを含み、前記変換は、現在のブロックに対して、デコーダ側動きベクトル改良(DMVR)技法または双方向オプティカルフロー(BIO)技法の一方または両方に関連付けられた規則を使用することを含み、前記DMVR技法に関連付けられた規則は、前記BIO技法への適用に準拠しており、
現在のブロックにおける前記BIO技法または前記DMVR技法の前記一方または両方の前記使用が有効化されているか無効化されているかを判定することは、前記規則を適用することに基づく、方法。
83. A visual media processing method, the method comprising:
performing a transformation between a current block of visual media data and a corresponding coded representation of visual media data, the transformation comprising performing a decoder-side motion vector refinement (DMVR) technique or a bidirectional using rules associated with one or both of optical flow (BIO) techniques, wherein the rules associated with the DMVR technique are compliant with application to the BIO technique;
The method, wherein determining whether the use of the one or both of the BIO technique or the DMVR technique in a current block is enabled or disabled is based on applying the rule.

84. 前記DMVR技法が有効化されるかどうかを判定する規則は、BIO技法が有効化されるかどうかを判定する規則と同じである、請求項83に記載の方法。 84. 84. The method of claim 83, wherein the rules for determining whether the DMVR technique is enabled are the same as the rules for determining whether the BIO technique is enabled.

85. 前記BIO技法および/またはDMVR技法が有効化されているかどうかを判定する規則は、現在のブロックの高さが閾値以上であることを検証することを規定する、第84項に記載の方法。 85. 85. The method of clause 84, wherein the rule for determining whether the BIO technique and/or DMVR technique is enabled provides for verifying that the current block height is greater than or equal to a threshold.

86. 前記BIO技法および/またはDMVR技法が有効化されているかどうかを判定する規則は、現在のブロックの幅と高さの両方が閾値以上であることを検証することを規定する、第84項に記載の方法。 86. 84. The rule for determining whether the BIO technique and/or DMVR technique is enabled provides for verifying that both the width and height of the current block are greater than or equal to a threshold. the method of.

87. 前記閾値が4または8である、第85項または第86項のいずれか1項以上に記載の方法。 87. 87. The method of any one or more of clauses 85 or 86, wherein the threshold is 4 or 8.

88. 前記BIO技法および/またはDMVR技法が有効化されているかどうかを判定する規則は、現在のブロックの寸法が閾値以上であることを検証することを規定する、第84項に記載の方法。 88. 85. The method of clause 84, wherein the rule for determining whether the BIO technique and/or DMVR technique is enabled provides for verifying that the current block size is greater than or equal to a threshold.

89. 前記閾値は64または128である、第86項に記載の方法。 89. 87. The method of clause 86, wherein the threshold is 64 or 128.

90. BIO技法および/またはDMVR技法が有効であるかどうかを判定する規則が、前記現在のブロックがCUレベルウェイト(BCW)モードで双方向予測によりコーディングされていないことを検証することを規定しており、2つの参照リストの2つの参照ブロックに不均等な重みが使用されている、第84項に記載の方法。 90. The rules for determining whether the BIO technique and/or the DMVR technique are valid specify verifying that the current block is not coded with bidirectional prediction in CU level weight (BCW) mode. , wherein unequal weights are used for the two reference blocks of the two reference lists.

91. 前記BIO技法および/または前記DMVR技法が有効化されているかどうかを判定するための規則は、前記現在のブロックが、前記現在のブロックに関連付けられた前記現在のピクチャから同じピクチャオーダカウント(POC)距離を有する1つの1対の参照ピクチャに関連付けられた双方向予測ブロックであることを検証することを規定する、第84項に記載の方法。 91. A rule for determining whether the BIO technique and/or the DMVR technique is enabled is that the current block has the same picture order count (POC) from the current picture associated with the current block. 85. The method of clause 84, providing for verifying that the bi-directionally predicted block is associated with a pair of reference pictures having a distance.

92. 前記1対の参照ピクチャは、現在のブロックに関連付けられた現在のピクチャの前のピクチャと後のピクチャとを表示順に含む、第91項に記載の方法。 92. 92. The method of clause 91, wherein the pair of reference pictures includes, in display order, a picture before and a picture after a current picture associated with a current block.

93. 第1項~第92項の1項以上に記載の方法を実装するように構成された処理装置を備える、映像復号化装置。 93. A video decoding device comprising a processing device configured to implement the method according to one or more of paragraphs 1 to 92.

94. 第1項~第92項の1項以上に記載の方法を実装するように構成された処理装置を備える映像符号化装置。 94. A video encoding device comprising a processing device configured to implement the method according to one or more of paragraphs 1 to 92.

95. コンピュータコードが記憶されたコンピュータプログラム製品であって、前記のコードが処理装置により実行されると、前記処理装置は、第1項~第92項のいずれかに記載の方法を実装する、コンピュータプログラム製品。 95. 93. A computer program product having computer code stored thereon, wherein when said code is executed by a processing device, said processing device implements a method according to any of paragraphs 1 to 92. product.

96. 本明細書に記載の方法、装置またはシステム。 96. A method, apparatus or system as described herein.

本明細書に記載された開示された、およびその他の解決策、実施例、実施形態、モジュール、および機能動作の実装形態は、本明細書に開示された構造およびその構造的等価物を含め、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、若しくはハードウェアで実施されてもよく、またはそれらの1つ以上の組み合わせで実施してもよい。開示された、およびその他の実施形態は、1つ以上のコンピュータプログラム製品、すなわち、データ処理装置によって実装されるため、またはデータ処理装置の動作を制御するために、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして実施することができる。このコンピュータ可読媒体は、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝播信号をもたらす物質の組成物、またはこれらの1つ以上の組み合わせであってもよい。「データ処理装置」という用語は、例えば、プログラマブル処理装置、コンピュータ、または複数の処理装置、若しくはコンピュータを含む、データを処理するためのすべての装置、デバイス、および機械を含む。この装置は、ハードウェアの他に、当該コンピュータプログラムの実行環境を作るコード、例えば、処理装置ファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの1つ以上の組み合わせを構成するコードを含むことができる。伝播信号は、人工的に生成した信号、例えば、機械で生成した電気、光、または電磁信号であり、適切な受信装置に送信するための情報を符号化するために生成される。 Implementations of the disclosed and other solutions, examples, embodiments, modules, and functional operations described herein, including the structures disclosed herein and structural equivalents thereof, include: It may be implemented in digital electronic circuitry, or computer software, firmware, or hardware, or a combination of one or more thereof. The disclosed and other embodiments may be implemented as one or more computer program products, i.e., encoded on a computer-readable medium for implementation by or for controlling the operation of a data processing apparatus. may be implemented as one or more modules of computer program instructions. The computer-readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter that provides a machine-readable propagated signal, or a combination of one or more of these. The term "data processing apparatus" includes all apparatus, devices, and machines for processing data, including, for example, a programmable processing unit, a computer, or multiple processing units or computers. In addition to hardware, this device includes code that creates an execution environment for the computer program, such as processing device firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of these. be able to. A propagated signal is an artificially generated signal, such as a mechanically generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to a suitable receiving device.

コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとも呼ばれる)は、コンパイルされた言語または解釈された言語を含む任意の形式のプログラミング言語で記述することができ、また、それは、スタンドアロンプログラムとして、またはコンピューティング環境で使用するのに適したモジュール、成分、サブルーチン、または他のユニットとして含む任意の形式で展開することができる。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(例えば、マークアップ言語文書に格納された1つ以上のスクリプト)に記録されていてもよいし、当該プログラム専用の単一のファイルに記憶されていてもよいし、複数の調整ファイル(例えば、1つ以上のモジュール、サブプログラム、またはコードの一部を格納するファイル)に記憶されていてもよい。1つのコンピュータプログラムを、1つのサイトに位置する1つのコンピュータ、または複数のサイトに分散され通信ネットワークによって相互接続される複数のコンピュータで実行させるように展開することも可能である。 A computer program (also called a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can also be written as a standalone program. , or as a module, component, subroutine, or other unit suitable for use in a computing environment. Computer programs do not necessarily correspond to files in a file system. A program may be recorded in part of a file that holds other programs or data (for example, one or more scripts stored in a markup language document), or it may be in a single file dedicated to that program. or may be stored in multiple adjustment files (eg, files that store one or more modules, subprograms, or portions of code). It is also possible to deploy a computer program to run on one computer located at one site or on multiple computers distributed at multiple sites and interconnected by a communications network.

本明細書に記載された処理およびロジックフローは、入力データ上で動作し、出力を生成することによって機能を実行するための1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブル処理装置によって行うことができる。処理およびロジックフローはまた、特定用途のロジック回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって行うことができ、装置はまた、特別目的のロジック回路として実装することができる。 The processing and logic flows described herein are performed by one or more programmable processing devices that execute one or more computer programs to perform functions by operating on input data and producing output. be able to. The processing and logic flow can also be performed by special purpose logic circuits, for example FPGAs (Field Programmable Gate Arrays) or ASICs (Application Specific Integrated Circuits), and the device can also be implemented as special purpose logic circuits. I can do it.

コンピュータプログラムの実行に適した処理装置は、例えば、汎用および専用マイクロ処理装置の両方、並びに任意の種類のデジタルコンピュータの任意の1つ以上の処理装置を含む。一般的に、処理装置は、リードオンリーメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの本質的な要素は、命令を実行するための処理装置と、命令およびデータを記憶するための1つ以上のメモリデバイスとである。一般的に、コンピュータは、データを記憶するための1つ以上の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含んでもよく、またはこれらの大容量記憶デバイスからデータを受信するか、またはこれらにデータを転送するように動作可能に結合されてもよい。しかしながら、コンピュータは、このようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、あらゆる形式の不揮発性メモリ、媒体、およびメモリデバイスを含み、例えば、EPROM、EEPROM、フラッシュ記憶装置、磁気ディスク、例えば内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、およびCD-ROMおよびDVD-ROMディスク等の半導体記憶装置を含む。処理装置およびメモリは、特定用途のロジック回路によって補完されてもよく、または特定用途のロジック回路に組み込まれてもよい。 Processing devices suitable for the execution of a computer program include, for example, both general and special purpose microprocessing devices, as well as any one or more processing devices of any type of digital computer. Generally, a processing device receives instructions and data from read-only memory and/or random access memory. The essential elements of a computer are a processing unit for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer may include one or more mass storage devices for storing data, such as magnetic, magneto-optical, or optical disks, or may receive data from these mass storage devices. , or may be operably coupled to transfer data thereto. However, a computer does not need to have such a device. Computer readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, such as EPROM, EEPROM, flash storage, magnetic disks such as internal hard disks or removable It includes semiconductor storage devices such as disks, magneto-optical disks, and CD-ROM and DVD-ROM disks. The processing unit and memory may be supplemented by or incorporated into special purpose logic circuitry.

本特許明細書は多くの詳細を含むが、これらは、任意の主題の範囲または特許請求の範囲を限定するものと解釈されるべきではなく、むしろ、特定の技術の特定の実施形態に特有であり得る特徴の説明と解釈されるべきである。本特許文献において別個の実施形態のコンテキストで説明されている特定の特徴は、1つの例において組み合わせて実装してもよい。逆に、1つの例のコンテキストで説明された様々な特徴は、複数の実施形態において別個にまたは任意の適切なサブコンビネーションで実装してもよい。さらに、特徴は、特定の組み合わせで作用するものとして上記に記載され、最初にそのように主張されていてもよいが、主張された組み合わせからの1つ以上の特徴は、場合によっては、組み合わせから抜粋されることができ、主張された組み合わせは、サブコンビネーションまたはサブコンビネーションのバリエーションに向けられてもよい。 Although this patent specification contains many details, these should not be construed as limitations on the scope of any subject matter or claims, but rather as specific to particular embodiments of particular technology. It should be interpreted as a description of possible characteristics. Certain features that are described in this patent document in the context of separate embodiments may also be implemented in combination in a single example. Conversely, various features that are described in the context of a single example may be implemented in multiple embodiments separately or in any suitable subcombination. Furthermore, although features may be described above and initially claimed as operating in a particular combination, one or more features from the claimed combination may, in some cases, be different from the combination. A combination that can be abstracted and claimed may be directed to subcombinations or variations of subcombinations.

同様に、動作は図面において特定の順番で示されているが、これは、所望の結果を達成するために、このような動作が示された特定の順番でまたは連続した順番で行われること、または示された全ての動作が行われることを必要とするものと理解されるべきではない。また、本特許明細書に記載されている例における様々なシステムの構成要素の分離は、全ての実施形態においてこのような分離を必要とするものと理解されるべきではない。 Similarly, although acts are shown in a particular order in the drawings, this does not mean that such acts may be performed in the particular order shown or in sequential order to achieve a desired result; or should not be understood as requiring that all illustrated operations be performed. Also, the separation of various system components in the examples described in this patent specification is not to be understood as requiring such separation in all embodiments.

いくつかの実装形態および例のみが記載されており、この特許文献に記載され図示されているコンテンツに基づいて、他の実施形態、拡張および変形が可能である。 Only some implementations and examples have been described; other embodiments, extensions and variations are possible based on the content described and illustrated in this patent document.

関連出願の相互参照
願は、2021年9月24日出願の日本特許出願2021-557132号に基づくものであり、この日本特許出願は、2020年4月2日出願の国際特許出願PCT/CN2020/082937号に基づくものであり、この国際特許出願は、2019年4月2日出願の国際特許出願PCT/CN2019/081155号、2019年5月7日出願の国際特許出願PCT/CN2019/085796号の優先権および利益を主張する。上記出願の開示全体は、本明細書の開示の一部として参照により援用される。
Cross-reference of related applications
This application is based on Japanese patent application No. 2021-557132 filed on September 24, 2021, and this Japanese patent application is based on international patent application No. PCT/CN2020/082937 filed on April 2, 2020. This international patent application has the priority rights and benefits of international patent application No. PCT/CN2019/081155 filed on April 2, 2019 and international patent application No. PCT/CN2019/085796 filed on May 7, 2019. claim . The entire disclosure of the above application is incorporated by reference as part of the disclosure herein.

Claims (14)

視覚メディア処理方法であって、
視覚メディアデータの現在のブロックと視覚メディアデータの対応するコーディング表現との間で変換を行うことを含み、
前記変換は、前記現在のブロックに対して、デコーダ側動きベクトル改良(DMVR)技法または双方向オプティカルフロー(BIO)技法の一方または両方に関連付けられた規則の使用を含み、
前記DMVR技法に関連付けられた前記規則は、前記BIO技法への適用に準拠しており、
前記現在のブロックに対して、前記BIO技法または前記DMVR技法の前記一方または両方の前記使用が有効化されるか、または無効化されるかを判定することは、前記規則を適用することに基づく、
方法。
A visual media processing method, the method comprising:
converting between a current block of visual media data and a corresponding coding representation of the visual media data;
The transformation includes the use of rules associated with one or both of a decoder-side motion vector refinement (DMVR) technique or a bidirectional optical flow (BIO) technique for the current block;
the rules associated with the DMVR technique are compliant with application to the BIO technique;
Determining whether the use of the one or both of the BIO technique or the DMVR technique is enabled or disabled for the current block is based on applying the rule. ,
Method.
前記DMVR技法が有効化されるかどうかを判定するための規則は、前記BIO技法が有効化されるかどうかを判定する規則と同じである、
請求項1に記載の方法。
The rules for determining whether the DMVR technique is enabled are the same as the rules for determining whether the BIO technique is enabled;
The method according to claim 1.
前記BIO技法および/または前記DMVR技法が有効化されるかどうかを判定するための前記規則は、前記現在のブロックの高さが閾値以上であることを検証することを規定する、
請求項2に記載の方法。
The rule for determining whether the BIO technique and/or the DMVR technique is enabled provides for verifying that the current block height is greater than or equal to a threshold;
The method according to claim 2.
前記BIO技法および/または前記DMVR技法が有効化されるかどうかを判定するための前記規則は、前記現在のブロックの幅と高さの両方が閾値以上であることを検証することを規定する、
請求項2に記載の方法。
The rule for determining whether the BIO technique and/or the DMVR technique is enabled provides for verifying that both the width and height of the current block are greater than or equal to a threshold;
The method according to claim 2.
前記閾値が4または8である、
請求項3または4のいずれか1項以上に記載の方法。
the threshold value is 4 or 8;
A method according to any one or more of claims 3 or 4.
前記BIO技法および/または前記DMVR技法が有効化されるかどうかを判定するための前記規則は、前記現在のブロックの寸法が閾値以上であることを検証することを規定する、
請求項2に記載の方法。
The rule for determining whether the BIO technique and/or the DMVR technique is enabled provides for verifying that the current block size is greater than or equal to a threshold;
The method according to claim 2.
前記閾値は64もしくは128である、
請求項4に記載の方法。
the threshold value is 64 or 128;
The method according to claim 4.
前記BIO技法および/または前記DMVR技法が有効化されるかどうかを判定するための前記規則は、前記現在のブロックがCUレベルウェイト(BCW)モードによる双方向予測でコーディングされていないことを検証することを規定しており、2つの参照リストからの2つの参照ブロックに不均等な重みが使用されている、
請求項2に記載の方法。
The rule for determining whether the BIO technique and/or the DMVR technique is enabled verifies that the current block is not coded with bidirectional prediction with CU level weight (BCW) mode. It specifies that unequal weights are used for the two reference blocks from the two reference lists,
The method according to claim 2.
前記BIO技法および/または前記DMVR技法が有効化されるかどうかを判定するための前記規則は、前記現在のブロックが、前記現在のブロックに関連付けられた現在のピクチャから同じピクチャオーダカウント(POC)距離を有する1対の参照ピクチャに関連付けられた双方向予測ブロックであることを検証することを規定する、
請求項2に記載の方法。
The rule for determining whether the BIO technique and/or the DMVR technique is enabled is that the current block has the same picture order count (POC) from the current picture associated with the current block. providing for verifying that the block is a bi-directionally predicted block associated with a pair of reference pictures having a distance;
The method according to claim 2.
前記1対の参照ピクチャは、前記現在のブロックに関連付けられた前記現在のピクチャの前のピクチャと後のピクチャとを表示順に含む、
請求項9に記載の方法。
The pair of reference pictures includes, in display order, a picture before and a picture after the current picture associated with the current block.
The method according to claim 9.
請求項1~10のいずれか1項に記載の方法を実装するように構成された処理装置を備える、
映像復号化装置。
comprising a processing device configured to implement the method according to any one of claims 1 to 10;
Video decoding device.
請求項1~10のいずれか1項に記載の方法を実装するように構成された処理装置を備える、
映像符号化装置。
comprising a processing device configured to implement the method according to any one of claims 1 to 10;
Video encoding device.
コンピュータコードが記憶されたコンピュータプログラム製品であって、
前記コードは、処理装置により実行されると、前記処理装置に、請求項1~10のいずれか1項に記載の方法を実装させる、
コンピュータプログラム製品。
A computer program product having computer code stored therein;
The code, when executed by a processing device, causes the processing device to implement the method according to any one of claims 1 to 10.
computer program product.
本明細書に記載の方法、装置またはシステム。 A method, apparatus or system as described herein.
JP2023105110A 2019-04-02 2023-06-27 Decoder side motion vector derivation Pending JP2023134521A (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
CNPCT/CN2019/081155 2019-04-02
CN2019081155 2019-04-02
CNPCT/CN2019/085796 2019-05-07
CN2019085796 2019-05-07
PCT/CN2020/082937 WO2020200269A1 (en) 2019-04-02 2020-04-02 Decoder side motion vector derivation
JP2021557132A JP7307192B2 (en) 2019-04-02 2020-04-02 Derivation of motion vectors on the decoder side

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2021557132A Division JP7307192B2 (en) 2019-04-02 2020-04-02 Derivation of motion vectors on the decoder side

Publications (1)

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

Family

ID=72664978

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021557132A Active JP7307192B2 (en) 2019-04-02 2020-04-02 Derivation of motion vectors on the decoder side
JP2023105110A Pending JP2023134521A (en) 2019-04-02 2023-06-27 Decoder side motion vector derivation

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2021557132A Active JP7307192B2 (en) 2019-04-02 2020-04-02 Derivation of motion vectors on the decoder side

Country Status (6)

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

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111083484A (en) 2018-10-22 2020-04-28 北京字节跳动网络技术有限公司 Sub-block based prediction
CN111083491A (en) 2018-10-22 2020-04-28 北京字节跳动网络技术有限公司 Use of refined motion vectors
EP3857879A4 (en) 2018-11-12 2022-03-16 Beijing Bytedance Network Technology Co., Ltd. Simplification of combined inter-intra prediction
EP3861742A4 (en) 2018-11-20 2022-04-13 Beijing Bytedance Network Technology Co., Ltd. Difference calculation based on patial position
WO2020103877A1 (en) 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Coding and decoding of video coding modes
WO2020177756A1 (en) 2019-03-06 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Size dependent inter coding
WO2020233662A1 (en) 2019-05-21 2020-11-26 Beijing Bytedance Network Technology Co., Ltd. Syntax signaling for optical-flow based inter coding
EP3987794A4 (en) * 2019-06-21 2022-09-07 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods
WO2020262365A1 (en) * 2019-06-28 2020-12-30 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Encoding device, decoding device, encoding method, and decoding method
US20220264146A1 (en) * 2019-07-01 2022-08-18 Interdigital Vc Holdings France, Sas Bi-prediction refinement in affine with optical flow
JP6960969B2 (en) * 2019-09-20 2021-11-05 Kddi株式会社 Image decoding device, image decoding method and program
US20220377316A1 (en) * 2019-09-23 2022-11-24 Vid Scale, Inc. Switching logic for bi-directional optical flow
JP7391203B2 (en) 2019-10-12 2023-12-04 北京字節跳動網絡技術有限公司 Use and signaling to refine video coding tools
EP4032290A4 (en) 2019-10-18 2022-11-30 Beijing Bytedance Network Technology Co., Ltd. Syntax constraints in parameter set signaling of subpictures
GB2617839A (en) * 2022-04-19 2023-10-25 Canon Kk Video coding and decoding
WO2023219279A1 (en) * 2022-05-10 2023-11-16 현대자동차주식회사 Method and apparatus for video coding using inter/intra prediction that is on basis of geometric partition

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
US9654792B2 (en) 2009-07-03 2017-05-16 Intel Corporation Methods and systems for motion vector derivation at a video decoder
US8462852B2 (en) 2009-10-20 2013-06-11 Intel Corporation Methods and apparatus for adaptively choosing a search range for motion estimation
US20110176611A1 (en) 2010-01-15 2011-07-21 Yu-Wen Huang Methods for decoder-side motion vector derivation
KR101484281B1 (en) 2010-07-09 2015-01-21 삼성전자주식회사 Method and apparatus for video encoding using block merging, method and apparatus for video decoding using block merging
US9215470B2 (en) 2010-07-09 2015-12-15 Qualcomm Incorporated Signaling selected directional transform for video coding
CN102986224B (en) 2010-12-21 2017-05-24 英特尔公司 System and method for enhanced dmvd processing
JP2012142702A (en) 2010-12-28 2012-07-26 Sony Corp Image processing device, method, and program
CN108900839B (en) 2011-12-28 2022-05-31 夏普株式会社 Image decoding device and method, image encoding device and method
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 (en) 2012-05-10 2018-01-02 Lg 电子株式会社 The method and apparatus for handling vision signal
EP3700215B1 (en) 2012-06-27 2021-10-27 Kabushiki Kaisha Toshiba Encoding method, decoding method, storage apparatus and transfer apparatus
US9900593B2 (en) 2012-08-29 2018-02-20 Vid Scale, Inc. Method and apparatus of motion vector prediction for scalable video coding
WO2014047877A1 (en) 2012-09-28 2014-04-03 Intel Corporation Inter-layer residual prediction
KR20150038249A (en) 2012-09-28 2015-04-08 인텔 코포레이션 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
WO2014120368A1 (en) 2013-01-30 2014-08-07 Intel Corporation Content adaptive entropy coding for next generation video
US9900576B2 (en) 2013-03-18 2018-02-20 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
US10244253B2 (en) 2013-09-13 2019-03-26 Qualcomm Incorporated Video coding techniques using asymmetric motion partitioning
ES2934591T3 (en) 2013-09-13 2023-02-23 Samsung Electronics Co Ltd Lossless encoding procedure
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
JPWO2015166639A1 (en) 2014-04-28 2017-04-20 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Encoding method, decoding method, encoding device, and decoding device
GB2531003A (en) 2014-10-06 2016-04-13 Canon Kk Method and apparatus for vector encoding in video coding and decoding
CN105960802B (en) 2014-10-08 2018-02-06 微软技术许可有限责任公司 Adjustment when switching color space to coding and decoding
CN104301724B (en) 2014-10-17 2017-12-01 华为技术有限公司 Method for processing video frequency, encoding device and decoding device
KR20170078682A (en) 2014-11-04 2017-07-07 삼성전자주식회사 Video coding method and apparatus for applying edge type offset, video decoding method and apparatus therefor
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
US10200711B2 (en) 2015-03-27 2019-02-05 Qualcomm Incorporated Motion vector derivation 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
EP3332551A4 (en) * 2015-09-02 2019-01-16 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 (en) 2016-02-03 2022-07-26 Oppo广东移动通信有限公司 Moving image decoding device, encoding device, and predicted image generation device
US11109061B2 (en) * 2016-02-05 2021-08-31 Mediatek Inc. Method and apparatus of motion compensation based on bi-directional optical flow techniques 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
US10674165B2 (en) * 2016-12-21 2020-06-02 Arris Enterprises Llc Constrained position dependent intra prediction combination (PDPC)
US10609367B2 (en) 2016-12-21 2020-03-31 Qualcomm Incorporated Low-complexity sign prediction for video coding
BR112019012582A8 (en) 2016-12-22 2023-02-07 Mediatek Inc MOTION REFINEMENT METHOD AND APPARATUS FOR VIDEO CODING
US10911761B2 (en) 2016-12-27 2021-02-02 Mediatek Inc. Method and apparatus of bilateral template MV refinement for video coding
US20190387234A1 (en) 2016-12-29 2019-12-19 Peking University Shenzhen Graduate School Encoding method, decoding method, encoder, and decoder
US10931969B2 (en) 2017-01-04 2021-02-23 Qualcomm Incorporated Motion vector reconstructions for bi-directional optical flow (BIO)
KR20230133414A (en) 2017-01-04 2023-09-19 삼성전자주식회사 Video decoding method and apparatus and video encoding method and apparatus
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)
EP3586513A4 (en) * 2017-03-16 2020-12-09 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 (en) 2017-03-24 2019-01-01 聯發科技股份有限公司 Method and apparatus of bi-directional optical flow for overlapped block motion compensation in video coding
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
US10701393B2 (en) 2017-05-10 2020-06-30 Mediatek Inc. Method and apparatus of reordering motion vector prediction candidate set for video coding
CN117255195A (en) 2017-05-17 2023-12-19 株式会社Kt Method for decoding video and method for encoding video
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 (en) 2017-07-03 2022-11-09 ヴィド スケール インコーポレイテッド Motion-compensated prediction based on bidirectional optical flow
US11677940B2 (en) 2017-09-20 2023-06-13 Electronics And Telecommunications Research Institute Method and device for encoding/decoding image, and recording medium having stored bitstream
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
KR102387363B1 (en) 2017-11-30 2022-04-18 엘지전자 주식회사 Video decoding method and apparatus according to inter prediction in video 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
CN111630855A (en) 2018-01-16 2020-09-04 Vid拓展公司 Motion compensated bi-directional 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
KR102220474B1 (en) 2018-02-28 2021-02-25 삼성전자주식회사 Coding method and device, decoding method and device
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
WO2019234676A1 (en) 2018-06-07 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Mv precision refine
GB2589223B (en) 2018-06-21 2023-01-25 Beijing Bytedance Network Tech Co Ltd Component-dependent sub-block dividing
TWI723433B (en) 2018-06-21 2021-04-01 大陸商北京字節跳動網絡技術有限公司 Improved border partition
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
MX2021000129A (en) 2018-06-27 2021-03-25 Vid Scale Inc Methods and apparatus for reducing the coding latency of decoder-side motion refinement.
KR20210024487A (en) 2018-07-01 2021-03-05 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Efficient affine merge motion vector derivation
TWI719519B (en) 2018-07-02 2021-02-21 大陸商北京字節跳動網絡技術有限公司 Block size restrictions for dmvr
US10911768B2 (en) 2018-07-11 2021-02-02 Tencent America LLC Constraint for template matching in decoder side motion derivation and refinement
CN110719478B (en) 2018-07-15 2023-02-07 北京字节跳动网络技术有限公司 Cross-component intra prediction mode derivation
WO2020017840A1 (en) 2018-07-16 2020-01-23 엘지전자 주식회사 Method and device for inter predicting on basis of dmvr
US10911751B2 (en) 2018-09-14 2021-02-02 Tencent America LLC Method and apparatus for video coding
CN110944196B (en) 2018-09-24 2023-05-30 北京字节跳动网络技术有限公司 Simplified history-based motion vector prediction
CN111010569B (en) 2018-10-06 2023-02-28 北京字节跳动网络技术有限公司 Improvement of temporal gradient calculation in BIO
CN111083484A (en) 2018-10-22 2020-04-28 北京字节跳动网络技术有限公司 Sub-block based prediction
CN112913249B (en) 2018-10-22 2022-11-08 北京字节跳动网络技术有限公司 Simplified coding and decoding of generalized bi-directional prediction index
CN111083491A (en) 2018-10-22 2020-04-28 北京字节跳动网络技术有限公司 Use of refined motion vectors
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
CN109191514B (en) 2018-10-23 2020-11-24 北京字节跳动网络技术有限公司 Method and apparatus for generating a depth detection model
SG11202104480RA (en) 2018-11-05 2021-05-28 Beijing Bytedance Network Technology Co Ltd Interpolation for inter prediction with refinement
WO2020094049A1 (en) 2018-11-06 2020-05-14 Beijing Bytedance Network Technology Co., Ltd. Extensions of inter prediction with geometric partitioning
US20210377553A1 (en) 2018-11-12 2021-12-02 Interdigital Vc Holdings, Inc. Virtual pipeline for video encoding and decoding
EP3861742A4 (en) 2018-11-20 2022-04-13 Beijing Bytedance Network Technology Co., Ltd. Difference calculation based on patial position
WO2020103877A1 (en) 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Coding and decoding of video coding modes
EP3657794A1 (en) 2018-11-21 2020-05-27 InterDigital VC Holdings, Inc. Method and device for picture encoding and decoding
BR112021007949A2 (en) * 2019-01-02 2021-07-27 Huawei Technologies Co., Ltd. User-friendly system and method with hardware and software for decoder-side motion vector refinement with pixel correction based on bi-predictive optical stream on decoder-side for bi-predictive motion compensation
KR102374687B1 (en) * 2019-01-06 2022-03-14 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 Bit width control for bidirectional optical flow
KR102392701B1 (en) 2019-01-15 2022-04-28 엘지전자 주식회사 Image coding method and apparatus using transform skip flag
CN113557721A (en) 2019-03-12 2021-10-26 北京达佳互联信息技术有限公司 Application of constrained and adjusted combined inter and intra prediction modes
KR102429449B1 (en) * 2019-03-15 2022-08-03 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 Method and device for bit-width control for bidirectional light flow
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 (en) 2019-08-07 2021-09-24 杭州微帧信息科技有限公司 Video processing and encoding method, device and readable storage medium
US11405628B2 (en) * 2020-04-06 2022-08-02 Tencent America LLC Method and apparatus for video coding

Also Published As

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

Similar Documents

Publication Publication Date Title
JP7307192B2 (en) Derivation of motion vectors on the decoder side
CN113170097B (en) Encoding and decoding of video encoding and decoding modes
JP7417670B2 (en) Partial cost calculation
JP7182000B2 (en) Weights in inter-intra combined prediction mode
JP2023164833A (en) Simplification of combined inter-intra prediction
CN113597766A (en) Computation of prediction refinement based on optical flow
JP7322277B2 (en) Tool usage restrictions according to reference picture type
JP2022544667A (en) Selective use of alternative interpolation filters in image processing
CN113767634B (en) Unified computing method using refined inter-frame prediction

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