(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-25
(45)【発行日】2023-10-03
(54)【発明の名称】サブピクチャトラックの参照および処理
(51)【国際特許分類】
H04N 19/70 20140101AFI20230926BHJP
H04N 19/597 20140101ALI20230926BHJP
【FI】
H04N19/70
H04N19/597
【外国語出願】
(21)【出願番号】P 2021152669
(22)【出願日】2021-09-17
【審査請求日】2022-01-07
(32)【優先日】2020-09-17
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-10-06
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521388058
【氏名又は名称】レモン インコーポレイテッド
【氏名又は名称原語表記】Lemon Inc.
(74)【代理人】
【識別番号】110002000
【氏名又は名称】弁理士法人栄光事務所
(72)【発明者】
【氏名】ワン イエクイ
【審査官】鉢呂 健
(56)【参考文献】
【文献】米国特許出願公開第2020/0244942(US,A1)
【文献】特表2022-518367(JP,A)
【文献】国際公開第2022/059495(WO,A1)
【文献】国際公開第2021/136880(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
H04N 21/00-21/858
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
フォーマット規則に従って、視覚メディアデータと、この視覚メディアデータの1つ以上のビットストリームを記憶する1つ以上のトラックを含む視覚メディアファイルとの変換を行うことを含む視覚メディアデータを処理する方法であって、
前記視覚メディアファイルは、前記視覚メディアデータの1つ以上のサブピクチャのための符号化された情報を記憶する1つ以上のサブピクチャトラックを参照するベーストラックを含み、
前記フォーマット規則は、前記ベーストラックにおけるサンプルおよび前記1つ以上のサブピクチャトラックから映像ユニットを再構成するために使用されるプロセスを規定
し、
前記フォーマット規則は、前記ベーストラックが、前記1つ以上のサブピクチャトラックを参照するためのサブピクチャトラック参照を含むことを規定し、前記サブピクチャトラック参照において参照される前記1つ以上のサブピクチャトラックの順序は、前記1つ以上のサブピクチャトラックから再構成された前記映像ユニットにおける前記1つ以上のサブピクチャトラックのサンプルの順序を示す、視覚メディアデータを処理する方法。
【請求項2】
前記フォーマット規則は、各サブピクチャトラック参照が、サブピクチャトラックのトラック識別かサブピクチャトラックグループのトラックグループ識別のどちらかを指すインデックスを有することをさらに規定する、請求項
1に記載の方法。
【請求項3】
前記フォーマット規則は、サブピクチャ順サンプルグループが前記ベーストラックに対して任意選択可能であることを規定する、請求項1
または2に記載の方法。
【請求項4】
前記フォーマット規則は、前記サブピクチャ順サンプルグループが前記ベーストラックに含まれていない場合、前記ベーストラックにおいて参照される前記1つ以上のサブピクチャトラックの順序を決定する際に、サブピクチャトラック参照が使用されることをさらに規定する、請求項
3に記載の方法。
【請求項5】
前記フォーマット規則は、前記サブピクチャ順サンプルグループの使用を削除し、かつ前記サブピクチャ順サンプルグループに基づいてパラメータセット書き換えプロセスの記述を削除することをさらに規定する、請求項
3に記載の方法。
【請求項6】
前記フォーマット規則は、
前記視覚メディアファイルから前記サブピクチャ順サンプルグループの仕様を削除することをさらに規定する、請求項
3に記載の方法。
【請求項7】
前記視覚メディアデータは、汎用映像符号化(VVC)によって処理され、前記1つ以上のトラックはVVCトラックである、請求項1~
6のいずれか1項に記載の方法。
【請求項8】
前記変換は、前記フォーマット規則に従って、前記視覚メディアファイルを生成することと、前記1つ以上のビットストリームを前記視覚メディアファイルに記憶することと、を含む、請求項1~
7のいずれか1項に記載の方法。
【請求項9】
前記変換は、前記フォーマット規則に従って前記視覚メディアファイルを構文解析し、前記1つ以上のビットストリームを再構成することを含む、請求項1~
7のいずれか1項に記載の方法。
【請求項10】
請求項1~
9のいずれか1項に記載の方法を実装するように構成された処理装置を備える映像処理装置。
【請求項11】
1つ以上のビットストリームを含むファイルに視覚メディアデータを記憶する方法であって、請求項1~
9のいずれか1項に記載の方法を含み、かつ前記1つ以上のビットストリームを非一時的なコンピュータ可読記録媒体に記憶することをさらに含む、方法。
【請求項12】
実行されると、請求項1~
9のいずれか1項に記載の方法を処理装置に実装させるプログラムコードを記憶するコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
パリ条約に基づく適用可能な特許法および/または規則に基づいて、本願は、2020年9月17日出願の米国特許仮出願第63/079933号および2020年10月6日出願の米国特許仮出願第63/088126号の優先権および利益を適時に主張することを目的とする。法に基づくすべての目的のために、上記出願の開示全体は、本明細書の開示の一部として参照により援用される。
【0002】
この特許文献は、ファイルフォーマットのデジタルオーディオ映像媒体情報の生成、記憶、および消費に関する。
【背景技術】
【0003】
デジタル映像は、インターネット及び他のデジタル通信ネットワークにおいて最大の帯域幅の使用量を占めている。映像を受信及び表示することが可能である接続されたユーザ機器の数が増加するにつれ、デジタル映像の使用に対する帯域幅需要は増大し続けることが予測される。
【発明の概要】
【0004】
本明細書は、映像エンコーダおよびデコーダが、ファイルフォーマットに従って映像または画像の符号化表現を処理するために使用できる技術を開示する。
【0005】
1つの例示的な態様において、視覚メディアデータを処理する方法が開示される。この方法は、視覚メディアデータと、前記視覚メディアデータの1つ以上のビットストリームを記憶する1つ以上のトラックを含む視覚メディアファイルとの変換を行うことを含み、前記視覚メディアデータは、1つまたは複数のサブピクチャまたは複数のスライスを含む1つ以上のピクチャを含み、前記視覚メディアファイルは、フォーマット規則に従って前記1つ以上のトラックを記憶し、前記フォーマット規則は、前記1つ以上のスライスまたは前記1つ以上のサブピクチャのシーケンスを含むトラックが、前記1つ以上のピクチャの矩形領域を覆うことを規定する。
【0006】
別の例示的な態様において、視覚メディアデータ処理の別の方法が開示される。前記方法は、フォーマット規則に従って、視覚メディアデータと、視覚メディアデータの1つ以上のビットストリームを記憶する1つ以上のトラックを含む視覚メディアファイルとの変換を行うことを含み、前記視覚メディアファイルは、前記視覚メディアデータの1つ以上のサブピクチャのための符号化された情報を記憶する1つ以上のサブピクチャトラックを参照するベーストラックを含み、前記フォーマット規則は、前記ベーストラックにおけるサンプルおよび1つ以上のサブピクチャトラックから映像ユニットを再構成するために使用されるプロセスを規定する。
【0007】
さらに別の例示的な態様において、映像処理装置が開示される。この映像処理装置は、上述した方法を実装するように構成された処理装置を備える。
【0008】
さらに別の例示的な態様において、1つ以上のビットストリームを含むファイルに視覚メディアデータを記憶する方法が開示される。この方法は、上述した方法に対応し、且つ前記1つ以上のビットストリームを非一時的なコンピュータ可読記録媒体に記憶することをさらに含む。
【0009】
さらに別の例示的な態様において、ビットストリームを記憶するコンピュータ可読媒体が開示される。前記ビットストリームは、上述した方法に従って生成される。
【0010】
さらに別の例示的な態様において、ビットストリームを記憶するための映像処理装置が開示され、前記映像処理装置は、上述した方法を実装するように構成される。
【0011】
さらに別の例示的な態様において、ビットストリームが、上述した方法に従って生成されるファイルフォーマットに準拠する、コンピュータ可読媒体が開示される。
【0012】
これらの、およびその他の特徴は、本明細書全体にわたって説明されている。
【図面の簡単な説明】
【0013】
【
図1】映像処理システム例を示すブロック図である。
【
図3】映像処理方法の一例を示すフローチャートである。
【
図4】本開示のいくつかの実施形態による映像符号化システムを示すブロック図である。
【
図5】本開示のいくつかの実施形態によるエンコーダを示すブロック図である。
【
図6】本開示のいくつかの実施形態によるデコーダを示すブロック図である。
【
図8】18個のタイル、24個のスライス、および24個のサブピクチャに分割されたピクチャを示す。
【
図9】典型的なサブピクチャに基づくビューポートに依存する360°映像配信スキームである。
【
図10】2つのサブピクチャと4つのスライスとを含むビットストリームから1つのサブピクチャを取り出す例を示す。
【
図11】開示される技術のいくつかの実装形態に基づく、視覚メディアデータ処理の例示的な方法を示す。
【
図12】開示される技術のいくつかの実装形態に基づく、視覚メディアデータ処理の例示的な方法を示す。
【発明を実施するための形態】
【0014】
本明細書では、理解を容易にするために章の見出しを使用しており、その技術および各章に記載された実施形態の適用可能性をその章のみに限定するものではない。さらに、H.266という用語は、ある説明において、理解を容易にするためだけに使用され、開示された技術の範囲を限定するために用いられたものではない。このように、本明細書で説明されている技術は、他の映像コーデックプロトコルおよび設計にも適用可能である。本明細書において、編集変更は、VVC規格またはISOBMFFファイルフォーマット規格の現在の草案に対して、取り消されたテキストを示す取り消し線および付加されたテキストを示すハイライト(太字のイタリック体を含む)によってテキストに示す。
【0015】
1. 初期の協議
本明細書は、映像ファイルフォーマットに関する。具体的には、本発明は、ISOベースのメディアファイル形式(ISOBMFF)に基づいて、メディアファイルにおけるマルチトラックにおける汎用映像符号化(VVVC)映像ビットストリームのサブピクチャに関する。この考えは、任意のコーデック、例えば、VVC規格によって符号化された映像ビットストリーム、および任意の映像ファイルフォーマット、例えば、開発されているVVC映像ファイルフォーマットに、個々にまたは様々な組み合わせで適用されてもよい。
2. 略語
ACT 適応色変換
ALF 適応ループフィルタ
AMVR 適応型動きベクトル解像度
APS 適応パラメータセット
AU アクセスユニット
AUD アクセスユニット区切り文字
AVC 高度映像符号化(Rec.ITU-T H.264|ISO/IEC14496-10)
B 双方向予測
BCW CUレベル重み付き双方向予測
BDOF 双方向オプティカルフロー
BDPCM ブロックベースのデルタパルス符号変調
BP バッファリング時間
CABAC コンテキストに基づく適応2進算術符号化
CB 符号化ブロック
CBR 一定ビットレート
CCALF クロスコンポーネント適応ループフィルタ
CPB 符号化ピクチャバッファ
CRA クリーンなランダムアクセス
CRC 巡回冗長性検査
CTB 符号化ツリーブロック
CTU 符号化ツリーユニット
CU 符号化ユニット
CVS 符号化映像シーケンス
DPB 復号化ピクチャバッファ
DCI 復号化能力情報
DRAP 従属ランダムアクセスポイント
DU 復号化ユニット
DUI 復号化ユニット情報
EG 指数ゴロム
EGk k次指数ゴロム
EOB ビットストリームの末端
EOS シーケンスの末端
FD フィラーデータ
FIFO 先入れ先出し
FL 固定長
GBR 緑色、青色、赤色
GCI 一般的な制約情報
GDR 緩やかな復号化更新
GPM ジオメトリ分割モード
HEVC 高効率映像符号化(Rec.ITU-T H.265|ISO/IEC23008-2)
HRD 仮想参照デコーダ
HSS 仮想ストリームスケジューラ
I イントラ
IBC イントラブロックコピー
IDR 瞬時復号化更新
ILRP 層間参照画像
IRAP イントラランダムアクセスポイント
LFNST 低周波数非可分変換
LPS 最小確率シンボル
LSB 最下位ビット
LTRP 長期参照画像
LMCS 彩度スケーリングを伴う輝度マッピング
MIP マトリックスに基づくイントラ予測
MPS 最大確率記号
MSB 最上位ビット
MTS 多重変換選択
MVP 動きベクトル予測
NAL ネットワーク抽象化層
OLS 出力層セット
OP 動作点
OPI 動作点情報
P 予測
PH ピクチャヘッダ
POC ピクチャオーダカウント
PPS ピクチャパラメータセット
PROF オプティカルフローによる予測微調整
PT ピクチャタイミング
PU ピクチャユニット
QP 量子化パラメータ
RADL ランダムアクセス復号化可能リード(ピクチャ)
RASL ランダムアクセススキップリード(ピクチャ)
RBSP 生バイトシーケンスペイロード
RGB 赤、緑、青
RPL 参照ピクチャリスト
SAO サンプル適応オフセット
SAR サンプルアスペクト比
SEI 補足強化情報
SH スライスヘッダ
SLI サブピクチャレベル情報
SODB データビットのストリング
SPS シーケンスパラメータセット
STRP 短期参照ピクチャ
STSA ステップワイズ時間的サブレイヤアクセス
TR 短縮ライス
VBR 可変ビットレート
VCL 映像符号化層
VPS 映像パラメータセット
VSEI 汎用補足強化情報(Rec.ITU-T H.274 | ISO/IEC23002-7)
VUI 映像可用性情報
VVC(Rec.ITU-T H.266 | ISO/IEC23090-3)H.265|ISO/IEC23008-2)
【0016】
3. 映像符号化の導入
3.1. 映像符号化規格
映像符号化規格は、主に周知のITU-TおよびISO/IEC規格の開発によって発展してきた。ITU-TはH.261とH.263を作り、ISO/IECはMPEG-1とMPEG-4 Visualを作り、両団体はH.262/MPEG-2 VideoとH.264/MPEG-4 AVC(Advanced Video Coding)とH.265/HEVC規格を共同で作った。H.262以来、映像符号化規格は、時間予測と変換符号化が利用されるハイブリッド映像符号化構造に基づく。HEVCを超えた将来の映像符号化技術を探索するため、2015年には、VCEGとMPEGが共同でJVET(Joint Video Exploration Team)を設立した。それ以来、多くの新しい方法がJVETによって採用され、JEM(Joint Exploration Mode)と呼ばれる参照ソフトウェアに組み込まれてきた。JVETは、後に汎用映像符号化(VVC)プロジェクトが正式に始まったとき、共同映像エキスパートチーム(JVET)に改称された。VVCは新しい符号化規格であり、HEVCに比べて50%のビットレート低減を目指し、2020年7月1日に終了した第19回JVET総会において完成した。
【0017】
汎用映像符号化(VVC)規格(ITU-T H.266|ISO/IEC 23090-3)と汎用補足強化情報(VSEI)規格(ITU-T H.274|ISO/IEC 23002-7)は、テレビ放送、ビデオ会議、記憶媒体からの再生などの従来の用途に加え、適応ビットレートストリーミング、映像領域抽出、複数の符号化映像ビットストリームからのコンテンツの合成・結合、マルチビュー映像、スケーラブルレイヤードコーディング、ビューポートに適応した360°没入型メディアなど、より新しく、より高度な用途を含め、最大限に幅広いアプリケーションで使用できるように設計されている。
【0018】
3.2. ファイルフォーマット規格
メディアストリーミングアプリケーションは、一般的に、IP、TCP、およびHTTPトランスポート方法に基づいており、一般的に、ISOベースのメディアファイルフォーマット(ISOBMFF)などのファイルフォーマットに依存する。そのようなストリーミングシステムの1つは、HTTP(DASH)を介した動的適応ストリーミングである。ISOBMFFとDASHで映像フォーマットを使用するには、ISO/IEC 14496-15(「情報技術-オーディオビジュアルオブジェクトの符号化-Part15:ネットワーク抽象化層(NAL)単位で構造化されたISOベースのメディアファイルフォーマットの映像のキャリッジ」)のAVCファイルフォーマットやHEVCファイルフォーマットのような、映像フォーマット固有のファイルフォーマット仕様が、ISOBMFFトラックやDASHの表現やセグメントに映像コンテンツをカプセル化するために必要である。映像ビットストリームに関する重要な情報、例えば、プロファイル、階層、レベル、その他多数は、コンテンツ選択のために、例えば、ストリーミングセッションの開始時の初期化およびストリーミングセッション中のストリーム適応の両方のために、ファイルフォーマットレベルのメタデータおよび/またはDASHメディアプレゼンテーション記述(MPD)として公開される必要がある。
【0019】
同様に、ISOBMFFを用いた画像フォーマットを使用するために、この画像フォーマットに固有の、例えば、ISO/IEC23008-12におけるAVC画像ファイルフォーマットおよびHEVC画像ファイルフォーマットなどのようなファイルフォーマット仕様(「情報技術-異種環境における高効率符号化およびメディア配信-パート12:画像ファイルフォーマット」)が必要とされる。
【0020】
ISOBMFFに基づくVVC映像コンテンツを記憶するためのファイルフォーマットであるVVC映像ファイルフォーマットは、現在、MPEGによって開発されている。VVC映像ファイルフォーマットの最新草案仕様は、MPEG出力文書N19454(「情報技術-オーディオビジュアルオブジェクトの符号化-Part15:ネットワーク抽象化層(NAL)単位で構造化されたISOベースのメディアファイルフォーマットの映像のキャリッジ-補正2:ISOBMFFにおけるVVCおよびEVCのキャリッジについて」2020年7月)に含まれている。
【0021】
ISOBMFFに基づく、VVCを使用して符号化された画像内容を記憶するためのファイルフォーマットであるVVC画像ファイルフォーマットは、現在、MPEGによって開発されている。VVC画像ファイルフォーマットの最新草案仕様は、MPEG出力文書N19460(「情報技術-異種環境における高効率符号化およびメディア配信-第12部:画像ファイルフォーマット-補正3:VVC、EVC、スライドショーおよびその他の改善のサポート」、2020年7月)に含まれている。
【0022】
3.3HEVCにおけるピクチャ分割スキーム
HEVCは、正規のスライス、依存性のあるスライス、タイル、WPP(Wavefront Parallel Processing)という4つの異なるピクチャ分割スキームを含み、これらを適用することで、最大転送ユニット(MTU)サイズのマッチング、並列処理、エンドツーエンドの遅延の低減が可能になる。
【0023】
正規のスライスは、H.264/AVCと同様である。各正規のスライスは、それ自体のNALユニットにカプセル化され、スライス境界にわたるインピクチャ予測(イントラサンプル予測、動き情報予測、符号化モード予測)およびエントロピー符号化依存性は無効化される。このように、正規のスライスを、同じピクチャ内の他の正規のスライスとは独立して再構成することができる(しかし、ループフィルタリング動作のために依然として相互依存性がある場合がある)。
【0024】
正規のスライスは、並列化に使用できる唯一のツールであり、H.264/AVCでもほぼ同じフォーマットで利用可能である。正規のスライスに基づく並列化は、あまり処理装置間通信またはコア間通信を必要としない(予測符号化されたピクチャを復号化するとき、動き補償のために処理装置間またはコア間データ共有を除き、一般的に、ピクチャ内予測のために処理装置間またはコア間データ共有よりもはるかに重い)。しかしながら、同じ理由で、正規のスライスを使用すると、スライスヘッダのビットコストおよびスライス境界にわたる予測が欠如していることに起因して、符号化のオーバーヘッドが大きくなる可能性がある。さらに、正規のスライスは(後述の他のツールとは対照的に)、正規のスライスのピクチャ内独立性および各正規のスライスがそれ自体のNALユニットにカプセル化されることに起因して、MTUサイズ要件に適応するようにビットストリームを分割するための鍵となるメカニズムとしても機能する。多くの場合、並列化の目標およびMTUサイズマッチングの目標は、ピクチャにおけるスライスレイアウトに矛盾する要求を課す。このような状況を実現したことにより、以下のような並列化ツールが開発された。
【0025】
従属スライスは、ショートスライスヘッダを有し、ピクチャ内予測を一切中断することなく、ツリーブロック境界でビットストリームを分割することを可能にする。基本的に、従属スライスは、正規のスライスを複数のNALユニットに断片化し、正規のスライス全体の符号化が完了する前に正規のスライスの一部を送出することを可能にすることによって、エンドツーエンドの遅延を低減する。
【0026】
WPPにおいて、ピクチャは、単一行の符号化ツリーブロック(CTB)に分割される。エントロピー復号化および予測は、他の分割におけるCTBからのデータを使用することを許可される。CTB行の並列復号によって並列処理が可能であり、1つのCTB行の復号の開始が2つのCTBだけ遅延され、それによって、対象のCTBが復号化される前に、対象のCTBの右上のCTBに関するデータが確実に利用可能になる。この互い違いのスタート(グラフで表現される場合、波面のように見える)を使用することで、ピクチャがCTB行を含む数までの処理装置/コアを使用して並列化することが可能である。1つのピクチャ内の近傍のツリーブロック行間のピクチャ内予測が許可されるので、ピクチャ内予測を可能にするために必要な処理装置間/コア間通信は十分となり得る。WPP分割は、適用されない場合と比較して、追加のNALユニットの生成をもたらさず、従って、WPPは、MTUサイズマッチングのためのツールではない。しかし、MTUサイズのマッチングが必要な場合、一定の符号化オーバーヘッドを伴って、WPPで正規のスライスを使用することができる。
【0027】
タイルは、ピクチャをタイルの列および行に分割する水平および垂直境界を規定する。タイルの列は、ピクチャの上から下へと延びている。同様に、タイル行は、ピクチャの左から右に延びる。ピクチャにおけるタイルの数は、単にタイル列の数にタイル行の数を乗算することで導出することができる。
【0028】
CTBのスキャン順序は、1つのタイル内でローカルになるように(1つのタイルのCTBラスタスキャンの順に)変更され、その後、1つのピクチャのタイルラスタスキャンの順に従って、次のタイルの左上のCTBを復号化する。正規のスライスと同様に、タイルは、ピクチャ内予測依存性およびエントロピー復号化依存性を損なう。しかしながら、これらは、個々のNALユニット(この点でWPPと同じ)に含まれる必要がなく、従って、タイルは、MTUサイズマッチングに使用できない。各タイルは、1つの処理装置/コアによって処理されてもよく、処理ユニット間のピクチャ内予測に必要な処理装置間/コア間通信は、近傍のタイルを復号化することは、1つのスライスが2つ以上のタイルにまたがっている場合、共有スライスヘッダを搬送すること、および再構成されたサンプルおよびメタデータのループフィルタリングに関連する共有に限定される。1つのスライスに2つ以上のタイルまたはWPPセグメントが含まれる場合、該スライスにおける第1のもの以外の各タイルまたはWPPセグメントのエントリポイントバイトオフセットが、スライスヘッダにおいて信号通知される。
【0029】
説明を簡単にするために、HEVCにおいては、4つの異なるピクチャ分割スキームの適用に関する制限が規定されている。所与の符号化映像シーケンスは、HEVCに指定されたプロファイルのほとんどについて、タイルおよび波面の両方を含むことができない。各スライスおよびタイルについて、以下の条件のいずれかまたは両方を満たさなければならない。1)1つのスライスにおけるすべての符号化ツリーブロックは、同じタイルに属し、2)1つのタイルにおけるすべての符号化ツリーブロックは、同じスライスに属する。最後に、1つの波面セグメントはちょうど1つのCTB行を含み、WPPが使用されている時に、1つのスライスが1つのCTB行内で始まる場合、同じCTB行で終わらなければならない。
【0030】
最近のHEVCの修正は、JCT-VCの出力文書であるJCTVC-AC1005、J.ボイス、A.ラマスブラモニアン、R.スクピン、G.J.スリ版、A.トゥラピス、Y.-K.ワング(editors),“HEVC追加の補足強化情報(草案4),”2017年10月24日,下記で入手可能:http://phenix.int-evry.fr/jct/doc_end_user/documents/29_Macau/wg11/JCTVC-AC1005-v2.zip.この補正を含め、HEVCは、3つのMCTS関連SEIメッセージ、即ち、時間的MCTS SEIメッセージ、MCTS抽出情報セットSEIメッセージ、およびMCTS抽出情報ネストSEIメッセージを規定する。
【0031】
時間的MCTS SEIメッセージは、ビットストリーム中にMCTSが存在することを示し、MCTSに信号を送信する。各MCTSにおいて、動きベクトルは、MCTS内部のフルサンプル位置を指し、且つ補間のためにMCTS内部のフルサンプル位置のみを必要とするフラクショナルサンプル位置を指すように制限され、且つMCTS外部のブロックから導出された時間的動きベクトル予測のための動きベクトル候補の使用は許可されない。このように、各MCTSは、MCTSに含まれていないタイルが存在せず、独立して復号化されてもよい。
【0032】
MCTS抽出情報セットSEIメッセージは、MCTSサブビットストリーム抽出(SEIメッセージの意味論の一部として指定される)において使用できる補足情報を提供し、MCTSセットのための適合ビットストリームを生成する。この情報は、複数の抽出情報セットからなり、各抽出情報セットは、複数のMCTSセットを定義し、MCTSサブビットストリーム抽出処理において使用される代替VPS、SPS、およびPPSのRBSPバイトを含む。MCTSサブビットストリーム抽出処理に従ってサブビットストリームを抽出する場合、パラメータセット(VPS、SPS、PPS)を書き換えるかまたは置き換える必要があるが、その理由は、スライスアドレスに関連する構文要素の1つまたは全て(first_slice_segment_in_pic_flagおよびslice_segment_addressを含む)が、一般的に、異なる値となる必要があるため、スライスヘッダはわずかに更新される必要がある。
【0033】
3.4. VVCにおけるピクチャの分割およびサブピクチャ
3.4.1. VVCにおけるピクチャ分割
VVCにおいて、1つのピクチャは、1つ以上のタイル行および1つ以上のタイル列に分割される。1つのタイルは、1つのピクチャの1つの矩形領域を覆う1つのCTUのシーケンスである。1つのタイルにおけるCTUは、そのタイル内でラスタスキャン順にスキャンされる。
【0034】
1つのスライスは、1つのピクチャのタイル内において、整数個の完全なタイルまたは整数個の連続した完全なCTU行からなる。
【0035】
2つのモードのスライス、即ちラスタスキャンスライスモードおよび矩形スライスモードがサポートされる。ラスタスキャンスライスモードにおいて、1つのスライスは、1つのピクチャのタイルラスタスキャンにおける1つの完全なタイルのシーケンスを含む。矩形スライスモードにおいて、1つのスライスは、ピクチャの矩形領域をセット的に形成する複数の完全なタイル、またはピクチャの矩形領域をセット的に形成する1つのタイルの複数の連続した完全なCTU行のいずれかを含む。矩形スライス内のタイルを、そのスライスに対応する矩形領域内で、タイルラスタスキャンの順にスキャンする。
【0036】
1つのサブピクチャは、1つのピクチャの矩形領域をセット的に覆う1つ以上のスライスを含む。
【0037】
3.4.2. サブピクチャの概念および機能性
VVCにおいて、個々のサブピクチャは、例えば
図8に示すように、ピクチャの矩形領域をまとめて覆う1つ以上の完全な矩形スライスからなる。1つのサブピクチャは、抽出可能なように指定されてもよいし(即ち、同じピクチャの他のサブピクチャおよび前のピクチャの復号化の順序で独立して符号化されてもよいし)、抽出不可能なように指定されてもよい。サブピクチャが抽出可能であるかどうかにかかわらず、エンコーダは、各サブピクチャごとに、サブピクチャの境界にわたって個々にインループフィルタリング(非ブロック化、SAO、およびALFを含む)を適用するかどうかを制御することができる。
【0038】
機能的には、サブピクチャは、HEVCにおける動き拘束タイルセット(MCTS)に類似している。それらは両方とも、ビューポートに依存する360°の映像ストリーミングの最適化および関心領域(ROI)アプリケーションのような使用例のために、符号化ピクチャのシーケンスの矩形サブセットの独立した符号化および抽出を可能にする。
【0039】
360°映像のストリーミング、別名、全方向性映像のストリーミングにおいて、任意の特定の瞬間に、全方向性映像球体全体のサブセット(即ち、現在のビューポート)のみがユーザにレンダリングされ、一方、ユーザは、自分の頭をいつでも回して視線の向きを変更し、その結果、現在のビューポートを変更することができる。クライアント側で利用可能な現在のビューポートで覆われていない領域を少なくともある程度低品質に表現し、且つユーザにレンダリングする準備ができていることが望ましいが、ユーザが突然その視線方向を球面上の任意の場所に変えた場合に備えて、全方位映像の高品質な表現は、任意の瞬間にユーザにレンダリングされている現在のビューポートにのみ必要である。全方位映像全体の高画質表現を適切な粒度のサブピクチャに分割することで、
図8に示されるように、左側に12枚の高解像度のサブピクチャ、右側に残りの12枚の低解像度の全方位映像のサブピクチャを配置するという最適化が可能になる。
【0040】
別の典型的なサブピクチャに基づくビューポートに依存する360°の映像配信スキームが
図9に示されており、ここでは、フル映像のより高い解像度の表現のみがサブピクチャからなり、一方、フル映像のより低い解像度の表現は、サブピクチャを使用せず、より高い解像度の表現よりも頻度の低いRAPで符号化できる。クライアント側は、フル映像を低解像度で受信し、より高い解像度映像の場合、クライアント側は、現在のビューポートを覆うサブピクチャのみを受信して復号化する。
【0041】
3.4.3. サブピクチャとMCTSの相違
サブピクチャとMCTSとの間には、いくつかの重要な設計上の相違がある。第1に、VVCにおけるサブピクチャの特徴は、この場合、サブピクチャの境界においてサンプルパディングを適用することで、サブピクチャが抽出可能である場合であっても、ピクチャの境界における場合と同様に、サブピクチャの外側を指す符号化ブロックの動きベクトルを許容する。第2に、VVCのマージモードおよびデコーダ側動きベクトル微調整処理において、動きベクトルの選択および導出のために追加の変更を導入した。これにより、MCTSのためにエンコーダ側で適用される非規範的な動き制約に比べて、より高い符号化効率が可能になる。第3に、ピクチャのシーケンスから1つ以上の抽出可能なサブピクチャを抽出し、適合ビットストリームであるサブビットストリームを生成する場合、SH(およびPH NALユニットが存在する場合、それら)を書き換える必要がない。HEVC MCTSに基づくサブビットストリーム抽出においては、SHの書き換えが必要である。なお、HEVC MCTS抽出およびVVCサブピクチャ抽出の両方において、SPSおよびPPSの書き換えが必要である。しかしながら、一般的に、ビットストリーム内には少数のパラメータセットしか存在せず、各ピクチャは少なくとも1つのスライスを有するため、SHの書き換えはアプリケーションシステムにとって大きな負担となり得る。第4に、1つのピクチャ内の異なるサブピクチャのスライスは、異なるNALユニットタイプを有する場合がある。これは、以下でより詳細に説明するように、しばしば1つのピクチャ内の混合NALユニットタイプまたは混合サブピクチャタイプと呼ばれる特徴である。第5に、VVCは、サブピクチャシーケンスのためにHRDおよびレベル定義を規定し、従って、各抽出可能なサブピクチャシーケンスのサブビットストリームの適合性をエンコーダによって保証することができる。
【0042】
3.4.4. ピクチャ内の混合サブピクチャタイプ
AVCおよびHEVCにおいて、1つのピクチャにおけるすべてのVCL NALユニットは、同じNALユニットタイプを有している必要がある。VVCは、1つのピクチャ内で特定の異なるVCL NALユニットタイプを有するサブピクチャを混合する選択肢を導入し、これにより、ピクチャレベルだけでなくサブピクチャレベルでもランダムアクセスをサポートする。VVC VCLにおいて、1つのサブピクチャ内のNALユニットは、依然として同じNALユニットタイプを有している必要がある。
【0043】
IRAPサブピクチャからのランダムアクセスの能力は、360°映像アプリケーションに有益である。
図9に示されたものに類似したビューポートに依存する360°映像配信スキームにおいて、空間的に近傍のビューポートの内容は大きく重複し、即ち、ビューポートにおけるサブピクチャの一部のみが、ビューポートの向きを変更する間に新しいサブピクチャに置き換えられ、ほとんどのサブピクチャはビューポートに残る。ビューポートに新規に導入されるサブピクチャシーケンスは、IRAPスライスで開始しなければならないが、ビューポートの変更時に残りのサブピクチャがインター予測を実行することを許可される場合、全体の伝送ビットレートを有意に低減することができる。
【0044】
ピクチャが1つのタイプのNALユニットだけを含むか、または2つ以上のタイプを含むかの指示は、ピクチャが参照するPPSに提供される(即ち、pps_mixed_nalu_types_in_pic_flagと呼ばれるフラグを使用する)。1つのピクチャは、IRAPスライスを含むサブピクチャと、末尾のスライスを含むサブピクチャとを同時に構成することができる。1つのピクチャ内の、NALユニットタイプRASLおよびRADLの先頭ピクチャスライスを含む、異なるNALユニットタイプの他の若干の組み合わせが許可され、これにより、異なるビットストリームから抽出されたオープンGOPおよびクローズGOP符号化構造を有するサブピクチャシーケンスを1つのビットストリームにマージすることができる。
【0045】
3.4.5.サブピクチャレイアウトおよびID信号通知
VVCにおけるサブピクチャのレイアウトは、SPSにおいて信号通知され、従って、CLVS内で一定である。各サブピクチャは、その左上のCTUの位置およびCTUの数におけるその幅および高さによって信号伝達され、よって、1つのサブピクチャが、CTU粒度を有するピクチャの矩形領域を確実に覆う。SPSにおいてサブピクチャが信号通知される順序は、ピクチャ内の各サブピクチャのインデックスを決定する。
【0046】
SHまたはPHを書き換えることなくサブピクチャシーケンスの抽出およびマージを有効化するために、VVCにおけるスライスアドレッシングスキームは、サブピクチャIDおよびサブピクチャ固有のスライスインデックスに基づいて、スライスをサブピクチャに関連付ける。SHにおいて、スライスを含むサブピクチャのサブピクチャIDおよびサブピクチャレベルのスライスインデックスが信号通知される。なお、特定のサブピクチャのサブピクチャIDの値は、そのサブピクチャインデックスの値と異なってもよい。2つの間のマッピングは、SPSまたはPPSで信号通知される(しかし、両方ではない)か、または暗黙的に推測される。存在する場合、サブピクチャサブビットストリーム抽出処理中にSPSおよびPPSを書き換える時に、サブピクチャIDマッピングを書き換えるか、または追加する必要がある。サブピクチャIDおよびサブピクチャレベルのスライスインデックスは、共に、デコードされたピクチャのDPBスロット内におけるスライスの第1の復号化されたCTUの正確な位置をデコーダに示す。サブビットストリーム抽出の後、サブピクチャのサブピクチャIDは変化しないが、サブピクチャのインデックスは変化する場合がある。たとえサブピクチャにおける1つ目のCTUのラスタスキャンCTUアドレスが元のビットストリームにおける値と比較して変化したとしても、サブピクチャIDの変化しなかった値およびそれぞれのSHのサブピクチャレベルのスライスインデックスは、抽出されたサブビットストリームの復号化ピクチャにおける各CTUの位置を依然として正確に判定する。
図10は、サブピクチャID、サブピクチャインデックス、およびサブピクチャレベルスライスインデックスを使用して、2つのサブピクチャおよび4つのスライスを含む例で、サブピクチャの抽出を有効化することを示している。
【0047】
サブピクチャ抽出と同様に、サブピクチャのための信号通知は、異なるビットストリームが協調して生成されれば(例えば、異なるサブピクチャIDを使用するが、そうでない場合、ほとんど整列されたSPS、PPS、およびPHパラメータ、例えば、CTUサイズ、彩度フォーマット、符号化ツール等を使用する)、SPSおよびPPSを書き換えるだけで、異なるビットストリームからのいくつかのサブピクチャを1つのビットストリームにマージすることを許可する。
【0048】
SPSおよびPPSにおいて、それぞれサブピクチャおよびスライスが独立して信号通知されるが、従順なビットストリームを形成するために、サブピクチャとスライスとの間には固有の相互制約がある。第1に、サブピクチャの存在は、矩形のスライスを使用し、ラスタスキャンスライスを禁止する必要がある。第2に、所与のサブピクチャのスライスは、復号化の順序で連続したNALユニットであるべきであり、このことは、サブピクチャのレイアウトがビットストリーム内の符号化されたスライスNALユニットの順序を制約することを意味する。
3.5. VVC映像ファイルフォーマットの詳細
3.5.1. トラックのタイプ
VVC映像ファイルフォーマットは、ISOBMFFファイルにおけるVVCビットストリームをキャリッジするための以下のタイプの映像トラックを規定する。
a)VVCトラック:
VVCトラックは、そのサンプルおよびサンプルエントリにNALユニットを含めることによって、また、場合によってはVVCビットストリームの他のサブレイヤを含む他のVVCトラックを参照することによって、そして、場合によってはVVCサブピクチャトラックを参照することによって、VVCビットストリームを表す。1つのVVCトラックがVVCサブピクチャトラックを参照する場合、これをVVCベーストラックと呼ぶ。
b)VVC非VCLトラック:
ALF、LMCS、またはスケーリングリストパラメータを搬送するAPS、および他の非VCL NALユニットは、VCL NALユニットを含むトラックとは別個のトラックに記憶され且つ該トラックを介して送信されてもよく、これはVVC非VCLトラックである。
c)VVC サブピクチャトラック:
VVCサブピクチャトラックは、以下のいずれかを含む。
1つ以上のVVCサブピクチャのシーケンス。
1つの矩形領域を形成する1つ以上の完全なスライスのシーケンス。
VVCサブピクチャトラックの1つのサンプルは、以下のいずれかを含む。
ISO/IEC23090-3で規定されているような、復号化の順序で連続した1つ以上の完全なサブピクチャ。
ISO/IEC23090-3で規定されているような、1つの矩形領域を形成し、復号化の順序で連続する1つ以上の完全なスライス。
VVCサブピクチャトラックの任意のサンプルに含まれるVVCサブピクチャまたはスライスは、復号化の順序で連続している。
注:VVC非VCLトラックおよびVVCサブピクチャトラックは、ストリーミングアプリケーションにおけるVVC映像の最適な配信を以下のように可能にする。これらのトラックはそれぞれ、それ自体のDASH表現で搬送されてもよく、トラックのサブセットを復号化およびレンダリングするために、VVCサブピクチャトラックのサブセットを含むDASH表現、および非VCLトラックを含むDASH表現は、クライアントがセグメントごとに要求することができる。このようにして、APSおよび他の非VCL NALユニットの冗長な伝送が回避できる。
3.5.2.VVCビットストリームにおいて搬送される矩形領域の概要
本明細書は、以下のいずれかからなる矩形領域を説明することを支援する。
- 復号化の順序で連続する1つ以上のVVCサブピクチャのシーケンス、又は、
- 1つの矩形領域を形成し、復号化の順序で連続する1つ以上の完全なスライスのシーケンス。
矩形の領域は、穴のない矩形を覆う。ピクチャ内の矩形領域は互いに重複しない。
矩形領域は、rect_region_flagが1に等しい矩形領域視覚サンプルグループ記述エントリ(すなわち、RectangularRegionGroupEntryのインスタンス)によって記述してもよい。
1つのトラックのそれぞれのサンプルが1つの矩形領域のみのNALユニットからなる場合、タイプ‘trif’のSampleToGroupBoxを使用してサンプルを矩形領域に関連付けることができるが、デフォルトサンプルグルーピングメカニズムが使用される場合(すなわち、タイプ‘trif’のSampleGroupDescriptionBoxのバージョンが2以上である場合)、このタイプ‘trif’のSampleToGroupBoxは省略可能である。そうでない場合、SampleToGroupBoxes(タイプ‘nalm’)およびgrouping_type_parameterが‘trif’であり、SampleGroupDescriptionBox(タイプ‘nalm’)を介して、サンプル、NALユニット、および矩形領域を関連付ける。RectangularRegionGroupEntryは、以下を記述する。
- 1つの矩形領域、
- この矩形領域と他の矩形領域との間の符号化依存性。
各RectangularRegionGroupEntryには、groupIDと呼ばれる固有の識別子が割り当てられる。この識別子を使用して、サンプルにおけるNALユニットを特定のRectangularRegionGroupEntryに関連付けることができる。
輝度サンプル座標を使用して、矩形領域の位置およびサイズを識別する。
ムービーフラグメントとともに使用される場合、RectangularRegionGroupEntryは、ISO/IEC14496-12の8.9.4項に定義されるように、トラックフラグメントボックスに新しいSampleGroupDescriptionBoxを定義することによって、ムービーフラグメントの持続時間に対して定義され得る。ただし、既に定義されたRectangularRegionGroupEntryと同じgroupIDを有するトラックフラグメントには、RectangularRegionGroupEntryは存在しない。
RectangularRegionGroupEntryで使用されるベース領域は、この矩形領域グループエントリに関連付けられた矩形領域におけるNALユニットが属するピクチャである。
連続するサンプルにおいてベース領域のサイズに何らかの変化がある場合(例えば、参照ピクチャの再サンプリング(RPR)またはSPSのサイズ変更の場合)、サンプルは、そのそれぞれのベース領域のサイズを反映した異なるRectangularRegionGroupEntryエントリに関連付けられるべきである。
1つの矩形領域にマッピングされたNALユニットは、通常通り、VVCトラックに含まれてもよいし、或いはVVCサブピクチャトラックと呼ばれる別個のトラックに含まれてもよい。
3.5.3.VVCサブピクチャトラックを参照するVVCトラックにおけるサンプルからピクチャユニットを再構成する方法
VVCトラックのサンプルを、黒丸の順に以下のNALユニットを含むアクセスユニットに分解する。
●サンプル中のAUD NALユニット(あれば)(および第1のNALユニット)。
●サンプルが同じサンプルエントリに関連付けられた一連のサンプルの最初のサンプルである場合、そのサンプルエントリに含まれているパラメータセットおよびSEI NALユニット(もしあれば)。
●サンプル中に存在し、かつPH NALユニットまでのNALユニット。
●このサンプルにマッピングされた「spor」サンプルグループ記述エントリで指定された順序で、参照された各VVCサブピクチャトラックから時間的に整列された(復号化時間内の)解決済みサンプルの内容で、VPS、DCI、SPS、PPS、AUD、PH、EOS、EOB NALユニットがある場合はすべてを除く。トラック参照は、以下のように分解される。
注1:参照されたVVCサブピクチャトラックがVVC非VCLトラックに関連付けられている場合、VVCサブピクチャトラックの分解されたサンプルは、VVC非VCLトラックの時間整列されたサンプルの非VCL NALユニット(もしあれば)を含む。
●サンプル中のPH NALユニットの後に続くNALユニット。
注2:サンプルにおけるPH NALユニットの後に続くNALユニットは、サフィックスSEI NALユニット、サフィックスAPS NALユニット、EOS NALユニット、EOB NALユニット、または最後のVCL NALユニットの後に許可される予約NALユニットを含むことができる。
‘spor’サンプルグループ記述エントリの‘subp’トラック参照インデックスは、以下のように分解される。
●トラック参照がVVCサブピクチャトラックのトラックIDを指している場合、トラック参照はVVCサブピクチャトラックに分解される。
●そうでない場合(トラック参照は‘alte’のトラックグループを指す)、トラック参照を‘alte’のトラックグループのいずれかのトラックに分解する。特定のトラック参照インデックス値が前回のサンプルにおける特定のトラックに分解された場合、現在のサンプルにおいて以下のいずれかに分解される。
●同じ特定のトラック、あるいは、
●現在のサンプルと時間整列された同期サンプルを含む、同じ‘alte’トラックグループにおける任意の他のトラック。
注3:同じ‘alte’トラックグループにおけるVVCサブピクチャトラックは、復号化の不整合を回避するために、同じVVCベーストラックによって参照される他のVVCサブピクチャトラックから必ず独立しており、従って、以下のように制約される場合がある。
●すべてのVVCサブピクチャトラックは、VVCサブピクチャを含む。
●サブピクチャの境界はピクチャの境界に類似している。
●サブピクチャの境界を越えてループフィルタリングをオフにする。
読取装置が、最初の選択であるかまたは前回の選択とは異なる1組のサブピクチャID値を有するVVCサブピクチャを含むVVCサブピクチャトラックを選択した場合、以下のステップを実行することができる。
●‘spor’サンプルグループ記述エントリを調査し、PPSまたはSPS NALユニットを変更する必要があるかどうかを結論づける。
注:SPSの変更は、CLVSの開始時にのみ可能である。
●‘spor’サンプルグループディスクリプションエントリが、含まれているNALユニットにおけるサブピクチャIDの前後または内部にスタートコードエミュレーション防止バイトが存在することを示す場合、NALユニットからRBSPを導出する(即ち、スタートコードエミュレーション防止バイトを削除する)。次のステップでオーバーライドした後、スタートコードのエミュレーション防止を再び行う。
●読取装置は、‘spor’サンプルグループエントリにおけるビット位置およびサブピクチャIDの長さを用いて、どのビットを上書きするかを確定し、サブピクチャIDを選択されたものにアップデートする。
●PPSまたはSPSのサブピクチャID値を最初に選択するとき、読取装置は、再構築されたアクセスユニットにおいて、選択したサブピクチャID値でPPSまたはSPSをそれぞれ書き換えることが必要である。
●PPSまたはSPSのサブピクチャID値が、同じPPS ID値またはSPS ID値を有する前のPPSまたはSPS(それぞれ)と比較された場合、読取装置は、前のPPSおよびSPSのコピー(同じPPSまたはSPS ID値を有するPPSまたはSPSがそれぞれアクセスユニットに存在しない場合)を含め、更新されたサブピクチャID値を有するPPSまたはSPS(それぞれ)を再構成されたアクセスユニットに書き換える必要がある。
3.5.4. サブピクチャ順サンプルグループ
3.5.4.1. 定義
このサンプルグループは、VVCベーストラック、即ち、VVCサブピクチャトラックを参照する‘subp’トラックを有するVVCトラックにおいて使用される。各サンプルグループディスクリプションエントリは、符号化ピクチャのサブピクチャまたはスライスを復号化の順序で示し、‘subp’タイプのトラック参照のインデックスは、復号化の順序で連続する1つ以上のサブピクチャまたはスライスを示す。
サブピクチャの選択に呼応してPPSまたはSPSを容易に書き換えるために、各サンプルグループ記述エントリは、以下を含むことができる。
- PPSまたはSPS NALユニットにおいて選択されたサブピクチャIDを変更すべきかどうかの指示。
- サブピクチャID構文要素の長さ(ビット単位)。
- 含まれているRBSPにおけるサブピクチャID構文要素のビット位置。
- サブピクチャIDの前にまたはサブピクチャID内にスタートコードエミュレーション防止バイトが存在するかどうかを示すフラグ。
- サブピクチャIDを含むパラメータセットのパラメータセットID。
3.5.4.2. 構文
aligned(8) class VvcSubpicOrderEntry()extends VisualSampleGroupEntry(‘spor’)
{
unsigned int(1)subpic_id_info_flag;
unsigned int(15)num_subpic_ref_idx;
for(i=0;i<num_subpic_ref_idx;i++)
unsigned int(16)subp_track_ref_idx;
if(subpic_id_info_flag){
unsigned int(4)subpic_id_len_minus1;
unsigned int(12)subpic_id_bit_pos;
unsigned int(1)start_code_emul_flag;
unsigned int(1)pps_subpic_id_flag;
if(pps_subpic_id_flag)
unsigned int(6)pps_id;
else{
unsigned int(1)sps_subpic_id_flag;
unsigned int(4)sps_id;
bit(1) reserved=0;
}
}
}
3.5.4.3. 意味論
subpic_id_info_flagが0である場合、SPSおよび/またはPPSに提供されるサブピクチャID値が、示されたsubp_track_ref_idx値の集まりに対して正確であり、従って、SPSまたはPPSの書き換えが必要でないことを示す。subpic_info_flagが1であると、SPSおよび/またはPPSがsubp_track_ref_idx値のセットに対応するサブピクチャを示すように書き換える必要があることを示す。
num_subpic_ref_idxは、VVCトラックが参照するサブピクチャトラックまたはサブピクチャトラックのトラックグループの参照インデックスの数を示す。
subp_track_ref_idxは、iのそれぞれの数値に対して、VVCトラックから再構成されたVVCビットストリームに含まれるべき1つ以上のサブピクチャまたはスライスのi番目のリストの‘subp’トラック参照インデックスを指定する。
subpic_id_len_minus1+1は、PPSまたはSPSのサブピクチャID構文要素のビット数を示し、どちらがこの構造によって参照されても構わない。
subpic_id_bit_posは、参照されるPPSまたはSPS RBSPにおける第1のサブピクチャID構文要素の第1のビットの0から始まるビット位置を示す。
start_code_emul_flagが0である場合、参照されたPPSまたはSPS NALユニットにおけるサブピクチャIDの前または内部にスタートコードエミュレーション防止バイトが存在しないことを示す。
start_code_emul_flagが1である場合、参照されたPPSまたはSPS NALユニットにおけるサブピクチャIDの前または内部にスタートコードエミュレーション防止バイトが存在し得ることを示す。
pps_subpic_id_flagが0である場合、このサンプルグループ記述エントリにマッピングされたサンプルに適用されるPPS NALユニットがサブピクチャID構文要素を含まないことを示す。
pps_subpic_id_flagが1である場合、このサンプルグループ記述エントリにマッピングされたサンプルに適用されるPPS NALユニットがサブピクチャID構文要素を含む。
pps_id(存在する場合)は、このサンプルグループ記述エントリにマッピングされるサンプルに適用されるPPSのPPS IDを示す。
pps_subpic_id_flagが存在し、且つ0である場合、このサンプルグループ記述エントリにマッピングされたサンプルに適用されるPPS NALユニットがサブピクチャID構文要素を含まないことを示し、サブピクチャID値が推測される。
sps_subpic_id_flagが存在し、且つ1である場合、このサンプルグループ記述エントリにマッピングされたサンプルに適用されるSPS NALユニットがサブピクチャID構文要素を含む。
sps_id(存在する場合)は、このサンプルグループ記述エントリにマッピングされるサンプルに適用されるSPSのSPS IDを示す。
3.5.5. サブピクチャエンティティグループ
3.5.5.1. 一般
複数のVVCサブピクチャトラックからのマージされたビットストリームの適合性を示すレベル情報を提供するサブピクチャエンティティグループが定義される。
注:VVCベーストラックは、VVCサブピクチャトラックをマージするための別のメカニズムを提供する。
暗示的な再構成処理は、パラメータセットの修正を必要とする。サブピクチャエンティティグループは、再構成されたビットストリームのためのパラメータセットを容易に生成できるような指針を与える。
1つのグループ内の共同復号化されるべき符号化されたサブピクチャが互いに差し替え可能である、即ち、プレーヤが、同じレベル寄与を有する1つのサンプルごとのサブピクチャのグループから複数のアクティブトラックを選択する場合、SubpicCommonGroupBoxは、連帯で復号化される場合、得られる組み合わせ規則およびlevel_idcを示す。
異なる特性、例えば異なる解像度を有する符号化されたサブピクチャが連帯で復号化されるように選択された場合、SubpicMultipleGroupSBoxは、連帯で復号化される場合、得られる組み合わせ規則およびlevel_idcを示す。
サブピクチャエンティティグループに含まれるすべてのentity_id値は、VVCサブピクチャトラックを識別する。存在する場合、SubpicCommonGroupBoxおよびSubpicMultipleGroupSBoxは、ムービーレベルのMetaBoxにおけるGroupsListBoxに含まれるものであり、ファイルレベルまたはトラックレベルのMetaBoxesに含まれないものとする。
3.5.5.2. サブピクチャ共通グループボックスの構文
aligned(8)class SubpicCommonGroupBox extends EntityToGroupBox(‘acgl’,0,0)
{
unsigned int(32)level_idc;
unsigned int(32)num_active_tracks;
}
3.5.5.3. サブピクチャ共通グループボックスの意味論
level_idcは、エンティティグループからnum_active_tracksエンティティを選択した場合、そのエンティティが適合するレベルを示す。
num_active_tracksは、level_idcの値を指定するトラックの数を指示す。
3.5.5.4. サブピクチャの複数のグループボックスの構文
aligned(8)class SubpicMultipleGroupsBox extends EntityToGroupBox(‘amgl’,0,0)
{
unsigned int(32)level_idc;
unsigned int(32)num_subgroup_ids;
subgroupIdLen=(num_subgroup_ids>=(1<<24)) ?32:
(num_subgroup_ids>=(1<<16))?24:
(num_subgroup_ids>=(1<<8))?16:8;
for(i=0;i<num_entities_in_group;i++)
unsigned int(subgroupIdLen)track_subgroup_id[i];
for(i=0;i<num_subgroup_ids;i++)
unsigned int(32)num_active_tracks[i];
}
3.5.5.5. 意味論
level_idcは、0からnum_subgroup_ids-1までの範囲のiのすべての値について、IDがiであるサブグループの中から任意のnum_active_tracks[i]トラックを選択するという組み合わせが適合するレベルを示す。
num_subgroup_idは別個のサブグループの数を示し、各サブグループはtrack_subgroup_id[i]の同じ値で識別される。track_subgroup_id[i]の異なる値によって、異なるサブグループが識別される。
track_subgroup_id[i]は、このエンティティグループのi番目のトラックのサブグループIDを示す。サブグループIDの値は、0からnum_subgroup_ids-1までの(両端を含む)範囲とする。
num_active_tracks[i]は、level_idcに記載されているIDがiであるサブグループにおけるトラック数を示す。
【0049】
4. 開示される技術的解決策によって対処する例示的な技術的問題
複数のトラックのVVCビットストリームにおけるサブピクチャのキャリッジに関するVVC映像ファイルフォーマットの最近の設計は、以下のような問題を有する。
1)VVCサブピクチャトラックの1つのサンプルは、以下のいずれかを含む。A)ISO/IEC23090-3で規定されているような、復号化の順序で連続した1つ以上の完全なサブピクチャ。B)ISO/IEC23090-3に規定されているような、1つの矩形領域を形成し、復号化の順序で連続する1つ以上の完全なスライス。
しかしながら、以下のような問題が存在する。
a.また、VVCのサブピクチャトラックは、スライスを含むトラックと同様に、矩形領域をカバーしなければならないとした方が理にかなっている。
b.VVCサブピクチャトラックのサブピクチャやスライスが動きに制約されていること、すなわち抽出可能であること、または自己完結していることを要求する方が、理にかなっている。
c.VVCのサブピクチャトラックには、元のビットストリームでは復号化の順序で連続していないが、このトラック自体を復号化すれば、これらのサブピクチャが復号化の順序で連続するような、矩形領域を形成するサブピクチャのセットを含めることができるようにしてはどうか。例えば、360度の映像の視野(FOV)が、投影された映像の左右の境界にあるいくつかのサブピクチャで覆われているような場合には、そのようなことは許されないのか?
2)VVCベーストラックのサンプルと、VVCベーストラックによって参照されるVVCサブピクチャトラックのリストにおける時間整列されたサンプルとからPUを再構成する際に、PH NALユニットがサンプル中に存在しない場合、VVCベーストラックのサンプルにおける非VCL NALユニットの順番は、明確に特定されない。
3)サブピクチャオーダサンプルグループメカニズム(‘spor’)は、異なるサンプルのために、再構成ビットストリームにおけるサブピクチャトラックからのサブピクチャの異なる順序を有効化し、且つSPSおよび/またはPPS書き換えを必要とする場合を有効化する。しかし、これらの柔軟性のいずれかが必要とされる理由は不明である。そのため、‘spor’サンプルグループのメカニズムが不要となり、サンプルグループを削除することができる。
4)VVCベーストラックのサンプルと、VVCベーストラックによって参照されるVVCサブピクチャトラックのリストにおける時間整列サンプルとからPUを再構成する場合、VVCサブピクチャトラックの時間整列サンプルにおけるNALユニットをPUに加えると、すべてのVPS、DCI、SPS、PPS、AUD、PH、EOS、EOB NALユニットがあれば、それらを除外する。しかし、OPI NALユニットはどうか?SEI NALユニットはどうか?これらの非VCL NALユニットがサブピクチャトラックに存在することを許可される理由は何であるか?存在する場合、ビットストリーム再構成において、それらを通過させるだけでよいか?
5)2つのサブピクチャエンティティグループのボックスのコンテナを、ムービーレベルのMetaBoxとする。ただし、ファイルレベルのMetaBoxにボックスが含まれている場合にのみ、エンティティグループのentity_id値がトラックIDを参照することができる。
6)サブピクチャエンティティグループは、関連するサブピクチャ情報がトラックの時間の長さ全体にわたって一貫している場合に機能する。しかしながら、これは常にそうであるとは限らない。例えば、特定のサブピクチャシーケンスに対して異なるCVSが異なるレベルを有する場合、どのようになるか。その場合、サンプルグループを代わりに使用して、本質的に同じ情報を搬送すべきであるが、異なるサンプル(例えば、CVS)ごとに特定の情報が異なることを可能にすべきである。
7)各VVCベーストラックには、現在、サブピクチャオーダ(‘spor’)のサンプルグループが存在することが義務付けられている。‘spor’サンプルグループメカニズムは、異なるサンプルのために、再構成ビットストリームにおけるサブピクチャトラックからのサブピクチャの異なる順序を有効化し、且つSPSおよび/またはPPS書き換えを必要とする場合を有効化する。ただし、VVCベーストラックの‘subp’トラックリファレンスを介して、サブピクチャのストレートな“早期バインディング”を行う場合には、‘spor’サンプルグループは必要ない。
【0050】
5. 技術的解決策の一覧
上述した課題等を解決するために、以下に示す方法が開示されている。本発明は、一般的な概念を説明するための例と見なされるべきであり、狭い意味で解釈されるべきではない。さらに、本発明は、個々に適用されてもよいし、任意に組み合わせて適用されてもよい。
1) VVCサブピクチャトラックにおいて、以下の項目のうちの1つ以上を提案する。
a.サブピクチャを含む場合、1つのVVCサブピクチャトラックが1つの矩形領域を覆うようにすることが必要である。
b.VVCサブピクチャトラックにおけるサブピクチャまたはスライスは、他の領域を覆うサブピクチャまたはスライスが存在しなくても抽出、復号化および提示ができるように、動き拘束されることが必要である。
i.代替的に、VVCサブピクチャトラックにおけるサブピクチャまたはスライスが、他の領域を覆うサブピクチャまたはスライスの動き補償に依存することを可能にし、その結果、他の領域を覆うサブピクチャまたはスライスのいずれかが存在しなければ、サブピクチャまたはスライスを抽出、復号化、提示できない。
c.1つのVVCサブピクチャトラックが、1つの矩形領域を形成するが、元の/全体のVVCビットストリームにおける復号化の順序において連続していない1つのサブピクチャまたはスライスのセットを含むことができる。
これにより、元の/全体のVVCビットストリームにおける、例えば、投影画像の左右の境界において、復号化の順序で連続していないサブピクチャで覆われる360°映像の視野(FOV)を、VVCサブピクチャトラックによって表現することができるようになる。
d.VVCサブピクチャトラックの各サンプルにおけるサブピクチャまたはスライスの順序は、元の/全体のVVCビットストリームにおけるそれらの順序と同じであることが必要である。
e.VVCサブピクチャトラックの各サンプルにおけるサブピクチャまたはスライスの復号化の順序が、元の/全体のVVCビットストリームにおいて連続しているかどうかを示す指示を追加する。
i.この指示は、例えば、VVCベーストラックサンプルエントリ記述において、または他のどこかで信号通知される。
ii.元の/全体のVVCビットストリームにおいて、VVCサブピクチャトラックの各サンプルにおけるサブピクチャまたはスライスの順番が復号化の順序で連続していることが示されていない場合、このトラックにおけるサブピクチャまたはスライスは、他のVVCサブピクチャトラックにおけるサブピクチャまたはスライスとマージされてはならない。例えば、この例において、VVCベーストラック参照は、トラック基準フォーマット‘subp’によって、このVVCサブピクチャトラックおよび別のVVCサブピクチャトラックの両方を参照することが許可されない。
f.VvcNALUConfigBoxにフラグnalusInContiguousDecodingOrderFlagを追加する。このフラグが1であることは、各サンプルにおけるNALユニットが元のビットストリーム全体において復号化の順序で連続していることを示し、よって、タイプ‘subp’のトラック参照によってVVCサブピクチャトラックを参照するVVCベーストラックは、同じトラック参照を通して他のVVCサブピクチャトラックを参照してもよい。値0は、各サンプルにおけるNALユニットが元のビットストリーム全体において復号化の順序で連続していてもいなくてもよいことを示し、よって、タイプ‘subp’のトラック参照によってVVCサブピクチャトラックを参照するVVCベーストラックは、同じトラック参照を通して他のVVCサブピクチャトラックを参照しなくてもよい。
2)VVCベーストラックのサンプルと、VVCベーストラックによって参照されるVVCサブピクチャトラックのリストにおける時間整列されたサンプルとから、トラック参照によってPUを再構成する場合、サンプル中にPH NALユニットが存在するかどうかにかかわらず、VVCベーストラックのサンプルにおける非VCL NALユニットの順番がはっきりと特定される。
a.一例において、VVCサブピクチャトラックにおけるNALユニットの前に、PUに配置されるべきVVCベーストラックのサンプルからのセットNALユニットは、以下のように指定される。サンプルの中に、nal_unit_typeがEOS_NUT、EOB_NUT、SUFFIX_APS_NUT、SUFFIX_SEI_NUT、FD_NUT、RSV_NVCL_27、UNSPEC_30、UNSPEC_31のいずれかであるNALユニットが少なくとも1つ存在する場合(このようなNALユニットタイプを持つNALユニットは、ピクチャユニット内の最初のVCL NALユニットに先行することはできない)、サンプル内のこれらのNALユニットの最初のものまででこれを除くNALユニット、そうでない場合はサンプル内のすべてのNALユニット。
b.一例において、VVCサブピクチャトラックにおけるNALユニットの後に、PUに配置されるべきVVCベーストラックのサンプルからのセットNALユニットは、以下のように指定される。nal_unit_typeがEOS_NUT、EOB_NUT、SUFFIX_APS_NUT、SUFFIX_SEI_NUT、FD_NUT、RSV_NVCL_27、UNSPEC_30、またはUNSPEC_31であるサンプル内のすべてのNALユニット。
3)‘subp’トラック参照を使用して、VVCトラックが複数の(サブピクチャ)トラックを参照できるようにし、参照順は、参照されたVVCサブピクチャトラックから再構成されたビットストリームにおけるサブピクチャの復号化の順序を示す。
a.VVCベーストラックのサンプルと、VVCベーストラックによって参照されるVVCサブピクチャトラックリストにおける時間整列されたサンプルとからPUを再構成する場合、参照サブピクチャトラックのサンプルは、‘subp’トラック参照において参照されるVVCサブピクチャトラックの順に処理される。
4)サブピクチャトラックにAUレベルまたはピクチャレベルの非VCL NALユニット(AUD、DCI、OPI、VPS、SPS、PPS、PH、EOS、EOBのNALユニット、AUレベルおよびピクチャレベルのSEIメッセージのみを含むSEI NALユニットを含む)の存在を禁止する。AUレベルのSEIメッセージは、1つ以上のAU全体に適用される。ピクチャレベルのSEIメッセージは、1つ以上のピクチャ全体に適用される。
a.さらに、VVCベーストラックのサンプルと、VVCベーストラックから参照されるVVCサブピクチャトラックのリストの中の時間的に整列させたサンプルからPUを再構成する際に、VVCサブピクチャトラックの時間的に整列させたサンプルに含まれるすべてのNALユニットが、特定の非VCL NALユニットを廃棄することなく、PUに追加される。
5)VVCベーストラックのサンプルと、VVCベーストラックからトラックリファレンスを介して参照されるVVCサブピクチャトラックのリストの中の時間的にずれたサンプルから、PUを再構成する際に、‘spor’サンプルグループの使用を削除し、‘spor’サンプルグループに基づくパラメータセットの書き換え処理の記述を削除する。
6)‘spor’サンプルグループの仕様を削除する。
7)各‘subp’トラック参照インデックスは、VVCサブピクチャトラックのトラックIDまたはVVCサブピクチャトラックグループのトラックグループIDのいずれかを参照し、それ以外のものは参照しないことを規定する。
8)問題5を解決するために、2つのサブピクチャエンティティグループのボックスのコンテナを、ファイルレベルのMetaBoxとして、以下のように規定する。SubpicCommonGroupBoxおよびSubpicMultipleGroupSBoxは、存在する場合、ファイルレベルのMetaBoxにおけるGroupsListBoxに含まれるべきであり、他のレベルのMetaBoxに含まれてはならない。
9) 問題6を解決するために、2つのサンプルグループを追加し、2つのサブピクチャエンティティグループと同様の情報を伝えるようにする。これにより、VVCファイルフォーマットは、関連するサブピクチャ情報がトラックの時間の長さ全体で一貫していない場合、例えば、異なるCVSが特定のサブピクチャシーケンスに対して異なるレベルを持っている場合などに対応できるようになる。
10)問題7を解決するために、以下の項目の1つ以上を提案する。
a.1つの‘spor’サンプルグループは、それぞれのVVCベーストラックに対して選択可能であるように規定される。
b.PUを再構成する場合、‘spor’サンプルグループが、VVCベーストラックに存在しない場合には、参照サブピクチャトラックのサンプルは、‘subp’トラック参照において参照されるVVCサブピクチャトラックの順に処理される。
6. 実施形態
以下は、上記第5章に要約されたいくつかの発明の態様のためのいくつかの例示的な実施形態であり、VVC映像ファイルフォーマットの標準仕様に適用できる。変更したテキストは、MPEG出力文書N19454の最終草案仕様(情報技術-オーディオビジュアルオブジェクトの符号化-パート15:ISOベースのメディアファイルフォーマットのネットワーク抽象化層(NAL)単位で構造化された映像のキャリッジ、補正2:ISOBMFFにおけるVVCおよびEVCのキャリッジ、2020年7月)に基づく。既に追加または修正された最も関連性のある部分は、太字およびイタリック文字で強調表示され、且つ削除された部分の一部は、二重括弧でマークされている(例えば、[[a]]は、‘a’という文字の削除を示す)。本質的に編集可能であるため、強調されていない他の何らかの変更があってもよい。
6.1. 第一の実施形態
本実施形態は1a、1b、1c項である。
6.1.1. トラックのタイプ
本明細書では、VVCビットストリームをキャリッジするための以下のタイプの映像トラックを指定する。
a)VVCトラック:
VVCトラックは、そのサンプルおよび/またはサンプルエントリにNALユニットを含めることによって、且つ場合によっては、‘vopi’および‘linf’サンプルグループを介して、または‘opeg’エンティティグループを介してVVCビットストリームの他のレイヤおよび/またはサブレイヤを含む他のVVCトラックを関連付けることによって、また、場合によってはVVCサブピクチャトラックを参照することによって、VVCビットストリームを表す。
VVCトラックがVVCサブピクチャトラックを参照する場合、これをVVCベーストラックとも呼ぶ。VVCベーストラックは、VCL NALユニットを含まないものとし、‘vvcN’トラックリファレンスを介してVVCトラックによって参照されないものとする。
b)VVC非VCLトラック:
VVC非VCLトラックは、非VCL NALユニットのみを含むトラックであり、‘vvcN’トラック基準によってVVCトラックによって参照される。
VVCの非VCLトラックには、ALF、LMCS、またはスケーリングリストのパラメータを搬送するAPSが、他の非VCL NALユニットとともに、または他の非VCL NALユニットを伴わずに、VCL NALユニットを含むトラックとは別個のトラックに記憶され、そのトラックを介して送信されることがあるAPSを含んでいてもよい。
VVCの非VCLトラックには、また、APS NALユニットとともに、または伴わずに、また、他の非VCL NALユニットとともに、または他の非VCL NALユニットを伴わずに、ピクチャヘッダNALユニットを含むトラックとは別個のトラックに記憶され、そのトラックを介して送信されることがあるAPSを含んでいてもよい。
c)VVCサブピクチャトラック:
VVCサブピクチャトラックは、以下のいずれかを含む。
【0051】
【0052】
1つの矩形領域を形成する1つ以上の完全なスライスのシーケンス。
VVCサブピクチャトラックの1つのサンプルは、以下のいずれかを含む。
【0053】
【0054】
[[VVCサブピクチャトラックの任意のサンプルに含まれるVVCサブピクチャまたはスライスは、復号化の順序で連続している。]]
【0055】
【0056】
6.1.2. VVCビットストリームにおいて搬送される矩形領域の概要
本明細書は、以下のいずれかからなる矩形領域を説明することを支援する。
【0057】
【0058】
矩形の領域は、穴のない矩形を覆う。ピクチャ内の矩形領域は互いに重複しない。
...
6.2. 第二の実施形態
本実施形態は、項目2、2a、2b、3、3a、4、4a、5に関する。
6.2.1. VVCサブピクチャトラックを参照するVVCトラックにおけるサンプルからピクチャユニットを再構成する方法
【0059】
【0060】
●サンプル中に[[あれば]]存在するAUD NALユニット[[および第1のNALユニット]]。
【0061】
【0062】
●サンプルが同じサンプルエントリに関連付けられた一連のサンプルの最初のサンプルである場合、もしあれば、そのサンプルエントリに含まれているパラメータセットおよびSEI NALユニット。
【0063】
【0064】
【0065】
注2:参照されたVVCサブピクチャトラックがVVC非VCLトラックに関連付けられている場合、VVCサブピクチャトラックの分解されたサンプルは、VVC非VCLトラックにおける時間整列サンプルの非VCL NALユニット(複数可)がある場合、その非VCL NALユニットを含む。
【0066】
【0067】
[[注2:サンプルにおけるPH NALユニットの後に続くNALユニットは、サフィックスSEI NALユニット、サフィックスAPS NALユニット、EOS NALユニット、EOB NALユニット、または最後のVCL NALユニットの後に許可される予約NALユニットを含むことができる。]]
[[‘spor’サンプルグループ記述エントリの]]‘subp’トラック基準インデックスは、以下のように分解される。
●トラック参照がVVCサブピクチャトラックのトラックIDを指している場合、トラック参照はVVCサブピクチャトラックに分解される。
●そうでない場合(トラック参照は「alte」のトラックグループを指す)、トラック参照は「alte」のトラックグループのいずれかのトラックに分解され、特定のトラック参照インデックスが前のサンプルの特定のトラックに分解された場合、現在のサンプルにおいて以下のいずれかに分解される。
●同じ特定のトラック、あるいは、
●現在のサンプルと時間整列された同期サンプルを含む、同じ‘alte’トラックグループにおける任意の他のトラック。
注3:同じ‘alte’トラックグループにおけるVVCサブピクチャトラックは、復号化の不整合を回避するために、同じVVCベーストラックによって参照される他のVVCサブピクチャトラックから必ず独立しており、従って、以下のように制約される場合がある。
●すべてのVVCサブピクチャトラックは、VVCサブピクチャを含む。
●サブピクチャの境界はピクチャの境界に類似している。
●[[サブピクチャの境界でループフィルタリングをオフにする。
読取装置が、最初の選択であるかまたは前回の選択とは異なる1組のサブピクチャID値を有するVVCサブピクチャを含むVVCサブピクチャトラックを選択した場合、以下のステップを実行することができる。
●‘spor’サンプルグループ記述エントリを調査し、PPSまたはSPS NALユニットを変更する必要があるかどうかを結論づける。
注:SPSの変更は、CLVSの開始時にのみ可能である。
●‘spor’サンプルグループディスクリプションエントリが、含まれているNALユニットにおけるサブピクチャIDの前後または内部にスタートコードエミュレーション防止バイトが存在することを示す場合、NALユニットからRBSPを導出する(即ち、スタートコードエミュレーション防止バイトを削除する)。次のステップでオーバーライドした後、スタートコードのエミュレーション防止を再び行う。
●読取装置は、‘spor’サンプルグループエントリにおけるビット位置およびサブピクチャIDの長さを用いて、どのビットを上書きするかを確定し、サブピクチャIDを選択されたものにアップデートする。
●PPSまたはSPSのサブピクチャID値を最初に選択するとき、読取装置は、再構築されたアクセスユニットにおいて、選択したサブピクチャID値でPPSまたはSPSをそれぞれ書き換えることが必要である。
●PPSまたはSPSのサブピクチャID値が、同じPPS ID値またはSPS ID値を有する前のPPSまたはSPS(それぞれ)と比較された場合、読取装置は、前のPPSおよびSPSのコピー(同じPPSまたはSPS ID値を有するPPSまたはSPSがそれぞれアクセスユニットに存在しない場合)を含め、更新されたサブピクチャID値を有するPPSまたはSPS(それぞれ)を再構成されたアクセスユニットに書き換える必要がある。]]
6.3. 第三の実施形態
本実施形態は項目1a、1b、1c、1f、2、2a、2b、4、4a、10である。
トラックのタイプ
本明細書では、VVCビットストリームをキャリッジするための以下のタイプの映像トラックを指定する。
d) VVCトラック:
VVCトラックは、そのサンプルおよび/またはサンプルエントリにNALユニットを含めることによって、且つ場合によっては、‘vopi’および‘linf’サンプルグループを介して、または‘opeg’エンティティグループを介してVVCビットストリームの他のレイヤおよび/またはサブレイヤを含む他のVVCトラックを関連付けることによって、また、場合によってはVVCサブピクチャトラックを参照することによって、VVCビットストリームを表す。
【0068】
【0069】
e)VVC非VCLトラック:
VVC非VCLトラックは、非VCL NALユニットのみを含むトラックであり、「vvcN」トラック基準によってVVCトラックによって参照される。
VVCの非VCLトラックには、ALF、LMCS、またはスケーリングリストのパラメータを搬送するAPSが、他の非VCL NALユニットとともに、または他の非VCL NALユニットを伴わずに、VCL NALユニットを含むトラックとは別個のトラックに記憶され、そのトラックを介して送信されることがあるAPSを含んでいてもよい。
VVCの非VCLトラックには、また、APS NALユニットとともに、または伴わずに、また、他の非VCL NALユニットとともに、または他の非VCL NALユニットを伴わずに、ピクチャヘッダNALユニットを含むトラックとは別個のトラックに記憶され、そのトラックを介して送信されることがあるAPSを含んでいてもよい。
f)VVC サブピクチャトラック:
VVCサブピクチャトラックは、以下のいずれかを含む。
【0070】
【0071】
1つの矩形領域を形成する1つ以上の完全なスライスのシーケンス。
VVCサブピクチャトラックの1つのサンプルは、以下のいずれかを含む。
【0072】
【0073】
[[VVCサブピクチャトラックの任意のサンプルに含まれるVVCサブピクチャまたはスライスは、復号化の順序で連続している。]]
【0074】
【0075】
VVCビットストリームにおいて搬送される矩形領域の概要
本明細書は、以下のいずれかからなる矩形領域を説明することを支援する。
【0076】
【0077】
矩形の領域は、穴のない矩形を覆う。ピクチャ内の矩形領域は互いに重複しない。
...
VVCサブピクチャトラックを参照するVVCトラックにおけるサンプルからピクチャユニットを再構成する方法
【0078】
【0079】
●サンプル中に存在[[あれば]]するAUD NALユニット[[(および第1のNALユニット)]]。
【0080】
【0081】
●サンプルが同じサンプルエントリに関連付けられた一連のサンプルの最初のサンプルである場合、もしあれば、そのサンプルエントリに含まれているパラメータセットおよびSEI NALユニット。
【0082】
【0083】
【0084】
注2:参照されたVVCサブピクチャトラックがVVC非VCLトラックに関連付けられている場合、VVCサブピクチャトラックの分解されたサンプルは、VVC非VCLトラックにおける時間整列サンプルの非VCL NALユニット(複数可)がある場合、その非VCL NALユニットを含む。
【0085】
【0086】
【0087】
[[注2:サンプルにおけるPH NALユニットの後に続くNALユニットは、サフィックスSEI NALユニット、サフィックスAPS NALユニット、EOS NALユニット、EOB NALユニット、または最後のVCL NALユニットの後に許可される予約NALユニットを含むことができる。]]
[[‘spor’サンプルグループ記述エントリの]]‘subp’トラック基準インデックスは、以下のように分解される。
●トラック参照がVVCサブピクチャトラックのトラックIDを指している場合、トラック参照はVVCサブピクチャトラックに分解される。
●そうでない場合(トラック参照は‘alte’のトラックグループを指す)、トラック参照は‘alte’のトラックグループのいずれかのトラックに分解され、特定のトラック参照インデックスが前のサンプルの特定のトラックに分解された場合、現在のサンプルにおいて以下のいずれかに分解される。
●同じ特定のトラック、あるいは、
●現在のサンプルと時間整列された同期サンプルを含む、同じ‘alte’トラックグループにおける任意の他のトラック。
注3:同じ‘alte’トラックグループにおけるVVCサブピクチャトラックは、復号化の不整合を回避するために、同じVVCベーストラックによって参照される他のVVCサブピクチャトラックから必ず独立しており、従って、以下のように制約される場合がある。
●すべてのVVCサブピクチャトラックは、VVCサブピクチャを含む。
●サブピクチャの境界はピクチャの境界に類似している。
●[[サブピクチャの境界でループフィルタリングをオフにする。]]
読取装置が、最初の選択であるかまたは前回の選択とは異なる1組のサブピクチャID値を有するVVCサブピクチャを含むVVCサブピクチャトラックを選択した場合、以下のステップを実行することができる。
●‘spor’サンプルグループ記述エントリを調査し、PPSまたはSPS NALユニットを変更する必要があるかどうかを結論づける。
注:SPSの変更は、CLVSの開始時にのみ可能である。
●‘spor’サンプルグループディスクリプションエントリが、含まれているNALユニットにおけるサブピクチャIDの前後または内部にスタートコードエミュレーション防止バイトが存在することを示す場合、NALユニットからRBSPを導出する(即ち、スタートコードエミュレーション防止バイトを削除する)。次のステップでオーバーライドした後、スタートコードのエミュレーション防止を再び行う。
●読取装置は、‘spor’サンプルグループエントリにおけるビット位置およびサブピクチャIDの長さを用いて、どのビットを上書きするかを確定し、サブピクチャIDを選択されたものにアップデートする。
●PPSまたはSPSのサブピクチャID値を最初に選択するとき、読取装置は、再構築されたアクセスユニットにおいて、選択したサブピクチャID値でPPSまたはSPSをそれぞれ書き換えることが必要である。
●PPSまたはSPSのサブピクチャID値が、同じPPS ID値またはSPS ID値を有する前のPPSまたはSPS(それぞれ)と比較された場合、読取装置は、前のPPSおよびSPSのコピー(同じPPSまたはSPS ID値を有するPPSまたはSPSがそれぞれアクセスユニットに存在しない場合)を含め、更新されたサブピクチャID値を有するPPSまたはSPS(それぞれ)を再構成されたアクセスユニットに書き換える必要がある。
サンプルエントリ名称および(VVC映像ストリーム定義の)形式
定義
...
VVCトラックは、‘subp’トラックリファレンスを含んでもよく、エントリは、VVCサブピクチャトラックのtrack_ID値かVVCサブピクチャトラックの‘alte’トラックグループのtrack_group_id値のどちらかを含む。
[[VVCトラックは、‘subp’トラック基準を含む場合、VVCベーストラックと呼ばれ、以下が適用される。
- VVCトラックのサンプルは、VCL NALユニットを含まないとする。]]
【0088】
【0089】
...
構文
【0090】
【0091】
意味論
基本クラスVisualSampleEntryにおけるCompressornameは、値「\012VVC 符号化」が推奨されるときに使用されるコンプレッサの名前を示す(\012は10であり、文字列の長さはバイトである)。
VvcDecoderConfigurationRecordは、11.3.3に定義されている。
【0092】
【0093】
lengthSizeMinusOneに1を加えたものは、VvcNALUConfigBoxを含むトラックにおけるNALUnitLengthフィールドのバイト長を示す。このフィールドの値は、それぞれ1、2または4バイトで符号化された長さに対応する0、1または3のうちの1つである。
[[num_subpics_minus1+1]VVCサブピクチャトラックに含まれるサブピクチャシーケンスの数を指定する。
subpic_id、VVCサブピクチャトラックに含まれるサブピクチャのシーケンスのサブピクチャ識別子を指定する。]]
【0094】
図1は、本明細書で開示される様々な技術が実装され得る例示的な映像処理システム1900を示すブロック図である。様々な実装形態は、システム1900のモジュールの一部又は全部を含んでもよい。システム1900は、映像コンテンツを受信するための入力ユニット1902を含んでもよい。映像コンテンツは、未加工又は非圧縮フォーマット、例えば、8又は10ビットのマルチモジュール画素値で受信されてもよく、又は圧縮又は符号化フォーマットで受信されてもよい。入力ユニット1902は、ネットワークインタフェース、周辺バスインタフェース、又は記憶インタフェースを表してもよい。ネットワークインタフェースの例は、イーサネット(登録商標)、パッシブ光ネットワーク(PON)等の有線インタフェース、およびWi-Fi(登録商標)またはセルラーインタフェース等の無線インタフェースを含む。
【0095】
システム1900は、本明細書に記載される様々な符号化又は符号化方法を実装することができる符号化モジュール1904を含んでもよい。符号化モジュール1904は、入力ユニット1902からの映像の平均ビットレートを符号化モジュール1904の出力に低減し、映像の符号化表現を生成してもよい。従って、この符号化技術は、映像圧縮または映像コード変換技術と呼ばれることがある。符号化モジュール1904の出力は、モジュール1906によって表されるように、記憶されてもよいし、接続された通信を介して送信されてもよい。入力ユニット1902において受信された、記憶された又は通信された映像のビットストリーム(又は符号化)表現は、モジュール1908によって使用されて、表示インタフェースユニット1910に送信される画素値又は表示可能な映像を生成してもよい。ビットストリーム表現からユーザが見ることができる映像を生成する処理は、映像伸張(映像展開)と呼ばれることがある。さらに、特定の映像処理動作を「符号化」動作又はツールと呼ぶが、符号化ツール又は動作は、エンコーダ及びそれに対応する、復号化の結果を逆にする復号化ツール又は動作が、デコーダによって行われることが理解されよう。
【0096】
周辺バスインタフェースユニットまたは表示インタフェースユニットの例は、ユニバーサルシリアルバス(USB)または高精細マルチメディアインタフェース(HDMI(登録商標))またはディスプレイポート等を含んでもよい。ストレージインタフェースの例は、シリアルアドバンスドテクノロジーアタッチメント(SATA)、PCI、IDEインタフェース等を含む。本明細書に記載される技術は、携帯電話、ノートパソコン、スマートフォン、又はデジタルデータ処理及び/又は映像表示を実施可能な他のデバイス等の様々な電子デバイスに実施されてもよい。
【0097】
図2は、映像処理装置3600のブロック図である。装置3600は、本明細書に記載の方法の1つ以上を実装するために使用してもよい。装置3600は、スマートフォン、タブレット、コンピュータ、モノのインターネット(IoT)受信機等に実施されてもよい。装置3600は、1つ以上の処理装置3602と、1つ以上のメモリ3604と、映像処理ハードウェア3606と、を含んでもよい。1つまたは複数の処理装置3602は、本明細書に記載される1つ以上の方法を実装するように構成されてもよい。メモリ(複数可)3604は、本明細書で説明される方法および技術を実装するために使用されるデータおよびコードを記憶するために使用してもよい。映像処理ハードウェア3606は、本明細書に記載される技術をハードウェア回路にて実装するために使用してもよい。いくつかの実施形態において、映像処理ハードウェア3606は、処理装置3602、例えばグラフィックコプロセッサに少なくとも部分的に含まれてもよい。
【0098】
図4は、本開示の技術を利用し得る例示的な映像符号化システム100を示すブロック図である。
【0099】
図4に示すように、映像符号化システム100は、送信元デバイス110と、送信先デバイス120と、を備えてもよい。送信元デバイス110は、映像符号化機器と呼ばれてもよい符号化映像データを生成する。送信先デバイス120は、送信元デバイス110によって生成された、映像復号化デバイスと呼ばれ得る符号化映像データを復号化してもよい。
【0100】
送信元デバイス110は、映像送信元112と、映像エンコーダ114と、入出力(I/O)インタフェース116と、を備えてもよい。
【0101】
映像送信元112は、映像キャプチャデバイスなどのソース、映像コンテンツプロバイダからの映像データを受信するためのインタフェース、および/または映像データを生成するためのコンピュータグラフィックスシステム、またはこれらのソースの組み合わせを含んでもよい。映像データは、1つ以上のピクチャを含んでもよい。映像エンコーダ114は、映像ソース112からの映像データを符号化し、ビットストリームを生成する。ビットストリームは、映像データの符号化表現を形成するビットシーケンスを含んでもよい。ビットストリームは、符号化ピクチャおよび関連付けられたデータを含んでもよい。符号化ピクチャは、ピクチャの符号化表現である。関連付けられたデータは、シーケンスパラメータセット、ピクチャパラメータセット、および他の構文構造を含んでもよい。I/Oインタフェース116は、変復調器(モデム)および/または送信機を含んでもよい。符号化された映像データは、ネットワーク130aを介して、I/Oインタフェース116を介して送信先デバイス120に直接送信されてもよい。符号化された映像データは、送信先デバイス120がアクセスするために、記憶媒体/サーバ130bに記憶されてもよい。
【0102】
送信先デバイス120は、I/Oインタフェース126、映像デコーダ124、および表示装置122を含んでもよい。
【0103】
I/Oインタフェース126は、受信機および/またはモデムを含んでもよい。I/Oインタフェース126は、送信元デバイス110または記憶媒体/サーバ130bから符号化映像データを取得してもよい。映像デコーダ124は、符号化された映像データを復号化してもよい。表示デバイス122は、復号化された映像データをユーザに表示してもよい。表示装置122は、送信先デバイス120と一体化されてもよく、または外部表示装置とインタフェースするように構成される送信先デバイス120の外部にあってもよい。
【0104】
映像エンコーダ114および映像デコーダ124は、高効率映像符号化(HEVC)規格、汎用映像符号化(VVVM)規格、および他の現在のおよび/またはさらなる規格等の映像圧縮規格に従って動作してもよい。
【0105】
図5は、映像エンコーダ200の一例を示すブロック図であり、この映像エンコーダ200は、
図4に示されるシステム100における映像エンコーダ114であってもよい。
【0106】
映像エンコーダ200は、本開示の技術のいずれかまたは全部を行うように構成してもよい。
図5の実施例において、映像エンコーダ200は、複数の機能性モジュールを含む。本開示で説明されている技術は、映像エンコーダ200の様々なモジュール間で共有されてもよい。いくつかの例では、プロセッサは、本開示で説明されている技術のいずれか又はすべてを実行するように構成されてもよい。
【0107】
映像エンコーダ200の機能性モジュールは、分割ユニット201、プレディケーションユニット202を含んでもよく、予測ユニット202は、モード選択ユニット203、動き推定ユニット204、動き補償ユニット205、およびイントラ予測ユニット206、残差生成ユニット207、変換ユニット208、量子化ユニット209、逆量子化ユニット210、逆変換ユニット211、再構成ユニット212、バッファ213、およびエントロピー符号化ユニット214を含んでもよい。
【0108】
他の例において、映像エンコーダ200は、より多い、より少ない、または異なる機能性モジュールを含んでもよい。一例において、予測ユニット202は、IBC(Intra Block Copy)ユニットを含んでもよい。IBCユニットは、少なくとも1つの参照ピクチャが現在の映像ブロックが位置するピクチャであるIBCモードにおいてプレディケーションを行うことができる。
【0109】
さらに、動き推定ユニット204および動き補償ユニット205などのいくつかのモジュールは、高度に統合されてもよいが、説明のために、
図5の例においては別個に表現されている。
【0110】
分割ユニット201は、1つのピクチャを1つ以上の映像ブロックに分割してもよい。映像エンコーダ200および映像デコーダ300は、様々な映像ブロックサイズをサポートすることができる。
【0111】
モード選択ユニット203は、例えば、誤りの結果に基づいて、イントラ符号化モードまたはインター符号化モードのうちの1つを選択し、得られたイントラ符号化ブロックまたはインター符号化ブロックを残差生成ユニット207に供給し、残差ブロックデータを生成し、再構成ユニット212に供給し、符号化ブロックを参照ピクチャとして使用するために再構成してもよい。いくつかの例では、モード選択ユニット203は、インター予測信号及びイントラ予測信号に基づいて予測を行うイントラ及びインター組み合わせ予測(CIIP)モードを選択してもよい。また、モード選択ユニット203は、プレディケーション間の場合、ブロックの動きベクトルの解像度(例えば、サブピクセルまたは整数画素精度)を選択してもよい。
【0112】
現在の映像ブロックに対してインター予測を行うために、動き推定ユニット204は、バッファ213からの1つ以上の参照フレームと現在の映像ブロックとを比較することで、現在の映像ブロックのための動き情報を生成してもよい。動き補償ユニット205は、現在の映像ブロックに関連付けられたピクチャ以外のバッファ213からのピクチャの動き情報および復号化サンプルに基づいて、現在の映像ブロックのための予測映像ブロックを判定してもよい。
【0113】
動き推定ユニット204および動き補償ユニット205は、現在の映像ブロックがIスライスであるか、Pスライスであるか、またはBスライスであるかによって、例えば、現在の映像ブロックに対して異なる演算を行ってもよい。
【0114】
いくつかの例では、動き推定ユニット204は、現在の映像ブロックに対して単方向予測を行い、動き推定ユニット204は、現在の映像ブロックに対して、参照映像ブロック用のリスト0またはリスト1の参照ピクチャを検索して、現在の映像ブロックを求める。そして、動き推定ユニット204は、リスト0又はリスト1における、参照映像ブロックと、現在の映像ブロックと参照映像ブロックとの空間変位を示す動きベクトルとを含む参照ピクチャを示す参照インデックスを生成してもよい。動き推定ユニット204は、参照インデックス、予測方向インジケータ、及び動きベクトルを、現在の映像ブロックの動き情報として出力する。動き補償ユニット205は、現在の映像ブロックの動き情報が示す参照映像ブロックに基づいて、現在のブロックの予測映像ブロックを生成してもよい。
【0115】
他の例において、動き推定ユニット204は、現在の映像ブロックを双方向予測してもよく、動き推定ユニット204は、リスト0における参照ピクチャの中から現在の映像ブロックを求めるための参照映像ブロックを検索してもよく、また、リスト1における参照ピクチャの中から現在の映像ブロックを求めるための別の参照映像ブロックを検索してもよい。次に、動き推定ユニット204は、参照映像ブロックを含むリスト0及びリスト1における参照ピクチャを示す参照インデックスと、参照映像ブロックと現在の映像ブロックとの空間変位を示す動きベクトルとを生成してもよい。動き推定ユニット204は、現在の映像ブロックの参照インデックス及び動きベクトルを、現在の映像ブロックの動き情報として出力する。動き補償ユニット205は、現在の映像ブロックの動き情報が示す参照映像ブロックに基づいて、現在の映像ブロックの予測映像ブロックを生成する。
【0116】
いくつかの例では、動き推定ユニット204は、デコーダの復号化処理のために、動き情報のフルセットを出力してもよい。
【0117】
いくつかの例では、動き推定ユニット204は、現在の映像のための動き情報のフルセットを出力しなくてもよい。むしろ、動き推定ユニット204は、別の映像ブロックの動き情報を参照して、現在の映像ブロックの動き情報を信号通知してもよい。例えば、動き推定ユニット204は、現在の映像ブロックの動き情報が近傍の映像ブロックの動き情報に十分に類似していると決定してもよい。
【0118】
一例において、動き推定ユニット204は、現在の映像ブロックに関連付けられた構文構造において、現在の映像ブロックが別の映像ブロックと同じ動き情報を有することを映像デコーダ300に示す値を示してもよい。
【0119】
別の例において、動き推定ユニット204は、現在の映像ブロックに関連付けられた構文構造において、別の映像ブロックと、動きベクトル差(MVD)とを識別してもよい。動きベクトルの差分は、現在の映像ブロックの動きベクトルと、示された映像ブロックの動きベクトルとの差分を示す。映像デコーダ300は、指示された映像ブロックの動きベクトルおよび動きベクトルの差を使用して、現在の映像ブロックの動きベクトルを決定してもよい。
【0120】
上述したように、映像エンコーダ200は、動きベクトルを予測的に信号通知してもよい。映像エンコーダ200によって実装され得る予測信号通知技術の2つの例は、高度動きベクトルプレディケーション(AMVP)およびマージモード信号通知を含む。
【0121】
イントラ予測ユニット206は、現在の映像ブロックに対してイントラ予測を行ってもよい。イントラ予測ユニット206が現在の映像ブロックをイントラ予測する場合、イントラ予測ユニット206は、同じピクチャ中の他の映像ブロックの復号化されたサンプルに基づいて、現在の映像ブロックのために予測データを生成してもよい。現在の映像ブロックのための予測データは、予測された映像ブロックおよび様々な構文要素を含んでもよい。
【0122】
残差生成ユニット207は、現在の映像ブロックから現在の映像ブロックの予測された映像ブロック(複数可)を減算することによって(例えば、マイナス符号によって示されている)、現在の映像ブロックのための残差データを生成してもよい。現在の映像ブロックの残差データは、現在の映像ブロックにおけるサンプルの異なるサンプル成分に対応する残差映像ブロックを含んでもよい。
【0123】
他の例において、例えば、スキップモードにおいて、現在の映像ブロックのための残差データがなくてもよく、残差生成ユニット207は、減算演算を行わなくてもよい。
【0124】
変換処理ユニット208は、現在の映像ブロックに関連付けられた残差映像ブロックに1つ以上の変換を適用することによって、現在の映像ブロックのための1つ以上の変換係数映像ブロックを生成してもよい。
【0125】
変換処理ユニット208が現在の映像ブロックに関連付けられた変換係数映像ブロックを生成した後、量子化ユニット209は、現在の映像ブロックに関連付けられた1つ以上の量子化パラメータ(QP)値に基づいて、現在の映像ブロックに関連付けられた変換係数映像ブロックを量子化してもよい。
【0126】
逆量子化ユニット210および逆変換ユニット211は、変換係数映像ブロックに逆量子化および逆変換をそれぞれ適用し、変換係数映像ブロックから残差映像ブロックを再構成してもよい。再構成ユニット212は、プレディケーションユニット202が生成した1つ以上の予測映像ブロックからの対応するサンプルに再構成された残差映像ブロックを加え、現在のブロックに関連付けられた再構成映像ブロックを生成し、バッファ213に記憶してもよい。
【0127】
再構成ユニット212が映像ブロックを再構成した後、映像ブロックにおける映像ブロッキングアーチファクトを縮小するために、ループフィルタリング動作を行ってもよい。
【0128】
エントロピー符号化ユニット214は、映像エンコーダ200の他の機能性モジュールからデータを受信してもよい。エントロピー符号化ユニット214は、データを受信すると、エントロピー符号化ユニット214は、1つ以上のエントロピー符号化演算を行い、エントロピー符号化データを生成し、エントロピー符号化データを含むビットストリームを出力してもよい。
【0129】
図6は、映像デコーダ300の一例を示すブロック図であり、この映像デコーダ300は、
図4に示すシステム100における映像デコーダ114であってもよい。
【0130】
映像デコーダ300は、本開示の技術のいずれかまたは全部を行うように構成してもよい。
図6の実施例において、映像デコーダ300は、複数の機能性モジュールを含む。本開示で説明されている技術は、映像デコーダ300の様々なモジュール間で共有されてもよい。いくつかの例では、プロセッサは、本開示で説明されている技術のいずれか又はすべてを実行するように構成されてもよい。
【0131】
図6の実施例において、映像デコーダ300は、エントロピー復号化ユニット301、動き補償ユニット302、イントラ予測ユニット303、逆量子化ユニット304、逆変換ユニット305、および再構成ユニット306、並びにバッファ307を含む。映像デコーダ300は、いくつかの例では、映像エンコーダ200(
図5)に関して説明した符号化パスとほぼ逆の復号化パスを行ってもよい。
【0132】
エントロピー復号化ユニット301は、符号化ビットストリームを取り出してもよい。符号化ビットストリームは、エントロピー符号化された映像データ(例えば、映像データの符号化ブロック)を含んでもよい。エントロピー復号化ユニット301は、エントロピー符号化された映像データを復号化し、エントロピー復号化された映像データから、動き補償ユニット302は、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス、及び他の動き情報を含む動き情報を判定してもよい。動き補償ユニット302は、例えば、AMVPおよびマージモードを行うことで、このような情報を決定してもよい。
【0133】
動き補償ユニット302は、動き補償されたブロックを生成してもよく、場合によっては、補間フィルタに基づいて補間を行う。構文要素には、サブピクセルの精度で使用される補間フィルタのための識別子が含まれてもよい。
【0134】
動き補償ユニット302は、映像ブロックの符号化中に映像エンコーダ200によって使用されるような補間フィルタを使用して、参照ブロックのサブ整数画素のための補間値を計算してもよい。動き補償ユニット302は、受信した構文情報に従って、映像エンコーダ200が使用する補間フィルタを決定し、この補間フィルタを使用して予測ブロックを生成してもよい。
【0135】
動き補償ユニット302は、構文情報の一部を使用して、符号化された映像シーケンスのフレーム(複数可)および/またはスライス(複数可)を符号化するために使用されるブロックのサイズ、符号化された映像シーケンスのピクチャの各マクロブロックがどのように分割されるかを記述する分割情報、各分割がどのように符号化されるかを示すモード、インター符号化ブロック間の各1つ以上の参照フレーム(および参照フレームリスト)、および符号化された映像シーケンスを復号化するための他の情報を決定してもよい。
【0136】
イントラ予測ユニット303は、例えば、ビットストリームにおいて受信したイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成してもよい。逆量子化ユニット303は、ビットストリームに提供され、エントロピー復号化ユニット301によって復号化された量子化された映像ブロック係数を逆量子化、すなわち、非量子化する。逆変換ユニット303は、逆変換を適用する。
【0137】
再構成ユニット306は、残差ブロックと、動き補償ユニット202またはイントラ予測ユニット303によって生成された対応する予測ブロックとを合計し、復号化ブロックを形成する。所望であれば、ブロックアーチファクトを除去するために、復号化されたブロックをフィルタリングするために非ブロック化フィルタを適用してもよい。復号化された映像ブロックは、バッファ307に記憶され、バッファ307は、後続の動き補償/イントラ予測のための参照ブロックを提供し、且つ表示装置に表示するための復号化された映像を生成する。
【0138】
次に、いくつかの実施形態において好適な解決策を列挙する。
【0139】
第1の解決策のセットを以下に提供する。以下の解決策は、前章(例えば、項目1)で論じた技術の例示的な実施形態を示す。
【0140】
1.視覚メディアデータと、この視覚メディアデータのビットストリーム表現を記憶するファイルの間での変換を、フォーマット規則に従って行うことを含み、前記ファイルは、前記視覚メディアデータのサブピクチャのデータを含むトラックを含み、前記フォーマット規則は、前記トラックの構文を規定する、視覚メディア処理方法。
【0141】
2.前記フォーマット規則は、前記トラックが1つの矩形領域を覆うように規定する、解決策1に記載の方法。
【0142】
3.前記フォーマット規則は、前記トラックに含まれるサブピクチャまたはスライスが独立して抽出可能、復号化可能であり、且つ提示可能であることを規定する、解決策1に記載の方法。
【0143】
以下の解決策は、前章(例えば、項目3、4)で論じた技術の例示的な実施形態を示す。
【0144】
4.視覚メディアデータと、この視覚メディアデータのビットストリーム表現を記憶するファイルの間での変換を、フォーマット規則に従って行うことを含み、前記ファイルは、第1のトラックおよび/または1つ以上のサブピクチャトラックを含み、前記フォーマット規則は、前記トラックおよび/または前記1つ以上のサブピクチャトラックの構文を規定する、視覚メディア処理方法。
【0145】
5.前記フォーマット規則は、前記トラックが前記1つ以上のサブピクチャトラックへの参照を含むことを規定する、解決策4に記載の方法。
【0146】
6.前記フォーマット規則は、前記1つ以上のサブピクチャトラックにアクセスユニットレベルまたはピクチャレベルの非映像符号化層ネットワーク抽象化層ユニットを含めることを許可しない、解決策4に記載の方法。
【0147】
7.前記許可されなかったユニットは、復号化能力情報構造、またはパラメータセット、または動作点情報、またはヘッダ、またはストリームの末端、またはピクチャの末端を含む、解決策6に記載の方法。
【0148】
8.前記変換は、前記視覚メディアデータのビットストリーム表現を生成することと、前記フォーマット規則に従って、前記ファイルへの前記ビットストリーム表現を記憶することと、を含む、解決策1~7のいずれかに記載の方法。
【0149】
9.前記変換は、前記フォーマット規則に従って前記ファイルを構文解析し、前記視覚メディアデータを復元することを含む、解決策1~7のいずれかに記載の方法。
【0150】
10.解決策1~9の1つ以上に記載の方法を実装するように構成された処理装置を備える、映像復号化装置。
【0151】
11.解決策1~9の1つ以上に記載の方法を実装するように構成された処理装置を備える、映像復号化装置。
【0152】
12.コンピュータコードが記憶されたコンピュータプログラム製品であって、前記コードは、処理装置により実行されると、前記処理装置に、解決策1~9のいずれかに記載の方法を実装させるコンピュータプログラム製品。
【0153】
13.解決策1~9のいずれかに従って生成されたファイルフォーマットに準拠したビットストリーム表現を実行するコンピュータ可読媒体。
【0154】
14.本明細書に記載の方法、装置またはシステム。
【0155】
第2の解決策のセットは、前章(例えば、項目1)で論じた技術の例示的な実施形態を提供する。
【0156】
1.視覚メディアデータと、前記視覚メディアデータの1つ以上のビットストリームを記憶する1つ以上のトラックを含む視覚メディアファイルとの変換を行うこと1102を含み、前記視覚メディアデータは、1つまたは複数のサブピクチャまたは複数のスライスを含む1つ以上のピクチャを含み、前記視覚メディアファイルは、フォーマット規則に従って、前記1つ以上のトラックを記憶し、前記フォーマット規則は、前記1つ以上のスライスまたは前記1つ以上のサブピクチャのシーケンスを含むトラックが、前記1つ以上のピクチャの矩形領域を覆うことを規定する、映像メディアデータの処理方法(例えば、
図11に示す方法110)。
【0157】
2.前記フォーマット規則は、前記トラックに含まれる1つ以上のサブピクチャまたは1つ以上のスライスが、別のサブピクチャまたは前記矩形領域とは異なる別の領域を覆う別のスライスが存在せず、独立して抽出可能、復号化可能および提示可能であることを規定する、解決策1に記載の方法。
【0158】
3.前記フォーマット規則は、前記トラックに含まれる1つ以上のサブピクチャまたは1つ以上のスライスが、前記矩形領域とは異なる別の領域を覆う別のサブピクチャまたは別のスライスに動き補償で依存することを規定する、解決策1に記載の方法。
【0159】
4.前記フォーマット規則は、前記1つ以上のスライスまたは複数のサブピクチャが、前記トラックに記憶されたビットストリームの復号化の順序で連続しなくてもよいことを規定する、解決策1に記載の方法。
【0160】
5.復号化の順序で連続していない1つ以上のサブピクチャによって覆われる360度の映像の視野を、このトラックによって表現する、解決策1に記載の方法。
【0161】
6.前記フォーマット規則は、トラックの各サンプルにおける1つ以上のサブピクチャまたは1つ以上のスライスの順序が、前記トラックに記憶されたビットストリームにおける1つ以上のサブピクチャまたは複数のスライスの順序と同じであることを規定する、解決策1に記載の方法。
【0162】
7.前記フォーマット規則は、トラックの各サンプルにおける前記1つ以上のサブピクチャまたは前記1つ以上のスライスの復号化の順序が、前記トラックに記憶されたビットストリームにおいて連続しているかどうかを示す指示を含むかどうかをさらに規定する、解決策1に記載の方法。
【0163】
8.前記指示が、前記トラックのベーストラックサンプルエントリ記述に含まれる、解決策7に記載の方法。
【0164】
9.前記フォーマット規則は、前記指示がないことに呼応して、前記トラックにおける前記1つ以上のサブピクチャまたは複数のスライスを別のサブピクチャまたは別のトラックの別のスライスにマージすることを許可しないことをさらに指定する、解決策7に記載の方法。
【0165】
10.前記指示は、ネットワーク抽象化層(NAL)構成ボックスに含まれる、解決策7に記載の方法。
【0166】
11.前記指示が1であることは、前記トラックの各サンプルにおけるNALユニットが、ビットストリームの復号化の順序で連続しており、かつ前記トラックをトラック参照で参照するベーストラックが、前記トラック参照を有する他のトラックを指すことを示す、解決策7に記載の方法。
【0167】
12.前記指示が0であることは、前記トラックの各サンプルにおけるNALユニットが、ビットストリームの復号化の順序で連続することを許可するかしないかを示し、かつ前記トラックをトラック参照で参照するベーストラックが、前記トラック参照を有する他のトラックを参照しなくてもよいことを示す、解決策7に記載の方法。
【0168】
13.前記視覚メディアデータは、汎用映像符号化(VVC)によって処理され、前記1つ以上のトラックはVVCトラックである、解決策1~12のいずれか1項に記載の方法。
【0169】
14.前記変換は、前記視覚メディアファイルを生成することと、前記フォーマット規則に従って、前記1つ以上のビットストリームを前記視覚メディアファイルに記憶することと、を含む、解決策1~13のいずれか1つに記載の方法。
【0170】
15.前記変換は、前記フォーマット規則に従って前記視覚メディアファイルを構文解析し、前記1つ以上のビットストリームを再構成することを含む、解決策1~13のいずれか1項に記載の方法。
【0171】
16.視覚メディアデータと、前記視覚メディアデータの1つ以上のビットストリームを記憶する1つ以上のトラックを含む視覚メディアファイルとの変換を行うこと1102を含み、前記視覚メディアデータは、1つまたは複数のサブピクチャまたは複数のスライスを含む1つ以上のピクチャを含む方法を実装するように構成された処理装置を含み、前記視覚メディアファイルは、フォーマット規則に従って前記1つ以上のトラックを記憶し、前記フォーマット規則は、前記1つ以上のスライスまたは前記1つ以上のサブピクチャのシーケンスを含むトラックが、前記1つ以上のピクチャの矩形領域を覆うことを規定する、映像メディアデータの処理装置。
【0172】
17.前記フォーマット規則は、トラックの各サンプルにおける前記1つ以上のサブピクチャまたは前記1つ以上のスライスの復号化の順序が、前記トラックに記憶されたビットストリームにおいて連続しているかどうかを示す指示を含むかどうかを規定する、解決策16に記載の装置。
【0173】
18.処理装置に、視覚メディアデータと、前記視覚メディアデータの1つ以上のビットストリームを記憶する1つ以上のトラックを含む視覚メディアファイルとの変換を行わせる命令を記憶する非一時的なコンピュータ可読記録媒体であって、前記視覚メディアデータは、1つまたは複数のサブピクチャまたは複数のスライスを含む1つ以上のピクチャを含み、前記視覚メディアファイルは、フォーマット規則に従って前記1つ以上のトラックを記憶し、前記フォーマット規則は、前記1つ以上のスライスまたは前記1つ以上のサブピクチャのシーケンスを含むトラックが、前記1つ以上のピクチャの矩形領域を覆うことを規定する、非一時的なコンピュータ可読記録媒体。
【0174】
19.前記フォーマット規則は、トラックの各サンプルにおける前記1つ以上のサブピクチャまたは前記1つ以上のスライスの復号化の順序が、前記トラックに記憶されたビットストリームにおいて連続しているかどうかを示す指示を含むかどうかを規定する、解決策18に記載の非一時的なコンピュータ可読記録媒体。
【0175】
20.映像処理装置によって行われる方法によって生成されるビットストリームを記憶する非一時的なコンピュータ可読記録媒体であって、前記方法は、映像処理データの1つ以上のビットストリームを記憶する1つ以上のトラックを含む視覚メディアライフを生成することを含み、前記視覚メディアデータは、1つまたは複数のサブピクチャまたは複数のスライスを含む1つ以上のピクチャを含み、前記視覚メディアファイルは、フォーマット規則に従って前記1つ以上のトラックを記憶し、前記フォーマット規則は、前記1つ以上のスライスまたは前記1つ以上のサブピクチャのシーケンスを含むトラックが、前記1つ以上のピクチャの矩形領域を覆うことを規定する、非一時的なコンピュータ可読記録媒体。
【0176】
21.前記フォーマット規則は、トラックの各サンプルにおける前記1つ以上のサブピクチャまたは前記1つ以上のスライスの復号化の順序が、前記トラックに記憶されたビットストリームにおいて連続しているかどうかを示す指示を含むかどうかを規定する、解決策18に記載の非一時的なコンピュータ可読記録媒体。
【0177】
22.解決策1~15のいずれか1つ以上に記載の方法を実装するように構成された処理装置を備える映像処理装置。
【0178】
23.1つまたは複数のビットストリームを含むファイルに視覚メディアデータを記憶する方法であって、解決策1~15のいずれか1項に記載の方法を含み、かつ前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することをさらに含む、方法。
【0179】
24.実行されると、解決策1~15のいずれか1つ以上に記載の方法を処理装置に実装させるプログラムコードを記憶したコンピュータ可読媒体。
【0180】
25.上述した方法のいずれかに従って生成されたビットストリームを記憶するコンピュータ可読媒体。
【0181】
26.解決策1~15のいずれか1つ以上に記載の方法を実装するように構成された、ビットストリームを記憶するための映像処理装置。
【0182】
27.解決策1~15のいずれかに従って生成されたファイルフォーマットに準拠したビットストリーム表現を実行するコンピュータ可読媒体。
【0183】
28.本明細書に記載の方法、装置またはシステム。
【0184】
第3の解決策のセットは、前章(例えば、項目3,5,6,7および10)で論じた技術の例示的な実施形態を示す。
【0185】
1.視覚メディアデータ処理方法(
図12に示す方法1200)であって、フォーマット規則に従って、視覚メディアデータと、前記視覚メディアデータの1つ以上のビットストリームを記憶する1つ以上のトラックを含む視覚メディアファイルとの変換を行うこと1202を含み、前記視覚メディアファイルは、前記視覚メディアデータの1つ以上のサブピクチャのための符号化情報を記憶する1つ以上のサブピクチャトラックを参照するベーストラックを含み、前記フォーマット規則は、前記ベーストラックにおけるサンプルと1つ以上のサブピクチャトラックから、映像ユニットを再構成するために使用されるプロセスを規定する、方法。
【0186】
2.前記フォーマット規則は、前記ベーストラックが、前記1つ以上のサブピクチャトラックを参照するためのサブピクチャトラック参照を含むことを規定し、前記サブピクチャトラック参照において参照される前記1つ以上のサブピクチャトラックの順序は、前記1つ以上のサブピクチャトラックから再構成された前記映像ユニットにおける前記サブピクチャトラックのサンプルの順序を示す、解決策1に記載の方法。
【0187】
3.前記フォーマット規則は、各サブピクチャトラック参照が、1つのサブピクチャトラックのトラック識別か1つのサブピクチャトラックグループのトラックグループ識別のどちらかを指すインデックスを有することをさらに規定する、解決策1に記載の方法。
【0188】
4.前記フォーマット規則は、サブピクチャ順サンプルグループが前記ベーストラックに対して任意選択可能であることを規定する、解決策1に記載の方法。
【0189】
5.前記フォーマット規則は、サブピクチャ順サンプルグループが前記ベーストラックに含まれていない場合、前記ベーストラックにおいて参照される前記サブピクチャトラックの順序を決定する際に、1つ以上のサブピクチャトラック参照を使用することをさらに規定する、解決策4に記載の方法。
【0190】
6.前記フォーマット規則は、サブピクチャ順サンプルグループの使用を除去し、かつ前記サブピクチャ順サンプルグループに基づいてパラメータセット書き換えプロセスの記述を除去することをさらに規定する、解決策4に記載の方法。
【0191】
7.前記フォーマット規則は、前記サブピクチャ順サンプルグループの仕様を削除することをさらに規定する、解決策4に記載の方法。
【0192】
8.前記視覚メディアデータは、汎用映像符号化(VVC)によって処理され、前記1つ以上のトラックはVVCトラックである、解決策1~7のいずれか1項に記載の方法。
【0193】
9.前記変換は、前記視覚メディアファイルを生成することと、前記フォーマット規則に従って、前記1つ以上のビットストリームを前記視覚メディアファイルに記憶することと、を含む、解決策1~8のいずれか1つに記載の方法。
【0194】
10.前記変換は、前記フォーマット規則に従って前記視覚メディアファイルを構文解析し、前記1つ以上のビットストリームを再構成することを含む、解決策1~8のいずれか1項に記載の方法。
【0195】
11.視覚メディアデータ処理装置であって、フォーマット規則に従って、視覚メディアデータと、前記視覚メディアデータの1つ以上のビットストリームを記憶する1つ以上のトラックを含む視覚メディアファイルとの変換を行うことを含み、前記視覚メディアファイルは、前記視覚メディアデータの1つ以上のサブピクチャのための符号化された情報を記憶する1つ以上のサブピクチャトラックを参照するベーストラックを含み、前記フォーマット規則は、前記ベーストラックにおけるサンプルおよび1つ以上のサブピクチャトラックから映像ユニットを再構成するために使用されるプロセスを規定する、装置。
【0196】
12.前記フォーマット規則は、前記ベーストラックが、前記1つ以上のサブピクチャトラックを参照するためのサブピクチャトラック参照を含むことを規定し、前記サブピクチャトラック参照において参照される前記1つ以上のサブピクチャトラックの順序は、前記1つ以上のサブピクチャトラックから再構成された前記映像ユニットにおける前記サブピクチャトラックのサンプルの順序を示す、解決策11に記載の装置。
【0197】
13.前記フォーマット規則は、各サブピクチャトラック参照が、1つのサブピクチャトラックのトラック識別か1つのサブピクチャトラックグループのトラックグループ識別のどちらかを指すインデックスを有することをさらに規定する、解決策11に記載の装置。
【0198】
14.前記フォーマット規則は、サブピクチャ順サンプルグループが前記ベーストラックに対して任意選択可能であることを規定する、解決策11に記載の装置。
【0199】
15.前記フォーマット規則は、サブピクチャ順サンプルグループが前記ベーストラックに含まれていない場合、前記ベーストラックにおいて参照される前記サブピクチャトラックの順序を決定する際に、1つ以上のサブピクチャトラック参照を使用することをさらに規定する、解決策14に記載の装置。
【0200】
16.前記フォーマット規則は、サブピクチャ順サンプルグループの使用を除去し、かつ前記サブピクチャ順サンプルグループに基づいてパラメータセット書き換えプロセスの記述を除去することをさらに規定する、解決策14に記載の装置。
【0201】
17.前記フォーマット規則は、前記サブピクチャ順サンプルグループの仕様を削除することをさらに規定する、解決策14に記載の装置。
【0202】
18.非一時的なコンピュータ可読記録媒体であって、処理装置にフォーマット規則に従って、視覚メディアデータと、前記視覚メディアデータの1つ以上のビットストリームを記憶する1つ以上のトラックを含む視覚メディアファイルとの変換を行わせ、前記視覚メディアファイルは、前記視覚メディアデータの1つ以上のサブピクチャのための符号化された情報を記憶する1つ以上のサブピクチャトラックを参照するベーストラックを含み、前記フォーマット規則は、前記ベーストラックにおけるサンプルと1つ以上のサブピクチャトラックから、映像ユニットを再構成するために使用されるプロセスを規定する、非一時的なコンピュータ可読記録媒体。
【0203】
19.前記フォーマット規則は、前記ベーストラックが、前記1つ以上のサブピクチャトラックを参照するためのサブピクチャトラック参照を含むことを規定し、前記サブピクチャトラック参照において参照される前記1つ以上のサブピクチャトラックの順序は、前記1つ以上のサブピクチャトラックから再構成された前記映像ユニットにおける前記サブピクチャトラックのサンプルの順序を示す、解決策18に記載の非一時的なコンピュータ可読記録媒体。
【0204】
20.映像処理装置によって行われる方法によって生成されたビットストリームを記憶する非一時的なコンピュータ可読記録媒体であって、前記方法は、フォーマット規則に従って、視覚メディアデータと、前記視覚メディアデータの1つ以上のビットストリームを記憶する1つ以上のトラックを含む視覚メディアファイルを生成することを含み、前記視覚メディアファイルは、符号化情報を記憶する前記視覚メディアデータの1つ以上のサブピクチャのための符号化された情報を記憶する1つ以上のサブピクチャトラックを参照するベーストラックを含み、前記フォーマット規則は、前記ベーストラックにおけるサンプルおよび1つ以上のサブピクチャトラックから、映像ユニットを再構成するために使用されるプロセスを規定する、非一時的なコンピュータ可読記録媒体。
【0205】
21.解決策1~10のいずれか1つ以上に記載の方法を実装するように構成された処理装置を備える映像処理装置。
【0206】
22.1つまたは複数のビットストリームを含むファイルに視覚メディアデータを記憶する方法であって、解決策1~10のいずれか1つに記載の方法を含み、かつ前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することをさらに含む、方法。
【0207】
23.実行されると、解決策1~10のいずれか1つ以上に記載の方法を処理装置に実装させるプログラムコードを記憶したコンピュータ可読媒体。
【0208】
24.上述した方法のいずれかに従って生成されたビットストリームを記憶するコンピュータ可読媒体。
【0209】
25.解決策1~10のいずれか1つ以上に記載の方法を実装するように構成された、ビットストリームを記憶するための映像処理装置。
【0210】
26.解決策1~10のいずれかに従って生成されたファイルフォーマットに準拠したビットストリーム表現を実行するコンピュータ可読媒体。
【0211】
27.本明細書に記載の方法、装置またはシステム。
【0212】
例示的な解決策において、視覚メディアデータは、映像または画像に対応する。本明細書に記載の解決策において、エンコーダは、フォーマット規則に従って符号化表現を生成することで、フォーマット規則に準拠することができる。本明細書に記載の解決策において、デコーダは、フォーマット規則に従って、構文要素の有無を知りつつ、符号化表現における構文要素を構文解析することで、復号された映像を生成するために、このフォーマット規則を使用してもよい。上記の解決策において、視覚メディアデータは、映像または画像に対応する。
【0213】
本明細書では、“映像処理”という用語は、映像符号化、映像復号化、映像圧縮、または映像展開を指すことができる。例えば、映像圧縮アルゴリズムは、映像の画素表現から対応するビットストリーム表現への変換、またはその逆の変換中に適用されてもよい。現在の映像ブロックのビットストリーム表現は、例えば、構文によって規定されるように、ビットストリーム内の同じ場所または異なる場所に拡散されるビットに対応していてもよい。例えば、1つのマクロブロックは、変換および符号化された誤り残差値の観点から、且つビットストリームにおけるヘッダおよび他のフィールドにおけるビットを使用して符号化されてもよい。さらに、変換中、デコーダは、上記解決策で説明されているように、判定に基づいて、いくつかのフィールドが存在しても存在しなくてもよいという知識を持って、ビットストリームを構文解析してもよい。同様に、エンコーダは、特定のシンタックスフィールドが含まれるべきであるか、または含まれないべきであるかを判定し、構文フィールドを符号化表現に含めるか、または符号化表現から除外することによって、それに応じて符号化表現を生成してもよい。
【0214】
本明細書に記載された開示された、およびその他の解決策、実施例、実施形態、モジュール、および機能動作の実装形態は、本明細書に開示された構造およびその構造的等価物を含め、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、若しくはハードウェアで実施されてもよく、またはそれらの1つ以上の組み合わせで実施してもよい。開示された、およびその他の実施形態は、1つ以上のコンピュータプログラム製品、すなわち、データ処理装置によって実装されるため、またはデータ処理装置の動作を制御するために、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして実施することができる。このコンピュータ可読媒体は、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝播信号をもたらす物質の組成物、またはこれらの1つ以上の組み合わせであってもよい。“データ処理装置”という用語は、例えば、プログラマブル処理装置、コンピュータ、または複数の処理装置、若しくはコンピュータを含む、データを処理するためのすべての装置、デバイス、および機械を含む。この装置は、ハードウェアの他に、当該コンピュータプログラムの実行環境を作るコード、例えば、処理装置ファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの1つ以上の組み合わせを構成するコードを含むことができる。伝播信号は、人工的に生成した信号、例えば、機械で生成した電気、光、または電磁信号であり、適切な受信装置に送信するための情報を符号化するために生成される。
【0215】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとも呼ばれる)は、コンパイルされた言語または解釈された言語を含む任意の形式のプログラミング言語で記述することができ、また、それは、スタンドアロンプログラムとして、またはコンピューティング環境で使用するのに適したモジュール、成分、サブルーチン、または他のユニットとして含む任意の形式で展開することができる。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(例えば、マークアップ言語文書に格納された1つ以上のスクリプト)に記録されていてもよいし、当該プログラム専用の単一のファイルに記憶されていてもよいし、複数の調整ファイル(例えば、1つ以上のモジュール、サブプログラム、またはコードの一部を格納するファイル)に記憶されていてもよい。1つのコンピュータプログラムを、1つのサイトに位置する1つのコンピュータ、または複数のサイトに分散され通信ネットワークによって相互接続される複数のコンピュータで実行させるように展開することも可能である。
【0216】
本明細書に記載された処理およびロジックフローは、入力データ上で動作し、出力を生成することによって機能を実行するための1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブル処理装置によって行うことができる。処理およびロジックフローはまた、特定用途のロジック回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって行うことができ、装置はまた、特別目的のロジック回路として実装することができる。
【0217】
コンピュータプログラムの実行に適した処理装置は、例えば、汎用および専用マイクロ処理装置の両方、並びに任意の種類のデジタルコンピュータの任意の1つ以上の処理装置を含む。一般的に、処理装置は、リードオンリーメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの本質的な要素は、命令を実行するための処理装置と、命令およびデータを記憶するための1つ以上のメモリデバイスとである。一般的に、コンピュータは、データを記憶するための1つ以上の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含んでもよく、またはこれらの大容量記憶デバイスからデータを受信するか、またはこれらにデータを転送するように動作可能に結合されてもよい。しかしながら、コンピュータは、このようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、あらゆる形式の不揮発性メモリ、媒体、およびメモリデバイスを含み、例えば、EPROM、EEPROM、フラッシュ記憶装置、磁気ディスク、例えば内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、およびCD-ROMおよびDVD-ROMディスク等の半導体記憶装置を含む。処理装置およびメモリは、特定用途のロジック回路によって補完されてもよく、または特定用途のロジック回路に組み込まれてもよい。
【0218】
本特許明細書は多くの詳細を含むが、これらは、任意の主題の範囲または特許請求の範囲を限定するものと解釈されるべきではなく、むしろ、特定の技術の特定の実施形態に特有であり得る特徴の説明と解釈されるべきである。本特許文献において別個の実施形態のコンテキストで説明されている特定の特徴は、1つの例において組み合わせて実装してもよい。逆に、1つの例のコンテキストで説明された様々な特徴は、複数の実施形態において別個にまたは任意の適切なサブコンビネーションで実装してもよい。さらに、特徴は、特定の組み合わせで作用するものとして上記に記載され、最初にそのように主張されていてもよいが、主張された組み合わせからの1つ以上の特徴は、場合によっては、組み合わせから抜粋されることができ、主張された組み合わせは、サブコンビネーションまたはサブコンビネーションのバリエーションに向けられてもよい。
【0219】
同様に、動作は図面において特定の順番で示されているが、これは、所望の結果を達成するために、このような動作が示された特定の順番でまたは連続した順番で行われること、または示された全ての動作が行われることを必要とするものと理解されるべきではない。また、本特許明細書に記載されている例における様々なシステムの構成要素の分離は、全ての実施形態においてこのような分離を必要とするものと理解されるべきではない。
【0220】
いくつかの実装形態および例のみが記載されており、この特許文献に記載され図示されているコンテンツに基づいて、他の実施形態、拡張および変形が可能である。