図2は、本開示の一実施形態に係る通信システム(200)の簡略ブロック図を示す。通信システム(200)は、例えばネットワーク(250)を介して互いに通信し得る複数の端末デバイスを含む。例えば、通信システム(200)は、ネットワーク(250)を介して相互接続された端末デバイス(210)及び(220)の第1の対を含む。図2の例において、端末デバイス(210)及び(220)の第1の対は、データの単方向送信を実行する。例えば、端末デバイス(210)は、ネットワーク(250)を介して他の端末デバイス(220)に送信するためにビデオデータ(例えば、端末デバイス(210)によって捕捉されるビデオピクチャのストリーム)をコーディングし得る。エンコーディングされたビデオデータは、1つ以上のコーディングされたビデオビットストリームの形式で送信され得る。端末デバイス(220)は、ネットワーク(250)からコーディングされたビデオデータを受信し、コーディングされたビデオデータをデコーディングしてビデオピクチャを復元し、復元されたビデオデータにしたがってビデオピクチャを表示し得る。単方向データ送信は、メディアサービング用途などで一般的であり得る。
他の例において、通信システム(200)は、例えばビデオ会議中に行われ得るコーディングされたビデオデータの双方向送信を実行する端末デバイス(230)及び(240)の第2の対を含む。データの双方向送信のために、一例では、端末デバイス(230)及び(240)の各端末デバイスは、ネットワーク(250)を介して端末デバイス(230)及び(240)の他方の端末デバイスに送信するためにビデオデータ(例えば、端末デバイスによって捕捉されるビデオピクチャのストリーム)をコーディングし得る。また、端末デバイス(230)及び(240)の各端末デバイスは、端末デバイス(230)及び(240)の他方の端末デバイスによって送信されるコーディングされたビデオデータも受信することができ、コーディングされたビデオデータをデコーディングしてビデオピクチャを復元することができるとともに、復元されたビデオデータにしたがってアクセス可能な表示デバイスにビデオピクチャ表示できる。
図2の例において、端末デバイス(210)、(220)、(230)及び(240)は、サーバ、パーソナルコンピュータ、及び、スマートフォンとして示され得るが、本開示の原理はそのように限定され得ない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、及び/又は、専用ビデオ会議機器を伴う用途を見出す。ネットワーク(250)は、例えば有線(ワイヤード)及び/又は無線通信ネットワークを含む、端末デバイス(210)、(220)、(230)及び(240)間でコーディングされたビデオデータを伝達する任意の数のネットワークを表わす。通信ネットワーク(250)は、回路交換チャネル及び/又はパケット交換チャネルでデータを交換し得る。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、及び/又は、インターネットを含む。本議論の目的のために、ネットワーク(250)のアーキテクチャ及びトポロジは、本明細書で以下に説明されない限り、本開示の動作にとって重要ではあり得ない。
図3は、開示された主題の用途の一例として、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダの配置を示す。開示された主題は、例えば、ビデオ会議と、デジタルTVと、CD、DVD、及び、メモリスティックなどを含むデジタルメディアへの圧縮ビデオの記憶といったものを含む、他のビデオ対応用途に等しく適用可能であり得る。
ストリーミングシステムは、ビデオソース(301)、例えば、圧縮されないビデオピクチャのストリーム(302)を作成する、例えば、デジタルカメラを含むことができるキャプチャサブシステム(313)を含み得る。一例において、ビデオピクチャのストリーム(302)は、デジタルカメラによって撮影されるサンプルを含む。エンコーディングされたビデオデータ(304)(又はコーディングされたビデオビットストリーム)と比較して高いデータ量を強調するために太線として示されるビデオピクチャのストリーム(302)は、ビデオソース(301)に結合されるビデオエンコーダ(303)を含む電子デバイス(320)によって処理され得る。ビデオエンコーダ(303)は、以下でより詳細に説明されるように、開示される主題の態様を可能にする又は実施するためにハードウェア、ソフトウェア、又は、これらの組合せを含み得る。エンコーディングされたビデオデータ(304)(又はエンコーディングされたビデオビットストリーム(304))は、ビデオピクチャのストリーム(302)と比較してより低いデータ量を強調するために細い線として示されており、将来の使用のためにストリーミングサーバ(305)に記憶され得る。図3のクライアントサブシステム(306)及び(308)などの1つ以上のストリーミングクライアントサブシステムは、エンコーディングされたビデオデータ(304)のコピー(307)及び(309)を検索するためにストリーミングサーバ(305)にアクセスし得る。クライアントサブシステム(306)は、例えば電子デバイス(330)内にビデオデコーダ(310)を含み得る。ビデオデコーダ(310)は、エンコーディングされたビデオデータの入力コピー(307)をデコーディングし、ディスプレイ(312)(例えば、表示スクリーン)又は他のレンダリングデバイス(図示せず)上にレンダリングされ得るビデオピクチャの出力ストリーム(311)を作成する。一部のストリーミングシステムにおいて、エンコーディングされたビデオデータ(304)、(307)及び(309)(例えば、ビデオビットストリーム)は、特定のビデオコーディング/圧縮規格にしたがってエンコーディングされ得る。それらの規格の例は、ITU-T勧告H.265を含む。一例において、開発中のビデオコーディング規格は、多用途ビデオコーディング(VVC)として非公式に知られている。開示される主題は、VVCに関連して使用され得る。
電子デバイス(320)及び(330)は、他の構成要素(図示せず)を含み得ることに留意されたい。例えば、電子デバイス(320)はビデオデコーダ(図示せず)を含むことができ、また、電子デバイス(330)はビデオエンコーダ(図示せず)も含み得る。
図4は、本開示の一実施形態に係るビデオデコーダ(410)のブロック図を示す。ビデオデコーダ(410)は、電子デバイス(430)に含まれ得る。電子デバイス(430)は、受信機(431)(例えば、受信回路)を含み得る。ビデオデコーダ(410)は、図3の例のビデオデコーダ(310)の代わりに使用され得る。
受信機(431)は、ビデオデコーダ(410)によってデコーディングされるべき1つ以上のコーディングされたビデオシーケンスを受信することができ、同じ又は他の実施形態では、一度に1つのコーディングされたビデオシーケンスがデコーディングされ、この場合、各コーディングされたビデオシーケンスのデコーディングは、他のコーディングされたビデオシーケンスから独立している。コーディングされたビデオシーケンスはチャネル(401)から受信されてもよく、チャネル(401)は、エンコーディングされたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクであってもよい。受信機(431)は、それぞれの使用エンティティ(図示せず)に転送され得る、他のデータ、例えばコーディングされたオーディオデータストリーム及び/又は補助データストリームと共に、エンコーディングされたビデオデータを受信することができる。受信機(431)は、コーディングされたビデオシーケンスを他のデータから分離し得る。ネットワークジッタに対抗するために、バッファメモリ(415)が、受信機(431)とエントロピーデコーダ/パーサ(420)(以下「パーサ(420)」)との間に結合され得る。特定の用途では、バッファメモリ(415)がビデオデコーダ(410)の一部である。他の用途では、バッファメモリがビデオデコーダ(410)の外部にあり得る(図示せず)。更に他の用途では、例えばネットワークジッタに対抗するためにビデオデコーダ(410)の外部にバッファメモリ(図示せず)が存在し、加えて、例えばプレイアウトタイミングを処理するためにビデオデコーダ(410)の内部に他のバッファメモリ(415)が存在し得る。受信機(431)が十分な帯域幅及び制御性を有する記憶/転送デバイスから又はアイソシンクロナスネットワークからデータを受信している場合、バッファメモリ(415)は必要ない場合がある又は小さくされ得る。インターネットなどのベストエフォートパケットネットワークで使用するために、バッファメモリ(415)は、必要とされる場合があり、比較的大きくされ得る、好適には適応サイズにされ得るとともに、ビデオデコーダ(410)の外部のオペレーティングシステム又は同様の要素(図示せず)に少なくとも部分的に実装されてもよい。
ビデオデコーダ(410)は、コーディングされたビデオシーケンスからシンボル(421)を再構成するためのパーサ(420)を含み得る。これらのシンボルのカテゴリは、ビデオデコーダ(410)の動作を管理するために使用される情報と、場合によっては、図4に示されているように、電子デバイス(430)の不可欠な部分ではないが電子デバイス(430)に結合され得るレンダデバイス(412)などのレンダリングデバイス(例えば、表示スクリーン)を制御するための情報とを含む。レンダリングデバイスに関する制御情報は、補足拡張情報(SEI(Supplemental Enhancement Information)メッセージ)又はビデオユーザビリティ情報(VUI:Video Usability Information)パラメータセットフラグメント(図示せず)の形式であってもよい。パーサ(420)は、受信されるコーディングされたビデオシーケンスを解析/エントロピーデコーディングし得る。コーディングされたビデオシーケンスのコーディングは、ビデオコーディング技術又は規格に準拠することができるとともに、可変長コーディング、ハフマンコーディング、及び、文脈依存性を伴う又は伴わない算術コーディングなどを含む様々な原理に従い得る。パーサ(420)は、コーディングされたビデオシーケンスから、ビデオデコーダ内のピクセルのサブグループのうちの少なくとも1つに関するサブグループパラメータのセットを、そのグループに対応する少なくとも1つのパラメータに基づいて抽出し得る。サブグループは、Group of Picture(GOP)、ピクチャ、タイル、スライス、マクロブロック、Coding Unit(CU)、ブロック、Transform Unit(TU)、Prediction Unit(PU)などを含むことができる。パーサ(420)は、変換係数、量子化パラメータ値、動きベクトルなどのコーディングされた動画列情報から抽出することもできる。
パーサ(420)は、シンボル(421)を作成するために、バッファメモリ(415)から受信されるビデオシーケンスに対してエントロピーデコーディング/解析動作を実行し得る。
シンボル(421)の再構成は、コーディングされたビデオピクチャ又はその一部分のタイプ(インターピクチャ及びイントラピクチャ、インターブロック及びイントラブロックなど)並びに他の要因に応じて複数の異なるユニットを関与させることができる。どのユニットをどのように関与させるかは、パーサ(420)によってコーディングされたビデオシーケンスから解析されたサブグループ制御情報によって制御され得る。パーサ(420)と以下の複数のユニットとの間のそのようなサブグループ制御情報のフローは、明確にするために示されていない。
既に言及された機能ブロックの他に、ビデオデコーダ(410)は、以下で説明されるように概念的に幾つかの機能ユニットに細分され得る。商業的な制約の下で動作する実際の実施態様では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合され得る。しかしながら、開示する主題を説明する目的のためには、以下の機能ユニットに概念的に分割するのが適切である。
最初のユニットは、スケーラ/逆変換ユニット(451)である。スケーラ/逆変換ユニット(451)は、量子化された変換係数、並びに、いずれの変換を使用すべきか、ブロックサイズ、量子化因子、量子化スケーリングマトリクスなどを含む制御情報を、パーサ(420)からシンボル(421)として受ける。スケーラ/逆変換ユニット(451)は、アグリゲータ(455)に入力され得るサンプル値を含むブロックを出力し得る。
場合によっては、スケーラ/逆変換(451)の出力サンプルは、イントラコーディングされたブロック、すなわち、既に再構成されたピクチャからの予測情報を使用していないが現在のピクチャの既に再構成された部分からの予測情報を使用し得るブロックに関連し得る。そのような予測情報は、イントラピクチャ予測ユニット(452)によって与えられ得る。場合によっては、イントラピクチャ予測ユニット(452)は、現在ピクチャバッファ(458)からフェッチされた周辺の既に再構成された情報を使用して、再構成中のブロックと同じサイズ及び形状のブロックを生成する。現在ピクチャバッファ(458)は、例えば、部分的に再構成された現在のピクチャ及び/又は完全に再構成された現在のピクチャをバッファリングする。アグリゲータ(455)は、場合によっては、サンプルごとに、イントラ予測ユニット(452)が生成した予測情報を、スケーラ/逆変換ユニット(451)によって提供される出力サンプル情報に追加する。
他の場合には、スケーラ/逆変換ユニット(451)の出力サンプルは、インターコーディングされた、場合によっては動き補償されたブロックに関連し得る。そのような場合、動き補償予測ユニット(453)は、予測のために使用されるサンプルをフェッチするために基準ピクチャメモリ(457)にアクセスし得る。ブロックに関連するシンボル(421)にしたがってフェッチされたサンプルを動き補償した後、これらのサンプルをスケーラ/逆変換ユニット(451)の出力(この例では残差サンプル又は残差信号と称される)にアグリゲータ(455)によって加えて出力サンプル情報を生成することができる。動き補償予測ユニット(453)が予測サンプルをフェッチしてくる基準ピクチャメモリ(457)内のアドレスを動きベクトルによって制御することができ、この動きベクトルは、例えばX、Y及び基準ピクチャ成分を有することができるシンボル(421)の形態で動き補償予測ユニット(453)に利用可能である。動き補償は、サブサンプルの正確な動きベクトルが用いられている場合の、基準ピクチャメモリ(457)からフェッチされるサンプル値の内挿、動きベクトル予測メカニズムなどを含むこともできる。
アグリゲータ(455)の出力サンプルは、ループフィルタユニット(456)で様々なループフィルタリング技術に晒され得る。ビデオ圧縮技術は、コーディングされたビデオシーケンス(コーディングされたビデオビットストリームとも呼ばれる)に含まれてパーサ(420)からのシンボル(421)としてループフィルタユニット(456)に利用可能にされるパラメータによって制御されるループ内フィルタ技術を含むことができるが、コーディングされたピクチャ又はコーディングされたビデオシーケンスの(デコーディング順序で)前の部分のデコーディング中に取得されるメタ情報に応答する並びに既に再構成されてループフィルタリングされたサンプル値に応答することもできる。
ループフィルタユニット(456)の出力は、レンダデバイス(412)に出力され得るとともに将来のインターピクチャ予測で使用するために基準ピクチャメモリ(457)に記憶され得るサンプルストリームとなり得る。
特定のコーディングされたピクチャは、完全に再構成された時点で、将来の予測のための基準ピクチャとして使用され得る。例えば、現在のピクチャに対応するコーディングされたピクチャが完全に再構成され、コーディングされたピクチャが(例えば、パーサ(420)によって)基準ピクチャとして識別された時点で、現在ピクチャバッファ(458)は基準ピクチャメモリ(457)の一部となることができ、また、新たな現在ピクチャバッファが、後続のコーディングされたピクチャの再構成を開始する前に再割り当てされ得る。
ビデオデコーダ(410)は、ITU-T Rec.H.265などの規格における所定のビデオ圧縮技術にしたがってデコーディング動作を実行し得る。コーディングされたビデオシーケンスは、コーディングされたビデオシーケンスがビデオ圧縮技術又は規格のシンタックス及びビデオ圧縮技術又は規格で文書化されているようなプロファイルの両方に従うという意味で、使用されているビデオ圧縮技術又は規格によって定められたシンタックスに準拠し得る。具体的には、プロファイルは、ビデオ圧縮技術又は規格で利用可能な全てのツールの中から、そのプロファイル下で用いるのに利用可能な唯一のツールとして特定のツールを選択し得る。また、コンプライアンスのために必要なのは、コーディングされたビデオシーケンスの複雑さがビデオ圧縮技術又は規格のレベルによって定義された範囲内にあるということであり得る。場合によっては、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えばメガサンプル/秒で測定される)、最大基準ピクチャサイズなどを制限する。レベルによって設定される制限は、場合によっては、仮想基準デコーダ(Hypothetical Reference Decoder、HRD)仕様とコーディングされたビデオシーケンスで信号送信されるHRDバッファ管理のためのメタデータとによって更に制限され得る。
一実施形態において、受信機(431)は、エンコーディングされたビデオと共に更なる(冗長な)データを受信し得る。更なるデータは、コーディングされたビデオシーケンスの一部として含まれ得る。更なるデータは、データを適切にデコーディングするために及び/又は元のビデオデータをより正確に再構成するためにビデオデコーダ(410)によって使用され得る。更なるデータは、例えば、時間、空間、又は、信号ノイズ比(SNR:signal noise ratio)拡張層、冗長スライス、冗長ピクチャ、及び、前方誤り訂正コードなどの形式となり得る。
図5は、本開示の一実施形態に係るビデオエンコーダ(503)のブロック図を示す。ビデオエンコーダ(503)は電子デバイス(520)に含まれる。電子デバイス(520)は送信機(540)(例えば、送信回路)を含む。ビデオエンコーダ(503)は、図3の例のビデオエンコーダ(303)の代わりに使用され得る。
ビデオエンコーダ(503)は、ビデオエンコーダ(503)によってコーディングされるべきビデオ画像を捕捉し得るビデオソース(501)(図5の例では電子デバイス(520)の一部ではない)からビデオサンプルを受信し得る。他の例では、ビデオソース(501)が電子デバイス(520)の一部である。
ビデオソース(501)は、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、…)、任意の色空間(例えば、BT.601 Y CrCB、RGB、…)、及び、任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)となり得るデジタルビデオサンプルストリームの形式でビデオエンコーダ(503)によってコーディングされるべきソースビデオシーケンスを与え得る。メディアサービングシステムでは、ビデオソース(501)が既に準備されたビデオを記憶する記憶デバイスであってもよい。ビデオ会議システムにおいて、ビデオソース(501)は、ローカル画像情報をビデオシーケンスとして捕捉するカメラであってもよい。ビデオデータは、順次に見られる場合に動きを伝える複数の個々のピクチャとして与えられてもよい。ピクチャ自体は、ピクセルの空間配列として編成されてもよく、この場合、各ピクセルは、使用中のサンプリング構造、色空間などに応じて、1つ以上のサンプルを含むことができる。当業者は、ピクセルとサンプルとの間の関係を容易に理解することができる。以下、サンプルを中心に説明する。
一実施形態によれば、ビデオエンコーダ(503)は、用途により必要に応じて、リアルタイムで又は任意の他の時間的制約下で、ソースビデオシーケンスのピクチャをコーディングしてコーディングされたビデオシーケンス(543)に圧縮し得る。適切なコーディング速度を実施することは、コントローラ(550)の1つの機能である。一部の実施形態において、コントローラ(550)は、以下で説明されるように他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。明確にするために、結合は描かれない。コントローラ(550)によって設定されるパラメータとしては、レート制御関連のパラメータ(ピクチャスキップ、量子化器、レート歪み最適化手法のラムダ値など)、ピクチャサイズ、ピクチャグループ(GOP)レイアウト、最大動きベクトル検索範囲などを挙げることができる。コントローラ(550)は、特定のシステム設計のために最適化されたビデオエンコーダ(503)に関連する他の適切な機能を有するように構成され得る。
一部の実施形態において、ビデオエンコーダ(503)は、コーディングループで動作するように構成される。過度に簡略化された説明として、一例では、コーディングループは、ソースコーダ(530)(例えば、コーディングされるべき入力ピクチャと基準ピクチャとに基づいて、シンボルストリームなどのシンボルを作成することに関与する)と、ビデオエンコーダ(503)に組み込まれた(ローカル)デコーダ(533)とを含み得る。デコーダ(533)は、(リモート)デコーダも作成するのと同様の態様で(開示された主題で考慮されるビデオ圧縮技術においてシンボルとコーディングされたビデオビットストリームとの間の任意の圧縮が可逆的であるとき)サンプルデータを作成するためにシンボルを再構成する。再構成されたサンプルストリーム(サンプルデータ)は、基準ピクチャメモリ(534)に入力される。シンボルストリームのデコーディングは、デコーダの位置(ローカル又はリモート)に関係なくビットイグザクトな結果をもたらすため、基準ピクチャメモリ(534)の内容もローカルエンコーダとリモートエンコーダとの間でビットイグザクトである。言い換えると、エンコーダの予測部分は、デコーディング中に予測を使用するときにデコーダが「見る」のとまったく同じサンプル値を基準ピクチャサンプルとして「見る」。基準ピクチャ共時性のこの基本原理(及び、例えばチャネルエラーのために共時性を維持できない場合は、結果として生じるドリフト)は、一部の関連技術にも同様に用いられている。
「ローカル」デコーダ(533)の動作は、図4に関連して上記で既に詳細に説明された、ビデオデコーダ(410)などの「リモート」デコーダの動作と同じであり得る。しかしながら、図4も簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(545)及びパーサ(420)によるコーディングされたビデオシーケンスへのシンボルのエンコーディング/デコーディングは可逆となり得るため、バッファメモリ(415)及びパーサ(420)を含むビデオデコーダ(410)のエントロピーデコーディング部分は、ローカルデコーダ(533)に完全に実装されない場合がある。
現時点で成され得る所見は、デコーダに存在する構文解析/エントロピーデコーディングを除く任意のデコーダ技術が対応するエンコーダにもほぼ同一の機能的形態で必然的に存在する必要があるということである。このため、開示される主題はデコーダ動作に焦点を合わせている。エンコーダ技術の説明は、包括的に説明されるデコーダ技術の逆であるため、省略され得る。特定の領域においてのみ、より詳細な説明が必要とされて以下で与えられる。
動作中、幾つかの例において、ソースコーダ(530)は、「基準ピクチャ」として指定されたビデオシーケンスからの1つ以上の既にコーディングされたピクチャに関連して入力ピクチャを予測的にコーディングする動き補償予測コーディングを実行することができる。このようにして、コーディングエンジン(532)は、入力ピクチャのピクセルブロックと、入力ピクチャに対する予測基準として選択され得る基準ピクチャのピクセルブロックとの間の差をコーディングする。
ローカルビデオデコーダ(533)は、ソースコーダ(530)によって作成されたシンボルに基づいて、基準ピクチャとして指定され得るピクチャのコーディングされたビデオデータをデコーディングし得る。コーディングエンジン(532)の動作は、好適には非可逆プロセスであり得る。コーディングされたビデオデータがビデオデコーダ(図5には示されていない)でデコーディングされ得る場合、再構成されたビデオシーケンスは、一般に、いくらかの誤差を伴うソースビデオシーケンスのレプリカであり得る。ローカルビデオデコーダ(533)は、基準ピクチャに対してビデオデコーダによって実行され得るデコーディングプロセスを複製するとともに、再構成された基準ピクチャを基準ピクチャキャッシュ(534)に記憶させ得る。このようにして、ビデオエンコーダ(503)は、(送信エラーがなければ)遠端ビデオデコーダによって取得される再構成された基準ピクチャと共通の内容を有する再構成された基準ピクチャのコピーをローカルに記憶し得る。
予測子(535)は、コーディングエンジン(532)のための予測検索を実行し得る。すなわち、コーディングされるべき新たなピクチャに関し、予測子(535)は、サンプルデータ(候補基準ピクセルブロックとして)又は新たなピクチャに適した予測基準として役立ち得る基準ピクチャ動きベクトル、ブロック形状などの特定のメタデータに関して基準ピクチャメモリ(534)を検索し得る。予測子(535)は、適切な予測基準を見出すためにサンプルブロック及びピクセルブロックごとに(on a sample block-by-pixel block basis)動作し得る。場合によっては、予測子(535)によって取得される検索結果により決定されるように、入力ピクチャは、基準ピクチャメモリ(534)に記憶された複数の基準ピクチャの中から引き出される予測基準を有し得る。
コントローラ(550)は、例えば、ビデオデータをエンコーディングするために使用されるパラメータ及びサブグループパラメータの設定を含む、ソースコーダ(530)のコーディング動作を管理し得る。
前述の全ての機能ユニットの出力は、エントロピーコーダ(545)でエントロピーコーディングに晒され得る。エントロピーコーダ(545)は、ハフマンコーディング、可変長コーディング、及び、算術コーディングなどの技術にしたがってシンボルを可逆圧縮することによって、様々な機能ユニットによって生成されたシンボルをコーディングされたビデオシーケンスに変換する。
送信機(540)は、エンコーディングされたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクであり得る通信チャネル(560)を介した送信を準備するために、エントロピーコーダ(545)によって作成されたコーディングされたビデオシーケンスをバッファリングし得る。送信機(540)は、ビデオコーダ(503)からのコーディングされたビデオデータと、送信されるべき他のデータ、例えばコーディングされたオーディオデータストリーム及び/又は補助データストリーム(ソースは図示せず)とをマージし得る。
コントローラ(550)は、ビデオエンコーダ(503)の動作を管理し得る。コーディング中、コントローラ(550)は、特定のコーディングされたピクチャのタイプを各コーディングされたピクチャに割り当ててもよく、このピクチャのタイプは、それぞれのピクチャに適用され得るコーディング技術に影響を及ぼし得る。例えば、ピクチャは、多くの場合、以下のピクチャタイプのうちの1つとして割り当てられ得る。
イントラピクチャ(Iピクチャ)が、予測のソースとしてシーケンス内の任意の他のピクチャを使用せずにコーディング及びデコーディングされ得るものであってもよい。一部のビデオコーデックは、例えば独立デコーダリフレッシュ(「IDR:Independent Decoder Refresh」)ピクチャを含む様々なタイプのイントラピクチャを考慮に入れる。当業者には、これらのIピクチャの変形並びにそれらのそれぞれの用途及び特徴が知られている。
予測ピクチャ(Pピクチャ)が、各ブロックのサンプル値を予測するために最大で1つの動きベクトル及び基準インデックスを使用するイントラ予測又はインター予測を用いることによってコーディング及びデコーディングされ得るものであってもよい。
双方向予測ピクチャ(Bピクチャ)が、各ブロックのサンプル値を予測するために最大で2つの動きベクトル及び基準インデックスを使用するイントラ予測又はインター予測を用いることによってコーディング及びデコーディングされ得るものであってもよい。同様に、多重予測ピクチャは、1つのブロックを再構成するために2つよりも多い基準ピクチャ及び関連するメタデータを使用することができる。
ソースピクチャは、一般に、空間的に複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、又は、16×16サンプルのブロック)に分割されてブロックごとにコーディングされてもよい。ブロックは、ブロックのそれぞれのピクチャに適用されたコーディング割り当てによって決定されるように他の(既にコーディングされた)ブロックに関連して予測的にコーディングされてもよい。例えば、Iピクチャのブロックは、非予測的にコーディングされてもよく、又は、同じピクチャの既にコーディングされたブロックに関連して予測的にコーディングされてもよい(空間予測又はイントラ予測)。Pピクチャのピクセルブロックは、既にコーディングされた1つの基準ピクチャに関連して空間予測によって又は時間予測によって予測的にコーディングされてもよい。Bピクチャのブロックは、1つ又は2つの既にコーディングされた基準ピクチャに関連して空間予測によって又は時間予測によって予測的にコーディングされてもよい。
ビデオエンコーダ(503)は、ITU-T Rec.H.265などの所定のビデオコーディング技術又は規格にしたがってコーディング動作を実行し得る。その動作において、ビデオエンコーダ(503)は、入力ビデオシーケンスの時間的及び空間的冗長性を利用する予測コーディング動作を含む様々な圧縮動作を実行し得る。したがって、コーディングされたビデオデータは、使用されているビデオコーディング技術又は規格によって指定されたシンタックスに準拠し得る。
一実施形態において、送信機(540)は、エンコーディングされたビデオと共に更なるデータを送信し得る。ソースコーダ(530)は、そのようなデータをコーディングされたビデオシーケンスの一部として含み得る。更なるデータは、時間/空間/SNR拡張層、冗長ピクチャ及びスライスなどの他の形式の冗長データ、SEIメッセージ、及びVUIパラメータセットフラグメントなどを含み得る。
ビデオは、時間シーケンスにおいて複数のソースピクチャ(ビデオピクチャ)として捕捉されてもよい。イントラピクチャ予測(しばしばイントラ予測と略される)は、所定のピクチャにおける空間的相関を利用し、また、インターピクチャ予測は、ピクチャ間の(時間的又は他の)相関を利用する。一例では、現在のピクチャと呼ばれる、エンコーディング/デコーディング中の特定のピクチャがブロックに分割される。現在のピクチャにおけるブロックがビデオ内の既にコーディングされて依然としてバッファリングされる基準ピクチャ中の基準ブロックに類似する場合、現在のピクチャ中のブロックを動きベクトルと称されるベクトルによってコーディングすることができる。動きベクトルは、基準ピクチャ内の基準ブロックを指し、基準ピクチャを特定する第3の寸法を有することができ、場合によっては、複数の基準ピクチャが使用中である。
幾つかの実施形態では、インターピクチャ予測に双予測技術を使用することができる。双予測技術によれば、第1の基準ピクチャ及び第2の基準ピクチャなどの2つの基準ピクチャが使用され、これらの基準ピクチャはいずれもデコーディング順序でビデオ内の現在のピクチャに先立つ(しかし、表示順序では、過去及び未来のそれぞれにあってもよい)。第1の基準ピクチャにおける第1の基準ブロックの方に向いている第1の動きベクトルと、第2の基準ピクチャにおける第2の基準ブロックの方に向いている第2の動きベクトルとによって、現在のピクチャ中のブロックをコーディングすることができる。ブロックは、第1の基準ブロックと第2の基準ブロックとの組合せによって予測することができる。
また、コーディング効率を向上させるために、インターピクチャ予測にマージモード技術を使用することができる。
本開示の幾つかの実施形態によれば、インターピクチャ予測及びイントラピクチャ予測などの予測は、ブロックのユニットで実行される。例えば、HEVC規格によれば、ビデオピクチャのシーケンス内のピクチャは、圧縮のためにコーディングツリーユニット(CTU)に分割され、ピクチャ内のCTUは、64×64ピクセル、32×32ピクセル、又は、16×16ピクセルなどの同じサイズを有する。一般に、CTUは、1つの輝度コーディングツリーブロック(CTB)及び2つの彩度CTBである3つのCTBを含む。各CTUは、1つ以上のコーディングユニット(CU)に再帰的に四分木分割され得る。例えば、64×64ピクセルのCTUは、64×64ピクセルの1つのCU又は32×32ピクセルの4つのCU又は16×16ピクセルの16個のCUに分割され得る。一例では、各CUは、インター予測タイプ又はイントラ予測タイプなどのCUの予測タイプを決定するために分析される。CUは、時間的及び/又は空間的な予測可能性に応じて1つ以上の予測ユニット(PU)に分割される。一般に、各PUは、輝度予測ブロック(PB)と、2つの彩度PBとを含む。一実施形態において、コーディング(エンコーディング/デコーディング)における予測動作は、予測ブロックのユニットで実行される。予測ブロックの一例として輝度予測ブロックを使用して、予測ブロックは、8×8ピクセル、16×16ピクセル、8×16ピクセル、16×8ピクセルなどのピクセルに関する値(例えば、輝度値)の行列を含む。
図6は、本開示の他の実施形態に係るビデオエンコーダ(603)の図を示す。ビデオエンコーダ(603)は、ビデオピクチャのシーケンスにおける現在のビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックをコーディングされたビデオシーケンスの一部であるコーディングされたピクチャにエンコーディングするように構成される。一例において、ビデオエンコーダ(603)は、図3の例のビデオエンコーダ(303)の代わりに使用される。
HEVCの例では、ビデオエンコーダ(603)は、8×8サンプルなどの予測ブロックなどの処理ブロックに関するサンプル値の行列を受信する。ビデオエンコーダ(603)は、処理ブロックが例えばレート歪み最適化を使用してイントラモード、インターモード、又は、双予測モードのいずれを使用して最良にコーディングされるかどうかを決定する。処理ブロックがイントラモードでコーディングされるようになっている場合、ビデオエンコーダ(603)は、処理ブロックをコーディングされたピクチャへとエンコーディングするためにイントラ予測技術用いてもよく、また、処理ブロックがインターモード又は双予測モードでコーディングされるようになっている場合、ビデオエンコーダ(603)は、処理ブロックをコーディングされたピクチャへとエンコーディングするためにインター予測技術又は双予測技術それぞれ用いてもよい。特定のビデオコーディング技術において、マージモードは、予測子の外側のコーディングされた動きベクトル構成要素の利点を伴うことなく1つ以上の動きベクトル予測子から動きベクトルが得られるインターピクチャ予測サブモードとなり得る。特定の他のビデオコーディング技術では、対象となるブロックに適用可能な動きベクトル構成要素が存在してもよい。一例において、ビデオエンコーダ(603)は、処理ブロックのモードを決定するためにモード決定モジュール(図示せず)などの他の構成要素を含む。
図6の例において、ビデオエンコーダ(603)は、図6に示されているように互いに結合されるインターエンコーダ(630)、イントラエンコーダ(622)、残差計算器(623)、スイッチ(626)、残差エンコーダ(624)、汎用コントローラ(621)、及び、エントロピーエンコーダ(625)を含む。
インターエンコーダ(630)は、現在ブロック(例えば処理ブロック)のサンプルを受け、当該ブロックを基準ピクチャ中の1つ以上の基準ブロック(例えば、前のピクチャ及び後のピクチャ中のブロック)と比較し、インター予測情報(例えば、インターコーディング技術にしたがった冗長情報の記述、動きベクトル、マージモード情報)を生成し、任意の適切な技術を用いてインター予測情報に基づきインター予測結果(例えば、予測されたブロック)を計算するように構成される。一部の例において、基準ピクチャは、エンコーディングされたビデオ情報に基づいてデコーディングされるデコーディングされた基準ピクチャである。
イントラエンコーダ(622)は、現在ブロック(例えば、処理ブロック)のサンプルを受け、場合によっては、そのブロックと同じピクチャ内の既にコーディングされたブロックとを比較し、変換後に量子化係数を生成し、場合によっては、イントラ予測情報(例えば、1つ以上のイントラエンコーディング技術によるイントラ予測方向情報)も生成するように構成される。一例において、イントラエンコーダ(622)は、イントラ予測情報と同じピクチャ中の基準ブロックとに基づいてイントラ予測結果(例えば予測されたブロック)も計算する。
汎用コントローラ(621)は、汎用制御データを決定し、汎用制御データに基づいてビデオエンコーダ(603)の他の構成要素を制御するように構成される。一例において、汎用コントローラ(621)は、ブロックのモードを決定し、モードに基づいてスイッチ(626)に制御信号を与える。例えば、モードがイントラモードである場合、汎用コントローラ(621)は、残差計算器(623)によって使用するためのイントラモード結果を選択するべくスイッチ(626)を制御するとともに、イントラ予測情報を選択してイントラ予測情報をビットストリームに含めるようにエントロピーエンコーダ(625)を制御し、また、モードがインターモードである場合、汎用コントローラ(621)は、残差計算器(623)によって使用するためのインター予測結果を選択するべくスイッチ(626)を制御するとともに、インター予測情報を選択してインター予測情報をビットストリームに含めるようにエントロピーエンコーダ(625)を制御する。
残差計算器(623)は、受信されたブロックとイントラエンコーダ(622)又はインターエンコーダ(630)から選択される予測結果との間の差分(残差データ)を計算する。残差エンコーダ(624)は、変換係数を生成するべく残差データをエンコーディングするために残差データに基づいて動作するように構成される。一例において、残差エンコーダ(624)は、残差データを空間領域から周波数領域に変換して、変換係数を生成するように構成される。変換係数は、その後、量子化された変換係数を取得するために量子化処理を受ける。様々な実施形態では、ビデオエンコーダ(603)が残差デコーダ(628)も含む。残差デコーダ(628)は、逆変換を実行して、デコーディングされた残差データを生成するように構成される。デコーディングされた残差データは、イントラエンコーダ(622)及びインターエンコーダ(630)によって適切に使用され得る。例えば、インターエンコーダ(630)は、デコーディングされた残差データとインター予測情報とに基づいて、デコーディングされたブロックを生成することができ、また、イントラエンコーダ(622)は、デコーディングされた残差データとイントラ予測情報とに基づいてデコーディングされたブロックを生成することができる。一部の例において、デコーディングされたブロックは、デコーディングされたピクチャを生成するために適切に処理され、また、デコーディングされたピクチャは、メモリ回路(図示せず)にバッファリングされて基準ピクチャとして使用され得る。
エントロピーエンコーダ(625)は、エンコーディングされたブロックを含むようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ(625)は、HEVC規格などの適切な規格にしたがって様々な情報を含むように構成される。一例において、エントロピーエンコーダ(625)は、汎用制御データ、選択された予測情報(例えば、イントラ予測情報又はインター予測情報)、残差情報、及び、他の適切な情報をビットストリームに含めるように構成される。開示される主題によれば、インターモード又は双予測モードのいずれかのマージサブモードでブロックをコーディングする場合には、残差情報が存在しないことに留意されたい。
図7は、本開示の他の実施形態に係るビデオデコーダ(710)の図を示す。ビデオデコーダ(710)は、コーディングされたビデオシーケンスの一部であるコーディングされたピクチャを受信し、コーディングされたピクチャをデコーディングして再構成されたピクチャを生成するように構成される。一例において、ビデオデコーダ(710)は、図3の例のビデオデコーダ(310)の代わりに使用される。
図7の例において、ビデオデコーダ(710)は、図7に示されるように互いに結合されるエントロピーデコーダ(771)、インターデコーダ(780)、残差デコーダ(773)、再構成モジュール(774)、及び、イントラデコーダ(772)を含む。
エントロピーデコーダ(771)は、コーディングされたピクチャから、コーディングされたピクチャを構成するシンタックス要素を表わす特定のシンボルを再構成するように構成され得る。そのようなシンボルは、例えば、ブロックがコーディングされるモード(例えば、イントラモード、インターモード、双予測モードなど、後者の2つがマージサブモード又は他のサブモードである)、イントラデコーダ(772)又はインターデコーダ(780)によってそれぞれ予測に使用される特定のサンプル又はメタデータを識別し得る予測情報(例えば、イントラ予測情報又はインター予測情報など)、及び、例えば量子化された変換係数の形式の残差情報などを含み得る。一例では、予測モードがインターモード又は双予測モードである場合、インター予測情報がインターデコーダ(780)に提供され、また、予測タイプがイントラ予測タイプである場合、イントラ予測情報がイントラデコーダ(772)に提供される。残差情報は、逆量子化に晒され得るとともに、残差デコーダ(773)に提供される。
インターデコーダ(780)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成される。
イントラデコーダ(772)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成される。
残差デコーダ(773)は、逆量子化を実行して、逆量子化された変換係数を抽出し、逆量子化された変換係数を処理して残差を周波数領域から空間領域に変換するように構成される。また、残差デコーダ(773)は、(量子化器パラメータ(QP:Quantizer Parameter)を含むべく)特定の制御情報を必要としてもよく、また、その情報は、エントロピーデコーダ(771)によって提供されてもよい(これとして示されていないデータ経路は、低ボリューム制御情報のみであり得る)。
再構成モジュール(774)は、空間領域において、残差デコーダ(773)によって出力される残差と、予測結果(場合によってインター予測モジュール又はイントラ予測モジュールによって出力される)とを組み合わせて、再構成されたピクチャの一部となり得る再構成されたブロックを形成するように構成され、再構成されたピクチャは、結果的に再構成されたビデオの一部となり得る。視覚的品質を改善するために、デブロッキング動作などの他の適切な動作を実行できることに留意されたい。
ビデオエンコーダ(303)、(503)及び(603)並びにビデオデコーダ(310)、(410)及び(710)を任意の適切な技術を使用して実装できることに留意されたい。一実施形態において、ビデオエンコーダ(303)、(503)及び(603)並びにビデオデコーダ(310)、(410)及び(710)は、1つ以上の集積回路を使用して実装することができる。他の実施形態において、ビデオエンコーダ(303)、(503)及び(503)並びにビデオデコーダ(310)、(410)及び(710)は、ソフトウェア命令を実行する1つ以上のプロセッサを使用して実装できる。
本開示の態様は、コンテキスト適応重みを伴う双予測などの画像及びビデオコーディング技術を開示する。例えば、コンテキスト適応重みを伴う双予測方法をインターコーディングに使用することができる。
ビデオコーディングフォーマットとしては、任意の適切なビデオコーディングフォーマット、例えば、インターネットを介したビデオ送信のために設計されたオープンビデオコーディングフォーマット、例えば、ビデオコーディングフォーマットAlliance for Open Media(AOMedia)Video 1(AV 1)又はAV 1を超える次世代AOMedia Videoフォーマットを挙げることができる。ビデオコーディング規格としては、高効率ビデオコーディング(HEVC)規格、HEVCを超える次世代ビデオコーディング(例えば、多用途ビデオコーディング(VVC))などを挙げることができる。
一般に、ピクチャはブロックに分割され、また、ブロックは、コーディング、予測、変換などの様々な処理のためのユニットとなり得る。様々なブロック分割技術を用いることができる。
図8は、AOMediaによるビデオコーディングフォーマットVP 9で使用される分割技術の一例を示す。例えば、ピクチャ(810)は、サイズ64×64(例えば、64サンプル×64サンプル)の複数のブロック(820)に分割される。更に、4方向分割ツリーが、64×64レベルから始まってより小さいブロックにまで至ることができ、また、最下位レベルは4×4レベル(例えば、4サンプル×4サンプルのブロックサイズ)となり得る。幾つかの例では、ブロック8×8以下に関して更なる制限を適用することができる。図8の例では、第1のウェイ(821)、第2のウェイ(822)、第3のウェイ(823)、及び、第4のウェイ(824)のうちの1つを使用して、64×64ブロック(820)をより小さいブロックに分割することができる。Rとして示される分割(第4のウェイ(824)に示される)は、同じ分割ツリーを最も低い4×4レベルまでより低いスケールで繰り返すことができるという点で、再帰分割と称する。
図9は、インターネットを介したビデオ送信のために設計されたAV 1において使用される分割技術の一例を示す。AV1は、VP9の後継として開発された。例えば、ピクチャ(910)は、サイズ128×128(例えば、128サンプル×128サンプル)の複数のブロック(920)に分割される。更に、10ウェイ分割構造は、128×128から始まってより小さいブロックに至ることができる。図9の例において、128×128ブロックは、10ウェイ(921)~(930)のうちの1つを使用して、より小さいブロックに分割され得る。AV1は、分割ツリーを10ウェイ構造に拡大するだけでなく、128×128から開始するように最大サイズ(VP9/AV1用語でスーパーブロックと呼ばれる)を増大させる。Rとして示される分割(ウェイ(929)に示される)は、同じ分割ツリーをより低いスケールで繰り返すことができるという点で再帰分割と称する。10ウェイ構造は、(921)及び(928)によって示されるように、4:1及び1:4の長方形分割を含むことができる。一例では、長方形分割のいずれもこれ以上分割できない。更に、AV 1は、8×8レベル未満の分割の使用に更なる柔軟性を加える。例えば、特定の場合には、2×2の彩度インター予測が可能である。
幾つかの例では、ブロック分割構造がコーディングツリーと呼ばれる。一例(例えば、HEVC)において、コーディングツリーは、各分割がより大きい正方形ブロックを4つのより小さい正方形ブロックに分割する四分木構造を有することができる。幾つかの例では、ピクチャがコーディングツリーユニット(CTU)に分割され、その後、CTUは、四分木構造を使用してより小さいブロックに分割される。四分木構造にしたがって、コーディングツリーユニット(CTU)は、様々なローカル特性に適応するようにコーディングユニット(CU)に分割される。インターピクチャ予測(又はインター予測)(時間的)又はイントラピクチャ予測(又はイントラ予測)(空間的)を使用してピクチャ領域をコーディングすべきかどうかの決定は、CUレベルで行なうことができる。各CUは、PU分割タイプにしたがって1つ、2つ又は4つの予測ユニット(PU)に更に分割することができる。1つのPU内では、同じ予測プロセスが適用され、関連情報(例えば予測情報)がPUベースでデコーダに送信される。
PU分割タイプに基づく予測プロセスを適用することによって残差ブロックを取得した後、CUは、別の四分木構造にしたがって変換ユニット(TU)に分割され得る。HEVCの例では、CU、PU及びTUを含む複数の分割概念がある。幾つかの実施形態では、CU又はTUが正方形形状のみを有することができるが、PUは正方形又は長方形形状を有してもよい。幾つかの実施形態において、1つのコーディングブロックは、4つの正方形サブブロックに更に分割されてもよく、また、変換が各サブブロック、すなわちTUに対して実行される。各TUは、残差四分木(RQT)と呼ばれる四分木構造を使用してより小さいTUに再帰的に更に分割され得る。
ピクチャ境界では、幾つかの例(例えば、HEVC)において、サイズがピクチャ境界に適合するまでブロックが四分木分割を維持するように、暗黙的な四分木分割を採用できる。
幾つかの例(例えば、VVC)において、ブロック分割構造は、四分木プラス二分木(QTBT)ブロック分割構造を使用することができる。QTBT構造は、複数の分割タイプの概念(CU、PU及びTU概念)を取り除くことができるとともに、CU分割形状をより柔軟にサポートする。QTBTブロック分割構造において、CUは、正方形又は長方形のいずれかの形状を有することができる。
図10Aは、図10Bに示されるQTBTブロック分割構造(1020)を使用することによって分割されるCTU(1010)を示す。CTU(1010)は、最初に四分木構造によって分割される。四分木リーフノードは、二分木構造又は四分木構造によって更に分割される。二分木分割では、対称的な水平方向の分割(例えば、QTBTブロック分割構造(1020)では「0」と表示)と対称的な垂直方向の分割(例えば、QTBTブロック分割構造(1020)では「1」と表示)との2つの分割タイプが存在し得る。更なる分割を伴わないリーフノードはCUと呼ばれ、該CUは更に分割されることなく予測及び変換処理に使用され得る。したがって、QTBTブロック分割構造において、CU、PU及びTUは同じブロックサイズを有する。
幾つかの例(例えば、JEM)において、CUは、異なる色成分のコーディングブロック(CB)を含むことができる。例えば、4:2:0彩度フォーマットのPスライス及びBスライスの場合には、1つのCUが1つの輝度CB及び2つの彩度CBを含む。CUは、単一の色成分のCBを含むことができる。例えば、Iスライスの場合には、1つのCUが1つの輝度CBのみ又は2つの彩度CBのみを含む。
幾つかの実施形態では、QTBTブロック分割方式に関して以下のパラメータが規定される。
-CTUサイズ:四分木のルートノードサイズ、例えば、HEVCと同じ概念
-MinQTSize:最小許容四分木リーフノードサイズ
-MaxBTSize:最大許容二分木ルートノードサイズ
-MaxBTDepth:最大許容二分木深さ
-MinBTSize:最小許容二分木リーフノードサイズ
QTBTブロック分割構造の一例において、CTUサイズは、彩度サンプルの2つの対応する64×64ブロックを伴う128×128輝度サンプルとして設定され、MinQTSizeは16×16として設定され、MaxBTSizeは64×64として設定され、MinBTSize(幅と高さの両方に関して)は4×4として設定され、MaxBTDepthは4として設定される。最初にCTUに四分木分割が適用されて、四分木リーフノードが生成される。四分木リーフノードは、16×16(すなわち、MinQTSize)から128×128(すなわち、CTUサイズ)までのサイズを有してもよい。リーフ四分木ノードが128×128である場合、リーフ四分木ノードは、サイズがMaxBTSize(すなわち、64×64)を超えるため、二分木によって更に分割されない。そうでない場合は、四分木ノードは、二分木によって更に分割することができる。したがって、四分木リーフノードは、二分木のルートノードでもあり、二分木の深さを0として有する。
二分木深さがMaxBTDepth(すなわち、4)に達すると、それ以上の分割は考慮されない。二分木ノードの幅がMinBTSizeに等しい場合(すなわち、4)、それ以上の水平分割は考慮されない。同様に、二分木ノードの高さがMinBTSizeに等しい場合、それ以上の垂直分割は考慮されない。二分木のリーフノードは、更に分割されることなく、予測及び変換処理によって更に処理される。一実施形態では、最大CTUサイズが256×256輝度サンプルである。
図10A及び図10Bでは、実線が四分木分割を示し、点線が二分木分割を示す。二分木の各分割(すなわち、非リーフ)ノードでは、どの分割タイプ(すなわち、水平又は垂直)が使用されるかを示すために1つのフラグがシグナリングされる。例えば、0が水平分割を示し、1が垂直分割を示す。四分木分割の場合には、四分木分割がブロックを水平及び垂直の両方に分割して等しいサイズを有する4つのサブブロックを生成することができるため、分割タイプを示す必要はない。
幾つかの実施形態において、QTBTブロック分割方式は、輝度及び彩度が別個のQTBTブロック分割構造を有するという柔軟性をサポートする。例えば、Pスライス及びBスライスの場合、1つのCTU内の輝度ブロック及び彩度ブロックは、同じQTBTブロック分割構造を共有する。しかしながら、Iスライスの場合、輝度CTBがQTBTブロック分割構造によってCUに分割され、彩度ブロックが他のQTBTブロック分割構造によって彩度CUに分割される。したがって、IスライスにおけるCUは、輝度成分のコーディングブロック又は2つの彩度成分のコーディングブロックから成り、また、Pスライス又はBスライスにおけるCUは、3つの全ての色成分のコーディングブロックから成る。
幾つかの例(例えば、HEVC)では、動き補償のメモリアクセスを減らすために、小さいブロックに関するインター予測が制限される。例えば、4×8及び8×4ブロックにおいては双予測がサポートされず、4×4ブロックにおいてはインター予測がサポートされない。
更に、幾つかの例(例えば、VCC)では、マルチタイプツリー(MTT)ブロック分割構造が使用される。MTTブロック分割構造は、QTBTブロック分割構造よりも柔軟なツリー構造である。MTTでは、四分木分割及び二分木分割に加えて、三分木(TT)分割を用いることができる。TTは、水平中心側三分木分割及び垂直中心側三分木分割を含むことができる。
図11Aは、垂直中心側三分木分割の例を示し、図11Bは、水平中心側三分木分割の例を示す。TT分割は、四分木及び二分木分割を補完することができる。例えば、三分木分割は、ブロック中心に位置するオブジェクトを捕捉することができ、一方、四分木及び二分木は、ブロック中心を横切って分割する。一例において、三分木による分割の幅及び高さは2の累乗であるため、更なる変換分割は必要ない。
2レベルツリーなどのブロック分割の設計は、主に複雑さの低減が動機となっている。理論的には、ツリーのトラバースの複雑さはTDであり、ここで、Tは分割タイプの数を表し、Dはツリーの深さである。
CUレベル重み付けを伴う双予測(BCW)をインター予測において使用することができる。HEVCなどの一実施形態において、双予測モードは、2つの異なる基準ピクチャから得られる2つの予測信号を平均化すること及び/又は2つの異なる動きベクトルを使用することによって双予測信号が生成されるインター予測モードを指す。VVCなどの一実施形態において、双予測モードは、例えば以下の式1に示すように、2つの予測信号の加重平均を可能にするために(2つの予測信号に関して等しい重みを伴って)平均化を超えて拡張される。
Pbi-pred=((8-w)P0+w*P1+4)≫3 (1)
式1を参照すると、双予測信号Pbi-predは、例えば2つの異なる基準ピクチャからの2つの予測信号P0及びP1を平均化することによって生成される。重みwは、2つの予測信号P0及びP1におけるそれぞれの重み(8-w)及びwを示すために使用することができる。
所定の重みのセットを重みwに関して使用することができる。一例では、重み付き平均双予測において5つの重みが許容され、また、重みwは、値-2、3、4、5及び10(例えば、w∈{-2,3,4,5,10})のうちの1つとなり得る。具体的には、重みwが4である場合には、式1において等しい重み付けが使用され、重みが-2、3、5、及び10のうちの1つである場合には、式1において等しくない重み付けが使用される。
それぞれの双予測CUに関して、重みwは、以下の2つの方法、すなわち、1)非マージCUの場合、動きベクトル差(MVD)の後に重みインデックス(例えば、BCW重みインデックス)をシグナリングすることができる;2)マージCUの場合、マージ候補インデックスに基づいて1つ以上の隣り合うブロックから重みインデックスを推測する(例えば、引き継ぐ)ことができる。
一例において、BCWモードは、256以上の輝度サンプル(例えば、CU幅にCU高さを乗算したものが256以上である)を伴うCUにのみ適用される。一例では、低遅延ピクチャの場合、5つの重み(例えば、-2、3、4、5、及び10)の全てが使用される。一例では、非低遅延ピクチャの場合、3つの重み(例えば、3、4、5、又はw∈{3,4,5})が使用されるなど、5つの重みのサブセットのみが使用される。
エンコーダでは、エンコーダの複雑さを著しく増大させることなく重みインデックスを決定するために、高速探索アルゴリズムが適用され得る。高速検索アルゴリズムの実施形態は、以下のように説明することができる。
適応型動きベクトル分解能(AMVR)モードと組み合わされると、等しくない重み(例えば、wは、式1中、-2、3、5、及び10のうちの1つである)は、現在のピクチャが低遅延ピクチャである場合、1ピクセル及び4ピクセルの動きベクトル精度についてのみ条件付きでチェックされる。例えば、AMVRモードが使用され、現在のピクチャが低遅延ピクチャである場合、等しくない重みは、1ピクセル及び4ピクセルの動きベクトル精度にのみ適用可能であり、したがって1ピクセル及び4ピクセルの動きベクトル精度をチェックすることができる。別の動きベクトル精度(例えば、1/2、1/4、又は1/8)が使用される場合、等しい重み(例えば、w=4)が使用され、等しくない重みはエンコーダによってチェックされない。
一例では、BCWモードがアフィンモードと組み合わされるとき、アフィンモードが現在の最良のモードとして選択される場合に限り、等しくない重みについてアフィン動き推定(ME)を実行することができる。
一例では、双予測における2つの基準ピクチャが同じである(P0及びP1が同じ基準ピクチャからのものである)場合、等しくない重みが条件付きでチェックされるだけである。
一例では、現在のピクチャと対応する基準ピクチャとの間のピクチャ順序カウント(POC)距離、コーディング量子化パラメータ(QP)、及び、時間レベル(例えば、現在のピクチャ及び対応する基準ピクチャの時間領域レイヤ)に応じて、特定の条件が満たされた場合に不等重みは検索されない。
重みインデックスは、1つのコンテキストコーディングされたビン(第1のコンテキストコーディングされたビンとも呼ばれる)と、それに続く更なるビン(バイパスコーディングされたビンとも呼ばれる)とを使用してコーディングすることができる。第1のコンテキストコーディングされたビンは、等しい重み(例えば、w=4)が使用されるかどうかを示すことができる。等しくない重みが使用される場合、どの等しくない重みが使用されるかを示すためにバイパスコーディングを使用して更なるビンをシグナリングすることができる。
AVC、HEVC、VVCなどの幾つかの例では、コーディングツールとして重み付き予測(WP)が使用される。WPは、フェージングによりビデオコンテンツを効率的にコーディングするために使用することができる。基準ピクチャリストL0,L1内の基準ピクチャごとに、WPで用いられる重み及びオフセットを含む重みパラメータをシグナリングすることができる。動き補償中、対応する基準ピクチャの重み及びオフセットを適用することができる。
幾つかの例では、WPにしたがって、インター予測信号Pは、例えば単予測に関する以下の式2にしたがって、線形重み付け予測信号P’(重みw’及びオフセットoを有する)に置き換えられる。
単予測:P’=w’×P+o 式2
一例では、双予測の場合、インター予測信号P 0は基準L0用であり、重みw0及びオフセットo0は基準L0用であり、インター予測信号P1は基準L1用であり、重みw1及びオフセットo1は基準L0用であり、線形重み付き予測信号P’は式3にしたがって計算することができる。
双予測:P’=(w0×P0+o0+w1×P1+o1)/2 式3
幾つかの例において、WP及びBCWは、異なるタイプのビデオコンテンツ用に設計される。VVCデコーダ設計などの特定のデコーダ設計を複雑にする可能性があるWPとBCWとの間の相互作用を回避するために、CUがWPを使用する場合、BCWで使用される重みインデックスはシグナリングされず、重みwは4であると推測することができる(すなわち、等しい重みが加えられる)。一例では、WP及びBCWの一方がブロックに適用される場合、WP及びBCWの他方はブロックに適用されない。
例えば、通常マージモード又は継承アフィンマージモードを使用して予測されたマージCUの場合、BCW重みインデックスは、マージ候補インデックスに基づいて隣り合うブロックから推測することができる。構築されたアフィンマージモードを使用して予測されたCUの場合、アフィン動き情報は、最大3つのブロックの動き情報に基づいて構築することができる。構築されたアフィンマージモードを使用するCUにおけるBCW重みインデックスは、第1の制御ポイントMVのBCW重みインデックスに等しく設定することができる。
VVCなどの例では、結合されたイントラ予測(CIIP)モード及びBCWモードは、CUのために一緒に適用され得ない。CUがCIIPモードでコーディングされる場合、現在のCUのBCW重みインデックスは、等しい重みを示す値(例えば、2)に設定することができる。
幾つかの実施形態では、局所照明補償(LIC)と呼ばれる技術をビデオコーディングに使用することができる。LICは、「a」で示されるスケーリングファクタ及び「b」で示されるオフセットなどのパラメータを使用する、照明変化の線形モデルに基づいている。これは、インターモードコーディングされたコーディングユニット(CU)ごとに適応的に有効又は無効になり得る。
一実施形態では、LICがCUに適用される場合、スケーリングファクタ「a」及びオフセット「b」は、現在のCUの隣り合うサンプル及び対応する基準サンプルに基づく最小二乗誤差法を使用して導出することができる。
図12は、現在のCU(1200)及び現在のCU(1200)のための基準ブロック(1210)の隣り合うサンプルの図を示す。図12の例において、現在のCU(1200)及び基準ブロック(1210)の隣り合うサンプルは、例えば2:1サブサンプリングを使用してサブサンプリングされる。一例では、現在のCU(1200)又はサブCUの動き情報によって特定される、現在のCU(1200)のサブサンプリングされた(例えば、2:1サブサンプリング)隣り合うサンプル及び基準ピクチャ内の対応するサンプルが使用される。
照明補償(IC)パラメータ(例えば、スケーリングファクタ「a」及びオフセット「b」)は、それぞれの予測方向ごとに別々に導出及び適用することができる。
一例では、現在のCUがマージモードでコーディングされると、マージモードで動き情報をコピーするのと同様の方法で、LICフラグが隣り合うブロックからコピーされる。別の例では、LICを適用するか否かを示すために、LICフラグがCUにシグナリングされる。
幾つかの実施形態では、LICがピクチャに関して有効にされている場合、CUにLICを適用するか否かを決定するために、更なるCUレベルレート歪み(RD)チェックが実行される。CUに関してLICが有効にされている場合、整数ピクセルベースの動き検索及び小数ピクセルベースの動き検索のそれぞれに関して、絶対差の和(SAD)及び絶対アダマール変換された差の和(SATD)の代わりに、絶対差の平均除去和(MR-SAD)及び絶対アダマール変換された差の平均除去和(MR-SATD)を使用することができる。
コーディングの複雑さを低減するために、JEMなどの例では、以下のコーディング方式が適用される。現在のピクチャと対応する基準ピクチャとの間に明らかな照明変化がない場合、ピクチャ全体に関してLICを無効にすることができる。上記の状況を特定するために、現在のピクチャのヒストグラム及び現在のピクチャの各基準ピクチャをエンコーダで計算することができる。現在のピクチャと現在のピクチャの全ての基準ピクチャとの間のそれぞれのヒストグラム差が閾値(例えば、所定の閾値)よりも小さい場合、現在のピクチャに関してLICが無効化される。そうでない場合、LICは現在のピクチャに関して有効にされる。
BCWモードなどの幾つかの例において、2つの予測ブロックに適用される重み(重み値とも呼ばれる)(例えば、式1中、w及び/又は(8-w))は、明示的にシグナリングされる又は隣り合うブロック(例えば、空間的に隣り合うブロック及び/又は時間的に隣り合うブロック)から継承される。一方、重み(例えば、式1中、w及び/又は(8-w))は、現在ブロックと予測ブロック(例えば、順方向予測ブロック及び逆方向予測ブロック)との間の線形関係を反映するため、現在ブロック及び予測ブロックの隣り合う再構成されたサンプル(再構成サンプルとも呼ばれる)は、同様の重みと相関させることができる。したがって、現在ブロック及び予測ブロックの隣り合う再構成サンプルを使用して、例えばシグナリングオーバーヘッドを節約するために、重みを決定(例えば、推定)することができる。
本開示では、予測ブロックが基準ブロックとも呼ばれ、再構成中の現在ブロックにおける予測ブロック(又は基準ブロック)は、第1の基準ピクチャ内の第1の予測ブロック(又は第1の基準ブロック)及び第2の基準ピクチャ内の第2の予測ブロック(又は第2の基準ブロック)を含むことができる。現在ブロックは現在のピクチャ内にある。現在のピクチャは第1の基準ピクチャと異なり、現在のピクチャは第2の基準ピクチャと異なる。第1の基準ピクチャは、第2の基準ピクチャと異なっていてもよく又は同一であってもよい。幾つかの例では、第1の予測ブロック及び第2の予測ブロックの一方が順方向予測ブロックであり、第1の予測ブロック及び第2の予測ブロックの他方が逆方向予測ブロックである。幾つかの例では、第1の予測ブロック及び第2の予測ブロックが順方向予測ブロックである。幾つかの例では、第1の予測ブロック及び第2の予測ブロックが逆方向予測ブロックである。
現在ブロック、現在ブロックの第1の予測ブロック(例えば、順方向又は逆方向予測ブロック)、及び、現在ブロックの第2の予測ブロック(例えば、順方向又は逆方向予測ブロック)の隣り合う再構成されたサンプルはそれぞれ、テンプレート(又は現在ブロックの現在のテンプレート、第1の予測ブロックのテンプレート(又は第1のテンプレート)、第2の予測ブロックのテンプレート(又は第2のテンプレート))と呼ぶことができる。
図13は、本開示の一実施形態に係る現在ブロック(1300)及び予測ブロック(又は基準ブロック)(1301)~(1302)のテンプレートの例を示す。現在ブロック(1300)のテンプレート(1323)は、現在ブロック(1300)の上及び左にそれぞれある現在ブロック(1300)の最上行(1313)及び左列(1314)における隣り合う再構成されたサンプルなど、現在ブロック(1300)の隣り合う再構成されたサンプルを含む。第1の基準ブロック(1301)のテンプレート(1321)及び第2の基準ブロック(1302)のテンプレート(1325)は、現在ブロック(1300)のテンプレート(1323)に対応する。具体的には、図13に示す例において、テンプレート(1321)は、第1の基準ブロック(1301)の上及び左にそれぞれある第1の基準ブロック(1301)の最上行(1311)及び左列(1312)における隣り合う再構成されたサンプルなど、第1の基準ブロック(1301)の隣り合う再構成されたサンプルを含む。テンプレート(1325)は、第2の基準ブロック(1302)の上及び左にそれぞれある第2の基準ブロック(1302)の最上行(1315)及び左列(1316)における隣り合う再構成されたサンプルなど、第2の基準ブロック(1302)の隣り合う再構成されたサンプルを含む。第1の動きベクトル(MV)(MV0)は、第1の基準ピクチャ内の第1の基準ブロック(1301)を指し、第2のMV(MV1)は、第2の基準ピクチャ内の第2の基準ブロック(1302)を指す。MV0は、第1の基準ピクチャが順方向基準ピクチャであり、第1の基準ブロック(1301)が順方向予測ブロックである場合、順方向MVと呼ぶことができる。MV0は、第1の基準ピクチャが逆方向基準ピクチャであり、第1の基準ブロック(1301)が逆方向予測ブロックである場合、逆方向MVと呼ぶことができる。MV1は、MV0に関連して説明したのと同様に、第2の予測ブロック(1302)又は第2の基準ピクチャに応じて順方向MV又は逆方向MVとすることができる。
図13は、現在ブロック及び予測ブロックの最上行及び左列を含むテンプレートを示す。現在ブロック又は予測ブロックのうちの1つなどのブロックのテンプレートは、ブロックの任意の適切な隣り合う再構成されたサンプルを含むことができる。本開示の態様によれば、ブロックのテンプレートは、ブロックの任意の適切な空間的に隣り合う再構成されたサンプルを含むことができる。ブロックのテンプレートは、ブロックの上及び左にある左上サンプル、ブロックの上の最上行、ブロックの左の左列、及び/又は、ブロックに対する他の適切な位置にある隣り合う再構成されたサンプルを含むことができる。ブロックのテンプレートは、ブロックに隣り合う再構成されたサンプル及び/又はブロックに隣り合わない再構成されたサンプルを含むことができる。
本開示の態様によれば、現在ブロック(1300)、第1の基準ブロック(1301)、及び、第2の基準ブロック(1302)のテンプレート(1323)、(1321)及び(1325)の形状は、それぞれ同一とすることができる。対応する現在ブロック(1300)、第1の基準ブロック(1301)、及び、第2の基準ブロック(1302)に対するテンプレート(1323)、(1321)及び(1325)の相対位置は同一であり得る。テンプレート(1321)、(1323)及び(1325)のそれぞれにおける隣り合う再構成されたサンプルの数は、同一であり得る。例えば、テンプレート(1323)は、現在ブロック(1300)に隣り合う最上行(1313)及び左列(1314)を含み、テンプレート(1321)は、第1の基準ブロック(1301)に隣り合う最上行(1311)及び左列(1312)を含み、テンプレート(1325)は、第2の基準ブロック(1302)に隣り合う最上行(1315)及び左列(1316)を含む。
式1に記載されているように、双予測動き補償モードが現在ブロックを予測するために適用される場合、現在ブロック内のサンプル(例えば、サンプル値は双予測信号Pbi-predによって表される)は、第1の予測ブロック(例えば、サンプル値は予測信号P0によって表される)及び第2の予測ブロック(例えば、サンプル値は予測信号P1によって表される)内の対応するサンプルの加重平均に基づいて予測することができる。本開示の態様によれば、双予測動き補償モードで使用される重み(例えば、式1中の重量w)は、現在ブロックの現在の隣り合う再構成されたサンプル(又は現在のテンプレート)、第1の予測ブロックの第1の隣り合う再構成されたサンプル(又は第1のテンプレート)、及び/又は、第2の予測ブロックの第2の隣り合う再構成されたサンプル(又は第2のテンプレート)に基づいて決定することができる。図13を参照すると、双予測動き補償モードで使用される重みは、現在ブロックの現在の隣り合う再構成されたサンプル(例えば、テンプレート(1323))、第1の予測ブロックの第1の隣り合う再構成されたサンプル(例えば、第1の基準ブロック(1301)のテンプレート(1321))、及び/又は、第2の予測ブロックの第2の隣り合う再構成されたサンプル(例えば、第2の基準ブロック(1302)のテンプレート(1325))に基づいて決定することができる。
一例では、現在ブロックの現在のテンプレート全体、第1の予測ブロックの第1のテンプレート全体、及び/又は、第2の予測ブロックの第2のテンプレート全体が、重みを決定する際に使用される。一例では、現在ブロックの現在のテンプレート内のサンプルのサブセット、第1の予測ブロックの第1のテンプレート内のサンプルのサブセット、及び/又は、第2の予測ブロックの第2のテンプレート内のサンプルのサブセットが、重みを決定する際に使用される。
本開示の態様によれば、第1の予測ブロックにおける第1の重み(例えば、式1中の(8-w))及び第2の予測ブロックにおける第2の重み(例えば、式1中のw)は、双予測動き補償モードにおいて現在ブロックを(例えば、式1を使用して)予測するために使用される。一般に、双予測動き補償モードで使用される重みが決定されるとき、第1の重み及び第2の重みは、重みと第1の重みとの間の関係及び/又は重みと第2の重みとの間の関係に基づいて決定することができる。第1の重み及び第2の重みは互いに依存することができ、例えば、第1の重みと第2の重みとの和は定数である。したがって、第1重量又は第2重量が決定されると、第1重量と第2重量との関係に基づいて他方の重量も決定される。一例では、双予測動き補償モードで使用される重みは第1の重みである。したがって、重みが決定されると、第2の重みも決定される。一例では、双予測動き補償モードで使用される重みは第2の重みである。したがって、重みが決定されると、第1の重みも決定される。
本開示の態様によれば、双予測動き補償モードで使用される重み(例えば、式1中の重みw)は、現在ブロックの現在の隣り合う再構成されたサンプル、第1の予測ブロックの第1の隣り合う再構成されたサンプル、及び、第2の予測ブロックの第2の隣り合う再構成されたサンプルに基づいて決定することができる。
更に、現在ブロック内のサンプルは、決定された重みを使用して、第1の予測ブロック及び第2の予測ブロックにおける対応するサンプルの加重平均に基づいて再構成することができる。
双予測動き補償モードにおいて予測ブロック(例えば、順方向及び/又は逆方向予測ブロック)に適用される重み(又は重み値)は、現在ブロック、第1の予測ブロック、及び/又は、第2の予測ブロックを含むがこれらに限定されない、隣り合う再構成されたサンプルに依存し得る。
一実施形態において、現在ブロックの隣り合う再構成されたサンプル(又は現在のテンプレート)及び予測ブロック(例えば、順方向及び/又は逆方向予測ブロック)の隣り合う再構成されたサンプル(又は第1のテンプレート及び/又は第2のテンプレート)は、例えばエンコーダ及び/又はデコーダに記憶された、所定の重み(又は重み値)のそれぞれに関連するインデックス値を導出するために使用される。
一実施形態では、エンコーダ及びデコーダにおいて、重み(又は重み値)のグループを予め規定することができ、このグループは所定の重みと呼ばれる。重みのグループは、現在ブロックの現在のテンプレート、第1の予測ブロックの第1のテンプレート、及び/又は、第2の予測ブロックの第2のテンプレートに基づいてランク付けすることができる。一例において、重みのグループは、現在ブロックの現在のテンプレート、第1の予測ブロックの第1のテンプレート、及び、第2の予測ブロックの第2のテンプレートに基づいてランク付けされる。エンコーダ側のランキングインデックス(例えば、インデックス値)は、ランキングに基づいて各重みに関連付けることができ、したがって、エンコーダ側のランキングインデックスは、ランク付けされた所定の重みのそれぞれに関連付けることができる。双予測動き補償モードで使用されるべき重みは、ランキングに基づいて選択することができる。その後、エンコーダにおいて、選択された重みと関連付けられる対応するランキングインデックス(例えば、インデックス値)をビデオビットストリームでシグナリングすることができる。例えば、所定の重みは、5つの異なる重みa0、b0、c0、d0、及びe0を含む。現在ブロックのテンプレート、第1のテンプレート、及び、第2のテンプレートに基づいて、所定の重みは、ランキングインデックス0、1、2、3、及び4に関連付けられたランク付けされた所定の重みd0、a0、b0、e0、及びc0にランク付けすることができる。エンコーダは、例えば、ランキングインデックス0に関連付けられた重みd0が双予測動き補償モードで使用されるべきであるというランキングに基づいて決定することができる。その後、エンコーダにおいて、ランキングインデックス0がビデオビットストリーム内でシグナリングされる。
デコーダにおいて、エンコーダと同じランク付けプロセスを所定の重みに対して実行することができる。具体的には、デコーダに記憶された所定の重みは、現在ブロックの現在のテンプレート、第1の予測ブロックの第1のテンプレート、及び/又は、第2の予測ブロックの第2のテンプレートに基づいてランク付けすることができる。デコーダ側のランキングインデックス(例えば、インデックス値)は、ランキングに基づいて各重みに関連付けることができ、したがって、デコーダ側のランキングインデックスは、ランク付けされた所定の重みのそれぞれに関連付けることができる。ビデオビットストリーム内のコーディングされたインデックス値をデコーディングすることができる。デコーディングされたインデックス値に関連する重みは、デコーダ側のランキングインデックス及び関連するランク付けされた所定の重みに基づいて決定又は導出することができる。その後、決定された重みは、双予測動き補償モードで使用することができる。例えば、所定の重みは、5つの異なる重みa0、b0、c0、d0、及びe0を含む。現在ブロックのテンプレート、第1のテンプレート、及び、第2のテンプレートに基づいて、所定の重みは、ランキングインデックス0、1、2、3、及び4に関連付けられたランク付けされた所定の重みd0、a0、b0、e0、及びc0にランク付けすることができる。デコーディングされたインデックス値0は重みd0と関連付けられる。デコーダは、ランキングインデックス0に関連付けられた重みd0が双予測動き補償モードで使用されるべきであると決定することができる。次に、デコーダでは、決定された重みd0が双予測動き補償モードで使用される。一例では、第1の重み及び/又は第2の重みは、決定された重みd0に基づいて決定され、現在ブロックを予測するために更に使用される。
一般に、式1で使用される第1の予測ブロックにおける第1の重み(8-w)及び第2の予測ブロックにおける第2の重みwなどの、第1の予測ブロック及び第2の予測ブロックにおける重みのセットは互いに依存している。したがって、重みのセットは、第1の重み又は第2の重みに基づいて決定することができる。一実施形態では、エンコーダ及びデコーダの両方において、第1の重み及び/又は第2の重みは、所定のコスト測定に基づいて所定の重みのグループから選択することができる。所定のコスト測定は、現在ブロックの現在のテンプレート、第1の予測ブロックの第1のテンプレート、及び/又は、第2の予測ブロックの第2のテンプレートを使用して実行(例えば、計算)され得る。一実施形態において、選択された重み(例えば、第1の重み及び/又は第2の重み)は、ビデオビットストリームでシグナリングされない。選択された重みは、双予測動き補償モードで使用することができる。式1を参照すると、第1の重み又は第2の重みが所定のコスト測定に基づいて決定又は選択されると、他方の重みも第1の重みと第2の重みとの間の関係に基づいて決定される。したがって、第1の予測ブロックに関する重み(8-w)及び第2の予測ブロックに関する重みwなど、第1の予測ブロック及び第2の予測ブロックに関する重みのセットを決定することができる。
一実施形態では、エンコーダ及びデコーダの両方において、第1の重み及び/又は第2の重みは、現在ブロックの現在のテンプレート、第1の予測ブロックの第1のテンプレート、及び/又は、第2の予測ブロックの第2のテンプレートを使用して直接計算することができる。一例において、第1の重み及び/又は第2の重みは、現在ブロックの現在のテンプレート、第1の予測ブロックの第1のテンプレート、及び、第2の予測ブロックの第2のテンプレートを使用して直接計算される。
一例において、第1の重み及び/又は第2の重みは、現在ブロックの現在のテンプレート、第1の予測ブロックの第1のテンプレート、及び/又は、第2の予測ブロックの第2のテンプレートに基づき最小平均二乗誤差を使用して導出される。具体的には、第1のテンプレート、第2のテンプレート、及び、現在のテンプレートにおける隣り合う再構成されたサンプルをそれぞれ表わすためにベクトル
、
及び
が使用される。現在ブロックにおける予測ブロックを生成するために第1の基準ブロック及び第2の基準ブロックに適用される最良の重みa及び(1-a)を見つけるために、以下のコストが最小化される。
ここで、Nは、第1のテンプレート、第2のテンプレート、及び、現在のテンプレートのそれぞれにおけるサンプルの総数である。解は以下のように与えられる。
したがって、第1の重みa及び第2の重み(1-a)は、式5に基づいて求めることができる。
一例において、第1の重み及び/又は第2の重みは、現在ブロックの現在のテンプレート、第1の予測ブロックの第1のテンプレート、及び/又は、第2の予測ブロックの第2のテンプレートに基づき最小平均二乗誤差を使用して導出される。ベクトル
、
及び
は、第1のテンプレート、第2のテンプレート、及び、現在のテンプレートにおける隣り合う再構成されたサンプルをそれぞれ表わすために使用される。現在ブロックの予測ブロックを生成するために第1の基準ブロック及び第2の基準ブロックに適用される最良の重みa及び(1-a)を見つけるために、以下のコストが最小化される。
解は以下のように与えられる。
ここで、
、
であり、パラメータbはオフセットを示す定数である。したがって、第1の重みa及び第2の重み(1-a)は、式6-7に基づいて求めることができる。
一実施形態では、基準ブロックのうちの1つにおけるMVが基準ピクチャ内の分数位置を指す場合、基準ブロックの隣り合う再構成されたサンプルは、整数MV分解能などの異なるMV分解能(又は精度)を有する別のMV(MVを生成するテンプレートと呼ばれる)を使用して生成することができる。図13を参照すると、第1の基準ブロック(1301)における第1のMV(MV0)が第1の基準ピクチャ内の分数位置を指す場合、テンプレート(1321)内の隣り合う再構成されたサンプルは、第1のMVのMV分解能とは異なるMV分解能を有するMVを生成する第1のテンプレートを使用して生成される。第2の基準ブロック(1302)における第2のMV(MV1)が第2の基準ピクチャ内の分数位置を指す場合、テンプレート(1325)内の隣り合う再構成されたサンプルは、第2のMVのMV分解能とは異なるMV分解能を有するMVを生成する第2のテンプレートを使用して生成される。
一実施形態において、双予測動き補償モードで使用される重みを導出するための対応するテンプレートを指定するMVを生成するテンプレートは、現在ブロックから対応する基準ブロックを指すMVのMV分解能以下のMV分解能を有することができる。例えば、第1のテンプレートを指定するMVを生成する第1のテンプレートは、現在ブロックから第1の予測ブロックを指す第1のMVのMV分解能以下のMV分解能を有することができる。第2のテンプレートを指定するMVを生成する第2のテンプレートは、現在ブロックから第2の予測ブロックを指す第2のMVのMV分解能以下のMV分解能を有することができる。一例において、第1のMV(又は第2のMV)のMV分解能は、1/8ピクセル精度又は1/16 ピクセル精度であり、第1のテンプレートに関連するMVを生成する第1のテンプレート(又は第2のテンプレートに関連するMVを生成する第2のテンプレート)のMV分解能は、1/4 ピクセル精度、1/2 ピクセル精度、又は整数ピクセル(1-ピクセル)精度である。
一実施形態において、第1のテンプレートに関連するMVを生成する第1のテンプレート及び/又は第2のテンプレートに関連するMVを生成する第2のテンプレートなど、双予測動き補償モードで使用される重みを導出するための隣り合うサンプルを指定するMVは、整数ピクセル分解能を有する。
一実施形態において、第1のテンプレートに関連するMVを生成する第1のテンプレート及び/又は第2のテンプレートに関連するMVを生成する第2のテンプレートなど、双予測動き補償モードで使用される重みを導出するための隣り合うサンプルを指定するMVは、整数ピクセル(1ピクセル)分解能又は半ピクセル(1/2)分解能のいずれかを有することができる。
一実施形態では、第1のテンプレートに関連付けられたMVを生成する第1のテンプレート及び/又は第2のテンプレートに関連付けられたMVを生成する第2のテンプレートなど、双予測動き補償モードで使用される重みを導出するための隣り合うサンプルを指定するMVは、整数、半ピクセル、又は1/4ピクセルのいずれかの分解能であり得る。
一実施形態において、第1のテンプレートに関連するMVを生成する第1のテンプレート及び/又は第2のテンプレートに関連するMVを生成する第2のテンプレートなど、双予測動き補償モードで使用される重みを導出するための隣り合うサンプルを指定するMVは、第1のMV及び/又は第2のMVを所定のMV分解能に丸めることによって導出することができる。所定のMV分解能の例としては、4ピクセルMV分解能、2ピクセルMV分解能、整数ピクセルMV分解能、半ピクセルMV分解能、1/4ピクセルMV分解能、及び1/8ピクセルMV分解能を挙げることができるが、これらに限定されない。
本開示の態様によれば、双予測動き補償モードを使用して予測された現在ブロックについて、双予測動き補償モードで使用される重みのセットは、本開示に記載されているように、(i)現在ブロック、第1の基準ブロック、及び/又は、第2の基準ブロックの隣り合う再構成されたサンプルを使用して導出することができ、(ii)例えばマージモードによってコーディングされないブロックに関して例えばBCWモードで使用されるように明示的にシグナリングされ、又は、(iii)例えばマージモードによってコーディングされたブロックに関して例えばBCWモードで使用されるように現在ブロックの隣り合うブロックから継承される。上記の3つの方法(i)~(iii)の中からの選択は、現在ブロックに関してシグナリングすることができる。
一例では、方法(i)と方法(ii)との間の選択が現在ブロックに関してシグナリングされる。
一例では、方法(i)と方法(ii)との間の選択が、マージモードによってコーディングされない現在ブロックに関してシグナリングされる。
一例では、方法(i)と方法(iii)との間の選択が現在ブロックに関してシグナリングされる。
一例では、方法(i)と方法(iii)との間の選択が、マージモードによってコーディングされた現在ブロックに関してシグナリングされる。
図14は、本開示の一実施形態に係るプロセス(1400)の概要を示すフローチャートを示している。プロセス(1400)は、再構成中のブロックにおける予測ブロックを生成するためにブロックの再構成で使用され得る。ブロックは、CB、CU、PB、TB、TU、輝度ブロック、彩度ブロックなどの任意の適切なブロックとなり得る。様々な実施形態において、プロセス(1400)は、端末デバイス(210)、(220)、(230)、及び(240)における処理回路、ビデオエンコーダ(303)の機能を果たす処理回路、ビデオデコーダ(310)の機能を果たす処理回路、ビデオデコーダ(410)の機能を果たす処理回路、ビデオエンコーダ(503)の機能を果たす処理回路などの処理回路によって実行される。幾つかの実施形態では、プロセス(1400)がソフトウェア命令で実施され、したがって、処理回路がソフトウェア命令を実行すると、処理回路がプロセス(1400)を実行する。プロセスは、(S1401)から開始され、(S1410)に進む。
(S1410)において、コーティングされたビデオビットストリームから現在ブロックに関するコーディングされた情報をデコーディングすることができる。コーディングされた情報は、現在ブロックにおける双予測動き補償モードを示すことができる。双予測動き補償モードに基づいて、現在ブロック内のサンプルは、現在ブロックの2つの予測ブロック内のサンプルの加重平均に基づいて予測することができる。2つの予測ブロックは、第1の重みを有する第1の予測ブロックと、第2の重みを有する第2の予測ブロックとを含むことができる。
一例では、現在ブロックの現在の隣り合う再構成されたサンプル、第1の予測ブロックの第1の隣り合う再構成されたサンプル、及び、第2の予測ブロックの第2の隣り合う再構成されたサンプルは、それぞれ、現在ブロック、第1の予測ブロック、及び第2の予測ブロックの空間的に隣り合う再構成されたサンプルである。
第1の予測ブロックが第1の基準ピクチャ内にあり、第2の予測ブロックが第2の基準ピクチャ内にあってもよい。一例では、第2の基準ピクチャが第1の基準ピクチャとは異なる。一例では、第1の基準ピクチャが第2の基準ピクチャと同一である。
一例では、コーディング情報内のインデックス値がデコーディングされる。
(S1420)において、現在ブロックの現在の隣り合う再構成されたサンプル(又は現在のテンプレート)、第1の予測ブロックの第1の隣り合う再構成されたサンプル(又は第1のテンプレート)、及び、第2の予測ブロックの第2の隣り合う再構成されたサンプル(又は第2のテンプレート)に基づいて、双予測動き補償モードで使用される重み(例えば、第1の重み、第2の重み、又は、第1の重み及び第2の重みを示すことができるパラメータ)を決定することができる。
一実施形態において、重みは、デコーダに記憶される所定の重みのうちの1つである。
一例において、所定の重みは、現在ブロックの現在の隣り合う再構成されたサンプル、第1の予測ブロックの第1の隣り合う再構成されたサンプル、及び、第2の予測ブロックの第2の隣り合う再構成されたサンプルに基づいてランク付けすることができる。ランク付けされた所定の重みのそれぞれは、固有のランキングインデックスと関連付けられ得る。デコーディングされたインデックス値は、ランキングインデックスのうちの1つに対応することができる。更に、重みは、ランキングインデックスのうちの1つと関連付けられたランク付けされた所定の重みのうちの1つであると決定することができる。
一例において、所定の重みのうちの1つは、現在ブロックの現在の隣り合う再構成されたサンプル、第1の予測ブロックの第1の隣り合う再構成されたサンプル、及び、第2の予測ブロックの第2の隣り合う再構成されたサンプルを使用して実行された所定のコスト測定に基づく重みであるように選択することができる。
一例において、重みは、式4-7を使用して説明したように、現在ブロックの現在の隣り合う再構成されたサンプル、第1の予測ブロックの第1の隣り合う再構成されたサンプル、及び、第2の予測ブロックの第2の隣り合う再構成されたサンプルに基づいて計算される。
(S1430)において、現在ブロックにおけるサンプルは、決定された重みを使用して、第1の予測ブロック及び第2の予測ブロックにおける対応するサンプルの加重平均に基づいて再構成することができる。その後、プロセス(1400)は(S1499)に進んで終了する。
図15は、本開示の一実施形態に係るプロセス(1500)の概要を示すフローチャートを示す。プロセス(1500)は、ブロックをコーディングする際に使用することができる。ブロックは、CB、CU、PB、TB、TU、輝度ブロック、彩度ブロックなどの任意の適切なブロックとなり得る。様々な実施形態において、プロセス(1500)は、端末デバイス(210)、(220)、(230)及び(240)の処理回路、ビデオデコーダ(303)の機能を果たす処理回路、ビデオデコーダ(503)の機能を果たす処理回路などの処理回路によって実行される。幾つかの実施形態では、プロセス(1500)がソフトウェア命令で実施され、したがって、処理回路がソフトウェア命令を実行すると、処理回路がプロセス(1500)を実行する。プロセスは(S1501)から開始されて(S1510)に進む。
(S1510)において、現在ブロックをコーディングするための双予測動き補償モードは、エンコーダによって決定することができる。
(S1520)において、双予測動き補償モードで使用される重みは、現在ブロックの現在の隣り合う再構成されたサンプル、第1の予測ブロックの第1の隣り合う再構成されたサンプル、及び、第2の予測ブロックの第2の隣り合う再構成されたサンプルに基づいて決定することができる。
一例では、現在ブロックの現在の隣り合う再構成されたサンプル、第1の予測ブロックの第1の隣り合う再構成されたサンプル、及び、第2の予測ブロックの第2の隣り合う再構成されたサンプルは、それぞれ、現在ブロック、第1の予測ブロック、及び第2の予測ブロックの空間的に隣り合う再構成されたサンプルである。
第1の予測ブロックが第1の基準ピクチャ内にあり、第2の予測ブロックが第2の基準ピクチャ内にあってもよい。一例では、第2の基準ピクチャが第1の基準ピクチャとは異なる。一例では、第1の基準ピクチャが第2の基準ピクチャと同一である。
一例において、重みは、現在ブロックの現在の隣り合う再構成されたサンプル、第1の予測ブロックの第1の隣り合う再構成されたサンプル、及び、第2の予測ブロックの第2の隣り合う再構成されたサンプルに基づいて計算される。
一実施形態において、重みは、エンコーダに記憶された所定の重みのうちの1つである。
一例において、所定の重みは、現在ブロックの現在の隣り合う再構成されたサンプル、第1の予測ブロックの第1の隣り合う再構成されたサンプル、及び、第2の予測ブロックの第2の隣り合う再構成されたサンプルに基づいてランク付けされる。ランク付けされた所定の重みのそれぞれは、固有のランキングインデックスと関連付けられ得る。重みは、ランク付けされた所定の重みのうちの1つであると決定することができる。
一例において、所定の重みのうちの1つは、現在ブロックの現在の隣り合う再構成されたサンプル、第1の予測ブロックの第1の隣り合う再構成されたサンプル、及び、第2の予測ブロックの第2の隣り合う再構成されたサンプルを使用して実行された所定のコスト測定に基づく重みであるように選択することができる。
(S1530)において、現在ブロックに関する情報をビデオビットストリームにおいてコーディングすることができる。コーディングされた情報は、現在ブロックの双予測動き補償モードを示すことができる。
一例では、インデックス値がコーディング情報にエンコーディングされ、この場合、インデックス値は重みと関連付けられるランキングインデックスのうちの1つであり得る。プロセス(1500)は、(S1599)に進み、終了する。
プロセス(1400)及び/又はプロセス(1500)を適切に適合させることができる。プロセス(1400)及び/又はプロセス(1500)におけるステップは、修正及び/又は省略することができる。更なるステップを追加することができる。任意の適切な実施順序を使用することができる。一例において、実施形態は、3つ以上の予測ブロックを含む重み付き予測に拡張される。例えば、現在ブロック内のサンプルは、現在ブロックのM個の予測ブロック内のサンプルの加重平均に基づいて予測することができ、ここで、Mは2より大きい整数である。M個の予測ブロックのそれぞれは重みを有することができる。M個の予測ブロックの重みは、本開示に記載された任意の適切な方法を使用して決定することができる。
本開示の実施形態は、別々に使用されてもよく、任意の順序で組み合わされてもよい。更に、方法(又は実施形態)、エンコーダ、及び、デコーダのそれぞれは、処理回路(例えば、1つ以上のプロセッサ又は1つ以上の集積回路)によって実装され得る。一例において、1つ以上のプロセッサは、持続性コンピュータ可読媒体に記憶されるプログラムを実行する。本開示における実施形態は、輝度ブロック又は彩度ブロックに適用されてもよい。
前述の技術は、1つ以上のコンピュータ可読媒体に物理的に記憶された、コンピュータ可読命令を使用するコンピュータソフトウェアとして実装され得る。例えば、図16は、開示された主題の特定の実施形態を実施するのに適したコンピュータシステム(1600)を示す。
コンピュータソフトウェアは、1つ以上のコンピュータ中央処理装置(CPU)及びグラフィック処理装置(GPU)などによって直接的に、又は解釈及びマイクロコードの実行などを通して実行され得る命令を含むコードを作成するために、アセンブリ、コンパイル、リンキング、又は同様のメカニズムを受け得る任意の適切な機械コード又はコンピュータ言語を使用してコード化され得る。
命令は、例えばパーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーミングデバイス、及びモノのインターネットデバイスなどを含む様々なタイプのコンピュータ又はその構成要素上で実行され得る。
コンピュータシステム(1600)に関して図16に示されている構成要素は、本質的に例示であり、本開示の実施形態を実施するコンピュータソフトウェアの使用又は機能の範囲に関する限定を示唆することを意図されていない。また、構成要素の構成も、コンピュータシステム(1600)の例示的な実施形態に示されている構成要素のいずれの1つ又は組合せに関するいかなる依存性又は要件も有するものとして解釈されるべきではない。
コンピュータシステム(1600)は、ある特定のヒューマンインタフェース入力デバイスを含み得る。そのようなヒューマンインタフェース入力デバイスは、例えば、触覚入力(例えば、キーストローク、スワイプ、データグローブの動き)、音声入力(例えば、声、拍手)、視覚入力(例えば、ジェスチャ)、嗅覚入力(図示せず)を介した、1人又は複数の人間のユーザによる入力に応答し得る。ヒューマンインタフェースデバイスは、オーディオ(音声、音楽、環境音など)、画像(走査画像、写真画像は静止画像カメラから取得など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)などの、必ずしも人間による意識的な入力に直接関連しない特定の媒体を取り込むためにも使用され得る。
入力ヒューマンインタフェースデバイスは、(それぞれの1つだけが描かれている)キーボード(1601)、マウス(1602)、トラックパッド(1603)、タッチスクリーン(1610)、データグローブ(示されていない)、ジョイスティック(1605)、マイク(1606)、スキャナ(1607)、カメラ(1608)のうちの1又は複数を含み得る。
コンピュータシステム(1600)は、ある特定のヒューマンインタフェース出力デバイスも含み得る。そのようなヒューマンインタフェース出力デバイスは、例えば、触覚出力、音、光、及び匂い/味によって1人又は複数の人間ユーザの感覚を刺激し得る。こうしたヒューマンインタフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(1610)、データグローブ(示されていない)、又はジョイスティック(1605)による触覚フィードバックであるが、入力デバイスとしての機能を果たさない触覚フィードバックデバイスも存在することができる)、オーディオ出力デバイス(スピーカ(1609)、ヘッドホン(描かれていない)など)、視覚出力デバイス(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(1610)などであって、それぞれタッチスクリーン入力機能を有するか又は有さず、それぞれ触覚フィードバック機能を有するか又は有さず、幾つかは2次元視覚出力を、又は立体出力などの手段、すなわち、バーチャル・リアリティ・グラス(描かれていない)、ホログラフィックディスプレイ及びスモークタンク(描かれていない)、を通じて、3次元を超える出力を、出力することが可能であり得る)、及びプリンタ(描かれていない)を含み得る。
コンピュータシステム(1600)は、CD/DVD又は類似のメディアを伴ったCD/DVD ROM/RW(1620)を含む光学メディア(1621)、サムドライブ(1622)、リムーバブル・ハード・ドライブ又はソリッドステートドライブ(1623)、テープ及びフロッピディスク(描かれていない)などのレガシ磁気メディア、セキュリティドングル(描かれていない)などの専用のROM/ASIC/PLDベースのデバイス、などの、人間がアクセス可能なストレージデバイス及びそれらの関連メディアも含むことができる。
また、当業者は、本開示の主題に関連して使用される「コンピュータ可読媒体」という用語が伝送媒体、搬送波、又は他の一時的信号を包含しないことを理解すべきである。
また、コンピュータシステム(1600)は、1つ以上の通信ネットワーク(1655)へのインタフェース(1654)を含むことができる。ネットワークは、例えば、無線、有線、光であり得る。ネットワークは更に、ローカル、広域、メトロポリタン、車両及び産業、リアルタイム、遅延耐性などであり得る。ネットワークの例は、イーサネットと、無線LANと、GSM、3G、4G、5G、LTEなどを含むセルラネットワークと、ケーブルテレビ、衛星テレビ、及び地上波放送テレビを含むテレビ有線又は無線ワイド・エリア・デジタル・ネットワークと、CANBusを含む車両用及び産業用と、その他いろいろと、などのローカルエリアネットワークを含む。ある特定のネットワークは、一般に、ある特定の汎用データポート又は周辺バス(1649)(例えば、コンピュータシステム(1600)のUSBポートなど)に取り付けられた外部ネットワーク・インタフェース・アダプタを必要とし、他のものは一般に、以下に説明するようにシステムバスへの取付けによって、コンピュータシステム(1600)のコアに統合される(例えば、イーサネットインターフェイスがPCコンピュータシステムへ、又はセルラ・ネットワーク・インタフェースがスマートフォン・コンピュータ・システムへ)。これらのネットワークのいずれかを使用して、コンピュータシステム(1600)は、他のエンティティと通信し得る。そのような通信は、例えば、ローカル又は広域デジタルネットワークを使用する他のコンピュータシステムに対して、単方向で受信のみ(例えば、放送TV)、単方向で送信のみ(例えば、特定のCANbusデバイスへのCANbus)、又は双方向であり得る。特定のプロトコル及びプロトコルスタックは、上記で説明されたように、それらのネットワーク及びネットワークインタフェースの各々で使用され得る。
前述のヒューマンインタフェースデバイス、人間がアクセス可能なストレージデバイス、及びネットワークインタフェースが、コンピュータシステム(1600)のコア(1640)に取り付けられることができる。
コア(1640)は、1つ以上の中央処理装置(CPU)(1641)、グラフィック処理装置(GPU)(1642)、フィールドプログラマブルゲート領域(FPGA)(1643)の形式の専用のプログラマブル処理装置、特定のタスク用のハードウェアアクセラレータ(1644)、及びグラフィックアダプタ(1650)などを含み得る。これらのデバイスは、リードオンリーメモリ(Read-only memory:ROM)(1645)、ランダムアクセスメモリ(1646)、ユーザがアクセス可能でない内部ハードドライブ、SSDなどの内部マスストレージ(1647)と共に、システムバス(1648)を介して接続され得る。幾つかのコンピュータシステムでは、追加のCPU、GPUなどによる拡張を可能にするために、システムバス(1648)は1又は複数の物理的プラグの形式でアクセス可能とすることができる。周辺デバイスは、コアのシステムバス(1648)に直接取り付けることも、周辺機器用バス(1649)を介して取り付けることもできる。一例では、スクリーン(1610)はグラフィックアダプタ(1650)に接続され得る。周辺バスのアーキテクチャは、PCI及びUSBなどを含む。
CPU(1641)、GPU(1642)、FPGA(1643)、及びアクセラレータ(1644)は、組み合わせて、前述のコンピュータコードを構成することができるある特定の命令を実行することができる。そのコンピュータコードは、ROM(1645)又はRAM(1646)に記憶され得る。移行データはRAM(1646)に記憶することもできるが、恒久的データは例えば内部大容量記憶装置(1647)に記憶できる。1又は複数のCPU(1641)、GPU(1642)、マスストレージ(1647)、ROM(1645)、RAM(1646)などと密接に関連付けられることができるキャッシュメモリの使用を通じて、メモリデバイスのいずれへの高速ストレージ及び取り出しも可能とされることができる。
コンピュータ可読媒体は、様々なコンピュータ実施動作を実行するためのコンピュータコードを有し得る。媒体及びコンピュータコードは、本開示の目的のために特別に設計及び構成されたものであり得るし、又はそれらは、コンピュータソフトウェア技術の当業者に周知の利用可能な種類のものであり得る。
限定の目的ではなく例として、アーキテクチャを有するコンピュータシステム(1600)、及び具体的にはコア(1640)は、1又は複数の有形のコンピュータ可読メディアで具現化されたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)の結果として機能性を提供することができる。そのようなコンピュータ可読媒体は、上述のようなユーザがアクセス可能な大容量記憶装置、及び、コア内部大容量記憶装置(1647)又はROM(1645)などの持続性な性質のコア(1640)の特定の記憶装置に関連付けられた媒体とし得る。本開示の様々な実施形態を実施するソフトウェアは、そのようなデバイスに記憶され、コア(1640)によって実行し得る。コンピュータ可読媒体は、特定の必要性に応じて、1つ以上のメモリデバイス又はチップを含み得る。ソフトウェアは、コア(1640)、具体的にはその中のプロセッサ(CPU、GPU、FPGA等を含む)に、本明細書に記載の特定プロセス又は特定プロセスの特定部分を実行させ得る。プロセスには、RAM(1646)に記憶されたデータ構造を定義すること、及び、ソフトウェアによって定義されたプロセスにしたがってそのようなデータ構造を修正することを含む。加えて、又は代替として、コンピュータシステムは、ハードワイヤード又は他の方法で回路(例えば、アクセラレータ(1644))に具現化された論理回路の結果として、機能を提供することができ、ソフトウェアの代わりに、又はソフトウェアと共に動作して、本明細書に記載の特定プロセス又は特定プロセスの特定部分を実行し得る。ソフトウェアへの参照は、論理回路を包含することができ、適切な場合には逆もまた同様である。適切な場合には、コンピュータ可読媒体への言及は、実行のためのソフトウェアを記憶する回路(集積回路(IC:integrated circuit)など)、実行のための論理を具現化する回路、又はこれらの両方を包含し得る。本開示は、ハードウェアとソフトウェアの任意の適切な組合せを包含する。
付記A:頭字語
JEM:共同探索モデル
VVC:多用途ビデオコーディング
BMS:ベンチマークセット
MV:動きベクトル
HEVC:高効率ビデオコーディング
SEI:補足エンハンスメント情報
VUI:ビデオユーザビリティ情報
GOP:ピクチャグループ
TU:変換ユニット
PU:予測ユニット
CTU:コーディングツリーユニット
CTB:コーディングツリーブロック
PB:予測ブロック
HRD:仮想基準デコーダ
SNR:信号対雑音比
CPU:中央処理ユニット
GPU:グラフィックス処理ユニット
CRT:ブラウン管
LCD:液晶ディスプレイ
OLED:有機発光ダイオード
CD:コンパクトディスク
DVD:デジタルビデオディスク
ROM:リードオンリーメモリ
RAM:ランダムアクセスメモリ
ASIC:特定用途向け集積回路
PLD:プログラマブル論理デバイス
LAN:ローカルエリアネットワーク
GSM:グローバル移動体通信システム
LTE:ロングタームエボリューション
CANBus:コントローラエリアネットワークバス
USB:ユニバーサルシリアルバス
PCI:周辺構成要素相互接続
FPGA:フィールドプログラマブルゲートエリア
SSD:ソリッドステートドライブ
IC:集積回路
CU:コーディングユニット
本開示は幾つかの例示的な実施形態を説明してきたが、本開示の範囲内にある修正例、置換例、及び様々な代替均等例がある。したがって、当業者は、本明細書に明示的に示されていない又は記載されていないが、本開示の原理を具体化し、したがってその趣旨及び範囲内にある多数のシステム及び方法を考案することができることが理解されよう。