(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022105007
(43)【公開日】2022-07-12
(54)【発明の名称】ビデオ圧縮における複数ラインのフレーム内予測のための方法および装置
(51)【国際特許分類】
H04N 19/593 20140101AFI20220705BHJP
H04N 19/11 20140101ALI20220705BHJP
H04N 19/136 20140101ALI20220705BHJP
H04N 19/176 20140101ALI20220705BHJP
【FI】
H04N19/593
H04N19/11
H04N19/136
H04N19/176
【審査請求】有
【請求項の数】8
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022063825
(22)【出願日】2022-04-07
(62)【分割の表示】P 2020565035の分割
【原出願日】2019-02-27
(31)【優先権主張番号】62/629,519
(32)【優先日】2018-02-12
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/200,128
(32)【優先日】2018-11-26
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジャオ,シン
(72)【発明者】
【氏名】リ,シアン
(72)【発明者】
【氏名】リィウ,シャン
(72)【発明者】
【氏名】ジャオ,リアン
(57)【要約】 (修正有)
【課題】ビデオ圧縮における複数ラインのフレーム内予測のための方法及び装置を提供する。
【解決手段】ビデオ復号の方法は、画像の現在ブロックについて、複数の参照ラインから1つの参照ラインを決定し、複数の参照ラインから決定された1つの参照ラインに基づいて、現在ブロックのフレーム内予測モードを決定し、決定したフレーム内予測モードと、複数の参照ラインから決定された1つの参照ラインに含まれる1つ以上のサンプルとに基づいて、現在ブロックのフレーム内予測を実行する。複数の参照ラインには、隣接参照ラインと少なくとも1つの非隣接参照ラインとが含まれ、隣接参照ラインが現在ブロックに隣接し、少なくとも1つの非隣接参照ラインが現在ブロックと隣接せず、少なくとも1つの非隣接参照ラインの各非隣接参照ラインに関連付けられたフレーム内予測モードの数は、隣接参照ラインに関連付けられたフレーム内予測モードの数の半分以下である。
【選択図】
図11
【特許請求の範囲】
【請求項1】
ビデオデコーダが実行するビデオ復号の方法であって、 画像の現在ブロックについて、複数の参照ラインから1つの参照ラインを決定するステップであって、前記複数の参照ラインのうちの各参照ラインが前記現在ブロックの辺に平行であるステップと、
前記複数の参照ラインから決定された前記1つの参照ラインに基づいて、前記現在ブロックのフレーム内予測モードを決定するステップと、
決定されたフレーム内予測モードと、前記複数の参照ラインから決定された前記1つの参照ラインに含まれる1つ以上のサンプルとに基づいて、前記現在ブロックのフレーム内予測を実行するステップと、を含み、ここで、
前記複数の参照ラインには、隣接参照ラインと少なくとも1つの非隣接参照ラインとが含まれ、前記隣接参照ラインが前記現在ブロックに隣接し、前記少なくとも1つの非隣接参照ラインが前記現在ブロックと隣接せず、
前記少なくとも1つの非隣接参照ラインの各非隣接参照ラインに関連付けられたフレーム内予測モードの数は、前記隣接参照ラインに関連付けられたフレーム内予測モードの数の半分以下である、
ことを特徴とするビデオ復号の方法。
【請求項2】
前記少なくとも1つの非隣接参照ラインの各非隣接参照ラインは、同じ数のフレーム内予測モードに関連付けられる、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記少なくとも1つの非隣接参照ラインの各非隣接参照ラインは、前記現在ブロックから離れる方向に対して、減少する数のフレーム内予測モードに関連付けられる、
ことを特徴とする請求項1に記載の方法。
【請求項4】
前記隣接参照ラインに関連付けられたフレーム内予測モードの数が67であり、
前記少なくとも1つの非隣接参照ラインの各非隣接参照ラインに関連付けられたフレーム内予測モードの数が33以下である、
ことを特徴とする請求項1~3のいずれか一項に記載の方法。
【請求項5】
前記複数の参照ラインのうちの各参照ラインは、前記現在ブロックの上方の行である、
ことを特徴とする請求項1~4のいずれか一項に記載の方法。
【請求項6】
前記複数の参照ラインのうちの各参照ラインは、前記現在ブロックの左側の列である、
ことを特徴とする請求項1~5のいずれか一項に記載の方法。
【請求項7】
ビデオ復号のためのビデオデコーダであって、
処理回路を含み、前記処理回路は、
画像の現在ブロックについて、複数の参照ラインから1つの参照ラインを決定することであって、前記複数の参照ラインのうちの各参照ラインが前記現在ブロックの辺に平行であることと、
前記複数の参照ラインから決定された前記1つの参照ラインに基づいて、前記現在ブロックのフレーム内予測モードを決定することと、
決定されたフレーム内予測モードと、前記複数の参照ラインから決定された前記1つの参照ラインに含まれる1つ以上のサンプルとに基づいて、前記現在ブロックのフレーム内予測を実行することと、を実行するように構成され、ここで、
前記複数の参照ラインには、隣接参照ラインと少なくとも1つの非隣接参照ラインとが含まれ、前記隣接参照ラインが前記現在ブロックに隣接し、前記少なくとも1つの非隣接参照ラインが前記現在ブロックと隣接せず、
前記少なくとも1つの非隣接参照ラインの各非隣接参照ラインに関連付けられたフレーム内予測モードの数は、前記隣接参照ラインに関連付けられたフレーム内予測モードの数の半分以下である、
ことを特徴とするビデオデコーダ。
【請求項8】
前記少なくとも1つの非隣接参照ラインの各非隣接参照ラインは、同じ数のフレーム内予測モードに関連付けられる、
ことを特徴とする請求項7に記載のビデオデコーダ。
【請求項9】
前記少なくとも1つの非隣接参照ラインの各非隣接参照ラインは、前記現在ブロックから離れる方向に対して、減少する数のフレーム内予測モードに関連付けられる、
ことを特徴とする請求項7に記載のビデオデコーダ。
【請求項10】
前記隣接参照ラインに関連付けられたフレーム内予測モードの数が67であり、
前記少なくとも1つの非隣接参照ラインの各非隣接参照ラインに関連付けられたフレーム内予測モードの数が33以下である、
ことを特徴とする請求項7~9のいずれか一項に記載のビデオデコーダ。
【請求項11】
前記複数の参照ラインのうちの各参照ラインは、前記現在ブロックの上方の行である、
ことを特徴とする請求項7~10のいずれか一項に記載のビデオデコーダ。
【請求項12】
前記複数の参照ラインのうちの各参照ラインは、前記現在ブロックの左側の列である、
ことを特徴とする請求項7~11のいずれか一項に記載のビデオデコーダ。
【請求項13】
ビデオデコーダ内のプロセッサによって実行されると、前記プロセッサに下記の方法を実行させるためのコンピュータプログラムであって、前記方法は、
画像の現在ブロックについて、複数の参照ラインから1つの参照ラインを決定するステップであって、前記複数の参照ラインのうちの各参照ラインが前記現在ブロックの辺に平行であるステップと、
前記複数の参照ラインから決定された前記1つの参照ラインに基づいて、前記現在ブロックのフレーム内予測モードを決定するステップと、
決定されたフレーム内予測モードと、前記複数の参照ラインから決定された前記1つの参照ラインに含まれる1つ以上のサンプルとに基づいて、前記現在ブロックのフレーム内予測を実行するステップと、を含み、ここで、
前記複数の参照ラインには、隣接参照ラインと少なくとも1つの非隣接参照ラインとが含まれ、前記隣接参照ラインが前記現在ブロックに隣接し、前記少なくとも1つの非隣接参照ラインが前記現在ブロックと隣接せず、
前記少なくとも1つの非隣接参照ラインの各非隣接参照ラインに関連付けられたフレーム内予測モードの数は、前記隣接参照ラインに関連付けられたフレーム内予測モードの数の半分以下である、
ことを特徴とするコンピュータプログラム。
【請求項14】
前記少なくとも1つの非隣接参照ラインの各非隣接参照ラインは、同じ数のフレーム内予測モードに関連付けられる、
ことを特徴とする請求項13に記載のコンピュータプログラム。
【請求項15】
前記少なくとも1つの非隣接参照ラインの各非隣接参照ラインは、前記現在ブロックから離れる方向に対して、減少する数のフレーム内予測モードに関連付けられる、
ことを特徴とする請求項13に記載のコンピュータプログラム。
【請求項16】
前記隣接参照ラインに関連付けられたフレーム内予測モードの数が67であり、
前記少なくとも1つの非隣接参照ラインの各非隣接参照ラインに関連付けられたフレーム内予測モードの数が33以下である、
ことを特徴とする請求項13~15のいずれか一項に記載のコンピュータプログラム。
【請求項17】
前記複数の参照ラインのうちの各参照ラインは、前記現在ブロックの上方の行である、
ことを特徴とする請求項13~16のいずれか一項に記載のコンピュータプログラム。
【請求項18】
前記複数の参照ラインのうちの各参照ラインは、前記現在ブロックの左側の列である、
ことを特徴とする請求項13~17のいずれか一項に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願への相互参照]
本開示は、2018年2月12日に提出された米国仮出願第62/629,519号「ビデオ圧縮における複数ラインのフレーム内予測のための方法および装置」に対する優先権および2018年11月26日に提出された米国出願第16/200,128号「ビデオ圧縮における複数ラインのフレーム内予測のための方法および装置」に対する優先権を主張し、それらの全体が参照により本明細書に組み込まれる。
[技術分野]
本開示は、概してビデオ符号化/復号に関連する実施形態を説明する。
【背景技術】
【0002】
本明細書で提供される背景技術の説明は、本開示のコンテキストを全体的に示すことを目的とする。この背景技術部分及び本明細書の各態様において説明された、現在署名されている発明者の作業の程度は、本開示の提出時に先行技術として示されておらず、また、本開示の先行技術として認められていることを明示または暗示していない。
【0003】
ビデオの符号化と復号は、動き補償を含む画像間予測を用いて実行されてもよい。非圧縮デジタルビデオは一連の画像を含んでもよく、各画像は、例えば1920×1080の輝度サンプルと関連付けられた色度サンプルの空間次元を有する。当該一連の画像は、例えば1秒当たり60画像または60Hzの固定または可変画像レート(非公式的にフレームレートとも呼ばれる)を有してもよい。非圧縮ビデオには、ビットレートについて厳格な要件がある。例えば、1サンプル当たり8ビットの1080p60 4:2:0ビデオ(60Hzフレームレートでの1920×1080輝度サンプル解像度)には、1.5Gbit/sに近い帯域幅が必要である。このようなビデオが1時間利用される場合は、600GByteを上回る記憶空間が必要である。
【0004】
ビデオ符号化および復号の1つの目的は、入力ビデオ信号における冗長情報を圧縮により低減することである。圧縮は、上記の帯域幅または記憶空間に対する要件を低減することを助けることができ、いくつかの場合では、二桁以上程度を低減することができる。可逆圧縮および不可逆圧縮、ならびに両方の組み合わせは、いずれも使用されることができる。可逆圧縮とは、元の信号の正確なコピーを圧縮された元の信号から再構築することができる、という技術を指す。不可逆圧縮が使用される場合、再構築された信号は、元の信号と同一ではない可能性があるが、元の信号と再構築された信号との間の歪みが十分に小さいので、再構築された信号が予想されるアプリケーションに利用されることができる。ビデオの場合、不可逆圧縮は広く使われている。許容される歪みの量は、アプリケーションに依存し、例えば、あるストリーミングアプリケーションを消費するユーザは、テレビ貢献アプリケーションのユーザより、高い歪みを許容することができる。実現可能な圧縮比は、より高い許可/許容可能な歪みがより高い圧縮比を生成することができる、ということを反映している。
【0005】
ビデオエンコーダおよびデコーダは、例えば動き補償、変換、量子化およびエントロピー符号化を含む、いくつかの広範なカテゴリからの技術を利用することができる。
【0006】
ビデオ符号化/復号技術は、フレーム内符号化として知られている技術を含むことができる。フレーム内符号化では、サンプル値は、以前に再構築された参照画像からのサンプルまたは他のデータを参照せずに表現される。いくつかのビデオコーデックでは、画像は空間的にサンプルブロックに細分される。すべてのサンプルブロックがフレーム内モードで符号化された場合、その画像はフレーム内画像とすることができる。独立デコーダリフレッシュ画像などのようなフレーム内画像およびそれらの派生は、デコーダの状態をリセットするために使用されることができ、したがって、符号化されたビデオビットストリームおよびビデオセッション中の1番目の画像または静止画像として使用されることができる。フレーム内ブロックのサンプルは変換に用いられ、また、変換係数はエントロピー符号化の前に量子化されることができる。フレーム内予測は、プリ変換ドメインにおけるサンプル値を最小化する技術とすることができる。いくつかの場合では、変換後のDC値が小さくなり、AC係数が小さくなるほど、エントロピー符号化後のブロックを表すために、与えられた量子化ステップサイズで必要なビットが少なくなる。
【0007】
例えばMPEG-2符号化技術から知られているような従来のフレーム内符号化は、フレーム内予測を使用していない。しかしながら、いくつかのより新しいビデオ圧縮技術は、例えば、周囲のサンプルデータおよび/またはメタデータからデータブロックを取得しようとする技術を含み、周囲のサンプルデータおよび/またはメタデータは、空間的に隣接するブロックの符号化/復号期間で、かつ、復号順の前に得られたものである。このような技術は、以降「フレーム内予測」技術と呼ばれる。少なくともいくつかの場合では、フレーム内予測は、参照画像からの参照データを使用せずに、再構築中の現在画像からの参照データのみを使用する、ということに留意されたい。
【0008】
多くの異なる形態のフレーム内予測が存在することができる。与えられたビデオ符号化技術では、このような技術のうちの2つ以上を使用することができる場合、使用中の技術は、フレーム内予測モードで符号化を行うことができる。いくつかの場合では、モードは、サブモードおよび/またはパラメータを有してもよいし、これらのモードが、単独で符号化されてもよく、またはモードコードワードに含まれてもよい。どのコードワードを与えられたモード/サブモード/パラメータの組み合わせに使用するかは、フレーム内予測によって符号化効率利得に影響を及ぼすので、コードワードをビットストリームに変換するために使用されるエントロピー符号化技術にも影響を及ぼす。
【0009】
フレーム内予測の特定のモードは、H.264で導入され、H.265において改善され、また、共同探索モデル(JEM:joint exploration model)、汎用ビデオ符号化(VVC:versatile video coding)、ベンチマークセット(BMS:benchmark set)などの、新しい符号化/復号技術においてさらに改善される。予測ブロックは、既に利用可能なサンプルに属する、隣接するサンプル値を使用して形成されることができる。隣接するサンプルのサンプル値は、ある方向に従って予測ブロックにコピーされる。使用中の方向への参照は、ビットストリームに符号化されてもよく、または、その自身が予測されてもよい。
【0010】
ビデオ符号化技術の発展につれて、可能な方向の数が既に増加された。H.264(2003年)では、9つの異なる方向を表すことができた。これは、H.265(2013年)で33個に増加し、JEM/VC/BMSは、開示時点で最多65個の方向をサポートすることができる。最も可能な方向を識別するための実験が行われ、そして、エントロピー符号化におけるいくつかの技術は、少数のビットでそれらの可能性がある方向を表すために使用され、可能性が低い方向に対して、いくつかの代償を受ける。さらに、方向の自体は、隣接する既に復号されたブロックで使用される隣接する方向から予測されることができる場合がある。
【0011】
フレーム内予測方向から符号化されたビデオビットストリームにおける方向を表すビットへのマッピングは、ビデオ符号化技術によって異なることができ、また、例えば、予測方向への簡単な直接マッピングから、フレーム内予測モード、コードワード、最も可能性が高いモードを含む複雑な適応スキーム、および類似な技術まで、様々なものがある。当業者はそれらの技術に容易に精通している。しかしながら、すべての場合では、ビデオコンテンツにおいて、他の特定の方向よりも統計的に発生する可能性が低い特定の方向が存在する可能性がある。ビデオ圧縮の目的は冗長性の削減であるため、それらの可能性が低い方向は、適切に機能するビデオ符号化技術では、可能性が高い方向よりも多くのビットで表される。
【0012】
従来のフレーム内予測では、フレーム内予測プロセスは、予測されている現在ブロックに最も近いライン(例えば、行または列)に制限される。しかしながら、他のラインには、現在ブロックを予測するための意味のある情報も含まれている場合があり、それによって予測の改善につながる。したがって、フレーム内予測を実行する場合、最も近いライン以外のラインを考慮することには大きなメリットがある。さらに、異なるラインインデックスを有する参照サンプルは、異なる特性があることができる。したがって、異なる参照ラインに対して同じ数のフレーム内予測モードを設定することは、最適ではない場合がある。
【発明の概要】
【課題を解決するための手段】
【0013】
本開示の一実施形態によれば、ビデオデコーダが実行するビデオ復号の方法が提供される。この方法は、画像の現在ブロックについて、複数の参照ラインから1つの参照ラインを決定することであって、前記複数の参照ラインのうちの各参照ラインが前記現在ブロックの辺に平行であることを含む。この方法は、さらに、前記複数の参照ラインから決定された前記1つの参照ラインに基づいて、前記現在ブロックのフレーム内予測モードを決定することを含む。この方法は、さらに、決定されたフレーム内予測モードと、前記複数の参照ラインから決定された前記1つの参照ラインに含まれる1つ以上のサンプルとに基づいて、前記現在ブロックのフレーム内予測を実行することを含む。前記複数の参照ラインには、隣接参照ラインと少なくとも1つの非隣接参照ラインとが含まれ、前記隣接参照ラインが前記現在ブロックに隣接し、前記少なくとも1つの非隣接参照ラインが前記現在ブロックと隣接せず、前記少なくとも1つの非隣接参照ラインの各非隣接参照ラインに関連付けられたフレーム内予測モードの数は、前記隣接参照ラインに関連付けられたフレーム内予測モードの数の半分以下であり、前記少なくとも1つの非隣接参照ラインの各非隣接参照ラインが、同じ数のフレーム内予測モードに関連付けられる。
【0014】
本開示の一実施形態によれば、処理回路を含む、ビデオ復号のためのビデオデコーダが提供される。この処理回路は、画像の現在ブロックについて、複数の参照ラインから1つの参照ラインを決定することであって、前記複数の参照ラインのうちの各参照ラインが前記現在ブロックの辺に平行であることと、前記複数の参照ラインから決定された前記1つの参照ラインに基づいて、前記現在ブロックのフレーム内予測モードを決定することと、決定されたフレーム内予測モードと、前記複数の参照ラインから決定された前記1つの参照ラインに含まれる1つ以上のサンプルとに基づいて、前記現在ブロックのフレーム内予測を実行することと、を実行するように構成され、ここで、前記複数の参照ラインには、隣接参照ラインと少なくとも1つの非隣接参照ラインとが含まれ、前記隣接参照ラインが前記現在ブロックに隣接し、前記少なくとも1つの非隣接参照ラインが前記現在ブロックと隣接せず、前記少なくとも1つの非隣接参照ラインの各非隣接参照ラインに関連付けられたフレーム内予測モードの数は、前記隣接参照ラインに関連付けられたフレーム内予測モードの数の半分以下であり、前記少なくとも1つの非隣接参照ラインの各非隣接参照ラインが、同じ数のフレーム内予測モードに関連付けられる。
【図面の簡単な説明】
【0015】
開示された主題の更なる特徴、性質、および様々な利点は、以下の詳細な説明および添付図面からより明らかになり、ここで、
【
図1】一実施形態による通信システム(100)の簡略化されたブロック図の概略図である。
【
図2】一実施形態による通信システム(200)の簡略化されたブロック図の概略図である。
【
図3】一実施形態によるデコーダの簡略化されたブロック図の概略図である。
【
図4】一実施形態によるエンコーダの簡略化されたブロック図の概略図である。
【
図5】別の実施形態によるエンコーダのブロック図を示す図である。
【
図6】別の実施形態によるデコーダのブロック図を示す図である。
【
図7A】35個の予測モードの様々な角度モードを示す図である。
【
図7B】35個の予測モードの様々な角度モードを示す図である。
【
図8A】67個の予測モードの様々な角度モードを示す図である。
【
図8B】67個の予測モードの様々な角度モードを示す図である。
【
図9】例示的なフレーム内予測モードの概略図である。
【
図10】複数ラインのフレーム内予測の実施形態の概略図である。
【
図11】エンコーダまたはデコーダによって実行されるプロセスの実施形態を示す図である。
【
図12】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0016】
図1は、本開示の実施形態による通信システム(100)の簡略化されたブロック図である。通信システム(100)は、例えばネットワーク(150)を介して相互に通信することができる複数の端末デバイスを含む。例えば、通信システム(100)は、ネットワーク(150)を介して相互接続された第1ペアの端末デバイス(110)と(120)を含む。
図1の例では、第1ペアの端末デバイス(110)と(120)は、データの単方向伝送を行う。例えば、端末デバイス(110)は、ネットワーク(150)を介して他の端末デバイス(120)に伝送するために、ビデオデータ(例えば、端末デバイス(110)によって捕捉されたビデオ画像ストリーム)を符号化することができる。符号化されたビデオデータは、1つ以上の符号化されたビデオビットストリームの形で伝送されることができる。端末デバイス(120)は、ネットワーク(150)から、符号化されたビデオデータを受信し、符号化されたビデオデータを復号してビデオ画像を復元し、復元されたビデオデータに基づいてビデオ画像を表示することができる。単方向データ伝送は、メディアサービングアプリケーションなどでは一般的である。
【0017】
別の例では、通信システム(100)は、例えばビデオ会議中に発生する可能性がある、符号化されたビデオデータの双方向伝送を実行する第2ペアの端末デバイス(130)と(140)を含む。データの双方向伝送の場合、一例では、端末デバイス(130)と(140)の各端末デバイスは、ネットワーク(150)を介して端末デバイス(130)と(140)のうちの他方の端末デバイスに送信するために、ビデオデータ(例えば、端末デバイスによって捕捉されたビデオ画像ストリーム)を符号化することができる。端末デバイス(130)と(140)の各端末デバイスは、端末デバイス(130)と(140)のうちの他方の端末デバイスによって送信された、符号化されたビデオデータを受信することもでき、また、符号化されたビデオデータを復号してビデオ画像を復元し、復元されたビデオデータに基づいて、アクセス可能な表示デバイスにビデオ画像を表示することもできる。
【0018】
図1の例では、端末デバイス(110)、(120)、(130)および(140)は、サーバ、パーソナルコンピュータおよびスマートフォンとして示されてもよいが、本開示の原理は、これに限定されていない。本開示の実施形態には、ラップトップコンピュータ、タブレットコンピュータ、メディアプレイヤーおよび/または専用のビデオ会議機器を有する用途がある。ネットワーク(150)は、端末デバイス(110)、(120)、(130)および(140)間で、符号化されたビデオデータを伝送する任意の数のネットワークを表し、有線(ワイヤード)および/または無線の通信ネットワークを含む。通信ネットワーク(150)は、回路交換および/またはパケット交換のチャネルでデータを交換することができる。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワークおよび/またはインターネットを含む。本開示の目的のために、ネットワーク(150)のアーキテクチャおよびトポロジは、以下に本明細書で説明されない限り、本開示の動作にとって重要ではない場合がある。
【0019】
図2は、開示された主題に対するアプリケーションの例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置を示す。開示された主題は、例えば、CD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮されたビデオの記憶、ビデオ会議、デジタルTVなどを含む、他のビデオサポートアプリケーションにも同等に適用可能である。
【0020】
ストリーミングシステムは、捕捉サブシステム(213)を含むことができ、この捕捉サブシステムが、例えばデジタルカメラなどのビデオソース(201)を含むことができ、例えば圧縮されていないビデオ画像ストリーム(202)を作成する。一例では、ビデオ画像ストリーム(202)は、デジタルカメラによって撮影されたサンプルを含む。符号化されたビデオデータ(204)(または符号化されたビデオビットストリーム)と比較する際に、高いデータボリュームを強調するために太い線で描かれたビデオ画像ストリーム(202)は、ビデオソース(201)に結合されたビデオエンコーダ(203)を含む電子デバイス(220)によって処理されることができる。ビデオエンコーダ(203)は、以下でより詳細に説明するように、開示された主題の様々な態様を可能にするかまたは実現するために、ハードウェア、ソフトウェア、またはそれらの組み合わせを含むことができる。ビデオ画像ストリーム(202)と比較する際に、より低いデータボリュームを強調するために細い線で描かれた、符号化されたビデオデータ(204)(または符号化されたビデオビットストリーム(204))は、将来の使用のためにストリーミングサーバ(205)に記憶されることができる。
図2のクライアントサブシステム(206)および(208)などのような1つ以上のストリーミングクライアントサブシステムは、符号化されたビデオデータ(204)のコピー(207)および(209)を検索するために、ストリーミングサーバー(205)にアクセスすることができる。クライアントサブシステム(206)は、例えば、電子デバイス(230)にビデオデコーダ(210)を含むことができる。ビデオデコーダ(210)は、入力する、符号化されたビデオデータのコピー(207)を復号して、出力する、ビデオ画像ストリーム(211)を生成し、このビデオ画像ストリーム(211)が、ディスプレイ(212)(例えば、ディスプレイスクリーン)または他のレンダリングデバイス(図示せず)に表示されることができる。一部のストリーミングシステムでは、符号化されたビデオデータ(204)、(207)および(209)(例えば、ビデオビットストリーム)は、特定のビデオ符号化/圧縮規格に従って符号化されることができる。これらの規格の例は、ITU-T推薦H.265を含む。一例では、開発中のビデオ符号化規格は、非公式には次世代ビデオ符号化(VVC:Versatile Video Coding)と呼ばれる。開示された主題は、VVCのコンテキストで使用されることができる。
【0021】
なお、電子デバイス(220)および(230)は、他のコンポーネント(図示せず)を含むことができる。例えば、電子デバイス(220)は、ビデオデコーダ(図示せず)を含むことができ、電子デバイス(230)は、同様にビデオエンコーダ(図示せず)を含むことができる。
【0022】
図3は、本開示の実施形態によるビデオデコーダ(310)のブロック図を示す。ビデオデコーダ(310)は、電子デバイス(330)に含まれることができる。電子デバイス(330)は、受信機(331)(例えば、受信回路)を含むことができる。ビデオデコーダ(310)は、
図2の例におけるビデオデコーダ(210)の代わりに使用することができる。
【0023】
受信機(331)は、ビデオデコーダ(310)によって復号される1つ以上の符号化されたビデオシーケンスを受信することができ、同じまたは別の実施形態では、一度に1つの符号化されたビデオシーケンスを受信することができ、ここで、各符号化されたビデオシーケンスの復号が、他の符号化されたビデオシーケンスから独立されている。符号化されたビデオシーケンスは、チャネル(301)から受信されることができ、このチャネルが、符号化されたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアのリンクであってもよい。受信機(331)は、それぞれの使用エンティティ(図示せず)に伝送されることができる、例えば符号化されたオーディオデータおよび/または補助データストリームなどのような他のデータとともに、符号化されたビデオデータを受信することができる。受信機(331)は、符号化されたビデオシーケンスを他のデータから分離することができる。ネットワークジッタを防止するために、バッファメモリ(315)は、受信機(331)とエントロピーデコーダ/解析器(Parser)(320)(以降「解析器(320)」)との間に結合されることができる。いくつかのアプリケーションでは、バッファメモリ(315)は、ビデオデコーダ(310)の一部である。他の場合では、バッファメモリ(315)は、ビデオデコーダ(310)の外部に配置されてもよい(図示せず)。さらに他の場合では、例えばネットワークジッタを防止するために、ビデオデコーダ(310)の外部にバッファメモリ(図示せず)があってもよく、さらに、例えば再生タイミングを処理するために、ビデオデコーダ(310)の内部に別のバッファメモリ(315)があってもよい。受信機(331)が十分な帯域幅および制御可能性を有するストア/フォワードデバイスからまたは等時性同期ネットワーク(isosynchronous network)からデータを受信する場合、バッファメモリ(315)は、必要ではないかまたは小さくてもよい。インターネットなどのようなベストエフォートパケットネットワークで使用するために、バッファメモリ(315)は、必要になる場合があり、比較的大きくすることができ、有利には適応性のサイズにすることができ、オペレーティングシステムまたはビデオデコーダ(310)の外部の類似要素(図示せず)に少なくとも部分的に実装されることができる。
【0024】
ビデオデコーダ(310)は、符号化されたビデオシーケンスからシンボル(321)を再構築するための解析器(320)を含むことができる。これらのシンボルのカテゴリには、ビデオデコーダ(310)の動作を管理するために使用される情報が含まれ、電子デバイス(330)の不可欠な部分ではないが、
図3に示すように、電子デバイス(330)に結合されることができるレンダリングデバイス(312)(例えば、ディスプレイスクリーン)などのようなレンダリングデバイスを制御するための情報が潜在的に含まれる。レンダリングデバイスの制御情報は、補足強化情報(SEIメッセージ)またはビジュアルユーザビリティ情報(VUI)パラメータセットフラグメント(図示せず)の形であってもよい。解析器(320)は、受信された、符号化されたビデオシーケンスに対して解析/エントロピー復号を行うことができる。符号化されたビデオシーケンスの符号化は、ビデオ符号化技術または規格に従うことができ、可変長符号化、ハフマン符号化、コンテキスト感度を有するかまたは有しないかの算術符号化などを含む、様々な原理に従うことができる。解析器(320)は、グループに対応する少なくとも1つのパラメータに基づいて、符号化されたビデオシーケンスから、ビデオデコーダにおける画素のサブグループのうちの少なくとも1つのサブグループパラメータのセットを抽出することができる。サブグループは、グループオブピクチャ(GOP:Group of Pictures)、画像、タイル、スライス、マクロブロック、符号化ユニット(CU:Coding Unit)、ブロック、変換ユニット(TU:Trans form Unit)、予測ユニット(PU:Prection Unit)などを含むことができる。解析器(320)は、変換係数、量子化器パラメータ値、動きベクトルなどのような情報を符号化されたビデオシーケンスから抽出することもできる。
【0025】
解析器(320)は、シンボル(321)を作成するために、バッファメモリ(315)から受信されたビデオシーケンスに対してエントロピー復号/解析動作を実行することができる。
【0026】
シンボル(321)の再構築は、符号化されたビデオ画像またはその一部(例えば、フレーム間画像およびフレーム内画像、フレーム間ブロックおよびフレーム内ブロック)のタイプおよび他の要因に応じて、複数の異なるユニットに関連することができる。どのようなユニットに関連するか、およびどのように関連するかは、解析器(320)によって、符号化されたビデオシーケンスから解析されたサブグループ制御情報によって制御されることができる。解析器(320)と以下の複数のユニットとの間のそのようなサブグループ制御情報のフローは、明瞭にするために示されていない。
【0027】
既に言及された機能ブロックに加えて、ビデオデコーダ(310)は、以下に説明するように、いくつかの機能ユニットに概念的に細分されることができる。商業的制約で動作する実際の実施形態では、これらのユニットの多くは、互いに密接に相互作用し、少なくとも部分的には互いに統合されることができる。しかしながら、開示された主題を説明する目的のために、以下の機能ユニットへの概念的な細分は適切である。
【0028】
第1ユニットは、スケーラ/逆変換ユニット(351)である。スケーラ/逆変換ユニット(351)は、量子化された変換係数と、どのような変換を使用するかということ、ブロックサイズ、量子化因子、量子化スケーリング行列などを含む制御情報とを、解析器(320)からシンボル(321)として受信する。スケーラ/逆変換ユニット(351)は、アグリゲータ(355)に入力できるサンプル値を含むブロックを出力することができる。
【0029】
いくつかの場合では、スケーラ/逆変換ユニット(351)の出力サンプルは、フレーム内符号化ブロックに属することができ、即ち、以前に再構築された画像からの予測情報を使用していないが、現在画像の以前に再構築された部分からの予測情報を使用することができるブロックである。このような予測情報は、フレーム内画像予測ユニット(352)によって提供されてもよい。いくつかの場合では、フレーム内画像予測ユニット(352)は、現在画像バッファ(358)から抽出された、周囲の既に再構築された情報を使用して、再構築中のブロックと同じサイズおよび形状のブロックを生成する。現在画像バッファ(358)は、例えば、部分的に再構築された現在画像および/または完全に再構築された現在画像をバッファリングする。アグリゲータ(355)は、いくつかの場合では、サンプルごとに基づいて、フレーム内予測ユニット(352)によって生成された予測情報を、スケーラ/逆変換ユニット(351)によって提供される出力サンプル情報に追加する。
【0030】
他の場合では、スケーラ/逆変換ユニット(351)の出力サンプルは、フレーム間符号化されたブロックおよび潜在的に動き補償されたブロックに属することができる。このような場合、動き補償予測ユニット(353)は、参照画像メモリ(357)にアクセスして、予測に用いられるサンプルを抽出することができる。抽出されたサンプルが、ブロックに関連するシンボル(321)に基づいて動き補償された後、これらのサンプルは、出力サンプル情報を生成するために、アグリゲータ(355)によってスケーラ/逆変換ユニット(351)の出力(この場合、残差サンプルまたは残差信号と呼ばれる)に追加されることができる。動き補償予測ユニット(353)が予測サンプルを抽出するときの参照画像メモリ(357)内のアドレスは、例えば、X、Y、および参照画像成分を有することができるシンボル(321)の形で、動き補償予測ユニット(353)に利用可能な動きベクトルによって制御されることができる。動き補償は、サブサンプルの正確な動きベクトルが使用中であるときに、参照画像メモリ(357)から抽出されたサンプル値の補間、動きベクトル予測メカニズムなどを含むこともできる。
【0031】
アグリゲータ(355)の出力サンプルは、ループフィルタユニット(356)において様々なループフィルタリング技術を受けてもよい。ビデオ圧縮技術は、符号化されたビデオシーケンス(符号化されたビデオビットストリームとも呼ばれる)に含まれ、解析器(320)からのシンボル(321)としてループフィルタユニット(356)に利用可能になるパラメータによって制御されるループ内フィルタ技術を含むことができ、また、符号化された画像または符号化されたビデオシーケンスの前の部分(復号順序で)を復号する期間で得られたメタ情報に応答し、および、以前に再構築されてループフィルタリングされたサンプル値に応答することもできる。
【0032】
ループフィルタユニット(356)の出力は、レンダリングデバイス(312)に出力することができ、および、将来のフレーム間画像予測で使用するために参照画像メモリ(357)に記憶することができるサンプルストリームとすることができる。
【0033】
特定の符号化された画像は、完全に再構築されると、将来の予測のための参照画像として使用することができる。例えば、現在画像に対応する符号化された画像が完全に再構築され、符号化された画像が(例えば、解析器(320)によって)参照画像として識別されると、現在画像バッファ(358)は、参照画像メモリ(357)の一部になることができ、そして、後続の符号化された画像の再構築を開示する前に、新しい現在画像バッファを再割り当てることができる。
【0034】
ビデオデコーダ(310)は、例えばITU-T Rec.H.265.などのような規格における所定のビデオ圧縮技術に従って復号動作を実行することができる。符号化されたビデオシーケンスは、符号化されたビデオシーケンスがビデオ圧縮技術または規格の構文と、ビデオ圧縮技術または規格の文書としてのプロファイルとの両方に従うという意味で、使用されているビデオ圧縮技術または規格によって指定された構文に従うことができる。具体的には、プロファイルは、ビデオ圧縮技術または規格で使用可能なすべてのツールから、そのプロファイルで使用できる唯一のツールとしていくつかのツールを選択することができる。符号化されたビデオシーケンスの複雑さが、ビデオ圧縮技術または規格のレベルによって定義された範囲内にあるということもコンプライアンスに必要である。いくつかの場合では、レベルは、最大画像サイズ、最大フレームレート、(例えば、毎秒メガ(mega)個のサンプルを単位として測定された)最大再構築サンプルレート、最大参照画像サイズなどを制限する。レベルによって設定された制限は、いくつかの場合では、仮想参照デコーダ(HRD:Hypothetical Reference Decoder)仕様と、符号化されたビデオシーケンスにおいてシグナルで通知されるHRDバッファ管理のメタデータとによって、さらに制限されることができる。
【0035】
一実施形態では、受信機(331)は、符号化されたビデオとともに付加(冗長)的なデータを受信することができる。付加的なデータは、符号化されたビデオシーケンスの一部として含まれることができる。付加的なデータは、データを適切に復号し、および/または元のビデオデータをより正確に再構築するために、ビデオデコーダ(310)によって使用されることができる。付加的なデータは、例えば、時間的、空間的、または信号雑音比(SNR:signal noise ratio)拡張層、冗長スライス、冗長画像、前方誤り訂正符号などのような形式にすることができる。
【0036】
図4は、本開示の一実施形態によるビデオエンコーダ(403)のブロック図を示す。ビデオエンコーダ(403)は、電子デバイス(420)に含まれる。電子デバイス(420)は、送信機(440)(例えば、送信回路)を含む。ビデオエンコーダ(403)は、
図2の例におけるビデオエンコーダ(203)の代わりに使用することができる。
【0037】
ビデオエンコーダ(403)は、ビデオエンコーダ(403)によって符号化されるビデオ画像を捕捉するビデオソース(401)(
図4の例における電子デバイス(420)の一部ではない)から、ビデオサンプルを受信することができる。別の例では、ビデオソース(401)は、電子デバイス(420)の一部である。
【0038】
ビデオソース(401)は、ビデオエンコーダ(403)によって符号化されたソースビデオシーケンスをデジタルビデオサンプルストリームの形式で提供することができ、前記デジタルビデオサンプルストリームは、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット…)、任意の色空間(例えば、BT.601 Y CrCB、RGB…)及び任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)を有することができる。メディアサービスシステムでは、ビデオソース(401)は、以前に準備されたビデオを記憶する記憶デバイスであってもよい。ビデオ会議システムでは、ビデオソース(401)は、ローカル画像情報をビデオシーケンスとして捕捉するカメラであってもよい。ビデオデータは、順番に見られるときに動きを与える複数の個別の画像として提供されることができる。画像自体は、空間画素アレイとして構成されてもよく、ここで、各画素は、使用中のサンプリング構造、色空間などに応じて、1つ以上のサンプルを含むことができる。当業者は、画素とサンプルとの間の関係を容易に理解することができる。以下の説明は、サンプルに焦点を当てる。
【0039】
一実施形態によれば、ビデオエンコーダ(403)は、リアルタイムで、またはアプリケーションによって要求される任意の他の時間制約の下で、ソースビデオシーケンスの画像を、符号化されたビデオシーケンス(443)に符号化し圧縮することができる。適切な符号化速度を実施することは、コントローラ(450)の1つの機能である。いくつかの実施形態では、コントローラ(450)は、以下で説明するように他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。該結合は、明瞭にするために図示されていない。コントローラ(450)によって設定されたパラメータは、レート制御関連パラメータ(画像スキップ、量子化器、レート歪み最適化技術のλ(ラムダ)値…)、画像サイズ、グループオブピクチャ(GOP:group of pictures)レイアウト、最大動きベクトル探索範囲などを含むことができる。コントローラ(450)は、特定のシステム設計に対して最適化されたビデオエンコーダ(403)に関連する他の適切な機能を有するように構成されることができる。
【0040】
いくつかの実施形態では、ビデオエンコーダ(403)は、符号化ループで動作するように構成される。過度に簡単化された説明として、一例では、符号化ループは、ソースコーダ(430)(例えば、符号化される入力画像と、参照画像とに基づいて、シンボルストリームなどのようなシンボルを作成することを担当する)と、ビデオエンコーダ(403)に埋め込まれた(ローカル)デコーダ(433)とを含むことができる。デコーダ(433)は、(リモート)デコーダがサンプルデータを作成すると同様の方法でシンボルを再構築してサンプルデータを作成する(開示された主題で考慮されているビデオ圧縮技術では、シンボルと符号化されたビデオビットストリームとの間の任意の圧縮が可逆圧縮であるからである)。再構築されたサンプルストリーム(サンプルデータ)は、参照画像メモリ(434)に入力される。シンボルストリームの復号により、デコーダの位置(ローカルまたはリモート)に関係なくビット正確な結果が得られるため、参照画像メモリ(434)のコンテンツは、ローカルエンコーダとリモートエンコーダの間でもビットで正確に対応する。言い換えれば、エンコーダの予測部分が「見た」参照画像サンプルは、デコーダが復号期間に予測を使用する際に「見た」サンプル値と全く同じである。この参照画像の同期性の基本原理(および、例えばチャネル誤差の原因で同期性が維持されない場合に生じるドリフト)は、いくつかの関連技術でも使用されている。
【0041】
「ローカル」デコーダ(433)の動作は、既に
図3に関連して以上で詳細に説明された、ビデオデコーダ(310)などのような「リモート」デコーダの動作と同じであってもよい。しかし、
図3をさらに簡単に参照すると、シンボルが利用可能であり、かつ、エントロピーコーダ(445)および解析器(320)によって符号化されたビデオシーケンスへのシンボルの符号化/復号が可逆圧縮であることができるため、バッファメモリ(315)と解析器(320)を含むビデオデコーダ(310)のエントロピーデコード部分は、ローカルデコーダ(433)で完全に実行できない可能性がある。
【0042】
この時点で、デコーダに存在する解析/エントロピー復号以外のいかなるデコーダ技術も、対応するエンコーダにおいて、実質的に同一の機能形式で必ず存在する必要がある、ということが観察されている。このため、開示された主題は、デコーダ動作に焦点を合わせる。エンコーダ技術の説明は、包括的に説明されたデコーダ技術の逆であるため、省略されることができる。特定の領域だけで、より詳細な説明が必要であり、以下で提供される。
【0043】
動作中に、いくつかの実施形態では、ソースコーダ(430)は、動き補償予測符号化を実行することができ、前記動き補償予測符号化は、ビデオシーケンスから「参照画像」として指定された1つ以上の以前に符号化された画像を参照して、入力画像を予測的に符号化する。このようにして、符号化エンジン(432)は、入力画像の画素ブロックと、入力画像に対する予測参照として選択されることができる参照画像の画素ブロックとの間の差分を符号化する。
【0044】
ローカルビデオデコーダ(433)は、ソースコーダ(430)によって生成されたシンボルに基づいて、参照画像として指定されることができる画像の符号化されたビデオデータを復号することができる。符号化エンジン(432)の動作は、有利には不可逆プロセスであってもよい。符号化されたビデオデータがビデオデコーダ(
図4に示されない)で復号された場合、再構築されたビデオシーケンスは、通常、いくつかの誤差を伴うソースビデオシーケンスのレプリカであってもよい。ローカルビデオデコーダ(433)は、参照画像に対してビデオデコーダによって実行されることができる復号プロセスをコピーして、再構築された参照画像を参照画像キャッシュ(434)に記憶することができる。このようにして、ビデオエンコーダ(403)は、遠端ビデオデコーダによって得られる(伝送誤差が存在しない)再構築された参照画像と共通のコンテンツを有する再構築された参照画像のコピーを、ローカルに記憶することができる。
【0045】
予測器(435)は、符号化エンジン(432)に対して予測検索を実行することができる。すなわち、符号化される新しい画像について、予測器(435)は、新しい画像の適切な予測参照として機能するサンプルデータ(候補参照画素ブロックとして)または特定のメタデータ、例えば参照画像動きベクトル、ブロック形状などについて、参照画像メモリ(434)を検索することができる。予測器(435)は、適切な予測参照を見つけるために、サンプルブロックに基づいて、画素ブロックごとに動作することができる。いくつかの場合では、予測器(435)によって得られた検索結果によって決定されるように、入力画像は、参照画像メモリ(434)に記憶された複数の参照画像から引き出された予測参照を有することができる。
【0046】
コントローラ(450)は、例えば、ビデオデータを符号化するために使用されるパラメータおよびサブグループパラメータの設定を含む、ソースエンコーダ(430)の符号化動作を管理することができる。
【0047】
上述のすべての機能ユニットの出力は、エントロピーコーダ(445)でエントロピー符号化されることができる。エントロピーコーダ(445)は、例えばハフマン符号化、可変長符号化、算術符号化などの当業者に知られている技術に従って、シンボルを可逆圧縮することにより、様々な機能ユニットによって生成されたシンボルを符号化されたビデオシーケンスに変換する。
【0048】
送信機(440)は、符号化されたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクであることができる通信チャネル(460)を介した送信に備えるために、エントロピーコーダ(445)によって生成された、符号化されたビデオシーケンスをバッファリングすることができる。送信機(440)は、ビデオコーダ(403)からの符号化されたビデオデータを、送信される他のデータ、例えば、符号化されたオーディオデータおよび/または補助データストリーム(ソースは図示せず)とマージすることができる。
【0049】
コントローラ(450)は、ビデオエンコーダ(403)の動作を管理することができる。符号化する期間、コントローラ(450)は、各符号化された画像に、特定の符号化された画像タイプを割り当てることができ、これは、それぞれの画像に適用できる符号化技術に影響を与える可能性がある。例えば、画像は、しばしば以下の画像タイプのいずれかとして割り当てられてもよい。
【0050】
フレーム内画像(I画像)は、シーケンス内の任意の他の画像を予測のソースとして使用せずに、符号化および復号されることができるものであってもよい。いくつかのビデオコーデックは、独立デコーダリフレッシュ(Independent Decoder Refresh、「IDR」)画像などの異なるタイプのフレーム内画像を許容する。当業者は、I画像の変種とそれらのアプリケーションおよび機能とを理解している。
【0051】
予測画像(P画像)は、多くとも1つの動きベクトルおよび参照インデックスを使用して各ブロックのサンプル値を予測するフレーム内予測またはフレーム間予測を使用して符号化および復号され得るものであってもよい。
【0052】
双方向予測画像(B画像)は、多くとも2つの動きベクトルおよび参照インデックスを使用して各ブロックのサンプル値を予測するフレーム内予測またはフレーム間予測を使用して符号化および復号され得るものであってもよい。同様に、複数の予測画像は、単一のブロックの再構築に、2つ以上の参照画像および関連されたメタデータを使用することができる。
【0053】
ソース画像は、一般的に、複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、または16×16個のサンプルのブロック)に空間的に細分され、ブロックごとに符号化されることができる。これらのブロックは、ブロックのそれぞれの画像に適用される符号化割り当てによって決定されるように、他の(既に符号化された)ブロックを参照して予測的に符号化されることができる。例えば、I画像のブロックは、非予測的に符号化されてもよく、またはそれらが同じ画像の既に符号化されたブロックを参照して予測的に符号化されてもよい(空間予測またはフレーム内予測)。P画像の画素ブロックは、1つ前に符号化された参照画像を参照して、空間的予測を介してまたは時間的予測を介して予測的に符号化されてもよい。B画像のブロックは、1つまたは2つ前に符号化された参照画像を参照して、空間的予測を介してまたは時間的予測を介して予測的に符号化されてもよい。
【0054】
ビデオエンコーダ(403)は、例えばITU-T H.265などのような所定のビデオ符号化技術または規格に従って、符号化動作を実行することができる。その動作において、ビデオエンコーダ(403)は、入力ビデオシーケンスにおける時間的と空間的冗長性を利用する予測符号化動作を含む、様々な圧縮動作を実行することができる。したがって、符号化されたビデオデータは、使用されるビデオ符号化技術または規格によって指定された構文に従うことができる。
【0055】
一実施形態では、送信機(440)は、符号化されたビデオとともに、付加的なデータを送信することができる。ソースコーダ(430)は、そのようなデータを、符号化されたビデオシーケンスの一部として含むことができる。付加的なデータは、時間的/空間的/SNR拡張層、冗長画像やスライスなどのような他の形式の冗長データ、補足拡張情報(Supplementary Enhancement Information、略称SEI)、ビジュアルユーザビリティ情報(Visual Usability Information、略称VUI)パラメータセットフラグメントなどを含むことができる。
【0056】
ビデオは、時系列で複数のソース画像(ビデオ画像)として捕捉されることができる。フレーム内画像予測(フレーム内予測と略称されることが多い)は、与えられた画像における空間的相関を利用し、フレーム間画像予測は、画像間の(時間的または他の)相関を利用する。一例では、現在画像と呼ばれる、符号化/復号中の特定の画像がブロックに分割される。現在画像のブロックが、ビデオにおける以前に符号化され、まだバッファリングされている参照画像における参照ブロックに類似している場合、現在画像のブロックは、動きベクトルと呼ばれるベクトルによって符号化されることができる。動きベクトルは、参照画像における参照ブロックを指し、複数の参照画像が使用されている場合、参照画像を識別する3番目の次元を有することができる。
【0057】
いくつかの実施形態では、双方向予測技術は、フレーム間画像予測に使用されることができる。双方向予測技術によれば、例えば、復号の順で両方とも、ビデオにおける現在画像の前にある(ただし、表示の順でそれぞれ、過去と将来にあるかもしれない)第1および第2参照画像などのような2つの参照画像が使用される。現在画像におけるブロックは、第1参照画像における第1参照ブロックを指す第1動きベクトルと、第2参照画像における第2参照ブロックを指す第2動きベクトルによって符号化されることができる。ブロックは、第1参照ブロックおよび第2参照ブロックの組み合わせによって予測されることができる。
【0058】
さらに、符号化効率を向上させるために、マージモード技術は、フレーム間画像予測で使用されることができる。マージモードでは、現在画像におけるブロックは、(例えば、現在画像におけるブロックと境界を共有し、現在画像におけるブロックと一緒に、より大きなパーティション領域に配置される)現在画像にける隣接するブロックの動きベクトルを継承することができる。
【0059】
本開示のいくつかの実施形態によれば、フレーム間画像予測やフレーム内画像予測などのような予測は、ブロックの単位で実行される。例えば、HEVC規格に従って、ビデオ画像のシーケンスにおける画像は、圧縮のために符号化ツリーユニット(CTU:coding tree unit)に分割され、画像におけるCTUは同じサイズ、例えば64×64画素、32×32画素、または16×16画素を有する。一般的に、CTUは、1つの輝度CTBと2つの色度CTBである3つの符号化ツリーブロック(CTB)を含む。各CTUは、再帰的に四分木で1つ以上の符号化ユニット(CU)に分割されてもよい。例えば、64×64画素のCTUは、1つの64×64画素のCU、4つの32×32画素のCU、または16つの16×16画素のCUに分割されることができる。一例では、各CUは、フレーム間予測タイプまたはフレーム内予測タイプなどのようなCUに対する予測タイプを決定するために分析される。CUは、時間的および/または空間的予測可能性に応じて、1つ以上の予測ユニット(PU)に分割される。通常、各PUは、輝度予測ブロック(PB)と2つの色度PBを含む。一実施形態では、符号化(エンコーディング/デコーディング)における予測動作は、予測ブロックの単位で実行される。輝度予測ブロックを予測ブロックの例として使用すると、予測ブロックは、8×8画素、16×16画素、8×16画素、16×8画素などのような画素値(例えば、輝度値)の行列を含む。
【0060】
図5は、本開示の別の実施形態によるビデオエンコーダ(503)の図を示す。ビデオエンコーダ(503)は、ビデオ画像シーケンスにおける現在ビデオ画像内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックを符号化されたビデオシーケンスの一部である符号化された画像に符号化するように構成される。一例では、ビデオエンコーダ(503)は、
図2の例におけるビデオエンコーダ(203)の代わりに使用される。
【0061】
HEVCの例では、ビデオエンコーダ(503)は、例えば8×8サンプルの予測ブロックなどのような処理ブロックのサンプル値の行列を受信する。ビデオエンコーダ(503)は、例えばレート歪み最適化を使用して、フレーム内モード、フレーム間モード、または双方向予測モードを使用して処理ブロックを符号化するかどうかを決定する。処理ブロックがフレーム内モードで符号化される場合、ビデオエンコーダ(503)は、フレーム内予測技術を使用して、処理ブロックを符号化された画像に符号化することができ、また、処理ブロックがフレーム間モードまたは双方向予測モードで符号化される場合、ビデオエンコーダ(503)は、それぞれフレーム間予測または双方向予測技術を使用して、処理ブロックを符号化された画像に符号化することができる。特定のビデオ符号化技術では、マージモードは、予測値以外にある符号化された動きベクトル成分の利点を利用しない場合に、動きベクトルが1つ以上の動きベクトル予測値から導出されるフレーム間画像予測サブモードにすることができる。特定の他のビデオ符号化技術では、主題ブロックに適用可能な動きベクトル成分が存在する場合がある。一例では、ビデオエンコーダ(503)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)などのような他のコンポーネントを含む。
【0062】
図5の例では、ビデオエンコーダ(503)は、
図5に示すように一緒に結合された、フレーム間エンコーダ(530)と、フレーム内エンコーダ(522)と、残差計算器(523)と、スイッチ(526)と、残差エンコーダ(524)と、汎用コントローラ(521)と、エントロピーエンコーダ(525)とを含む。
【0063】
フレーム間エンコーダ(530)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、そのブロックを参照画像(例えば、前の画像と後の画像におけるブロック)内の1つ以上の参照ブロックと比較し、フレーム間予測情報(例えば、フレーム間符号化技術による冗長情報説明、動きベクトル、マージモード情報)を生成して、任意の適切な技術を使用して、フレーム間予測情報に基づいてフレーム間予測結果(例えば、予測されたブロック)を計算するように構成される。
【0064】
フレーム内エンコーダ(522)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、いくつかの場合では、そのブロックを同じ画像で既に符号化されたブロックと比較し、変換後に量子化された係数を生成して、いくつかの場合では、フレーム内予測情報(例えば、1つ以上のフレーム内符号化技術によるフレーム内予測方向情報)を生成するように構成される。
【0065】
汎用コントローラ(521)は、汎用制御データを決定し、汎用制御データに基づいてビデオエンコーダ(503)の他のコンポーネントを制御するように構成される。一例では、汎用コントローラ(521)は、ブロックのモードを決定し、そのモードに基づいて制御信号をスイッチ(526)に提供する。例えば、モードがフレーム内モードである場合、汎用コントローラ(521)は、残差計算器(523)によって使用されるフレーム内モード結果を選択するように、スイッチ(526)を制御し、フレーム内予測情報を選択して、そのフレーム内予測情報をコードストリームに含めるように、エントロピーエンコーダ(525)を制御する。また、モードがフレーム間モードである場合、汎用コントローラ(521)は、残差計算器(523)によって使用されるフレーム間予測結果を選択するように、スイッチ(526)を制御し、フレーム間予測情報を選択して、そのフレーム間予測情報をコードストリームに含めるように、エントロピーエンコーダ(525)を制御する。
【0066】
残差計算器(523)は、受信されたブロックとフレーム内エンコーダ(522)またはフレーム間エンコーダ(530)から選択された予測結果との間の差(残差データ)を計算するように構成される。残差エンコーダ(524)は、残差データに基づいて動作して、残差データを符号化することで変換係数を生成するように構成される。一例では、残差エンコーダ(724)は、周波数領域で残差データを変換し、変換係数を生成するように構成される。次に、変換係数は量子化処理を受けて、量子化された変換係数が得られる。
【0067】
エントロピーエンコーダ(525)は、符号化されたブロックを含むようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ(525)は、HEVC規格などのような適切な規格に従って様々な情報を含むように構成される。一例では、エントロピーエンコーダ(525)は、汎用制御データ、選択された予測情報(例えば、フレーム内予測情報またはフレーム間予測情報)、残差情報、およびビットストリーム内の他の適切な情報を含むように構成される。開示された主題によれば、フレーム間モードまたは双方向予測モードのマージサブモードでブロックを符号化する場合、残差情報はないということに留意されたい。
【0068】
図6は、本開示の別の実施形態によるビデオデコーダ(610)の図を示す。ビデオデコーダ(610)は、符号化されたビデオシーケンスの一部である符号化された画像を受信し、符号化された画像を復号して再構築された画像を生成するように構成される。一例では、ビデオデコーダ(610)は、
図2の例におけるビデオデコーダ(210)の代わりに使用される。
【0069】
図6の例では、ビデオデコーダ(610)は、
図6に示されるように一緒に結合された、エントロピーデコーダ(671)と、フレーム間デコーダ(680)と、残差デコーダ(673)と、再構築モジュール(674)と、フレーム内デコーダ(672)とを含む。
【0070】
エントロピーデコーダ(671)は、符号化された画像から、符号化された画像を構成する構文要素を表す特定のシンボルを再構築するように構成されることができる。このようなシンボルは、例えば、ブロックを符号化するためのモード(例えば、フレーム内、フレーム間、双方向予測、後者の2つのマージサブモードまたは別のサブモード)と、フレーム内デコーダ(672)またはフレーム間デコーダ(680)による予測に使用される特定のサンプルまたはメタデータをそれぞれ識別できる予測情報(例えば、フレーム内予測情報またはフレーム間予測情報など)と、例えば量子化された変換係数の形式の残差情報などとを含む。一例では、予測モードがフレーム間予測モードまたは双方向予測モードである場合、フレーム間予測情報は、フレーム間デコーダ(680)に提供される。そして、予測タイプがフレーム内予測タイプである場合、フレーム内予測情報は、フレーム内デコーダ(672)に提供される。残差情報は、逆量子化を受けて、残差デコーダ(673)に提供されることができる。
【0071】
フレーム間デコーダ(680)は、フレーム間予測情報を受信し、フレーム間予測情報に基づいてフレーム間予測結果を生成するように構成される。
【0072】
フレーム内デコーダ(672)は、フレーム内予測情報を受信し、フレーム内予測情報に基づいて予測結果を生成するように構成される。
【0073】
残差デコーダ(673)は、逆量子化を実行して、逆量子化された変換係数を抽出し、その逆量子化された変換係数を処理して、残差を周波数領域から空間領域に変換するように構成される。残差デコーダ(673)はまた、特定の制御情報(量子化器パラメータQPを含むように)も必要とする場合があり、その情報は、エントロピーデコーダ(671)によって提供される場合がある(これが低ボリューム制御情報のみであるため、データ経路は図示されていない)。
【0074】
再構築モジュール(674)は、空間領域において、残差デコーダ(673)による出力としての残差と、(場合によっては、フレーム間予測モジュールまたはフレーム内予測モジュールによる出力としての)予測結果とを組み合わせて、再構築されたブロックを形成するように構成され、再構築されたブロックは、再構築された画像の一部とすることができ、その後、再構築された画像は、再構築されたビデオの一部とすることができる。それは、視覚的品質を改善するために、デブロッキング動作などのような他の適切な動作を実行することができる、ということに留意されたい。
【0075】
ビデオエンコーダ(203)、(403)および(503)と、ビデオデコーダ(210)、(310)および(610)とは、任意の適切な技術を使用して実現されることができる、ということに留意されたい。一実施形態では、ビデオエンコーダ(203)、(403)および(503)と、ビデオデコーダ(210)、(310)および(610)とは、1つ以上の集積回路を使用して実現されることができる。別の実施形態では、ビデオエンコーダ(203)、(403)および(503)と、ビデオデコーダ(210)、(310)および(610)とは、ソフトウェア命令を実行する1つ以上のプロセッサを使用して実装されることができる。
【0076】
図7Aおよび
図7Bは、33個の角度モードを含む合計で35個のフレーム内予測モードの実施形態を示す。モード0は、INTRA_PLANAR(プラナー)モードであり、モード1は、INTRA_DC(DC)モードである。さらに、モード2~34は、フレーム内角度モードを示す。当業者には理解されるように、モード10は、水平角度モードであり、モード26は、垂直モードである。ことである。
【0077】
図8Aおよび
図8Bは、65個の角度モードを含む合計で67個のフレーム内予測モードの実施例を示す。モード0は、INTRA_PLANAR(プラナー)モードであり、モード1は、INTRA_DC(DC)モードである。さらに、モード2~66は、それぞれ、フレーム内角度モードINTRA_ANGULAR2~INTRA_ANGULAR66を示す。当業者には理解されるように、モード18は、水平モードであり、モード50は、垂直モードである。
【0078】
図9は、フレーム内予測に使用される例示的な角度モードの実施形態を示す。
図9では、右下に描かれているのは、9個の予測方向の例であり、この9個の予測方向は、H.265の35個の可能な予測方向からのものであってもよい。矢印が収束する点(901)は、予測されるサンプルを示す。矢印は、サンプルが予測される方向を示す。例えば、矢印(902)は、サンプル(901)がサンプル(901)の右上の、水平軸から45度の角度での1つまたは複数のサンプルから予測されることを示す。同様に、矢印(903)は、サンプル(901)がサンプル(901)の左下の、水平軸から22.5度の角度での1つまたは複数のサンプルから予測されることを示す。
【0079】
引き続き
図9を参照すると、左上に4×4のサンプルの正方形ブロック(904)が示されている(太い破線で表示されている)。正方形ブロック(904)は、16個のサンプルを含み、それぞれが文字「S」、Y次元におけるその位置(例えば、行インデックス)、およびX次元におけるその位置(例えば、列インデックス)でラベル付けられている。例えば、サンプルS21は、ブロック(904)でのY次元における(上からの)2番目のサンプルかつX次元における(左からの)1番目のサンプルである。同様に、サンプルS44は、ブロック(904)でのY次元およびX次元の両方における4番目のサンプルである。ブロックのサイズが4×4のサンプルであるため、S44は、右下に位置する。さらに、同様の番号付けスキームに従う参照サンプルが示されている。参照サンプルは、文字「R」、ブロック(904)に対するそのY位置(例えば、行インデックス)およびX位置(列インデックス)でラベル付けられている。フレーム画像内予測は、信号で通知される予測方向に応じて、適切に隣接するサンプルから参照サンプル値をコピーすることで機能することができる。例えば、符号化されたビデオビットストリームには、このブロックに対して、矢印(902)と一致する予測方向を示すシグナリングが含まれていると仮定し、即ち、サンプルは、予測サンプル(901)の右上の、水平から45度の角度での1つまたは複数のサンプルから予測される。その場合、サンプルS41、S32、S23およびS14は、同じくR05から予測される。次に、サンプルS44は、R08から予測される。
【0080】
場合によっては、参照サンプルを算出するために、特に方向が45度で均等に分割できない場合、複数の参照サンプルの値を、例えば補間によって組み合わせることができる。
【0081】
図10は、現在ブロック1000のための複数の候補参照ラインを有する実施形態を示す。ブロック1000および関連された候補参照ラインは、より大きな画像の一部であってもよい。
図10に示されるように、フレーム内方向モードについて、候補参照ライン(例えば、行または列)の数は、1(即ち、ブロック1000に最も近いライン)からNに増加し、ここで、Nは、一実施形態では、1より大きい整数であり、別の実施形態では、1以上である。各参照ラインは、1からNまでのインデックスが付けられてもよい(例えば、参照ライン(i))。例えば、参照ライン(1)は、ブロック1000に最も近い参照ラインである参照ライン1002aおよび1002bを指す。参照ライン(2)は、参照ライン1004aおよび1004bを指す。参照ライン(3)は、参照ライン1006aおよび1006bを指す。参照ライン(N)は、ブロック1000から最も遠い参照ラインである参照ライン1008aおよび1008bを指す。
【0082】
現在ブロック1000は、4×4の予測ユニット(PU)であってもよい。N個の参照ラインのうちの1つを選択して、予測値を生成することができる。例えば、予測値p(x,y)は、フレーム内予測を実行するためにどの参照ラインが選択されるかによって、参照サンプルS1、S2、…、およびSNのうちの1つから生成され得る。いくつかの実施形態では、どの参照ラインがフレーム内方向モードのために選択されているかを示すフラグが信号で通知される。例えば、Nが4である場合、2ビットのフラグを使用して、次のように4つの異なる参照ラインのうちの1つを示すことができ、即ち、
00=第1参照ライン(例えば、1002a、1002b)
01=第2参照ライン(例えば、1004a、1004b)
10=第3参照ライン(例えば、1006a、1006b)
11=第4参照ライン(例えば、1008a、1008b)
いくつかの実施形態では、スムーズな領域に対して、第1参照ライン(例えば、1002a、1002b)は、他の参照ラインよりも好ましい。
【0083】
いくつかの実施形態によれば、各参照ラインは、異なる数のフレーム内予測モードに関連付けられている。例えば、
図10を参照すると、Nが4に等しい場合、第1参照ライン(例えば、1002a、1002b)は、67個のモードに関連付けられており、第2参照ライン(例えば、1004a、1004b)は、35個のモードに関連付けられており、第3参照ライン(例えば、1006a、1006b)は、17個のモードに関連付けられており、第4参照ライン(例えば、1008a、1008b)は、9個のモードに関連付けられている。
【0084】
いくつかの実施形態によれば、1より大きいインデックスを有する参照ライン(例えば、現在ブロックに最も近い参照ライン以外の参照ライン)は、同じ数のフレーム間予測モードに関連付けられるが、第1参照ライン(例えば、1002a、1002b)のフレーム内予測モードの数よりも少ない。例えば、第1参照ライン(例えば、1002a、1002b)は、67個のフレーム内予測モードに関連付けられてもよく、他の各参照ラインは、35個のフレーム内予測モードに関連付けられてもよい。別の例として、第1参照ライン(例えば、1002a、1002b)は、67個のフレーム内予測モードに関連付けられてもよく、他の各参照ラインは、17個のフレーム内予測モードに関連付けられてもよい。第1参照ライン(例えば、1002a、1002b)以外の参照ラインに対して、より少ない予測モードを指定することにより、ブロックに対してフレーム内予測を実行するときの計算の複雑さを低減するという非常に有利な特徴が実現される。
【0085】
いくつかの実施形態では、ルックアップテーブル(LUT)を使用して、各参照ラインと、各参照ラインに関連付けられているいくつかのフレーム内予測モードとの間の関係を記憶することができる。例えば、4つの参照ライン(例えば、N=4)がある場合、LUTは、第1参照ライン(例えば、1002a、1002b)が67個のフレーム内予測モードに関連付けられ、第2参照ラインから第4参照ラインのそれぞれが35個のフレーム内予測モードに関連付けられる、ということを指定することができる。
【0086】
図11は、それぞれフレーム内エンコーダ522またはフレーム内デコーダ672などのエンコーダまたはデコーダによって実行されるプロセスの実施形態を示す。当該プロセスは、一般に、ステップS1100で開始することができ、ここで、画像の現在ブロックに対して、複数の参照ラインのうちの1つを決定する。例えば、
図10を参照すると、フラグを使用して、参照ライン1(例えば、1002a、1002b)から参照ラインN(1008a、1008b)のうちのいずれか1つを示すことができる。
【0087】
このプロセスは、ステップS1102に進み、複数の参照ラインのうちの決定された1つに基づいて、現在ブロックのためのフレーム内予測モードを決定する。例えば、各参照ラインに関連付けられたフレーム内予測モードの数を示すLUTにアクセスして、決定された参照ラインに関連付けられたフレーム内予測モードの数を決定することができる。決定された参照ラインのフレーム内予測モードの数が決定されると、INTRA_PLANARおよびINTRA_DCモードに加えて、角度モードの数も知られている。例えば、
図7Aおよび
図7Bを参照すると、LUTが、決定された参照ラインについてのフレーム内予測モードの数が35であることを示す場合、現在ブロックについてのフレーム内予測モードは、角度モード2~34のうちのいずれかによることができる。現在ブロックについてのフレーム内予測モードを決定するためのプロセスは、
図12および
図13に指定されたプロセス、および2018年9月28日に提出された「最も可能性の高いモード導出のための方法および装置(Methods and Apparatus for Most Probable Mode Derivation)」というタイトルの米国特許出願第16/147,544号に記載の対応する書面による説明(その全体の内容が参照により本明細書に組み込まれる)に従って実行され得る。
【0088】
このプロセスは、ステップS1104に進み、決定されたフレーム内予測モードと、複数の参照ラインのうちの決定された1つに含まれるサンプルとに基づいて、現在ブロックに対してフレーム内予測を実行する。例えば、
図10を参照すると、複数の参照ラインのうちの決定された1つが第2参照ライン(例えば、1004a、1004b)である場合、当該参照ラインは、35個のフレーム内予測モードに関連付けられ得る。したがって、ブロック1000についてのフレーム内予測モードが18であると決定された場合(例えば、
図7Bを参照)、サンプルS
2を使用して、p(x,y)を予測することができる。
【0089】
上記の技術は、コンピュータ読み取り可能な命令を使用するコンピュータソフトウェアとして実現され、また、物理的に1つ以上のコンピュータ読み取り可能な媒体に記憶されることができる。例えば、
図12は、開示された主題の特定の実施形態を実現するのに適したコンピュータシステム(1200)を示す。
【0090】
コンピュータソフトウェアは、任意の適切なマシンコードまたはコンピュータ言語を使用して符号化されることができ、アセンブリ、コンパイル、リンク、または同様のメカニズムを受けて命令を含むコードを作成することができ、命令は、1つ以上のコンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)などによって、直接的に実行されてもよく、またはコード解釈、マイクロコード実行などによって実行されてもよい。
【0091】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットのデバイス(internet of things devices)などを含む、様々なタイプのコンピュータまたはそのコンポーネントで実行されてもよい。
【0092】
図12に示されるコンピュータシステム(1200)のコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実現するコンピュータソフトウェアの使用範囲または機能に関するいかなる制限も示唆することが意図されていない。コンポーネントの構成は、コンピュータシステム(1200)の例示的な実施形態に示されているコンポーネントのいずれかまたは組み合わせに関連する任意の依存性または要件を有すると解釈されるべきではない。
【0093】
コンピュータシステム(1200)は、いくつかのヒューマンインターフェース入力デバイスを含むことができる。このようなヒューマンインターフェース入力デバイスは、触覚入力(例えば、キーストローク、スワイプ、データグローブの動きなど)、オーディオ入力(例えば、音声、拍手など)、視覚入力(例えば、ジェスチャーなど)、嗅覚入力(図示せず)によって、1人以上のユーザによる入力に応答することができる。ヒューマンインターフェースデバイスはまた、例えばオーディオ(例えば、音声、音楽、環境音など)、画像(例えば、スキャンされた画像、静止画像カメラから得られた写真画像など)、ビデオ(例えば、2次元ビデオ、立体映像を含む3次元ビデオなど)などの、人間による意識的な入力に必ずしも直接関連されているとは限らない、特定のメディアを捕捉するために使用されることもできる。
【0094】
ヒューマンインターフェース入力デバイスは、キーボード(1201)、マウス(1202)、トラックパッド(1203)、タッチスクリーン(1210)、データグローブ(図示せず)、ジョイスティック(1205)、マイクロホン(1206)、スキャナ(1207)、カメラ(1208)(それぞれの1つだけが図示された)のうちの1つまたは複数を含むことができる。
【0095】
コンピューターシステム(1200)はまた、いくつかのヒューマンインターフェース出力デバイスを含むことができる。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および嗅覚/味覚によって、1人以上のユーザの感覚を刺激することができる。このようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(1210)、データグローブ(図示せず)またはジョイスティック(1205)による触覚フィードバックであるが、入力デバイスとして作用しない触覚フィードバックデバイスであってもよい)、オーディオ出力デバイス(例えば、スピーカ(1209)、ヘッドホン(図示せず))、視覚出力デバイス(例えば、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(1210)であり、各々は、タッチスクリーン入力機能を備えてもよく、あるいは備えていなくてもよいし、各々は、触覚フィードバック機能を備えてもよく、あるいは備えていなくてもよいし、これらのいくつかは、例えば、ステレオグラフィック出力、仮想現実メガネ(図示せず)、ホログラフィックディスプレイとスモークタンク(図示せず)、およびプリンタ(図示せず)などによって、2次元の視覚出力または3次元以上の視覚出力を出力することができる。
【0096】
コンピューターシステム(1200)は、CD/DVDを有するCD/DVD ROM/RW(1220)を含む光学媒体または類似の媒体(1221)、サムドライブ(1222)、リムーバブルハードドライブまたはソリッドステートドライブ(1223)、テープおよびフロッピーディスク(図示せず)などのようなレガシー磁気媒体、セキュリティドングル(図示せず)などのような特殊なROM/ASIC/PLDベースのデバイスなどのような、人間がアクセス可能な記憶デバイスおよびそれらに関連する媒体を含むことができる。
【0097】
当業者はまた、ここで開示されている主題に関連して使用される「コンピュータ読み取り可能な媒体」という用語は、伝送媒体、搬送波、または他の一時的な信号を包含しないことを理解すべきである。
【0098】
コンピューターシステム(1200)はまた、一つ以上の通信ネットワークへのインターフェースを含むことができる。ネットワークは、例えば、無線、有線、光学的であってもよい。ネットワークはさらに、ローカルネットワーク、広域ネットワーク、大都市圏ネットワーク、車両用ネットワークおよび産業用ネットワーク、リアルタイムネットワーク、遅延耐性ネットワークなどであってもよい。ネットワークの例は、イーサネット(登録商標)などのLAN、無線LAN、セルラーネットワーク(GSM(登録商標)、3G、4G、5G、LTEなど)、テレビケーブルまたは無線広域デジタルネットワーク(有線テレビ、衛星テレビ、地上放送テレビを含む)、車両用および産業用ネットワーク(CANBusを含む)などを含む。いくつかのネットワークは、一般に、いくつかの汎用データポートまたは周辺バス(1249)(例えば、コンピュータシステム(1200)のUSBポート)に接続された外部ネットワークインターフェースアダプタが必要であり、他のシステムは、通常、以下に説明するようにシステムバスに接続することによって、コンピュータシステム(1200)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインターフェース、またはスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム(1200)は、他のエンティティと通信することができる。このような通信は、単方向の受信のみ(例えば、放送TV)、単方向の送信のみ(例えば、Canbusから特定のCanbusデバイスへ)、あるいは、双方向の、例えばローカルまたは広域デジタルネットワークを使用して他のコンピュータシステムへの通信であってもよい。上述のように、特定のプロトコルおよびプロトコルスタックは、それらのネットワークおよびネットワークインターフェースのそれぞれで使用されることができる。
【0099】
上記のヒューマンインターフェースデバイス、ヒューマンアクセス可能な記憶デバイス、およびネットワークインターフェースは、コンピューターシステム(1200)のコア(1240)に接続されることができる。
【0100】
コア(1240)は、1つ以上の中央処理ユニット(CPU)(1241)、グラフィック処理ユニット(GPU)(1242)、フィールドプログラマブルゲートアレイ(FPGA)(1243)の形式の専用プログラマブル処理ユニット、特定のタスクのためのハードウェアアクセラレータ(1244)などを含むことができる。これらのデバイスは、リードオンリーメモリ(ROM)(1245)、ランダムアクセスメモリ(1246)、例えば内部の非ユーザアクセスハードディスクドライブ、SSDなどの内部大容量ストレージ(1247)などとともに、システムバス(1248)を介して接続されてもよい。いくつかのコンピュータシステムでは、付加的なCPU、GPUなどによって拡張を可能にするために、システムバス(1248)に1つ以上の物理的プラグの形でアクセスすることができる。周辺デバイスは、コアのシステムバス(1248)に直接的に接続されてもよく、または周辺バス(1249)を介して接続されてもよい。周辺バスのアーキテクチャは、外部コントローラインターフェース(PCI)、汎用シリアルバス(USB)などを含む。
【0101】
CPU(1241)、GPU(1242)、FPGA(1243)、およびアクセラレータ(1244)は、いくつかの命令を実行することができ、これらの命令を組み合わせて上述のコンピュータコードを構成することができる。そのコンピュータコードは、ROM(1245)またはRAM(1246)に記憶されることができる。また、一時的なデータは、RAM(1246)に記憶されることができる一方、永久的なデータは、例えば内部大容量ストレージ(1247)に記憶されることができる。1つ以上のCPU(1241)、GPU(1242)、大容量ストレージ(1247)、ROM(1245)、RAM(1246)などと密接に関連することができる、キャッシュメモリを使用することにより、任意のメモリデバイスに対する高速記憶および検索が可能になる。
【0102】
コンピュータ読み取り可能な媒体は、様々なコンピュータ実行された動作を実行するためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構成されたものであってもよく、またはコンピュータソフトウェア分野の技術者によって知られ、利用可能な媒体およびコードであってもよい。
【0103】
限定ではなく例として、アーキテクチャ(1200)、特にコア(1240)を有するコンピュータシステムは、1つ以上の有形な、コンピュータ読み取り可能な媒体に具体化されたソフトウェアを実行する、(CPU、GPU、FPGA、アクセラレータなどを含む)プロセッサとして機能を提供することができる。このようなコンピュータ読み取り可能な媒体は、上記のユーザがアクセス可能な大容量ストレージに関連する媒体であり、コア内部大容量ストレージ(1247)またはROM(1245)などの、不揮発性コア(1240)を有する特定のストレージであってもよい。本開示の様々な実施形態を実現するソフトウェアは、そのようなデバイスに記憶され、コア(1240)によって実行されてもよい。コンピュータ読み取り可能な媒体は、特定のニーズに応じて、1つ以上のメモリデバイスまたはチップを含むことができる。このソフトウェアは、コア(1240)、具体的にはその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM(1246)に記憶されているデータ構造を定義することと、ソフトウェアによって定義されたプロセスに従ってこのようなデータ構造を修正することとを含む、本明細書に説明された特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えてまたは代替として、コンピュータシステムは、ロジックハードワイヤードされているか、または別の方法で回路(例えば、アクセラレータ(1244))に組み込まれているため、機能を提供することができ、この回路は、ソフトウェアの代わりに動作し、またはソフトウェアと一緒に動作して、本明細書に説明された特定のプロセスの特定のプロセスまたは特定の部分を実行することができる。適切な場合には、ソフトウェアへの参照はロジックを含むことができ、逆もまた然りである。適切な場合には、コンピュータ読み取り可能な媒体への参照は、実行されるソフトウェアを記憶する回路(集積回路(IC)など)を含み、実行されるロジックを具体化する回路、またはその両方を兼ね備えることができる。本開示は、ハードウェアおよびソフトウェアの任意の適切な組み合わせを包含する。
【0104】
付記A:頭字語
MV:Motion Vector、モーションベクトル
HEVC:High Efficiency Video Coding、高効率ビデオ符号化/復号
SEI:Supplementary Enhancement Information、補足強化情報
VUI:Visual Usability Information、ビジュアルユーザビリティ情報
GOPs:Groups of Pictures、グループオブピクチャ
TUs:Transform Units、変換ユニット
PUs:Prediction Units、予測ユニット
CTUs:Coding Tree Units、符号化ツリーユニット
CTBs:Coding Tree Blocks、符号化ツリーブロック
PBs:Prediction Blocks、予測ブロック
HRD:Hypothetical Reference Decoder、仮想参照デコーダ
SNR:Signal Noise Ratio、信号雑音比
CPUs:Central Processing Units、中央処理ユニット
GPUs:Graphics Processing Units、グラフィック処理ユニット
CRT:Cathode Ray Tube、陰極線管
LCD:Liquid-Crystal Display、液晶ディスプレイ
OLED:Organic Light-Emitting Diode、有機発光ダイオード
CD:Compact Disc、コンパクトディスク
DVD:Digital Video Disc、デジタルビデオディスク
ROM:Read-Only Memory、読み取り専用メモリ
RAM:Random Access Memory、ランダムアクセスメモリ
ASIC:Application-Specific Integrated Circuit、特定用途向け集積回路
PLD:Programmable Logic Device、プログラマブルロジックデバイス
LAN:Local Area Network、ローカルエリアネットワーク
GSM:Global System for Mobile communications、モバイル通信のグローバルシステム
LTE:Long-Term Evolution、長期的な進化
CANBus:Controller Area Network Bus、コントローラエリアネットワークバス
USB:Universal Serial Bus、汎用シリアルバス
PCI:Peripheral Component Interconnect、外部コントローラインターフェース
FPGA:Field Programmable Gate Arrays、フィールドプログラマブルゲートアレイ
SSD:solid-state drive、ソリッドステートドライブ
IC:Integrated Circuit、集積回路
CU:Coding Unit、符号化ユニット
本開示は、いくつかの例示的な実施形態について説明したが、本開示の範囲内にある変更、配置、および様々な均等置換が存在している。したがって、当業者は、本明細書では明確に示されていないかまたは説明されていないが、本開示の原則を具現しているので、本開示の精神および範囲内にある、様々なシステムおよび方法を設計することができる、ということを理解されたい。
【0105】
(1)ビデオデコーダによって実行されるビデオ復号の方法は、画像の現在ブロックについて、複数の参照ラインから1つの参照ラインを決定するステップであって、前記複数の参照ラインのうちの各参照ラインが前記現在ブロックの辺に平行であるステップと、前記複数の参照ラインから決定された前記1つの参照ラインに基づいて、前記現在ブロックのフレーム内予測モードを決定するステップと、決定されたフレーム内予測モードと、前記複数の参照ラインから決定された前記1つの参照ラインに含まれる1つ以上のサンプルとに基づいて、前記現在ブロックのフレーム内予測を実行するステップと、を含み、ここで、前記複数の参照ラインには、隣接参照ラインと少なくとも1つの非隣接参照ラインとが含まれ、前記隣接参照ラインが前記現在ブロックに隣接し、前記少なくとも1つの非隣接参照ラインが前記現在ブロックと隣接せず、前記少なくとも1つの非隣接参照ラインの各非隣接参照ラインに関連付けられたフレーム内予測モードの数は、前記隣接参照ラインに関連付けられたフレーム内予測モードの数の半分以下であり、前記少なくとも1つの非隣接参照ラインの各非隣接参照ラインが、同じ数のフレーム内予測モードに関連付けられる。
【0106】
(2)特徴(1)の方法であって、少なくとも1つの非隣接参照ラインの各非隣接参照ラインは、同じ数のフレーム内予測モードに関連付けられる。
【0107】
(3)特徴(1)の方法であって、少なくとも1つの非隣接参照ラインの各非隣接参照ラインは、現在ブロックから離れる方向に対して、減少する数のフレーム内予測モードに関連付けられる。
【0108】
(4)特徴(1)~(3)のいずれか1つの方法であって、隣接参照ラインに関連付けられたフレーム内予測モードの数が67であり、少なくとも1つの非隣接参照ラインの各非隣接参照ラインに関連付けられたフレーム内予測モードの数が33以下である。
【0109】
(5)特徴(1)~(4)のいずれか1つの方法であって、複数の参照ラインのうちの各参照ラインは、現在ブロックの上方の行である。
【0110】
(6)特徴(1)~(5)のいずれか1つの方法であって、複数の参照ラインのうちの各参照ラインは、現在ブロックの左側の列である。
【0111】
(7)ビデオ復号のためのビデオデコーダは、処理回路を含み、前記処理回路は、画像の現在ブロックについて、複数の参照ラインから1つの参照ラインを決定することであって、前記複数の参照ラインのうちの各参照ラインが前記現在ブロックの辺に平行であることと、前記複数の参照ラインから決定された前記1つの参照ラインに基づいて、前記現在ブロックのフレーム内予測モードを決定することと、決定されたフレーム内予測モードと、前記複数の参照ラインから決定された前記1つの参照ラインに含まれる1つ以上のサンプルとに基づいて、前記現在ブロックのフレーム内予測を実行することと、を実行するように構成され、ここで、前記複数の参照ラインには、隣接参照ラインと少なくとも1つの非隣接参照ラインとが含まれ、前記隣接参照ラインが前記現在ブロックに隣接し、前記少なくとも1つの非隣接参照ラインが前記現在ブロックと隣接せず、前記少なくとも1つの非隣接参照ラインの各非隣接参照ラインに関連付けられたフレーム内予測モードの数は、前記隣接参照ラインに関連付けられたフレーム内予測モードの数の半分以下であり、前記少なくとも1つの非隣接参照ラインの各非隣接参照ラインが、同じ数のフレーム内予測モードに関連付けられる。
【0112】
(8)特徴(7)のビデオデコーダであって、少なくとも1つの非隣接参照ラインの各非隣接参照ラインは、同じ数のフレーム内予測モードに関連付けられる。
【0113】
(9)特徴(7)のビデオデコーダであって、少なくとも1つの非隣接参照ラインの各非隣接参照ラインは、現在ブロックから離れる方向に対して、減少する数のフレーム内予測モードに関連付けられる。
(10)特徴(7)~(9)のいずれか1つのビデオデコーダであって、隣接参照ラインに関連付けられたフレーム内予測モードの数が67であり、少なくとも1つの非隣接参照ラインの各非隣接参照ラインに関連付けられたフレーム内予測モードの数が33以下である。
【0114】
(11)特徴(7)~(10)のいずれか1つのビデオデコーダであって、複数の参照ラインのうちの各参照ラインは、現在ブロックの上方の行である。
【0115】
(12)特徴(7)~(11)のいずれか1つのビデオデコーダであって、複数の参照ラインのうちの各参照ラインは、現在ブロックの左側の列である。
【0116】
(13)ビデオデコーダ内のプロセッサによって実行されると、前記プロセッサに下記の方法を実行させる命令が記憶されている非一時的なコンピュータ読み取り可能な媒体であって、前記方法は、
画像の現在ブロックについて、複数の参照ラインから1つの参照ラインを決定するステップであって、前記複数の参照ラインのうちの各参照ラインが前記現在ブロックの辺に平行であるステップと、前記複数の参照ラインから決定された前記1つの参照ラインに基づいて、前記現在ブロックのフレーム内予測モードを決定するステップと、決定されたフレーム内予測モードと、前記複数の参照ラインから決定された前記1つの参照ラインに含まれる1つ以上のサンプルとに基づいて、前記現在ブロックのフレーム内予測を実行するステップと、を含み、ここで、前記複数の参照ラインには、隣接参照ラインと少なくとも1つの非隣接参照ラインとが含まれ、前記隣接参照ラインが前記現在ブロックに隣接し、前記少なくとも1つの非隣接参照ラインが前記現在ブロックと隣接せず、前記少なくとも1つの非隣接参照ラインの各非隣接参照ラインに関連付けられたフレーム内予測モードの数は、前記隣接参照ラインに関連付けられたフレーム内予測モードの数の半分以下であり、前記少なくとも1つの非隣接参照ラインの各非隣接参照ラインが、同じ数のフレーム内予測モードに関連付けられる。
【0117】
(14)特徴(13)の非一時的コンピュータ読み取り可能な媒体であって、少なくとも1つの非隣接参照ラインの各非隣接参照ラインは、同じ数のフレーム内予測モードに関連付けられる。
【0118】
(15)特徴(13)の非一時的コンピュータ読み取り可能な媒体であって、少なくとも1つの非隣接参照ラインの各非隣接参照ラインは、現在ブロックから離れる方向に対して、減少する数のフレーム内予測モードに関連付けられる。
【0119】
(16)特徴(13)~(15)のいずれか1つの非一時的コンピュータ読み取り可能な媒体であって、隣接参照ラインに関連付けられたフレーム内予測モードの数が67であり、少なくとも1つの非隣接参照ラインの各非隣接参照ラインに関連付けられたフレーム内予測モードの数が33以下である。
【0120】
(17)特徴(13)~(16)のいずれか1つの非一時的コンピュータ読み取り可能な媒体であって、複数の参照ラインのうちの各参照ラインは、現在ブロックの上方の行である。
【0121】
(18)特徴(13)~(17)のいずれか1つの非一時的コンピュータ読み取り可能な媒体であって、複数の前記参照ラインのうちの各参照ラインは、前記現在ブロックの左側の列である。
【手続補正書】
【提出日】2022-06-30
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ビデオデコーダが実行するビデオ復号の方法であって、
画像の現在ブロックについて、複数の参照ラインから1つの参照ラインを決定するステップであって、前記複数の参照ラインのうちの各参照ラインが前記現在ブロックの辺に平行であるステップと、
前記複数の参照ラインから決定された前記1つの参照ラインに基づいて、前記現在ブロックのフレーム内予測モードを決定するステップと、
決定されたフレーム内予測モードと、前記複数の参照ラインから決定された前記1つの参照ラインに含まれる1つ以上のサンプルとに基づいて、前記現在ブロックのフレーム内予測を実行するステップと、を含み、ここで、
前記複数の参照ラインには、隣接参照ラインと少なくとも1つの非隣接参照ラインとが含まれ、前記隣接参照ラインが前記現在ブロックに隣接し、前記少なくとも1つの非隣接参照ラインが前記現在ブロックと隣接せず、
前記隣接参照ラインに関連付けられたフレーム内予測モードの数が67であり、
前記少なくとも1つの非隣接参照ラインの各非隣接参照ラインに関連付けられたフレーム内予測モードの数が33以下である、
ことを特徴とするビデオ復号の方法。
【請求項2】
前記少なくとも1つの非隣接参照ラインの各非隣接参照ラインは、同じ数のフレーム内予測モードに関連付けられる、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記複数の参照ラインのうちの各参照ラインは、前記現在ブロックの上方の行である、
ことを特徴とする請求項1~2のいずれか一項に記載の方法。
【請求項4】
前記複数の参照ラインのうちの各参照ラインは、前記現在ブロックの左側の列である、
ことを特徴とする請求項1~3のいずれか一項に記載の方法。
【請求項5】
ビデオ復号のためのビデオデコーダであって、
処理回路を含み、
前記処理回路は、請求項1~4のいずれか一項に記載の方法を実行する
ことを特徴とするビデオデコーダ。
【請求項6】
ビデオデコーダ内のプロセッサによって実行されると、前記プロセッサに請求項1~4のいずれか一項に記載の方法を実行させる
ことを特徴とするコンピュータプログラム。
【請求項7】
ビデオエンコーダが実行するビデオ符号化の方法であって、
画像の現在ブロックについて、複数の参照ラインから1つの参照ラインを決定するステップであって、前記複数の参照ラインのうちの各参照ラインが前記現在ブロックの辺に平行であるステップと、
前記複数の参照ラインから決定された前記1つの参照ラインに基づいて、前記現在ブロックのフレーム内予測モードを決定するステップと、
決定されたフレーム内予測モードと、前記複数の参照ラインから決定された前記1つの参照ラインに含まれる1つ以上のサンプルとに基づいて、前記現在ブロックのフレーム内予測を実行するステップと、を含み、ここで、
前記複数の参照ラインには、隣接参照ラインと少なくとも1つの非隣接参照ラインとが含まれ、前記隣接参照ラインが前記現在ブロックに隣接し、前記少なくとも1つの非隣接参照ラインが前記現在ブロックと隣接せず、
前記隣接参照ラインに関連付けられたフレーム内予測モードの数が67であり、
前記少なくとも1つの非隣接参照ラインの各非隣接参照ラインに関連付けられたフレーム内予測モードの数が33以下である、
ことを特徴とするビデオ符号化の方法。
【請求項8】
ビデオエンコーダが実行するビデオ符号化の方法であって、
画像の現在ブロックについて、複数の参照ラインのうち1つの参照ラインを示すフラグを送信するステップを含み、ここで、
前記フラグは、前記複数の参照ラインから前記1つの参照ラインを決定するために用いられ、前記複数の参照ラインのうちの各参照ラインが前記現在ブロックの辺に平行であり、
前記現在ブロックのフレーム内予測モードは、前記複数の参照ラインから決定された前記1つの参照ラインに基づいて決定され、
前記現在ブロックのフレーム内予測は、決定されたフレーム内予測モードと、前記複数の参照ラインから決定された前記1つの参照ラインに含まれる1つ以上のサンプルとに基づいて実行され、
前記複数の参照ラインには、隣接参照ラインと少なくとも1つの非隣接参照ラインとが含まれ、前記隣接参照ラインが前記現在ブロックに隣接し、前記少なくとも1つの非隣接参照ラインが前記現在ブロックと隣接せず、
前記少なくとも1つの非隣接参照ラインの各非隣接参照ラインに関連付けられたフレーム内予測モードの数は、前記隣接参照ラインに関連付けられたフレーム内予測モードの数の半分以下である、
ことを特徴とするビデオ符号化の方法。
【外国語明細書】