(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-15
(45)【発行日】2024-01-23
(54)【発明の名称】マージリストにおける動きベクトル予測子候補の順序付け
(51)【国際特許分類】
H04N 19/52 20140101AFI20240116BHJP
【FI】
H04N19/52
(21)【出願番号】P 2021529468
(86)(22)【出願日】2019-11-25
(86)【国際出願番号】 US2019062975
(87)【国際公開番号】W WO2020112620
(87)【国際公開日】2020-06-04
【審査請求日】2022-11-25
(32)【優先日】2018-11-29
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】318017914
【氏名又は名称】インターデイジタル ヴィーシー ホールディングス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ファブリス ルルアンネック
(72)【発明者】
【氏名】アントワーヌ ロベール
(72)【発明者】
【氏名】タンギ ポワリエ
【審査官】岩井 健二
(56)【参考文献】
【文献】特開2020-108081(JP,A)
【文献】特開2020-088660(JP,A)
【文献】国際公開第2020/142685(WO,A1)
【文献】国際公開第2020/061395(WO,A1)
【文献】Yu-Ling Hsiao, et al.,CE4.4.12: Pairwise average candidates,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-L0090-v2,12th Meeting: Macao, CN,2018年10月,pp.1-18
【文献】Jaeho Lee, et al.,CE4-related: Composite merge candidate,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-L0144_r2,12th Meeting: Macau, CN,2018年10月,pp.1-3
【文献】Li Zhang, et al.,CE4: History-based Motion Vector Prediction (Test 4.4.7),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-L0266-v2,12th Meeting: Macao, CN,2018年10月,pp.1-6
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
ピクチャをエンコードまたはデコードする方法であって、
前記ピクチャの現ブロックについて、前記現ブロックに先行するブロックの動き情報を使用して1つまたは複数の履歴ベース動きベクトル予測子候補を決定するステップであって、前記1つまたは複数の履歴ベース動きベクトル予測子候補は、先入れ先出し規則に従ってテーブルに保持される、ステップと、
前記現ブロックについて、動きベクトル予測子候補のリスト中の動きベクトル予測子候補のペアを平均することによって1つまたは複数の平均動きベクトル予測子候補を決定するステップであって、リスト中の前記動きベクトル予測子候補は、前記現ブロックを空間的および時間的に囲む少なくとも1つまたは複数のブロックの動き情報を使用して形成される、ステップと、
前記平均動きベクトル予測子候補のうちの1つまたは複数を、履歴ベース動きベクトル予測子候補のうちの1つまたは複数の前に動きベクトル予測子候補のリストに挿入するステップと
を備える方法。
【請求項2】
前記現ブロックの全ての平均動きベクトル予測子候補は、前記現ブロックの履歴ベース動きベクトル予測子候補の前に、動きベクトル予測子候補の前記リストに挿入される、請求項1の方法。
【請求項3】
履歴ベース動きベクトル予測子候補は、前記平均動きベクトル予測子候補を挿入した後少なくとも2つの空きが前記リストに残っている場合、動きベクトル予測子候補の前記リストに挿入される、請求項2の方法。
【請求項4】
履歴ベース動きベクトル予測子候補は、前記平均動きベクトル予測子候補を挿入した後、リスト中に任意の空きが残っている場合、動きベクトル予測子候補の前記リストに挿入される、請求項2の方法。
【請求項5】
前記平均動きベクトル予測子候補は、リスト中に少なくとも2つの空きが利用可能である場合、動きベクトル予測子候補の前記リストにのみ挿入される、請求項2の方法。
【請求項6】
動きベクトル予測子候補の前記リストにおける前記履歴ベース動きベクトル予測子候補および平均動きベクトル予測子候補の順序付けは、動きベクトル予測子候補の前記リストの最大リストサイズに依存する、請求項1の方法。
【請求項7】
最大リストサイズが予め定められた値以上である場合、前記平均動きベクトル予測子候補は、前記履歴ベース動きベクトル予測子候補の前に動きベクトル予測子候補の前記リストに挿入され、最大リストサイズが前記予め定められた値よりも小さい場合、前記平均動きベクトル予測子候補は、前記履歴ベース動きベクトル予測子候補の後に動きベクトル予測子候補の前記リストに挿入される、請求項6の方法。
【請求項8】
前記最大リストサイズは、スライスまたはピクチャヘッダパラメータとして符号化される、請求項7の方法。
【請求項9】
履歴ベース動きベクトル予測子候補は、前記平均動きベクトル予測子候補を挿入した後少なくとも2つの空きが前記リストに残っている場合、動きベクトル予測子候補の前記リストに挿入される、請求項7の方法。
【請求項10】
少なくとも2つの空きが前記リストに残っている場合、最大リストサイズに基づいて選択される第1の候補タイプの動きベクトル予測子候補が挿入され、前記第1の候補タイプの動きベクトル予測子候補を挿入した後、前記リストが一杯でない場合、第2の候補タイプの動きベクトル予測子候補が挿入される、請求項7の方法。
【請求項11】
前記履歴ベース動きベクトル予測子候補および前記平均動きベクトル予測子候補は、互いにインタリーブされるように、動きベクトル予測子候補の前記リストに挿入される、請求項1の方法。
【請求項12】
1つまたは複数のプロセッサを備えた、ピクチャをエンコードまたはデコードする装置であって、前記1つまたは複数のプロセッサは、
前記ピクチャの現ブロックについて、前記現ブロックに先行するブロックの動き情報を使用して1つまたは複数の履歴ベース動きベクトル予測子候補を決定することであって、前記1つまたは複数の履歴ベース動きベクトル予測子候補は、先入れ先出し規則に従ってテーブルに保持される、ことと、
前記現ブロックについて、動きベクトル予測子候補のリスト中の動きベクトル予測子候補のペアを平均することによって1つまたは複数の平均動きベクトル予測子候補を決定することであって、リスト中の前記動きベクトル予測子候補は、前記現ブロックを空間的および時間的に囲む少なくとも1つまたは複数のブロックの動き情報を使用して形成される、ことと、
前記平均動きベクトル予測子候補のうちの1つまたは複数を、履歴ベース動きベクトル予測子候補のうちの1つまたは複数の前に動きベクトル予測子候補のリストに挿入することと
を行うように構成された装置。
【請求項13】
前記現ブロックの全ての平均動きベクトル予測子候補は、前記現ブロックの前記履歴ベース動きベクトル予測子候補の前に、動きベクトル予測子候補の前記リストに挿入される、請求項12の装置。
【請求項14】
前記平均動きベクトル予測子候補は、リスト中に少なくとも2つの空きが利用可能である場合、動きベクトル予測子候補の前記リストにのみ挿入される、請求項13の装置。
【請求項15】
動きベクトル予測子候補の前記リストにおける前記履歴ベース動きベクトル予測子候補および平均動きベクトル予測子候補の順序付けは、動きベクトル予測子候補の前記リストの最大リストサイズに依存する、請求項12の装置。
【請求項16】
最大リストサイズが予め定められた値以上である場合、前記平均動きベクトル予測子候補は、前記履歴ベース動きベクトル予測子候補の前に動きベクトル予測子候補の前記リストに挿入され、最大リストサイズが前記予め定められた値よりも小さい場合、前記平均動きベクトル予測子候補は、前記履歴ベース動きベクトル予測子候補の後に動きベクトル予測子候補の前記リストに挿入される、請求項15の装置。
【請求項17】
前記最大リストサイズは、スライスまたはピクチャヘッダパラメータとして符号化される、請求項16の装置。
【請求項18】
履歴ベース動きベクトル予測子候補は、前記平均動きベクトル予測子候補を挿入した後少なくとも2つの空きが前記リストに残っている場合、動きベクトル予測子候補の前記リストに挿入される、請求項16の装置。
【請求項19】
少なくとも2つの空きが前記リストに残っている場合、最大リストサイズに基づいて選択される第1の候補タイプの動きベクトル予測子候補が挿入され、前記第1の候補タイプの動きベクトル予測子候補を挿入した後、前記リストが一杯でない場合、第2の候補タイプの動きベクトル予測子候補が挿入される、請求項16の装置。
【請求項20】
前記履歴ベース動きベクトル予測子候補および前記平均動きベクトル予測子候補は、互いにインタリーブされるように、動きベクトル予測子候補の前記リストに挿入される、請求項12の装置。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、ビデオ圧縮の分野にあり、既存のビデオ圧縮システムと比較して改善された圧縮効率を目指す。
【背景技術】
【0002】
ビデオデータの圧縮のためには、ビデオソース信号の異なるピクチャ間の時間的冗長性を利用するインターピクチャ予測を使用して、またはソース信号の単一ピクチャ中の空間的冗長性を利用するイントラピクチャ予測を使用して、ピクチャのブロック形状領域がコーディングされる。この目的で、使用される圧縮標準に応じて、ピクチャ中の様々なブロックサイズが指定され得る。予測残差が、残差内部の相関を除去するための変換を使用してさらに圧縮され、その後、量子化され、最終的に、残差コーディングとも呼ばれるエントロピーコーディングを使用してより一層圧縮される。
【0003】
HEVCビデオ圧縮標準(非特許文献1参照)では、考慮される予測ユニット(Prediction Unit)(PU)の動き補償時間的予測のために、単予測(uni-predictional)PUには1つの動きベクトル(MV)が割り当てられ、双予測(bi-predictional)PUには動きベクトルのペアが割り当てられる。動きデータをエンコードするために、HEVCでは2つのモードが採用される。これらはそれぞれ、AMVP(適応動きベクトル予測)およびマージと呼ばれる。
【0004】
AMVPは、基本的に、現PUを予測するのに使用される参照ピクチャと、動きベクトル予測子インデックス(2つの予測子のリストから採られる)と、動きベクトル差とをシグナリングすることを含む。マージモードは、動きデータ予測子のリスト中の収集されたいくらかの動きデータのインデックスをシグナリングおよびデコードすることを含む。このマージリストは、5つの候補からなり、デコーダ側とエンコーダ側とで同じようにして構築される。マージリストは通常、現PUが処理されているときに復号状態で利用可能ないくつかの空間的および時間的周囲ブロックに関連付けられた動き情報を含む。
【0005】
また、VTM-3(非特許文献2参照)では、2つのタイプのマージ候補が採用されている。いわゆる、履歴ベース動きベクトル予測子(history-based motion vector predictor)(HMVP)およびペアワイズ平均候補(pairwise average candidate)である。
【先行技術文献】
【非特許文献】
【0006】
【文献】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
【文献】“Versatile Video Coding (Draft3)”, B. Bross, J. Chen, S. Liu, document JVET-L1001, Macao, October 2018
【文献】JVET-L0090 “CE4.4.12: Pairwise average candidates”, Y.-L. Hsiao, T.-D. Chuang,C.-Y. Chen,C.-W .Hsu,Y.-W. Huang,S.-M. Lei,Macao, October 2018
【文献】JVET-L0266 “CE4: History-based Motion Vector Prediction (Test 4.4.7)”, L. Zhang, K. Zhang, H. Liu, Y. Wang, P. Zhao, D. Hong, Macao, October 2018
【文献】JVET-L0318 “CE4: ranking based spatial merge candidate list for inter prediction (Test CE4.4.14)”, G .Li, X. Xu, X. Li, S. Liu (Tencent), Macao,October 2018
【発明の概要】
【0007】
本開示の態様によれば、ピクチャをエンコードおよび/またはデコードする方法が開示される。このような方法は、ピクチャの現ブロックについて、現ブロックに先行するブロックの動き情報を使用して1つまたは複数の履歴ベース動きベクトル予測子候補を決定するステップと、現ブロックについて、動きベクトル予測子候補のリスト中の動きベクトル予測子候補のペアを平均することによって1つまたは複数の平均動きベクトル予測子候補を決定するステップであって、リスト中の動きベクトル予測子候補は、現ブロックを空間的および/または時間的に囲むブロックの動き情報を使用して形成される、ステップと、平均動きベクトル予測子候補のうちの1つまたは複数を、履歴ベース動きベクトル予測子候補のうちの1つまたは複数の前に動きベクトル予測子候補のリストに挿入するステップを含む。
【0008】
本開示の別の態様によれば、ピクチャをエンコードおよび/またはデコードするための装置が開示される。このような装置は1つまたは複数のプロセッサを備え、1つまたは複数のプロセッサは、ピクチャの現ブロックについて、現ブロックに先行するブロックの動き情報を使用して1つまたは複数の履歴ベース動きベクトル予測子候補を決定することと、現ブロックについて、動きベクトル予測子候補のリスト中の動きベクトル予測子候補のペアを平均することによって1つまたは複数の平均動きベクトル予測子候補を決定することであって、リスト中の動きベクトル予測子候補は、現ブロックを空間的および/または時間的に囲むブロックの動き情報を使用して形成される、ことと、平均動きベクトル予測子候補のうちの1つまたは複数を、履歴ベース動きベクトル予測子候補のうちの1つまたは複数の前に動きベクトル予測子候補のリストに挿入することを行うように構成される。
【0009】
本開示の別の態様によれば、ピクチャをエンコードおよび/またはデコードするための装置が開示される。この装置は、ピクチャの現ブロックについて、現ブロックに先行するブロックの動き情報を使用して1つまたは複数の履歴ベース動きベクトル予測子候補を決定する手段と、現ブロックについて、動きベクトル予測子候補のリスト中の動きベクトル予測子候補のペアを平均することによって1つまたは複数の平均動きベクトル予測子候補を決定する手段であって、リスト中の動きベクトル予測子候補は、現ブロックを空間的および/または時間的に囲むブロックの動き情報を使用して形成される、手段と、平均動きベクトル予測子候補のうちの1つまたは複数を、履歴ベース動きベクトル予測子候補のうちの1つまたは複数の前に動きベクトル予測子候補のリストに挿入する手段を備える。
【0010】
本開示の態様によれば、ピクチャをエンコードおよび/またはデコードする方法が開示される。このような方法は、ピクチャの現ブロックについて、現ブロックに先行するブロックの動き情報を使用して1つまたは複数の履歴ベース動きベクトル予測子候補を決定するステップと、現ブロックについて、1つもしくは複数の平均動きベクトル予測子候補、および/または1つもしくは複数の結合動きベクトル予測子候補を決定するステップと、決定された動きベクトル予測子候補を、現ブロックに対する参照フレームの時間的構造に応じて動きベクトル予測子候補のリストに挿入するステップを含む。
【0011】
本開示の別の態様によれば、ピクチャをエンコードおよび/またはデコードするための装置が開示される。このような装置は1つまたは複数のプロセッサを備え、前記1つまたは複数のプロセッサは、ピクチャの現ブロックについて、現ブロックに先行するブロックの動き情報を使用して1つまたは複数の履歴ベース動きベクトル予測子候補を決定することと、現ブロックについて、1つもしくは複数の平均動きベクトル予測子候補、および/または1つもしくは複数の結合動きベクトル予測子候補を決定することと、決定された動きベクトル予測子候補を、現ブロックに対する参照フレームの時間的構造に応じて動きベクトル予測子候補のリストに挿入することを行うように構成される。
【0012】
本開示の別の態様によれば、ピクチャをエンコードおよび/またはデコードするための装置が開示される。この装置は、ピクチャの現ブロックについて、現ブロックに先行するブロックの動き情報を使用して1つまたは複数の履歴ベース動きベクトル予測子候補を決定する手段と、現ブロックについて、1つもしくは複数の平均動きベクトル予測子候補、および/または1つもしくは複数の結合動きベクトル予測子候補を決定する手段と、決定された動きベクトル予測子候補を、現ブロックに対する参照フレームの時間的構造に応じて動きベクトル予測子候補のリストに挿入する手段とを備える。
【0013】
本開示はまた、命令を含むコンピュータプログラム製品を提供し、命令は、コンピュータによって実行されたとき、本明細書で述べられた方法をコンピュータに実施させる。本開示はまた、実行可能プログラム命令を記憶した非一時的コンピュータ可読媒体を提供し、実行可能プログラム命令は、本明細書で述べられた方法のいずれかを、命令を実行するコンピュータに実施させる。本開示はまた、本明細書で述べられた方法のいずれかに従って生成されたデータを含む信号を提供する。本開示はまた、本明細書で述べられた方法のいずれかに従って構文要素およびエンコード済み画像情報を含むようにフォーマットされたビットストリームを提供する。
【0014】
本開示はまた、デバイスを提供する。デバイスは、上述したような装置を備え、(i)信号を受信するように構成されたアンテナであって、信号は画像情報を表すデータを含む、アンテナと、(ii)受信された信号を、画像情報を表すデータを含む周波数帯域に制限するように構成された帯域リミッタと、(iii)画像情報からの画像を表示するように構成されたディスプレイとのうちの少なくとも1つを備える。
【0015】
上記は、発明の主題の実施形態のいくつかの態様の基本的な理解を提供するために、主題の簡略化された概要を提示する。この概要は、主題の広範な概観ではない。これは、実施形態の重要な/クリティカルな要素を識別するものとはされず、また、主題の範囲を示すものともされない。この唯一の目的は、主題のいくつかの概念を、後述する詳細な記述に対する前置きとして簡略化された形で提示することである。
【0016】
本開示の追加の特徴および利点は、添付の図を参照しながら進行する例証的な実施形態に関する後続の詳細な記述から明らかにされるであろう。
【図面の簡単な説明】
【0017】
図面は、様々な態様および実施形態を例証するためのものであり、可能な唯一の構成とは限らないことを理解されたい。様々な図を通して、同じ参照指示子は、同じまたは類似の特徴を指す。
【
図1】汎用的なビデオ圧縮方式の例のブロック図である。
【
図2】汎用的なビデオ伸張方式の例のブロック図である。
【
図3】圧縮されたHEVCピクチャを表すいくつかのコーディングツリーユニット(Coding Tree Unit)を示す図である。
【
図4】コーディングツリーユニットをコーディングユニット(Coding Unit)、予測ユニット、および変換ユニット(Transform Unit)に分割することを示す図である。
【
図5】HEVC仕様書によるインター予測情報のシグナリングを示す図である。
【
図6】HEVCにおけるマージ動きベクトル予測子候補のリストの構築を示す図である。
【
図7a】HEVCにおけるマージモードで使用される空間的(a)動きベクトル予測子の位置を示す図である。
【
図7b】HEVCにおけるマージモードで使用される時間的(b)動きベクトル予測子の位置を示す図である。
【
図8】
図7に示される空間的および時間的動きベクトル予測子の位置に対するマージ動きベクトル予測子候補のリストの構築を示す図である。
【
図9】履歴ベース動きベクトル予測子候補を使用する方法においてテーブルを更新する例を示す図である。
【
図10】VVC Draft3による非サブブロック(または平行移動(translational))マージ候補リスト構築を示す図である。
【
図11】VTM-3によるサブブロックベースの動きベクトル予測子候補のリストの構築を示す図である。
【
図12】第1の実施形態の第1の変形による修正された平行移動マージ候補リスト構築を示す図である。
【
図13】履歴ベース動きベクトル予測子を挿入する条件が修正された、第1の実施形態の第2の変形を示す図である。
【
図14】ペアワイズ平均動きベクトル予測子を挿入する条件が修正された、第1の実施形態の第3の変形を示す図である。
【
図15】候補リスト構築中のペアワイズ動きベクトル予測子と履歴ベース動きベクトル予測子との間の順序が最大リストサイズに依存する、第2の実施形態の第1の変形を示す図である。
【
図16】HMVP候補およびペアワイズ候補を考慮する条件が第1の変形と比較して修正された、第2の実施形態の第2の変形を示す図である。
【
図17】履歴ベース動きベクトル予測子とペアワイズ候補とがマージリスト中でインタリーブされる、候補リスト構築の第3の実施形態の第1の変形を示す図である。
【
図18】HMVP候補の挿入の条件が第1の変形と比較して修正された、候補リスト構築の第3の実施形態の第2の変形を示す図である。
【
図19】結合候補およびペアワイズ候補が現フレームの時間的構造に応じて追加される、候補リスト構築の第4の実施形態を示す図である。
【
図20】本開示の実施形態による方法の汎用的なフローチャートである。
【
図21】例示的な実施形態の様々な態様がその中で実装され得るシステムの例のブロック図である。
【発明を実施するための形態】
【0018】
記述を明確にするために、以下の記述では、例えばHEVCおよび/またはVVC/H.266などのビデオ圧縮技術を伴う実施形態に関して、態様について述べる。しかし、述べられる態様は、他のビデオ処理技術および標準にも適用可能である。
【0019】
図1は、例示的なビデオエンコーダ100を示す。このエンコーダ100の変形も企図されるが、以下では、明確にするために、予想される全ての変形については述べられず、エンコーダ100について述べられる。
【0020】
ビデオシーケンスは、エンコードされる前に、符号化前処理(101)を経ることができる。これは例えば、入力カラーピクチャに色変換を適用すること(例えば、RGB4:4:4からYCbCr4:2:0へのコンバージョン)、または、圧縮からの回復力がより高い信号分布を得るために入力ピクチャ成分の再マッピングを実施すること(例えば、色成分のうちの1つのヒストグラム均等化を使用して)である。メタデータが、前処理に関連付けられてよく、ビットストリームに添付されてよい。
【0021】
1つまたは複数のピクチャを含むビデオシーケンスをエンコードするために、ピクチャは、例えば1つまたは複数のスライスに区分化(102)され、各スライスは、1つまたは複数のスライスセグメントを含むことができる。HEVCでは、スライスセグメントは、コーディングユニット、予測ユニット、および変換ユニットに編成される。HEVC仕様書は「ブロック」と「ユニット」とを区別している。「ブロック」は、サンプルアレイ中の特定エリア(例えば輝度(luma)、Y)を対象とし、「ユニット」は、エンコードされた全ての色成分(Y、Cb、Cr、または単色)の連結ブロックと、構文要素と、ブロックに関連付けられた予測データ(例えば動きベクトル)とを含む。
【0022】
エンコーダ100中では、後述されるようにエンコーダ要素によってピクチャがエンコードされる。エンコードされることになるピクチャは、例えばCUの単位で処理される。各ユニットは、例えばイントラモードとインターモードのいずれかを使用してエンコードされる。ユニットがイントラモードでエンコードされるときは、イントラ予測(160)を実施する。インターモードでは、動き推定(175)および補償(170)が実施される。エンコーダは、イントラモードとインターモードのどちらをユニットの符号化に使用するかを決定し(105)、イントラ/インター決定を、例えば予測モードフラグによって示す。予測残差が、例えば予測されたブロックを元の画像ブロックから引くこと(110)によって計算される。
【0023】
予測残差は、変換(125)および量子化(130)される。量子化された変換係数、並びに動きベクトルおよび他の構文要素は、エントロピー符号化(145)されて、ビットストリームが出力される。エンコーダは、変換をスキップし、未変換の残差信号に量子化を直接に適用できる。エンコーダは、変換と量子化の両方を迂回でき、すなわち、残差は、変換プロセスも量子化プロセスも適用されずに直接に符号化される。
【0024】
エンコーダは、エンコードされたブロックをデコードして、さらに後の予測のための参照を提供する。量子化された変換係数は、逆量子化(140)および逆変換(150)されて、予測残差がデコードされる。デコードされた予測残差と予測されたブロックとを結合(155)することで、画像ブロックが再構築される。再構築されたピクチャにインループフィルタ(165)が適用されて、例えばデブロッキング/SAO(サンプル適応オフセット(Sample Adaptive Offset))フィルタリングが実施され、それにより符号化アーチファクトが低減される。フィルタリングされた画像は、参照ピクチャバッファ(180)に記憶される。
【0025】
図2は、ビデオデコーダ200のブロック図を示す。デコーダ200中では、後述されるようにビットストリームがデコーダ要素によってデコードされる。ビデオデコーダ200は一般に、
図1で述べられた符号化パスと逆の復号パスを実施する。エンコーダ100もまた一般に、ビデオデータの符号化の一部としてビデオ復号を実施する。
【0026】
特に、デコーダの入力は、ビデオエンコーダ100によって生成され得るビデオビットストリームを含む。ビットストリームは最初にエントロピー復号(230)されて、変換係数、動きベクトル、および他の符号化済み情報が得られる。ピクチャ区分情報は、どのようにピクチャが区分化されるかを示す。したがって、デコーダは、復号されたピクチャ区分情報に従ってピクチャを分割(235)できる。変換係数は、逆量子化(240)および逆変換(250)されて、予測残差がデコードされる。デコードされた予測残差と予測されたブロックとを結合(255)することで、画像ブロックが再構築される。予測されたブロックは、イントラ予測(260)または動き補償予測(すなわちインター予測)(275)から得ることができる(270)。再構築された画像にインループフィルタ(265)が適用される。フィルタリングされた画像は、参照ピクチャバッファ(280)に記憶される。
【0027】
復号されたピクチャはさらに、復号後処理(285)を経ることができる。これは例えば、逆色変換(例えば、YCbCr4:2:0からRGB4:4:4へのコンバージョン)、または、符号化前処理(101)で実施された再マッピングプロセスの逆を実施する逆再マッピングである。復号後処理は、符号化前処理で導出されビットストリーム中でシグナリングされたメタデータを使用することができる。
【0028】
本出願は、動き補償時間的予測を採用してビデオシーケンスの連続的なピクチャ間に存在する冗長性を利用する、
図1および
図2にそれぞれ示されるようなエンコーダおよびデコーダ中で、動きベクトル予測子のリストを適応させることを提案する。
【0029】
HEVCビデオ圧縮標準、またはHEVCに類似する技術では、動きベクトルが予測ユニット(PU)に関連付けられる。エンコードまたはデコードされることになるピクチャは、符号化の基本単位であるいわゆるコーディングツリーユニット(CTU)に分割され、CTUの連続的なセットは、スライスにグループ化される。CTUは普通、3つのコーディングツリーブロック(CTB:Coding Tree Block)、すなわち輝度サンプルのための1つのブロックおよび彩度サンプルのための2つのブロックと、関連する構文要素とを含む。コーディングツリーユニットはさらにコーディングユニット(CU)に分離されることができ、CUは、予測タイプ決定のための、すなわちインターピクチャ予測を実施するかイントラピクチャ予測を実施するかを決定するための最小符号化要素である。最後に、コーディングユニットは1つまたは複数の予測ユニット(PU)にさらに分離される。
【0030】
図3に、ピクチャの一部をCTU0、1、2に区分化する例が示される。図では、左のCTU0はそのまま直接に使用され、その右のCTU1は、CTUによってカバーされるピクチャ領域の信号特性に基づいて、より小さい複数のセクションに区分化される。矢印は、それぞれのセクションの動きベクトルを示す。
【0031】
CTBは、コーディングブロック(CB:Coding Block)への四分木区分化の根であり、コーディングブロックは、1つまたは複数の予測ブロック(PB:Prediction Block)に区分化されてよく、変換ブロック(TB:Transform Block)への四分木区分化の根を形成する。4×4よりも大きい変換ブロック(TB)は、係数グループ(CG:Coefficient Group)と呼ばれる量子化済み係数の4×4サブブロックに分割される。コーディングブロック、予測ブロック、および変換ブロックに対応して、コーディングユニット(CU)は、予測ユニット(PU)と、変換ユニット(TU)の木構造セットとを含む。PUは、全ての色成分についての予測情報を含み、TUは、各色成分についての残差コーディング構文構造を含む。同じ予測が、予測ブロック(PB)に適用される。輝度成分のCB、PB、およびTBのサイズは、対応するCU、PU、およびTUに適用される。
図4に、コーディングツリーユニットをコーディングユニット、予測ユニット、および変換ユニットに分割する例が示される。
【0032】
以下では、提案される方法が詳述される。最初に、マージモード、ペアワイズ平均、および履歴ベース動きベクトル予測子候補の一般原理について述べられる。次に、ペアワイズ平均および履歴ベース動きベクトル予測子候補を含むマージ候補リストの構築のための、種々の実施形態が提案される。
【0033】
HEVC標準によるマージモードは、選択された動き情報予測子候補から、所与の予測ユニットのインター予測情報(以下では動き情報とも呼ばれる)を導出することを含む。ここで考察される動き情報は、PUの全てのインター予測パラメータ、すなわち以下のパラメータを含む。
- 単方向または双方向の時間的予測タイプ
- 各参照ピクチャリスト内の参照ピクチャインデックス
- 動きベクトル
【0034】
図5に、HEVCにおけるインター予測情報の符号化および復号が要約される。図に示すように、動き情報符号化/復号は、スキップモードとマージモードとで類似する。この2つのモードでは、PUの動き情報をデコーダが取り出せるようにするために、1つの単一フィールドがシグナリングされている。いわゆるマージインデックスMerge_idxである。マージインデックスは、現PUの動き情報を導出するのに、マージ動き情報予測子のリスト中のどの動きベクトル予測子が使用されるかを示す。以下では、動き情報予測子のリストは、マージリストまたはマージ候補リストとも呼ばれる。さらに、候補動き情報予測子は、マージ候補と呼ばれる。
【0035】
HEVCでは、マージ候補リストは、体系的に5つのマージ候補を含む。
図6は、エンコーダ側とデコーダ側の両方でどのようにマージリストが構築されるかを示す。最初に、いくつかの潜在的候補を取り出すために、5つまでの空間的位置が考慮される。これらは、以下の順序に従って訪問される。
1 左(A1)
2 上(B1)
3 右上(B0)
4 左下(A0)
5 左上(B2)
符号A0、A1、B0、B1、B2は、
図7aに示される空間的位置を表す。
【0036】
相互に異なる最大4つの空間的候補が選択される。さらに、
図7bに示される位置における時間的動き情報を考慮することによって、すなわち、位置H、次いで、考慮されている参照ピクチャ中の位置Hにおける候補が利用可能でない場合には「中央」における時間的動き情報を考慮することによって、TMVPとして表される時間的予測子が選択される。次いで、選択された空間的および時間的候補のセットが冗長候補を含まないことを確実にするために、プルーニングプロセスが行われる。
【0037】
次に、Bスライスの場合、マージリストが一杯でないならば、別のタイプの候補がマージリストにプッシュされる。いわゆる結合候補である。これは、リスト中にすでに存在するある候補からの一方の参照ピクチャリスト(L0)に関連付けられた動き情報と、マージリスト中にすでに存在する別の候補からの他方の参照ピクチャリスト(L1)に関連付けられた動き情報とからなる候補を形成することにある。
【0038】
最後に、マージリストがまだ一杯でない場合、すなわち5つの要素をまだ含まない場合は、一杯になるまでゼロ動きベクトルがマージリストの末尾(back)にプッシュされる。
【0039】
図8に、HEVCにおけるマージリスト構築の全体的なプロセスが詳述される。
【0040】
JVET-L0090(例えば、非特許文献3参照)では、いわゆるペアワイズ平均候補がマージ候補リストに追加されて、VTM-2圧縮効率が改善される。これらのペアワイズ平均候補は、次のように計算される。各参照ピクチャリストにつき、いくつかの事前定義済み候補ペアがマージ候補リストから採られ、平均される。マージリストは、ペアワイズ平均候補が計算されているとき、その現在状態で採られる。ペアワイズ候補は、マージ候補リスト中で、考慮されている参照ピクチャリストについて、考慮されている位置で1つまたは2つの候補が利用可能である場合に形成される。6つまでの候補が考慮されて、マージ候補リストが拡充される。
【0041】
Draft VVC標準の一部である最後の新しいマージ向上ツールは、履歴ベース動きベクトル予測と呼ばれる(JVET-L0266。例えば、非特許文献4参照)。
【0042】
履歴ベース動きベクトル予測は、現ブロックに先行するブロックの符号化に使用される複数の動き情報からなるテーブルを維持することを含む。非アフィンインターブロックが符号化されるたびに、それに関連付けられた動きデータが、新しいHMVPマージ候補としてテーブルの最後に追加される。HMVPテーブル中の動きベクトル予測子の最大数は6であり、過去の動きデータは、FIFO(先入れ先出し)規則に従ってテーブルから廃棄される。
図9に、動きベクトル予測子の履歴ベースバッファ(テーブル)の管理が示される。
【0043】
図10に、VVC Draft3による、伝統的な(または、アフィンもしくはサブブロックベースとは反対に、非サブブロックもしくは平行移動)マージリスト構築が示される。ここで、「伝統的」とは、各参照ピクチャリストにつきCUに1つの動きベクトルが関連付けられた、平行移動動き補償時間的予測に使用されるマージリストを意味する。
【0044】
HEVCと比較して、伝統的なマージリストの構築は、次のように拡充される。
図10に示されるように、プロセスの第1段階の間は、同じ空間的および時間的予測子が使用される。空間的および時間的MV予測子が追加された後、マージリストに少なくとも2つの空きがある場合は、HMVP候補がリストに追加される。この段階の間、1つまたは複数のHMVP候補が反復的に候補リストの末尾にプッシュされる。リスト中の残りの空きの数が1つまで減少すると、または利用可能なHMVP候補がなくなったときは、この反復的なHMVP充填ステップは停止される。
【0045】
次に、リストがまだ一杯でない(すなわち、追加された候補の数がマージ候補の最大許容数未満である)場合は、いくつかのペアワイズマージ候補が評価され、リストに追加される。この段階は、ペアワイズ候補を反復的に計算してマージ候補リストの末尾にプッシュすることを含む。この反復プロセスは、マージ候補リストが一杯になったとき、または利用可能なペアワイズ候補がなくなったときに停止される。
【0046】
最後に、伝統的なマージリストがまだ一杯でない場合は、それはゼロ動きベクトルで埋められる。
【0047】
図11に、VVC Draft3におけるようなアフィンマージリストの構築が示される。アフィンマージリストは、サブブロックベースの動き補償時間的予測を伴う全てのマージMV予測子を集める。したがって、これは、高度時間的動きベクトル予測(ATMVP:advanced temporal motion vector prediction)マージモードおよびアフィンマージモードを含む。アフィンマージ候補は、現CUについて4×4ブロックベースのアフィン動きフィールドがそれらから導出されて現CUの時間的予測において使用されるような、マージ候補を意味する。
【0048】
ATMVPは、現ブロックの空間的近傍ブロックから導出された動きベクトルによってポイントされる参照ピクチャ中のエリアから、現ブロックの1つまたは複数の動きベクトルを時間的に予測することを含む。
【0049】
図10に示されるように、VVC Draft3では、ペアワイズ平均候補が挿入される前に、HMVPマージ候補が最初にマージリストに挿入される。さらに、これらは、HMVP候補が考慮されている時点で少なくとも2つの空きがマージリスト中に残っている場合に、マージ候補リストに含められる。実際、HMVP候補を考慮する前、マージリスト構築プロセスは、空間的および時間的予測子が利用可能ならそれらでリストを埋める。
【0050】
このマージリスト編成は、符号化効率の視点からは最適でない場合があることが観察されている。したがって、本出願で提案される解決法では、マージリストにおけるレート歪み効率の高い方式で、すなわち、例えばVTM-3のような既存のコーデックよりも符号化効率を改善するようにして、HMVP候補とペアワイズ候補を順序付けるための、いくつかの方法が提案される。特に、最大許容リストサイズ(6、8または10個の最大候補)に応じて、HMVP候補をペアワイズ候補の前に挿入することが符号化効率の点で最適でない場合があることが認められている。
【0051】
これらの観察の結果として、本開示の基本原理の1つは、いくつかのペアワイズ候補をHMVP候補の前にマージ候補リストに入れることである。この目的で、いくつかの実施形態が提供され、以下で詳述される。
【0052】
第1の実施形態によれば、ペアワイズ平均候補がHMVP候補の前にマージ候補リストに挿入される。
図12により、平行移動マージ候補リストを構築するための提案されるプロセスが与えられる。このプロセスは、エンコーダとデコーダの両方によって実施される。図に示されるように、この修正されたプロセスは、ペアワイズ平均マージ候補とHMVPマージ候補がリストに入れられる順序を反転させることを含む。
【0053】
図13により、提案されるプロセスのさらに修正されたバージョンが提供される。この変形は、前のものと比較してさらに精緻化されたプロセスであり、HMVP候補をリストに挿入する条件が修正されている。ここで、HMVP候補は、マージリストがまだ一杯でなければすぐに挿入される。この修正は、HMVP候補が考慮される前にペアワイズ候補がすでに計算されてリストに入れられていることによって正当化される。
【0054】
図14に示される別の変形によれば、ペアワイズ平均候補を挿入する条件が修正され、それにより、ペアワイズ候補は、リスト中に少なくとも2つの空きが残っている場合に使用される。そうでない場合は、ペアワイズ候補は考慮されない。
【0055】
さらに他の実施形態によれば、HMVP候補とペアワイズ候補との間のマージリストの順序付けは、マージリストの最大許容サイズに依存する。実際、最大リストサイズが8のときにペアワイズ候補をHMVP候補の前に入れることが符号化効率を改善することが観察されている。最大リストサイズが6の場合は、符号化効率の変化は観察されない。
【0056】
したがって、この実施形態では、順序付けを最大リストサイズに依存させることが提案される。最大リストサイズは、スライスまたはピクチャヘッダパラメータとして符号化され、VVCではこれまでのところ多くても6に等しい。この実施形態では、マージリストサイズを6よりも大きく、おそらくは10までにできるようにすることが想定される。
【0057】
この場合、マージリストにおけるHMVPとペアワイズとの間の順序は、最大マージリストサイズの関数として自動的に決定される。それが閾値(例えば8)以上である場合は、マージリスト構築プロセスにおいてペアワイズ候補がHMVPの前に考慮される。そうでない場合は、VVC Draft3の場合のように、HMVP候補が先に考慮される。
【0058】
図15および
図16の2つの変形によって、提案される実施形態が示される。
図15に示される第1の変形では、HMVP候補およびペアワイズ候補を考慮するそれぞれの条件は、VTM-3と比較して変わらない。これは、HMVP候補が、マージリスト中に少なくとも2つの空きが残っている場合に処理されることを意味する。ペアワイズ候補は、リストが一杯でない場合に考慮される。
【0059】
図16に示される第2の変形では、考慮される第1の候補タイプ(動的に選ばれた順序による)は、構築中のマージリスト中に少なくとも2つの空きが残っている場合に処理される。選ばれた順序で処理されている第2の候補タイプは、マージリストがまだ一杯でない場合に処理される。
【0060】
さらに他の実施形態によれば、HMVP候補とペアワイズ候補とが、マージリスト中でインタリーブされる。
図17にこれが示される。この新しい実施形態は、
図17の破線で囲まれた反復プロセスを含む。このループは、利用可能なHMVP候補およびペアワイズ候補がなくなるまで、HMVP候補とペアワイズ候補とを交互に挿入することを含む。ループの間、利用可能なHMVPはもうないが、いくつかのペアワイズ候補はまだ利用可能である場合は、利用可能なペアワイズ候補がなくなるまでループが継続する。同様にして、ループの間、利用可能なペアワイズ候補はもうないが、いくつかのHMVP候補はまだ利用可能である場合は、利用可能なHMVP候補がなくなるまでループが継続する。
【0061】
この実施形態の変形によれば、
図18に示されるように、HMVP候補がマージリストに挿入されなければならかいかどうかチェックするために駆動されるテストが修正される。挿入すべき第1のHMVP候補について、プロセスは、リスト中で少なくとも2つの空きが利用可能かどうかテストする。そうである場合は、HMVP候補は挿入され、そうでない場合は、プロセスは、代わりに挿入すべき第1のペアワイズ候補を考慮する。次に、後続の反復では、HMVP候補およびペアワイズ候補の挿入に同じ条件が使用される。すなわち、これらの候補は、リストがまだ一杯でない場合にリストに追加される。
【0062】
JVET-L0090では、ペアワイズ候補を追加することの利得は、低遅延構成よりもランダムアクセス構成において、より高いことが主張されている。HEVC結合候補は、ランダムアクセス構成よりも低遅延において、より効率的である。
【0063】
本実施形態によれば、マージ候補導出プロセスは、参照フレームの現在の時間的構造に依存する。全ての参照フレームが現在のピクチャ順序カウント(POC:Picture Order Count)よりも小さいPOCを有する場合、すなわち参照フレームが過去にある場合は、現フレームは低遅延(LD)構成を有すると考えられる。いくつかの参照フレームは過去にあり他の参照フレームは未来にある場合、現フレームはランダムアクセス(RA)構成を有すると考えられる。本実施形態では、
図19に描かれるように、現ピクチャがランダムアクセス構成を有する場合はペアワイズ候補が追加され、現ピクチャが低遅延構成を有する場合は結合候補が追加される。
【0064】
この実施形態の変形では、HMVP挿入位置は、低遅延構成に依存する。
【0065】
別の実施形態によれば、リストにおけるHMVP候補とペアワイズ平均候補との間の順序付けは、過去のコーディングユニットにおけるこの2つの候補それぞれの使用率に従って導出される。JVET-L0318(例えば、非特許文献5参照)は、インター予測のためのランク付けベースの空間的マージ候補リストを提案している。ここでは、同様のアプローチが、平行移動マージ候補リストにおけるHMVPとペアワイズとの間のランク付けに適用される。したがって、コーディングユニットがデコードまたはエンコードされている限り、HMVPおよびペアワイズそれぞれの使用率が維持される。次いで、より発生数の多いモードが先にリストに入れられる。
【0066】
提案される様々な実施形態は、レート歪み効率の高い方式でHMVPおよびペアワイズ候補を含むマージリストを提供する。
図20に、これらの実施形態の一般的な基本原理を示す汎用的なフローチャート300が示される。ステップ310で、ピクチャの現ブロックについて、現ブロックに先行するブロックの動き情報を使用して1つまたは複数の履歴ベース動きベクトル予測子候補が決定される。さらに、ステップ320で、現ブロックについて、動きベクトル予測子候補のリスト中の動きベクトル予測子候補のペアを平均することによって1つまたは複数の平均動きベクトル予測子候補が決定される。リスト中の動きベクトル予測子候補は、現ブロックを空間的および/または時間的に囲むブロックの動き情報を使用して形成される。最後に、平均動きベクトル予測子候補のうちの1つまたは複数が、履歴ベース動きベクトル予測子候補のうちの1つまたは複数の前に、動きベクトル予測子候補のリストに挿入される。
【0067】
本出願は、ツール、特徴、実施形態、モデル、アプローチなどを含む様々な態様について述べている。これらの態様の多くは具体的に述べられ、また、少なくとも個別の特性を示すために、限定的と思われ得る方式でしばしば述べられる。しかし、これは記述を明確にするためであり、これらの態様の適用または範囲を限定しない。実際、種々の態様は全て、さらに他の態様を提供するために結合および交換されることが可能である。さらに、態様は、以前の出願で述べられた態様と結合および交換されることも可能である。
【0068】
本出願で記述および企図される態様は、多くの異なる形で実装され得る。
図1、
図2、および以下の
図21は、いくつかの実施形態を提供するが、他の実施形態も企図され、
図1、
図2、および
図21についての考察は実装形態の広さを限定しない。態様の少なくとも1つは一般に、ビデオ符号化および復号に関し、少なくとも1つの他の態様は一般に、生成または符号化されたビットストリームを送信することに関する。これらおよび他の態様は、方法として、装置として、述べられた方法のいずれかに従ってビデオデータを符号化もしくは復号するための命令が記憶されたコンピュータ可読記憶媒体として、かつ/または、述べられた方法のいずれかに従って生成されたビットストリームが記憶されたコンピュータ可読記憶媒体として、実装されることが可能である。
【0069】
本出願では、用語「再構築される」と「復号される」は交換可能に使用されることがあり、用語「画素」と「サンプル」は交換可能に使用されることがあり、用語「画像」と「ピクチャ」と「フレーム」は交換可能に使用されることがある。必ずしもそうとは限らないが普通は、用語「再構築される」はエンコーダ側で使用され、「復号される」はデコーダ側で使用される。
【0070】
本明細書では様々な方法について述べられ、各方法は、述べられた方法を達成するための1つまたは複数のステップまたはアクションを含む。方法の正しい動作のためにステップまたはアクションの特定の順序が必要とされるのでない限り、具体的なステップおよび/またはアクションの順序および/または使用は、修正または結合されてもよい。
【0071】
本出願で述べられた様々な方法および他の態様を使用して、
図1および
図2に示されるビデオエンコーダ100およびデコーダ200のモジュール、例えばエントロピー符号化および/または復号モジュール(170、175、275)を修正できる。さらに、これらの態様は、VVCまたはHEVCに限定されず、例えば、既存のものであろうと将来開発されるものであろうと他の標準および勧告に適用されることも可能であり、そのようないずれかの標準および勧告(VVCおよびHEVCを含む)の拡張に適用されることも可能である。別段の指示がない限り、または技術的に除外されない限り、本出願で述べられた態様は、個別にまたは組み合わせて使用されることが可能である。
【0072】
本出願では、様々な数値が使用される。例えば、マージ候補リスト中の残りのスポットの数、および、マージ候補リストの最大許容サイズに対する閾値が使用される。具体的な値は例示のためのものであり、述べられた態様はこれらの具体的な値に限定されない。
【0073】
図21は、様々な態様および実施形態がその中で実装されるシステムの例のブロック図を示す。システム1000は、後述される様々なコンポーネントを備えるデバイスとして具体化でき、本文書で述べられた態様のうちの1つまたは複数を実施するように構成される。このようなデバイスの例は、次のものに限定されないが、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、ディジタルマルチメディアセットトップボックス、ディジタルテレビジョン受像機、パーソナルビデオ録画システム、ネット接続家電、およびサーバなど、様々な電子デバイスを含む。システム1000の要素は、単一でまたは組合せで、単一の集積回路(IC)、複数のIC、および/または個別コンポーネントにおいて具体化されることが可能である。例えば、少なくとも1つの実施形態では、システム1000の処理およびエンコーダ/デコーダ要素は、複数のICおよび/または個別コンポーネントにわたって分散される。様々な実施形態で、システム1000は、例えば通信バスまたは専用の入力および/もしくは出力ポートを介して、1つまたは複数の他のシステムまたは他の電子デバイスに通信可能に結合される。様々な実施形態で、システム1000は、本文書で述べられた態様のうちの1つまたは複数を実装するように構成される。
【0074】
システム1000は少なくとも1つのプロセッサ1010を備え、プロセッサ1010は、例えば本文書で述べられた様々な態様を実装するために、それにロードされた命令を実行するように構成される。プロセッサ1010は、組込みメモリ、入出力インタフェース、および当技術分野で知られている他の様々な回路を備え得る。システム1000は、少なくとも1つのメモリ1020(例えば、揮発性メモリデバイスおよび/または不揮発性メモリデバイス)を備える。システム1000は記憶デバイス1040を備え、記憶デバイス1040は、次のものに限定されないが、電気的に消去可能読取り可能な読取専用メモリ(EEPROM)、読取専用メモリ(ROM)、プログラム可能な読取専用メモリ(PROM)、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、フラッシュ、磁気ディスクドライブ、および/または光学ディスクドライブを含む、不揮発性メモリおよび/または揮発性メモリを含み得る。記憶デバイス1040は、非限定的な例として、内部記憶デバイス、取り付けられた記憶デバイス(着脱可能および非着脱可能な記憶デバイスを含む)、並びに/またはネットワークアクセス可能な記憶デバイスを含み得る。
【0075】
システム1000は、データを処理して符号化済みビデオまたは復号済みビデオを提供するように例えば構成された、エンコーダ/デコーダモジュール1030を備え、エンコーダ/デコーダモジュール1030は、それ自体のプロセッサおよびメモリを備えることができる。エンコーダ/デコーダモジュール1030は、符号化および/または復号機能を実施するためにデバイスに備えられることが可能なモジュールを表す。知られているように、デバイスは、符号化モジュールと復号モジュールの一方または両方を備えることができる。また、エンコーダ/デコーダモジュール1030は、システム1000の別要素として実装されてもよく、または、当業者に知られているようにハードウェアとソフトウェアの組合せとしてプロセッサ1010内に組み込まれてもよい。
【0076】
本文書で述べられた様々な態様を実施するためにプロセッサ1010またはエンコーダ/デコーダ1030にロードされることになるプログラムコードは、記憶デバイス1040に記憶されて、その後、プロセッサ1010による実行のためにメモリ1020にロードされ得る。様々な実施形態によれば、プロセッサ1010、メモリ1020、記憶デバイス1040、およびエンコーダ/デコーダモジュール1030のうちの1つまたは複数は、本文書で述べられたプロセスの実施中に様々なアイテムのうちの1つまたは複数を記憶できる。記憶されるこのようなアイテムは、次のものに限定されないが、入力ビデオ、復号済みビデオまたは復号済みビデオの一部、ビットストリーム、行列、変数、および、等式や公式や演算や演算ロジックの処理からの中間結果または最終結果、を含み得る。
【0077】
いくつかの実施形態では、プロセッサ1010および/またはエンコーダ/デコーダモジュール1030の内部のメモリを使用して、命令が記憶され、また、符号化中または復号中に必要とされる処理のための作業メモリが提供される。しかし、他の実施形態では、処理デバイス(例えば、処理デバイスは、プロセッサ1010とエンコーダ/デコーダモジュール1030とのいずれかであってよい)の外部のメモリが、これらの機能のうちの1つまたは複数に使用される。外部メモリは、メモリ1020および/または記憶デバイス1040、例えば、ダイナミック揮発性メモリおよび/または不揮発性フラッシュメモリとすることができる。いくつかの実施形態では、外部不揮発性フラッシュメモリを使用して、例えばテレビジョンのオペレーティングシステムが記憶される。少なくとも1つの実施形態では、MPEG-2(MPEGは、Moving Picture Experts Groupを指す。MPEG-2はISO/IEC13818とも呼ばれ、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)によって開発中の新標準)などの場合のビデオ符号化および復号動作のための作業メモリとして、RAMなどの高速外部ダイナミック揮発性メモリが使用される。
【0078】
システム1000の要素への入力は、ブロック1130に示されるように様々な入力デバイスを介して提供され得る。このような入力デバイスは、次のものに限定されないが、(i)放送事業者によって電波を介して例えば送信されたRF信号を受信する無線周波数(RF)部、(ii)コンポーネント(COMP)入力端子(もしくはCOMP入力端子のセット)、(iii)USB入力端子、および/または(iv)HDMI(登録商標)入力端子を含む。
図21に示されていない他の例は、コンポジットビデオを含む。
【0079】
様々な実施形態で、ブロック1130の入力デバイスには、当技術分野で知られているようにそれぞれの入力処理要素が関連付けられている。例えば、RF部は、次のことに適した要素に関連付けられ得る。すなわち、(i)所望の周波数を選択すること(信号を選択すること、または信号を周波数帯域に帯域制限することとも言われる)、(ii)選択された信号をダウンコンバートすること、(iii)より狭い周波数帯域に再び帯域制限して、(例えば)いくつかの実施形態でチャネルと呼ばれ得る信号周波数帯域を選択すること、(iv)ダウンコンバートされ帯域制限された信号を復調すること、(v)誤り訂正を実施すること、および(vi)多重分離してデータパケットの所望のストリームを選択することである。様々な実施形態のRF部は、これらの機能を実施するための1つまたは複数の要素、例えば、周波数セレクタ、信号セレクタ、帯域リミッタ、チャネルセレクタ、フィルタ、ダウンコンバータ、復調器、誤り訂正器、およびデマルチプレクサを備える。RF部は、これらの機能のうち、受信信号をより低い周波数(例えば、中間周波数もしくはベースバンド付近周波数)またはベースバンドにダウンコンバートすることを例えば含む様々な機能を実施するチューナを備えることができる。あるセットトップボックスの実施形態では、RF部およびそれに関連付けられた入力処理要素は、有線(例えばケーブル)媒体を介して送信されたRF信号を受信し、フィルタリング、ダウンコンバート、および再度のフィルタリングを行って所望の周波数帯域にすることによって周波数選択を実施する。様々な実施形態は、前述の(および他の)要素の順序を並べ替えること、これらの要素のいくつかを除去すること、並びに/または、同様のもしくは異なる機能を実施する他の要素を追加することを行う。要素を追加することは、既存の要素間に要素を挿入すること、例えば増幅器およびアナログ-ディジタル変換器を挿入することなどを含むことができる。様々な実施形態で、RF部はアンテナを含む。
【0080】
USBおよび/またはHDMI端子は、USBおよび/またはHDMI接続を介してシステム1000を他の電子デバイスに接続するための、それぞれのインタフェースプロセッサを備え得る。入力処理の様々な態様、例えばリードソロモン誤り訂正が、必要に応じて例えば別個の入力処理IC内またはプロセッサ1010内で実装できることを理解されたい。同様に、USBまたはHDMIインタフェース処理の態様も、必要に応じて別個のインタフェースIC内またはプロセッサ1010内で実装され得る。復調され、誤り訂正され、多重分離されたストリームは、プロセッサ1010およびエンコーダ/デコーダ1030を例えば含む様々な処理要素に提供され、プロセッサ1010およびエンコーダ/デコーダ1030は、必要に応じて、出力デバイス上での提示のために、メモリおよび記憶要素と共に動作してデータストリームを処理する。
【0081】
システム1000の様々な要素は、一体型の筐体内に設けられることができる。一体型の筐体内で、様々な要素は、適切な接続構成、例えば、Inter-IC(I2C)バスを含む当技術分野で知られている内部バス、ワイヤ配線、およびプリント回路板を使用して、相互接続されてそれらの間でデータを伝送することができる。
【0082】
システム1000は、通信チャネル1060を介した他のデバイスとの通信を可能にする通信インタフェース1050を備える。通信インタフェース1050は、次のものに限定されないが、通信チャネル1060を介してデータを送受信するように構成された送受信機を含み得る。通信インタフェース1050は、次のものに限定されないが、モデムまたはネットワークカードを含むことができ、通信チャネル1060は、例えば有線および/または無線媒体内で実装できる。
【0083】
データは、様々な実施形態で、例えばIEEE802.11(IEEEはInstitute of Electrical and Electronics Engineersを指す)のようなWi-Fiネットワークなど、無線ネットワークを使用して、システム1000にストリーミングされるかまたは他の方法で提供される。これらの実施形態のWi-Fi信号は、Wi-Fi通信に適合された通信チャネル1060および通信インタフェース1050を介して受信される。これらの実施形態の通信チャネル1060は通常、ストリーミング応用例および他のオーバーザトップ通信を可能にするためにインターネットを含む外部ネットワークへのアクセスを提供する、アクセスポイントまたはルータに接続される。他の実施形態は、入力ブロック1130のHDMI接続を介してデータを送達するセットトップボックスを使用して、システム1000にストリーミングデータを提供する。さらに他の実施形態は、入力ブロック1130のRF接続を使用して、システム1000にストリーミングデータを提供する。上述したように、様々な実施形態は、非ストリーミング方式でデータを提供する。様々な実施形態は、Wi-Fi以外の無線ネットワーク、例えばセルラーネットワークやブルートゥース(登録商標)ネットワークを使用する。
【0084】
システム1000は、ディスプレイ1100、スピーカ1110、および他の周辺デバイス1120を含む様々な出力デバイスに出力信号を提供できる。様々な実施形態のディスプレイ1100は、例えば、タッチスクリーンディスプレイ、有機発光ダイオード(OLED)ディスプレイ、曲面ディスプレイ、および/または折畳み可能ディスプレイのうちの1つまたは複数を含む。ディスプレイ1100は、テレビジョン、タブレット、ラップトップ、セルフォン(モバイルフォン)、または他のデバイスのためのものとすることができる。ディスプレイ1100はまた、他のコンポーネントと統合されてもよく(例えばスマートフォンにおけるように)、または別個であってもよい(例えば、ラップトップのための外部モニタ)。他の周辺デバイス1120は、実施形態の様々な例で、スタンドアロンディジタルビデオディスク(またはディジタル多用途ディスク)(両方の用語に対してDVR)、ディスクプレーヤ、ステレオシステム、および/または照明システムのうちの1つまたは複数を含む。様々な実施形態は、システム1000の出力に基づく機能を提供する1つまたは複数の周辺デバイス1120を使用する。例えば、ディスクプレーヤは、システム1000の出力を再生する機能を実施する。
【0085】
様々な実施形態で、システム1000とディスプレイ1100、スピーカ1110、または他の周辺デバイス1120との間で、AV.Link、コンシューマエレクトロニクスコントロール(CEC)、またはユーザ介入ありもしくはなしのデバイス間制御を可能にする他の通信プロトコル、などのシグナリングを使用して制御信号が通信される。出力デバイスは、それぞれのインタフェース1070、1080および1090を通した専用接続を介して、システム1000に通信可能に接続できる。あるいは、出力デバイスは、通信インタフェース1050を介して通信チャネル1060を使用してシステム1000に接続されることもできる。ディスプレイ1100およびスピーカ1110は、電子デバイス、例えばテレビジョンにおいて、システム1000の他のコンポーネントと単一ユニット中で統合され得る。様々な実施形態で、ディスプレイインタフェース1070は、ディスプレイドライバ、例えばタイミングコントローラ(T Con)チップなどを含む。
【0086】
あるいは、ディスプレイ1100およびスピーカ1110は、例えば入力1130のRF部が別個のセットトップボックスの一部である場合に、他のコンポーネントのうちの1つまたは複数とは別個であってもよい。ディスプレイ1100およびスピーカ1110が外部コンポーネントである場合の様々な実施形態では、出力信号は、HDMIポート、USBポート、またはCOMP出力を例えば含む専用の出力接続を介して提供され得る。
【0087】
実施形態は、プロセッサ1010によって実装されるコンピュータソフトウェアによって、またはハードウェアによって、またはハードウェアとソフトウェアの組合せによって実施できる。非限定的な例として、実施形態は、1つまたは複数の集積回路によって実装されることができる。メモリ1020は、技術環境に適した任意のタイプのものであってよく、非限定的な例として、光学メモリデバイス、磁気メモリデバイス、半導体ベースのメモリデバイス、固定メモリ、および取外し可能メモリなど、任意の適切なデータ記憶技術を使用して実装できる。プロセッサ1010は、技術環境に適した任意のタイプのものであってよく、非限定的な例として、マイクロプロセッサ、汎用コンピュータ、専用コンピュータ、および、マルチコアアーキテクチャに基づくプロセッサ、のうちの1つまたは複数を含むことができる。
【0088】
様々な実装形態は、復号を伴う。本出願で使用される「復号」は、表示に適した最終出力を生成するために、受信された符号化済みシーケンスに対して例えば実施されるプロセスの、全てまたは一部を含むことができる。様々な実施形態で、このようなプロセスは、デコーダによって通常実施されるプロセス、例えばエントロピー復号、逆量子化、逆変換、および差分復号、のうちの1つまたは複数を含む。様々な実施形態で、このようなプロセスはまた、または代替として、本出願で述べられた様々な実装形態のデコーダによって実施されるプロセスを含む。
【0089】
他の例として、一実施形態では、「復号」はエントロピー復号のみを指し、別の実施形態では、「復号」は差分復号のみを指し、別の実施形態では、「復号」はエントロピー復号と差分復号の組合せを指す。「復号プロセス」という句が動作のサブセットを特に指すものとされるか、それともより広範な復号プロセスを一般に指すものとされるかは、具体的な記述のコンテキストに基づいて明らかであろうし、当業者には十分理解されると思われる。
【0090】
様々な実装形態は、符号化を伴う。「復号」に関する上記の考察と同様にして、本明細書で使用される「符号化」は、符号化済みビットストリームを生成するために入力ビデオシーケンスに対して例えば実施されるプロセスの全てまたは一部を含むことができる。様々な実施形態で、このようなプロセスは、エンコーダによって通常実施されるプロセス、例えば区分化、差分符号化、変換、量子化、およびエントロピー符号化、のうちの1つまたは複数を含む。様々な実施形態で、このようなプロセスはまた、または代替として、本出願で述べられた様々な実装形態のエンコーダによって実施されるプロセスを含む。
【0091】
他の例として、一実施形態では、「符号化」はエントロピー符号化のみを指し、別の実施形態では、「符号化」は差分符号化のみを指し、別の実施形態では、「符号化」は差分符号化とエントロピー符号化の組合せを指す。「符号化プロセス」という句が動作のサブセットを特に指すものとされるか、それともより広範な符号化プロセスを一般に指すものとされるかは、具体的な記述のコンテキストに基づいて明らかであろうし、当業者には十分に理解されると思われる。
【0092】
図は、流れ図として提示されるときには、対応する装置のブロック図も提供すると理解されたい。同様に、図は、ブロック図として提示されるときには、対応する方法/プロセスの流れ図も提供すると理解されたい。
【0093】
本明細書で述べられた実装形態および態様は、例えば、方法もしくはプロセス、装置、ソフトウェアプログラム、データストリーム、または信号において実装されることが可能である。考察される特徴の実装形態は、単一の形の実装形態のコンテキストでのみ考察される(例えば方法としてのみ考察される)場合であっても、他の形(例えば装置やプログラム)で実装できる。装置は、例えば、適切なハードウェア、ソフトウェア、およびファームウェアにおいて実装できる。方法は、例えばプロセッサにおいて実装されることが可能であり、プロセッサは、コンピュータ、マイクロプロセッサ、集積回路、またはプログラマブルロジックデバイスを例えば含む処理デバイスを一般に指す。プロセッサはまた、例えばコンピュータ、セルフォン、ポータブル/パーソナルディジタルアシスタント(PDA)、およびエンドユーザ間の情報の通信を容易にする他のデバイスなど、通信デバイスも含む。
【0094】
「一実施形態」または「実施形態」または「一実装形態」または「実装形態」、並びにこれらの他の変形への言及は、実施形態に関連して述べられた特定の特徴、構造、特性などが少なくとも1つの実施形態に含まれることを意味する。したがって、本出願の全体にわたる様々な場所で「一実施形態で」または「実施形態で」または「一実装形態で」または「実装形態で」という句、並びにいずれか他の変形が現れる場合、これは、全てが同じ実施形態を指すとは限らない。
【0095】
本出願は、様々な情報を「決定する」ことに言及することがある。情報を決定することは、例えば、情報を推定すること、情報を計算すること、情報を予測すること、または情報をメモリから取り出すことのうちの1つまたは複数を含むことができる。
【0096】
本出願は、様々な情報に「アクセスする」ことに言及することがある。情報にアクセスすることは、例えば、情報を受け取ること、情報を(例えばメモリから)取り出すこと、情報を記憶すること、情報を移動すること、情報をコピーすること、情報を計算すること、情報を決定すること、情報を予測すること、または情報を推定することのうちの1つまたは複数を含むことができる。
【0097】
本出願は、様々な情報を「受け取る」ことに言及することがある。受け取ることは、「アクセスする」ことと同様、広範な用語であるものとされる。情報を受け取ることは、例えば、情報にアクセスすること、または情報を(例えばメモリから)取り出すことのうちの1つまたは複数を含むことができる。さらに、「受け取る」ことは通常、例えば情報の記憶、情報の処理、情報の伝送、情報の移動、情報のコピー、情報の消去、情報の計算、情報の決定、情報の予測、または情報の推定などの動作中に、何らかの方法で関係する。
【0098】
例えば「A/B」、「Aおよび/またはB」、および「AとBのうちの少なくとも一方」の場合の、「/」、「および/または」、「少なくとも一方」のいずれかの使用は、列挙された第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つによって生成されたデータを含むことができる。例えば、信号は、述べられた実施形態のビットストリームを搬送するようにフォーマットされ得る。このような信号は、例えば、電磁波(例えば、スペクトルの無線周波数部分を使用する)として、またはベースバンド信号としてフォーマットされることが可能である。フォーマットすることは、例えば、データストリームを符号化し、符号化済みデータストリームでキャリアを変調することを含み得る。信号が搬送する情報は、例えば、アナログまたはディジタル情報であってよい。信号は、知られている様々な異なる有線または無線リンクを介して伝送され得る。信号は、プロセッサ可読媒体に記憶できる。