JP2020526112A - 動きベクトルの改良のための探索領域 - Google Patents

動きベクトルの改良のための探索領域 Download PDF

Info

Publication number
JP2020526112A
JP2020526112A JP2019572011A JP2019572011A JP2020526112A JP 2020526112 A JP2020526112 A JP 2020526112A JP 2019572011 A JP2019572011 A JP 2019572011A JP 2019572011 A JP2019572011 A JP 2019572011A JP 2020526112 A JP2020526112 A JP 2020526112A
Authority
JP
Japan
Prior art keywords
motion vector
search space
vector candidate
candidate
candidates
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
JP2019572011A
Other languages
English (en)
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 JP2020526112A publication Critical patent/JP2020526112A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/55Motion estimation with spatial constraints, e.g. at image or region borders
    • 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
    • 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/57Motion estimation characterised by a search window with variable size or shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs

Landscapes

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

Abstract

本発明は、ビデオシーケンスにおいて画像の現在のブロックのための動きベクトルを決定するための探索空間の構築に関する。探索空間の構築は、第1部分探索空間及び第2部分探索空間がそれぞれ決定される2つのメインステージに分割される。動きベクトルの初期推定値に基づいて、第1探索空間が最初に構築される。第1探索空間の第1動き候補及び第2動き候補は、コスト関数に従って特定される。第1動きベクトル候補及び第2動きベクトル候補に基づいて、第2探索空間が構築される。現在のブロックのための動きベクトルは、第1探索空間及び第2探索空間の動きベクトル候補から選択される。

Description

本発明は、ビデオシーケンスにおいて画像のブロックの動きベクトルを決定するための探索空間の構築に関する。
現在、ハイブリッドビデオコーデックは、予測コーディングを利用する。ビデオシーケンスの画像は、ピクセルのブロックに細分化され、これらのブロックは、その後、コーディングされる。ピクセルごとにブロックをコーディングする代わりに、全体のブロックは、ブロックの空間的又は時間的に近接した既にコード化されたピクセルを用いて予測される。エンコーダは、ブロックとその予測との間の差のみをさらに処理する。典型的には、さらなる処理は、変換領域において、ブロックピクセルの係数への変換を含む。 その後、係数は、さらに圧縮され(例えば、量子化を用いて)、ビットストリーム形式にさらに圧縮(例えばエントロピー符号化によって)されてもよい。ビットストリームは、デコーダがコード化されたビデオをデコード可能にするシグナリング情報をさらに含むことができる。例えば、シグナリングは、入力画像のサイズ、フレームレート、量子化ステップ指示、画像のブロックに適用予測、又は同様のものなどのエンコーダ設定に関する設定を含んでもよい。
ブロックとその予測との間の差は、ブロックの残差として知られている。より具体的には、ブロックのそれぞれのピクセルは、そのピクセルの強度レベルとその予測強度レベルとの差である残差を有する。ピクセルの強度レベルは、ピクセル値又はピクセルの値と称される。ブロックの全てのピクセルの残差は、集合的に、ブロックの残差と称される。言い換えれば、ブロックは、ブロックの全てのピクセルの残差からなるセット又はマトリクスである残差を有する。
時間的予測は、ビデオの画像(フレームとも称される)間の時間的相関を利用する。時間的予測は、それは異なる映像フレーム間(インター)の依存関係を用いて予測するので、インター予測とも呼ばれる。従って、現在のブロックとも称されるデコードされるブロックは、参照画像とも称される1つ又は複数のこれまでにデコードされた画像から予測される。1つ又は複数の参照画像は、ビデオシーケンスの表示順序で配置されている現在のブロックの中で、必ずしも、現在の画像に先行する画像ではない。エンコーダは、表示順序とは異なるコーディング順序で画像をコード化してもよい。現在のブロックの予測として、参照画像内の同位置ブロック(予測値と称される)が決定されてよい。同位置ブロックは、現在の画像内の現在のブロックと同じ位置で、参照画像内に配置されてよい。そのような予測は、静止画像領域、すなわち、1つの画像からもう1つへ動きがない画像領域に対して正確である。
エンコーダにおいて、動きを考慮に入れる予測値、すなわち、動き補償された予測値を取得するために、典型的には動き推定が使用される。現在のブロックは、動きベクトルによって示される位置の参照画像に配置されたブロックによって予測される。動きベクトルは、同位置ブロックの位置から現在のブロックの位置を指し示す(又はその逆も、符号の規約に応じて)。デコーダがエンコーダのように現在のブロックと同じ予測を決定可能とすべく、動きベクトルは、ビットストリームにおいて信号で伝えられてよい。ブロックのそれぞれについて動きベクトルをシグナリングすることによって生じたシグナリングオーバヘッドをさらに縮小すべく、動きベクトルそのものが推定されてもよい。動きベクトル推定は、空間的及び/又は時間的領域において、現在のブロックに隣接するブロックの動きベクトルに基づいて実行されてよい。
現在のブロックの予測は、1つの参照画像を用いて、又は2つ以上の参照画像から取得された予測に重みを付加することによって、演算されてよい。隣接画像は、現在の画像に類似する可能性が最も高いので、参照画像は、隣接画像でもよく、すなわち、表示順序において、現在の画像の直前又は直後の画像でもよい。しかしながら、一般的に、参照画像は、表示順序において、現在の画像に先行する又は後続する任意の画像でもよく、ビットストリームにおいて(デコード順序)現在の画像に先行する画像でもよい。これは、ビデオコンテンツにおいて、例えば、閉鎖された状態(オクルージョン)及び/又は非線形の動き場合に利点を提供することができる。参照画像は、ビットストリームにおいて信号で伝えられてよい。
インター予測の特殊モードは、現在のブロックの予測の生成に2つの参照画像が使用される状態で、双方向予測と呼ばれる。具体的には、それぞれの2つの参照画像において決定された2つの予測は、現在のブロックの予測信号に組み合わされる。双方向予測は、単予測よりも、すなわち、単一の参照画像を使用するだけの予測よりも、より正確な現在のブロックの予測をもたらすことができる。より正確な予測は、現在のブロック及び予測のピクセル間の差をより小さくすることになり(すなわち、より小さい残差)、予測はより効率的にコード化されてよく、すなわち、より短いビットストリームに圧縮される。
より正確な動き推定を提供するために、参照画像の解像度は、例えば、ピクセル間の補間サンプルによって、上げられてよい。小数ピクセル補間は、最も近いピクセルの加重平均化によって実行できる。例えば、ハーフピクセル解像度の場合、双線形補間が使用できる。他の小数ピクセルは、例えば、予測されるピクセルに最も近いそれぞれのピクセル間の距離の逆数によって重みづけされた最も近いピクセルの平均として計算できる。
動きベクトルは、例えば、現在のブロックと、参照画像において動きベクトル候補によって指し示された対応する予測ブロックとの間の類似性を計算することによって推定できる。これは、複雑な演算タスクになり得る。複雑さを減らすべく、動きベクトル候補の数は、特定の探索空間への動きベクトル候補を制限することによって減少できる。探索空間は、例えば、現在の画像における現在のブロックの位置に対応する参照画像内の位置を囲む複数のピクセルの数及び/又は位置によって定義されてよい。代替として、動きベクトル候補は、隣接するブロックの動きベクトルの形成された動きベクトル候補のリストによって定義されてよい。
動きベクトルは、通常、少なくとも部分的に、エンコーダ側で決定され、コーディングされたビットストリームにおいて、デコーダに信号で伝えられる。しかしながら、動きベクトルもまたデコーダで導出できる。そのような場合において、現在のブロックは、デコーダで利用できず、現在のブロックと、参照画像において動きベクトル候補が指し示す任意のブロックとの間の類似性を計算するために使用できない。それゆえ、現在のブロックの代わりに、テンプレートが使用でき、既にデコードされたブロックのピクセルから構築できる。例えば、現在のブロックに隣接する既にデコードされたピクセルが用いられてよい。そのような動き推定は、シグナリングを低減することの利点を提供する:動きベクトルは、エンコーダ及びデコーダの両方で同様に導出され、従って、シグナリングは必要ない。一方、そのような動き推定の精度は、より低くてもよい。
精度及びシグナリングオーバヘッド間のトレードオフを提供するために、動きベクトル推定は、動きベクトルの導出と動きベクトルの改良との2つの段階に分割されてよい。例えば、動きベクトルの導出は、候補のリストからの動きベクトルの選択を含んでよい。選択された動きベクトルは、例えば、探索空間の範囲内の検索によって、さらに改良されてよい。探索空間における検索は、それぞれの動きベクトル候補のため、すなわち、動きベクトル候補が指し示すブロックの候補点のそれぞれのためのコスト関数の計算に基づく。
文書JVET-D0029:両側テンプレートマッチングに基づくデコーダ側の動きベクトルの改良、X. Chen, J. An, J. Zheng (文書は、http://phenix.it-sudparis.eu/jvet/ siteで、見ることができる)は、整数のピクセル解像度において第1動きベクトルの改良が見つけられ、第1動きベクトル周りの探索空間におけるハーフピクセル解像度をともなう検索によってさらに改良される状態で、動きベクトルを示す。ここで、ピクセル解像度(例えば、整数又は半整数)は、探索空間の解像度、すなわち、プロセスに入力される非改良の動きベクトルに対する探索位置の変位を表現する。結果として、改良段階の検索座標は、必ずしも、画像平面上の実際のピクセル座標と一致しない。
上述の手法から出発して、本開示の目的は、コーディング効率の改善及び/又は複雑さを縮小するために、動きベクトル推定の効率をさらに増大することである。
これを達成するために、動きベクトルの改良用の探索空間を構築するためのスキームが提供され、探索空間は、第1探索空間及び第2探索空間を含む。位置の数及び/又は第2探索空間の位置は、コスト関数に基づいて導出される第1探索空間における2つの位置に従って決定される。
具体的には、第1態様によれば、映像フレームの現在のブロックのインター予測において使用される動きベクトルを決定する装置が提供される。装置は、動きベクトルの推定値を取得するとともに、推定値に基づいて、複数の動きベクトル候補を備える第1探索空間を決定し、コスト関数に従って、第1探索空間における第1動きベクトル候補及び第2動きベクトル候補を選択し、第1動きベクトル候補及び第2動きベクトル候補に基づいて、1つ又は複数の動きベクトル候補を備える第2探索空間を決定するための探索空間決定ユニットを備える。装置は、第1探索空間及び第2探索空間の動きベクトル候補の中から、現在のブロックのための動きベクトルを選択する動きベクトル選択ユニットをさらに備える。
利点として、デコーダ側での動きベクトルの改良の処理においてテストされる動きベクトル候補の数は、画像品質及びビットレートに関して高品質コーディング性能を維持しながら減少してよい。
有利に、コスト関数は、予め定められたテンプレートに基づいており、動きベクトル候補のそれぞれに対して、予め定められたテンプレートと、それぞれの動きベクトル候補によって指し示された予測値との間の類似性のレベルを示す。従って、探索空間決定ユニットは、予め定められたテンプレートに最も類似する現在のブロックの予測値を指し示す第1探索空間における2つの動きベクトル候補を、第1動きベクトル候補及び第2動きベクトル候補として、選択するように構成される。
第1実施形態によれば、探索空間決定ユニットは、第1動きベクトル候補及び第2動きベクトル候補によって指し示された位置を接続する直線の方向に従って、言い換えれば、第1動きベクトル候補及び第2動きベクトル候補の差分ベクトルの方向に従って、第2探索空間のサイズ及び/又は位置を決定するように、さらに構成される。差分ベクトルは、第2動きベクトル候補から差し引かれた第1動きベクトル候補として、又はその逆も同様に、定義できる。
例えば、探索空間決定ユニットは、整数のピクセル解像度を有するために、第1探索空間を設定するように、さらに構成される。探索空間決定ユニットは、第2探索空間において、第1動きベクトル候補及び第2動きベクトル候補が指し示す位置を接続する直線の方向にある位置を指し示す1つ又は複数の動きベクトル候補を含むように構成され、第2探索空間は、小数のピクセル解像度を有する。言い換えれば、その直線の方向は、第1動きベクトル候補及び第2動きベクトル候補の差分ベクトルの方向である。
例として、第2探索空間の少なくとも一つの動きベクトル候補は、第1動きベクトル候補及び第2動きベクトル候補によって指し示された位置の間の位置を指し示す。
第2実施形態によれば、探索空間決定ユニットは、少なくとも二つの動きベクトル候補がそれぞれ指し示す少なくとも二つの位置を含む領域の位置を決定するように構成され、上記少なくとも二つの位置は、第2探索空間のピクセル解像度において隣接し、第1探索空間に属さない領域のこれらの位置として第2探索空間を決定するように構成される。
例えば、探索空間決定ユニットは、動きベクトルの上記推定値によって指し示された位置に対して、第1探索空間のピクセル解像度において隣接する位置に指し示される動きベクトル及び動きベクトル候補の推定値を含む第1探索空間を決定するように構成されてよい。
第3実施形態によれば、探索空間決定ユニットは、第1探索空間において特定された第1動きベクトル候補及び第2動きベクトル候補によって指し示された位置に対して第1探索空間のピクセル解像度において隣接し、動きベクトルの推定値によって指し示された位置とは異なる位置を指し示す動きベクトル候補を、第2探索空間の第1動きベクトル候補として決定するようにさらに構成される。
例えば、探索空間決定ユニットは、第2探索空間の更なる動きベクトル候補として、動きベクトルの推定値と第2探索空間の候補とを接続する直線上にほぼ位置する第2探索空間の解像度における位置を指し示す動きベクトル候補を選択するようにさらに構成され、第2探索空間のピクセル解像度は、第1探索空間のピクセル解像度より高い。
例として、第2探索空間の更なる動きベクトル候補は、第2探索空間の第1動きベクトル候補及び動きベクトルの推定値によって指し示された位置の間に配置された位置を指し示す。
第1態様の実施形態の全ての例として、第2探索空間は、第1探索空間より高い解像度を有する。
更なる例として、装置は、現在のブロックに隣接する少なくとも一つのブロックの動きベクトルを含む動きベクトルのリストから動きベクトルの推定値を決定する動きベクトル決定ユニットをさらに備える。
さらに、ビットストリームから複数の画像をデコードするためのビデオデコーダが提供される。ビデオデコーダは、ビットストリームから動きベクトルの推定値の指示を取得するためのビットストリームパーサーと、現在のブロックの動きベクトルが指し示す予測ブロックを決定するようにさらに構成され、第1態様の任意の実施形態及び実施例に係る装置を含むインター予測ユニットと、予測ブロックに基づいて、現在のブロックを再構築するための再構築ユニットとを備える。
また、複数の画像をビットストリームにコード化するためのビデオエンコーダが提供される。ビデオエンコーダは、現在のブロックの動きベクトルが指し示す予測ブロックを決定するようにさらに構成された第1態様の任意の実施形態及び実施例に係る装置を含むインター予測ユニットと、動きベクトルの推定値の指示をビットストリームに含めるためのビットストリームフォーマーと、予測ブロックに基づいて、現在のブロックを再構築し、メモリに再構築されたブロックを格納するための再構築ユニットを備える。
第2態様によれば、方法は、現在のブロックのインター予測において使用される動きベクトルを決定するために提供される。方法は、動きベクトルの推定値を取得する段階と、推定値に基づいて、複数の動きベクトル候補を備える第1探索空間を決定する段階と、コスト関数に従って、第1探索空間における第1動きベクトル候補及び第2動きベクトル候補を選択する段階と、第1動きベクトル候補及び第2動きベクトル候補に基づいて、1つ又は複数の動きベクトル候補を備える第2探索空間を決定する段階と、第1空間及び第2空間の動きベクトル候補の中から、現在のブロックのための動きベクトルを選択する段階とを備える。
有利に、コスト関数は、予め定められたテンプレートに基づいており、動きベクトル候補のそれぞれに対して、予め定められたテンプレートと、それぞれの動きベクトル候補によって指し示された予測値との間の類似性のレベルを示す。従って、第1動きベクトル候補及び第2動きベクトル候補を選択する段階は、予め定められたテンプレートに最も類似する現在のブロックの予測値を指し示す第1探索空間における2つの動きベクトル候補を選択する段階を含む。
例示的な第1実施形態では、第2探索空間を決定する段階において、第2探索空間のサイズ及び/又は位置は、第1動きベクトル候補及び第2動きベクトル候補が指し示す位置を接続する直線の方向に従って決定される。
例として、複数の動きベクトル候補を含む第1探索空間を決定する段階において、第1探索空間は、整数のピクセル解像度を有する。第2探索空間を決定する段階において、第2探索空間は、第1動きベクトル候補及び第2動きベクトル候補が指し示す位置を接続する直線の方向にある位置を指し示す1つ又は複数の動きベクトル候補として決定され、第2探索空間は、小数のピクセル解像度を有する。
例えば、第2探索空間の少なくとも一つの動きベクトル候補は、第1動きベクトル候補及び第2動きベクトル候補によって指し示された位置の間の位置を指し示す。
例示的な第2実施形態によれば、第2探索空間を決定する段階において、少なくとも二つの動きベクトル候補がそれぞれ指し示す少なくとも二つの位置を含む領域の位置が決定され、上記少なくとも二つの位置は、第2探索空間のピクセル解像度において隣接し、第2探索空間は、第1探索空間に属さない領域のこれらの位置として決定される。
例として、第1探索空間を決定する段階において、第1探索空間は、動きベクトルの上記推定値によって指し示された位置に対して、第1探索空間のピクセル解像度において隣接する位置を指し示す動きベクトル及び動きベクトル候補の推定値を含む。
例示的な第3実施形態によれば、第2探索空間を決定する段階において、第2探索空間の第1動きベクトル候補として、動きベクトル候補は、第1探索空間において特定された第1動きベクトル候補及び第2動きベクトル候補によって指し示された位置に対して第1探索空間のピクセル解像度において隣接し、動きベクトルの推定値によって指し示された位置とは異なる位置を指し示すように決定される。
例えば、第2探索空間の更なる少なくとも1つの動きベクトル候補として、動きベクトル候補は、動きベクトルの推定値と第2探索空間の候補とを接続する直線上にほぼ位置する第2探索空間の解像度における位置を指し示すように決定される。ここに、第2探索空間のピクセル解像度は、第1探索空間のピクセル解像度より高い。
例として、第2探索空間の上記更なる動きベクトル候補は、第2探索空間の第1動きベクトル候補及び動きベクトルの推定値によって指し示された位置の間に配置された位置を指し示す。
第2態様の実施形態の全ての例として、第2探索空間は、第1探索空間より高い解像度を有する。
更なる例として、動きベクトルの推定値を取得する段階は、現在のブロックに隣接する少なくとも一つのブロックの動きベクトルを含む動きベクトルのリストから動きベクトルの推定値を決定することによって実行される。
以下の例示的な実施形態では、添付の図面を参照してより詳細に説明される。
ビデオエンコーダの構成例を示すブロック図である。 ビデオデコーダの構成例を示すブロック図である。 動きベクトルを決定するための装置の構成例を示すブロック図である。 現在のブロック及び例示的な探索空間構成の概略図である。 例示的な第1実施形態に係る探索空間構成の概略図である。 例示的な第1実施形態に係る探索空間構成の概略図である。 例示的な第1実施形態に係る探索空間構成の概略図である。 例示的な第1実施形態に係る探索空間構成の概略図である。 例示的な第1実施形態に係る第2探索空間の決定を示す概略図である。 第1実施形態に係る更なる探索空間構成の概略図である。 第1実施形態に係る更なる探索空間構成の概略図である。 第2実施形態に係る現在のブロック及び例示的な探索空間構成の概略図である。 第2実施形態に係る現在のブロック及び例示的な探索空間構成の概略図である。 第3実施形態に係る探索空間の決定を示す概略図である。 第3実施形態に係る探索空間決定ユニットのブロック図である。 異なる実施形態の組み合わせに係る探索空間構成の概略図である。 異なる実施形態を組み合わせることによる探索空間の例示的な決定を示す概略図である。 動きベクトルの改良のための方法を示すフローチャートである。 探索空間位置に関するコスト計算のための方法を示すフローチャートである。
本開示は、動き補償のための探索空間の効率的な決定に関し、動きベクトルの改良のために、特に有利である。探索空間の決定は、ビデオのコード化及びデコードの間に適用される動き推定値において使用されてよい。以下において、本開示の探索空間の構築を使用する動き推定を実装することができる例示的なエンコーダ及びデコーダが説明される。
図1は、ビデオストリームのフレーム又は画像の入力ブロックを受信するための入力及びコード化済みビデオビットストリームを提供するための出力を備えるエンコーダ100を示す。本開示において「フレーム」との用語は、画像と同義語として使用される。しかしながら、本開示は、インターレースが適用される場合のフィールドにも適用可能であることに留意されたい。一般的に、画像は、nピクセルのm倍が含まれる。これらは、画像サンプルに対応し、それぞれ1つ又は複数の色成分を備えることができる。簡略化のために、以下の説明では、輝度のサンプルを意味するピクセルに言及する。しかしながら、本発明の動きベクトル検索は、クロミナンスを含む任意の色成分又はRGB又は同様のもののような色空間の成分に適用できることに留意されたい。一方、一つの成分のみに対する動きベクトル推定を実行すること、及びより多くの(又は全ての)成分に対して決定された動きベクトルに適用することは、有益であり得る。
コーディングされることになっている入力ブロックは、必ずしも同一サイズを有していない。1つの画像は、異なるサイズのブロックを含んでよく、異なる画像のブロックラスターもまた異なっていてもよい。
エンコーダ100は、ビデオストリームに対して、予測、変換、量子化、及びエントロピー符号化を適用するように構成される。変換、量子化、及びエントロピー符号化は、出力としてコード化済みビデオビットストリームを生成するために、それぞれ、変換ユニット101、量子化ユニット102、及びエントロピエンコードユニット103によって実行される。
ビデオストリームは、複数のフレームを含んでよい。それぞれのフレームは、イントラかそれともインターコーディングされたブロックに分割される。例えば、ビデオストリームの第1フレームのブロックは、イントラ予測ユニット109を用いてイントラコーディングされる。他のフレームから独立してデコードされ得るように、イントラフレームは、そのフレームのみからの情報を使用してコーディングされる。従って、イントラフレームは、例えば、ランダムアクセスのために、ビットストリームにおいてエントリポイントを提供することができる。ビデオストリームの他のフレームのブロックは、インター予測ユニット110を用いてインターコーディングされてよく、インターコーディングされたフレームのそれぞれのブロックは、もう1つのフレーム(参照フレーム)、例えば、これまでにコーディングされたフレームにおいて、ブロックから予測される。モード選択ユニット108は、フレームのブロックは、イントラ予測か、又はインター予測か、すなわち、イントラ予測ユニット109か、又はインター予測ユニット110かによって処理されるかを選択するように構成される。また、モード選択ユニット108は、イントラ又はインター予測のパラメータを制御する。画像情報のリフレッシュを可能にするために、インターコーディングされたフレームは、インターコーディングされたブロックだけでなく、1つ又は複数のイントラコーディングされたブロックもまた備えることができる。対照的に、イントラフレームは、イントラコーディングされ、インターコーディングされていないブロックのみを含む。イントラフレームは、デコードのためのエントリポイント、すなわち、デコーダが先行するフレームからの情報を使用することなくデコードを開始できる位置を提供するために、ビデオシーケンスに挿入されてよい(例えば、定期的に、特定の複数のインターフレームの後のそれぞれの時間に)。
イントラ予測ユニット109は、ブロック予測ユニットである。空間的又は時間的予測を実行するために、コーディングされたブロックは、逆量子化ユニット104及び逆変換ユニット105によってさらに処理され得る。ブロックの再構築後、ループフィルタリングユニット106は、デコードされた画像の品質をさらに改善するように適用され得る。フィルタリングブロックは、そのとき、参照フレームを形成し、そのとき、参照フレームは、フレームバッファ107に記憶される。エンコーダ側でのそのようなデコードループ(デコーダ)は、デコーダ側で再構築された参照画像と同一である有益な参照フレームの生成を提供する。従って、エンコーダ及びデコーダ側は、対応する方式で動作する。ここで、「再構築」との用語は、デコードされた残差ブロックを予測ブロックに加えることによって、再構築されたブロックを取得することを言う。
インター予測ユニット110は、入力として、インターコーディングされる現在のフレーム又は画像のブロック、及び1つ又は複数の参照フレーム又は画像を、フレームバッファ107から受信する。動き推定及び動き補償は、インター予測ユニット110によって実行される。動き推定は、例えば、コスト関数に基づいて、動きベクトル及び参照フレームを取得するために使用される。次に、動き補償は、参照フレームについての参照ブロックの現在のフレームへの変換に関して、すなわち、動きベクトルによって、現在のフレームについての現在のブロックを記述する。インター予測ユニット110は、予測ブロックがコスト関数を最小化するように、1つ又は複数の参照フレーム内のブロック候補のセット(すなわち、予測値候補)の中から、現在のブロックのための予測ブロック(すなわち、予測値)を選択する。言い換えれば、コスト関数が最小であるブロック候補は、予測ブロックとして、現在のブロックのために使用される。
例えば、コスト関数は、現在のブロックとブロック候補との差の量、すなわち、ブロック候補に関して現在のブロックの残差の量でもよい。例えば、コスト関数は、現在のブロックの全てのピクセル(サンプル)と、参照画像候補内のブロック候補の全てピクセルとの間の絶対差の合計(SAD)でもよい。しかしながら、一般的に、任意の類似性基準は、平均二乗誤差(MSE)又は構造的類似性基準(SSIM)のように、使用できる。
しかしながら、コスト関数は、そのようなインターブロック、及び/又はそのようなコーディングに起因する歪を、コーディングするために必要なビット数でもよい。従って、レート歪み最適化手順は、動きベクトルの選択、及び/又は、ブロックに対してインター予測又はイントラ予測のどちらを使用するか、どの設定を使用するかなどの一般的にエンコーディングパラメータを決定するために使用されてよい。
イントラ予測ユニット109は、入力として、イントラコーディングされる現在のフレーム又は画像のブロック、及び現在のフレームの既に再構築されたエリアから1又はいくつかの参照サンプルを受信する。次に、イントラ予測は、現在のフレームの参照サンプルの関数に関して、現在のフレームの現在のブロックのピクセルを記述する。イントラ予測ユニット109は、現在のブロックのために予測ブロックを出力し、上記の予測ブロックは、コーディングされる現在のブロックと、その予測ブロックとの差を有利に最小化し、すなわち、このことは、残差ブロックを最小化する。残差ブロックの最小化は、例えば、レート歪み最適化手順をベースとすることができる。具体的には、予測ブロックは、参照サンプルの方向の補間として取得される。その方向は、レート歪み最適化によって、及び/又はインター予測に関連して、上記のように類似性の量を計算することによって、決定されてもよい。
現在のブロックと、その予測、すなわち、残差ブロックとの間の差は、その後、変換ユニット101によって変換される。変換係数は、量子化ユニット102によって量子化され、エントロピエンコードユニット103によって、エントロピーコーディングされる。従って、生成されたコード化されたビデオビットストリームは、イントラコーディングされたブロック及びインターコーディングされたブロック対応するシグナリング(モード指示、動きベクトルの指示、及び/又はイントラ予測方向など)を備える。変換ユニット101は、離散フーリエ変換(DFT)又は離散コサイン変換(DCT)などの線形変換を適用することができる。そのような空間周波数領域への変換は、結果として得られる係数が、より低周波数において典型的により高い値を有するという利点を提供する。従って、効果的な係数スキャニング(ジグザグなど)及び量子化の後、結果となる値のシーケンスは、最初と最後にゼロの連続を伴って、通常はいくつかのより大きい値を有する。これは、さらに効率的なコーディングを可能にする。量子化ユニット102は、係数値の解像度を低減することによって、不可逆の圧縮を実行する。次に、エントロピーコーディングユニット103は、2進法のコードワードを係数値に割り当てる。コードワードは、コード化されたビットストリームと呼ばれるビットストリームに書き込まれる。また、エントロピーコーダーは、シグナリング情報をコーディングする(図1において不図示)。
図2は、ビデオデコーダ200の例を示す。ビデオデコーダ200は、具体的には、参照画像バッファ207、及びブロック予測ユニットであるイントラ予測ユニット209を備える。参照画像バッファ207は、コード化済みビデオビットストリームのコード化済みビデオビットストリームから再構築された少なくとも一つの参照フレームを格納するように構成される。イントラ予測ユニット209は、デコードされるブロックの推定値である予測ブロックを生成するように構成される。イントラ予測ユニット209は、参照画像バッファ207から取得された参照サンプルに基づいてこの予測を生成するように構成される。
デコーダ200は、ビデオエンコーダ100によって生成されたコード化済みビデオビットストリームをデコードするように構成され、好ましくは、デコーダ200及びエンコーダ100の両方が、コード化/デコードされるそれぞれのブロックのために同一の予測を生成する。参照画像バッファ207及びイントラ予測ユニット209の機能は、図1の参照画像バッファ107及びイントラ予測ユニット109の機能に類似する。
ビデオデコーダ200は、同様のビデオエンコーダ100にも存在するようなユニット、例えば、逆量子化ユニット204、逆変換ユニット205、及びループフィルタリングユニット206をさらに備え、これらは、それぞれ、ビデオコーダー100の逆量子化ユニット104、逆変換ユニット105、及びループフィルタリングユニット106に対応する。
エントロピーデコーディングユニット203は、量子化された残差変換係数及びシグナリング情報を取得するために、受信したコード化済みビデオビットストリームをデコードするように構成される。量子化された残差変換係数は、逆量子化ユニット204及び逆変換ユニット205に供給され、残差ブロックを生成する。残差ブロックは、予測ブロックに加えられ、その結果である合計は、デコードされたビデオブロックを取得するために、ループフィルタリングユニット206に供給される。デコードされたビデオのフレームは、参照画像バッファ207に記憶されることができ、インター予測のための参照フレームとして機能する。概して、図1および図2のイントラ予測ユニット109および209は、既にコード化済みのエリアから参照サンプルを使用して、コード化される必要がある、又はデコードされる必要があるブロックのために予測信号を生成することができる。
エントロピーデコーディングユニット203は、その入力として、コード化済みビットストリームを受信する。ビットストリームは、まず、解析されることができ、すなわち、シグナリングパラメータ及び残差がビットストリームから抽出される。ビットストリームの構文及び意味は、エンコーダ及びデコーダが相互利用可能な方式で機能でき得るように、基準によって定義され得る。上記の背景技術の欄で説明されているように、コード化済みビットストリームは、予測残差に加えてさらに情報を含む。動き補償された予測の場合、動きベクトル表示は、また、ビットストリームにおいてコーディングされ、デコーダでビットストリームから解析される。動きベクトル表示は、動きベクトルが提供される範囲内の参照画像を用いて、及び、動きベクトル座標を用いて、与えられることができる。この例では、動きベクトル座標は、参照画像内のx及びy座標であり、座標(0,0)は、現在のフレームで処理されている現在のブロックの位置に対応する参照フレーム内の位置であると仮定して、動きベクトルが示すポイントを定義する。しかしながら、動きベクトル表示は、直接、座標を伝える必要はない。一般的に、動きベクトルの任意の識別は、ポインタ(インデックス)などを、動きベクトル候補のリスト、又はブロックのインター予測を識別することが可能な任意の他の識別子に適用可能である。
効率的に参照画像をコーディングするために、H.265コーダ・デコーター(ITU−T、H265、シリーズH:オーディオビジュアル及びマルチメディアシステム:高効率ビデオコーディング)は、参照画像のリストを提供する。リストのそれぞれのエントリは、特定の参照フレームを示す。言い換えれば、リストのそれぞれのインデックス(すなわち、エントリ数)には、それぞれの参照フレームが割り当てられる。ビットストリームは、それぞれインターフレームのために、それぞれリストインデックスを含み、それゆえ、そのインターフレームを再構築するための特定の参照フレームを識別する。リストは、基準において定義され、又は、ビデオあるいは多数のフレームのセットの先頭で信号で伝えられ得る。H.265では、L0及びL1と呼ばれ、定義された参照画像の2つのリストがあることに留意されたい。その後、参照画像は、リスト(L0又はL1)を示すこと、及び所望の参照画像に関連するそのリストにおいてインデックスを示すことによって、ビットストリームにおいて信号で伝えられる。2つ以上のリストの提供は、より良好な圧縮のために利点を有することができる。例えば、L1が双方向にインター予測されたスライスのためにのみ用いられ得る間に、L0は、一方向にインター予測されたスライス及び双方向にインター予測されたスライスの両方のために用いられ得る。しかしながら、一般的に、本開示は、L0及びL1リストの任意のコンテンツに限定されるものではない。
動きベクトルは、(参照画像において)動きベクトルが指し示すブロックの座標によって、直接、信号で伝えられてよい。代替として、H.265において規定されるように、動きベクトル候補のリストが構築されてよく、リストによって、特定の動きベクトルに関連されたインデックスが送信されることができる。
現在のブロックの動きベクトルは、現在の画像において、又は、より先にコーディングされた画像において、隣接するブロックの動きベクトルと、しばしば、相互に関連がある。これは、隣接するブロックは、同様の動きを有する同一の移動オブジェクトに対応する可能性が高く、オブジェクトの動きは、時間の経過とともに突然変化する可能性が低いためである。したがって、1つ又は複数の空間的に又は時間的に隣接するブロックの動きベクトルを用いて、現在のブロックの動きベクトルのために、予測値(動きベクトル予測値として称される、MVP)を定義することは、信号で伝えられる動きベクトル差のサイズを減少させる。MVPは、空間的に隣接するブロックから、又は同位置画像1において時間的に隣接するブロックから、既にデコード済の動きベクトルから導出される得る。H.264/AVCでは、これは、空間的に隣接する3つの動きベクトルの中央値に成分的にすることによって、行われる。この手法を用いると、予測値のシグナリングは必要ない。同位置画像からの時間的MVPsは、現在、H.264/AVCのいわゆる時間的ダイレクトモードでのみ考慮される。H.264/AVCダイレクトモードは、また、動きベクトル以外の動きデータを導出するために使用される。したがって、それらは、HEVCにおいて、ブロックマージコンセプトに、より関連する。HEVCにおいて、MVPの暗示的導出の手法は、MVPのリストから動きベクトルの導出のためにどのMVPが用いられるかを明確に伝える、動きベクトルの競争として知られる技術によって置き換えられた。HEVC内の四分木ブロック構造コーディング変数は、潜在的MVP候補としての動きベクトルと共にいくつかの隣接するブロックを有する1つのブロックをもたらし得る。例として左に隣接するものをとると、最も悪い場合、64×64ルマ予測ブロックは、64×64ルマ予測ブロックがさらに分割されず、左のものが最大深さに分割される場合、左に対して16 4×4ルマ予測ブロックを有することができる。
アドバンスト動きベクトル予測(AMVP)は、そのようなフレキシブルブロック構造を構成するために動きベクトルの競争を修正することを導入した。HEVCの開発の間、初期のAMVP設計は、コーディング効率とフレンドリ設計の実装との間の好適なトレードオフを提供するために大きく簡略化された。初期のAMVPの設計は、予測値の3つの異なるクラスから5つのMVPを含んだ。これらは、空間隣接からの3つの動きベクトル、3つの空間予測値の中央値、及び同位置にある時間的に隣接するブロックからのスケーリングされた動きベクトルである。さらに、予測値のリストは、第1位置に最も起こりそうな動き予測値を置くことを再度命令することによって、及び最小のシグナリングオーバヘッドを保証するために余剰な候補を除去することによって、修正された。AMVP候補リスト構築の最終設計は、以下の2つのMVP候補を含む。a)5つの空間隣接するブロックから導出された空間的候補MVPを2つまで、b)両方の空間的候補MVPが利用できない、又はそれらが同一である場合、2つの時間的、同位置ブロックから導出された時間的MVP候補を1つ、及びc)空間的、時間的、又は両方の候補が利用できない場合、動きベクトルはゼロである。動きベクトルの決定に関する詳細は、v. Sze et al (Ed.)による本「高効率ビデオコーディング(HEVC):アルゴリズム及びアーキテクチャ、Springer、2014」、特に、第5章で見つけることができ、参照により本明細書に組み込まれる。
以下で詳細に説明されるように、エンコーダ側で導出されて、ビットストリームにおいてに提供される動きベクトルは、さらに改良され得る。従って、動きベクトル推定は、シグナリングオーバヘッドでさらに増大することなく改良される。動きベクトルの改良は、エンコーダからの支援なしで、デコーダで実行され得る。エンコーダにおけるデコーダループは、対応する参照画像を取得するために、同一の改良を利用できる。改良は、テンプレートを決定すること、探索空間を決定すること、及び探索空間において、テンプレートに最も一致する参照画像の部分の位置を見つけることによって、実行され得る。最も一致する部分の位置は、現在のブロック、すなわち、再構築される現在のブロックの予測値を取得すために、その後、使用される最良の動きベクトルを決定する。
動作中、図1のビデオエンコーダ100に実装され得るインター予測ユニット110の回路は、現在のブロックのインター予測のために動きベクトルを取得すべく、動き推定を実行する(図3参照)。また、同様の予測は、図2のビデオデコーダ200のインター予測ユニット210によって、実行することができ、図3及び付随する説明は、同様に適用される。
完全な動きベクトルの第1推定値又は近似とみなすことができる初期動きベクトルMV0は、インター予測ユニット110によって取得される。例えば、MV0は、動きベクトル候補のリストから選択することができる。リストは、現在のブロックに隣接する少なくとも一つのブロックの動きベクトルを含むことができる。代替として、MV0は、エンコーダ側で一致するブロックによって取得され、ビットストリームの範囲内でデコーダ側に信号で伝えられてよい。これに応じて、デコーダ側で、インター予測ユニット210は、ビットストリームから初期動きベクトルMV0を取得できる。例えば、候補のリストへのインデックスは、ビットストリームから抽出され、そのインデックスによって特定された動きベクトル候補は、初期動きベクトルMV0としてインター予測ユニットに提供される。代替として、MV0の座標は、ビットストリームから直接抽出される。しかしながら、本開示は、初期動きベクトルMV0を取得する何か特定の方法に限定されるものではない。一般的に、MV0は、任意の方式、例えば、エンコーダ及びデコーダで同様にテンプレートマッチングによって、決定されてよい。更なる代替として、動きベクトルは、空間的又は時間的領域において、現在のブロックに対して隣接するブロックの動きベクトルの関数として予測され得る。
初期動きベクトルMV0は、現在のブロックのインター予測において使用される最終動きベクトルMV0''の初期推定値である。それは、最終動きベクトルMV0''が出力されることの最後で、改良プロセスのための入力を構成する。改良プロセスは、探索空間を決定する段階、及び探索空間から最終動きベクトルを選択する段階を含む。
概して、(例えば、インター予測ユニット110または210の探索空間決定ユニット310によって実行される)探索空間の構築は、構築される探索空間の部分のそれぞれにおいて、2つの段階を含む。動きベクトル選択ユニット340(また、インター予測ユニット110及び/又は210の一部)は、その後、マッチングコストに従って、(探索空間位置の座標に対応する)動きベクトルMV0''を選択する。探索空間のある動きベクトル候補のために、おそらく、それぞれの段階で決定されたそれぞれの探索空間部分の全ての動きベクトル候補のために、探索空間の構築の間の一部として、コストは前々から計算されてもよいことを留意されたい。
探索空間の構築は、第1探索空間(一部の)の構築の第1段階301を含む。第1段階301で決定された第1探索空間の位置のから、少なくとも2つの候補位置が選択され302、どちらの候補位置が第2段階303でチェックされるかを決定するために使用される。
言い換えれば、初期動きベクトルMV0に基づいて、複数の動きベクトル候補を含む第1探索空間が決定される301。第1探索空間では、第1動きベクトル候補及び第2動きベクトル候補は、コスト関数に従って特定される302。第1動きベクトル候補及び第2動きベクトル候補に基づいて、第2探索空間は、1つ又は複数の動きベクトル候補を含むように決定される303。第1探索空間及び第2探索空間の両方動きベクトル候補の中から、現在のブロックのための動きベクトルMV0''は、動きベクトル選択ユニット340によって選択される。具体的には、第2探索空間が評価された後、コスト関数を最小化する候補が見つかり、この候補は、インター予測において適用される最終動きベクトルMV0''として、選択される。第1探索空間は、参照画像内の位置の第1サブセット、すなわち、第1探索空間の動きベクトル候補によって指し示されたサブセットの位置に相当する。同様に、第2探索空間は、参照画像内の位置の第2サブセット、すなわち、第2探索空間の動きベクトル候補によって指し示されたの位置のサブセットに相当する。
動きベクトルの改良は、参照画像内でのサブセットの位置、及び、第1探索空間及び第2探索空間の位置を含む探索空間において、実行される。その位置は、それぞれの動きベクトル候補が指し示す位置、すなわち、評価されるテンプレートと一致する位置である。参照画像は、整数又は小数解像度において、利用可能でもよい。参照画像解像度に関係なく、探索空間又はその一部は、参照画像からより低い又はより高い独自の解像度を有してもよい。より高い解像度は、小数ピクセルを取得するために小数ピクセル補間を実行することによって実現され得る。
例えば、初期動きベクトルMV0は、フルピクセル位置とも称される整数のピクセル位置を指し示すことができる。代替として、MV0は、小数ピクセル位置、例えば、ハーフピクセル位置又は1/4ピクセル位置を指し示すことができる。ここで、残りの説明において同様であり、「ハーフピクセル位置」(及び、それぞれ、「1/4ピクセル位置」)は、隣接する2つのフルピクセル位置間(すなわち、フルピクセル解像度において隣接するピクセル)の直線上の位置を言い、小数ピクセル位置は、隣接する2つフルピクセル位置間の距離の半分(または、それぞれ、1/4)である次の全ピクセル位置までの距離を有する。
本開示の異なる実施形態では、MV0がフルピクセル又はハーフピクセル位置を指し示しているかどうかに関わらず、第1探索空間及び第2探索空間は、解像度において、同じ解像度かそれとも異なる解像度かを有することができる。例えば、第2探索空間は、第1探索空間より高い解像度を有することができる。それゆえ、第2探索空間は、第1探索空間の改良として見なすことができる。
有利には、第1探索空間は、フルピクセル解像度を有する。そのとき、もし、第2探索空間の解像度が第1探索空間の解像度と異なるならば、第2探索空間の解像度は、ハーフピクセル解像度などの小数のピクセル解像度でもよい。探索空間の解像度は、参照画像の解像度と異なっていともよいことに留意されたい。例えば、初期動きベクトルは、参照画像内のハーフピクセルを指し示すことができる。それにもかかわらず、第1探索空間は、互いからの少なくとも整数ピクセルの距離内にある複数の位置のみを含むことができる。それにもかかわらず、これらの位置は、参照画像のピクセルのサブピクセル上に全て配置されてもよい。
本開示の様々な実施形態による探索空間の異なる構成が示されている残りの図と同様に、図4では、フルピクセル解像度は、網掛けされた(フル)ドットを用いて示されているが、それに対して、小数ピクセル位置は網掛けなしの(空の)ドットとして図示されている。コーディングされ又はデコードされるビデオ内の画像のピクセルは、正方形パターンに配置されてもよい。しかしながら、一般に、それらは、必ずしも正方形パターンではない一般的な矩形ピクセルパターンを有することができる。概して、本開示は、何か特定のピクセルパターンに限定されるものではない。また、ピクセルは、矩形ではないパターンに配置されてもよい。一実施形態では、現在のブロックのための動きベクトル候補は、現在の画像内(座標(0,0)を有すると仮定され)の現在のブロックの左上のピクセルから、(図4で図示されるように)参照画像での予測ブロック候補のそれぞれの左上のピクセルを指し示す。それゆえ、予測ブロック候補の左上のピクセルは、参照画像内の探索空間を表す。この実施形態ではブロックの左上のピクセルは、ブロックの位置として、利用される。しかしながら、ブロックの任意の他のピクセルは、ブロックの位置として利用でき、同じ位置規定が全てのブロックに適用されることが理解される。例えば、動きベクトルは、現在のブロックの中心ピクセルからそれぞれのブロック候補の中心ピクセルまで、連続するように同等に定義されてもよい。
例として(再び図4を参照)、第1探索空間は、9個の動きベクトル候補、すなわち、フルピクセル解像度において、その4つの最も近い隣接位置、及びその4つの2番目に最も近い隣接位置と同様に動きベクトルの初期推定値MV0を含む。図4における第1探索空間のコンスタレーション(類似のコンスタレーション)は、垂直及び水平においてピクセル間の距離が同一であるという意味である「正方形」コンスタレーションである。本開示の実施形態を説明する場合に示されるように、様々なサイズ及び形状を有するコンスタレーションは、第1探索空間のために使用され得る。
上記で説明したように、動きベクトルの改良スキームは、追加のコントロールシグナリングなしで、エンコーダ及びデコーダで同じ方法で実行され得る。これは、例えば、デコーダ側と同様にエンコーダ側でテンプレートを提供することをによって、実現され得る。例えば、テンプレートは、既にコード化済み/デコード済みピクセルから決定され得る(例えば、上で述べた文書JVET-D0029で説明した技術の一つを使用して)。そのようなテンプレートの例は、現在のブロック及び隣接する現在のブロックの前に、デコードされた1つ又は複数のブロックのピクセルでもよい。より具体的には、現在のブロックについての動きベクトルの改良のためのテンプレートは、左境界で隣接するブロックのNピクセル及び上側の境界で隣接するブロックのMピクセルとなるように決定されてよく、通常、ブロックのデコードは、左から右へ、上から下へ、実行されることが仮定される。M及びNは、1より大きい整数である。 しかしながら、テンプレートは、それとは別に決定されてもよく、現在のブロックとの境界に直接的に隣接するブロックのピクセル、隣接するブロックの他のピクセル、及び/又は1つ又は複数の隣接するブロックの境界全体から離れて含んでよい。
実際には、動きベクトルの改良は、デコーダにほとんど関係する。情報は、特定の動きベクトルの改良に関係するビットストリームにおいて、コード化されないので、エンコード側は、改良された動きベクトルを考慮に入れる参照画像を作り出すために、デコードループのみに改良を適用する。
類似性は、例えば、テンプレートと、動きベクトル候補によって指し示された位置でのテンプレートに対応する参照画像エリアとの絶対差の合計でもよいコスト関数によって測定することができる。全ての動きベクトル候補についての絶対差の合計(SAD)の計算後、最少SADを有する候補が選択される。しかしながら、SADは、単に一例であり、二乗差の合計又は相関など同様の任意の他の類似性基準が適用され得ることに留意されたい。
第1動きベクトル候補及び第2動きベクトル候補は、予め定められたテンプレートに最も類似する(及び2番目に最も類似する、それぞれ)現在のブロックの予測値の位置について、それぞれ言及する。テンプレートは、例えば、JVET−D0029で説明された技術の一つを使用して、先行する段階で生成されてもよい。
改良による動きベクトルの決定についての方法は、図18に関して以下に説明される。方法は、S1801でスタートする。S1802において、動きベクトルの初期推定値MV0が取得され、第1探索空間は、動きベクトルの初期推定値に基づいて設定される。第1探索空間は、MV0に関連した位置を囲む位置を指し示す動きベクトル候補を含む。第1探索空間の動きベクトル候補に関連するコストがS1803で計算され、計算されたコストに従って、第1動きベクトル候補及び第2動きベクトル候補、P1及びP2が選択される。P1及びP2従って、1つ又は複数の動きベクトル候補を含む第2探索空間が段階S1804で設定される。第2探索空間は、2つの最も有望な位置に基づいて設定されるので、かなり小さくする(それゆえ、すぐに検索される)ことができる。具体的には、2つの(又は2より多くの)位置を考慮することによって、コスト(すなわち、コスト関数の値)が減少する(又はおそらく減少する)トレンド方向が決定されてよく、第2探索空間は、トレンド方向において設定されてよく、例えば、初期動きベクトルにのみ基づいて、又は単一の最良位置に基づいて、第2探索空間を設定するのに比べて、より小さいサイズを有してよい。さらに、一般に、本開示は、2つの最良の動きベクトル候補(それらが指し示すそれぞれの位置)を考慮に入れることに限定されるものではないことにさらに留意されたい。一般的に、コスト関数のトレンドは、2より多くの最良の位置を考慮に入れることによって、より高精度に決定され得る。そのような場合において、コスト関数が減少する方向は、第1探索空間の位置のうち最低コストと考慮される2又はそれより多くの位置に基づいて決定される。第2探索空間は、そのとき、トレンドの方向における位置に設定される。従って、探索空間、及び、特に、第2探索空間の位置の数は、最も有望の位置を依然としてチェックしながら、低く維持され得る。
第2探索空間の動きベクトル候補に関連するコストは、S1805で計算される。第1探索空間及び第2探索空間の動きベクトル候補から、最良の動きベクトル候補、すなわち、最低コストに関連する動きベクトル候補が選択される(S1806において)。最良の動きベクトル候補の選択後、動きベクトルの改良は、終了する(S1807において)。本開示の異なる実施形態は、とりわけ、以下に説明されるように、第1探索空間及び第2探索空間が決定される方法において異なってよい。
例示的な第1実施形態
例示的な第1実施形態によれば(図4参照)、コスト関数は、第1探索空間の動きベクトル候補のそれぞれについて評価される。言い換えれば、これらの動きベクトルのそれぞれについて、コスト関数の値であるそれぞれのコストが計算され、又は推定され、あるいは決定される。この評価に従って、最小コストをともなう候補及び2番目に最小なコストをともなう候補が選択される。図4の例では、初期動きベクトルMV0は、位置405を指し示す。第1探索空間内の位置409は、最低コストを有し、それゆえ、第1動きベクトル候補MV0'として選択される。MV0の右に隣接する406は、2番目に最小なコストを有し、それゆえ、第2動きベクトル候補MV0'secondBestとして選択される。MV0'及びMV0'secondBestは、第2探索空間を構築するために使用される。例では、第2探索空間は、位置409および406(すなわち、MV0'及びMV0'secondBest)を接続する直線上にあるハーフピクセル位置411および412(図では空の円)を指し示す2つの追加の動きベクトル候補を含む。この例では、ハーフピクセル位置411および412は、それぞれ、MV0'の上方及び下方のハーフピクセル位置である。第1探索空間の候補及び第2探索空間の候補から、最小コストをともなう候補が、最終動きベクトルMV0''として選択され、この例では位置412である。
図4の例は、1つの現在のブロック及び1つの参照画像のための動きベクトルの改良を図示し、すなわち、参照画像は、参照画像リストL0において、インデックス0が割り当てられる。現在のブロックの図面は、単なる概略図であり、探索空間ポイントの位置が、テンプレートの左上角部によって定められた検索テンプレートの位置に対応することを図示する。本開示は、テンプレートの任意のサイズ及び形状とともに適用可能である。テンプレートは、有利に、現在のブロックのサイズのブロックであり、2つの最良の動きベクトル候補の検索は、第1探索空間及び第2探索空間において、テンプレート(ブロック)マッチングによって実行される。現在のブロックは、一般的に、デコーダで利用できないので、テンプレートは、既にデコード済みの画像部分から構築される。例えば、双方向予測の場合、それぞれの2つの参照画像Refpic0およびRefpic1と関連する2つの初期動きベクトルMV0及びMV1がある。そのとき、動きベクトルの改良のためのテンプレートブロックは、MV0inRefpic0及びMV1inRefpic1によってそれぞれ指し示される2つのブロックの加重平均化によって構築されてもよい。他テンプレートの構築は、現在の画像、又は、それぞれの参照画像、あるいは、既にデコードされた最も近い画像から、既にデコード済みのピクセルに基づいて、可能である。
第1動きベクトル候補の先端(すなわち、エンドポイント)と、第2動きベクトル候補MV0'secondBestの先端とを接続する直線の方向に従って、第2探索空間(すなわち、第2探索空間の動きベクトル候補によって指し示された位置)のサイズ(すなわち、候補の数)及び/又は位置(位置)が決定される。具体的には、第1動きベクトル候補、及び第1動きベクトル候補及び第2動きベクトル候補の先端を接続することによって定められた方向(線)は、第2段階において使用される候補の数及び/又は座標を決定するために使用される。第2探索空間のサイズは、第1動きベクトル候補MV0が指し示す位置に従って決定されてもよい。しかしながら、本発明は、2つの最良な位置に基づいて、第2探索空間のサイズ及び位置の両方を決定することに限定されるものではないことに留意されたい。例えば、第2探索空間のサイズ(位置の数に関して)は、一定とすることができ、第2探索空間の位置のみが、2つの最良の位置に基づいて、決定されてもよい。
本開示の第1実施形態による探索空間構成は、図5〜図8、図10、及び図11に例示的に図示されている。これらの例では、第2探索空間のサイズは常に2であり、しかし、その位置は、第1探索空間の2つの最良な位置によって定められる。図からわかるように、第1(例えば整数)ピクセル解像度を有する第1探索空間は、既に図4で示された「正方形」コンスタレーションを有する。この第1探索空間から、9点で(初期ベクトルポイントMV0を囲む8つの点)、第1動きベクトル候補MV0'及び第2動きベクトル候補MV0'secondBestは、コスト関数に従って特定される。
有利に、第1実施形態によれば、複数の動きベクトル候補を含む第1探索空間は、整数のピクセル解像度を有する。従って、第1段階後、コスト関数が最小化される位置を指し示す第1動きベクトル候補MV0'、及びコスト関数が2番目に最小な値を有する第2動きベクトル候補MV0'secondBestは、整数ピクセル検索解像度を使用して最初に決定される。
さらに、第2探索空間は、第1探索空間の解像度に関して小数のピクセル解像度を有し、第1探索空間に含まれた第1動きベクトル候補及び第2動きベクトル候補によって定められる方向にある位置を指し示す1つ又は複数の動きベクトル候補を含む。従って、第2段階において(より正確に言えば、図3の「段階2」303)、第2探索空間(すなわち、新しい検索ウィンドウ)の1つ又は複数の、例えば2つの、ハーフピクセル位置、これは、第1探索空間の最良の候補が周知のMV0'をともなうので、動きベクトルの選択を最後に実行するために、MV0'よりもより低コストを有する動きベクトル候補が見つけられるまで、MV0'のコストは、第2探索空間の追加のポイントのコストとさらに比べる必要が単にあることを意味する。この場合、第2探索空間を含む第2探索段階は、第1検索段階より細かい正確さを有する。言い換えれば、もし、第2探索空間が第1探索空間より高い解像度(すなわち、探索空間位置間の距離がより短い)を有するならば、有利であり得る。この方法において、探索空間は、その構築のそれぞれの段階をともなって改良され、そのような段階を2より多く含んでもよい。例えば、第1探索空間及び第2探索空間ジョイントの2つの最良な位置に基づいて、第1探索空間及び第2探索空間より高い解像度をともなう第3探索空間が構築されてもよい。
図4〜図8の例において、第2探索空間の1つ又は複数のハーフピクセル位置は、MV0'と、差分ベクトルMV0'diff=(MV0'−MV0'secondBest)に対応するMV0'secondBestとを接続する直線の方向に従って選択される。従って、第2探索空間は、MV0'diffと画像境界(または、参照画像においてピクセルの水平行)との角度従って決定される。第2探索段階の最後で、図3の段階304で最終動きベクトルMV0''が決定される。
さらに、第2探索空間の少なくとも一つの動きベクトル候補は、有利に、第1探索空間に含まれた第1動きベクトル候補及び第2動きベクトル候補によって指し示された複数の位置間の位置を指し示す。第2探索空間は、第1動きベクトル候補及び第2動きベクトル候補間のポイントである単一の動きベクトル候補を含んでよいことを留意すべきである。
さらに、本開示の第1実施形態による例示的な探索空間のコンスタレーションは、図5〜図8、図10、及び図11に関して以下に説明される。
図5〜図8において、MV0'は、初期動きベクトルMV0に対して(すなわち、第1探索空間の中心における位置の)最も近いまたは2番目に最も近い隣接位置の1つを、すなわち、MV0の位置を直接囲む位置の1つを指し示す。第2探索空間は、MV0'及びMV0'secondBestを接続する直線上の位置に対して、両方の位置をほぼ指し示す、MV0'の両側の位置を指し示す2つの動きベクトル候補を含むように決定される。言い換えれば、第2探索空間は、MV0'とMV0'secondBestとの間の第1位置と、MV0'及びMV0'secondBestを接続する方向において第1位置とは反対側に配置された第2位置とを含む。
ここで、本出願の残りで同様に、「最も近い」隣接、又は隣接する、又は隣接位置は、考慮された(一部の)探索空間の解像度において与えられ位置に隣接する位置を言及する。例えば、参照画像が小数1/4ピクセル解像度を有するとしても、仮に第1探索空間が整数解像度を有するならば、隣接位置もまた、第1探索空間において互いから整数ピクセル距離を有する。これが適用されるが、第1探索空間位置は、参照画像の小数ピクセル位置上に配置されてもよい。
さらに、「2番目に最も近い位置」は、2つの最も近い隣接点に隣接する位置を言及する(矩形に配置された探索空間において対角に隣接する)。しかしながら、どの図にも示されていない一般的な場合において、1つの方向(例えば垂直方向)において隣接位置までの距離は、他の方向(例えば水平)における距離と異なってもよい。この場合、本開示で使用されるような用語「最も近い隣接点」は、距離において可能性がある差にかかわらず、両方向における隣接位置に適用される。
図5及び図6では、MV0'及びMV0'secondBestは、第1探索空間(すなわち、フルピクセル解像度)の解像度において互いに関して最も近い隣接である。図において、MV0'及びMV0'secondBestを接続する直線は、垂直線である。図5に示される探索空間のコンスタレーションは、図4に示される探索空間のコンスタレーションと同一である。もし、MV0'secondBestが、MV0'の上方又は下方に置かれるよりむしろ、MV0'の左又は右に置かれるならば、第1動きベクトル候補及び第2動きベクトル候補を接続する直線は、水平線に対応する。図に示されていないが、第1実施形態は、第1動きベクトル候補及び第2動きベクトル候補が水平線によって結び付けられる場合にも適用される。
図7に示される例では、第2動きベクトル候補MV0'は、第1動きベクトル候補MV0'の2番目に近い隣接点を指す。そのような場合には、第1動きベクトル候補及び第2動きベクトル候補を接続する直線は対角線である。
現在のブロックの予測値と、テンプレートブロックとの間の類似性は、1つの方向において単調に増大することが、通常、期待される。従って、図5〜図8に示されるように、第1探索空間の解像度において、候補ベクトルMV0'及びMV0'secondBestは、最も近い又は2番目に近い隣接とすべきである。しかしながら、図8に示されるように、それぞれの動きベクトル候補MV0'及びMV0'secondBestのためよりも高い、コスト関数の値のために、MV0'及びMV0'secondBest間の探索空間の第3動きベクトル候補があることが起こり得る。例えば、そのような状況は、コード化され/デコードされるビデオにおけるノイズに起因して生じるかもしれない。そのような状況において、MV0'及びMV0'secondBestを接続する直線上の2つの小数ピクセル位置は、MV0'secondBestよりもMV0'により近い第2探索空間を形成するために選択されてよい、しかし、それでも、依然として、第1探索空間の2つの最良な位置によって定められる方向にあってもよい。しかしながら、本開示は、そのような手順によって限定されるものではない。例えば、低い複雑さを維持するために、最低コストをともなう2又はより多くの位置に基づいて、コスト関数トレンドが単調でないならば、デフォルトの第2探索空間は、例えば、水平方向であると仮定するように設定されてよい。水平方向は、普通のビデオにおける典型的な被写体の動きとして同様に、カメラのパニングに起因して、普通のビデオシーケンスにおいて、より可能性がある方向として考慮されてよい。言い換えれば、第1探索空間の第1最良動きベクトル候補及び第2最良動きベクトル候補に基づくコスト関数の明確なトレンドがないならば、好ましくは、第1最良の動きベクトル候補周りのあるポイントは、第2探索空間として設定される。第2探索空間のサイズを減らすために、デフォルト方向が仮定されてよく、対応するデフォルトの第2探索空間が設定されてよい。
第1実施形態に係る第2段階における第2探索空間の決定のための手順は、図9に図示される。具体的には、第2探索空間の動きベクトル候補が指し示すピクセル位置は、差分ベクトルMV0'diff = (MV0' − MV0'secondBest)の成分に従って決定される。
もし、MV0'diffが水平成分のみを有するならば(すなわち、ゼロではない)、第2探索空間は、図9(a)に示されるように、第2探索空間の解像度(例えばハーフピクセル解像度)に対応するMV0'までの距離をそれぞれ有するMV0'の左右に2つの位置を備えるように決定される。
さらに、もし、MV0'diffが垂直成分のみを有するならば、第2探索空間は、第2探索空間の解像度に対応するMV0'までの距離をそれぞれ有するMV0'の上方及び下方の2つの位置を備えるように決定される(図9(b)参照)。
もし、MV0'diffが、部分(c)及び(d)に示されるように、水平成分及び垂直成分の両方を有するならば(ゼロではない値をともなう)、第2探索空間は、第2探索空間の解像度におけるMV0に関連する位置に関して2番目に最も近い(対角)隣接点位置に選択される。もし、水平成分及び垂直成分は、両方とも正、又は両方とも負ならば、2番目に近い隣接点の位置は、図9(c)に示されるように、MV0に関して左上及び右下に選択される。もし、一方の成分が正であり、他方の成分が負であるならば、2番目に近い隣接点の位置は、MV0'に関して左下及び右上に選択される(図9(d))。別の方法で、もし、MV0'diffが決定することができないならば(例えば、同一コストを有する第1探索空間の全て候補などのコスト関数の特性に起因する)、MV0'diffは(0,0)として設定されてもよく、例えば図9(a)−(d)において示される代替のうち、任意の選択は、デフォルトの第2探索空間のためになされてよい。しかしながら、図9(a)のこの場合には、検索ポイントの構成は、一般的に、ビデオシーケンスのプロパティの統計(オブジェクト又はカメラの水平の動きは、通常、水平方向に存在する利益のエリアとして、垂直よりも可能性がある。)に起因することが好ましい(図9(b),(c),及び(d))。
図9において、考慮される座標にある本出願の残りにおいて同様に、横軸(x軸)の正方向は右を指し示し(通常のデカルト座標システムにと同様)、それに対して、縦軸の正方向(y軸)は下を指し示す(デカルト規定とは対照的だが、典型的には、画像処理において使用される)ことを留意されたい。
図5〜図8に示されるように、探索空間のコンスタレーションの全てにおいて、第1動きベクトル候補MV0'は、第1探索空間の端であるピクセル位置を指し示す。具体的には、一つの動きベクトル候補は、第1探索空間の2つの動きベクトル候補間の位置を指し示す。第2探索空間の他の動きベクトル候補は、第1探索空間の外側の位置、すなわち、第1探索空間の動きベクトル候補によって囲まれていない位置、を指し示す。
しかしながら、上記のように、第2探索空間の動きベクトル候補の位置だけでなく、動きベクトル候補MV0'及びMV0'secondBestを接続する直線の方向に従ったサイズも(すなわち、動きベクトル候補の数)。より具体的には、もし、第1動きベクトル候補MV0が第1探索空間の中心における位置を指し示すならば、1つのベクトル候補は、第2探索空間のために十分である。具体的には、第2探索空間の単一の動きベクトル候補は、そのとき、第1探索空間の2つの動きベクトル候補間の第2探索空間の解像度の位置を指し示す。しかしながら、図5〜図8に示される探索空間のコンスタレーションとは対照的に、第1探索空間の外側の第2動きベクトル候補は除外される。図9に図示された手順は、第2探索空間、すなわち、第2探索段階の検索ウィンドウの一つの動きベクトル候補のみを決定することに従って変更される。
一つの動きベクトル候補のみを含む第2探索空間の例は、図10および11に示される。図10におけるMV0'及びMV0'secondBestは、最も近い隣接点であり(水平に隣接)、並びに、図11におけるMV0'及びMV0'secondBestは、2番目に近い隣接点である(対角線上に隣接)。両方の図に示されるように、MV0'は、第1探索空間の範囲内の位置を指し示す。言い換えれば、MV0'に隣接するピクセル位置の全てを指し示す動きベクトル候補がある。隣接位置を指し示すこれらの動きベクトル候補の一つは、MV0'secondBestである。
言い換えれば、もし、第1動きベクトル候補MV0'ならば、もし、MV0'及びMV0'secondBestを接続することによって定められ方向にあり、第1探索空間においてMV0'に隣接する第2位置が、第1探索空間に属するならば、第2探索空間は、第1動きベクトル候補及び第2動きベクトル候補間の小数ピクセル位置を指し示す一つの動きベクトル候補のみを含む。そのような状況において、第2位置は、計算され、MV0'及びMV0'secondBestより高いコストを既に有するので、低コスト候補がこの方向において見つけることができる可能性は、むしろ低い。また、一般的に、探索空間における位置の数は、MV0'より良好な(コストに関して)動きベクトル候補が見つけられる確率によって決めてもよい。その確率は、第1探索空間の位置のために計算されたコスト関数を補間及び/又は外挿することによって推定され得る。
上記例において、第1探索空間は、正方形グリッド内に配置された9つの隣接位置を有することが示されていることを留意されたい。しかしながら、本開示は、特定のサイズの探索空間又は特定の構成のピクセルに限定されるものではな。同様に、第1実施形態は、同一又は異なる解像度を有する第1探索空間及び第2探索空間に適用できる(後で図5〜図8に示される)。第2探索空間は、また、2以上の位置を有することができる。
例示的な第1実施形態によれば、図18の改良方法における第1探索空間の動きベクトル候補のためのコスト計算のサブ段階S1803が、図19に示される。変数i,P1,及びP2は初期化され、ここで、iは、探索空間(例えば、第1探索空間)のそれぞれの候補のそれぞれを後に示すインデックス変数である。変数P1及びP2は、それぞれ、最低コスト及び2番目に低いコストをともなう動きベクトル候補示す(すなわち、探索空間における位置、及びその位置に関連するコスト値)。最初に、P1及びP2は、任意の位置に関連しない値に初期化されてよく、P1及びP2に関連するそれぞれのコストは、おそらくコスト計算において、取得された任意の値よりも高い値に、すなわち、変数をともなって表される最大コストに、初期化されてよい。iを繰り返すループにおいて、i番目の動きベクトル候補のコストが計算される(S1902)。i番目の動きベクトル候補のコストは、最低コストをともない現在記憶されている動きベクトルP1のコストと比較される(S1903)。もし、i番目の動きベクトル候補のコストが、記憶されたP1より低いコストであるならば、その後、P1は、i番目の動きベクトル候補に設定され、記憶される(S1904)。もし、i番目の動きベクトル候補のコストが、P1より低いコストではなければ、その後、i番目の動きベクトル候補のコストは、P2のコストと比較される(S1905)。もし、i番目の動きベクトル候補のコストが、P2より低いコストであるならば、その後、P2は、i番目の動きベクトル候補に設定され、記憶される(S1906)。2つの比較の段階S1903,S1905、及びおそらく、1つの記憶の段階のS1904,S1906後、iは増加される。もし、iが、第1探索空間内の動きベクトル候補の数を表す最大値imaxに、まだ達していないならば(S1908)、方法は、コスト計算段階S1902に戻る。もし、iがimaxに達したならば(S1908)、コスト計算は終了し(S1909)、図18の改良が続く。
第2探索空間の動きベクトル候補のためのコスト計算のサブ段階(S1805)は、図19の上記の記述で説明された段階と同様に実行され得る。しかしながら、P2のコストをともなうi番目の動きベクトル候補のコストと比較する段階(S1905)、及び第2動きベクトル候補P2を記憶する段階(S1906)は除外され得る。これは、第2探索空間の検索において、その結果は、第1探索空間及び第2探索空間にわたって、最良の動きベクトルだからである。もし、第2探索空間がさらに拡大しないならば、2番目の最良の動きベクトルは、それ以上使用されない。
例示的な第2実施形態
例示的な第2実施形態によれば、第2探索空間の決定に使用される第1動きベクトル候補及び第2動きベクトル候補は、最低及び2番目のマッチングコスト(例示的な第1実施形態のように)にそれぞれ関連する第1探索空間に含まれる動きベクトル候補である。
さらに、例示的な第2実施形態によれば、図3の探索空間決定ユニット310は、動作中において、領域だる第2探索空間の位置を決定する。ここで、「領域」との用語は、少なくとも二つの動きベクトル候補がそれぞれ指し示す少なくとも二つの位置を含む空間を言及する。具体的には、上記の少なくとも二つの位置は、第2探索空間のピクセル解像度において隣り合っている。第2探索空間は、図12および13に示されるように、第1探索空間と同じ解像度を有することができる。 しかしながら、探索空間は、解像度において異なってもよい。
有利に、図3の探索空間の構築の第1段階301で決定される探索空間は、隣接する位置、すなわち、MV0によって指し示された位置に、第1探索空間のピクセル解像度に動きベクトルの初期推定値の最も近い隣接点を指し示す動きベクトルMV0及び動きベクトル候補の初期推定値を含む。言い換えれば、「正方形」配置(形状)を有する第1探索空間が、構築の第1段階である第1段階301において構築される第1実施形態と対照的に、第1探索空間は、「クロス」配置を有する。しかしながら、第1探索空間は、エンコーダ及びデコーダの両方に同一の探索空間が使用される限り、任意の形状でもよいことに留意されたい。これは、実装の簡略化のために有利であり、もし、探索空間が、クロス又は正方形配置又は任意の他の構成などの予め定められた特定の形状を有するならば、初期ベクトルMV0の位置は、そのような第1探索空間の位置に単に決定される。一方、本発明は、サイズ(候補MVによって指し示された位置に関して)及び/又は形状が異なる第1探索空間と共に機能してもよい。コスト関数の最低値をともなう第1動きベクトル候補MV0'、及び2番目に最小な値をともなう2番目の候補MV0'secondBestが計算され、選択される(302)。
MV0'が指し示す位置を定義し、第1動きベクトル候補MV0'及び第2動きベクトル候補MV0'secondBestが指し示す位置を接続する直線によって定められた方向の座標に基づいて、図3の第2段階303において、第2探索空間の構築を実行するために、領域が選択される。
より具体的には、第2探索空間に含まれる一つの動きベクトル候補は、第1探索空間内に含まれない第1動きベクトル候補及び第2動きベクトル候補の位置を接続する直線上の第2探索空間の解像度において、MV0'の位置に最も近い位置を指し示す。1つ又は複数の追加の動きベクトル候補は、第2探索空間のピクセル解像度において隣接する位置を指し示す第2探索空間に含まれ、第2探索空間は、第1探索空間に含まれない。
この第2実施形態による探索空間構成の例は、図12および13に示される。例として、第2探索空間のピクセル解像度は、第1探索空間のピクセル解像度と同一である。図からわかるように、初期の動きベクトル候補が指し示す位置は、それぞれピクセル解像度において、MV0に隣接する4つのピクセル位置、すなわち、4つの最も近い隣接点によって囲まれる。MV0、及びMV0に隣接するこれらの4つの位置を指し示す動きベクトル候補は、第1探索空間に含まれる。コスト関数に従って、第1探索空間の最低コスト及び2番目に低いコストをともなう第1動きベクトル候補MV0'及び第2動きベクトル候補MV0'secondBestが決定される。MV0'によって指し示された位置、及び差分ベクトルMV0'diffによって定められたMV0'及びMV0'secondBestを接続する直線の方向は、図3の第2段階303において、第2探索空間を決定するために使用される。ここで、MV0'diffの定義は、例示的な第1実施形態の記述と同一である。図12および13の両方において、第2探索空間は、(MV0'+MV0'diff)によって定められMV0'及びMV0'secondBestを接続する直線上の位置、及び第1探索空間の動きベクトル候補によって指し示されない上記直線上の上記位置に隣接する位置(すなわち、最も近い隣接)をほぼ指し示す動きベクトル候補を含む。
図12において、MV0'及びMV0secondBestは、第1探索空間の解像度において隣接していない、それらは2番目に近い点である。第2探索空間は、ベクトル、すなわち上記直線上の上記位置、及び上記位置に最も近い4つの隣接点を指し示すベクトルを含む。図13におけるMV0'及びMV0'secondBestは、第1探索空間の解像度における隣接位置を指し示す。この場合、(MV0'+MV0'diff)によって定義されたMV0'及びMV0'secondBestを接続する直線上の第2探索空間における位置は、MV0に対して最も近い隣接点である。第2探索空間は、その後、(MV0'+MV0'diff)に対応する位置を指し示すベクトル、及びMV0'に等しくない(MV0'+MV0'diff)に対して3つの最も近い隣接点を指し示す動きベクトル候補を含む。従って、第2探索空間は、4つの動きベクトル候補を含む。
しかしながら、もし、MV0'及びMV0'secondBestが、第1探索空間のピクセル解像度において、最も近いわけでなく、2番目に近いわけでもないならば、すなわち、もし、MV0'及びMV0'secondBestがそれぞれ指し示すピクセル位置間の第1探索空間に1つのピクセル位置があるならば、同一の第2探索空間/ウィンドウは、図13に示されるよう場合のように、決定され得る。
もし、第2探索空間によって示される検索座標が、既に、第1探索空間に含まれているならば、その後、第2探索操作は実行されない(終了する)。もし、第1段階及び第2段階で使用されるマッチングテンプレート及び/又はコスト関数が同一ならば、これは、具体的な場合かもしれない。さらに、他の代替として、マッチングテンプレート及び/又はコスト関数が、第1探索段階及び第2探索段階において異なる場合、第2探索操作が実行され得る。本開示は、探索空間のサイズの減少、及び、具体的には、コスト関数開発の特性に基づいて、第2探索空間を設定することによる削減に関することに留意されたい。第1探索空間及び第2探索空間、又は、もし探索空間の決定が2以上の段階につながるならば、更なる探索空間など、それぞれの探索空間部分について同一又は異なってもよい任意のテンプレートが、本発明に適用可能である。
例示的な第2実施形態によれば、図18に示される動きベクトルの改良における第1探索空間の(第2探索空間(S1805)の)動きベクトル候補のコストを計算するためのサブ段階(S1803)は、図19に関して上述の第1実施形態に係る計算と同様に実行できる。
例示的な第3実施形態
今まで説明された実施形態において、図3に示される探索空間決定ユニット310は、マッチングコストが最小及び2番目に最小な第1探索空間の動きベクトル候補である第1探索空間から第1動きベクトル候補及び第2動きベクトル候補を識別する。
本発明の例示的な第3実施形態によれば、第1動きベクトル候補及び第2動きベクトル候補の選択302のために、テンプレートマッチングコストは、動きベクトルの初期推定値MV0が指し示す開始位置周りの位置を指し示す4つの動きベクトル候補について、演算される。具体的には、第2探索空間を決定するために、動きベクトルの推定値MV0によって指し示される位置に対して、第1探索空間のピクセル解像度において、隣接するピクセル位置のマッチングコストが評価される。上記の第1動きベクトル候補及び第2動きベクトル候補によって指し示された位置に対して、第1探索空間のピクセル解像度において隣接し、動きベクトルの推定値によって指し示された位置とは異なる第2探索空間の第1動きベクトル候補によって指し示されるように、ピクセル位置は決定される。第1動きベクトル候補は、図14に示されるように、マッチングコストが減少することが期待される象限上まで指し示される。
図15では、図3に示される探索空間決定ユニット310より一般的な改変である探索空間決定ユニット1510が示される。動きベクトルの初期推定値MV0に基づいて、図14(a)に例示的に図示される第1探索空間は、図15の探索空間の構築1501の段階1において決定され、動きベクトルのための初期推定値の座標は、(MV0_x及びMV0_y)として示される。第1探索空間は、MV0、及びMV0に対応する位置、例えば、第1探索空間のピクセル解像度においてMV0に対して最も近い隣接点の周りのピクセル位置を指し示す動きベクトル候補、からなる。マッチングコストは、第1探索空間の動きベクトル候補のために計算される。第1動きベクトル候補及び第2動きベクトル候補1501を選択することによって、好ましくは直交方向に沿った2つの方向(例えば、縦横)が、マッチングコストが減少することが期待されるように計算される。
図14において、座標が考慮される本出願の残りの部分と同様に、横軸(x軸)の正方向は右を指し示し、それに対して、縦軸の正方向(y軸)は下を指し示す。
より正確に言えば、MV0に対応する位置ピクセルに対して隣接する位置が、2つのグループに分類されるために、2つの比較15021、15022が実行される。初期の動きベクトル候補によって指し示されるピクセル位置に対して、第1探索空間のピクセル解像度において、隣接し、初期の動きベクトル候補と同じ垂直成分を有する2つのピクセル位置のマッチングコストが比較される。この第1比較15021で評価された2つの比較されたベクトルから、より低いマッチングコストをともなうベクトルが、第1探索空間の第1動きベクトル候補として選択される。
また、初期の動きベクトル候補によって指し示されるピクセル位置に対して、第1探索空間のピクセル解像度において、隣接し、初期の動きベクトル候補と同じ水平成分を有する2つのピクセル位置のマッチングコストが比較される。この第2比較15022で評価された2つの比較されたベクトルから、より低いマッチングコストをともなうベクトルが、第1探索空間の第2動きベクトル候補として選択される。
これの2つの比較の結果として、ピクセル位置は、第1動きベクトル候補と同じ垂直成分を有し、第2動きベクトル候補と同じ水平成分を有する第2探索空間の第1動きベクトル候補によって指し示されるように決定される。第1動きベクトル候補及び第2動きベクトル候補は、垂直方向及び水平方向において、正又は負の半平面をそれぞれ定義する。これら重複する象限は、マッチングコストが減少することが期待されるエリアとして選択され、第2空間を定義する。図14(b)において、第2探索空間は、1つのポイントのみを含む。
第1探索空間は、動きベクトルの初期推定値MV0、及びその最も近い隣接点、すなわち、第1探索空間の解像度において、MV0に隣接するピクセル位置を指し示す動きベクトル候補を含むことができる。第2実施形態に関して、また、説明された「クロス」配置を有するそのような探索空間構成は、図14(a)に示される。使用されるコスト関数に従うマッチングコストは、探索空間のこれらの5つの動きベクトル候補のために計算される。
以下において、一般性を失うことなく、動きベクトルの初期推定値MV0が指し示すピクセル位置の座標は、(0,0)であると仮定する。第2探索空間の第1動きベクトルの座標(水平、垂直)を決定するための上述の2つの比較は、その後、例えば、以下の手順に従って実行され得る。
垂直=−1,水平=−1;
もし(動きベクトル候補(0,1)のコスト<動きベクトル候補(0,−1)のコスト)ならば
垂直=−1;
もし(動きベクトル候補(1,0)のコスト<動きベクトル候補(−1,0)のコスト)ならば
水平=1;
上に示された手順又は同様の手順に基づいて、動きベクトル(垂直,水平)を決定することによって、マッチングコストが減少することが期待されるように、象限が選択される。
従って、第2探索空間(図3の303)の決定に使用される象限は、座標x,y>0(水平*x,垂直*y)を有する候補と、上述の手順によって決定された値を有する「水平」及び「垂直」と、を含む。象限の決定は、例示的に、図14(b)に示される。示される例において、動きベクトル(−1,1)は、選択された象限を定義するために決定される(すなわち、右上象限)。この特定の例において、第2探索空間に含まれない他の3つの象限における潜在的な動きベクトルは、より小さドットとして示される。
本開示は、上記手順の明確な定義を使用することに限定されるものではない。例えば、(1,1)は、(−1,−1)の代わりの初期値として、又は初期座標の設定の代わりの初期値として、使用されてよく、「別の方法で」−条項が使用されてよく(図15において、if−別の方法で比較15021,15022)、「if」条件文の命令(シーケンス)がやり取りされてもよい。
上述のように、第2探索空間の第1動きベクトル候補が決定される場合、そのマッチングコストが計算される。特定の場合として、第2探索空間は、一つの上記第1動きベクトル候補のみを含んでよい。この場合、チェックされた動きベクトル候補から(説明した例において、第1探索空間の5つの動きベクトル候補、及び第2探索空間の一つの動きベクトル候補)、最も低いマッチングコストをともなう動きベクトル候補は、現在のブロックのために使用される動きベクトルとして選択される。
しかしながら、第2探索空間の更なる少なくとも1つの動きベクトル候補として、第2探索空間の解像度における位置を指し示す動きベクトル候補が、決定されてもよい。この少なくとも一つの更なる動きベクトル候補は、動きベクトルの推定値と第2探索空間の候補とを接続する直線上にほぼ配置された第2探索空間の解像度における位置を指し示す。第2探索空間のピクセル解像度は、第1探索空間のピクセル解像度より高くてもよい。第2探索空間の更なる動きベクトル候補は、第2探索空間の第1動きベクトル候補、及び動きベクトルの推定値によって指し示された位置間に配置された位置を指し示してもよい。
具体的には、第2探索空間1503の決定の第1動きベクトル候補の後、第2探索空間の決定の第2段階において、継続されてよく、第2探索空間は、その後、第2探索空間の第1動きベクトル候補によって定義された象限内の位置に指し示される少なくとも一つの追加の動きベクトル候補を含むように決定されてよい。例えば、今までチェックされた候補から、最小及び2番目の最小マッチングコストをともなう2つの候補が特定され、第2探索空間の動きベクトル候補が指し示す更なるポイントの決定のための方向を計算するために使用され得る。
最小マッチングコスト及び2番目の最小マッチングコストをともなう候補に基づいて計算された方向の計算のための例示的な手順は、以下に示され、最低及び2番目に低いマッチングコストをともなう候補の座標は、(P_min_x,P_min_y)及び(P_second_x,P_second_y)として示され、変数「方向_垂直」及び「方向_水平」は、上記方向を定義するベクトルの成分を示す。
方向_垂直=0,方向_水平=0;
もし(P_min_x!=P_second_x)ならば、
方向_水平=−1;
もし(P_min_y!=P_second_y)ならば、
方向_垂直=1;
図16に示されるように、第2探索空間のための新しい動きベクトル候補は、ベクトル(方向_垂直,方向_水平)及び0.5×(P_min_x+方向_垂直,P_min_y−方向_水平)及び0.5×(P_min_x−垂直,P_min_y;水平)、及び最も低いマッチングコストをともなう動きベクトル候補の座標(P_min_x,P_min_y)、又は第1探索空間び第1動きベクトル候補及び第2動きベクトル候補が指し示すピクセル位置に応じたこれらの2つポイントの一つ、によって定められた方向に基づいて選択されてもよい。第2探索空間の新しい動きベクトル候補のマッチングコストが計算され、第1探索空間及び第2探索空間の動きベクトル候補から、最小マッチングコストをともなう動きベクトル候補が動きベクトルの改良処理の出力、すなわち、図3のMV0''として、選択される。
図16の例として、第2探索空間は小数のピクセル解像度、具体的には、ハーフピクセル解像度を有する(第2探索空間の追加の動きベクトル候補の位置に向かう方向を指定するベクトルの係数0.5に従って)。1つ又は2つ動きベクトル候補に代わり、1/4ピクセル解像度などの代替的なピクセル解像度が使用されてもよく、動きベクトル候補(P_min_x,P_min_y)、及び方向(方向_垂直,方向_水平)によって定められた線をおおよそ指し示す2つ又は4つの動きベクトル候補が使用されてもよい。
図16に示される例示的な探索空間構成では、第2探索空間の第1動きベクトルは、0.5×(P_min_x+方向_垂直,P_min_y−方向_水平)及び0.5×(P_min_x−垂直,P_min_y+水平)がベースである第2探索空間の追加の動きベクトルの計算に関して最も低いマッチングコストを伴う動きベクトル候補(P_min_x,P_min_y)と一致する。
実施形態の組み合わせ
上述の例示的な実施形態のそれぞれによれば、第2探索空間は、301で決定された第1探索空間、及び第1探索空間302から選択された第1動きベクトル候補及び第2動きベクトル候補において、第1段階の出力に基づいて選択される。しかしながら、検索処理の全ては、第1探索空間及び第2探索空間の決定、及びそれぞれの探索空間からの1つ又は2つの候補の選択より多くの段階に分割されてもよい。それぞれの段階又はサブ段階において、新しい探索空間は、例示的な実施形態の一つに従って決定されてもよい。例えば、図16に関して上述の探索空間構成は、一例であり、第2探索空間の決定は、例示的な第3実施形態及び例示的な第1実施形態への適用を、次に、示唆する。これは、以下において説明される。
図16に示される例示的な探索空間構成では、第2探索空間は、第2探索空間の第1動きベクトル候補、及び2つの追加の動きベクトル候補を含む。第2探索空間のこれらの2つの追加の動きベクトル候補は、第1探索空間及び第2の5つの動きベクトル候補のうちの最も低いマッチングコストをともなう動きベクトル候補のピクセル位置によって、及び上で示された手順に従って計算された方向_水平及び方向_垂直の座標を有するベクトルによって定められた方向を有する線によって定義された線上のピクセル位置をほぼ指し示す。この手順は、2つの動きベクトル候補を接続する直線によって定められた方向に従う2つの動きベクトル候補の計算のための例である。この手順は、図5〜図11を参照する上述された第1実施形態の第2探索空間の計算に使用されてもよい。言い換えれば、第3実施形態に係る第2探索空間の決定の任意の第2段階は、第1実施形態に係る第2探索空間の決定に対応する。
言い換えれば、第2探索空間の第1動きベクトル候補のみより多くの動きベクトル候補を有する第2探索空間を決定する上記の例において、探索空間の追加の動きベクトルは、第1実施形態を伴う本開示のこの第3実施形態を組み合わせることによって、取得されている。
図16を参照して説明された例示的な第3実施形態の例において、第3実施形態及び第1実施形態は、第2探索空間を決定する場合、組み合わされる。しかしながら、本開示は、異なる実施形態の組み合わせの特定の例に限定されるものではない。
さらに、本開示は、2つの異なる実施形態を組み合わせることに限定されるものではない。代替として、第2探索空間は、第1実施形態に係る第2段階303を次に適用し、従って、例えば、第1にハーフピクセル解像度、第2に1/4ピクセル解像度など、異なるピクセル解像度を有するネストされた探索空間を決定することによって、決定されてもよい。
異なる例示的な実施形態の組み合わせの更なる例は、図17に図示される。図17(a)においてわかるように、5つの動きベクトル候補、すなわち、初期推定値動きベクトル、及び第1探索空間のピクセル解像度(例えば、フルピクセル解像度)における初期推定値動きベクトルに隣接する4つの動きベクトル候補を含む第1探索空間は、例示的な第2実施形態に従って、決定される。最低及び2番目に低いマッチングコストをともなう動きベクトル候補は、図17に示される更なる5つの動きベクトル候補を備える第2実施形態に従った領域である第2探索空間を決定することに使用される。これらの更なる5つの動きベクトル候補に関して、第3実施形態、すなわち、図17(c)に示される追加の動きベクトル候補に適用される手法は、図15の、MV0'first及びMV0'secondである第1動きベクトル候補及び第2動きベクトル候補の選択(1502)を適用することによって、決定される。再ひ、第1実施形態に従って、最低及び2番目に低いマッチングコストをともなう2つの動きベクトル候補が決定される(図においてMV0'c及びMV0'secondBest_cを示す)。図17においてわかるように、MV0'c及びMV0'secondBest_cに対応する位置を接続する直線上の位置をおおよそ指し示し、今まで使用された解像度より高いピクセル解像度(例えば、ハーフピクセル解像度)のピクセル位置を指し示す2つの追加の動きベクトル候補が追加される。
異なる実施形態の組み合わせの利点は、参照画像の増大したエリアにおいて、同様の精度に維持しながら、動きベクトル候補の数が低く維持されることである。例えば、図17においてわかるように、3つの実施形態に対応する3つの段階の連鎖は、7×7のフルピクセルの正方形に対応するエリアのためのハーフピクセル解像度の精度における予測値の位置の提供を可能とする。
上述の動きベクトルの改良を含む動きベクトルの決定は、ビデオ信号(動画)のコード化及び/又はデコードの一部として実装され得る。しかしながら、動きベクトルの決定は、動き検出、動き解析、又は同様のものなどの画像処理において、他目的において使用されることもできる。
動きベクトルの決定は、装置のように実装されてよい。そのような装置は、ソフトウェア及びハードウェアをの組み合わせでもよい。例えば、動きベクトルの決定は、一般的な目的のプロセッサ、又はデジタル信号プロセッサ(DSP)、又は現場でプログラム可能なゲートアレイ(FPGA)、又は同様のものなどのチップによって実行され得る。しかしながら、本発明は、プログラム可能なハードウェアに実装することに限定されるものではない。それは、特定用途向け集積回路(ASIC)、又は上で言及したハードウェア構成要素の組み合わせによって、実装され得る。
また、動きベクトルの決定は、コンピュータ可読媒体に記憶されたプログラム命令によって実装されてもよい。プログラムは、実行された場合、動きベクトルの推定値を取得する段階と、推定値に基づいて、複数の動きベクトル候補を含む第1探索空間を決定する段階と、コスト関数に従って、第1探索空間における第1動きベクトル候補及び第2動きベクトル候補を識別する段階と、第1動きベクトル候補及び第2動きベクトル候補に基づいて、1つ又は複数の動きベクトル候補を含む第2探索空間を決定する段階と、第1空間及び第2空間の動きベクトル候補の中から現在のブロックのための動きベクトルを選択する段階とをコンピュータに実行させる。コンピュータ可読媒体は、プログラムが記憶されたDVD、CD、USB(フラッシュ)ドライブ、ハードディスク、ネットワーキングを経由して利用できるサーバストレージなどの任意の媒体とすることができる。
エンコーダ及び/又はデコーダは、TVセット、セットトップボックス、PC、タブレット、スマートフォン又は同様のものを含む様々なデバイスに実装され得る。それは、方法の段階を実装するソフトウェア、アプリでもよい。
要約すると、本発明は、ビデオシーケンスにおいて画像の現在のブロックのための動きベクトルを決定するための探索空間の構築に関する。探索空間の構築は、第1部分探索空間及び第2部分探索空間がそれぞれ決定される2つのメインステージに分割される。動きベクトルの初期推定値に基づいて、第1探索空間が最初に構築される。第1探索空間の第1動き候補及び第2動き候補は、コスト関数に従って特定される。第1動きベクトル候補及び第2動きベクトル候補に基づいて、第2探索空間が構築される。現在のブロックのための動きベクトルは、第1探索空間及び第2探索空間の動きベクトル候補から選択される。
発明が動画ビデオコーディングのフレームワーク内で主に上述されたが、提案された技術は、2つ以上の画像を備える任意の画像セットのコーディング(すなわち、コード化又はデコード)のために同様に適用できる。画像セットは、例えば、コンピュータ断層撮影(CT)スキャン画像のシーケンスなどの医療撮像アプリケーションにおいて、取得される、例えば、静止画像のセットを含んでよい。添付の請求項では、「ビデオ」との用語は、故に、動画シーケンス、又は2つ以上の画像を含む任意の他の画像セットを意味してもよい。
例えば、探索空間決定ユニットは、第2探索空間の更なる動きベクトル候補として、動きベクトルの推定値と第2探索空間の第1動きベクトル候補とを接続する直線上にほぼ位置する第2探索空間の解像度における位置を指し示す動きベクトル候補を選択するようにさらに構成され、第2探索空間のピクセル解像度は、第1探索空間のピクセル解像度より高い。
例えば、第2探索空間の更なる少なくとも1つの動きベクトル候補として、動きベクトル候補は、動きベクトルの推定値と第2探索空間の第1動きベクトル候補とを接続する直線上にほぼ位置する第2探索空間の解像度における位置を指し示すように決定される。ここに、第2探索空間のピクセル解像度は、第1探索空間のピクセル解像度より高い。
しかしながら、第2探索空間の更なる少なくとも1つの動きベクトル候補として、第2探索空間の解像度における位置を指し示す動きベクトル候補が、決定されてもよい。この少なくとも一つの更なる動きベクトル候補は、動きベクトルの推定値と第2探索空間の第1動きベクトル候補とを接続する直線上にほぼ配置された第2探索空間の解像度における位置を指し示す。第2探索空間のピクセル解像度は、第1探索空間のピクセル解像度より高くてもよい。第2探索空間の更なる動きベクトル候補は、第2探索空間の第1動きベクトル候補、及び動きベクトルの推定値によって指し示された位置間に配置された位置を指し示してもよい。
発明が動画ビデオコーディングのフレームワーク内で主に上述されたが、提案された技術は、2つ以上の画像を備える任意の画像セットのコーディング(すなわち、コード化又はデコード)のために同様に適用できる。画像セットは、例えば、コンピュータ断層撮影(CT)スキャン画像のシーケンスなどの医療撮像アプリケーションにおいて、取得される、例えば、静止画像のセットを含んでよい。添付の請求項では、「ビデオ」との用語は、故に、動画シーケンス、又は2つ以上の画像を含む任意の他の画像セットを意味してもよい。非一時的なコンピュータ可読媒体は、プロセッサによって実行されるとき、項目15に記載の方法を実行させる命令を備える。

Claims (15)

  1. 映像フレームの現在のブロックのインター予測に用いられる動きベクトルを決定するための装置であって、前記装置は、
    前記動きベクトルの推定値を取得し、前記推定値に基づいて、複数の動きベクトル候補を備える第1探索空間を決定し、コスト関数に従って、前記第1探索空間における第1動きベクトル候補及び第2動きベクトル候補を選択し、及び前記第1動きベクトル候補及び前記第2動きベクトル候補に基づいて、1つ又は複数の動きベクトル候補を備える第2探索空間を決定するように構成された探索空間決定ユニット(310)と、
    前記第1探索空間及び前記第2探索空間の前記動きベクトル候補の中から前記現在のブロックのための前記動きベクトルを選択するように構成された動きベクトル選択ユニット(340)と
    を備える装置。
  2. 前記コスト関数は、予め定められたテンプレートに基づいており、前記動きベクトル候補のそれぞれに対して、前記予め定められたテンプレートと、前記動きベクトル候補のそれぞれによって指し示された予測値との間の類似性のレベルを示す、請求項1に記載の装置。
  3. 前記探索空間決定ユニット(310)は、前記第1動きベクトル候補及び前記第2動きベクトル候補が指し示す位置を接続する直線の方向に従って前記第2探索空間のサイズ及び/又は位置を決定するように構成される、請求項1又は2に記載の装置。
  4. 前記探索空間決定ユニット(310)によって前記第1探索空間を前記決定することは、
    整数のピクセル解像度を有するように前記第1探索空間を設定することを備え、
    前記探索空間決定ユニットによって前記第2探索空間を前記決定することは、
    前記第1動きベクトル及び前記第2動きベクトル候補(MV0',MV0'secondBest)が指し示す前記位置(409,406)を接続する直線の前記方向にある位置(411,412)を指し示す1つ又は複数の動きベクトル候補を、前記第2探索空間に含めることを備え、前記第2探索空間は、小数のピクセル解像度を有する、
    請求項3に記載の装置。
  5. 前記第2探索空間の少なくとも一つの前記動きベクトル候補は、前記第1動きベクトル候補及び前記第2動きベクトル候補(MV0',MV0'secondBest)によって指し示された前記位置(409,406)間の位置(411)を指し示す、
    請求項4に記載の装置。
  6. 前記探索空間決定ユニット(310)は、
    少なくとも二つの動きベクトル候補がそれぞれ指し示す少なくとも二つの位置を含む領域の位置を決定するように構成され、前記少なくとも二つの位置は、前記第2探索空間のピクセル解像度において隣接し、
    前記第1探索空間に属さない前記領域のこれらの位置として前記第2探索空間を決定するように構成される、
    請求項1〜3の何れか一項に記載の装置。
  7. 前記探索空間決定ユニットによって前記第1探索空間を前記決定することは、
    前記動きベクトルの前記推定値によって指し示された位置に対して、前記第1探索空間のピクセル解像度において隣接する前記位置を指し示す前記動きベクトル及び動きベクトル候補の前記推定値を、前記第1探索空間に含めることを備える、
    請求項1〜3の何れか一項、又は請求項6に記載の装置。
  8. 前記探索空間決定ユニット(310)は、
    前記第1探索空間において特定される前記第1動きベクトル候補及び前記第2動きベクトル候補によって、指し示された前記位置に対して、前記第1探索空間の前記ピクセル解像度において隣接し、前記動きベクトルの前記推定値によって指し示された前記位置とは異なる前記位置を指し示す動きベクトル候補を、前記第2探索空間の第1動きベクトル候補として選択するように構成される、
    請求項7に記載の装置。
  9. 前記探索空間決定ユニット(310)は、
    前記動きベクトルの前記推定値と前記第2探索空間の前記候補とを接続する直線上にほぼ位置する、前記第2探索空間の解像度における、位置を指し示す動きベクトル候補を、前記第2探索空間の更なる動きベクトル候補として決定するように構成され、前記第2探索空間の前記ピクセル解像度は、前記第1探索空間の前記ピクセル解像度より高い、
    請求項8に記載の装置。
  10. 前記第2探索空間の前記更なる動きベクトル候補は、前記第2探索空間の前記第1動きベクトル候補及び前記動きベクトルの前記推定値によって指し示された前記位置間にある位置を指し示す、
    請求項9に記載の装置。
  11. 前記第2探索空間は、前記第1探索空間より高い解像度を有する、
    請求項1〜10の何れか一項に記載の装置。
  12. 前記現在のブロックに隣接する少なくとも一つのブロックの動きベクトルを含む動きベクトルのリストから前記動きベクトルの前記推定値を決定するための動きベクトル決定ユニットを
    さらに備える、請求項1〜11の何れか一項に記載の装置。
  13. ビットストリームから複数の画像をデコードするためのビデオデコーダであって、
    前記ビットストリームから前記動きベクトルの前記推定値の指示を取得するためのビットストリームパーサーと、
    請求項1〜12の何れか一項に記載の装置を含み、前記現在のブロックの前記動きベクトルが指し示す予測ブロックを決定するようにさらに構成されたインター予測ユニットと、
    前記予測ブロックに基づいて、前記現在のブロックを再構築するための再構築ユニットと
    を備える、ビデオデコーダ。
  14. 複数の画像をビットストリームにコード化するためのビデオエンコーダであって、
    請求項1〜12の何れか一項に記載の前記装置を含み、前記現在のブロックの前記動きベクトルが指し示す予測ブロックを決定するようにさらに構成されたインター予測ユニットと、
    前記ビットストリームに前記動きベクトルの前記推定値の指示を含めるためのビットストリームフォーマーと、
    前記予測ブロックに基づいて、前記現在のブロックを再構築し、メモリに再構築された前記ブロックを記憶するための再構築ユニットと
    を備える、ビデオエンコーダ。
  15. 映像フレームの現在のブロックのインター予測に用いられる動きベクトルを決定するための方法であって、前記方法は、
    前記動きベクトルの推定値を取得する段階と、
    前記推定値に基づいて、複数の動きベクトル候補を備える第1探索空間を決定する段階と、
    コスト関数に従って、前記第1探索空間においる第1及び第2動きベクトル候補を選択する段階と、
    前記第1動きベクトル候補(MV0')及び前記第2動きベクトル候補(MV0'secondBest)に基づいて、1つ又は複数の動きベクトル候補を備える第2探索空間を決定する段階と、
    前記第1空間及び前記第2空間の前記動きベクトル候補の中から前記現在のブロックのための前記動きベクトルを選択する段階と
    を備える、方法。
JP2019572011A 2017-06-30 2017-06-30 動きベクトルの改良のための探索領域 Pending JP2020526112A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2017/066337 WO2019001737A1 (en) 2017-06-30 2017-06-30 RESEARCH AREA FOR MOVEMENT VECTOR ENHANCEMENT

Publications (1)

Publication Number Publication Date
JP2020526112A true JP2020526112A (ja) 2020-08-27

Family

ID=59285187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019572011A Pending JP2020526112A (ja) 2017-06-30 2017-06-30 動きベクトルの改良のための探索領域

Country Status (12)

Country Link
US (2) US11082714B2 (ja)
EP (1) EP3632108B1 (ja)
JP (1) JP2020526112A (ja)
KR (2) KR102355841B1 (ja)
CN (2) CN110786013B (ja)
AU (2) AU2017421655B2 (ja)
BR (1) BR112019028012A2 (ja)
CA (2) CA3068595C (ja)
IL (1) IL271770B2 (ja)
MY (1) MY194535A (ja)
SG (1) SG11201913272SA (ja)
WO (1) WO2019001737A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117615153A (zh) * 2017-08-29 2024-02-27 株式会社Kt 视频解码和编码方法及用于存储压缩视频数据的装置
CN109587501B (zh) * 2017-09-28 2022-07-12 腾讯科技(深圳)有限公司 进行运动估计的方法、装置及存储介质
CN113302935A (zh) 2019-01-02 2021-08-24 瑞典爱立信有限公司 视频编码/解码系统中的端运动细化
EP3909247B1 (en) * 2019-02-08 2024-04-10 Beijing Dajia Internet Information Technology Co., Ltd. Method and device for selectively applying decoder-side motion vector refinement for video coding
JP7350857B2 (ja) * 2019-02-28 2023-09-26 ホアウェイ・テクノロジーズ・カンパニー・リミテッド インター予測のためのエンコーダ、デコーダ、および対応する方法
CN117834906A (zh) * 2019-03-08 2024-04-05 华为技术有限公司 运动矢量细化的搜索区域
TWI738248B (zh) 2019-03-14 2021-09-01 聯發科技股份有限公司 運動細化以及子分區基礎填充的視訊處理的方法以及裝置
CN112514392A (zh) * 2020-02-18 2021-03-16 深圳市大疆创新科技有限公司 视频编码的方法与装置
US11418810B2 (en) * 2020-09-21 2022-08-16 Tencent America LLC Methods of inter picture motion prediction for multi-view video compression
US11875516B2 (en) 2020-12-28 2024-01-16 Waymo Llc Systems, apparatus, and methods for retrieving image data of image frames
CN113408661B (zh) * 2021-07-16 2022-02-18 北京百度网讯科技有限公司 误匹配确定方法、装置、设备和介质
WO2023043296A1 (ko) * 2021-09-17 2023-03-23 주식회사 윌러스표준기술연구소 Obmc를 이용한 비디오 신호 처리 방법 및 이를 위한 장치
WO2024080747A1 (ko) * 2022-10-11 2024-04-18 한국전자통신연구원 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001189934A (ja) * 1999-07-27 2001-07-10 Sharp Corp 適応性のある動き精度をもった動き推定方法
US20040252766A1 (en) * 2003-06-11 2004-12-16 Daeyang Foundation (Sejong University) Motion vector search method and apparatus
JP2008177630A (ja) * 2007-01-16 2008-07-31 Victor Co Of Japan Ltd 動きベクトル検出装置
JP2009290295A (ja) * 2008-05-27 2009-12-10 Mitsubishi Electric Corp 動き補償予測装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW321748B (ja) * 1994-02-23 1997-12-01 Rca Thomson Licensing Corp
US20050207663A1 (en) * 2001-07-31 2005-09-22 Weimin Zeng Searching method and system for best matching motion vector
US6996180B2 (en) 2001-09-05 2006-02-07 Intel Corporation Fast half-pixel motion estimation using steepest descent
EP2050279B1 (en) * 2006-08-02 2018-08-29 Thomson Licensing Adaptive geometric partitioning for video decoding
WO2008127568A2 (en) * 2007-04-12 2008-10-23 Thomson Licensing Methods and apparatus for fast geometric mode decision in a video encoder
CN101247523B (zh) * 2008-03-18 2010-09-08 上海华平信息技术股份有限公司 用于h.264编码器的半像素运动估计方法
CN102484706B (zh) * 2009-06-26 2015-09-16 汤姆森特许公司 使用自适应几何划分进行视频编码和解码的方法及装置
KR101671460B1 (ko) 2009-09-10 2016-11-02 에스케이 텔레콤주식회사 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
CN102263947B (zh) * 2010-05-27 2016-07-06 香港科技大学 图像运动估计的方法及系统
TWI590083B (zh) * 2010-11-18 2017-07-01 創意電子股份有限公司 一種產生影像位移偵測之快速搜尋視窗的方法
US9532066B2 (en) * 2011-01-21 2016-12-27 Qualcomm Incorporated Motion vector prediction
US9307239B2 (en) 2011-03-14 2016-04-05 Mediatek Inc. Method and apparatus for derivation of motion vector candidate and motion vector prediction candidate
KR101956284B1 (ko) * 2011-06-30 2019-03-08 엘지전자 주식회사 보간 방법 및 이를 이용한 예측 방법
CN102316323B (zh) * 2011-07-06 2014-03-05 北京航空航天大学 一种快速的双目立体视频分形压缩与解压缩方法
US10531116B2 (en) * 2014-01-09 2020-01-07 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
US10958927B2 (en) * 2015-03-27 2021-03-23 Qualcomm Incorporated Motion information derivation mode determination in video coding
CN106878737B (zh) * 2017-03-02 2019-10-08 西安电子科技大学 高效视频编码中的运动估计加速方法
US20190007699A1 (en) * 2017-06-28 2019-01-03 Futurewei Technologies, Inc. Decoder Side Motion Vector Derivation in Video Coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001189934A (ja) * 1999-07-27 2001-07-10 Sharp Corp 適応性のある動き精度をもった動き推定方法
US20040252766A1 (en) * 2003-06-11 2004-12-16 Daeyang Foundation (Sejong University) Motion vector search method and apparatus
JP2008177630A (ja) * 2007-01-16 2008-07-31 Victor Co Of Japan Ltd 動きベクトル検出装置
JP2009290295A (ja) * 2008-05-27 2009-12-10 Mitsubishi Electric Corp 動き補償予測装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHEN, JIANLE ET AL.: "Algorithm Description of Joint Exploration Test Model 6 (JEM 6)", JOINT VIDEO EXPLORATION TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 6TH MEETING: H, vol. JVET-F1001 (version 2), JPN6021007842, 31 May 2017 (2017-05-31), pages 27 - 28, ISSN: 0004753711 *
ROSEWARNE, C. ET AL.: "High Efficiency Video Coding (HEVC) Test Model 16 (HM 16) Improved Encoder Description Update 4", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 22ND, vol. JCTVC-V1002 (version 1), JPN6021039415, 12 February 2016 (2016-02-12), ISSN: 0004753709 *

Also Published As

Publication number Publication date
EP3632108A1 (en) 2020-04-08
IL271770A (en) 2020-02-27
CA3151032A1 (en) 2019-01-03
US20200137415A1 (en) 2020-04-30
IL271770B2 (en) 2024-03-01
SG11201913272SA (en) 2020-01-30
US11736718B2 (en) 2023-08-22
KR102355841B1 (ko) 2022-02-08
CA3068595A1 (en) 2019-01-03
KR102430225B1 (ko) 2022-08-09
KR20200020882A (ko) 2020-02-26
WO2019001737A1 (en) 2019-01-03
IL271770B1 (en) 2023-11-01
CN110786013B (zh) 2022-06-14
BR112019028012A2 (pt) 2020-07-07
CN115118988A (zh) 2022-09-27
NZ760611A (en) 2021-05-28
AU2021229180B2 (en) 2022-10-20
US20210314604A1 (en) 2021-10-07
AU2017421655A1 (en) 2020-01-30
EP3632108B1 (en) 2023-08-02
MY194535A (en) 2022-11-30
CN110786013A (zh) 2020-02-11
US11082714B2 (en) 2021-08-03
KR20220013467A (ko) 2022-02-04
AU2017421655B2 (en) 2022-12-22
CA3068595C (en) 2022-05-24
AU2021229180A1 (en) 2021-10-07

Similar Documents

Publication Publication Date Title
US11736718B2 (en) Search region for motion vector refinement
US11805270B2 (en) Limited memory access window for motion vector refinement
KR20200015734A (ko) 다중 참조 예측을 위한 움직임 벡터 개선
WO2020001578A1 (en) Motion vector refinement search with integer pixel resolution
US11153595B2 (en) Memory access window and padding for motion vector refinement
WO2019072373A1 (en) UPDATING MODELS FOR REFINING MOTION VECTORS
US20210409754A1 (en) Search region for motion vector refinement
NZ760611B2 (en) Search region for motion vector refinement

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200204

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220107

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220419