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

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

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

<>
  • 特許-デコーダ側イントラモード導出 図1
  • 特許-デコーダ側イントラモード導出 図2
  • 特許-デコーダ側イントラモード導出 図3
  • 特許-デコーダ側イントラモード導出 図4
  • 特許-デコーダ側イントラモード導出 図5
  • 特許-デコーダ側イントラモード導出 図6
  • 特許-デコーダ側イントラモード導出 図7
  • 特許-デコーダ側イントラモード導出 図8
  • 特許-デコーダ側イントラモード導出 図9
  • 特許-デコーダ側イントラモード導出 図10
  • 特許-デコーダ側イントラモード導出 図11
  • 特許-デコーダ側イントラモード導出 図12
  • 特許-デコーダ側イントラモード導出 図13
  • 特許-デコーダ側イントラモード導出 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-24
(45)【発行日】2024-05-07
(54)【発明の名称】デコーダ側イントラモード導出
(51)【国際特許分類】
   H04N 19/13 20140101AFI20240425BHJP
   H04N 19/157 20140101ALI20240425BHJP
   H04N 19/176 20140101ALI20240425BHJP
   H04N 19/593 20140101ALI20240425BHJP
   H04N 19/91 20140101ALI20240425BHJP
【FI】
H04N19/13
H04N19/157
H04N19/176
H04N19/593
H04N19/91
【請求項の数】 21
(21)【出願番号】P 2022565591
(86)(22)【出願日】2022-04-26
(65)【公表番号】
(43)【公表日】2023-06-30
(86)【国際出願番号】 US2022071933
(87)【国際公開番号】W WO2022232786
(87)【国際公開日】2022-11-03
【審査請求日】2022-10-26
(31)【優先権主張番号】63/179,902
(32)【優先日】2021-04-26
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/727,563
(32)【優先日】2022-04-22
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】リー,リン
(72)【発明者】
【氏名】リー,シャン
(72)【発明者】
【氏名】リウ,シャン
【審査官】田中 純一
(56)【参考文献】
【文献】特表2019-535211(JP,A)
【文献】米国特許出願公開第2019/0379891(US,A1)
【文献】特表2019-519972(JP,A)
【文献】米国特許出願公開第2019/0104303(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
ビデオデコーダにおいて実行されるビデオ復号化の方法であって、
コーディングされたビデオビットストリームから現在のブロックおよび現在のブロックの隣接ブロックのコーディングされた情報を受信することと、
前記コーディングされた情報中の前記現在のブロックと関連付けられる第1の情報を取得することであって、第1の情報は、前記現在のブロックが、前記現在のブロックのイントラ予測モードを前記隣接ブロックに基づいて導出するデコーダ側イントラモード導出(DIMD)に基づいてイントラ予測されるかどうかを示す、第1の情報を取得することと、
前記コーディングされた情報中の前記現在のブロックと関連付けられる第2の情報を取得することであって、第2の情報は、前記現在のブロックが、イントラサブパーティション(ISP)モードに基づいて区切られるかどうかを示す、第2の情報を取得することと、
(i)前記現在のブロックが前記DIMDに基づいてイントラ予測されることを示す前記第1の情報、および(ii)前記隣接ブロック中の前記現在のブロックの上隣接ブロックまたは左隣接ブロックが前記ISPモードに基づいて区切られることを示す前記第2の情報のうちの1つに応答して、コンテキストモデルインデックスを決定することと、
少なくとも前記コンテキストモデルインデックスに基づいて前記コーディングされたビデオストリームから前記現在のブロックを復号化することと、を含む、
方法。
【請求項2】
前記現在のブロックが前記DIMDに基づいてイントラ予測されることを示す前記第1の情報に応答して、前記第2の情報を復号化することと、
前記現在のブロックが前記ISPモードに基づいて区切られることを示す前記第2の情報に応答して、前記ISPモードと関連付けられる構文要素を復号化することと、を更に含む、
請求項1に記載の方法。
【請求項3】
(i)前記第1の情報および(ii)前記第2の情報のうちの前記1つに応答して前記コンテキストモデルインデックスを決定することは、前記現在のブロックが前記DIMDに基づいてイントラ予測されることを示す前記第1の情報に応答して実行され、
当該方法は、
前記現在のブロックが前記DIMDに基づいてイントラ予測されないことを示す前記第1の情報に応答して、
前記コーディングされた情報中の前記現在のブロックと関連付けられる第3の情報を取得することであって、第3の情報は、前記現在のブロックが、候補イントラ予測モードのセットを含むテンプレートベースのイントラモード導出(TIMD)に基づいてイントラ予測されるかどうかを示す、第3の情報を取得することと、
(i)前記現在のブロックが前記TIMDに基づいてイントラ予測されることを示す前記第3の情報、および(ii)前記隣接ブロック中の前記現在のブロックの上隣接ブロックまたは左隣接ブロックが前記ISPモードに基づいて区切られることを示す前記第2の情報のうちの1つに応答して、前記コンテキストモデルインデックスを決定することと、を更に含む、
請求項1に記載の方法。
【請求項4】
前記現在のブロックが前記TIMDに基づいてイントラ予測されることを示す前記第3の情報に応答して、前記第2の情報を復号化することと、
前記現在のブロックが前記ISPモードに基づいて区切られることを示す前記第2の情報に応答して、前記ISPモードと関連付けられる構文要素を復号化することと、を更に含む、
請求項3に記載の方法。
【請求項5】
前記現在のブロックが前記ISPモードに基づいて区切られないことを示す前記第2の情報に応答して、別のイントラコーディングモードと関連付けられる構文要素を復号化することであって、別のイントラコーディングモードは、行列ベースのイントラ予測(MIP)、多重参照リーエンイントラ予測(MRL)、および最確モード(MPM)のうちの1つを含む、請求項4に記載の方法。
【請求項6】
前記現在のブロックが前記DIMDに基づいてイントラ予測されることを示す前記第1の情報に応答して、前記コンテキストモデルインデックスが1であると決定すること、および
前記現在のブロックが前記DIMDに基づいてイントラ予測されないことを示す前記第1の情報に応答して、前記コンテキストモデルインデックスがゼロであると決定すること
のうちの1つを更に含む、
請求項1に記載の方法。
【請求項7】
前記コンテキストモデルインデックスは、コンテキストベースの適応バイナリ算術コーディング(CABAC)において使用される、請求項1に記載の方法。
【請求項8】
前記現在のブロックが前記TIMDに基づいてイントラ予測されることを示す前記第3の情報に応答して、前記コンテキストモデルインデックスが1であると決定すること、および
前記現在のブロックが前記TIMDに基づいてイントラ予測されないことを示す前記第3の情報に応答して、前記コンテキストモデルインデックスがゼロである決定すること
のうちの1つを更に含む、
請求項3に記載の方法。
【請求項9】
ビデオデコーダにおいて実行されるビデオ復号化の方法であって、
コーディングされたビデオビットストリームから現在のブロックおよび現在のブロックの隣接ブロックのコーディングされた情報を受信することと、
前記コーディングされた情報中の前記現在のブロックと関連付けられる第1の情報を復号化することであって、第1の情報は、前記現在のブロックが、前記現在のブロックのイントラ予測モードを前記隣接ブロックに基づいて導出するデコーダ側イントラモード導出(DIMD)に基づいてイントラ予測されるかどうかを示す、第1の情報を復号化することと、
前記現在のブロックが前記DIMDに基づいてイントラ予測されることを示す前記第1の情報に応答して、
前記DIMDに基づいて第1のイントラ予測モードを決定することと、
前記コーディングされた情報に含められ且つ最確モード(MPM)およびMPM剰余に関連付けられる構文要素に基づいて、第2のイントラ予測モードを決定することと、を更に含む、
方法。
【請求項10】
前記現在のブロックが前記DIMDに基づいてイントラ予測されることを示す前記第1の情報に応答して、前記コーディングされた情報中の前記現在のブロックと関連付けられる第2の情報を復号化することであって、第2の情報は、前記現在のブロックがイントラサブパーティション(ISP)モードに基づいて区切られるかどうかを示す、第2の情報を復号化することと、
前記現在のブロックが前記ISPモードに基づいて区切られることを示す前記第2の情報に応答して、前記ISPモードと関連付けられる構文要素を復号化することと、を更に含む、
請求項9に記載の方法。
【請求項11】
前記現在のブロックが前記ISPモードに基づいて区切られないことを示す前記第2の情報に応答して、別のイントラコーディングモードと関連付けられる構文要素を復号化することを更に含み、別のイントラコーディングモードは、行列ベースのイントラ予測(MIP)、多重参照リーエンイントラ予測(MRL)、および最確モード(MPM)のうちの1つを含む、請求項10に記載の方法。
【請求項12】
前記第1のイントラ予測モードに基づいて第1のイントラ予測子を決定することと、
前記第2のイントラ予測モードに基づいて第2のイントラ予測子を決定することと、
前記第1のイントラ予測子および前記第2のイントラ予測子に基づいて最終のイントラ予測子を決定することと、を更に含む、
請求項9に記載の方法。
【請求項13】
前記最終のイントラ予測子を決定することは、
前記最終のイントラ予測子が、(i)第1の重量と前記第1のイントラ予測子との積、および(ii)第2の重量と前記第2のイントラ予測子との積の和に等しいと決定することを更に含み、
前記第1の重量は、前記第2の重量以上であり、
前記第1の重量と前記第2の重量との和は、1に等しい、
請求項12に記載の方法。
【請求項14】
前記最終のイントラ予測子を決定することは、
前記最終のイントラ予測子が、(i)第1の重量と前記第1のイントラ予測子との積、(ii)第2の重量と前記第2のイントラ予測子との積、および(iii)プレーナモードに基づく第3の重量とイントラ予測子との積の和に等しいと決定することを更に含み、
前記第1の重量は、前記第2の重量以上であり、
前記第1の重量、前記第2の重量、および前記第3の重量の和は、1に等しい、
請求項12に記載の方法。
【請求項15】
処理回路構成を含む装置であって、
前記処理回路構成は、
コーディングされたビデオビットストリームから現在のブロックおよび現在のブロックの隣接ブロックのコーディングされた情報を受信するように構成され、
前記コーディングされた情報中の前記現在のブロックと関連付けられる第1の情報を取得するように構成され、第1の情報は、前記現在のブロックが、前記現在のブロックのイントラ予測モードを前記隣接ブロックに基づいて導出するデコーダ側イントラモード導出(DIMD)に基づいてイントラ予測されるかどうかを示し、
前記コーディングされた情報中の前記現在のブロックと関連付けられる第2の情報を取得するように構成され、第2の情報は、前記現在のブロックが、イントラサブパーティション(ISP)モードに基づいて区切られるかどうかを示し、
(i)前記現在のブロックが前記DIMDに基づいてイントラ予測されることを示す前記第1の情報、および(ii)前記隣接ブロック中の前記現在のブロックの上隣接ブロックまたは左隣接ブロックが前記ISPモードに基づいて区切られることを示す前記第2の情報のうちの1つに応答して、コンテキストモデルインデックスを決定するように構成され、
少なくとも前記コンテキストモデルインデックスに基づいて前記コーディングされたビデオストリームから前記現在のブロックを復号化するように構成される、
装置。
【請求項16】
前記処理回路構成は、
前記現在のブロックが前記DIMDに基づいてイントラ予測されることを示す前記第1の情報に応答して、前記第2の情報を復号化し、
前記現在のブロックが前記ISPモードに基づいて区切られることを示す前記第2の情報に応答して、前記ISPモードと関連付けられる構文要素を復号化する、
ように更に構成される、
請求項15に記載の装置。
【請求項17】
前記処理回路構成は、
前記現在のブロックが前記DIMDに基づいてイントラ予測されることを示す前記第1の情報に応答して、(i)前記第1の情報および(ii)前記第2の情報のうちの前記1つに応答して前記コンテキストモデルインデックスを決定するように更に構成され、
前記処理回路構成は、
前記現在のブロックが前記DIMDに基づいてイントラ予測されないことを示す前記第1の情報に応答して、
前記コーディングされた情報中の前記現在のブロックと関連付けられる第3の情報を取得するように更に構成され、第3の情報は、前記現在のブロックが、候補イントラ予測モードのセットを含むテンプレートベースのイントラモード導出(TIMD)に基づいてイントラ予測されるかどうかを示し、
(i)前記現在のブロックが前記TIMDに基づいてイントラ予測されることを示す前記第3の情報、および(ii)前記隣接ブロック中の前記現在のブロックの上隣接ブロックまたは左隣接ブロックが前記ISPモードに基づいて区切られることを示す前記第2の情報のうちの1つに応答して、前記コンテキストモデルインデックスを決定するように更に構成される、
請求項15に記載の装置。
【請求項18】
前記処理回路構成は、
前記現在のブロックが前記IMDに基づいてイントラ予測されることを示す前記第3の情報に応答して、前記コンテキストモデルインデックスが1であると決定するように更に構成され、
前記現在のブロックが前記IMDに基づいてイントラ予測されないことを示す前記第3の情報に応答して、前記コンテキストモデルインデックスがゼロであると決定するように更に構成される、
請求項17に記載の装置。
【請求項19】
前記処理回路構成は、
前記現在のブロックが前記DIMDに基づいてイントラ予測されることを示す前記第1の情報に応答して、前記コンテキストモデルインデックスが1であると決定するように更に構成され、
前記現在のブロックが前記DIMDに基づいてイントラ予測されないことを示す前記第1の情報に応答して、前記コンテキストモデルインデックスがゼロであると決定するように更に構成される、
請求項15に記載の装置。
【請求項20】
処理回路構成を含む装置であって、
前記処理回路構成は、
コーディングされたビデオビットストリームから現在のブロックおよび現在のブロックの隣接ブロックのコーディングされた情報を受信するように構成され、
前記コーディングされた情報中の前記現在のブロックと関連付けられる第1の情報を復号化するように構成され、第1の情報は、前記現在のブロックが、前記現在のブロックのイントラ予測モードを前記隣接ブロックに基づいて導出するデコーダ側イントラモード導出(DIMD)に基づいてイントラ予測されるかどうかを示し、
前記現在のブロックが前記DIMDに基づいてイントラ予測されることを示す前記第1の情報に応答して、
前記DIMDに基づいて第1のイントラ予測モードを決定するように構成され、
前記コーディングされた情報に含められ且つ最確モード(MPM)とMPM剰余とに関連付けられる構文要素に基づいて、第2のイントラ予測モードを決定するように構成される、
装置。
【請求項21】
命令を格納する非一時的なコンピュータ読取可能媒体であって、前記命令は、コンピュータによって実行されるときに、前記コンピュータに請求項1-8のうちのいずれか1項に記載の方法または請求項9-14のうちのいずれか1項に記載の方法を実行させる、非一時的なコンピュータ読取可能媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の参照)
本願は、2021年4月26日に出願された米国仮出願第63/179,902号「Decoder Side Intra Mode Derivation」の優先権の利益を主張する、2022年4月22日に出願された米国特許出願第17/727,563号「DECODER SIDE INTRA MODE DERIVATION」の優先権の利益を主張する。先の出願の開示は、その全体が参照により本明細書に援用される。
【0002】
(技術分野)
本開示は、ビデオコーディング(coding)に概ね関する実施形態を記載する。
【背景技術】
【0003】
本明細書で提供される背景記述は、本開示の文脈を一般的に提示するためのものである。その業績がこの背景セクションに記載される範囲における、現在指名されている発明者の業績、並びに、出願時に他の点では先行技術として適格でないことがある記述の側面は、本開示に対する先行技術として明示的にも暗示的にも認められていない。
【0004】
ビデオコーディングおよび復号化(decoding)は、動き補償を伴うインター(inter-picture)予測を用いて行われることができる。非圧縮デジタルビデオは、一連のピクチャを含むことができ、各ピクチャは、例えば、1920×1080輝度サンプルおよび関連する色サンプルの空間寸法を有する。一連のピクチャは、例えば、1秒当たり60ピクチャまたは60Hzの、固定または可変の(非公式にはフレームレートとしても知られている)ピクチャ速度を有することができる。非圧縮ビデオは、特定のビットレート要件を有する。例えば、1サンプル当たり8ビットの1080p60 4:2:0ビデオ(60Hzのフレームレートでの1920x1080の輝度サンプル解像度)は、1.5Gbit/sに近い帯域幅を必要とする。そのようなビデオの1時間は、600ギガバイトよりも多くの記憶空間を必要とする。
【0005】
ビデオコーディングおよび復号化の1つの目的は、圧縮を通じた、入力ビデオ信号の冗長性の低減であることができる。圧縮は、前述の帯域幅および/または記憶空間の要件を、幾つかの場合には2桁以上、低減するのを助けることができる。無損失(lossless)圧縮および損失(lossy)圧縮の両方、並びにそれらの組み合わせを利用することができる。無損失圧縮とは、元の信号の正確なコピーを、圧縮された元の信号から再構成することができる技術を指す。損失圧縮を使用するとき、再構成された信号は、元の信号と同一ではないことがあるが、元の信号と再構成された信号との間の歪み(distortion)は、再構成された信号を意図された用途のために有用にするほどに十分に小さい。ビデオの場合には、損失圧縮が広く利用されている。許容される歪みの量は、アプリケーションに依存し、例えば、特定の消費者ストリーミングアプリケーションのユーザは、テレビ配信アプリケーションのユーザよりも高い歪みに耐えることがある。達成可能な圧縮比は、それを反映することができる。すなわち、より高い許容できる/耐えられる歪みは、より高い圧縮比をもたらすことができる。
【0006】
ビデオエンコーダおよびデコーダは、例えば、動き補償、変換、量子化、およびエントロピーコーディングを含む、幾つかの広範なカテゴリからの技術を利用することができる。
【0007】
ビデオコーデック技術は、イントラコーディング(intra coding)として知られる技術を含むことができる。イントラコーディングでは、サンプル値が、以前に再構成された参照ピクチャからのサンプルまたは他のデータを参照することなく表現される。幾つかのビデオコーデック(codecs)において、ピクチャは、サンプルのブロックに空間的に細分される。サンプルのすべてのブロックがイントラモードにおいてコーディングされるとき、そのピクチャは、イントラピクチャ(intra picture)となることができる。イントラピクチャおよび独立したデコーダリフレッシュピクチャのようなそれらの派生物は、デコーダ状態をリセットするために使用されることができ、従って、コーディングされたビデオビットストリームおよびビデオセッションにおける第1のピクチャとして、または静止画像(still image)として使用されることができる。イントラブロックのサンプルを変換に曝すことができ、エントロピーコーディングの前に変換係数を量子化することができる。イントラ予測(intra prediction)は、変換前の領域(domain)におけるサンプル値を最小化する技術であることができる。幾つかの場合には、変換後のDC値が小さければ小さく、AC係数が小さければ小さいほど、エントロピーコーディング後のブロックを表すために所与の量子化ステップサイズで必要とされるビットはより少ない。
【0008】
例えば、MPEG-2世代コーディング技術から知られているような伝統的なイントラコーディングは、イントラ予測を使用しない。しかしながら、幾つかのより新しいビデオ圧縮技術は、例えば、空間的に隣接し且つ復号化順で先行するデータのブロックの符号化および/または復号化の間に得られた、周囲のサンプルデータおよび/またはメタデータから試みる、技術を含む。そのような技法は、以降、「イントラ予測」技法と呼ばれる。少なくとも幾つかの場合において、イントラ予測は、再構成下の現在のピクチャからの参照データ(reference data)のみを使用し、参照ピクチャからの参照データは使用しないことに留意されたい。
【0009】
多くの異なる形態のイントラ予測があり得る。そのような技法のうちの1つ以上を所与のビデオコーディング技術において使用することができるとき、使用中の技法をイントラ予測モードにおいてコーディングすることができる。特定の場合において、モードは、サブモードおよび/またはパラメータを有することができ、それらは個別にコーディングされることができ、或いはモード符号語(codeword)に含められることができる。どの符号語を所与のモード、サブモード、および/またはパラメータの組み合わせのために使用するかは、イントラ予測を通じたコーディング効率ゲインにおいて影響を与え得るし、符号語をビットストリームに変換するために使用されるエントロピーコーディング技術も同様に影響を与え得る。
【0010】
特定のイントラ予測モードがH.264で導入され、H.265で改良され、共同探査モデル(JEM:joint exploration model)、汎用ビデオコーディング(VVC:versatile video coding)、およびベンチマークセット(BMS:benchmark set)のようなより新しいコーディング技術において更に改良された。予測子ブロック(predictor block)は、既に利用可能なサンプルに属する隣接するサンプル値を使用して形成されることができる。隣接するサンプルのサンプル値は、方向に従って予測子ブロックにコピーされる。使用中の方向への参照は、ビットストリーム中でコーディングされることができ、或いはそれ自体が予測されることがある。
【0011】
図1を参照すると、右下に示されているのは、(35個のイントラモードの33個の角度モードに対応する)H.265の33個の可能な予測子方向から知られている9個の予測子方向のサブセットである。矢印が収束する点(101)は、予測されるサンプル(試料)を表している。矢印は、サンプルが予測される方向を示している。例えば、矢印(102)は、サンプル(101)が、水平から45度の角度で、サンプルまたは複数のサンプルから右上に予測されることを示している。同様に、矢印(103)は、サンプル(101)が、水平から22.5度の角度で、サンプルまたは複数のサンプルからサンプル(101)の左下に予測されることを示している。
【0012】
依然として図1を参照すると、左上には、(破線の太線で示されている)4×4サンプルの正方形ブロック(104)が示されている。正方形ブロック(104)は、16個のサンプルを含み、各サンプルは、「S」、Y次元におけるその位置(例えば、行インデックス)およびX次元におけるその位置(例えば、列インデックス)でラベル付けされている。例えば、サンプルS21は、Y次元における(上から)第2のサンプルおよびX次元における(左から)第1のサンプルである。同様に、サンプルS44は、Y次元およびX次元の両方においてブロック(104)における第4のサンプルである。ブロックのサイズは4×4サンプルであるので、S44は右下にある。更に示されているのは、同様の番号付けスキームに従う参照サンプル(reference sample)を示している。参照サンプルは、R、ブロック(104)に対するそのY位置(例えば、行インデックス)およびX位置(列インデックス)でラベル付けされている。H.264およびH.265の両方において、予測サンプルは、再構成下のブロックに隣接しており、従って、負の値を使用する必要はない。
【0013】
イントラピクチャ予測は、信号伝達される(signaled)予測方向によって必要に応じて、隣接するサンプルから参照サンプル値をコピーすることによって機能する。例えば、コーディングされたビデオビットストリームは、このブロックについて、矢印(102)と一致する予測方向を示す信号伝達(signaling)を含む、すなわち、サンプルは、水平から45度の角度で、予測サンプルまたは複数のサンプルから右上に予測されると仮定する。その場合、サンプルS41、S32、S23、およびS14は、同じ参照サンプルR05から予測される。次に、サンプルS44は、参照サンプルR08から予測される。
【0014】
特定の場合において、特に方向が45度で均一に割ることができない場合には、複数の参照サンプルの値は、参照サンプルを計算するために、例えば、内挿(interpolation)を通じて組み合わされてよい。
【0015】
ビデオコーディング技術が発展するのに応じて、可能な方向の数が増加している。H.264(2003年)では、9個の異なる方向を表すことができた。それは、H.265(2013年)に33個に増加し、JEM/VVC/BMSは、開示時に、最大65個の方向をサポートできる。最も可能性の高い方向を識別する実験が行われ、エントロピーコーディングにおける特定の技法が、より可能性の低い方向についての特定のペナルティを受け入れて、少数のビットでそれらの可能性のある方向を表すために使用される。更に、それらの方向自体は、時折、隣接する既に復号化されたブロックで使用される隣接方向から予測されることができる。
【0016】
図2は、時間の経過に亘って増加する数の予測方向を示すためにJEMに従って65個のイントラ予測方向を示す概略図(201)を示している。
【0017】
方向を表すコーディングされたビデオビットストリームにおけるイントラ予測方向ビットのマッピングは、ビデオコーディング技術毎に異なることができ、例えば、予測方向の単純な直接マッピングから、イントラ予測モード、符号語、最も起こりそうなモードを含む複雑な適応スキーム、および類似の技法に及ぶことができる。しかしながら、全ての場合において、ビデオコンテンツにおいて、特定の他の方向よりも統計的に起こる可能性がより低い特定の方向が存在し得る。ビデオ圧縮の目標は、冗長性の低減であるので、より可能性の低い方向は、良好に動作するビデオコーディング技術において、より可能性の高い方向よりもより多くのビット数によって表される。
【発明の概要】
【0018】
本開示の態様は、ビデオ符号化(encoding)/復号化(decoding)のための方法および装置を提供する。幾つかの例において、ビデオ復号化のための装置は、受信回路構成と、処理回路構成とを含む。
【0019】
ビデオデコーダにおいて実行されるビデオ復号化の方法が提供される。コーディングされたビデオビットストリームから現在のブロックおよび現在のブロックの隣接ブロックのコーディングされた情報を受信することができる。コーディングされた情報中の現在のブロックと関連付けられる第1の情報を取得することができる。第1の情報は、現在のブロックが、現在のブロックのイントラ予測モードを隣接ブロックに基づいて導出するデコーダ側イントラモード導出(DIMD)に基づいてイントラ予測されるかどうかを示すことができる。コーディングされた情報中の現在のブロックと関連付けられる第2の情報を取得することができる。第2の情報は、現在のブロックが、イントラサブパーティション(ISP)モードに基づいて区切られるかどうかを示すことができる。(i)現在のブロックがDIMDに基づいてイントラ予測されることを示す第1の情報および(ii)隣接ブロック中の現在のブロックの上隣接ブロックまたは左隣接ブロックがISPモードに基づいて区切られることを示す第2の情報のうちの1つに応答して、コンテキストモデルインデックス(context model index)を決定することができる。少なくともコンテキストモデルインデックスに基づいてコーディングされたビデオストリームから現在のブロックを復号化することができる。
【0020】
幾つかの実施形態では、現在のブロックがDIMDに基づいてイントラ予測されることを示す第1の情報に応答して、第2の情報を復号化することができる。更に、現在のブロックがISPモードに基づいて区切られることを示す第2の情報に応答して、ISPモードと関連付けられる構文要素を復号化することができる。
【0021】
本方法において、(i)第1の情報および(ii)第2の情報のうちの1つに応答してコンテキストモデルを決定することは、現在のブロックがDIMDに基づいてイントラ予測されることを示す第1の情報に応答して実行される。現在のブロックがDIMDに基づいてイントラ予測されないことを示す第1の情報に応答して、現在のブロックと関連付けられる第3の情報をコーディングされた情報において取得することができる。第3の情報は、現在のブロックが、候補イントラ予測モードのセットを含むテンプレートベースのイントラモード導出(TIMD)に基づいてイントラ予測されるかどうかを示すことができる。(i)現在のブロックがTIMDに基づいてイントラ予測されることを示す第3の情報、および(ii)隣接ブロック中の現在のブロックの上隣接ブロックまたは左隣接ブロックがISPモードに基づいて区切られることを示す第2の情報のうちの1つに応答して、コンテキストモデルインデックスを決定することができる。
【0022】
幾つかの実施形態において、現在のブロックがTIMDに基づいてイントラ予測されることを示す第3の情報に応答して、第2の情報を復号化することができる。従って、現在のブロックがISPモードに基づいて区切られることを示す第3の情報に応答して、ISPモードと関連付けられる構文要素を復号化することができる。
【0023】
本方法では、現在のブロックがISPモードに基づいて区切られないことを示す第2の情報に応答して、別のイントラコーディングモードと関連付けられる構文要素を復号化することができる。別のイントラコーディングモードは、行列ベースのイントラ予測(MIP)、多重参照リーエンイントラ予測(MRL)、および最確モード(MPM)のうちの1つを含むことができる。
【0024】
幾つかの実施形態では、現在のブロックがDIMDに基づいてイントラ予測されることを示す第1の情報に応答して、コンテキストモデルインデックスが1であると決定することができる。現在のブロックがDIMDに基づいてイントラ予測されないことを示す第1の情報に応答して、コンテキストモデルインデックスがゼロであると決定することができる。
【0025】
幾つかの実施形態では、コンテキストモデルインデックスをコンテキストベースの適応バイナリ算術コーディング(CABAC)において使用することができる。
【0026】
幾つかの実施形態では、現在のブロックがTIMDに基づいてイントラ予測されることを示す第3の情報に応答して、コンテキストモデルインデックスが1であると決定することができる。現在のブロックがTIMDに基づいてイントラ予測されないことを示す第3の情報に応答して、コンテキストモデルインデックスがゼロである決定することができる。
【0027】
本開示の別の態様によれば、ビデオデコーダにおいて実行されるビデオ復号化の方法が提供される。本方法では、コーディングされたビデオビットストリームから現在のブロックおよび現在のブロックの隣接ブロックのコーディングされた情報を受信することができる。コーディングされた情報中の現在のブロックと関連付けられる第1の情報を復号化することができる。第1の情報は、現在のブロックが、現在のブロックのイントラ予測モードを隣接ブロックに基づいて導出するデコーダ側イントラモード導出(DIMD)に基づいてイントラ予測されるかどうかを示すことができる。現在のブロックがDIMDに基づいてイントラ予測されることを示す第1の情報に応答して、DIMDに基づいて第1のイントラ予測モードを決定することができる。加えて、コーディングされた情報に含められ且つ最確モード(MPM)およびMPM剰余に関連付けられる構文要素に基づいて、第2のイントラ予測モードを決定することができる。
【0028】
本方法では、現在のブロックがDIMDに基づいてイントラ予測されることを示す第1の情報に応答して、コーディングされた情報中の現在のブロックと関連付けられる第2の情報を復号化することができる。第2の情報は、現在のブロックがイントラサブパーティション(ISP)モードに基づいて区切られるかどうかを示すことができる。現在のブロックがISPモードに基づいて区切られることを示す第2の情報に応答して、ISPモードと関連付けられる構文要素を復号化することができる。
【0029】
本方法では、現在のブロックがISPモードに基づいて区切られないことを示す第2の情報に応答して、別のイントラコーディングモードと関連付けられる構文要素を復号化することができる。別のイントラコーディングモードは、行列ベースのイントラ予測(MIP)、多重参照リーエンイントラ予測(MRL)、および最確モード(MPM)のうちの1つを含む。
【0030】
本方法では、第1のイントラ予測モードに基づいて第1のイントラ予測子を決定することができる。第2のイントラ予測モードに基づいて第2のイントラ予測子を決定することができる。第1のイントラ予測子および第2のイントラ予測子に基づいて最終のイントラ予測子を決定することができる。
【0031】
幾つかの実施形態において、最終のイントラ予測子は、(i)第1の重量と第1のイントラ予測子との積、および(ii)第2の重量と第2のイントラ予測子との積の和に等しいと決定されることができる。第1の重量は、第2の重量以上であることができ、第1の重量と第2の重量との和は、1に等しいことができる。
【0032】
幾つかの実施形態において、最終のイントラ予測子は、(i)第1の重量と第1のイントラ予測子との積、(ii)第2の重量と第2のイントラ予測子との積、および(iii)プレーナモードに基づく第3の重量とイントラ予測子との積の和に等しいと決定されることができる。第1の重量は、第2の重量以上であることができ、第1の重量、第2の重量、および第3の重量の和は、1に等しいことができる。
【0033】
本開示の別の態様によれば、装置が提供される。装置は、処理回路構成を有する。処理回路構成は、ビデオコーディングのための方法のうちのいずれかを実行するように構成されることができる。
【0034】
本開示の態様は、ビデオ復号化のためにコンピュータによって実行されるときに、コンピュータがビデオ復号化のための方法のうちのいずれかを実行させる命令を格納する、非一時的なコンピュータ読取可能媒体も提供する。
【0035】
開示される主題のさらなる構成、性質、および様々な利点は、以下の詳細な記述および添付の図面からより明らかになるであろう。
【図面の簡単な説明】
【0036】
図1】イントラ予測モードの例示的なサブセットの概略図である。
【0037】
図2】例示的なイントラ予測方向の図である。
【0038】
図3】一実施形態による通信システム(300)の単純化されたブロック図の概略図である。
【0039】
図4】一実施形態による通信システム(400)の単純化されたブロック図の概略図である。
【0040】
図5】一実施形態によるデコーダの単純化されたブロック図の概略図である。
【0041】
図6】一実施形態によるエンコーダの単純化されたブロック図の概略図である。
【0042】
図7】別の実施形態によるエンコーダのブロック図を示している。
【0043】
図8】別の実施形態によるデコーダのブロック図を示している。
【0044】
図9】一実施形態によるテンプレートベースのイントラモード導出(TIMD:template-based intra mode derivation)の概略図である。
【0045】
図10】本開示の幾つかの実施形態による第1の例示的な復号化プロセスの概要を示すフローチャートを示している。
【0046】
図11】本開示の幾つかの実施形態による第2の例示的な復号化プロセスの概要を示すフローチャートを示している。
【0047】
図12】本開示の幾つかの実施形態による第1の例示的な符号化プロセスの概要を示すフローチャートを示している。
【0048】
図13】本開示の幾つかの実施形態による第2の例示的な符号化プロセスの概要を示すフローチャートを示している。
【0049】
図14】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0050】
図3は、本開示の一実施形態による通信システム(300)の単純化されたブロック図を示している。通信システム(300)は、例えば、ネットワーク(350)を介して、互いに通信することができる複数の端末デバイスを含む。例えば、通信システム(300)は、ネットワーク(350)を介して相互接続された第1のペアの端末デバイス(310)および(320)を含む。図3の例において、第1のペアの端末デバイス(310)および(320)は、データの一方向送信を行う。例えば、端末デバイス(310)は、ネットワーク(350)を介して他の端末デバイス(320)に送信するために、ビデオデータ(例えば、端末デバイス(310)によって取り込まれるビデオピクチャのストリーム)をコーディングすることがある。符号化されたビデオデータは、1つ以上のコーディングされたビデオビットストリームの形態で送信されることができる。端末デバイス(320)は、ネットワーク(350)からコーディングされたビデオデータを受信し、コーディングされたビデオデータを復号化して、ビデオピクチャを復元し(recover)、復元したビデオデータに従ってビデオピクチャを表示することがある。一方向性データ送信は、媒体提供アプリケーション等において一般的なことがある。
【0051】
別の例において、通信システム(300)は、例えば、ビデオ会議中に発生することがあるコーディングされたビデオデータの双方向伝送を行う第2のペアの端末デバイス(330)および(340)を含む。データの双方向送信のために、一例において、端末デバイス(330)および(340)の各端末デバイスは、ネットワーク(350)を介して端末デバイス(330)および(340)の他方の端末デバイスへの送信のために、ビデオデータ(例えば、端末デバイスによって取り込まれるビデオピクチャのストリーム)をコーディングしてよい。端末デバイス(330)および(340)の各端末デバイスは、端末デバイス(330)および(340)の他方の端末デバイスによって送信されるコーディングされたビデオデータを受信してもよく、コーディングされたビデオデータを復号化して、ビデオピクチャを復元し、復元されたビデオデータに従ってアクセス可能なディスプレイデバイスにビデオピクチャを表示してよい。
【0052】
図3の例において、端末デバイス(310)、(320)、(330)および(340)は、サーバ、パーソナルコンピュータおよびスマートフォンとして図示されることがあるが、本開示の原理は、それらに限定されない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤおよび/または専用ビデオ会議機器との適用を見出す。ネットワーク(350)は、例えば、有線および/または無線通信ネットワークを含む、端末デバイス(310)、(320)、(330)および(340)間でコーディングされたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(350)は、回線交換および/またはパケット交換チャネル内のデータを交換することがある。代表的なネットワークは、通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワークおよび/またはインターネットを含む。本議論の目的のために、ネットワーク(350)のアーキテクチャおよびトポロジー(topology)は、以下に説明されない限り、本開示の動作には重要でないことがある。
【0053】
図4は、開示される主題の適用についての一例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置を示している。開示される主題は、例えば、ビデオ会議、デジタルTV、CD、DVD、メモリスティック、および同等物を含むデジタル媒体上の圧縮ビデオの格納などを含む、他のビデオ対応(video enabled)アプリケーションに等しく適用可能であり得る。
【0054】
ストリーミングシステムは、キャプチャサブシステム(413)を含んでよく、キャプチャサブシステム(413)は、例えば、圧縮されないビデオピクチャのストリーム(402)を生成する、ビデオソース(401)、例えば、デジタルカメラを含むことができる。一例において、ビデオピクチャのストリーム(402)は、デジタルカメラによって撮られるサンプルを含む。符号化されたビデオデータ(404)(またはコーディングされたビデオビットストリーム)と比較されるときの高いデータボリュームを強調するために太線として描かれたビデオピクチャのストリーム(402)は、ビデオソース(401)に結合されたビデオエンコーダ(403)を含む電子デバイス(420)によって処理されることができる。ビデオエンコーダ(403)は、以下により詳細に記載されるような開示される主題の態様を可能にするか或いは実装するよう、ハードウェア、ソフトウェア、またはそれらの組み合わせを含むことができる。ビデオピクチャのストリーム(402)と比較されるときのより低いデータボリュームを強調するために細線として描かれた、符号化されたビデオデータ(404)(または符号化されたビデオビットストリーム(404))は、将来の使用のためにストリーミングサーバ(405)に格納されることができる。図4のクライアントサブシステム(406)および(408)のような、1つ以上のストリーミングクライアントサブシステムは、ストリーミングサーバ(405)にアクセスして、符号化されたビデオデータ(404)のコピー(407)および(409)を取り出す(retrieve)ことができる。クライアントサブシステム(406)は、例えば、電子デバイス(430)内にビデオデコーダ(410)を含むことができる。ビデオデコーダ(410)は、符号化されたビデオデータの入って来るコピー(407)を復号化し、ディスプレイ(412)(例えば、ディスプレイスクリーン)または他のレンダリングデバイス(図示せず)にレンダリングされることができるビデオピクチャの出て行くストリーム(411)を生成する。幾つかのストリーミングシステムにおいて、符号化されたビデオデータ(404)、(407)、および(409)(例えば、ビデオビットストリーム)は、特定のビデオコーディング/圧縮標準に従って符号化されることができる。それらの標準の例は、ITU-T推奨H.265を含む。一例において、開発下のビデオコーディング標準は、汎用ビデオコーディング(VVC:Versatile Video
Coding)として非公式に知られている。開示される主題は、VVCの文脈において使用されることがある。
【0055】
電子デバイス(420)および(430)は、他のコンポーネント(図示せず)を含むことができることに留意されたい。例えば、電子デバイス(420)は、ビデオデコーダ(図示せず)を含むことができ、電子デバイス(430)は、ビデオエンコーダ(図示せず)も含むことができる。
【0056】
図5は、本開示の一実施形態によるビデオデコーダ(510)のブロック図を示している。ビデオデコーダ(510)は、電子デバイス(530)に含まれることができる。電子デバイス(530)は、受信機(531)(例えば、受信回路構成)を含むことができる。ビデオデコーダ(510)は、図4の例におけるビデオデコーダ(410)の代わりに使用されることができる。
【0057】
受信機(531)は、ビデオデコーダ(510)によって復号化されるべき1つ以上のコーディングされたビデオシーケンスを受信することがあり、同じまたは別の実施形態では、一度に1つのコーディングされたビデオシーケンスを受信することがあり、各々のコーディングされたビデオシーケンスの復号化は、他のコーディングされたビデオシーケンスから独立している。コーディングされたビデオシーケンスは、チャネル(501)から受信されてよく、チャネルは、コーディングされたビデオデータを格納する記憶デバイスへのハードウェア/ソフトウェアリンクであってよい。受信機(531)は、コーディングされたビデオデータを、他のデータ、例えば、コーディングされたオーディオデータおよび/または補助的なデータストリームと共に受信することがあり、これらは、それぞれの使用エンティティ(図示せず)に転送されてよい。受信機(531)は、コーディングされたビデオシーケンスを他のデータから分離することがある。ネットワークジッタ(jitter)と闘うために、バッファメモリ(515)が、受信機(531)とエントロピーデコーダ/パーサ(520)(以下「パーサ(520)」)との間に結合されてよい。特定の用途において、バッファメモリ(515)は、ビデオデコーダ(510)の一部である。他の用途において、それはビデオデコーダ(510)の外側にあることができる(図示せず)。更に別の用途では、例えばネットワークジッタと闘うために、ビデオデコーダ(510)の外側にバッファメモリ(図示せず)があることができ、加えて、例えば、再生タイミングを取り扱うために、ビデオデコーダ(510)の内側に別のバッファメモリ(515)があることができる。受信機(531)が、十分な帯域幅および制御可能性を有するストア/フォワードデバイスから或いは同期ネットワークからデータを受信しているとき、バッファメモリ(515)は、必要とされないことがあるか、或いは小さくあり得る。インターネットのようなベストエフォート(best effort)パケットネットワークでの使用のために、バッファメモリ(515)は、必要とされることがあり、比較的大きいことができ、有利に適応サイズであることができ、ビデオデコーダ(510)の外側のオペレーティングシステムまたは類似の要素(図示せず)内に少なくとも部分的に実装されることがある。
【0058】
ビデオデコーダ(510)は、コーディングされたビデオシーケンスからシンボル(symbols)(521)を再構成するパーサ(520)を含んでよい。それらのシンボルのカテゴリは、ビデオデコーダ(510)の動作を管理するために使用される情報と、電子デバイス(530)の不可欠な部分ではないが、図5に示したように、電子デバイス(530)に結合されることができる、レンダリングデバイス(512)(例えば、ディスプレイスクリーン)のようなレンダリングデバイスを制御する潜在的な情報とを含む。レンダリングデバイスのための制御情報は、補足拡張情報(SEI(Supplemental Enhancement Information)メッセージ)またはビデオユーザビリティ情報(VUI(Video Usability Information))パラメータセットフラグメント(図示せず)の形態にあってよい。パーサ(520)は、受信されるコーディングされたビデオシーケンスを構文解析/エントロピー復号化することがある。コーディングされたビデオシーケンスのコーディングは、ビデオコーディング技術または標準に従うことができ、可変長コーディング、ハフマンコーディング、コンテキスト感度を伴うまたは伴わない算術コーディングなどを含む、様々な原理に従うことができる。パーサ(520)は、グループに対応する少なくとも1つのパラメータに基づいて、ビデオデコーダ内のピクセルのサブグループのうちの少なくとも1つについてのサブグループパラメータのセットを、コーディングされたビデオシーケンスから抽出することができる。サブグループは、ピクチャのグループ(GOP:Groups of Pictures)、ピクチャ、タイル、スライス、マクロブロック、コーディング単位(CU:Coding Units)、ブロック、変換単位(TU:Transform Units)、予測単位(PU:Prediction Units)などが含む。パーサ(520)は、変換係数、量子化パラメータ値、運動ベクトルなどのような情報を、コーディングされたビデオシーケンスから抽出してもよい。
【0059】
パーサ(520)は、シンボル(521)を生成するために、バッファメモリ(515)から受信されるビデオシーケンスでエントロピー復号化/構文解析動作を行ってよい。
【0060】
シンボル(521)の再構成は、(例えば、インターピクチャおよびイントラピクチャ、インターブロックおよびイントラブロックのような)コーディングされたビデオピクチャまたはその部分のタイプ、並びに他の要因に依存して、複数の異なるユニットを含むことができる。どのユニットが含まれるか、どのように含まれるかは、パーサ(520)によってコーディングされたビデオシーケンスから構文解析されたサブグループ制御情報によって制御されることができる。パーサ(520)と以下の複数ユニットとの間のそのようなサブグループ制御情報の流れは、明確性のために図示されていない。
【0061】
既に述べた機能ブロックの他に、ビデオデコーダ(510)は、以下に記載するように、幾つかの機能ユニットに概念的に細分されることができる。商業的制約の下で作動する実用的な実装において、これらのユニットの多くは、互いに密接に相互作用し、少なくとも部分的には、互いに統合されることができる。しかしながら、開示される主題を記載する目的のためには、以下の機能単位に概念的に細分することが適切である。
【0062】
第1のユニットは、スケーラ(scaler)/逆変換ユニット(inverse transform unit)(551)である。スケーラ/逆変換ユニット(551)は、パーサ(520)からシンボル(521)として、どの変換を使用するか、ブロックサイズ、量子化係数、量子化スケーリング行列など含む、制御情報と共に、量子化された変換係数を受信する。スケーラ/逆変換ユニット(551)は、アグリゲータ(aggregator)(555)に入力することができるサンプル値を含むブロックを出力することができる。
【0063】
幾つかの場合において、スケーラ/逆変換(551)の出力サンプルは、イントラコーディングされたブロック、すなわち、以前に再構成されたピクチャからの予測情報を使用していないが、現在のピクチャの以前に再構成された部分からの予測情報を使用することができる、ブロックに関係することができる。そのような予測情報は、イントラピクチャ予測ユニット(552)によって提供されることができる。幾つかの場合において、イントラピクチャ予測ユニット(552)は、現在のピクチャバッファ(558)からフェッチされた(fetched)周囲の既に再構成された情報を使用して、再構成下の同じサイズおよび形状のブロックのブロックを生成する。現在のピクチャバッファ(558)は、例えば、部分的に再構成された現在のピクチャおよび/または完全に再構成された現在のピクチャをバッファする(buffers)。アグリゲータ(555)は、幾つかの場合において、サンプル毎ベースで、イントラ予測ユニット(552)が生成した予測情報を、スケーラ/逆変換ユニット(551)によって提供されるような出力サンプル情報に追加する。
【0064】
他の場合には、スケーラ/逆変換ユニット(551)の出力サンプルは、インターコーディングされ且つ潜在的に運動補償されたブロックに関係することができる。そのような場合には、運動補償予測ユニット(motion compensation prediction unit)(553)が、参照ピクチャメモリ(557)にアクセスして、予測のために使用されるサンプルをフェッチすることができる。ブロックに関連するシンボル(521)に従ってフェッチされたサンプルを補償する動きの後に、これらのサンプルは、出力サンプル情報を生成するために、アグリゲータ(555)によって(この場合には剰余サンプル(residual samples)または剰余信号(residual signal)と呼ぶ)スケーラ/逆変換ユニット(551)の出力に追加されることができる。運動補償予測ユニット(553)が予測サンプルをフェッチする、参照ピクチャメモリ(557)内のアドレスは、例えば、X、Y、および参照ピクチャコンポーネントを有することができるシンボル(521)の形態で運動補償予測ユニット(553)に利用可能な、運動ベクトルによって制御されることができる。運動補償は、サブサンプルの正確な運動ベクトルが使用されているときに参照ピクチャメモリ(557)からフェッチされるようなサンプル値の補間、運動ベクトル予測メカニズムなどを含むこともできる。
【0065】
アグリゲータ(555)の出力サンプルは、ループフィルタユニット(556)内で様々なループフィルタリング技術を受けることができる。ビデオ圧縮技術は、(コーディングされたビデオビットストリームとも呼ばれる)コーディングされたビデオシーケンスに含まれるパラメータによって制御され、パーサ(520)からシンボル(521)としてループフィルタユニット(556)に利用可能にされるが、コーディングされたピクチャまたはコーディングされたビデオシーケンスの(復号化順において)前の部分の復号化の間に得られたメタ情報に応答することができる、並びに以前に再構成されループフィルタリングされたサンプル値に応答することができる、ループ内フィルタ(in-loop filter)技術を含むことができる。
【0066】
ループフィルタユニット(556)の出力は、レンダリングデバイス(512)に出力されることができる、並びに将来のインターピクチャ予測における使用のために参照ピクチャメモリ(557)中に格納されることができる、サンプルストリームであることができる。
【0067】
特定のコーディングされた画像は、ひとたび完全に再構成されると、将来の予測のための参考ピクチャとして使用されることができる。例えば、現在のピクチャに対応するコーディングされたピクチャがひとたび完全に再構成され、コーディングされたピクチャが(例えば、パーサ(520)によって)参照ピクチャとして識別されると、現在のピクチャバッファ(558)は、参照ピクチャメモリ(557)の一部となることができ、新鮮な現在のピクチャバッファは、後続のコーディングされたピクチャの再構成を開始する前に再割当されることができる。
【0068】
ビデオデコーダ(510)は、ITU-T Rec.H.265のような、標準中の所定のビデオ圧縮技術に従って、復号化動作を行うことがある。コーディングされたビデオシーケンスは、コーディングされたビデオシーケンスが、ビデオ圧縮技術または標準の構文およびビデオ圧縮技術または標準中に文書化されるようなプロファイルの両方に従うという意味で、使用されているビデオ圧縮技術または標準によって指定される構文に適合することがある。具体的には、プロファイルは、特定のツールを、そのプロファイルの下での使用のために利用可能な唯一のツールとして、ビデオ圧縮技術または標準で利用可能な全てのツールから選択することができる。また、コンプライアンスのために必要なことは、コーディングされたビデオシーケンスの複雑さが、ビデオ圧縮技術または標準のレベルによって定義される範囲内にあることである。幾つかの場合において、レベルは、最大ピクチャサイズ、最大フレームレート、(例えば、毎秒メガサンプルで測定される)最大再構成サンプルレート、最大参照ピクチャサイズ等を制約する。レベルによって設定された制限値は、幾つかの場合には、コーディングされたビデオシーケンスで信号伝達される仮想参照デコーダ(HRD:Hypothetical Reference Decoder)バッファ管理のためのHRD仕様およびメタデータを通じて更に制限されることができる。
【0069】
一実施形態において、受信機(531)は、コーディングされたビデオと共に追加の(冗長な)データを受信することがある。追加データは、コーディングされたビデオシーケンスの一部として含まれることがある。追加のデータは、データを適切に復号化するために、および/または元のビデオデータをより正確に再構成するために、ビデオデコーダ(510)によって使用されることがある。追加のデータは、例えば、時間的、空間的、または信号雑音比(SNR:signal noise ratio)強化層、冗長スライス、冗長ピクチャ、前方エラー補正コード等の形態にあることができる。
【0070】
図6は、本開示の一実施形態によるビデオエンコーダ(603)のブロック図を示している。ビデオエンコーダ(603)は、電子デバイス(620)に含まれる。電子デバイス(620)は、送信機(640)(例えば、送信回路構成)を含む。ビデオエンコーダ(603)は、図4の例におけるビデオエンコーダ(403)の代わりに使用されることができる。
【0071】
ビデオエンコーダ(603)は、ビデオエンコーダ(603)によってコーディングされるべきビデオ画像を取り込むことができる(図6の例では電子デバイス(620)の一部ではない)ビデオソース(601)からビデオサンプルを受信することができる。別の例において、ビデオソース(601)は、電子デバイス(620)の一部である。
【0072】
ビデオソース(601)は、任意の適切なビット深さ(例えば、8ビット、10ビット、12ビット、...)、任意の色空間(例えば、BT.601 Y CrCB、RGB、...)、および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であることができる、デジタルビデオサンプルストリームの形態で、ビデオエンコーダ(603)によってコーディングされるべき、ソースビデオシーケンスを提供することがある。メディア提供(media serving)システムにおいて、ビデオソース(601)は、事前に準備されたビデオを格納する記憶デバイスであってよい。ビデオ会議システムにおいて、ビデオソース(601)は、ローカル画像情報をビデオシーケンスとして取り込むカメラであってよい。ビデオデータは、シーケンスで見られるときに動きを伝える複数の個々のピクチャとして提供されてよい。ピクチャ自体は、ピクセルの空間アレイとして組織化されてよく、各ピクセルは、使用中のサンプリング構造、色空間等に依存して、1つ以上のサンプルを含むことができる。当業者は、ピクセルとサンプルとの間の関係を容易に理解することができる。以下の記述は、サンプルに焦点を当てている。
【0073】
一実施形態によれば、ビデオエンコーダ(603)は、ソースビデオシーケンスのピクチャを、リアルタイムで或いはアプリケーションによって要求されるような任意の他の時間制約の下で、コーディングされたビデオシーケンス(643)にコーディングおよび圧縮することがある。適切なコーディング速度を実現することは、コントローラ(650)の1つの機能である。幾つかの実施形態において、コントローラ(650)は、以下に記載されるように他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。カップリングは、明確性のために示されていない。コントローラ(650)によって設定されるパラメータは、レート制御に関連するパラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、...)、ピクチャサイズ、ピクチャグループ(GOP:group of pictures)レイアウト、最大運動ベクトル探索範囲等を含むことができる。コントローラ(650)は、特定のシステム設計のために最適化されたビデオエンコーダ(603)に関する他の適切な機能を有するように構成されることができる。
【0074】
幾つかの実施形態において、ビデオエンコーダ(603)は、コーディングループで動作するように構成される。過剰に単純化された説明として、一例において、コーディングループは、(コーディングされるべき入力ピクチャおよび参照ピクチャに基づいて、シンボルストリームのような、シンボルを生成する責任を負う)ソースコーダ(source coder)(630)と、ビデオエンコーダ(603)に埋め込まれた(ローカル)デコーダ(633)とを含むことができる。デコーダ(633)は、シンボルを再構成して、(シンボルとコーディングされたビデオビットストリームとの間の如何なる任圧縮も、開示される主題において考慮されるビデオ圧縮技術において無損失であるように)(リモート)デコーダが生成すると同様の方法でサンプルデータを生成する。再構成されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(634)に入力される。シンボルストリームの復号化は、デコーダ場所(ローカルまたはリモート)から独立したビット正確(bit-exact)な結果をもたらすので、参照ピクチャメモリ(634)中のコンテンツも、ローカルエンコーダとリモートエンコーダとの間でビット正確である。換言すれば、エンコーダの予測部は、デコーダが復号化中に予測を使用するときに「見る」のと全く同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャ同期性のこの基本原理(および、例えば、チャネルエラーの故に同期性を維持できないならば、結果として生じるドリフト)は、幾つかの関連技術においても使用される。
【0075】
「ローカル」デコーダ(633)の動作は、図5に関連して上記で既に詳述したビデオデコーダ(510)のような「リモート」デコーダと同じであることができる。しかしながら、図5も簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(645)およびパーサ(520)によるコーディングされたビデオシーケンスへのシンボルの符号化/復号化は無損失であることができるので、バッファメモリ(515)およびパーサ(520)を含むビデオデコーダ(510)のエントロピー復号化部は、ローカルデコーダ(633)において完全に実装されないことがある。
【0076】
この時点で行うことができる観察は、デコーダ内に存在する構文解析/エントロピー復号化を除く如何なるデコーダ技術も、対応するエンコーダ内に実質的に同一の機能的形態で存在する必要が必然的にあることである。この理由のために、開示される主題は、デコーダ動作に焦点を当てる。エンコーダ技術の記述は、網羅的に記載されるデコーダ技術の逆であるため、省略されることができる。特定の分野においてのみ、より詳細な記述が必要とされ、以下に提供される。
【0077】
動作中、幾つかの例において、ソースコーダ(630)は、「参照ピクチャ」として指定されたビデオシーケンスからの1つ以上の以前にコーディングされたピクチャを参照して入力ピクチャを予測的にコーディングする動き補償された予測コーディングを行ってよい。このようにして、コーディングエンジン(632)は、入力ピクチャのピクセルブロックと入力ピクチャに対する予測参照として選択されることがある参照ピクチャのピクセルブロックとの間の差をコーディングする。
【0078】
ローカルビデオデコーダ(633)は、ソースコーダ(630)によって生成されるシンボルに基づいて、参照ピクチャとして指定されることがあるピクチャのコーディングされたビデオデータを復号化することがある。コーディングエンジン(632)の動作は、有利には、損失プロセスであってよい。コーディングされたビデオデータが(図6に示されない)ビデオデコーダで復号化されることがあるとき、再構成されたビデオシーケンスは、典型的には、幾つかのエラーを伴うソースビデオシーケンスのレプリカであることがある。ローカルビデオデコーダ(633)は、参照ピクチャ上でビデオデコーダによって実行されることがあり、再構成された参照ピクチャを参照ピクチャキャッシュ(634)内に格納させることがある、復号化処理を複製する(replicates)。このようにして、ビデオエンコーダ(603)は、(送信エラーのない)遠端ビデオデコーダ(far-end video decoder)によって得られる再構成された参照ピクチャと共通のコンテンツを有する再構成された参照ピクチャのコピーを、ローカルに格納することがある。
【0079】
予測子(635)は、コーディングエンジン(632)について予測探索を行うことがある。すなわち、コーディングされるべき新しいピクチャのために、予測子(635)は、新しい画像についての適切な予測参照として役立つことがある、(候補参照ピクセルブロックのような)サンプルデータ、または参照ピクチャ運動ベクトル、ブロック形状等のような特定のメタデータについて、参照ピクチャメモリ(634)を検索することがある。予測子(635)は、適切な予測参照を見出すために、サンプルブロック対ピクセルブロックベース(sample block-by-pixel block basis)で動作し得る。幾つかの場合には、予測子(635)によって得られた検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(634)に格納された複数の参照ピクチャから引き出された予測参照を有することがある。
【0080】
コントローラ(650)は、例えば、ビデオデータを符号化するために使用されるパラメータおよびサブグループパラメータの設定を含む、ソースコーダ(630)のコーディング動作を管理することがある。
【0081】
全ての前述の機能ユニットの出力は、エントロピーコーダ(645)においてエントロピーコーディングを受けることがある。エントロピーコーダ(645)は、ハフマンコーディング、可変長コーディング、算術コーディング等のような技術に従って、シンボルを無損失圧縮することによって、様々な機能ユニットによって生成されるようなシンボルを、コーディングされたビデオシーケンスに変換する。
【0082】
送信機(640)は、エントロピーコーダ(645)によって生成されるようなコーディングされたビデオシーケンスをバッファして、通信チャネル(660)を介した送信の準備を行ってよく、通信チャネル(660)は、コーディングされたビデオデータを格納する記憶デバイスへのハードウェア/ソフトウェアリンクであってよい。送信機(640)は、ビデオコーダ(603)からのコーディングされたビデオデータを、送信されるべき他のデータ、例えば、コーディングされたオーディオデータおよび/または補助データストリーム(ソースは示されていない)とマージすることがある。
【0083】
コントローラ(650)は、ビデオエンコーダ(603)の動作を管理することがある。コーディング中、コントローラ(650)は、各々のコーディングされたピクチャに、それぞれのピクチャに適用されることがあるコーディング技法に影響を及ぼすことがある、特定のコーディングされたピクチャタイプを割り当てることがある。例えば、ピクチャは、しばしば、次のピクチャタイプの1つとして割り当てられることがある。
【0084】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の如何なる他のピクチャも使用しないでコーディングされ且つ復号化されるものであってよい。幾つかのビデオコーデックは、例えば、独立デコーダリフレッシュ(Independent Decoder Refresh)(「IDR」)ピクチャを含む、異なるタイプのイントラピクチャを許容する。当業者は、Iピクチャのそれらの変形並びにそれらのそれぞれの用途および構成を知っている。
【0085】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために最大で1つの運動ベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用してコーディングされ且つ復号化されることがあるものである場合がある。
【0086】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために最大で2つの運動ベクトルと参照インデックスを使用するイントラ予測またはインター予測を使用してコーディングされ且つ復号化されることがあるものである場合がある。同様に、複数の予測ピクチャは、単一ブロックの再構成のために2つよりも多くの参照ピクチャおよび関連するメタデータを使用することができる。
【0087】
ソースピクチャは、通常、複数のサンプルブロック(例えば、4×4、8×8、4×8、または16×16サンプル毎のブロック)に空間的に細分され、ブロック毎にコーディングされる。ブロックは、ブロックのそれぞれのピクチャに適用されるコーディング割当によって決定されるような他の(既にコーディングされた)ブロックを参照して予測的にコーディングされてよい。例えば、Iピクチャのブロックは、非予測的にコーディングされてよく、或いは、それらは、同じピクチャの既にコーディングされたブロック(空間予測またはイントラ予測)を参照して予測的にコーディングされてよい。Pピクチャのピクセルブロックは、1つの以前にコーディングされた参照ピクチャを参照した空間的予測または時間的予測を介して予測的にコーディングされてよい。Bピクチャのブロックは、1つまたは2つの以前にコーディングされた参照ピクチャを参照した空間的予測を介して或いは時間的予測を介して予測的にコーディングされてよい。
【0088】
ビデオエンコーダ(603)は、ITU-T Rec.H.265.のような、所定のビデオコーディング技術または標準に従って、コーディング動作を実行することがある。その動作において、ビデオエンコーダ(603)は、入力ビデオシーケンスにおける時間的および空間的冗長性を利用する予測コーディング動作を含む、様々な圧縮動作を行うことがある。従って、コーディングされたビデオデータは、使用されているビデオコーディング技術または標準によって指定された構文に適合することがある。
【0089】
一実施形態において、送信機(640)は、コーディングされたビデオと共に追加的なデータを送信することがある。ソースコーダ(630)は、コーディングされたビデオシーケンスの一部としてそのようなデータを含むことがある。追加的なデータは、時間的/空間的/SNR強調層、冗長ピクチャおよびスライス、SEIメッセージ、VUIパラメータセットフラグメント等のような他の形式の冗長データを含むことがある。
【0090】
ビデオは、時間シーケンスにおいて複数のソースピクチャ(ビデオピクチャ)として取り込まれることがある。(しばしばイントラ予測と略される)イントラピクチャ予測は、所与のピクチャにおける空間的相関を利用し、イントラピクチャ予測は、ピクチャ間の(時間的または他の)相関を利用する。一例において、現在のピクチャと呼ぶ符号化/復号化の下の特定のピクチャは、ブロックに区切られる(partitioned)。現在のピクチャ内のブロックが、ビデオ内の以前にコーディングされ且つ依然としてバッファされている参照ピクチャにおける参照ブロックに類似するとき、現在のピクチャ内のブロックは、運動ベクトルと呼ばれるベクトルによってコーディングされることができる。運動ベクトルは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用中である場合には、参照ピクチャを識別する第3の次元を有することができる。
【0091】
幾つかの実施形態では、インターピクチャ予測において双予測技法を使用することができる。二重予測技法によれば、ビデオ内の現在のピクチャに対する復号化順序において両方とも先行する(しかしながら、表示順序ではそれぞれ過去および将来であることがある)第1の参照ピクチャおよび第2の参照ピクチャのような、2つの参照ピクチャが使用される。現在のピクチャ内のブロックは、第1の参照ピクチャ内の第1の参照ブロックを指す第1の運動ベクトルと第2の参照ピクチャ内の第2の参照ブロックを指す第2の運動ベクトルとによってコーディングされることができる。ブロックは、第1の参照ブロックと第2の参照ブロックとの組み合わせによって予測されることができる。
【0092】
更に、コーディング効率を改善するために、インターピクチャ予測においてマージモード技法を使用することができる。
【0093】
本開示の幾つかの実施形態によれば、インターピクチャ予測およびイントラピクチャ予測のような予測は、ブロックの単位で実行される。例えば、HEVC標準によれば、ビデオピクチャのシーケンス中のピクチャは、圧縮のためにコーディングツリー単位(CTU:coding tree units)に区分され、ピクチャ中のCTUは、64×64ピクセル、32×32ピクセル、または16×16ピクセルのような、同じサイズを有する。一般に、CTUは、1つのルマ(luma)(輝度)CTBと2つのクロマ(彩度)(chroma)CTBである3つのコーディングツリーブロック(CTB:coding tree blocks)を含む。各CTUは、1つ以上のコーディング単位(CU:coding units)に再帰的に4分木分割される(quadtree split)ことができる。例えば、64×64ピクセルのCTUは、64×64ピクセルの1つのCU、32×32ピクセルの4つのCU、または16×16ピクセルの16個のCUに分割されることができる。一例において、各CUは、インター予測タイプまたはイントラ予測タイプのような、CUについての予測タイプを決定するために分析される。CUは、時間的および/または空間的予測可能性に依存して、1つ以上の予測単位(PU:prediction units)に分割される。一般に、各PUは、ルマ予測ブロック(PB:prediction block)と2つのクロマPBとを含む。一実施形態では、コーディング(符号化/復号化)における予測動作は、予測ブロックのユニットにおいて実行される。予測ブロックの一例としてルマ予測ブロックを用いると、予測ブロックは、8×8ピクセル、16×16ピクセル、8×16ピクセル、16×8ピクセル、および同等物のような、ピクセルについての値(例えば、ルマ値)の行列を含む。
【0094】
図7は、本開示の別の実施形態によるビデオエンコーダ(703)の図を示している。ビデオエンコーダ(703)は、ビデオピクチャのシーケンス内の現在のビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受信して、処理ブロックをコーディングされたビデオシーケンスの一部であるコーディングされたピクチャに符号化するように構成される。一例において、ビデオエンコーダ(703)は、図4の例におけるビデオエンコーダ(403)の代わりに使用される。
【0095】
HEVCの例において、ビデオエンコーダ(703)は、8×8サンプルの予測ブロックおよび同等物のような、処理ブロックについてのサンプル値の行列を受信する。ビデオエンコーダ(703)は、処理ブロックが、例えば、レート歪み最適化を使用して、イントラモード、インターモード、または双予測(bi-prediction)モードを使用して最良にコーディングされるかどうかを決定する。処理ブロックがイントラモードにおいてコーディングされるべきとき、ビデオエンコーダ(703)は、イントラ予測技法を使用して、処理ブロックをコーディングされたピクチャにコーディングしてよく、処理ブロックがインターモードまたは双予測モードにおいてコーディングされるべきとき、ビデオエンコーダ(703)は、インター予測または双予測技法をそれぞれ使用して、処理ブロックをコーディングされたピクチャにコーディングしてよい。特定のビデオコーディング技術では、マージモードは、運動ベクトルが予測子の外側のコーディングされた運動ベクトル成分の利益なしに1つ以上の運動ベクトル予測子から導出される、インターピクチャ予測サブモード(inter picture prediction submode)であることができる。特定の他のビデオコーディング技術では、対象ブロックに適用可能な運動ベクトル成分が存在してよい。一例において、ビデオエンコーダ(703)は、処理ブロックのモードを決定するモード決定モジュール(図示せず)のような、他のコンポーネントを含む。
【0096】
図7の例において、ビデオエンコーダ(703)は、図7に示すように互いに結合されたインターエンコーダ(730)、イントラエンコーダ(722)、剰余計算器(residue calculator)(723)、スイッチ(726)、剰余エンコーダ(residue encoder)(724)、汎用コントローラ(general controller)(721)、およびエントロピーエンコーダ(725)を含む。
【0097】
インターエンコーダ(730)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、そのブロックを参照ピクチャ内の1つ以上の参照ブロック(例えば、以前のピクチャおよび後のピクチャ内のブロック)と比較し、インター予測情報(例えば、インター符号化技術による冗長情報の記述、運動ベクトル、マージモード情報)を生成し、任意の適切な技法を使用してインター予測情報に基づいてインター予測結果(例えば、予測ブロック)を計算する、ように構成される。幾つかの例において、参照ピクチャは、符号化されたビデオ情報に基づいて復号化される復号化された参照ピクチャである。
【0098】
イントラエンコーダ(722)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、幾つかの場合には、そのブロックを同じピクチャにおいて既にコーディングされているブロックと比較し、変換後に量子化された係数を生成し、幾つかの場合には、イントラ予測情報(例えば、1つ以上のイントラ符号化技術に従ったイントラ予測方向情報)も生成する、ように構成される。一例において、イントラエンコーダ(722)は、同じピクチャ内のイントラ予測情報および参照ブロックに基づいてイントラ予測結果(例えば、予測ブロック)も計算する。
【0099】
汎用コントローラ(721)は、汎用制御データを決定して、汎用制御データに基づいてビデオエンコーダ(703)の他のコンポーネントを制御するように構成される。一例において、汎用コントローラ(721)は、ブロックのモードを決定し、そのモードに基づいてスイッチ(726)に制御信号を提供する。例えば、モードがイントラモードであるとき、汎用コントローラ(721)は、スイッチ(726)を制御して、剰余計算器(723)による使用のためのイントラモード結果を選択し、エントロピーエンコーダ(725)を制御して、イントラ予測情報を選択し、ビットストリーム内にイントラ予測情報を含める。そして、モードがインターモードのとき、汎用コントローラ721は、スイッチ(726)を制御して、剰余計算器(723)による使用のためのインター予測結果を選択し、エントロピーエンコーダ(725)を制御して、インター予測情報を選択し、ビットストリーム内にインター予測情報を含める。
【0100】
剰余計算器(723)は、受信したブロックとイントラエンコーダ(722)またはインターエンコーダ(730)から選択された予測結果との間の差(剰余データ(residue data))を計算するように構成される。剰余エンコーダ(724)は、剰余データに基づいて作動して、剰余データを符号化して、変換係数を生成するように構成される。一例において、剰余エンコーダ(724)は、剰余データを空間領域(spatial domain)から周波数領域(frequency domain)に変換して、変換係数を生成するように構成される。次に、変換係数は、量子化された変換係数を得るために、量子化処理を受ける。様々な実施形態において、ビデオエンコーダ(703)は、剰余デコーダ(728)も含む。剰余デコーダ(728)は、逆変換を実行して、復号化された剰余データを生成するように構成される。復号化された剰余データは、イントラエンコーダ(722)およびインターエンコーダ(730)によって適切に使用されることができる。例えば、インターエンコーダ(730)は、復号化された剰余データおよびインター予測情報に基づいて復号化されたブロックを生成することができ、イントラエンコーダ(722)は、復号化された剰余データおよびイントラ予測情報に基づいて復号化されたブロックを生成することができる。復号化されたブロックは、復号化されたピクチャを生成するために適切に処理され、復号化されたピクチャは、メモリ回路(図示せず)内でバッファされることができ、幾つかの例では、参照ピクチャとして使用されることができる。
【0101】
エントロピーエンコーダ(725)は、符号化されたブロックを含むようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ(725)は、HEVC標準のような、適切な標準に従った様々な情報を含むように構成される。一例において、エントロピーエンコーダ(725)は、汎用制御データ、選択された予測情報(例えば、イントラ予測情報またはインター予測情報)、剰余情報、およびビットストリーム内の他の適切な情報を含むように構成される。開示された主題によれば、インターモードまたは双予測モードのマージサブモードにおいてブロックをコーディングするとき、剰余情報はないことに留意されたい。
【0102】
図8は、本開示の別の実施形態によるビデオデコーダ(810)の図を示している。ビデオデコーダ(810)は、コーディングされたビデオシーケンスの部分であるコーディングされたピクチャを受信し、コーディングされたピクチャを復号化して再構成されたピクチャを生成する、ように構成される。一例において、ビデオデコーダ(810)は、図4の例におけるビデオデコーダ(410)の代わりに使用される。
【0103】
図8の例において、ビデオデコーダ(810)は、図8に示すように互いに結合されたエントロピーデコーダ(871)、インターデコーダ(880)、剰余デコーダ(873)、再構成モジュール(874)、およびイントラデコーダ(872)を含む。
【0104】
エントロピーデコーダ(871)は、コーディングされたピクチャから、そのコーディングされたピクチャを構成する構文要素を表す特定のシンボルを再構成するように構成されることができる。そのようなシンボルは、例えば、(例えば、イントラモード、インターモード、双予測モード、マージサブモードまたは別のサブモードにおける後者の2つのような)ブロックがコーディングされるモード、イントラデコーダ(872)またはインターデコーダ(880)によってそれぞれ予測のために使用される特定のサンプルまたはメタデータを識別することができる(例えば、イントラ予測情報またはインター予測情報のような)予測情報、例えば、量子化された変換係数の形態の剰余情報、および同等物を含むことができる。一例では、予測モードがインター予測モードまたは双予測モードであるときに、インター予測情報は、インターデコーダ(880)に提供され、予測タイプがイントラ予測タイプであるときに、イントラ予測情報は、イントラデコーダ(872)に提供される。剰余情報は、逆量子化を受けることができ、剰余デコーダ(873)に提供される。
【0105】
インターデコーダ(880)は、インター予測情報を受信して、インター予測情報に基づいてインター予測結果を生成するように構成される。
【0106】
イントラデコーダ(872)は、イントラ予測情報を受信して、イントラ予測情報に基づいて予測結果を生成するように構成される。
【0107】
剰余デコーダ(873)は、逆量子化を実行して脱量子化変換係数を抽出し、脱量子化変換係数を処理して剰余物を周波数領域から空間領域に変換する、ように構成される。剰余デコーダ(873)は、(量子化器パラメータ(QP:Quantizer Parameter)を含むよう)特定の制御情報を必要とすることもあり、その情報は、エントロピーデコーダ(871)によって提供されてよい(これは低ボリューム制御情報のみであることがあるので、データ経路は示されていない)。
【0108】
再構成モジュール(874)は、空間領域において、剰余デコーダ(873)による出力としての剰余と、(場合によってはインターまたはイントラ予測モジュールによる出力としての)予測結果とを組み合わせて、再構成ピクチャの一部であることがあってよい再構成ブロックを形成するように構成され、構成ピクチャの一部は、次に、再構成ビデオの一部であってよい。脱保護操作および同等のことのような他の適切な操作を行って視覚品質を向上させることができることに留意されたい。
【0109】
ビデオエンコーダ(403)、(603)および(703)、並びにビデオデコーダ(410)、(510)および(810)は、任意の適切な技法を使用して実装されることができることに留意されたい。一実施形態において、ビデオエンコーダ(403)、(603)および(703)、ならびにビデオデコーダ(410)、(510)および(810)は、1つ以上の集積回路を使用して実装されることができる。別の実施形態において、ビデオエンコーダ(403)、(603)および(703)、並びにビデオデコーダ(410)、(510)および(810)は、ソフトウェア命令を実行する1つ以上のプロセッサを使用して実装されることができる。
【0110】
本開示は、デコーダ側イントラモード導出の改良を含む。
【0111】
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を超えた次世代ビデオコーディングの標準化プロセスを正式に開始した。この新しい標準は、VVC(Versatile Video Coding)と命名され、JVETは、Joint Video Expert Teamに改名された。2020年7月に、H.266/VVCバージョン1が完成した。2021年1月に、VVC能力を超える圧縮の増大を調査するためにアドホックグループが設立された。
【0112】
デコーダ側イントラモード導出(DIMD)では、ビットストリームにおいて信号伝達された(signaled)関連する構文要素を使用してイントラモードを導出することができ、或いは、ビットストリームにおいて信号伝達された関連する構文要素を使用しないでデコーダ側においてイントラモードを導出することができる。デコーダ側イントラモードを導出するために多くの方法を使用することができ、「デコーダ側イントラモード導出(decoder side intra mode derivation)」という表現は、本開示に記載される方法に限定されない。
【0113】
DIMDでは、現在のCU/PUについての複数の候補イントラモードからの2つのイントラモードが、現在のCU/PUの再構成された隣接サンプル(neighbor samples)から導出されることができる。DIMDでは、テクスチャ勾配分析(texture gradient analysis)をエンコーダ側およびデコーダ側の両方で行って、再構成された隣接サンプルに基づいて複数の候補イントラモードを生成することができる。複数の候補イントラモードの各々は、勾配(またはそれぞれの勾配)のそれぞれの履歴に関連付けられることができる。勾配の履歴が最も高い(またはヒストグラム図の勾配が最も高い)2つのイントラモード(例えば、intraMode1およびintraMode2)を選択することができまる。加重和を使用して選択された2つのイントラモード(例えば、intraMode1およびintraMode2)のイントラモード予測子をプレーナモード予測子(planar mode predictor)と組み合わせることができる。intraMode1、intraMode2およびプレーナモード予測子の組み合わせに基づいて現在のCU/PUについての最終イントラモード予測子を形成することができる。
【0114】
表1は、例示的なDIMD信号伝達プロセスを示している。表1に示すように、DIMDフラグ(例えば、DIMD_flag)は、ISPフラグ(例えば、ISP_flag)の前に信号伝達されることができる。DIMD_flagが1(または真(true))であるとき、それは現在のCU/PUがDIMDを使用することを示すことができ、ISP_flagは、ISPが現在のCU/PUのために適用されるかどうかを検証するために更に構文解析されることができる。DIMD_flagが1(または偽(false))でないとき、それは現在のCU/PUがDIMDを使用しないことを示すことができる。従って、他のイントラコーディングツール(例えば、MIP、MRL、MPM等)に関連する構文要素をデコーダ内で構文解析することができる。
【0115】
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であることができる。
【表0001】
【0116】
テンプレートベースのイントラモード導出(TIMD)は、現在のCUの参照サンプルをテンプレートとして使用し、TIMDに関連する候補イントラ予測モードのセットの中からイントラモードを選択することができる。選択されたイントラモードは、例えば、コスト関数に基づいて、最良のイントラモードとして決定されてよい。図9に示すように、現在のCU(902)の隣接する再構成されたサンプルをテンプレート(904)として使用することができる。テンプレート(904)中の再構成されたサンプルをテンプレート(904)の予測サンプルと比較することができる。予測サンプルは、テンプレート(904)の参照サンプル(906)を使用して生成することができる。参照サンプル(906)は、テンプレート(904)の周囲の隣接する再構成サンプルであることができる。コスト関数を使用して、候補イントラ予測モードのセットのそれぞれの1つに基づいて、テンプレート(904)内の再構成されたサンプルと予測サンプルとの間のコスト(または歪み(distortion))を計算することができる。最小コスト(または歪み)を有するイントラ予測モードをイントラ予測モード(例えば、最良のイントラ予測モード)として選択して、現在のCU(902)をインター予測することができる。
【0117】
表2は、TIMDに関連する例示的なコーディングプロセスを示している。表1に示すように、DIMDフラグ(例えば、DIMD_flag)が1でない(または真でない)とき、TIMDフラグ(例えば、TIMD_flag)を信号伝達することができる。DIMD_flagが1であるとき、現在のCU/PUは、DIMDを使用し、ISPフラグ(例えば、ISP_flag)は、ISPが現在のCU/PUのために使用されているかどうかを見るために構文解析されることができる。DIMD_flagが1でないとき、TIMD_flagは、構文解析される。TIMD_flagが1であるとき、TIMDは、他のイントラコーディングツールを適用することなく現在のCU/PUに適用されることができる(例えば、TIMDが使用されるとき、ISPは許可されない)。TIMD_flagが1(または偽)でないとき、他のイントラコーディングツール(例えば、MIP、MRL、MPM等)に関連する構文要素をデコーダにおいて構文解析することができる。
【表0002】
【0118】
本開示では、ISPとTIMDとの組み合わせを提供することができる。表3は、ISPとTIMDとの組み合わせの例示的な擬似コーディングを示している。
【表0003】
【0119】
表3に示すように、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に適用されることを示すことができる。ISPフラグは、ISPが現在のCU/PUのために適用されるかどうかを見るために相応して構文解析されることができる。TIMDフラグが1でない時、他のイントラコーディングツール(例えば、MIP、MRL、MPM等)に関連する構文要素は、デコーダにおいて構文解析されることができる。
【0120】
幾つかの実施形態では、表3で提供されるISPフラグについて、コンテキスト適応バイナリ算術コーディング(CABAC:context-adaptive binary arithmetic coding)コンテキストモデリングは、DIMDフラグの値に依存することができる。一例において、CABACに関連するコンテキストインデックス(例えば、ctxIdx)の割当は、DIMDフラグにのみ依存することができる。例えば、DIMDフラグが1に等しいとき、ctxIdxを1に設定することができる。さもなければ、ctxIdxを0に設定することができる。
【0121】
別の例において、コンテキストインデックス(例えば、ctxIdx)の割当は、DIMDフラグだけでなく、隣接するCUがISPに基づいて区切られている(例えば、上隣接CUがISPに基づいて区切られている或いは左隣接CUがISPに基づいて区切られている)かどうかのような、1つ以上の他の要因にも依存することができる。
【0122】
幾つかの実施形態では、表3に記載されるISPフラグについて、CABACコンテキストモデリングは、TIMDフラグ値に依存することができる。一例において、コンテキストインデックス(例:ctxIdx)の割当は、TIMDフラグにのみ依存することができる。例えば、TIMDフラグが1に等しいとき、ctxIdxを1に設定することができる。さもなければ、、ctxIdxを0に設定することができる。
【0123】
別の例において、コンテキストインデックス(例えば、ctxIdx)の割当は、TIMDフラグだけでなく、隣接するCUがISPに基づいて区切られている(例えば、上隣接CUがISPに基づいてくぐられているか或いは左隣接CUがISPに基づいて区切られている)かどうかのような、1つ以上の他の要因にも依存することができる。
【0124】
本開示では、デコーダ側において両方のイントラモード(例えば、intraMode1およびintraMode2)を導出する代わりに、1つのイントラモードをビットストリームにおいて信号伝達することができ、他のイントラモードを幾つかの実施形態におけるDIMDに基づいてデコード側において導出することができる。
【0125】
一実施形態では、MPMおよびMPM剰余関連の構文要素を使用して1つのイントラモード(例えば、intraMode1)を信号送信することができる。表4は、MPMおよびMPM剰余関連の構文要素を使用して1つのイントラモード(例えば、intraMode1)に信号伝達するための例示的な擬似コードを示している。
【表0004】
【0126】
表4に示すように、DIMD_flagが1であるとき、それは現在のCU/PUがDIMDを使用することを示すことができ、ISP_flagは、ISPが現在のCU/PUのために使用されるかどうかを確認するために更に構文解析されることができる。ISPが現在のCU/PUのために使用されるかどうかを確認した後に、MPMおよびMPM剰余関連の構文要素を解析することによって、第1のイントラモード(例えば、intraMode1)を導出することができる。例えば、MPMリスト中の候補イントラモードに基づいて第1のイントラモード(例えば、intraMode1)を決定することができる。DIMD_flagが1でないとき、他のイントラコーディングツール(例えば、MIP、MRL等)に関係する構文要素をデコーダにおいて構文解析することができる。
【0127】
従って、第1のイントラモード(例えば、intraMode1)は、ビットストリームにおいて信号伝達されることができ、MPMおよびMPM剰余関連の構文要素を構文解析することによって定義されることができ、第2のイントラモード(例えば、intraMode2)は、ビットストリームにおいて信号伝達されることなくDIMDに基づいてデコーダ側において導出されることができる。IntraMode1およびIntraMode2は同じあり得ないことが留意されるべきである。
【0128】
本開示では、IntraMode1に基づいて得られるイントラ予測子およびIntraMode2に基づいて得られるイントラ予測子を使用して、現在のCU/PUのための最終イントラ予測子(例えば、finalIntraPredictor)を生成することができる。式(1)は、そのような最終イントラ予測子の一例ある。
【数0001】
ここで、weight1は、weight2よりも小さくなく、weight1+weight2=1である。
【0129】
幾つかの実施形態において、(weight1、weight2)は、(7/8、1/8)、(6/8、2/8)、(5/8、3/8)、および(4/8、4/8)のような、4つの利用可能な値を有することができる。(weight1、weight2)の値は、隣接物のイントラモードまたは現在のCU/PUの幅または高さに依存することができる。
【0130】
別の実施形態において、現在のCU/PUのための最終イントラ予測子は、intraMode1のイントラ予測子、intraMode2のイントラ予測子、およびプレーナのイントラ予測子の加重和であることができる。式(2)は、そのような最終イントラ予測子の一例ある。IntraMode1、IntraMode2、planar(プレーナ)は、同じであり得ないことが留意されるべきである。
【数0002】
ここで、weight1は、weight2よりも小さくなく、weight1+weight2+weight3=1である。
【0131】
(weight1、weight2、weight3)は、(6/8、1/8、1/8)、(5/8、2/8、1/8)、(4/8、3/8、1/8)、(5/8、1/8、2/8)、(4/8、2/8、2/8)、および(3/8、3/8、2/8)のような、6つの利用可能な値を有することができる。(weight1、weight2、weight3)の値は、隣接物のイントラモードまたは現在のCU/PUの幅または高さに依存することができる。
【0132】
図10は、本開示の幾つかの実施形態による第1の例示的な復号化プロセス(1000)の概要を示すフローチャートを示している。図11は、本開示の幾つかの実施形態による第2の例示的な復号化プロセス(1100)の概要を示すフローチャートを示している。図12は、本開示の幾つかの実施形態による第1の例示的な符号化プロセス(1200)の概要を示すフローチャートを示している。図13は、本開示の幾つかの実施形態による第2の例示的な符号化プロセス(1300)の概要を示すフローチャートを示している。提案されるプロセスは、別々にまたは任意の順序で組み合わせて使用されることができる。更に、プロセス(または実施形態)、エンコーダ、およびデコーダの各々は、処理回路構成(例えば、1つ以上のプロセッサまたは1つ以上の集積回路)によって実装されてよい。一例において、1つ以上のプロセッサは、非一時的なコンピュータ読取可能媒体に格納されるプログラムを実行する。
【0133】
実施形態において、プロセスの任意の動作(例えば、(1000)、(1100)、(1200)、および(1300))は、必要に応じて、任意の量または順序で組み合わされてよく、或いは配置されてよい。実施形態において、プロセスの動作のうちの2つ以上(例えば、(1000)、(1100)、(1200)および(1300)は、並行して実行されてよい。
【0134】
プロセス(例えば、(1000)、(1100)、(1200)および(1300))は、再構成の下のブロックについての予測ブロックを生成するために、ブロックの再構成および/または符号化において使用されることができる。様々な実施形態において、処理(例えば、(1000)、(1100)、(1200)および(1300))は、端末デバイス(210)、(220)、(230)および(240)における処理回路構成、ビデオエンコーダ(303)の機能を実行する処理回路構成、ビデオデコーダ(310)の機能を実行する処理回路構成、ビデオデコーダ(410)の機能を実行する処理回路構成、ビデオエンコーダ(503)の機能を実行する処理回路構成、および同等物のような、処理回路構成によって実行される。幾つかの実施形態において、プロセス(例えば、(1000)、(1100)、(1200)および(1300))は、ソフトウェア命令において実装され、よって、処理回路構成がソフトウェア命令を実行するとき、処理回路構成は、プロセス(例えば、(1000)、(1100)、(1200)および(1300))を実行する。
【0135】
図10に示すように、プロセス(1000)は、(S1001)から開始して、(S1010)に進むことができる。(S1010)で、現在のブロックおよび現在のブロックの隣接ブロックのコーディングされた情報を、コーディングされたビデオビットストリームから受信することができる。
【0136】
(S1020)で、コーディングされた情報内の現在のブロックと関連付けられる第1の情報を復号化することができる。第1の情報は、現在のブロックが、現在のブロックのイントラ予測モードが隣接ブロックに基づいて導出されるDIMDに基づいて、イントラ予測されるかどうかを示すことができる。
【0137】
(S1030)で、コーディングされた情報中の現在のブロックと関連付けられる第2の情報を得ることができる。第2の情報は、現在のブロックがイントラサブパーティション(ISP:intra sub-partition)モードに基づいて区切られるかどうかを示すことができる。
【0138】
(S1040)で、コンテキストモデルインデックスは、(i)現在のブロックがDIMDに基づいてイントラ予測されることを示す第1の情報、および(ii)隣接ブロックにおける現在のブロックの上隣接ブロックまたは左隣接ブロックがISPモードに基づいて区切られることを示す第2の情報のうちの1つに応答して決定されることができる。
【0139】
(S1050)で、現在のブロックは、少なくともコンテキストモデルインデックスに基づいてコーディングされたビデオストリームから復号化されることができる。もちろん、現在のブロックは、復号化された第1の情報および/または第2の情報に基づいて再構成されることができる。例えば、現在のブロックは、現在のブロックがISPモードに基づいて区切られることを第2の情報が示すときに、現在のブロックがDIMDおよびIPSモードに基づいてイントラ予測されることを第1の情報が示すときに、DIMDに基づいて再構成されることができる。
【0140】
幾つかの実施形態において、第2の情報は、現在のブロックがDIMDに基づいてイントラ予測されることを示す第1の情報に応答して復号化されることができる。更に、ISPモードと関連付けられる構文要素は、現在のブロックがISPモードに基づいて区切られることを示す第2の情報に応答して復号化されることができる。
【0141】
プロセス(1000)において、(i)第1の情報および(ii)第2の情報のうちの1つに応答してコンテキストモデルを決定することは、現在のブロックがDIMDに基づいてイントラ予測されることを示す第1の情報に応答して実行されることができる。現在のブロックがDIMDに基づいてイントラ予測されないことを示す第1の情報に応答して、現在のブロックと関連付けられる第3の情報が、コーディングされた情報において得られることができる。第3の情報は、現在のブロックが候補イントラ予測モードのセットを含むテンプレートベースのイントラモード導出(TIMD:template based intra mode derivation)に基づいてイントラ予測されるかどうかを示すことができる。コンテキストモデルインデックスは、(i)現在のブロックがTIMDに基づいてイントラ予測されることを示す第3の情報、および(ii)隣接ブロック内の現在のブロックの上隣接ブロックまたは左隣接ブロックがISPモードに基づいて区切られることを示す第2の情報のうちの1つに応答して、決定されることができる。
【0142】
幾つかの実施形態において、第2の情報は、現在のブロックがTIMDに基づいてイントラ予測されることを示す第3の情報に応答して復号化ドされることができる。従って、ISPモードと関連付けられる構文要素は、現在のブロックがISPモードに基づいて区切られることを示す第3の情報に応答して復号化されることができる。
【0143】
当該方法では、別のイントラコーディングモードと関連付けられる構文要素が、現在のブロックがISPモードに基づいて区切られないことを示す第2の情報に応答して復号化されることができる。他のイントラコーディングモードは、行列ベースのイントラ予測(MIP:matrix-based intra prediction)、多重参照リーエンイントラ予測(MRL:multiple reference lien intra prediction)、および最確モード(MPM:most probable mode)のうちの1つを含むことができる。
【0144】
幾つかの実施形態において、コンテキストモデルインデックスは、現在のブロックがDIMDに基づいてイントラ予測されることを示す第1の情報に応答して1であると決定されることができる。コンテキストモデルインデックスは、現在のブロックがDIMDに基づいてイントラ予測されないことを示す最初の情報に応答してゼロであると決定されることができる。
【0145】
幾つかの実施形態において、コンテキストモデルインデックスは、コンテキストベースの適応バイナリ算術コーディング(CABAC:Context-based Adaptive Binary Arithmetic Coding)において使用されることができる。
【0146】
幾つかの実施形態において、コンテキストモデルインデックスは、現在のブロックがTIMDに基づいてイントラ予測されることを示す第3の情報に応答して1であると決定されることができる。コンテキストモデルインデックスは、現在のブロックがTIMDに基づいてイントラ予測されないことを示す第3の情報に応答してゼロであると決定されることができる。
【0147】
図11に示すように、プロセス(1100)は、(S1101)から開始し、(S1110)に進むことができる。(S1110)で、現在のブロックおよび現在のブロックの隣接ブロックのコーディング情報は、コーディングされたビデオビットストリームから受信されることができる。
【0148】
(S1120)で、コーディングされた情報中の現在のブロックと関連付けられる第1の情報は、復号化されることができる。第1の情報は、現在のブロックが、現在のブロックのイントラ予測モードを隣接ブロックに基づいて導出するDIMDに基づいて、イントラ予測されるかどうかを示すことができる。
【0149】
(S1130)で、現在のブロックがDIMDに基づいてイントラ予測されることを示す第1の情報に応答して、DIMDに基づく第1のイントラ予測モードが決定されることができる。加えて、第2のイントラ予測モードが、コーディングされた情報に含まれ且つ最確モード(MPM)およびMPM剰余と関連付けられる構文要素に基づいて決定されることができる。
【0150】
(S1140)で、現在のブロックは、第1のイントラ予測モードと第2のイントラ予測モードに基づいて再構成されることができる。
【0151】
プロセス(1100)では、コーディングされた情報中の現在のブロックと関連付けられる第2の情報が、現在のブロックがDIMDに基づいてイントラ予測されることを示す第1の情報に応答して復号化されることができる。第2の情報は、現在のブロックがイントラサブパーティション(ISP)モードに基づいて区切られるかどうかを示すことができる。ISPモードと関連付けられる構文要素は、現在のブロックがISPモードに基づいて区切られることを示す第2の情報に応答して復号化されることができる。
【0152】
プロセス(1100)では、別のイントラコーディングモードと関連付けられる構文要素が、現在のブロックがISPモードに基づいて区切られないことを示す第2の情報に応答して復号化されることができる。他のイントラコーディングモードは、行列ベースのイントラ予測(MIP)、多重参照リーエンイントラ予測(MRL)、および最確モード(MPM)のうちの1つを含むことができる。
【0153】
プロセス(1100)において、第1のイントラ予測子は、第1のイントラ予測モードに基づいて決定されることができる。第2のイントラ予測子は、第2のイントラ予測モードに基づいて決定されることができる。最終的なイントラ予測子は、第1のイントラ予測子および第2のイントラ予測子に基づいて決定されることができる。
【0154】
幾つかの実施形態において、最終的なイントラ予測子は、(i)第1の重量と第1のイントラ予測子との積、および(ii)第2の重量と第2のイントラ予測子の積の合計に等しいと決定されることができる。第1の重量は、第2の重量以上であることができ、第1の重量および第2の重量の合計は、1に等しいことができる。
【0155】
幾つかの実施形態において、最終的なイントラ予測子は、(i)第1の重量と第1のイントラ予測子との積、(ii)第2の重量と第2のイントラ予測子との積、および(iii)プレーナモードに基づく第3の重量とイントラ予測子との積の合計に等しいと決定されることができる。第1の重量は、第2の重量以上であることができ、第1の重量、第2の重量、および第3の重量の合計は、1に等しいことができる。
【0156】
図12に示すように、プロセス(1200)は、(S1201)から開始し、(S1210)に進むことができる。(S1210)で、現在のブロックと関連付けられる第1の情報を生成することができる。第1の情報は、ビデオのピクチャ中の現在のブロックが、現在のブロックの隣接ブロックに基づいて現在のブロックのイントラ予測モードを導出するデコーダ側イントラモード導出(DIMD)に基づいてイントラ予測されるかどうかを示すことができる。
【0157】
(S1220)で、現在のブロックと関連付けられる第2の情報を生成することができる。第2の情報は、現在のブロックがイントラサブパーティション(ISP)モードに基づいて区切られるかどうかを示すことができる。
【0158】
(S1230)で、コンテキストモデルインデックスが、(i)現在のブロックがDIMDに基づいてイントラ予測されることを示す第1の情報、および(ii)隣接ブロックにおける現在のブロックの上隣接ブロックまたは左隣接ブロックがISPモードに基づいて区切られることを示す第2の情報のうちの1つに応答して決定されることができる。
【0159】
(S1240)で、現在のブロックは、コンテキストモデルインデックスによって示されるコンテキストモデルに少なくとも基づいて符号化されることができる。
【0160】
図13に示すように、プロセス(1300)は、(S1301)から開始し、(S1310)に進むことができ、ここで、現在のブロックの第1のイントラ予測モードは、現在のブロックの第1のイントラ予測モードを現在のブロックの隣接ブロックに基づいて導出するDIMDに基づいて決定されることができる。
【0161】
(S1320)で、現在のブロックの第2のイントラ予測モードが、現在のブロックと関連付けられる最確モード(MPM)リストおよびMPM剰余リストに基づいて決定されることができる。
【0162】
(S1330)で、現在のブロックに対するイントラ予測は、第1のイントラ予測モードおよび第2のイントラ予測モードに基づいて行われることができる。
【0163】
(S1340)で、第1の情報および構文要素を生成することができる。第1の情報は、現在のブロックがDIMDに基づいてイントラ予測されるかどうかを示すことができる。構文要素は、MPMリストおよびMPM剰余リストと関連付けられることができ、現在のブロックの第2のイントラ予測モードを示すことができる。
【0164】
上述の技法は、コンピュータ読取可能命令を使用してコンピュータソフトウェアとして実装されることができ、1つ以上のコンピュータ読取可能媒体に物理的に格納されることができる。例えば、図14は、開示された主題の特定の実施形態を実装するのに適したコンピュータシステム(1400)を示している。
【0165】
コンピュータソフトウェアは、1つ以上のコンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)、および同等物によって、直接的に、または解釈、マイクロコード実行、および同等のことを通じて実行されることができる命令を含むコードを作成するために、アセンブリ、コンパイル、リンク、または類似のメカニズムの対象となることがある任意の適切な機械コードまたはコンピュータ言語を使用してコーディングされることができる。
【0166】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイス、および同等物を含む、様々なタイプのコンピュータまたはそれらのコンポーネントで実行されることができる。
【0167】
コンピュータシステム(1400)について図14に示すコンポーネントは、本質的に例示的であり、本開示の実施形態を実装するコンピュータソフトウェアの使用範囲または機能性に関する如何なる制限を示唆することも意図しない。コンポーネントの構成は、コンピュータシステム(1400)の例示的な実施形態に図示するコンポーネントの任意の1つまたは組み合わせに関する如何なる従属性または要件も有するものとして解釈されるべきでない。
【0168】
コンピュータシステム(1400)は、特定のヒューマンインターフェース入力デバイスを含んでよい。そのようなヒューマンインターフェース入力デバイスは、例えば、(キーストローク、スワイプ、データグローブの動きのような)触覚入力、(音声、拍手のような)音声入力、(ジェスチャのような)視覚入力、嗅覚入力(図示せず)を通じて、1人以上の人間ユーザによる入力に応答することがある。ヒューマンインターフェースデバイスは、(発話、音楽、周囲サウンドのような)オーディオ、(スキャンされた画像、静止画像カメラから得られる写真画像のような)画像、(二次元ビデオ、立体視ビデオを含む三次元ビデオのような)ビデオのような、人間による意識的入力に必ずしも直接的に関係しない特定の媒体を取り込むために使用されることもできる。
【0169】
入力ヒューマンインターフェースデバイスは、キーボード(1401)、マウス(1402)、トラックパッド(1403)、タッチスクリーン(1410)、データグローブ(図示せず)、ジョイスティック(1405)、マイクロホン(1406)、スキャナ(1407)、カメラ(1408)のうちの1つ以上(各々の1つのみが示されている)を含んでよい。
【0170】
コンピュータシステム(1400)は、特定のヒューマンインターフェース出力デバイスを含んでもよい。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、サウンド、光、および嗅覚/味覚を通じて、1人以上の人間ユーザの感覚を刺激することがある。そのようなヒューマンインターフェース出力デバイスは、触覚出力装置(例えば、タッチスクリーン(1410)、データグローブ(図示せず)、ジョイスティック(1405)による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスもある)、(スピーカ(709)、ヘッドフォン(図示せず)のような)オーディオ出力デバイス、(各々がタッチスクリーン入力能力を持つか或いは持たない、各々が触覚フィードバック能力を持つか或いは持たない、それらの一部は、立体出力、仮想現実グラス(図示せず)、ホログラフィックディスプレイおよびスモークタンク(図示せず)およびプリンタ(図示せず)のような手段を通じて、二次元視覚出力または三次元よりも多くの次元の出力を出力し得ることがある、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含む、スクリーン(710)のような)視覚出力デバイスを含むことがある。
【0171】
コンピュータシステム(1400)は、人間がアクセス可能な記憶デバイスや、CD/DVDまたは同等の媒体(1421)を備えるCD/DVD ROM/RW(1420)、サムドライブ(1422)、取り外し可能なハードドライブまたはソリッドステートドライブ(1423)、テープおよびフロッピーディスク(図示せず)のようなレガシー磁気媒体、セキュリティドングル(図示せず)のような特殊化されたROM/ASIC/PLDベースのデバイス、および同等物を含む、光媒体のような、それらの関連する媒体も含むことができる。
【0172】
当業者は、現在開示されている主題に関連して使用されるような「コンピュータ読取可能媒体」という用語が、送信媒体、搬送波、または他の過渡信号を包含しないことも理解するはずである。
【0173】
コンピュータシステム(1400)は、1つ以上の通信ネットワーク(1455)へのインターフェース(1454)を含むこともできる。ネットワークは、例えば、無線、有線、光であることができる。ネットワークは、更に、ローカル、ワイドエリア、メトロポリタン、車両および産業、リアルタイム、遅延耐性等であることができる。ネットワークの例は、イーサネット、無線LANのようなローカルエリアネットワーク、GSM、3G、4G、5G、LTEおよび同等のものを含むセルラネットワーク、ケーブルTV、衛星TV、および地上放送TVを含むTV有線または無線ワイドエリアデジタルネットワーク、CANBusを含む車両および産業等を含む。特定のネットワークは、一般に、(例えば、コンピュータシステム(1400)のUSBポートのような)特定の汎用データポートまたは周辺バス(1449)に取り付けられる外部ネットワークインターフェースアダプタを必要とし、他のネットワークは、一般に、以下に記載するようなシステムバスへの取り付けによって、コンピュータシステム(700)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインターフェースまたはスマートフォンコンピュータシステムへのセルラネットワークインターフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム(1400)は、他のエンティティと通信することができる。そのような通信は、単指向性、受信のみ(例えば、放送テレビ)、単指向性送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または、例えば、ローカルまたはワイドエリアデジタルネットワークを使用する他のコンピュータシステムへの、双指向性であることができる。特定のプロトコルおよびプロトコルスタックは、上述のように、それらのネットワークおよびネットワークインターフェースの各々で使用されることができる。
【0174】
前述のヒューマンインターフェースデバイス、人間がアクセス可能な記憶デバイス、およびネットワークインターフェースは、コンピュータシステム(1400)のコア(1440)に取り付けられることができる。
【0175】
コア(740)は、1つ以上の中央処理装置(CPU)(1441)、グラフィックス処理装置(GPU)(1442)、フィールドプログラマブルゲートエリア(FPGA)(1443)の形態の特殊化されたプログラマブル処理装置、特定のタスクのためのハードウェアアクセラレータ(1444)、グラフィックスアダプタ(1450)等を含むことができる。これらのデバイスは、読出し専用メモリ(ROM)(1445)、ランダムアクセスメモリ(1446)、内部ユーザアクセス可能でないハードドライブのような内部大容量記憶装置、SSD、および同等物(1447)と共に、システムバス(1448)を通じて接続されてよい。幾つかのコンピュータシステムにおいて、システムバス(1448)は、追加のCPU、GPU、および同等物による拡張を可能にするために、1つ以上の物理プラグの形態でアクセス可能であることができる。周辺デバイスは、コアのシステムバス(1448)に直接的に取り付けられることができ、或いは周辺バス(1449)を通じて取り付けられることができる。一例において、スクリーン(1410)は、グラフィックスアダプタ(2450)に接続されることができる。周辺バスのためのアーキテクチャは、PCI、USB、および同等物を含む。
【0176】
CPU(1441)、GPU(1442)、FPGA(1443)、およびアクセラレータ(1444)は、組み合わせにおいて、上述のコンピュータコードを構成することができる、特定の命令を実行することができる。そのコンピュータコードは、ROM(1445)またはRAM(1446)に格納されることができる。移行データも、RAM(1446)に格納されることができるのに対し、永久データは、例えば、内部大容量記憶装置(1447)に格納されることができる。1つ以上のCPU(1441)、GPU(1442)、大容量記憶装置(1447)、ROM(1445)、RAM(1446)、および同等物と密接に関連付けられることができるキャッシュメモリの使用を通じて、メモリデバイスのいずれかへの高速格納および検索を可能にすることができる。
【0177】
コンピュータ読取可能媒体は、様々なコンピュータ実装動作を実行するためのコンピュータコードをその上に有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであることができ、或いは、それらは、コンピュータソフトウェア技術の当業者によく知られており且つ利用可能である種類のものであることができる。
【0178】
一例として、限定によってではなく、アーキテクチャ(1400)、具体的には、コア(1440)を有する、コンピュータシステムは、1つ以上の有形のコンピュータ読取可能媒体において具現されるソフトウェアを実行する(CPU、GPU、FPGA、アクセラレータ、および同等物を含む)プロセッサの結果としての機能性を提供することができる。そのようなコンピュータ読取可能媒体は、上述のようなユーザアクセス可能な大容量記憶装置と関連付けられる媒体、並びにコア内部大容量記憶装置(1447)またはROM(1445)のような非一時的な性質を有するコア(1440)の特定の記憶装置であってよい。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに格納されることができ、コア(1440)によって実行されることができる。コンピュータ読取可能媒体は、特定のニーズに従って、1つ以上のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア(1440)、特にコア内の(CPU、GPU、FPGA、および同等物を含む)プロセッサに、RAM(1446)に格納されるデータ構造を定義ことと、ソフトウェアによって定義されるプロセスに従ってそのようなデータ構造を修正することとを含む、本明細書に記載する特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。追加的にまたは代替的に、コンピュータシステムは、回路内に配線された或いは他の方法で具現されたロジック(論理)の結果として機能性(例えば、アクセラレータ(1444))を提供することができ、それは、本明細書に記載する特定のプロセスまたは特定のプロセスの特定の部分を実行するためにソフトウェアの代わりに或いはソフトウェアと共に作動することができる。ソフトウェアへの言及は、ロジックを含み、必要に応じて、その逆も同様である。コンピュータ読取可能媒体への言及は、実行のためのソフトウェアを格納する回路、実行のためのロジックを具現する(集積回路(IC)のような)回路、または適切な場合にはそれらの両方を含むことができる。本開示は、ハードウェアおよびソフトウェアの任意の適切な組み合わせを含む。
(付録A:頭字語)
JEM:共同探索モデル
VVC:汎用ビデオコーディング
BMS:ベンチマークセット
MV:運動ベクトル
HEVC:高効率ビデオコーディング
SEI:補足強化情報
VUI:ビデオ操作性情報
GOP:ピクチャグループ
TU:変換ユニット、
PU:予測ユニット
CTU:コーディングツリーユニット
CTB:コーディングツリーブロック
PB:予測ブロック
HRD:仮想参照デコーダ
SNR:信号雑音比
CPU:中央処理装置
GPU:グラフィックス処理装置
CRT:陰極線管
LCD:液晶ディスプレイ
OLED:有機発光ダイオード
CD:コンパクトディスク
DVD:デジタルビデオディスク
ROM:読出し専用メモリ
RAM:ランダムアクセスメモリ
ASIC:特定用途向け集積回路
PLD:プログラマブルロジックデバイス
LAN:ローカルエリアネットワーク
GSM:汎欧州デジタル移動電話方式
LTE:ロングタームエボリューション
CANBus:コントローラエリアネットワークバス
USB:ユニバーサルシリアルバス
PCI:周辺コンポーネントインターコネクト
FPGA:フィールドプログラマブルゲートエリア
SSD:ソリッドステートドライブ
IC:集積回路
CU:コーディングユニット
【0179】
この開示は幾つかの例示的な実施形態を記載したが、本開示の範囲内にある変更、置換、および様々な代替的な均等物がある。よって、当業者は、本明細書に明示的に示されていないか或いは記載されていないが、本開示の原理を具現し、よって、本開示の精神および範囲内にある、数多くのシステムおよび方法を考案することができることが理解されるであろう。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14