(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-07-04
(45)【発行日】2025-07-14
(54)【発明の名称】基準画像リサンプリングのための部分サンプル補間
(51)【国際特許分類】
H04N 19/117 20140101AFI20250707BHJP
H04N 19/139 20140101ALI20250707BHJP
H04N 19/176 20140101ALI20250707BHJP
H04N 19/59 20140101ALI20250707BHJP
H04N 19/70 20140101ALI20250707BHJP
H04N 19/80 20140101ALI20250707BHJP
【FI】
H04N19/117
H04N19/139
H04N19/176
H04N19/59
H04N19/70
H04N19/80
(21)【出願番号】P 2022536872
(86)(22)【出願日】2020-12-21
(86)【国際出願番号】 EP2020087493
(87)【国際公開番号】W WO2021123439
(87)【国際公開日】2021-06-24
【審査請求日】2023-12-18
(32)【優先日】2019-12-20
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】591037214
【氏名又は名称】フラウンホッファー-ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(72)【発明者】
【氏名】ブロス ベンヤミン
(72)【発明者】
【氏名】サンチェス デ ラ フエンテ ヤゴ
(72)【発明者】
【氏名】スクピン ロベルト
(72)【発明者】
【氏名】ヴィンケン マーティン
(72)【発明者】
【氏名】シュワルツ ヘイコ
(72)【発明者】
【氏名】マーペ デトレフ
(72)【発明者】
【氏名】ツェル トーマス
(72)【発明者】
【氏名】ウィーガンド トーマス
【審査官】鈴木 順三
(56)【参考文献】
【文献】特表2022-544667(JP,A)
【文献】特表2022-539455(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
ハーフサンプル解像度でデータストリーム(
420)において伝送される動きベクトル差分(423)に基づいて、
予測に使用されるそれぞれの現在の画像と等しい画像解像度の第1の参照画像(421)と、予測に使用されるそれぞれの現在の画像と異なる画像解像度の第2の参照画像(422)とを用いて、
それぞれの参照画像から形成される参照サンプルアレイ内のサブサンプル値を得るために補間フィルタ(431、432)を使用して、
参照画像から現在の画像を予測する動き補償予測を用いてデータストリーム(420)からビデオ(450)を復号することと、
参照サンプルアレイ内のハーフサンプル値を得るための補間フィルタを選択することであって、前記参照サンプルアレイは、動きベクトルを使用することにより参照画像から形成され、前記補間フィルタは、第1の補間フィルタバージョン(431)および第2の補間フィルタバージョン(432)から選択され、前記第1の補間フィルタバージョン(431)は、3,9,20,20,9,3の係数を有する6タップフィルタであり、前記第2の補間フィルタバージョン(432)は、-1,4,-11,40,40,-11,4,-1の係数を有する8タップフィルタであり、
前記参照画像が現在の画像と水平の次元において画像解像度が等しい場合、
水平補間のために前記第1の補間フィルタバージョンを選択し、前記参照画像が現在の画像と水平の次元において画像解像度が等しくない場合、
水平補間のために前記第2の補間フィルタバージョンを選択する、および/または、
前記参照画像が現在の画像と垂直の次元において画像解像度が等しい場合、
垂直補間のために前記第1の補間フィルタバージョンを選択し、前記参照画像が現在の画像と垂直の次元において画像解像度が等しくない場合、
垂直補間のために前記第2の補間フィルタバージョンを選択する、
ことにより、補間フィルタを選択することと、
を行うように、構成さ
れ、
前記水平補間のために選択することと、前記垂直補間のために選択することとは、別々に実行される、ビデオデコーダ(410)。
【請求項2】
前記補間フィルタを使用せずに、前記参照サンプルアレイ内のフルサンプル値を取得するようにさらに構成された、請求項1に記載のビデオデコーダ。
【請求項3】
前記第1の補間フィルタバージョンよりも高いエッジ保存特性を有する補間フィルタバージョンをさらに使用して、参照サンプルアレイ内の非ハーフサンプルサブサンプル値を取得するようにさらに構成された、請求項1に記載のビデオデコーダ。
【請求項4】
現在の画像が前記参照画像と水平の次元において画像解像度が等しくない場合、水
平補間
のために前記第2の補間フィルタバージョンが選択され、
現在の画像が前記参照画像と垂直の次元において画像解像度が等しくない場合、垂
直補間
のために前記第2の補間フィルタバージョンが選択され、
現在の画像が前記参照画像と水平および垂直の次元において画像解像度が等しくない場合、水平
補間および垂
直補間
のために前記第2の補間フィルタバージョンが選択される、請求項1に記載のビデオデコーダ。
【請求項5】
前記第2の補間フィルタバージョンは、前記第1の補間フィルタバージョンよりも高いエッジ保存特性を有する、請求項1に記載のビデオデコーダ。
【請求項6】
前記データストリームが、時間的に連続する画像が同じまたは異なる水平および/または垂直の画像解像度次元を有するかどうかを示す情報を含む、請求項1に記載のビデオデコーダ。
【請求項7】
前記参照サンプルアレイが、領域、サブ画像または画像である、請求項1に記載のビデオデコーダ。
【請求項8】
データストリーム(520)において、ハーフサンプル解像度における動きベクトル差分(523)を送信することによって示す、参照画像から現在の画像を予測する動き補償予測を用いて、
予測に使用されるそれぞれの現在の画像と等しい画像解像度の第1の参照画像(521)と、予測に使用されるそれぞれの現在の画像と異なる画像解像度の第2の参照画像(522)とを用いて、および、
それぞれの参照画像から形成される参照サンプルアレイ内のサブサンプル値を得るために補間フィルタ(531、532)を使用して、
ビデオ(550)をデータストリーム(520)に符号化することと、
参照サンプルアレイ内のハーフサンプル値を得るための補間フィルタを選択することであって、前記参照サンプルアレイは、動きベクトルを使用することにより参照画像から形成され、前記補間フィルタは、第1の補間フィルタバージョン(531)および第2の補間フィルタバージョン(532)から選択され、前記第1の補間フィルタバージョン(531)は、3,9,20,20,9,3の係数を有する6タップフィルタであり、前記第2の補間フィルタバージョン(532)は、-1,4,-11,40,40,-11,4,-1の係数を有する8タップフィルタであり、
前記参照画像が現在の画像と水平の次元において画像解像度が等しい場合、
水平補間のために前記第1の補間フィルタバージョンを選択し、前記参照画像が現在の画像と水平の次元において画像解像度が等しくない場合、
水平補間のために前記第2の補間フィルタバージョンを選択する、および/または、
前記参照画像が現在の画像と垂直の次元において画像解像度が等しい場合、
垂直補間のために前記第1の補間フィルタバージョンを選択し、前記参照画像が現在の画像と垂直の次元において画像解像度が等しくない場合、
垂直補間のために前記第2の補間フィルタバージョンを選択する、
ことにより、補間フィルタを選択することと、
を行うように、構成さ
れ、
前記水平補間のために選択することと、前記垂直補間のために選択することとは、別々に実行される、ビデオエンコーダ(510)。
【請求項9】
前記補間フィルタを使用せずに、前記参照サンプルアレイ内のフルサンプル値を取得するようにさらに構成された、請求項
8に記載のビデオエンコーダ。
【請求項10】
前記第1の補間フィルタバージョンよりも高いエッジ保存特性を有する補間フィルタバージョンをさらに使用して、参照サンプルアレイ内の非ハーフサンプルサブサンプル値を取得するようにさらに構成された、請求項
8に記載のビデオエンコーダ。
【請求項11】
現在の画像が前記参照画像と水平の次元において画像解像度が等しくない場合、水平補
間のために前記第2の補間フィルタバージョンが選択され、
現在の画像が前記参照画像と垂直の次元において画像解像度が等しくない場合、垂
直補間
のために前記第2の補間フィルタバージョンが選択され、
現在の画像が前記参照画像と水平方向および垂直方向の次元において画像解像度が等しくない場合、水平
補間および垂
直補間
のために前記第2の補間フィルタバージョンが選択される、請求項
8に記載のビデオエンコーダ。
【請求項12】
前記第2の補間フィルタバージョンは、前記第1の補間フィルタバージョンよりも高いエッジ保存特性を有する、請求項
8に記載のビデオエンコーダ。
【請求項13】
前記データストリームが、時間的に連続する画像が同じまたは異なる水平および/または垂直の画像解像度次元を有するかどうかを示す情報を含む、請求項
8に記載のビデオエンコーダ。
【請求項14】
前記参照サンプルアレイが、領域、サブ画像または画像である、請求項
8に記載のビデオエンコーダ。
【請求項15】
ハーフサンプル解像度でデータストリーム中に伝送される動きベクトル差分に基づいて、
予測に使用されるそれぞれの現在の画像と画像解像度が等しい第1の参照画像と、予測に使用されるそれぞれの現在の画像と画像解像度が異なる第2の参照画像とを用いて、
それぞれの現在の画像から形成される参照サンプルアレイ内のサブサンプル値を得るために補間フィルタを使用して、
参照画像から現在の画像を予測する動き補償予測を使用してビデオをデータストリームから復号することと、
参照サンプルアレイ内のハーフサンプル値を得るための補間フィルタを選択することであって、前記参照サンプルアレイは、動きベクトルを使用することにより参照画像から形成され、前記補間フィルタは、第1の補間フィルタバージョンおよび第2の補間フィルタバージョンから選択され、前記第1の補間フィルタバージョンは、3,9,20,20,9,3の係数を有する6タップフィルタであり、前記第2の補間フィルタバージョンは、-1,4,-11,40,40,-11,4,-1の係数を有する8タップフィルタであり、
前記参照画像が現在の画像と水平の次元において画像解像度が等しい場合、
水平補間のために前記第1の補間フィルタバージョンを選択し、前記参照画像が現在の画像と水平の次元において画像解像度が等しくない場合、
水平補間のために前記第2の補間フィルタバージョンを選択する、および/または、
前記参照画像が現在の画像と垂直の次元において画像解像度が等しい場合、
垂直補間のために前記第1の補間フィルタバージョンを選択し、前記参照画像が現在の画像と垂直の次元において画像解像度が等しくない場合、
垂直補間のために前記第2の補間フィルタバージョンを選択する、
ことにより、補間フィルタを選択することと、
を含み、
前記水平補間のために選択することと、前記垂直補間のために選択することとは、別々に実行される、ビデオを復号する方法。
【請求項16】
前記補間フィルタを使用せずに、前記参照サンプルアレイ内のフルサンプル値を取得することをさらに含む、請求項
15に記載のビデオを復号する方法。
【請求項17】
前記第1の補間フィルタバージョンよりも高いエッジ保存特性を有するさらなる補間フィルタを使用することによって、非ハーフサンプルサブサンプル値を取得することをさらに含む、請求項
15に記載のビデオを復号する方法。
【請求項18】
現在の画像が前記参照画像と水平の次元において画像解像度が等しくない場合、水平補
間のために第2の補間フィルタが選択され、
現在の画像が前記参照画像と垂直の次元において画像解像度が等しくない場合、垂
直補間
のために前記第2の補間フィルタが、選択され、
現在の画像が前記参照画像と水平方向および垂直方向の次元において画像解像度が等しくない場合、水平
補間および垂
直補間
のために前記第2の補間フィルタが選択される、請求項
15に記載のビデオを復号する方法。
【請求項19】
前記第2の補間フィルタバージョンは、前記第1の補間フィルタバージョンよりも高いエッジ保存特性を有する、請求項
15に記載のビデオを復号する方法。
【請求項20】
前記データストリームが、時間的に連続する画像が同じまたは異なる水平および/または垂直の画像解像度次元を有するかどうかを示す情報を含む、請求項
15に記載のビデオを復号する方法。
【請求項21】
前記参照サンプルアレイが、領域、サブ画像または画像である、請求項
15に記載のビデオを復号する方法。
【請求項22】
データストリームにおいて、ハーフサンプル解像度における動きベクトル差分を送信することによって示す、参照画像から現在の画像を予測する動き補償予測を用いて、
予測に使用されるそれぞれの現在の画像と画像解像度が等しい第1の参照画像と、予測に使用されるそれぞれの現在の画像と画像解像度が異なる第2の参照画像とを用いて、
それぞれの参照画像から形成される参照サンプルアレイ内のサブサンプル値を得るために補間フィルタを使用して、
ビデオをデータストリームに符号化することと、
参照サンプルアレイ内のハーフサンプル値を得るための補間フィルタを選択することであって、前記参照サンプルアレイは、動きベクトルを使用することにより参照画像から形成され、前記補間フィルタは、第1の補間フィルタバージョンおよび第2の補間フィルタバージョンから選択され、前記第1の補間フィルタバージョンは、3,9,20,20,9,3の係数を有する6タップフィルタであり、前記第2の補間フィルタバージョンは、-1,4,-11,40,40,-11,4,-1の係数を有する8タップフィルタであり、
前記参照画像が現在の画像と水平の次元において画像解像度が等しい場合、
水平補間のために前記第1の補間フィルタバージョンを選択し、前記参照画像が現在の画像と水平の次元において画像解像度が等しくない場合、
水平補間のために前記第2の補間フィルタバージョンを選択する、および/または、
前記参照画像が現在の画像と垂直の次元において画像解像度が等しい場合、
垂直補間のために前記第1の補間フィルタバージョンを選択し、前記参照画像が現在の画像と垂直の次元において画像解像度が等しくない場合、
垂直補間のために前記第2の補間フィルタバージョンを選択する、
ことにより、補間フィルタを選択することと、を含
み、
前記水平補間のために選択することと、前記垂直補間のために選択することとは、別々に実行される、ビデオを符号化する方法。
【請求項23】
前記補間フィルタを使用せずに、前記参照サンプルアレイ内のフルサンプル値を取得することをさらに含む、請求項
22に記載のビデオを符号化する方法。
【請求項24】
前記第1の補間フィルタバージョンよりも高いエッジ保存特性を有するさらなる補間フィルタを使用することによって、非ハーフサンプルサブサンプル値を取得することをさらに含む、請求項
22に記載のビデオを符号化する方法。
【請求項25】
現在の画像が前記参照画像と水平の次元において画像解像度が等しくない場合、水平補
間のために第2の補間フィルタが選択され、
現在の画像が前記参照画像と垂直の次元において画像解像度が等しくない場合、垂
直補間
のために前記第2の補間フィルタが選択され、
現在の画像が前記参照画像と水平方向および垂直方向の次元において画像解像度が等しくない場合、水平
補間および垂
直補間
のために前記第2の補間フィルタが選択される、請求項
22に記載のビデオを符号化する方法。
【請求項26】
前記第2の補間フィルタバージョンは、前記第1の補間フィルタバージョンよりも高いエッジ保存特性を有する、請求項
22に記載のビデオを符号化する方法。
【請求項27】
前記データストリームが、時間的に連続する画像が同じまたは異なる水平および/または垂直の画像解像度次元を有するかどうかを示す情報を含む、請求項
22に記載のビデオを符号化する方法。
【請求項28】
前記参照サンプルアレイが、領域、サブ画像または画像である、請求項
22に記載のビデオを符号化する方法。
【請求項29】
請求項
15から
28のいずれか1項に記載の方法をコンピュータに実行させるためのプログラム命令を含む、非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、ビデオ符号化の概念に関し、具体的には動き補償のための補間フィルタに関する。
【0002】
多様なビデオ符号化(VVC)などの現在のビデオ符号化標準では、ブロックレベルで信号を送ることができる動きベクトル(MV)の解像度に応じて、動き補正用の補間フィルタを切り替えることができる。
MV(またはMV差分MVD)が特定の解像度、たとえばハーフサンプル精度で符号化されている場合、別の補間フィルタを使用して特定の部分サンプル位置を補間することができる。
【0003】
別の新機能は、基準画像のリサンプリングであり、これにより、以前に符号化された画像を、現在の画像とは異なる解像度/サイズを有する動き補償画像間予測で参照できる。それを行うために、基準画像領域は、現在のブロックと同じサイズのブロックにリサンプリングされる。これは、補間フィルタの異なる位相を使用していくつかの部分位置が取得される場合につながる可能性がある。
【0004】
例えば、16x16のブロックが、各次元で1/4のサイズを持つ画像を参照する場合、参照される画像の対応する4x4ブロックは、16x16にアップサンプルされる必要があり、これは、特定の部分位置/位相のための異なる補間フィルタを含むことができる。例えば、MVが平滑化補間フィルタに関連する精度で信号を送られる場合、このフィルタは、この平滑化フィルタが参照画像のアップサンプリングに関連する位相に適用され、一方、鮮鋭化補間フィルタは、他の位相に適用され得る。
【0005】
この取り違えにより、目に見えるアーチファクトが生成される可能性があり、したがって、より悪い動き補償されたインター予測子への結果をもたらし、これは、順に、予測誤差および等しい品質を達成するために予測残差を符号化するのに必要なビットレートを増加させる。
【0006】
本出願は、参照画像のリサンプリングをサポートするより効率的なビデオ符号化の概念をもたらすことを目的とする。
【0007】
この目的は、独立請求項の主題によって達成される。
【0008】
本出願の好ましい実施形態は、図面に対して以下に説明される。
【図面の簡単な説明】
【0009】
【
図1】画像をデータストリームに予測的に符号化するための装置を示す。
【
図2】画像をデータストリームから予測的に復号するための装置を示す。
【
図3】再構成信号と、予測残差信号と予測信号の組み合わせとの間の関係を示す。
【
図4a】基準画像と現在の画像のサンプルを空間的に重ねて示す。
【
図4b】同じ解像度を有し、動きベクトルがハーフペル解像度で定義される基準および現在の画像のサンプルを示す。
【
図4c】本発明の実施形態に係るビデオデコーダを示す。
【
図4d】基準画像の異なるタイプのサンプル、すなわち位相が異なるサンプルに対する補間フィルタの選択を示し、ここでは例示的に
図9の表を使用する。ハーフペル解像度位置に関する選択は、実施形態が有利な方法で選択する2つの選択肢を有する。さらに、選択された補間フィルタの適用が、1つの例示的なサンプル、ここではクォーターペルのサンプルについて説明される。2つのハーフペル補間フィルタのうちのフィルタ選択は、参照画像が1つのハーフペル補間フィルタを用いてハーフペルサンプルについて垂直方向に補間される一方で、別のハーフペル補間フィルタがハーフペル位置での補間のために水平方向に使用され得るように水平および垂直方向について別々に行われてもよく、または選択は、現在および基準画像の分解能が垂直方向および水平方向に一致するかどうかに応じて両方の方向についてグローバルに行われて、一方または他のハーフペル補間フィルタが水平方向および垂直方向に使用されるようにすることができる。
【
図5】本発明の実施形態に係るビデオエンコーダを示す。
【
図6】スループットが変化するビデオ会議のための基準画像リサンプリングビットレート適応の例を示す
【
図7】DASHおよびオープンGOP解像度スイッチングのための基準」画像リサンプリングビットレート適応の例を示す。
【
図8】第2の画像の一部分のRoIズームインを実行する第3の画像の例を示す。
【
図9】動きベクトル差分がハーフサンプル解像度である場合の適応動きベクトル解像度のための平滑化フィルタの例を示し、同図には、ハーフペル位相以外の位相のサンプルに使用するためのさらなる補間フィルタも表に収集して示す。
【
図10】amvr_flagが1に等しく、amvr_precision_idxが0に等しいシンタックスを使用するビットストリームにおけるシグナリングの例を示す。
【0010】
以下の図の説明は、本発明の実施形態が組み込まれ得る符号化フレームワークのための例を形成するために、ビデオの画像を符号化するためのブロックベースの予測コーデックのエンコーダおよびデコーダの説明の提示から開始される。それぞれのエンコーダおよびデコーダは、
図1~
図3に関して説明される。以下、本発明の概念の実施形態の説明が、そのような概念がどのように
図1および
図2のエンコーダおよびデコーダにそれぞれ組み込まれ得るかに関する説明と共に示されるが、後続の
図4以下と共に説明される実施形態は、1つの画像内のインター符号化ブロックと競合するイントラ符号化ブロックなし、および/または変換ベースの残差符号化なしなどの、
図1および2のエンコーダおよびデコーダを基礎付ける符号化フレームワークに準じて動作しないエンコーダおよびデコーダにも用いられ得る。
【0011】
図1は、例示的に、変換ベースの残差符号化を使用して、画像12をデータストリーム14に予測的に符号化するための装置を示している。装置またはエンコーダは、参照記号10を使用して示される。
図2は、対応するデコーダ20、すなわち、同じく変換ベースの残差復号を使用してデータストリーム14から画像12’を予測的に復号するように構成された装置20を示し、ここで、アポストロフィは、デコーダ20によって再構成される画像12’が予測残差信号の量子化によってもたらされる符号化ロスの観点から装置10によって最初に符号化された画像12から外れることを示すために使用されてきた。
図1および
図2は、変換ベースの予測残差符号化を例示例示的に使用しているが、本願の実施形態は、この種の予測残差符号化に限定されるものではない。これは、以下に概説するように、
図1および
図2に関して説明した他の詳細にも当てはまる。
【0012】
エンコーダ10は、予測残差信号に空間-スペクトル変換を施し、こうして得られた予測残差信号をデータストリーム14に符号化するように構成される。同様に、デコーダ20は、データストリーム14から予測残差信号を復号し、このようにして得られた予測残差信号にスペクトル-空間変換を施すように構成されている。
【0013】
内部的に、エンコーダ10は、元の信号から、すなわち画像12からの予測信号26の偏差を測定するために、予測残差24を生成する予測残差信号フォーマ22を備えてもよい。予測残差信号フォーマ22は、例えば、元の信号から、すなわち画像12から予測信号を差し引く減算器であってもよい。次にエンコーダ10は、予測残差信号24に空間-スペクトル変換を施してスペクトル領域の予測残差信号24’を得る変換器28をさらに備え、この変換器は、同じくエンコーダ10が構成する量子化器32によって量子化が施される。このように量子化された予測残差信号24’’は、ビットストリーム14に符号化される。この目的のために、エンコーダ10は、データストリーム14に変換および量子化された予測残差信号をエントロピー符号化するエントロピー符号化器34を任意選択で備え得る。予測信号26は、データストリーム14に符号化され、データストリーム14から復号可能な予測残差信号24’’に基づいて、エンコーダ10の予測ステージ36によって生成される。この目的のために、予測段36は、
図1に示されるように、量子化損失を除いて信号24’に対応するスペクトル領域予測残差信号24’’を得るように予測残差信号24’’を量子化解除する量子化解除器38と、続いて後者の予測残差信号24’’を逆変換、すなわち、逆変換にかける逆変換器40からなることができる。すなわちスペクトルから空間への変換を行い、量子化損失を除いて元の予測残差信号24に対応する予測残差信号24’’’’を得る。次に、予測ステージ36の結合器42は、再構成された信号46、すなわち元の信号12の再構成を得るように、予測信号26および予測残留信号24’’’’を、加算などによって再結合する。再構成された信号46は、信号12’に対応し得る。次に、予測ステージ36の予測モジュール44は、例えば空間予測、すなわち画像内予測、および/または時間予測、すなわち画像間予測を用いることにより、信号46に基づいて予測信号26を生成する。
【0014】
同様に、デコーダ20は、
図2に示されるように、予測ステージ36に対応する構成要素から内部構成され、予測ステージ36に対応する方法でインター接続され得る。具体的には、デコーダ20のエントロピーデコーダ50は、データストリームから量子化スペクトル領域予測残差信号24’’をエントロピー復号してもよく、その際、予測ステージ36のモジュールに関して上述した方法でインター接続および協働しているデクオンタイザ52、逆変換器54、コンバイナ56および予測モジュール58は、
図2に示すように、コンバイナ56の出力が再構成信号、すなわち画像12’をもたらすように予測残差信号24’’に基づいて再構成信号をもたらす。
【0015】
上記では特に説明しなかったが、エンコーダ10は、例えば、予測モード、動きパラメータなどを含むいくつかの符号化パラメータを、例えば、いくつかのレートおよび歪みに関する基準、すなわち符号化コストを最適化する方法などのいくつかの最適化方式に従って設定し得ることは容易に明らかである。例えば、エンコーダ10およびデコーダ20ならびに対応するモジュール44、58は、それぞれ、イントラ符号化モードおよびインター符号化モードなどの異なる予測モードをサポートしてもよい。
エンコーダとデコーダがこれらの予測モードタイプ間で切り替わる精度は、それぞれ、画像12と12’を符号化セグメントまたは符号化ブロックに細分化することに対応してもよい。これらの符号化セグメントの単位では、例えば、画像は、イントラ符号化されているブロックとインター符号化されているブロックに細分され得る。イントラ符号化されたブロックは、以下でより詳細に概説するように、それぞれのブロックの空間的な、既に符号化/復号された近傍に基づいて予測される。いくつかのイントラ符号化モードが存在し、それぞれのイントラ符号化セグメントに対して選択されてもよく、方向性または角度性イントラ符号化モードを含み、それに従ってそれぞれのセグメントが、それぞれの方向性イントラ符号化モードに特有のある方向に沿った近傍のサンプル値を、それぞれのイントラ符号化セグメントに外挿することによって充填される。イントラ符号化モードは、例えば、それぞれのイントラ符号化ブロックの予測がそれぞれのイントラ符号化セグメント内の全てのサンプルにDC値を割り当てるDC符号化モード、および/またはそれぞれのブロックの予測が、隣接するサンプルに基づいて2次元線形関数によって定義される平面の駆動傾斜およびオフセットを有するそれぞれのイントラ符号化ブロックのサンプル位置にわたる2次元線形関数によって記述されるサンプル値の空間分布であると近似または決定する平面イントラ符号化モードなどの1つ以上のさらなるモードを含むことも可能である。それと比較して、インター符号化されたブロックは、例えば、時間的に予測され得る。インター符号化されたブロックについては、データストリーム内で動きベクトルがシグナリングされてもよく、動きベクトルは、画像12が属するビデオの以前に符号化された画像の部分の空間変位を示し、その部分で、それぞれのインター符号化されたブロックについての予測信号を得るために以前に符号化/復号された画像がサンプリングされている。これは、量子化されたスペクトル領域予測残留信号24’’を表すエントロピー符号化変換係数レベルなどのデータストリーム14によって構成される残留信号符号化に加えて、データストリーム14は、様々なブロックに符号化モードを割り当てるための符号化モードパラメータ、ブロックの一部に対する予測パラメータ、例えばインター符号化セグメントに対する動きパラメータ、および画像12および12’のセグメントへのそれぞれの細分化を制御およびシグナリングするパラメータなどの任意のさらなるパラメータをそこに符号化して有することができることを意味している。デコーダ20は、これらのパラメータを使用して、エンコーダが行ったのと同じ方法で画像を細分化し、セグメントに同じ予測モードを割り当て、同じ予測を実行して同じ予測信号を生じるようにする。
【0016】
図3は、一方では再構成された信号、すなわち再構成された画像12’と、他方ではデータストリーム14でシグナリングされた予測残留信号24’’’’と、予測信号26との組み合わせとの関係を示している。すでに上で示したように、組み合わせは加算であってもよい。予測信号26は、画像領域を、ハッチングを使用して例示的に示されるイントラ符号化ブロックと、ハッチングされていないことを例示的に示すインター符号化ブロックに細分したものとして
図3に示されている。細分化は、正方形ブロックまたは非正方形ブロックの行および列への画像領域の規則的な細分化、またはツリールートブロックから様々な大きさの複数のリーフブロックへの画像12のマルチツリー細分化などの任意の細分化であってよい。クワッドツリー細分化などのように、それらの混合物が
図3に示されており、この場合、画像領域は、最初にツリールートブロックの行および列に細分化され、その後、1つ以上のリーフブロックに再帰的マルチツリー細分化にしたがってさらに細分化される。
【0017】
再び、データストリーム14は、イントラ符号化ブロック80に対してその中に符号化されたイントラ符号化モードを有することができ、これは、それぞれのイントラ符号化ブロック80にいくつかのサポートされたイントラ符号化モードのうちの1つを割り当てるものである。インター符号化ブロック82について、データストリーム14は、その中に符号化された1つ以上の動きパラメータを有してもよい。一般に、インター符号化されたブロック82は、時間的に符号化されることに制限されない。代替的には、インター符号化ブロック82は、画像12が属するビデオの以前に符号化された画像、または別のビューの画像、またはエンコーダおよびデコーダがそれぞれスケーラブルエンコーダおよびデコーダの場合の階層的に低いレイヤなど、現在の画像12自体を超えて以前に符号化された部分から予測された任意のブロックであってもよい。
【0018】
図3の予測残差信号24’’’’は、画像領域をブロック84に細分化したものとしても図示されている。これらのブロックは、符号化ブロック80および82と同じものを区別するために、変換ブロックと呼ばれる場合がある。事実上、
図3は、エンコーダ10およびデコーダ20が、それぞれ画像12および画像12’のブロックへの2つの異なる細分化、すなわちそれぞれコーディングブロック80および82への1つの細分化、および変換ブロック84への別の細分化を使用してもよいことを図示している。両方の細分化は同じである可能性があり、すなわち、各符号化ブロック80、82は、同時に変換ブロック84を形成する可能性があるりが、
図3は、例えば、変換ブロック84への細分化が、ブロック80、82の2ブロック間の任意の境界が2ブロック84間の境界に重なるように符号化ブロック80、82への細分化の延長を形成するか、代替的に言えば各ブロック80、82が変換ブロック84の1つと一致するか、変換ブロック84の群と一致する場合を例証するものである。しかしながら、細分は、変換ブロック84がブロック80、82の間のブロック境界を交互に横切ることができるように、互いに独立して決定または選択もされ得る。したがって、変換ブロック84への細分化に関する限り、ブロック80、82への細分化に関して提起されたものと同様の記述が当てはまる。すなわち、ブロック84は、ブロック(行および列への配置の有無にかかわらず)への画像領域の正規細分化の結果、画像領域の再帰的マルチツリー細分化の結果、またはそれらの組み合わせまたは他の任意の種類のブロック化であってよい。ただの余談であるが、ブロック80、82、84は、二次形状、長方形、またはその他の形状であることに制限されないことに留意されたい。
【0019】
図3はさらに、予測信号26と予測残差信号24’’’’の組み合わせが直接再構成された信号12’をもたらすことを示している。しかしながら、代替の実施形態によれば、複数の予測信号26を予測残差信号24’’’’と組み合わせて、画像12’をもたらすことができることに留意されたい。
【0020】
図3において、変換ブロック84は、以下の意味を有するものとする。
変圧器28および逆変圧器54は、これらの変換ブロック84の単位でそれらの変換を実行する。たとえば、多くのコーデックは、すべての変換ブロック84に対して、ある種のDSTまたはDCTを使用する。いくつかのコーデックは、変換をスキップすることを可能にするので、いくつかの変換ブロック84について、予測残差信号は、空間領域で直接コード化される。しかしながら、以下に記載される実施形態によれば、エンコーダ10およびデコーダ20は、それらがいくつかの変換をサポートするように構成される。例えば、エンコーダ10およびデコーダ20によってサポートされる変換は、以下を含むことができる:
【0021】
・DCT-II(またはDCT-III)、ここでDCTは離散コサイン変換を表す
・DST-IV、DSTは、離散サイン変換を表す
・DCT-IV
・DST-VII
・アイデンティティ変換(IT)
【0022】
当然ながら、変換器28はこれらの変換の順変換バージョンのすべてをサポートするが、デコーダ20または逆変換器54はその対応する逆変換または逆バージョンをサポートする。
【0023】
・逆DCT-II(または逆DCT-III)
・逆DST-IV
・逆DCT-IV
・逆DST-VII
・アイデンティティ変換(IT)
【0024】
サポートされる変換のセットは、1つのスペクトルから空間への変換または空間からスペクトルへの変換のなどの単に1つの変換から構成されてもよいことに留意されたい。
【0025】
すでに上で概説したように、
図1~
図3は、本出願に係るエンコーダおよびデコーダの特定の例を形成するために、以下でさらに説明する本発明の概念を実施できる例として提示されている。その限りにおいて、
図1および
図2のエンコーダおよびデコーダは、それぞれ、本明細書で以下に説明するエンコーダおよびデコーダの可能な実装を表すことができる。しかしながら、
図1および
図2は、例示に過ぎない。しかしながら、本願の実施形態に係るエンコーダは、以下でより詳細に概説する概念を用いて画像12のブロックベースの符号化を実行し、例えば、同じものがイントラ予測をサポートしない点、またはブロック80へのサブ分割が
図3に例示するのとは異なる方法で実行される点で
図1のエンコーダとは異なっていてもよい。同様に、本願の実施形態に係るデコーダは、以下にさらに概説する符号化概念を用いてデータストリーム14から画像12’のブロックベースの復号を実行してもよいが、例えば、同じものがイントラ予測をサポートしない点、または同じものが
図3に関して説明したものとは異なる方法で画像12’をブロックに下位分割する点、および/または同じものがデータストリーム14から予測残差を変換領域ではなく例えば空間領域において導出する点で
図2のデコーダ20と異なってもよい。
【0026】
いくつかの目的のために解像度適応を利用するいくつかのアプリケーションがあり、例えば、スループット変動のためのビットレート適応または関心領域(RoI)ユースケースのためのビットレート適応がある。
【0027】
現在のVVCドラフトは、通常、基準画像リサンプリングと呼ばれるプロセスを規定し、
図6から
図8に示す例のように、RoI符号化プロセスのビデオシーケンス内で変化する画像サイズを有することを可能にする。この目的のために、VVC仕様ドラフトは、シーケンスパラメータセット(SPS)における最大画像サイズ、画像パラメータセット(PPS)における実際の画像サイズ、およびPPSにおけるスケーリングウィンドウオフセット(例えば、
図8における赤色のマージン)を含み、これにより、現在の画像と基準画像との間で使用される必要があるスケーリング比率を導出することが可能となる。
【0028】
本出願の実施形態を組み込むことができるエンコーダおよびデコーダフレームワークの可能な実装を説明した後、本説明は、予備的に現在のVVC開発に再び言及し、後に概説される実施形態の詳細を動機付ける。
【0029】
VVCでは、スケーリング比は、現在の画像(PicOutputWidthL)および基準画像(fRefWidth)に対してPPSで定義されたスケーリングウィンドウを考慮して画像の幅を使用して以下のように導出される:
【0030】
RefPicScale[i][j][0]=
((fRefWidth<<14)+(PicOutputWidthL>>1))/PicOutputWidthL
RefPicScale[i][j][1]=
((fRefHeight<<14)+(PicOutputHeightL>>1))/PicOutputHeightL
【0031】
PicOutputWidthとPicOutputHeightは,以下ではCurrPicScalWinWidthとCurrPicScalWinHeightとも呼ばれることがある。
【0032】
スケール比<1-すなわちRefPicScale値<(1<<14)-は、現在の画像が基準画像より大きいことを意味し、比>1-すなわちRefPicScale値>(1<<14)は、現在の画像が基準画像より小さいことを意味する。
【0033】
現在のVVCドラフトでは、部分サンプル補間による1/16サンプルまでの動き補償のために4つの補間フィルタが指定されている。最初のものは、基準画像のリサンプリング、RRRがなく、アフィンモードではない通常の動き補償の場合のために設計された。2番目のフィルタは、アフィンモードが使用される場合のために設計された。残りの2つのフィルタは、係数1.5と2のダウンサンプリングに使用される。スケーリング比は、1/8(8倍アップサンプリング)から2(2倍ダウンサンプリング)まで許容される。
【0034】
アフィンモードを使用するかどうかとスケーリング比に応じて、4つのフィルタのいずれかが使用される。条件は、以下のとおりである:
【0035】
・アフィンモード使用=>アフィン用補間フィルタ
・スケーリング比>1.75=>2倍ダウンサンプリング用の補間フィルタが使用される
・1.25<スケーリング比<=1.75=>1.5倍ダウンサンプリング用の補間フィルタが使用される
・スケーリング比<=1.25=>RPRがない場合の通常の補間フィルタ
【0036】
現在の画像が基準画像よりも大きい解像度変更の場合、または現在の画像が基準画像よりも小さい場合の比率の値が非常に小さい場合(スケーリング比<=1.25倍ダウンサンプリング係数)、通常の補間フィルタが使用される。
【0037】
アフィンモードが使用されていない場合、RPRがない場合(スケーリング比=1)、スケーリング比が1.25以下の場合に使用する正規補間フィルタは、特定の平滑化フィルタを適用できる。
【0038】
1/16サンプルの正規補間フィルタは、VVCでは8タップフィルタとして定義されている。ただし、VVC仕様では、次の場合に使用される特別な6タップ平滑化フィルタが定義されている:
【0039】
・ブロック内コピー(IBC)モードなし
・動きベクトルの差分解像度は、1/2輝度サンプル解像度。
【0040】
この6タップの平滑化フィルタは、適応動きベクトル解像度が使用され、動きベクトルの差分がハーフサンプル解像度の場合に使用される。
フィルタは
図9に複製されている。
【0041】
VVCにおける1/16の部分サンプル精度を考えると、部分サンプル位置p=8はハーフサンプル位置に相当する(8/16=1/2)。1に等しい変数hpelIfIdxは、6タップ平滑化フィルタ(ハイライト表示)がハーフサンプル位置に使用されているかどうかを示す。hpelIfIdxは、AmvrShiftが3に等しいときに1に設定され、IBCモードを使用しない場合には、ハーフサンプルのMVD分解能を示す。この場合、ビットストリームでは、amvr_flag=1、amvr_precision_idx=0のシンタックスで通知される。
図10も参照。
【0042】
RPRを使用しない場合、基準ブロック内の各サンプルは同一の部分(半サンプル)補間位置を参照するため、上記の場合、平滑化フィルターが使用される。
しかし,RPRを使用する場合,各サンプルは異なる部分補間位置を参照することができる。
【0043】
以下のテキストでは、現在のブロックのnサンプル差(x’’L-x’Lまたはy’’L-y’L)は、スケーリング比に影響されることに注意されたい。
【0044】
-予測輝度サンプルアレイpredSamplesLX内の各輝度サンプル位置(xL=0...sbWidth-1+brdExtSize,yL=0...sbHeight-1+brdExtSize)について、対応する予測輝度サンプル値predSamplesLX[xL][yL]は、以下のように導出される:
【0045】
-(refxSbL,refySbL)と(refxL,refyL)を1/16サンプル単位で与えられた動きベクトル(refMvLX[0],refMvLX[1])の指す輝度位置とする。変数refxSbL、refxL、refySbL、refyLは以下のように導出される:
【0046】
refxSbL=(((xSb-scaling_win_left_offset)<<4)+refMvLX[0])*scalingRatio[0]
refxL=((Sign(refxSbL)*((Abs(refxSbL+128)>>8)+xL
*((scalingRatio[0]+8)>>4))+fRefLeftOffset+32)>>6
refySbL=(((ySb?scaling_win_top_offset)<<4)+refMvLX[1])*scalingRatio[1]
refyL=((Sign(refySbL)*((Abs(refySbL)+128)>>8)+yL*((scalingRatio[1]+8)>>4))+fRefTopOffset+32)>>6
【0047】
ここで、scaling_win_left_offsetはSubWidthCxpps_scaling_win_left_offsetとして計算でき、scaling_win_top_offsetはSubHeightCxpps_scaling_win_top_offsetとして計算できる。
【0048】
たとえば、現在の画像が基準画像よりも2倍大きいと仮定する。これは、
図4aに描かれていて、基準画像と現在の画像のサンプルが空間的に重なって示されており、十字は基準(d)画像のサンプルを示し、ブロック円は現在の画像のサンプルを示す。現在の画像の現在の4x4ブロックが表示される。そのブロックの動きベクトルは矢印で示されている。それは、現在の画像のサンプルのペルグリッドに対してハーフペル解像度で定義される。基準画像内のブロックサンプルの位置は、基準画像が現在の画像のブロックの予測子を得るために補間されるべきものであり、白丸で示される。動きベクトルは、サンプルx’
L=0(4x4ブロックの左上サンプル)がハーフサンプル位置を指し、サンプルx’
L=1(その右側のサンプル)が整数またはフルサンプル位置を指すように例示的に選択され、両方の位置が基準画像に対してハーフペルまたはフルペルであることが示される。このように、異なる画素位置、言い換えれば異なる位相に関連する画素を導く状況は、
図4bに示すように、同じ解像度を有し、動きベクトルがハーフ画素の解像度で定義される基準および現在の画像では生じない。同様に、スケーリングが2xではなく4xであり、サンプルx’
L=0はハーフサンプル位置を指し、サンプルx’
L=1はクオーターサンプルの位置を指し、サンプルx’
L=2は、整数サンプルの位置を指す。
【0049】
これは、1つのブロック内で、いくつかのサンプルは平滑化フィルタを使用し、いくつかは使用しないことを意味し、これは、不快な視覚効果および可視アーチファクトをもたらすことになる。
【0050】
一実施形態では、動き補償ステップにおける変数hpelIfIdxの導出は、以下のように、現在の画像と基準画像との間のスケーリング比を含むように修正される:
【0051】
AmvrShiftが3に等しく、スケーリング比==1、すなわちRefPicScaleが16384に等しい場合、hpelIfIdx=1である。
【0052】
図4cは、本発明に係るビデオデコーダを示す。ビデオデコーダ410は、動き補償予測を使用して、データストリーム420からビデオ450を復号する。動き予測は、動き予測部分440で実行することができ、データストリーム420で送信される第1の動きベクトル423および第2の動きベクトル424に基づく。
【0053】
第1の動きベクトル423は、ハーフサンプル解像度である第1の解像度でデータストリーム420で送信され、第2の動きベクトル423は、第1の解像度とは異なる第2の解像度でデータストリーム420で送信される。
【0054】
動き補償は、等しい画像解像度の第1の画像421と異なる画像解像度の第2の画像422との間で実行される、すなわち、RPRがサポートされる、または言い換えれば、運動ベクトルは、現在の画像から同じ解像度の参照画像を指すことができる。現在の画像は、両方とも第1の画像を形成し、動きベクトルは、現在の画像から現在の画像とは異なる解像度の参照画像を指し示し、次いで両方が第2の画像を形成する。したがって、画像のサイズおよび/または解像度は、変化してもよく、データストリームにおいて信号化される。動き補償は、補間フィルタ431および432を使用して実行され、基準画像内、すなわち、参照サンプルアレイ内のサブサンプル値を取得する。
【0055】
ビデオデコーダ410は、例えば、選択部分430において、第1の補間フィルタバージョン431および第2の補間フィルタバージョン432から、所定の第1の動きベクトルの補間フィルタを選択する。第2の補間フィルタバージョン432は、第1の補間フィルタバージョン431よりも高いエッジ保存特性を有する。以下でより詳細に示されるように、この選択は、特定のフェーズのサンプル、または別の言い方をすれば、ハーフペル位置などの特定のサブペル位置に固有である可能性がある。
【0056】
補間フィルタの選択は、所定の第1の動きベクトルが属する現在の画像が、所定の第1の動きベクトルが関係する基準サンプルアレイと画像解像度が等しいかどうかに依存する。選択と同等性のチェックは、寸法に対して別々に、つまり水平および/または垂直の次元で行うことができる。追加的にまたは代替的に、選択は、以下でより詳細に概説されるように、データストリームにおいて送信される制約情報425にも依存し得る。
【0057】
制約情報425の依存性は、
図4cには示されていない。
【0058】
さらに、エンコーダおよびデコーダは、補間フィルタを使用せずに、所定の第1の動きベクトルの基準サンプルアレイ内のフルサンプル値を取得することができる。
図4aおよび
図4bにおいて、例えば、AmvrShift=3を用いるなどしてハーフペルの解像度でデータストリームを伝送する場合、そこに示される動きベクトルは「第1の動きベクトル」である。予測されたブロックのサンプルがそれぞれの動きベクトルに従ってシフトされる位置は、
図4および4bに円で示されている。十字に当たる円は「フルサンプル値」である。それらは、基準画像(十字)の配置されたサンプルから、補間なに直接決定することができる。つまり、インター予測ブロックのサンプルのシフト位置が直接該当する基準画像のサンプルのサンプル値は、その上にシフト位置が該当するインター予測ブロックのサンプルの予測子として直接使用される。当然、第2の動きベクトル、すなわちハーフペル以外の解像度でデータストリームで伝送される動きベクトルを有するインター予測ブロックのシフトされたサンプル位置に関しても同じことが適用され得る。
【0059】
また、デコーダは、さらなる補間フィルタを使用して、例えば、第1の補間フィルタバージョンよりも高いエッジ保存特性を有するフィルタを使用して、非ハーフサンプルサブサンプル値を得ることができる。
図4aおよび
図4bに再度示す。「非ハーフサンプルサブサンプル値」とは、いずれの基準画像のサンプルにも該当せず、また基準画像の水平、垂直、斜めに隣接する2つのサンプルの中間にも該当しない、すなわちいずれの十字にも該当せず、また水平、垂直、斜めに隣接する2つの十字の中間にも該当しない円のことである。同様に、より高いエッジ保存特性を備えた補間フィルタが使用される。
図4dを参照されたい。これは、クォーターペル位置について示している。ブロックの左上と2番目のサンプルのシフトされた位置は、クォーターペル位置である。基準画像サンプル(
図4dの左上の十字)から右方向にフルサンプルピッチの12/16番目離れたサンプル位置である。これは、基準画像サンプル(
図4dの左上の十字)から右へ全サンプルピッチの12/16番目離れたサンプル位置である。それはFIRフィルタである。この表は、補間されるサンプル位置が配置される基準画像のサンプルに適用されるフィルタ係数からなる。
図4dは、補間フィルタが定義されるエントリを強調し、このフィルタによる基準画像サンプルの一部を重み付けして、補間されたクォーターペルサンプルを得ることを示している。参照画像のサンプル間のサブペル位置でサンプル値を取得するために最初に水平補間を適用し、次いでこれらの補間された中間サンプルを使用して垂直補間を実行して、実際に必要なサブペルサンプルを取得する場合があることに注意されたい。必要なサブペルサンプルは、サブサンプルの精度で、基準画像サンプルから垂直と水平に、またはその逆に、つまり最初に垂直に、次いで水平にオフセットされる。再び、2つのハーフペルサンプル位置補間フィルタバージョンの選択は、両方の次元での画像解像度の同等性に応じて、水平方向と垂直方向で別々に、または両方の方向でグローバルに行うことができる。
【0060】
上述のように、選択は水平補間と垂直補間で別々に実行できる。選択は、ハーフペル位置8/16に関する2つのエントリで
図4dに示されていいる:どのフィルタを使用するかは、hpelIfIdxに依存する。後者の変数は、たとえば、基準画像と現在の画像の解像度が同じかどうかに応じて設定される。後者の同等性のチェックは、hpelHorIfIdxおよびhpelVerIfIdxという用語を使用して、以下に示すようにaとyに対して別々に実行できる。特に、現在の画像と基準サンプル配列の水平の画像解像度が等しくない場合は、2番目の補間フィルタ(エッジ保存特性の高いフィルタ)が水平補間に選択される可能性がある。それは、表の行で定義されているフィルタであり、 hpelIfIdx=0。同様に、例えば、現在の画像と基準サンプル配列の水平の画像解像度が等しくない場合は、2番目の補間フィルタ(エッジ保存特性の高いフィルタ)が水平補間に選択される可能性がある。また、現在の画像と基準サンプル配列が水平と垂直の画像解像度で等しくない場合、エッジ保存性の高いフィルタである第2の補間フィルタを水平と垂直の補間に選択することが可能である。2番目の補間フィルタが使用されない任意の方向には,最初の補間フィルタ,すなわち表のhpelIfIdx=1の行にあるフィルタが使用される。
【0061】
2つのハーフペル位置補間フィルタのうち、どのフィルタを選択するかは、当然、ハーフペル動きベクトルだけでなく、すべての動きベクトルに対して行われると解釈してもよい。その広い意味で見ると、2つの中からの選択は、動きベクトルがハーフサンプル解像度であるかどうかにも依存する。そうである場合、基準画像と現在の画像との間の解像度の同等性に応じて、これまでに説明したように選択が行われ、そうでない場合、選択は必然的に、より高いエッジ保存特性を備えた第2の補間フィルタをとる。
【0062】
上記の説明から明らかになったように、デコーダは、データストリーム内の1つ以上のシンタックス要素のアルファベットを使用して、特定の動きベクトルがデータストリーム内で送信される解像度を決定することができる。例えば、適応動きベクトル解像度は、amvr_flagによって示され、同じものが設定される場合、それによって、あるデフォルト動きベクトル解像度からの偏差に適合し、適応動きベクトルの解像度精度は、インデックスamvr_precision_idxによって示すことができる。このシンタックスは、デコーダによって復号されて、特定の’予測ブロックの動きベクトルがデータストリームで伝送される解像度を導き出すために使用され、このシンタックスは、エンコーダによって動きベクトルの解像度を示すために対応するように符号化される。
【0063】
デコーダ及びエンコーダは、動きベクトル解像度のための信号化可能な設定のセットからハーフペル解像度を除外することができる。それらは、以下の条件の1つが満たされる場合、1つ以上のシンタックス要素のアルファベットを、ハーフサンプル解像度を含まない第1のセットのベクトル解像度上にマッピングすることができる(一方、そうでない場合、マッピングは、ハーフサンプル解像度を含む第2のセットのベクトル解像度上に行われる):
【0064】
・制約情報は、例えば、現在の画像について、下側エッジ保存特性を有するフィルタバージョンが無効であることを示す。これは、例えば、画像またはスライスヘッダにおいて示され、例えば、1に等しいph_disable_hpel_smoothing_filterまたはsh_disable_hpel_smoothing_filter制約によって示され得る。
・所定の第1の動きベクトルが属する現在の画像と、所定の第1の動きベクトルが関連する参照サンプル配列とが、少なくとも画像解像度の1つの次元において異なることを示す。
・制約情報は、参照サンプル配列のリサンプリングが有効になっていることを示す。これは、たとえば、シーケンスパラメータセット、SPS、のシーケンスレベルで示すことができる。そのような表示の例は、1に等しいsps_ref_picture_resample_enable_flagである。それにより、基準サンプルアレイのリサンプリングが有効になっている場合に、より高いエッジ保存特製を有するフィルタバージョンが使用される。
【0065】
上記の条件のいずれも満たされない場合、デコーダはアルファベットをベクトル解像度の2番目のセットにマッピングする。これはハーフサンプル解像度を含む。
【0066】
データストリームは、時間的に連続する画像が同じまたは異なる水平および/または垂直の画像解像度次元を有するかどうかの情報を含むことができることにも留意されたい。
【0067】
さらに、上述のように、現在の画像は、具体的には、画像の解像度が、水平および垂直の次元で基準サンプルアレイと等しくなり得る。
【0068】
また、基準サンプル配列は、領域、サブ画像、または画像であることができる。
【0069】
デコーダは、画像のシーケンスごと、画像ごと、またはスライスごとのいずれかにおいて、データストリームから制約情報を導出することもできる。
【0070】
図5は、本発明に係るビデオエンコーダを示す。
そこでは、デコーダの場合と同じ原則が適用される。要約すると、ビデオエンコーダ510は、動き補償予測を使用して、ビデオ550をデータストリーム520に符号化する。動き予測は、動き予測部分540で実行することができる。エンコーダ510は、データストリーム520で第1の運動ベクトル523および第2の運動ベクトル524を送信することによってインを示す。
【0071】
第1の動きベクトル523は、ハーフサンプル解像度である第1の解像度でデータストリーム520で送信され、第2の動きベクトル523は、第1の解像度とは異なる第2の解像度でデータストリーム520で送信される。
【0072】
動き補償は、基準画像内、すなわち基準アレイ内のサブサンプル値を得るために、補間フィルタ531および532を使用して、画像解像度が等しい第1の画像521と画像解像度が異なる第2の画像522との間で実行される。
【0073】
ビデオエンコーダ510は、例えば、選択部分530において、第1の補間フィルタバージョン531および第2の補間フィルタバージョン532から、所定の第1の動きベクトルの補間フィルタを選択する。第2の補間フィルタバージョン532は、第1の補間フィルタバージョン531よりも高いエッジ保存特性を有する。
【0074】
補間フィルタの選択は、所定の第1の動きベクトルが属する現在の画像が、所定の第1の動きベクトルが関係する基準サンプルアレイと水平および/または垂直の次元において画像解像度が等しいかどうかに依存する。追加的にまたは代替的に、選択は、データストリームにおいて送信される制約情報525にも依存し得る。
【0075】
前に述べたように、デコーダによって具現化され得る同じ原理は、エンコーダによっても具現化され得る。
【0076】
したがって、エンコーダは、補間フィルタを使用せずに、所定の第1の動きベクトルの基準サンプルアレイ内のフルサンプル値を取得することもできる。
【0077】
また、エンコーダは、さらなる補間フィルタを使用して、例えば、第1の補間フィルタバージョンよりも高いエッジ保存特性を有するフィルタを使用して、非ハーフサンプルサブサンプル値を得ることができる。
【0078】
上述のように、選択は水平補間と垂直補間で別々に実行できる。
【0079】
具体的には、現在の画像と基準サンプル配列の水平の画像解像度が等しくない場合は、2番目の補間フィルタ(エッジ保存特性の高いフィルタ)が水平補間に選択され得る。
【0080】
同様に、例えば、現在の画像と基準サンプル配列の水平の画像解像度が等しくない場合は、2番目の補間フィルタ(エッジ保存特性の高いフィルタ)が水平補間に選択される可能性がある。
【0081】
また、現在の画像と基準サンプル配列が水平と垂直の画像解像度で等しくない場合、エッジ保存性の高いフィルタである第2の補間フィルタを水平と垂直の補間に選択することが可能である。所定の第1の動きベクトルがハーフサンプルの解像度であるかどうかに応じて、選択をさらに実行することができる。
【0082】
さらに、動きベクトルの解像度を選択するために、エンコーダは、現在の画像が水平および/または垂直次元において参照サンプルアレイと画像解像度が等しい場合、1つ以上のベクトルに対してハーフサンプル解像度を使用しないようにすることが可能である。
【0083】
選択のために、エンコーダは、所定の第1の動きベクトルの解像度を示すデータストリーム内の1つ以上のシンタックス要素のアルファベットをマッピングすることができる。例えば、適応動きベクトルの解像度はamvr_flagによって示すことができ、適応動きベクトルの解像度精度はamvr_precision_idxによって示すことができる。
【0084】
エンコーダは、以下の条件のうちのいずれかが満たされる場合、アルファベットを、ハーフサンプル解像度を構成しないベクトル解像度の第1のセットにマッピングすることができる:
【0085】
・制約情報は、例えば、現在の画像について、下側エッジ保存特性を有するフィルタバージョンが無効であることを示す。これは、例えば、画像またはスライスヘッダにおいて示され、例えば、1に等しいph_disable_hpel_smoothing_filterまたはsh_disable_hpel_smoothing_filter制約によって示され得る。
・所定の第1の動きベクトルが属する現在の画像と、所定の第1の動きベクトルが関連する参照サンプル配列とが、少なくとも画像解像度の1つの次元において異なることを示す。
・制約情報は、参照サンプルアレイのリサンプリングが有効になっていることを示す。これは、たとえば、シーケンスパラメータセット、SPS、のシーケンスレベルで示すことができる。そのような表示の例は、1に等しいsps_ref_picture_resample_enable_flagである。それにより、基準サンプルアレイのリサンプリングが有効になっている場合に、より高いエッジ保存特製を有するフィルタバージョンが使用される。
【0086】
上記の条件のいずれも満たされない場合、エンコーダはアルファベットをベクトル解像度の2番目のセットにマッピングすることができ、これはハーフサンプル解像度を含む。
【0087】
データストリームは、時間的に連続する画像が同じまたは異なる水平および/または垂直画像解像度次元を有するかどうかの情報を含むことができることにも留意されたい。
【0088】
さらに、上述のように、現在の画像は、具体的には、画像の解像度が、水平および垂直の次元で基準サンプルアレイと等しくなり得る。
【0089】
また、参照サンプルアレイは、領域、サブ画像、または画像であることができる。
【0090】
エンコーダは、画像のシーケンスごと、画像ごと、またはスライスごとのいずれかにおいて、データストリームから制約情報を導出することもできる。
【0091】
最後に、上記の原理は、プログラムが処理デバイス上で実行される場合、上述の原理を使用するためのソフトウェアコード部分を有するプログラムを含むコンピュータプログラム製品で具現化することもできる。さらに、このコンピュータプログラム製品は、ソフトウェアコード部分が格納されているコンピュータ可読媒体として具現化することもできる。
【0092】
上記と以下に示されている原則は、本文書で説明されているように、符号化によって、またはエンコーダによって生成されるデータストリームとして具現化することもできる。
【0093】
現在のVVCドラフトを修正する実施形態の説明に戻る。例えば、
図5では、制約情報の依存性は示されていない。
【0094】
一実施形態では、動き補償ステップにおける変数hpelIfIdxの導出は、SPSにおけるシーケンスレベルでの基準画像信号の有効フラグを組み込むように修正され、平滑化フィルタ係数は以下のように基準画像リサンプリングを禁止する場合にのみ使用される:
【0095】
AmvrShiftが3に等しく、sps_ref_picture_resample_enable_flag=0であればhpelIfIdx=1、すなわち基準画像リサンプリングは無効になる。
【0096】
別の実施形態では、画像またはスライスヘッダに、現在の画像に対して平滑化フィルタが無効にされているかどうかを示す制御シンタックスフラグが追加される。次いで、hpelIfIdxは次のように導出される:
【0097】
AmvrShiftが3に等しく、制御フラグが0に等しい場合(例えば、ph_disable_hpel_smoothing_filterまたはsh_disable_hpel_smoothing_filter)hpelIfIdx=1である。
【0098】
別の実施形態では、変数AmvrShiftの導出は、以下のような基準画像のリサンプリングに関する情報を含み、以下の場合に3に等しい値を回避するように修正される。
【0099】
・ph_disable_hpel_smoothing_filterまたはsh_disable_hpel_smoothing_filterが1に等しい、または
・スケーリング比!=1、つまりRefPicScaleが16384と等しくない、または
・sps_ref_picture_resample_enable_flag==1
【0100】
別の実施形態では、RPRが基準画像に使用される場合、すなわち、現在の画像および基準画像が等しくないサイズを有する場合、またはスケーリングウィンドウから得られるスケーリング比が1に等しくない場合、すなわちRefPicScaleが16384に等しくない場合、AmvrShiftが3に等しくないことがビットストリーム制約とされる。
【0101】
したがって、水平および垂直のハーフサンプル補間フィルタインデックスhpelHorIfIdxおよびhpelVerIfIdxは、次のように導出される:
【0102】
hpelHorIfIdx=(scalingRatio[0]==16384)?hpelIfIdx:0
hpelVerIfIdx=(scalingRatio[1]==16384)?hpelIfIdx:0
【0103】
いくつかの態様が装置のコンテキストで説明されてきたが、これらの態様は、ブロックまたはデバイスが方法ステップまたは方法ステップの特徴に対応する、対応する方法の説明も表すことは明らかである。同様に、方法ステップのコンテキストで説明される態様は、対応するブロックまたはアイテム、または対応する装置の特徴の説明も表す。方法ステップのいくつかまたはすべては、例えば、マイクロプロセッサ、プログラム可能なコンピュータ、または電子回路などのハードウェア装置によって(またはそれを使用して)実行され得る。いくつかの実施形態では、1つ以上の最も重要な方法ステップは、そのような装置によって実行され得る。
【0104】
本発明のデータストリームは、デジタル記憶媒体に記憶することができ、または無線伝送媒体などの伝送媒体またはインターネットなどの有線伝送媒体で送信することができる。
【0105】
特定の実装要件に応じて、本発明の実施形態は、ハードウェアまたはソフトウェアで実装することができる。実装は、デジタル記憶媒体、例えば、フロッピーディスク、DVD、ブルーレイ、CD、ROM、PROM、EPROM、EEPROM、またはフラッシュメモリを使用して実行でき、電子的に読み取り可能な制御信号が格納されている。その上で、それぞれの方法が実行されるように、プログラム可能なコンピュータシステムと協力する(または協力することができる)。したがって、デジタル記憶媒体はコンピュータ可読であってもよい。
【0106】
本発明に係るいくつかの実施形態は、本明細書に記載の方法の1つが実行されるように、プログラム可能なコンピュータシステムと協力することができる電子的に読み取り可能な制御信号を有するデータキャリアを含む。
【0107】
一般に、本発明の実施形態は、プログラムコードを備えたコンピュータプログラム製品として実施することができ、プログラムコードは、コンピュータプログラム製品がコンピュータ上で実行されるときに方法の1つを実行するために機能する。プログラムコードは、例えば、機械可読キャリアに格納され得る。
【0108】
他の実施形態は、機械可読キャリアに格納された、本明細書に記載の方法の1つを実行するためのコンピュータプログラムを含む。
【0109】
換言すれば、本発明の方法の実施形態は、したがって、コンピュータプログラムがコンピュータ上で実行されるときに、本明細書に記載の方法の1つを実行するためのプログラムコードを有するコンピュータプログラムである。したがって、本発明の方法のさらなる実施形態は、本明細書に記載の方法の1つを実行するためのコンピュータプログラムをその上に記録したデータキャリア(またはデジタル記憶媒体、またはコンピュータ可読媒体)である。データキャリア、デジタル記憶媒体、または記録媒体は、典的には、有形および/または非過渡的である。
【0110】
したがって、本発明の方法のさらなる実施形態は、本明細書に記載の方法の1つを実行するためのコンピュータプログラムを表すデータストリームまたは信号のシーケンスである。
データストリームまたは信号のシーケンスは、例えば、インターネットを介して、データ通信接続を介して転送されるように構成され得る。
【0111】
さらなる実施形態は、本明細書に記載の方法の1つを実行するように構成または適合された処理手段、例えば、コンピュータ、またはプログラマブル論理デバイスを備える。
【0112】
さらなる実施形態は、本明細書に記載の方法の1つを実行するためのコンピュータプログラムをその上にインストールしたコンピュータを備える。
本発明に係るさらなる実施形態は、本明細書に記載の方法の1つを実行するためのコンピュータプログラムを(例えば、電子的または光学的に)受信機に転送するように構成された装置またはシステムを備える。受信機は、例えば、コンピュータ、モバイルデバイス、メモリデバイスなどであり得る。装置またはシステムは、例えば、コンピュータプログラムを受信機に転送するためのファイルサーバを備え得る。
【0113】
いくつかの実施形態では、プログラマブル論理デバイス(例えば、フィールドプログラマブルゲートアレイ)を使用して、本明細書に記載の方法の機能のいくつかまたはすべてを実行することができる。いくつかの実施形態では、フィールドプログラマブルゲートアレイは、本明細書に記載の方法の1つを実行するためにマイクロプロセッサと協働することができる。一般に、これらの方法は、任意のハードウェア装置によって実行されることが好ましい。
【0114】
本明細書に記載の装置は、ハードウェア装置を使用して、またはコンピュータを使用して、またはハードウェア装置とコンピュータの組み合わせを使用して実施することができる。本明細書に記載の装置、または本明細書に記載の装置の任意の構成要素は、少なくとも部分的にハードウェアおよび/またはソフトウェアで実装することができる。
【0115】
本明細書に記載の方法は、ハードウェア装置を使用して、またはコンピュータを使用して、またはハードウェア装置とコンピュータの組み合わせを使用して実行することができる。
【0116】
本明細書に記載の方法、または本明細書に記載の装置の任意の構成要素は、少なくとも部分的にハードウェアおよび/またはソフトウェアによって実行することができる。
【0117】
上記の実施形態は、本発明の原理を単に例示するものである。
本明細書に記載された配置および詳細の修正および変形は、当業者には明らかであろうことが理解される。
したがって、本明細書の実施形態の説明および説明によって提示される特定の詳細によってではなく、差し迫った特許請求の範囲によってのみ制限されることが意図されている。