(57)【要約】  本開示は、インター予測に関し、現在のブロックの近隣のブロックの動きベクトルが、（例えば、デコーダベースの動きベクトルの導出及び／又は改良に用いられるような）テンプレートマッチングにより決定されたか否かが決定される。否定的に検出した場合、現在のブロックの予測は、近隣ブロックの動きベクトルに従って導出される。一方、肯定的に検出した場合、現在のブロックの予測は近隣ブロックに基づくものではない。
2020526114.tif 000002
【特許請求の範囲】
【請求項１】
現在のブロックの再構築のために、前記現在のブロックの予測を決定するための装置であって、前記装置は、
前記現在のブロックに隣接するブロックの動きベクトルがテンプレートマッチングにより決定されたか否かを検出するように構成される予測ユニットであって、
−否定的に検出した場合、前記隣接ブロックに従って前記現在のブロックの予測を導出し、
−肯定的に検出した場合、前記隣接ブロックに従って前記現在のブロックの予測を導出しない
ように構成される、予測ユニット
を備える装置。
【請求項２】
現在のブロックの再構築のために、動きベクトルを決定して、前記現在のブロックのインター予測を決定するために構成されており、前記予測ユニットは、
−隣接ブロックの動きベクトルが前記テンプレートマッチングにより決定されたか否かを検出し、
−否定的に検出した場合、前記隣接ブロックの前記動きベクトルを候補として前記現在のブロックに対する候補の動きベクトルのリストに含め、
−肯定的に検出した場合、前記隣接ブロックの前記動きベクトルを候補として前記リストに含めない
ことにより、前記リストを形成するように構成される動きベクトル候補リスト決定ユニットと、
前記リストから動きベクトルの推定値を選択して、前記推定値に従って前記現在のブロックの前記動きベクトルを決定するように構成される動きベクトル決定ユニットと
を有する、請求項１に記載の装置。
【請求項３】
前記動きベクトル候補リスト決定ユニットは、肯定的に検出した場合、置換動きベクトルを候補として前記リストに含めるように構成される、請求項２に記載の装置。
【請求項４】
前記置換動きベクトルは、前記現在のブロックの近隣にあり、かつ、前記隣接ブロックとは異なるブロックの動きベクトルである、請求項３に記載の装置。
【請求項５】
前記動きベクトルの前記選択された推定値の改良を適用するように構成される動きベクトルの改良ユニットをさらに備え、
前記動きベクトル候補リスト決定ユニットは、肯定的に検出した場合、前記改良を適用する前に、前記テンプレートマッチングにより取得される前記隣接ブロックの前記動きベクトルの推定値を前記リストに含めるように構成され、
前記動きベクトル決定ユニットは、さらに、前記改良の後に、前記隣接ブロックの前記動きベクトルの前記推定値に従って、前記隣接ブロックの前記動きベクトルを決定するように構成される、
請求項２又は３に記載の装置。
【請求項６】
前記動きベクトルの改良ユニットが前記隣接ブロックに対する改良を適用している間に、前記動きベクトル候補リスト決定ユニットは、前記現在のブロックに対する前記リストを形成するように構成される、請求項５に記載の装置。
【請求項７】
前記動きベクトル候補リスト決定ユニットは、肯定的に検出した場合、
−前記隣接ブロックが前記現在のブロックと同じピクチャに配置されている場合、前記改良を適用する前に、前記テンプレートマッチングにより取得される前記隣接ブロックの前記動きベクトルの推定値を前記リストに含め、
−前記隣接ブロックが前記現在のブロック以外のピクチャに配置されている場合、前記隣接ブロックに対する前記改良を適用した後に、前記隣接ブロックの前記動きベクトルを前記リストに含める
ように構成される、請求項５又は６に記載の装置。
【請求項８】
前記動きベクトル候補リスト決定ユニットは、さらに、前記リストに含める対象の動きベクトルが前記リストに既に含まれているかをチェックし、肯定的な場合、前記リストにそれを含めないように構成され、
前記現在のブロックの前記処理と少なくとも部分的に並列に処理される隣接ブロックの動きベクトルを前記リストに含める場合、前記チェックは実行されない、
請求項２から７のいずれかに記載の装置。
【請求項９】
前記現在のブロックの再構築のために、現在のブロックのイントラ予測を決定するために、前記予測ユニットは、
−隣接ブロックの動きベクトルが前記テンプレートマッチングにより決定されたか否かを検出すること、
−否定的に検出した場合、前記隣接ブロックの１又は複数のサンプルを参照サンプルのセットに含めること、
−肯定的に検出した場合、前記隣接ブロックのいずれのサンプルも前記参照サンプルのセットに含めないこと
を含む、前記現在のブロックに対する前記参照サンプルのセットを決定するための参照サンプル決定ユニットを有し、
イントラ予測ユニットは、前記参照サンプルのセットからのサンプルに従って、前記現在のブロックの前記予測を提供する、請求項１に記載の装置。
【請求項１０】
前記予測ユニットは、前記現在のブロックの再構築のために、
前記現在のブロックの前記位置に対して規定された予め規定された矩形領域内に配置される周辺ブロックの動きベクトルが前記テンプレートマッチングにより決定されたか否かを検出するように構成される、請求項１から９のいずれかに記載の装置。
【請求項１１】
ビットストリームから複数のピクチャをデコードするためのビデオデコーダであって、
制御情報を含む前記ビットストリームを解析するためのビットストリームパーサと、
請求項１から１０のいずれかに記載の装置と、
前記現在のブロックの前記予測に基づいて、前記現在のブロックを再構築するための再構築ユニットと
を備えるビデオデコーダ。
【請求項１２】
複数のピクチャをビットストリームへとエンコードするためのビデオエンコーダであって、
請求項１から１０のいずれかに記載の装置と、
前記ビットストリームに制御情報を含めるためのビットストリームフォーマと、
前記現在のブロックの前記予測に基づいて、前記現在のブロックを再構築し、前記再構築したブロックをメモリに格納するための再構築ユニットと
を備えるビデオエンコーダ。
【請求項１３】
前記制御情報は、
隣接ブロックの動きベクトルが前記テンプレートマッチングにより決定されたか否かを前記予測ユニットが検出したか否かを示すフラグ、及び／又は、
肯定的に検出した場合、前記現在のブロックに対する前記予測がどのように決定されるかを示す置換インジケータ
を含む、請求項１１又は１２に記載のビデオエンコーダ又はデコーダ。
【請求項１４】
前記制御情報は、シーケンスパラメータセット及び／又はスライスヘッダに含まれる、請求項１３に記載のビデオエンコーダ又はデコーダ。
【請求項１５】
現在のブロックの予測を決定するための方法であって、
隣接ブロックの動きベクトルが前記テンプレートマッチングにより決定されたか否かを検出する段階と、
否定的に検出した場合、前記隣接ブロックに従って、前記現在のブロックの予測を導出する段階と、
肯定的に検出した場合、前記隣接ブロックに従って、前記現在のブロックの予測を導出しない段階と
を備える方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デコーダにおける動きベクトルの導出、特に、画像符号化及びデコードの際にも用いられ得る動きベクトルの導出のための方法及び装置に関する。
【背景技術】
【０００２】
現在のハイブリッドビデオコーデックは、予測符号化を使用する。ビデオシーケンスのピクチャは、画素のブロックへと細分化され、そして、これらのブロックが符号化される。ブロック画素ごとに符号化する代わりに、空間的又は時間的に近接するブロックにおいて既にエンコードされた画素を用いて、ブロック全体が予測される。さらに、エンコーダはブロックとその予測との間の差のみを処理する。典型的には、さらなる処理では、ブロック画素の変換領域における係数への変換を含む。そして、ビットストリームを形成するために、係数は、量子化を用いてさらに圧縮され、エントロピー符号化によりさらに圧縮され得る。ビットストリームは、エンコードされたビデオをデコーダがデコードすることを可能にする任意のシグナリング情報をさらに含む。例えば、シグナリングは、例えば、入力ピクチャのサイズ、フレームレート、量子化段階インジケーション又はピクチャのブロックに適用される予測など、エンコーダ設定に関する設定を含み得る。
【０００３】
時間的な予測は、ビデオのピクチャ間、フレームとも称される、の時間的な相関を活用する。異なるビデオフレーム間（インター）の依存関係を用いた予測なので、時間的な予測は、インター予測とも呼ばれる。したがって、エンコードされるブロック、現在のブロックとも称される、は、（１又は）複数の前にエンコードされたピクチャ、参照ピクチャと称される、から予測される。参照ピクチャは、必ずしも、現在のブロックがビデオシーケンスの表示する順序で配置される現在のピクチャに先行するピクチャである必要はない。エンコーダは、表示する順序とは異なる符号化順序でピクチャをエンコードし得る。現在のブロックの予測として、参照ピクチャ内でコロケートされたブロックが決定され得る。コロケートされたブロックは、現在のピクチャ内の現在のブロックと同じ位置にある参照ピクチャに配置されたブロックである。そのような予測は、静止ピクチャ領域、すなわち、一方のピクチャから他方への動きのないピクチャ領域については正確である。
【０００４】
動きを考慮した予測値、すなわち、動き補償された予測値を取得するために、典型的には、動き推定が、現在のブロックの予測を決定する場合に使用される。したがって、現在のブロックは、参照ピクチャ内のブロックにより予測されており、コロケートされたブロックの位置から、動きベクトルにより与えられる距離に配置されている。現在のブロックについての同じ予測をデコーダが決定することを可能にするために、動きベクトルは、ビットストリームにおいてシグナリングされ得る。ブロックのそれぞれに対する動きベクトルをシグナリングすることにより引き起こされるシグナリングオーバヘッドをさらに減らすために、動きベクトルそのものが推定され得る。動きベクトル推定は、空間及び／又は時間領域内の近隣ブロックについての動きベクトルに基づいて実行され得る。
【０００５】
現在のブロックの予測は、１つの参照ピクチャを用いて、又は、２又はそれより多くの参照ピクチャから取得される重み付けした予測により算出され得る。隣接ピクチャは現在のピクチャと同様である可能性が最も高いので、参照ピクチャは、隣接ピクチャ、すなわち、表示順序において現在のピクチャの直前のピクチャ及び／又は直後のピクチャであってよい。しかしながら、概して、参照ピクチャは、表示する順序において現在のピクチャに先行する又は後続の、及び、ビットストリーム（デコード順序）において現在のピクチャに先行する任意の他のピクチャであってもよい。これは、例えば、ビデオコンテンツ内の閉鎖及び／又は非線形の動きの場合に利点をもたらし得る。したがって、参照ピクチャは、ビットストリームにおいてシグナリングされてもよい。
【０００６】
インター予測の特別なモードは、現在のブロックの予測を生成する際に２つの参照ピクチャが用いられるいわゆる双予測である。特に、２つの参照ピクチャのそれぞれにおいて決定された２つの予測が、現在のブロックの予測信号に組み合わせられる。双予測は、片予測、すなわち、単一の参照ピクチャのみを用いた予測よりも、現在のブロックについての多くの正確な予測をもたらし得る。より正確な予測は、現在のブロックの画素と予測との間の差（「残差」とも称される）をより小さくすることにつながり、より効率的にエンコードされ得る、すなわち、より短いビットストリームに圧縮され得る。
【０００７】
より正確な動き推定を提供するために、参照ピクチャの解像度は、画素間のサンプルを補間することにより強化され得る。端数画素の補間は、最も近い画素についての重み付けされた平均化により実行され得る。半画素解像度の場合、例えば、双線形補間が典型的には用いられる。他の端数画素は、予測される画素に最も近い画素のそれぞれの間の距離の逆数により重み付けされた最も近い画素の平均として計算される。
【０００８】
動きベクトル推定は、現在のブロックと、参照ピクチャ内の候補の動きベクトルにより指し示される対応する予測ブロックとの間の類似性が計算されるといった計算的に複雑な作業である。複雑性を減らすために、候補の動きベクトルの数は、通常、候補の動きベクトルを特定の探索空間に制限することにより減らされる。探索空間は、例えば、現在の画像内の現在のブロックの位置に対応する参照ピクチャ内の位置を囲む画素の数及び／又は位置により規定され得る。一方、候補の動きベクトルは、近隣ブロックの動きベクトルにより形成される候補の動きベクトルのリストにより規定され得る。
【０００９】
動きベクトルは、通常、エンコーダ側において少なくとも部分的に決定され、符号化されたビットストリーム内でデコーダにシグナリングされる。しかしながら、動きベクトルは、デコーダにおいて導出されてもよい。そのような場合、現在のブロックは、デコーダにおいて利用可能ではなく、参照ピクチャにおいて候補の動きベクトルが指し示すブロックに対する類似性を計算するために用いられることができない。そのため、既にデコードされたブロックの画素から解釈されるテンプレートが、現在のブロックの代わりに用いられる。例えば、現在のブロックに隣接する既にデコードされた画素が用いられ得る。当該動き推定は、シグナリングを減らすという利点をもたらし、動きベクトルは、エンコーダ及びデコーダの両方で同じ方法で導出されており、したがって、シグナリングが必要ない。一方、当該動き推定の精度はより低いかもしれない。
【００１０】
精度とシグナリングオーバヘッドとの間のトレードオフをもたらすために、動きベクトル推定は、動きベクトルの導出及び動きベクトルの改良という２つの段階に分けられ得る。例えば、動きベクトルの導出は、候補のリストからの動きベクトルの選択を含み得る。そのような選択された動きベクトルは、例えば、探索空間内の探索によりさらに改良され得る。探索空間内の探索は、候補の動きベクトルごとに、すなわち、候補の動きベクトルが指し示すブロックの候補の位置ごとに、コスト関数を計算することに基づいている。
【００１１】
文書ＪＶＥＴ‐Ｄ００２９：バイラテラルテンプレートマッチングに基づくデコーダ側の動きベクトルの改良、Ｘ．Ｃｈｅｎ、Ｊ．Ａｎ、Ｊ．Ｚｈｅｎｇ著（当該文書は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｖｅｔ／ｓｉｔｅにおいて見つけることができる）は、整数画素解像度における第１動きベクトルが発見され、さらに、第１動きベクトルの周りの探索空間における半画素解像度を用いた探索により改良される動きベクトルの改良を示す。
【発明の概要】
【００１２】
上述した手法から開始して、本開示の目的は、処理ユニットの並列デコードの可能性を高め、及び／又は、デコードのエラー耐性を向上させることを提供することである。
【００１３】
これを実現すべく、テンプレートマッチングを用いて導出された現在のブロックの近隣の動きベクトルは、現在のブロックの動きベクトルを予測するためには用いられない。
【００１４】
つまり、参照ピクチャを用いて導出された近隣の動きベクトルは、現在のブロックの動きベクトルを予測するためには用いられない。
【００１５】
これは、テンプレートマッチングを用いた導出及び置換であり得る。以下の実施形態では、「テンプレートマッチング」のアプリケーションに対して参照が行われる。しかしながら、概して、参照ピクチャを用いる任意の手法が同様に考慮され得る。
【００１６】
本発明の一態様によれば、現在のブロックの再構築のために、現在のブロックの予測を決定するために装置が提供され、装置は、現在のブロックに隣接するブロックの動きベクトルがテンプレートマッチングにより決定されたか否かを検出するための予測ユニットであって、否定的に検出した場合、隣接ブロックに従って現在のブロックの予測を導出し、肯定的に検出した場合、隣接ブロックに従って現在のブロックの予測を導出しないように構成される、予測ユニットを備える。
【００１７】
有利には、現在のブロックの再構築のために、予測ユニットは、隣接ブロックの動きベクトルがテンプレートマッチングにより決定されたか否かを検出し、否定的に検出した場合、隣接ブロックの動きベクトルを候補として現在のブロックに対する候補の動きベクトルのリストに含め、肯定的に検出した場合、隣接ブロックの動きベクトルを候補としてリストに含めないことを含む、リストを形成するための動きベクトル候補リスト決定ユニットと、リストから動きベクトルの推定値を選択して、推定値に従って現在のブロックの動きベクトルを決定する動きベクトル決定ユニットとを備える。
【００１８】
例えば、装置の動きベクトル候補リスト決定ユニットは、肯定的に検出した場合、置換動きベクトルを候補としてリストに含めるように構成される。
【００１９】
一例によれば、置換動きベクトルは、現在のブロックの近隣にあり、かつ、隣接ブロックとは異なるブロックの動きベクトルである。
【００２０】
装置は、動きベクトルの選択された推定値の改良を適用するための動きベクトルの改良ユニットをさらに備えてよく、動きベクトル候補リスト決定ユニットは、肯定的に検出した場合、改良を適用する前に、テンプレートマッチングにより取得される隣接ブロックの動きベクトルの推定値をリストに含めるように構成され、動きベクトル決定ユニットは、さらに、改良の後に、隣接ブロックの動きベクトルの推定値に従って、隣接ブロックの動きベクトルを決定するように構成される。
【００２１】
動きベクトルの改良ユニットが隣接ブロックに対する改良を適用している間に、動きベクトル候補リスト決定ユニットは、現在のブロックに対するリストを形成するように構成され得る。
【００２２】
例えば、動きベクトル候補リスト決定ユニットは、肯定的に検出した場合、隣接ブロックが現在のブロックと同じピクチャ内に配置されている場合、改良を適用する前に、テンプレートマッチングにより取得される隣接ブロックの動きベクトルの推定値をリストに含め、隣接ブロックが現在のブロック以外のピクチャに配置されている場合、改良を隣接ブロックに適用した後に、隣接ブロックの動きベクトルをリストに含めるように構成される。
【００２３】
代わりに、動きベクトル候補リスト決定ユニットは、さらに、リストに含める対象の動きベクトルがリストに既に含まれているかをチェックし、肯定的な場合、リストにそれを含めないように構成され、現在のブロックの処理と少なくとも部分的に並列に処理される隣接ブロックの動きベクトルをリストに含める場合、当該チェックは実行されない。
【００２４】
装置はまた、現在のブロックの再構築のために、現在のブロックのイントラ予測を決定するために役立ち得る。そのような場合、予測ユニットは、隣接ブロックの動きベクトルがテンプレートマッチングにより決定されたか否かを検出すること、否定的に検出した場合、隣接ブロックの１又は複数のサンプルを参照サンプルのセットに含めること、及び、肯定的に検出した場合、隣接ブロックのいずれのサンプルも参照サンプルのセットに含めないことを含む、現在のブロックに対する参照サンプルのセットを決定するための参照サンプル決定ユニットを有利に備える。予測ユニットは、参照サンプルのセットからのサンプルに従って、現在のブロックの予測を提供するためのイントラ予測ユニットをさらに含む。
【００２５】
例示的な実施形態によれば、予測ユニットは、現在のブロックの再構築のために、現在のブロックの位置に関して規定される予め規定された矩形領域内に配置された周辺ブロックの動きベクトルがテンプレートマッチングにより決定されたか否かを検出するように構成される。
【００２６】
本発明の一態様によれば、ビットストリームから複数のピクチャをデコードするためのビデオデコーダであって、制御情報を含むビットストリームを解析するためのビットストリームパーサと、上記で説明した例示的な実施形態のいずれかに係る装置と、現在のブロックの予測に基づいて、現在のブロックを再構築するための再構築ユニットとを備える。
【００２７】
本発明の一態様によれば、複数のピクチャをビットストリームへとエンコードするためのビデオエンコーダであって、上記で説明した実施形態及び例のいずれかに係る装置と、ビットストリームに制御情報を含めるためのビットストリームフォーマと、現在のブロックの予測に基づいて、現在のブロックを再構築し、再構築したブロックをメモリに格納するための再構築ユニットとを備える。
【００２８】
ビデオエンコーダ又はデコーダは、隣接ブロックの動きベクトルがテンプレートマッチングにより決定されたか否かを予測ユニットが検出したか否かを示すフラグ、及び／又は、肯定的に検出した場合、現在のブロックの予測がどのように決定されるかを示す置換インジケータを含んでよい。
【００２９】
例えば、制御情報は、シーケンスパラメータセット及び／又はスライスヘッダに含まれる。
【００３０】
本発明の別の態様によれば、現在のブロックの予測を決定するために、方法が提供され、方法は、隣接ブロックの動きベクトルがテンプレートマッチングにより決定されたか否かを検出する段階と、否定的に検出した場合、隣接ブロックに従って現在のブロックの予測を導出する段階と、肯定的に検出した場合、隣接ブロックに従って現在のブロックの予測を導出しない段階とを備える。
【００３１】
方法は、現在のブロックの再構築のために、現在のブロックに隣接するブロックの動きベクトルがテンプレートマッチングにより決定されたか否かを検出する段階であって、否定的に検出した場合、隣接ブロックに従って現在のブロックの予測を導出する段階と、肯定的に検出した場合、隣接ブロックに従って現在のブロックの予測を導出しない段階とを含む、段階をさらに備えてよい。
【００３２】
方法は、隣接ブロックの動きベクトルがテンプレートマッチングにより決定されたか否かを検出する段階と、否定的に検出した場合、隣接ブロックの動きベクトルを候補としてリストに含める段階と、肯定的に検出した場合、隣接ブロックの動きベクトルを候補としてリストに含めない段階とを含む現在のブロックの候補の動きベクトルのリストを形成する段階をさらに備えてよい。さらに、リストから動きベクトルの推定値を選択する段階と、推定値に従って現在のブロックの動きベクトルを決定する段階とがあってよい。
【００３３】
候補の動きベクトルのリストを形成する段階は、肯定的に検出した場合、置換動きベクトルを候補としてリストに含める段階を有してよい。置換動きベクトルは、例えば、現在のブロックの近隣にあり、かつ、隣接ブロックとは異なるブロックの動きベクトルである。別の例によれば、それは、現在のブロックの近隣ブロックに隣接するが、現在のブロックに隣接していないブロックの動きベクトルである。
【００３４】
本発明の方法は、動きベクトルの選択された推定値の改良を適用する段階と、肯定的に検出した場合、改良を適用する段階の前にテンプレートマッチングにより取得された隣接ブロックの動きベクトルの推定値をリストに含める段階と、改良の後に、隣接ブロックの動きベクトルの推定値に従って、隣接ブロックの動きベクトルを決定する段階とを有してよい。
【００３５】
動きベクトルの改良ユニットが隣接ブロックに対する改良を適用している間に、現在のブロックに対するリストが形成されてよい。
【００３６】
例示的な実施形態によれば、動きベクトルの決定のために、隣接ブロックが参照ピクチャ（テンプレートマッチング）に用いられることが肯定的に検出された場合、隣接ブロックが現在のブロックと同じピクチャ内に配置されている場合、改良を適用する前に、テンプレートマッチングにより取得される隣接ブロックの動きベクトルの推定値をリストに含め、隣接ブロックが現在のブロック以外のピクチャ内に配置されている場合、隣接ブロックに改良を適用した後に、隣接ブロックの動きベクトルをリストに含める。
【００３７】
代替的な手法によれば、本発明の方法は、リストに含める対象の動きベクトルがリストに既に含まれているかをチェックし、肯定的な場合、リストにそれを含めない段階を含み、現在のブロックの処理と少なくとも部分的並列に処理される隣接ブロックの動きベクトルをリストに含める場合、当該チェックは実行されない。
【００３８】
実施形態によれば、現在のブロックの予測は、イントラ予測段階と、現在のブロックに対する参照サンプルのセットを決定するさらなる段階であって、隣接ブロックの動きベクトルがテンプレートマッチングにより決定されたか否かを検出する段階、否定的に検出した場合、隣接ブロックの１又は複数のサンプルを参照サンプルのセットに含める段階、及び、肯定的に検出した場合、隣接ブロックのいずれのサンプルも参照サンプルのセットに含めない段階を含む、さらなる段階とを含む。現在のブロックをイントラ予測する段階は、次に、参照サンプルのセットからのサンプルに従って、現在のブロックの予測を提供する段階を含む。
【００３９】
本発明の方法は、現在のブロックの位置に関して規定された予め規定された矩形領域内に配置される周辺ブロックの動きベクトルがテンプレートマッチングにより決定されたか否かを検出する段階を含んでよい。
【００４０】
さらに、ビットストリームから複数のピクチャをデコードするための方法が提供されてよく、制御情報を含むビットストリームを解析する段階と、上記で説明したような現在のブロックに対する予測決定を実行する段階と、現在のブロックの予測に基づいて現在のブロックを再構築する段階を備える。
【００４１】
さらに、複数のピクチャをビットストリームへとエンコードするための方法が提供され、上記で説明したような現在のブロックに対する予測決定と、ビットストリームに制御情報を含めるためのビットストリームフォーマとを備え、現在のブロックの予測に基づいて現在のブロックを再構築して、再構築したブロックをメモリに格納する。
【００４２】
制御情報は、隣接ブロックの動きベクトルがテンプレートマッチングにより決定されたか否かを予測ユニットが検出したか否かを示すフラグ、及び／又は、肯定的に検出した場合、現在のブロックに対する予測がどのように決定されるかを示す置換インジケータを有利に含む。制御情報は、シーケンスパラメータセット及び／又はスライスヘッダに含まれてよい。さらに、上記で説明したような装置を具現化する集積回路が提供される。
【００４３】
さらに、コンピュータ可読媒体に格納され、プロセッサ上で実行される場合、上記で説明したような方法の段階を実行するプログラムが提供される。
【図面の簡単な説明】
【００４４】
以下では、添付の図及び図面を参照しつつ例示的な実施形態がより詳しく説明される。
【図１】ビデオエンコーダの例示的な構成を示すブロック図である。
【図２】ビデオデコーダの例示的な構成を示すブロック図である。
【図３】ピクチャブロックに対する予測を決定するための装置の例示的な構成を示すブロック図である。
【図４】現在のブロック及び候補リスト生成のために用いられ得る例示的な近隣ブロックの概略図である。
【図５】動きベクトルの改良が適用される場合のデコーダ処理及び並列化の可能性を図示する概略図である。
【図６】実施形態に係るインター予測ユニットを図示するブロック図である。
【図７】動きベクトルの改良が適用される場合のデコーダ処理及び並列化の可能性を図示する概略図である。
【図８】近隣ブロックの動きベクトルの決定に基づいて、動きベクトルの決定を制限するための方法を図示するフローチャートである。
【図９】例示的な現在のブロック及びその近隣を図示する概略図である。
【図１０】例示的な現在のブロック及びその近隣と共に近隣に隣接するブロックを図示する概略図である。
【図１１】デコーダ処理を図示する概略図であり、並列化チェックの省略の可能性が適用される。
【図１２】例示的な現在のブロック及び現在のブロックの動きベクトルを予測するためのその近隣を図示する概略図である。
【図１３】例示的な現在のブロック及び現在のブロックをイントラ予測するためのその近隣を図示する概略図である。
【図１４】現在のブロックの動きベクトルの決定を制限するための例示的な領域を図示する概略図である。
【図１５】現在のブロックの動きベクトルの決定を制限するための例示的な領域を図示する概略図である。
【図１６】ビデオシーケンスの受信の際に生じ得るエラーを図示する概略図である。
【図１７】ビデオシーケンスの受信の際に生じ得るエラーを図示する概略図である。
【発明を実施するための形態】
【００４５】
本開示は、現在のブロックに対する予測の決定、特に、インター予測に関する。それは、ビデオのエンコード及びデコード中に適用される動き推定において使用され得る。以下では、本開示の探索空間構築を使用して動き推定を実施し得る例示的なエンコーダ及びデコーダが以下に説明される。
【００４６】
図１は、ビデオストリームのフレーム又はピクチャの入力ブロックを受信するための入力と、エンコードされたビデオビットストリームを生成するための出力とを備えるエンコーダ１００を示す。本開示における「フレーム」という用語は、ピクチャの同義語として用いられる。しかしながら、本開示はインタレーシングが適用される場合の分野にも適用可能であることに留意する。概して、ピクチャは、ｍ×ｎ個の画素を含む。これは、画像サンプルに対応し、１又は複数のカラー成分を有し得る。簡潔にするために、以下の説明は、輝度のサンプルを意味する画素に関する。しかしながら、本発明の動きベクトル探索は、例えばＲＧＢなどの探索空間のクロミナンス又は成分を含む任意のカラー成分に適用され得ることを留意する。一方、１つの成分に対する動きベクトル推定のみを実行して、決定された動きベクトルをより多くの（又は、すべての）成分に適用することは有益であり得る。
【００４７】
符号化対象の入力ブロックは、必ずしも同じサイズである必要はない。１つのピクチャは、異なるサイズのブロックを含んでよく、異なるピクチャのブロックラスタも異なってよい。
【００４８】
説明の実現において、エンコーダ１００は、予測、変換、量子化及びエントロピー符号化をビデオストリームに適用するように適合される。エンコードされたビデオビットストリームを出力として生成するために、変換、量子化及びエントロピー符号化は、それぞれ変換ユニット１０１、量子化ユニット１０２及びエントロピーエンコードユニット１０３により実行される。
【００４９】
ビデオストリームは、複数のフレームを含んでよく、各フレームは、イントラ符号化された又はインター符号化された、のいずれかである特定のサイズのブロックに分割される。ビデオストリームの例えば第１フレームのブロックは、イントラ予測ユニット１０９を用いてイントラ符号化される。イントラフレームは、同じフレーム内の情報のみを用いて符号化され、その結果、イントラフレームは、別個にデコードされることができ、ランダムアクセスのためにビットストリーム内のエントリポイントを提供できる。ビデオストリームの他のフレームのブロックは、インター予測ユニット１１０を用いてインター符号化されてよく、時間的な冗長性を減らすために、前に符号化されたフレーム（参照フレーム）からの情報が用いられ、その結果、インター符号化されたフレームの各ブロックは、参照フレーム内のブロックから予測される。モード選択ユニット１０８は、フレームのブロックがイントラ予測ユニット１０９により処理されるか又はインター予測ユニット１１０により処理されるかを選択するように適合される。ブロックはまた、インター予測のイントラのパラメータを制御する。画像情報のリフレッシュを可能にするために、イントラ符号化されたブロックは、インター符号化されたフレーム内に提供されてよい。さらに、デコードするためのエントリポイント、すなわち、前に符号化されたフレームからの情報を有することなく、デコーダがデコードを開始できるポイントを提供するために、イントラ符号化されたブロックのみを包含するイントラフレームがビデオシーケンスに定期的に挿入されてよい。
【００５０】
イントラ予測ユニット１０９は、ブロック予測ユニットである。空間的又は時間的な予測を実行するために、符号化されたブロックは、逆量子化ユニット１０４及び逆変換ユニット１０５によりさらに処理され得る。ブロックの再構築の後、デコードされた画像の品質をさらに改善するために、ループフィルタリングユニット１０６が適用される。そして、フィルタリングされたブロックは、次にフレームバッファ１０７に格納される参照フレームを形成する。エンコーダ側におけるそのようなデコードループ（デコーダ）は、デコーダ側において再構築された参照ピクチャと同じである参照フレームを生成するという利点を提供する。したがって、エンコーダ及びデコーダ側では、対応する方式で動作する。本明細書における「再構築」という用語は、デコードされた残差ブロックを予測ブロックに加えることにより、再構築したブロックを取得することを指す。
【００５１】
インター予測ユニット１１０は、フレームバッファ１０７から、インター符号化される現在のフレーム又はピクチャのブロック、及び、１又はいくつかの参照フレーム又はピクチャを入力として受信する。動き推定及び動き補償は、インター予測ユニット１１０により適用される。動き推定は、特定のコスト関数に基づいて、動きベクトル及び参照フレームを取得するために用いられる。そして、動き補償は、現在のフレームへの参照フレームの参照ブロックの変換に関して、すなわち、動きベクトルにより、現在のフレームの現在のブロックを説明する。インター予測ユニット１１０は、現在のブロックに対する予測ブロックを出力し、予測ブロックは、コスト関数を最小化する。例えば、コスト関数は、符号化対象の現在のブロックとその予測ブロックとの間の差であってよい、すなわち、コスト関数は残差ブロックを最小化する。残差ブロックの最小化は、例えば、現在のブロック及び候補の参照ピクチャ内の候補のブロックのすべての画素（サンプル）間の差分絶対値和（ＳＡＤ）を計算することに基づいている。しかしながら、概して、平均二乗誤差（ＭＳＥ）又は構造的類似性メトリック（ＳＳＩＭ）などの任意の他の類似性メトリックが使用されてよい。
【００５２】
しかしながら、コスト関数は、そのようなブロック間を符号化するのに必要とされるビット数及び／又はそのような符号化に起因する歪みでもあり得る。したがって、レート歪み最適化手順は、動きベクトルの選択、及び／又は、概して、ブロックに対してインター又はイントラ予測をどの設定と共に用いるかなどのエンコードパラメータを決定するために用いられ得る。
【００５３】
イントラ予測ユニット１０９は、現在のフレームの既に再構築されたエリアから、イントラ符号化される現在のフレーム又はピクチャのブロックと、１又はいくつかの参照サンプルとを入力として受信する。次に、イントラ予測は、現在のフレームの参照サンプルの特徴に関して、現在のフレームの現在のブロックの画素を説明する。イントラ予測ユニット１０９は、現在のブロックに対する予測ブロックを出力し、予測ブロックは、符号化対象の現在のブロックとその予測ブロックとの間の差を有利に最小化する、すなわち、残差ブロックを最小化する。残差ブロックの最小化は、例えばレート歪み最適化手順に基づき得る。特に、予測ブロックは、参照サンプルの方向補間として取得される。当該方向は、レート歪み最適化により、及び／又は、インター予測に関連して上記のように類似度を計算することにより決定され得る。
【００５４】
現在のブロックとその予測との間の差、すなわち、残差ブロックは、次に、変換ユニット１０１により変換される。変換係数は、量子化ユニット１０２により量子化され、エントロピーエンコードユニット１０３によりエントロピー符号化される。このようにして生成されたエンコードされたビデオビットストリームは、イントラ符号化されたブロック及びインター符号化されたブロック及び対応するシグナリング（例えば、モードインジケーション、動きベクトルのインジケーション及び／又はイントラ予測方向）を有する。変換ユニット１０１は、フーリエ又は離散コサイン変換（ＤＦＴ）などの線形変換を適用してよい。空間周波数領域へのそのような変換は、結果として得られる係数がより低い周波数において典型的には高い値を有するという利点をもたらす。したがって、効率的な係数スキャニング（例えば、ジグザグ）及び量子化の後に、結果として得られる一連の値は、典型的には、最初にいくつか大きな値を有し、ゼロの連続で終了する。これは、さらに効率的な符号化を可能にする。量子化ユニット１０２は、係数値の解像度を下げることにより実際の不可逆圧縮を実行する。次に、エントロピー符号化ユニット１０３は、バイナリコードワードを係数値に割り当てて、ビットストリームを生成する。エントロピー符号化器はまた、シグナリング情報を符号化する（図１には示されていない）。
【００５５】
図２は、ビデオデコーダ２００を示す。ビデオデコーダ２００は、具体的には、参照ピクチャバッファ２０７と、ブロック予測ユニットであるイントラ予測ユニット２０９とを備える。参照ピクチャバッファ２０７は、エンコードされたビデオビットストリームから再構築された少なくとも１つの参照フレームを格納するように適合され、参照フレームは、エンコードされたビデオビットストリームの現在のフレーム（現在のデコード済みフレーム）とは異なる。イントラ予測ユニット２０９は、デコード対象のブロックの推定値である予測ブロックを生成するように構成される。イントラ予測ユニット２０９は、参照ピクチャバッファ２０７から取得される参照サンプルに基づいて、この予測を生成するように構成される。
【００５６】
デコーダ２００は、ビデオエンコーダ１００により生成されたエンコードされたビデオビットストリームをデコードするように適合され、好ましくは、デコーダ２００及びエンコーダ１００の両方が、エンコード／デコードされるそれぞれのブロックに対して同一の予測を生成する。参照ピクチャバッファ２０７及びイントラ予測ユニット２０９の機能は、図１の参照ピクチャバッファ１０７及びイントラ予測ユニット１０９の機能と同様である。
【００５７】
ビデオデコーダ２００はまた、ビデオエンコーダ１００に存在するさらなるユニット、例えば、逆量子化ユニット２０４、逆変換ユニット２０５及びループフィルタリングユニット２０６などを備え、それぞれ、ビデオコーダ１００の逆量子化ユニット１０４、逆変換ユニット１０５及びループフィルタリングユニット１０６に対応する。
【００５８】
エントロピーデコードユニット２０３は、受信したエンコードされたビデオビットストリームをデコードし、量子化された残差変換係数及びシグナリング情報を対応して取得するように適合される。量子化された残差変換係数は、残差ブロックを生成するために、逆量子化ユニット２０４及び逆変換ユニット２０５に供給される。残差ブロックは、予測ブロックに加えられ、追加分は、デコードされたビデオを取得するために、ループフィルタリングユニット２０６に供給される。デコードされたビデオのフレームは、参照ピクチャバッファ２０７に格納され、インター予測のための参照フレームとしての機能を果たし得る。
【００５９】
一般に、図１及び図２のイントラ予測ユニット１０９及び２０９は、既にエンコードされたエリアからの参照サンプルを用いて、エンコードされる必要がある、又は、デコードされる必要があるブロックに対する予測信号を生成することができる。
【００６０】
エントロピーデコードユニット２０３は、エンコードされたビットストリームをその入力として受信する。概して、ビットストリームが初めに解析される、すなわち、シグナリングパラメータ及び残差がビットストリームから抽出される。典型的には、エンコーダ及びデコーダが相互運用可能な方式で動作し得るように、ビットストリームのシンタックス及びセマンティックは規格によって規定される。上記の背景技術の欄で説明したように、エンコードされたビットストリームは、予測残差のみを含むわけではない。動き補償予測の場合、動きベクトルインジケーションはまた、ビットストリームにおいて符号化され、そこからデコーダにおいて解析される。動きベクトルが提供される参照ピクチャを用いて、及び、動きベクトル座標を用いて、動きベクトルインジケーションが与えられてよい。参照ピクチャを効率的に符号化するために、Ｈ．２６５コーデック（ＩＴＵ−Ｔ、Ｈ２６５、シリーズＨ：オーディオビジュアル及びマルチメディアシステム：高効率ビデオ符号化）は、それぞれの参照フレームをリストインデックスに割り当てる参照ピクチャのリストを提供する。そして、参照フレームは、対応して割り当てられたリストインデックスを内部に含めることにより、ビットストリームにおいてシグナリングされる。そのようなリストは、規格において規定され得る、又は、ビデオ又は多数のフレームのセットの開始時にシグナリングされ得る。Ｈ．２６５では、Ｌ０及びＬ１と呼ばれる参照ピクチャの２つのリストが規定されていることに留意する。そして、参照ピクチャは、リスト（Ｌ０又はＬ１）を示すこと、及び、所望の参照ピクチャと関連付けられた当該リスト内のインデックスを示すことにより、ビットストリームにおいてシグナリングされる。２又はそれより多くのリストを提供することは、より良好な圧縮に関する利点を有し得る。例えば、Ｌ０は、片方向インター予測スライス及び双方向インター予測スライスの両方に用いられ得るが、Ｌ１は、双方向インター予測スライスのみに用いられ得る。しかしながら、概して、本開示は、Ｌ０及びＬ１リストの任意のコンテンツに限定されるものではない。
【００６１】
動きベクトルは、参照ピクチャ内の座標により直接シグナリングされ得る。代わりに、Ｈ．２６５にも規定されているように、候補の動きベクトルのリストが構築されてよく、特定の動きベクトルを有するリストに関連付けられるインデックスが伝送され得る。
【００６２】
現在のブロックの動きベクトルは、通常、現在のピクチャ内又は以前に符号化されたピクチャ内の近隣ブロックの動きベクトルと相関付けられている。これは、近隣ブロックが、同様の動きを有する同じ動いているオブジェクトに対応する可能性が高く、オブジェクトの動きが経時的に突然変化する可能性は低いからである。したがって、予測値として近隣ブロック内の動きベクトルを用いることは、シグナリングされた動きベクトルの差のサイズを減らす。ＭＶＰは、通常、既にデコードされた動きベクトルから、空間的な近隣ブロックから、又は、コロケートされたピクチャ内の時間的な近隣ブロックから導出される。Ｈ．２６４／ＡＶＣにおいて、これは、３つの空間的に近隣の動きベクトルの成分に関する中央値を行うことにより行われる。この手法を用いると、予測値のシグナリングが必要ない。コロケートされたピクチャからの時間的なＭＶＰは、Ｈ．２６４／ＡＶＣのいわゆる時間ダイレクトモードにおいて考慮されるだけである。Ｈ．２６４／ＡＶＣのダイレクトモードはまた、当該動きベクトルよりも、他の動きデータを導出するために用いられる。したがって、それらは、ＨＥＶＣにおけるブロックマージコンセプトにより関連している。ＨＥＶＣにおいて、ＭＶＰを暗黙的に導出する手法は、動きベクトルの競合として知られる技術により置き換えられていて、ＭＶＰのリストから、どのＭＶＰが動きベクトルの導出のために用いられるかを明示的にシグナリングする。ＨＥＶＣにおける可変符号化四分木ブロック構造は、可能性のあるＭＶＰ候補として、動きベクトルを伴ういくつかの近隣ブロックを有する１つのブロックを結果としてもたらし得る。最悪の場合、例として左側の近隣を挙げると、６４×６４ルマの符号化ツリーブロックがさらに分割されず、かつ、左側のものが最大デプスに分割される場合、６４×６４ルマの予測ブロックは、１６８４ルマの予測ブロックを左に有し得る。
【００６３】
動きベクトルの競合を修正して、そのような柔軟なブロック構造を構成するために、高度な動きベクトル予測（ＡＭＶＰ）が導入された。ＨＥＶＣの開発中、初期のＡＭＶＰ設計は、符号化効率と実装しやすい設計との間の良好なトレードオフをもたらすために、かなり簡略化されていた。ＡＭＶＰの初期設計は、予測値の３つの異なるクラスからのスケーリングされた動きベクトルから５つのＭＶＰ、すなわち、空間的な近隣から３つの動きベクトル、３つの空間予測値の中央値、及び、コロケートされた時間的な近隣ブロックを含んでいた。さらに、予測値のリストは、第１位置において最も確からしい動き予測値を配置するようにリオーダリングすることにより、及び、最小のシグナリングオーバヘッドを保証するために冗長候補を削除することにより修正されていた。ＡＭＶＰ候補リストの構築の最終的な設計は、ａ）５つの空間的な近隣ブロックから導出される最大で２つの空間候補ＭＶＰ、ｂ）空間候補ＭＶＰの両方が利用可能でないか、それらが同一である場合、２つの時間的にコロケートされたブロックから導出される１つの時間的な候補ＭＶＰ、及び、ｃ）空間、時間又は両方の候補が利用可能でない場合のゼロ動きベクトルのうちの２つのＭＶＰ候補を含む。動きベクトルの決定についての詳細は、本明細書において参照により組み込まれる、Ｖ．Ｓｚｅ等（Ｅｄ．）による書籍、高効率ビデオ符号化（ＨＥＶＣ）：特にチャプター５におけるアルゴリズム及びアーキテクチャ、スプリンガー、２０１４年において見つけられる。図４には、候補リストを生成するために用いられるブロック、すなわち、現在のブロックに隣接するコロケートされた（ゼロ）ブロックＣ１、時間的な近隣Ｃ１及び空間的な近隣Ａ０、Ａ１、Ｂ０、Ｂ１、Ｂ２が示されている。
【００６４】
シグナリングオーバヘッドをさらに増加させることなく、動きベクトル推定をさらに改善するために、エンコーダ側で導出され、ビットストリームにおいて提供された動きベクトルをさらに改良することが有益であり得る。動きベクトルの改良は、エンコーダから支援することなく、デコーダにおいて実行され得る。そのデコーダループにあるエンコーダは、同じ改良を使用して、対応する参照ピクチャを取得し得る。改良は、テンプレートを決定し、探索空間を決定し、探索空間において、テンプレートと最もマッチングする参照ピクチャ部分を見つけることにより実行される。最もマッチングする部分の位置は、そして、現在のブロックの予測値を取得するために用いられる最良の動きベクトルを決定する、すなわち、現在のブロックが再構築される。
【００６５】
動きベクトルの改良が、デコーダ側において適用される場合、また、エンコーダ側におけるデコーダループは、デコーダ側で生成されて用いられるように、同じ参照ピクチャも同様に生成するために、動きベクトルの改良を実施しなければならない。動きベクトルの改良に先行する動きベクトルの導出ステージは、特に、動きベクトル候補リストがさらに改良される動きベクトルの推定を選択するために用いられる場合、デコードされる現在のブロックを空間的に囲むブロックの動きベクトルについての情報を通常要求する。現在のブロックに対する動きベクトル候補リストは、既にデコードされて、現在のブロックに対して空間的に又は時間的に隣接するブロックの動きベクトルに基づいて形成される。近隣ブロックの動きベクトルの利用可能性に対する動きベクトルの決定のこの依存性は、エンコード及び／又はデコードの並列化をさらに難しくする。さらに、そのような依存性はまた、符号化されたストリームのエラー耐性を低下させる。特に、動きベクトルの改良を実行するためには、テンプレートマッチングの目的で、参照ピクチャを正しくデコードする必要がある。参照ピクチャがエラーを含む場合、それらはさらに伝搬される。典型的には、テンプレートマッチングが動きベクトルの改良のために用いられることに留意する。しかしながら、本開示は、テンプレートマッチングが動きベクトルの決定に適用される場合にも適用可能である。
【００６６】
図３は、図１及び図２に示されるインター予測ユニットの構造の例を示す。初めに、動きデータが決定３１０される。これは、上記で説明したように、ＡＭＶＰ３１５により、候補の動きベクトルのリストから動きベクトルを選択することにより実行される。動きベクトルが決定されるとすぐに、（特に、動きベクトル又はベクトルが端数画素の位置を指し示す場合）端数補間３２０は行われてよく、それぞれの動きベクトルの予測値が決定される（３３０：方向０、及び３３５：方向１）。それぞれの方向（すなわち、参照ピクチャ）における予測値の決定に基づいて、テンプレートは、デコーダの動きベクトルの改良ブロック３４０中に実行されるマッチングのために形成される。改良された動きベクトルは、そして、現在のブロックの動き補償予測を取得３６０するために重み付けされる３５０。
【００６７】
図５は、動きベクトルの改良が適用される場合のデコーダにおける処理を図示する。特に、図５の上部に示されるように、処理ユニットＰＵ１、ＰＵ２、ＰＵ３などは、次から次へと解析エンジンにより解析される。解析エンジンは、図２のエントロピーデコーダ２０３に対応し得る。ピクチャブロックのテクスチャを再構築するためにインター予測により処理される各解析処理ユニットは、インター予測ブロック２１０に提供され、それが縦の矢印により図示される。処理ユニットＰＵ２を見ると（右列の矢印）、改良のアプリケーションに起因して、ＰＵ１及びＰＵ２の並列処理がほぼ不可能になっていることが分かり得る。マージリスト（概して、既にデコードされたブロックに基づいた候補の動きベクトルのリスト）を構築するために、近隣ブロック、例えば、ＰＵ１の動きベクトルが知られるべきである。動きベクトルの改良は、計算的に複雑なテンプレートマッチングに基づいてよく、かつ、改良の後のみに動きベクトルが知られるので、マージリストにおいて動きベクトルが用いられるすべてブロックが処理されるまで（図５のＰＵ１）、ＰＵ２は、動きベクトルの導出を開始することができない。特に、ＰＵ１に関して、マージリストの構築、例えば、ビットストリームから抽出されるマージリストインデックスを用いた初期の動きベクトルの選択、並びに改良は、マージリストを生成するために改良された動きベクトルがＰＵ２の処理に渡される前に実行される。図５によれば、テクスチャ再構築は、改良段階においてここで実行されるテンプレートマッチング中に既に完了している。したがって、改良の後に、ＰＵ１の動きベクトルは、ＰＵ２の処理に渡され得る。フィルタリングは、動きベクトルを変更せず、単に、その品質をさらに改善するために再構築されたＰＵ１に適用されるだけである。フィルタリングは、例えば、デブロッキングフィルタリング又は任意の適応可能なフィルタリングであってよい。
【００６８】
この例から分かるように、異なる処理ユニットの処理はほぼ順次的である。さらに、動きベクトルの改良は、そのオペレーションのために、参照ピクチャのサンプル又は部分サンプルの形式の探索空間を必要とする。したがって、参照ピクチャが見当たらない又はアーチファクトを伴ってデコードされている場合、これは、現在のブロックのデコードに対する品質に関して影響を与え得る。したがって、利用するインター予測又は動きベクトルの改良についてのデコーダ処理を図示する図５に示されるデコードは、異なるＰＵに対して効率的な並列化を可能にできず、見当たらない又は間違ってデコードされた参照ピクチャにより引き起こされるさらなる劣化をもたらす。
【００６９】
つまり、デコーダ側の動きベクトルの導出及び改良処理は、１）エラー耐性問題及び並列化問題を引き起こし得る。特定の使用事例では、空間的及び時間的な方向におけるエラー伝播が制御可能である必要がある（既知の領域内に制限される可能性があり、特定の測定を行うことにより再生可能であり得る）ことを必要とする。従来の方法には、伝送の際にエラーがある場合、再構築エラーが時間的及び空間的な方向に制御不能に伝搬するという課題がある。
【００７０】
デコーダ側の並列処理の課題に関して、大きな候補ポイント空間の内部のテンプレートマッチングオペレーションを必要とするので、デコーダ側のＭＶ導出及び改良ツールは計算集中型である。そのため、導出及び改良オペレーションを近隣のＰＵに対して並列に行って、スループットを向上させることができるようにする必要がある。
【００７１】
本明細書において、ＰＵ（ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）という用語は、インター予測により処理されるブロックなどのピクチャユニットを指す。１つのピクチャの複数のＰＵはまた、異なるサイズを有してよい。
【００７２】
Ｈ．２６５／ＨＥＶＣなどの現在のコーデックは、特定の使用事例について動きベクトル予測を無効にするなど、いくつかのレジリエンス機能を提供する。例えば、ビットストリーム内のフラグがそう示す場合、時間的にコロケートされたブロックの動きベクトルは、ＭＶ予測に用いられていない。さらに、エンコーダの決定のための並列マージ推定が可能である。書籍「高効率ビデオ符号化（ＨＥＶＣ）、Ｖｉｖｉｅｎｎｅ  Ｓｚｅ、Ｍａｄｈｕｋａｒ  Ｂｕｄａｇａｖｉ、Ｇａｒｙ  Ｊ.Ｓｕｌｌｉｖａｎ著」、Ｓｐｒｉｎｇｅｒ、２０１４年のセクション５．２．２．５「並列マージモード推定に関するマージ推定領域」では、当該技術を詳細に説明している。特に、ウィンドウ（動き推定領域、ＭＥＲ）が規定されており、領域に収まるブロックは、互いに動き情報を継承することが認められていない。つまり、２つのブロック（現在のブロック及び近隣ブロック）が同じＭＥＲにある場合、並列処理能力を改善するために、近隣ブロックの動き情報は、現在のブロックのマージリストに含まれていない。
【００７３】
並列化の可能性を改善し、同時に、より高いエラー耐性を提供するために、本開示によれば、近隣ブロックがテンプレートマッチングにより動きベクトルを取得していない場合、テンプレートマッチングは、現在のブロックの動きベクトルを決定するためにのみ適用される。
【００７４】
したがって、テンプレートマッチングを用いるブロックは、隣接ブロックをデコードするためにさらに用いられることはないので、テンプレートマッチングを用いてデコードされたブロックの処理中に、隣接ブロックはデコードされ得る。さらに、隣接ブロックは、テンプレートマッチングにより再構築されるブロックを用いないので、たとえ、テンプレートマッチングに必要な参照ピクチャが見当たらない又は損傷していたとしても、隣接ブロックはデコードされ得る。
【００７５】
本発明はまた、近隣ブロックがテンプレートマッチングに基づいて動き導出又は改良を適用する場合、空間的な近隣ブロックからの予測を制限し得る。それは、当該ブロックが導出又は改良を適用し、これら２つの技術をあわせて適用できる場合のみ、時間的な近隣ブロックからの予測を制限し得る。上記のように、ＨＥＶＣは、エラー耐性及び並列化を支援するために２つの異なる手法を現在提供している。それは、予め定められたウィンドウ内での動き情報予測又は継承を完全に無効する。結果として、それは、符号化利得と並列処理能力を交換する。
【００７６】
いくつかの実施形態では、予測のために現在のブロックにより用いられる近隣ブロックの動き情報は、（それらが同じウィンドウの内側に配置されることが可能であるならば）最適でないバージョンと置き換えられる。予測は完全に無効にされるわけではないので、符号化損失ははるかに低い。本発明は、動き導出又は改良を適用する近隣ブロックに適用する。近隣ブロックが導出又は改良処理を用いない場合、動き情報は、現在のブロックにより継承され（又は、予測値として用いられ）得る。
【００７７】
現在のブロックの再構築のために、現在のブロックの予測を決定するための実施形態に係る例示的な装置は、現在のブロックに隣接するブロックの動きベクトルがテンプレートマッチングにより決定されたか否かを検出するための予測ユニットを備える。否定的に検出した場合、隣接ブロックに従って現在のブロックの予測を導出する。一方、肯定的に検出した場合、隣接ブロックに従って現在のブロックの予測を導出しない。
【００７８】
これは、図６に図示されており、インター予測ユニット、例えば、図２の２１０は、予測のために近隣ブロックを用いるか否かの検出をさらに実施する。これは、図３のインター予測デバイス３００に対応するインター予測デバイス６００に加えられるブロック決定ユニット６６０により実現され得る。
【００７９】
例１：置換ベクトル
【００８０】
第１例によれば、本発明は、近隣ブロックの動きベクトルから形成された候補のリストに基づく動きベクトルの決定に適用されてよい。したがって、現在のブロックの予測を決定するための上述した装置は、さらに、動きベクトルを決定して、現在のブロックのインター予測を決定するために構成される。現在のブロックの再構築の目的のために、予測ユニットは、現在のブロックに対する候補の動きベクトルのリストを形成するための動きベクトルリスト決定ユニット６１５Ａ、６１５Ｂを備え、リストを形成することは、
−ブロック決定ユニット６６０により、隣接ブロックの動きベクトルがテンプレートマッチングにより決定されたか否かを検出すること、
−否定的に検出した場合、隣接ブロックの動きベクトルを候補としてリストに含めること、及び、
−肯定的に検出した場合、隣接ブロックの動きベクトルを候補としてリストに含めないこと
を含む。
【００８１】
装置は、リストから動きベクトルの推定値を選択し、推定値に従って現在のブロックの動きベクトルを決定するための動きベクトル決定ユニット６２０Ａ、６２０Ｂをさらに備えてよい。
【００８２】
特に、リスト決定ユニット６１５Ａ、６１５Ｂは、肯定的に検出した場合、置換動きベクトルを候補としてリストに含めるように構成されてよい。
【００８３】
図６に見られるように、動きベクトルの導出は、ピクチャ間予測ブロックマージングブロック及び高度な動きベクトル予測を含む。しかしながら、本開示はまた、これらの手法／ブロックのうちの１つのみが提供される場合、又は、任意の他の動きベクトルの導出手法が用いられる場合に適用可能であり、２つの段階、すなわち、動きベクトルリストの生成及び当該リストからの動きベクトルの選択に基づいている。ブロック決定ユニット６６０は、近隣（前にデコードされており、かつ、空間的に又は時間的に直接隣接又は斜めに隣接する）ブロックの予測タイプ／モードの情報６０５をその入力として受信する。これに基づいて、ブロック決定ユニット６６０は、現在のブロックの動きベクトルがＭＶリスト（６１５Ａ及び／又は６１５Ｂ）を解析するために用いられるか否かを決定する。
【００８４】
ＡＭＶＰユニットは、エンコーダにより決定され、ビットストリームにおいてシグナリングされているときに、動きベクトル予測と動きベクトルとの間の差に関する情報をその入力６０２上で受信する。ＭＶリスト６１５Ｂは、ブロック決定ユニット６６０の決定に従って生成され、候補の選択６２０Ｂは、リストから動きベクトル予測を選択することにより実行される。同様に、ピクチャ間予測ブロックマージング（ＩＰＢＭ）は、ブロック決定ユニット６６０による制御に従うマージリストの生成６１５Ａ及びマージリストからの最良の候補の選択６１５Ａを含む。補間３２０が実行されてもよいが、概して実行される必要はない。そして、単一の動きベクトルに基づいて（２つのユニット３３０及び３３５のうちの１つのみが用いられるそのような場合）、又は、ユニット３３０及び３３５のそれぞれにおける２つのＭＶに基づいて、予測が計算される。概して、双予測がサポートされていない場合、ユニット３３０及び３３５のうちの１つのみが実施され得ることに留意する。これらのブロック３２０−３６０は、図３を参照して説明されたものと同様に動作する。
【００８５】
図７は、動きベクトルの選択された推定値の改良を適用するための動きベクトルの改良ユニット３４０がまた装置に含まれる例を図示する。さらに、動きベクトル候補リスト決定ユニット６１５は、肯定的に検出した場合、改良を適用する前に、テンプレートマッチングにより取得される隣接ブロックの動きベクトルの推定値をリストに含めるように構成され、動きベクトル決定ユニット３１０は、さらに、改良の後に、隣接ブロックの動きベクトルの推定値に従って、隣接ブロックの動きベクトルを決定するように構成される。つまり、この例では、動きベクトルの非改良バージョンは、概して、テンプレートマッチングの前の動きベクトルの推定値であり、次の処理ユニットの再構築処理によるさらなる使用のために、メモリに格納される。動きベクトルの改良バージョンは、場合によりフィルタリング処理に続いて、現在の符号化ブロックのサンプル再構築処理のために用いられる。
【００８６】
図７は、図４の例と同様の処理ユニットの解析を示す。しかしながら、ＰＵ１を処理する場合、ＰＵ２に隣接するＰＵ１に対して選択される改良されていない動きベクトルは、ＰＵ２の処理プロセスに出力される。特に、ＰＵ２は、ＰＵ１の改良されていない動きベクトルを用いて、その動きベクトル候補リストを形成する。同時に、ＰＵ１処理は、動きベクトルの改良、テクスチャの再構築（改良された動きベクトルに基づく現在のブロックの予測）及びフィルタリングにより継続される。フィルタリングのステージが省略されてよいことに留意する。図に示すように、ここで、ＰＵ１がさらに処理されている間に、ＰＵ２の動きベクトル候補リストが形成されてよく、動きベクトルの選択及び改良が行われる。したがって、インター予測の処理レベルでの並列化が近隣処理ユニットに対して可能になる。同時に、改良の前に、ＰＵ１に対して動きベクトルが選択されているので、参照ピクチャの利用可能性／正確性に依存しない。したがって、ＰＵ１からＰＵ２へのエラー伝播は行われず、エラー耐性の向上につながる。
【００８７】
つまり、図７では、ＰＵ１は、テクスチャ再構築及びフィルタリング処理のために導出／改良処理の出力を用いる。ＰＵ２（ＰＵ１の近隣である）は、ＭＶ予測のために（ＰＵ１の）導出／改良の出力を用いていない。代わり、ＰＵ２は、ＭＶ予測のために（改良／導出処理が完了する前に取得され得る）最適でないバージョンを用いる。
【００８８】
例１によりもたらされる利点のうちの１つは、並列化が可能となることであることに留意する。しかしながら、必ずしも各エンコーダ／デコーダが並列化を用いる必要はない。別の利点は、並列化が実行されるか否かをエンコーダ／デコーダが選択し得る点にある。並列化が実行される場合、動きベクトルの改良ユニットが隣接ブロックに対する改良を適用している間に、動きベクトルリスト決定ユニットは、現在のブロックに対するリストを形成するように構成される。
【００８９】
上記の第１例の一部は、近隣のタイプ、特に、近隣ブロックが時間又は空間領域内の現在のブロックに直接隣接しているか否かを区別していない。この区別を行うために、いくつかの追加の利点を提供し得る。特に、（デコード順序で）時間的に先行する近隣の動きベクトルは、典型的には、動きベクトルリストが現在のブロックに対して形成された場合に利用可能である。したがって、並列化の利点のみを目標とするのであれば、たとえ、時間的な近隣ブロックの動きベクトルがテンプレートマッチングを適用することにより取得されていたとしても、より具体的には、この例に関して、それらが改良されていたとしても、時間的な近隣ブロックを動きベクトルリストに含めるために有益であり得る。
【００９０】
したがって、対応して、動きベクトルリスト決定ユニットは、肯定的に検出した場合、
−隣接ブロックが現在のブロックと同じピクチャ内に配置されている場合、改良を適用する前に、テンプレートマッチングにより取得される隣接ブロックの動きベクトルの推定値をリストに含め、
−隣接ブロックが現在のブロック以外のピクチャに配置されている場合、隣接ブロックに対する改良を適用した後に、隣接ブロックの動きベクトルをリストに含める
ように構成されてよい。
【００９１】
現在のピクチャの前に時間的な参照ピクチャが再構築されるので、時間的な参照ピクチャ内の改良された動きベクトルを参照することで、現在のピクチャの再構築の速度を落とさずに済む。動きベクトルの改良を適用する各処理ユニットは、後の予測のために２つの候補、すなわち、（デコード順序で）後の処理ユニットによる動きベクトル予測のために空間的な近隣により用いられる改良されていない動きベクトルと、後のブロックによる及び動き補償による時間的な動き予測、場合により、現在の処理ユニットのフィルタリングの場合に用いられる改良された動きベクトルを格納する。上記のように、置換の使用の代わりに、テンプレートマッチングを実行すると、符号化効率がわずかに低下し得る。
【００９２】
図８は、上記で説明した手法を図示する例示的な方法を図示する。特に、段階Ｓ８１０では、現在のブロックと、その近隣のうちの１つとが同じウィンドウ内に配置されているか否かが決定される。当該ウィンドウは、例えば、空間ウィンドウであり得る。この例では、ウィンドウは、ピクチャ全体であってよい。したがって、現在及び近隣ブロックが同じウィンドウ内にある場合にテストされ得る。ない場合（段階Ｓ８１０における「いいえ」）、次に、改良された動きベクトルが動きベクトル予測のために現在のブロックにより用いられ、例えば、近隣ブロックの改良された動きベクトルは、段階Ｓ８５０において候補の動きベクトルのリストに含められる。
【００９３】
別の方法で、近隣ブロック及び現在のブロックがウィンドウ内に配置されている場合、段階Ｓ８２０において、近隣ブロックが、テンプレートマッチングを用いることにより動きベクトルの改良又は導出を適用するか否かがテストされる。「いいえ」の場合、すなわち、近隣ブロックがテンプレートマッチングにより決定される動きベクトルを有していない場合、次に、段階Ｓ５０が続き、改良が現在のブロックに対して実行されることを意味する。一方、近隣ブロックが、テンプレートマッチングを用いて動きベクトルの改良又は導出を適用する場合、段階Ｓ８３０において、現在のブロックとその近隣のうちの１つとが同じピクチャに属しているか否かがさらにテストされる。したがって、現在のブロック及び近隣ブロックが同じピクチャ内にない（段階Ｓ８３０において「いいえ」）の場合、次に、改良された動きベクトルが動きベクトル予測のための現在のブロックにより用いられ、例えば、段階Ｓ８５０において、時間的な近隣ブロックの改良された動きベクトルが、候補の動きベクトルのリストに含められる。一方、段階Ｓ８３０において、回答が「はい」の場合、段階Ｓ８４０において、置換動きベクトルが、動きベクトル予測のために現在のブロックにより用いられる。
【００９４】
上記の例では、段階Ｓ８１０及びＳ８３０は、同じ条件をテストしているように思われる。しかしながら、以下の例では、段階８１０についてさらなる空間ウィンドウの可能性が説明される。さらに、段階Ｓ８３０におけるテストでは、時間ウィンドウをテストしてもよい、すなわち、デコード順序で近隣ブロックは、現在のブロックが配置されている現在のピクチャからデコード順序でｋピクチャ未満に配置されているか否かをテストしてもよいことに留意する。デコードは、概して、エンコード順序と同じであるとみなされることに留意する。つまり、デコード順序は、エンコーダ側により規定されるエンコード順序及び生成されるビットストリーム構造により与えられる。したがって、この例においてデコード順序を参照する場合、代わりにエンコード順序に対して参照が行われ得る。
【００９５】
図７の上記の例では、置換動きベクトルは、改良されていない動きベクトルにより決定されている。しかしながら、本開示は、そのような手法に限定されるものではない。むしろ、置換は、何らかの方法で規定されてよい。
【００９６】
しかしながら、置換動きベクトルは、必ずしも、改良の前の近隣ブロックの動きベクトルである必要はない。例えば、例示的な実施形態において、置換動きベクトルは、現在のブロックの近隣にあり、かつ、隣接ブロックとは異なるブロックの動きベクトルである。
【００９７】
図１０は、Ａ１と称される近隣ＰＵを有する現在のＰＵを図示し、Ａ１はＸ１と称される近隣ＰＵを有する。近隣ブロックＡ１が、動きベクトルの導出／改良（テンプレートマッチング）を適用する場合、候補の動きベクトルのリストは、Ａ１の空間的及び／又は時間的な近隣（例えば、Ｘ１）を用いてＰＵ  Ａ１に関して構築される。現在のＰＵのための候補の動きベクトルは、次に、近隣ブロックＡ１のために構築された候補のリストから選択され又は算出される。選択又は算出された候補Ａ１＿ＭＶ＿置換は、Ａ１に対する動きベクトルの決定についての出力である動きベクトルとは異なり得る。ここで、選択は、可能性のある候補のリストからの選択を意味する。動きベクトルの計算は、別の方式で、例えば、１より多い候補の動きベクトルを平均化することにより、又は、候補ＭＶに基づく又は候補を参照することなく任意の他の方法で動きベクトルを計算することにより、動きベクトルを取得する。有利には、Ａ１＿ＭＶ＿置換は、テンプレートマッチングにより取得されている。しかしながら、Ｘ１は、現在のＰＵの直接隣ではないので、ある実施例によれば、Ａ１＿ＭＶ＿置換は、テンプレートマッチングを用いて、現在のＰＵをデコードする場合にＡ１＿ＭＶ＿置換が利用可能である可能性が高いと判定してもよく、その結果、現在のＰＵと、例えば、Ａ１と並列処理がさらに可能であることに留意する。
【００９８】
一例によれば、Ｘ１は、その左側にあるＡ１の隣接ブロックであるが、Ｘ１は、現在の処理ユニットに隣接していない。とはいえ、Ａ１の近接又はＡ１の時間的な近隣内にある任意の他のブロックが用いられてもよい。Ｘ１の動きベクトルは、Ａ１＿ＭＶ＿置換として用いられ得る。
【００９９】
概して、現在のＰＵの候補リスト（セット）は、いくつかの近隣のＰＵの動きベクトルをその中でリスト化することにより形成される。動きベクトルが現在のＰＵの候補リストに含められる空間的及び／又は時間的な近隣ＰＵは、テンプレートマッチングにより決定され、その結果、置換ベクトルは、代わりに、現在のＰＵの候補セットに含められる。この置換ベクトルは、一例によれば、空間的な及び／又は時間的な近隣ＰＵの候補リストからの動きベクトルである。置換ベクトルは、概して、既に改良された動きベクトルであってよい、又は、（例えば、ビットストリームシグナリングに基づいた動きベクトル予測により）テンプレートマッチングを行うことなく決定された動きベクトルであってよい。
【０１００】
図９は、置換動きベクトルの別の例示的な実施形態を示す。この例示的な実施形態によれば、現在のＰＵの候補リストを構築する場合、候補リストに含められるがテンプレートマッチングを用いて決定される近隣ブロックの動きベクトルは、リストに含められる以下の候補の動きベクトルの動きベクトルにより置き換えられる。例えば、図９は、近隣Ａ０からＡｍ＋１を左側に及び近隣Ｂ−１からＢｎ＋１を上部に有する現在のＰＵを示す。
【０１０１】
図９に見られるように、概して、（本明細書で開示される例のいずれかにおいて）、処理対象のＰＵは、異なるサイズを有し得る。したがって、現在のＰＵは、いくつかの空間的な近隣、及び、（前にデコードされたピクチャ内の）いくつかの時間的に、かつ、さらに少なくとも部分的にコロケートされた近隣を有してもよい。
【０１０２】
さらに、本明細書において開示された例及び実施形態のいずれかに適用可能でもあり得る一実施例によれば、各ＰＵに対する候補リストの構築は、例えば、規格に規定された予め規定された方式で実行される。例えば、候補リストは、予め規定された順序に従って、現在のＰＵの近隣の動きベクトルをその中に含めることにより構築され得る。候補リストは、一定のサイズを有し得る。候補リストを形成するためのそのようなルールは、エンコーダ及びデコーダが互換性のあるやり方で動作することを可能にする。例えば、予め規定された順序は、前にデコードされた（直接隣接する）ピクチャ内の動きベクトルＡ０からＡｍ＋１、Ｂ−１からＢｎ＋１の動きベクトルが続き、その後に、動きベクトルＣ０からＣｐが続いてよい。ここで、ｍは、左側の近隣の数であり、ｎは、上部の近隣の数であり、ｐは、時間的な近隣の数である。しかしながら、候補リストが構築される方式は、必ずしも、規格において全体的に規定されているわけではないことに留意する。それは、ビットストリーム内のビデオシーケンスに関連するシグナリングにより少なくとも部分的に決定されてよい。さらに、予め定められたルールに従って、図９に示されるすべての近隣及び／又は時間的な近隣の動きベクトルは、必ずしも、リストに含められるわけではない。ルールは、近隣のいくつかのみを規定してよいが、必ずしも、時間的な近隣を含めなければならないわけではないかもしれない。さらに、リストは、近隣ブロックの動きベクトルを直接的に含めなければならないわけではないことに留意する。近隣ブロックの動きベクトルから算出された動きベクトル（例えば、相互に隣接する近隣の２つの動きベクトルの平均など）を含んでもよい。
【０１０３】
この例示的な実施形態において、候補リストは、現在のＰＵのために構築される。Ａｍ＋１の動きベクトルが、（予め定められたルールに従って）リストに含められるが、テンプレートマッチングにより決定されている場合、Ａｍ＋１の動きベクトルの代わりに、現在のＰＵの候補リストにおいてＡｍ＋１に続くＰＵの動きベクトルが、Ａｍ＋１の動きベクトルに対する置換として用いられる。この例において（上記で言及した一連のブロックを参照）、置換ベクトルはＢ−１である。上記のように、予め規定されたルールは、Ａｍ＋１からＡ０、Ｂ−１からＢｎ＋１、Ｃ０など、様々な順序を規定してよい。そのような場合、Ａｍ＋１に続く次のブロックは、Ａｍ＋１の動きベクトルが現在のＰＵに対する候補のリストにおいてＡｍの動きベクトルにより置き換えられるようにＡｍである。
【０１０４】
すべての近隣ブロックが、テンプレートマッチングを用いてこれらのそれぞれの動きベクトルを導出し、次に、別の近隣の動きベクトルをとることにより現在のブロックの動きベクトルを決定することができない場合、実施形態によれば、現在のブロックは、動きベクトルの導出又は改良のためにテンプレートマッチングを適用しないものとすることに留意する。代わりに、そのような場合、ＭＶ候補の予め規定されたセットが、ＭＶ予測値候補リストを構築するために用いられ得る。そのような予め規定されたセットは、ｘ軸及びｙ軸におけるゼロであるＭＶを含み得る。同様に、動きベクトルを決定するために用いられ得る近隣ブロックの近隣がない場合、現在のブロックは別々に予測される。例として、それは、インター予測の代わりにイントラ予測を用いて予測され得る。
【０１０５】
上記の例示的な実施例において、テンプレートマッチングにより決定される現在の処理ユニットの候補の動きベクトルは、候補のリスト内の置換ベクトルにより置き換えられる。置換ベクトルを提供するためのいくつかの例が上記に示されており、近隣処理ユニットの並列処理を可能する、及び／又は、エラー耐性を向上させる。
【０１０６】
例２：領域制限
【０１０７】
第１例及び／又は以下の例のいずれかと組み合わせ可能な第２例によれば、Ｎ×Ｍサンプルの大きな領域内にあるブロックは、同じ領域内にも配置されている近隣ブロックから、改良された動きベクトル候補（又は、概して、テンプレートマッチングを適用することにより決定された動きベクトル候補）を用いることができない。一方、ブロックは、同じ領域内に配置されていない周囲又は一定の近隣ブロックから、改良された動きベクトル候補を用いてよい。
【０１０８】
つまり、予測ユニットは、現在のブロックの再構築のために、現在のブロックの位置に関して規定された予め決定された領域内に配置される周辺ブロックの動きベクトルがテンプレートマッチングにより決定されたか否かを検出するように構成され得る。当該領域は、矩形又は正方形であってよい。しかしながら、本開示は、それにより限定されるものではなく、領域は、任意の他の形状を有してよい。
【０１０９】
この手法は、図８の段階Ｓ８１０に図示されており、段階Ｓ８１０では、近隣ブロック及び現在のブロックが同じウィンドウの内側に配置されているか否かが決定される。ウィンドウは、Ｎ×Ｍサンプルの領域であってよい。
【０１１０】
図１４及び図１５は、第２例に係る領域の例を示す。
【０１１１】
特に、図１４は、Ｎ×Ｍサンプルの矩形領域を示す。この領域内に配置されるブロックの動きベクトルは、特に、導出がテンプレートマッチングを含む場合、同じ領域内に配置されるブロックの動きベクトルを導出するために用いられることができない。一方、たとえ、領域内のブロック、ブロックＢ０が近隣にあったとしても、ブロックＢ０などの領域の外に配置されるブロックの動きベクトルが、領域内のブロックの動きベクトルを導出するために用いられてよい。この手法は、同じ領域内にあるブロックの並列処理を可能にする。現在のブロックの領域は、現在のブロックの位置に対して相対的に有利に規定され得る。図１４の例では、「領域内」の規定は、ブロック全体（現在及び／又は近隣）、すなわち、そのすべてのサンプルが領域内に配置されることを意味する。しかしながら、これは、この例のオペレーションに対して効果的な結果を何ら招くものではないしきたりにすぎない。
【０１１２】
図１５は、別の例を示し、領域内の位置が、近隣又は現在のブロックの左上のサンプルの位置のみにより決定される。破線は、前の例と同様に、領域Ｎ×Ｍサンプル大（仮想グリッドＴ）を示す。ここで、矩形のブロックであるが、領域内に完全に配置されているわけではないブロックＸは、その左上隅が領域内に配置されているので、領域と重複するが当該領域に入るものとみなされる。
【０１１３】
概して、領域は、ブロックの左上の位置に対して決定される必要はないが、ブロックの任意の位置、例えば、中央の位置に対して決定され得ることも留意する。
【０１１４】
要約すると、Ｎ×Ｍ領域内にある現在のブロックは、同じ領域内に配置され、かつ、テンプレートマッチングに基づいて導出及び／又は改良により処理されるブロックの動きベクトルを用いることができない。代わりに、ブロックは、上記の例１で説明したように、例えば、置換動きベクトルを用いることができる。例えば、置換ベクトルは、改良の前の領域内にある近隣ブロックの動きベクトルである、又は、近隣ブロックの近隣（現在のブロックに隣接していない）の動きベクトルである、又は、別の近隣ブロックの動きベクトルである。
【０１１５】
Ｎ×Ｍ領域内の現在のブロックは、それらがどのように決定されるかに関係なく、領域の外側に配置されたブロックの動きベクトルを用いることができる。このルールは、領域の内側／外側の条件がどのように規定されるか（ブロックのすべての画素又はブロックの左上の画素などの参照ポイントのみが領域内になければならないか否か）に関係なく適用する。
【０１１６】
例３：チェックを省略する
【０１１７】
第３例によれば、テンプレートマッチングにより決定される近隣ブロックの動きベクトルは、依然として現在のブロックの候補リストに含まれている。
【０１１８】
候補リスト、例えば、マージリスト又はＡＭＶＰリストの構築は、冗長検査が実行された後に、多数の近隣ブロックの動き情報をチェックすること、及び、それを候補リストに加えることを含んでよい。（規格ＨＥＶＣ／Ｈ．２６５、及び、例えば、本明細書において参照により組み込まれる上述したＶ．Ｓｚｅ等による書籍のセクション５．２．１及び５．２．２で説明されるような）マージリスト構築及びＡＭＶＰ（Ａｄｖａｎｃｅｄ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｏｒ）リスト構築処理は、時間的な及び空間的な近隣ブロックから継承される動きベクトル予測値の２つのリストの構築を参照する。動きベクトルを継承するための近隣ブロックの選択は２つのリストについて異なる（異なるアルゴリズムが使用される）。さらに、マージリストが用いられる場合、動きベクトル予測値が選択されると、ビットストリーム内でシグナリングされる追加の動きベクトルの差はない。一方、ＭＶの差がＡＭＶＰ候補についてシグナリングされる。上記の段落で言及した冗長検査は、２つの近隣ブロックに対して同じ動き情報を識別することを参照する。つまり、マージ又はＡＭＶＰリスト構築処理中、動きベクトルがリストに加えられる前に、当該動きベクトルは、リスト内の既に存在する候補と（それらのすべてと、又は、選択されたサブセットと）比較されて、同一の候補がリスト内に（又は、選択されたサブセット内に）既に存在する場合、リストから外される。冗長検査工程は、２つの動きベクトル、又は、動き情報全体（参照ピクチャインデックス、予測モード（片予測又は双予測）、及び、用いられる参照ピクチャを指し示す動きベクトル）を比較することを含み得る。
【０１１９】
しかしながら、近隣処理ユニットの並列処理を可能とするために、改良された動きベクトルは、動きベクトル候補リスト構築における冗長性がチェックされない。この手法は、候補リスト（例えば、マージリスト又はＡＭＶＰリスト）が改良又は導出される動きベクトルの実際の値を認識することなく構築され得るという利点を有する。実際の動きベクトル再構築は、さらに、導出及び／又は改良処理を待つ必要がある。
【０１２０】
したがって、動きベクトル候補リスト決定ユニットは、さらに、リストに含める対象の動きベクトルがリストに既に含まれているかをチェックし、肯定的な場合、リストにそれを含めないように構成され、現在のブロックの処理と少なくとも部分的に並列に処理される隣接ブロックの動きベクトルをリストに含める場合、当該チェックは実行されない。
【０１２１】
これは、図１１に図示されている。図１１では、処理ユニットＰＵ１の動きベクトルが決定され、導出及び改良を含む。そして、改良された動きベクトルは、動きベクトル候補リストに入れられる。この例では、冗長検査処理が省略されている。したがって、近隣ブロックにおける動きベクトルの改良処理が完了する前に、現在のブロックの候補リストが構築され得る。改良処理が完了すると、ＰＵ１の改良された動きベクトルは、ＰＵ２の予め構築された候補リストに含められる。つまり、候補リストの構築は、ＰＵ１の動きベクトルを待つ必要はないが、他のブロックの動きベクトル候補と共に完了し得る。そして、ＰＵ２に対する動きベクトルの選択段階が実行される前に、ＰＵ１の動きベクトルが加えられる。ＰＵ１（近隣ブロック）のテクスチャ再構築及びフィルタリングは、ＰＵ２（現在のブロック）の処理、特に、候補リストの構築、動きベクトルの選択／導出及び改良と並列に実行され得る。
【０１２２】
上記の例では、ＰＵ１の動きベクトルの実際の値は、これ以上マージリストの構築処理を必要としないので、ＰＵ１の動きベクトルの導出又は改良が完了する前に、ＰＵ２のマージリストが構築され得る。そのため、ＰＵ１は、マージリストから予測値候補を選択することを続けることができる。この段階で、予測値候補が、（ＭＶ導出又は改良を適用する）ＰＵ１から継承される場合、ＰＵ１の動きベクトルの実際の値は利用可能ではなく、それは、ＭＶ導出／改良及びテクスチャ再構築処理に必要とされるので、ＰＵ１及びＰＵ２は、依然として、並列に処理されることができない。しかしながら、予測値候補が、（ＭＶ導出／改良を適用しない）ＰＵ３から継承される場合、ＰＵ３の動きベクトルの実際の値は既に知られており、現時点において利用可能であるので、ＰＵ１及びＰＵ３は並列に処理されることができる。デコーダ開発者は、便乗した方式でデコード処理を加速させるように、すなわち、いつでも可能な限り、並列ＣＵ再構築を使用することにより本発明の方法を促進できる。
【０１２３】
例４：制限された動きベクトル予測
【０１２４】
上記の例では、テンプレートマッチングを適用する動きベクトル導出及び改良により取得される近隣ブロックの動きベクトルは、現在のブロックに対する動きベクトル候補として用いられていた。しかしながら、本開示は、現在のブロックに対する動きベクトルが、候補のリストからそれらを選択すること、及び／又は、さらにそれらを改良することにより決定される例に限定されるものではない。
【０１２５】
第４例によれば、現在のブロックに隣接するブロック（好ましくは、直接空間的に隣接するが、概して、時間的な隣接ブロックが同様に用いられてよい）の動きベクトルを用いて、現在のブロックの動きベクトルが予測される。予測に対する差は、ビットストリームにおいてシグナリングされてよい。代わりに、デコーダベースの動きベクトルの改良処理は、予測された動きベクトルに対して実行されてよい。
【０１２６】
図１２は、テンプレートマッチングに基づいた動きベクトルの導出及び／又は改良により動きベクトルが決定された１つの左側近隣ブロック１、及び、テンプレートマッチングに基づいた動きベクトルの導出及び／又は改良により動きベクトルが決定されていない１つの上部近隣２と共に現在のブロックを図示する。第４例によれば、現在のブロックが動きベクトルを決定するためにテンプレートマッチングを適用する場合、近隣ブロックの動きベクトルがテンプレートマッチングに基づいて決定されていたのであれば、動きベクトル予測に対する近隣ブロックの動きベクトルを用いない。したがって、図１２では、近隣ブロック１の動きベクトルは、現在のブロックの動きベクトルの動きベクトル予測のために用いられることができない。一方、現在のブロックが、その動きベクトルの決定のためにテンプレートマッチングを適用しない場合、例えば、動きベクトル予測（すなわち、１つの近隣ブロック又はより多くの近隣ブロックの動きベクトルと、ビットストリームにおいてシグナリングされる差とに基づいて決定された予測の合計として現在のブロックの動きベクトルを計算する）のために近隣ブロック１の動きベクトルを用いることができる。
【０１２７】
いずれかの場合、テンプレートマッチングが近隣ブロック２の動きベクトルを決定するために適用されない場合、現在のブロックの動きベクトルは、近隣ブロック２に基づいて予測され得る。現在のブロックに対する動きベクトル予測は、近隣ブロックの１つの動きベクトルを予測として直接的にとることにより実行され得ることに留意する。しかしながら、動きベクトル予測はまた、近隣ブロックの動きベクトルに基づいて、例えば、いくつかの空間及び／又は時間的な近隣ブロックの動きベクトルを平均化することにより実行されてよい。
【０１２８】
例５：限定されたイントラ予測
【０１２９】
第５例によれば、予測ユニットは、
−隣接ブロックの動きベクトルがテンプレートマッチングにより決定されたか否かを検出すること、
−否定的に検出した場合、隣接ブロックの１又は複数のサンプルを参照サンプルのセットに含めること、及び、
−肯定的に検出した場合、隣接ブロックのいずれのサンプルも参照サンプルのセットに含めないこと
を含む、現在のブロックに対する参照サンプルのセットを決定するための参照サンプル決定ユニットを備える。
【０１３０】
さらに、予測ユニットは、参照サンプルのセットからのサンプルに従って、現在のブロックの予測を提供するためのイントラ予測ユニットを含む。
【０１３１】
これは図１３に図示されており、現在のブロックは、テンプレートマッチングを適用することより動きベクトルが決定された１つの左側近隣ブロック１と、テンプレートマッチングを適用することにより動きベクトルが決定されていない又は決定されていない１つの上部近隣ブロック２とにより囲まれている。現在のブロックはイントラブロックである、すなわち、その予測が同じピクチャ内の周辺ブロックの参照サンプル（画素）に基づいてイントラ予測により決定される。近隣ブロック１は、動きベクトルの導出及び／又は改良を適用するので、現在のブロックのイントラ予測は、近隣ブロック１のサンプルを用いることはない。近隣ブロック２は、動きベクトルの導出及び／又は改良を適用しないので、現在のブロックのイントラ予測は、イントラ予測のために近隣ブロック２の再構築されたサンプルを用いてよい。
【０１３２】
既に上記で言及したように、たとえ図１２及び図１３が１つの左側近隣ブロック及び１つの上部近隣ブロックのみを示していたとしても、概して、図９に示されるように、より多くの近隣ブロックが存在してよい。概して、第５実施形態では、これらの動きベクトルを導出するためにテンプレートマッチングを用いられたブロックの参照サンプルは、現在のブロックのイントラ予測には用いられない。
【０１３３】
例６：シグナリング
【０１３４】
エンコーダ及びデコーダが互換性のあるやり方で操作することを可能にするために、制御シグナリングは、上記で説明したように、並列処理及び／又はレジリエンスが制御されたか否か、及び、どのように制御されたかを規定するビットストリームに導入され得る。
【０１３５】
図１及び図２を参照して既に説明したように、ビットストリームから複数のピクチャをデコードするためのビデオデコーダは、制御情報を含むビットストリームを解析するためのビットストリームパーサと、上記の例で説明したような予測ユニットと、現在のブロックの予測に基づいて、現在のブロックを再構築するための再構築ユニットとを備えてよい。
【０１３６】
さらに、複数のピクチャをビットストリームへとエンコードするためのビデオエンコーダは、上記の例において説明したような予測ユニットと、ビットストリームに制御情報を含めるためのビットストリームフォーマと、現在のブロックの予測に基づいて、現在のブロックを再構築して、再構築したブロックをメモリに格納するための再構築ユニットとを備えてよい。
【０１３７】
ビデオエンコーダ又はデコーダは、隣接ブロックの動きベクトルがテンプレートマッチングにより決定されたか否かを予測ユニットが検出したか否かを示すフラグ、及び／又は、肯定的に検出した場合、現在のブロックに対する予測がどのように決定されるかを示す置換インジケータを含む制御情報を用いて動作してよい。
【０１３８】
特に、制御フラグは、本開示に係る制限が適用されるか全く適用されないかを示してよい。フラグが、適用されていないことを示す場合、チェックは実行されず、現在のブロックの動きベクトルは、近隣ブロックの動きベクトル自体がどのように導出されるかに関係なく、常に、近隣ブロックの動きベクトルから導出され得る。別の方法で、上記の実施形態及び例のうちの１つが適用する。実施形態及び例のうちのどれが適用されるかは、規格に規定され得る。
【０１３９】
さらに、上記で説明した実施形態及び例のうちの１つのアプリケーションを選択することが可能であり、例えば、制御シグナリングが提供されてよく、置換ベクトルがどのように決定されるか（近隣の改良されていない動きベクトル、近隣の近隣の動きベクトル又は別の近隣又は他のものの動きベクトルのコピー）を示す。代わりに又はさらに、制御シグナリングは、置換ベクトル（例１）、領域制限（例２）、チェックの省略（例３）、制限された動きベクトル予測（例４）又は制限されたイントラ予測（例５）のうちの１又は複数が適用されるか否かを規定してよい。領域のサイズが同様にシグナリングされてよい。
【０１４０】
例えば、制御情報は、シーケンスパラメータセット及び／又はスライスヘッダに含まれる。
【０１４１】
本明細書において、「シーケンスパラメータセット」という用語は、概して、シーケンスを形成する複数のピクチャに適用可能なように、エンコーダ及びデコーダにより認識される任意の制御情報フィールドを指す。特に、ＨＥＶＣの場合、これは、シーケンスパラメータセット（ＳＰＳ）又はピクチャパラメータセット（ＰＰＳ）であってよい。しかしながら、本開示は、ＨＥＶＣに限定されるものではなく、概して、１より多いピクチャに適用可能な任意の共通のシグナリングが用いられてよい。これは、ビデオ全体又はビデオピクチャのサブセットに対して用いられる制御情報であってよい。
【０１４２】
さらに、本明細書における「スライスヘッダ」という用語は、ビデオ（ピクチャ）スライスと関連付けられる制御情報を指す。ＨＥＶＣは、ピクチャ全体、又は、他のスライスの別個に解析され得るピクチャの一部を含み得るピクチャスライスを用いる。本明細書において、解析は、エントロピーデコードを含む。いくつかの場合において、スライスはまた、別個にデコード可能である、すなわち、イントラ予測を用いたデコードのために、他のスライスからの情報を用いない。しかしながら、概して、制御情報は、関連するシグナリングが提供される任意のピクチャの一部と関連して提供されてよい。
【０１４３】
制御シグナリングは、両方のレベルに対して適用されてよいことに留意する。例えば、制限を用いるか、全く用いないかについてのフラグは、スライスごとにシグナリングされてよく、それに対して、特定の実施形態／例／領域サイズは、複数のピクチャごとにシグナリングされてよい。
【０１４４】
上記で説明したような動きベクトルの改良を含む動きベクトルの決定は、ビデオ信号（モーションピクチャ）についてのエンコード及び／又はデコードの一部として実施され得る。しかしながら、動きベクトルの決定は、例えば、動き検出又は動き解析などの画像処理において他の目的のために用いられてもよい。
【０１４５】
図１６及び図１７は、上記で説明したような本発明が、より良好なエラー耐性に関連する利点を提供し得るシナリオを図示する。図１６によれば、現在のスライスにおける現在のブロックが指し示す参照ピクチャの一部を再構築するために必要とされるスライスが失われている。そのような場合、現在のブロックの近隣はまた、失われたスライス部分を指し示す可能性が高い場合。スライス部分が隠されている場合、ピクチャの品質劣化があるかもしれない。再伝送される場合、より高いデコーダ遅延があるかもしれない。本発明のいくつかの例示的な実施形態によれば、参照ピクチャを用いて動きベクトルを決定する近隣の動きベクトルは、現在のブロックに対して用いられない。したがって、スライス損失に起因するエラー伝播又は遅延がない。
【０１４６】
図１７では、参照ピクチャだけではなく、現在のブロックの候補リストにおいて用いられる、又は、現在のブロックの動きベクトルの予測のために用いられる近隣ブロックの動きベクトルも破損している。参照フレームが失われている場合、現在のブロック内の画素サンプルは再構築されることができない。さらに、現在のスライスにおける現在のブロックの動きベクトルは、この例において再構築されることができない。現在のスライス及び後続のスライスにおける動きベクトルのすべてが破損している。デコード順序で次のブロックは、ＭＶ予測（マージ、ＡＭＶＰなど）において、失われたＭＶを用いることができるので、デコーダにはリカバリの簡単な方法はない。エンコーダは、エラー伝播を制御する手段を有していない（符号化順序で現在のブロックに先行する符号化ブロックがすべて破損し得る）。
【０１４７】
上記で説明したように、本発明によれば、図１７における参照ピクチャのうちの１つが失われている場合、（参照サンプルが失われているので）現在のブロックの画素は破損しているが、ブロックにより用いられる動きベクトルは、正しく再構築されることが保証されている。（本発明の方法により提供される利益である）動きベクトルを正しく再構築することを可能にすることで以下の２つの利益を提供する。
−デコーダは、エラー隠蔽アルゴリズムを使用できる。ビデオシーケンスにおいて連続するピクチャは高く相関付けられるので、インテリジェントなデコーダは、単に失われたピクチャと利用可能な参照ピクチャとを置き換えるだけで、それに応じて、動きベクトルをスケーリングし、現在のブロックに対してかなり良好な予測を取得できる。現在のブロックの動きベクトルが正しく再構築されることが可能であったので、このシンプルなエラー隠蔽方法を行うことが可能である。
−現在のブロックの動きベクトルは、（空間的又は時間的な近隣内にある）次の符号化ブロックによる動きベクトル予測値として用いられる可能性が高く、現在のブロックの動きベクトルを再構築することが可能となることにより、次の符号化ブロックの動きベクトルも正しく再構築されることを保証する。結果として、参照ピクチャのすべてを有する利用可能な（失われていない）次の符号化ブロックは、ここで、その参照ピクチャ及び動きベクトルは、すべて誤りがないので、完全に再構築されることができる。本発明が適用されない場合、失われた参照ピクチャは、現在及び次の符号化ブロックの両方に、ビデオシーケンス全体を通じて、間違った動きベクトル及びエラー伝搬を生じさせる（結果として、たった一つの失われたフレームが、ビデオシーケンス全体を破損させ得る）。
【０１４８】
要約すると、本開示は、（例えば、デコーダベースの動きベクトルの導出及び／又は改良において用いられるような）テンプレートマッチングにより、現在のブロックの近隣のブロックの動きベクトルが決定されたか否かを決定するインター予測に関する。否定的に検出した場合、現在のブロックの予測は、近隣ブロックの動きベクトルに従って導出される。一方、肯定的に検出した場合、現在のブロックの予測は、近隣ブロックに基づくものではない。
【０１４９】
動きベクトルの決定は、装置として実装され得る。そのような装置は、ソフトウェアとハードウェアとの組み合わせであってよい。例えば、動きベクトルの決定は、例えば、汎用プロセッサ、又は、デジタル信号プロセッサ（ＤＳＰ）、又は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）などのチップにより実行されてよい。しかしながら、本発明は、プログラム可能なハードウェア上での実装に限定されるものではない。それは、特定用途向け集積回路（ＡＳＩＣ）上で、ソフトウェアと上述したハードウェアコンポーネントのうちの１又は複数との組み合わせにより実装されてよい。一例では、装置は、プロセッサと、プログラムを保持するメモリとを備え、プログラムは、プロセッサにより実行される場合、プロセッサに上述した方法の段階を実行するよう命令する。
【０１５０】
動きベクトルの決定はまた、コンピュータ可読媒体上に格納されるプログラム命令により実施されてよい。プログラムは、実行される場合、コンピュータに、隣接ブロックの動きベクトルがテンプレートマッチングにより決定されたか否かを検出する段階と、否定的に検出した場合、隣接ブロックに従って現在のブロックの予測を導出する段階と、肯定的に検出した場合、隣接ブロックに従って現在のブロックの予測を導出しない段階とを実行させる。コンピュータ可読媒体は、例えば、ＤＶＤ、ＣＤ、ＵＳＢ（フラッシュ）ドライブ、ハードディスク、ネットワークを介して利用可能なサーバストレージなど、プログラムが格納される任意の媒体であり得る。
【０１５１】
エンコーダ及び／又はデコーダは、ＴＶセット、セットトップボックス、ＰＣ、タブレット又はスマートフォンなどを含む様々なデバイスにおいて実装されてよい。それは、方法の段階を実施するソフトウェア、アプリであってよい。
【０１５２】
本発明は、モーションピクチャビデオ符号化のフレームワーク内で主に上記で説明されているが、提案される技術は、２又はそれより多くのピクチャを備える任意のピクチャセットの符号化（すなわち、エンコード又はデコード）にも適用できる。ピクチャセットは、例えば、医用画像アプリケーション、例えば、一連のコンピュータ断層撮影（ＣＴ）スキャン画像において取得されるさらなるピクチャのセットを備え得る。そのため、添付の特許請求の範囲では、「ビデオ」という用語は、２又はそれより多くのピクチャを備えるモーションピクチャシーケンス又は任意の他のピクチャセットを意味し得る。
【図１】
2020526114.tif 000003
【図２】
2020526114.tif 000004
【図３】
2020526114.tif 000005
【図４】
2020526114.tif 000006
【図５】
2020526114.tif 000007
【図６】
2020526114.tif 000008
【図７】
2020526114.tif 000009
【図８】
2020526114.tif 000010
【図９】
2020526114.tif 000011
【図１０】
2020526114.tif 000012
【図１１】
2020526114.tif 000013
【図１２】
2020526114.tif 000014
【図１３】
2020526114.tif 000015
【図１４】
2020526114.tif 000016
【図１５】
2020526114.tif 000017
【図１６】
2020526114.tif 000018
【図１７】
2020526114.tif 000019
【手続補正書】
【提出日】令和2年1月30日(2020.1.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
現在のブロックの再構築のために、前記現在のブロックの予測を決定するための装置であって、前記装置は、
前記現在のブロックに隣接するブロックの動きベクトルがテンプレートマッチングにより決定されたか否かを検出するように構成される予測ユニットであって、
−否定的に検出した場合、前記隣接ブロックに従って前記現在のブロックの予測を導出し、
−肯定的に検出した場合、前記隣接ブロックに従って前記現在のブロックの予測を導出しない
ように構成される、予測ユニット
を備える装置。
【請求項２】
現在のブロックの再構築のために、動きベクトルを決定して、前記現在のブロックのインター予測を決定するために構成されており、前記予測ユニットは、
−隣接ブロックの動きベクトルが前記テンプレートマッチングにより決定されたか否かを検出し、
−否定的に検出した場合、前記隣接ブロックの前記動きベクトルを候補として前記現在のブロックに対する候補の動きベクトルのリストに含め、
−肯定的に検出した場合、前記隣接ブロックの前記動きベクトルを候補として前記リストに含めない
ことにより、前記リストを形成するように構成される動きベクトル候補リスト決定ユニットと、
前記リストから動きベクトルの推定値を選択して、前記推定値に従って前記現在のブロックの前記動きベクトルを決定するように構成される動きベクトル決定ユニットと
を有する、請求項１に記載の装置。
【請求項３】
前記動きベクトル候補リスト決定ユニットは、肯定的に検出した場合、置換動きベクトルを候補として前記リストに含めるように構成される、請求項２に記載の装置。
【請求項４】
前記置換動きベクトルは、前記現在のブロックの近隣にあり、かつ、前記隣接ブロックとは異なるブロックの動きベクトルである、請求項３に記載の装置。
【請求項５】
前記動きベクトルの前記選択された推定値の改良を適用するように構成される動きベクトルの改良ユニットをさらに備え、
前記動きベクトル候補リスト決定ユニットは、肯定的に検出した場合、前記改良を適用する前に、前記テンプレートマッチングにより取得される前記隣接ブロックの前記動きベクトルの推定値を前記リストに含めるように構成され、
前記動きベクトル決定ユニットは、さらに、前記改良の後に、前記隣接ブロックの前記動きベクトルの前記推定値に従って、前記隣接ブロックの前記動きベクトルを決定するように構成される、
請求項２又は３に記載の装置。
【請求項６】
前記動きベクトルの改良ユニットが前記隣接ブロックに対する改良を適用している間に、前記動きベクトル候補リスト決定ユニットは、前記現在のブロックに対する前記リストを形成するように構成される、請求項５に記載の装置。
【請求項７】
前記動きベクトル候補リスト決定ユニットは、肯定的に検出した場合、
−前記隣接ブロックが前記現在のブロックと同じピクチャに配置されている場合、前記改良を適用する前に、前記テンプレートマッチングにより取得される前記隣接ブロックの前記動きベクトルの推定値を前記リストに含め、
−前記隣接ブロックが前記現在のブロック以外のピクチャに配置されている場合、前記隣接ブロックに対する前記改良を適用した後に、前記隣接ブロックの前記動きベクトルを前記リストに含める
ように構成される、請求項５又は６に記載の装置。
【請求項８】
前記動きベクトル候補リスト決定ユニットは、さらに、前記リストに含める対象の動きベクトルが前記リストに既に含まれているかをチェックし、肯定的な場合、前記リストにそれを含めないように構成され、
前記現在のブロックの処理と少なくとも部分的に並列に処理される隣接ブロックの動きベクトルを前記リストに含める場合、前記チェックは実行されない、
請求項２から７のいずれか一項に記載の装置。
【請求項９】
前記現在のブロックの再構築のために、現在のブロックのイントラ予測を決定するために、前記予測ユニットは、
−隣接ブロックの動きベクトルが前記テンプレートマッチングにより決定されたか否かを検出すること、
−否定的に検出した場合、前記隣接ブロックの１又は複数のサンプルを参照サンプルのセットに含めること、及び、
−肯定的に検出した場合、前記隣接ブロックのいずれのサンプルも前記参照サンプルのセットに含めないこと
を含む、前記現在のブロックに対する前記参照サンプルのセットを決定するための参照サンプル決定ユニットと、
前記参照サンプルのセットからのサンプルに従って、前記現在のブロックの前記予測を提供するためのイントラ予測ユニットと
を有する、請求項１に記載の装置。
【請求項１０】
前記予測ユニットは、前記現在のブロックの再構築のために、
前記現在のブロックの位置に対して規定された予め規定された矩形領域内に配置される周辺ブロックの動きベクトルが前記テンプレートマッチングにより決定されたか否かを検出するように構成される、請求項１から９のいずれか一項に記載の装置。
【請求項１１】
ビットストリームから複数のピクチャをデコードするためのビデオデコーダであって、
制御情報を含む前記ビットストリームを解析するためのビットストリームパーサと、
請求項１から１０のいずれか一項に記載の装置と、
前記現在のブロックの前記予測に基づいて、前記現在のブロックを再構築するための再構築ユニットと
を備えるビデオデコーダ。
【請求項１２】
前記制御情報は、
隣接ブロックの動きベクトルが前記テンプレートマッチングにより決定されたか否かを前記予測ユニットが検出したか否かを示すフラグ、及び／又は、
肯定的に検出した場合、前記現在のブロックに対する前記予測がどのように決定されるかを示す置換インジケータ
を含む、請求項１１に記載のビデオデコーダ。
【請求項１３】
前記制御情報は、シーケンスパラメータセット及び／又はスライスヘッダに含まれる、請求項１２に記載のビデオデコーダ。
【請求項１４】
複数のピクチャをビットストリームへとエンコードするためのビデオエンコーダであって、
請求項１から１０のいずれか一項に記載の装置と、
前記ビットストリームに制御情報を含めるためのビットストリームフォーマと、
前記現在のブロックの前記予測に基づいて、前記現在のブロックを再構築し、前記再構築したブロックをメモリに格納するための再構築ユニットと
を備えるビデオエンコーダ。
【請求項１５】
前記制御情報は、
隣接ブロックの動きベクトルが前記テンプレートマッチングにより決定されたか否かを前記予測ユニットが検出したか否かを示すフラグ、及び／又は、
肯定的に検出した場合、前記現在のブロックに対する前記予測がどのように決定されるかを示す置換インジケータ
を含む、請求項１４に記載のビデオエンコーダ。
【請求項１６】
前記制御情報は、シーケンスパラメータセット及び／又はスライスヘッダに含まれる、請求項１５に記載のビデオエンコーダ。
【請求項１７】
現在のブロックの予測を決定するための方法であって、
隣接ブロックの動きベクトルがテンプレートマッチングにより決定されたか否かを検出する段階と、
否定的に検出した場合、前記隣接ブロックに従って、前記現在のブロックの予測を導出する段階と、
肯定的に検出した場合、前記隣接ブロックに従って、前記現在のブロックの予測を導出しない段階と
を備える方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００４９
【補正方法】変更
【補正の内容】
【００４９】
ビデオストリームは、複数のフレームを含んでよく、各フレームは、イントラ符号化された又はインター符号化された、のいずれかである特定のサイズのブロックに分割される。ビデオストリームの例えば第１フレームのブロックは、イントラ予測ユニット１０９を用いてイントラ符号化される。イントラフレームは、同じフレーム内の情報のみを用いて符号化され、その結果、イントラフレームは、別個にデコードされることができ、ランダムアクセスのためにビットストリーム内のエントリポイントを提供できる。ビデオストリームの他のフレームのブロックは、インター予測ユニット１１０を用いてインター符号化されてよく、時間的な冗長性を減らすために、前に符号化されたフレーム（参照フレーム）からの情報が用いられ、その結果、インター符号化されたフレームの各ブロックは、参照フレーム内のブロックから予測される。モード選択ユニット１０８は、フレームのブロックがイントラ予測ユニット１０９により処理されるか又はインター予測ユニット１１０により処理されるかを選択するように適合される。ブロックはまた、イントラ又はインター予測のパラメータを制御する。画像情報のリフレッシュを可能にするために、イントラ符号化されたブロックは、インター符号化されたフレーム内に提供されてよい。さらに、デコードするためのエントリポイント、すなわち、前に符号化されたフレームからの情報を有することなく、デコーダがデコードを開始できるポイントを提供するために、イントラ符号化されたブロックのみを包含するイントラフレームがビデオシーケンスに定期的に挿入されてよい。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００６２
【補正方法】変更
【補正の内容】
【００６２】
現在のブロックの動きベクトルは、通常、現在のピクチャ内又は以前に符号化されたピクチャ内の近隣ブロックの動きベクトルと相関付けられている。これは、近隣ブロックが、同様の動きを有する同じ動いているオブジェクトに対応する可能性が高く、オブジェクトの動きが経時的に突然変化する可能性は低いからである。したがって、予測値として近隣ブロック内の動きベクトルを用いることは、シグナリングされた動きベクトルの差のサイズを減らす。ＭＶＰは、通常、既にデコードされた動きベクトルから、空間的な近隣ブロックから、又は、コロケートされたピクチャ内の時間的な近隣ブロックから導出される。Ｈ．２６４／ＡＶＣにおいて、これは、３つの空間的に近隣の動きベクトルの成分に関する中央値を行うことにより行われる。この手法を用いると、予測値のシグナリングが必要ない。コロケートされたピクチャからの時間的なＭＶＰは、Ｈ．２６４／ＡＶＣのいわゆる時間ダイレクトモードにおいて考慮されるだけである。Ｈ．２６４／ＡＶＣのダイレクトモードはまた、当該動きベクトルよりも、他の動きデータを導出するために用いられる。したがって、それらは、ＨＥＶＣにおけるブロックマージコンセプトにより関連している。ＨＥＶＣにおいて、ＭＶＰを暗黙的に導出する手法は、動きベクトルの競合として知られる技術により置き換えられていて、ＭＶＰのリストから、どのＭＶＰが動きベクトルの導出のために用いられるかを明示的にシグナリングする。ＨＥＶＣにおける可変符号化四分木ブロック構造は、可能性のあるＭＶＰ候補として、動きベクトルを伴ういくつかの近隣ブロックを有する１つのブロックを結果としてもたらし得る。最悪の場合、例として左側の近隣を挙げると、６４×６４ルマの符号化ツリーブロックがさらに分割されず、かつ、左側のものが最大デプスに分割される場合、６４×６４ルマの予測ブロックは、１６×８４ルマの予測ブロックを左に有し得る。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００８４
【補正方法】変更
【補正の内容】
【００８４】
ＡＭＶＰユニットは、エンコーダにより決定され、ビットストリームにおいてシグナリングされているときに、動きベクトル予測と動きベクトルとの間の差に関する情報をその入力６０２上で受信する。ＭＶリスト６１５Ｂは、ブロック決定ユニット６６０の決定に従って生成され、候補の選択６２０Ｂは、リストから動きベクトル予測を選択することにより実行される。同様に、ピクチャ間予測ブロックマージング（ＩＰＢＭ）は、ブロック決定ユニット６６０による制御に従うマージリストの生成６１５Ａ及びマージリストからの最良の候補の選択６２０Ａを含む。補間３２０が実行されてもよいが、概して実行される必要はない。そして、単一の動きベクトルに基づいて（２つのユニット３３０及び３３５のうちの１つのみが用いられるそのような場合）、又は、ユニット３３０及び３３５のそれぞれにおける２つのＭＶに基づいて、予測が計算される。概して、双予測がサポートされていない場合、ユニット３３０及び３３５のうちの１つのみが実施され得ることに留意する。これらのブロック３２０−３６０は、図３を参照して説明されたものと同様に動作する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００９３
【補正方法】変更
【補正の内容】
【００９３】
別の方法で、近隣ブロック及び現在のブロックがウィンドウ内に配置されている場合、段階Ｓ８２０において、近隣ブロックが、テンプレートマッチングを用いることにより動きベクトルの改良又は導出を適用するか否かがテストされる。「いいえ」の場合、すなわち、近隣ブロックがテンプレートマッチングにより決定される動きベクトルを有していない場合、次に、段階Ｓ８５０が続き、改良が現在のブロックに対して実行されることを意味する。一方、近隣ブロックが、テンプレートマッチングを用いて動きベクトルの改良又は導出を適用する場合、段階Ｓ８３０において、現在のブロックとその近隣のうちの１つとが同じピクチャに属しているか否かがさらにテストされる。したがって、現在のブロック及び近隣ブロックが同じピクチャ内にない（段階Ｓ８３０において「いいえ」）の場合、次に、改良された動きベクトルが動きベクトル予測のための現在のブロックにより用いられ、例えば、段階Ｓ８５０において、時間的な近隣ブロックの改良された動きベクトルが、候補の動きベクトルのリストに含められる。一方、段階Ｓ８３０において、回答が「はい」の場合、段階Ｓ８４０において、置換動きベクトルが、動きベクトル予測のために現在のブロックにより用いられる。
【手続補正６】
【補正対象書類名】図面
【補正対象項目名】図１１
【補正方法】変更
【補正の内容】
【図１１】
2020526114.tif 000020
【国際調査報告】
2020526114.tif 000021
2020526114.tif 000022
2020526114.tif 000023
2020526114.tif 000024
2020526114.tif 000025
2020526114.tif 000026