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

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

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

特表2025-503823画像および映像圧縮におけるクロスコンポーネント平面予測
<>
  • 特表-画像および映像圧縮におけるクロスコンポーネント平面予測 図1A
  • 特表-画像および映像圧縮におけるクロスコンポーネント平面予測 図1B
  • 特表-画像および映像圧縮におけるクロスコンポーネント平面予測 図2
  • 特表-画像および映像圧縮におけるクロスコンポーネント平面予測 図3
  • 特表-画像および映像圧縮におけるクロスコンポーネント平面予測 図4
  • 特表-画像および映像圧縮におけるクロスコンポーネント平面予測 図5
  • 特表-画像および映像圧縮におけるクロスコンポーネント平面予測 図6
  • 特表-画像および映像圧縮におけるクロスコンポーネント平面予測 図7
  • 特表-画像および映像圧縮におけるクロスコンポーネント平面予測 図8
  • 特表-画像および映像圧縮におけるクロスコンポーネント平面予測 図9
  • 特表-画像および映像圧縮におけるクロスコンポーネント平面予測 図10
  • 特表-画像および映像圧縮におけるクロスコンポーネント平面予測 図11
  • 特表-画像および映像圧縮におけるクロスコンポーネント平面予測 図12
  • 特表-画像および映像圧縮におけるクロスコンポーネント平面予測 図13
  • 特表-画像および映像圧縮におけるクロスコンポーネント平面予測 図14
  • 特表-画像および映像圧縮におけるクロスコンポーネント平面予測 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-02-06
(54)【発明の名称】画像および映像圧縮におけるクロスコンポーネント平面予測
(51)【国際特許分類】
   H04N 19/11 20140101AFI20250130BHJP
   H04N 19/157 20140101ALI20250130BHJP
   H04N 19/176 20140101ALI20250130BHJP
   H04N 19/186 20140101ALI20250130BHJP
   H04N 19/593 20140101ALI20250130BHJP
【FI】
H04N19/11
H04N19/157
H04N19/176
H04N19/186
H04N19/593
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023561074
(86)(22)【出願日】2022-11-02
(85)【翻訳文提出日】2023-10-03
(86)【国際出願番号】 US2022079154
(87)【国際公開番号】W WO2023146688
(87)【国際公開日】2023-08-03
(31)【優先権主張番号】63/305,168
(32)【優先日】2022-01-31
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/976,470
(32)【優先日】2022-10-28
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】シャオジョン・シュ
(72)【発明者】
【氏名】シャン・リュウ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LC09
5C159MA04
5C159PP16
5C159TA31
5C159TB08
5C159TC27
5C159TC42
5C159UA02
5C159UA05
(57)【要約】
本開示の態様は、現在のピクチャにおいて再構成されるべきクロマブロックの予測情報を復号する処理回路を含む方法および装置を提供する。予測情報は、平面モードを使用して現在のピクチャ内の少なくともルーマブロックに基づいて、クロマブロックが予測されることを示す。ルーマブロックは再構成され、クロマブロックとコロケートされている。処理回路は、クロマブロック内の1つまたは複数の第1のクロマサンプルは、ルーマブロック内の1つまたは複数のルーマサンプルに基づくと予測する。処理回路は、1つまたは複数の第1のクロマサンプルおよびクロマブロックの少なくとも1つの参照クロマサンプルに基づいて、クロマブロック内の第2のクロマサンプルを予測する。第2のクロマサンプルは、1つまたは複数の第1のクロマサンプルとは異なる。少なくとも1つの参照クロマサンプルは、クロマブロックに隣接している。
【特許請求の範囲】
【請求項1】
デコーダにおけるビデオ復号の方法であって、
現在のピクチャ内の再構成されるべきクロマブロックの予測情報を復号するステップであって、前記予測情報は、前記クロマブロックが、平面モードを使用して前記現在のピクチャ内のルーマブロックに少なくとも基づいて予測されることを示し、前記ルーマブロックは、再構成され、前記クロマブロックとコロケートされる、ステップと、
1つまたは複数のそれぞれのキー位置に位置するものとして前記クロマブロック内の1つまたは複数の第1のクロマサンプルを識別するステップと、
前記ルーマブロック内の1つまたは複数のルーマサンプルに基づいて前記クロマブロック内の前記1つまたは複数の第1のクロマサンプルを予測するステップと、
前記予測された1つまたは複数の第1のクロマサンプルと、前記クロマブロックの少なくとも1つの参照クロマサンプルとに基づいて、前記クロマブロック内の第2のクロマサンプルを予測するステップであって、前記第2のクロマサンプルは、前記1つまたは複数の第1のクロマサンプルとは異なり、前記少なくとも1つの参照クロマサンプルは、前記クロマブロックに隣接している、ステップとを含む、方法。
【請求項2】
前記1つまたは複数の第1のクロマサンプルは、前記クロマブロック内の右下のコーナーのクロマサンプルであり、
前記第2のクロマサンプルを予測する前記ステップは、
前記右下のコーナーのクロマサンプルおよび前記少なくとも1つの参照クロマサンプルに基づいて、(i)前記クロマブロックの下の行のクロマサンプル、または(ii)前記クロマブロックの最右列のクロマサンプルのうちの少なくとも1つを予測するステップと、
前記クロマブロックの前記下の行の前記クロマサンプルが予測されることに応答して、前記少なくとも1つの参照クロマサンプル内の上の参照クロマサンプルと、前記下の行の前記予測されたクロマサンプル内の予測された下のクロマサンプルとに基づいて、前記第2のクロマサンプルの垂直予測子を生成するステップであって、前記第2のクロマサンプル、前記上の参照クロマサンプル、および前記予測された下のクロマサンプルが、前記クロマブロック内の同じ列にある、ステップと、
前記クロマブロックの前記最右列内の前記クロマサンプルが予測されることに応答して、前記少なくとも1つの参照クロマサンプル内の左の参照クロマサンプルと、前記最右列内の前記予測されたクロマサンプル内の予測された右のクロマサンプルとに基づいて、前記第2のクロマサンプルの水平予測子を生成するステップであって、前記第2のクロマサンプル、前記左の参照クロマサンプル、および前記予測された右のクロマサンプルが、前記クロマブロックの同じ行にある、ステップとを含む、請求項1に記載の方法。
【請求項3】
(i)前記クロマブロックの前記下の行の前記クロマサンプル、または(ii)前記クロマブロックの前記最右列の前記クロマサンプル、のうちの前記少なくとも1つを予測する前記ステップは、前記クロマブロックの前記下の行の前記クロマサンプルおよび前記クロマブロックの前記最右列の前記クロマサンプルを予測するステップを含み、
前記第2のクロマサンプルを予測する前記ステップは、前記垂直予測子および前記水平予測子に基づいて前記第2のクロマサンプルを予測するステップを含む、
請求項2に記載の方法。
【請求項4】
前記クロマブロックの幅が前記クロマブロックの高さよりも大きいか、または前記クロマブロックの前記高さが閾値未満であり、
(i)前記クロマブロックの前記下の行の前記クロマサンプル、または(ii)前記クロマブロックの前記最右列の前記クロマサンプル、のうちの前記少なくとも1つを予測する前記ステップは、前記クロマブロックの前記下の行の前記クロマサンプルを予測するステップを含み、
前記第2のクロマサンプルを予測する前記ステップは、前記垂直予測子に基づいて前記第2のクロマサンプルを予測するステップを含む、
請求項2に記載の方法。
【請求項5】
前記クロマブロックの幅は、前記クロマブロックの高さまたは閾値よりも小さく、
(i)前記クロマブロックの前記下の行の前記クロマサンプル、または(ii)前記クロマブロックの前記最右列の前記クロマサンプルのうちの前記少なくとも1つを予測する前記ステップは、前記クロマブロックの前記最右列の前記クロマサンプルを予測するステップを含み、
前記第2のクロマサンプルを予測する前記ステップは、前記水平予測子に基づいて前記第2のクロマサンプルを予測するステップを含む、
請求項2に記載の方法。
【請求項6】
前記1つまたは複数の第1のクロマサンプルを予測する前記ステップは、
前記ルーマブロック内の右下のコーナーのルーマサンプル、または前記右下のコーナーのクロマサンプルとコロケートされている前記ルーマブロック内のルーマサンプルのうちの少なくとも1つに基づいて、前記クロマブロック内の前記右下のコーナーのクロマサンプルを予測するステップを含む、請求項2に記載の方法。
【請求項7】
前記1つまたは複数の第1のクロマサンプルが、(i)前記クロマブロックの下の行のクロマサンプルと、(ii)前記クロマブロックの最右列のクロマサンプルとを含み、
前記第2のクロマサンプルを予測する前記ステップは、
前記少なくとも1つの参照クロマサンプル内の上の参照クロマサンプルと、前記下の行の前記予測されたクロマサンプル内の予測された下のクロマサンプルとに基づいて前記第2のクロマサンプルの垂直予測子を生成するステップであって、前記第2のクロマサンプル、前記上の参照クロマサンプル、および前記予測された下のクロマサンプルが、前記クロマブロック内の同じ列にある、ステップと、
前記少なくとも1つの参照クロマサンプル内の左の参照クロマサンプルと、前記最右列内の前記予測されたクロマサンプル内の予測された右のクロマサンプルとに基づいて前記第2のクロマサンプルの水平予測子を生成するステップであって、前記第2のクロマサンプル、前記左の参照クロマサンプル、および前記予測された右のクロマサンプルが、前記クロマブロック内の同じ行にある、ステップと、
前記垂直予測子および前記水平予測子に基づいて前記第2のクロマサンプルを予測するステップとを含む、
請求項1に記載の方法。
【請求項8】
前記クロマブロックの幅が前記クロマブロックの前記高さよりも大きいか、または前記クロマブロックの前記高さが閾値未満であり、
前記1つまたは複数の第1のクロマサンプルが、前記クロマブロックの下の行のクロマサンプルを含み、
前記第2のクロマサンプルを予測する前記ステップは、
前記少なくとも1つの参照クロマサンプル内の上の参照クロマサンプルと、前記下の行の前記予測されたクロマサンプル内の予測された下のクロマサンプルとに基づいて前記第2のクロマサンプルの垂直予測子を生成するステップであって、前記第2のクロマサンプル、前記上の参照クロマサンプル、および前記予測された下のクロマサンプルが、前記クロマブロック内の同じ列にある、ステップと、
前記垂直予測子に基づいて前記第2のクロマサンプルを予測するステップとを含む、
請求項1に記載の方法。
【請求項9】
前記クロマブロックの幅は、前記クロマブロックの高さまたは閾値よりも小さく、
前記1つまたは複数の第1のクロマサンプルが、前記クロマブロックの最右列のクロマサンプルを含み、
前記第2のクロマサンプルを予測する前記ステップは、
前記少なくとも1つの参照クロマサンプル内の左の参照クロマサンプルと、前記最右列内の前記予測されたクロマサンプル内の予測された右のクロマサンプルとに基づいて前記第2のクロマサンプルの水平予測子を生成するステップであって、前記第2のクロマサンプル、前記左の参照クロマサンプル、および前記予測された右のクロマサンプルが、前記クロマブロック内の同じ行にある、ステップと、
前記水平予測子に基づいて前記第2のクロマサンプルを予測するステップとを含む、
請求項1に記載の方法。
【請求項10】
前記1つまたは複数の第1のクロマサンプルを予測する前記ステップは、
クロスコンポーネント線形モデル予測(CCLM)モードを使用して、前記1つまたは複数の第1のクロマサンプルとコロケートされた前記ルーマブロック内の前記1つまたは複数のルーマサンプルに基づいて、前記クロマブロック内の前記1つまたは複数の第1のクロマサンプルを予測するステップを含む、請求項1に記載の方法。
【請求項11】
前記少なくとも1つの参照クロマサンプルは、前記クロマブロックの上近傍にある上の参照クロマサンプル、または前記クロマブロックの左近傍にある左の参照クロマサンプルのうちの少なくとも1つを含む、
請求項1に記載の方法。
【請求項12】
現在のピクチャ内の再構成されるべきクロマブロックの予測情報を復号し、前記予測情報は、前記クロマブロックが、平面モードを使用して前記現在のピクチャ内のルーマブロックに少なくとも基づいて予測されることを示し、前記ルーマブロックは、再構成され、前記クロマブロックとコロケートされ、
1つまたは複数のそれぞれのキー位置に位置するものとして前記クロマブロック内の1つまたは複数の第1のクロマサンプルを識別し、
前記ルーマブロック内の1つまたは複数のルーマサンプルに基づいて前記クロマブロック内の前記1つまたは複数の第1のクロマサンプルを予測し、
前記予測された1つまたは複数の第1のクロマサンプルと、前記クロマブロックの少なくとも1つの参照クロマサンプルとに基づいて、前記クロマブロック内の第2のクロマサンプルを予測し、前記第2のクロマサンプルは、前記1つまたは複数の第1のクロマサンプルとは異なり、前記少なくとも1つの参照クロマサンプルは、前記クロマブロックに隣接している
ように構成される処理回路
を備える、ビデオ復号のための装置。
【請求項13】
前記1つまたは複数の第1のクロマサンプルは、前記クロマブロック内の右下のコーナーのクロマサンプルであり、
前記処理回路は、
前記右下のコーナーのクロマサンプルおよび前記少なくとも1つの参照クロマサンプルに基づいて、(i)前記クロマブロックの下の行のクロマサンプル、または(ii)前記クロマブロックの最右列のクロマサンプルのうちの少なくとも1つを予測し、
前記クロマブロックの前記下の行の前記クロマサンプルが予測されることに応答して、前記少なくとも1つの参照クロマサンプル内の上の参照クロマサンプルと、前記下の行の前記予測されたクロマサンプル内の予測された下のクロマサンプルとに基づいて、前記第2のクロマサンプルの垂直予測子を生成し、前記第2のクロマサンプル、前記上の参照クロマサンプル、および前記予測された下のクロマサンプルが、前記クロマブロック内の同じ列にあり、
前記クロマブロックの前記最右列内の前記クロマサンプルが予測されることに応答して、前記少なくとも1つの参照クロマサンプル内の左の参照クロマサンプルと、前記最右列内の前記予測されたクロマサンプル内の予測された右のクロマサンプルとに基づいて、前記第2のクロマサンプルの水平予測子を生成し、前記第2のクロマサンプル、前記左の参照クロマサンプル、および前記予測された右のクロマサンプルが、前記クロマブロックの同じ行にあるように構成される、
請求項12に記載の装置。
【請求項14】
前記処理回路は、
前記クロマブロックの前記下の行の前記クロマサンプルおよび前記クロマブロックの前記最右列の前記クロマサンプルを予測し、
前記垂直予測子および前記水平予測子に基づいて前記第2のクロマサンプルを予測するように構成される、請求項13に記載の装置。
【請求項15】
前記1つまたは複数の第1のクロマサンプルが、(i)前記クロマブロックの下の行のクロマサンプルと、(ii)前記クロマブロックの最右列のクロマサンプルとを含み、
前記処理回路は、
前記少なくとも1つの参照クロマサンプル内の上の参照クロマサンプルと、前記下の行の前記予測されたクロマサンプル内の予測された下のクロマサンプルとに基づいて前記第2のクロマサンプルの垂直予測子を生成し、前記第2のクロマサンプル、前記上の参照クロマサンプル、および前記予測された下のクロマサンプルが、前記クロマブロック内の同じ列にあり、
前記少なくとも1つの参照クロマサンプル内の左の参照クロマサンプルと、前記最右列内の前記予測されたクロマサンプル内の予測された右のクロマサンプルとに基づいて前記第2のクロマサンプルの水平予測子を生成し、前記第2のクロマサンプル、前記左の参照クロマサンプル、および前記予測された右のクロマサンプルが、前記クロマブロック内の同じ行にあり、
前記垂直予測子および前記水平予測子に基づいて前記第2のクロマサンプルを予測するよう構成される、
請求項12に記載の装置。
【請求項16】
前記クロマブロックの幅が前記クロマブロックの前記高さよりも大きいか、または前記クロマブロックの前記高さが閾値未満であり、
前記1つまたは複数の第1のクロマサンプルが、前記クロマブロックの下の行のクロマサンプルを含み、
前記処理回路は、
前記少なくとも1つの参照クロマサンプル内の上の参照クロマサンプルと、前記下の行の前記予測されたクロマサンプル内の予測された下のクロマサンプルとに基づいて前記第2のクロマサンプルの垂直予測子を生成し、前記第2のクロマサンプル、前記上の参照クロマサンプル、および前記予測された下のクロマサンプルが、前記クロマブロック内の同じ列にあり、
前記垂直予測子に基づいて前記第2のクロマサンプルを予測するように構成される、
請求項12に記載の装置。
【請求項17】
前記クロマブロックの幅は、前記クロマブロックの高さまたは閾値よりも小さく、
前記1つまたは複数の第1のクロマサンプルが、前記クロマブロックの最右列のクロマサンプルを含み、
前記処理回路は、
前記少なくとも1つの参照クロマサンプル内の左の参照クロマサンプルと、最右列内の前記予測されたクロマサンプル内の予測された右のクロマサンプルとに基づいて、前記第2のクロマサンプルの水平予測子を生成し、前記第2のクロマサンプル、前記左の参照クロマサンプル、および前記予測された右のクロマサンプルは、前記クロマブロック内の同じ行にあり、
前記水平予測子に基づいて前記第2のクロマサンプルを予測するように構成される、
請求項12に記載の装置。
【請求項18】
前記1つまたは複数の第1のクロマサンプルを予測する前記ことは、
クロスコンポーネント線形モデル予測(CCLM)モードを使用して、前記1つまたは複数の第1のクロマサンプルとコロケートされた前記ルーマブロック内の前記1つまたは複数のルーマサンプルに基づいて、前記クロマブロック内の前記1つまたは複数の第1のクロマサンプルを予測することを含む、請求項12に記載の装置。
【請求項19】
前記少なくとも1つの参照クロマサンプルは、前記クロマブロックの上近傍にある上の参照クロマサンプル、または前記クロマブロックの左近傍にある左の参照クロマサンプルのうちの少なくとも1つを含む、
請求項12に記載の装置。
【請求項20】
少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
現在のピクチャ内の再構成されるべきクロマブロックの予測情報を復号し、前記予測情報は、前記クロマブロックが、平面モードを使用して前記現在のピクチャ内のルーマブロックに少なくとも基づいて予測されることを示し、前記ルーマブロックは、再構成され、前記クロマブロックとコロケートされ、
1つまたは複数のそれぞれのキー位置に位置するものとして前記クロマブロック内の1つまたは複数の第1のクロマサンプルを識別し、
前記ルーマブロック内の1つまたは複数のルーマサンプルに基づいて前記クロマブロック内の前記1つまたは複数の第1のクロマサンプルを予測し、
前記予測された1つまたは複数の第1のクロマサンプルと、前記クロマブロックの少なくとも1つの参照クロマサンプルとに基づいて、前記クロマブロック内の第2のクロマサンプルを予測し、前記第2のクロマサンプルは、前記1つまたは複数の第1のクロマサンプルとは異なり、前記少なくとも1つの参照クロマサンプルは、前記クロマブロックに隣接しているように実行させる命令を格納した、非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2022年10月28日に出願された米国仮出願第17/976,470号「CROSS-COMPONENT PLANAR PREDICTION IN IMAGE AND VIDEO COMPRESSION」に対する優先権の利益を主張する、2022年1月31日に出願された米国特許出願第63/305,168号「Cross-Component Planar Prediction in Image and Video Compression」に対する優先権の利益を主張する。先行出願の開示は、その全体が参照により本明細書に組み込まれる。
【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】
ビデオコーデック技術は、イントラコーディングとして知られる技法を含むことができる。イントラコーディングでは、サンプル値は、以前に再構成された参照ピクチャからのサンプルまたは他のデータを参照せずに表される。一部のビデオコーデックでは、ピクチャは、サンプルのブロックに、空間的に細分される。サンプルのすべてのブロックがイントラモードでコーディングされるとき、そのピクチャはイントラピクチャであり得る。イントラピクチャおよび独立したデコーダリフレッシュピクチャなどのそれらの派生物は、デコーダ状態をリセットするために使用され、したがって、コーディングされたビデオビットストリームおよびビデオセッション内の最初のピクチャとして、または静止画像として使用することができる。イントラブロックのサンプルは、変換を受け、変換係数を、エントロピーコーディングの前に量子化することができる。イントラ予測は、変換前領域におけるサンプル値を最小化する技術であり得る。場合によっては、変換後のDC値が小さいほど、およびAC係数が小さいほど、エントロピーコーディング後のブロックを表すために所与の量子化ステップサイズで必要とされるビット数が少なくなる。
【0008】
例えばMPEG-2生成コーディング技術において使用される従来のイントラコーディングは、イントラ予測を使用しない。しかしながら、いくつかのより新しいビデオ圧縮技術は、例えば、データのブロックの符号化/復号の間に取得される周囲のサンプルデータおよび/またはメタデータに基づいて予測を実行するように試みる技法を含む。そのような技術を、これ以降、「イントラ予測」技術と呼ぶ。少なくともいくつかの場合に、イントラ予測は、再構成中の現在のピクチャからの参照データのみを使用し、参照ピクチャからは使用しないことに留意されたい。
【0009】
イントラ予測には、多くの異なる形式があり得る。そのような技術のうちの2つ以上を所与のビデオコーディング技術において使用できるとき、使用中の特定の技術を、特定の技術を使用する特定のイントラ予測モードとしてコーディングすることができる。特定の場合には、イントラ予測モードは、サブモードおよび/またはパラメータを有することができ、サブモードおよび/またはパラメータを、個別にコーディングするか、または使用される予測モードを定義するモードコードワードに含めることができる。所与のモード、サブモード、および/またはパラメータの組合せに、どのコードワードを使用するかは、イントラ予測を介したコーディング効率向上に影響を与える可能性があり、そのため、コードワードをビットストリームに変換するために使用されるエントロピーコーディング技術も影響を与える可能性がある。
【0010】
イントラ予測の特定のモードは、H.264で導入され、H.265において改良され、共同探索モデル(JEM)、多用途ビデオコーディング(VVC)、およびベンチマークセット(BMS)などの新規のコーディング技術においてさらに改良された。既に利用可能なサンプルの近傍サンプル値を使用して、予測子ブロックを形成することができる。近傍サンプルのサンプル値は、方向に従って予測子ブロックにコピーされる。使用中の方向への参照は、ビットストリーム内でコーディングされ得るか、またはそれ自体が予測され得る。
【0011】
図1Aを参照すると、右下に描かれているのは、H.265で定義された(35個のイントラモードのうちの33個の角度モードに対応する)33個の可能な予測子方向から知られる9つの予測子方向のサブセットである。矢印が集中する点(101)は、予測されているサンプルを表す。矢印は、サンプルが予測されている方向を表す。例えば、矢印(102)は、サンプル(101)が、1つまたは複数のサンプルから、右上へ、水平から45度の角度で予測されることを示している。同様に、矢印(103)は、サンプル(101)が、1つまたは複数のサンプルから、サンプル(101)の左下へ、水平から22.5度の角度で予測されることを示している。
【0012】
さらに図1Aを参照すると、左上には、(太い破線によって示された)4×4サンプルの正方形ブロック(104)が示されている。正方形ブロック(104)は16個のサンプルを含み、各々、「S」、Y次元のその位置(例えば、行インデックス)、およびX次元のその位置(例えば、列インデックス)でラベル付けされている。例えば、サンプルS21は、Y次元の(上から)2番目のサンプルであり、X次元の(左から)1番目のサンプルである。同様に、サンプルS44は、ブロック(104)内のY次元とX次元の両方の4番目のサンプルである。ブロックは、サイズが4×4サンプルなので、S44は右下にある。同様の番号付け方式に従う参照サンプルがさらに示されている。参照サンプルは、ブロック(104)に対してR、そのY位置(例えば、行インデックス)、およびX位置(列インデックス)でラベル付けされている。H.264およびH.265の両方において、予測サンプルは再構成中のブロックの近傍であり、負の値が使用される必要はない。
【0013】
イントラピクチャ予測は、シグナリングされた予測方向によって示される近傍のサンプルから参照サンプル値をコピーすることによって機能することができる。例えば、コーディングされたビデオビットストリームは、このブロックについて、矢印(102)と一致する予測方向を示すシグナリングを含む、すなわち、サンプルは、サンプルから右上へ、水平から45度の角度で予測される、と仮定する。その場合、サンプルS41、S32、S23、およびS14が、同じ参照サンプルR05から予測される。次いで、サンプルS44が、参照サンプルR08から予測される。
【0014】
特定の場合には、参照サンプルを計算するために、特に方向が45度によって均等に割り切れない場合、複数の参照サンプルの値は、例えば補間によって組み合わされてもよい。
【0015】
可能な方向の数は、ビデオコーディング技術が発展するにつれて増加している。H.264(2003年)では、9つの異なる方向を表すことができた。これが、H.265(2013年)では33に増加した。現在、JEM/VVC/BMSは、最大65個の方向をサポートすることができる。最も可能性が高い方向を識別するために実験が行われており、エントロピーコーディングの特定の技術は、それらの可能性が高い方向を少数のビットで表すために使用され、可能性が低い方向に関しては一定のペナルティを受け入れる。さらに、近傍の、既に復号されたブロックで使用された近傍方向から、方向自体を予測し得る場合もある。
【0016】
図1Bは、経時的に増加する予測方向の数を示すためにJEMによる65のイントラ予測方向を示す概略図(110)を示している。
【0017】
コーディングされたビデオビットストリーム内の方向を表すイントラ予測方向ビットのマッピングは、ビデオコーディング技術によって異なり得る。そのようなマッピングは、単純な直接マッピングから、コードワード、最確モードを含む複雑な適応方式、および同様の技術までにおよび得る。しかしながら、ほとんどの場合、ビデオコンテンツ内で特定の他の方向よりも統計的に発生する可能性が低い特定の方向が存在し得る。ビデオ圧縮の目的は冗長性の低減であるので、それらの可能性が低い方向は、うまく機能するビデオコーディング技術では、可能性が高い方向よりも多いビット数で表される。
【0018】
画像および/またはビデオのコーディングおよび復号は、動き補償を伴うインターピクチャ予測を使用して実施することができる。動き補償は、非可逆圧縮技術であり、以前に再構成されたピクチャまたはその一部(参照ピクチャ)からのサンプルデータのブロックが、動きベクトル(以降、MV)によって示された方向に空間的にシフトされた後に、新規に再構成されるピクチャまたはピクチャの一部の予測に使用される技術に関連し得る。場合によっては、参照ピクチャは、現在再構成中のピクチャと同じであり得る。MVは、2つの次元XおよびY、または3つの次元を有することができ、第3の次元は、使用中の参照ピクチャの指示である(第3の次元は、間接的に時間次元であり得る)。
【0019】
いくつかのビデオ圧縮技術では、サンプルデータの特定のエリアに適用可能なMVを、他のMVから、例えば、再構成中のエリアに空間的に隣接し、復号順でそのMVに先行するサンプルデータの他のエリアに関連するMVから、予測することができる。そうすることにより、MVのコーディングに必要なデータの量を大幅に低減し、それによって冗長性が排除され、圧縮率を増加することができる。例えば、(自然なビデオとして知られている)カメラから導出された入力ビデオ信号をコーディングするときに、単一のMVが適用可能なエリアよりも大きいエリアが同様の方向に移動し、したがって、場合によっては、近傍エリアのMVから導出された同様の動きベクトルを使用して予測され得る統計的尤度があるので、MV予測は、効果的に機能することができる。その結果、所与のエリアについて検出されたMVが周囲のMVから予測されたMVと同様か、または同じになり、それは、エントロピーコーディング後に、MVを直接コーディングした場合に使用されるはずのビット数より少ないビット数で表すことができる。場合によっては、MV予測は、原信号(すなわち、サンプルストリーム)から導出された信号(すなわち、MV)の可逆圧縮の一例となり得る。他の場合には、MV予測自体は、例えばいくつかの周囲のMVから予測子を計算するときの丸め誤差のために、非可逆であり得る。
【0020】
様々なMV予測メカニズムが、H.265/HEVC(ITU-T Rec.H.265、「High Efficiency Video Coding」、2016年12月)に記載されている。H.265が提供する多くのMV予測メカニズムのうち、図2を参照して説明するのは、以降「空間マージ」と呼ばれる技術である。
【0021】
図2を参照すると、現在のブロック(201)は、動き探索プロセス中にエンコーダによって、空間的にシフトされた同じサイズの以前のブロックから予測可能であることが発見されているサンプルを含む。そのMVを直接コーディングする代わりに、A0、A1、およびB0、B1、B2(それぞれ、202~206)と表記された5つの周囲のサンプルのいずれか1つと関連付けられたMVを使用して、1つまたは複数の参照ピクチャと関連付けられたメタデータから、例えば、(復号順に)最新の参照ピクチャから、MVを導出することができる。H.265では、MV予測は、近傍ブロックが使用している同じ参照ピクチャからの予測子を使用することができる。
【発明の概要】
【課題を解決するための手段】
【0022】
本開示の態様は、ビデオのエンコーディング/デコーディングのための方法および装置を提供する。いくつかの例では、ビデオ復号のための装置は処理回路を含む。処理回路は、現在のピクチャ内の再構成すべきクロマブロックの予測情報を復号する。予測情報は、平面モードを使用して現在のピクチャ内の少なくともルーマブロックに基づいて、クロマブロックが予測されることを示す。ルーマブロックは既に再構成され、クロマブロックとコロケートされている。処理回路は、クロマブロック内の1つまたは複数の第1のクロマサンプルは、ルーマブロック内の1つまたは複数のルーマサンプルに基づくと予測する。処理回路は、1つまたは複数の第1のクロマサンプルおよびクロマブロックの少なくとも1つの参照クロマサンプルに基づいて、クロマブロック内の第2のクロマサンプルを予測する。第2のクロマサンプルは、1つまたは複数の第1のクロマサンプルとは異なる。少なくとも1つの参照クロマサンプルは、クロマブロックに隣接している。
【0023】
実施形態では、1つまたは複数の第1のクロマサンプルは、クロマブロック内の右下のコーナーのクロマサンプルである。処理回路は、右下のコーナーのクロマサンプルおよび少なくとも1つの参照クロマサンプルに基づいて、(i)クロマブロックの下の行のクロマサンプル、または(ii)クロマブロックの最右列のクロマサンプルのうちの少なくとも1つを予測する。クロマブロックの下の行のクロマサンプルが予測されることに応答して、処理回路は、少なくとも1つの参照クロマサンプル内の上の参照クロマサンプルと、下の行の予測されたクロマサンプル内の予測された下のクロマサンプルとに基づいて、第2のクロマサンプルの垂直予測子を生成する。第2のクロマサンプル、上の参照クロマサンプル、および予測された下のクロマサンプルは、クロマブロック内の同じ列にある。クロマブロックの最右列内のクロマサンプルが予測されることに応答して、処理回路は、少なくとも1つの参照クロマサンプル内の左の参照クロマサンプルおよび最右列内の予測されたクロマサンプル内の予測された右のクロマサンプルに基づいて、第2のクロマサンプルの水平予測子を生成する。第2のクロマサンプル、左の参照クロマサンプル、および予測された右のクロマサンプルは、クロマブロックの同じ行にある。
【0024】
例では、処理回路は、クロマブロックの下の行のクロマサンプルおよびクロマブロックの最右列のクロマサンプルを予測する。処理回路は、垂直予測子および水平予測子に基づいて第2のクロマサンプルを予測する。
【0025】
例では、クロマブロックの幅がクロマブロックの高さよりも大きいか、またはクロマブロックの高さが閾値未満である。処理回路は、クロマブロックの下の行のクロマサンプルを予測し、垂直予測子に基づいて第2のクロマサンプルを予測する。
【0026】
例では、クロマブロックの幅は、クロマブロックの高さまたは閾値よりも小さい。処理回路は、クロマブロックの最右列のクロマサンプルを予測し、水平予測子に基づいて第2のクロマサンプルを予測する。
【0027】
例では、処理回路は、ルーマブロック内の右下のコーナーのルーマサンプルまたは右下のコーナーのクロマサンプルとコロケートされたルーマブロック内のルーマサンプルのうちの少なくとも1つに基づいて、クロマブロック内の右下のコーナーのクロマサンプルを予測する。
【0028】
例では、1つまたは複数の第1のクロマサンプルは、(i)クロマブロックの下の行のクロマサンプル、および(ii)クロマブロックの最右列のクロマサンプルを含む。処理回路は、少なくとも1つの参照クロマサンプル内の上の参照クロマサンプルと、下の行の予測されたクロマサンプル内の予測された下のクロマサンプルとに基づいて、第2のクロマサンプルの垂直予測子を生成する。第2のクロマサンプル、上の参照クロマサンプル、および予測された下のクロマサンプルは、クロマブロック内の同じ列にある。処理回路は、少なくとも1つの参照クロマサンプル内の左の参照クロマサンプルと、最右列内の予測されたクロマサンプル内の予測された右のクロマサンプルとに基づいて、第2のクロマサンプルの水平予測子を生成する。第2のクロマサンプル、左の参照クロマサンプル、および予測された右のクロマサンプルは、クロマブロックの同じ行にある。処理回路は、垂直予測子および水平予測子に基づいて第2のクロマサンプルを予測する。
【0029】
例では、クロマブロックの幅がクロマブロックの高さよりも大きいか、またはクロマブロックの高さが閾値未満である。1つまたは複数の第1のクロマサンプルは、クロマブロックの下の行にクロマサンプルを含む。処理回路は、少なくとも1つの参照クロマサンプル内の上の参照クロマサンプルと、下の行の予測されたクロマサンプル内の予測された下のクロマサンプルとに基づいて、第2のクロマサンプルの垂直予測子を生成する。第2のクロマサンプル、上の参照クロマサンプル、および予測された下のクロマサンプルは、クロマブロック内の同じ列にある。処理回路は、垂直予測子に基づいて第2のクロマサンプルを予測する。
【0030】
例では、クロマブロックの幅は、クロマブロックの高さまたは閾値よりも小さい。1つまたは複数の第1のクロマサンプルは、クロマブロックの最右列のクロマサンプルを含む。処理回路は、少なくとも1つの参照クロマサンプル内の左の参照クロマサンプルと、最右列内の予測されたクロマサンプル内の予測された右のクロマサンプルとに基づいて、第2のクロマサンプルの水平予測子を生成する。第2のクロマサンプル、左の参照クロマサンプル、および予測された右のクロマサンプルは、クロマブロックの同じ行にある。処理回路は、水平予測子に基づいて第2のクロマサンプルを予測する。
【0031】
例では、処理回路は、クロスコンポーネント線形モデル予測(CCLM)モードを使用して、1つまたは複数の第1のクロマサンプルとコロケートされたルーマブロック内の1つまたは複数のルーマサンプルに基づいて、クロマブロック内の1つまたは複数の第1のクロマサンプルを予測する。
【0032】
例では、少なくとも1つの参照クロマサンプルは、クロマブロックの上での近傍にある上の参照クロマサンプル、またはクロマブロックの左での近傍にある左の参照クロマサンプルのうちの少なくとも1つを含む。
【0033】
本開示の態様はまた、ビデオ復号のためにコンピュータによって実行されると、コンピュータにビデオデ復号のための方法を実行させる命令を格納する、非一時的コンピュータ可読媒体を提供する。
【0034】
開示されている主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになる。
【図面の簡単な説明】
【0035】
図1A】イントラ予測モードの例示的なサブセットの概略図である。
図1B】例示的なイントラ予測方向の図である。
図2】現在のブロック(201)および周囲のサンプルの一例を示す図である。
図3】通信システム(300)の例示的なブロック図の概略図である。
図4】通信システム(400)の例示的なブロック図の概略図である。
図5】デコーダの例示的なブロック図の概略図である。
図6】エンコーダの例示的なブロック図の概略図である。
図7】例示的なエンコーダを示すブロックである。
図8】例示的なデコーダを示すブロック図である。
図9】現在のブロックの例示的な参照サンプルを示す。
図10】クロスコンポーネント線形モデル(CCLM)モードで使用される再構成された近傍のルーマサンプルおよび再構成された近傍のクロマサンプルの例を示す。
図11】CCLMモードで使用される再構成された近傍のルーマサンプルおよび再構成された近傍のクロマサンプルの例を示す。
図12】クロマブロックにおける例示的なサンプルまたはサンプル位置を示す。
図13】本開示のいくつかの実施形態によるエンコーディングプロセスを概説するフローチャートを示している。
図14】本開示のいくつかの実施形態によるデコーディングプロセスを概説するフローチャートを示している。
図15】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0036】
図3は、通信システム(300)の例示的なブロック図を示している。通信システム(300)は、例えばネットワーク(350)を介して互いに通信し得る複数の端末デバイスを含む。例えば、通信システム(300)は、ネットワーク(350)を介して相互接続された端末デバイス(310)および(320)の第1の対を含む。図3の例において、端末デバイス(310)および(320)の第1の対は、データの単方向送信を実施する。例えば、端末デバイス(310)は、ネットワーク(350)を介して他方の端末デバイス(320)に送信するために、ビデオデータ(例えば、端末デバイス(310)によってキャプチャされたビデオピクチャのストリーム)をコーディングしてもよい。符号化されたビデオデータは、1つまたは複数のコーディングされたビデオビットストリームの形式で送信することができる。端末デバイス(320)は、ネットワーク(350)からコーディングされたビデオデータを受信し、コーディングされたビデオデータを復号してビデオピクチャを復元し、復元されたビデオデータに従ってビデオピクチャを表示し得る。単方向データ送信は、メディアサービングアプリケーションなどで一般的であり得る。
【0037】
別の例では、通信システム(300)は、例えばビデオ会議中にコード化ビデオデータの双方向送信を実行する端末デバイス(330)および(340)の第2のペアを含む。データの双方向送信の場合、一例では、端末デバイス(330)および(340)の各端末デバイスは、ネットワーク(350)を介して端末デバイス(330)および(340)のうちの他の端末デバイスに送信するためのビデオデータ(例えば、端末デバイスによって取り込まれたビデオピクチャのストリーム)をコード化することができる。端末デバイス(330)および(340)の各端末デバイスはまた、端末デバイス(330)および(340)のうちの他の端末デバイスによって送信されたコード化ビデオデータを受信することができ、コード化ビデオデータを復号してビデオピクチャを復元することができ、復元されたビデオデータに従ってアクセス可能な表示デバイスにビデオピクチャを表示することができる。
【0038】
図3の例において、端末デバイス(310)、(320)、(330)および(340)は、サーバ、パーソナルコンピュータおよびスマートフォンとしてそれぞれ例示されているが、本開示の原理はそのように限定されなくてもよい。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤおよび/または専用ビデオ会議機器と共に適用される。ネットワーク(350)は、例えば有線(配線)および/または無線通信ネットワークを含む、端末デバイス(310)、(320)、(330)および(340)間で、コーディングされたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(350)は、回路交換チャネルおよび/またはパケット交換チャネルでデータを交換し得る。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワークおよび/またはインターネットを含む。本説明の目的のために、ネットワーク(350)のアーキテクチャおよびトポロジーは、本明細書で以下に説明されない限り、本開示の動作にとって重要でない場合がある。
【0039】
図4は、開示の主題についての用途の一例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダを示している。開示の主題は、例えば、ビデオ会議、デジタルテレビ、ストリーミングサービス、CD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮ビデオの記憶などを含む他のビデオ対応用途に等しく適用可能であり得る。
【0040】
ストリーミングシステムは、例えば、圧縮されていないビデオピクチャのストリーム(402)を作成するビデオソース(401)、例えば、デジタルカメラを含むことができるキャプチャサブシステム(413)を含んでもよい。一例では、ビデオピクチャのストリーム(402)は、デジタルカメラによって撮られたサンプルを含む。ビデオピクチャのストリーム(402)は、符号化されたビデオデータ(404)(またはコーディングされたビデオビットストリーム)と比較したときの大きいデータ量を強調するために太線で示され、ビデオソース(401)に結合されたビデオエンコーダ(403)を含む電子デバイス(420)によって処理され得る。ビデオエンコーダ(403)は、以下で詳細に記載するように、開示された主題の態様を可能にする、または実装するために、ハードウェア、ソフトウェア、またはそれらの組合せを含むことができる。符号化ビデオデータ(404)(または符号化ビデオビットストリーム)は、ビデオピクチャのストリーム(402)と比較したときの少ないデータ量を強調するために細線で示され、将来の使用のためにストリーミングサーバ(405)に記憶することができる。図4のクライアントサブシステム(406)および(408)などの1つまたは複数のストリーミングクライアントサブシステムは、符号化されたビデオデータ(404)のコピー(407)および(409)を取り出すために、ストリーミングサーバ(405)にアクセスすることができる。クライアントサブシステム(406)は、例えば電子デバイス(430)内にビデオデコーダ(410)を含むことができる。ビデオデコーダ(410)は、符号化されたビデオデータの入力コピー(407)を復号し、ディスプレイ(412)(例えば、表示スクリーン)または他のレンダリングデバイス(図示せず)上でレンダリングされ得るビデオピクチャの出力ストリーム(411)を作成する。一部のストリーミングシステムでは、符号化されたビデオデータ(404)、(407)および(409)(例えば、ビデオビットストリーム)は、特定のビデオコーディング/圧縮規格に従って符号化することができる。それらの規格の例には、ITU-T勧告H.265が含まれる。一例では、開発中のビデオコーディング規格は、多用途ビデオコーディング(VVC)として非公式に知られている。開示された主題は、VVCの文脈で使用されてもよい。
【0041】
電子デバイス(420)および(430)は、他の構成要素(図示せず)を含むことができることに留意されたい。例えば、電子デバイス(420)はビデオデコーダ(図示せず)を含むことができ、電子デバイス(430)もビデオエンコーダ(図示せず)を含むことができる。
【0042】
図5は、ビデオデコーダ(510)の例示的なブロック図を示している。ビデオデコーダ(510)は、電子デバイス(530)に含めることができる。電子デバイス(530)は、受信機(531)(例えば、受信回路)を含むことができる。ビデオデコーダ(510)は、図4の例のビデオデコーダ(410)の代わりに使用することができる。
【0043】
受信機(531)は、ビデオデコーダ(510)によって復号されるべき1つまたは複数のコーディングされたビデオシーケンスを受信し得る。一実施形態では、一度に1つのコーディングされたビデオシーケンスが受信され、各コーディングされたビデオシーケンスの復号は、他のコーディングされたビデオシーケンスの復号から独立している。コーディングされたビデオシーケンスは、チャネル(501)から受信され、チャネル(501)は、符号化されたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクであり得る。受信機(531)は、他のデータ、例えば、コーディングされたオーディオデータおよび/または補助データストリームと共に符号化されたビデオデータを受信し、そのデータは、それらそれぞれの使用エンティティ(図示せず)に転送され得る。受信機(531)は、コーディングされたビデオシーケンスをその他のデータから分離し得る。ネットワークジッタに対抗するために、受信機(531)とエントロピーデコーダ/パーサ(520)(以降、「パーサ(520)」)との間にバッファメモリ(515)が結合され得る。特定の用途では、バッファメモリ(515)は、ビデオデコーダ(510)の一部である。他の用途では、バッファメモリ(515)は、ビデオデコーダ(510)の外部にあり得る(図示せず)。さらに他の用途では、例えば、ネットワークジッタに対抗するために、ビデオデコーダ(510)の外部にバッファメモリ(図示せず)が存在し、加えて、例えば、プレイアウトタイミングを処理するために、ビデオデコーダ(510)の内部に他のバッファメモリ(515)が存在してもよい。受信機(531)が十分な帯域幅および可制御性の記憶/転送デバイスから、またはアイソシンクロナスネットワークから、データを受信しているとき、バッファメモリ(515)は、不要な場合がある、または小さくしてもよい。インターネットなどのベストエフォートパケットネットワークで使用するために、バッファメモリ(515)は、必要とされる場合があり、比較的大きい可能性があり、有利なことに適応サイズであり得、オペレーティングシステムまたはビデオデコーダ(510)の外側の同様の要素(描写せず)に少なくとも部分的に実装されてもよい。
【0044】
ビデオデコーダ(510)は、コーディングされたビデオシーケンスからシンボル(521)を再構成するためにパーサ(520)を含み得る。これらのシンボルのカテゴリは、図5に示されるように、ビデオデコーダ(510)の動作を管理するために使用される情報と、電子デバイス(530)の不可欠な部分ではないが、電子デバイス(530)に結合され得るレンダリングデバイス(512)(例えば、表示スクリーン)などのレンダリングデバイスを潜在的に制御するための情報とを含む。レンダリングデバイスのための制御情報は、補足エンハンスメント情報(SEI)メッセージ、またはビデオユーザビリティ情報(VUI)のパラメータセットフラグメント(図示せず)の形式であり得る。パーサ(520)は、受信されたコーディングされたビデオシーケンスを解析/エントロピー復号し得る。コーディングされたビデオシーケンスのコーディングは、ビデオコーディング技術または規格に従うことができ、コンテキスト依存性ありまたはなしの可変長コーディング、ハフマンコーディング、算術コーディングなどを含む様々な原理に従うことができる。パーサ(520)は、グループに対応する少なくとも1つのパラメータに基づいて、コーディングされたビデオシーケンスから、ビデオデコーダ内のピクセルのサブグループのうちの少なくとも1つに関するサブグループパラメータのセットを抽出し得る。サブグループは、ピクチャグループ(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。パーサ(520)はまた、コード化ビデオシーケンスから、変換係数、量子化器パラメータ値、動きベクトルなどの情報を抽出することができる。
【0045】
パーサ(520)は、シンボル(521)を作成するために、バッファメモリ(515)から受け取ったビデオシーケンスに対してエントロピーデコーディング/構文解析動作を実行することができる。
【0046】
シンボル(521)の再構成は、コーディングされたビデオピクチャまたはその部分のタイプ(インターピクチャおよびイントラピクチャ、インターブロックおよびイントラブロックなど)、および他の要因に応じて、複数の異なるユニットを関与させることができる。どのユニットがどのように関与するかは、パーサ(520)が、コーディングされたビデオシーケンスから解析されたサブグループ制御情報によって制御することができる。パーサ(520)と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは、説明の都合上描写していない。
【0047】
既に述べられた機能ブロック以外に、ビデオデコーダ(510)は、以下に記載されるように、概念的にいくつかの機能ユニットに細分化することができる。商業的制約の下で動作する実際の実装形態では、これらのユニットの多くは、互いに密接に相互作用し、少なくとも部分的に互いに統合することができる。しかしながら、開示された主題を記載する目的のために、以下の機能ユニットへの概念的な細分化が適切である。
【0048】
第1のユニットはスケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット(551)は、量子化変換係数、ならびにどの変換を使用するか、ブロックサイズ、量子化係数、量子化スケーリング行列などを含む制御情報を、パーサ(520)からシンボル(521)として受信する。スケーラ/逆変換ユニット(551)は、アグリゲータ(555)に入力され得るサンプル値を備えるブロックを出力することができる。
【0049】
場合によっては、スケーラ/逆変換ユニット(551)の出力サンプルは、イントラコーディングされたブロックに関係することができる。イントラコーディングされたブロックは、以前に再構成されたピクチャからの予測情報を使用せず、現在のピクチャの以前に再構成された部分からの予測情報を使用し得るブロックである。そのような予測情報を、イントラピクチャ予測ユニット(552)が提供することができる。場合によっては、イントラピクチャ予測ユニット(552)は、現在のピクチャバッファ(558)からフェッチされた周囲の既に再構成された情報を使用して、再構成中のブロックと同じサイズおよび形状のブロックを生成する。現在のピクチャバッファ(558)は、例えば、部分的に再構成された現在のピクチャおよび/または完全に再構成された現在のピクチャをバッファする。アグリゲータ(555)は、場合によっては、サンプルごとに、イントラ予測ユニット(552)が生成した予測情報を、スケーラ/逆変換ユニット(551)によって提供される出力サンプル情報に追加する。
【0050】
他の場合には、スケーラ/逆変換ユニット(551)の出力サンプルは、インターコード化され、潜在的に動き補償されたブロックに関連する可能性がある。そのような場合、動き補償予測ユニット(553)は、参照ピクチャメモリ(557)にアクセスして、予測に使用されるサンプルをフェッチすることができる。ブロックに関係するシンボル(521)に従ってフェッチされたサンプルを動き補償した後、これらのサンプルを、出力サンプル情報を生成するために、アグリゲータ(555)によって、スケーラ/逆変換ユニット(551)の出力(この場合、残差サンプルまたは残差信号と呼ばれる)に追加することができる。動き補償予測ユニット(553)が予測サンプルをフェッチする参照ピクチャメモリ(557)内のアドレスを、例えば、X、Y、および参照ピクチャ成分を有し得るシンボル(521)の形式で動き補償予測ユニット(553)に利用可能な動きベクトルによって、制御することができる。動き補償はまた、サブサンプルの正確な動きベクトルが使用されているときに参照ピクチャメモリ(557)からフェッチされたサンプル値の補間、動きベクトル予測メカニズムなどを含むことができる。
【0051】
アグリゲータ(555)の出力サンプルは、ループフィルタユニット(556)において様々なループフィルタリング技法を受けることができる。コーディングされたビデオシーケンス(コーディングされたビデオビットストリームとも呼ばれる)に含まれるパラメータによって制御され、パーサ(520)からのシンボル(521)としてループフィルタユニット(556)に提供される、インループフィルタ技術を、ビデオ圧縮技術は含むことができる。ビデオ圧縮はまた、コーディングされたピクチャ、またはコーディングされたビデオシーケンスの(復号順で)前の部分の復号中に取得されたメタ情報に応答して行うこともでき、以前に再構成およびループフィルタリングされたサンプル値に応答して行うこともできる。
【0052】
ループフィルタユニット(556)の出力は、レンダリングデバイス(512)に出力されるだけでなく、将来のインターピクチャ予測で使用するために参照ピクチャメモリ(557)に格納することができるサンプルストリームであり得る。
【0053】
特定のコード化ピクチャは、完全に再構成されると、将来の予測のために参照ピクチャとして使用することができる。例えば、現在のピクチャに対応するコード化ピクチャが完全に再構成され、コード化ピクチャが参照ピクチャとして(例えば、パーサ(520)によって)識別されると、現在のピクチャバッファ(558)は、参照ピクチャメモリ(557)の一部になることができ、未使用の現在のピクチャバッファは、次のコード化ピクチャの再構成を開始する前に再割当てすることができる。
【0054】
ビデオデコーダ(510)は、ITU-T Rec.H.265などの所定のビデオ圧縮技術または規格に従って復号動作を実施し得る。コーディングされたビデオシーケンスが、ビデオ圧縮技術または規格の構文と、ビデオ圧縮技術または規格に文書化されているプロファイルとの両方を順守しているという意味で、コーディングされたビデオシーケンスは、使用されているビデオ圧縮技術または規格によって指定されている構文に準拠し得る。具体的には、プロファイルは、ビデオ圧縮技術または規格において利用可能なすべてのツールの中から、特定のツールを、そのプロファイル下でそれらだけが利用可能なツールとして選択することができる。また、コンプライアンスのために必要なのは、コーディングされたビデオシーケンスの複雑さが、ビデオ圧縮技術または規格のレベルによって定義された範囲内にあることであり得る。場合によっては、レベルは、最大ピクチャサイズ、最大フレームレート、(例えば、毎秒メガサンプル単位で測定された)最大再構成サンプルレート、最大参照ピクチャサイズなどを制限する。レベルによって設定される制限は、場合によっては、仮想参照デコーダ(HRD)の仕様、およびコード化ビデオシーケンス内でシグナリングされるHRDバッファ管理用のメタデータによってさらに制限され得る。
【0055】
一実施形態では、受信機(531)は、符号化ビデオとともに追加の(冗長な)データを受信することができる。追加のデータは、コーディングされたビデオシーケンスの一部として含まれ得る。追加のデータは、ビデオデコーダ(510)によって、データを適切にデコーディングするために、かつ/または元のビデオデータをより正確に再構成するために使用され得る。追加のデータは、例えば、時間、空間、または信号ノイズ比(SNR)の拡張レイヤ、冗長スライス、冗長ピクチャ、順方向誤り訂正コードなどの形式であり得る。
【0056】
図6は、ビデオエンコーダ(603)の例示的なブロック図を示している。ビデオエンコーダ(603)は、電子デバイス(620)に含まれる。電子デバイス(620)は、送信機(640)(例えば、送信回路)を含む。ビデオエンコーダ(603)は、図4の例のビデオエンコーダ(403)の代わりに使用することができる。
【0057】
ビデオエンコーダ(603)は、ビデオエンコーダ(603)によってコード化されるビデオ画像を取り込むことができる(図6の例では電子デバイス(620)の一部ではない)ビデオソース(601)からビデオサンプルを受信することができる。別の例では、ビデオソース(601)は電子デバイス(620)の一部である。
【0058】
ビデオソース(601)は、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、…)、任意の色空間(例えば、BT.601 Y CrCB、RGB、…)、および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であり得るデジタルビデオサンプルストリームの形式で、ビデオエンコーダ(603)によってコード化されるソースビデオシーケンスを提供することができる。メディアサービングシステムでは、ビデオソース(601)は、以前に準備されたビデオを記憶する記憶デバイスであり得る。ビデオ会議システムでは、ビデオソース(601)は、ビデオシーケンスとしてローカル画像情報をキャプチャするカメラであり得る。ビデオデータは、順番に見たときに動きを伝える複数の個別のピクチャとして提供されてもよい。ピクチャ自体は、ピクセルの空間配列として編成され、各ピクセルは、使用中のサンプリング構造、色空間などに応じて、1つまたは複数のサンプルを含むことができる。当業者は、ピクセルとサンプルとの間の関係を容易に理解することができる。以下の説明はサンプルに焦点を当てる。
【0059】
一実施形態によれば、ビデオエンコーダ(603)は、リアルタイムで、または必要とされる任意の他の時間制約の下で、ソースビデオシーケンスのピクチャをコーディングされたビデオシーケンス(643)にコーディングし、圧縮し得る。適切なコーディング速度を実施することが、コントローラ(650)の1つの機能である。いくつかの実施形態では、コントローラ(650)は、以下で説明される他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。この結合は説明都合上描かれていない。コントローラ(650)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、…)、ピクチャサイズ、ピクチャグループ(GOP)レイアウト、最大動きベクトル探索範囲などを含むことができる。コントローラ(650)は、特定のシステム設計のために最適化されたビデオエンコーダ(603)に関連する他の適切な機能を有するように構成することができる。
【0060】
いくつかの実施形態では、ビデオエンコーダ(603)は、コーディングループで動作するように構成される。過度に単純化した説明として、一例では、コーディングループは、(例えば、コーディングされるべき入力ピクチャ、および参照ピクチャに基づいて、シンボルストリームなどのシンボルを作成する役割を担う)ソースコーダ(630)と、ビデオエンコーダ(603)に組み込まれた(ローカル)デコーダ(633)とを含むことができる。デコーダ(633)は、(リモート)デコーダも作成することになるのと同様の方式で、シンボルを再構成してサンプルデータを作成する。再構成されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(634)に入力される。シンボルストリームのデコーディングは、デコーダの位置(ローカルまたはリモート)に関係なくビットイグザクトな結果をもたらすため、参照ピクチャメモリ(634)の内容も、ローカルエンコーダとリモートエンコーダとの間でビットイグザクトである。言い換えれば、エンコーダの予測部分は、復号中に予測を使用するときにデコーダが「見る」ことになるのと全く同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャの同期性(および、例えば、チャネルエラーのために同期性が維持できない場合に結果として生じるドリフト)のこの基本原理は、いくつかの関連技術でも使用される。
【0061】
「ローカル」デコーダ(633)の動作は、図5とともに上記で詳細に既に記載されている、ビデオデコーダ(510)などの「リモート」デコーダの動作と同じであり得る。しかしながら、また図5を簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(645)およびパーサ(520)によるコード化ビデオシーケンスへのシンボルの符号化/復号は可逆であり得るので、バッファメモリ(515)を含むビデオデコーダ(510)のエントロピー復号部分、およびパーサ(520)は、ローカルデコーダ(633)に完全に実装されていない可能性がある。
【0062】
一実施形態では、デコーダに存在する解析/エントロピー復号を除くデコーダ技術が、対応するエンコーダにおいて、同一または実質的に同一の機能的形態で存在する。したがって、開示された主題は、デコーダの動作に焦点を当てている。エンコーダ技術の説明は、包括的に記載されたデコーダ技術の逆であるため、省略することができる。特定の領域においてのみ、より詳細な説明が必要とされ、以下に提供される。
【0063】
動作中、いくつかの例では、ソースコーダ(630)は、「参照ピクチャ」として指定されたビデオシーケンスからの1つまたは複数の以前にコード化されたピクチャを参照して入力ピクチャを予測的にコード化する、動き補償予測コーディングを実行することができる。このようにして、コーディングエンジン(632)は、入力ピクチャのピクセルブロックと、入力ピクチャへの予測参照として選択され得る参照ピクチャのピクセルブロックとの間の差をコード化する。
【0064】
ローカルビデオデコーダ(633)は、ソースコーダ(630)によって作成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャのコーディングされたビデオデータをデコーディングすることができる。コーディングエンジン(632)の動作は、有利には、非可逆プロセスであってもよい。コーディングされたビデオデータが(図6には示されていない)ビデオデコーダで復号され得るとき、再構成されたビデオシーケンスは、通常、いくつかの誤差を伴うソースビデオシーケンスの複製であり得る。ローカルビデオデコーダ(633)は、参照ピクチャに対してビデオデコーダによって実施され得る復号プロセスを複製し、再構成された参照ピクチャを参照ピクチャメモリ(634)に記憶させ得る。このようにして、ビデオエンコーダ(603)は、(送信エラーなしで)遠端ビデオデコーダによって取得されることになる再構成された参照ピクチャとして共通のコンテンツを有する再構成された参照ピクチャのコピーをローカルに記憶し得る。
【0065】
予測子(635)は、コーディングエンジン(632)のための予測検索を実行することができる。すなわち、コーディングされる新しいピクチャの場合、予測子(635)は、新しい画素のための適切な予測参照として役立つことができる、(候補参照画素ブロックとしての)サンプルデータまたは参照ピクチャ動きベクトル、ブロック形状などの特定のメタデータを求めて、参照ピクチャメモリ(634)を検索することができる。予測子(635)は、適切な予測参照を見つけるために、画素ブロックごとにサンプルブロックに対して動作することができる。場合によっては、予測子(635)によって取得された検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(634)に格納された複数の参照ピクチャから引き出された予測参照を有することができる。
【0066】
コントローラ(650)は、例えば、ビデオデータをエンコーディングするために使用されるパラメータおよびサブグループパラメータの設定を含む、ソースコーダ(630)のコーディング動作を管理することができる。
【0067】
すべての前述の機能ユニットの出力は、エントロピーコーダ(645)内でエントロピーコーディングを受け得る。エントロピーコーダ(645)は、様々な機能ユニットによって生成されたシンボルを、ハフマンコーディング、可変長コーディング、算術コーディングなどといった技術に従ってシンボルに可逆圧縮を適用することによってコーディングされたビデオシーケンスに変換する。
【0068】
送信機(640)は、エントロピーコーダ(645)によって作成されたコーディングされたビデオシーケンスをバッファリングして、通信チャネル(660)を介した送信の準備をすることができ、通信チャネル(660)は、エンコーディングされたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクであってもよい。送信機(640)は、ビデオエンコーダ(603)からのコーディングされたビデオデータを、送信される他のデータ、例えば、コーディングされたオーディオデータおよび/または補助データストリーム(ソースは図示せず)とマージし得る。
【0069】
コントローラ(650)は、ビデオエンコーダ(603)の動作を管理することができる。コーディング中、コントローラ(650)は、各コーディングされたピクチャに特定のコーディングされたピクチャタイプを割り当てることができ、これは、それぞれのピクチャに適用され得るコーディング技法に影響を及ぼす場合がある。例えば、ピクチャは、しばしば、以下のピクチャタイプのうちの1つとして割り当てられてもよい。
【0070】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内のいかなる他のピクチャも使用せずにコーディングおよびデコーディングされ得るピクチャであり得る。いくつかのビデオコーデックは、例えば、独立デコーダリフレッシュ(「IDR」)ピクチャを含む、異なるタイプのイントラピクチャを可能にする。当業者は、Iピクチャのそれらの変形形態、ならびにそれらのそれぞれの用途および特徴を認識している。
【0071】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、多くとも1つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して、コーディングおよびデコーディングされ得るピクチャであり得る。
【0072】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、多くとも2つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して、コーディングおよびデコーディングされ得るピクチャであり得る。同様に、複数の予測ピクチャは、単一ブロックの再構成のために3つ以上の参照ピクチャおよび関連するメタデータを使用することができる。
【0073】
ソースピクチャは、通常、複数のサンプルブロック(例えば、各々4×4、8×8、4×8、または16×16サンプルのブロック)に空間的に細分化され、ブロックごとにコード化されてもよい。ブロックは、ブロックのそれぞれのピクチャに適用されたコーディング割り当てによって決定される他の(既にコーディングされた)ブロックを参照して予測的にコーディングされ得る。例えば、Iピクチャのブロックは、非予測的にコーディングされ得るか、または、同じピクチャの既にコーディングされたブロックを参照して予測的にコーディングされ得る(空間予測またはイントラ予測)。Pピクチャの画素ブロックは、1つの以前にコーディングされた参照ピクチャを参照して、空間予測を介して、または時間予測を介して、予測的にコーディングされてもよい。Bピクチャのブロックは、1つまたは2つの以前にコード化された参照ピクチャを参照して、空間予測を介してまたは時間予測を介して予測的にコード化されてもよい。
【0074】
ビデオエンコーダ(603)は、ITU-T Rec.H.265などの所定のビデオコーディング技術または規格に従ってコーディング動作を実行することができる。その動作において、ビデオエンコーダ(603)は、入力ビデオシーケンスにおける時間および空間の冗長性を利用する予測コーディング動作を含む、様々な圧縮動作を実施し得る。したがって、コード化されたビデオデータは、使用されているビデオコーディング技術または規格によって指定されたシンタックスに準拠することができる。
【0075】
一実施形態では、送信機(640)は、符号化ビデオとともに追加のデータを送信することができる。ソースコーダ(630)は、そのようなデータをコーディングされたビデオシーケンスの一部として含み得る。追加のデータは、時間/空間/SNR拡張レイヤ、冗長なピクチャおよびスライスなどの他の形式の冗長データ、SEIメッセージ、VUIパラメータセットフラグメントなどを含んでもよい。
【0076】
ビデオは、時系列で複数のソースピクチャ(ビデオピクチャ)として取り込まれてもよい。イントラピクチャ予測(しばしば、イントラ予測と省略される)は、所与のピクチャ内の空間相関を使用し、インターピクチャ予測は、ピクチャ間の(時間または他の)相関を使用する。一例では、現在のピクチャと呼ばれる、符号化/復号中の特定のピクチャがブロックに分割される。現在のピクチャ内のブロックが、ビデオ内で、以前にコーディングされ、未だバッファされている参照ピクチャ内の参照ブロックに類似しているとき、現在のピクチャ内のブロックを、動きベクトルと呼ばれるベクトルによってコーディングすることができる。動きベクトルは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用されている場合、参照ピクチャを識別する第3の次元を有することができる。
【0077】
いくつかの実施形態では、インターピクチャ予測において双予測技法を使用することができる。双予測技術によれば、第1の参照ピクチャおよび第2の参照ピクチャなどの2つの参照ピクチャが使用され、これらは両方ともビデオ内の現在のピクチャの復号順より前にある(しかし、表示順序は、それぞれ過去および未来のものであってもよい)。第1の参照ピクチャ内の第1の参照ブロックを指し示す第1の動きベクトルによって、および第2の参照ピクチャ内の第2の参照ブロックを指し示す第2の動きベクトルによって、現在のピクチャ内のブロックをコーディングすることができる。ブロックは、第1の参照ブロックと第2の参照ブロックの組合せによって予測することができる。
【0078】
さらに、コーディング効率を改善するために、インターピクチャ予測においてマージモード技法を使用することができる。
【0079】
本開示のいくつかの実施形態によれば、インターピクチャ予測やイントラピクチャ予測などの予測は、ブロック単位で実施される。例えば、HEVC規格によれば、ビデオピクチャのシーケンス内のピクチャは、圧縮のためにコーディングツリーユニット(CTU)に分割され、ピクチャ内のCTUは、64×64ピクセル、32×32ピクセル、16×16ピクセルなどの同じサイズを有する。一般に、CTUは、3つのコーディングツリーブロック(CTB)を含み、それらは1つのルーマCTBおよび2つのクロマ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ピクセルなどのピクセルの値(例えば、ルーマの値)の行列を含む。
【0080】
図7は、ビデオエンコーダ(703)の例示的な図を示している。ビデオエンコーダ(703)は、ビデオピクチャのシーケンス内の現在のビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受け取り、処理ブロックを、コーディングされたビデオシーケンスの一部であるコーディングされたピクチャに符号化するように構成される。一例では、ビデオエンコーダ(703)は、図4の例のビデオエンコーダ(403)の代わりに使用される。
【0081】
HEVCの例では、ビデオエンコーダ(703)は、8×8サンプルの予測ブロックなどの処理ブロック用のサンプル値の行列を受信する。ビデオエンコーダ(703)は、処理ブロックが、例えば、レート歪み最適化を使用して、イントラモード、インターモード、または双予測モードを使用して最適にコーディングされるか否かを決定する。処理ブロックがイントラモードでコーディングされることになるとき、ビデオエンコーダ(703)は、イントラ予測技術を使用して、処理ブロックをコーディングされたピクチャに符号化し、処理ブロックがインターモードまたは双予測モードでコーディングされることになるとき、ビデオエンコーダ(703)は、インター予測技術または双予測技術をそれぞれ使用して、処理ブロックをコーディングされたピクチャに符号化し得る。特定のビデオコーディング技術では、マージモードは、予測子の外側のコーディングされた動きベクトル成分の助けを借りずに、動きベクトルが1つまたは複数の動きベクトル予測子から導出されるインターピクチャ予測サブモードとすることができる。特定の他のビデオコーディング技術では、対象ブロックに適用可能な動きベクトル成分が存在してもよい。一例では、ビデオエンコーダ(703)は、処理ブロックのモードを決定するためにモード決定モジュール(図示せず)などの他の構成要素を含む。
【0082】
図7の例では、ビデオエンコーダ(703)は、図7に示されるように互いに結合されたインターエンコーダ(730)と、イントラエンコーダ(722)と、残差計算器(723)と、スイッチ(726)と、残差エンコーダ(724)と、汎用コントローラ(721)と、エントロピーエンコーダ(725)とを含む。
【0083】
インターエンコーダ(730)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、ブロックを参照ピクチャ内の1つまたは複数の参照ブロック(例えば、前のピクチャおよび後のピクチャ内のブロック)と比較し、インター予測情報(例えば、インター符号化技法による冗長情報、動きベクトル、マージモード情報の記述)を生成し、任意の適切な技法を使用して、インター予測情報に基づいてインター予測結果(例えば、予測ブロック)を計算するように構成される。いくつかの例では、参照ピクチャは、符号化されたビデオ情報に基づいて復号された復号参照ピクチャである。
【0084】
イントラエンコーダ(722)は、現在のブロック(例えば、処理ブロック)のサンプルを受け取り、場合によっては、ブロックを同じピクチャ内の既にコーディングされたブロックと比較し、変換後の量子化係数を生成し、場合によっては、イントラ予測情報(例えば、1つまたは複数のイントラ符号化技術によるイントラ予測方向情報)も生成するように構成される。一例では、イントラエンコーダ(722)はまた、同じピクチャ内のイントラ予測情報および参照ブロックに基づいて、イントラ予測結果(例えば、予測ブロック)を計算する。
【0085】
汎用コントローラ(721)は、汎用制御データを決定し、汎用制御データに基づいてビデオエンコーダ(703)の他の構成要素を制御するように構成される。一例では、汎用コントローラ(721)は、ブロックのモードを決定し、モードに基づいてスイッチ(726)に制御信号を提供する。例えば、モードがイントラモードであるとき、汎用コントローラ(721)は、スイッチ(726)を制御して残差計算器(723)が使用するためのイントラモード結果を選択し、エントロピーエンコーダ(725)を制御してイントラ予測情報を選択し、ビットストリームにイントラ予測情報を含め、モードがインターモードであるとき、汎用コントローラ(721)は、スイッチ(726)を制御して残差計算器(723)が使用するためのインター予測結果を選択し、エントロピーエンコーダ(725)を制御してインター予測情報を選択し、ビットストリームにインター予測情報を含める。
【0086】
残差計算器(723)は、受信ブロックと、イントラエンコーダ(722)またはインターエンコーダ(730)から選択された予測結果との間の差(残差データ)を計算するように構成される。残差エンコーダ(724)は、残差データに基づいて、残差データを符号化して変換係数を生成するよう動作するように構成される。一例では、残差エンコーダ(724)は、残差データを空間領域から周波数領域に変換し、変換係数を生成するように構成される。次いで、変換係数は、量子化変換係数を取得するために量子化プロセスを受ける。様々な実施形態において、ビデオエンコーダ(703)は残差デコーダ(728)も含む。残差デコーダ(728)は、逆変換を実施し、復号された残差データを生成するように構成される。復号された残差データを、イントラエンコーダ(722)およびインターエンコーダ(730)が適切に使用することができる。例えば、インターエンコーダ(730)は、復号された残差データおよびインター予測情報に基づいて、復号されたブロックを生成することができ、イントラエンコーダ(722)は、復号された残差データおよびイントラ予測情報に基づいて、復号されたブロックを生成することができる。復号されたブロックは、復号されたピクチャを生成するために適切に処理され、復号されたピクチャは、メモリ回路(図示せず)にバッファリングされ、いくつかの例では参照ピクチャとして使用することができる。
【0087】
エントロピーエンコーダ(725)は、符号化されたブロックを含めるために、ビットストリームをフォーマットするように構成される。エントロピーエンコーダ(725)は、HEVC規格などの適切な規格に従ってビットストリームに様々な情報を含めるように構成される。一例では、エントロピーエンコーダ(725)は、ビットストリームに、汎用制御データ、選択された予測情報(例えば、イントラ予測情報またはインター予測情報)、残差情報、および他の適切な情報を含めるように構成される。開示された主題によれば、インターモードまたは双予測モードのいずれかのマージサブモードでブロックをコード化するときは残差情報が存在しないことに留意されたい。
【0088】
図8は、ビデオデコーダ(810)の例示的な図を示している。ビデオデコーダ(810)は、コーディングされたビデオシーケンスの一部であるコーディングされたピクチャを受け取り、コーディングされたピクチャを復号して再構成されたピクチャを生成するように構成される。一例では、ビデオデコーダ(810)は、図4の例のビデオデコーダ(410)の代わりに使用される。
【0089】
図8の例では、ビデオデコーダ(810)は、図8に示されたように一緒に結合されたエントロピーデコーダ(871)、インターデコーダ(880)、残差デコーダ(873)、再構成モジュール(874)、およびイントラデコーダ(872)を含む。
【0090】
エントロピーデコーダ(871)は、コーディングされたピクチャから、コーディングされたピクチャが構成される構文要素を表す特定のシンボルを再構成するように構成することができる。そのようなシンボルは、例えば、ブロックがコーディングされているモード(例えば、イントラモード、インターモード、双予測モード、マージサブモードまたは他のサブモードのインターモードおよび双予測モードなど)、ならびにイントラデコーダ(872)またはインターデコーダ(880)によって、それぞれ、予測のために使用される特定のサンプルまたはメタデータを識別し得る予測情報(例えば、イントラ予測情報またはインター予測情報など)を含むことができる。シンボルはまた、例えば、量子化変換係数の形態の残差情報なども含むことができる。一例では、予測モードが、インターモードまたは双予測モードであるとき、インター予測情報は、インターデコーダ(880)に提供され、予測タイプが、イントラ予測タイプであるとき、イントラ予測情報は、イントラデコーダ(872)に提供される。残差情報は逆量子化を受けることができ、残差デコーダ(873)に提供される。
【0091】
インターデコーダ(880)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成される。
【0092】
イントラデコーダ(872)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成される。
【0093】
残差デコーダ(873)は、逆量子化を実施して、逆量子化変換係数を抽出し、逆量子化変換係数を処理して、残差情報を周波数領域から空間領域に変換するように構成される。残差デコーダ(873)はまた、(量子化パラメータ(QP)を含めるために)特定の制御情報を必要とする場合もあり、その情報は、エントロピーデコーダ(871)によって提供され得る(これは、少量の制御情報のみであり得るので、データパスは描かれていない)。
【0094】
再構成モジュール(874)は、空間領域において、残差デコーダ(873)によって出力される残差情報と、(場合によってインター予測モジュールまたはイントラ予測モジュールによって出力される)予測結果とを組み合わせて、再構成されたピクチャの一部になり得る再構成ブロックを形成するように構成され、再構成されたピクチャは、再構成されたビデオの一部になり得る。視覚的品質を改善するために、デブロッキング動作などの他の適切な動作を実施し得ることに留意されたい。
【0095】
ビデオエンコーダ(403)、(603)、および(703)、ならびにビデオデコーダ(410)、(510)、および(810)は、任意の適切な技法を使用して実装することができることに留意されたい。一実施形態では、ビデオエンコーダ(403)、(603)、および(703)、ならびにビデオデコーダ(410)、(510)、および(810)は、1つまたは複数の集積回路を使用して実装してもよい。別の実施形態では、ビデオエンコーダ(403)、(603)、および(603)、ならびにビデオデコーダ(410)、(510)、および(810)は、ソフトウェア命令を実行する1つまたは複数のプロセッサを使用して実装することができる。
【0096】
イントラ予測またはイントラ予測モードでは、符号化ブロックのサンプル値は、既に再構成された近傍サンプル、または再構成近傍サンプル(参照サンプルと呼ばれる)から予測することができる。
【0097】
イントラ予測の例は、指向性イントラ予測である。指向性イントラ予測では、参照サンプル(例えば、予測サンプル)または補間された参照サンプルを用いて、現在のブロック内のサンプル(例えば、現在のサンプル)を予測することができる。例えば、現在のサンプルと予測サンプルとの間で接続された線は、角度モードで使用されるような所与の角度方向を形成する。
【0098】
イントラ予測の別の例では、サンプル補間に基づく平面モードが使用される。平面モードでは、現在のブロック内またはその周囲の1つまたは複数のキー位置を、近傍の参照サンプルを使用して予測することができる。現在のブロック内の他の位置は、1つまたは複数のキー位置におけるサンプルと参照サンプルとの線形結合として予測することができる。重み(例えば、結合重み)は、現在のブロック内の現在のサンプルの位置に従って決定することができる。
【0099】
VVCなどの平面モードの例は、以下で計算される。
predV[x][y]=((H-1-y)×p[x][-1]+(y+1)×p[-1][H])<<Log2(W) 式1
predH[x][y]=((W-1-x)×p[-1][y]+(x+1)×p[W][-1])<<Log2(H) 式2
pred[x][y]=(predV[x][y]+predH[x][y]+W×H)>>(Log2(W)+Log2(H)+1) 式3
【0100】
図9を参照すると、現在のブロック(900)は、現在のブロック(900)内の位置(0,0)~(H-1,W-1)のサンプルを含む。WおよびHは、それぞれ現在のブロック(900)の幅および高さである。式1~式3に示すように、現在のブロック(900)内の位置(x,y)(x=0、1、...、またはW-1、およびy=0、1、...、またはH-1)における現在のサンプルの予測サンプル値pred[x][y]は、位置(-1,y)、(x,-1)、(-1,H)、および(W,-1)にそれぞれ位置する参照サンプルの参照サンプル値(例えば、p[-1][y]、p[x][-1]、p[-1][H]、およびp[W][-1])の加重平均として得ることができる。参照サンプルは、現在のサンプルと同じ行の位置(-1,y)に位置する参照サンプルと、現在のサンプルと同じ列の位置(x,-1)に位置する参照サンプルと、現在のブロックに対して左下の位置(-1,H)にある参照サンプルと、現在のブロックに対して右上の位置(W,-1)にある参照サンプルとを含むことができる。
【0101】
上述したように、参照サンプルの参照サンプル値は、位置(-1,y)の位置にある参照サンプルのp[-1][y]、位置(x,-1)の位置にある参照サンプルのp[x][-1]、位置左下(-1,H)の位置にある参照サンプルのp[-1][H]、および、位置右上(W,-1)の位置にある参照サンプルのp[W][-1]を含み得る。式1に示す例では、位置(x,-1)および(-1,H)の位置にある参照サンプルに基づいて、垂直予測子predV[x][y]が決定される。式2に示す例では、位置(-1,y)および(W,-1)の位置にある参照サンプルに基づいて、水平予測子predH[x][y]が決定される。式3において、予測サンプル値pred[x][y]は、水平予測子predH[x][y]と垂直予測子predV[x][y]との平均(例えば、加重平均)に基づいて決定される。
【0102】
クロスコンポーネント線形モデル予測(CCLM)モードは、クロスコンポーネント予測方法である。CCLMでは、クロマサンプルは、線形モデルを使用して、再構成されたルーマサンプルに基づいて予測することができる。線形モデルは、現在のブロック(例えば、符号化されるべきクロマブロック)の近傍の既に構築されたサンプルによって構築することができる。いくつかの実施形態では、ルーマチャネルおよびクロマチャネルが高度に線形相関しているとき、予測能力は高い。
【0103】
実施形態では、クロマブロック(例えば、現在のCbブロックまたは現在のCrブロック)は、コロケートルーマブロックに基づいて予測される。クロマブロックの予測ブロックPred_Cは、以下のように導出することができ、クロマブロックの予測ブロックPred_C内のサンプルPred_C(x,y)は、既に再構成されたコロケートルーマブロック内のサンプルに基づいて決定することができる。
Pred_C(x,y)=a×Rec_L’(x,y)+b 式4
【0104】
Pred_C(x,y)は、クロマブロック(例えば、現在のピクチャまたはクロマピクチャのクロマチャネル内で)のサンプル位置(x,y)における予測されたクロマサンプルを表す。Rec_L’(x,y)は、既に再構成されているコロケートルーマブロック(例えば、現在のピクチャのルーマチャネルまたはルーマピクチャ)内の再構成サンプルから決定することができる。Rec_L’(x,y)は、コロケートルーマブロック内の再構成ルーマサンプルまたはコロケートルーマブロックのダウンサンプリングされたルーマサンプルを表すことができる。
【0105】
例では、Rec_L’は、例えば、カラーフォーマットが4:4:4であり、クロマブロックのサイズがコロケートルーマブロックのサイズと同一である場合に、既に再構成されたコロケートルーマブロックである。したがって、Rec_L’(x,y)は、再構成されたサンプルがクロマブロックのサンプル位置(x,y)に対応するコロケートルーマブロック内の再構成されたサンプルを表すことができる。
【0106】
例では、Rec_L’は、既に再構成されたコロケートルーマブロックとは異なる。現在のクロマブロックはコロケートルーマブロックとコロケートされ、ルーマチャネルとクロマチャネルは異なる解像度を有する。例では、カラーフォーマットが4:2:0である場合、ルーマブロックの解像度は、垂直方向および水平方向の両方でクロマブロックの解像度の2倍である。したがって、カラーフォーマットが4:2:0であるとき、Rec_L’は、線形モデルの導出中にクロマブロックサイズと一致するように、対応するルーマブロックのダウンサンプリングされたブロックとすることができる。いくつかの実施形態では、コロケートルーマブロックは、カラーフォーマットが4:4:4でない場合にダウンサンプリングされる。
【0107】
式4のパラメータ(例えば、モデルパラメータ)aおよびbは、式4に示す線形モデルにおける勾配およびオフセットを表すことができ、それぞれ勾配パラメータおよびオフセットパラメータと呼ぶことができる。式4のパラメータaおよびbは、(i)クロマチャネル内の現在のクロマブロックおよび(ii)ルーマチャネル内のコロケートルーマブロックの周りの再構成された近傍サンプル(例えば、クロマサンプルおよびルーマサンプル)から導出することができる。パラメータaおよびbは、任意の適切な方法を使用して決定することができる。
【0108】
例では、パラメータaおよびbは、古典的な線形回帰理論を用いて決定される。(i)再構成された近傍のルーマサンプルまたは再構成された近傍のルーマサンプルのダウンサンプリングされたサンプルと、(ii)再構成された近傍のクロマサンプルとの間の最小線形最小二乗解を適用して、以下のパラメータaおよびbを導出することができる。
【数1】
【数2】
【0109】
式5~式6では、N個の再構成された近傍のクロマサンプルRec_C(i)およびN個の対応するルーマサンプルRec_L’(i)が使用される。カラーフォーマットが4:4:4である場合などの例では、N個の対応するルーマサンプルRec_L’(i)は、ルーマブロックのN個の再構成された近傍のルーマサンプルを含む。カラーフォーマットが4:2:0である場合などの例では、N個の対応するルーマサンプルRec_L’(i)は、ルーマブロックの再構成された近傍のルーマサンプルのN個のダウンサンプリングされたサンプルを含む。iは、1~Nの整数であり得る。
【0110】
パラメータaおよびbを決定するために使用されるN個の再構成された近傍のクロマサンプルは、クロマブロックの既に再構成された任意の適切な近傍サンプルを含むことができる。パラメータaおよびbを決定するために使用される再構成された近傍のルーマサンプルは、コロケートルーマブロックの既に再構成された任意の適切な近傍サンプルを含むことができる。
【0111】
CCLMモードの予測プロセスは、(1)コロケートルーマブロックおよびコロケートルーマブロックの再構成された近傍のルーマサンプルをダウンサンプリングして、Rec_L’およびダウンサンプリングされた近傍のルーマサンプルを取得し、したがって、対応するクロマブロックのサイズと一致させることと、(2)例えば、式5~式6を使用して、ダウンサンプリングされた近傍のルーマサンプルおよび再構成された近傍のクロマサンプルに基づいてパラメータaおよびbを導出することと、(3)CCLMモデル(例えば、式4)を適用して、クロマ予測ブロックPred_Cを生成することとを含むことができる。いくつかの例では、コロケートルーマブロックおよびクロマブロックの空間解像度が同一であり、ステップ(2)が再構成された近傍のルーマサンプルに基づく場合、ステップ(1)は省略される。
【0112】
図10は、CCLM導出で使用される再構成された近傍のルーマサンプルおよび再構成された近傍のクロマサンプルの例を示す。クロマブロック(1000)は再構成中である。クロマブロック(1000)の幅はM(例えば、8)、高さはN(例えば、4)である。NおよびMは正の整数であり得る。クロマブロック(1000)とコロケートルーマブロック(例えば、コロケートルーマブロック)(1001)は、クロマブロック(1000)を予測するために使用される。ルーマブロック(1001)は、ルーマサンプル(1040)を含む。ルーマブロック(1001)は、任意の適切な幅および任意の適切な高さを有することができる。図10に示す例では、ルーマブロック(1001)の幅は2 M(例えば、16)、高さは2N(例えば、8)である。
【0113】
クロマブロック(1000)の近傍のクロマサンプル(1010)(例えば、灰色で陰影が付けられている)は、既に再構成されている。ルーマブロック(1001)の近傍のルーマサンプル(1020)は既に再構成されている。近傍のクロマサンプル(1010)は、上に近傍のクロマサンプル(1011)および左近傍のクロマサンプル(1012)を含むことができる。ルーマブロック(1001)の近傍のルーマサンプル(1020)は、上近傍のルーマサンプル(1021)および左近傍のルーマサンプル(1022)を含むことができる。
【0114】
図10の例では、近傍のルーマサンプル(1020)は、サブサンプリングまたはダウンサンプリングされて、ダウンサンプリングされた近傍のルーマサンプル(1030)(例えば、灰色で陰影が付けられている)を生成し、近傍のクロマサンプルの数(例えば、12)と一致する。図10に示す例では、式5~式6に示すように、近傍のクロマサンプル(1010)およびダウンサンプリングされた近傍のルーマサンプル(1030)を使用して、パラメータaおよびbを決定することができる。
【0115】
例では、クロマブロック(1000)の近傍のクロマサンプルは、上近傍のクロマサンプル(1011)のみを含み、左近傍のクロマサンプル(1012)を含まない。したがって、ルーマブロック(1001)の近傍のルーマサンプルは、上近傍のルーマサンプル(1021)のみを含み、左近傍のルーマサンプル(1022)を含まない。上述したように、上近傍のルーマサンプル(1021)は、上近傍のクロマサンプル(1011)の数(例えば、8)と一致するようにダウンサンプリング(例えば、ダウンサンプリングされたルーマサンプルは、グレーで陰影が付けられる)することができる。
【0116】
例では、クロマブロック(1000)の近傍のクロマサンプルは、左近傍のクロマサンプル(1012)のみを含み、上近傍のクロマサンプル(1011)を含まない。したがって、ルーマブロック(1001)の近傍のルーマサンプルは、左近傍のルーマサンプル(1022)のみを含み、上近傍のルーマサンプル(1021)を含まない。上述したように、左近傍のルーマサンプル(1022)は、左近傍のクロマサンプル(1012)の数(例えば、4)と一致するようにダウンサンプリング(例えば、ダウンサンプリングされたルーマサンプルは、グレーで陰影が付けられる)されることができる。
【0117】
いくつかの例では、クロマブロック(1000)の近傍の再構成ブロック内のクロマサンプル、およびルーマブロック(1001)の近傍の再構成ブロック内の対応するルーマサンプルを使用して、パラメータaおよびbを決定することができる。
【0118】
クロマブロック(1000)は、Cbチャネル内のCbブロック、またはCrチャネル内のCrブロックとすることができる。例では、各クロマチャネル(例えば、CrまたはCb)に対して、パラメータaおよびbを別々に決定することができる。例えば、Crブロックのパラメータaおよびbは、Crブロックのクロマ再構成近傍サンプルに基づいて決定され、Cbブロックのパラメータaおよびbは、Cbブロックのクロマ再構成近傍サンプルに基づいて決定される。
【0119】
図10は、長方形の形状を有するクロマブロック(1000)のCCLM導出に使用される再構成された近傍のルーマサンプルおよび再構成された近傍のクロマサンプルの例を示す。図10の説明は、正方形などの任意の形状を有するクロマブロックおよびコロケートルーマブロックに適合させることができる。図11は、クロマブロック(1100)のためのCCLM導出で使用される再構成された近傍のルーマサンプル(1120)および再構成された近傍のクロマサンプル(1110)の例を示す。クロマブロック(1100)の幅および高さは、それぞれW 1(例えば、8)およびH 1(例えば、8)であり、W 1はH 1に等しい。クロマブロック(1100)とコロケートルーマブロック(例えば、コロケートルーマブロック)(1101)は、クロマブロック(1100)を予測するために使用される。ルーマブロック(1101)の幅は2 W 1(例えば、16)、高さは2 H 1(例えば、16)である。
【0120】
いくつかの実施形態では、線形モデルパラメータaおよびbを生成するために使用される参照サンプルは、ノイズが多く、および/または実際の予測ブロック内側の内容を相対的に表していない。したがって、予測は符号化の効率に関して準最適であり得る。
【0121】
本開示は、画像およびビデオ圧縮における、クロスコンポーネント平面予測方法を説明する。実施形態では、クロスコンポーネント予測(例えば、クロスコンポーネント線形モデル(CCLM)モード)および平面モード(例えば、平面イントラ予測)は、画像およびビデオ圧縮において組み合わされる。
【0122】
本開示の実施形態によれば、以下のように、符号化されるべきクロマブロック(例えば、再構成されるか、または符号化される)に対してクロスコンポーネント平面予測を実行することができる。クロマブロック内の1つまたは複数のクロマサンプルは、クロマブロックとコロケートされているルーマブロック(コロケートルーマブロックとも呼ばれる)内の1つまたは複数のルーマサンプルに基づいて予測することができる。クロマブロック内の残りのクロマサンプルは、例えば、平面モードを使用して、クロマブロック内の予測された1つまたは複数のクロマサンプルと、クロマブロックの外側の参照クロマサンプルとに基づいて予測することができる。残りのクロマサンプルは、1つまたは複数のクロマサンプルとは異なる。クロマブロックおよび参照クロマサンプルは、現在のピクチャのクロマチャネル(例えば、CbチャネルまたはCrチャネル)内にあることができる。ルーマブロックは現在のピクチャ内にある。参照クロマサンプルは、クロマブロックに隣接することができる。参照クロマサンプルは、符号化されるクロマブロックの近傍のクロマブロック内のクロマサンプルを含むことができる。例えば、参照クロマサンプルは、クロマブロックの上方にある上の参照クロマサンプル、および/またはクロマブロックの左にある左の参照クロマサンプルを含む。クロマブロックおよびルーマブロックは、同一の解像度を有することができ、または異なる解像度を有することができる。
【0123】
クロスコンポーネント平面予測の1つまたは複数のクロマサンプルは、同じピクチャ内のコロケートルーマブロック内のルーマサンプル(例えば、現在のピクチャ)から予測されるので、クロスコンポーネント平面予測は、クロスコンポーネント予測のない平面モードよりも正確であり得る。
【0124】
例では、クロマブロックのキー位置(例えば、キー位置にある1つまたは複数のクロマサンプル)は、CCLMモードなどのクロスコンポーネント予測を使用するルーマ情報(例えば、コロケートルーマブロック内のルーマサンプル)を使用して予測される。その後、クロマブロック内の残りの位置(例えば、他のすべての位置)は、クロマブロックのキー位置におけるサンプル値および参照サンプル(例えば、上の参照サンプルおよび左の参照サンプル)を使用して予測することができる。例では、現在のブロックの予測ブロックに対して平面状の勾配効果を期待することができる。クロスコンポーネント平面予測における平面勾配は、クロスコンポーネント予測のない平面モードよりも正確であり得、したがって、クロスコンポーネント平面予測はより正確であり得る。
【0125】
図12は、クロマブロック(1200)における例示的なサンプルまたはサンプル位置を示す。クロマブロック(1200)が符号化される。例では、クロマブロック(1200)は再構成中である。ルーマブロック(コロケートルーマブロックとも呼ばれる)(図示せず)は、クロマブロック(1200)とコロケートされる。クロマブロック(1200)およびルーマブロックは、現在のピクチャ内にある。クロマブロック(1200)は、幅W(例えば、8)および高さH(例えば、8)を有する。WおよびHは、任意の適切な正の整数であり得る。Wは、Hと同一であり得るか、または異なり得る。
【0126】
(グレーで陰影が付けられた)参照クロマサンプル(1210)は、上の参照クロマサンプル(1211)および左の参照クロマサンプル(1212)を含むことができる。上の参照クロマサンプル(1211)は、右上の参照クロマサンプル(1204)(p[W-1][-1]と呼ばれる)を含む。左の参照クロマサンプル(1212)は、左下の参照クロマサンプル(1203)(p[-1][H-1]と呼ばれる)を含む。
【0127】
例では、参照クロマサンプル(1210)は、左上の参照クロマサンプル(1205)をさらに含む。例では、参照クロマサンプル(1210)は、左上の参照クロマサンプル(1205)を含まない。
【0128】
クロスコンポーネント平面予測を使用して、クロマブロック(1200)を予測することができる。クロマブロック(1200)の右下のコーナーの位置にある右下のコーナーのクロマサンプル(1202)などのクロマブロック(1200)内のクロマサンプルは、クロスコンポーネント予測技術(例えば、CCLMモード)を使用して、ルーマサンプルに基づいて、予測することができる。続いて、pred[W-1][H-1]と呼ばれる予測された右下のコーナーのクロマサンプル(1202)などの予測されたクロマサンプルを使用して、(i)クロマブロック(1200)の下の行(1213)のクロマサンプルの予測サンプル(例えば、pred[x][H-1]、式中、xは0~W-1の整数である)および/または(ii)クロマブロック(1200)の最右列(1214)のクロマサンプルの予測サンプル(例えば、pred[W-1][y]、式中、yは0~H-1の整数である)を生成することができる。
【0129】
例えば、1番下の行(1213)の予測されたクロマサンプルpred[x][H-1]は、式7に示されるように、予測された右下のコーナーのクロマサンプルpred[W-1][H-1](1202)と左下の参照クロマサンプルp[-1][H-1](1203)との平均(例えば、線形補間)に基づいて生成される。同様に、最右列(1214)の予測されたクロマサンプルpred[W-1][y]は、式8に示すように、予測された右下のコーナーのクロマサンプルpred[W-1][H-1](1202)と右上の参照クロマサンプルp[W-1][-1](1204)との平均(例えば、線形補間)を使用して生成することができる。
pred[x][H-1]=((W-1-x)×p[-1][H-1]+(x+1)×p[W-1][H-1])<<Log2(W) 式7
pred[W-1][y]=((H-1-y)×p[W-1][-1]+(y+1)×p[W-1][H-1])<<Log2(H) 式8
【0130】
式7~式8で使用される重みは、下の行(1213)の予測されたクロマサンプルpred[x][H-1]または最右列(1214)の予測されたクロマサンプルpred[W-1][y]の位置によって決定することができる。予測子(または予測子サンプル)(例えば、p[-1][H-1])の重み(例えば、(W-1-x))は、予測サンプル(例えば、pred[x][H-1])と予測子との間の距離が減少すると増加し得る。式7~式8に示すような例では、(i)予測子の重みと(ii)予測サンプルと予測子との間の距離との間の関係は線形である。
【0131】
クロマブロック(1200)(例えば、x=0、1、...、W-1、およびy=0、1、...、H-1)内の位置(x,y)に位置するクロマサンプル(1201)について、予測サンプル(予測されたサンプルとも呼ばれる)pred[x][y]は、水平予測子predH[x][y]と垂直予測子predV[x][y]を平均することによって生成でき、例えば以下の式9に示す。
pred[x][y]=(predV[x][y]+predH[x][y]+W×H)>>(Log2(W)+Log2(H)+1) 式9
【0132】
クロマサンプル(1201)の水平予測子predH[x][y]は、左の参照クロマサンプル(1212)内の左の参照クロマサンプル(1222)(例えば、pred[-1][y])と、最右列(1214)内の予測されたクロマサンプル内の予測された右のクロマサンプル(1224)(例えば、p[W-1][y])とに基づいて生成されることができる。例えば、水平予測子predH[x][y]は、式10に示すように、左の参照クロマサンプル(1222)(例えば、pred[-1][y])および予測された右のクロマサンプル(1224)(例えば、p[W-1][y])の加重平均または線形補間である。例では、クロマサンプル(1201)、左の参照クロマサンプル(1222)、および予測された右のクロマサンプル(1224)は、クロマブロック(1200)の同じ行にある。
【0133】
クロマサンプル(1201)の垂直予測子predV[x][y]は、上の参照クロマサンプル(1211)内の上の参照クロマサンプル(1221)(例えば、pred[x][-1])と、下の行(1213)内の予測されたクロマサンプル内の予測された下のクロマサンプル(1223)(例えば、p[x][H-1])とに基づいて生成されることができる。例えば、垂直予測子predV[x][y]は、式11に示すように、上の参照クロマサンプル(1221)(例えば、pred[x][-1])および予測された下のクロマサンプル(1223)(例えば、p[x][H-1])の加重平均または線形補間である。例では、クロマサンプル(1201)、上の参照クロマサンプル(1221)、および予測された下のクロマサンプル(1223)は、クロマブロック(1200)の同じ列にある。
【0134】
式10~式11の水平予測子predH[x][y]および垂直予測子predV[x][y]を生成するために使用される重み(例えば、((W-1-x)、(x+1)、(H-1-y)、および(y+1))は、クロマサンプル(1201)の位置によって決定することができる。予測子(または予測子サンプル)(例えば、p[-1][y])の重み(例えば、(W-1-x))は、クロマサンプル(1201)と予測子との間の距離が減少するときに増加することができる。式10~式11に示す例では、(i)それぞれの予測子の重みと(ii)クロマサンプル(1201)と予測子予測子との間の距離との間の関係は線形である。
predH[x][y]=((W-1-x)×p[-1][y]+(x+1)×p[W-1][y])<<Log2(W) 式10
predV[x][y]=((H-1-y)×p[x][-1]+(y+1)×p[x][H-1])<<Log2(H) 式11
【0135】
実施形態では、最右列(1214)の予測されたクロマサンプルpred[W-1][y](例えば、最右列(1214)全体のすべての予測されたクロマサンプルpred[W-1][y])および下の行(1213)の予測されたクロマサンプルpred[x][H-1](例えば、下の行(1213)全体のすべての予測されたクロマサンプルpred[x][H-1])は、クロスコンポーネント予測技術(例えば、CCLMモード)を使用して、コロケートルーマブロック内のルーマサンプルから予測することができる。例えば、最右列全体(1214)の予測されたクロマサンプルpred[W-1][y])および下の行全体(1213)の予測されたクロマサンプルpred[x][H-1]は、クロスコンポーネント予測から直接得られ、式7~式8を使用せずに、コロケートルーマブロック内のルーマサンプルから直接予測される。続いて、クロマサンプル(1201)の予測サンプルpred[x][y]は、式9~式11で上述したように、水平予測子predH[x][y]および垂直予測子predV[x][y]を平均することによって生成することができる。
【0136】
いくつかの例では、予測されたクロマサンプル(例えば、pred[W-1][H-1]))は、式7~11で上述したように、別のクロマサンプル(例えば、pred[x][H-1])またはpred[W-1][y]))を予測するために直接使用される。例では、それぞれの残差が予測されたクロマサンプル(例えば、pred[W-1][H-1])に加算されて、更新された予測されたクロマサンプル(例えば、再構成されたサンプル)が取得され、更新された予測されたクロマサンプルは、他のクロマサンプル(例えば、pred[x][H-1])またはpred[W-1][y])を予測するために使用される。
【0137】
一実施形態では、水平予測子predH[x][y]または垂直予測子predV[x][y]は、例えば、クロマブロックが長方形(非正方形)である場合に別々に使用することができる。例えば、クロマブロックの幅Wがクロマブロックの高さHよりも大きい場合、垂直予測子predV[x][y]のみが使用される。例えば、幅Wが高さH未満である場合、水平予測子predH[x][y]のみが使用される。
【0138】
一実施形態では、ブロックサイズの条件が満たされる場合、水平予測子predH[x][y]または垂直予測子predV[x][y]を使用することができる。例えば、幅Wが幅の閾値(例えば、事前設定の定数W0)未満である場合、水平予測子predH[x][y]が有効にされる。高さHが高さの閾値(例えば、事前設定の定数H0)未満である場合、垂直予測子predV[x][y]が有効にされる。水平予測子predH[x][y]および垂直予測子predV[x][y]が有効にされる場合、最終的な予測pred[x][y]は、式9で上述したように、水平予測子predH[x][y]および垂直予測子predV[x][y]の平均とすることができる。
【0139】
例では、垂直予測子predV[x][y]のみが使用される場合、右下のコーナーのクロマサンプル(1202)を除いて、最右列(1214)のクロマサンプルに対して予測は実行されない。例では、水平予測子predH[x][y]のみが使用される場合、右下のコーナーのクロマサンプル(1202)を除いて、下の行(1213)のクロマサンプルに対して予測は実行されない。
【0140】
図13は、本開示の実施形態による、プロセス(符号化プロセス(1300))を概説するフローチャートを示す。プロセス(1300)は、処理回路を含むことができるビデオ符号化のための装置によって実行することができる。装置の処理回路、例えばプロセス(1300)は、端末デバイス(310)、(320)、(330)、および(340)内の処理回路、ビデオエンコーダ(例えば、(403)、(603)、(703))の機能を実施する処理回路などの処理回路によって実行されるよう構成できる。いくつかの実施形態では、プロセス(1300)はソフトウェア命令の中で実施され、したがって、処理回路がソフトウェア命令を実行したときに処理回路がプロセス(1300)を実行する。プロセスは(S1301)で開始し、(S1310)に進む。
【0141】
(S1310)において、現在のピクチャ内のクロマブロック内の1つまたは複数の第1のクロマサンプルは、平面モードを使用して、現在のピクチャ内のルーマブロック内の1つまたは複数のルーマサンプルに基づいて予測することができる。ルーマブロックは既に再構成されており、クロマブロックとコロケートされている。
【0142】
実施形態では、クロマブロック内の1つまたは複数の第1のクロマサンプルは、クロスコンポーネント線形モデル予測(CCLM)モードを使用して、1つまたは複数の第1のクロマサンプルとコロケートされるルーマブロック内の1つまたは複数のルーマサンプルに基づいて予測される。
【0143】
(S1320)において、1つまたは複数の第1のクロマサンプルおよびクロマブロックの少なくとも1つの参照クロマサンプルに基づいて、クロマブロック内の第2のクロマサンプルを予測することができる。第2のクロマサンプルは、1つまたは複数の第1のクロマサンプルとは異なり得る。少なくとも1つの参照クロマサンプルは、クロマブロックに隣接することができる。
【0144】
例では、少なくとも1つの参照クロマサンプルは、クロマブロックの上近傍の上の参照クロマサンプル、またはクロマブロックの左近傍の左の参照クロマサンプルのうちの少なくとも1つを含む。
【0145】
(S1330)において、平面モードを使用してルーマブロックに基づいてクロマブロックが予測されることを示すクロマブロックの予測情報を符号化することができる。符号化された予測情報は、符号化されたビデオビットストリームに含まれ得る。
【0146】
第2のクロマサンプルは、予測された第2のクロマサンプルに基づいて符号化することができる。例では、符号化されたビデオビットストリーム内の第2のクロマサンプルについて残差はシグナリングされない。例では、第2のクロマサンプルの残差が、符号化されたビデオビットストリームにおいてシグナリングされる。
【0147】
次いで、プロセス(1300)は、(S1399)に進んで終了する。
【0148】
プロセス(1300)は、様々なシナリオに適切に適合させることができ、プロセス(1300)内のステップは、それに応じて調整することができる。プロセス(1300)内のステップのうちの1つまたは複数を、適合させ、省略し、繰り返し、かつ/または組み合わせることができる。プロセス(1300)を実施するために任意の適切な順序を使用することができる。追加のステップを追加することができる。
【0149】
実施形態では、1つまたは複数の第1のクロマサンプルは、クロマブロック内の右下のコーナーのクロマサンプルである。右下のコーナーのクロマサンプルおよび少なくとも1つの参照クロマサンプルに基づいて、(i)クロマブロックの下の行のクロマサンプル、または(ii)クロマブロックの最右列のクロマサンプルのうちの少なくとも1つを予測することができる。例では、クロマブロックの下の行のクロマサンプルが予測され、第2のクロマサンプルの垂直予測子が、少なくとも1つの参照クロマサンプル内の上の参照クロマサンプルと、下の行の予測されたクロマサンプル内の予測された下のクロマサンプルとに基づいて生成される。第2のクロマサンプル、上の参照クロマサンプル、および予測された下のクロマサンプルは、クロマブロック内の同じ列にあることができる。
【0150】
例では、クロマブロックの最右列内のクロマサンプルが予測され、第2のクロマサンプルの水平予測子が、少なくとも1つの参照クロマサンプル内の左の参照クロマサンプルおよび最右列内の予測されたクロマサンプル内の予測された右のクロマサンプルに基づいて生成される。第2のクロマサンプル、左の参照クロマサンプル、および予測された右のクロマサンプルは、クロマブロックの同じ行にあることができる。
【0151】
例では、クロマブロックの下の行のクロマサンプルおよびクロマブロックの最右列のクロマサンプルが予測される。第2のクロマサンプルは、垂直予測子および水平予測子に基づいて予測することができる。
【0152】
例では、クロマブロックの幅がクロマブロックの高さよりも大きいか、またはクロマブロックの高さが閾値未満である。クロマブロックの下の行のクロマサンプルが予測され、第2のクロマサンプルが垂直予測子に基づいて予測される。
【0153】
例では、クロマブロックの幅は、クロマブロックの高さまたは閾値よりも小さい。クロマブロックの最右列のクロマサンプルが予測され、第2のクロマサンプルが水平予測子に基づいて予測される。
【0154】
例では、クロマブロック内の右下のコーナーのクロマサンプルは、ルーマブロック内の右下のコーナーのルーマサンプル、または右下のコーナーのクロマサンプルとコロケートされるルーマブロック内のルーマサンプルのうちの少なくとも1つに基づいて予測される。
【0155】
一実施形態では、1つまたは複数の第1のクロマサンプルは、(i)クロマブロックの下の行のクロマサンプル、および(ii)クロマブロックの最右列のクロマサンプルを含む。第2のクロマサンプルの垂直予測子は、少なくとも1つの参照クロマサンプル内の上の参照クロマサンプルと、下の行の予測されたクロマサンプル内の予測された下のクロマサンプルとに基づいて生成されることができる。第2のクロマサンプル、上の参照クロマサンプル、および予測された下のクロマサンプルは、クロマブロック内の同じ列にあることができる。第2のクロマサンプルの水平予測子は、少なくとも1つの参照クロマサンプル内の左の参照クロマサンプルおよび最右列内の予測されたクロマサンプル内の予測された右のクロマサンプルに基づいて生成されることができる。第2のクロマサンプル、左の参照クロマサンプル、および予測された右のクロマサンプルは、クロマブロック内の同じ行にあることができる。第2のクロマサンプルは、垂直予測子および水平予測子に基づいて予測することができる。
【0156】
実施形態では、クロマブロックの幅がクロマブロックの高さよりも大きいか、またはクロマブロックの高さが閾値未満である。1つまたは複数の第1のクロマサンプルは、クロマブロックの下の行にクロマサンプルを含む。第2のクロマサンプルの垂直予測子は、少なくとも1つの参照クロマサンプル内の上の参照クロマサンプルと、下の行の予測されたクロマサンプル内の予測された下のクロマサンプルとに基づいて生成される。第2のクロマサンプル、上の参照クロマサンプル、および予測された下のクロマサンプルは、クロマブロック内の同じ列にあることができる。第2のクロマサンプルは、垂直予測子に基づいて予測される。
【0157】
一実施形態では、クロマブロックの幅は、クロマブロックの高さまたは閾値よりも小さい。1つまたは複数の第1のクロマサンプルは、クロマブロックの最右列のクロマサンプルを含む。第2のクロマサンプルの水平予測子は、少なくとも1つの参照クロマサンプル内の左の参照クロマサンプルおよび最右列内の予測されたクロマサンプル内の予測された右のクロマサンプルに基づいて生成されることができる。第2のクロマサンプル、左の参照クロマサンプル、および予測された右のクロマサンプルは、クロマブロック内の同じ行にあることができる。第2のクロマサンプルは、水平予測子に基づいて予測される。
【0158】
図14は、本開示の一実施形態による、プロセス(例えば、復号プロセス)(1400)を概説するフローチャートを示している。プロセス(1400)は、ビデオデコーダで使用することができる。プロセス(1400)は、受信回路および処理回路を含むことができるビデオ符号化のための装置によって実行することができる。装置の処理回路、例えば端末デバイス(310)、(320)、(330)および(340)の処理回路、ビデオデコーダ(410)の機能を実行する処理回路、ビデオデコーダ(510)の機能を実行する処理回路などがプロセス(1400)を実行するよう構成できる。いくつかの例では、プロセス(1400)は、ビデオエンコーダ(例えば、ビデオエンコーダ(403)、ビデオエンコーダ(603))で使用される。例では、プロセス(1400)は、ビデオエンコーダ(例えば、ビデオエンコーダ(403)、ビデオエンコーダ(603))の機能を実行する処理回路によって実行される。いくつかの実施形態では、プロセス(1400)はソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路はプロセス(1400)を実行する。プロセスは(S1401)から始まり、(S1410)に進む。
【0159】
(S1410)において、現在のピクチャ内の再構成すべきクロマブロックの予測情報を復号することができる。予測情報は、平面モードを使用して現在のピクチャ内の少なくともルーマブロックに基づいて、クロマブロックが予測されることを示す。ルーマブロックは既に再構成され、クロマブロックとコロケートされている。
【0160】
(S1420)において、クロマブロック内の1つまたは複数の第1のクロマサンプルは、ルーマブロック内の1つまたは複数のルーマサンプルに基づいて予測することができる。
【0161】
例では、クロマブロック内の1つまたは複数の第1のクロマサンプルは、予測される前に、1つまたは複数のそれぞれのキー位置に位置すると識別される。
【0162】
実施形態では、クロマブロック内の1つまたは複数の第1のクロマサンプルは、クロスコンポーネント線形モデル予測(CCLM)モードを使用して、1つまたは複数の第1のクロマサンプルとコロケートされるルーマブロック内の1つまたは複数のルーマサンプルに基づいて予測される。
【0163】
(S1430)において、1つまたは複数の第1のクロマサンプルおよびクロマブロックの少なくとも1つの参照クロマサンプルに基づいて、クロマブロック内の第2のクロマサンプルを予測することができる。第2のクロマサンプルは、1つまたは複数の第1のクロマサンプルとは異なり得る。例では、少なくとも1つの参照クロマサンプルは、クロマブロックに隣接している。
【0164】
第2のクロマサンプルは、予測された第2のクロマサンプルに基づいて再構成される。例では、再構成された第2のクロマサンプルは、予測された第2のクロマサンプルである。例では、再構成された第2のクロマサンプルは、予測された第2のクロマサンプルと対応する残差との和である。
【0165】
例では、少なくとも1つの参照クロマサンプルは、クロマブロックの上近傍の上の参照クロマサンプル、またはクロマブロックの左近傍の左の参照クロマサンプルのうちの少なくとも1つを含む。
【0166】
その後、プロセス(1400)は(S1499)に進み、終了する。
【0167】
プロセス(1400)は、様々なシナリオに適切に適合させることができ、プロセス(1400)内のステップは、それに応じて調整することができる。プロセス(1400)内のステップのうちの1つまたは複数を、適合させ、省略し、繰り返し、かつ/または組み合わせることができる。プロセス(1400)を実施するために任意の適切な順序を使用することができる。追加のステップを追加することができる。
【0168】
実施形態では、1つまたは複数の第1のクロマサンプルは、クロマブロック内の右下のコーナーのクロマサンプルである。右下のコーナーのクロマサンプルおよび少なくとも1つの参照クロマサンプルに基づいて、(i)クロマブロックの下の行のクロマサンプル、または(ii)クロマブロックの最右列のクロマサンプルのうちの少なくとも1つを予測することができる。例では、クロマブロックの下の行のクロマサンプルが予測され、第2のクロマサンプルの垂直予測子が、少なくとも1つの参照クロマサンプル内の上の参照クロマサンプルと、下の行の予測されたクロマサンプル内の予測された下のクロマサンプルとに基づいて生成される。第2のクロマサンプル、上の参照クロマサンプル、および予測された下のクロマサンプルは、クロマブロック内の同じ列にあることができる。
【0169】
例では、クロマブロックの最右列内のクロマサンプルが予測され、第2のクロマサンプルの水平予測子が、少なくとも1つの参照クロマサンプル内の左の参照クロマサンプルおよび最右列内の予測されたクロマサンプル内の予測された右のクロマサンプルに基づいて生成される。第2のクロマサンプル、左の参照クロマサンプル、および予測された右のクロマサンプルは、クロマブロックの同じ行にあることができる。
【0170】
例では、クロマブロックの下の行のクロマサンプルおよびクロマブロックの最右列のクロマサンプルが予測される。第2のクロマサンプルは、垂直予測子および水平予測子に基づいて予測することができる。
【0171】
例では、クロマブロックの幅がクロマブロックの高さよりも大きいか、またはクロマブロックの高さが閾値未満である。クロマブロックの下の行のクロマサンプルが予測され、第2のクロマサンプルが垂直予測子に基づいて予測される。
【0172】
例では、クロマブロックの幅は、クロマブロックの高さまたは閾値よりも小さい。クロマブロックの最右列のクロマサンプルが予測され、第2のクロマサンプルが水平予測子に基づいて予測される。
【0173】
例では、クロマブロック内の右下のコーナーのクロマサンプルは、ルーマブロック内の右下のコーナーのルーマサンプル、または右下のコーナーのクロマサンプルとコロケートされるルーマブロック内のルーマサンプルのうちの少なくとも1つに基づいて予測される。
【0174】
一実施形態では、1つまたは複数の第1のクロマサンプルは、(i)クロマブロックの下の行のクロマサンプル、および(ii)クロマブロックの最右列のクロマサンプルを含む。第2のクロマサンプルの垂直予測子は、少なくとも1つの参照クロマサンプル内の上の参照クロマサンプルと、下の行の予測されたクロマサンプル内の予測された下のクロマサンプルとに基づいて生成されることができる。第2のクロマサンプル、上の参照クロマサンプル、および予測された下のクロマサンプルは、クロマブロック内の同じ列にあることができる。第2のクロマサンプルの水平予測子は、少なくとも1つの参照クロマサンプル内の左の参照クロマサンプルおよび最右列内の予測されたクロマサンプル内の予測された右のクロマサンプルに基づいて生成されることができる。第2のクロマサンプル、左の参照クロマサンプル、および予測された右のクロマサンプルは、クロマブロック内の同じ行にあることができる。第2のクロマサンプルは、垂直予測子および水平予測子に基づいて予測することができる。
【0175】
実施形態では、クロマブロックの幅がクロマブロックの高さよりも大きいか、またはクロマブロックの高さが閾値未満である。1つまたは複数の第1のクロマサンプルは、クロマブロックの下の行にクロマサンプルを含む。第2のクロマサンプルの垂直予測子は、少なくとも1つの参照クロマサンプル内の上の参照クロマサンプルと、下の行の予測されたクロマサンプル内の予測された下のクロマサンプルとに基づいて生成される。第2のクロマサンプル、上の参照クロマサンプル、および予測された下のクロマサンプルは、クロマブロック内の同じ列にあることができる。第2のクロマサンプルは、垂直予測子に基づいて予測される。
【0176】
一実施形態では、クロマブロックの幅は、クロマブロックの高さまたは閾値よりも小さい。1つまたは複数の第1のクロマサンプルは、クロマブロックの最右列のクロマサンプルを含む。第2のクロマサンプルの水平予測子は、少なくとも1つの参照クロマサンプル内の左の参照クロマサンプルおよび最右列内の予測されたクロマサンプル内の予測された右のクロマサンプルに基づいて生成されることができる。第2のクロマサンプル、左の参照クロマサンプル、および予測された右のクロマサンプルは、クロマブロック内の同じ行にあることができる。第2のクロマサンプルは、水平予測子に基づいて予測される。
【0177】
本開示の実施形態は、別々に使用されてもよく、任意の順序で組み合わされてもよい。さらに、方法(または実施形態)の各々、エンコーダ、およびデコーダは、処理回路(例えば、1つもしくは複数のプロセッサ、または1つもしくは複数の集積回路)によって実施されてもよい。一例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読媒体に記憶されたプログラムを実行する。
【0178】
上述された技法は、コンピュータ可読命令を使用するコンピュータソフトウェアとして実装され、1つまたは複数のコンピュータ可読媒体に物理的に記憶することができる。例えば、図15は、開示された主題の特定の実施形態を実施するのに適したコンピュータシステム(1500)を示す。
【0179】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンクなどのメカニズムを受けることができる任意の適切な機械コードまたはコンピュータ言語を使用してコーディングされ、1つまたは複数のコンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)などによって直接、または解釈、マイクロコード実行などを介して、実行され得る命令を含むコードを作成することができる。
【0180】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機、モノのインターネットデバイスなどを含む様々なタイプのコンピュータまたはコンピュータの構成要素上で実行することができる。
【0181】
コンピュータシステム(1500)について図15に示される構成要素は、本質的に例示であり、本開示の実施形態を実装するコンピュータソフトウェアの使用または機能の範囲に関する限定を示唆することを意図されていない。構成要素の構成は、コンピュータシステム(1500)の例示的な実施形態に示されている構成要素のいずれか1つ、または構成要素の組合せに関して、依存性を有するものとも要件を有するものとも解釈されるべきではない。
【0182】
コンピュータシステム(1500)は、特定のヒューマンインターフェース入力デバイスを含み得る。そのようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、オーディオ入力(音声、拍手など)、視覚入力(ジェスチャなど)、嗅覚入力(図示せず)を介した、1人または複数の人間ユーザによる入力に応答し得る。ヒューマンインターフェースデバイスは、オーディオ(音声、音楽、環境音など)、画像(走査画像、写真画像は静止画像カメラから取得など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、必ずしも人間による意識的な入力に直接関連しない特定の媒体を取り込むためにも使用され得る。
【0183】
入力ヒューマンインターフェースデバイスは、キーボード(1501)、マウス(1502)、トラックパッド(1503)、タッチスクリーン(1510)、データグローブ(図示せず)、ジョイスティック(1505)、マイク(1506)、スキャナ(1507)、カメラ(1508)などのうちの1つまたは複数を含み得る(各々1つのみ図示されている)。
【0184】
コンピュータシステム(1500)はまた、特定のヒューマンインターフェース出力デバイスも含み得る。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および匂い/味を介して、1人または複数の人間ユーザの感覚を刺激し得る。そのようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(1510)、データグローブ(図示せず)、またはジョイスティック(1505)による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスもあり得る)、オーディオ出力デバイス(スピーカ(1509)、ヘッドフォン(図示せず)など)、視覚出力デバイス(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(1510)、各々タッチスクリーン入力機能ありまたはなし、各々触覚フィードバック機能ありまたはなしであり、一部は、2次元視覚出力、または立体出力などの手段による3次元を超える出力を出力することができる場合もある、仮想現実眼鏡(図示せず)、ホログラフィックディスプレイ、およびスモークタンク(図示せず)など)、ならびにプリンタ(図示せず)を含み得る。
【0185】
コンピュータシステム(1500)はまた、人間がアクセス可能な記憶デバイス、ならびにCD/DVDまたは同様のメディア(1521)を有するCD/DVD ROM/RW(1520)を含む光学メディア、サムドライブ(1522)、リムーバブルハードドライブまたはソリッドステートドライブ(1523)、テープやフロッピーディスクなどのレガシー磁気メディア(図示せず)、セキュリティドングルなどの専用のROM/ASIC/PLDベースのデバイス(図示せず)などといった記憶デバイスの関連メディアも含むことができる。
【0186】
当業者はまた、本開示の主題に関連して使用される「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、または他の一時的な信号を包含しないことを理解するべきである。
【0187】
コンピュータシステム(1500)はまた、1つまたは複数の通信ネットワーク(1555)へのインターフェース(1554)も含むことができる。ネットワークは、例えば、無線、有線、光であり得る。ネットワークはさらに、ローカル、ワイドエリア、メトロポリタン、車両および産業用、リアルタイム、遅延耐性、などとすることができる。ネットワークの例は、イーサネット、無線LANなどのローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルテレビ、衛星テレビ、および地上放送テレビを含むテレビ有線または無線ワイドエリアデジタルネットワーク、ならびにCANBusを含む車両用および産業用などを含む。特定のネットワークは、一般に、(例えば、コンピュータシステム(1500)のUSBポートなどの)特定の汎用データポートまたは周辺バス(1549)に取り付けられた外部ネットワークインターフェースアダプタを必要とし、他のネットワークは、一般に、以下に記載されるシステムバスへの接続によってコンピュータシステム(1500)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインターフェースやスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム(1500)は他のエンティティと通信することができる。そのような通信は、単方向、受信のみ(例えば、テレビ放送)、単方向の送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または、例えば、ローカルエリアまたはワイドエリアのデジタルネットワークを使用した他のコンピュータシステムへの双方向とすることができる。特定のプロトコルおよびプロトコルスタックは、上述したように、それらのネットワークおよびネットワークインターフェースの各々で使用され得る。
【0188】
前述のヒューマンインターフェースデバイス、人間がアクセス可能な記憶デバイス、およびネットワークインターフェースは、コンピュータシステム(1500)のコア(1540)に接続することができる。
【0189】
コア(1540)は、1つまたは複数の中央処理装置(CPU)(1541)、グラフィックスプロセッシングユニット(GPU)(1542)、フィールドプログラマブルゲートエリア(FPGA)(1543)の形態の専用プログラマブル処理ユニット、特定のタスク用のハードウェアアクセラレータ(1544)、グラフィックスアダプタ(1550)などを含むことができる。これらのデバイスは、読み出し専用メモリ(ROM)(1545)、ランダムアクセスメモリ(1546)、ユーザがアクセスできない内蔵ハードドライブ、SSDなどの内部大容量ストレージ(1547)などとともにシステムバス(1548)を介して接続され得る。一部のコンピュータシステムでは、追加のCPU、GPUなどによる拡張を可能にするために、1つまたは複数の物理プラグの形態でシステムバス(1548)はアクセス可能であり得る。周辺デバイスは、コアのシステムバス(1548)に直接、または周辺バス(1549)を介して接続され得る。一例では、スクリーン(1510)はグラフィックスアダプタ(1550)に接続され得る。周辺バス用のアーキテクチャには、PCI、USBなどが含まれる。
【0190】
CPU(1541)、GPU(1542)、FPGA(1543)、およびアクセラレータ(1544)は、組み合わせて前述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ROM(1545)またはRAM(1546)に記憶され得る。RAM(1546)には暫定的なデータも記憶されることができ、永続的なデータは、例えば、内部大容量ストレージ(1547)に記憶され得る。1つまたは複数のCPU(1541)、GPU(1542)、大容量ストレージ(1547)、ROM(1545)、RAM(1546)などと密接に関連付けることができるキャッシュメモリの使用によって、メモリデバイスのいずれかに対する高速記憶および取り出しを可能にされ得る。
【0191】
コンピュータ可読媒体は、様々なコンピュータ実装動作を実施するためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであってもよく、またはコンピュータソフトウェア技術の当業者に周知の利用可能な種類のものであってもよい。
【0192】
限定ではなく例として、アーキテクチャを有するコンピュータシステム(1500)、具体的にはコア(1540)は、(CPU、GPU、FPGA、アクセラレータなどを含む)(1つまたは複数の)プロセッサが1つまたは複数の有形のコンピュータ可読媒体において具現化されたソフトウェアを実行した結果として機能を提供することができる。そのようなコンピュータ可読媒体は、上記のようなユーザアクセス可能な大容量ストレージ、ならびにコア内部大容量ストレージ(1547)やROM(1545)などの非一時的な性質のものであるコア(1540)の特定のストレージと関連付けられた媒体とすることができる。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに記憶され、コア(1540)によって実行されることができる。コンピュータ可読媒体は、特定の必要性に従って、1つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア(1540)に、具体的にはその中の(CPU、GPU、およびFPGAなどを含む)プロセッサに、RAM(1546)に記憶されたデータ構造を定義すること、およびソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を変更することを含む、本明細書に記載される特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または代替として、コンピュータシステムは、本明細書に記載される特定のプロセスまたは特定のプロセスの特定の部分を実行するために、ソフトウェアの代わりにまたはソフトウェアとともに動作することができる、配線されるかまたは他の方法で回路において具現化された論理(例えば、アクセラレータ(1544))の結果として機能を提供することもできる。ソフトウェアへの言及は、必要に応じて、論理を包含することができ、その逆も同様である。コンピュータ可読媒体への言及は、必要に応じて、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のための論理を具現化する回路、またはその両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組合せを包含する。
【0193】
付記A:頭字語
JEM:共同探索モデル
VVC:多用途ビデオコーディング
BMS:ベンチマークセット
MV:動きベクトル
HEVC:高効率ビデオコーディング
SEI:補足拡張情報
VUI:ビデオユーザビリティ情報
GOP:ピクチャグループ
TU:変換ユニット
PU:予測ユニット
CTU:コーディングツリーユニット
CTB:コーディングツリーブロック
PB:予測ブロック
HRD:仮想参照デコーダ
SNR:信号対雑音比
CPU:中央処理装置
GPU:グラフィックス処理装置
CRT:陰極線管
LCD:液晶ディスプレイ
OLED:有機発光ダイオード
CD:コンパクトディスク
DVD:デジタルビデオディスク
ROM:読み出し専用メモリ
RAM:ランダムアクセスメモリ
ASIC:特定用途向け集積回路
PLD:プログラマブル論理デバイス
LAN:ローカルエリアネットワーク
GSM:グローバル移動体通信システム
LTE:ロングタームエボリューション
CANBus:コントローラエリアネットワークバス
USB:ユニバーサルシリアルバス
PCI:周辺構成要素相互接続
FPGA:フィールドプログラマブルゲートエリア
SSD:ソリッドステートドライブ
IC:集積回路
CU:コーディングユニット
CCLM:クロスコンポーネント線形モデル
【0194】
本開示はいくつかの例示的な実施形態を記載しているが、本開示の範囲内に入る変更、置換、および様々な代替の均等物が存在する。したがって、当業者は、本明細書に明示的に示されていないかまたは記載されていないが、本開示の原理を具現化し、したがって本開示の趣旨および範囲内にある多数のシステムおよび方法を考案することができることが理解されよう。
【符号の説明】
【0195】
101 点、101 サンプル、102 矢印、103 矢印、104 正方形ブロック、201 現在のブロック、300 通信システム、310 端末デバイス、320 端末デバイス、330 端末デバイス、340 端末デバイス、350 通信ネットワーク、400 通信システム、401 ビデオソース、402 ストリーム、403 ビデオエンコーダ、404 ビデオデータ、405 ストリーミングサーバ、406 クライアントサブシステム、407 コピー、410 ビデオデコーダ、411 出力ストリーム、412 ディスプレイ、413 キャプチャサブシステム、420 電子デバイス、430 電子デバイス、501 チャネル、510 ビデオデコーダ、512 レンダリングデバイス、515 バッファメモリ、520 パーサ、521 シンボル、530 電子デバイス、531 受信機、551 スケーラ/逆変換ユニット、552 イントラ予測ユニット、553 動き補償予測ユニット、555 アグリゲータ、556 ループフィルタユニット、557 参照ピクチャメモリ、558 現在のピクチャバッファ、601 ビデオソース、603 ビデオエンコーダ、620 電子デバイス、630 ソースコーダ、632 コーディングエンジン、633 ローカルデコーダ、633 ローカルビデオデコーダ、634 参照ピクチャメモリ、635 予測子、640 送信機、643 ビデオシーケンス、645 エントロピーコーダ、650 コントローラ、660 通信チャネル、703 ビデオエンコーダ、721 汎用コントローラ、722 イントラエンコーダ、723 残差計算器、724 残差エンコーダ、725 エントロピーエンコーダ、726 スイッチ、728 残差デコーダ、730 インターエンコーダ、810 ビデオデコーダ、871 エントロピーデコーダ、872 イントラデコーダ、873 残差デコーダ、874 再構成モジュール、880 インターデコーダ、900 ブロック、1000 クロマブロック、1001 ルーマブロック、1001 コロケートルーマブロック、1010 クロマサンプル、1011 クロマサンプル、1012 クロマサンプル、1020 ルーマサンプル、1021 ルーマサンプル、1022 ルーマサンプル、1030 ルーマサンプル、1040 ルーマサンプル、1100 クロマブロック、1101 ルーマブロック、1101 コロケートルーマブロック、1110 クロマサンプル、1120 ルーマサンプル、1200 クロマブロック、1201 クロマサンプル、1202 右下のコーナーのクロマサンプル、1203 左下の参照クロマサンプル、1204 右上の参照クロマサンプル、1205 左上の参照クロマサンプル、1210 参照クロマサンプル、1211 参照クロマサンプル、1212 参照クロマサンプル、1213 行、1214 最右列、1221 参照クロマサンプル、1222 参照クロマサンプル、1223 クロマサンプル、1224 クロマサンプル、1300 プロセス、1400 プロセス、1500 コンピュータシステム、1501 キーボード、1502 マウス、1503 トラックパッド、1505 ジョイスティック、1506 マイク、1507 スキャナ、1508 カメラ、1509 オーディオ出力デバイススピーカ、1510 スクリーン、1510 タッチスクリーン、1521 メディア、1522 サムドライブ、1523 ソリッドステートドライブ、1540 コア、1541 中央処理装置(CPU)、1542 グラフィックスプロセッシングユニット(GPU)、1543 フィールドプログラマブルゲートエリア(FPGA)、1544 ハードウェアアクセラレータ、1546 ランダムアクセスメモリ、1547 大容量ストレージ、1548 システムバス、1549 周辺バス、1550 グラフィックスアダプタ、1554 インターフェース、1555 通信ネットワーク
図1A
図1B
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
【国際調査報告】