(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-29
(54)【発明の名称】テンプレートマッチングを使用したCUレベルの重みによる双方向予測(BCW)のインデックスの並べ替え
(51)【国際特許分類】
H04N 19/105 20140101AFI20240221BHJP
H04N 19/513 20140101ALI20240221BHJP
H04N 19/577 20140101ALI20240221BHJP
【FI】
H04N19/105
H04N19/513
H04N19/577
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023553293
(86)(22)【出願日】2022-10-26
(85)【翻訳文提出日】2023-09-01
(86)【国際出願番号】 US2022078714
(87)【国際公開番号】W WO2023076948
(87)【国際公開日】2023-05-04
(32)【優先日】2021-11-01
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-12-13
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-10-21
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】チェン,リン-フェイ
(72)【発明者】
【氏名】リー,シャン
(72)【発明者】
【氏名】リウ,シャン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA14
5C159NN21
5C159NN32
5C159TA30
5C159TB08
5C159TC12
(57)【要約】
本開示の態様は、ビデオ復号のための方法及び装置を提供する。当該装置は、現在ピクチャ内の現在ブロックについて、符号化ユニット(CU)レベルの重みによる双方向予測(BCW)を示す予測情報を復号する処理回路を含む。処理回路は、それぞれのBCW候補重みに対応するそれぞれのテンプレートマッチングTMコストを決定することによって、BCW候補重みに対してTMを実行する。各TMコストは、現在ブロックの現在テンプレート及びそれぞれの双方向予測子テンプレートの一部又は全部に基づいて決定される。双方向予測子テンプレートは、それぞれのBCW候補重みと、第1の参照ピクチャにおける第1の参照テンプレートの一部又は全部と、第2の参照ピクチャにおける第2の参照テンプレートの一部又は全部とに基づく。処理回路は、それぞれ決定されたTMコストに基づいてBCW候補重みを並べ替える。
【特許請求の範囲】
【請求項1】
ビデオデコーダにおけるビデオ復号のための方法であって、
コーディングされたビデオビットストリームから現在ピクチャ内の現在ブロックの予測情報を復号するステップと、
前記予測情報が、(1)前記現在ブロックが双方向予測で予測され、(2)符号化ユニット(CU)レベルの重みの双方向予測(BCW)が前記現在ブロックに有効であることを示すと決定するステップと、
それぞれのBCW候補重みのそれぞれに対応するそれぞれのテンプレートマッチング(TM)コストを決定し、ここで、各TMコストは、前記現在ブロックの現在テンプレート及びそれぞれの双方向予測子テンプレートの一部又は全部に少なくとも基づいて決定され、前記双方向予測子テンプレートは、それぞれのBCW候補重みと、第1の参照ピクチャにおける第1の参照テンプレートの一部又は全部と、第2の参照ピクチャにおける第2の参照テンプレートの一部又は全部とに基づき、前記第1の参照テンプレート及び前記第2の参照テンプレートは、前記現在テンプレートに対応し、
それぞれ決定されたTMコストに基づいて前記BCW候補重みを並べ替える
ことによって、それぞれのBCW候補重みに対してTMを実行するステップと、
前記並べ替えられたBCW候補重みに基づいて前記現在ブロックを再構成するステップと
を含む方法。
【請求項2】
前記TMを実行するステップは、前記並べ替えられたBCW候補重みから、前記現在ブロックを再構成するために使用されるBCW重みとなるBCW候補重みを選択するステップを更に含む、請求項1に記載の方法。
【請求項3】
前記現在テンプレートの全てが各TMコストを決定するために使用され、
BCW候補重み毎に、
前記現在ブロックの第1の動きベクトル(MV)に基づいて決定された前記第1の参照テンプレートの全てが前記双方向予測子テンプレートを計算するために使用され、
前記現在ブロックの第2のMVに基づいて決定された前記第2の参照テンプレートの全てが前記双方向予測子テンプレートを計算するために使用される、請求項2に記載の方法。
【請求項4】
BCW候補重み毎に、前記双方向予測子テンプレートは前記第1の参照テンプレートの全てと前記第2の参照テンプレートの全てとの加重平均であり、前記加重平均の重みはそれぞれのBCW候補重みに基づく、請求項3に記載の方法。
【請求項5】
前記予測情報は、前記現在ブロックが複数の制御点を有するアフィン適応動きベクトル予測(AMVP)モードで予測されることを示し、前記第1のMV及び前記第2のMVは、前記複数の制御点のうち或る制御点に関連付けられる、請求項3に記載の方法。
【請求項6】
前記現在テンプレートの形状は、(i)前記現在ブロックの隣接ブロックの再構成サンプル、(ii)前記現在ブロックの復号順序、又は(iii)前記現在ブロックのサイズのうち1つ以上に基づく、請求項1に記載の方法。
【請求項7】
前記現在テンプレートは、前記現在ブロックの隣接領域である1つ以上の再構成領域を含む、請求項1に記載の方法。
【請求項8】
前記現在ブロックの隣接領域である前記1つ以上の再構成領域は、(i)左隣接領域及び上隣接領域、(ii)前記左隣接領域、前記上隣接領域及び左上隣接領域、(iii)前記上隣接領域、又は(iv)前記左隣接領域のうち1つである、請求項7に記載の方法。
【請求項9】
前記予測情報は、前記現在ブロックがアフィンモードで予測されることを示し、
前記現在テンプレートは現在サブブロックを含み、各TMコストを決定するために使用される前記現在テンプレートの前記一部は、前記現在サブブロックのうち1つであり、
BCW候補重み毎に、
前記第1の参照テンプレートは、それぞれ前記現在サブブロックに対応する第1の参照サブブロックを含み、前記双方向予測子テンプレートを計算するために使用される前記第1の参照テンプレートの前記一部は、前記第1の参照サブブロックのうち1つであり、
前記第2の参照テンプレートは、それぞれ前記現在サブブロックに対応する第2の参照サブブロックを含み、前記双方向予測子テンプレートを計算するために使用される前記第2の参照テンプレートの前記一部は、前記第2の参照サブブロックのうち1つであり、
前記双方向予測子テンプレートは、それぞれのBCW候補重みと、前記第1の参照サブブロックのうち前記1つと、前記第2の参照サブブロックのうち前記1つとに基づく、請求項2に記載の方法。
【請求項10】
BCW候補重み毎に、前記双方向予測子テンプレートは、前記第1の参照サブブロックのうち前記1つと前記第2の参照サブブロックのうち前記1つとの加重平均であり、前記加重平均の重みはそれぞれのBCW候補重みに基づく、請求項9に記載の方法。
【請求項11】
前記BCW候補重みは8、16又は32で正規化される、請求項9に記載の方法。
【請求項12】
処理回路を含むビデオ復号のための装置であって、
前記処理回路は、請求項1乃至11のうちいずれか1項に記載の方法を実行するように構成される、装置。
【請求項13】
少なくとも1つのプロセッサに、請求項1乃至11のうちいずれか1項に記載の方法を実行させるプログラム。
【請求項14】
ビデオエンコーダにおけるビデオ符号化のための方法であって、
予測情報が、(1)現在ブロックが双方向予測で予測され、(2)符号化ユニット(CU)レベルの重みの双方向予測(BCW)が前記現在ブロックに有効であることを示すと決定するステップと、
前記現在ブロックの前記予測情報をコーディングされたビデオビットストリームに符号化するステップと、
それぞれのBCW候補重みのそれぞれに対応するそれぞれのテンプレートマッチング(TM)コストを決定し、ここで、各TMコストは、前記現在ブロックの現在テンプレート及びそれぞれの双方向予測子テンプレートの一部又は全部に少なくとも基づいて決定され、前記双方向予測子テンプレートは、それぞれのBCW候補重みと、第1の参照ピクチャにおける第1の参照テンプレートの一部又は全部と、第2の参照ピクチャにおける第2の参照テンプレートの一部又は全部とに基づき、前記第1の参照テンプレート及び前記第2の参照テンプレートは、前記現在テンプレートに対応し、
それぞれ決定されたTMコストに基づいて前記BCW候補重みを並べ替える
ことによって、それぞれのBCW候補重みに対してテンプレートマッチング(TM)を実行するステップと、
前記並べ替えられたBCW候補重みに基づいて前記現在ブロックを符号化するステップと
を含む方法。
【発明の詳細な説明】
【技術分野】
【0001】
[参照による援用]
本出願は、2022年10月21日に出願された米国特許出願第17/971,255号「INDEX REORDERING OF BI-PREDICTION WITH CU-LEVEL WEIGHT (BCW) BY USING TEMPLATE-MATCHING」に対する優先権の利益を主張するものであり、当該出願は、2021年11月1日に出願された米国仮出願第63/274,286号「INDEX REORDERING OF BI-PREDICTION WITH CU-LEVEL WEIGHT (BCW) BY USING TEMPLATE-MATCHING」及び2021年12月13日に出願された米国仮出願第63/289,135号「INDEX REORDERING OF BI-PREDICTION WITH CU-LEVEL WEIGHT (BCW) BY USING TEMPLATE-MATCHING」に対する優先権の利益を主張するものである。先の出願の開示の全内容を参照により援用する。
【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】
様々な形のイントラ予測があり得る。所与のビデオ符号化技術において、そのような技術の2つ以上が使用できる場合、使用される特定の技術は、特定の技術を使用する特定のイントラ予測モードとして符号化されることができる。特定の場合には、イントラ予測モードは、サブモード及び/又はパラメータを有することができ、サブモード及び/又はパラメータは、個別に符号化されることができ、或いは、予測モードを定義するモードコードワードに含められることができる。所与のモード、サブモード及び/又はパラメータの組み合わせのためにどのコードワードを使用するかは、イントラ予測を通して符号化効率利得に影響を与える可能性があり、コードワードをビットストリームに変換するために使用されるエントロピー符号化技術も同様に影響を与える可能性がある。
【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予測機構のうち、
図2を参照して説明するものは、以後、「空間マージ(spatial merge)」と呼ばれる技術である。
【0021】
図2を参照すると、現在ブロック(201)は、空間的にシフトされた同じサイズの前のブロックから予測可能であることが動き探索プロセスの間にエンコーダによって見出されたサンプルを含む。そのMVを直接符号化する代わりに、MVは、1つ以上の参照ピクチャに関連付けられたメタデータから、例えば(復号順で)最新の参照ピクチャから、A0、A1、及びB0、B1、B2(それぞれ202~206)と記される5つの周囲のサンプルのいずれかに関連付けられたMVを使用して、導出できる。H.265では、MV予測は、近傍ブロックが使用しているのと同じ参照ピクチャからの予測子を使用することができる。
【発明の概要】
【0022】
本開示の側面は、ビデオ符号化及び復号のための方法及び装置を提供する。いくつかの例では、ビデオ復号のための装置は処理回路を含む。処理回路は、コーディングされたビデオビットストリームから現在ピクチャ内の現在ブロックの予測情報を復号するように構成される。予測情報は、現在ブロックが符号化ユニット(CU, coding unit)レベルの重みによる双方向予測(BCW, bi-prediction with CU-level weights))で予測されることを示す。処理回路は、それぞれのBCW候補重みのそれぞれに対応するそれぞれのTMコストを決定することによって、それぞれのBCW候補重みに対してテンプレートマッチング(TM, template matching)を実行できる。各TMコストは、現在ブロックの現在テンプレート及びそれぞれの双方向予測子テンプレートの一部又は全部に少なくとも基づいて決定できる。双方向予測子テンプレートは、それぞれのBCW候補重みと、第1の参照ピクチャにおける第1の参照テンプレートの一部又は全部と、第2の参照ピクチャにおける第2の参照テンプレートの一部又は全部とに基づいて決定できる。第1の参照テンプレート及び第2の参照テンプレートは、現在テンプレートに対応する。第1の参照テンプレートの一部及び第2の参照テンプレートの一部は、現在テンプレートの一部に対応する。処理回路は、それぞれ決定されたTMコストに基づいて、それぞれのBCW候補重みから、現在ブロックを再構成するために使用されるBCW重みとなるBCW候補重みを選択することによって、それぞれのBCW候補重みに対してTMを実行できる。処理回路は、選択されたBCW重みに基づいて現在ブロックを再構成できる。
【0023】
一実施形態では、処理回路は、それぞれ決定されたTMコストに基づいてBCW候補重みを並べ替え、並べ替えられたBCW候補重みからBCW重みとなるBCW候補重みを選択する。
【0024】
一実施形態では、現在テンプレートの全てが各TMコストを決定するために使用される。BCW候補重み毎に、現在ブロックの第1の動きベクトル(MV, motion vector)に基づいて決定された第1の参照テンプレートの全てが双方向予測子テンプレートを計算するために使用され、現在ブロックの第2のMVに基づいて決定された第2の参照テンプレートの全てが双方向予測子テンプレートを計算するために使用される。
【0025】
一例では、BCW候補重み毎に、双方向予測子テンプレートは第1の参照テンプレートの全てと第2の参照テンプレートの全てとの加重平均であり、加重平均の重みはそれぞれのBCW候補重みに基づく。
【0026】
一例では、予測情報は、現在ブロックが複数の制御点を有するアフィン適応動きベクトル予測(AMVP, affine adaptive motion vector prediction)モードで予測されることを示す。第1のMV及び第2のMVは、複数の制御点のうち或る制御点に関連付けられる。
【0027】
一実施形態では、現在テンプレートの形状は、(i)現在ブロックの隣接ブロックの再構成サンプル、(ii)現在ブロックの復号順序、又は(iii)現在ブロックのサイズのうち1つ以上に基づく。
【0028】
一例では、現在テンプレートは、現在ブロックの隣接領域である1つ以上の再構成領域を含む。
【0029】
一例では、現在ブロックの隣接領域である1つ以上の再構成領域は、(i)左隣接領域及び上隣接領域、(ii)左隣接領域、上隣接領域及び左上隣接領域、(iii)上隣接領域、又は(iv)左隣接領域のうち1つである。
【0030】
一実施形態では、予測情報は、現在ブロックがアフィンモードで予測されることを示す。現在テンプレートは現在サブブロックを含み、各TMコストを決定するために使用される現在テンプレートの一部は、現在サブブロックのうち1つである。BCW候補重み毎に、第1の参照テンプレートは、それぞれ現在サブブロックに対応する第1の参照サブブロックを含み、双方向予測子テンプレートを計算するために使用される第1の参照テンプレートの一部は、第1の参照サブブロックのうち1つである。第2の参照テンプレートは、それぞれ現在サブブロックに対応する第2の参照サブブロックを含み、双方向予測子テンプレートを計算するために使用される第2の参照テンプレートの一部は、第2の参照サブブロックのうち1つである。双方向予測子テンプレートは、それぞれのBCW候補重みと、第1の参照サブブロックのうち1つと、第2の参照サブブロックのうち1つとに基づく。
【0031】
一例では、BCW候補重み毎に、双方向予測子テンプレートは、第1の参照サブブロックのうち1つと第2の参照サブブロックのうち1つとの加重平均であり、加重平均の重みはそれぞれのBCW候補重みに基づく。
【0032】
一例では、BCW候補重みは8、16又は32で正規化される。
【0033】
一実施形態では、処理回路は、コーディングされたビデオビットストリームから現在ピクチャ内の現在ブロックの予測情報を復号する。処理回路は、予測情報が、(1)現在ブロックが双方向予測で予測され、(2)符号化ユニット(CU)レベルの重みの双方向予測(BCW, bi-prediction CU-level weights)が現在ブロックに有効であることを示すと決定する。処理回路は、それぞれのBCW候補重みのそれぞれに対応するそれぞれのTMコストを決定することによって、それぞれのBCW候補重みに対してテンプレートマッチング(TM, template matching)を実行する。各TMコストは、現在ブロックの現在テンプレート及びそれぞれの双方向予測子テンプレートの一部又は全部に少なくとも基づいて決定される。双方向予測子テンプレートは、それぞれのBCW候補重みと、第1の参照ピクチャ内の第1の参照テンプレートの一部又は全部と、第2の参照ピクチャ内の第2の参照テンプレートの一部又は全部とに基づく。第1の参照テンプレート及び第2の参照テンプレートは、現在テンプレートに対応する。処理回路は、それぞれ決定されたTMコストに基づいてBCW候補重みを並べ替える。処理回路は、並べ替えられたBCW候補重みに基づいて現在ブロックを再構成する。
【0034】
本開示の側面はまた、ビデオ復号のための方法を実行するために、少なくとも1つのプロセッサによって実行可能なプログラムを記憶する非一時的なコンピュータ読み取り可能記憶媒体を提供する。
【図面の簡単な説明】
【0035】
開示された主題のさらなる特徴、性質、及び様々な利点は、以下の詳細な説明及び添付の図面からより明白になるであろう。
【
図1A】イントラ予測モードの例示的なサブセットの概略図である。
【
図1B】例示的なイントラ予測方向の説明図である。
【
図2】一例における現在ブロック(201)及びその周囲のサンプルの例を示す。
【
図3】通信システム(300)の例示的なブロック図の概略図である。
【
図4】ある実施形態による通信システム(400)の簡略化されたブロック図の概略図である。
【
図5】デコーダの例示的なブロック図の概略図である。
【
図6】エンコーダの例示的なブロック図の概略図である。
【
図9】本開示の一実施形態による空間マージ候補の位置を示す。
【
図10】本開示の一実施形態による空間マージ候補の冗長検査について考慮される候補ペアを示す。
【
図11】時間マージ候補のための例示的な動きベクトルのスケーリングを示す。
【
図12】現在符号化ユニットの時間マージ候補のための例示的な候補位置を示す。
【
図13A】4パラメータのモデルを使用したアフィン予測モードの例を示す。
【
図13B】6パラメータのモデルを使用したアフィン予測モードの例を示す。
【
図14】サブブロックベースのアフィン変換予測の例を示す。
【
図15】現在符号化ユニット(CU, coding unit)のアフィンマージリストにおいて制御点動きベクトル(CPMV, control point motion vector)候補を決定する例を示す。
【
図16】現在ブロックの空間隣接及び時間隣接の例を示す。
【
図18】現在ブロックがアフィンモードでコーディングされる場合のテンプレートマッチングの例を示す。
【
図19】現在ブロックがBCWを使用して予測される場合のCUレベルの重みによる双方向予測(BCW)候補重みに適用されるテンプレートマッチングの例を示す。
【
図20A】テンプレートマッチングベースのBCWインデックス並べ替えで使用できる現在ブロックの例示的な現在テンプレートを示す。
【
図20B】テンプレートマッチングベースのBCWインデックス並べ替えで使用できる現在ブロックの例示的な現在テンプレートを示す。
【
図20C】テンプレートマッチングベースのBCWインデックス並べ替えで使用できる現在ブロックの例示的な現在テンプレートを示す。
【
図20D】テンプレートマッチングベースのBCWインデックス並べ替えで使用できる現在ブロックの例示的な現在テンプレートを示す。
【
図21】現在ブロックがアフィンモードでコーディングされる場合のBCW候補重みに適用されるテンプレートマッチングの例を示す。
【
図22】オプティカルフローを使用した予測洗練化(PROF, prediction refinement using optical flow)方法の例を示す。
【
図23】現在ブロックがアフィンモードでコーディングされる場合のBCW候補重みに適用されるテンプレートマッチングの例を示す。
【
図24】本開示の一実施形態による符号化プロセスの概要を示すフローチャートを示す。
【
図25】本開示の一実施形態による復号プロセスの概要を示すフローチャートを示す。
【
図26】本開示の一実施形態による復号プロセスの概要を示すフローチャートを示す。
【
図27】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0036】
図3は、通信システム(300)の例示的なブロック図を示す。通信システム(300)は、例えばネットワーク(350)を介して互いに通信することができる複数の端末デバイスを含む。例えば、通信システム(300)は、ネットワーク(350)を介して相互接続された第1の対の端末デバイス(310)及び(320)を含む。
図3の例では、第1の対の端末デバイス(310)及び(320)は、データの一方向伝送を実行する。例えば、端末デバイス(310)は、ネットワーク(350)を介した他方の端末デバイス(320)への伝送のために、ビデオデータ(例えば、端末デバイス(310)によって捕捉されたビデオピクチャのストリーム)を符号化してもよい。符号化されたビデオデータは、1つ以上の符号化ビデオビットストリームの形で伝送されることができる。端末デバイス(320)は、ネットワーク(350)から、符号化ビデオデータを受信し、符号化ビデオデータを復号してビデオピクチャを復元し、復元されたビデオデータに従ってビデオピクチャを表示してもよい。一方向データ伝送は、メディアサービスアプリケーション等において一般的であり得る。
【0037】
別の例では、通信システム(300)は、例えばビデオ会議中の符号化されたビデオデータの双方向伝送を実行する第2の対の端末デバイス(330)及び(340)を含む。データの双方向伝送のために、一例では、端末デバイス(330)及び(340)の各端末デバイスは、ネットワーク(350)を介した、端末デバイス(330)及び(340)のうちの他方の端末デバイスへの伝送のために、ビデオデータ(例えば、端末デバイスによって捕捉されたビデオピクチャのストリーム)を符号化してもよい。端末デバイス(330)及び(340)の各端末デバイスは、端末デバイス(330)及び(340)のうちの他方の端末デバイスによって送信された符号化されたビデオデータを受信してもよく、符号化されたビデオデータを復号して、ビデオピクチャを復元し、復元されたビデオデータに従って、アクセス可能な表示デバイスにおいてビデオピクチャを表示してもよい。
【0038】
図3の例では、端末デバイス(310)、(320)、(330)及び(340)は、それぞれサーバ、パーソナルコンピュータ及びスマートフォンとして示されているが、本開示の原理は、それに限定されなくてもよい。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、及び/又は専用のビデオ会議設備での応適用を見出す。ネットワーク(350)は、例えば有線(配線)及び/又は無線通信ネットワークを含む、端末デバイス(310)、(320)、(330)及び(340)の間で符号化されたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(350)は、回線交換及び/又はパケット交換チャネルにおいてデータを交換してもよい。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク及び/又はインターネットを含む。ここでの議論の目的のために、ネットワーク(350)のアーキテクチャ及びトポロジは、以下に説明しない限り、本開示の動作には重要ではないことがある。
【0039】
図4は、開示される主題のためのアプリケーションの例として、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダを示す。開示される主題は、例えば、ビデオ会議、デジタルTV、ストリーミングサービス、CD、DVD、メモリスティック等を含むデジタル媒体上の圧縮ビデオの記憶等を含む、他のビデオ対応アプリケーションにも等しく適用可能であり得る。
【0040】
ストリーミングシステムは、ビデオソース(401)、例えばデジタルカメラを含むことができ、例えば非圧縮のビデオピクチャのストリーム(402)を生成する捕捉サブシステム(413)を含んでもよい。一例では、ビデオピクチャのストリーム(402)は、デジタルカメラによって取り込まれたサンプルを含む。符号化されたビデオデータ(404)(又は符号化されたビデオビットストリーム)と比較した場合の高いデータボリュームを強調するために太線として描かれているビデオピクチャのストリーム(402)は、ビデオソース(401)に結合されたビデオエンコーダ(403)を含む電子デバイス(420)によって処理されることができる。ビデオエンコーダ(403)は、以下により詳細に説明されるように、開示される主題の諸側面を可能にするため或いは実現するためのハードウェア、ソフトウェア、又はそれらの組み合わせを含むことができる。ビデオピクチャのストリーム(402)と比較した場合の、より低いデータボリュームを強調するために細い線として描かれている、符号化されたビデオデータ(404)(又は符号化されたビデオビットストリーム)は、将来の使用のためにストリーミングサーバ(405)に記憶されることができる。
図4のクライアントサブシステム(406)及び(408)のような1つ以上のストリーミングクライアントサブシステムは、ストリーミングサーバ(405)にアクセスして、符号化されたビデオデータ(404)のコピー(407)及び(409)を取り出すことができる。クライアントサブシステム(406)は、例えば電子デバイス(430)内にビデオデコーダ(410)を含むことができる。ビデオデコーダ(410)は、符号化されたビデオデータの入力コピー(407)を復号し、ディスプレイ(412)(例えば表示画面)又は他のレンダリングデバイス(図示せず)上にレンダリングできるビデオピクチャの出力ストリーム(411)を生成する。いくつかのストリーミングシステムでは、符号化されたビデオデータ(404)、(407)、及び(409)(例えば、ビデオビットストリーム)は、特定のビデオ符号化/圧縮標準に従って符号化されることができる。これらの標準の例は、ITU-T勧告H.265を含む。一例では、開発中のビデオ符号化標準は、非公式に多用途ビデオ符号化(VVC)として知られている。開示される主題は、VVCの文脈で使用されてもよい。
【0041】
電子デバイス(420)及び(430)は、他の構成要素(図示せず)を含むことができることを注意しておく。例えば、電子デバイス(420)は、ビデオデコーダ(図示せず)を含むことができ、電子デバイス(430)は、ビデオエンコーダ(図示せず)も含むことができる。
【0042】
図5は、ビデオデコーダ(510)の例示的なブロック図を示す。ビデオデコーダ(510)は、電子デバイス(530)に含まれることができる。電子デバイス(530)は、受信機(531)(例えば、受信回路)を含むことができる。ビデオデコーダ(510)は、
図4の例におけるビデオデコーダ(310)の代わりに使用できる。
【0043】
受信機(531)は、ビデオデコーダ(510)によって復号されるべき1つ以上の符号化ビデオシーケンスを受信してもよい。ある実施形態において、一度に1つの符号化ビデオシーケンスが受信され、各符号化ビデオシーケンスの復号は、他の符号化ビデオシーケンスの復号から独立である。符号化ビデオシーケンスは、チャネル(501)から受信されてもよく、該チャネルは、符号化されたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクでもよい。受信機(531)は、符号化されたビデオデータを、他のデータ、例えば符号化されたオーディオデータ及び/又は補助データストリームと一緒に受信してもよく、これらのデータは、それぞれの使用エンティティ(図示せず)を転送されてもよい。受信機(531)は、符号化ビデオシーケンスを他のデータから分離することができる。ネットワークジッタ対策として、バッファメモリ(515)が、受信機(531)とエントロピーデコーダ/パーサ(520)(以下「パーサ」)との間に結合されてもよい。特定のアプリケーションでは、バッファメモリ(515)はビデオデコーダ(510)の一部である。他のアプリケーションでは、ビデオデコーダ(510)の外部にあることができる(図示せず)。さらに他のアプリケーションでは、例えばネットワークジッタに対抗するために、ビデオデコーダ(510)の外部にバッファメモリ(図示せず)があってもよく、さらに、例えば再生タイミングを扱うために、ビデオデコーダ(510)の内部に別のバッファメモリ(515)があってもよい。受信機(531)が、十分な帯域幅及び制御可能性の記憶/転送デバイスから、或いは、アイソクロナスネットワークからデータを受信している場合は、バッファメモリ(515)は、必要とされなくてもよく、或いは、小さくてもよい。インターネットのようなベストエフォート型のパケットネットワークでの使用のためには、バッファメモリ(515)が要求されることがあり、比較的大きいことがあり、有利には適応サイズであることができ、少なくとも部分的に、ビデオデコーダ(510)の外部でオペレーティングシステム又は同様の要素(図示せず)において実装されてもよい。
【0044】
ビデオデコーダ(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)はまた、符号化ビデオシーケンスから、変換係数、量子化器パラメータ値、動きベクトル等の情報を抽出することができる。
【0045】
パーサ(520)は、バッファメモリ(515)から受信されたビデオシーケンスに対してエントロピー復号/パース動作を実行し、それによりシンボル(521)を生成することができる。
【0046】
シンボル(521)の再構成は、符号化されたビデオピクチャ又はその諸部分のタイプ(例えば、インター及びイントラピクチャ、インター及びイントラブロック)及び他の要因に依存して、複数の異なるユニットに関わることができる。どのユニットがどのように関わるかは、符号化ビデオシーケンスからパーサ(520)によってパースされたサブグループ制御情報によって制御されることができる。パーサ(520)と下記の複数のユニットとの間のそのようなサブグループ制御情報の流れは、明確のため、描かれていない。
【0047】
既に述べた機能ブロックのほかに、ビデオデコーダ(510)は、以下に説明するように、概念的に、いくつかの機能ユニットに分割できる。商業的制約の下で機能する実用的な実装では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合されることができる。しかしながら、開示される主題を記述する目的のためには、下記の機能ユニットへの概念的な細分が適切である。
【0048】
第1のユニットは、スケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット(551)は、パーサ(520)から、量子化された変換係数及び制御情報をシンボル(単数又は複数)(521)として受信する。制御情報は、どの変換を使用するか、ブロックサイズ、量子化係数、量子化スケーリング行列等を含む。スケーラ/逆変換ユニット(551)は、集計器(555)に入力できるサンプル値を含むブロックを出力することができる。
【0049】
場合によっては、スケーラ/逆変換(551)の出力サンプルは、イントラ符号化されたブロックに関することができる。イントラ符号化されたブロックは、以前に再構成されたピクチャからの予測情報を使用していないが、現在ピクチャの、以前に再構成された部分からの予測情報を使用することができるブロックである。そのような予測情報は、イントラピクチャ予測ユニット(552)によって提供されることができる。場合によっては、イントラピクチャ予測ユニット(552)は、現在ピクチャバッファ(558)から取ってきた、周囲の既に再構成された情報を使用して、再構成中のブロックと同じサイズ及び形状のブロックを生成する。現在ピクチャバッファ(558)は、例えば、部分的に再構成された現在ピクチャ及び/又は完全に再構成された現在ピクチャをバッファリングする。集計器(555)は、場合によっては、サンプル毎に、イントラ予測ユニット(552)が生成した予測情報を、スケーラ/逆変換ユニット(551)によって提供される出力サンプル情報に加算する。
【0050】
他の場合には、スケーラ/逆変換ユニット(551)の出力サンプルは、インター符号化され、潜在的には動き補償されたブロックに関することができる。そのような場合、動き補償予測ユニット(553)は、予測のために使用されるサンプルを取ってくるために参照ピクチャメモリ(557)にアクセスすることができる。取ってきたサンプルを、ブロックに関するシンボル(521)に従って動き補償した後、これらのサンプルは、集計器(555)によってスケーラ/逆変換ユニットの出力(この場合、残差サンプル又は残差信号と呼ばれる)に加算されて、それにより出力サンプル情報を生成することができる。動き補償ユニット(553)が予測サンプルを取ってくる参照ピクチャメモリ(557)内のアドレスは、シンボル(521)の形で動き補償ユニット(553)に利用可能な動きベクトルによって制御できる。該シンボルは、例えばX、Y、及び参照ピクチャ成分を有することができる。動き補償は、サンプル以下の正確な動きベクトルが使用されるときの参照ピクチャメモリ(557)から取ってこられるサンプル値の補間、動きベクトル予測機構等を含むことができる。
【0051】
集計器(555)の出力サンプルは、ループフィルタユニット(556)内で様々なループフィルタリング技術にかけられることができる。ビデオ圧縮技術は、ループ内フィルタ技術を含むことができる。ループ内フィルタ技術は、符号化ビデオシーケンス(符号化されたビデオビットストリームとも呼ばれる)に含まれるパラメータによって制御され、パーサ(520)からのシンボル(521)としてループフィルタユニット(556)に利用可能にされる。ビデオ圧縮はまた、符号化されたピクチャ又は符号化されたビデオシーケンスの(復号順で)前の部分の復号中に得られたメタ情報に応答するとともに、以前に再構成されループフィルタリングされたサンプル値に応答することもできる。
【0052】
ループフィルタユニット(556)の出力はサンプルストリームであることができ、これは、レンダーデバイス(512)に出力されることができ、また将来のインターピクチャ予測において使用するために参照ピクチャメモリ(557)に記憶されることができる。
【0053】
符号化されたピクチャは、いったん完全に再構成されると、将来の予測のための参照ピクチャとして使用できる。例えば、現在ピクチャに対応する符号化されたピクチャが完全に再構成され、該符号化されたピクチャが(例えば、パーサ(520)によって)参照ピクチャとして識別されると、現在ピクチャバッファ(558)は参照ピクチャメモリ(557)の一部となることができ、後続の符号化されたピクチャの再構成を開始する前に、新鮮な現在ピクチャバッファが再割り当てされることができる。
【0054】
ビデオデコーダ(510)は、ITU-T勧告H.265のような所定のビデオ圧縮技術又は標準に従って復号動作を実行することができる。符号化ビデオシーケンスはビデオ圧縮技術又は標準のシンタックス及びビデオ圧縮技術又は標準において文書化されているプロファイルに従うという意味で、符号化されたビデオシーケンスは、使用されているビデオ圧縮技術又は標準によって規定されたシンタックスに準拠することができる。具体的には、プロファイルはビデオ圧縮技術又は標準において利用可能な全てのツールから、そのプロファイルのもとでの使用のためにそれだけが利用可能なツールとして、特定のツールを選択することができる。準拠のためにはまた、符号化ビデオシーケンスの複雑さが、ビデオ圧縮技術又は標準のレベルによって定義される範囲内にあることも必要であることがある。いくつかの場合には、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば、毎秒メガサンプルの単位で測られる)、最大参照ピクチャサイズ等を制約する。レベルによって設定された限界は、場合によっては、符号化ビデオシーケンスにおいて信号伝達される、HRDバッファ管理のための仮想参照デコーダ(Hypothetical Reference Decoder、HRD)仕様及びメタデータを通じてさらに制約されることができる。
【0055】
ある実施形態において、受信機(531)は、符号化されたビデオとともに追加の(冗長な)データを受信してもよい。追加データは、符号化されたビデオシーケンス(単数又は複数)の一部として含まれていてもよい。追加データは、データを適正に復号するため、及び/又は元のビデオデータをより正確に再構成するために、ビデオデコーダ(510)によって使用されてもよい。追加データは、例えば、時間的、空間的、又は信号対雑音比(SNR)エンハンスメント層、冗長スライス、冗長ピクチャ、前方誤り訂正符号等の形であり得る。
【0056】
図6は、ビデオエンコーダ(603)の例示的なブロック図を示している。ビデオエンコーダ(603)は、電子デバイス(620)に含まれる。電子デバイス(620)は、送信機(640)(例えば、送信回路)を含む。ビデオエンコーダ(603)は、
図4の例におけるビデオエンコーダ(403)の代わりに使用できる。
【0057】
ビデオエンコーダ(603)は、ビデオエンコーダ(603)によって符号化されるべきビデオ画像を捕捉することができるビデオソース(601)(これは
図6の例では電子デバイス(620)の一部ではない)からビデオサンプルを受信することができる。別の例では、ビデオソース(601)は、電子デバイス(620)の一部である。
【0058】
ビデオソース(601)は、任意の好適なビット深さ(例えば、8ビット、10ビット、12ビット、…)、任意の色空間(例えば、BT.601 YCrCB、RGB、…)及び任意の好適なサンプリング構造(例えば、YCrCb 4:2:0、YCrCb 4:4:4)であり得るデジタルビデオサンプルストリームの形で、ビデオエンコーダ(603)によって符号化されるべきソースビデオシーケンスを提供することができる。メディアサービスシステムにおいては、ビデオソース(601)は、事前に準備されたビデオを記憶している記憶デバイスでもよい。ビデオ会議システムにおいては、ビデオソース(601)は、ローカルでの画像情報をビデオシーケンスとして捕捉するカメラでもよい。ビデオデータは、シーケンスで見たときに動きを付与する複数の個々のピクチャとして提供されてもよい。ピクチャ自体は、ピクセルの空間的アレイとして編成されてもよく、各ピクセルは、使用中のサンプリング構造、色空間等に依存して、1つ以上のサンプルを含むことができる。当業者は、ピクセルとサンプルとの間の関係を容易に理解することができる。下記の説明は、サンプルに焦点を当てる。
【0059】
ある実施形態によれば、ビデオエンコーダ(603)は、ソースビデオシーケンスのピクチャを、リアルタイムで或いは要求される任意の他の時間的制約の下で、符号化及び圧縮して、符号化ビデオシーケンス(643)にすることができる。適切な符号化速度を施行することは、コントローラ(650)の1つの機能である。いくつかの実施形態では、コントローラ(650)は、以下に記載されるような他の機能ユニットを制御し、該他の機能ユニットに機能的に結合される。かかる結合は、明確のために描かれていない。コントローラ(650)によって設定されるパラメータは、レート制御に関連するパラメータ(ピクチャスキップ、量子化器、レート‐歪み最適化技術のラムダ値、…)、ピクチャサイズ、グループオブピクチャ(GOP)レイアウト、最大動きベクトル探索範囲等を含むことができる。コントローラ(650)は、特定のシステム設計のために最適化されたビデオエンコーダ(603)に関する他の好適な機能を有するように構成できる。
【0060】
いくつかの実施形態では、ビデオエンコーダ(603)は、符号化ループにおいて動作するように構成される。思い切って単純化した説明として、一例では、符号化ループは、ソース符号化器(630)(例えば、符号化されるべき入力ピクチャと参照ピクチャ(単数又は複数)に基づいてシンボルストリームのようなシンボルを生成することを受け持つ)と、ビデオエンコーダ(603)に埋め込まれた(ローカル)デコーダ(633)とを含むことができる。デコーダ(633)は、(リモートの)デコーダも生成するであろうのと同様の仕方でサンプルデータを生成するよう前記シンボルを再構成する。再構成されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(634)に入力される。シンボルストリームの復号は、デコーダ位置(ローカルかリモートか)によらずビット正確な結果をもたらすので、参照ピクチャメモリ(634)の内容もローカルエンコーダとリモートエンコーダの間でビット正確である。言い換えると、エンコーダの予測部は、デコーダが復号中に予測を使用するときに「見る」のとまったく同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャ同期性のこの基本原理(及び、例えば、チャネルエラーのために同期性が維持できない場合の結果として生じるドリフト)は、いくつかの関連技術においても使用される。
【0061】
「ローカル」デコーダ(633)の動作は、
図5との関連で既に上記で詳細に述べた「リモート」デコーダ、例えばビデオデコーダ(410)の動作と同じでもよい。しかしながら、簡単に
図5も参照すると、シンボルが利用可能であり、エントロピー符号化器(645)及びパーサ(420)による、シンボルの符号化ビデオシーケンスへの符号化/復号が可逆であり得るので、バッファメモリ(415)及びパーサ(420)を含むビデオデコーダ(410)のエントロピー復号部は、ローカルデコーダ(633)においては完全には実装されなくてもよい。
【0062】
ある実施形態では、デコーダ内に存在するパース/エントロピー復号を除くデコーダ技術は、対応するエンコーダ内で同一又は実質的に同一の機能的形態で存在する。したがって、開示される主題はデコーダ動作に焦点を当てる。エンコーダ技術の記述は、包括的に記述されるデコーダ技術の逆であるため、省略することができる。特定の領域において、より詳細な説明が以下に提供される。
【0063】
動作中、いくつかの例では、ソース符号化器(630)は、「参照ピクチャ」として指定された、ビデオシーケンスからの1つ以上の以前に符号化されたピクチャを参照して、入力ピクチャを予測的に符号化する、動き補償された予測符号化を実行することができる。このようにして、符号化エンジン(632)は、入力ピクチャのピクセルブロックと、入力ピクチャに対する予測参照として選択され得る参照ピクチャ(単数又は複数)のピクセルブロックとの間の差分を符号化する。
【0064】
ローカルビデオデコーダ(633)は、ソース符号化器(630)によって生成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャの符号化されたビデオデータを復号することができる。符号化エンジン(632)の動作は、有利には、損失のあるプロセスであり得る。符号化されたビデオデータがビデオデコーダ(
図6には示さず)で復号され得るとき、再構成されたビデオシーケンスは、典型的には、いくつかのエラーを伴うソースビデオシーケンスの複製であり得る。ローカルビデオデコーダ(633)は、ビデオデコーダによって参照ピクチャに対して実行され得る復号プロセスを複製し、再構成された参照ピクチャを参照ピクチャメモリ(634)に格納させることができる。このようにして、ビデオエンコーダ(603)は、遠端のビデオデコーダによって得られるであろう再構成された参照ピクチャとしての共通の内容を(伝送エラーがなければ)有する再構成された参照ピクチャのコピーを、ローカルに記憶することができる。
【0065】
予測器(635)は、符号化エンジン(632)について予測探索を実行することができる。すなわち、符号化されるべき新しいピクチャについて、予測器(635)は、新しいピクチャのための適切な予測参照として機能し得るサンプルデータ(候補参照ピクセルブロックとして)又は特定のメタデータ、例えば参照ピクチャ動きベクトル、ブロック形状等を求めて、参照ピクチャメモリ(634)を探索することができる。予測器(635)は、適切な予測参照を見出すために、サンプルブロック/ピクセルブロック毎に(on a sample block-by-pixel block basis)動作し得る。場合によっては、予測器(635)によって得られた検索結果によって決定されるところにより、入力ピクチャは、参照ピクチャメモリ(634)に記憶された複数の参照ピクチャから引き出された予測参照を有することができる。
【0066】
コントローラ(650)は、例えば、ビデオデータを符号化するために使用されるパラメータ及びサブグループパラメータの設定を含め、ソース符号化器(630)の符号化動作を管理してもよい。
【0067】
上記の機能ユニット全ての出力は、エントロピー符号化器(645)におけるエントロピー符号化を受けることができる。エントロピー符号化器(645)は、ハフマン符号化、可変長符号化、算術符号化等といった技術に従ってシンボルに無損失圧縮を適用することによって、様々な機能ユニットによって生成されたシンボルを符号化ビデオシーケンスに変換する。
【0068】
送信機(640)は、エントロピーエンコーダ(645)によって生成される符号化ビデオシーケンスをバッファに入れて、通信チャネル(660)を介した送信のために準備することができる。通信チャネル(660)は、符号化されたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクであってもよい。送信機(640)は、ビデオ符号化器(630)からの符号化されたビデオデータを、送信されるべき他のデータ、例えば符号化されたオーディオデータ及び/又は補助データストリーム(ソースは図示せず)とマージすることができる。
【0069】
コントローラ(650)は、ビデオエンコーダ(603)の動作を管理してもよい。符号化の間、コントローラ(650)は、それぞれの符号化されたピクチャに、ある符号化ピクチャタイプを割り当てることができる。符号化ピクチャタイプは、それぞれのピクチャに適用され得る符号化技術に影響し得る。例えば、ピクチャはしばしば、以下のピクチャタイプのうちの1つとして割り当てられることがある。
【0070】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の他のピクチャを使用せずに、符号化され、復号され得るものであり得る。いくつかのビデオコーデックは、例えば、独立デコーダリフレッシュ(Independent Decoder Refresh、「IDR」)ピクチャを含む、異なるタイプのイントラピクチャを許容する。当業者は、Iピクチャのこれらの変形、並びにそれらのそれぞれの用途及び特徴を認識する。
【0071】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、最大で1つの動きベクトル及び参照インデックスを用いるイントラ予測又はインター予測を用いて符号化及び復号され得るものであり得る。
【0072】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、最大で2つの動きベクトル及び参照インデックスを用いるイントラ予測又はインター予測を用いて符号化及び復号され得るものであり得る。同様に、マルチ予測ピクチャは、単一のブロックの再構成のために、3つ以上の参照ピクチャ及び関連するメタデータを使用することができる。
【0073】
ソースピクチャは、通常では、空間的に複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、又は16×16サンプルのブロック)に分割され、ブロック毎に符号化され得る。ブロックは、ブロックのそれぞれのピクチャに適用される符号化割り当てによって決定されるところにより、他の(既に符号化された)ブロックを参照して予測的に符号化され得る。例えば、Iピクチャのブロックは、非予測的に符号化されてもよく、或いは、同じピクチャの既に符号化されたブロックを参照して予測的に符号化されてもよい(空間的予測又はイントラ予測)。Pピクチャのピクセルブロックは、以前に符号化された1つの参照ピクチャを参照して、空間的予測を介して或いは時間的予測を介して予測的に符号化されてもよい。Bピクチャのブロックは、1つ又は2つの以前に符号化された参照ピクチャを参照して、空間的予測を介して或いは時間的予測を介して予測的に符号化されてもよい。
【0074】
ビデオエンコーダ(603)は、ITU-T勧告H.265等の所定のビデオ符号化技術又は標準に従って符号化動作を実行することができる。その動作において、ビデオエンコーダ(603)は、入力ビデオシーケンスにおける時間的及び空間的冗長性を活用する予測符号化動作を含む、様々な圧縮動作を実行することができる。よって、符号化されたビデオデータは、使用されるビデオ符号化技術又は標準によって指定されるシンタックスに準拠し得る。
【0075】
ある実施形態において、送信機(640)は、符号化されたビデオと一緒に追加データを送信してもよい。ソース符号化器(630)は、符号化ビデオシーケンスの一部としてそのようなデータを含めてもよい。追加データは、時間的/空間的/SNRエンハンスメント層、冗長ピクチャ及びスライスのような他の形の冗長データ、SEIメッセージ、VUIパラメータセットフラグメント等を含んでいてもよい。
【0076】
ビデオは、時間的シーケンスにおいて複数のソースピクチャ(ビデオピクチャ)として捕捉されてもよい。イントラピクチャ予測(しばしば、イントラ予測と略される)は、所与のピクチャにおける空間的相関を利用し、インターピクチャ予測は、ピクチャ間の(時間的又は他の)相関を利用する。一例では、現在ピクチャと呼ばれる符号化/復号対象の特定のピクチャは、ブロックに分割される。現在ピクチャ内のブロックが、ビデオにおける、前に符号化され、且つ、まだバッファに入れられている参照ピクチャ内の参照ブロックに類似する場合、現在ピクチャ内のそのブロックは、動きベクトルと呼ばれるベクトルによって符号化できる。動きベクトルは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用される場合には、参照ピクチャを識別する第3の次元を有することができる。
【0077】
いくつかの実施形態において、インターピクチャ予測において双予測技術が使用できる。双予測技術によれば、いずれもビデオにおいて現在ピクチャより復号順で先行する(ただし、表示順では、それぞれ過去及び将来でもよい)第1の参照ピクチャ及び第2の参照ピクチャのような2つの参照ピクチャが使用される。現在ピクチャ内のブロックは、第1の参照ピクチャ内の第1の参照ブロックを指す第1の動きベクトルと、第2の参照ピクチャ内の第2の参照ブロックを指す第2の動きベクトルとによって符号化できる。ブロックは、第1の参照ブロックと第2の参照ブロックの組み合わせによって予測できる。
【0078】
さらに、符号化効率を改善するために、インターピクチャ予測においてマージモード技術が使用できる。
【0079】
本開示のいくつかの実施形態によれば、インターピクチャ予測及びイントラピクチャ予測等の予測は、ブロックの単位で実行される。例えば、HEVC標準によれば、ビデオピクチャのシーケンスにおけるピクチャは、圧縮のために符号化ツリーユニット(CTU)に分割され、ピクチャにおけるそれらのCTUは、64×64ピクセル、32×32ピクセル、又は16×16ピクセル等の同じサイズを有する。一般に、CTUは、1つのルマCTB及び2つのクロマCTBである3つの符号化ツリーブロック(CTB)を含む。各CTUは、再帰的に、1つ以上の符号化ユニット(CU)に四分木分割されていくことができる。例えば、64×64ピクセルのCTUは、64×64ピクセルの1つのCU、又は32×32ピクセルの4つのCU、又は16×16ピクセルの16個のCUに分割されることができる。一例では、各CUは、インター予測タイプ又はイントラ予測タイプのような、そのCUについての予測タイプを決定するために解析される。CUは時間的及び/又は空間的予測可能性に依存して、1つ以上の予測ユニット(PU)に分割される。一般に、各PUはルマ予測ブロック(PB)及び2つのクロマPBを含む。ある実施形態では、コーディング(符号化/復号)における予測動作は、予測ブロックの単位で実行される。予測ブロックの例としてルマ予測ブロックを用いると、予測ブロックは、8×8ピクセル、16×16ピクセル、8×16ピクセル、16×8ピクセル等、ピクセルについての値(例えば、ルマ値)の行列を含む。
【0080】
図7は、ビデオエンコーダ(703)の例示的な図を示す。ビデオエンコーダ(703)は、ビデオピクチャのシーケンス内の現在ビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックを、符号化ビデオシーケンスの一部である符号化されたピクチャに符号化するように構成される。一例では、ビデオエンコーダ(703)は、
図4の例におけるビデオエンコーダ(403)の代わりに使用される。
【0081】
HEVCの例では、ビデオエンコーダ(703)は、8×8サンプル等の予測ブロックのような処理ブロックについてサンプル値の行列を受信する。ビデオエンコーダ(703)は、処理ブロックが、イントラモード、インターモード、又は双予測モードのどれを使用して、最もよく符号化されるかを、例えばレート‐歪み最適化を使用して、判別する。処理ブロックがイントラモードで符号化される場合、ビデオエンコーダ(703)は、処理ブロックを符号化されたピクチャに符号化するためにイントラ予測技術を使用してもよい。処理ブロックがインターモード又は双予測モードで符号化される場合、ビデオエンコーダ(703)は、処理ブロックを符号化されたピクチャに符号化するために、それぞれ、インター予測技術又は双予測技術を使用してもよい。特定のビデオ符号化技術では、マージモード(merge mode)は、動きベクトルが1つ以上の動きベクトル予測子から導出されるが前記予測子の外の符号化された動きベクトル成分の利益のない、インターピクチャ予測サブモードであり得る。特定の他のビデオ符号化技術では、対象ブロックに適用可能な動きベクトル成分が存在してもよい。一例では、ビデオエンコーダ(703)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)等の他のコンポーネントを含む。
【0082】
図7の例では、ビデオエンコーダ(703)は、インターエンコーダ(730)、イントラエンコーダ(722)、残差計算器(723)、スイッチ(726)、残差エンコーダ(724)、全般コントローラ(721)、及びエントロピー符号化器(725)を、
図7に示されるように一緒に結合されて含む。
【0083】
インターエンコーダ(730)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、該ブロックを参照ピクチャ内の1つ以上の参照ブロック(例えば、以前のピクチャ及び後のピクチャ内のブロック)と比較し、インター予測情報(例えば、インター符号化技術による冗長情報の記述、動きベクトル、マージモード情報)を生成し、該インター予測情報に基づいて、任意の好適な技術を使用してインター予測結果(例えば、予測されたブロック)を計算するように構成される。いくつかの例では、参照ピクチャは、符号化されたビデオ情報に基づいて復号された、復号された参照ピクチャである。
【0084】
イントラエンコーダ(722)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては、該ブロックを、同じピクチャ内で既に符号化されているブロックと比較し、変換後に量子化された係数を生成し、場合によっては、イントラ予測情報(例えば、1つ以上のイントラ符号化技術によるイントラ予測方向情報)も生成するように構成される。一例では、イントラエンコーダ(722)はまた、該イントラ予測情報及び同じピクチャ内の参照ブロックに基づいて、イントラ予測結果(例えば、予測されたブロック)を計算する。
【0085】
全般コントローラ(721)は、全般制御データを決定し、全般制御データに基づいてビデオエンコーダ(703)の他のコンポーネントを制御するように構成される。一例では、全般コントローラ(721)は、ブロックのモードを決定し、そのモードに基づいて制御信号をスイッチ(726)に提供する。例えば、モードがイントラモードである場合、全般コントローラ(721)は、残差計算器(723)による使用のためにイントラモードの結果を選択するようスイッチ(726)を制御し、イントラ予測情報を選択し、イントラ予測情報をビットストリームに含めるようエントロピーエンコーダ(725)を制御する。モードがインターモードである場合、全般コントローラ(721)は、残差計算器(723)による使用のためにインター予測の結果を選択するようスイッチ(726)を制御し、インター予測情報を選択し、インター予測情報をビットストリームに含めるようエントロピーエンコーダ(725)を制御する。
【0086】
残差計算器(723)は、受信されたブロックと、イントラエンコーダ(722)又はインターエンコーダ(730)から選択された予測結果との差(残差データ)を計算するように構成される。残差エンコーダ(724)は、残差データに基づいて、残差データを符号化して変換係数を生成するように構成される。一例では、残差エンコーダ(724)は、残差データを空間領域から周波数領域に変換し、変換係数を生成するように構成される。次いで、変換係数は、量子化処理にかけられ、量子化された変換係数を得る。様々な実施形態において、ビデオエンコーダ(703)は、残差デコーダ(728)をも含む。残差デコーダ(728)は、逆変換を実行して、復号された残差データを生成するように構成される。復号された残差データは、イントラエンコーダ(722)及びインターエンコーダ(730)によって好適に使用されることができる。例えば、インターエンコーダ(730)は、復号された残差データ及びインター予測情報に基づいて、復号されたブロックを生成することができ、イントラエンコーダ(722)は、復号された残差データ及びイントラ予測情報に基づいて、復号されたブロックを生成することができる。復号されたブロックは、復号されたピクチャを生成するために好適に処理され、復号されたピクチャは、メモリ回路(図示せず)内にバッファリングされ、いくつかの例では参照ピクチャとして使用されることができる。
【0087】
エントロピーエンコーダ(725)は、符号化されたブロックを含むようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ(725)は、HEVC標準のような好適な標準に従って様々な情報をビットストリームに含めるように構成される。一例では、エントロピーエンコーダ(725)は、全般制御データ、選択された予測情報(例えば、イントラ予測情報又はインター予測情報)、残差情報、及び他の好適な情報をビットストリーム内に含めるように構成される。開示される主題によれば、インターモード又は双予測モードのいずれかのマージサブモードにおいてブロックを符号化する場合は、残差情報は存在しないことを注意しておく。
【0088】
図8は、ビデオデコーダ(810)の例示的な図を示す。ビデオデコーダ(810)は、符号化されたビデオシーケンスの一部である符号化されたピクチャを受信し、符号化されたピクチャを復号して、再構成されたピクチャを生成するように構成される。一例では、ビデオデコーダ(810)は、
図4の例におけるビデオデコーダ(410)の代わりに使用される。
【0089】
図8の例では、ビデオデコーダ(810)は、エントロピーデコーダ(871)、インターデコーダ(880)、残差デコーダ(873)、再構成モジュール(874)、及びイントラデコーダ(872)が
図8に示されるように一緒に結合されたものを含む。
【0090】
エントロピーデコーダ(871)は、符号化されたピクチャから、その符号化されたピクチャが構成されるシンタックスエレメントを表す特定のシンボルを再構成するように構成されることができる。そのようなシンボルは、例えば、ブロックが符号化されるモード(例えば、イントラモード、インターモード、双予測モード、マージサブモード又は別のサブモードにおける後者の2つ)、及びイントラデコーダ(872)又はインターデコーダ(880)によってそれぞれ予測のために使用される特定のサンプル又はメタデータを識別することができる予測情報(例えば、イントラ予測情報又はインター予測情報等)を含むことができる。シンボルはまた、例えば量子化された変換係数の形の残差情報等を含むことができる。一例では、予測モードがインター又は双予測モードである場合、インター予測情報がインターデコーダ(880)に提供される。予測タイプがイントラ予測タイプである場合には、イントラ予測情報がイントラデコーダ(872)に提供される。残差情報は、逆量子化を受けることができ、残差デコーダ(873)に提供される。
【0091】
インターデコーダ(880)は、インター予測情報を受信し、該インター予測情報に基づいてインター予測結果を生成するように構成される。
【0092】
イントラデコーダ(872)は、イントラ予測情報を受信し、該イントラ予測情報に基づいて予測結果を生成するように構成される。
【0093】
残差デコーダ(873)は、逆量子化を実行して量子化解除された変換係数を抽出し、量子化解除された変換係数を処理して、残差情報を周波数領域から空間領域に変換するように構成される。残差デコーダ(873)はまた、特定の制御情報(量子化器パラメータ(QP)を含む)をも必要とすることがあり、その情報は、エントロピーデコーダ(871)によって提供されてもよい(これは、低ボリュームの制御情報のみであるため、データ経路は描かれていない)。
【0094】
再構成モジュール(874)は、空間領域において、残差デコーダ(873)によって出力される残差情報と、予測結果(場合に応じてイントラ又はインター予測モジュールによって出力される)とを組み合わせて、再構成されたブロックを形成するように構成され、該再構成されたブロックは再構成されたピクチャの一部であってもよく、該再構成されたピクチャは再構成されたビデオの一部であってもよい。視覚的品質を改善するためにデブロッキング動作等の他の好適な動作が実行されることができることを注意しておく。
【0095】
なお、ビデオエンコーダ(403)、(603)、(703)、及びビデオデコーダ(410)、(510)、(810)は、任意の好適な技術を用いて実装できる。ある実施形態では、ビデオエンコーダ(403)、(603)、(703)及びビデオデコーダ(410)、(510)、(810)は、1つ以上の集積回路を使用して実装できる。別の実施形態では、ビデオエンコーダ(403)、(603)、(703)、及びビデオデコーダ(410)、(510)、(810)は、ソフトウェア命令を実行する1つ以上のプロセッサを使用して実装できる。
【0096】
様々なインター予測モードがVVCで使用できる。インター予測されるCUについて、動きパラメータは、MV、1つ以上の参照ピクチャインデックス、参照ピクチャリスト使用インデックス、及びインター予測サンプル生成に使用される特定のコーディング特徴のための追加情報を含むことができる。動きパラメータは明示的又は暗黙的に信号伝達できる。CUがスキップモードでコーディングされる場合、CUはPUと関連付けでき、有意な残余係数、コーディングされた動きベクトルデルタ又はMV差(例えば、MVD)又は参照ピクチャインデックスを有さない可能性がある。空間及び/又は時間候補と、任意選択でVVCにおいて導入されたような追加情報とを含み、現在CUの動きパラメータが隣接CUから取得されるマージモードが指定できる。マージモードは、スキップモードだけでなく、インター予測されるCUにも適用できる。一例では、マージモードに対する選択は、動きパラメータの明示的な信号伝達であり、MV、各参照ピクチャリストの対応する参照ピクチャインデックス及び参照ピクチャリスト使用フラグ並びに他の情報がCU毎に明示的に信号伝達される。
【0097】
VVCのような実施形態では、VVCテストモデル(VTM, VVC Test model)参照ソフトウェアは、拡張マージ予測、マージ動きベクトル差(MMVD, merge motion vector difference)モード、対称MVD信号伝達を伴う適応動きベクトル予測(AMVP, adaptive motion vector prediction)モード、アフィン動き補償予測、サブブロックベースの時間動きベクトル予測(SbTMVP, subblock-based temporal motion vector prediction)、適応動きベクトル解像度(AMVR, adaptive motion vector resolution)、動き場ストレージ(1/16ルマサンプルMVストレージ及び8x8動き場圧縮)、CUレベルの重みを用いた双方向予測(BCW, bi-prediction with CU-level weights)、双方向オプティカルフロー(BDOF, bi-directional optical flow)、オプティカルフローを使用した予測洗練化(PROF, prediction refinement using optical flow)、デコーダ側動きベクトル洗練化(DMVR, decoder side motion vector refinement)、結合インター及びイントラ予測(CIIP, combined inter and intra prediction)、幾何学分割モード(GPM, geometric partitioning mode)等を含む1つ以上の洗練化されたインター予測コーディングツールを含む。以下では、インター予測及び関連する方法について詳細に説明する。
【0098】
いくつかの例では、拡張マージ予測が使用できる。VTM4のような例では、マージ候補リストは、空間隣接CUからの空間動きベクトル予測子(MVP, motion vector predictor)、同一位置のCUからの時間MVP、先入れ先出し(FIFO, first-in-first-out)テーブルからの履歴ベースのMVP、ペアワイズ平均MVP及びゼロMVの5種類の候補を順に含めることによって構築される。
【0099】
マージ候補リストのサイズは、スライスヘッダで信号伝達できる。一例では、マージ候補リストの最大許容サイズは、VTM4では6である。マージモードでコーディングされた各CUについて、最適なマージ候補のインデックス(例えば、マージインデックス)は、トランケーテッド単項二進化(TU, truncated unary binarization)を使用して符号化できる。マージインデックスの最初のビンはコンテキスト(例えば、コンテキスト適応二項算術符号化(CABAC, context-adaptive binary arithmetic coding)でコーディングでき、バイパスコーディングが他のビンに使用できる。
【0100】
マージ候補の各カテゴリの生成プロセスのいくつかの例が以下に提供される。一実施形態では、空間候補は以下のように導出される。VVCでの空間マージ候補の導出は、HEVCでの導出と同じものとすることができる。一例では、
図9に示す位置にある候補の中から最大で4つのマージ候補が選択される。
図9は、本開示の一実施形態による空間マージ候補の位置を示す。
図9を参照すると、導出の順序はB1、A1、B0、A0及びB2である。位置B2は、位置A0、B0、B1及びA1のいずれかのCUが利用可能でない場合(例えば、CUが他のスライス又は他のタイルに属しているため)、又はイントラコーディングされる場合にのみ考慮される。位置A1における候補が追加された後に、残りの候補の追加は冗長検査の対象となり、これは、同じ動き情報を有する候補が候補リストから除外され、それにより、コーディング効率が改善されることを確保する。
【0101】
計算の複雑性を低減するために、全ての可能な候補ペアが上記の冗長検査で考慮されるとは限らない。代わりに、
図10における矢印でリンク付けされたペアのみが考慮され、冗長検査に使用される対応する候補が同じ動き情報を有さない場合にのみ、候補が候補リストに追加される。
図10は、本開示の一実施形態による空間マージ候補の冗長検査について考慮される候補ペアを示す。
図10を参照すると、それぞれの矢印でリンク付けされたペアは、A1及びB1と、A1及びA0と、A1及びB2と、B1及びB0と、B1及びB2とを含む。したがって、位置B1、A0及び/又はB2における候補は位置A1における候補と比較でき、位置B0及び/又はB2における候補は位置B1における候補と比較できる。
【0102】
一実施形態では、時間候補は以下のように導出される。一例では、1つの時間マージ候補のみが候補リストに追加される。
図11は、時間マージ候補のための例示的な動きベクトルのスケーリングを示す。現在ピクチャ(1101)内の現在CU(1111)の時間マージ候補を導出するために、スケーリングされたMV(1121)(例えば、
図11において点線で示す)は、同一位置の参照ピクチャ(1104)に属する同一位置のCU(1112)に基づいて導出できる。同一位置のCU(1112)を導出するために使用される参照ピクチャリストは、スライスヘッダで明示的に信号伝達できる。時間マージ候補のためのスケーリングされたMV(1121)は、
図11において点線で示すように取得できる。スケーリングされたMV(1121)は、ピクチャ順序カウント(POC, picture order count)距離tb及びtdを使用して、同一位置のCU(1112)のMVからスケーリングできる。POC距離tbは、現在ピクチャ(1101)の現在の参照ピクチャ(1102)と現在ピクチャ(1101)との間のPOC差として定義できる。POC距離tdは、同一位置のピクチャ(1103)の同一位置の参照ピクチャ(1104)と同一位置のピクチャ(1103)との間のPOC差として定義できる。時間マージ候補の参照ピクチャインデックスは0に設定できる。
【0103】
図12は、現在CUの時間マージ候補の例示的な候補位置(例えば、C0及びC1)を示す。時間マージ候補の位置は、候補位置C0と候補位置C1との間で選択できる。候補位置C0は、現在CUの同一位置のCU(1210)の右下角に位置する。候補位置C1は、現在CUの同一位置のCU(1210)の中央に位置する。候補位置C0におけるCUが利用可能でない場合、イントラコーディングされる場合、又はCTUの現在の行の外にある場合、候補位置C1が時間マージ候補を導出するために使用される。そうでない場合、例えば、候補位置C0におけるCUが利用可能であり、イントラコーディングされ、CTUの現在の行にある場合、候補位置C0が時間マージ候補を導出するために使用される。
【0104】
いくつかの例では、動き補償予測(MCP, motion compensation prediction)について並進動きモデルが適用される。しかし、並進動きモデルは、ズームイン/アウト、回転、透視動き及び他の不規則な動きのような他の種類の動きをモデル化するのに適さない可能性がある。いくつかの実施形態では、ブロックベースのアフィン変換動き補償予測(block-based affine transform motion compensation prediction)が適用される。
図13Aにおいて、4パラメータのアフィンモデルが使用される場合、ブロックのアフィン動き場は、2つの制御点(CP, control point)CP0及びCP1の2つの制御点動きベクトル(CPMV, control point motion vector)であるCPMV0及びCPMV1によって記述される。
図13Bにおいて、6パラメータのアフィンモデルが使用される場合、ブロックのアフィン動き場は、CP0、CP1及びCP2のCPの3つのCPMVであるCPMV0、CPMV1及びCPMV3によって記述される。
【0105】
4パラメータのアフィン動きモデルの場合、ブロック内のサンプル位置(x,y)における動きベクトルは以下のように導出される。
【数1】
【0106】
6パラメータのアフィン動きモデルの場合、ブロック内のサンプル位置(x,y)における動きベクトルは以下のように導出される。
【数2】
【0107】
式1~2において、(mv0x,mv0y)は左上角の制御点の動きベクトルであり、(mv1x,mv1y)は右上角の制御点の動きベクトルであり、(mv2x,mv2y)は左下角の制御点の動きベクトルである。さらに、座標(x,y)はそれぞれのブロックの左上角を基準とするものであり、W及びHはそれぞれのブロックの幅及び高さを示す。
【0108】
いくつかの実施形態では、動き補償予測を簡略化するために、サブブロックベースのアフィン変換予測が適用される。例えば、
図14において、4パラメータのアフィン動きモデルが使用され、2つのCPMV
【数3】
が決定される。現在ブロック(1410)から分割された各4×4(サンプル)ルマサブブロック(1402)の動きベクトルを導出するために、各サブブロック(1402)の中心サンプルの動きベクトル(1401)が式1に従って計算され、1/16の分数精度に丸められる。次いで、導出された動きベクトル(1401)で各サブブロック(1402)の予測を生成するために、動き補償補間フィルタが適用される。クロマ成分のサブブロックサイズは4×4に設定される。4×4クロマサブブロックのMVは、対応する4×4ルマサブブロックのMVの平均として計算される。
【0109】
いくつかの実施形態では、並進動きインター予測と同様に、アフィンマージモード及びアフィンAMVPモードの2つのアフィン動きインター予測モードが使用される。
【0110】
いくつかの実施形態では、アフィンマージモードは、幅及び高さの双方が8以上であるCUに適用できる。現在CUのアフィンマージ候補は空間隣接CUの動き情報に基づいて生成できる。最大で5つのアフィンマージ候補が存在でき、現在CUに使用されるものを示すためにインデックスが信号伝達される。例えば、以下の3種類のアフィンマージ候補がアフィンマージ候補リストを形成するために使用される。
(i)隣接CUのCPMVから外挿された継承アフィンマージ候補、
(ii)隣接CUの並進MVを使用して導出された構築アフィンマージ候補、及び
(iii)ゼロMV
【0111】
いくつかの実施形態では、隣接ブロックのアフィン動きモデルから導出された最大で2つの継承アフィン候補が存在し、1つは左隣接CUから導出され、1つは上隣接CUから導出される。例えば、候補ブロックは
図9に示す位置に配置できる。左の予測子については、スキャン順序はA0>A1であり、上の予測子については、スキャン順序はB0>B1>B2である。それぞれの側から最初に継承された候補のみが選択される。2つの継承された候補の間でプルーニング検査は実行されない。
【0112】
隣接アフィンCUが識別されると、識別された隣接アフィンCUのCPMVが、現在CUのアフィンマージリスト内のCPMV候補を導出するために使用される。
図15に示すように、現在CU(1510)の隣接左下ブロックAはアフィンモードでコーディングされる。ブロックAを含むCU(1520)の左上角、右上角及び左下角の動きベクトル
【数4】
が取得される。ブロックAが4パラメータのアフィンモデルでコーディングされる場合、現在CU(1510)の2つのCPMV
【数5】
は、
【数6】
に従って計算される。ブロックAが6パラメータのアフィンモデルでコーディングされる場合、現在CUの3つのCPMV(図示せず)は、
【数7】
に従って計算される。
【0113】
構築アフィン候補は、各制御点の隣接する並進動き情報を組み合わせることで構築される。制御点の動き情報は、
図16に示す指定の空間隣接及び時間隣接から導出される。CPMV
k(k=1,2,3,4)は、第kの制御点を表す。CPMV1については、B2>B3>A2のブロックが順に検査され、最初に利用可能なブロックのMVが使用される。CPMV2については、B1>B0のブロックが検査され、CPMV3については、A1>A0のブロックが検査される。ブロックTにおけるTMVPは、利用可能な場合にはCPMV4として使用される。
【0114】
4つの制御点のMVが取得された後に、その動き情報に基づいてアフィンマージ候補が構築される。以下の制御点MVの組み合わせ、すなわち、{CPMV1,CPMV2,CPMV3}、{CPMV1,CPMV2,CPMV4}、{CPMV1,CPMV3,CPMV4}、{CPMV2,CPMV3,CPMV4}、{CPMV1,CPMV2}、{CPMV1,CPMV3}が順に構築するのに使用される。
【0115】
3つのCPMVの組み合わせは6パラメータのアフィンマージ候補を構築し、2つのCPMVの組み合わせは4パラメータのアフィンマージ候補を構築する。動きスケーリングプロセスを回避するために、制御点の参照インデックスが異なる場合、関連する制御点MVの組み合わせは破棄される。
【0116】
継承アフィンマージ候補及び構築アフィンマージ候補が検査された後に、リストが依然としていっぱいになっていない場合、ゼロMVがマージ候補リストの最後に挿入される。
【0117】
いくつかの実施形態では、アフィンAMVPモードは、幅及び高さの双方が16以上であるCUに適用できる。アフィンAMVPモードが使用されるか否かを示すためにCUレベルでのアフィンフラグがビットストリームで信号伝達され、次いで、4パラメータのアフィンが使用されるか6パラメータのアフィンが使用されるかを示すために他のフラグが信号伝達される。現在CUとその予測子のCPMVの差がビットストリームで信号伝達される。アフィンAVMP候補リストサイズは2であり、以下の4種類のCPVM候補を順に使用することによって生成できる。
(i)隣接CUのCPMVから外挿された継承アフィンAMVP候補、
(ii)隣接CUの並進MVを使用して導出された構築アフィンAMVP候補、
(iii)隣接CUからの並進MV、及び
(iv)ゼロMV
【0118】
一例では、継承アフィンAMVP候補の検査順序は、継承アフィンマージ候補の検査順序と同様である。違いは、AVMP候補について、現在ブロックと同じ参照ピクチャを有するアフィンCUが考慮されることである。継承アフィン動き予測子を候補リストに挿入する場合、プルーニングプロセスは適用されない。
【0119】
構築AMVP候補は、
図16に示す指定の空間隣接から導出される。アフィンマージ候補構築で行われるのと同じ検査順序が使用される。さらに、隣接ブロックの参照ピクチャインデックスも検査される。現在CUと同じ参照ピクチャを有し且つインターコーディングされる検査順序での最初のブロックが使用される。現在CUが4パラメータのアフィンモデルでコーディングされ、CPMV0及びCPMV1の双方が利用可能である場合、利用可能なCPMVはアフィンAMVPリストにおいて1つの候補として追加される。現在CUが6パラメータのアフィンモードでコーディングされ、3つのCPMV(CPMV0、CPMV1及びCPMV2)が全て利用可能である場合、利用可能なCPMVはアフィンAMVPリストにおいて1つの候補として追加される。そうでない場合、構築AMVP候補は利用不可能に設定される。
【0120】
継承アフィンAMVP候補及び構築AMVP候補が検査された後に、アフィンAMVPリスト候補が依然として2未満である場合、制御点に隣接する並進動きベクトルが利用可能である場合には、現在CUの全ての制御点MVを予測するために追加される。最後に、アフィンAMVPリストが依然としていっぱいになっていない場合、ゼロMVがアフィンAMVPリストを埋めるために使用される。
【0121】
ビデオ/画像コーディングにおいてテンプレートマッチング(TM, template matching)技術が使用できる。VVC標準の圧縮効率を更に向上させるために、例えば、TMがMVを洗練化するために使用できる。一例では、TMはデコーダ側で使用される。TMモードによって、MVは、現在ピクチャ内のブロック(例えば、現在ブロック)のテンプレート(例えば、現在テンプレート)を構築し、現在ピクチャにおけるブロックのテンプレートと参照ピクチャにおける複数の可能なテンプレート(例えば、複数の可能な参照テンプレート)との間の最も近い一致を決定することによって洗練化できる。一実施形態では、現在ピクチャにおけるブロックのテンプレートは、ブロックの左隣接再構成サンプル及びブロックの上隣接再構成サンプルを含むことができる。TMは、VVCを超えるビデオ/画像コーディングで使用できる。
【0122】
図17は、テンプレートマッチング(1700)の例を示す。TMは、現在ピクチャ(1710)における現在CU(1701)のテンプレート(例えば、現在テンプレート)(1721)と参照ピクチャ(1711)における複数の可能なテンプレート(例えば、複数の可能なテンプレートのうち1つがテンプレート(1725)である)のテンプレート(例えば、参照テンプレート)との間の最も近い一致を決定することによって、現在のCU(例えば、現在ブロック)(1701)の動き情報を導出する(例えば、初期MV1702のような初期動き情報から最終的な動き情報を導出する)ために使用できる。現在CU(1701)のテンプレート(1721)は、いずれか適切な形状及びいずれか適切なサイズを有することができる。
【0123】
一実施形態では、現在CU(1701)のテンプレート(1721)は、上テンプレート(1722)及び左テンプレート(1723)を含む。上テンプレート(1722)及び左テンプレート(1723)のそれぞれは、いずれか適切な形状及びいずれか適切なサイズを有することができる。
【0124】
上テンプレート(1722)は、現在CU(1701)の1つ以上の上隣接ブロック内のサンプルを含むことができる。一例では、上テンプレート(1722)は、現在CU(1701)の1つ以上の上隣接ブロック内の4つの行のサンプルを含む。左テンプレート(1723)は、現在CU(1701)の1つ以上の左隣接ブロック内のサンプルを含むことができる。一例では、左テンプレート(1723)は、現在CU(1701)の1つ以上の左隣接ブロック内の4つの列のサンプルを含む。
【0125】
参照ピクチャ(1711)における複数の可能なテンプレートのそれぞれ(例えば、テンプレート(1725))は、現在ピクチャ(1710)におけるテンプレート(1721)に対応する。一実施形態では、初期MV(1702)は、現在CU(1701)から参照ピクチャ(1711)内の参照ブロック(1703)を指す。参照ピクチャ(1711)における複数の可能なテンプレート及び現在ピクチャ(1710)におけるテンプレート(1721)のそれぞれ(例えば、テンプレート(1725))は、同じ形状及び同じサイズを有することができる。例えば、参照ブロック(1703)のテンプレート(1725)は、参照ピクチャ(1711)における上テンプレート(1726)及び参照ピクチャ(1711)における左テンプレート(1727)を含む。上テンプレート(1726)は、参照ブロック(1703)の1つ以上の上隣接ブロック内のサンプルを含むことができる。左テンプレート(1727)は、参照ブロック(1703)の1つ以上の左隣接ブロック内のサンプルを含むことができる。
【0126】
TMコストは、テンプレート(例えば、現在テンプレート)(1721)及びテンプレート(例えば、参照テンプレート)(1725)のようなテンプレートのペアに基づいて決定できる。TMコストは、テンプレート(1721)とテンプレート(1725)との間の一致を示すことができる。検索範囲(1715)内で現在CU(1701)の初期MV(1702)の周囲の検索に基づいて、最適化されたMV(又は最終的なMV)が決定できる。検索範囲(1715)は、いずれか適切な形状及びいずれか適切な数の参照サンプルを有することができる。一例では、参照ピクチャ(1711)における検索範囲(1715)は[-L,L]ペル範囲を含み、Lは8(例えば、8サンプル)のような正の整数である。例えば、検索範囲(1715)に基づいて差(例えば、[0,1])が決定され、初期MV(1702)と差(例えば、[0,1])との和によって中間MVが決定される。中間参照ブロック及び参照ピクチャ(1711)における対応するテンプレートは中間MVに基づいて決定できる。TMコストは、テンプレート(1721)及び参照ピクチャ(1711)における中間テンプレートに基づいて決定できる。TMコストは、検索範囲(1715)に基づいて決定される差(例えば、初期MV(1702)に対応する[0,0]、[0,1]等)に対応させることができる。一例では、最小のTMコストに対応する差が選択され、最適化されたMVは、最小のTMコストに対応する差と初期MV(1702)との和である。上記のように、TMは初期動き情報(例えば、初期MV1702)から最終的な動き情報(例えば、最適化されたMV)を導出できる。
【0127】
TMは適切に修正できる。一例では、探索ステップサイズはAMVRモードによって決定される。一例では、TMはバイラテラルマッチング(bilateral matching)プロセスのような他のコーディング方法でカスケードできる(例えば、一緒に使用される)。
【0128】
TMは、アフィンAMVPモード、アフィンマージモードのようなアフィンモードで適用でき、アフィンTMと呼ばれることができる。
図18は、アフィンマージモード等におけるTM(1800)の例を示す。現在ブロック(例えば、現在CU)(1801)のテンプレート(1821)は、並進動きモデルに適用されるTMにおけるテンプレート(例えば、
図17におけるテンプレート(1721))に対応できる。参照ピクチャ内の参照ブロックの参照テンプレート(1825)は、ブロック境界における隣接サブブロック(例えば、
図18に示すようなA
0~A
3及びL
0~L
3)の制御点MV(CPMV, control point MV)で導出されたMVによって指される複数のサブブロックテンプレート(例えば、4×4サブブロック)を含むことができる。
【0129】
アフィンモード(例えば、アフィンマージモード)で適用されるTMの検索プロセスは、他のCPMV(例えば、(i)4パラメータのモデルが使用される場合のCPMV1、又は(ii)6パラメータのモデルが使用される場合のCPMV1及びCPMV2)を一定に保ちつつ、CPMV0から開始できる。水平方向及び垂直方向に向かって検索が実行できる。一例では、ゼロベクトルが水平検索及び垂直検索から見つかった最良の差ベクトルでない場合にのみ、対角線方向の検索が続く。アフィンTMは、CPMV1について同じ検索プロセスを繰り返すことができる。アフィンTMは、6パラメーターモデルが使用される場合、CPMV2について同じ検索プロセスを繰り返すことができる。洗練化されたCPMVに基づいて、ゼロベクトルが前の反復からの最良の差ベクトルではなく、検索プロセスが3回未満繰り返されている場合、洗練化されたCPMV0から全体の検索プロセスが再開できる。
【0130】
一実施形態では、BCW技術は、2つの動き補償予測ブロックを加重平均することによってブロックを予測するように設計される。重み付け予測(WP, weighting prediction)はスライスレベルでの重みを示すことができるが、BCWで使用される重みは、インデックス(例えば、bcwIdxとして示されるBCWインデックス)を使用することによってCUレベルで信号伝達できる。BCWにおけるインデックスは、予め定義された候補重みのリスト(例えば、重みリスト)にある選択された重みを指すことができる。リスト(例えば、BCWリスト)は、参照リスト(例えば、参照リスト1又はL1)内の参照ピクチャに選択される{-2,3,4,5,10}/8のような複数の(例えば、5つの)候補重みを予め定義できる。2つの重み-2/8及び10/8は、双方向予測で使用される予測ブロックの間で負に相関するノイズを低減するために使用できる。双方の参照リスト(例えば、L0及びL1)における前方参照ピクチャ及び後方参照ピクチャが性能と複雑さとの間のより良いトレードオフを実現するために使用される場合、リストは{3,4,5}/8のリストに低減されてもよい。一般的に、リストはいずれか適切な数の候補重みを含むことができる。単位利得の制約(unit-gain constraint)が適用されるので、参照リスト1に対応するインデックス(例えば、bcwIdx)により指される重み(例えば、wとして示される第2の重みと呼ばれる)が決定されると、他の参照リスト(例えば、L0)に対応する他の重み(例えば、第1の重みと呼ばれる)は(1-w)となる。一例では、BCWの各ルマ予測サンプル又は各クロマ予測サンプルは以下のように決定される。
【数8】
【0131】
式3においてP0及びP1はそれぞれ参照リスト0(L0)内の第1の参照ピクチャ及び参照リスト1(L1)内の第2の参照ピクチャから動きベクトルによって指される予測サンプルである。PBCWは現在ブロック内のサンプルの最終予測であり、PBCWはP0とP1との加重平均である。一実施形態では、BCWは、少なくとも256個のルマサンプルによる双方向予測されるCUについてのみ、双方向予測CUについてWPがオフになっている場合に有効になる。上記のBCWは、アフィンAMVPモードでコーディングされた双方向予測CUに拡張できる。
【0132】
インデックス(例えば、bcwIdx)の使用は、通常のマージモード(例えば、全体のブロックベースのマージモード)又はアフィンマージモードのように空間動きマージを実行するために、同じピクチャ又は同じフレーム内の後続のCUのためにバッファできる。空間隣接マージ候補が双方向予測され、現在CUが空間隣接マージ候補を選択すると、(i)1つ以上の参照インデックス、(ii)動きベクトル(又は継承アフィンマージモードにおけるCPMV)、及び(iii)対応するBCWインデックス(例えば、bcwIdx)のうち1つ以上を含む動き情報が現在CUによって継承できる。一例では、(i)1つ以上の参照インデックス、(ii)動きベクトル(又は継承アフィンマージモードにおけるCPMV)、及び(iii)対応するBCWインデックス(例えば、bcwIdx)の全てが現在CUによって継承できる。一例では、現在CUが有効なCIIPフラグを有する場合、重みインデックス(例えば、bcwIdx)は継承されない。構築アフィンマージモードでは、BCWインデックス(例えば、bcwIdx)は、左上CPMV(s)(又は左上CPMVが使用されていない場合には右上CPMV)に関連付けられた重みインデックスから継承できる。一例では、推測されたBCWインデックス(例えば、bcwIdx)が0.5以外の重みを指す場合、DMVRモード及びBDOFモードはオフになる。
【0133】
VVC及びEE2のようないくつかの実施形態では、BCWインデックスは固定の順序で符号化される。例えば、BCWインデックス(例えば、bcwIdx)とBCWリスト内の対応するBCW候補重みとの間の関係は固定される。一例では、BCWインデックス(例えば、bcwIdx)がiであることは、BCWリスト(例えば、{-2,3,4,5,10}/8)内のi番目の候補重みに対応し、iは0以上の整数である。例えば、BCWインデックスが0、1、2、3又は4である場合、wはそれぞれ-2/8、3/8、4/8、5/8又は10/8である。BCWインデックスを固定の順序で符号化することは、BCW(例えば、BCWインデックスの信号伝達)の高い信号伝達コストを生じる可能性があり、したがって、いくつかの例ではBCWモードが効率的に使用されない可能性がある。
【0134】
現在ピクチャ内の現在CU又は現在ブロックは、BCWモードで双方向予測でコーディングできる。現在ブロックは、第1の参照リスト(例えば、L0)内の第1の参照ピクチャ内の第1の参照ブロックと、第2の参照リスト(例えば、L1)内の第2の参照ピクチャ内の第2の参照ブロックとに基づいてコーディングできる。本開示の一実施形態によれば、BCWモードの効率を改善する(例えば、BCWインデックスを信号伝達するコストを低下させる)ために、TMはBCWリスト(例えば、{-2,3,4,5,10}/8)内の-2/8、3/8、4/8、5/8又は10/8のようなBCW候補重みに適用できる。それぞれのBCW候補重みに対応するTMコストが決定でき、BCW候補重みは、TMコストに基づいて現在CU又は現在ブロックをコーディング(例えば、符号化又は再構成)するために使用されるBCW重みとして選択できる。一例では、BCW候補重みは、それぞれ決定されたTMコストに基づいてランク付け又は並べ替えできる。BCW重みは、ランク付け又は並べ替えされたBCW候補重みから選択できる。例えば、BCW候補重みは、決定されたTMコストの昇順に基づいてランク付け又は並べ替えされる。現在ブロック又は現在CUは、式3に示すように、選択されたBCW重み(例えば、w)に基づいてコーディング(例えば、符号化又は再構成)できる。
【0135】
本開示の一実施形態によれば、BCW候補重みにおける各BCW候補重みに対応するTMコストにおけるTMコストは、それぞれ現在ブロック、第1の参照ブロック及び第2の参照ブロックの隣接再構成ブロック内の再構成サンプルに基づいて決定される。例えば、各BCW候補重みに対応するTMコストは、現在ブロックの現在テンプレートとそれぞれの双方向予測子(例えば、双方向予測子テンプレート)に基づいて決定される。双方向予測子テンプレートは、それぞれのBCW候補重みと、第1の参照ピクチャにおける第1の参照ブロックの第1の参照テンプレートと、第2の参照ピクチャにおける第2の参照ブロックの第2の参照テンプレートとに基づいて決定できる。第1の参照ブロック及び第2の参照ブロックは現在ブロックに対応し、第1の参照テンプレート及び第2の参照テンプレートは現在テンプレートに対応する。
【0136】
一実施形態では、現在CU(例えば、現在ブロック)が双方向予測で符号化され、現在CUについてBCWモードが有効である場合(例えば、sps_bcw_enabled_flagが真である場合)、TMがBCWインデックスを導出するために適用される。TM検索手順は、現在ピクチャにおける現在テンプレートと、第1の参照テンプレート及び第2の参照テンプレートのような参照ピクチャにおける参照テンプレートとの間のTMコストを使用することによって、例えば、BCWインデックスを昇順に並べ替えるために、BCW重み(例えば、可能な全てのBCW重み)に対して実行できる。
【0137】
一実施形態では、現在ピクチャ(例えば、現在の再構成ピクチャ)と参照ピクチャ(例えば、第1の参照ピクチャ及び第2の参照ピクチャ)との間の各TMコストを計算するために、現在ブロック、第1の参照ブロック及び第2の参照ブロックの隣接再構成領域が、それぞれ現在テンプレート、第1の参照テンプレート及び第2の参照テンプレートとして使用できる。
【0138】
図19は、テンプレートマッチングベースのBCWインデックス並べ替えプロセス(1900)の例を示す。現在ピクチャ(1901)で再構成中の現在ブロック(1902)は、BCWモードで双方向予測でコーディングされる。第1のMV(1916)は、現在ブロック(1902)から、第1の参照リスト(例えば、L0)内の第1の参照ピクチャ(1911)内の第1の参照ブロック(1912)を指すことができる。第2のMV(1926)は、現在ブロック(1902)から、第2の参照リスト(例えば、L1)内の第2の参照ピクチャ(1921)内の第2の参照ブロック(1922)を指すことができる。現在ブロック(1902)は、式3において説明したように、第1の参照ピクチャ(1911)内の第1の参照ブロック(1912)と第2の参照ピクチャ(1921)内の第2の参照ブロック(1922)との加重平均に基づいて予測できる。例えば、現在ブロック(1902)内のサンプル(例えば、P
C)は、第1の参照ブロック(1912)内の第1のサンプル(例えば、P
0)(例えば、(1-w)の重みによる)と第2の参照ブロック(1922)内の第2のサンプル(例えば、P
1)(例えば、wの重みによる)との加重平均(例えば、P
BCW)に基づいて予測される。一例では、P
CはP
BCWに等しい。一例では、P
CはP
BCW及び対応する残差の和に等しい。
【0139】
TMは、式3で使用されるBCW重みwのように、第1の参照ブロック(1912)と第2の参照ブロック(1922)との加重平均を計算する際に使用されるBCW重みwを決定するために適用できる。TMは、BCWリスト(例えば、{-2,3,4,5,10}/8)において、-2/8、3/8、4/8、5/8又は10/8のようなBCW候補重みに対して実行できる。例えば、TMは、現在ブロック(1902)の現在テンプレート(1905)と、BCW候補重みにおけるBCW候補重みに対応するそれぞれの双方向予測子テンプレートとの間の各TMマッチングコスト(TMコストとも呼ばれる)を決定するために実行される。各双方向予測子テンプレートは、(i)第1の参照ブロック(1912)の第1の参照テンプレート(1915)と、(ii)第2の参照ブロック(1922)の第2の参照テンプレート(1925)と、対応するBCW候補重みとに基づいて決定できる。
【0140】
現在テンプレート(1905)は、現在ブロック(1902)の隣接再構成ブロック内のサンプル(例えば、再構成サンプル)を含むことができる。現在テンプレート(1905)は、いずれか適切な形状及びいずれか適切なサイズを有することができる。第1の参照テンプレート(1915)及び第2の参照テンプレート(1925)の形状及びサイズは、それぞれ現在テンプレート(1905)の形状及びサイズに一致させることができる。
【0141】
図19に示す例では、現在テンプレート(1905)は、上テンプレート(1904)及び左テンプレート(1903)を含む。したがって、第1の参照テンプレート(1915)は第1の上参照テンプレート(1914)及び第1の左参照テンプレート(1913)を含み、第2の参照テンプレート(1925)は第2の上参照テンプレート(1924)及び第2の左参照テンプレート(1923)を含む。
【0142】
現在テンプレートの形状及び/又はサイズは変化する可能性があり、したがって、例えば、現在ブロック(1902)の隣接再構成データ(例えば、隣接再構成ブロック内の再構成サンプル)、現在ブロック(1902)の復号順序、現在ブロック(1902)のサイズ(例えば、現在ブロック内のサンプル数(1902)、現在ブロックの幅(1902)、現在ブロックの高さ(1902)等)、隣接再構成ブロック内の再構成サンプルの可用性等に適応可能である。一例では、現在ブロックの幅が閾値よりも大きい場合、現在テンプレートは上テンプレート(例えば、(1904))のみを含み、左テンプレート(例えば、(1903))を含まない。一例では、左テンプレート(例えば、(1903))は利用可能ではなく、現在テンプレートは上テンプレート(例えば、(1904))のみを含み、左テンプレート(例えば、(1903))を含まない。上記のように、参照テンプレート(例えば、第1の参照テンプレート(1915)又は第2の参照テンプレート(1925))の形状及び/又はサイズは変化する可能性があり、したがって、現在テンプレートの形状及び/又はサイズに従って適応可能である。
【0143】
図20A~20Dは、テンプレートマッチングベースのBCWインデックス並べ替えで使用できる現在ブロックの現在テンプレートの例を示す。
図20Aにおける現在テンプレート(1905)は
図19に示すものと同じであり、現在テンプレート(1905)は上テンプレート(1904)及び左テンプレート(1903)を含む。
図20Bにおける現在ブロック(1902)の現在テンプレート(2005)は、上テンプレート(1904)、左テンプレート(1903)及び左上テンプレート(2001)を含む。
図20Cにおける現在ブロック(1902)の現在テンプレート(2015)は上テンプレート(1904)である。
図20Dにおける現在ブロック(1902)の現在テンプレート(2025)は左テンプレート(1903)である。
【0144】
図20A及び20Bにおける現在テンプレート(1905)及び(2005)はそれぞれL字の形状を有する。
図20C及び20Dにおける現在テンプレート(2015)及び(2025)はそれぞれ長方形の形状を有する。
【0145】
図19に戻り、現在テンプレート(1905)、第1の参照テンプレート(1915)及び第2の参照テンプレート(1925)はL字の形状を有しており、TMコストを計算するために使用できる。TMプロセスはBCW候補重み(例えば、BCWリスト内の全てのBCW候補重み)に対して実行できる。各TMコストは、現在ピクチャ(1901)における現在テンプレート(1905)と、第1の参照リスト(例えば、L0)内の第1の参照ピクチャ(1911)における第1の参照テンプレート(1915)及び第2の参照リスト(例えば、L1)内の第2の参照ピクチャ(1921)における第2の参照テンプレート(1925)から予測されるそれぞれの双方向予測子テンプレートとの間で行うことができる。各TMコストは、現在テンプレート(TCとして示される)(1905)と、それぞれのBCW候補重み(例えば、予め定義されたBCW候補重み)を有する第1の参照テンプレート(1915)及び第2の参照テンプレート(1925)のそれぞれの双方向予測子テンプレート(TP
BCWとして示される)との間の歪みに従って計算できる。BCWモードでは、第1の参照テンプレート(1915)及び第2の参照テンプレート(1925)の双方向予測子テンプレートTP
BCWは次以下のように導出できる。
【数9】
【0146】
パラメータTP0は第1の参照テンプレート(1915)を表すことができる。パラメータTP1は第2の参照テンプレート(1925)を表すことができる。式4に基づいて、双方向予測子テンプレートTPBCWにおける予測子サンプルの値は、BCW候補重みwに基づいて、第1の参照テンプレートにおける第1の参照サンプル値(1915)と第2の参照テンプレートにおける第2の参照サンプル値(1925)との加重平均とすることができる。
【0147】
式4に示す上記の例では、重みは8で正規化される。16、32等のような他の正規化係数が使用されてもよい。
【0148】
一例では、式4は以下のように書き換えられることができる。
【数10】
【0149】
BCW候補重みwに対応するTMコストは、例えば、以下の式6を使用して、現在テンプレートTC(1905)及び双方向予測子テンプレートTP
BCWに基づいて計算できる。
【数11】
【0150】
差分絶対値和(SAD, sum of absolute differences)は、例えば、現在テンプレートにおけるサンプル値(1905)と双方向予測子テンプレートTPBCWにおける予測子サンプルの対応する値との間の絶対差の和の関数を示す。
【0151】
TMコストを決定するために、残差平方和(SSE, sum of squared errors)、分散、部分SAD等のような他の関数が使用されてもよい。部分SADの例では、現在テンプレートの一部(1905)、第1の参照テンプレートの対応する一部(1915)及び第2の参照テンプレートの対応する一部(1925)がTMコストを決定するために使用される。
【0152】
部分SADの例では、現在テンプレートの一部又は全部(1905)、第1の参照テンプレートの一部又は全部(1915)及び第2の参照テンプレートの一部又は全部(1925)は、TMコストを決定するために使用される前にダウンサンプリングされる。
【0153】
一例では、BCWリストは、5つのBCW候補重み-2/8、3/8、4/8、5/8及び10/8を含む{-2,3,4,5,10}/8である。上記のように、TMがない場合、BCWインデックスがそれぞれ0、1、2、3又は4であるとき、wは-2/8、3/8、4/8、5/8又は10/8であり、BCWインデックス(例えば、bcwIdx)とBCWリスト内の対応するBCW候補重みとの間の関係が固定される。本開示の一実施形態によれば、TMは5つのBCW候補重み-2/8、3/8、4/8、5/8及び10/8に対して実行され、5つの対応するTMコスト(TM0~TM4)は式4及び6を使用して決定される。
【0154】
5つのBCW候補重みは、対応するTMコストに基づいてランク付け(例えば、並べ替え)できる。例えば、TMコストは昇順にTM3、TM4、TM0、TM2及びTM1であり、TM0~TM4の中でTM1が最大であり、TM0~TM4の中でTM3が最小である。5つのBCW候補重みは、5/8、10/8、-2/8、4/8、及び3/8としてランク付けされる(例えば、並べ替えられる)。したがって、BCWインデックスがそれぞれ0、1、2、3又は4である場合、wは5/8、10/8、-2/8、4/8又は3/8である。上記のように、TMが使用される場合、BCWインデックス(例えば、bcwIdx)とBCWリスト内の対応するBCW候補重みとの間の関係は固定されない。BCWインデックス(例えば、bcwIdx)とBCWリスト内の対応するBCW候補重みとの間の関係は、現在テンプレート(1905)、第1の参照テンプレート(1915)及び/又は第2の参照テンプレート(1925)における再構成サンプルの値に適応できる。例えば、信号伝達されたBCWインデックス(例えば、bcwIdx)が0である場合、5/8がTMで現在ブロック(1902)をコーディングするために使用されるBCW重み(例えば、式3におけるw)となるように選択される。これに対して、信号伝達されたBCWインデックス3は、TMのない5/8を示す。したがって、TMのないBCWインデックスの信号伝達と比較すると、BCW候補重みをランク付け(例えば、並べ替え)するためにTMが使用される場合、BCWインデックスを信号伝達するためにより少ないビット数が使用でき、したがって。BCWモードの信号伝達コストを低減できる。例えば、TMベースの並べ替えは、最も有用なBCW候補重み(例えば、上記の例における(i)5/8又は(ii)5/8及び10/8のような比較的小さいTMコストを有するBCW候補重み)が、エントロピーコーディングのためにより短いコードワードを有することができるため有利である。
【0155】
一例では、最小のTMコスト(例えば、TM3)に対応するBCW候補重み(例えば、5/8)が、以下の式7に示すように、現在ブロック(1902)をコーディングするために使用されるBCW重みとして選択される。一例では、BCWインデックス(例えば、bcwIdx)は信号伝達されず、したがって、BCWモードの信号伝達コストを低減する。
【数12】
【0156】
図19で説明したBCW候補重みに適用されるTMは、アフィンAMVPモード又はアフィンマージモードのようなアフィンモードで使用されるTMのようなサブブロックベースのTMに適応できる。
【0157】
一実施形態では、現在ブロック又は現在CUがアフィンモード(例えば、アフィンAMVPモード)で符号化される場合、現在テンプレートと参照テンプレートとの間のTMコストを使用することによって、BCWインデックスを並べ替えるために、TMは全てのBCW候補重みに対して実行される。アフィンモードでは、現在テンプレートは複数のN×Nのサブブロックテンプレートに分割できる。Nは正の整数である。一例では、Nは4である。
【0158】
図21は、アフィンモード(例えば、アフィンAMVPモード)でBCW候補重みに適用されるサブブロックベースのTM(2100)の例を示す。TM(2100)は、BCWリスト(例えば、{-2,3,4,5,10}/8)内のBCW候補重みに適用できる。
【0159】
現在ブロック(2110)は複数のサブブロック(2101)を含む。現在ブロック(2110)は、サブブロックベースの双方向予測モードでコーディングできる。一例では、現在ブロック(2110)内の各サブブロック(2101)は、第1の参照ブロック(2111)内のそれぞれの第1の参照サブブロック(2103)を指す第1のMVと、第2の参照ブロック(2113)内のそれぞれの第2の参照サブブロック(2105)を指す第2のMVとを含むそれぞれのMVペアに関連付けられる。
【0160】
各サブブロック(2101)に関連付けられるMVペアは、
図14において説明したように、現在ブロック(2110)のアフィンパラメータとそれぞれのサブブロック(2101)の位置とに基づいて決定できる。例では、現在ブロック(2110)のアフィンパラメータは、現在ブロック(2110)のCPMV(例えば、CPMV
0~CPMV
1又はCPMV
0~CPMV
2)に基づいて決定される。
【0161】
現在ブロック(2110)の現在テンプレート(2121)は、現在ブロック(2110)の隣接再構成ブロック内の再構成サンプルを含むことができる。現在テンプレート(2121)は、いずれか適切な形状及び/又はいずれか適切なサイズを有することができる。現在テンプレート(2121)の形状及び/又はサイズは、
図20A~20Dを参照して説明したように、変化する可能性がある。
【0162】
アフィンモード(例えば、アフィンAMVPモード)では、現在テンプレート(2121)は複数のサブブロックを含むことができる(サブブロックテンプレートとも呼ばれる)。現在テンプレート(2121)は、いずれか適切な位置においていずれか適切な数のサブブロックを含むことができる。複数のサブブロックテンプレートのそれぞれは、N×Nのようないずれか適切なサイズを有することができる。一例では、複数のサブブロックテンプレートは、上サブブロックテンプレート(例えば、A
0~A
3)及び/又は左サブブロックテンプレート(例えば、L
0~L
3)を含む。例えば、現在テンプレート(2121)は、(i)上サブブロックテンプレートを含む上テンプレート、及び/又は(ii)左サブブロックテンプレートを含む左テンプレートを含むことができる。
図21の例では、現在テンプレート(2121)は、上サブブロックテンプレートA
0~A
3及び左サブブロックテンプレートL
0~L
3を含む。
【0163】
現在テンプレート(2121)内の各サブブロックテンプレート(例えば、A
0~A
3のうち1つ又はL
0~L
3のうち1つ)は、第1のMV及び第2のMVを含むそれぞれのMVペアに関連付けられることができる。サブブロックテンプレートに関連付けられたMVペアは、
図14において説明したように、現在ブロック(2110)のアフィンパラメータ及びサブブロックテンプレートのそれぞれの位置に基づいて決定でき、したがって、それぞれのサブブロックテンプレートに関連付けられたMVペアは異なるものとすることができる。
【0164】
第1の参照ブロック(2111)に関連付けられた第1の参照テンプレート(2123)は、現在テンプレート(2121)内の複数のサブブロックテンプレートと、それぞれ複数のサブブロックテンプレートに関連付けられたMVペア(例えば、関連付けられた第1のMV)とに基づいて決定できる。
図21を参照すると、第1の参照テンプレート(2123)内の第1の参照サブブロックテンプレート(例えば、第1の上参照サブブロックテンプレートA
00~A
03及び/又は第1の左参照サブブロックテンプレートL
00~L
03)は、複数のサブブロックテンプレート(例えば、A
0~A
3及び/又はL
0~L
3)と、それぞれ複数のサブブロックテンプレート(例えば、A
0~A
3及び/又はL
0~L
3)に関連付けられたそれぞれのMVペアとに基づいて決定できる。一例では、複数のサブブロックテンプレートに関連付けられた第1のMVが異なる場合、第1の参照テンプレート(2123)の形状は現在テンプレート(2121)とは異なる。
【0165】
同様に、第2の参照ブロック(2113)に関連付けられた第2の参照テンプレート(2125)は、現在テンプレート(2121)内の複数のサブブロックテンプレートと、それぞれ複数のサブブロックテンプレートに関連付けられたMVペア(例えば、関連付けられた第2のMV)とに基づいて決定できる。
図21を参照すると、第2の参照テンプレート(2123)内の第2の参照サブブロックテンプレート(例えば、第2の上参照サブブロックテンプレートA
10~A
13及び/又は第2の左参照サブブロックテンプレートL
10~L
13)は、現在テンプレート(2121)内の複数のサブブロックテンプレート(例えば、A
0~A
3及び/又はL
0~L
3)と、それぞれ複数のサブブロックテンプレート(例えば、A
0~A
3及び/又はL
0~L
3)に関連付けられたそれぞれのMVペアとに基づいて決定できる。一例では、複数のサブブロックテンプレートに関連付けられた第2のMVが異なる場合、第2の参照テンプレート(2125)の形状は現在テンプレート(2121)とは異なる。
【0166】
例えば、サブブロックテンプレート(例えば、A
0)の第1のMVペアは、第1の参照テンプレート(2123)内の第1の参照サブブロックテンプレート(例えば、A
00)を指す第1のMVと、第2の参照テンプレート(2125)内の第2の参照サブブロックテンプレート(例えば、A
10)を指す第2のMVとを含む。サブブロックテンプレート(例えば、A
1)の第2のMVペアは、第1の参照テンプレート(2123)内の第1の参照サブブロックテンプレート(例えば、A
01)を指す第3のMVと、第2の参照テンプレート(2125)内の第2の参照サブブロックテンプレート(例えば、A
11)を指す第4のMVとを含む。
図21に示す例では、第1のMVは第3のMVとは異なり、第2のMVは第4のMVとは異なる。
【0167】
図19で説明したTMの実施形態は、現在ブロック(2110)がアフィンAMVPモードのようなアフィンモードでコーディングされる場合、BCW候補重みに適用できる。BCWリスト内のBCW候補重みについて、TMコストは、現在テンプレート(2121)と、BCW候補重みに基づく第1の参照テンプレート(2123)及び第2の参照テンプレート(2125)の双方向予測子(例えば、双方向予測子テンプレート)とに基づいて決定できる。双方向予測子テンプレートは、式4~5に示すように、BCW候補重みによって第1の参照テンプレート(2123)と第2の参照テンプレート(2125)との加重平均に基づいて決定できる。TMコストは、
図19において説明したように、例えば式6を使用して現在テンプレート(2121)と双方向予測子テンプレートとに基づいて決定できる。一実施形態では、BCWリスト内の各BCW候補重みに対応するTMコストが決定される。決定されたTMコストの昇順のように、決定された対応するTMコストに基づいて、BCW候補重みがランク付け(例えば、並べ替え)できる。ランク付けされたBCW候補重みから、BCW候補重みが現在ブロック(2110)をコーディングするために使用されるBCW重みとして選択できる。現在ブロック(2110)は、式3に示すように、選択されたBCW重みに基づいて再構成できる。
【0168】
図19及び21における実施形態の間の相違点について以下に説明する。
【0169】
図19の例では、現在ブロック(1902)は、並進動きモードのような非サブブロックベースのモードでコーディングされる。したがって、第1の参照テンプレート(1915)は単一のMV(例えば、MV(1916))に基づいて決定され、第1の参照テンプレート(1915)の形状は現在テンプレート(1905)と同じである。同様に、第2の参照テンプレート(1925)は単一のMV(例えば、MV(1926))に基づいて決定され、第2の参照テンプレート(1925)の形状は現在テンプレート(1905)と同じである。
【0170】
図21の例では、現在ブロック(2110)はアフィンモード(例えば、アフィンAMVPモード)でコーディングされる。したがって、第1の参照テンプレート(2123)は異なるMVに基づいて決定でき、第1の参照テンプレート(2123)(例えば、A
00~A
03及びL
00~L
03を含む)の形状は現在テンプレート(2121)(例えば、A
0~A
3及びL
0~L
3を含む)と異なることができる。
図21における例では、2つの異なるMVがそれぞれA
0及びA
1からA
00及びA
01を指し、したがって、A
00とA
01との間の相対変位はA
0とA
1との間の相対変位とは異なる。一例では、第2の参照テンプレート(2125)は異なるMVに基づいて決定され、第2の参照テンプレート(2125)(例えば、A
10~A
13及びL
10~L
13を含む)の形状は現在テンプレート(2121)とは異なる。
【0171】
現在テンプレート(2121)は複数のサブブロックテンプレート(例えば、A0~A3及びL0~L3を含む)を含むので、式4及び6を使用して計算されたTMコストは、サブブロックベースのTMコストに基づいて書き換えられることができ、各サブブロックベースのTMコストは、対応するサブブロックベースの双方向予測子テンプレート及び対応するサブブロックテンプレートに基づく。
【0172】
サブブロックベースの双方向予測子テンプレート(例えば、k番目のサブブロックベースの双方向予測子テンプレート)TP
BCW,kは、式8を使用してサブブロックテンプレート(例えば、A
0)に関連付けられたk番目の第1の参照サブブロックテンプレートTP0
k(例えば、A
00)及びk番目の第2の参照サブブロックテンプレートTP1
k(例えば、A
10)に基づいて決定できる。
【数13】
【0173】
サブブロックベースのTMコスト(例えば、k番目のサブブロックベースのTMコストTMk)は、k番目のサブブロックベースの双方向予測子テンプレートTPBCW,k及び現在テンプレート(2121)内の対応するk番目のサブブロックテンプレート(例えば、A0)に基づいて決定できる。例えば、TMk=SAD(TCk-TPBCW,k)であり、パラメータTCkはk番目のサブブロックテンプレート(例えば、A0)を表す。
【0174】
一例では、BCW候補重みに対応するTMコストは、現在テンプレート(2121)の一部、第1の参照テンプレート(2123)の一部及び第2の参照テンプレート(2125)の一部に基づいて決定される。他の例では、BCW候補重みに対応するTMコストは、現在テンプレート(2121)の全体、第1の参照テンプレート(2123)の全体及び第2の参照テンプレート(2125)の全体に基づいて決定される。したがって、TMコストは、式9に示すように、サブブロックテンプレートの一部(サブセット)又は全部のサブブロックベースのTMコストに基づいて累積できる。
【数14】
【0175】
式9は以下の式10に適合できる。一例では、TMコストは以下のように書き換えられる。
【数15】
【0176】
パラメータTCApは現在テンプレート(2121)内のp番目の上サブブロックテンプレート(例えば、pが0である場合にはA0)を表し、パラメータTP0Apはp番目の第1の上参照サブブロックテンプレート(例えば、pが0である場合にはA00)を表し、パラメータTP1Apはp番目の第2の上参照サブブロックテンプレート(例えば、pが0である場合にはA10)を表す。式10における最初の和は、式10におけるパラメータpが0~3である場合のA0~A3のような、現在テンプレート(2121)内の上サブブロックテンプレートに対して実行される。
【0177】
パラメータTCLmは現在テンプレート(2121)内のm番目の左サブブロックテンプレート(例えば、mが0である場合にはL0)を表し、パラメータTP0Lmはm番目の左参照サブブロックテンプレート(例えば、mが0である場合にはL00)を表し、パラメータTP1Lmはm番目の左参照サブブロックテンプレート(例えば、lが0である場合にはL10)を表す。式10における2番目の和は、式10におけるパラメータmが0~3である場合のL0~L3のような、現在テンプレート(2121)の左サブブロックテンプレートに対して実行される。
【0178】
上記のように、重み付けは式8及び10に示すように8で正規化される。16、32等のような他の正規化係数が使用されてもよい。
【0179】
SSE、分散、部分SAD等のような他の関数が、式9又は10におけるTMコストを決定するために使用されてもよい。
【0180】
部分SADの例では、現在テンプレート(2121)の一部(例えば、A0~A3)、第1の参照テンプレート(2123)の対応する一部(例えば、A00~A03)及び第2の参照テンプレート(2125)の対応する一部(例えば、A10~A13)がTMコストを決定するために使用される。
【0181】
部分SADの例では、現在テンプレート(2121)の一部又は全部、第1の参照テンプレート(2123)の一部又は全部及び第2の参照テンプレート(2125)の一部又は全部は、TMコストを決定するために使用される前にダウンサンプリングされる。
【0182】
図21に示す例では、上サブブロックテンプレートの第1の数(例えば、4)は、左サブブロックテンプレートの第2の数(例えば、4)と等しい。
【0183】
他の例では、上サブブロックテンプレートの第1の数は、左サブブロックテンプレートの第2の数とは異なる。
【0184】
一実施形態では、現在ブロック(2110)の継承アフィンパラメータは、サブブロックベースTMにおける第1の参照テンプレート(2123)及び/又は第2の参照テンプレート(2125)のような参照テンプレートに適用できる(例えば、直接適用できる)。例えば、第1の参照テンプレート(2123)内の第1の参照サブブロックテンプレート(例えば、A00~A03及びL00~L03)は、現在ブロック(2110)のアフィンパラメータ(例えば、継承アフィンパラメータ)に基づいて決定され、それぞれの第1の参照サブブロックテンプレート(例えば、A00~A03のうち1つ又はL00~L03のうち1つ)におけるサンプルは同じ動き情報(例えば、同じMV)を有することができる。
【0185】
図22は、PROF法の例を示す。いくつかの実施形態では、より細かい粒度の動き補償を有するようにサブブロックベースのアフィン動き補償を改善するために、PROF法が実装される。PROF法によれば、サブブロックベースのアフィン動き補償が実行された後に(
図14に示す)、オプティカルフロー式によって導出された調整値のセットを追加することによって、予測サンプル(例えば、ルマ予測サンプル)が洗練化できる。
【0186】
図22を参照すると、現在ブロック(2210)は4つのサブブロック(2212、2214、2216及び2218)に分割される。例えば、サブブロック(2212、2214、2216及び2218)のそれぞれは4×4ピクセルのサイズを有する。サブブロック(2212)のサブブロックMV
SBは、アフィン予測に従って導出でき、参照サブブロック(2232)を指す。初期サブブロック予測サンプルは、参照サブブロック(2232)に従って決定できる。初期サブブロック予測サンプルに適用される洗練化値は、各予測サンプルが、調整ベクトルΔMVによって調整されたサブブロック2212のサブブロックMV
SBに従って決定される洗練化MV(例えば、ピクセルMV)(2242)によって示される位置(例えば、サンプル(2212a)の位置(2232a))にあるかのように計算できる。
図22を参照すると、MV
SBに基づく初期サブブロック予測サンプル(2252)は、ピクセルMV(2242)に基づく位置(2232a)において洗練化サンプルとなるように洗練化される。
【0187】
いくつかの実施形態では、PROF法は、初期サブブロック予測サンプルI(i1,i2)(2252)を生成するために、サブブロックベースのアフィン動き補償を実行することから始まってもよく、ここで、(i1,i2)は現在サブブロック内の特定のサンプルに対応する。次に、初期サブブロック予測サンプルI(i1,I2)(2252)の空間勾配g
x(i1,i2)及びg
y(i1,i2)は、以下に従って3タップフィルタ[-1,0,1]を使用して計算できる。
【数16】
【0188】
サブブロック予測は、勾配計算のために両側に1ピクセルずつ拡張される。いくつかの実施形態では、メモリ帯域幅及び複雑さを低減するために、拡張された境界上のピクセルは参照ピクチャ内の最も近い整数ピクセル位置からコピーできる。したがって、パディング領域のための更なる補間は回避される。
【0189】
予測洗練化は、オプティカルフロー式によって計算できる。
【数17】
【0190】
Δmv(i1,i2)(例えば、ΔMV)は、サンプル位置(i1,i2)のピクセルMV(2242)と、ピクセル位置(i1,i2)が属するサブブロックのサブブロックMV
SBとの間の差である。アフィンモデルパラメータ及びサブブロック中心に対するピクセル位置はサブブロック毎に変更されないので、Δmv(i1,i2)は第1のサブブロック(例えば、(2212))について計算され、同じ符号化ブロック又はCU(例えば、(2210))内の他のサブブロック(例えば、(2214)、(2216)及び(2218))に再利用できる。いくつかの例では、x及びyをサブブロック(2212)の中心に対するΔ(i1,i2)の水平及び垂直位置とすると、Δ(i1,i2)は以下の式によって導出できる。
【数18】
ここで、Δmv
x(x,y)はΔmv(i1,i2)のx成分であり、Δmv
y(x,y)はΔmv(i1,i2)のy成分である。
【0191】
4パラメータのアフィンモデルの場合、以下のようになる。
【数19】
【0192】
6パラメータのアフィンモデルの場合、以下のようになる。
【数20】
【0193】
(v0x,v0y)、(v1x,v1y)及び(v2x,v2y)は左上、右上及び左下の制御点の動きベクトルであり、w及びhは符号化ブロック又はCUの幅と高さである。
【0194】
予測洗練化は、初期サブブロック予測サンプルI(i1,i2)に追加できる。PROF法による最終的な予測サンプルI’は、式17を使用して生成できる。
【数21】
【0195】
一実施形態では、
図21に戻り、例えば、第1の参照テンプレート(2123)内のそれぞれの第1の参照サブブロックテンプレート(例えば、A
00~A
03のうち1つ又はL
00~L
03のうち1つ)又は第2の参照テンプレート(2125)内のそれぞれの第2の参照サブブロックテンプレート(例えば、A
10~A
13のうち1つ又はL
10~L
13のうち1つ)を決定するために、PROFが各サブブロックテンプレートに適用される。例えば、第1の参照サブブロックテンプレート(例えば、A
00~A
03のうち1つ又はL
00~L
03のうち1つ)は、PROFモードを使用して決定され、同じ第1の参照サブブロックテンプレート内の2つのサンプルは異なる動き情報(例えば、2つの異なるMV)を有することができる。
【0196】
一実施形態では、
図23を参照すると、現在CU(例えば、現在ブロック)(2310)がアフィンモード(例えば、アフィンAMVPモード)で符号化される場合、BCWリスト内のBCW候補重み(例えば、全てのBCW候補重み)に対してTM(2300)が実行され、現在ブロック(2310)の全体の現在テンプレート(2321)について並進MVのペア(例えば、第1のMV及び第2のMVを含む)を使用することによってBCWインデックスを並べ替えることができる。現在ブロック(2310)は複数のサブブロック(2301)を含む。第1の参照ブロック(2311)は、アフィンモードを使用して複数のサブブロック(2301)に基づいて、例えば、現在ブロック(2310)のCPMV(例えば、CPMV
0~CPMV
1又はCPMV
0~CPMV
2)に基づいて予測される第1のサブブロック(2303)を含む。第2の参照ブロック(2313)は、アフィンモードを使用して複数のサブブロック(2301)に基づいて、例えば、現在ブロック(2310)のCPMV(例えば、CPMV
0~CPMV
1又はCPMV
0~CPMV
2)に基づいて予測される第2のサブブロック(2305)を含む。
【0197】
現在ブロック(2310)の現在テンプレート(2321)は、上テンプレート(2341)及び左テンプレート(2342)を含む。本開示の一実施形態によれば、第1の参照テンプレート(2323)は、単一のMV(例えば、並進MVのペアの第1のMV)を使用して現在テンプレート(2321)から予測でき、第2の参照テンプレート(2325)は、他の単一のMV(例えば、並進MVのペアの第2のMV)を使用して現在テンプレート(2321)から予測できる。MVのペア(例えば第1のMV及び第2のMV)は、CPMV0、CPMV1又はCPMV2に基づいて決定できる。一例では、第1の参照テンプレート(2323)は、第1の上参照テンプレート(2351)及び第1の左参照テンプレート(2352)を含む。一例では、第2の参照テンプレート(2325)は、第2の上参照テンプレート(2353)及び第2の左参照テンプレート(2354)を含む。第1の参照テンプレート(2323)及び第2の参照テンプレート(2325)は、現在テンプレート(2321)の形状と同じ形状を有することができ、現在テンプレート(2321)のサイズと同じサイズを有することができる。
【0198】
TM(2300)は、
図19を参照して説明したように、現在テンプレート(2321)、第1の参照テンプレート(2323)及び第2の参照テンプレート(2325)を使用して、BCW候補重みに対して実行できる。
【0199】
図21又は
図23におけるTMについて、現在テンプレート(2121)又は現在テンプレート(2321)を例として説明している。現在ブロックがアフィンモード(例えば、アフィンAMVPモード)を使用して予測される場合、
図20A~20Dにおいて説明したような他の形状が現在テンプレートとして使用でき、
図21及び23は適切に適応できる。
【0200】
図19、21及び23における様々な実施形態は、現在テンプレートの全部又は全体の現在テンプレート、及び対応する第1及び第2の参照テンプレートを使用して記載されている。
図19、21及び23における実施形態は、式4~10において使用されるようにTMコストを決定する際に、現在テンプレートの一部、及び第1及び第2の参照テンプレートの対応する一部が使用される場合に適切に適応できる。
【0201】
図19、21及び23に記載のTMは、BCWリスト内のBCW候補重みのサブセット又は全部に適用できる。
【0202】
図24は、本開示の一実施形態による符号化プロセス(2400)の概要を示すフローチャートを示す。様々な実施形態では、プロセス(2400)は、端末デバイス(310)、(320)、(330)及び(340)内の処理回路、ビデオエンコーダの機能を実行する処理回路(例えば、(403)、(603)、(703))等のような処理回路によって実行される。いくつかの実施形態では、プロセス(2400)はソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路はプロセス(2400)を実行する。プロセスは(S2401)から始まり、(S2410)に進む。
【0203】
(S2410)において、符号化ユニット(CU, coding unit)レベルの重みによる双方向予測(BCW, bi-prediction with CU-level weights)で符号化される現在ピクチャ内の現在ブロックについて、
図19、21及び23に記載のように、例えば、BCWリスト内のそれぞれのBCW候補重みに対してテンプレートマッチング(TM, template matching)が実行できる。TMは、(i)それぞれのBCW候補重みに対応するそれぞれのTMコストを決定し、(ii)それぞれの決定されたTMコストに基づいて、現在ブロックを符号化するために使用されるBCW重みとなるBCW候補重みを選択することによって実行できる。
【0204】
一実施形態では、
図21及び23に記載のように、各TMコストは、現在ブロックの現在テンプレートの一部と、それぞれの双方向予測子テンプレートとに少なくとも基づいて決定できる。双方向予測子テンプレートは、それぞれのBCW候補重みと、第1の参照ピクチャにおける第1の参照テンプレートの一部と、第2の参照ピクチャにおける第1の参照テンプレートの一部とに基づくものとすることができ、第1の参照テンプレート及び第2の参照テンプレートは、現在テンプレートに対応する。
【0205】
一例では、
図19、21及び23に記載のように、各TMコストは、現在ブロックの現在テンプレートの全部(すなわち、全体の現在テンプレート)と、それぞれの双方向予測子テンプレートとに基づいて決定できる。双方向予測子テンプレートは、それぞれのBCW候補重みと、第1の参照テンプレートの全部と、第2の参照テンプレートの全部とに基づくものとすることができる。
【0206】
一実施形態では、BCW候補重みは、それぞれ決定されたTMコストに基づいてランク付け又は並べ替えされ、BCW候補重みは、現在ブロックを符号化するために使用されるBCW重みとなるように、ランク付け又は並べ替えされたBCW候補重みから選択される。
【0207】
一実施形態では、現在テンプレートの全てが各TMコストを決定するために使用される。BCW候補重み毎に、現在ブロックの第1の動きベクトル(MV, motion vector)に基づいて決定された第1の参照テンプレートの全てが双方向予測子テンプレートを計算するために使用され、現在ブロックの第2のMVに基づいて決定された第2の参照テンプレートの全てが双方向予測子テンプレートを計算するために使用される。一例では、BCW候補重み毎に、双方向予測子テンプレートは、それぞれのBCW候補重みに基づく第1の参照テンプレートの全てと第2の参照テンプレートの全てとの加重平均である。
【0208】
一例では、現在ブロックは、複数の制御点を有するアフィンAMVPモードで予測され、第1のMV及び第2のMVは、複数の制御点のうち或る制御点に関連付けられる。
【0209】
一実施形態では、現在テンプレートの形状は、(i)現在ブロックの隣接ブロックの再構成サンプル、(ii)現在ブロックの復号順序、又は(iii)現在ブロックのサイズのうち1つ以上に基づく。
【0210】
一例では、現在テンプレートは、現在ブロックの隣接領域である再構成領域を含む。例えば、再構成領域は、(i)左隣接領域及び上隣接領域、(ii)左隣接領域、上隣接領域及び左上隣接領域、(iii)上隣接領域、又は(iv)左隣接領域のうち1つである。
【0211】
一実施形態では、現在ブロックは、アフィンモード(例えば、アフィンAMVPモード)で予測される。現在テンプレートは現在サブブロックを含み、各TMコストを決定するために使用される現在テンプレートの一部は、現在サブブロックのうち1つである。BCW候補重み毎に、第1の参照テンプレートは、それぞれ現在サブブロックに対応する第1の参照サブブロックを含み、双方向予測子テンプレートを計算するために使用される第1の参照テンプレートの一部は、第1の参照サブブロックのうち1つである。第2の参照テンプレートは、それぞれ現在サブブロックに対応する第2の参照サブブロックを含み、双方向予測子テンプレートを計算するために使用される第2の参照テンプレートの一部は、第2の参照サブブロックのうち1つである。双方向予測子テンプレートは、それぞれのBCW候補重みと、第1の参照サブブロックのうち1つと、第2の参照サブブロックのうち1つとに基づくものとすることができる。一例では、BCW候補重み毎に、双方向予測子テンプレートは、それぞれのBCW候補重みに基づく第1の参照サブブロックのうち1つと第2の参照サブブロックのうち1つとの加重平均である。
【0212】
一例では、BCW候補重みは8、16又は32で正規化される。
【0213】
(S2420)において、現在ブロックは、選択されたBCW重みに基づいて符号化できる。現在ブロックがBCWで予測されることを示す予測情報が符号化できる。一例では、予測情報は、ランク付けされたBCW候補重みの中のBCW候補重みを指すBCWインデックスを示す。
【0214】
一例では、予測情報は、現在ブロックがアフィンモード(例えば、アフィンAMVPモード)で予測されることを示す。
【0215】
(S2430)において、符号化された予測情報及び符号化された現在ブロックはビデオビットストリームに含まれることができる。次いで、プロセス(2400)は(S2499)に進み、終了する。
【0216】
プロセス(2400)は様々なシナリオに適切に適応でき、プロセス(2400)におけるステップはそれに従って調整できる。プロセス(2400)における1つ以上のステップは、適応、省略、反復及び/又は組み合わせが可能である。プロセス(2400)を実装するためにいずれか適切な順序が使用できる。更なるステップが追加できる。
【0217】
図25は、本開示の一実施形態による復号プロセス(2500)の概要を示すフローチャートを示す。様々な実施形態において、プロセス(2500)は、端末デバイス(310)、(320)、(330)及び(340)内の処理回路、ビデオエンコーダ(403)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、ビデオデコーダ(510)の機能を実行する処理回路、ビデオエンコーダ(603)の機能を実行する処理回路等のような処理回路によって実行される。いくつかの実施形態では、プロセス(2500)はソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路はプロセス(2500)を実行する。プロセスは(S2501)から始まり、(S2510)に進む。
【0218】
(S2510)において、現在ピクチャ内の現在ブロックの予測情報が、コーディングされたビデオビットストリームから復号できる。予測情報は、現在ブロックが符号化ユニット(CU, coding unit)レベルの重みによる双方向予測(BCW, bi-prediction with CU-level weights))で予測されることを示すことができる。
【0219】
(S2520)において、
図19、21及び23に記載のように、例えば、BCWリスト内のそれぞれのBCW候補重みに対してテンプレートマッチング(TM, template matching)が実行できる。TMは、(i)それぞれのBCW候補重みのそれぞれに対応するそれぞれのTMコストを決定し、(ii)それぞれ決定されたTMコストに基づいて、現在ブロックを再構成するために使用されるBCW重みとなるBCW候補重みを選択することによって実行できる。
【0220】
図21及び23に記載のように、各TMコストは、現在ブロックの現在テンプレート及びそれぞれの双方向予測子テンプレートの一部又は全部に少なくとも基づいて決定できる。双方向予測子テンプレートは、それぞれのBCW候補重みと、第1の参照ピクチャにおける第1の参照テンプレートの一部又は全部と、第2の参照ピクチャにおける第1の参照テンプレートの一部又は全部とに基づくものとすることができ、第1の参照テンプレート及び第2の参照テンプレートは、現在テンプレートに対応する。
【0221】
一実施形態では、BCW候補重みは、それぞれ決定されたTMコストに基づいてランク付け(例えば、並べ替え)され、BCW候補重みは、BCW重みとなるように、ランク付けされたBCW候補重みから選択される。
【0222】
一実施形態では、現在テンプレートの全て(すなわち、全体の現在テンプレート)が各TMコストを決定するために使用される。BCW候補重み毎に、現在ブロックの第1の動きベクトル(MV, motion vector)に基づいて決定された第1の参照テンプレートの全て(すなわち、全体の第1の参照テンプレート)が双方向予測子テンプレートを計算するために使用され、現在ブロックの第2のMVに基づいて決定された第2の参照テンプレートの全て(すなわち、全体の第2の参照テンプレート)が双方向予測子テンプレートを計算するために使用される。一例では、BCW候補重み毎に、双方向予測子テンプレートは、それぞれのBCW候補重みに基づく第1の参照テンプレートの全てと第2の参照テンプレートの全てとの加重平均である。
【0223】
一例では、(S2510)において復号される予測情報は、現在ブロックが複数の制御点を有するアフィンAMVPモードで予測されることを示す。第1のMV及び第2のMVは、複数の制御点のうち或る制御点に関連付けられる。
【0224】
一実施形態では、現在テンプレートの形状は、(i)現在ブロックの隣接ブロックの再構成サンプル、(ii)現在ブロックの復号順序、又は(iii)現在ブロックのサイズのうち1つ以上に基づく。
【0225】
一実施形態では、現在テンプレートは、現在ブロックの隣接領域である再構成領域を含む。例えば、再構成領域は、(i)左隣接領域及び上隣接領域、(ii)左隣接領域、上隣接領域及び左上隣接領域、(iii)上隣接領域、又は(iv)左隣接領域のうち1つである。
【0226】
一実施形態では、(S2510)において復号される予測情報は、現在ブロックがアフィンモード(例えば、アフィンAMVPモード)で予測されることを示す。現在テンプレートは現在サブブロックを含み、各TMコストを決定するために使用される現在テンプレートの一部は、現在サブブロックのうち1つである。BCW候補重み毎に、第1の参照テンプレートは、それぞれ現在サブブロックに対応する第1の参照サブブロックを含み、双方向予測子テンプレートを計算するために使用される第1の参照テンプレートの一部は、第1の参照サブブロックのうち1つである。第2の参照テンプレートは、それぞれ現在サブブロックに対応する第2の参照サブブロックを含み、双方向予測子テンプレートを計算するために使用される第2の参照テンプレートの一部は、第2の参照サブブロックのうち1つである。双方向予測子テンプレートは、それぞれのBCW候補重みと、第1の参照サブブロックのうち1つと、第2の参照サブブロックのうち1つとに基づくものとすることができる。一例では、BCW候補重み毎に、双方向予測子テンプレートは、それぞれのBCW候補重みに基づく第1の参照サブブロックのうち1つと第2の参照サブブロックのうち1つとの加重平均である。
【0227】
一例では、BCW候補重みは8、16又は32で正規化される。
【0228】
(S2530)において、現在ブロックは選択されたBCW重みに基づいて再構成できる。
【0229】
プロセス(2500)は(S2599)に進み、終了する。
【0230】
プロセス(2500)は様々なシナリオに適切に適応でき、プロセス(2500)におけるステップはそれに従って調整できる。プロセス(2500)における1つ以上のステップは、適応、省略、反復及び/又は組み合わせが可能である。プロセス(2500)を実装するためにいずれか適切な順序が使用できる。更なるステップが追加できる。
【0231】
図26は、本開示の一実施形態による復号プロセス(2600)の概要を示すフローチャートを示す。様々な実施形態において、プロセス(2600)は、端末デバイス(310)、(320)、(330)及び(340)内の処理回路、ビデオエンコーダ(403)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、ビデオデコーダ(510)の機能を実行する処理回路、ビデオエンコーダ(603)の機能を実行する処理回路等のような処理回路によって実行される。いくつかの実施形態では、プロセス(2600)はソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路はプロセス(2600)を実行する。プロセスは(S2601)から始まり、(S2610)に進む。
【0232】
(S2610)において、現在ピクチャ内の現在ブロックの予測情報が、コーディングされたビデオビットストリームから復号できる。
【0233】
(S2620)において、現在ブロックが双方向予測で予測され、符号化ユニット(CU, coding unit)レベルの重みによる双方向予測(BCW, bi-prediction with CU-level weights)が現在ブロックに有効であることを予測情報が示すことが決定される。
【0234】
(S2630)において、
図19、21及び23に記載のように、例えば、BCWリスト内のそれぞれのBCW候補重みに対してテンプレートマッチング(TM, template matching)が実行できる。TMは、(i)それぞれのBCW候補重みのそれぞれに対応するそれぞれのTMコストを決定し、(ii)それぞれ決定されたTMコストに基づいてBCW候補重みを並べ替えることによって実行できる。
【0235】
各TMコストは、現在ブロックの現在テンプレート及びそれぞれの双方向予測子テンプレートの一部又は全部に少なくとも基づいて決定でき、双方向予測子テンプレートは、それぞれのBCW候補重みと、第1の参照ピクチャにおける第1の参照テンプレートの一部又は全部と、第2の参照ピクチャにおける第1の参照テンプレートの一部又は全部とに基づく。第1の参照テンプレート及び第2の参照テンプレートは、現在テンプレートに対応する。
【0236】
(S2640)において、現在ブロックは、並べ替えられたBCW候補重みに基づいて再構成できる。
【0237】
プロセス(2600)は(S2699)に進み、終了する。
【0238】
プロセス(2600)は様々なシナリオに適切に適応でき、プロセス(2600)におけるステップはそれに従って調整できる。プロセス(2600)における1つ以上のステップは、適応、省略、反復及び/又は組み合わせが可能である。プロセス(2600)を実装するためにいずれか適切な順序が使用できる。更なるステップが追加できる。
【0239】
本開示における実施形態は、個別に使用されてもよく、或いは、任意の順序で組み合わされてもよい。さらに、方法(又は実施形態)、エンコーダ及びデコーダのそれぞれは、処理回路(例えば、1つ以上のプロセッサ又は1つ以上の集積回路)によって実装されてもよい。一例では、1つ以上のプロセッサは、非一時的なコンピュータ読み取り可能媒体に記憶されたプログラムを実行する。
【0240】
上述の技術は、コンピュータ読み取り可能な命令を用いてコンピュータソフトウェアとして実装することができ、1つ以上のコンピュータ読み取り可能な媒体に物理的に記憶されることができる。例えば、
図27は、開示された主題の特定の実施形態を実施するのに好適なコンピュータシステム(2700)を示す。
【0241】
コンピュータソフトウェアは、任意の好適な機械コード又はコンピュータ言語を用いてコーディングされることができ、アセンブリ、コンパイル、リンク、又は同様の機構の対象とされて、1つ以上のコンピュータ中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)等によって、直接的に、又はインタープリット、マイクロコード実行等を通じて実行可能な命令を含むコードを作成することができる。
【0242】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイス等を含む様々なタイプのコンピュータ又はそのコンポーネント上で実行されることができる。
【0243】
コンピュータシステム(2700)について
図27に示されるコンポーネントは、例としての性質であり、本開示の実施形態を実装するコンピュータソフトウェアの使用又は機能の範囲に関する制限を示唆することを意図したものではない。コンポーネントの構成も、コンピュータシステム(2700)の例示的実施形態において示されているコンポーネントの任意の1つ又は組み合わせに関する何らかの依存性又は要件を有するものとして解釈されるべきではない。
【0244】
コンピュータシステム(2700)は、特定のヒューマンインターフェース入力デバイスを含むことができる。そのようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(例えば、キーストローク、スワイプ、データグローブの動き)、音声入力(例えば、声、拍手)、視覚入力(例えば、ジェスチャー)、嗅覚入力(図示せず)を通じた一又は複数の人間ユーザによる入力に応答することができる。また、ヒューマンインターフェースデバイスは、音声(例えば、発話、音楽、周囲の音)、画像(例えば、スキャンされた画像、スチール画像カメラから得られる写真画像)、ビデオ(例えば、2次元ビデオ、立体視ビデオを含む3次元ビデオ)のような、人間による意識的入力に必ずしも直接関係しない特定のメディアを捕捉するために使用できる。
【0245】
入力ヒューマンインターフェースデバイスは、キーボード(2701)、マウス(2702)、トラックパッド(2703)、タッチスクリーン(2710)、データグローブ(図示せず)、ジョイスティック(2705)、マイクロフォン(2706)、スキャナ(2707)、カメラ(2708)の1つ以上(それぞれの一つしか図示していない)を含んでいてもよい。
【0246】
コンピュータシステム(2700)はまた、特定のヒューマンインターフェース出力デバイスを含んでいてもよい。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、及び臭い/味を通じて、一又は複数の人間ユーザの感覚を刺激するものであってもよい。そのようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(2710)、データグローブ(図示せず)、又はジョイスティック(2705)による触覚フィードバック;ただし、入力デバイスのはたらきをしない触覚フィードバックデバイスもあり得る)、音声出力デバイス(例えば、スピーカー(2709)、ヘッドフォン(図示せず))、視覚出力デバイス(例えば、CRT画面、LCD画面、プラズマスクリーン、OLED画面を含む画面(2710);それぞれはタッチスクリーン入力機能があってもなくてもよく、それぞれは触覚フィードバック機能があってもなくてもよく、そのうちのいくつかは、2次元の視覚出力又は立体視出力のような手段を通じた3次元より高い出力を出力することができる;仮想現実感眼鏡(図示せず)、ホログラフィーディスプレイ及び煙タンク(図示せず))、及びプリンタ(図示せず)を含んでいてもよい。
【0247】
コンピュータシステム(2700)はまた、人間がアクセス可能な記憶デバイス及び関連する媒体、例えば、CD/DVD又は類似の媒体(2721)とともにCD/DVD ROM/RW(2720)を含む光学式媒体、サムドライブ(2722)、取り外し可能なハードドライブ又はソリッドステートドライブ(2723)、テープ及びフロッピーディスクといったレガシー磁気媒体(図示せず)、セキュリティドングルのような特化したROM/ASIC/PLDベースのデバイス(図示せず)等を含むことができる。
【0248】
当業者はまた、現在開示されている主題に関連して使用される用語「コンピュータ読み取り可能媒体」は、伝送媒体、搬送波、又は他の一時的な信号を包含しないことを理解すべきである。
【0249】
コンピュータシステム(2700)はまた、1つ以上の通信ネットワーク(2755)へのインターフェース(2754)を含むことができる。ネットワークは、例えば、無線、有線、光学式であり得る。ネットワークは、さらに、ローカル、広域、都市圏、車載及び工業用、リアルタイム、遅延耐性等であり得る。ネットワークの例は、イーサネット〔登録商標〕、無線LAN、GSM、3G、4G、5G、LTE等を含むセルラーネットワーク、ケーブルテレビ、衛星テレビ、地上放送テレビを含むTV有線又は無線の広域デジタルネットワーク、CANBusを含む車載及び工業用等を含む。特定のネットワークは、普通、特定の汎用データポート又は周辺バス(2749)(例えば、コンピュータシステム(2700)のUSBポート等)に取り付けられる外部ネットワークインターフェースアダプターを必要とする。他は、普通、後述するようなシステムバスへの取り付けによって、コンピュータシステム(2700)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインターフェース又はスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム(2700)は、他のエンティティと通信することができる。そのような通信は、一方向性、受信のみ(例えば、放送テレビ)、一方向性送信専用(例えば、特定のCANbusデバイスへのCANbus)、又は、例えば、ローカル又は広域デジタルネットワークを使用する他のコンピュータシステムへの双方向性であってもよい。上述のようなそれらのネットワーク及びネットワークインターフェースのそれぞれで、特定のプロトコル及びプロトコルスタックが使用できる。
【0250】
前述のヒューマンインターフェースデバイス、人間がアクセス可能な記憶デバイス、及びネットワークインターフェースは、コンピュータシステム(2700)のコア(2740)に取り付けることができる。
【0251】
コア(2740)は、1つ以上の中央処理装置(CPU)(2741)、グラフィックス処理装置(GPU)(2742)、フィールドプログラマブルゲートアレイ(FPGA)(2743)の形の特化したプログラマブル処理装置、特定のタスクのためのハードウェアアクセラレータ(2744)、グラフィックアダプター(2750)等を含むことができる。これらの装置は、読み取り専用メモリ(ROM)(2745)、ランダムアクセスメモリ(2746)、内部のユーザアクセス可能でないハードドライブ、ソリッドステートドライブ(SSD)等の内部大容量記憶デバイス(2747)とともに、システムバス(2748)を通じて接続され得る。いくつかのコンピュータシステムでは、追加のCPU、GPU等による拡張を可能にするために、システムバス(2748)は、1つ以上の物理プラグの形でアクセス可能であってもよい。周辺デバイスは、コアのシステムバス(2748)に直接取り付けられることも、周辺バス(2749)を通じて取り付けられることもできる。一例では、グラフィックアダプター(2750)にスクリーン(2710)が接続されることができる。周辺バスのためのアーキテクチャは、PCI、USB等を含む。
【0252】
CPU(2741)、GPU(2742)、FPGA(2743)、及びアクセラレータ(2744)は、組み合わせて上述のコンピュータコードを構成することができる特定の命令を、実行することができる。そのコンピュータコードは、ROM(2745)又はRAM(2746)に記憶できる。一時的データは、RAM(2746)に記憶されることができ、一方、持続的データは、例えば、内部大容量記憶デバイス(2747)に記憶されることができる。1つ以上のCPU(2741)、GPU(2742)、大容量記憶デバイス(2747)、ROM(2745)、RAM(2746)等と密接に関連付けることができるキャッシュメモリを使用することを通じて、メモリデバイスのいずれかへの高速な記憶及び取り出しを可能にすることができる。
【0253】
コンピュータ読み取り可能な媒体は、様々なコンピュータ実装された動作を実行するためのコンピュータコードをその上に有することができる。媒体及びコンピュータコードは、本開示の目的のために特別に設計及び構築されたものであってもよく、又は、コンピュータソフトウェア分野の技術を有する者に周知であり利用可能な種類のものであってもよい。
【0254】
限定ではなく一例として、アーキテクチャ(2700)、具体的にはコア(2740)を有するコンピュータシステムは、プロセッサ(CPU、GPU、FPGA、アクセラレータ等を含む)が1つ以上の有形のコンピュータ可読媒体に具現化されたソフトウェアを実行することの結果として、機能性を提供することができる。そのようなコンピュータ読み取り可能媒体は、上記で紹介したようなユーザアクセス可能な大容量記憶並びにコア内部の大容量記憶デバイス(2747)又はROM(2745)のような非一時的な性質のコア(2740)の特定の記憶に関連する媒体であることができる。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに記憶され、コア(2740)によって実行されることができる。コンピュータ読み取り可能媒体は、特定のニーズに応じて、1つ以上のメモリデバイス又はチップを含むことができる。ソフトウェアは、RAM(2746)に記憶されたデータ構造を定義し、ソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を修正することを含む、本明細書に記載された特定のプロセス又は特定の特定部分を、コア(2740)及び具体的にはその中のプロセッサ(CPU、GPU、FPGA等を含む)に実行させることができる。追加的又は代替的に、コンピュータシステムは、回路(例えば、アクセラレータ(2744))内に配線された、又は他の仕方で具現された論理の結果として機能性を提供することができ、これは、本明細書に記載される特定のプロセス又は特定のプロセスの特定部分を実行するためのソフトウェアの代わりに、又はそれと一緒に動作することができる。ソフトウェアへの言及は、論理を含み、適宜その逆も可能である。コンピュータ読み取り可能媒体への言及は、適宜、実行のためのソフトウェアを記憶する回路(例えば集積回路(IC))、実行のための論理を具現する回路、又はその双方を包含することができる。本開示は、ハードウェア及びソフトウェアの任意の好適な組み合わせを包含する。
【0255】
付録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
R-D: Rate-Distortion
【0256】
本開示は、いくつかの例示的実施形態を記載してきたが、変更、置換、及び様々な代替等価物があり、それらは本開示の範囲内にはいる。よって、当業者は、本明細書に明示的に示されていないか又は記載されていないが、本開示の原理を具現し、よって、本開示の精神及び範囲内にある多くのシステム及び方法を考案することができることが理解されるであろう。
【国際調査報告】