(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-08
(45)【発行日】2025-01-17
(54)【発明の名称】ビデオエンコードおよびデコードのためのエントロピー符号化
(51)【国際特許分類】
H04N 19/70 20140101AFI20250109BHJP
H04N 19/13 20140101ALI20250109BHJP
【FI】
H04N19/70
H04N19/13
(21)【出願番号】P 2021555248
(86)(22)【出願日】2020-03-05
(86)【国際出願番号】 US2020021150
(87)【国際公開番号】W WO2020185500
(87)【国際公開日】2020-09-17
【審査請求日】2023-03-06
(32)【優先日】2019-03-11
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】318017914
【氏名又は名称】インターデイジタル ヴィーシー ホールディングス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ヤー チェン
(72)【発明者】
【氏名】ファブリス ル ルアンネック
(72)【発明者】
【氏名】タンギ ポワリエ
【審査官】松元 伸次
(56)【参考文献】
【文献】Hongbin Liu, et al.,CE2: Adaptive Motion Vector Resolution for Affine Inter Mode (Test 2.1.2),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 13th Meeting: Marrakech, MA, 9-18 Jan. 2019,JVET-M0246_r1,2019年01月09日,pp.1,9
【文献】Hisao Sasai, et al.,Modified Context Derivation for Complexity reduction,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Torino, IT, 14-22 July, 2011,JCTVC-F429,庁内DB(送付可),2011年07月21日,pp.1-2
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
ビデオ情報に関連付けられたシンタックス情報をエンコードする方法であって、
前記ビデオ情報のカレント符号化単位のシンタックス要素に関連付けられた符号化コンテキストを選択することであって、前記符号化コンテキストは、2つの符号化コンテキストから選択され、前記選択することは、隣接ブロックのシンタックス要素を用いずに起こる、ことと、
前記符号化コンテキストに基づいて前記カレント符号化単位の前記シンタックス要素をエンコードすることであって、前記カレント符号化単位の前記シンタックス要素は、ビデオエンコードモードの使用を示し、アダプティブ動きベクトルレゾリューションモードフラグを含む、ことと
を備えることを特徴とする方法。
【請求項2】
ビデオ情報に関連付けられたシンタックス情報をデコードする方法であって、
前記ビデオ情報のカレント符号化単位のシンタックス要素に関連付けられた符号化コンテキストを選択することであって、前記符号化コンテキストは、2つの符号化コンテキストから選択され、前記選択することは、隣接ブロックのシンタックス要素を用いずに起こる、ことと、
前記符号化コンテキストに基づいて前記カレント符号化単位の前記シンタックス要素をデコードすることであって、前記カレント符号化単位の前記シンタックス要素は、ビデオデコードモードの使用を示し、アダプティブ動きベクトルレゾリューションモードフラグを含む、ことと
を備えることを特徴とする方法。
【請求項3】
ビデオ情報に関連付けられたシンタックス情報をエンコードする装置であって、
隣接ブロックのシンタックス要素を用いずにカレント符号化単位のシンタックス要素に関連付けられた符号化コンテキストを選択し、前記符号化コンテキストは、2つの符号化コンテキストから選択され、
前記符号化コンテキストに基づいて前記カレント符号化単位の前記シンタックス要素をエンコードし、前記カレント符号化単位の前記シンタックス要素は、ビデオエンコードモードの使用を示し、アダプティブ動きベクトルレゾリューションモードフラグを含む
ように構成された1つまたは複数のプロセッサー
を備えたことを特徴とする装置。
【請求項4】
ビデオ情報に関連付けられたシンタックス情報をデコードする装置であって、
隣接ブロックのシンタックス要素を用いずにカレント符号化単位のシンタックス要素に関連付けられた符号化コンテキストを選択し、前記符号化コンテキストは、2つの符号化コンテキストから選択され、
前記符号化コンテキストに基づいて前記カレント符号化単位の前記シンタックス要素をデコードし、前記カレント符号化単位の前記シンタックス要素は、ビデオデコードモードの使用を示し、アダプティブ動きベクトルレゾリューションモードフラグを含む
ように構成された1つまたは複数のプロセッサー
を備えたことを特徴とする装置。
【請求項5】
前記カレント符号化単位の前記シンタックス要素は、スキップモードフラグ
、または三角形予測モード、またはカレントピクチャ参照モード、または適応ループフィルタモード、または分割モード、またはアフィンモードのうちの1つまたは複数をさらに含むことを特徴とする請求項1の方法。
【請求項6】
前記カレント符号化単位の前記シンタックス要素は、スキップモードフラグ
、または三角形予測モード、またはカレントピクチャ参照モード、または適応ループフィルタモード、または分割モード、またはアフィンモードのうちの1つまたは複数をさらに含むことを特徴とする請求項2の方法。
【請求項7】
前記カレント符号化単位の前記シンタックス要素は、スキップモードフラグ
、または三角形予測モード、またはカレントピクチャ参照モード、または適応ループフィルタモード、または分割モード、またはアフィンモードのうちの1つまたは複数をさらに含むことを特徴とする請求項3の装置。
【請求項8】
前記カレント符号化単位の前記シンタックス要素は、スキップモードフラグ
、または三角形予測モード、またはカレントピクチャ参照モード、または適応ループフィルタモード、または分割モード、またはアフィンモードのうちの1つまたは複数をさらに含むことを特徴とする請求項4の装置。
【請求項9】
前記エンコードすることは、エントロピーエンコードすることを含むことを特徴とする請求項1または5に記載の方法。
【請求項10】
前記デコードすることは、エントロピーデコードすることを含むことを特徴とする請求項2または6に記載の方法。
【請求項11】
前記エンコードすることは、エントロピーエンコードすることを含むことを特徴とする請求項3または7に記載の装置。
【請求項12】
前記デコードすることは、エントロピーデコードすることを含むことを特徴とする請求項4または8に記載の装置。
【請求項13】
前記エントロピーエンコードすることは、CABACを含むことを特徴とする請求項9に記載の方法。
【請求項14】
前記エントロピーデコードすることは、CABACを含むことを特徴とする請求項10に記載の方法。
【請求項15】
前記エントロピーエンコードすることは、CABACを含むことを特徴とする請求項11に記載の装置。
【請求項16】
前記エントロピーデコードすることは、CABACを含むことを特徴とする請求項12に記載の装置。
【請求項17】
前記隣接ブロックは、前記カレント符号化単位の左の隣接ブロックまたは前記カレント符号化単位の上の隣接ブロックの少なくとも1つを含むことを特徴とする請求項1、5、9、または13のいずれか一項に記載の方法。
【請求項18】
前記隣接ブロックは、前記カレント符号化単位の左の隣接ブロックまたは前記カレント符号化単位の上の隣接ブロックの少なくとも1つを含むことを特徴とする請求項2、6、10、または14のいずれか一項に記載の方法。
【請求項19】
前記隣接ブロックは、前記カレント符号化単位の左の隣接ブロックまたは前記カレント符号化単位の上の隣接ブロックの少なくとも1つを含むことを特徴とする請求項3、7、11、または15のいずれか一項に記載の装置。
【請求項20】
前記隣接ブロックは、前記カレント符号化単位の左の隣接ブロックまたは前記カレント符号化単位の上の隣接ブロックの少なくとも1つを含むことを特徴とする請求項4、8、12、または16のいずれか一項に記載の装置。
【請求項21】
前記
2つの符号化コンテキストから前記カレント符号化単位の前記シンタックス要素に関連付けられた前記符号化コンテキストを選択することは、前記カレント符号化単位のアフィンモードを決定することに基づくことを特徴とする請求項1、5、9、13、または17のいずれか一項に記載の方法。
【請求項22】
前記
2つの符号化コンテキストから前記カレント符号化単位の前記シンタックス要素に関連付けられた前記符号化コンテキストを選択することは、前記カレント符号化単位のアフィンモードを決定することに基づくことを特徴とする請求項2、6、10、14、または18のいずれか一項に記載の方法。
【請求項23】
前記1つまたは複数のプロセッサーは、前記カレント符号化単位のアフィンモードを決定することに
基づいて前記2つの符号化コンテキストから前記カレント符号化単位の前記シンタックス要素に関連付けられた前記符号化コンテキストを選択するように構成されていることを特徴とする請求項3、7、11、15、または19のいずれか一項に記載の装置。
【請求項24】
前記1つまたは複数のプロセッサーは、前記カレント符号化単位のアフィンモードを決定することに
基づいて前記2つの符号化コンテキストから前記カレント符号化単位の前記シンタックス要素に関連付けられた前記符号化コンテキストを選択するように構成されていることを特徴とする請求項4、8、12、16、または20のいずれか一項に記載の装置。
【請求項25】
前記カレント符号化単位の前記アフィンモードを決定することは、インターアフィンフラグに基づくことを特徴とする請求項21に記載の方法。
【請求項26】
前記カレント符号化単位の前記アフィンモードを決定することは、インターアフィンフラグに基づくことを特徴とする請求項23に記載の装置。
【請求項27】
コンピューターによって実行されると、請求項1、5、9、13、17、21、または25のいずれか一項に係る前記方法を前記コンピューターに実行させる命令を含むコンピュータプログラム。
【請求項28】
コンピューターによって実行されると、請求項2、6、10、14、18、または22のいずれか一項に係る前記方法を前記コンピューターに実行させる命令を含むコンピュータプログラム。
【請求項29】
実行可能なプログラムの命令を実行するコンピューターに、請求項1、5、9、13、17、21、または25のいずれか一項に係る方法を行わせる前記命令を格納する非一時的なコンピューター読取り可能媒体。
【請求項30】
実行可能なプログラムの命令を実行するコンピューターに、請求項2、6、10、14、18、または22のいずれか一項に係る方法を行わせる前記命令を格納する非一時的なコンピューター読取り可能媒体。
【請求項31】
請求項4、8、12、16、20、または24のいずれか一項に係る装置と、
(i)信号を受信するように構成されたアンテナであって、前記信号は、画像情報を表すデータを含む、アンテナ、(ii)前記画像情報を表す前記データを含む周波数の帯域に、前記受信されている信号を制限するように構成されたバンドリミッター、および(iii)前記画像情報から画像を表示するように構成されたディスプレイのうちの少なくとも1つと
を備えたことを特徴とするデバイス。
【請求項32】
前記デバイスは、テレビ、テレビ信号レシーバー、セットトップボックス、ゲートウェイデバイス、モバイルデバイス、携帯電話、タブレット、または他の電子デバイスのうちの1つを含むことを特徴とする請求項31に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ビデオエンコードすることおよびデコードすることを含む。
【背景技術】
【0002】
高い圧縮効率を達成するために、通常、画像およびビデオの符号化スキームは、予測および変換を使って、ビデオコンテンツにおける空間および時間の冗長をレバレッジする。一般に、イントラ予測またはインター予測は、フレーム内またはフレーム間の相関関係を利用するのに使用され、次に、多くの場合、予測誤差または予測残差として示される、元のピクチャブロックと予測されたピクチャブロックとの間の差分は、変換され、量子化され、およびエントロピー符号化される。ビデオを再構成するために、圧縮されたデータは、予測、変換、量子化、およびエントロピー符号化(entropy coding)に対応する逆処理によってデコードされる。
【発明の概要】
【0003】
一般に、本開示の様相は、種々のアプローチまたは修正をエントロピー符号化に提供することを含む。
【0004】
少なくとも1つのシンタックス要素によって提供される情報に基づいてエントロピー符号化のフォームを適用し、少なくとも1つのシンタックス要素に対してコンテキスト数を導出し、導出することがコンテキスト数を減らすエンコーダーおよび/またはデコーダーに含む、態様の少なくとも1つの例が提供される。
【0005】
ビデオ情報のカレント符号化単位のシンタックス要素に関連付けられた符号化コンテキストを識別することと、識別することは、隣接ブロックのシンタックス要素を用いずに行われ、符号化コンテキストに基づいてカレント符号化単位のシンタックス要素をエンコードすることとを含む、ビデオ情報に関連付けられたシンタックス情報をエンコードする方法を含む態様の少なくとも1つの他の例が提供される。
【0006】
ビデオ情報のカレント符号化単位のシンタックス要素に関連付けられた符号化コンテキストを識別することと、識別することは、隣接ブロックのシンタックス要素を用いずに行われ、符号化コンテキストに基づいてカレント符号化単位のシンタックス要素をデコードすることとを含む、ビデオ情報に関連付けられたシンタックス情報をデコードする方法を含む態様の少なくとも1つの他の例が提供される。
【0007】
隣接ブロックのシンタックス要素を用いずに、カレント符号化単位のシンタックス要素に関連付けられた符号化コンテキストを識別し、符号化コンテキストに基づいてカレント符号化単位のシンタックス要素をエンコードするように構成された1つまたは複数のプロセッサーを含む、ビデオ情報に関連付けられたシンタックス情報をエンコードする装置を含む態様の少なくとも1つの他の例が提供される。
【0008】
隣接ブロックのシンタックス要素を用いずに、カレント符号化単位のシンタックス要素に関連付けられた符号化コンテキストを識別し、符号化コンテキストに基づいてカレント符号化単位のシンタックス要素をデコードするように構成された1つまたは複数のプロセッサーを含む、ビデオ情報に関連付けられたシンタックス情報をデコードする装置を含む態様の少なくとも1つの他の例が提供される。
【0009】
態様の少なくとも1つの他の例は、アダプティブ動きベクトルレゾリューション(Adaptive Motion Vector Resolution;AMVR)フラグを含むシンタックス要素、またはコンテキスト適応バイナリ算術符号化(Context Adaptive Binary Arithmetic Coding;CABAC)を含むエントロピー符号化のフォーム、または左および上の隣接するシンタックス要素を用いて1つまたは複数のシンタックス要素のコンテキスト数を減らすこと、または同一のブロックサイズについての複数の異なるビンインデックス(bin index)に対してコンテキストを共有することに基づいて1つまたは複数のシンタックス要素のコンテキスト数を減らすこと、または例えば、最後の有意係数の座標をシグナリングする場合、異なるブロックサイズに対してコンテキストインデックスセットを共有することのうちの1つまたは複数を含むことが可能である。
【0010】
以下に説明されるように、増加している圧縮効率または符号化効率、および減少している複雑さのうちの1つまたは両方を含むが限定されないビデオエンコードおよび/またはデコードシステムに改良を提供することが可能である、種々の修正および態様が想像される。
【0011】
上述は、本開示のいくつかの様相の基本的な理解を提供するために、主題の簡略化された要約を与える。本要約は、主題の広範な概要ではない。態様の重要な/重大な要素を識別することも主題の範囲の境界を明示することも意図されない。唯一の目的は、以下に提供されるより詳細な説明の前置きとして簡略化されたかたちにおいて主題のいくつかの概念を与えることである。
【0012】
本開示は、添付の図面と連係して以下の詳細な説明を検討することによって、よりよく理解されることがある。
【図面の簡単な説明】
【0013】
【
図1】ビデオエンコーダーの態様の例を描くブロック図を提供する。
【
図2】ビデオデコーダーの態様の例を描くブロック図を提供する。
【
図3】圧縮されたピクチャを表すのに使用されることが可能であるCTU(Coding Tree Unit)およびコーディングツリー(Coding Tree)の概念を例示する。
【
図4】CTU(Coding Tree Unit)と、CU(Coding Unit)、PU(Prediction Unit)、およびTU(Transform Unit)へのCTUの区分とを例示する。
【
図5】QTBT(Quad-Tree plus Binary-Tree)表現の例を例示する。
【
図6】水平スプリッティングモード(
図6の左側)および垂直スプリッティングモード(
図6の右側)を含むCU(Coding Unit)に対するトリプルツリー(Triple-Tree)スプリッティングモード(splitting mode)の例を例示する。
【
図7】種々のCUスプリッティングモードの例を例示する。
【
図8】シンタックス要素から2値化された値まで、ビン(bin)のいくつかのコンテキストベース算術符号化まで、およびビン(bin)のいくつか他のバイパス符号化までのCABAC符号化処理の例を例示するフロー図を提供する。
【
図9】コンテキストモデル導出の少なくとも1つの態様において、例えば、inter_affine_flagに対して使用される隣接ブロックの例を例示する。
【
図10】本開示の1つまたは複数の様相に係る態様の種々の例を例示するフロー図を提供する。
【
図11】本開示の1つまたは複数の様相に係る態様の種々の例を例示するフロー図を提供する。
【
図12】本開示の1つまたは複数の様相に係る態様の種々の例を例示するフロー図を提供する。
【
図13】本開示の1つまたは複数の様相に係る態様の種々の例を例示するフロー図を提供する。
【
図14】本開示の1つまたは複数の様相に係る態様の種々の例を例示するフロー図を提供する。
【
図15】本明細書に説明される種々の様相および態様に係る装置の態様の例を例示するブロック図を提供する。
【
図16】本開示の1つまたは複数の様相に係る態様の種々の例を例示するフロー図を提供する。
【発明を実施するための形態】
【0014】
図面は、種々の様相および態様の例を例示する目的のためであり、必ずしも唯一の可能性のある構成ではないことが理解されるべきである。種々の図面を通じて、同様の参照符号は、同一のまたは類似の機能を引用する。
【0015】
さて図面に目を向けると、
図1は、例えば、HEVCエンコーダーなどのビデオエンコーダー100の例を例示する。HEVCは、JCT-VC(Joint Collaborative Team on Video Coding)によって展開されている圧縮規格である(例えば、「ITU-T H.265 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (10/2014), SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS, Infrastructure of audiovisual services - Coding of moving video, High efficiency video coding, Recommendation ITU-T H.265」を参照)。さらに、
図1は、改良がHEVC規格に対してされたエンコーダー、または例えば、VVC(Versatile Video Coding)と呼ばれる開発成果に関連付けられた、例えば、JVET(Joint Video Experts Team)による開発のもとのJEM(Joint Exploration Model)に基づくもしくはJEMよりよいものにされたエンコーダーなどのHEVCに類似した技術を使ったエンコーダーを例示することもある。
【0016】
本出願にて、用語「再構成される」および「デコードされる」は、交換可能に使用されることがあり、用語「ピクセル」および「サンプル」は、交換可能に使用されることがあり、用語「ピクチャ」および「フレーム」は、交換可能に使用されることがある。必ずしもではないが、通常、用語「再構成される」は、エンコーダー側にて使用される一方、「デコードされる」は、デコーダー側にて使用される。
【0017】
HEVCの指定は、「ブロック(block)」と「ユニット(unit)」とを区別し、「ブロック」は、サンプルアレイにおける特定の領域(例えば、輝度、Y)に向けられ、「ユニット」は、すべてのエンコードされた色成分(Y、Cb、Cr、またはモノクロ)の同一位置に置かれたブロック、シンタックス要素、およびブロックに関連付けられた予測データ(例えば、動きベクトル)を含む。
【0018】
符号化に対して、ピクチャは、構成可能なサイズを有するマスの形状の符号化ツリーブロック(coding tree block;CTB)に分割され、符号化ツリーブロックの連続したセットは、スライスに分類される。CTU(Coding Tree Unit)は、エンコードされた色成分のCTBを含む。CTBは、符号化ブロック(Coding Block;CB)に分割されている四分木の根であり、符号化ブロックは、1つまたは複数の予測ブロック(Prediction Block;PB)に分割され、変換ブロック(Transform Block;TB)に分割されている四分木の根を形成することがある。符号化ブロック、予測ブロック、および変換ブロックに対応して、CU(Coding Unit)は、PU(Prediction Unit)と、TU(Transform Unit)のツリー構造のセットとを含み、PUは、すべての色成分に対する予測情報を含み、TUは、各色成分に対する残差符号化シンタックス構造を含む。輝度成分のCB、PB、およびTBのサイズは、対応するCU、PU、およびTUに適用される。本出願にて、用語「ブロック」は、CTU、CU、PU、TU、CB、PB、およびTBのいずれかを引用するのに使用されることが可能である。そのうえ、さらに「ブロック」は、H.264/AVCまたは他のビデオ符号化規格において指定されているマクロブロックおよび分割を引用するのに、より一般に、種々のサイズのデータについての配列を引用するのに使用されることも可能である。
【0019】
図1のエンコーダー100にて、ピクチャは、以下に説明されているエンコーダーエレメントによってエンコードされる。エンコードされるピクチャは、CUの単位にて処理される。各CUは、イントラモードかインターモードかのいずれかを用いてエンコードされる。CUがイントラモードにてエンコードされる場合、イントラ予測を行う(160)。インターモードにて、動き推定(175)および補償(170)が行われる。エンコーダーは、CUをエンコードするために使用するイントラモードまたはインターモードのうちのいずれか1つに決め(105)、イントラ/インターの決定を予測モードフラグによって示す。予測残差は、予測されたブロックを元の画像ブロックから減じる(110)ことによって算出される。
【0020】
次に、予測残差は、変換され(125)、量子化される(130)。量子化された変換係数は、動きベクトルおよび他のシンタックス要素も同様に、エントロピー符号化されて(145)、ビットストリームを出力する。さらに、エンコーダーは、変換をスキップし、変換されない残差信号に4×4TUベースにて量子化を直に適用することもある。さらに、エンコーダーは、変換および量子化の両方をバイパスすることもあり、すなわち、残差が、変換または量子化の処理の適用なしに直に符号化される。ダイレクトPCM符号化にて、適用される予測がなく、符号化単位のサンプルは、ビットストリームに直に符号化される。
【0021】
エンコーダーは、エンコードされたブロックをデコードして、さらなる予測のために参照を提供する。量子化された変換係数が非量子化され(140)逆変換されて(150)、予測残差をデコードする。デコードされた予測残差および予測されたブロックを組み合わせて(155)、画像ブロックが再構成される。インループフィルタ(165)が、再構成されたピクチャに適用され、例えば、デブロッキング/SAO(Sample Adaptive Offset)フィルタリングを行って、エンコードするアーチファクトを減らす。フィルタリングされた画像は、参照ピクチャバッファ(180)に格納される。
【0022】
図2は、例えば、HEVCデコーダーなどのビデオデコーダー200の例についてのブロック図を例示する。例示的なデコーダー200にて、信号またはビットストリームが、以下に説明されているデコーダーエレメントによってデコードされる。一般に、ビデオデコーダー200は、
図1に説明されているエンコーディングパスと逆のデコーディングパスを行い、ビデオデータをエンコードする一部としてビデオデコードを行う。さらに、
図2は、改良がHEVC規格に対してされたデコーダー、または例えば、JEMに基づくもしくはJEMよりよいものにされたデコーダーなどのHEVCに類似した技術を使ったデコーダーを例示することもある。
【0023】
特に、デコーダーの入力は、例えば、
図1のビデオエンコーダー100などのビデオエンコーダーによって生成されることが可能であるビデオ信号またはビットストリームを含む。第1に、信号またはビットストリームがエントロピーデコード(230)されて、変換係数、動きベクトル、および他の符号化情報を取得する。変換係数が非量子化され(240)逆変換されて(250)、予測残差をデコードする。デコードされた予測残差および予測されたブロックを組み合わせて(255)、画像ブロックが再構成される。予測されたブロックは、イントラ予測(260)または動き補償された予測(すなわち、インター予測)(275)から取得される(270)ことが可能である。AMVP(Advanced Motion Vector Prediction)およびマージモード技術は、動き補償のために、動きベクトルを導出するのに使用されることがあり、補間フィルタを使用して、参照ブロックのサブインテジャーサンプル(sub-integer sample)に対して補間値を算出することがある。インループフィルタ(265)が、再構成された画像に適用される。フィルタリングされた画像は、参照ピクチャバッファ(280)に格納される。
【0024】
HEVCビデオ圧縮規格にて、動き補償された時間予測は、動画の連続するピクチャ間に存在する冗長を利用するのに使われる。そうするために、動きベクトルは、各予測単位(prediction unit)(PU)に対して関連させられる。各CTU(Coding Tree Unit)は、圧縮領域においてコーディングツリー(Coding Tree;CT)によって表される。今述べたことは、
図3に例示されるように、各葉がCU(Coding Unit)と呼ばれる、CTUの四分木の区分である。
【0025】
次に、各CUは、いくつかのイントラ予測もしくはインター予測のパラメーターまたは予測情報(Prediction Info)を与えられる。そうするために、1つまたは複数のPU(Prediction Unit)に空間的に分割され、各PUが、いくつかの予測情報を割り当てられる。イントラ符号化モードまたはインター符号化モードは、コーディングユニット(Coding Unit)、プレディクションユニット(Prediction Unit)、およびトランスフォームユニット(Transform Unit)へのコーディングツリーユニット(Coding Tree Unit)の区分の例を示す
図4に例示されるように、CUレベルにて割り当てられる。CUを符号化するために、予測ブロックまたは予測単位(prediction unit)(PU)は、隣接する再構成されたサンプルから構築される(イントラ予測)、またはDPB(Decoded Pictures Buffer)に格納された以前に再構成されたピクチャから構築される(インター予測)。次に、元のサンプルとPUサンプルとの間の差分として算出された残差サンプルが、変換され量子化される。
【0026】
HEVC以外のコーデックおよびビデオ圧縮ツール、例えば、JEM(Joint Exploration Model)、およびVTM(VVC(Versatile Video Coding) Test Model)として知られているVVC参照ソフトウェアにおいてJVET(Joint Video Exploration Team)グループによって展開されているJEMは、圧縮領域において、より柔軟なやり方にてピクチャデータを表す圧縮領域におけるCTU表現を考慮に入れておくことがある。符号化ツリーのより柔軟な表現は、例えば、HEVC規格のCU/PU/TU配列などのアプローチと比較して、増加している圧縮効率を与えることが可能である。より柔軟な表現の1つの例は、QTBT(Quad-Tree plus Binary-Tree)符号化ツールである。例えば、QTBTなどの表現の例は、四分木にておよび二分木の流儀にて両方にスプリッティングされることが可能である符号化単位を有する符号化ツリーを示す
図5において例示される。符号化単位のスプリッティング(splitting)は、最小レート歪コストを有するCTUのQTBT表現を決定する、最適化手順、例えばレート歪最適化手順に基づいてエンコーダー側にて決められることが可能である。
【0027】
QTBT技術にて、CUは、正方形か長方形かのいずれかの形状を有することが可能である。符号化単位の大きさは、2の累乗であり、例えば、4から128までの範囲を有することがある。符号化単位に対する今述べたいろいろな長方形の形状に加えて、例えば、QTBTなどのCTUの表現は、例えば、HEVCなどのアプローチとは異なる次の特徴を有することが可能である。
●CTUのQTBT分解は、2つのステージから作られる。最初に、CTUが四分木の流儀にてスプリッティングされ、次に、各々の四分木の葉がバイナリの流儀にてさらに区分されることが可能である。今述べたことは、
図5の右側に例示され、実線が、四分木分解フェーズを表し、ダッシュ記号の線が、四分木の葉に空間的に埋め込まれたバイナリ分解を表す。
●イントラスライスにて、LumaブロックおよびChromaブロックの分割構造は、分離され、独立に決められる。
●予測単位(prediction unit)または変換単位(transform unit)へのCU分割は、使われず、すなわち、各CUは、単一の予測単位(2N×2N予測単位分割タイプ)および単一の変換単位(変換ツリーへの区分なし)から体系的に作られる。
【0028】
あるシステムは、1つまたは複数の種々の他のCUスプリットモード(split mode)を使用することがある。例えば、VVC(Versatile Video Coding)ビデオ圧縮規格は、
図6に示されている水平または垂直トリプルツリースプリッティングモードに対して提供する。
図6に示されるように、トリプルツリースプリッティングは、考慮される空間的な区分の方向に親CUのサイズの1/4、1/2、および1/4に等しいそれぞれのサイズにより、3つのサブコーディングユニット(sub-coding-unit)(サブCU)にCUを区分することを含むことが可能である。種々の他のスプリッティングモードは、
図7に例示される。
【0029】
スプリッティングの後に、イントラ予測またはインター予測は、フレーム内またはフレーム間の相関関係を利用するのに使用され、次に、多くの場合、予測誤差または予測残差として示される、元のブロックと予測されたブロックとの間の差分は、変換され、量子化され、およびエントロピー符号化される。ビデオを再構成するために、圧縮されたデータは、エントロピー符号化、量子化、変換、および予測に対応する逆処理によってデコードされる。
【0030】
一般に、本開示の様相は、変換係数、インター予測フラグ、および分割フラグのエントロピー符号化のうちの1つまたは複数を含むことが可能である。少なくとも1つの態様にて、エントロピー符号化に関連付けられた少なくともいくつかのシンタックス要素のシグナリングおよび構文解析の複雑さを減らすことが可能である。例えば、少なくとも1つの態様にて、複雑さを減らすことは、デコーダー処理における演算の数、および/または例えば、コンテキストベース適応バイナリ算術符号化(context-based adaptive binary arithmetic coding;CABAC)などのエントロピー符号化のフォームに対して使用されるコンテキストの数を減らすことを含むことが可能である。
【0031】
CABACは、シンタックス要素をビットストリームにエンコードするのに使用されることが可能である。CABACによりエンコードするために、非バイナリのシンタックス要素の値は、ビンストリング(bin string)と呼ばれるバイナリシーケンスにマッピングされる。ビン(bin)に対して、コンテキストモデルが選択される。コンテキストモデルは、各ビン(bin)が「1」または「0」である確率が格納され、適応的または静的であることが可能である。静的モデルは、ビン「0」および「1」に対して等しい確率により符号化エンジンをトリガする。アダプティブ符号化エンジン(adaptive coding engine)にて、コンテキストモデルは、ビンの実際に符号化されている値に基づいて更新される。適応的モデルおよび静的モデルに対応する動作モードは、
図8に示されるように、それぞれ、通常モードおよびバイパスモードと呼ばれる。
【0032】
通常モードに対して、コンテキストは、カレントビンのデコードのために取得される。コンテキストは、
図8に示されているコンテキストモデラー(context modeler)によって与えられる。コンテキストの目的は、いくつかのコンテキストの先の情報Xが与えられる、カレントビンが値「0」を有する条件付き確率を取得することである。先のXは、カレントビンがデコードされているときに、エンコーダー側およびデコーダー側の両方にて同期的に利用可能な、すでにデコードされたシンタックス要素の値であることが可能である。
【0033】
典型的に、ビンのデコードのために使用される先のXは、規格にて指定され、デコードするカレントビンと統計的な相関があるので選択される。今述べたコンテキスト情報を用いることの重要性は、ビンを符号化する際のレートコストを減らすことである。今述べたことは、ビンおよびXに相関があるので、Xが与えられたビンの条件付きエントロピーが、より低いという事実に基づく。次の関係は、情報理論ではよく知られている。
H(bin|X)<H(bin)
ビンの知っているXの条件付きエントロピーは、ビンおよびXに統計的な相関があるならば、ビンのエントロピーより低いことを意味する。ゆえに、コンテキスト情報Xは、ビンが「0」または「1」である確率を取得するのに使用される。今述べた条件付き確率が与えられると、
図8の通常のデコードエンジンは、2値のビンの算術デコードを行う。次に、ビンの値は、現在のコンテキスト情報Xを知っている、カレントビンに関連した条件付き確率の値を更新するのに使用される。今述べたことは、
図8にてコンテキストモデル更新ステップと呼ばれる。ビンがデコードされている(または符号化されている)限り各ビンに対してコンテキストモデルを更新することは、各バイナリ要素に対してコンテキストモデリングを次第にリファインすることを可能にする。ゆえに、CABACデコーダーは、各々通常エンコードされたビンの統計的な挙動を次第に学習する。
【0034】
コンテキストモデラーおよびコンテキストモデル更新ステップが、エンコーダー側にておよびデコーダー側にてまったく同じ動作であることに注意する。今述べたことは、エンコーダーによってなされた2値化ステップの逆を提供する。ゆえに、ここで行われる逆変換は、これらのシンタックス要素の値を、それぞれのデコードされた2値化されたバージョンに基づいて取得することを含む。
【0035】
複数のコンテキストは、1つのシンタックス要素をシグナリングするために使用されることが可能である。例えば、VVCに提案されているようなシステム(例えば、VTM-4)にて、1つのシンタックスごとに約32のコンテキストを意味する、12のシンタックス要素に対して使用される387のコンテキストがある。述べたように、CABACデコーダーは、各々通常エンコードされたビンの統計的な挙動を次第に学習するために、それに関して統計的なデータの総量を蓄積する必要がある。1つの符号化ビンに対して多くのコンテキストがある場合、各コンテキストの統計は、コンテキストモデルの収束および安定に十分でないことがあり、CABACデコーダーの効率に影響を与えることがある。
【0036】
一般に、少なくとも1つの態様は、通常の(またはコンテキストベースの)符号化ビンに対してCABACコンテキスト(変換係数、イントラおよびインター予測フラグ、適応ループフィルタフラグおよびパーティショニングフラグなど)の数を減らすことを含むことが可能である。結果として、デコード処理の複雑さを減らすことが可能である。例えば、少なくとも1つの態様にて、最後のxおよび最後のy座標(シンタックス要素last_sig_coeff_x_prefixおよびlast_sig_coeff_y_prefix)の両方に関連付けられた48のコンテキスト、イントラ予測フラグ(シンタックス要素pred_mode_ibc_flag)のうちの1つに対して3のコンテキスト、インター予測フラグ(シンタックス要素cu_skip_flag、inter_affine_flag、AMVR_flag、およびmerge_triangle_flag)のうちのいくつかに対して18のコンテキスト、適応ループフィルタフラグ(シンタックス要素alf_ctb_flag)対して9のコンテキスト、ならびにいくつかの分割フラグ(シンタックス要素split_cu_flagおよびqt_split_cu_flag)に対して15のコンテキストに関して、複雑さを減らすことが可能である。一般に、態様の少なくとも1つの例は、左および上の隣接するシンタックス要素を用いていくつかのシンタックス要素に対してコンテキスト数を減らすことに基づいて、エントロピー符号化、例えばCABACに対して、コンテキスト導出処理の複雑さを減らすことを含むことが可能である。一般に、態様の少なくとも1つの例は、同一のブロックサイズのより多くの異なるビンインデックスに対して同一のコンテキスト、例えばCABACコンテキストを共有すること、または最後の有意係数の座標をシグナリングする場合に異なるブロックサイズに対して同一のコンテキストインデックスセットを共有することを含むことが可能である。
【0037】
より詳細に、例えば、CABACなどの例に基づいて、種々のシンタックス要素に対して隣接するシンタックス要素を使用することを含むことが可能である、エントロピー符号化に対するコンテキスト導出処理へのアプローチが説明されるだろう。次に、今述べたシンタックス要素に対してコンテキスト導出の複雑さを減らすための態様の種々の例が説明されるだろう。次に、例えば、CABACなどのエントロピー符号化の例に対して、例示的な態様における最後の有意係数に対するコンテキスト選択へのアプローチが説明されるだろう。次に、最後の有意係数座標シグナリングについてのコンテキストの複雑さを減らすための態様の例が説明されるだろう。
【0038】
システムの1つまたは複数の例にて、いくつかの予測ツールまたはモードが使用されるかどうかを示すために、1つのフラグが、デコーダーへのビットストリームにシグナリングされることが可能である。例えば、CABACなどのエントロピー符号化の例に対して、いくつかのフラグは、隣接するシンタックス要素を用いて導出される複数のコンテキストにより符号化される。例えば、1つのフラグ、すなわちinter_affine_flagは、アフィンモデルに基づく動き補償が使用されるかどうかを示すのにシグナリングされて、カレントCUの予測サンプルを生成するまたはしないことが可能である。CABACに基づくエントロピー符号化へのアプローチの例に対して、inter_affine_flagは、3つのコンテキストモデルによりCABAC符号化され、コンテキストモデルは、
図9に描かれるような左のブロックLおよび上のブロックAのinter_affine_flagの和により導出される。そして、CABACコンテキストctxIncの導出処理は、次のように定式化されることが可能である。
ctxInc = (Lが利用可能 && Lがアフィン) + (Aが利用可能 && Aがアフィンである)
inter_affine_flagにコンテキストモデルctxIncの導出を提供する態様の例は、
図10に示されるフロー図によって例示される。さらに、同様の処理は、スキップモード(cu_skip_flag)、AMVRモード(AMVR_flag)、三角形予測モード(merge_triangle_flag)、カレントピクチャ参照モード(pred_mode_ibc_flag)、適応ループフィルタ(alf_ctb_flag)、分割(split_cu_flagおよびqt_split_cu_flag)に対するシンタックス要素に対してCABACコンテキストを導出することに適用されることも可能である。
【0039】
態様の少なくとも1つの例にて、説明されるCABAC導出処理への入力は、カレントピクチャの左上のサンプルに関係のあるカレント輝度ブロックの左上の輝度サンプルを指定する輝度ロケーション(x0,y0)であることが可能であり、さらに、色成分cIdx、現在の符号化の四分木深度cqDepth、ならびに輝度サンプルにおけるカレント符号化ブロックの幅cbWidthおよび高さcbHeightであってもよい。説明される処理の出力は、ctxIncである。
【0040】
他のパラメーターまたは変数は、次を含むことが可能である。
●(x0-1,y0)に等しく設定されることが可能である、左のブロックのロケーション(xNbL,yNbL)、
●カレントブロックの左に直に位置されているブロックの有用性を指定するavailableL、
●(x0,y0-1)に等しく設定されることが可能である、上のブロックのロケーション(xNbA,yNbA)、および
●カレントブロックの上に直に位置されている符号化ブロックの有用性を指定するavailableA。
【0041】
CABACの例に対して、ctxIncの割り当ては、以下の表1に指定されるようなcondLおよびcondAにより次のように決定されることが可能である。
ctxInc = (condL && availableL) + (condA && availableA) + ctxSetldx*3
【0042】
【0043】
態様の少なくとも1つの例にて、左および上のシンタックス要素に基づいて2つのコンテキストモデルのみを導出することによって、上に述べたシンタックス要素に対して説明されたコンテキスト導出処理の複雑さを減らすことが可能である。上に説明したように、CABACの例に対するinter_affine_flagは、3つのコンテキストモデルにより符号化されることが可能であり、コンテキストモデルは、左のブロックLおよび上のブロックAのinter_affine_flagの和により導出される。
しかしながら、隣接ブロックの情報を使用して3つのコンテキストモデルを生成する代わりに、2つのコンテキストモデルのみが導出されて、冗長なコンテキストを減らすことがすることが可能である。態様の第1の例にて、コンテキストモデルは、左のブロックLの条件(condL)か上のブロックAの条件(condA)かのいずれかが真であるならば、シンタックス要素に対するコンテキストが1に設定されることを示す左のブロックLおよび上のブロックAのinter_affine_flagのOR値を用いて、導出されることが可能である。対応するctxIncの割り当て形成は、以下のように指定される。
ctxInc = (condL && availableL) || (condA && availableA) + ctxSetldx*2
態様の第2の例にて、コンテキストモデルは、両方の条件condLおよびcondAが真である場合にのみ、シンタックス要素に対するコンテキストが1に設定されることを示す左のブロックLおよび上のブロックAのinter_affine_flagのAND値を用いて、導出されることが可能である。対応するctxIncの割り当て形成は、以下のように指定される。
ctxInc = (condL && availableL) && (condA && availableA) + ctxSetldx*2
例として、説明されている第1の例示的な態様に基づくinter_affine_flagに対するコンテキストモデルctxIncの導出処理は、
図11に示されるフロー図によって例示される。説明されているアプローチをこれらのシンタックス要素に適用することは、表2に示されるようにctxIncの数を減らす、すなわち、14の可能性のあるコンテキスト削減を生じさせることが可能である。
【0044】
【0045】
少なくとも1つの他の態様は、これらのシンタックス要素を符号化するために1つのコンテキストモデルのみを使用して、隣接ブロックを用いることを避けることを考慮に入れておくことが可能である。本態様の例が、
図16に例示される。
図16にて、1610において、カレント符号化単位のシンタックス要素、例えば、AMVR_flagに関連付けられた符号化コンテキストは、隣接ブロックのシンタックス要素を使用することなく、例えば、隣接ブロックのAMVR_flagを使用することなく識別されるまたは決定される。次に、1620にて、シンタックス要素は、符号化コンテキストに基づいてエンコードされる。コンテキスト導出の本態様は、左および上のシンタックス要素がコンテキスト導出処理にて使用されないので、ラインバッファサイズを、構文解析の複雑さも同様に、減らすことが可能である。説明されている態様をこれらのシンタックス要素にて適用することは、表3に示されるようにctxIncの数を減らす、すなわち、28の可能性のあるコンテキスト削減を生じさせることが可能である。
【0046】
【0047】
CABACに基づく態様の少なくとも1つの例は、シンタックス要素last_sig_coeff_x_prefixおよびlast_sig_coeff_y_prefixに対して、CABACコンテキストの導出を提供することが可能である。システムの一例は、(X,Y)座標を明示的にシグナリングすることによって符号化されているブロックにおいて、最後の有意係数の位置を含むことが可能である。座標Xが列数を、および座標Yが行数を示す。座標は、2つの部分、プレフィックスおよびサフィックスにおいて2値化される。第1の部分は、インターバルへのインデックス(シンタックス要素last_sig_coeff_x_prefixおよびlast_sig_coeff_y_prefix)を表す。今述べたプレフィックスは、トランケーテッドユーナリー表現(truncated unary representation)を有し、ビンは、通常モードにてコード化される。第2の部分またはサフィックスは、固定長表現を有し、バイパスモードにて符号化され、インターバル内のオフセットを表す。1つの座標に対するトランケーテッドユーナリーコード(truncated unary code)の最大長(さらに、通常に符号化されたビンの数でもある)は、4、8、16、32、および64のブロックサイズに対して、それぞれ3、5、7、9、および11である。例として、表4は、64に等しいブロック幅(高さ)に対する2値化を示す。第1に、最後の有意係数座標x(y)は、11のビンにマッピングされ、対応するビンは、通常モードにより符号化される。
【0048】
【0049】
同様の統計を有するトランケーテッドユーナリーパート(truncated unary part)内の異なるビンは、コンテキストの総数を減らすために、コンテキストを共有する。1つの座標のプレフィックスに対するコンテキスト数が24(輝度に対して21、および色差に対して3)なので、最後の位置の符号化対するコンテキストの総数は、48である。表5は、すべてのブロックサイズT、輝度成分、および色差成分にわたって与えられた座標に対して、異なるビンに対するコンテキスト割り当てを示す。
【0050】
【0051】
少なくとも1つの態様にて、今述べた処理への入力は、変数binIdx、色成分インデックスcIdx、変換ブロック幅log2TbWidthおよび変換ブロック高log2TbHeightの二進対数を含むことが可能である。今述べた処理の出力は、変数ctxIncである。変数log2TbSizeは、次のように導出される。
- 構文解析されるシンタックス要素がlast_sig_coeff_x_prefixであるならば、log2TbSizeは、log2TbWidthに等しく設定される。
- そうでなければ(構文解析されるシンタックス要素がlast_sig_coeff_y_prefixである)、log2TbSizeは、log2TbHeightに等しく設定される。
【0052】
変数ctxOffsetおよびctxShiftは、次のように導出される。
- cIdxが0に等しいならば、ctxOffsetは、(log2TbSize - 2)*3 + ((log2TbSize - 1)>>2)に等しく設定され、ctxShiftは、(log2TbSize + 1)>>2に等しく設定される。
- そうでなければ(cIdxが0より大きい)、ctxOffsetは、21に等しく設定され、ctxShiftは、Clip3(0, 2, 2log2TbSize>>3)に等しく設定される。
【0053】
変数ctxIncは、次のように導出される。
ctxInc = (binIdx >> ctxShift) + ctxOffset
コンテキストモデルctxInc導出をlast_sig_coeff_x_prefixおよびlast_sig_coeff_y_prefixに提供する態様の例は、
図12におけるフロー図によって例示される。
【0054】
一般に、態様の少なくとも1つの例は、Lumaコンポーネントのシンタックス要素last_sig_coeff_x_prefixおよびlast_sig_coeff_y_prefixに対してCABACコンテキストを導出することを考慮に入れておくことが可能である。上に説明されている例に関して述べたように、同様の統計を有するトランケーテッドユーナリーパート(truncated unary part)内の異なるビンは、コンテキストの総数を減らすために、コンテキストを共有する。1つまたは複数の態様は、輝度成分に関して、シンタックス要素last_sig_coeff_x_prefixおよびlast_sig_coeff_y_prefixに対してコンテキスト数をさらに減らすことが可能である。
【0055】
少なくとも1つの態様にて、同一のブロックサイズに対してより多くの異なるビンインデックスが、同一のコンテキストを共有することが可能である。変数ctxShiftは、同一のコンテキストを共有するビンインデックスがいくつかを決めるまたは示すのに提供されることが可能であり、ctxShiftの値は、ブロックサイズlog2TbSizeに関係させられる。例えば、各ビンインデックスは、ブロックの幅(高さ)が4に等しい場合に1つのコンテキストを使用するだろう、および、各々2つのビンインデックスは、ブロックの幅(高さ)が4より大きい場合に1つのコンテキストを共有するだろう。より大きいブロックサイズ(すなわち、ブロックサイズが64に等しい場合)に対して、各々2つのビンインデックスが1つのコンテキストを共有することの代わりに、各々3つまたは4つのビンインデックスが、1つのコンテキストを共有することが可能だろう。表6は、各々4つのビンインデックスが同一のコンテキストを共有している、ブロックサイズ64、輝度成分に対して修正されたコンテキスト割り当てを示す。説明されている態様によって、シンタックス要素last_sig_coeff_x_prefixおよびlast_sig_coeff_y_prefixの両方に対して6つのコンテキストを減らすことが可能である。
【0056】
【0057】
そして、説明されている態様に対して変数ctxShiftの対応する修正は、次のように導出されることが可能である。
【0058】
【0059】
ブロックサイズ64のより多くのビンインデックスに対して同一のコンテキストを共有している、last_sig_coeff_x_prefixおよびlast_sig_coeff_y_prefixにコンテキストモデルctxIncの導出を提供する、例えば、上に説明されている態様の例は、
図13に示されるフロー図によって例示される。
【0060】
例えば、上に説明されており、
図13に例示されている態様の少なくとも1つの変形において、さらに、各々4つのビンインデックスの間にて同一のコンテキストを共有することは、他のブロックサイズに適用されることも可能である。少なくとも1つの他の変形において、さらに、各々x(x>2)個のビンインデックス間にて同一のコンテキストを共有することは、他のブロックサイズに適用されることも可能である。少なくとも1つの他の変形において、さらに、各々x(x>2)個のビンインデックス間にて同一のコンテキストを共有することは、色差成分の他のブロックサイズに適用されることも可能である。
【0061】
態様の少なくとも1つの例にて、異なるブロックサイズは、同一のコンテキストセットを共有することが可能である。例えば、少なくとも1つのシステムにて、輝度成分に対して、3、3、4、5、および6のコンテキストは、それぞれ4、8、16、32、および64のブロックサイズに対して使用されることが可能である。そして、変数ctxOffsetは、ブロックサイズlog2TbSize(ctxOffset = [0, 3, 6, 10, 15, 21])に関係させられることが可能であり、各ブロックサイズに対するコンテキストセットを示す。本態様の例にて、同一のコンテキストは、異なるブロックサイズに異なるコンテキストセットを割り当てる代わりに、異なるブロックサイズにクロスする同一のコンテキストセットに対して共有されることが可能だろう。表7は、同一の変数ctxOffset値を用いている、ブロックサイズ4および8、輝度成分に対して修正されたコンテキストセット割り当てを示す。そして、対応する修正された変数ctxOffset値セットは、今述べた例に対してctxOffset = [0, 0, 3, 7, 12, 18]である。態様の説明されている例に基づいて、シンタックス要素last_sig_coeff_x_prefixおよびlast_sig_coeff_y_prefixの両方に対して6つのコンテキストを減らすことが可能である。
【0062】
【0063】
ブロックサイズ4および8に対して同一のコンテキストを共有している、last_sig_coeff_x_prefixおよびlast_sig_coeff_y_prefixにコンテキストモデルctxIncの導出を提供する、例えば、説明されている態様の例は、
図14に示されるフロー図によって例示される。
例えば、上に説明されており、
図14に例示されている態様の少なくとも1つの変形は、すべてのブロックサイズの間にてコンテキストインデックスを共有することを含むことが可能である。少なくとも1つの他の変形は、異なるブロックサイズの種々の組み合わせのいずれかの間にてコンテキストインデックスを共有することを含むことが可能である。少なくとも1つの他の変形は、輝度成分および色差成分の間にてコンテキストインデックスを共有することを含むことが可能である。
【0064】
ビデオ符号化および/またはデコードを含む本明細書に説明されている1つまたは複数の態様にしたがうシステムは、種々の配列において個々のまたは組み合わされた特徴についての次の非限定の例のうちの1つまたは複数を提供することが可能である。
●左のシンタックス要素と上のシンタックス要素との和によって導出される種々のシンタックス要素に対するコンテキストインデックスは、これらの2つの隣接する要素のOR値によって導出されることが可能である、
●左のシンタックス要素と上のシンタックス要素との和によって導出される種々のシンタックス要素に対するコンテキストインデックスは、これらの2つの隣接する要素のAND値によって導出されることが可能である、
●左のシンタックス要素と上のシンタックス要素との和によって導出される種々のシンタックス要素に対するコンテキストインデックスは、隣接する要素を用いないことによって導出されることが可能である、
●最後の有意係数の座標をシグナリングするためのコンテキストインデックスは、同一のブロックサイズのより多くの異なるビンインデックスに対して同一のコンテキストを共有することが可能である、および
●最後の有意係数の座標をシグナリングするためのコンテキストインデックスは、異なるブロックサイズに対して同一のコンテキストを共有することが可能である。
【0065】
本文書は、態様、特徴、モデル、アプローチなどの種々の例を説明する。多くの上記の例は、特殊性を有して説明され、少なくとも個々の特性を示すために、多くの場合、限定するように見え得るやり方において説明される。しかしながら、今述べたことは、説明における明確さの目的のためであり、出願または範囲を限定しない。実際、本明細書に説明されている態様、特徴などの種々の例は、種々のやり方により組み合わされ交換されて、態様のさらなる例を与えることが可能である。
【0066】
一般に、本文書において説明され想定される態様の例は、多くの異なったかたちにおいて実装されることが可能である。上に説明されている
図1および2ならびに下に説明されている
図10は、いくつかの態様を与えることがあるが、他の態様が想定され、
図1、2、および15の解説は、実装の広さを限定しない。一般に、少なくとも1つの態様は、ビデオエンコードすることおよび/またはデコードすることに関係のある例を与え、一般に、少なくとも1つの他の態様は、生成されたまたはエンコードされたビットストリームまたは信号を送信することに関する。今述べた態様および他の態様は、説明された方法のいずれかに従ってビデオデータをエンコードまたはデコードするために、方法、装置、命令を格納したコンピューター読み取り可能な記録媒体、および/または説明された方法のいずれかに従って生成されたビットストリームまたは信号を格納したコンピューター読み取り可能な記録媒体として実装されることが可能である。
【0067】
本出願にて、用語「再構成されている」および「デコードされている」は、交換可能に使用されることがあり、用語「ピクセル」および「サンプル」は、交換可能に使用されることがあり、用語「画像」、「ピクチャ」、および「フレーム」は、交換可能に使用されることがある。必ずしもではないが、通常、用語「再構成される」は、エンコーダー側にて使用される一方、「デコードされる」は、デコーダー側にて使用される。
【0068】
用語HDR(ハイダイナミックレンジ)およびSDR(スタンダードダイナミックレンジ)は、本開示にて使用される。多くの場合、これらの用語は、当業者にダイナミックレンジの特定の値を伝達する。しかしながら、さらに、HDRへの言及が「より高いダイナミックレンジ」を意味すると理解され、SDRへの言及が「より低いダイナミックレンジ」を意味すると理解される、追加の態様も意図される。上記の追加の態様は、多くの場合、用語「ハイダイナミックレンジ」および「スタンダードダイナミックレンジ」に関連付けられることがあるだろうダイナミックレンジのどんな特定の値によっても制約されない。
【0069】
種々の方法が本明細書にて説明され、方法の各々は、説明されている方法を達成するために1つまたは複数のステップまたは動作を含む。ステップまたは動作の特定の順が方法の固有の操作に対して必要とされない限り、特定のステップおよび/または動作の順および/または使用は、修正される、または組み合わされることがある。
【0070】
本文書に説明されている種々の方法および他の様相は、例えば、
図1に示されるエンコーダー100のモジュール145、および
図2に示されるデコーダー200のモジュール230などのビデオエンコーダーおよび/またはデコーダーのモジュールを修正するのに使用されることが可能である。さらにその上、本様相は、VVCまたはHEVCに限定されず、例えば、以前から存在しようが将来開発されようが、他の規格および勧告に、ならびにどれかの上記の規格および勧告(VVCおよびHEVCを含む)の拡張に適用されることが可能である。特に示されない限り、または特に技術的に妨げられない限り、本文書にて説明された様相は、個々にまたは組み合わせにおいて使用されることが可能である。
【0071】
例えば、種々の数値が、本文書に使用されている。特定の値は、例示的な目的のためであり、説明された様相は、今述べた特定の値に限定されない。
【0072】
図15は、種々の様相および態様が実装されることが可能であるシステムの例についてのブロック図を例示する。システム1000は、以下に説明される種々のコンポーネントを含むデバイスとして具体化されることが可能であり、本文書にて説明される1つまたは複数の様相を行うように構成される。上記のデバイスの例は、限定されないが、例えば、パーソナルコンピューター、ラップトップコンピューター、スマートフォン、タブレットコンピューター、デジタルマルチメディアセットトップボックス、デジタルテレビ放送受信機、パーソナルビデオレコーディングシステム、連結される家庭用電気機器、およびサーバーなどの種々の電子デバイスを含む。システム1000のエレメントは、単独にまたは組み合わせにて、単一の集積回路、複数のIC、および/または個別のコンポーネントに具体化されることが可能である。例えば、少なくとも1つの態様にて、システム1000の処理およびエンコーダー/デコーダーエレメントは、複数のICおよび/または個別のコンポーネントにわたって分散される。種々の態様にて、システム1000は、例えば、通信バスを介して、または専用の入力および/もしくは出力ポートを介して、他の同様のシステムに、または他の電子デバイスに通信接続される。種々の態様にて、システム1000は、本文書に説明される1つまたは複数の様相を実装するように構成される。
【0073】
システム1000は、例えば、本文書に説明される種々の様相を実装するためにロードされる命令を実行するように構成された少なくとも1つのプロセッサー1010を含む。プロセッサー1010は、埋め込まれたメモリー、入出力インターフェース、および当技術分野にて知られている種々の他の回路を含むことが可能である。システム1000は、少なくとも1つのメモリー1020(たとえば、揮発性メモリーデバイス、および/または不揮発性メモリーデバイス)を含む。システム1000は、限定ではないが、EEPROM、ROM、PROM、RAM、DRAM、SRAM、フラッシュ、磁気ディスクドライブ、および/または光ディスクドライブを含む不揮発性メモリーおよび/または揮発性メモリーを含むことが可能であるストレージデバイス1040を含む。ストレージデバイス1040は、非限定の例として、内部ストレージデバイス、付属のストレージデバイス、および/またはネットワークアクセス可能なストレージデバイスを含むことが可能である。
【0074】
システム1000は、例えば、エンコードされたビデオまたはデコードされたビデオを提供するデータを処理するように構成されたエンコーダー/デコーダーモジュール1030を含み、エンコーダー/デコーダーモジュール1030は、独自のプロセッサーおよびメモリーを含むことが可能である。エンコーダー/デコーダーモジュール1030は、エンコード機能および/またはデコード機能を行うデバイスに含まれることが可能であるモジュール(複数可)を表す。既知であるように、デバイスは、エンコードモジュールおよびデコードモジュールのうちの1つまたは両方を含むことが可能である。さらに加えて、エンコーダー/デコーダーモジュール1030は、システム1000の別個のエレメントとして実装されることが可能である、または当業者に知られているようにハードウェアおよびソフトウェアの組み合わせとしてプロセッサー1010内に組み入れられることが可能である。
【0075】
本文書に説明される種々の様相を行うプロセッサー1010またはエンコーダー/デコーダー1030上にロードされるプログラムコードは、ストレージデバイス1040に格納され、続いてプロセッサー1010による実行のためにメモリー1020上にロードされることが可能である。種々の態様にしたがって、1つまたは複数のプロセッサー1010、メモリー1020、ストレージデバイス1040、およびエンコーダー/デコーダーモジュール1030は、本文書に説明される処理の実行中に1つまたは複数の種々のアイテムを格納することが可能である。上記の格納されるアイテムは、限定しないが、入力ビデオ、デコードされたビデオ、またはデコードされたビデオの一部、ビットストリームまたは信号、行列、変数、ならびに等式、公式、演算、および操作ロジックの処理からの中間または最終の結果を含むことが可能である。
【0076】
いくつかの態様にて、プロセッサー1010および/またはエンコーダー/デコーダーモジュール1030の内部のメモリーは、命令を記憶し、エンコードするまたはデコードする間に必要とされる処理にワーキングメモリーを提供するのに使用される。しかしながら、他の態様にて、処理デバイス(例えば、処理デバイスは、プロセッサー1010またはエンコーダー/デコーダーモジュール1030のいずれかであることが可能である)の外部のメモリーは、1つまたは複数の今述べた機能ために使用される。外部メモリーは、メモリー1020および/またはストレージデバイス1040、例えば、ダイナミック型揮発性メモリーおよび/または不揮発性フラッシュメモリーであることが可能である。いくつかの態様にて、外部不揮発性フラッシュメモリーを使用して、テレビのオペレーティングシステムを格納する。少なくとも1つの態様にて、例えば、RAMなどの高速外部動的揮発性メモリーは、例えば、MPEG-2、HEVC、またはVVC(Versatile Video Coding)などのビデオ符号化およびデコードの動作のためのワーキングメモリーとして使用される。
【0077】
システム1000のエレメントへの入力は、ブロック1130に示されるように、種々の入力デバイスを介して提供されることが可能である。上記の入力デバイスは、限定されないが、(i)例えば、放送局によって電波を介して送信されるRF信号を受信するRF部、(ii)コンポジット入力端子、(iii)USB入力端子、および/または(iv)HDMI入力端子を含む。
【0078】
種々の態様にて、ブロック1130の入力デバイスは、当技術分野にて、知られているそれぞれの入力処理エレメントを関連付けている。例えば、RF部分は、(i)望まれる周波数を選択すること(信号を選択すること、または信号を周波数の帯域に帯域制限することとも言われる)と、(ii)選択された信号をダウンコンバートすることと、(iii)(例えば、)ある態様にてチャネルと言われることが可能である単一の周波数帯域を選択する周波数のより狭い帯域に再び帯域制限することと、(iv)ダウンコンバートされ帯域制限された信号を復調することと、(v)誤り訂正を行うことと、(vi)逆多重してデータパケットについて望まれるストリームを選択することとのためにエレメントに関連付けられることが可能である。種々の態様のRF部分は、今述べた機能を行う1つまたは複数のエレメント、例えば、周波数セレクター、信号セレクター、バンドリミッター、チャネルセレクター、フィルタ、ダウンコンバーター、デモジュレーター、エラーコレクター、およびデマルチプレクサーを含む。RF部分は、例えば、受信信号を、より低い周波数(例えば、中間周波数もしくはベースバンドに近い周波数)に、またはベースバンドにダウンコンバートすることを含む、種々の機能を行うチューナーを含むことが可能である。1つのセットトップボックスの態様にて、RF部分および関連する入力処理エレメントは、ワイヤード媒体(例えば、ケーブル)を介して送信されるRF信号を受信し、フィルタリングし、ダウンコンバートし、および望まれる周波数帯域に再びフィルタリングすることによって周波数選択を行う。種々の態様は、上述した(および他の)要素の順序を再配置し、今述べた要素のいくつかを取り除き、および/または同様のまたは異なる機能を行う他の要素を加える。要素を加えることは、既存の要素の間に要素を挿入すること、例えば、増幅器、およびアナログデジタル変換器を挿入することを含むことが可能である。種々の態様にて、RF部分は、アンテナを含む。
【0079】
さらに加えて、USBおよび/またはHDMI端末は、システム1000を他の電子デバイスにUSBおよび/またはHDMIをわたって連結するために、それぞれのインターフェイスプロセッサーを含むことが可能である。入力処理の種々の様相、例えば、リードソロモン誤り訂正が、例えば、別個の入力処理IC内に、またはプロセッサー1010内に実装されることが可能であることは、理解されることである。同様に、USBまたはHDMIインターフェース処理の様相は、別個の入力処理IC内に、またはプロセッサー1010内に実装されることが可能である。復調された、誤り訂正された、および逆多重されたストリームは、例えば、プロセッサー1010と、メモリーおよびストレージエレメントと協働して動作して出力デバイスにおける提出のためにデータストリームを処理するエンコーダー/デコーダー1030とを含む種々の処理エレメントに提供される。
【0080】
システム1000の種々のエレメントは、統合エンドされているハウジング内に提供されることが可能であり、統合されているハウジング内において、種々のエレメントは、相互接続され、適切な連結配列1140、例えば、I2Cバス、配線、およびプリント回路基板を含む当技術分野にて知られている内部バスを用いて、そこの間においてデータを送信することが可能である。
【0081】
システム1000は、通信チャネル1060を介して他のデバイスとの通信を可能にする通信インターフェース1050を含む。通信インターフェース1050は、限定ではないが、通信チャネル1060を介してデータを送信するようにおよび受信するように構成されたトランシーバーを含むことが可能である。通信インターフェース1050は、限定ではないが、モデムまたはネットワークカードを含むことが可能であり、通信チャネル1060は、例えば、ワイヤードおよび/またはワイヤレス媒体内に実装されることが可能である。
【0082】
データは、種々の態様にて、例えば、IEEE 802.11などのWi-Fiネットワークを用いてシステム1000にストリーミングされる。今述べた態様のWi-Fi信号は、Wi-Fi通信に合わせて変えられる通信チャネル1060および通信インターフェース1050を介して受信される。典型的に、今述べた態様の通信チャネル1060は、ストリーミングアプリケーションおよび他のオーバーザトップ通信を可能にするために、インターネットを含む外側のネットワークへのアクセスを提供するアクセスポイントまたはルーターに連結される。他の態様は、ストリーミングされたデータをシステム1000に、入力ブロック1130のHDMI接続を介してデータを配信するセットトップボックスを用いて提供する。依然として、他の態様は、ストリーミングされたデータをシステム1000に、入力ブロック1130のRF接続を用いて提供する。
【0083】
システム1000は、出力信号を、ディスプレイ1100、スピーカー1110、および他の周辺デバイス1120を含む種々の出力デバイスに提供することが可能である。他の周辺機器デバイス1120は、態様の種々の例にて、スタンドアロンのDVR、ディスクプレーヤー、ステレオシステム、照明システム、およびシステム1000の出力に基づいて機能を提供する他のデバイスのうちの1つまたは複数を含む。種々の態様にて、制御信号は、システム1000と、ディスプレイ1100、スピーカー1110、または他の周辺デバイス1120との間において、例えば、AV.Link、CEC、またはユーザーの介入の有無にかかわらずデバイスツーデバイス制御を可能にする他の通信プロトコルのようなシグナリングを用いて通信される。出力デバイスは、それぞれのインターフェース1070、1080、および1090を通じて専用のコネクションを介してシステム1000に通信接続されることが可能である。代替として、出力デバイスは、システム1000に、通信チャネル1060を用いて通信インターフェース1050を介して連結されることが可能である。ディスプレイ1100およびスピーカー1110は、電子デバイス、例えば、テレビにおいて、システム1000のその他のコンポーネントと単一のユニットに統合されることが可能である。種々の態様にて、ディスプレイインターフェイス1070は、ディスプレイドライバー、例えば、タイミングコントローラ(T Con)チップを含む。
【0084】
代替として、ディスプレイ1100およびスピーカー1110は、例えば、入力1130のRF部分が別個のセットトップボックスの一部であるならば、1つまたは複数のその他のコンポーネントから分離されることが可能である。ディスプレイ1100およびスピーカー1110が外部コンポーネントである種々の態様にて、出力信号は、例えば、HDMIポート、USBポート、またはCOMP出力を含む専用の出力コネクションを介して提出されることが可能である。
【0085】
態様は、プロセッサー1010によって実装されるコンピュータソフトウェアによって、またはハードウェアによって、またはハードウェアおよびソフトウェアの組み合わせによって実行されることが可能である。非限定の例として、態様は、1つまたは複数の集積回路によって実装されることが可能である。メモリー1020は、技術的環境に適したどんなタイプのでもあることが可能であり、例えば、非限定の例として、光メモリーデバイス、磁気メモリーデバイス、半導体ベースのメモリーデバイス、固定メモリー、および取り外し可能なメモリーなどのどんな適したデータストレージ技術でも用いて実装されることが可能である。プロセッサー1010は、技術環境に適したどんなタイプのでもあることが可能であり、非限定の例として、マイクロプロセッサー、汎用コンピューター、専用コンピューター、およびマルチコアアーキテクチャに基づくプロセッサーのうちの1つまたは複数を含み込むことが可能である。
【0086】
本開示を通じて、種々の実装は、デコードすることを含む。本出願にて使用されている「デコードすること」は、例えば、ディスプレイに適している最終的な出力を生成するために、受信しているエンコードしているシーケンスに行われる処理のすべてまたは一部を含み込むことが可能である。種々の態様にて、上記の処理は、デコーダーによって典型的に行われる処理、例えば、エントロピーデコーディング、逆量子化、逆変換、および差分デコーディングのうちの1つまたは複数を含む。種々の態様にて、さらに、または代替えとして、上記の処理は、本出願にて説明される種々の実装のデコーダーによって行われる処理、例えば、タイル状の(パックされた)ピクチャからピクチャを抽出すること、使用するアップサンプリングフィルターを決定し次にピクチャをアップサンプリングすること、および意図されている向きに戻ってピクチャをフリッピングすることも含む。
【0087】
さらなる例として、一態様にて「デコードすること」は、「エントロピーデコーディング」のみを引用し、別の態様にて「デコードすること」は、差分デコーディングのみを引用し、別の態様にて「デコードすること」は、エントロピーデコーディングおよび差分デコーディングの組み合わせを引用する。語句「デコード処理」が具体的に演算のサブセットを引用することが意図されようと一般的により広く引用することが意図されようと、デコード処理は、特定の説明の文脈に基づいて明らかになるだろう、および当業者によって十分に理解されると信じられる。
【0088】
さらに、種々の実装は、エンコードすることも含む。「デコードすること」についての上の解説に類似したやり方において、本出願にて、使用されている「エンコードすること」は、例えば、エンコードされているビットストリームまたは信号を生成するために、入力ビデオシーケンスに行われる処理のすべてまたは一部を含み込むことが可能である。種々の態様にて、上記の処理は、エンコーダーによって典型的に行われる処理、例えば、分割、差分エンコーディング(differential encoding)、変換、量子化、およびエントロピーエンコーディング(entropy encoding)のうちの1つまたは複数を含む。種々の態様にて、さらに、または代替えとして、上記の処理は、本出願にて説明される種々の実装のエンコーダーによって行われる処理も含む。
【0089】
さらなる例として、一態様にて「エンコードすること」は、「エントロピーエンコーディング」のみを引用し、別の態様にて「エンコードすること」は、差分デエンコーディングのみを引用し、別の態様にて「エンコードすること」は、差分エンコーディングおよびエントロピーエンコーディングの組み合わせを引用する。語句「エンコード処理」が具体的に演算のサブセットを引用することが意図されようと一般により広く引用することが意図されようと、エンコード処理は、特定の説明の文脈に基づいて明らかになるだろう、および当業者によって十分に理解されると信じられる。
【0090】
本明細書にて使用されているシンタックス要素は、記述的な用語であることに注意する。上記のように、それらは他のシンタックス要素名の使用を妨げない。
【0091】
図がフロー図として与えられる場合、さらにそれは対応する装置のブロック図も提供することが理解されるべきである。同様に、図がブロック図として与えられる場合、さらにそれは対応する方法/処理のフロー図も提供することが理解されるべきである。
【0092】
種々の態様は、レート歪み最適化を引用する。特に、エンコード処理の間、レートと歪みとの間のバランスまたはトレードオフが、通例、考慮され、多くの場合、計算に関する複雑さの制約が与えられる。通例、レート歪み最適化は、レート歪み関数を最小化することとして定式化され、レートのおよび歪みの重みつき和である。レート歪み最適化問題を解くための異なったアプローチがある。例えば、アプローチは、符号化およびデコードの後に再構成されている信号の符号化コストおよび関係している歪みについての完全な評価とともに、すべての考慮されるモードまたは符号化パラメーター値を含むすべてのエンコードオプションの広範囲なテストに基づくことが可能である。さらに、より高速なアプローチは、エンコードの複雑さを除くために、特に、再構成されている1つではなく予測または予測残差信号に基づいた近似されている歪みの計算とともに使用されることも可能である。今述べた2つのアプローチの混合は、例えば、可能性のあるエンコードオプションのいくつかだけに対して近似されている歪み、および他のエンコードオプションに対して完全な歪みを使用することによってなど、使用されることも可能である。他のアプローチは、可能性のあるエンコードオプションのサブセットを評価するだけである。より一般に、多くのアプローチは、最適化を行ういろいろな技法のいずれかを使うが、最適化は、必ずしも符号化コストと関係している歪みとの両方の完全な評価であるとは限らない。
【0093】
本明細書に説明されている実装および様相は、例えば、方法もしくは処理、装置、ソフトウェアプログラム、データストリーム、または信号において実装されることが可能である。実装の単一のフォームの文脈においてのみ述べられる(例えば、方法としてのみ述べられる)場合でさえ、さらに、述べられた特徴の実装は、他のフォーム(例えば、装置またはプログラム)において実装されることも可能である。装置は、例えば、適切なハードウェア、ソフトウェア、およびファームウェアにおいて実装されることが可能である。方法は、例えば、コンピューター、マイクロプロセッサー、集積回路、またはプログラマブルロジックデバイスを含む、一般に処理デバイスを引用する、例えば、プロセッサーにおいて実装されることが可能である。さらに、プロセッサーは、例えば、コンピューター、携帯電話、ポータブル/パーソナルデジタルアシスタント(「PDA」)、およびエンドユーザー間において情報の通信を容易にする他のデバイスなど、通信デバイスも含む。
【0094】
「一態様」または「態様」または「一実装」または「実装」への言及は、他の変形も同様に、態様に関連して説明された特定の特徴、構造、特性などが、少なくとも1つの態様に含まれることを意味する。ゆえに、本文書の至る所に種々の場所に現れている語句「一態様にて」または「態様にて」または「一実装にて」または「実装にて」の出現は、どんな他の変形でも同様に、必ずしも同一の態様をすべて引用しているとは限らない。
【0095】
さらに加えて、本文書は、情報の種々の部分を「取得すること」を引用することがある。情報を取得することは、例えば、情報を決定すること、情報を推定すること、情報を算出すること、情報を予測すること、または情報をメモリーから検索することのうちの1つまたは複数を含むことが可能である。
【0096】
さらに、本文書は、情報の種々の部分に「アクセスすること」を引用することがある。情報にアクセスすることは、例えば、情報を受信すること、情報を(例えば、メモリーから)検索すること、情報を格納すること、情報を移動すること、情報をコピーすること、情報を算出すること、情報を決定すること、情報を予測すること、または情報を推定することのうちの1つまたは複数を含むことが可能である。
【0097】
さらに加えて、本文書は、情報の種々の部分を「受信すること」を引用することがある。受信することは、「アクセスすること」に関してのように、広い用語であることが意図される。情報を受信することは、例えば、情報にアクセスすること、または情報を(例えば、メモリーから)検索することのうちの1つまたは複数を含むことが可能である。さらに、典型的に、「受信すること」は、何らかの仕方または別の仕方において、例えば、情報を格納すること、情報を処理すること、情報を送信すること、情報を移動すること、情報をコピーすること、情報を消去すること、情報を算出すること、情報を決定すること、情報を予測すること、または情報を推定することなどの動作の間に含まれる。
【0098】
次の「/」、「および/または」、および「のうちの少なくとも1つ」のいずれかの使用は、例えば、「A/B」、「Aおよび/またはB」、および「AおよびBの少なくとも1つ」の場合、第1の列挙されている選択肢(A)のみの選択、または第2の列挙されている選択肢(B)のみの選択、または両方の選択肢(AおよびB)の選択を含み込むことが意図されることは、理解されるべきである。さらなる例として、「A、B、および/またはC」および「A、B、およびCの少なくとも1つ」の場合、上記語句は、第1の列挙されている選択肢(A)のみの選択、または第2の列挙されている選択肢(B)のみの選択、または第3の列挙されている選択肢(C)のみの選択、または第1および第2の列挙されている選択肢(AおよびB)のみの選択、または第1のおよび第3の列挙されている選択肢(AおよびC)のみの選択、または第2および第3の列挙されている選択肢(BおよびC)、またはすべての3つの選択肢(AおよびBおよびC)の選択を含み込むことが意図される。今述べたことは、当業者および関連業者に明らかであるように、列挙されているだけの事項に対して拡張され得る。
【0099】
さらに、本明細書にて使用されている、単語「シグナリング」は、とりわけ、対応するデコーダーへ何かを示すことを引用する。例えば、ある態様にて、エンコーダーは、リファインメントのために複数のパラメーターのうち特定の1つをシグナリングする。このようにして、態様にて、同一のパラメーターは、エンコーダー側およびデコーダー側の両方に使用される。ゆえに、例えば、エンコーダーは、特定のパラメーターをデコーダーに送信(明示的なシグナリング)することが可能であって、デコーダーは、同一の特定のパラメーターを使用することが可能である。反対に、デコーダーが特定のパラメーターを他も同様にすでに有しているならば、シグナリングは、デコーダーに特定のパラメーターを知り選択することを単に可能にするのに、送信することなく使用されること(暗黙的なシグナリング)が可能である。いずれかの現実の機能の送信を避けることによって、ビットの節約が種々の態様にて実現される。シグナリングがいろいろなやり方において遂行されることが可能であることは、理解されることである。例えば、1つまたは複数のシンタックス要素、フラグなどは、種々の態様にて、対応するデコーダーに情報をシグナリングするのに使用される。これまでのことは、単語「シグナリング」の動詞形に関するが、さらに、単語「シグナリング」は、本明細書にて名詞として使用されることも可能である。
【0100】
当業者には明らかであろうように、実装は、例えば、格納されるまたは送信されることが可能である情報を運ぶようにフォーマットされたいろいろな信号を生成することが可能である。例えば、情報は、方法を行うための命令、または説明されている実装のうちの1つによって生成されるデータを含むことが可能である。例えば、信号は、説明されている態様のビットストリームまたは信号を運ぶようにフォーマットされることが可能である。例えば、上記の信号は、電磁波として(例えば、スペクトルの無線周波部分を用いて)またはベースバンド信号としてフォーマットされることが可能である。例えば、フォーマッティングは、データストリームをエンコードすることと、エンコードされたデータストリームにより搬送波を変調することとを含むことが可能である。例えば、信号が運ぶ情報は、アナログまたはデジタル情報であることが可能である。信号は、知られているように、いろいろな別々のワイヤードまたはワイヤレスリンクを介して送信されることが可能である。信号は、プロセッサー読取り可能媒体において格納されることが可能である。
【0101】
さらに、種々の一般化された態様も、特殊化された態様も同様に、本開示を通じてサポートされ想定される。本開示にしたがう態様の例は、次を含むが限定されない。
【0102】
一般に、態様の少なくとも1つの例は、ビデオ情報のカレント符号化単位のシンタックス要素に関連付けられた符号化コンテキストを識別することと、識別することは、隣接ブロックのシンタックス要素を用いずに行われ、符号化コンテキストに基づいてカレント符号化単位のシンタックス要素をエンコードすることとを含む、ビデオ情報に関連付けられたシンタックス情報をエンコードする方法を含むことが可能である。
【0103】
一般に、態様の少なくとも1つの例は、ビデオ情報のカレント符号化単位のシンタックス要素に関連付けられた符号化コンテキストを識別することと、識別することは、隣接ブロックのシンタックス要素を用いずに行われ、符号化コンテキストに基づいてカレント符号化単位のシンタックス要素をデコードすることとを含む、ビデオ情報に関連付けられたシンタックス情報をデコードする方法を含むことが可能である。
【0104】
一般に、態様の少なくとも1つの例は、隣接ブロックのシンタックス要素を用いずに、カレント符号化単位のシンタックス要素に関連付けられた符号化コンテキストを識別し、符号化コンテキストに基づいてカレント符号化単位のシンタックス要素をエンコードするように構成された1つまたは複数のプロセッサーを含む、ビデオ情報に関連付けられたシンタックス情報をエンコードする装置を含むことが可能である。
【0105】
一般に、態様の少なくとも1つの例は、隣接ブロックのシンタックス要素を用いずに、カレント符号化単位のシンタックス要素に関連付けられた符号化コンテキストを識別し、符号化コンテキストに基づいてカレント符号化単位のシンタックス要素をデコードするように構成された1つまたは複数のプロセッサーを含む、ビデオ情報に関連付けられたシンタックス情報をデコードする装置を含むことが可能である。
【0106】
一般に、態様の少なくとも1つの例は、本明細書に説明されている方法または装置を含むことが可能であり、カレント符号化単位のシンタックス要素は、ビデオエンコードモードまたはビデオデコードモードの使用を示し、スキップモードフラグ、またはアダプティブ動きベクトルレゾリューションモードフラグ、または三角形予測モード、またはカレントピクチャ参照モード、または適応ループフィルタモード、または分割モード、またはアフィンモードのうちの1つまたは複数を含む。
【0107】
一般に、態様の少なくとも1つの例は、本明細書に説明されている方法または装置を含むことが可能であり、カレント符号化単位のシンタックス要素は、カレント符号化単位をエンコードするまたはデコードするためのアダプティブ動きベクトルレゾリューションモードの使用を示し、隣接ブロックのシンタックス要素は、隣接ブロックをエンコードするまたはデコードするためのアダプティブ動きベクトルレゾリューションモードを示す。
【0108】
一般に、態様の少なくとも1つの例は、本明細書に説明されている方法または装置を含むことが可能であり、エンコードすることおよび/またはデコードすることは、エントロピーエンコードすることおよび/またはエントロピーデコードすることを含む。
【0109】
一般に、態様の少なくとも1つの例は、本明細書に説明されている方法または装置を含むことが可能であり、エントロピーエンコードすることおよび/またはエントロピーデコードすることは、CABAC含む。
【0110】
一般に、態様の少なくとも1つの例は、本明細書に説明されている方法または装置を含むことが可能であり、カレント符号化単位の隣接ブロックは、カレント符号化単位の左の隣接ブロックまたはカレント符号化単位の上の隣接ブロックの少なくとも1つを含む。
【0111】
一般に、態様の少なくとも1つの例は、本明細書に説明されている方法または装置を含むことが可能であり、カレント符号化単位のシンタックス要素は、アダプティブ動きベクトルレゾリューション(AMVR)シンタックス要素を含み、カレント符号化単位のシンタックス要素に関連付けられた符号化コンテキストを識別すること、または識別するように構成された1つまたは複数のプロセッサーは、カレント符号化単位のアフィンモードを決定することに基づく。
【0112】
一般に、態様の少なくとも1つの例は、本明細書に説明されている方法または装置を含むことが可能であり、カレント符号化単位のアフィンモードを決定することは、インターアフィン(inter-affine)フラグに基づく。
【0113】
一般に、態様の少なくとも1つの例は、ビデオ情報のカレント符号化単位のシンタックス要素に関連付けられた符号化コンテキストを識別することと、識別することは、隣接ブロックのシンタックス要素を用いることを避け、符号化コンテキストに基づいてカレント符号化単位のシンタックス要素をエンコードすることとを含む、ビデオ情報に関連付けられたシンタックス情報をエンコードする方法を含むことが可能である。
【0114】
一般に、態様の少なくとも1つの例は、ビデオ情報のカレント符号化単位のシンタックス要素に関連付けられた符号化コンテキストを識別することと、識別することは、隣接ブロックのシンタックス要素を用いることを避け、符号化コンテキストに基づいてカレント符号化単位のシンタックス要素をデコードすることとを含む、ビデオ情報に関連付けられたシンタックス情報をデコードする方法を含むことが可能である。
【0115】
一般に、態様の少なくとも1つの例は、隣接ブロックのシンタックス要素の使用を避けることに基づいて、カレント符号化のシンタックス要素に関連付けられた符号化コンテキストを識別し、符号化コンテキストに基づいてカレント符号化単位のシンタックス要素をエンコードするように構成された1つまたは複数のプロセッサーを含む、ビデオ情報に関連付けられたシンタックス情報をエンコードする装置を含むことが可能である。
【0116】
一般に、態様の少なくとも1つの例は、隣接ブロックのシンタックス要素の使用を避けることに基づいて、カレント符号化単位のシンタックス要素に関連付けられた符号化コンテキストを識別し、符号化コンテキストに基づいてカレント符号化単位のシンタックス要素をデコードするように構成された1つまたは複数のプロセッサーを含む、ビデオ情報に関連付けられたシンタックス情報をデコードする装置を含むことが可能である。
【0117】
一般に、態様の少なくとも1つの例は、本明細書に説明されている方法または装置を含むことが可能であり、カレント符号化単位のシンタックス要素は、ビデオエンコードモードまたはビデオデコードモードの使用を示し、スキップモードフラグ、またはアダプティブ動きベクトルレゾリューションモードフラグ、または三角形予測モード、またはカレントピクチャ参照モード、または適応ループフィルタモード、または分割モード、またはアフィンモードのうちの1つまたは複数を含む。
【0118】
一般に、態様の少なくとも1つの例は、本明細書に説明されている方法または装置を含むことが可能であり、カレント符号化単位のシンタックス要素は、カレント符号化単位をエンコードするまたはデコードするためのアダプティブ動きベクトルレゾリューションモードの使用を示し、隣接ブロックのシンタックス要素は、隣接ブロックをエンコードするまたはデコードするためのアダプティブ動きベクトルレゾリューションモードを示す。
【0119】
一般に、態様の少なくとも1つの例は、本明細書に説明されている方法または装置を含むことが可能であり、エンコードすることおよび/またはデコードすることは、エントロピーエンコードすることおよび/またはエントロピーデコードすることを含む。
【0120】
一般に、態様の少なくとも1つの例は、本明細書に説明されている方法または装置を含むことが可能であり、エントロピーエンコードすることおよび/またはエントロピーデコードすることは、CABAC含む。
【0121】
一般に、態様の少なくとも1つの例は、本明細書に説明されている方法または装置を含むことが可能であり、カレント符号化単位の隣接ブロックは、カレント符号化単位の左の隣接ブロックまたはカレント符号化単位の上の隣接ブロックの少なくとも1つを含む。
【0122】
一般に、態様の少なくとも1つの例は、本明細書に説明されている方法または装置を含むことが可能であり、カレント符号化単位のシンタックス要素は、アダプティブ動きベクトルレゾリューション(AMVR)シンタックス要素を含み、カレント符号化単位のシンタックス要素に関連付けられた符号化コンテキストを識別すること、または識別するように構成された1つまたは複数のプロセッサーは、カレント符号化単位のアフィンモードを決定することに基づく。
【0123】
一般に、態様の少なくとも1つの例は、本明細書に説明されている方法または装置を含むことが可能であり、カレント符号化単位のアフィンモードを決定することは、インターアフィン(inter-affine)フラグに基づく。
【0124】
一般に、態様の少なくとも1つの例は、隣接ブロックのアダプティブ動きベクトルレゾリューション(AMVR)シンタックス要素を使用せずに、ビデオ情報のカレント符号化単位のAMVRシンタックス要素に関連付けられた符号化コンテキストを識別することと、符号化コンテキストに基づいてカレント符号化単位のAMVRシンタックス要素をエンコードすることとを含む、ビデオ情報に関連付けられたシンタックス情報をエンコードする方法を含むことが可能である。
【0125】
一般に、態様の少なくとも1つの例は、隣接ブロックのAMVRシンタックス要素を使用せずに、ビデオ情報のカレント符号化単位のAMVRシンタックス要素に関連付けられた符号化コンテキストを識別することと、符号化コンテキストに基づいてカレント符号化単位のAMVRシンタックス要素をデコードすることとを含む、ビデオ情報に関連付けられたシンタックス情報をデコードする方法を含むことが可能である。
【0126】
一般に、態様の少なくとも1つの例は、隣接ブロックのAMVRシンタックス要素を用いずに、カレント符号化単位のAMVRシンタックス要素に関連付けられた符号化コンテキストを識別し、符号化コンテキストに基づいてカレント符号化単位のAMVRシンタックス要素をエンコードするように構成された1つまたは複数のプロセッサーを含む、ビデオ情報に関連付けられたシンタックス情報をエンコードする装置を含むことが可能である。
【0127】
一般に、態様の少なくとも1つの例は、隣接ブロックのAMVRシンタックス要素を用いずに、カレント符号化単位のシンタックス要素に関連付けられた符号化コンテキストを識別し、符号化コンテキストに基づいてカレント符号化単位のAMVRシンタックス要素をデコードするように構成された1つまたは複数のプロセッサーを含む、ビデオ情報に関連付けられたシンタックス情報をデコードする装置を含むことが可能である。
【0128】
一般に、態様の少なくとも1つの例は、本明細書に説明されている方法または装置を含むことが可能であり、エンコードすることおよび/またはデコードすることは、エントロピーエンコードすることおよび/またはエントロピーデコードすることを含む。
【0129】
一般に、態様の少なくとも1つの例は、本明細書に説明されている方法または装置を含むことが可能であり、エントロピーエンコードすることおよび/またはエントロピーデコードすることは、CABAC含む。
【0130】
一般に、態様の少なくとも1つの例は、本明細書に説明されている方法または装置を含むことが可能であり、カレント符号化単位の隣接ブロックは、カレント符号化単位の左の隣接ブロックまたはカレント符号化単位の上の隣接ブロックの少なくとも1つを含む。
【0131】
一般に、態様の少なくとも1つの例は、本明細書に説明されている方法または装置を含むことが可能であり、カレント符号化単位のAMVRシンタックス要素に関連付けられた符号化コンテキストを識別すること、または識別するように構成された1つまたは複数のプロセッサーは、カレント符号化単位のアフィンモードを決定することに基づく。
【0132】
一般に、態様の少なくとも1つの例は、本明細書に説明されている方法または装置を含むことが可能であり、カレント符号化単位のアフィンモードを決定することは、インターアフィン(inter-affine)フラグに基づく。
【0133】
一般に、態様の少なくとも1つの例は、コンピューターによって実行されると、コンピューターに、本明細書に説明されている態様の1つまたは複数の例にしたがう方法を行わせる命令を含むコンピュータープログラム製品を含むことが可能である。
【0134】
一般に、態様の少なくとも1つの例は、コンピューターが、本明細書に説明されている態様の1つまたは複数の例にしたがう方法を行う命令を実行することを生じる実行可能なプログラム命令を格納する非一時的なコンピューター読取り可能媒体を含むことが可能である。
【0135】
一般に、態様の少なくとも1つの例は、本明細書に説明されている態様のいずれか1つまたは複数の例に従って生成されたデータを含む信号を含むことが可能である。
【0136】
一般に、態様の少なくとも1つの例は、本明細書に説明されている態様の例のいずれか1つまたは複数にしたがって生成された、シンタックス要素およびエンコードされている画像情報を含むようにフォーマットされたビットストリームを含むことが可能である。
【0137】
一般に、態様の少なくとも1つの例は、本明細書に説明されている態様の例のいずれか1つまたは複数にしたがう装置と、(i)信号を受信するように構成されたアンテナ、信号が、画像情報を表すデータを含む(ii)受信した信号を、画像情報を表すデータを含む周波数の帯域に制限するように構成されたバンドリミッター(band limiter)、および(iii)画像情報から画像を表示するように構成されたディスプレイのうちの少なくとも1つとを含むデバイスを含むことが可能である。
【0138】
一般に、態様の少なくとも1つの例は、本明細書に説明されているデバイスを含むことが可能であり、デバイスは、テレビ、テレビ信号レシーバー、セットトップボックス、ゲートウェイデバイス、モバイルデバイス、携帯電話、タブレット、または他の電子デバイスのうちの1つを含む。
【0139】
態様の種々の例が説明された。本開示にしたがう今までに述べた態様および他の態様は、種々の異なるクレームカテゴリーおよびタイプにわたって、次の特徴または実体のいずれかを、単独でまたはどんな組み合わせにおいても含むことがある。
●少なくとも1つのシンタックス要素によって提供される情報に基づいてエントロピー符号化のフォームを適用し、少なくとも1つのシンタックス要素に対してコンテキスト数を導出し、導出することがコンテキスト数を減らすエンコーダーおよび/またはデコーダーに提供されること。
●少なくとも1つのシンタックス要素によって提供される情報に基づいてエントロピー符号化のフォームを適用し、少なくとも1つのシンタックス要素に対してコンテキスト数を導出し、導出することがコンテキスト数を減らし、減らすことが左および上のシンタックス要素を用いることに基づくエンコーダーおよび/またはデコーダーに提供されること。
●少なくとも1つのシンタックス要素によって提供される情報に基づいてエントロピー符号化のフォームを適用し、少なくとも1つのシンタックス要素に対してコンテキスト数を導出し、導出することがコンテキスト数を減らし、減らすことが左および上の隣接するシンタックス要素を用いることに基づくエンコーダーおよび/またはデコーダーに提供されること。
●少なくとも1つのシンタックス要素によって提供される情報に基づいてエントロピー符号化のフォームを適用し、少なくとも1つのシンタックス要素に対してコンテキスト数を導出し、導出することがコンテキスト数を減らし、減らすことが同一のブロックサイズの異なるビンインデックス(bin index)に対して同一のコンテキストを共有することに基づくエンコーダーおよび/またはデコーダーに提供されること。
●少なくとも1つのシンタックス要素によって提供される情報に基づいてエントロピー符号化のフォームを適用し、少なくとも1つのシンタックス要素に対してコンテキスト数を導出し、導出することがコンテキスト数を減らし、減らすことが最後の有意係数の座標をシグナリングする場合に異なるブロックサイズに対して同一のコンテキストインデックスセットを共有することに基づくエンコーダーおよび/またはデコーダーに提供されること。
●少なくとも1つのシンタックス要素によって提供される情報に基づいてエントロピー符号化のフォームを適用し、少なくとも1つのシンタックス要素に対してコンテキスト数を導出し、導出することがコンテキスト数を減らし、減らすことが左および上のシンタックス要素の和に基づき、左および上のシンタックス要素の和が、左および上の隣接する要素のOR値に基づいてまたは左および上の隣接する要素のAND値に基づいて導出されることが可能であるエンコーダーおよび/またはデコーダーに提供されること。
●少なくとも1つのシンタックス要素によって提供される情報に基づいてエントロピー符号化のフォームを適用し、少なくとも1つのシンタックス要素に対してコンテキスト数を導出し、導出することがコンテキスト数を減らし、減らすことが左および上のシンタックス要素の和に基づき、左および上のシンタックス要素の和が、隣接する要素を用いないことに基づいて導出されることが可能であるエンコーダーおよび/またはデコーダーに提供されること。
●本明細書に説明されている態様、特徴、または実体のいずれかに単独でまたはどんな組み合わせにおいてもしたがうエントロピー符号化のフォームを適用し、エントロピーエンコードのフォームがCABACを含むエンコーダーおよび/またはデコーダーに提供されること。
●減っている複雑さおよび/または向上している圧縮効率を提供することに基づく本明細書に説明されている態様、特徴、または実体のいずれかに単独でまたはどんな組み合わせにおいてもしたがうエントロピー符号化のフォームを適用するエンコーダーおよび/またはデコーダーに提供されること。
●エンコーダーおよび/またはデコーダーに、本明細書に説明されている態様、特徴、または実体のいずれかに単独でまたはどんな組み合わせにおいてもしたがってエンコードすることおよび/またはデコードすることを提供することを可能にするシンタックス要素をシグナリングすることに挿入すること。
●今述べたシンタックス要素に基づいて、デコーダーに適用するために、本明細書に説明されている特徴または実体を単独でまたはどんな組み合わせにおいても選択すること。
●説明されたシンタックス要素の1つまたは複数、またはそのバリエーションを含むビットストリームまたは信号。
●デコーダーに、エンコーダーによって使用されるエンコードのやり方に対応するやり方においてデコードを提供することを可能にするシンタックス要素をシグナリングすることに挿入すること。
●説明されたシンタックス要素の1つまたは複数、またはそのバリエーションを含むビットストリームまたは信号を生成することおよび/または送信することおよび/または受信することおよび/またはデコードすること。
●本明細書に説明されている態様、特徴、または実体のいずれかに単独でまたはどんな組み合わせにおいても従ってエンコードすることおよび/またはデコードすることを適用するために提供するテレビ、セットトップボックス、携帯電話、タブレット、または他の電子デバイス。
●本明細書に説明されている態様、特徴、または実体のいずれかに単独でまたはどんな組み合わせにおいても従ってエンコードすることおよび/またはデコードすることを行い、結果として生じる画像を(例えば、モニタ、スクリーン、または他のタイプのディスプレイを用いて)表示するテレビ、セットトップボックス、携帯電話、タブレット、または他の電子デバイス。
●チャネルを(例えば、チューナーを用いて)合わせて、エンコードされている画像を含む信号を受信し、本明細書に説明されている態様、特徴、または実体のいずれかに単独でまたはどんな組み合わせにおいても従ってエンコードすることおよび/またはデコードすることを行うテレビ、セットトップボックス、携帯電話、タブレット、または他の電子デバイス。
●エンコードされている画像を含む電波を介して信号を(例えば、アンテナを用いて)受信し、本明細書に説明されている態様、特徴、または実体のいずれかに単独でまたはどんな組み合わせにおいても従ってエンコードすることおよび/またはデコードすることを行うテレビ、セットトップボックス、携帯電話、タブレット、または他の電子デバイス。
●本明細書に説明されている態様、特徴または実体のいずれかに単独またはどんな組み合わせにおいてもしたがって、エンコードするおよび/またはデコードするコンピューターによって実行される場合のプログラムコードを格納するコンピュータープログラム製品。
●本明細書に説明されている態様、特徴または実体のいずれかに単独またはどんな組み合わせにおいてもしたがって、エンコードすることおよび/またはデコードすることを実装する命令を実行するコンピューターのもとになる実行可能なプログラム命令を含む非一時的なコンピューター読取り可能媒体。
【0140】
さらに、種々の他の一般化された態様も、特殊化された態様も同様に、本開示を通じてサポートされ想定される。