(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022164628
(43)【公開日】2022-10-27
(54)【発明の名称】サブピクチャトラックレベルインジケータ
(51)【国際特許分類】
H04N 19/70 20140101AFI20221020BHJP
H04N 19/33 20140101ALI20221020BHJP
【FI】
H04N19/70
H04N19/33
【審査請求】有
【請求項の数】11
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022067350
(22)【出願日】2022-04-15
(31)【優先権主張番号】63/175421
(32)【優先日】2021-04-15
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】521388058
【氏名又は名称】レモン インコーポレイテッド
【氏名又は名称原語表記】Lemon Inc.
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】イェ-クイ ワン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA21
5C159MA32
5C159MC11
5C159ME01
5C159PP03
5C159PP13
5C159RB13
5C159RC11
5C159UA02
5C159UA05
(57)【要約】
【課題】
ビデオデータを処理するためのメカニズムが開示される。
【解決手段】
1つ以上のサブピクチャトラックに含まれるサブピクチャのセットに対する1つ以上のレベルインジケータが決定される。サブピクチャトラックは、サブピクチャエンティティグループ内に含まれている。レベルインジケータは、サブピクチャのセットについて情報を搬送する1つ以上のサンプルグループ、または、サブピクチャエンティティグループを指定するデータ構造のうち少なくとも1つに含まれる。レベルインジケータに基づいて、ビジュアルメディアデータとメディアデータファイルとの間の変換が実行される。
【選択図】
図3
【特許請求の範囲】
【請求項1】
ビデオデータを処理する方法であって、
1つ以上のサブピクチャトラックにおけるサブピクチャのセットについてレベルインジケータを決定するステップであり、前記サブピクチャトラックは、サブピクチャエンティティ内に含まれており、かつ、前記レベルインジケータは、前記サブピクチャのセットについて情報を搬送する1つ以上のサンプルグループ、または、前記サブピクチャエンティティグループを指定するデータ構造のうち少なくとも1つに含まれる、ステップと、
前記レベルインジケータに基づいて、ビジュアルメディアデータとメディアデータファイルとの間の変換を実行するステップと、
を含む、方法。
【請求項2】
前記レベルインジケータは、前記サブピクチャトラック内の全てのサンプルについてレベルが一定である場合、前記サブピクチャエンティティグループを指定するデータ構造に含まれている、
請求項1に記載の方法。
【請求項3】
前記レベルインジケータは、前記サブピクチャトラック内の前記サンプルに対して2つ以上のレベルが適用される場合、前記サンプルグループ内に含まれている、
請求項2に記載の方法。
【請求項4】
前記レベルインジケータそれぞれは、対応するサブピクチャのセットに対して適用されるレベルを示している、
請求項3に記載の方法。
【請求項5】
前記サブピクチャエンティティグループを指定する前記データ構造は、グループボックスに対するエンティティである、
請求項2に記載の方法。
【請求項6】
前記グループボックスに対するエンティティは、前記サブピクチャトラック内の全てのサンプルについてレベルが一定であることを示すフラグを含んでいる、
請求項5に記載の方法。
【請求項7】
前記グループボックスに対するエンティティは、前記サブピクチャトラック内のサンプルに対して2つ以上のレベルが適用されることを示すフラグを含む、
請求項5に記載の方法。
【請求項8】
前記変換は、前記ビジュアルメディアデータを前記メディアデータファイルへとエンコーディングすることを含む、
請求項1乃至7いずれか一項に記載の方法。
【請求項9】
前記変換は、前記メディアデータファイルから前記ビジュアルメディアデータをデコーディングすることを含む、
請求項1乃至7いずれか一項に記載の方法。
【請求項10】
ビデオデータを処理する装置であって、
プロセッサと、
命令を備える非一時的メモリと、を含み、
前記命令が前記プロセッサによって実行されると、前記プロセッサに、
1つ以上のサブピクチャトラックにおけるサブピクチャのセットについてレベルインジケータを決定し、前記サブピクチャトラックは、サブピクチャエンティティ内に含まれており、かつ、前記レベルインジケータは、前記サブピクチャのセットについて情報を搬送する1つ以上のサンプルグループ、または、前記サブピクチャエンティティグループを指定するデータ構造のうち少なくとも1つに含まれており、
前記レベルインジケータに基づいて、ビジュアルメディアデータとメディアデータファイルとの間の変換を実行する、
ようにさせる、装置。
【請求項11】
ビデオデータを処理する装置であって、
プロセッサと、
命令を備える非一時的メモリと、を含み、
前記命令が前記プロセッサによって実行されると、前記プロセッサに、
1つ以上のサブピクチャトラックにおけるサブピクチャのセットについてレベルインジケータを決定し、前記サブピクチャトラックは、サブピクチャエンティティ内に含まれており、かつ、前記レベルインジケータは、前記サブピクチャのセットについて情報を搬送する1つ以上のサンプルグループ、または、前記サブピクチャエンティティグループを指定するデータ構造のうち少なくとも1つに含まれており、
前記レベルインジケータに基づいて、ビジュアルメディアデータとメディアデータファイルとの間の変換を実行する、
ようにさせる、装置。
【発明の詳細な説明】
【技術分野】
【0001】
本特許文献は、ファイル形式のデジタルオーディオビデオメディア情報の生成、保存、および消費に関する。
【0002】
関連出願の相互参照
パリ条約に基づく適用特許法及び/又は規則の下で、本出願は、2021年4月15日に出願された米国仮特許出願第63/175,421号について優先権および利益を適時に主張するように行われている。法の下の全ての目的のために、前述の出願の開示全体は、この出願の開示の一部として参照によって包含されている。
【背景技術】
【0003】
デジタルビデオは、インターネットおよび他のデジタル通信ネットワークにおいて使用される最大の帯域幅を占めている。ビデオを受信し、かつ、表示することができる接続されたユーザ装置の数が増加するにつれて、デジタルビデオ使用のための帯域幅の需要が増加し続けそうである。
【発明の概要】
【0004】
第1態様は、ビデオデータを処理する方法に関する。本方法は、1つ以上のサブピクチャトラックにおけるサブピクチャのセットについてレベルインジケータを決定するステップであり、前記サブピクチャトラックは、サブピクチャエンティティ内に含まれており、かつ、前記レベルインジケータは、前記サブピクチャのセットについて情報を搬送する1つ以上のサンプルグループ、または、前記サブピクチャエンティティグループを指定するデータ構造のうち少なくとも1つに含まれるステップと、前記レベルインジケータに基づいて、ビジュアルメディアデータとメディアデータファイルとの間の変換を実行するステップと、を含む。
【0005】
任意的に、上記の態様のいずれかにおいて、態様の別の実装は、前記レベルインジケータは、前記サブピクチャトラック内の全てのサンプルについてレベルが一定である場合、前記サブピクチャエンティティグループを指定するデータ構造に含まれていることを提供する。
【0006】
任意的に、上記の態様のいずれかにおいて、態様の別の実装は、前記サブピクチャトラック内の前記サンプルに対して2つ以上のレベルが適用される場合、前記サンプルグループ内に含まれていることを提供する。
【0007】
任意的に、上記の態様のいずれかにおいて、態様の別の実装は、前記レベルインジケータそれぞれは、対応するサブピクチャのセットに対して適用されるレベルを示していることを提供する。
【0008】
任意的に、上記の態様のいずれかにおいて、態様の別の実装は、前記サブピクチャエンティティグループを指定する前記データ構造は、グループボックスに対するエンティティであることを提供する。
【0009】
任意的に、上記の態様のいずれかにおいて、態様の別の実装は、前記グループボックスに対するエンティティは、前記サブピクチャトラック内の全てのサンプルについてレベルが一定であることを示すフラグを含んでいることを提供する。
【0010】
任意的に、上記の態様のいずれかにおいて、態様の別の実装は、前記グループボックスに対するエンティティは、前記サブピクチャトラック内のサンプルに対して2つ以上のレベルが適用されることを示すフラグを含むことを提供する。
【0011】
第2態様は、ビデオデータを処理する装置に関する。本装置は、プロセッサと、命令を備える非一時的メモリと、を含む。ここで、前記命令が前記プロセッサによって実行されると、前記プロセッサに、1つ以上のサブピクチャトラックにおけるサブピクチャのセットについてレベルインジケータを決定し、前記サブピクチャトラックは、サブピクチャエンティティ内に含まれており、かつ、前記レベルインジケータは、前記サブピクチャのセットについて情報を搬送する1つ以上のサンプルグループ、または、前記サブピクチャエンティティグループを指定するデータ構造のうち少なくとも1つに含まれており、前記レベルインジケータに基づいて、ビジュアルメディアデータとメディアデータファイルとの間の変換を実行する、ようにさせる。
【0012】
任意的に、上記の態様のいずれかにおいて、態様の別の実装は、前記レベルインジケータは、前記サブピクチャトラック内の全てのサンプルについてレベルが一定である場合、前記サブピクチャエンティティグループを指定するデータ構造に含まれていることを提供する。
【0013】
任意的に、上記の態様のいずれかにおいて、態様の別の実装は、前記サブピクチャトラック内の前記サンプルに対して2つ以上のレベルが適用される場合、前記サンプルグループ内に含まれていることを提供する。
【0014】
任意的に、上記の態様のいずれかにおいて、態様の別の実装は、前記レベルインジケータそれぞれは、対応するサブピクチャのセットに対して適用されるレベルを示していることを提供する。
【0015】
任意的に、上記の態様のいずれかにおいて、態様の別の実装は、前記サブピクチャエンティティグループを指定する前記データ構造は、グループボックスに対するエンティティであることを提供する。
【0016】
任意的に、上記の態様のいずれかにおいて、態様の別の実装は、前記グループボックスに対するエンティティは、前記サブピクチャトラック内の全てのサンプルについてレベルが一定であることを示すフラグを含んでいることを提供する。
【0017】
任意的に、上記の態様のいずれかにおいて、態様の別の実装は、前記グループボックスに対するエンティティは、前記サブピクチャトラック内のサンプルに対して2つ以上のレベルが適用されることを示すフラグを含むことを提供する。
【0018】
第3態様は、ビデオコーディング装置によって使用されるコンピュータプログラム製品を含む非一時的コンピュータ読取り可能な媒体に関する。前記コンピュータプログラム製品は、前記非一時的コンピュータ読取り可能な媒体上に保管されたコンピュータ実行可能命令を含み、前記コンピュータ実行可能命令がプロセッサによって実行されると、前記ビデオコーディング装置に、1つ以上のサブピクチャトラックにおけるサブピクチャのセットについてレベルインジケータを決定し、前記サブピクチャトラックは、サブピクチャエンティティ内に含まれており、かつ、前記レベルインジケータは、前記サブピクチャのセットについて情報を搬送する1つ以上のサンプルグループ、または、前記サブピクチャエンティティグループを指定するデータ構造のうち少なくとも1つに含まれており、前記レベルインジケータに基づいて、ビジュアルメディアデータとメディアデータファイルとの間の変換を実行する、ようにさせる。
【0019】
任意的に、上記の態様のいずれかにおいて、態様の別の実装は、前記レベルインジケータは、前記サブピクチャトラック内の全てのサンプルについてレベルが一定である場合、前記サブピクチャエンティティグループを指定するデータ構造に含まれていることを提供する。
【0020】
任意的に、上記の態様のいずれかにおいて、態様の別の実装は、前記サブピクチャトラック内の前記サンプルに対して2つ以上のレベルが適用される場合、前記サンプルグループ内に含まれていることを提供する。
【0021】
任意的に、上記の態様のいずれかにおいて、態様の別の実装は、前記レベルインジケータそれぞれは、対応するサブピクチャのセットに対して適用されるレベルを示していることを提供する。
【0022】
任意的に、上記の態様のいずれかにおいて、態様の別の実装は、前記サブピクチャエンティティグループを指定する前記データ構造は、グループボックスに対するエンティティであることを提供する。
【0023】
任意的に、上記の態様のいずれかにおいて、態様の別の実装は、前記グループボックスに対するエンティティは、前記サブピクチャトラック内の全てのサンプルについてレベルが一定であることを示すフラグを含んでいることを提供する。
【0024】
明確にするために、前述の実施形態のうち任意の1つを、他の前述の実施形態のうち任意の1つ以上と組み合わせて、本開示の範囲内における新たな実施形態を作り出すことができる。
【0025】
これら及び他の特徴は、添付の図面および請求項に関連して行われる以下の詳細な説明から、より明確に理解されるだろう。
【図面の簡単な説明】
【0026】
本開示をより完全に理解するために、これから以下の簡単な説明を参照する。添付の図面および詳細な説明に関連して行われるものであり、ここで、同様な参照番号は、同様なパーツを表している。
【
図1】
図1は、スライス、サブピクチャ、タイル、およびコーディングツリーユニット(CTU)へとパーティション分割された一つの例示的なピクチャに係る概略図である。
【
図2】
図2は、360°ビデオ配信スキーム依存の一つの例示的なサブピクチャベースのビューポートに係る概略図である。
【
図3】
図3は、ビットストリームからサブピクチャを抽出するための一つの例示的なメカニズムに係る概略図である。
【
図4】
図4は、国際標準化機構(ISO)ベースメディアファイルフォーマット(ISOBMFF)に保管されたメディアファイルに係る概略図である。
【
図5】
図5は、一つの例示的なビデオ処理システムを示すブロック図である。
【
図6】
図6は、一つの例示的なビデオ処理装置に係るブロック図である。
【
図7】
図7は、ビデオ処理の例示的方法のためのフローチャートである。
【
図8】
図8は、一つの例示的なビデオコーディングシステムを示すブロック図である。
【
図9】
図9は、一つの例示的なエンコーダを示すブロック図である。
【
図10】
図10は、一つの例示的なデコーダを示すブロック図である。
【
図11】
図11は、一つの例示的なエンコーダに係る概略図である。
【発明を実施するための形態】
【0027】
最初に、1つ以上の実施形態の例示的な実施が以下に提供されているが、開示されるシステム及び/又は方法は、現在公知であるか、または、未だ開発中であるかにかかわらず、任意の数の技術を使用して実施され得ることが理解されるべきである。本開示は、ここにおいて示され、かつ、説明される例示的な設計および実施を含む、以下に示される例示的な実施形態、図面、および技術について決して限定されるものではないが、添付の特許請求の範囲の範囲内で、それらの均等物の全範囲と共に修正され得る。
【0028】
この特許文献は、ビデオファイルフォーマットに関するものである。特に、この文書は、サブピクチャエンティティグループにおけるサブピクチャトラックの所定のセットに対する情報の信号化(signaling)に関連している。これは、国際標準化機構(ISO)ベースメディアファイルフォーマット(ISOBMFF)に基づくメディアファイル内の複数トラックにおけるバーサタイルビデオコーディング(VVC)ビデオビットストリームのサブピクチャの搬送(carriage)をサポートする。ここにおいて説明されるアイデアは、VVC標準といった、任意のコーデックによってコード化されるビデオビットストリームについて、および、VVCビデオファイルフォーマットといった、任意のビデオファイルフォーマットについて、個別に、または、様々な組み合わせで適用され得る。
【0029】
本開示は、以下の略語を含んでいる。適応色変換(ACT)、適応ループフィルタ(ALF)、適応動きベクトル分解能(AMVR)、適応パラメータセット(APS)、アクセスユニット(AU)、アクセスユニットデリミタ(AUD)、高度ビデオコーディング(Rec.ITU-T H.264|ISO/IEC 14496-10)(AVC)、双予測(B)、コーディングユニット(CU)を用いた双予測レベル重み(BCW)、双方向光学フロー(BDOF)、ブロックベースデルタパルスコード変調(BDPCM)、バッファ周期(BP)、コンテキストベース適応バイナリ演算コーディング(CABAC)、コーディングブロック(CB)、一定ビットレート(CBR)、クロスコンポーネント適応ループフィルタ(CCALF)、コード化ピクチャバッファ(CPB)、クリーンランダムアクセス(CRA)、巡回冗長検査(CRC)、コーディングツリーブロック(CTB)、コーディングツリーユニット(CU)、コード化ビデオシーケンス(CVS)、デコーディング能力情報(DCI)、デコーディング初期化情報(DII)、デコーディングピクチャバッファ(DPB)、従属ランダムアクセスポイント(DRAP)、デコーディングユニット(DU)、デコーディングユニット情報(DUI)、指数-ゴロム(EG)、k次指数-ゴロム(EGk)、ビットストリームの終端(EOB)、シーケンスの終端(EOS)、フィラーデータ(FD)、先入れ先出し(FIFO)、固定長(FL)、緑、青、赤(GBR)、一般制約情報(GCI)、漸進的デコーディングリフレッシュ(GDR)、幾何学的パーティション分割モード(GPM)、高効率ビデオコーディング、Rec.ITU-T H.265|ISO/IEC 23008-2としても知られるもの(HEVC)、仮想参照デコーダ(HRD)、仮想ストリームスケジューラ(HSS)、イントラ(I)、イントラブロックコピー(IBC)、瞬時デコーディングリフレッシュ(IDR)、層間参照ピクチャ(ILRP)、イントラランダムアクセスポイント(IRAP)、低周波非分離変換(LFNST)、最低確率シンボル(LPS)、最下位ビット(LSB)、長期参照ピクチャ(LTRP)、クロマスケーリングを用いたルママッピング(LMCS)、マトリックスベースイントラ予測(MIP)、最確シンボル(MPS)、最上位ビット(MSB)、多重変換選択(MTS)、動きベクトル予測(MVP)、ネットワーク抽象化レイヤ(NAL)、出力レイヤセット(OLS)、動作点(OP)、動作点情報(OP)、予測(P)、ピクチャヘッダ(PH)、ピクチャオーダーカウント(PCC)、ピクチャパラメータセット(PPS)、光学フローを用いた予測精緻化(PROF)、ピクチャタイミング(PT)、ピクチャユニット(PU)、量子化パラメータ(QP)、ランダムアクセスデコード可能リーディングピクチャ(RADL)、ランダムアクセススキップリーディングピクチャ(RASL)、生バイトシーケンスペイロード(RBSP)、赤、緑、および青(RGB)、参照ピクチャリスト(RPL)、サンプル適応オフセット(SAO)、サンプルアスペクト比(SAR)、補足エンハンスメント情報(SEI)、スライスヘッダ(SH)、サブピクチャレベル情報(SLI)、データビット列(SODB)、シーケンスパラメータセット(SPS)、短期参照ピクチャ(STRP)、ステップワイズ時間的サブレイヤアクセス(STSA)、トランケイテッドライス(TR)、可変ビットレート(VBR)、ビデオコーディングレイヤ(VCL)、ビデオパラメータセット(VPS)、バーサタイル補足的エンハンスメント情報、Rec.ITU-T H.274|ISO/IEC 23002-7としても知られるもの(VSEI)、ビデオユーザビリティ情報(VUI)、および、バーサタイルビデオコーディング、Rec.ITU-T H.266|ISO/IEC 23090-3としても知られるもの(VVC)。
【0030】
ビデオコーディング規格は、主に、国際電気通信連合(ITU)電気通信標準化部門(ITU-T)およびISO/国際電気標準会議(IEC)規格の開発を通して発展してきた。ITU-TはH.261およびH.263を作成し、ISO/IECはMotion Picture Experts Group(MPEG)-1、MPEG-4 Visualを作成し、そして、両団体は、共同でH.262/MPEG-2 Video、および、H.264/MPEG-4 Advanced Video Coding(AVC)、並びに、H.265/HEVC規格を作成した。H.262から、ビデオコーディング標準は、時間的予測と変換コーディングが利用される、ハイブリッドビデオコーディング構造に基づいている。HEVCを越えたさらなるビデオコーディング技術を探求するために、Joint Video Exploration Team(JVET)が、Video Coding Experts Group(VCEG)とVideo Coding Experts Group(MPEG)によって共同で設立された。多くの方法が、JVETによって採用され、そして、Joint Exploration Model(JEM)と名付けられた参照ソフトウェアに入れられている。JVETは、その後、Versatile Video Coding(VVC)プロジェクトが正式に開始されたときに、Joint Video Experts Team(JVET)と改称された。VVCは、HEVCと比較して50%のビットレート低減を目標とするコーディング標準である。VVCは、JVETによって最終化されてきた。
【0031】
ITU-T H.266|ISO/IEC 23090-3としても知られている、VVC規格、および、ITU-T H.274|ISO/IEC 23002-7としても知られている、関連するVersatile Supplemental Enhancement Information(VSEI)規格は、広範なアプリケーションにおける使用のために設計されている。テレビ放送、ビデオ会議、ストレージ媒体からの再生、アダプティブビットレートストリーミング、ビデオ領域抽出、複数のコード化ビデオビットストリームからのコンテンツの合成およびマージ、マルチビュービデオ、スケーラブルレイヤコーディング、および、ビューポート適応360°イマーシブ媒体、といったものである。
【0032】
ファイルフォーマット標準が、以下で説明される。メディアストリーミングアプリケーションは、典型的に、インターネットプロトコル(IP)、伝送制御プロトコル(TCP)、およびハイパーテキスト転送プロトコル(HTTP)の移送スキームに基づいており、そして、典型的には、ISOBMFFといったファイルフォーマットに依存している。そうしたストリーミングシステムの一つは、dynamic adaptive streaming over HTTP(DASH)である。ビデオは、AVC及び/又はHEVCといった、ビデオフォーマットでエンコーディングすることができる。エンコーディングされたビデオは、ISOBMFFトラック内にカプセル化され、そして、DASH表現およびセグメント内に含まれ得る。プロファイル、ティア(tier)、およびレベル、および他の多くのものといった、ビデオビットストリームに関する重要な情報は、ファイルフォーマットレベルのメタデータとして、かつ/あるいは、コンテンツ選択目的のためのDASH media presentation description(MPD)において、露出され得る。例えば、そうした情報は、ストリーミングセッションの開始時の初期化、および、ストリーミングセッションの最中のストリーム適応の両方のために、適切なメディアセグメントの選択について使用され得る。
【0033】
同様に、ISOBMFFで画像フォーマットを使用する場合には、AVC画像ファイルフォーマットおよびHEVC画像ファイルフォーマットといった、画像フォーマットに特有のファイルフォーマット仕様が採用され得る。VVCビデオファイルフォーマットは、ISOBMFFに基づく、VVCビデオコンテンツの保管のためのファイルフォーマットであり、MPEGによって開発中である。VVC画像ファイルフォーマットは、ISOBMFFに基づく、VVCを使用してコード化された画像コンテンツの保管のためファイルフォーマットであり、また、MPEGによって開発中である。
【0034】
HEVCにおけるピクチャパーティション分割スキームが、これから説明される。HEVCは、4つの異なるピクチャパーティション分割スキーム、すなわち、通常スライス、従属スライス、タイル、および波面並列処理(WPP)、を含む。これらのパーティション分割スキームは、最大転送ユニット(MTU)サイズマッチング、並列処理、および、エンドツーエンド遅延の低減に対して適用され得る。
【0035】
通常スライス(regular slice)は、H.264/AVCにおけるのと同様である。各通常スライスは、それ自身のNALユニット内にカプセル化され、そして、ピクチャ内(in-picture)予測(イントラサンプル予測、動き情報予測、コーディングモード予測)およびスライス境界を横切るエントロピーコーディング依存性がディセーブルされる。従って、通常スライスは、同じピクチャ内の他の通常スライスから独立して再構成することができる(ただし、ループフィルタリング操作のために、依然として相互依存性が存在し得る)。
【0036】
通常スライスは並列化のために使用することができ、そして、H.264/AVCにおいても、または、利用可能である。通常スライスベースの並列化は、重要なプロセッサ間及び/又はコア間の通信を必要としない。例外は、予測的コード化(predictively coded)ピクチャのデコーディングの場合の動き補償のためのプロセッサ間またはコア間のデータ共有である。そうした予測的コード化ピクチャは、典型的には、ピクチャ内予測のせいで、プロセッサ間またはコア間のデータ共有よりもはるかに重い。しかしながら、同じ理由のために、通常スライスの使用は、スライスヘッダのビットコストのせいで、および、スライス境界を横切る予測の欠如のせいで、実質的なコード化オーバヘッドを負うことがある。さらに、通常スライスは、また、後述の他のツールとは対照的に、MTUサイズ要件にマッチするビットストリームのパーティション分割のためのメカニズムとしても機能する。これは、通常スライスのピクチャ内非依存性、および、各通常スライスがそれ自身のNALユニット内にカプセル化されているという事実のせいである。多くの場合、並列化の目標およびMTUサイズマッチングの目標は、ピクチャにおけるスライスレイアウトに対して矛盾する要求を出す。この状況の認識が、後述の並列化ツールが開発を導いた。
【0037】
従属スライスは、短いスライスヘッダを有し、そして、ピクチャ内予測を破ることなく、ツリーブロック境界でビットストリームのパーティション分割を可能にする。従属スライスは、複数のNALユニットへの通常スライスのフラグメンテーションを提供する。これは、通常スライス全体のエンコーディングが終了する前に、通常スライスの一部が送信されるのを可能にすることによって、低減されたエンドツーエンドの遅延を提供する。
【0038】
WPPにおいて、ピクチャは、コーディングツリーブロック(CTB)の単一行(row)へとパーティション分割される。エントロピーデコーディングおよび予測は、他のパーティションにおけるCTBからのデータを使用してもかまわない。CTB行の並列デコーディングを通じて、並列処理が可能である。CTB行のデコーディングの開始は、2つのCTBによって遅延され、サブジェクトCTBがデコーディングされる前に、サブジェクトCTBの上のCTBおよび右側のCTBに関連するデータが利用可能であることを保証する。グラフィカルの表現される際に波面(wavefront)のように現れる、このスタッガされたスタート(staggered start)を使用して、並列化は、ピクチャがCTB行に含む最大数のプロセッサ/コアまで可能である。ピクチャの中の隣接するツリーブロック行間のピクチャ内予測が許されているため、ピクチャ内予測をイネーブルするために使用されるプロセッサ間/コア間の通信が、実質的であり得る。WPPパーティション分割は、追加のNALユニットの生成を結果として生じない。従って、WPPは、MTUサイズマッチングのためのツールではない。しかしながら、MTUサイズマッチングが使用される場合、所定のコーディングオーバーヘッドを有するWPPと伴に通常のスライスが使用され得る。
【0039】
タイルは、ピクチャをタイルの列および行へとパーティション分割する水平および垂直の境界を定義する。タイル列は、ピクチャの上部からピクチャの底部まで設定される。同様に、タイル行は、ピクチャの左からピクチャの右まで設定される。ピクチャにおけるタイルの数は、タイル列の数にタイル行の数を掛けた数として導出され得る。
【0040】
CTBのスキャン順序は、タイルの中でローカルであってよい。スキャン順序は、タイルのCTBラスタスキャンの順序であり得る。従って、タイルの中の全てのCTBは、ピクチャのタイルラスタスキャンの順序における次のタイルの左上CTBをデコーディングする前にデコーディングされ得る。通常スライスと同様に、タイルは、エントロピーデコーディング依存性と同様に、ピクチャ内予測依存性を破る。しかしながら、スライスが個々のNALユニットへと含まれる必要はなく、この点でWPPに対する使用と同様である。従って、タイルは、MTUサイズのマッチングには使用されない。各タイルは、1つのプロセッサ/コアによって処理することができ、そして、隣接タイルをデコーディングする処理ユニット間のピクチャ内予測のために使用されるプロセッサ間/コア間の通信は、スライスが複数のタイルに拡がっている場合に、共有スライスヘッダを伝達することに限定される。そうした通信は、また、再構成されたサンプルおよびメタデータのループフィルタリング関連の共有も含み得る。1つのスライスに複数のタイルまたはWPPセグメントが含まれている場合、スライスにおける最初のもの以外の各タイルまたはWPPセグメントのエントリポイントバイトオフセットは、スライスヘッダ内で信号化される。
【0041】
簡単にするために、4つの異なるピクチャパーティション分割スキームの適用における制限が、HEVCで規定されている。コード化ビデオシーケンスは、HEVCで指定されるプロファイルの大部分についてタイルおよび波面の両方を含まなくてよい。各スライスおよびタイルについて、以下の条件のいずれか又は両方が満たされるべきである。第1条件は、スライス内のコード化ツリーブロックの全てが同じタイルに属する場合である。第2条件は、タイル内のコード化ツリーブロックの全てが同じスライスに含まれる場合である。最後に、波面セグメントは、正確に1つのCTB行を含んでいる。さらに、WPPが使用されている場合、CTB行の中でスライスを開始するとき、スライスは同じCTB行において終了する必要がある。
【0042】
HEVCに対する一つの例示的な修正は、3つの動き制約タイルセット(motion constrained tile set、MCTS)関連のSEIメッセージを指定する。これらは、時間的MCTSのSEIメッセージ、MCTS抽出情報セットSEIメッセージ、およびMCTS抽出情報ネストSEIメッセージを含む。時間的MCTSのSEIメッセージは、ビットストリームにおけるMCTSの存在を示し、そして、MCTSを信号化する。各MCTSについて、動きベクトルは、MCTS内の完全サンプル位置、および、補間のためにMCTSの内側の完全サンプルの位置のみを使用するフラクショナル(fractional)サンプル位置を指し示すことに限定されている。さらに、MCTSの外側のブロックから導出された時間的動きベクトル予測のための動きベクトル候補の使用は、禁止される。このようにして、各MCTSは、MCTSの外側のタイルを参照することなく、独立してデコーディングされ得る。
【0043】
MCTS抽出情報セットSEIメッセージは、MCTSセットについて適合(conforming)ビットストリームを生成するためにMCTSサブビットストリーム抽出で使用され得る、補足情報を提供する。MCTSサブビットストリーム抽出は、MCTS抽出情報セットSEIメッセージのセマンティクスの一部として指定される。情報は、多数の抽出情報セットを含んでいる。抽出情報セットは、それぞれ、多数のMCTSセットを定義し、そして、MCTSサブビットストリーム抽出プロセスの最中に使用される置換VPS、SPS、およびPPSのRBSPバイトを含む。MCTSサブビットストリーム抽出プロセスに従ってサブビットストリームを抽出するとき、VPS、SPS、およびPPSといった、パラメータセットは、書換えられ、または、置換される。さらに、first_slice_segment_in_pic_flagおよびslice_segment_addressといった、スライスアドレス関連のシンタックス要素の1つ以上が異なる値を有する必要があるので、スライスヘッダは更新される。
【0044】
VVCにおけるピクチャパーティション分割およびサブピクチャが、これから説明される。VVCにおいて、ピクチャは、1つ以上のタイル行および1つ以上のタイル列へと分割される。タイルは、ピクチャの矩形領域をカバーするCTUのシーケンスである。タイル内のCTUは、タイルの中のラスタスキャン順序でスキャンされる。スライスは、ピクチャのタイルの中の完全なタイルの整数個、または、連続する完全なCTU行の整数個を含んでいる。VVCは、スライスを管理するためのラスタスキャンスライスモードおよび矩形スライスモードをサポートしている。ラスタスキャンスライスモードにおいて、スライスは、ピクチャのタイルラスタスキャンにおける一連の完全なタイルを含む。矩形スライスモードにおいて、スライスは、ピクチャの矩形領域を集合的に形成する多数の完全なタイル、または、ピクチャの矩形領域を集合的に形成する1つのタイルの多数の連続した完全なCTU行のいずれかを含む。矩形スライスの中のタイルは、スライスに対応する矩形領域の中のタイルラスタスキャン順序でスキャンされる。サブピクチャは、ピクチャの矩形領域を集合的にカバーする1つ以上のスライスを含む。
【0045】
図1は、スライス、サブピクチャ、タイル、およびCTUへとパーティション分割された一つの例示的なピクチャに係る概略図である。概略
図100において、ピクチャは、18個のタイル、24個のスライス、24個のサブピクチャ、および120個のCTUへとパーティション分割されている。サブピクチャの概念と機能が、これから説明される。VVCにおいて、各サブピクチャは、概略
図100に示されるように、ピクチャの矩形領域を集合的にカバーする1つ以上の完全な矩形スライスを含んでいる。サブピクチャは、抽出可能であるように指定され得る。抽出可能なサブピクチャは、同じピクチャの他のサブピクチャおよびデコーディング順序において以前のピクチャのサブピクチャとは独立に、コード化される。サブピクチャは、また、抽出可能でないようにも指定可能であり、そして、従って、他のサブピクチャと独立してコード化されない。サブピクチャが抽出可能であるか否かにかかわらず、エンコーダは、各サブピクチャについてサブピクチャ境界を横切りインループフィルタリングが個別に適用されるか否かを制御することができる。インループフィルタリングは、デブロッキングフィルタ、SAOフィルタ、及び/又は、ALFフィルタの適用を含む。
【0046】
サブピクチャは、HEVCにおけるMCTSに類似している。それらは、両方とも、ビューポート依存の360°ビデオストリーミング最適化および関心領域(ROI)アプリケーションのような使用事例のために、コード化ピクチャのシーケンスの矩形サブセットの独立したコーディングおよび抽出を可能にする。
【0047】
全方向(omnidirectional)ビデオとしても知られている、360°ビデオのストリーミングにおいては、任意の特定の瞬間に、全方向ビデオスフィア(video sphere)のサブセットのみがユーザに対してレンダリングされる。サブセットは現在のビューポートとして示されている。ユーザは、いつでも頭を回転させて視野方向を変更することができ、その結果、現在のビューポートを変更することができる。現在のビューポートによってカバーされていない領域のうち少なくともいくつかの低品質の表現は、クライアントで利用可能にされ得る。従って、ユーザがスフィアにおける任意の場所へ視野方向を急に変えた場合に、ビューポートの外側の領域は、ユーザに対してレンダリングされように用意することができる。全方向ビデオの高品質表現は、任意の所与の瞬間でユーザに対してレンダリングされている現在のビューポートに対してのみ使用される。全方向ビデオ全体の高品質表現を適切な粒度でサブピクチャへと分割することで、概略
図100で示されるような最適化といったものをイネーブルにする。この例において、左側の12個のサブピクチャは、現在のビューポートについて使用されている高解像度のサブピクチャであり、そして、従って、より多くのCTUを含むものとして描かれている。残りの右側の12個のサブピクチャは、全方向ビデオの現在のビューポートの外側で使用される解像度の低いサブピクチャである。
【0048】
図2は、エンコーディングとストレージビデオ200、および、送信とデコーディングビデオ210を含む、一つの例示的なサブピクチャベースのビューポート依存の360°ビデオ配信スキームに係る概略図である。エンコーディングとストレージビデオ200には、高解像度および低解像度の両方でビデオ全体を含んでいる。送信とデコーディングビデオ210は、エンコーディングとストレージビデオ200の一部を含む。例えば、送信とデコーディングビデオ210は、エンコーディングとストレージビデオ200と同じ低解像度ピクチャを含み得る。さらに、送信とデコーディングビデオ210は、ユーザに対して表示される現在のビューポートに関連する高解像度サブピクチャを含むことができ、そして、現在のビューポートの外側の高解像度サブピクチャを除外することができる。
【0049】
かくして、
図2は、高解像度表現ビデオのためにサブピクチャのみを使用する、一つの例示的なサブピクチャベースのビューポート依存の360°ビデオ配信スキームを示している。フルビデオの低解像度表現は、サブピクチャを使用せず、そして、高解像度表現よりも少ない頻度のランダムアクセスポイント(RAP)でコード化され得る。RAPは、他の画像よりも圧縮が少なく、そして、従って、RAPの数を減らすことは、ビットストリームサイズを低減する。クライアントは、低解像度でフルビデオを受信する。高解像度ビデオについて、クライアントは、現在のビューポートをカバーするサブピクチャのみを受信およびデコーディングする。
【0050】
サブピクチャとMCTSの間の相違が、これから説明される。サブピクチャと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およびレベル定義を指定する。従って、各抽出可能なサブピクチャシーケンスのサブビットストリームの適合性は、エンコーダによって保証され得る。
【0051】
ピクチャの中の混合サブピクチャタイプが、これから説明される。AVCおよびHEVCにおいて、ピクチャ内の全てのVCL NALユニットは、同じNALユニットタイプを有することが要求され得る。VVCは、サブピクチャを、ピクチャの中の所定の異なるVCL NALユニットタイプと混合するオプションを導入する。これは、ピクチャレベルだけでなく、サブピクチャレベルでも、また、ランダムアクセスをサポートする。VVCにおいて、サブピクチャの中のVCL NALユニットは、同じNALユニットタイプを有するように要求され得る。
【0052】
IRAPサブピクチャからランダムにアクセスする機能は、360°のビデオアプリケーションとって有益である。
図2に示されたものと同様なビューポート依存の360°ビデオ配信スキームにおいて、空間的に隣接するビューポートのコンテンツは、大部分がオーバーラップしている。従って、ビューポートの方向変更の最中に、ビューポートのサブピクチャの一部のみが新しいサブピクチャに置換される。従って、大部分のサブピクチャはビューポート内に残る。ビューポートへと新たに導入されるサブピクチャシーケンスは、IRAPスライスで開始しなければならないが、ビューポートの変更にもかかわらず、残りのサブピクチャがインター予測を実行することができる場合には、全体的な伝送ビットレートにおける著しい低減が達成され得る。
【0053】
ピクチャが、NALユニットの単一タイプだけ含むか、または、複数のタイプを含むかの指示は、例えば、ピクチャフラグ中のPPS混合NALユニットタイプと呼ばれるフラグ(pps_mixed_nalu_types_in_pic_flag)を使用することによって、ピクチャによって参照されるPPS中で提供され得る。このようにして、ピクチャは、IRAPスライスを含むサブピクチャ、および、同時に後続(trailing)スライスを含むサブピクチャを含み得る。ピクチャの中の異なるNALユニットタイプのいくつかの他の組み合わせも、また、許容される。例えば、混合NALユニットピクチャは、NALユニットタイプRASLおよびRADLの先頭(leading)ピクチャスライスを含む。これは、サブピクチャシーケンスの、ピクチャのオープングループ(GOP)とのマージを可能にし、そして、クローズGOPコーディング構造は、異なるビットストリームから1つのビットストリームへ抽出される。
【0054】
サブピクチャレイアウトおよびサブピクチャ識別子(ID)信号化について、これから説明される。VVCにおけるサブピクチャのレイアウトは、SPSにおいて信号化され、そして、従って、コード化層ビデオシーケンス(CLVS)の中で一定である。各サブピクチャは、ピクチャの左上のCTUの位置、および、ピクチャの幅と高さ(CTU数)によって信号化される。従って、信号化は、サブピクチャが画像の矩形領域をCTU粒度でカバーすることを確保する。サブピクチャがSPS内で信号化される順序は、ピクチャの中の各サブピクチャのインデックスを決定する。
【0055】
図3は、ビットストリームからサブピクチャを抽出するための一つの例示的なメカニズムに係る概略
図300である。SHまたはPHを書き換えることなく、サブピクチャシーケンスの抽出およびマージをイネーブルするために、VVCにおけるスライスアドレッシングスキームは、サブピクチャIDおよびサブピクチャにスライスを関連付けるためのサブピクチャ固有のスライスインデックスに基づいている。スライスを含むサブピクチャのサブピクチャIDおよびサブピクチャレベルのスライスインデックスは、SHにおいて信号化される。特定のサブピクチャのサブピクチャIDの値は、対応するサブピクチャインデックスの値とは異なり得る。サブピクチャIDとサブピクチャインデックスとの間のマッピングは、SPSまたはPPSのいずれかで信号化されるが、その両方ではなく、または、暗黙的に推論される。存在する場合、サブピクチャのサブビットストリーム抽出プロセスの最中にSPSおよびPPSを書換えるときに、サブピクチャIDマッピングが書換えられ、または、追加される。サブピクチャIDとサブピクチャレベルのスライスインデックスは、デコーディングされたピクチャのDPBスロットの中のスライスに係る最初にデコーディングされたCTUの正確な位置をデコーダに対して一緒に示す。概略
図300に示されるように、サブピクチャのサブピクチャIDは、サブビットストリーム抽出後も変更されないままであり、一方で、サブピクチャインデックスは変化し得る。サブピクチャにおけるスライス内の第1CTUのラスタスキャンCTUアドレスがオリジナルのビットストリームにおける値と比較して変化したとしても、それぞれのSHにおけるサブピクチャIDおよびサブピクチャレベルスライスインデックスの未変化の値は、抽出されたサブビットストリームのデコーディングされたピクチャにおける各CTUの位置を依然として正確に示している。概略
図300は、2つのサブピクチャおよび4つのスライスを含む例を用いて、サブピクチャ抽出を可能にするための、サブピクチャID、サブピクチャインデックス、およびサブピクチャレベルのスライスインデックスの使用を説明している。
【0056】
サブピクチャ抽出と同様に、サブピクチャの信号化は、SPSおよびPPSを書換えるだけによって、異なるビットストリームからの数個のサブピクチャを単一のビットストリームへとマージすることを可能にする。このメカニズムは、異なるビットストリームが、例えば、別個のサブピクチャID、および、そうでなければ、CTUサイズ、クロマフォーマット、コーディングツール、等といった、ほとんど整列されたSPS、PPS、およびPHパラメータを使用することによって、協調的に生成されることを必要とし得る。サブピクチャおよびスライスが、SPSおよびPPSにおいて、それぞれに、独立して信号化される一方で、適合ビットストリーム(conformant bitstream)を形成するためには、サブピクチャとスライスレイアウトとの間に固有の相互の制約が存在する。第1に、サブピクチャの存在は、矩形スライスの使用を必要とし、そして、ラスタスキャンスライスを禁止し得る。第2に、所与のサブピクチャのスライスは、デコーディング順序で連続したNALユニットであるべきであり、これは、サブピクチャレイアウトに、ビットストリームの中のコード化スライスNALユニットの順序を制約させる。
【0057】
VVCビデオファイルフォーマットにおけるいくつかの基本について、これから説明される。例えば、VVC基本(elementary)ストリームの搬送のためのトラックのタイプが、これから説明される。本文書は、VVC基本ストリームの搬送のために、以下のトラックのタイプを規定する。VVCトラックは、トラックのサンプル及び/又はサンプルエントリ内にNALユニットを含めることによって、VVC基本ストリームを表現する。VVCトラックは、また、VVC基本ストリームの他のレイヤ及び/又はサブレイヤを含む他のVVCトラックを、“vvcb”エンティティグループ、“vopi”サンプルグループ、“opi”エンティティグループ、または、それらの組み合わせを通じて、関連付けることもできる。さらに、VVCトラックは、VVCサブピクチャトラックを参照することによって、他のVVCトラックを関連付けることができる。VVCトラックがVVCサブピクチャトラックを参照する場合、VVCトラックは、VVCベーストラックと呼ばれる。VVCベーストラックは、VCL NALユニットを含むべきではなく、かつ、“vvcN”トラックリファレンスを通じてVVCトラックによって参照されるべきではない。
【0058】
VVC非VCLトラックは、非VCL NALユニットのみを含むトラックであり、“vvcN”トラックリファレンスを通じてVVCトラックによって参照される。VVC非VCLトラックは、ALF、LMCS、またはスケーリングリストパラメータを搬送する、APSを含み得る。そうしたパラメータは、他の非VCLNALユニットと共に含まれてよく、または、含まれなくてよい。そうしたパラメータは、従って、VCL NALユニットを含むトラックから離れたトラックに保管され、そして、トラックを介して送信される。VVC非VCLトラックは、また、APS NALユニット及び/又は他の非VCL NALユニットと共に又はなくても、ピクチャヘッダNALユニットも含み得る。ピクチャヘッダNALユニットは、従って、VCL NALユニットを含むトラックから離れたトラックに保管され、そして、送信される。
【0059】
VVCサブピクチャトラックは、矩形領域を形成する1つ以上のVVCサブピクチャのシーケンス、または、矩形領域を形成する1つ以上の完全スライスのシーケンスのいずれかを含む。VVCサブピクチャトラックのサンプルは、矩形領域を形成する1つ以上の完全なサブピクチャ、または、矩形領域を形成する1つ以上の完全なスライスのいずれかを含む。
【0060】
VVC非VCLトラックおよびVVCサブピクチャトラックは、ストリーミングアプリケーションにおけるVVCビデオの配信を可能にする。これらのトラックは、自身のDASH表現においてそれぞれ搬送され得る。トラックのサブセットのデコーディングおよびレンダリングのために、VVCサブピクチャトラックのサブセットを含むDASH表現、並びに、非VCLトラックを含むDASH表現が、セグメント毎にセグメントにおけるクライアントによって要求され得る。このようにして、APS、他の非VCL NALユニット、および不必要なサブピクチャの冗長な伝送を避けることができる。さらに、VVCサブピクチャトラックが、1つ以上の完全なスライスを含むが、サブピクチャの全てのスライスが含まれているのではない場合、サブピクチャトラック内の全てのスライスは、同じサブピクチャに属する。さらに、この場合、例えば“subp”トラックリファレンスを通じてサブピクチャトラックを参照する、任意のVVCベーストラックは、また、同じサブピクチャからの残りのスライスを含むサブピクチャトラックも参照する。
【0061】
サブピクチャエンティティグループが、これから説明される。サブピクチャエンティティグループは、数個のVVCサブピクチャトラックから作成された、マージされたビットストリームの適合性を示すレベル情報を提供するために定義されている。VVCベーストラックは、VVCサブピクチャトラックをマージするための別のメカニズムを提供する。サブピクチャエンティティグループに基づく暗黙の再構成プロセスは、パラメータセットの修正を必要とし得る。サブピクチャエンティティグループは、再構成されたビットストリームについてパラメータセットの生成を容易にするためのガイダンスを与える。一緒にデコーディングされるグループの中のサブピクチャトラックが交換可能である場合、SubpicCommonGroupBoxは、組み合わせルール、および、一緒にデコーディングされるときの結果の組み合わせのlevel_idcを示す。トラックは、プレーヤが同じレベルの寄与度(contribution)を有するグループからnum_active_tracksサブピクチャトラックの任意のセットを選択できる場合に、交換可能である。異なる解像といった、異なるプロパティを有するコード化サブピクチャが、一緒にデコーディングされるように選択された場合、SubpicMultipleGroupsBoxは、組み合わせルール、および、一緒にデコーディングされるときの結果の組み合わせのlevel_idcを示す。サブピクチャエンティティグループに含まれる全てのentity_id値は、VVCサブピクチャトラックを識別する。SubpicCommonGroupBoxおよびSubpicMultipleGroupBoxは、存在する場合、ファイルレベルのMetaBoxにおけるGroupsListBoxに含まれ、そして、他のレベルのMetaBoxには含まれない。
【0062】
サブピクチャ共通グループボックスの一つの例示的なシンタックスは、以下のとおりである。
【表1】
【0063】
サブピクチャ共通グループボックスについて一つの例示的なセマンティクスは、次のとおりである。level_idcは、エンティティグループ内のnum_active_tracksエンティティの任意の選択が従うレベルを指定する。num_active_tracksは、level_idcの値が与えられるトラックの数を指定する。
【0064】
サブピクチャマルチグループボックス(subpicture multiple groups box)について一つの例示的なシンタックスは、以下のとおりである。
【表2】
【0065】
サブピクチャマルチグループボックスの一つの例示的なセマンティクスは、次のとおりである。level_idcは、0からnum_subgroup_ids-1まで、を含む範囲におけるiの全ての値について、IDがiに等しいサブグループ間で、任意のnum_active_tracks[i]トラックを選択する組み合わせが、従うレベルを指定する。num_subgroup_idsは、個別のサブグループの数を指定し、それぞれがtrack_subgroup_id[i]の同じ値によって識別される。異なるサブグループは、track_subgroup_id[i]の異なる値によって識別される。track_subgroup_id[i]は、このエンティティグループ内でi番目のトラックについてサブグループIDを指定する。サブグループIDの値は、0からnum_subgroup_ids-1まで、を含む範囲である。num_active_tracks[i]は、iに等しいIDを有するサブグループ間のトラックの数を指定する。これは、level_idcで説明されている。
【0066】
以下は、開示された技術的ソリューションによって解決される例示的な技術上の問題である。例えば、サブピクチャエンティティグループは、関連するサブピクチャ情報がトラックの全ての時間(entire time duration)を通して一貫している場合について動作する。しかしながら、常にそうであるとは限らない。例えば、異なるCVSは、特定のサブピクチャシーケンスについて異なるレベルを有し得る。その場合、本質的に同じ情報を搬送するために、サンプルグループが代わりに使用されるべきであるが、所定の情報は、異なるサンプル(例えば、CVS)について異なることを認めている。
【0067】
図4は、ISOBMFFに保管されたメディアファイル400に係る概略図である。例えば、メディアファイル400はエンコーディングされたビットストリームを含むことができ、そして、デコーダに送信するためにISOBMFFに保管され得る。ISOBMFFにおいてメディアファイル400を組織化することによって、特定の解像度、スクリーンサイズ、フレームレート、等におけるサブビットストリームといった、メディアファイル400のサブセットが選択され、そして、デコーダに送信され得る。さらに、メディアファイル400をISOBMFFに組織化することにより、デコーダは、デコーディングおよび表示のために、メディアファイル400の関連部分を見つける(locate)ことができる。ISOBMFFメディアファイル400は、メディアコンテンツまたはメディア提示に関連するオブジェクト及び/又はデータを搬送する複数のボックス内に保管される。例えば、メディアファイル400は、ファイルタイプボックス(例えば、ftyp)430、ムービーボックス(例えば、moov)410、およびメディアデータボックス(例えば、mdat)420を含み得る。そうしたボックスは、さらに、全ての関連データをメディアデータファイル400に保管するために、ネストされた様式(fashion)で他のボックスを含むことができる。
【0068】
ファイルタイプボックス430は、ファイル全体を記述するデータを搬送することができ、そして、従って、ファイルレベルのデータを搬送することができる。従って、ファイルレベルボックスは、メディアファイル400全体に関連するデータを含む任意のボックスである。例えば、ファイルタイプボックス430は、ISO仕様のバージョン番号、及び/又は、メディアファイル400の互換性情報を示すファイルタイプを含み得る。
【0069】
ムービーボックス410は、メディアファイル内に含まれるムービーを記述するデータを搬送することができ、そして、従って、ムービーレベルのデータを搬送することができる。ムービーレベルボックスは、メディアファイル400に含まれるムービー全体を記述するデータを含む任意のボックスである。ムービーボックス410は、様々な用途のためのデータを含むために使用される広範囲のサブボックスを含むことができる。例えば、ムービーボックス410は、メディアプレゼンテーションのトラックを記述するメタデータを搬送するトラックボックス411を含む。例えば、トラックボックス411は、対応するサンプル421がどのようにして表示のためにビデオの中へ配置されるかを記述する時間的及び/又は空間的情報を搬送することができる。トラックを記述するデータはトラックレベルのデータであり、そして、従って、トラックを記述するボックスはトラックレベルのボックスであることに留意すべきである。トラックボックス411は、対応するトラックボックス411の中で記述されるトラックについて特有である、多くの異なるタイプのボックスを搬送することができる。例えば、トラックボックス411は、サンプルテーブルボックス412を含み得る。サンプルテーブルボックス412は、stblとして示され、トラックに関連付けられたメディアサンプル421の時間およびデータインデックスを含むボックスである。他の項目の中でも、サンプルテーブルボックス412は、サンプルグループエントリ413を含み得る。サンプルグループエントリ413は、サンプルグループの特性を記述するデータを含む。サンプルグループは、トラックボックス411によって記述される対応するトラックに関連するサンプル421の任意のグループである。従って、サンプルグループは、サンプルテーブルボックス412によって記述されるように、ピクチャ/サブピクチャのセットに対する情報(例えば、記述している)を搬送することができる。
【0070】
ムービーボックス410は、また、アンタイムド(untimed)メタデータを搬送するための構造である、メタボックス(MetaBox)415も含み得る。メタボックス415は、示されるように、ムービーボックス410内に含まれてよく、そして、従って、メタデータがムービー全体に関連する場合には、ムービーレベルボックスとみなされ得る。いくつかの例において、メタボックス415は、トラックボックス411内に含まれてよく、そして、従って、メタデータが対応するトラックに関連する場合には、トラックレベルボックスとみなされ得る。メタボックス415は、メタデータを搬送するための様々なボックスを含み得る。例えば、メタボックス415は、グループボックスに対するエンティティ417を含んでもよく、これは、エンティティグループのグループ化タイプといった、対応するエンティティグループを記述するメタデータを含むボックスである。従って、グループボックスに対するエンティティは、サブピクチャエンティティグループを指定する。エンティティグループは、特定の特性を共有し、かつ/あるいは、特定の関係を共有する、トラックボックス411内のトラックといった、アイテムのグループである。
【0071】
メディアデータボックス420は、メディアプレゼンテーションのインターリーブおよび時間順序のメディアデータ(例えば、1つ以上のメディアトラックにおけるコード化ビデオ画像及び/又はオーディオ)を含む。例えば、メディアデータボックス420は、VVC、AVC、HEVC、等に従ってコード化されたビデオデータのビットストリームを含み得る。メディアデータボックス420は、ユーザに対して表示するためのビデオ画像、オーディオ、テキスト、または、他のメディアデータを含み得る。そうしたビデオ画像、オーディオ、テキスト、または他のメディアデータは、サンプル421としてまとめて参照され得る。
【0072】
上述のように、本開示は、一連のピクチャがサブピクチャとして知られる異なる空間領域へとパーティション分割されるシナリオに関する。例えば、各ピクチャの上部領域は、第1サブピクチャ内に含まれ、そして、各ピクチャの下部部分は、第2サブピクチャ内に含まれ得る。これにより、異なる領域は、独立して表示することができる。これは、また、例えば、異なるコーディングツール、制約、」等を適用することによって、異なる領域を異なるようにコード化することができる。サブピクチャは、別個のトラックボックス411内に含まれ、サブピクチャトラックを結果として生じる。さらに、ピクチャ、および、従って、サブピクチャは、ピクチャおよびサブピクチャに適用されるコーディング制約を記述する、プロファイル、ティア(tier)、およびレベルに従ってコード化される。従って、プロファイル、ティア、およびレベルは、対応するビデオが、示されたプロファイル、ティア、およびレベルにおいてデコーディングするのに十分なハードウェアを含む任意のデコーダによってデコーディングされ得ることを示す。例えば、プロファイルは、ビデオをコード化するために使用されるコーディングツールのセットを示すことができ、ティアは、ビデオについて最大ビットレートを示すことができ、そして、レベルは、最大サンプルレート、最大ルマピクチャサイズ、ピクチャ当たりのスライスセグメントの最大数、等といった、ビデオに適用される様々な追加の制約を示すことができる。いくつかのシステムにおいて、トラックボックス411内のサブピクチャトラックのレベル情報は、ファイルレベルにおいて信号化される。しかしながら、このアプローチは、異なるサブピクチャトラック及び/又は同じサブピクチャトラック内の異なるサンプルが、異なるレベルを有することを許容しないことがある。
【0073】
ここにおいて開示されるのは、上記でリストされた問題の1つ以上に対処するためのメカニズムである。本開示は、トラックボックス411内に含まれるサブピクチャトラックについてレベルインジケータ431を採用することによって、この問題に対処する。例えば、トラックボックス411内のサブピクチャトラックは、グループボックスに対するエンティティ417内のエンティティグループへとグループ化され得る。さらに、サブピクチャトラック内のサンプルは、サンプルグループエントリ413によって、サンプルグループへとグループ化され得る。次いで、レベルインジケータ431を使用して、サンプルグループ・シグナリングを介したトラックのサンプルグループ、または、エンティティグループ・シグナリングを介したトラック全体のいずれかに対するレベルを示すことができる。例えば、レベルインジケータ431は、トラックへと編成され、そして、従って、対応するトラックボックス411に記載された、サブピクチャサンプル421のグループについてレベル情報を示すことができる。さらに、異なるレベルを有するサブピクチャは、異なるサンプルグループへと編成され得る。レベルインジケータ431は、次いで、対応するサンプルグループを記述するサンプルグループエントリ413内に含まれ得る。これにより、同じトラック内の異なるサンプルグループは、レベルインジケータによって示されるように、異なるレベルを有することができる。一つの例示的な実装において、同じレベルを有するサブピクチャは、対応するサンプルグループエントリ413によって記述されるサブピクチャレベル情報サンプルグループへと編成され得る。レベルインジケータ431は、次いで、サブピクチャグループのレベル情報を記述するために、サンプルグループエントリ413内に含まれ得る。一つの例において、サブピクチャエンティティグループタイプ表示435は、サンプルグループに関連するサブピクチャエンティティグループタイプを示すために使用され得る。サブピクチャエンティティグループタイプ表示435は、サンプルグループのサンプルグループエントリ413内で信号化され得る。例えば、サブピクチャエンティティグループタイプ表示435は、1ビットフラグを含み得る。別の例において、サブピクチャエンティティグループタイプ表示435は、グループボックスに対するエンティティ417によって示されるように、関連するサブピクチャエンティティグループのグループ化タイプを指定する24ビットフィールドを含み得る。さらなる例において、サブピクチャエンティティグループタイプ表示435は、サンプルグループエントリ413に示されるように、サンプルグループに関連するグループタイプパラメータ(group_type_parameter)を含み得る。例えば、サンプルテーブルボックス412は、各々がサンプルグループについてサブピクチャレベル情報を記述する、サンプル・ツー・グループボックス(SampleToGroupBox)を含み得る。SampleToGroupBoxは、サブピクチャエンティティグループタイプ表示435として動作するgroup_type_parameterを含み得る。一つの例において、group_type_parameterは、サブピクチャエンティティグループのグループ化タイプがサブピクチャ共通グループであることを示す場合にacglに設定され、そして、サブピクチャエンティティグループのグループ化タイプがサブピクチャマルチグループであることを示す場合にamglに設定される。別の例において、group_type_parameterは、32ビットを含むことができ、そして、group_type_parameterの1ビットは、サブピクチャエンティティグループのグループタイプがサブピクチャ共通グループであるか、または、サブピクチャマルチグループであるかを示すように、サブピクチャ共通グループフラグ(subpictype_common_group_flag)を信号化するために使用され得る。さらに別の例において、グループボックスに対するエンティティ417内のグループ識別子(ID)は、また、サンプル421のサンプルグループをサンプル421のエンティティグループと相関させるために、サンプルグループについてサンプルグループエントリ413内でも信号化され得る。
【0074】
別の例において、対応するトラックボックス411内のサブピクチャトラックのセットは、グループボックスに対するエンティティ417において示されるように、サブピクチャエンティティグループへと編成される。サブピクチャのレベルインジケータ431は、サブピクチャエンティティグループのグループボックスに対するエンティティ417内、または、サンプルグループのサンプルグループエントリ413内のいずれかで信号化され得る。例えば、レベルインジケータ431は、トラックボックス411によって記述されるサブピクチャトラックのセット内の全てのサンプル421についてレベルが静的である場合に、サブピクチャエンティティグループについてグループボックスに対するエンティティ417内で信号化され得る。別の例において、レベルインジケータ431は、トラックボックス411によって記述されるサブピクチャトラックのセット内の全てのサンプル421についてレベルが静的ではない場合に、サンプルグループのサンプルグループエントリ413内で信号化され得る。一つの例において、フラグといった、表示は、サブピクチャエンティティグループのグループボックスに対するエンティティ417内で信号化され得る。本フラグは、レベルインジケータ431として使用することができ、そして、トラックボックス411によって記述されるサブピクチャトラックのセット内の全てのサンプル421についてレベルが静的であるか否かを示すために使用することができる。
【0075】
別の例において、トラックボックス411によって記述されるサブピクチャトラックのセットは、グループボックスに対するエンティティ417において示されるように、サブピクチャエンティティグループへと編成され得る。サブピクチャのレベルインジケータ431がサンプルグループについて信号化されると、サンプルグループを含むトラックのトラックID 433は、例えば、レベル情報トラックIDフィールド(level_info_track_id)を介して、サブピクチャエンティティグループのグループボックスに対するエンティティ417内で信号化され得る。例えば、ルールは、トラックID 433がlevel_info_track_idに等しいトラックが、ピクチャヘッダネットワーク抽象化レイヤ(NAL)ユニットを含むトラックであるべきか、そして、従って、VVCベーストラックであるべきか、を指定することができる。別の例において、ルールは、トラックID 433がlevel_info_track_idに等しいトラックが、VVCベーストラックであることを指定できる。
【0076】
上記の問題点等を解決するために、以下にまとめられた方法が開示される。アイテムは、一般的な概念を説明するための例示として考慮されるべきであり、かつ、狭義に解釈されるべきではない。さらに、これらのアイテムは、個別に、または、任意の方法で組み合わされて、適用することができる。
【0077】
実施例1
【0078】
一つの例において、レベルインジケータといった、サブピクチャエンティティグループ内のサブピクチャトラックのセットに対する所定の情報は、1つ以上のサンプルグループを使用して信号化され得る。
【0079】
実施例2
【0080】
一つの例において、レベルインジケータといった、サブピクチャエンティティグループ内のサブピクチャトラックのセットに対する所定の情報は、サブピクチャエンティティグループのエンティティツーグループボックス内、または、サンプルグループのサンプルグループエントリ内のいずれかで信号化され得る。
【0081】
実施例3
【0082】
一つの例において、レベルインジケータといった、情報は、サブピクチャトラックのセット内の全てのサンプルについて情報が静的である場合、サブピクチャエンティティグループ内で信号化される。一つの例において、レベルインジケータといった、情報は、サブピクチャトラックのセット内の全てのサンプルについて情報が静的でない場合、サンプルグループ内で信号化される。一つの例において、フラグといった、表示は、レベルインジケータといった、所定の情報が、サブピクチャトラックのセット内の全てのサンプルについて静的であるか否かを示す。表示は、サブピクチャエンティティグループのグループボックスに対するエンティティ内で信号化され得る。
【0083】
実施例4
【0084】
一つの例において、レベルインジケータといった、サブピクチャエンティティグループ内のサブピクチャトラックのセットに関する情報がサンプルグループ内で信号化される場合、サンプルグループを含むトラックのトラックIDは、例えば、フィールドlevel_info_track_idを介して、サブピクチャエンティティグループのグループボックスに対するエンティティ内で信号化される。
【0085】
実施例5
【0086】
一つの例において、ルールは、レベル情報トラックID(level_info_track_id)に等しいトラック識別子(track_ID)を有するトラックが、VVCベーストラックといった、ピクチャヘッダNALユニットを含むトラックであるべきことを指定し得る。一つの例において、ルールは、level_info_track_idに等しいtrack_IDを有するトラックが、VVCベーストラックといった、ピクチャヘッダNALユニットを含むトラックであるべきことを指定し得る。一つの例において、ルールは、level_info_track_idに等しいtrack_IDを有するトラックが、VVCベーストラックであるべきことを指定し得る。
【0087】
実施例6
【0088】
一つの例において、サンプルグループ、例えばサブピクチャレベル情報サンプルグループと名付けられたものは、サブピクチャエンティティグループ内のサブピクチャトラックのセットについて、レベルインジケータといった、所定の情報を信号化するように指定される。
【0089】
実施例7
【0090】
一つの例において、レベルインジケータといった、情報は、サンプルグループのサンプルグループエントリにおいて信号化される。一つの例において、サンプルグループに関連付けられたサブピクチャエンティティグループのタイプの表示は、サンプルグループのサンプルグループエントリにおいて信号化される。一つの例において、指示は、1ビットフラグを使用して信号化される。一つの例において、指示は、関連するサブピクチャエンティティグループのグループ化タイプを指定する24ビットフィールドを使用して信号化される。一つの例において、サンプルグループに関連付けられたサブピクチャエンティティグループのタイプの表示は、サンプルグループのグループ化タイプパラメータ(grouping_type_parameter)を使用して信号化される。一つの例において、ルールは、サブピクチャレベル情報サンプルグループのグループボックスに対する全てのサンプル(SampleToGroupBoxes)が、grouping_type_parameterを含むべきであることを指定し得る。関連するサブピクチャエンティティグループのグループ化タイプ(grouping_type)が“acgl”に等しいことを指定するために、grouping_type_parameterの値が“acgl”に等しく設定される。関連するサブピクチャエンティティグループのgrouping_typeが“amgl”に等しいことを指定するために、grouping_type_parameterの値が“amgl”に等しく設定される。
【0091】
一つの例において、ルールは、サブピクチャレベル情報サンプルグループについて全てのSampleToGroupBoxsがgrouping_type_parameterを含むことを指定し得る。subpic_common_group_flagを信号化するために、grouping_type_parameterの32ビットのうち1ビットが使用され得る。一つの例において、関連するサブピクチャエンティティグループのグループボックスに対するエンティティ(EntityToGroupBox)内のgroup_idは、サンプルグループのサンプルグループエントリにおいて信号化される。
【0092】
以下は、上記で概説されたいくつかの態様に対するいくつかの例示的な実施形態である。そのうちいくつかは、VVCビデオファイルフォーマットの標準仕様に適用され得る。追加または変更された関連する部分は下線の太字(ここでは、下線のみ)で示され、かつ、削除された部分は太字のイタリック体(ここでは、括弧のみ)で示される。
【0093】
上記の実施例の第1実施形態は、以下のとおりである。
【0094】
11.4.20 サブピクチャレベル情報サンプルグループ。11.4.20 定義。0に等しいlevel_is_static_flagを有するサブピクチャエンティティグループが存在する場合、サブピクチャレベル情報サンプルグループ(“spli”)は、サブピクチャエンティティグループのlevel_info_track_idに等しいtrack_IDを有するトラックに存在する。サブピクチャレベル情報サンプルグループは、関連するサブピクチャエンティティグループと呼ばれる、サブピクチャエンティティグループによって示されるサブピクチャトラックの1つ以上のグループに対するレベル情報を提供する。関連するサブピクチャエンティティグループを識別するための情報は、サンプルグループエントリにおいて信号化される。サブピクチャレベル情報サンプルグループのgrouping_type_parameterフィールドは定義されていない。
【0095】
【0096】
11.4.20.3 セマンティック。level_idcは、関連するサブピクチャエンティティグループによって示されるサブピクチャトラックの各組み合わせにおけるこのサンプルグループのメンバーであるサンプルのセットが従うレベルを指定する。1に等しいsubpic_common_group_flagは、関連するサブピクチャエンティティグループのgrouping_typeが“acgl”に等しいことを指定する。0に等しいsubpic_common_group_flagは、関連するサブピクチャエンティティグループのgrouping_typeが“amgl”に等しいことを指定する。subpic_entity_group_idは、関連するサブピクチャエンティティグループのEntityToGroupBoxにおけるgroup_idを指定する。
【0097】
11.5.1 サブピクチャエンティティグループ。11.5.1.1 全般。サブピクチャエンティティグループは、数個のVVCサブピクチャトラックからマージされたビットストリームの適合性を示すレベル情報を提供するために定義されている。注記:前記VVCベーストラックは、VVCサブピクチャトラックをマージするための別のメカニズムを提供する。サブピクチャエンティティグループに基づく暗黙の再構成プロセスは、パラメータセットの修正を必要とし得る。サブピクチャエンティティグループは、再構成されたビットストリームについてパラメータセットの生成を容易にするためのガイダンスを与える。一緒にデコーディングされるグループの中のサブピクチャトラックが交換可能である場合、すなわち、プレーヤが同じレベルの寄与度(contribution)を有するグループからnum_active_tracksサブピクチャトラックの任意のセットを選択できる場合、SubpicCommonGroupBoxは、組み合わせルール、および、一緒にデコーディングされるときの結果の組み合わせのlevel_idcを示す。異なるプロパティ、例えば異なる解像、を有するコード化サブピクチャが存在し、一緒にデコーディングされるように選択された場合、SubpicMultipleGroupsBoxは、組み合わせルール、および、一緒にデコーディングされるときの結果の組み合わせのlevel_idcを示す。サブピクチャエンティティグループに含まれる全てのentity_id値は、VVCサブピクチャトラックを識別する。存在する場合、SubpicCommonGroupBoxおよびSubpicMultipleGroupBoxは、ファイルレベルのMetaBoxにおけるGroupsListBoxに含まれ、そして、他のレベルのMetaBoxには含まれない。
【0098】
11.5.1.2 サブピクチャ共通グループボックスのシンタックス
【表4】
【0099】
11.5.1.3 サブピクチャ共通グループボックスのセマンティック。1に等しいlevel_is_static_flagは、現在のエンティティグループ内のnum_active_tracksエンティティの任意のセットが従うレベルが、トラックの選択における全てのサンプルについて静的であること、および、現在のSubpicCommonGroupBoxにおけるlevel_idcフィールドによって示されることを指定する。0に等しいlevel_is_static_flagは、サンプルの特定のセットに対して、そうした選択のレベルが、関連するサブピクチャレベル情報サンプルグループのサンプルグループエントリにおけるlevel_idcフィールドによって示されることを指定する。それは、level_info_track_idに等しいtrack_IDを有するトラック内にあり、そして、現在のエンティティグループのEntityToGroupBoxにおいて、1に等しいsubpic_common_group_flagおよびgroup_idに等しいsubpic_common_group_group_idを有する。サンプルの特定のセットは、関連するサブピクチャレベル情報サンプルグループのメンバーである、サンプルのセットである。level_idcは、現在のエンティティグループの中でnum_active_tracksエンティティの任意の(選択)セットが従うレベルを指定する。level_info_track_idは、関連するサブピクチャレベル情報サンプルグループを含むトラックを指定する。level_info_track_idに等しいtrack_IDを有するトラックは、ピクチャヘッダのNALユニット、例えばVVCベーストラック、を含むトラックであるべきである。num_active_tracksは、level_idcの値が提供されるトラックの数を指定する。
【0100】
11.5.1.4 サブピクチャマルチグループボックスのシンタックス
【表5】
【0101】
11.5.1.5 サブピクチャマルチグループのセマンティック。1に等しいlevel_is_static_flagは、0からnum_subgroup_ids-1まで、を含む範囲内のi全ての値について、iに等しいIDを有するサブグループの中の任意のnum_active_tracks[i]のセットが従うレベルが、現在のエンティティグループに含まれているサブピクチャトラックにおける全てのサンプルに対して静的であることを指定し、現在のSubpicMultipleGroupsBoxにおけるlevel_idcフィールドによって示される。0に等しいlevel_is_static_flagは、サンプルセットの特定のセットに対して、そうした組み合わせのレベルが、関連するサブレベル情報サンプルグループのサンプルグループエントリにおけるlevel_idcフィールドによって示されることを指定する。これは、level_info_track_idに等しいtrack_IDを有するトラック内にあり、そして、0に等しいsubpic_common_group_flag、および、現在のエンティティグループのEntityToGroupBoxにおけるgroup_IDに等しいsubpic_entity_group_idを有している。サンプルの特定のセットは、関連するサブピクチャレベル情報サンプルグループのメンバーである、サンプルのセットである。
【0102】
level_idcは、0からnum_subgroup_ids-1まで、を含む範囲内のi全ての値について、iに等しいIDを有するサブグループの中の任意のnum_active_tracks[i]の(選択)セット(の組み合わせ)が従うレベルを指定する。level_info_track_idは、関連するサブピクチャレベル情報サンプルグループを含むトラックを指定する。level_info_track_idに等しいtrack_IDを有するトラックは、ピクチャヘッダのNALユニットを含むトラック、例えばVVCベーストラックである。num_subgroup_idsは、それぞれが同じ値track_subgroup_id[i]で識別される、個別のサブグループの数を指定し、それぞれが、track_subgroup_id[i]の同じ値によって識別される。異なるサブグループは、track_subgroup_id[i]の異なる値によって識別される。track_subgroup_id[i]は、このエンティティグループにおけるi番目のトラックのサブグループIDを指定する。サブグループIDの値は、0からnum_subgroup_ids-1まで、を含む範囲内にある。num_active_tracks[i]は、iに等しいIDを有するサブグループの中トラック数を指定する。(これは、level_idcで説明されている。)
【0103】
図5は、ここにおいて開示される様々な技術が実装され得る例示的なビデオ処理システム500を示しているブロック図である。種々の実装は、システム500のコンポーネントの一部または全部を含んでよい。システム500は、ビデオコンテンツを受信するための入力502を含んでよい。ビデオコンテンツは、生で(raw)または非圧縮フォーマット、例えば、8または10ビットのマルチコンポーネントピクセル値で受信されてよく、または、圧縮またはエンコーディングされたフォーマットで受信されてもよい。入力502は、ネットワークインターフェイス、ペリフェラルバスインターフェイス、またはストレージインターフェイスを表すことができる。ネットワークインターフェイスの例は、イーサネット、受動光ネットワーク(PON)といった有線インターフェイス、および、Wi-Fiまたはセルラーインターフェイスといった無線インターフェイスを含む。
【0104】
システム500は、本文書において説明される種々のコーディングまたはエンコーディング方法を実装し得るコーディングコンポーネント504を含んでよい。コーディングコンポーネント504は、入力502からコーディングコンポーネント504の出力までのビデオの平均ビットレートを縮小することができ、ビデオのビットストリーム表現を生成する。従って、コーディング技術は、ときどき、ビデオ圧縮またはビデオトランスコーディング技術と呼ばれる。コーディングコンポーネント504の出力は、コンポーネント506によって表されるように、保管されるか、または、接続された通信を介して送信されてよい。入力502で受信されたビデオに係る保管され、または、通信されたビットストリーム(または、コード化された)表現は、ディスプレイインターフェイス510に送信される、ピクセル値または表示可能なビデオを生成するために、コンポーネント508によって使用されてよい。ビットストリーム表現からユーザが閲覧可能な(user-viewable)ビデオを生成するプロセスは、ときどき、ビデオ解凍(decompression)と呼ばれる。さらに、所定のビデオ処理操作は、「コーディング(“coding”)」操作またはツールと称されるが、コーディングツールまたは操作は、エンコーダで使用され、そして、コーディングの結果を反転する、対応するデコーディングツールまたは操作は、デコーダで実行されることが理解されるだろう。
【0105】
ペリフェラルバスインターフェイスまたはディスプレイインターフェイスの例は、ユニバーサルシリアルバス(USB)または高精細度マルチメディアインターフェイス(HDMI(登録商標))、もしくはディスプレイポート、などを含んでよい。ストレージインターフェイスの例は、SATA(serial advanced technology attachment)、PCI、IDEインターフェイス、などを含んでよい。本文書において説明される技術は、移動電話、ラップトップ、スマートフォン、または、デジタルデータ処理及び/又はビデオ表示を実行することができる他の装置といった、種々の電子装置において具体化することができる。
【0106】
図6は、ビデオ処理装置600のブロック図である。装置600は、ここにおいて説明される1つ以上の方法を実装するために使用され得る。装置600は、スマートフォン、タブレット、コンピュータ、モノのインターネット(IoT)受信器、等で実現することができる。装置600は、1つ以上のプロセッサ602、1つ以上のメモリ604、およびビデオ処理ハードウェア606を含み得る。プロセッサ602は、本文書に説明される1つ以上の方法を実装するように構成され得る。メモリ(複数のメモリ)604は、ここにおいて説明される方法および技術を実施するために使用されるデータおよびコードを保管するために使用され得る。ビデオ処理回路606は、ハードウェア回路において、本文書に説明されるいくつかの技術を実装するために使用することができ、部分的または完全にプロセッサ602、例えばグラフィックスプロセッサコア、に含まれてよい。
【0107】
図7は、ビデオ処理の例示的方法700のためのフローチャートである。本方法700は、ステップ702において、1つ以上のサブピクチャトラックに含まれるサブピクチャのセットについて1つ以上のレベルインジケータを決定するステップを含む。サブピクチャトラックは、サブピクチャエンティティグループに含まれている。サブピクチャエンティティグループは、グループボックスに対するエンティティにおいて記述され得る。サブピクチャのセットは、1つ以上のサンプルグループ登録の中で指定され得る、1つ以上のサンプルグループの一部であってよい。レベルインジケータは、サブピクチャのセットについて情報を搬送する1つ以上のサンプルグループ、または、サブピクチャエンティティグループを指定するデータ構造のうち少なくとも1つに含まれる。ステップ702でサブピクチャエンティティグループを指定するデータ構造は、グループボックスに対するエンティティであってよい。
【0108】
さらに、サブピクチャトラックは、サブピクチャエンティティグループに含まれてよい。サブピクチャエンティティグループは、1つ以上のトラックを含んでよく、そして、グループボックスに対するエンティティによって指定され得る。一つの例において、サンプルグループのサンプルエントリは、サブピクチャエンティティグループのグループ化タイプの指示を含み得る。別の例において、サンプルグループのグループ化タイプパラメータ(grouping_type_parameter)は、サブピクチャエンティティグループのグループ化タイプの表示を含み得る。いくつかの例において、ルールは、サブピクチャのための全てのグループボックスに対するサンプル(SampleToGroupBox)に、サブピクチャエンティティグループのグループ化タイプを示すgrouping_type_parameterを含むように、要求し得る。一つの例において、grouping_type_parameterの1ビットは、サブピクチャエンティティグループのグループ化タイプを示す、サブピクチャ共通グループフラグ(subpic_common_group_flag)である。一つの例において、サブピクチャエンティティグループに関連付けられたグループボックスに対するエンティティのグループ識別子は、サンプルグループのサンプルエンティティ内に含まれ得る。
【0109】
ステップ704において、レベルインジケータに基づいて、ビジュアルメディアデータとメディアデータファイルとの間の変換が実行される。方法700がエンコーダにおいて実行される場合、変換は、ビジュアルメディアデータに従ってメディアデータファイルを生成することを含む。方法700がデコーダにおいて実行される場合、変換は、ビジュアルメディアデータを獲得するためにメディアデータファイルを解析し、かつ、デコーディングすることを含む。
【0110】
方法700は、ビデオエンコーダ900、ビデオデコーダ1000、及び/又はエンコーダ1100といった、プロセッサ、および、命令を備える非一時的メモリを含むビデオデータ処理装置において実装され得ることに留意すべきである。そうした場合、命令は、プロセッサによって実行されると、プロセッサに方法700を実行させる。さらに、方法700は、ビデオコーディング装置による使用のためのコンピュータプログラム製品を含む非一時的コンピュータ読取り可能な媒体によって実行され得る。コンピュータプログラム製品は、プロセッサによって実行されると、方法700をビデオコーディング装置に実行させるように、非一時的コンピュータ読取り可能な媒体に保管されたコンピュータ実行可能命令を含む。
【0111】
図8は、本開示の技術を利用することができる例示的なビデオコーディングシステム800を示しているブロック図である。
図8に示されるように、ビデオコーディングシステム800は、送信元デバイス(source device)810および宛先デバイス(destination device)820を含んでよい。送信元デバイス810は、エンコーディングされたビデオデータを生成し、ビデオコーディング装置として称されてよい。宛先デバイス820は、送信元デバイス810によって生成されたエンコーディングされたビデオデータをデコーディングすることができ、ビデオデコーディング装置として称されてよい。
【0112】
送信元デバイス810は、ビデオソース812、ビデオエンコーダ814、および入力/出力(I/O)インターフェイス816を含むことができる。ビデオソース812は、ビデオキャプチャ装置といったソース、ビデオコンテンツ・プロバイダからビデオデータを受信するためのインターフェイス、及び/又は、ビデオデータを生成するためのコンピュータグラフィックスシステム、または、そのようなソースの組み合わせを含んでよい。ビデオデータは、1つ以上のピクチャを含んでよい。ビデオエンコーダ814は、ビデオソース812からのビデオデータをエンコーディングしてビットストリームを生成する。ビットストリームは、ビデオデータのコード化表現を形成するビットのシーケンスを含んでよい。ビットストリームは、コード化されたピクチャおよび関連するデータを含んでよい。コード化ピクチャは、ピクチャのコード化表現である。関連するデータは、シーケンスパラメータセット、映像パラメータセット、および、他のシンタックス構造を含んでよい。I/Oインターフェイス816は、変調器/復調器(モデム)及び/又は送信器を含んでよい。エンコーディングされたビデオデータは、ネットワーク830を通じてI/Oインターフェイス816を介して宛先デバイス820に対して直接的に送信され得る。エンコーディングされたビデオデータは、また、宛先デバイス820によるアクセスのためにストレージ媒体/サーバ840上にも保管され得る。
【0113】
宛先デバイス820は、I/Oインターフェイス826、ビデオデコーダ824、および、ディスプレイ装置822を含んでよい。I/Oインターフェイス826は、受信器及び/又はモデムを含んでよい。I/Oインターフェイス826は、送信元デバイス810またはストレージ媒体/サーバ840からエンコーディングされたビデオデータを獲得することができる。ビデオデコーダ824は、エンコーディングされたビデオデータをデコーディングすることができる。ディスプレイ装置822は、デコーディングされたビデオデータをユーザに表示することができる。ディスプレイ装置822は、宛先デバイス820と一体化されてよく、または、外部ディスプレイ装置とインターフェイスするように構成された宛先デバイス820の外部にあってよい。
【0114】
ビデオエンコーダ814及びビデオデコーダ824は、高効率ビデオコーディング(HEVC)標準、バーサタイルビデオコーディング(VVM)標準、および、その他の現在の、及び/又は、さらなる標準といった、ビデオ圧縮標準に従って動作し得る。
【0115】
図9は、ビデオエンコーダ900の一つの例を示しているブロック図であり、それは、
図8に示されるシステム800内のビデオエンコーダ814であってよい。ビデオエンコーダ900は、本開示の技術のいずれかまたは全てを実行するように構成することができる。
図9の例において、ビデオエンコーダ900は、複数の機能コンポーネントを含む。本開示に記載される技術は、ビデオエンコーダ900の種々のコンポーネント間で共有され得る。いくつかの例において、プロセッサは、本開示に記載される技術のいずれかまたは全てを実行するように構成されてもよい。
【0116】
ビデオエンコーダ900の機能コンポーネントは、パーティション(partition)ユニット901、モード選択ユニット903、動作推定ユニット904、動作補償ユニット905、イントラ予測ユニット906、残差(residual)生成ユニット907、変換ユニット908、量子化ユニット909、逆量子化ユニット910、逆変換ユニット911、再構成ユニット912、バッファ913、および、エントロピー符号化ユニット914を含んでよい。
【0117】
他の例において、ビデオエンコーダ900は、より多くの、より少ない、または、異なる機能コンポーネントを含み得る。一つの例では、予測ユニット902は、イントラブロックコピー(IBC)ユニットを含み得る。IBCユニットは、IBCモードで予測を実行することができ、そこでは、少なくとも1つの参照ピクチャは、現在ビデオブロックが配置されているピクチャである。
【0118】
さらに、動作推定ユニット904や動作補償ユニット905といった、いくつかのコンポーネントは、高度に統合されてもよいが、説明のために
図9の例では別々に示されている。
【0119】
パーティションユニット901は、画像を1つ以上のビデオブロックへと分割することができる。ビデオエンコーダ900およびビデオデコーダ1000は、様々なビデオブロックサイズをサポートすることができる。
【0120】
モード選択ユニット903は、例えば、エラー結果に基づいて、コード化モードのうちの1つ、イントラまたはインター、を選択することができ、そして、結果として生じるイントラまたはインターコード化ブロックを、残差ブロックデータを生成するために残差生成ユニット907に、かつ、参照ピクチャとして使用するためにコード化ブロックを再構成するように再構成ユニット912に提供することができる。いくつかの例では、モード選択ユニット903は、結合イントラおよびインター予測(CIIP)モードを選択することができ、そこでは、予測が、インター予測信号およびイントラ予測信号に基づいている。モード選択ユニット903は、また、インター予測の場合に、ブロックに対する運動ベクトルの解像度(例えば、サブピクセルまたは整数ピクセル精度)を選択することもできる。
【0121】
現在ビデオブロックについてインター予測を実行するために、動作推定ユニット904は、バッファ913から現在ビデオブロックへの1つ以上の参照フレームを比較することによって、現在ビデオブロックの動作情報を生成することができる。動作補償ユニット905は、現在ビデオブロックに関連する画像以外のバッファ913からの画像の動作情報及びデコーディングされたサンプルに基づいて、現在ビデオブロックについて予測されるビデオブロックを決定することができる。
【0122】
動作推定ユニット904および動作補償ユニット905は、例えば、現在ビデオブロックがIスライス内にあるか、Pスライス内にあるか、または、Bスライス内にあるかによって、現在ビデオブロックに対して異なる動作を実行することができる。
【0123】
いくつかの例において、動作推定ユニット904は、現在ビデオブロックに対して単一方向の予測を実行することができ、動作推定ユニット904は、現在ビデオブロックに対する参照ビデオブロックについてリスト0またはリスト1の参照ピクチャを検索することができる。動作推定ユニット904は、次いで、リスト0またはリスト1内の参照ピクチャを示している基準インデックスを生成することができる。参照ビデオブロック、および、現在ビデオブロックと参照ビデオブロックとの間の空間的変位を示す動きベクトルを含むものである。動作推定ユニット904は、現在ビデオブロックの動作情報として、基準インデックス、予測方向インジケータ、及び動きベクトルを出力することができる。動作補償ユニット905は、現在ビデオブロックの動作情報によって示される参照ビデオブロックに基づいて、現在ブロックの予測ビデオブロックを生成することができる。
【0124】
他の例において、動作推定ユニット904は、現在ビデオブロックについて双方向予測を実行することができ、動作推定ユニット904は、リスト0内の参照ピクチャを現在ビデオブロックについての参照ビデオブロックについて検索することができ、リスト1内の参照ピクチャを現在ビデオブロックについての別の参照ビデオブロックについても検索することができる。動作推定ユニット904は、次いで、リスト0およびリスト1内の参照ピクチャを示す基準インデックスを生成することができる。参照ビデオブロック、および、現在ビデオブロックと参照ビデオブロックとの間の空間的変位を示す動きベクトルを含んでいるものである。動作推定ユニット904は、現在ビデオブロックの動作情報として、現在ビデオブロックの基準インデックス及び動きベクトルを出力することができる。動作補償ユニット905は、現在ビデオブロックの動作情報によって示される参照ビデオブロックに基づいて、現在ビデオブロックの予測ビデオブロックを生成することができる。
【0125】
いくつかの例において、動作推定ユニット904は、デコーダの復号処理のための動作情報の全セットを出力することができる。いくつかの例において、動作推定ユニット904は、現在のビデオに対する完全なセットの動作情報を出力しないことがある。むしろ、動作推定ユニット904は、他のビデオブロックの動作情報を参照して現在ビデオブロックの動作情報を信号化することができる。例えば、動作推定ユニット904は、現在ビデオブロックの動作情報が、隣接するビデオブロックの動作情報と十分に類似していると判断することができる。
【0126】
一つの例において、動作推定ユニット904は、現在ビデオブロックに関連するシンタックス構造において、現在ビデオブロックが別のビデオブロックと同じ動作情報を有することをビデオデコーダ1000に対して示す値を示すことができる。
【0127】
別の例において、動作推定ユニット904は、現在ビデオブロックに関連するシンタックス構造において、別のビデオブロックおよび動きベクトル差(MVD)を識別することができる。動きベクトル差は、現在ビデオブロックの動きベクトルと、示されたビデオブロックの動きベクトルとの間の差を示している。ビデオデコーダ300は、示されたビデオブロックの動きベクトル、および、動きベクトル差を使用して、現在ビデオブロックの動きベクトルを決定することができる。
【0128】
上述のように、ビデオエンコーダ900は、運動ベクトルを予測的に信号化することができる。ビデオエンコーダ900によって実施され得る、予測信号化技術の2つの例は、高度な動きベクトル予測(AMVP)およびマージモード信号化を含む。
【0129】
イントラ予測ユニット906は、現在ビデオブロックに対してイントラ予測を実行することができる。イントラ予測ユニット906が現在ビデオブロックに対してイントラ予測を行う場合、イントラ予測ユニット906は、同じピクチャ内の他のビデオブロックのデコーディングされたサンプルに基づいて、現在ビデオブロックに対する予測データを生成することができる。現在ビデオブロックに対する予測データは、予測されるビデオブロックおよび種々のシンタックス要素を含んでよい。
【0130】
残差生成ユニット907は、現在ビデオブロックから現在ビデオブロックの予測ビデオブロックを差し引くことによって、現在ビデオブロックの残差データを生成することができる。現在ビデオブロックの残差データは、現在ビデオブロック内のサンプルの異なるサンプル成分に対応する、残差ビデオブロックを含んでよい。
【0131】
他の例では、例えば、スキップモードにおいて、現在ビデオブロックについて現在ビデオブロックのための残差データが存在しないことがあり、残差生成ユニット907は減算動作を実行しないことがある。
【0132】
変換処理ユニット908は、現在ビデオブロックに関連する残差ビデオブロックに対して1つ以上の変換を適用することによって、現在ビデオブロックのための1つ以上の変換係数ビデオブロックを生成することができる。
【0133】
変換処理ユニット908が現在ビデオブロックに関連する変換係数ビデオブロックを生成した後で、量子化ユニット909は、現在ビデオブロックに関連する1つ以上の量子化パラメータ(QP)値に基づいて、現在ビデオブロックに関連する変換係数ビデオブロックを量子化することができる。
【0134】
逆量子化ユニット910および逆変換ユニット911は、変換係数ビデオブロックから残差ビデオブロックを再構成するために、変換係数ビデオブロックに対して逆量子化および逆変換を、それぞれに、適用することができる。再構成ユニット912は、バッファ913内に保管するための現在ブロックに関連する再構成ビデオブロックを生成するために、予測ユニット902によって生成された1つ以上の予測ビデオブロックからの対応するサンプルに対して、再構成残差ビデオブロックを追加することができる。
【0135】
再構成ユニット912がビデオブロックを再構成した後で、ループフィルタリング操作を実施して、ビデオブロック内のビデオブロッキングのアーチファクトを削減することができる。
【0136】
エントロピー符号化ユニット914は、ビデオエンコーダ900の他の機能コンポーネントからデータを受信することができる。エントロピー符号化ユニット914がデータを受信すると、エントロピー符号化ユニット914は、エントロピー符号化データを生成し、かつ、エントロピー符号化データを含むビットストリームを出力するために、1つ以上のエントロピー符号化動作を実行することができる。
【0137】
図10は、
図8に示すシステム800内のビデオデコーダ824であり得る、ビデオデコーダ1000の一つの例を示しているブロック図である。ビデオデコーダ1000は、本開示の技術のいずれか又は全てを実行するように構成することができる。
図10の例では、ビデオデコーダ1000は、複数の機能コンポーネントを含んでいる。本開示で説明される技術は、ビデオデコーダ1000の種々のコンポーネント間で共有され得る。いくつかの例において、プロセッサは、本開示で説明される技術のいずれか又は全てを実行するように構成されてよい。
【0138】
図10の例において、ビデオデコーダ1000は、エントロピー復号化ユニット1001、動作補償ユニット1002、イントラ予測ユニット1003、逆量子化ユニット1004、逆変換ユニット1005、再構成ユニット1006、バッファ1007を含んでいる。ビデオデコーダ1000は、いくつかの例において、ビデオエンコーダ900(
図9)に関して説明したコーディングパスと概ね相対する(reciprocal)デコーディングパスを実行することができる。
【0139】
エントロピー復号化ユニット1001は、エンコーディングされたビットストリームを検索することができる。エンコーディングされたビットストリームは、エントロピーエンコーディングされたビデオデータ(例えば、ビデオデータのコード化ブロック)を含み得る。エントロピー復号化ユニット1001は、エントロピーエンコーディングされたビデオデータを復号することができ、そして、エントロピー復号化ビデオデータから、動作補償ユニット1002は、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス、および、他の動作情報を含んでいる動作情報を決定することができる。動作補償ユニット1002は、例えば、AMVP及びマージモードを実行することによって、そうした情報を決定することができる。
【0140】
動作補償ユニット1002は、動作補償ブロックを生成することができ、補償フィルタに基づいて補間をおそらく実行する。サブピクセル精度で使用される補間フィルタのための識別子は、シンタックス要素に含まれてよい。
【0141】
動作補償ユニット1002は、ビデオブロックのエンコーディングの最中にビデオエンコーダ900によって使用される補間フィルタを使用して、参照ブロックのサブ整数ピクセルに対する補間値を計算することができる。動作補償ユニット1002は、受信されたシンタックス情報に従って、ビデオエンコーダ900によって使用される補間フィルタを決定し、かつ、予測ブロックを生成するために補間フィルタを使用することができる。
【0142】
動作補償ユニット1002は、エンコーディングされたビデオシーケンスのフレーム及び/又はスライスをエンコーディングするために使用されるブロックのサイズ、エンコーディングされたビデオシーケンスの画像の各マクロブロックがどのように分割されるかを記述する分割情報、各分割がどのようにエンコーディングされるかを示しているモード、各相互コード化ブロックに対する1つ以上の参照フレーム(および参照フレームリスト)、および、エンコーディングされたビデオシーケンスをデコーディングするための他の情報を決定するために、シンタックス情報のいくつかを使用することができる。
【0143】
イントラ予測ユニット1003は、例えば、ビットストリームで受信されたイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成することができる。逆量子化ユニット1004は、ビットストリーム内で提供され、エントロピー復号化ユニット1001によってデコーディングされる量子化ビデオブロック係数を逆量子化、すなわち、脱量子化(de-quantize)する。逆変換ユニット1005は、逆変換を適用する。
【0144】
再構成ユニット1006は、残差ブロックを、動作補償ユニット1002またはイントラ予測ユニット1003によって生成された対応する予測ブロックと合算して、デコーディングされたブロックを形成することができる。所望であれば、ブロック性(blockiness)アーチファクトを除去するために、デコーディングされたブロックをフィルタリングするようにデブロックフィルタも、また、適用されてよい。デコーディングされたビデオブロックは、次いで、バッファ1007に保管され、バッファ1007は、後続の動作補償/イントラ予測のための参照ブロックを提供し、そして、ディスプレイ装置上に提示するためのデコーディングされたビデオも、また、生成する。
【0145】
図11は、一つの例示的なエンコーダ1100に係る概略図である。エンコーダ1100は、VVCの技術を実装するのに適している。エンコーダ1100は、3つのインループフィルタ、すなわち、デブロッキングフィルタ(DF)1102、サンプル適応オフセット(SAO)1104、および適応ループフィルタ(ALF)1106を含む。事前に定義されたフィルタを使用する、DF 1102とは異なり、SAO 1104およびALF 1106は、現在ピクチャのオリジナルのサンプルを利用し、オフセットおよびフィルタ係数を信号化するコード化されたサイドインフォメーションをもちいて、それぞれに、オフセットを加えることにより、および、有限インパルス応答(FIR)フィルタを適用することによって、オリジナルのサンプルと再構成されたサンプルとの間の平均二乗誤差を減少させる。ALF 1106は、各ピクチャの最終処理ステージに配置されており、そして、以前のステージによって生成されたアーチファクトを捕捉し、かつ、修復しようとするツールとしてみなされ得る。
【0146】
エンコーダ1100は、さらに、イントラ予測コンポーネント1108、および、入力ビデオを受信するように構成された動き推定/補償(ME/MC)コンポーネント1110を含む。イントラ予測コンポーネント1108は、イントラ予測を実行するように構成されており、一方で、ME/MCコンポーネント1110は、インター予測を実行するために参照ピクチャバッファ1112から獲得された参照ピクチャを利用するように構成されている。インター予測またはイントラ予測からの残差ブロックは、量子化された残差変換係数を生成するために、変換(T)コンポーネント1114および量子化(Q)コンポーネント1116へと供給され、これらは、エントロピー符号化コンポーネント1118へと供給される。エントロピー符号化コンポーネント1118は、予測結果および量子化された変換係数をエントロピー符号化し、かつ、それをビデオデコーダ(図示なし)に向けて送信する。量子化コンポーネント1116から出力される量子化コンポーネントは、逆量子化(IQ)コンポーネント1120、逆変換コンポーネント1122、および再構成(REC)コンポーネント1124へと供給されてよい。RECコンポーネント1124は、これらのピクチャが参照ピクチャバッファ1112内に保管される以前に、フィルタリングのためにDF 1102、SAO 1104、およびALF 1106に対してピクチャを出力することができる。
【0147】
いくつかの実施例で好まれるソリューションのリストを、次に示す。
【0148】
以下のソリューションは、ここにおいて説明される技術の実施例を示している。
【0149】
1.ビジュアル媒体処理方法(例えば、
図7に示された方法700)であって、ルールに従って、ビジュアル媒体情報と、ビジュアル媒体情報のデジタル表現との間で変換を実行することを含み、ここで、デジタル表現は、1つ以上のサブピクチャエンティティグループへと論理的にグループ化された多数のサブピクチャトラックセットを含み、かつ、ここで、前記ルールは、前記セットに関連する情報が、前記デジタル表現において1つ以上のサンプルグループに含まれることを規定する、方法。
【0150】
2.前記情報は、前記セット内の前記サブピクチャそれぞれのコーディングレベルを示すレベルインジケータを含む、ソリューション1の方法。
【0151】
3.前記セットに関する情報が、グループボックス入力に含まれる、ソリューション1~2のいずれかの方法。
【0152】
4.前記セットに関する情報が、サンプルグループ登録に含まれる、ソリューション1~2のいずれかの方法。
【0153】
5.前記ルールが、1つ以上のサンプルグループを含むトラックのトラック識別子が、1つ以上のサブピクチャエンティティグループのグループボックスに含まれることを規定する、ソリューション1~4のいずれかの方法。
【0154】
6.前記トラック識別子が、レベル情報トラック識別子(level_info_track_id)フィールドに含まれる、ソリューション5の方法。
【0155】
7.1つ以上のサンプルグループが、単一のサンプルグループを含み、ここで、単一のサンプルグループは、サブピクチャレベル情報を示すために専用である、ソリューション1~6のいずれかの方法。
【0156】
8.前記情報が、単一ビットフラグである、ソリューション7の方法。
【0157】
9.メディアデータ処理方法であって、ビジュアル媒体情報のデジタル表現を獲得するステップであり、ここで、前記デジタル表現が、ソリューション1~8のいずれかの方法に従って生成される、ステップ、および、前記デジタル表現をストリーミングするステップ、を含む、方法。
【0158】
10.メディアデータ処理方法であって、ビジュアル媒体情報のデジタル表現を受信するステップであり、ここで、前記デジタル表現が、ソリューション1~8のいずれかの方法に従って生成される、ステップ、および、前記デジタル表現から前記ビジュアル媒体情報を生成するステップ、を含む、方法。
【0159】
11.前記変換が、前記ビジュアルメディアデータのビットストリーム表現を生成するステップ、および、フォーマットルールに従って、前記ファイルにビットストリーム表現を保管ステップ、を含む、ソリューション1~10のいずれかの方法。
【0160】
12.前記変換が、前記ビジュアルメディアデータを回復するために、前記フォーマットルールに従って、前記ファイルを構文解析するステップを含む、ソリューション1~10のいずれかの方法。
【0161】
13.ソリューション1~12の1つ以上に記載の方法を実施するように構成されたプロセッサを含む、ビデオデコーディング装置。
【0162】
14.ソリューション1~12の1つ以上に記載の方法を実装するように構成されたプロセッサを含む、ビデオコーディング装置。
【0163】
15.保管されたコンピュータコードを有するコンピュータプログラム製品であって、前記コードは、プロセッサによって実行されると、プロセッサに、ソリューション1~12のいずれか方法を実施させる、コンピュータプログラム製品。
【0164】
16.ビットストリーム表現が、ソリューション1~12のいずれかに従って生成されたファイルフォーマットに準拠している、コンピュータ読取り可能な媒体。
【0165】
17.本文書において説明された方法、装置、またはシステム。
【0166】
ここにおいて説明されたソリューションにおいて、エンコーダは、フォーマットルールに従ってコード化表現を生成することによってフォーマットルールに適合することができる。ここにおいて説明されたソリューションにおいて、デコーダは、デコーディングされたビデオを生成するためのフォーマットルールに従って、シンタックス要素の存在及び不存在の知識を用いて、コード化表現におけるシンタックス要素を解析するためにフォーマットルールを使用することができる。
【0167】
本文書において、用語「ビデオ処理(“video processing”)」は、ビデオエンコーディング、ビデオデコーディング、ビデオ圧縮またはビデオ解凍を指すことができる。例えば、ビデオ圧縮アルゴリズムは、ビデオのピクセル表現から対応するビットストリーム表現へ、または、その逆への変換の最中に適用され得る。現在ビデオブロックのビットストリーム表現は、例えば、シンタックスによって定義されるように、ビットストリーム内の異なる場所に共配置されるか、または拡散されるビットに対応し得る。例えば、マクロブロックは、変換され、かつ、コード化されたエラー残差値の観点から、また、ビットストリーム内のヘッダおよび他のフィールド内のビットを使用して、エンコーディングされ得る。さらに、変換の最中に、デコーダは、上述のソリューションで説明されるように、決定に基づいて、いくつかのフィールドが存在し、または、不存在であり得ることを知って、ビットストリームを解析することができる。同様に、エンコーダは、所定のシンタックス構文フィールドが含まれているか、または、含まれないかを決定し、そして、それに応じて、コード化表現からシンタックスフィールドを含めるか、または、除外することによって、コード化表現を生成することができる。
【0168】
この文書において説明された、開示され、かつ、他のソリューション、実施例、実施形態、モジュール、および機能動作は、デジタル電子回路において、または、この文書で開示された構造及びそれらの構造的等価物を含むコンピュータソフトウェア、ファームウェア、またはハードウェアにおいて、もしくは、それらの1つ以上の組み合わせにおいて実現され得る。開示され、かつ、他の実施形態は、1つ以上のコンピュータプログラム製品、すなわち、データ処理装置による実行のため、または、その動作を制御するために、コンピュータ読取り可能な媒体においてエンコーディングされたコンピュータプログラム命令の1つ以上のモジュールとして実装され得る。コンピュータ読取り可能な媒体は、機械読取り可能なストレージ装置、機械読取り可能なストレージ基板、メモリ装置、機械読取り可能な伝搬信号に影響を与える事項の構成、または1つ以上のそれらの組み合わせであり得る。用語「データ処理装置(“data processing apparatus”)」は、例として、プログラマブルプロセッサ、コンピュータ、もしくは、複数のプロセッサまたはコンピュータを含む、データを処理するための全ての装置、デバイス、および機械を包含する。装置は、ハードウェアに加えて、問題のコンピュータプログラムのための実行環境を生成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、または、それらの1つ以上の組み合わせを構成するコード、を含むことができる。伝搬される信号は、人工的に生成された信号、例えば、適切な受信器装置に対する送信のための情報をエンコーディングするために生成される、機械生成電気信号、光信号、または電磁信号である。
【0169】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られるもの)は、コンパイルまたは解釈された言語を含む、任意の形態のプログラミング言語で書くことができる。そして、それは、スタンドアロンプログラムとして、または、コンピューティング環境での使用に適したモジュール、コンポーネント、サブルーチン、または他のユニットとして、を含む、任意の形態で展開することができる。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応するものではない。プログラムは、他のプログラムまたはデータを保持するファイルの一部分(例えば、マークアップ言語文書に保管される1つ以上のスクリプト)、問題のプログラム専用の単一ファイル、または、複数の調整されたファイル(例えば、1つ以上のモジュール、サブプログラム、またはコードの一部分を保管するファイル)に保管することができる。コンピュータプログラムは、1つのコンピュータまたは1つのサイトに配置されるか、または、複数のサイトに分散され、通信ネットワークによって相互接続される複数のコンピュータ上で実行されるように展開され得る。
【0170】
この文書において説明されるプロセスおよび論理フローは、入力データ上で動作し、出力を生成することによって機能を実行するために、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実行することができる。プロセスおよび論理フローは、また、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)のような特殊目的論理回路によって実行することができ、装置も、また、実行することができる。
【0171】
コンピュータプログラムの実行に適したプロセッサは、例えば、汎用および専用マイクロプロセッサの両方、および、任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般的に、プロセッサは、読出し専用メモリまたはランダムアクセスメモリ、またはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するためのプロセッサと、命令およびデータを保管するための1つ以上のメモリデバイスである。一般的に、コンピュータは、また、データを保管するための1つ以上の大容量ストレージ装置、例えば、磁気ディスク、光磁気ディスク、または光ディスクからデータを受信し、または、データを転送するために動作可能に結合される。しかしながら、コンピュータは、そのような装置を有する必要はない。コンピュータプログラム命令及びデータを保管するのに適したコンピュータ読取り可能な媒体は、あらゆる形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。例として、半導体メモリデバイス、例えば、消去可能プログラマブル読出し専用メモリ(EPROM)、電気的消去可能プログラマブル読出し専用メモリ(EEPROM)、およびフラッシュメモリデバイス、磁気ディスク、例えば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、例えば、コンパクトディスク読出し専用メモリ(CD ROM)およびデジタル多用途ディスク読出し専用メモリ(DVD-ROM)、を含んでいる。プロセッサおよびメモリは、特殊目的論理回路によって補足されるか、または内蔵され得る。
【0172】
この特許文献には多くの詳細が含まれているが、これらは、いずれかの発明の範囲または特許請求されることができるものを限定するものではなく、特定の発明の特定の実施形態に特有な特徴の説明として解釈されるべきである。別個の実施形態のコンテキストでこの特許文献に記載されている特定の特徴は、単一の実施形態で組み合わせて実施することもできる。逆に、単一の実施形態のコンテキストにおいて説明される種々の特徴は、複数の実施形態において別々に、または、任意の適切なサブコンビネーションで実施することもできる。さらに、特徴は、特定の組み合わせにおいて作用するものとして上述され、最初にそのように請求されてよいが、請求された組み合わせからの1つ以上の特徴は、場合によって、組み合わせから切り出されてよく、請求された組み合わせは、サブコンビネーション又はサブコンビネーションのバリエーションに向けられてよい。
【0173】
同様に、図面には特定の順序で動作が示されているが、これは、所望の結果を達成するために、このような動作を特定の順序で、または、連続的な順序で実行すること、もしくは、例示された全ての動作を実行することを要求するものとして理解されるべきではない。さらに、この特許文献において説明されている実施形態における種々のシステムコンポーネントの分離は、そうした分離を全ての実施形態において必要とするものとして理解されるべきではない。
【0174】
少数の実施形態および実施例のみが記載されており、この特許文献に記載され、かつ、説明されている内容に基づいて、他の実施形態、拡張、およびバリエーションが行われ得る。
【0175】
第1コンポーネントは、第1コンポーネントと第2コンポーネントとの間のライン、トレース、または別の媒体を除いて、介在するコンポーネントが存在しない場合、第2コンポーネントに対して直接的に結合されている。第1コンポーネントは、第1コンポーネントと第2コンポーネントとの間にライン、トレース、または他の媒体以外の介在するコンポーネントが存在する場合、間接的に第2コンポーネントに結合されている。用語「結合(“coupled”)」およびその変形は、直接的な結合および間接的な結合の両方を含む。用語「約(“about”)」の使用は、特に明記しない限り、後続の数字の±10%を含む範囲を意味する。
【0176】
本開示においていくつかの実施形態が提供されているが、開示されたシステムおよび方法は、本開示の精神または範囲から逸脱することなく、多くの他の特定の形態で実施することができることが理解されるべきである。本実施例は、例示的なものであり、かつ、限定的なものではないと考えられるものあり、そして、その意図は、ここにおいて与えられる詳細に限定されるものではない。例えば、種々の要素またはコンポーネントは、別のシステムにおいて組み合わされ、または、統合されてよく、もしくは、所定の機能が省略され、または、実施されなくてよい。
【0177】
加えて、様々な実施形態において個別または別個に記載および説明された技術、システム、サブシステム、および方法は、本開示の範囲から逸脱することなく、他のシステム、モジュール、技術、または方法と組み合わされ、または、統合され得る。結合されたように示され、または、説明された他のアイテムは、直接的に接続されてよく、または、間接的に接続されてよく、もしくは、電気的、機械的、または他の方法で、いくつかのインターフェイス、デバイス、または中間コンポーネントを介して通信している。変更、置換、および改変の他の例は、当業者によって確認可能であり、そして、ここにおいて開示された精神および範囲から逸脱することなく行なわれ得る。
【外国語明細書】