(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-04
(45)【発行日】2023-12-12
(54)【発明の名称】映像符号化におけるサブピクチャエンティティ
(51)【国際特許分類】
H04N 21/236 20110101AFI20231205BHJP
H04N 19/46 20140101ALI20231205BHJP
【FI】
H04N21/236
H04N19/46
【外国語出願】
(21)【出願番号】P 2021152667
(22)【出願日】2021-09-17
【審査請求日】2021-11-17
(32)【優先日】2020-09-17
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】521388058
【氏名又は名称】レモン インコーポレイテッド
【氏名又は名称原語表記】Lemon Inc.
(74)【代理人】
【識別番号】110002000
【氏名又は名称】弁理士法人栄光事務所
(72)【発明者】
【氏名】ワン イエクイ
【審査官】大西 宏
(56)【参考文献】
【文献】米国特許出願公開第2020/0244942(US,A1)
【文献】米国特許出願公開第2020/0245041(US,A1)
【文献】国際公開第2020/120833(WO,A1)
【文献】国際公開第2020/141248(WO,A1)
【文献】国際公開第2020/141258(WO,A1)
【文献】Mathias Wien; Jill M. Boyce; Thomas Stockhammer; Wen-Hsiao Peng,Standardization Status of Immersive Video Coding,IEEE Journal on Emerging and Selected Topics in Circuits and Systems,米国,IEEE,2019年02月13日,Volume: 9, Issue: 1,pp. 5 - 17,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8641398
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00 -21/858
H04N 19/00 -19/98
(57)【特許請求の範囲】
【請求項1】
映像データの処理の方法であって、
フォーマット規則に従って、ビジュアルメディアデータと、前記ビジュアルメディアデータの1または複数のビットストリームを格納する1または複数のトラックを含むビジュアルメディアファイルとの間の変換を実行すること
を有し、
前記1または複数のビットストリームは、前記ビジュアルメディアデータのコーディングされたサブピクチャを含み、
前記フォーマット規則は、前記コーディングされたサブピクチャを処理するための規則を示すサブピクチャエンティティグループのボックスのコンテナがファイルレベルボックスに含まれることを規定し、
前記サブピクチャエンティティグループは、グループ内にて前記コーディングされたサブピクチャを処理するための前記規則を示す第1のサブピクチャエンティティグループと、異なるコーディングプロパティを有するコーディングされたサブピクチャを処理するための前記規則を示す第2のサブピクチャエンティティグループを含
み、
前記ビジュアルメディアデータは、VVC(Versatile Video Coding)によって処理され、前記1または複数のトラックは、VVCトラックである、方法。
【請求項2】
前記フォーマット規則は更に、前記サブピクチャエンティティグループの前記ボックスの前記コンテナが、ファイルレベル以外のレベルにおけるボックスに含まれないことを規定する、請求項1に記載の方法。
【請求項3】
前記フォーマット規則は更に、サブピクチャ情報がトラックの全体の期間にわたって一貫していない場合をサポートするために、サブピクチャエンティティグループによって搬送される情報を搬送するためにサンプルグループを追加することを規定する、請求項1または2に記載の方法。
【請求項4】
前記変換は、前記ビジュアルメディアファイルを生成することと、前記フォーマット規則に従って、前記1または複数のビットストリームを前記ビジュアルメディアファイルに格納することと、を含む請求項1~
3のいずれか一項に記載の方法。
【請求項5】
前記変換は、前記1または複数のビットストリームを再構成するために、前記フォーマット規則に従って前記ビジュアルメディアファイルを構文解析することを含む、請求項1~
4のいずれか一項に記載の方法。
【請求項6】
請求項1~
5のいずれか
一項に記載の方法を実装させるように構成されたプロセッサを有する、映像処理装置。
【請求項7】
ビジュアルメディアデータを1または複数のビットストリームを含むファイルに格納する方法であって、
前記方法は、請求項1~
5のいずれか一項に記載の方法を有し、更に、前記1または複数のビットストリームを非一時的記録媒体に格納することを含む、方法。
【請求項8】
実行された際に、プロセッサに、請求項1~
5のいずれか一項に記載の方法を実装させるプログラムコードを格納する、コンピュータ可読記録媒体。
【請求項9】
ビットストリームを格納するための映像処理装置であって、
前記映像処理装置は、請求項1~
5のいずれか一項に記載の方法を実装させるように構成される、映像処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
パリ条約に基づく適用可能な特許法および/または規則に基づいて、本願は、2020年9月17日出願の米国特許仮出願第63/079933号の優先権および利益を適時に主張することを目的とする。法に基づくすべての目的のために、上記出願の開示全体は、本明細書の開示の一部として参照により援用される。
【0002】
この特許明細書は、ファイルフォーマットのデジタルオーディオ映像媒体情報の生成、記憶、および消費に関する。
【背景技術】
【0003】
デジタル映像は、インターネット及び他のデジタル通信ネットワークにおいて最大の帯域幅の使用量を占めている。映像を受信及び表示することが可能である接続されたユーザ機器の数が増加するにつれ、デジタル映像の使用に対する帯域幅需要は増大し続けることが予測される。
【発明の概要】
【0004】
本特許明細書は、映像エンコーダおよびデコーダが、ファイルフォーマットに従って映像または画像の符号化表現を処理するために使用できる技術を開示する。
【0005】
1つの例示的な態様において、ビジュアルメディアデータを処理する方法が開示される。方法は、フォーマット規則に従って、ビジュアルメディアデータと、ビジュアルメディアデータの1または複数のビットストリームを格納する1または複数のトラックを含むビジュアルメディアファイルとの間の変換を行うことを含み、ビジュアルメディアファイルは、1または複数のサブピクチャトラックを参照するベーストラックを含み、フォーマット規則は、ベーストラックのサンプルと1または複数のサブピクチャトラックにおけるサンプルとから映像ユニットを再構成する際に、ベーストラックのサンプルにおける非VCL(Video Coding Layer)NAL(Network Abstraction Layer)ユニットの順序を規定する。
【0006】
別の例示的な態様において、ビジュアルメディアデータ処理の別の方法が開示される。方法は、フォーマット規則に従って、ビジュアルメディアデータと、ビジュアルメディアデータの1または複数のビットストリームを格納する1または複数のトラックを含むビジュアルメディアファイルとの間の変換を行うことを含み、1または複数のビットストリームは、ビジュアルメディアデータの符号化されたサブピクチャを含み、符号化されたサブピクチャを処理するための規則を示すサブピクチャエンティティグループのボックスのコンテナを規定するフォーマット規則は、ファイルレベルボックスに含まれる。
【0007】
さらに別の例示的な態様において、映像処理装置が開示される。映像処理装置は、上述した方法を実装するように構成されたプロセッサを備える。
【0008】
さらに別の例示的な態様において、1または複数のビットストリームを含むファイルにビジュアルメディアデータを記憶する方法が開示される。方法は、上述した方法に対応し、且つ1または複数のビットストリームを非一時的なコンピュータ可読記録媒体に記憶することをさらに含む。
【0009】
さらに別の例示的な態様において、ビットストリームを記憶するコンピュータ可読媒体が開示される。ビットストリームは、上述した方法に従って生成される。
【0010】
さらに別の例示的な態様において、ビットストリームを記憶するための映像処理装置が開示され、映像処理装置は、上述した方法を実装するように構成される。
【0011】
さらに別の例示的な態様において、ビットストリームが、上述した方法に従って生成されるファイルフォーマットに準拠する、コンピュータ可読媒体が開示される。
【0012】
これらの、およびその他の特徴は、本明細書全体にわたって説明されている。
【図面の簡単な説明】
【0013】
【
図1】映像処理システム例を示すブロック図である。
【
図3】映像処理方法の一例を示すフローチャートである。
【
図4】本発明のいくつかの実施形態による映像符号化システムを示すブロック図である。
【
図5】本発明のいくつかの実施形態によるエンコーダを示すブロック図である。
【
図6】本発明のいくつかの実施形態によるデコーダを示すブロック図である。
【
図8】18個のタイル、24個のスライス、および24個のサブピクチャに分割されたピクチャを示す。
【
図9】典型的なサブピクチャに基づくビューポートに依存する360
o映像配信スキームである。
【
図10】2つのサブピクチャと4つのスライスとを含むビットストリームから1つのサブピクチャを取り出す例を示す。
【
図11】開示される技術のいくつかの実装形態に基づく、ビジュアルメディアデータ処理の例示的な方法のフローチャートを示す。
【
図12】開示される技術のいくつかの実装形態に基づく、ビジュアルメディアデータ処理の例示的な方法のフローチャートを示す。
【発明を実施するための形態】
【0014】
本明細書では、理解を容易にするために章の見出しを使用しており、その技術および各章に記載された実施形態の適用可能性をその章のみに限定するものではない。さらに、H.266という用語は、ある説明において、理解を容易にするためだけに使用され、開示された技術の範囲を限定するために用いられたものではない。このように、ここで説明されている技術は、他の映像コーデックプロトコルおよび設計にも適用可能である。本特許明細書において、編集変更は、VVC規格またはISOBMFFファイルフォーマット規格の現在の草案に対して、取り消されたテキストを示す取り消し線および付加されたテキストを示すハイライト(太字のイタリック体を含む)によってテキストに示す。
【0015】
1.初期の協議
【0016】
本明細書は、映像ファイルフォーマットに関する。具体的には、本発明は、ISOBMFF(ISO Base Media File Format)に基づくメディアファイルにおける複数のトラックにおけるVVVC(Versatile Vedeo Coding)映像ビットストリームのサブピクチャの搬送に関する。この考えは、任意のコーデック、例えば、VVC規格によって符号化された映像ビットストリーム、および任意の映像ファイルフォーマット、例えば、開発されているVVC映像ファイルフォーマットに、個々にまたは様々な組み合わせで適用されてもよい。
【0017】
2.略語
ACT Adaptive Colour Filter(適応色変換)
ALF Adaptive Loop Filter(適応ループフィルタ)
AMVR Adaptive Motion Vector Resolution(適応型動きベクトル解像度)
APS Adaptive Parameter Set(適応パラメータセット)
AU Access Unit(アクセスユニット)
AUD Access Unit Delimiter(アクセスユニット区切り文字)
AVC Advanced Video Coding(Rec.ITU-T H.264|ISO/IEC14496-10)
【0018】
B Bi-predictive(双方向予測)
BCW Bi-prediction with CU-level Weights(CUレベル重み付き双方向予測)
BDOF Bi-Directional Optical Flow(双方向オプティカルフロー)
BDPCM Block-based Delta Pulse Code Modulation(ブロックベースの差分パルス符号変調)
BP Buffuring Period(バッファリング期間)
【0019】
CABAC Context-based Adaptive Binary Arithmetic Coding
CB Coding Block(符号化ブロック)
CBR Constant Bit Rate(一定ビットレート)
CCALF Cross-Component Adaptive Loop Filter(クロスコンポーネント適応ループフィルタ)
CPB Coded Picture Buffer(符号化ピクチャバッファ)
CRA Clean Random Access(クリーンランダムアクセス)
CRC Cyclic Redundancy Check(巡回冗長性チェック)
CTB Coding Tree Block(符号化ツリーブロック)
CTU Coding Tree Unit(符号化ツリーユニット)
CU Coding Unit(符号化ユニット)
CVS Coded Video Sequence(符号化映像シーケンス)
【0020】
DPB Decoded Picture Buffer(復号化ピクチャバッファ)
DCI Decoding Capability Information(復号化能力情報)
DRAP Dependent Random Access Point(従属ランダムアクセスポイント)
DU Decoding Unit(復号化ユニット)
DUI Decoding Unit Information(復号化ユニット情報)
【0021】
EG Exponential-Golomb(指数ゴロム)
EGk k-th order Exponential-Golomb(k次指数ゴロム)
EOB End Of Bitstream(ビットストリームの末端)
EOS End Of Sequence(シーケンスの末端)
【0022】
FD Filler Data(フィラーデータ)
FIFO First-in, First-Out(先入れ先出し)
FL Fixed-Length(固定長)
【0023】
GBR Green(緑)、Blue(青)、Red(赤)
GCI General Constraints Information(汎用制約情報)
GDR Gradual Decoding Refresh
GPM Geometric Partitioning Mode
【0024】
HEVC High Efficiency Video Coding(Rec.ITU-T H.265|ISO/IEC23008-2)
HRD Hypothetical Reference Decoder(仮想参照デコーダ)
HSS Hypothetical Stream Scheduler(仮想ストリームスケジューラ)
【0025】
I Intra(イントラ)
IBC Intra Block Copy(イントラブロックコピー)
IDR Instantaneous Decoding Refresh
ILRP Intra-Layer Reference Picture
IRAP Intra Random Access Point
【0026】
LFNST Low Frequency Non-Separatable Transform(低周波数非可分変換)
LPS Least Probable Symbol(最小確率シンボル)
LSB Least Significant Bit(最下位ビット)
LTRP Long-Term Reference Picture(長期参照ピクチャ)
LMCS Luma Mappinng with Chroma Scaling
【0027】
MIP Matrix-based Intra Prediction(マトリックスベースのイントラ予測)
MPS Most Probable Symbol(最大確率シンボル)
MSB Most Significant Bit(最上位ビット)
MTS Multiple Transform Selection
MVP Motion Vector Prediction(動きベクトル予測)
【0028】
NAL Network Abstraction Layer
OLS Output Layer Set(出力レイヤセット)
OP Operation Point(動作点)
OPI Operating Point Information(動作点情報)
【0029】
P Predictive(予測)
PH Picture Header(ピクチャヘッダ)
POC Picture Order Count(ピクチャオーダカウント)
PPS Picture Parameter Set(ピクチャパラメータセット)
PROF Prediction Refinement with Optical Flow
PT Picture Timing(ピクチャタイミング)
PU Picture Unit(ピクチャユニット)
QP Qunatization Parameter(量子化パラメータ)
【0030】
RADL Random Access Decodable Leading(ランダムアクセス復号化可能リーディング(ピクチャ))
RASL Random Access Skipped Leading(ランダムアクセススキップリーディング(ピクチャ))
RBSP Raw Byte Sequence Payload(ローバイトシーケンスペイロード)
RGB Red(赤)、Green(緑)、Blue(青)
RPL Refenrece Picture List(参照ピクチャリスト)
【0031】
SAO Sample Adaptive Offset(サンプル適応オフセット)
SAR Sample Aspect Ratio(サンプルアスペクト比)
SEI Supplemental Enhancement Information(補足強化情報)
SH Slice Header(スライスヘッダ)
SLI Subpicture Level Information(サブピクチャレベル情報)
SODB String Of Data Bits
SPS Sequence Prameter Set(シーケンスパラメータセット)
STRP Short-Term Reference Picture(短期参照ピクチャ)
STSA Step-wise Temporal Sublayer Access(ステップワイズ時間的サブレイヤアクセス)
【0032】
TR Trancated Rice(トランケイテッドライス)
VBR Variable Bit Rate(可変ビットレート)
VCL Video Coding Layer(映像符号化レイヤ)
VPS Video Parameter Set(映像パラメータセット)
VSEI Versatile Supplemental Enhancement Information(Rec.ITU-T H.274 | ISO/IEC 23002-7)
VUI Video Usability Information(映像可用性情報)
VVC Versatile Video Coding(Rec.ITU-T H.266 | ISO/IEC23090-3)H.265|ISO/IEC23008-2)
【0033】
3. 映像符号化の導入
3.1. 映像符号化規格
【0034】
映像符号化規格は、主に周知の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(Versatile Video Coding)プロジェクトが正式に始まったとき、JVET(Joint Video Exploration Team)に改称された。VVCは新しい符号化規格であり、HEVCに比べて50%のビットレート低減を目指し、2020年7月1日に終了した第19回JVET会議において完成した。
【0035】
VVC(Versatile Video Coding)規格(ITU-T H.266|ISO/IEC 23090-3)と汎用VSEI(Versatile Supplemental Enhancement Information)規格(ITU-T H.274|ISO/IEC 23002-7)は、テレビ放送、ビデオ会議、記憶媒体からの再生などの従来の用途に加え、適応ビットレートストリーミング、映像領域抽出、複数の符号化映像ビットストリームからのコンテンツの合成や結合、マルチビュー映像、スケーラブルレイヤード符号化、ビューポートに適応した360°没入型メディアなど、より新しく、より高度な用途の両方を含め、最大限に幅広いアプリケーションで使用できるように設計されている。
【0036】
3.2. ファイルフォーマット規格
【0037】
メディアストリーミングアプリケーションは、一般的に、IP、TCP、およびHTTPトランスポート方法に基づいており、一般的に、ISOBMFF(ISO Base Media File Format)などのファイルフォーマットに依存する。そのようなストリーミングシステムの1つは、HTTP(DASH)を介した動的適応ストリーミングである。ISOBMFFとDASHで映像フォーマットを使用するには、ISO/IEC14496-15のAVCファイルフォーマットやHEVCファイルフォーマット(「情報技術-オーディオビジュアルオブジェクトの符号化-パート15:ISOベースのメディアファイルフォーマットにおけるネットワーク抽象化レイヤ(NAL)ユニット構造化映像の搬送」)のような、映像フォーマット固有のファイルフォーマット仕様が、ISOBMFFトラックやDASHの表現やセグメントに映像コンテンツをカプセル化するために必要である。映像ビットストリームに関する重要な情報、例えば、プロファイル、レイヤ、レベル、その他多数は、コンテンツ選択のために、例えば、ストリーミングセッションの開始時の初期化およびストリーミングセッション中のストリーム適応の両方のために、ファイルフォーマットレベルのメタデータおよび/またはDASH MPD(Media Presentation Description)として公開される必要がある。
【0038】
同様に、ISOBMFFを用いた画像フォーマットを使用するために、画像フォーマットに固有のファイルフォーマット仕様、例えば、ISO/IEC23008-12におけるAVC画像ファイルフォーマットおよびHEVC画像ファイルフォーマットなどのようなファイルフォーマット仕様(「情報技術-異種環境における高効率符号化およびメディア配信-パート12:画像ファイルフォーマット」)、が必要とされる。
【0039】
ISOBMFFに基づくVVC映像コンテンツを記憶するためのファイルフォーマットであるVVC映像ファイルフォーマットは、現在、MPEGによって開発されている。VVC映像ファイルフォーマットの最新草案仕様は、MPEG出力文書N19454(情報技術-オーディオビジュアルオブジェクトの符号化-パート15:ISOベースのメディアファイルフォーマットにおけるネットワーク抽象化レイヤ(NAL)ユニット構造化映像の搬送-修正2:ISOBMFFにおけるVVCおよびEVCの搬送」、2020年7月)に含まれている。
【0040】
ISOBMFFに基づく、VVCを使用して符号化された画像内容を記憶するためのファイルフォーマットであるVVC画像ファイルフォーマットは、現在、MPEGによって開発されている。VVC画像ファイルフォーマットの最新草案仕様は、MPEG出力文書N19460(「情報技術-異種環境における高効率符号化およびメディア配信-パート12:画像ファイルフォーマット-修正3:VVC、EVC、スライドショーおよびその他の改善のサポート」、2020年7月)に含まれている。
【0041】
3.3. HEVCにおけるピクチャ分割スキーム
【0042】
HEVCは、正規のスライス、依存性のあるスライス、タイル、WPP(Wavefront Parallel Processing)という4つの異なるピクチャ分割スキームを含み、これらを適用することで、MTU(Maximum Transfer Unit)サイズのマッチング、並列処理、エンドツーエンドの遅延の低減が可能になる。
【0043】
正規のスライスは、H.264/AVCと同様である。各正規のスライスは、それ自体のNALユニットにカプセル化され、スライス境界にわたるインピクチャ予測(イントラサンプル予測、動き情報予測、符号化モード予測)およびエントロピー符号化の依存性は無効化される。このように、正規のスライスを、同じピクチャ内の他の正規のスライスとは独立して再構成することができる(しかし、ループフィルタリング動作のために依然として相互依存性がある場合がある)。
【0044】
正規のスライスは、並列化に使用できる唯一のツールであり、H.264/AVCでもほぼ同じフォーマットで利用可能である。正規のスライスに基づく並列化は、多くのプロセッサ間通信またはコア間通信を必要としない(予測符号化されたピクチャを復号化するとき、動き補償のためのプロセッサ間またはコア間のデータ共有を除き、一般的に、ピクチャ内予測のためにプロセッサ間またはコア間のデータ共有よりもはるかに重い)。しかしながら、同じ理由で、正規のスライスを使用すると、スライスヘッダのビットコストおよびスライス境界にわたる予測が欠如していることに起因して、符号化のオーバーヘッドが大きくなる可能性がある。さらに、正規のスライスは(後述の他のツールとは対照的に)、正規のスライスのピクチャ内の独立性および各正規のスライスがそれ自体のNALユニットにカプセル化されることに起因して、MTUサイズ要件に適応するようにビットストリームを分割するための鍵となるメカニズムとしても機能する。多くの場合、並列化の目標およびMTUサイズマッチングの目標は、ピクチャにおけるスライスレイアウトに対する要求と矛盾する。このような状況を実現したことにより、以下のような並列化ツールが開発された。
【0045】
従属スライスは、ショートスライスヘッダを有し、インピクチャ予測を一切中断することなく、ツリーブロック境界でビットストリームを分割することを可能にする。基本的に、従属スライスは、正規のスライスを複数のNALユニットに断片化し、正規のスライス全体の符号化が完了する前に正規のスライスの一部を送出することを可能にすることによって、エンドツーエンドの遅延を低減する。
【0046】
WPPにおいて、ピクチャは、CTB(Coding Tree Block)の個々の行に分割される。エントロピー復号化および予測は、他の分割におけるCTBからのデータを使用することが許可される。CTB行の並列復号化によって並列処理が可能であり、CTB行の復号化の開始が2つのCTBだけ遅延され、それによって、対象のCTBが復号化される前に、対象のCTBの上および右のCTBに関するデータが確実に利用可能になる。この互い違いのスタート(グラフで表現される場合、波面のように見える)を使用することで、CTB行を含むピクチャと同数までのプロセッサ/コアを使用して並列化することが可能である。ピクチャ内の近傍のツリーブロック行間のインピクチャ予測が許可されるので、インピクチャ予測を可能にするために必要なプロセッサ間/コア間の通信は十分となり得る。WPP分割は、適用されない場合と比較して、追加のNALユニットの生成をもたらさず、従って、WPPは、MTUサイズマッチングのためのツールではない。しかし、MTUサイズのマッチングが必要な場合、一定の符号化オーバーヘッドを伴って、WPPで正規のスライスを使用することができる。
【0047】
タイルは、ピクチャをタイルの列および行に分割する水平および垂直境界を規定する。タイルの列は、ピクチャの上から下へと延びている。同様に、タイル行は、ピクチャの左から右に延びる。ピクチャにおけるタイルの数は、単にタイル列の数にタイル行の数を乗算することで導出することができる。
【0048】
CTBのスキャン順は、タイル内でローカルになるように(タイルのCTBラスタスキャンの順に)変更され、その後、ピクチャのタイルラスタスキャンの順に従って、次のタイルの左上のCTBを復号化する。正規のスライスと同様に、タイルは、インピクチャ予測依存性およびエントロピー復号化依存性を損なう。しかしながら、これらは、個々のNALユニットに含まれる必要がなく(この点でWPPと同じ)、従って、タイルは、MTUサイズマッチングに使用できない。各タイルは、1つのプロセッサ/コアによって処理されてもよく、近傍のタイルを復号化する処理ユニット間のインピクチャ予測に必要なプロセッサ間/コア間の通信は、スライスが2つ以上のタイルにまたがっている場合の共有されたスライスヘッダを搬送することや、再構成されたサンプルやメタデータのループフィルタリングに関する共有に限定される。スライスに2つ以上のタイルまたはWPPセグメントが含まれる場合、スライスにおける第1のもの以外の各タイルまたはWPPセグメントに対するエントリポイントバイトオフセットが、スライスヘッダにおいて信号通知される。
【0049】
説明を簡単にするために、HEVCにおいては、4つの異なるピクチャ分割スキームの適用に関する制限が規定されている。所与の符号化映像シーケンスは、HEVCに規定されたプロファイルのほとんどについて、タイルおよびウェイブフロントの両方を含むことができない。各スライスおよびタイルについて、以下の条件のいずれかまたは両方を満たさなければならない。1)スライスにおけるすべての符号化ツリーブロックは、同じタイルに属し、2)タイルにおけるすべての符号化ツリーブロックは、同じスライスに属する。最後に、ウェイブフロントセグメントはちょうど1つのCTB行を含み、WPPが使用されている時に、スライスがCTB行内で始まる場合、同じCTB行で終わらなければならない。
【0050】
最近のHEVCの修正は、JCT-VCの出力文書であるJCTVC-AC1005、J.ボイス、A.ラマスブラモニアン、R.スクピン、G.J.スリヴァン、A.トゥラピス、Y.-K.ワン(編者),「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メッセージを規定する。
【0051】
時間的MCTS SEIメッセージは、ビットストリーム中にMCTSが存在することを示し、MCTSを信号通知する。各MCTSにおいて、動きベクトルは、MCTS内部のフルサンプル位置を指し、且つ補間のためにMCTS内部のフルサンプル位置のみを必要とするフラクショナルサンプル位置を指すように制限され、且つMCTS外部のブロックから導出された時間的動きベクトル予測のための動きベクトル候補の使用は許可されない。このように、各MCTSは、MCTSに含まれていないタイルが存在せず、独立して復号化されてもよい。
【0052】
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を含む)が、一般的に、異なる値となる必要があるためである。
【0053】
3.4. VVCにおけるピクチャの分割およびサブピクチャ
3.4.1. VVCにおけるピクチャ分割
【0054】
VVCにおいて、ピクチャは、1または複数のタイル行および1または複数のタイル列に分割される。タイルは、ピクチャの矩形領域をカバーするCTUのシーケンスである。タイルにおけるCTUは、そのタイル内でラスタスキャン順にスキャンされる。
【0055】
スライスは、ピクチャのタイル内において、整数個の完全なタイルまたは整数個の連続した完全なCTU行からなる。
【0056】
スライスの2つのモード、即ち、ラスタスキャンスライスモードおよび矩形スライスモードがサポートされる。ラスタスキャンスライスモードにおいて、スライスは、ピクチャのタイルラスタスキャンにおける完全なタイルのシーケンスを含む。矩形スライスモードにおいて、スライスは、ピクチャの矩形領域を集合的に形成する複数の完全なタイル、またはピクチャの矩形領域を集合的に形成する1つのタイルの複数の連続した完全なCTU行のいずれかを含む。矩形スライス内のタイルは、そのスライスに対応する矩形領域内で、タイルラスタスキャンの順にスキャンされる。
【0057】
サブピクチャは、ピクチャの矩形領域を集合的にカバーする1または複数のスライスを含む。
【0058】
3.4.2. サブピクチャの概念および機能性
【0059】
VVCにおいて、各サブピクチャは、例えば
図8に示すように、ピクチャの矩形領域を集合的にカバーする1または複数の完全な矩形スライスからなる。サブピクチャは、抽出可能なように規定されてもよいし(即ち、同じピクチャの他のサブピクチャおよび前のピクチャの復号化の順序とは独立して符号化されてもよいし)、抽出不可能なように規定されてもよい。サブピクチャが抽出可能であるかどうかにかかわらず、エンコーダは、サブピクチャごとに、サブピクチャの境界にわたって個々にインループフィルタリング(デブロック化、SAO、およびALFを含む)を適用するかどうかを制御することができる。
【0060】
機能的には、サブピクチャは、HEVCにおけるMCTS(Motion-Constrained Tile Set)に類似している。それらは両方とも、ビューポートに依存する360°の映像ストリーミングの最適化およびROI(Region Of Interest)アプリケーションのような使用例のために、符号化ピクチャのシーケンスの矩形サブセットの独立した符号化および抽出を可能にする。
【0061】
360°映像のストリーミング、別名、全方向性映像のストリーミングにおいて、任意の特定の瞬間に、全方向性映像球体全体のサブセット(即ち、現在のビューポート)のみがユーザにレンダリングされ、一方、ユーザは、自分の頭をいつでも回すことで、視線の向きを変更し、その結果、現在のビューポートを変更することができる。ユーザが突然その視線方向を球面上の任意の場所に変えた場合に備えて、クライアント側で利用可能な現在のビューポートで覆われていない領域の少なくともある程度の低品質の表現を有し、且つ、ユーザにレンダリングする準備ができていることが望ましいが、全方位映像の高品質の表現は、任意の瞬間にユーザにレンダリングされている現在のビューポートにのみ必要である。全方位映像全体の高画質表現を適切な粒度のサブピクチャに分割することで、
図8に示されるように、左側に12の高解像度のサブピクチャ、右側に残りの12の低解像度の全方位映像のサブピクチャを配置するという最適化が可能になる。
【0062】
別の典型的なサブピクチャベースのビューポートに依存する360°の映像配信スキームが
図9に示されており、ここでは、フル映像のより高い解像度の表現のみがサブピクチャからなり、一方、フル映像のより低い解像度の表現は、サブピクチャを使用せず、より高い解像度の表現よりも頻度の低いRAPで符号化できる。クライアント側は、フル映像を低解像度で受信し、より高い解像度映像の場合、クライアント側は、現在のビューポートをカバーするサブピクチャを受信して復号化するのみである。
【0063】
3.4.3.サブピクチャとMCTSの相違
【0064】
サブピクチャとMCTSとの間には、いくつかの重要な設計上の相違がある。第1に、VVCにおけるサブピクチャの特徴は、サブピクチャの境界においてサンプルパディングを適用することで、サブピクチャが抽出可能である場合であっても、サブピクチャの外側を指す符号化ブロックの動きベクトルを許容し、この場合において、ピクチャの境界においても同様である。第2に、VVCのマージモードおよびデコーダ側動きベクトル改善処理において、動きベクトルの選択および導出のために追加の変更が導入された。これにより、MCTSのためにエンコーダ側で適用される非規範的な動き制約に比べて、より高い符号化効率が可能になる。第3に、ピクチャのシーケンスから1または複数の抽出可能なサブピクチャを抽出し、適合ビットストリームであるサブビットストリームを生成する場合、SH(および、存在する場合には、PH NALユニット)を書き換える必要がない。HEVC MCTSに基づくサブビットストリーム抽出においては、SHの書き換えが必要である。なお、HEVC MCTS抽出およびVVCサブピクチャ抽出の両方において、SPSおよびPPSの書き換えが必要である。しかしながら、一般的に、ビットストリーム内には少数のパラメータセットしか存在せず、各ピクチャは少なくとも1つのスライスを有するため、SHの書き換えはアプリケーションシステムにとって大きな負担となり得る。第4に、ピクチャ内の異なるサブピクチャのスライスは、異なるNALユニットタイプを有することを許可する。これは、以下でより詳細に説明するように、しばしばピクチャ内の混合NALユニットタイプまたは混合サブピクチャタイプと呼ばれる特徴である。第5に、VVCは、サブピクチャシーケンスのためにHRDおよびレベル定義を規定し、従って、各抽出可能なサブピクチャシーケンスのサブビットストリームの適合性をエンコーダによって保証することができる。
【0065】
3.4.4. ピクチャ内の混合サブピクチャタイプ
【0066】
AVCおよびHEVCにおいて、ピクチャにおけるすべてのVCL NALユニットは、同じNALユニットタイプを有している必要がある。VVCは、ピクチャ内で特定の異なるVCL NALユニットタイプを有するサブピクチャを混合する選択肢を導入し、これにより、ピクチャレベルだけでなくサブピクチャレベルでもランダムアクセスをサポートする。VVC VCLにおいて、サブピクチャ内のNALユニットは、依然として同じNALユニットタイプを有している必要がある。
【0067】
IRAPサブピクチャからのランダムアクセスの能力は、360°映像アプリケーションに有益である。
図9に示されたものに類似したビューポートに依存する360°映像配信スキームにおいて、空間的に近傍のビューポートの内容は大きく重複し、即ち、ビューポートにおけるサブピクチャの一部のみが、ビューポートの向きを変更する間に新しいサブピクチャに置き換えられ、ほとんどのサブピクチャはビューポートに残る。ビューポートに新規に導入されるサブピクチャシーケンスは、IRAPスライスで開始しなければならないが、ビューポートの変更時に残りのサブピクチャがインター予測を実行することを許可される場合、全体の伝送ビットレートを有意に低減することができる。
【0068】
ピクチャがNALユニットの1つのタイプだけを含むか、または2つ以上のタイプを含むかの指示は、ピクチャが参照するPPSに提供される(即ち、pps_mixed_nalu_types_in_pic_flagと呼ばれるフラグを使用する)。ピクチャは、IRAPスライスを含むサブピクチャと、末尾のスライスを含むサブピクチャとを同時に構成してよい。NALユニットタイプRASLおよびRADLの先頭ピクチャスライスを含む、異なるNALユニットタイプの他の若干の組み合わせがピクチャ内にて許可され、これにより、異なるビットストリームから抽出された開GOPおよび閉GOP符号化構造を有するサブピクチャシーケンスを1つのビットストリームにマージすることができる。
【0069】
3.4.5. サブピクチャレイアウトおよびID信号通知
【0070】
VVCにおけるサブピクチャのレイアウトは、SPSにて信号通知され、従って、CLVS内で一定である。各サブピクチャは、その左上のCTUの位置および複数のCTUにおけるその幅および高さによって信号通知され、よって、サブピクチャが、CTU粒度を有するピクチャの矩形領域を確実にカバーする。SPSにおいてサブピクチャが信号通知される順序は、ピクチャ内の各サブピクチャのインデックスを判定する。
【0071】
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つのスライスを含む例で、サブピクチャの抽出を有効化することを示している。
【0072】
サブピクチャ抽出と同様に、サブピクチャのための信号通知は、異なるビットストリームが協調して生成されれば(例えば、異なるサブピクチャIDを使用するが、そうでない場合、例えば、CTUサイズ、彩度フォーマット、符号化ツール等のほとんど調整されたSPS、PPS、およびPHのパラメータを使用する)、SPSおよびPPSを書き換えるだけで、異なるビットストリームからのいくつかのサブピクチャを1つのビットストリームにマージすることを許可する。
【0073】
SPSおよびPPSにおいて、それぞれサブピクチャおよびスライスが独立して信号通知されるが、従順なビットストリームを形成するために、サブピクチャとスライスとの間には固有の相互制約がある。第1に、サブピクチャの存在は、矩形のスライスを使用し、ラスタスキャンスライスを禁止する必要がある。第2に、所与のサブピクチャのスライスは、復号化の順序で連続したNALユニットであるべきであり、このことは、サブピクチャのレイアウトがビットストリーム内の符号化されたスライスNALユニットの順序を制約することを意味する。
【0074】
3.5. VVC映像ファイルフォーマットの詳細
3.5.1. トラックのタイプ
【0075】
VVC映像ファイルフォーマットは、ISOBMFFファイルにおけるVVCビットストリームを搬送するための以下のタイプの映像トラックを規定する。
a)VVCトラック:
VVCトラックは、そのサンプルおよびサンプルエントリにNALユニットを含めることによって、また、場合によってはVVCビットストリームの他のサブレイヤを含む他のVVCトラックを参照することによって、また、場合によってはVVCサブピクチャトラックを参照することによって、VVCビットストリームを表す。VVCトラックがVVCサブピクチャトラックを参照する場合、これをVVCベーストラックと呼ぶ。
【0076】
b)VVC非VCLトラック:
ALF、LMCS、またはスケーリングリストパラメータを搬送するAPS、および他の非VCL NALユニットは、VCL NALユニットを含むトラックとは別個のトラックに格納され且つ該トラックを介して送信されてもよく、これはVVC非VCLトラックである。
【0077】
c)VVCサブピクチャトラック:
VVCサブピクチャトラックは、以下のいずれかを含む。
1または複数のVVCサブピクチャのシーケンス。
矩形領域を形成する1または複数の完全なスライスのシーケンス。
VVCサブピクチャトラックのサンプルは、以下のいずれかを含む。
ISO/IEC23090-3で規定されているような、復号化の順序で連続した1または複数の完全なサブピクチャ。
ISO/IEC23090-3で規定されているような、矩形領域を形成し、復号化の順序で連続する1または複数の完全なスライス。
VVCサブピクチャトラックの任意のサンプルに含まれるVVCサブピクチャまたはスライスは、復号化の順序で連続している。
【0078】
注:VVC非VCLトラックおよびVVCサブピクチャトラックは、ストリーミングアプリケーションにおけるVVC映像の最適な配信を以下のように可能にする。これらのトラックはそれぞれ、それ自体のDASH表現で搬送されてもよく、トラックのサブセットを復号化およびレンダリングするために、VVCサブピクチャトラックのサブセットを含むDASH表現、および非VCLトラックを含むDASH表現は、クライアントがセグメントごとに要求することができる。このようにして、APSおよび他の非VCL NALユニットの冗長な伝送が回避できる。
【0079】
3.5.2. VVCビットストリームにて搬送される矩形領域の概要
【0080】
本明細書は、以下のいずれかからなる矩形領域を説明することを支援する。
-復号化の順序で連続する1または複数のVVCサブピクチャのシーケンス、または、
-矩形領域を形成し、復号化の順序で連続する1または複数の完全なスライスのシーケンス。
矩形領域は、穴のない矩形をカバーする。ピクチャ内の矩形領域は互いに重複しない。
矩形領域は、rect_region_flagが1に等しい矩形領域ビジュアルサンプルグループ記述エントリ(すなわち、RectangularRegionGroupEntryのインスタンス)によって記述してもよい。
【0081】
トラックのそれぞれのサンプルが1つの矩形領域のみのNALユニットからなる場合、タイプ「trif」のSampleToGroupBoxを使用してサンプルを矩形領域に関連付けることができるが、デフォルトサンプルグルーピングメカニズムが使用される場合(すなわち、タイプ「trif」のSampleGroupDescriptionBoxのバージョンが2以上である場合)、このタイプ「trif」のSampleToGroupBoxは省略可能である。そうでない場合、サンプル、NALユニット、および矩形領域が、タイプ「nalm」のSampleToGroupBoxesおよび「trif」に等しいgrouping_type_parameterおよびタイプ「nalm」のSampleGroupDescriptionBoxが互いに関連付けられる。RectangularRegionGroupEntryは、以下を記述する。
-矩形領域、
-この矩形領域と他の矩形領域との符号化依存性。
各RectangularRegionGroupEntryには、groupIDと呼ばれる固有の識別子が割り当てられる。この識別子を使用して、サンプルにおけるNALユニットを特定のRectangularRegionGroupEntryに関連付けることができる。
輝度サンプル座標を使用して、矩形領域の位置およびサイズが識別される。
ムービーフラグメントとともに使用される場合、RectangularRegionGroupEntryは、ISO/IEC14496-12の8.9.4項に定義されるように、トラックフラグメントボックスに新しいSampleGroupDescriptionBoxを定義することによって、ムービーフラグメントの持続時間に対して定義され得る。ただし、既に定義されたRectangularRegionGroupEntryと同じgroupIDを有するトラックフラグメントには、RectangularRegionGroupEntryは存在しない。
RectangularRegionGroupEntryで使用されるベース領域は、この矩形領域グループエントリに関連付けられた矩形領域におけるNALユニットが属するピクチャである。
連続するサンプルにおいてベース領域のサイズに何らかの変化がある場合(例えば、RPR(Reference Picture Resampling)またはSPSのリサイズの場合)、サンプルは、そのそれぞれのベース領域のサイズを反映した異なるRectangularRegionGroupEntryエントリに関連付けられるべきである。
矩形領域にマッピングされたNALユニットは、通常通り、VVCトラックにて搬送されてもよいし、或いはVVCサブピクチャトラックと呼ばれる別個のトラックにて搬送されてもよい。
【0082】
3.5.3. VVCサブピクチャトラックを参照するVVCトラックにおけるサンプルからピクチャユニットを再構成する方法
【0083】
VVCトラックのサンプルは、黒丸の順に以下のNALユニットを含むアクセスユニットに分解される。
●サンプルに存在する場合、AUD NALユニット(および最初のNALユニット)。
●サンプルが同じサンプルエントリに関連付けられたサンプルのシーケンス最初のサンプルである場合、サンプルエントリに含まれているパラメータセットおよびSEI NALユニット。
●サンプル中に存在し、かつPH NALユニットまでのNALユニット。
【0084】
●サンプルにマッピングされた「spor」サンプルグループ記述エントリで規定された順序で、参照された各VVCサブピクチャトラックから時間的に整列された(復号化時間内の)解決済みサンプルの内容で、VPS、DCI、SPS、PPS、AUD、PH、EOS、EOB NALユニットがある場合はすべてを除く。トラック参照は、以下に述べられるように分解される。
注1:参照されたVVCサブピクチャトラックがVVC非VCLトラックに関連付けられている場合、VVCサブピクチャトラックの分解されたサンプルは、VVC非VCLトラックの時間的に整列されたサンプルの非VCL NALユニットを含む。
【0085】
●サンプル中のPH NALユニットの後に続くNALユニット。
注2:サンプルにおけるPH NALユニットの後に続くNALユニットは、サフィックスSEI NALユニット、サフィックスAPS NALユニット、EOS NALユニット、EOB NALユニット、または最後のVCL NALユニットの後に許可される予約NALユニットを含むことができる。
【0086】
「spor」サンプルグループ記述エントリの「subp」トラック参照インデックスは、以下のように分解される。
●トラック参照がVVCサブピクチャトラックのトラックIDを指している場合、トラック参照はVVCサブピクチャトラックに分解される。
【0087】
●そうでない場合(トラック参照は「alte」のトラックグループを指している)、トラック参照は「alte」のトラックグループのいずれかのトラックに分解する。特定のトラック参照インデックス値が前回のサンプルにおける特定のトラックに分解された場合、現在のサンプルにおいて以下のいずれかに分解される。
●同じ特定のトラック、または、
●現在のサンプルと時間的に整列された同期サンプルを含む、同じ「alte」トラックグループにおける任意の他のトラック。
注3:同じ「alte」トラックグループにおけるVVCサブピクチャトラックは、復号化の不整合を回避するために、同じVVCベーストラックによって参照される他のVVCサブピクチャトラックから必ず独立しており、従って、以下のように制約される場合がある。
●すべてのVVCサブピクチャトラックは、VVCサブピクチャを含む。
●サブピクチャ境界はピクチャ境界に類似している。
●ループフィルタリングは、サブピクチャ境界を越えてオフにされる。
リーダーが、最初の選択であるかまたは前回の選択とは異なる1組のサブピクチャID値を有するVVCサブピクチャを含むVVCサブピクチャトラックを選択した場合、以下のステップを実行されてよい。
【0088】
●「spor」サンプルグループ記述エントリが調査され、PPSまたはSPS NALユニットが変更される必要があるかどうかが結論づけられる。
注:SPSの変更は、CLVSの開始時にのみ可能である。
【0089】
●「spor」サンプルグループ記述エントリが、含まれているNALユニットにおけるサブピクチャIDの前または内にスタートコードエミュレーション防止バイトが存在することを示す場合、NALユニットからRBSPが導出される(即ち、スタートコードエミュレーション防止バイトは削除される)。次のステップでオーバーライドした後、スタートコードエミュレーション防止が再び行われる。
【0090】
●リーダーは、「spor」サンプルグループエントリにおけるビット位置およびサブピクチャIDの長さ情報を使用し、どのビットを上書きするかを確定し、サブピクチャIDを選択されたものに更新する。
【0091】
●PPSまたはSPSのサブピクチャID値を最初に選択する場合、リーダーは、再構成されたアクセスユニットにおいて、選択したサブピクチャID値でPPSまたはSPSをそれぞれ書き換えることが必要である。
【0092】
●PPSまたはSPSのサブピクチャID値が、同じPPS ID値またはSPS ID値を有する前のPPSまたはSPS(それぞれ)と比較して変更された場合、リーダは、前のPPSおよびSPSのコピー(同じPPSまたはSPS ID値を有するPPSまたはSPSがそれぞれアクセスユニットに存在しない場合)を含め、更新されたサブピクチャID値を有するPPSまたはSPS(それぞれ)を再構成されたアクセスユニットに書き換える必要がある。
【0093】
3.5.4. サブピクチャ順サンプルグループ
3.5.4.1. 定義
【0094】
このサンプルグループは、VVCベーストラック、即ち、VVCサブピクチャトラックを参照する「subp」トラックを有するVVCトラックにおいて使用される。各サンプルグループ記述エントリは、符号化されたピクチャのサブピクチャまたはスライスを復号化の順序で示し、「subp」タイプのトラック参照のインデックスは、復号化の順序で連続する1または複数のサブピクチャまたはスライスを示す。
サブピクチャの選択に応答してPPSまたはSPSを容易に書き換えるために、各サンプルグループ記述エントリは、以下を含むことができる。
-PPSまたはSPS NALユニットにおいて、選択されたサブピクチャIDを変更すべきかどうかの指示。
-サブピクチャID構文要素の長さ(ビット単位)。
-含まれているRBSPにおけるサブピクチャID構文要素のビット位置。
-サブピクチャIDの前またはサブピクチャID内にスタートコードエミュレーション防止バイトが存在するかどうかを示すフラグ。
-サブピクチャIDを含むパラメータセットのパラメータセットID。
【0095】
3.5.4.2.構文
【0096】
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;
}
}
}
【0097】
3.5.4.3. 意味論
【0098】
subpic_id_info_flagが0に等しい場合、SPSおよび/またはPPSに提供されるサブピクチャID値が、示されたサブp_track_ref_idx値のセットに対して正確であり、従って、SPSまたはPPSの書き換えが必要でないことを規定する。subpic_info_flagが1に等しい場合、SPSおよび/またはPPSがsubp_track_ref_idx値のセットに対応するサブピクチャを示すように書き換える必要があることを規定する。
num_subpic_ref_idxは、サブピクチャトラックまたはVVCトラックが参照するサブピクチャトラックのトラックグループの参照インデックスの数を示す。
【0099】
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_empul_flagが0に等しい場合、参照されたPPSまたはSPS NALユニットにおけるサブピクチャIDの前または内にスタートコードエミュレーション防止バイトが存在しないことを規定する。start_code_emul_flagが1に等しい場合、参照されたPPSまたはSPS NALユニットにおけるサブピクチャIDの前または内にスタートコードエミュレーション防止バイトが存在し得ることを規定する。
【0100】
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を規定する。
【0101】
3.5.5. サブピクチャエンティティグループ
3.5.5.1. 一般
複数のVVCサブピクチャトラックからのマージされたビットストリームの適合性を示すレベル情報を提供するサブピクチャエンティティグループが定義される。
注:VVCベーストラックは、VVCサブピクチャトラックをマージするための別のメカニズムを提供する。
暗示的な再構成処理は、パラメータセットの修正を必要とする。サブピクチャエンティティグループは、再構成されたビットストリームのためのパラメータセットを容易に生成できるような指針を与える。
連帯して復号化されるべきグループ内の符号化されたサブピクチャが互いに交換可能である、即ち、プレーヤが、同じレベル寄与を有するサンプルごとのサブピクチャのグループから複数のアクティブなトラックを選択する場合、SubpicCommonGroupBoxは、組み合わせ規則および連帯して復号化される場合に得られる組み合わせのlevel_idcを示す。
連帯して復号化されるように選択される、異なる特性、例えば、異なる解像度を有する符号化されたサブピクチャが存在する場合、SubpicMultipleGroupSBoxは、組み合わせ規則および連帯して復号化される場合に得られる組み合わせのlevel_idcを示す。
サブピクチャエンティティグループに含まれるすべてのentity_id値は、VVCサブピクチャトラックを識別する。存在する場合、SubpicCommonGroupBoxおよびSubpicMultipleGroupSBoxは、ムービーレベルのMetaBoxにおけるGroupsListBoxに含まれるものであり、ファイルレベルまたはトラックレベルのMetaBoxesに含まれないものとする。
【0102】
3.5.5.2. サブピクチャ共通グループボックスの構文
【0103】
aligned(8)class SubpicCommonGroupBox extends EntityToGroupBox(「acgl」,0,0)
{
unsigned int(32)level_idc;
unsigned int(32)num_active_tracks;
}
【0104】
3.5.5.3. サブピクチャ共通グループボックスの意味論
level_idcは、エンティティグループからnum_active_tracksエンティティを選択した場合、そのエンティティが適合するレベルを規定する。
num_active_tracksは、level_idcの値を提供するトラックの数を規定する。
【0105】
3.5.5.4. サブピクチャの複数のグループボックスの構文
【0106】
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++)
unsignedint(subgroupIdLen)track_subgroup_id[i];
for(i=0;i<num_subgroup_ids;i++)
unsignedint(32)num_active_tracks[i];
}
【0107】
3.5.5.5.意味論
【0108】
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に等しいサブグループにおけるトラックの数を規定する。
【0109】
4. 開示される技術的解決策によって対処する例示的な技術的問題
【0110】
複数のトラックのVVCビットストリームにおけるサブピクチャの搬送に関するVVC映像ファイルフォーマットの最近の設計は、以下のような問題を有する。
【0111】
1)VVCサブピクチャトラックのサンプルは、以下のいずれかを含む。A)ISO/IEC23090-3で規定されているような、復号化の順序で連続した1または複数の完全なサブピクチャ。B)ISO/IEC23090-3に規定されているような、矩形領域を形成し、復号化の順序で連続する1または複数の完全なスライス。
しかしながら、以下のような問題が存在する。
a.スライスを含む場合と同様に、サブピクチャを含む場合、VVCのサブピクチャトラックに、矩形領域をカバーしなければならないとした方が理にかなっている。
b.VVCサブピクチャトラックのサブピクチャやスライスが動きに制約されていること、すなわち抽出可能であること、または自己完結していることを要求する方が、理にかなっている。
c.VVCのサブピクチャトラックには、このトラック自体を復号化すれば、これらのサブピクチャが復号化の順序で連続しているが、矩形領域を形成するが元のビットストリームにおける復号化の順序で連続していないサブピクチャのセットを含めることができるようにしてはどうか?例えば、360oの映像のFOV(Field Of View)が、投影された映像の左右の境界にあるいくつかのサブピクチャで覆われているような場合には、そのようなことは許されないのか?
【0112】
2)VVCベーストラックのサンプルと、VVCベーストラックによって参照されるVVCサブピクチャトラックのリストにおける時間的に整列されたサンプルとからPUを再構成する際に、PH NALユニットがサンプル中に存在しない場合、VVCベーストラックのサンプルにおける非VCL NALユニットの順番は、明確に特定されない。
【0113】
3)サブピクチャオーダサンプルグループメカニズム(「spor」)は、異なるサンプルのために、再構成ビットストリームにおけるサブピクチャトラックからのサブピクチャの異なる順序を有効化し、且つSPSおよび/またはPPS書き換えを必要とする場合を有効化する。しかし、これらの柔軟性のいずれかが必要とされる理由は明確でない。そのため、「spor」サンプルグループのメカニズムが不要となり、サンプルグループを削除することができる。
【0114】
4)VVCベーストラックのサンプルと、VVCベーストラックによって参照されるVVCサブピクチャトラックのリストにおける時間的に整列されたサンプルとからPUを再構成する場合、VVCサブピクチャトラックの時間的に整列されたサンプルにおけるNALユニットをPUに加えた場合、すべてのVPS、DCI、SPS、PPS、AUD、PH、EOS、EOB NALユニットがあれば、それらを除外する。しかし、OPI NALユニットはどうか?SEI NALユニットはどうか?これらの非VCL NALユニットがサブピクチャトラックに存在することを許可される理由は何であるか?存在する場合、ビットストリーム再構成において、それらを通過させるだけでよいか?
【0115】
5)2つのサブピクチャエンティティグループのボックスのコンテナは、ムービーレベルのMetaBoxとして規定される。ただし、ファイルレベルのMetaBoxにボックスが含まれている場合にのみ、エンティティグループのentity_id値がトラックIDを参照することができる。
【0116】
6)サブピクチャエンティティグループは、関連するサブピクチャ情報がトラックの時間の長さ全体にわたって一貫している場合に機能する。しかしながら、これは常にそうであるとは限らない。例えば、異なるCVSが特定のサブピクチャシーケンスに対して異なるレベルを有する場合、どのようになるか?その場合、サンプルグループを代わりに使用して、本質的に同じ情報を搬送すべきであるが、異なるサンプル(例えば、CVS)ごとに特定の情報が異なることを可能にすべきである。
【0117】
5. 技術的解決策の一覧
【0118】
上述した課題等を解決するために、以下に示す方法が開示されている。本発明は、一般的な概念を説明するための例と見なされるべきであり、狭い意味で解釈されるべきではない。さらに、本発明は、個々に適用されてもよいし、任意に組み合わせて適用されてもよい。
【0119】
1)VVCサブピクチャトラックにおいて、以下の項目のうちの1または複数が提案され。
a.サブピクチャを含む場合、VVCサブピクチャトラックが矩形領域をカバーすることが必要である。
b.VVCサブピクチャトラックにおけるサブピクチャまたはスライスは、他の領域をカバーするサブピクチャまたはスライスが存在しなくても抽出、復号化および提示ができるように、動き拘束されることが必要である。
i.代替的に、VVCサブピクチャトラックにおけるサブピクチャまたはスライスが、他の領域をカバーするサブピクチャまたはスライスの動き補償に依存することを可能にし、その結果、他の領域をカバーするサブピクチャまたはスライスのいずれかが存在しなければ、サブピクチャまたはスライスを抽出、復号化、提示できない。
c.VVCサブピクチャトラックが、矩形領域を形成するが、元の/全体のVVCビットストリームにおける復号化の順序にて連続していないサブピクチャまたはスライスのセットを含むことを許可する。
これにより、元の/全体のVVCビットストリームにおける、例えば、投影画像の左右の境界において、復号化の順序で連続していないサブピクチャでカバーされる360o映像のFOV(Field Of View)を、VVCサブピクチャトラックによって表現することができるようになる。
d.VVCサブピクチャトラックの各サンプルにおけるサブピクチャまたはスライスの順序は、元の/全体のVVCビットストリームにおけるそれらの順序と同じであることが必要である。
e.VVCサブピクチャトラックの各サンプルにおけるサブピクチャまたはスライスの復号化の順序が、元の/全体のVVCビットストリームにおいて連続しているかどうかを示す指示を追加する。
i.この指示は、例えば、VVCベーストラックサンプルエントリ記述において、または他のどこかで信号通知される。
ii.VVCサブピクチャトラックの各サンプルにおけるサブピクチャまたはスライスの順番が、元の/全体のVVCビットストリームにおける復号化の順序で連続していることが示されていない場合、このトラックにおけるサブピクチャまたはスライスは、他のVVCサブピクチャトラックにおけるサブピクチャまたはスライスとマージされてはならないことが要求される。例えば、この場合において、VVCベーストラック参照は、トラック基準フォーマット「subp」によって、このVVCサブピクチャトラックおよび別のVVCサブピクチャトラックの両方を参照することが許可されない。
【0120】
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ユニットは、ピクチャユニット内の第1のVCL NALユニットに先行することはできない)、これらのNALユニットのうち、最初のNALユニットまででこれを除くサンプル内のNALユニット(上記のnal_unit typeを持つもの)は、VVCサブピクチャトラックのNALユニットの前のPUに配置され、そうでない場合は、サンプルの全てのNALユニットは、VVCサブピクチャトラックのNALユニットの前のPUに配置される。
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ユニットは、VVCサブピクチャトラック内のNALユニットよりも先にPU内に配置される。
【0121】
3)「subp」トラック参照を使用して、VVCトラックが複数の(サブピクチャ)トラックを参照できるようにし、参照の順序は、参照されたVVCサブピクチャトラックから再構成されたビットストリームにおけるサブピクチャの復号化の順序を示す。
a.VVCベーストラックのサンプルと、VVCベーストラックによって参照されるVVCサブピクチャトラックリストにおける時間的に整列されたサンプルとからPUを再構成する場合、参照サブピクチャトラックのサンプルは、「subp」トラック参照において参照されるVVCサブピクチャトラックの順に処理される。
【0122】
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に追加される。
【0123】
5)VVCベーストラックのサンプルと、VVCベーストラックからトラック参照を介して参照されるVVCサブピクチャトラックのリストの中の時間的に整列されたサンプルから、PUを再構成する際に、「spor」サンプルグループの使用を削除し、「spor」サンプルグループに基づくパラメータセットの書き換え処理の記述を削除する。
6)「spor」サンプルグループの仕様を削除する。
【0124】
7)各「subp」トラック参照インデックスは、VVCサブピクチャトラックのトラックIDまたはVVCサブピクチャトラックグループのトラックグループIDのいずれかを参照し、それ以外のものは参照しないことを規定する。
8)問題5を解決するために、2つのサブピクチャエンティティグループのボックスのコンテナを、ファイルレベルのMetaBoxとして、以下のように規定する。SubpicCommonGroupBoxおよびSubpicMultipleGroupSBoxは、存在する場合、ファイルレベルのMetaBoxにおけるGroupsListBoxに含まれるべきであり、他のレベルのMetaBoxに含まれてはならない。
9)問題点6を解決するために、2つのサンプルグループを追加し、2つのサブピクチャエンティティグループと同様の情報を伝えるようにする。これにより、VVCファイルフォーマットは、関連するサブピクチャ情報がトラックの時間の長さ全体で一貫していない場合、例えば、異なるCVSが特定のサブピクチャシーケンスに対して異なるレベルを持っている場合などに対応できるようになる。
【0125】
6.実施形態
【0126】
以下は、上記第5章に要約されたいくつかの発明の態様のためのいくつかの例示的な実施形態であり、VVC映像ファイルフォーマットの標準仕様に適用できる。変更したテキストは、MPEG出力文書N19454の最終草案仕様(情報技術-オーディオビジュアルオブジェクトの符号化-パート15:ISOベースのメディアファイルフォーマットのネットワーク抽象化レイヤ(NAL)ユニット構造化された映像の搬送-修正2:ISOBMFFにおけるVVCおよびEVCの搬送、2020年7月)に基づく。既に追加または修正された最も関連性のある部分は、太字およびイタリック文字で強調表示され、且つ削除された部分の一部は、二重括弧でマークされている(例えば、[[a]]は、「a」という文字の削除を示す)。本質的に編集可能であるため、強調されていない他の何らかの変更があってもよい。
【0127】
6.1.第一の実施形態
【0128】
本実施形態は項目1a、1b、1cである。
【0129】
6.1.1.トラックのタイプ
【0130】
本明細書では、VVCビットストリームを搬送するための以下のタイプの映像トラックを規定する。
【0131】
a)VVCトラック:
VVCトラックは、そのサンプルおよび/またはサンプルエントリにNALユニットを含めることによって、また、場合によっては「vopi」および「linf」サンプルグループを介して、または「opeg」エンティティグループを介して、VVCビットストリームの他のレイヤおよび/またはサブレイヤを含む他のVVCトラックを関連付けることによって、また、場合によってはVVCサブピクチャトラックを参照することによって、VVCビットストリームを表す。
VVCトラックがVVCサブピクチャトラックを参照する場合、これをVVCベーストラックとも呼ぶ。VVCベーストラックは、VCL NALユニットを含まないものとし、「vvcN」トラック参照を介してVVCトラックによって参照されないものとする。
【0132】
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を含んでいてもよい。
【0133】
【0134】
【0135】
6.1.2. VVCビットストリームにおいて搬送される矩形領域の概要
【0136】
【0137】
6.2. 第二の実施形態
【0138】
本実施形態は、項目2、2a、2b、3、3a、4、4a、5に関する。
【0139】
6.2.1. VVCサブピクチャトラックを参照するVVCトラックにおけるサンプルからピクチャユニットを再構成する方法
【0140】
【0141】
【0142】
●サンプルが同じサンプルエントリに関連付けられたサンプルのシーケンスの最初のサンプルである場合、サンプルエントリに含まれているパラメータセットおよびSEI NALユニット。
【0143】
【0144】
【0145】
【0146】
●トラック参照がVVCサブピクチャトラックのトラックIDを指している場合、トラック参照はVVCサブピクチャトラックに分解される。
【0147】
●そうでない場合(トラック参照は「alte」のトラックグループを指している)、トラック参照は「alte」のトラックグループのいずれかのトラックに分解され、特定のトラック参照インデックスが前のサンプルの特定のトラックに分解された場合、現在のサンプルにおいて以下のいずれかに分解される。
●同じ特定のトラック、または、
●現在のサンプルと時間的に整列された同期サンプルを含む、同じ「alte」トラックグループにおける任意の他のトラック。
注3:同じ「alte」トラックグループにおけるVVCサブピクチャトラックは、復号化の不整合を回避するために、同じVVCベーストラックによって参照される他のVVCサブピクチャトラックから必ず独立しており、従って、以下のように制約される場合がある。
●すべてのVVCサブピクチャトラックは、VVCサブピクチャを含む。
●サブピクチャ境界はピクチャ境界に類似している。
●[[ループフィルタリングは、サブピクチャ境界を越えてオフにされる。
リーダーは、最初の選択であるかまたは前回の選択とは異なる1組のサブピクチャID値を有するVVCサブピクチャを含むVVCサブピクチャトラックを選択した場合、以下のステップを実行されてよい。
【0148】
●「spor」サンプルグループ記述エントリが調査され、PPSまたはSPS NALユニットが変更される必要があるかどうかが結論づけられる。
注:SPSの変更は、CLVSの開始時にのみ可能である。
●「spor」サンプルグループ記述エントリが、含まれているNALユニットにおけるサブピクチャIDの前または内にスタートコードエミュレーション防止バイトが存在することを示す場合、NALユニットからRBSPが導出される(即ち、スタートコードエミュレーション防止バイトが削除される)。次のステップでオーバーライドした後、スタートコードのエミュレーション防止が再び行われる。
【0149】
●リーダーは、「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(それぞれ)を再構成されたアクセスユニットに書き換える必要がある。]]
【0150】
図1は、本明細書で開示される様々な技術が実装され得る例示的な映像処理システム1900を示すブロック図である。様々な実装形態は、システム1900の構成要素の一部又は全部を含んでもよい。システム1900は、映像コンテンツを受信するための入力1902を含んでもよい。映像コンテンツは、未加工又は非圧縮フォーマット、例えば、8又は10ビットのマルチコンポーネント画素値で受信されてもよく、又は圧縮又は符号化フォーマットで受信されてもよい。入力1902は、ネットワークインターフェース、周辺バスインターフェース、又は記憶インターフェースを表してもよい。ネットワークインターフェースの例は、イーサネット(登録商標)、PON(Passive Optical Network)等の有線インターフェース、およびWi-Fi(登録商標)またはセルラーインターフェース等の無線インターフェースを含む。
【0151】
システム1900は、本特許明細書に記載される様々な符号化又は符号化方法を実装することができる符号化コンポーネント1904を含んでもよい。符号化コンポーネント1904は、入力1902からの映像の平均ビットレートを符号化コンポーネント1904の出力に低減し、映像の符号化表現を生成してもよい。従って、この符号化技術は、映像圧縮または映像コード変換技術と呼ばれることがある。符号化コンポーネント1904の出力は、コンポーネント1906によって表されるように、記憶されてもよいし、接続された通信を介して送信されてもよい。入力1902において受信された、記憶された又は通信された映像のビットストリーム(又は符号化)表現は、コンポーネント1908によって使用されて、表示インターフェース1910に送信される画素値又は表示可能な映像を生成してもよい。ビットストリーム表現からユーザが見ることができる映像を生成する処理は、映像展開と呼ばれることがある。さらに、特定の映像処理動作を「符号化」動作又はツールと呼ぶが、符号化ツール又は動作は、エンコーダ及びそれに対応する、復号化の結果を逆にする復号化ツール又は動作が、デコーダによって行われることが理解されよう。
【0152】
周辺バスインターフェースまたは表示インターフェースの例は、USB(Universal Serial Bus)またはHDMI(登録商標)(High Difinition Multimedia Interface)またはディスプレイポート等を含んでもよい。ストレージインターフェースの例は、SATA(Serial Advanced Technology Attachment)、PCI、IDEインターフェース等を含む。本明細書に記載される技術は、携帯電話、ノートパソコン、スマートフォン、又はデジタルデータ処理及び/又は映像表示を実施可能な他のデバイス等の様々な電子デバイスに実施されてもよい。
【0153】
図2は、映像処理装置3600のブロック図である。装置3600は、本明細書に記載の方法の1または複数を実装するために使用してもよい。装置3600は、スマートフォン、タブレット、コンピュータ、IoT(Internet of Things)受信機等に実施されてもよい。装置3600は、1または複数のプロセッサ3602と、1または複数のメモリ3604と、映像処理ハードウェア3606と、を含んでもよい。1または複数のプロセッサ3602は、本明細書に記載される1または複数の方法を実装するように構成されてもよい。1または複数のメモリ3604は、本明細書で説明される方法および技術を実装するために使用されるデータおよびコードを記憶するために使用してもよい。映像処理ハードウェア3606は、本明細書に記載される技術をハードウェア回路にて実装するために使用してもよい。いくつかの実施形態において、映像処理ハードウェア3606は、プロセッサ3602、例えばグラフィックコプロセッサに少なくとも部分的に含まれてもよい。
【0154】
図4は、本開示の技術を利用し得る例示的な映像符号化システム100を示すブロック図である。
【0155】
図4に示すように、映像符号化システム100は、送信元デバイス110と、送信先デバイス120と、を備えてもよい。送信元デバイス110は、符号化映像データを生成し、映像符号化機器と呼ばれてもよい。送信先デバイス120は、送信元デバイス110によって生成された符号化映像データを復号化し、映像復号化デバイスと呼ばれてもよい。
【0156】
送信元デバイス110は、映像ソース112、映像エンコーダ114、および入出力(I/O)インターフェース116、を含んでよい。
【0157】
映像ソース112は、映像キャプチャデバイスなどのソース、映像コンテンツプロバイダからの映像データを受信するためのインターフェース、および/または映像データを生成するためのコンピュータグラフィックスシステム、またはこれらのソースの組み合わせを含んでもよい。映像データは、1または複数のピクチャを含んでもよい。映像エンコーダ114は、映像ソース112からの映像データを符号化し、ビットストリームを生成する。ビットストリームは、映像データの符号化表現を形成するビットシーケンスを含んでもよい。ビットストリームは、符号化ピクチャおよび関連するデータを含んでもよい。符号化ピクチャは、ピクチャの符号化表現である。関連付けられたデータは、シーケンスパラメータセット、ピクチャパラメータセット、およびその他の構文構造を含んでもよい。I/Oインターフェース116は、変復調器(モデム)および/または送信機を含んでもよい。符号化された映像データは、ネットワーク130aを介して、I/Oインターフェース116を介して送信先デバイス120に直接送信されることができる。符号化された映像データは、送信先デバイス120がアクセスするために、記憶媒体/サーバ130bに記憶されてもよい。
【0158】
送信先デバイス120は、I/Oインターフェース126、映像デコーダ124、および表示装置122を含んでもよい。
【0159】
I/Oインターフェース126は、受信機および/またはモデムを含んでもよい。I/Oインターフェース126は、送信元デバイス110または記憶媒体/サーバ130bから符号化映像データを取得してもよい。映像デコーダ124は、符号化された映像データを復号化してもよい。表示装置122は、復号化した映像データをユーザに表示してもよい。表示装置122は、送信先デバイス120と一体化されてもよく、または外部表示装置とインターフェースするように構成される送信先デバイス120の外部にあってもよい。
【0160】
映像エンコーダ114および映像デコーダ124は、HEVC(High Efficiency Video Coding)規格、VVC(Versatile Video Coding)規格、および他の現在のおよび/またはさらなる規格等の映像圧縮規格に従って動作してもよい。
【0161】
図5は、映像エンコーダ200の一例を示すブロック図であり、映像エンコーダ200は、
図4に示されるシステム100における映像エンコーダ114であってもよい。
【0162】
映像エンコーダ200は、本開示の技術のいずれかまたは全部を行うように構成してもよい。
図5の例において、映像エンコーダ200は、複数の機能コンポーネントを含む。本開示で説明されている技術は、映像エンコーダ200の様々なコンポーネント間で共有されてもよい。いくつかの例では、プロセッサは、本開示で説明されている技術のいずれか又はすべてを実行するように構成されてもよい。
【0163】
映像エンコーダ200の機能コンポーネントは、分割部201、予測部202、残差生成部207、変換部208、量子化部209、逆量子化部210、逆変換部211、再構成部212、バッファ213、およびエントロピー符号化部214を含んでよく、予測部202は、モード選択部203、動き推定部204、動き補償部205、およびイントラ予測部206を含んでよい。
【0164】
他の例において、映像エンコーダ200は、より多い、より少ない、または異なる機能コンポーネントを含んでもよい。一例において、予測部202は、IBC(Intra Block Copy)部を含んでもよい。IBC部は、少なくとも1つの参照ピクチャが現在の映像ブロックが位置するピクチャであるIBCモードにおいて予測を行うことができる。
【0165】
さらに、動き推定部204および動き補償部205などのいくつかのコンポーネントは、高度に統合されてもよいが、説明のために、
図5の例においては別個に表現されている。
【0166】
分割部201は、ピクチャを1または複数の映像ブロックに分割してもよい。映像エンコーダ200および映像デコーダ300は、様々な映像ブロックサイズをサポートすることができる。
【0167】
モード選択部203は、例えば、誤りの結果に基づいて、イントラ符号化モードまたはインター符号化モードのうちの1つを選択し、得られたイントラ符号化ブロックまたはインター符号化ブロックを残差生成部207に供給し、残差ブロックデータを生成し、再構成部212に供給し、符号化ブロックを参照ピクチャとして使用するために再構成してもよい。いくつかの例において、モード選択部203は、インター予測信号およびイントラ予測信号に基づいて予測を行うCIIP(Combination of Intra and Inter Prediction)モードを選択してもよい。また、モード選択部203は、インター予測の場合、ブロックの動きベクトルの解像度(例えば、サブピクセルまたは整数画素精度)を選択してもよい。
【0168】
現在の映像ブロックに対してインター予測を行うために、動き推定部204は、バッファ213からの1または複数の参照フレームと現在の映像ブロックとを比較することで、現在の映像ブロックのための動き情報を生成してもよい。動き補償部205は、現在の映像ブロックに関連付けられたピクチャ以外のバッファ213からのピクチャの動き情報および復号化サンプルに基づいて、現在の映像ブロックのための予測映像ブロックを判定してもよい。
【0169】
動き推定部204および動き補償部205は、例えば、現在の映像ブロックがIスライスにあるか、Pスライスにあるか、またはBスライスにあるかによって、現在の映像ブロックに対して異なる演算を行ってもよい。
【0170】
いくつかの例では、動き推定部204は、現在の映像ブロックに対して単方向予測を行い、動き推定部204は、現在の映像ブロックに対し、参照映像ブロック用のリスト0またはリスト1の参照ピクチャを検索してよい。そして、動き推定部204は、参照映像ブロックを含むリスト0またはリスト1において参照ピクチャを示す参照インデックスと、現在の映像ブロックと参照映像ブロックとの間の空間的変位を示す動きベクトルとを生成してよい。動き推定部204は、参照インデックス、予測方向インジケータ、および動きベクトルを、現在の映像ブロックの動き情報として出力してよい。動き補償部205は、現在の映像ブロックの動き情報によって示される参照映像ブロックに基づいて、現在のブロックの予測映像ブロックを生成してよい。
【0171】
他の例において、動き推定部204は、現在の映像ブロックを双方向予測してもよく、動き推定部204は、現在の映像ブロックに対し、参照映像ブロック用のリスト0にて参照ピクチャを検索してよく、また、現在の映像ブロックに対し他の参照映像ブロック等のリスト1にて参照ピクチャを検索してよい。そして、動き推定部204は、参照映像ブロックを含むリスト0およびリスト1における参照ピクチャを示す参照インデックスと、参照映像ブロックと現在の映像ブロックとの間の空間的変位を示す動きベクトルとを生成してよい。動き推定部204は、現在の映像ブロックの参照インデックスおよび動きベクトルを、現在の映像ブロックの動き情報として出力してよい。動き補償部205は、現在の映像ブロックの動き情報が示す参照映像ブロックに基づいて、現在の映像ブロックの予測映像ブロックを生成してよい。
【0172】
いくつかの例では、動き推定部204は、デコーダの復号化処理のために、動き情報のフルセットを出力してもよい。
【0173】
いくつかの例では、動き推定部204は、現在の映像のための動き情報のフルセットを出力しなくてもよい。むしろ、動き推定部204は、別の映像ブロックの動き情報を参照して、現在の映像ブロックの動き情報を信号通知してもよい。例えば、動き推定部204は、現在の映像ブロックの動き情報が近傍の映像ブロックの動き情報に十分に類似していると決定してもよい。
【0174】
一例において、動き推定部204は、現在の映像ブロックに関連付けられた構文構造において、現在の映像ブロックが別の映像ブロックと同じ動き情報を有することを映像デコーダ300に示す値を示してもよい。
【0175】
別の例において、動き推定部204は、現在の映像ブロックに関連付けられた構文構造において、別の映像ブロックと、MVD(Motion Vector Difference:動きベクトル差分)とを識別してもよい。動きベクトル差分は、現在の映像ブロックの動きベクトルと、示された映像ブロックの動きベクトルとの差分を示す。映像デコーダ300は、指示された映像ブロックの動きベクトルおよび動きベクトル差分を使用して、現在の映像ブロックの動きベクトルを決定してもよい。
【0176】
上述したように、映像エンコーダ200は、動きベクトルを予測的に信号通知してもよい。映像エンコーダ200によって実装され得る予測信号通知技術の2つの例は、AMVP(Advanced Motion Vector Prediction)およびマージモード信号通知を含む。
【0177】
イントラ予測部206は、現在の映像ブロックに対してイントラ予測を行ってもよい。イントラ予測部206が現在の映像ブロックをイントラ予測する場合、イントラ予測部206は、同じピクチャにおける他の映像ブロックの復号化されたサンプルに基づいて、現在の映像ブロックのための予測データを生成してもよい。現在の映像ブロックのための予測データは、予測された映像ブロックおよび様々な構文要素を含んでもよい。
【0178】
残差生成部207は、現在の映像ブロックから現在の映像ブロックの1または複数の予測された映像ブロックを減算することによって(例えば、マイナス符号によって示されている)、現在の映像ブロックのための残差データを生成してもよい。現在の映像ブロックの残差データは、現在の映像ブロックにおけるサンプルの異なるサンプル成分に対応する残差映像ブロックを含んでもよい。
【0179】
他の例において、例えば、スキップモードにおいて、現在の映像ブロックのための残差データがなくてもよく、残差生成部207は、減算演算を行わなくてもよい。
【0180】
変換部208は、現在の映像ブロックに関連付けられた残差映像ブロックに1または複数の変換を適用することによって、現在の映像ブロックのための1または複数の変換係数映像ブロックを生成してもよい。
【0181】
変換部208が現在の映像ブロックに関連付けられた変換係数映像ブロックを生成した後、量子化部209は、現在の映像ブロックに関連付けられた1または複数のQP(Quantization Parameter:量子化パラメータ)値に基づいて、現在の映像ブロックに関連付けられた変換係数映像ブロックを量子化してもよい。
【0182】
逆量子化部210および逆変換部211は、変換係数映像ブロックに逆量子化および逆変換をそれぞれ適用し、変換係数映像ブロックから残差映像ブロックを再構成してもよい。再構成部212は、予測部202が生成した1または複数の予測映像ブロックからの対応するサンプルに再構成された残差映像ブロックを加え、現在のブロックに関連付けられた再構成映像ブロックを生成し、バッファ213に記憶してもよい。
【0183】
再構成部212が映像ブロックを再構成した後、映像ブロックにおける映像ブロッキングアーチファクトを縮小するために、ループフィルタリング動作を行ってもよい。
【0184】
エントロピー符号化部214は、映像エンコーダ200の他の機能コンポーネントからデータを受信してもよい。エントロピー符号化部214は、データを受信すると、エントロピー符号化部214は、1または複数のエントロピー符号化動作を行い、エントロピー符号化データを生成し、エントロピー符号化データを含むビットストリームを出力してよい。
【0185】
図6は、映像デコーダ300の一例を示すブロック図であり、映像デコーダ300は、
図4に示すシステム100における映像デコーダ124であってもよい。
【0186】
映像デコーダ300は、本開示の技術のいずれかまたは全部を行うように構成してもよい。
図6の例において、映像デコーダ300は、複数の機能コンポーネントを含む。本開示で説明されている技術は、映像デコーダ300の様々なコンポーネント間で共有されてもよい。いくつかの例では、プロセッサは、本開示で説明されている技術のいずれか又はすべてを実行するように構成されてもよい。
【0187】
図6の例において、映像デコーダ300は、エントロピー復号化部301、動き補償部302、イントラ予測部303、逆量子化部304、逆変換部305、および再構成部306、並びにバッファ307を含む。映像デコーダ300は、いくつかの例では、映像エンコーダ200(
図5)に関して説明した符号化パスとほぼ逆の復号化パスを行ってもよい。
【0188】
エントロピー復号化部301は、符号化ビットストリームを取り出してもよい。符号化ビットストリームは、エントロピー符号化された映像データ(例えば、映像データの符号化ブロック)を含んでもよい。エントロピー復号化部301は、エントロピー符号化された映像データを復号化してよく、エントロピー復号された映像データから、動き補償部302は、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス、および他の動き情報を含む動き情報を判定してよい。動き補償部302は、例えば、AMVPおよびマージモードを行うことにより、このような情報を判定してよい。
【0189】
動き補償部302は、動き補償されたブロックを生成してもよく、場合によっては、補間フィルタに基づいて補間を行う。構文要素には、サブピクセルの精度で使用される補間フィルタのための識別子が含まれてもよい。
【0190】
動き補償部302は、映像ブロックの符号化中に映像エンコーダ200によって使用されるような補間フィルタを使用して、参照ブロックのサブ整数画素のための補間値を計算してもよい。動き補償部302は、受信した構文情報に従って、映像エンコーダ200が使用する補間フィルタを判定し、補間フィルタを使用して予測ブロックを生成してもよい。
【0191】
動き補償部302は、構文情報の一部を使用して、符号化された映像シーケンスの1または複数のフレームおよび/または1または複数のスライスを符号化するために使用されるブロックのサイズ、符号化された映像シーケンスのピクチャの各マクロブロックがどのように分割されるかを記述する分割情報、各分割がどのように符号化されるかを示すモード、各インター符号化ブロックの1または複数の参照フレーム(および参照フレームリスト)、および符号化された映像シーケンスを復号化するための他の情報を判定してよい。
【0192】
イントラ予測部303は、例えば、ビットストリームにおいて受信したイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成してもよい。逆量子化部304は、ビットストリームに提供され、エントロピー復号化部301によって復号された量子化された映像ブロック係数を逆方向に量子化、すなわち、逆量子化する。逆変換部305は、逆変換を適用する。
【0193】
再構成部306は、残差ブロックと、動き補償部205またはイントラ予測部303によって生成された対応する予測ブロックとをまとめ、復号化ブロックを形成する。所望であれば、ブロックしているアーチファクトを除去するために、復号化されたブロックをフィルタリングするために非ブロック化フィルタを適用してもよい。復号化された映像ブロックは、バッファ307に記憶され、バッファ307は、後続の動き補償/イントラ予測のための参照ブロックを提供し、且つ表示装置に表示するための復号化された映像を生成する。
【0194】
次に、いくつかの実施形態において好適な解決策を列挙する。
【0195】
第1の解決策のセットを以下に提供する。以下の解決策は、前章(例えば、項目1)で論じた技術の例示的な実施形態を示す。
【0196】
1.フォーマット規則に従って、ビジュアルメディアデータと、メディアデータのビットストリーム表現を格納するファイルとの間の変換を実行することを有し、ファイルは、ビジュアルメディアデータのサブピクチャのデータを含むトラックを有し、フォーマット規則は、トラックの構文を規定する、ビジュアルメディア処理方法。
【0197】
2.フォーマット規則は、トラックが矩形領域をカバーするように規定する、解決策1に記載の方法。
【0198】
3.フォーマット規則は、トラックに含まれるサブピクチャまたはスライスが独立して抽出可能、復号化可能、且つ提示可能であることを規定する、解決策1に記載の方法。
【0199】
以下の解決策は、前章(例えば、項目3、4)で論じた技術の例示的な実施形態を示す。
【0200】
4.フォーマット規則に従って、ビジュアルメディアデータと、ビジュアルメディアデータのビットストリーム表現を格納するファイルとの間の変換を実行することを有し、ファイルは、第1のトラックおよび/または1または複数のサブピクチャトラックを有し、フォーマット規則は、トラックおよび/または1または複数のサブピクチャトラックの構文を規定する、ビジュアルメディア処理方法。
【0201】
5.フォーマット規則は、トラックが1または複数のサブピクチャトラックへの参照を含むことを規定する、解決策4に記載の方法。
【0202】
6.フォーマット規則は、1または複数のサブピクチャトラックにおけるアクセスユニットレベルまたはピクチャレベルの非映像符号化レイヤネットワーク抽象化レイヤユニットを含めることを許可しない、解決策4に記載の方法。
【0203】
7.許可されなかったユニットは、復号化能力情報構造、またはパラメータセット、または動作点情報、またはヘッダ、またはストリームの末端、またはピクチャの末端を含む、解決策6に記載の方法。
【0204】
8.変換は、ビジュアルメディアデータのビットストリーム表現を生成することと、フォーマット規則に従って、ファイルへビットストリーム表現を格納することと、を有する、解決策1~7のいずれかに記載の方法。
【0205】
9.変換は、フォーマット規則に従って前記ファイルを構文解析し、ビジュアルメディアデータを復元することを有する、解決策1~7のいずれかに記載の方法。
【0206】
10.解決策1~9の1または複数に記載の方法を実装するように構成されたプロセッサを有する、映像復号化装置。
【0207】
11.解決策1~9の1または複数に記載の方法を実装するように構成されたプロセッサを備える、映像復号化装置。
【0208】
12.コンピュータコードが記憶されたコンピュータプログラムプロダクトであって、コードは、プロセッサにより実行された際に、プロセッサに、解決策1~9のいずれかに記載の方法を実装させるコンピュータプログラムプロダクト。
【0209】
13.解決策1~9のいずれかに従って生成されたファイルフォーマットに準拠したビットストリーム表現を実行するコンピュータ可読媒体。
【0210】
14.本特許明細書に記載の方法、装置またはシステム。
【0211】
第2の解決策のセットは、前章(例えば、項目2および4)で論じた技術の例示的な実施形態を提供する。
【0212】
1.フォーマット規則に従って、ビジュアルメディアデータと、ビジュアルメディアデータの1または複数のビットストリームを格納する1または複数のトラックを含むビジュアルメディアファイルとの間の変換を実行すること1102を含み、ビジュアルメディアファイルは、1または複数のサブピクチャトラックを参照するベーストラックを含み、フォーマット規則は、ベーストラックのサンプルと1または複数のサブピクチャトラックにおけるサンプルとから映像ユニットを再構成する際に、ベーストラックのサンプルにおける非VCL(Vedeo Coding Layer)NAL(Network Abstraction Layer)ユニットの順序を規定する、ビジュアルメディアデータ処理の方法(例えば、
図11に示す方法1100)。
【0213】
2.フォーマット規則は、サンプルにおけるピクチャヘッダNALユニットの存在にかかわらず、非VCL NALユニットの順序を規定する、解決策1に記載の方法。
【0214】
3.フォーマット規則は、1または複数のサブピクチャトラックにおけるNALユニットの前または後に、映像ユニットに配置されるべきベーストラックのサンプルにおける非VCL NALユニットのうちの少なくともいくつかを規定する、解決策1に記載の方法。
【0215】
4.フォーマット規則は、サンプル中に、EOS_NUT、EOB_NUT、SUFFIX_APS_NUT、SUFFIX_SEI_NUT、FD_NUT、RSV_NVCL_27、UNSPEC_30、またはUNSPEC_31に等しいNALユニットタイプを有する1または複数の非VCL NALユニットのセットがある場合、サンプル内の、一または複数の非VCL NALユニットのセットの第1のNALユニットまででこれを除いたNALユニットを、1または複数のサブピクチャトラックのNALユニットの前の映像ユニット内に配置することをさらに規定する、解決策3に記載の方法。
【0216】
5.フォーマット規則は、サンプル中に、EOS_NUT、EOB_NUT、SUFFIX_APS_NUT、SUFFIX_SEI_NUT、FD_NUT、RSV_NVCL_27、UNSPEC_30、またはUNSPEC_31に等しいNALユニットタイプを有する非VCL NALユニットがない場合、サンプル内のすべてのNALユニットを、1または複数のサブピクチャトラックのNALユニットの前の映像ユニット内に配置することをさらに規定する、解決策3に記載の方法。
【0217】
6.フォーマット規則は、サンプル中に、EOS_NUT、EOB_NUT、SUFFIX_APS_NUT、SUFFIX_SEI_NUT、FD_NUT、RSV_NVCL_27、UNSPEC_30、またはUNSPEC_31に等しいNALユニットタイプを有する非VCL NALユニットが少なくとも1つある場合、サンプル内のすべてのNALユニットを、1または複数のサブピクチャトラックのNALユニットの後の映像ユニット内に配置することをさらに規定する、解決策3に記載の方法。
【0218】
7.フォーマット規則は、1または複数のサブピクチャトラックにアクセスユニットレベルまたはピクチャレベルの非映像符号化レイヤネットワーク抽象化レイヤユニットを含めることを許可しないようにさらに規定する、解決策1に記載の方法。
【0219】
8.許可されないユニットは、AUD(Access Unit Delimiter)NALユニット、DCI(Decoding Capability Information)NALユニット、OPI(Operating Point Information)NALユニット、VPS(Video Parameter Set)NALユニット、SPS(Sequence Parameter Set)NALユニット、PPS(Picture Parameter Set)NALユニット、PH(Picture Header)NALユニット、EOS(End Of Sequence)NALユニット、EOB(End Of Bitstream)NALユニット、またはピクチャレベルSEIメッセージのアクセスユニットのみを含むSEI(Supplemental Enhancement Information)NALユニットに対応するNALユニットを含む、解決策7に記載の方法。
【0220】
9.フォーマット規則は、ベーストラックのサンプルと1または複数のサブピクチャトラックにおけるサンプルとから映像ユニットを再構成する際に、1または複数のサブピクチャトラックのサンプルにおけるすべてのNALユニットを映像ユニットに加えることをさらに規定する、解決策8に記載の方法。
【0221】
10.ビジュアルメディアデータは、VVC(Versatile Video Coding)によって処理され、1または複数のトラックはVVCトラックである、解決策1~9のいずれかに記載の方法。
【0222】
11.変換は、ビジュアルメディアファイルを生成することと、フォーマット規則に従って、1または複数のビットストリームをビジュアルメディアファイルに格納することと、を有する、解決策1~10のいずれかに記載の方法。
【0223】
12.変換は、フォーマット規則に従ってビジュアルメディアファイルを構文解析し、1または複数のビットストリームを再構成することを有する、解決策1~10のいずれかに記載の方法。
【0224】
13.ビジュアルメディアデータ処理の装置であって、ビジュアルメディアデータと、ビジュアルメディアデータの1または複数のビットストリームを格納する1または複数のトラックを含むビジュアルメディアファイルとの間の変換を行うことを有し、ビジュアルメディアファイルは、1または複数のサブピクチャトラックを参照するベーストラックを含み、フォーマット規則は、ベーストラックのサンプルと1または複数のサブピクチャトラックにおけるサンプルとから映像ユニットを再構成する際に、ベーストラックのサンプルにおける非VCL(Video Coding Layer)NAL(Network Abstraction layer)ユニットの順序を規定する、方法を実装するように構成されたプロセッサを有する装置。
【0225】
14.フォーマット規則は、サンプルにおけるピクチャヘッダNALユニットの存在にかかわらず、非VCL NALユニットの順序を規定する、解決策13に記載の装置。
【0226】
15.フォーマット規則は、1または複数のサブピクチャトラックにおけるNALユニットの前または後に、映像ユニットに配置されるべきベーストラックのサンプルにおける非VCL NALユニットのうちの少なくともいくつかを規定する、解決策14に記載の装置。
【0227】
16.フォーマット規則は、サンプル中に、EOS_NUT、EOB_NUT、SUFFIX_APS_NUT、SUFFIX_SEI_NUT、FD_NUT、RSV_NVCL_27、UNSPEC_30、またはUNSPEC_31に等しいNALユニットタイプを有する1または複数の非VCL NALユニットのセットがある場合、サンプル内の、1または複数の非VCL NALユニットの第1のNALユニットまででこれを除いたNALユニットを、1または複数のサブピクチャトラックのNALユニットの前の映像ユニット内に配置することをさらに規定する、解決策15に記載の装置。
【0228】
17.フォーマット規則は、サンプル中に、EOS_NUT、EOB_NUT、SUFFIX_APS_NUT、SUFFIX_SEI_NUT、FD_NUT、RSV_NVCL_27、UNSPEC_30、またはUNSPEC_31に等しいユニットタイプを有する非VCL NALユニットがない場合、サンプル内のすべてのNALユニットを、1または複数のサブピクチャトラックのNALユニットの前の映像ユニット内に配置することをさらに規定する、解決策15に記載の装置。
【0229】
18.フォーマット規則は、サンプル中に、EOS_NUT、EOB_NUT、SUFFIX_APS_NUT、SUFFIX_SEI_NUT、FD_NUT、RSV_NVCL_27、UNSPEC_30、またはUNSPEC_31に等しいNALユニットタイプを有する非VCL NALユニットが少なくとも1つある場合、サンプル内のすべてのNALユニットを、1または複数のサブピクチャトラックのNALユニットの後の映像ユニット内に配置することをさらに規定する、解決策15に記載の装置。
【0230】
19.フォーマット規則は、1または複数のサブピクチャトラックにアクセスユニットレベルまたはピクチャレベルの非映像符号化レイヤネットワーク抽象化レイヤユニットを含めることを許可しないようにさらに規定する、解決策13に記載の装置。
【0231】
20.許可されないユニットは、AUD(Access Unit Delimiter)NALユニット、DCI(Decoding Capability Information)NALユニット、OPI(Operation Point Information)NALユニット、VPS(Video Paramter Set)NALユニット、SPS(Sequence Parameter Set)NALユニット、PPS(Picture Paramter Set)NALユニット、PH(Picture Header)NALユニット、EOS(End Of Sequence)NALユニット、EOB(End Of Bitstream)NALユニット、またはピクチャレベルSEIメッセージのアクセスユニットのみを含むSEI(Supplemental Enhancement Information)NALユニットに対応するNALユニットを含む、解決策19に記載の装置。
【0232】
21.フォーマット規則は、ベーストラックのサンプルと1または複数のサブピクチャトラックにおけるサンプルとから映像ユニットを再構成する際に、1または複数のサブピクチャトラックのサンプルにおけるすべてのNALユニットを映像ユニットに加えることをさらに規定する、解決策20に記載の装置。
【0233】
22.プロセッサに、フォーマット規則に従って、ビジュアルメディアデータと、ビジュアルメディアデータの1または複数のビットストリームを格納する1または複数のトラックを含むビジュアルメディアファイルとの間の変換を実行させ、ビジュアルメディアファイルは、1または複数のサブピクチャトラックを参照するベーストラックを含み、フォーマット規則は、ベーストラックのサンプルと1または複数のサブピクチャトラックにおけるサンプルとから映像ユニットを再構成する際に、ベーストラックのサンプルにおける非VCL(Video Coding Layer)NAL(Network Abstraction Layer)ユニットの順序を規定する、命令を記憶する非一時的なコンピュータ可読記憶媒体。
【0234】
23.プロセッサに、フォーマット規則に従って、ビジュアルメディアデータの1または複数のビットストリームを格納する1または複数のトラックを含むビジュアルメディアファイルを生成させ、ビジュアルメディアファイルは、1または複数のサブピクチャトラックを参照するベーストラックを含み、フォーマット規則は、ベーストラックのサンプルと1または複数のサブピクチャトラックにおけるサンプルとから映像ユニットを再構成する際に、ベーストラックのサンプルにおける非VCL(Video Coding Layer)NAL(Network Abstraction Layer)ユニットの順序を規定する、非一時的なコンピュータ可読記録媒体。
【0235】
24.解決策1~12の1または複数に記載の方法を実装するように構成されたプロセッサを備える映像処理装置。
【0236】
25.1または複数のビットストリームを含むファイルにビジュアルメディアデータを格納する方法であって、解決策1~12のいずれかに記載の方法を含み、更に、1または複数のビットストリームを非一時的なコンピュータ可読記録媒体に記憶することを含む、方法。
【0237】
26.実行されると、解決策1~12の1または複数に記載の方法をプロセッサに実装させるプログラムコードを記憶したコンピュータ可読媒体。
【0238】
27.上述した方法のいずれかに従って生成されたビットストリームを記憶するコンピュータ可読媒体。
【0239】
28.解決策1~12の1または複数に記載の方法を実装するように構成された、ビットストリームを記憶するための映像処理装置。
【0240】
29.解決策1~12のいずれかに従って生成されたファイルフォーマットに準拠したビットストリームを実行するコンピュータ可読媒体。
【0241】
30.本明細書に記載の方法、装置またはシステム。
【0242】
第3の解決策のセットは、前章(例えば、項目8および9)で論じた技術の例示的な実施形態を提供する。
【0243】
1.フォーマット規則に従って、ビジュアルメディアデータと、ビジュアルメディアデータの1または複数のビットストリームを格納する1または複数のトラックを含むビジュアルメディアファイルとの間の変換を実行すること1202を有し、1または複数のビットストリームは、ビジュアルメディアデータの符号化されたサブピクチャを含み、符号化されたサブピクチャを処理するための規則を示すサブピクチャエンティティグループのボックスのコンテナを規定するフォーマット規則は、ファイルレベルボックスに含まれる、映像データ処理の方法(例えば、
図12に示す方法1200)。
【0244】
2.フォーマット規則は、サブピクチャエンティティグループのボックスのコンテナが、ファイルレベル以外のボックスに含まれていないことをさらに規定する、解決策1に記載の方法。
【0245】
3.サブピクチャエンティティグループは、グループ内の符号化されたサブピクチャを処理する規則を示す第1のサブピクチャエンティティグループを含む、解決策1に記載の方法。
【0246】
4.サブピクチャエンティティグループは、異なる符号化特性を有する符号化されたサブピクチャを処理する規則を示す第2のサブピクチャエンティティグループを含む、解決策1に記載の方法。
【0247】
5.フォーマット規則は、サブピクチャエンティティグループによって搬送される情報を搬送するように、サンプルグループを追加して、サブピクチャ情報がトラックの時間の長さ全体にわたって不整合である場合をサポートすることをさらに規定する、解決策1に記載の方法。
【0248】
6.ビジュアルメディアデータは、VVC(Versatile Video Coding)によって処理され、1または複数のトラックはVVCトラックである、解決策1~5のいずれかに記載の方法。
【0249】
7.変換は、ビジュアルメディアファイルを生成することと、フォーマット規則に従って、1または複数のビットストリームをビジュアルメディアファイルに格納することと、を含む、解決策1~6のいずれかに記載の方法。
【0250】
8.変換は、フォーマット規則に従って、ビジュアルメディアファイルを構文解析し、1または複数のビットストリームを再構成することを含む、解決策1~6のいずれかに記載の方法。
【0251】
9.ビジュアルメディアデータ処理の装置であって、フォーマット規則に従って、ビジュアルメディアデータと、ビジュアルメディアデータの1または複数のビットストリームを格納する1または複数のトラックを含むビジュアルメディアファイルとの間の変換を実行することを有し、1または複数のビットストリームは、ビジュアルメディアデータの符号化されたサブピクチャを含み、符号化されたサブピクチャを処理するための規則を示すサブピクチャエンティティグループのボックスのコンテナを規定するフォーマット規則は、ファイルレベルボックスに含まれる、方法を実装するように構成されたプロセッサを有する、ビジュアルメディアデータ処理の装置。
【0252】
10.フォーマット規則は、サブピクチャエンティティグループのボックスのコンテナが、ファイルレベル以外のボックスに含まれていないことをさらに規定する、解決策9に記載の装置。
【0253】
11.サブピクチャエンティティグループは、グループ内の符号化されたサブピクチャを処理する規則を示す第1のサブピクチャエンティティグループを含む、解決策9に記載の装置。
【0254】
12.サブピクチャエンティティグループは、異なる符号化特性を有する符号化されたサブピクチャを処理する規則を示す第2のサブピクチャエンティティグループを含む、解決策9に記載の装置。
【0255】
13.フォーマット規則は、サブピクチャエンティティグループによって搬送される情報を搬送するように、サンプルグループを追加し、サブピクチャ情報がトラックの時間の長さ全体にわたって不整合である場合をサポートすることをさらに規定する、解決策9に記載の装置。
【0256】
14.プロセッサに、フォーマット規則に従って、ビジュアルメディアデータと、ビジュアルメディアデータの1または複数のビットストリームを格納する1または複数のトラックを含むビジュアルメディアファイルとの間の変換を実行させ、1または複数のビットストリームは、ビジュアルメディアデータの符号化されたサブピクチャを含み、符号化されたサブピクチャを処理するための規則を示すサブピクチャエンティティグループのボックスのコンテナを規定するフォーマット規則は、ファイルレベルボックスに含まれる、命令を記憶する非一時的なコンピュータ可読記録媒体。
【0257】
15.フォーマット規則は、サブピクチャエンティティグループのボックスのコンテナが、ファイルレベル以外のボックスに含まれていないことをさらに規定する、解決策14の非一時的なコンピュータ可読記録媒体。
【0258】
16.サブピクチャエンティティグループは、1つのグループ内の符号化されたサブピクチャを処理する規則を示す第1のサブピクチャエンティティグループを含む、解決策14の非一時的なコンピュータ可読記録媒体。
【0259】
17.サブピクチャエンティティグループは、異なる符号化特性を有する符号化されたサブピクチャを処理する規則を示す第2のサブピクチャエンティティグループを含む、解決策14の非一時的なコンピュータ可読記録媒体。
【0260】
18.フォーマット規則は、サブピクチャエンティティグループによって搬送される情報を搬送するように、サンプルグループを追加し、サブピクチャ情報が前記トラックの時間の長さ全体にわたって不整合である場合をサポートすることをさらに規定する、解決策14に記載の非一時的なコンピュータ可読記録媒体。
【0261】
19.映像処理装置によって行われる方法によって生成されるビットストリームを記憶する非一時的なコンピュータ可読記録媒体であって、方法は、フォーマット規則に従って、ビジュアルメディアデータの1または複数のビットストリームを格納する1または複数のトラックを含むビジュアルメディアファイルを生成することを有し、1または複数のビットストリームは、ビジュアルメディアデータの符号化されたサブピクチャを含み、符号化されたサブピクチャを処理するための規則を示すサブピクチャエンティティグループのボックスのコンテナを規定するフォーマット規則は、ファイルレベルボックスに含まれる、非一時的なコンピュータ可読記録媒体。
【0262】
20.フォーマット規則は、サブピクチャエンティティグループのボックスのコンテナが、ファイルレベル以外のボックスに含まれていないことをさらに規定する、解決策19の非一時的なコンピュータ可読記録媒体。
【0263】
21.解決策1~8の1または複数に記載の方法を実装するように構成されたプロセッサを有する映像処理装置。
【0264】
22.1つまたは複数のビットストリームを含むファイルにビジュアルメディアデータを格納する方法であって、解決策1~8のいずれかに記載の方法を含み、かつ1または複数のビットストリームを非一時的なコンピュータ可読記録媒体に記憶することをさらに含む、方法。
【0265】
23.実行されると、解決策1~8の1または複数に記載の方法をプロセッサに実装させるプログラムコードを記憶したコンピュータ可読媒体。
【0266】
24.上述した方法のいずれかに従って生成されたビットストリームを記憶するコンピュータ可読媒体。
【0267】
25.解決策1~8の1または複数に記載の方法を実装するように構成された、ビットストリームを記憶するための映像処理装置。
【0268】
26.解決策1~8のいずれかに従って生成されたファイルフォーマットに準拠したビットストリームを実行するコンピュータ可読媒体。
【0269】
27.本明細書に記載の方法、装置またはシステム。
【0270】
例示的な解決策において、ビジュアルメディアデータは、映像または画像に対応する。本明細書に記載の解決策において、エンコーダは、フォーマット規則に従って符号化表現を生成することで、フォーマット規則に準拠することができる。本明細書に記載の解決策において、デコーダは、フォーマット規則に従って、構文要素の有無を知りつつ、符号化表現における構文要素を構文解析することで、復号された映像を生成するために、このフォーマット規則を使用してもよい。
【0271】
本明細書では、「映像処理」という用語は、映像符号化、映像復号化、映像圧縮、または映像展開を指すことができる。例えば、映像圧縮アルゴリズムは、映像の画素表現から対応するビットストリーム表現への変換、またはその逆の変換中に適用されてもよい。現在の映像ブロックのビットストリーム表現は、例えば、構文によって規定されるように、ビットストリーム内の同じ場所または異なる場所に拡散されるビットに対応していてもよい。例えば、マクロブロックは、変換および符号化された誤り残差値の観点から、且つビットストリームにおけるヘッダおよび他のフィールドにおけるビットを使用して符号化されてもよい。さらに、変換中、デコーダは、上記解決策で説明されているように、判定に基づいて、いくつかのフィールドが存在しても存在しなくてもよいという知識を持って、ビットストリームを構文解析してもよい。同様に、エンコーダは、特定の構文フィールドが含まれるべきであるか、または含まれないべきであるかを判定し、構文フィールドを符号化表現に含めるか、または符号化表現から除外することによって、それに応じて符号化表現を生成してもよい。
【0272】
本明細書に記載された開示された、およびその他の解決策、実施例、実施形態、モジュール、および機能動作の実装形態は、本明細書に開示された構造およびその構造的等価物を含め、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、若しくはハードウェアで実施されてもよく、またはそれらの1または複数の組み合わせで実施してもよい。開示された、およびその他の実施形態は、1または複数のコンピュータプログラムプロダクト、すなわち、データ処理装置によって実装されるため、またはデータ処理装置の動作を制御するために、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1または複数のモジュールとして実施することができる。このコンピュータ可読媒体は、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝播信号をもたらす物質の組成物、またはこれらの1または複数の組み合わせであってもよい。「データ処理装置」という用語は、例えば、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサ、若しくはコンピュータを含む、データを処理するためのすべての装置、デバイス、および機械を含む。この装置は、ハードウェアの他に、当該コンピュータプログラムの実行環境を作るコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの1または複数の組み合わせを構成するコードを含むことができる。伝播信号は、人工的に生成した信号、例えば、機械で生成した電気、光、または電磁信号であり、適切な受信装置に送信するための情報を符号化するために生成される。
【0273】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとも呼ばれる)は、コンパイルされた言語または解釈された言語を含む任意の形式のプログラミング言語で記述することができ、また、それは、スタンドアロンプログラムとして、またはコンピューティング環境で使用するのに適したモジュール、コンポーネント、サブルーチン、または他のユニットとして含む任意の形式で展開することができる。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(例えば、マークアップ言語文書に格納された1または複数のスクリプト)に記録されていてもよいし、当該プログラム専用の単一のファイルに記憶されていてもよいし、複数の調整ファイル(例えば、1または複数のモジュール、サブプログラム、またはコードの一部を格納するファイル)に記憶されていてもよい。コンピュータプログラムを、1つのサイトに位置する1つのコンピュータ、または複数のサイトに分散され通信ネットワークによって相互接続される複数のコンピュータで実行させるように展開することも可能である。
【0274】
本明細書に記載された処理およびロジックフローは、入力データ上で動作し、出力を生成することによって機能を実行するための1または複数のコンピュータプログラムを実行する1または複数のプログラマブルプロセッサによって行うことができる。処理およびロジックフローはまた、特定用途のロジック回路、例えば、FPGA(Field Programmable Gate Array)またはASIC(Application Specific Integrated Circuit)によって行うことができ、装置はまた、特別目的のロジック回路として実装することができる。
【0275】
コンピュータプログラムの実行に適したプロセッサは、例えば、汎用および専用マイクロプロセッサの両方、並びに任意の種類のデジタルコンピュータの任意の1または複数のプロセッサを含む。一般的に、プロセッサは、リードオンリーメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの本質的な要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための1または複数のメモリデバイスとである。一般的に、コンピュータは、データを記憶するための1または複数の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含んでもよく、またはこれらの大容量記憶デバイスからデータを受信するか、またはこれらにデータを転送するように動作可能に結合されてもよい。しかしながら、コンピュータは、このようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、あらゆる形式の不揮発性メモリ、媒体、およびメモリデバイスを含み、例えば、EPROM、EEPROM、フラッシュ記憶装置、磁気ディスク、例えば内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、およびCD-ROMおよびDVD-ROMディスク等の半導体記憶装置を含む。プロセッサおよびメモリは、特定用途のロジック回路によって補完されてもよく、または特定用途のロジック回路に組み込まれてもよい。
【0276】
本特許明細書は多くの詳細を含むが、これらは、任意の主題の範囲または特許請求の範囲を限定するものと解釈されるべきではなく、むしろ、特定の技術の特定の実施形態に特有であり得る特徴の説明と解釈されるべきである。本特許文献において別個の実施形態のコンテキストで説明されている特定の特徴は、1つの例において組み合わせて実装してもよい。逆に、1つの例のコンテキストで説明された様々な特徴は、複数の実施形態において別個にまたは任意の適切なサブコンビネーションで実装してもよい。さらに、特徴は、特定の組み合わせで作用するものとして上記に記載され、最初にそのように主張されていてもよいが、主張された組み合わせからの1または複数の特徴は、場合によっては、組み合わせから抜粋されることができ、主張された組み合わせは、サブコンビネーションまたはサブコンビネーションのバリエーションに向けられてもよい。
【0277】
同様に、動作は図面において特定の順番で示されているが、これは、所望の結果を達成するために、このような動作が示された特定の順番でまたは連続した順番で行われること、または示された全ての動作が行われることを必要とするものと理解されるべきではない。また、本特許明細書に記載されている例における様々なシステムの構成要素の分離は、全ての実施形態においてこのような分離を必要とするものと理解されるべきではない。
【0278】
いくつかの実装形態および例のみが記載されており、この特許文献に記載され図示されているコンテンツに基づいて、他の実施形態、拡張および変形が可能である。