(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-20
(54)【発明の名称】テンプレートマッチングを使用する動きベクトル差による代替マージモード
(51)【国際特許分類】
H04N 19/513 20140101AFI20240213BHJP
H04N 19/523 20140101ALI20240213BHJP
【FI】
H04N19/513
H04N19/523
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023551656
(86)(22)【出願日】2022-09-21
(85)【翻訳文提出日】2023-08-24
(86)【国際出願番号】 US2022076788
(87)【国際公開番号】W WO2023059983
(87)【国際公開日】2023-04-13
(32)【優先日】2021-10-05
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-09-16
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】チェン,リン-フェイ
(72)【発明者】
【氏名】リー,シャン
(72)【発明者】
【氏名】リウ,シャン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159NN16
5C159NN21
(57)【要約】
本開示の態様は、ビデオ復号のための方法、機器、及び非一時的コンピュータ可読記憶媒体を提供する。機器は、コーディングされたビットストリーム内の現在ブロックの予測情報を復号するよう構成される処理回路を含む。予測情報は、テンプレートマッチング(TM)モードを有する動きベクトル差によるマージモード(MMVD)、及び現在ブロックの動きベクトル差(MVD)情報を示す。処理回路は、MVD情報に基づき1つ以上のMVD候補を決定できる。処理回路は、TMを実行して、1つ以上のMVD候補に基づき、現在ブロックの現在テンプレートと現在ブロックの参照ブロックの参照テンプレートとの間の一致するMVDを検索できる。処理回路は、動きベクトル予測子(MVP)と一致するMVDの和である動きベクトル(MV)に基づき、現在ブロックを再構成できる。
【特許請求の範囲】
【請求項1】
ビデオデコーダにおけるビデオ復号の方法であって、
コーディングされたビットストリームにおける現在ブロックの予測情報を復号するステップであって、前記予測情報は、テンプレートマッチング(TM)モードによる動きベクトル差(MMVD)を有するマージモードと、前記現在ブロックの動きベクトル差(MVD)情報と、を示す、ステップと、
前記MVD情報に基づいて1つ以上のMVD候補を決定するステップと、
TMを実行して、前記1つ以上のMVD候補に基づいて、前記現在ブロックの現在テンプレートと前記現在ブロックの参照ブロックの参照テンプレートとの間で一致するMVDを検索するステップと、
動きベクトル予測子(MVP)と前記一致するMVDの和である動きベクトル(MV)に基づいて前記現在ブロックを再構成するステップと、
を含む方法。
【請求項2】
前記1つ以上のMVD候補が1つのMVD候補であり、
前記MVD情報は、前記1つのMVD候補の大きさを示す距離情報と、前記1つのMVD候補の方向を示す方向情報と、を含み、
前記1つ以上のMVD候補を決定するステップは、前記1つのMVD候補の大きさと前記1つのMVD候補の方向に基づいて前記1つのMVD候補を決定するステップを含み、
前記TMを実行するステップは、前記1つのMVD候補の周囲で前記TMを実行するステップを含む、請求項1に記載の方法。
【請求項3】
前記コーディングされたビットストリームは、さらに、TMフラグを含み、前記TMフラグは前記TMが前記現在ブロックに対して有効であることを示す、請求項2に記載の方法。
【請求項4】
前記距離情報は複数の距離のうちの距離を指す距離インデックスを含み、前記距離は前記1つのMVD候補の大きさであり、前記複数の距離は前記TMの検索範囲に基づく、請求項3に記載の方法。
【請求項5】
前記TMの前記検索範囲は、水平方向と垂直方向の[-L,+L]の範囲であり、Lは正の整数であり、前記複数の距離の中の最小距離はL又はL/2に等しい、請求項4に記載の方法。
【請求項6】
前記距離情報は複数の距離のうちの距離を指す距離インデックスを含み、前記距離は前記1つのMVD候補の大きさであり、前記複数の距離は等差数列になっている、請求項3に記載の方法。
【請求項7】
前記1つ以上のMVD候補が、同じ方向を持つ複数のMVD候補を含み、
前記MVD情報は、前記複数のMVD候補の方向を示す方向情報を含み、
前記1つ以上のMVD候補を決定するステップは、前記複数のMVD候補の方向と複数の距離に基づいて前記複数のMVD候補を決定するステップであって、前記複数のMVD候補は前記複数の距離に基づいて順序付けられる、ステップを含み、
前記TMを実行するステップは、
前記複数のMVD候補の各々について、前記TMを各々のMVD候補に適用してTMコストと、各々のMVD候補に対応する対応する更新されたMVD候補と、を得るステップと、
前記TMコストと前記対応する更新されたMVD候補に基づいて前記一致するMVDを決定するステップと、
を含む、請求項1に記載の方法。
【請求項8】
前記MVD情報が距離インデックスを含み、
前記TMを実行するステップは、
前記複数のMVD候補の前記TMコストに応じて前記複数のMVD候補を並べ替えるステップと、
前記一致したMVDを、並べ替えられた前記複数のMVD候補の前記距離インデックスによって示される前記MVD候補に対応する更新されたMVD候補であると決定するステップと、
を含む、請求項7に記載の方法。
【請求項9】
前記TMを実行するステップは、前記一致したMVDを、前記複数のMVD候補の前記TMコストの最小TMコストに対応する前記更新されたMVD候補であると決定するステップを含む、請求項7に記載の方法。
【請求項10】
前記1つ以上のMVD候補が、同じ大きさを持つ複数のMVD候補を含み、
前記MVD情報は、前記複数のMVD候補の大きさを示す距離情報を含み、
前記1つ以上のMVD候補を決定するステップは、前記複数のMVD候補の大きさと複数の方向に基づいて前記複数のMVD候補を決定するステップであって、前記複数のMVD候補は前記複数の方向に従い順序付けられる、ステップを含み、
前記TMを実行するステップは、
前記複数のMVD候補の各々について、前記TMを各々のMVD候補に適用してTMコストと、各々のMVD候補に対応する対応する更新されたMVD候補と、を得るステップと、
前記TMコストと前記対応する更新されたMVD候補に基づいて前記一致するMVDを決定するステップと、
を含む、請求項1に記載の方法。
【請求項11】
前記MVD情報が方向インデックスを含み、
前記TMを実行するステップは、
前記複数のMVD候補の前記TMコストに応じて前記複数のMVD候補を並べ替えるステップと、
前記一致したMVDを、並べ替えられた前記複数のMVD候補の前記方向インデックスによって示される前記MVD候補に対応する更新されたMVD候補であると決定するステップと、
を含む、請求項10に記載の方法。
【請求項12】
前記TMを実行するステップは、前記一致したMVDを、前記複数のMVD候補の前記TMコストのうちの最小TMコストに対応する前記更新されたMVD候補であると決定するステップを含む、請求項10に記載の方法。
【請求項13】
ビデオ復号のための機器であって、処理回路を含み、前記処理回路は、
コーディングされたビットストリームにおける現在ブロックの予測情報を復号し、前記予測情報は、テンプレートマッチング(TM)モードによる動きベクトル差(MMVD)を有するマージモードと、前記現在ブロックの動きベクトル差(MVD)情報と、を示し、
前記MVD情報に基づいて1つ以上のMVD候補を決定し、
TMを実行して、前記1つ以上のMVD候補に基づいて、前記現在ブロックの現在テンプレートと前記現在ブロックの参照ブロックの参照テンプレートとの間で一致するMVDを検索し、
動きベクトル予測子(MVP)と前記一致するMVDの和である動きベクトル(MV)に基づいて前記現在ブロックを再構成する、
よう構成される、機器。
【請求項14】
前記1つ以上のMVD候補が1つのMVD候補であり、
前記MVD情報は、前記1つのMVD候補の大きさを示す距離情報と、前記1つのMVD候補の方向を示す方向情報と、を含み、
前記処理回路は、
前記1つのMVD候補の大きさと前記1つのMVD候補の方向に基づいて前記1つのMVD候補を決定し、
前記1つのMVD候補の周囲で前記TMを実行する、
よう構成される、請求項13に記載の機器。
【請求項15】
前記コーディングされたビットストリームは、さらに、TMフラグを含み、前記TMフラグは前記TMが前記現在ブロックに対して有効であることを示す、請求項14に記載の機器。
【請求項16】
前記1つ以上のMVD候補が、同じ方向を持つ複数のMVD候補を含み、
前記MVD情報は、前記複数のMVD候補の方向を示す方向情報を含み、
前記処理回路は、
前記複数のMVD候補の方向と複数の距離に基づいて前記複数のMVD候補を決定し、前記複数のMVD候補は前記複数の距離に基づいて順序付けられ、
前記複数のMVD候補の各々について、前記TMを各々のMVD候補に適用してTMコストと、各々のMVD候補に対応する対応する更新されたMVD候補と、を得て、
前記TMコストと前記対応する更新されたMVD候補に基づいて前記一致するMVDを決定する、
よう構成される、請求項13に記載の機器。
【請求項17】
前記MVD情報が距離インデックスを含み、
前記処理回路は、
前記複数のMVD候補の前記TMコストに応じて前記複数のMVD候補を並べ替え、
前記一致したMVDを、並べ替えられた前記複数のMVD候補の前記距離インデックスによって示される前記MVD候補に対応する更新されたMVD候補であると決定する、
よう構成される、請求項16に記載の機器。
【請求項18】
前記1つ以上のMVD候補が、同じ大きさを持つ複数のMVD候補を含み、
前記MVD情報は、前記複数のMVD候補の大きさを示す距離情報を含み、
前記処理回路は、
前記複数のMVD候補の大きさと複数の方向に基づいて前記複数のMVD候補を決定し、前記複数のMVD候補は前記複数の方向に従い順序付けられ、
前記複数のMVD候補の各々について、前記TMを各々のMVD候補に適用してTMコストと、各々のMVD候補に対応する対応する更新されたMVD候補と、を得て、
前記TMコストと前記対応する更新されたMVD候補に基づいて前記一致するMVDを決定する、
よう構成される、請求項13に記載の機器。
【請求項19】
前記MVD情報が方向インデックスを含み、
前記処理回路は、
前記複数のMVD候補の前記TMコストに応じて前記複数のMVD候補を並べ替え、
前記一致したMVDを、並べ替えられた前記複数のMVD候補の前記方向インデックスによって示される前記MVD候補に対応する更新されたMVD候補であると決定する、
よう構成される、請求項18に記載の機器。
【請求項20】
プログラムを格納している非一時的コンピュータ可読記憶媒体であって、前記プログラムは、
コーディングされたビットストリームにおける現在ブロックの予測情報を復号するステップであって、前記予測情報は、テンプレートマッチング(TM)モードによる動きベクトル差(MMVD)を有するマージモードと、前記現在ブロックの動きベクトル差(MVD)情報と、を示す、ステップと、
前記MVD情報に基づいて1つ以上のMVD候補を決定するステップと、
TMを実行して、前記1つ以上のMVD候補に基づいて、前記現在ブロックの現在テンプレートと前記現在ブロックの参照ブロックの参照テンプレートとの間で一致するMVDを検索するステップと、
動きベクトル予測子(MVP)と前記一致するMVDの和である動きベクトル(MV)に基づいて前記現在ブロックを再構成するステップと、
を実行するために少なくとも1つのプロセッサにより実行可能である、非一時的コンピュータ可読記憶媒体。
【請求項21】
ビデオエンコーダにおけるビデオ符号化の方法であって、
動きベクトル差によるマージモード(MMVD)を使用して現在ブロックの1つ以上の動きベクトル差(MVD)候補を決定するステップであって、MMVDモードとテンプレートマッチング(TM)モードが現在ブロックを符号化するために使用される、ステップと、
TMを1つ以上のMVD候補に適用することにより、前記現在ブロックのMVDを決定するステップと、
動きベクトル予測子(MVP)と決定したMVDの和である動きベクトル(MV)に基づき、前記現在ブロックを符号化するステップと、
前記現在ブロックの予測情報をビットストリームに符号化するステップであって、前記予測情報は、前記現在ブロックのMMVDとTMモードとMVD情報を示す、ステップと、
を含む方法。
【請求項22】
ビデオ符号化のための機器であって、処理回路を含み、前記処理回路は、
動きベクトル差によるマージモード(MMVD)を使用して現在ブロックの1つ以上の動きベクトル差(MVD)候補を決定し、MMVDモードとテンプレートマッチング(TM)モードが現在ブロックを符号化するために使用され、
TMを1つ以上のMVD候補に適用することにより、前記現在ブロックのMVDを決定し、
動きベクトル予測子(MVP)と決定したMVDの和である動きベクトル(MV)に基づき、前記現在ブロックを符号化し、
前記現在ブロックの予測情報をビットストリームに符号化し、前記予測情報は、前記現在ブロックのMMVDとTMモードとMVD情報を示す、
よう構成される、機器。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願]
本願は、米国仮特許出願番号第63/252,579号、「Alternative Merge Mode with MVD (MMVD) By Using Template-Matching」、2021年10月5日出願、の優先権の利益を主張する米国特許出願番号第17/946,498号、「ALTERNATIVE MERGE MODE WITH MOTION VECTOR DIFFERENCE BY USING TEMPLATE-MATCHING」、2022年9月16日出願の優先権の利益を主張する。前述の出願の開示は、それらの全体が参照によりここに組み込まれる。
【0002】
[技術分野]
本開示は、概して、ビデオコーディングに関連する実施形態を記載する。
【背景技術】
【0003】
ここに提供される背景の説明は、本開示のコンテキストの概要を提示するためである。現在名前の挙げられた発明者の研究は、この背景の章に記載された研究の範囲で、出願時に従来技術として見なされない可能性のある記載の態様と同様に、本開示に対する従来技術として明示的に又は暗示的にも認められるものではない。
【0004】
非圧縮デジタル画像及び/又はビデオは、一連のピクチャを含むことができ、各ピクチャは、例えば1920×1080個のルミナンスサンプル及び関連するクロミナンスサンプルの空間次元を有する。一連のピクチャは、例えば毎秒60ピクチャ又は60Hzの固定又は可変ピクチャレート(略式にフレームレートとしても知られている)を有し得る。非圧縮画像及び/又はビデオは、特定のビットレート要件を有する。例えば、8ビット/サンプルの1080p60 4:2:0ビデオ(60Hzフレームレートで1920×1080ルミナンスサンプル解像度)は、1.5Gbit/sに近い帯域幅を必要とする。1時間のこのようなビデオは600GByteより多くの記憶空間を必要とする。
【0005】
画像及び/又はビデオコーディング及び復号の1つの目的は、圧縮を通じて、入力画像及び/又はビデオ信号の中の冗長性の削減であり得る。圧縮は、幾つかの場合には大きさで2桁以上も、前述の帯域幅及び/又は記憶空間要件を軽減するのを助けることができる。本願明細書の記載は、ビデオ符号化/復号を説明のための例として使用するが、本開示の精神から逸脱することなく同様の方法で同じ技術が画像符号化/復号に適用できる。無損失圧縮又は損失圧縮の両方、及びそれらの組み合わせが利用できる。無損失圧縮は、元の信号の正確なコピーが圧縮された元の信号から再構成可能である技術を表す。損失圧縮を用いると、再構成された信号は、元の信号と同一ではないが、元の信号と再構成された信号との間の歪みは、意図される用途のために有用な再構成された信号を生成するのに十分に小さい。ビデオの場合には、損失圧縮が広く利用される。耐えうる歪みの量は、アプリケーションに依存し、特定の消費者ストリーミングアプリケーションのユーザは、テレビジョン配信アプリケーションのユーザよりも高い歪みに耐え得る。達成可能な圧縮比は、許容可能/耐性歪みが高いほど、高い圧縮比を生じ得ることを反映できる。
【0006】
ビデオエンコーダ及びデコーダは、例えば動き補償、変換処理、量子化、及びエントロピーコーディングを含む幾つかの広い分類からの技術を利用できる。
【0007】
ビデオコーデック技術は、イントラ符号化として知られる技術を含むことができる。イントラコーディングでは、サンプル値は、前に再構成された参照ピクチャからのサンプル又は他のデータを参照することなく、表現される。幾つかのビデオコーデックでは、ピクチャは、サンプルのブロックに空間的に細分化される。サンプルの全部のブロックがイントラモードでコーディングされるとき、そのピクチャはイントラピクチャであり得る。イントラピクチャ、及び独立したデコーダリフレッシュピクチャのようなそれらの派生物は、デコーダ状態をリセットするために使用でき、従って、コーディングビデオビットストリーム及びビデオセッションの中の第1ピクチャとして、又は静止画像として使用できる。イントラブロックのサンプルは変換されることができ、変換係数は、エントロピーコーディングの前に量子化できる。イントラ予測は、変換前のドメインにおけるサンプル値を最小化する技術であり得る。幾つかの場合には、変換後のDC値が小さいほど、及びAC係数が小さいほど、エントロピーコーディングの後にブロックを表現するために所与の量子化ステップサイズで必要なビット数が少ない。
【0008】
例えば、MPEG-2世代のコーディング技術で使用される伝統的なイントラコーディングは、イントラ予測を使用しない。しかしながら、幾つかの新しいビデオ圧縮技術は、例えば、データブロックの符号化及び/又は復号の間に取得される周囲のサンプルデータ及び/又はメタデータに基づき予測を実行しようとする。このような技術は、以後、「イントラ予測」技術と呼ばれる。少なくとも幾つかの場合には、イントラ予測は、参照ピクチャからではなく、再構成中の現在ピクチャからの参照データのみを使用する。
【0009】
多くの異なる形式のイントラ予測が存在し得る。1つより多くのこのような技術が所与のビデオコーディング技術において使用できるとき、使用される特定の技術は、特定の技術を使用する特定のイントラ予測モードとしてコーディングすることができる。特定のケースでは、イントラ予測モードはサブモード及び/又はパラメータを持つことができ、サブモード及び/又はパラメータは個別にコーディングすることも、使用されている予測モードを定義するモードコードワードに含めることもできる。所与のモード、サブモード、及び/又はパラメータの組合せのためにどのコードワードを使用すべきかは、イントラ予測を通じてコーディング効率の向上に影響を与えることができ、従って、コードワードをビットストリームに変換するためにエントロピーコーディング技術を使用できる。
【0010】
特定のイントラ予測モードが、H.264により導入され、H.265で改良され、共同探索モデル(joint exploration model (JEM))、バーサタイルビデオコーディング(versatile video coding (VVC))、及びベンチマークセット(benchmark set (BMS))のような更に新しいコーディング技術において改良された。予測ブロックは、既に利用可能なサンプルの近隣サンプル値を用いて形成されることができる。近隣サンプルのサンプル値は、方向に従い予測ブロックにコピーされる。使用中の方向の参照は、ビットストリーム内に符号化でき、又はそれ自体が予測されてよい。
【0011】
図1Aを参照すると、右下に示され、H.265で定義された33個の可能な予測方向(35個のイントラモードのうちの33個の角度モードに対応する)から分かる9個の予測方向の部分集合が示される。矢印が集中する点(101)は、予測中のサンプルを表す。矢印は、サンプルが予測されている方向を表す。例えば、矢印(102)は、サンプル(101)が1つ以上のサンプルから、水平から45度の角度で右上へと予測されることを示す。同様に、矢印(103)は、サンプル(101)が1つ以上のサンプルから、水平から22.5度の角度でサンプル(101)の左下へと予測されることを示す。
【0012】
更に
図1Aを参照すると、左上に、(太い破線で示される)4×4個のサンプルの正方形ブロック(104)が示される。正方形ブロック(104)は、16個のサンプルを含み、各サンプルは「S」、そのY次元の位置(例えば、行インデックス)、及びそのX次元の位置(例えば、列インデックス)でラベル付けされる。例えば、サンプルS21は、Y次元の(上から)2番目のサンプル、且つX次元の(左から)1番目のサンプルである。同様に、サンプル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(2003年)には33に増加した。現在は、JEM/VVC/BMSは最大で65個の方向をサポートできる。最も可能性の高い方向を識別するために実験が行われ、あまり可能性の高くない方向の特定のペナルティを受け入れながら、これらの可能性の高い方向を少数のビットで表現するために、エントロピーコーディングにおいて特定の技術が使用されている。更に、方向自体は、近隣の既に復号されたブロックにおける近隣の方向から予測できることがある。
【0016】
図1Bは、時間に渡り予測方向の数が増大することを説明するために、JEMに従う65個のイントラ予測方向を示す図(110)を示す。
【0017】
コーディングされたビデオビットストリーム内の方向を表すイントラ予測方向ビットのマッピングは、ビデオコーディング技術によって異なる場合がある。そのようなマッピングは、例えば、単純な直接マッピングから、コードワード、ほとんどの可能性のあるモードを含む複雑な適応スキーム、及び同様の技術にまで及ぶ可能性がある。しかしながら、殆どの場合に、ビデオコンテンツにおいて統計的に生じる可能性が、特定の他の方向よりあまり高くない特定の方向が存在し得る。ビデオ圧縮の目標は、冗長性の削減であるので、これらのあまり可能性の高くない方向は、良好に動作するビデオコーディング技術では、より可能性の高い方向より多数のビットにより表されるだろう。
【0018】
画像及び/又はビデオコーディング及び復号は、動き補償を伴うインターピクチャ予測を用いて実行できる。動き補償は、損失圧縮技術であり、前に再構成されたピクチャ又はその部分(参照ピクチャ)からのサンプルデータのブロックが、動きベクトル(以後、MV)により示される方向に空間的にシフトされた後に、新しく再構成されたピクチャ又はピクチャ部分の予測のために使用される技術に関連し得る。幾つかの場合には、参照ピクチャは、現在再構成中のピクチャと同じであり得る。MVは、2つの次元X及びY、又は第3次元が使用中の参照ピクチャの指示である3つの次元を有することができる(後者は、間接的に時間次元であり得る)。
【0019】
幾つかのビデオ圧縮技術では、サンプルデータの特定領域に適用可能なMVは他のMVから、例えば再構成中の領域に空間的に隣接するサンプルデータの別の領域に関連し且つ復号順序の中で当該MVに先行するMVから、予測できる。そうすることは、結果として、MVを符号化するために必要なデータ量を削減でき、それにより、冗長性を除去し圧縮を向上する。MV予測は、例えばカメラから得られた入力ビデオ信号(自然なビデオ(natural video)として知られる)を符号化するとき、単一のMVが適用可能な領域より大きな領域が同様の方向に動き、したがって、幾つかの場合には近隣領域のMVから導出した同様の動きベクトルを用いて予測可能である、統計的可能性がある。これは、周囲のMVから予測したMVと同様の又は同じ、所与の領域について見付かったMVをもたらす。また、これは、エントロピーコーディングの後に、MVを直接コーディングする場合に使用され得るより少ない数のビットで提示され得る。幾つかの場合には、MV予測は、元の信号(つまり、サンプルストリーム)から得た信号(つまり、MV)の無損失圧縮の一例であり得る。他の場合には、MV予測自体は、例えば幾つかの周囲のMVから予測子を計算するとき、誤りを丸め込むので、損失になり得る。
【0020】
種々のMV予測メカニズムは、H.265/HEVC(ITU-T Rec. H.265, "High Efficiency Video Coding", December 2016)に記載されている。H.265の提供する多くのMV予測メカニズムの中から、以下では、
図2を参照して、「空間マージ(spatial merge)」と呼ばれる技術w説明する。
【0021】
図2を参照すると、現在ブロック(201)は、動き探索処理の間に、空間的にシフトされたものと同じサイズの前のブロックから予測可能であるとしてエンコーダにより見付けられたサンプルを含む。MVを直接コーディングする代わりに、MVは、1つ以上の参照ピクチャに関連付けられたメタデータから、例えば(復号順で)最近の参照ピクチャから、A0、A1、及びB0、B1、B2(各々202~206)5個の周囲のサンプルのうちのいずれか1つに関連付けられたMVを用いて導出できる。H.265では、MV予測は、近隣ブロックの使用するのと同じ参照ピクチャからの予測子を使用できる。
【発明の概要】
【0022】
開示の態様は、ビデオ符号化及び/又は復号のための方法及び機器を提供する。幾つかの例では、ビデオ復号のための機器は処理回路を含む。処理回路は、コーディングされたビットストリーム内の現在ブロックの予測情報を復号するよう構成される。予測情報は、テンプレートマッチング(TM)モードを有する動きベクトル差によるマージモード(MMVD)、及び現在ブロックの動きベクトル差(MVD)情報を示すことができる。処理回路は、MVD情報に基づき1つ以上のMVD候補を決定できる。処理回路は、TMを実行して、1つ以上のMVD候補に基づき、現在ブロックの現在テンプレートと現在ブロックの参照ブロックの参照テンプレートとの間の一致するMVDを検索できる。処理回路は、動きベクトル予測子(MVP)と一致するMVDの和である動きベクトル(MV)に基づき、現在ブロックを再構成する。
【0023】
実施形態では、1つ以上のMVD候補は1つのMVD候補である。MVD情報には、1つのMVD候補の大きさを示す距離情報と、1つのMVD候補の方向を示す方向情報が含まれる。処理回路は、1つのMVD候補の大きさと1つのMVD候補の方向に基づいて1つのMVD候補を決定し、1つのMVD候補の周囲でTMを実行する。例えば、コーディングされたビットストリームは、さらに、TMフラグを含み、TMフラグはTMが現在ブロックに対して有効であることを示す。距離情報には、距離が1つのMVD候補の大きさである複数の距離のうちの1つの距離を指す距離インデックスが含まれる。複数の距離はTMの検索範囲に基づいている。例えば、TMの検索範囲は、水平方向及び垂直方向で[-L、+L]の範囲内にあり、ここでLは正の整数である。複数の距離のうち最小の距離は、L又はL/2に等しくすることができる。
【0024】
例では、距離情報には、距離が1つのMVD候補の大きさである複数の距離のうちの1つの距離を指す距離インデックスが含まれる。複数の距離は等差数列になっている。
【0025】
実施形態では、1つ以上のMVD候補は、同じ方向を持つ複数のMVD候補を含む。MVD情報は、複数のMVD候補の方向を示す方向情報を含む。処理回路は、複数のMVD候補の方向と複数の距離に基づいて、複数のMVD候補を決定する。複数のMVD候補は、複数の距離に基づいて順序付けることができる。処理回路は、複数のMVD候補の各々について、TMを各々のMVD候補に適用し、TMコストと、各々のMVD候補に対応する対応する更新されたMVD候補を得ることができる。処理回路は、TMコストと対応する更新されたMVD候補に基づいて、一致するMVDを決定することができる。
【0026】
例では、MVD情報に距離インデックスが含まれている。処理回路は、複数のMVD候補のTMコストに応じて複数のMVD候補を並べ替え、一致したMVDを、並べ替えられた複数のMVD候補の距離インデックスによって示されるMVD候補に対応する更新されたMVD候補であると決定するよう構成される。
【0027】
例では、処理回路は、一致したMVDを、複数のMVD候補のTMコストの最小TMコストに対応する更新されたMVD候補であると決定する。
【0028】
実施形態では、1つ以上のMVD候補は、同じ大きさを持つ複数のMVD候補を含み、MVD情報は、複数のMVD候補の大きさを示す距離情報を含む。処理回路は、複数のMVD候補の大きさと、複数の方向に基づいて、複数のMVD候補を決定する。複数のMVD候補は、複数の方向に従って順序付けられる。処理回路は、複数のMVD候補の各々について、TMを各々のMVD候補に適用し、TMコストと、各々のMVD候補に対応する対応する更新されたMVD候補を得ることができる。処理回路は、TMコストと対応する更新されたMVD候補に基づいて、一致するMVDを決定することができる。
【0029】
例では、MVD情報には方向インデックスが含まれている。処理回路は、複数のMVD候補のTMコストに応じて複数のMVD候補を並べ替え、一致したMVDを、並べ替えられた複数のMVD候補の方向インデックスによって示されるMVD候補に対応する更新されたMVD候補であると決定するよう構成される。
【0030】
例では、処理回路は、一致したMVDを、複数のMVD候補のTMコストの最小TMコストに対応する更新されたMVD候補であると決定する。
【0031】
本開示の態様は、ビデオ復号の方法を実行するために少なくとも1つのプロセッサにより実行可能なプログラムを格納している非一時的コンピュータ可読記憶媒体も提供する。
【図面の簡単な説明】
【0032】
開示の主題の更なる特徴、特性、及び種々の利点は、以下の詳細な説明及び添付の図面から一層明らかになるだろう。
【
図1A】イントラ予測モードの例示的な部分集合の概略図である。
【0033】
【
図2】現在ブロック(201)と周囲サンプルの例を示す。
【0034】
【
図3】通信システム(300)の例示的なブロック図の概略図である。
【0035】
【
図4】通信システム(400)の例示的なブロック図の概略図である。
【0036】
【
図5】デコーダの例示的なブロック図の概略図である。
【0037】
【
図6】エンコーダの例示的なブロック図の概略図である。
【0038】
【0039】
【0040】
【0041】
【
図10】空間的マージ候補の冗長性チェックのために考慮される例示的な候補ペアを示す。
【0042】
【
図11】時間的マージ候補のための例示的な動きベクトルのスケーリングを示す。
【0043】
【
図12】時間的マージ候補のための例示的な候補位置を示す。
【0044】
【0045】
【
図14】例示的な符号化処理の概略を示すフローチャートを示す。
【0046】
【
図15】例示的な復号処理の概略を示すフローチャートを示す。
【0047】
【
図16】一実施形態による、コンピュータシステムの概略図である。
【発明を実施するための形態】
【0048】
図3は、通信システム(300)の例示的なブロック図を示す。通信システム(300)は、例えばネットワーク(350)を介して互いに通信できる複数の端末装置を含む。例えば、通信システム(300)は、ネットワーク(350)を介して相互接続された端末装置(310)及び(320)の第1ペアを含む。
図3の例では、端末装置(310)及び(320)の第1ペアは、データの単方向伝送を実行する。例えば、端末装置(310)は、ネットワーク(350)を介して他の端末装置(320)への送信のために、ビデオデータ(端末装置(310)によりキャプチャされたビデオピクチャのストリーム)を符号化する。符号化ビデオデータは、1つ以上のコーディングビデオビットストリームの形式で、送信できる。端末装置(320)は、ネットワーク(350)からコーディングビデオデータを受信し、コーディングビデオデータを復号してビデオピクチャを復元し、復元したビデオデータに従いビデオピクチャを表示してよい。単方向データ伝送は、メディアサービングアプリケーション等で共通であってよい。
【0049】
別の例では、通信システム(300)は、例えばビデオ会議の間に符号化ビデオデータの双方向伝送を実行する端末装置(330)及び(340)の第2ペアを含む。データの双方向伝送では、端末装置(330)及び(340)は、ネットワーク(350)を介して端末装置(330)及び(340)への送信のために、ビデオデータ(例えば、端末装置によりキャプチャされたビデオピクチャのストリーム)を符号化してよい。端末装置(330)及び(340)のうちの各端末装置は、端末装置(330)及び(340)のうちの他方の端末装置により送信されたコーディングビデオデータを受信してよく、コーディングビデオデータを復号してビデオピクチャを復元してよく、復元したビデオデータに従い、アクセス可能なディスプレイ装置においてビデオピクチャを表示してよい。
【0050】
図3の例では、端末装置(310)、(320)、(330)及び(340)は、サーバ、パーソナルコンピュータ及びスマートフォンとして各々示されるが、本開示の原理はこれらに限定されない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレイヤ、及び/又は専用ビデオ会議設備による適用がある。ネットワーク(350)は、端末装置(310)、(320)、(330)、及び(340)の間で符号化ビデオデータを運ぶ任意の数のネットワークを表し、例えば有線(ワイヤード)及び/又は無線通信ネットワークを含む。通信ネットワーク(350)は、回線交換及び/又はパケット交換チャネルでデータを交換してよい。代表的なネットワークは、電子通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク、及び/又はインターネットを含む。本発明の議論の目的で、ネットワーク(350)のアーキテクチャ及びトポロジは、以下で特に断りの無い限り、本開示の動作にとって重要でないことがある。
【0051】
図4は、開示の主題の適用の一例として、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダを示す。開示の主題は、例えばビデオ会議、デジタルTV、ストリーミングサービス、CD、DVD、メモリスティック、等を含むデジタル媒体への圧縮ビデオの格納、他のビデオ可能アプリケーション、等に等しく適用可能である。
【0052】
ストリーミングシステムは、例えば非圧縮のビデオピクチャストリーム(402)を生成するビデオソース(401)を含み得るキャプチャサブシステム(413)を含んでよい。一例では、ビデオピクチャストリーム(402)は、デジタルカメラにより取り込まれたサンプルを含む。ビデオピクチャストリーム(402)は、符号化ビデオデータ(404)(又はコーディングビデオビットストリーム)と比べたとき、高データ容量を強調するために太線で示され、ビデオソース(401)と結合されたビデオエンコーダ(403)を含む電子装置(420)により処理され得る。ビデオエンコーダ(403)は、ハードウェア、ソフトウェア、又はそれらの組み合わせを含み、以下に詳述するように開示の主題の態様を可能にし又は実装することができる。符号化ビデオデータ(404)(又は符号化ビデオビットストリーム)は、ビデオピクチャストリーム(402)と比べたとき、低データ容量を強調するために細線で示され、将来の使用のためにストリーミングサーバ(405)に格納され得る。
図4のクライアントサブシステム(406)及び(408)のような1つ以上のストリーミングクライアントサブシステムは、ストリーミングサーバ(405)にアクセスして、符号化ビデオデータ(404)のコピー(407)及び(409)を読み出すことができる。クライアントサブシステム(406)は、例えば電子装置(430)内にビデオデコーダ(410)を含み得る。ビデオデコーダ(410)は、符号化ビデオデータの入力コピー(407)を復号し、ディスプレイ(412)(例えばディスプレイスクリーン)又は他のレンダリング装置(図示しない)上でレンダリングできる出力ビデオピクチャストリーム(411)を生成する。幾つかのストリーミングシステムでは、符号化ビデオデータ(404)、(407)、及び(409)(例えば、ビデオビットストリーム)は、特定のビデオコーディング/圧縮標準に従い符号化され得る。これらの規格の例は、ITU-T Recommendation H.265を含む。一例では、策定中のビデオコーディング規格は、略式にVVC(Versatile Video Coding)として知られている。開示の主題は、VVCの文脈で使用されてよい。
【0053】
電子装置(420)及び(430)は他のコンポーネント(図示しない)を含み得ることに留意する。例えば、電子装置(420)は、ビデオデコーダ(図示しない)を含むことができ、電子装置(430)もビデオエンコーダ(図示しない)を含むことができる。
【0054】
図5は、ビデオデコーダ(510)の例示的なブロック図を示す。ビデオデコーダ(510)は、電子装置(530)に含まれ得る。電子装置(530)は、受信機(531)(例えば、受信回路)を含み得る。ビデオデコーダ(510)は、
図4の例では、ビデオデコーダ(410)の代わりに使用できる。
【0055】
受信機(531)は、ビデオデコーダ(510)によって復号される1つ以上のコーディングされたビデオシーケンスを受信することができる。実施形態では、一度に1つのコーディングされたビデオシーケンスを受信し、各コーディングされたビデオシーケンスの復号は、他のコーディングされたビデオシーケンスの復号から独立している。コーディングビデオシーケンスは、符号化ビデオデータを格納する記憶装置へのハードウェア/ソフトウェアリンクであってよいチャネル(501)から受信されてよい。受信機(531)は、他のデータ、例えば、各々の使用エンティティ(図示しない)へと転送され得るコーディング音声データ及び/又は補助データストリームと共に、符号化ビデオデータを受信してよい。受信機(531)は、他のデータからコーディングビデオシーケンスを分離してよい。ネットワークジッタを除去するために、バッファメモリ(515)は、受信機(531)とエントロピーデコーダ/パーサ(520)(以後、「パーサ(520)」)との間に結合されてよい。特定の適用では、バッファメモリ(515)は、ビデオデコーダ(510)の一部である。他に、ビデオデコーダ(510)(図示しない)の外部にあり得る。更に他では、例えばネットワークジッタを除去するために、ビデオデコーダ(510)の外部に、例えば再生(playout)タイミングを処理するために、ビデオデコーダ(510)の内部にある別のバッファメモリ(515)に加えて、バッファメモリ(図示しない)が存在し得る。受信機(531)が、十分な帯域幅の記憶/転送装置から制御可能に、又はアイソクロナス(isosynchronous)ネットワークから、データを受信しているとき、バッファメモリ(515)は、必要なくてよく又は小さくできる。インターネットのようなベストエフォート型パケットネットワークで使用するために、バッファメモリ(515)が必要とされてよく、比較的大きくなり、有利なことに適応型サイズであり、少なくとも部分的にオペレーティングシステム又はビデオデコーダ(510)の外部の同様の要素(図示しない)に実装されてよい。
【0056】
ビデオデコーダ(510)は、コーディングビデオシーケンスからシンボル(521)を再構成するために、パーサ(520)を含んでよい。これらのシンボルのカテゴリは、ビデオデコーダ(510)の動作を管理するために使用される情報、及び場合によっては
図5に示したように電子装置(530)の統合部分ではないが電子装置(530)に結合され得るレンダー装置(512)(例えば、ディスプレイスクリーン)のようなレンダリング装置を制御するための情報を含む。レンダリング装置のための制御情報は、SEI(Supplemental Enhancement Information)メッセージ又はVUI(Video Usability Information)パラメータセットフラグメント(図示しない)の形式であってよい。パーサ(520)は、受信されたコーディングビデオシーケンスをパース/エントロピー復号してよい。コーディングビデオシーケンスのコーディングは、ビデオコーディング技術又は規格に従うことができ、可変長コーディング、ハフマンコーディング、コンテキスト依存性を有する又は有しない算術的コーディング、等を含む、種々の原理に従うことができる。パーサ(520)は、コーディングビデオシーケンスから、ビデオデコーダの中のピクセルのサブグループのうちの少なくとも1つについて、該グループに対応する少なくとも1つのパラメータに基づき、サブグループパラメータのセットを抽出してよい。サブグループは、GOP(Groups of Picture)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(Coding Units:CU)、ブロック、変換ユニット(Transform Units:TU)、予測ユニット(Prediction Units:PU)、等を含み得る。パーサ(520)は、符号化ビデオシーケンスから、変換係数、量子化パラメータ値、動きベクトル、等のような情報も抽出してよい。
【0057】
パーサ(520)は、バッファメモリ(515)から受信したビデオシーケンスに対してエントロピー復号/パース動作を実行して、シンボル(521)を生成してよい。
【0058】
シンボル(521)の再構成は、コーディングビデオピクチャ又はその部分の種類(例えば、インター及びイントラピクチャ、インター及びイントラブロック)及び他の要因に依存して、複数の異なるユニットを含み得る。どのユニットがどのように含まれるかは、コーディングされたビデオシーケンスからパーサ(520)によりパースされたグループ制御情報により制御できる。パーサ(520)と以下の複数のユニットとの間のこのようなサブグループ制御情報のフローは、明確さのために示されない。
【0059】
既に言及した機能ブロックを超えて、ビデオデコーダ(510)は、後述のように、多数の機能ユニットに概念的に細分化できる。商用的制約の下で動作する実際の実装では、これらのユニットの多くは、互いに密に相互作用し、少なくとも部分的に互いに統合され得る。しかしながら、開示の主題を説明する目的で、機能ユニットへの以下の概念的細分化は適切である。
【0060】
第1ユニットは、スケーラ/逆変換ユニット551である。スケーラ/逆変換ユニット(551)は、量子化済み変換係数、及び、どの変換を使用すべきか、ブロックサイズ、量子化係数、量子化スケーリングマトリクス、等を含む制御情報を、パーサ(520)からのシンボル(521)として受信する。スケーラ/逆変換ユニット(551)は、アグリゲータ(555)に入力され得るサンプル値を含むブロックを出力できる。
【0061】
幾つかの場合には、スケーラ/逆変換ユニット(551)の出力サンプルは、イントラコーディングされたブロックに関連し得る。イントラコーディングされたブロックは、前に再構成されたピクチャからの予測情報を使用しないが現在ピクチャの前に再構成された部分からの予測情報を使用可能なブロックである。このような予測情報は、イントラピクチャ予測ユニット(552)により提供できる。幾つかの場合には、イントラピクチャ予測ユニット(552)は、再構成中のブロックと同じサイズ及び形状のブロックを、現在ピクチャバッファ(558)からフェッチした周囲の既に再構成された情報を用いて、生成する。現在ピクチャバッファ(558)は、例えば、再構成された現在ピクチャを部分的に及び/又は再構成された現在ピクチャを完全にバッファリングする。アグリゲータ(555)は、幾つかの場合には、サンプル毎に、イントラ予測ユニット(552)の生成した予測情報を、スケーラ/逆変換ユニット(551)により提供された出力サンプル情報に追加する。
【0062】
他の場合には、スケーラ/逆変換ユニット(551)の出力サンプルは、インターコーディングされた、場合によっては動き補償された、ブロックに関連し得る。このような場合には、動き補償予測ユニット(553)は、参照ピクチャメモリ(557)にアクセスして、予測ために使用されるサンプルをフェッチできる。ブロックに関連するシンボル(521)に従いフェッチしたサンプルを動き補償した後に、これらのサンプルは、アグリゲータ(555)により、出力サンプル情報を生成するために、スケーラ/逆変換ユニット(551)の出力に追加され得る(この場合、残差サンプル又は残差信号と呼ばれる)。動き補償予測ユニット(553)が予測サンプルをフェッチする参照ピクチャメモリ(557)内のアドレスは、例えばX、Y及び参照ピクチャコンポーネントを有し得るシンボル(521)の形式で、動き補償予測ユニット(553)の利用可能な動きベクトルにより制御できる。動き補償は、サブサンプルの正確な動きベクトルが使用中であるとき参照ピクチャメモリ(557)からフェッチされたサンプル値の補間、動きベクトル予測メカニズム、等を含み得る。
【0063】
アグリゲータ(555)の出力サンプルは、ループフィルタユニット(556)において種々のループフィルタリング技術を受け得る。ビデオ圧縮技術には、コーディングされたビデオシーケンス(コーディングされたビデオビットストリームとも呼ばれる)に含まれるパラメータによって制御され、パーサ(520)からシンボル(521)としてループフィルタユニット(556)が使用できるようにするインループフィルタ技術を含めることができる。ビデオ圧縮は、以前に再構成されループフィルタリングされたサンプル値に応答するだけでなく、コーディングされたピクチャ又はコーディングされたビデオシーケンスの(復号順で)前の部分の復号中に取得されたメタ情報に応答することもできる。
【0064】
ループフィルタユニット(556)の出力は、レンダー装置(512)へと出力でき及び将来のインターピクチャ予測で使用するために参照ピクチャメモリ(557)に格納され得るサンプルストリームであり得る。
【0065】
特定のコーディングピクチャは、一旦完全に再構成されると、将来の予測のための参照ピクチャとして使用できる。例えば、現在ピクチャに対応するコーディングピクチャが完全に再構成され、コーディングピクチャが(例えばパーサ(520)により)参照ピクチャとして識別されると、現在ピクチャバッファ(558)は、参照ピクチャメモリ(557)の一部になることができ、後続のコーディングピクチャの再構成を開始する前に、新鮮な現在ピクチャバッファを再割り当てできる。
【0066】
ビデオデコーダ(510)は、ITU-T Rec.H.265のような規格又は所定のビデオ圧縮技術に従い復号動作を実行してよい。コーディングビデオシーケンスがビデオ圧縮技術又は規格、及びビデオ圧縮技術又は規格において文書化されたプロファイルの両方に従うという意味で、コーディングビデオシーケンスは、使用中のビデオ圧縮技術又は規格により指定されたシンタックスに従ってよい。具体的に、プロファイルは、ビデオ圧縮技術又は標準において利用可能な全部のツールから、プロファイルの下でのみ使用可能なツールとして、特定のツールを選択できる。また、遵守のために必要なことは、コーディングビデオシーケンスの複雑さが、ビデオ圧縮技術又は規格のレベルにより定められる限界の範囲内であることであり得る。幾つかの場合には、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えばメガサンプル/秒で測定される)、最大参照ピクチャサイズ、等を制限する。レベルにより設定される限界は、幾つかの場合には、HRD(Hypothetical Reference Decoder)仕様及びコーディングビデオシーケンスの中でシグナリングされるHRDバッファ管理のためのメタデータを通じて更に制限され得る。
【0067】
実施形態では、受信機(531)は、符号化ビデオと共に追加(冗長)データを受信してよい。追加データは、コーディングビデオシーケンスの部分として含まれてよい。追加データは、データを正しく復号するため及び/又は元のビデオデータをより正確に再構成するために、ビデオデコーダ(510)により使用されてよい。追加データは、例えば、時間的、空間的、又は信号雑音比(SNR)の拡張レイヤ、冗長スライス、冗長ピクチャ、前方誤り訂正符号、等の形式であり得る。
【0068】
図6は、ビデオエンコーダ(603)の例示的なブロック図を示す。ビデオエンコーダ(603)は、電子装置(620)に含まれる。電子装置(620)は、送信機(640)(例えば、送信回路)を含む。ビデオエンコーダ(603)は、
図4の例では、ビデオエンコーダ(403)の代わりに使用できる。
【0069】
ビデオエンコーダ(603)は、ビデオサンプルを、ビデオエンコーダ(603)によりコーディングされるべきビデオ画像をキャプチャし得るビデオソース(601)(
図6の例では、電子装置(620)の部分ではない)から受信してよい。別の例では、ビデオソース(601)は、電子装置(620)の一部である。
【0070】
ビデオソース(601)は、ビデオエンコーダ(603)によりコーディングされるべきソースビデオシーケンスを、任意の適切なビット深さ(例えば、8ビット、10ビット、12ビット、...)、任意の色空間(例えば、BT.601 Y CrCB, RGB、...)、及び任意の適切なサンプリング構造(例えば、YCrCb 4:2:0、YCrCb 4:4:4)のデジタルビデオサンプルストリームの形式で、提供してよい。メディア提供システムでは、ビデオソース(601)は、前に準備されたビデオを格納する記憶装置であってよい。ビデオ会議システムでは、ビデオソース(601)は、ビデオシーケンスとしてローカル画像情報をキャプチャするカメラであってよい。ビデオデータは、続けて閲覧されると動きを与える複数の個別ピクチャとして提供されてよい。ピクチャ自体は、ピクセルの空間的配列として組織化されてよい。各ピクセルは、使用中のサンプリング構造、色空間、等に依存して、1つ以上のサンプルを含み得る。当業者は、ピクセルとサンプルとの間の関係を直ちに理解できる。以下の説明はサンプルに焦点を当てる。
【0071】
実施形態によると、ビデオエンコーダ(603)は、ソースビデオシーケンスのピクチャを、コーディングビデオシーケンス(643)へと、リアルタイムに又は要求される任意の他の時間制約の下でコーディングし圧縮してよい。適切なコーディング速度の実施は、制御部(650)の1つの機能である。幾つかの実施形態では、制御部(650)は、後述する他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。結合は、明確さのために図示されない。制御部(650)により設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、...)、ピクチャサイズ、GOP(group of pictures)レイアウト、最大動きベクトル探索範囲、等を含み得る。制御部(650)は、特定のシステム設計に最適化されたビデオエンコーダ(603)に関連する他の適切な機能を有するよう構成され得る。
【0072】
幾つかの実施形態では、ビデオエンコーダ(603)は、コーディングループの中で動作するよう構成される。非常に簡略化された説明として、一例では、コーディングループは、ソースコーダ(630)(例えば、シンボルストリームのようなシンボルを、コーディングされるべき入力ピクチャ及び参照ピクチャに基づき生成することを担う)、及びビデオエンコーダ(603)に内蔵された(ローカル)デコーダ(633)を含み得る。デコーダ(633)は、(リモート)デコーダが作成するのと同様の方法でサンプルデータを作成するためにシンボルを再構成する。再構成されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(634)に入力される。シンボルストリームの復号が、デコーダ位置(ローカル又はリモート)と独立にビット正確な結果をもたらすとき、参照ピクチャメモリ(634)の内容も、ローカルエンコーダとリモートエンコーダとの間でビット正確である。言い換えると、エンコーダの予測部分が、復号中に予測を用いるときデコーダが「見る」のと正確に同じサンプル値を、参照ピクチャサンプルとして「見る」。参照ピクチャ同期性のこの基本原理(及び、例えばチャネルエラーのために同期生が維持できない場合には、結果として生じるドリフト)は、幾つかの関連技術で同様に使用される。
【0073】
「ローカル」デコーダ(633)の動作は、
図5と関連して以上に詳述したビデオデコーダ(510)のような「リモート」デコーダのものと同じであり得る。簡単に一時的に
図5も参照すると、しかしながら、シンボルが利用可能であり、エントロピーコーダ(645)及びパーサ(520)による符号化ビデオシーケンスへのシンボルの符号化/復号が無損失であり得るので、バッファメモリ(515)を含むビデオデコーダ(510)のエントロピー復号部分、及びパーサ(520)は、ローカルデコーダ(633)に完全に実装されなくてよい。
【0074】
実施形態では、デコーダに存在する解析/エントロピー復号を除くデコーダ技術は、対応するエンコーダに、同一又は実質的に同一の機能形態で存在する。したがって、記載された開示の主題は、デコーダ動作に焦点を当てる。エンコーダ技術の説明は、それらが包括的に説明されるデコーダ技術の逆であるので、省略できる。特定の領域において、より詳細な説明が、以下に提供される。
【0075】
動作中、幾つかの例では、ソースコーダ(630)は、動き補償された予測符号化を実行してよい。これは、「参照ピクチャ」として指定されたビデオシーケンスからの1つ以上の前の符号化ピクチャを参照して予測的に入力ピクチャを符号化する。この方法では、コーディングエンジン(632)は、入力ピクチャのピクセルブロックと、入力ピクチャに対する予測基準として選択されてよい参照ピクチャのピクセルブロックとの間の差分をコーディングする。
【0076】
ローカルビデオデコーダ(633)は、ソースコーダ(630)により生成されたシンボルに基づき、参照ピクチャとして指定されてよいピクチャのコーディングビデオデータを復号してよい。コーディングエンジン(632)の動作は、有利なことに、損失処理であってよい。コーディングビデオデータがビデオデコーダ(
図6に図示されない)において復号され得るとき、再構成ビデオシーケンスは、標準的に、幾つかのエラーを有するソースビデオシーケンスの複製であってよい。ローカルビデオデコーダ(633)は、参照ピクチャに対してビデオデコーダにより実行され得る復号処理を複製し、参照ピクチャメモリ(634)に格納されるべき再構成参照ピクチャを生じ得る。このように、ビデオエンコーダ(603)は、(伝送誤りが無ければ)遠端ビデオデコーダにより取得される再構成参照ピクチャと共通の内容を有する再構成参照ピクチャのコピーを格納してよい。
【0077】
予測器(635)は、コーディングエンジン(632)のために予測探索を実行してよい。つまり、符号化されるべき新しいピクチャについて、予測器(635)は、新しいピクチャのための適切な予測基準として機能し得る(候補参照ピクセルブロックのような)サンプルデータ又は参照ピクチャ動きベクトル、ブロック形状、等のような特定のメタデータについて、参照ピクチャメモリ(634)を検索してよい。予測器(635)は、適切な予測基準を見付けるために、サンプルブロック-ピクセルブロック毎に動作してよい。幾つかの例では、予測器(635)により取得された検索結果により決定されるように、入力ピクチャは、参照ピクチャメモリ(634)に格納された複数の参照ピクチャから引き出された予測基準を有してよい。
【0078】
制御部(650)は、例えば、ビデオデータの符号化のために使用されるパラメータ及びサブグループパラメータの設定を含む、ソースコーダ(630)のコーディング動作を管理してよい。
【0079】
全ての前述の機能ユニットの出力は、エントロピーコーダ(645)におけるエントロピーコーディングを受けてよい。エントロピーコーダ(645)は、ハフマンコーディング、可変長コーディング、算術的コーディング、等のような技術に従いシンボルに無損失圧縮を適用することにより、種々の機能ユニットにより生成されたシンボルを、コーディングビデオシーケンスへと変換する。
【0080】
送信機(640)は、符号化ビデオデータを格納し得る記憶装置へのハードウェア/ソフトウェアリンクであってよい通信チャネル(660)を介する伝送のために準備するために、エントロピーコーダ(645)により生成された符号化ビデオシーケンスをバッファリングしてよい。送信機(640)は、ビデオエンコーダ(603)からのコーディングビデオデータを、送信されるべき他のデータ、例えばコーディング音声データ及び/又は補助データストリーム(図示されないソース)とマージしてよい。
【0081】
制御部(650)は、ビデオエンコーダ(603)の動作を管理してよい。コーディング中、制御部(650)は、各々のピクチャに適用され得るコーディング技術に影響し得る特定のコーディングピクチャタイプを、各コーディングピクチャに割り当ててよい。例えば、ピクチャは、多くの場合、以下のピクチャタイプのうちの1つとして割り当てられてよい。
【0082】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の任意の他のピクチャを使用せずにコーディング及び復号され得るピクチャであってよい。幾つかのビデオコーデックは、例えばIDR(Independent Decoder Refresh)ピクチャを含む異なる種類のイントラピクチャを許容する。当業者は、Iピクチャの変形、及びそれらの個々の適用及び特徴を認識する。
【0083】
予測ピクチャ(Pピクチャ)は、殆どの場合、各ブロックのサンプル値を予測するために1つの動きベクトル及び参照インデックスを用いてイントラ予測又はインター予測を用いてコーディング及び復号され得るピクチャであってよい。
【0084】
双方向予測ピクチャ(Bピクチャ、Bi-directionally Predictive Picture (B Picture))は、各ブロックのサンプル値を予測するために最大で2つの動きベクトル及び参照インデックスを用いてイントラ予測又はインター予測を用いてコーディング及び復号され得るピクチャであってよい。同様に、マルチ予測ピクチャは、単一のブロックの再構成のために、2つより多くの参照ピクチャ及び関連付けられたメタデータを使用できる。
【0085】
ソースピクチャは、一般に、複数のサンプルブロック(例えば、各々4×4、8×8、4×8、又は16×16個のサンプルのブロック)に空間的に細分化され、ブロック毎にコーディングされてよい。ブロックは、ブロックの各々のピクチャに適用されるコーディング割り当てにより決定される他の(既にコーディングされた)ブロックへの参照により予測的にコーディングされてよい。例えば、Iピクチャのブロックは、非予測的にコーディングされてよく、又はそれらは同じピクチャの既にコーディングされたブロックを参照して予測的にコーディングされてよい(空間予測又はイントラ予測)。Pピクチャのピクセルブロックは、1つの前にコーディングされた参照ピクチャを参照して、空間予測を介して又は時間予測を介して、予測的にコーディングされてよい。Bピクチャのブロックは、1つ又は2つの前にコーディングされた参照ピクチャを参照して、空間予測を介して又は時間予測を介して、予測的にコーディングされてよい。
【0086】
ビデオエンコーダ(603)は、ITU-T Rec.H.265のような所定のビデオコーディング技術又は規格に従いコーディング動作を実行してよい。その動作において、ビデオエンコーダ(603)は、入力ビデオシーケンスの中の時間的及び空間的冗長性を利用する予測コーディング動作を含む種々の圧縮動作を実行してよい。コーディングビデオデータは、従って、使用されているビデオコーディング技術又は規格により指定されたシンタックスに従ってよい。
【0087】
一実施形態では、送信機(640)は、符号化ビデオと共に追加データを送信してよい。ソースコーダ(630)は、このようなデータをコーディングビデオシーケンスの部分として含んでよい。追加データは、時間/空間/SNR拡張レイヤ、冗長ピクチャ及びスライスのような他の形式の冗長データ、SEIメッセージ、VUIパラメータセットフラグメント、等を含んでよい。
【0088】
ビデオは、時系列の中の複数のソースピクチャ(ビデオピクチャ)としてキャプチャされてよい。イントラピクチャ予測(イントラ予測と省略されることがある)は、所与のピクチャの中の空間的相関を利用し、インターピクチャ予測は、ピクチャ間の(時間的又は他の)相関を利用する。一例では、符号化/復号中の特定のピクチャは、現在ピクチャと呼ばれ、ブロックにパーティションされる。現在ピクチャの中のブロックが、ビデオの中の前に符号化され且つ未だバッファリングされている参照ピクチャの中の参照ブロックと同様であるとき、現在ピクチャの中のブロックは、動きベクトルと呼ばれるベクトルにより符号化できる。動きベクトルは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用中である場合には、参照ピクチャを識別する第3次元を有することができる。
【0089】
幾つかの実施形態では、双予測(bi-prediction)技術が、インターピクチャ予測で使用できる。双予測技術によると、両方とも復号順序でビデオの中の現在ピクチャより前にある(が、各々表示順序で過去及び未来にあってよい)第1参照ピクチャ及び第2参照ピクチャのような2つの参照ピクチャが使用される。現在ピクチャ内のブロックは、第1参照ピクチャ内の第1参照ブロックを指す第1動きベクトル、及び第2参照ピクチャ内の第2参照ブロックを指す第2動きベクトルによりコーディングできる。ブロックは、第1参照ブロック及び第2参照ブロックの結合により予測できる。
【0090】
さらに、コーディング効率を向上するために、インターピクチャ予測においてマージモード技術が使用できる。
【0091】
本開示の幾つかの実施形態によると、インターピクチャ予測及びイントラピクチャ予測のような予測は、ブロックのユニットの中で実行される。例えば、HEVC規格によると、ビデオピクチャシーケンスの中のピクチャは、圧縮のためにコーディングツリーユニット(coding tree unit:CTU)にパーティションされる。ピクチャ内のCTUは、64×64ピクセル、32×32ピクセル、又は16×16ピクセルのような、同じサイズを有する。通常、CTUは、3個のコーディングツリーブロック(coding tree blocks:CTB)、つまり1個のルマCTB及び2個のクロマCTB、を含む。各CTUは、1又は複数の符号化ユニット(coding unit:CU)に再帰的に4分木分割できる。例えば、64×64ピクセルのCTUは、64×64ピクセルの1個のCU、又は32×32ピクセルの4個のCU、又は16×16ピクセルの16個のCUに分割できる。一例では、各CUは、インター予測タイプ又はイントラ予測タイプのようなCUの予測タイプを決定するために分析される。CUは、時間的及び/又は空間的予測性に依存して、1つ以上の予測ユニット(prediction unit:PU)に分割される。通常、各PUは、ルマ予測ブロック(prediction block:PB)、及び2個のクロマPBを含む。一実施形態では、コーディング(符号化/復号)における予測演算が、予測ブロックのユニットの中で実行される。ルマ予測ブロックを予測ブロックの一例として用いると、予測ブロックは、8×8ピクセル、16×16ピクセル、8×16ピクセル、16×8ピクセル、等のようなピクセルについて値(例えば、ルマ値)のマトリクスを含む。
【0092】
図7は、ビデオエンコーダ(703)の例示的な図を示す。ビデオエンコーダ(703)は、ビデオピクチャシーケンスの中の現在ビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックをコーディングビデオシーケンスの部分であるコーディングピクチャに符号化するよう構成される。一例では、ビデオエンコーダ(703)は、
図4の例では、ビデオエンコーダ(403)の代わりに使用される。
【0093】
HEVCの例では、ビデオエンコーダ(703)は、8×8サンプル等の予測ブロックのような、処理ブロックのサンプル値のマトリクスを受信する。ビデオエンコーダ(703)は、例えばレート歪み最適化を用いて、処理ブロックがイントラモード、インターモード、又は双予測モードを用いて最適にコーディングされるかを決定する。処理ブロックはイントラモードでコーディングされるとき、ビデオエンコーダ(703)は、処理ブロックをコーディングピクチャへと符号化するために、イントラ予測技術を使用してよい。処理ブロックがインターモード又は双予測モードでコーディングされるとき、ビデオエンコーダ(703)は、処理ブロックをコーディングピクチャへと符号化するために、各々インター予測又は双予測技術を使用してよい。特定のビデオコーディング技術では、マージモードは、予測器の外部のコーディング動きベクトル成分の利益無しに、動きベクトルが1つ以上の動きベクトル予測器から導出されるインターピクチャ予測サブモードであり得る。特定の他のビデオコーディング技術では、対象ブロックに適用可能な動きベクトル成分が存在し得る。一例では、ビデオエンコーダ(703)は、処理ブロックのモードを決定するために、モード決定モジュール(図示しない)のような他のコンポーネントを含む。
【0094】
図7の例では、ビデオエンコーダ(703)は、
図7に示したように一緒に結合されたインターエンコーダ(730)、イントラエンコーダ(722)、残差計算器(723)、スイッチ(726)、残差エンコーダ(724)、一般制御部(721)、及びエントロピーエンコーダ(725)を含む。
【0095】
インターエンコーダ(730)は、現在ブロック(例えば、処理中のブロック)のサンプルを受信し、ブロックを参照ピクチャ内の1つ以上の参照ブロック(例えば、前のピクチャ及び後のピクチャの中のブロック)と比較し、インター予測情報(例えば、インター符号化技術による冗長情報の説明、動きベクトル、マージモード情報)を生成し、任意の適切な技術を用いてインター予測情報に基づきインター予測結果(例えば、予測ブロック)を計算するよう構成される。幾つかの例では、参照ピクチャは、符号化ビデオ情報に基づき復号された、復号参照ピクチャである。
【0096】
イントラエンコーダ(722)は、現在ブロック(例えば、処理中のブロック)のサンプルを受信し、幾つかの場合には、ブロックをサンプルピクチャ内の既にコーディングされたブロックと比較し、変換後に量子化済み係数を生成し、幾つかの場合にはイントラ予測情報(例えば、1つ以上のイントラ符号化技術によるイントラ予測方向情報)も生成するよう構成される。一例では、イントラエンコーダ(722)は、イントラ予測情報及び同じピクチャ内の参照ブロックに基づき、イントラ予測結果(例えば、予測したブロック)も計算する。
【0097】
一般制御部(721)は、一般制御データを決定し、一般制御データに基づきビデオエンコーダ(703)の他のコンポーネントを制御するよう構成される。一例では、一般制御部(721)は、ブロックのモードを決定し、モードに基づき、制御信号をスイッチ(726)に提供する。例えば、モードがイントラモードであるとき、一般制御部(721)は、残差計算器(723)による使用のためにイントラモード結果を選択するようスイッチ(726)を制御し、イントラ予測情報を選択してビットストリーム内にイントラ予測情報を含めるよう、エントロピーエンコーダ(725)を制御し、モードがインターモードであるとき、一般制御部(721)は、残差計算器(723)による使用のためにインター予測結果を選択するようスイッチ(726)を制御し、インター予測情報を選択してビットストリーム内にインター予測情報を含めるよう、エントロピーエンコーダ(725)を制御する。
【0098】
残差計算器(723)は、受信したブロックとイントラエンコーダ(722)又はインターエンコーダ(730)からの選択された予測結果との間の差(残差データ)を計算するよう構成される。残差エンコーダ(724)は、残差データに基づき動作して、残差データを符号化し、変換係数を生成するよう構成される。一例では、残差エンコーダ(724)は、残差データを空間ドメインから周波数ドメインへと変換し、変換係数を生成するよう構成される。変換係数は、次に、量子化変換係数を得るために、量子化処理を受ける。種々の実施形態では、ビデオエンコーダ(703)も残差デコーダ(728)を含む。残差デコーダ(728)は、逆変換を実行し、復号残差データを生成するよう構成される。復号残差データは、イントラエンコーダ(722)及びインターエンコーダ(730)により適切に使用できる。例えば、インターエンコーダ(730)は、復号残差データ及びインター予測情報に基づき復号ブロックを生成でき、イントラエンコーダ(722)は、復号残差データ及びイントラ予測情報に基づき復号ブロックを生成できる。復号ブロックは、復号ピクチャを生成するために適切に処理され、復号ピクチャは、幾つかの例ではメモリ回路(図示しない)にバッファリングされ、参照ピクチャとして使用できる。
【0099】
エントロピーエンコーダ(725)は、符号化ブロックを含めるために、ビットストリームをフォーマットするよう構成される。エントロピーエンコーダ(725)は、HEVC規格のような適切な規格に従うビットストリーム内の種々の情報を含むよう構成される。一例では、エントロピーエンコーダ(725)は、ビットストリームに、一般制御データ、選択された予測情報(例えば、イントラ予測情報又はインター予測情報)、残差情報、及び他の適切な情報を含めるよう構成される。開示の主題によると、インターモード又は双予測モードのいずれかのマージサブモードでブロックをコーディングするとき、残差情報は存在しないことに留意する。
【0100】
図8は、ビデオデコーダ(810)の例示的な図を示す。ビデオデコーダ(810)は、コーディングビデオシーケンスの部分であるコーディングピクチャを受信し、コーディングピクチャを復号して再構成ピクチャを生成するよう構成される。一例では、ビデオデコーダ(810)は、
図4の例では、ビデオデコーダ(410)の代わりに使用される。
【0101】
図8の例では、ビデオデコーダ(810)は、
図8に示したように一緒に結合されたエントロピーデコーダ(871)、インターデコーダ(880)、残差デコーダ(873)、再構成モジュール(874)、イントラデコーダ(872)を含む。
【0102】
エントロピーデコーダ(871)は、コーディングピクチャから、コーディングピクチャの生成されたシンタックス要素を表す特定のシンボルを再構成するよう構成され得る。このようなシンボルは、例えば、ブロックのコーディングされたモード(例えば、イントラモード、インターモード、双方向モード、マージサブモード又は別のサブモードの後者の2つ)、各々イントラデコーダ(872)又はインターデコーダ(880)による予測のために使用される特定のサンプル又はメタデータを特定できる予測情報(例えば、イントラ予測情報又はインター予測情報)を含み得る。シンボルには、例えば量子化された変換係数などの形式で残差情報を含めることもできる。一例では、予測モードがインター又は双方向予測モードであるとき、インター予測情報がインターデコーダ(880)に提供され、予測タイプがイントラ予測タイプであるとき、イントラ予測情報がイントラデコーダ(872)に提供される。残差情報は、逆量子化され、残差デコーダ(873)に提供される。
【0103】
インターデコーダ(880)は、インター予測情報を受信し、インター予測情報に基づきインター予測結果を生成するよう構成される。
【0104】
イントラデコーダ(872)は、イントラ予測情報を受信し、イントラ予測情報に基づき予測結果を生成するよう構成される。
【0105】
残差デコーダ(873)は、逆量子化を実行して、逆量子化された変換係数を抽出し、逆量子化された変換係数を処理して、残差情報を周波数ドメイン情報から空間ドメインへと変換するよう構成される。残差デコーダ(873)は、(量子化器パラメータ(Quantizer Parameter:QP)を含むための)特定の制御情報も要求してよい。この情報は、エントロピーデコーダ(871)により提供されてよい(これは低容量制御情報のみなので、データ経路は示されない)。
【0106】
再構成モジュール(874)は、空間ドメインで、残差デコーダ(873)による出力としての残差情報と(場合によりインター又はイントラ予測モジュールによる出力としての)予測結果とを結合して、再構成ピクチャの部分であり得る、一方で再構成ビデオの部分であり得る、再構成ブロックを形成するよう構成される。デブロッキング動作などのような他の適切な動作が、視覚的品質を向上するために実行できる。
【0107】
ビデオエンコーダ(403)、(603)、及び(703)、並びにビデオデコーダ(410)、(510)、及び(810)は、任意の適切な技術を用いて実装できることに留意する。一実施形態では、ビデオエンコーダ(403)、(603)、及び(703)、並びにビデオデコーダ(410)、(510)、及び(810)は、1つ以上の集積回路を用いて実装できる。別の実施形態では、ビデオエンコーダ(403)、(603)、及び(603)、並びにビデオデコーダ(410)、(510)、及び(810)は、ソフトウェア命令を実行する1つ以上のプロセッサを用いて実装できる。
【0108】
VVCでは、様々なインター予測モードを使用できる。インター予測CUの場合、動きパラメータには、MV、1つ以上の参照ピクチャインデックス、参照ピクチャリスト使用インデックス、及びインター予測されたサンプルの生成に使用される特定のコーディング機能の追加情報を含めることができる。動きパラメータは、明示的又は暗示的に通知できる。CUがスキップモードでコーディングされている場合、CUはPUと関連付けることができ、有意な残差係数、コーディングされた動きベクトルデルタ又はMV差(例えば、MVD)又は参照ピクチャインデックスを持たないことができる。マージモードは、現在CUの動きパラメータが、空間的及び/又は時間的候補、及びオプションでVVCで導入されたような追加情報を含む近隣CUから取得される場合に、指定できる。マージモードは、スキップモードだけでなく、インター予測されたCUにも適用できる。例では、マージモードの代替手段は、動きパラメータの明示的な送信であり、ここで、MV、各参照ピクチャリストの対応する参照ピクチャインデックス、及び参照ピクチャリスト使用フラグとその他の情報は、CUごとに明示的にシグナリングされる。
【0109】
VVCなどの実施形態では、VVCテストモデル(VVC Test model (VTM))参照ソフトウェアには、拡張マージ予測、マージ動きベクトル差(merge motion vector difference (MMVD))モード、対称MVDシグナリングを使用した適応動きベクトル予測(adaptive motion vector prediction (AMVP))モード、アフィン動き補償予測、サブブロックベースの時間的動きベクトル予測(subblock-based temporal motion vector prediction (SbTMVP))、適応動きベクトル解像度(adaptive motion vector resolution (AMVR))、動きフィールドストレージ(1/16ルマサンプルMVストレージと8x8動きフィールド圧縮)、CUレベルの重みを使用した双予測(bi-prediction with CU-level weights (BCW))、双方向オプティカルフロー(bi-directional optical flow (BDOF))、オプティカルフローを使用した予測の精緻化(prediction refinement using optical flow (PROF))、デコーダ側の動きベクトルの精緻化(decoder side motion vector refinement (DMVR))、インター及びイントラの結合予測(combined inter and intra prediction (CIIP))、幾何学的パーティションモード(geometric partitioning mode (GPM))などを含む1つ以上の精緻化されたインター予測コーディングツールが含まれている。以下では、インター予測と関連する方法について詳しく説明する。
【0110】
幾つかの例では、拡張マージ予測を使用できる。例えば、VTM4では、このようなマージ候補リストは、以下の5個のタイプの候補、順に:空間的な近隣CUからの空間的MVP、同一位置のCUからの時間的MVP、FIFO(first-in-first-out)テーブルからの履歴に基づくMVP、ペア毎の平均MVP、ゼロMVP、を含むことにより構成される。
【0111】
マージ候補リストのサイズは、スライスヘッダでシグナリングできる。例では、マージ候補リストの最大許容サイズは、VTM4では6である。マージモードでコーディングされたCUごとに、トランケートされた単項二値化(TU)を使用して、最適なマージ候補のインデックス(例えば、マージインデックス)を符号化できる。マージインデックスの第1ビンはコンテキスト(例えば、コンテキスト適応型二項算術符号化(context-adaptive binary arithmetic coding (CABAC))でコーディングでき、バイパスコーディングを他のビンに使用できる。
【0112】
マージ候補の各カテゴリの生成プロセスの幾つかの例を次に示する。実施例では、空間候補は次のように導出される。VVCでの空間的マージ候補の導出は、HEVCでの導出と同じことができる。例では、
図9に示された位置にある候補の中から最大4つのマージ候補が選択される。
図9は、本開示の実施形態による空間的マージ候補の位置を示す。
図9を参照すると、導出の順序はB1、A1、B0、A0、B2となる。位置B2は、位置A0、B0、B1、及びA1のCUが使用できない(例えば、CUが別のスライス又は別のタイルに属しているため)、又はイントラコーディングされている場合にのみ考慮される。位置A1の候補が追加された後、残りの候補の追加は冗長性チェックの対象となり、これは同じ動き情報を持つ候補が候補リストから除外されることを保証し、したがってコーディング効率が向上する。
【0113】
計算量を減らすために、すべての可能な候補ペアが前述の冗長性チェックで考慮されるわけではない。代わりに、
図10の矢印でリンクされたペアのみが考慮され、冗長性チェックに使用される対応する候補が同じ動き情報を持たない場合にのみ候補リストに候補が追加される。
図10は、本開示の一実施形態による空間的マージ候補の冗長性チェックのために考慮される候補ペアを示す。
図10を参照すると、各々の矢印にリンクされたペアには、A1とB1、A1とA0、A1とB2、B1とB0、B1とB2が含まれる。これにより、位置B1、A0、及び/又はB2の候補と位置A1の候補を、位置B0及び/又はB2の候補と位置B1の候補を比較することができる。
【0114】
実施例では、時間的候補は次のように導出される。例では、1つの時間的マージ候補のみが候補リストに追加される。
図11は、時間的マージ候補のための例示的な動きベクトルのスケーリングを示す。現在ピクチャ(1101)における現在CU(1111)の時間的マージ候補を導出するために、スケーリングされたMV(1121)(例えば、
図11の点線で示す)は、同一位置の参照ピクチャ(1104)に属する同一位置のCU(1112)に基づいて導出することができる。同一位置のCU(1112)を導出するために使用される参照ピクチャリストは、スライスヘッダで明示的にシグナリングすることができる。時間的マージ候補に対するスケーリングされたMV(1121)は、
図11の点線で示すように得ることができる。スケーリングされたMV(1121)は、ピクチャオーダカウント(picture order count (POC))距離tb及びtdを使用して、同一場所にあるCU(1112)のMVからスケーリングすることができる。POC距離tbは、現在ピクチャ(1101)の現在参照ピクチャ(1102)と現在ピクチャ(1101)とのPOC差として定義することができる。POC距離tdは、同一位置のピクチャ(1103)の同一位置の参照ピクチャ(1104)と同一位置のピクチャ(1103)とのPOC差として定義することができる。時間的マージ候補の参照ピクチャインデックスを0に設定することができる。
【0115】
図12は、現在CUの時間的マージ候補のための例示的な候補位置(例えば、C0とC1)を示す。時間的マージ候補の位置は、候補位置C0とC1の間で選択することができる。候補位置C0は、現在CUの同一位置のCU(1210)の右下角に位置する。候補位置C1は、現在CU(1210)の同一位置のCU(1210)の中心に位置する(1210)。候補位置C0のCUが使用できない場合、イントラコーディングされている場合、又はCTUの現在の行の外側にある場合、候補位置C1を使用して時間的マージ候補が導出される。それ以外の場合、例えば、候補位置C0のCUが使用可能であり、イントラコーディングされ、CTUの現在の行では、候補位置C0を使用して時間的マージ候補が導出される。
【0116】
MVDを有するマージモード(MMVD)は、VVCなどのビデオ/画像コーディングで使用できる。MMVDモードでは、暗示的に導出された動き情報を使用してCUのサンプルを予測できる。例えばスキップフラグ又はマージフラグをシグナリングした後に、MMVDマージフラグをシグナリングして、CUにMMVDモードを使用するかどうかを指定できる。
【0117】
マージモードに加えて、MMVDモードでは、MVPとMVD(又は動きオフセット)の合計であるMVが精緻化されるように、MV差(MVD)をコーディングできる。MMVDモードでは、導出したマージされた動き情報として事前定義されたMVDを提供することで、マージモードとAMVPモードの概念を組み合わせることができる。MMVDモードでは、マージ候補リストの第12つの候補のうちの1つをベースとして選択できる(MVベース又はMV開始点とも呼ばれる)。例えば、マージ候補フラグ(例えば、シグナリングされている)は、候補マージリストの第12つの候補のうちの1つを示す。
【0118】
MVベースが選択された後、MVベースに対してMVDを示すシグナリングされたMVD情報などの追加情報によってMVベースを精緻化することができる。方向と距離で表されるMVDは、MVベースの精緻化としてコーディング(例えば、符号化)できる。追加情報には、MVDの距離(マグニチュードとも呼ばれる)を指定するために使用される距離インデックスと、MVDの方向を示すために使用される方向インデックスを含めることができる。
【0119】
MVDでは、複数の距離(オフセットとも呼ばれる)(例えば、表1に設定された各距離に8個の距離エントリ)を設計できる。表1に、第1距離セットと第2距離セットを含む2つの距離セットの例を示し、各々の距離セットにおける距離インデックスと複数の距離の関係の例を示す。第1距離セットは整数ペル(full-pel)MMVDがオフのときに使用でき、MMVDによって事前に定義されたオフセットの範囲は1/4ルマサンプルから32ルマサンプルまでとすることができる。整数ペルMMVDがオフのとき、事前に定義されたオフセットはルマサンプルの割合(例えば、1/4ピクセル又は1/2ピクセル)などの整数ではない値を持つことができる。第2距離セットはフ整数ペル(full-pel)MMVDがオンのときに使用でき、MMVDによって事前に定義されたオフセットの範囲は1ルマサンプルから128ルマサンプルまでとすることができる。例では、整数ペルMMVDがオンのとき、事前に定義されたオフセットは1つ以上のルマサンプルなどの整数値のみを持つ。
【0120】
エンコーダは、例えばピクチャレベルで表1から距離セットを選択できる。選択された距離セット内の複数の距離のうちのどの距離が適用されるかを示すために、MVDに対して距離インデックスをシグナリングできる。
[表1]MMVDモードにおける距離インデックスと複数の距離(ルマサンプル単位)の関係の例
【表1】
【0121】
例では、MVDには複数の方向(例えば、0度、90度、180度、270度のような4方向)が許容される。方向インデックスは、複数の方向(例えば、4方向)のうちどれがMVDの方向として選択されたかを示すためにシグナリングできる。
【0122】
表2は、4つの方向と方向インデックスの関係の例を示している。表2を参照すると、方向指数00はx軸の正方向を示し、方向指数01はx軸の負方向を示し、方向指数10はy軸の正方向を示し、方向指数11はy軸の負方向を示している。
[表2]MMVDの方向と方向インデックスの関係の例を示している。
【表2】
【0123】
テンプレートマッチング(TM)技術は、ビデオ/画像コーディングに使用できる。VVC規格の圧縮効率をさらに向上させるために、例えば、TMを使用してMVを精緻化できる。例では、TMはデコーダ側で使用される。TMモードでは、MVは、再構成する現在ピクチャ内のブロック(例えば、現在ブロック)のテンプレート(例えば、現在テンプレート)を構成し、現在ピクチャ内のブロックのテンプレートと参照ピクチャ内の複数のテンプレート(例えば、複数の参照テンプレート)との最も近い一致を決定することで、精緻化できる。実施形態では、現在ピクチャ内のブロックのテンプレートは、ブロックの左近隣の再構成されたサンプルと、ブロックの上の近隣の再構成されたサンプルを含むことができる。TMは、VVCを超えるビデオ/画像コーディングで使用できる。
【0124】
図13は、テンプレートマッチング(1300)の例を示す。TMを使用して、現在ピクチャ(1310)の現在CU(1301)のテンプレート(1321)と、参照ピクチャ(1311)の複数のテンプレートのうちの1つのテンプレート(例えば、複数のテンプレートのうちの1つがテンプレート(1325)である)の最も近い一致を決定することで、現在のCU(1301)の動き情報を導出できる。現在のCU(1301)のテンプレート(1321)は、任意の適切な形状と適切なサイズを持つことができる。
【0125】
実施例では、現在CU(1301)のテンプレート(1321)は、上のテンプレート(1322)と左のテンプレート(1323)を含む。上のテンプレート(1322)と左のテンプレート(1323)の各々は、任意の適切な形状と適切なサイズを持つことができる。
【0126】
上のテンプレート(1322)は、現在CU(1301)の1つ以上の上の近隣ブロック内のサンプルを含むことができる。例では、上のテンプレート(1322)は、現在CU(1301)の1つ以上の上の近隣ブロック内の4行のサンプルを含むことができる。左のテンプレート(1323)は、現在CU(1301)の1つ以上の左近隣ブロック内のサンプルを含むことができる。例では、左のテンプレート(1323)は、現在CU(1301)の1つ以上の左近隣ブロック内の4列のサンプルを含むことができる。
【0127】
参照ピクチャ(1311)の複数のテンプレートの各々(例えば、テンプレート(1325))が、現在ピクチャ(1310)のテンプレート(1321)に対応する。実施形態では、初期MV(1302)は、現在CU(1301)から参照ピクチャ(1311)の参照ブロック(1303)を指す。参照ピクチャ(1311)の複数のテンプレートの各々(例えば、テンプレート(1325))と、現在ピクチャ(1310)のテンプレート(1321)が、同一の形状及び同一のサイズを有することができる。例えば、テンプレート(1325)には、参照ピクチャ(1311)の上テンプレート(1326)と、参照ピクチャ(1311)の左テンプレート(1327)が含まれている。上テンプレート(1326)は、参照ブロック(1303)の1つ以上の上の近隣ブロック内のサンプルを含むことができる。左のテンプレート(1327)は、参照ブロック(1303)の1つ以上の左近隣ブロック内のサンプルを含むことができる。
【0128】
TMコストは、テンプレート(1321)とテンプレート(1325)に基づいて決定できる。TMコストは、テンプレート(1321)とテンプレート(1325)との間の一致を示すことができる。検索範囲(1315)内の現在CU(1301)の初期MV(1302)の周囲の検索に基づいて、最適化されたMVを決定できる。検索範囲(1315)は、任意の適切な形状と任意の適切な数の参照サンプルを持つことができる。例では、参照ピクチャ(1311)の検索範囲(1315)には、[-L、L]-pel範囲が含まれる。ここで、Lは、8(例えば、8サンプル)などの正の整数である。例えば、検索範囲(1315)に基づいて差(例えば、[0,11])が決定され、初期MV(1302)と差(例えば、[0,1])の加算によって中間MVが決定される。中間MVに基づいて、中間参照ブロックと参照ピクチャ(1311)内の対応するテンプレートを決定できる。TMコストは、テンプレート(1321)と参照ピクチャ(1311)の中間テンプレート(1311)に基づいて決定できる。TMコストは、検索範囲(1315)に基づいて決定される差(例えば、初期MV(1302)に対応する[0,0]、[0,1]等)に対応することができる。例えば、最小のTMコストに対応する差を選択し、最小のTMコストに対応する差と初期MV(1302)を和が最適化MVとなる。
【0129】
TMは適宜変更できる。例では、探索ステップサイズはAMVRモードによって決定される。例では、TMは、バイラテラルマッチングプロセスなどの他のコーディング方法とカスケード(例えば、一緒に使われる)することができる。
【0130】
例では、TMは、AMVPモードのMVP候補及び/又はマージモードのマージ候補の動き情報を精緻化するために使用される。
【0131】
開示は、TMがMMVDモードを改善するために使用されるMMVDモードに関連する態様を含む。TMは、MMVDモードでMVD候補のMV情報を精緻化するために利用することができる。TMは、MMVDモードで方向情報(例えば、方向インデックス)及び/又は距離情報(例えば距離インデックス)を導出するために利用することができる。
【0132】
例では、現在ピクチャの現在ブロックはMMVDモードでコーディングされる。現在ブロックのMVのMVPは、候補リスト(例えば、マージ候補リスト)と、候補リストの中でどの候補(例えば、マージ候補)がMVPとして使用されているかを示す情報(例えば、インデックス又はフラグ)に基づいて決定される場合がある。例えば、上記のようにフラグをマージ候補フラグにすることができる。解析された1つ以上のMVD候補は、例えば、現在ブロックのMVD情報に基づいて、MMVDモードを使用して決定することができる。
【0133】
開示の実施形態によれば、TMをMMVDモードと共に適用して、現在ブロックのMVのMVD(TM一致MVD(TM matched MVD)とも呼ばれる)を決定する。TM一致MVDを決定するために、MMVDモードで決定された1つ以上のパースされたMVD候補の周囲でTM検索手順を実行することができる。例では、現在ピクチャの現在ブロックの現在テンプレートと、TM一致MVDに対応する参照ピクチャの参照ブロックの参照テンプレートは、現在ピクチャと参照ピクチャ(例えば、現在ピクチャの現在ブロックの現在テンプレートと、参照ピクチャの各々の参照ブロックの参照テンプレート)の間のテンプレートペアの中でTMコストが最小(又は最も近い一致)である。現在ブロックのMVは、例えば、MVPとTM一致MVDを加算することによって、MVPとTM一致MVDに基づいて決定することができる。
【0134】
実施形態では、単一のMVD候補が、MMVDモードを用いて決定される。TMはMVD候補の周りで実行され、TM一致MVDを決定する。単一のMVD候補は、現在ブロックのMVD情報に基づいて決定することができる。MVD情報は、距離インデックス及び/又は方向インデックスを示すことができる。任意の適切な距離セット及び/又は任意の適切な方向セットをMMVDモードで使用することができる。どの距離セット及び/又はどの方向セットを使用して単一のMVD候補を決定するかは、事前に定義するか、又はMVD情報を含む予測情報で示すこともできる。例では、MVD情報は、表1の第1距離セットが使用され、距離インデックスが1であり、方向インデックスが00であることを示す。したがって、MVD候補は1/2のルマサンプルの大きさと、正のx軸と同じ方向を持つ。
【0135】
実施形態では、複数のMVD候補が、MMVDモードを用いて決定される。複数のMVD候補の各々の周りでTMを実行し、TMコストと、対応する更新されたMVD候補とを得ることができる。TM一致MVDは、TMコストと、対応する更新されたMVD候補とに基づいて、決定することができる。
【0136】
実施形態では、MMVDモードが使用されるときにTM手順が有効かどうかを示すTMフラグがシグナリングされる。TMフラグは、シーケンスパラメータセット(SPS)レベル、ピクチャパラメータセット(PPS)レベル、ピクチャレベル(例えば、ピクチャヘッダ(PH)内で)、スライスレベル、ブロックレベルなどでシグナリングされる。TMフラグがTMがMMVDモードで有効であることを示している場合、TMを適用してTM一致MVDを決定できる。その他の場合、TMフラグがTMがMMVDモードで有効ではないことを示している場合、TM一致MVDを決定するためにTMを適用しない。
【0137】
実施形態では、MMVDモードで使用される距離セットは、TMが現在ブロックに対して有効であるかどうかによって異なる。例えば、TMフラグがTM手順が有効であることを示している場合、表1に示されている第1距離セットと第2距離セットとは異なる距離セットがMMVDモードで使用される。
【0138】
例では、TMがMMVDモードに対して有効になっている場合、MMVDモードのMVD候補に使用可能な距離セットは、第1距離セットの1/4ルマサンプルの代わりに4ルマサンプル、又は第2距離セットの1ルマサンプルど、より大きな距離から開始される。距離セットはTMの検索範囲に基づくことができる。例えば、TMモードの検索範囲は、水平方向及び垂直方向で[-L、+L]の範囲内にあり、ここでLは正の数である。
図13に戻ると、Lが8のとき、検索範囲は[-8、8]である。距離セットの最小距離は、MMVDモードのTM手順の検索範囲に依存できる。例では、距離セットの最小距離は、距離インデックスが0であることに対応する。距離インデックス0の距離値(例えば、最短距離)が変更されると、それに応じて距離セットが変更される。表3は、MMVDモードにおける距離インデックスと複数の距離(ルマサンプル単位)の関係の例を示す。
[表3]MMVDモードにおける距離インデックスと複数の距離(ルマサンプル単位)の関係の例
【表3】
【0139】
例として、距離インデックス0に対応する距離値(例えば、距離セットにおける最小距離)は、Lと等しくなる。ここで、MMVDモードのTM手順の検索範囲は、[-L、+L]の範囲である。例えば、TM検索範囲が[-8、+8、]-pelの範囲にある場合、距離値は8ルマサンプルとなる。
【0140】
例として、距離インデックス0に対応する距離値(例えば、距離セットにおける最小距離)は、L/2のようなLの分数である。ここで、MMVDモードのTM手順の検索範囲は、[-L、+L]の範囲である。例えば、TM検索範囲が[-8、4、]-pelの範囲にある場合、距離値は8ルマサンプルとなる。
【0141】
例では、距離セットの距離の値は等差数列になる。例えば、距離の値は、各々距離インデックス0~7に対応する8、16、24、32、40、48、56、及び64である。別の例では、距離の値は、各々距離インデックス0~7に対応する4、12、20、28、36、44、52、及び60である。
【0142】
上述のように、任意の適切な距離セットをMMVDモードで使用することができる。MMVDモードで使用される距離セットには、任意の適切な数の距離及び/又は任意の適切な距離の値を含めることができる。
【0143】
上述のように、複数のMVD候補が、MMVDモードを用いて決定できる。複数のMVD候補の各々の周りでTMを実行し、TMコストと、対応する更新されたMVD候補とを得ることができる。TM一致MVDは、TMコストと、対応する更新されたMVD候補とに基づいて、決定することができる。
【0144】
実施形態では、1つ以上の方向インデックス、距離ステップ、及び/又は1つ以上の距離インデックスをTMコストに基づいて導出又はランク付け(例えば、並べ替え)することができる。
【0145】
実施形態では、複数のMVD候補は同じ方向を持つ。複数のMVD候補の方向が、MMVDモードでパースできる。例えば、MVD情報は、(例えば、方向インデックスにより)複数のMVD候補の方向を示す。複数のMVD候補の大きさ(又は距離)は、表1及び表3に示すように、距離セットに基づいて決定できる。一例では、複数のMVD候補の大きさは、各々距離セットの中の距離である。方向をパースした後、パースされた方向に沿った複数のMVD候補にTM手順を適用して、対応するTMコストと各々の更新されたMVD候補を決定できる。TM手順の検索範囲は、前述のように[-L、L]の範囲内など、任意の適切な検索範囲にすることができる。検索ステップサイズは、任意の適切なステップサイズにすることができる。例では、検索範囲はパースされた方向のような特定の方向に限定される。複数のMVD候補は、TMコストの昇順でソートされるなど、TMコストに基づいてランク付け(例えば、並べ替え)できる。例では、MVD情報は、距離インデックスのような距離情報を示す。例では、距離インデックスがシグナリングされる。TM一致MVDは、複数の並べ替えられたMVD候補の距離インデックスが示すMVD候補に対応する更新されたMVD候補であると決定できる。例では、距離インデックスはシグナリングされず、TM一致MVDは、複数の並べ替えられたMVD候補の中で最も小さいTMコストに対応する更新されたMVD候補であると決定される。
【0146】
例えば、複数のMVD候補の方向は、方向インデックス00で示される正のx軸である。複数のMVD候補の数は8である。複数のMVD候補は、表3に示すように、各々大きさ4、8、16、32、64,128,256、512ルマサンプルを持っている。TM以前は、距離インデックスと対応する距離の関係は表3で示されており、例えば、距離インデックス0は4ルマサンプルの距離値に対応している。複数のMVD候補の各々にTM手順を適用し、表4に示すような、TMコストと、各々の更新されたMVD候補とを決定する。
[表4]複数のMVD候補、TMコスト、及び対応する更新されたMVD候補との例示的な関係
【表4】
【0147】
表4の第1列は、複数のMVD候補を示している。複数のMVD候補(例えば、MVD候補0~7)は、正のx軸という同じ方向を持っている。MVD候補0~7の大きさ又は距離は、各々4、8、16、32、64、128、256、及び512ルマサンプルである。MVD候補0~7のTMコストは、各々TMコスト0~7である。対応するMVD候補0~7の更新されたMVD候補は、各々更新されたMVD候補0~7である。更新されたMVD候補(例えば、更新されたMVD候補0)の大きさは、対応するMVD候補(例えば、MVD候補0)の大きさと異なる又は同じであることも可能である。更新されたMVD候補(例えば、更新されたMVD候補0)の方向は、対応するMVD候補(例えば、MVD候補0)の方向と異なる又は同じであることも可能である。
【0148】
例として、表4のTMコストを昇順に並べると、TMコスト3、TMコスト4、TMコスト6、TMコスト0、TMコスト1、TMコスト2、TMコスト7、TMコスト5となる。TMコスト3はTMコストの中で最も小さい。表5に、表4に示すMVD候補、更新されたMVD候補、TMコストの関係を示す。
図5の行は、
図4の行と異なる。表5では、TMコストに基づいて行が並べ替えられている。
[表5]並べ替えられたMVD候補と更新されたMVD候補
【表5】
【0149】
複数のMVD候補は、TMコストの昇順でソートされるなど、TMコストに基づいてランク付け(例えば、並べ替え)できる。表6は、TMコストと対応する距離インデックスに基づいてランク付けされた(例えば、並べ替えられた)MVD候補を示している。
[表6]並べ替えられたMVD候補
【表6】
【0150】
距離インデックスが0の場合、距離インデックス0で示されるMVD候補は、表6の第1候補のように、大きさ32ルマサンプルと+x軸の方向を持つ候補である。表4又は表5に示すように、複数のMVD候補、TMコスト、及び対応する更新されたMVD候補の関係に基づいて、MVD候補に対応する更新されたMVD候補(例えば、大きさ:32、方向:+x軸)が、更新されたMVD候補3として導出される。これにより、TM一致MVDは、更新されたMVD候補3として決定される。MVD候補(例えば、大きさ:32、方向:+x軸)と更新されたMVD候補3の両方が、TMコスト3に対応する。
【0151】
実施形態では、距離インデックスはシグナリングされない。方向情報(例えば、方向インデックス)と距離ステップ情報(例えば、MMVDモードで使用される距離セットを示す)がシグナリングされる。例では、TM一致MVDは、複数のMVD候補のTMコストのうち最小TMコスト(例えば、TMコスト3)に対応する更新されたMVD候補(例えば、更新されたMVD候補3)であると決定される。例として、パースされた方向に沿った複数のMVD候補は、前述のように対応するTMコストに基づいてランク付けされる(例えば、並べ替えられる)。表6を参照すると、距離インデックスはシグナリングされない。最小のTMコストはTMコスト3である。TMコスト3は更新されたMVD候補3に対応するため、TM一致MVDは更新されたMVD候補3である。
【0152】
実施形態では、複数のMVD候補は同じ距離(又は大きさ)を有する。複数のMVD候補の距離はMMVDモードでパースできる。例えば、MVD情報は、(例えば、距離インデックスにより)複数のMVD候補の距離を示す。複数のMVD候補の方向は、表2に示すように、方向セットに基づいて決定できる。例では、表2に示すように、複数のMVD候補の方向は4つの方向である。複数のMVD候補にTM手順を適用して、対応するTMコストと各々の更新されたMVD候補を決定できる。TM手順の検索範囲は、前述のように[-L、L]の範囲内など、任意の適切な検索範囲にすることができる。検索ステップサイズは、任意の適切なステップサイズにすることができる。複数のMVD候補は、TMコストの昇順でソートされるなど、TMコストに基づいてランク付け(例えば、並べ替え)できる。例では、MVD情報は、方向インデックスのような方向情報を示す。例では、方向インデックスがシグナリングされる。TM一致MVDは、複数の並べ替えられたMVD候補の方向インデックスが示すMVD候補に対応する更新されたMVD候補であると決定できる。
【0153】
例えば、複数のMVD候補の距離は、表1の第1距離セットを指す距離インデックス5が示す8ルマサンプルである。複数のMVD候補の数は4である。複数のMVD候補は、表2に示すように、各々+x軸、-x軸、+y軸、-y軸の方向を持つ。TM以前は、方向インデックスと対応する方向の関係は表2で示されており、例えば、方向インデックス00は4ルマサンプルの+x軸の方向に対応している。複数のMVD候補の各々にTM手順を適用し、表7に示すような、TMコストと、各々の更新されたMVD候補とを決定する。
[表7]複数のMVD候補、TMコスト、及び対応する更新されたMVD候補との例示的な関係
【表7】
【0154】
表7の第1列は、複数のMVD候補を示している。複数のMVD候補(例えば、MVD候補A~D)は、8ルマサンプルという同じ距離を持っている。MVD候補A~Dの方向は各々+x軸、-x軸、+y軸、-y軸である。MVD候補A~DのTMコストは各々TMコストA~Dである。対応するMVD候補A~Dの更新されたMVD候補は、各々更新されたMVD候補A~Dである。更新されたMVD候補(例えば、更新されたMVD候補A)の大きさは、対応するMVD候補(例えば、MVD候補A)の大きさと異なる又は同じであることも可能である。更新されたMVD候補(例えば、更新されたMVD候補A)の方向は、対応するMVD候補(例えば、MVD候補A)の方向と異なる又は同じであることも可能である。
【0155】
例として、表7のTMコストを昇順に並べると、TMコストB、TMコストC、TMコストD、TMコストAとなる。TMコストBはTMコストの中で最も小さい。表8に、表7に示すMVD候補、更新されたMVD候補、TMコストの関係を示す。
図8の行は、
図7の行と異なる。表8では、TMコストに基づいて行が並べ替えられている。
[表8]並べ替えられたMVD候補と更新されたMVD候補
【表8】
【0156】
複数のMVD候補は、TMコストの昇順でソートされるなど、TMコストに基づいてランク付け(例えば、並べ替え)できる。表9は、TMコストと対応する距離インデックスに基づいてランク付けされた(例えば、並べ替えられた)MVD候補を示している。
[表9]並べ替えられたMVD候補
【表9】
【0157】
方向インデックスが0の場合、方向インデックス0で示されるMVD候補は、表9の第1候補のように、大きさ8ルマサンプルと-x軸の方向を持つ候補である。表7又は表8に示すように、複数のMVD候補、TMコスト、及び対応する更新されたMVD候補の関係に基づいて、MVD候補に対応する更新されたMVD候補(例えば、大きさ:8、方向:-x軸)が、更新されたMVD候補Bとして導出される。これにより、TM一致MVDは、更新されたMVD候補Bであると決定される。MVD候補(例えば、大きさ:8、方向:-x軸)と更新されたMVD候補Bの両方が、TMコストBに対応する。
【0158】
実施形態では、方向インデックスはシグナリングされない。例では、TM一致MVDは、複数のMVD候補のTMコストのうち最小TMコスト(例えば、TMコストB)に対応する更新されたMVD候補(例えば、更新されたMVD候補B)であると決定される。例として、同じ方向を持つ複数のMVD候補は、前述のように対応するTMコストに基づいてランク付けされる(例えば、並べ替えられる)。最小のTMコストはTMコストBである。TMコストBは更新されたMVD候補Bに対応するため、TM一致MVDは更新されたMVD候補Bである。
【0159】
図14は、本開示の一実施形態による、符号化処理(1400)の概要を示すフローチャートを示す。種々の実施形態では、処理(1400)は、端末装置(310)、(320)、(330)及び(340)内の処理回路、ビデオエンコーダ(例えば、(403)、(603)、(703))の機能を実行する処理回路、のような処理回路により実行される。幾つかの実施形態では、処理(1400)は、ソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路が処理(1400)を実行する。処理は(S1401)で開始、し、(S1410)に進む。
【0160】
(S1410)で、現在ブロックの1つ以上の動きベクトル差(MVD)候補を、動きベクトル差によるマージモード(MMVD)を使用して決定することができる。MMVDモードとテンプレートマッチング(TM)モードを一緒に使用して、現在ブロックを符号化する。
【0161】
(S1420)で、1つ以上のMVD候補にTMを適用することにより、現在ブロックのMVDを決定することができる。
【0162】
実施形態では、1つ以上のMVD候補は1つのMVD候補である。MVDは、開示に記載されているように、1つのMVD候補にTMを適用することによって決定することができる。
【0163】
実施形態では、1つ以上のMVD候補は、同じ方向を持つ複数のMVD候補を含む。複数のMVD候補は、各々複数の距離を持つことができる。例では、複数のMVD候補は、複数の距離に基づいて順序付けられる。複数のMVD候補の各々についてTMを適用し、TMコストと、各々の更新されたMVD候補とを得ることができる。MVDは、TMコストと、対応する更新されたMVD候補とに基づいて、決定することができる。
【0164】
例では、複数のMVD候補のTMコストに応じて、複数のMVD候補がランク付けされる(例えば、並べ替えられる)。MVDは、対応するTMコストに基づいて、更新されたMVD候補であると決定される。
【0165】
例では、MVDは、複数のMVD候補のTMコストのうち最小TMコストに対応する更新されたMVD候補であると決定される。
【0166】
実施形態では、1つ以上のMVD候補は、同じ大きさを持つ複数のMVD候補を含む。複数のMVD候補は、各々複数の方向を持つことができる。例では、複数のMVD候補は、複数の方向に従い順序付けられる。複数のMVD候補の各々にTMを適用し、TMコストと、対応する更新されたMVD候補とを得ることができる。MVDは、TMコストと、対応する更新されたMVD候補とに基づいて、決定することができる。
【0167】
例では、MVDは、複数のMVD候補のTMコストのうち最小TMコストに対応する更新されたMVD候補であると決定される。
【0168】
(S1430)で、動きベクトル予測子(MVP)と決定されたMVDの和である動きベクトル(MV)に基づき、現在ブロックを再構成する。
【0169】
(S1440)で、現在ブロックの予測情報をビットストリームに符号化できる。予測情報は、MMVDとTMモードが現在ブロックに一緒に適用されることを示すことができる。予測情報は、現在ブロックのMVD情報を示すことができる。
【0170】
例では、符号化された現在ブロックと符号化された予測情報は、ビットストリームで送信される。
【0171】
処理(1400)は(S1499)に進み終了する。
【0172】
処理(1400)は様々なシナリオに適切に適応させることができ、それに応じて処理(1400)のステップを調整することができる。処理(1400)の1つ以上のステップは、適応、省略、反復、及び/又は組み合わせが可能である。任意の適切な順序を使用して、処理(1400)を実装することができる。追加のステップを追加できる。
【0173】
例では、TMフラグが符号化され、TMが現在ブロックに対して有効であることを示す。符号化されたビットストリームにはTMフラグを含めることができる。
【0174】
実施形態では、複数の距離は表1及び表3に記載された距離セット、又は表1及び表3に記載された距離セットのサブセットである。複数の距離の値や、距離セットの値は、TMの検索範囲に基づくことができる。例えば、TMの検索範囲は、水平方向及び垂直方向で[-L、+L]の範囲内にあり、ここでLは正の整数である。複数の距離のうち最小の距離は、L又はL/2に等しい。例では、複数の距離は等差数列になっている。
【0175】
(S1420)で説明した実施形態では、複数のMVD候補は、同じ方向又は同じ大きさを持つことができる。幾つかの例では、複数のMVD候補は、異なる方向及び異なる大きさを持つことができる。複数のMVD候補の各々にTMを適用し、TMコストと、対応する更新されたMVD候補とを得ることができる。MVDは、TMコストと、対応する更新されたMVD候補とに基づいて、決定することができる。実施形態では、更新されたMVD候補は、対応するTMコストに基づいてランク付けされる。例では、MVDは、複数のMVD候補のTMコストのうち最小TMコストに対応する更新されたMVD候補であると決定される。
【0176】
上述のように、MVDは、TMコストと、対応する更新されたMVD候補とに基づいて、決定することができる。例では、複数のMVD候補のTMコストに応じて、複数のMVD候補がランク付けされる(例えば、並べ替えられる)。MVDは、対応するTMコストに基づいて、更新されたMVD候補であると決定される。インデックス(例えば、距離インデックス又は方向インデックス)をビットストリームに符号化して、更新されたMVD候補に対応するMVD候補を示すことができ、これが決定されたMVDである。
【0177】
図15は、本開示の一実施形態による、復号処理(1500)の概要を示すフローチャートを示す。種々の実施形態では、処理(1500)は、端末装置(310)、(320)、(330)及び(340)内の処理回路、ビデオエンコーダ(403)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、ビデオデコーダ(510)の機能を実行する処理回路、ビデオエンコーダ(603)の機能を実行する処理回路、等のような処理回路により実行される。幾つかの実施形態では、処理(1500)は、ソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路が処理(1500)を実行する。処理は(S1501)で開始、し、(S1510)に進む。
【0178】
(S1510)で、コーディングされたビットストリーム内の現在ブロックの予測情報を復号できる。予測情報は、テンプレートマッチング(TM)モードを有する動きベクトル差によるマージモード(MMVD)が現在ブロックに適用されることを示すことができる。予測情報は、現在ブロックの動きベクトル差(MVD)情報を示すことができる。
【0179】
例えば、コーディングされたビットストリームは、さらにTMフラグを含み、TMフラグはTMが現在ブロックに対して有効であることを示す。
【0180】
(S1520)で、1つ以上のMVD候補は、MVD情報に基づき決定できる。
【0181】
(S1530)で、1つ以上のMVD候補にTMを適用することにより、現在ブロックのMVD(例えば、TM一致MVD)を決定することができる。実施形態では、TMを実行して、1つ以上のMVD候補に基づき、現在ブロックの現在テンプレートと現在ブロックの参照ブロックの参照テンプレートとの間の一致するMVDを検索する。例では、1つ以上のMVD候補はMVD候補であり、TMは、一致するMVDのMVD候補の周囲を検索するために実行される。例では、1つ以上のMVD候補は複数のMVD候補であり、TMは、一致するMVDの複数のMVD候補の中で検索するために実行される。例えば、TMを実行して、一致するMVDについて、複数のMVD候補の各々の周囲を検索する。
【0182】
実施形態では、1つ以上のMVD候補は1つのMVD候補である。MVD情報には、1つのMVD候補の大きさを示す距離情報と、1つのMVD候補の方向を示す方向情報が含まれる。1つのMVD候補は、MMVDモードを使用して、1つのMVD候補の大きさと1つのMVD候補の方向に基づいて決定される。MVDは、開示に記載されているように、1つのMVD候補にTMを適用することによって決定することができる。例えば、一致するMVDは、1つのMVD候補の周囲でTMを実行することによって決定できる。
【0183】
実施形態では、1つ以上のMVD候補は、同じ方向を持つ複数のMVD候補を含む。MVD情報は、複数のMVD候補の方向を示す方向情報を含む。複数のMVD候補の方向と複数の距離に基づいて、複数のMVD候補を決定することができる。例では、複数のMVD候補は、複数の距離に基づいて順序付けられる。複数のMVD候補の各々についてTMを適用し、TMコストと、各々の更新されたMVD候補とを得ることができる。一致するMVDは、TMコストと、対応する更新されたMVD候補とに基づいて、決定することができる。
【0184】
例では、MVD情報に距離インデックスが含まれている。複数のMVD候補のTMコストに応じて、複数のMVD候補がランク付けできる(例えば、並べ替えられる)。一致するMVDは、複数の並べ替えられたMVD候補の距離インデックスが示すMVD候補に対応する更新されたMVD候補であると決定できる。
【0185】
例では、距離インデックスはシグナリングされない。一致するMVDは、複数のMVD候補のTMコストのうち最小TMコストに対応する更新されたMVD候補であると決定される。
【0186】
実施形態では、1つ以上のMVD候補は、同じ大きさを持つ複数のMVD候補を含む。MVD情報は、複数のMVD候補の大きさを示す距離情報を含む。複数のMVD候補の大きさと複数の方向に基づいて、複数のMVD候補を決定することができる。例では、複数のMVD候補は、複数の方向に従い順序付けられる。複数のMVD候補の各々にTMを適用し、TMコストと、対応する更新されたMVD候補とを得ることができる。一致するMVDは、TMコストと、対応する更新されたMVD候補とに基づいて、決定することができる。
【0187】
例では、MVD情報には方向インデックスが含まれている。複数のMVD候補のTMコストに応じて、複数のMVD候補を並べ替えることができる。一致するMVDは、複数の並べ替えられたMVD候補の方向インデックスが示すMVD候補に対応する更新されたMVD候補であると決定できる。
【0188】
例では、方向インデックスはシグナリングされない。一致するMVDは、複数のMVD候補のTMコストのうち最小TMコストに対応する更新されたMVD候補であると決定される。
【0189】
代替として、1つ以上のMVD候補が複数のMVD候補を含む場合、TMを複数のMVD候補に適用して各々のTMコストを得ることができる。例えば、複数のMVD候補の間でTMを実行する。一致するMVDは、TMコスト、及び対応するMVD候補に基づき、決定することができる。例では、一致するMVDは、複数の並べ替えられたMVD候補の中の距離インデックスにより示されるMVD候補であると決定される。例では、距離インデックスはシグナリングされず、一致するMVDは、複数のMVD候補のTM一致MVDコストのうちの最も小さいTMコストに対応するMVD候補であると決定される。
【0190】
(S1540)で、現在ブロックは、動きベクトル予測子(MVP)と決定されたMVD(例えば、一致するMVD)の和である動きベクトル(MV)に基づき再構成される。
【0191】
処理(1500)は(S1599)に進み終了する。
【0192】
処理(1500)は様々なシナリオに適切に適応させることができ、それに応じて処理(1500)のステップを調整することができる。処理(1500)の1つ以上のステップは、適応、省略、反復、及び/又は組み合わせが可能である。任意の適切な順序を使用して、処理(1500)を実装することができる。追加のステップを追加できる。
【0193】
実施形態では、距離情報は、複数の距離のうちの距離を指す距離インデックスを含む。例えば、複数の距離は表1及び表3に記載された距離セット、又は表1及び表3に記載された距離セットのサブセットである。距離は、1つのMVD候補の大きさである。複数の距離の値は、TMの検索範囲に基づくことができる。例えば、TMの検索範囲は、水平方向及び垂直方向で[-L、+L]の範囲内にあり、ここでLは正の整数である。複数の距離のうち最小の距離は、L又はL/2に等しい。例では、複数の距離は等差数列になっている。
【0194】
(S1530)で説明した実施形態では、複数のMVD候補は、同じ方向又は同じ大きさを持つことができる。幾つかの例では、複数のMVD候補は、異なる方向及び異なる大きさを持つことができる。例では、複数のMVD候補は、MVD情報に基づいて、例えばMMVDモードを使用して決定される。複数のMVD候補の各々にTMを適用し、TMコストと、対応する更新されたMVD候補とを得ることができる。一致するMVDは、TMコストと、対応する更新されたMVD候補とに基づいて、決定することができる。実施形態では、更新されたMVD候補は、対応するTMコストに基づいてランク付けされる。例では、インデックスはシグナリングされ、一致するMVDは、複数のランク付けされた(例えば、並べ替えられた)MVD候補の中のインデックスにより指されたMVD候補に対応する更新されたMVD候補であると決定される。例では、一致するMVDは、複数のMVD候補のTMコストのうち最小TMコストに対応する更新されたMVD候補であると決定される。
【0195】
本開示の実施形態は、別個に使用され又は任意の順序で結合されてよい。さらに、方法(又は実施形態)、エンコーダ、及びデコーダの各々は、処理回路(例えば、1つ以上のプロセッサ、又は1つ以上の集積回路)によって実装されてもよい。一例では、1つ以上のプロセッサは、非一時的コンピュータ可読媒体に格納されたプログラムを実行する。
【0196】
上述の技術は、コンピュータ可読命令を用いてコンピュータソフトウェアとして実装でき、1つ以上のコンピュータ可読媒体に物理的に格納でる。例えば、
図16は、本開示の主題の特定の実施形態を実装するのに適するコンピュータシステム(1600)を示す。
【0197】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク等のメカニズムにより処理されて、1つ以上のコンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、等により直接又はインタープリット、マイクロコード実行、等を通じて実行可能な命令を含むコードを生成し得る、任意の適切な機械コード又はコンピュータ言語を用いてコーディングできる。
【0198】
命令は、例えばパーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム装置、モノのインターネット装置、等を含む種々のコンピュータ又はそのコンポーネントで実行できる。
【0199】
コンピュータシステム(1600)の
図16に示すコンポーネントは、本来例示であり、本開示の実施形態を実装するコンピュータソフトウェアの使用又は機能の範囲に対するようないかなる限定も示唆しない。更に、コンポーネントの構成も、コンピュータシステム(1600)の例示的な実施形態に示されたコンポーネントのうちのいずれか又は組み合わせに関連する任意の依存性又は要件を有すると解釈されるべきではない。
【0200】
コンピュータシステム(1600)は、特定のヒューマンインタフェース入力装置を含んでよい。このようなヒューマンインタフェース入力装置は、例えば感覚入力(例えば、キーストローク、スワイプ、データグラブ動作)、音声入力(例えば、音声、クラッピング)、視覚的入力(例えば、ジェスチャ)、嗅覚入力(示されない)を通じた1人以上の人間のユーザによる入力に応答してよい。ヒューマンインタフェース装置は、必ずしも人間による意識的入力に直接関連する必要のない特定の媒体、例えば音声(例えば、会話、音楽、環境音)、画像(例えば、スキャンされた画像、デジタルカメラから取得された写真画像)、ビデオ(例えば、2次元ビデオ、3次元ビデオ、立体ビデオを含む)をキャプチャするためにも使用できる。
【0201】
入力ヒューマンインタフェース装置は、キーボード(1601)、マウス(1602)、トラックパッド(1603)、タッチスクリーン(1610)、データグラブ(図示しない)、ジョイスティック(1605)、マイクロフォン(1606)、スキャナ(1607)、カメラ(1608)、のうちの1つ以上を含んでよい(そのうちの1つのみが示される)。
【0202】
コンピュータシステム(1600)は、特定のヒューマンインタフェース出力装置も含んでよい。このようなヒューマンインタフェース出力装置は、例えば感覚出力、音声、光、及び匂い/味を通じて1人以上の人間のユーザの感覚を刺激してよい。このようなヒューマンインタフェース出力装置は、感覚出力装置を含んでよい(例えば、タッチスクリーン(1610)、データグラブ(図示しない)、又はジョイスティック(1605(による感覚フィードバック、しかし入力装置として機能しない感覚フィードバック装置も存在し得る)、音声出力装置(例えば、スピーカ(1609)、ヘッドフォン(図示しない)、視覚的出力装置(例えば、スクリーン(1610)、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含み、各々タッチスクリーン入力能力を有し又は有さず、各々感覚フィードバック能力を有し又は有さず、これらのうちの幾つかは例えば立体出力、仮想現実眼鏡(図示しない)、ホログラフィックディスプレイ、及び発煙剤タンク(図示しない)、及びプリンタ(図示しない)のような手段を通じて2次元視覚出力又は3次元以上の出力を出力可能であってよい))。
【0203】
コンピュータシステム(1600)は、人間のアクセス可能な記憶装置、及び、例えばCD/DVD等の媒体(1621)を備えるCD/DVD ROM/RW(1620)を含む光学媒体、サムドライブ(1622)、取り外し可能ハードドライブ又は固体ドライブ(1623)、テープ及びフロッピディスク(図示しない)のようなレガシー磁気媒体、セキュリティドングル(図示しない)等のような専用ROM/ASIC/PLDに基づく装置のような関連する媒体も含み得る。
【0204】
当業者は、本開示の主題と関連して使用される用語「コンピュータ可読媒体」が伝送媒体、搬送波、又は他の一時的信号を包含しないことも理解すべきである。
【0205】
コンピュータシステム(1600)は、1つ以上の通信ネットワーク(1655)へのインタフェース(1654)も含み得る。ネットワークは、例えば無線、有線、光であり得る。ネットワークへは、更に、ローカル、広域、都市域、車両及び産業、リアルタイム、耐遅延性、等であり得る。ネットワークの例は、イーサネットのようなローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LTE等を含むセルラネットワーク、ケーブルTV、衛星TV、地上波放送TVを含むTV有線又は無線広域デジタルネットワーク、CANBusを含む車両及び産業、等を含む。特定のネットワークは、一般に、特定の汎用データポート又は周辺機器バス(1649)(例えば、コンピュータシステム(1600)のUSBポート)に取り付けられる外部ネットワークインタフェースを必要とする。他のものは、一般に、後述するようなシステムバスへの取り付けによりコンピュータシステム(1600)のコアに統合される(例えば、イーサネットインタフェースをPCコンピュータシステムへ、又はセルラネットワークインタフェースをスマートフォンコンピュータシステムへ)。これらのネットワークを用いて、コンピュータシステム(1600)は、他のエンティティと通信できる。このような通信は、単方向受信のみ(例えば、放送TV)、単方向送信のみ(例えば、特定のCANbus装置へのCANbus)、又は例えばローカル又は広域デジタルネットワークを用いて他のコンピュータシステムへの双方向であり得る。特定のプロトコル及びプロトコルスタックが、上述のネットワーク及びネットワークインタフェースの各々で使用され得る。
【0206】
前述のヒューマンインタフェース装置、人間のアクセス可能な記憶装置、及びネットワークインタフェースは、コンピュータシステム(1600)のコア(1640)に取り付け可能である。
【0207】
コア(1640)は、1つ以上の中央処理ユニット(CPU)(1641)、グラフィック処理ユニット(GPU)(1642)、FPGAの形式の専用プログラマブル処理ユニット(1643)、特定タスクのためのハードウェアアクセラレータ(1644)、グラフィックアダプタ(1650)、等を含み得る。これらの装置は、読み出し専用メモリ(ROM)(1645)、ランダムアクセスメモリ(1646)、内部のユーザアクセス不可能なハードドライブ、SSD、等のような内蔵大容量記憶装置(1647)と共に、システムバス(1648)を通じて接続されてよい。幾つかのコンピュータシステムでは、追加CPU、GPU、等による拡張を可能にするために、システムバス(1648)は、1つ以上の物理プラグの形式でアクセス可能である。周辺機器は、コアのシステムバス(1648)に直接に、又は周辺機器バス(1649)を通じて、取り付け可能である。例では、スクリーン(1610)は、グラフィックアダプタ(1650)に接続できる。周辺機器バスのアーキテクチャは、PCI、USB等を含む。
【0208】
CPU(1641)、GPU(1642)、FPGA(1643)、及びアクセラレータ(1644)は、結合されて前述のコンピュータコードを生成可能な特定の命令を実行できる。該コンピュータコードは、ROM(1645)又はRAM(1646)に格納できる。一時的データはRAM(1646)に格納でき、一方で、永久的データは例えば内蔵大容量記憶装置(1647)に格納できる。メモリ装置のうちのいずれかへの高速記憶及び読み出しは、CPU(1641)、GPU(1642)、大容量記憶装置(1647)、ROM(1645)、RAM(1646)等のうちの1つ以上に密接に関連付けられ得るキャッシュメモリの使用を通じて可能にできる。
【0209】
コンピュータ可読媒体は、種々のコンピュータにより実施される動作を実行するためのコンピュータコードを有し得る。媒体及びコンピュータコードは、本開示の目的のために特別に設計され構成されたものであり得、又は、コンピュータソフトウェア分野の当業者によく知られ利用可能な種類のものであり得る。
【0210】
例として及び限定ではなく、アーキテクチャを有するコンピュータシステム(1600)、及び具体的にはコア(1640)は、プロセッサ(CPU、GPU、FPGA、アクセラレータ、等を含む)が1つ以上の有形コンピュータ可読媒体内に具現化されたソフトウェアを実行した結果として、機能を提供できる。このようなコンピュータ可読媒体は、コア内蔵大容量記憶装置(1647)又はROM(1645)のような非一時的特性のコア(1640)の特定の記憶装置、及び上述のようなユーザアクセス可能な大容量記憶装置と関連付けられた媒体であり得る。本開示の種々の実施形態を実装するソフトウェアは、このような装置に格納されコア(1640)により実行できる。コンピュータ可読媒体は、特定の必要に従い、1つ以上のメモリ装置又はチップを含み得る。ソフトウェアは、コア(1640)及び具体的にはその中のプロセッサ(CPU、GPU、FPGA、等を含む)に、ソフトウェアにより定義された処理に従うRAM(1646)に格納されたデータ構造の定義及び該データ構造の変更を含む、ここに記載した特定の処理又は特定の処理の特定の部分を実行させることができる。追加又は代替として、コンピュータシステムは、ここに記載の特定の処理又は特定の処理の特定の部分を実行するためにソフトウェアと一緒に又はそれに代わって動作可能な論理ハードワイヤド又は他の回路内の実装(例えば、アクセラレータ(1644))の結果として機能を提供できる。ソフトウェアへの言及は、ロジックを含み、適切な場合にはその逆も同様である。コンピュータ可読媒体への言及は、適切な場合には、実行のためにソフトウェアを格納する(集積回路(IC)のような)回路、実行のためにロジックを実装する回路、又はそれらの両方を含み得る。本開示は、ハードウェア及びソフトウェアの任意の適切な組み合わせを含む。
付録A:用語集
JEM:joint exploration model
VVC:versatile video coding
BMS:benchmark set
MV:Motion Vector
HEVC:High Efficiency Video Coding
SEI:Supplementary Enhancement Information
VUI:Video Usability Information
GOPs:Groups of Pictures
TUs:Transform Units,
PUs:Prediction Units
CTUs:Coding Tree Units
CTBs:Coding Tree Blocks
PBs:Prediction Blocks
HRD:Hypothetical Reference Decoder
SNR:Signal Noise Ratio
CPUs:Central Processing Units
GPUs:Graphics Processing Units
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
【0211】
本開示は、幾つかの例示的な実施形態を記載したが、代替、置換、及び種々の代用の均等物が存在し、それらは本開示の範囲に包含される。当業者に明らかなことに、ここに明示的に示され又は説明されないが、本開示の原理を実施し、従って、本開示の精神及び範囲に含まれる多数のシステム及び方法を考案可能である。
【国際調査報告】