(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-01-26
(54)【発明の名称】コード化ツールの組み合わせおよび制限の管理
(51)【国際特許分類】
H04N 19/70 20140101AFI20220119BHJP
【FI】
H04N19/70
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021525722
(86)(22)【出願日】2019-12-09
(85)【翻訳文提出日】2021-07-07
(86)【国際出願番号】 US2019065126
(87)【国際公開番号】W WO2020118287
(87)【国際公開日】2020-06-11
(32)【優先日】2018-12-07
(33)【優先権主張国・地域又は機関】EP
(32)【優先日】2018-12-07
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】518338149
【氏名又は名称】インターデジタル ヴイシー ホールディングス, インコーポレイテッド
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】フランソワ,エドワール
(72)【発明者】
【氏名】アンドリフォン,ピエール
(72)【発明者】
【氏名】ギャルピン,フランク
(72)【発明者】
【氏名】ルリアネック,ファブリス
(72)【発明者】
【氏名】ケルドランヴァトゥ, ミシェル
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159KK43
5C159LC09
5C159MA04
5C159MA05
5C159MA19
5C159MA21
5C159MC11
5C159ME11
5C159NN10
5C159PP16
5C159TA12
5C159TA23
5C159TA26
5C159TA33
5C159TA37
5C159TA46
5C159TA62
5C159TB08
5C159TC12
5C159TC42
5C159UA02
5C159UA05
5C159UA16
(57)【要約】
ビデオコード化ツールは、構文をビデオビットストリームに含めることによって制御され、これによって、ビデオ復号リソースをより有効に活用することができる。エンコーダは、構文をビデオビットストリームに挿入して、デコーダがビットストリームを解析し、どのツールの組み合わせを有効にするか、どの組み合わせを許可しないか、および複数コンポーネントビットストリーム内の様々なコンポーネントに対してどのツールをアクティブ化するかを容易に制御することを可能にし、ビットストリーム復号の潜在的な並列化をもたらす。
【選択図】
図3
【特許請求の範囲】
【請求項1】
ビデオビットストリームに少なくとも1つのビデオコード化ツールと関連付けられた高レベル構文を挿入することと、
前記ビットストリームに、前記高レベル構文に基づいて1つ以上のビデオコード化ツールに対する1つ以上の低レベル制御を、条件に応じて挿入することと、
前記低レベル制御に基づいて、1つ以上のビデオコンポーネントに対応する1つ以上のビデオコード化ツールをアクティブ化することと、
前記アクティブ化された前記ビデオコード化ツールを使用して、前記ビデオビットストリームを符号化することと、を含む、方法。
【請求項2】
プロセッサであって、
ビデオビットストリームに、少なくとも1つのビデオコード化ツールと関連付けられた高レベル構文を挿入し、
前記ビットストリームに、前記高レベル構文に基づいて、1つ以上のビデオコード化ツールに対する1つ以上の低レベル制御を、条件に応じて挿入し、
前記低レベル制御に基づいて、1つ以上のビデオコンポーネントに対応する1つ以上のビデオコード化ツールをアクティブ化し、
前記アクティブ化されたビデオコード化ツールを使用して、前記ビデオビットストリームを符号化するように構成されている、プロセッサを備える、装置。
【請求項3】
少なくとも1つのビデオコード化ツールと関連付けられた高レベル構文について、ビデオビットストリームを解析することと、
前記高レベル構文に基づいて、1つ以上のビデオコード化ツールに対して1つ以上の低レベル制御を決定することと、
前記決定に基づいて、1つ以上のビデオコンポーネントに対応する1つ以上のビデオコード化ツールをアクティブ化することと、
前記アクティブ化されたビデオコード化ツールを使用して、前記ビデオビットストリームを復号することと、を含む、方法。
【請求項4】
プロセッサであって、
少なくとも1つのビデオコード化ツールと関連付けられた高レベル構文について、ビデオビットストリームを解析し、
前記高レベル構文に基づいて、1つ以上のビデオコード化ツールに対して1つ以上の低レベル制御を決定し、
前記決定に基づいて、1つ以上のビデオコンポーネントに対応する1つ以上のビデオコード化ツールをアクティブ化し、
前記アクティブ化されたビデオコード化ツールを使用して前記ビデオビットストリームを復号するように構成されている、プロセッサを備える、装置。
【請求項5】
構文が、複数コンポーネントビデオビットストリームの別個のまたは非別個のコンポーネントに関連付けられたアクティブ化されたビデオコード化ツールの情報を示す、請求項1もしくは3に記載の方法、または請求項2もしくは4に記載の装置。
【請求項6】
インデックスが、ビデオコード化ツールがどのコンポーネントに適用されるかを示すために使用される、請求項5に記載の方法または装置。
【請求項7】
複数コンポーネントビデオビットストリーム内の非別個のコンポーネントに対する高レベル構文が、1つの構文セットにグループ化される、請求項1もしくは3に記載の方法、または請求項2もしくは4に記載の装置。
【請求項8】
複数のコンポーネントビデオビットストリームに対する構文が、特定のビデオコード化ツール制御がビットストリームコンポーネントに挿入されているかどうかを示す、請求項1もしくは3に記載の方法、または請求項2もしくは4に記載の装置。
【請求項9】
複数の分割制限が、高レベルのパラメータセットに挿入された高レベル構文要素によって制御される、請求項1もしくは3に記載の方法、または請求項2もしくは4に記載の装置。
【請求項10】
複数の高レベル分割制限フラグが、順次制御され、少なくとも1つの高レベル制限フラグが低レベル制限を制御する、請求項1もしくは3に記載の方法、または請求項2もしくは4に記載の装置。
【請求項11】
多仮説予測に基づくインター予測ツールが、高レベル構文要素によって制御される、請求項1もしくは3に記載の方法、または請求項2もしくは4に記載の装置。
【請求項12】
請求項4~11のいずれかに記載の装置と、
(i)信号を受信するように構成されたアンテナであって、前記信号が、ビデオブロックを含む、アンテナ、(ii)前記受信した信号を、前記ビデオブロックを含む周波数帯域に制限するように構成された帯域リミッタ、および(iii)前記ビデオブロックを表す出力を表示するように構成されたディスプレイ、のうちの少なくとも1つと、を備える、デバイス。
【請求項13】
プロセッサを使用する再生のための、請求項1および5~11のいずれか一項に記載の方法に従って、または請求項2および5~11のいずれか一項に記載の装置によって生成されたデータコンテンツを含む、非一時的コンピュータ可読媒体。
【請求項14】
プロセッサを使用する再生のための、請求項1および5~11のいずれか一項に記載の方法に従って、または請求項2および5~11のいずれか一項に記載の装置によって生成されたビデオデータを含む、信号。
【請求項15】
命令を含むコンピュータプログラム製品であって、前記命令は、前記プログラムがコンピュータによって実行されたときに、前記コンピュータに、請求項1、3、および5~11のいずれか一項に記載の方法を実行させる、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態の少なくとも1つは、概して、ビデオの符号化または復号、圧縮または解凍のための方法または装置に関する。
【背景技術】
【0002】
高い圧縮効率を達成するために、画像およびビデオのコード化方式は、通常、動きベクトル予測を含む予測を採用し、変換してビデオコンテンツの空間的および時間的冗長性を活用する。概して、イントラまたはインター予測は、イントラフレームまたはインターフレームの相関を活用するために使用され、次いで、予測誤差または予測残差と呼ばれることが多い、元の画像と予測された画像との間の差は、変換され、量子化され、エントロピーコード化される。ビデオを再構築するために、圧縮データは、エントロピーコード化、量子化、変換、および予測に対応する逆プロセスによって復号される。
【発明の概要】
【0003】
本実施形態の少なくとも1つは、概して、ビデオ符号化または復号の方法または装置に関し、より詳細には、隣接するサンプル依存パラメトリックモデルに基づいてコード化モードを簡略化する方法または装置に関する。
【0004】
第1の態様によれば、方法が提供される。本方法は、ビデオビットストリームに、少なくとも1つのビデオコード化ツールと関連付けられた高レベル構文を挿入することと、ビットストリームに、高レベル構文に基づいて、1つ以上のビデオコード化ツールのための1つ以上の低レベル制御を、条件に応じて挿入するステップと、低レベル制御に基づいて、1つ以上のビデオコンポーネントに対応する1つ以上のビデオコード化ツールをアクティブ化するステップと、このアクティブ化されたビデオコード化ツールを使用してビデオビットストリームを符号化するステップとを含む。
【0005】
第2の態様によれば、方法が提供される。本方法は、少なくとも1つのビデオコード化ツールと関連付けられた高レベル構文のビデオビットストリームを解析するステップと、高レベル構文に基づいて、1つ以上のビデオコード化ツールに対して1つ以上の低レベル制御を決定するステップと、この決定に基づいて、1つ以上のビデオコンポーネントに対応する1つ以上のビデオコード化ツールをアクティブ化するステップと、このアクティブ化されたビデオコード化ツールを使用してビデオビットストリームを復号するステップとを含む。
【0006】
別の態様によれば、装置が提供される。この装置は、プロセッサを含む。このプロセッサは、前述の方法のうちのいずれかを実行することによって、ビデオのブロックを符号化するか、またはビットストリームを復号するように構成することができる。
【0007】
少なくとも1つの実施形態の別の一般的な態様によれば、復号する実施形態のうちのいずれかによる装置と、(i)信号を受信するように構成されたアンテナであって、その信号が、ビデオブロックを含む、アンテナ、(ii)受信した信号を、ビデオブロックを含む周波数帯域に制限するように構成された帯域リミッタ、または(iii)ビデオブロックを表す出力を表示するように構成されたディスプレイ、のうちの少なくとも1つと、を備える、デバイスが提供される。
【0008】
少なくとも1つの実施形態の別の一般的な態様によれば、説明された符号化の実施形態または変形のいずれかに従って生成されたデータコンテンツを含む非一時的なコンピュータ可読媒体が提供される。
【0009】
少なくとも1つの実施形態の別の一般的な態様によれば、説明された符号化の実施形態または変形のいずれかに従って生成されたビデオデータを含む信号が提供される。
【0010】
少なくとも1つの実施形態の別の一般的な態様によれば、ビットストリームは、説明された符号化の実施形態または変形のいずれかに従って生成されたデータコンテンツを含むようにフォーマットされる。
【0011】
少なくとも1つの実施形態の別の一般的な態様によれば、プログラムがコンピュータによって実行されると、コンピュータに、説明された復号の実施形態または変形のいずれかを実行させる命令を含むコンピュータプログラム製品が提供される。
【0012】
これらおよび他の態様、特徴、および一般的な態様の利点は、添付の図面に関連して読まれる例示的な実施形態の以下の詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【0013】
【
図3】一実施形態による一般的な復号プロセスを示す。
【
図5】ケース2の第1の提案される一般的な復号プロセスを示す。
【
図6】ケース2の第2の提案される一般的な復号プロセスを示す。
【
図8】ピクチャ分割制限信号通知に基づく例示的な復号プロセスを示す。
【
図9】ピクチャ分割制限信号通知に基づく代替的復号プロセスを示す。
【
図10】フラグ信号通知を可能にする多仮説予測に基づく例示的な復号プロセスを示す。
【
図11】フラグ信号通知を可能にするMTS(複数変換セット)に基づく例示的な復号プロセスを示す。
【
図12】フラグ信号通知を可能にするMTSに基づく例示的代替的な復号プロセスを示す。
【
図13】フラグ信号通知を可能にする依存量子化および符号データ隠蔽の例示的な復号プロセスを示す。
【
図14】圧縮されたHEVCピクチャを表すコード化木単位およびコード化木概念を示す。
【
図15】コード化木単位をコード化単位、予測単位、および変換単位に分割する実施例を示す。
【
図16】例示的な四分木プラス二分木(QTBT)CTU表現を示す。
【
図17】説明された一般的な態様下で符号化/復号するためのプロセッサベースのシステムを示す。
【
図18】第1の実施形態による復号プロセスの簡略化されたブロック図を示す。
【
図19】説明された一般的な態様下での方法の一実施形態を示す。
【
図20】説明された一般的な態様下での方法の別の実施形態を示す。
【
図21】説明された態様下での例示的な装置を示す。
【発明を実施するための形態】
【0014】
本明細書で説明する実施形態は、ビデオ圧縮の分野にあり、概して、ビデオ圧縮ならびにビデオの符号化および復号に関する。説明される一般的な態様は、高レベルビデオコード化構文またはビデオコード化セマンティクスにおける制限を操作して、可能なツールの組み合わせのセットを制約するメカニズムを提供することを目的としている。
【0015】
高い圧縮効率を達成するために、画像およびビデオのコード化方式は、通常、動きベクトル予測を含む予測を採用し、変換してビデオコンテンツの空間的および時間的冗長性を活用する。概して、イントラまたはインター予測は、イントラフレームまたはインターフレームの相関を活用するために使用され、次いで、予測誤差または予測残差と呼ばれることが多い、元の画像と予測された画像との間の差は、変換され、量子化され、エントロピーコード化される。ビデオを再構築するために、圧縮データは、エントロピー符号化、量子化、変換、および予測に対応する逆プロセスによって復号される。
【0016】
HEVC(高効率ビデオコード化、ISO/IEC 23008-2、ITU-TH.265)ビデオ圧縮規格において、動き補償型時間予測は、ビデオの連続するピクチャ間に存在する冗長性を活用するために採用されている。
【0017】
それを行うために、動きベクトルが各予測単位(PU)に関連付けられている。各コード化木単位(CTU)は、圧縮ドメインのコード化木によって表される。これは、CTUの四分木分割であり、各リーフがコード化単位(CU)と呼ばれる。
【0018】
次に、各CUには、イントラまたはインター予測パラメータ(予測情報)がいくつか与えられる。そのために、それは、1つ以上の予測単位(PU)に空間的に分割され、各PUには、いくつかの予測情報が割り当てられる。イントラまたはインターコード化モードが、CUレベルで割り当てられる。
【0019】
JVET(Joint Video Exploration Team)が提案するJoint Exploration Model(JEM)として知られる新しいビデオ圧縮規格では、圧縮性能が高いため、四分木-二分木(QTBT)ブロック分割構造を受け入れることが提案されている。二分木(BT)のブロックは、中央で水平または垂直に分割することにより、2つの同じサイズのサブブロックに分割することができる。その結果、BTブロックは、ブロックが常に同じ高さと幅の正方形であるQTのブロックとは異なり、幅と高さが等しくない長方形の形状を有することができる。HEVCでは、角度イントラ予測方向は180度にわたる45度から-135度まで定義され、JEM内に維持されているので、ターゲットブロックの形状に依存しない角度方向の定義が可能になっている。
【0020】
これらのブロックを符号化するために、イントラ予測を使用して、以前に再構築された隣接サンプルを使用してブロックの推定バージョンを提供する。次に、ソースブロックと予測の差が符号化される。上記の従来のコーデックでは、現在のブロックの左側と上部に1行の参照サンプルが使用されている。
【0021】
HEVC(高効率ビデオコード化、H.265)では、ビデオシーケンスのフレームの符号化は、四分木(QT)ブロック分割構造に基づいている。フレームは正方形のコード化木単位(CTU)に分割され、すべてがレート歪み(RD)基準に基づいて複数のコード化単位(CU)に四分木ベースで分割される。各CUは、イントラ予測、つまり、原因となる隣接CUから空間的に予測されるか、またはインター予測、つまり、既に復号された参照フレームから時間的に予測される。Iスライスでは、すべてのCUがイントラ予測されるが、PスライスとBスライスでは、CUはイントラ予測またはインター予測の両方が可能である。イントラ予測の場合、HEVCは、1つの平面モード(モード0としてインデックス付け)、1つのDCモード(モード1としてインデックス付け)、および33の角度モード(モード2~34としてインデックス付け)を含む35の予測モードを定義する。角度モードは、時計回りに45度から-135度の範囲の予測方向に関連付けられている。HEVCは四分木(QT)ブロック分割構造をサポートしているため、すべての予測単位(PU)は正方形である。したがって、45度から-135度までの予測角度の定義は、PU(予測単位)形状の観点から正当化される。サイズNxNピクセルのターゲット予測単位の場合、上部の参照配列と左側の参照配列はそれぞれサイズ2N+1のサンプルであり、すべてのターゲットピクセルの前述の角度範囲をカバーするために必要である。PUの高さおよび幅が同じ長さであることを考えると、2つの参照配列の長さが等しいことも理にかなっている。
【0022】
本発明は、ビデオ圧縮の分野におけるものである。既存のビデオ圧縮システムと比較して、インターコード化されたブロックの二重予測を改善することを目的としている。本発明は、インタースライスのルマおよびクロマコード化木を分離することも提案する。
【0023】
HEVCビデオ圧縮規格では、ピクチャは、いわゆるコード化木単位(CTU)に分割され、この分割サイズは通常、64x64、128x128、または256x256ピクセルである。各CTUは、圧縮ドメインのコード化木によって表現される。これはCTUの四分木分割であり、各リーフはコード化単位(CU)と呼ばれ、
図14を参照されたい。
【0024】
次に、各CUには、イントラまたはインター予測パラメータ(予測情報)がいくつか与えられる。そのために、それは、1つ以上の予測単位(PU)に空間的に分割され、各PUには、いくつかの予測情報が割り当てられる。イントラコード化モードまたはインターコード化モードはCUレベルで割り当てられ、
図15を参照されたい。
【0025】
新たに出現したビデオ圧縮ツールは、圧縮ドメインにおいてより柔軟な方法でピクチャデータを表現するために、圧縮ドメインにおいてコード化木単位表現を含むことが提案される。このコード化木のより柔軟な表現の利点は、HEVC規格のCU/PU/TU配置と比較して増加された圧縮効率を提供することである。
【0026】
四分木プラス二分木(QTBT)コード化ツールは、この増加された柔軟性を提供する。これは、コード化単位を四分木方式および二分木方式の両方で分割することができるコード化木で構成されている。コード化木単位のこのようなコード化木表現が、
図16に示されている。
【0027】
コード化単位の分割は、レート歪み最適化手順によってエンコーダ側で決定され、これは、最小のレート歪みコストでCTUのQTBT表現を決定することからなる。
【0028】
QTBTテクノロジでは、CUの形状は、正方形または長方形である。コード化単位のサイズは、常に2の累乗であり、通常は、4~128である。
【0029】
コード化単位のこの様々な長方形の形状に加えて、この新しいCTU表現は、HEVCと比較して以下の異なる特性を有する。
【0030】
CTUのQTBT分解は2つの段階で構成され、最初にCTUは四分木方式で分割され、その後、各四分木のリーフは二分木方式でさらに分割することができる。これは、
図16の右側に示されており、実線は四分木分解フェーズを表し、破線は四分木のリーフに空間的に埋め込まれたバイナリ分解を表す。
【0031】
本明細書に記載されている一般的な態様は、ビデオ圧縮の分野である。ビデオコーデックは、複数のコード化ツールの組み合わせで構成される。一般的な方法は、デコーダ側(構文および復号プロセス)を標準化することである。
【0032】
寄稿JVET-L0044「AHG15:Proposed interoperability point syntax」およびJVET-L0696「Proposed starting point for interoperability point syntax」は、VVCデコーダのコード化ツールのアクティブ化の制御を目的とした(SPS内またはprofile_tier_level部分内の)いくつかの高レベル構文要素を指定する。この信号通知メカニズムの目標は、例えば、DVB、ATSC、3GPPなど、MPEGまたはITU以外の当事者によって定義されたビットストリーム相互運用性ポイントを可能にすることである。構文の一例は表1に提案され、ビットストリーム全体において違反してはいけない特性を示すためにSPSの先頭に挿入される。JVETでは、VVC仕様に追加される大部分のコード化ツールについてこの表を拡張することが計画されている。原則として、これらのフラグに基づいてプロファイルまたはサブプロファイルを指定することはJVETの責任ではない。JVETは、ツール、および制約フラグ/パラメータとツールの関係のみを定義する。
【表1】
【0033】
制約フラグがSPS(または同様の)構文構造で設定されている場合は、デコーダはツールがビットストリームで使用されないと安全に想定できる。制約フラグが1に設定されている場合は、ツールは関連するビットストリームの中でアクティブ化され得る。
【0034】
同様の信号通知メカニズムを指定するためのいくつかの貢献も提案されており、特に、初期の高レベルツール信号通知の概念を提供するJVET-K0311、カテゴリごとにツールをグループ化するJVET-L0042、階層的信号通知を提案するJVET-L0043(JVETでは、解析するには複雑すぎる可能性があると考えられている)がある。
【0035】
コーデックは多くのコード化ツールを備えているため、これは膨大な数の可能なツールの組み合わせをもたらし、現在の設計では、ツールのインタラクションの影響は考慮されていない。また、場合によっては、ツールを非アクティブ化するだけでは機能しないことがある。一部のツールではフォールバックモードが必要となる。本発明は、可能なツールのアクティブ化/非アクティブ化を構文レベルまたはセマンティックレベルのいずれかで制限するプロセスを挿入することによって、この問題に対処することを目的としている。
【0036】
上記のように、コード化ツールを高レベルで細かく制御するためにJVETが採用しているアプローチは、膨大な数のツールの組み合わせにつながり、それらの中にはコード化効率または実装性の点で実用的でないものもある。
【0037】
現在、提案されている構文には、高レベルでのツールの組み合わせの制限は存在しない。従来技術で提供される主なソリューションは、前の段落で考察されているが(寄稿JVET-L0042およびJVET-L0043)、JVETではまだ検討されていない。
【0038】
説明される態様では、一部のツールを組み合わせる一方で、他のツールを非アクティブ化したときに発生し得るインタラクションの問題を考慮して、構文変更またはセマンティクス変更を挿入してツール組み合わせ制限を指定することを提案している。
【0039】
表2に、VTM3に含まれているツールと、調査中のいくつかの追加ツールのリストを示すが、これらのツールは、後でVTMに追加することができる。これらはカテゴリによって分類される。ツールの概算PSNR-YBDレート性能が提供される。負の数(-x)は、x%の平均ビットレート節約を示す。他のツールとの相互依存性も示されている。
【0040】
いくつかのSPSをビットストリームで信号通知することができる。これらは、シーケンスまたはスケーラビリティレベルでツールを制御するためのフラグを含み得る。
【0041】
SPSに加えて、構文の低レベルの追加パラメータセット(PPS、スライスヘッダ、タイルグループヘッダ、タイルヘッダなど)を指定することができる。これらは、シーケンスレベルよりも低いレベルでツールを制御するための追加のフラグを含み得る。
以下では、最高(SPS)レベルで定義された構文要素は、プレフィックスとして「hl_」を使用する。プレフィックス「ll_」が使用される場合は、これは、ツールをよりローカルに制御するために、構文要素がSPSよりも低いレベルにあることを示す。
【表2-1】
【表2-2】
【0042】
ツールの分析から、以下の特性が観察される。
-ケース1-いくつかのツールは、同一概念設計に基づいており、それらを一緒に制御することにつながる。
-ケース2-いくつかのツールは、性能の観点からまたは技術的依存性の観点から、他のツールに条件付けられており、これにより、条件付けされたツールの制御に基づいてそれらを制御することにつながる。
-ケース3-いくつかは、相互に排他的であり、一緒にアクティブ化することはできない。
本文献の残りの部分では、以下の定義が使用される。
-検討対象のツール-これは、提案されたプロセスによって制御されるツールのセットに関連している。
-メインツールと依存ツール-検討対象のツールがケース2カテゴリにある場合は、それらはメインツールおよび依存ツールの2つのセットに分割され、依存ツールのアクティブ化/非アクティブ化は、メインツールのアクティブ化/非アクティブ化に依存する。
-排他的ツール-検討対象のツールが相互に排他的である場合(ケース3)、それらは「排他的ツールセット1」および「排他的ツールセット2」にグループ化され、セット1のツールがアクティブ化されると、セット2のツールが非アクティブ化にされ、その逆も同様である。
これらの3つのケースをカバーする、復号プロセスの一般的なブロック図が
図3に提供されている。簡略化のために、2つのツールが扱われているものとする。この概念は、3つ以上のツールに拡張することができる。ブロック図は、検討対象のツールのタイプに応じて、基本的に3つの分岐で構成され、ステップ901および902でチェックされる。
【0043】
ケース1に対応する分岐は、2つの主要なステップで構成されている。
-ステップ903では、少なくとも1つの高レベル構文要素HL_SEがビットストリームから復号される。
-ステップ904では、HL_SEの値に応じて、検討対象のツールを制御する低レベル構文要素は、
〇所与の値に推論され、通常、検討対象のツールのすべてが非アクティブ化(代替的にアクティブ化)されるか、
〇または、ビットストリームから復号される(検討対象のツールそれぞれを独立して制御することを可能にする)。
【0044】
ケース3に対応する分岐は、4つの主要なステップで構成されている。
-ステップ905では、排他的ツール1および2の制御に関連する少なくとも2つの高レベル構文要素HL_SE1およびHL_SE2がビットストリームから復号される。
-ステップ906では、HL_SE1の値に応じて、排他的ツール1を制御する少なくとも1つの低レベル構文要素LL_SE1は、
〇ビットストリームから復号されるか、
〇または、所与の値に推論され、通常、排他的ツール1が非アクティブ化される。
-ステップ907では、HL_SE2およびLL_SE1の値に応じて、排他的ツール2を制御する少なくとも1つの低レベル構文要素LL_SE2は、
〇ビットストリームから復号されるか、
〇または、所与の値に推論され、通常、排他的ツール2が非アクティブ化される。
【0045】
ステップ907は、以下のようになる。
〇1)排他的ツール1が(LL_SE1から)有効にされると、LL_SE2値は、排他的ツール2を無効にすることになり、
〇2)排他的ツール1が(LL_SE1から)無効にされると、排他的ツール2を有効にすることができる。
【0046】
ケース2に対応する分岐は、4つの主要なステップで構成されている。
-ステップ908では、少なくとも1つの高レベル構文要素HL_SE_mainがビットストリームから復号される。
-ステップ909では、HL_SE_mainの値に応じて、依存ツールを制御する少なくとも1つの高レベル構文要素HL_SE_dependentは、
〇ビットストリームから復号されるか、
〇または、所与の値に推論され、通常、依存ツールが非アクティブ化される。
【0047】
ステップ909では、HL_SE_main値がメインツールを無効にする結果となる場合は、HL_SE_dependent値が依存ツールを無効にする結果となる。
-ステップ910では、HL_SE_mainの値に応じて、メインツールを制御する少なくとも1つの低レベル構文要素LL_SE_mainは、
〇ビットストリームから復号されるか、
〇または、所与の値に推論され、通常、メインツールが非アクティブ化される。
-ステップ911では、HL_SE_dependentおよびLL_SE_mainの値に応じて、依存ツールを制御する少なくとも1つの低レベル構文要素LL_SE_dependentは、
〇ビットストリームから復号されるか、
〇または、所与の値に推論され、通常、依存ツールが非アクティブ化される。
【0048】
ステップ911では、HL_SE_dependentが依存ツールを無効にする結果となる場合、またはLL_SE_mainがメインツールを無効にする結果となる場合は、LL_SE_dependentは依存ツールを無効にする結果となる。
【0049】
最後のステップ912では、前のステップから導出された低構文要素によって制御されるツールのアクティブ化/非アクティブ化を伴う、デコーダプロセスの適用に対応する。
【0050】
以下のセクションは、検討対象のツールの様々なケースの実施形態に対応する。
【0051】
ケース1の一般的なソリューション(同一概念設計に基づくツール)
ケース1のソリューションは、いくつかのツールを制御する高レベル構文要素を定義することである。これらのツールのアクティブ化/非アクティブ化に関連する追加の低レベル構文要素も定義される。高レベル構文要素の値に応じて、追加の低レベル構文要素は、所与の事前定義された値に設定されるか、またはビットストリームから読み出されるかのいずれかである。次いで、対応する低レベル構文要素の値に応じた、これらのツールのアクティブ化または非アクティブ化を伴う、復号プロセスが実行される。
【0052】
このプロセスは以下のように要約される(
図4にも示されている)。
-ビットストリームから1つの高レベル構文要素high_level_SEを復号する(1001)。
-high_level_SEが所与の値V1に等しい場合は(1002)、
〇high_level_SEの値に基づいて、ツールのアクティブ化/非アクティブ化に関連する低レベル構文要素(low_level_SE)を推論し(1003)、
-そうでない場合は(1002)、
〇ビットストリームlow_level_SEから復号する(1004)。
-低レベル構文要素low_level_SEの値に応じた、ツールのアクティブ化/非アクティブ化を伴う、復号プロセスを適用する(1005)。
【0053】
ケース2の一般的なソリューション(他のツールに依存するツール)
ケース2のソリューションは、一部のツール(それらを依存ツールと呼ぶ)のアクティブ化が、他のツール(それらをメインツールと呼ぶ)のアクティブ化によって条件付けられ得ることを伴う。
【0054】
ケース1と同様に、ツールは、メインツールおよび依存ツールの両方のアクティブ化を制御する単一の高レベルフラグによって制御することができる。次いで、依存ツールの低レベル構文要素は、メインツールを制御する低レベル構文要素の値によって条件付けられる。
【0055】
このプロセスは以下のように要約される(
図5にも示される)。
-ビットストリームから1つの高レベル構文要素high_level_SEを復号する(1101)。
-high_level_SEが所与の値V1に等しい場合は(1102)、
〇high_level_SEの値に応じて、メインツールおよび依存ツールのアクティブ化/非アクティブ化に関連する低レベル構文要素(low_level_main_SEおよびlow_level_dependent_SE)を推論する(1103)。
-そうでない場合は(1102)、
〇メインツールのアクティブ化/非アクティブ化に関連するビットストリームの低レベル構文要素(low_level_main_SE)から復号し(1104)、
〇low_level_main_SEが所与の値V2に等しい場合は(1105)、
●メインツールのアクティブ化/非アクティブ化に関連する低レベル構文要素low_level_main_SEの場合は、値に応じて、依存ツールのアクティブ化/非アクティブ化に関連する低レベル構文要素(low_level_dependent_SE)を推論し(1106)、
〇そうでない場合は(1105)、
●依存ツールのアクティブ化/非アクティブ化に関連するビットストリームの低レベル構文要素(low_level_dependent_SE)から復号する(1107)。
-低レベル構文要素(low_level_main_SEおよびlow_level_dependent_SE)の値に応じた、ツールのアクティブ化/非アクティブ化を伴う、復号プロセスを適用する(1108)。
【0056】
代替的に、少なくとも2つの高レベルフラグが使用され、一方は、メインツールのアクティブ化を制御し、他方は、依存ツールのアクティブ化を制御し、この2つ目は、1つ目のフラグの値によって条件付けられる。
【0057】
このプロセスは以下のように要約される(
図6にも示される)。
-ビットストリームから、メインツールのアクティブ化/非アクティブ化に関連する1つの高レベル構文要素を復号する(1201)。
-メインツールのアクティブ化/非アクティブ化に関連する高レベル構文要素が所与の値V1を有する場合は(1202)、
〇メインツールのアクティブ化/非アクティブ化に関連する高レベル構文要素の値に応じて、依存ツールの アクティブ化/非アクティブ化に関連する高レベル構文要素を推論する(1203)。
-そうでない場合は(1202)、
〇ビットストリームから、依存ツールのアクティブ化/非アクティブ化に関連する高レベル構文要素を復号する(1204)。
-メインツールまたは依存ツールの場合は(1205)、以下を適用する。
〇高レベル構文要素が所与の値V3を有する場合は(メインツールと依存ツールでは異なり得る)(1206)、
●高レベル構文要素の値に応じて、ツールのアクティブ化/非アクティブ化に関連する低レベル構文要素を推論し(1207)、
〇そうでない場合は(1206)、
●ビットストリームから、ツールのアクティブ化/非アクティブ化に関連する低レベル構文要素を復号する(1208)。
-低レベル構文要素の値に応じた、ツールのアクティブ化/非アクティブ化を伴う、復号プロセスを適用する(1209)。
【0058】
ケース3の一般的なソリューション(相互に排他的なツール)
ケース3のソリューションは、1つの第1のツールまたは1つの第1のツールセットを制御する少なくとも1つの高レベル構文要素、および、第1のツールまたは第1のツールセットと相互に排他的な1つの第2のツールまたは1つの第2のツールセットを制御するパラメータを定義することである。
このプロセスは以下のように要約される(
図7にも示される)。
-ビットストリームから、1つの第1のツールセットおよび1つの第2のツールセットに関連する2つの高レベル構文要素high_level_SE1およびhigh_level_SE2を復号する(1301)。
-high_level_SE1が所与の値V1に等しい場合は(1302)、
〇high_level_SE1の値に基づいて、ツールのアクティブ化/非アクティブ化の第1のセットに関連する低レベル構文要素(low_level_SE1)を推論する(1303)。
-そうでない場合は(1302)、
〇ビットストリームから、low_level_SE1を復号する(1304)。
-high_level_SE2が所与の値V2に等しく、low_level_SE1が所与の値V3に等しい場合は(1305)、
〇highLevelParam2の値に基づいて、ツールのアクティブ化/非アクティブ化の第2のセットに関連する低レベル構文要素(low_level_SE2)を推論する(1306)。
-そうでない場合は(1305)、
〇ビットストリームから、low_level_SE2sを復号する(1307)。
-低レベル構文要素low_level_SE1およびlow_level_SE2の値に応じた、ツールのアクティブ化/非アクティブ化を伴う、復号プロセスを適用する(1308)。
【0059】
有利なことに、本発明は、ツールの可能な組み合わせの数を制限することによって、エンコーダおよびデコーダの複雑さを低減することを可能にする。また、複雑さの問題が追加されることおよびツールの非互換性のケースが追加されることを伴うツールの組み合わせをサポートする必要性による実装問題のリスクを低減することを可能にする。最終的に、相互運用性の問題が低減され、この相互運用性の問題は、考えられるツールの組み合わせが多すぎるために発生する可能性がある。
【0060】
これらの様々なケースについて、表2に列挙されたツールに固有の実施形態が提供される(ケースは、実施形態のタイトルの括弧内に示される)。
【0061】
実施形態1-分割制限の連携制御(ケース1)
主な実施形態
一実施形態では、所与の制限(通常は64)よりも大きい垂直方向または水平方向の寸法の少なくとも1つを有するCTUまたはCUの分割(またはコード化構造)に関連する複数分割制限は、高レベルパラメータセット(例えば、SPS)に挿入された1つの単一の高レベル構文要素(例えば、hl_picture_partitioning_retrictions_flag)によって制御される。
【表3】
【0062】
さらに、高レベルパラメータセット(例えば、PPS、スライスヘッダ、タイルグループヘッダ、タイルヘッダ)よりも低レベルのパラメータセットには、特定の分割制限に関連する構文要素が挿入される。
【0063】
一実施例として、特定の分割制限は、表2で記載されている以下のツールであり得る。C_TT64、C_QT128、C_BTは、それぞれ以下の低レベルフラグ、ll_split_tt128_restriction_flag、ll_split_qt128_restriction_flag、ll_split_bt128_restriction_flagによって制御される。
【0064】
一実施例として、以下の特定の構文要素がタイルグループヘッダに挿入される。
【表4】
【0065】
復号プロセスの簡略化されたブロック図が
図8に示されている。ステップ301では、高レベル分割制限フラグhl_picture_partitioning_retrictions_flagがビットストリームから復号される。その値はステップ302においてチェックされる。hl_picture_partitioning_retrictions_flagがtrueの場合は、特定の分割制限に関連する特定の低レベル構文要素がtrueに設定される(ステップ303)。フラグがfalseである場合は、特定の分割制限に関連する特定の低レベル構文要素はステップ304において復号される。ステップ305において、ステップ303で設定されるか、またはステップ304で復号される低レベル構文要素によって制御される特定の分割制限を用いて、CTUまたはCUの復号プロセスが適用される。
【0066】
対応するセマンティクスの1つの例は次のようである。
hl_picture_partitioning_retrictions_flagが1の場合は、構文要素ll_split_tt128_restriction_flag、ll_split_qt128_restriction_flag、およびll_split_bt128_restriction_flagがCVSのピクチャのタイルグループヘッダに存在しないことを指定する。hl_picture_partitioning_retrictions_flagが0の場合は、構文要素ll_split_tt128_restriction_flag、ll_split_qt128_restriction_flag、およびll_split_bt128_restriction_flagがCVSのピクチャのタイルグループヘッダに存在することを指定する。
【0067】
ll_split_tt128_restriction_flagが1の場合は、CUサイズが64x64より大きい場合に三分木分割が無効になることを指定する。ll_split_tt128_restriction_flagが0の場合は、CUサイズが64x64より大きい場合に三分木分割が有効になることを指定する。ll_split_tt128_restriction_flagが存在しない場合は、1に設定される。
【0068】
ll_split_qt128_restriction_flagが1の場合は、サイズ128x128のCUがサイズ64x64の4つのCUに強制的に分割されることを指定する。ll_split_qt128_restriction_flagが0の場合は、サイズ128x128のCUがサイズ64x64の4つのCUに強制的に分割されないことを指定する。ll_split_qt128_restriction_flagが存在しない場合は、1に設定される。
【0069】
ll_split_bt128_restriction_flagが1の場合は、サイズ64x128のCUがサイズ64x64の2つのCUに強制的に分割されることを指定する。ll_split_bt128_restriction_flagが0の場合は、サイズ64x128のCUがサイズ64x64の2つのCUに強制的に分割されないことを指定する。ll_split_bt128_restriction_flagが存在しない場合は、1に設定される。
【0070】
代替案1
上記のソリューションでは、hl_picture_partitioning_retrictions_flagがtrueである場合は、特定の分割制限フラグもtrueに設定されることを伴うため、分割制限の高レベル制御は制限のアクティブ化に有利である。
【0071】
以下の実施形態では、アプローチは逆になっている。hl_picture_partitioning_retrictions_flagがfalseである場合は、特定の分割制限フラグもfalseに設定される。そうでない場合は、これらの特定の分割制限フラグはビットストリームから読み出される。これは
図9に示されており、グローバルフラグhl_picture_partitioning_retrictions_flagの値に関する条件が上記の実施形態と比較して逆になっている。ステップ302aでは、hl_picture_partitoning_restristiong_flagがfalseであるかどうかをチェックする。この条件がtrueである場合は、ステップ303aにおいて、特定の分割制限に関連する特定の低レベル構文要素がfalseに設定される。他のステップは、前の実施形態と同一である。
【0072】
実施形態2
一実施形態では、以下に説明するように、複数の高レベル分割制限フラグ(N)が構文に存在し、セマンティクスはそれらを順次制御することを可能にする。この実施例では、フラグを総称して「hl_picture_partitioning_restrictionk_flag」とし、kは整数値である。また、低レベルのフラグは、構文の下位レベル、例えば、「ll_picture_partitioning_restrictionk_kk_flag」という名称のタイルグループヘッダに追加的に挿入され、kkは整数値である。所与の制限kについて、高レベルフラグ「hl_picture_partitioning_restrictionk_flag」はフラグ「ll_picture_partitioning_restrictionk_kk_flag」によって制御されるMk個の低レベル制限を制御し、kkは1~Mkである。
【表5】
【0073】
対応するセマンティクスの一実施例は次のようである。
hl_picture_partitioning_restrictionk_flagが1の場合は、構文要素ll_picture_partitioning_restrictionka_flag、ll_piCTUre_partitioning_restrictionkb_flagがCVSのピクチャのタイルグループヘッダに存在しないことを指定する。hl_picture_partitioning_restriction1_flagが0の場合は、構文要素ll_picture_partitioning_restriction1a_flag、ll_picture_partitioning_restriction1b_flagがCVSのピクチャのタイルグループヘッダに存在することを指定する。
【0074】
この実施例では、同一セマンティクスが、1からNまでの任意のkのhl_picture_partitioning_restrictionk_flagに適用される。
【0075】
ll_picture_partitioning_restrictionkx_flagが1の場合は、ピクチャ分割制限kxが有効であることを指定する。ll_picture_partitioning_restrictionkx_flagが0の場合は、ピクチャ分割制限kxが無効であることを指定する。ll_picture_partitioning_restrictionkx_flagが存在しない場合は、1に設定される。
【0076】
この実施例では、同一セマンティクスが、1からMkまでの任意のkkのll_picture_partitioning_restrictionkx_flagに適用される。
【0077】
これは、より具体的には、表2において、C_TT64、C_QT128、C_BTとして識別されている分割制限に関連し得る。
【0078】
実施形態3-分割に関連する他のツールの連携制御(ケース1)
同一アプローチを、表2に記載される以下の分割関連ツールに関連するツール、C_PR、C_FBPに適用することができる。
【0079】
詳細な構文およびセマンティクスは、上記のように行うことができる。
【0080】
実施形態4-多仮説予測ツールの制御(ケース1)
主な実施形態
一実施形態では、多仮説予測に基づくインター予測ツールは、高レベルパラメータセット(例えば、SPS)に挿入された1つの高レベル単一構文要素(例えば、hl_multi_hypothesis_enable_flag)によって制御される。本文献では、多仮説予測ツールは、いくつかの予測から得られたサンプルを空間的に変化する重みで重み付け混合することを含む。
【表6】
【0081】
さらに、高レベルパラメータセット(例えば、PPS、スライスヘッダ、タイルグループヘッダ、タイルヘッダ)よりも低レベルのパラメータセットには、特定の多仮説予測ツールに関連する構文要素が挿入される。
【0082】
一実施例として、特定の多仮説予測ツールは、表2に記載されている次のツール、R_GBI、R_TRI、R_MHであり得、それぞれ以下の低レベルフラグ、ll_generalized_bipred_enable_flag、ll_triangular_partition_enable_flag、ll_multi_hypothesis_intra_inter_enable_flagによって制御される。さらに、R_OBMCをこのツールのセットに含めることもでき、特定のフラグ、例えば、ll_obmc_enable_flagによって制御され得る。
【0083】
一実施例として、以下の特定の構文要素をタイルグループヘッダに挿入することができる。
【表7】
【0084】
復号プロセスの簡略化されたブロック図が
図10に示されている。ステップ401では、フラグhl_multi_hypothesis_enable_flagがビットストリームから復号される。その値はステップ402においてチェックされる。フラグがtrueである場合は、特定の多仮説予測ツールに関連する特定の構文要素がtrueに設定される(ステップ403)。hl_multi_hypothesis_enable_flagがtrueの場合は、特定の多仮説予測ツールに関連する特定の低レベル構文要素がステップ404で復号される。ステップ405において、ステップ403で設定されるか、またはステップ404で復号される低レベル構文要素によって制御される特定の多仮説予測ツールを用いて、CTUまたはCUの復号プロセスが適用される。
【0085】
対応するセマンティクスの1つの実施例は次のようである。
hl_multi_hypothesis_enable_flagが1の場合は、構文要素ll_generalized_bipred_enable_flag、ll_triangular_partition_enable_flag、ll_multi_hypothesis_intra_inter_enable_flag、ll_obmc_enable_flagがCVSのピクチャのタイルグループヘッダに存在することを指定する。hl_multi_hypothesis_enable_flagが0の場合は、構文要素ll_generalized_bipred_enable_flag、ll_triangular_partition_enable_flag、ll_multi_hypothesis_intra_inter_enable_flag、ll_obmc_enable_flagがCVSのピクチャのタイルグループヘッダに存在しないことを指定する。
【0086】
ll_generalized_bipred_enable_flagが1の場合は、一般化された二重予測モードが有効であることを指定する。ll_generalized_bipred_enable_flagが0の場合は、一般化された二重予測モードが無効であることを指定する。ll_generalized_bipred_enable_flagが存在しない場合は、0に設定される。
同等のセマンティクスが、構文要素ll_triangular_partition_enable_flag、ll_multi_hypothesis_intra_inter_enable_flag、ll_obmc_enable_flagに適用される。
【0087】
代替案
前のセクションと同様に、代替的ソリューションでは、複数の高レベル多仮説予測を有効にするフラグが構文に存在し、セマンティクスはそれらを一緒に制御することを可能にする。
詳細な構文およびセマンティクスは、前のセクションと同様に行うことができる。
【0088】
実施形態5-MTSのイントラおよびインターの制御(ケース2)
一実施形態では、1つまたは2つのフラグが高レベルで挿入されて、MTS(複数変換セット)のアクティブ化を制御する。これは、表2に記載されている次のツール、T_MTS_intra、T_MTS_interに関連している。場合によって、T_STも同一メカニズムで制御され得る。
【0089】
ソリューション1
第1の実施例では、以下の表に示すように、1つの単一の高レベルフラグhl_mts_enable_flagが追加される。
【表8】
【0090】
フラグhl_mts_enable_flagの値に応じて、以下の表に示すように、スライス、タイルグループ、タイルなどのイントラ領域またはインター領域のMTSアクティブ化を制御するために、1つまたは2つの追加フラグが低レベルに挿入される。
【表9】
【0091】
復号プロセスは、多仮説予測ツールの制御について説明したプロセスと概念的に類似している。
【0092】
対応するセマンティクスが提案される。
【0093】
hl_mts_enable_flagが1の場合は、構文要素ll_mts_intra_enable_flagおよびll_mts_inter_enable_flagがCVSのピクチャのタイルグループヘッダに存在することを指定する。hl_mts_enable_flagが0の場合は、構文要素ll_mts_intra_enable_flagおよびll_mts_inter_enable_flagがCVSのピクチャのタイルグループヘッダに存在しないことを指定する。
【0094】
ll_mts_intra_enable_flagが1の場合は、イントラモードでコード化されたCUに対して複数変換セットモードが有効であることを指定する。ll_mts_intra_enable_flagが0の場合は、イントラモードでコード化されたCUに対して複数変換セットモードが無効であることを指定する。ll_mts_intra_enable_flagが存在しない場合は、0に設定される。
【0095】
ll_mts_inter_enable_flagが1の場合は、インターモードでコード化されたCUに対して複数変換セットモードが有効であることを指定する。ll_mts_inter_enable_flagが0の場合は、インターモードでコード化されたCUに対して複数変換セットモードが無効であることを指定する。ll_mts_inter_enable_flagが存在しない場合は、0に設定される。
【0096】
ソリューション2
第2の実施例は、第1の実施例に基づいている。さらに、インターのMTSアクティブ化を制御する低レベルフラグは、イントラのMTSのアクティブ化に条件付けられる。これは以下のように表現され得る。
【表10】
【0097】
代替的に、以下の表に示すように、2つの高レベルフラグによって同様の動作を実現することができる。
【表11】
【0098】
対応するセマンティクスの1つの実施例は以下のようである。
【0099】
hl_mts_intra_enable_flagが1の場合は、構文要素ll_mts_intra_enable_flagがCVSのピクチャのタイルグループヘッダに存在することを指定する。hl_mts_intra_enable_flagが0の場合は、構文要素ll_mts_intra_enable_flagがCVSのピクチャのタイルグループヘッダに存在しないことを指定する。
【0100】
hl_mts_inter_enable_flagが1の場合は、構文要素ll_mts_inter_enable_flagがCVSの画像のタイルグループヘッダに存在することを指定する。hl_mts_inter_enable_flagが0の場合は、構文要素ll_mts_inter_enable_flagがCVSの画像のタイルグループヘッダに存在しないことを指定する。hl_mts_inter_enable_flagが存在しない場合は、0に設定される。
【0101】
ll_mts_intra_enable_flagが1の場合は、イントラモードでコード化されたCUに対して複数変換セットモードが有効であることを指定する。ll_mts_intra_enable_flagが0の場合は、イントラモードでコード化されたCUに対して複数変換セットモードが無効であることを指定する。ll_mts_intra_enable_flagが存在しない場合は、0に設定される。
【0102】
ll_mts_inter_enable_flagが1の場合は、インターモードでコード化されたCUに対して複数変換セットモードが有効であることを指定する。ll_mts_inter_enable_flagが0の場合は、インターモードでコード化されたCUに対して複数変換セットモードが無効であることを指定する。ll_mts_inter_enable_flagが存在しない場合は、0に設定される。
【0103】
対応する復号プロセスのブロック図が
図12に示されている。
【0104】
MTSアクティブ化に依存する二次変換アクティブ化
一実施形態では、二次変換モード(T_ST)のアクティブ化は、MTSモードのアクティブ化によって条件付けられる。これは以下のように表現され得る。
【表12】
【0105】
同様に、再帰変換木モード(T_RTT)のアクティブ化は、MTSモードのアクティブ化によって条件付けられる。
【0106】
実施形態6-A_CCLMアクティブ化に基づくA_MDLMの制御(ケース2)
一実施形態では、MTSのケースについて説明されたメカニズムは、表2に記載されたツールA_CCLMおよびA_MDLMのケースに適用され、A_MDLMのアクティブ化/非アクティブ化は、A_CCLMのアクティブ化/非アクティブ化に条件付けられる。
詳細な構文およびセマンティクスは、上記のように行うことができる。
【0107】
実施形態7-ATMVPアクティブ化に基づくATMVPの制御(ケース2)
一実施形態では、MTSのケースについて説明されたメカニズムは、表2に記載されたツールR_TMVPおよびR_ATMVPのケースに適用され、R_ATMVPのアクティブ化/非アクティブ化は、R_TMVPのアクティブ化/非アクティブ化に条件付けられる。詳細な構文およびセマンティクスは、上記のように行うことができる。
【0108】
実施形態8-高精度MVコード化アクティブ化に基づくインターツールの制御(ケ ース2)
一実施形態では、R_AFFのアクティブ化/非アクティブ化は、R_HPMVのアクティブ化/非アクティブ化に条件付けられ、実装形態は、MTSのケースについて説明されたものと同様である。
【0109】
詳細な構文およびセマンティクスは、上記のように行うことができる。
【0110】
別の実施形態では、R_MMVD、R_DMVRのアクティブ化/非アクティブ化は、R_HPMVのアクティブ化/非アクティブ化に条件付けられ、実装形態は、MTSのケースについて説明されたものと同様である。
【0111】
詳細な構文およびセマンティクスは、上記のように行うことができる。
【0112】
別の実施形態では、R_PAMCのアクティブ化/非アクティブ化は、R_HPMVのアクティブ化/非アクティブ化に条件付けられ、実装形態は、MTSのケースについて説明されたものと同様である。詳細な構文およびセマンティクスは、上記のように行うことができる。
【0113】
実施形態9-別個のルマ/クロマ木のアクティブ化に対するパレットモードおよび 現在のピクチャ参
照の依存性(ケース2)
パレットモードは、別個のルマ/クロマ木の使用をアクティブ化することで大きなメリットが得られることが分かっている。
【0114】
一実施形態では、A_PMおよびA_CPRのアクティブ化/非アクティブ化は、C_CSTのアクティブ化/非アクティブ化に条件付けられ、実装形態は、MTSのケースについて説明されたものと同様である。詳細な構文およびセマンティクスは、上記のように行うことができる。
【0115】
実施形態10-依存量子化および符号データ隠蔽ツールの相互制御(ケース3)
ツールに依存する量子化(Q_DQ)と符号データ隠蔽(C_SDH)を一緒に機能させることが困難であることが分かっている。
【0116】
一実施形態では、Q_DQおよびC_SDHの高レベル構文制御は、これらの2つのツールの相互使用を回避するように設計されている。
【0117】
以下の表に示すように、2つの高レベルフラグhl_dependent_quant_enable_flagおよびhl_sign_data_hiding_flagが追加される。
【表13】
【0118】
次いで、2つのツールに関連する低レベルのアクティブ化構文要素が、hl_dependent_quant_enable_flagおよびhl_sign_data_hiding_flagの値に基づいて設定される。ただし、一方の所与のツールを制御するフラグの1つは、他方のツールが非アクティブ化されていることを他のフラグが示す場合にのみ読み出される。これは以下の表に示される。
【表14】
【0119】
対応するセマンティクスの1つの例は以下のようである。
【0120】
hl_dependent_quant_enable_flagが1の場合は、構文要素ll_dependent_quant_enable_flagがCVSのピクチャのタイルグループヘッダに存在することを指定する。hl_dependent_quant_enable_flagが0の場合は、構文要素ll_dependent_quant_enable_flagがCVSのピクチャのタイルグループヘッダに存在しないことを指定する。
【0121】
同様のセマンティクスがhl_sign_data_hiding_flagに使用される。
【0122】
ll_dependent_quant_enable_flagが1の場合は、依存量子化モードが有効であることを指定する。ll_dependent_quant_enable_flagが0の場合は、依存量子化モードが無効であることを指定する。ll_dependent_quant_enable_flagが存在しない場合は、0に設定される。
【0123】
ll_sign_data_hiding_enable_flagが1の場合は、符号データ隠蔽モードが有効であることを指定する。ll_sign_data_hiding_enable_flagが0の場合は、符号データ隠蔽モードが無効であることを指定する。ll_sign_data_hiding_enable_flagが存在しない場合は、0に設定される。
【0124】
復号プロセスの簡略化されたブロック図が
図13に示されている。
【0125】
実施形態11-別個のルマ/クロマ木およびクロスコンポーネント線形モデル/多 方向LMツールの
相互制御(ケース3)
一実施形態では、C_CST、A_CCLM、およびA_DMLMの高レベル構文制御は、C_CSTのアクティブ化がA_CCLMおよびA_DMLMの非アクティブ化を必要とし、逆に、C_CSTの非アクティブ化がA_CCLMおよびA_DMLMのアクティブ化を必要とするようなものである。
上記のサブセクションで説明したものと同様の設計を使用することができる。
詳細な構文およびセマンティクスは、上記のように行うことができる。
【0126】
ツール分類の要約
このセクションでは、検討対象の3つのケース間のツール分類を要約する。
●ケース1
〇 C_TT64、C_QT128、C_BTは、分割VPDUに対応するために、分割制約に関連する1つの単一フラグにグループ化することができる。
〇 C_PRおよびC_FBPは、分割制御に関連するツールとしてグループ化することができる。
〇 R_GBI、R_TRI、R_MHは、2つの予測から得られたサンプルに重み付けすることによる、同一の多仮説概念に基づくツールとしてグループ化することができ、論理的には、一緒にアクティブ化/非アクティブ化されるべきである。R_OBMCは、サンプルに重みを付けすることによる多仮説と同一セットにあると概念的に見なすこともできる。
●ケース2
〇 A_CCLMが非アクティブ化されることは、A_MDLMが非アクティブ化されることを意味する。
〇 R_TMVPが非アクティブ化されることは、R_ATMVPが非アクティブ化されることを意味する。
〇 T_MTS_intraが非アクティブ化されることは、T_MTS_interが非アクティブ化されることを意味する。
〇 T_RTTの性能がT_MTSに依存する可能性があるため、T_MTSが非アクティブ化されることは、T_RTTが非アクティブ化されることを意味する。
〇 R_HPMVが無効にされることが、R_AFF、R_MMVD、R_DMVR、R_PAMCのコード化効率に影響を与える可能性があるため、これが非アクティブ化されることは、R_AFF、R_MMVD、R_DMVR、R_PAMCの一部またはすべてのツールも非アクティブ化されることを意味する。
〇 C_CSTは、パレットモードが別個のルマ/クロマ木の多くの使用に役立つことから、画面コンテンツのA_PMに強い影響を与える可能性があるため、これが非アクティブ化されることは、A_PMも非アクティブ化されることを意味する。
〇 C_CSTが非アクティブ化されることは、A_CPRが非アクティブ化されることを意味する。
〇
●ケース3
〇 C_SDHがアクティブ化される場合は、Q_DQは非アクティブ化されるべきであり、逆もまた同様である。
〇 A_CCLMおよびA_MDLMがアクティブ化される場合は、C_CSTは非アクティブ化すされるべきであり、その逆も同様である。
【0127】
説明された態様および実施形態は、コード化ゲイン、すなわち、同一ビットレートに対する増加された品質、または同一品質に対する減少されたビットレートを提供することができる。また、ツールの組み合わせの可能性を制限することにより、コーデックの実装を大幅に容易にすることができる。これは、相互運用性にとって不可欠なポイントである。
【0128】
ツールの組み合わせの別の態様は、複数コンポーネントビデオの構文に関連する。VVCにおける新しいツールで生じる問題の1つは、これらのツールの一部が性能に悪影響を及ぼすように相互作用し得るか、または単に、複数コンポーネントピクチャの個々のコンポーネントに適用したときに連携するように適切に設計されていない場合があることである。一般的な例は、クロマ分離木が処理される方法である。一般的なアプローチでは、コード化されるピクチャは、ルマ成分(例えば、Y’)および2つのクロマ成分(通常はCb、Cr)または3つの成分(例えば、R、G、B)を含み得る。別個のCU木の場合は、ルマ成分および2つのクロマ成分は、独立してコード化される。このように別々にコード化された複数の成分を扱う場合は、成分間の可能な関係は定義されていない。
【表15】
【0129】
同一ビットストリーム内の独立した(別個の)コンポーネントをコード化する利点は、すべてのコンポーネントのGOP構造が同一であること、すなわち、参照フレーム、IDRフレームなどが同一であることである。別の利点は、並列化(コンポーネントレベルの符号化および復号パイプ)である。
【0130】
次に説明する一般的な態様は、マルチチャネル形式のコンポーネント間のツールのインタラクションを設定することを目的とする。
【0131】
コード化されたコンポーネント間の構文および動作は、コンポーネント間の依存関係を導入しているVVCで提案された候補ツールのために作成される必要がある。
【0132】
マルチチャネル形式が採用されている場合は、JVETでは、この問題はまだ対処されていない。マルチチャネル形式を使用しなくても、RGB形式または他の画像形式(画像+深度または補助ピクチャなど)でも同一問題に対処する必要があることに留意されたい。
【0133】
次に説明する一般的な態様は、チャネル間のツールのインタラクションを指定するプロセスを提供することを提案する。これは、構文の変更および/またはセマンティクスの変更の挿入のおかげで実行され得る。本発明は、コンポーネント間の関係に従って、いくつかの変形を説明する。
【0134】
検討対象のツールのリスト
表2に、VTM3に含まれるツールと、調査中のいくつかの追加ツールのリストを示すが、これらのツールは、後でVTMに追加することができる。これらは、カテゴリによって分類される。
【表16-1】
【表16-2】
【0135】
いくつかのSPSがビットストリーム内で信号通知され得る。これらは、シーケンスレベルでツールを制御するためのフラグを含み得る。
【0136】
SPSに加えて、構文内の低レベルの追加パラメータセット(PPS、スライスヘッダ、タイルグループヘッダ、タイルヘッダなど)を指定することができる。これらは、シーケンスレベルよりも低いレベルでツールを制御するための追加のフラグを含み得る。
【0137】
本発明の理解に役立ついくつかの用語および概念は次のとおりである。
コンポーネント:H.26x規格(例えば、HEVCの第3.37節、2018年2月バージョン)で定義されるものと同一定義
一次コンポーネント:二次コンポーネントが依存するコンポーネントである。通常、一次コンポーネントは、復号プロセス中に他のコンポーネントに依存しない。
【0138】
注1:一次コンポーネントは、エントロピーコード化(例えば、CABAC)に関して依存関係を有し得る。
注2:通常、一次コンポーネントは、ルマチャネルと2つのクロマチャネルで構成されるビデオ信号のルマ成分である。
二次コンポーネント:復号プロセス中に一次コンポーネントに依存するコンポーネントである。
【0139】
注3:通常、二次コンポーネントは、ルマおよび2つのクロマチャネルビデオ信号のクロマチャネルである。
【0140】
(非)別個のコンポーネント:復号プロセス中に(非)依存関係を有するコンポーネント。
【0141】
コンポーネントセット:非別個のコンポーネントのグループ。
【0142】
注4:コンポーネントセットは通常、非別個の一次コンポーネントおよび二次コンポーネントを含む。
【0143】
注5:2つのコンポーネントセットの一実施例は、Y’(一次コンポーネント)、Cb(二次コンポーネント)、Cr(二次コンポーネント)コンポーネントを含む第1のコンポーネントセット、および、マスク(一次コンポーネント)チャネルと深さ(二次コンポーネント)チャネルを含む第2のコンポーネントセットである。
【0144】
注6:コンポーネントは「色プレーン」と呼ばれる場合がある。
【0145】
実施形態12:別個のコンポーネントの場合の信号通知およびロジック
一実施形態では、コンポーネントは、別個のコンポーネントまたは非別個のコンポーネントとして信号通知される。構造sps_active_tools_setの解析のおかげで、別個または非別個のコンポーネントのコード化に関連するアクティブ化ツールの状態を記述する方法が適用される。
【0146】
説明した方法の利点の1つは、一部のコード化ツールが、所与のコンポーネントタイプに対して非効率的であることが分かっている場合に、非アクティブ化され得ることである(例えば、これはプロファイルに制約され得る)。構文の一実施例が次の表に提供されるが、構文の変更は灰色で強調表示されている。
【表17】
【0147】
設計により、非一次コンポーネントが別個のものとしてマークされていない場合は、それは二次コンポーネント(例えば、Y)である。一次コンポーネントおよび二次コンポーネントに対してアクティブ化されたツールセットは、上記のようにsps_active_tools_set()の最初の出現で示される。一般的な実施例は、「Y’CbCr+深さ」ビデオ信号であり、Y’、Cb、およびCr成分は非別個のコンポーネントであるが、深さ成分は別個のコンポーネントである。
【0148】
この実施形態による復号プロセスの簡略化されたブロック図が
図18に示されている。ステップ1001では、ツールのアクティブ化に関連する構文要素が復号される。これらは、少なくとも一次コンポーネントに適用される。ステップ1002では、残りのコンポーネント(iでインデックス付け、1より大きく、i=0は一次コンポーネントに対応する)に対するループが実行される。ステップ1003では、フラグseparate_cmp_flag[i]が復号される。フラグの値は、ステップ1004においてチェックされる。フラグがtrueである場合は、ステップ1005が適用される。ステップ1005では、コンポーネントiのツールアクティブ化に関連する構文要素の復号を実行する。フラグがfalseである場合は、ステップ1001において復号されたツールアクティブ化に関連する構文要素がコンポーネントiに適用される。最終ステップ1006は、復号された構文要素に基づいたツールのアクティブ化または非アクティブ化、および、場合によってはシーケンスレベルよりも低いレベルで追加の低レベル構文要素がツールを制御することを伴う、復号プロセスに対応する。
【表18】
【0149】
上記の表に示されている構文要素は、コンポーネントインデックスによってインデックス付けされ得ることに留意されたい。
【0150】
インターコンポーネントの依存関係を伴う特定のツールがあり、これは、少なくとも1つのコンポーネントの復号プロセスが、他のコンポーネントからのサンプルへのアクセスを伴うことを意味している。1つの実施例は、ルマサンプルからクロマサンプルを予測するために使用されるクロスコンポーネント線形モデル(CCLM)ツールである。
【0151】
実施形態13:関連コンポーネントの場合の信号通知およびロジック
一部のコンポーネントが非別個のものである場合は、ツールのアクティブ化/非アクティブ化を制御するための対応する高レベル構文要素(例えば、SPS、PPSなどに存在する)は、1つのセットにのみグループ化され得る。
【0152】
一次コンポーネントおよび二次コンポーネントは、復号プロセス中に依存関係を有する。例えば、
-インタースライスまたはインターCTUの場合、すべてのコンポーネントは非別個のものとして見なされる(例えば、動き補償はすべてのコンポーネントに対して同一段階中に信号通知され、行われる)。
【0153】
-イントラスライスの場合、C_CST(クロマ分離木)もしくは任意の他のインターコンポーネントツールが無効である場合は、コンポーネントは非別個のものと見なされ、またはC_CSTもしくは任意の他のインターコンポーネントツールが有効である場合(依然として、Y成分からUV成分への何らかの関係を伴う)は、コンポーネントは別個のものと見なされる。これは特に、同一場所に置かれたルマデータから得られたクロマデータの予測を使用するツールに当てはまる。
【0154】
これらの関係を説明するために、次の構文が提案されている。
【表19】
【0155】
値primary_cmp_id_plus1[i]が0である場合は、インデックスiのコンポーネントは一次コンポーネントと見なされる。デフォルトでは、最初のコンポーネント(インデックス0)が一次コンポーネントである。値が0でない場合は、この二次コンポーネントによって使用される一次コンポーネントを示す。コンポーネントのコード化ツールのアクティブ化状態を信号通知する構文要素は、sps_active_tools_set()に格納される。コンポーネント間の関係性に関連するツールは、必要に応じて、decode_inter_components_tools_flags(i)を使用して解析される。
【0156】
一般的な実施例は、YUV形式であり、YUV形式では、Yは一次成分であり、UVは二次成分である。
【0157】
number_of_components_group_minus[i]は、一次コンポーネントiが属するコンポーネントセット内のコンポーネントの数を指定する。関連するコンポーネントのグループが2つ以上のコンポーネントを有する場合は、インターコンポーネントツール関連フラグが復号される。
【0158】
例えば、4:2:0(非別個)YUV形式の場合は、検討対象の構文要素に対して次の値が取得される。
【表20】
【0159】
YUV+Depthを含むマルチチャネルビットストリームの値の別の実施例が以下に示される。
【表21】
【0160】
decode_inter_components_tools_flags構文の一実施例が次の表に示される。
【表22】
【0161】
decode_inter_components_tools_flagsのフラグは、一次コンポーネントからのデータを利用するモードを有効または無効にする。
【0162】
例えば、lm_chroma_modeは、CCLMツールを使用して一次コンポーネントからコンポーネントを予測することを可能にする。フラグseparate_chrome_treeは、現在のコンポーネントをコード化するために、イントラスライスに別個の木を有することを可能にする。フラグseparate_chrome_treeがtrueの場合は、メインコンポーネント以外のすべてのコンポーネントがグループ化されている(すなわち、同一木を共有している)と見なされる。他の場合は、二次コンポーネントは一次コンポーネントと同一の信号通知を使用する。
【0163】
【0164】
変形例では、表4に記載されている構文が構文に追加される。
【0165】
最初のフラグCABAC_dependencyは、一次コンポーネントおよび二次コンポーネントがCABACエントロピー復号プロセス中にいくつかの依存関係を共有する場合に信号通知する。そうでない場合は、一次コンポーネント全体が二次コンポーネントから独立して解析できることを意味する。
【0166】
フラグchroma_separate_tree_interは、インタースライス/CTUがイントラスライス/CTUに現在使用されているchroma_separate_treeと同様の別個の木を使用した場合に信号通知される。
このフラグがtrueの場合は、追加のフラグinter_direct_modeは、二次コンポーネントが一次コンポーネントから何らかのインターデータ(通常は併置された動き情報)を導出することができるかどうかを示す。
【0167】
フラグreduce_tools_set_chromeは、二次コンポーネントが低減されたツールセットを使用するかどうかを示す。低減されたツールセットには、例えば、現在のバージョンでは、以下のものがある。
-より少ない数のイントラ方向
-より少ない数の可能な変換タイプ(MTS)
-など
【0168】
実施形態14:二次コンポーネントツールのより精緻な制御
コンポーネントセット内では、コンポーネントとツールの状態の関係性が、より正確に記述される必要があり得、かつ/またはコンポーネントに依存する場合がある。この場合は、各二次コンポーネントに割り当てられた追加のフラグseparate_tools_flagが読み出される。このフラグは、特定のツール制御構文要素がこの二次コンポーネントに挿入されているかどうかを示す。フラグがtrueの場合は、ツールの有効化/無効化フラグは、(decode_tools_flags()への呼び出しを使用して)この二次コンポーネントについて解析される。
【0169】
関連する構文が以下に示される。
【表24】
この場合は、二次コンポーネントはグループ化され、インターコンポーネントツールの同一フラグを共有する。
【0170】
二次コンポーネントの関係性
より一般的なアプローチは、ツールのインターコンポーネントの関係性を完全に記述することである。この利点は、通常の(非インターコンポーネント)ツールおよびインターコンポーネントツールの両方の状態(アクティブ化/非アクティブ化)が、コンポーネントごとにカスタマイズされている、非別個のコンポーネントのグループを有することを可能にすることである。
関連する構文の一実施例が以下に示される。
【表25】
【0171】
この変形例では、コンポーネント0パラメータの復号が、簡単にするために、コンポーネントのループ内に配置されている。
【0172】
所与のコンポーネントについて、separate_tools_flagがtrueの場合は、コンポーネントに固有のインターコンポーネントツール構文要素が復号される(decode_inter_components_tools_flags_2(i)を呼び出す)。さらに、フラグcustom_decode_flagがtrueの場合は、このコンポーネントの非インターコンポーネントツールを制御する特定の構文要素を有することが可能である。
【0173】
decode_inter_components_tools_flags_2フラグは以下のように実行する。
【表26】
【0174】
別個のコンポーネントの場合は、インターツールコンポーネントがアクティブ化されると、継承元のコンポーネントがビットストリーム内で読み出される(構文要素component_to_inherit_from)。コンポーネントの継承とは、次のことを意味する。
-chroma_separate_treeがfalseの場合は、コンポーネントの木は、component_to_inherit_fromで指定されたコンポーネントと共有される。
-他のツール(CPR、LMなど)については、モードに関連付けられたフラグがtrueの場合は、データ(動きベクトルプレディター、ピクセルサンプルなど)はcomponent_to_inherit_fromで指定されたコンポーネントから継承される。
【0175】
別個のchroma_separate_treeがfalseに設定されている場合を除き、separete_tools_flagがfalseの場合は、インターコンポーネントツールはtrueに設定される。
【0176】
コンポーネントが各ツールを個別にカスタマイズすることができるかどうかを判断するために、非インターコンポーネントツールをカスタマイズするための追加のフラグが読み出される。フラグがfalseの場合は、関連付けられているメインコンポーネントのフラグが使用される。
【0177】
本発明は、同一時間データのコンポーネント間の関係性を正確に記述することを可能にすることから、コード化ゲイン、すなわち、同一ビットレートに対する増加された品質、または同一品質に対する減少されたビットレートを提供することができる。
【0178】
本明細書で説明する一般的な態様の下での方法1900の一実施形態が、
図19に示される。この方法は、開始ブロック1901において開始し、制御はブロック1910に進み、少なくとも1つのコード化ツールに関連する構文をビデオビットストリームに挿入する。制御はブロック1910からブロック1920に進み、ビットストリームに挿入された高レベル構文に基づいてコード化ツール用の1つ以上の制御をビットストリームに条件に応じて挿入する。制御は、ブロック1920からブロック1930に進み、1つ以上の制御に基づいてビデオコンポーネントに対応する1つ以上のコード化ツールをアクティブ化する。制御は、ブロック1930からブロック1940に進み、アクティブ化されたコード化ツールを使用してビデオビットストリームを符号化する。
【0179】
本明細書で説明する一般的な態様の下での方法2000の一実施形態が、
図20に示される。この方法は、開始ブロック2001において開始し、制御はブロック2010に進み、少なくとも1つのビデオコード化ツールに関連する構文についてビデオビットストリームを解析する。制御は、ブロック2010からブロック2020に進み、ビデオビットストリーム構文に基づいてコード化ツールの1つ以上の制御を決定する。制御は、ブロック2020からブロック2030に進み、制御の決定に基づいてビデオコンポーネントに対応する1つ以上のコード化ツールをアクティブ化する。制御は、ブロック2030からブロック2040に進み、アクティブ化されたコード化ツールを使用してビデオビットストリームを復号する。
【0180】
図21は、隣接するサンプルの依存パラメトリックモデルに基づくコード化モードの簡略化されたものを使用して、ビデオデータを符号化、復号、圧縮、または解凍するための装置2100の一実施形態を示す。この装置は、プロセッサ2110を備え、少なくとも1つのポートを介してメモリ2120に相互接続することができる。プロセッサ2110およびメモリ2120の両方とも、外部接続への1つ以上の追加の相互接続を有することができる。
【0181】
プロセッサ2110は、ビットストリームに情報を挿入または受信し、説明された態様のいずれかを使用して圧縮、符号化、または復号するように構成される。
【0182】
本出願では、ツール、特徴、実施形態、モデル、アプローチなどを含む様々な態様について説明する。これらの態様の多くは、特異性、また、少なくとも個々の特性を示すために説明されており、しばしば限定的に聞こえ得るように説明される。ただし、これは説明を明確にするためのものであり、これらの態様の適用または範囲を限定するものではない。実際、様々な態様のすべてを組み合わせたり、交換したりして、さらなる態様を提供することができる。さらに、これらの態様は、以前の出願で説明された態様と組み合わせたり、交換したりすることもできる。
【0183】
本出願で説明および企図される態様は、多くの異なる形式で実装することができる。
図1、
図2、および
図17は、いくつかの実施形態を提供するが、他の実施形態が企図され、
図1、
図2、および
図17の考察は、実装形態の範囲を制限しない。これらの態様のうちの少なくとも1つは、概して、ビデオ符号化および復号に関し、少なくとも1つの他の態様は、概して、生成または符号化されたビットストリームを送信することに関する。これらおよび他の態様は、方法、装置、説明された方法のいずれかに従ってビデオデータを符号化または復号するための命令を記憶したコンピュータ可読記憶媒体、および/または説明された方法のいずれかに従って生成されるビットストリームを記憶したコンピュータ可読記憶媒体として実装できる。
【0184】
本出願では、「再構築された」および「復号された」という用語は互換的に使用され得、「ピクセル」および「サンプル」という用語は互換的に使用され得、「画像」、「ピクチャ」、および「フレーム」という用語は互換的に使用され得る。必須ではないが、通常は、「再構築された」という用語は、エンコーダ側において使用される一方で「復号された」は、デコーダ側において使用される。
【0185】
様々な方法が、本明細書に記載されており、それらの方法のそれぞれは、説明された方法を達成するための1つ以上のステップまたは動作を含む。本方法の正しい動作のために特定の順序のステップまたは行為が必要でない限り、特定のステップおよび/または行為の順序および/または使用は、変更されてもよく、または組み合わせられてもよい。
【0186】
本出願で説明されている様々な方法および他の態様を使用して、
図1および
図2に示されるように、ビデオエンコーダ100およびデコーダ200のモジュール、例えば、イントラ予測、エントロピーコード化、および/または復号モジュール(160、360、145、330)を変更することができる。さらに、本態様は、VVCまたはHEVCに限定されず、例えば、既存かまたは将来開発されるかどうかにかかわらず、他の標準規格および推奨事項、ならびに任意のそのような標準規格および推奨事項(VVCおよびHEVCを含む)の拡張版に適用することができる。特に指示されていない限り、または技術的に除外されていない限り、本出願で説明される態様は、個別にまたは組み合わせて使用することができる。
【0187】
本出願では様々な数値が使用される。特定の値は、例示的な目的のためであり、記載された態様は、これらの特定の値に限定されるものではない。
【0188】
図1は、エンコーダ100を示している。このエンコーダ100の変形が企図されるが、エンコーダ100は、明確にするためにすべての予想される変形を説明することなく、以下に説明される。
【0189】
符号化される前に、ビデオシーケンスは事前符号化処理(101)、例えば、入力色ピクチャに色変換(例えば、RGB 4:4:4からYCbCr 4:2:0への変換)を適用すること、または、(例えば、色成分のうちの1つのヒストグラム等化を使用して)圧縮に対してより復元力のある信号分布を得るために、入力ピクチャ成分の再マッピングを実行することを経る場合がある。メタデータは、前処理に関連付けてビットストリームに添付することができる。
【0190】
エンコーダ100では、以下に説明されているように、ピクチャが、エンコーダ要素によって符号化される。符号化されるピクチャは、分割され(102)、例えば、CUの単位で処理される。各単位は、例えば、イントラモードまたはインターモードのいずれかを使用して符号化される。単位がイントラモードで符号化されるとき、イントラ予測を実行する(160)。インターモードにおいて、動き推定(175)および動き補償(170)が行われる。エンコーダは、イントラモードまたはインターモードのどちらをその単位の符号化に使用するかを判断し(105)、例えば、予測モードフラグによって、イントラ/インター判断を示す。予測残差は、例えば、元の画像ブロックから予測されたブロックを減算すること(110)によって、計算される。
【0191】
次いで、予測残差が変換され(125)、量子化される(130)。量子化された変換係数に加えて、動きベクトルおよび他の構文要素は、ビットストリームを出力するためにエントロピーコード化される(145)。エンコーダは、変換をスキップし、非変換残差信号に直接量子化を適用し得る。エンコーダは、変換および量子化の両方をバイパスすることができ、すなわち、残差は、変換または量子化プロセスを適用せずに直接コード化される。
【0192】
エンコーダは、符号化されたブロックを復号して、さらに予測するための参照を提供する。量子化された変換係数は非量子化され(140)、逆変換され(150)、予測残差を復号する。復号された予測残差と予測されたブロックとを組み合わせて(155)、画像ブロックが再構築される。ループ内フィルタ(165)は、再構築されたピクチャに適用され、例えば、デブロッキング/SAO(サンプル適応オフセット)フィルタリングを行い、符号化アーチファクトを低減する。フィルタリングされた画像は、参照ピクチャバッファ(180)に記憶される。
【0193】
図2は、ビデオデコーダ200のブロック図を示している。デコーダ200では、以下に説明されているように、ビットストリームが、デコーダ要素によって復号される。ビデオデコーダ200は、概して、
図1に記載されているように、符号化パスと逆の復号パスを実行する。エンコーダ100はまた、概して、ビデオデータの符号化の一部としてビデオ復号を実行する。
【0194】
特に、デコーダの入力は、ビデオエンコーダ100によって生成され得るビデオビットストリームを含む。まず、ビットストリームがエントロピー復号され(230)、変換係数、動きベクトル、および他のコード化された情報を取得する。ピクチャ分割情報は、ピクチャがどのように分割されているかを示す。したがって、デコーダは、復号されたピクチャ分割情報に従ってピクチャを分割することができる(235)。変換係数は非量子化され(240)、逆変換され(250)、予測残差を復号する。復号された予測残差と予測されたブロックとを組み合わせて(255)、画像ブロックが再構築される。予測されたブロックは、イントラ予測(260)または動き補償予測(すなわち、インター予測)(275)から取得され得る(270)。ループ内フィルタ(265)は、再構築された画像に適用される。フィルタリングされた画像は、参照ピクチャバッファ(280)に記憶される。
【0195】
復号されたピクチャは、復号後処理(285)、例えば、逆色変換(例えば、YCbCr 4:2:0からRGB 4:4:4への変換)または事前符号化処理(101)で行われる再マッピングプロセスの逆を行う逆再マッピングをさらに経ることができる。復号後処理では、事前符号化処理で導出され、かつビットストリームで信号通知されるメタデータを使用することができる。
【0196】
図17は、様々な態様および実施形態が実装されているシステムの一実施例のブロック図を示している。システム1000は、以下で説明される様々な構成要素を含むデバイスとして具現化することができ、本文献で説明される態様の1つ以上を実行するように構成されている。このようなデバイスの例には、これらに限定されないが、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビ受信機、パーソナルビデオ録画システム、接続された家電製品、およびサーバなどの様々な電子デバイスが含まれる。システム1000の要素は、単独でも組み合わせでも、単一の集積回路、複数のIC、および/または個別の構成要素で具現化され得る。例えば、少なくとも1つの実施形態において、システム1000の処理およびエンコーダ/デコーダ要素は、複数のICおよび/または個別の構成要素にわたって分散している。様々な実施形態において、システム1000は、1つ以上の他のシステムに、または他の電子デバイスに、例えば、通信バスを介して、または専用の入力および/もしくは出力ポートを通して、通信可能に結合される。様々な実施形態において、システム1000は、本文献に記載の態様のうちの1つ以上を実装するように構成される。
【0197】
システム1000は、例えば、本文献に記載の様々な態様を実装するために、読み込まれた命令を実行するように構成された少なくとも1つのプロセッサ1010を含む。プロセッサ1010は、当技術分野で周知であるように、埋め込みメモリ、入出力インターフェース、および他の様々な回路を含み得る。システム1000は、少なくとも1つのメモリ1020(例えば、揮発性メモリデバイス、および/または不揮発性メモリデバイス)を含む。システム1000は、不揮発性メモリおよび/または揮発性メモリを含むことができるストレージデバイス1040を含み、これらに限定しないが、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)、読み取り専用メモリ(ROM)、プログラム可能な読み取り専用メモリ(PROM)、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、フラッシュ、磁気ディスクドライブ、および/または光ディスクドライブを含む。ストレージデバイス1040は、非限定的な例として、内部ストレージデバイス、付属のストレージデバイス(取り外し可能および取り外し不可能なストレージデバイスを含む)、および/またはネットワークアクセス可能なストレージデバイスを含み得る。
【0198】
システム1000は、例えば、符号化されたビデオまたは復号されたビデオを提供するためにデータを処理するように構成されたエンコーダ/デコーダモジュール1030を含み、エンコーダ/デコーダモジュール1030は、独自のプロセッサおよびメモリを含み得る。エンコーダ/デコーダモジュール1030は、符号化機能および/または復号機能を実行するデバイスに含まれ得るモジュール(複数可)を表す。周知のように、デバイスは、符号化および復号モジュールの一方または両方を含み得る。さらに、エンコーダ/デコーダモジュール1030は、システム1000の別個の要素として実装することができ、または、当業者には周知であるように、ハードウェアとソフトウェアとの組み合わせとして、プロセッサ1010内に組み込むことができる。
【0199】
本文献に記載の様々な態様を実行するためにプロセッサ1010またはエンコーダ/デコーダ1030に読み込まれるプログラムコードは、ストレージデバイス1040に記憶され、続いて、プロセッサ1010による実行のためにメモリ1020に読み込まれ得る。様々な実施形態によれば、プロセッサ1010、メモリ1020、ストレージデバイス1040、およびエンコーダ/デコーダモジュール1030のうちの1つ以上は、本文献に記載のプロセスの実行中、様々な項目のうちの1つ以上を記憶することができる。このような記憶される項目には、入力ビデオ、復号されたビデオまたは復号されたビデオの一部、ビットストリーム、行列、変数、ならびに方程式、式、演算、および演算ロジックの処理からの中間結果または最終結果が含まれ得るが、これらに限定されない。
【0200】
いくつかの実施形態において、プロセッサ1010および/またはエンコーダ/デコーダモジュール1030の内部のメモリを使用して、命令を記憶し、符号化または復号中に必要とされる処理のために、ワーキングメモリを提供する。しかしながら、他の実施形態において、処理デバイス(例えば、処理デバイスは、プロセッサ1010またはエンコーダ/デコーダモジュール1030のいずれかであり得る)の外部のメモリは、これらの機能のうちの1つ以上に使用される。外部メモリは、メモリ1020および/またはストレージデバイス1040、例えば、ダイナミック揮発性メモリおよび/または不揮発性フラッシュメモリであり得る。いくつかの実施形態において、例えば、テレビのオペレーティングシステムを記憶するために外部不揮発性フラッシュメモリが使用される。少なくとも1つの実施形態では、RAMなどの高速外部ダイナミック揮発性メモリが、MPEG-2(MPEGはMoving Picture Experts Groupを指し、MPEG-2は、ISO/IEC 13818とも呼ばれ、13818-1はH.222としても知られ、13818-2はH.262としても知られる)、HEVC(HEVCはHigh Efficiency Video Codingを指し、H.265およびMPEG-H Part2としても知られる)、またはVVC(Versatile Video Codingであり、JVET、すなわちJoint Video Experts Teamによって開発された新標準規格)などのビデオ符号化および復号動作のためのワーキングメモリとして使用される。
【0201】
システム1000の要素への入力は、ブロック1130に示されるような様々な入力デバイスを通して提供され得る。このような入力デバイスは、これらに限定されないが、(i)例えば、放送局によって無線で送信されたRF信号を受信する無線周波数(RF)部分、(ii)コンポーネント(COMP)入力端子(またはCOMP入力端子のセット)、(iii)ユニバーサルシリアルバス(USB)入力端子、および/または(iv)高品位マルチメディアインターフェース(HDMI)入力端子を含む。
図17に示されていない他の実施例には、コンポジットビデオが含まれる。
【0202】
様々な実施形態において、ブロック1130の入力デバイスは、当技術分野で周知であるような関連するそれぞれの入力処理要素を有する。例えば、RF部は、(i)所望の周波数を選択する(信号を選択する、またはある周波数帯域に信号を帯域制限する、とも称される)、(ii)選択された信号をダウンコンバートする、(iii)(例えば)ある特定の実施形態ではチャネルと称され得る信号周波数帯域を選択するために、より狭い周波数帯域に再び帯域制限する、(iv)ダウンコンバートされ、帯域制限された信号を復調する、(v)誤り訂正を実行する、および(vi)逆多重化して、所望のデータパケットストリームを選択するのに好適な要素に関連付けられ得る。様々な実施形態のRF部には、これらの機能、例えば、周波数セレクタ、信号セレクタ、帯域リミッタ、チャネルセレクタ、フィルタ、ダウンコンバータ、復調器、誤り訂正器、および逆多重化器を実行する1つ以上の要素が含まれる。RF部には、例えば、受信された信号をより低い周波数に(例えば、中間周波数またはベースバンドに近い周波数)、またはベースバンドにダウンコンバートすることを含む、様々なこれらの機能を実行するチューナが含まれ得る。1つのセットトップボックスの実施形態において、RF部およびその関連付けられた入力処理要素は、有線(例えば、ケーブル)媒体経由で送信されたRF信号を受信し、フィルタリングし、ダウンコンバートし、所望の周波数帯域に再びフィルタリングすることによって、周波数選択を実行する。様々な実施形態では、上記(および他の)要素の順番が並べ替えられ、これらの要素のうちのいくつかが取り除かれ、かつ/または同様もしくは異なる機能を実行する他の要素が加えられる。要素を加えることには、既存の要素間に要素を挿入すること、例えば、増幅器およびアナログ-デジタル変換器を挿入することなどが含まれ得る。様々な実施形態において、RF部は、アンテナを含む。
【0203】
さらに、USBおよび/またはHDMI端子は、USBおよび/またはHDMI接続にわたる他の電子デバイスにシステム1000を接続するためのそれぞれのインターフェースプロセッサを含み得る。入力処理の様々な態様、例えば、リードソロモン誤り訂正が、例えば、必要に応じて、別個の入力処理IC内、またはプロセッサ1010内に実装され得ることを理解されたい。同様に、USBまたはHDMIインターフェース処理の態様は、必要に応じて、別個のインターフェースIC内またはプロセッサ1010内に実装され得る。復調され、誤り訂正され、かつ逆多重化されたストリームは、例えば、プロセッサ1010と、出力デバイス上での表示用に、必要に応じてデータストリームを処理するためにメモリおよび記憶要素と組み合わせて動作するエンコーダ/デコーダ1030と、を含む様々な処理要素に提供される。
【0204】
システム1000の様々な要素は、一体型ハウジング内に提供され得、一体型ハウジング内で、様々な要素は、相互接続され、好適な接続構成、例えば、Inter-IC(I2C)バス、配線、およびプリント回路基板を含む、当技術分野で周知であるような内部バスを使用して、それらの間でデータを送信することができる。
【0205】
システム1000は、通信チャネル1060を介して他のデバイスとの通信を可能にする通信インターフェース1050を含む。通信インターフェース1050には、通信チャネル1060経由でデータを送受信するように構成されたトランシーバが含まれ得るが、これに限定されない。通信インターフェース1050には、モデムまたはネットワークカードが含まれ得るが、これらに限定されず、通信チャネル1060は、例えば、有線および/または無線媒体内に実装され得る。
【0206】
データは、様々な実施形態において、Wi-Fiネットワーク、例えば、IEEE802.11(IEEEは、電気電子技術者協会を指す)などの無線ネットワークを使用して、システム1000にストリーミングされるか、または別様に提供される。これらの実施形態のWi-Fi信号は、Wi-Fi通信に適合された通信チャネル1060および通信インターフェース1050を介して受信される。これらの実施形態の通信チャネル1060は、典型的には、ストリーミングアプリケーションおよび他のオーバーザトップ通信を可能にするインターネットを含む外部ネットワークへのアクセスを提供するアクセスポイントまたはルータに接続される。他の実施形態は、入力ブロック1130のHDMI接続経由でデータを配信するセットトップボックスを使用して、ストリーミングされたデータをシステム1000に提供する。さらに他の実施形態は、入力ブロック1130のRF接続を使用して、ストリーミングされたデータをシステム1000に提供する。上記のように、様々な実施形態は、非ストリーミング方式でデータを提供する。さらに、様々な実施形態は、Wi-Fi以外の無線ネットワーク、例えば、セルラーネットワークまたはBluetoothネットワークを使用する。
【0207】
システム1000は、ディスプレイ1100、スピーカ1110、および他の周辺デバイス1120を含む、様々な出力デバイスに出力信号を提供することができる。様々な実施形態のディスプレイ1100は、例えば、タッチスクリーンディスプレイ、有機発光ダイオード(OLED)ディスプレイ、湾曲ディスプレイ、および/または折り畳み式ディスプレイのうちの1つ以上を含む。ディスプレイ1100は、テレビ、タブレット、ラップトップ、携帯電話(モバイルフォン)、または他のデバイス用であり得る。ディスプレイ1100はまた、他の構成要素(例えば、スマートフォンのように)と統合され得るか、または別個(例えば、ラップトップ用の外部モニタ)であり得る。他の周辺デバイス1120は、実施形態の様々な例において、スタンドアロンデジタルビデオディスク(またはデジタル多用途ディスク)(両用語ともDVR)、ディスクプレーヤ、ステレオシステム、および/または照明システムのうちの1つ以上を含む。様々な実施形態は、システム1000の出力に基づく機能を提供する1つ以上の周辺デバイス1120を使用する。例えば、ディスクプレーヤは、システム1000の出力を再生する機能を実行する。
【0208】
様々な実施形態において、システム1000と、ディスプレイ1100、スピーカ1110、または他の周辺デバイス1120との間で、 AV.Link、コンシューマエレクトロニクス制御(CEC)、またはユーザの介入の有無に関わらず、デバイス間制御を可能にする他の通信プロトコルなどの信号通知を使用して、制御信号が通信される。出力デバイスは、それぞれのインターフェース1070、1080、および1090を通して専用接続を介してシステム1000に通信可能に結合され得る。代替的に、出力デバイスは、通信インターフェース1050を介して、通信チャネル1060を使用してシステム1000に接続され得る。ディスプレイ1100およびスピーカ1110は、例えば、テレビなどの電子デバイス内のシステム1000の他の構成要素と、単一のユニット内に統合され得る。様々な実施形態において、ディスプレイインタフェース1070は、例えば、タイミングコントローラ(T Con)チップなどのディスプレイドライバを含む。
【0209】
代替的に、ディスプレイ1100およびスピーカ1110は、例えば、入力1130のRF部が別個のセットトップボックスの一部である場合、他の構成要素のうちの1つ以上とは別個であり得る。ディスプレイ1100およびスピーカ1110が外部構成要素である様々な実施形態において、例えば、HDMIポート、USBポート、またはCOMP出力部を含む専用出力接続を介して、出力信号が提供され得る。
【0210】
実施形態は、プロセッサ1010によってもしくはハードウェアによって実装されるコンピュータソフトウェアによって、またはハードウェアとソフトウェアとの組み合わせによって、実行されてもよい。非限定的な例として、実施形態は、1つ以上の集積回路によって実装され得る。メモリ1020は、技術的環境に適切な任意のタイプのものであり得、非限定的な例として、光メモリデバイス、磁気メモリデバイス、半導体ベースのメモリデバイス、固定メモリ、および取り外し可能なメモリなどの任意の適切なデータストレージテクノロジを使用して実装され得る。プロセッサ1010は、技術的環境に適切な任意のタイプのものであり得、非限定的な例として、マイクロプロセッサ、汎用コンピュータ、専用コンピュータ、およびマルチコアアーキテクチャに基づくプロセッサのうちの1つ以上を包含し得る。
【0211】
様々な実装形態は、復号を伴う。本出願において使用される「復号」は、例えば、表示に好適な最終出力を生成するために、受信した符号化されたシーケンスに対して実行されるプロセスのすべてまたは一部を包含することができる。様々な実施形態では、そのようなプロセスは、デコーダによって通常実行されるプロセスのうちの1つ以上、例えば、エントロピー復号、逆量子化、逆変換、および差分復号を含む。様々な実施形態では、このようなプロセスはまた、または代替的に、本出願で説明される様々な実装形態のデコーダによって実行されるプロセスを含む。
【0212】
さらなる例として、一実施形態では、「復号」は、エントロピー復号のみを指し、別の実施形態では、「復号」は、差分復号のみを指し、別の実施形態では、「復号」は、エントロピー復号および差分復号の組み合わせを指す。「復号プロセス」という句が、具体的に動作のサブセットを指すことを意図しているか、または概してより広い復号プロセスを指すことを意図しているかは、特定の説明の文脈に基づいて明確になり、当業者によって十分に理解されると考えられる。
【0213】
様々な実装形態は、符号化を伴う。「復号」についての上記の考察と同様の方法で、本出願で使用される「符号化」は、例えば、符号化されたビットストリームを生成するために入力ビデオシーケンスで実行されるプロセスの全部または一部を包含することができる。様々な実施形態では、そのようなプロセスは、典型的には、エンコーダによって実行される1つ以上のプロセス、例えば、分割、差分符号化、変換、量子化、およびエントロピー符号化を含む。様々な実施形態では、このようなプロセスはまた、または代替的に、本出願で説明される様々な実装形態のエンコーダによって実行されるプロセスを含む。
【0214】
さらなる例として、一実施形態では、「符号化」は、エントロピー符号化のみを指し、別の実施形態では、「符号化」は、差分符号化のみを指し、別の実施形態では、「符号化」は、差分符号化およびエントロピー符号化の組み合わせを指す。「符号化プロセス」という句が、具体的に動作のサブセットを指すことを意図しているか、または概してより広い符号化プロセスを指すことを意図しているかは、特定の説明の文脈に基づいて明確になり、当業者によって十分に理解されると考えられる。
【0215】
本明細書で使用される構文要素は、説明的な用語であることに留意されたい。したがって、それらは、他の構文要素名の使用を排除するものではない。
【0216】
図がフロー図として提示されている場合、それは、対応する装置のブロック図も提供することを理解されたい。同様に、図がブロック図として提示されている場合、それは、対応する方法/プロセスのフロー図も提供することを理解されたい。
【0217】
様々な実施形態は、パラメトリックモデルまたはレート歪みの最適化を参照することができる。特に、符号化プロセスの間、多くの場合に計算の複雑さの制約を考えて、レートと歪みとの間のバランスまたはトレードオフが、通常、考慮される。これは、レート歪み最適化(RDO)メトリックを通じて、または最小平均二乗(LMS)、絶対誤差平均(MAE)、もしくは他のそのような測定を通じて測定され得る。レート歪みの最適化は通常、レート歪み関数を最小化するものとして定式化され、レート歪み関数は、レートと歪みの加重和である。レート歪みの最適化問題を解決するには、様々なアプローチがある。例えば、アプローチは、考慮されるすべてのモードまたはコード化パラメータ値を含むすべての符号化オプションの広範なテストに基づいており、コード化および復号後の再構築された信号のコード化コストおよび関連する歪みを完全に評価することができる。特に、再構築された信号ではなく、予測または予測残差信号に基づいて近似歪みを計算することによって、符号化の複雑さを軽減するために、より高速なアプローチを使用することもできる。可能な符号化オプションの一部にのみ近似歪みを使用し、他の符号化オプションに完全な歪みを使用することなどによって、これら2つのアプローチを組み合わせて使用することもできる。他のアプローチでは、可能な符号化オプションのサブセットのみを評価する。より一般的には、多くのアプローチが、最適化を実行するための様々な技術のうちのいずれかを採用するが、最適化は、必ずしもコード化コストおよび関連する歪みの両方の完全な評価ではない。
【0218】
本明細書で説明された実装形態および態様は、例えば、方法もしくはプロセス、装置、ソフトウェアプログラム、データストリーム、または信号に実装され得る。単一の実装形態の文脈でのみ考察された(例えば、方法としてのみ考察された)としても、考察された特徴の実装形態はまた、他の形態(例えば、装置またはプログラム)で実装することもできる。装置は、例えば、適切なハードウェア、ソフトウェア、およびファームウェアで実装することができる。それらの方法は、例えば、プロセッサ内に実装することができ、このプロセッサは、例えば、コンピュータ、マイクロプロセッサ、集積回路、またはプログラマブルロジックデバイスを含む処理デバイス全般を指す。プロセッサは、通信デバイス、例えば、コンピュータ、携帯電話、ポータブル/パーソナルデジタルアシスタンス(「PDA」)、およびエンドユーザ間の情報の通信を容易にする他のデバイスなども含む。
【0219】
「1つの実施形態」もしくは「一実施形態」、または「1つの実装形態」もしくは「一実装形態」、ならびにそれらの他の変形への言及は、実施形態に関連して説明された特定の特徴、構造、特性などが、少なくとも1つの実施形態に含まれることを意味する。したがって、本出願全体にわたって様々な箇所においてみられる、「1つの実施形態では」もしくは「一実施形態では」または「1つの実装形態では」もしくは「一実装形態では」という句、ならびに任意の他の変形の出現は、必ずしもすべてが同じ実施形態を指しているわけではない。
【0220】
さらに、本出願は、情報の様々な部分を「判断する」ことに言及する場合がある。情報の判断には、例えば、情報の評価、情報の計算、情報の予測、またはメモリからの情報の検索のうちの1つ以上が含まれ得る。
【0221】
さらに、本出願は、情報の様々な部分に「アクセスする」ことに言及する場合がある。情報のアクセスには、例えば、情報の受信、(例えば、メモリからの)情報の検索、情報の記憶、情報の移動、情報のコピー、情報の計算、情報の判断、情報の予測、または情報の評価のうちの1つ以上が含まれ得る。
【0222】
さらに、本出願は、情報の様々な部分を「受信する」ことに言及する場合がある。受信することは、「アクセスする」ことと同様に、広義の用語であることが意図されている。情報の受信には、例えば、情報へのアクセス、または(例えば、メモリからの)情報の検索のうちの1つ以上が含まれ得る。さらに、「受信する」ことは、典型的には、何らかの方法で、例えば、情報の記憶、情報の処理、情報の送信、情報の移動、情報のコピー、情報の消去、情報の計算、情報の判断、情報の予測、または情報の評価などの動作中に伴う。
【0223】
例えば、「A/B」、「Aおよび/またはB」、ならびに「AおよびBのうちの少なくとも1つ」の場合、次の「/」、「および/または」、ならびに「のうちの少なくとも1つ」のいずれかの使用は、最初に挙げた選択肢(A)のみの選択、または2番目に挙げた選択肢(B)のみの選択、または双方の選択肢(AおよびB)の選択を網羅することを意図していることが分かるはずである。さらなる例として、「A、B、および/またはC」ならびに「A、B、およびCのうちの少なくとも1つ」の場合、そのような言い回しは、最初に挙げた選択肢(A)のみの選択、または2番目に挙げた選択肢(B)のみの選択、または3番目に挙げた選択肢(C)のみの選択、または最初および2番目に挙げた選択肢(AおよびB)のみの選択、または最初および3番目に挙げた選択肢(AおよびC)のみの選択、または2番目および3番目に挙げた選択肢(BおよびC)のみの選択、または3つすべての選択肢(AおよびBおよびC)の選択、を網羅することを意図している。これは、当業者にとって明らかなように、挙げられる項目の数だけ拡張され得る。
【0224】
また、本明細書で使用される場合、「信号通知する」という単語は、とりわけ、対応するデコーダに何かを指示することを指す。例えば、特定の実施形態では、エンコーダは、複数の変換、コード化モード、またはフラグのうちの特定の1つに信号通知する。このように、一実施形態では、同一の変換、パラメータ、またはモードが、エンコーダ側とデコーダ側の両方で使用される。したがって、例えば、エンコーダは、特定のパラメータをデコーダに送信することができ(明示的な信号通知)、その結果、デコーダは、同じ特定のパラメータを使用することができる。逆に、デコーダが既に特定のパラメータならびに他のパラメータを有する場合、信号通知は、送信(暗黙的な信号通知)を行わずに使用されて、デコーダが簡単に特定のパラメータを認識して選択するのを可能にすることができる。任意の実際の機能の送信を回避することによって、ビットの節約が、様々な実施形態で実現される。信号通知は、様々な方法で達成できることが分かるはずである。例えば、1つ以上の構文要素、フラグなどが、様々な実施形態で、対応するデコーダに情報を信号通知するために使用される。上記は、「信号通知する」という単語の動詞形に関するものであるが、「信号通知」という単語はまた、本明細書では、名詞として使用することもできる。
【0225】
当業者には明らかであるように、実装形態は、例えば、記憶または送信され得る情報を搬送するようにフォーマットされる様々な信号を生成することができる。情報は、例えば、方法を実行するための命令、または説明される実装形態のうちの1つにより生成されたデータを含むことができる。例えば、信号は、説明された実施形態のビットストリームを搬送するようにフォーマットされ得る。このような信号は、例えば、(例えば、スペクトルの無線周波数部分を使用する)、電磁波として、またはベースバンド信号としてフォーマットすることができる。フォーマットすることは、例えば、データストリームを符号化することと、搬送波を符号化データストリームで変調することと、を含むことができる。信号が搬送する情報は、例えば、アナログまたはデジタル情報とすることができる。信号は、周知のように、様々な異なる有線または無線リンクを介して送信することができる。信号は、プロセッサ可読媒体上に記憶することができる。
【0226】
様々な請求項のカテゴリおよびタイプにわたるいくつかの実施形態について説明する。これらの実施形態の特徴は、単独で、または任意の組み合わせで提供することができる。さらに、実施形態は、様々な請求項のカテゴリおよびタイプにわたって、単独でまたは任意の組み合わせで、以下の特徴、デバイス、または態様のうちの1つ以上を含むことができる。
●エンコーダまたはデコーダにおける、ツールのアクティブ化または非アクティブ化を制限するプロセスまたはデバイス。
●エンコーダまたはデコーダにおける、可能なツールの組み合わせのセットを制約する高レベル構文またはセマンティクスの制限を操作するプロセスまたはデバイス。
●ツールの組み合わせの制限を指定する構文またはセマンティクスを含むプロセスまたはデバイス。
●エンコーダまたはデコーダにおける、分割プロセスを制御するための構文の使用またはビットストリームへの挿入。
●エンコーダまたはデコーダにおける、分割関連プロセスを制御するための構文の使用またはビットストリームへの挿入。
●エンコーダまたはデコーダにおける、多仮説予測ツールを制御するための構文の使用またはビットストリームへの挿入。
●エンコーダまたはデコーダにおける、MTS(複数コア変換)プロセスを制御するための構文の使用またはビットストリームへの挿入。
●エンコーダまたはデコーダにおける、二次変換モードを制御するための構文の使用またはビットストリームへの挿入。
●エンコーダまたはデコーダにおける、再帰変換木モードを制御するための構文の使用またはビットストリームへの挿入。
●エンコーダまたはデコーダにおける、クロスコンポーネント線形モデルまたは多方向線形モデルモードを制御するための構文の使用またはビットストリームへの挿入。
●エンコーダまたはデコーダにおける、ATMVP(代替的時間的動きベクトル予測)モードを制御するための構文の使用またはビットストリームへの挿入。
●エンコーダまたはデコーダにおける、高精度動きベクトルコード化ツールを制御するための構文の使用またはビットストリームへの挿入。
●エンコーダまたはデコーダにおける、パレットモード、現在のピクチャ参照、または別個のルマ/クロマ木を制御するための構文の使用またはビットストリームへの挿入。
●エンコーダまたはデコーダにおける、依存量子化または符号データ隠蔽ツールを制御するための構文の使用またはビットストリームへの挿入。
●エンコーダまたはデコーダにおける、別個のルマ/クロマ木とクロスコンポーネント線形モデル/多方向線形モデルを相互に制御するための構文の使用またはビットストリームへの挿入。
●記述された構文要素の1つ以上、またはそれらの変形を含むビットストリームまたは信号。
●記載された実施形態のいずれかに従って生成された情報を伝達する構文を含むビットストリームまたは信号。
●記載された実施形態のいずれかによる、作成および/または送信および/または受信および/または復号。
●記載された実施形態のいずれかによる方法、プロセス、装置、媒体記憶命令、媒体記憶データ、または信号。
●エンコーダが使用する方法に対応する方法でデコーダがツールを判別することを可能にする、信号通知構文要素の挿入。
●記述された構文要素の1つ以上、またはそれらの変形を含むビットストリームまたは信号の作成および/または送信および/または受信および/または復号。
●記載された実施形態のいずれかによる変換方法(複数可)を実行するテレビ、セットトップボックス、携帯電話、タブレット、または他の電子デバイス。
●記載された実施形態のいずれかによる変換方法(複数可)の決定を実行し、結果の画像を(例えば、モニタ、スクリーン、または他のタイプのディスプレイを使用して)表示するテレビ、セットトップボックス、携帯電話、タブレット、または他の電子デバイス。
●符号化された画像を含む信号を受信するチャネルを選択し、帯域制限し、または(例えば、チューナを使用して)調整し、記載された実施形態のいずれかによる変換方法(複数可)を実行する、テレビ、セットトップボックス、携帯電話、タブレット、または他の電子デバイス。
●符号化された画像を含む信号を(例えば、アンテナを使用して)無線で受信し、変換方法(複数可)を実行する、テレビ、セットトップボックス、携帯電話、タブレット、または他の電子デバイス。
【国際調査報告】