IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ テンセント・アメリカ・エルエルシーの特許一覧

特表2025-505209ビデオ復号化の方法及び装置、並びにビデオ符号化の方法
<>
  • 特表-ビデオ復号化の方法及び装置、並びにビデオ符号化の方法 図1
  • 特表-ビデオ復号化の方法及び装置、並びにビデオ符号化の方法 図2
  • 特表-ビデオ復号化の方法及び装置、並びにビデオ符号化の方法 図3
  • 特表-ビデオ復号化の方法及び装置、並びにビデオ符号化の方法 図4
  • 特表-ビデオ復号化の方法及び装置、並びにビデオ符号化の方法 図5
  • 特表-ビデオ復号化の方法及び装置、並びにビデオ符号化の方法 図6
  • 特表-ビデオ復号化の方法及び装置、並びにビデオ符号化の方法 図7
  • 特表-ビデオ復号化の方法及び装置、並びにビデオ符号化の方法 図8
  • 特表-ビデオ復号化の方法及び装置、並びにビデオ符号化の方法 図9
  • 特表-ビデオ復号化の方法及び装置、並びにビデオ符号化の方法 図10
  • 特表-ビデオ復号化の方法及び装置、並びにビデオ符号化の方法 図11
  • 特表-ビデオ復号化の方法及び装置、並びにビデオ符号化の方法 図12
  • 特表-ビデオ復号化の方法及び装置、並びにビデオ符号化の方法 図13
  • 特表-ビデオ復号化の方法及び装置、並びにビデオ符号化の方法 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-02-21
(54)【発明の名称】ビデオ復号化の方法及び装置、並びにビデオ符号化の方法
(51)【国際特許分類】
   H04N 19/11 20140101AFI20250214BHJP
   H04N 19/174 20140101ALI20250214BHJP
   H04N 19/157 20140101ALI20250214BHJP
【FI】
H04N19/11
H04N19/174
H04N19/157
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024547009
(86)(22)【出願日】2023-06-13
(85)【翻訳文提出日】2024-08-07
(86)【国際出願番号】 US2023068358
(87)【国際公開番号】W WO2024015667
(87)【国際公開日】2024-01-18
(31)【優先権主張番号】63/388,909
(32)【優先日】2022-07-13
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】18/207,587
(32)【優先日】2023-06-08
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(72)【発明者】
【氏名】ジャオ,シン
(72)【発明者】
【氏名】リー,グイチュン
(72)【発明者】
【氏名】チェン,リエン-フェイ
(72)【発明者】
【氏名】リウ,シャン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA19
5C159MA21
5C159MC11
5C159ME01
5C159NN10
5C159NN21
5C159PP04
5C159RC11
5C159TA33
5C159TB08
5C159TB09
5C159TC42
5C159TC43
5C159UA02
5C159UA05
(57)【要約】
処理回路は、TMRLモードでコーディングされているピクチャ内の現在コーディングブロックを含むビデオビットストリームを受信する。処理回路は、現在コーディングブロックのための参照ライン及びイントラ予測モードの組み合わせを決定する。組み合わせの中の第1組み合わせは第1参照ライン及び第1イントラ予測モードを含む。第1組み合わせについて、処理回路は、第1参照ライン及び第1イントラ予測モードに基づき、現在コーディングブロックのテンプレートのエントリに夫々関連したテンプレートエントリデルタ値を計算し、テンプレートエントリデルタ値の不等な重み付けによって第1テンプレートマッチングコスト値を計算する。処理回路は、組み合わせに夫々関連したテンプレートマッチングコスト値に従って組み合わせをソートし、ソートされた組み合わせから特定の組み合わせを選択し、特定の組み合わせに従って現在コーディングブロックを再構成する。
【特許請求の範囲】
【請求項1】
ビデオデコーダが実行するビデオ復号化の方法であって、
ピクチャ内の現在コーディングブロックを含むビデオビットストリームを受信するステップと、
前記現在コーディングブロックがテンプレートベース複数参照ラインイントラ予測(TMRL)モードでコーディングされていることを決定するステップと、
前記現在コーディングブロックのイントラ予測のための参照ライン及びイントラ予測モードの組み合わせを決定するステップであり、前記組み合わせの中の第1組み合わせは、前記参照ラインの中の第1参照ラインと、前記イントラ予測モードの中の第1イントラ予測モードとを含み、前記第1参照ラインは非隣接参照ラインである、ステップと、
前記第1組み合わせについて、前記第1参照ライン及び前記第1イントラ予測モードに基づき、前記現在コーディングブロックのテンプレートのエントリに夫々関連したテンプレートエントリデルタ値を計算するステップであり、前記現在コーディングブロックの前記テンプレートは隣接参照ライン内にある、ステップと、
前記テンプレートエントリデルタ値の不等な重み付けによって、前記第1組み合わせに関連した第1テンプレートマッチングコスト値を計算するステップと、
前記組み合わせに夫々関連したテンプレートマッチングコスト値に従って前記参照ライン及び前記イントラ予測モードの前記組み合わせを順序付けるステップであり、前記組み合わせに関連した前記テンプレートマッチングコスト値は、前記第1組み合わせに関連した前記第1テンプレートマッチングコスト値を含む、ステップと、
前記順序付けられた組み合わせから特定の組み合わせを選択するステップと、
前記特定の組み合わせに従って前記現在コーディングブロックを再構成するステップと
を有する方法。
【請求項2】
前記現在コーディングブロックの前記テンプレートは、前記エントリとして前記現在コーディングブロックへの近接サンプルを含み、当該方法は、
前記第1イントラ予測モードに基づき前記現在コーディングブロックの前記テンプレートに対応する前記第1参照ライン内の参照テンプレートを決定するステップを有し、前記参照テンプレートは、前記テンプレートの前記エントリに夫々対応する参照エントリを含む、
請求項1に記載の方法。
【請求項3】
前記テンプレートの前記エントリの中の第1エントリと前記参照テンプレートの前記参照エントリの中の第1参照エントリとの間の差として第1テンプレートエントリデルタ値を計算するステップであり、前記第1参照エントリは前記第1エントリに対応する、ステップと、
少なくとも前記第1エントリ及び前記第1参照エントリに基づき、前記第1テンプレートエントリデルタ値を重み付けする重みを決定するステップと
を更に有する、請求項2に記載の方法。
【請求項4】
前記第1エントリと、前記第1参照エントリと、前記第1参照エントリの1つ以上の隣接参照エントリとに基づき、前記第1テンプレートエントリデルタ値を重み付けする前記重みを決定するステップを更に有する、
請求項3に記載の方法。
【請求項5】
前記第1テンプレートエントリデルタ値と、前記テンプレートの隣接エントリに関連した1つ以上のテンプレートエントリデルタ値とに基づき、前記第1テンプレートエントリデルタ値を重み付けする前記重みを決定するステップを更に有する、
請求項3に記載の方法。
【請求項6】
少なくとも、前記第1エントリでの第1勾配値及び/又は前記第1参照エントリでの第2勾配値に基づき、前記第1テンプレートエントリデルタ値を重み付けする前記重みを決定するステップを更に有する、
請求項3に記載の方法。
【請求項7】
前記テンプレートの一部に基づき、前記第1組み合わせに関連した前記第1テンプレートマッチングコスト値を計算するステップを更に有する、
請求項2に記載の方法。
【請求項8】
前記現在コーディングブロックの上近接サンプルを含む上部テンプレートに基づき、前記第1テンプレートマッチングコスト値を計算するステップを更に有する、
請求項7に記載の方法。
【請求項9】
前記現在コーディングブロックの左近接サンプルを含む左部テンプレートに基づき、前記第1テンプレートマッチングコスト値を計算するステップを更に有する、
請求項7に記載の方法。
【請求項10】
前記テンプレートマッチングコスト値の事前定義された範囲に基づき前記組み合わせのうちのサブセットを決定するステップと、
前記組み合わせのうちの前記サブセットから前記特定の組み合わせを選択するステップと
を更に有する、請求項1に記載の方法。
【請求項11】
前記事前定義された範囲内の第1テンプレートマッチングコスト値を有する前記組み合わせのうちの第1サブセットを選択するステップと、
前記組み合わせのうちの前記第1サブセット内の第1組み合わせ数が、利用可能な組み合わせの数要件を指定する特定の数よりも少ないことに応答して、前記事前定義された範囲外の第2テンプレートマッチングコスト値を有する1つ以上の第2組み合わせを選択するステップであり、前記第1サブセット及び前記1つ以上の第2組み合わせが前記組み合わせのうちの前記サブセットを形成し、前記サブセット内の組み合わせ数は前記特定の数に等しい、ステップと
を更に有する、請求項10に記載の方法。
【請求項12】
前記事前定義された範囲内の第1テンプレートマッチングコスト値を有する前記組み合わせのうちの第1サブセットを選択するステップと、
前記組み合わせのうちの前記第1サブセット内の第1組み合わせ数が、利用可能な組み合わせの数要件を指定する特定の数よりも多いことに応答して、前記組み合わせのうちの前記第1サブセットから、前記組み合わせのうちの前記サブセットを選択するステップであり、前記サブセット内の組み合わせ数は前記特定の数に等しい、ステップと
を更に有する、請求項10に記載の方法。
【請求項13】
前記組み合わせのうちの前記サブセットを選択するステップは、
最も低いテンプレートマッチングコスト値を有する前記組み合わせのうちの前記サブセットを選択するステップを更に有する、
請求項12に記載の方法。
【請求項14】
前記組み合わせのうちの前記サブセットを選択するステップは、
前記テンプレートに対する最も近い参照ラインを有する前記組み合わせのうちの前記サブセットを選択するステップを更に有する、
請求項12に記載の方法。
【請求項15】
前記テンプレートは第2参照ライン内にあり、当該方法は、
前記テンプレートのエントリの投影点が前記第1参照ライン内の2つのサンプル間の分数位置にあることを決定するステップと、
少なくとも前記2つのサンプルに基づいた補間に従って、前記テンプレートの前記エントリに関連した参照エントリを生成するステップと
を更に有する、請求項1に記載の方法。
【請求項16】
前記特定の組み合わせを選択するステップは、
ビットストリームにおいて符号化されている前記ピクチャとともに前記ビットストリームからインデックスを復号するステップを更に有し、前記インデックスは、前記順序付けられた組み合わせからの前記特定の組み合わせを示す、
請求項1に記載の方法。
【請求項17】
処理回路を有し、前記処理回路は、ソフトウェア命令を実行するよう構成され、該ソフトウェア命令は、前記処理回路によって実行される場合に、前記処理回路に、請求項1乃至16のうちいずれか一項に記載の方法を実行させる、
装置。
【請求項18】
ビデオエンコーダが実行するビデオ符号化の方法であって、
ピクチャ内の現在コーディングブロックのイントラ予測のための参照ライン及びイントラ予測モードの組み合わせを決定するステップであり、前記組み合わせの中の第1組み合わせは、前記参照ラインの中の第1参照ラインと、前記イントラ予測モードの中の第1イントラ予測モードとを含み、前記第1参照ラインは非隣接参照ラインである、ステップと、
前記第1組み合わせについて、前記第1参照ライン及び前記第1イントラ予測モードに基づき、前記現在コーディングブロックのテンプレートのエントリに夫々関連したテンプレートエントリデルタ値を計算するステップであり、前記現在コーディングブロックの前記テンプレートは隣接参照ライン内にある、ステップと、
前記テンプレートエントリデルタ値の不等な重み付けによって、前記第1組み合わせに関連した第1テンプレートマッチングコスト値を計算するステップと、
前記組み合わせに夫々関連したテンプレートマッチングコスト値に従って前記参照ライン及び前記イントラ予測モードの前記組み合わせをソートするステップであり、前記組み合わせに関連した前記テンプレートマッチングコスト値は、前記第1組み合わせに関連した前記第1テンプレートマッチングコスト値を含む、ステップと、
前記ソートされた組み合わせから特定の組み合わせを選択するステップと、
前記特定の組み合わせを示す信号を、前記ピクチャの符号化された情報を運ぶビットストリームに符号化するステップと
を有する方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ビデオコーディングに概して関係がある実施形態について記載する。
【背景技術】
【0002】
本明細書中で与えられている背景の説明は、本開示の背景を一般的に提示することを目的とするものである。現在指名されている発明者の研究は、その研究がこの背景の項で説明されている範囲で、及び出願時に先行技術としてさもなければ適格でない可能性がある説明の側面は、本開示に対する先行技術として明示的にも暗黙的にも認められない。
【0003】
画像/映像圧縮は、最低限の品質低下で、異なるデバイス、記憶装置及びネットワーク間で画像/映像ファイルを伝送するのを助けることができる。いくつかの例で、ビデオコーデック技術は、空間的及び時間的な冗長性に基づいてビデオ圧縮することができる。例において、ビデオコーデックは、空間的な冗長性に基づき画像を圧縮することができるイントラ予測と呼ばれる技術を使用することができる。例えば、イントラ予測は、サンプル予測のために、再構成中の現在ピクチャから参照データを使用することができる。他の例では、ビデオコーデックは、時間的な冗長性に基づき画像を圧縮することができるインター予測と呼ばれる技術を使用することができる。例えば、インター予測は、動き補償により、前に再構成されたピクチャから現在ピクチャ内のサンプルを予測することができる。動き補償は、一般的に、動きベクトル(Motion Vector,MV)によって示される。
【発明の概要】
【0004】
本開示の態様は、ビデオ符号化/復号化のための方法及び装置を提供する。いくつかの例で、ビデオ復号化のための装置は受信回路及び処理回路を含む。処理回路は、ピクチャ内の現在コーディングブロックを含むビデオビットストリームを受信し、現在コーディングブロックがテンプレートベース複数参照ラインイントラ予測(Template-based Multiple Reference Line intra prediction,TMRL)モードでコーディングされていることを決定する。処理回路は、ピクチャ内の現在コーディングブロックのイントラ予測のための参照ライン及びイントラ予測モードの組み合わせを決定する。前記組み合わせの中の第1組み合わせは、前記参照ラインの中の第1参照ラインと、前記イントラ予測モードの中の第1イントラ予測モードとを含む。第1参照ラインは非隣接(non-adjacent)参照ラインである。第1組み合わせについて、処理回路は、第1参照ライン及び第1イントラ予測モードに基づき、現在コーディングブロックのテンプレートのエントリに夫々関連したテンプレートエントリデルタ値を計算し、テンプレートエントリデルタ値の不等な重み付けによって、第1組み合わせに関連した第1テンプレートマッチングコスト値を計算する。現在コーディングブロックのテンプレートは隣接参照ライン内にある。処理回路は、前記組み合わせに夫々関連したテンプレートマッチングコスト値に従って、参照ライン及びイントラ予測モードの前記組み合わせをソートする。組み合わせに関連したテンプレートマッチングコスト値は、第1組み合わせに関連した第1テンプレートマッチングコスト値を含む。処理回路は、ソートされた組み合わせから特定の組み合わせを選択し、特定の組み合わせに従って現在コーディングブロックを再構成する。
【0005】
いくつかの例で、現在コーディングブロックのテンプレートは、エントリとして現在コーディングブロックへの近接サンプルを含み、処理回路は、第1イントラ予測モードに基づき現在コーディングブロックのテンプレートに対応する第1参照ライン内の参照テンプレートを決定し、参照テンプレートは、前記テンプレートのエントリに夫々対応する参照エントリを含む。
【0006】
更に、いくつかの例で、処理回路は、前記テンプレートのエントリの中の第1エントリと前記参照テンプレートの参照エントリの中の第1参照エントリとの間の差として第1テンプレートエントリデルタ値を計算し、第1参照エントリは第1エントリに対応する。処理回路は、少なくとも第1エントリ及び第1参照エントリに基づき、第1テンプレートエントリデルタ値を重み付けする重みを決定する。
【0007】
いくつかの例で、処理回路は、第1エントリと、第1参照エントリと、第1参照エントリの1つ以上の隣接参照エントリとに基づき、第1テンプレートエントリデルタ値を重み付けする重みを決定する。
【0008】
いくつかの例で、処理回路は、第1テンプレートエントリデルタ値と、前記テンプレートの隣接エントリに関連した1つ以上のテンプレートエントリデルタ値とに基づき、第1テンプレートエントリデルタ値を重み付けする重みを決定する。
【0009】
いくつかの例で、処理回路は、少なくとも第1エントリでの第1勾配値及び/又は第1参照エントリでの第2勾配値に基づき、第1テンプレートエントリデルタ値を重み付けする重みを決定する。
【0010】
いくつかの例で、処理回路は、テンプレートの一部に基づき、第1組み合わせに関連した第1テンプレートマッチングコスト値を計算する。
【0011】
例において、処理回路は、現在コーディングブロックの上近接サンプルを含む上部テンプレートに基づき、第1テンプレートマッチングコスト値を計算する。
【0012】
例において、処理回路は、現在コーディングブロックの左近接サンプルを含む左部テンプレートに基づき、第1テンプレートマッチングコスト値を計算する。
【0013】
いくつかの例で、処理回路は、テンプレートマッチングコスト値の事前定義された範囲に基づき前記組み合わせのうちのサブセットを決定し、前記組み合わせのうちの前記サブセットから特定の組み合わせを選択する。
【0014】
例において、処理回路は、事前定義された範囲内の第1テンプレートマッチングコスト値を有する前記組み合わせのうちの第1サブセットを選択し、前記組み合わせのうちの前記第1サブセット内の第1組み合わせ数が、利用可能な組み合わせの数要件を指定する特定の数よりも少ないことに応答して、事前定義された範囲外の第2テンプレートマッチングコスト値を有する1つ以上の第2組み合わせを選択し、第1サブセット及び1つ以上の第2組み合わせが前記組み合わせのうちの前記サブセットを形成し、前記サブセット内の組み合わせ数は特定の数に等しい。
【0015】
他の例では、処理回路は、事前定義された範囲内の第1テンプレートマッチングコスト値を有する前記組み合わせのうちの第1サブセットを選択し、前記組み合わせのうちの前記第1サブセット内の第1組み合わせ数が、利用可能な組み合わせの数要件を指定する特定の数よりも多いことに応答して、前記組み合わせのうちの第1サブセットから、前記組み合わせのうちの前記サブセットを選択し、前記サブセット内の組み合わせ数は特定の数に等しい。例えば、処理回路は、最も低いテンプレートマッチングコスト値を有する前記組み合わせのうちの前記サブセットを選択するか、あるいは、前記テンプレートに対する最も近い参照ラインを有する前記組み合わせのうちの前記サブセットを選択する。
【0016】
いくつかの例で、前記テンプレートは第2参照ライン内にあり、処理回路は、前記テンプレートのエントリの投影点が第1参照ライン内の2つのサンプル間の分数位置にあることを決定し、少なくとも前記2つのサンプルに基づいた補間に従って、前記テンプレートのエントリに関連した参照エントリを生成する。
【0017】
いくつかの例で、特定の組み合わせを選択するために、処理回路は、ビットストリームにおいて符号化されている前記ピクチャとともに前記ビットストリームからインデックスを復号し、インデックスは、前記ソートされた組み合わせからの前記特定の組み合わせを示す。
【0018】
開示の態様は、ビデオ復号化のためにコンピュータによって実行される場合に、コンピュータに、ビデオ復号化の方法を実行させる命令を記憶している非一時的なコンピュータ可読媒体も提供する。
【0019】
開示されている対象の更なる特徴、性質、及び様々な利点は、以下の詳細な説明及び添付の図面からより明らかになる。
【図面の簡単な説明】
【0020】
図1】通信システム(100)の例示的なブロック図の概略図である。
図2】デコーダの例示的なブロック図の概略図である。
図3】エンコーダの例示的なブロック図の概略図である。
図4】いくつかの例におけるイントラ予測モードの図を示す。
図5】いくつかの例におけるイントラ予測モードの図を示す。
図6】いくつかの例における、最確モードリストを生成する擬似コードを示す。
図7】いくつかの例における複数参照ラインの図を示す。
図8】いくつかの例におけるテンプレートベース複数参照ラインイントラ予測モードを説明する図を示す。
図9】いくつかの例における、テンプレートベース複数参照ラインイントラ予測モードでの二値化プロセス及びコードワードの表を示す。
図10】いくつかの例における参照ラインのテンプレートの図を示す。
図11】いくつかの例における参照ラインのテンプレートの他の図を示す。
図12】本開示のいくつかの実施形態に係るプロセスを説明するフローチャートを示す。
図13】本開示のいくつかの実施形態に従う他のプロセスを説明するフローチャートを示す。
図14】実施形態に従うコンピュータシステムの概略図である。
【発明を実施するための形態】
【0021】
図1は、開示されている対象の応用例として、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダを表す。開示されている対象は、例えば、ビデオ会議、デジタルTV、ストリーミングサービス、CD、DVD、メモリスティックなどを含むデジタル媒体上での圧縮されたビデオの記憶、などを含む他のビデオ対応用途に同様に適用可能であることができる。
【0022】
ビデオ処理システム(100)は、例えば、圧縮されていないビデオピクチャのストリーム(102)を生成するビデオソース(101)、例えば、デジタルカメラ、を含むことができる捕捉サブシステム(113)を含んでもよい。例において、ビデオピクチャのストリーム(102)は、デジタルカメラによって撮影されたサンプルを含む。ビデオピクチャのストリーム(102)は、符号化されたビデオデータ(104)(又はコーディングされたビデオビットストリーム)と比較して高いデータボリュームを強調するために太線で表されており、ビデオソース(101)に結合されているビデオエンコーダ(103)を含む電子デバイス(120)によって処理され得る。ビデオエンコーダ(103)は、以下で更に詳細に記載されるように、開示されている対象の態様を可能にする又は実装するためのハードウェア、ソフトウェア、又はそれらの組み合わせを含むことができる。符号化されたビデオデータ(104)(又は符号化されたビデオビットストリーム)は、ビデオピクチャのストリーム(102)と比較してより低いデータボリュームを強調するために細線で表されており、将来の使用のためにストリーミングサーバ(105)に記憶され得る。図1のクライアントサブシステム(106)及び(108)などの1つ以上のストリーミングクライアントサブシステムは、符号化されたビデオデータ(104)のコピー(107)及び(109)を読み出すためにストリーミングサーバ(105)にアクセスすることができる。クライアントサブシステム(106)は、例えば電子デバイス(130)において、ビデオデコーダ(110)を含むことができる。ビデオデコーダ(110)は、符号化されたビデオデータの入来するコピー(107)を復号し、ディスプレイ(112)(例えば、表示スクリーン)又は他のレンダリングデバイス(図示せず。)でレンダリングされ得るビデオピクチャの送出ストリーム(111)を生成する。いくつかのストリーミングシステムにおいて、符号化されたビデオデータ(104)、(107)、及び(109)(例えば、ビデオビットストリーム)は、特定のビデオコーディング/圧縮規格に従って符号化され得る。そのような規格の例には、ITU-T推奨H.265がある。例において、開発中のビデオコーディング規格は、Versatile Video Coding(VVC)として俗に知られている。開示されている対象は、VVCに関連して使用されてもよい。
【0023】
なお、電子デバイス(120)及び(130)は、他のコンポーネント(図示せず。)を含むことができる。例えば、電子デバイス(120)は、ビデオデコーダ(図示せず。)を含むことができ、電子デバイス(130)は、ビデオエンコーダ(図示せず。)を同様に含むことができる。
【0024】
図2は、ビデオデコーダ(210)の例示的なブロック図を示す。ビデオデコーダ(210)は電子デバイス(230)に含まれ得る。電子デバイス(230)は受信器(231)(例えば、受信回路)を含むことができる。ビデオデコーダ(210)は、図1の例のビデオデコーダ(110)の代わりに使用され得る。
【0025】
受信器(231)は、ビデオデコーダ(210)によって復号されるべき1つ以上のコーディングされたビデオシーケンスを受信してもよい。実施形態において、一度に1つのコーディングされたビデオシーケンスが受信され、夫々のコーディングされたビデオシーケンスの復号化は、他のコーディングされたビデオシーケンスの復号化から独立している。コーディングされたビデオシーケンスはチャネル(201)から受信されてよく、チャネル(201)は、符号化されたビデオデータを記憶している記憶デバイスへのハードウェア/ソフトウェアリンクであってよい。受信器(231)は、符号化されたビデオデータを他のデータ、例えばコーディングされたオーディオデータ及び/又は補助的なデータストリームとともに受信してもよく、それらは、それらの各々の使用エンティティ(図示せず。)へ転送されてもよい。受信器(231)は、コーディングされたビデオシーケンスを他のデータから分離してもよい。ネットワークジッタに対抗するために、バッファメモリ(215)が受信器(231)とエントロピデコーダ/パーサ(220)(以降「パーサ(220)」)との間に結合されてもよい。特定の用途では、バッファメモリ(215)はビデオデコーダ(210)の部分である。他では、それはビデオデコーダ(210)の外にあることができる(図示せず。)。更に他では、例えば、ネットワークジッタに対抗するための、ビデオデコーダ(210)の外にあるバッファメモリ(図示せず。)と、加えて、例えば、再生タイミングを操作するための、ビデオデコーダ(210)内のもう1つのバッファメモリ(215)とが存在することができる。受信器(231)が十分なバンド幅及び可制御性の記憶/転送デバイスから、又はアイソシンクロナス(isosynchronous)ネットワークからデータを受信しているときに、バッファメモリ(215)は必要とされなくてもよく、あるいは、小さくてよい。インターネットなどのベストエフォートのパケットネットワークでの使用のために、バッファメモリ(215)は必要とされる場合があり、比較的に大きく、かつ、有利なことには、適応サイズであることができ、少なくとも部分的にビデオデコーダ(210)の外のオペレーティングシステム又は同様の要素(図示せず。)において実装されてもよい。
【0026】
ビデオデコーダ(210)は、コーディングされたビデオシーケンスからシンボル(221)を再構成するためのパーサ(220)を含んでもよい。それらのシンボルのカテゴリは、ビデオデコーダ(210)の動作を管理するために使用される情報と、潜在的に、電子デバイス(230)の必須部分でないが、図2に示されているように、電子デバイス(230)へ結合され得るレンダーデバイス(212)(例えば、表示スクリーン)などのレンダリングデバイスを制御するための情報とを含む。レンダリングデバイスのための制御情報は、Supplemental Enhancement Information(SEI)メッセージ又はVideo Usability Information(VUI)パラメータセットフラグメント(図示せず。)の形をとってよい。パーサ(220)は、受信されたコーディングされたビデオシーケンスをパース/エントロピ復号化し得る。コーディングされたビデオシーケンスのコーディングは、ビデオコーディング技術又は標準規格に従うことができ、可変長コーディング、ハフマンコーディング、文脈依存による又はよらない算術コーディング、などを含む様々な原理に従うことができる。パーサ(220)は、コーディングされたビデオシーケンスから、ビデオデコーダにおけるピクセルのサブグループのうちの少なくとも1つについてのサブグループパラメータの組を、そのグループに対応する少なくとも1つのパラメータに基づいて抽出し得る。サブグループは、グループ・オブ・ピクチャ(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)、などを含むことができる。パーサ(220)はまた、コーディングされたビデオシーケンス情報から、変換係数、量子化パラメータ値、動きベクトル、などの情報も抽出し得る。
【0027】
パーサ(220)は、シンボル(221)を生成するために、バッファメモリ(215)から受信されたビデオシーケンスに対してエントロピ復号化/パーシング動作を実行してもよい。
【0028】
シンボル(221)の再構成は、コーディングされたビデオピクチャ又はその部分(例えば、インター及びイントラピクチャ、インター及びイントラブロック)のタイプ及び他の因子に応じて多数の異なるユニットを有することができる。どのユニットがどのように含まれるかは、コーディングされたビデオシーケンスからパーサ(220)によってパースされたサブグループ制御情報によって制御され得る。パーサ(220)と以下の複数のユニットとの間のそのようなサブグループ制御情報のフローは、明りょうさのために表されていない。
【0029】
既に述べられた機能ブロックを超えて、ビデオデコーダ(210)は、概念的に、以下で説明される多数の機能ユニットに細分され得る。商業上の制約の下で動作する実際の実施では、それらのユニットの多くが互いに密に相互作用し、少なくとも部分的に互いに組み込まれ得る。しかし、開示されている対象を説明することを目的として、以下での機能ユニットへの概念的細分は適切である。
【0030】
第1ユニットはスケーラ/逆変換ユニット(251)である。スケーラ/逆変換ユニット(251)は、パーサ(220)からシンボル(221)として、量子化された変換係数とともに、どの変換を使用すべきか、ブロックサイズ、量子化係数、量子化スケーリングマトリクスなどを含む制御情報を受信する。スケーラ/逆変換ユニット(251)は、アグリゲータ(255)に入力することができるサンプル値を含むブロックを出力することができる。
【0031】
いくつかの場合に、スケーラ/逆変換器(251)の出力サンプルは、イントラコーディングされたブロックに関係することができる。イントラコーディングされたブロックは、前に再構成されたピクチャからの予測情報を使用していないが、現在のピクチャの前に再構成された部分からの予測情報を使用することができるブロックである。かような予測情報はイントラピクチャ予測ユニット(252)によって供給され得る。いくつかの場合に、イントラピクチャ予測ユニット(252)は、現在ピクチャバッファ(258)からフェッチされた周囲の既に再構成された情報を用いて、再構成中のブロックと同じサイズ及び形状のブロックを生成する。現在ピクチャバッファ(258)は、例えば、部分的に再構成された現在のピクチャ及び/又は完全に再構成された現在のピクチャをバッファリングする。アグリゲータ(255)は、いくつかの場合に、サンプルごとに、イントラ予測ユニット(252)が生成した予測情報を、スケーラ/逆変換ユニット(251)によって供給される出力サンプル情報に加える。
【0032】
他の場合では、スケーラ/逆変換ユニット(251)の出力サンプルは、インターコーディングされた、そして潜在的に動き補償されたブロックに関係することができる。かような場合に、動き補償予測ユニット(253)は、予測のために使用されるサンプルをフェッチするために参照ピクチャメモリ(257)にアクセスすることができる。ブロックに関係するシンボル(221)に従って、フェッチされたサンプルを動き補償した後に、それらのサンプルは、出力サンプル情報を生成するために、アグリゲータ(255)によって、スケーラ/逆変換ユニット(251)の出力(この場合に、残差サンプル又は残差信号と呼ばれる。)に加えられ得る。動き補償予測ユニット(253)が予測サンプルをフェッチする参照ピクチャメモリ(257)内のアドレスは、例えばX、Y及び参照ピクチャコンポーネントを有することができるシンボル(221)の形で動き補償予測ユニット(253)が利用することができる動きベクトルによって制御され得る。動き補償はまた、サブサンプルの正確な動きベクトルが使用されているときに参照ピクチャメモリ(257)からフェッチされたサンプル値の補間や、動きベクトル予測メカニズムなども含むことができる。
【0033】
アグリゲータ(255)の出力サンプルは、ループフィルタユニット(256)において様々なループフィルタリング技術を受けることができる。ビデオ圧縮技術は、インループフィルタ技術を含むことができる。この技術は、コーディングされたビデオシーケンス(コーディングされたビデオビットストリームとも呼ばれる。)に含まれており、パーサ(220)からのシンボル(221)としてループフィルタユニット(256)に利用可能にされたパラメータによって制御される。ビデオ圧縮はまた、コーディングされたピクチャ又はコーディングされたビデオシーケンスの(復号化順序において)前の部分の復号化中に得られたメタ情報にも応答することができ、更には、前に構成されたループフィルタ処理されたサンプル値に応答することもできる。
【0034】
ループフィルタユニット(256)の出力は、レンダーデバイス(212)へ出力され、更には、将来のインターピクチャ予測における使用のために参照ピクチャメモリ(257)に記憶され得るサンプルストリームであることができる。
【0035】
特定のコーディングされたピクチャは、完全に再構成されると、将来の予測のための参照ピクチャとして使用され得る。例えば、現在のピクチャに対応するコーディングされたピクチャが完全に再構成され、コーディングされたピクチャが(例えば、パーサ(220)によって)参照ピクチャとして識別されると、現在ピクチャバッファ(258)は、参照ピクチャメモリ(257)の部分になることができ、未使用の現在ピクチャバッファは、後続のコーディングされたピクチャの再構成を開始する前に再割り当てされ得る。
【0036】
ビデオデコーダ(210)は、ITU-T推奨H.265などの規格における所定のビデオ圧縮技術又は標準規格に従って復号化動作を実行してよい。コーディングされたビデオシーケンスは、そのコーディングされたビデオシーケンスが、ビデオ圧縮技術又は標準規格のシンタックス及びビデオ圧縮技術又は標準規格において文書化されているプロファイルの両方に従うという意味で、使用中のビデオ圧縮技術又は標準規格によって規定されたシンタックスに従い得る。具体的には、プロファイルは、ビデオ圧縮技術又は標準規格で利用可能な全てのツールからそのプロファイルの下での使用のために利用可能な唯一のツールとして特定のツールを選択することができる。また、コーディングされたビデオシーケンスの複雑さは、ビデオ圧縮技術又は標準規格のレベルによって定義されている境界内にあることが、順守のために必要である。いくつかの場合に、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば、メガサンプル/秒で測定される。)、最大参照ピクチャサイズ、などを制限する。レベルによって設定される制限は、いくつかの場合に、Hypothetical Reference Decoder(HRD)仕様と、コーディングされたビデオシーケンスにおいて通知されるHRDバッファ管理のためのメタデータとを通じて更に制限され得る。
【0037】
実施形態において、受信器(231)は、符号化されたビデオとともに、追加の(冗長な)データを受信してもよい。追加のデータは、コーディングされたビデオシーケンスの部分としても含まれてもよい。追加のデータは、ビデオデコーダ(210)によって、データを適切に復号するために及び/又は原ビデオデータをより正確に再構成するために使用されてよい。追加のデータは、例えば、時間、空間、又は信号対雑音比(SNR)エンハンスメントレイヤ、冗長スライス、冗長ピクチャ、前方誤り訂正符号、などの形をとることができる。
【0038】
図3は、ビデオエンコーダ(303)の例示的なブロック図を示す。ビデオエンコーダ(303)は電子デバイス(320)に含まれている。電子デバイス(320)は送信器(340)(例えば、送信回路)を含む。ビデオエンコーダ(303)は、図1の例のビデオエンコーダ(103)の代わりに使用され得る。
【0039】
ビデオエンコーダ(303)は、ビデオエンコーダ(303)によってコーディングされるべきビデオ画像を捕捉し得るビデオソース(301)(図3の例では電子デバイス(320)の部分ではない。)からビデオサンプルを受信してもよい。他の例では、ビデオソース(301)は電子デバイス(320)の部分である。
【0040】
ビデオソース(301)は、任意の適切なビットデプス(例えば、8ビット、10ビット、12ビットなど)、任意の色空間(例えば、BT.601 YCrCB、RGBなど)、及び任意の適切なサンプリング構造(例えば、YCrCb 4:2:0、YCrCb 4:4:4)であることができるデジタルビデオサンプルストリームの形で、ビデオエンコーダ(303)によってコーディングされるべきソースビデオシーケンスを供給し得る。メディアサービングシステムでは、ビデオソース(301)は、予め準備されたビデオを記憶している記憶デバイスであってもよい。ビデオ会議システムでは、ビデオソース(301)は、ローカル画像情報をビデオシーケンスとして捕捉するカメラであってもよい。ビデオデータは、順に見られる場合に動きを授ける複数の個別ピクチャとして供給されてもよい。ピクチャそれ自体はピクセルの空間アレイとして編成されてもよく、各ピクセルは、使用中のサンプリング構造、色空間、などに応じて1つ以上のサンプルを有することができる。当業者であれば、ピクセルとサンプルとの間の関係を容易に理解することができる。本明細書は、以下、サンプルに焦点を当てる。
【0041】
実施形態に従って、ビデオエンコーダ(303)は、実時間において、又は必要とされる任意の他の時間制約の下で、ソースビデオシーケンスのピクチャを、コーディングされたビデオシーケンス(343)へとコーディング及び圧縮し得る。適切なコーディング速度を強いることはコントローラ(350)の一機能である。いくつかの実施形態において、コントローラ(350)は、以下で記載されるような他の機能ユニットを制御し、他の機能ユニットへ機能的に結合される。結合は明りょうさのために表されていない。コントローラ(350)によってセットされるパラメータには、レート制御に関連したパラメータ(ピクチャスキップ、量子化器、レートひずみ最適化技術のラムダ値、など)、ピクチャサイズ、グループ・オブ・ピクチャ(GOP)レイアウト、最大動きベクトル探索範囲、などが含まれ得る。コントローラ(350)は、特定のシステム設計のために最適化されたビデオエンコーダ(303)に関係する他の適切な機能を有するよう構成され得る。
【0042】
いくつかの実施形態において、ビデオエンコーダ(303)は、コーディングループで動作するよう構成される。過度に単純化された記載として、例において、コーディングループは、ソースコーダ(330)(例えば、コーディングされるべき入力ピクチャと、参照ピクチャとに基づいて、シンボルストリームなどのシンボルを生成することに関与する。)と、ビデオエンコーダ(303)に埋め込まれている(ローカル)デコーダ(333)とを含むことができる。デコーダ(333)は、(遠隔の)デコーダも生成することになるのと同様の方法でサンプルデータを生成するようにシンボルを再構成する。その再構成されたサンプルストリーム(サンプルデータ)は参照ピクチャメモリ(334)に入力される。シンボルストリームの復号化は、デコーダの場所(ローカル又は遠隔)に依存しないビットパーフェクト(bit-exact)な結果をもたらすので、参照ピクチャメモリ(334)内のコンテンツも、ローカルのエンコーダと遠隔のエンコーダとの間でビットパーフェクトである。言い換えれば、エンコーダの予測部分は、デコーダが復号化中に予測を使用するときに“見る”ことになるのとまさに同じサンプル値を参照ピクチャサンプルとして“見る”。参照ピクチャのシンクロニシティ(及び、例えばチャネルエラーのために、シンクロニシティが維持され得ない場合に、結果として生じるドリフト)のこの基本原理は、いくつかの関連技術でも使用されている。
【0043】
“ローカル”のデコーダ(333)の動作は、図2とともに先に詳細に既に説明されている、ビデオデコーダ(210)などの“遠隔”のデコーダと同じであることができる。一時的に図2も参照すると、しかしながら、シンボルが利用可能であり、エントロピコーダ(345)及びパーサ(220)によるコーディングされたビデオシーケンスへのシンボルの符号化/復号化が可逆であることができるということで、バッファメモリ(215)及びパーサ(220)を含むビデオデコーダ(210)のエントロピ復号化部分は、ローカルのデコーダ(333)では完全には実装されなくてもよい。
【0044】
実施形態において、デコーダに存在するパーシング/エントロピ復号化を除いたデコーダ技術は、同じか又は実質的に同じ機能形態で、対応するエンコーダにおいて存在する。従って、開示されている対象はデコーダの動作に焦点を当てる。エンコーダ技術の説明は、それらが包括的に記載されているデコーダ技術の逆であるということで、省略され得る。特定の範囲において、より詳細な説明が以下で与えられている。
【0045】
動作中、いくつかの例では、ソースコーダ(330)は、動き補償された予測コーディングを実行してもよい。これは、「参照ピクチャ」として指定されたビデオシーケンスからの1つ以上の前にコーディングされたピクチャを参照して予測的に入力ピクチャをコーディングする。このようにして、コーディングエンジン(332)は、入力ピクチャに対する予測参照として選択され得る参照ピクチャのピクセルブロックと入力ピクチャのピクセルブロックとの間の差をコーディングする。
【0046】
ローカルのビデオデコーダ(333)は、ソースコーダ(330)によって生成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャのコーディングされたビデオデータを復号化し得る。コーディングエンジン(332)の動作は、有利なことに、不可逆プロセスであってよい。コーディングされたビデオデータがビデオデコーダ(図3には図示せず。)で復号され得るとき、再構成されたビデオシーケンスは、通常は、いくらかのエラーを伴ったソースビデオシーケンスの複製となる。ローカルのビデオデコーダ(333)は、参照ピクチャに対してビデオデコーダによって実行され得る復号化プロセスを再現し、再構成された参照ピクチャが参照ピクチャキャッシュ(334)に格納されるようにしてもよい。このように、ビデオエンコーダ(303)は、(伝送エラーなしで)遠端のビデオデコーダによって取得されることになる再構成された参照ピクチャと共通の内容を有している再構成された参照ピクチャのコピーをローカルで記憶し得る。
【0047】
予測器(335)は、コーディングエンジン(332)のための予測探索を実行し得る。すなわち、新しいピクチャがコーディングされるために、予測器(335)は、その新しいピクチャのための適切な予測基準となり得る参照ピクチャ動きベクトル、ブロック形状、などの特定のメタデータ又は(候補参照ピクセルブロックとしての)サンプルデータを参照ピクチャメモリ(334)から探し得る。予測器(335)は、適切な予測基準を見つけるためにサンプルブロック・バイ・ピクセルブロックベース(sample block-by-pixel block basis)で動作してもよい。いくつかの場合に、予測器(335)によって取得された探索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(334)に記憶されている複数の参照ピクチャから引き出された予測基準を有してもよい。
【0048】
コントローラ(350)は、例えば、ビデオデータを符号化するために使用されるパラメータ及びサブグループパラメータの設定を含め、ソースコーダ(330)のコーディング動作を管理してもよい。
【0049】
上記の全ての機能ユニットの出力は、エントロピコーダ(345)においてエントロピコーディングを受け得る。エントロピコーダ(345)は、ハフマンコーディング、可変長コーディング、算術コーディングなどの技術に従ってシンボルを可逆圧縮することによって、様々な機能ユニットによって生成されたシンボルを、コーディングされたビデオシーケンスへと変換する。
【0050】
送信器(340)は、エントロピコーダ(345)によって生成されたコーディングされたビデオシーケンスを、通信チャネル(360)を介した伝送のために準備するようにバッファリングしてよい。通信チャネル(360)は、符号化されたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクであってよい。送信器(340)は、ビデオコーダ(303)からのコーディングされたビデオデータを、送信されるべき他のデータ、例えば、コーディングされたオーディオデータ及び/又は補助的なデータストリーム(ソースは図示せず。)とマージしてもよい。
【0051】
コントローラ(350)は、ビデオエンコーダ(303)の動作を管理してもよい。コーディング中、コントローラ(350)は、各々のピクチャに適用され得るコーディング技術に影響を及ぼす可能性がある特定のコーディングされたピクチャタイプを夫々のコーディングされたピクチャに割り当ててよい。例えば、ピクチャはしばしば、次のピクチャタイプのうちの1つとして割り当てられてよい。
【0052】
イントラピクチャ(Intra Picture)(Iピクチャ)は、予測のソースとしてシーケンス内の如何なる他のピクチャも使用せずに符号化及び復号化され得るピクチャであってよい。いくつかのビデオコーデックは、例えば、独立したデコーダリフレッシュ(Independent Decoder Refresh;IDR)ピクチャを含む種々のタイプのイントラピクチャを許容する。当業者であれば、Iピクチャのそのような変形並びにそれらの各々の応用及び特徴に気づく。
【0053】
予測ピクチャ(Predictive Picture)(Pピクチャ)は、各ブロックのサンプル値を予測するために多くても1つの動きベクトル及び参照インデックスを用いてイントラ予測又はインター予測により符号化及び復号化され得るピクチャであってよい。
【0054】
双方向予測ピクチャ(Bi-directionally Predictive Picture)(Bピクチャ)は、各ブロックのサンプル値を予測するために多くても2つの動きベクトル及び参照インデックスを使用するイントラ予測又はインター予測を用いて符号化及び復号化され得るピクチャであってよい。同様に、多重予測ピクチャ(multiple-predictive picture(s))は、単一のブロックの再構成のために2つよりも多い参照ピクチャ及び関連するメタデータを使用することができる。
【0055】
ソースピクチャは、一般に、複数のサンプルブロック(例えば、夫々、4×4、8×8、4×8、又は16×16のサンプルのブロック)に空間的に細分され、ブロックごとにコーディングされてよい。ブロックは、ブロックの各々のピクチャに適用されているコーディング割り当てによって決定される他の(既にコーディングされた)ブロックを参照して予測的にコーディングされてよい。例えば、Iピクチャのブロックは、非予測的にコーディングされてよく、あるいは、それらは、同じピクチャの既にコーディングされたブロックを参照して予測的にコーディングされてもよい(空間予測又はイントラ予測)。Pピクチャのピクセルブロックは、1つの前にコーディングされた参照ピクチャを参照して空間予測により又は時間予測により、予測的にコーディングされてよい。Bピクチャのブロックは、1つ又は2つの前にコーディングされた参照ピクチャを参照して空間予測により又は時間予測により、予測的にコーディングされてよい。
【0056】
ビデオエンコーダ(303)は、ITU-T推奨H.265のような所定のビデオコーディング技術又は標準規格に従ってコーディング動作を実行してもよい。その動作中に、ビデオエンコーダ(303)は、入力ビデオシーケンスにおける時間的及び空間的冗長性を利用する予測コーディング動作を含む様々な圧縮動作を実行してよい。従って、コーディングされたビデオデータは、使用されているビデオコーディング技術又は標準規格によって定められているシンタックスに従い得る。
【0057】
実施形態において、送信器(340)は、符号化されたビデオとともに追加のデータを送信してもよい。ソースコーダ(330)は、コーディングされたビデオシーケンスの部分としてそのようなデータを含めてもよい。追加のデータは、時間/空間/SNRエンハンスメントレイヤ、冗長ピクチャ及びスライスなどの他の形式の冗長データ、SEIメッセージ、VUIパラメータセットフラグメント、などを有してもよい。
【0058】
ビデオは、時間シーケンスにおいて複数のソースピクチャ(ビデオピクチャ)として捕捉されてよい。イントラピクチャ予測(しばしばイントラ予測と省略される。)は、所与のピクチャにおける空間的相関を利用し、インターピクチャ予測は、ピクチャ間の(時間又は他の)相関を利用する。例において、現在ピクチャと呼ばれる、符号化/復号化中の特定のピクチャは、ブロックにパーティション化される。現在ピクチャ内のあるブロックが、ビデオ内の前にコーディングされた依然としてバッファリングされている参照ピクチャ内の参照ブロックと類似している場合に、現在ピクチャ内のそのブロックは、動きベクトルと呼ばれるベクトルによってコーディングされ得る。動きベクトルは、参照ピクチャ内の参照ブロックを指し示し、複数の参照ピクチャが使用されている場合には、参照ピクチャを識別する第3の次元を有することができる。
【0059】
いくつかの実施形態において、双予測技術がインターピクチャ予測において使用され得る。双予測技術に従って、2つの参照ピクチャ、例えば、ビデオ内で現在ピクチャに対して復号化順序において両方とも先行する(しかし、表示順序では、夫々、過去及び将来にあってよい。)第1参照ピクチャ及び第2参照ピクチャが、使用される。現在ピクチャ内のあるブロックは、第1参照ピクチャ内の第1参照ブロックを指し示す第1動きベクトルと、第2参照ピクチャ内の第2参照ブロックを指し示す第2動きベクトルとによって、コーディングされ得る。そのブロックは、第1参照ブロック及び第2参照ブロックの組み合わせによって予測可能である。
【0060】
更に、マージモード技術が、コーディング効率を向上させるためにインターピクチャ予測において使用され得る。
【0061】
本開示のいくつかの実施形態に従って、インターピクチャ予測及びイントラピクチャ予測などの予測は、ブロックのユニットにおいて実行される。例えば、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は、1つのルーマ予測ブロック(PB)及び2つのクロマPBを含む。実施形態において、コーディング(符号化/復号化)における予測動作は予測ブロックの単位で実行される。予測ブロックの例としてルーマ予測ブロックを使用すると、予測ブロックは、8×8ピクセル、16×16ピクセル、8×16ピクセル、16×8ピクセルなどのような、ピクセルの値(例えば、ルーマ値)の行列を含む。
【0062】
なお、ビデオエンコーダ(103)及び(303)並びにビデオデコーダ(110)及び(210)は、如何なる適切な技術によっても実装可能である。実施形態において、ビデオエンコーダ(103)及び(303)並びにビデオデコーダ(110)及び(210)は、1つ以上の集積回路を用いて実装可能である。他の実施形態では、ビデオエンコーダ(103)及び(303)並びにビデオデコーダ(110)及び(210)は、ソフトウェア命令を実行する1つ以上のプロセッサを用いて実装可能である。
【0063】
本開示の態様は、複数参照ラインイントラ予測のためのテンプレートマッチングの技術を提供する。
【0064】
図4は、HEVCなどのいくつかの例におけるイントラ予測モードの図を示す。例えば、HEVCは全部で35個のイントラ予測モード(例えば、モード0~モード34)を使用する。35個のイントラ予測モードの中で、一部のモードは指向性モードであり、一部のモードは非指向性モードである。いくつかの例で、モード0及びモード1は非指向性モードであり、例えば、モード0はプレーナー(Planar)モードであり、モード1はDCモードである。更に、モード2からモード34は指向性モードであることができ、例えば、モード10破水平モードであり、モード26は垂直モードであり、モード2、モード18及びモード34は対角モードである、など。コーディングブロック内のサンプルの値は、同じピクチャ内の近接する参照サンプル及びコーディングブロックのイントラ予測モードに従って決定される。例において、DCモードでは、平均値が、同じピクチャ内の参照サンプルを平均することによって計算され、平坦な表面に使用できる。他の例において、プレーナーモードでは、コーディングブロック内の各サンプルの値は、近接するブロックの境界サンプルから導出された水平及び垂直平滑勾配を持った振幅表面を仮定して計算される。いくつかの例で、参照サンプルは、コーディングブロックの直ぐ上にある行内の隣接サンプルを含み、且つ/あるいは、コーディングブロックの直ぐ左の列内の隣接サンプルを含む。
【0065】
いくつかの例で、イントラ予測モードは、最確モード(Most Propable Mode(s),MPM)のリストに基づいてシグナリングされる。例えば、コーディングブロックについて、MPMリストが決定される。例において、MPMリストは、35個のイントラ予測モードからの3つのモードを含む。その場合に、コーディングブロックの特定のイントラ予測モードがMPMリスト内の3つのモードのうちの1つであるとき、3つのモードのうちの当該1つを示すインデックスがシグナリングのために使用される。コーディングブロックの特定のイントラ予測モードがMPMリスト内の3つのモードのうちの1つではないとき、残りのモード(32個のモード)からの1つを示すインデックスがシグナリングのために使用される。いくつかの例で、MPMリストは、6、10、などの他の適切な数のモードを含むことができる。
【0066】
ただし、他の適切な数のイントラ予測モードが使用されもよい。
【0067】
図5は、VVCなどのいくつかの例におけるイントラ予測モードの図を示す。いくつかの例で、VVCは、モード-14からモード80などの全部で95個のイントラ予測モードを使用することができる。95個のイントラ予測モードの中で、モード0はプレーナーモードであり、モード1はDCモードであり、モード18は水平モードであり、モード50は垂直モードであり、モード2、モード34及びモード66は対角モードである。モード-1から-14及びモード64から80は、いくつかの例では広角イントラ予測(Wide-Angle Intra Prediction,WAIP)モードと呼ばれる。
【0068】
いくつかの例で、コーディングブロック(例えば、コーディングユニットのルーマブロック、クロマブロック)のイントラモード(イントラ予測モードとも呼ばれる。)をコーディングするために、サイズ3の最確モード(MPM)リストが、コーディングブロックの近接ブロックのイントラモードに基づき構築される。MPMリストは、MPMリスト又は一次MPMリストと呼ばれ得る。コーディングブロックのイントラモードがMPMリストからではない場合、イントラモードがMPMリスト内の選択されたモードに属するかどうかを示すためにフラグがシグナリングされる。
【0069】
図6は、いくつかの例における、MPMリストを生成するための擬似コード(pseudo codes)を示す。図6の例では、leftIntraDirは、(現在コーディングブロックに隣接している)左ブロックのイントラモードを示すために使用され、aboveIntraDirは、(現在コーディングブロックに隣接している)上ブロックのイントラモードを示すために使用される。例において、左又は上ブロックが現在利用可能でない場合、leftIntraDir又はaboveIntraDirは、DC_IDX(DCモードのインデックス)にセットされ得る。いくつかの例で、図6の変数「offset」及び「mod」は、夫々29及び32にセットされる定数値である。
【0070】
いくつかの関連する例では、コーディングブロックのイントラ予測のための参照サンプルは、コーディングブロックの直ぐ隣に位置している。参照サンプルによって形成されているコーディングブロックの近接部分は、参照ラインと呼ばれ得る。
【0071】
本開示の態様に従って、複数ラインイントラ予測と呼ばれる技術は、イントラ予測のためにより多くの参照ラインを使用することができる。いくつかの例で、エンコーダは、イントラ予測子を生成するためにどの参照ラインが使用されるかを決定し通知する。例において、参照ラインインデックスは、イントラ予測モードの前にシグナリングされ、最確モードのみが、非ゼロの参照ラインインデックスがシグナリングされる場合に許される。
【0072】
図7は、いくつかの例における複数参照ラインの図を示す。図7では、コーディングブロック(710)の4つの参照ラインが示されている。参照ライン0とも呼ばれる第1参照ライン(720)は、コーディングブロック(710)の直ぐ上にある参照サンプルの行と、コーディングブロック(710)の直ぐ左の参照サンプルの列とを含む。参照ライン1とも呼ばれる第2参照ライン(730)は、第1参照ライン(720)の直ぐ上にある参照サンプルの行と、第1参照ライン(720)の直ぐ左の参照サンプルの列とを含む。参照ライン2とも呼ばれる第3参照ライン(740)は、第2参照ライン(730)の直ぐ上にある参照サンプルの行と、第2参照ライン(730)の直ぐ左の参照サンプルの列とを含む。参照ライン3とも呼ばれる第4参照ライン(750)は、第3参照ライン(740)の直ぐ上にある参照サンプルの行と、第3参照ライン(740)の直ぐ左の参照サンプルの列とを含む。更に、各参照ラインは、Tによって示される左上参照サンプルとともに、セグメントA~Fによって示されるような6つのセグメントから成る。いくつかの例で、セグメントA及びセグメントFは、夫々セグメントB及びFからの最も近いサンプルでパディングされる。
【0073】
いくつかの例で、テンプレートベース複数参照ラインイントラ予測(TMRL)モードと呼ばれる技術が使用され得る。TMRLモードは4つの側面を含む。
【0074】
いくつかの例で、TMRLモードの第1の側面について、2つの候補リストが使用され、1つは参照ライン用であり、もう1つはイントラ予測モード用である。例において、拡張参照ライン候補リスト及びイントラ予測モード候補リストが使用される。例えば、拡張参照ライン候補リストは{1,3,5,7,12}を含む。CTUの一番上の行に対する制限は不変である。例において、イントラ予測モード候補リストのサイズは10である。イントラ予測モード候補リストの構成はMPMと同様である。MPMに対するイントラ予測モード候補の違いは、プレーナーモードがイントラ予測モード候補リストから除外されている点である。
【0075】
いくつかの例で、TMRLモードの第2の側面について、TMRL組み合わせリストが構成される。例において、拡張参照ラインと許可されたイントラ予測モードとの組み合わせは、コーディングブロックについて構成され得る。各組み合わせには、拡張参照ライン候補リストから選択された参照ラインと、イントラ予測モード候補リストから選択されたイントラ予測モードとが含まれる。例において、5つの参照ラインがコーディングブロックの拡張参照ライン候補リスト内にあり、10個のイントラ予測モードがコーディングブロックのイントラ予測モード候補リスト内にあるので、その場合、50個の組み合わせが当該コーディングブロックについて構成され得る。
【0076】
いくつかの例で、拡張参照ラインは参照ライン1から始まり、参照ライン0によってカバーされるエリアはテンプレートマッチングのために使用される。
【0077】
図8は、いくつかの例におけるテンプレートベース複数参照ラインイントラ予測モードを説明する図を示す。図8は、参照ライン0(820)、参照ライン1(830)、参照ライン2(840)、参照ライン3(850)などの参照ラインとともに現在コーディングブロック(810)を示す。参照ライン0(820)によってカバーされるエリアに基づいて、テンプレートエリアは、上部テンプレート、左部テンプレート、上部テンプレートと左部テンプレートを含むテンプレート、などのように定義され得る。ただし、いくつかの例で、現在コーディングブロック(810)をコーディングする時点で、テンプレートエリアは既に再構成されている。
【0078】
いくつかの例で、拡張参照ラインと許可されたイントラ予測モードとの50個の組み合わせの夫々について、テンプレートエリアの投影が、当該組み合わせの参照ライン及びイントラ予測モードに従って生成され得る。更に、差分絶対値和(SAD)コストなどのテンプレートマッチングコストが、テンプレートエリアの投影とテンプレートエリアとの間で計算される。例において、コストが最も低い最初の20個の組み合わせは、組み合わせ候補リストを形成するようコスト昇順で組み合わせからプルーニングされる。
【0079】
いくつかの例で、TMRLの第3の側面はTMRLのシグナリングに関係がある。ECM又はVTMなどのいくつかの例で、複数参照ライン(MRL)は、一次MPMリストからの非プレーナーイントラ予測モードと組み合わされる。拡張参照ラインが選択される場合、最大6個までのコンテキストコーディングされたビン(context-coded bins)及び3つの等確率(equi-probable)(EP)ビンが、MRLとMPMインデックスとの組み合わせを表すために使用され得る。いくつかの例で、TMRLモードでは、除数4によるトランケーテッドGolomb-Riceコーディングが、組み合わせリストからの選択された組み合わせをコーディングするために用いられる。
【0080】
図9は、いくつかの例におけるTMRLモードでの二値化プロセス及びコードワードの表を示す。
【0081】
いくつかの例で、TMRLの第4の側面は、エンコーダ側の変更に関係がある。例において、エンコーダ側の変更は、コーディング効率を更に向上させるために実行される。例において、8×8よりも大きいイントラブロックの場合、より多くのフルレートひずみ最適化(RDO)が、変換された差の絶対値の合計(SATD)コストを閾値と比較した後に、選択されたイントラ予測モードに対して許され得る。
【0082】
本開示のいくつかの態様は、TMRLのための技術を提供する。
【0083】
以下の説明では、コーディングブロックの最も近い参照ラインのラインインデックスは0であり、最も近い参照ラインは、ゼロ参照ライン又は隣接参照ラインとも呼ばれ、他の参照ラインは、非ゼロ参照ライン又は非隣接参照ラインと呼ばれる。
【0084】
以下の説明では、テンプレートは、現在コーディングブロックの特定の参照ライン内の上近接サンプル、左近接サンプル、右近接サンプル及び下近接サンプルを参照し得る。
【0085】
図10は、いくつかの例における参照ラインのテンプレートの図を示す。図10の例では、参照ライン0のテンプレートは(1020)によって示されており、現在コーディングブロック(1010)のテンプレートとも呼ばれ、参照ライン1のテンプレートは(1030)によって示されており、参照ライン2のテンプレートは(1040)によって示されている。
【0086】
図11は、いくつかの例における参照ラインのテンプレートの他の図を示す。図11の例では、参照ライン0の上部テンプレートは(1125)によって示されており、現在コーディングブロック(1110)の上部テンプレートとも呼ばれる。例において、イントラ予測モードによって指示され得る予測方向(1135)に従って、上部テンプレート(1125)は非ゼロ参照ラインに投影され得る。非ゼロ参照ライン内の投影されたテンプレートは、いくつかの例では参照テンプレートとも呼ばれる。例えば、予測方向(1135)に基づいて、上部テンプレート(1125)は、参照ライン2の上部テンプレート(1145)に投影される。上部テンプレート(1145)は、予測方向に従う参照ライン2内の上部テンプレート(1125)の投影である。
【0087】
図11の例では、参照ライン0の左部テンプレートは(1155)によって示されており、現在コーディングブロック(1110)の左部テンプレートとも呼ばれる。例において、予測方向(1165)に従って、左部テンプレート(1155)は非ゼロ参照ラインに投影され得る。非ゼロ参照ライン内の投影されたテンプレートは、いくつかの例では参照テンプレートとも呼ばれる。例えば、予測方向(1165)に基づいて、左部テンプレート(1155)は、参照ライン2の左部テンプレート(1175)に投影される。左部テンプレート(1175)は、予測方向に従う左部テンプレート(1155)の投影である。
【0088】
本開示のいくつかの態様に従って、TMRL方法に加えて重み付けが適用される。いくつかの例で、参照ライン0のテンプレートはtemplateで表記され、参照ラインi(iはゼロではない。)のテンプレート(参照テンプレートとも呼ばれる。)はtemplateで表記され、エントリインデックスx(例えば、参照ライン0のテンプレート内のサンプル位置x)での2つのテンプレートの差はtemplatedelta(x)で表記され、式(1)に従って計算され得る:
【数1】
【0089】
本開示のいくつかの態様に従って、重み付けは、参照テンプレートのコストを計算するためにtemplatedeltaの各エントリに適用される。
【0090】
いくつかの例で、重み付けは、例えば式(2)に従って、テンプレートマッチングコストを計算する前に、templatedelta内の各エントリに適用される:
【数2】
ここで、weight(x)は、テンプレートにおいて位置xに位置するエントリに適用される重みを表し、fは、差分絶対値和(SAD)、二乗和誤差(SSE)、平均平方和(MSE)、変換された差の絶対値の合計(SATD)などを含むがそれらに限られないコスト関数である。
【0091】
実施形態において、エントリx(サンプル位置xとも呼ばれる。)の重み値は、参照ライン0のテンプレート及び参照ラインiの参照テンプレート内のサンプル値と、エントリxに対する隣接位置のサンプル値とに依存する。
【0092】
他の実施形態では、エントリxの重み値は、参照ライン0のテンプレート及び位置x及び隣接位置、例えば位置x-1及び/又は位置x+1に位置している参照ラインiの参照テンプレート内のサンプル値間の差に依存する。
【0093】
他の実施形態では、エントリxの重み値は、参照ライン0のテンプレート及び位置xに位置している参照ラインiの参照テンプレート内のサンプルの勾配値に依存する。
【0094】
いくつかの例で、予測方向に応じて、テンプレートの部分が、テンプレートマッチングコストを計算するために使用される。
【0095】
実施形態において、予測方向が例えば垂直である場合、参照サンプルは、上側で隣接している再構成されたサンプルに由来し、例えば、上部テンプレートがコストの計算に使用され得る。例において、垂直方向(垂直イントラ予測モード)のインデックスは50であり、垂直方向のインデックスに対する予測方向(イントラ予測モード)のインデックスの絶対差は閾値(例えば、6)よりも小さく、その場合、上部テンプレートがテンプレートマッチングコストの計算に使用され得る。
【0096】
他の実施形態では、予測方向が例えば水平である場合、すなわち、参照サンプルは、左側で隣接している再構成されたサンプルに由来し、例えば、左部テンプレートが使用される。例において、水平方向(水平イントラ予測モード)のインデックスは18であり、水平方向のインデックスに対する予測方向(イントラ予測モード)のインデックスの絶対差は閾値(例えば、6)よりも小さく、その場合、左部テンプレートがテンプレートマッチングコストの計算に使用され得る。
【0097】
他の実施形態では、予測方向が水平方向と垂直方向との間である場合、すなわち、参照サンプルは、上側及び左側の両方で隣接している再構成されたサンプルに由来し、例えば、上部テンプレート及び左部テンプレートがテンプレートマッチングコストの計算に使用される。
【0098】
いくつかの例で、参照サンプルが再構成された後、平滑化プロセスが参照サンプルに適用されてもよい。いくつかの実施形態で、平滑化プロセス前の再構成された参照サンプルは、テンプレートマッチングコストを計算するために使用される。
【0099】
いくつかの実施形態で、候補参照ラインとイントラ予測モードとの組み合わせに関連したテンプレートマッチングコストが計算された後、事前定義された範囲[a,b]内にあるテンプレートマッチングコストが選択され、事前定義された範囲[a,b]内の選択されたテンプレートマッチングコストに関連した、候補参照ラインとイントラ予測モードとの組み合わせが、現在コーディングブロックに利用可能であると決定される。例において、a及びbは両方とも、0よりも大きい値である。
【0100】
いくつかの実施形態で、テンプレートマッチングコストが[a,b]内である、候補参照ラインとイントラ予測モードとの組み合わせの数がNに満たない場合、Nは利用可能な組み合わせの必要数を示し、テンプレートマッチングコストが[a,b]の範囲外である、候補参照ラインとイントラ予測モードとの組み合わせが、利用可能な組み合わせの数がNであるようにするために、利用可能な組み合わせに追加され得る。
【0101】
いくつかの実施形態で、テンプレートマッチングコストが[a,b]内である、候補参照ラインとイントラ予測モードとの組み合わせの数がNよりも多い場合、Nは利用可能な組み合わせの必要数を示し、参照ライン0により近い(つまり、より低いテンプレートマッチングコストを持った)、候補参照ラインとイントラ予測モードとの最初のN個の組み合わせのみが、利用可能な組み合わせとして選択される。
【0102】
本開示の態様に従って、参照ラインi及び参照ラインjなどの2つの参照ラインの間でテンプレートマッチングコストを計算するために、参照ラインi内のテンプレートの整数サンプルを参照ラインjに投影すること、又は参照ラインj内のテンプレートの整数サンプルを参照ラインiに投影することによって、補間が適用されてもよい。
【0103】
いくつかの例で、投影点が参照ライン内の2つの整数サンプル間の分数位置にある場合、補間は、分数サンプル値を生成するよう適用される。
【0104】
いくつかの例で、補間方法は、角度(指向性)イントラ予測における補間プロセスで使用されると同じであってよい。
【0105】
いくつかの例で、補間方法は、角度(指向性)イントラ予測で使用される補間と比較して異なる補間であってもよい。例えば、補間方法には、双線形補間、4タップキュービック補間、最近傍整数、などがある。
【0106】
図12は、本開示の実施形態に従うプロセス(1200)を説明するフローチャートを示す。プロセス(1200)はビデオエンコーダで使用され得る。様々な実施形態で、プロセス(1200)は、ビデオエンコーダ(203)の機能を実行する処理回路、ビデオエンコーダ(303)の機能を実行する処理回路、などのような処理回路によって実行される。いくつかの実施形態で、プロセス(1200)は、ソフトウェア命令で実施されるので、処理回路がソフトウェア命令を実行するとき、処理回路はプロセス(1200)を実行する。プロセス(1200)は(S1201)から始まって、(S1210)へ進む。
【0107】
(S1210)で、ピクチャ内の現在コーディングブロックのイントラ予測のための参照ライン及びイントラ予測モードの組み合わせが決定される。例において、現在コーディングブロックは、イントラ予測によってコーディングされていると決定される。参照ラインの第1候補リストが決定され、イントラ予測モードの第2候補リストが決定される。次いで、参照ラインとイントラ予測モードとの組み合わせが決定される。前記組み合わせの中の各組み合わせは、前記参照ラインの中の参照ラインと、前記イントラ予測モードの中のイントラ予測モードとを含む。例えば、前記組み合わせの中の第1組み合わせは、前記参照ラインの中の第1参照ラインと、前記イントラ予測モードの中の第1イントラ予測モードとを含む。
【0108】
(S1220)で、第1組み合わせについて、現在コーディングブロックのテンプレートのエントリに夫々関連したテンプレートエントリデルタ値が、第1参照ライン及び第1イントラ予測モードに基づき計算される。
【0109】
(S1230)で、第1組み合わせに関連した第1テンプレートマッチングコスト値が、テンプレートエントリデルタ値の不等な重み付けによって計算される。
【0110】
(S1240)で、参照ライン及びイントラ予測モードの前記組み合わせが、前記組み合わせに夫々関連したテンプレートマッチングコスト値に従ってソートされる。前記組み合わせに関連したテンプレートマッチングコスト値は、第1組み合わせに関連した第1テンプレートマッチングコスト値を含む。
【0111】
(S1250)で、特定の組み合わせが、ソートされた組み合わせから選択される。例えば、特定の組み合わせは、レートひずみ最適化に基づき選択される。
【0112】
(S1260)で、特定の組み合わせを示す信号が、ピクチャの符号化された情報を運ぶビットストリームにおいて符号化される。
【0113】
いくつかの実施形態で、現在コーディングブロックのテンプレートは、エントリとして現在コーディングブロックへの近接サンプル(例えば、参照ライン0内)を含む。現在コーディングブロックのテンプレートに対応する第1参照ライン内の参照テンプレートが第1イントラ予測モードに基づき決定され、参照テンプレートは、テンプレートのエントリに夫々対応する参照エントリを含む。
【0114】
いくつかの実施形態で、第1テンプレートエントリデルタ値が、テンプレートのエントリの中の第1エントリと参照テンプレートの参照エントリの中の第1参照エントリとの間の差として計算される。いくつかの例で、第1テンプレートエントリデルタ値を重み付けする重みが、少なくとも第1エントリ及び第1参照エントリに基づき決定される。
【0115】
いくつかの例で、第1テンプレートエントリデルタ値を重み付けする重みは、第1エントリと、第1参照エントリと、第1参照エントリの1つ以上の隣接参照エントリとに基づき決定される。
【0116】
いくつかの例で、第1テンプレートエントリデルタ値を重み付けする重みは、第1テンプレートエントリデルタ値と、テンプレートの隣接エントリに関連した1つ以上のテンプレートエントリデルタ値とに基づき決定される。
【0117】
いくつかの例で、第1テンプレートエントリデルタ値を重み付けする重みは、少なくとも第1エントリでの第1勾配値及び/又は第1参照エントリでの第2勾配値に基づき決定される。
【0118】
いくつかの例で、参照ライン0内の近接サンプルの一部は、テンプレートマッチングコスト値を計算するために使用される。例において、テンプレートマッチングコスト値は、現在コーディングブロックの上部テンプレート(例えば、上近接サンプルを含む。)に従って計算される。他の例では、テンプレートマッチングコスト値は、現在コーディングブロックの左部テンプレート(例えば、左近接サンプルを含む。)に従って計算される。
【0119】
いくつかの実施形態で、前記組み合わせのサブセットが、テンプレートマッチングコスト値の事前定義された範囲に基づき決定され、特定の組み合わせは、前記組み合わせのうちの前記サブセットから選択される。
【0120】
いくつかの例で、事前定義された範囲内の第1テンプレートマッチングコスト値を有する前記組み合わせのうちの第1サブセットが決定される。例において、前記組み合わせのうちの前記第1サブセット内の第1組み合わせ数が、利用可能な組み合わせの数要件を指定する特定の数よりも少ないことに応答して、事前定義された範囲外の第2テンプレートマッチングコスト値を有する1つ以上の第2組み合わせが選択され、第1サブセット及び1つ以上の第2組み合わせは前記組み合わせのうちの前記サブセットを形成し、前記サブセット内の組み合わせ数は前記特定の数に等しい。
【0121】
他の例では、前記組み合わせのうちの前記第1サブセット内の第1組み合わせ数が、利用可能な組み合わせの数要件を指定する特定の数よりも多いことに応答して、前記組み合わせのうちの前記サブセットは前記組み合わせのうちの前記第1サブセットから選択され、前記サブセット内の組み合わせ数は前記特定の数に等しい。例えば、最も低いテンプレートマッチングコスト値を有する前記組み合わせのうちの前記サブセットが、第1サブセットから選択される。他の例では、テンプレートに対する最も近い参照ラインを有する前記組み合わせのうちの前記サブセットが、第1サブセットから選択される。
【0122】
いくつかの例で、テンプレートは第2参照ライン内にあり、テンプレートのエントリの投影点は第1参照ライン内の2つのサンプル間の分数位置にあり、テンプレートのエントリに関連した参照エントリは、少なくとも前記2つのサンプルに基づいた補間に従って生成される。
【0123】
それから、プロセスは(S1299)へ進んで終了する。
【0124】
プロセス(1200)は適切に適応され得る。プロセス(1200)のステップは変更及び/又は省略され得る。追加のステップが加えられ得る。実施の如何なる適切な順序も使用され得る。
【0125】
図13は、本開示の実施形態に従うプロセス(1300)を説明するフローチャートを示す。プロセス(1300)はビデオデコーダで使用され得る。様々な実施形態で、プロセス(1300)は、ビデオデコーダ(110)の機能を実行する処理回路、ビデオデコーダ(210)の機能を実行する処理回路、などのような処理回路によって実行される。いくつかの実施形態で、プロセス(1300)は、ソフトウェア命令で実施されるので、処理回路がソフトウェア命令を実行するとき、処理回路はプロセス(1300)を実行する。プロセス(1300)は(S1301)から始まって、(S1310)へ進む。
【0126】
(S1310)で、ピクチャ内の現在コーディングブロックのイントラ予測のための参照ライン及びイントラ予測モードの組み合わせが決定される。例において、参照ラインの第1候補リストが決定され、イントラ予測モードの第2候補リストが決定される。次いで、参照ラインとイントラ予測モードとの組み合わせが決定される。前記組み合わせの中の各組み合わせは、前記参照ラインの中の参照ラインと、前記イントラ予測モードの中のイントラ予測モードとを含む。例えば、前記組み合わせのうちの第1組み合わせは、前記参照ラインの中の第1参照ラインと、前記イントラ予測モードの中の第1イントラ予測モードとを含む。
【0127】
(S1320)で、第1組み合わせについて、現在コーディングブロックのテンプレートのエントリに夫々関連したテンプレートエントリデルタ値が、第1参照ライン及び第1イントラ予測モードに基づき計算される。
【0128】
(S1330)で、第1組み合わせに関連した第1テンプレートマッチングコスト値が、テンプレートエントリデルタ値の不等な重み付けによって計算される。
【0129】
(S1340)で、前記参照ライン及び前記イントラ予測モードの前記組み合わせが、前記組み合わせに夫々関連したテンプレートマッチングコスト値に従ってソートされる。前記組み合わせに関連したテンプレートマッチングコスト値は、第1組み合わせに関連した第1テンプレートマッチングコスト値を含む。
【0130】
(S1350)で、特定の組み合わせが、ソートされた組み合わせから選択される。いくつかの例で、ソートされた組み合わせの中の特定の組み合わせのインデックスを示す信号は復号され、特定の組み合わせは、復号された信号に基づき選択される。
【0131】
(S1360)で、現在コーディングブロックは、参照ライン及びイントラ予測モードを含む前記特定の組み合わせに従って再構成される。
【0132】
いくつかの実施形態で、現在コーディングブロックの前記テンプレートは、エントリとして現在コーディングブロックへの近接サンプルを含む。現在コーディングブロックのテンプレートに対応する第1参照ライン内の参照テンプレートが第1イントラ予測モードに基づき決定され、参照テンプレートは、テンプレートの前記エントリに夫々対応する参照エントリを含む。
【0133】
いくつかの実施形態で、第1テンプレートエントリデルタ値が、テンプレートのエントリの中の第1エントリと参照テンプレートの参照エントリの中の第1参照エントリとの間の差として計算され、第1参照エントリは第1エントリに対応する。いくつかの例で、第1テンプレートエントリデルタ値を重み付けする重みが、少なくとも第1エントリ及び第1参照エントリに基づき決定される。
【0134】
いくつかの例で、第1テンプレートエントリデルタ値を重み付けする重みは、第1エントリと、第1参照エントリと、第1参照エントリの1つ以上の隣接参照エントリとに基づき決定される。
【0135】
いくつかの例で、第1テンプレートエントリデルタ値を重み付けする重みは、第1テンプレートエントリデルタ値と、テンプレートの隣接エントリに関連した1つ以上のテンプレートエントリデルタ値とに基づき決定される。
【0136】
いくつかの例で、第1テンプレートエントリデルタ値を重み付けする重みは、少なくとも第1エントリでの第1勾配値及び/又は第1参照エントリでの第2勾配値に基づき決定される。
【0137】
いくつかの例で、参照ライン0内の近接サンプルの一部が、テンプレートマッチングコスト値を計算するために使用される。例において、テンプレートマッチングコスト値は、現在コーディングブロックの上部テンプレート(例えば、上近接サンプルを含む。)に従って計算される。他の例では、テンプレートマッチングコスト値は、現在コーディングブロックの左部テンプレート(例えば、左近接サンプルを含む。)に従って計算される。
【0138】
いくつかの実施形態で、前記組み合わせのサブセットが、テンプレートマッチングコスト値の事前定義された範囲に基づき決定され、特定の組み合わせは、前記組み合わせの前記サブセットから選択される。
【0139】
いくつかの例で、事前定義された範囲内の第1テンプレートマッチングコスト値を有する前記組み合わせのうちの第1サブセットが決定される。例において、前記組み合わせのうちの前記第1サブセット内の第1組み合わせ数が、利用可能な組み合わせの数要件を指定する特定の数よりも少ないことに応答して、事前定義された範囲外の第2テンプレートマッチングコスト値を有する1つ以上の第2組み合わせが選択され、第1サブセット及び1つ以上の第2組み合わせは、前記組み合わせのうちの前記サブセットを形成し、前記サブセット内の組み合わせ数は前記特定の数に等しい。
【0140】
他の例では、前記組み合わせのうちの前記第1サブセット内の第1組み合わせ数が、利用可能な組み合わせの数要件を指定する特定の数よりも多いことに応答して、前記組み合わせのうちの前記サブセットは、前記組み合わせのうちの前記第1サブセットから選択され、前記サブセット内の組み合わせ数は前記特定の数に等しい。例えば、最も低いテンプレートマッチングコスト値を有する前記組み合わせのうちの前記サブセットが、第1サブセットから選択される。他の例では、テンプレートに対する最も近い参照ラインを有する前記組み合わせのうちの前記サブセットが、第1サブセットから選択される。
【0141】
いくつかの例で、テンプレートは第2参照ライン内にあり、テンプレートのエントリの投影点は、第1参照ライン内の2つのサンプル間の分数位置にあり、テンプレートのエントリに関連した参照エントリは、少なくとも前記2つのサンプルに基づいた補間に従って生成される。
【0142】
それから、プロセスは(S1399)へ進んで終了する。
【0143】
プロセス(1300)は適切に適応され得る。プロセス(1300)のステップは変更及び/又は省略され得る。追加のステップが加えられ得る。実施の如何なる適切な順序も使用され得る。
【0144】
上記の技術は、コンピュータ読み出し可能な命令を使用しかつ1つ以上のコンピュータ可読媒体に物理的に記憶されているコンピュータソフトウェアとして実装可能である。例えば、図14は、開示されている対象の特定の実施形態を実装することに適したコンピュータシステム(1400)を示す。
【0145】
コンピュータソフトウェアは、1つ以上の中央演算処理装置(CPU)、グラフィクス処理ユニット(GPU)などによって直接に又は解釈、マイクロコード実行などを通じて実行され得る命令を含むコードを生成するように、アセンブリ、コンパイル、リンキングなどのメカニズムに従い得る如何なる適切な機械コード又はコンピュータ言語によってもコーディング可能である。
【0146】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機、モノのインターネット(Internet of Things)のためのデバイス、などを含む様々なタイプのコンピュータ又はその構成要素で実行可能である。
【0147】
コンピュータシステム(1400)に関して図14に示される構成要素は、本質的に例示であり、本開示の実施形態を実装するコンピュータソフトウェアの使用又は機能の範囲に関して如何なる限定も示唆することを意図しない。構成要素の構成は、コンピュータシステム(1400)の例示的な実施形態において説明される構成要素のうちのいずれか1つ又は組み合わせに関して何らかの依存又は要件を有するものとして解釈されるべきではない。
【0148】
コンピュータシステム(1400)は、特定のヒューマンインターフェース入力デバイスを含んでよい。かようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(例えば、キーボード、スワイプ、データグロープ動作)、音声入力(例えば、声、拍手)、視覚入力(例えば、ジェスチャ)、嗅覚入力(図示せず。)を通じた一人以上のユーザによる入力に反応し得る。ヒューマンインターフェースデバイスはまた、音声(例えば、発話、音楽、周囲音)、画像(例えば、スキャンされた画像、静止画カメラから取得された写真画像)、映像(例えば、二次元映像、立体視映像を含む三次元映像)などの、人による意識的な入力に必ずしも直接には関係しない特定のメディアを捕捉するためにも使用できる。
【0149】
入力ヒューマンインターフェースデバイスは、キーボード(1401)、マウス(1402)、トラックパッド(1403)、タッチスクリーン(1410)、データグローブ(図示せず。)、ジョイスティック(1405)、マイク(1406)、スキャナ(1407)、カメラ(1408)(各1つしか表されていない。)のうちの1つ以上を含んでもよい。
【0150】
コンピュータシステム(1400)は、特定のヒューマンインターフェース出力デバイスも含んでよい。かようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音響、光、及び匂い/味を通じて一人以上のユーザの感覚を刺激し得る。かようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(1410)、データグローブ(図示せず。)、又はジョイスティック(1405)による触覚フィードバック、しかし、入力デバイスとして機能しない触覚フィードバックデバイスも存在し得る。)、音声出力デバイス(例えば、スピーカ(1409)、ヘッドホン(図示せず。))、視覚出力デバイス(例えば、夫々タッチスクリーン入力機能の有無によらず、夫々触覚フィードバック機能の有無によらず、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含み、それらのうちのいくつかは、立体視出力、仮想現実メガネ(図示せず。)、ホログラフィックディスプレイ及びスモークタンク(図示せず。)などの手段により二次元視覚出力又は三次元よりも多い次元の出力を出力可能なスクリーン(1410))、及びプリンタ(図示せず。)を含んでもよい。
【0151】
コンピュータシステム(1400)は、人がアクセス可能な記憶デバイス及びそれらの関連する媒体、例えば、CD/DVD又は同様の媒体(1421)を含むCD/DVD ROM/RW(1420)、サムドライブ(1422)、リムーバブルハードディスク又はソリッドステートドライブ(1423)、レガシー磁気媒体、例えば、テープ及びフロッピー(登録商標)ディスク(図示せず。)、専用のROM/ASIC/PLDベースデバイス、例えば、セキュリティドングル(図示せず。)、なども含むことができる。
【0152】
当業者であれば、目下開示されている対象に関連して使用されている「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、又は他の一時的な信号を含まないことも理解するはずである。
【0153】
コンピュータシステム(1400)は、1つ以上の通信ネットワーク(1455)へのインターフェース(1454)も含むことができる。ネットワークは、例えば、ワイヤレス、ワイヤライン、光であることができる。ネットワークは更に、ローカル、ワイドエリア、メトロポリタン、車両及び工業、実時間、遅延耐性、などであることができる。ネットワークの例には、イーサネット(登録商標)などのローカルエリアネットワーク、ワイヤレスLAN、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、及び地上放送TVを含むTVワイヤライン又はワイヤレス広域デジタルネットワーク、CANバスを含む車両及び工場ネットワーク、などがある。特定のネットワークは、一般に、特定の汎用デジタルポート又はペリフェラルバス(1449)(例えば、コンピュータシステム(1400)のUSBポートなど)に取り付けられた外付けネットワークインターフェースアダプタを必要とする。他は、一般に、後述されるようなシステムバスへの取り付け(例えば、PCコンピュータシステムへのイーサネットネットワーク、又はスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)によってコンピュータシステム(1400)のコアに組み込まれる。これらのネットワークのいずれかを使用して、コンピュータシステム(1400)は他のエンティティと通信することができる。そのような通信は、単方向の受信専用(例えば、ブロードキャストTV)又は単方向の送信専用(例えば、特定のCANバスデバイスへのCANバス)であることができ、あるいは、例えば、ローカル若しくは広域デジタルネットワークを使用して他のコンピュータシステムに対して双方向であることができる。特定のプロトコル又はプロトコルスタックが、上述されたようなネットワーク及びネットワークインターフェースの夫々で使用可能である。
【0154】
上記のヒューマンインターフェースデバイス、人がアクセス可能な記憶デバイス、及びネットワークインターフェースは、コンピュータシステム(1400)のコア(1440)へ取り付けられ得る。
【0155】
コア(1440)は、1つ以上の中央演算処理装置(CPU)(1441)、グラフィクス処理ユニット(GPU)(1442)、フィールドプログラマブルゲートエリア(FPGA)(1443)の形をとる専用のプログラム可能処理ユニット、特定のタスク用のハードウェアアクセラレータ(1444)、グラフィクスアダプタ(1450)などを含むことができる。これらのデバイスは、リードオンリーメモリ(ROM)(1445)、ランダムアクセスメモリ(RAM)(1446)、内部のユーザアクセス不能ハードドライブなどの内蔵大容量記憶装置、SSD、など(1447)とともに、システムバス(1448)を通じて接続されてもよい。いくつかのコンピュータシステムでは、システムバス(1448)は、追加のCPU、GPUなどによる拡張を可能にするように、1つ以上の物理プラグの形でアクセス可能であることができる。コアのシステムバス(1448)へ直接に又はペリフェラルバス(1449)を通じて、周辺機器が取り付けられ得る。例において、ディスプレイ(1410)は、グラフィクスアダプタ(1450)へ接続され得る。ペリフェラルバスのためのアーキテクチャには、PCI、USBなどがある。
【0156】
CPU(1441)、GPU(1442)、FPGA(1443)、及びアクセラレータ(1444)は、組み合わせて上記のコンピュータコードを構成することができる特定の命令を実行可能である。そのコンピュータコードはROM(1445)又はRAM(1446)に記憶できる。一時データもRAM(1446)に記憶でき、一方、永続性データは、例えば内蔵大容量記憶装置(1447)に記憶できる。メモリデバイスのいずれかへの高速な格納及び読み出しは、キャッシュメモリの使用により可能にされ得る。キャッシュメモリは、1つ以上のCPU(1441)、GPU(1442)、大容量記憶装置(1447)、ROM(1445)、RAM(1446)などと密接に関連し得る。
【0157】
コンピュータ可読媒体は、様々なコンピュータ実装動作を実行するためのコンピュータコードを有することができる。媒体及びコンピュータコードは、本開示の目的のために特別に設計及び構成されたものであることができ、あるいは、それらは、コンピュータソフトウェア技術における当業者によく知られており利用可能である種類のものであることができる。
【0158】
例として、限定としてではなく、アーキテクチャ(1400)、具体的にはコア(1440)を有するコンピュータシステムは、1つ以上の有形なコンピュータ可読媒体において具現化されているソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータ、などを含む。)の結果として、機能を提供することができる。かようなコンピュータ可読媒体は、コア内蔵大容量記憶装置(1447)又はROM(1445)などの、非一時的な性質を持っているコア(1440)の特定の記憶装置に加えて、先に紹介されたユーザアクセス可能な大容量記憶装置に関連した媒体であることができる。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに記憶され、コア(1440)によって実行可能である。コンピュータ可読媒体には、特定のニーズに応じて、1つ以上のメモリデバイス又はチップが含まれ得る。ソフトウェアは、コア(1440)、及び、具体的には、その中のプロセッサ(CPU、GPU、FPGAなどを含む。)に、RAM(1446)に記憶されているデータ構造を定義することと、ソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を変更することとを含め、本明細書で説明されている特定のプロセス又は特定のプロセスの特定の部分を実行させることができる。追加的に、又は代替案として、コンピュータシステムは、本明細書で説明されている特定のプロセス又は特定のプロセスの特定の部分を実行するようにソフトウェアの代わりに又はそれとともに動作することができる、回路内でハードワイヤードされているか又は別なふうに具現化されているロジック(例えば、アクセラレータ(1444))の結果として、機能を提供することができる。ソフトウェアへの言及は、必要に応じて、ロジックを包含することができ、その逆も同様である。コンピュータ可読媒体への言及は、必要に応じて、実行用のソフトウェアを記憶している回路(例えば、集積回路(IC))、実行用のロジックを具現化する回路、又はその両方を包含することができる。本開示は、ハードウェア及びソフトウェアの如何なる適切な組み合わせも包含する。
【0159】
本開示内の「・・・の少なくとも1つ」の使用は、記載されている要素の任意の1つ又は組み合わせを含むよう意図される。例えば、A、B又はCの少なくとも1つ;A、B及びCの少なくとも1つ;A、B及び/又はCの少なくとも1つ;並びに、A乃至Cの少なくとも1つは、Aのみ、Bのみ、Cのみ、又はそれらの任意の組み合わせを含むよう意図される。
【0160】
本開示は、いくつかの例示的な実施形態について記載してきたが、本開示の範囲内にある代替、交換、及び様々な置換均等物が存在する。よって、明らかなように、当業者であれば、たとえ本明細書で明示的に図示又は説明されていないとしても、本開示の原理を具現化し、よって、その精神及び範囲の中にある多数のシステム及び方法に想到可能である。
【0161】
[参照による援用]
本願は、2022年7月13日に「Template matching for multiple reference line intra prediction」という発明の名称で出願された米国特許仮出願第63/388909号の優先権の利益を主張して2023年6月8日に「TEMPLATE MATCHING FOR MULTIPLE REFERENCE LINE INTRA PREDICTION」という発明の名称で出願された米国特許出願第18/207587号の優先権の利益を主張するものである。これらの先願の開示は、その全文を参照により本願に援用される。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
【国際調査報告】