(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-06-23
(54)【発明の名称】デコーダ側イントラモード導出と適応イントラ予測モードとの間の相互作用のための方法及び装置
(51)【国際特許分類】
H04N 19/11 20140101AFI20220616BHJP
H04N 19/136 20140101ALI20220616BHJP
H04N 19/176 20140101ALI20220616BHJP
H04N 19/463 20140101ALI20220616BHJP
【FI】
H04N19/11
H04N19/136
H04N19/176
H04N19/463
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021561659
(86)(22)【出願日】2021-02-03
(85)【翻訳文提出日】2021-10-15
(86)【国際出願番号】 US2021016343
(87)【国際公開番号】W WO2021158615
(87)【国際公開日】2021-08-12
(32)【優先日】2020-02-05
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-11-11
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジャオ,リアン
(72)【発明者】
【氏名】ジャオ,シン
(72)【発明者】
【氏名】リィウ,シャン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159RC12
5C159RC38
5C159TA32
5C159TA33
5C159TB08
5C159TC02
5C159TC42
(57)【要約】
ビデオシーケンスの画像の現在のブロックのイントラ予測を実行する方法は、現在のブロックに対応するイントラ予測モードが指向性モードであることを第1のフラグが示すかどうかを決定するステップと、現在のブロックに対応するイントラ予測モードが指向性モードであることを示すと第1のフラグが決定されていることに基づいて、許可されたイントラ予測モード(AIPM)リストにおけるイントラ予測モードのインデックスを決定するステップと、AIPMリストにおける決定されたインデックスに対応するイントラ予測モードを使用して、現在のブロックのイントラ予測を実行するステップを含む。
【特許請求の範囲】
【請求項1】
ビデオシーケンスの画像の現在のブロックのイントラ予測を実行する方法であって、前記方法は、少なくとも1つのプロセッサによって実行され、前記方法は:
前記現在のブロックに対応するイントラ予測モードが指向性モードであることを第1のフラグが示すかどうかを決定するステップと;
前記現在のブロックに対応するイントラ予測モードが前記指向性モードであることを示すと前記第1のフラグが決定されていることに基づいて:
許可されたイントラ予測モード(AIPM)リストにおける前記イントラ予測モードのインデックスを決定するステップと;
前記AIPMリストの決定された前記インデックスに対応する前記イントラ予測モードを使用して、前記現在のブロックの前記イントラ予測を実行するステップと;を含む、
方法。
【請求項2】
前記現在のブロックに対応する前記イントラ予測モードが前記指向性モードであることを示すと前記第1のフラグが決定されていることに基づいて、前記イントラ予測モードがデコーダ側イントラモード導出(DIMD)モードであることを第2のフラグが示しているかどうかを決定するステップと;
前記イントラ予測モードが前記DIMDモードであることを示していないと前記第2のフラグが決定されていることに基づいて:
前記AIPMリストにおける前記イントラ予測モードの前記インデックスを決定するステップ;及び
前記AIPMリストの決定された前記インデックスに対応する前記イントラ予測モードを使用して、前記現在のブロックの前記イントラ予測を実行するステップと;
前記イントラ予測モードが前記DIMDモードにあることを示すと前記第2のフラグが決定されていることに基づいて:
前記イントラ予測モードを決定するようにDIMDを実行するステップ;及び
決定された前記イントラ予測モードを使用して、前記現在のブロックの前記イントラ予測を実行するステップと;
をさらに含む、
請求項1に記載の方法。
【請求項3】
デコーダ側のイントラモード導出(DIMD)を実行することによって決定されたイントラ予測モードを、最初に、前記AIPMリストの第1のレベルに挿入するステップをさらに含む、
請求項1又は2に記載の方法。
【請求項4】
前記DIMDを実行することによって決定された前記イントラ予測モードを使用して、前記現在のブロックのクロマ成分のイントラ予測を実行するステップをさらに含む、
請求項2又は3に記載の方法。
【請求項5】
前記現在のブロックに対応する前記イントラ予測モードが前記指向性モードであることを示さないと前記第1のフラグが決定されていることに基づいて:
前記イントラ予測モードを無指向性モードの1つに決定するステップと;
決定された前記イントラ予測モードを使用して、前記現在のブロックの前記イントラ予測を実行するステップと;
をさらに含む、
請求項1乃至4のいずれか1項に記載の方法。
【請求項6】
前記AIPMリストにおける少なくとも1つのイントラ予測モードを使用して、前記現在のブロックのルマ成分のイントラ予測を実行するステップをさらに含む、
請求項1乃至5のいずれか1項に記載の方法。
【請求項7】
前記AIPMリストは、指向性モードのみを含み、
前記AIPMリストに含まれる前記指向性モードの数は、2の累乗又は2の累乗の和に等しい、
請求項1乃至6のいずれか1項に記載の方法。
【請求項8】
ビデオシーケンスの画像の現在のブロックのイントラ予測を実行するための装置であって、前記装置は:
コンピュータプログラムコードを記憶するように構成された少なくとも1つのメモリと;
前記少なくとも1つのメモリにアクセスし、前記コンピュータプログラムコードに従って動作するように構成される少なくとも1つのプロセッサと;を含み、
前記コンピュータプログラムコードは、前記少なくとも1つのプロセッサに、請求項1乃至7のいずれか1項に記載の方法を実行させる、
装置。
【請求項9】
コンピュータプログラムであって、少なくとも1つのプロセッサに、請求項1乃至7のいずれか1項に記載の方法を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、2020年2月5日に出願された米国仮特許出願第62/970,505号、及び2020年11月11日に米国特許商標庁に出願された米国特許出願第17/094,923号からの優先権を主張し、それらの全体は参照により本明細書に組み込まれる。
【0002】
実施形態と一致する方法及び装置は、ビデオコーディング(video coding)に関し、より詳細には、デコーダ側イントラモード導出と適応イントラ予測モードとの間の相互作用のための方法及び装置に関する。
【背景技術】
【0003】
ビデオコーディングフォーマットVP9は、45度から207度までの角度に対応する8つの指向性モード(directional modes)をサポートしている。指向性テクスチャのより多様な空間冗長性を利用するために、ビデオコーディングフォーマットAOMedia Video 1(AV1)では、指向性イントラモードがより細かな粒度で設定された角度に拡張されている。元の8つの角度は、わずかに変更されるとともに公称角度として作成され、これらの8つの公称角度は、
図1に示すように、V_PRED、H_PRED、D45_PRED、D135_PRED、D113_PRED、D157_PRED、D203_PRED、及びD67_PREDと命名される。各公称角度に対して、AV1は7つのより細い角度を有するため、AV1は合計56の方向角度を有する。予測角度は、公称イントラ角度に角度デルタを加えたものによって表され、この角度デルタは、3度のステップサイズの-3~3倍である。一般的な方法を介してAV1に指向性予測モードを実装するために、AV1の56のすべての指向性イントラ予測モードは、各ピクセルを参照サブピクセル位置に投影し、2タップ双線形フィルタによって参照ピクセルを補間する統一された指向性予測器を用いて実装される。
【発明の概要】
【0004】
実施形態によれば、ビデオシーケンスの画像の現在のブロックのイントラ予測を実行する方法は、少なくとも1つのプロセッサによって実行され、現在のブロックに対応するイントラ予測モードが指向性モードであることを第1のフラグが示すかどうかを決定するステップと、現在のブロックに対応するイントラ予測モードが指向性モードであることを示すと第1のフラグが決定されていることに基づいて、許可されたイントラ予測モード(AIPM)リストにおけるイントラ予測モードのインデックスを決定するステップと、AIPMリストの決定されたインデックスに対応するイントラ予測モードを使用して、現在のブロックのイントラ予測を実行するステップと、を含む。
【0005】
実施形態によれば、ビデオシーケンスの画像の現在のブロックのイントラ予測を実行するための装置は、コンピュータプログラムコードを記憶するように構成される少なくとも1つのメモリと、少なくとも1つのメモリにアクセスし、コンピュータプログラムコードに従って動作するように構成される少なくとも1つのプロセッサと、を含む。コンピュータプログラムコードは、少なくとも1つのプロセッサに、現在のブロックに対応するイントラ予測モードが指向性モードであることを第1のフラグが示すかどうかを決定させるように構成される第1の決定コードと、少なくとも1つのプロセッサに、現在のブロックに対応するイントラ予測モードが指向性モードであることを示すと第1のフラグが決定されていることに基づいて、許可されたイントラ予測モード(AIPM)リストにおけるイントラ予測モードのインデックスを決定させるように構成される第2の決定コードと、少なくとも1つのプロセッサに、現在のブロックに対応するイントラ予測モードが指向性モードであることを示すと第1のフラグが決定されていることに基づいて、AIPMリストにおける決定されたインデックスに対応するイントラ予測モードを使用して、現在のブロックのイントラ予測を実行させるように構成される第1の実行コードと、を含む。
【0006】
実施形態によれば、非一時的コンピュータ読取可能記憶媒体は、少なくとも1つのプロセッサに、現在のブロックに対応するイントラ予測モードが指向性モードであることを第1のフラグが示すかどうかを決定させ、現在のブロックに対応するイントラ予測モードが指向性モードであることを示すと第1のフラグが決定されていることに基づいて、許可されたイントラ予測モード(AIPM)リスト内のイントラ予測モードのインデックスを決定させ、AIPMリストの決定されたインデックスに対応するイントラ予測モードを使用して、現在のブロックのイントラ予測を実行させる命令を記憶する。
【図面の簡単な説明】
【0007】
【0008】
【
図2】実施形態による通信システムの簡略ブロック図である。
【0009】
【
図3】実施形態による、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダの配置図である。
【0010】
【
図4】実施形態によるビデオデコーダの機能ブロック図である。
【0011】
【
図5】実施形態によるビデオエンコーダの機能ブロック図である。
【0012】
【
図6A】PAETHモードの上、左、及び左上の位置の図である。
【0013】
【
図6B】再帰的イントラフィルタリングモードの図である。
【0014】
【
図6C】ピクセルのTラインを持つ再構成された領域からのテンプレート選択を示す図である。
【0015】
【
図6D】2つのグラディエントヒストグラム(HoG)モード及び平面モードを荷重平均することによる予測融合を示す図である。
【0016】
【
図7】実施形態による、ビデオシーケンスの画像の現在のブロックのイントラ予測を実行する方法を示すフローチャートである。
【0017】
【
図8】実施形態による、ビデオシーケンスの画像の現在のブロックのイントラ予測を実行するための装置の簡略ブロック図である。
【0018】
【
図9】実施形態を実装するのに適したコンピュータシステムの図である。
【発明を実施するための形態】
【0019】
図2は、実施形態に係る通信システム(200)の簡略ブロック図である。通信システム(200)は、ネットワーク(250)を介して相互接続された少なくとも2つの端末(210~220)を含み得る。データの一方向伝送のために、第1の端末(210)は、ネットワーク(250)を介して他の端末(220)に伝送するために、ローカル位置でビデオデータをコード化(符号化)(code)し得る。第2の端末(220)は、ネットワーク(250)から他の端末のコード化されたビデオデータを受信し、コード化されたデータをデコードし、回復されたビデオデータを表示し得る。一方向データ伝送は、メディア提供アプリケーション等において一般的である。
【0020】
図2は、例えば、ビデオ会議中に発生し得るコード化されたビデオの双方向伝送をサポートするために設けられた第2の端末(230、240)の対を示す。データの双方向伝送のために、各端末(230、240)は、ネットワーク(250)を介して他の端末に伝送するために、ローカル位置でキャプチャされたビデオデータをコード化し得る。各端末(230、240)はまた、他の端末によって送信されたコード化されたビデオデータを受信し得、コード化されたデータをデコードし得、回復されたビデオデータをローカルディスプレイ装置に表示し得る。
【0021】
図2では、端末(210~240)は、サーバ、パーソナルコンピュータ及びスマートフォンとして図示され得るが、実施形態の原理はそれに限定されない。実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、及び/又は専用のテレビ会議装置への適用を見出す。ネットワーク(250)は、例えば、有線及び/又は無線通信ネットワークを含む、端末(210~240)間でコード化されたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(250)は、回線交換及び/又はパケット交換チャネル内のデータを交換し得る。代表的なネットワークは、通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又はインターネットを含む。本説明の目的のために、ネットワーク(250)のアーキテクチャ及びトポロジは、以下に説明しない限り、実施形態の動作には重要ではない場合がある。
【0022】
図3は、実施形態による、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダの配置図である。開示された主題は、例えば、ビデオ会議、デジタルTV、CD、DVD、メモリスティックなどを含むデジタルメディア上の圧縮ビデオの記憶などを含む、他のビデオ対応アプリケーションに同様に適用可能であることができる。
【0023】
ストリーミングシステムは、例えば非圧縮ビデオサンプルストリーム(302)を生成するビデオソース(301)、例えばデジタルカメラを含むことができるキャプチャサブシステム(313)を含み得る。このサンプルストリーム(302)は、エンコードされたビデオビットストリームと比較するときに高いデータボリュームを強調するための太線として示され、カメラ(301)に結合されたエンコーダ(303)によって処理されることができる。エンコーダ(303)は、以下により詳細に説明されるように、開示された主題の態様を可能にする又は実装するために、ハードウェア、ソフトウェア、又はそれらの組み合わせを含むことができる。エンコードされたビデオビットストリーム(304)は、サンプルストリームと比較するときにより低いデータボリュームを強調するために細いラインとして示され、将来の使用のためにストリーミングサーバ(305)に記憶されることができる。1つ以上のストリーミングクライアント(306、308)は、ストリーミングサーバ(305)にアクセスして、エンコードされたビデオビットストリーム(304)のコピー(307、309)を取得することができる。クライアント(306)は、ビデオデコーダ(310)を含むことができ、このビデオデコーダは、エンコードされたビデオビットストリーム(307)の入力コピーをデコードし、ディスプレイ(312)又は他のレンダリングデバイス(図示せず)上でレンダリングされることができる出力ビデオサンプルストリーム(311)を生成する。いくつかのストリーミングシステムでは、ビデオビットストリーム(304、307、309)は、特定のビデオコーディング/圧縮規格に従ってエンコードされることができる。これらの規格の例は、ITU-T勧告H.265を含む。開発中のものは、VVCとして知られるビデオコーディング規格である。開示された主題は、VVCの文脈で使用され得る。
【0024】
図4は、実施形態によるビデオデコーダ(310)の機能ブロック図である。
【0025】
受信器(410)は、デコーダ(310)によってデコードされることになる1つ以上のコーデックビデオシーケンスを受信し得;同じ又は実施形態において、一度に1つのコード化されたビデオシーケンスを受信し得、各コード化されたビデオシーケンスのデコードは、他のコード化されたビデオシーケンスから独立している。コード化されたビデオシーケンスは、エンコードされたビデオデータを記憶する記憶装置へのハードウェア/ソフトウェアリンクであり得るチャネル(412)から受信され得る。受信器(410)は、エンコードされたビデオデータを、例えば、コード化されたオーディオデータ及び/又は補助的なデータストリームなどの他のデータと共に受信し得、これらのデータは、それらのそれぞれの使用エンティティ(図示せず)に転送され得る。受信器(410)は、コード化されたビデオシーケンスを他のデータから分離し得る。ネットワークジッタと闘うために、バッファメモリ(415)が、受信器(410)とエントロピーデコーダ/パーサ(420)(以下「パーサ」)との間に結合され得る。受信器(410)が、十分な帯域幅及び可制御性を有するストア/フォワードデバイスから、又は等同期ネットワークからデータを受信している場合、バッファ(415)は、必要とされなくてもよく、又は小さくすることができる。インターネットのようなベストエフォート型パケットネットワークでの使用のために、バッファ(415)が必要とされ得、比較的大きくすることができ、有利に適応サイズにすることができる。
【0026】
ビデオデコーダ(310)は、エントロピーコード化されたビデオシーケンスからシンボル(421)を再構成するためのパーサ(420)を含み得る。これらのシンボルのカテゴリは、デコーダ(310)の動作を管理するために使用される情報と、
図4に示されているように、デコーダの不可欠な部分ではないが、デコーダに結合することができるディスプレイ(312)のようなレンダリングデバイスを制御するための潜在的な情報とを含む。レンダリングデバイス(複数可)のための制御情報は、補足拡張情報(SEIメッセージ)又はビデオユーザビリティ情報(VUI)パラメータセットフラグメント(図示せず)の形式であり得る。パーサ(420)は、受信したコード化されたビデオシーケンスを構文解析(parse)/エントロピーデコードし得る。コード化されたビデオシーケンスのコーディングは、ビデオコーディング技術又は規格に従うことができ、可変長コーディング、ハフマンコーディング、コンテキスト感度を伴う又は伴わない算術コーディングなどを含む、当業者によく知られた原理に従うことができる。パーサ(420)は、グループに対応する少なくとも1つのパラメータに基づいて、ビデオデコーダ内のピクセルのサブグループのうちの少なくとも1つに対するサブグループパラメータのセットを、コード化されたビデオシーケンスから抽出し得る。サブグループは、画像のグループ(GOP)、画像、タイル、スライス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。エントロピーデコーダ/パーサはまた、変換係数などのコード化されたビデオシーケンス情報から、量子化パラメータ(QP)値、モーションベクトル等を抽出し得る。
【0027】
パーサ(420)は、シンボル(421)を生成するために、バッファ(415)から受信したビデオシーケンスに対してエントロピーデコーディング/構文解析操作を実行し得る。パーサ(420)は、エンコードされたデータを受信し、特定のシンボル(421)を選択的にデコードし得る。さらに、パーサ(420)は、特定のシンボル(421)が、動き補償予測ユニット(453)、スケーラ/逆変換ユニット(451)、イントラ予測ユニット(452)、又はループフィルタユニット(454)に提供されるべきかどうかを決定し得る。
【0028】
シンボル(421)の再構成は、コード化されたビデオ画像又はその部分(例えば、インター及びイントラ画像、インター及びイントラブロック)のタイプ及び他の要因に応じて、複数の異なるユニットを含むことができる。どのユニットが関与し、どのようにかは、パーサ(420)によってコード化されたビデオシーケンスから構文解析されたサブグループ制御情報によって制御することができる。パーサ(420)と以下の複数ユニットとの間のこのようなサブグループ制御情報のフローは、明確にするために図示されていない。
【0029】
既に述べた機能ブロックの他に、デコーダ(310)は、概念的に、以下に説明するように、いくつかの機能ユニットに分割することができる。商業的制約の下で動作する実用的な実装では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合することができる。しかしながら、開示された主題を説明するためには、以下の機能ユニットに概念的に細分化することが適切である。
【0030】
第1のユニットは、スケーラ/逆変換ユニット(451)である。スケーラ/逆変換ユニット(451)は、パーサ(420)からシンボル(複数可)(421)として、使用する変換、ブロックサイズ、量子化係数、量子化スケーリング行列などを含む制御情報とともに、量子化された変換係数を受信する。それは、アグリゲータ(455)に入力することができるサンプル値を含むブロックを出力できる。
【0031】
場合によっては、スケーラ/逆変換(451)の出力サンプルは、イントラコード化ブロック、すなわち、以前に再構成された画像からの予測情報を使用していないが、現在の画像の以前に再構成された部分からの予測情報を使用することができるブロックに関連付けることができる。このような予測情報は、イントラ画像予測ユニット(452)によって提供することができる。場合によっては、イントラ画像予測ユニット(452)は、現在の(部分的に再構成された)画像(456)から取り出された既に再構成された周囲の情報を使用して、再構成中のブロックの同じサイズ及び形状のブロックを生成する。アグリゲータ(455)は、場合によっては、サンプル毎に、イントラ予測ユニット(452)が生成した予測情報を、スケーラ/逆変換ユニット(451)によって提供されるように、出力サンプル情報に追加する。
【0032】
他の場合には、スケーラ/逆変換ユニット(451)の出力サンプルは、インターコード化された、潜在的に動き補償ブロックに関係することができる。このような場合、動き補償予測ユニット(453)は、予測に使用されるサンプルを取り出すために参照画像メモリ(457)にアクセスすることができる。ブロックに関連するシンボル(421)に従って取り出されたサンプルを動き補償した後、これらのサンプルは、アグリゲータ(455)によって、スケーラ/逆変換ユニットの出力(この場合、残差サンプル又は残差信号と呼ぶ)に加えられて、出力サンプル情報を生成することができる。動き補償ユニットが予測サンプルを取り出す参照画像メモリ形態内のアドレスは、例えばX、Y、及び参照画像成分を有することができるシンボル(421)の形態で、動き補償ユニットに利用可能なモーションベクトルによって制御することができる。また、動き補償は、サブサンプルの正確なモーションベクトルが使用されているときに参照画像メモリから取り出されるサンプル値の補間、モーションベクトル予測メカニズムなどを含むことができる。
【0033】
アグリゲータ(455)の出力サンプルは、ループフィルタユニット(454)内の種々のループフィルタリング技術の対象であることができる。ビデオ圧縮技術は、コード化されたビデオビットストリームに含まれるパラメータによって制御され、パーサ(420)からのシンボル(421)としてループフィルタユニット(454)に利用可能にされるが、コード化された画像又はコード化されたビデオシーケンスの前の(デコーディング順で)部分のデコーディング中に得られたメタ情報に応答することができると共に、以前に再構成されループフィルタリングされたサンプル値に応答することもできる、インループフィルタ技術を含むことができる。
【0034】
ループフィルタユニット(454)の出力は、レンダリングデバイス(312)に出力することができ、また将来のインター画像予測に使用するために参照画像メモリ(456)に記憶することができるサンプルストリームであることができる。
【0035】
特定のコード化された画像は、いったん完全に再構成されると、将来の予測のための参照画像として使用することができる。コード化された画像が完全に再構成され、コード化された画像が(例えば、パーサ(420)によって)参照画像として識別されると、現在の参照画像(456)は、参照画像バッファ(457)の一部となることができ、次のコード化された画像の再構成を開始する前に、新しい現在の画像メモリを再割当てすることができる。
【0036】
ビデオデコーダ(310)は、ITU-T Rec. H.265のような規格で文書化され得る所定のビデオ圧縮技術に従ってデコーディング動作を実行し得る。コード化されたビデオシーケンスは、ビデオ圧縮技術文書又は規格の中で、特にその中のプロファイル文書の中で規定されているように、ビデオ圧縮技術又は規格の構文に準拠しているという意味で、使用されているビデオ圧縮技術又は規格によって規定された構文に適合し得る。また、準拠のために必要なことは、コード化されたビデオシーケンスの複雑さが、ビデオ圧縮技術又は規格のレベルによって定義される範囲内にあることであり得る。ある場合には、レベルは、最大画像サイズ、最大フレームレート、最大再構成サンプルレート(例えば、毎秒メガサンプルで測定される)、最大参照画像サイズなどを制限する。レベルによって設定された制限は、場合によっては、仮想参照デコーダ(HRD)仕様と、コード化されたビデオシーケンスで信号送信されるHRDバッファ管理のためのメタデータとを通してさらに制限することができる。
【0037】
実施形態では、受信器(410)は、エンコードされたビデオと共に追加の(冗長な)データを受信し得る。追加のデータは、コード化されたビデオシーケンス(複数可)の一部として含まれ得る。追加のデータは、データを適切にデコードするため、及び/又は元のビデオデータをより正確に再構成するために、ビデオデコーダ(310)によって使用され得る。追加のデータは、例えば、時間的、空間的、又は信号対雑音比(SNR)強化層、冗長スライス、冗長画像、前方誤り訂正コードなどの形態であることができる。
【0038】
図5は、実施形態によるビデオエンコーダ(303)の機能ブロック図である。
【0039】
エンコーダ(303)は、エンコーダ(303)によってコード化されることになるビデオ画像をキャプチャし得るビデオソース(301)(エンコーダの一部ではない)からビデオサンプルを受信し得る。
【0040】
ビデオソース(301)は、任意の適切なビット深さ(例えば、8ビット、10ビット、12ビット、...)、任意の色空間(例えば、BT.601 Y CrCB、RGB、...)及び任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であることができるデジタルビデオサンプルストリームの形態で、エンコーダ(303)によってコード化されることになるソースビデオシーケンスを提供し得る。メディア供給システムでは、ビデオソース(301)は、事前に準備されたビデオを記憶する記憶装置であり得る。ビデオ会議システムでは、ビデオソース(301)は、ローカル画像情報をビデオシーケンスとしてキャプチャするカメラであり得る。ビデオデータは、シーケンスで見たときに動きを伝える複数の個々の画像として提供され得る。画像自体は、ピクセルの空間アレイとして構成され得、各ピクセルは、使用中のサンプリング構造、色空間などに応じて、1つ以上のサンプルを含むことができる。当業者は、ピクセルとサンプルとの間の関係を容易に理解することができる。以下の説明は、サンプルに焦点を当てている。
【0041】
実施形態によれば、エンコーダ(303)は、ソースビデオシーケンスの画像を、コード化されたビデオシーケンス(543)に、リアルタイムで、又はアプリケーションによって要求される任意の他の時間制約の下で、コード化及び圧縮し得る。適切なコーディング速度を実施することは、コントローラ(550)の一つの機能である。コントローラは、以下に記載されるように他の機能ユニットを制御し、これらのユニットに機能的に結合される。結合は、明確にするために示されていない。コントローラによって設定されるパラメータは、レート制御関連パラメータ(画像スキップ、量子化器、レート歪み最適化技術のラムダ値、...)、画像サイズ、画像グループ(GOP)レイアウト、最大モーションベクトル探索範囲などを含むことができる。当業者は、特定のシステム設計のために最適化されたビデオエンコーダ(303)に関連し得るので、コントローラ(550)の他の機能を容易に識別することができる。
【0042】
いくつかのビデオエンコーダは、当業者が「コーディングループ」として容易に認識するもので動作する。過度に単純化された説明として、コーディングループは、エンコーダ(530)のエンコーディング部分(以下、「ソースコーダ」)(コード化されることになる入力画像と参照画像(複数可)に基づいてシンボルを生成することを担当する)と、(リモート)デコーダがまた生成する(シンボルとコード化されたビデオビットストリームとの間の任意の圧縮が、開示された主題において考慮されたビデオ圧縮技術においてロスレスであるため)サンプルデータを生成するためにシンボルを再構成するエンコーダ(303)に埋め込まれた(ローカル)デコーダ(533)とからなることができる。その再構成されたサンプルストリームは、参照画像メモリ(534)に入力される。シンボルストリームのデコーディングは、デコーダ位置(ローカル又はリモート)に依存しないビット正確な結果(bit-exact results)をもたらすので、参照画像バッファ内容もまた、ローカルエンコーダとリモートエンコーダとの間でビット正確である。言い換えると、エンコーダの予測部分は、デコーダがデコーディング中に予測を使用するときに「見る」のとまったく同じサンプル値を参照画像サンプルとして「見る」。参照画像の同期性のこの基本原理(及び、例えば、チャネルエラーのために同期性を維持することができない場合の結果として生じるドリフト)は、当業者にはよく知られている。
【0043】
「ローカル」デコーダ(533)の動作は、「リモート」デコーダ(310)と同じであることができ、
図4と関連して既に上述した。しかし、
図4も簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(545)及びパーサ(420)によるコード化されたビデオシーケンスへのシンボルのエンコーディング/デコーディングがロスレスであることができるので、チャネル(412)、受信器(410)、バッファ(415)及びパーサ(420)を含むデコーダ(310)のエントロピーデコーディング部分は、ローカルデコーダ(533)に完全には実装されなくてもよい。
【0044】
この時点で行うことができる観察は、デコーダ内に存在する構文解析/エントロピーデコーディングを除く任意のデコーダ技術も、対応するエンコーダ内に実質的に同一の機能的形態で存在する必要があることである。エンコーダ技術の記述は、包括的に記述されたデコーダ技術の逆であるため、省略することができる。特定の領域においてのみ、より詳細な説明が必要であり、以下に提供される。
【0045】
その動作の一部として、ソースコーダ(530)は、「参照フレーム」として指定されたビデオシーケンスからの1つ以上の以前にコード化されたフレームを参照して入力フレームを予測的にコード化する動き補償予測コーディングを実行し得る。このようにして、コーディングエンジン(532)は、入力フレームのピクセルブロックと、入力フレームに対する予測参照(複数可)として選択され得る参照フレーム(複数可)のピクセルブロックとの間の差分をコード化する。
【0046】
ローカルビデオデコーダ(533)は、ソースコーダ(530)によって生成されたシンボルに基づいて、参照フレームとして指定され得るフレームのコード化されたビデオデータをデコードし得る。コーディングエンジン(532)の動作は、有利には、ロッシー(lossy)プロセスであり得る。コード化されたビデオデータがビデオデコーダ(
図4には示されていない)でデコードされ得る場合、再構成されたビデオシーケンスは、典型的には、いくつかのエラーを伴うソースビデオシーケンスのレプリカであり得る。ローカルビデオデコーダ(533)は、ビデオデコーダによって参照フレーム上で実行され得、再構成された参照フレームを参照画像キャッシュ(534)に記憶させ得るデコーディングプロセスを複製する。このようにして、エンコーダ(303)は、遠端ビデオデコーダによって得られる再構成された参照フレームとして共通の内容を有する再構成された参照フレームのコピーを、ローカルに記憶し得る(送信エラーがない)。
【0047】
予測器(535)は、コーディングエンジン(532)のための予測探索を実行し得る。すなわち、コード化されることになる新しいフレームに対して、予測器(535)は、新しい画像に対する適切な予測参照として役立ち得る参照画像モーションベクトル、ブロック形状などの特定のメタデータ又はサンプルデータ(候補参照ピクセルブロックとして)について参照画像メモリ(534)を検索し得る。予測器(535)は、適切な予測参照を見出すために、サンプルのブロックごとのピクセルのブロックベース(sample block-by-pixel block basis)で動作し得る。場合によっては、予測器(535)によって得られた検索結果によって決定されるように、入力画像は、参照画像メモリ(534)に記憶された複数の参照画像から引き出された予測参照を有し得る。
【0048】
コントローラ(550)は、例えば、ビデオデータをエンコードするために使用されるパラメータ及びサブグループパラメータの設定を含む、ビデオコーダ(530)のコーディング動作を管理し得る。
【0049】
すべての前述の機能ユニットの出力は、エントロピーコーダ(545)におけるエントロピーコーディングの対象となり得る。エントロピーコーダは、例えば、ハフマンコーディング、可変長コーディング、算術コーディングなど、当業者に知られた技術に従ってシンボルをロスレス圧縮することによって、種々の機能ユニットによって生成されるシンボルをコード化されたビデオシーケンスに変換する。
【0050】
送信器(540)は、エントロピーコーダ(545)によって生成されるようにコード化されたビデオシーケンス(複数可)をバッファに入れて、通信チャネル(560)を介した送信の準備をし得、この通信チャネルは、エンコードされたビデオデータを記憶し得る記憶装置へのハードウェア/ソフトウェアリンクであり得る。送信器(540)は、ビデオコーダ(530)からのコード化されたビデオデータを、送信されることになる他のデータ、例えばコード化されたオーディオデータ及び/又は補助データストリーム(ソースは図示せず)とマージし得る。
【0051】
コントローラ(550)は、エンコーダ(303)の動作を管理し得る。コーディングの間、コントローラ(550)は、各コード化された画像に、特定のコード化された画像タイプを割り当て得、これは、それぞれの画像に適用され得るコーディング技術に影響を及ぼし得る。例えば、画像はしばしば次のフレームタイプの1つとして割り当てられる:
【0052】
イントラ画像(I画像)は、予測のソースとしてシーケンス内の他のフレームを使用せずに、コード化され得る及びデコードされ得るものであり得る。いくつかのビデオコーデックは、例えば、独立したデコーダリフレッシュ画像を含む、異なるタイプのイントラ画像を許容する。当業者は、I画像のこれらの変形例、並びにそれらのそれぞれの用途及び特徴を知っている。
【0053】
予測画像(P画像)は、各ブロックのサンプル値を予測するために、最大で1つのモーションベクトル及び参照インデックスを用いるイントラ予測又はインター予測を用いてコード化され得る及びデコードされ得るものであり得る。
【0054】
双方向予測画像(B画像)は、各ブロックのサンプル値を予測するために、最大で2つのモーションベクトル及び参照インデックスを用いるイントラ予測又はインター予測を用いてコード化され得る及びデコードされ得るものであり得る。同様に、複数の予測画像は、1つのブロックの再構成のために、2より多い参照画像及び関連するメタデータを使用することができる。
【0055】
ソース画像は、通常、空間的に複数のサンプルブロック(例えば、4×4、8×8、4×8、又は16×16の各サンプルのブロック)に分割され、ブロック毎にコード化される。ブロックは、ブロックのそれぞれの画像に適用されるコーディング割り当てによって決定されるように、他の(既にコード化された)ブロックを参照して予測的にコード化され得る。例えば、I画像のブロックは、非予測的にコード化され得る、又は、それらは、同じ画像の既にコード化されたブロックを参照して予測的にコード化され得る(空間予測又はイントラ予測)。P画像のピクセルブロックは、以前にコード化された1つの参照画像を参照して、非予測的に、空間予測を介して又は時間予測を介してコード化され得る。B画像のブロックは、1つ又は2つの以前にコード化された参照画像を参照して、非予測的に、空間予測を介して又は時間予測を介してコード化され得る。
【0056】
ビデオコーダ(303)は、ITU-T Rec H.265又はVersatile Video Coding(VVC) H.266などの所定のビデオコーディング技術又は規格に従ってコーディング動作を実行し得る。その動作において、ビデオコーダ(303)は、入力ビデオシーケンスにおける時間的及び空間的冗長性を活用する予測コーディング動作を含む種々の圧縮動作を実行し得る。従って、コード化されたビデオデータは、使用されているビデオコーディング技術又は規格によって指定された構文に適合し得る。
【0057】
実施形態では、送信器(540)は、コード化されたビデオと共に追加データを送信し得る。ビデオコーダ(530)は、コード化されたビデオシーケンスの一部としてそのようなデータを含み得る。追加データは、時間的、空間的、及び/又はSNR強調層、冗長画像及びスライスのような他の形式の冗長データ、補足強調情報(SEI)メッセージ、視覚的ユーザビリティ情報(VUI)パラメータセットフラグメントなどを含み得る。
【0058】
AV1では、DC、PAETH、SMOOOTH、SMOOTH_V、SMOOTH_Hである5つの無指向性の滑らかなイントラ予測モード(5 non-directional smooth intra prediction modes)がある。DC予測について、左及び上の隣接するサンプルの平均が、予測されることになるブロックの予測子(predictor)として使用される。PAETH予測子について、上、左、及び左上の参照サンプルが最初に取り出され、次に(上+左-左上)に最も近い値が、予測されることになるピクセルの予測子として設定される。
図6Aは、現在のブロックにおける1ピクセルについての上、左、及び左上のサンプルの位置を示す。SMOOTH、SMOOTH_V、SMOOOTH_Hモードについて、それらは、垂直方向又は水平方向の2次補間、又は両方向の平均を使用してブロックを予測する。
【0059】
エッジ上の参照との減衰する空間相関をキャプチャするために、フィルタイントラモードがルマ(輝度)(luma)ブロック用に設計されている。5つのフィルタイントラモードがAV1について定義されており、各々は4×2パッチのピクセルとそれに隣接する7つの隣接するものとの間の相関を反映する8つの7タップフィルタのセットによって表される。言い換えれば、7タップフィルタについての重み付け係数は位置に依存する。例えば、8×8ブロックを取り上げると、8つの4×2パッチに分割され、これは
図6Bに示される。これらのパッチは、
図6BにおいてB0、B1、B2、B3、B4、B5、B6、及びB7によって示される。各パッチについて、R0~R6で示される7つの隣接するものが、現在のパッチのピクセルを予測するために使用される。パッチB0について、すべての隣接するものはすでに再構成されている。しかし、他のパッチについて、すべての隣接するものが再構成されるわけではなく、すぐ隣接するものの予測値が参照として使用される。例えば、パッチB7のすべての隣接するものは再構成されないので、隣接するもの(すなわち、B5及びB6)の予測サンプルが代わりに使用される。
【0060】
ルマからのクロマ(CfL)は、クロマピクセルを同時再構成ルマピクセルの線形関数としてモデル化するクロマ(Chrom)のみのイントラ予測子である。CfL予測は以下のように表される:
【0061】
【0062】
ここで、LACは、ルマ成分のAC寄与を表し、αは線形モデルのパラメータを表し、DCはクロマ成分のDC寄与を表す。具体的には、再構成されたルマピクセルはクロマ解像度にサブサンプリングされ、次に平均値がAC寄与を形成するように差し引かれる。クロマAC成分をAC寄与から近似するために、いくつかの方法でのようにデコーダにスケーリングパラメータを計算させることを要求する代わりに、AV1 CfLは、元のクロマピクセルに基づいてパラメータαを決定し、それらをビットストリームで信号送信する。これは、デコーダの複雑さを低減し、より正確な予測をもたらす。クロマ成分のDC寄与に関して、それは、ほとんどのクロマ内容に十分であり、成熟した高速実装を有するイントラDCモードを用いて計算される。
【0063】
Versatile Video Coding(VVC)標準のイントラモードコーディングを改善するための提案を行った。例えば、2つのイントラ予測モードセットが各ブロックに対して定義され得、これらは許容されるイントラ予測モードセット(AIPM、適応イントラ予測モードとも呼ばれる)及び禁止されるイントラ予測モード(DIPM)セットとして命名される。AIPMは、現在のブロックのイントラ予測に使用できるモードの1つのモードセットとして定義され、DIPMは、現在のブロックのイントラ予測のために信号送信できない又は使用できないモードの1つのモードセットとして定義される。各ブロックに対して、これら2つのモードセットのモードは、隣接するブロックのイントラ予測モードに従って導出される。隣接するモードは、AIPMセットに含まれるが、DIPMセットには含まれない。AIPM及びDIPMセットに含まれるモードの数は、すべてのブロックに対してあらかじめ定義され、固定される。AIPMセットのサイズがSであり、隣接するモードからの導出されたイントラ予測モードの数がSより小さい場合、デフォルトモードがAIPMセットを埋めるために使用される。
【0064】
AIPMをAV1に適用する場合、現在のブロックのブロックサイズ及び隣接するブロックの予測モードにもかかわらず、すべての公称角度が常にAIPMに含まれる。
【0065】
デコーダ側イントラモード導出(DIMD)プロセスでは、事前にエンコード/デコードされたピクセルに基づいてイントラ予測モードが導出され、これはエンコーダ及びデコーダ側で同様に行われる。従って、DIMDプロセスでは、イントラ予測モードインデックスの信号送信は回避される。このプロセスは、DIMDと呼ばれる新しいコーディングモードを定義する。1つのフラグは、DIMDモードが選択されているか否かを示すために、ビットストリームにおいて信号送信される。デコーダ側のイントラモード導出は導出されたイントラモードとも呼ばれ、フラグCONFIG_DERIVED_INTRA_MODEの下の提案で実装されている。
【0066】
DIMDプロセスでは、2つの主要なステップが用いられ、これは以下に詳細に記載される。
【0067】
DIMDブロックのイントラ予測モード(IPM)を暗黙的に導出するために、テクスチャ勾配分析(texture gradient analysis)がエンコーダ側とデコーダ側の両方で実行される。このプロセスは、角度モードの数に対応する65エントリの空のHoGから始まる。これらのエントリの振幅はテクスチャ勾配分析中に決定される。
【0068】
第1のステップでは、DIMDは、
図6Cの部分(a)に示すように、T=3の列及び行のテンプレートを、それぞれ、現在のブロックの左及び上からピックする。この領域は、勾配に基づくIPM導出のための参照として使用される。
【0069】
第2のステップでは、
図6Cの部分(b)に示すように、水平及び垂直ソーベルフィルタが、テンプレートの中央の線のピクセルを中心にして、すべての3×3ウィンドウ位置に適用される。各ウィンドウ位置で、ソーベルフィルタは、純粋な水平方向及び垂直方向の強度をそれぞれG_hor及びG_verとして計算する。次に、ウィンドウのテクスチャ角度が次のように計算される:
【0070】
【0071】
これは、65の角度IPMのうちの1つに変換することができる。現在のウィンドウのIPMインデックスがidxとして導出されると、HoG[idx]のエントリの振幅は以下の追加によって更新される:
【0072】
【0073】
図6Cの部分(c)は、テンプレート内の全てのピクセル位置に上記演算を適用した後に計算されたHoGの例を示す。
【0074】
HoGの最も高いスパイクに対応する単一のIPMのみが使用される場合、このプロセスは不要である。
【0075】
さもなければ、1より多いIPMがDIMDプロセスから導出される場合、この予測融合(prediction fusion)プロセスが使用され得る。
【0076】
予測融合は、複数の予測子の加重平均を用いて計算される。
図6Dは、融合アルゴリズムの一例を示す。このように、HoGの3つの最も高いスパイクに対応する2つのIPMが、M1及びM2として検出される。第3のIPMは、平面モード(planar mode)として固定されている。これらの3つのIPMによるピクセル予測を適用し、Pred1、Pred2及びPred3を得た後、それらの融合が上記3つの予測子の加重平均によって計算される。一例では、平面モードの重みは21/64(~1/3)に固定されている。43/64(~2/3)の残りの重みは、HoGバーの振幅に比例して、2つのHoG IPM間で共有される(shared)。
【0077】
詳細には、第1の重みω1、第2の重みω2、及び第3の重みω3は、以下のように表され得る:
【0078】
【0079】
【0080】
【0081】
従って、予測子ブロックは、以下のように表され得る:
【0082】
【0083】
DIMDは、1つ又は複数の角度IPMを導出するために現在のブロックの隣接するサンプルを使用し、これらの導出されたIPMに短いコードワード(codeword)を割り当てる。AIPMは隣接するモードのIPMを使用して選択したIPMリストを導出し、隣接するモードのIPMに短いコードワードを割り当てる。どちらの方法も、現在のブロックのIPMの信号送信(signaling)を最適化するために隣接情報を使用する。しかし、これらの2つの方法を組み合わせる方法についての解決策がない。
【0084】
デコーダ側イントラモード導出と適応イントラ予測モードとの間の相互作用のための方法及び装置の実施形態が、本明細書に記載される。
【0085】
この詳細な説明では、1つのモードが滑らかなモードでない場合、又は所与の予測方向に従って予測サンプルを生成している場合、この1つのモードは、角度モード又は指向性(directional)モードと呼ばれる。DIMDは一般的な用語であり、1つのプロセスは、隣接する再構成サンプルを使用してイントラ予測モードを導出する場合、DIMDと呼ばれる。
【0086】
実施形態では、各ブロックに対して2つのイントラ予測モードセットがあり、これらはAIPMセット及びDIPMセットと命名される。現在のブロックのブロックサイズ及び隣接するブロックの予測モードにもかかわらず、全ての無指向性モードは常にAIPMセットに含まれる。
【0087】
一実施形態では、AV1におけるすべての無指向性の滑らかなイントラ予測モードは、隣接するブロックのイントラ予測モードにもかかわらず、AIPMセットに常に挿入される。
【0088】
一実施形態では、DC、PAETH、SMOOOTH、SMOOTH_V、及びSMOOOTH_Hモードは、隣接するブロックのイントラ予測モードにもかかわらず、AIPMセットに常に最初に含まれる。
【0089】
一実施形態では、AIPMセットに含まれるモードは、Kレベルに分割することができ、Kは、2又は3又は4などの正の整数である。第1のレベルについて、モードの数は、無指向性モードの数に等しい。その他のレベルについて、モードの数は、2Lなどの2の累乗に等しく、Lは1より大きい正の整数である。例えば、AIPMセット内のモードの数はSであり得、AIPMセットは3つのレベルを有し得る。SはK+2L+2Mと等しく、AIPMセットのK未満であるインデックスを持つモードを第1のレベルモードと呼び、AIPMセットのK以上であるがK+2L未満であるインデックスを持つモードを第2のレベルモードと呼ぶ。一実施形態では、全ての無指向性IPMは、AIPMセットの第1のレベルに配置される。
【0090】
実施形態では、指向性IPMのみがAIPMリストに含まれ、AIPMのモードの数は、2の累乗又は2の累乗の倍数の和に等しく設定される。
【0091】
一実施形態では、イントラ予測モードの信号送信のために、現在のブロックが指向性モードであるか否かを示すために、1つのフラグが信号送信される。イエスである場合、AIPMリストの現在のモードのインデックスを示すために、第2のフラグが信号送信される。さもなければ、第2のフラグは、現在のモードがどの無指向性モードであるかを示すために信号送信される。
【0092】
一実施形態では、イントラ予測モードの信号送信のために、現在のブロックが指向性モードであるか否かを示すために、1つのフラグが信号送信される。現在のブロックが指向性モードである場合、現在のモードがDIMDモードであるか否かを示すために、第2のフラグが信号送信される。現在のモードがDIMDモードでない場合、AIPMリストの現在のモードのインデックスを示すために第3のフラグが信号送信される。さもなければ、現在のモードがDIMDモードである場合、第3のフラグは回避され、現在のブロックのIPMがデコーダ側から導出される。さもなければ、現在のモードが指向性IPMでない場合、現在のモードがどの無指向性モードであるかを示すために第2のフラグが信号送信される。
【0093】
一実施形態では、DIMDプロセスから導出されるIPMは、常にAIPMリストに挿入される。一実施形態では、DIMDプロセスから導出されるIPMは、常にAIPMリストに最初に挿入され、AIPMリストの第1のレベルに配置される。
【0094】
実施形態では、AIPMスキームはルマ成分のみに適用され、一方、DIMDスキームはクロマ成分のみに適用される。
【0095】
図7は、実施形態による、ビデオシーケンスの画像の現在のブロックのイントラ予測を実行する方法(700)を示すフローチャートである。いくつかの実施では、
図7の1つ又は複数のプロセスブロックは、デコーダ(310)によって実行され得る。幾つかの実装形態では、
図7の1つ又は複数のプロセスブロックは、エンコーダ(303)などの、デコーダ(310)から離れた、又はデコーダ(310)を含む、別のデバイス又はデバイスのグループによって実行され得る。
【0096】
図7を参照すると、第1のブロック(710)において、方法(700)は、現在のブロックに対応するイントラ予測モードが指向性モードであることを第1のフラグが示すかどうかを決定することを含む。
【0097】
現在のブロックに対応するイントラ予測モードが指向性モードであることを示す(710-イエス)と第1のフラグが決定されていることに基づいて、第2のブロック(720)において、方法(700)は、イントラ予測モードがデコーダ側イントラモード導出(DIMD)モードであることを示すかどうかを決定することを含む。
【0098】
現在のブロックに対応するイントラ予測モードがDIMDモードであることを示さない(720-ノー)と第2のフラグが決定されていることにフラグに基づいて、第3のブロック(730)において、方法(700)は、許可されたイントラ予測モード(AIPM)リストにおいてイントラ予測モードのインデックスを決定することを含み、第4のブロック(740)において、方法(700)は、AIPMリストにおいて決定されたイントラ予測モードに対応するイントラ予測モードを用いて、現在のブロックのイントラ予測を実行することを含む。
【0099】
現在のブロックに対応するイントラ予測モードがDIMDモードであることを示す(720-イエス)と第2のフラグが決定されていることに基づいて、第5のブロック(750)において、方法(700)は、イントラ予測モードを決定するためにDIMDを実行することを含み、第4のブロック(740)に続き、そこで方法(700)は、決定されたイントラ予測モードを使用して、現在のブロックのイントラ予測を実行することを含む。
【0100】
現在のブロックに対応するイントラ予測モードが指向性モードであることを示さない(710-ノー)と第1のフラグが決定されていること基づいて、第6のブロック(760)において、方法(700)は、イントラ予測モードを無指向性モードのうちの1つに決定することを含み、第4のブロック(740)に続き、そこで方法(700)は、決定されたイントラ予測モードを用いて、現在のブロックのイントラ予測を実行することを含む。
【0101】
方法(700)は、DIMDを実行することによって決定されたイントラ予測モードを、最初にAIPMリストの第1のレベルに挿入することをさらに含み得る。
【0102】
方法(700)は、AIPMリストの少なくとも1つのイントラ予測モードを使用して、現在のブロックのルマ成分のイントラ予測を実行することをさらに含み得る。
【0103】
方法(700)は、DIMDを実行することによって決定されたイントラ予測モードを使用して、現在のブロックのクロマ成分のイントラ予測を実行することをさらに含み得る。
【0104】
AIPMリストは、指向性モードのみを含み得、AIPMリストに含まれる指向性モードの数は、2の累乗又は2の累乗の和に等しく成り得る。
【0105】
図7は、方法(700)の例示のブロックを示しているが、いくつかの実装では、方法(700)は、
図7に示されたものよりも、追加のブロック、より少ないブロック、異なるブロック、又は異なる配置のブロックを含み得る。追加的に、又は代替的に、方法(700)のブロックのうちの2つ以上は、並行して実施され得る。
【0106】
図8は、実施形態による、ビデオシーケンスの画像の現在のブロックのイントラ予測を実行するための装置(800)の簡略化されたブロック図である。
【0107】
図8を参照すると、装置(800)は、第1の決定コード(805)、第2の決定コード(810)、第3の決定コード(815)、第1の実行コード(820)、第2の実行コード(825)及び第4の決定コード(830)を含む。
【0108】
第1の決定コード(805)は、少なくとも1つのプロセッサに、現在のブロックに対応するイントラ予測モードが指向性モードであることを第1のフラグが示すかどうかを決定させるように構成される。
【0109】
第3の決定コード(815)は、少なくとも1つのプロセッサに、現在のブロックに対応するイントラ予測モードが指向性モードであることを示すと第1のフラグが決定されていることに基づいて、イントラ予測モードがデコーダ側イントラモード導出(DIMD)モードであることを第2のフラグが示すかどうかを決定させるように構成される。
【0110】
第2の決定コード(810)は、少なくとも1つのプロセッサに、現在のブロックに対応するイントラ予測モードがDIMDモードであることを示さないと第2のフラグが決定されていること基づいて、許可されたイントラ予測モード(AIPM)リストにおいてイントラ予測モードのインデックスを決定させるように構成される。
【0111】
第1の実行コード(820)は、少なくとも1つのプロセッサに、現在のブロックに対応するイントラ予測モードがDIMDモードであることを示さないと第2のフラグが決定されていることに基づいて、AIPMリストの決定されたインデックスに対応するイントラ予測モードを使用して、現在のブロックのイントラ予測を実行させるように構成される。
【0112】
第2の実行コード(825)は、少なくとも1つのプロセッサに、現在のブロックに対応するイントラ予測モードがDIMDモードであることを示すと第2のフラグが決定されていることに基づいて、イントラ予測モードを決定するようDIMDを実行させるように構成される。
【0113】
第1の実行コード(820)は、少なくとも1つのプロセッサに、現在のブロックに対応するイントラ予測モードがDIMDモードであることを示すと第2のフラグが決定されていることに基づいて、決定されたイントラ予測モードを使用して、現在のブロックのイントラ予測を実行させるようにさらに構成される。
【0114】
第4の決定コード(830)は、少なくとも1つのプロセッサに、現在のブロックに対応するイントラ予測モードが指向性モードであることを示さないと第1のフラグが決定されていることに基づいて、イントラ予測モードを無指向性モードのうちの1つに決定させるように構成される。
【0115】
第1の実行コード(820)は、少なくとも1つのプロセッサに、現在のブロックに対応するイントラ予測モードが指向性モードであることを示さないと第1のフラグが決定されていることに基づいて、決定されたイントラ予測モードを使用して、現在のブロックのイントラ予測を実行させるようにさらに構成される。
【0116】
装置(800)は、少なくとも1つのプロセッサに、DIMDを実行することによって決定されたイントラ予測モードを、最初にAIPMリストの第1のレベルに挿入させるように構成される挿入コードをさらに含み得る。
【0117】
装置(800)は、少なくとも1つのプロセッサに、AIPMリストの少なくとも1つのイントラ予測モードを使用して、現在のブロックのルマ成分のイントラ予測を実行させるように構成される第3の実行コードをさらに含み得る。
【0118】
第3の実行コードは、少なくとも1つのプロセッサに、DIMDを実行することによって決定されたイントラ予測モードを使用して、現在のブロックのクロマ成分のイントラ予測を実行させるようにさらに構成され得る。
【0119】
AIPMリストは、指向性モードのみを含み得、AIPMリストに含まれる指向性モードの数は、2の累乗又は2の累乗の和に等しくなり得る。
【0120】
図9は、実施形態を実施するのに適したコンピュータシステム(900)の図である。
【0121】
コンピュータソフトウェアは、コンピュータ中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)などによって、直接的に、又は解釈を通じて、マイクロコード実行などを通して実行することができる命令を含むコードを作成するために、アセンブリ、コンパイル、リンク、又は同様のメカニズムの対象となり得る任意の適切な機械コード又はコンピュータ言語を用いてコード化されることができる。
【0122】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーミングデバイス、モノのインターネットデバイス等を含む種々のタイプのコンピュータ又はそのコンポーネント上で実行されることができる。
【0123】
コンピュータシステム(900)について
図9に示すコンポーネントは、本質的に例示的なものであり、実施形態を実装するコンピュータソフトウェアの使用範囲又は機能に関する限定を示唆することを意図するものではない。コンポーネントの構成は、コンピュータシステム(900)の実施形態に例示されているコンポーネントの任意の1つ又は組み合わせに関するいかなる従属性又は要件を有するものとして解釈されてはならない。
【0124】
コンピュータシステム(900)は、特定のヒューマンインターフェース入力デバイスを含み得る。このようなヒューマンインターフェース入力装置は、例えば、触覚入力(例えば、キーストローク、スワイプ、データグローブの動き)、音声入力(例えば、音声、拍手)、視覚入力(例えば、ジェスチャ)、嗅覚入力(図示せず)を通じて、一人又は複数の人間のユーザによる入力に応答し得る。また、ヒューマンインターフェースデバイスは、オーディオ(例えば、スピーチ、音楽、周囲の音声)、画像(例えば、スキャンされた画像、静画カメラから得られる写真画像)、ビデオ(例えば、2次元ビデオ、立体画像を含む3次元ビデオ)のような、人間による意識的入力に必ずしも直接関係しない特定の媒体をキャプチャするために使用することができる。
【0125】
入力ヒューマンインターフェースデバイスは、キーボード(901)、マウス(902)、トラックパッド(903)、タッチスクリーン(910)、データグローブ、ジョイスティック(905)、マイクロホン(906)、スキャナ(907)、カメラ(908)の1つ以上を含み得る。
【0126】
コンピュータシステム(900)はまた、特定のヒューマンインターフェース出力デバイスを含み得る。このようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、及びにおい/味を通して、1人又は複数の人間ユーザの感覚を刺激し得る。このようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(910)、データグローブ、又はジョイスティック(905)による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスもあり得る)、オーディオ出力デバイス(例えば:スピーカ(909)、ヘッドフォン(図示せず)など)、視覚出力デバイス(陰極線管(CRT)スクリーン、液晶ディスプレイ(LCD)スクリーン、プラズマスクリーン、有機発光ダイオード(OLED)スクリーンを含むスクリーン(910)など、各々が触覚フィードバック機能を有していても有していなくてもよく、各々は触覚フィードバック機能を有していても有していなくてもよく-それらのいくつかは、二次元視覚出力又は立体画像出力などの手段を通して三次元出力以上を出力することができるものであり得る;仮想現実メガネ(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず))、及びプリンタ(図示せず)を含み得る。グラフィックスアダプタ(950)は、タッチスクリーン(910)に画像を生成し出力する。
【0127】
コンピュータシステム(900)はまた、人間がアクセス可能な記憶装置、及び、CD/DVD又は類似の媒体(921)を有するCD/DVD ROM/RW(920)を含む光媒体、サムドライブ(922)、取り外し可能なハードドライブ又はソリッドステートドライブ(923)、テープ及びフロッピー(登録商標)ディスク(図示せず)のようなレガシー磁気媒体、セキュリティドングル(図示せず)のような特殊化されたROM/ASIC/PLDベースのデバイスなどの関連媒体を含むことができる。
【0128】
当業者はまた、現在開示されている主題に関連して使用される用語「コンピュータ可読媒体」が、伝送媒体、搬送波、又は他の一時的な信号を包含しないことを理解すべきである。
【0129】
コンピュータシステム(900)はまた、1つ又は複数の通信ネットワーク(955)へのインターフェース(複数可)を含むことができる。ネットワーク(955)は、例えば、無線、有線、光であることができる。ネットワーク(955)は、さらに、ローカル、広域、メトロポリタン、車両及び産業、リアルタイム、遅延耐性などであることができる。ネットワーク(955)の例は、イーサネット(登録商標)、無線LAN、移動通信のためのグローバルシステム(GSM)、第3世代(3G)、第4世代(4G)、第5世代(5G)、ロングタームエボリューション(LET)などを含むセルラーネットワーク、ケーブルテレビ、衛星テレビ、地上波テレビを含むテレビ有線又は無線ワイドエリアデジタルネットワーク、CANバスを含む車両及び産業用などを含む。特定のネットワーク(955)は、一般に、特定の汎用データポート又は周辺バス((949))(例えば、コンピュータシステム(900)のユニバーサルシリアルバス(USB)ポート;他は、一般に、後述するように、システムバスに取り付けることによって、コンピュータシステム900のコアに組み込まれる(例えば、PCコンピュータシステムへのイーサネットインターフェース又はスマートフォンコンピュータシステムへのセルラーネットワークインターフェース(954)など)に取り付けられる外部ネットワークインターフェースアダプタを必要とする。これらのネットワーク(955)のいずれかを使用して、コンピュータシステム(900)は、他のエンティティと通信することができる。このような通信は、単指向性、受信のみ(例えば、放送テレビ)、単指向性送信専用(例えば、特定のCANバスデバイスへのCANバス)、又は、例えば、ローカル又はワイドエリアデジタルネットワークを使用する他のコンピュータシステムへの双指向性であることができる。特定のプロトコル及びプロトコルスタックは、上述のように、それらのネットワーク(955)及びネットワークインターフェース(954)の各々で使用することができる。
【0130】
前述のヒューマンインターフェースデバイス、人間がアクセス可能な記憶デバイス、及びネットワークインターフェース(954)は、コンピュータシステム(900)のコア(940)に取り付けることができる。
【0131】
コア(940)は、1つ以上の中央処理ユニット(CPU)(941)、グラフィックス処理ユニット(GPU)(942)、フィールドプログラマブルゲートアレイ(FPGA)(943)の形の特殊なプログラマブル処理ユニット、特定のタスクのためのハードウェアアクセラレータ(944)などを含むことができる。これらのデバイスは、読出し専用メモリ(ROM)(945)、ランダムアクセスメモリ(RAM)(946)、内部非ユーザアクセス可能ハードドライブ、ソリッドステートドライブ(SSD)などの内部大容量記憶装置(947)と共に、システムバス(948)を介して接続され得る。いくつかのコンピュータシステムでは、システムバス(948)は、追加のCPU、GPUなどによる拡張を可能にするために、1つ又は複数の物理プラグの形態でアクセス可能であることができる。周辺装置は、コアのシステムバス(948)に直接取り付けることも、周辺バス(949)を介して取り付けることもできる。周辺バスのアーキテクチャは、ペリフェラルコンポーネント相互接続(PCI)、USBなどを含む。
【0132】
CPU(941)、GPU(942)、FPGA(943)、及びアクセラレータ(944)は、組み合わせて、上述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ROM(945)又はRAM(946)に記憶することができる。過渡的なデータは、RAM(946)に記憶することもでき、一方、永久データは、例えば、内部大容量記憶装置(947)に記憶することができる。1つ以上のCPU(941)、GPU(942)、大容量記憶装置(947)、ROM(945)、RAM(946)などと密接に関連付けることができるキャッシュメモリの使用を通じて、メモリデバイスのいずれかへの高速記憶及び取得を可能にすることができる。
【0133】
コンピュータ読取可能媒体は、種々のコンピュータ実装された動作を実行するためのコンピュータコードをその上に有することができる。媒体及びコンピュータコードは、実施形態の目的のために特別に設計及び構築されたものであることができる、又はそれらは、コンピュータソフトウェア技術に熟練した者に良く知られかつ入手可能な種類のものであることができる。
【0134】
一例として、限定するものではなく、アーキテクチャ(900)、具体的にはコア(940)を有するコンピュータシステムは、1つ以上の有形のコンピュータ可読媒体に具現化されたソフトウェアを実行するプロセッサ(複数可)(CPU、GPU、FPGA、アクセラレータ等を含む)の結果として機能を提供することができる。そのようなコンピュータ読取可能媒体は、コア内部大容量記憶装置(947)又はROM(945)のような非一時的な性質のものであるコア(940)の特定の記憶装置と同様に、上述のようなユーザがアクセス可能な大容量記憶装置に関連する媒体であることができる。様々な実施形態を実装するソフトウェアは、そのような装置に記憶され、コア(940)によって実行されることができる。コンピュータ読取可能媒体は、特定のニーズに応じて、1つ又は複数のメモリデバイス又はチップを含むことができる。ソフトウェアは、RAM(946)に記憶されたデータ構造を定義し、ソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を修正することを含む、本明細書に記載された特定のプロセス又は特定のプロセスの部分を、コア(940)、具体的にはその中のプロセッサ(CPU、GPU、FPGAなどを含む)に実行させることができる。加えて、又は代替的に、コンピュータシステムは、回路(例えば、アクセラレータ(944))内に配線された又は他の方法で具現化された論理の結果として機能を提供することができ、これは、本明細書に記載される特定のプロセス又は特定のプロセスの特定の部分を実行するためのソフトウェアの代わりに、又はそれと共に動作することができる。ソフトウェアへの言及は、論理を含み、また、必要に応じて、その逆も可能である。コンピュータ読取可能媒体への参照は、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のための論理を具体化する回路、又は適切な場合にはその両方を含むことができる。実施形態は、ハードウェア及びソフトウェアの任意の適切な組み合わせを包含する。
【0135】
本開示は、いくつかの実施形態を記載してきたが、本開示の範囲内にある変更、置換、及び種々の代替均等物がある。したがって、当業者は、本明細書に明示的に示されていないか又は記載されていないが、本開示の原理を具体化し、したがって、本開示の精神及び範囲内にある多くのシステム及び方法を考え出すことができることが理解されるであろう。
【国際調査報告】