(57)【要約】  デコーダにおけるビデオ復号の方法において、ビデオのカレントピクチャ内の第1のブロックについて、第1の動きベクトル及び第2の動きベクトルが受信される。第1の動きベクトルは、第1のピクチャ内の第1の参照ブロックを示す。第2の動きベクトルは、第2のピクチャ内の第2の参照ブロックを示す。第1の参照ブロックと第2の参照ブロックとの重み付けされた組み合わせに基づいて、バイラテラルテンプレートが生成される。バイラテラルテンプレートと、第1のピクチャ内の参照ブロックとに基づいて、精緻化された第1の動きベクトルが決定される。バイラテラルテンプレートと、第2のピクチャ内の参照ブロックとに基づいて、精緻化された第2の動きベクトルが決定される。第1のブロックの後に符号化される第2のブロックの初期動きベクトルは、第1のブロックについての第1の動きベクトル及び第2の動きベクトルのうち少なくとも1つに従って決定される。
2021513817.tif 000002
【特許請求の範囲】
【請求項１】
デコーダにおけるビデオ復号の方法であって、
ビデオのカレントピクチャ内の第1のブロックについて、第1の動きベクトル及び第2の動きベクトルを受信するステップであって、前記第1の動きベクトルは、第1のピクチャ内の第1の参照ブロックを示し、前記第2の動きベクトルは、第2のピクチャ内の第2の参照ブロックを示し、前記カレントピクチャは、前記ビデオにおける前記第1のピクチャと前記第2のピクチャとの間にある、ステップと、
前記第1の参照ブロックと前記第2の参照ブロックとの重み付けされた組み合わせに基づいて、バイラテラルテンプレートを生成するステップと、
前記バイラテラルテンプレートと、前記第1のピクチャ内の第1の参照ブロックのセットとに基づいて、精緻化された第1の動きベクトルを決定するステップであって、前記精緻化された第1の動きベクトルは、前記第1のピクチャ内の第1の精緻化された参照ブロックを示す、ステップと、
前記バイラテラルテンプレートと、前記第2のピクチャ内の第2の参照ブロックのセットとに基づいて、精緻化された第2の動きベクトルを決定するステップであって、前記精緻化された第2の動きベクトルは、前記第2のピクチャ内の第2の精緻化された参照ブロックを示す、ステップと、
前記第1のブロックについての前記第1の動きベクトル及び前記第2の動きベクトルのうち少なくとも1つに従って、前記第1のブロックの後に符号化される第2のブロックの初期動きベクトルを決定するステップと
を含む方法。
【請求項２】
前記第1のブロックは、前記第2のブロックについて、候補動きベクトル予測子の候補リストを構築する処理の間に、前記候補リストに含まれる、請求項１に記載の方法。
【請求項３】
前記第1の参照ブロックのセットは、前記第1の参照ブロックと、前記第1のピクチャ内の前記第1の参照ブロックの異なる位置における8個の参照ブロックとを含み、前記第2の参照ブロックのセットは、前記第2の参照ブロックと、前記第2のピクチャ内の前記第2の参照ブロックの異なる位置における8個の参照ブロックとを含む、請求項１又は２に記載の方法。
【請求項４】
前記精緻化された第1の動きベクトルを決定する前記ステップは、前記第1の参照ブロックのセットにおける第1の最小コスト指標を決定するステップを含み、
前記精緻化された第2の動きベクトルを決定する前記ステップは、前記第2の参照ブロックのセットにおける第2の最小コスト指標を決定するステップを含む、請求項１乃至３のうちいずれか１項に記載の方法。
【請求項５】
前記コスト指標は、差分絶対値和(SAD)指標、平均二乗誤差(MSE)指標、平均絶対差(MAD)指標又は一致画素数(MPC)指標のうち少なくとも1つを含む、請求項４に記載の方法。
【請求項６】
前記第1のピクチャ内の前記第1の精緻化された参照ブロックを示す前記第1の精緻化された動きベクトルと、前記第2のピクチャ内の前記第2の精緻化された参照ブロックを示す前記第2の精緻化された動きベクトルとに従って、前記第1のブロックを復元するステップを更に含む、請求項１乃至５のうちいずれか１項に記載の方法。
【請求項７】
前記精緻化された第1又は第2の動きベクトルの決定中に、精緻化補間フィルタを適用するステップであって、前記精緻化補間フィルタはTap_MC-DMVRのフィルタ長を有する、ステップと、
前記第1のブロックの復元中に、最終動き補償補間フィルタを適用するステップであって、前記最終動き補償補間フィルタはTap_SRのフィルタ長を有する、ステップと
を更に含む、請求項１乃至６のうちいずれか１項に記載の方法。
【請求項８】
2×SR+Tap_MC-DMVR/2+Tap_SR/2=Tap_MCであり、
前記SRは、それぞれ前記第1の参照ブロックのセット又は前記第2の参照ブロックのセットを決定するための探索範囲であり、
前記Tap_MCは、前記第1の動きベクトル及び前記第2の動きベクトルに基づいて前記第1のブロックが復元されるときに適用される通常の動き補償補間フィルタのフィルタ長である、請求項７に記載の方法。
【請求項９】
前記精緻化補間フィルタは、垂直フィルタ長及び水平フィルタ長を有し、
前記垂直フィルタ長は前記水平フィルタ長とは異なる、請求項７に記載の方法。
【請求項１０】
前記第1又は第2の参照ブロックのセットを決定するための前記探索範囲は、前記第1のブロックのブロックサイズに基づいて定義される適応的な探索範囲である、請求項８に記載の方法。
【請求項１１】
前記探索範囲のサイズは、前記第1のブロックの面積に基づいて定義される、請求項８に記載の方法。
【請求項１２】
処理回路を含む装置であって、
前記処理回路は、
ビデオのカレントピクチャ内の第1のブロックについて、第1の動きベクトル及び第2の動きベクトルを受信するステップであって、前記第1の動きベクトルは、第1のピクチャ内の第1の参照ブロックを示し、前記第2の動きベクトルは、第2のピクチャ内の第2の参照ブロックを示し、前記カレントピクチャは、前記ビデオにおける前記第1のピクチャと前記第2のピクチャとの間にある、ステップと、
前記第1の参照ブロックと前記第2の参照ブロックとの重み付けされた組み合わせに基づいて、バイラテラルテンプレートを生成するステップと、
前記バイラテラルテンプレートと、前記第1のピクチャ内の第1の参照ブロックのセットとに基づいて、精緻化された第1の動きベクトルを決定するステップであって、前記精緻化された第1の動きベクトルは、前記第1のピクチャ内の第1の精緻化された参照ブロックを示す、ステップと、
前記バイラテラルテンプレートと、前記第2のピクチャ内の第2の参照ブロックのセットとに基づいて、精緻化された第2の動きベクトルを決定するステップであって、前記精緻化された第2の動きベクトルは、前記第2のピクチャ内の第2の精緻化された参照ブロックを示す、ステップと、
前記第1のブロックについての前記第1の動きベクトル及び前記第2の動きベクトルのうち少なくとも1つに従って、前記第1のブロックの後に符号化される第2のブロックの初期動きベクトルを決定するステップと
を実行するように構成される、装置。
【請求項１３】
前記第1のブロックは、前記第2のブロックについて、候補動きベクトル予測子の候補リストを構築する処理の間に、前記候補リストに含まれる、請求項１２に記載の装置。
【請求項１４】
前記処理回路は、
前記精緻化された第1の動きベクトルが前記第1の参照ブロックのセットにおける第1の最小コスト指標に関連するという第1の決定に基づいて、前記精緻化された第1の動きベクトルを決定するステップと、
前記精緻化された第2の動きベクトルが前記第2の参照ブロックのセットにおける第2の最小コスト指標に関連するという第2の決定に基づいて、前記精緻化された第2の動きベクトルを決定するステップと
を実行するように更に構成される、請求項１２又は１３に記載の装置。
【請求項１５】
前記精緻化された第1又は第2の動きベクトルの決定中に、精緻化補間フィルタを適用するステップであって、前記精緻化補間フィルタはTap_MC-DMVRのフィルタ長を有する、ステップと、
前記第1のブロックの復元中に、最終動き補償補間フィルタを適用するステップであって、前記最終動き補償補間フィルタはTap_SRのフィルタ長を有する、ステップと
を実行するように更に構成される、請求項１２乃至１４のうちいずれか１項に記載の装置。
【請求項１６】
2×SR+Tap_MC-DMVR/2+Tap_SR/2=Tap_MCであり、
前記SRは、それぞれ前記第1の参照ブロックのセット又は前記第2の参照ブロックのセットを決定するための探索範囲であり、
前記Tap_MCは、前記第1の動きベクトル及び前記第2の動きベクトルに基づいて前記第1のブロックが復元されるときに適用される通常の動き補償補間フィルタのフィルタ長である、請求項１２乃至１５のうちいずれか１項に記載の装置。
【請求項１７】
前記精緻化補間フィルタは、垂直フィルタ長及び水平フィルタ長を有し、
前記垂直フィルタ長は前記水平フィルタ長とは異なる、請求項１５に記載の装置。
【請求項１８】
前記第1又は第2の参照ブロックのセットを決定するための前記探索範囲は、前記第1のブロックのブロックサイズに基づいて定義される適応的な探索範囲である、請求項１６に記載の装置。
【請求項１９】
前記探索範囲のサイズは、前記第1のブロックの面積に基づいて定義される、請求項１６に記載の装置。
【請求項２０】
命令を記憶した非一時的なコンピュータ読み取り可能媒体であって、
当該命令は、ビデオ復号のために、コンピュータによって実行されると、前記コンピュータに、
ビデオのカレントピクチャ内の第1のブロックについて、第1の動きベクトル及び第2の動きベクトルを受信するステップであって、前記第1の動きベクトルは、第1のピクチャ内の第1の参照ブロックを示し、前記第2の動きベクトルは、第2のピクチャ内の第2の参照ブロックを示し、前記カレントピクチャは、前記ビデオにおける前記第1のピクチャと前記第2のピクチャとの間にある、ステップと、
前記第1の参照ブロックと前記第2の参照ブロックとの重み付けされた組み合わせに基づいて、バイラテラルテンプレートを生成するステップと、
前記バイラテラルテンプレートと、前記第1のピクチャ内の第1の参照ブロックのセットとに基づいて、精緻化された第1の動きベクトルを決定するステップであって、前記精緻化された第1の動きベクトルは、前記第1のピクチャ内の第1の精緻化された参照ブロックを示す、ステップと、
前記バイラテラルテンプレートと、前記第2のピクチャ内の第2の参照ブロックのセットとに基づいて、精緻化された第2の動きベクトルを決定するステップであって、前記精緻化された第2の動きベクトルは、前記第2のピクチャ内の第2の精緻化された参照ブロックを示す、ステップと、
前記第1のブロックについての前記第1の動きベクトル及び前記第2の動きベクトルのうち少なくとも1つに従って、前記第1のブロックの後に符号化される第2のブロックの初期動きベクトルを決定するステップと
を実行させる、非一時的なコンピュータ読み取り可能媒体。
【請求項２１】
ビデオ復号装置として機能するコンピュータに、
ビデオのカレントピクチャ内の第1のブロックについて、第1の動きベクトル及び第2の動きベクトルを受信するステップであって、前記第1の動きベクトルは、第1のピクチャ内の第1の参照ブロックを示し、前記第2の動きベクトルは、第2のピクチャ内の第2の参照ブロックを示し、前記カレントピクチャは、前記ビデオにおける前記第1のピクチャと前記第2のピクチャとの間にある、ステップと、
前記第1の参照ブロックと前記第2の参照ブロックとの重み付けされた組み合わせに基づいて、バイラテラルテンプレートを生成するステップと、
前記バイラテラルテンプレートと、前記第1のピクチャ内の第1の参照ブロックのセットとに基づいて、精緻化された第1の動きベクトルを決定するステップであって、前記精緻化された第1の動きベクトルは、前記第1のピクチャ内の第1の精緻化された参照ブロックを示す、ステップと、
前記バイラテラルテンプレートと、前記第2のピクチャ内の第2の参照ブロックのセットとに基づいて、精緻化された第2の動きベクトルを決定するステップであって、前記精緻化された第2の動きベクトルは、前記第2のピクチャ内の第2の精緻化された参照ブロックを示す、ステップと、
前記第1のブロックについての前記第1の動きベクトル及び前記第2の動きベクトルのうち少なくとも1つに従って、前記第1のブロックの後に符号化される第2のブロックの初期動きベクトルを決定するステップと
を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願への相互参照］
本願は、2018年12月28日に出願された米国特許出願第16/235,545号「IMPROVEMENT  FOR  DECODER  SIDE  MV  DERIVATION  AND  REFINEMENT」の優先権の利益を主張する。当該米国特許出願は、2018年7月2日に出願された米国仮出願第62/693,060号「IMPROVEMENT  FOR  DECODER  SIDE  MV  DERIVATION  AND  REFINEMENT」の優先権の利益を主張する。これらの出願の全内容が参照によって本明細書に組み込まれる。
【０００２】
［技術分野］
本開示は、概してビデオ符号化に関連する実施形態を記載する。
【背景技術】
【０００３】
本明細書において提供される背景技術の説明は、本開示の背景を一般的に提示するためのものである。本願の発明者の研究は、当該研究がこの背景技術の段落に記載されている範囲において、また、出願時に従来技術として特に適することのない説明の側面も、本開示に対する従来技術として明示的にも暗示的にも認められるものではない。
【０００４】
ビデオ符号化及び復号は、動き補償によるインターピクチャ予測を使用して実行できる。非圧縮ディジタルビデオは、一連のピクチャを含むことができ、各ピクチャは、例えば、1920×1080の輝度サンプル及び関連する色差サンプルの空間次元を有する。一連のピクチャは、例えば、毎秒60ピクチャ又は60Hzの固定又は可変のピクチャレート(フレームレートとしても非公式に知られている)を有することができる。非圧縮ビデオは、かなりのビットレート要件を有する。例えば、サンプル当たり8ビットの1080p60  4:2:0ビデオ(60Hzのフレームレートの1920×1080の輝度サンプル解像度)は、1.5Gbit/sに近い帯域幅を必要とする。1時間のこのようなビデオは、600Gバイトを超える記憶空間を必要とする。
【０００５】
ビデオ符号化及び復号の1つの目的は、圧縮を通じて入力ビデオ信号の冗長性を低減できることである。圧縮は、場合によっては2桁以上も上記の帯域幅又は記憶空間の要件を低減するのに役立つことができる。可逆圧縮及び不可逆圧縮の双方並びにこれらの組み合わせを使用することができる。可逆圧縮とは、元の信号の正確なコピーが圧縮された元の信号から復元できる技術を示す。不可逆圧縮を使用する場合、復元された信号は、元の信号と同一ではない可能性があるが、元の信号と復元された信号との間の歪みは、復元された信号を目的のアプリケーションにとって有用にするほど十分に小さい。ビデオの場合、不可逆圧縮が広く使用されている。許容される歪みの量はアプリケーションに依存する。例えば、特定の消費者のストリーミングアプリケーションのユーザは、テレビ配信アプリケーションのユーザよりも高い歪みを許容する可能性がある。達成可能な圧縮比は、より高い許容可能な歪み/許容される歪みがより高い圧縮比をもたらすことができるということを反映できる。
【０００６】
動き補償は不可逆圧縮技術であり、前に復元されたピクチャ又はその一部(参照ピクチャ)からのサンプルデータのブロックが、動きベクトル(以下、MVという)によって示される方向に空間的にシフトされた後に、新たに復元されるピクチャ又はその一部の予測に使用されるという技術に関連付けることができる。場合によっては、参照ピクチャは現在復元中のピクチャと同じものにすることができる。MVは、X及びYの2次元を有してもよく、或いは、3次元を有してもよく、第3の次元は、使用中の参照ピクチャを示す(後者は、間接的に、時間次元とすることができる)。
【０００７】
いくつかのビデオ圧縮技術では、サンプルデータの特定の領域に適用可能なMVは、他のMVから予測でき、例えば、復元中の領域に空間的に隣接しており、復号順でそのMVに先行するサンプルデータの他の領域に関連するMVから予測できる。これにより、MVを符号化するために必要なデータ量をかなり低減でき、それによって冗長性を除去し、圧縮を増加させることができる。例えば、カメラから導出された入力ビデオ信号(ナチュラルビデオとして知られている)を符号化する場合、単一のMVが適用可能な領域よりも大きい領域が同様の方向に移動し、したがって、場合によっては隣接領域のMVから導出された同様の動きベクトルを使用して予測できるという統計的な可能性が存在するので、MV予測は効果的に機能し得る。その結果、所与の領域に対して検出されたMVは、周囲のMVから予測されるMVと同様又は同一であることになり、そのMVは、エントロピー符号化の後に、MVを直接符号化する場合に使用されるものよりも少ない数のビットで表現できる。場合によって、MV予測は、元の信号(すなわち、サンプルストリーム)から導出された信号(すなわち、MV)の可逆圧縮の一例になり得る。他の場合には、MV予測自体が、例えば、いくつかの周囲のMVから予測子を計算するときの丸め誤差の理由で、不可逆になり得る。
【０００８】
H.265/HEVC(ITU-T  Rec.  H.265,  「High  Efficiency  Video  Coding」,  December  2016)には、様々なMV予測メカニズムが記載されている。H.265が提供する多くのMV予測メカニズムのうち、ここでは、以下で「空間マージ(spatial  merge)」と呼ばれる技術について説明する。
【０００９】
図１を参照すると、カレントブロック(101)は、動き探索処理中に、空間的にシフトされた同じサイズの前のブロックから予測可能であることがエンコーダによって検出されたサンプルを含む。MVを直接符号化する代わりに、MVは、1つ以上の参照ピクチャに関連するメタデータから導出でき、例えば、A0、A1及びB0、B1、B2(それぞれ102〜106)と示される5個の周囲のサンプルのうちいずれか1つに関連するMVを使用して、(復号順で)最近の参照ピクチャから導出できる。H.265では、MV予測は、隣接ブロックが使用しているものと同じ参照ピクチャからの予測子を使用できる。
【発明の概要】
【００１０】
本開示の態様は、ビデオ符号化の方法及び装置を提供する。いくつかの例では、装置は、受信回路及び処理回路を含む。
【００１１】
本開示の態様によれば、デコーダにおけるビデオ復号の方法が提供される。開示の方法では、ビデオのカレントピクチャ内の第1のブロックについて、第1の動きベクトル及び第2の動きベクトルが受信される。第1の動きベクトルは、第1のピクチャ内の第1の参照ブロックを示し、第2の動きベクトルは、第2のピクチャ内の第2の参照ブロックを示す。カレントピクチャは、ビデオにおける第1のピクチャと第2のピクチャとの間にある。次に、第1の参照ブロックと第2の参照ブロックとの重み付けされた組み合わせに基づいて、バイラテラルテンプレートが生成される。その後、バイラテラルテンプレートと、第1のピクチャ内の第1の参照ブロックのセットとに基づいて、精緻化された第1の動きベクトルが決定される。精緻化された第1の動きベクトルは、第1のピクチャ内の第1の精緻化された参照ブロックを示す。さらに、バイラテラルテンプレートと、第2のピクチャ内の第2の参照ブロックのセットとに基づいて、精緻化された第2の動きベクトルが決定される。精緻化された第2の動きベクトルは、第2のピクチャ内の第2の精緻化された参照ブロックを示す。第1のブロックの後に符号化される第2のブロックの初期動きベクトルは、第1のブロックについての第1の動きベクトル及び第2の動きベクトルのうち少なくとも1つに従って決定される。
【００１２】
いくつかの実施形態では、第1のブロックは、第2のブロックについて、候補動きベクトル予測子の候補リストを構築する処理の間に、候補リストに含まれる。第1の参照ブロックのセットは、第1の参照ブロックと、第1のピクチャ内の第1の参照ブロックの異なる位置における8個の参照ブロックとを含み、第2の参照ブロックのセットは、第2の参照ブロックと、第2のピクチャ内の第2の参照ブロックの異なる位置における8個の参照ブロックとを含む。
【００１３】
いくつかの実施形態では、精緻化された第1の動きベクトルの決定は、第1の参照ブロックのセットにおける第1の最小コスト指標を決定することを含み、精緻化された第2の動きベクトルの決定は、第2の参照ブロックのセットにおける第2の最小コスト指標を決定することを含む。コスト指標は、差分絶対値和(SAD,  sum  of  absolute  difference)指標、平均二乗誤差(MSE,  mean  square  error)指標、平均絶対差(MAD,  mean  absolute  difference)指標又は一致画素数(MPC,  matching-pixel  count)指標のうち少なくとも1つを含む。
【００１４】
いくつかの実施形態では、第1のブロックは、第1のピクチャ内の第1の精緻化された参照ブロックを示す第1の精緻化された動きベクトルと、第2のピクチャ内の第2の精緻化された参照ブロックを示す第2の精緻化された動きベクトルとに従って復元される。
【００１５】
いくつかの実施形態では、精緻化された第1又は第2の動きベクトルの決定中に、精緻化補間フィルタが適用される。精緻化補間フィルタはTap_MC-DMVRのフィルタ長を有する。最終動き補償補間フィルタが第1のブロックの復元中に適用される。最終動き補償補間フィルタはTap_SRのフィルタ長を有する。例えば、2×SR+Tap_MC-DMVR/2+Tap_SR/2=Tap_MCであり、SRは、それぞれ第1の参照ブロックのセット又は第2の参照ブロックのセットを決定するための探索範囲であり、Tap_MCは、第1の動きベクトル及び第2の動きベクトルに基づいて第1のブロックが復元されるときに適用される通常の動き補償補間フィルタのフィルタ長である。
【００１６】
いくつかの実施形態では、精緻化補間フィルタは、垂直フィルタ長及び水平フィルタ長を有し、垂直フィルタ長は水平フィルタ長とは異なる。
【００１７】
一実施形態では、第1又は第2の参照ブロックのセットを決定するための探索範囲は、第1のブロックのブロックサイズに基づいて定義される適応的な探索範囲である。一実施形態では、探索範囲のサイズは、第1のブロックの面積に基づいて定義される。
【００１８】
本開示の他の態様によれば、装置が提供される。当該装置は、処理回路を有する。処理回路は、開示のビデオ符号化の方法を実行するように構成される。
【００１９】
また、本開示の態様は、ビデオ復号のために、コンピュータによって実行されると、コンピュータにビデオ符号化の方法を実行させる命令を記憶した非一時的なコンピュータ読み取り可能媒体を提供する。
【図面の簡単な説明】
【００２０】
開示の対象物の更なる特徴、性質及び様々な利点は、以下の詳細な説明及び添付の図面からより明らかになる。
【図１】一例におけるカレントブロック及びその周囲の空間マージ候補の概略図である。
【図２】一実施形態による通信システム(200)の簡略化したブロック図の概略図である。
【図３】一実施形態による通信システム(300)の簡略化したブロック図の概略図である。
【図４】一実施形態によるデコーダの簡略化したブロック図の概略図である。
【図５】一実施形態によるエンコーダの簡略化したブロック図の概略図である。
【図６】他の実施形態によるエンコーダのブロック図を示す。
【図７】他の実施形態によるデコーダのブロック図を示す。
【図８】一実施形態によるデコーダ側動きベクトル精緻化(DMVR,  decoder  side  motion  vector  refinement)モードを示す概略図を示す。
【図９】一実施形態による符号化ブロック(CU,  coding  block)の符号化及び復号順を示す概略図を示す。
【図１０】一実施形態によるDMVRモードに関連するパイプラインステージを示す概略図を示す。
【図１１】一実施形態による改良DMVRモードを示す概略図を示す。
【図１２】一実施形態による改良DMVRモードに関連する効率的なパイプラインを示す概略図を示す。
【図１３】一実施形態による復号処理の概要を示すフローチャートを示す。
【図１４】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【００２１】
図２は、本開示の一実施形態による通信システム(200)の簡略化したブロック図を示す。通信システム(200)は、例えば、ネットワーク(250)を介して互いに通信できる複数の端末デバイスを含む。例えば、通信システム(200)は、ネットワーク(250)を介して相互接続された第1の対の端末デバイス(210)及び(220)を含む。図２の例では、第1の対の端末デバイス(210)及び(220)は、データの一方向伝送を実行する。例えば、端末デバイス(210)は、ネットワーク(250)を介して他の端末デバイス(220)に送信するために、ビデオデータ(例えば、端末デバイス(210)によってキャプチャされたビデオピクチャのストリーム)を符号化してもよい。符号化されたビデオデータは、1つ以上の符号化ビデオビットストリームの形式で送信されてもよい。端末デバイス(220)は、ネットワーク(250)から符号化ビデオデータを受信し、符号化ビデオデータを復号して、ビデオピクチャを復元して復元されたビデオデータに従ってビデオピクチャを表示してもよい。一方向データ伝送は、メディア提供アプリケーション等において一般的でもよい。
【００２２】
他の例では、通信システム(200)は、例えば、テレビ会議中に発生し得る符号化ビデオデータの双方向伝送を実行する第2の対の端末デバイス(230)及び(240)を含む。データの双方向伝送のために、一例では、端末デバイス(230)及び(240)の各端末デバイスは、ネットワーク(250)を介して端末デバイス(230)及び(240)の他方の端末デバイスに送信するために、ビデオデータ(例えば、端末デバイスによってキャプチャされたビデオピクチャのストリーム)を符号化してもよい。また、端末デバイス(230)及び(240)の各端末デバイスは、端末デバイス(230)及び(240)の他方の端末デバイスによって送信された符号化ビデオデータを受信してもよく、符号化ビデオデータを復号してビデオピクチャを復元してもよく、復元されたビデオデータに従って、アクセス可能な表示デバイスにビデオピクチャを表示してもよい。
【００２３】
図２の例では、端末デバイス(210)、(220)、(230)及び(240)は、サーバ、パーソナルコンピュータ及びスマートフォンとして示されることがあるが、本開示の原理はこれらに限定されない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレイヤ及び/又は専用のテレビ会議機器に適用がある。ネットワーク(250)は、例えば、有線(配線接続)及び/又は無線通信ネットワークを含む、端末デバイス(210)、(220)、(230)及び(240)の間で符号化ビデオデータを伝達するいずれかの数のネットワークを表す。通信ネットワーク(250)は、回線交換チャネル及び/又はパケット交換チャネル内のデータを交換してもよい。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク及び/又はインターネットを含む。本説明の目的では、ネットワーク(250)のアーキテクチャ及びトポロジは、本明細書において以下に説明しない限り、本開示の動作には重要ではない。
【００２４】
図３は、開示の対象物のアプリケーションの例として、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダの配置を示す。開示の対象物は、例えば、テレビ会議、デジタルTV、デジタルメディア(CD、DVD、メモリスティック等を含む)上の圧縮ビデオの記憶等を含む、他のビデオ可能なアプリケーションにも同様に適用可能である。
【００２５】
ストリーミングシステムはキャプチャサブシステム(313)を含んでもよく、当該キャプチャサブシステム(313)は、例えば、非圧縮のビデオピクチャのストリーム(302)を生成するビデオソース(301)(例えば、デジタルカメラ)を含んでもよい。一例では、ビデオピクチャのストリーム(302)は、デジタルカメラによって撮影されたサンプルを含む。符号化ビデオデータ(304)(又は符号化ビデオビットストリーム)と比較したときに高いデータ量であることを強調する太線として描かれるビデオピクチャのストリーム(302)は、ビデオソース(301)に結合されたビデオエンコーダ(303)を含む電子デバイス(320)によって処理されてもよい。ビデオエンコーダ(303)は、以下により詳細に説明するように、開示の対象物の態様を可能にするため或いは実装するために、ハードウェア、ソフトウェア又はこれらの組み合わせを含んでもよい。ビデオピクチャのストリーム(302)と比較したときにより低いデータ量であることを強調するために細線として描かれる符号化ビデオデータ(304)(又は符号化ビデオビットストリーム(304))は、将来の使用のためにストリーミングサーバ(305)に記憶されてもよい。図３におけるクライアントサブシステム(306)及び(308)のような1つ以上のストリーミングクライアントサブシステムは、ストリーミングサーバ(305)にアクセスして符号化ビデオデータ(304)のコピー(307)及び(309)を取得してもよい。クライアントサブシステム(306)は、例えば、電子デバイス(330)内にビデオデコーダ(310)を含んでもよい。ビデオデコーダ(310)は、符号化ビデオデータの入力コピー(307)を復号し、ディスプレイ(312)(例えば、表示画面)又は他のレンダリングデバイス(図示せず)上にレンダリングできるビデオピクチャの出力ストリーム(311)を生成する。いくつかのストリーミングシステムでは、符号化ビデオデータ(304)、(307)及び(309)(例えば、ビデオビットストリーム)は、特定のビデオ符号化/圧縮標準に従って符号化されてもよい。これらの標準の例は、ITU-T勧告H.265を含む。一例では、開発中のビデオ符号化標準は、VVC(Versatile  Video  Coding)として非公式に知られている。開示の対象物は、VVCの背景において使用されてもよい。
【００２６】
電子デバイス(320)及び(330)は、他の構成要素(図示せず)を含んでもよい点に留意すべきである。例えば、電子デバイス(320)は、ビデオデコーダ(図示せず)を含んでもよく、また、電子デバイス(330)は、ビデオエンコーダ(図示せず)を含んでもよい。
【００２７】
図４は、本開示の一実施形態によるビデオデコーダ(410)のブロック図を示す。ビデオデコーダ(410)は、電子デバイス(430)に含まれてもよい。電子デバイス(430)は、受信機(431)(例えば、受信回路)を含んでもよい。図３の例では、ビデオデコーダ(310)の代わりにビデオデコーダ(410)が使用されてもよい。
【００２８】
受信機(431)は、ビデオデコーダ(410)によって復号されるべき1つ以上の符号化ビデオシーケンスを受信してもよく、同一又は他の実施形態では、一度に1つの符号化ビデオシーケンスを受信してもよく、各符号化ビデオシーケンスの復号は、他の符号化ビデオシーケンスとは独立している。符号化ビデオシーケンスは、チャネル(401)から受信されてもよく、当該チャネルは、符号化ビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクでもよい。受信機(431)は、符号化ビデオデータを、他のデータ(例えば、符号化オーディオデータ及び/又は補助データストリーム)と共に受信してもよく、これらは、それぞれの使用エンティティ(図示せず)に転送されてもよい。受信機(431)は、符号化ビデオシーケンスを他のデータから分離してもよい。ネットワークジッタを防止するために、バッファメモリ(415)は、受信機(431)とエントロピーデコーダ/パーサ(420)(以下、「パーサ(420)」という)との間に結合されてもよい。特定のアプリケーションでは、バッファメモリ(415)はビデオデコーダ(410)の一部である。他の場合には、ビデオデコーダ(410)の外側にあってもよい(図示せず)。更に他の場合には、例えば、ネットワークジッタを防止するために、ビデオデコーダ(410)の外側にバッファメモリ(図示せず)が存在してもよく、加えて、例えば、再生タイミングに対処するために、ビデオデコーダ(410)の内側に他のバッファメモリ(415)が存在してもよい。受信機(431)が、十分な帯域幅及び制御可能性を有する記憶/転送デバイスから、或いは、アイソクロナスネットワークからデータを受信している場合、バッファメモリ(415)は必要なくてもよく或いは小さくすることができる。インターネットのようなベストエフォート型パケットネットワークでの使用については、バッファメモリ(415)が必要とされてもよく、比較的大きくすることができ、有利には適応的なサイズとすることができ、ビデオデコーダ(410)の外側のオペレーティングシステム又は同様の要素(図示せず)に少なくとも部分的に実装されてもよい。
【００２９】
ビデオデコーダ(410)は、符号化ビデオシーケンスからシンボル(421)を復元するためのパーサ(420)を含んでもよい。これらのシンボルのカテゴリは、ビデオデコーダ(410)の動作を管理するために使用される情報を含み、レンダリングデバイス(412)(例えば、表示画面)のようなレンダリングデバイスを制御するための情報を潜在的に含む。当該レンダリングデバイス(412)は、図４に示されているように、電子デバイス(430)の一体的な部分ではないが、電子デバイス(430)に結合されてもよい。レンダリングデバイスの制御情報は、補足エンハンスメント情報(SEI,  Supplemental  Enhancement  Information)(SEIメッセージ)又はビデオユーザビリティ情報(VUI,  Video  Usability  Information)パラメータセットフラグメント(図示せず)の形式でもよい。パーサ(420)は、受信した符号化ビデオシーケンスを解析/エントロピー復号してもよい。符号化ビデオシーケンスの符号化は、ビデオ符号化技術又は標準に従ってもよく、可変長符号化、ハフマン符号化、コンテキスト感度を伴う或いは伴わない算術符号化等を含む様々な原理に従ってもよい。パーサ(420)は、グループに対応する少なくとも1つのパラメータに基づいて、符号化ビデオシーケンスから、ビデオデコーダ内の画素のサブグループのうち少なくとも1つについてのサブグループパラメータのセットを抽出してもよい。サブグループは、グループオブピクチャ(GOP,  Group  of  Picture)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(CU,  Coding  Unit)、ブロック、変換ユニット(TU,  Transformation  Unit)、予測ユニット(PU,  Prediction  Unit)等を含んでもよい。また、パーサ(420)は、符号化ビデオシーケンスから、変換係数、量子化パラメータ値、動きベクトル等のような情報を抽出してもよい。
【００３０】
パーサ(420)は、シンボル(421)を生成するために、バッファメモリ(415)から受信したビデオシーケンスに対してエントロピー復号/解析動作を実行してもよい。
【００３１】
シンボル(421)の復元には、符号化ビデオピクチャ又はその部分のタイプ(例えば、インターピクチャ及びイントラピクチャ、インターブロック及びイントラブロック)及び他の要因に依存して、複数の異なるユニットが関与してもよい。どのユニットがどのように関与するかは、パーサ(420)によって符号化ビデオシーケンスから解析されたサブグループ制御情報によって制御されてもよい。パーサ(420)と以下の複数ユニットとの間のこのようなサブグループ制御情報の流れは、明確にするために図示されていない。
【００３２】
上記の機能ブロックの他に、ビデオデコーダ(410)は、概念的に、以下に説明するような複数の機能ユニットに細分されてもよい。商用的な制約の下で動作する実用的な実装では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合されてもよい。しかし、開示の対象物を説明する目的で、以下の機能ユニットに概念的に細分することが適切である。
【００３３】
第1のユニットは、スケーラ/逆変換ユニット(451)である。スケーラ/逆変換ユニット(451)は、パーサ(420)からシンボル(421)として、制御情報(どの変換を使用するべきか、ブロックサイズ、量子化係数、量子化スケーリング行列等を含む)と共に、量子化された変換係数を受信する。スケーラ/逆変換ユニット(451)は、アグリゲータ(455)に入力できるサンプル値を含むブロックを出力してもよい。
【００３４】
場合によっては、スケーラ/逆変換(451)の出力サンプルは、イントラ符号化ブロックに関連してもよく、すなわち、前に復元されたピクチャからの予測情報を使用していないが、カレントピクチャの前に復元された部分からの予測情報を使用できるブロックに関連してもよい。このような予測情報は、イントラピクチャ予測ユニット(452)によって提供されてもよい。場合によっては、イントラピクチャ予測ユニット(452)は、カレントピクチャバッファ(458)から取り出された周囲の既に復元された情報を使用して、復元中のブロックの同じサイズ及び形状のブロックを生成する。カレントピクチャバッファ(458)は、例えば、部分的に復元されたカレントピクチャ及び/又は完全に復元されたカレントピクチャをバッファする。場合によっては、アグリゲータ(455)は、サンプル毎に、イントラ予測ユニット(452)が生成した予測情報を、スケーラ/逆変換ユニット(451)によって提供された出力サンプル情報に追加する。
【００３５】
他の場合には、スケーラ/逆変換ユニット(451)の出力サンプルは、インター符号化されて潜在的に動き補償されたブロックに関連してもよい。このような場合、動き補償予測ユニット(453)は、参照ピクチャメモリ(457)にアクセスして、予測に使用されるサンプルを取り出してもよい。ブロックに関連するシンボル(421)に従って、取り出されたサンプルを動き補償した後に、これらのサンプルは、出力サンプル情報を生成するために、アグリゲータ(455)によってスケーラ/逆変換ユニット(451)の出力(この場合には、残差サンプル又は残差信号と呼ばれる)に追加されてもよい。動き補償予測ユニット(453)に利用可能な、動き補償予測ユニット(453)が予測サンプルを取り出す参照ピクチャメモリ(457)内のアドレスは、例えば、X、Y及び参照ピクチャ成分を有することができるシンボル(421)の形式で、動きベクトルによって制御されてもよい。また、動き補償は、サブサンプルの正確な動きベクトルが使用されているときに参照ピクチャメモリ(457)から取り出されるサンプル値の補間、動きベクトル予測メカニズム等を含んでもよい。
【００３６】
アグリゲータ(455)の出力サンプルは、ループフィルタユニット(456)内の様々なループフィルタリング技術を受けてもよい。ビデオ圧縮技術はループ内フィルタ技術を含んでもよく、当該ループ内フィルタ技術は、符号化ビデオシーケンス(符号化ビデオビットストリームとも呼ばれる)に含まれるパラメータによって制御され、パーサ(420)からシンボル(421)としてループフィルタユニット(456)に利用可能にされるが、符号化ピクチャ又は符号化ビデオシーケンスの(復号順に)前の部分の復号の間に取得されたメタ情報に応答する共に、前に復元されてループフィルタリングされたサンプル値にも応答してもよい。
【００３７】
ループフィルタユニット(456)の出力はサンプルストリームでもよく、当該サンプルストリームは、レンダリングデバイス(412)に出力されると共に、将来のインターピクチャ予測に使用するために参照ピクチャメモリ(457)に記憶されてもよい。
【００３８】
特定の符号化ピクチャは、完全に復元されると、将来の予測のための参照ピクチャとして使用されてもよい。例えば、カレントピクチャに対応する符号化ピクチャが完全に復元され、符号化ピクチャが(例えば、パーサ(420)によって)参照ピクチャとして識別されると、カレントピクチャバッファ(458)は参照ピクチャメモリ(457)の一部となってもよく、新たなカレントピクチャバッファが、後続の符号化ピクチャの復元を開始する前に再割り当てされてもよい。
【００３９】
ビデオデコーダ(410)は、ITU-T  Rec.  H.265のような標準における所定のビデオ圧縮技術に従って復号動作を実行してもよい。符号化ビデオシーケンスがビデオ圧縮技術又は標準のシンタックス及びビデオ圧縮技術又は標準に文書化されているプロファイルの双方に従うという意味で、符号化ビデオシーケンスは、使用されているビデオ圧縮技術又は標準によって指定されたシンタックスに適合してもよい。具体的には、プロファイルは、ビデオ圧縮技術又は標準で利用可能な全てのツールから特定のツールを、そのプロファイルで使用するのに利用可能な唯一のツールとして選択してもよい。また、コンプライアンスのために必要なことは、符号化ビデオシーケンスの複雑さが、ビデオ圧縮技術又は標準のレベルによって定義される範囲内にあることである。場合によっては、レベルは、最大ピクチャサイズ、最大フレームレート、最大復元サンプルレート(例えば、毎秒当たりのメガサンプル単位で測定される)、最大参照ピクチャサイズ等を制限する。場合によっては、レベルによって設定される制限は、仮想参照デコーダ(HRD,  Hypothetical  Reference  Decoder)仕様及び符号化ビデオシーケンスで伝達されるHRDバッファ管理についてのメタデータを通じて更に制限されてもよい。
【００４０】
一実施形態では、受信機(431)は、符号化ビデオと共に更なる(冗長な)データを受信してもよい。更なるデータは、符号化ビデオシーケンスの一部として含まれてもよい。更なるデータは、データを適切に復号するために、及び/又は元のビデオデータをより正確に復元するために、ビデオデコーダ(410)によって使用されてもよい。更なるデータは、例えば、時間、空間又は信号雑音比(SNR,  signal  noise  ratio)エンハンスメント層、冗長スライス、冗長ピクチャ、前方誤り訂正コード等の形式でもよい。
【００４１】
図５は、本開示の一実施形態によるビデオエンコーダ(503)のブロック図を示す。ビデオエンコーダ(503)は、電子デバイス(520)に含まれる。電子デバイス(520)は、送信機(540)(例えば、送信回路)を含む。図３の例では、ビデオエンコーダ(303)の代わりにビデオエンコーダ(503)が使用されてもよい。
【００４２】
ビデオエンコーダ(503)は、ビデオソース(501)(図５の例では電子デバイス(520)の一部ではない)からビデオサンプルを受信してもよく、当該ビデオソース(501)は、ビデオエンコーダ(503)によって符号化されるべきビデオ画像をキャプチャしてもよい。他の例では、ビデオソース(501)は電子デバイス(520)の一部である。
【００４３】
ビデオソース(501)は、デジタルビデオサンプルストリームの形式でビデオエンコーダ(503)によって符号化されるべきソースビデオシーケンスを提供してもよく、当該デジタルビデオサンプルストリームは、いずれかの適切なビット深度(例えば、8ビット、10ビット、12ビット等)、いずれかの色空間(例えば、BT.601  Y  CrCB、RGB等)及びいずれかの適切なサンプリング構造(例えば、Y  CrCb  4:2:0、Y  CrCb  4:4:4)でもよい。メディア提供システムにおいて、ビデオソース(501)は、事前に準備されたビデオを記憶する記憶デバイスでもよい。テレビ会議システムでは、ビデオソース(501)は、ローカル画像情報をビデオシーケンスとしてキャプチャするカメラでもよい。ビデオデータは、順に見たときに動きを伝える複数の個々のピクチャとして提供されてもよい。ピクチャ自体は、画素の空間配列として構成されてもよく、各画素は、使用中のサンプリング構造、色空間等に依存して、1つ以上のサンプルを含んでもよい。当業者は、画素とサンプルとの関係を容易に理解することができる。以下の説明は、サンプルに焦点を当てる。
【００４４】
一実施形態によれば、ビデオエンコーダ(503)は、リアルタイムで或いはアプリケーションによって要求されるいずれかの他の時間制約下で、ソースビデオシーケンスのピクチャを、符号化ビデオシーケンス(543)に符号化及び圧縮してもよい。適切な符号化速度を実現することは、コントローラ(550)の1つの機能である。いくつかの実施形態では、コントローラ(550)は、以下に説明するように、他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。結合は、明確にするために図示されていない。コントローラ(550)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化、レート歪み最適化技術のラムダ値等)、ピクチャサイズ、グループオブピクチャ(GOP)のレイアウト、最大動きベクトル探索範囲等を含んでもよい。コントローラ(550)は、特定のシステム設計のために最適化されたビデオエンコーダ(503)に関連する他の適切な機能を有するように構成されてもよい。
【００４５】
いくつかの実施形態では、ビデオエンコーダ(503)は、符号化ループで動作するように構成される。非常に簡略化した説明として、一例では、符号化ループは、ソースコーダ(530)(例えば、符号化されるべき入力ピクチャ及び参照ピクチャに基づいて、シンボルストリームのようなシンボルを生成することを担う)と、ビデオエンコーダ(503)に埋め込まれた(ローカル)デコーダ(533)とを含んでもよい。デコーダ(533)は、(リモート)デコーダが生成するのと同様に(シンボルと符号化ビデオビットストリームとの間のいずれかの圧縮が、開示の対象物において検討されるビデオ圧縮技術において可逆であるように)、サンプルデータを生成するようにシンボルを復元する。復元されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(534)に入力される。シンボルストリームの復号は、デコーダの位置(ローカル又はリモート)と独立したビット単位の正確な結果をもたらすので、参照ピクチャメモリ(534)内の内容も、ローカルエンコーダとリモートエンコーダとの間でビット単位で正確である。言い換えると、エンコーダの予測部分は、デコーダが復号中に予測を使用するときに「見る」のと全く同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャの同期(例えば、チャネルエラーの理由で同期が維持できない場合の結果として生じるドリフトを含む)のこの基本原理は、いくつかの関連技術においても同様に使用される。
【００４６】
「ローカル」デコーダ(533)の動作は、ビデオデコーダ(410)のような「リモート」デコーダと同じでもよく、これは、図４に関連して上記において既に詳細に説明した。しかし、図４を簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(545)及びパーサ(420)による符号化ビデオシーケンスへのシンボルの符号化/復号が可逆になり得るので、バッファメモリ(415)及びパーサ(420)を含むビデオデコーダ(410)のエントロピー復号部分は、ローカルデコーダ(533)に完全には実装されなくてもよい。
【００４７】
この時点で行うことができる考察は、デコーダ内に存在する解析/エントロピー復号を除く如何なるデコーダ技術も、必然的に対応するエンコーダ内に実質的に同一の機能形式で存在する必要があることである。このため、開示の対象物はデコーダ動作に焦点を当てる。エンコーダ技術の説明は、包括的に記載されるデコーダ技術の逆であるので、省略できる。特定の領域においてのみ、より詳細な説明が必要であり、以下に提供される。
【００４８】
いくつかの例では、動作中に、ソースコーダ(530)は、動き補償予測符号化を実行してもよく、当該動き補償予測符号化は、「参照ピクチャ」として指定されたビデオシーケンスからの1つ以上の前に符号化されたピクチャを参照して入力ピクチャを予測的に符号化する。このように、符号化エンジン(532)は、入力ピクチャの画素ブロックと、入力ピクチャに対する予測参照として選択され得る参照ピクチャの画素ブロックとの間の差を符号化する。
【００４９】
ローカルビデオデコーダ(533)は、ソースコーダ(530)によって生成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャの符号化ビデオデータを復号してもよい。符号化エンジン(532)の動作は、有利には、不可逆処理でもよい。符号化ビデオデータがビデオデコーダ(図５に図示せず)で復号され得る場合、復元されたビデオシーケンスは、典型的には、いくつかのエラーを伴うソースビデオシーケンスのレプリカになり得る。ローカルビデオデコーダ(533)は、参照ピクチャに対してビデオデコーダによって実行され得る復号処理を複製し、復元された参照ピクチャを参照ピクチャキャッシュ(534)に記憶させてもよい。このように、ビデオエンコーダ(503)は、遠端のビデオデコーダによって取得される(送信エラーのない)復元された参照ピクチャとして、共通の内容を有する復元された参照ピクチャのコピーをローカルに記憶してもよい。
【００５０】
予測器(535)は、符号化エンジン(532)のための予測探索を実行してもよい。すなわち、符号化されるべき新たなピクチャについて、予測器(535)は、(候補参照画素ブロックとしての)サンプルデータ又は特定のメタデータ(参照ピクチャ動きベクトル、ブロック形状等)を求めて参照ピクチャメモリ(534)を検索してもよい。これらは、新たなピクチャについての適切な予測参照として機能してもよい。予測器(535)は、適切な予測参照を検出するために、サンプルブロック毎画素ブロック毎(sample  block-by-pixel  block)に動作してもよい。場合によっては、予測器(535)によって取得された検索結果によって決定された入力ピクチャは、参照ピクチャメモリ(534)に記憶された複数の参照ピクチャから引き出された予測参照を有してもよい。
【００５１】
コントローラ(550)は、例えば、ビデオデータを符号化するために使用されるパラメータ及びサブグループパラメータの設定を含む、ソースコーダ(530)の符号化動作を管理してもよい。
【００５２】
全ての上記の機能ユニットの出力は、エントロピーコーダ(545)におけるエントロピー符号化を受けてもよい。エントロピーコーダ(545)は、ハフマン符号化、可変長符号化、算術符号化等のような技術に従って、シンボルを可逆圧縮することによって、様々な機能ユニットによって生成されたシンボルを符号化ビデオシーケンスに変換する。
【００５３】
送信機(540)は、エントロピーコーダ(545)によって生成された符号化ビデオシーケンスをバッファして、通信チャネル(560)を介した送信の準備をしてもよく、当該通信チャネル(560)は、符号化ビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクでもよい。送信機(540)は、ビデオコーダ(503)からの符号化ビデオデータを、送信されるべき他のデータ(例えば、符号化オーディオデータ及び/又は補助データストリーム(図示せず))とマージしてもよい。
【００５４】
コントローラ(550)は、ビデオエンコーダ(503)の動作を管理してもよい。符号化中に、コントローラ(550)は、各符号化ピクチャに、特定の符号化ピクチャタイプを割り当ててもよい。当該符号化ピクチャタイプは、各ピクチャに適用され得る符号化技術に影響を与えてもよい。例えば、ピクチャは、しばしば、以下のピクチャタイプのうち1つとして割り当てられてもよい。
【００５５】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の他のピクチャを使用せずに、符号化及び復号され得るものでもよい。いくつかのビデオコーデックは、例えば、独立デコーダリフレッシュ(IDR,  Independent  Decoder  Refresh)ピクチャを含む、異なるタイプのイントラピクチャを許容する。当業者は、Iピクチャのこれらの変形例と、それぞれの用途及び特徴を認識する。
【００５６】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、最大で1つの動きベクトル及び参照インデックスを使用して、イントラ予測又はインター予測を使用して符号化及び復号され得るものでもよい。
【００５７】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、最大で2つの動きベクトル及び参照インデックスを使用して、イントラ予測又はインター予測を使用して符号化及び復号され得るものでもよい。同様に、複数の予測ピクチャは、単一のブロックの復元のために、2つより多くの参照ピクチャ及び関連するメタデータを使用してもよい。
【００５８】
一般的に、ソースピクチャは、空間的に複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8又は16×16のサンプルのブロック)に細分され、ブロック毎に符号化されてもよい。ブロックは、ブロックのそれぞれのピクチャに適用される符号化割り当てによって決定される通り、他の(既に符号化された)ブロックを参照して予測的に符号化されてもよい。例えば、Iピクチャのブロックは、非予測的に符号化されてもよく、或いは、同じピクチャの既に符号化されたブロックを参照して予測的に符号化されてもよい(空間予測又はイントラ予測)。Pピクチャの画素ブロックは、1つ前に符号化された参照ピクチャを参照して、空間予測又は時間予測を介して予測的に符号化されてもよい。Bピクチャのブロックは、1つ又は2つ前に符号化された参照ピクチャを参照して、空間予測又は時間予測を介して予測的に符号化されてもよい。
【００５９】
ビデオエンコーダ(503)は、ITU-T  Rec.  H.265のような所定のビデオ符号化技術又は標準に従って符号化動作を実行してもよい。その動作において、ビデオエンコーダ(503)は、入力ビデオシーケンスにおける時間的及び空間的冗長性を利用する予測符号化動作を含む様々な圧縮動作を実行してもよい。したがって、符号化ビデオデータは、使用されているビデオ符号化技術又は標準によって指定されたシンタックスに適合してもよい。
【００６０】
一実施形態では、送信機(540)は、符号化ビデオと共に更なるデータを送信してもよい。ソースコーダ(530)は、符号化ビデオシーケンスの一部としてこのようなデータを含んでもよい。更なるデータは、時間/空間/SNRエンハンスメント層、冗長ピクチャ及びスライス、SEIメッセージ、VUIパラメータセットフラグメント等のような他の形式の冗長データを含んでもよい。
【００６１】
ビデオは、時系列において複数のソースピクチャ(ビデオピクチャ)としてキャプチャされてもよい。イントラピクチャ予測(しばしばイントラ予測と略される)は、所与のピクチャ内の空間的相関を利用し、インターピクチャ予測は、ピクチャ間の(時間的又は他の)相関を利用する。一例では、カレントピクチャと呼ばれる符号化/復号中の特定のピクチャは、ブロックに分割される。カレントピクチャ内のブロックがビデオにおける前に符号化されて依然としてバッファされている参照ピクチャ内の参照ブロックに類似する場合、カレントピクチャ内のブロックは、動きベクトルと呼ばれるベクトルによって符号化されてもよい。動きベクトルは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用されている場合には、参照ピクチャを識別する第3の次元を有してもよい。
【００６２】
いくつかの実施形態では、双方向予測技術は、インターピクチャ予測において使用されてもよい。双方向予測技術によれば、ビデオにおけるカレントピクチャへの復号順で双方とも先行する(しかし、表示順ではそれぞれ過去及び将来のものでもよい)第1の参照ピクチャ及び第2の参照ピクチャのような2つの参照ピクチャが使用される。カレントピクチャ内のブロックは、第1の参照ピクチャ内の第1の参照ブロックを指す第1の動きベクトルと、第2の参照ピクチャ内の第2の参照ブロックを指す第2の動きベクトルとによって符号化されてもよい。ブロックは、第1の参照ブロックと第2の参照ブロックとの組み合わせによって予測されてもよい。
【００６３】
さらに、符号化効率を改善するために、インターピクチャ予測においてマージモード技術が使用できる。
【００６４】
本開示のいくつかの実施形態によれば、インターピクチャ予測及びイントラピクチャ予測のような予測は、ブロックの単位で実行される。例えば、HEVC標準によれば、ビデオピクチャのシーケンス内のピクチャは、圧縮のために符号化ツリーユニット(CTU,  coding  tree  unit)に分割され、ピクチャ内のCTUは、64×64の画素、32×32の画素又は16×16の画素のように、同じサイズを有する。一般的に、CTUは、1つの輝度CTBと2つの色差CTBである3つの符号化ツリーブロック(CTB,  coding  tree  block)を含む。各CTUは、1つ又は複数の符号化ユニット(CU,  coding  unit)に再帰的に四分木分割されてもよい。例えば、64×64の画素のCTUは、64×64の画素の1つのCU、32×32の画素の4つのCU又は16×16の画素の16個のCUに分割できる。一例では、各CUは、インター予測タイプ又はイントラ予測タイプのようなCUの予測タイプを決定するために分析される。CUは、時間的及び/又は空間的予測可能性に依存して1つ以上の予測ユニット(PU,  prediction  unit)に分割される。一般的に、各PUは、輝度予測ブロック(PB,  prediction  block)と2つの色差PBとを含む。一実施形態では、符号化(符号化/復号)における予測動作は、予測ブロックの単位で実行される。予測ブロックの一例として輝度予測ブロックを使用すると、予測ブロックは、8×8の画素、16×16の画素、8×16の画素、16×8の画素等のように、画素の値(例えば、輝度値)の行列を含む。
【００６５】
図６は、本開示の他の実施形態によるビデオエンコーダ(603)の図を示す。ビデオエンコーダ(603)は、ビデオピクチャのシーケンス内のカレントビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックを符号化ビデオシーケンスの一部である符号化ピクチャに符号化するように構成される。一例では、ビデオエンコーダ(603)は、図３の例のビデオエンコーダ(303)の代わりに使用される。
【００６６】
HEVCの例では、ビデオエンコーダ(603)は、8×8のサンプルの予測ブロック等のような処理ブロックのサンプル値の行列を受信する。ビデオエンコーダ(603)は、処理ブロックが、例えば、レート歪み最適化を使用して、イントラモードを使用して最も良く符号化されるか、インターモードを使用して最も良く符号化されるか、双方向予測モードを使用して最も良く符号化されるかを決定する。処理ブロックがイントラモードで符号化される場合、ビデオエンコーダ(603)は、処理ブロックを符号化ピクチャに符号化するためにイントラ予測技術を使用してもよい。処理ブロックがインターモード又は双方向予測モードで符号化される場合、ビデオエンコーダ(603)は、処理ブロックを符号化ピクチャに符号化するために、それぞれインター予測技術又は双方向予測技術を使用してもよい。特定のビデオ符号化技術では、マージモード(merge  mode)は、動きベクトル予測子以外の符号化された動きベクトル成分の恩恵を受けずに、動きベクトルが1つ以上の動きベクトル予測子から導出されるインターピクチャ予測サブモードでもよい。特定の他のビデオ符号化技術では、対象のブロックに適用可能な動きベクトル成分が存在してもよい。一例では、ビデオエンコーダ(603)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)のような他の構成要素を含む。
【００６７】
図６の例では、ビデオエンコーダ(603)は、図６に示されるように共に結合されたインターエンコーダ(630)と、イントラエンコーダ(622)と、残差計算器(623)と、スイッチ(626)と、残差エンコーダ(624)と、全体コントローラ(621)と、エントロピーエンコーダ(625)とを含む。
【００６８】
インターエンコーダ(630)は、カレントブロック(例えば、処理ブロック)のサンプルを受信し、当該ブロックを参照ピクチャ内の1つ以上の参照ブロック(例えば、前のピクチャ及び後のピクチャ内のブロック)と比較し、インター予測情報(例えば、インター符号化技術による冗長情報の記述、動きベクトル、マージモード情報)を生成し、いずれかの適切な技術を使用して、インター予測情報に基づいてインター予測結果(例えば、予測ブロック)を計算するように構成される。いくつかの例では、参照ピクチャは、符号化ビデオ情報に基づいて復号された復号参照ピクチャである。
【００６９】
イントラエンコーダ(622)は、カレントブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては、当該ブロックを、同じピクチャ内で既に符号化されたブロックと比較し、変換後に量子化係数を生成し、場合によっては、イントラ予測情報(例えば、1つ以上のイントラ符号化技術によるイントラ予測方向情報)も生成するように構成される。また、一例では、イントラエンコーダ(622)は、同じピクチャ内のイントラ予測情報及び参照ブロックに基づいて、イントラ予測結果(例えば、予測ブロック)を計算する。
【００７０】
全体コントローラ(621)は、全体制御データを決定し、全体制御データに基づいてビデオエンコーダ(603)の他の構成要素を制御するように構成される。一例では、全体コントローラ(621)は、ブロックのモードを決定し、当該モードに基づいて制御信号をスイッチ(626)に提供する。例えば、モードがイントラモードである場合、全体コントローラ(621)は、残差計算器(623)によって使用されるイントラモード結果を選択するようにスイッチ(626)を制御し、イントラ予測情報を選択してイントラ予測情報をビットストリームに含めるようにエントロピーエンコーダ(625)を制御する。モードがインターモードである場合、全体コントローラ(621)は、残差計算器(623)によって使用されるインター予測結果を選択するようにスイッチ(626)を制御し、インター予測情報を選択してインター予測情報をビットストリームに含めるようにエントロピーエンコーダ(625)を制御する。
【００７１】
残差計算器(623)は、受信したブロックと、イントラエンコーダ(622)又はインターエンコーダ(630)から選択された予測結果との差(残差データ)を計算するように構成される。残差エンコーダ(624)は、残差データに基づいて動作し、残差データを符号化して変換係数を生成するように構成される。一例では、残差エンコーダ(624)は、残差データを空間ドメインから周波数ドメインに変換し、変換係数を生成するように構成される。次いで、変換係数は、量子化された変換係数を取得するための量子化処理を受ける。また、様々な実施形態では、ビデオエンコーダ(603)は、残差デコーダ(628)も含む。残差デコーダ(628)は、逆変換を実行し、復号された残差データを生成するように構成される。復号された残差データは、イントラエンコーダ(622)及びインターエンコーダ(630)によって適切に使用されてもよい。例えば、インターエンコーダ(630)は、復号された残差データ及びインター予測情報に基づいて復号ブロックを生成してもよく、イントラエンコーダ(622)は、復号された残差データ及びイントラ予測情報に基づいて復号ブロックを生成してもよい。復号ブロックは、復号ピクチャを生成するように適切に処理され、復号ピクチャは、メモリ回路(図示せず)にバッファされ、いくつかの例では参照ピクチャとして使用されてもよい。
【００７２】
エントロピーエンコーダ(625)は、符号化ブロックを含めるようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ(625)は、HEVC標準のような適切な標準に従った様々な情報を含めるように構成される。一例では、エントロピーエンコーダ(625)は、全体制御データと、選択された予測情報(例えば、イントラ予測情報又はインター予測情報)と、残差情報と、他の適切な情報とをビットストリームに含めるように構成される。開示の対象物によれば、インターモード又は双方向予測モードのいずれかのマージサブモードでブロックを符号化する場合、残差情報は存在しない点に留意すべきである。
【００７３】
図７は、本開示の他の実施形態によるビデオデコーダ(710)の図を示す。ビデオデコーダ(710)は、符号化ビデオシーケンスの一部である符号化ピクチャを受信し、符号化ピクチャを復号して復元ピクチャを生成するように構成される。一例では、ビデオデコーダ(710)は、図３の例のビデオデコーダ(310)の代わりに使用される。
【００７４】
図７の例では、ビデオデコーダ(710)は、図７に示されるように共に結合されたエントロピーデコーダ(771)と、インターデコーダ(780)と、残差デコーダ(773)と、復元モジュール(774)と、イントラデコーダ(772)とを含む。
【００７５】
エントロピーデコーダ(771)は、符号化ピクチャから、当該符号化ピクチャが構成されるシンタックスエレメントを表す特定のシンボルを復元するように構成されてもよい。このようなシンボルは、例えば、ブロックが符号化されるモード(例えば、イントラモード、インターモード、双方向予測モード、マージサブモード又は他のサブモードにおける後者の2つ等)、それぞれイントラデコーダ(772)又はインターデコーダ(780)によって予測のために使用される特定のサンプル又はメタデータを識別できる予測情報(例えば、イントラ予測情報又はインター予測情報等)、例えば、量子化された変換係数の形式の残差情報等を含んでもよい。一例では、予測モードがインターモード又は双方向予測モードである場合、インター予測情報はインターデコーダ(780)に提供され、予測タイプがイントラ予測タイプである場合には、イントラ予測情報がイントラデコーダ(772)に提供される。残差情報は、逆量子化を受けてもよく、残差デコーダ(773)に提供される。
【００７６】
インターデコーダ(780)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成される。
【００７７】
イントラデコーダ(772)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成される。
【００７８】
残差デコーダ(773)は、逆量子化された変換係数を抽出するための逆量子化を実行し、逆量子化された変換係数を処理して残差を周波数ドメインから空間ドメインに変換するように構成される。また、残差デコーダ(773)は、特定の制御情報(量子化パラメータ(QP,  Quantizer  Parameter)を含む)を必要としてもよく、その情報は、エントロピーデコーダ(771)によって提供されてもよい(これは低ボリュームの制御情報のみである可能性があるので、データ経路は図示されていない)。
【００７９】
復元モジュール(774)は、空間ドメインにおいて、残差デコーダ(773)によって出力された残差と、予測結果(場合によっては、インター予測モジュール又はイントラ予測モジュールによって出力されたもの)とを結合して復元ブロックを形成するように構成され、当該復元ブロックは、復元ピクチャの一部でもよく、また、復元ビデオの一部でもよい。視覚品質を改善するために、デブッキング動作のような他の適切な動作が実行されてもよい点に留意すべきである。
【００８０】
ビデオエンコーダ(303)、(503)及び(603)並びにビデオデコーダ(310)、(410)及び(710)は、いずれかの適切な技術を使用して実装されてもよい点に留意すべきである。一実施形態では、ビデオエンコーダ(303)、(503)及び(603)並びにビデオデコーダ(310)、(410)及び(710)は、1つ以上の集積回路を使用して実装されてもよい。他の実施形態では、ビデオエンコーダ(303)、(503)及び(503)並びにビデオデコーダ(310)、(410)及び(710)は、ソフトウェア命令を実行する1つ以上のプロセッサを使用して実装されてもよい。
【００８１】
図８は、一実施形態によるデコーダ側動きベクトル精緻化(DMVR,  decoder  side  motion  vector  refinement)モードを示す概略図を示す。図１に示されるマージモードと比較して、DMVRモードは、開始点に基づいて動きベクトルを改良/精緻化するための他のツールである。DMVRモードは、双方向予測動作を提供する。双方向予測動作では、1つのブロック領域を予測するために、それぞれlist0の第1のMVとlist1の第2のMVとを使用することにより形成された2つの予測(又は参照)ブロックが、単一の予測信号(バイラテラルテンプレート)を形成するように結合される。DMVR方法では、双方向予測の2つの動きベクトルは、バイラテラルテンプレートマッチング処理によって更に精緻化される。バイラテラルテンプレートマッチング処理は、更なる動き情報を送信することなく精緻化されたMVを取得するために、バイラテラルテンプレートと参照ピクチャ内の参照サンプル(ブロック)との間の歪みに基づく探索を実行するように、デコーダにおいて適用される。
【００８２】
図８に示されるように、カレントブロック(802)は、デコーダ側におけるDMVRモードに従って予測されてもよい。DMVRモードは、2つのステップでカレントブロック(802)を予測してもよい。ステップ1では、それぞれlist0の第1の初期(MV0)及びlist1の第2の初期(MV1)に従って、2つの予測(又は参照)ブロック(806)及び(808)の重み付けされた組み合わせ(すなわち、平均)として、バイラテラルテンプレート(804)が生成される。ステップ2では、バイラテラルテンプレートマッチング動作は、生成されたテンプレート(804)と参照ピクチャ内のサンプル領域(初期予測ブロックの周囲)内の参照ブロックとの間のコスト指標を計算する。例えば、第1の参照ピクチャのサンプル領域(810)及び第2の参照ピクチャのサンプル領域(812)が図８に含まれる。サンプル領域(810)内の参照ブロックは、list0に含まれてもよく、サンプル領域(812)内の参照ブロックは、list1に含まれてもよい。JEM(Joint  Exploration  Model)によれば、9個のMV候補がlist0及びlist1のそれぞれに含まれてもよい。list0及びlist1のそれぞれにおいて、9個のMV候補は、list0内の(MV0)のような元のMVと、水平方向若しくは垂直方向又は双方で元のMVに対してオフセットされた1つの輝度サンプルを有する8個の周囲のMVとを含む。list0又はlist1内の9個のMV候補のそれぞれは、それぞれの参照ブロックを示す。
【００８３】
ステップ2において、バイラテラルテンプレートマッチング動作は、生成されたバイラテラルテンプレート(804)とlist0及びlist1内の9個の参照ブロックのそれぞれとの間のコスト指標をそれぞれ計算する。例えば、バイラテラルテンプレートマッチング動作は、バイラテラルテンプレート(804)と、list0内の9個の参照ブロックとに基づいて、9個のコスト指標を取得してもよい。list0及びlist1のそれぞれにおいて、最小のテンプレートコストをもたらす参照ブロックが、更新された(精緻化された)参照ブロックとして決定され、更新された参照ブロックを示すMVは、精緻化された(最終)MVとみなされる。さらに、更新されたMVは、カレントブロック(802)を予測するために、初期MVに置き換わる。例えば、それぞれ、第1の精緻化された(最終)(MV0')はlist0内に生成され、第2の精緻化された(最終)(MV1')はlist1内に生成される。第1の精緻化された(MV0')は第1の精緻化された参照ブロックを示し、第2の精緻化された(MV1')は第2の精緻化された参照ブロックを示す。第1の精緻化された参照ブロック及び第2の精緻化された参照ブロックは、カレントブロック(802)を予測するための最終的な双方向予測結果を生成するために適用されてもよい。
【００８４】
いくつかの実施形態では、差分絶対値和(SAD)がコスト指標として使用される。他の実施形態では、コスト指標は、平均二乗誤差(MSE)指標、平均絶対差(MAD)指標、一致画素数(MPC)指標等を含んでもよい。
【００８５】
いくつかの実施形態では、DMVRモードは、更なるシンタックスエレメントを送信することなく過去の参照ピクチャからの1つのMVと将来の参照ピクチャからの他のMVとを用いた双方向予測のマージモードに適用されてもよい。
【００８６】
図９は、一実施形態による符号化ブロック(CU)の符号化及び復号順を示す概略図を示す。図９において、カレント符号化ブロックと、カレントブロックの直前に符号化された前のブロックとの間の空間的関係が例(901)及び(902)に示されている。復号順は、エンコーダとデコーダとの双方によって知られている。例(902)におけるカレントブロック(908)のようなカレントブロックを復号する場合、通常では、カレントブロックの空間的に隣接するもののMVは、カレントブロック(908)のMVを符号化するための予測子として使用される。例えば、例(902)において0、1、2の順に復号されたブロックからのMVは、例(902)においてカレントブロック(908)の予測子候補として使用されてもよい。例(901)及び(902)の双方において、前のブロック(例えば、例(901)におけるブロック(906)及び例(902)におけるブロック(910))は、カレントブロック(例えば、例(901)におけるブロック(904)及び例(902)におけるブロック(908))を予測するための候補MV予測子の候補リストに含まれてもよい。さらに、カレントブロックの位置が変化すると、前のブロックの位置も変化する。例えば、例(901)では、前のブロックとカレントブロックが対角方向に配置されており、例(902)では、前のブロックとカレントブロックが左右に配置されている。
【００８７】
図１０は、一実施形態によるDMVRモードに関連付するパイプラインステージを示す概略図を示す。DMVRモードは、以下の3つの処理を実行してもよい。(1)初期MV(MV_init)が解析され、初期MVによって識別される参照ブロックがカレントブロックについて事前に取り出される。(2)MV_initは、カレントブロックについてのバイラテラルテンプレートマッチング動作を通じて最終MV(MV_final)又は精緻化されたMVを決定するように精緻化される。(3)カレントブロックを復元するために、カレントブロックについてのMV_finalによって動き補償(MC,  motion  compensation)が実行される。第2の処理では、1つ以上の初期動きベクトルのそれぞれについて、最終MV又は精緻化されたMVが決定されてもよい。例えば、第1のピクチャ内の第1の参照ブロックを示す第1の動きベクトルと、第2のピクチャ内の第2の参照ブロックを示す第2の動きベクトルである。第3の処理では、動き補償は、1つ以上の最終動きベクトル又は精緻化された動きベクトルに基づいて実行されてもよい。
【００８８】
図１０に示されるように、符号化ユニット0(CU0)は、3つの時間段階において、例えば、T0からT2までの3つの処理によって処理される。ハードウェアパイプライン設計では、特定の期間内により多くのCUが処理できるように、各処理を異なる時間段階で連続的に動作させることが、より効率的である。しかし、CU0の最終MVが符号化ユニット1(CU1)の初期MVを生成するための予測子として使用される場合、初期MVを解析してCU1についての解析された初期MVによって識別される参照ブロックを事前に取り出す第1の処理は、第2の処理においてCU0のMV_finalが決定されるまで開始できない。したがって、CU1の第1の処理はT1において開始できない。同様に、符号化ユニット2(CU2)及び符号化ユニット3(CU3)は、例えば、CU1の最終MVがCU2の初期MVを生成するための予測子として使用され、CU2の最終MVがCU3の初期MVを生成するための予測子として使用される場合、それぞれT3及びT5において開始できない。上記のように、DMVRモードにおける後続の符号化ユニットに対して実行される処理は、復元された隣接ブロックへのアクセスを必要とする。これは、必要とされる隣接ブロックが復元される時間を許容するために、後続の符号化ユニットの処理の開始を遅らせる結果となる。
【００８９】
図１１では、改良DMVRモードが一実施形態に従って提供される。改良DMVRモードにおいて、カレントブロックの直前に符号化された前の復号ブロック(CU_prev)が、候補リストを構築する処理の間に、カレントブロックの候補MV予測子の候補リストに含まれる場合(例えば、図８に関して上記において説明した)、CU_prevの最終MV又は精緻化されたMV(すなわち、MV_final又は精緻化後のMV)ではなくMV_init(すなわち、精緻化前のMV)が候補として適用される。したがって、カレントブロック(CU_cur)のMV解析処理及び/又はCU_curの参照サンプルの事前取り出しは、CU_prevのMV精緻化が終了するのを待つ必要はない。図１１に示されるように、カレントブロックはCU1でもよく、前に符号化されたブロックはCU0でもよい。改良DMVRモードにおいて、候補リストを構築する処理の間にCU0がCU1の候補MV予測子の候補リストに含まれる場合、CU0のMV_finalではなくMV_initが、カレントブロックCU1のMV_initを決定するための候補として適用できる。同様に、改良DMVRモードにおいて、候補リストを構築する処理の間にCU1がCU2のMV予測子の候補リストに含まれる場合、CU1のMV_finalではなくMV_initが、カレントブロックCU2のMV_initを決定するための候補として適用できる。上記のように、第2の処理では、1つ以上の初期動きベクトルのそれぞれについて、最終MV又は精緻化されたMVが決定されてもよい。例えば、第1のピクチャ内の参照ブロックを示す第1の動きベクトルと、第2のピクチャ内の参照ブロックを示す第2の動きベクトルである。第3の処理では、動き補償は、1つ以上の最終動きベクトル又は精緻化された動きベクトルに基づいて実行されてもよい。
【００９０】
図１２は、一実施形態による改良DMVRモードに関連する更に効率的なパイプラインを示す概略図を示す。図１２に示されるように、T0において、CU0のMV_initが決定される。T1において、CU0のMV_initは、CU0がCU1の予測子の候補リストにある場合、CU1のMV_initを決定するために更に適用されてもよい。さらに、CU0のMV_initはT1においてDMVRモードによって精緻化される。T2において、CU0のMV_finalに基づく動き補償がCU0を復元するために適用されてもよい。一方、CU1のMV_initは、T2においてDMVRモードによって精緻化される。図１２に示されるように、CU2、CU3等にも、同様の処理のタイミングが適用されてもよい。改良DMVRモードの導入により、効率的なパイプラインが得られることができ、パイプライン遅延が防止又は低減できる。
【００９１】
いくつかの実施形態では、改良DMVRモードのメモリバンド幅要件を通常のインターモードと同じに維持するために、例えば、図１に示されるように、MV精緻化処理及び最終動き補償補間処理において使用される補間フィルタは、以下の条件(1)が満たされるように、特別な数のタップで設計されてもよい。
【００９２】
2×SR+Tap_MC-DMVR/2+Tap_SR/2==Tap_MC      (1)
ここで、SRはMV精緻化処理における探索範囲(画素単位)であり、Tap_MC-DMVR及びTap_SRは、それぞれ改良DMVRモードのMV精緻化処理及び改良DMVRモードの最終動き補償補間処理の間に適用される補間フィルタのフィルタ長(すなわち、フィルタタップ数)である。Tap_MCは、図１に示される通常のインターモードについての動き補償補間において使用される補間フィルタのフィルタ長を表す。
【００９３】
いくつかの実施形態では、探索範囲SRは2でもよい。Tap_SRは2〜8の範囲にあってもよい。さらに、Tap_MCは8であり、Tap_MC-DMVRは上記の条件(1)によって定義される変数である。
【００９４】
開示の改良DMVRモードにおいて、DMVRモードによるメモリアクセスを低減するために、異なるタップの補間フィルタが、精緻化処理の間の垂直及び水平補間に適用されてもよい。一実施形態では、垂直補間のためのタップ数(すなわち、垂直フィルタ長)は、水平補間のためのタップ数(すなわち、水平フィルタ長)よりも小さい(短い)。例えば、垂直補間は6タップのフィルタを使用してもよく、水平補間は8タップのフィルタを使用してもよい。他の実施形態では、垂直フィルタは非対称でもよい。例えば、補間対象の位置の上のタップ数はMでもよく、補間対象の位置の下のタップ数はNでもよく、MはNよりも小さくてもよい。MとNとの和は、水平補間フィルタにおいて使用されるタップ数と同じでもよく或いは異なってもよい。
【００９５】
開示の改良DMVRモードにおいて、DMVRモードによるメモリアクセスを低減するために、適応的な探索範囲が改良DMVRモードにおけるMV精緻化の間に適用されてもよい。一実施形態では、探索範囲は、カレントブロックのブロックサイズに基づいて決定されてもよい。カレントブロックのブロックサイズが閾値よりも小さい場合、第1の探索範囲が使用される。カレントブロックのブロックサイズが閾値以上である場合、第2の探索範囲が使用される。探索範囲の閾値及び値は、SPS、PPS又はスライスヘッダのようなビットストリームで事前に定義されてもよく或いは伝達されてもよい。一例では、ブロックサイズの閾値は64画素として定義されてもよい。したがって、閾値未満では、1画素の探索範囲が使用される。そうでない場合、2画素の探索範囲が使用される。他の例では、1つよりも多い閾値及び2つよりも多い探索範囲が適用されてもよい。
【００９６】
他の実施形態では、探索範囲は矩形でもよく、探索矩形の幅及び高さは、カレントブロックの幅及び高さに依存する。一例では、探索矩形の幅及び高さは、カレントブロックの幅及び高さに比例する。例えば、カレントブロックが16の幅と8の高さを有する場合、探索範囲は、画素に関して1の幅と1/2の高さを有する。同様に、32×64のブロックサイズは、2に等しい幅及び4に等しい高さを有する探索範囲に対応してもよい。
【００９７】
他の例では、カレントブロックの幅が所定の閾値又は伝達された閾値よりも大きい(或いは小さい)場合、探索矩形の幅は第1の値に等しい。そうでない場合、探索矩形の幅は第2の値に等しい。例えば、カレントブロックが8の閾値よりも小さい幅を有する場合、探索範囲は0の第1の値に等しい幅を有する。そうでない場合、探索範囲は2の第2の値に等しい幅を有する。カレントブロックが64の閾値よりも大きい幅を有する場合、探索範囲は0の第1の値に等しい幅を有してもよい。そうでない場合、探索範囲は2の第2の値に等しい幅を有する。
【００９８】
更に他の例では、カレントブロックの高さが所定の閾値又は伝達された閾値よりも大きい(或いは小さい)場合、探索矩形の高さは第1の値に等しい。そうでない場合、探索矩形の高さは第2の値に等しい。例えば、カレントブロックが8の閾値よりも小さい高さを有する場合、探索範囲は0の第1の値に等しい高さを有する。そうでない場合、探索範囲は2の第2の値に等しい高さを有する。カレントブロックが64の閾値よりも大きい高さを有する場合、探索範囲は0の第1の値に等しい高さを有してもよい。そうでない場合、探索範囲は2の第2の値に等しい高さを有する。
【００９９】
更に他の例では、探索範囲のサイズ(面積)は、カレントブロックの面積(すなわち、カレントブロック内の画素の総数)に基づいて決定される。一例では、カレントブロックの面積が所定の閾値又は伝達された閾値よりも大きい(或いは小さい)場合、探索矩形の面積は第1の値に等しい。そうでない場合、探索矩形の面積は第2の値に等しい。例えば、カレントブロックが64の閾値よりも小さい面積を有する場合、探索範囲は0の第1の値に等しい面積を有する。そうでない場合、探索範囲は4の第2の値に等しい面積を有してもよい。カレントブロックの面積が4096の閾値よりも大きい場合、探索矩形は0の第1の値に等しい面積を有してもよい。そうでない場合、探索矩形は4の第2の値に等しい面積を有する。
【０１００】
他の例では、探索範囲は、各辺の長さ(各辺に沿った画素数)が、最も近い整数に丸められる面積の平方根である正方形を有する。例えば、探索範囲の面積(画素に関する)は、4、16等でもよい。
【０１０１】
更に他の例では、探索範囲の幅対高さの比は、カレントブロックの幅対高さの比と同じである。探索範囲の幅及び高さは、探索範囲の面積から計算され、最も近い整数値に丸められる。例えば、幅対高さの比は、1/32、1/16、1/8、1/4、1/2、1、2、4、8、16又は32でもよい。
【０１０２】
図１３は、本開示の一実施形態による処理(1300)の概略を示すフローチャートを示す。処理(1300)は、復元中のブロックについての予測ブロックを生成するための、イントラモードで符号化されたブロックの復元に使用されてもよい。様々な実施形態では、処理(1300)は、端末デバイス(210)、(220)、(230)及び(240)内の処理回路、ビデオエンコーダ(303)の機能を実行する処理回路、ビデオデコーダ(310)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、イントラ予測モジュール(452)の機能を実行する処理回路、ビデオエンコーダ(503)の機能を実行する処理回路、予測器(535)の機能を実行する処理回路、イントラエンコーダ(622)の機能を実行する処理回路、イントラデコーダ(772)の機能を実行する処理回路等のような処理回路によって実行される。いくつかの実施形態では、処理(1300)は、ソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路は、処理(1300)を実行する。処理は(S1301)から始まり、(S1310)に進む。
【０１０３】
ステップ(S1310)において、ビデオのカレントピクチャ内の第1のブロックについて、第1の動きベクトル及び第2の動きベクトルが受信又は決定される。第1の動きベクトルは、第1のピクチャ内の第1の参照ブロックを示し、第2の動きベクトルは、第2のピクチャ内の第2の参照ブロックを示す。カレントピクチャは、ビデオにおける第1のピクチャと第2のピクチャとの間にある。いくつかの実施形態では、第1の動きベクトルは、図８を参照して示されるMV0でもよく、第2の動きベクトルは、図８を参照して示されるMV1でもよい。
【０１０４】
ステップ(S1320)において、第1の参照ブロック及び第2の参照ブロックに基づいて、バイラテラルテンプレートが生成されてもよい。例えば、第1の参照ブロックと第2の参照ブロックとの重み付けされた組み合わせに基づいて、バイラテラルテンプレートが生成されてもよい。例えば、第1の参照ブロック(806)、第2の参照ブロック(808)及びバイラテラルテンプレート(804)は図８に示されている。
【０１０５】
ステップ(S1330)において、精緻化された第1の動きベクトルが決定される。精緻化された第1の動きベクトルは、バイラテラルテンプレートと、第1のピクチャ内の第1の参照ブロックのセットとに基づいて決定されてもよい。精緻化された第1の動きベクトルは、第1のピクチャ内の第1の精緻化された参照ブロックを示す。また、精緻化された第2の動きベクトルも決定される。精緻化された第2の動きベクトルは、バイラテラルテンプレートと、第2のピクチャ内の第2の参照ブロックのセットとに基づいて決定されてもよい。精緻化された第2の動きベクトルは、第2のピクチャ内の第2の精緻化された参照ブロックを示す。例えば、第1の精緻化された動きベクトル(MV0')、第2の精緻化された動きベクトル(MV1')、第1の精緻化された参照ブロック(814)、及び第2の精緻化された参照ブロック(816)は図８に示されている。
【０１０６】
処理1300のステップ(S1340)において、第2のブロックの初期動きベクトルが決定される。第2のブロックの初期動きベクトルは、第1のブロックについての第1の動きベクトル及び第2の動きベクトルのうち少なくとも1つに従って決定されてもよい。第2のブロックは、第1のブロックの後に符号化される。したがって、第2のブロックの初期動きベクトルは、第1のブロックの精緻化された第1の動きベクトル及び/又は第2の動きベクトルが決定されるのを待たずに決定されてもよい。例えば、第2のブロック(CU1)及び第1のブロック(CU0)は図１２に示されている。
【０１０７】
上記の技術は、コンピュータ読み取り可能命令を使用してコンピュータソフトウェアとして実装され、1つ以上のコンピュータ読み取り可能媒体に物理的に記憶されてもよい。例えば、図１４は、開示の対象物の特定の実施形態を実装するのに適したコンピュータシステム(1400)を示す。
【０１０８】
コンピュータソフトウェアは、いずれかの適切な機械コード又はコンピュータ言語を使用して符号化されてもよく、当該機械コード又はコンピュータ言語は、命令を含むコードを生成するために、アセンブリ、コンパイル、リンク又は類似のメカニズムを受けてもよく、当該命令は、1つ以上のコンピュータ中央処理装置(CPU,  central  processing  unit)、グラフィックス処理ユニット(GPU,  Graphics  Processing  Unit)等によって、直接的に或いはインタープリタ、マイクロコード実行等を通じて実行されてもよい。
【０１０９】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットのデバイス等を含む様々なタイプのコンピュータ又はその構成要素上で実行されてもよい。
【０１１０】
コンピュータシステム(1400)について図１４に示される構成要素は、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用範囲又は機能に関する如何なる限定も示唆することを意図するものではない。また、構成要素の構成も、コンピュータシステム(1400)の例示的な実施形態に示される構成要素のいずれか1つ又は組み合わせに関する如何なる依存性又は要件も有するものとして解釈されるべきではない。
【０１１１】
コンピュータシステム(1400)は、特定のヒューマンインタフェース入力デバイスを含んでもよい。このようなヒューマンインタフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動き等)、オーディオ入力(音声、拍手等)、視覚入力(ジェスチャ等)、嗅覚入力(図示せず)を通じて、1人以上の人間のユーザによる入力に応答してもよい。また、ヒューマンインタフェースデバイスは、オーディオ(例えば、会話、音楽、周辺音)、画像(スキャンされた画像、静止画カメラから取得された写真画像等)、ビデオ(2次元ビデオ、立体ピクチャを含む3次元ビデオ等)のような、人間による意識的入力に必ずしも直接関連しない特定のメディアをキャプチャするために使用されてもよい。
【０１１２】
入力ヒューマンインタフェースデバイスは、キーボード(1401)、マウス(1402)、トラックパッド(1403)、タッチ画面(1410)、データグローブ(図示せず)、ジョイスティック(1405)、マイクロフォン(1406)、スキャナ(1407)、カメラ(1408)のうち1つ以上を含んでもよい。
【０１１３】
また、コンピュータシステム(1400)は、特定のヒューマンインタフェース出力デバイスを含んでもよい。このようなヒューマンインタフェース出力デバイスは、例えば、触覚出力、音、光及び嗅覚/味覚を通じて、1人以上の人間のユーザの感覚を刺激してもよい。このようなヒューマンインタフェース出力デバイスは、触覚出力デバイス(例えば、タッチ画面(1410)、データグローブ(図示せず)又はジョイスティック(1405)による触覚フィードバック、ただし、入力デバイスとして機能しない触覚フィードバックデバイスが存在してもよい)と、オーディオ出力デバイス(スピーカ(1409)、ヘッドフォン(図示せず)等)と、視覚出力デバイス(それぞれがタッチ画面入力機能を有しても有さなくてもよく、それぞれが触覚フィードバック機能を有しても有さなくてもよく、いくつかが2次元視覚出力又は立体出力のような手段を通じた3次元以上の出力を出力可能でもよいCRT画面、LCD画面、プラズマ画面、OLED画面を含む画面(1410)、仮想現実メガネ(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず))と、プリンタ(図示せず)とを含んでもよい。
【０１１４】
また、コンピュータシステム(1400)は、CD/DVD又は同様の媒体(1421)を有するCD/DVD  ROM/RW(1420)を含む光媒体のような人間がアクセス可能な記憶デバイス及び関連する媒体、サムドライブ(1422)、取り外し可能ハードドライブ又はソリッドステートドライブ(1423)、テープ及びフロッピーディスク(図示せず)のようなレガシー磁気媒体、セキュリティドングル(図示せず)のような特殊なROM/ASIC/PLDに基づくデバイス等を含んでもよい。
【０１１５】
また、当業者は、ここに開示の対象物に関連して使用される用語「コンピュータ読み取り可能媒体」が伝送媒体、搬送波又は他の非一時的な信号を含まないことを理解すべきである。
【０１１６】
また、コンピュータシステム(1400)は、1つ以上の通信ネットワークへのインタフェースを含んでもよい。ネットワークは、例えば、無線、有線、光でもよい。ネットワークは、ローカル、広域、メトロポリタン、車両及び産業、リアルタイム、遅延耐性等でもよい。ネットワークの例は、イーサネット、無線LAN、セルラネットワーク(GSM、3G、4G、5G、LTE等を含む)、TV有線又は無線広域デジタルネットワーク(ケーブルTV、衛星TV、及び地上放送TVを含む)、車両及び産業(CANBusを含む)等を含む。特定のネットワークは、一般的に、特定の汎用データポート又は周辺バス(1449)に取り付けられる外部ネットワークインタフェースアダプタ(例えば、コンピュータシステム(1400)のUSBポート等)を必要とし、他のネットワークインタフェースアダプタは、一般的に、以下に説明するシステムバス(例えば、PCコンピュータシステムへのイーサネットインタフェース又はスマートフォンコンピュータシステムへのセルラネットワーク)に取り付けられることによって、コンピュータシステム(1400)のコアに統合される。これらのネットワークのいずれかを使用して、コンピュータシステム(1400)は、他のエンティティと通信することができる。このような通信は、一方向の受信のみ(例えば、放送TV)、一方向の送信のみ(例えば、特定のCANbusデバイスへのCANbus)でもよく、或いは、例えば、ローカル又は広域デジタルネットワークを使用する他のコンピュータシステムへの双方向でもよい。特定のプロトコル及びプロトコルスタックは、上記のようなネットワーク及びネットワークインタフェースのそれぞれにおいて使用されてもよい。
【０１１７】
上記のヒューマンインタフェースデバイス、人間がアクセス可能な記憶デバイス及びネットワークインタフェースは、コンピュータシステム(1400)のコア(1440)に取り付けられてもよい。
【０１１８】
コア(1440)は、1つ以上の中央処理装置(CPU)(1441)、グラフィックス処理ユニット(GPU)(1442)、フィールドプログラマブルゲートアレイ(FPGA,  Field  Programmable  Gate  Area)(1443)の形式の特殊なプログラム可能処理ユニット、特定のタスク用のハードウェアアクセラレータ(1444)等を含んでもよい。これらのデバイスは、読み取り専用メモリ(ROM)(1445)、ランダムアクセスメモリ(1446)、内部大容量記憶装置(内部のユーザアクセス不可能なハードドライブ、SSD等)(1447)と共に、システムバス(1448)を通じて接続されてもよい。いくつかのコンピュータシステムでは、システムバス(1448)は、更なるCPU、GPU等による拡張を可能にするために、1つ以上の物理プラグの形式でアクセス可能でもよい。周辺デバイスは、コアのシステムバス(1448)に直接取り付けられてもよく、或いは、周辺バス(1449)を通じて取り付けられてもよい。周辺バスのアーキテクチャは、PCI、USB等を含む。
【０１１９】
CPU(1441)、GPU(1442)、FPGA(1443)及びアクセラレータ(1444)は特定の命令を実行してもよく、当該特定の命令は、組み合わせによって上記のコンピュータコードを構成してもよい。当該コンピュータコードは、ROM(1445)又はRAM(1446)に記憶されてもよい。また、一時的なデータは、RAM(1446)に記憶されてもよいが、永続的なデータは、例えば、内部大容量記憶装置(1447)に記憶されてもよい。1つ以上のCPU(1441)、GPU(1442)、大容量記憶装置(1447)、ROM(1445)、RAM(1446)等と密接に関連してもよいキャッシュメモリを使用することによって、メモリデバイスのいずれかへの高速記憶及び検索が可能になってもよい。
【０１２０】
コンピュータ読み取り可能媒体は、様々なコンピュータに実装された動作を実行するためのコンピュータコードを有してもよい。媒体及びコンピュータコードは、本開示の目的のために特に設計及び構築されたものでよく、或いは、コンピュータソフトウェア分野における当業者に周知で入手可能なようなものでもよい。
【０１２１】
限定ではなく一例として、アーキテクチャ(1400)、具体的には、コア(1440)を有するコンピュータシステムは、1つ以上の有形のコンピュータ読み取り可能媒体に具現されたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータ等を含む)の結果として機能を提供できる。このようなコンピュータ読み取り可能媒体は、コア内部の大容量記憶装置(1447)又はROM(1445)のような非一時的な性質のコア(1440)の特定の記憶装置と同様に、上記のようなユーザがアクセス可能な大容量記憶装置に関連する媒体でもよい。本開示の様々な実施形態を実装するソフトウェアは、このようなデバイスに記憶されてコア(1440)によって実行されてもよい。コンピュータ読み取り可能媒体は、特定のニーズに従って、1つ以上のメモリデバイス又はチップを含んでもよい。ソフトウェアは、コア(1440)、具体的には、その中のプロセッサ(CPU、GPU、FPGA等を含む)に、RAM(1446)に記憶されたデータ構造を定義し、ソフトウェアによって定義された処理に従ってこのようなデータ構造を修正することを含む、本明細書に記載の特定の処理又は特定の処理の特定の部分を実行させてもよい。さらに或いは代替として、コンピュータシステムは、回路(例えば、アクセラレータ(1444))内に配線されたロジック又は他の方法で具現されたロジックの結果として、機能を提供してもよく、当該回路は、本明細書に記載の特定の処理又は特定の処理の特定の部分を実行するために、ソフトウェアの代わりに或いはソフトウェアと共に動作してもよい。ソフトウェアへの言及は、ロジックを含み、必要に応じて、その逆も可能である。コンピュータ読み取り可能媒体への言及は、必要に応じて、実行するためのソフトウェアを記憶する回路(集積回路(IC)等)、実行するためのロジックを具現する回路又はこれらの双方を含んでもよい。本開示は、ハードウェア及びソフトウェアのいずれかの適切な組み合わせを含む。
【０１２２】
付録A:略語
JEM:  joint  exploration  model
VVC:  versatile  video  coding
BMS:  benchmark  set
MV:  Motion  Vector
HEVC:  High  Efficiency  Video  Coding
SEI:  Supplementary  Enhancement  Information
VUI:  Video  Usability  Information
GOP:  Group  of  Picture
TU:  Transform  Unit
PU:  Prediction  Unit
CTU:  Coding  Tree  Unit
CTB:  Coding  Tree  Block
PB:  Prediction  Block
HRD:  Hypothetical  Reference  Decoder
SNR:  Signal  Noise  Ratio
CPU:  Central  Processing  Unit
GPU:  Graphics  Processing  Unit
CRT:  Cathode  Ray  Tube
LCD:  Liquid-Crystal  Display
OLED:  Organic  Light-Emitting  Diode
CD:  Compact  Disc
DVD:  Digital  Video  Disc
ROM:  Read-Only  Memory
RAM:  Random  Access  Memory
ASIC:  Application-Specific  Integrated  Circuit
PLD:  Programmable  Logic  Device
LAN:  Local  Area  Network
GSM:  Global  System  for  Mobile  communications
LTE:  Long-Term  Evolution
CANBus:  Controller  Area  Network  Bus
USB:  Universal  Serial  Bus
PCI:  Peripheral  Component  Interconnect
FPGA:  Field  Programmable  Gate  Area
SSD:  solid-state  drive
IC:  Integrated  Circuit
CU:  Coding  Unit
本開示は、いくつかの例示的な実施形態を記載しているが、本開示の範囲内に入る変更、置換及び様々な代替の等価物が存在する。したがって、当業者は、本明細書に明示的に図示又は記載されていないが、本開示の原理を具現し、したがって、本開示の真意及び範囲内にある多数のシステム及び方法を考案することができることが認識される。
【図１】
2021513817.tif 000003
【図２】
2021513817.tif 000004
【図３】
2021513817.tif 000005
【図４】
2021513817.tif 000006
【図５】
2021513817.tif 000007
【図６】
2021513817.tif 000008
【図７】
2021513817.tif 000009
【図８】
2021513817.tif 000010
【図９】
2021513817.tif 000011
【図１０】
2021513817.tif 000012
【図１１】
2021513817.tif 000013
【図１２】
2021513817.tif 000014
【図１３】
2021513817.tif 000015
【図１４】
2021513817.tif 000016
【国際調査報告】
2021513817.tif 000017