JP7257524B2 - ビデオエンコーディング/デコーディングシステムにおけるサイド動き精細化 - Google Patents

ビデオエンコーディング/デコーディングシステムにおけるサイド動き精細化 Download PDF

Info

Publication number
JP7257524B2
JP7257524B2 JP2021538229A JP2021538229A JP7257524B2 JP 7257524 B2 JP7257524 B2 JP 7257524B2 JP 2021538229 A JP2021538229 A JP 2021538229A JP 2021538229 A JP2021538229 A JP 2021538229A JP 7257524 B2 JP7257524 B2 JP 7257524B2
Authority
JP
Japan
Prior art keywords
motion vector
order count
component
picture order
decoder
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
Application number
JP2021538229A
Other languages
English (en)
Other versions
JP2022515875A (ja
Inventor
デュ リュウ,
リキャルド ショバーリ,
ヤコブ ストレム,
ルオヤン ユー,
Original Assignee
テレフオンアクチーボラゲット エルエム エリクソン(パブル)
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 テレフオンアクチーボラゲット エルエム エリクソン(パブル) filed Critical テレフオンアクチーボラゲット エルエム エリクソン(パブル)
Publication of JP2022515875A publication Critical patent/JP2022515875A/ja
Application granted granted Critical
Publication of JP7257524B2 publication Critical patent/JP7257524B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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

Landscapes

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

Description

本出願は、ビデオエンコーディングおよびデコーディングのための方法および装置に関する。
ビデオシーケンスは、一連のピクチャを含む。各ピクチャは、シーケンスにおける表示順序を示すピクチャ順序カウント(POC)値を割り当てられる。
シーケンスにおける各ピクチャは、1つまたは複数の成分を含む。各成分は、サンプル値の2次元の長方形配列として説明できる。通常、ビデオシーケンスにおける画像は、次の3つの成分、すなわち、サンプル値がルーマ値である1つのルーマ成分Yと、サンプル値がクローマ値である2つのクローマ成分CbおよびCrとで構成される。他の例は、Y’CbCr、YUV、およびICTCPを含む。ICTCPでは、Iは「強度ルーマ」成分である。以下の説明では、任意のルーマ成分Y’、Y、またはIは、Yまたは単にルーマと呼ばれる。通常、クローマ成分の大きさは、各大きさで2分の1だけルーマ成分よりも小さい。たとえば、高密度(HD)画像のルーマ成分のサイズは1920×1080であり、クローマ成分はおのおの960×540の大きさを有する。クローマ成分は、カラー成分と呼ばれることもある。
ビデオコーディングは、ビデオシーケンスを、コード化されたピクチャのシーケンスに圧縮するために使用される。通常、ピクチャは4×4から128×128の範囲のサイズのブロックに分割される。ブロックはコーディングの基礎としてサーブする。次に、ビデオデコーダは、コード化されたピクチャを、サンプル値を含むピクチャに復号する。
ブロックは、サンプルの2次元配列である。ビデオコーディングでは、各成分がブロックに分割され、コード化されたビデオビットストリームは一連のブロックで構成される。通常、ビデオコーディングでは、画像は、画像の特定の領域をカバーするユニットに分割される。各ユニットは、その特定の領域を構成するすべての成分からのすべてのブロックで構成され、各ブロックは1つのユニットに属する。H.264におけるマクロブロックと、高効率ビデオコーディング(HEVC)におけるコーディングユニット(CU)は、ユニットの例である。
ドラフトVVCビデオコーディング規格は、クアッドツリープラスバイナリツリープラスターナリツリー(四分木プラスニ分木プラス三分木)ブロック構造(QTBT+TT)と呼ばれるブロック構造を使用し、各ピクチャは、最初にコーディングツリーユニット(CTU)と呼ばれる正方形ブロックにパーティションされる。すべてのCTUのサイズは同じであり、パーティションは、構文を制御せずに実行される。各CTUはさらに、正方形または長方形の形状を有することができるコーディングユニット(CU)にパーティションされる。CTUは、最初にクアッドツリー構造でパーティションされ、次にバイナリ構造で垂直方向または水平方向に同じサイズのパーティションでさらにパーティションされて、コーディングユニット(CU)を形成する。したがって、ブロックは正方形または長方形のいずれかの形状をとることができる。クアッドツリーとバイナリツリーの深さは、ビットストリームにおいてエンコーダで設定できる。QTBTを使用してCTUを分割する例を図1に示す。特に、図1は、4つのCTU14に分割されたピクチャ12を示す。CTUはさらに、正方形または長方形のCU16にパーティションされる。図1は、ピクチャをパーティションするために使用されるQTBT+TT18も示す。ターナリツリー(TT)部分は、CUを2つの同じサイズのパーティションではなく3つのパーティションに分割する可能性を追加する。これにより、ピクチャにおけるコンテンツ構造に、より適したブロック構造を使用する可能性が高まる。
相互予測
時間領域における効率的な圧縮を達成するために、相互予測技法は、ピクチャ間の類似性を調べることを目的とする。相互予測は、以前に復号されたピクチャを使用して、カレントピクチャにおけるブロックを予測する。以前に復号されたピクチャは、カレントピクチャの参照ピクチャと呼ばれる。
ビデオエンコーダでは、動き推定と呼ばれる方法が、通常、参照ピクチャにおける最も類似したブロックを発見するために使用される。カレントブロックとその参照ブロックとの間の変位は、動きベクトル(MV)である。MVには、MV.xとMV.yの2つの成分、つまりx方向とy方向とがある。図2は、カレントピクチャ24におけるカレントブロック22と、参照ピクチャ28における参照ブロック26との間のMVの例を示す。MVは、ビデオビットストリームでデコーダにシグナルされる。カレントピクチャ24は、ピクチャ順序カウントPOC0を有する一方、参照ピクチャ28は、ピクチャ順序カウントPOC1を有する。ビデオビットストリームにおけるピクチャは、表示順序から外れて符号化および/または復号される場合があるので、参照ピクチャのPOCは、カレントピクチャのPOCの前または後にある可能性がある(すなわち、カレントピクチャは、ピクチャ順序カウントにおけるカレントピクチャの後に続くピクチャから予測できる)ことに留意されたい。
ビデオデコーダは、ビデオビットストリームからMVを復号する。次に、デコーダは、MVを使用して、参照ピクチャにおける対応する参照ブロックを発見する動き補償と呼ばれる方法を適用する。
参照ピクチャにおける少なくとも1つの参照ブロックからブロックが予測される場合、ブロックは相互ブロックと呼ばれる。
双方向性相互予測
参照ブロックの数は1つに限定されない。双方向性動き補償では、2つの参照ブロックを使用して、時間的冗長性をさらに調べることができ、すなわち、カレントブロックは、以前に復号された2つのブロックから予測される。双方向性動き補償を使用するピクチャは、双方向性予測ピクチャ(B-ピクチャ)と呼ばれる。図3は、それぞれ参照ピクチャ28、34における参照ブロック26、32に基づく双方向性動き補償を伴うカレントピクチャ24におけるブロック22の例を示す。この例では、第1の動きベクトル(MV0)は、カレントブロックの点Cから、第1の参照ブロック26の点Aを指す一方、第2の動きベクトル(MV1)は、カレントブロックの点Cから、第2の参照ブロック32の点Bを指す。
動き情報のセットは、MV(MV.xおよびMV.y)およびPOC番号を有する参照ピクチャを含む。双方向性動き補償を使用する場合、2つのセットの動き情報、すなわち、図3に示すように、MV0、POC1、および関連するブロック26を備えたセット0と、MV1、POC2、および関連するブロック32を備えたセット1とがある。
カレントB-ピクチャと参照ピクチャとの間の時間的距離は、ピクチャ間の絶対POC差によって表すことができる。たとえば、図3における参照ピクチャ0がPOC1=0で、カレントB-ピクチャがPOC0=8である場合、2つのピクチャ間の絶対時間的距離は、|POC1-POC0|=8である。2つのピクチャ間の符号付き時間的距離は、単純に(POC1-POC0)=-8である。間の符号付き時間的距離の負の符号は、カレントB-ピクチャが、表示シーケンスにおいて、参照ピクチャの後に来ることを示す。
MV差およびMVスケーリング
2つのMV間の類似性を比較する一般的な手法は、絶対MV差、すなわち、|MV0-MV1|を計算することである。両MVは点Cで発生するため、MV差(ΔMV)を計算する前に、図4Aおよび図4Bに示すように、動きベクトルの1つを180度回転する必要がある(MV0は、180度回転してMV0’になる)。180度の回転は、ベクトル成分の値を単純に打ち消す(たとえば、MV0’.x=-MV0.xおよびMV0’.y=-MV0.y)ことで実現できる。次に、ΔMV=(MV1.x-MV0’.x,MV1.y-MV0’.y)の値を取得できる。
カレントピクチャからの2つのMVに関連付けられた参照ピクチャの絶対時間的距離が異なる場合、動きベクトル差を計算する前に、動きベクトルのスケーリングが必要とされる。
たとえば、図5Aを参照すると、MV0は、POC1=10を有する参照ピクチャ28に関連付けられ、MV1は、POC2=16を有する参照ピクチャ34に関連付けられる。カレントピクチャ24は、POC0=12を有する。したがって、ΔPOCN=POCN-POC0と仮定すると、ΔPOC1=-2およびΔPOC2=4となる。
したがって、MV0とMV1との間の類似性を比較する場合、MVのうちの1つは、最初に、ΔPOC2/ΔPOC1=-2の比によってスケーリングされる必要がある。
図5Aに見られるように、1つの態様では、動きベクトルMVは、ピクチャの平面内に、x-成分およびy-成分(MV.x,MV.y)を、MVに関連付けられたΔPOC1に対応する時間次元に、z-成分を有する3次元ベクトルと見なすことができる。
図5Bは、同じx-y平面上にプロットされたMV0およびMV1のx-成分およびy-成分を示す一方、図5Cは、2つの動きベクトルに関連付けられたカレントピクチャからの異なる時間的距離を考慮するためのMV0のスケーリングを示す。
ΔPOCが異なる一般的な場合、MVスケーリングは、POC差(ΔPOC2=POC2-POC0)および(ΔPOC1=POC1-POC0)に依存する。MV0が、スケーリングされるベクトルであると仮定すると、スケーリングされたベクトルMV0’の成分は、
Figure 0007257524000001
として計算され得る。
この例では、ΔPOC2/ΔPOC1の比が負の符号を有するので、MV0をスケーリングすることは、MV0を180度回転させる効果も有することに留意されたい。
双方向性オプティカルフロー(BIO:bi-directional optical flow)
[1]に説明されているBIO方法は、双方向性動き補償のために使用される動きベクトルをさらに精細化するためのデコーダサイド技法である。オプティカルフローの概念を使用し、双方向性と組み合わせて、カレントブロックにおけるルーマ値を予測する。BIOは、従来の双方向性動き補償の後に、ピクセル単位の動き精細化として適用される。
オプティカルフローは、オブジェクトのルミナンスが、特定の動き期間中に変化しないと仮定する。オプティカルフロー式を与える。
+I+It=0, (2)
ここで、Iはピクセルのルミナンス、v_xはx方向における速度、v_yはy方向における速度、
Figure 0007257524000002
はそれぞれ、x方向、y方向、および時間に関する導関数である。BIOでは、図6に示すように、動きは安定していると仮定され、参照0における速度(v,v)は、参照1における速度(-v,-v)と反対である。
カレントピクセルが、B-ピクチャにおいて位置[i,j]にあり、I(0)[i,j]が参照0の[i,j]におけるルミナンス、I(1)[i,j]が参照1の[i,j]におけるルミナンスであるとする。導関数を
Figure 0007257524000003
として表し、ここで、k=0,1は参照インデクスである。(2)に基づいて、[1]の著者は、BIOの誤差を以下の通り定義する。
Figure 0007257524000004
次に、BIOは、以下のような最小二乗問題に構成される。
Figure 0007257524000005
ここで、[i’,j’]∈Ωは、式(4)を解くために使用される[i,j]を含む隣接ピクセルを含むサブブロックである。式(4)の解は、
Figure 0007257524000006
およびルミナンス差に基づく
Figure 0007257524000007
を与える。別の解は、[i,j]の周りの移動窓処理を使用して、式(4)の合計を計算することである。しかしながら、サブブロックを使用すると、同じサブブロックに属する2つのピクセルの合計が、同じΩになる。これは、
Figure 0007257524000008
の計算が、同じサブブロックに属するピクセル間で再利用できることを意味する。
速度が取得されると、次のステップは、2つの参照からカレントピクセルを予測することである。図6に示されるように、カレントピクセルは2つの方向から予測される。[2]の著者は、2つの参照ピクセル間の値を補間するために、以下の3次多項式関数を導入する。
P(t)=a+at+a+a, (5)
ここで、tは時間、a0からa3はパラメータである。参照0を時間0、B-ピクチャを時間τ、参照1をτ+τとする。つまり、図6では、参照0とB-ピクチャとの間の時間差はτであり、B-ピクチャと参照1との間の時間差はτである。4つのパラメータを発見するために、次の4つの式を考慮する。
Figure 0007257524000009
式(6)は、補間関数P(t)は、t=0およびt=τ+τにおいて、ルミナンス値I(0)およびI(1)のみならず、導関数と一致する必要があることを示す。4つの式を用いて、a0からa3を解くことができる。
τ=τ=τである一般的な場合において、補間関数は、以下を与える。
Figure 0007257524000010
Figure 0007257524000011
の場合、これは、I(0)およびI(1)の単なる平均である単純な線形補間とは異なることに留意されたい。式(7)は、I(0)およびI(1)の精細化と見なすことができ、この精細化は、補間精度の向上に役立つ。Iを、オプティカルフロー式I=-I-Iに置き換えると、式(7)は、以下のように記述できる。
Figure 0007257524000012
式(8)から、ルミナンス値I(0)およびI(1)は既知である。導関数は、隣接するピクセルを使用して勾配から推定できる。速度は、式(4)で解かれる。したがって、予測されるルミナンス値P(τ)を取得できる。
[3]で説明されているBIOの実施では、BIOを考慮する必要があるか否かを示すために、デコーダで基準がチェックされる。次のすべての条件が当てはまる場合、基準は真に設定され、a)予測は双方向性であり、反対方向からのものであり(たとえば、POC1<POC0およびPOC2>POC0)、b)アフィン動きモデルは使用されず、c)高度な時間動き予測(ATMVP)は使用されない。a)からc)のいずれかの条件が満たされない場合、基準は偽に設定される。
式(4)に示されるように、BIOにおける(v,v)の各ペアは、サブブロックΩを使用して計算される。同じサブブロックに属する2つのピクセルのために、同じ(v,v)ベクトルが、BIO精細化で使用される。実施では、サブブロックは、4×4のサイズを有する。たとえば、ブロックのサイズが128×128の場合、32×32=1024のサブブロックを含み、1024ペアの(v,v)を有する。
BIOの基準が真である場合、2つの参照ブロック間の絶対差(SAD)の合計が計算される。SADは、2つの参照ブロック間のすべてのピクセルの絶対差を計算することによって取得される。それに加えて、2つの参照サブブロック(両方ともサイズ4×4)間のSAD_subも計算される。次に、SADとSAD_subがそれぞれ特定のしきい値よりも大きい場合に、BIOが適用される。これらのしきい値は、ブロックサイズとビット深さによって異なる。一方、BIOが適用されない場合は、線形平均化を使用して信号を予測する。
デコーダサイド動きベクトル精細化(DMVR:decoder-side motion vector refinement)などの他の動きベクトル精細化技法が知られている。DMVRでは、バイラテラルテンプレートは、初期動きベクトルに関連付けられた2つの参照ブロックの重み付けされた組合せとして生成される。次に、バイラテラルテンプレートマッチングが実行され、参照ピクチャ内で最も一致するブロックが発見され、更新された動きベクトルが識別される。
実施形態の第1の態様は、ビデオビットストリームのカレントピクチャにおけるカレントブロックを復号するために、デコーダによって実行される方法を定義する。カレントピクチャは、カレントピクチャ順序カウントを有する。方法は、ビデオビットストリームから、第1のピクチャ順序カウントを有する第1の参照ピクチャの第1の参照ブロックに対するカレントブロックの第1の動きベクトルを復号することを含む。方法は、ビデオビットストリームから、第2のピクチャ順序カウントを有する第2の参照ピクチャの第2の参照ブロックに対するカレントブロックの第2の動きベクトルを復号することを含む。方法は、第1の動きベクトルと第2の動きベクトルとの比較に基づいて類似性メトリックを生成することをさらに含む。方法は、類似性メトリックに基づいて第1の動きベクトルを精細化するか否かを判定することをさらに含む。第1の動きベクトルを精細化するか否かの判定に応じて、方法は、第1の動きベクトルから第1の精細化された動きベクトルを生成することをさらに含む。方法は、第1の精細化された動きベクトルを使用して動き補償を実行して、第1の参照ピクチャから第1の参照ブロックを導出することをさらに含む。
実施形態の第2の態様は、いくつかの実施形態にしたがって、通信ネットワークのために、ビデオビットストリームのカレントピクチャにおけるカレントブロックを復号するためのデコーダを定義する。デコーダは、プロセッサ回路と、プロセッサ回路に結合されたメモリとを含む。メモリは、プロセッサ回路によって実行された場合、プロセッサ回路に第1の態様にしたがう動作を実行させる命令を含む。
実施形態の第3の態様は、デコーダのためのコンピュータプログラムを定義する。コンピュータプログラムは、コンピュータ実行可能命令を含む。コンピュータ実行可能命令は、デコーダに含まれるプロセッサ回路において実行されると、デコーダに、第2の態様による動作を実行させるように構成されている。
実施形態の第4の態様は、デコーダの少なくとも1つのプロセッサによって実行されるプログラムコードを含む非一時的記憶媒体を含むコンピュータプログラム製品を定義し、それにより、プログラムコードの実行により、デコーダは、第1の態様のいずれかにしたがって方法を実行する。
実施形態の第5の態様は、ビデオビットストリームのカレントピクチャにおけるカレントブロックのエンコーディングのために、ビデオエンコーダによって実行される方法を定義する。カレントピクチャは、カレントピクチャ順序カウントを有する。方法は、第1のピクチャ順序カウントを有する第1の参照ピクチャの第1の参照ブロックに対するカレントブロックの第1の動きベクトルを生成することを含む。方法は、第2のピクチャ順序カウントを有する第2の参照ピクチャの第2の参照ブロックに対するカレントブロックの第2の動きベクトルを生成することを含む。方法は、第1の動きベクトルと第2の動きベクトルとの比較に基づいて類似性メトリックを生成することをさらに含む。方法は、類似性メトリックに基づいて第1の動きベクトルを精細化するか否かを判定することをさらに含む。第1の動きベクトルを精細化するか否かの判定に応じて、方法は、第1の動きベクトルから、第1の精細化された動きベクトルを生成することをさらに含む。方法は、第1の精細化された動きベクトルを使用して動き補償を実行して、第1の参照ピクチャから、第1の参照ブロックを導出することをさらに含む。
実施形態の第6の態様は、ビデオビットストリームのカレントピクチャにおけるカレントブロックのエンコーディングのためのエンコーダを定義する。エンコーダは、プロセッサ回路と、プロセッサ回路に結合されたメモリとを備え、メモリは、命令を含み、命令は、プロセッサ回路によって実行されると、プロセッサ回路に第4の態様にしたがう動作を実行させる。
実施形態の第7の態様は、エンコーダのためのコンピュータプログラムを定義する。コンピュータプログラムは、コンピュータ実行可能命令を含み、コンピュータ実行可能命令は、エンコーダに含まれるプロセッサ回路において実行されると、エンコーダに第5の態様による動作を実行させるように構成されている。
実施形態の第8の態様は、エンコーダの少なくとも1つのプロセッサによって実行されるプログラムコードを含む非一時的記憶媒体を含むコンピュータプログラム製品を定義し、それにより、プログラムコードの実行により、エンコーダは、第5の態様のいずれかにしたがって方法を実行する。
本発明の概念によって提供され得る1つの潜在的な利点は、ビデオシーケンスのエンコーディングおよび/またはデコーディング中に、BIO処理アルゴリズムを使用するなどの動きベクトル精細化を行うべきか否かを判定するための基準の計算の複雑さを低減することを含む。これにより、処理リソースの節約、および/または、ビデオシーケンスの符号化または復号に必要な時間の短縮をし得る。それに加えて、本明細書に説明されているいくつかの実施形態は、圧縮効率に、無視できる影響しか与えずに済む可能性がある。
本開示のさらなる理解を提供するために含まれ、本出願に組み込まれ、その一部を構成する添付の図面は、本発明の概念の特定の非限定的な実施形態を例示している。
ピクチャをコーディングユニットにパーティションすることを示すブロック図である。 参照ブロックに基づくブロックのエンコーディング/デコーディングのための動きベクトルの使用例を示すブロック図である。 双方向性動き補償の例を示すブロック図である。 2つの動きベクトルの比較を示す図である。 2つの動きベクトルの比較を示す図である。 動きベクトルのスケーリングと、スケーリングされた動きベクトルの比較を示す図である。 動きベクトルのスケーリングと、スケーリングされた動きベクトルの比較を示す図である。 動きベクトルのスケーリングと、スケーリングされた動きベクトルの比較を示す図である。 双方向性オプティカルフロー(bi-directional optical flow)処理の例を示す図である。 本発明の概念のいくつかの実施形態にしたがって、エンコーダおよびデコーダが実施され得るシステムの環境の例を示すブロック図である。 いくつかの実施形態によるエンコーダを示すブロック図である。 いくつかの実施形態によるデコーダを示すブロック図である。 本発明の概念のいくつかの実施形態によるデコーダまたはエンコーダの動作を示すフローチャートである。 本発明の概念のいくつかの実施形態によるデコーダまたはエンコーダの動作を示すフローチャートである。 本発明の概念のいくつかの実施形態によるデコーダまたはエンコーダの動作を示すフローチャートである。 本発明の概念のいくつかの実施形態によるデコーダまたはエンコーダの動作を示すフローチャートである。 本発明の概念のいくつかの実施形態によるデコーダまたはエンコーダの動作を示すフローチャートである。 本発明の概念のいくつかの実施形態によるデコーダまたはエンコーダの動作を示すフローチャートである。
本発明の概念は、本発明の概念の実施形態の例が示される添付の図面を参照して、以下でより完全に説明される。しかしながら、本発明の概念は、多くの異なる形態で具体化することができ、本明細書に記載の実施形態に限定されると解釈されるべきではない。むしろ、これらの実施形態は、本開示が網羅的かつ完全であり、本発明の概念の範囲を当業者に十分に伝えるように提供される。これらの実施形態は相互に排他的ではないことにも留意されたい。1つの実施形態からの構成要素は、別の実施形態に存在する/使用されると暗黙的に想定され得る。
以下の説明は、開示された主題の様々な実施形態を提示する。これらの実施形態は、教示例として提示されており、開示された主題の範囲を限定するものとして解釈されるべきではない。たとえば、説明された実施形態の特定の詳細は、説明された主題の範囲から逸脱することなく、修正、省略、または拡張され得る。
上記のように、BIO処理は、ピクセル単位の動きの精細化として、従来の双方向性の動き補償の後に適用され得る。[3]において説明されているように、SADおよびSAD_subが、特定のしきい値よりも大きい場合、BIOが有効化される。しかしながら、SADを計算することの1つの欠点は、多くの算術演算を必要とすることである。サイズn×nの2つのブロック間のSADを計算するには、n個の減算、n個の絶対値、およびn-1個の加算が必要である。最悪の場合の例として、ブロックサイズがn=128の場合、演算数は、128=16384回の減算、128=16384の絶対値、および128-1=16383回の加算となる。これは、計算の観点においてコストがかかる。
別の欠点は、式(8)で与えられる解が、等しい時間的距離T_0=T_1に対してのみ有効であるということである。上記で説明したように、ビデオコーディングでは、B-ピクチャは異なる時間的距離を有する2つの参照ピクチャ、つまりT_0≠T_1または|POC0-POC1|≠|POC0-POC2|を有することができる。しかしながら、[3]の実施においては、式(8)の解は、POC差に関わらず、すべてのBIOケースに適用される。したがって、理論的な解と、実際の実施との間には矛盾があり、これは、BIO方法における非効率性につながる可能性がある。
いくつかの実施形態は、エンコーディングまたはデコーディングプロセスの一部としてBIOまたは他の動きベクトル精細化技法を実行するか否かを判定するための代替基準を提供する。
図7は、本明細書で説明されるようにビットストリームを符号化するために使用され得るエンコーダ800の動作環境の例を示す。エンコーダ800は、ネットワーク702および/またはストレージ704からビデオを受信し、以下に説明するように、ビデオをビットストリームに符号化し、符号化されたビデオを、ネットワーク708を介してデコーダ900に送信する。ストレージデバイス704は、ストアまたはストリーミングビデオサービスのストレージリポジトリ、別個のストレージ構成要素、モバイルデバイスの構成要素などのようなマルチチャネルオーディオ信号のストレージデポジトリの一部であり得る。デコーダ900は、メディアプレーヤ912を有するデバイス910の一部であり得る。デバイス910は、モバイルデバイス、セットトップデバイス、デスクトップコンピュータなどであり得る。
図8は、本発明の概念のいくつかの実施形態にしたがって、ビデオフレームを符号化するように構成されたエンコーダ800の要素を示すブロック図である。示されるように、エンコーダ800は、他のデバイス/エンティティ/機能などとの通信を提供するように構成されたネットワークインターフェース回路805(ネットワークインターフェースとも呼ばれる)を含み得る。エンコーダ900はまた、ネットワークインターフェース回路805に結合されたプロセッサ回路801(プロセッサとも呼ばれる)、およびプロセッサ回路に結合されたメモリ回路803(メモリとも呼ばれる)を含み得る。メモリ回路803は、プロセッサ回路801によって実行された場合、プロセッサ回路に、本明細書に開示される実施形態にしたがって動作を実行させるコンピュータ可読プログラムコードを含み得る。
他の実施形態によれば、プロセッサ回路801は、別個のメモリ回路が必要とされないように、メモリを含むように定義され得る。本明細書で論じられるように、エンコーダ800の動作は、プロセッサ801および/またはネットワークインターフェース805によって実行され得る。たとえば、プロセッサ801は、ネットワークインターフェース805を制御して、デコーダ900に通信を送信し、および/または、他のエンコーダノード、デポジトリサーバなどのような1つまたは複数の他のネットワークノード/エンティティ/サーバからネットワークインターフェース802を介して通信を受信し得る。さらに、モジュールはメモリ803に格納され得、これらのモジュールは、モジュールの命令がプロセッサ801によって実行される場合、プロセッサ801がそれぞれの動作を実行するように命令を提供し得る。
図9は、本発明の概念のいくつかの実施形態にしたがって、ビデオフレームを復号するように構成されたデコーダ900の要素を示すブロック図である。示されるように、デコーダ900は、他のデバイス/エンティティ/機能などとの通信を提供するように構成されたネットワークインターフェース回路905(ネットワークインターフェースとも呼ばれる)を含み得る。デコーダ900はまた、ネットワークインターフェース回路905に結合されたプロセッサ回路901(プロセッサとも呼ばれる)、およびプロセッサ回路に結合されたメモリ回路903(メモリとも呼ばれる)を含み得る。メモリ回路903は、プロセッサ回路901によって実行された場合、プロセッサ回路に、本明細書に開示される実施形態にしたがって動作を実行させるコンピュータ可読プログラムコードを含み得る。
他の実施形態によれば、プロセッサ回路901は、別個のメモリ回路が必要とされないように、メモリを含むように定義され得る。本明細書で論じられるように、デコーダ900の動作は、プロセッサ901および/またはネットワークインターフェース905によって実行され得る。たとえば、プロセッサ901は、エンコーダ900からの通信を受信するようにネットワークインターフェース905を制御し得る。さらに、モジュールはメモリ903に格納され得、これらのモジュールは、モジュールの命令がプロセッサ901によって実行される場合、プロセッサ901がそれぞれの動作を実行するように命令を提供し得る。
本発明の概念のいくつかの実施形態は、条件を調整し、ビデオシーケンスのエンコーディングおよび/またはデコーディング中にBIOを可能にするための基準の計算を単純化する。
デコーダ動作
図10は、いくつかの実施形態にしたがって、ビデオビットストリームを復号するためのデコーダ900の動作を示す。図10を参照すると、デコーダ900は、最初に、処理のために、POCnに等しいPOCを有するカレントピクチャにおけるカレントブロックKを選択する(ブロック1002)。カレントピクチャは、復号のために双方向性予測を使用するB-ピクチャである。
次に、デコーダ900は、ビデオビットストリームから、1セットの動き情報mAを復号する。ここで、mAは、POCaに等しいPOCを有する動きベクトルmvAおよび第1の参照ピクチャrefAを含む(ブロック1004)。
次に、デコーダ900は、ビデオビットストリームから、別のセットの動き情報mBを復号する。ここで、mBは、POCbに等しいPOCを有する動きベクトルmvBおよび参照ピクチャrefBを含む(ブロック1006)。
次に、デコーダ900は、いくつかの基準Cに基づいて、mvAおよび/またはmvBへのさらなる精細化が必要であるか否かを判定する(ブロック1008)。基準Cは、いくつかの実施形態では、それらのx-成分、それらのy-成分、および/またはそれらのz-成分(たとえば、それらのΔPOC)の比較を含む、動きベクトルmvA、mvBの1つまたは複数の成分の比較に基づき得る。他の実施形態では、基準は、動きベクトルに関連付けられた参照ブロックの比較に基づき得る。
基準Cが満たされる場合、mvAおよび/またはmvBに対してさらなる精細化が行われる(ブロック1010)。精細化により、2つの新しい動きベクトルmvAおよびmvBが生成される。次に、これらの動きベクトルmvAおよびmvBは、動き補償プロセスで使用され、ブロックKのサンプル値を予測するための対応する参照ブロックを導出する(ブロック1012)。
基準Cが満たされない場合、mvAおよびmvBについてそれ以上の精細化は実行されない。mvAとmvBとの両方が動き補償プロセスで直接使用され、ブロックKのサンプル値を予測するための対応する参照ブロックを発見する。
最後に、デコーダ900は、参照ブロックを使用してカレントブロックを復号する(ブロック1014)。
いくつかの実施形態では、基準Cは、mvAとmvBとの間の類似性を比較することを含み得る。類似性は、mvAとmvBとの間の動きベクトル差ΔMVを計算することによって上記のように測定することができ、ここで、MVのうちの1つは180度回転する。次に、ΔMVは、x方向とy方向の絶対差をとることによって計算できる。つまり、ΔMV.x=|mvA.x-mvB.x|、ΔMV.y=|mvA.y-mvB.y|である。
いくつかの実施形態では、動きベクトルの差を計算する場合、式(1)にしたがう動きベクトルスケーリングが関与し得る。1つのMVのみがスケーリングされる場合、|ΔMV|は、どのMVがスケーリングされるかに応じて異なる。いくつかの実施形態では、スケーリングする動きベクトルの選択は、動きベクトルの相対的な大きさに基づき得る。たとえば、|mvA|<|mvB|の場合、スケーリングにmvAが選択され得るが、またはその逆も可能である。
他の実施形態では、両方の動きベクトルは、以下のようにスケーリングされ得る。
mvA’=mvA/ΔPOCa (9)
mvB’=mvB/ΔPOCb
ここで、ΔPOCa=POCa-POCnおよびΔPOCb=POCb-POCnである。
このようにスケーリングされた場合、MVが考慮される順序に関係なく、同じしきい値を使用してΔMVを評価することができる。さらに、ΔPOCaとΔPOCbのうちの一方のみが負になるため、式(9)を使用してMVをスケーリングする場合、1つのMVのみが180度回転する。
基準Cは、ΔMVのΔMV.xおよびΔMV.y成分の両方または一方が、第1のしきい値よりも小さいか否か、すなわち、ΔMV.x<しきい値1および/またはΔMV.y<しきい値1を判定する。基準Cが満たされる場合、精細化が実行される。図14を簡単に参照されたい。図示されるように、方法は、動きベクトルmvAおよびmvBに基づいて類似性メトリックを生成し得る(ブロック1402)。類似性メトリックは、ΔMV.x、ΔMV.y、またはΔMV.xとΔMV.yとの組合せを含み得る。
いくつかの実施形態では、第2のしきい値は、第2のしきい値が第1のしきい値よりも小さい場合に提供され得る。基準Cは、ΔMVの成分のうちの一方または両方が第1のしきい値よりも小さく、第2のしきい値よりも大きいか否かを判定し得る。基準Cが満たされる場合、精細化が実行される。
いくつかの実施形態では、基準Cは、参照ピクチャrefA、カレントピクチャ、および参照ピクチャrefBの間の時間的距離ΔPOCを比較することを含み得る。時間的距離は、対応するPOC値POC0、POCa、およびPOCbを使用して、上記のように計算できる。
基準Cは、絶対的なPOC差が等しい、すなわち|POCn-POCa|=|POCn-POCb|であるか否かを判定することを含み得、基準Cが満たされる場合、精細化が実行される。
いくつかの実施形態では、基準Cは、以下の2つの条件のうちの少なくとも1つが満たされるか否かを判定することを含み得る。(a)|POCn-POCa|≦しきい値_1;(b)|POCn-POCb|≦しきい値_2。2つの条件のうちの一方または両方が満たされる場合、基準Cが満たされる。
2つのピクチャ間の時間的距離は、POC差およびフレームレート(通常、フレーム/秒、またはfpsで表される)の両方の関数である。POC差および/またはMV差を評価するために使用されるしきい値は、特定のフレームレートに基づき得る。いくつかの実施形態では、エンコーダは、ビデオビットストリームにおいてデコーダにしきい値を明示的にシグナルし得る。他の実施形態では、デコーダは、ビデオビットストリームのフレームレートに基づいてしきい値をスケーリングし得る。
さらなる実施形態によるデコーダ900の動作は、図11に示される。図11を参照すると、デコーダ900は、最初に、処理のために、POCnに等しいPOCを有するカレントピクチャにおけるカレントブロックKを選択する(ブロック1102)。カレントピクチャは、復号のために双方向性予測を使用するB-ピクチャである。
次に、デコーダ900は、ビデオビットストリームからの動き情報mAの第1のセットを復号し、ここで、mAは、POCaに等しいPOCを有する動きベクトルmvAおよび第1の参照ピクチャrefAと、ビデオビットストリームからの動き情報mBの第2のセットを含み、ここで、mBは、POCbに等しいPOCを有する動きベクトルmvBおよび参照ピクチャrefBを含む(ブロック1104)。
次に、デコーダ900は、mvAおよびmvBを使用して動き補償を実行して、それぞれ、参照ピクチャrefAおよびrefBにおける参照ブロックR0およびR1を発見する(ブロック1106)。
次に、デコーダ900は、いくつかの基準Cに基づいて、参照ブロックR0およびR1へのさらなる精細化が必要であるか否かを判定する(ブロック1108)。基準Cは、いくつかの実施形態では、参照ブロックR0およびR1の比較に基づき得る。
基準Cが満たされる場合、mvAおよび/またはmvBに対してさらなる精細化が実行される(ブロック1110)。精細化により、2つの新しい動きベクトルmvA、mvBが生成される。次に、これらの動きベクトルmvAおよびmvBは、動き補償プロセスで使用されて、カレントブロックKのサンプル値を予測するための対応する精細化された参照ブロックR0およびR1を導出する(ブロック1112)。
基準Cが満たされない場合、それ以上の精細化は行われない。次に、結果として得られる参照ブロックR0とR1、またはR0とR1を使用して、カレントブロックKを復号する(ブロック1114)。
図15を簡単に参照する。図示されるように、方法は、R0およびR1に基づいて類似性メトリックを生成することを含み得る(ブロック1502)。類似性メトリックは、完全なSADを実行するのではなく、R0とR1の限定されたサンプル値のセットのみを比較することによって生成され得る。いくつかの実施形態では、基準は、参照ブロックR1およびR0のx-方向およびy-方向それぞれのすべてのm番目およびn番目のサンプル値を比較し、選択されたサンプルに基づいて参照ブロックの類似性メトリックを計算する。類似性が第1のしきい値よりも小さい場合、精細化が実行され得る。
いくつかの実施形態では、類似性メトリックは、R0およびR1における限定されたサンプルのセットの平均または分散を比較することによって生成され得る。他の実施形態では、限定されたサンプルのセットのSADが計算され得る。すなわち、類似性値は、SAD方法によって、座標のセットに含まれる座標を有するすべての同じ場所に配置されたサンプル値のペアの絶対差の合計として計算され得る。
さらに他の実施形態では、平均二乗誤差(MSE)が、R0およびR1の限定されたサンプル値のセットについて計算され得る。
エンコーダ動作
図12は、いくつかの実施形態にしたがって、ビデオビットストリームを復号するためのエンコーダ900の動作を示す。図12を参照すると、エンコーダ900は、最初に、処理のために、POCnに等しいPOCを有するカレントピクチャにおけるカレントブロックKを選択する(ブロック1202)。カレントピクチャは、復号のために双方向性予測を使用するB-ピクチャである。
次に、エンコーダ900は、ビデオビットストリームから1セットの動き情報mAを生成し、ここで、mAは、POCaに等しいPOCを有する動きベクトルmvAおよび第1の参照ピクチャrefAを含む(ブロック1204)。
次に、エンコーダ900は、ビデオビットストリームから動き情報mBの別のセットを生成し、ここで、mBは、POCbに等しいPOCを有する動きベクトルmvBおよび参照ピクチャrefBを含む(ブロック1206)。
次に、エンコーダ900は、いくつかの基準Cに基づいて、mvAおよび/またはmvBへのさらなる精細化が必要であるか否かを判定する(ブロック1208)。基準Cは、いくつかの実施形態では、それらのx-成分、それらのy-成分、および/またはそれらのz-成分(たとえば、それらのΔPOC)の比較を含む、動きベクトルmvA、mvBの1つまたは複数の成分の比較に基づき得る。他の実施形態では、基準は、動きベクトルに関連付けられた参照ブロックの比較に基づき得る。
基準Cが満たされる場合、mvAおよび/またはmvBに対してさらなる精細化が実行される(ブロック1210)。精細化により、2つの新しい動きベクトルmvA、mvBが生成される。次に、これらの動きベクトルmvAおよびmvBは、動き補償プロセスで使用されて、ブロックKのサンプル値を予測するための対応する参照ブロックを導出する(ブロック1212)。
基準Cが満たされない場合、mvAおよびmvBについてそれ以上の精細化は行われない。mvAとmvBの両方が動き補償プロセスで直接使用され、ブロックKのサンプル値を予測するための対応する参照ブロックを発見する。
最後に、エンコーダ900は、参照ブロックを使用してカレントブロックを符号化する(ブロック1214)。
いくつかの実施形態では、基準Cは、mvAとmvBとの間の類似性を比較することを含み得る。類似性は、mvAとmvBとの間の動きベクトル差ΔMVを計算することによって上記のように測定することができ、ここで、MVのうちの1つは180度回転する。
いくつかの実施形態では、動きベクトルの差を計算する場合、式(1)または式(9)による動きベクトルスケーリングが適用され得る。
基準Cは、ΔMVのΔMV.x成分およびΔMV.y成分の両方または一方が、第1のしきい値よりも小さいか否か、すなわち、ΔMV.x<しきい値1および/またはΔMV.y<しきい値1を判定する。基準Cが満たされる場合、精細化が実行される。
いくつかの実施形態では、第2のしきい値は、第2のしきい値が第1のしきい値よりも小さい場合に提供され得る。基準Cは、ΔMVの成分の両方または一方が第1のしきい値よりも小さく、第2のしきい値よりも大きいか否かを判定し得る。基準Cが満たされる場合、精細化が実行される。
いくつかの実施形態では、基準Cは、参照ピクチャrefA、カレントピクチャ、および参照ピクチャrefBの間の時間的距離ΔPOCを比較することを含み得る。時間的距離は、対応するPOC値POC0、POCa、およびPOCbを使用して、上記のように計算できる。
基準Cは、絶対POC差が等しいか否か、すなわち、|POCn-POCa|=|POCn-POCb|を判定することを含み得、基準Cが満たされる場合、精細化が実行される。
いくつかの実施形態では、基準Cは、以下の2つの条件、すなわち、(a)|POCn-POCa|≦しきい値_1、(b)|POCn-POCb|≦しきい値_2、のうちの少なくとも1つが満たされるか否かを判定することを含み得る。2つの条件のうちの一方または両方が満たされる場合、基準Cが満たされる。
いくつかの実施形態では、エンコーダは、ビデオビットストリームにおいてデコーダにしきい値を明示的にシグナルし得る。他の実施形態では、デコーダは、デコーダがビデオビットストリームのフレームレートに基づいてしきい値をスケーリングするために使用できる、フレームレートまたはスケールファクタを、シグナルし得る。
さらなる実施形態によるエンコーダ900の動作は、図13に示される。図13を参照すると、エンコーダ900は、最初に、処理のために、POCnに等しいPOCを有するカレントピクチャにおけるカレントブロックKを選択する(ブロック1302)。カレントピクチャは、復号のために双方向性予測を使用するB-ピクチャである。
次に、エンコーダ900は、ビデオビットストリームから動き情報mAの第1のセットを生成し、ここで、mAは、POCaに等しいPOCを有する動きベクトルmvAおよび第1の参照ピクチャrefAと、ビットストリームからの動き情報mBの第2のセットとを含み、mBは、POCbに等しいPOCを有する動きベクトルmvBおよび参照ピクチャrefBを含む(ブロック1304)。
次に、エンコーダ900は、mvAおよびmvBを使用して動き補償を実行して、参照ピクチャrefAおよびrefBにおける参照ブロックR0およびR1をそれぞれ発見する(ブロック1306)。
次に、エンコーダ900は、いくつかの基準Cに基づいて、参照ブロックR0およびR1へのさらなる精細化が必要であるか否かを判定する(ブロック1308)。基準Cは、いくつかの実施形態では、参照ブロックR0およびR1の比較に基づき得る。
基準Cが満たされる場合、mvAおよび/またはmvBに対してさらなる精細化が実行される(ブロック1310)。精細化により、2つの新しい動きベクトルmvA、mvBが生成される。次に、これらの動きベクトルmvAおよびmvBは、動き補償プロセスで使用されて、カレントブロックKのサンプル値を予測するための対応する精細化された参照ブロックR0およびR1を導出する(ブロック1312)。
基準Cが満たされない場合、それ以上の精細化は行われない。次に、結果として得られる参照ブロックR0とR1、またはR0とR1を使用して、カレントブロックKを符号化する(ブロック1314)。
この実施形態では、基準Cは、完全なSADを実行するのとは対照的に、R0およびR1の限定されたサンプル値のセットのみを比較することを含み得る。いくつかの実施形態では、基準は、参照ブロックR1およびR0のそれぞれx-方向およびy-方向のすべてのm番目およびn番目のサンプル値を比較し、参照ブロックの類似性メトリックを計算する。類似性が第1のしきい値よりも小さい場合、精細化が実行され得る。
いくつかの実施形態では、類似性メトリックは、R0およびR1における限定されたサンプルのセットの平均または分散を比較することによって生成することができる。他の実施形態では、限定されたサンプルのセットのSADが計算され得る。すなわち、類似性値は、SAD方法によって、座標のセットに含まれる座標を有するすべての同じ場所に配置されたサンプル値のペアの絶対差の合計として計算され得る。
さらに他の実施形態では、平均二乗誤差(MSE)は、R0およびR1の限定されたサンプル値のセットについて計算され得る。
参考文献:
[1] A. Alshin, and E. Alshina, "Bi-directional optical flow," Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1 /SC29/WG11, JCTVC-C204, Guangzhou, China, 10-15 October, 2010.
[2] A., Alexander, and E. Alshina, "Bi-directional pptical flow for future video codec." In Data Compression Conference (DCC), 2016, pp. 83-90. IEEE, 2016.
[3] X. Xiu, Y. He, Y. Ye, "CE9-related: Complexity reduction and bit-width control for bi-directional optical flow (BIO)", Input document to JVET, document number JVET-L0256.

Claims (11)

  1. ビデオビットストリームのカレントピクチャにおけるカレントブロックを復号するために、デコーダによって実行される方法であって、前記カレントピクチャは、カレントピクチャ順序カウントを有し、前記方法は、
    前記ビデオビットストリームから、第1のピクチャ順序カウントを有する第1の参照ピクチャの第1の参照ブロックに対する前記カレントブロックの第1の動きベクトルを復号すること(1004)と、
    前記ビデオビットストリームから、第2のピクチャ順序カウントを有する第2の参照ピクチャの第2の参照ブロックに対する前記カレントブロックの第2の動きベクトルを復号すること(1006)と
    前記第1の動きベクトルと前記第2の動きベクトルとの比較に基づいて類似性メトリックを生成すること(1402)と
    前記類似性メトリックに基づいて前記第1の動きベクトルを精細化するか否かを判定すること(1008)と
    前記第1の動きベクトルを精細化するか否かの判定に応じて、前記第1の動きベクトルから第1の精細化された動きベクトルを生成すること(1010)と、
    前記第1の精細化された動きベクトルを使用して動き補償を実行して、前記第1の参照ピクチャから第1の参照ブロックを導出すること(1012)と、を含み、
    前記第1の精細化された動きベクトルを生成することは、前記第1の動きベクトルに対して双方向性オプティカルフロー(BIO:bi-directional optical flow)処理を実行することを含む、方法。
  2. 前記第1および第2の動きベクトルはおのおの、前記カレントピクチャの平面におけるx-成分、前記カレントピクチャの前記平面におけるy-成分、およびz-成分を含む3次元動きベクトルを含み、前記第1の動きベクトルの前記z-成分は、前記カレントピクチャ順序カウントと前記第1のピクチャ順序カウントとの間の差を含み、前記第2の動きベクトルの前記z-成分は、前記カレントピクチャ順序カウントと前記第2のピクチャ順序カウントとの間の差を含む、請求項1に記載の方法。
  3. 前記類似性メトリックを生成することは、前記第1および第2の動きベクトルの前記z-成分間の差を生成することを含み、前記第1および第2の動きベクトルの前記z-成分間の前記差を生成することは、前記第1の動きベクトルの前記z-成分の絶対値と、前記第2の動きベクトルの前記z-成分の絶対値との間の差を生成することを含む、請求項2に記載の方法。
  4. 前記類似性メトリックに基づいて前記第1の動きベクトルを精細化するか否かを判定することは、前記第1および第2の動きベクトルの前記z-成分間の差を、第3のしきい値と比較することと、前記第1および第2の動きベクトルの前記z-成分間の前記差が、前記第3のしきい値未満であることに応じて、前記第1の動きベクトルを精細化することとを含む、請求項2または3に記載の方法。
  5. 前記類似性メトリックに基づいて前記第1の動きベクトルを精細化するか否かを判定することはさらに、前記カレントピクチャ順序カウントと前記第1のピクチャ順序カウントとの間の絶対差が、前記カレントピクチャ順序カウントと、前記第2のピクチャ順序カウントとの間の絶対値に等しいか否かを判定することを含む、請求項1から4のいずれか一項に記載の方法。
  6. 前記第1のピクチャ順序カウント、前記第2のピクチャ順序カウント、および前記カレントピクチャ順序カウントに基づいて、前記第1の動きベクトルまたは前記第2の動きベクトルをスケーリングすることをさらに含む、請求項からのいずれか一項に記載の方法。
  7. 前記第1の動きベクトルをスケーリングすることは、以下の式にしたがって実行され、
    Figure 0007257524000013
    ここで、MV0.xは、前記第1の動きベクトルの前記x-成分であり、MV0.yは、前記第1の動きベクトルの前記y-成分であり、MV0’.xは、前記第1の動きベクトルのスケーリングされたx-成分であり、MV0’.yは、前記第1の動きベクトルのスケーリングされたy-成分であり、POC0は、前記カレントピクチャ順序カウントであり、POC1は、前記第1のピクチャ順序カウントであり、POC2は、前記第2のピクチャ順序カウントである、請求項に記載の方法。
  8. 前記第1の動きベクトルおよび前記第2の動きベクトルを、以下の式にしたがってスケーリングすることを含み、
    Figure 0007257524000014
    ここで、MV0.xは、前記第1の動きベクトルの前記x-成分であり、MV0.yは、前記第1の動きベクトルの前記y-成分であり、MV0’.xは、前記第1の動きベクトルのスケーリングされたx-成分であり、MV0’.yは、前記第1の動きベクトルのスケーリングされたy-成分であり、ここで、MV1.xは、前記第2の動きベクトルの前記x-成分であり、MV1.yは、前記第2の動きベクトルの前記y-成分であり、MV1’.xは、前記第2の動きベクトルのスケーリングされたx-成分であり、MV1’.yは、前記第2の動きベクトルのスケーリングされたy-成分であり、POC0は、前記カレントピクチャ順序カウントであり、POC1は、前記第1のピクチャ順序カウントであり、POC2は、前記第2のピクチャ順序カウントである、請求項に記載の方法。
  9. ビデオビットストリームのカレントピクチャにおけるカレントブロックを復号するためのデコーダ(900)であって、前記カレントピクチャは、カレントピクチャ順序カウントを有し、前記デコーダ(900)は、
    プロセッサ回路(901)と、
    前記プロセッサ回路に結合されたメモリ(903)とを備え、
    前記メモリは、命令を含み、前記命令は、前記プロセッサ回路によって実行されると、前記プロセッサ回路に、請求項1からのいずれか一項に記載の動作を実行させる、デコーダ(900)。
  10. コンピュータ実行可能命令を含むコンピュータプログラムであって、前記コンピュータ実行可能命令は、デコーダに含まれるプロセッサ回路において実行されると、前記デコーダに、請求項1からのいずれか一項に記載の動作を実行させるように構成されている、コンピュータプログラム。
  11. コンピュータ実行可能命令を含む非一時的コンピュータ可読媒体を含む、コンピュータプログラム製品であって、前記コンピュータ実行可能命令は、デコーダに含まれるプロセッサ回路(901)において実行されると、前記デコーダに、請求項1からのいずれか一項に記載の方法を実行させるように構成されている、コンピュータプログラム製品。
JP2021538229A 2019-01-02 2019-12-09 ビデオエンコーディング/デコーディングシステムにおけるサイド動き精細化 Active JP7257524B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962787587P 2019-01-02 2019-01-02
US62/787,587 2019-01-02
PCT/SE2019/051254 WO2020141993A1 (en) 2019-01-02 2019-12-09 Side motion refinement in video encoding/decoding systems

Publications (2)

Publication Number Publication Date
JP2022515875A JP2022515875A (ja) 2022-02-22
JP7257524B2 true JP7257524B2 (ja) 2023-04-13

Family

ID=71406587

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021538229A Active JP7257524B2 (ja) 2019-01-02 2019-12-09 ビデオエンコーディング/デコーディングシステムにおけるサイド動き精細化

Country Status (7)

Country Link
US (2) US11252431B2 (ja)
EP (1) EP3906689A4 (ja)
JP (1) JP7257524B2 (ja)
KR (1) KR20210094664A (ja)
CN (1) CN113302935A (ja)
CO (1) CO2021010122A2 (ja)
WO (1) WO2020141993A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7378968B2 (ja) * 2019-06-07 2023-11-14 シャープ株式会社 予測画像生成装置、動画像復号装置および動画像符号化装置
US11792423B2 (en) * 2019-11-22 2023-10-17 Qualcomm Incorporated Early termination of motion vector refinement process in video coding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180316929A1 (en) 2017-04-28 2018-11-01 Qualcomm Incorporated Gradient based matching for motion search and derivation
JP2020108012A (ja) 2018-12-27 2020-07-09 シャープ株式会社 画像復号装置および画像符号化装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006174415A (ja) * 2004-11-19 2006-06-29 Ntt Docomo Inc 画像復号装置、画像復号プログラム、画像復号方法、画像符号化装置、画像符号化プログラム及び画像符号化方法
CN107517384B (zh) 2011-06-16 2020-06-30 Ge视频压缩有限责任公司 解码器、编码器、解码方法、编码方法以及存储介质
EP3923572A1 (en) 2011-10-19 2021-12-15 Sun Patent Trust Image encoding method, image encoding device, image decoding method, and picture decoding device
US9998726B2 (en) * 2012-06-20 2018-06-12 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
US20140301463A1 (en) * 2013-04-05 2014-10-09 Nokia Corporation Method and apparatus for video coding and decoding
US10091507B2 (en) * 2014-03-10 2018-10-02 Euclid Discoveries, Llc Perceptual optimization for model-based video encoding
US9525821B2 (en) * 2015-03-09 2016-12-20 Microsoft Technology Licensing, Llc Video stabilization
US11330284B2 (en) * 2015-03-27 2022-05-10 Qualcomm Incorporated Deriving motion information for sub-blocks in video coding
WO2017036414A1 (en) * 2015-09-02 2017-03-09 Mediatek Inc. Method and apparatus of decoder side motion derivation for video coding
US10375413B2 (en) * 2015-09-28 2019-08-06 Qualcomm Incorporated Bi-directional optical flow for video coding
EP3264768A1 (en) * 2016-06-30 2018-01-03 Thomson Licensing Method and apparatus for video coding with adaptive motion information refinement
US20180192071A1 (en) * 2017-01-05 2018-07-05 Mediatek Inc. Decoder-side motion vector restoration for video coding
US10523964B2 (en) * 2017-03-13 2019-12-31 Qualcomm Incorporated Inter prediction refinement based on bi-directional optical flow (BIO)
US10595035B2 (en) * 2017-03-22 2020-03-17 Qualcomm Incorporated Constraining motion vector information derived by decoder-side motion vector derivation
US20180359486A1 (en) * 2017-06-07 2018-12-13 Mediatek Inc. Non-local adaptive loop filter processing
US10904565B2 (en) * 2017-06-23 2021-01-26 Qualcomm Incorporated Memory-bandwidth-efficient design for bi-directional optical flow (BIO)
WO2019001741A1 (en) * 2017-06-30 2019-01-03 Huawei Technologies Co., Ltd. MOTION VECTOR REFINEMENT FOR MULTI-REFERENCE PREDICTION
KR102430225B1 (ko) * 2017-06-30 2022-08-09 후아웨이 테크놀러지 컴퍼니 리미티드 모션 벡터 정제를 위한 검색 영역
WO2019072371A1 (en) * 2017-10-09 2019-04-18 Huawei Technologies Co., Ltd. MEMORY ACCESS WINDOW FOR PREDICTION SUB-BLOCK MOTION VECTOR CALCULATION
EP3685583A1 (en) * 2017-10-09 2020-07-29 Huawei Technologies Co., Ltd. Template update for motion vector refinement
US10785494B2 (en) * 2017-10-11 2020-09-22 Qualcomm Incorporated Low-complexity design for FRUC
CN111418214B (zh) * 2017-11-28 2021-06-29 华为技术有限公司 使用重建像素点的语法预测

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180316929A1 (en) 2017-04-28 2018-11-01 Qualcomm Incorporated Gradient based matching for motion search and derivation
JP2020108012A (ja) 2018-12-27 2020-07-09 シャープ株式会社 画像復号装置および画像符号化装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Semih Esenlik, et al.,CE9: DMVR with Motion Vector Difference Mirroring (Test 1.6), Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-K0216-v3,2018年07月11日

Also Published As

Publication number Publication date
JP2022515875A (ja) 2022-02-22
US20220124362A1 (en) 2022-04-21
US11930205B2 (en) 2024-03-12
CO2021010122A2 (es) 2021-09-09
CN113302935A (zh) 2021-08-24
EP3906689A4 (en) 2022-11-23
EP3906689A1 (en) 2021-11-10
WO2020141993A1 (en) 2020-07-09
KR20210094664A (ko) 2021-07-29
US11252431B2 (en) 2022-02-15
US20210136401A1 (en) 2021-05-06

Similar Documents

Publication Publication Date Title
TWI736906B (zh) 運動向量精度細化
JP7104188B2 (ja) Dmvrのためのブロックサイズ制限
US20200404331A1 (en) Method for Deriving a Motion Vector
JP2020526109A (ja) マルチリファレンス予測のための動きベクトルの精密化
TW202005389A (zh) 加權交織預測
TWI731362B (zh) 擴展Merge模式與其他視頻編碼工具之間的交互
KR20090094595A (ko) 복수 참조에 의한 움직임 예측을 이용한 부호화 방법 및장치, 그리고 복수 참조에 의한 움직임 예측을 이용한복호화 방법 및 장치
TW202017377A (zh) 視頻編碼和解碼中的仿射模式
CN110740327A (zh) 重叠块的运动补偿的改进
CN109076234A (zh) 图像预测方法和相关设备
WO2020089823A1 (en) Overlapped block motion compensation with adaptive sub-block size
US11930205B2 (en) Side motion refinement in video encoding/decoding systems
CN114827623A (zh) 用于视频编解码的边界扩展
CN115104309A (zh) 对merge模式的改进
TW202145784A (zh) 幀間預測方法、編碼器、解碼器以及電腦儲存媒介
CN110557639B (zh) 交织预测的应用
Piao et al. Depth-Wise Split Unit Coding Order for Video Compression
WO2023131047A1 (en) Method, apparatus, and medium for video processing
KR101650056B1 (ko) 복수 참조에 의한 움직임 예측을 이용한 부호화 방법 및 장치, 그리고 복수 참조에 의한 움직임 예측을 이용한 복호화 방법 및 장치
KR101590875B1 (ko) 복수 참조에 의한 움직임 예측을 이용한 부호화 방법 및 장치, 그리고 복수 참조에 의한 움직임 예측을 이용한 복호화 방법 및 장치
CN117581538A (zh) 视频处理的方法、设备和介质
CN117501688A (zh) 用于视频处理的方法、设备和介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210916

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210916

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221212

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230403

R150 Certificate of patent or registration of utility model

Ref document number: 7257524

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150