(57)【要約】  ビデオシーケンスの画像をコーディングするための方法および装置ならびに端末デバイスが提供され、画像が、現在の画像ブロックを含む。方法では、現在の画像ブロックの初期動き情報が、取得され、現在の画像ブロックに対応する少なくとも2つの候補参照画像ブロックのサンプル値が、初期動き情報に従って取得され、各候補参照画像ブロックのサンプル値のビット深度が、予め定義されたビット深度に制約され、次いで、改善された動き情報が、少なくとも2つの参照画像ブロックの制約されたサンプル値に基づいて取得され、現在の画像ブロックの予測画像ブロックが、改善された動き情報に従って決定される。本開示において提供されるビデオシーケンスの画像をコーディングするための方法または装置によって、各候補参照画像ブロックのサンプル値のビット深度が、動き情報の改善の前に制約され、したがって、計算の複雑さを少なくし、処理時間の低減を可能にする。
2021536707.tif 000002
【特許請求の範囲】
【請求項１】
ビデオシーケンスの画像をコーディングするための方法であって、前記画像が現在の画像ブロックを含み、前記方法が、
前記現在の画像ブロックの初期動き情報を取得するステップと、
前記初期動き情報に従って前記現在の画像ブロックに対応する少なくとも2つの候補参照画像ブロックのサンプル値を取得するステップと、
各候補参照画像ブロックのサンプル値のビット深度を予め定義されたビット深度に制約するステップと、
少なくとも2つの制約された候補参照画像ブロックの制約されたサンプル値に基づいて改善された動き情報を取得するステップと、
前記改善された動き情報に従って前記現在の画像ブロックの予測画像ブロックを決定するステップと
を含む、方法。
【請求項２】
各候補参照画像ブロックのサンプル値のビット深度を予め定義されたビット深度に前記制約するステップが、
各候補参照画像ブロックのサンプル値の前記ビット深度に対して(b-d)の量の右シフトを実行するステップであって、bが、前記各候補参照画像ブロックの前記サンプル値の前記ビット深度であり、dが、前記予め定義されたビット深度であり、bが、dよりも大きい、ステップを含む、請求項1に記載の方法。
【請求項３】
現在の画像ブロックの初期動き情報を前記取得するステップが、
最も小さなコストを有する動き情報をマージ候補リストから前記初期動き情報として決定するために第1のコスト関数を使用するステップであって、前記マージ候補リストが、前記現在の画像ブロックの隣接ブロックの動き情報を含む、ステップを含む、請求項1または2に記載の方法。
【請求項４】
現在の画像ブロックの初期動き情報を前記取得するステップが、
マージインデックスによって特定された動き情報をマージ候補リストから前記初期動き情報として決定するステップであって、前記マージ候補リストが、前記現在の画像ブロックの隣接ブロックの動き情報を含む、ステップを含む、請求項1または2に記載の方法。
【請求項５】
前記現在の画像ブロックに対応する少なくとも2つの候補参照画像ブロックのサンプル値を前記取得するステップが、
前記初期動き情報および前記現在の画像ブロックの位置に従って候補参照画像ブロックの位置を決定するステップと、
前記候補参照画像ブロックの前記位置に基づいて前記候補参照画像ブロックのサンプル値が利用可能であるかどうかを判定し、前記候補参照画像ブロックの前記サンプル値が利用不可能である場合、前記候補参照画像ブロックの前記サンプル値を取得するために補間動作を実行するステップと
を含む、請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記少なくとも2つの制約された候補参照画像ブロックの制約されたサンプル値に基づいて改善された動き情報を前記取得するステップが、
最も小さなコストを有する制約された候補参照画像ブロックの位置を決定するために第2のコスト関数を使用するステップと、
前記最も小さなコストを有する前記制約された候補参照画像ブロックの前記位置に従って前記改善された動き情報を取得するステップと
を含む、請求項1から5のいずれか一項に記載の方法。
【請求項７】
前記第2のコスト関数が、制約された候補参照画像ブロックと前記現在の画像ブロックのテンプレートとの間の差を示し、前記テンプレートが、前記初期動き情報および前記現在の画像ブロックの位置に基づいて取得され、前記テンプレートのサンプル値のビット深度が、前記予め定義されたビット深度に制約される、請求項6に記載の方法。
【請求項８】
前記コストが、
m0 > m1の場合、
【数１】
2021536707.tif 000022
それ以外の場合、
【数２】
2021536707.tif 000023
として計算され、Hが、前記現在の画像ブロックの高さであり、Wが、前記現在の画像ブロックの幅であり、I0(i, j)が、制約された候補参照画像ブロックの位置(i, j)のサンプル値であり、I1(i, j)が、前記テンプレートの前記位置(i, j)のサンプル値であり、m0が、前記制約された候補参照画像ブロックのサンプル値の平均であり、m1が、前記テンプレートのサンプル値の平均であり、dが、前記予め定義されたビット深度である、請求項7に記載の方法。
【請求項９】
前記少なくとも2つの制約された候補参照画像ブロックが、1組の第1の制約された候補参照画像ブロックおよび1組の第2の制約された候補参照画像ブロックを含み、
前記初期動き情報が、第1の初期動き情報および第2の初期動き情報を含み、前記方法が、
前記第1の初期動き情報および前記現在の画像ブロックの位置に基づいて第1の初期参照画像ブロックを取得するステップと、
前記第2の初期動き情報および前記現在の画像ブロックの前記位置に基づいて第2の初期参照画像ブロックを取得するステップと、
前記第1の初期参照画像ブロックと前記第2の初期参照画像ブロックとの重み付けされた組み合わせを前記テンプレートとして計算するステップと
をさらに含み、
最も小さなコストを有する制約された候補参照画像ブロックの位置を決定するために第2のコスト関数を前記使用するステップが、
前記テンプレートとそれぞれの第1の制約された候補参照画像ブロックとの間の差を計算し、最も小さな差を有する第1の制約された参照画像ブロックの第1の位置を決定するステップと、
前記テンプレートとそれぞれの第2の制約された候補参照画像ブロックとの間の差を計算し、最も小さな差を有する第2の制約された参照画像ブロックの第2の位置を決定するステップと
を含み、
前記制約された候補参照画像ブロックの位置に従って前記改善された動き情報を前記取得するステップが、
前記第1の位置および前記第2の位置に従って前記改善された動き情報を取得するステップを含む、請求項7または8に記載の方法。
【請求項１０】
前記少なくとも2つの制約された候補参照画像ブロックが、1組の第1の制約された候補参照画像ブロックおよび1組の第2の制約された候補参照画像ブロックを含み、前記第2のコスト関数が、第1の制約された候補参照画像ブロックと第2の制約された候補参照画像ブロックとの間の差を示す、請求項6に記載の方法。
【請求項１１】
前記コストが、
m0 > m1の場合、
【数３】
2021536707.tif 000024
それ以外の場合、
【数４】
2021536707.tif 000025
として計算され、Hが、前記現在の画像ブロックの高さであり、Wが、前記現在の画像ブロックの幅であり、I0(i, j)が、第1の制約された候補参照画像ブロックの位置(i, j)のサンプル値であり、I1(i, j)が、第2の制約された候補参照画像ブロックの前記位置(i, j)のサンプル値であり、m0が、前記第1の制約された候補参照画像ブロックのサンプル値の平均であり、m1が、前記第2の制約された候補参照画像ブロックのサンプル値の平均であり、dが、前記予め定義されたビット深度である、請求項10に記載の方法。
【請求項１２】
前記改善された動き情報が、前記現在の画像ブロックの改善された動きベクトルを含み、
前記改善された動き情報に従って前記現在の画像ブロックの予測画像ブロックを前記決定するステップが、
前記改善された動きベクトルおよび参照画像に従って前記現在の画像ブロックの前記予測画像ブロックを決定するステップであって、前記参照画像が、予め定義された画像であるか、または予め定義されたアルゴリズムに基づいて取得される、ステップを含む、請求項1から11のいずれか一項に記載の方法。
【請求項１３】
前記改善された動き情報が、前記現在の画像ブロックの改善された動きベクトルおよび参照画像のインジケーションを含み、
前記改善された動き情報に従って前記現在の画像ブロックの予測画像ブロックを前記決定するステップが、
前記改善された動きベクトルおよび前記参照画像の前記インジケーションに従って前記現在の画像ブロックの前記予測画像ブロックを決定するステップを含む、請求項1から11のいずれか一項に記載の方法。
【請求項１４】
前記第1のコスト関数が、差分絶対値和(SAD)、平均を引いた差分絶対値和(MR-SAD)、または差分二乗和(SSD)のうちの1つである、請求項3に記載の方法。
【請求項１５】
前記第2のコスト関数が、差分絶対値和(SAD)、平均を引いた差分絶対値和(MR-SAD)、または差分二乗和(SSD)のうちの1つである、請求項6から11のいずれか一項に記載の方法。
【請求項１６】
前記制約された候補参照画像ブロックが、制約されたサンプル値を有する前記候補参照画像ブロックを指す、請求項1から15のいずれか一項に記載の方法。
【請求項１７】
ビデオシーケンスの画像をコーディングするための装置であって、前記画像が現在の画像ブロックを含み、前記装置が、
前記現在の画像ブロックの初期動き情報を取得するように構成された取得モジュールであって、
前記取得モジュールが、前記初期動き情報に従って前記現在の画像ブロックに対応する少なくとも2つの候補参照画像ブロックのサンプル値を取得するようにさらに構成される、取得モジュールと、
各候補参照画像ブロックのサンプル値のビット深度を予め定義されたビット深度に制約するように構成された制約モジュールであって、
前記取得モジュールが、少なくとも2つの制約された候補参照画像ブロックの制約されたサンプル値に基づいて改善された動き情報を取得するようにさらに構成される、制約モジュールと、
前記改善された動き情報に従って前記現在の画像ブロックの予測画像ブロックを決定するように構成された決定モジュールと
を含む、装置。
【請求項１８】
前記制約モジュールが、
各候補参照画像ブロックのサンプル値の前記ビット深度に対して(b-d)の量の右シフトを実行するように特に構成され、bが、前記各候補参照画像ブロックの前記サンプル値の前記ビット深度であり、dが、前記予め定義されたビット深度であり、bが、dよりも大きい、請求項17に記載の装置。
【請求項１９】
前記取得モジュールが、
最も小さなコストを有する動き情報をマージ候補リストから前記初期動き情報として決定するために第1のコスト関数を使用するように特に構成され、前記マージ候補リストが、前記現在の画像ブロックの隣接ブロックの動き情報を含む、請求項17または18に記載の装置。
【請求項２０】
前記取得モジュールが、
マージインデックスによって特定された動き情報をマージ候補リストから前記初期動き情報として決定するように特に構成され、前記マージ候補リストが、前記現在の画像ブロックの隣接ブロックの動き情報を含む請求項17または18に記載の装置。
【請求項２１】
前記取得モジュールが、
前記初期動き情報および前記現在の画像ブロックの位置に従って候補参照画像ブロックの位置を決定することと、
前記候補参照画像ブロックの前記位置に基づいて前記候補参照画像ブロックのサンプル値が利用可能であるかどうかを判定し、前記候補参照画像ブロックのサンプル値が利用不可能である場合、前記候補参照画像ブロックの前記サンプル値を取得するために補間動作を実行することと
を行うように特に構成される、請求項17から20のいずれか一項に記載の装置。
【請求項２２】
前記取得モジュールが、
最も小さなコストを有する制約された候補参照画像ブロックの位置を決定するために第2のコスト関数を使用することと、
前記最も小さなコストを有する前記制約された候補参照画像ブロックの前記位置に従って前記改善された動き情報を取得することと
を行うように特に構成される、請求項17から21のいずれか一項に記載の装置。
【請求項２３】
前記第2のコスト関数が、制約された候補参照画像ブロックと前記現在の画像ブロックのテンプレートとの間の差を示し、前記テンプレートが、前記初期動き情報および前記現在の画像ブロックの位置に基づいて取得され、前記テンプレートのサンプル値のビット深度が、前記予め定義されたビット深度に制約される、請求項22に記載の装置。
【請求項２４】
前記コストが、
m0 > m1の場合、
【数５】
2021536707.tif 000026
それ以外の場合、
【数６】
2021536707.tif 000027
として計算され、Hが、前記現在の画像ブロックの高さであり、Wが、前記現在の画像ブロックの幅であり、I0(i, j)が、制約された候補参照画像ブロックの位置(i, j)のサンプル値であり、I1(i, j)が、前記テンプレートの前記位置(i, j)のサンプル値であり、m0が、前記制約された候補参照画像ブロックのサンプル値の平均であり、m1が、前記テンプレートのサンプル値の平均であり、dが、前記予め定義されたビット深度である、請求項23に記載の装置。
【請求項２５】
前記少なくとも2つの制約された候補参照画像ブロックが、1組の第1の制約された候補参照画像ブロックおよび1組の第2の制約された候補参照画像ブロックを含み、
前記取得モジュールが、
第1の初期動き情報および前記現在の画像ブロックの位置に基づいて第1の初期参照画像ブロックを取得することと、
第2の初期動き情報および前記現在の画像ブロックの前記位置に基づいて第2の初期参照画像ブロックを取得することと、
前記第1の初期参照画像ブロックと前記第2の初期参照画像ブロックとの重み付けされた組み合わせを前記テンプレートとして計算することと、
前記テンプレートとそれぞれの第1の制約された候補参照画像ブロックとの間の差を計算し、最も小さな差を有する第1の制約された参照画像ブロックの第1の位置を決定することと、
前記テンプレートとそれぞれの第2の制約された候補参照画像ブロックとの間の差を計算し、最も小さな差を有する第2の制約された参照画像ブロックの第2の位置を決定することと
を行うように特に構成され、
前記決定モジュールが、
前記第1の位置および前記第2の位置に従って前記改善された動き情報を取得するように特に構成される、請求項23または24に記載の装置。
【請求項２６】
前記少なくとも2つの制約された候補参照画像ブロックが、1組の第1の制約された候補参照画像ブロックおよび1組の第2の制約された候補参照画像ブロックを含み、前記第2のコスト関数が、第1の制約された候補参照画像ブロックと第2の制約された候補参照画像ブロックとの間の差を示す、請求項22に記載の装置。
【請求項２７】
前記コストが、
m0 > m1の場合、
【数７】
2021536707.tif 000028
それ以外の場合、
【数８】
2021536707.tif 000029
として計算され、Hが、前記現在の画像ブロックの高さであり、Wが、前記現在の画像ブロックの幅であり、I0(i, j)が、第1の制約された候補参照画像ブロックの位置(i, j)のサンプル値であり、I1(i, j)が、第2の制約された候補参照画像ブロックの前記位置(i, j)のサンプル値であり、m0が、前記第1の制約された候補参照画像ブロックのサンプル値の平均であり、m1が、前記第2の制約された候補参照画像ブロックのサンプル値の平均であり、dが、前記予め定義されたビット深度である、請求項26に記載の装置。
【請求項２８】
前記改善された動き情報が、前記現在の画像ブロックの改善された動きベクトルを含み、
前記決定モジュールが、
前記改善された動きベクトルおよび参照画像に従って前記現在の画像ブロックの前記予測画像ブロックを決定するように特に構成され、前記参照画像が、予め定義された画像であるか、または予め定義されたアルゴリズムに基づいて取得される、請求項17から27のいずれか一項に記載の装置。
【請求項２９】
前記初期動き情報が、前記現在の画像ブロックの改善された動きベクトルおよび参照画像のインジケーションを含み、
前記決定モジュールが、
前記改善された動きベクトルおよび前記参照画像の前記インジケーションに従って前記現在の画像ブロックの前記予測画像ブロックを決定するように特に構成される、請求項17から27のいずれか一項に記載の装置。
【請求項３０】
請求項17から29のいずれか一項に記載のビデオシーケンスの画像をコーディングするための装置を含む、エンコーダ。
【請求項３１】
請求項17から29のいずれか一項に記載のビデオシーケンスの画像をコーディングするための装置を含む、デコーダ。
【請求項３２】
請求項30に記載のエンコーダおよび請求項31に記載のデコーダを含む、端末デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像コーディングの技術分野に関し、詳細には、ビデオシーケンスの画像をコーディングするための方法および装置、ならびに端末デバイスに関する。
【背景技術】
【０００２】
ビデオコーディング(ビデオ符号化および復号)は、広範なデジタルビデオアプリケーション、たとえば、ブロードキャストデジタルTV、インターネットおよびモバイルネットワーク上のビデオ送信、ビデオチャットのようなリアルタイム会話アプリケーション、テレビ会議、DVDおよびブルーレイディスク、ビデオコンテンツ獲得および編集システム、ならびにセキュリティアプリケーションのカムコーダにおいて使用される。
【０００３】
ビデオ圧縮において、インター予測は、現在の画像ブロックに対する動きベクトルを指定することによって、既に復号された参照ピクチャの再構築されたサンプルを使用するプロセスである。これらの動きベクトルは、空間的または時間的動きベクトル予測子(predictor)を使用することによって予測残差としてコーディングされうる。動きベクトルは、サブピクセル精度でありうる。再構築された整数位置の値から参照画像内のサブピクセル精度のピクセル値を導出するために、補間フィルタが適用される。双予測(bi-prediction)は、現在の画像ブロックに関する予測が2つの参照ピクチャの領域から2つの動きベクトルを使用して導出された2つの予測ブロックの重み付けされた組み合わせとして導出されるプロセスを指す。この場合、動きベクトルに加えて、それから2つの予測ブロックが導出される参照ピクチャに関する参照インデックスも、コーディングされる必要がある。現在の画像ブロックに関する動きベクトルはまた、いかなる動きベクトルの残差もコーディングすることなく空間的近隣ブロック(spatial neighbor)の動きベクトルおよび参照インデックスが継承されるマージプロセスによって導出されうる。空間的近隣ブロックに加えて、既にコーディングされた参照ピクチャの動きベクトルも記憶され、現在の画像ブロックの参照ピクチャまでの距離に対する参照画像までの距離に配慮するための動きベクトルの適切なスケーリングをともなう時間的マージオプションとして使用される。
【０００４】
動きベクトルがさらに改善されうるようにデコーダ側動きベクトル改善(decoder-side motion vector refinement)(略してDMVR)またはデコーダ側動きベクトル導出(decoder-side motion vector derivation)(略してDMVD)を実行するためのいくつかの方法が、提案されている。DMVRプロセスおよびDMVDプロセスの両方の間に、サブピクセル精度の動きベクトルでありうる出発点(starting point)の周りで改善の探索が実行される必要があり、これは、通常、複雑で時間を要する。
【０００５】
この背景情報は、本開示と関連がある可能性があると出願人が考える情報を明らかにするために提供される。上述の情報のいずれかが本開示に対する従来技術を構成すると認めることは、必ずしも意図されておらず、また、認めるものと解釈されるべきでない。
【発明の概要】
【課題を解決するための手段】
【０００６】
以上に鑑みて、上記問題を克服するために、本開示は、ビデオシーケンスの画像をコーディングするための方法および装置ならびに端末デバイスを提供する。
【０００７】
上述のおよびその他の目的は、独立請求項の主題により達成される。さらなる実装の形態は、従属請求項、明細書、および図面から明らかである。
【０００８】
第1の態様によれば、本開示は、ビデオシーケンスの画像をコーディングするための方法に関し、画像は、現在の画像ブロックを含む。方法は、ビデオシーケンスの画像をコーディングするための装置によって実行される。方法では、現在の画像ブロックの初期動き情報が、取得され、現在の画像ブロックに対応する少なくとも2つの候補参照画像ブロックのサンプル値が、初期動き情報に従って取得され、各候補参照画像ブロックのサンプル値のビット深度が、予め定義されたビット深度に制約され、次いで、改善された動き情報が、少なくとも2つの制約された候補参照画像ブロックの制約されたサンプル値に基づいて取得され、現在の画像ブロックの予測画像ブロックが、改善された動き情報に従って決定される。
【０００９】
本開示において提供されるビデオシーケンスの画像をコーディングするための方法によって、各候補参照画像ブロックのサンプル値のビット深度が、動き情報の改善の前に制約され、したがって、計算の複雑さを少なくし、処理時間の低減を可能にする。
【００１０】
第1の態様それ自体に係る方法の可能な実装の形態において、少なくとも2つの制約された候補参照画像ブロックの制約されたサンプル値に基づいて改善された動き情報を取得するステップは、最も小さなコストを有する制約された候補参照画像ブロックの位置を決定するために第2のコスト関数を使用するステップと、最も小さなコストを有する制約された候補参照画像ブロックの位置に従って改善された動き情報を取得するステップとを含む。ここで、第2のコスト関数は、制約された候補参照画像ブロックと現在の画像ブロックのテンプレートとの間の差を示し、テンプレートは、初期動き情報および現在の画像ブロックの位置に基づいて取得され、テンプレートのサンプル値のビット深度は、予め定義されたビット深度に制約される。ここで、テンプレートは、2つの制約された候補参照画像ブロックの重み付けされた組み合わせから取得された比較基準として働く。コストは、
m0 > m1の場合、
【数１】
2021536707.tif 000003
それ以外の場合、
【数２】
2021536707.tif 000004
として計算され、式中、Hは、現在の画像ブロックの高さであり、Wは、現在の画像ブロックの幅であり、I0(i, j)は、制約された候補参照画像ブロックの位置(i, j)のサンプル値であり、I1(i, j)は、テンプレートの位置(i, j)のサンプル値であり、m0は、制約された候補参照画像ブロックのサンプル値の平均であり、m1は、テンプレートのサンプル値の平均であり、dは、予め定義されたビット深度である。
【００１１】
上記式は、式中の変数を、dビットで表現されうる最大値を超えないように制限することを目的とする。また、上記式は、最終的な絶対差が2つの量の間で予め定義されたビット深度で実行されることができ、それによって、起こりうるオーバーフローエラー(overflowing error)を防止する規範的(normative)プロセスを規定する。
【００１２】
第1の態様それ自体に係る方法の可能な実装の形態において、最も小さなコストを有する制約された候補参照画像ブロックの位置を決定するために第2のコスト関数を使用すること、最も小さなコストを有する制約された候補参照画像ブロックの位置に従って改善された動き情報を取得すること。ここで、少なくとも2つの制約された候補参照画像ブロックは、1組の第1の制約された候補参照画像ブロックおよび1組の第2の制約された候補参照画像ブロックを含み、第2のコスト関数は、第1の制約された候補参照画像ブロックと第2の制約された候補参照画像ブロックとの間の差を示す。コストは、
m0 > m1の場合、
【数３】
2021536707.tif 000005
それ以外の場合、
【数４】
2021536707.tif 000006
として計算され、式中、Hは、現在の画像ブロックの高さであり、Wは、現在の画像ブロックの幅であり、I0(i, j)は、第1の制約された候補参照画像ブロックの位置(i, j)のサンプル値であり、I1(i, j)は、第2の制約された候補参照画像ブロックの位置(i, j)のサンプル値であり、m0は、第1の制約された候補参照画像ブロックのサンプル値の平均であり、m1は、第2の制約された候補参照画像ブロックのサンプル値の平均であり、dは、予め定義されたビット深度である。
【００１３】
上記式は、式中の変数を、dビットで表現されうる最大値を超えないように制限することを目的とする。また、上記式は、最終的な絶対差が2つの量の間で予め定義されたビット深度で実行されることができ、それによって、起こりうるオーバーフローエラーを防止する規範的プロセスを規定する。
【００１４】
第2の態様によれば、本開示は、ビデオシーケンスの画像をコーディングするための装置に関する。装置は、取得モジュール、制約モジュール、および決定モジュールを含み、取得モジュールは、現在の画像ブロックの初期動き情報を取得し、初期動き情報に従って現在の画像ブロックに対応する少なくとも2つの候補参照画像ブロックのサンプル値を取得し、さらに、少なくとも2つの制約された候補参照画像ブロックの制約されたサンプル値に基づいて改善された動き情報を取得するように構成される。制約モジュールは、各候補参照画像ブロックのサンプル値のビット深度を予め定義されたビット深度に制約するように構成され、決定モジュールは、改善された動き情報に従って現在の画像ブロックの予測画像ブロックを決定するように構成される。
【００１５】
本開示において提供されるビデオシーケンスの画像をコーディングするための装置によって、各候補参照画像ブロックのサンプル値のビット深度が、動き情報の改善の前に制約され、したがって、計算の複雑さを少なくし、処理時間の低減を可能にする。
【００１６】
第2の態様それ自体に係る装置の可能な実装の形態において、取得モジュールは、最も小さなコストを有する制約された候補参照画像ブロックの位置を決定するために第2のコスト関数を使用することと、最も小さなコストを有する制約された候補参照画像ブロックの位置に従って改善された動き情報を取得することとを行うように特に構成される。ここで、第2のコスト関数は、制約された候補参照画像ブロックと現在の画像ブロックのテンプレートとの間の差を示し、テンプレートは、初期動き情報および現在の画像ブロックの位置に基づいて取得され、テンプレートのサンプル値のビット深度は、予め定義されたビット深度に制約される。ここで、テンプレートは、2つの制約された候補参照画像ブロックの重み付けされた組み合わせから取得された比較基準として働く。コストは、
m0 > m1の場合、
【数５】
2021536707.tif 000007
それ以外の場合、
【数６】
2021536707.tif 000008
として計算され、式中、Hは、現在の画像ブロックの高さであり、Wは、現在の画像ブロックの幅であり、I0(i, j)は、制約された候補参照画像ブロックの位置(i, j)のサンプル値であり、I1(i, j)は、テンプレートの位置(i, j)のサンプル値であり、m0は、制約された候補参照画像ブロックのサンプル値の平均であり、m1は、テンプレートのサンプル値の平均であり、dは、予め定義されたビット深度である。
【００１７】
上記式は、式中の変数を、dビットで表現されうる最大値を超えないように制限することを目的とする。上記式は、最終的な絶対差が2つの量の間で予め定義されたビット深度で実行されることができ、それによって、起こりうるオーバーフローエラーを防止する規範的プロセスを規定する。
【００１８】
第2の態様それ自体に係る装置の可能な実装の形態において、取得モジュールは、最も小さなコストを有する制約された候補参照画像ブロックの位置を決定するために第2のコスト関数を使用することと、最も小さなコストを有する制約された候補参照画像ブロックの位置に従って改善された動き情報を取得することとを行うように特に構成される。ここで、少なくとも2つの制約された候補参照画像ブロックは、1組の第1の制約された候補参照画像ブロックおよび1組の第2の制約された候補参照画像ブロックを含み、第2のコスト関数は、第1の制約された候補参照画像ブロックと第2の制約された候補参照画像ブロックとの間の差を示す。コストは、
m0 > m1の場合、
【数７】
2021536707.tif 000009
それ以外の場合、
【数８】
2021536707.tif 000010
として計算され、式中、Hは、現在の画像ブロックの高さであり、Wは、現在の画像ブロックの幅であり、I0(i, j)は、第1の制約された候補参照画像ブロックの位置(i, j)のサンプル値であり、I1(i, j)は、第2の制約された候補参照画像ブロックの位置(i, j)のサンプル値であり、m0は、第1の制約された候補参照画像ブロックのサンプル値の平均であり、m1は、第2の制約された候補参照画像ブロックのサンプル値の平均であり、dは、予め定義されたビット深度である。
【００１９】
上記式は、最終的な絶対差が2つの量の間で予め定義されたビット深度で実行されることができ、それによって、起こりうるオーバーフローエラーを防止する規範的プロセスを規定する。
【００２０】
本開示の第1の態様に係る方法は、本開示の第2の態様に係る装置によって実行されうる。本開示の第1の態様に係る方法のさらなる特徴および実装の形態は、本開示の第3の態様に係る装置およびその異なる実装の形態の機能から直接生じる。
【００２１】
第3の態様によれば、本開示は、プロセッサおよびメモリを含む、ビデオシーケンスの画像をコーディングするための装置に関する。メモリは、第1の態様に係る方法をプロセッサに実行させる命令を記憶している。
【００２２】
第4の態様によれば、実行されるときに構成された1つ以上のプロセッサにビデオシーケンスの画像をコーディングさせる命令を記憶したコンピュータ可読ストレージ媒体が、提案される。命令は、1つ以上のプロセッサに第1の態様または第1の態様の任意の可能な実施形態に係る方法を実行させる。
【００２３】
第5の態様によれば、本開示は、第2のまたは第3の態様に係るビデオシーケンスの画像をコーディングするための装置を含むエンコーダに関する。
【００２４】
第6の態様によれば、本開示は、第2のまたは第3の態様に係るビデオシーケンスの画像をコーディングするための装置を含むデコーダに関する。
【００２５】
第7の態様によれば、本開示は、第5の態様に係るエンコーダおよび第6の態様に係るデコーダを含む端末デバイスに関する。
【００２６】
本開示において提供されるビデオシーケンスの画像をコーディングするための方法または装置によって、各候補参照画像ブロックのサンプル値のビット深度が、動き情報の改善の前に制約され、したがって、計算の複雑さを少なくし、処理時間の低減を可能にする。
【００２７】
添付の図面は、本開示のさらなる理解を与えるために使用され、明細書の一部を構成し、以下の特定の実施形態と一緒に本開示を説明するために使用されるが、本開示を限定するとみなされるべきでない。
【図面の簡単な説明】
【００２８】
【図１】テンプレートマッチング(TM)に基づくデコーダ側動きベクトル導出(DMVD)の概略図である。
【図２】バイラテラルマッチング(BM: bilateral matching)に基づくDMVDの概略図である。
【図３】バイラテラルテンプレートマッチング(bilateral template matching)に基づくデコーダ側動きベクトル改善(DMVR)の概略図である。
【図４】本開示の実施形態に係るビデオシーケンスの画像をコーディングするための方法の概略的な流れ図である。
【図５】本開示の実施形態に係るビデオシーケンスの画像をコーディングするための方法の概略的な流れ図である。
【図６】本開示の実施形態に係るビデオシーケンスの画像をコーディングするための装置の構造図である。
【発明を実施するための形態】
【００２９】
以下の説明においては、本開示の一部を形成し、本開示の実施形態の特定の態様または本開示の実施形態が使用されてもよい特定の態様を例として示す添付の図面が参照される。本開示の実施形態は、その他の態様において使用され、図面に示されない構造的または論理的変更を含んでもよいことが理解される。したがって、以下の詳細な説明は、限定的意味に理解されるべきでなく、本開示の範囲は、添付の特許請求の範囲によって定義される。
【００３０】
たとえば、説明される方法に関連する開示は、方法を実行するように構成された対応するデバイスまたはシステムにも当てはまっても、その逆もあってもよいことが理解される。たとえば、1つ以上の特定の方法のステップが説明される場合、対応するデバイスは、説明される1つ以上の方法のステップを実行するための1つ以上のユニット、たとえば、機能ユニット(たとえば、1つ以上のステップを実行する1つのユニット、または複数のステップのうちの1つ以上をそれぞれが実行する複数のユニット)を、たとえそのような1つ以上のユニットが明示的に説明されないかまたは図に示されないとしても含んでもよい。一方、たとえば、特定の装置が1つ以上のユニット、たとえば、機能ユニットに基づいて説明される場合、対応する方法は、1つ以上のユニットの機能を実行するための1つのステップ(たとえば、1つ以上のユニットの機能を実行する1つのステップ、または複数のユニットのうちの1つ以上の機能をそれぞれが実行する複数のステップ)を、たとえそのような1つ以上のステップが明示的に説明されないかまたは図に示されないとしても含んでもよい。さらに、本明細書において説明される様々な例示的な実施形態および/または態様の特徴は、そうでないことが明記されない限り互いに組み合わされてもよいことが理解される。
【００３１】
ビデオコーディングは、概して、ビデオまたはビデオシーケンスを形成するピクチャのシーケンスの処理を指す。用語「ピクチャ」の代わりに、用語「フレーム」または「画像」が、ビデオコーディングの分野において同義語として使用されてもよい。本開示(または本開示)において使用されるビデオコーディングは、ビデオ符号化かまたはビデオ復号かのどちらかを示す。ビデオ符号化は、送信元の側で実行され、概して、(より効率的な記憶および/または送信のために)ビデオピクチャを表現するために必要とされるデータの量を減らすために元のビデオピクチャを(たとえば、圧縮によって)処理することを含む。ビデオ復号は、送信先の側で実行され、概して、ビデオピクチャを再構築するためにエンコーダと比べて逆の処理を含む。ビデオピクチャ(または後で説明されるように広くピクチャ)の「コーディング」に言及する実施形態は、ビデオシーケンスの「符号化」かまたは「復号」かのどちらかに関すると理解される。符号化部分と復号部分との組み合わせは、コーデック(エンコーディングおよびデコーディング)とも呼ばれる。
【００３２】
可逆ビデオコーディングの場合、(記憶または送信中に送信損失またはその他のデータ損失がないと仮定して)元のビデオピクチャが再構築されることが可能であり、つまり、再構築されたビデオピクチャは元のビデオピクチャと同じ品質を有する。不可逆ビデオコーディングの場合、ビデオピクチャを表現するデータの量を減らすために、たとえば、量子化によるさらなる圧縮が実行され、これは、デコーダにおいて完全に再構築されえず、つまり、再構築されたビデオピクチャの品質は、元のビデオピクチャの品質に比べてより低いまたはより悪い。
【００３３】
H.261以降のいくつかのビデオコーディング規格は、「不可逆ハイブリッドビデオコーデック」のグループに属する(つまり、サンプル領域(sample domain)における空間および時間予測と変換領域(transform domain)において量子化を適用するための2D変換コーディングとを組み合わせる)。ビデオシーケンスの各ピクチャは、概して、1組の重なり合わないブロックに区分けされ、コーディングは、概して、ブロックレベルで実行される。言い換えると、エンコーダにおいて、ビデオは、概して、たとえば、空間(イントラピクチャ)予測および時間(インターピクチャ)予測を使用して予測ブロックを生成し、現在のブロック(現在処理されている/処理されるブロック)から予測ブロックを差し引いて残差ブロックを取得し、残差ブロックを変換し、変換領域において残差ブロックを量子化して送信されるデータの量を削減する(圧縮)ことによってブロック(ビデオブロック)レベルで処理され、つまり、符号化され、一方、デコーダにおいては、表現するために現在のブロックを再構築するために、エンコーダと比べて逆の処理が、符号化されたまたは圧縮されたブロックに部分的に適用される。さらに、エンコーダは、後続のブロックを処理する、つまり、コーディングするために両方が同一の予測(たとえば、イントラおよびインター予測)ならびに/または再構築を生成するようにデコーダの処理ループをまねる。
【００３４】
本明細書において使用されるとき、用語「ブロック」は、ピクチャまたはフレームの一部であってもよい。説明の便宜上、本開示の実施形態は、ITU-Tビデオ符号化専門家グループ(VCEG: Video Coding Experts Group)およびISO/IEC動画専門家グループ(MPEG: Motion Picture Experts Group)のビデオ符号化に関する共同作業チーム(JCT-VC: Joint Collaboration Team on Video Coding)によって開発された高効率ビデオ符号化(HEVC: High-Efficiency Video Coding)または多目的ビデオ符号化(VVC: Versatile video coding)の参照ソフトウェアを参照して本明細書において説明される。当業者は、本開示の実施形態がHEVCまたはVVCに限定されないことを理解するであろう。それは、CU、PU、およびTUに言及してもよい。HEVCにおいては、CTUが、符号化ツリーとして表される四分木構造を使用することによってCUに分割される。インターピクチャ(時間)予測を使用してピクチャエリアをコーディングすべきかまたはイントラピクチャ(空間)予測を使用してピクチャエリアをコーディングすべきかの判断は、CUレベルで行われる。各CUは、PU分割タイプに従って1つ、2つ、または4つのPUにさらに分割されうる。1つのPU内では、同じ予測プロセスが適用され、関連する情報がPUに基づいてデコーダに送信される。PU分割タイプに基づいて予測プロセスを適用することによって残差ブロックを取得した後、CUは、CUに関する符号化ツリーと同様の別の四分木構造によって変換ユニット(TU)に区分けされうる。ビデオ圧縮技術の最新の開発においては、四分木および二分木(QTBT)区分けフレームが、符号化ブロックを区分けするために使用される。QTBTブロック構造において、CUは、正方形かまたは長方形かのどちらかの形状を持ちうる。たとえば、符号化ツリーユニット(CTU)が、まず、四分木構造によって区分けされる。四分木の葉ノードが、二分木構造によってさらに区分けされる。二分木の葉ノードは、符号化ユニット(CU)と呼ばれ、そのセグメント分けが、いかなるさらなる区分けもなしに予測および変換処理のために使用される。これは、CU、PU、およびTUがQTBT符号化ブロック構造において同じブロックサイズを有することを意味する。平行して、多区画、たとえば、三分木区画も、QTBTブロック構造と一緒に使用されるように提案された。
【００３５】
明瞭にするために、本開示に含まれるいくつかの用語が、まず説明される。
【００３６】
本開示における用語「コーディング」は、符号化かまたは復号化のどちらかを指してもよく、これは、そうでないことが明記されない限り本開示の実施形態のうちのいずれの実施形態にも限定されない。
【００３７】
本開示における用語「現在の画像ブロック」は、現在処理中の画像ブロックを表し、たとえば、符号化プロセス中、現在の画像ブロックは、現在符号化されている画像ブロックであってもよく、一方、復号プロセス中、現在の画像ブロックは、現在復号されている画像ブロックであってもよい。
【００３８】
本開示における用語「参照画像ブロック」は、現在の画像ブロックのための参照情報を提供する画像ブロックを表し、探索プロセス中、走査動作によって複数の参照画像ブロックの中で最もよく一致する参照画像ブロックが発見される必要がある。
【００３９】
本開示における用語「現在の画像」は、現在の画像ブロックがある画像を指す。それに対応して、本開示における用語「参照画像」は、参照画像ブロックがある画像を指す。
【００４０】
本開示における用語「予測画像ブロック」は、現在の画像ブロックに予測を与える画像ブロックを表す。たとえば、複数の参照画像ブロックの中で最もよく一致する参照画像ブロックが見つけられてもよく、この最もよく一致する参照画像ブロックが現在の画像ブロックの予測画像ブロックとして働いてもよい。
【００４１】
本開示における用語「動きベクトル(MV)」は、現在の画像ブロックに対する参照画像ブロックの位置オフセットを表す。
【００４２】
本開示における画像ブロックの「動き情報」は、画像ブロックの動きについての情報を表し、一部の実施形態において、動き情報は、参照画像のインジケーションおよび前記参照画像内の参照画像ブロックの動きベクトルなどの2種類の情報を含んでもよく、一部の実施形態において、動き情報は、前記参照画像ブロックの動きベクトルのみを含んでもよい。動き情報の内容は、本開示において限定されず、特定の応用のシナリオとともに変わってもよい。
【００４３】
画像ブロックの用語「サンプル値」は、画像ブロックのサンプル点におけるピクセル値を指す。
【００４４】
端末デバイスは、以下のデバイス、すなわち、スマートフォン、モバイル電話、セルラ電話、コードレス電話、セッション開始プロトコル(SIP)電話、ワイヤレスローカルループ(WLL)局、携帯情報端末(PDA)、ワイヤレス通信対応のハンドヘルドデバイス、乗り物に搭載された機器、ウェアラブルデバイス、コンピューティングデバイス、または無線モデムに接続するその他の処理デバイスのうちのいずれか1つであってもよい。
【００４５】
上記の説明から理解されうるように、動き情報は、符号化され、デコーダ側に送信される必要がある。マージ技術および高度動きベクトル予測(AMVP: advanced motion vector prediction)を含む、MV符号化のための2つの主要な技術がある。これらの2つの技術の原理は、従来技術における原理と同じであり、したがって、本明細書において詳細に示されない。
【００４６】
さらに、動きベクトルの残差符号化ビットがさらに削減されうるようにDMVDプロセスまたはDMVRプロセスを実行するためのいくつかの方法が、提案されている。
【００４７】
テンプレートと呼ばれるクラスであって、既に再構築された(図1に示される)現在のブロックに隣接するL字形領域を使用し、複数の適切にスケーリングされた空間的および時間的動きベクトル候補を使用して(図1においてRef0と表される)各参照画像において差分絶対値和(SAD: sum of absolute differences)または平均を引いた差分絶対値和(MR-SAD: mean-removed sum of absolute differences)などのコスト関数を使用して最もよく一致するL字形領域を特定する、テンプレートマッチング(TM)法と呼ばれる方法の1つのクラス。次いで、最もよく一致する候補を中心にして、その中心の周りの特定の改善距離(refinement distance)以内でさらなる改善が実行される。エンコーダ側では、レート歪み最適化コスト(rate distortion optimized cost)が、単予測(uni-prediction)(すなわち、最もよく一致する参照を使用する予測)か双予測(上位2つの最もよく一致する参照を平均することによって導出される予測)のどちらか決めるために計算される。
【００４８】
BM法と呼ばれる方法の別のクラス。図2に示されるように、現在のCUの動き情報が、(図2においてRef0およびRef1と表される)2つの異なる参照画像内で現在のCUの動きの軌跡に沿って2つのブロックの間の最も近い一致を見つけることによって導出される。連続的な動きの軌跡の仮定の下で、2つの参照ブロックRef0およびRef1をそれぞれ指し示す動きベクトルMV0およびMV1は、現在の画像と2つの参照画像との間の時間的距離、すなわち、TD0およびTD1に比例する。現在の画像が時間的に2つの参照画像の間にあり、現在の画像から2つの参照画像までの時間的距離が同じであるとき、バイラテラルマッチングは、ミラー(mirror)に基づく2方向MVになる。
【００４９】
BMマージモードにおいては、CUの動き情報が2つの異なる参照画像内の現在のCUの動きの軌跡に沿った2つのブロックの間の最も近い一致に基づいて導出されるので、常に双予測が適用される。
【００５０】
一部の実施形態においては、時間的距離が、無視され、バイラテラルマッチングが、それぞれ、過去のおよび未来の参照画像において等しいおよび反対の動きベクトルを用いて実行される。
【００５１】
バイラテラルマッチングモードの変化型、つまり、上述のDMVRの方法においては、図3に示されるように、まず、両側の平均を取ったテンプレートが、明示的にシグナリングされたマージインデックスから得られた第1の候補参照画像ブロックリストL0および第2の初期候補参照画像ブロックリストL1内の初期MV0およびMV1によって参照される予測ブロックを使用して生成され(図3においてステップ1と表される)、更新されたMV0'およびMV1'によって参照される最もよく一致するブロックを見つけるために、このテンプレートに対してBMが実行される(図3においてステップ2と表される)。いかなる動きがある場合にも、テンプレートは更新される。また、一部の実施形態においては、改善が、1つの参照において実行され、もう1つの参照内の動きベクトルは、この改善された動きベクトルのミラーリング(mirroring)によって得られる。改善は、中心位置が最も小さい誤差を持つかまたは反復の最大回数が達せられるまで2つの参照の間で交互に行われる。
【００５２】
改善の方法の一部においては、まず、CUレベルの改善が実行される。次いで、サブCUレベルの多候補の評価が、候補としてのCUレベルで改善されたMVと一緒に実行される。任意選択で、それぞれのサブCUが、最もよく一致する候補に関連してそれ自体の改善を実行しうる。
【００５３】
デフォルトのマージモードにおいては、DMVDが必要とされない一方、明示的なマージモードにおいては、(TMマージかまたはBMマージかに関わらず)マージモードはシグナリングされてもよい。一部の実施形態においては、マージインデックスがシグナリングされない一方、その他の実施形態においては、複数の動き補償を実行するデコーダの複雑さを減らすために、明示的なマージインデックスがシグナリングされる。
【００５４】
暗黙的なDMVDまたはDMVRプロセスを前提とすると、エンコーダは、エンコーダ側の再構築がデコーダ側の再構築と一致するためにデコーダとまったく同じ方法でこれらのステップを実行する必要がある。
【００５５】
実際、DMVDが、マージインデックスを必要としない一方、DMVRは、現在の画像ブロックの初期動き情報を得るためにマージインデックスを必要とする。
【００５６】
明示的なマージインデックスがシグナリングされるときにはいつも、DMVRは、シグナリングされたマージインデックスから規範に従って推定された動きベクトルおよび参照インデックスから開始する。明示的なマージモードインデックスがシグナリングされないとき、それはDMVDの場合であり、1組の初期動きベクトル候補が、コスト関数を使用してデコーダにおいて評価され、最も低いコストを有する候補が、改善のための出発点として選択される。したがって、DMVDの方法が、第1の候補参照画像ブロックリストL0および第2の候補参照画像ブロックリストL1内の等しく変位したブロックと反対に変位したブロックとの間の差の最小化(通常、BMコストと呼ばれる)による、または第1の候補参照画像ブロックリストL0および第2の候補参照画像ブロックリストL1の中の対応するパッチの平均されたバージョンとL0/L1における変位との間の差(通常、DMVRコストと呼ばれる)に基づく、TMに基づくのかまたはBMに基づくのかに関係なく、サブピクセル精度の動きベクトルであってもよい出発点の周りで実行される必要がある改善の探索がある。
【００５７】
コスト関数を評価するために、整数位置の参照画像のサンプル値に基づいてサブピクセル精度の中心のサンプル値を導出するために補間が実行される必要があることがある。補間フィルタは、双一次補間フィルタのように単純であることが可能であり、または2-DのDCTに基づく分離可能な補間フィルタなどのより長いフィルタであることが可能である。改善中に考慮される各位置において現在の画像ブロックに関する候補参照画像ブロックを繰り返し導出する複雑さを減らすために、第1の候補参照画像ブロックリストL0および/または第2の候補参照画像ブロックリストL1内のサブピクセル精度の位置を中心とする改善点(refinement point)の整数ピクセル距離のグリッド(integer-pixel distance grid)が、別の発明で提案されている。これによって、現在の最良のコストの位置に近い新しい位置が検討されるとき、増分補間(incremental interpolation)が、実行されるだけでよい。整数ピクセル距離のグリッドの改善が完了された後、マージMVに関連して最良の整数差分MVが得られる。
【００５８】
圧縮利得をさらに改善するために、サブピクセル距離の改善が実行されうる。半ピクセルの距離の改善は、参照画像内の最良の整数距離のMVの位置から半ピクセルの距離の候補参照画像ブロックを必要とする。BMコストまたはDMVRコストを使用してサブピクセル精度の改善を実行することが可能である。1/4ピクセルの距離およびより低いサブピクセル精度に進むとき、各位置において必要とされる補間フィルタは、サブピクセル位置のフェーズ(phase)が揃っていないので異なる。別の応用においては、最も小さなコストを有する位置を中心とする整数距離の位置において評価されたコストを使用して、パラメトリックエラー面が、当てはめられ、最も小さなコストを有するサブピクセル精度の変位が、計算される。
【００５９】
しかし、上記プロセスに関する複雑性および時間消費の問題は引き続きあってもよい。参照画像のビット深度は、概して、8ビットから12ビットまでの範囲にあることが知られている。したがって、上述の整数距離の改善の反復および誤差面のパラメータを計算するためのコストの評価の間、L0およびL1の候補参照画像ブロックは、バッファに保有される。これらのバッファのための合計ストレージの要件は、候補参照画像ブロックのビット深度に応じて決まる。ソフトウェアにおいて、たとえば、10ビット値が、不必要な(サポートされるデータ型への)パッキング(packing)および対応するアンパッキング(unpacking)動作を避けるために16ビットのストレージを占有する。また、改善のためのコスト計算は、概して、SAD、または(サンプルレベルの)2つのブロックの間の平均差(mean difference)に関する調整後に差分絶対値和が計算されるMR-SADなどのSADの変化型を使用して実行される。コスト計算の複雑さおよびベクトル演算(単一命令複数データ(SIMD))のスループットは、候補参照画像ブロックのビット深度に応じて決まる。たとえば、ソフトウェアにおいて、8ビットのSADは、9〜16ビットのSADを実行するのにかかるサイクルのおよそ半分のサイクルで実行されうる。また、多くのスマートフォンのチップセットは、符号化および復号のためのハードウェアエンジンを含む。エンコーダのハードウェアエンジンの一部として、それらのチップセットは、8ビットSAD計算基本構成要素を有する傾向がある。
【００６０】
したがって、上記問題の狙いを定めて、本開示は、候補参照画像ブロックのビット深度が制約され、それによって、デコーダ側の動きベクトルの改善によってもたらされるビットレートの節約に影響を与えることなく、より低いバッファサイズの要件およびハードウェア内のより少ないゲート数またはコスト評価に関するより高いスループットを可能にする、ビデオシーケンスの画像をコーディングするための方法を提供する。本開示は、コスト関数の評価において使用される候補参照画像ブロックのビット深度を予め定義されたビット深度に制約する(エンコーダ側とデコーダ側との両方において使用される)規範的方法を提供する。
【００６１】
本開示の実施形態が、以下の通り詳細に説明される。
【００６２】
図4は、本開示の実施形態に係るビデオシーケンスの画像をコーディングするための方法の概略的な流れ図であり、画像は、現在の画像ブロックを含む。この方法は、エンコーダ側またはデコーダ側でビデオシーケンスの画像のために装置によって実施されうる。さらに、方法は、DMVDもしくはDMVRプロセス、または現在の画像ブロックの動き情報を改善するための任意のその他のプロセスと組み合わされてもよく、このプロセスは、本明細書において限定されない。
【００６３】
方法は、以下のステップを含む。
S401:現在の画像ブロックの初期動き情報を取得する。
【００６４】
最初に、現在の画像ブロックに対応する候補参照画像ブロックを決定するために、現在の画像ブロックの初期動き情報が取得されてもよい。
【００６５】
DMVDプロセスにおいては、上述のように、マージインデックスがないので、したがって、マージ候補リストが、現在の画像ブロックの隣接ブロックの動き情報に基づいて構築されてもよい。次いで、最も小さなコストを有する動き情報をマージ候補リストから初期動き情報として決定するために、第1のコスト関数が使用されてもよい。ここで、マージ候補リストは、本明細書において詳細に示されない既存の方法を使用して構築されてもよい。第1のコスト関数は、以下、すなわち、SAD、MR-SAD、または差分二乗和(SSD: sum of squared differences)のうちの1つであってもよい。
【００６６】
DMVRプロセスにおいては、上述のように、マージ候補リスト内の最良の動き情報を示すマージインデックスが、利用可能である。したがって、この場合、マージインデックスによって特定された動き情報が、マージ候補リストから初期動き情報として決定されてもよく、マージ候補リストは、DMVDプロセスと同じように既存の方法を使用して構築されてもよい。
【００６７】
S402:初期動き情報に従って現在の画像ブロックに対応する少なくとも2つの候補参照画像ブロックのサンプル値を取得する。
【００６８】
現在の画像ブロックの初期動き情報を取得した後、少なくとも2つの候補参照画像ブロックが、初期動き情報に従って取得されてもよく、候補参照画像ブロックは、選択のための候補として働く。
【００６９】
実際は、現在の画像ブロックに対応する少なくとも2つの候補参照画像ブロックのサンプル値を取得する前に、少なくとも2つの候補参照画像ブロックの位置が、まず決定されるべきである。上述のように、候補参照画像ブロックは参照画像内にあり、したがって、参照画像がまず特定される必要がある。
【００７０】
1つの可能な実装においては、初期動き情報が、現在の画像ブロックの初期動きベクトルおよび参照画像のインジケーションを含み、したがって、参照画像が、インジケーションに基づいて決定されてもよく、一部の実施形態において、インジケーションは、参照画像のインデックスであってもよい。別の可能な実装においては、初期動き情報が、現在の画像ブロックの初期動きベクトルを含み、参照画像は、予め定義された画像であっても、または予め定義されたアルゴリズム、つまり、たとえば、現在の画像の最も近くにある画像を参照画像とする、参照画像を決定するためのエンコーダ側とデコーダ側との両方に知られているアルゴリズムに基づいてもよい。
【００７１】
実施形態において、少なくとも2つの候補参照画像ブロックの位置は、初期動き情報および現在の画像ブロックの位置に従って決定されてもよい。たとえば、初期候補参照画像ブロックは、初期動きベクトルおよび現在の画像ブロックの位置に基づいて出発点として決定されてもよい。次いで、実際の要件に応じて予め定義されてもよく、サブピクセル精度であってもよい探索ステップに基づいて、候補参照画像ブロックの位置が、決定されてもよい。たとえば、探索ステップが1に等しい場合、次いで、候補参照画像ブロックは、初期候補参照画像ブロックを異なる方向に1ピクセルの距離だけ動かすことによって取得されてもよい。探索ステップに従って反復的に動かすことによって、少なくとも2つの候補参照画像ブロックが取得されてもよい。また、探索範囲が、予め定義されてもよく、したがって、予め定義された探索範囲内の参照画像ブロックが、前記候補参照画像ブロックとして決定されてもよい。
【００７２】
次いで、各候補参照画像ブロックの位置を決定した後、これらの候補参照画像ブロックのサンプル値が、その位置に基づいてさらに決定されてもよい。参照画像の整数ピクセル位置のサンプル値のみが、知られる可能性がある。各候補参照画像ブロックに関して、候補参照画像ブロックのサンプル値が利用可能である、つまり、この候補参照画像ブロックのサンプル値が参照画像のサンプル値から取得されうる場合、これは、前記候補参照画像ブロックのサンプル点が参照画像の整数ピクセル位置にあり、したがって、候補参照画像ブロックのサンプル値が単純に参照画像のサンプル値をコピーすることによって取得されてもよいときに起こりうる場合であってもよい。そうでない場合、つまり、候補参照画像ブロックのサンプル値が利用不可能である場合、候補参照画像ブロックのサンプル値を取得するために、これらの利用不可能なサンプル値を決定するために補間動作が実行されてもよい。補間動作は、任意の既存の方法を使用して行われてもよく、本明細書において詳細に示されない。たとえば、現在の画像ブロックの位置が与えられると、予め定義された探索範囲内の整数距離の位置のサンプル値を取得するために双一次補間が実行されてもよい。
【００７３】
S403:各候補参照画像ブロックのサンプル値のビット深度を予め定義されたビット深度に制約する。
【００７４】
上述のように、候補参照画像ブロックのビット深度は全体的な処理速度および複雑さに影響を与えてもよいので、したがって、動き情報の改善を実行する前に、各候補参照画像ブロックのサンプル値のビット深度を制約する方がよい。
【００７５】
各候補参照画像ブロックに関して、サンプル値のビット深度は、同じであり、また、参照画像、つまり、候補参照画像ブロックがある参照画像のビット深度が、さらに各候補参照画像ブロックのサンプル値のビット深度であってもよいことに留意されたい。したがって、各候補参照画像ブロックのサンプル値のビット深度の予め定義されたビット深度への制約は、各候補参照画像ブロックの各サンプル値のビット深度を予め定義されたビット深度に制約することを意図する。
【００７６】
実施形態において、制約は、各候補参照画像ブロックのサンプル値のビット深度に対して(b-d)の量の右シフトを実行することによって実現されてもよく、bは、候補参照画像ブロックのサンプル値のビット深度であり、dは、予め定義されたビット深度であり、bは、dよりも大きい。当業者は、dの値が実際の要件に応じて選択されうることが分かるであろう。
【００７７】
補間は、概して、補間フィルタの重みから生じるQフォーマット調整(Q-format adjustment)後のサンプル値を導出するために次の演算を実行するものとする。
【数９】
2021536707.tif 000011
式中、
【数１０】
2021536707.tif 000012
は、候補参照画像ブロックの正規化されていないサンプル値であり、Lは、候補参照画像ブロックの正規化されたサンプル値であり、Qは、補間フィルタの正規化係数である。
【００７８】
bが第1の候補参照画像ブロックのサンプル値のビット深度であり、dが予め定義されたビット深度(b未満)であるとすると、次いで、ビット深度が制約されたサンプル値は、次のように導出される。
L' = L >> (b - d)      (2)
式中、L'は、候補参照画像ブロックの制約されたサンプル値である。(2-D補間中に必要とされる増やされた内部ビット深度から)補間プロセスによって必要とされる任意の右シフトが、この右シフトと組み合わされうる。
【００７９】
次いで、ビット深度の制約のプロセスは、次のように組み合わされうる。
【数１１】
2021536707.tif 000013
規範的な動きベクトル改善プロセスのステップの残りは、改善された動きベクトルを取得するためにこれらの制約されたビット深度のサンプルを使用して実行されてもよく、改善された動きベクトルを使用して、予測残差の規範的な動き補償予測およびコーディングが実行される。
【００８０】
たとえば、bが10ビットであり、dが8ビットである場合、次いで、ビット深度を8ビットに制約した後、10ビットが16ビットのデータ型で記憶されるとき、10ビットデータのためのバッファサイズは、半分減る。そうでない場合も、バッファサイズの要件は、20%下がる。ソフトウェアプラットフォーム上でバイト単位のSIMD演算を使用することによって、コスト関数を評価するためのサイクル数は、半分にされうる。ハードウェアプラットフォーム上で、コスト評価演算は、20%少ないビットプレーンを使用することができ、これは、ゲート数および面積の削減をもたらす。
【００８１】
S404:少なくとも2つの制約された候補参照画像ブロックの制約されたサンプル値に基づいて改善された動き情報を取得する。
【００８２】
S403の制約動作の後、改善された動き情報が、少なくとも2つの制約された候補参照画像ブロックの制約されたサンプル値に基づいて取得されてもよく、ここで、用語「制約された候補参照画像ブロック」は、制約されたサンプル値を有する候補参照画像ブロックを指す。
【００８３】
実施形態においては、最も小さなコストを有する制約された候補参照画像ブロックの位置を決定するために、第2のコスト関数が使用されてもよく、次いで、制約された候補参照画像ブロックの位置に従って、改善された動き情報が取得されてもよい。第2のコスト関数は、SAD、MR-SAD、またはSSDのうちの1つである。
【００８４】
TMに基づくDMVDプロセスにおいて、第2のコスト関数は、制約された候補参照画像ブロックのテンプレート(図1に示されたRef0のL字形領域)と現在の画像ブロックのテンプレート(図1に示された現在の画像のL字形領域)との間の差を示してもよい。ここで、テンプレートは、実際に比較基準として働く。
【００８５】
BMに基づくDMVDプロセスにおいて、テンプレートはなく、第2のコスト関数は、2つの候補参照画像ブロックの間の差を示してもよい。
【００８６】
DMVRの場合に関しては、詳細な説明が、以降の部分でなされてもよい。
【００８７】
S402で説明されたように、初期動き情報が初期MVと参照画像のインジケーションとの両方を含む場合、改善された動き情報は、改善されたMVおよび参照画像のインジケーションをやはり含んでもよい。
【００８８】
S405:改善された動き情報に従って現在の画像ブロックの予測画像ブロックを決定する。
【００８９】
改善された動き情報が取得される限り、決定された参照画像を用いて、現在の画像ブロックの予測画像ブロックが、決定されてもよい。
【００９０】
実施形態において、初期動き情報は、現在の画像ブロックの初期動きベクトルを含み、この場合、改善された動き情報は、現在の画像ブロックの改善された動きベクトルをやはり含む。S402で既に説明されたように、参照画像は、予め定義された、または予め定義されたアルゴリズムに基づいて取得された参照画像であってもよく、したがって、現在の画像ブロックの予測画像ブロックが、改善された動きベクトルをおよび参照画像に従って決定されてもよい。
【００９１】
別の実施形態において、初期動き情報は、初期動きベクトルおよび参照画像のインジケーションを含み、この場合、改善された動き情報は、現在の画像ブロックの改善された動きベクトルおよび参照画像のインジケーションをやはり含み、したがって、現在の画像ブロックの予測画像ブロックが、改善された動きベクトルおよび参照画像のインジケーションに従って決定されてもよい。
【００９２】
本明細書における用語は、本明細書において単数形を用いて表現されるが、当業者は、方法がいくつかの参照画像が予測のために使用される改善プロセスと組み合わされる場合、次いで、対応する用語が複数の要素を表してもよく、たとえば、方法がBMに基づく改善プロセスと組み合わされる場合、初期ベクトルが2つの初期MVを含んでもよく、2つの参照画像があってもよいことをいかなる創造的な努力もなしに知ることに留意されたい。
【００９３】
本開示は、現在の画像ブロックの初期動き情報が取得され、現在の画像ブロックに対応する少なくとも2つの候補参照画像ブロックのサンプル値が初期動き情報に従って取得され、各候補参照画像ブロックのサンプル値のビット深度が予め定義されたビット深度に制約され、次いで、改善された動き情報が少なくとも2つの制約された候補参照画像ブロックのサンプル値に基づいて取得され、現在の画像ブロックの予測画像ブロックが改善された動き情報に従って決定される、ビデオシーケンスの画像をコーディングするための方法を提供する。各候補参照画像ブロックのサンプル値のビット深度が、動き情報の改善の前に制約されるので、したがって、計算の複雑さを少なくし、処理時間の低減を可能にする。
【００９４】
本開示の方法をより明瞭に詳述するために、以下で、BMに基づくDMVRプロセスを例に取り、方法が、BMに基づくDMVRプロセスと組み合わせてより詳細に説明される。
【００９５】
図5は、本開示の実施形態に係るビデオシーケンスの画像をコーディングするための方法の概略的な流れ図である。この方法は、以下のステップを含む。
S501:現在の画像ブロックの初期動き情報を取得する。
【００９６】
S401の説明が、参照されてもよい。
【００９７】
さらに、この実施形態において、初期動き情報は、第1の初期動きベクトルおよび第2の初期動きベクトルならびに2つの参照画像のインジケーションを含む。2つの参照画像は、第1の初期動きベクトルに対応する第1の参照画像および第2の初期動きベクトルに対応する第2の参照画像を含む。
【００９８】
S502:初期動き情報および現在の画像ブロックの位置に基づいて第1の初期参照画像ブロックおよび第2の初期参照画像ブロックを取得する。
【００９９】
たとえば、第1のおよび第2の参照画像は、2つの参照画像のそれぞれのインデックスであってもよいインジケーションに基づいて取得されてもよい。次いで、第1の初期参照画像ブロックは、第1の初期動きベクトルおよび現在の画像ブロックの位置に従って取得されてもよく、同様にして、第2の初期参照画像ブロックは、第2の初期動きベクトルおよび現在の画像ブロックの位置に従って取得されてもよい。
【０１００】
S503:現在の画像ブロックのテンプレートを取得する。
【０１０１】
たとえば、テンプレートは、第1の初期参照画像ブロックと第2の初期参照画像ブロックとの重み付けされた組み合わせであってもよい。ここで、重みは、実際の要件に応じて選択されてもよく、本明細書において限定されない。
【０１０２】
コスト関数による後のコスト評価がテンプレートを使用するのではなく参照画像ブロックに基づいて指示されて計算されてもよいので、このステップは、任意選択である。
【０１０３】
S504:現在の画像ブロックに対応する1組の第1の候補参照画像ブロックのサンプル値および1組の第2の候補参照画像ブロックのサンプル値を取得する。
【０１０４】
第1の候補参照画像ブロックは、リストL0の中の参照画像内にあってもよく、前方候補参照画像ブロックとも呼ばれてもよい。第2の候補参照画像ブロックは、リストL1の中の参照画像内にあってもよく、後方候補参照画像ブロックとも呼ばれてもよい。
【０１０５】
第1の候補参照画像ブロックと第2の候補参照画像ブロックとの両方に関しては、それらのサンプル値を取得するS402の説明が参照されてもよい。
【０１０６】
補間をどのようにして実施するべきかを示すために、例が簡潔に説明される。
【０１０７】
現在の画像ブロックの位置が(x, y)であり、W*Hの寸法を有し、Wが、現在の画像ブロックの幅であり、Hが、現在の画像ブロックの高さであるものとする。第1の参照画像は、L0と表され、第2の参照画像は、L1と表される。第1の初期動きベクトルおよび第2の初期動きベクトルは、それぞれ、MV0およびMV1と表され、MV0およびMV1は、サブピクセル精度の動きベクトルである。
【０１０８】
まず、サブピクセルオフセットFMV0およびFMV1および整数部IMV0およびIMV1が、第1のおよび第2の初期動きベクトルから導出されてもよい。FMV0およびFMV1は、第1のおよび第2の初期動きベクトルのそれぞれの小数部であり、一方、IMV0およびIMV1は、第1のおよび第2の初期動きベクトルのそれぞれの整数部である。
【０１０９】
次いで、2つの参照画像L0およびL1内の探索範囲の中で必要とされるそれぞれの整数距離のピクセル位置に関して、サブピクセルフェーズを使用して補間動作が実行されてもよい。
【０１１０】
S505:それぞれの第1の候補参照画像ブロックのサンプル値のビット深度を予め定義されたビット深度に制約し、それぞれの第2の候補参照画像ブロックのサンプル値のビット深度を予め定義されたビット深度に制約する。
【０１１１】
たとえば、この実施形態において、それぞれの第1の候補参照画像ブロックのビット深度は、第1の参照画像のビット深度と所望のビット深度との間の差に等しい量だけ(丸めあり、または丸めなしで)右シフトを実行することによって所望のビット深度に制約されてもよい。同様の演算が、それぞれの第2の候補参照画像ブロックのビット深度を制約するために実行されてもよい。
【０１１２】
特に、第1のおよび第2の候補参照画像ブロックのサンプル値は、同時にまたは任意の順序で制約されてもよく、これは、本明細書において限定されない。
【０１１３】
S506:最も小さなコストを有する第1の制約された候補参照画像ブロックの第1の位置を決定するために第2のコスト関数を使用する。
【０１１４】
たとえば、第2のコスト関数は、第1の改善された動きベクトルの第1の位置を決定するために使用されてもよく、第2のコスト関数は、第1の制約された候補参照画像ブロックと現在の画像ブロックのテンプレートとの間の差を示し、テンプレートのサンプル値のビット深度も、予め定義されたビット深度に制約される。
【０１１５】
したがって、テンプレートとそれぞれの第1の制約された候補参照画像ブロックとの間の差が、計算されてもよく、最も小さな差を有する第1の制約された参照画像ブロックの第1の位置が、決定されてもよい。
【０１１６】
ここで、コストは、以下のように計算されてもよい。
m0 > m1の場合、
【数１２】
2021536707.tif 000014
それ以外の場合、
【数１３】
2021536707.tif 000015
式中、Hは、現在の画像ブロックの高さであり、Wは、現在の画像ブロックの幅であり、I0(i, j)は、第1の制約された候補参照画像ブロックの位置(i, j)のサンプル値であり、I1(i, j)は、テンプレートの位置(i, j)のサンプル値であり、m0は、第1の制約された候補参照画像ブロックのサンプル値の平均であり、m1は、テンプレートのサンプル値の平均であり、dは、予め定義されたビット深度である。
【０１１７】
上記式は、式中の変数を、dビットで表現されうる最大値を超えないように制限することを目的とする。上記式は、最終的な絶対差が2つの量の間で予め定義されたビット深度で実行されることができ、それによって、起こりうるオーバーフローエラーを防止する規範的プロセスを規定する。
【０１１８】
S507:第2のコスト関数を使用して第2の制約された候補参照画像ブロックの第2の位置を決定する。
【０１１９】
同様に、テンプレートとそれぞれの第2の制約された候補参照画像ブロックとの間の差が、計算されてもよく、最も小さな差を有する第2の制約された参照画像ブロックが、1組の第2の制約された候補参照画像ブロックから選択されてもよい。ここで、コストは、S506と同様にしてやはり計算されてもよい。
【０１２０】
特に、S506およびS507は、同時にまたは任意の順序で実行されてもよく、これは、本明細書において限定されない。
【０１２１】
S508:改善された動き情報に従って現在の画像ブロックの予測画像ブロックを決定する。
【０１２２】
たとえば、改善された動き情報は、第1の制約された参照画像ブロックの第1の位置および第2の制約された参照画像ブロックの第2の位置に従って取得されてもよい。
【０１２３】
さらに、上述のように、S503は、任意選択のステップであってもよい。実際、上記の例においては、コストが、テンプレートに基づいて計算され、これは、実際は上述のDMVRコストである。
【０１２４】
DMVRコストの代わりにBMコストを評価することも、可能である。この場合、S503は、省略される。また、S507およびS508においては、第2のコスト関数が第1の制約された候補参照画像ブロックと第2の制約された候補参照画像ブロックとの間の差を示すので、したがって、コストは、以下のように計算されてもよい。
m0 > m1の場合、
【数１４】
2021536707.tif 000016
それ以外の場合、
【数１５】
2021536707.tif 000017
式中、Hは、現在の画像ブロックの高さであり、Wは、現在の画像ブロックの幅であり、I0(i, j)は、第1の制約された候補参照画像ブロックの位置(i, j)のサンプル値であり、I1(i, j)は、第1の制約された候補参照画像ブロックに対応する第2の制約された候補参照画像ブロックの位置(i, j)のサンプル値であり、m0は、第1の制約された候補参照画像ブロックのサンプル値の平均であり、m1は、第2の制約された候補参照画像ブロックのサンプル値の平均であり、bは、第1のおよび第2の候補参照画像ブロックのサンプル値のビット深度であり、dは、予め定義されたビット深度であり、bは、dよりも大きい。当業者は、dの値が実際の要件に応じて選択されうることが分かるであろう。
【０１２５】
上記式は、式中の変数を、dビットで表現されうる最大値を超えないように制限することを目的とする。上記式は、実際、m0 > m1の場合、(I0(i, j) - MIN((1<<d) - 1, (I1(i, j) + (m0 - m1)、またはそれ以外の場合、(m1 - m0))) - I1(i, j)の値を制約することを目的とすることが分かる。実際、これは、バッファに記憶されるときにその値があふれることを防止するように働く。
【０１２６】
上記式は、最終的な絶対差が2つの量の間で予め定義されたビット深度で実行されることができ、それによって、起こりうるオーバーフローエラーを防止する規範的プロセスを規定する。
【０１２７】
図4に示された実施形態と同様に各候補参照画像ブロックのビット深度を予め定義されたビット深度dに制約した後でさえも、MS-SADが使用されるとき、絶対が実行される値はdを超えうる。これは、ハードウェアの実装において1ビット増しを必要とするが、ソフトウェアのSIMDにおいて2倍のスループットの影響を持ちうる(たとえば、9ビットの絶対差は、8ビットの絶対差の半分のスループットを持つ)。また、プロセス全体が規範的であるとすると、MR-SADの場合のビット深度も、エンコーダの実装とデコーダの実装との間のずれを防ぐために明瞭に規定される必要がある。
【０１２８】
本開示は、BMに基づくDMVRプロセスと組み合わされる、ビデオシーケンスの画像をコーディングするための方法を提供する。ここで、現在の画像ブロックの初期動き情報が、取得され、現在の画像ブロックに対応する少なくとも2つの候補参照画像ブロックのサンプル値が、初期動き情報に従って取得され、各候補参照画像ブロックのサンプル値のビット深度が、予め定義されたビット深度に制約され、次いで、改善された動き情報が、少なくとも2つの制約された候補参照画像ブロックのサンプル値に基づいて取得され、現在の画像ブロックの予測画像ブロックが、改善された動き情報に従って決定される。各候補参照画像ブロックのサンプル値のビット深度が、動き情報の改善の前に制約されるので、したがって、計算の複雑さを少なくし、処理時間の低減を可能にする。
【０１２９】
図6は、本開示の実施形態に係るビデオシーケンスの画像をコーディングするための装置の構造図である。ここで、画像は、現在の画像ブロックを含み、装置は、取得モジュール601、制約モジュール602、および決定モジュール603を含む。
【０１３０】
取得モジュール601は、現在の画像ブロックの初期動き情報を取得するように構成される。
【０１３１】
取得モジュール601は、初期動き情報に従って現在の画像ブロックに対応する少なくとも2つの候補参照画像ブロックのサンプル値を取得するようにさらに構成され、
制約モジュール602は、各候補参照画像ブロックのサンプル値のビット深度を予め定義されたビット深度に制約するように構成され、
取得モジュール601は、少なくとも2つの制約された候補参照画像ブロックの制約されたサンプル値に基づいて改善された動き情報を取得するようにさらに構成され、
決定モジュール603は、改善された動き情報に従って現在の画像ブロックの予測画像ブロックを決定するように構成される。
【０１３２】
実施形態において、制約モジュール602は、各候補参照画像ブロックのサンプル値のビット深度に対して(b-d)の量の右シフトを実行するように特に構成され、bは、各候補参照画像ブロックのサンプル値のビット深度であり、dは、予め定義されたビット深度であり、bは、dよりも大きい。
【０１３３】
実施形態において、取得モジュール601は、最も小さなコストを有する動き情報をマージ候補リストから初期動き情報として決定するために第1のコスト関数を使用するように特に構成され、マージ候補リストは、現在の画像ブロックの隣接ブロックの動き情報を含む。
【０１３４】
実施形態において、取得モジュール601は、マージインデックスによって特定された動き情報をマージ候補リストから初期動き情報として決定するように特に構成され、マージ候補リストは、現在の画像ブロックの隣接ブロックの動き情報を含む。
【０１３５】
実施形態において、取得モジュール601は、初期動き情報および現在の画像ブロックの位置に従って候補参照画像ブロックの位置を決定することと、候補参照画像ブロックの位置に基づいて候補参照画像ブロックのサンプル値が利用可能であるかどうかを判定し、候補参照画像ブロックのサンプル値が利用不可能である場合、候補参照画像ブロックのサンプル値を取得するために補間動作を実行することとを行うように特に構成される。
【０１３６】
実施形態においては、取得モジュール601は、最も小さなコストを有する制約された候補参照画像ブロックの位置を決定するために第2のコスト関数を使用することと、最も小さなコストを有する制約された候補参照画像ブロックの位置に従って改善された動き情報を取得することとを行うように特に構成される。
【０１３７】
実施形態において、第2のコスト関数は、制約された候補参照画像ブロックと現在の画像ブロックのテンプレートとの間の差を示し、テンプレートは、初期動き情報および現在の画像ブロックの位置に基づいて取得され、テンプレートのサンプル値のビット深度は、予め定義されたビット深度に制約される。
【０１３８】
実施形態において、コストは、以下のように計算される。
m0 > m1の場合、
【数１６】
2021536707.tif 000018
それ以外の場合、
【数１７】
2021536707.tif 000019
式中、Hは、現在の画像ブロックの高さであり、Wは、現在の画像ブロックの幅であり、I0(i, j)は、制約された候補参照画像ブロックの位置(i, j)のサンプル値であり、I1(i, j)は、テンプレートの位置(i, j)のサンプル値であり、m0は、制約された候補参照画像ブロックのサンプル値の平均であり、m1は、テンプレートのサンプル値の平均であり、dは、予め定義されたビット深度である。
【０１３９】
実施形態において、少なくとも2つの制約された候補参照画像ブロックは、1組の第1の制約された候補参照画像ブロックおよび1組の第2の制約された候補参照画像ブロックを含み、取得モジュール601は、第1の初期動き情報および現在の画像ブロックの位置に基づいて第1の初期参照画像ブロックを取得することと、第2の初期動き情報および現在の画像ブロックの位置に基づいて第2の初期参照画像ブロックを取得することと、第1の初期参照画像ブロックと第2の初期参照画像ブロックとの重み付けされた組み合わせをテンプレートとして計算することと、テンプレートとそれぞれの第1の制約された候補参照画像ブロックとの間の差を計算し、最も小さな差を有する第1の制約された参照画像ブロックの位置を決定することと、テンプレートとそれぞれの第2の制約された候補参照画像ブロックとの間の差を計算し、最も小さな差を有する第2の制約された参照画像ブロックの位置を決定することとを行うように特に構成される。ここで、決定モジュール603は、第1の位置および第2の位置に従って改善された動き情報を取得するように特に構成される。
【０１４０】
実施形態において、少なくとも2つの制約された候補参照画像ブロックは、1組の第1の制約された候補参照画像ブロックおよび1組の第2の制約された候補参照画像ブロックを含み、第2のコスト関数は、第1の制約された候補参照画像ブロックと第2の制約された候補参照画像ブロックとの間の差を示す。
【０１４１】
実施形態において、コストは、以下のように計算される。
m0 > m1の場合、
【数１８】
2021536707.tif 000020
それ以外の場合、
【数１９】
2021536707.tif 000021
式中、Hは、現在の画像ブロックの高さであり、Wは、現在の画像ブロックの幅であり、I0(i, j)は、第1の制約された候補参照画像ブロックの位置(i, j)のサンプル値であり、I1(i, j)は、第2の制約された候補参照画像ブロックの位置(i, j)のサンプル値であり、m0は、第1の制約された候補参照画像ブロックのサンプル値の平均であり、m1は、第2の制約された候補参照画像ブロックのサンプル値の平均であり、dは、予め定義されたビット深度である。
【０１４２】
実施形態において、初期動き情報は、現在の画像ブロックの改善された動きベクトルを含み、決定モジュール603は、改善された動きベクトルおよび参照画像に従って現在の画像ブロックの予測画像ブロックを決定するように特に構成され、参照画像は、予め定義された画像であるか、または予め定義されたアルゴリズムに基づいて取得される。
【０１４３】
実施形態において、初期動き情報は、現在の画像ブロックの改善された動きベクトルおよび参照画像のインジケーションを含み、決定モジュール603は、改善された動きベクトルおよび参照画像のインジケーションに従って現在の画像ブロックの予測画像ブロックを決定するように特に構成される。
【０１４４】
本開示において提供されるビデオシーケンスの画像をコーディングするための装置によって、各候補参照画像ブロックのサンプル値のビット深度が、動き情報の改善の前に制約され、したがって、計算の複雑さを少なくし、処理時間の低減を可能にする。
【０１４５】
本開示は、プロセッサおよびメモリを含む、ビデオシーケンスの画像をコーディングするための装置も提供する。メモリは、上述の方法に係る方法をプロセッサに実行させる命令を記憶している。
【０１４６】
本開示は、実行されるときに構成された1つ以上のプロセッサにビデオシーケンスの画像をコーディングさせる命令を記憶したコンピュータ可読ストレージ媒体も提供する。命令は、1つ以上のプロセッサに上述の方法を実行させる。
【０１４７】
本開示は、上記実施形態に係るビデオシーケンスの画像をコーディングするための装置を含むエンコーダも提供する。
【０１４８】
本開示は、上記実施形態に係るビデオシーケンスの画像をコーディングするための装置を含むデコーダも提供する。
【０１４９】
本開示は、上述のエンコーダおよび上述のデコーダを含む端末デバイスも提供する。
【０１５０】
本開示の明細書および請求項ならびに上記図面の「第1の」、「第2の」などの用語は、異なるものを区別するように意図されており、特定の順序を定義するように意図されていない。
【０１５１】
本開示の実施形態の「および/または」などの用語は、関連するものの間の関連付けを示すために使用されるに過ぎず、3つの関係があってもよいことを示し、たとえば、Aおよび/またはBは、Aのみ、AとBとの両方、およびBのみの存在を示してもよい。
【０１５２】
用語「a」または「an」は、1つまたは単一の要素を指定するように意図されておらず、むしろ、用語「a」または「an」は、適切な場合、複数の要素を表すために使用されてもよい。
【０１５３】
本開示の実施形態において、「例示的な」または「たとえば」などの表現は、例または事例の説明を示すために使用される。本開示の実施形態において、「例示的な」または「たとえば」と記載されたすべての実施形態または設計方式は、その他の実施形態または設計方式よりも好ましいまたは有利であると解釈されるべきでない。詳細には、「例示的な」または「たとえば」の使用は、特定の方法で関連する概念を提示することを目的としている。
【０１５４】
1つ以上の例において、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせで実装されてもよい。ソフトウェアで実装される場合、機能は、1つ以上の命令またはコードとしてコンピュータ可読媒体上で記憶されるかまたは送信され、ハードウェアに基づく処理ユニットによって実行されてもよい。コンピュータ可読媒体は、データストレージ媒体などの有形の媒体に対応するコンピュータ可読ストレージ媒体、またはたとえば通信プロトコルによるある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含んでもよい。このようにして、概して、コンピュータ可読媒体は、(1)非一時的である有形のコンピュータ可読ストレージ媒体または(2)信号もしくは搬送波などの通信媒体に対応してもよい。データストレージ媒体は、本開示において説明された技術の実装のための命令、コード、および/またはデータ構造を取り出すために1つ以上のコンピュータまたは1つ以上のプロセッサによってアクセスされうる任意の利用可能な媒体であってもよい。コンピュータプログラム製品は、コンピュータ可読媒体を含んでもよい。
【０１５５】
限定ではなく例として、そのようなコンピュータ可読ストレージ媒体は、RAM、ROM、EEPROM、CD-ROMもしくはその他の光ディスクストレージ、磁気ディスクストレージもしくはその他の磁気ストレージデバイス、フラッシュメモリ、または命令もしくはデータ構造の形態で所望のプログラムコードを記憶するために使用可能であり、コンピュータによってアクセス可能である任意のその他の媒体を含みうる。また、任意の接続が、適切にコンピュータ可読媒体と呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(DSL)、または赤外線、ラジオ波、およびマイクロ波などのワイヤレステクノロジーを用いてウェブサイト、サーバ、またはその他のリモートソースから送信される場合、次いで、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、ラジオ波、およびマイクロ波などのワイヤレステクノロジーは、媒体の定義に含まれる。しかし、コンピュータ可読ストレージ媒体およびデータストレージ媒体は、接続、搬送波、信号、またはその他の一時的媒体を含まず、その代わりに、非一時的な有形のストレージ媒体を対象とすることを理解されたい。本明細書において使用されるとき、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD: compact disc)、レーザディスク(laser disc)、光ディスク(optical disc)、デジタルバーサタイルディスク(DVD: digital versatile disc)、フロッピーディスク(floppy disk)、およびブルーレイディスク(Blu-ray disc)を含み、ディスク(disk)が、通常、磁気的にデータを再生する一方、ディスク(disc)は、レーザを用いて光学的にデータを再生する。上記のものの組み合わせも、コンピュータ可読媒体の範囲に含まれるべきである。
【０１５６】
命令は、1つ以上のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、またはその他の等価な集積もしくはディスクリート論理回路などの1つ以上のプロセッサによって実行されてもよい。したがって、用語「プロセッサ」は、本明細書において使用されるとき、上述の構造または本明細書において説明された技術の実装に好適な任意のその他の構造のいずれかを指してもよい。加えて、一部の態様において、本明細書において説明された機能は、符号化および復号のために構成された専用のハードウェアおよび/もしくはソフトウェアモジュール内に提供されるか、または組み合わされたコーデックに組み込まれてもよい。また、技術は、1つ以上の回路または論理要素にすべて実装されてもよい。
【０１５７】
本開示の技術は、ワイヤレスハンドセット、集積回路(IC)、または1組のIC(たとえば、チップセット)を含む多種多様なデバイスまたは装置に実装されてもよい。様々な構成要素、モジュール、またはユニットが、開示された技術を実行するように構成されたデバイスの機能の態様を強調するために本開示において説明されているが、異なるハードウェアユニットによる実現を必ずしも必要としない。むしろ、上述のように、様々なユニットが、コーデックハードウェアユニットにおいて組み合わされるか、または好適なソフトウェアおよび/もしくはファームウェアと連携した、上述の1つ以上のプロセッサを含む相互運用性のあるハードウェアユニットの集合によって提供されてもよい。
【符号の説明】
【０１５８】
601  取得モジュール
602  制約モジュール
603  決定モジュール
【図１】
2021536707.tif 000030
【図２】
2021536707.tif 000031
【図３】
2021536707.tif 000032
【図４】
2021536707.tif 000033
【図５】
2021536707.tif 000034
【図６】
2021536707.tif 000035
【手続補正書】
【提出日】令和3年4月30日(2021.4.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオシーケンスの画像をコーディングするための方法であって、前記画像が現在の画像ブロックを含み、前記方法が、
前記現在の画像ブロックの初期動き情報を取得するステップと、
前記初期動き情報に従って前記現在の画像ブロックに対応する少なくとも2つの参照画像ブロックの制約されたサンプル値を取得するステップであって、
前記制約されたサンプル値が、各参照画像ブロックのサンプル値のビット深度を予め定義されたビット深度に制約することによって取得される、ステップと、
少なくとも2つの参照画像ブロックの制約されたサンプル値に基づいて改善された動き情報を取得するステップと、
前記改善された動き情報に従って前記現在の画像ブロックの予測画像ブロックを決定するステップと
を含む、方法。
【請求項２】
各参照画像ブロックのサンプル値のビット深度を予め定義されたビット深度に前記制約するステップが、
各参照画像ブロックのサンプル値の前記ビット深度に対して(b-d)の量の右シフトを実行するステップであって、bが、前記各参照画像ブロックの前記サンプル値の前記ビット深度であり、dが、前記予め定義されたビット深度であり、bが、dよりも大きい、ステップを含む、請求項1に記載の方法。
【請求項３】
現在の画像ブロックの初期動き情報を前記取得するステップが、
最も小さなコストを有する動き情報をマージリストから前記初期動き情報として決定するために第1のコスト関数を使用するステップであって、前記マージリストが、前記現在の画像ブロックの隣接ブロックの動き情報を含む、ステップを含む、請求項1または2に記載の方法。
【請求項４】
現在の画像ブロックの初期動き情報を前記取得するステップが、
マージインデックスによって特定された動き情報をマージリストから前記初期動き情報として決定するステップであって、前記マージリストが、前記現在の画像ブロックの隣接ブロックの動き情報を含む、ステップを含む、請求項1または2に記載の方法。
【請求項５】
前記現在の画像ブロックに対応する少なくとも2つの参照画像ブロックのサンプル値を前記取得するステップが、
前記初期動き情報および前記現在の画像ブロックの位置に従って参照画像ブロックの位置を決定するステップと、
前記参照画像ブロックの前記位置に基づいて前記参照画像ブロックのサンプル値が利用可能であるかどうかを判定し、前記参照画像ブロックの前記サンプル値が利用不可能である場合、前記参照画像ブロックの前記サンプル値を取得するために補間動作を実行するステップと
を含む、請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記少なくとも2つの制約された参照画像ブロックの制約されたサンプル値に基づいて改善された動き情報を前記取得するステップが、
最も小さなコストを有する参照画像ブロックの位置を決定するために第2のコスト関数を使用するステップと、
前記最も小さなコストを有する前記参照画像ブロックの前記位置に従って前記改善された動き情報を取得するステップと
を含む、請求項1から5のいずれか一項に記載の方法。
【請求項７】
前記第2のコスト関数が、参照画像ブロックと前記現在の画像ブロックのテンプレートとの間の差を示し、前記テンプレートが、前記初期動き情報および前記現在の画像ブロックの位置に基づいて取得され、前記テンプレートのサンプル値のビット深度が、前記予め定義されたビット深度に制約される、請求項6に記載の方法。
【請求項８】
前記少なくとも2つの参照画像ブロックが、1組の第1の参照画像ブロックおよび1組の第2の参照画像ブロックを含み、
前記初期動き情報が、第1の初期動き情報および第2の初期動き情報を含み、前記方法が、
前記第1の初期動き情報および前記現在の画像ブロックの位置に基づいて第1の初期参照画像ブロックを取得するステップと、
前記第2の初期動き情報および前記現在の画像ブロックの前記位置に基づいて第2の初期参照画像ブロックを取得するステップと、
前記第1の初期参照画像ブロックと前記第2の初期参照画像ブロックとの重み付けされた組み合わせを前記テンプレートとして計算するステップと
をさらに含み、
最も小さなコストを有する参照画像ブロックの位置を決定するために第2のコスト関数を前記使用するステップが、
前記テンプレートとそれぞれの第1の参照画像ブロックとの間の差を計算し、最も小さな差を有する第1の制約された参照画像ブロックの第1の位置を決定するステップと、
前記テンプレートとそれぞれの第2の参照画像ブロックとの間の差を計算し、最も小さな差を有する第2の制約された参照画像ブロックの第2の位置を決定するステップと
を含み、
前記参照画像ブロックの位置に従って前記改善された動き情報を前記取得するステップが、
前記第1の位置および前記第2の位置に従って前記改善された動き情報を取得するステップを含む、請求項7に記載の方法。
【請求項９】
前記少なくとも2つの参照画像ブロックが、1組の第1の参照画像ブロックおよび1組の第2の参照画像ブロックを含み、前記第2のコスト関数が、第1の参照画像ブロックと第2の参照画像ブロックとの間の差を示す、請求項6に記載の方法。
【請求項１０】
前記改善された動き情報が、前記現在の画像ブロックの改善された動きベクトルを含み、
前記改善された動き情報に従って前記現在の画像ブロックの予測画像ブロックを前記決定するステップが、
前記改善された動きベクトルおよび参照画像に従って前記現在の画像ブロックの前記予測画像ブロックを決定するステップであって、前記参照画像が、予め定義された画像であるか、または予め定義されたアルゴリズムに基づいて取得される、ステップを含む、請求項1から9のいずれか一項に記載の方法。
【請求項１１】
前記改善された動き情報が、前記現在の画像ブロックの改善された動きベクトルおよび参照画像のインジケーションを含み、
前記改善された動き情報に従って前記現在の画像ブロックの予測画像ブロックを前記決定するステップが、
前記改善された動きベクトルおよび前記参照画像の前記インジケーションに従って前記現在の画像ブロックの前記予測画像ブロックを決定するステップを含む、請求項1から9のいずれか一項に記載の方法。
【請求項１２】
前記第1のコスト関数が、差分絶対値和(SAD)、平均を引いた差分絶対値和(MR-SAD)、または差分二乗和(SSD)のうちの1つである、請求項3に記載の方法。
【請求項１３】
前記第2のコスト関数が、差分絶対値和(SAD)、平均を引いた差分絶対値和(MR-SAD)、または差分二乗和(SSD)のうちの1つである、請求項6から9のいずれか一項に記載の方法。
【請求項１４】
前記参照画像ブロックが、制約されたサンプル値を有する前記参照画像ブロックを指す、請求項1から13のいずれか一項に記載の方法。
【請求項１５】
ビデオシーケンスの画像をコーディングするための装置であって、前記画像が現在の画像ブロックを含み、前記装置が、
前記現在の画像ブロックの初期動き情報を取得するように構成された取得モジュールであって、
前記取得モジュールが、前記初期動き情報に従って前記現在の画像ブロックに対応する少なくとも2つの参照画像ブロックの制約されたサンプル値を取得するようにさらに構成され、
前記制約されたサンプル値が、各参照画像ブロックのサンプル値のビット深度を予め定義されたビット深度に制約することによって取得され、
前記取得モジュールが、少なくとも2つの参照画像ブロックの制約されたサンプル値に基づいて改善された動き情報を取得するようにさらに構成される、取得モジュールと、
前記改善された動き情報に従って前記現在の画像ブロックの予測画像ブロックを決定するように構成された決定モジュールと
を含む、装置。
【請求項１６】
前記取得モジュールが、
各参照画像ブロックのサンプル値の前記ビット深度に対して(b-d)の量の右シフトを実行するように特に構成され、bが、前記各参照画像ブロックの前記サンプル値の前記ビット深度であり、dが、前記予め定義されたビット深度であり、bが、dよりも大きい、請求項15に記載の装置。
【請求項１７】
処理回路による実行のためにプログラミングを記憶する非一時的コンピュータ可読ストレージ媒体であって、前記プログラミングが、前記処理回路によって実行されるとき、前記処理回路を、請求項1から14のいずれか一項に記載の方法を実行するように構成する、非一時的コンピュータ可読ストレージ媒体。
【請求項１８】
請求項1から14のいずれか一項に記載の方法を実行するためのプログラムコードを含む、コンピュータプログラム製品。
【請求項１９】
1つ以上のプロセッサと、
前記プロセッサに結合され、前記プロセッサによる実行のためにプログラミングを記憶する非一時的コンピュータ可読ストレージ媒体であって、前記プログラミングが、前記プロセッサによって実行されるときに、請求項1から14のいずれか一項に記載の方法を実行するようにデコーダを構成する、非一時的コンピュータ可読ストレージ媒体と
を含む、コーダ。
【請求項２０】
請求項1から14のいずれか一項に記載の方法を実行するように構成された回路を含む、コーディングデバイス。
【国際調査報告】
2021536707.tif 000036
2021536707.tif 000037