(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-06
(54)【発明の名称】マージ候補のグループ化ベースの適応的な再順序付けのための方法、装置およびプログラム
(51)【国際特許分類】
H04N 19/52 20140101AFI20240228BHJP
【FI】
H04N19/52
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023555128
(86)(22)【出願日】2022-09-16
(85)【翻訳文提出日】2023-09-08
(86)【国際出願番号】 US2022076585
(87)【国際公開番号】W WO2023059979
(87)【国際公開日】2023-04-13
(32)【優先日】2021-10-05
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-09-14
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】チェン,リン-フェイ
(72)【発明者】
【氏名】リー,シャン
(72)【発明者】
【氏名】リー,リン
(72)【発明者】
【氏名】リウ,シャン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159NN11
5C159RC12
5C159RC16
5C159RC38
(57)【要約】
ある方法では、現在ピクチャーにおける現在ブロックおよび現在ブロックの近傍ブロックの符号化された情報が、符号化ビデオ・ビットストリームから受領される。現在ブロックのマージ候補のリストは、現在ブロックの近傍ブロックに基づいて生成される。現在ブロックのマージ候補のリストは、複数のサブグループに分割される。前記複数のサブグループのそれぞれは、一つまたは複数のマージ候補を含む。前記一つまたは複数のマージ候補は、前記一つまたは複数のマージ候補のそれぞれに関連するそれぞれのテンプレート・マッチング(TM)コストによって、各サブグループ内で順序付けられる。現在ブロックは、現在ブロックのマージ候補のリストから選択されたマージ候補に基づいて再構成される。
【特許請求の範囲】
【請求項1】
ビデオ・デコーダによって実行されるビデオ・デコードの方法であって:
現在ピクチャーにおける現在ブロックおよび現在ブロックの近傍ブロックの符号化された情報を、符号化ビデオ・ビットストリームから受領する段階と;
現在ブロックのマージ候補のリストを、現在ブロックの前記近傍ブロックに基づいて生成する段階と;
現在ブロックのマージ候補の前記リストを、複数のサブグループに分割する段階であって、前記複数のサブグループのそれぞれは、一つまたは複数のマージ候補を含み、前記一つまたは複数のマージ候補は、前記一つまたは複数のマージ候補のそれぞれに関連するそれぞれのテンプレート・マッチング(TM)コストによって、各サブグループ内で順序付けられる、段階と;
現在ブロックを、現在ブロックのマージ候補の前記リストから選択されたマージ候補に基づいて再構成する段階とを含む、
方法。
【請求項2】
マージ候補の前記リストにおける前記複数のサブグループを、前記複数のサブグループのそれぞれに関連するそれぞれのTMコスト値に基づいて再順序付けする段階をさらに含む、請求項1に記載の方法。
【請求項3】
前記再順序付けすることがさらに:
前記複数のサブグループのそれぞれに関連する前記それぞれのTMコスト値を決定する段階と;
マージ候補の前記リストにおける前記複数のサブグループを、前記複数のサブグループに関連する前記TMコスト値の昇順に基づいて再順序付けし、それによりマージ候補の再順序付けされたリストにおける前記複数のサブグループのうちの最初のサブグループが、前記TMコスト値のうちの最小のTMコスト値と関連付けられるようにする段階とを含む、
請求項2に記載の方法。
【請求項4】
前記それぞれのTMコスト値を決定することがさらに:
前記複数のサブグループのうちの第1のサブグループにおける前記一つまたは複数のマージ候補の複数のテンプレート・マッチング(TM)コスト値を決定する段階であって、前記TMコスト値のそれぞれは、現在ブロックの隣接する近傍サンプルと、前記第1のサブグループにおけるそれぞれのマージ候補の隣接する近傍サンプルとの間の差に関連する、段階と;
前記複数のサブグループのうちの前記第1のサブグループにおける前記一つまたは複数のマージ候補を、前記第1のサブグループにおける前記一つまたは複数のマージ候補のうちの前記複数のTMコスト値の昇順に基づいて、再順序付けし、再順序付けされた第1のサブグループにおける最初のマージ候補が最小のTMコスト値を有するようにする段階とを含む、
請求項3に記載の方法。
【請求項5】
前記それぞれのTMコスト値を決定することがさらに:
前記複数のサブグループのうちの前記第1のサブグループに関連する前記TMコスト値を、前記第1のサブグループにおける前記一つまたは複数のマージ候補の前記複数のTMコスト値のうちの最小のTMコスト値として決定することを含む、
請求項4に記載の方法。
【請求項6】
前記それぞれのTMコスト値を決定することがさらに:
前記複数のサブグループのうちの前記第1のサブグループに関連する前記TMコスト値を、前記第1のサブグループにおける前記一つまたは複数のマージ候補の前記複数のTMコスト値のメジアンTMコスト値として決定することを含む、
請求項4に記載の方法。
【請求項7】
前記それぞれのTMコスト値を決定することがさらに:
前記複数のサブグループのうちの前記第1のサブグループに関連する前記TMコスト値を、前記第1のサブグループにおける前記一つまたは複数のマージ候補の前記複数のTMコスト値のうちの複数の最小のTMコスト値のメジアンTMコスト値として決定することを含む、
請求項4に記載の方法。
【請求項8】
前記それぞれのTMコスト値を決定することがさらに:
前記複数のサブグループのうちの前記第1のサブグループに関連する前記TMコスト値を、前記第1のサブグループにおける前記一つまたは複数のマージ候補の前記複数のTMコスト値のうち、最初の2つの最小のTMコスト値の平均値として決定することを含む、
請求項4に記載の方法。
【請求項9】
マージ候補の前記リストを生成することは:
現在ブロックの前記近傍ブロックのうち空間的近傍ブロックからの空間的動きベクトル(MV)予測子;
現在ブロックの共位置のブロックからの時間的MV予測子;
先入れ先出し(FIFO)テーブルからの履歴ベースのMV予測子;
対ごとの平均MV予測子;
ゼロMV;
現在ブロックの前記近傍ブロックのうち隣接しない空間的近傍ブロックからの非隣接MV予測子;または
現在ブロックの非隣接時間的MV予測子
のうちの少なくとも1つに基づいて現在ブロックのマージ候補の前記リストを生成することを含む、
請求項1に記載の方法。
【請求項10】
前記分割することがさらに:
マージ候補の前記リストが前記非隣接MV予測子および前記非隣接時間的MV予測子を含むことに基づいて、マージ候補の前記リストを、水平軸に関してπ/4の角度、π/2の角度、3π/4の角度、πの角度、および5π/4の角度に沿って位置される前記非隣接MV予測子の第1のグループを含む第1のサブグループに分割し;
マージ候補の前記リストを、水平軸に関してπ/4の角度、3π/8の角度、π/2の角度、5π/8の角度、3π/4の角度、7π/8の角度、πの角度、9π/8の角度、および5π/4の角度に沿って位置される前記非隣接MV予測子の第2のグループを含む第2のサブグループに分割することを含む、
請求項9に記載の方法。
【請求項11】
前記分割することがさらに:
マージ候補の前記リストを、前記非隣接時間的MV予測子を含む第3のサブグループに分割することを含む、
請求項10に記載の方法。
【請求項12】
前記分割することがさらに:
マージ候補の前記リストを、前記複数のサブグループのそれぞれが、同じ数のマージ候補、事前定義された数のマージ候補、または同じタイプのマージ候補のうちの1つを含むように、前記複数のサブグループに分割することを含む、
請求項1に記載の方法。
【請求項13】
処理回路を有する装置であって、前記処理回路は請求項1ないし12のうちいずれか一項に記載の方法を実行するように構成されている、装置。
【請求項14】
プロセッサに請求項1ないし12のうちいずれか一項に記載の方法を実行させるためのコンピュータ・プログラム。
【請求項15】
ビデオ・エンコーダにおいて実行されるビデオ・エンコードの方法であって、当該方法は:
参照データを利用して入力データを予測的に符号化したものを含む符号化された情報を生成する段階を含み、
前記参照データは、前記入力データより以前のブロックを現在ブロックとするローカル・デコーダ動作によって生成され、前記ローカル・デコーダ動作は:
現在ピクチャーにおける現在ブロックおよび現在ブロックの近傍ブロックの符号化された情報を受領する段階と;
現在ブロックのマージ候補のリストを、現在ブロックの前記近傍ブロックに基づいて生成する段階と;
現在ブロックのマージ候補の前記リストを、複数のサブグループに分割する段階であって、前記複数のサブグループのそれぞれは、一つまたは複数のマージ候補を含み、前記一つまたは複数のマージ候補は、前記一つまたは複数のマージ候補のそれぞれに関連するそれぞれのテンプレート・マッチング(TM)コストによって、各サブグループ内で順序付けられる、段階と;
現在ブロックを、現在ブロックのマージ候補の前記リストから選択されたマージ候補に基づいて再構成する段階とを含む、
方法。
【請求項16】
処理回路を有する装置であって、前記処理回路は請求項15に記載の方法を実行するように構成されている、装置。
【請求項17】
プロセッサに請求項15に記載の方法を実行させるためのコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
参照による組み込み
本願は、2022年9月14日に出願された米国特許出願第17/945,006号「マージ候補のグループ化ベースの適応的並べ替え」への優先権の利益を主張し、同出願は2021年10月5日に出願された米国仮出願第63/252,602号「マージ候補のグループ化ベースの適応的並べ替え」に対する優先権の利益を主張する。先の出願の開示は、ここに参照によりその全体において本明細書に組み込まれる。
【0002】
技術分野
本開示は、ビデオ符号化〔コーディング〕に一般に関連する実施形態を記載する。
【背景技術】
【0003】
本明細書で提供される背景説明は、本開示の文脈を概括的に提示するためのものである。本願で名前が挙がっている発明者の仕事であってその仕事がこの背景セクションに記載されている範囲におけるもの、また、他の意味で出願時に先行技術として適格でないことがありうる本記述の諸側面は、明示的にも暗黙的にも本開示に対する先行技術として認められない。
【0004】
非圧縮デジタル画像および/またはビデオは、一連のピクチャーを含むことができ、各ピクチャーは、たとえば1920×1080のルミナンス・サンプルおよび関連するクロミナンス・サンプルの空間的寸法を有する。一連のピクチャーは、固定または可変のピクチャー・レート(非公式にはフレーム・レートとしても知られる)、たとえば、60ピクチャー毎秒または60Hzを有することができる。非圧縮の画像および/またはビデオは、特定のビットレート要件を有する。たとえば、サンプル当たり8ビットの1080p60 4:2:0ビデオ(60Hzのフレーム・レートでの1920×1080のルミナンス・サンプル解像度)は、1.5Gbit/sに近い帯域幅を必要とする。そのようなビデオの1時間は、600Gバイトを超える記憶スペースを必要とする。
【0005】
画像および/またはビデオの符号化および復号の1つの目的は、圧縮による入力画像および/またはビデオ信号の冗長性の低減でありうる。圧縮は、前述の帯域幅および/または記憶スペースの要求を、場合によっては2桁以上も低減するのに役立つことがある。本稿の記述はビデオのエンコード/デコードを例解用の例として使用するが、同じ技法は、本開示の精神から逸脱することなく、同様の仕方で画像のエンコード/デコードに適用できる。可逆圧縮および不可逆圧縮の両方、ならびにそれらの組み合わせを用いることができる。可逆圧縮とは、圧縮されたもとの信号から、もとの信号の正確なコピーが再構成できる技術をいう。不可逆圧縮を使用する場合、再構成された信号は、もとの信号と同一ではないことがありうるが、もとの信号と再構成された信号との間の歪みは、再構成された信号を意図された用途のために有用にするのに十分小さい。ビデオの場合、不可逆圧縮が広く用いられている。許容される歪みの量はアプリケーションに依存し、たとえば、ある種の消費者ストリーミングアプリケーションのユーザーは、テレビ配信アプリケーションのユーザーよりも高い歪みを許容することがある。達成可能な圧縮比は、より高い許容可能/認容可能な歪みはより高い圧縮比をもたらすことができる、ということを反映できる。
【0006】
ビデオ・エンコーダおよびデコーダは、たとえば動き補償、変換処理、量子化、およびエントロピー符号化を含むいくつかの広範なカテゴリーからの技術を利用することができる。
【0007】
ビデオ・コーデック技術は、イントラ符号化として知られる技術を含むことができる。イントラ符号化では、サンプル値は、以前に再構成された参照ピクチャーからのサンプルまたは他のデータを参照することなく表現される。いくつかのビデオ・コーデックでは、ピクチャーは空間的にサンプルのブロックに分割される。サンプルのすべてのブロックがイントラ・モードで符号化される場合、そのピクチャーはイントラ・ピクチャーでありうる。イントラ・ピクチャーと、独立デコーダ・リフレッシュ・ピクチャーのようなその派生物は、デコーダ状態をリセットするために使用でき、よって、符号化ビデオ・ビットストリームおよびビデオセッションにおける最初のピクチャーとして、または静止画像として使用できる。イントラ・ブロックのサンプルを変換にかけることができ、変換係数は、エントロピー符号化の前に量子化されることができる。イントラ予測は、変換前領域におけるサンプル値を最小化する技術でありうる。場合によっては、変換後のDC値が小さく、AC係数が小さいほど、エントロピー符号化後のブロックを表わすために所与の量子化ステップ・サイズで必要とされるビット数が少なくなる。
【0008】
たとえばMPEG-2世代の符号化技術において使用される伝統的なイントラ符号化は、イントラ予測を使用しない。しかしながら、いくつかのより新しいビデオ圧縮技術は、たとえば、データのブロックのエンコードおよび/またはデコード中に得られた周囲のサンプル・データおよび/またはメタデータに基づく予測を実行しようとする技術を含む。そのような技法は、以下では「イントラ予測」技法と呼ばれる。少なくともいくつかの場合には、イントラ予測は再構成中の現在ピクチャーからの参照データのみを使用し、参照ピクチャーからの参照データは使用しないことに注意されたい。
【0009】
さまざまな形のイントラ予測がありうる。所与のビデオ符号化技術において、そのような技法の二つ以上が使用できる場合、使用される特定の技法は、その特定の技法を使用する特定のイントラ予測モードとして符号化されることができる。ある種の場合には、イントラ予測モードは、サブモードおよび/またはパラメータを有することができ、該サブモードおよび/またはパラメータは、個別に符号化されることができ、または使用される予測モードを定義するモード符号語に含められることができる。所与のモード、サブモードおよび/またはパラメータの組み合わせのためにどの符号語を使用するかは、イントラ予測を通して符号化効率利得に影響を与える可能性があり、符号語をビットストリームに変換するために使用されるエントロピー符号化技術も同様に影響を与える可能性がある。
【0010】
イントラ予測のあるモードがH.264で導入され、H.265で洗練され、共同探査モデル(JEM)、多用途ビデオ符号化(VVC)、およびベンチマークセット(BMS)のようなより新しい符号化技術においてさらに洗練された。予測子ブロックは、すでに利用可能なサンプルの近傍サンプル値を使用して形成されることができる。近傍サンプルのサンプル値が、ある方向に従って予測子ブロックにコピーされる。使用される方向への参照は、ビットストリームにおいて符号化されることができ、またはそれ自身予測されてもよい。
【0011】
図1Aを参照すると、右下に、H.265において定義されている33個の可能な予測子方向(35個のイントラ・モードのうち33個の角度モードに対応する)から知られている9個の予測子方向のサブセットが描かれている。矢印が収束する点(101)は、予測されるサンプルを表わす。矢印は、サンプルが予測される方向を表わす。たとえば、矢印(102)は、サンプル(101)が、水平から45度の角度の右上のサンプル(単数または複数)から予測されることを示す。同様に、矢印(103)は、サンプル(101)が、水平から22.5度の角度の、サンプル(101)の左下のサンプル(単数または複数)から予測されることを示す。
【0012】
引き続き
図1Aを参照すると、左上には、4×4サンプルの正方形ブロック(104)が描かれている(太い破線で示されている)。正方形ブロック(104)は、16個のサンプルを含み、各サンプルは「S」とY次元におけるその位置(たとえば、行インデックス)およびX次元におけるその位置(たとえば、列インデックス)でラベル付けされている。たとえば、サンプルS21は、Y次元の(上から)第2のサンプルであり、X次元の(左から)最初のサンプルである。同様に、サンプルS44は、YおよびX次元の両方においてブロック(104)内の第4のサンプルである。ブロックが4×4サンプルのサイズなので、S44は右下にある。さらに、同様の番号付けスキームに従う参照サンプルが示されている。参照サンプルは、Rと、ブロック(104)に対するそのY位置(たとえば、行インデックス)およびX位置(列インデックス)でラベル付けされる。H.264とH.265の両方において、予測サンプルは再構成中のブロックの近傍であり、そのため負の値を使用する必要はない。
【0013】
ピクチャー内予測は、信号伝達される予測方向によって示される近傍サンプルから参照サンプル値をコピーすることによって機能できる。たとえば、符号化ビデオ・ビットストリームは、このブロックについて、矢印(102)と整合する予測方向を示す信号伝達を含むと想定する。すなわち、サンプルは、水平から45度の角度の右上のサンプルから予測される。その場合、サンプルS41、S32、S23、およびS14は、同じ参照サンプルR05から予測される。次いで、サンプルS44は、参照サンプルR08から予測される。
【0014】
ある種の場合には、特に方向が45度で割り切れない場合には、参照サンプルを計算するために、複数の参照サンプルの値が、たとえば補間によって組み合わされることができる。
【0015】
ビデオ符号化技術の発達に伴い、可能な方向の数が増加してきた。H.264(2003年)では、9つの異なる方向が表現できた。これは、H.265(2013年)では33に増加した。現在、JEM/VVC/BMSは、最大65の方向をサポートできる。最も可能性の高い方向を同定するために実験が行われ、より可能性の低い方向についてのあるペナルティを受け入れつつ、それらの可能性の高い方向を少数のビットで表現するために、エントロピー符号化におけるある種の技法が使用される。さらに、方向自身が、近傍のすでにデコードされたブロックで使用された近傍方向から予測できることがある。
【0016】
図1Bは、時間とともに増加する予測方向の数を示すために、JEMによる65個のイントラ予測方向を描く概略図(110)を示している。
【0017】
符号化ビデオ・ビットストリームにおける方向を表わすイントラ予測方向ビットのマッピングは、ビデオ符号化技術ごとに異なることができる。そのようなマッピングは、たとえば、単純な直接的マッピングから、符号語、最確モードに関わる複雑な適応方式、および同様の技法までありうる。しかしながら、ほとんどの場合、ビデオコンテンツにおいて、他のある種の方向よりも統計的に起こりにくいある種の方向が存在しうる。ビデオ圧縮の目標は冗長性の低減であるので、良好に機能するビデオ符号化技術においては、そうしたより可能性の低い方法は、より可能性の高い方向よりもより多くのビット数によって表わされる。
【0018】
画像および/またはビデオの符号化および復号は、動き補償を伴うピクチャー間予測を用いて実行できる。動き補償は、不可逆圧縮技法であることがあり、かつ、以前に再構成されたピクチャーまたはその一部(参照ピクチャー)からのサンプル・データのブロックが、動きベクトル(以下、MV)によって示される方向に空間的にシフトされた後に、新しく再構成されるピクチャーまたはピクチャー部分の予測のために使用される技法に関することができる。場合によっては、参照ピクチャーは、現在再構成中のピクチャーと同じであることもできる。MVは、XおよびYの2次元、または3次元を有することができ、第3の次元は、使用される参照ピクチャーの指示である(これは、間接的に、時間次元でありうる)。
【0019】
いくつかのビデオ圧縮技術では、サンプル・データのある領域に適用可能なMVは、他のMVから、たとえば、再構成中の領域に空間的に隣接し、デコード順でそのMVに先行するサンプル・データの別の領域に関連するMVから予測されることができる。そうすることにより、MVの符号化に必要とされるデータ量を大幅に削減することができ、それにより冗長性を除去し、圧縮を増加させることができる。MV予測が有向に機能できるのは、たとえば、カメラから導出される入力ビデオ信号(ナチュラルビデオとして知られる)を符号化する際に、単一のMVが適用可能である領域よりも大きな領域が同様の方向に移動し、よって、ある種の場合には、近傍領域のMVから導出された同様の動きベクトルを用いて予測できるという、統計的確からしさがあるからである。その結果、所与の領域について見出されるMVが、周囲のMVから予測されるMVと同様または同一であることになり、そして、それは、エントロピー符号化の後、MVを直接符号化する場合に使用されるであろうものよりも少数のビットで表現できる。いくつかの場合には、MV予測は、もとの信号(すなわち、サンプルストリーム)から導出された信号(すなわち、MV)の可逆圧縮の例でありうる。他の場合には、MV予測自身が、たとえば、いくつかの周囲のMVから予測子を計算する際の丸め誤差のために、不可逆であることがある。
【0020】
H.265/HEVC(ITU-T Rec. H.265、「高効率ビデオ符号化」(High Efficiency Video Coding)、December 2016)には、さまざまなMV予測機構が記述されている。H.265が提供する多くのMV予測機構のうち、以後「空間的マージ(spatial merge)」と呼ばれる技法が
図2を参照して記載される。
【0021】
図2を参照すると、現在ブロック(201)は、空間的にシフトされた同じサイズの前のブロックから予測可能であることが動き探索プロセスの間にエンコーダによって見出されたサンプルを含む。そのMVを直接符号化する代わりに、MVは、一つまたは複数の参照ピクチャーに関連付けられたメタデータから、たとえば(デコード順で)最新の参照ピクチャーから、A0、A1、およびB0、B1、B2(それぞれ202ないし206)と記される5つの周囲のサンプルのいずれかに関連付けられたMVを使用して、導出できる。H.265では、MV予測は、近傍ブロックが使用しているのと同じ参照ピクチャーからの予測子を使用することができる。
【発明の概要】
【発明が解決しようとする課題】
【0022】
本開示の諸側面は、ビデオ・エンコード/デコードのための方法および装置を提供する。いくつかの例では、ビデオ・デコードのための装置は、処理回路を含む。
【課題を解決するための手段】
【0023】
本開示の一側面によれば、ビデオ・デコーダにおいて実行されるビデオ・デコードの方法が提供される。この方法では、現在ピクチャーにおける現在ブロックおよび現在ブロックの近傍ブロックの符号化された情報が、符号化ビデオ・ビットストリームから受領されることができる。現在ブロックのマージ候補のリストは、現在ブロックの近傍ブロックに基づいて生成されることができる。現在ブロックのマージ候補のリストは、複数のサブグループに分割されることができる。前記複数のサブグループのそれぞれは、一つまたは複数のマージ候補を含むことができる。前記一つまたは複数のマージ候補は、前記一つまたは複数のマージ候補のそれぞれに関連するそれぞれのテンプレート・マッチング(template matching、TM)コストによって、各サブグループ内で順序付けることができる。現在ブロックは、現在ブロックのマージ候補のリストから選択されたマージ候補に基づいて再構成されることができる。
【0024】
この方法では、マージ候補のリスト内の複数のサブグループは、複数のサブグループのそれぞれに関連するそれぞれのTMコスト値に基づいて、さらに再順序付けされることができる。
【0025】
マージ候補のリスト内の複数のサブグループを再順序付けするために、最初は、複数のサブグループのそれぞれに関連するTMコスト値が決定されることができる。マージ候補のリスト内の複数のサブグループは、さらに、複数のサブグループに関連するTMコスト値の昇順に再順序付けされることができる。よって、マージ候補の再順序付けされたリストにおける複数のサブグループのうちの最初のサブグループは、TMコスト値のうちの最小のTMコスト値と関連付けられることができる。
【0026】
複数のサブグループのそれぞれに関連するそれぞれのTMコスト値を決定するために、複数のサブグループのうちの第1のサブグループにおける前記一つまたは複数のマージ候補の複数のTMコスト値が決定されることができる。TMコスト値のそれぞれは、現在ブロックの隣接する近傍サンプルと、第1のサブグループにおけるそれぞれのマージ候補の隣接する近傍サンプルとの間の差に関連付けられることができる。複数のサブグループのうちの第1のサブグループにおける前記一つまたは複数のマージ候補は、第1のサブグループにおける前記一つまたは複数のマージ候補のうちの前記複数のTMコスト値の昇順に基づいて、再順序付けされた第1のサブグループにおける最初のマージ候補が最小のTMコスト値を有するように、再順序付けされることができる。
【0027】
ある実施形態では、複数のサブグループのうちの第1のサブグループに関連するTMコスト値は、第1のサブグループにおける前記一つまたは複数のマージ候補の複数のTMコスト値のうちの最小のTMコスト値として決定されることができる。
【0028】
ある実施形態では、複数のサブグループのうちの第1のサブグループに関連するTMコスト値は、第1のサブグループにおける前記一つまたは複数のマージ候補の複数のTMコスト値のメジアンTMコスト値として決定されることができる。
【0029】
ある実施形態では、複数のサブグループのうちの第1のサブグループに関連するTMコスト値は、第1のサブグループにおける前記一つまたは複数のマージ候補の複数のTMコスト値のうちの複数の最小のTMコスト値のメジアンTMコスト値として決定されることができる。
【0030】
ある実施形態では、複数のサブグループのうちの第1のサブグループに関連するTMコスト値は、第1のサブグループにおける前記一つまたは複数のマージ候補の複数のTMコスト値のうち、最初の2つの最小のTMコスト値の平均値として決定されることができる。
【0031】
この方法では、現在ブロックのマージ候補のリストは、現在ブロックの近傍ブロックの空間的近傍ブロックからの空間的動きベクトル(MV)予測子、現在ブロックの共位置のブロックからの時間的MV予測子、先入れ先出し(FIFO)テーブルからの履歴ベースのMV予測子、対ごとの平均MV予測子、ゼロMV、現在ブロックの近傍ブロックの隣接しない空間的近傍ブロックからの非隣接MV予測子、または現在ブロックの非隣接時間的MV予測子のうちの少なくとも1つに基づいて生成されることができる。
【0032】
非隣接MV予測子および非隣接時間的MV予測子を含むマージ候補のリストに基づいて、マージ候補のリストは、水平軸に関してπ/4の角度、π/2の角度、3π/4の角度、πの角度、および5π/4の角度に沿って位置される非隣接MV予測子の第1のグループを含む第1のサブグループに分割されることができる。マージ候補のリストはまた、水平軸に関してπ/4の角度、3π/8の角度、π/2の角度、5π/8の角度、3π/4の角度、7π/8の角度、πの角度、9π/8の角度、および5π/4の角度に沿って位置される非隣接MV予測子の第2のグループを含む第2のサブグループに分割されることができる。
【0033】
マージ候補のリストはさらに、非隣接時間的MV予測子を含む第3のサブグループに分割されることができる。
【0034】
いくつかの実施形態では、マージ候補のリストは、複数のサブグループのそれぞれが、同じ数のマージ候補、事前定義された数のマージ候補、または同じタイプのマージ候補のうちの1つを含むことができるように、複数のサブグループに分割されることができる。
【0035】
本開示の別の側面によれば、装置が提供される。装置は、処理回路を含む。処理回路は、ビデオ・エンコード/デコードのための前記方法のうちのいずれかを実行するように構成されることができる。
【0036】
本開示の諸側面はまた、ビデオ・デコードのためにコンピュータによって実行されたときに、該コンピュータにビデオ・エンコード/デコードのための前記方法のいずれかを実行させる命令を記憶している非一時的なコンピュータ読み取り可能な媒体を提供する。
【図面の簡単な説明】
【0037】
開示された主題のさらなる特徴、性質、およびさまざまな利点は、以下の詳細な説明および添付の図面からより明白になるであろう。
【0038】
【
図1A】イントラ予測モードの例示的なサブセットの概略図である。
【0039】
【
図1B】例示的なイントラ予測方向の説明図である。
【0040】
【
図2】一例における現在ブロックおよびその周囲の空間的マージ候補の概略図である。
【0041】
【
図3】ある実施形態による通信システムの簡略化されたブロック図の概略図である。
【0042】
【
図4】ある実施形態による通信システム(400)の簡略化されたブロック図の概略図である。
【0043】
【
図5】ある実施形態によるデコーダの簡略化されたブロック図の概略図である。
【0044】
【
図6】ある実施形態によるエンコーダの簡略化されたブロック図の概略図である。
【0045】
【
図7】別の実施形態によるエンコーダのブロック図を示す。
【0046】
【
図8】別の実施形態によるデコーダのブロック図を示す。
【0047】
【
図9】別の実施形態での空間的マージ候補の例示的な位置を示す。
【0048】
【
図10】空間的マージ候補の例示的な冗長性チェックを示す。
【0049】
【
図11】ある実施形態による、時間的マージ候補のための動きベクトル・スケーリングの概略図を示す。
【0050】
【
図12】ある実施形態による、時間的マージ候補のための例示的な候補位置を示す。
【0051】
【
図13】ある実施形態による例示的なテンプレート・マッチング手順を示す。
【0052】
【
図14】ある実施形態による非隣接空間的マージ候補の例示的なパターンを示す。
【0053】
【
図15】ある実施形態によるサブブロック・ベースのマージ候補の例示的な導出を示す。
【0054】
【
図16】ある実施形態による非隣接空間的マージ候補の例示的なパターンを示す。
【0055】
【
図17】本開示のいくつかの実施形態による、例示的なデコード・プロセスの概要を示すフローチャートを示す。
【0056】
【
図18】本開示のいくつかの実施形態による、例示的なエンコード・プロセスの概要を示すフローチャートを示す。
【0057】
【
図19】ある実施形態によるコンピュータ・システムの概略図である。
【発明を実施するための形態】
【0058】
図3は、通信システム(300)の例示的なブロック図を示す。通信システム(300)は、たとえばネットワーク(350)を介して互いに通信することができる複数の端末装置を含む。たとえば、通信システム(300)は、ネットワーク(350)を介して相互接続された第1の対の端末装置(310)および(320)を含む。
図3の例では、第1の対の端末装置(310)および(320)は、データの一方向伝送を実行する。たとえば、端末装置(310)は、ネットワーク(350)を介した他方の端末装置(320)への伝送のために、ビデオ・データ(たとえば、端末装置(310)によって捕捉されたビデオ・ピクチャーのストリーム)を符号化してもよい。エンコードされたビデオ・データは、一つまたは複数の符号化ビデオ・ビットストリームの形で伝送されることができる。端末装置(320)は、ネットワーク(350)から、符号化ビデオ・データを受信し、符号化ビデオ・データをデコードしてビデオ・ピクチャーを復元し、復元されたビデオ・データに従ってビデオ・ピクチャーを表示してもよい。一方向データ伝送は、メディア・サービス・アプリケーション等において一般的でありうる。
【0059】
別の例では、通信システム(300)は、たとえばビデオ会議中に符号化されたビデオ・データの双方向伝送を実行する第2の対の端末装置(330)および(340)を含む。データの双方向伝送のために、一例では、端末装置(330)および(340)の各端末装置は、ネットワーク(350)を介した、端末装置(330)および(340)のうちの他方の端末装置への伝送のために、ビデオ・データ(たとえば、端末装置によって捕捉されたビデオ・ピクチャーのストリーム)を符号化してもよい。端末装置(330)および(340)の各端末装置は、端末装置(330)および(340)のうちの他方の端末装置によって送信された符号化されたビデオ・データを受信してもよく、符号化されたビデオ・データをデコードして、ビデオ・ピクチャーを復元し、復元されたビデオ・データに従って、アクセス可能な表示装置においてビデオ・ピクチャーを表示してもよい。
【0060】
図3の例では、端末装置(310)、(320)、(330)および(340)はそれぞれ、サーバー、パーソナルコンピュータおよびスマートフォンとして示されてもよいが、本開示の原理は、それに限定されなくてもよい。本開示の実施形態は、ラップトップ・コンピュータ、タブレット・コンピュータ、メディア・プレーヤー、および/または専用のビデオ会議設備での応用を見出す。ネットワーク(350)は、たとえば有線(ワイヤード)および/または無線〔ワイヤレス〕通信ネットワークを含む、端末装置(310)、(320)、(330)および(340)の間で符号化されたビデオ・データを伝達する任意の数のネットワークを表わす。通信ネットワーク(350)は、回線交換および/またはパケット交換チャネルにおいてデータを交換してもよい。代表的なネットワークは、遠隔通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワークおよび/またはインターネットを含む。今の議論の目的のために、ネットワーク(350)のアーキテクチャーおよびトポロジーは、以下に説明しない限り、本開示の動作には重要ではないことがある。
【0061】
図4は、開示される主題のためのアプリケーションの例として、ストリーミング環境におけるビデオ・エンコーダおよびビデオ・デコーダを示す。開示される主題は、たとえば、ビデオ会議、デジタルTV、ストリーミングサービス、CD、DVD、メモリースティックなどを含むデジタル媒体上の圧縮ビデオの記憶などを含む、他のビデオ対応アプリケーションにも等しく適用可能でありうる。
【0062】
ストリーミング・システムは、ビデオ源(401)、たとえばデジタル・カメラを含むことができ、たとえば非圧縮のビデオ・ピクチャーのストリーム(402)を生成する捕捉サブシステム(413)を含んでいてもよい。一例では、ビデオ・ピクチャーのストリーム(402)は、デジタル・カメラによって取り込まれたサンプルを含む。エンコードされたビデオ・データ(404)(または符号化されたビデオ・ビットストリーム)と比較した場合の高いデータ・ボリュームを強調するために太線として描かれているビデオ・ピクチャーのストリーム(402)は、ビデオ源(401)に結合されたビデオ・エンコーダ(403)を含む電子装置(420)によって処理されることができる。ビデオ・エンコーダ(403)は、以下により詳細に説明されるように、開示される主題の諸側面を可能にし、または実現するためのハードウェア、ソフトウェア、またはそれらの組み合わせを含むことができる。ビデオ・ピクチャーのストリーム(402)と比較した場合の、より低いデータ・ボリュームを強調するために細い線として描かれている、エンコードされたビデオ・データ(404)(またはエンコードされたビデオ・ビットストリーム)は、将来の使用のためにストリーミング・サーバー(405)に記憶されることができる。
図4のクライアント・サブシステム(406)および(408)のような一つまたは複数のストリーミング・クライアント・サブシステムは、ストリーミング・サーバー(405)にアクセスして、エンコードされたビデオ・データ(404)のコピー(407)および(409)を取り出すことができる。クライアント・サブシステム(406)は、たとえば電子装置(430)内にビデオ・デコーダ(410)を含むことができる。ビデオ・デコーダ(410)は、エンコードされたビデオ・データの入来コピー(407)をデコードし、ディスプレイ(412)(たとえば表示画面)または他のレンダリング装置(図示せず)上にレンダリングできるビデオ・ピクチャーの出ていくストリーム(411)を生成する。いくつかのストリーミング・システムでは、エンコードされたビデオ・データ(404)、(407)、および(409)(たとえば、ビデオ・ビットストリーム)は、ある種のビデオ符号化/圧縮標準に従ってエンコードされることができる。これらの標準の例は、ITU-T勧告H.265を含む。一例では、開発中のビデオ符号化規格は、非公式にVVCとして知られている。開示される主題は、多用途ビデオ符号化(VVC)の文脈で使用されてもよい。
【0063】
電子装置(420)および(430)は、他の構成要素(図示せず)を含むことができることを注意しておく。たとえば、電子装置(420)は、ビデオ・デコーダ(図示せず)を含むことができ、電子装置(430)は、ビデオ・エンコーダ(図示せず)も含むことができる。
【0064】
図5は、ビデオ・デコーダ(510)の例示的なブロック図を示す。ビデオ・デコーダ(510)は、電子装置(530)に含まれることができる。電子装置(530)は、受領器(531)(たとえば、受領回路)を含むことができる。ビデオ・デコーダ(510)は、
図4の例におけるビデオ・デコーダ(310)の代わりに使用できる。
【0065】
受領器(531)は、ビデオ・デコーダ(510)によってデコードされるべき一つまたは複数の符号化ビデオ・シーケンスを受領してもよい。ある実施形態では、一度に1つの符号化ビデオ・シーケンスが受領され、各符号化ビデオ・シーケンスのデコードは、他の符号化ビデオ・シーケンスのデコードから独立である。符号化ビデオ・シーケンスは、チャネル(501)から受信されてもよく、該チャネルは、エンコードされたビデオ・データを記憶する記憶装置へのハードウェア/ソフトウェア・リンクであってもよい。受領器(531)は、エンコードされたビデオ・データを、他のデータ、たとえば符号化されたオーディオ・データおよび/または補助データ・ストリームと一緒に受領してもよく、これらのデータは、それぞれの使用エンティティ(図示せず)を転送されてもよい。受領器(531)は、符号化ビデオ・シーケンスを他のデータから分離することができる。ネットワーク・ジッタ対策として、バッファメモリ(515)が、受領器(531)とエントロピー・デコーダ/パーサー(520)(以下「パーサー」)との間に結合されてもよい。ある種のアプリケーションでは、バッファメモリ(515)はビデオ・デコーダ(510)の一部である。他のアプリケーションでは、ビデオ・デコーダ(510)の外部にあることができる(図示せず)。さらに他のアプリケーションでは、たとえばネットワーク・ジッタに対抗するために、ビデオ・デコーダ(510)の外部にバッファメモリ(図示せず)があってもよく、さらに、たとえば再生タイミングを扱うために、ビデオ・デコーダ(510)の内部に別のバッファメモリ(515)があってもよい。受領器(531)が、十分な帯域幅および制御可能性の記憶/転送装置から、またはアイソクロナス・ネットワークからデータを受領している場合は、バッファメモリ(515)は、必要とされなくてもよく、または小さくてもよい。インターネットのようなベストエフォート型のパケット・ネットワークでの使用のためには、バッファメモリ(515)が要求されることがあり、比較的大きいことがあり、有利には適応サイズであることができ、少なくとも部分的に、ビデオ・デコーダ(510)の外部でオペレーティング・システムまたは同様の要素(図示せず)において実装されてもよい。
【0066】
ビデオ・デコーダ(510)は、符号化ビデオ・シーケンスからシンボル(521)を再構成するためのパーサー(520)を含んでいてもよい。これらのシンボルのカテゴリーは、ビデオ・デコーダ(510)の動作を管理するために使用される情報と、潜在的には、レンダー装置(512)(たとえば表示画面)のようなレンダリング装置を制御するための情報とを含む。レンダー装置は、
図5に示されたように、電子装置(530)の一体的な部分ではなく、電子装置(530)に結合されることができる。レンダリング装置(単数または複数)のための制御情報は、補足向上情報(Supplementary Enhancement Information)(SEI)メッセージまたはビデオユーザビリティ情報(Video Usability Information、VUI)パラメータセット・フラグメント(図示せず)の形であってもよい。パーサー(520)は、受領された符号化ビデオ・シーケンスをパースする/エントロピー復号することができる。符号化ビデオ・シーケンスの符号化は、ビデオ符号化技術または標準に従うことができ、可変長符号化、ハフマン符号化、コンテキスト感受性ありまたはなしの算術符号化などを含む、さまざまな原理に従うことができる。パーサー(520)は、符号化ビデオ・シーケンスから、ビデオ・デコーダ内のピクセルのサブグループのうちの少なくとも1つについてのサブグループ・パラメータのセットを、グループに対応する少なくとも1つのパラメータに基づいて、抽出することができる。サブグループは、ピクチャーグループ(Group of Pictures、GOP)、ピクチャー、タイル、スライス、マクロブロック、符号化単位(Coding Unit、CU)、ブロック、変換単位(Transform Unit、TU)、予測単位(Prediction Unit、PU)などを含むことができる。パーサー(520)はまた、符号化ビデオ・シーケンスから、変換係数、量子化器パラメータ値、動きベクトル等の情報を抽出することができる。
【0067】
パーサー(520)は、バッファメモリ(515)から受領されたビデオ・シーケンスに対してエントロピー復号/パース動作を実行し、それによりシンボル(521)を生成することができる。
【0068】
シンボル(521)の再構成は、符号化されたビデオ・ピクチャーまたはその諸部分のタイプ(たとえば、インターおよびイントラ・ピクチャー、インターおよびイントラ・ブロック)および他の要因に依存して、複数の異なるユニットに関わることができる。どのユニットがどのように関わるかは、符号化ビデオ・シーケンスからパーサー(520)によってパースされるサブグループ制御情報によって制御されることができる。パーサー(520)と下記の複数のユニットとの間のそのようなサブグループ制御情報の流れは、明確のため、描かれていない。
【0069】
すでに述べた機能ブロックのほかに、ビデオ・デコーダ(510)は、以下に説明するように、概念的に、いくつかの機能ユニットに分割できる。商業的制約の下で機能する実際的な実装では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合されることができる。しかしながら、開示される主題を記述する目的のためには、下記の機能単位への概念的な細分が適切である。
【0070】
第1のユニットは、スケーラー/逆変換ユニット(551)である。スケーラー/逆変換ユニット(551)は、パーサー(520)から、量子化された変換係数および制御情報をシンボル(単数または複数)(521)として受領する。制御情報は、どの変換を使用するか、ブロック・サイズ、量子化因子、量子化スケーリング行列などを含む。スケーラー/逆変換ユニット(551)は、集計器(555)に入力できるサンプル値を含むブロックを出力することができる。
【0071】
場合によっては、スケーラー/逆変換ユニット(551)の出力サンプルは、イントラ符号化されたブロックに関することができる。該イントラ符号化されたブロックは、以前に再構成されたピクチャーからの予測情報を使用していないが、現在ピクチャーの、以前に再構成された部分からの予測情報を使用することができるブロックである。そのような予測情報は、イントラ・ピクチャー予測ユニット(552)によって提供されることができる。場合によっては、イントラ・ピクチャー予測ユニット(552)は、現在ピクチャー・バッファ(558)から取ってきた、周囲のすでに再構成された情報を使用して、再構成中のブロックと同じサイズおよび形状のブロックを生成する。現在ピクチャー・バッファ(558)は、たとえば、部分的に再構成された現在ピクチャーおよび/または完全に再構成された現在ピクチャーをバッファリングする。集計器(555)は、場合によっては、サンプル毎に、イントラ予測ユニット(552)が生成した予測情報を、スケーラー/逆変換ユニット(551)によって提供される出力サンプル情報に加算する。
【0072】
他の場合には、スケーラー/逆変換ユニット(551)の出力サンプルは、インター符号化され、潜在的には動き補償されたブロックに関することができる。そのような場合、動き補償予測ユニット(553)は、予測のために使用されるサンプルを取ってくるために参照ピクチャー・メモリ(557)にアクセスすることができる。取ってきたサンプルを、ブロックに関するシンボル(521)に従って動き補償した後、これらのサンプルは、集計器(555)によってスケーラー/逆変換ユニットの出力(この場合、残差サンプルまたは残差信号と呼ばれる)に加算されて、それにより出力サンプル情報を生成することができる。動き補償ユニット(553)が予測サンプルを取ってくる参照ピクチャー・メモリ(557)内のアドレスは、シンボル(521)の形で動き補償ユニット(553)に利用可能な動きベクトルによって制御できる。該シンボルは、たとえばX、Y、および参照ピクチャー成分を有することができる。動き補償は、サンプル以下の正確な動きベクトルが使用されるときの参照ピクチャー・メモリ(557)から取ってこられるサンプル値の補間、動きベクトル予測機構などを含むことができる。
【0073】
集計器(555)の出力サンプルは、ループ・フィルタ・ユニット(556)内でさまざまなループ・フィルタリング技法にかけられることができる。ビデオ圧縮技術は、ループ内フィルタ技術を含むことができる。ループ内フィルタ技術は、符号化ビデオ・シーケンス(符号化されたビデオ・ビットストリームとも呼ばれる)に含まれるパラメータによって制御され、パーサー(520)からのシンボル(521)としてループ・フィルタ・ユニット(556)に利用可能にされる。ビデオ圧縮は、符号化されたピクチャーまたは符号化されたビデオ・シーケンスの(デコード順で)前の部分のデコード中に得られたメタ情報に応答するとともに、以前に再構成されループ・フィルタリングされたサンプル値に応答することもできる。
【0074】
ループ・フィルタ・ユニット(556)の出力はサンプル・ストリームであることができ、これは、レンダー装置(512)に出力されることができ、また将来のインターピクチャー予測において使用するために参照ピクチャー・メモリ(557)に記憶されることができる。
【0075】
符号化された画像は、いったん完全に再構成されると、将来の予測のための参照ピクチャーとして使用できる。たとえば、現在ピクチャーに対応する符号化されたピクチャーが完全に再構成され、該符号化されたピクチャーが(たとえば、パーサー(520)によって)参照ピクチャーとして同定されると、現在ピクチャー・バッファ(558)は参照ピクチャーメモリ(557)の一部となることができ、後続の符号化されたピクチャーの再構成を開始する前に、新鮮な現在ピクチャー・バッファが再割当てされることができる。
【0076】
ビデオ・デコーダ(510)は、所定のビデオ圧縮技術またはITU-T勧告H.265のような標準に従ってデコード動作を実行することができる。符号化ビデオ・シーケンスはビデオ圧縮技術または標準のシンタックスおよびビデオ圧縮技術または標準において文書化されているプロファイルに従うという意味で、符号化されたビデオ・シーケンスは、使用されているビデオ圧縮技術または標準によって規定されたシンタックスに準拠することができる。具体的には、プロファイルはビデオ圧縮技術または標準において利用可能なすべてのツールから、そのプロファイルのもとでの使用のためにそれだけが利用可能なツールとして、ある種のツールを選択することができる。準拠のためにはまた、符号化ビデオ・シーケンスの複雑さが、ビデオ圧縮技術または標準のレベルによって定義される範囲内にあることも必要であることがある。いくつかの場合には、レベルは、最大ピクチャー・サイズ、最大フレーム・レート、最大再構成サンプル・レート(たとえば、毎秒メガサンプルの単位で測られる)、最大参照ピクチャー・サイズなどを制約する。レベルによって設定された限界は、場合によっては、符号化ビデオ・シーケンスにおいて信号伝達される、HRDバッファ管理のための仮設参照デコーダ(Hypothetical Reference Decoder、HRD)仕様およびメタデータを通じてさらに制約されることができる。
【0077】
ある実施形態において、受領器(531)は、エンコードされたビデオとともに追加の(冗長な)データを受領してもよい。追加データは、符号化されたビデオ・シーケンス(単数または複数)の一部として含まれていてもよい。追加データは、データを適正にデコードするため、および/またはもとのビデオ・データをより正確に再構成するために、ビデオ・デコーダ(510)によって使用されてもよい。追加データは、たとえば、時間的、空間的、または信号対雑音比(SNR)の向上層、冗長スライス、冗長ピクチャー、前方誤り訂正符号などの形でありうる。
【0078】
図6は、ビデオ・エンコーダ(603)の例示的なブロック図を示している。ビデオ・エンコーダ(603)は、電子装置(620)に含まれる。電子装置(620)は、送信器(640)(たとえば、送信回路)を含む。ビデオ・エンコーダ(603)は、
図4の例におけるビデオ・エンコーダ(403)の代わりに使用できる。
【0079】
ビデオ・エンコーダ(603)は、ビデオ・エンコーダ(603)によって符号化されるべきビデオ画像を捕捉することができるビデオ源(601)(これは
図6の例では電子装置(620)の一部ではない)からビデオ・サンプルを受領することができる。別の例では、ビデオ源(601)は、電子装置(620)の一部である。
【0080】
ビデオ源(601)は、任意の好適なビット深さ(たとえば、8ビット、10ビット、12ビット、…)、任意の色空間(たとえば、BT.601 YCrCB、RGB、…)および任意の好適なサンプリング構造(たとえば、YCrCb 4:2:0、YCrCb 4:4:4)でありうるデジタル・ビデオ・サンプル・ストリームの形で、ビデオ・エンコーダ(603)によって符号化されるべき源ビデオ・シーケンスを提供することができる。メディア・サービス・システムにおいては、ビデオ源(601)は、事前に準備されたビデオを記憶している記憶装置であってもよい。ビデオ会議システムにおいては、ビデオ源(601)は、ローカルでの画像情報をビデオ・シーケンスとして捕捉するカメラであってもよい。ビデオ・データは、シーケンスで見たときに動きを付与する複数の個々のピクチャーとして提供されてもよい。ピクチャー自体は、ピクセルの空間的アレイとして編成されてもよく、各ピクセルは、使用中のサンプリング構造、色空間などに依存して、一つまたは複数のサンプルを含むことができる。当業者は、ピクセルとサンプルとの間の関係を容易に理解することができる。下記の説明は、サンプルに焦点を当てる。
【0081】
ある実施形態によれば、ビデオ・エンコーダ(603)は、源ビデオ・シーケンスのピクチャーを、リアルタイムで、または要求される任意の他の時間的制約の下で、符号化および圧縮して、符号化ビデオ・シーケンス(643)にすることができる。適切な符号化速度を施行することは、コントローラ(650)の一つの機能である。いくつかの実施形態では、コントローラ(650)は、以下に記載されるような他の機能ユニットを制御し、該他の機能ユニットに機能的に結合される。かかる結合は、明確のために描かれていない。コントローラ(650)によって設定されるパラメータは、レート制御に関連するパラメータ(ピクチャー・スキップ、量子化器、レート‐歪み最適化技法のラムダ値、…)、ピクチャー・サイズ、ピクチャーグループ(GOP)レイアウト、最大動きベクトル探索範囲などを含むことができる。コントローラ(650)は、ある種のシステム設計のために最適化されたビデオ・エンコーダ(603)に関する他の好適な機能を有するように構成できる。
【0082】
いくつかの実施形態では、ビデオ・エンコーダ(603)は、符号化ループにおいて動作するように構成される。思い切って単純化した説明として、一例では、符号化ループは、源符号化器(630)(たとえば、符号化されるべき入力ピクチャーと参照ピクチャー(単数または複数)に基づいてシンボル・ストリームのようなシンボルを生成することを受け持つ)と、ビデオ・エンコーダ(603)に埋め込まれた(ローカル)デコーダ(633)とを含むことができる。デコーダ(633)は、(リモートの)デコーダも生成するであろうのと同様の仕方でサンプル・データを生成するよう前記シンボルを再構成する。再構成されたサンプル・ストリーム(サンプル・データ)は、参照ピクチャー・メモリ(634)に入力される。シンボル・ストリームのデコードは、デコーダ位置(ローカルかリモートか)によらずビット正確な結果をもたらすので、参照ピクチャー・メモリ(634)の内容もローカル・エンコーダとリモート・エンコーダの間でビット正確である。言い換えると、エンコーダの予測部は、デコーダがデコード中に予測を使用するときに「見る」のとまったく同じサンプル値を参照ピクチャー・サンプルとして「見る」。参照ピクチャー同期性のこの基本原理(および、たとえば、チャネルエラーのために同期性が維持できない場合の結果として生じるドリフト)は、いくつかの関連技術においても使用される。
【0083】
「ローカル」デコーダ(633)の動作は、
図5との関連ですでに上記で詳細に述べた「リモート」デコーダ、たとえばビデオ・デコーダ(410)の動作と同じであってよい。しかしながら、暫時
図5も参照すると、シンボルが利用可能であり、エントロピー符号化器(645)およびパーサー(420)による、シンボルの符号化ビデオ・シーケンスへのエンコード/デコードが可逆でありうるので、バッファメモリ(415)およびパーサー(420)を含むビデオ・デコーダ(410)のエントロピー復号部は、ローカル・デコーダ(633)においては完全には実装されなくてもよい。
【0084】
ある実施形態では、デコーダ内に存在するパース/エントロピー復号を除くどのデコーダ技術も、対応するエンコーダ内で実質的に同一の機能的形態で存在する。よって、開示される主題はデコーダ動作に焦点を当てる。エンコーダ技術の記述は、包括的に記述されるデコーダ技術の逆であるため、短縮することができる。ある種の領域において、より詳細な説明が以下に提供される。
【0085】
動作中、いくつかの例では、源符号化器(630)は、「参照ピクチャー」として指定された、ビデオ・シーケンスからの一つまたは複数の以前に符号化されたピクチャーを参照して、入力ピクチャーを予測的に符号化する、動き補償された予測符号化を実行することができる。このようにして、符号化エンジン(632)は、入力ピクチャーのピクセル・ブロックと、入力ピクチャーに対する予測参照として選択されうる参照ピクチャー(単数または複数)のピクセル・ブロックとの間の差分を符号化する。
【0086】
ローカル・ビデオ・デコーダ(633)は、源符号化器(630)によって生成されたシンボルに基づいて、参照ピクチャーとして指定されうるピクチャーの符号化されたビデオ・データをデコードすることができる。符号化エンジン(632)の動作は、有利には、損失のあるプロセスでありうる。符号化されたビデオ・データがビデオ・デコーダ(
図6には示さず)でデコードされうるとき、再構成されたビデオ・シーケンスは、典型的には、いくつかのエラーを伴う源ビデオ・シーケンスの複製でありうる。ローカル・ビデオ・デコーダ(633)は、ビデオ・デコーダによって参照ピクチャーに対して実行されうるデコード・プロセスを複製し、再構成された参照ピクチャーを参照ピクチャー・メモリ(634)に格納させることができる。このようにして、ビデオ・エンコーダ(603)は、遠端のビデオ・デコーダによって得られるであろう再構成された参照ピクチャーとしての共通の内容を(伝送エラーがなければ)有する再構成された参照ピクチャーのコピーを、ローカルに記憶することができる。
【0087】
予測器(635)は、符号化エンジン(632)について予測探索を実行することができる。すなわち、符号化されるべき新しいピクチャーについて、予測器(635)は、新しいピクチャーのための適切な予測参照のはたらきをしうるサンプル・データ(候補参照ピクセル・ブロックとして)またはある種のメタデータ、たとえば参照ピクチャー動きベクトル、ブロック形状などを求めて、参照ピクチャー・メモリ(634)を探索することができる。予測器(635)は、適切な予測参照を見出すために、サンプル・ブロック/ピクセル・ブロック毎に(on a sample block-by-pixel block basis)動作しうる。場合によっては、予測器(635)によって得られた検索結果によって決定されるところにより、入力ピクチャーは、参照ピクチャー・メモリ(634)に記憶された複数の参照ピクチャーから引き出された予測参照を有することができる。
【0088】
コントローラ(650)は、たとえば、ビデオ・データをエンコードするために使用されるパラメータおよびサブグループ・パラメータの設定を含め、源符号化器(630)の符号化動作を管理してもよい。
【0089】
上記の機能ユニットすべての出力は、エントロピー符号化器(645)におけるエントロピー符号化を受けることができる。エントロピー符号化器(645)は、ハフマン符号化、可変長符号化、算術符号化などといった技術に従ってシンボルに無損失圧縮を適用することによって、さまざまな機能ユニットによって生成されたシンボルを符号化ビデオ・シーケンスに変換する。
【0090】
送信器(640)は、エントロピー符号化器(645)によって生成される符号化ビデオ・シーケンスをバッファに入れて、通信チャネル(660)を介した送信のために準備することができる。通信チャネル(660)は、エンコードされたビデオ・データを記憶する記憶装置へのハードウェア/ソフトウェア・リンクであってもよい。送信器(640)は、ビデオ・エンコーダ(603)からの符号化されたビデオ・データを、送信されるべき他のデータ、たとえば符号化されたオーディオ・データおよび/または補助データ・ストリーム(源は図示せず)とマージすることができる。
【0091】
コントローラ(650)は、ビデオ・エンコーダ(603)の動作を管理してもよい。符号化の間、コントローラ(650)は、それぞれの符号化されたピクチャーに、ある符号化ピクチャー・タイプを割り当てることができる。符号化ピクチャー・タイプは、それぞれのピクチャーに適用されうる符号化技術に影響しうる。たとえば、ピクチャーはしばしば、以下のピクチャー・タイプのうちの1つとして割り当てられることがある。
【0092】
イントラピクチャー(Iピクチャー)は、予測の源としてシーケンス内の他のピクチャーを使用せずに、符号化され、デコードされうるものでありうる。いくつかのビデオ・コーデックは、たとえば、独立デコーダ・リフレッシュ(Independent Decoder Refresh、「IDR」)・ピクチャーを含む、異なるタイプのイントラ・ピクチャーを許容する。当業者は、Iピクチャーのこれらの変形、ならびにそれらのそれぞれの用途および特徴を認識する。
【0093】
予測ピクチャー(Pピクチャー)は、各ブロックのサンプル値を予測するために、最大で1つの動きベクトルおよび参照インデックスを用いるイントラ予測またはインター予測を用いて符号化およびデコードされうるものでありうる。
【0094】
双方向予測ピクチャー(Bピクチャー)は、各ブロックのサンプル値を予測するために、最大で2つの動きベクトルおよび参照インデックスを用いるイントラ予測またはインター予測を用いて符号化およびデコードされうるものでありうる。同様に、マルチ予測ピクチャーは、単一のブロックの再構成のために、3つ以上の参照ピクチャーおよび関連するメタデータを使用することができる。
【0095】
源ピクチャーは、普通、空間的に複数のサンプル・ブロック(たとえば、それぞれ4×4、8×8、4×8、または16×16サンプルのブロック)に分割され、ブロック毎に符号化されうる。ブロックは、ブロックのそれぞれのピクチャーに適用される符号化割り当てによって決定されるところにより、他の(すでに符号化された)ブロックを参照して予測的に符号化されうる。たとえば、Iピクチャーのブロックは、非予測的に符号化されてもよく、または、同じピクチャーのすでに符号化されたブロックを参照して予測的に符号化されてもよい(空間的予測またはイントラ予測)。Pピクチャーのピクセル・ブロックは、以前に符号化された一つの参照ピクチャーを参照して、空間的予測を介してまたは時間的予測を介して予測的に符号化されてもよい。Bピクチャーのブロックは、1つまたは2つの以前に符号化された参照ピクチャーを参照して、空間的予測を介して、または時間的予測を介して予測的に符号化されてもよい。
【0096】
ビデオ・エンコーダ(603)は、ITU-T勧告H.265などの所定のビデオ符号化技術または標準に従って符号化動作を実行することができる。その動作において、ビデオ・エンコーダ(603)は、入力ビデオ・シーケンスにおける時間的および空間的冗長性を活用する予測符号化動作を含む、さまざまな圧縮動作を実行することができる。よって、符号化されたビデオ・データは、使用されるビデオ符号化技術または標準によって指定されるシンタックスに準拠しうる。
【0097】
ある実施形態において、送信器(640)は、エンコードされたビデオと一緒に追加データを送信してもよい。源符号化器(630)は、符号化ビデオ・シーケンスの一部としてそのようなデータを含めてもよい。追加データは、時間的/空間的/SNR向上層、冗長ピクチャーおよびスライスのような他の形の冗長データ、SEIメッセージ、VUIパラメータ・セット・フラグメントなどを含んでいてもよい。
【0098】
ビデオは、時間的シーケンスにおいて複数の源ピクチャー(ビデオ・ピクチャー)として捕捉されてもよい。ピクチャー内予測(しばしば、イントラ予測と略される)は、所与のピクチャーにおける空間的相関を利用し、ピクチャー間予測は、ピクチャー間の(時間的または他の)相関を利用する。一例では、現在ピクチャーと呼ばれるエンコード/デコード対象の特定のピクチャーは、ブロックに分割される。現在ピクチャー内のブロックが、ビデオにおける、前に符号化され、かつ、まだバッファに入れられている参照ピクチャー内の参照ブロックに類似する場合、現在ピクチャー内のそのブロックは、動きベクトルと呼ばれるベクトルによって符号化できる。動きベクトルは、参照ピクチャー内の参照ブロックをポイントし、複数の参照ピクチャーが使用される場合には、参照ピクチャーを同定する第3の次元を有することができる。
【0099】
いくつかの実施形態において、ピクチャー間予測において双予測技術が使用できる。双予測技術によれば、いずれもビデオにおいて現在ピクチャーよりデコード順で先行する(ただし、表示順では、それぞれ過去および将来であってもよい)第1の参照ピクチャーおよび第2の参照ピクチャーのような2つの参照ピクチャーが使用される。現在ピクチャー内のブロックは、第1の参照ピクチャー内の第1の参照ブロックをポイントする第1 動きベクトルと、第2の参照ピクチャー内の第2の参照ブロックをポイントする第2 動きベクトルとによって符号化できる。ブロックは、第1の参照ブロックと第2の参照ブロックの組み合わせによって予測できる。
【0100】
さらに、符号化効率を改善するために、ピクチャー間予測においてマージ・モード技法が使用できる。
【0101】
本開示のいくつかの実施形態によれば、ピクチャー間予測およびピクチャー内予測などの予測は、ブロックの単位で実行される。たとえば、HEVC規格によれば、ビデオ・ピクチャーのシーケンスにおけるピクチャーは、圧縮のために符号化ツリー単位(CTU)に分割され、ピクチャーにおけるそれらのCTUは、64×64ピクセル、32×32ピクセル、または16×16ピクセルなどの同じサイズを有する。一般に、CTUは、1つのルーマCTBおよび2つのクロマCTBである3つの符号化ツリーブロック(CTB)を含む。各CTUは、再帰的に、一つまたは複数の符号化単位(CU)に四分木分割されていくことができる。たとえば、64×64ピクセルのCTUは、64×64ピクセルの1つのCU、または32×32ピクセルの4つのCU、または16×16ピクセルの16個のCUに分割されることができる。一例では、各CUは、インター予測タイプまたはイントラ予測タイプのような、そのCUについての予測タイプを決定するために解析される。CUは時間的および/または空間的予測可能性に依存して、一つまたは複数の予測単位(PU)に分割される。一般に、各PUはルーマ予測ブロック(PB)および2つのクロマPBを含む。ある実施形態では、符号化(エンコード/デコード)における予測動作は、予測ブロックの単位で実行される。予測ブロックの例としてルーマ予測ブロックを用いると、予測ブロックは、8×8ピクセル、16×16ピクセル、8×16ピクセル、16×8ピクセルなど、ピクセルについての値(たとえば、ルーマ値)の行列を含む。
【0102】
図7は、ビデオ・エンコーダ(703)の例示的な図を示す。ビデオ・エンコーダ(703)は、ビデオ・ピクチャーのシーケンス内の現在ビデオ・ピクチャー内のサンプル値の処理ブロック(たとえば、予測ブロック)を受領し、処理ブロックを、符号化ビデオ・シーケンスの一部である符号化されたピクチャーにエンコードするように構成される。一例では、ビデオ・エンコーダ(703)は、
図4の例におけるビデオ・エンコーダ(403)の代わりに使用される。
【0103】
HEVCの例では、ビデオ・エンコーダ(703)は、8×8サンプルなどの予測ブロックのような処理ブロックについてサンプル値の行列を受領する。ビデオ・エンコーダ(703)は、処理ブロックが、イントラ・モード、インター・モード、または双予測モードのどれを使用して、最もよく符号化されるかを、たとえばレート‐歪み最適化を使用して、判別する。処理ブロックがイントラ・モードで符号化される場合、ビデオ・エンコーダ(703)は、処理ブロックを符号化されたピクチャーにエンコードするためにイントラ予測技法を使用してもよく;処理ブロックがインター・モードまたは双予測モードで符号化される場合、ビデオ・エンコーダ(703)は、処理ブロックを符号化されたピクチャーにエンコードするために、それぞれ、インター予測技法または双予測技法を使用してもよい。ある種のビデオ符号化技術では、マージモード(merge mode)は、動きベクトルが一つまたは複数の動きベクトル予測子から導出されるが前記予測子の外の符号化された動きベクトル成分の利益のない、ピクチャー間予測サブモードでありうる。ある種の他のビデオ符号化技術では、対象ブロックに適用可能な動きベクトル成分が存在してもよい。一例では、ビデオ・エンコーダ(703)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)などの他のコンポーネントを含む。
【0104】
図7の例では、ビデオ・エンコーダ(703)は、インター・エンコーダ(730)、イントラ・エンコーダ(722)、残差計算器(723)、スイッチ(726)、残差エンコーダ(724)、全般コントローラ(721)、およびエントロピー符号化器(725)を、
図7に示されるように一緒に結合されて含む。
【0105】
インター・エンコーダ(730)は、現在ブロック(たとえば、処理ブロック)のサンプルを受領し、該ブロックを参照ピクチャー内の一つまたは複数の参照ブロック(たとえば、以前のピクチャーおよび後のピクチャー内のブロック)と比較し、インター予測情報(たとえば、インター・エンコード技術による冗長情報の記述、動きベクトル、マージ・モード情報)を生成し、該インター予測情報に基づいて、任意の好適な技法を使用してインター予測結果(たとえば、予測されたブロック)を計算するように構成される。いくつかの例では、前記参照ピクチャーは、エンコードされたビデオ情報に基づいてデコードされた、デコードされた参照ピクチャーである。
【0106】
イントラ・エンコーダ(722)は、現在ブロック(たとえば、処理ブロック)のサンプルを受領し、場合によっては、該ブロックを、同じピクチャー内ですでに符号化されているブロックと比較し、変換後に量子化された係数を生成し、場合によっては、イントラ予測情報(たとえば、一つまたは複数のイントラ・エンコード技法によるイントラ予測方向情報)も生成するように構成される。一例では、イントラ・エンコーダ(722)はまた、該イントラ予測情報および同じピクチャー内の参照ブロックに基づいて、イントラ予測結果(たとえば、予測されたブロック)を計算する。
【0107】
全般コントローラ(721)は、全般制御データを決定し、全般制御データに基づいてビデオ・エンコーダ(703)の他のコンポーネントを制御するように構成される。一例では、全般コントローラ(721)は、ブロックのモードを決定し、そのモードに基づいて制御信号をスイッチ(726)に提供する。たとえば、モードがイントラ・モードである場合、全般コントローラ(721)は、残差計算器(723)による使用のためにイントラ・モードの結果を選択するようスイッチ(726)を制御し、イントラ予測情報を選択し、イントラ予測情報をビットストリームに含めるようエントロピー・エンコーダ(725)を制御する;モードがインター・モードである場合、全般コントローラ(721)は、残差計算器(723)による使用のためにインター予測の結果を選択するようスイッチ(726)を制御し、インター予測情報を選択し、インター予測情報をビットストリームに含めるようエントロピー・エンコーダ(725)を制御する。
【0108】
残差計算器(723)は、受領されたブロックと、イントラ・エンコーダ(722)またはインター・エンコーダ(730)から選択された予測結果との差(残差データ)を計算するように構成される。残差エンコーダ(724)は、残差データに基づいて、残差データをエンコードして変換係数を生成するように構成される。一例では、残差エンコーダ(724)は、残差データを空間領域から周波数領域に変換し、変換係数を生成するように構成される。次いで、変換係数は、量子化処理にかけられ、量子化された変換係数を得る。さまざまな実施形態において、ビデオ・エンコーダ(703)は、残差デコーダ(728)をも含む。残差デコーダ(728)は、逆変換を実行して、デコードされた残差データを生成するように構成される。デコードされた残差データは、イントラ・エンコーダ(722)およびインター・エンコーダ(730)によって好適に使用されることができる。たとえば、インター・エンコーダ(730)は、デコードされた残差データおよびインター予測情報に基づいて、デコードされたブロックを生成することができ、イントラ・エンコーダ(722)は、デコードされた残差データおよびイントラ予測情報に基づいて、デコードされたブロックを生成することができる。デコードされたブロックは、デコードされたピクチャーを生成するために好適に処理され、デコードされたピクチャーは、メモリ回路(図示せず)内でバッファリングされ、いくつかの例では参照ピクチャーとして使用されることができる。
【0109】
エントロピー・エンコーダ(725)は、エンコードされたブロックを含むようにビットストリームをフォーマットするように構成される。エントロピー・エンコーダ(725)は、HEVC規格のような好適な標準に従ってビットストリーム中にさまざまな情報を含めるように構成される。一例では、エントロピー・エンコーダ(725)は、全般制御データ、選択された予測情報(たとえば、イントラ予測情報またはインター予測情報)、残差情報、および他の好適な情報をビットストリーム内に含めるように構成される。開示される主題によれば、インター・モードまたは双予測モードのいずれかのマージ・サブモードにおいてブロックを符号化する場合は、残差情報は存在しないことを注意しておく。
【0110】
図8は、ビデオ・デコーダ(810)の例示的な図を示す。ビデオ・デコーダ(810)は、符号化されたビデオ・シーケンスの一部である符号化されたピクチャーを受領し、符号化されたピクチャーをデコードして、再構成されたピクチャーを生成するように構成される。一例では、ビデオ・デコーダ(810)は、
図4の例におけるビデオ・デコーダ(410)の代わりに使用される。
【0111】
図8の例では、ビデオ・デコーダ(810)は、エントロピー・デコーダ(871)、インター・デコーダ(880)、残差デコーダ(873)、再構成モジュール(874)、およびイントラ・デコーダ(872)が
図8に示されるように一緒に結合されたものを含む。
【0112】
エントロピー・デコーダ(871)は、符号化されたピクチャーから、その符号化されたピクチャーが構成されるシンタックス要素を表わすある種のシンボルを再構成するように構成されることができる。そのようなシンボルは、たとえば、ブロックが符号化されるモード(たとえば、イントラ・モード、インター・モード、双予測モード、マージ・サブモードまたは別のサブモードにおける後者の2つ)と、イントラ・デコーダ(872)またはインター・デコーダ(880)によってそれぞれ予測のために使用されるある種のサンプルまたはメタデータを同定することができる予測情報(たとえば、イントラ予測情報またはインター予測情報など)とを含むことができる。シンボルは、たとえば量子化された変換係数の形の残差情報などを含むこともできる。一例では、予測モードがインターまたは双予測モードである場合、インター予測情報がインター・デコーダ(880)に提供され;予測タイプがイントラ予測タイプである場合には、イントラ予測情報がイントラ・デコーダ(872)に提供される。残差情報は、逆量子化を受けることができ、残差デコーダ(873)に提供される。
【0113】
インター・デコーダ(880)は、インター予測情報を受領し、該インター予測情報に基づいてインター予測結果を生成するように構成される。
【0114】
イントラ・デコーダ(872)は、イントラ予測情報を受領し、該イントラ予測情報に基づいて予測結果を生成するように構成される。
【0115】
残差デコーダ(873)は、逆量子化を実行して量子化解除された変換係数を抽出し、量子化解除された変換係数を処理して、残差情報を周波数領域から空間領域に変換するように構成される。残差デコーダ(873)はまた、ある種の制御情報(量子化器パラメータ(QP)を含む)をも必要とすることがあり、その情報は、エントロピー・デコーダ(871)によって提供されてもよい(これは、低ボリュームの制御情報のみであるため、データ経路は描かれていない)。
【0116】
再構成モジュール(874)は、空間領域において、残差デコーダ(873)によって出力される残差情報と、予測結果(場合に応じてイントラまたはインター予測モジュールによって出力される)とを組み合わせて、再構成されたブロックを形成するように構成され、該再構成されたブロックは再構成されたピクチャーの一部であってもよく、該再構成されたピクチャーは再構成されたビデオの一部であってもよい。視覚的品質を改善するためにブロッキング解除動作などの他の好適な動作が実行されることができることを注意しておく。
【0117】
なお、ビデオ・エンコーダ(403)、(603)、(703)、およびビデオ・デコーダ(410)、(510)、(810)は、任意の好適な技法を用いて実装できる。ある実施形態では、ビデオ・エンコーダ(403)、(603)、(703)およびビデオ・デコーダ(410)、(510)、(810)は、一つまたは複数の集積回路を使用して実装できる。別の実施形態では、ビデオ・エンコーダ(403)、(603)、(603)、およびビデオ・デコーダ(410)、(510)、(810)は、ソフトウェア命令を実行する一つまたは複数のプロセッサを使用して実装できる。
【0118】
本開示は、マージ候補タイプまたはマージ候補グループを複数のサブグループに分割することに関する実施形態を含む。マージ候補タイプは、マージ候補の特性に基づいて分割できる。さらに、各サブグループ内のマージ候補は、再順序付けされてもよい。再順序付けはまた、たとえば、相対的なテンプレート・マッチング・コストに従って、複数のマージ候補タイプに適用されてもよい。たとえば、各マージ候補タイプは、各サブグループ内のマージ候補の特性に従って、2つ以上のサブグループに分割されることができ、各サブグループ内のマージ候補は、適応的に再順序付けされることができる。適応的再順序付けは、各マージ候補タイプの相対的なテンプレート・マッチング・コストに従って、マージ候補タイプに適用されることもできる。
【0119】
ITU-T VCEG(Q6/16)およびISO/IEC MPEG(JTC 1/SC29/WG11)は、2013年(バージョン1)、2014年(バージョン2)、2015年(バージョン3)、2016年(バージョン4)にH.265/HEVC(High Efficiency Video Coding[高効率ビデオ符号化])規格を公表した。2015年には、両標準機関が合同でJVET(Joint Video Exploration Team[合同ビデオ探査チーム])を結成し、HEVCを越えた次のビデオ符号化規格の開発の可能性を探った。2017年10月、両標準機関は、HEVCを超える能力をもつビデオ圧縮に関する合同での提案募集(Joint Call for Proposals on Video Compression with Capability beyond HEVC)(CfP)を発表した。2018年2月15日までに、標準ダイナミックレンジ(SDR)に関する22のCfP応答、高ダイナミックレンジ(HDR)に関する12のCfP応答、および360のビデオ・カテゴリーに関する12のCfP応答がそれぞれ提出された。2018年4月には、122 MPEG/第10回JVET会合において、すべての受領されたCfP応答が評価された。この会合の結果、JVETは、HEVCを超えた次世代ビデオ符号化の標準化プロセスを正式に立ち上げ、この新しい規格は多用途ビデオ符号化(Versatile Video Coding、VVC)と名付けられ、JVETは合同ビデオ専門アチーム(Joint Video Experts Team)と改称された。2020年、ITU-T VCEG(Q6/16)およびISO/IEC MPEG(JTC1/SC29/WG11)は、VVCビデオ符号化規格(バージョン1)を公表した。
【0120】
インター予測では、各インター予測された符号化単位(CU)について、たとえばインター予測されたサンプル生成のために使用されるVVCの符号化特徴のために、動きパラメータが必要とされる。動きパラメータは、動きベクトル、参照ピクチャー・インデックス、参照ピクチャー・リスト使用インデックス、および/または追加情報を含むことができる。動きパラメータは、明示的または暗黙的に信号伝達できる。CUがスキップ・モードで符号化される場合、CUは1つのPUと関連付けられることができ、有意な残差係数、符号化された動きベクトル・デルタ、および/または参照ピクチャー・インデックスは必要とされないことがある。CUがマージ・モードで符号化される場合、CUのための動きパラメータは近傍CUから得ることができる。近傍CUは、空間的および時間的候補、およびVVCにおいて導入されるような追加的スケジュール(または追加的候補)を含むことができる。マージ・モードは、スキップ・モードだけでなく、任意のインター予測されるCUに適用できる。マージ・モードの代替は、動きパラメータの明示的な伝送であり、ここで、動きベクトル、各参照ピクチャー・リストについての対応する参照ピクチャー・インデックス、参照ピクチャー・リスト使用フラグ、および/または他の必要とされる情報が、CUごとに明示的に信号伝達されることができる。
【0121】
VVCでは、VVC試験モデル(VVC Test model、VTM)参照ソフトウェアは、以下のうちの一つまたは複数を含むことができる、いくつかの新しい洗練されたインター予測符号化ツールを含むことができる:
(1)拡張マージ予測
(2)マージ動きベクトル差分(Merge motion vector difference、MMVD)
(3)対称MVD信号伝達を用いるAMVPモード
(4)アフィン動き補償予測
(5)サブブロック・ベースの時間的動きベクトル予測(Subblock-based temporal motion vector prediction、SbTMVP)
(6)適応動きベクトル分解能(Adaptive motion vector resolution、AMVR)
(7)動きフィールド・ストレージ:1/16ルーマ・サンプルMV記憶および8×8動きフィールド圧縮
(8)CUレベルの重みを用いた双予測(Bi-prediction with CU-level weights、BCW)
(9)双方向オプティカルフロー(Bi-directional optical flow、BDOF)
(10)デコーダ側動きベクトル洗練(Decoder side motion vector refinement、DMVR)
(11)複合インター・イントラ予測(Combined inter and intra prediction、CIIP)
(12)幾何学的パーティション分割モード(Geometric partitioning mode、GPM)
【0122】
マージ候補リストは、VTM4でのように5つのタイプの候補を含めることによって構築できる。マージ候補リストは次の順序で構築できる:
(1)空間的近傍CUからの空間的MVP、
(2)共位置のCUからの時間的MVP、
(3)FIFOテーブルからの履歴ベースのMVP、
(4)対ごとの平均MVP、
(5)ゼロMV。
【0123】
マージ・リストのサイズは、スライス・ヘッダで信号伝達できる。マージ・リストの最大許容サイズは、VTM4でのように、6にすることができる。マージ・モードで符号化される各CUについて、最良のマージ候補のインデックスが、たとえば打ち切りされた単項二進化(truncated unary binarization)を用いてエンコードできる。マージ・インデックスの第1のビンはコンテキストを用いて符号化でき、他のビンについてはバイパス符号化が使用できる。
【0124】
空間的候補導出において、たとえばVVCでは、空間的マージ候補の導出は、HEVCにおける空間的マージ候補の導出と同じまたは同様でありうる。マージ候補の最大数(たとえば、4つのマージ候補)は、たとえば
図9に示される位置に位置する候補のうちから選択できる。
図9に示されるように、現在ブロック(901)は、位置A
0、A
1、B
0、B
1、およびB
2にそれぞれ位置する近傍ブロック(902)~(906)を含むことができる。空間的マージ候補の導出の順序は、B
1、A
1、B
0、A
0、およびB
2とすることができる。位置B
2は、位置A
0、B
0、B
1、またはA
1のいずれかのCU(またはブロック)が利用可能でない場合(たとえば、そのCUが別のスライスまたはタイルに属するため)、またはイントラ符号化されている場合にのみ考慮されうる。位置A
1の候補(またはブロック)が追加された後、残りの候補(またはブロック)の追加は、冗長性検査を受けることができる。冗長性検査は、符号化効率が改善されるように、同じ動き情報をもつ候補がマージ・リストから除外されることを保証することができる。計算複雑性を低減するために、冗長性検査はすべての可能な候補対を考慮しなくてもよい。代わりに、
図10における矢印で結ばれた候補対のみが考慮されてもよい。たとえば、冗長性検査は、A1とB1の候補対およびA1とA0の候補対のような5つの候補対に適用できる。マージ・リストに候補が追加されうるのは、冗長性検査のために使用される対応する候補が同じ動き情報を含まない場合のみである。たとえば、候補B0は、対応する候補B1が同じ動き情報を含まない場合にのみ、マージ・リストに追加されうる。
【0125】
時間的候補の導出では、1つの候補だけがマージ・リストに追加されうる。たとえば、
図11に示されるように、現在CU(1114)についての時間的マージ候補の導出において、共位置の参照ピクチャー(1112)に属する共位置のCU(1104)に基づいて、スケーリングされた動きベクトルが導出されうる。共位置のCU(1104)の導出のために使用される参照ピクチャー・リストは、スライス・ヘッダにおいて明示的に信号伝達されることができる。時間的マージ候補のためのスケーリングされた動きベクトルは、
図11の点線(1102)によって示されるように得ることができ、それは、ピクチャー順カウント(POC)距離tbおよびtdを用いて、共位置のCU(1104)の動きベクトルからスケーリングされる。tbは、現在ピクチャーの参照ピクチャー(たとえば、Curr_ref)(1106)と現在ピクチャー(たとえば、Curr_pic)(1108)との間のPOC差として定義できる。tdは、共位置のピクチャー(たとえば、Col_ref)(1110)と共位置のピクチャー(たとえば、Col_pic)(1112)との間のPOC差として定義できる。時間的マージ候補の参照ピクチャー・インデックスはゼロに設定できる。
【0126】
時間的候補についての位置は、
図12に示されるように、候補C
0およびC
1の間で選択できる。たとえば、位置C
0におけるCUが利用可能でない、イントラ符号化されている、または現在のCTU行の外にある場合、位置C
1が使用できる。それ以外の場合、位置C
0が時間的マージ候補の導出において使用できる。
【0127】
圧縮効率をさらに改善するために、VVCの能力を超えた向上した圧縮ツールが必要とされている。
【0128】
一例では、デコーダ側で動きを洗練するテンプレート・マッチング(TM)が提供されることができる。TMモードでは、左および上の近傍の再構成されたサンプルからテンプレートを構築し、現在ピクチャーにおけるテンプレートと参照ピクチャーとの間の最も近い一致を見出すことによって、動きが洗練されることができる。
【0129】
図13に示されるように、現在ブロック(またはCU)(1304)が現在フレーム(1306)に含まれうる。現在CU(1304)の上の辺および/または左の辺に隣接して位置する近傍サンプルは、現在CU(1304)の現在のテンプレート(1308)を形成することができる。参照フレーム(1310)内の[-8,+8]ピクセル探索範囲内の現在CU(1304)の初期動き(1302)のまわりを探索することによって、より良い(または洗練された)MVを得ることができる。前記より良いMVは、参照フレーム(1310)内の該より良いMVによって示される参照ブロックに基づいて、決定されることができる。ここで、参照ブロックの参照テンプレート(1312)と現在ブロック(1304)の現在のテンプレート(1308)との間の差(またはTMコスト)が、探索範囲において最小化される。たとえば、探索ステップ・サイズは、適応動きベクトル・レンジ(AMVR)モードによって決定されることができ、TMは、バイラテラル・マッチング・プロセスと縦続されることができる。
【0130】
一例では、隣接しない空間的マージ候補が提供されることができる。隣接しない空間的マージ候補は、通常のマージ候補リストにおいて時間的MV予測子(temporal MV predictor、TMVP)の後に挿入されることができる。空間的マージ候補の例示的なパターン(1400)は、
図14に示されうる。
図14に示されるように、パターン(1400)は、現在符号化ブロック(1402)について、隣接する空間的マージ候補1~5および隣接しない空間的マージ候補6~23を含むことができる。隣接しない空間的マージ候補と現在符号化ブロック(1402)との間の距離は、現在符号化ブロック(1402)の幅および/または高さに基づくことができる。
【0131】
テンプレート・マッチングを用いたマージ候補の適応的再順序付け(adaptive reordering of merge candidates with template matching)(ARMC)が提供されることができる。ARMCは、通常のマージ・モード、テンプレート・マッチング(TM)・マージ・モード、およびアフィン・マージ・モード(SbTMVP候補を除く)に適用できる。TMマージ・モードについては、マージ候補は洗練プロセスの前に再順序付けされることができる。マージ候補リストが構築された後、マージ候補はいくつかのサブグループに分割されることができる。各サブグループについてのサブグループ・サイズは、5のような任意の数に設定されることができる。各サブグループにおけるマージ候補は、テンプレート・マッチングに基づくコスト値に従って、昇順に再順序付けされることができる。簡略化のために、最後だが最初ではないサブグループにおけるマージ候補は再順序付けされなくてもよい。Wsub×Hsubに等しいサブブロック・サイズをもつサブブロック・ベースのマージ候補については、上のテンプレートは、Wsub×1のサイズをもついくつかのサブテンプレートを含むことができ、左のテンプレートは、1×Hsubのサイズをもついくつかのサブテンプレートを含むことができる。Wsubはサブブロックの幅であることができ、Hsubはサブブロックの高さであることができる。
【0132】
サブブロック・ベースのマージ候補の例示的な導出が
図15に示されることができる。
図15に示されるように、現在ブロック(1502)が現在ピクチャー(1504)に含まれうる。現在ブロック(1502)は、第1行および第1列内のサブブロックA~Gを含むことができる。現在ブロック(1502)は、現在ブロック(1502)の上の辺および左の辺に隣接するテンプレート(1506)を含むことができる。現在ブロック(1502)は、参照ピクチャー(1510)における共位置のブロック(1508)を含むことができる。共位置のブロック(1508)は、現在ブロック(1502)におけるサブブロックA~Gに対応する、第1行および第1列におけるサブブロックA~Gを含むことができる。現在ブロック(1502)の第1行および第1列におけるサブブロックA~Gの動き情報(たとえば、アフィン動きベクトル)が、共位置のブロック(1508)のサブテンプレート(またはサブ参照テンプレート)の参照サンプルを導出するために使用できる。たとえば、現在ブロック(1502)のサブブロックA、E、F、およびGの動き情報が、共位置のブロック(1508)のサブブロックA、E、F、およびGの左の諸辺に隣接して位置する諸サブテンプレートの諸参照サンプルを導出するために適用されることができる。共位置のブロック(1508)のサブブロックA、E、F、およびGの左の諸辺に隣接する諸サブテンプレートは、共位置のブロック(1508)の左の参照テンプレートを形成することができる。現在ブロック(1502)のサブブロックA、B、C、およびDの動き情報は、共位置のブロック(1508)のサブブロックA、B、C、およびDの上の諸辺に隣接して位置する諸サブテンプレートの諸参照サンプルを導出するために適用されることができる。共位置のブロック(1508)のサブブロックA、B、C、およびDの上の諸辺に隣接する諸サブテンプレートは、共位置のブロック(1508)の上の参照テンプレートをさらに形成することができる。
【0133】
隣接しない候補およびHMVP候補は、ECMおよびEE2におけるように、隣接する候補およびTMVP候補の後に、事前定義されたたどる順序に基づいて、マージ候補リストに入れられることができる。隣接しない候補およびHMVP候補を、隣接する候補およびTMVP候補の後に、ただしテンプレート・マッチング・コストの昇順でマージ候補リストに入れるために、テンプレート・マッチング・ベースのマージ候補リスト構築(TM-MCLC)が提供されることができる。すべての利用可能な非隣接動きベクトル予測子(motion vector predictor、MVP)および履歴ベースの動きベクトル予測子(history-based motion vector predictor、HMVP)は、グループ内に集められることができる。グループ内の各候補に関連するTMコストは、ARMCと同様の仕方で導出されることができる。さらに、グループ内のすべての候補が、対応するTMコストに基づいて昇順でソートされることができる。最後に、隣接しない候補およびHMVP候補は、テンプレート・マッチング・コストの昇順に基づいてマージ候補リストに入れられることができる。TM-MCLCにおけるようなECMソフトウェアにおける隣接MVPは、より多くの空間的および隣接しない時間的位置を用いてさらに拡張されることができる。現在ブロック(1608)のMVPの位置の例示的なパターン(1600)が、
図16に示されうる。
図16に示されるように、パターン(1600)は、ECM-2.0における非隣接空間的MVPのための18の位置(1602)、追加的な(または新たな追加された)32の隣接しない空間位置(またはMVP)(1604)、および12の隣接しない時間位置(またはMVP)(1606)を含むことができ、ここで、隣接しない時間MVP位置は、隣接TMVPと同じ参照フレーム内に位置することができる。
【0134】
MV候補タイプ・ベースのARMCは、TMコスト値に基づいて、TMVP、NA-MVPなどの候補タイプにおけるマージ候補を再順序付けするために使用されることができる。次いで、マージ候補リストが構築されるときに、候補タイプに基づいて、再順序付けされた候補からM個の候補が選択されることができる。Mは候補タイプに依存して異なることができる。たとえば、TMVPタイプについてはM=1、NA-MVPタイプについてはM=9である。いくつかの候補タイプは、再順序付けと選択を実行するために、より多くのマージ候補を追加することができる。たとえば、右下位置と中心位置を含む異なる共位置の位置から導出されたTMVP候補が一緒に再順序付けされることができ、再順序付けされたTMVP候補から1つの候補が選択されることができる。
【0135】
引き続き
図16を参照するに、全体で62個のマージ候補が、隣接しない空間的マージ候補リスト構成について適用されることができる。62個のマージ候補は、対応するTMコストを昇順にソートすることによって、グループに入れられることができる。よって、62個のマージ候補をソートするためには、複雑なソート動作が必要とされる。さらに、圧縮効率をさらに改善するために、ECMソフトウェアの上に、マージ候補リストにおいて、拡張されたマージ候補が提案されてもよい。拡張されたマージ候補を追加した後、マージ候補リストのサイズは急速に増大し、大きなマージ候補インデックスのエントロピー符号化はあまり効率的でない可能性がある。
【0136】
本開示では、現在ブロックのマージ候補リストが、利用可能なマージ候補に基づいて生成されることができる。たとえば、現在ブロックの隣接しない空間的マージ候補および/または他のマージ候補が、マージ候補リストを生成するために含められることができる。隣接しない空間的マージ候補および/または他のマージ候補は、複数のサブグループに分割されることができる。
【0137】
各サブグループについて、それぞれのサブグループ内のマージ候補は、パラメータ(たとえば、コスト値)に基づいて、ある順序(たとえば、昇順)でソートされることができる。たとえば、各サブグループ内のマージ候補は、マージ候補の対応するTMコストに基づいて昇順にソートされることができる。サブグループはさらに、マージ候補リスト内で再順序付けされて、再順序付けされたマージ候補リストを生成することができる。一例では、サブグループは、昇順で、特性パラメータ(たとえば、特徴的なコスト値)に基づいて、マージ候補リスト内で再順序付けされることができる。サブグループの特徴的なコスト値は、サブグループの最小TMコスト、サブグループのメジアンTMコスト、サブグループの平均TMコストなどでありうる。
【0138】
ある実施形態では、隣接しない空間的マージ候補は、
図16に示される隣接しない空間的マージ候補であることができる。隣接しない空間的マージ候補は、3つのサブグループのような複数のサブグループに分類(または分割)されることができる。第1のサブグループは、諸位置(1602)において、隣接しない空間的MVP(または候補)を含むことができる。
図16に示されるように、隣接しない空間的MVPは、水平軸(たとえば、X軸)に関して、π/4の角度、π/2の角度、3π/4の角度、πの角度、および5π/4の角度に沿って位置されることができる。第2のサブグループは、諸位置(1604)において、新たに追加された非接しない空間的MVPを含むことができる。
図16に示されるように、新たに追加された非隣接MVPは、水平軸に対してπ/4の角度、3π/8の角度、π/2の角度、5π/8の角度、3π/4の角度、7π/8の角度、πの角度、9π/8の角度、および5π/4の角度に沿って位置されることができる。第3のサブグループは、たとえば、諸位置(1606)において、隣接しない時間的MVPを含むことができる。
【0139】
各サブグループについてのすべてのマージ候補は、それぞれのサブグループにおけるマージ候補のTMコストに基づいて、昇順などの順序でソートされることができる。各マージ候補のそれぞれのTMコスト値は、現在ブロックの現在のテンプレート(または隣接する近傍サンプル)と対応するマージ候補の参照テンプレート(または隣接する近傍サンプル)との間の差に基づいて決定されることができる。例示的な現在のテンプレートおよび参照テンプレートが
図13に示されることができる。TMコストは、平均二乗誤差(mean square error、MSE)、平均絶対差(mean absolute difference、MAD)、差分絶対値和(sum of absolute difference、SAD)、変換差分絶対値和(sum of absolute transformed difference、SATD)、部分的SAD(partial SAD)などのいずれかに基づいて計算されることができる。
【0140】
ある実施形態では、マージ候補リスト内の候補のサブグループは、事前定義された順序でマージ候補リスト内に配置されることができる。事前定義された順序は、SPS、PPS、ピクチャーヘッダ、および/またはスライス・ヘッダなどにおいて、ビットストリーム内で信号伝達されることができる。
【0141】
ある実施形態では、マージ候補リスト内の候補のサブグループは、マージ候補リスト内で再順序付けされることができる。サブグループは、各サブグループの対応するTMコスト(または特徴的なTMコスト)に従って再順序付けされることができる。
【0142】
一例では、各サブグループについての最小のTMコストが、隣接しない空間的マージ候補リスト構築の順序を決定するために使用されることができる。よって、各サブグループについてのそれぞれの最小TMコストが、最初に決定されることができる。サブグループは、それらの最小TMコストに基づいて昇順に並べ替えることができる。たとえば、
図16に示されるように、隣接しない空間的マージ候補リストは、3つのサブグループを含むことができる。第3のサブグループの最小TMコストが第2のサブグループの最小TMコストより小さく、第2のサブグループの最小TMコストが第1のサブグループの最小TMコストより小さい場合、3つのサブグループは、サブグループ#3<サブグループ#2<サブグループ#1として順番に配置されることができる。これは、第3のサブグループが隣接しない空間的マージ候補リストにおいて最初に配置されうることを意味する。第2のサブグループは、第3のサブグループの後に配置されることができ、第1のサブグループは、隣接しない空間的マージ候補リストにおいて第2のサブグループの後に配置されることができる。
【0143】
一例では、各サブグループについてのメジアンTMコストが、隣接しない空間的マージ候補リスト構築の順序を決定するために使用されることができる。サブグループは、各サブグループのメジアンTMコストに基づいて、昇順などの順序で再順序付けされることができる。
【0144】
一例では、サブグループのサイズが1より大きい場合、各サブグループについての最初の2つの最小のTMコストのようなTMコストの平均値が、隣接しない空間的マージ候補リスト構築の順序を決定するために適用されることができる。サブグループは、各サブグループの最初の2つの最小のTMコストの平均値に基づいて、昇順などの順序で並べ替えられることができる。
【0145】
一例では、各サブグループについて、最初のn個の最小のTMコストのような、TMコストのサブセットのメジアンTMコストが、隣接しない空間的マージ候補リスト構築の順序を決定するために適用されることができる。一例では、サブグループのサイズが2より大きい場合、TMコストのサブセットのメジアンTMコストが利用される。nは、2以上の正の整数でありうる。サブグループは、各サブグループの最初のn個の最小のTMコストのメジアンTMコストに基づいて、昇順のような順序で並べ替えることができる。
【0146】
本開示において、現在ブロックのマージ候補リストは、さらに、(1)現在ブロックの近傍ブロックの空間的近傍ブロックからの空間的動きベクトル(MV)予測子、(2)現在ブロックの共位置のブロックからの時間的MV予測子、(3)先入れ先出し(FIFO)テーブルからの履歴ベースのMV予測子、(4)対ごとの平均MV予測子、または(5)ゼロMVのうちの少なくとも1つに基づいて構築されることができる。
【0147】
マージ候補リスト内のマージ候補は、さらに複数のグループ(またはサブグループ)に分割されることができる。たとえば、マージ候補リスト内のマージ候補は、同じ数のマージ候補、事前定義された数のマージ候補、または同じタイプのマージ候補に基づいて、複数のグループに分割されることができる。たとえば、第1のグループは、現在ブロックの近傍ブロックの空間的近傍ブロックからの空間的MV予測子のような、マージ候補の第1のタイプに基づいて形成されることができる。第2のグループは、現在ブロックの共位置のブロックからの時間的MV予測子のような、マージ候補の第2のタイプに基づいて形成されることができる。
【0148】
マージ候補リスト構築の前に、マージ候補リスト内のマージ候補、たとえばすべてのマージ候補について、TM手順が実行されて、マージ候補のTMコストが得られてもよい。各グループについてのマージ候補リスト構築の順序は、それぞれのグループの対応するTMコストに従って決定されることができる。たとえば、各グループにおけるマージ候補のTMコストは、最初に決定されることができる。各グループにおけるマージ候補は、マージ候補のTMコストに基づいて再順序付けされることができる。グループはさらに、各グループの対応するTMコスト(または特徴的なTMコスト)に基づく順序(たとえば、昇順)によって、マージ候補リストにおいて再順序付けされることができる。
【0149】
ある実施形態では、各グループについての最小のTMコストが、マージ候補リスト構築の順序を決定するために適用されることができる。よって、各グループについてのそれぞれの最小TMコストが最初に決定されることができる。グループは、最小TMコストに基づいて昇順に並べ替えることができる。たとえば、マージ候補リスト内のマージ候補が3つのグループに分割されることができる。第3のグループの最小TMコストが第2のグループの最小TMコストよりも小さく、第2のグループの最小TMコストが第1のグループの最小TMコストよりも小さい場合、第3のグループがマージ候補リストにおいて最初に配置されることができる。第2のグループは第3のグループの後に配置されることができ、第1のグループはマージ候補リストにおいて第2のグループの後に配置されることができる。
【0150】
ある実施形態では、各グループについてのメジアンTMコストが、マージ候補リスト構築の順序を決定するために適用されることができる。グループは、各グループのメジアンTMコストに基づいて、昇順などの順序で並べ替えることができる。
【0151】
ある実施形態では、グループのサイズが1より大きい場合、各グループについての、最初の2つの最小のTMコストのようなTMコストの平均値が、マージ候補リスト構築の順序を決定するために適用されることができる。グループは、各グループの最初の2つの最小のTMコストの平均値に基づいて、昇順などの順序で並べ替えることができる。
【0152】
ある実施形態では、各グループについて、最初のn個の最小のTMコストのような、TMコストのサブセットのメジアンTMコストが、マージ候補リスト構築の順序を決定するために適用されることができる。たとえば、グループのサイズが2より大きい場合、TMコストのサブセットのメジアンTMコストが適用されることができる。nは、2以上の正の整数であることができる。グループは、各グループの最初のn個の最小のTMコストのメジアンTMコストに基づいて、昇順のような順序で並べ替えることができる。
【0153】
図17は、本開示のいくつかの実施形態による、例示的なデコード・プロセス(1700)の概要を示すフローチャートを示す。
図18は、本開示のいくつかの実施形態による、例示的なエンコード・プロセス(1800)の概要を示すフローチャートを示す。提案されるプロセスは、別個に、または任意の順序で組み合わせて使用されうる。さらに、プロセス(または実施形態)、エンコーダ、およびデコーダのそれぞれは、処理回路(たとえば、一つまたは複数のプロセッサ、または一つまたは複数の集積回路)によって実装されてもよい。一例では、前記一つまたは複数のプロセッサは、非一時的なコンピュータ読み取り可能な媒体に記憶されたプログラムを実行する。
【0154】
プロセス(たとえば、(1700)および(1800))の動作は、所望に応じて、任意の量または順序で組み合わされ、または配置されうる。諸実施形態において、プロセス(たとえば、(1700)および(1800))の動作のうちの2つ以上が並列に実行されてもよい。
【0155】
プロセス(たとえば、(1700)および(1800))は、再構成中のブロックについての予測ブロックを生成するために、ブロックの再構成および/またはエンコードにおいて使用されることができる。さまざまな実施形態において、プロセス(たとえば、(1700)および(1800)は、端末装置(310)、(320)、(330)および(340)内の処理回路、ビデオエンコーダ(403)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、ビデオデコーダ(510)の機能を実行する処理回路、ビデオエンコーダ(603)の機能を実行する処理回路などの処理回路によって実行される。いくつかの実施形態では、プロセス(たとえば、(1700)および(1800))は、ソフトウェア命令で実装され、よって、処理回路がソフトウェア命令を実行するとき、処理回路は、プロセス(たとえば、(1700)および(1800))を実行する。
【0156】
図17に示されるように、プロセス(1700)は、(S1701)から開始し、(S1710)に進むことができる。(S1710)において、現在ピクチャーにおける現在ブロックおよび現在ブロックの近傍ブロックの符号化された情報が、符号化されたビデオ・ビットストリームから受領されることができる。
【0157】
(S1720)では、現在ブロックの近傍ブロックに基づいて、現在ブロックのマージ候補のリストが生成されることができる。
【0158】
(S1730)では、現在ブロックのマージ候補のリストは、複数のサブグループに分割されることができる。複数のサブグループのそれぞれは、一つまたは複数のマージ候補を含むことができる。前記一つまたは複数のマージ候補は、前記一つまたは複数のマージ候補のそれぞれに関連するそれぞれのTMコストによって、各サブグループ内で順序付けされることができる。
【0159】
(S1740)では、現在ブロックは、現在ブロックのマージ候補のリストから選択されたマージ候補に基づいて、再構成されることができる。
【0160】
プロセス(1700)では、マージ候補のリストにおける複数のサブグループは、該複数のサブグループのそれぞれに関連するそれぞれのTMコスト値に基づいて、さらに再順序付けされることができる。
【0161】
マージ候補のリストにおける複数のサブグループを並べ替えるために、複数のサブグループのそれぞれに関連するTMコスト値がまず決定されることができる。マージ候補のリストにおける複数のサブグループは、さらに、該複数のサブグループに関連するTMコスト値の昇順に基づいて、並べ替えることができる。よって、再順序付けされたマージ候補のリストにおける前記複数のサブグループのうちの第1のサブグループは、前記TMコスト値のうちの最小のTMコスト値に関連付けられることができる。
【0162】
前記複数のサブグループのそれぞれに関連するそれぞれのTMコスト値を決定するために、前記複数のサブグループの第1のサブグループにおける前記一つまたは複数のマージ候補の複数のTMコスト値が決定されることができる。TMコスト値のそれぞれは、現在ブロックの隣接する近傍サンプルと、第1のサブグループ内のそれぞれのマージ候補の隣接する近傍サンプルとの間の差に関連付けられることができる。前記複数のサブグループのうちの前記第1のサブグループにおける前記一つまたは複数のマージ候補は、前記第1のサブグループにおける前記一つまたは複数のマージ候補の前記複数のTMコスト値の昇順に基づいて、再順序付けされた第1のサブグループにおける最初のマージ候補が最小のTMコスト値を有するように、再順序付けされることができる。
【0163】
ある実施形態では、前記複数のサブグループのうちの前記第1のサブグループに関連するTMコスト値は、前記第1のサブグループにおける前記一つまたは複数のマージ候補の前記複数のTMコスト値のうちの最小のTMコスト値として決定されることができる。
【0164】
ある実施形態では、前記複数のサブグループの前記第1のサブグループに関連するTMコスト値は、前記第1のサブグループにおける前記一つまたは複数のマージ候補の前記複数のTMコスト値のメジアンTMコスト値として決定されることができる。
【0165】
ある実施形態では、前記複数のサブグループのうちの前記第1のサブグループに関連するTMコスト値は、前記第1のサブグループにおける前記一つまたは複数のマージ候補の前記複数のTMコスト値のうちの複数の最小TMコスト値のメジアンTMコスト値として決定されることができる。
【0166】
ある実施形態では、前記複数のサブグループのうちの前記第1のサブグループに関連するTMコスト値は、前記第1のサブグループにおける前記一つまたは複数のマージ候補の前記複数のTMコスト値のうち、最初の2つの最小のTMコスト値の平均値として決定されることができる。
【0167】
プロセス(1700)において、現在ブロックのマージ候補のリストは、現在ブロックの近傍ブロックの空間的近傍ブロックからの空間的動きベクトル(MV)予測子、現在ブロックの共位置のブロックからの時間的MV予測子、先入れ先出し(FIFO)テーブルからの履歴ベースのMV予測子、対ごとの平均MV予測子、ゼロMV、現在ブロックの近傍ブロックの隣接しない空間的近傍ブロックからの非隣接MV予測子、または現在ブロックの非隣接時間的MV予測子のうちの少なくとも1つに基づいて生成されることができる。
【0168】
非隣接MV予測子および非隣接時間的MV予測子を含むマージ候補のリストに基づいて、マージ候補のリストは、水平軸に関してπ/4の角度、π/2の角度、3π/4の角度、πの角度、および5π/4の角度に沿って位置される非隣接MV予測子の第1のグループを含む第1のサブグループに分割されることができる。マージ候補のリストはまた、水平軸に関してπ/4の角度、3π/8の角度、π/2の角度、5π/8の角度、3π/4の角度、7π/8の角度、πの角度、9π/8の角度、および5π/4の角度に沿って位置される非隣接MV予測子の第2のグループを含む第2のサブグループに分割されることができる。
【0169】
マージ候補のリストはさらに、非隣接時間的MV予測子を含む第3のサブグループに分割されることができる。
【0170】
いくつかの実施形態では、マージ候補のリストは、複数のサブグループのそれぞれが、同じ数のマージ候補、事前定義された数のマージ候補、または同じタイプのマージ候補のうちの1つを含むことができるように、複数のサブグループに分割されることができる。
【0171】
(S1740)の後、プロセスは(S1799)に進み、終了する。
【0172】
プロセス(1700)は、好適に適応されることができる。プロセス(1700)におけるステップは、修正および/または省略されることができる。追加的なステップが追加されることができる。任意の好適な実施順序が使用できる。
【0173】
図18に示されるように、プロセス(1800)は、(S1801)から開始し、(S1810)に進むことができる。(S1810)では、現在ピクチャー内の現在ブロックの近傍ブロックに基づいて、現在ブロックのマージ候補のリストが生成されることができる。
【0174】
(S1820)では、現在ブロックのマージ候補のリストは、複数のサブグループに分割されることができ、前記複数のサブグループのそれぞれは、一つまたは複数のマージ候補を含むことができる。
【0175】
(S1830)では、マージ候補のリストにおける前記複数のサブグループは、前記複数のサブグループのそれぞれに関連するそれぞれのTMコスト値に基づいて再順序付けされることができる。
【0176】
(S1840)では、現在ブロックのマージ候補の再順序付けされたリストから選択されたあるマージ候補に基づいて、現在ブロックの予測情報が生成されることができる。
【0177】
その後、プロセスは(S1899)に進み、終了する。
【0178】
プロセス(1800)は、好適に適応されうる。プロセス(1800)におけるステップは、修正および/または省略されることができる。追加的なステップが追加されうる。任意の好適な実装順序が使用できる。
【0179】
上述の技法は、コンピュータ読み取り可能な命令を用いてコンピュータ・ソフトウェアとして実装することができ、一つまたは複数のコンピュータ読み取り可能な媒体に物理的に記憶されることができる。たとえば、
図19は、開示された主題のある種の実施形態を実施するのに好適なコンピュータ・システム(1900)を示す。
【0180】
コンピュータ・ソフトウェアは、任意の好適な機械コードまたはコンピュータ言語を用いてコーディングされることができ、アセンブリ、コンパイル、リンク、または同様の機構の対象とされて、一つまたは複数のコンピュータ中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)などによって、直接的に、またはインタープリット、マイクロコード実行などを通じて実行可能な命令を含むコードを作成することができる。
【0181】
命令は、たとえば、パーソナルコンピュータ、タブレット・コンピュータ、サーバー、スマートフォン、ゲーム装置、モノのインターネット装置等を含むさまざまなタイプのコンピュータまたはそのコンポーネント上で実行されることができる。
【0182】
コンピュータ・システム(1900)について
図19に示されるコンポーネントは、例としての性質であり、本開示の実施形態を実装するコンピュータ・ソフトウェアの使用または機能の範囲に関する制限を示唆することを意図したものではない。コンポーネントの構成も、コンピュータ・システム(1900)の例示的実施形態において示されているコンポーネントの任意の1つまたは組み合わせに関する何らかの依存性または要件を有するものとして解釈されるべきではない。
【0183】
コンピュータ・システム(1900)は、ある種のヒューマン・インターフェース入力装置を含むことができる。そのようなヒューマン・インターフェース入力装置は、たとえば、触覚入力(たとえば、キーストローク、スワイプ、データグローブの動き)、音声入力(たとえば、声、拍手)、視覚入力(たとえば、ジェスチャー)、嗅覚入力(図示せず)を通じた一または複数の人間ユーザーによる入力に応答することができる。また、ヒューマン・インターフェース装置は、音声(たとえば、発話、音楽、周囲の音)、画像(たとえば、スキャンされた画像、スチール画像カメラから得られる写真画像)、ビデオ(たとえば、2次元ビデオ、立体視ビデオを含む3次元ビデオ)のような、人間による意識的入力に必ずしも直接関係しないある種のメディアを捕捉するために使用できる。
【0184】
入力ヒューマン・インターフェース装置は、キーボード(1901)、マウス(1902)、トラックパッド(1903)、タッチスクリーン(1910)、データグローブ(図示せず)、ジョイスティック(1905)、マイクロフォン(1906)、スキャナ(1907)、カメラ(1908)の一つまたは複数(それぞれの一つしか図示していない)を含んでいてもよい。
【0185】
コンピュータ・システム(1900)はまた、ある種のヒューマン・インターフェース出力装置を含んでいてもよい。そのようなヒューマン・インターフェース出力装置は、たとえば、触覚出力、音、光、および臭い/味を通じて、一または複数の人間ユーザーの感覚を刺激するものであってもよい。そのようなヒューマン・インターフェース出力装置は、触覚出力装置(たとえば、タッチスクリーン(1910)、データグローブ(図示せず)、またはジョイスティック(1905)による触覚フィードバック;ただし、入力装置のはたらきをしない触覚フィードバック装置もありうる)、音声出力装置(たとえば、スピーカー(1909)、ヘッドフォン(図示せず))、視覚出力装置(たとえば、CRT画面、LCD画面、プラズマスクリーン、OLED画面を含む画面(1910);それぞれはタッチスクリーン入力機能があってもなくてもよく、それぞれは触覚フィードバック機能があってもなくてもよく、そのうちのいくつかは、2次元の視覚出力または立体視出力のような手段を通じた3次元より高い出力を出力することができる;仮想現実感眼鏡(図示せず)、ホログラフィーディスプレイおよび煙タンク(図示せず))、およびプリンタ(図示せず)を含んでいてもよい。
【0186】
コンピュータ・システム(1900)はまた、人間がアクセス可能な記憶装置および関連する媒体、たとえば、CD/DVDまたは類似の媒体(1921)とともにCD/DVD ROM/RW(1920)を含む光学式媒体、サムドライブ(1922)、取り外し可能なハードドライブまたはソリッドステートドライブ(1923)、テープおよびフロッピーディスクといったレガシー磁気媒体(図示せず)、セキュリティ・ドングルのような特化したROM/ASIC/PLDベースの装置(図示せず)などを含むことができる。
【0187】
当業者はまた、現在開示されている主題に関連して使用される用語「コンピュータ読み取り可能な媒体」は、伝送媒体、搬送波、または他の一時的な信号を包含しないことを理解すべきである。
【0188】
コンピュータ・システム(1900)はまた、一つまたは複数の通信ネットワーク(1955)へのインターフェース(1954)を含むことができる。ネットワークは、たとえば、無線、有線、光学式でありうる。ネットワークは、さらに、ローカル、広域、都市圏、車載および工業用、リアルタイム、遅延耐性などでありうる。ネットワークの例は、イーサネット〔登録商標〕、無線LAN、GSM、3G、4G、5G、LTEなどを含むセルラー・ネットワーク、ケーブルテレビ、衛星テレビ、地上放送テレビを含むTV有線または無線の広域デジタルネットワーク、CANBusを含む車載および工業用などを含む。ある種のネットワークは、普通、ある種の汎用データ・ポートまたは周辺バス(1949)(たとえば、コンピュータ・システム(1900)のUSBポートなど)に取り付けられる外部ネットワーク・インターフェース・アダプターを必要とする。他は、普通、後述するようなシステム・バスへの取り付けによって、コンピュータ・システム(1900)のコアに統合される(たとえば、PCコンピュータ・システムへのイーサネット・インターフェースまたはスマートフォン・コンピュータ・システムへのセルラー・ネットワーク・インターフェース)。これらのネットワークのいずれかを使用して、コンピュータ・システム(1900)は、他のエンティティと通信することができる。そのような通信は、一方向性、受信のみ(たとえば、放送テレビ)、一方向性送信専用(たとえば、ある種のCANbus装置へのCANbus)、または、たとえば、ローカルまたは広域デジタルネットワークを使用する他のコンピュータ・システムへの双方向性であってもよい。上述のようなそれらのネットワークおよびネットワークインターフェースのそれぞれで、ある種のプロトコルおよびプロトコルスタックが使用できる。
【0189】
前述のヒューマン・インターフェース装置、人間がアクセス可能な記憶装置、およびネットワークインターフェースは、コンピュータ・システム(1900)のコア(1940)に取り付けることができる。
【0190】
コア(1940)は、一つまたは複数の中央処理装置(CPU)(1941)、グラフィックス処理装置(GPU)(1942)、フィールドプログラマブルゲートアレイ(FPGA)(1943)の形の特化したプログラマブル処理装置、ある種のタスクのためのハードウェアアクセラレータ(1944)、グラフィック・アダプター(1950)などを含むことができる。これらの装置は、読み出し専用メモリ(ROM)(1945)、ランダムアクセスメモリ(1946)、内部のユーザー・アクセス可能でないハードドライブ、ソリッドステートドライブ(SSD)などの内部大容量記憶装置(1947)とともに、システム・バス(1948)を通じて接続されうる。いくつかのコンピュータ・システムでは、追加のCPU、GPUなどによる拡張を可能にするために、システム・バス(1948)は、一つまたは複数の物理プラグの形でアクセス可能であってもよい。周辺装置は、コアのシステム・バス(1948)に直接取り付けられることも、周辺バス(1949)を通じて取り付けられることもできる。一例では、グラフィック・アダプター(1950)に画面(1910)が接続されることができる。周辺バスのためのアーキテクチャーは、PCI、USBなどを含む。
【0191】
CPU(1941)、GPU(1942)、FPGA(1943)、およびアクセラレータ(1944)は、組み合わせて上述のコンピュータコードを構成することができるある種の命令を、実行することができる。そのコンピュータコードは、ROM(1945)またはRAM(1946)に記憶できる。一時的データも、RAM(1946)に記憶されることができ、一方、持続的データは、たとえば、内部大容量記憶装置(1947)に記憶されることができる。一つまたは複数のCPU(1941)、GPU(1942)、大容量記憶装置(1947)、ROM(1945)、RAM(1946)などと密接に関連付けることができるキャッシュメモリを使用することを通じて、メモリデバイスのいずれかへの高速な記憶および取り出しを可能にすることができる。
【0192】
コンピュータ読み取り可能な媒体は、さまざまなコンピュータ実装された動作を実行するためのコンピュータコードをその上に有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであってもよく、または、コンピュータ・ソフトウェア分野の技術を有する者に周知であり利用可能な種類のものであってもよい。
【0193】
限定ではなく一例として、アーキテクチャー(1900)、具体的にはコア(1940)を有するコンピュータ・システムは、プロセッサ(CPU、GPU、FPGA、アクセラレータ等を含む)が一つまたは複数の有形のコンピュータ可読媒体に具現化されたソフトウェアを実行することの結果として、機能性を提供することができる。そのようなコンピュータ読み取り可能媒体は、上記で紹介したようなユーザー・アクセス可能な大容量記憶ならびにコア内部の大容量記憶装置(1947)またはROM(1945)のような非一時的な性質のコア(1940)のある種の記憶に関連する媒体であることができる。本開示のさまざまな実施形態を実装するソフトウェアは、そのような装置に記憶され、コア(1940)によって実行されることができる。コンピュータ読み取り可能媒体は、特定のニーズに応じて、一つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、RAM(1946)に記憶されたデータ構造を定義し、ソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を修正することを含む、本明細書に記載された特定のプロセスまたは特定の特定部分を、コア(1940)および具体的にはその中のプロセッサ(CPU、GPU、FPGAなどを含む)に実行させることができる。追加的または代替的に、コンピュータ・システムは、回路(たとえば、アクセラレータ(1944))内に配線された、または他の仕方で具現された論理の結果として機能性を提供することができ、これは、本明細書に記載される特定のプロセスまたは特定のプロセスの特定部分を実行するためのソフトウェアの代わりに、またはそれと一緒に動作することができる。ソフトウェアへの言及は、論理を含み、適宜その逆も可能である。コンピュータ読み取り可能媒体への言及は、適宜、実行のためのソフトウェアを記憶する回路(たとえば集積回路(IC))、実行のための論理を具現する回路、またはその両方を包含することができる。本開示は、ハードウェアおよびソフトウェアの任意の好適な組み合わせを包含する。
【0194】
付録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 Pictures(ピクチャーグループ)
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 Areas(フィールド・プログラマブル・ゲート・エリア)
SSD: solid-state drive(ソリッドステートドライブ)
IC: Integrated Circuit(集積回路)
CU: Coding Unit(符号化単位)
【0195】
本開示は、いくつかの例示的実施形態を記載してきたが、変更、置換、およびさまざまな代替等価物があり、それらは本開示の範囲内にはいる。よって、当業者は、本明細書に明示的に示されていないかまたは記載されていないが、本開示の原理を具現し、よって、本開示の精神および範囲内にある多くのシステムおよび方法を考案することができることが理解されるであろう。
【国際調査報告】