(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-29
(54)【発明の名称】イントラ予測の融合に関する修正
(51)【国際特許分類】
H04N 19/11 20140101AFI20240221BHJP
H04N 19/157 20140101ALI20240221BHJP
H04N 19/176 20140101ALI20240221BHJP
H04N 19/70 20140101ALI20240221BHJP
【FI】
H04N19/11
H04N19/157
H04N19/176
H04N19/70
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023554317
(86)(22)【出願日】2022-09-14
(85)【翻訳文提出日】2023-09-06
(86)【国際出願番号】 US2022076408
(87)【国際公開番号】W WO2023059972
(87)【国際公開日】2023-04-13
(32)【優先日】2021-10-05
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-09-13
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】リー,リン
(72)【発明者】
【氏名】リー,シャン
(72)【発明者】
【氏名】リウ,シャン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159RC11
5C159TA31
5C159TB08
5C159TC31
5C159TC42
5C159UA02
5C159UA05
(57)【要約】
現在のブロックの1つ以上のイントラモード予測子が決定され、1つ以上のイントラモード予測子は、デコーダ側イントラモード導出(DIMD)又はテンプレートベースイントラモード導出(TIMD)のいずれかを介して現在のブロックの近傍サンプルに基づいて導出される。位置依存イントラ予測結合(PDPC)が適用されるかどうかは、1つ以上のイントラモード予測子に基づいて決定される。PDPCが適用されるという決定に応答して、融合プロセスが、1つ以上のイントラモード予測子に対して実行されて、1つ以上のイントラモード予測子を単一イントラモード予測子に結合する。PDPCが単一イントラモード予測子に基づいて適用されて、現在のブロックの修正された予測子を生成する。現在のブロックは、PDPCによって生成された修正予測子に基づいて再構成される。
【特許請求の範囲】
【請求項1】
ビデオデコーダにおいて実行されるビデオデコーディングの方法であって、
コーディングされたビデオビットストリームから現在のブロック及び前記現在のブロックの近傍サンプルのコーディングされた情報を受信するステップと、
前記現在のブロックの1つ以上のイントラモード予測子を決定するステップであって、前記1つ以上のイントラモード予測子は、デコーダ側イントラモード導出(DIMD)又はテンプレートベースイントラモード導出(TIMD)のいずれかを介して前記現在のブロックの前記近傍サンプルに基づいて導出される、ステップと、
位置依存イントラ予測結合(PDPC)が適用されるかどうかを、前記1つ以上のイントラモード予測子に基づいて決定するステップと、
前記PDPCが適用されると決定することに応答して、融合プロセスを前記1つ以上のイントラモード予測子に対して行うステップであって、前記融合プロセスは、1つ以上のイントラモード予測子を結合して、単一イントラモード予測子を生成する、ステップと、
前記PDPCを前記単一イントラモード予測子に基づいて適用して、前記1つ以上のイントラモード予測子に対する前記融合プロセスに続いて前記現在のブロックの修正予測子を生成するステップと、
前記現在のブロックを前記PDPCによって生成された前記修正予測子に基づいて再構成するステップと、を含む、方法。
【請求項2】
前記融合プロセスを実行するステップは、前記1つ以上のイントラモード予測子の重み付け結合に基づいて前記単一イントラモード予測子を生成するステップを含み、
前記PDPCを適用するステップは、(i)前記近傍サンプルのうちの1つ以上の近傍サンプル、及び(ii)前記単一イントラモード予測子の重み付け結合に基づいて、前記修正予測子を生成するステップをさらに含む、請求項1に記載の方法。
【請求項3】
前記1つ以上のイントラモード予測子を決定するステップは、
前記1つ以上のイントラモード予測子が前記DIMDに基づいて導出されることに応答して、
第1のイントラモードに基づいて前記1つ以上のイントラモード予測子のうちの第1のイントラモード予測子を決定するステップであって、前記第1のイントラモードは、前記近傍サンプルに基づいて決定され、前記近傍サンプルの最も高いHoG(histogram of gradient)に関連付けられる、ステップと、
第2のイントラモードに基づいて前記1つ以上のイントラモード予測子のうちの第2のイントラモード予測子を決定するステップであって、前記第2のイントラモードは、前記近傍サンプルに基づいて決定され、前記近傍サンプルの2番目に高いHoGに関連付けられる、ステップと、
プラナーモードに基づいて1つ以上のイントラモード予測子のうちの第3のイントラモード予測子を決定するステップと、をさらに含む、請求項1に記載の方法。
【請求項4】
前記PDPCが適用されるかどうかを決定するステップは、
前記DIMDに基づいて導出された前記第1のイントラモードに基づいて前記PDPCが適用可能かどうかを決定するステップをさらに含む、請求項3に記載の方法。
【請求項5】
前記PDPCが適用されるかどうかを決定するステップは、
前記第1のイントラモード及び前記第2のイントラモードがアンギュラーモードであることに応答して、前記第1のイントラモード及び前記第2のイントラモードの平均アンギュラー値に基づいて前記PDPCが適用可能かどうかを決定するステップと、
前記第1のイントラモード及び前記第2のイントラモードのうちの1つがアンギュラーモードであることに応答して、前記アンギュラーモードである前記第1のイントラモード及び前記第2のイントラモードのうちの1つ基づいて前記PDPCが適用可能かどうかを決定するステップと、さらに含む、請求項3に記載の方法。
【請求項6】
前記PDPCが適用されるかどうかを決定するステップは、
前記1つ以上のイントラモード予測子のうちの少なくとも1つがプラナーモード又はDCモードにであることに基づいて決定されることに応答して、前記PDPCが適用可能であると決定するステップをさらに含む、請求項1に記載の方法。
【請求項7】
前記1つ以上のイントラモード予測子を決定するステップは、
前記1つ以上のイントラモード予測子が前記TIMDに基づいて導出されることに応答して、
第1のイントラモードに基づいて前記1つ以上のイントラモード予測子のうちの第1のイントラモード予測子を決定するステップであって、前記第1のイントラモードは、前記近傍サンプルに基づいて決定され、前記近傍サンプルの最も小さいコスト値に関連付けられている、ステップと、
第2のイントラモードに基づいて前記1つ以上のイントラモード予測子のうちの第2のイントラモード予測子を決定するステップであって、前記第2のイントラモードは、前記近傍サンプルに基づいて決定され、前記近傍サンプルの2番目に小さいコスト値に関連付けられている、ステップと、を含む、請求項1に記載の方法。
【請求項8】
前記PDPCが適用されるかどうかを決定するステップは、
前記TIMDに基づいて導出された前記第1のイントラモードに基づいて前記PDPCが適用可能かどうかを決定するステップをさらに含む、請求項7に記載の方法。
【請求項9】
前記PDPCが適用されるかどうかを決定するステップは、
前記第1のイントラモード及び前記第2のイントラモードがアンギュラーモードであることに応答して、前記第1のイントラモード及び前記第2のイントラモードの平均アンギュラー値に基づいて前記PDPCが適用可能かどうかを決定するステップと、
前記第1のイントラモード及び前記第2のイントラモードのうちの1つがアンギュラーモードであることに応答して、前記アンギュラーモードである前記第1のイントラモード及び前記第2のイントラモードのうちの1つ基づいて前記PDPCが適用可能かどうかを決定するステップと、さらに含む、請求項7に記載の方法。
【請求項10】
前記PDPCが適用されるかどうかを決定するステップは、
前記第1のイントラモード及び前記第2のイントラモードのうちの少なくとも1つがプラナーモード又はDCモードであることに応答して、前記PDPCが適用可能であると決定するステップをさらに含む、請求項7に記載の方法。
【請求項11】
請求項1~10のいずれか一項に記載の方法を実行するように構成された処理回路機構を含む、装置 。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2021年10月5日に出願された米国仮出願第63/252,600号「Modification on Fusion of Intra Prediction」に対する優先権の利益を主張する2022年9月13日に出願された米国仮出願第17/943,275号「MODIFICATION ON FUSION OF INTRA PREDICTION」に対する優先権の利益を主張する。先の出願の開示全体は、それら全体が参照により本明細書に援用される。
【0002】
本開示は、ビデオコーディングに一般的に関係する実施形態を記載する。
【背景技術】
【0003】
本明細書で提供される背景技術は、本開示の文脈を一般的に提示することを目的とする。本件の発明者の仕事は、その仕事がこの背景技術のセクションに記載されている範囲において、また、出願時に他の点では先行技術として適格でないかもしれない説明の態様は、本開示に対する先行技術として明示的にも暗示的にも認められていない。
【0004】
ビデオコーディングとデコーディングは、モーション補正を伴うインターピクチャ予測を用いて行われ得る。非圧縮デジタルビデオは、一連のピクチャを含むことができ、各ピクチャは、例えば、1920×1080の輝度サンプル及び関連する色差サンプルの空間寸法を有する。一連のピクチャは、例えば、例えば、1秒当たり60ピクチャ/秒又は60Hzの固定又は可変のピクチャレートを有することができる。非圧縮ビデオは、特定のビットレート要件を有する。例えば、サンプル当たり8ビットでの1080p60 4:2:0ビデオ(60Hzのフレームレートでの1920x1080の輝度サンプル解像度)は、1.5 Gbit/sに近い帯域幅を必要とする。このようなビデオの1時間は、600Gバイトを超える記憶空間を必要とする。
【0005】
ビデオコーディング及びデコーディングの1つの目的は、圧縮による入力ビデオ信号の冗長性の低減である。圧縮は、場合によっては、前述の帯域幅及び/又は記憶空間の必要性を2桁以上低減する助けとなり得る。可逆圧縮及び不可逆圧縮の両方、並びにそれらの組み合わせが用いられ得る。可逆圧縮とは、元の信号の正確なコピーを圧縮された元の信号から再構成することができる技術を指す。不可逆圧縮を使用するときに、再構成された信号は、元の信号と同一ではないことがあるが、元の信号と再構成された信号との間の歪みは、再構成された信号を意図されたアプリケーションに有用にするのには十分小さい。ビデオの場合、不可逆圧縮が広く用いられる。認容される歪みの量は、用途に依存し、例えば、特定の消費者ストリーミングアプリケーションのユーザは、テレビ配信アプリケーションのユーザよりも高い歪みを認容することがある。達成可能な圧縮比は、より高い許容可能/認容可能な歪みは、より高い圧縮比をもたらすことができることを反映できる。
【0006】
ビデオエンコーダ及びデコーダは、例えば、モーション補償、変換、量子化、及びエントロピーコーディングを含むいくつかの広範なカテゴリからの技術を利用することができる。
【0007】
ビデオコーデック技術は、イントラコーディングとして知られる技術を含むことができる。イントラコーディングでは、サンプル値は、以前に再構成された参照ピクチャからのサンプル又は他のデータを参照することなく表現される。いくつかのビデオコーデックでは、ピクチャは空間的にサンプルのブロックに細分化される。サンプルのすべてのブロックがイントラモードでコーディングされるときに、そのピクチャはイントラピクチャとすることができる。イントラピクチャと、独立デコーダリフレッシュピクチャのようなそれらの派生物は、デコーダ状態をリセットするために使用することができ、したがって、コーディングされたビデオビットストリーム及びビデオセッションにおける最初のピクチャとして、又は静止画像として使用され得る。イントラブロックのサンプルを変換に曝すことができ、変換係数がエントロピーコーディングの前に量子化され得る。イントラ予測は、変換前ドメインにおいてサンプル値を最小化する技術であり得る。場合によっては、変換後のDC値が小さく、AC係数が小さいほど、エントロピーコーディング後のブロックを表すために所与の量子化ステップサイズで必要とされるビット数が少なくなる。
【0008】
例えばMPEG-2世代コーディング技術から知られているような伝統的なイントラコーディングは、イントラ予測を使用しない。しかしながら、いくつかのより新しいビデオ圧縮技術は、例えば、空間的に隣接し、かつデコード順に先行するデータブロックのエンコード及び/又はデコード中に取得された、周囲のサンプルデータ及び/又はメタデータから試みる技術を含む。このような技法は、以後「イントラ予測」技術と呼ばれる。少なくともいくつかのケースでは、イントラ予測は再構成中の現在のピクチャからの参照データのみを使用し、参照ピクチャからの参照データは使用しないことに留意する。
【0009】
様々な形態のイントラ予測があり得る。所与のビデオコーディング技術において、そのような技術のうちの1つ以上を使用することができる場合、使用中の技術は、イントラ予測モードでコーディングされ得る。特定の場合には、モードは、サブモード及び/又はパラメータを有することができ、それらは、個別にコーディングすることができ、又はモードコードワードに含まれ得る。所与のモード、サブモード、及び/又はパラメータの組み合わせに対してどのコードワードをするかは、イントラ予測を通じてコーディング効率ゲインに影響を及ぼし、また、コードワードをビットストリームに変換するために使用されるエントロピーコーディング技術にも影響を及ぼす可能性がある。
【0010】
イントラ予測の特定のモードがH.264で導入され、H.265で改良され、ジョイント探索モデル(JEM)、汎用ビデオコーディング(VVC)、及びベンチマークセット(BMS)のようなより新しいコーディング技術でさらに改良された。予測子ブロックは、既に利用可能なサンプルに属する近傍サンプル値を使用して形成され得る。近傍サンプルのサンプル値は、方向に従って予測子ブロックにコピーされる。使用中の方向への参照は、ビットストリームにおいてコーディングされ得、又はそれ自体が予測されてもよい。
【0011】
図1を参照すると、右下に描写されているのは、H.265の33個の可能な予測子方向から知られている9個の予測子方向のサブセットである(35個のイントラモードの33個のアンギュラー(angular)モードに対応する)。矢印が収束する点(101)は、予測されているサンプルを表す。矢印は、サンプルが予測されている方向を表す。例えば、矢印(102)は、サンプル(101)が、水平から45度の角度で、サンプル又は複数のサンプルから右上に向かって予測されることを示す。例えば、矢印(103)は、サンプル(101)が、水平から22.5度の角度で、サンプル又は複数のサンプルから左下に向かって予測されることを示す。
【0012】
引き続き
図1を参照すると、左上には、4×4サンプルの正方形ブロック(104)が描写されている(破線の太線で示されている)。正方形ブロック(104)は、16個のサンプルを含み、各サンプルは「S」、Y次元におけるその位置(例えば、行インデックス)、及びX次元におけるその位置(例えば、列インデックス)がラベル付けされている。例えば、サンプルS21は、Y次元における(上から)2番目のサンプルで、X次元における(左から)1番目のサンプルである。同様に、サンプルS44は、Y及びX次元の両方においてブロック(104)における第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】
図2は、経時的に増加する予測方向の数を示すために、JEMによる65のイントラ予測方向を描写する概略(201)を示す。
【0017】
方向を表すコーディングされたビデオビットストリームにおけるイントラ予測方向ビットのマッピングは、ビデオコーディング技術によって異なることができ、例えば、予測方向の単純な直接マッピングからイントラ予測モード、コードワード、最も可能性の高いモードを伴う複雑な適応方式、及び類似の技術に及ぶ可能性がある。しかし、どのような場合でも、ビデオコンテンツにおいて、特定の他の方向よりも統計的に発生しにくい特定の方向があり得る。ビデオ圧縮の目標は冗長性の低減であるので、良好に動くビデオコーディング技術においては、より可能性の高い方向よりもより多くのビット数によって、より可能性の低い方向が表される。
【発明の概要】
【0018】
本開示の態様は、ビデオエンコーディング/デコーディングのための方法及び装置を提供する。いくつかの例では、ビデオデコーディングための装置は、受信回路機構及び処理回路機構を含む。
【0019】
本開示の一態様によれば、ビデオデコーダにおいて実行されるビデオデコーディングの方法が提供される。本方法では、現在のブロック及び現在のブロックの近傍サンプルのコーディングされた情報が、コーディングされたビデオビットストリームから受信され得る。現在のブロックの1つ以上のイントラモード予測子が決定され得、1つ以上のイントラモード予測子は、デコーダ側イントラモード導出(DIMD)又はテンプレートベースイントラモード導出(TIMD)のいずれかを介して現在のブロックの近傍サンプルに基づいて導出され得る。位置依存イントラ予測結合(PDPC)が適用されるかどうかは、1つ以上のイントラモード予測子に基づいて決定され得る。PDPCが適用されるという決定に応答して、融合プロセスが、1つ以上のイントラモード予測子に対して実行され得、融合プロセスは、1つ以上のイントラモード予測子を結合して単一イントラモード予測子を生成することができる。PDPCは、単一イントラモード予測子に基づいて適用され、1つ以上のイントラモード予測子に対する融合プロセスに続いて現在のブロックの修正予測子を生成することができる。現在のブロックは、PDPCによって生成された修正予測子に基づいて再構成され得る。
【0020】
いくつかの実施形態では、融合プロセスは、1つ以上のイントラモード予測子の重み付け結合に基づいて単一イントラモード予測子を生成することを含むことができる。いくつかの実施形態では、(i)近傍サンプルのうちの1つ以上の近傍サンプル、及び(ii)単一イントラモード予測子の重み付け結合に基づいて、修正予測子を生成することをさらに含むことができる。
【0021】
1つ以上のイントラモード予測子がDIMDに基づいて導出されることに応答して、1つ以上のイントラモード予測子の第1のイントラモード予測子は、第1のイントラモードに基づいて決定され得る。第1のイントラモードは、近傍サンプルに基づいて決定され、近傍サンプルの最も高いHoG(histogram of gradient)に関連付けられ得る。1つ以上のイントラモード予測子うちの第2のイントラモード予測子は、第2のイントラモードに基づいて決定され得る。第2のイントラモードは、近傍サンプルに基づいて決定され、近傍サンプルの2番目に高いHoGに関連付けられ得る。1つ以上のイントラモード予測子のうちの第3のイントラモード予測子は、プラナーモード(planar mode)に基づいて決定され得る。
【0022】
いくつかの実施形態では、PDPCが適用可能かどうかは、DIMDに基づいて導出された第1のイントラモードに基づいて決定され得る。
【0023】
第1のイントラモード及び第2のイントラモードが角度モードであることに応答して、第1のイントラモード及び第2のイントラモードの平均アンギュラー値に基づいてPDPCが適用可能かどうかが決定され得る。第1のイントラモード及び第2のイントラモードのうちの1つが角度モードであることに応答して、角度モードである第1のイントラモード及び第2のイントラモードのうちの1つ基づいてPDPCが適用可能かどうかが決定され得る。
【0024】
いくつかの実施形態では、1つ以上のイントラモード予測子のうちの少なくとも1つがプラナーモード又はDCモードに基づいて決定されることに応答して、PDPCが適用可能であると決定され得る。
【0025】
1つ以上のイントラモード予測子のうちの第1のイントラモード予測子がTIMDに基づいて導出されることに応答して、1つ以上のイントラモード予測しのうちの第1のイントラモード予測子は、第1のイントラモードに基づいて決定され得、第1のイントラモードは、近傍サンプルに基づいて決定され、近傍サンプルの最小コスト値に関連付けられ得る。1つ以上のイントラモード予測子のうちの第2のイントラモード予測子が第2のイントラモードに基づいて決定され得、第2のイントラモードは、近傍サンプルに基づいて決定され、近傍サンプルの2番目に小さいコスト値に関連付けられ得る。
【0026】
いくつかの実施形態では、PDPCが適用可能かどうかは、TIMDに基づいて導出された第1のイントラモードに基づいて決定され得る。
【0027】
第1のイントラモード及び第2のイントラモードがアンギュラーモードであることに応答して、第1のイントラモード及び第2のイントラモードの平均アンギュラー値に基づいてPDPCが適用可能かどうかが決定され得る。第1のイントラモード及び第2のイントラモードのうちの1つがアンギュラーモードであることに応答して、アンギュラーモードである第1のイントラモード及び第2のイントラモードのうちの1つ基づいてPDPCが適用可能かどうかが決定され得る。
【0028】
いくつかの実施形態では、第1のイントラモード及び第2のイントラモードのうちの少なくとも1つがプラナーモード又はDCモードであることに応答して、PDPCが適用可能であると決定され得る。
【0029】
本開示の別の態様によれば、装置が提供される。装置は、処理回路機構を有する。処理回路機構は、ビデオコーディングのための任意の方法を行うように構成され得る。
【0030】
本開示の態様はまた、命令を記憶する非一時的なコンピュータ可読媒体を提供し、命令は、ビデオデコーディングのためにコンピュータによって実行されるときに、コンピュータがビデオデコーディングのための方法のいずれかを実行させる非一時的なコンピュータ可読媒体を提供する。
【図面の簡単な説明】
【0031】
開示された主題のさらなる特徴、性質、及び様々な利点は、以下の詳細な説明及び添付の図面からより明らかになるであろう。
【0032】
【
図1】イントラ予測モードの例示的なサブセットの概略図である。
【0033】
【0034】
【
図3】一実施形態による通信システム(300)の簡略ブロック図の概略図である。
【0035】
【
図4】一実施形態による通信システム(400)の簡略ブロック図の概略図である。
【0036】
【
図5】一実施形態によるデコーダの簡略ブロック図の概略図である。
【0037】
【
図6】一実施形態によるエンコーダの簡略ブロック図の概略図である。
【0038】
【
図7】別の実施形態によるエンコーダのブロック図を示す。
【0039】
【
図8】別の実施形態によるデコーダのブロック図を示す。
【0040】
【
図9A】本開示のいくつかの実施形態による、位置依存イントラ予測結合(PDPC)モードの第1の例示的な図である。
【0041】
【
図9B】本開示のいくつかの実施形態による、PDPCモードの第2の例示的な図である。
【0042】
【
図9C】本開示のいくつかの実施形態による、PDPCモードの第3の例示的な図である。
【0043】
【
図9D】本開示のいくつかの実施形態による、PDPCモードの第4の例示的な図である。
【0044】
【
図10】本開示のいくつかの実施形態による、融合ありのデコーダ側イントラモード導出(DIMD)の概略図である。
【0045】
【
図11】本開示のいくつかの実施形態による、テンプレートベースイントラモード導出(TIMD)の概略図である。
【0046】
【
図12】本開示のいくつかの実施形態による、融合ありのTIMDの概略図である。
【0047】
【
図13】本開示のいくつかの実施形態による、融合ありのDIMDの概略図である。
【0048】
【
図14】本開示のいくつかの実施形態による、融合ありのTIMDの概略図である。
【0049】
【
図15A】本開示のいくつかの実施形態による、融合を伴うDIMDの例示的な処理である。
【0050】
【
図15B】本開示のいくつかの実施形態による、TIMDモードの例示的な処理である。
【0051】
【
図16】本開示のいくつかの実施形態による、例示的なデコーディングプロセスを概説するフローチャートを示す。
【0052】
【
図17】本開示のいくつかの実施形態による、例示的なエンコーディングプロセスを概説するフローチャートを示す。
【0053】
【
図18】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0054】
図3は、本開示の一実施形態による通信システム(300)の簡略ブロック図を示す。通信システム(300)は、例えばネットワーク(350)を介して互いに通信することができる複数の端末デバイスを含む。例えば、通信システム(300)は、ネットワーク(350)を介して相互接続された第1の対の端末デバイス(310)及び(320)を含む。
図3の例では、第1の対の端末デバイス(310)及び(320)は、データの一方向伝送を行う。例えば、端末デバイス(310)は、ネットワーク(350)を介した他の端末デバイス(320)への伝送のために、ビデオデータ(例えば、端末デバイス(310)によってキャプチャされるビデオピクチャのストリーム)をコーディングしてもよい。エンコーディングされたビデオデータは、1つ以上のコーディングされたビデオビットストリームの形態で送信され得る。端末デバイス(320)は、ネットワーク(350)からコーディングされたビデオデータを受信し、コーディングされたビデオデータをデコーディングして、ビデオピクチャを復元し、復元されたビデオデータに従ってビデオピクチャを表示してもよい。一方向性データ伝送は、メディアサービスアプリケーションなどにおいて一般的である。
【0055】
別の例では、通信システム(300)は、例えば、ビデオ会議中に発生し得るコーディングされたビデオデータの双方向伝送を行う第2の対の端末デバイス(330)及び(340)を含む。データの双方向伝送のために、一例では、端末デバイス(330)及び(340)の各端末デバイスは、ネットワーク(350)を介した端末デバイス(330)及び(340)の他方の端末デバイスへの伝送のために、ビデオデータ(例えば、端末デバイスによってキャプチャされるビデオピクチャのストリーム)をコーディングしてもよい。端末デバイス(330)及び(340)の各端末デバイスはまた、端末デバイス(330)及び(340)の他方の端末デバイスによって送信されたコーディングされたビデオデータを受信してもよく、コーディングされたビデオデータをデコーディングして、ビデオピクチャを復元し、復元されたビデオデータに従って、アクセス可能なディスプレイデバイスにビデオピクチャを表示してもよい。
【0056】
図3において、端末デバイス(310)、(320)、(330)及び(340)は、サーバ、パーソナルコンピュータ及びスマートフォンとして示されてもよいが、本開示の原理は、それらに限定されない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、及び/又は専用のビデオ会議機器を用いてアプリケーションを見出す。ネットワーク(350)は、例えば、有線及び/又は無線通信ネットワークを含む、端末デバイス(310)、(320)、(330)及び(340)間でコーディングされたビデオデータを搬送する任意の数のネットワークを表す。通信ネットワーク(350)は、回線交換及び/又はパケット交換チャネルにおいてデータを交換することができる。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又はインターネットを含む。本説明の目的のために、ネットワーク(350)のアーキテクチャ及びトポロジーは、以下に説明しない限り、本開示の動作には重要ではない。
【0057】
図4は、開示された主題のアプリケーションのための例として、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダの配置を示す。開示された主題は、例えば、ビデオ会議、デジタルTV、CD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮されたビデオの記憶などを含む、他のビデオ可能化アプリケーションにも同様に適用可能である。
【0058】
ストリーミングシステムは、例えば圧縮されていないビデオピクチャのストリーム(402)を作成するビデオソース(401)、例えばデジタルカメラを含むことができるキャプチャサブシステム(413)を含んでもよい。一例では、ビデオピクチャのストリーム(402)は、デジタルカメラによって撮影されるサンプルを含む。エンコーディングされたビデオデータ(404)(又はコーディングされたビデオビットストリーム)と比較されたときに、高データ量を強調する太い線として描写されたビデオピクチャのストリーム(402)は、ビデオソース(401)に結合されたビデオエンコーダ(403)を含む電子デバイス(420)によって処理され得る。ビデオエンコーダ(403)は、ハードウェア、ソフトウェア、又はそれらの組み合わせを含むことができ、以下により詳細に記載されるように、開示された主題の態様を可能にするか、又は実装する。エンコーディングされたビデオデータ(404)(エンコーディングされたビットストリーム(404))は、ビデオピクチャ(402)のストリームと比較されるときに、より低いデータボリュームを強調するために細いラインとして示されており、将来の使用のためにストリーミングサーバ(405)に記憶され得る。
図4のクライアントサブシステム(406)及び(408)などの1つ以上のストリーミングクライアントサブシステムは、ストリーミングサーバ(405)にアクセスして、エンコーディングされたビデオデータ(404)の複製(407、409)を取り出すことができる。クライアントサブシステム(406)は、例えば電子デバイス(430)内にビデオデコーダ(410)を含むことができる。ビデオデコーダ(410)は、エンコーディングされたビデオデータの入って来るコピー(407)をデコードし、ディスプレイ(412)(例えば、ディスプレイスクリーン)又は他のレンダリングデバイス(図示せず)上にレンダリングされ得るビデオピクチャの出て行くストリーム(411)を作成する。いくつかのストリーミングシステムでは、エンコーディングされたビデオデータ(404)、(407)、及び(409)(例えば、ビデオビットストリーム)は、特定のビデオコーディング/圧縮標準に従ってエンコーディングされ得る。これらの標準の例は、ITU-T勧告H.265を含む。一例では、開発中のビデオコーディング標準は、VVC(Versatile Video Coding)と非公式に知られている。開示された主題事項は、VVCの文脈で使用され得る。
【0059】
電子デバイス(420)及び(430)は、他のコンポーネント(図示せず)を含むことができることに留意する。例えば、電子デバイス(420)は、ビデオデコーダ(図示せず)を含むことができ、電子デバイス(430)は、ビデオエンコーダ(図示せず)も含むことができる。
【0060】
図5は、本開示の一実施形態によるビデオデコーダ(510)のブロック図を示す。ビデオデコーダ(510)は、電子デバイス(530)に含まれ得る。電子デバイス(530)は、受信機(531)(例えば、受信回路機構)を含むことができる。ビデオデコーダ(510)は、
図4の例におけるビデオデコーダ(410)の代わりに使用され得る。
【0061】
受信機(531)は、デコーダ(510)によってデコーディングされる1つ以上のコーディングされたビデオシーケンスを受信してもよく、同じ又は別の実施形態では、一度に1つのコーディングされたビデオシーケンスを受信してもよく、各コーディングされたビデオシーケンスのデコーディングは、他のコーディングされたビデオシーケンスから独立している。コーディングされたビデオシーケンスは、チャネル(501)から受信してもよく、このチャネルは、エンコーディングされたビデオデータを記憶する記憶装置へのハードウェア/ソフトウェアリンクであってもよい。受信機(531)は、エンコーディングされたビデオデータを、他のデータ、例えば、コーディングされたオーディオデータ及び/又は補助的なデータストリームと共に受信してもよく、これらのデータは、それぞれのエンティティ(図示せず)を使用して転送されてもよい。受信機(531)は、コーディングされたビデオシーケンスを他のデータから分離してもよい。ネットワークジッタと闘うために、バッファメモリ(515)は、受信機(531)とエントロピーデコーダ/解析器(520)(以後「解析器(520)」)との間で結合されてもよい。特定の用途では、バッファメモリ(515)は、ビデオデコーダ(510)の一部である。他の場合には、ビデオデコーダ(510)の外にあり得る(図示せず)。さらに別の場合では、例えばネットワークジッタに対抗するために、ビデオデコーダ(510)の外にバッファメモリ(図示せず)があり得、追加的に、例えば再生タイミングを処理するために、ビデオデコーダ(510)の内に別のバッファメモリ(515)があり得る。受信機(531)が、十分な帯域幅及び制御可能性を有する記憶/転送装置から、又はアイソクロナスネットワークからデータを受信しているときに、バッファ(515)は、不要であってもよく、又は小さくすることができる。インターネットのようなベストエフォート型パケットネットワークでの使用の場合、バッファメモリ(515)は、必要とされてもよく、比較的大きくすることができ、有利には適応サイズであり得、ビデオデコーダ(510)の外のオペレーティングシステム又は類似の要素(図示せず)に少なくとも部分的に実装されてもよい。
【0062】
ビデオデコーダ(510)は、コーディングされたビデオシーケンスからシンボル(521)を再構成するための解析器(520)を含んでもよい。それらのシンボルのカテゴリは、ビデオデコーダ(510)の動作を管理するために使用される情報、及びレンダリングデバイス(512)(例えば、ディスプレイスクリーン)のような、電子デバイス(530)の不可欠な部分ではないが、
図5に示されているように、電子デバイス(530)に結合され得るレンダリングデバイスを制御するための潜在的な情報を含む。レンダリング装置の制御情報は、補足強化情報(SEIメッセージ)又はビデオユーザビリティ情報(VUI)パラメータセットフラグメント(図示せず)の形態であってもよい。解析器(520)は、受信したコーディングされたビデオシーケンスを解析/エントロピーデコーディングしてもよい。コーディングされたビデオシーケンスのコーディングは、ビデオコーディング技術又は標準に従うことができ、可変長コーディング、ハフマンコーディング、コンテキストセンシティビティを伴う又は伴わない算術コーディングなどを含む様々な原理に従うことができる。解析器(520)は、グループに対応する少なくとも1つのパラメータに基づいて、コーディングされたビデオシーケンスから、ビデオデコーダにおける画素のサブグループのうちの少なくとも1つのサブグループパラメータのセットを抽出してもよい。サブグループは、ピクチャグループ(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。解析器(520)はまた、コーディングされたビデオシーケンスから、変換係数、量子化パラメータ値、モーションベクトルなどの情報を抽出してもよい。
【0063】
解析器(520)は、シンボル(521)を作成するために、バッファメモリ(515)から受信したビデオシーケンスに対してエントロピーデコーディング/解析動作を行ってもよい。
【0064】
シンボル(521)の再構成は、コーディングされたビデオピクチャ又はその部分(例えば、ピクチャ間及びピクチャ内、ブロック間及びブロック内)のタイプ及び他の要因に応じて、複数の異なるユニットを関与することができる。どのユニットが関与し、どのように関与するかは、解析器(520)によってコーディングされたビデオシーケンスから解析されたサブグループ制御情報によって制御され得る。解析器(520)と以下の複数ユニットとの間のこのようなサブグループ制御情報のフローは、明確にするために描写されない。
【0065】
すでに述べた機能ブロックの他に、デコーダ(510)は、概念的には、後述するように、いくつかの機能ユニットに細分化され得る。商業的制約の下で動作する実用的な実装では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合することができる。しかしながら、開示された主題を説明するためには、以下の機能ユニットに概念的に細分化することが適切である。
【0066】
第1のユニットは、スケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット(551)は、解析器(520)からのシンボル(521)として、使用するべき変換、ブロックサイズ、量子化因子、量子化スケーリング行列などを含む制御情報とともに、量子化された変換係数を受信する。スケーラ/逆変換ユニット(551)は、アグリゲータ(555)に入力することができるサンプル値を含むブロックを出力することができる。
【0067】
場合によっては、スケーラ/逆変換(551)の出力サンプルは、イントラコーディングされたブロック、すなわち、以前に再構成されたピクチャからの予測情報を使用していないが、現在のピクチャの以前に再構成された部分からの予測情報を使用することができるブロックに関係することができる。このような予測情報は、イントラピクチャ予測ユニット(552)によって提供され得る。場合によっては、イントラピクチャ予測ユニット(552)は、現在のピクチャバッファ(558)からフェッチされ既に再構成された周囲の情報を使用して、再構成中のブロックの同じサイズ及び形状のブロックを生成する。現在のピクチャバッファ(558)は、例えば、部分的に再構成された現在のピクチャ及び/又は完全に再構成された現在のピクチャをバッファする。アグリゲータ(555)は、場合によっては、サンプルごとベースで、イントラ予測ユニット(552)が生成した予測情報を、スケーラ/逆変換ユニット(551)によって提供される出力サンプル情報に追加する。
【0068】
他の場合には、スケーラ/逆変換ユニット(551)の出力サンプルは、インターコーディングされ、潜在的にモーション補償ブロックに関係することができる。このような場合には、モーション補償予測ユニット(553)は、参照ピクチャメモリ(557)にアクセスして、予測のために使用されるサンプルをフェッチすることができる。ブロックに関係するシンボル(521)に従って、フェッチされたサンプルのモーション補償後、これらのサンプルは、アグリゲータ(555)によって、出力サンプル情報を生成するために、スケーラ/逆変換ユニット(551)の出力(この場合、残差サンプル又は残差信号と呼ばれる)に追加され得る。モーション補償ユニット(553)が予測サンプルをフェッチする参照ピクチャメモリ(557)内のアドレスは、例えばX、Y、及び参照ピクチャコンポーネントを有することができるシンボル(521)の形態でモーション補償ユニットに利用可能なモーションベクトルによって制御され得る。モーション補償はまた、サブサンプルの正確なモーションベクトルが使用中であるときに、参照ピクチャメモリ(557)からフェッチされるサンプル値の補間、モーションベクトル予測メカニズムなどを含むことができる。
【0069】
アグリゲータ(555)の出力サンプルは、ループフィルタユニット(556)内の様々なループフィルタリング技術を受けることができる。ビデオ圧縮技術は、コーディングされたビデオシーケンス(コーディングされたビデオビットストリームとも呼ばれる)に含まれるパラメータによって制御され、解析器(520)からのシンボル(521)としてループフィルタユニット(556)に利用可能にされるが、コーディングされたピクチャ又はコーディングされたビデオシーケンスの(デコーディング順で)以前の部分のデコーディング中に取得されたメタ情報に応答することができ、また、以前に再構成されループフィルタリングされたサンプル値に応答することもできる、ループ内フィルタ技術を含むことができる。
【0070】
ループフィルタユニット(556)の出力は、レンダリングデバイス(512)に出力し、また将来のインターピクチャ予測に使用するために参照ピクチャメモリ(557)に記憶することができるサンプルストリームとすることができる。
【0071】
特定のコーディングされたピクチャは、いったん完全に再構成されると、将来の予測のための参考ピクチャとして使用され得る。例えば、現在のピクチャに対応するコーディングされたピクチャが完全に再構成され、コーディングされたピクチャが参照ピクチャとして識別されると(例えば、解析器(520)によって)、現在のピクチャバッファ(558)は参照ピクチャバッファ(557)の一部となることができ、新鮮な現在のピクチャバッファが、次のコーディングされるピクチャの再構成を開始する前に再割り当てされ得る。
【0072】
ビデオデコーダ(510)は、ITU-T Rec.H.265などの標準における所定のビデオ圧縮技術に従ってデコーディング動作を行ってもよい。
コーディングされたビデオシーケンスは、コーディングされたビデオシーケンスが、ビデオ圧縮技術又は標準の構文及びビデオ圧縮技術又は標準に文書化されているプロファイルの両方に従うという意味で、使用されているビデオ圧縮技術又は標準によって指定された構文に適合してもよい。具体的には、プロファイルは、特定のツールを、そのプロファイルの下での使用に利用可能な唯一のツールとして、ビデオ圧縮技術又は標準で利用可能なすべてのツールから選択することができる。また、コンプライアンスのために必要なことは、コーディングされたビデオシーケンスの複雑さが、ビデオ圧縮技術又は標準のレベルによって定義される範囲内にあることとし得る。場合によっては、レベルは、最大ピクチャサイズ、最大ピクチャレート、最大再構成サンプルレート(例えば、毎秒メガサンプルで測定される)、最大参照ピクチャサイズなどを制限する。レベルによって設定された制限は、場合によっては、HRD(仮想参照デコーダ、Hypothetical Reference Decoder)使用及びコーディングされたビデオシーケンスでシグナリングされたバッファ管理のためのメタデータを通してさらに制限され得る。
【0073】
一実施形態では、受信機(531)は、エンコーディングされたビデオと共に追加の(冗長な)データを受信してもよい。追加のデータは、コーディングされたビデオシーケンスの一部として含まれてもよい。追加のデータは、データを適切に復号するため、及び/又は元のビデオデータをより正確に再構成するために、ビデオデコーダ(510)によって使用されてもよい。追加のデータは、例えば、時間的、空間的、又は信号雑音比(SNR)強化層、冗長スライス、冗長ピクチャ、前方エラー補正コードなどの形態のものであり得る。
【0074】
図6は、本開示の一実施形態によるビデオエンコーダ(603)のブロック図を示す。ビデオエンコーダ(603)は、電子デバイス(620)に含まれる。電子デバイス(620)は、送信機(640)(例えば、送信回路機構)を含む。ビデオエンコーダ(603)は、
図4の例におけるビデオエンコーダ(403)の代わりに使用され得る。
【0075】
ビデオエンコーダ(603)は、ビデオエンコーダ(603)によってコーディングされるビデオ画像をキャプチャし得るビデオソース(601)(
図6の例では電子デバイス(620)の一部ではない)からビデオサンプルを受信してもよい。別の例では、ビデオソース(601)は、電子デバイス(620)の一部である。
【0076】
ビデオソース(601)は、任意の好適なビット深さ(例えば、8ビット、10ビット、12ビット、...)、任意の色空間(例えば、BT.601 YCrCB、RGB、...)、及び任意の好適なサンプリング構造(例えば、YCrCb 4:2:0、YCrCb 4:4:4)のうちのものとすることができるデジタルビデオサンプルストリームの形態で、ビデオエンコーダ(603)によってコーディングされるソースビデオシーケンスを提供してもよい。メディアサービスシステムにおいて、ビデオソース(601)は、以前に準備されたビデオを記憶する記憶デバイスであり得る。ビデオ会議システムでは、ビデオソース(601)は、ローカル画像情報をビデオシーケンスとしてキャプチャするカメラであり得る。ビデオデータは、シーケンスで見たときにモーションを与える複数の個々のピクチャとして提供されてもよい。ピクチャ自体は、画素の空間アレイとして編成されてもよく、各画素は、使用中のサンプリング構造、色空間などに応じて、1つ以上のサンプルを含むことができる。当業者は、画素とサンプルとの関係を容易に理解することができる。以下の説明は、サンプルに焦点を当てる。
【0077】
一実施形態によれば、ビデオエンコーダ(603)は、ソースビデオシーケンスのピクチャを、リアルタイムで、又はアプリケーションによって要求される任意の他の時間制約下で、コーディングされたビデオシーケンス(643)にコーディング及び圧縮してもよい。適切なコーディング速度を実施することは、コントローラ(650)の1つの機能である。いくつかの実施形態において、コントローラ(650)は、以下に記載のように他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。結合は、明確にするために示されていない。コントローラ(650)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化子、レート歪み最適化技術のラムダ値、...)、ピクチャサイズ、ピクチャグループ(GOP)レイアウト、最大モーションベクトル探索範囲などを含むことができる。コントローラ(650)は、特定のシステム設計のために最適化された、ビデオエンコーダ(603)に関係する他の好適な機能を有するように構成され得る。
【0078】
いくつかの実施形態では、ビデオエンコーダ(603)は、コーディングループで動作するように構成されている。かなり単純化した説明として、一例では、コーディングループは、ソースコーダ(630)(例えば、コーディングされる入力ピクチャ及び参照ピクチャに基づいて、シンボルストリームなどのシンボルを生成することを担当する)と、ビデオエンコーダ(603)に埋め込まれた(ローカル)デコーダ(633)と、を含むことができる。デコーダ(633)は、シンボルを再構成して、(シンボルとコーディングされたビデオビットストリームとの間の任意の圧縮が、開示された主題において考慮されたビデオ圧縮技術において可逆であるように)(リモート)デコーダが作成するのと同様の方式でサンプルデータを作成する。再構成されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(634)に入力される。シンボルストリームのデコーディングは、デコーダ位置(ローカル又はリモート)に依存しないビット単位で正確な結果をもたらすので、参照ピクチャメモリ(634)における内容も、ローカルエンコーダとリモートエンコーダとの間でビット単位で正確である。言い換えると、エンコーダの予測部分は、デコーダがデコーディング中に予測を使用するときに「見る」のとまったく同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャ同期性のこの基本原理(例えば、チャンネルエラーにより同期性を維持することができない場合、ドリフトが結果として生じる)が、同様にいくつかの関連技術で使用される。
【0079】
「ローカル」デコーダ(633)の動作は、ビデオデコーダ(510)のような「リモート」デコーダのものと同じにすることができ、これは、
図5と併せて既に詳細に上述されている。また
図5を簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(645)及び解析器(520)によって、コーディングされたビデオシーケンスへのシンボルのエンコーディング/デコーディングが可逆とすることができるので、バッファメモリ(515)及び解析器(520)を含むビデオデコーダ(510)のエントロピーデコーディング部分は、ローカルデコーダ(633)に完全には実装されなくてもよい。
【0080】
この時点で、デコーダに存在する解析/エントロピーデコーディング以外のいかなるデコーダ技術も、対応するエンコーダにおいて、実質的に同一の機能形態で必ず存在する必要がある、ということが分かっている。このため、開示された主題はデコーダ動作に焦点を当てる。エンコーダ技術の説明は、包括的に記載されたデコーダ技術の逆であるため、省略することができる。特定のエリアにおいてのみ、より詳細な説明が必要であり、以下に提供される。
【0081】
その動作の一部として、ソースコーダ(630)は、「参照ピクチャ」として指定されたビデオシーケンスからの1つ以上の以前にコーディングされたピクチャを参照して、入力ピクチャを予測的にコーディングするモーション補償予測コーディングを行ってもよい。このようにして、コーディングエンジン(632)は、入力ピクチャの画素ブロックと、入力ピクチャに対する予測参照として選択され得る参照ピクチャの画素ブロックとの間の差分をコーディングする。
【0082】
ローカルビデオデコーダ(633)は、ソースコーダ(630)によって作成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャのコーディングされたビデオデータを復号してもよい。コーディングエンジン(632)の動作は、有利には、不可逆プロセスであってもよい。コーディングされたビデオデータがビデオデコーダでデコーディングされ得るときに(
図6に図示せず)、再構成されたビデオシーケンスは、典型的には、いくつかのエラーを伴うソースビデオシーケンスのレプリカであってもよい。ローカルビデオデコーダ633は、ビデオデコーダによって参照ピクチャ対して行われ得るデコーディングプロセスをレプリカし、再構成された参照ピクチャが参照ピクチャキャッシュ(634)に記憶されるようにしてもよい。このようにして、ビデオエンコーダ(603)は、遠端ビデオデコーダによって取得されるであろう(伝送誤差が存在しない)再構成された参照ピクチャと共通のコンテンツを有する再構成された参照ピクチャのコピーを、ローカルに記憶してもよい。
【0083】
予測子(635)は、コーディングエンジン(632)について予測探索を行ってもよい。すなわち、コーディングされる新しいピクチャの場合、予測子(635)は、サンプルデータ(候補参照画素ブロックとして)、又は新しいピクチャに対する適切な予測参照として機能する参照ピクチャモーションベクトル、ブロック形状などの特定のメタデータについて参照ピクチャメモリ(634)を探索してもよい。予測子(635)は、適切な予測参照を見つけるために、サンプルブロック対画素ブロックベースで動作してもよい。場合によっては、予測子(635)によって取得された取得結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(634)に記憶された複数の参照ピクチャから引き出された予測参照を有してもよい。
【0084】
コントローラ(650)は、例えば、ビデオデータをエンコーディングするために使用されるパラメータ及びサブグループパラメータの設定を含む、ソースコーダ(630)のコーディング動作を管理してもよい。
【0085】
前述のすべての機能ユニットの出力は、エントロピーコーダ(645)におけるエントロピーコーディングに供される。エントロピーコーダ(645)は、ハフマンコーディング、可変長コーディング、算術コーディングなどの技術に従って、可逆圧縮することによって、様々な機能ユニットによって生成されるシンボルをコーディングされたビデオシーケンスに変換する。
【0086】
送信機(640)は、エントロピーコーダ(645)によって作成されるコーディングされたビデオシーケンスをバッファし、通信チャネル(660)を介した伝送のために準備してもよく、通信チャネル(460)は、エンコーディングされたビデオデータを記憶するであろう記憶デバイスへのハードウェア/ソフトウェアリンクであってもよい。送信機(640)は、ビデオコーダ(603)からのコーディングされたビデオデータを、例えばコーディングされたオーディオデータ及び/又は補助的なデータストリーム(ソースは図示せず)など、送信される他のデータとマージしてもよい。
【0087】
コントローラ(650)は、ビデオエンコーダ(603)の動作を管理してもよい。コーディングの間、コントローラ(650)は、各コーディングされたピクチャに特定のコーディングされたピクチャタイプを割り当ててもよく、これは、それぞれのピクチャに適用され得るコーディング技術に影響を及ぼしてもよい。例えば、ピクチャは、以下のピクチャタイプの1つとして割り当てられることが多い。すなわち、
【0088】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の任意の他のピクチャを使用せずに、コーディング及びデコーディングされ得るものであってもよい。いくつかのビデオコーデックは、例えば、独立したデコーダリフレッシュピクチャ(Independent Decoder Refresh Picture)を含む、異なるタイプのイントラピクチャを許容する。当業者は、Iピクチャのこれらの変形例、並びにそれらのそれぞれのアプリケーション及び特徴を理解している。
【0089】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、多くても1つのモーションベクトル及び参照インデックスを使用して、イントラ予測又はインター予測を使用してコーディング及びデコーディングされ得るものであってもよい。
【0090】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、多くても2つのモーションベクトル及び参照インデックスを使用して、イントラ予測又はインター予測を使用してコーディング及びデコーディングされ得るものであってもよい。同様に、複数の予測ピクチャは、1つのブロックの再構成のために、2つより多い参照ピクチャ及び関連するメタデータを使用することができる。
【0091】
ソースピクチャは、一般的に、複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、または16×16個のサンプルのブロック)に空間的に細分化され、ブロック対ブロックベースでコーディングされてもよい。ブロックは、ブロックのそれぞれのピクチャに適用されるコーディング割り当てによって決定されるように、他の(既にコーディングされた)ブロックを参照して予測的にコーディングされてもよい。例えば、Iピクチャのブロックは、非予測的にコーディングされてもよいし、それらは、同じピクチャの既にコーディングされたブロックを参照して予測的にコーディングされてもよい(空間予測又はイントラ予測)。Pピクチャの画素ブロックは、1つ前にコーディングされた参照ピクチャを参照して、空間的予測を介してか、又は時間的予測を介して予測的にコーディングされてもよい。Bピクチャのブロックは、1つ又は2つの前にコーディングされた参照ピクチャを参照して、空間的予測を介してか、又は時間的予測を介してコーディングされてもよい。
【0092】
ビデオエンコーダ(603)は、ITU-T Rec.H.265.などの所定のビデオコーディング技術又は標準に従ってコーディング動作を行ってもよい。
その動作において、ビデオエンコーダ(603)は、入力ビデオシーケンスにおける時間的及び空間的冗長性を利用する予測的コーディング動作を含む様々な圧縮動作を行ってもよい。したがって、コーディングされたビデオデータは、使用されているビデオコーディング技術又は標準によって指定された構文に準拠してもよい。
【0093】
一実施形態では、送信機(640)は、エンコーディングされたビデオと共に追加のデータを送信してもよい。ソースコーダ(630)は、コーディングされたビデオシーケンスの一部としてそのようなデータを含んでもよい。追加のデータは、時間的/空間的/SNR強化層、冗長ピクチャ及びスライスなどの他の形態の冗長データ、SEIメッセージ、VUIパラメータセットフラグメントなどを含んでもよい。
【0094】
ビデオは、時間シーケンスにおいて複数のソースピクチャ(ビデオピクチャ)としてキャプチャされてもよい。イントラピクチャ予測(イントラ予測と略されることが多い)は、所与のピクチャにおける空間的相関を利用し、インターピクチャ予測は、ピクチャ間の(時間的又は他の)相関を利用する。一例では、現在のピクチャと呼ばれるコーディング/デコーディング下の特定のピクチャは、ブロックにパーティショニングされる。現在のピクチャ内のブロックが、ビデオ内の以前にコーディングされ、かつ、依然としてバッファされている参照ピクチャ内の参照ブロックに類似するときに、現在のピクチャ内のブロックは、モーションベクトルと呼ばれるベクトルによってコーディングされ得る。モーションベクトルは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用中である場合に、参照ピクチャを識別する第3の次元を有することができる。
【0095】
いくつかの実施形態では、双予測技術は、インターピクチャ予測に使用され得る。双予測技術によれば、ビデオ内の現在のピクチャのデコーディング順序において両方とも前の(ただし、表示順序では、それぞれ過去及び将来であってもよい)第1の参照ピクチャ及び第2の参照ピクチャなどの2つの参照ピクチャが使用される。現在のピクチャ内のブロックは、第1の参照ピクチャ内の第1の参照ブロックを指す第1のモーションベクトルと、第2の参照ピクチャ内の第2の参照ブロックを指す第2のモーションベクトルとによってコーディングされ得る。ブロックは、第1の参照ブロックと第2の参照ブロックの結合によって予測され得る。
【0096】
さらに、コーディング効率を改善するために、インターピクチャ予測にマージモード技術が使用され得る。
【0097】
本開示のいくつかの実施形態によれば、インターピクチャ予測及びイントラピクチャ予測などの予測は、ブロックの単位で行われる。例えば、HEVC標準によれば、ビデオピクチャのシーケンスにおけるピクチャは、圧縮のためにコーディングツリーユニット(CTU)にパーティショニングされ、ピクチャ内部のCTUは、64×64画素、32×32画素、又は16×16画素のように、同じサイズを有する。一般に、CTUは、1つのルマCTBと2つのクロマCTBである3つのコーディングツリーブロック(CTB)を含む。各CTUは、1つ以上のコーディングユニット(CU)に再帰的に4木スプリットされ得る。例えば、64×64画素のCTUは、64×64画素の1つのCU、32×32画素の4つのCU、又は16×16画素の16個のCUにスプリットされ得る。一例では、各CUは、相互予測タイプ又はイントラ予測タイプのような、CUに対する予測タイプを決定するために分析される。CUは時間的及び/又は空間的予測可能性に依存して1つ以上の予測単位(PU)にスプリットされる。一般に、各PUはルマ予測ブロック(PB)と2つのクロマPBを含む。一実施形態では、コーディング(エンコーディング/デコーディング)における予測動作は、予測ブロックの単位で行われる。予測ブロックの一例としてルマ予測ブロックを使用すると、予測ブロックは、8×8画素、16×16画素、8×16画素、16×8画素など、画素に対する値(例えば、ルマ値)の行列を含む。
【0098】
図7は、本開示の別の実施形態によるビデオエンコーダ(703)の図を示す。ビデオエンコーダ(703)は、ビデオピクチャのシーケンス内の現在のビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックをコーディングされたビデオシーケンスの一部であるコーディングされたピクチャにエンコーディングするように構成されている。一例では、ビデオエンコーダ(703)は、
図4の例におけるビデオエンコーダ(403)の代わりに使用される。
【0099】
HEVCの例では、ビデオエンコーダ(703)は、8×8サンプルの予測ブロックなどの処理ブロックに対するサンプル値のマトリックスを受信する。ビデオエンコーダ(703)は、処理ブロックが、例えば、レート歪み最適化を使用して、イントラモード、インターモード、又は双予測モードを使用して、最良にコーディングされるかどうかを決定する。処理ブロックがイントラモードでコーディングされるときに、ビデオエンコーダ703は、処理ブロックをコーディングされたピクチャにエンコーディングするためにイントラ予測技術を使用してもよく、処理ブロックがインターモード又は双予測モードでコーディングされるときに、ビデオエンコーダ703は、処理ブロックをコーディングされたピクチャにエンコーディングするために、それぞれ、インター予測技術又は双予測技術を使用してもよい。特定のビデオコーディング技術では、マージモードは、予測子の外側のコーディングされたモーションベクトルコンポーネントの利益なしに、モーションベクトルが1つ以上のモーションベクトル予測子から導出されるインターピクチャ予測サブモードとすることができる。特定の他のビデオコーディング技術では、対象ブロックに適用可能なモーションベクトルコンポーネントが存在してもよい。一実施形態では、ビデオエンコーダ(703)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)などの他のコンポーネントを含む。
【0100】
図7の例では、ビデオエンコーダ(703)は、
図7に示すようにまとめて結合された、インターエンコーダ(730)、イントラエンコーダ(722)、残差計算器(723)、スイッチ(726)、残差エンコーダ(724)、汎用コントローラ(721)、及びエントロピーエンコーダ(725)を含む。
【0101】
インターエンコーダ(730)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、ブロックを参照ピクチャ内の1つ以上の参照ブロックと比較し(例えば、前のピクチャ及び後のピクチャ内のブロック)、インター予測情報(例えば、インターエンコーディング技術による冗長情報の記述、モーションベクトル、マージモード情報)を生成し、任意の好適な技術を使用して、インター予測情報に基づいてインター予測結果(例えば、予測ブロック)を計算するように構成されている。いくつかの例では、参照ピクチャは、エンコーディングされたビデオ情報に基づいてデコーディングされた参照ピクチャである。
【0102】
イントラエンコーダ(722)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては、ブロックを、同じピクチャ内の既にコーディングされたブロックと比較し、変換後に量子化された係数を生成し、また、場合によっては、イントラ予測情報(例えば、1つ以上のイントラエンコーディング技術に従ったイントラ予測方向情報)も生成する。一例では、イントラエンコーダ(722)は、また、同じピクチャ内のイントラ予測情報及び参照ブロックに基づいてイントラ予測結果(例えば、予測ブロック)を計算する。
【0103】
汎用コントローラ(721)は、汎用制御データを決定し、一般制御データに基づいてビデオエンコーダ(703)の他のコンポーネントを制御するように構成されている。一例では、汎用コントローラ(721)は、ブロックのモードを決定し、モードに基づいてスイッチ(726)に制御信号を提供する。例えば、モードがイントラモードであるときに、汎用コントローラ721は、残差計算器723が使用するイントラモードの結果を選択するようにスイッチ726を制御し、イントラ予測情報を選択し、ビットストリームにイントラ予測情報を含めるようにエントロピーエンコーダ725を制御し、モードがインターモードであるときに、汎用コントローラ721は、残差計算器723が使用するインター予測結果を選択するようにスイッチ726を制御し、インター予測情報を選択し、ビットストリームにインター予測情報を含めるようにエントロピーエンコーダ725を制御する。
【0104】
残差計算器(723)は、受信されたブロックと、イントラエンコーダ(722)又はインターエンコーダ(730)から選択された予測結果との間の差(残差データ)を計算するように構成されている。残差エンコーダ(724)は、残差データに基づいて動作し、残差データをエンコードして変換係数を生成するように構成されている。一例では、残差エンコーダ(724)は、残差データを空間ドメインから周波数ドメインに変換し、変換係数を生成するように構成されている。次いで、変換係数は、量子化された変換係数を取得するために量子化処理を受ける。様々な実施形態では、ビデオエンコーダ(703)はまた、残差デコーダ(728)を含む。残差デコーダ(728)は、逆変換を実行し、デコードされた残差データを生成するように構成されている。デコードされた残差データは、イントラエンコーダ(722)及びインターエンコーダ(730)によって好適に使用され得る。例えば、インターエンコーダ(730)は、デコードされた残差データ及びインター予測情報に基づいて、デコードされたブロックを生成することができ、イントラエンコーダ(722)は、デコードされた残差データ及びイントラ予測情報に基づいて、デコードされたブロックを生成することができる。デコードされたブロックは、デコードされたピクチャを生成するために好適に処理され、デコードされたピクチャは、メモリ回路(図示せず)内でバッファされ、いくつかの例では参照ピクチャとして使用され得る。
【0105】
エントロピーエンコーダ(725)は、エンコードされたブロックを含むようにビットストリームをフォーマットするように構成されている。エントロピーエンコーダ(725)は、HEVC標準などの好適な標準に従った様々な情報を含むように構成されている。一例では、エントロピーエンコーダ(725)は、一般的な制御データ、選択された予測情報(例えば、イントラ予測情報又はインター予測情報)、残差情報、及びビットストリーム内の他の好適な情報を含むように構成されている。開示された主題によれば、インターモード又は双予測モードのいずれかのマージサブモードでブロックをコーディングするときに、残基情報は存在しないことに留意する。
【0106】
図8は、本開示の別の実施形態によるビデオデコーダ(810)の図を示す。ビデオデコーダ(810)は、コーディングされたビデオシーケンスの一部であるコーディングされたピクチャを受信し、コーディングされたピクチャをデコーディングして再構成されたピクチャを生成するように構成されている。一例では、ビデオエンコーダ(810)は、
図4の例におけるビデオエンコーダ(410)の代わりに使用される。
【0107】
図8の例では、ビデオデコーダ(810)は、
図8に示すようにまとめて結合された、エントロピーデコーダ(871)、インターデコーダ(880)、残差デコーダ(873)、再構成モジュール(874)、及びイントラデコーダ(872)を含む。
【0108】
エントロピーデコーダ(871)は、コーディングされたピクチャから、コーディングされたピクチャが構成される構文要素を表す特定のシンボルを再構成するように構成され得る。このようなシンボルは、例えば、ブロックがコーディングされるモード(例えば、イントラモード、インターモード、双予測モード、マージサブモード又は別のサブモードにおける後者の2つ)、イントラデコーダ(872)又はインターデコーダ(880)によってそれぞれ予測のために使用される特定のサンプル又はメタデータを識別することができる予測情報(例えば、イントラ予測情報又はインター予測情報)、例えば、量子化された変換係数の形態の残差情報などを含むことができる。一例として、予測モードがインター予測モード又は双予測モードであるときに、インター予測情報がインターデコーダ(880)に提供され、予測タイプがイントラ予測タイプであるときに、イントラ予測情報がイントラデコーダ(872)に提供される。残差情報は、逆量子化を受けることができ、残差デコーダ(873)に提供される。
【0109】
インターデコーダ(880)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成されている。
【0110】
イントラデコーダ(872)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成されている。
【0111】
残差デコーダ(873)は、逆量子化変換係数を抽出するために逆量子化を行い、逆量子化変換係数を処理して残差を周波数領域から空間領域に変換するように構成されている。残差デコーダ(873)はまた、特定の制御情報(QP(Quantizer Parameter)を含む必要とすることがあり、その情報は、エントロピーデコーダ(871)によって提供されてもよい(これは、低いボリュームの制御情報のみであり得るので、データパスは描写されていない)。
【0112】
再構成モジュール(874)は、空間領域において、残差デコーダ(873)による出力としての残差と、(場合によっては、インター又はイントラ予測モジュールによる出力としての)予測結果とを結合して、再構成ブロックを形成するように構成されており、この再構成ブロックは、再構成ピクチャの一部であってもよく、再構成ピクチャは、再構成ビデオの一部であってもよい。デブロッキング動作などの他の好適な動作が、視覚品質を改善するために行われ得ることに留意されたい。
【0113】
なお、ビデオエンコーダ(403)、(603)及び(703)、並びにビデオデコーダ(410)、(510)及び(810)は、任意の好適な技術を使用して実装され得る。一実施形態では、ビデオエンコーダ(403)、(603)、及び(703)、並びにビデオデコーダ(410)、(510)、及び(810)は、1つ以上の集積回路を使用して実装され得る。別の実施形態では、ビデオエンコーダ(403)、(603)、及び(603)、並びにビデオデコーダ(410)、(510)、及び(810)は、ソフトウェア命令を実行する1つ以上のプロセッサを使用して実装され得る。
【0114】
本開示は、デコーダ側イントラモード導出(DIMD)に関する改良を含む。
【0115】
ITU-T VCEG (Q6/16)及びISO/IEC MPEG (JTC 1/SC 29/WG 11)は、2013年(バージョン1)、、2014年(バージョン2)、、2015年(バージョン3)、及び2016年(バージョン4)にH.265/HEVC(High Efficiency Video Coding)標準を公表した。2015年には、これら2つの標準化組織が共同でJVET(Joint Video Exploration Team)を結成して、HEVCを越える次のビデオコーディング標準の開発の可能性を探った。2018年の4月、JVETは、HEVCを超える次世代ビデオコーディングの標準化プロセスを正式に開始した。この新しい標準はVersatile Video Coding (VVC)と命名され、JVETはJoint Video Expert Teamに改名された。2020年7月、H.266/VVCバージョン1が完成した。2021年1月、VVC能力を超えた強化圧縮を調査するためにアドホックグループが設立された。
【0116】
VVCでは、DC、プラナー、及びいくつかのアンギュラーモードに基づいたイントラ予測の結果は、位置依存イントラ予測結合(PDPC)法によってさらに修正され得る。PDPCは、境界参照サンプルとフィルタリングされた境界参照サンプルを用いたHEVCスタイルのイントラ予測との結合イントラ予測法である。PDPCは、プラナー、DC、水平以下のイントラ角度、及び(i)垂直以上、及び(ii)80以下のイントラ角度のイントラモードにシグナリングなしで適用され得る。現在のブロックがブロックベースデルタパルスコード変調(BDPCM)モード下にある場合、PDPCは適用されないことがある。現在のブロックが複数の参照線(MRL)イントラ予測モード下にあり、MRLインデックスが0より大きい場合、PDPCは適用されないことがある。
【0117】
PDPCによれば、現在のサンプル(x,y)の予測サンプル(例えば、pred(x′,y´))は、イントラ予測モード(例えば、DC、プラナー、又は角度)を使用して予測され得、式1に従う現在のブロックの参照サンプルの線形結合は以下の通りである。
【数1】
ここで、R
x´,-1及びR
-1,y´は、現在のサンプル(x,y)の上及び左の境界に位置する参照サンプルを表すことができる。wL及びwTは、それぞれ参照サンプルR
-1,y´及びR
x´,-1に対する重みであり得る。
【0118】
PDPCがDC、プラナー、水平、及び垂直イントラモードに適用される場合、追加の境界フィルタは必要とされないことがある。しかしながら、例えば、DCモード境界フィルタ又は水平/垂直モードエッジフィルタのような追加の境界フィルタは、HEVCにおいて必要とされ得る。追加の境界フィルタは、DCモード境界フィルタ又は水平/垂直モードエッジフィルタであり得る。DCモードとプラナーモードに対するPDPCプロセスは同一とすることができる。アンギュラーモードの場合、現在のアンギュラーモードが水平(例えば、HOR_IDX)又は垂直(例えば、VER_IDX)である場合、左又は上の参照サンプルはそれぞれ使用されないことがある。PDPCの重みとスケールファクタは、予測モードとブロックサイズに依存することができる。PDPCは、幅と高さの両方が4つ以上のブロックに適用され得る。
【0119】
図9A~
図9Dは、PDPCのための参照サンプル(R
(x,-1)及びR
(-1,y))の例示的な定義を示す。予測サンプルpred(x´、y´)は、予測ブロック902内の(x´、y´)に位置することができる。R
(-1,y)、R
(x,-1)、及びR
(-1,-1)は、予測ブロック902の左、上、及び左上にそれぞれ位置する参照サンプルを表すことができる。
図9Aは、PDPCの対角右上モードを示す。
図9Bは、PDPCの対角左下モードを示す。
図9Cは、PDPCの隣接する対角右上モードを示す。
図9Dは、PDPCの隣接する対角左下モードを示す。
図9Aに示すような一例では、対角モードの場合、参照サンプルR
(x,-1)の座標xは、x=x´+y´+1で与えられ、参照サンプルR
-1,yの座標yは、y=x´+y´+1で与えられ得る。
図9C及び9Dに示すような他のアンギュラーモードの場合、参照サンプルR
(x,-1)及びR
(-1,y)は、分数サンプル位置に位置することができる。参照サンプルR
(x,-1)及びR
(-1,y)が分数サンプル位置にあるときに、最も近い整数サンプル位置のサンプル値が使用され得る。
【0120】
いくつかの実施形態において、参照サンプルR(x,-1)のような二次参照サンプルが利用できないためにPDPCが適用されないときに適用され得る。JVET-Q0391で提供されているような勾配ベースのPDPCは、水平/垂直モードから拡張されたイントラ予測モードであり得る。したがって、PDPC重み(例えば、wT及びwL)並びに左/上境界からの距離に関してPDPC重みにおける減衰を決定するためのスケールパラメータ(例えば、nScale)は、それぞれ、水平/垂直モードにおける対応するパラメータと等しく設定され得る。二次参照サンプルが分数サンプル位置にあるときに、双線形補間が適用され得る。
【0121】
DIMDでは、イントラモードは、ビットストリームにおいてシグナリングされた関連する構文要素を使用して導出され得、又は、イントラモードは、ビットストリームにおいてシグナリングされた関連する構文要素を使用することなく、デコーダ側で導出され得る。多くの方法がデコーダ側のイントラモードを導出するために使用され得るが、「デコーダ側イントラモード導出」という表現は、本開示に記載の方法に限定されない。
【0122】
DIMDでは、現在のCU/PUに対する複数の候補イントラモードからの2つのイントラモードが、現在のCU/PUの再構成近傍サンプルから導出され得る。テクスチャ勾配分析は、再構成近傍サンプルに基づいて複数の候補イントラモードを生成するために、エンコーダ及びデコーダの両側で実行され得る。複数の候補イントラモードの各々は、勾配のそれぞれの履歴(又はそれぞれの勾配)に関連付けられ得る。勾配の最も高い履歴(又はヒストグラム図の最も高い勾配)の2つのイントラモード(例えば、intraMode1とintraMode2)が選択され得る。選択された2つのイントラモード(例えば、intraMode1及びintraMode2)のイントラモード予測子は、重み付け和を使用してプラナーモード予測子と結合され得る。現在のCU/PUに対する最終的なイントラモード予測子は、intraMode1、intraMode2、及びプラナーの結合に基づいて形成され得る。
【0123】
表1は、例示的なDIMDシグナリングプロセスを示す。表1に示すように、DIMDフラグ(例えば、DIMD_flag)は、ISPフラグ(例えば、ISP_flag)の前にシグナリングされ得る。DIMDフラグが1である又は真である)ときは、現在のCU/PUがDIMDを使用することを示すことができ、ISPフラグはさらに、ISPが現在のCU/PUに適用されるかどうかを検証するために解析され得る。DIMDフラグが1ではない(又は偽である)ときは、現在のCU/PUがDIMDを使用しないことを示すことができる。したがって、他のイントラコーディングツール(例えば、MIP、MRL、MPMなど)に関連する構文要素は、デコーダ内で解析され得る。
【0124】
DIMDフラグのコンテキストモデリングは、隣接CU/PUに依存することができる。例えば、DIMDフラグのコンテキストモデリングは、(i)左隣接CU/PU又は上隣接CU/PUの利用可能性、及び(ii)左隣接CU/PU又は上隣接CU/PUがDIMDも使用するかどうかに依存することができる。左隣接CU/PU又は上隣接CU/PUのいずれかが存在し、DIMDを使用する場合、コンテキストインデックス(例えば、ctxIdx)は1にすることができる。左隣接CU/PU及び上隣接CU/PUの両方が存在し、DIMDを使用するときに、コンテキストインデックス(例えば、ctxIdx)は2にすることができる。それ以外の場合、コンテキストインデックス(例:ctxIdx)は、0にすることができる。
【表1】
【0125】
DIMDに基づいたintraMode1、intraMode2、及びプラナーの例示的な融合プロセス(1000)が、
図10に示されている。
図10に示すように、DIMDに基づいて、第1のイントラモード(例えば、intraMode1)及び第2のイントラモード(例えば、intraMode2)が取得され得る。さらに、第1のイントラモードに基づいて第1の角度予測(1002)が取得され得、第2のイントラモードに基づいて第2の角度予測(1004)が取得され得、第3のイントラモード(例えば、プラナーモード)に基づいて第3の予測(1006)が取得され得る。PDPCが適用可能であるときに、第1のPDPCプロセス(1008)が第1の予測(1002)に適用されて、洗練された第1の予測を生成することができる。第2のPDPCプロセス(1010)が第2の予測(1004)に適用されて、洗練された第2の予測を生成することができる。適用可能なPDPCは、プラナーモードに適用可能であるが、PDPCは、融合プロセス(1000)に適用されなくてもよい。融合プロセス(1012)行って、洗練された第1の予測、洗練された第2の予測、及び第3の予測の重み付け結合を生成することができる。
【0126】
テンプレートベースイントラモード導出(TIMD)は、テンプレートとして現在のCUの参照サンプルを使用し、TIMDに関連付けられた候補イントラ予測モードのセットの中からイントラモードを選択することができる。選択されたイントラモードは、例えば、コスト関数に基づいて最良のイントラモードとして決定されてもよい。
図11に示されるように、現在のCU(1102)の近傍の再構成サンプルは、テンプレート(1104)として使用され得る。テンプレート(1104)内の再構成サンプルは、テンプレート(1104)の予測サンプルと比較され得る。予測サンプルは、テンプレート(1104)の参照サンプル(1106)を使用して生成され得る。参照サンプル(1106)は、テンプレート(1104)の周囲の近傍の再構成サンプルとすることができる。コスト関数(例えば、絶対差の和(SAD)又は絶対変換差の和(SATD))を使用して、候補イントラ予測モードのそれぞれに基づいて、テンプレート(1104)中の予測サンプルと再構成サンプルとの間のコスト(又は歪み)を計算することができる。最小コスト(又は歪み)を有するイントラ予測モードは、現在のCU(1102)をインター予測するイントラ予測モード(例えば、最良のイントラ予測モード)として選択され得る。
【0127】
表2は、TIMDに関連付けられた例示的なコーディングプロセスを示す。表2に示すように、DIMDフラグ(例えば、DIMD_flag)が1でない(又は真でない)ときに、TIMDフラグ(例えばTIMD_flag)がシグナリングされ得る。DIMDフラグが1である(又は真である)ときは、現在のCU/PUがDIMDを使用し、ISPフラグ(例えば、ISP_flag)は、ISPが現在のCU/PUに使用されるかどうかを決定するために解析され得る。DIMDフラグが1ではない(又は偽である)ときに、TIMDフラグは、解析され得る。TIMDフラグが1であるときに、TIMDは他のイントラコーディングツールを適用せずに現在のCU/PUに適用され得る(例えば、TIMDが使用されるときに、ISPは許容されない)。TIMDフラグが1ではない(又は偽である)ときに、他のイントラコーディングツール(例えば、MIP、MRL、MPMなど)に関する構文要素は、デコーダで解析され得る。
【表2】
【0128】
TIMDによれば、最小SATDを有する最初の2つのイントラ予測モードがTIMDモードとして選択され得る。これらの2つのTIMDモードは、重み付けされたイントラ予測を生成するために重みと融合され得る。重み付けイントラ予測は、現在のCUをコーディングするために使用され得る。PDPCはまた、TIMDモードの導出に含められ得る。
【0129】
選択された2つのモード(例えば、intramode1及びintramode2)のコスト(又はコスト値)は、閾値とされ得、2のコストファクタは、式2において以下のように適用され得る。
【数2】
costMode2は、intramode2に基づいて取得されるコスト値(例えば、SAD又はSATDなど)であり、costMode1は、イントラモード1に基づいて取得されるコスト値である。式2に示す条件が真である場合、融合プロセスが適用されて、重み付きイントラ予測を生成することができる。それ以外の場合、intramode1のみが使用され得る。選択されたモード(例えば、intramode1及びintraMode2)の重みは、選択されたモードのコスト(例えば、SAD又はSATD)から演算され得る。例えば、選択されたモードの重みは、式3及び式4に以下のように示され得る。
【数3】
【0130】
図12は、融合ありのTIMDモードを示す。
図12に示すように、現在のブロックに対する第1の予測(1202)は、第1のイントラモード(例えば、intraMode1)に基づいて生成され得、現在のブロックに対する第2の予測(1204)は、第2のイントラモード(例えば、intraMode2)に基づいて生成され得る。第1のイントラモードと第2のイントラモードは、TIMDに基づいて取得され得る。ステップ(S1206)において、第1のイントラモードがアンギュラーモードであるときに、PDPCプロセス(1210)は、第1の予測(1202)に適用されて、洗練された第1の予測を生成することができる。ステップ(S1208)において、第2のイントラモードがアンギュラーモードであるときに、第2の予測(1204)は、PDPCプロセス(1212)を受信して、洗練された第2の予測を生成することができる。洗練された第1の予測と洗練された第2の予測は、(1214)において融合、又は結合されて、第1の結合予測を生成することができる。第1の結合予測は、洗練された第1の予測と洗練された第2の予測の重み付け結合とすることができる。第1のイントラモードがDCモード又はプラナーモードであることに応答して、PDPCプロセス(1218)は、第1の結合予測に適用されて、第2の結合予測を生成することができる。さらに、現在のブロックは、第2の結合予測に基づいて、イントラ予測され得る。
【0131】
引き続き
図12を参照すると、ステップ(S1206)において、第1のイントラモードがアンギュラーモードでないときに、PDPCプロセス(1210)は、第1の予測(1202)に適用され得ない。同様に、ステップ(S1208)において、第2のイントラモードがアンギュラーモードでないときに、PDPCプロセス(1212)は、第2の予測(1204)に適用され得ない。さらに、第1のイントラモードがDCモードでもプラナーモードでもないときに、PDPCプロセス(1218)は、第1の結合予測には適用されなくてもよい。
【0132】
デコーダ側イントラ予測は、明示的にシグナリングされたイントラモードとデコーダ側導出イントラモードを使用して、デコーダ側においてイントラ予測を行うことができる。例えば、デコーダは、DIMDを適用してイントラモードを導出し、イントラ予測のために導出イントラモードを使用することができる。
【0133】
本開示では、PDPCプロセスは、DIMD融合プロセスなどのフュージョンプロセス後に行われ得る。例示的なプロセス(1300)は、
図13で提供され得る。
図13に示すように、第1の予測子(1302)は、第1のイントラモード(例えば、intraMode1)に基づいて現在のブロックに対するイントラ予測を行うことによって生成され得、第2の予測子(1304)は、第2のイントラモード(例えば、intraMode2)に基づいて現在のブロックに対するイントラ予測を行うことによって生成され得、第3の予測子(1306)は、プラナーモードに基づいて現在のブロックに対してイントラ予測を行うことによって生成され得る。第1イントラモードと第2イントラモードは、DIMDに基づいて取得され得る。第1の予測子、第2の予測子、及び第3の予測子は、融合プロセス(1308)によって結合されて、結合予測子を生成することができる。結合予測子は、第1の予測子、第2の予測子と第2の予測子の重み付け結合とすることができる。PDPCプロセス(1310)が、結合予測子に適用されて、洗練された予測子を生成することができる。したがって、現在のブロックは、デコーダ側において、洗練された予測子に基づいて再構成され得る。
【0134】
図13は、一例にすぎないことに留意されたい。予測子の数は、3に限定されない。プロセス(1300)では、任意の数の予測子が適用され得る。追加的に、PDPCプロセスは、上述の勾配ベースPDPCを含むことができる。勾配ベースPDPCは、二次参照サンプルなしで実装され得る。
【0135】
PDPCプロセスが適用され得るかどうかを決定するために、実施形態において、PDPCプロセスが適用されるかどうかを決定するために、1つのイントラモード又は予測子のみが使用される。例えば、第1のイントラモード(例えば、intraMode1)は、PDPCプロセスがプロセス(1300)に適用可能かどうかを決定するために使用され得る。
【0136】
別の実施形態では、PDPCプロセスが適用されるかどうかを決定するために、イントラアンギュラーモードの平均値を使用され得る。第1のイントラモード及び第2のイントラモードがアンギュラーモードであるときに、第1のイントラモード及び第2のイントラモードのアンギュラー値の平均が、PDPCプロセスがプロセス(1300)に適用可能かどうかを決定するために使用され得る。例えば、第1のイントラモード(例えば、intraMode1)がイントラモード60であり、第2のイントラモード(例えば、intraMode2)がイントラモード62であるときに、第1のイントラモード及び第2のイントラモードの平均アンギュラー値は、(60+62)>>1=61である。PDPCがイントラアンギュラーモード61に適用可能であるときに、PDPCプロセス(1310)は、プロセス(1300)の融合プロセス(1308)後に適用され得る。
【0137】
別の例では、第1のイントラモード及び第2のイントラモードのうちの1つのみがイントラアンギュラーモードであるときに、イントラアンギュラーモードである第1のイントラモード及び第2のイントラモードのうちの1つ基づいてPDPCが適用可能かどうかが決定され得る。
【0138】
さらに別の実施形態では、PDPCプロセスは、プラナー又はDC予測子などの特定の予測子に適用可能であると決定されてもよい。例えば、第1のイントラモード及び第2のイントラモードのうちの1つがプラナーモード又はDCモードであるときに、PDPCプロセスは、プロセス(1300)において常に適用可能であり得る。
【0139】
本開示では、PDPCプロセスは、TIMD融合プロセスの後に行われ得る。例示的なプロセス(1400)は、
図14に示され得る。
図14に示すように、第1の予測子(1402)は、第1のイントラモード(例えば、intraMode1)に基づいて現在のブロックに対するイントラ予測を行うことによって生成され得、第2の予測子(1404)は、第2のイントラモード(例えば、intraMode2)に基づいて現在のブロックに対するイントラ予測を行うことによって生成され得る。第1のイントラモードと第2のイントラモードは、TIMDに基づいて取得され得る。第1の予測子及び第2の予測子は、融合プロセス(1406)によって結合されて、結合予測子を生成することができる。結合予測子は、第1の予測子と第2の予測子の重み付け結合とすることができる。PDPCプロセス(1408)が、結合予測子に適用されて、洗練された予測子を生成することができる。したがって、現在のブロックは、デコーダ側において、洗練された修正予測子に基づいて再構成され得る。
【0140】
プロセス(1400)は、任意の数の予測子を含むことができることに留意する。さらに、PDPCプロセスは、二次参照サンプルなしで実装され得る勾配ベースPDPCを含むことができる。
【0141】
PDPCプロセスが適用され得るかどうかを決定するために、実施形態において、PDPCプロセスが適用されるかどうかを決定するために、ただ1つのイントラモード又は予測子が使用される。例えば、第1のイントラモード(例えば、intraMode1)は、PDPCプロセスがプロセス(1400)に適用可能かどうかを決定するために使用され得る。
【0142】
別の実施形態では、PDPCプロセスが適用されるかどうかを決定するために、イントラ角度モードの平均値を使用され得る。第1のイントラモード及び第2のイントラモードがアンギュラーモードであるときに、第1のイントラモード及び第2のイントラモードのアンギュラー値の平均が、PDPCプロセスがプロセス(1400)に適用可能かどうかを決定するために使用され得る。
【0143】
例えば、第1のイントラモード(例えば、intraMode1)がイントラモード60であり、第2のイントラモード(例えば、intraMode2)がイントラモード62であるときに、第1のイントラモード及び第2のイントラモードの平均アンギュラー値は、(60+62)>>1=61である。イントラアンギュラーモード61がPDPC適用可能であるときに、PDPCプロセス(1408)は、プロセス(1400)の融合プロセス(1406)後に適用され得る。
【0144】
別の例では、第1のイントラモード及び第2のイントラモードのうちの1つのみがイントラアンギュラーモードであるときに、イントラアンギュラーモードである第1のイントラモード及び第2のイントラモードのうちの1つ基づいてPDPCが適用可能かどうかが決定され得る。
【0145】
さらに別の実施形態では、PDPCプロセスは、プラナー又はDC予測子などの特定の予測子に適用可能であると決定されてもよい。例えば、第1のイントラモード及び第2のイントラモードのうちの1つがプラナーモード又はDCモードであるときに、PDPCプロセスは、プロセス(1400)において常に適用可能であり得る。
【0146】
本開示では、PDPCプロセスは、融合プロセスの後にスキップされ得る。例えば、PDPCプロセスは、DIMD及び/又はTIMDに対してスキップされ得る。
図15Aは、第1の予測子(1502)、第2の予測子(1504)、及び第3の予測子(1506)に対して融合プロセスを行うことによって、最終的なイントラ予測子が生成され得る例示的なプロセス(1500A)を示す。第1の予測子(1502)は第1のイントラモードに基づいて取得され得、第2の予測子(1504)は第2のイントラモードに基づいて取得され得、第3の予測子(1506)はプラナーモードに基づいて取得され得る。第1のイントラモードと第2のイントラモードは、DIMDに基づいて生成され得る。
【0147】
図15Bは、第1の予測子(1510)及び第2の予測子(1512)に対して融合プロセスを行うことによって、最終的なイントラ予測子が生成され得る例示的なプロセス(1500B)を示す。第1の予測子(1510)は第1のイントラモードに基づいて取得され得、第2の予測子(1512)は第2のイントラモードに基づいて取得され得る。第1のイントラモードと第2のイントラモードは、TIMDに基づいて生成され得る。
【0148】
図15A及び
図15Bに示す融合のための予測子の数は、3つ又は2つに限定されず、任意の数であり得ることに留意されたい。
【0149】
図16は、本開示のいくつかの実施形態による、例示的なデコーディングプロセス(1600)を概説するフローチャートを示す。
図17は、本開示のいくつかの実施形態による、例示的なエンコーディングプロセス(1700)を概略するフローチャートを示す。提案されたプロセスは、別々に、又は任意の順序で組み合わせて使用されてもよい。さらに、プロセス(又は実施形態)、エンコーダ、及びデコーダの各々は、処理回路機構(例えば、1つ以上のプロセッサ、又は1つ以上の集積回路)によって実装されてもよい。一例において、1つ以上のプロセッサは、非一時的なコンピュータ可読媒体に記憶されたプログラムを実行する。
【0150】
実施形態では、プロセスの任意の動作(例えば、(1600)及び(1700))は、必要に応じて、任意の量又は順序で組み合わされ、又は配置され得る。実施形態では、プロセスの動作のうちの2つ以上(例えば、(1600)及び(1700))は、並行して実行されてもよい。
【0151】
プロセス(例えば、(1600)及び(1700))は、再構成中のブロックに対する予測ブロックを生成するために、ブロックの再構成及び/又はエンコーディングに使用され得る。様々な実施形態では、処理(例えば、(1600)及び(1700))は、端末デバイス(310)、(320)、(330)及び(340)内の処理回路機構、ビデオエンコーダ(403)の機能を行う処理回路機構、ビデオデコーダ(410)の機能を行う処理回路機構、ビデオデコーダ(510)の機能を行う処理回路機構、ビデオエンコーダ(503)の機能を行う処理回路機構などの処理回路機構によって実行される。いくつかの実施形態では、プロセス(例えば、(1600)及び(1700))は、ソフトウェア命令で実装され、したがって、処理回路機構がソフトウェア命令を実行するときに、処理回路機構は、プロセス(例えば、(1600)及び(1700))を行う。
【0152】
図16に示すように、プロセス(1600)は、(S1601)から開始し、(S1610)に進むことができる。(S1610)において、現在のブロック及び現在のブロックの近傍サンプルのコーディングされた情報が、コーディングされたビデオビットストリームから受信され得る。
【0153】
(S1620)において、現在のブロックの1つ以上のイントラモード予測子が決定され得、1つ以上のイントラモード予測子は、DIMD又はTIMDのいずれかを介して、現在のブロックの近傍サンプルに基づいて導出され得る。
【0154】
(S1630)において、PDPCが適用されるかどうかは、1つ以上のイントラモード予測子に基づいて決定され得る。
【0155】
(S1640)において、PDPCが適用されるという決定に応答して、融合プロセスが、1つ以上のイントラモード予測子に対して行われ得、融合プロセスは、1つ以上のイントラモード予測子を結合して、単一イントラモード予測子を生成することができる。
【0156】
(S1650)において、PDPCは、単一イントラモード予測子に基づいて適用され、1つ以上のイントラモード予測子に対する融合プロセスに続いて現在のブロックの修正予測子を生成することができる。
【0157】
(S1660)において、現在のブロックは、PDPCによって生成された修正予測子に基づいて再構成され得る。
【0158】
いくつかの実施形態では、融合プロセスは、1つ以上のイントラモード予測子の重み付け結合に基づいて単一イントラモード予測子を生成することを含むことができる。いくつかの実施形態では、(i)近傍サンプルのうちの1つ以上の近傍サンプル、及び(ii)単一イントラモード予測子の重み付け結合に基づいて、修正予測子を生成することをさらに含むことができる。
【0159】
1つ以上のイントラモード予測子がDIMDに基づいて導出されることに応答して、1つ以上のイントラモード予測子の第1のイントラモード予測子は、第1のイントラモードに基づいて決定され得る。第1のイントラモードは、近傍サンプルに基づいて決定され、近傍サンプルの中で最も高いHoGと関連付けられる。1つ以上のイントラモード予測子うちの第2のイントラモード予測子は、第2のイントラモードに基づいて決定され得る。第2のイントラモードは、隣接サンプルに基づいて決定され、隣接サンプルの2番目に高いHoGに関連付けられ得る。1つ以上のイントラモード予測子のうちの第3のイントラモード予測子は、プラナーモード(planar mode)に基づいて決定され得る。
【0160】
いくつかの実施形態では、PDPCが適用可能かどうかは、DIMDに基づいて導出された第1のイントラモードに基づいて決定され得る。
【0161】
第1のイントラモード及び第2のイントラモードがアンギュラーモードであることに応答して、第1のイントラモード及び第2のイントラモードの平均アンギュラー値に基づいてPDPCが適用可能かどうかが決定され得る。第1のイントラモード及び第2のイントラモードのうちの1つがアンギュラーモードであることに応答して、アンギュラーモードである第1のイントラモード及び第2のイントラモードのうちの1つ基づいてPDPCが適用可能かどうかが決定され得る。
【0162】
いくつかの実施形態では、1つ以上のイントラモード予測子のうちの少なくとも1つがプラナーモード又はDCモードに基づいて決定されることに応答して、PDPCが適用可能であると決定され得る。
【0163】
1つ以上のイントラモード予測子のうちの第1のイントラモード予測子がTIMDに基づいて導出されることに応答して、1つ以上のイントラモード予測しのうちの第1のイントラモード予測子は、第1のイントラモードに基づいて決定され得、第1のイントラモードは、近傍サンプルに基づいて決定され、近傍サンプルの最小コスト値に関連付けられ得る。1つ以上のイントラモード予測子のうちの第2のイントラモード予測子が第2のイントラモードに基づいて決定され得、第2のイントラモードは、隣接サンプルに基づいて決定され、隣接サンプルの2番目に小さいコスト値に関連付けられ得る。
【0164】
いくつかの実施形態では、PDPCが適用可能かどうかは、TIMDに基づいて導出された第1のイントラモードに基づいて決定され得る。
【0165】
第1のイントラモード及び第2のイントラモードがアンギュラーモードであることに応答して、第1のイントラモード及び第2のイントラモードの平均アンギュラー値に基づいてPDPCが適用可能かどうかが決定され得る。第1のイントラモード及び第2のイントラモードのうちの1つがアンギュラーモードであることに応答して、アンギュラーモードである第1のイントラモード及び第2のイントラモードのうちの1つ基づいてPDPCが適用可能かどうかが決定され得る。
【0166】
いくつかの実施形態では、第1のイントラモード及び第2のイントラモードのうちの少なくとも1つがプラナーモード又はDCモードであることに応答して、PDPCが適用可能であると決定され得る。
【0167】
図17に示すように、プロセス(1700)は、(S1701)から開始し、(S1710)に進むことができる。(S1710)において、現在のブロックの1つ以上のイントラモード予測子が決定され得、1つ以上のイントラモード予測子は、DIMD又はTIMDのいずれかを介して、現在のブロックの近傍サンプルに基づいて導出され得る。
【0168】
(S1720)において、位置依存イントラ予測結合(PDPC)が適用されるかどうかは、1つ以上のイントラモード予測子に基づいて決定され得る。
【0169】
(S1730)において、PDPCが適用されるという決定に応答して、融合プロセスが、1つ以上のイントラモード予測子に対して行われ得る。融合プロセスは、1つ以上のイントラモード予測子を結合して、単一イントラモード予測子を生成することができる。
【0170】
(S1740)において、PDPCは、単一イントラモード予測子に基づいて適用され、1つ以上のイントラモード予測子に対する融合プロセスに続いて現在のブロックの修正予測子を生成することができる。
【0171】
(S1750)において、修正予測子に基づいて現在のブロックに対してイントラ予測が行われ得る。
【0172】
(S1760)において、現在のブロック及び現在のブロックの近傍サンプルのコーディングされた情報を含むように、コーディングされたビットストリームが生成され得る。
【0173】
上述の技術は、コンピュータ可読命令を使用し、1つ以上のコンピュータ可読媒体に物理的に記憶されたコンピュータソフトウェアとして実装され得る。例えば、
図18は、開示された主題の特定の実施形態を実装するのに好適なコンピュータシステム(1800)を示す。
【0174】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク、又は類似のメカニズムの対象となり得る任意の好適な機械コード又はコンピュータ言語を使用してコード化され得、1つ又は複数のコンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)などによって、直接的に、又は解釈、マイクロコード実行などを通して実行され得る命令を含むコードを作成する。
【0175】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットのデバイスなどを含む様々なタイプのコンピュータ又はそのコンポーネント上で実行され得る。
【0176】
コンピュータシステム(1800)のための
図18に示されるコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用又は機能の範囲に関していかなる制限も示唆することを意図していない。コンポーネントの構成は、コンピュータシステム(1800)の例示的な実施形態に例示されているコンポーネントの任意の1つ又は組み合わせに関するいかなる従属性又は要件も有していると解釈されてはならない。
【0177】
コンピュータシステム(1800)は、特定のヒューマンインターフェース入力デバイスを含んでもよい。このようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(例えば、キーストローク、スワイプ、データグローブの動き)、オーディオ入力(例えば、音声、拍手)、視覚入力(例えば、ジェスチャ)、嗅覚入力(描写せず)を通して、1人以上の人間ユーザによる入力に応答してもよい。また、ヒューマンインターフェースデバイスは、オーディオ(例えば、発話、音楽、周囲音)、画像(例えば、スキャン画像、静止画像カメラから取得される写真画像)、ビデオ(例えば、2次元ビデオ、立体視ビデオを含む3次元ビデオ)などの人間による意識的入力に必ずしも直接関係しない特定の媒体を捕捉するために使用され得る。
【0178】
入力ヒューマンインターフェースデバイスは、キーボード(1801)、マウス(1802)、トラックパッド(1803)、タッチスクリーン(1810)、データグローブ(図示せず)、ジョイスティック(1805)、マイクロホン(1806)、スキャナ(1807)、カメラ(1808)のうちの1つ以上(各々1つのみが描写されている)を含んでもよい。
【0179】
コンピュータシステム(1800)はまた、特定のヒューマンインターフェース出力デバイスを含んでもよい。このようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、及び嗅覚/味覚を通して、1人以上の人間ユーザの感覚を刺激していてもよい。このようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(1810)、データグローブ(図示せず)、又はジョイスティック(1805)による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスであり得る)、オーディオ出力デバイス(例えば、スピーカー(1809)、ヘッドフォン(描写せず))、視覚出力デバイス(例えば、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(1810)であって、各々、触覚スクリーン入力能力を有するか、又は有さず、これらのうちのいくつかは、二次元の視覚出力又は立体出力のような手段を通してそれ以上の三次元の出力を出力することが可能であり得るもの、仮想現実グラス(描写せず)、ホログラフィックディスプレイ、スモークタンク(描写せず))、及びプリンタ(描写せず)を含んでもよい。
【0180】
コンピュータシステム(1800)はまた、CD/DVD又は同様の媒体(1821)を有するCD/DVD ROM/RW(1820)を含む光媒体、サムドライブ(1822)、取り外し可能なハードドライブ又はソリッドステートドライブ(1823)、テープ及びフロッピーディスク(描写せず)などのレガシー磁気媒体、セキュリティドングル(描写せず)のような特殊なROM/ASIC/PLDベースのデバイスなど、人間がアクセス可能な記憶デバイス、及びそれらの関連媒体を含むことができる。
【0181】
当業者はまた、現在開示されている主題に関連して使用される用語「コンピュータ可読媒体」は、伝送媒体、搬送波、又は他の過渡信号を包含しないと理解すべきである。
【0182】
コンピュータシステム(1800)はまた、1つ以上の通信ネットワーク(1855)へのインターフェース(1854)を含むことができる。ネットワークは、例えば、無線、有線、光のものとすることができる。ネットワークは、さらに、ローカル、広域、大都市、車両及び産業、リアルタイム、遅延耐性などのものとすることができる。ネットワークの例は、Ethernet(登録商標)、無線LAN、GSM、3G、4G、5G、LTEなどを含むセルラネットワーク、ケーブルTV、衛星TV、及び地上放送TVを含むTV有線及び無線広域デジタルネットワーク、CANBusを含む車両及び産業などを含む。特定のネットワークは、通常、特定の汎用データポート又は周辺バス(1849)(例えば、コンピュータシステム(1800)のUSBポート)に取り付けられる外部のネットワークインターフェースアダプタを必要とし、他のものは、通常、後述するシステムバス(例えば、PCコンピュータシステムへのEthernetインターフェース又はスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)への取り付けによって、コンピュータシステム(1800)のコアに組み込まれる。これらのネットワークのいずれかを使用して、コンピュータシステム(1800)は、他のエンティティと通信することができる。このような通信は、一方向性の受信のみ(例えば、放送テレビ)、一方向性の送信のみのもの(例えば、CANbusから特定のCANbusまで)、又は、例えば、ローカル又は広域デジタルネットワークを使用する他のコンピュータシステムへの双方向性のものとすることができる。特定のプロトコル及びプロトコルスタックは、上述のように、それらのネットワーク及びネットワークインターフェースの各々で使用され得る。
【0183】
前述のヒューマンインターフェースデバイス、人間がアクセス可能な記憶デバイス、及びネットワークインターフェースは、コンピュータシステム(1800)のコア(1840)に取り付けられ得る。
【0184】
コア(1840)は、1つ以上のCPU(Central Processing Unit)(1841)、GPU(Graphics Processing Unit)(1842)、FPGA(Field Programmable Gate Area)(1843)の形態の特殊なプログラマム可能な処理ユニット、特定のタスクのためのハードウェアアクセラレータ(1844)、グラフィックアダプタ(1850)などを含むことができる。これらのデバイスは、ROM(Read-only memory)(1845)、ランダムアクセスメモリ(1846)、ユーザがアクセス不可能なハードドライブ、SSDなどの内部マスストレージ(1847)と一緒に、システムバス(1848)を通して接続されてもよい。いくつかのコンピュータシステムでは、システムバス(1848)は、追加的なCPU、GPUなどによる拡張を可能にするために、1つ以上の物理プラグの形態でアクセス可能とすることができる。周辺デバイスは、コアのシステムバス(1848)に直接取り付けられるか、周辺バス(1849)通して取り付けられるかのいずれかとすることができる。一例では、スクリーン(1810)は、グラフィックアダプタ(1850)に接続され得る。周辺バスのためのアーキテクチャは、PCI、USBなどを含む。
【0185】
CPU(1841)、GPU(1842)、FPGA(1843)、及びアクセラレータ(1844)は、組み合わせて、前述のコンピュータコードを構成することができる特定の命令を実行することができる。コンピュータコードは、ROM(1845)又はRAM(1846)に記憶され得る。一時的なデータはまた、RAM(1846)に記憶され得るが、永続性データは、例えば、内部マスストレージ(1847)に記憶され得る。1つ以上のCPU(1841)、GPU(1842)、マスストレージ(1847)、ROM(1845)、RAM(1846)などと密接に関連付けられ得るキャッシュメモリの使用を通して、メモリデバイスのいずれかへの高速ストレージ及び取り出しが、可能にされ得る。
【0186】
コンピュータ可読媒体は、様々なコンピュータ実装された動作を実行するためのコンピュータコードをその上に有することができる。媒体及びコンピュータコードは、本開示の目的のために特別に設計及び構築することができるか、又はそれらは、コンピュータソフトウェア分野の当業者に周知かつ入手可能な種類のものとすることができる。
【0187】
一例として、限定するものではなく、アーキテクチャ(1800)、具体的にはコア(1840)を有するコンピュータシステムは、1つ以上の有形のコンピュータ可読媒体に具現化されたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)の結果として機能を提供することができる。このようなコンピュータ可読媒体は、コア内部マスストレージ(1847)、ROM(1845)などの非一時的な性質のコア(1840)の特定のストレージと同様に、上記に紹介したユーザがアクセス可能なマスストレージに関連付けられた媒体とすることができる。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに記憶され、コア(1840)によって実行され得る。コンピュータ可読媒体は、特定のニーズに応じて、1つ以上のメモリデバイス又はチップを含むことができる。ソフトウェアは、コア(1840)、具体的には内部のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM(1846)に記憶されたデータ構造を定義することと、ソフトウェアによって定義されたプロセスに従ってこのようなデータ構造を修正することとを含む、本明細書に記載された特定のプロセス又は特定のプロセスの特定の部分を実行させることができる。追加的又は代替的には、コンピュータシステムは、回路(例えば、アクセラレータ(1844))内に配線されたか、又は他の方法で具現化された論理の結果として、機能を提供することができ、この回路は、本明細書に記載された特定のプロセス又は特定のプロセスの特定の部分を実行するために、ソフトウェアの代わりに、又はソフトウェアと共に動作することができる。ソフトウェアへの言及は、論理を包含することができ、適切な場合には、その逆もできる。コンピュータ可読媒体への言及は、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のための論理を具体化する回路、又は適切な場合にはその両方を包含することができる。本開示は、ハードウェア及びソフトウェアの任意の好適な組み合わせを包含する。
付録A:頭字語
JEM:ジョイント探索モデル(joint exploration model)
VVC:汎用ビデオコーディング(versatile video coding)
BMS:ベンチマークセット(benchmark set)
MV:モーションベクトル(Motion Vector)
HEVC:高効率ビデオコーディング
SEI:補助強化情報(Supplementary Enhancement Information)
VUI:ビデオユーザビリティ情報(Video Usability Information)
GOP:ピクチャグループ(Group of Pictures)
TU:変換ユニット(Transform Unit)
PU:予測ユニット(Prediction Unit)
CTU:コーディングツリーユニット(Coding Tree Unit)
CTB:コーディングツリーブロック(Coding Tree Block)
PB:予測ブロック(Prediction Block)
HRD:仮想参照デコーダ(Hypothetical Reference Decoder)
SNR信号雑音比(Signal Noise Ratio)
CPU:中央処理ユニット(Central Processing Unit)
GPU:グラフィック処理ユニット(Graphics Processing Unit)
CRT:陰極線管(Cathode Ray Tube)
LCD:液晶ディスプレイ(Liquid-Crystal Display)
OLED:有機発光ダイオード(Organic Light-Emitting Diode)
CD:コンパクトディスク(Compact Disc)
DVD:デジタルビデオディスク(Digital Video Disc)
ROM:読み出し専用メモリ(Read-Only Memory)
RAM:ランダムアクセスメモリ(Random Access Memory)
ASIC:特定用途向け集積回路(Application-Specific Integrated Circuit)
PLD:プログラマブル論理デバイス(Programmable Logic Device)
LAN:ローカルエリアネットワーク(Local Area Network)
GSM:グローバルシステムフォーモバイルコミュニケーションズ(Global System for Mobile communications)
LTE:ロングタームエボリューション(Long-Term Evolution)
CANBus:コントローラエリアネットワークバス(Controller Area Network Bus)
USB:ユニバーサルシリアルバス(Universal Serial Bus)
PCI:ペリフェラルコンポーネントインターコネクト(Peripheral Component Interconnect)
FPGA:フィールドプログラマブルゲートエリア(Field Programmable Gate Areas)
SSD:ソリッドステートドライブ(solid-state drive)
IC:集積回路(Integrated Circuit)
CU:コーディングユニット(Coding Unit)
【0188】
本開示は、いくつかの例示的な実施形態を記載してきたが、本開示の範囲内にある変更、置換、及び様々な代替等価物がある。したがって、当業者は、本明細書に明示的に示されていないか、又は記載されていないが、本開示の原理を具体化し、本開示の精神及び範囲内にある多くのシステム及び方法を考案することができると理解されるであろう。
【国際調査報告】