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

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

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

特開2022-95944ビデオを符号化して送信する方法およびコンピュータプログラム
<>
  • 特開-ビデオを符号化して送信する方法およびコンピュータプログラム 図1
  • 特開-ビデオを符号化して送信する方法およびコンピュータプログラム 図2
  • 特開-ビデオを符号化して送信する方法およびコンピュータプログラム 図3
  • 特開-ビデオを符号化して送信する方法およびコンピュータプログラム 図4
  • 特開-ビデオを符号化して送信する方法およびコンピュータプログラム 図5
  • 特開-ビデオを符号化して送信する方法およびコンピュータプログラム 図6
  • 特開-ビデオを符号化して送信する方法およびコンピュータプログラム 図7
  • 特開-ビデオを符号化して送信する方法およびコンピュータプログラム 図8
  • 特開-ビデオを符号化して送信する方法およびコンピュータプログラム 図9
  • 特開-ビデオを符号化して送信する方法およびコンピュータプログラム 図10A
  • 特開-ビデオを符号化して送信する方法およびコンピュータプログラム 図10B
  • 特開-ビデオを符号化して送信する方法およびコンピュータプログラム 図11
  • 特開-ビデオを符号化して送信する方法およびコンピュータプログラム 図12
  • 特開-ビデオを符号化して送信する方法およびコンピュータプログラム 図13
  • 特開-ビデオを符号化して送信する方法およびコンピュータプログラム 図14
  • 特開-ビデオを符号化して送信する方法およびコンピュータプログラム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022095944
(43)【公開日】2022-06-28
(54)【発明の名称】ビデオを符号化して送信する方法およびコンピュータプログラム
(51)【国際特許分類】
   H04N 19/593 20140101AFI20220621BHJP
【FI】
H04N19/593
【審査請求】有
【請求項の数】7
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022069177
(22)【出願日】2022-04-20
(62)【分割の表示】P 2020553600の分割
【原出願日】2019-03-14
(31)【優先権主張番号】62/651,547
(32)【優先日】2018-04-02
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/200,533
(32)【優先日】2018-11-26
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジャオ,シン
(72)【発明者】
【氏名】リ,シアン
(72)【発明者】
【氏名】リィウ,シャン
(72)【発明者】
【氏名】ジャオ,リアン
(57)【要約】      (修正有)
【課題】効率良くビデオを符号化/復号化する方法、装置及びコンピュータプログラムを提供する。
【解決手段】ビデオ復号化のための処理回路は、符号化されたビデオビットストリームからブロックの予測情報を復号化する。予測情報は、複数の潜在的な参照ラインから選択された参照ラインと、参照ラインに関連付けられた潜在的なフレーム内予測モードのセットから選択されたフレーム内予測モードとを示す。そして、処理回路は、フレーム内予測モードと、参照ラインにおける少なくとも1つの参照サンプルとに基づいて、ブロックの少なくとも1つのサンプルを再構築する。
【選択図】図14
【特許請求の範囲】
【請求項1】
ビデオをブロックごとに符号化し、符号化されたビデオビットストリームをデコーダへ送信するための方法であって、
前記符号化されたビデオビットストリームは前記ブロックの予測情報を含み、前記予測情報は、複数の潜在的な参照ラインから選択された参照ラインと、前記参照ラインに関連付けられた潜在的なフレーム内予測モードのセットから選択されたフレーム内予測モードとを示し、
前記フレーム内予測モードと、前記参照ラインにおける少なくとも1つの参照サンプルとは、前記ブロックの少なくとも1つのサンプルを再構築するためのものであり、
前記予測情報が、非ゼロ参照ラインを示す場合に、前記非ゼロ参照ラインに関連付けられた潜在的なフレーム内予測モードの第1セットは、ゼロ参照ラインに関連付けられた潜在的なフレーム内予測モードの第2セットより、数が少ない潜在的なフレーム内予測モードを有し、
前記潜在的なフレーム内予測モードの第1セットは、最も可能性の高いモードのみを含む、方法。
【請求項2】
前記潜在的なフレーム内予測モードの第1セットは、偶数モードのインデックスを有する予測モードを含む、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記潜在的なフレーム内予測モードの第1セットは、奇数モードのインデックスを有する方向性フレーム内予測モードを欠く、
ことを特徴とする請求項1に記載の方法。
【請求項4】
平面モードは、前記潜在的なフレーム内予測モードの第1セットに含まれない、
ことを特徴とする請求項1に記載の方法。
【請求項5】
前記潜在的なフレーム内予測モードの第1セットは、偶数モードのインデックスを有する方向性フレーム内予測モードから導出された最も可能性の高いモードを含む、
ことを特徴とする請求項1に記載の方法。
【請求項6】
前記潜在的なフレーム内予測モードの第1セットは、隣接する方向性フレーム内予測モードを欠いている、請求項1に記載の方法。
【請求項7】
コンピュータに請求項1乃至6の何れか一項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願への相互参照]
本開示は、2018年4月2日に提出された米国仮出願第62/651,547「ビデオ圧縮における複数ラインのフレーム内予測のための方法および装置」、および2018年11月26日に提出された米国出願第16/200,533「ビデオ圧縮における複数ラインのフレーム内予測のための方法および装置」に対する優先権の利益を主張し、それらの全体が参照により本明細書に組み込まれる。
【0002】
本開示は、ビデオ符号化/復号化の技術に関し、特に、ビデオを符号化/復号化する方法、装置およびコンピュータプログラムに関する。
【背景技術】
【0003】
本明細書で提供される背景技術の説明は、本開示のコンテキストを全体的に示すことを目的とする。この背景技術部分および本明細書の各態様において説明された、現在署名されている発明者の研究は、本開示の提出時に先行技術として示されていない可能性があり、また、明示的にも黙示的にも本開示の先行技術として認めていない。
【0004】
ビデオ符号化と復号化は、動き補償を有するフレーム間画像予測を用いて実行されることができる。圧縮されていないデジタルビデオは、一連の画像を含むことができ、各画像が、例えば1920×1080の輝度サンプルおよび関連付けられた色度サンプルの空間的次元を有する。この一連の画像は、例えば1秒間に60枚の画像または60ヘルツ(Hz)の固定または可変の画像レート(非公式にはフレームレートとして知られている)を有することができる。圧縮されていないビデオには、非常に高いビットレート要件がある。例えば、サンプルあたり8ビットの1080p60 4:2:0のビデオ(60Hzのフレームレートでの1920x1080の輝度サンプル解像度)は、1.5Gbit/sの帯域幅に近い必要がある。このようなビデオは、一時間で600GB以上の記憶空間を必要とする。
【0005】
ビデオ符号化および復号化の1つの目的は、入力ビデオ信号における冗長情報を圧縮により低減することである。圧縮は、上記の帯域幅または記憶空間に対する要件を低減することを助けることができ、いくつかの場合では、二桁以上程度を低減することができる。無損失性および損失性の圧縮、ならびに両方の組み合わせは、いずれも使用されることができる。無損失性の圧縮とは、元の信号の正確なコピーを圧縮された元の信号から再構築することができる、という技術を指す。損失性の圧縮が使用される場合、再構築された信号は、元の信号と同一ではない可能性があるが、元の信号と再構築された信号との間の歪みが十分に小さいので、再構築された信号が予想されるアプリケーションに利用されることができる。ビデオの場合、損失性の圧縮は広く使われている。許容される歪みの量は、アプリケーションに依存し、例えば、あるストリーミングアプリケーションを消費するユーザは、テレビ配信アプリケーションのユーザより、高い歪みを許容することができる。実現可能な圧縮比は、より高い許可/許容可能な歪みがより高い圧縮比を生成することができる、ということを反映している。
【0006】
ビデオエンコーダおよびデコーダは、例えば動き補償、変換、量子化およびエントロピー符号化を含む、いくつかの広範なカテゴリからの技術を利用することができる。
【0007】
ビデオ符号化/復号化技術は、フレーム内符号化として知られている技術を含むことができる。フレーム内符号化では、サンプル値は、以前に再構築された参照画像からのサンプルまたは他のデータを参照せずに表現される。いくつかのビデオコーデックでは、画像は空間的にサンプルブロックに細分される。すべてのサンプルブロックがフレーム内モードで符号化された場合、その画像はフレーム内画像とすることができる。独立したデコーダリフレッシュ画像などのようなフレーム内画像およびそれらの派生は、デコーダの状態をリセットするために使用されることができ、したがって、符号化されたビデオビットストリームおよびビデオセッション中の1番目の画像または静止画像として使用されることができる。フレーム内ブロックのサンプルは変換に用いられ、また、変換係数はエントロピー符号化の前に量子化されることができる。フレーム内予測は、プリ変換ドメインにおけるサンプル値を最小化する技術であることができる。いくつかの場合では、変換後のDC値が小さくなり、AC係数が小さくなるほど、エントロピー符号化後のブロックを表すために、与えられた量子化ステップサイズで必要なビットが少なくなる。
【0008】
例えばMPEG―2符号化技術から知られているような従来のフレーム内符号化は、フレーム内予測を使用していない。しかしながら、いくつかのより新しいビデオ圧縮技術は、例えば、周囲のサンプルデータおよび/またはメタデータからデータブロックを取得しようとする技術を含み、周囲のサンプルデータおよび/またはメタデータは、空間的に隣接するブロックの符号化/復号化期間で、かつ、復号化順の前に得られたものである。このような技術は、以降「フレーム内予測」技術と呼ばれる。少なくともいくつかの場合では、フレーム内予測は、参照画像からの参照データを使用せずに、再構築中の現在画像からの参照データのみを使用する、ということに留意されたい。
【0009】
多くの異なる形態のフレーム内予測が存在することができる。与えられたビデオ符号化技術では、このような技術のうちの2つ以上を使用することができる場合、使用中の技術は、フレーム内予測モードで符号化を行うことができる。いくつかの場合では、モードは、サブモードおよび/またはパラメータを有してもよいし、これらのモードが、単独で符号化されてもよく、またはモードコードワードに含まれてもよい。どのコードワードを与えられたモード/サブモード/パラメータの組み合わせに使用するかは、フレーム内予測によって符号化効率利得に影響を及ぼすので、コードワードをビットストリームに変換するために使用されるエントロピー符号化技術には、このような場合もある。
【0010】
フレーム内予測の特定のモードは、H.264で導入され、H.265において改善され、また、共同探索モデル(JEM:joint exploration model)、汎用ビデオ符号化(VVC:versatile video coding)、ベンチマークセット(BMS:benchmark set)などの、更新しい符号化/復号化技術においてさらに改善される。予測ブロックは、既に利用可能なサンプルに属する、隣接するサンプル値を使用して形成されることができる。隣接するサンプルのサンプル値は、ある方向に従って予測ブロックにコピーされる。使用中の方向への参照は、ビットストリームに符号化されてもよく、または、その自身が予測されてもよい。
【0011】
図1を参照して、右下には、H.265の35個の予測可能な方向から知られている9つの予測方向のサブセットが描かれている。矢印が収束する点(101)は、予測されているサンプルを表す。矢印は、サンプルが予測されている方向を表す。例えば、矢印(102)は、サンプル(101)が水平から45度の角度になる右上の1つ以上のサンプルから予測されることを示す。同様に、矢印(103)は、サンプル(101)が水平から22.5度の角度になるサンプル(101)の左下の1つ以上のサンプルから予測されることを示す。
【0012】
引き続き図1を参照すると、左上には4×4のサンプルの正方形ブロック(104)が描かれている(太い破線で示される)。正方形ブロック(104)は、16個のサンプルを含み、各サンプルが、「S」と、X次元(例えば、行索引)での位置と、Y次元(例えば、列索引)での位置とでラベル付けられている。例えば、サンプルS21は、Y次元での2番目のサンプル(上から)とX次元での1番目のサンプル(左から)である。同様に、サンプルS44は、Y次元およびX次元の両方でのブロック(104)の4番目のサンプルである。このブロックが4×4サイズのサンプルであるため、S44は右下にある。さらに、同様の番号付けスキームに従う参照サンプルも示されている。参照サンプルは、「R」と、ブロック(104)に対するX位置(例えば、行索引)およびY位置(例えば、列索引)とでラベル付けられている。H.264とH.265の両方では、予測サンプルは再構築中のブロックに隣接しているので、負の値を使用する必要はない。
【0013】
フレーム内画像予測は、シグナルで通知された予測方向に応じて、隣接するサンプルから参照サンプル値をコピーすることによって機能することができる。例えば、符号化されたビデオビットストリームには、シグナリングが含まれていると仮定すると、このシグナリングは、このブロックに対して、矢印(102)と一致する予測方向を示し、すなわち、サンプルが水平と45度の角度になる右上の1つ以上の予測サンプルから予測される。この場合、サンプルS41、S32、S23、S14は、同じ参照サンプルR05から予測される。そして、サンプルS44は、参照サンプルR08から予測される。
【0014】
いくつかの場合では、参照サンプルを計算するために、特に、方向が45度で均等に割り切れない場合、例えば、補間を通じて複数の参照サンプルの値を組み合わせることができる。
【0015】
ビデオ符号化技術の発展につれて、可能な方向の数が既に増加された。H.264(2003年)では、9つの異なる方向を表すことができた。これは、H.265(2013年)で33個に増加し、JEM/VC/BMSは、開示時点で最多65個の方向をサポートすることができる。最も可能な方向を識別するための実験が行われ、そして、エントロピー符号化におけるいくつかの技術は、少数のビットでそれらの可能性がある方向を表すために使用され、可能性が低い方向に対して、いくつかの代償を受ける。さらに、方向の自体は、隣接する既に復号化されたブロックで使用される隣接する方向から予測されることができる場合がある。
【0016】
フレーム内予測方向から符号化されたビデオビットストリームにおける方向を表すビットへのマッピングは、ビデオ符号化技術によって異なる可能性があり、また、例えば、予測方向への簡単な直接マッピングから、フレーム内予測モード、コードワード、最も可能性が高いモードを含む複雑な適応スキーム、および類似な技術まで、様々なものがある。しかしながら、すべての場合に、ビデオコンテンツにおいて、他の特定の方向よりも統計的に発生する可能性が低い特定の方向が存在する可能性がある。ビデオ圧縮の目的は冗長性の削減であるため、それらの可能性が低い方向は、適切に機能するビデオ符号化技術では、可能性が高い方向よりも多くのビットで表される。
【発明の概要】
【課題を解決するための手段】
【0017】
本開示の態様は、ビデオ復号する方法、装置及びコンピュータプログラムを提供する。いくつかの実施形態では、装置は、受信回路と処理回路とを含む。前記処理回路は、符号化されたビデオビットストリームからブロックの予測情報を復号化する。前記予測情報は、複数の潜在的な参照ラインから選択された参照ラインと、前記参照ラインに関連付けられた潜在的なフレーム内予測モードのセットから選択されたフレーム内予測モードとを示す。そして、前記処理回路は、前記フレーム内予測モードと、前記参照ラインにおける少なくとも1つの参照サンプルとに基づいて、前記ブロックの少なくとも1つのサンプルを再構築する。
【0018】
いくつかの実施形態では、前記予測情報は、非ゼロ参照ラインを示し、前記非ゼロ参照ラインに関連付けられた潜在的なフレーム内予測モードの第1セットは、ゼロ参照ラインに関連付られた潜在的なフレーム内予測モードの第2セットと比較して、より少数の潜在的なフレーム内予測モードを有する。一例では、前記潜在的なフレーム内予測モードの第1セットは、偶数モードのインデックスを有する方向性フレーム内予測モードを含む。別の例では、前記潜在的なフレーム内予測モードの第1セットは、奇数モードのインデックスを有する方向性フレーム内予測モードを欠く。いくつかの例では、前記潜在的なフレーム内予測モードの第1セットは、DCモードおよび平面モードを含む。
【0019】
一実施形態では、前記潜在的なフレーム内予測モードの第1セットは、最も可能性の高いモードのみを含む。一例では、前記潜在的なフレーム内予測モードの第1セットは、偶数モードのインデックスを有する方向性フレーム内予測モードから導出された最も可能性の高いモードを含む。
【0020】
いくつかの実施形態では、前記処理回路は、前記フレーム内予測モードを示す第1信号を復号化し、前記フレーム内予測モードに基づいて、前記参照ラインのための第2信号を選択的に復号化する。一例では、前記フレーム内予測モードが偶数モードのインデックスを有する方向性フレーム内予測モードである場合、前記処理回路は、前記参照ラインを決定するために、前記第1信号の後に受信された前記第2信号を復号化する。そして、前記フレーム内予測モードが奇数モードのインデックスを有する方向性フレーム内予測モード、平面モードおよびDCモードのうちの1つである場合、前記処理回路は、前記参照ラインをデフォルト参照ラインとして決定する。
【0021】
別の例では、前記フレーム内予測モードが最も可能性の高いモードのうちの1つである場合、前記処理回路は、前記参照ラインを決定するために、前記第1信号の後に受信された前記第2信号を復号化する。そして、前記フレーム内予測モードが最も可能性の高いモードのうちの1つではない場合、前記処理回路は、前記参照ラインをデフォルト参照ラインとして決定する。
【0022】
また、本開示の態様は、命令を記憶している不揮発性コンピュータ読み取り可能な記憶媒体を提供し、前記命令がビデオ復号化のためのコンピュータによって実行された場合、前記ビデオ復号する方法を前記コンピュータに実行させる。
【図面の簡単な説明】
【0023】
開示された主題の更なる特徴、性質、および様々な利点は、以下の詳細な説明および添付図面からより明らかになり、ここで、
図1】H.265によるフレーム内予測モードのサブセットの概略図である。
図2】一実施形態による通信システム(200)の簡略化されたブロック図である。
図3】一実施形態による通信システム(300)の簡略化されたブロック図である。
図4】一実施形態によるデコーダの簡略化されたブロック図である。
図5】一実施形態によるエンコーダの簡略化されたブロック図である。
図6】別の実施形態によるエンコーダのブロック図を示す図である。
図7】別の実施形態によるデコーダのブロック図を示す図である。
図8】65個のフレーム内予測方向を描く概略図801を示す図である。
図9】本開示の実施形態による複数の参照ラインのフレーム内方向予測の概略図900を示す図である。
図10A】本開示の実施形態による予測のための重みの例を示す図である。
図10B】本開示の実施形態による予測のための重みの例を示す図である。
図11】隣接するサンプルに基づいて照明補償(IC)パラメータを導出する概略図である。
図12】本開示の実施形態による垂直予測のための境界フィルタリングを図示する図を示す図である。
図13】一例による現在ブロックの隣接するブロックの図を示す図である。
図14】本開示の実施形態によるプロセス例の概要を示すフローチャートである。
図15】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0024】
図2は、本開示の実施形態による通信システム(200)の簡略化されたブロック図である。通信システム(200)は、例えばネットワーク(250)を介して相互に通信することができる複数の端末デバイスを含む。例えば、通信システム(200)は、ネットワーク(250)を介して相互接続された第1ペアの端末デバイス(210)と(220)を含む。図2の例では、第1ペアの端末デバイス(210)と(220)は、データの単方向伝送を行う。例えば、端末デバイス(210)は、ネットワーク(250)を介して他の端末デバイス(220)に伝送するために、ビデオデータ(例えば、端末デバイス(210)によって捕捉されたビデオ画像ストリーム)を符号化することができる。符号化されたビデオデータは、1つ以上の符号化されたビデオビットストリームの形で伝送されることができる。端末デバイス(220)は、ネットワーク(250)から、符号化されたビデオデータを受信し、符号化されたビデオデータを復号化してビデオ画像を復元し、復元されたビデオデータに基づいてビデオ画像を表示することができる。単方向データ伝送は、メディアサービングアプリケーションなどでは一般的である。
【0025】
別の例では、通信システム(200)は、例えばビデオ会議中に発生する可能性がある、符号化されたビデオデータの双方向伝送を実行する第2ペアの端末デバイス(20)と(240)を含む。データの双方向伝送の場合、一例では、端末デバイス(230)と(240)の各端末デバイスは、ネットワーク(250)を介して端末デバイス(230)と(240)のうちの他方の端末デバイスに送信するために、ビデオデータ(例えば、端末デバイスによって捕捉されたビデオ画像ストリーム)を符号化することができる。端末デバイス(230)と(240)の各端末デバイスは、端末デバイス(230)と(240)のうちの他方の端末デバイスによって送信された、符号化されたビデオデータを受信することもでき、また、符号化されたビデオデータを復号化してビデオ画像を復元し、復元されたビデオデータに基づいて、アクセス可能な表示デバイスにビデオ画像を表示することもできる。
【0026】
図2の例では、端末デバイス(210)、(220)、(230)および(240)は、サーバ、パーソナルコンピュータおよびスマートフォンとして示されてもよいが、本開示の原理は、これに限定されていない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレイヤーおよび/または専用のビデオ会議機器を有するアプリケーションを見つける。ネットワーク(250)は、端末デバイス(210)、(220)、(230)および(240)間で、符号化されたビデオデータを伝送する任意の数のネットワークを表し、有線(ワイヤード)および/または無線の通信ネットワークを含む。通信ネットワーク(250)は、回路交換および/またはパケット交換のチャネルでデータを交換することができる。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワークおよび/またはインターネットを含む。本開示の目的のために、ネットワーク(250)のアーキテクチャおよびトポロジは、以下に本明細書で説明されない限り、本開示の動作にとって重要ではない場合がある。
【0027】
図3は、開示された主題に対するアプリケーションの例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置を示す。開示された主題は、例えば、CD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮されたビデオの記憶、ビデオ会議、デジタルTVなどを含む、他のビデオサポートアプリケーションにも同等に適用可能である。
【0028】
ストリーミングシステムは、捕捉サブシステム(313)を含むことができ、この捕捉サブシステムが、例えばデジタルカメラなどのビデオソース(301)を含むことができ、例えば圧縮されていないビデオ画像ストリーム(302)を作成する。一例では、ビデオ画像ストリーム(302)は、デジタルカメラによって撮影されたサンプルを含む。符号化されたビデオデータ(304)(または符号化されたビデオビットストリーム)と比較する際に、高いデータボリュームを強調するために太い線で描かれたビデオ画像ストリーム(302)は、ビデオソース(301)に結合されたビデオエンコーダ(303)を含む電子デバイス(320)によって処理されることができる。ビデオエンコーダ(303)は、以下でより詳細に説明するように、開示された主題の様々な態様を可能にするかまたは実現するために、ハードウェア、ソフトウェア、またはそれらの組み合わせを含むことができる。ビデオ画像ストリーム(302)と比較する際に、より低いデータボリュームを強調するために細い線で描かれた、符号化されたビデオデータ(304)(または符号化されたビデオビットストリーム(304))は、将来の使用のためにストリーミングサーバ(305)に記憶されることができる。図3のクライアントサブシステム(306)および(308)などのような1つ以上のストリーミングクライアントサブシステムは、符号化されたビデオデータ(304)のコピー(307)および(309)を検索するために、ストリーミングサーバー(305)にアクセスすることができる。クライアントサブシステム(306)は、例えば、電子デバイス(330)にビデオデコーダ(310)を含むことができる。ビデオデコーダ(310)は、伝入される、符号化されたビデオデータのコピー(307)を復号化して、伝出される、ビデオ画像ストリーム(311)を生成し、このビデオ画像ストリーム(311)が、ディスプレイ(312)(例えば、ディスプレイスクリーン)または他のレンダリングデバイス(図示せず)に表示されることができる。一部のストリーミングシステムでは、符号化されたビデオデータ(304)、(307)および(309)(例えば、ビデオビットストリーム)は、特定のビデオ符号化/圧縮規格に従って符号化されることができる。これらの規格の例は、ITU-T推薦H.265を含む。一例では、開発中のビデオ符号化規格は、非公式には、Versatile Video CodingまたはVVC(次世代ビデオ符号化)と呼ばれる。開示された主題は、VVCのコンテキストで使用されることができる。
【0029】
なお、電子デバイス(320)および(330)は、他のコンポーネント(図示せず)を含むことができる。例えば、電子デバイス(320)は、ビデオデコーダ(図示せず)を含むことができ、電子デバイス(330)は、同様にビデオエンコーダ(図示せず)を含むことができる。
【0030】
図4は、本開示の実施形態によるビデオデコーダ(410)のブロック図を示す。ビデオデコーダ(410)は、電子デバイス(430)に含まれることができる。電子デバイス(430)は、受信機(431)(例えば、受信回路)を含むことができる。ビデオデコーダ(410)は、図4の例におけるビデオデコーダ(310)の代わりに使用することができる。
【0031】
受信機(431)は、ビデオデコーダ(410)によって復号化される1つ以上の符号化されたビデオシーケンスを受信することができ、同じまたは別の実施形態では、一度に1つの符号化されたビデオシーケンスを受信することができ、ここで、各符号化されたビデオシーケンスの復号化が、他の符号化されたビデオシーケンスから独立されている。符号化されたビデオシーケンスは、チャネル(401)から受信されることができ、このチャネルが、符号化されたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアのリンクであってもよい。受信機(431)は、それぞれの使用エンティティ(図示せず)に伝送されることができる、例えば符号化されたオーディオデータおよび/または補助データストリームなどのような他のデータとともに、符号化されたビデオデータを受信することができる。受信機(431)は、符号化されたビデオシーケンスを他のデータから分離することができる。ネットワークジッタを防止するために、バッファメモリ(415)は、受信機(431)とエントロピーデコーダ/解析器(Parser)(420)(以降「解析器(420)」)との間に結合されることができる。いくつかのアプリケーションでは、バッファメモリ(415)は、ビデオデコーダ(410)の一部である。他の場合では、バッファメモリ(515)は、ビデオデコーダ(410)の外部に配置されてもよい(図示せず)。さらに他の場合では、例えばネットワークジッタを防止するために、ビデオデコーダ(410)の外部にバッファメモリ(図示せず)があり得て、さらに、例えば再生タイミングを処理するために、ビデオデコーダ(410)の内部に別のバッファメモリ(415)があり得る。受信機(431)が十分な帯域幅および制御可能性を有するストア/フォワードデバイスからまたは等時性同期ネットワーク(isosynchronous network)からデータを受信する場合、バッファメモリ(415)は、必要ではないかまたは小さくてもよい。インターネットなどのようなベストエフォートパケットネットワークで使用するために、バッファメモリ(415)は、必要になる場合があり、比較的大きくすることができ、有利には適応性のサイズにすることができ、オペレーティングシステムまたはビデオデコーダ(410)の外部の類似要素(図示せず)に少なくとも部分的に実装されることができる。
【0032】
ビデオデコーダ(410)は、符号化されたビデオシーケンスからシンボル(421)を再構築するための解析器(420)を含むことができる。これらのシンボルのカテゴリには、ビデオデコーダ(410)の動作を管理するために使用される情報と、電子デバイス(430)の不可欠な部分ではないが、図4に示すように、電子デバイス(430)に結合されることができるレンダリングデバイス(412)(例えば、ディスプレイスクリーン)などのようなレンダリングデバイスを制御するための潜在的情報とが含まれる。レンダリングデバイスの制御情報は、補足強化情報(SEIメッセージ)またはビジュアルユーザビリティ情報(VUI)パラメータセットフラグメント(図示せず)の形であってもよい。解析器(420)は、受信された、符号化されたビデオシーケンスに対して解析/エントロピー復号化を行うことができる。符号化されたビデオシーケンスの符号化は、ビデオ符号化技術または規格に従うことができ、可変長符号化、ハフマン符号化、コンテキスト感度を有するかまたは有しないかの算術符号化などを含む、様々な原理に従うことができる。解析器(420)は、グループに対応する少なくとも1つのパラメータに基づいて、符号化されたビデオシーケンスから、ビデオデコーダにおける画素のサブグループのうちの少なくとも1つのサブグループパラメータのセットを抽出することができる。サブグループは、画像のグループ(GOP:Group of Pictures)、画像、タイル、スライス、マクロブロック、符号化ユニット(CU:Coding Unit)、ブロック、変換ユニット(TU:Trans form Unit)、予測ユニット(PU:Prection Unit)などを含むことができる。解析器(420)は、変換係数、量子化器パラメータ値、動きベクトルなどのような情報を符号化されたビデオシーケンスから抽出することもできる。
【0033】
解析器(420)は、シンボル(421)を作成するために、バッファメモリ(415)から受信されたビデオシーケンスに対してエントロピー復号化/解析動作を実行することができる。
【0034】
シンボル(421)の再構築は、符号化されたビデオ画像またはその一部(例えば、フレーム間画像およびフレーム内画像、フレーム間ブロックおよびフレーム内ブロック)のタイプおよび他の要因に応じて、複数の異なるユニットに関連することができる。どのようなユニットに関連するか、およびどのように関連するかは、解析器(420)によって、符号化されたビデオシーケンスから解析されたサブグループ制御情報によって制御されることができる。解析器(420)と以下の複数のユニットとの間のそのようなサブグループ制御情報のフローは、明瞭にするために示されていない。
【0035】
既に言及された機能ブロックに加えて、ビデオデコーダ(410)は、以下に説明するように、いくつかの機能ユニットに概念的に細分されることができる。商業的制約で動作する実際の実施形態では、これらのユニットの多くは、互いに密接に相互作用し、少なくとも部分的には互いに統合されることができる。しかしながら、開示された主題を説明する目的のために、以下の機能ユニットへの概念的な細分は適切である。
【0036】
第1ユニットは、スケーラ/逆変換ユニット(451)である。スケーラ/逆変換ユニット(451)は、量子化された変換係数と、どのような変換を使用するかということ、ブロックサイズ、量子化因子、量子化スケーリング行列などを含む制御情報とを、解析器(540)からシンボル(421)として受信する。スケーラ/逆変換ユニット(451)は、アグリゲータ(455)に入力できるサンプル値を含むブロックを出力することができる。
【0037】
いくつかの場合では、スケーラ/逆変換ユニット(451)の出力サンプルは、フレーム内符号化ブロックに属することができ、即ち、以前に再構築された画像からの予測情報を使用していないが、現在画像の以前に再構築された部分からの予測情報を使用することができるブロックである。このような予測情報は、フレーム内画像予測ユニット(452)によって提供されてもよい。いくつかの場合では、フレーム内画像予測ユニット(452)は、現在画像バッファ(458)から抽出された、周囲の既に再構築された情報を使用して、再構築中のブロックと同じサイズおよび形状のブロックを生成する。現在画像バッファ(458)は、例えば、部分的に再構築された現在画像および/または完全に再構築された現在画像をバッファリングする。アグリゲータ(455)は、いくつかの場合では、サンプルごとに基づいて、フレーム内予測ユニット(452)によって生成された予測情報を、スケーラ/逆変換ユニット(451)によって提供される出力サンプル情報に追加する。
【0038】
他の場合では、スケーラ/逆変換ユニット(451)の出力サンプルは、フレーム間符号化されたブロックおよび潜在的に動き補償されたブロックに属することができる。このような場合、動き補償予測ユニット(453)は、参照画像メモリ(457)にアクセスして、予測に用いられるサンプルを抽出することができる。抽出されたサンプルが、ブロックに関連するシンボル(421)に基づいて動き補償された後、これらのサンプルは、出力サンプル情報を生成するために、アグリゲータ(455)によってスケーラ/逆変換ユニット(451)の出力(この場合、残差サンプルまたは残差信号と呼ばれる)に追加されることができる。動き補償予測ユニット(453)が予測サンプルを抽出するときの参照画像メモリ(457)内のアドレスは、例えば、X、Y、および参照画像成分を有することができるシンボル(421)の形で、動き補償予測ユニット(453)に利用可能な動きベクトルによって制御されることができる。動き補償は、サブサンプルの正確な動きベクトルが使用中であるときに、参照画像メモリ(457)から抽出されたサンプル値の補間、運動ベクトル予測メカニズムなどを含むこともできる。
【0039】
アグリゲータ(455)の出力サンプルは、ループフィルタユニット(456)において様々なループフィルタリング技術によって採用されてもよい。ビデオ圧縮技術は、符号化されたビデオシーケンス(符号化されたビデオビットストリームとも呼ばれる)に含まれ、解析器(420)からのシンボル(421)としてループフィルタユニット(456)に利用可能になるパラメータによって制御されるループ内フィルタ技術を含むことができ、また、符号化された画像または符号化されたビデオシーケンスの前の部分(復号化順序で)を復号化する期間で得られたメタ情報に応答し、および、以前に再構築されてループフィルタリングされたサンプル値に応答することもできる。
【0040】
ループフィルタユニット(456)の出力は、レンダリングデバイス(412)に出力することができ、および、将来のフレーム間画像予測で使用するために参照画像メモリ(457)に記憶することができるサンプルストリームとすることができる。
【0041】
特定の符号化された画像は、完全に再構築されると、将来の予測のための参照画像として使用することができる。例えば、現在画像に対応する符号化された画像が完全に再構築され、符号化された画像が(例えば、解析器(420)によって)参照画像として識別されると、現在画像バッファ(458)は、参照画像メモリ(457)の一部になることができ、そして、後続の符号化された画像の再構築を開示する前に、新しい現在画像バッファを再割り当てることができる。
【0042】
ビデオデコーダ(410)は、例えばITU-T Rec.H.265.などのような規格における所定のビデオ圧縮技術に従って復号化動作を実行することができる。符号化されたビデオシーケンスは、符号化されたビデオシーケンスがビデオ圧縮技術または規格の構文と、ビデオ圧縮技術または規格の文書としてのプロファイルとの両方に従うという意味で、使用されているビデオ圧縮技術または規格によって指定された構文に従うことができる。具体的には、プロファイルは、ビデオ圧縮技術または規格で使用可能なすべてのツールから、そのプロファイルで使用できる唯一のツールとしていくつかのツールを選択することができる。符号化されたビデオシーケンスの複雑さが、ビデオ圧縮技術または規格の階層によって定義された範囲内にあるということもコンプライアンスに必要である。いくつかの場合では、階層は、最大画像サイズ、最大フレームレート、(例えば、毎秒メガ(mega)個のサンプルを単位として測定された)最大再構築サンプルレート、最大参照画像サイズなどを制限する。階層によって設定された制限は、いくつかの場合では、仮想参照デコーダ(HRD:Hypthetical Reference Decoder)仕様と、符号化されたビデオシーケンスにおいてシグナルで通知されるHRDバッファ管理のメタデータとによって、さらに制限されることができる。
【0043】
一実施形態では、受信機(431)は、符号化されたビデオとともに付加(冗長)的なデータを受信することができる。付加的なデータは、符号化されたビデオシーケンスの一部として含まれることができる。付加的なデータは、データを適切に復号化し、および/または元のビデオデータをより正確に再構築するために、ビデオデコーダ(410)によって使用されることができる。付加的なデータは、例えば、時間的、空間的、または信号雑音比(SNR:signal noise ratio)拡張層、冗長スライス、冗長画像、前方誤り訂正符号などのような形式にすることができる。
【0044】
図5は、本開示の一実施形態によるビデオエンコーダ(503)のブロック図を示す。ビデオエンコーダ(503)は、電子デバイス(520)に含まれる。電子デバイス(520)は、送信機(540)(例えば、送信回路)を含む。ビデオエンコーダ(503)は、図3の例におけるビデオエンコーダ(303)の代わりに使用することができる。
【0045】
ビデオエンコーダ(503)は、ビデオエンコーダ(503)によって符号化されるビデオ画像を捕捉するビデオソース(501)(図5の例における電子デバイス(520)の一部ではない)から、ビデオサンプルを受信することができる。別の例では、ビデオソース(501)は、電子デバイス(520)の一部である。
【0046】
ビデオソース(501)は、ビデオエンコーダ(503)によって符号化されたソースビデオシーケンスをデジタルビデオサンプルストリームの形式で提供することができ、前記デジタルビデオサンプルストリームは、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット…)、任意の色空間(例えば、BT.601 Y CrCB、RGB…)および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)を有することができる。メディアサービスシステムでは、ビデオソース(501)は、以前に準備されたビデオを記憶する記憶デバイスであってもよい。ビデオ会議システムでは、ビデオソース(501)は、ローカル画像情報をビデオシーケンスとして捕捉するカメラであってもよい。ビデオデータは、順番に見られるときに動きを与える複数の個別の画像として提供されることができる。画像自体は、空間画素アレイとして構成されてもよく、ここで、各画素は、使用中のサンプリング構造、色空間などに応じて、1つ以上のサンプルを含むことができる。当業者は、画素とサンプルとの間の関係を容易に理解することができる。以下の説明は、サンプルに焦点を当てる。
【0047】
一実施形態によれば、ビデオエンコーダ(503)は、リアルタイムで、またはアプリケーションによって要求される任意の他の時間制約の下で、ソースビデオシーケンスの画像を、符号化されたビデオシーケンス(543)に符号化し圧縮することができる。適切な符号化速度を実施することは、コントローラ(550)の1つの機能である。いくつかの実施形態では、コントローラ(550)は、以下で説明するように他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。該結合は、明瞭にするために図示されていない。コントローラ(550)によって設定されたパラメータは、レート制御関連パラメータ(画像スキップ、量子化器、レート歪み最適化技術のλ(ラムダ)値…)、画像サイズ、画像のグループ(GOP:group of pictures)レイアウト、最大動きベクトル探索範囲などを含むことができる。コントローラ(550)は、特定のシステム設計に対して最適化されたビデオエンコーダ(503)に関連する他の適切な機能を有するように構成されることができる。
【0048】
いくつかの実施形態では、ビデオエンコーダ(503)は、符号化ループで動作するように構成される。過度に簡単化された説明として、一例では、符号化ループは、ソースコーダ(530)(例えば、符号化される入力画像と、参照画像とに基づいて、シンボルストリームなどのようなシンボルを作成することを担当する)と、ビデオエンコーダ(503)に埋め込まれた(ローカル)デコーダ(533)とを含むことができる。デコーダ(533)は、(リモート)デコーダがサンプルデータを作成すると同様の方法でシンボルを再構築してサンプルデータを作成する(開示された主題で考慮されているビデオ圧縮技術では、シンボルと符号化されたビデオビットストリームとの間の任意の圧縮が無損失であるからである)。再構築されたサンプルストリーム(サンプルデータ)は、参照画像メモリ(534)に入力される。シンボルストリームの復号化により、デコーダの位置(ローカルまたはリモート)に関係なくビット正確な結果が得られるため、参照画像メモリ(534)のコンテンツは、ローカルエンコーダとリモートエンコーダの間でもビットで正確に対応する。言い換えれば、エンコーダの予測部分が「見た」参照画像サンプルは、デコーダが復号化期間に予測を使用する際に「見た」サンプル値と全く同じである。この参照画像の同期性の基本原理(および、例えばチャネル誤差の原因で同期性が維持されない場合にはドリフトが生じる)は、いくつかの関連技術でも使用されている。
【0049】
「ローカル」デコーダ(533)の動作は、既に図5に関連して以上で詳細に説明された、ビデオデコーダ(410)などのような「リモート」デコーダの動作と同じであってもよい。しかし、図4をさらに簡単に参照すると、シンボルが利用可能であり、かつ、エントロピーコーダ(545)および解析器(420)によって符号化されたビデオシーケンスへのシンボルの符号化/復号化が無損失であることができるため、バッファメモリ(415)と解析器(420)を含むビデオデコーダ(410)のエントロピーデコード部分は、ローカルデコーダ(533)で完全に実行できない可能性がある。
【0050】
この時点で、デコーダに存在する解析/エントロピー復号化以外のいかなるデコーダ技術も、対応するエンコーダにおいて、実質的に同一の機能形式で必ず存在する必要がある、ということが分かっている。このため、開示された主題は、デコーダ動作に焦点を合わせる。エンコーダ技術の説明は、包括的に説明されたデコーダ技術の逆であるため、省略されることができる。特定の領域だけで、より詳細な説明が必要であり、以下で提供される。
【0051】
動作中に、いくつかの実施形態では、ソースコーダ(530)は、動き補償予測符号化を実行することができ、動き補償予測符号化は、ビデオシーケンスから「参照画像」として指定された1つ以上の以前に符号化された画像を参照して、入力画像を予測的に符号化する。このようにして、符号化エンジン(532)は、入力画像の画素ブロックと、入力画像に対する予測参照として選択されることができる参照画像の画素ブロックとの間の差分を符号化する。
【0052】
ローカルビデオデコーダ(533)は、ソースコーダ(530)によって生成されたシンボルに基づいて、参照画像として指定されることができる画像の符号化されたビデオデータを復号化することができる。符号化エンジン(532)の動作は、有利には損失性プロセスであってもよい。符号化されたビデオデータがビデオデコーダ(図5に示されない)で復号化された場合、再構築されたビデオシーケンスは、通常、いくつかの誤差を伴うソースビデオシーケンスのレプリカであってもよい。ローカルビデオデコーダ(533)は、参照画像に対してビデオデコーダによって実行されることができる復号化プロセスをコピーして、再構築された参照画像を参照画像キャッシュ(534)に記憶することができる。このようにして、ビデオエンコーダ(503)は、遠端ビデオデコーダによって得られる(伝送誤差が存在しない)再構築された参照画像と共通のコンテンツを有する再構築された参照画像のコピーを、ローカルに記憶することができる。
【0053】
予測器(535)は、符号化エンジン(532)に対して予測検索を実行することができる。すなわち、符号化される新しい画像について、予測器(535)は、新しい画像の適切な予測参照として機能するサンプルデータ(候補参照画素ブロックとして)または特定のメタデータ、例えば参照画像動きベクトル、ブロック形状などについて、参照画像メモリ(534)を検索することができる。予測器(535)は、適切な予測参照を見つけるために、サンプルブロックに基づいて、画素ブロックごとに動作することができる。いくつかの場合では、予測器(535)によって得られた検索結果によって決定されるように、入力画像は、参照画像メモリ(534)に記憶された複数の参照画像から引き出された予測参照を有することができる。
【0054】
コントローラ(550)は、例えば、ビデオデータを符号化するために使用されるパラメータおよびサブグループパラメータの設定を含む、ソースコーダ(530)の符号化動作を管理することができる。
【0055】
上述のすべての機能ユニットの出力は、エントロピーコーダ(545)でエントロピー符号化されることができる。エントロピーコーダ(545)は、ハフマン符号化、可変長符号化、算術符号化などのような当業者に知られている技術に従って、シンボルを無損失で圧縮することにより、様々な機能ユニットによって生成されたシンボルを符号化されたビデオシーケンスに変換する。
【0056】
送信機(540)は、符号化されたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクであることができる通信チャネル(560)を介した送信に備えるために、エントロピーコーダ(545)によって生成された、符号化されたビデオシーケンスをバッファリングすることができる。送信機(540)は、ビデオコーダ(503)からの符号化されたビデオデータを、送信される他のデータ、例えば、符号化されたオーディオデータおよび/または補助データストリーム(ソースは図示せず)とマージすることができる。
【0057】
コントローラ(550)は、ビデオエンコーダ(503)の動作を管理することができる。符号化する期間、コントローラ(550)は、各符号化された画像に、特定の符号化された画像タイプを割り当てることができ、これは、それぞれの画像に適用できる符号化技術に影響を与える可能性がある。例えば、画像は、以下の画像タイプのいずれかとして割り当てられることが多いし、即ち、
フレーム内画像(I画像)は、シーケンス内の任意の他の画像を予測のソースとして使用せずに、符号化および復号化されることができるものであってもよい。いくつかのビデオコーデックは、独立したデコーダリフレッシュ(Independent Decoder Refresh、「IDR」)画像などの異なるタイプのフレーム内画像を許容する。当業者は、I画像の変種とそれらのアプリケーションおよび機能とを理解している。
【0058】
予測画像(P画像)は、多くとも1つの動きベクトルおよび参照インデックスを使用して各ブロックのサンプル値を予測するフレーム内予測またはフレーム間予測を使用して符号化および復号化され得るものであってもよい。
双方向予測画像(B画像)は、多くとも2つの動きベクトルおよび参照インデックスを使用して各ブロックのサンプル値を予測するフレーム内予測またはフレーム間予測を使用して符号化および復号化され得るものであってもよい。同様に、複数の予測画像は、単一のブロックの再構築に、2つ以上の参照画像および関連付けられたメタデータを使用することができる。
【0059】
ソース画像は、一般的に、複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、または16×16個のサンプルのブロック)に空間的に細分され、ブロックごとに符号化されることができる。これらのブロックは、ブロックのそれぞれの画像に適用される符号化割り当てによって決定されるように、他の(既に符号化された)ブロックを参照して予測的に符号化されることができる。例えば、I画像のブロックは、非予測的に符号化されてもよく、またはそれらが同じ画像の既に符号化されたブロックを参照して予測的に符号化されてもよい(空間予測またはフレーム内予測)。P画像の画素ブロックは、1つ前に符号化された参照画像を参照して、空間的予測を介してまたは時間的予測を介して予測的に符号化されてもよい。B画像のブロックは、1つまたは2つ前に符号化された参照画像を参照して、空間的予測を介してまたは時間的予測を介して予測的に符号化されてもよい。
【0060】
ビデオエンコーダ(503)は、例えばITU―T H.265などのような所定のビデオ符号化技術または規格に従って、符号化動作を実行することができる。その動作において、ビデオエンコーダ(503)は、入力ビデオシーケンスにおける時間的と空間的冗長性を利用する予測符号化動作を含む、様々な圧縮動作を実行することができる。したがって、符号化されたビデオデータは、使用されるビデオ符号化技術または規格によって指定された構文に従うことができる。
【0061】
一実施形態では、送信機(540)は、符号化されたビデオとともに、付加的なデータを送信することができる。ソースコーダ(530)は、そのようなデータを、符号化されたビデオシーケンスの一部として含むことができる。付加的なデータは、時間的/空間的/SNR拡張層、冗長画像やスライスなどのような他の形式の冗長データ、補足強化情報 (SEI:Supplementary Enhancement Information)メッセージ、ビジュアルユーザビリティ情報(VUI:Visual Usability Informatio)パラメータセットフラグメントなどを含むことができる。
【0062】
ビデオは、時系列で複数のソース画像(ビデオ画像)として捕捉されることができる。フレーム内画像予測(フレーム内予測と略称されることが多い)は、与えられた画像における空間的相関を利用し、フレーム間画像予測は、画像間の(時間的または他の)相関を利用する。一例では、現在画像と呼ばれる、符号化/復号化中の特定の画像がブロックに分割される。現在画像のブロックが、ビデオにおける以前に符号化され、まだバッファリングされている参照画像における参照ブロックに類似している場合、現在画像のブロックは、動きベクトルと呼ばれるベクトルによって符号化されることができる。動きベクトルは、参照画像における参照ブロックを指し、複数の参照画像が使用されている場合、参照画像を識別する3番目の次元を有することができる。
【0063】
いくつかの実施形態では、双方向予測技術は、フレーム間画像予測に使用されることができる。双方向予測技術によれば、例えば、復号化の順で両方とも、ビデオにおける現在画像の前にある(ただし、表示の順でそれぞれ、過去と将来にあるかもしれない)第1および第2参照画像などのような2つの参照画像が使用される。現在画像におけるブロックは、第1参照画像における第1参照ブロックを指す第1動きベクトルと、第2参照画像における第2参照ブロックを指す第2動きベクトルによって符号化されることができる。ブロックは、第1参照ブロックおよび第2参照ブロックの組み合わせによって予測されることができる。
【0064】
さらに、符号化効率を向上させるために、マージモード技術は、フレーム間画像予測で使用されることができる。
【0065】
本開示のいくつかの実施形態によれば、フレーム間画像予測やフレーム内画像予測などのような予測は、ブロックの単位で実行される。例えば、HEVC規格に従って、ビデオ画像のシーケンスにおける画像は、圧縮のために符号化ツリーユニット(CTU:coding tree unit)に分割され、画像におけるCTUは同じサイズ、例えば64×64画素、32×32画素、または16×16画素を有する。一般的に、CTUは、1つの輝度CTBと2つの色度CTBである3つの符号化ツリーブロック(CTB)を含む。各CTUは、再帰的に四分木で1つ以上の符号化ユニット(CU)に分割されてもよい。例えば、64×64画素のCTUは、1つの64×64画素のCU、4つの32×32画素のCU、または16つの16×16画素のCUに分割されることができる。一例では、各CUは、フレーム間予測タイプまたはフレーム内予測タイプなどのようなCUに対する予測タイプを決定するために分析される。CUは、時間的および/または空間的予測可能性に応じて、1つ以上の予測ユニット(PU)に分割される。通常、各PUは、輝度予測ブロック(PB)と2つの色度PBを含む。一実施形態では、符号化(エンコーディング/デコーディング)における予測動作は、予測ブロックの単位で実行される。輝度予測ブロックを予測ブロックの例として使用すると、予測ブロックは、8×8画素、16×16画素、8×16画素、16×8画素などのような画素値(例えば、輝度値)の行列を含む。
【0066】
図6は、本開示の別の実施形態によるビデオエンコーダ(603)の図を示す。ビデオエンコーダ(603)は、ビデオ画像シーケンスにおける現在ビデオ画像内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックを符号化されたビデオシーケンスの一部である符号化された画像に符号化するように構成される。一例では、ビデオエンコーダ(603)は、図4の例におけるビデオエンコーダ(303)の代わりに使用される。
【0067】
HEVCの例では、ビデオエンコーダ(603)は、例えば8×8サンプルの予測ブロックなどのような処理ブロックのサンプル値の行列を受信する。ビデオエンコーダ(603)は、例えばレート歪み最適化を使用して、フレーム内モード、フレーム間モード、または双方向予測モードを使用して処理ブロックを符号化するかどうかを決定する。処理ブロックがフレーム内モードで符号化される場合、ビデオエンコーダ(603)は、フレーム内予測技術を使用して、処理ブロックを符号化された画像に符号化することができ、また、処理ブロックがフレーム間モードまたは双方向予測モードで符号化される場合、ビデオエンコーダ(603)は、それぞれフレーム間予測または双方向予測技術を使用して、処理ブロックを符号化された画像に符号化することができる。特定のビデオ符号化技術では、マージモードは、予測値以外にある符号化された動きベクトル成分の利点を利用しない場合に、動きベクトルが1つ以上の動きベクトル予測値から導出されるフレーム間画像予測サブモードにすることができる。特定の他のビデオ符号化技術では、主題ブロックに適用可能な動きベクトル成分が存在する場合がある。一例では、ビデオエンコーダ(603)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)などのような他のコンポーネントを含む。
【0068】
図6の例では、ビデオエンコーダ(603)は、図6に示すように一緒に結合された、フレーム間エンコーダ(630)と、フレーム内エンコーダ(622)と、残差計算器(623)と、スイッチ(626)と、残差エンコーダ(624)と、汎用コントローラ(621)と、エントロピーエンコーダ(625)とを含む。
【0069】
フレーム間エンコーダ(630)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、そのブロックを参照画像(例えば、前の画像と後の画像におけるブロック)内の1つ以上の参照ブロックと比較し、フレーム間予測情報(例えば、フレーム間符号化技術による冗長情報説明、動きベクトル、マージモード情報)を生成して、任意の適切な技術を使用して、フレーム間予測情報に基づいてフレーム間予測結果(例えば、予測されたブロック)を計算するように構成される。いくつかの例では、参照画像は、復号化された参照画像であり、それが符号化されたビデオ情報に基づいて復号化されたものである。
【0070】
フレーム内エンコーダ(622)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、いくつかの場合では、そのブロックを同じ画像で既に符号化されたブロックと比較し、変換後に量子化された係数を生成して、いくつかの場合では、フレーム内予測情報(例えば、1つ以上のフレーム内符号化技術によるフレーム内予測方向情報)を生成するように構成される。一例では、フレーム内エンコーダ(622)は、フレーム内予測情報と、同じ画像における参照ブロックとに基づいて、フレーム内予測結果(例えば、予測されたブロック)も計算する。
【0071】
汎用コントローラ(621)は、汎用制御データを決定し、汎用制御データに基づいてビデオエンコーダ(603)の他のコンポーネントを制御するように構成される。一例では、汎用コントローラ(621)は、ブロックのモードを決定し、そのモードに基づいて制御信号をスイッチ(626)に提供する。例えば、モードがフレーム内モードである場合、汎用コントローラ(621)は、残差計算器(623)によって使用されるフレーム内モード結果を選択するように、スイッチ(626)を制御し、フレーム内予測情報を選択して、そのフレーム内予測情報をコードストリームに含めるように、エントロピーエンコーダ(625)を制御する。また、モードがフレーム間モードである場合、汎用コントローラ(621)は、残差計算器(623)によって使用されるフレーム間予測結果を選択するように、スイッチ(626)を制御し、フレーム間予測情報を選択して、そのフレーム間予測情報をコードストリームに含めるように、エントロピーエンコーダ(625)を制御する。
【0072】
残差計算器(623)は、受信されたブロックとフレーム内エンコーダ(622)またはフレーム間エンコーダ(630)から選択された予測結果との間の差(残差データ)を計算するように構成される。残差エンコーダ(624)は、残差データに基づいて動作して、残差データを符号化することで変換係数を生成するように構成される。一例では、残差エンコーダ(624)は、周波数領域で残差データを変換し、変換係数を生成するように構成される。次に、変換係数は量子化処理を受けて、量子化された変換係数が得られる。様々な実施形態では、ビデオエンコーダ(603)はまた、残差デコーダ(628)も含む。残差デコーダ(628)は、逆変換を実行し、復号化された残差データを生成するように構成される。復号化された残差データは、フレーム内エンコーダ(622)およびフレーム間エンコーダ(630)によって適切に使用されることができる。例えば、フレーム間エンコーダ(630)は、復号化された残差データおよびフレーム間予測情報に基づいて、復号化されたブロックを生成することができ、フレーム内エンコーダ(622)は、復号化された残差データおよびフレーム内予測情報に基づいて、復号化されたブロックを生成することができる。復号化されたブロックは、復号化された画像を生成するために適切に処理され、いくつかの例では、復号化された画像は、メモリ回路(図示せず)でバッファされ、参照画像として使用されることができる。
【0073】
エントロピーエンコーダ(625)は、符号化されたブロックを含むようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ(625)は、HEVC規格などのような適切な規格に従って様々な情報を含むように構成される。一例では、エントロピーエンコーダ(625)は、汎用制御データ、選択された予測情報(例えば、フレーム内予測情報またはフレーム間予測情報)、残差情報、およびビットストリーム内の他の適切な情報を含むように構成される。開示された主題によれば、フレーム間モードまたは双方向予測モードのマージサブモードでブロックを符号化する場合、残差情報はないということに留意されたい。
【0074】
図7は、本開示の別の実施形態によるビデオデコーダ(710)の図を示す。ビデオデコーダ(710)は、符号化されたビデオシーケンスの一部である符号化された画像を受信し、符号化された画像を復号化して再構築された画像を生成するように構成される。一例では、ビデオデコーダ(710)は、図3の例におけるビデオデコーダ(310)の代わりに使用される。
【0075】
図7の例では、ビデオデコーダ(710)は、図7に示されるように一緒に結合された、エントロピーデコーダ(771)と、フレーム間デコーダ(780)と、残差デコーダ(773)と、再構築モジュール(774)と、フレーム内デコーダ(772)とを含む。
【0076】
エントロピーデコーダ(771)は、符号化された画像から、符号化された画像を構成する構文要素を表す特定のシンボルを再構築するように構成されることができる。このようなシンボルは、例えば、ブロックを符号化するためのモード(例えば、フレーム内、フレーム間、双方向予測、後者の2つのマージサブモードまたは別のサブモード)と、フレーム内デコーダ(772)またはフレーム間デコーダ(780)による予測に使用される特定のサンプルまたはメタデータをそれぞれ識別できる予測情報(例えば、フレーム内予測情報またはフレーム間予測情報など)と、例えば量子化された変換係数の形式の残差情報などとを含む。一例では、予測モードがフレーム間予測モードまたは双方向予測モードである場合、フレーム間予測情報は、フレーム間デコーダ(780)に提供される。そして、予測タイプがフレーム内予測タイプである場合、フレーム内予測情報は、フレーム内デコーダ(772)に提供される。残差情報は、逆量子化を受けて、残差デコーダ(773)に提供されることができる。
【0077】
フレーム間デコーダ(780)は、フレーム間予測情報を受信し、フレーム間予測情報に基づいてフレーム間予測結果を生成するように構成される。
【0078】
フレーム内デコーダ(772)は、フレーム内予測情報を受信し、フレーム内予測情報に基づいて予測結果を生成するように構成される。
【0079】
残差デコーダ(773)は、逆量子化を実行して、逆量子化された変換係数を抽出し、その逆量子化された変換係数を処理して、残差を周波数領域から空間領域に変換するように構成される。残差デコーダ(773)はまた、特定の制御情報(量子化器パラメータ(QP)を含むように)も必要とする場合があり、その情報は、エントロピーデコーダ(771)によって提供される場合がある(これが低ボリューム制御情報のみであるため、データ経路は図示されていない)。
【0080】
再構築モジュール(774)は、空間領域において、残差デコーダ(773)による出力としての残差と、(場合によっては、フレーム間予測モジュールまたはフレーム内予測モジュールによる出力としての)予測結果とを組み合わせて、再構築されたブロックを形成するように構成され、再構築されたブロックは、再構築された画像の一部とすることができ、その後、再構築された画像は、再構築されたビデオの一部とすることができる。それは、視覚的品質を改善するために、デブロッキング動作などのような他の適切な動作を実行することができる、ということに留意されたい。
【0081】
ビデオエンコーダ(303)、(503)および(603)と、ビデオデコーダ(310)、(410)および(710)とは、任意の適切な技術を使用して実現されることができる、ということに留意されたい。一実施形態では、ビデオエンコーダ(303)、(503)および(603)と、ビデオデコーダ(310)、(410)および(710)とは、1つ以上の集積回路を使用して実現されることができる。別の実施形態では、ビデオエンコーダ(303)、(503)および(603)と、ビデオデコーダ(310)、(410)および(710)とは、ソフトウェア命令を実行する1つ以上のプロセッサを使用して実装されることができる。
【0082】
本開示の各態様は、複数ラインのフレーム内予測ための技術を提供する。
【0083】
自然なビデオで示される任意のエッジ方向を捕捉するために、方向性フレーム内モードの数は、例えば33から65までなどのように拡張されることができる。通常、平面モードとDCモードは同じままである。より高密度な方向性フレーム内予測モードは、すべてのブロックサイズに適用され、輝度と色度の両方のフレーム内予測に適用される。
【0084】
図8は、65個のフレーム内予測方向を描く概略図801を示す。いくつかの実施形態では、合計67個のフレーム内予測モードが使用される。これらの67個のフレーム内予測モードのうち、フレーム内予測モード0は平面モードであり、フレーム内予測モード1はDCモードであり、フレーム内予測モード2からフレーム内予測モード66までは、それぞれ、65個のフレーム内予測方向に対応し、また、方向性フレーム内予測モードと呼ばれる。図8に示すように、いくつかの方向性フレーム内予測モードは、点線矢印によって識別され、奇数フレーム内予測モードのインデックスに関連付けられているため、奇数フレーム内予測モードと呼ばれる。他の方向性フレーム内予測モードは、実線矢印によって識別され、偶数フレーム内予測モードのインデックスに関連付けられているため、偶数フレーム内予測モードと呼ばれる。本明細書では、図8の実線または点線の矢印によって示されているような方向性予測モードは、角度モードと呼ばれる。
【0085】
一例では、合計67個のフレーム内予測モードが、輝度フレーム内予測のために使用される。いくつかの実施形態では、現在ブロックのフレーム内予測モードを符号化するために、サイズが6である最も可能性の高いモード(即ち、最確モード)(MPM:most probable mode)リストが、現在ブロックの隣接するブロックのフレーム内予測モードに基づいて構築される。例えば、MPMリストを形成するために、隣接するブロックのフレーム内予測モードから6つのフレーム内予測モードが選択される。現在ブロックのフレーム内予測モードがMPMリストにない場合、フレーム内予測モードがMPMリストで選択されたフレーム内予測モードに属するかどうかを示すフラグが信号で通知される。別の例では、MPMリストには16個の選択されたフレーム内予測モードがあり、16個の選択されたフレーム内予測モードは、角度モードにおける4つの角度モードごとに均一に選択される。別の例では、均一に選択されたフレーム内予測モードを置き換えるために、16個の二番目の最も可能性の高いモードが導出される。
【0086】
本開示のいくつかの態様によれば、現在ブロックを予測するために使用される参照サンプルは、現在ブロックに最も近いライン(行または列)に制限されない。複数参照ラインのフレーム内予測方法では、フレーム内方向性モードに対して、候補参照ライン(行または列)のインデックス番号は、ゼロ(つまり、最も近い)からN-1まで増加され、ここで、Nは1以上の整数である。いくつかの例では、最も近い参照ラインは、ゼロ参照ラインと呼ばれ、他の参照ラインは、非ゼロ参照ラインと呼ばれる。参照ラインは、いくつかの例では、参照階層(reference tiers)とも呼ばれる。
【0087】
図9は、本開示の実施形態による複数参照ラインのフレーム内方向予測の図(900)を示す。図(900)は、複数の参照階層(例えば、N個の参照階層)を有する予測ユニット(910)(例えば、4x4の予測ユニット)を示す。フレーム内方向性モードでは、予測器を生成するために、N個の参照階層のうちの1つが任意に選択されることができる。一例では、予測器P(x,y)は、例えば異なる参照階層からの左上の参照サンプルS0、S1、S2、S3、…、Snのうちの1つから生成される。どの参照階層がフレーム内方向性モードのために選択されているかを示すために、フラグは信号で通知される。Nが0に設定された場合、フレーム内方向性予測方法は、最も近いラインに制限される従来の方法と同じである。図9では、参照ラインは、左上の参照サンプルと共に6つのセグメントから構成される。本明細書では、参照階層は参照ラインとも呼ばれる。現在ブロックユニット内の左上の画素の座標は(0,0)であり、ゼロ参照ラインにおける左上の画素は(―1,―1)である。
【0088】
いくつかの例では、輝度成分について、フレーム内予測サンプルの生成に使用される隣接するサンプルは、生成プロセスの前にフィルタリングされる。フィルタリングは、所定のフレーム内予測モードと変換ブロックサイズとによって制御される。一例では、フレーム内予測モードがDCである場合、または変換ブロックサイズが4x4に等しい場合、隣接するサンプルはフィルタリングされない。別の例では、所定のフレーム内予測モードと垂直モード(または水平モード)との間の距離が所定の閾値より大きい場合、フィルタリングプロセスは有効にされる。一例では、隣接するサンプルのフィルタリングについて、[1,2,1]フィルタおよびバイリニアフィルタ(bi-linear filter)を使用することができる。
【0089】
いくつかの実施形態では、位置依存のフレーム内予測の組み合わせ(PDPC:position dependent intra prediction combination)技術がフレーム内予測で使用される。PDPCは、フィルタリングされていない境界参照サンプルと、フィルタリングされた境界参照サンプルを有するHEVCスタイルのフレーム内予測との組み合わせを呼び出すフレーム内予測技術である。一例では、(x,y)に位置する各予測サンプルPred[x][y]は、以下のように計算される。
[式1]
pred[x][y]=(wL×R_(-1,y)+wT×R_(x,-1)+wTL×R_(-1,-1)+(64-wL-wT-wTL)×pred[x][y]+32)≫6
ここで、R_(x,-1)、R_(―1,y)は、現在サンプル(x,y)の上部と左側に位置するフィルタリングされていない参照サンプルをそれぞれ表し、R_(―1,―1)は、現在ブロックの左上隅に位置するフィルタリングされていない参照サンプルを表し、wT、wL、およびwTLは、重みを表す。重みは、式2~式5によって計算され、widthは、現在ブロックの幅を表し、heightは、現在ブロックの高さを表す。
[式2]
wT=32≫((y≪1)≫shift)
[式3]
wL=32≫((x≪1)≫shift)
[式4]
wTL=-(wL≫4)-(wT≫4)
[式5]
shift=(log2(width)+log2(height)+2)≫2
図10Aは、予測サンプル(0,0)の重みを示す。図10Aの例では、現在ブロックは4×4のブロックであり、幅は4であり、高さも4であり、そのため、シフトは1である。そして、wTは32であり、wLは32であり、また、wTLは―4である。
【0090】
図10Bは、予測サンプル(1,0)の重みを示す。図10Bの例では、現在ブロックは4×4のブロックであり、幅は4であり、高さも4であり、そのため、シフトは1である。そして、wTは32であり、wLは16であり、また、wTLは―3である。
【0091】
いくつかの例では、ローカル照明補償(LIC:local illumination compensation)が使用される。LICは、照明変化のための線形モデルに基づくものである。線形モデルは、スケーリング因子aおよびオフセットbに基づいて構築されることができる。スケーリング因子aおよびオフセットbは、照明補償(IC:illumination compensation)パラメータと呼ばれる。フレーム間モードで符号化された符号化ユニット(Cu:coding unit)のそれぞれに対して、LICを適応的に有効または無効にすることができる。
【0092】
図11は、隣接するサンプルに基づいて照明補償(IC:illumination compensation)パラメータを導出するための図を示す。図11は、現在CU(1110)と参照ブロック(1120)を示す。一例では、参照ブロック(1120)は、現在CU(1110)を有する現在画像の前の参照画像の中に位置する。現在CU(1110)のための隣接するサンプルは(1130)として示され、参照ブロック(1120)のための隣接するサンプルは(1140)として示される。さらに、図11では、サブサンプリング技術は、隣接するサンプルのサブセットを選択するために使用されている。例えば、2:1のサブサンプリングが使用された場合、サブセット(1150)は、現在CU(1110)の隣接するサンプル(1130)から選択され、対応するサブセット(1160)は、参照ブロック(1120)の隣接するサンプル(1140)から選択される。サブセット(1150)およびサブセット(1160)に基づいて、最小二乗誤差法は、ICパラメータaおよびbを導出するために採用される。
【0093】
いくつかの実施形態では、ICパラメータが導出され、各予測方向に対して別々に適用される。CUがマージモードで符号化された場合、LICフラグは、マージモードでの動き情報のコピーと同様な方式で、隣接するブロックからコピーされ、そうではない場合、LICが適用されるかどうかを示すために、LICフラグがCUに信号で通知される。
【0094】
本開示の第1態様によれば、複数ラインのフレーム内予測について、すべてのブロックに対して同じ数の参照階層を設定する代わりに、各ブロックに対して参照階層の数を適応的に選択する技術を使用することができる。本明細書では、最も近い参照ラインのインデックスは、0として示される。
【0095】
一実施形態では、上/左ブロックのブロックサイズは、現在ブロックのための参照階層の数を決定するために使用されることができる。例えば、上部および/または左側のブロックのサイズがMxNより大きい場合、現在ブロックのための参照階層の数はLに制限される。MおよびNは、4、8、16、32、64、128、256、および512であってもよく、また、Lは1~8であってもよい。一例では、Mおよび/またはNが64以上の場合、Lは1に設定される。別の例では、上部の候補参照行の数と左側の候補参照列の数の比率は、ブロックの幅とブロックの高さの比率と同じである。例えば、現在ブロックのサイズがMxNである場合、現在ブロックの上にある候補参照行の数はmであり、現在ブロックの左側にある候補参照列の数はnであると、M:N=m:nになる。
【0096】
別の実施形態では、左側および上部のブロックの最後の係数の位置は、現在ブロックのための参照階層の数を決定するために使用されることができる。最後の係数は、現在ブロックのための指定されたスキャン順序での最後の非ゼロ係数を意味する。例えば、最後の係数の位置が、上部および/または左側のブロックのための第1のMxN領域内にある場合、現在ブロックのための参照階層の数は、L(例えば、Lは1~8にすることができる)に制限され、MおよびNは、1~1024であってよい。一例では、上部および/または左側のブロックに係数がない場合、現在ブロックのための参照階層の数は1に制限される。別の例では、上部および/または左側のブロックの係数が2x2の左上領域内にある場合、現在ブロックのための参照階層の数は1~2に制限される。
【0097】
別の実施形態では、上部および/または左側のブロックにおける参照サンプルの画素値は、現在ブロックのための参照階層の数を決定するために使用されることができる。例えば、インデックスLiを有する参照ラインと、インデックスLj(Li<Lj)を有する参照ラインとの差が非常に小さい場合(例えば、閾値よりも小さい場合)、参照ラインLjは、参照ラインリストから削除される。LiおよびLjは、1~8であってもよい。場合によっては、すべての参照ラインの間の差が非常に小さいので、0より大きいインデックス番号を有する参照ラインはすべて削除される(ゼロ参照ラインが保持される)。2つの参照ラインの間の差を測定する方法は、勾配(gradient)、SATD、SAD、MSE、SNRおよびPSNRを含むが、これらに限定されない。一例では、LiとLjの平均SADが2未満である場合、参照ラインLjは、参照ラインリストから削除される。別の例では、上部および/または左側のモード情報の予測モードは、現在ブロックのための参照階層の数を決定するために使用されることができる。別の例では、上部および/または左ブロックの予測モードがスキップモードである場合、現在ブロックのための参照階層の数はLに制限される。Lは1~8であってもよい。
【0098】
本開示の第2態様によれば、分離されたツリーに対しても同じツリーに対しても、色度ブロックの参照ラインのインデックスは、輝度ブロックから導出されることができる。ここで、最も近い参照ラインのインデックスは0として示される。
【0099】
同じツリーについて、同一の場所に配置された輝度ブロックの参照ラインのインデックスが2以上の場合、現在の色度ブロックの参照ラインのインデックスは1に設定される。そうではない場合、現在の色度ブロックの参照ラインのインデックスは0に設定される。
【0100】
分離されたツリーについて、色度ブロックが輝度成分での1つのブロックのみをカバーする場合、参照ラインのインデックスの導出アルゴリズムは、同じツリーに対するアルゴリズムと同じである。色度ブロックが輝度成分での複数のブロックをカバーする場合、参照ラインのインデックスの導出アルゴリズムは、例のうちの1つであってもよい。一例では、輝度成分での同一の場所に配置されたブロックについて、多数のブロックの参照ラインのインデックスが2未満である場合、現在の色度ブロックのための参照ラインのインデックスは、0として導出され、そうではない場合、現在の色度ブロックのための参照ラインのインデックスは1として導出される。多数のブロックを測定する方法には、ブロックの領域サイズおよびブロックの数が含まれるが、これらに限定されない。別の例では、輝度成分での同一の場所に配置されたブロックについて、1つのブロックの参照ラインのインデックスが2以上である場合、現在の色度ブロックのための参照ラインのインデックスは1として導出され、そうではない場合、現在の色度ブロックのための参照ラインのインデックスは0として導出される。別の例では、輝度成分での同一の場所に配置されたブロックについて、多数のブロックの参照ラインのインデックスが2未満である場合、現在の色度ブロックのための参照ラインのインデックスは0として導出され、そうではない場合、現在の色度ブロックのための参照ラインのインデックスは1として導出される。
【0101】
別の実施形態では、現在の色度ブロックの参照階層の数は、上述の本開示の第1態様に従って制限される。本開示の第1態様による制限を適用した後、参照階層の数はLC1に設定される。そして、輝度ブロックから色度ブロックの参照ラインのインデックスを導出する導出アルゴリズムも適用され、これにより、現在ブロックLC2のための行インデックスが得られる。それから、LC1およびLC2の最小値は、現在の色度ブロックのための最後の参照ラインのインデックスになる。
【0102】
本開示の第3態様によれば、異なる参照ラインは、異なる数のフレーム内予測モードを有する。最も近い参照ラインのインデックスは0として示される。
【0103】
一実施形態では、67個のフレーム内予測モードがフレーム内予測に使用される場合、ゼロ参照ラインは、67個のモードを有し、第1参照ラインは35個のモードを有し、第2参照ラインは17個のモードを有し、第3参照ラインは9個のモードを有するなどである。
【0104】
別の実施形態では、非ゼロ参照ラインは、同じ数のフレーム内モードを共有するが、ゼロ参照ラインのフレーム内モードよりもはるかに少なくなり、例えば、ゼロ参照ラインのフレーム内予測モードの半分以下になる。
【0105】
一例では、非ゼロ参照ラインについて、偶数モードのインデックスを有する方向性フレーム内予測モードのみが許可される。図8に示すように、奇数モードのインデックスを有する方向性フレーム内予測モードは、破線の矢印でマークされ、偶数モードのインデックスを有する方向性フレーム内予測モードは、実線の矢印でマークされる。
【0106】
別の例では、非ゼロ参照ラインについて、偶数モードのインデックスを有する方向性フレーム内予測モード、DCモードおよび平面ナモードのみが許可される。別の例では、非ゼロ参照ラインについて、第1レベルのMPMと第2レベルのMPMの両方を含む最も可能性の高いモード(MPM)のみが許可される。
【0107】
別の例では、非ゼロ参照ラインが偶数フレーム内予測モードのみに対して有効にされるため、フレーム内予測モードで符号化する際に、非ゼロインデックスが信号で通知された場合、例えば平面モード、DCモード、および奇数フレーム内予測モードなどの特定のフレーム内予測モードは、MPM導出およびMPMリストから削除され、第2レベルのMPM導出および第2レベルのMPMリストから削除され、また、残りの非MPMモードのリストから削除される。
【0108】
別の実施形態では、フレーム内予測モードを信号で通知した後、参照ラインのインデックスは信号で通知され、参照ラインのインデックスを信号で通知するかどうかは、信号で通知されたフレーム内予測モードに依存する。
【0109】
一例では、非ゼロ参照ラインについて、偶数モードのインデックスを有する方向性フレーム内予測モードのみが許可される。信号で通知されたフレーム内予測モードが偶数モードのインデックスを有する方向性予測である場合、選択された参照ラインのインデックスは信号で通知され、そうではない場合、フレーム内予測について、1つのデフォルト参照ライン(第0参照ライン)、例えば、最も近い参照ラインのみが許可され、また、インデックスは信号で通知されない。
【0110】
別の例では、非ゼロ参照ラインについて、最も可能性の高いモード(MPM)のみが許可される。信号で通知されたフレーム内予測がMPMからのものである場合、選択された参照ラインのインデックスが信号で通知される必要があり、そうではない場合、フレーム内予測について、デフォルトの参照ライン(ゼロ参照ライン)、例えば、最も近い参照ラインのみが許可され、また、インデックスは信号で通知されない。
【0111】
別の例では、全ての方向性フレーム内予測モード、またはすべてのフレーム内予測モードについて、非ゼロ参照ラインが引き続き有効になり、フレーム内予測モードのインデックスは、参照ラインのインデックスをエントロピー符号化するためのコンテキストとして使用されることができる。
【0112】
別の実施形態では、参照ラインのインデックスが導出された(信号で通知されなかった)角度フレーム内予測モード、例えば、奇数方向性フレーム内予測モード、および/または平面/DCについて、複数ラインの参照サンプルは、現在ブロックのための予測器を生成するために使用される。
【0113】
一例では、参照ラインのインデックスが導出された(信号で通知されなかった)角度フレーム内予測モードについて、予測サンプル値は、複数の予測器の重み付けられた和を使用して生成される。複数の予測器のそれぞれは、複数の参照ラインのうちの1つを使用して生成される予測である。例えば、重み付けられた和は、第1参照ラインおよび第2参照ラインによってそれぞれ生成された予測器に適用される{3、1}重み付けを使用している。別の例では、重み付けは、ブロックサイズ、ブロック幅、ブロック高さ、予測される現在ブロック内のサンプル位置、および/またはフレーム内予測モードに依存する。
【0114】
別の例では、奇数インデックスを有する所定の角度予測モードについて、ゼロ参照ラインは、1つの予測ブロックユニットPredを生成するために使用され、第1参照ラインは、別の予測ブロックユニットPredを生成するために使用される。そして、現在ブロックユニットにおける各画素のための最終予測値は、2つの生成された予測ブロックユニットの重み付けられた和である。このプロセスは、式6によって公式化されることができ、ここで、Wがは、同じブロックにおけるすべての画素についての同じ値である。フレーム内予測モードおよびブロックサイズに関係なく、またはフレーム内予測モードおよびブロックサイズに依存して、同じ技術は、異なるブロックに対しても適切に適用されることができる。
【0115】
【数1】
別の実施形態では、各参照ラインのためのフレーム内予測モードの数は、その参照ラインにおける参照サンプルの間の差によって導出される。差を測定する技術には、勾配、SATD、SAD、MSE、SNRおよびPSNRが含まれるが、これらに限定されない。
【0116】
一例では、参照サンプルの上部の行および左側の列の両方が非常に類似している場合、モードの数は、4または9、あるいは17または35個のモードに減らされることができる。4つのモードを使用する例では、4つのモードは、平面、DC、垂直モード(同じ列)、および水平モード(同じ行)である。
【0117】
別の例では、参照サンプルの上部の行だけが非常に類似している場合、垂直のような予測モードのうちのモードはダウンサンプリングされる。特殊なケースでは、モード50のみが保持され、また、モード35~モード49およびモード51~モード66が除外される。合計のフレーム内予測モードを9または17、あるいは35にするために、水平のような方向でのフレーム内予測モードは、それに応じて削減される。
【0118】
別の例では、参照サンプルの左側の列だけが非常に類似している場合、水平のような方向でのモードはダウンサンプリングされる。特殊なケースでは、モード18のみが保持され、また、モード2~モード17およびモード19~モード33が除外される。合計のフレーム内予測モードを9または17、あるいは35にするために、垂直のような方向でのフレーム内予測モードは、それに応じて削減される。
【0119】
本開示の第4態様によれば、現在参照ラインにおけるサンプルは、現在参照ラインおよびその隣接する参照ライン(複数)における隣接するサンプルに基づいて平滑化される。
【0120】
一実施形態では、現在参照ラインにおける各画素について、参照ライン1~Lにおけるすべての画素は、現在ラインにおける画素を平滑化するために使用されることができる。Lは、フレーム内予測のための最大の許容された参照ライン数であり、また、Lは、1~8であることができる。
【0121】
一例では、参照ラインにおける、境界画素を除く各画素について、KxLフィルタは、各画素を平滑化するために使用される。境界画素について、1xLフィルタは、その画素を平滑化するために使用される。Kは、3、5、または7であることができる。
【0122】
境界画素は、フィルタリングされてもされなくてもよい。境界画素がフィルタリングされる場合、同じ参照ラインにおける各境界画素は、同じフィルタを使用する。異なる参照ラインにおける境界画素は、異なるフィルタを使用することができる。例えば、ゼロ参照ラインにおける境界画素は、[3,2,2,1]フィルタによってフィルタリングされることができ、第1参照ラインにおける境界画素は、[2,3,2,1]フィルタによってフィルタリングされることができ、第2参照ラインにおける境界画素は、[1,2,3,2]フィルタによってフィルタリングされることができ、第3参照ラインにおける境界画素は、[1,2,2,3]フィルタによってフィルタリングされることができる。
【0123】
別の例では、他の画素について、各参照ラインにおける画素は、同じフィルタを使用することができ、また、異なる参照ラインにおける画素は、異なるフィルタを使用することができる。あるいは、他の画素について、異なる位置にある画素は。異なるフィルタを使用することができる。一例では、フィルタは、予め定義されており、また、エンコーダは、フィルタのインデックスを信号で通知する必要がない。
【0124】
別の例では、各参照ラインのためのフィルタリング操作は、フレーム内予測モードと変換サイズとに依存することができる。フィルタリング操作は、フレーム内予測モードと変換サイズが特定の条件を満たす場合のみに有効になる。例えば、変換サイズが4x4以下である場合、フィルタリング操作は無効になる。
【0125】
別の例では、各画素を平滑化するために使用されるフィルタは、矩形形状ではなく、不規則なフィルタ支持形状を有することができる。フィルタ支持形状は、予め定義されることができ、また、フィルタ支持形状は、エンコーダおよびデコーダの両方に利用可能な任意の情報に依存することができ、これには、参照ラインのインデックス、フレーム内モード、ブロック高さおよび/または幅が含まれるが、これらに限定されない。
【0126】
別の実施形態では、ゼロ参照ラインにおける各画素について、ゼロ参照ラインおよび第1参照ラインにおける画素は、その画素を平滑化するために使用されることができる。第1参照ラインにおける各画素について、ゼロ参照ライン、第1参照ラインおよび第2参照ラインにおける画素は、その画素を平滑化するために使用されることができる。第2参照ラインにおける各画素について、第1参照ライン、第2参照ラインおよび第3参照ラインにおける画素は、その画素を平滑化するために使用されることができる。第3参照ラインにおける各画素について、第2参照ラインおよび第4参照ラインにおける画素は、その画素を平滑化するために使用されることができる。言い換えれば、4つの参照ラインが使用される場合、ゼロ参照ラインおよび第3参照ラインにおける画素は、2つの参照ラインにおける画素に基づいてフィルタリングされ、第1参照ラインおよび第2参照ラインにおける画素について、3つ参照ラインにおける画素は、各画素をフィルタリングために使用される。
【0127】
例えば、第1参照ラインおよび第2参照ラインにおけるフィルタリングされた画素は、式7~式10のうちの1つによって計算されることができ、ゼロ参照ラインにおけるフィルタリングされた画素は、式11~式15のうちの1つによって計算されることができ、また、第3参照ラインにおけるフィルタリングされた画素は、式16~式20によって計算されることができる。さらに、例えばゼロへの丸め、正の無限大への丸め、負の無限大への丸めなどのような丸めは、フィルタリング計算に適用されることができる。
【0128】
【数2】

本開示の第5態様によれば、現在ブロックにおいて、異なる位置にあるサンプルは、異なるラインインデックスを有する参照サンプルの異なる組み合わせを使用して予測を行うことができる。
【0129】
一実施形態では、所定のフレーム内予測モードについて、各参照ラインiは、1つの予測ブロックPredを生成することができる。現在ブロックの異なる位置にある画素について、生成された予測ブロックPredの異なる組み合わせは、最終的な予測ブロックを生成するために、異なる位置にある画素を計算するために使用されることができる。具体的には、位置(x,y)にある画素について、式21は、予測値を計算するために使用されることができる。
【0130】
【数3】
ここで、Wは、予測ブロックPredのための重みを示し、また、位置に依存する。言い換えれば、重み付け因子は、同じ位置に対して同じであり、また、重み付け因子は、異なる位置に対して異なる。
【0131】
別の実施形態では、フレーム内予測モードが与えられた場合、各サンプルについて、参照サンプルのセットが複数の参照ラインから選択され、参照サンプルのこれらの選択されたセットの重み付けられた和は、最終予測値として計算される。参照サンプルの選択は、予測サンプルのフレーム内モードおよび位置に依存することができ、また、重み付けは、予測サンプルのフレーム内モードおよび位置に依存することができる。
【0132】
別の実施形態では、フレーム内予測のためにK番目の参照ライン(Kは正の整数である)を使用する場合、各サンプルについて、ゼロ参照ラインとK番目の参照ラインによる予測値が比較され、K番目の参照ラインによる予測値がゼロ参照ラインによる予測値と非常に異なる(例えば、閾値より大きい)場合、K番目の参照ラインからの予測値は除外され、代わりにゼロ参照ラインは使用されることができる。現在位置での予測値とその隣接する位置での予測値との間の差を測定する技術には、勾配、SATD、SAD、MSE、SNRおよびPSNRが含まれるが、これらに限定されない。一例では、2つよりも多い予測値が異なる参照ラインから生成され、また、中間値(または平均値、あるいはも頻繁に現れる値)がサンプルの予測として使用される。
【0133】
別の実施形態では、フレーム内予測のためにK番目の参照ラインを使用する場合、各サンプルについて、ゼロ参照ラインおよびK番目の参照ラインの予測値が比較され、ライン1が非常に異なる予測値を生成すると、ラインxからの予測値は除外され、代わりにライン1を使用することができる。現在位置およびその隣接する位置での予測値の間の差を測定する方法には、勾配、SATD、SAD、MSE、SNRおよびPSNRが含まるが、これらに限定されない。
【0134】
本開示の第6態様によれば、フレーム内予測の後、最も近い参照ラインにおける画素のみを使用する代わりに、複数の参照ラインにおける画素を使用して、各ブロックの予測値をフィルタリングする。例えば、PDPCは、複数ラインのフレーム内予測用に拡張されている。(x,y)に位置する各予測サンプルpred[x][y]は、式22として計算される。
【0135】
【数4】

ここで、mは、-8から-2であることができる。
【0136】
一例では、最も近い2つのラインにおける参照サンプルは、現在ブロックにおけるサンプルをフィルタリングするために使用される。左上の画素について、例えば、式23に示すように、第1行の左上のサンプルのみが使用される。
【0137】
【数5】
別の例では、境界フィルタは、複数の参照ラインに拡張されることができる。例えば、DC予測の後、最初のいくつかの列および最初のいくつかの行における画素は、隣接する参照画素によってフィルタリングされる。第1列における画素は、式24を使用してフィルタリングされることができ、第1行における画素は、式25を使用してフィルタリングされることができる。
【0138】
【数6】

いくつかの特殊な場合では、第1列における画素は、式26を使用してフィルタリングされることができ、第1行における画素は、式27を使用してフィルタリングされることができる。
【0139】
【数7】
別の例では、垂直予測の後、最初のいくつかの列における画素は、式28を使用してフィルタリングされることができ、また、水平予測の後、最初のいくつかの行における画素は、式29を使用してフィルタリングされることができる。
【0140】
【数8】
別の例では、垂直/水平予測について、非ゼロ参照ラインが予測サンプルを生成するために使用される場合、ゼロ参照ラインおよび非ゼロ参照ラインにおける対応する画素が境界フィルタリングのために使用される。
【0141】
図12は、本開示の一実施形態による、垂直予測のための境界フィルタリングを図示する図を示す。図12では、第1参照ラインは、現在ブロックのための予測サンプルを生成するために使用され、また、垂直方向(1220として示される)での画素は、垂直予測のために使用される。垂直予測の後、ゼロ参照ラインにおける、斜線テクスチャを有する画素(1230として示される)および第1参照ラインにおける、斜線テクスチャを有する画素(1240として示される)は、現在ブロックにおける最初のいくつかの列をフィルタリングするために使用される。垂直予測後のフィルタリングプロセスは、式30によって公式化されることができ、ここで、mは、選択された参照ラインのインデックスを示し、mは、2~8であることができる。nは、右シフトビットの数であり、また、1~8であることができる。水平予測について、フィルタリングプロセスは、式31によって公式化されることができる。
【0142】
【数9】
別の実施形態では、非ゼロ参照ラインが使用された場合、図8におけるモード2およびモード66などのような対角線予測の後、ゼロ参照ラインから非ゼロ参照ラインへの対角線方向に沿った画素が、現在ブロックの最初のいくつかの列/行における画素をフィルタリングするために使用される。具体的には、モード2の予測の後、最初のいくつかの行における画素は、式32を使用してフィルタリングされることができる。モード66の予測の後、最初のいくつかの列における画素は、式33を使用してフィルタリングされることができる。mは、現在ブロックのための非ゼロ参照ラインのインデックスを表し、また2~8であることができる。nは、右シフトビットの数であり、また2~8であることができる。Wは、重み係数であり、また整数である。
【0143】
【数10】
本開示の第7態様によれば、複数の参照ラインのフレーム内予測について、変更されたDCおよび平面モードが非ゼロ参照ラインに追加される。一実施形態では、平面モードについて、異なる参照ラインが使用された場合、異なる予め定義された右上および左下の参照サンプルは、予測サンプルを生成するために使用される。別の実施形態では、異なる参照ラインが使用される場合、異なるフレーム内平滑化フィルタが使用される。
【0144】
一実施形態では、DCモードについて、ゼロ参照ラインに対して、上部の行および左側の列における全ての画素は、DC値を計算するために使用される。非ゼロ参照ラインに対して、いくつかの画素のみは、DC値を計算するために使用される。例えば、ゼロ参照ラインにおける上部の画素は、第1参照ラインのためのDC値を計算するために使用され、ゼロ参照ラインにおける左側の画素は、第2参照ラインのためのDC値を計算するために使用され、ゼロ参照線における左側の画素の半分および上部の画素の半分は、第3参照ラインのためのDC値を計算するために使用される。別の実施形態では、DCモードについて、全ての利用可能な候補ライン(行および列)における全ての参照画素は、DC予測器を計算するために使用される。
【0145】
本開示の第8態様によれば、複数の参照ラインのための技術は、ICモードに拡張されることができる。一実施形態では、ICパラメータは、複数の上部/左側の参照ラインを使用して計算される。別の実施形態では、ICパラメータを計算するために使用される参照ラインは信号で通知されることができる。
【0146】
本開示の第9態様によれば、参照ラインのインデックスは信号で通知される。一実施形態では、参照ラインのインデックスは、可変長符号化を使用して信号で通知される。距離上で現在ブロックに近いほど、コードワードは短くなる。例えば、参照ラインのインデックスが0、1、2、3で、0が現在ブロックに最も近く、3が最も遠い場合、それらに対するコードワードは、1、01、001、000であり、ここで、0および1が交替されることができる。
【0147】
別の実施形態では、参照ラインのインデックスは、固定長符号化を使用して信号で通知される。例えば、参照ラインのインデックスが0、1、2、3で、0が現在ブロックに最も近く、3が最も遠い場合、それらに対するコードワードは、10、01、11、00であり、ここで、0および1が交替されることができ、また、順序が変更されることができる。
【0148】
別の実施形態では、参照ラインのインデックスは可変長符号化を使用して符号化され、ここで、コードワードテーブル内のインデックスの順序(最短のコードワードから最長のコードワードまで)は次のようになり、即ち、0,2,4,…2k,1,3,5,…2k+1(または2k-1)になる。インデックス0は、現在ブロックに最も近い参照ラインを表し、また、2K+1は、最も遠い参照ラインを表す。
【0149】
さらに別の実施形態では、参照ラインのインデックスは、可変長符号化を使用して符号化され、ここで、コードワードテーブル内のインデックスの順序(最短のコードワードから最長のコードワードまで)は次のようになり、即ち、最も近い、最も遠い、2番目の最も近い、2番目の最も遠い、…などである。1つの特定の例では、参照ラインのインデックスが0、1、2、3で、0が現在ブロックに最も近く、3が最も遠い場合、それらに対するコードワードは、インデックス0について0であり、インデックス3について10であり、インデックス2について110であり、インデックス1について111である。参照ラインのインデックス1および2のためのコードワードは、切り替えられることが可能である。コードワードにおける0と1は変更されることができる。
【0150】
本開示の第10態様によれば、上部の参照ライン(行)の数が左側の参照ライン(列)の数と異なる場合、参照ラインのインデックスは、信号で通知される。一実施形態では、上部の参照ライン(行)の数がMであり、かつ、左側の参照ライン(列)の数がNである場合、max(M,N)のための参照ラインのインデックスは、上記のいずれかのシグナリング技術またはそれらの組み合わせを使用することができる。min(M,N)のための参照ラインのインデックスは、max(M,N)のための参照ラインのインデックスを示すために使用されるコードワードから、コードワードのサブセットを取得し、通常が短いコードワードである。例えば、M=4、N=2であり、かつ、M(4)参照ラインのインデックス{0、1、2、3}を信号で通知するために使用されるコードワードが1、01、001、000である場合、N(2)参照ラインのインデックス{0、1}を信号で通知するために使用されるコードワードは1、01である。
【0151】
別の実施形態では、上部の参照ライン(行)の数がMであり、左側の参照ライン(列)の数がNであり、かつ、MおよびNが異なる場合、上部の参照ライン(行)のインデックスおよび左側の参照ライン(列)のインデックスを信号で通知するための参照ラインインデックスは別個であることができ、上記のいずれかのシグナリング技術またはそれらの組み合わせを独立して使用することができる。
【0152】
本開示の第11態様によれば、フレーム内予測のために使用されることができる参照ラインの最大数は、画素ラインバッファを潜在的に節約するために、例えばデブロッキングフィルタ(deblocking filter)またはテンプレートマッチングベースのフレーム内予測のような他の符号化ツールで使用される参照ラインの数を、超えないように制限されることができる。
【0153】
本開示の第12態様によれば、複数ラインのフレーム内予測と、他の符号化ツール/モードとは、相互作用することができる。一実施形態では、cbf、最後の位置、変換スキップ、変換タイプ、二次変換インデックス、主変換インデックス、PDPCインデックスが含まれるが、これらに限定されていない他の構文要素/符号化ツール/モードへの使用および/またはシグナリングは、複数ラインの参照ラインインデックスに依存することができる。一例では、複数ラインの参照インデックスが非ゼロである場合、変換スキップは使用されず、また、変換スキップフラグは信号で通知されない。別の例では、他の符号化ツールに信号で通知するために使用されるコンテクスト(例えば変換スキップ、cbf、主変換インデックス、二次変換インデックス)は、複数ラインの参照インデックスの値に依存することができる。
【0154】
別の実施形態では、複数ラインの参照インデックスは、cbf、最後の位置、変換スキップ、変換スキップタイプ、二次変換インデックス、主変換インデックス、PDPCインデックスが含まれるが、これらに限定されていない他の構文要素の後に信号で通知されることができ、また、複数ラインの参照インデックスへの使用および/またはシグナリングは、他の構文要素に依存することができる。
【0155】
本開示の第13態様によれば、参照ラインのインデックスは、フレーム内予測モード、MPMインデックス、主変換インデックス、二次変換インデックス、変換スキップフラグ、符号化ブロックフラグ(CBF:coding block flag)および変換係数が含まれるが、これらに限定されていない他の構文要素をエントロピー符号化するためのコンテキストとして使用されることができ、逆もまた然りである。
【0156】
本開示の第14態様によれば、参照ラインの情報は、MPMリストに含まれることができる。現在ブロックの予測モードがMPMリストのうちの1つの候補と同じである場合、フレーム内予測と、選択された候補の選択された参照ラインとの両方は現在ブロックに適用され、また、フレーム内予測モードと参照ラインのインデックスは信号で通知されない。さらに、異なる参照ラインインデックスのためのMPM候補の数が予め定義されている。
【0157】
一実施形態では、各参照ラインのインデックスのためのMPMの数は予め定義されており、例えばシーケンスパラメータセット(SPS:sequence parameter set)、画像パラメータセット(PPS:picture parameter set)、スライスヘッダ、タイルヘッダ、符号化ツリーユニット(CTU:coding tree unit)ヘッダなど内の、より高いレベルの構文要素として、または画像の領域のための共通構文要素またはパラメータとして信号で通知されることができる。その結果、MPMリストの長さは、異なるシーケンス、画像、スライス、タイル、符号化ブロックのグループまたは画像の領域において異なることができる。例えば、ゼロ参照ラインのためのMPMの数は6であり、他の参照ラインごとのインデックスを有するMPMの数は2である。その結果、参照ラインの総数が4である場合、MPMリストの総数は12である。
【0158】
別の実施形態では、すべてのフレーム内予測モードは、上部、左側、左上、右上および左下のブロックにおける参照ラインのインデックスとともに、MPMリストに含まれる。
【0159】
図13は、一例による現在ブロックの隣接するブロックの図を示す。図13に示すように、Aは、左下のブロックであり、B、C、DおよびEは、左側のブロックであり、Fは、左上のブロックであり、GとHは、上部のブロックであり、Iは、右上のブロックである。隣接するブロックのモードをMPMリストに追加した後、所定の参照ライン番号を持つMPM候補の数が所定の数より小さい場合、デフォルトモードは、MPMリストを埋めるために使用される。
【0160】
一例では、ゼロ参照ラインを有するMPM候補について、平面、DC、垂直、水平、モード2(対角線モード)およびモード66(対角線モード)は、ゼロ参照ラインを有するMPM候補の長さが所定の数に達するまで、この順序でMPMリストに追加される。他の参照ラインインデックスを有するMPM候補について、垂直および水平モードがこの順序でMPMリストに追加される。
【0161】
別の実施形態では、現在ブロックのモードがMPMリスト内の候補のうちの1つに等しい場合、参照ラインのインデックスは信号で通知されない。現在ブロックのモードがMPMリスト内のいずれかの候補に等しくない場合、参照ラインのインデックスは信号で通知される。一例では、ゼロ参照ラインが現在ブロックに使用される場合、第2レベルのMPMモードは依然として使用されるが、第2レベルのMPMには、フレーム内予測モードの情報のみが含まれる。別の例では、非ゼロ参照ラインについて、第2レベルのMPMは使用されず、また、固定長符号化は残りのモードを符号化するために使用される。

図14は、本開示の実施形態によるプロセス(1400)を概説するフローチャートを示す。プロセス(1400)は、フレーム内モードで符号化されたブロックの再構築に使用されることができ、再構築中のブロックの予測ブロックを生成することができる。様々な実施形態では、プロセス(1400)は、端末デバイス(210)、(220)、(230)および(240)における処理回路、ビデオエンコーダ(303)の機能を実行する処理回路、ビデオデコーダ(310)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、フレーム内予測モジュール(452)の機能を実行する処理回路、ビデオエンコーダ(503)の機能を実行する処理回路、予測器(535)の機能を実行する処理回路、フレーム内エンコーダ(622)の機能を実行する処理回路、フレーム内デコーダ(772)の機能を実行する処理回路などの処理回路によって実行される。いくつかの実施形態では、プロセス(1400)は、ソフトウェア命令によって実現され、したがって、処理回路がソフトウェア命令を実行する場合、処理回路は、プロセス(1400)を実行する。このプロセスは(S1401)から始まり、(S1410)に進む。
【0162】
ステップ(S1410)で、符号化されたビデオビットストリームからブロックの予測情報を復号化する。予測情報は、フレーム内予測モードおよび参照ラインを示す。この参照ラインは、複数の潜在的な参照ラインから選択される。このフレーム内予測モードは、参照ラインに関連付けられている潜在的なフレーム内予測モードのセットから選択される。異なる参照ラインは、異なる参照ラインにそれぞれ関連付けられている潜在的なフレーム内予測モードの異なるセットを有する。
【0163】
ステップ(S1420)で、フレーム内予測モードと参照ラインとを決定する。
【0164】
ステップ(S1430)で、フレーム内予測モードおよび参照ラインにおける参照サンプルに従って、ブロックのサンプルを構築する。そして、プロセスは(S1499)に進み、また終了する。
【0165】
上記の技術は、コンピュータ読み取り可能な命令を使用するコンピュータソフトウェアとして実現され、また、物理的に1つ以上のコンピュータ読み取り可能な媒体に記憶されることができる。例えば、図15は、開示された主題の特定の実施形態を実現するのに適したコンピュータシステム(1500)を示す。
【0166】
コンピュータソフトウェアは、任意の適切なマシンコードまたはコンピュータ言語を使用して符号化されることができ、アセンブリ、コンパイル、リンク、または同様のメカニズムを受けて命令を含むコードを作成することができ、命令は、1つ以上のコンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)などによって、直接的に実行されてもよく、またはコード解釈、マイクロコード実行などによって実行されてもよい。
【0167】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、オブジェクトネットワークデバイス(internet of things devices)などを含む、様々なタイプのコンピュータまたはそのコンポーネントで実行されてもよい。
【0168】
図15に示されるコンピュータシステム(1500)のコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実現するコンピュータソフトウェアの使用範囲または機能に関するいかなる制限も示唆することが意図されていない。コンポーネントの構成は、コンピュータシステム(1500)の例示的な実施形態に示されているコンポーネントのいずれかまたは組み合わせに関連する任意の依存性または要件を有すると解釈されるべきではない。
【0169】
コンピュータシステム(1500)は、いくつかのヒューマンインターフェース入力デバイスを含むことができる。このようなヒューマンインターフェース入力デバイスは、触覚入力(例えば、キーストローク、スワイプ、データグローブの動きなど)、オーディオ入力(例えば、音声、拍手など)、視覚入力(例えば、ジェスチャーなど)、嗅覚入力(図示せず)によって、1人以上のユーザによる入力に応答することができる。ヒューマンインタフェースデバイスはまた、例えばオーディオ(例えば、音声、音楽、環境音など)、画像(例えば、スキャンされた画像、静止画像カメラから得られた写真画像など)、ビデオ(例えば、2次元ビデオ、立体映像を含む3次元ビデオなど)などの、人間による意識的な入力に必ずしも直接関連されているとは限らない、特定のメディアを捕捉するために使用されることもできる。
【0170】
ヒューマンインタフェース入力デバイスは、キーボード(1501)、マウス(1502)、トラックパッド(1503)、タッチスクリーン(1510)、データグローブ(図示せず)、ジョイスティック(1505)、マイクロホン(1506)、スキャナ(1507)、カメラ(1508)(それぞれの1つだけが図示された)のうちの1つまたは複数を含むことができる。
【0171】
コンピューターシステム(1500)はまた、いくつかのヒューマンインターフェース出力デバイスを含むことができる。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および嗅覚/味覚によって、1人以上のユーザの感覚を刺激することができる。このようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(1510)、データグローブ(図示せず)またはジョイスティック(1505)による触覚フィードバックであるが、入力デバイスとして作用しない触覚フィードバックデバイスであってもよい)、オーディオ出力デバイス(例えば、スピーカ(1509)、ヘッドホン(図示せず))、視覚出力デバイス(例えば、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(1510)であり、各々は、タッチスクリーン入力機能を備えてもよく、あるいは備えていなくてもよいし、各々は、触覚フィードバック機能を備えてもよく、あるいは備えていなくてもよいし、これらのいくつかは、例えば、ステレオグラフィック出力、仮想現実メガネ(図示せず)、ホログラフィックディスプレイとスモークタンク(図示せず)、およびプリンタ(図示せず)などによって、2次元の視覚出力または3次元以上の視覚出力を出力することができる。
【0172】
コンピューターシステム(1500)は、CD/DVDを有するCD/DVD ROM/RW(1520)を含む光学媒体または類似の媒体(1521)、サムドライブ(1522)、リムーバブルハードドライブまたはソリッドステートドライブ(1523)、テープおよびフロッピーディスク(図示せず)などのようなレガシー磁気媒体、セキュリティドングル(図示せず)などのような特殊なROM/ASIC/PLDベースのデバイスなどのような、人間がアクセス可能な記憶デバイスおよびそれらに関連する媒体を含むことができる。
【0173】
当業者はまた、ここで開示されている主題に関連して使用される「コンピュータ読み取り可能な媒体」という用語は、伝送媒体、搬送波、または他の一時的な信号を包含しないことを理解すべきである。
【0174】
コンピューターシステム(1500)はまた、一つ以上の通信ネットワークへのインターフェースを含むことができる。ネットワークは、例えば、無線、有線、光学的であってもよい。ネットワークはさらに、ローカルネットワーク、広域ネットワーク、大都市圏ネットワーク、車両用ネットワークおよび産業用ネットワーク、リアルタイムネットワーク、遅延耐性ネットワークなどであってもよい。ネットワークの例は、イーサネット(登録商標)、無線LAN、セルラーネットワーク(GSM(登録商標)、3G、4G、5G、LTEなど)などのLAN、テレビケーブルまたは無線広域デジタルネットワーク(有線テレビ、衛星テレビ、地上放送テレビを含む)、車両用および産業用ネットワーク(CANBusを含む)などを含む。いくつかのネットワークは、一般に、いくつかの汎用データポートまたは周辺バス(1549)(例えば、コンピュータシステム(1500)のUSBポート)に接続された外部ネットワークインターフェースアダプタが必要であり、他のシステムは、通常、以下に説明するようにシステムバスに接続することによって、コンピュータシステム(1500)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインターフェース、またはスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム(1500)は、他のエンティティと通信することができる。このような通信は、単方向の受信のみ(例えば、放送TV)、単方向の送信のみ(例えば、Canbusから特定のCanbusデバイスへ)、あるいは、双方向の、例えばローカルまたは広域デジタルネットワークを使用して他のコンピュータシステムへの通信であってもよい。上述のように、特定のプロトコルおよびプロトコルスタックは、それらのネットワークおよびネットワークインターフェースのそれぞれで使用されることができる。
【0175】
上記のヒューマンインターフェースデバイス、ヒューマンアクセス可能な記憶デバイス、およびネットワークインターフェースは、コンピューターシステム(1500)のコア(1540)に接続されることができる。
【0176】
コア(1540)は、1つ以上の中央処理ユニット(CPU)(1541)、グラフィック処理ユニット(GPU)(1542)、フィールドプログラマブルゲートアレイ(FPGA)(1543)の形式の専用プログラマブル処理ユニット、特定のタスクのためのハードウェア加速器(1544)などを含むことができる。これらのデバイスは、リードオンリーメモリ(ROM)(1545)、ランダムアクセスメモリ(1546)、例えば内部の非ユーザアクセスハードディスクドライブ、SSDなどの内部大容量ストレージ(1547)などとともに、システムバス(1548)を介して接続されてもよい。いくつかのコンピュータシステムでは、付加的なCPU、GPUなどによって拡張を可能にするために、システムバス(1548)に1つ以上の物理的プラグの形でアクセスすることができる。周辺デバイスは、コアのシステムバス(1548)に直接的に接続されてもよく、または周辺バス(1549)を介して接続されてもよい。周辺バスのアーキテクチャは、外部コントローラインターフェース(PCI)、汎用シリアルバス(USB)などを含む。
【0177】
CPU(1541)、GPU(1542)、FPGA(1543)、および加速器(1544)は、いくつかの命令を実行することができ、これらの命令を組み合わせて上述のコンピュータコードを構成することができる。そのコンピュータコードは、ROM(1545)またはRAM(1546)に記憶されることができる。また、一時的なデータは、RAM(1546)に記憶されることができる一方、永久的なデータは、例えば内部大容量ストレージ(1547)に記憶されることができる。1つ以上のCPU(1541)、GPU(1542)、大容量ストレージ(1547)、ROM(1545)、RAM(1546)などと密接に関連することができる、キャッシュメモリを使用することにより、任意のメモリデバイスに対する高速記憶および検索が可能になる。
【0178】
コンピュータ読み取り可能な媒体は、様々なコンピュータ実行された動作を実行するためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構成されたものであってもよく、またはコンピュータソフトウェア分野の技術者によって知られ、利用可能な媒体およびコードであってもよい。
【0179】
限定ではなく例として、アーキテクチャ(1500)、特にコア(1540)を有するコンピュータシステムは、1つ以上の有形な、コンピュータ読み取り可能な媒体に具体化されたソフトウェアを実行する、(CPU、GPU、FPGA、加速器などを含む)プロセッサとして機能を提供することができる。このようなコンピュータ読み取り可能な媒体は、上記のユーザがアクセス可能な大容量ストレージに関連する媒体であり、コア内部大容量ストレージ(1547)またはROM(1545)などの、不揮発性コア(1540)を有する特定のストレージであってもよい。本開示の様々な実施形態を実現するソフトウェアは、そのようなデバイスに記憶され、コア(1540)によって実行されてもよい。コンピュータ読み取り可能な媒体は、特定のニーズに応じて、1つ以上のメモリデバイスまたはチップを含むことができる。このソフトウェアは、コア(1540)、具体的にはその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM(1546)に記憶されているデータ構造を定義することと、ソフトウェアによって定義されたプロセスに従ってこのようなデータ構造を変更することとを含む、本明細書に説明された特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えてまたは代替として、コンピュータシステムは、ロジックハードワイヤードされているか、または別の方法で回路(例えば、アクセラレータ(1544))に組み込まれているため、機能を提供することができ、この回路は、ソフトウェアの代わりに動作し、またはソフトウェアと一緒に動作して、本明細書に説明された特定のプロセスの特定のプロセスまたは特定の部分を実行することができる。適切な場合には、ソフトウェアへの参照はロジックを含むことができ、逆もまた然りである。適切な場合には、コンピュータ読み取り可能な媒体への参照は、実行されるソフトウェアを記憶する回路(集積回路(IC)など)を含み、実行されるロジックを具体化する回路、またはその両方を兼ね備えることができる。本開示は、ハードウェアおよびソフトウェアの任意の適切な組み合わせを包含する。
【0180】
付録A:略語
JEM:joint exploration model、共同探索モデル
VVC:versatile video coding、汎用ビデオ符号化
BMS:benchmark set、ベンチマークセット
MV:Motion Vector、モーションベクトル
HEVC:High Efficiency Video Coding、高効率ビデオ符号化/復号化
SEI:Supplementary Enhancement Information、補足強化情報
VUI:Visual Usability Information、ビジュアルユーザビリティ情報
GOPs:Groups of Pictures、画像のグループ
TUs:Transform Units、変換ユニット
PUs:Prediction Units、予測ユニット
CTUs:Coding Tree Units、符号化ツリーユニット
CTBs:Coding Tree Blocks、符号化ツリーブロック
PBs:Prediction Blocks、予測ブロック
HRD:Hypothetical Reference Decoder、仮想参照デコーダ
SNR:Signal Noise Ratio、信号雑音比
CPUs:Central Processing Units、中央処理ユニット
GPUs:Graphics Processing Units、グラフィック処理ユニット
CRT:Cathode Ray Tube、陰極線管
LCD:Liquid-Crystal Display、液晶ディスプレイ
OLED:Organic Light-Emitting Diode、有機発光ダイオード
CD:Compact Disc、コンパクトディスク
DVD:Digital Video Disc、デジタルビデオディスク
ROM:Read-Only Memory、読み取り専用メモリ
RAM:Random Access Memory、ランダムアクセスメモリ
ASIC:Application-Specific Integrated Circuit、特定用途向け集積回路
PLD:Programmable Logic Device、プログラマブルロジックデバイス
LAN:Local Area Network、ローカルエリアネットワーク
GSM:Global System for Mobile communications、モバイル通信のグローバルシステム
LTE:Long-Term Evolution、ロングタームエボリューション
CANBus:Controller Area Network Bus、コントローラエリアネットワークバス
USB:Universal Serial Bus、汎用シリアルバス
PCI:Peripheral Component Interconnect、外部コントローラインターフェース
FPGA:Field Programmable Gate Arrays、フィールドプログラマブルゲートアレイ
SSD:solid-state drive、ソリッドステートドライブ
IC:Integrated Circuit、集積回路
CU:Coding Unit、符号化ユニット
【0181】
本開示は、いくつかの例示的な実施形態について説明したが、本開示の範囲内にある変更、配置、および様々な均等置換が存在している。したがって、当業者は、本明細書では明確に示されていないかまたは説明されていないが、本開示の原則を具現しているので、本開示の精神および範囲内にある、様々なシステムおよび方法を設計することができる、ということを理解されたい。
【0182】
(付記1)
ビデオを復号する方法であって、
符号化されたビデオビットストリームからブロックの予測情報を復号するステップであって、前記予測情報が、複数の潜在的な参照ラインから選択された参照ラインと、前記参照ラインに関連付けられた潜在的なフレーム内予測モードのセットから選択されたフレーム内予測モードとを示すステップと、
前記フレーム内予測モードと、前記参照ラインにおける少なくとも1つの参照サンプルとに基づいて、前記ブロックの少なくとも1つのサンプルを再構築するステップと、を含む、
ことを特徴とする方法。
(付記2)
前記予測情報は、非ゼロ参照ラインを示し、前記非ゼロ参照ラインに関連付けられた潜在的なフレーム内予測モードの第1セットは、ゼロ参照ラインに関連付けられた潜在的なフレーム内予測モードの第2セットより、数が少ない潜在的なフレーム内予測モードを有する、
ことを特徴とする付記1に記載の方法。
(付記3)
前記潜在的なフレーム内予測モードの第1セットは、偶数モードのインデックスを有するし予測モードを含む、
ことを特徴とする付記2に記載の方法。
(付記4)
前記潜在的なフレーム内予測モードの第1セットは、奇数モードのインデックスを有する方向性フレーム内予測モードを欠く、
ことを特徴とする付記2に記載の方法。
(付記5)
前記潜在的なフレーム内予測モードの第1セットは、DCモードおよび平面モードを含む、
ことを特徴とする付記3に記載の方法。
(付記6)
前記潜在的なフレーム内予測モードの第1セットは、最も可能性の高いモードのみを含む、
ことを特徴とする付記2に記載の方法。
(付記7)
前記潜在的なフレーム内予測モードの第1セットは、偶数モードのインデックスを有する方向性フレーム内予測モードから導出された最も可能性の高いモードを含む、
ことを特徴とする付記6に記載の方法。
(付記8)
前記符号化されたビデオビットストリームからブロックの予測情報を復号するステップは、さらに、
前記フレーム内予測モードを示す第1信号を復号するステップと、
前記フレーム内予測モードに基づいて、前記参照ラインのための第2信号を選択的に復号するステップとを、さらに含む、
ことを特徴とする付記1に記載の方法。
(付記9)
前記フレーム内予測モードが偶数モードのインデックスを有する方向性フレーム内予測モードである場合、前記参照ラインを決定するために、前記第1信号の後で受信した前記第2信号を復号するステップと、
前記フレーム内予測モードが奇数モードのインデックスを有する方向性フレーム内予測モード、平面モードおよびDCモードの何れか1つである場合、前記参照ラインがデフォルト参照ラインであることを決定するステップと、をさらに含む、
ことを特徴とする付記8に記載の方法。
(付記10)
前記フレーム内予測モードが最も可能性の高いモードのうちの1つである場合、前記参照ラインを決定するために、前記第1信号の後で受信した前記第2信号を復号するステップと、
前記フレーム内予測モードが最も可能性の高いモードの何れでもない場合、前記参照ラインがデフォルト参照ラインであることを決定するステップと、をさらに含む、
ことを特徴とする付記8に記載の方法。
(付記11)
ビデオを復号する装置であって、前記装置は処理回路を含み、
前記処理回路は、
符号化されたビデオビットストリームからブロックの予測情報を復号化ことであって、前記予測情報が、複数の潜在的な参照ラインから選択された参照ラインと、前記参照ラインに関連付けられた潜在的なフレーム内予測モードのセットから選択されたフレーム内予測モードとを示すことと、
前記フレーム内予測モードと、前記参照ラインにおける少なくとも1つの参照サンプルとに基づいて、前記ブロックの少なくとも1つのサンプルを再構築することと、を実行するように構成される、
ことを特徴とする装置。
(付記12)
前記予測情報は、非ゼロ参照ラインを示し、前記非ゼロ参照ラインに関連付けられた潜在的なフレーム内予測モードの第1セットは、ゼロ参照ラインに関連付けられた潜在的なフレーム内予測モードの第2セットより、数が少ない潜在的なフレーム内予測モードを有する、
ことを特徴とする付記11に記載の装置。
(付記13)
前記潜在的なフレーム内予測モードの第1セットは、偶数モードのインデックスを有する方向性フレーム内予測モードを含む、
ことを特徴とする付記12に記載の装置。
(付記14)
前記潜在的フレーム内予測モードの第1セットは、奇数モードのインデックスを有する方向性フレーム内予測モードを欠く、
ことを特徴とする付記12に記載の装置。
(付記15)
前記潜在的なフレーム内予測モードの第1セットは、DCモードおよび平面モードを含む、
ことを特徴とする付記13に記載の装置。
(付記16)
前記潜在的なフレーム内予測モードの第1セットは、最も可能性の高いモードのみを含む、
ことを特徴とする付記12に記載の装置。
(付記17)
前記潜在的なフレーム内予測モードの第1セットは、偶数モードのインデックスを有する方向性フレーム内予測モードから導出された最も可能性の高いモードを含む、
ことを特徴とする付記16に記載の装置。
(付記18)
前記符号化されたビデオビットストリームからブロックの予測情報を復号することは、
前記フレーム内予測モードを示す第1信号を復号することと、
前記フレーム内予測モードに基づいて、前記参照ラインの第2信号を選択的に復号することと、を含む、
ことを特徴とする付記11に記載の装置。
(付記19)
前記フレーム内予測モードが偶数モードのインデックスを有する方向性フレーム内予測モードである場合、前記参照ラインを決定するために、前記第1信号の後で受信した前記第2信号を復号することと、
前記フレーム内予測モードが奇数モードのインデックスを有する方向性フレーム内予測モード、平面モードおよびDCモードの何れか1つである場合、前記参照ラインがデフォルト参照ラインであることを決定することと、をさらに含む、
ことを特徴とする付記18に記載の装置。
(付記20)
前記潜在的なフレーム内予測モードの第1セットは、隣接する方向性フレーム内予測モードを欠いている、付記1に記載の方法。
(付記21)
前記潜在的なフレーム内予測モードの第1セットは、隣接する方向性フレーム内予測モードを欠いている、付記11に記載の装置。
(付記22)
コンピュータに付記1乃至10又は20の何れか一項に記載の方法を実行させるコンピュータプログラム。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10A
図10B
図11
図12
図13
図14
図15
【外国語明細書】