(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024161026
(43)【公開日】2024-11-15
(54)【発明の名称】動きベクトルの精緻化のための制限されたメモリアクセスウィンドウ
(51)【国際特許分類】
H04N 19/433 20140101AFI20241108BHJP
H04N 19/523 20140101ALI20241108BHJP
H04N 19/59 20140101ALI20241108BHJP
H04N 19/80 20140101ALI20241108BHJP
H04N 19/513 20140101ALI20241108BHJP
【FI】
H04N19/433
H04N19/523
H04N19/59
H04N19/80
H04N19/513
【審査請求】有
【請求項の数】10
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024135732
(22)【出願日】2024-08-15
(62)【分割の表示】P 2023078105の分割
【原出願日】2018-05-30
(31)【優先権主張番号】PCT/EP2017/075710
(32)【優先日】2017-10-09
(33)【優先権主張国・地域又は機関】EP
(71)【出願人】
【識別番号】504161984
【氏名又は名称】ホアウェイ・テクノロジーズ・カンパニー・リミテッド
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133569
【弁理士】
【氏名又は名称】野村 進
(72)【発明者】
【氏名】セミフ・エセンリク
(72)【発明者】
【氏名】アナンド・メヘル・コトラ
(72)【発明者】
【氏名】ジジエ・ジャオ
(72)【発明者】
【氏名】ハン・ガオ
(57)【要約】
【課題】本開示は、動きベクトルの精緻化に関する。
【解決手段】第1のステップとして、初期動きベクトルが、取得される。次いで、初期動
きベクトルの精緻化が、探索空間におけるバイラテラルマッチングによって決定される。
探索空間は、初期動きベクトルによって与えられる位置にあり、1つ以上の分数サンプル
位置を含み、探索空間に属する分数サンプル位置の各々が、ウィンドウ内の整数サンプル
のみを評価する予め定義されたタップサイズのフィルタを用いる補間フィルタリングによ
って得られ、前記ウィンドウが、前記探索空間におけるバイラテラルマッチングのために
アクセス可能な整数サンプルによって形成される。
【選択図】
図14
【特許請求の範囲】
【請求項1】
予測ブロックに関する動きベクトルの決定のための装置であって、
前記予測ブロックに関する初期動きベクトルおよびテンプレートを取得し、
探索空間において前記テンプレートとのテンプレートマッチングによって前記初期動き
ベクトルの精緻化を決定するように構成された処理回路を含み、
前記探索空間が、前記初期動きベクトルによって与えられる位置にあり、1つ以上の分
数サンプル位置を含み、前記探索空間に属する前記分数サンプル位置の各々が、ウィンド
ウ内の整数サンプルのみを評価する予め定義されたタップサイズのフィルタを用いる補間
フィルタリングによって得られ、前記ウィンドウが、前記探索空間における前記テンプレ
ートマッチングのためにアクセス可能な整数サンプルによって形成される、装置。
【請求項2】
前記ウィンドウが、前記予測ブロックの初期動きベクトルに対してN整数サンプル列お
よびM整数サンプル行として定義され、NおよびMの少なくとも一方が、非ゼロの整数値で
ある請求項1に記載の装置。
【請求項3】
前記処理回路が、最も新しい反復において探索空間のより多くの最も一致する位置のう
ちの1つによって与えられる方向に反復的に拡張される前記探索空間における前記テンプ
レートとのテンプレートマッチングによって前記初期動きベクトルの前記精緻化を決定す
るように構成され、
前記ウィンドウが、前記反復の予め定義された最大回数によって定義される請求項1ま
たは2に記載の装置。
【請求項4】
前記探索空間が、サブウィンドウ内の各分数サンプルの補間フィルタリングのためにア
クセスされるすべての整数サンプルが前記予め定義されたタップサイズの前記補間フィル
タに関して前記ウィンドウ内にあるような前記ウィンドウの矩形の前記サブウィンドウを
含む請求項1から3のいずれか一項に記載の装置。
【請求項5】
前記探索空間が、前記ウィンドウの矩形の探索サブウィンドウを含み、前記初期動きベ
クトルの前記精緻化が、前記探索サブウィンドウ内の各分数サンプルの補間フィルタリン
グのためにアクセスされる前記整数サンプルが前記予め定義されたタップサイズの前記補
間フィルタに関して前記ウィンドウ内にあるような前記矩形の探索サブウィンドウにおけ
る前記テンプレートとのテンプレートマッチングによって決定される請求項1または2に記
載の装置。
【請求項6】
前記処理回路が、最も新しい反復において探索空間のより多くの最も一致する位置のう
ちの1つによって与えられる方向に反復的に拡張される前記探索空間における前記テンプ
レートとのテンプレートマッチングによって前記初期動きベクトルの前記精緻化を決定す
るように構成され、前記反復が、前記最も新しい反復の前記探索空間内の少なくとも1つ
のサンプルが前記探索サブウィンドウの外にあるときに終了される請求項5に記載の装置
。
【請求項7】
前記補間フィルタが、前記分数位置が整数サンプルのそれぞれの水平方向のラインまた
は垂直方向のライン上にあるとき、K個の水平方向または垂直方向の何れの整数サンプル
も評価する1次元フィルタである請求項4に記載の装置。
【請求項8】
前記探索空間が、
- 前記サブウィンドウの上もしくは下に隣接し、整数サンプルの水平方向のライン上
にあるか、または
- 前記サブウィンドウの左側もしくは右側に隣接し、整数サンプルの垂直方向のライ
ン上にあるか
の何れの、前記サブウィンドウの外にある分数位置をさらに含む請求項5に記載の装置。
【請求項9】
予測ブロックに分割されたビデオ画像をビットストリームに符号化するための符号化装
置であって、
請求項1から8のいずれか一項に記載の予測ブロックに関する動きベクトルの決定のため
の装置と、
前記予測ブロックと決定された動きベクトルに基づく位置に予測ブロックによって与え
られるプレディクタとの間の差を符号化するため、ならびに符号化された差および前記初
期動きベクトルを含むビットストリームを生成するための符号化回路とを含む、符号化装
置。
【請求項10】
予測ブロックに分割されたビデオ画像をビットストリームから復号するための復号装置
であって、
初期動きベクトル、および予測ブロックと精緻化された動きベクトルによって指定され
る位置に予測ブロックによって与えられるプレディクタとの間の符号化された差を、前記
ビットストリームから解析するための解析ユニットと、
請求項1から8のいずれか一項に記載の前記予測ブロックに関する前記精緻化された動き
ベクトルの決定のための装置と、
解析された差と、前記精緻化された動きベクトルによって指定される前記位置に前記予
測ブロックによって与えられる前記プレディクタとの和として前記予測ブロックを再構築
するための復号回路とを含む、復号装置。
【請求項11】
予測ブロックに関する動きベクトルの決定のための方法であって、
前記予測ブロックに関する初期動きベクトルおよびテンプレートを取得するステップ、
探索空間において前記テンプレートとのテンプレートマッチングによって前記初期動き
ベクトルの精緻化を決定するステップを含み、
前記探索空間が、前記初期動きベクトルによって与えられる位置にあり、1つ以上の分
数サンプル位置を含み、前記探索空間に属する前記分数サンプル位置の各々が、ウィンド
ウ内の整数サンプルのみを評価する予め定義されたタップサイズのフィルタを用いる補間
フィルタリングによって得られ、前記ウィンドウが、前記探索空間における前記テンプレ
ートマッチングのためにアクセス可能な整数サンプルによって形成される、方法。
【請求項12】
前記ウィンドウが、前記予測ブロックの初期動きベクトルに対してN整数サンプル列お
よびM整数サンプル行として定義され、NおよびMが、非ゼロの整数値である請求項11に記
載の方法。
【請求項13】
前記初期動きベクトルの前記精緻化が、最も新しい反復において探索空間のより多くの
最も一致する位置のうちの1つによって与えられる方向に反復的に拡張される前記探索空
間における前記テンプレートとのテンプレートマッチングによって決定され、
前記ウィンドウが、前記反復の予め定義された最大回数によって定義される請求項11ま
たは12に記載の方法。
【請求項14】
前記探索空間が、サブウィンドウ内の各分数サンプルの補間フィルタリングのためにア
クセスされるすべての整数サンプルが前記予め定義されたタップサイズの前記補間フィル
タに関して前記ウィンドウ内にあるような前記ウィンドウの矩形の前記サブウィンドウを
含む請求項11から13のいずれか一項に記載の方法。
【請求項15】
前記探索空間が、前記ウィンドウの矩形の探索サブウィンドウを含み、前記初期動きベ
クトルの前記精緻化が、前記探索サブウィンドウ内の各分数サンプルの補間フィルタリン
グのためにアクセスされる前記整数サンプルが前記予め定義されたタップサイズの前記補
間フィルタに関して前記ウィンドウ内にあるような前記矩形の探索サブウィンドウにおけ
る前記テンプレートとのテンプレートマッチングによって決定される請求項11または12に
記載の方法。
【請求項16】
前記初期動きベクトルの前記精緻化が、最も新しい反復において探索空間のより多くの
最も一致する位置のうちの1つによって与えられる方向に反復的に拡張される前記探索空
間における前記テンプレートとのテンプレートマッチングによって決定され、前記反復が
、前記最も新しい反復の前記探索空間内の少なくとも1つのサンプルが前記探索サブウィ
ンドウの外にあるときに終了される請求項15に記載の方法。
【請求項17】
前記補間フィルタが、前記分数位置が整数サンプルのそれぞれの水平方向のラインまた
は垂直方向のライン上にあるとき、K個の水平方向または垂直方向の何れの整数サンプル
を評価する1次元フィルタである請求項14に記載の方法。
【請求項18】
前記探索空間が、
- 前記サブウィンドウの上もしくは下に隣接し、整数サンプルの水平方向のライン上
にあるか、または
- 前記サブウィンドウの左側もしくは右側に隣接し、整数サンプルの垂直方向のライ
ン上にあるか
の何れの、前記サブウィンドウの外にある分数位置をさらに含む請求項17に記載の方法。
【請求項19】
予測ブロックに分割されたビデオ画像をビットストリームに符号化するための符号化方
法であって、
請求項11から18のいずれか一項に記載の予測ブロックに関する動きベクトルを決定する
ステップと、
前記予測ブロックと決定された動きベクトルに基づく位置に予測ブロックによって与え
られるプレディクタとの間の差を符号化し、符号化された差および前記初期動きベクトル
を含むビットストリームを生成するステップとを含む、符号化方法。
【請求項20】
予測ブロックに分割されたビデオ画像をビットストリームから復号するための復号方法
であって、
初期動きベクトル、および予測ブロックと精緻化された動きベクトルによって指定され
る位置に予測ブロックによって与えられるプレディクタとの間の符号化された差を、前記
ビットストリームから解析するステップと、
請求項11から18のいずれか一項に記載の前記予測ブロックに関する前記精緻化された動
きベクトルを決定するステップと、
解析された差と、前記精緻化された動きベクトルによって指定される前記位置に前記予
測ブロックによって与えられる前記プレディクタとの和として前記予測ブロックを再構築
するステップとを含む、復号方法。
【請求項21】
プロセッサ上で実行されるときに前記プロセッサに請求項11から20のいずれか一項に記
載の方法を実行させる命令を記憶するコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ビデオの符号化および復号中に使用されてもよい動きベクトルの決定および
精緻化に関する。
【背景技術】
【0002】
現在のハイブリッドビデオコーデックは、予測符号化を使用する。ビデオシーケンスの
ピクチャは、ピクセルのブロックに下位分割され、次いで、これらのブロックが、符号化
される。ブロックをピクセル毎に符号化する代わりに、ブロック全体が、ブロックの空間
的または時間的に近い既に符号化されたピクセルを使用して予測される。エンコーダは、
ブロックとそのブロックの予測との間の差のみをさらに処理する。さらなる処理は、概し
て、変換領域におけるブロックピクセルの係数への変換を含む。次いで、ビットストリー
ムを形成するために、係数が、量子化によってさらに圧縮され、エントロピー符号化によ
ってさらにコンパクトにされてもよい。ビットストリームは、デコーダが符号化されたビ
デオを復号することを可能にする任意のシグナリング情報をさらに含む。たとえば、シグ
ナリングは、入力ピクチャのサイズ、フレームレート、量子化ステップインジケーション
、ピクチャのブロックに適用される予測などのエンコーダ設定に関する設定を含んでもよ
い。
【0003】
時間的予測は、ビデオのフレームとも呼ばれるピクチャの間の時間的相関を利用する。
時間的予測はインター予測とも呼ばれるが、それは異なるビデオフレームの間(インター)
の依存関係を使用する予測であるからである。したがって、現在のブロックとも呼ばれる
符号化されているブロックは、参照ピクチャと呼ばれる1つ以上の既に符号化されたピク
チャから予測される。参照ピクチャは、ビデオシーケンスの表示順序で、現在のブロック
がある現在のピクチャよりも先のピクチャであるとは限らない。エンコーダは、表示順序
とは異なる符号化順序でピクチャを符号化してもよい。現在のブロックの予測として、参
照ピクチャ内の同一位置のブロックが、決定されてもよい。同一位置のブロックは、参照
ピクチャ内で、現在のピクチャ内の現在のブロックと同じ位置にあるブロックである。そ
のような予測は、動きのないピクチャの領域、つまり、ピクチャ毎に動かないピクチャの
領域に関しては正確である。
【0004】
動きを考慮に入れるプレディクタ、つまり、動き補償されたプレディクタを得るために
、現在のブロックの予測を決定するとき、概して、動き推定が使用される。したがって、
現在のブロックは、同一位置のブロックの位置から動きベクトルによって与えられた距離
にある参照ピクチャ内のブロックによって予測される。デコーダが現在のブロックの同じ
予測を決定することを可能にするために、動きベクトルが、ビットストリーム内でシグナ
リングされてもよい。ブロックの各々に関する動きベクトルをシグナリングすることによ
って引き起こされるシグナリングのオーバーヘッドをさらに削減するために、動きベクト
ルそれ自身が、推定されてもよい。動きベクトルの推定は、空間および/または時間領域
において隣接するブロックの動きベクトルに基づいて実行されてもよい。
【0005】
現在のブロックの予測は、2つ以上の参照ピクチャから得られた予測を重み付けするこ
とによって1つの参照ピクチャを使用して計算されてもよい。参照ピクチャは、隣接する
ピクチャ、つまり、表示順序で現在のピクチャの直前のピクチャおよび/または直後のピ
クチャが現在のピクチャに類似している可能性が最も高いので、隣接するピクチャであっ
てもよい。しかし、概して、参照ピクチャは、表示順序で現在のピクチャの前または後お
よびビットストリーム(復号順序)で現在のピクチャの前の任意のその他のピクチャであっ
てもよい。これは、たとえば、ビデオコンテンツにおける遮蔽および/または非線形の動
きの場合に利点をもたらしてもよい。したがって、参照ピクチャの識別情報も、ビットス
トリーム内でシグナリングされてもよい。
【0006】
インター予測の特別なモードは、2つの参照ピクチャが現在のブロックの予測を生成す
る際に使用されるいわゆる双方向予測である。特に、それぞれの2つの参照ピクチャにお
いて決定された2つの予測が、現在のブロックの予測信号へと組み合わされる。双方向予
測は、単方向予測、つまり、単一の参照ピクチャのみを使用する予測よりも現在のブロッ
クのより正確な予測をもたらしてもよい。より正確な予測は、現在のブロックおよび予測
のピクセルの間のより小さな差(「残差」とも呼ばれる)につながり、それらの差は、より
効率的に符号化される、つまり、より短いビットストリームへと圧縮されてもよい。概し
て、2つより多くの参照ピクチャが、現在のブロックを予測するためにそれぞれの2つより
多くの参照ブロックを発見するために使用されてもよく、つまり、多参照インター予測が
、適用されうる。したがって、多参照予測という用語は、双方向予測および2つより多く
の参照ピクチャを使用する予測を含む。
【0007】
より正確な動き推定を提供するために、参照ピクチャの解像度は、ピクセル間のサンプ
ルを補間することによって高められてもよい。分数ピクセル補間が、最も近いピクセルの
加重平均によって実行されうる。半ピクセルの解像度の場合、たとえば、概して、双一次
補間が使用される。その他の分数ピクセルは、それぞれの最も近いピクセルと予測されて
いるピクセルとの間の距離の逆数によって重み付けされた最も近いピクセルの平均として
計算される。
【0008】
動きベクトルの推定は、現在のブロックと参照ピクチャ内で候補動きベクトルによって
指し示される対応する予測ブロックとの間で類似性が計算される計算が複雑なタスクであ
る。概して、探索領域は、画像のM×Mサンプルを含み、M×M個の候補位置のうちのサンプ
ル位置の各々が、テストされる。テストは、N×Nの参照ブロックCと探索領域のテストさ
れる候補位置にあるブロックRとの間の類似性の尺度の計算を含む。その単純さから、差
分絶対値和(SAD)は、この目的で頻繁に使用される尺度であり、
【数1】
によって与えられる。
【0009】
上の式において、xおよびyは、探索領域内の候補位置を定義し、一方、インデックスi
およびjは、参照ブロックCおよび候補ブロックR内のサンプルを表す。候補位置は、多く
の場合、ブロックの変位またはオフセットと呼ばれ、これは、ブロックマッチングを、探
索領域内で参照ブロックをシフトし、参照ブロックCと探索領域の重なり合う部分との間
の類似性を計算することとして表現することを反映する。複雑さを減らすために、通常、
候補動きベクトルの数が、候補動きベクトルを特定の探索空間に制限することによって削
減される。探索空間は、たとえば、現在の画像内の現在のブロックの位置に対応する参照
ピクチャ内の位置の周りのピクセルの数および/または位置によって定義されてもよい。M
×M個すべての候補位置xおよびyに関してSADを計算した後、最も一致するブロックRは、
参照ブロックCとの最も高い類似性に対応する最も低いSADをもたらす位置のブロックであ
る。一方、候補動きベクトルは、隣接するブロックの動きベクトルによって形成された候
補動きベクトルのリストによって定義されてもよい。
【0010】
通常、動きベクトルは、エンコーダ側で少なくとも部分的に決定され、符号化されたビ
ットストリーム内でデコーダにシグナリングされる。しかし、動きベクトルは、デコーダ
においても導出されてもよい。そのような場合、現在のブロックは、デコーダにおいて利
用可能でなく、参照ピクチャ内で候補動きベクトルが指し示すブロックとの類似性を計算
するために使用されることができない。したがって、現在のブロックの代わりに、既に復
号されたブロックのピクセルから構築されるテンプレートが使用される。たとえば、現在
のブロックに隣接する既に復号されたピクセルが、使用されてもよい。そのような動き推
定は、シグナリングを削減するという利点をもたらし、つまり、動きベクトルは、エンコ
ーダとデコーダとの両方において同じ方法で導出され、したがって、シグナリングは、必
要とされない。一方、そのような動き推定の正確性は、より低くてもよい。
【0011】
正確さとシグナリングのオーバーヘッドとの間の折り合いをつけるために、動きベクト
ルの推定は、2つのステップ、つまり、動きベクトルの導出および動きベクトルの精緻化
に分割されてもよい。たとえば、動きベクトルの導出は、候補のリストからの動きベクト
ルの選択を含んでもよい。そのような選択された動きベクトルは、たとえば、探索空間内
の探索によってさらに精緻化されてもよい。探索領域内の探索は、各候補動きベクトルに
関して、つまり、候補動きベクトルが指し示すブロックの各候補位置に関してコスト関数
を計算することに基づく。
【0012】
文献JVET-D0029: Decoder-Side Motion Vector Refinement Based on Bilateral Templ
ate Matching、X. Chen、J. An、J. Zheng(文献は、http://phenix.it-sudparis.eu/jvet
/のサイトにおいて見つけられうる)は、整数ピクセルの解像度の第1の動きベクトルが発
見され、第1の動きベクトルの周りの探索空間内の半ピクセルの解像度による探索によっ
てさらに精緻化される動きベクトルの精緻化を示す。
【0013】
動きベクトルの精緻化を実行するためには、少なくとも、現在のブロックが精緻化を実
行するために必要なサンプル、つまり、探索空間に対応するサンプルおよび探索空間にお
けるテンプレートマッチングが実行されるときにアクセスされうるサンプルをメモリに記
憶する必要がある。
【0014】
外部メモリアクセスは、現在のハードウェアのアーキテクチャおよび/またはソフトウ
ェアの実装の重要な設計パラメータである。これは、外部メモリアクセスが内部メモリ利
用に比べて処理を遅くするという事実に原因がある。一方、チップ上の内部メモリは、た
とえば、チップサイズの実装が原因で制限される。
【発明の概要】
【課題を解決するための手段】
【0015】
本開示は、分数補間と組み合わせて実施されるときに動きベクトルの精緻化がオンチッ
プメモリのサイズまたはさらには外部メモリアクセスのさらなる増加を必要としてもよい
という観察に基づく。どちらの選択肢も、望ましくない可能性がある。
【0016】
上述の問題に鑑みて、本開示は、外部メモリへのアクセスの回数、および符号化ブロッ
クに関する動きベクトルの動きベクトルの精緻化のためにアクセス可能であるために必要
なサンプルの数を考慮に入れることを可能にする動きベクトルの予測を提供する。
【0017】
これは、サンプルの数を整数サンプルのテンプレートマッチングのために必要なサンプ
ルの数に制限し、追加的な整数サンプルを必要とすることなく所定の補間フィルタによっ
て取得可能な分数位置のみを有効にすることによって実現される。
【0018】
本発明の態様によれば、予測ブロックに関する動きベクトルの決定のための装置であっ
て、予測ブロックに関する初期動きベクトルおよびテンプレートを取得し、探索空間にお
いて前記テンプレートとのテンプレートマッチングによって初期動きベクトルの精緻化を
決定するように構成された処理回路を含む、装置が提供される。前記探索空間は、初期動
きベクトルによって与えられる位置にあり、1つ以上の分数サンプル位置を含み、探索空
間に属する分数サンプル位置の各々が、ウィンドウ内の整数サンプルのみを評価する予め
定義されたタップサイズのフィルタを用いる補間フィルタリングによって得られ、前記ウ
ィンドウが、前記探索空間におけるテンプレートマッチングのためにアクセス可能な整数
サンプルによって形成される。
【0019】
そのような動きベクトルの決定の利点のうちの1つは、外部メモリへのまたは広く参照
ピクチャ全体を記憶するメモリ/ストレージ/キャッシュへのアクセスの回数を同時に制限
しながら予測ブロックに関する動きベクトルの精緻化を実行するためにアクセス可能であ
る必要があるサンプルの制限された数である。
【0020】
例において、ウィンドウは、予測ブロックの初期動きベクトルに対してN整数サンプル
列およびM整数サンプル行として定義され、NおよびMは、非ゼロの整数値である。そのよ
うな定義は、動きベクトルの決定および/または精緻化の目的でどのサンプルが取り出さ
れるべきであるかを指定するための簡単な手段を提供してもよい。それはまた、たとえば
、ビットストリームまたは規格の中で容易に構成可能であってもよい。
【0021】
1つの実施形態において、処理回路は、最も新しい反復において探索空間のより多くの
最も一致する位置のうちの1つによって与えられる方向に反復的に拡張される探索空間に
おける前記テンプレートとのテンプレートマッチングによって初期動きベクトルの精緻化
を決定するように構成され、ウィンドウは、反復の予め定義された最大回数によって定義
される。
【0022】
探索空間は、サブウィンドウ内の各分数サンプルの補間フィルタリングのためにアクセ
スされるすべての整数サンプルが予め定義されたタップサイズの補間フィルタに関して前
記ウィンドウ内にあるようなウィンドウの矩形のサブウィンドウを含んでもよい。
【0023】
探索空間は、ウィンドウの矩形の探索サブウィンドウを含んでもよく、初期動きベクト
ルの精緻化は、探索サブウィンドウ内の各分数サンプルの補間フィルタリングのためにア
クセスされる整数サンプルが予め定義されたタップサイズの補間フィルタに関して前記ウ
ィンドウ内にあるような矩形の探索サブウィンドウにおける前記テンプレートとのテンプ
レートマッチングによって決定される。
【0024】
1つの実装において、処理回路は、最も新しい反復において探索空間のより多くの最も
一致する位置のうちの1つによって与えられる方向に反復的に拡張される探索空間におけ
る前記テンプレートとのテンプレートマッチングによって初期動きベクトルの精緻化を決
定するように構成されてもよく、反復は、最も新しい反復の探索空間内の少なくとも1つ
のサンプルが探索サブウィンドウの外にあるときに終了される。
【0025】
特に、特定の例として、補間フィルタは、分数位置が整数サンプルのそれぞれの水平方
向のラインまたは垂直方向のライン上にあるとき、K個の水平方向または垂直方向の何れ
の整数サンプルも評価する1次元フィルタである。
【0026】
さらに、たとえば、探索空間は、
- サブウィンドウの上もしくは下に隣接し、整数サンプルの水平方向のライン上にあ
るか、または
- サブウィンドウの左側もしくは右側に隣接し、整数サンプルの垂直方向のライン上
にあるか
の何れの、サブウィンドウの外にある分数位置をさらに含む。
【0027】
本発明の別の態様によれば、予測ブロックに分割されたビデオ画像をビットストリーム
に符号化するための符号化装置が、提供され、符号化装置は、上述の予測ブロックに関す
る動きベクトルの決定のための装置と、予測ブロックと決定された動きベクトルに基づく
位置に予測ブロックによって与えられるプレディクタとの間の差を符号化するため、なら
びに符号化された差および初期動きベクトルを含むビットストリームを生成するための符
号化回路とを含む。
【0028】
本発明の別の態様によれば、予測ブロックに分割されたビデオ画像をビットストリーム
から復号するための復号装置が、提供され、復号装置は、初期動きベクトル、および予測
ブロックと精緻化された動きベクトルによって指定される位置に予測ブロックによって与
えられるプレディクタとの間の符号化された差を、ビットストリームから解析するための
解析ユニットと、上述の予測ブロックに関する精緻化された動きベクトルの決定のための
装置と、解析された差と、精緻化された動きベクトルによって指定される位置に予測ブロ
ックによって与えられるプレディクタとの関数として予測ブロックを再構築するための復
号回路とを含む。関数は、総和であるまたは総和を含んでもよい。関数は、切り抜き、丸
め、スケーリング、またはさらなる演算をさらに含んでもよい。
【0029】
本発明の別の態様によれば、予測ブロックに関する動きベクトルの決定のための方法で
あって、予測ブロックに関する初期動きベクトルおよびテンプレートを取得するステップ
、探索空間において前記テンプレートとのテンプレートマッチングによって初期動きベク
トルの精緻化を決定するステップを含み、前記探索空間が、初期動きベクトルによって与
えられる位置にあり、1つ以上の分数サンプル位置を含み、探索空間に属する分数サンプ
ル位置の各々が、ウィンドウ内の整数サンプルのみを評価する予め定義されたタップサイ
ズのフィルタを用いる補間フィルタリングによって得られ、前記ウィンドウが、前記探索
空間におけるテンプレートマッチングのためにアクセス可能な整数サンプルによって形成
される、方法が提供される。
【0030】
たとえば、ウィンドウは、予測ブロックの初期動きベクトルに対してN整数サンプル列
およびM整数サンプル行として定義され、NおよびMは、非ゼロの整数値である。
【0031】
実施形態において、初期動きベクトルの精緻化は、最も新しい反復において探索空間の
より多くの最も一致する位置のうちの1つによって与えられる方向に反復的に拡張される
探索空間における前記テンプレートとのテンプレートマッチングによって決定され、ウィ
ンドウは、反復の予め定義された最大回数によって定義される。
【0032】
例示的な実装において、探索空間は、サブウィンドウ内の各分数サンプルの補間フィル
タリングのためにアクセスされるすべての整数サンプルが予め定義されたタップサイズの
補間フィルタに関して前記ウィンドウ内にあるようなウィンドウの矩形のサブウィンドウ
を含む。
【0033】
探索空間は、ウィンドウの矩形の探索サブウィンドウを含んでもよく、初期動きベクト
ルの精緻化は、探索サブウィンドウ内の各分数サンプルの補間フィルタリングのためにア
クセスされる整数サンプルが予め定義されたタップサイズの補間フィルタに関して前記ウ
ィンドウ内にあるような矩形の探索サブウィンドウにおける前記テンプレートとのテンプ
レートマッチングによって決定される。
【0034】
1つの実装において、初期動きベクトルの精緻化は、最も新しい反復において探索空間
のより多くの最も一致する位置のうちの1つによって与えられる方向に反復的に拡張され
る探索空間における前記テンプレートとのテンプレートマッチングによって決定されても
よく、反復は、最も新しい反復の探索空間内の少なくとも1つのサンプルが探索サブウィ
ンドウの外にあるときに終了される。
【0035】
さらに、たとえば、補間フィルタは、分数位置が整数サンプルのそれぞれの水平方向の
ラインまたは垂直方向のライン上にあるとき、K個の水平方向または垂直方向の何れの整
数サンプルも評価する1次元フィルタである。
【0036】
有利なことに、探索空間は、サブウィンドウの上もしくは下に隣接し、整数サンプルの
水平方向のライン上にあるか、またはサブウィンドウの左側もしくは右側に隣接し、整数
サンプルの垂直方向のライン上にあるかの何れの、サブウィンドウの外にある分数位置を
さらに含む。
【0037】
本発明の別の態様によれば、予測ブロックに分割されたビデオ画像をビットストリーム
に符号化するための符号化方法が、提供され、符号化方法は、上述の方法のいずれかに係
る予測ブロックに関する動きベクトルを決定するステップと、予測ブロックと決定された
動きベクトルに基づく位置に予測ブロックによって与えられるプレディクタとの間の差を
符号化し、符号化された差および初期動きベクトルを含むビットストリームを生成するス
テップとを含む。
【0038】
本発明の別の態様によれば、予測ブロックに分割されたビデオ画像をビットストリーム
から復号するための復号方法が、提供され、復号方法は、初期動きベクトル、および予測
ブロックと精緻化された動きベクトルによって指定される位置に予測ブロックによって与
えられるプレディクタとの間の符号化された差を、ビットストリームから解析するステッ
プと、上述の方法のいずれかに係る予測ブロックに関する精緻化された動きベクトルを決
定するステップと、解析された差と、精緻化された動きベクトルによって指定される位置
に予測ブロックによって与えられるプレディクタとの和として予測ブロックを再構築する
ステップとを含む。
【0039】
本発明の態様によれば、プロセッサ/処理回路によって実行されるときに上述の態様ま
たは実施形態またはそれらの組み合わせのいずれかに係るステップを実行する命令を記憶
する非一時的コンピュータ可読ストレージ媒体が、提供される。
【0040】
以下で、例示的な実施形態が、添付の図および図面を参照してより詳細に説明される。
【図面の簡単な説明】
【0041】
【
図1】動きベクトルの導出および精緻化が使用されてもよいエンコーダの例示的な構造を示すブロック図である。
【
図2】動きベクトルの導出および精緻化が使用されてもよいデコーダの例示的な構造を示すブロック図である。
【
図3】双方向予測に好適な例示的なテンプレートマッチングを示す概略図である。
【
図4】単方向および双方向予測に好適な例示的なテンプレートマッチングを示す概略図である。
【
図5】ビットストリーム内で精緻化される初期動きベクトルを提供することなく動作する動きベクトルの導出の段階を示すブロック図である。
【
図6】本発明の実施形態を実装するための例示的なハードウェアを示すブロック図である。
【
図7】符号化ブロックに関して、アクセスされるために利用可能であるべきサンプルをともなう例示的なウィンドウを示す概略図である。
【
図9】補間フィルタリングによる水平方向のメモリアクセスウィンドウの拡張を示す概略図である。
【
図10】分数サンプル位置に関するサブウィンドウの定義を示す概略図である。
【
図11】メモリアクセスウィンドウの例示的な定義を示す概略図である。
【
図12】動きベクトルの精緻化のための探索空間の位置を形成することを許される分数位置を含む例示的な位置を示す概略図である。
【
図13】動きベクトルの精緻化のための探索空間の位置を形成することを許されない例示的な分数位置を示す概略図である。
【
図14】探索空間のどの位置が動きベクトルの精緻化のためにテンプレートマッチングによってテストされることを許されるかを決定するための方法を示す流れ図である。
【
図15】動きベクトルの精緻化のための探索空間の位置を形成することを許される分数位置を含む例示的な位置を示す概略図である。
【
図16】メモリアクセスウィンドウにおける反復的な精緻化プロセスを示す流れ図である。
【
図17】探索サブウィンドウにおける反復的な精緻化プロセスを示す流れ図である。
【発明を実施するための形態】
【0042】
本開示は、参照ピクチャ内の分数位置を取得するために動きベクトルの精緻化および補
間を実行するためにアクセス可能であるべきサンプルの数の調整に関する。
【0043】
上述のように、外部メモリアクセスは、今日のハードウェアおよびソフトウェアのアー
キテクチャにおいて最も重要な設計の考慮事項のうちの1つである。たとえば、動きベク
トルの精緻化の場合の、特にテンプレートマッチングを含むときの動きベクトルの推定は
また、探索空間の分数位置を得るために補間フィルタリングとともに使用されてもよい。
補間フィルタリングの使用は、メモリにおいてアクセスされる必要があるサンプルの数の
増加を必要としてもよい。しかし、これは、高価なオンチップメモリの増加または外部メ
モリアクセスの回数の増加の何れにつながってもよく、これは、一方で実施を遅くする。
特にデコーダ側で、これらの問題は、望ましくないより高価なまたはより遅いアプリケー
ションにつながる可能性がある。
【0044】
そのような状況を防ぐために、本開示は、外部メモリアクセスに制限をかける。本発明
の実施形態によれば、動きベクトルの精緻化のためにアクセス可能であるべきサンプルの
ウィンドウが、精緻化されていない動きベクトルによって、つまり、初期動きベクトルに
よって指し示される位置の周りに定義される。ウィンドウは、動きベクトルの精緻化を実
行するためにメモリにおいてアクセスされる必要があるサンプルの最大数を定義する。概
して、アクセス可能であるべきサンプルは、テンプレートマッチングが実行されるべき探
索空間の位置のサンプルと、探索空間内のすべての位置に関してテンプレートとマッチン
グされるべきであるサンプルとを含む。後者は、概して、探索空間を超える。簡単さの理
由で、メモリアクセスのウィンドウは、符号化ブロック(動きベクトルが発見されるべき
現在のブロック)の周りの拡張として定義されてもよい。たとえば、現在のブロックの左
および右の境界からRサンプルならびに上および下の境界からRサンプルが、ウィンドウを
定義してもよい。言い換えると、現在のブロックがN×Nサンプルのサイズを有するとき、
アクセスウィンドウは、(R+N+R)×(R+N+R)、つまり、(N+2R)×(N+2R)サンプルのサイズを
有してもよい。たとえば、Rは、4に等しくてもよい。しかし、現在のブロックは、垂直方
向のサイズNが水平方向のサイズNと異なってもよく、上方向、下方向、左方向、および右
方向の拡張サンプルの数も、異なってもよい。
【0045】
本開示によれば、メモリアクセスウィンドウを制限するために、補間のために必要なサ
ンプルが整数サンプルのために定義された動きベクトルの精緻化のためのメモリアクセス
のウィンドウ内にある場合にのみ、分数ピクセル座標が、動きベクトルの精緻化によって
アクセスされる。
【0046】
図1は、ビデオストリームのフレームまたはピクチャの入力画像サンプルを受信するた
めの入力と、符号化されたビデオビットストリームを生成するための出力とを含むエンコ
ーダ100を示す。本開示における用語「フレーム」は、ピクチャの同義語として使用され
る。しかし、本開示は、インターレースが適用される場合のフィールドにも適用可能であ
ることが留意される。概して、ピクチャは、m掛けるnピクセルを含む。これは、画像サン
プルに対応し、1つ以上の色成分を含んでもよい。簡潔にするために、以下の説明は、輝
度のサンプルを意味するピクセルに言及する。しかし、本発明の動きベクトルの探索は、
クロミナンスまたはRGBなどの探索空間の成分などを含む任意の色成分に適用されうるこ
とが留意される。一方、1つの成分に関する動きベクトルの推定のみを実行し、決定され
た動きベクトルをさらなる(またはすべての)成分に適用することが、有益であってもよい
。
【0047】
符号化される入力ブロックは、必ずしも同じサイズではない。1つのピクチャは、異な
るサイズのブロックを含んでもよく、異なるピクチャのブロックラスタも、異なってもよ
い。
【0048】
説明のための具現化において、エンコーダ100は、ビデオストリームに予測、変換、量
子化、およびエントロピー符号化を適用するように構成される。符号化されたビデオビッ
トストリームを出力として生成するために、変換、量子化、およびエントロピー符号化が
、変換ユニット106、量子化ユニット108、およびエントロピー符号化ユニット170によっ
てそれぞれ実行される。
【0049】
ビデオストリームは、複数のフレームを含んでもよく、各フレームは、イントラ符号化
されるかまたはインター符号化されるかの何れである特定のサイズのブロックに分割され
る。たとえば、ビデオストリームの第1のフレームのブロックが、イントラ予測ユニット1
54によってイントラ符号化される。イントラフレームは、同じフレーム内の情報のみを使
用して符号化され、したがって、イントラフレームは、独立して復号されることが可能で
あり、ランダムアクセスのためのビットストリーム内のエントリポイントを提供すること
が可能である。ビデオストリームのその他のフレームのブロックは、インター予測ユニッ
ト144によってインター符号化されてもよく、つまり、既に符号化されたフレーム(参照フ
レーム)からの情報が、時間的冗長性を減らすために使用され、したがって、インター符
号化されたフレームの各ブロックは、参照フレーム内のブロックから予測される。モード
選択ユニット160は、フレームのブロックがイントラ予測ユニット154によって処理される
べきかまたはインター予測ユニット144によって処理されるべきかを選択するように構成
される。このモード選択ユニット160はまた、イントラまたはインター予測のパラメータ
を制御する。画像情報のリフレッシュを可能にするために、イントラ符号化されたブロッ
クが、インター符号化されたフレームの中で提供されてもよい。さらに、イントラ符号化
されたブロックのみを含むイントラフレームは、復号のためのエントリポイント、つまり
、デコーダが既に符号化されたフレームからの情報を持たずに復号を開始することができ
るポイントを提供するためにビデオシーケンスに定期的に挿入されてもよい。
【0050】
イントラ推定ユニット152およびイントラ予測ユニット154は、イントラ予測を実行する
ユニットである。特に、イントラ推定ユニット152は、元の画像の知識にも基づいて予測
モードを導出してもよく、一方、イントラ予測ユニット154は、差分符号化のために対応
するプレディクタ、つまり、選択された予測モードを使用して予測されたサンプルを提供
する。空間的または時間的予測を実行するために、符号化されたブロックは、逆量子化ユ
ニット110および逆変換ユニット112によってさらに処理されてもよい。ブロックの再構築
後に、ループフィルタリングユニット120が、復号された画像の品質をさらに改良するた
めに適用される。次いで、フィルタリングされたブロックは、参照フレームを形成し、次
いで、参照フレームは、復号済みピクチャバッファ130に記憶される。エンコーダ側のそ
のような復号ループ(デコーダ)は、デコーダ側で再構築される参照ピクチャと同じである
参照フレームを生成するという利点を提供する。したがって、エンコーダ側およびデコー
ダ側は、対応する方法で動作する。本明細書における用語「再構築」は、復号された残差
ブロックに予測ブロックを加えることによって再構築されたブロックを得ることを指す。
【0051】
インター推定ユニット142は、インター符号化される現在のフレームまたはピクチャの
ブロック、および復号済みピクチャバッファ130からの1つ以上の参照フレームを入力とし
て受け取る。動き推定が、インター推定ユニット142によって実行され、一方、動き補償
は、インター予測ユニット144によって適用される。動き推定は、たとえば、符号化され
る元の画像も使用して特定のコスト関数に基づいて動きベクトルおよび参照フレームを得
るために使用される。たとえば、動き推定ユニット142は、初期動きベクトル推定を提供
してもよい。次いで、初期動きベクトルは、ベクトルの形態で直接、またはエンコーダお
よびデコーダにおいて同じ方法で所定のルールに基づいて構築される候補のリスト内の動
きベクトルの候補を指すインデックスとしてビットストリーム内でシグナリングされても
よい。次いで、動き補償は、参照フレーム内の現在のブロックと同一位置のブロックの参
照フレーム内の参照ブロックへの変換として、つまり、動きベクトルによって現在のブロ
ックのプレディクタを導出する。インター予測ユニット144は、現在のブロックに関する
予測ブロックを出力し、前記予測ブロックは、コスト関数を最小化する。たとえば、コス
ト関数は、符号化される現在のブロックとその現在のブロックの予測ブロックとの間の差
であってもよく、つまり、コスト関数は、残差ブロックを最小化する。残差ブロックの最
小化は、たとえば、現在のブロックおよび候補参照ピクチャ内の候補ブロックのすべての
ピクセル(サンプル)の間の差分絶対値和(SAD)を計算することに基づく。しかし、概して
、平均2乗誤差(MSE)または構造類似性測定基準(SSIM)などの任意のその他の類似性測定基
準が、使用されてもよい。
【0052】
しかし、コスト関数はまた、そのようなインターブロックを符号化するために必要なビ
ットの数および/またはそのような符号化の結果として生じる歪みであってもよい。した
がって、レート-歪み最適化手順が、動きベクトルの選択、ならびに/または概してブロッ
クに関してインター予測を使用すべきかもしくはイントラ予測を使用すべきかおよびどの
設定で使用すべきかなどの符号化パラメータを決めるために使用されてもよい。
【0053】
イントラ推定ユニット152およびイントラ予測ユニット154は、イントラ符号化される現
在のフレームまたはピクチャのブロック、および現在のフレームの既に再構築された領域
からの1つ以上の参照サンプルを入力として受け取る。次いで、イントラ予測は、現在の
フレームの参照サンプルの関数によって現在のフレームの現在のブロックのピクセルを記
述する。イントラ予測ユニット154は、現在のブロックに関する予測ブロックを出力し、
前記予測ブロックは、有利なことに、符号化される現在のブロックとその現在のブロック
の予測ブロックとの間の差を最小化し、つまり、前記予測ブロックは、残差ブロックを最
小化する。残差ブロックの最小化は、たとえば、レート-歪み最適化手順に基づくことが
可能である。特に、予測ブロックは、参照サンプルの方向補間として得られる。方向は、
レート-歪み最適化によっておよび/またはインター予測に関連して上で述べられた同様の
尺度を計算することによって決定されてもよい。
【0054】
インター推定ユニット142は、インター符号化される現在のフレームまたはピクチャの
ブロックまたはより普遍的な形態の画像サンプルおよび2つ以上の既に復号されたピクチ
ャ231を入力として受け取る。次いで、インター予測は、参照ピクチャの参照画像サンプ
ルへの動きベクトルによって現在のフレームの現在の画像サンプルを記述する。インター
予測ユニット142は、現在の画像サンプルに関する1つ以上の動きベクトルを出力し、動き
ベクトルによって指し示される前記参照画像サンプルは、有利なことに、符号化される現
在の画像サンプルとその画像サンプルの参照画像サンプルとの間の差を最小化し、つまり
、前記参照画像サンプルは、残差画像サンプルを最小化する。次いで、現在のブロックに
関するプレディクタが、差分符号化のためにインター予測ユニット144によって提供され
る。
【0055】
次いで、現在のブロックとその現在のブロックの予測との間の差、つまり、残差ブロッ
ク105が、変換ユニット106によって変換される。変換係数107が、量子化ユニット108によ
って量子化され、エントロピー符号化ユニット170によってエントロピー符号化される。
そのように生成された符号化されたピクチャデータ171、つまり、符号化されたビデオビ
ットストリームは、イントラ符号化されたブロックおよびインター符号化されたブロック
ならびに(モードインジケーション、動きベクトルのインジケーション、および/またはイ
ントラ予測方向などの)対応するシグナリングを含む。変換ユニット106は、フーリエまた
は離散コサイン変換(DFT/FFTまたはDCT)などの線形変換を適用してもよい。空間周波数領
域へのそのような変換は、結果として得られる係数107が概して、より低い周波数に、よ
り高い値を有するという利点をもたらす。したがって、(ジグザグなどの)効果的な係数の
スキャンおよび量子化の後、値の結果として得られるシーケンスは、概して、ゼロの連続
の始めおよび終わりにいくらかのより大きな値を有する。これは、さらに効率的な符号化
を可能にする。量子化ユニット108は、係数値の解像度を下げることによって実際の不可
逆圧縮を実行する。次いで、エントロピー符号化ユニット170が、係数値に2進コードワー
ドを割り当ててビットストリームを生成する。エントロピー符号化ユニット170はまた、
シグナリング情報(
図1に示さず)を符号化する。
【0056】
図2は、ビデオデコーダ200を示す。ビデオデコーダ200は、特に、復号済みピクチャバ
ッファ230、インター予測ユニット244、およびブロック予測ユニットであるイントラ予測
ユニット254を含む。復号済みピクチャバッファ230は、符号化されたビデオビットストリ
ームから再構築された少なくとも1つの(単方向予測のための)または少なくとも2つの(双
方向予測のための)参照フレームを記憶するように構成され、前記参照フレームは、符号
化されたビデオビットストリームの現在のフレーム(現在復号されているフレーム)とは異
なる。イントラ予測ユニット254は、復号されるブロックの推定である予測ブロックを生
成するように構成される。イントラ予測ユニット254は、再構築されたブロック215または
バッファ216から取得される参照サンプルに基づいてこの予測を生成するように構成され
る。
【0057】
デコーダ200は、ビデオエンコーダ100によって生成された符号化されたビデオビットス
トリームを復号するように構成され、デコーダ200とエンコーダ100との両方が、符号化さ
れる/復号されるそれぞれのブロックに関して同一の予測を生成することが好ましい。復
号済みピクチャバッファ230、再構築されたブロック215、バッファ216、およびイントラ
予測ユニット254の特徴は、
図1の復号済みピクチャバッファ130、再構築されたブロック1
15、バッファ116、およびイントラ予測ユニット154の特徴と同様である。
【0058】
ビデオデコーダ200は、たとえば、ビデオエンコーダ100の逆量子化ユニット110、逆変
換ユニット112、およびループフィルタリングユニット120にそれぞれ対応する逆量子化ユ
ニット210、逆変換ユニット212、およびループフィルタリングユニット220のように、ビ
デオエンコーダ100にも存在するさらなるユニットを含む。
【0059】
エントロピー復号ユニット204は、受信された符号化されたビデオビットストリームを
復号し、それに対応して、量子化された残差変換係数209およびシグナリング情報を得る
ように構成される。量子化された残差変換係数209は、残差ブロックを生成するために逆
量子化ユニット210および逆変換ユニット212に供給される。残差ブロックは、予測ブロッ
ク265に足され、足したものが、復号されたビデオを得るためにループフィルタリングユ
ニット220に供給される。復号されたビデオのフレームは、復号済みピクチャバッファ230
に記憶され、インター予測のための復号されたピクチャ231として働くことができる。
【0060】
概して、
図1および
図2のイントラ予測ユニット154および254は、符号化される必要があ
るまたは復号される必要があるブロックに関する予測信号を生成するために、既に符号化
された領域からの参照サンプルを使用することができる。
【0061】
エントロピー復号ユニット204は、その入力として、符号化されたビットストリーム171
を受け取る。概して、ビットストリームは、まず解析され、つまり、シグナリングパラメ
ータおよび残差が、ビットストリームから抽出される。通常、ビットストリームのシンタ
ックスおよびセマンティックは、エンコーダおよびデコーダが相互運用可能なようにして
働いてもよいように規格によって定義される。上の背景技術の節において説明されたよう
に、符号化されたビットストリームは、予測残差を含むだけではない。動き補償予測の場
合、動きベクトルのインジケーションも、ビットストリームに符号化され、デコーダにお
いてビットストリームから解析される。動きベクトルのインジケーションは、動きベクト
ルが提供される参照ピクチャによっておよび動きベクトルの座標によって与えられてもよ
い。ここまでに、完全な動きベクトルを符号化することが、考察された。しかし、やはり
、現在の動きベクトルとビットストリーム内の前の動きベクトルとの間の差のみが、符号
化されてもよい。この手法は、隣接するブロックの動きベクトルの間の冗長性を利用する
ことを可能にする。
【0062】
参照ピクチャを効率的に符号化するために、H.265コーデック(ITU-T, H265, Series H:
Audiovisual and multimedia systems: High Efficient Video Coding)は、それぞれの
参照フレームをリストインデックスに割り当てる参照ピクチャのリストを提供する。次い
で、参照フレームは、対応する割り当てられたリストインデックスをビットストリームに
含めることによってビットストリーム内でシグナリングされる。そのようなリストは、規
格で定義されるか、またはビデオもしくはいくつかのフレームの集合の始めにシグナリン
グされてもよい。H.265においては、L0およびL1と呼ばれる、定義された参照ピクチャの2
つのリストがあることが留意される。次いで、参照ピクチャは、リスト(L0またはL1)を示
し、所望の参照ピクチャに関連するそのリスト内のインデックスを示すことによってビッ
トストリーム内でシグナリングされる。2つ以上のリストを提供することは、より優れた
圧縮の利点を有してもよい。たとえば、L0は、単方向にインター予測されたスライスと双
方向にインター予測されたスライスとの両方のために使用されてもよく、一方、L1は、双
方向にインター予測されたスライスのためにのみ使用されてもよい。しかし、概して、本
開示は、L0およびL1のリストのいかなる内容にも限定されない。
【0063】
リストL0およびL1は、規格で定義され、固定されてもよい。しかし、それらのリストを
ビデオシーケンスの始めにシグナリングすることによって、符号化/復号のより高い柔軟
性が実現されてもよい。したがって、エンコーダは、特定の参照ピクチャがインデックス
に従って順序付けられるようにしてリストL0およびL1を構成してもよい。L0およびL1のリ
ストは、同じ固定のサイズを有してもよい。概して、2つより多くのリストがあってもよ
い。動きベクトルは、参照ピクチャ内の座標によって直接シグナリングされてもよい。代
替的に、H.265にも規定されているように、候補動きベクトルのリストが、構築されても
よく、リスト内で特定の動きベクトルに関連するインデックスが、送信されうる。
【0064】
通常、現在のブロックの動きベクトルは、現在のピクチャ内または前に符号化されたピ
クチャ内の隣接するブロックの動きベクトルと相関がある。これは、隣接するブロックが
同様の動きをする同じ動く物体に対応する可能性が高く、物体の動きが時間の変化ととも
に急に変化する可能性が低いためである。それ故に、隣接するブロック内の動きベクトル
をプレディクタとして使用することは、シグナリングされる動きベクトルの差のサイズを
減らす。通常、動きベクトルプレディクタ(MVP)が、参照ピクチャ内の空間的に隣接する
ブロックからまたは時間的に隣接するもしくは同一位置のブロックからの既に符号化され
た/復号された動きベクトルから導出される。H.264/AVCにおいて、これは、3つの空間的
に隣接する動きベクトルの成分毎の中央値をとることによって行われる。この手法を使用
すると、プレディクタのシグナリングが必要とされない。参照ピクチャ内の同一位置のブ
ロックからの時間的なMVPは、H.264/AVCのいわゆる時間ダイレクトモードにおいてのみ考
慮される。H.264/AVCのダイレクトモードは、動きベクトル以外の動きデータを導出する
ためにも使用される。したがって、それらのモードは、HEVCのブロック合併の概念により
関連する。HEVCにおいては、MVPを暗黙的に導出する手法が、MVPのリストからのどのMVP
が動きベクトルの導出のために使用されるのかを明示的にシグナリングする動きベクトル
競合として知られる技術によって置き換えられた。HEVCの可変符号化四分木ブロック構造
は、潜在的なMVP候補としての動きベクトルを有するいくつかの隣接するブロックを持つ1
つのブロックをもたらすことができる。左の隣接するブロックを例に取ると、最悪の場合
、64x64のルマ符号化ツリーブロックがさらに分割されず、左のブロックが最大の深さま
で分割されるとき、64x64のルマ予測ブロックが、左に16個の4x4のルマ予測ブロックを有
することができる。
【0065】
高度動きベクトル予測(AMVP)が、そのような柔軟なブロック構造を考慮するために動き
ベクトル競合を修正するために導入された。HEVCの開発中に、初期のAMVPの設計は、符号
化効率と実装しやすい設計との間の良い折り合いをつけるために大幅に簡素化された。AM
VPの初期の設計は、プレディクタの3つの異なるクラスからの5つのMVP、つまり、空間的
に隣接するブロックからの3つの動きベクトル、3つの空間的なプレディクタの中央値、お
よび同一位置の時間的に隣接するブロックからのスケーリングされた動きベクトルを含ん
でいた。さらに、プレディクタのリストは、最も有望な動きプレディクタを第1の位置に
置くように順序を変更することによって、および最小限のシグナリングのオーバーヘッド
を保証するために冗長な候補を削除することによって修正された。AMVPの候補リストの構
築の最終的な設計は、以下の2つのMVP候補、つまり、a)5つの空間的に隣接するブロック
から導出される最大2つの空間的な候補MVP、b)両方の空間的な候補MVPが利用可能でない
かまたは同一であるとき、2つの時間的な同一位置のブロックから導出された1つの時間的
な候補MVP、およびc)空間的な候補、時間的な候補、または両方の候補が利用可能でない
とき、ゼロ動きベクトルを含む。動きベクトルの決定に関する詳細は、参照により本明細
書に組み込まれるV. Szeら(編)による書籍、High Efficiency Video Coding (HEVC): Alg
orithms and Architectures、Springer、2014の、特に第5章に見つけられうる。
【0066】
シグナリングのオーバーヘッドのさらなる増加なしに動きベクトルの推定をさらに改良
するために、エンコーダ側で導出され、ビットストリーム内で提供される動きベクトルを
さらに精緻化することが、有益であってもよい。動きベクトルの精緻化は、エンコーダか
らの支援なしにデコーダにおいて実行されてもよい。エンコーダは、そのデコーダループ
内で、対応する動きベクトルを得るために同じ精緻化を使用してもよい。動きベクトルの
精緻化は、参照ピクチャの整数ピクセル位置および分数ピクセル位置を含む探索空間にお
いて実行される。たとえば、分数ピクセル位置は半ピクセル位置または1/4ピクセルもし
くはさらなる分数位置であってもよい。分数ピクセル位置は、双一次補間などの補間によ
って整数(フルピクセル)位置から得られてもよい。
【0067】
現在のブロックの双方向予測においては、リストL0のそれぞれの第1の動きベクトルお
よびリストL1の第2の動きベクトルを使用して得られた2つの予測ブロックが、単一の予測
信号へと組み合わされ、これは、単方向予測よりも元の信号により優れた適応をもたらす
ことができ、結果として、より少ない残差情報と、おそらくは、より効率的な圧縮とをも
たらす。
【0068】
デコーダにおいては、現在のブロックが復号されているために現在のブロックが利用可
能でないので、動きベクトルの精緻化の目的で、現在のブロックの推定であり、既に処理
された(つまり、エンコーダ側で符号化されたおよびデコーダ側で復号された)画像の部分
に基づいて構築されるテンプレートが使用される。
【0069】
まず、第1の動きベクトルの推定MV0および第2の動きベクトルの推定MV1が、デコーダ20
0において入力として受け取られる。エンコーダ側100において、動きベクトルの推定MV0
およびMV1は、ブロックマッチングによって、および/または(同じピクチャ内のもしくは
隣接するピクチャ内の)現在のブロックに隣接するブロックの動きベクトルによって形成
された(マージリストなどの)候補のリストの探索によって得られてもよい。次いで、MV0
およびMV1は、ビットストリーム内でデコーダ側に有利にシグナリングされる。しかし、
概して、エンコーダの第1の決定段階はまた、シグナリングのオーバーヘッドを削減する
という利点をもたらすテンプレートマッチングによって実行されうることが留意される。
【0070】
デコーダ側200において、動きベクトルMV0およびMV1は、有利なことに、ビットストリ
ーム内の情報に基づいて得られる。MV0およびMV1が、直接シグナリングされるかもしくは
示差的にシグナリングされるかの何れであり、および/または動きベクトルのリスト(マー
ジリスト)のインデックスが、シグナリングされる。しかし、本開示は、ビットストリー
ム内で動きベクトルをシグナリングすることに限定されない。むしろ、動きベクトルは、
エンコーダの動作に対応して既に第1の段階においてテンプレートマッチングによって決
定されてもよい。第1の段階(動きベクトルの導出)のテンプレートマッチングは、第2の精
緻化の段階の探索空間とは異なる探索空間に基づいて実行されてもよい。特に、精緻化は
、より高い解像度(つまり、探索位置の間のより短い距離)を有する探索空間において実行
されてもよい。
【0071】
それぞれのMV0およびMV1が指し示す2つの参照ピクチャRefPic0およびRefPic1のインジ
ケーションが、デコーダにやはり提供される。参照ピクチャは、前の処理、つまり、それ
ぞれの符号化および復号の結果としてエンコーダおよびデコーダ側の復号済みピクチャバ
ッファに記憶される。これらの参照ピクチャのうちの1つが、探索によって動きベクトル
の精緻化のために選択される。動きベクトルの決定のための装置の参照ピクチャ選択ユニ
ットは、MV0が指し示す第1の参照ピクチャおよびMV1が指し示す第2の参照ピクチャを選択
するように構成される。選択に続いて、参照ピクチャ選択ユニットは、動きベクトルの精
緻化の実行のために第1の参照ピクチャが使用されるのかまたは第2の参照ピクチャが使用
されるのかを決定する。動きベクトルの精緻化を実行するために、第1の参照ピクチャ内
の探索領域が、動きベクトルMV0が指し示す候補位置の周りに定義される。探索領域内の
候補探索空間位置が、探索空間内でテンプレートマッチングを実行し、差分絶対値和(SAD
)などの類似性測定基準を決定することによってテンプレートブロックに最も類似したブ
ロックを発見するために分析される。探索空間の位置は、テンプレートの左上の角がマッ
チングされる位置を表す。上述のように、左上の角は、単なる慣例であり、概して、中央
の点などの探索空間の任意の点が、マッチング位置を表すために使用されうる。
【0072】
上述の文献JVET-D0029によれば、デコーダ側動きベクトル精緻化(DMVR)は、2つのそれ
ぞれの参照ピクチャRefPict0およびRefPict1を指し示す初期動きベクトルMV0およびMV1を
入力として有する。これらの初期動きベクトルは、RefPict0およびRefPict1においてそれ
ぞれの探索空間を決定するために使用される。さらに、動きベクトルMV0およびMV1を使用
して、以下の通り、MV0およびMV1によって指し示された(サンプルの)それぞれのブロック
AおよびBに基づいてテンプレートが構築される。
Template = function ((Block A, Block B))
【0073】
functionは、サンプル毎の加重和と組み合わされたサンプル切り抜き演算であってもよ
い。次いで、テンプレートは、それぞれの参照ピクチャ0および1においてMV0およびMV1に
基づいて決定された探索空間内でテンプレートマッチングを実行するために使用される。
それぞれの探索空間内の最良のテンプレートの一致を決定するためのコスト関数は、SAD(
Template, Block candA')であり、ブロックcandA'は、MV0によって与えられる位置にかか
る探索空間内の候補MVによって指し示される候補符号化ブロックである。
図3は、最も一
致するブロックA'の決定および結果として得られる精緻化された動きベクトルMV0'を示す
。それに対応して、
図3に示されるように、同じテンプレートが、最も一致するブロックB
'およびブロックB'を指し示す対応する動きベクトルMV1'を発見するために使用される。
言い換えると、テンプレートが初期動きベクトルMV0およびMV1によって指し示されたブロ
ックAおよびBに基づいて構築された後、精緻化された動きベクトルMV0'およびMV1'が、テ
ンプレートを用いたRefPic0およびRefPic1上の探索によって発見される。
【0074】
動きベクトル導出技術は、フレームレートアップコンバージョン(FRUC)とも呼ばれるこ
とがある。概して、初期動きベクトルMV0およびMV1は、エンコーダおよびデコーダが動き
ベクトルの精緻化のために同じ初期点を使用してもよいことを保証するためにビットスト
リーム内で示されてもよい。代替的に、初期動きベクトルは、1つ以上の初期候補を含む
初期候補のリストを提供することによって得られてもよい。それらの初期候補の各々に関
して、精緻化された動きベクトルが決定され、最後に、コスト関数を最小化する精緻化さ
れた動きベクトルが選択される。
【0075】
本発明は、
図3を参照して上で説明されたテンプレートマッチングに限定されないこと
がさらに留意される。
図4は、単方向予測にも適用可能である代替的なテンプレートマッ
チングを示す。詳細は、文献JVET-A1001、特に、http://phenix.it-sudparis.eu/jvet/に
おいてアクセス可能な、Jianle Chenらによる「Algorithm Description of Joint Explor
ation Test Model 1」と題された文献JVET-A1001の節「2.4.6. Pattern matched motion
vector derivation」に見つけられうる。このテンプレートマッチングの手法のテンプレ
ートは、現在のフレーム内の現在のブロックに隣接するサンプルとして決定される。
図1
に示されるように、現在のブロックの上および左の境界に隣接する既に再構築されたサン
プルが、取得されてもよく、「L字形テンプレート」と呼ばれる。
【0076】
図5は、さらに使用されてもよい別の種類の動きベクトルの導出を示す。動きベクトル
の導出プロセスへの入力は、動きベクトルの導出が適用されるか否かを示すフラグである
。暗黙的に、導出プロセスへの別の入力は、(時間的にまたは空間的に)隣接する既に符号
化された/再構築されたブロックの動きベクトルである。複数の隣接するブロックの動き
ベクトルが、動きベクトルの導出の初期探索ステップのための候補として使用される。プ
ロセスの出力は、それぞれ、MV0'(双方向予測が使用される場合は、おそらくMV1'も)なら
びに対応する参照ピクチャインデックスrefPict0およびおそらくはrefPict1である。次い
で、動きベクトルの精緻化段階は、上述のように、テンプレートマッチングを含む。精緻
化された1つ(単方向予測)または複数(双方向予測/マルチフレーム予測)の動きベクトルを
発見した後、現在のブロックのプレディクタが、(双方向/マルチ予測に関しては重み付け
されたサンプル予測によって、そうでない場合は、精緻化されたMVによって指し示される
サンプルを参照することによって)構築される。
【0077】
本発明は、上述の2つのテンプレートマッチング方法に限定されない。例として、(文献
JVET-A1001にも記載されている)バイラテラルマッチングと呼ばれる第3のテンプレートマ
ッチング方法も、動きベクトルの精緻化のために使用されることが可能であり、本発明が
、同様に当てはまる。バイラテラルマッチングによれば、2つの異なる参照ピクチャ内の
現在のブロックの動きの軌跡に沿った2つのブロックの間の最良の一致が、探索される。
連続的な動きの軌跡の仮定の下で、2つの参照ブロックを指し示す動きベクトルMV0および
MV1は、現在のピクチャと2つの参照ピクチャとの間の時間的距離、すなわち、TD0およびT
D1に比例する。バイラテラルマッチングにおいては、SAD(Block cand0', Block cand1')
などのコスト関数が、使用されてもよく、ブロックcand0'が、MV0によって指し示され、
ブロックcand1'が、MV1によって指し示される。
【0078】
本発明の実施形態によれば、予測ブロックに関する動きベクトルの決定のための装置が
提供され、装置は処理回路を含む。処理回路は、予測ブロックに関して初期動きベクトル
およびテンプレートを取得し、探索空間内での前記テンプレートとのテンプレートマッチ
ングによって初期動きベクトルの精緻化を決定するように構成される。前記探索空間は、
初期動きベクトルによって与えられる位置にあり、1つ以上の分数サンプル位置を含み、
探索空間に属する分数サンプル位置の各々は、ウィンドウ内の整数サンプルのみを評価す
る予め定義されたタップサイズのフィルタを用いる補間フィルタリングによって得られ、
前記ウィンドウは、前記探索空間におけるテンプレートマッチングのためにアクセス可能
な整数サンプルによって形成される。
【0079】
処理回路600が、
図6に示される。処理回路は、任意のハードウェアを含んでもよく、構
成は、両方の組み合わせの任意の種類のプログラミングまたはハードウェアの設計によっ
て実装されてもよい。たとえば、処理回路は、上述のステップを実装する対応するソフト
ウェアをともなう汎用プロセッサなどの単一のプロセッサによって形成されてもよい。一
方、処理回路は、ASIC(特定用途向け集積回路)、またはDSP(デジタル信号プロセッサ)のF
PGA(フィールドプログラマブルゲートアレイ)などの特別なハードウェアによって実装さ
れてもよい。
【0080】
処理回路は、上述の動きベクトルの導出を実行するために相互に接続された上述のハー
ドウェア構成要素のうちの1つ以上を含んでもよい。処理回路600は、2つの機能を、つま
り、1つの初期動きベクトル(または双方向/マルチ予測が使用される場合は複数の初期動
きベクトル)およびテンプレートを取得すること610と、動きベクトルの精緻化620とを実
装する計算論理を含む。これらの2つの機能は、同じハードウェア上に実装されてもよく
、または初期動きベクトルおよびテンプレート決定ユニット610ならびに動きベクトル精
緻化ユニット620などのハードウェアの別々のユニットによって実行されてもよい。処理
回路600は、再構築された参照ピクチャサンプルが記憶される外部メモリ650に通信可能な
ように接続されてもよい。さらに、処理回路600は、外部メモリから転送され、同時に処
理されるブロックに関する動きベクトルの決定のために使用されるウィンドウ内のサンプ
ルをバッファリングする内部メモリ640をさらに含んでもよい。処理回路は、集積回路と
して単一のチップ上に具現化されてもよい。
【0081】
処理回路は、
図1および
図2を参照して説明されたエンコーダおよび/またはデコーダの
さらなる機能を実装してもよいことが留意される。内部メモリは、キャッシュまたはライ
ンメモリなどのオンチップメモリであってもよい。チップメモリは、計算のスピードを上
げるためにエンコーダ/デコーダのチップ上に実装されることが有利である。チップのサ
イズは制限されるので、通常、オンチップメモリは小さい。一方、外部メモリは、外部メ
モリは、サイズが非常に大きいことが可能であるが、外部メモリへのアクセスは、より多
くのエネルギーを消費し、アクセスは、ずっと低速である。通常、すべての必要な情報は
、計算が実行される前に外部メモリからオンチップメモリに取り出される。最悪の場合の
外部メモリアクセス(またはメモリバスを設計するときにプロビジョニングされる必要が
ある帯域幅)は、フレームまたは符号化ユニットを復号する間の外部メモリとチップとの
間のメモリ転送の最も多い可能な量を表す。メモリ(特に外部メモリ)は、通常、予め定義
されたブロック単位でのみアクセスされうる。言い換えると、概して、単一のピクセルに
アクセスすることはできず、その代わりに、最小単位(たとえば、8x8)がアクセスされな
ければならない。大きなオンチップメモリはコストを増やすので、オンチップメモリのサ
イズも、重要な設計の考慮事項である。
【0082】
言い換えると、上述の装置は、集積回路に組み込まれた内部メモリと、前記ウィンドウ
内にある整数サンプルを外部メモリから内部メモリにフェッチするためのメモリアクセス
ユニット(インターフェース)とをさらに含む集積回路であってもよい。
【0083】
上で使用された用語「予測ブロック」は、予測されるべき現在のブロックを指す。予測
ブロックは、画像を(たとえば、符号化ツリーユニットCTUをより小さな単位に階層的に区
分けすることによって)等しいサイズのまたは異なるサイズのブロックに下位分割するこ
とによって得られてもよい画像内のブロックである。方形またはより広く矩形は現在のエ
ンコーダ/デコーダにおいても使用される典型的な形状であるので、ブロックは、これら
の形状であってもよい。しかし、本開示は、ブロックのいかなるサイズ/形状によっても
限定されない。
【0084】
処理回路を含む装置は、エンコーダ、またはデコーダ、またはさらにはそのようなエン
コーダもしくはデコーダを含む装置、たとえば、記録デバイスおよび/もしくは再生デバ
イスであってもよい。
【0085】
分数サンプル位置は、
図1に示されたように符号化された参照ピクチャを再構築するこ
とによって得られる実際のピクチャサンプル位置の間の位置である。したがって、分数位
置は、最も近い整数位置に基づく補間によって取得されなければならない。H.265によっ
て使用される例示的な補間フィルタリングの詳細は、V.Szeらによる書籍High Efficiency
Video Coding(HEVC)、Springer、2014の節「5.3 Fractional Sample Interpolation」に
見つけられうる。
【0086】
通常、補間フィルタリングは、異なる分数ペル(サンプル)位置を生成するために異なる
フィルタを適用する。例として、H.265ビデオ圧縮規格においては、以下の1Dの分離可能
なフィルタが、1/4ペルおよび半ペル位置を生成するために適用される。
【表1】
【0087】
上の表から分かるように、補間フィルタリングは、フィルタのタップ(表の係数の数)に
対応する、分数ペル位置の周りのいくつかのサンプルを必要とする。半ペル位置を生成す
るために上の例示的なフィルタを使用すると、左/上および右/下から4つの整数サンプル
が、必要とされる。補間フィルタの長さは、(7タップである)1/4ペルサンプル位置に関し
ては、(8タップである)半ペルサンプル位置に関する長さと異なることに留意されたい。
【0088】
本発明の一部の実施形態において、予め定義されたタップサイズの補間フィルタは、前
記探索空間におけるテンプレートマッチングのためにアクセス可能な整数サンプルによっ
て与えられるウィンドウ内の整数サンプルのみを評価する。ウィンドウは、特定の予測ブ
ロックの計算において実際に使用されるものよりもずっと多くのサンプルを含んでもよい
。これは、通常、精緻化の探索動作が、サンプルのうちのどの部分が探索動作の漸進的な
進行に応じて評価されないのかに従って、(総当たりの探索方法とは対照的に)高速な探索
方法を使用して実施されるという事実が原因である。結果として、テンプレートマッチン
グの反復の回数および精緻化の探索動作のための計算に使用されるサンプルは、各予測ブ
ロックに関して変わってもよい。
【0089】
本開示は、補間フィルタリングが分数サンプル位置に適用される必要があることを考慮
して、精緻化の探索動作中に使用されうる整数サンプルに関する上限(領域の境界)を設定
する。これは、用語「テンプレートマッチングのためにアクセス可能な整数サンプル」に
対応する。どのサンプルが実際にアクセスされるかは、以下で例示されるように、探索空
間を形成する方法に依存する。
【0090】
図7は、符号化ブロック(予測ブロック)およびウィンドウの対応するサンプルを示す。
図7に示されるサンプルは、参照ピクチャサンプルであり、ここで、符号化ブロックは、
実際には、参照ピクチャにおいて動きベクトルが導出されるべき現在のフレーム内の現在
のブロックにサイズおよび位置が対応するブロックであることが留意される。したがって
、
図7の符号化ブロックは、実際には、プレディクタが探索されるブロックと同一位置の
ブロックである。しかし、簡単さの理由で、このブロックは、以下で「符号化ブロック」
と呼ばれる。
【0091】
この例において、精緻化されていない動きベクトルMV0は、整数サンプル位置を指し示
す(初期動きベクトルは分数サンプル位置を指し示すことが可能であり、単に図示を容易
にするために、整数サンプル位置が選択される)。動きベクトルの精緻化の探索の粒度は1
整数サンプルであり、つまり、開始点が整数サンプルであるので、整数サンプル点のみが
探索される。探索は、この例においては、徐々に発展する探索空間において実行される。
これは、探索空間が、既にテストされた位置に関するコスト関数の観点で最良の方向に応
じて新しい探索位置を追加することによって反復の度に向上させられることを意味する。
【0092】
そのような手法が、
図8に単純化して示される。
図8において、初期動きベクトルは、中
心点810を指し示していた。探索空間は、初期動きベクトルの位置の周りに徐々に構築さ
れる。第1のステップにおいて、初期動きベクトルによって指し示される位置810の上、下
、左、および右に直接隣接する4つの位置ならびに初期動きベクトルによって指し示され
る位置810が、テストされる。テストされた5つの点の中で最も低いコスト関数をもたらす
方向に基づいて、テストされるさらなる位置が、探索空間に追加される。この例において
、最も低いコスト関数は、右の点において見られることが可能であり、したがって、探索
空間は、第2のステップにおいて水平右方向に3つのさらなる点によって拡張された。第2
のステップにおいて、最も低いコスト関数は、(第1のステップの最もコストの低い点に対
して)右の点において見られることが可能であり、その結果、水平右方向に3つの点だけ探
索空間をさらに拡張する。第3のステップにおいて、最も低いコスト関数は、再び、ステ
ップ2の最もコストの低い点に対して右の点において観察され、水平右方向にさらに3つの
点だけ探索空間を拡張する結果となる。
図8の例によれば、3つのさらなるステップが、上
方向、上方向、および右方向にその順序で実行される。例においては、(5つの探索点から
なる)ダイヤモンド形のパターンが、各反復のために使用され、探索空間が、各ステップ
において欠けている探索点をそろえるために拡張される。
【0093】
探索空間の決定の各反復において、探索空間は、1つ以上の整数サンプル位置だけ大き
くなってもよい。ここで、探索の反復の最大回数が4である例において
図7に戻る。最大4
回の反復が可能であるので、探索空間の漸進的な発展が左に向かう場合、左に描かれたサ
ンプルのすべてが、探索動作を実行するためにメモリから取り出される必要がある。同様
の、上への4サンプルの拡張が、必要とされる。したがって、探索空間は、精緻化されたM
Vが何れの方向にも動くことができるので両方の方向(左右および上下)に拡張され、ハー
ドウェアの実装は、精緻化の探索の適用前に、必要とされてもよいサンプルのすべてが外
部メモリからフェッチされることを必要とする。探索空間が下または右方向に発展する場
合、符号化ブロック(予測ブロック)のサイズに対応するテンプレートとのテンプレートマ
ッチングがそれらのサンプルの一部にアクセスする必要があるので、4つのさらなるサン
プルによる拡張が必要である。さらに、ハードウェアの実装は、概して、不規則な形状を
フェッチすることができない(矩形のアクセスがより実現しやすい)ので、角のサンプル(
たとえば、右上)も、メモリからフェッチされなければならない。
【0094】
上述の反復的な探索空間の発展は例示的であるに過ぎず、各反復において探索空間を拡
張するためのルールおよび点の数は異なる、つまり、異なる方法で指定されてもよいこと
が留意される。
【0095】
また、
図8は、上述の外部メモリアクセスのルールが原因で発生してもよい筋書きを示
す。外部メモリからフェッチされるサンプルの数は、計算ステップにおいて実際に使用さ
れるサンプルよりもずっと多い。ここでのテンプレートが(簡単さの理由で)1サンプルの
みの大きさであると仮定すると、白い円は、外部メモリから取り出されるサンプルおよび
実際に使用される塗りつぶされたサンプルを表す。しかし、現在のブロックが処理され始
めるときには実際に必要とされるサンプルがまだ知られていないので、外部メモリへのア
クセスの回数が低く保たれるべきである場合、そのような冗長性が必要である。
【0096】
探索空間はまた、異なる方法で、たとえば、初期動きベクトルによって指し示される位
置にある安定した形状として定義されてもよいことが留意される。形状は、方形、矩形、
ダイヤモンドなどの任意の形状であってもよい。
【0097】
図9は、探索空間が分数サンプルも含んでもよい例を示す。
図7および
図8において、動
きベクトルの探索は、整数サンプルに対して実行され、結果として、アクセスウィンドウ
に含まれる実線のより大きな点によって示される位置をもたらした。このとき、探索が半
ペルの解像度を有するサンプル(より小さな実線の点)に対して実行される場合、補間フィ
ルタが対称的であり、8タップを有すると仮定すると、右側に示される分数サンプルを生
成するために、サンプルの3つのさらなる列も、メモリから取り出される必要がある。さ
らに、分数ピクセルがウィンドウの左側にあってもよいように探索動作が対称的である(
左および右に反復的に移動しうる)という事実が原因で、同じことが、左側に適用されな
ければならない(ピクセルの3列分の拡張)。
【0098】
結果として、補間フィルタリングが原因で、メモリから取り出される必要があるサンプ
ルの数は、さらに増やされ、今や分数補間が原因で追加された位置を表す点線の円も含む
破線によって示される。同様に、垂直方向の半ペル位置が探索されることも許す場合、メ
モリからアクセスされるサンプルのウィンドウは、上側および下側の垂直方向にも拡張さ
れる必要がある(
図9の例には示されていない)。
【0099】
メモリアクセスのウィンドウは、予測ブロック(符号化ブロック)に関する動きベクトル
の探索を実行するためにメモリから取り出される必要があるサンプルのすべてを包含する
矩形として定義される。メモリアクセスのウィンドウは、必要とされる実際のサンプルの
みを含むだけでなく、動きベクトルの探索動作中にアクセスされる可能性がある残りのサ
ンプルのすべても含む。
図9の例において、動きベクトルの探索は、右に移動した。しか
し、それは、左方向にも移動されることができ、これは、前もって知られていない。した
がって、外部メモリに何度もアクセスしないために、メモリアクセスのウィンドウ(また
はアクセスウィンドウ)は、それぞれの処理によってアクセス可能であるすべてのサンプ
ルを含む。
【0100】
図10は、動きベクトルの精緻化のためのメモリアクセスのウィンドウを示す。中心点10
10は、精緻化されていない入力動きベクトル(ビットストリームからかまたは上述のよう
に既に実行されたテンプレートマッチングもしくは候補のテストによってかの何れで得ら
れた初期動きベクトル)によって指し示される位置である。探索空間に分数位置を追加す
ることが原因であるウィンドウサイズのさらなる増大を避けるために、動きベクトルの精
緻化は、以下のルールに従って実行される。
A) 精緻化のためのメモリアクセスのウィンドウが、精緻化されていない初期動きベク
トルの座標(つまり、初期動きベクトルによって指し示される位置)の周りに定義される。
ウィンドウは、探索空間におけるテンプレートマッチングによって動きベクトルの精緻化
を実行するためにメモリからアクセスされる必要があるピクセルサンプルの最大数を特定
する。
1. この例においては、簡単さのために、現在のブロックのサイズ(符号化ブロック
サイズ)は、1x1サンプルであるが、現在のブロックのサイズは、より大きいことが可能で
あり、概してより大きい。
2. メモリアクセスのウィンドウは、図に示される左/右から4サンプルおよび上/下
から4サンプルなどの符号化ブロックの周りの拡張として定義される。
B) 分数ピクセル座標が、補間のために必要なサンプルがメモリアクセスのウィンドウ
内にある場合にのみMVの精緻化のためにアクセスされる。
【0101】
要件Bは、整数サンプルに対する動きベクトルの精緻化のために必要なサンプルによっ
て定義されるアクセスウィンドウがさらに拡張されないことを保証する。このルールに従
ってアクセス可能な実際の分数サンプルは、補間フィルタのサイズおよび形状によって与
えられる。したがって、
図10において、6タップの補間フィルタを仮定すると、点線が、
分数サンプルがあってもよい領域を示す。しかし、
図12を参照して示されるように、さら
なる分数ピクセル位置が許容可能であってもよいことが留意される。特に、アクセスウィ
ンドウを超える拡張を必要としない垂直フィルタリングのみまたは水平フィルタリングの
みを必要とする分数位置は、引き続き使用されてもよい。したがって、分数位置を
図10に
示される分数サンプルウィンドウに制限することは、一部の応用に関しては行き過ぎた制
限であってもよい。
【0102】
言い換えると、実施形態によれば、メモリアクセスウィンドウは、整数サンプルに対し
て実行される動きベクトルの精緻化によってアクセス可能であるすべてのサンプルを含み
、整数サンプルに対して実行される動きベクトルの精緻化によってアクセス可能でないサ
ンプルを含まない。したがって、分数サンプルが動きベクトルの精緻化のために使用され
る場合、それらの分数サンプルは、追加のサンプルを必要としない方法で取得される。
【0103】
図10の例において、これは、予め定義された補間フィルタの形状およびサイズに関して
アクセスウィンドウの外のサンプルを必要としない分数サンプルのみを許すことによって
実現される。点線の分数サンプルウィンドウは、アクセスウィンドウ内で拡張する。Tが
補間フィルタのタップの数である場合、次いで、分数サンプルのウィンドウの境界は、ア
クセスウィンドウの境界のサンプルからfloor(T/2)-1の距離1020内の整数サンプルによっ
て定義される。特に、この例においては、T=6であり、T/2=3であり、アクセスウィンドウ
の境界のサンプルから分数ウィンドウのサンプルまでの距離は、T/2-1=2整数サンプルで
ある。
【0104】
しかし、分数ウィンドウのこの決定は、単なる例であることが留意される。概して、ウ
ィンドウは、異なる形態およびサイズを持ってもよい。垂直方向および水平方向の補間は
、異なるサイズのフィルタによって行われてもよい。さらに、一部の分数位置は、概して
分離可能または分離不可能であってもよい垂直方向と水平方向との両方のフィルタを必要
としてもよい。
【0105】
代替的に、補間フィルタは、
図10の点線のウィンドウの外の分数位置に関して変更され
うる(たとえば、少なくとも1つの方向のタップの数が減らされる)。しかし、実装の目的
でおよび補間の質の理由で、そのような解決策は、比較的魅力的でなくてもよい。
【0106】
メモリアクセスのためのウィンドウは、様々な方法で定義されてもよい。
図11は、メモ
リアクセスウィンドウが(初期動きベクトルによって与えられる符号化ブロックの位置に
対応する)符号化ブロックの左/右または上/下の拡張EXTとして定義される例を示す。拡張
の量は、符号化または予測ブロックのサイズおよび形状に依存してもよい。
図11において
、拡張は、各方向(上、下、左、右)に4サンプルの長さである。しかし、EXTは、(垂直方
向および水平方向に異なるサイズを有してもよい)ブロックサイズならびに/または探索空
間の形態およびサイズに応じて異なる方向に関して異なる値をとる可能性もあることが留
意される。
【0107】
たとえば、例によれば、ウィンドウは、予測ブロックの初期動きベクトルに対してN整
数サンプル列およびM整数サンプル行として定義され、NおよびMの少なくとも一方は、非
ゼロの整数値である(両方とも整数であるが、NおよびMの一方はゼロでありうる)。
図11に
おいては、NおよびMが示されるが、同じサイズを有する。上述のように、NおよびMは、異
なるサイズを有してもよい。NおよびMは、整数であり、それらのうちの少なくとも一方は
、非ゼロである。パラメータNおよびMならびにテンプレートの形態およびサイズを取得す
ると、アクセスウィンドウのサイズが決定されうる。特に、テンプレートがT1行およびT2
列を有する場合、メモリアクセスウィンドウのサイズは、(N+T2+N)行および(M+T1+M)列と
して計算されてもよい。これは、探索が左または右にNサンプル進み、水平方向に2Nサン
プルを生じ、上または下にMサンプル進み、垂直方向に2Mサンプルを生じうるからである
。
【0108】
一方、
図7および
図8を参照して説明された手法のような探索空間の構築の特定の手法に
関して、メモリアクセスウィンドウは、後で左、右、上、および下の変位の最大量に変換
されうる精緻化の反復(探索空間の構築の反復)の最大回数および(各反復において実現可
能な最大のサンプルの距離の観点で見た)反復のステップサイズによって定義されうる。
したがって、メモリアクセスウィンドウは、各方向の最大変位として定義される。たとえ
ば、各反復が探索空間を最大1整数サンプル位置進めてもよい4回の反復は、EXT=4という
結果になる。
【0109】
言い換えると、この例によれば、処理回路は、最も新しい反復における探索空間のより
多くの最も一致する位置のうちの1つ(または複数)によって与えられる方向に反復的に拡
張される探索空間における前記テンプレートとのテンプレートマッチングによって初期動
きベクトルの精緻化を決定するように構成され、ウィンドウは、反復の予め定義された最
大回数によって定義される。
【0110】
概して、本開示は、探索空間のいかなる特定の形状または形態または決定の種類にも限
定されないことが留意される。別の例において、探索空間は、サブウィンドウ内の各分数
サンプルの補間フィルタリングのためにアクセスされるすべての整数サンプルが予め定義
されたタップサイズの補間フィルタに関してウィンドウ内にあるような前記ウィンドウの
矩形のサブウィンドウである。同様の例が、
図10を参照して既に上で検討された。
図10に
おいて、探索空間は、9×9の整数サンプルと、初期動きベクトルの位置がサンプルの中心
にある5×5の整数サンプルによって形成される領域内にある分数サンプルとによって与え
られる。
【0111】
メモリアクセスウィンドウの定義は、おそらくは、対応するシグナリングパラメータを
ビットストリームに含める(たとえば、パラメータEXTまたはパラメータNおよびM)ために
妥当であってもよい。しかし、メモリアクセスウィンドウのサイズは、規格で定義される
かまたは(テンプレートのサイズ、予測ブロックのサイズ、画像の解像度などの)その他の
符号化パラメータに基づいて導出可能であってもよい。
【0112】
図12は、異なる分数ピクセル位置による例を示す。この例に関しては、テンプレートの
サイズが(簡単にするために)1x1サンプルであり、6タップの補間フィルタが各半ペル位置
に関して使用されると仮定される。例において、探索される探索座標は、それらの探索座
標が調べられる順序、つまり、テンプレートマッチングの探索が実行される順序を示す数
字1~6によって表される。位置1および2は、半ペル位置である(つまり、それらの位置は
、2つの整数サンプル位置の中間にあり、ペルは、ピクセルの省略形であり、ピクセルと
いう用語は、本出願においてはサンプルという用語と交換可能なように使用される)。位
置1および2は、補間フィルタリングのための必要な拡張がメモリアクセスのウィンドウ内
にあるので調べられる(位置1から斜め左上の3整数サンプルおよび右下の3整数サンプル、
位置2の右の3整数サンプルおよび左の3整数サンプル)。分数サンプル点1は水平方向と垂
直方向との両方の拡張を必要とし、それらの両方がウィンドウ内にあることに留意された
い。位置2は、右および左への拡張のみを必要とする。
【0113】
位置3、4、および5は、整数サンプル(整数ペル)位置である。それらの位置は、補間フ
ィルタリングのための拡張が必要ないので探索されうる。分数(半ペル)サンプル6も、垂
直方向の拡張のみ(それぞれ上および下に3整数位置分)が必要であり、それがまだウィン
ドウ内にあるのでアクセスされうる。水平方向の拡張は、必要ない。やはり、上の実装に
おいて、分数サンプル点は、必要な補間の外延がメモリアクセスウィンドウ内にある場合
にのみアクセスされる。
【0114】
言い換えると、例によれば、補間フィルタは、分数位置が整数サンプルのそれぞれの水
平方向のラインまたは垂直方向のライン上にあるとき、K個の水平方向または垂直方向の
何れの整数サンプルも評価する1次元フィルタである。
【0115】
2つの水平方向にまたは2つの垂直方向に隣接する整数位置の間のライン上にあるそのよ
うな1次元の分数位置(たとえば、
図12の位置2および6)は、水平方向のみまたは垂直方向
のみの補間のための拡張を必要とし、つまり、それぞれの水平方向のまたは垂直方向の補
間フィルタのみによってフィルタリングされるべきである。できるだけ多くの分数位置を
利用することができるために、
図10の例において許された分数位置に加えて、
図12に示さ
れた位置6などのさらなる1次元の位置を追加することが有利であってもよい。
【0116】
言い換えると、探索空間は、
- サブウィンドウの上もしくは下に隣接し、整数サンプルの水平方向のライン上にあ
るか、または
- サブウィンドウの左側もしくは右側に隣接し、整数サンプルの垂直方向のライン上
にあるか
の何れの、分数サブウィンドウ(
図10の点線のウィンドウを参照)の外にある分数位置をさ
らに含む。
【0117】
一部の分数サンプルは、水平方向または垂直方向の所与の方向のさらなる整数サンプル
を必要としてもよいことが留意される。これは、予め定義されたフィルタのサイズがそれ
ぞれの方向にその位置を生成するために異なる場合に当てはまってもよい。
【0118】
図13は、アクセスされることができない分数半ペル位置1および2の例を示す。それらの
位置は、
図10に示されたサブウィンドウの外にある。この例に関しては、6タップの補間
フィルタが、半ペル位置のために使用されると仮定される。半ペル探索点1および2は、水
平方向または垂直方向の補間フィルタリングがウィンドウの外にあるサンプルを必要とす
るので、探索されることを許されない。位置1をフィルタリングするために水平方向のフ
ィルタによって必要とされ、位置2をフィルタリングするために垂直方向のフィルタによ
って必要とされる整数サンプル位置が、
図13において破線によって示される。見て分かる
ように、破線の円は、メモリアクセスウィンドウ内にない整数位置に対応する。
【0119】
上の例において、メモリアクセスウィンドウは、動きベクトルの精緻化プロセス中に(
補間フィルタリングのためにさえも)ウィンドウの外のサンプルがアクセスされないよう
に定義された。言い換えると、メモリアクセスウィンドウは、動きベクトルの精緻化およ
び補間のためにアクセスされる必要があってもよいサンプルを包含する最も小さなウィン
ドウである。さらに、メモリアクセスウィンドウは、整数サンプル位置に基づいて動きベ
クトルの精緻化のために必要なサンプルに応じて設計された。次いで、さらなる整数位置
によるそのようなアクセスウィンドウのさらなる拡張を必要としない分数位置のみが、許
される。
【0120】
上の例は、半ペル補間に関して与えられたことが留意される。しかし、本開示は、それ
らに限定されない。概して、1/4、1/8などの任意の分数位置が、使用される、つまり、対
応する補間フィルタを使用して補間されてもよい。
【0121】
図6に関連して説明された処理回路が、
図1および
図2に示されたようにエンコーダおよ
び/またはデコーダにおいて使用されてもよい。
【0122】
特に、予測ブロックに分割されたビデオ画像をビットストリームに符号化するための符
号化装置が、提供されてもよく、符号化装置は、処理回路を含む、上述の予測ブロックに
関する動きベクトルの決定のための装置と、予測ブロックと決定された動きベクトルによ
って指定される位置に予測ブロックによって与えられるプレディクタとの間の差を符号化
するため、ならびに符号化された差および初期動きベクトルを含むビットストリームを生
成するための符号化回路とを含む。
【0123】
図1を参照して上で説明されたエンコーダのさらなるユニットおよび機能も、処理回路
に設けられるかまたは実装されてもよい。
【0124】
それに対応して、予測ブロックに分割されたビデオ画像をビットストリームから復号す
るための復号装置が、提供されてもよく、復号装置は、初期動きベクトル、および予測ブ
ロックと精緻化された動きベクトルによって指定される位置に予測ブロックによって与え
られるプレディクタとの間の符号化された差を、ビットストリームから解析するための解
析ユニットと、処理回路を含む、上述の予測ブロックに関する精緻化された動きベクトル
の決定のための装置と、解析された差と、精緻化された動きベクトルに基づく位置に予測
ブロックによって与えられるプレディクタとの和として予測ブロックを再構築するための
復号回路とを含む。たとえば、プレディクタは、精緻化された動きベクトルの位置によっ
て直接与えられてもよい。しかし、(フィルタリング、切り抜き、さらなる精緻化などの)
動きベクトルをさらに変更してもよい現在の予測ブロックの動きベクトルを取得するさら
なる処理ステップが、あってもよい。
【0125】
図2を参照して上で説明されたデコーダのさらなるユニットおよび機能も、処理回路に
設けられるかまたは実装されてもよい。
【0126】
さらに、本発明の実施形態が、動きベクトルの精緻化を実行するための処理回路を有す
る装置の観点で説明された。しかし、本開示は、それに限定されず、上述の処理回路が実
行のために構成される処理ステップに対応する処理ステップを含む対応する方法も提供す
る。
【0127】
特に、予測ブロックに関する初期動きベクトルおよびテンプレートを取得するステップ
、探索空間において前記テンプレートとのテンプレートマッチングによって初期動きベク
トルの精緻化を決定するステップを含み、前記探索空間が、初期動きベクトルによって与
えられる位置にあり、1つ以上の分数サンプル位置を含み、探索空間に属する分数サンプ
ル位置の各々が、ウィンドウ内の整数サンプルのみを評価する予め定義されたタップサイ
ズのフィルタを用いる補間フィルタリングによって得られ、前記ウィンドウが、前記探索
空間におけるテンプレートマッチングのためにアクセス可能な整数サンプルによって形成
される、予測ブロックに関する動きベクトルの決定のための方法が提供される。
【0128】
タップは、フィルタ係数に対応する。タップサイズは、フィルタ次数に対応する。ここ
で、フィルタは、線形フィルタであると仮定される。一部の例において、フィルタは、対
称的であり、つまり、対称的な係数を持っていてもよい。しかし、本開示は、対称フィル
タ、または線形フィルタ、またはいかなる種類のフィルタにも限定されない。概して、分
数位置は、隣接するサンプルに基づいて任意の方法で取得されてもよい。
【0129】
さらに、予測ブロックに分割されたビデオ画像をビットストリームに符号化するための
符号化方法が、提供され、符号化方法は、上述の方法のいずれかに係る予測ブロックに関
する動きベクトルを決定するステップと、予測ブロックと決定された動きベクトルに基づ
く位置に予測ブロックによって与えられるプレディクタとの間の差を符号化し、符号化さ
れた差および初期動きベクトルを含むビットストリームを生成するステップとを含む。
【0130】
符号化方法は、
図1のブロックの機能を参照して説明されたステップをさらに含んでも
よい。
【0131】
さらに、予測ブロックに分割されたビデオ画像をビットストリームから復号するための
復号方法が、提供され、復号方法は、初期動きベクトル、および予測ブロックと精緻化さ
れた動きベクトルによって指定される位置に予測ブロックによって与えられるプレディク
タとの間の符号化された差を、ビットストリームから解析するステップと、上述の方法の
いずれかに係る予測ブロックに関する精緻化された動きベクトルを決定するステップと、
解析された差と、精緻化された動きベクトルによって指定される位置に予測ブロックによ
って与えられるプレディクタとの和として予測ブロックを再構築するステップとを含む。
【0132】
復号方法は、
図2のブロックの機能を参照して説明されたステップをさらに含んでもよ
い。
【0133】
しかし、
図1および
図2は、本開示を限定すべきでないことが留意される。それらの図は
、既存のエンコーダおよび/またはデコーダ内の本発明の実装の非限定的な例を与えるに
過ぎない。
【0134】
図14は、実施形態に係る方法の例示的な実装を示す。関数InterpolationFilterLength(
C)は、補間フィルタリングを適用するために水平方向および垂直方向の必要な追加的なサ
ンプルの数を返す。必要なサンプルの数は、
- 探索座標が整数ペル位置であるのか、半ペル位置であるのか、または1/4ペル位置で
あるのか
- 探索座標サンプルを生成するために水平方向の補間フィルタが適用される必要があ
るのか、垂直方向の補間フィルタが適用される必要があるのか、または両方の補間フィル
タが適用されてもよいのか
に応じて変わる。
【0135】
方法は、ステップ1430において始まる。特に、初期動きベクトルの位置が、テストされ
る第1の探索空間の位置C(x,y)である。関数InterpolationFilterLength(C)は、この位置
に関して、補間フィルタリングを適用するための水平方向および垂直方向のサンプルの数
を返す。C(x,y)とInterpolationFilterLength(C(x,y))との和がMAX(max_x, max_y)によっ
て定義されたアクセスウィンドウサイズを超える場合、次いで、位置は、探索空間の一部
として使用されない。その代わりに、次の探索座標C(x,y)が、テストされるためにステッ
プ1440において選択される(たとえば、探索が実行される順序に応じてxまたはyまたはそ
れら両方がインクリメントされる)。ステップ1430においてテストされた位置がアクセス
ウィンドウを超えることを必要としない場合、ステップ1410において、動きベクトルの精
緻化の一部としてのテンプレートマッチングが、その位置C(x,y)に関して実行される。次
いで、テンプレートマッチングのために残された探索空間の位置がまだあるかどうかが、
ステップ1420においてテストされる。残っていない場合、精緻化は、終了される。残って
いる場合、次の座標が、ステップ1440において選択され、ステップ1430の条件が、その新
しい位置に関して評価される。これらのステップが、繰り返される。
【0136】
既に上で説明されたように、(おそらくは
図12に示されたようにさらなる分数サンプル
によって拡張される
図10のウィンドウなどの)許される分数位置を定義する代替的な可能
性が存在する。それらに基づいて、位置C(x,y)が許されるウィンドウに属するかどうかを
評価するだけのより単純な条件が、ステップ1430において定式化されてもよい。たとえば
、探索は、
図10に示されたメモリアクセスウィンドウのようなメモリアクセスウィンドウ
にカプセル化された分数探索ウィンドウ内の整数探索点および分数点に制限される。
【0137】
探索空間は、ウィンドウの矩形の探索サブウィンドウを含んでもよく、初期動きベクト
ルの精緻化は、探索サブウィンドウ内の各分数サンプルの補間フィルタリングのためにア
クセスされる整数サンプルが予め定義されたタップサイズの補間フィルタに関して前記ウ
ィンドウ内にあるような矩形の探索サブウィンドウにおける前記テンプレートとのテンプ
レートマッチングによって決定されてもよい。
【0138】
より厳密には、許される整数および分数位置は、精緻化されていない初期動きベクトル
に関連する点からの探索点の距離に基づいて決定されてもよい。特に、精緻化されていな
い初期動きベクトルからx方向に距離Pにあるおよび精緻化されていない初期動きベクトル
からy方向に距離Rにある探索点が、許される。特に、メモリアクセスウィンドウは、精緻
化されていない初期動きベクトルによって指し示される参照ピクチャ内の点に対して定義
される。これが、
図15に例示され、
図15において、メモリアクセスウィンドウの中心点は
、横軸に沿った2つの整数点の間の半ペル点である。図において、メモリアクセスウィン
ドウは、x方向の拡張(N)およびy方向の拡張(M)として定義され、NおよびMは、整数であり
、そのうちの少なくとも一方は、非ゼロである。特定の実装によれば、サブウィンドウ、
つまり、探索点のためのサブウィンドウ(または探索ウィンドウ)は、メモリアクセスウィ
ンドウ内に定義され、テンプレートマッチングによって探索されることが許されるすべて
の整数ペルおよび分数ペル探索点を含むx方向の拡張(P)およびy方向の拡張(R)として定義
される。
図15において、数PおよびRは、例示を目的として1に等しい。したがって、中心
点までの探索点の距離がx方向およびy方向にそれぞれPまたはRを超えている場合、探索点
は、メモリアクセスウィンドウに含まれない。この特定の例においては、分数探索点が追
加的なサンプルへのアクセスを必要とするので、NおよびMによって定義されるメモリアク
セスウィンドウは、二次的ウィンドウをカプセル化するかまたは含む。PおよびRは、水平
方向および垂直方向に2つの整数サンプル点の間の距離の単位で距離を示す実数でありう
る。例として、PおよびRがP=1.5およびR=1.5として定義される場合、次いで、初期の中心
点までx方向に距離1.5にある探索点(整数または分数)は、動きベクトルの精緻化プロセス
によって探索されることを許される。さらに、
図15において、左右方向の拡張および上下
方向の拡張は、等しくなるように定義され、それらの拡張は、概して、等しくなくてもよ
い。概して、左、上、右、および下への4つの拡張のすべては、独立して定義されうる。
【0139】
図16は、メモリアクセスウィンドウにおける反復的な精緻化プロセスの可能な実装を示
す。
図16によれば、精緻化の探索が、反復的に適用され、つまり、最大K個の探索点のみ
が、各反復において探索される。第1に、K個の探索点が、初期開始点の周りにまたは前の
反復の結果として選択された最良の探索点の周りに決定される(1610)。第2に、K個の探索
点のすべてがメモリアクセスウィンドウの中にある場合(1620)、精緻化の探索動作が、K
個の探索点に適用される。しかし、K個の点のいずれか1つがメモリアクセスウィンドウの
外にある場合、次いで、探索の反復は終了される。第3に、探索の反復の最大回数の条件
が、調べられ(1630)、現在の反復が探索の反復の許される最大回数を超える場合、反復が
、終了される。最後に、精緻化の探索が、K個の探索点に適用され(1640)、K個の探索点の
中の最良の点が、マッチングのコスト関数に従って選択される(1650)。1640および1650の
適用は、反復の回数を1増やす。1650の後、プロセスは、1650の出力である最良の点を161
0への入力として使用して繰り返される。
図16によれば、1回の反復中に探索される探索点
の数を決定する数Kが、各反復の探索点の最大数を定義する。各反復のために探索される
点の数Kおよびパターンは、使用される探索戦略に応じて異なってもよい。たとえば、例
示的な探索戦略によれば、K=5個の探索点(中心、左、右、下、および上)が、第1の反復に
おいて探索されてもよく、一方、K=3個の点(中心、右下、左下)が、第2の反復において探
索されてもよい。数Kは、メモリアクセスウィンドウ内の探索点の総数よりも小さな数で
ある。
【0140】
図16によって示された特定の実装によれば、反復のK個の探索点の中の単一の探索点が
メモリアクセスウィンドウの外にある場合、探索の反復が、終了される。メモリアクセス
ウィンドウの中にあるK個の探索点の中のその他の点があってもよいが、反復が終了され
るので、メモリアクセスウィンドウ内のそれらの点はまた、探索されない。特定の実装の
目的は、探索の反復の回数を減らし、同時に、メモリアクセスウィンドウから外れる探索
点が探索されないことを保証することである。
【0141】
1620によって、探索点がメモリアクセスウィンドウの中にあるかどうかを調べることが
、初期開始点までの探索点の距離を調べることによって実行されうる。したがって、距離
のx成分がNよりも大きい場合、または距離のy成分がMよりも大きい場合、探索点は、メモ
リアクセスウィンドウの外にあると判定される。概して、NおよびMは、整数であり、その
うちの少なくとも一方は、0よりも大きい。
【0142】
初期動きベクトルの精緻化が、最も新しい反復において探索空間のより多くの最も一致
する位置のうちの1つによって与えられる方向に反復的に拡張される探索空間における前
記テンプレートとのテンプレートマッチングによって決定されてもよく、反復は、最も新
しい反復の探索空間内の少なくとも1つのサンプルが探索サブウィンドウの外にあるとき
に終了される。
【0143】
図17は、
図15に示されたように探索サブウィンドウに適用されうる可能な反復の方式を
示す流れ図である。
図17の流れ図は、ステップ1720を除いて、
図16に示された流れ図と同
じである。
図17のステップ1720によれば、K個の探索点に対して精緻化の探索を実行する
判断は、K個の点のすべてが探索点のためのサブウィンドウ内にあるかどうかを調べるこ
とによって判断される。言い換えると、
図15に示されたように、精緻化されていない初期
動きベクトルによって指し示される中心点までのK個の探索点のうちのいずれか1つの距離
がPまたはRよりも大きい場合、次いで、1720に示された条件は、偽と評価し、反復が、終
了される。
【0144】
上述のようにメモリウィンドウの制限付きの動きベクトルの決定は、ビデオ信号(動画)
の符号化および/または復号の一部として実施されうる。しかし、動きベクトルの決定は
また、符号化/復号のために使用されることに限定されることなく、動き検出、動き分析
などの画像処理におけるその他の目的に使用されてもよい。
【0145】
動きベクトルの決定は、装置として実装されてもよい。そのような装置は、ソフトウェ
アとハードウェアとの組み合わせであってもよい。たとえば、動きベクトルの決定は、汎
用プロセッサ、またはデジタル信号プロセッサ(DSP)、またはフィールドプログラマブル
ゲートアレイ(FPGA)などのチップによって実行されてもよい。しかし、本発明は、プログ
ラミング可能なハードウェア上の実装に限定されない。本発明は、特定用途向け集積回路
(ASIC)に、または上述のハードウェア構成要素の組み合わせによって実装されてもよい。
【0146】
動きベクトルの決定はまた、コンピュータ可読媒体に記憶されたプログラム命令によっ
て実装されてもよい。プログラムは、実行されるとき、コンピュータに上述の方法のステ
ップを実行させる。コンピュータ可読媒体は、DVD、CD、USB(フラッシュ)ドライブ、ハー
ドディスク、ネットワークを介して利用可能なサーバストレージなどの、プログラムが記
憶される任意の媒体でありうる。
【0147】
エンコーダおよび/またはデコーダは、テレビ受像機、セットトップボックス、PC、タ
ブレット、スマートフォンなどを含む様々なデバイス、つまり、任意の記録、符号化、符
号変換、復号、または再生デバイスに実装されてもよい。エンコーダおよび/またはデコ
ーダは、方法のステップを実装し、上述の電子デバイスのような電子デバイスに記憶され
る/電子デバイスに含まれるプロセッサ上で実行されるソフトウェアまたはアプリであっ
てもよい。
【0148】
要約すると、本開示は、動きベクトルの精緻化に関する。第1のステップとして、予測
ブロックに関する初期動きベクトルおよびテンプレートが、取得される。次いで、初期動
きベクトルの精緻化が、探索空間における前記テンプレートとのテンプレートマッチング
によって決定される。探索空間は、初期動きベクトルによって与えられる位置にあり、1
つ以上の分数サンプル位置を含み、探索空間に属する分数サンプル位置の各々が、ウィン
ドウ内の整数サンプルのみを評価する予め定義されたタップサイズのフィルタを用いる補
間フィルタリングによって得られ、前記ウィンドウが、前記探索空間におけるテンプレー
トマッチングのためにアクセス可能な整数サンプルによって形成される。
【符号の説明】
【0149】
100 エンコーダ
105 残差ブロック
106 変換ユニット
107 変換係数
108 量子化ユニット
110 逆量子化ユニット
112 逆変換ユニット
115 再構築されたブロック
116 バッファ
120 ループフィルタリングユニット
130 復号済みピクチャバッファ
142 インター推定ユニット
144 インター予測ユニット
152 イントラ推定ユニット
154 イントラ予測ユニット
160 モード選択ユニット
170 エントロピー符号化ユニット
171 符号化されたピクチャデータ、符号化されたビットストリーム
200 デコーダ
204 エントロピー復号ユニット
209 量子化された残差変換係数
210 逆量子化ユニット
212 逆変換ユニット
215 再構築されたブロック
216 バッファ
220 ループフィルタリングユニット
230 復号済みピクチャバッファ
231 復号されたピクチャ
244 インター予測ユニット
254 イントラ予測ユニット
265 予測ブロック
600 処理回路
610 初期動きベクトルおよびテンプレート決定ユニット
620 動きベクトル精緻化ユニット
640 内部メモリ
650 外部メモリ
810 中心点、位置
1010 中心点
1020 距離
【手続補正書】
【提出日】2024-09-10
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
画像符号化方法によって生成されるビットストリームであって、前記画像符号化方法は、
ビデオ画像を分割してブロックを取得するステップ、
初期動きベクトルを取得するステップ、
探索空間においてバイラテラルマッチングによって前記初期動きベクトルの精緻化を決定するステップであって、
前記探索空間が、前記初期動きベクトルによって与えられる位置にあり、1つ以上の分数サンプル位置を含み、前記探索空間に属する前記分数サンプル位置の各々が、ウィンドウ内の整数サンプルのみを評価する予め定義されたタップサイズのフィルタを用いる補間フィルタリングによって得られ、前記ウィンドウが、前記探索空間における前記バイラテラルマッチングのためにアクセス可能な整数サンプルによって形成される、ステップ、
前記精緻化に基づいて符号化された前記ブロックを含む前記ビットストリームを生成するステップを含む、ビットストリーム。
【請求項2】
前記ウィンドウが前記ブロックの左右及び上下の少なくとも1つの拡張として定義される、請求項1に記載のビットストリーム。
【請求項3】
前記ウィンドウが前記初期動きベクトルによって指し示される位置の周りに定義され、かつ、前記初期動きベクトルの前記精緻化を実行するためにアクセスされるサンプルの数を特定する、請求項1または2に記載のビットストリーム。
【請求項4】
前記ウィンドウが、初期動きベクトルによって指し示される前記ブロックに対してN整数サンプル列およびM整数サンプル行として定義され、NおよびMが、非ゼロの整数値である請求項1から3のいずれか一項に記載のビットストリーム。
【請求項5】
前記初期動きベクトルの前記精緻化が、最も新しい反復において探索空間のより多くの最も一致する位置のうちの1つによって与えられる方向に反復的に拡張される前記探索空間におけるバイラテラルマッチングによって決定され、
前記ウィンドウが、前記反復の予め定義された最大回数によって定義される請求項1から4のいずれか一項に記載のビットストリーム。
【請求項6】
前記探索空間が、サブウィンドウ内の各分数サンプルの補間フィルタリングのためにアクセスされるすべての整数サンプルが前記予め定義されたタップサイズの前記フィルタに関して前記ウィンドウ内にあるような前記ウィンドウの矩形の前記サブウィンドウを含む請求項1から5のいずれか一項に記載のビットストリーム。
【請求項7】
前記探索空間が、前記ウィンドウの矩形の探索サブウィンドウを含み、前記初期動きベクトルの前記精緻化が、前記探索サブウィンドウ内の各分数サンプルの補間フィルタリングのためにアクセスされる前記整数サンプルが前記予め定義されたタップサイズの前記フィルタに関して前記ウィンドウ内にあるような前記矩形の探索サブウィンドウにおけるバイラテラルマッチングによって決定される請求項1から4のいずれか一項に記載のビットストリーム。
【請求項8】
前記初期動きベクトルの前記精緻化が、最も新しい反復において探索空間のより多くの最も一致する位置のうちの1つによって与えられる方向に反復的に拡張される前記探索空間におけるバイラテラルマッチングによって決定され、前記反復が、前記最も新しい反復の前記探索空間内の少なくとも1つのサンプルが前記探索サブウィンドウの外にあるときに終了される請求項7に記載のビットストリーム。
【請求項9】
前記フィルタが、前記分数サンプル位置が整数サンプルのそれぞれの水平方向のラインまたは垂直方向のライン上にあるとき、K個の水平方向または垂直方向の何れの整数サンプルを評価する1次元フィルタである請求項6に記載のビットストリーム。
【請求項10】
前記探索空間が、
- 前記サブウィンドウの上もしくは下に隣接し、整数サンプルの水平方向のライン上にあるか、または
- 前記サブウィンドウの左側もしくは右側に隣接し、整数サンプルの垂直方向のライン上にあるかの何れの、前記サブウィンドウの外にある分数サンプル位置をさらに含む請求項9に記載のビットストリーム。
【外国語明細書】