JP7271697B2 - オプティカルフローの改善の早期終了 - Google Patents
オプティカルフローの改善の早期終了 Download PDFInfo
- Publication number
- JP7271697B2 JP7271697B2 JP2021549390A JP2021549390A JP7271697B2 JP 7271697 B2 JP7271697 B2 JP 7271697B2 JP 2021549390 A JP2021549390 A JP 2021549390A JP 2021549390 A JP2021549390 A JP 2021549390A JP 7271697 B2 JP7271697 B2 JP 7271697B2
- Authority
- JP
- Japan
- Prior art keywords
- prediction
- motion vector
- block
- unit
- optical flow
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/557—Motion estimation characterised by stopping computation or iteration based on certain criteria, e.g. error magnitude being too large or early exit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
Description
現在のブロック(たとえば、コーディングブロックまたは予測ブロックまたは下位ブロック(sub-block))に関する初期動きベクトルを取得するステップと、
初期動きベクトルに基づいて現在のブロック内のサンプル値に関する第1の予測(インター双予測(biprediction)に関する2つの予測値)を取得するステップと、
第1の予測に従って第1のマッチングコスト(たとえば、何らかの類似性(もしくは相違)の尺度からなる、または何らかの類似性(もしくは相違)の尺度を含む。下の詳細な説明も参照されたい)を計算するステップと、
少なくとも1つの予め設定された条件に従って、オプティカルフロー改善プロセスが実行されるべきか否かを判定するステップであって、少なくとも1つの予め設定された条件が、計算された第1のマッチングコストが閾値以上であるかどうかという条件を含む、ステップと、
オプティカルフロー改善プロセスが実行されるべきであると判定されるときに、現在のブロック内のサンプル値に関する最終的なインター予測を取得するためにオプティカルフロー改善プロセスを実行するステップと
を含む。
改善された動きベクトルに従って現在のブロック内のサンプル値に関する第2の予測を取得するように構成された第2の予測ユニットと
をさらに含む可能性があり、
オプティカルフロー改善プロセス実行ユニットは、オプティカルフロー改善プロセスが実行されるべきであるとオプティカルフロー改善プロセス判定ユニットによって判定されるときに第2の予測に基づいてオプティカルフローの改善を実行するように構成される可能性がある。
図2は、本出願の技術を実装するように構成される例示的なビデオエンコーダ20の概略的なブロック図を示す。図2の例において、ビデオエンコーダ20は、入力201(または入力インターフェース201)、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、量子化解除ユニット210、逆変換処理ユニット212、再構築ユニット214、ループフィルタユニット220、復号ピクチャバッファ(DPB: decoded picture buffer)230、モード選択ユニット260、エントロピー符号化ユニット270、および出力272(または出力インターフェース272)を含む。モード選択ユニット260は、インター予測ユニット244、イントラ予測ユニット254、および区分けユニット262を含む可能性がある。インター予測ユニット244は、動き推定ユニットおよび動き補償ユニット(図示せず)を含む可能性がある。図2に示されたビデオエンコーダ20は、ハイブリッドビデオエンコーダまたはハイブリッドビデオコーデックによるビデオエンコーダとも呼ばれる可能性がある。
エンコーダ20は、たとえば、入力201を介してピクチャ17(またはピクチャデータ17)、たとえば、ビデオまたはビデオシーケンスを形成するピクチャのシーケンスのピクチャを受け取るように構成される可能性がある。受け取られたピクチャまたはピクチャデータは、前処理されたピクチャ19(または前処理されたピクチャデータ19)である可能性もある。簡単にするために、以下の説明は、ピクチャ17に言及する。ピクチャ17は、(特に、ビデオコーディングにおいて、現在のピクチャをその他のピクチャ、たとえば、同じビデオシーケンス、つまり、現在のピクチャも含むビデオシーケンスの既に符号化されたおよび/または復号されたピクチャと区別するために)現在のピクチャまたはコーディングされるピクチャとも呼ばれる可能性がある。
残差計算ユニット204は、たとえば、サンプル毎に(ピクセル毎に)ピクチャブロック203のサンプル値から予測ブロック265のサンプル値を差し引いてサンプル領域において残差ブロック205を取得することによって、ピクチャブロック203および予測ブロック265(予測ブロック265についてのさらなる詳細は後で与えられる)に基づいて残差ブロック205(残差205とも呼ばれる)を計算するように構成される可能性がある。
変換処理ユニット206は、残差ブロック205のサンプル値に対して変換、たとえば、離散コサイン変換(DCT)または離散サイン変換(DST)を適用して変換領域において変換係数207を取得するように構成される可能性がある。変換係数207は、変換残差係数とも呼ばれ、変換領域において残差ブロック205を表現する可能性がある。
量子化ユニット208は、たとえば、スカラー量子化またはベクトル量子化を適用することによって変換係数207を量子化して量子化された係数209を取得するように構成される可能性がある。量子化された係数209は、量子化された変換係数209または量子化された残差係数209とも呼ばれる可能性がある。
、不可逆演算であり、損失は、量子化ステップサイズが大きくなるにつれて増加する。
量子化解除ユニット210は、たとえば、量子化ユニット208と同じ量子化ステップサイズに基づいてまたはそれを使用して、量子化ユニット208により適用された量子化方式の逆を適用することによって、量子化された係数に量子化ユニット208の量子化解除を適用して量子化解除された係数211を取得するように構成される。量子化解除された係数211は、量子化解除された残差係数211とも呼ばれ、--量子化による損失が原因で概して変換係数と同一ではないが--変換係数207に対応する可能性がある。
逆変換処理ユニット212は、変換処理ユニット206によって適用された変換の逆変換、たとえば、逆離散コサイン変換(DCT)または逆離散サイン変換(DST)またはその他の逆変換を適用してサンプル領域において再構築された残差ブロック213(または対応する量子化解除された係数213)を取得するように構成される。再構築された残差ブロック213は、変換ブロック(transform block)213とも呼ばれる可能性がある。
再構築ユニット214(たとえば、加算器または合算器214)は、たとえば、再構築された残差ブロック213のサンプル値と予測ブロック265のサンプル値とを--サンプル毎に--足すことによって予測ブロック265に変換ブロック213(すなわち、再構築された残差ブロック213)を足してサンプル領域において再構築されたブロック215を取得するように構成される。
ループフィルタユニット220(または短く「ループフィルタ」220)は、再構築されたブロック215をフィルタリングしてフィルタリングされたブロック221を取得する、または概して、再構築されたサンプルをフィルタリングしてフィルタリングされたサンプルを取得するように構成される。ループフィルタユニットは、たとえば、ピクセルの遷移を平滑化するかまたはそれ以外の方法でビデオの品質を改善するように構成される。ループフィルタユニット220は、デブロッキングフィルタ、サンプル適応オフセット(SAO: sample-adaptive offset)フィルタ、または1つもしくは複数のその他のフィルタ、たとえば、バイラテラルフィルタ、適応ループフィルタ(ALF: adaptive loop filter)、鮮鋭化、平滑化フィルタ、もしくは共同フィルタ(collaborative filter)、もしくはこれらの任意の組合せなどの1つまたは複数のループフィルタを含む可能性がある。ループフィルタユニット220は図2にループ内フィルタであるものとして示されるが、その他の構成において、ループフィルタユニット220は、ループ後フィルタとして実装される可能性がある。フィルタリングされたブロック221は、フィルタリングされた再構築されたブロック221とも呼ばれる可能性がある。
復号ピクチャバッファ(DPB)230は、ビデオエンコーダ20によってビデオデータを符号化するための参照ピクチャまたは概して参照ピクチャデータを記憶するメモリである可能性がある。DPB230は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗変化型RAM(RRAM: resistive RAM)、またはその他の種類のメモリデバイスなどの様々なメモリデバイスのいずれかによって形成される可能性がある。復号ピクチャバッファ(DPB)230は、1つまたは複数のフィルタリングされたブロック221を記憶するように構成される可能性がある。復号ピクチャバッファ230は、同じ現在のピクチャまたは異なるピクチャ、たとえば、既に再構築されたピクチャのその他の既にフィルタリングされたブロック、たとえば、既に再構築され、フィルタリングされたブロック221を記憶するようにさらに構成される可能性があり、たとえば、インター予測のために、完全な既に再構築された、つまり、復号されたピクチャ(および対応する参照ブロックおよびサンプル)ならびに/または部分的に再構築された現在のピクチャ(および対応する参照ブロックおよびサンプル)を提供する可能性がある。復号ピクチャバッファ(DPB)230は、たとえば、再構築されたブロック215がループフィルタユニット220によってフィルタリングされない場合、1つもしくは複数のフィルタリングされていない再構築されたブロック215もしくは概してフィルタリングされていない再構築されたサンプルを記憶し、または再構築されたブロックもしくはサンプルの任意のその他のさらに処理されたバージョンを記憶するようにも構成される可能性がある。
モード選択ユニット260は、区分けユニット262、インター予測ユニット244、およびイントラ予測ユニット254を含み、元のピクチャデータ、たとえば、元のブロック203(現在のピクチャ17の現在のブロック203)と、再構築されたピクチャデータ、たとえば、同じ(現在の)ピクチャの、および/またはたとえば復号ピクチャバッファ230もしくはその他のバッファ(たとえば、図示されていないラインバッファ)からの1つもしくは複数の既に復号されたピクチャからのフィルタリングされたおよび/またはフィルタリングされていない再構築されたサンプルまたはブロックとを受け取るかまたは取得するように構成される。再構築されたピクチャデータは、予測ブロック265または予測子(predictor)265を取得するための予測、たとえば、インター予測またはイントラ予測のための参照ピクチャデータとして使用される。
区分けユニット262は、現在のブロック203をより小さな区画、たとえば、正方形または長方形のサイズのより小さなブロックに区分けする(または分割する)可能性がある。これらのより小さなブロック(下位ブロックとも呼ばれる可能性がある)は、より一層小さな区画にさらに区分けされる可能性がある。これは、木区分けまたは階層的木区分けとも呼ばれ、たとえば、ルートツリーレベル0(階層レベル0、深さ0)のルートブロックが、再帰的に区分けされ、たとえば、次に低いツリーレベルの2つ以上のブロック、たとえば、ツリーレベル1(階層レベル1、深さ1)のノードに区分けされる可能性があり、これらのブロックが、次に低いレベル、たとえば、ツリーレベル2(階層レベル2、深さ2)の2つ以上のブロックに再び区分けされる可能性があり、たとえば、終了基準が満たされる、たとえば、最大のツリーの深さまたは最小のブロックサイズが達せられるので区分けが終了されるまで以下同様である。さらに区分けされないブロックは、木の葉ブロックまたは葉ノードとも呼ばれる。2つの区画への区分けを使用する木は、二分木(BT)と呼ばれ、3つの区画への区分けを使用する木は、三分木(TT)と呼ばれ、4つの区画への区分けを使用する木は、四分木(QT)と呼ばれる。
1組のイントラ予測モードは、たとえばHEVCにおいて定義された35個の異なるイントラ予測モード、たとえば、DC(もしくは平均)モードおよび平面モードのような非方向性モード、または方向性モードを含む可能性があり、あるいはたとえばVVCのために定義された67個の異なるイントラ予測モード、たとえば、DC(もしくは平均)モードおよび平面モードのような非方向性モード、または方向性モードを含む可能性がある。
1組の(または可能な)インター予測モードは、利用可能な参照ピクチャ(つまり、たとえば、DBP230に記憶された前の少なくとも部分的に復号されたピクチャ)ならびにその他のインター予測パラメータ、たとえば、最もよく一致する参照ブロックを探索するために参照ピクチャ全体が使用されるのかもしくは参照ピクチャの一部のみ、たとえば、現在のブロックのエリアの周りの探索窓(search window)エリアのみが使用されるか、ならびに/またはたとえば、ピクセル補間、たとえば、半/セミペル(half/semi-pel)および/もしくは4分の1ペル補間が適用されるか否かに依存する。
エントロピー符号化ユニット270は、たとえば、ビデオデコーダ30がパラメータを受信し、復号のために使用する可能性があるように、たとえば、符号化されたビットストリーム21の形態で出力272を介して出力され得る符号化されたピクチャデータ21を得るために、量子化された係数209、インター予測パラメータ、イントラ予測パラメータ、ループフィルタパラメータ、および/またはその他のシンタックス要素に対して、たとえば、エントロピー符号化アルゴリズムもしくは方式(たとえば、可変長コーディング(VLC: variable length coding)方式、コンテキスト適応VLC方式(CAVLC: context adaptive VLC)、算術コーディング方式、2値化、コンテキスト適応2値算術コーディング(CABAC: context adaptive binary arithmetic coding)、シンタックスに基づくコンテキスト適応2値算術コーディング(SBAC: syntax-based context-adaptive binary arithmetic coding)、確率間隔区分エントロピー(PIPE: probability interval partitioning entropy) コーディング、もしくは別のエントロピーコーディング方法もしくは技術)またはバイパス(bypass)(非圧縮)を適用するように構成される。符号化されたビットストリーム21は、ビデオデコーダ30に送信されるか、または後の送信またはビデオデコーダ30による取り出しのためにメモリに記憶される可能性がある。
図3は、本出願の技術を実装するように構成されるビデオデコーダ30の例を示す。ビデオデコーダ30は、復号されたピクチャ331を取得するために、たとえば、エンコーダ20によって符号化された符号化されたピクチャデータ21(たとえば、符号化されたビットストリーム21)を受信するように構成される。符号化されたピクチャデータまたはビットストリームは、符号化されたピクチャデータ、たとえば、符号化されたビデオスライス(および/またはタイルグループもしくはタイル)のピクチャブロックならびに関連するシンタックス要素を表すデータを復号するための情報を含む。
エントロピー復号ユニット304は、ビットストリーム21(または概して符号化されたピクチャデータ21)を解析し、たとえば、符号化されたピクチャデータ21にエントロピー復号を実行して、たとえば、量子化された係数309ならびに/あるいは復号されたコーディングパラメータ(図3に示さず)、たとえば、インター予測パラメータ(たとえば、参照ピクチャインデックスおよび動きベクトル)、イントラ予測パラメータ(たとえば、イントラ予測モードもしくはインデックス)、変換パラメータ、量子化パラメータ、ループフィルタパラメータ、および/またはその他のシンタックス要素のいずれかまたはすべてを取得するように構成される。エントロピー復号ユニット304は、エンコーダ20のエントロピー符号化ユニット270に関連して説明された符号化方式に対応する復号アルゴリズムまたは方式を適用するように構成される可能性がある。エントロピー復号ユニット304は、インター予測パラメータ、イントラ予測パラメータ、および/またはその他のシンタックス要素をモード適用ユニット360に提供し、その他のパラメータをデコーダ30のその他のユニットに提供するようにさらに構成される可能性がある。ビデオデコーダ30は、ビデオスライスのレベルおよび/またはビデオブロックのレベルでシンタックス要素を受信する可能性がある。スライスおよびそれぞれのシンタックス要素に加えて、またはスライスおよびそれぞれのシンタックス要素の代替として、タイルグループおよび/またはタイルならびにそれぞれのシンタックス要素が、受信されるおよび/または使用される可能性がある。
量子化解除ユニット310は、(たとえば、エントロピー復号ユニット304によって、たとえば、解析および/または復号することによって)符号化されたピクチャデータ21から量子化パラメータ(QP)(または概して量子化解除に関連する情報)および量子化された係数を受け取り、復号された量子化された係数309に対して量子化パラメータに基づいて量子化解除を適用して、変換係数311とも呼ばれる可能性がある量子化解除された係数311を取得するように構成される可能性がある。量子化解除プロセスは、量子化の度合いと、同様に、適用されるべき量子化解除の度合いとを決定するために、ビデオスライス(またはタイルまたはタイルグループ)内の各ビデオブロックに関してビデオエンコーダ20によって決定された量子化パラメータを使用することを含む可能性がある。
逆変換処理ユニット312は、変換係数311とも呼ばれる量子化解除された係数311を受け取り、サンプル領域において再構築された残差ブロック213を取得するために、量子化解除された係数311に変換を適用するように構成される可能性がある。再構築された残差ブロック213は、変換ブロック213とも呼ばれる可能性がある。変換は、逆変換、たとえば、逆DCT、逆DST、逆整数変換、または概念的に同様の逆変換プロセスである可能性がある。逆変換処理ユニット312は、量子化解除された係数311に適用される変換を決定するために、(たとえば、エントロピー復号ユニット304によって、たとえば、解析および/または復号することによって)符号化されたピクチャデータ21から変換パラメータまたは対応する情報を受け取るようにさらに構成される可能性がある。
再構築ユニット314(たとえば、加算器または合算器314)は、たとえば、再構築された残差ブロック313のサンプル値と予測ブロック365のサンプル値とを足すことによって予測ブロック365に再構築された残差ブロック313を足してサンプル領域において再構築されたブロック315を取得するように構成される可能性がある。
(コーディングループ内かまたはコーディングループの後かのどちらかの)ループフィルタユニット320は、たとえば、ピクセルの遷移を平滑化するかまたはそれ以外の方法でビデオの品質を改善するために再構築されたブロック315をフィルタリングしてフィルタリングされたブロック321を取得するように構成される。ループフィルタユニット320は、デブロッキングフィルタ、サンプル適応オフセット(SAO)フィルタ、または1つもしくは複数のその他のフィルタ、たとえば、バイラテラルフィルタ、適応ループフィルタ(ALF)、鮮鋭化、平滑化フィルタ、もしくは共同フィルタ、もしくはこれらの任意の組合せなどの1つまたは複数のループフィルタを含む可能性がある。ループフィルタユニット320は図3にループ内フィルタであるものとして示されるが、その他の構成において、ループフィルタユニット320は、ループ後フィルタとして実装される可能性がある。
それから、ピクチャの復号されたビデオブロック321は、その他のピクチャに関するその後の動き補償のための参照ピクチャとしておよび/またはディスプレイ上にそれぞれ出力するために復号されたピクチャ331を記憶する復号ピクチャバッファ330に記憶される。
インター予測ユニット344は、インター予測ユニット244と(特に動き補償ユニットと)同一である可能性があり、イントラ予測ユニット354は、インター予測ユニット254と機能的に同一である可能性があり、(たとえば、エントロピー復号ユニット304によって、たとえば、解析および/または復号することによって)復号されたピクチャデータ21から受け取られた区分けおよび/または予測パラメータまたはそれぞれの情報に基づいて分割または区分けの判断および予測を実行する。モード適用ユニット360は、予測ブロック365を得るために、(フィルタリングされたまたはフィルタリングされていない)再構築されたピクチャ、ブロック、またはそれぞれのサンプルに基づいてブロック毎に予測(イントラまたはインター予測)を実行するように構成される可能性がある。
ux = ( mvx+2bitDepth ) % 2bitDepth (1)
mvx = ( ux >= 2bitDepth-1 ) ? ( ux - 2bitDepth ) : ux (2)
uy= ( mvy+2bitDepth ) % 2bitDepth (3)
mvy = ( uy >= 2bitDepth-1 ) ? ( uy - 2bitDepth ) : uy (4)
式中、mvxは、画像ブロックまたは下位ブロックの動きベクトルの水平成分であり、mvyは、画像ブロックまたは下位ブロックの動きベクトルの垂直成分であり、uxおよびuyは、中間値を示す。
ux= ( mvpx + mvdx +2bitDepth ) % 2bitDepth (5)
mvx = ( ux >= 2bitDepth-1 ) ? (ux - 2bitDepth ) : ux (6)
uy= ( mvpy + mvdy +2bitDepth ) % 2bitDepth (7)
mvy = ( uy >= 2bitDepth-1 ) ? (uy - 2bitDepth ) : uy (8)
vx = Clip3(-2bitDepth-1, 2bitDepth-1 -1, vx)
vy = Clip3(-2bitDepth-1, 2bitDepth-1 -1, vy)
式中、vxは、画像ブロックまたは下位ブロックの動きベクトルの水平成分であり、vyは、画像ブロックまたは下位ブロックの動きベクトルの垂直成分であり、x、y、およびzは、MVのクリッピングプロセスの3つの入力値にそれぞれ対応し、関数Clip3の定義は、以下の通りである。
通常、動きベクトルは、エンコーダ側で少なくとも部分的に決定され、符号化されたビットストリーム内でデコーダにシグナリングされる。しかし、動きベクトルは、ビットストリーム内に示された初期動きベクトルから開始してデコーダにおいて(およびエンコーダにおいても)改善される可能性もある。そのような場合、たとえば、初期動きベクトルによって指し示された既に復号されたピクセルのパッチの間の類似性が、初期動きベクトルの正確性を向上させるために使用される可能性がある。そのような動きの改善は、シグナリングのオーバーヘッドを削減するという利点をもたらし、つまり、初期の動きの正確性が、エンコーダとデコーダとの両方において同じ方法で高められ、したがって、改善のための追加のシグナリングが、必要とされない。
・(MV0, MV1)
・(MV0 + (0,1), MV1 + (0,-1))
・(MV0 + (1,0), MV1 + (-1,0))
・(MV0 + (0,-1), MV1 + (0,1))
・(MV0 + (-1,0), MV1 + (1,0))
・...
ここで、(1,-1)は、水平(またはx)方向の変位1および垂直(またはy)方向の変位-1を有するベクトルを表す。
・初期MVのペアの小数部を最も近い整数位置に丸め、再構築された参照ピクチャの整数グリッド値を得る。
・初期MVのペアによって示される小数ピクセルの正確性で予測されたサンプル値を得るために2タップ(たとえば、バイリニア)の分離可能なバイリニア補間を実行する。
・初期MVのペアによって示される小数ピクセルの正確性で予測されたサンプル値を得るためにより多いタップ(たとえば、8タップまたは6タップ)の分離可能な補間を実行する。
・現在のピクチャからサンプルのコーディングされたブロックの双予測のために使用される2つの参照ピクチャまでの(一様なフレームレートでサンプリングされるときの)ピクチャの数で表された距離が、等しく、現在のピクチャの両側で減少する。
・初期MVのペアを使用して得られた2つの予測されたブロックの間の初期の相違が、予め決められたサンプル毎の閾値未満である。
双予測のオプティカルフローの改善は、双予測のためにシグナリングされる以外のビットストリーム内の明らかに追加的なシグナリングなしにブロックの双予測の正確性を高めるプロセスである。双予測のオプティカルフローの改善は、図2のインター予測ユニット(244)および図3の344の一部である。
Bi-prediction = Prediction1 * W1 + Prediction2 * W2 + K
によって実行されることが可能であり、式中、W1およびW2は、ビットストリーム内でシグナリングされる可能性があり、またはエンコーダ側もしくはデコーダ側で予め定義される可能性がある重み係数である。Kは、やはりビットストリーム内でシグナリングされるかまたはエンコーダ側もしくはデコーダ側で予め定義される可能性がある加算因子である。例として、双予測は、
Bi-prediction = (Prediction1 + Prediction2)/2
を使用して得られる可能性があり、式中、W1およびW2は、1/2に設定され、Kは、0に設定される。
I(x,y,t) = I(x+dx, y+dy, t+dt)
によって与えられる。
1. サンプルの勾配を計算する
2. 第1の予測と第2の予測との間の差を計算する
3. オプティカルフローの式を使用して得られた2つの参照パッチの間の誤差Δ
4. 以下のようなオプティカルフローの式の実装を使用する。
predBIO = 1/2・(I(0) + I(1) + vx/2・(τ1∂I(1)/∂x - τ0∂I(0)/∂x) + vy/2・(τ1∂I(1)/∂y - τ0∂I(0)/∂y))
式中、predBIOは、オプティカルフロー改善プロセスの出力である修正された予測を指定する。
・∂I(x, y, t)/∂x = I(x + 1, y, t) - I(x - 1, y, t)
・∂I(x, y, t)/∂y = I(x, y + 1, t) - I(x, y - 1, t)
ステップ0、図8の1010のように初期動きベクトルを取得する。
ステップ1、動きベクトルの改善が適用され1020、改善された動きベクトル1030が取得される。
ステップ2、予測が改善動きベクトルによって得られる1040。取得された予測は、I(0)およびI(1)であり、これらは、オプティカルフロー改善プロセスの入力である。
ステップ3、オプティカルフロー改善プロセスが、修正された予測を取得するために予測に適用される。修正された予測が、オプティカルフローの式によって得られ、predBIOと表記される。
ステップ0: ビットストリーム内のインジケーション情報に基づいて初期動きベクトルを取得する。
ステップ1: 初期動きベクトルおよびMタップ補間フィルタに基づいて第1の予測を取得する。
ステップ2: 第1の予測によるマッチングコストを取得する。
ステップ3: 初期動きベクトルおよびマッチングコストに従って改善された動きベクトルを取得する。
ステップ4: 改善された動きベクトルおよびKタップ補間フィルタによって第2の予測を取得する。
ステップ5: マッチングコストに従ってオプティカルフロー改善プロセスを実行すべきかどうかを判定する。例において、マッチングコストは、閾値と比較され、オプティカルフロー改善プロセスは、マッチングコストの値が閾値以上であるときに実行される。ステップ5は、ステップ3またはステップ4の前に実行される可能性もある。
ステップ6: オプティカルフロー改善プロセスが実行される必要があると判定されるとき、オプティカルフローの改善が、第2の予測を入力とし、修正された第2の予測を出力として適用される。否定的に判定される場合、オプティカルフローの改善は、第2の予測に適用されない。言い換えると、オプティカルフロー改善プロセスが実行される必要があると判定されるとき、現在のコーディングブロックの最終的な予測は、第2の予測およびオプティカルフロー改善プロセスによって得られる。そうでない場合、現在のコーディングブロックの最終的な予測は、オプティカルフロー改善プロセスの適用なしに第2の予測によって得られる。
(MV0, MV1)
(MV0 + (0,1), MV1 + (0,-1))
(MV0 + (1,0), MV1 + (-1,0))
Bi-prediction = Prediction1 * W1 + Prediction2 * W2 + K
式中、W1およびW2は、重み係数であり、W1およびW2は、ビットストリーム内でシグナリングされる可能性があり、またはW1およびW2は、エンコーダ側もしくはデコーダ側で予め定義される可能性がある。Kは、やはりビットストリーム内でシグナリングされるかまたはエンコーダ側もしくはデコーダ側で予め定義される可能性がある加算因子である。例において、双予測は、
Bi-prediction = (Prediction1 + Prediction2)/2
を使用して得られる可能性があり、式中、W1およびW2は、1/2に設定され、Kは、0に設定される。Prediction1およびPrediction2は、Kタップ補間フィルタリングによって得られる第2の予測であり、Prediction1は、第1の改善されたMV(MV0')に対応し、Prediction2は、第2の改善されたMV(MV1')に対応する。
ステップ0: ビットストリーム内のインジケーション情報に基づいて初期動きベクトルを取得する。
ステップ1: 初期動きベクトルおよびMタップ補間フィルタに基づいて第1の予測を取得する。
ステップ2: 第1の予測によるN個のマッチングコストを取得する。
ステップ3: 第1の関数に基づいて初期動きベクトルおよびN個のマッチングコストに従って改善された動きベクトルを取得する。
ステップ4: 改善された動きベクトルおよびKタップ補間フィルタによって第2の予測を取得する。
ステップ5: N個のマッチングコストに従ってオプティカルフロー改善プロセスを実行すべきかどうかを判定する。導出されるコストは、N個のマッチングコストおよび第2の関数によって得られる。例において、導出されたコストは、閾値と比較され、オプティカルフロー改善プロセスは、導出されたコストの値が閾値以上であるときに実行される。ステップ5は、ステップ3またはステップ4の前に実行される可能性もある。
ステップ6: オプティカルフロー改善プロセスが実行される必要があると判定されるとき、オプティカルフローの改善の適用によって現在のコーディングブロックの予測の少なくとも1つのサンプルを修正する。
- (sad[ 3 ] + sad[5])が( sad[ 4 ] << 1 )に等しい場合、dmvOffset[ 0 ]が0に等しいように設定される
- そうでない場合、以下が適用される
dmvOffset[ 0 ] = ( ( sad[ 3 ] - sad[ 5 ] ) << 3 ) / ( sad[ 3 ] + sad[ 5 ] - ( sad[ 4 ] << 1 ) )
- ( sad[ 1 ] + sad[7])が( sad[ 4 ] << 1 )に等しい場合、dmvOffset[ 1 ]が0に等しいように設定される
- そうでない場合、以下が適用される
dmvOffset[ 1 ] = ( ( sad[ 1 ] - sad[ 7 ] ) << 3 ) / ( sad[ 1 ] + sad[ 7 ] - ( sad[ 4 ] << 1 ) )
式中、dmvOffset[0]およびdmvOffset[1]は、初期動きベクトルと改善された動きベクトルとの間の差を指定する。例において、dmvOffset[0]およびdmvOffset[1]は、改善された動きベクトルと初期動きベクトルとの間の差の-xおよび-y成分を指定する。sad[0]からsad[7]は、N個の候補動きベクトルのペアに対応するN個のマッチングコストである。改善された動きベクトルは、初期動きベクトルにdmvOffsetを足すことによって得られる。
Bi-prediction = Prediction1 * W1 + Prediction2 * W2 + K
式中、W1およびW2は、重み係数であり、W1およびW2は、ビットストリーム内でシグナリングされる可能性があり、またはエンコーダ側もしくはデコーダ側で予め定義される可能性がある。Kは、やはりビットストリーム内でシグナリングされるかまたはエンコーダ側もしくはデコーダ側で予め定義される可能性がある加算因子である。例において、双予測は、
Bi-prediction = (Prediction1 + Prediction2)/2
を使用して得られる可能性があり、式中、W1およびW2は、1/2に設定され、Kは、0に設定される。Prediction1およびPrediction2は、Kタップ補間フィルタリングによって得られる第2の予測であり、Prediction1は、第1の改善されたMV(MV0')に対応し、Prediction2は、第2の改善されたMV(MV1')に対応する。
・Sad[1]*A + Sad[2]*B + Sad[3]*C + Sad[4]*D、式中、A、B、C、およびDは、ゼロ以上である。一例において、A、B、C、およびDは、0と1との間であり、合計で1になる(つまり、A+B+C+D=1)数である可能性がある。別の例において、A、B、C、およびDは、0以上であり、合計で予め定義された決まった数Pになる数である可能性があり、Pは、1、2、4、8、16などに等しい可能性がある。
・A、B、C、およびDは、予め定義された決まった数である可能性がある。
・A、B、C、およびDは、dmvOffset[ 0 ]およびdmvOffset[ 1 ]に従って導出される可能性がある。例においては、A = dmvOffset[ 0 ]、B = P1 - dmvOffset[ 0 ]、C = dmvOffset[ 1 ]、D = P2 - dmvOffset[ 1 ]である。式中、P1およびP2は、1、4、8、16などに等しい可能性がある。
・上の式は、例として与えられる。式は、導出されたコストを得るための4つのマッチングコストの線形結合を表す。式においては、ステップ3で取得される可能性があるdmvOffsetが使用される。dmvOffsetは、改善された動きベクトルと初期動きベクトルとの間の差を表す。1つの特定の実装において、dmvOffsetは、MV0とMV0'との間の差として定義される。より詳細には、dmvOffset[0]は、MV0およびMV0'の-x成分の間の差である可能性があり、一方、dmvOffset[1]は、MV0およびMV0'の-y成分の間の差である可能性がある。
・Sad[1]*A + Sad[2]*B + Sad[3]*C、式中、A、B、およびCは、ゼロ以上である。一例において、A、B、およびCは、0と1との間であり、合計で1になる(つまり、A+B+C=1)数である可能性がある。別の例において、A、B、およびCは、0以上であり、合計で予め定義された決まった数Pになる数である可能性があり、Pは、1、2、4、8、16などに等しい可能性がある。
・A、B、およびCは、予め定義された決まった数であることが可能である。
・A、B、およびCは、dmvOffset[ 0 ]およびdmvOffset[ 1 ]に従って導出される可能性がある。例においては、A = P - dmvOffset[ 0 ] - dmvOffset[ 1 ]、B = dmvOffset[ 0 ]、C = dmvOffset[ 1 ]である。式中、Pは、1、4、8、16などに等しい可能性がある。
・上の式は、例として与えられる。式は、導出されたコストを得るための3つのマッチングコストの線形結合を表す。式においては、ステップ3で取得される可能性があるdmvOffsetが使用される。dmvOffsetは、改善された動きベクトルと初期動きベクトルとの間の差を表す。一例において、dmvOffsetは、MV0とMV0'との間の差として定義される。より詳細には、dmvOffset[0]は、MV0およびMV0'の-x成分の間の差である可能性があり、一方、dmvOffset[1]は、MV0およびMV0'の-y成分の間の差である可能性がある。
・改善されたMVのペアおよび改善されたMVのペアから整数の距離にある候補MVのペアの5つの評価された相違のコスト値(たとえば、SAD値)を使用して、パラメトリック誤差曲面関数
E(x,y) = A*(x - x0)2 + B*(y - y0)2 + C
が当てはめられ、(x0, y0)は、2つの参照パッチの間の相違が最小化される位置に対応し、Cは、(x0, y0)におけるコストの値であり、A、Bは、モデル係数である。これらの5つの未知数は、5つのコスト値が利用可能である場合、厳密に解かれ得る。言い換えると、E(x,y)の式は、最小マッチングコストの位置の近くの空間的位置の関数としてのマッチングコストの形が放物線の形であると仮定する。
ステップ0: ビットストリーム内のインジケーション情報に基づいて初期動きベクトルのペアを取得する。
ステップ1: 初期MVのペアおよびMタップ補間フィルタに基づいて予測されたサンプルの第1の集合を取得する。
ステップ2: 予測されたサンプルの第1の集合を使用して初期MVのペアに対応する第1のマッチングコストを取得する。
ステップ3: 現在のコーディングブロックが動きベクトルの改善を実行するのに適格であるかどうかを判定する。
ステップ4: ステップ3において現在のコーディングブロックがMVRを実行するのに適格であると判定される場合、
ステップ4a: 動きベクトル改善プロセスを使用して初期MVのペアおよびマッチングコストに従って改善されたMVのペアおよび改善されたMVのペアに対応するマッチングコストを取得する。
ステップ4b: 改善されたMVのペアおよびKタップ補間フィルタによって予測されたサンプルの第2の集合を取得する。
ステップ4c: 第2のマッチングコストに従ってオプティカルフロー改善プロセスを実行すべきかどうかを判定する。例において、マッチングコストは、閾値と比較され、オプティカルフロー改善プロセスは、マッチングコストの値が閾値以上であるときに実行される。
ステップ5: そうでない場合(ステップ3において現在のコーディングブロックがMVRを実行するのにふさわしくないと判定される場合)、
ステップ5a: 初期MVのペアおよびKタップ補間フィルタによって予測されたサンプルの第2の集合を取得する。
ステップ5b: 第1のマッチングコストに従ってオプティカルフロー改善プロセスを実行すべきかどうかを判定する。例において、マッチングコストは、閾値と比較され、オプティカルフロー改善プロセスは、マッチングコストの値が閾値以上であるときに実行される。
ステップ6: (ステップ4cかまたはステップ5bかのどちらかにおいて)オプティカルフロー改善プロセスが実行される必要があると判定されるとき、オプティカルフローの改善が、第2の予測を入力とし、修正された第2の予測を出力として適用される。否定的に判定される場合、オプティカルフローの改善は、第2の予測に適用されない。言い換えると、オプティカルフロー改善プロセスが実行される必要があると判定されるとき、現在のコーディングブロックの最終的な予測は、第2の予測およびオプティカルフロー改善プロセスによって得られる。そうでない場合、現在のコーディングブロックの最終的な予測は、オプティカルフロー改善プロセスの適用なしに第2の予測によって得られる。
現在のピクチャの左上のルマサンプルに対する現在のコーディング下位ブロック(subblock)の左上のサンプルを指定するルマ位置(xSb, ySb)
現在のコーディング下位ブロックの幅をルマサンプルで指定する変数sbWidth
現在のコーディング下位ブロックの高さをルマサンプルで指定する変数sbHeight
1/16の小数サンプル精度のルマ動きベクトルmvL0およびmvL1
選択されたルマ参照ピクチャサンプル配列refPicL0LおよびrefPicL1L
本出願において使用される数学演算子は、Cプログラミング言語において使用される数学演算子に似ている。しかし、整数の除算および算術シフト演算の結果は、より厳密に定義され、累乗および実数値の除算などの追加の演算が、定義される。付番およびカウントの規則は、概して0から始まり、たとえば、「第1」は、0番と等価であり、「第2」は、1番と等価であり、以下同様である。
以下の算術演算子が、以下の通り定義される。
以下の論理演算子が、以下の通り定義される。
x && y xおよびyのブール論理「積」
x || y xおよびyのブール論理「和」
! ブール論理「否定」
x ? y : z xが真であるかまたは0に等しくない場合、値yと評価され、そうでない場合、値zと評価される。
以下の関係演算子が、以下の通り定義される。
> より大きい
>= 以上
< 未満
<= 以下
== 等しい
!= 等しくない
以下のビット演算子が、以下の通り定義される。
& ビット毎の「論理積」。整数引数に対する演算のとき、整数値の2の補数表現に対して作用する。別の引数よりも少ないビットを含む2進数引数に対する演算のとき、より短い引数が、0に等しいさらに上位桁のビットを追加することによって拡張される。
| ビット毎の「論理和」。整数引数に対する演算のとき、整数値の2の補数表現に対して作用する。別の引数よりも少ないビットを含む2進数引数に対する演算のとき、より短い引数が、0に等しいさらに上位桁のビットを追加することによって拡張される。
^ ビット毎の「排他的論理和」。整数引数に対する演算のとき、整数値の2の補数表現に対して作用する。別の引数よりも少ないビットを含む2進数引数に対する演算のとき、より短い引数が、0に等しいさらに上位桁のビットを追加することによって拡張される。
x>>y xの2の補数による整数の表現の、2進数のy桁分の算術右シフト。この関数は、yの非負の整数値に対してのみ定義される。右シフトの結果として最上位ビット(MSB)にシフトされるビットは、シフト演算の前のxのMSBに等しい値を有する。
x<<y xの2の補数による整数の表現の、2進数のy桁分の算術左シフト。この関数は、yの非負の整数値に対してのみ定義される。左シフトの結果として最下位ビット(LSB)にシフトされるビットは、0に等しい値を有する。
以下の算術演算子が、以下の通り定義される。
= 代入演算子
++ インクリメント、つまり、x++は、x = x + 1と等価であり、配列のインデックスに使用されるとき、インクリメント演算の前に変数の値と評価される。
-- デクリメント、つまり、x--は、x = x - 1と等価であり、配列のインデックスに使用されるとき、デクリメント演算の前に変数の値と評価される。
+= 指定された量のインクリメント、つまり、x += 3は、x = x + 3と等価であり、x += (-3)は、x = x + (-3)と等価である。
-= 指定された量のデクリメント、つまり、x -= 3は、x = x - 3と等価であり、x -= (-3)は、x = x - (-3)と等価である。
以下の表記が、値の範囲を指定するために使用される。
x = y..z xは、x、y、およびzが整数値であり、zがyよりも大きいものとして、yおよびzを含んでyからzまでの整数値を取る。
以下の数学関数が、定義される。
Atan( x ) 引数xに作用し、ラジアンを単位として-π÷2およびπ÷2を含んで-π÷2からπ÷2までの範囲の出力値を有する三角法の逆正接関数
Clip1Y( x ) = Clip3( 0, ( 1 << BitDepthY ) - 1, x )
Clip1C( x ) = Clip3( 0, ( 1 << BitDepthC ) - 1, x )
Floor(x) x以下の最大の整数。
Log2( x ) xの2を底とする対数。
Log10( x ) xの10を底とする対数。
式中の優先順位が括弧を使用して明示されないとき、以下の規則が、適用される。
- より高い優先度の演算は、より低い優先度のいかなる演算よりも前に評価される。
- 同じ優先度の演算は、左から右に順に評価される。
本文中、以下の形態で、すなわち、
if( 条件0 )
ステートメント0
else if( 条件1 )
ステートメント1
...
else /* 残りの条件に関する情報を伝えるコメント */
ステートメントn
の形態で数学的に記述される論理演算のステートメントは、以下のように記述される可能性がある。
以下のように... / ...以下が適用される。
- 条件0の場合、ステートメント0
- そうではなく、条件1の場合、ステートメント1
- ...
- それ以外の場合(残りの条件に関する情報を伝えるコメント)、ステートメントn
if( 条件0a && 条件0b )
ステートメント0
else if( 条件1a || 条件1b )
ステートメント1
...
else
ステートメントn
の形態で数学的に記述される論理演算のステートメントは、以下のように記述される可能性がある。
以下のように... / ...以下が適用される。
- 以下の条件のすべてが真である場合、ステートメント0
- 条件0a
- 条件0b
- そうでなく、以下の条件のうちの1つまたは複数が真である場合、ステートメント1
- 条件1a
- 条件1b
- ...
- それ以外の場合、ステートメントn
if( 条件0 )
ステートメント0
if( 条件1 )
ステートメント1
の形態で数学的に記述される論理演算のステートメントは、以下のように記述される可能性がある。
条件0のとき、ステートメント0
条件1のとき、ステートメント1
12 送信元デバイス
13 符号化されたピクチャデータ、通信チャネル
14 送信先デバイス
16 ピクチャソース
17 ピクチャ、ピクチャデータ、生ピクチャ、生ピクチャデータ、モノクロピクチャ、カラーピクチャ、現在のピクチャ
18 プリプロセッサ、前処理ユニット、ピクチャプリプロセッサ
19 前処理されたピクチャ、前処理されたピクチャデータ
20 ビデオエンコーダ、エンコーダ
21 符号化されたピクチャデータ、符号化されたビットストリーム
22 通信インターフェース、通信ユニット
28 通信インターフェース、通信ユニット
30 デコーダ、ビデオデコーダ
31 復号されたピクチャデータ、復号されたピクチャ
32 ポストプロセッサ、後処理ユニット
33 後処理されたピクチャデータ、後処理されたピクチャ
34 ディスプレイデバイス
46 処理回路
100 ビデオエンコーダ
201 入力、入力インターフェース
203 ピクチャブロック、元のブロック、現在のブロック、区分けされたブロック、現在のピクチャブロック
204 残差計算ユニット、残差計算
205 残差ブロック、残差
206 変換処理ユニット、変換
207 変換係数
208 量子化ユニット、量子化
209 量子化された係数、量子化された変換係数、量子化された残差係数
210 量子化解除ユニット、量子化解除
211 量子化解除された係数、量子化解除された残差係数
212 逆変換処理ユニット、(逆)変換
213 再構築された残差ブロック、量子化解除された係数、変換ブロック
214 再構築ユニット、加算器、合算器
215 再構築されたブロック
216 バッファ
220 ループフィルタユニット、ループフィルタ
221 フィルタリングされたブロック、フィルタリングされた再構築されたブロック
230 復号ピクチャバッファ(DPB)
231 復号されたピクチャ
244 インター予測ユニット
254 イントラ予測ユニット、インター予測ユニット、イントラ予測
260 モード選択ユニット
262 区分けユニット、区分け
265 予測ブロック、予測子
266 シンタックス要素
270 エントロピー符号化ユニット、エントロピーコーディング
272 出力、出力インターフェース
304 エントロピー復号ユニット、残差計算、エントロピー復号
309 量子化された係数
310 量子化解除ユニット、量子化解除
311 量子化解除された係数、変換係数
312 逆変換処理ユニット、(逆)変換、出力
313 再構築された残差ブロック
314 再構築ユニット、合算器、加算器
315 再構築されたブロック
320 ループフィルタ、ループフィルタユニット
321 フィルタリングされたブロック、復号されたビデオブロック
330 復号ピクチャバッファ(DPB)
331 復号されたピクチャ
344 インター予測ユニット
354 イントラ予測ユニット、イントラ予測
360 モード適用ユニット
362 区分け
365 予測ブロック
400 ビデオコーディングデバイス
410 着信ポート、入力ポート
420 受信機ユニット(Rx)
430 プロセッサ、論理ユニット、中央演算処理装置(CPU)
440 送信機ユニット(Tx)
450 発信ポート、出力ポート
460 メモリ
470 コーディングモジュール
500 装置
502 プロセッサ
504 メモリ
506 データ
508 オペレーティングシステム
510 アプリケーションプログラム
512 バス
514 二次ストレージ
518 ディスプレイ
1300 デバイス
1310 初期動きベクトルユニット
1320 予測ユニット
1330 マッチングコスト計算ユニット
1340 オプティカルフロー改善プロセス判定ユニット
1350 オプティカルフロー改善プロセス実行ユニット
Claims (14)
- 復号デバイスまたは符号化デバイスにおいて実施されるビデオコーディングの方法であって、
現在のブロックに関する初期動きベクトルを取得するステップと、
前記初期動きベクトルに基づいて前記現在のブロック内のサンプル値に関する第1の予測を取得するステップと、
前記第1の予測に従って第1のマッチングコストを計算するステップと、
前記初期動きベクトルに基づいて改善された動きベクトルを取得するステップと、
前記改善された動きベクトルに対応する第2のマッチングコストを取得するステップと、
前記改善された動きベクトルに従って、前記現在のブロック内の前記サンプル値に関する第2の予測を取得するステップと、
少なくとも1つの予め設定された条件に従って、オプティカルフロー改善プロセスが実行されるべきか否かを判定するステップであって、前記少なくとも1つの予め設定された条件が、前記第2のマッチングコストが閾値以上であるかどうかという条件を含む、ステップと、
前記オプティカルフロー改善プロセスが実行されるべきであると判定されるときに、前記現在のブロック内の前記サンプル値に関する最終的なインター予測を取得するために前記第2の予測に基づいて前記オプティカルフロー改善プロセスを実行するステップと
を含み、
前記オプティカルフロー改善プロセスが実行されるべきないと判定されるときにのみ、前記最終的なインター予測が、前記第2の予測の加重和によって得られる、方法。 - 前記少なくとも1つの予め設定された条件が、前記現在のブロックがデコーダ側の動きベクトルの改善によって予測されることが可能であるという条件を含む、請求項1に記載の方法。
- 前記少なくとも1つの予め設定された条件のすべてが満たされると判定されるときに、前記オプティカルフロー改善プロセスが実行されるべきであると判定される、請求項1または2に記載の方法。
- 前記現在のブロック内の前記サンプル値に関する前記第1の予測が、第1の補間フィルタに基づいて取得される、請求項1から3のいずれか一項に記載の方法。
- 前記第1の補間フィルタが、バイリニア補間フィルタである、請求項4に記載の方法。
- 前記初期動きベクトルに基づいて前記現在のブロック内のサンプル値に関する第1の予測を取得する前記ステップが、
前記初期動きベクトルに基づいて候補のいくつかのペアを取得するステップと、
候補の前記ペアのうちの少なくとも1つに基づいて前記現在のブロック内のサンプル値に関する第1の予測を取得するステップと
を含み、
前記第1の予測に従って第1のマッチングコストを計算する前記ステップが、
前記第1の予測に基づいて候補の前記ペアの各々に関するマッチングコストを決定するステップと、
前記決定されたマッチングコストのうちの最小のマッチングコストを前記第1のマッチングコストとして決定するステップと
を含む、請求項1から5のいずれか一項に記載の方法。 - 前記現在のブロック内の前記サンプル値に関する前記第2の予測が、第2の補間フィルタに従って取得される、請求項1または6に記載の方法。
- 第2の補間フィルタが、6タップまたは8タップ補間フィルタである、請求項1から7のいずれか一項に記載の方法。
- 前記閾値が、前記現在のブロックのサイズに従って取得される、請求項1から8のいずれか一項に記載の方法。
- 前記現在のブロックが、コーディングブロックまたは下位ブロックである、請求項1から9のいずれか一項に記載の方法。
- 前記現在のブロック内の前記サンプル値に関する前記最終的なインター予測を含むインター予測ブロックを生成するステップをさらに含む、請求項1から10のいずれか一項に記載の方法。
- 請求項1から11のいずれか一項に記載の方法を実行するための処理回路を含む、エンコーダ(20)。
- 請求項1から11のいずれか一項に記載の方法を実行するための処理回路を含む、デコーダ(30)。
- 請求項1から11のいずれか一項に記載の方法を実行するためのプログラムコードを含む、コンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023071739A JP2023099561A (ja) | 2019-02-22 | 2023-04-25 | オプティカルフローの改善の早期終了 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201931007114 | 2019-02-22 | ||
IN201931007114 | 2019-02-22 | ||
PCT/CN2020/076178 WO2020169083A1 (en) | 2019-02-22 | 2020-02-21 | Early termination for optical flow refinement |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023071739A Division JP2023099561A (ja) | 2019-02-22 | 2023-04-25 | オプティカルフローの改善の早期終了 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022521748A JP2022521748A (ja) | 2022-04-12 |
JP7271697B2 true JP7271697B2 (ja) | 2023-05-11 |
Family
ID=72144773
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021549390A Active JP7271697B2 (ja) | 2019-02-22 | 2020-02-21 | オプティカルフローの改善の早期終了 |
JP2023071739A Pending JP2023099561A (ja) | 2019-02-22 | 2023-04-25 | オプティカルフローの改善の早期終了 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023071739A Pending JP2023099561A (ja) | 2019-02-22 | 2023-04-25 | オプティカルフローの改善の早期終了 |
Country Status (17)
Country | Link |
---|---|
EP (2) | EP4243418A3 (ja) |
JP (2) | JP7271697B2 (ja) |
KR (2) | KR20240000638A (ja) |
CN (2) | CN113383550A (ja) |
AU (1) | AU2020226553A1 (ja) |
BR (1) | BR112021016270A2 (ja) |
CA (1) | CA3128112A1 (ja) |
DK (1) | DK3912352T3 (ja) |
ES (1) | ES2965083T3 (ja) |
FI (1) | FI3912352T3 (ja) |
HU (1) | HUE063469T2 (ja) |
MX (1) | MX2021009931A (ja) |
PL (1) | PL3912352T3 (ja) |
PT (1) | PT3912352T (ja) |
SG (1) | SG11202107970QA (ja) |
WO (1) | WO2020169083A1 (ja) |
ZA (1) | ZA202106944B (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023277755A1 (en) * | 2021-06-30 | 2023-01-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Selective subblock-based motion refinement |
WO2023277756A1 (en) * | 2021-06-30 | 2023-01-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Overlapped decoder side motion refinement |
WO2023193769A1 (en) * | 2022-04-06 | 2023-10-12 | Mediatek Inc. | Implicit multi-pass decoder-side motion vector refinement |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180242004A1 (en) | 2015-08-23 | 2018-08-23 | Lg Electronics Inc. | Inter prediction mode-based image processing method and apparatus therefor |
WO2018173895A1 (ja) | 2017-03-21 | 2018-09-27 | シャープ株式会社 | 予測画像生成装置、動画像復号装置、および動画像符号化装置 |
WO2019010156A1 (en) | 2017-07-03 | 2019-01-10 | Vid Scale, Inc. | MOTION COMPENSATION PREDICTION BASED ON A BIDIRECTIONAL OPTICAL FLOW |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040076333A1 (en) | 2002-10-22 | 2004-04-22 | Huipin Zhang | Adaptive interpolation filter system for motion compensated predictive video coding |
US10127644B2 (en) * | 2015-04-10 | 2018-11-13 | Apple Inc. | Generating synthetic video frames using optical flow |
WO2017036414A1 (en) * | 2015-09-02 | 2017-03-09 | Mediatek Inc. | Method and apparatus of decoder side motion derivation for video coding |
WO2017036399A1 (en) * | 2015-09-02 | 2017-03-09 | Mediatek Inc. | Method and apparatus of motion compensation for video coding based on bi prediction optical flow techniques |
EP4138392A1 (en) * | 2016-02-05 | 2023-02-22 | HFI Innovation Inc. | Method and apparatus of motion compensation based on bi-directional optical flow techniques for video coding |
US20180199057A1 (en) * | 2017-01-12 | 2018-07-12 | Mediatek Inc. | Method and Apparatus of Candidate Skipping for Predictor Refinement in Video Coding |
WO2019001741A1 (en) * | 2017-06-30 | 2019-01-03 | Huawei Technologies Co., Ltd. | MOTION VECTOR REFINEMENT FOR MULTI-REFERENCE PREDICTION |
-
2020
- 2020-02-21 SG SG11202107970QA patent/SG11202107970QA/en unknown
- 2020-02-21 FI FIEP20759812.9T patent/FI3912352T3/fi active
- 2020-02-21 CN CN202080012432.8A patent/CN113383550A/zh active Pending
- 2020-02-21 CN CN202210411178.XA patent/CN114845102B/zh active Active
- 2020-02-21 WO PCT/CN2020/076178 patent/WO2020169083A1/en unknown
- 2020-02-21 EP EP23184185.9A patent/EP4243418A3/en active Pending
- 2020-02-21 PT PT207598129T patent/PT3912352T/pt unknown
- 2020-02-21 MX MX2021009931A patent/MX2021009931A/es unknown
- 2020-02-21 AU AU2020226553A patent/AU2020226553A1/en active Pending
- 2020-02-21 KR KR1020237043656A patent/KR20240000638A/ko not_active Application Discontinuation
- 2020-02-21 JP JP2021549390A patent/JP7271697B2/ja active Active
- 2020-02-21 BR BR112021016270-4A patent/BR112021016270A2/pt unknown
- 2020-02-21 KR KR1020217026337A patent/KR102616714B1/ko active IP Right Grant
- 2020-02-21 ES ES20759812T patent/ES2965083T3/es active Active
- 2020-02-21 DK DK20759812.9T patent/DK3912352T3/da active
- 2020-02-21 CA CA3128112A patent/CA3128112A1/en active Pending
- 2020-02-21 HU HUE20759812A patent/HUE063469T2/hu unknown
- 2020-02-21 PL PL20759812.9T patent/PL3912352T3/pl unknown
- 2020-02-21 EP EP20759812.9A patent/EP3912352B1/en active Active
-
2021
- 2021-09-17 ZA ZA2021/06944A patent/ZA202106944B/en unknown
-
2023
- 2023-04-25 JP JP2023071739A patent/JP2023099561A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180242004A1 (en) | 2015-08-23 | 2018-08-23 | Lg Electronics Inc. | Inter prediction mode-based image processing method and apparatus therefor |
WO2018173895A1 (ja) | 2017-03-21 | 2018-09-27 | シャープ株式会社 | 予測画像生成装置、動画像復号装置、および動画像符号化装置 |
WO2019010156A1 (en) | 2017-07-03 | 2019-01-10 | Vid Scale, Inc. | MOTION COMPENSATION PREDICTION BASED ON A BIDIRECTIONAL OPTICAL FLOW |
Non-Patent Citations (3)
Title |
---|
Kenji Kondo, Masaru Ikeda, and Teruhiko Suzuki,Non-CE9: On early termination for BDOF,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M0073-r2,13th Meeting: Marrakech, MA,2019年01月,pp.1-5 |
Kyohei Unno, Kei Kawamura, and Sei Naito,CE9-related: Alternative method of SAD based early termination for BDOF,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-N0158-v2,14th Meeting: Geneva, CH,2019年03月,pp.1-4 |
Xiaoyu Xiu,et al.,Description of SDR, HDR, and 360° video coding technology proposal by InterDigital Communications and Dolby Laboratories,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-J0015-v1,10th Meeting: San Diego, US,2018年04月,pp.1-9 |
Also Published As
Publication number | Publication date |
---|---|
WO2020169083A1 (en) | 2020-08-27 |
PL3912352T3 (pl) | 2024-02-26 |
ZA202106944B (en) | 2022-09-28 |
DK3912352T3 (da) | 2023-11-20 |
EP3912352B1 (en) | 2023-09-06 |
AU2020226553A1 (en) | 2021-08-19 |
KR102616714B1 (ko) | 2023-12-20 |
US20210392334A1 (en) | 2021-12-16 |
JP2023099561A (ja) | 2023-07-13 |
PT3912352T (pt) | 2023-11-21 |
FI3912352T3 (fi) | 2023-11-30 |
CA3128112A1 (en) | 2020-08-27 |
BR112021016270A2 (pt) | 2021-10-13 |
ES2965083T3 (es) | 2024-04-10 |
EP4243418A3 (en) | 2023-10-25 |
EP4243418A2 (en) | 2023-09-13 |
CN114845102A (zh) | 2022-08-02 |
JP2022521748A (ja) | 2022-04-12 |
CN114845102B (zh) | 2023-07-07 |
CN113383550A (zh) | 2021-09-10 |
EP3912352A4 (en) | 2022-04-20 |
MX2021009931A (es) | 2021-09-21 |
HUE063469T2 (hu) | 2024-01-28 |
KR20240000638A (ko) | 2024-01-02 |
KR20210113384A (ko) | 2021-09-15 |
SG11202107970QA (en) | 2021-08-30 |
EP3912352A1 (en) | 2021-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020181997A1 (en) | An encoder, a decoder and corresponding methods for inter prediction | |
WO2020177696A1 (en) | Use of extended samples during search in decoder-side motion refinement | |
US20210400259A1 (en) | Dmvr using decimated prediction block | |
JP7271697B2 (ja) | オプティカルフローの改善の早期終了 | |
JP2024009038A (ja) | 双予測のオプティカルフロー計算および双予測補正におけるブロックレベル境界サンプル勾配計算のための整数グリッド参照サンプルの位置を計算するための方法 | |
CA3117627A1 (en) | Separate merge list for subblock merge candidates and intra-inter techniques harmonization for video coding | |
JP2023100701A (ja) | イントラ予測のためのイントラモードコーディングを使用するエンコーダ、デコーダ、および対応する方法 | |
WO2020253853A1 (en) | Early termination for optical flow refinment | |
WO2020085955A1 (en) | Method and apparatus for reference sample filtering | |
US11985320B2 (en) | Early termination for optical flow refinement | |
RU2808608C2 (ru) | Раннее прекращение уточнения оптического потока | |
RU2814812C2 (ru) | Выведение веса выборки цветности для геометрического режима разделения | |
WO2021006773A1 (en) | Motion field storage optimization for the line buffer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211019 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211019 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221205 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230302 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230327 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230426 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7271697 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |