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

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

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

特表2023-547170改善されたイントラ予測のための方法および装置
<>
  • 特表-改善されたイントラ予測のための方法および装置 図1
  • 特表-改善されたイントラ予測のための方法および装置 図2
  • 特表-改善されたイントラ予測のための方法および装置 図3
  • 特表-改善されたイントラ予測のための方法および装置 図4
  • 特表-改善されたイントラ予測のための方法および装置 図5
  • 特表-改善されたイントラ予測のための方法および装置 図6
  • 特表-改善されたイントラ予測のための方法および装置 図7
  • 特表-改善されたイントラ予測のための方法および装置 図8
  • 特表-改善されたイントラ予測のための方法および装置 図9
  • 特表-改善されたイントラ予測のための方法および装置 図10
  • 特表-改善されたイントラ予測のための方法および装置 図11
  • 特表-改善されたイントラ予測のための方法および装置 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-09
(54)【発明の名称】改善されたイントラ予測のための方法および装置
(51)【国際特許分類】
   H04N 19/11 20140101AFI20231101BHJP
   H04N 19/70 20140101ALI20231101BHJP
   H04N 19/176 20140101ALI20231101BHJP
【FI】
H04N19/11
H04N19/70
H04N19/176
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023525048
(86)(22)【出願日】2022-08-01
(85)【翻訳文提出日】2023-04-25
(86)【国際出願番号】 US2022074385
(87)【国際公開番号】W WO2023015163
(87)【国際公開日】2023-02-09
(31)【優先権主張番号】63/228,369
(32)【優先日】2021-08-02
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/231,998
(32)【優先日】2021-08-11
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/877,802
(32)【優先日】2022-07-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】リー,リン
(72)【発明者】
【氏名】リー,シャン
(72)【発明者】
【氏名】リウ,シャン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159RC12
5C159TA31
5C159TB08
5C159TC27
5C159TC42
5C159UA02
5C159UA05
5C159UA16
5C159UA33
(57)【要約】
現在ブロックに関連付けられたフラグ情報は、コード化情報において獲得され、現在ブロックが少なくとも部分的にイントラモード導出に基づいてイントラ予測されているか否かを示す。フラグ情報が真であることに応答して、複数の候補イントラモードが、現在ブロックの隣接サンプルに基づいて決定される。現在ブロックの第1イントラモードは、コード化情報に含まれる第1シンタックス要素に基づいて決定される。第1シンタックス要素は、最確(MPM)リストおよびMPM剰余から現在ブロックの第1イントラモードを示している。現在ブロックの第2イントラモードは、第1イントラモードおよび複数の候補イントラモードに基づいて決定される。現在ブロックは、第1イントラモードおよび第2イントラモードに基づいて再構成される。
【特許請求の範囲】
【請求項1】
ビデオデコーダで実行されるビデオデコーディング方法であって、
コード化ビデオビットストリームから、現在ブロックおよび前記現在ブロックの隣接サンプルのコード化情報を受信するステップと、
前記コード化情報において前記現在ブロックに関連付けられたフラグ情報を獲得するステップであり、
前記フラグ情報は、複数の候補イントラモードが前記隣接サンプルに基づいて導出される、イントラモード導出に少なくとも部分的に基づいて、前記現在ブロックがイントラ予測されているか否かを示している、
ステップと、
前記現在ブロックが少なくとも部分的に前記イントラモード導出に基づいてイントラ予測されていることを示している前記フラグ情報に応答して、前記隣接サンプルに基づいて前記複数の候補イントラモードを決定するステップと、
前記コード化情報に含まれる第1シンタックス要素に基づいて、前記現在ブロックの第1イントラモードを決定するステップであり、
前記第1シンタックス要素は、最確モード(MPM)リストおよびMPM剰余から、前記現在ブロックの前記第1イントラモードを示している、
ステップと、
前記第1イントラモードおよび前記複数の候補イントラモードに基づいて、前記現在ブロックの第2イントラモードを決定するステップと、
前記第1イントラモードおよび前記第2イントラモードに基づいて、前記現在ブロックを再構成するステップと、
を含む、方法。
【請求項2】
前記第1イントラモードは、前記現在ブロックが少なくとも部分的に前記イントラモード導出に基づいてイントラ予測されていることを示している前記フラグ情報に応答して、第1シンタックス要素に基づいて決定される、
請求項1に記載の方法。
【請求項3】
前記方法は、さらに、
前記現在ブロックが前記イントラモード導出に基づいてイントラ予測されていないことを示している前記フラグ情報に応答して、
前記コード化情報に含まれる第2シンタックス要素に基づいて第3イントラモードを決定するステップ、
を含む、請求項1に記載の方法。
【請求項4】
前記イントラモード導出は、前記複数の候補イントラモードが、前記隣接サンプルに関連付けられた勾配のヒストグラム(HoG)に基づいて決定される、デコーダ側イントラモード導出(DIMD)を含む、
請求項1に記載の方法。
【請求項5】
前記イントラモード導出は、前記複数の候補イントラモードが、前記隣接サンプルのコスト値に基づいて決定される、テンプレートベースのイントラモード導出(TIMD)を含む、
請求項1に記載の方法。
【請求項6】
前記現在ブロックの前記第2イントラモードを決定するステップは、さらに、
前記第1イントラモードに基づいて、前記現在ブロック内のサンプルの第1予測値を決定するステップと、
第1予測値に基づいて、前記現在ブロック内の前記サンプルの再構成値を決定するステップと、
前記複数の候補イントラモードそれぞれに基づいて、前記現在ブロック内の前記サンプルそれぞれの候補予測値を決定するステップと、
複数のテンプレート一致値を決定するステップであり、
前記複数の候補イントラモードの対応する1つに基づいて、前記複数のテンプレート一致値それぞれが、再構成された値から(i)第1予測値および(ii)それぞれの候補予測値を引いた値の2倍に等しい、
ステップと、
前記現在ブロックの第2イントラモードを決定するステップであり、
前記第2イントラモードは、前記複数のテンプレート一致値の最小テンプレート一致値に関連付けられた前記複数の候補イントラモードの候補イントラモードである、
ステップと、
を含む、請求項1に記載の方法。
【請求項7】
前記現在ブロックを再構成するステップは、さらに、
前記第2イントラモードに基づいて、前記現在ブロック内のサンプルの第2予測値を決定するステップと、
最終予測値に基づいて、前記現在ブロックを再構成するステップであり、
前記最終予測値は、第1予測値および第2予測値の重み付けされた組み合わせである、
ステップと、
を含む、請求項6に記載の方法。
【請求項8】
前記重み付けされた組み合わせは、等しく重み付けされている、
請求項7に記載の方法。
【請求項9】
処理回路を含む装置であって、該処理回路は、
コード化ビデオビットストリームから、現在ブロックおよび前記現在ブロックの隣接サンプルのコード化情報を受信し、
前記コード化情報において前記現在ブロックに関連付けられたフラグ情報を獲得し、
前記フラグ情報は、複数の候補イントラモードが前記隣接サンプルに基づいて導出される、イントラモード導出に少なくとも部分的に基づいて、前記現在ブロックがイントラ予測されているか否かを示しており、
前記現在ブロックが少なくとも部分的に前記イントラモード導出に基づいてイントラ予測されていることを示している前記フラグ情報に応答して、前記隣接サンプルに基づいて前記複数の候補イントラモードを決定し、
前記コード化情報に含まれる第1シンタックス要素に基づいて、前記現在ブロックの第1イントラモードを決定し、
前記第1シンタックス要素は、最確モード(MPM)リストおよびMPM剰余から、前記現在ブロックの前記第1イントラモードを示しており、
前記第1イントラモードおよび前記複数の候補イントラモードに基づいて、前記現在ブロックの第2イントラモードを決定し、かつ、
前記第1イントラモードおよび前記第2イントラモードに基づいて、前記現在ブロックを再構成する、
ように構成されている、装置。
【請求項10】
前記第1イントラモードは、前記現在ブロックが少なくとも部分的に前記イントラモード導出に基づいてイントラ予測されていることを示している前記フラグ情報に応答して、第1シンタックス要素に基づいて決定される、
請求項9に記載の装置。
【請求項11】
前記処理回路は、さらに、
前記現在ブロックが前記イントラモード導出に基づいてイントラ予測されていないことを示している前記フラグ情報に応答して、
前記コード化情報に含まれる第2シンタックス要素に基づいて第3イントラモードを決定する、
ように構成されている、請求項9に記載の装置。
【請求項12】
前記イントラモード導出は、前記複数の候補イントラモードが、前記隣接サンプルに関連付けられた勾配のヒストグラム(HoG)に基づいて決定される、デコーダ側イントラモード導出(DIMD)を含む、
請求項9に記載の装置。
【請求項13】
前記イントラモード導出は、前記複数の候補イントラモードが、前記隣接サンプルのコスト値に基づいて決定される、テンプレートベースのイントラモード導出(TIMD)を含む、
請求項9に記載の装置。
【請求項14】
前記処理回路は、
前記第1イントラモードに基づいて、前記現在ブロック内のサンプルの第1予測値を決定し、
第1予測値に基づいて、前記現在ブロック内の前記サンプルの再構成値を決定し、
前記複数の候補イントラモードそれぞれに基づいて、前記現在ブロック内の前記サンプルそれぞれの候補予測値を決定し、
複数のテンプレート一致値を決定し、
前記複数の候補イントラモードの対応する1つに基づいて、前記複数のテンプレート一致値それぞれが、再構成された値から(i)第1予測値および(ii)それぞれの候補予測値を引いた値の2倍に等しく、かつ、
前記現在ブロックの第2イントラモードを決定し、
前記第2イントラモードは、前記複数のテンプレート一致値の最小テンプレート一致値に関連付けられた前記複数の候補イントラモードの候補イントラモードである、
ように構成されている、請求項9に記載の装置。
【請求項15】
前記処理回路は、
前記第2イントラモードに基づいて、前記現在ブロック内のサンプルの第2予測値を決定し、
最終予測値に基づいて、前記現在ブロックを再構成し、
前記最終予測値は、第1予測値および第2予測値の重み付けされた組み合わせである、
ように構成されている、請求項14に記載の装置。
【請求項16】
前記重み付けされた組み合わせは、等しく重み付けされている、
請求項15に記載の装置。
【請求項17】
1つ以上のコンピュータで実行可能な命令を含むコンピュータプログラムであって、少なくとも1つのプロセッサによって前記命令が実行されると、前記少なくとも1つのプロセッサに、
コード化ビデオビットストリームから、現在ブロックおよび前記現在ブロックの隣接サンプルのコード化情報を受信するステップと、
前記コード化情報において前記現在ブロックに関連付けられたフラグ情報を獲得するステップであり、
前記フラグ情報は、複数の候補イントラモードが前記隣接サンプルに基づいて導出される、イントラモード導出に少なくとも部分的に基づいて、前記現在ブロックがイントラ予測されているか否かを示している、
ステップと、
前記現在ブロックが少なくとも部分的に前記イントラモード導出に基づいてイントラ予測されていることを示している前記フラグ情報に応答して、前記隣接サンプルに基づいて前記複数の候補イントラモードを決定するステップと、
前記コード化情報に含まれる第1シンタックス要素に基づいて、前記現在ブロックの第1イントラモードを決定するステップであり、
前記第1シンタックス要素は、最確モード(MPM)リストおよびMPM剰余から、前記現在ブロックの前記第1イントラモードを示している、
ステップと、
前記第1イントラモードおよび前記複数の候補イントラモードに基づいて、前記現在ブロックの第2イントラモードを決定するステップと、
前記第1イントラモードおよび前記第2イントラモードに基づいて、前記現在ブロックを再構成するステップと、
を実施させる、コンピュータプログラム。
【請求項18】
前記第1イントラモードは、前記現在ブロックが少なくとも部分的に前記イントラモード導出に基づいてイントラ予測されていることを示している前記フラグ情報に応答して、第1シンタックス要素に基づいて決定される、
請求項17に記載のコンピュータプログラム。
【請求項19】
前記少なくとも1つのプロセッサによって前記命令が実行されると、前記少なくとも1つのプロセッサに、
前記現在ブロックが前記イントラモード導出に基づいてイントラ予測されていないことを示している前記フラグ情報に応答して、
前記コード化情報に含まれる第2シンタックス要素に基づいて第3イントラモードを決定するステップ、
を実施させる、請求項17に記載のコンピュータプログラム。
【請求項20】
前記イントラモード導出は、前記複数の候補イントラモードが、前記隣接サンプルに関連付けられた勾配のヒストグラム(HoG)に基づいて決定される、デコーダ側イントラモード導出(DIMD)を含む、
請求項17に記載のコンピュータプログラム。
【請求項21】
ビデオデコーダで実行されるビデオエンコーディング方法であって、
シンボルストリームをエンコーディングするステップと、
コード化ビデオビットストリームから、現在ブロックおよび前記現在ブロックの隣接サンプルのコード化情報を受信するステップと、
前記コード化情報において前記現在ブロックに関連付けられたフラグ情報を獲得するステップであり、
前記フラグ情報は、複数の候補イントラモードが前記隣接サンプルに基づいて導出される、イントラモード導出に少なくとも部分的に基づいて、前記現在ブロックがイントラ予測されているか否かを示している、
ステップと、
前記現在ブロックが少なくとも部分的に前記イントラモード導出に基づいてイントラ予測されていることを示している前記フラグ情報に応答して、前記隣接サンプルに基づいて前記複数の候補イントラモードを決定するステップと、
前記コード化情報に含まれる第1シンタックス要素に基づいて、前記現在ブロックの第1イントラモードを決定するステップであり、
前記第1シンタックス要素は、最確モード(MPM)リストおよびMPM剰余から、前記現在ブロックの前記第1イントラモードを示している、
ステップと、
前記第1イントラモードおよび前記複数の候補イントラモードに基づいて、前記現在ブロックの第2イントラモードを決定するステップと、
前記第1イントラモードおよび前記第2イントラモードに基づいて、前記現在ブロックを再構成するステップと、
を含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般的に、ビデオコーディングに関し、その実施形態について説明する。
【0002】
本出願は、2022年7月29日に出願された米国特許出願第17/877,802号である“METHOD AND APPARATUS FOR IMPROVED INTRA PREDICTION”について優先権の利益を主張するものであり、それは、2021年8月11日に出願された米国仮出願第63/231,998号である“Improvement on Intra Prediction”、および、2021年8月2日に出願された米国仮出願第63/228,369号であるImprovement on Intra Prediction”について優先権の利益を主張している。先行出願の開示全体は、その全体が、参照によりここに組み込まれている。
【背景技術】
【0003】
ここで提供される背景説明は、本開示のコンテキストを一般的に示すことを目的としている。現在名前が挙げられている発明者の著作物は、この背景技術セクションに記載されている範囲において、並びに、出願時に先行技術として認められない可能性のある記述の態様は、本開示に対して、明示的にも黙示的にも先行技術とし認められるものではない。
【0004】
ビデオコーディングおよびデコーディングは、動き補償(motion compensation)を伴うインターピクチャ予測(inter-picture prediction)を使用して実行することができる。非圧縮デジタルビデオは、一連のピクチャを含むことができ、各ピクチャは、例えば、1920×1080のルマサンプル(luminance sample)および関連するクロマサンプル(chrominance sample)の空間次元を有している。一連のピクチャは、固定または可変のピクチャレート(非公式にはフレームレートとしても知られている)を持つことができ、例えば、60ピクチャ/秒または60Hzである。非圧縮ビデオは、特定のビットレート要件を有している。例えば、サンプルあたり8ビットで1080p60 4:2:0ビデオ(フレームレート60Hzで1920×1080ルマサンプル解像度)は、1.5Gbit/sに近い帯域幅を必要とする。そうしたビデオの1時間は、600GByte以上のストレージスペースを必要とする。
【0005】
ビデオコーディングおよびデコーディングの目的の1つは、圧縮を通じた、入力ビデオ信号における冗長性の削減である。圧縮は、前述の帯域幅及び/又はストレージスペースの要件を削減するのに役立ち、場合によっては、2桁以上になる。可逆圧縮および非可逆圧縮の両方、並びに、それらの組み合わせを採用することができる。可逆圧縮とは、圧縮された元の信号から元の信号の正確なコピーを再構成できる技術を指し示す。非可逆圧縮を使用する場合、再構成された信号は、元の信号と同一ではない可能性があるが、元の信号と再構成された信号との間の歪みは、再構成された信号が目的のアプリケーションに役立つように十分に小さい。ビデオの場合、非可逆圧縮が広く採用されている。許容される歪みの量は、アプリケーションによって異なる。例えば、特定のコンシューマーストリーミングアプリケーションのユーザは、テレビ配信アプリケーションのユーザよりも高い歪みを許容し得る。達成可能な圧縮比は、以下を反映することができる。許される/許容される歪みが大きいほど、高い圧縮比を得ることができる。
【0006】
ビデオエンコーダおよびデコーダは、いくつかの広範なカテゴリからの技術を利用することができ、例えば、動き補償、変換、量子化、およびエントロピーコーディングを含んでいる。
【0007】
ビデオコーデック(codec)技術は、イントラコーディング(intra coding)として知られている技術を含むことができる。イントラコーディングにおいては、サンプル値は、以前に再構成された参照ピクチャからのサンプルまたは他のデータを参照することなく、表現される。いくつかのビデオコーデックにおいて、ピクチャは、サンプルのブロックに空間的へと分割される。サンプルの全てのブロックがイントラモードでコード化(coded)されている場合、そのピクチャはイントラピクチャであり得る。イントラピクチャ、および、独立したデコーダリフレッシュピクチャ(decoder refresh picture)といった導出物(deviation)は、デコーダの状態をリセットするために使用することができ、そして、従って、コード化ビデオビットストリームおよびビデオセッションの最初のピクチャとして、または、静止ピクチャとして使用することができる。ブロック内のサンプルを変換にさらス(expose)ことができ、そして、エントロピーコーディングの前に変換係数を量子化することができる。イントラ予測は、変換前の領域のサンプル値を最小化する技法である。場合によっては、変換後のDC値が小さく、かつ、AC係数が小さいほど、エントロピーコーディング後のブロックを表現するために、所与の量子化ステップサイズで必要とされるビットが少なくなる。
【0008】
例えば、MPEG-2世代のコーディング技術から知られているような従来のイントラコーディングは、イントラ予測を使用しない。しかしながら、いくつかの新しいビデオ圧縮技術は、例えば、空間的に隣接しており、かつ、デコーディング順序において先行しているデータブロックのエンコーディング及び/又はデコーディングの最中に獲得された周囲のサンプルデータ及び/又はメタデータから、試みる技術を含んでいる。そうした技術は、以降では「イントラ予測(“intra prediction”)」技術と呼ばれている。少なくとも一部のケースにおいて、イントラ予測は、再構成中の現在ピクチャ(current picture)からの参照データのみを使用し、そして、参照ピクチャからではないことに注意すること。
【0009】
イントラ予測に係る多くの異なる形式が存在している。そうした技術の1つ以上を所与のビデオコーディング技術で使用することができる場合、使用中の技術は、イントラ予測モードでコード化することができる。所定のケースにおいて、モードは、サブモード及び/又はパラメータを持つことができ、そして、それらは個別にコード化することができ、または、モードコードワードに含めることができる。所与のモード、サブモード、及び/又はパラメータの組み合わせに使用するコードワードは、イントラ予測を通じたコーディング効率の向上に影響を与える可能性があり、そして、コードワードをビットストリームへと変換するために使用されるエントロピーコーディング技術も影響を受ける可能性がある。
【0010】
イントラ予測に係る所定のモードは、H.264で導入され、H.265で洗練され、そして、共同探索モデル(joint exploration model、JEM)、汎用ビデオコーディング(versatile video coding、VVC)および、ベンチマークセット(BMS)といった、新しいコーディング技術においてさらに洗練されている。予測ブロック(predictor block)は、既に利用可能なサンプルに属している隣接サンプル値を使用して、形成することができる。隣接サンプルのサンプル値は、方向に従って予測ブロックへとコピーされる。使用中の方向への参照は、ビットストリームにおいてコード化することができ、または、それ自体が予測され得る。
【0011】
図1を参照すると、右下に示されているのは、H.265の33個の可能な予測方向(predictor directions)(35個のイントラモードのうち33個の角度モード(angular mode)に対応している)から知られている9個の予測方向のサブセットである。矢印が収束するポイント(101)は、予測されるサンプルを表している。矢印は、サンプルが予測される方向を表している。例えば、矢印(102)は、サンプル(101)が、水平から45度の角度で、サンプルから右上に予測されることを示している。同様に、矢印(103)は、サンプル(101)が、水平から22.5度の角度で、サンプルからサンプル(101)の左下に予測されることを示している。
【0012】
さらに図1を参照すると、左上には、4×4サンプル(太字の破線で示されている)の正方形のブロック(104)が描かれている。正方形のブロック(104)には16個のサンプルが含まれており、それぞれに「S」でラベル付けされており、Y次元(例えば、行(row)インデックス)での位置、および、X次元(例えば、列(column)インデックス)での位置である。例えば、サンプルS21は、Y次元において(上から)第2サンプルであり、かつ、X次元において(左から)1番目のサンプルである。同様に、サンプルS44は、Y次元とX次元の両方においてブロック(104)の4番目のサンプルである。ブロックのサイズは4×4サンプルなので、S44は右下にある。さらに、同様の番号付けスキームに従った参照サンプルが示されている。参照サンプルは、Rでラベル付けされており、ブロック(104)に対する、
その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イントラモードが決定され得る。前記第1シンタックス要素は、最確モード(MPM)リストおよびMPM剰余から、前記現在ブロックの前記第1イントラモードを示すことができる。前記第1イントラモードおよび前記複数の候補イントラモードに基づいて、前記現在ブロックの第2イントラモードが決定され得る。前記第1イントラモードおよび前記第2イントラモードに基づいて、前記現在ブロックが再構成され得る。
【0020】
いくつかの実施形態において、前記第1イントラモードは、前記現在ブロックが少なくとも部分的に前記イントラモード導出に基づいてイントラ予測されていることを示している前記フラグ情報に応答して、第1シンタックス要素に基づいて決定され得る。
【0021】
前記方法においては、前記現在ブロックが前記イントラモード導出に基づいてイントラ予測されていないことを示している前記フラグ情報に応答して、前記コード化情報に含まれる第2シンタックス要素に基づいて第3イントラモードが決定され得る。
【0022】
一態様において、前記イントラモード導出は、前記複数の候補イントラモードが、前記隣接サンプルに関連付けられた勾配のヒストグラム(HoG)に基づいて決定される、デコーダ側イントラモード導出(DIMD)を含み得る。
【0023】
別の実施形態において、前記イントラモード導出は、前記複数の候補イントラモードが、前記隣接サンプルのコスト値に基づいて決定される、テンプレートベースのイントラモード導出(TIMD)を含み得る。
【0024】
前記現在ブロックの前記第2イントラモードを決定するために、前記第1イントラモードに基づいて、前記現在ブロック内のサンプルの第1予測値が決定され得る。第1予測値に基づいて、前記現在ブロック内の前記サンプルの再構成値が決定され得る。前記複数の候補イントラモードそれぞれに基づいて、前記現在ブロック内の前記サンプルそれぞれの候補予測値が決定され得る。複数のテンプレート一致値が、さらに、決定され得る。前記複数の候補イントラモードの対応する1つに基づいて、前記複数のテンプレート一致値それぞれが、再構成された値から(i)第1予測値および(ii)それぞれの候補予測値を引いた値の2倍に等しくあり得る。前記現在ブロックの第2イントラモードが、続いて、決定され得る。ここで、前記第2イントラモードは、前記複数のテンプレート一致値の最小テンプレート一致値に関連付けられた前記複数の候補イントラモードの候補イントラモードである。
【0025】
前記現在ブロックを再構成するために、前記第2イントラモードに基づいて、前記現在ブロック内のサンプルの第2予測値が決定され得る。最終予測値に基づいて、前記現在ブロックが、さらに、再構成され得る。記最終予測値は、第1予測値および第2予測値の重み付けされた組み合わせであり得る。
【0026】
いくつかの実施形態において、前記重み付けされた組み合わせは、等しく重み付けされ得る。
【0027】
本開示の別の態様に従って、装置が提供される。前記装置は、処理回路を含んでいる。前記処理回路は、ビデオコーディングの任意の方法を実行するように構成され得る。
【0028】
本開示の態様は、また、ビデオデコーディングのためにコンピュータによって実行されると、前記コンピュータにビデオコーディングの任意の方法を実行させる命令を保管している、非一時的なコンピュータ可読媒体も提供する。
【図面の簡単な説明】
【0029】
開示される技術的事項のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになる。
図1図1は、イントラ予測モードの例示的なサブセットの概略図である。
図2図2は、例示的なイントラ予測方向の図示である。
図3図3は、一実施形態に従った、通信システム(300)の簡略化されたブロック図の概略図である。
図4図4は、一実施形態に従った、通信システム(400)の簡略化されたブロック図の概略図である。
図5図5は、一実施形態に従った、デコーダの簡略化されたブロック図の概略図である。
図6図6は、一実施形態に従った、エンコーダの簡略化されたブロック図の概略図である。
図7図7は、別の実施形態に従った、エンコーダのブロック図である。
図8図8は、別の実施形態に従った、デコーダのブロック図である。
図9図9は、一実施形態に従った、テンプレートベースのイントラモード導出(TIMD)の概略図である。
図10図10は、本開示のいくつかの実施形態に従った、例示的なデコーディングプロセスの概要を示すフローチャートである。
図11図11は、本開示のいくつかの実施形態に従った、例示的なエンコーディングプロセスの概要を示すフローチャートである。
図12図12は、一実施形態に従った、コンピュータシステムの概略図である。
【発明を実施するための形態】
【0030】
図3は、本開示の一実施形態に従った、通信システム(300)の簡略化されたブロック図を示している。通信システム(300)は、例えば、ネットワーク(350)を介して相互に通信できる複数の端末装置を含んでいる。例えば、通信システム(300)は、ネットワーク(350)を介して相互接続された端末装置(310)と(320)の第1ペアを含んでいる。図3の例において、端末装置(310)と(320)の第1ペアが、データの単方向伝送を実行する。例えば、端末装置(310)は、ネットワーク(350)を介して他の端末装置(320)に伝送するためのビデオデータ(例えば、端末装置(310)によってキャプチャされたビデオピクチャのストリーム)をコード化することができる。エンコーディングされたビデオデータは、1つ以上のコード化ビデオビットストリームの形で伝送することができる。端末装置(320)は、ネットワーク(350)からコード化ビデオデータを受信し、コード化ビデオデータをデコードしてビデオピクチャを回復し、回復されたビデオデータに従ってビデオピクチャを表示することができる。一方向データ伝送は、メディアサービス用途などで一般的であり得る。
【0031】
別の例において、通信システム(300)は、例えば、テレビ会議の最中に発生する可能性のあるコード化ビデオデータの双方向伝送を実行する端末装置(330)と(340)の第2ペアを含んでいる。データの双方向伝送のために、一例において、端末装置(330)と(340)の各端末装置は、ネットワーク(350)を介して端末装置(330)と(340)の他の端末装置に伝送するためのビデオデータ(例えば、端末装置によってキャプチャされたビデオピクチャのストリーム)をコード化することができる。端末装置(330)と(340)の各端末装置は、また、端末装置(330)と(340)の他の端末装置が送信したコード化ビデオデータを受信し、そして、コード化ビデオデータをデコーディングして、ビデオピクチャを回復することができ、かつ、回復されたビデオデータに従ってアクセス可能な表示装置にビデオピクチャを表示することができる。
【0032】
図3の例において、端末装置(310)、(320)、(330)、および(340)は、サーバ、パーソナルコンピュータ、スマートフォンとして例示することができるが、本開示の原則は、そのように限定されるものではない。本開示の実施例は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤー、及び/又は、専用のビデオ会議機器に適用される。ネットワーク(350)は、端末装置(310)、(320)、(330)、および(340)の間でコード化ビデオデータを伝達する任意の数のネットワークを表しており、例えば、有線(wired)及び/又は無線通信ネットワークを含んでいる。通信ネットワーク(350)は、回線交換及び/又はパケット交換チャネルでデータを交換することができる。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、及び/又は、インターネットを含んでいる。本説明の目的において、ネットワーク (350)のアーキテクチャおよびトポロジーは、以下に説明されない限り、本開示の動作にとって重要でないことがある。
【0033】
図4は、開示される技術的事項(subject matter)のアプリケーションの一例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置を示している。開示される技術的事項は、例えば、ビデオ会議、デジタルテレビ、を含み、CD、DVD、メモリスティック、等含む、デジタルメディアへ圧縮ビデオの保存する、他のビデオ対応アプリケーションにも同様に適用することができる、など。
【0034】
ストリーミングシステムは、例えば、圧縮されていないビデオピクチャのストリーム(402)を作成する、例えばデジタルカメラの、ビデオソース(401)を含むことができる、キャプチャサブシステム(413)を含み得る。一例において、ビデオピクチャのストリーム(402)は、デジタルカメラによって撮影されたサンプルを含んでいる。ビデオピクチャのストリーム(402)は、エンコーディングされたビデオデータ(404)(または、コード化ビデオビットストリーム)と比較した場合に高いデータ量を強調するための太字の線として描かれており、ビデオソース(401)に結合されたビデオエンコーダ(403)を含む、電子デバイス(420)によって処理することができる。ビデオエンコーダ(403)は、以下で、より詳細に説明されるように、開示される技術的事項の態様を有効化し、または、実装するためのハードウェア、ソフトウェア、または、それらの組み合わせを含むことができる。エンコーディングされたビデオデータ(404)(または、コード化ビデオビットストリーム(404))は、ビデオピクチャのストリーム(402)と比較した場合に、より低いデータ量を強調するための細い線として描かれており、将来の使用のためにストリーミングサーバ(405)に保管することができる。図4のクライアントサブシステム(406と(408)といった、1つ以上のストリーミングクライアントサブシステムは、ストリーミングサーバ(405)にアクセスして、コード化ビデオデータ(404)のコピー(407)と(409)を獲得することができる。クライアントサブシステム(406)は、例えば、電子デバイス(430)内にビデオデコーダ(410)を含むことができる。ビデオデコーダ(410)は、エンコーディングされたビデオデータの着信コピー(incoming copy)(407)をデコーディングし、そして、ディスプレイ(412)(例えば、ディスプレイスクリーン)または他のレンダリングデバイス(図示なし)においてレンダリングすることができるビデオピクチャ(411)の発信ストリーム(outgoing stream)を作成する。いくつかのストリーミングシステムにおいて、エンコーディングされたビデオデータ(404)、(407)、および(409)(例えば、ビデオビットストリーム)は、所定のビデオコーディング/圧縮標準に従って、エンコーディングすることができる。これらの標準の例は、ITU-T勧告H.265を含んでいる。一例として、開発中のビデオコーディング標準は、非公式にバーサタイルビデオコーディング(Versatile Video Coding、VVC)として知られている。開示される技術的事項は、VVCのコンテキストで使用されてよい。
【0035】
電子デバイス(420)および(430)は、他のコンポーネント(図示なし)を含むことができる。例えば、電子デバイス(420)は、ビデオデコーダ(図示なし)を含むことができ、そして、電子デバイス(430)は、同様に、ビデオエンコーダ(図示なし)を含むことができる。
【0036】
図5は、本開示の一実施形態に従った、ビデオデコーダ(510)のブロック図を示している。ビデオデコーダ(510)は、電子デバイス(530)に含めることができる。電子デバイス(530)は、受信器(531)(例えば、受信回路)を含むことができる。ビデオデコーダ(510)は、図4の例におけるビデオデコーダ(410)の代わりに使用することができる。
【0037】
受信器(531)は、ビデオデコーダ(510)によってデコーディングされる1つ以上のコード化ビデオシーケンスを受信することができる。同じ又は別の実施形態において、一度に1つのコード化ビデオシーケンスであり、各コード化ビデオシーケンスのデコーディングは、他のコード化ビデオシーケンスから独立している。コード化ビデオシーケンスは、チャネル(501)から受信することができ、これは、コード化ビデオデータを保管するストレージデバイスへのハードウェア/ソフトウェアリンクであってよい。受信器(531)は、エンコーディングされたビデオデータを、他のデータ、例えば、コード化オーディオデータ及び/又は補助的なデータストリームと共に受信することができ、これらはそれぞれの使用するエンティチ(図示なし)に転送され得る。受信器(531)は、コード化ビデオシーケンスを他のデータから分離することができる。ネットワークジッター(jitter)に対処するために、バッファメモリ(515)が、受信器(531)とエントロピーデコーダ/パーサ(520)(以降では「パーサ(520)」)との間に結合されてよい。所定のアプリケーションにおいて、バッファメモリ(515)は、ビデオデコーダ(510)の一部である。他のアプリケーションでは、ビデオデコーダ(510)の外部にあってよい(図示なし)。さらに他のアプリケーションでは、例えば、ネットワークのジッターに対処するために、ビデオデコーダ(510)の外部にバッファメモリ(図示なし)が存在することができ、そして、例えば、再生タイミングを処理するために、追加で、ビデオデコーダ(510)の内部に別のバッファメモリ(515)が存在し得る。受信器(531)が十分な帯域幅および制御可能性のあるストア/フォワードデバイスから、または、アイソシンクロナス(isosynchronous)ネットワークからデータを受信している場合、バッファメモリ(515)は、必要とされないことがあり、または、小さくてよい。インターネットといったベストエフォートパケットネットワークで使用するために、バッファメモリ(515)は、必要とされることがあり、比較的大きく、かつ、有利なことにアダプティブサイズにすることができ、そして、ビデオデコーダ(510)の外部のオペレーティングシステムまたは同様の要素(図示なし)に少なくとも部分的に実装することができる。
【0038】
ビデオデコーダ(510)は、コード化されたビデオシーケンスからシンボル(521)を再構成するためのパーサ(520)を含むことができる。これらのシンボルのカテゴリは、ビデオデコーダ(510)の動作を管理するために使用される情報、および、潜在的には、図5に示されるように、電子デバイス(530)の不可欠な部分ではないが、電子デバイス(530)に結合することができるレンダリングデバイス(512)(例えば、ディスプレイスクリーン)といったレンダリングデバイスを制御するための情報を含んでいる。レンダリングデバイスのための制御情報は、補助強化情報(Supplemental Enhancement Information、(SEI メッセージ)、または、ビデオ有用性情報(Video Usability Information、VUI)パラメータセットフラグメント(図示なし)の形式であり得る。パーサ(520)は、受信されたコード化ビデオシーケンスを解析/エントロピーデコーディングすることができる。コード化ビデオシーケンスのコーディングは、ビデオコーディング技術または標準に従うことができ、そして、可変長コーディング、ハフマンコーディング、コンテキストセンシティビティの有無による算術コーディング、などを含む、様々な原則に従うことができる。パーサ(520)は、グループに対応する少なくとも1つのパラメータに基づいて、ビデオデコーダ内のピクセルのサブグループの少なくとも1つのサブグループパラメータのセットを、コード化ビデオシーケンスから抽出することができる。サブグループは、ピクチャグループ(Group of Pictures、GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(Coding Units、CU)、ブロック、変換ユニット(Transform Units、TU)、予測ユニット(Prediction Units、PU)、などを含むことができる。パーサ(520)は、また、変換係数、量子化子パラメータ値、動きベクトル、等といった、コード化ビデオシーケンス情報から抽出することもできる。
【0039】
パーサ(520)は、シンボル(521)を作成するために、バッファメモリ(515)から受信したビデオシーケンスに対してエントロピーデコーディング/解析動作を実行することができる。
【0040】
シンボル(521)の再構成は、コード化ビデオピクチャまたはその一部(インターピクチャおよびイントラピクチャ、インターブロックおよびイントラブロック、といったもの)の種類、および、他の要因に応じて、複数の異なるユニットを含むことができる。どのユニットが関与し、どのように関与するかは、パーサ(520)によってコード化ビデオシーケンスから解析されたサブグループ制御情報によって制御することができる。パーサ(520)と以下の複数のユニットとの間のそうしたサブグループ制御情報のフローは、明確にするために描かれていない。
【0041】
既に述べた機能ブロックを超えて、ビデオデコーダ(510)は、以下に説明されるように、概念的にいくつかの機能ユニットへと細分化することができる。商業的制約の下で動作する実用的な実装において、これらのユニットの多くは相互に密接にインタラクションし、そして、少なくとも部分的には、相互に統合することができる。しかしながら、開示される技術的事項を記述する目的のためには、以下の機能単位への概念的な細分化が適切である。
【0042】
第1ユニットは、スケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット(551)は、量子化された変換係数、並びに、どの変換を使用するか、ブロックサイズ、量子化係数、量子化スケーリングマトリクス、等をシンボル(521)として含む制御情報をパーサ(520)から受け取る。スケーラ/逆変換ユニット(551)は、アグリゲータ(555)に入力可能なサンプル値を構成するブロックを出力することができる。
【0043】
場合によって、スケーラ/逆変換(551)の出力サンプルは、イントラコーディングブロックに関係することができる。つまり、以前に再構成されたピクチャからの予測情報を使用していないが、現在ピクチャの以前に再構成された部分からの予測情報を使用することができるブロックである。そうした予測情報は、イントラピクチャ予測ユニット(552)によって提供することができる。場合によって、イントラピクチャ予測ユニット (552)は、現在ピクチャバッファ(558)からフェッチされた周囲の既に再構成された情報を使用して、再構成中のブロックと同じサイズおよび形状のブロックを生成する。現在ピクチャバッファ(558)は、例えば、部分的に再構成された現在ピクチャ、及び/又は、完全に再構成された現在ピクチャをバッファする。アグリゲータ(555)は、場合によっては、スケーラ/逆変換ユニット(551)によって提供される出力サンプル情報に、イントラ予測ユニット(552)が生成した予測情報をサンプルベースで追加する。
【0044】
他の場合に、スケーラ/逆変換ユニット(551)の出力サンプルは、インターコード化され、そして、潜在的に、動き補償されたブロックに関係することができる。そうした場合に、動き補償予測ユニット(553)は、予測に使用されるサンプルをフェッチするために参照ピクチャメモリ(557)にアクセスすることができる。ブロックに関連するシンボル(521)に従って、フェッチされたサンプルを動き補償した後で、これらのサンプルは、出力サンプル情報を生成するように、アグリゲータ(555)によってスケーラ/逆変換ユニット(551)の出力(この場合、残差サンプルまたは残差信号として知られている)に追加することができる。動き補償予測ユニット(553)が予測サンプルをフェッチする参照ピクチャメモリ(557)内のアドレスは、動きベクトルによって制御することができ、例えばX、Y、および参照ピクチャコンポーネントを持つことができるシンボル(521)の形式で、動き補償予測ユニットについて利用可能である。動き補償は、また、サブサンプルの正確な動きベクトルが使用されている場合には参照ピクチャメモリ(557)からフェッチされたサンプル値の補間(interpolation)、動きベクトル予測メカニズム、なども含むことができる。
【0045】
アグリゲータ(555)の出力サンプルは、ループフィルタユニット(556)において様々なループフィルタリング技術の対象とすることができる。ビデオ圧縮技術は、コード化ビデオシーケンス(また、コード化ビデオビットストリームとも称される)に含まれるパラメータによって制御され、かつ、パーサ(520)からシンボル(521)としてループフィルタユニット(556)について使用可能にされる、インループフィルタ技術を含むことができるが、コード化ピクチャまたはコード化ビデオシーケンスの(デコーディング順序において)以前の部分のデコーディングの最中に獲得されたメタ情報に応答し、同様に、以前に再構成され、そして、ループフィルタリングされたサンプル値に応答することもできる。
【0046】
ループフィルタユニット(556)の出力は、レンダリングデバイス(512)に出力することができ、同様に、将来のインターピクチャ予測で使用するために参照ピクチャメモリ(557)に保存することができる、サンプルストリームであり得る。
【0047】
所定のコード化ピクチャは、一旦完全に再構成されると、将来の予測のための参照ピクチャとして使用することができる。例えば、現在ピクチャに対応するコード化ピクチャが一旦完全に再構成され、そして、コード化ピクチャが(例えばパーサ(520)によって)参照ピクチャとして識別されると、現在ピクチャバッファ(558)は、参照ピクチャメモリ(557)の一部となり、そして、次のコード化ピクチャの再構成を開始する前に、新しい現在ピクチャバッファを再割り当てすることができる。
【0048】
ビデオデコーダ(510)は、ITU-T Rec. H.265といった標準における既定のビデオ圧縮技術に従って、デコーディング動作を実行することができる。
コード化ビデオシーケンスは、コード化ビデオシーケンスが、ビデオ圧縮技術または標準のシンタックス、および、ビデオ圧縮技術または標準に記載されているプロファイルの両方に準拠しているという意味において、使用されているビデオ圧縮技術または標準によって指定されたシンタックスに準拠することができる。具体的に、プロファイルは、そのプロファイルの下で使用可能な唯一のツールとして、ビデオ圧縮技術または標準で使用可能な全てのツールから所定のツールを選択できる。また、準拠に必要なのは、コード化ビデオシーケンスの複雑性が、ビデオ圧縮技術または標準のレベルによって定義される範囲内にあることである。場合によっては、レベルによって最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えばメガサンプル/秒などで測定される)、最大参照ピクチャサイズなどが制限される。レベルによって設定された制限は、場合によっては、コード化ビデオシーケンスで信号化される仮想参照デコーダ(Hypothetical Reference Decoder、HRD)仕様およびHRDバッファ管理のメタデータを通じてさらに制限することができる。
【0049】
一実施形態において、受信器(531)は、エンコーディングされたビデオと共に追加の(冗長な)でタを受信することができる。追加データは、コード化ビデオシーケンスの一部として含まれてよい。追加データは、データを適切にデコーディングするため、かつ/あるいは、元のビデオデータをより正確に再構成するために、ビデオデコーダ(510)によって使用され得る。追加データは、例えば、時間的、空間的、または、信号ノイズ比(SNR)エンハンスメントレイヤ(enhancement layer)、冗長スライス、冗長ピクチャ、順方向エラー訂正コード、などの形式であってよい。
【0050】
図6は、本開示の一実施形態に従った、ビデオエンコーダ(603)のブロック図を示している。ビデオエンコーダ(603)は、電子デバイス(620)に含まれている。電子デバイス(620)は、送信器(640)(例えば、送信回路)を含んでいる。ビデオエンコーダ(603)は、図4の例におけるビデオエンコーダ(403)の代わりに使用することができる。
【0051】
ビデオエンコーダ(603)は、ビデオエンコーダ(603)によってコード化されるビデオイメージをキャプチャし得る、ビデオソース(601)(図6の例における電子デバイス(620)の一部ではない)からビデオサンプルを受け取ることができる。別の例において、ビデオソース(601)は、電子デバイス(620)の一部である。
【0052】
ビデオソース(601)は、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、...)、任意の色空間(例えば、BT.601 YCrCB、RGB、...)、および、任意の適切なサンプリング構造(例えば、YCrCb 4:2:0、YCrCb 4:4:4)であり得るデジタルビデオサンプルストリームの形式で、ビデオエンコーダ(603)によってコード化されるソースビデオシーケンスを提供することができる。メディアサービングシステムにおいて、ビデオソース(601)は、以前に準備されたビデオを保管するストレージであり得る。ビデオ会議システムにおいて、ビデオソース(601)は、ローカルピクチャ情報をビデオシーケンスとしてキャプチャするカメラであり得る。ビデオデータは、シーケンスで鑑賞される場合に動きを与える、複数の個別のピクチャとして提供され得る。ピクチャ自体は、ピクセルの空間配列として編成されてよく、ここで、各ピクセルは、使用中のサンプリング構造、色空間、等に応じて、1つ以上のサンプルを構成することができる。当業者であれば、ピクセルとサンプルとの間の関係を容易に理解することができる。以下の説明は、サンプルにフォーカスしている。
【0053】
一実施形態に従って、ビデオエンコーダ(603)は、リアルタイムで、または、アプリケーションによって要求される任意の他の時間制約の下で、ソースビデオシーケンスのピクチャをコード化し、そして、コード化ビデオシーケンス(643)へと圧縮することができる。適切なコーディング速度を実施することは、コントローラ(650)の機能の1つである。いくつかの実施形態において、コントローラ(650)は、以下に説明されるように他の機能ユニットを制御し、そして、他の機能ユニットに機能的に結合される。明確にするために、結合は描かれていない。コントローラ(650)によって設定されるパラメータは、レートコントロール関連パラメータ(ピクチャスキップ、量子化、レート歪み最適化技法のラムダ値(lambda value)、...)、ピクチャサイズ、ピクチャグループ(GOP)レイアウト、最大動きベクトル検索範囲、などを含む。コントローラ(650)は、所定のシステム設計に最適化されたビデオエンコーダ(603)に関連する他の適切な機能を有するように設定することができる。
【0054】
いくつかの実施形態において、ビデオエンコーダ(603)は、コーディングループで動作するように設定される。過度に単純化された説明として、一例において、コーディングループは、ソースコーダ(630)(例えば、コード化される入力ピクチャ、および参照ピクチャに基づいて、シンボルストリームといったシンボルを作成する責任がある)、および、ビデオエンコーダ(603)に埋め込まれた(ローカル)デコーダ(633)を含むことができる。デコーダ(633)は、(リモート)でコーダが作成するのと同様の方法でサンプルデータを作成するためにシンボルを再構成する(開示される技術的事項で考慮されるビデオ圧縮技術では、シンボルとコード化ビデオビットストリームとの間の圧縮は可逆であるため)。再構成されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(634)に入力される。シンボルストリームのデコードは、デコーダの場所(ローカルまたはリモート)に依存しないビット正確な(bit-exact)結果につながるので、参照ピクチャメモリ(634)内のコンテンツも、また、ローカルエンコーダとリモートエンコーダとの間でビット正確である。別の言葉で言えば、エンコーダの予測部分は、デコーディングの最中に予測を使用する場合、デコーダが「見る(“see”)」であろうサンプル値と全く同じサンプル値を参照ピクチャサンプルとして「見る」。この参照ピクチャの同期性(および、例えば、チャネルエラーのせいで同期性を維持できない場合、結果として生じるドリフト)の基本原理は、同様に、いくつかの関連技術でも使用されている。
【0055】
「ローカル(“local”)」デコーダ(633)の動作は、既に図5と併せて詳細に説明されている、ビデオデコーダ(510)といった、「リモート(“remote”)」デコーダと同じであり得る。図5も、また、簡単に参照すると、しかしながら、シンボルが利用可能であり、かつ、エントロピーコーダ(645)およびパーサ(520)によるコード化ビデオシーケンスへのシンボルのエンコーディング/デコーディングが可逆であり得るので、バッファメモリ(515)を含む、ビデオデコーダ(510)のエントロピーデコーディング部分、およびパーサ(520)は、ローカルデコーダ(633)で完全には実装されていなくてよい。
【0056】
この時点でなされ得る観察は、デコーダに存在する解析/エントロピーデコーディングを除く任意のデコーダ技術は、また、対応するエンコーダにおいても、実質的に同一の機能形態で、存在することを要するということである。このため、開示される技術的事項は、デコーダの動作にフォーカスしている。エンコーダ技術の説明は、包括的に記述されたデコーダ技術の逆であるため、省略することができる。所定の分野においてのみ、より詳細な説明が必要であり、そして、以下で提供されている。
【0057】
動作の最中に、いくつかの例において、ソースコーダ(630)は、「参照ピクチャ(“reference picture”)」として指定されたビデオシーケンスから、1つ以上の以前にコード化されたピクチャを参照して、入力ピクチャを予測的にコード化する、動き補償予測コーディングを実行することができる。このようにして、コーディングエンジン(632)は、入力ピクチャのピクセルブロックと、入力ピクチャへの予測参照として選択され得る参照ピクチャのピクセルブロックとの間の差異(difference)をコード化する。
【0058】
ローカルビデオデコーダ(633)は、ソースコーダ(630)によって作成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャのコード化ビデオデータをデコーディングすることができる。コーディングエンジン(632)の動作は、有利なことに、非可逆プロセスであり得る。コード化ビデオデータがビデオデコーダ(図6に図示なし)でデコーディングされ得る場合、再構成されたビデオシーケンスは、典型的に、いくつかのエラーを伴うソースビデオシーケンスのレプリカであり得る。ローカルビデオデコーダ(633)は、ビデオデコーダによって参照ピクチャに対して実行され得るデコーディングプロセスを複製(replicate)し、そして、再構成された参照ピクチャを参照ピクチャキャッシュ(634)に保管させることができる。このようにして、ビデオエンコーダ(603)は、共通のコンテンツを有する再構成された参照ピクチャのコピーを、遠端(far-end)ビデオデコーダ(伝送エラーがない)によって獲得される再構成された参照ピクチャとして、ローカルに保管することができる。
【0059】
予測器(predictor)(635)は、コーディングエンジン(632)のために予測検索を実行することができる。つまり、コード化される新しいピクチャについて、予測器(635)は、新しいピクチャの適切な予測参照として機能し得る、サンプルデータ(候補参照ピクセルブロックとして)、または、参照ピクチャの動きベクトル、ブロック形状、等といった所定のメタデータについて参照ピクチャメモリ(634)を検索することができる。予測器(635)は、適切な予測参照(prediction reference)を見つけるために、ピクセルによるブロック(block-by-pixel)のブロックベースでサンプルにおいて動作し得る。場合によっては、予測器(635)によって獲得された検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(634)に保管された複数の参照ピクチャから引き出された予測参照を有し得る。
【0060】
コントローラ(650)は、例えば、ビデオデータのエンコーディングのために使用されるパラメータおよびサブグループパラメータの設定を含む、ソースコーダ(630)のコーディング動作を管理することができる。
【0061】
全ての前述した機能ユニットの出力は、エントロピーコーダ(645)においてエントロピーコーディングを受けることができる。エントロピーコーダ(645)は、ハフマンコーディング、可変長コーディング、算術コーディング、等といった技術に従って、シンボルを可逆圧縮することによって、様々な機能ユニットにより生成されるシンボルをコード化ビデオシーケンスへと変換する。
【0062】
送信器(640)は、エンコーディングされたビデオデータを保管するストレージ装置へのハードウェア/ソフトウェアリンクであり得る、通信チャネル(660)を介する送信を準備するために、エントロピーコーダ(645)によって作成されるコード化ビデオシーケンスをバッファすることができる。送信器(640)は、ビデオコーダ(603)からのコード化ビデオデータを、送信される他のデータ、例えば、コード化オーディオデータ及び/又は補助的なデータストリーム(ソースは図示なし)、とマージすることができる。
【0063】
コントローラ(650)は、ビデオエンコーダ(603)の動作を管理することができる。コーディングの最中に、コントローラ(650)は、各コード化ピクチャに所定のコード化ピクチャタイプを割り当てることができ、これは、それぞれのピクチャに適用され得るコーディング技術に影響を与え得る。例えば、ピクチャは、しばしば、次のピクチャタイプの1つとして割り当てされ得る。
【0064】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の他のピクチャを使用することなくコーディングおよびデコーディングされ得るものである。いくつかのビデオコーデックは、例えば、独立デコーダリフレッシュ(Independent Decoder Refresh、IDR)ピクチャを含む、異なるタイプのイントラピクチャを使用することができる。当業者であれば、Iピクチャのこれらのバリアント、および、それぞれのアプリケーションと特徴を認識している。
【0065】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、最大で1つの動きベクトルおよび参照インデックスを使用し、イントラ予測またはインター予測を使用して、コーディングおよびデコーディングされ得るものである。
【0066】
双方向(bi-directionally)予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、最大で2個の動きベクトルおよび参照インデックスを使用し、イントラ予測またはインター予測を使用して、コーディングおよびデコーディングされ得るものである。同様に、複数予測ピクチャは、1つのブロックの再構成のために、2個以上の参照ピクチャおよび関連するメタデータを使用することができる。
【0067】
ソースピクチャは、一般的に、複数のサンプルブロック(例えば、4×4、8×8、4×8、または16×16の各サンプルのブロック)へと空間的に細分化され、そして、ブロックによるブロック(block-by-block)ベースでコード化され得る。ブロックは、ブロックのそれぞれのピクチャに適用されるコード割り当てによって決定されるように、他の(既にコード化されている)ブロックを参照して予測的にコード化され得る。例えば、Iピクチャのブロックは、非予測的(non-predictively)にコード化されてよく、または、同じピクチャの既にコード化されたブロック(空間予測またはイントラ予測)を参照して予測的にコード化されてよい。Pピクチャのピクセルブロックは、空間予測を介して、または、以前にコード化された1つの参照ピクチャを参照して時間予測を介して、予測的にコード化され得る。Bピクチャのブロックは、空間予測を介して、または、以前にコード化された1つまたは2つの参照ピクチャを参照して時間予測を介して、予測的にコード化され得る。
【0068】
ビデオエンコーダ 603)は、ITU-T Rec H.265といった、所定のビデオコーディング技術または規格に従って、コーディング動作を実行することができる。その動作において、ビデオエンコーダ(603)は、入力ビデオシーケンスの時間的および空間的冗長性を利用する予測コーディング動作を含む、様々な圧縮動作を実行することができる。コード化ビデオデータは、従って、使用されているビデオコーディング技術または標準によって指定されるシンタックスに準拠することができる。
【0069】
一実施形態において、送信器(640)は、エンコーディングされたビデオと共に追加データを送信することができる。ソースコーダ(630)は、コード化ビデオシーケンスの一部として、そうしたデータを含むことができる。追加データは、時間/空間/SNR強化レイヤ、冗長なピクチャおよびスライスといった他の形式の冗長データ、SEIメッセージ、VUIパラメータセットフラグメント、などを含むことができる。
【0070】
ビデオは、時間的なシーケンスで複数のソースピクチャ(ビデオピクチャ)としてキャプチャされ得る。イントラピクチャ予測(しばしば、イントラ予測と略される)は、所与のピクチャ内の空間的相関を利用し、そして、インターピクチャ予測は、ピクチャ間の(時間的または他の)相関を利用する。一例において、現在ピクチャとして称される、エンコーディング/デコーディング中の特定のピクチャをブロックへと分割する。現在ピクチャのブロックが、ビデオ内の以前にコード化され、かつ、未だにバッファされている参照ピクチャの参照ブロックと類似している場合、現在ピクチャのブロックは、動きベクトルとして称される、ベクトルによってコード化することができる。動きベクトルは、参照ピクチャの参照ブロックを指し示し、そして、複数の参照ピクチャが使用されている場合に、参照ピクチャを識別する三次元(three dimension)を有することができる。
【0071】
いくつかの実施形態においては、双予測技法をインターピクチャ予測で使用することができる。双予測技法に従って、ビデオ内の現在ピクチャに対して両方ともデコーディング順序が前である(ただし、表示順序では、それぞれに、過去と未来であり得る)、第1参照ピクチャおよび第2参照ピクチャといった、2個の参照ピクチャが使用される。現在ピクチャ内のブロックは、第1参照ピクチャ内の第1参照ブロックを指し示す第1動きベクトル、および、第2参照ピクチャ内の第2参照ブロックを指し示す第2動きベクトルによってコード化することができる。ブロックは、第1参照ブロックおよび第2参照ブロックの組み合わせによって予測することができる。
【0072】
さらに、マージモード技法をインターピクチャ予測に使用することができ、コーディング効率を向上させる。
【0073】
本開示のいくつかの実施形態に従って、インターピクチャ予測およびイントラピクチャ予測といった、予測は、ブロックの単位で実行される。例えば、HEVC標準に従って、ビデオピクチャのシーケンス内のピクチャは、圧縮のためにコーディングツリーユニット(Coding Tree Unit、CTU)へと分割され、ピクチャ内のCTU、は64×64ピクセル、32×32ピクセル、または16×16ピクセルといった、同じサイズを有している。一般的に、CTUは、3個のコーディングツリーブロック(Coding Tree Block、CTB)を含んでおり、それは、1個のルマCTBおよび2個のクロマCTBである。各CTUは、1つまたは複数のコーディングユニット(CU)へと再帰的に四分木分割(quadtree split)することができる。例えば、64×64ピクセルのCTUは、64×64ピクセルの1個のCUへ、または、32×32ピクセルの4個のCUへ、もしくは、16×16ピクセルの16個のCUへと分割することができる。一例において、各CUが解析され、インター予測タイプまたはイントラ予測タイプといった、CUの予測タイプを決定する。CUは、時間的及び/又は空間的な予測可能性に応じて、1つ以上の予測ユニット(PU)へと分割される。一般的に、各PUは、1個のルマ予測ブロック(PB)、および2個のクロマPBを含んでいる。一例において、コーディング(エンコーディング/デコーディング)における予測動作は、予測ブロックの単位で実行される。予測ブロックの例としてルマ予測ブロックを使用すると、予測ブロックは、8×8ピクセル、16×16ピクセル、8×16ピクセル、16×8ピクセル、等といった、ピクセルの値(例えば、ルマ値)のマトリクスを含んでいる。
【0074】
図7は、本開示の別の実施形態に従った、ビデオエンコーダ(703)の図を示している。ビデオエンコーダ(703)は、ビデオピクチャのシーケンスにおける現在ビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、そして、処理ブロックを、コード化ビデオシーケンスの一部である、コード化ピクチャへとエンコーディングするように構成されている。一例において、図4の例におけるビデオエンコーダ(403)の代わりに、ビデオエンコーダ(703)が使用される。
【0075】
HEVCの例において、ビデオエンコーダ(703)は、8×8サンプル、などの予測ブロックといった、処理ブロックについてサンプル値のマトリクスを受信する。ビデオエンコーダ(703)は、処理ブロックが、例えば、レート歪み最適化(rate-distortion optimization)を使用する、イントラモード、インターモード、または双予測モードを使用して、最適にコード化されているか否かを判断する。処理ブロックがイントラモードでコード化される場合、ビデオエンコーダ(703)は、イントラ予測技法を使用して、処理ブロックをコード化ピクチャへとエンコーディングすることができ、そして、処理ブロックがインターモードまたは双予測モードでコード化される場合、ビデオエンコーダ(703)は、それぞれに、インター予測または双予測技法を使用して、処理ブロックをコード化ピクチャへとエンコーディングすることができる。所定のビデオコーディング技術において、マージモードは、予測器の外部のコード化動きベクトルコンポーネントの利益を受けることなく、動きベクトルが1つ以上の動きベクトル予測器から導出する、インターピクチャ予測サブモードであり得る。所定の他のビデオコーディング技術では、対象のブロック(subject block)に対して適用可能な動きベクトルコンポーネントが存在し得る。一例において、ビデオエンコーダ(703)は、処理ブロックのモードを決定するためにモード決定モジュール(図示なし)といった、他のコンポーネントを含んでいる。
【0076】
図7の例において、ビデオエンコーダ(703)は、図7に示されるように、一緒に結合された、インターエンコーダ(730)、イントラエンコーダ(722)、残差計算器(723)、スイッチ(726)、残差エンコーダ(724)、汎用コントローラ(721)、およびエントロピーエンコーダ(725)を含んでいる。
【0077】
インターエンコーダ(730)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、そして、ブロックを参照ピクチャ内の1つ以上の参照ブロック(例えば、以前のピクチャおよび後のピクチャにおけるブロック)と比較し、インター予測情報(例えば、インターエンコーディング技法に従った冗長情報の記述、動きベクトル、マージモード情報)を生成し、任意の適切な技法を使用してインター予測情報に基づいてインター予測結果(例えば、予測ブロック)を計算する、ように構成されている。いくつかの例において、参照ピクチャは、エンコーディングされたビデオ情報に基づいてデコーディングされた、デコーディングされた参照ピクチャである。
【0078】
イントラエンコーダ(722)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、場合によって、ブロックを同じピクチャ無いで既にコード化されているブロックと比較し、変換後に量子化係数、そして、場合によっては、また、イントラ予測情報(例えば、1つ以上のイントラコーディング技法に従ったイントラ予測方向情報)も生成するように構成されている。一例において、イントラエンコーダ(722)は、また、イントラ予測情報および同じピクチャ内の参照ブロックに基づいて、イントラ予測結果(例えば、予測ブロック)も計算する。
【0079】
汎用コントローラ(721)は、一般的な制御データを決定し、そして、一般的な制御データに基づいてビデオエンコーダ(703)の他のコンポーネントを制御するように構成されている。一例において、汎用コントローラ(721)は、ブロックのモードを決定し、そして、モードに基づいてスイッチ(726)に制御信号を提供する。例えば、モードがイントラモードである場合、汎用コントローラ(721)は、スイッチ(726)を制御して、残差計算器(723)で使用するイントラモード結果を選択し、そして、エントロピーエンコーダ(725)を制御して、イントラ予測情報を選択し、かつ、ビットストリームにイントラ予測情報を含める。そして、モードがインターモードである場合、汎用コントローラ(721)は、スイッチ(726)を制御して、残差計算器(723)で使用するインター予測結果を選択し、そして、エントロピーエンコーダ(725)を制御して、インター予測情報を選択し、かつ、ビットストリームにインター予測情報を含める。
【0080】
残差計算器(723)は、受信したブロックと、イントラエンコーダ(722)またはインターエンコーダ(730)から選択された予測結果との差異(残差データ)を計算するように構成されている。残差エンコーダ(724)は、残差データに基づいて動作するように構成されており、残差データをエンコーディングして変換係数を生成する。一例において、残差エンコーダ(724)は、残差データを空間領域から周波数領域に変換し、そして、変換係数を生成するように構成されている。変換係数は、次いで、量子化された変換係数を獲得するために量子化処理の対象となる。様々な実施形態において、ビデオエンコーダ(703)は、また、残差デコーダ(728)も含んでいる。残差デコーダ(728)は、逆変換を実行し、そして、デコーディングされた残差データを生成するように構成されている。デコーディングされた残差データは、イントラエンコーダ(722)およびインターエンコーダ(730)によって適切に使用することができる。例えば、インターエンコーダ(730)は、デコーディングされた残差データおよびインター予測情報に基づいて、デコーディングされたブロックを生成することができ、そして、イントラエンコーダ(722)は、デコーディングされた残差データおよびイントラ予測情報に基づいて、デコーディングされたブロックを生成することができる。デコーディングされたブロックは、デコーディングされたピクチャを生成するために適切に処理され、そして、デコーディングされたピクチャは、メモリ回路(図示なし)にバッファされて、いくつかの例において参照ピクチャとして使用することができる。
【0081】
エントロピーエンコーダ(725)は、エンコーディングされたブロックを含むようにビットストリームをフォーマットするように構成されている。エントロピーエンコーダ(725)は、HEVC標準といった、適切な標準に従って、様々な情報を含むように構成されている。一例において、エントロピーエンコーダ(725)は、一般的な制御データ、選択された予測情報(例えば、イントラ予測情報またはインター予測情報)、残差情報、および他の適切な情報をビットストリーム内に含むように構成されている。開示される技術的事項に従って、インターモードまたは双予測モードのいずれかのマージサブモードでブロックをコーディングする場合に、残差情報は存在しないことに注意すること。
【0082】
図8は、本開示の別の実施形態に従った、ビデオデコーダ(810)の図を示している。ビデオデコーダ(810)は、コード化ビデオシーケンスの一部である、コード化ピクチャを受信し、そして、コード化ピクチャをデコーディングして再構成されたピクチャを生成するように構成されている。一例においては、図4の例におけるビデオデコーダ(410)の代わりに、ビデオデコーダ(810)が使用されている。
【0083】
図8の例において、ビデオデコーダ(810)は、図8に示されるように一緒に結合された、エントロピーデコーダ(871)、インターデコーダ(880)、残差デコーダ(873)、再構成モジュール(874)、およびイントラデコーダ(872)を含んでいる。
【0084】
エントロピーデコーダ(871)は、コード化ピクチャから、コード化ピクチャが作成されているシンタックス要素を表現する、所定のシンボルを再構成するように構成することができる。そうしたシンボルは、例えば、ブロックがコード化されるモード(例えば、イントラモード、インターモード、双予測モードといったものであり、後者2個はマージサブモードまたは別のサブモードにある)、イントラデコーダ(872)またはインターデコーダ(880)によって、それぞれに、予測に使用される所定のサンプルまたはメタデータを識別することができる、予測情報(例えば、イントラ予測情報またはインター予測情報といったもの)、例えば、量子化された変換係数の形式の残差情報、などを含むことができる。一例において、予測モードがインターモードまたは双予測モードの場合、インター予測情報がインターデコーダ(880)に提供される。そして、予測タイプがイントラ予測タイプの場合、イントラ予測情報がイントラデコーダ(872)に提供される。残差情報は逆量子化の対象とすることができ、そして、残差デコーダ(873)に提供される。
【0085】
インターデコーダ(880)は、インター予測情報を受信し、そして、インター予測情報に基づいてインター予測結果を生成するように構成されている。
【0086】
イントラデコーダ(872)は、イントラ予測情報を受信し、そして、イントラ予測情報に基づいて予測結果を生成するように構成されている。
【0087】
残差デコーダ(873)は、逆量子化を実行して、脱量子化(de-quantized)変換係数を抽出し、そして、脱量子化変換係数を処理して、残差を周波数領域から空間領域に変換するように構成されている。残差デコーダ(873)は、また、所定の制御情報(量子化パラメータ(QP)を含む)を必要とすることもあり、そして、その情報はエントロピーデコーダ(871)によって提供され得る(このように描かれていないデータパスは、少量の制御情報のみであり得る)。
【0088】
再構成モジュール(874)は、空間領域(spatial domain)において、残差デコーダ(873)による出力としての残差、および、予測結果(場合によっては、インターまたはイントラ予測モジュールによる出力としてのもの)を組み合わせて、再構成されたブロックを形成するように構成されており、これは、再構成されたピクチャの一部であってよく、それは、次に、再構成されたビデオの一部であり得る。デブロッキング動作、等といった、他の適切な動作を実行して、画質を向上させることができることに注意すること。
【0089】
ビデオエンコーダ(403)、(603)、および(703)、並びに、ビデオデコーダ(410)、(510)、および(810)は、任意の適切な技法を使用して実装することができる。一実施形態において、ビデオエンコーダ(403)、(603)、および(703)、並びに、ビデオデコーダ(410)、(510)、および(810)は、1つ以上の集積回路を使用して実装することができる。別の実施形態において、ビデオエンコーダ(403)、(603)、および(603)、並びに、ビデオデコーダ(410)、(510)、および(810)は、ソフトウェア命令を実行する1つ以上のプロセッサを使用して実装することができる。
【0090】
本開示は、イントラモードコーディングにおける改善を含んでいる。
【0091】
ITU-T VCEG (Q 6/16)およびISO/IEC MPEG(JTC1/SC29/WG11)は、H.265/HEVC(High Efficiency Video Coding)規格を、2013年(バージョン1)、2014年(バージョン2)、2015年(バージョン3)、2016年(バージョン4)に公開した。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機能を超えた拡張圧縮を調査するためのアドホックグループが設立された。
【0092】
デコーダ側のイントラモード導出(DIMD)では、ビットストリームにおいて信号化された関連するシンタックス要素を使用してイントラモードを導出することができ、または、ビットストリームにおいて信号化された関連するシンタックス要素を使用することなくデコーダ側でイントラモードを導出することができる。デコーダ側でイントラモードを導出するために多数の方法を使用することができ、そして、デコーダ側のイントラモード導出は、本開示において説明される方法に限定されるものではない。
【0093】
DIMMでは、現在CU/PUについて複数の候補イントラモードからの2つのイントラモードを、現在CU/PUの再構成された近隣サンプルから導出することができる。DIMMでは、エンコーダ側およびデコーダ側の両方でテクスチャ勾配解析(texture gradient analysis)を実行し、再構成された近隣サンプルに基づいて複数の候補イントラモードを生成することができる。複数の候補イントラモードそれぞれは、勾配のそれぞれの履歴(または、それぞれの勾配)に関連付けることができる。勾配の履歴が最も高い2つのイントラモード(例えば、イントラモード1およびイントラモード2)を選択することができる。選択された2つのイントラモード(例えば、イントラモード1およびイントラモード2)のイントラモード予測子(predictor)は、重み付け合計(weighted sum)を使用してプラナーモード(planar mode)予測子と組み合わせることができる。現在CU/PUの最終的なイントラモード予測子は、イントラモード1、イントラモード2、および、プラナーの組み合わせに基づいて形成することができる。
【0094】
表1は、例示的なDIMDシグナリングを示している。表1に示されるように、ISPフラグ(例えば、ISP_flag)の前に、DIMDフラグ(例えば、DIMD_flag)を信号化することができる。DIMDフラグが1(または、真(true))である場合、それは、現在CU/PUがDIMDを使用していることを示すことができ、ISPフラグが、さらに、解析されて、ISPが現在CU/PUに適用されているか否かを検証することができる。DIMDフラグが1でない(または、偽(false)である)場合、それは、現在CU/PUがDIMDを使用していないことを示すことができる。従って、他のイントラコーディングツール(例えば、MIP、MRL、MPM、など)に関連するシンタックス要素を、デコーダにおいて解析することができる。
【0095】
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を使用する場合、コンテキストインデックスは2にすることができる。そうでなければ、コンテキストインデックスは0にすることができる。
【表1】
表1 DIMMシグナリングの擬似コード
【0096】
テンプレートベースのイントラモード導出(template-based intra mode derivation、TIMD)は、現在CUの参照サンプルをテンプレートとして使用し、そして、TIMDに関連付けられている一連の候補イントラ予測モードの中からイントラモードを選択することができる。選択されたイントラモードは、例えば、コスト関数に基づいて最適なイントラモードとして決定され得る。図9に示されるように、現在CU(902)の隣接再構成サンプルをテンプレート(904)として使用することができる。テンプレート(904)の再構成サンプルは、テンプレート(904)の予測サンプルと比較することができる。予測サンプルは、テンプレート(904)の参照サンプル(906)を使用して生成することができる。参照サンプル(906)は、テンプレート 904)の周囲に隣接する再構成サンプルにすることができる。コスト関数を使用して、候補イントラ予測モードのセットのそれぞれに基づいて、予測サンプルとテンプレート(904)内の再構成サンプル間のコスト(または、歪み)を計算することができる。最小コスト(または、歪み)のイントラ予測モードをイントラ予測モードとして選択し(例えば、ベストイントラ予測モード)、現在CU(902)をイントラ予測できる。
【0097】
表2は、例示的なTIMDシグナリングを示している。表2に示されるように、TIMDフラグ(例えば、TIMD_flag)は、DIMDフラグ(例えば、DIMD_flag)が1でない(または、真でない)場合に信号化することができる。DIMDフラグが1である場合、現在CU/PUはDIMDを使用し、そして、ISPフラグ(例えば、ISP_flag)を解析して、現在CU/PUにISPが使用されているか否かを判断できる。DIMDフラグが1でない場合、TIMDフラグが解析される。TIMDフラグが1である場合、他のイントラコーディングツールを適用することなく、現在CU/PUにTIMDを適用できる(例えば、TIMD使用時はISP不可)。TIMDフラグが1でない(または、偽)場合、他のイントラコーディングツール(例えば、MIP、MRL、MPMなど)に関連するシンタックス要素をデコーダで解析することができる。
【表2】
表2 TIMDシグナリングの擬似コード
【0098】
デコーダ側のイントラ予測は、また、明示的な信号化(signaled)イントラモードおよびデコーダ側の導出イントラモードも使用することができ、デコーダ側でイントラ予測を実行する。例えば、デコーダは、イントラモードを導出するためにDIMMを使用することができ、そして、導出されたイントラモードをイントラ予測に使用することができる。
【0099】
本開示では、ビデオの現在ピクチャ内の現在ブロックをイントラ予測するために、ハイブリッドイントラ予測を提供することができる。ハイブリッドイントラ予測は、ビットストリーム信号化イントラモードとデコーダ側導出イントラモードの両方を適用して、現在ブロックのイントラ予測を生成できる。例えば、ハイブリッドイントラ予測では、ビットストリーム内の最確モード(MPM)関連のシンタックス要素を使用して信号化される、第1イントラモード(例えば、イントラモード1)と、デコーダ側のイントラモード導出に基づいて生成される、第2イントラモード(例えば、イントラモード2)を適用することができる。デコーダ側のイントラモード導出は、DIMD、TIMD、などであり得る。従って、第1イントラモード(例えば、イントラモード1)は、ビットストリームにおいて信号化され、そして、第2イントラモード(例えば、イントラモード2)は、ビットストリームでシグナリングすることなく、デコーダ側で導出される。デコーダ側のイントラモード導出は、DIMDまたはTIMDに限定されないことが注意されるべきである。デコーダ側のイントラモード導出は、現在ブロックをイントラ予測するためのイントラモードを導出するために適用可能な任意のデコーダ側のイントラモード導出であり得る。加えて、第1イントラモード(例えば、イントラモード1)および第2イントラモード(例えば、イントラモード2)は、同じではなくてよいことが注意されるべきである。
【0100】
一実施形態においては、デコーダ側導出イントラモード(例えば、イントラモード2)が最初に生成され、そして、ビットストリーム信号化イントラモード(例えば、イントラモード1)を続いて生成することができる。表3は、最初にデコーダ導出イントラモード(例えば、イントラモード2)を生成し、その後にビットストリーム信号化イントラモード(例えば、イントラモード1)を生成するプロセスについて例示的な擬似コードを示している。
【表3】
表3 ハイブリッドイントラ予測のためのイントラモード生成の例示的な擬似コード
【0101】
表3に示されるように、デコーダ側のイントラモード導出フラグ(例:decoder_side_intra_mode_derivation_method_flag)は、コード化ビットストリームから獲得され、そして、解析(または、コード化)することができる。デコーダ側のイントラモード導出フラグが1(または、真)であることに応答して、現在ブロックについてデコーダ側の導出イントラモード(例えば、イントラモード2)を導出することができる。例えば、デコーダ側の導出イントラモード(例えば、イントラモード2)は、DIMDに基づいて導出することができ、ここでは、2つ以上の候補イントラモードが、現在ブロックの隣接サンプル(または、テンプレート)に関連付けられた勾配のヒストグラム(HoG)に基づいて決定することができる。デコーダ側導出イントラモード(例えば、イントラモード2)は、DIMDによって導出される2つ以上の候補イントラモードの1つであり得る。別の例において、デコーダ側導出イントラモードは、TIMDに基づいて導出することができ、ここで、2つ以上のイントラモードは、現在ブロックの隣接サンプル(または、テンプレート)のコスト値(例えば、絶対差(absolute difference)の和(SAD)、または、絶対変換差の和(SATD))に基づいて決定できる。デコーダ側導出イントラモード(例えば、イントラモード2)は、TIMDによって導出される2つ以上の候補イントラモードの1つであり得る。さらに、MPMおよびMPM剰余(remainder)に関連するシンタックス要素をコーディング(または、解析)して、ビットストリーム信号化イントラモード(例えば、イントラモード1)を生成することができる。ビットストリーム信号化イントラモードは、MPMリストまたはMPM剰余のいずれかにおいて識別することができる。一例において、MPMリストは、22個のイントラモードを含むことができ、そして、MPM剰余(または、非MPMリスト)は、45個のイントラモードを含むことができる。
【0102】
さらに表3を参照すると、デコーダ側のイントラモード導出フラグが0(または、偽)であることに応答して、デコーダ側導出イントラモード(例えば、イントラモード2)が導出されず、そして、ビットストリーム信号化イントラモード(例えば、イントラモード1)が決定されなくてよい。代わりに、別のイントラモードに関連付けられたシンタックス要素をコーディング(または、解析)して、別のイントラモードを生成することができる。従って、現在ブロックは、ハイブリッドイントラ予測に基づいて予測されない場合がある。現在ブロックは、他のイントラモードに基づいて予測することができる。
【0103】
別の実施形態においては、ビットストリーム信号化イントラモード(例えば、イントラモード1)が最初に獲得され、そして、デコーダ側導出イントラモード(例えば、イントラモード2)をその後に導出することができる。表4は、最初にビットストリーム信号化イントラモードを生成し、その後にデコーダ側導出イントラモードを生成するプロセスの例示的な擬似コードを示している。
【表4】
表4. ハイブリッドイントラ予測のためのイントラモード生成の例示的な擬似コード
【0104】
表4に示されるように、MPMおよびMPM剰余に関連するシンタックス要素をコーディング(または、解析)して、最初にビットストリーム信号化イントラモード(例えば、イントラモード1)を生成することができる。ビットストリーム信号化イントラモード(例えば、モード1)は、MPMおよびMPM剰余に関連するシンタックス要素に従って、MPMリストまたはMPM剰余(または、非MPMリスト)のいずれかにおいて識別できる。さらに、デコーダ側のイントラモード導出フラグ(例えば、decoder_side_intra_mode_derivation_method_flag)は、コード化ビットストリームから獲得し、そして、解析(または、コード化)することができる。デコーダ側イントラモード導出フラグが1(または、真)であることに応答して、デコーダ側導出イントラモード(例えば、イントラモード2)を現在ブロックについて導出することができる。例えば、デコーダ側導出イントラモード(例えば、イントラモード2)は、DIMDまたはTIMDに基づいて導出することができる。
【0105】
さらに表4を参照すると、デコーダ側イントラモード導出フラグが0(または、偽)であることに応答して、デコーダ側導出イントラモード(例えば、イントラモード2)が生成されなくてよい。代わりに、別のイントラモードに関連付けられたシンタックス要素をコーディング(または、解析)して、別のイントラモードを生成することができる。現在ブロックは、ビットストリーム信号化イントラモード(例えば、イントラモード1)および他のイントラモードの1つまたは組み合わせに基づいて予測することができる。
【0106】
デコーダがイントラ予測を実行するとき、第1イントラモード(例えば、イントラモード1)を使用して、第1イントラ予測子(例えば、イントラ予測子1(intraPredictor1))を生成することができる。第1イントラ予測子は、さらに、元のサンプル値の2倍から減算できる。デコーダ側イントラモード導出は、減算された値(例えば、元のサンプル値の2倍から第1予測子を引いたもの)をテンプレートとして使用し、そして、テンプレート一致ベースの方法(template matching based method)を適用して、2つ以上の候補イントラモードから最適な(または、選択された)一致する(matching)イントラモード(例えば、イントラモード2)を見つけることができる。例えば、デコーダは、(2×元のサンプル値-第1イントラ予測子-第2イントラ予測子)を計算することによって、最適なイントラモード2を見つけることができる。ここで、各イントラ予測子は、2つ以上の候補イントラモードのそれぞれ1つによって生成することができる。最小値を持つ候補イントラモードは、最適な(または、選択された)一致するイントラモードとして選択できる(例えば、イントラモード2)。
【0107】
例えば、デコーダ側の導出イントラモード(例えば、イントラモード2)は、DIMDまたはTIMDといった、デコーダ側イントラモード導出に基づいて導出される、2つ以上の候補イントラモードから決定することができる。2つ以上の候補イントラモードからデコーダ側導出イントラモード(例えば、イントラモード2)を決定するために、ビットストリーム信号化イントラモード(例えば、イントラモード1)に基づいて、現在ブロックの第1イントラ予測子(例えば、イントラ予測子1)を獲得することができる。第1イントラ予測子は、第1イントラモードに基づいて、現在ブロックにおけるサンプルの第1予測値であり得る。さらに、エンコーダ側の現在ブロックの元のサンプル値、または、デコーダ側の現在ブロックの再構成値を決定することができる。デコーダ側の現在ブロックの再構成値は、現在ブロックの予測値を通じて獲得することができる。一例において、現在ブロックの再構成値は、第1予測子から獲得することができる。別の例において、現在ブロックの再構成値は、DIMDまたはTIMDといった、デコーダ側イントラモード導出から生成される、2つ以上の候補イントラモードから獲得することができる。
【0108】
第1イントラ予測子(例えば、イントラ予測子1)は、現在ブロックの元のサンプル値の2倍(または、再構成値の2倍)から減算できる。減算によってテンプレートを生成することができる。テンプレートは、現在ブロックの元のサンプル値の2倍(または、再構成された値の2倍)と、現在ブロックの第1イントラ予測子との差異であり得る。テンプレートマッチングベースの方法をさらに適用して、2つ以上の候補イントラモードからデコーダ側の導出イントラモード(例えば、イントラモード2)を決定することができる。例えば、現在ブロック内のサンプルのそれぞれの候補予測値(または、それぞれの第2イントラ予測子 intraPredictor2)は、2つ以上の候補イントラモードのそれぞれに基づいて決定することができる。
複数のテンプレート一致値(または、コスト値)は、2つ以上の候補イントラモードの対応する1つに基づいて決定することができ、ここで、複数のテンプレート一致値それぞれは、現在ブロック内のサンプルのそれぞれの候補予測値(または、それぞれの第2イントラ予測子 intraPredictor2)をテンプレートから引いた値と等しくあり得る。テンプレート一致値の例示的な式は、(2×元のサンプル値(または、再構成されたサンプル値)-第1イントラ予測子-第2イントラ予測子)であってよく、ここで、第1イントラ予測子は、ビットストリーム信号化イントラモード(例えば、イントラモード1)によって生成され、そして、第2イントラ予測子は、2つ以上の候補イントラモードの1つによって生成される第2イントラ予測子である。
【0109】
デコーダ側導出イントラモード(例えば、イントラモード2)は、複数のテンプレート一致値の最小テンプレート一致値に関連付けられた、複数の候補イントラモードの選択された(または、最適な)候補イントラモードとして決定することができる。
【0110】
一旦、ビットストリーム信号化イントラモード(例えば、イントラモード1)およびデコーダ側導出イントラモード(例えば、イントラモード2)が決定されると、現在ブロックは、最終イントラ予測子(または、最終予測値)に基づいて予測することができる。最終イントラ予測子(または、最終予測値)は、第1予測子(または、第1予測値)および第2予測子(または、第2予測値)の重み付けされた組み合わせであり得る。第1予測子は、第1イントラモード(または、ビットストリーム信号化イントラモード intraMode1)に基づいて獲得することができ、そして、第2予測子は、第2イントラモード(または、デコーダ側導出イントラモード intraMode2)に基づいて獲得することができる。一例において、重み付けされた組み合わせは、等しく重み付けされている。従って、最終イントラ予測子は、以下のように式1で記述することができる。
【数1】
ここで、最終イントラ予測子(例えば、finalIntraPredictor)は、第1イントラ予測子(または、intraMode1を使用するイントラ予測子)の半分と、第2イントラ予測子(またはintraMode2を使用するイントラ予測子)の半分との合計に等しい。
【0111】
図10は、本開示のいくつかの実施形態に従った、例示的なデコーディングプロセス(1000)の概要を示すフローチャートである。図11は、本開示のいくつかの実施形態に従った、例示的なエンコーディングプロセス(1100)の概要を示すフローチャートである。提案されたプロセスは、別々に使用されてよく、または、任意の順序で組み合わせることもできる。さらに、プロセス(または、実施形態)、エンコーダ、デコーダのそれぞれは、処理回路(例えば、1つ以上のプロセッサまたは1つ以上の集積回路)によって実装することができる。一例において、1つ以上のプロセッサは、非一時的なコンピュータ可読媒体に保管された、プログラムを実行する。
【0112】
実施形態において、プロセスの任意の動作(例えば、(1000)および(1100))は、必要に応じて、任意の量または順序で組み合わされ、または、配置され得る。実施形態において、プロセスの2つ以上の動作(例えば、(1000)および(1100))を並行して実行することができる。
【0113】
プロセス(例えば、(1000)および(1100))は、再構成中のブロックの予測ブロックを生成するために、ブロックの再構成及び/又はエンコーディングにおいて使用することができる。種々の実施形態において、処理(例えば、(1000)および(1100))は、端末装置(310)、(320)、(330)、および(340)における処理回路、ビデオエンコーダ(303)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、ビデオデコーダ(510)の機能を実行する処理回路、ビデオエンコーダ(603)の機能を実行する処理回路、等といったもの、によって実行される。いくつかの実施形態において、プロセス(例えば、(1000)および(1100))は、ソフトウェア命令で実装され、従って、処理回路がソフトウェア命令を実行するとき、処理回路は、プロセス(例えば、(1000)および(1100))を実行する。
【0114】
図10に示されるように、プロセス(1000)は(S1001)から開始し、そして、(S1010)に進むことができる。(S1010)では、コード化ビデオビットストリームから、現在ブロックのコード化情報および現在ブロックの隣接サンプルを受信することができる。
【0115】
(S1020)では、コード化情報において、現在ブロックに関連付けられたフラグ情報を獲得することができる。フラグ情報は、現在ブロックが、隣接サンプルに基づいて複数の候補イントラモードが導出される、イントラモード導出に少なくとも部分的に基づいてイントラ予測されているか否かを示すことができる。
【0116】
(S1030)では、現在ブロックが少なくとも部分的にイントラモード導出に基づいてイントラ予測されていることを示すフラグ情報に応答して、隣接サンプルに基づいて、複数の候補イントラモードを決定することができる。
【0117】
(S1040)では、現在ブロックの第1イントラモードを、コード化情報に含まれる第1シンタックス要素に基づいて決定することができる。第1シンタックス要素は、最確モード(MPM)リストおよびMPM剰余から、現在ブロックの第1イントラモードを示すことができる。
【0118】
(S1050)では、現在ブロックの第2イントラモードを、第1イントラモードおよび複数の候補イントラモードに基づいて決定することができる。
【0119】
(S1060)では、現在ブロックを、第1イントラモードおよび第2イントラモードに基づいて再構成することができる。
【0120】
いくつかの実施形態においては、現在ブロックが少なくとも部分的にイントラモード導出に基づいてイントラ予測されることを示すフラグ情報に応答して、第1イントラモードを、第1シンタックス要素に基づいて決定することができる。
【0121】
プロセス(1000)では、現在ブロックがイントラモード導出に基づいてイントラ予測されていないことを示すフラグ情報に応答して、第3イントラモードを、コード化情報に含まれる第2シンタックス要素に基づいて決定することができる。
【0122】
一実施形態において、イントラモード導出は、隣接サンプルに関連付けられた勾配のヒストグラム(HoG)に基づいて複数の候補イントラモードが決定される、デコーダ側イントラモード導出(DIMD)を含むことができる。
【0123】
別の実施形態において、イントラモード導出は、隣接サンプルのコスト値に基づいて複数の候補イントラモードが決定される、テンプレートベースのイントラモード導出(TIMD)を含むことができる。
【0124】
現在ブロックの第2イントラモードを決定するために、現在ブロック内のサンプルの第1予測値が、第1イントラモードに基づいて決定され得る。現在ブロック内のサンプルの再構成値が、第1予測値に基づいて決定され得る。現在ブロック内のサンプルのそれぞれの候補予測値が、複数の候補イントラモードそれぞれに基づいて決定され得る。複数のテンプレート一致値が、さらに、決定され得る。複数のテンプレート一致値それぞれは、複数の候補イントラモードの対応する1つに基づいて、再構成値から(i)第1予測値および(ii)それぞれの候補予測値を引いた値の2倍に等しくあり得る。現在ブロックの第2イントラモードを、続いて決定することができ、ここで、第2イントラモードは、複数のテンプレート一致値の最小テンプレート一致値に関連付けられた複数の候補イントラモードの候補イントラモードであり得る。
【0125】
現在ブロックを再構成するために、現在ブロック内のサンプルの第2予測値を、第2イントラモードに基づいて決定することができる。現在ブロックは、さらに、最終予測値に基づいて再構成することができる。最終予測値は、第1予測値および第2予測値の重み付けされた組み合わせであり得る。
【0126】
いくつかの実施形態においては、重み付けされた組み合わせが、等しく重み付けされ得る。
【0127】
図11に示されるように、プロセス(1100)は、(S1101)から開始し、そして、(S1110)に進むことができる。(S1110)では、現在ブロックの隣接サンプルに基づいて、現在ブロックの複数の候補イントラモードを決定することができる。
【0128】
(S1120)では、現在ブロックの第1イントラモードを、最確モード(MPM)リストおよびMPM剰余から決定することができる。
【0129】
(S1130)では、現在ブロックの第2イントラモードを、第1イントラモードおよび複数の候補イントラモードに基づいて決定することができる。
【0130】
(S1140)では、現在ブロックに関連付けられたフラグ情報を、生成することができる。フラグ情報は、複数の候補イントラモードが現在ブロックの隣接サンプルに基づいて導出される、イントラモード導出に少なくとも部分的に基づいて、現在ブロックがイントラ予測されているか否かを示すことができる。
【0131】
(S1150)では、第1シンタックス要素を生成することができる。第1シンタックス要素は、MPMリストおよびMPM剰余から現在ブロックの第1イントラモードを示すことができる。
【0132】
上記の技法は、コンピュータ読取可能命令を使用してコンピュータソフトウェアとして実装され、そして、1つ以上のコンピュータ読取可能媒体において物理的に保管することができる。例えば、図12は、開示される技術的事項の所定の実施形態を実装するのに適したコンピュータシステム(1300)を示している。
【0133】
コンピュータソフトウェアは、任意の適切なマシンコードまたはコンピュータ言語を使用してコード化され得る。アセンブル、コンパイル、リンク、もしくは、1つ以上のコンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU),
などによって、直接的、または、インタープリタ、マイクロコード実行、などを通して実行され得る命令を含むコードを作成するための類似のメカニズムの対象となり得るものである。
【0134】
命令は、様々なタイプのコンピュータまたはその構成要素上で実行され得る。例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム装置、モノのインターネット、等を含むものである。
【0135】
コンピュータシステム(1300)のための図12に示される構成要素は、本質的に例示的なものであり、そして、本開示の実施形態を実装するコンピュータソフトウェアの使用または機能性の範囲について、いかなる制限も示唆するように意図されたものではない。また、構成要素の構成は、コンピュータシステム(1300)の例示的な実施形態において示される構成要素の任意の1つまたは組み合わせに関して、いかなる従属性または要件も有するものとして解釈されてはならない。
【0136】
コンピュータシステム(1300)は、所定のヒューマンインターフェイス入力装置を含み得る。そうしたヒューマンインターフェイス入力装置は、例えば、触覚入力(キーストローク、スワイプ、データグローブの動き、といったもの)、音声入力(声、拍手、といったもの)、視覚入力(ジェスチャ、といったもの)、嗅覚入力(図示なし)を通じて、一人以上の人間ユーザによる入力に対して応答し得る。ヒューマンインターフェイス装置は、また、オーディオ(スピーチ、音楽、環境音、といったもの)、画像(スキャンされた画像、静止画像カメラから獲得した写真画像、といったもの)、ビデオ(2次元ビデオ、立体映像を含む3次元ビデオといったもの)といった、人間による意識的入力に必ずしも直接的に関係しない所定の媒体をキャプチャするためにも使用され得る。
【0137】
入力ヒューマンインターフェイスデバイスは、キーボード(1301)、マウス(1302)、トラックパッド(1303)、タッチスクリーン(1310)、データグローブ(図示なし)、ジョイスティック(1305)、マイクロフォン(1306)、スキャナ(1307)、カメラ(1308)の1つ以上を含み得る(それぞれ1つだけが描かれている)。
【0138】
コンピュータシステム(1300)は、また、所定のヒューマンインターフェイス出力装置を含み得る。そうしたヒューマンインターフェイス出力装置は、例えば、触覚出力、音、光、および嗅覚/味覚を通して、一人以上の人間ユーザの感覚を刺激することができる。そうしたヒューマンインターフェイス出力装置は、触覚出力装置(例えば、タッチスクリーン(1310)、データグローブ(図示なし)、またはジョイスティック(1305)、しかし、入力装置として機能しない触覚フィードバックデバイスも存在する)、オーディオ出力装置(スピーカ(1309)、ヘッドフォン(図示なし)といったもの)、視覚出力装置(CRTスクリーン、LCDスクリーン、プラズマスクリーンを含むスクリーン(1310)といったものであり、それぞれがタッチスクリーン入力能力を有し又は有さず、それぞれが触覚フィードバック能力を有し又は有さない。-そのうちいくつかは、立体画法(stereographic)出力といった手段、仮想現実メガネ(図示なし)、ホログラフィックディスプレイおよびスモーク(smoke)タンク(図示なし)、およびプリンタ(図示なし)、を介して、2次元の視覚出力または3次元以上の出力を出力することができる。)を含み得る。
【0139】
コンピュータシステム(1300)は、また、人間がアクセス可能な記憶装置およびそれらの関連媒体を含むことができる。CD/DVD等の媒体(1321)を伴うCD/DVD ROM/RW(1320)を含む光媒体、サムドライブ(thumb-drive)(1322)、リムーバブルハードドライブまたはソリッドステートドライブ(1323)、テープおよびフロッピー(登録商標)ディスク(図示なし)といった従来の磁気媒体、セキュリティドングル(security dongle)(図示なし)といった特殊化されたROM/ASIC/PLDベースの装置など、といったものである。
【0140】
当業者は、また、現在開示されている技術的事項(subject matter)に関連して使用される用語「コンピュータ読取可能媒体(“computer readable media”)」は、伝送媒体、搬送波、または他の過渡信号を包含しないことも理解すべきである。
【0141】
コンピュータシステム(1300)は、また、1つ以上の通信ネットワーク(1355)へのインターフェイス(1354)も含むことができる。ネットワークは、例えば、無線、有線、光であり得る。ネットワークは、さらに、ローカル、ワイドエリア、メトロポリタン、車両および工業、リアルタイム、遅延耐性、等であり得る。ネットワークの例は、イーサネットといったローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、および地上放送TVを含むTVワイドエリアまたはワイドエリアデジタルネットワーク、CANバスを含む車両および工業など、を含む。所定のネットワークは、一般的に、所定の汎用データポートまたはペリフェラルバス(1349)に接続される外部ネットワークインターフェイスアダプタ(例えば、コンピュータシステム(1300)のUSBポート、といったもの)を必要とする。他のものは、一般的に、以下で説明するように、システムバスへの取付け(attachment)によって、コンピュータシステム(1300)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインターフェイス、または、スマートフォンコンピュータシステムへのセルラーネットワークインターフェイス)。これらのネットワークのいずれかを使用して、コンピュータシステム(1300)は、他のエンティティと通信することができる。そうした通信は、単指向性、受信専用(例えば、放送テレビ)、単指向性送信専用(例えば、所定のCANバスデバイスへのCANバス)、または、例えば、ローカルまたはワイドエリアデジタルネットワークを使用する他のコンピュータシステムへの双指向性、であり得る。所定のプロトコルおよびプロトコルスタックは、上述のように、それらのネットワークおよびネットワークインターフェイスそれぞれで使用され得る。
【0142】
前述のヒューマンインターフェイスデバイス、人がアクセス可能なストレージデバイス、およびネットワークインターフェイスは、コンピュータシステム(1300)のコア(1340)に取付けることができる。
【0143】
コア(1340)は、1つ以上の中央処理装置(CPU)(1341)、グラフィックス処理装置(GPU)(1342)、フィールドプログラマブルゲートアレイ(FPGA)(1343)の形式の特殊なプログラマブル処理装置、所定のタスクのためのハードウェアアクセラレータ(1344)、グラフィックアダプタ(1350)、などを含むことができる。これらの装置は、リードオンリーメモリ(ROM)(1345)、ランダムアクセスメモリ(1346)、内部非ユーザアクセス可能ハードドライブといった内部大容量ストレージ、SSD、等(1347)と共に、システムバス(1348)を介して接続され得る。いくつかのコンピュータシステムにおいて、システムバス(1348)は、追加のCPU、GPUなどによる拡張を可能にするために、1つ以上の物理的プラグの形式でアクセス可能である。周辺装置は、コアのシステムバス(1348)に直接的に接続されるか、または、ペリフェラルバス(1349)を介して接続され得る。一つの例において、スクリーン(1310)をグラフィックアダプタ(1350)に接続することができる。ペリフェラルバスのアーキテクチャは、PCI、USB、などを含む。
【0144】
CPU(1341)、GPU(1342)、FPGA(1343)、およびアクセラレータ(1344)は、組み合わせて、上述のコンピュータコードを構成することができる、所定の命令を実行することができる。そのコンピュータコードは、ROM(1345)またはRAM(1346)に保管することができる。移行データも、また、RAM(1346)に保管することができるが、一方で、永久データは、例えば、内部大容量ストレージ(1347)に保管することができる。1つ以上のCPU(1341)、GPU(1342)、大容量ストレージ(1347)、ROM(1345)、RAM(1346)、などと密接に関連付けることができる、キャッシュメモリの使用を通じて、メモリデバイスのいずれかへの高速ストレージおよび取出し可能にすることができる。
【0145】
コンピュータ読取可能媒体は、様々なコンピュータ実装されたオペレーションを実行するためのコンピュータコードをその上に有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計され、かつ、構築されたものであってよく、または、コンピュータソフトウェア技術の当業者に周知であり、かつ、利用可能な種類のものであってよい。
【0146】
非限定的な例として、アーキテクチャ(1300)を有するコンピュータシステム、および、特にコア(1340)は、1つ以上の有形で、コンピュータ読取可能媒体において具現化されたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータ、などを含む)の結果として機能性を提供することができる。そうしたコンピュータ読取可能媒体は、上述のようにユーザがアクセス可能な大容量ストレージ、並びに、コア-内部大容量ストレージ(1347)またはROM(1345)といった、非一時的な性質のコア(1340)に係る措定のストレージ、に関連する媒体であってよい。本開示の様々な実施形態を実装するソフトウェアは、そうしたデバイスに保管され、そして、コア(1340)によって実行され得る。コンピュータ読取可能媒体は、特定のニーズに従って、1つ以上のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア(1340)、および、具体的にはその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM(1346)に保管されたデータ構造を定義すること、および、ソフトウェアによって定義されたプロセスに従って、そうしたデータ構造を修正することを含む、ここにおいて説明された特定のプロセス、または、特定のプロセスの特定部分を実行させることができる。加えて又は代替として、コンピュータシステムは、回路(例えば、アクセラレータ(1344))内で配線され(hardwired)、または他の方法で具現化されたロジックの結果として機能性を提供することができる。これは、ここにおいて説明される特定のプロセスまたは特定のプロセスの特定部分を実行するためのソフトウェアの代わりに、またはソフトウェアと共に動作することができる。ソフトウェアへの参照は、論理を含み、そして、必要に応じて、その逆も同様である。コンピュータ読取可能媒体への参照は、実行のためのソフトウェアを保管する回路(集積回路(IC)といったもの)、実行のためのロジックを具体化する回路、または、必要に応じて、両方を含むことができる。本開示は、ハードウェアおよびソフトウェアの任意の適切な組み合わせを包含している。
【0147】
付録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:コード化ユニット
【0148】
本開示は、いくつかの例示的な実施形態を説明してきたが、変更、順列、および様々な代替均等物が存在しており、これらは本開示の範囲内にある。従って、当業者であれば、ここにおいては明示的に図示または記述されていないが、本開示の原則を具体化し、そして、従って、その精神および範囲内にある多数のシステムおよび方法を考案することができることが正しく理解されるだろう。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
【国際調査報告】