(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-25
(54)【発明の名称】EOSサンプルグループに基づくメディアファイル生成/受信方法及び装置、並びにメディアファイル伝送方法
(51)【国際特許分類】
H04N 19/70 20140101AFI20240315BHJP
H04N 21/438 20110101ALI20240315BHJP
【FI】
H04N19/70
H04N21/438
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023562298
(86)(22)【出願日】2022-04-19
(85)【翻訳文提出日】2023-10-10
(86)【国際出願番号】 KR2022005605
(87)【国際公開番号】W WO2022225306
(87)【国際公開日】2022-10-27
(32)【優先日】2021-04-19
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-04-26
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】502032105
【氏名又は名称】エルジー エレクトロニクス インコーポレイティド
【氏名又は名称原語表記】LG ELECTRONICS INC.
【住所又は居所原語表記】128, Yeoui-daero, Yeongdeungpo-gu, 07336 Seoul,Republic of Korea
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100165191
【氏名又は名称】河合 章
(74)【代理人】
【識別番号】100114018
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100159259
【氏名又は名称】竹本 実
(72)【発明者】
【氏名】ヘンドリー ヘンドリー
【テーマコード(参考)】
5C159
5C164
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MC11
5C159ME01
5C159PP04
5C159RC11
5C159UA02
5C159UA05
5C159UA16
5C164GA03
5C164SC01S
5C164UB23P
5C164UC21S
(57)【要約】
EOSサンプルグループに基づくメディアファイル生成/受信方法及び装置、並びにメディアファイルを伝送する方法が提供される。本開示によるメディアファイル受信方法は、メディアファイルから一つ以上のトラック及びサンプルグループを取得するステップと、前記トラック内のサンプル及び前記サンプルグループに基づいてアクセスユニットを復元するステップと、を含み、前記サンプルグループは、前記アクセスユニットの属するビデオデータのEOS(end of sequence)情報を含む第1サンプルグループを含み、前記第1サンプルグループは、一つ以上のEOS NALユニット、及び前記EOS NALユニットの数に関する第1シンタックス要素を含むことができる。
【選択図】
図15
【特許請求の範囲】
【請求項1】
メディアファイル受信装置によって行われるメディアファイル受信方法であって、
メディアファイルから一つ以上のトラック及びサンプルグループを取得するステップと、
前記トラック内のサンプル及び前記サンプルグループに基づいて、アクセスユニットを復元するステップと、を含み、
前記サンプルグループは、前記アクセスユニットの属するビデオデータのEOS(end of sequence)情報を含む第1サンプルグループを含み、
前記第1サンプルグループは、一つ以上のEOS NALユニット、及び前記EOS NALユニットの数に関する第1シンタックス要素を含む、メディアファイル受信方法。
【請求項2】
前記第1シンタックス要素に1を加えた値は、前記EOS NALユニットの数を示す、請求項1に記載のメディアファイル受信方法。
【請求項3】
前記EOS NALユニットは、前記第1シンタックス要素に基づいて制御されるループ内でリストされる、請求項1に記載のメディアファイル受信方法。
【請求項4】
前記EOS NALユニットの最大インデックス値は、前記第1シンタックス要素の値と同じである、請求項1に記載のメディアファイル受信方法。
【請求項5】
前記トラック内のサンプルが前記第1サンプルグループに属することに基づいて、前記EOS NALユニットは、前記アクセスユニット内で所定の位置に配置される、請求項1に記載のメディアファイル受信方法。
【請求項6】
前記所定の位置は、前記アクセスユニット内で、EOB(end of bitstream)NALユニットを除く前記サンプルの全てのNALユニットの次の位置である、請求項5に記載のメディアファイル受信方法。
【請求項7】
メモリ及び少なくとも一つのプロセッサを含むメディアファイル受信装置であって、
前記少なくとも一つのプロセッサは、
メディアファイルから一つ以上のトラック及びサンプルグループを取得し、
前記トラック内のサンプル及び前記サンプルグループに基づいて、アクセスユニットを復元し、
前記サンプルグループは、前記アクセスユニットの属するビデオデータのEOS(end of sequence)情報を含む第1サンプルグループを含み、
前記第1サンプルグループは、一つ以上のEOS NALユニット、及び前記EOS NALユニットの数に関する第1シンタックス要素を含む、メディアファイル受信装置。
【請求項8】
メディアファイル生成装置によって行われるメディアファイル生成方法であって、
アクセスユニットを含むビデオデータを符号化するステップと、
前記符号化されたビデオデータのEOS(end of sequence)情報を含む第1サンプルグループを生成するステップと、
前記符号化されたビデオデータ及び前記第1サンプルグループに基づいて、メディアファイルを生成するステップと、を含み、
前記第1サンプルグループは、一つ以上のEOS NALユニット、及び前記EOS NALユニットの数に関する第1シンタックス要素を含む、メディアファイル生成方法。
【請求項9】
前記第1シンタックス要素に1を加えた値は、前記EOS NALユニットの数を示す、請求項8に記載のメディアファイル生成方法。
【請求項10】
前記EOS NALユニットは、前記第1シンタックス要素に基づいて制御されるループ内でリストされる、請求項8に記載のメディアファイル生成方法。
【請求項11】
前記EOS NALユニットの最大インデックス値は、前記第1シンタックス要素の値と同じである、請求項8に記載のメディアファイル生成方法。
【請求項12】
前記ビデオデータのサンプルが前記第1サンプルグループに属することに基づいて、前記EOS NALユニットは、前記アクセスユニット内で所定の位置に配置される、請求項8に記載のメディアファイル生成方法。
【請求項13】
前記所定の位置は、前記アクセスユニット内で、EOB(end of bitstream)NALユニットを除く前記サンプルの全てのNALユニットの次の位置である、請求項12に記載のメディアファイル生成方法。
【請求項14】
請求項8に記載のメディアファイル生成方法によって生成されたメディアファイルを伝送する方法。
【請求項15】
メモリ及び少なくとも一つのプロセッサを含むメディアファイル生成装置であって、
前記少なくとも一つのプロセッサは、
アクセスユニットを含むビデオデータを符号化し、
前記符号化されたビデオデータのEOS(end of sequence)情報を含む第1サンプルグループを生成し、
前記符号化されたビデオデータ及び前記第1サンプルグループに基づいてメディアファイルを生成し、
前記第1サンプルグループは、一つ以上のEOS NALユニット及び前記EOS NALユニットの数に関する第1シンタックス要素を含む、メディアファイル生成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、EOSサンプルグループに基づくメディアファイル生成/受信方法及び装置に関し、より詳細には、複数のEOS NALユニットを含むEOSサンプルグループに基づくメディアファイル生成/受信方法及び装置、並びに本開示のメディアファイル生成方法/装置によって生成されたメディアファイルを伝送する方法に関する。
【背景技術】
【0002】
最近、360°画像などの高解像度、高品質の画像に対する需要が増加している。画像の解像度や品質が高まるにつれて、ファイル容量やフレーム率が増加するようになり、保存コスト及び伝送コストの増加が不可避である。また、スマートフォンやタブレットPCなどのモバイル機器が大衆化されるにつれて、通信網基盤のマルチメディアサービスに対する需要が急増している。しかし、マルチメディアサービスのためのハードウェア及びネットワーク資源は制限的であるという問題がある。
【0003】
これにより、画像データをより効果的に保存及び伝送するための高効率の画像圧縮及びファイル処理技術が要求される。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、EOSサンプルグループに基づくメディアファイル生成/受信方法及び装置を提供することを目的とする。
【0005】
また、本開示は、複数のEOS NALユニットを含むEOSサンプルグループに基づくメディアファイル生成/受信方法及び装置を提供することを目的とする。
【0006】
また、本開示は、EOS NALユニットの数に関する情報を含むEOSサンプルグループに基づくメディアファイル生成/受信方法及び装置を提供することを目的とする。
【0007】
また、本開示は、マルチレイヤーを有するエレメンタリストリームを支援するEOSサンプルグループに基づくメディアファイル生成/受信方法及び装置を提供することを目的とする
【0008】
また、本開示は、本開示によるメディアファイル生成方法又は装置によって生成されたメディアファイルを伝送する方法を提供することを目的とする。
【0009】
また、本開示は、本開示によるメディアファイル生成方法又は装置によって生成されたメディアファイルを保存した記録媒体を提供することを目的とする。
【0010】
また、本開示は、本開示によるメディアファイル受信装置によって受信され、画像の復元に用いられるメディアファイルを保存した記録媒体を提供することを目的とする。
【0011】
本開示で解決しようとする技術的課題は上述した技術的課題に制限されず、上述していない別の技術的課題は以降の記載から本開示の属する技術分野における通常の知識を有する者に明確に理解できるだろう。
【課題を解決するための手段】
【0012】
本開示の一態様によるメディアファイル受信方法は、メディアファイルから一つ以上のトラック及びサンプルグループを取得するステップと、前記トラック内のサンプル及び前記サンプルグループに基づいてアクセスユニットを復元するステップと、を含み、前記サンプルグループは、前記アクセスユニットの属するビデオデータのEOS(end of sequence)情報を含む第1サンプルグループを含み、前記第1サンプルグループは、一つ以上のEOS NALユニット、及び前記EOS NALユニットの数に関する第1シンタックス要素を含むことができる。
【0013】
本開示の他の態様によるメディアファイル受信装置は、メモリ及び少なくとも一つのプロセッサを含み、前記少なくとも一つのプロセッサは、メディアファイルから一つ以上のトラック及びサンプルグループを取得し、前記トラック内のサンプル及び前記サンプルグループに基づいてアクセスユニットを復元するが、前記サンプルグループは、前記アクセスユニットの属するビデオデータのEOS(end of sequence)情報を含む第1サンプルグループを含み、前記第1サンプルグループは、一つ以上のEOS NALユニット、及び前記EOS NALユニットの数に関する第1シンタックス要素を含むことができる。
【0014】
本開示の別の態様によるメディアファイル生成方法は、アクセスユニットを含むビデオデータを符号化するステップと、前記符号化されたビデオデータのEOS(end of sequence)情報を含む第1サンプルグループを生成するステップと、前記符号化されたビデオデータ及び前記第1サンプルグループに基づいてメディアファイルを生成するステップと、を含み、前記第1サンプルグループは、一つ以上のEOS NALユニット、及び前記EOS NALユニットの数に関する第1シンタックス要素を含むことができる。
【0015】
本開示の別の態様によるメディアファイル生成装置は、メモリ及び少なくとも一つのプロセッサを含み、前記少なくとも一つのプロセッサは、アクセスユニットを含むビデオデータを符号化し、前記符号化されたビデオデータのEOS(End of Sequence)情報を含む第1サンプルグループを生成し、前記符号化されたビデオデータ及び前記第1サンプルグループに基づいてメディアファイルを生成するが、前記第1サンプルグループは、一つ以上のEOS NALユニット、及び前記EOS NALユニットの数に関する第1シンタックス要素を含むことができる。
【0016】
本開示の別の態様によるメディアファイル伝送方法は、本開示のメディアファイル生成方法又は装置によって生成されたメディアファイルを伝送することができる。
【0017】
本開示の別の態様によるコンピュータ可読記録媒体は、本開示のメディアファイル生成方法又は装置によって生成されたメディアファイルを保存することができる。
【0018】
本開示について簡略に要約して上述した特徴は、後述する本開示の詳細な説明の例示的な態様に過ぎず、本開示の範囲を制限するものではない。
【発明の効果】
【0019】
本開示によれば、EOSサンプルグループに基づくメディアファイル生成/受信方法及び装置が提供されることができる。
【0020】
また、本開示によれば、複数のEOS NALユニットを含むEOSサンプルグループに基づくメディアファイル生成/受信方法及び装置が提供されることができる。
【0021】
また、本開示によれば、EOS NALユニットの数に関する情報を含むEOSサンプルグループに基づくメディアファイル生成/受信方法及び装置が提供されることができる。
【0022】
また、本開示によれば、マルチレイヤーを有するエレメンタリストリームを支援するEOSサンプルグループに基づくメディアファイル生成/受信方法及び装置が提供されることができる。
【0023】
また、本開示によるメディアファイル生成方法又は装置によって生成されたメディアファイルを伝送する方法が提供されることができる。
【0024】
また、本開示によれば、本開示によるメディアファイル生成方法又は装置によって生成されたメディアファイルを保存した記録媒体が提供されることができる。
【0025】
また、本開示によれば、本開示によるメディアファイル受信装置によって受信され、画像の復元に用いられるメディアファイルを保存した記録媒体が提供されることができる。
【0026】
本開示で得られる効果は、上述した効果に限定されず、上述していない別の効果は、以降の記載から、本開示の属する技術分野における通常の知識を有する者に明確に理解できるだろう。
【図面の簡単な説明】
【0027】
【
図1】本開示の一実施例によるメディアファイル送受信システムを概略的に示す図である。
【0028】
【
図2】メディアファイル送信方法を示すフローチャートである。
【0029】
【
図3】メディアファイル受信方法を示すフローチャートである。
【0030】
【
図4】本開示の一実施例による画像符号化装置を概略的に示す図である。
【0031】
【
図5】本開示の一実施例による画像復号化装置を概略的に示す図である。
【0032】
【
図6】コーディングされた画像/ビデオに対する階層構造の一例を示す図である。
【0033】
【
図7】メディアファイル構造の一例を示す図である。
【0034】
【
図8】
図7のtrakボックス構造の一例を示す図である。
【0035】
【0036】
【
図10】EOSサンプルグループエントリのシンタックス構造を示す図である。
【0037】
【
図11】マルチレイヤーを運ぶトラックの一例を示す図である。
【0038】
【
図12】本開示の一実施例によるEOSサンプルグループエントリのシンタックス構造を示す図である。
【0039】
【
図13】本開示の他の実施例によるEOSサンプルグループエントリのシンタックス構造を示す図である。
【0040】
【
図14】本開示の別の実施例によるEOSのサンプルグループエントリのシンタックス構造を示す図である。
【0041】
【
図15】本開示の一実施例によるメディアファイル受信方法を示すフローチャートである。
【0042】
【
図16】本開示の一実施例によるメディアファイル生成方法を示すフローチャートである。
【0043】
【
図17】本開示の実施例が適用できるコンテンツストリーミングシステムを例示した図である。
【発明を実施するための形態】
【0044】
以下、添付図面を参照して、本開示の実施例について、本開示の属する技術分野における通常の知識を有する者が容易に実施し得るように詳細に説明する。しかし、本開示は、様々な異なる形態で実現でき、ここで説明する実施例に限定されない。
【0045】
本開示の実施例を説明するにあたり、公知の構成又は機能についての具体的な説明が本開示の要旨を不明確にするおそれがあると判断される場合には、それについての詳細な説明は省略する。そして、図面において、本開示についての説明と関係ない部分は省略し、同様の部分には同様の図面符号を付した。
【0046】
本開示において、ある構成要素が他の構成要素と「連結」、「結合」又は「接続」されているとするとき、これは、直接的な連結関係だけでなく、それらの間に別の構成要素が存在する間接的な連結関係も含むことができる。また、ある構成要素が他の構成要素を「含む」又は「有する」とするとき、これは、特に反対される記載がない限り、別の構成要素を排除するのではなく、別の構成要素をさらに含むことができることを意味する。
【0047】
本開示において、「第1」、「第2」などの用語は、一つの構成要素を他の構成要素から区別する目的のみで使用され、特に言及されない限り、構成要素間の順序又は重要度などを限定しない。したがって、本開示の範囲内において、一実施例の第1構成要素を他の実施例で第2構成要素と呼んでもよく、これと同様に、一実施例の第2構成要素を他の実施例で第1構成要素と呼んでもよい。
【0048】
本開示において、互いに区別される構成要素は、それぞれの特徴を明確に説明するためのものであり、構成要素が必ずしも分離されることを意味するものではない。つまり、複数の構成要素が統合されて一つのハードウェア又はソフトウェア単位で構成されてもよく、一つの構成要素が分散されて複数のハードウェア又はソフトウェア単位で構成されてもよい。よって、別に言及しなくても、このように統合された又は分散された実施例も本開示の範囲に含まれる。
【0049】
本開示において、さまざまな実施例で説明する構成要素が必ず必要不可欠な構成要素を意味するものではなく、一部は選択的な構成要素であり得る。したがって、一実施例で説明する構成要素の部分集合で構成される実施例も本開示の範囲に含まれる。また、様々な実施例で説明する構成要素にさらに他の構成要素を含む実施例も、本開示の範囲に含まれる。
【0050】
本開示は、画像の符号化及び復号化に関するものであって、本開示で使用される用語は、本開示で新たに定義されない限り、本開示の属する技術分野における通常の意味を持つことができる。
【0051】
本開示において、「ピクチャ(picture)」は、一般的に、特定の時間帯のいずれか一つの画像を示す単位を意味し、スライス(slice)/タイル(tile)は、ピクチャの一部を構成する符号化単位であって、一つのピクチャは、一つ以上のスライス/タイルで構成できる。また、スライス/タイルは、一つ以上のCTU(coding tree unit)を含むことができる。
【0052】
本開示において、「ピクセル(pixel)」又は「ペル(pel)」は、一つのピクチャ(又は画像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として「サンプル(sample)」が使用できる。サンプルは、一般的に、ピクセル又はピクセルの値を示すことができ、ルマ(luma)成分のピクセル/ピクセル値のみを示すこともでき、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。
【0053】
本開示において、「ユニット(unit)」は、画像処理の基本単位を示すことができる。ユニットは、ピクチャの特定の領域及び当該領域に関連する情報のうちの少なくとも一つを含むことができる。ユニットは、場合に応じて、「サンプルアレイ」、「ブロック(block)」又は「領域(area)」などの用語と混用して使用できる。一般な場合、M×Nブロックは、M個の列とN個の行からなるサンプル(又はサンプルアレイ)又は変換係数(transform coefficient)のセット(又はアレイ)を含むことができる。
【0054】
本開示において、「現在ブロック」は、「現在コーディングブロック」、「現在コーディングユニット」、「符号化対象ブロック」、「復号化対象ブロック」又は「処理対象ブロック」のうちのいずれか一つを意味することができる。予測が行われる場合、「現在ブロック」は、「現在予測ブロック」又は「予測対象ブロック」を意味することができる。変換(逆変換)/量子化(逆量子化)が行われる場合、「現在ブロック」は「現在変換ブロック」又は「変換対象ブロック」を意味することができる。フィルタリングが行われる場合、「現在ブロック」は「フィルタリング対象ブロック」を意味することができる。
【0055】
また、本開示において、「現在ブロック」は、クロマブロックという明示的な記載がない限り、ルマ成分ブロックとクロマ成分ブロックを全て含むブロック又は「現在ブロックのルマブロック」を意味することができる。現在ブロックのルマ成分ブロックは、明示的に「ルマブロック」又は「現在ルマブロック」のようにルマ成分ブロックという明示的な記載を含んで表現できる。また、現在ブロックのクロマ成分ブロックは、明示的に「クロマブロック」又は「現在クロマブロック」のようにクロマ成分ブロックという明示的な記載を含んで表現できる。
【0056】
本開示において、「/」と「、」は「及び/又は」と解釈されることができる。例えば、「A/B」と「A、B」は「A及び/又はB」と解釈されることができる。また、「A/B/C」と「A、B、C」は、「A、B及び/又はCのうちの少なくとも一つ」を意味することができる。
【0057】
本開示において、「又は」は「及び/又は」と解釈されることができる。例えば、「A又はB」は、1)「A」のみを意味するか、2)「B」のみを意味するか、3)「A及びB」を意味することができる。又は、本開示において、「又は」は、「追加的に又は代替的に(additionally or alternatively)」を意味することができる。
【0058】
メディアファイル送受信システムの概要
【0059】
図1は、本開示の一実施例によるメディアファイル送受信システムを概略的に示す図である。
【0060】
図1を参照すると、メディアファイル送受信システム1は、送信装置A及び受信装置Bを含むことができる。実施例によって、メディアファイル送受信システム1は、MPEG-DASH(Dynamic Adaptive Streaming over HTTP)基盤の適応的ストリーミングを支援することにより、途切れない(seamless)メディアコンテンツ再生を支援することができる。
【0061】
送信装置Aは、ビデオソース10、符号化部20、カプセル化30、送信処理部40及び送信部45を含むことができる。
【0062】
ビデオソース10は、ビデオ又はイメージなどのメディアデータを生成又は取得することができる。このために、ビデオソース10は、ビデオ/イメージキャプチャデバイス及び/又はビデオ/イメージ生成デバイスを含むか、或いは外部デバイスに連結されてメディアデータを受信することができる。
【0063】
符号化部20は、ビデオソース10から入力されたメディアデータを符号化することができる。符号化部20は、圧縮及び符号化効率のために、ビデオコーデック標準、例えば、VVC(Versatile Video Coding)標準に基づいて、予測、変換、量子化などの一連の手続きを行うことができる。符号化部20は、符号化されたメディアデータをビットストリーム形式で出力することができる。
【0064】
カプセル化30は、符号化されたメディアデータ及び/又はメディアデータ関連メタデータをカプセル化することができる。例えば、カプセル化部30は、当該データを、ISO BMFF(ISO Base Media File Format)、CMAF(Common Media Application Format)などのファイルフォーマットでカプセル化したり、セグメントなどの形態で処理したりすることができる。ファイル形式でカプセル化されたメディアデータ(以下、「メディアファイル」という)は、実施例によって保存部(図示せず)に保存されることができる。保存部に保存されたメディアファイルは、送信処理部40によって読み出され、オンデマンド(on demand)、NRT(Non-Real Time)又はブロードバンド方式に従って受信装置Bへ伝送されることができる。
【0065】
送信処理部40は、メディアファイルを任意の伝送方式によって処理して画像信号を生成することができる。メディアファイル伝送方式は、ブロードキャスト(broadcast)方式及びブロードバンド(broadband)方式を含むことができる。
【0066】
ブロードキャスト方式によれば、メディアファイルは、MMT(MPEG Media transport)プロトコル又はROUTE(Real Time Object delivery over Unidirectional Transport)プロトコルを用いて伝送されることができる。MMTプロトコルは、IPベースのネットワーク環境でファイルフォーマットやコーデックに関係なく、メディアストリーミングを支援する伝送プロトコルであり得る。MMTプロトコルを用いる場合、メディアファイルは、MMTに基づいてMPU(Media Processing Unit)単位で処理された後、MMTプロトコルに従って伝送されることができる。ROUTEプロトコルは、FLUTE(File Delivery over Unidirectional Transport)を拡張したもので、メディアファイルのリアルタイム伝送を支援する伝送プロトコルであってもよい。ROUTEプロトコルを用いる場合、メディアファイルは、MPEG-DASHに基づいて一つ以上のセグメントで処理された後、ROUTEプロトコルに従って伝送されることができる。
【0067】
ブロードバンド方式によれば、メディアファイルは、HTTP(HyperText Transfer Protocol)を用いてネットワークを介して伝送されることができる。HTTPを介して伝送される情報は、シグナリングメタデータ、セグメント情報及び/又はNRT(Non-Real Time)サービス情報を含むことができる。
【0068】
実施例によって、送信処理部40は、適応的メディアストリーミングを支援するために、MPD生成部41及びセグメント生成部42を含むことができる。
【0069】
MPD生成部41は、メディアファイルに基づいてMPD(Media Presentation Description)を生成することができる。MPDは、メディアプレゼンテーションに対する詳細情報を含むファイルであって、XML形式で表現できる。MPDは、シグナリングメタデータ、例えば、それぞれのセグメントに対する識別子を提供することができる。この場合、受信装置Bは、MPDに基づいてセグメントを動的に取得することができる。
【0070】
セグメント生成部42は、メディアファイルに基づいて一つ以上のセグメントを生成することができる。セグメントは、実際のメディアデータを含むことができ、ISO BMFFなどのファイル形式を有することができる。セグメントは、画像信号のリプレゼンテーション(representation)内に含まれることができ、前述したようにMPDに基づいて識別されることができる。
【0071】
そして、送信処理部40は、生成されたMPD及びセグメントに基づいてMPEG-DASH標準による画像信号を生成することができる。
【0072】
送信部45は、生成された画像信号を受信装置Bへ伝送することができる。実施例によって、送信部45は、MMT標準又はMPEG-DASH標準に基づいて画像信号をIPネットワークを介して受信装置Bへ伝送することができる。MMT標準によれば、受信装置Bへ伝送される画像信号は、メディアデータの再生情報を含むPI文書(Presentation Information document)を含むことができる。MPEG-DASH標準によれば、受信装置Bへ伝送される画像信号は、メディアデータの再生情報として前述のMPDを含むことができる。ただし、実施例によって、MPD及びセグメントは、個別的に受信装置Bへ伝送されることができる。例えば、MPDを含む第1画像信号は、送信装置A又は外部サーバによって生成されて受信装置Bへ伝送されることができ、セグメントを含む第2画像信号は、送信装置A2によって生成されて受信装置Bへ伝送されることができる。
【0073】
一方、
図1では、送信処理部40と送信部45が別個のエレメントとして示されているが、実施例によって単一のエレメントとして統合的に実現されることもできる。また、送信処理部40は、送信装置Aとは別個の外部装置(例えば、DASHサーバ)として実現されることもできる。この場合、送信装置Aは、メディアデータを符号化してメディアファイルを生成するソース装置として動作することができ、外部装置は、メディアデータを任意の伝送プロトコルに従って処理して画像信号を生成するサーバ装置として動作することができる。
【0074】
次に、受信装置Bは、受信部55、受信処理部60、デカプセル化部70、復号化部80及びレンダリング部90を含むことができる。実施例によって、受信装置Bは、MPEG-DASH基盤のクライアントであり得る。
【0075】
受信部55は、送信装置Aから画像信号を受信することができる。MMT標準による画像信号は、PI文書及びメディアファイルを含むことができる。また、MPEG-DASH標準による画像信号は、MPD及びセグメントを含むことができる。実施例によって、MPD及びセグメントは、互いに異なる画像信号を介して個別的に伝送されることができる。
【0076】
受信処理部60は、受信された画像信号を伝送プロトコルに従って処理してメディアファイルを抽出/パーシングすることができる。
【0077】
実施例によって、受信処理部60は、適応的メディアストリーミングを支援するために、MPDパーシング部61及びセグメントパーシング部62を含むことができる。
【0078】
MPDパージング部61は、受信された画像信号からMPDを取得し、取得されたMPDをパージングして、セグメントの取得に必要なコマンドを生成することができる。また、MPDパージング部61は、パージングされたMPDに基づいて、メディアデータの再生情報、例えばカラー変換情報などを取得することができる。
【0079】
セグメントパーシング部62は、パーシングされたMPDに基づいてセグメントを取得し、取得されたセグメントをパーシングしてメディアファイルを抽出することができる。実施例によって、メディアファイルは、ISO BMFF又はCMAFなどのファイルフォーマットを有することができる。
【0080】
デカプセル化部70は、抽出されたメディアファイルをデカプセル化して、メディアデータ及びこれに関連したメタデータを取得することができる。取得されたメタデータは、ファイルフォーマット内のボックス或いはトラックの形態を有することができる。実施例によって、デカプセル化部70は、MPDパーシング部61からデカプセル化に必要なメタデータの伝達を受けることができる。
【0081】
復号化部80は、取得されたメディアデータをビデオコーデック標準、例えばVVC標準に基づいて復号化することができる。このために、復号化部80は、符号化部20の動作に対応する逆量子化、逆変換、予測などの一連の手続きを行うことができる。
【0082】
レンダリング部90は、復号化された画像又はイメージなどのメディアデータをレンダリングすることができる。レンダリングされたメディアデータは、ディスプレイ部(図示せず)を介して再生できる。
【0083】
以下、メディアファイル送受信方法を詳細に説明する。
【0084】
図2は、メディアファイル送信方法を示すフローチャートである。
【0085】
一例において、
図2の各ステップは、
図1の送信装置Aによって行われることができる。具体的に、ステップS210は、
図1の符号化部20によって行われることができる。また、ステップS220及びステップS230は、送信処理部40によって行われることができる。また、ステップS240は、送信部45によって行われることができる。
【0086】
図2を参照すると、送信装置は、ビデオ又はイメージなどのメディアデータを符号化することができる(S210)。メディアデータは、送信装置によってキャプチャ/生成されるか、或いは外部デバイス(例えば、カメラ、ビデオアーカイブなど)から取得されることができる。メディアデータは、ビデオコーデック標準、例えば、VVC標準に基づいてビットストリーム形式で符号化されることができる。
【0087】
送信装置は、符号化されたメディアデータに基づいてMPDクリア及び一つ以上のセグメントを生成することができる(S220)。MPDは、前述したように、メディアプレゼンテーションに対する詳細情報を含むことができる。セグメントは、実際のメディアデータを含むことができる。実施例によって、メディアデータは、ISO BMFF又はCMAFなどのファイルフォーマットでカプセル化されてセグメントに含まれることができる。
【0088】
送信装置は、生成されたMPD及びセグメントを含む画像信号を生成することができる(S230)。実施例によって、画像信号は、MPD及びセグメントそれぞれに対して個別的に生成されることができる。例えば、送信装置は、MPDを含む第1画像信号を生成し、セグメントを含む第2画像信号を生成することができる。
【0089】
送信装置は、生成された画像信号を受信装置へ伝送することができる(S240)。実施例によって、送信装置は、ブロードキャスト方式で画像信号を伝送することができる。この場合、MMTプロトコル又はROUTEプロトコルが用いられることができる。又は、送信装置は、ブロードバンド方式で画像信号を伝送することもできる。
【0090】
一方、
図2では、MPD及びこれを含む画像信号が送信装置によって生成及び伝送されると説明しているが(ステップS220乃至ステップS240)、実施例によっては、MPD及びこれを含む画像信号は、送信装置とは異なる外部サーバによって生成及び伝送されることもできる。
【0091】
図3は、メディアファイル受信方法を示すフローチャートである。
【0092】
一例において、
図3の各ステップは、
図1の受信装置Bによって行われることができる。具体的には、ステップS310は、受信部55によって行われることができる。また、ステップS320は、受信処理部60によって行われることができる。また、ステップS330は、復号化部80によって行われることができる。
【0093】
図3を参照すると、受信装置は、送信装置から画像信号を受信することができる(S310)。MPEG-DASH標準による画像信号は、MPD及びセグメントを含むことができる。実施例によって、MPD及びセグメントは、互いに異なる画像信号を介して個別的に受信されることができる。例えば、MPDを含む第1画像信号は、
図1の送信装置又は外部サーバから受信されることができ、セグメントを含む第2画像信号は、
図1の送信装置から受信されることができる。
【0094】
受信装置は、受信された画像信号からMPD及びセグメントを抽出し、抽出されたMPD及びセグメントをパーシングすることができる(S320)。具体的には、受信装置は、MPDをパーシングして、セグメントの取得に必要なコマンドを生成することができる。そして、受信装置は、パージングされたMPDに基づいてセグメントを取得し、取得されたセグメントをパージングしてディアデータを取得することができる。実施例によって、受信装置は、セグメントからメディアデータを取得するために、ファイル形式のメディアデータに対するデカプセル化を行うことができる。
【0095】
受信装置は、取得されたビデオ又はイメージなどのメディアデータを復号化することができる(S330)。受信装置は、メディアデータを復号化するために、逆量子化、逆変換、予測などの一連の手続きを行うことができる。そして、受信装置は、復号化されたメディアデータをレンダリングして、ディスプレイを介してメディアデータを再生することができる。
【0096】
以下、画像符号化/復号化装置を詳細に説明する。
【0097】
画像符号化装置の概要
【0098】
図4は、本開示の一実施例による画像符号化装置を概略的に示す図である。
図4の画像符号化装置400は、
図1を参照して前述した送信装置Aの符号化部20に対応することができる。
【0099】
図4を参照すると、画像符号化装置400は、画像分割部410、減算部415、変換部420、量子化部430、逆量子化部440、逆変換部450、加算部455、フィルタリング部460、メモリ470、インター予測部480、イントラ予測部485及びエントロピー符号化部490を含むことができる。インター予測部480及びイントラ予測部485は、まとめて「予測部」と呼ばれることがある。変換部420、量子化部430、逆量子化部440、逆変換部450は、レジデュアル(residual)処理部に含まれることができる。レジデュアル処理部は、減算部415をさらに含んでもよい。
【0100】
画像符号化装置400を構成する複数の構成部の全部又は少なくとも一部は、実施例によって一つのハードウェアコンポーネント(例えば、エンコーダ又はプロセッサ)で実現されることができる。また、メモリ470は、DPB(decoded picture buffer)を含むことができ、デジタル記憶媒体によって実現できる。
【0101】
画像分割部410は、画像符号化装置400に入力された入力画像(又は、ピクチャ、フレーム)を一つ以上の処理ユニット(processing unit)に分割することができる。一例として、前記処理ユニットは、コーディングユニット(coding unit、CU)と呼ばれることができる。コーディングユニットは、コーディングツリーユニット(coding tree unit、CTU)又は最大コーディングユニット(largest coding unit、LCU)をQT/BT/TT(Quad-tree/binary-tree/ternary-tree)構造によって再帰的に(recursively)分割することにより取得されることができる。例えば、一つのコーディングニットは、四分木構造、二分木構造及び/又は三分木構造に基づいて、下位(deeper)デプスの複数のコーディングユニットに分割されることができる。コーディングユニットの分割のために、四分木構造が先に適用され、二分木構造及び/又は三分木構造が後で適用されることができる。それ以上分割されない最終コーディングユニットを基に、本開示によるコーディング手順が行われることができる。最大コーディングユニットが最終コーディングユニットとして使用されることができ、最大コーディングユニットを分割して取得した下位デプスのコーディングユニットが最終コーディングユニットとして使用されることもできる。ここで、コーディング手順とは、後述する予測、変換及び/又は復元などの手順を含むことができる。他の例として、前記コーディング手順の処理ユニットは、予測ユニット(PU:Prediction Unit)又は変換ユニット(TU:Transform Unit)であることができる。前記予測ユニット及び前記変換ユニットは、それぞれ前記最終コーディングユニットから分割又はパーティショニングされることができる。前記予測ユニットは、サンプル予測のユニットであることができ、前記変換ユニットは、変換係数を誘導するユニット、及び/又は変換係数からレジデュアル信号(residual signal)を誘導するユニットであり得る。
【0102】
予測部(インター予測部480又はイントラ予測部485)は、処理対象ブロック(現在ブロック)に対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、現在ブロック又はCUユニットでイントラ予測が適用されるか、或いはインター予測が適用されるかを決定することができる。予測部は、現在ブロックの予測に関するさまざまな情報を生成してエントロピー符号化部490に伝達することができる。予測に関する情報は、エントロピー符号化部490で符号化されてビットストリーム形式で出力されることができる。
【0103】
イントラ予測部485は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。参照される前記サンプルは、イントラ予測モード及び/又はイントラ予測技法に従って、前記現在ブロックの周辺(neighbor)に位置することもでき、或いは離れて位置することもできる。イントラ予測モードは、複数の非方向性モードと複数の方向性モードを含むことができる。非方向性モードは、例えば、DCモード及びプランナーモード(Planarモード)を含むことができる。方向性モードは、予測方向の細かい程度に応じて、例えば33個の方向性予測モード又は65個の方向性予測モードを含むことができる。ただし、これは例示に過ぎず、設定に基づいてそれ以上又はそれ以下の個数の方向性予測モードが使用できる。イントラ予測部485は、周辺ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0104】
インター予測部480は、参照ピクチャ上で動きベクトルによって特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。この時、インター予測モードで伝送される動き情報の量を減らすために、周辺ブロックと現在ブロックとの動き情報の相関性に基づいて動き情報をブロック、サブブロック又はサンプルユニットで予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測など)情報をさらに含むことができる。インター予測の場合、周辺ブロックは、現在ピクチャ内に存在する空間周辺ブロック(spatial neighboring block)と、参照ピクチャに存在する時間周辺ブロック(temporal neighboring block)を含むことができる。前記参照ブロックを含む参照ピクチャと、前記時間周辺ブロックを含む参照ピクチャとは、同一でもよく、互いに異なってもよい。前記時間周辺ブロックは、コロケート参照ブロック(collocated reference block)、コロケートCU(colCU)などの名前で呼ばれることができる。前記時間周辺ブロックを含む参照ピクチャは、コロケートピクチャ(collocated picture、colPic)と呼ばれることができる。例えば、インター予測部480は、周辺ブロックに基づいて動き情報候補リストを構成し、前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出するために、どの候補が使用されるかを指示する情報を生成することができる。様々な予測モードに基づいてインター予測が行われることができ、例えばスキップモードとマージモードの場合に、インター予測部480は、周辺ブロックの動き情報を現在ブロックの動き情報として用いることができる。スキップモードの場合、マージモードとは異なり、レジデュアル信号が伝送されないことができる。動き情報予測(motion vector prediction、MVP)モードの場合、周辺ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として用い、動きベクトル差分(motion vector difference)及び動きベクトル予測子に対するインジケータ(indicator)を符号化することにより、現在ブロックの動きベクトルをシグナリングすることができる。動きベクトル差分は、現在ブロックの動きベクトルと動きベクトル予測子との差を意味することができる。
【0105】
予測部は、後述する様々な予測方法及び/又は予測技法に基づいて予測信号を生成することができる。例えば、予測部は、現在ブロックの予測のために、イントラ予測又はインター予測を適用することができるだけでなく、イントラ予測とインター予測を同時に適用することができる。現在ブロックの予測のためにイントラ予測とインター予測を同時に適用する予測方法は、CIIP(combined inter and intra prediction)と呼ばれることができる。また、予測部は、現在ブロックの予測のためにイントラブロックコピー(intra block copy、IBC)を行うこともできる。イントラブロックコピーは、例えば、SCC(screen content coding)などのようにゲームなどのコンテンツ画像/動画コーディングのために使用できる。IBCは、現在ブロックから所定の距離だけ離れた位置の現在ピクチャ内の既に復元された参照ブロックを用いて現在ブロックを予測する方法である。IBCが適用される場合、現在ピクチャ内の参照ブロックの位置は、前記所定の距離に該当するベクトル(ブロックベクトル)として符号化されることができる。IBCは、基本的に現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導出するという点で、インター予測と同様に行われることができる。すなわち、IBCは、本開示で説明されるインター予測技法のうちの少なくとも一つを用いることができる。
【0106】
予測部によって生成された予測信号は、復元信号を生成するために用いられるか、或いはレジデュアル信号を生成するために用いられることができる。減算部415は、入力画像信号(原本ブロック、原本サンプルアレイ)から、予測部から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算して、レジデュアル信号(residual signal、残余ブロック、残余サンプルアレイ)を生成することができる。生成されたレジデュアル信号は、変換部420に伝送されることができる。
【0107】
変換部420は、レジデュアル信号に変換技法を適用して変換係数(transform coefficients)を生成することができる。例えば、変換技法は、DCT(Discrete Cosine Transform)、DST(Discrete Sine Transform)、KLT(Karhunen-Loeve Transform)、GBT(Graph-Based Transform)、又はCNT(Conditionally Non-linear Transform)のうちの少なくとも一つを含むことができる。ここで、GBTは、ピクセル間の関係情報をグラフで表現するとするとき、このグラフから得られた変換を意味する。CNTは、以前に復元された全てのピクセル(all previously reconstructed pixel)を用いて予測信号を生成し、それに基づいて取得される変換を意味する。変換過程は、正方形の同じサイズを有するピクセルブロックに適用されることもでき、正方形ではない、可変サイズのブロックに適用されることもできる。
【0108】
量子化部430は、変換係数を量子化してエントロピー符号化部490に伝送することができる。エントロピー符号化部490は、量子化された信号(量子化された変換係数に関する情報)を符号化してビットストリーム形式で出力することができる。前記量子化された変換係数に関する情報は、レジデュアル情報と呼ばれることができる。量子化部430は、係数スキャン順序(scan order)に基づいて、ブロック形式の量子化された変換係数を1次元ベクトル形式で再整列することができ、前記1次元ベクトル形式の量子化された変換係数に基づいて、前記量子化された変換係数に関する情報を生成することもできる。
【0109】
エントロピー符号化部490は、例えば、指数ゴロム(exponential Golomb)、CAVLC(context-adaptive variable length coding)、CABAC(context-adaptive binary arithmetic coding)などの様々な符号化方法を行うことができる。エントロピー符号化部190は、量子化された変換係数の他に、ビデオ/画像復元に必要な情報(例えば、シンタックス要素(syntax elements)の値など)を一緒に又は別々に符号化することもできる。符号化された情報(例えば、符号化されたビデオ/画像情報)は、ビットストリーム形式でNAL(network abstraction layer)ユニットに伝送又は保存されることができる。前記ビデオ/画像情報は、適応パラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)又はビデオパラメータセット(VPS)などの様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/画像情報は、一般制限情報(general constraint information)をさらに含むことができる。本開示で言及されたシグナリング情報、伝送される情報及び/又はシンタックス要素は、上述した符号化手順を介して符号化されて前記ビットストリームに含まれることができる。
【0110】
前記ビットストリームは、ネットワークを介して伝送されることができ、又はデジタル記憶媒体に保存されることができる。ここで、ネットワークは、放送網及び/又は通信網などを含むことができ、デジタル記憶媒体は、USB、SD、CD、DVD、Blu-ray(登録商標)、HDD、SSDなどのさまざまな記憶媒体を含むことができる。エントロピー符号化部190から出力された信号を伝送する伝送部(図示せず)及び/又は保存する保存部(図示せず)が画像符号化装置100の内/外部要素として備えられることができ、又は伝送部はエントロピー符号化部490の構成要素として備えられることもできる。
【0111】
量子化部430から出力された、量子化された変換係数は、レジデュアル信号を生成するために用いられることができる。例えば、量子化された変換係数に逆量子化部440及び逆変換部450を介して逆量子化及び逆変換を適用することにより、レジデュアル信号(レジデュアルブロック又はレジデュアルサンプル)を復元することができる。
【0112】
加算部455は、復元されたレジデュアル信号をインター予測部480又はイントラ予測部485から出力された予測信号に加えることにより、復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部455は、復元部又は復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するようにフィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
【0113】
一方、ピクチャ符号化及び/又は復元過程でLMCS(luma mapping with chroma scaling)が適用できる。
【0114】
フィルタリング部460は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部460は、復元ピクチャに様々なフィルタリング方法を適用して、修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ470、具体的にはメモリ470のDPBに保存することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、双方向フィルタ(bilateral filter)などを含むことができる。フィルタリング部460は、各フィルタリング方法についての説明で後述するようにフィルタリングに関する様々な情報を生成してエントロピー符号化部490に伝達することができる。フィルタリングに関する情報は、エントロピー符号化部490で符号化されてビットストリーム形式で出力されることができる。
【0115】
メモリ470に伝送された、修正された復元ピクチャは、インター予測部480で参照ピクチャとして使用されることができる。画像符号化装置400は、これを介してインター予測が適用される場合、画像符号化装置400と画像復号化装置での予測ミスマッチを回避することができ、符号化効率も向上させることができる。
【0116】
メモリ470内のDPBは、インター予測部480での参照ピクチャとして使用するために、修正された復元ピクチャを保存することができる。メモリ470は、現在ピクチャ内の動き情報が導出された(又は符号化された)ブロックの動き情報及び/又は既に復元されたピクチャ内ブロックの動き情報を保存することができる。前記保存された動き情報は、空間周辺ブロックの動き情報又は時間周辺ブロックの動き情報として活用するために、インター予測部480に伝達されることができる。メモリ470は、現在ピクチャ内の復元されたブロックの復元サンプルを保存することができ、イントラ予測部485に伝達することができる。
【0117】
画像復号化装置の概要
【0118】
図5は、本開示の一実施例による画像復号化装置を概略的に示す図である。
図5の画像復号化装置500は、
図1を参照して前述した受信装置Aの復号化部80に対応することができる。
【0119】
図5を参照すると、画像復号化装置500は、エントロピー復号化部510、逆量子化部520、逆変換部530、加算部535、フィルタリング部540、メモリ550、インター予測部560及びイントラ予測部565を含んで構成できる。インター予測部560及びイントラ予測部565をまとめて「予測部」と呼ばれることがある。逆量子化部520、逆変換部530はレジデュアル処理部に含まれることができる。
【0120】
画像復号化装置500を構成する複数の構成部の全部又は少なくとも一部は、実施例によって一つのハードウェアコンポーネント(例えば、デコーダ又はプロセッサ)で実現されることができる。また、メモリ550は、DPBを含むことができ、デジタル記憶媒体によって実現できる。
【0121】
ビデオ/画像情報を含むビットストリームを受信した画像復号化装置500は、
図4の画像符号化装置400で行われたプロセスに対応するプロセスを実行して画像を復元することができる。例えば、画像復号化装置500は、画像符号化装置で適用された処理ユニットを用いて復号化を行うことができる。したがって、復号化の処理ユニットは、例えばコーディングユニットであることができる。コーディングユニットは、コーディングツリーユニット又は最大コーディングユニットを分割して取得できる。そして、画像復号化装置500を介して復号化及び出力された復元画像信号は、再生装置(図示せず)を介して再生できる。
【0122】
画像復号化装置500は、
図4の画像符号化装置によって生成された信号をビットストリーム形式で受信することができる。受信された信号は、エントロピー復号化部510を介して復号化できる。例えば、エントロピー復号化部510は、前記ビットストリームをパーシングして画像復元(又はピクチャ復元)に必要な情報(例えば、ビデオ/画像情報)を導出することができる。前記ビデオ/画像情報は、適応パラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)又はビデオパラメータセット(VPS)などの様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/画像情報は、一般制限情報(general constraint information)をさらに含むことができる。画像復号化装置は、画像を復号化するために、前記パラメータセットに関する情報及び/又は前記一般制限情報をさらに用いることができる。本開示で言及されたシグナリング情報、受信される情報及び/又はシンタックス要素は、前記復号化手順を介して復号化されることにより、前記ビットストリームから取得されることができる。例えば、エントロピー復号化部510は、指数ゴロム符号化、CAVLC又はCABACなどのコーディング方法に基づいてビットストリーム内の情報を復号化し、画像復元に必要なシンタックス要素の値、レジデュアルに関する変換係数の量子化された値を出力することができる。より詳細には、CABACエントロピー復号化方法は、ビットストリームから各シンタックス要素に該当するビン(bin)を受信し、復号化対象シンタックス要素情報と周辺ブロック及び復号化対象ブロックの復号化情報、或いは以前ステップで復号化されたシンボル/ビンの情報を用いてコンテキスト(context)モデルを決定し、決定されたコンテキストモデルに基づいてビン(bin)の発生確率を予測してビンの算術復号化(arithmetic decoding)を行うことにより、各シンタックス要素の値に該当するシンボルを生成することができる。この時、CABACエントロピー復号化方法は、コンテキストモデルの決定後、次のシンボル/ビンのコンテキストモデルのために、復号化されたシンボル/ビンの情報を用いてコンテキストモデルを更新することができる。エントロピー復号化部510で復号化された情報のうち、予測に関する情報は、予測部(インター予測部560及びイントラ予測部565に提供され、エントロピー復号化部510でエントロピー復号化が行われたレジデュアル値、すなわち量子化された変換係数及び関連パラメータ情報は、逆量子化部520に入力されることができる。また、エントロピー復号化部510で復号化された情報のうち、フィルタリングに関する情報は、フィルタリング部540に提供されることができる。一方、画像符号化装置から出力された信号を受信する受信部(図示せず)が画像復号化装置500の内/外部要素としてさらに備えられることができ、又は受信部はエントロピー復号化部510の構成要素として備えられることもできる。
【0123】
一方、本開示による画像復号化装置は、ビデオ/画像/ピクチャ復号化装置と呼ばれることができる。前記画像復号化装置は、情報デコーダ(ビデオ/画像/ピクチャ情報デコーダ)及び/又はサンプルデコーダ(ビデオ/画像/ピクチャサンプルデコーダ)を含むこともできる。前記情報デコーダは、エントロピー復号化部510を含むことができ、前記サンプルデコーダは、逆量子化部520、逆変換部530、加算部535、フィルタリング部540、メモリ550、インター予測部560及びイントラ予測部565のうちの少なくとも一つを含むことができる。
【0124】
逆量子化部520では、量子化された変換係数を逆量子化して変換係数を出力することができる。逆量子化部520は、量子化された変換係数を2次元のブロック形式で再整列することができる。この場合、前記再整列は、画像符号化装置で行われた係数スキャン順序に基づいて行われることができる。逆量子化部520は、量子化パラメータ(例えば、量子化ステップサイズ情報)を用いて、量子化された変換係数に対する逆量子化を行い、変換係数(transform coefficient)を取得することができる。
【0125】
逆変換部530では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得することができる。
【0126】
予測部は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、エントロピー復号化部510から出力された前記予測に関する情報に基づいて、前記現在ブロックにイントラ予測が適用されるか或いはインター予測が適用されるかを決定することができ、具体的なイントラ/インター予測モード(予測技法)を決定することができる。
【0127】
予測部が後述の様々な予測方法(技法)に基づいて予測信号を生成することができるのは、画像符号化装置400の予測部についての説明で述べたのと同様である。
【0128】
イントラ予測部565は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。イントラ予測部485についての説明は、イントラ予測部565に対しても同様に適用されることができる。
【0129】
インター予測部560は、参照ピクチャ上で動きベクトルによって特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。この時、インター予測モードで伝送される動き情報の量を減らすために、周辺ブロックと現在ブロックとの動き情報の相関性に基づいて動き情報をブロック、サブブロック又はサンプルユニットで予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測など)情報をさらに含むことができる。インター予測の場合に、周辺ブロックは、現在ピクチャ内に存在する空間周辺ブロック(spatial neighboring block)と参照ピクチャに存在する時間周辺ブロック(temporal neighboring block)を含むことができる。例えば、インター予測部560は、周辺ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出することができる。様々な予測モード(技法)に基づいてインター予測が行われることができ、前記予測に関する情報は、前記現在ブロックに対するインター予測のモード(技法)を指示する情報を含むことができる。
【0130】
加算部535は、取得されたレジデュアル信号を予測部(インター予測部560及び/又はイントラ予測部565を含む)から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることにより、復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用できる。加算部455についての説明は、加算部535に対しても同様に適用できる。加算部535は、復元部又は復元ブロック生成部と呼ばれることもある。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するようにフィルタリングを介して次のピクチャのインター予測のために使用されることもできる。
【0131】
一方、ピクチャ復号化過程でLMCS(luma mapping with chroma scaling)が適用できる。
【0132】
フィルタリング部540は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部540は、復元ピクチャに様々なフィルタリング方法を適用して、修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ550、具体的にはメモリ550のDPBに保存することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、双方向フィルタ(bilateral filter)などを含むことができる。
【0133】
メモリ550のDPBに保存された(修正された)復元ピクチャは、インター予測部560で参照ピクチャとして使用されることができる。メモリ550は、現在ピクチャ内の動き情報が導出された(又は復号化された)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を保存することができる。前記保存された動き情報は、空間周辺ブロックの動き情報又は時間周辺ブロックの動き情報として活用するために、インター予測部560に伝達することができる。メモリ550は、現在ピクチャ内の復元されたブロックの復元サンプルを保存することができ、イントラ予測部565に伝達することができる。
【0134】
本明細書において、画像符号化装置400のフィルタリング部460、インター予測部480及びイントラ予測部485で説明された実施例は、それぞれ画像復号化装置500のフィルタリング部540、インター予測部560及びイントラ予測部565にも、同様に又は対応するように適用されることができる。
【0135】
符号化装置の量子化部は、変換係数に量子化を適用して、量子化された変換係数を導出することができ、符号化装置の逆量子化部又は復号化装置の逆量子化部は、量子化された変換係数に逆量子化を適用して変換係数を導出することができる。ビデオコーディングでは、量子化率が変化することができ、変化した量子化率を用いて圧縮率が調節されることができる。実現の観点からは、複雑度を考慮して、量子化率が直接使用される代わりに、量子化パラメータ(quantization parameter、QP)が使用されることができる。例えば、0乃至63の整数値の量子化パラメータを使用することができ、各量子化パラメータ値は、実際の量子化率に対応することができる。ルマ(luma)成分(ルマサンプル)に対する量子化パラメータQPYと、クロマ成分(クロマサンプル)に対する量子化パラメータQPCとは互いに異なるように設定できる。
【0136】
量子化過程で変換係数Cを入力とし、量子化率Qstepで割り、これに基づいて量子化された変換係数C´が導出できる。この場合、計算複雑度を考慮して量子化率にスケールを掛けて整数形式にし、スケール値に該当する値だけシフト演算が行われることができる。量子化率とスケール値との積に基づいて量子化スケール(quantization sclae)が導出できる。すなわち、QPに応じて前記量子化スケールが導出できる。前記変換係数Cに前記量子化スケールを適用することにより、これに基づいて量子化された変換係数C´が導出できる。
【0137】
逆量子化過程は、量子化過程の逆過程であって、量子化された変換係数C´に量子化率Qstepを掛け、これに基づいて復元された変換係数C´´が導出できる。この場合、前記量子化パラメータに応じてレベルスケール(level scale)が導出でき、前記量子化された変換係数C´に前記レベルスケールを適用し、これに基づいて復元された変換係数C´´が導出できる。復元された変換係数C´´は、変換及び/又は量子化過程における損失(loss)により最初変換係数Cとは多少の差があり得る。よって、符号化装置においても、復号化装置と同様に逆量子化が行われることができる。
【0138】
一方、周波数に応じて量子化強度を調節する適応周波数別重み付け量子化(adaptive frequency weighting quantization)技術が適用できる。前記適応周波数別重み付け量子化技術は、周波数別に量子化強度を異なるように適用する方法に該当することができる。前記適応周波数別重み付け量子化は、予め定義された量子化スケーリングマトリックスを用いて各周波数別量子化強度が異なるように適用できる。すなわち、上述した量子化/逆量子化過程は、前記量子化スケーリングマトリックスにさらに基づいて行われることができる。
【0139】
例えば、現在ブロックのサイズ及び/又は前記現在ブロックのレジデュアル信号を生成するために、前記現在ブロックに適用された予測モードがインター予測であるか、イントラ予測であるかによって、互いに異なる量子化スケーリングマトリックスが使用できる。前記量子化スケーリングマトリックスは、量子化マトリックス又はスケーリングマトリックスと呼ばれることがある。前記量子化スケーリングマトリックスは予め定義できる。また、周波数適応的スケーリングのために、前記量子化スケーリングマトリックスに対する周波数別量子化スケール情報が符号化装置で構成/符号化されて復号化装置にシグナリングされることができる。前記周波数別量子化スケール情報は、量子化スケーリング情報と呼ばれることがある。前記周波数別量子化スケール情報は、スケーリングリストデータ(scaling_list_data)を含むことができる。
【0140】
前記スケーリングリストデータに基づいて前記量子化スケーリングマトリックスが導出できる。また、前記周波数別量子化スケール情報は、前記スケーリングリストデータの存否を指示する存在フラグ(present flag)情報を含むことができる。また、前記スケーリングリストデータが上位レベル(例えば、SPS)でシグナリングされた場合、より下位レベル(例えば、PPS、APS又はスライスヘッダーなど)で前記スケーリングリストデータが修正されるか否かを指示する情報などがさらに含まれることができる。
【0141】
図6は、コーディングされた画像/ビデオに対する階層構造の一例を示す図である。
【0142】
コーディングされた画像/ビデオは、画像/ビデオの復号化処理及びそれ自体を扱うVCL(video coding layer)、符号化された情報を伝送し保存する下位システム、そしてVCLと下位システムとの間に存在し、ネットワーク適応機能を担当するNAL(network abstraction layer)に区分されることができる。
【0143】
VCLでは、圧縮された画像データ(スライスデータ)を含むVCLデータを生成するか、或いはピクチャパラメータセット(Picture Parameter Set、PPS)、シーケンスパラメータセット(Sequence Parameter Set、SPS)、ビデオパラメータセット(Video Parameter Set、VPS)などの情報を含むパラメータセット又は画像の復号化処理に付加的に必要なSEI(Supplemental Enhancement Information)メッセージを生成することができる。
【0144】
NALでは、VCLで生成されたRBSP(Raw Byte Sequence Payload)にヘッダー情報(NALユニットヘッダー)を付加してNALユニットを生成することができる。このとき、RBSPは、VCLで生成されたスライスデータ、パラメータセット、SEIメッセージなどをいう。NALユニットヘッダーには、該当NALユニットに含まれるRBSPデータによって特定されるNALユニットタイプ情報を含むことができる。
【0145】
図6に示されているように、NALユニットは、VCLで生成されたRBSPの類型によってVCL NALユニットとnon-VCL NALユニットに区分されることができる。VCL NALユニットは、画像情報(スライスデータ)を含むNALユニットを意味することができ、non-VCL NALユニットは、画像を復号化するために必要な情報(パラメータセット又はSEIメッセージ)を含むNALユニットを意味することができる。
【0146】
上述したVCL NALユニット、non-VCL NALユニットは、下位システムのデータ規格に応じてヘッダー情報を付けてネットワークを介して伝送されることができる。例えば、NALユニットは、H.266/VVCファイルフォーマット、RTP(Real-time Transport Protocol)又はTS(Transport Stream)などの所定の規格のデータ形式に変形して様々なネットワークを介して伝送されることができる。
【0147】
上述したように、NALユニットは、当該NALユニットに含まれるRBSPデータ構造(structure)に応じてNALユニットタイプが特定されることができ、このようなNALユニットタイプに対する情報は、NALユニットヘッダーに保存されてシグナリングされることができる。例えば、NALユニットは、画像情報(スライスデータ)を含むか否かによって、大きくVCL NALユニットタイプとnon-VCL NALユニットタイプに区分されることができる。VCL NALユニットタイプは、VCL NALユニットが含むピクチャの性質/類型によって細分化されることができ、non-VCL NALユニットタイプは、non-VCL NALが含むパラメータセットの種類によって細分化されることができる。
【0148】
ピクチャ類型によるVCL NALユニットタイプの一例は、次の通りである。
【0149】
-「IDR_W_RADL」、「IDR_N_LP」:IRAP(Intra Random Access Point)ピクチャの一種であるIDR(Instantaneous Decoding Refresh)ピクチャに対するVCL NALユニットタイプ;
【0150】
IDRピクチャは、ビットストリーム内で復号化順に1番目のピクチャであってもよく、或いは1番目後のピクチャであってもよい。「IDR_W_RADL」のようなNALユニットタイプを有するピクチャは、ピクチャに関連付けられた(associted)一つ以上のRADL(Rnadom Access Decodable Leading)ピクチャを有することができる。これとは異なり、「IDR_N_LP」のようなNALユニットタイプを有するピクチャは、前記ピクチャに関連付けられた如何なるリーディングピクチャ(leading picture)も有しない。
【0151】
-「CRA_NUT」:IRAPピクチャの一種であるCRA(Clean Random Access)ピクチャに対するVCL NALユニットタイプ;
【0152】
CRAピクチャは、ビットストリーム内で復号化順に1番目のピクチャであってもよく、或いは1番目後のピクチャであってもよい。CRAピクチャは、RADL又はRASL(Rnadom Access Skipped Leading)ピクチャに関連付けられることができる。
【0153】
-「GDR_NUT」:ランダムアクセス可能なGDR(Gradual Decoding Refresh)ピクチャに対するVCL NALユニットタイプ;
【0154】
-「STSA_NUT」:ランダムアクセス可能なSTSA(Step-wise Temporal Sublayer Access)ピクチャに対するVCL NALユニットタイプ;
【0155】
-「RADL_NUT」:リーディングピクチャであるRADLピクチャに対するVCL NALユニットタイプ;
【0156】
-「RASL_NUT」:リーディングピクチャであるRASLピクチャに対するVCL NALユニットタイプ;
【0157】
-「TRAIL_NUT」:トレーリング(Trailing)ピクチャに対するVCL NALユニットタイプ;
【0158】
トレーリングピクチャは、non-IRAPピクチャであって、出力順に前記トレーリングピクチャに関連付けられたIRAPピクチャ又はGDRピクチャに後続することができ、復号化順にトレーリングピクチャに関連付けられたIRAPピクチャに後続することができる。
【0159】
次に、パラメータセットの種類によるnon-VCL NALユニットタイプの一例は、次の通りである。
【0160】
-「DCI_NUT」:DCI(Decoding Capability Information)を含むnon-VCL NALユニットタイプ
【0161】
-「VPS_NUT」:VPS(Video Parameter Set)を含むnon-VCL NALユニットタイプ
【0162】
-「SPS_NUT」:SPS(Sequence Parameter Set)を含むnon-VCL NALユニットタイプ
【0163】
-「PPS_NUT」:PPS(Picture Parameter Set)を含むnon-VCL NALユニットタイプ
【0164】
-「PREFIX_APS_NUT」、「SUFFIX_APS_NUT」:APS(Adaptation Parameter Set)を含むnon-VCL NALユニットタイプ
【0165】
-「PH_NUT」:ピクチャヘッダー(Picture Header)を含むnon-VCL NALユニットタイプ
【0166】
上述したNALユニットタイプは、NALユニットヘッダーに含まれた所定のシンタックス情報(例えば、nal_unit_type)によって識別できる。
【0167】
一方、本開示においてビットストリーム形式で符号化された画像/ビデオ情報は、ピクチャパーティショニング情報、イントラ/インター予測情報、レジデュアル情報及び/又はインループ(in-loop)フィルタリング情報などを含むだけでなく、スライスヘッダー情報、ピクチャヘッダー情報、APS情報、PPS情報、SPS情報、VPS情報及び/又はDCIを含むことができる。また、前記符号化された画像/ビデオ情報は、一般制限情報(general constraint information、GCI)及び/又はNALユニットヘッダー情報をさらに含むことができる。本開示の実施例によれば、前記符号化された画像/ビデオ情報は、所定のフォーマット(例えば、ISO BMFF)のメディアファイルにカプセル化されて受信装置へ伝送されることができる。
【0168】
メディアファイル
【0169】
符号化された画像情報は、メディアファイルを生成するために所定のメディアファイルフォーマットに基づいて構成(configured)(又はフォーマット)できる。一例として、符号化された画像情報は、前記符号化された画像情報に対する一つ以上のNALユニット/サンプルエントリに基づいて、メディアファイル(セグメント)を形成することができる。
【0170】
メディアファイルは、サンプルエントリ(Sample Entry(s))とトラック(Track(s))を含むことができる。一例として、メディアファイルは、様々な記録(Records)を含むことができる。それぞれの記録は、メディアファイルフォーマットに関連する情報又は画像に関連する情報を含むことができる。一例において、一つ以上のNALユニットは、メディアファイル内の設定(configuration)記録(又は、デコーダ設定記録)フィールドに保存されることができる。また、メディアファイルは、動作点記録(operating point record)及び/又は動作点グループボックスを含むことができる。本開示において、VVC(Versatile Video Coding)を支援するデコーダ設定記録は、VVCデコーダ設定記録と呼ばれることがある。同様に、VVCを支援する動作点記録は、VVC動作点記録と呼ばれることがある。
【0171】
メディアファイルフォーマットにおいて使用される「サンプル」という用語は、ピクチャを表現する3つのサンプルアレイ(Y、Cb、Cr)のうちのいずれか一つの単一時間又は単一要素に関連付けられた全てのデータを意味することができる。「サンプル」という用語が(メディアファイルフォーマットの)トラックのコンテキスト(contex)で使用される場合、「サンプル」は、当該トラックの単一時間に関連付けられたすべてのデータを示すことができる。ここで、時間は、復号化時間(decoding time)又は合成時間(composition time)に対応することができる。また、「サンプル」という用語がピクチャのコンテキストで使用される場合(例えば、ルマ(luma)サンプル)、「サンプル」は、ピクチャを表現する3つのサンプルアレイのうちのいずれか一つの単一要素を示すことができる。
【0172】
図7は、メディアファイル構造の一例を示す図である。
【0173】
上述したように、オーディオ、ビデオ又は画像などのメディアデータを保存及び伝送するために、整形化されたメディアファイルフォーマットが定義できる。実施例によって、メディアファイルは、ISO BMFF(ISO base media file format)によるファイルフォーマットを有することができる。
【0174】
メディアファイルは、一つ以上のボックスを含むことができる。ここで、ボックスは、メディアデータ又はメディアデータに関連付けられたメタデータなどを含むデータブロック乃至オブジェクトであり得る。メディアファイル内において、ボックスは、階層構造を成すことができる。これにより、メディアファイルは、大容量のメディアデータの保存及び/又は伝送に適した形式を有することができる。さらに、メディアファイルは、特定のメディアデータへのアクセスに容易な構造を有することができる。
【0175】
図7を参照すると、メディアファイル700は、ftypボックス710、moovボックス720、moofボックス730、及びmdatボックス740を含むことができる。
【0176】
ftypボックス710は、メディアファイル700内のファイルタイプ、ファイルバージョン及び/又は互換性(compatibility)関連情報を含むことができる。実施例によって、ftypボックス710は、メディアファイル700の開始部(beginning)に位置することができる。
【0177】
moovボックス720は、メディアファイル700内のメディアデータを記述するメタデータを含むことができる。実施例によって、moovボックス720は、メタデータ関連ボックスの最上位レイヤーに存在することができる。さらに、moovボックス720は、メディアファイル700のヘッダー情報を含むことができる。例えば、moovボックス720は、デコーダ設定情報(Decoder Configuration Information)としてデコーダ設定記録を含むことができる。
【0178】
moovボックス720は、サブボックスであって、mvhdボックス721、trakボックス722、及びmvexボックス723を含むことができる。
【0179】
mvhdボックス721は、メディアファイル700内のメディアデータのプレゼンテーション関連情報(例えば、メディア生成時間、変更時間、周期など)を含むことができる。
【0180】
trakボックス722は、メディアデータのトラック(track)に対するメタデータを含むことができる。例えば、trakボックス722は、オーディオトラック又はビデオトラックに対するストリーム関連情報、プレゼンテーション関連情報及び/又はアクセス関連情報を含むことができる。trakボックス722は、メディアファイル700に存在するトラックの数に応じて複数存在することができる。trakボックス722の構造の一例は、
図8を参照して後述する。
【0181】
mvexボックス723は、メディアファイル700内の一つ以上のムービーフラグメントが存在するか否かに関する情報を含むことができる。ムービーフラグメントは、メディアファイル700内のメディアデータを分割して取得されるメディアデータの一部であり得る。ムービーフラグメントは、一つ以上のコーディングされたピクチャを含むことができる。例えば、ムービーフラグメントは、一つ以上のピクチャグループGOPsを含むことができ、それぞれのピクチャグループは、複数のコーディングされたフレーム又はピクチャを含むことができる。ムービーフラグメントは、mdatボックス740-1乃至740-N(ここで、Nは1以上の整数)にそれぞれ保存できる。
【0182】
moofボックス730-1乃至730-N(ここで、Nは1以上の整数)は、ムービーフラグメント、すなわち、mdatボックス740-1乃至740-Nに対するメタデータを含むことができる。実施例によって、moofボックス730-1乃至730-Nは、ムービーフラグメントのメタデータ関連ボックスのうちの最上位レイヤーに存在することができる。
【0183】
mdatボックス740-1乃至740-Nは実際のメディアデータを含むことができる。mdatボックス740-1乃至740-Nは、メディアファイル700に存在するムービーフラグメントの数に応じて複数存在することができる。それぞれのmdatボックス740-1乃至740-Nは、一つ以上のオーディオサンプル又はビデオサンプルを含むことができる。一例において、サンプルは、アクセスユニット(Access Unit、AC)を意味することができる。デコーダ設定記録がサンプルエントリに保存される場合、デコーダ設定記録は、パラメータセットだけでなく、各サンプルが属するNAL(Network Abstraction Layer)ユニットの長さを示すための長さフィールド(length field)のサイズを含むことができる。
【0184】
実施例によって、メディアファイル700は、セグメント(segment)単位で処理されて保存及び/又は伝送できる。セグメントは、初期化セグメント(initialization segment)I_seg及びメディアセグメント(media segmant)M_segを含むことができる。
【0185】
初期化セグメントI_segは、リプレゼンテーション(representation)にアクセスするための初期化情報を含むオブジェクト形態のデータ単位であり得る。初期化セグメントI_segは、上述したftypボックス710及び/又はmoovボックス720を含むことができる。
【0186】
メディアセグメントM_segは、ストリーミングサービスのために時間的に分割されたメディアデータを含むオブジェクト形態のデータ単位であり得る。メディアセグメントM_segは、前述したmoofボックス730-1乃至730-N及びmdatボックス740-1乃至740-Nを含むことができる。
図7には示されていないが、メディアセグメントM_segは、セグメントタイプ関連情報を含むstypボックス、及びメディアファイル700に含まれたサブセグメントの識別情報を含むsidxボックスをさらに含むことができる(ただし、optional)。
【0187】
図8は、
図7のtrakボックス構造の一例を示す図である。
【0188】
図8を参照すると、trakボックス800は、tkhdボックス810、trefボックス820、及びmdiaボックス830を含むことができる。
【0189】
tkhdボックス810は、トラックヘッダーボックスであって、トラックボックス800が示すトラック(track)(以下、「当該トラック」という)のヘッダー情報、例えば、当該トラックの生成/修正時間やトラック識別子などを含むことができる。
【0190】
trefボックス820は、トラック参照ボックスであって、当該トラックの参照情報、例えば、当該トラックが参照する他のトラックのトラック識別子を含むことができる。
【0191】
mdiaボックス830は、当該トラックにおけるメディアデータを記述する情報及びオブジェクトを含むことができる。実施例によって、mdiaボックス830は、前記メディアデータに関する情報を提供するminfボックス840を含むことができる。また、minfボックス840は、前記メディアデータを含むサンプルに対するメタデータを含むstblボックス850を含むことができる。
【0192】
stblボックス850は、サンプルテーブルボックスであって、トラック内でのサンプルの位置情報や時間情報などを含むことができる。リーダー(reader)は、stblボックス850によって提供された情報に基づいて、サンプルタイプとコンテナ内でのサンプルサイズ及びオフセットなどを決定し、サンプルを正しい時間順に位置させることができる。
【0193】
stblボックス850は、一つ以上のサンプルエントリボックス851、852を含むことができる。サンプルエントリボックス851、852は、特定のサンプルに対する各種パラメータを提供することができる。例えば、ビデオサンプルに対するサンプルエントリボックスは、前記ビデオサンプルの幅、高さ、解像度及び/又はフレームカウントを含むことができる。また、オーディオサンプルに対するサンプルエントリボックスは、前記オーディオサンプルのチャネルカウント、チャネルレイアウト及び/又はサンプリングレートを含むことができる。実施例によって、サンプルエントリボックス851、852は、stblボックス850内のサンプルディスクリプションボックス(図示せず)に含まれることができる。前記サンプルディスクリプションボックスは、サンプルに適用されたコーディングタイプに関する詳細情報及び前記コーディングタイプに必要な任意の初期化情報を提供することができる。
【0194】
また、stblボックス850は、一つ以上のサンプルトゥーグループボックス853、854及び一つ以上のサンプルグループディスクリプションボックス855、856を含むことができる。
【0195】
サンプルトゥーグループボックス853、854は、サンプルの属するサンプルグループを示すことができる。例えば、サンプルトゥーグループボックス853、854は、前記サンプルグループのタイプを示すグルーピングタイプシンタックス要素(例えば、grouping_type)を含むことができる。また、サンプルトゥーグループボックス853、854は、一つ以上のサンプルグループエントリを含むことができる。前記サンプルグループエントリは、サンプルカウントシンタックス要素(例えば、sample_count)及びグループディスクリプションインデックスシンタックス要素(例えば、group_description_index)を含むことができる。ここで、前記サンプルカウントシンタックス要素は、当該グループディスクリプションインデックスが適用される連続サンプルの数を表すことができる。サンプルグループは、ストリームアクセスポイント(stream access point、SAP)サンプルグループ、ランダムアクセスリカバリポイント(random access recovery point)サンプルグループなどを含むことができ、その具体的な内容は後述する。
【0196】
サンプルグループディスクリプションボックス855、856は、サンプルグループのディスクリプションを提供することができる。例えば、サンプルグループディスクリプションボックス855、856は、グルーピングタイプシンタックス要素(例えば、grouping_type)を含むことができる。サンプルグループディスクリプションボックス855、856は、同一のグルーピングタイプシンタックス要素値を有するサンプルトゥーグループボックス853、854に対応することができる。また、サンプルグループディスクリプションボックス855、856は、一つ以上のサンプルグループディスクリプションエントリを含むことができる。前記サンプルグループディスクリプションエントリは、「spor」サンプルグループディスクリプションエントリ、「minp」サンプルグループディスクリプションエントリ、「roll」サンプルグループディスクリプションエントリなどを含むことができる。
【0197】
以上、
図7及び
図8を参照して前述したように、メディアデータは、ISO BMFFなどのファイルフォーマットに従ってメディアファイル内にカプセル化できる。そして、メディアファイルは、MMT標準又はMPEG-DASH標準などによる画像信号を介して受信装置に伝送できる。
【0198】
【0199】
図9を参照すると、画像信号は、MPEG-DASH標準によるものであり、MPD910及び複数のリプレゼンテーション920-1乃至920-Nを含むことができる。
【0200】
MPD910は、メディアプレゼンテーションに対する詳細情報を含むファイルであって、XML形式で表現できる。MPD910は、複数のリプレゼンテーション920-1乃至920-Nに関する情報(例えば、ストリーミングコンテンツのビットレート、画像解像度、フレームレートなど)及びHTTPリソース(例えば、初期化セグメント及びメディアセグメント)のURLに関する情報を含むことができる。
【0201】
それぞれのリプレゼンテーション920-1乃至920-N(ここで、Nは1より大きい整数)は、複数のセグメントS-1乃至S-K(ここで、Kは1より大きい整数)に分割できる。ここで、複数のセグメントS-1乃至S-Kは、
図7を参照して前述した初期化セグメント及びメディアセグメントに対応することができる。K番目のセグメントS-Kは、それぞれのリプレゼンテーション920-1乃至920-N内で最後のムービーフラグメントを示すことができる。実施例によって、それぞれのリプレゼンテーション920-1乃至920-Nに含まれたセグメントS-1乃至S-Kの数(すなわち、Kの値)は互いに異なることができる。
【0202】
それぞれのセグメントS-1乃至S-Kは、実際のメディアデータ、例えば一つ以上のビデオ又は画像サンプルを含むことができる。それぞれのセグメントS-1乃至S-K内に含まれたビデオ又はイメージサンプルの特性は、MPD910によって記述できる。
【0203】
それぞれのセグメントS-1乃至S-Kは、固有のURL(Uniform Resource Locator)を有するので、独立してアクセス及び復元できる。
【0204】
一方、VVCコンテンツ(content)を保存するために、次のように3類型のエレメンタリストリーム(elecmentary streams)が定義できる。
【0205】
-ビデオエレメンタリストリーム(video elementary stream):ビデオエレメンタリストリームは、VCL NALユニットを含むが、パラメータセット、DCI又はOPI NALユニットを含まない。この場合、パラメータセット、DCI又はOPI NALユニットは、一つ以上のサンプルエントリ内に保存できる。ビデオエレメンタリストリームは、パラメータセット、DCI NALユニット、及びOPI NALユニットを除くnon-VCL NALユニットを含むことができる。
【0206】
-ビデオ及びパラメータセットエレメンタリストリーム(video and parameter set elementary stream):ビデオ及びパラメータセットエレメンタリストリームは、VCL NALユニットを含む。また、ビデオ及びパラメータセットエレメンタリストリームは、パラメータセット、DCI又はOPI NALユニットを含むことができ、一つ以上のサンプルエントリ内に保存されたパラメータセット、DCI又はOPI NALユニットを有することができる。
【0207】
-non-VCLエレメンタリストリーム:non-VCLエレメンタリストリームは、ビデオトラック内で運ばれるエレメンタリストリームと、同期化されるnon-VCL NALユニットのみを含む。
【0208】
また、VVCファイルフォーマットは、次のように様々な種類のトラックを定義する。
【0209】
-VVCトラック:VVCトラックは、サンプル及びサンプルエントリ内にNALユニットを含むことにより、可能であれば(possibly)VVCビットストリームの他のサブレイヤーを含むVVCトラックを参照することにより、かつ、可能であればVVCサブピクチャトラックを参照することにより、前記VVCビットストリームを示すことができる。VVCトラックがVVCサブピクチャトラックを参照する場合、前記VVCトラックは、VVCベーストラックと呼ばれることがある。
【0210】
-VVC non-VCLトラック:ALF(Adaptive Loop Filter)、LMCS(Luma Mapping with Chroma Scaling)、又はスケーリングリストパラメータを運ぶAPSs(Adaptive Parameter Sets)、及び他のnon-VCL NALユニットは、VCL NALユニットを含むトラックとは区別されるトラック内に保存され、前記トラックを介して伝送できる。VVC non-VCLトラックは、前記トラックを意味することができる。VVC non-VCLトラックは、サンプルエントリ内にパラメータセット、DCI又はOPI NALユニットを含まない。
【0211】
-VVCサブピクチャトラック:VVCサブピクチャトラックは、一つ以上のVVCサブピクチャのシーケンス、又は長方形領域を形成する一つ以上の完全なスライスのシーケンスを含むことができる。また、VVCサブピクチャトラックのサンプルは、復号化順に連続的な(contiguous)一つ以上の完全な(complete)サブピクチャ、又は、復号化順に連続的であり、長方形領域を形成する一つ以上の完全なスライスを含むことができる。VVCサブピクチャトラックの各サンプルに含まれるVVCサブピクチャ又はスライスは、復号化順に連続的であり得る。
【0212】
一方、VVC non-VCLトラック及びVVCサブピクチャトラックは、ストリーミングアプリケーションにおいてVVCビデオの最適な伝送(optimal delivery)を可能にすることができる。前記トラックそれぞれは、固有のDASHリプレゼンテーション(representation)内で運ばれることができる。また、前記トラックのサブセット(subset)の復号化及びレンダリングのために、VVCサブピクチャトラックのサブセットを含むDASHリプレゼンテーション、及びnon-VCLトラックを含むDASHリプレゼンテーションは、クライアントによってセグメント別に要求できる。このような方式で、APS及び他のnon-VCL NALユニットの冗長伝送(redundant transmission)を回避することができる。
【0213】
データ共有及びVVCビットストリーム復元の概要
【0214】
本プロセスの出力は、VVCビットストリームであって、前記VVCビットストリームは、出力ビットストリームと呼ばれることがある。
【0215】
ファイルリーダー(file reader)は、次の条件のうちの一つ以上が真である場合、本プロセスを行うことができる。
【0216】
i)VVCビットストリームエンティティグループ(例えば、「vvcb」)がファイル内に存在し、ファイルリーダーが、前記エンティティグループによって表現されるVVCビットストリームを処理して出力ビットストリームを生成する場合、
【0217】
ii)動作ポイントエンティティグループ(例えば、「opeg」)がファイル内に存在し、ファイルリーダーが、前記エンティティグループによって記述される任意の動作ポイントを用いて出力ビットストリームを生成する場合、
【0218】
iii)ファイルリーダーが1のようなplt_present_flagを有するVVCトラックのレイヤー又はサブレイヤーのサブセットを抽出して出力ビットストリームを生成する場合、
【0219】
iv)ファイルリーダーがVVCベーストラックを処理する場合、
【0220】
v)ファイルリーダーがVVC non-VCLトラックに関連するVVCトラックを処理する場合。
【0221】
本プロセスは、次のステップで構成できる。
【0222】
(Step1):
【0223】
前記条件i)乃至ii)のいずれかが真である場合、動作ポイントは、VVCビットストリームの開始点で決定され、IRAP又はGDRアクセスユニットに対して再び決定できる。
【0224】
1)動作点を決定する方法は、標準文書、例えばISO/IEC 14496-15に明示されたものとは異なることがある。
【0225】
2)ファイルリーダーが最初に動作点を選択するか、或いは以前に選択されたものとは異なる動作点を選択する場合、ファイルリーダーは、出力レイヤーセットインデックス、及び前記選択された動作点の最も高いTemporalID値を、出力ビットストリーム内に挿入されたOPI NALユニットに(動作ポイントが使用される一番目のアクセスユニットにおいてAU区切り文字(delimiter)NALユニット(存在する場合)に後続する一番目のNALユニットであって)含ませるか、或いは他の手段によって、VVCデコーダに指示しなければならない。
【0226】
一例において、復号化されるレイヤー及びサブレイヤーセットが、OPI NALユニット又は他の手段を介してデコーダに指示された最新の動作ポイント内に存在する限り、CVSを開始しないアクセスユニットAUsでレイヤー及びサブレイヤーをダウンスイッチ及びアップスイッチすることが可能である。このとき、レイヤーアップスイッチングは、0のようなTemporalIdを有するIRAP、GDR又はSTSAピクチャユニットで発生する可能性がある。また、サブレイヤーアップスイッチングは、STSAピクチャユニットで発生する可能性がある。
【0227】
3)後続のステップは、アクセスユニットのシーケンスに対して、動作点が決定されたアクセスユニットからビットストリームの終端又は次回の動作点が決定されたアクセスユニットまでの復号化順に従って適用できる。
【0228】
(Step2):
【0229】
VVCビットストリームがマルチVVCトラックによって表現される場合、ファイルパーサ(file parser)は、選択された動作点に必要なトラックを次のとおりに識別することができる。
【0230】
i)「opeg」エンティティグループからの動作点が選択された動作点を含む場合、前記「opeg」エンティティグループによって指示される動作点に属するトラックを選択する。
【0231】
ii)「opeg」エンティティグループが存在しない場合(すなわち、「vopi」サンプルグループが存在する場合)、VVCトラックがVVCビットストリームを示す「vvcb」エンティティグループから決定する。「vvcb」エンティティグループの一番目のentity_idは、「vopi」サンプルグループを含むトラックを識別する。レイヤー及びサブレイヤーに対する動作点のマッピングは、「vopi」サンプルグループから終結される。選択された動作点のレイヤー及びサブレイヤーを含み、よって、前記選択された動作点を復号化するために必要なトラックの集合は、VVCビットストリームのVVCトラック内に存在する「linf」サンプルグループから終結される。
【0232】
特定のレイヤー又はサブレイヤーは、一つより多いトラックによって表現できるため、動作点に必要なトラックを特定するときに、特定のレイヤー又はサブレイヤーをすべて運ぶトラックの集合の中から選択される必要があり得る。
【0233】
(Step3):
【0234】
出力ビットストリームに対するアクセスユニットは、選択された動作点に必要なVVCトラックのうち(上記の条件i、ii、又はiiiが真である場合)、又はVVCベーストラック内で(上記の条件ivが真である場合)、又はVVCトラック内で(上述した条件vが真である場合)、サンプルの復号化時間順に復元できる。
【0235】
4)複数のトラックがアクセスユニットに関するデータを含む場合、トラック内の各サンプルの整列は、サンプル復号化時間に基づいて行われることができる。
【0236】
5)暗黙的復元プロセスを繰り返し呼び出すことにより、必要なトラック内の各サンプルからアクセスユニットのシーケンスが復元できる。
【0237】
6)前記復元されたアクセスユニットは、復号化時間順に昇順で出力ビットストリーム内に配置できる。
【0238】
(Step4):
【0239】
次の条件がすべて真である場合、ファイルリーダーは、出力ビットストリームに適用された動作点の各レイヤーにEOS NALユニットを含ませなければならない。
【0240】
-以前に選択されたものとは異なる動作点の選択がアクセスユニットのシーケンス後続し、
【0241】
-アクセスユニットのシーケンスが適用された動作点の各レイヤー内でEOS NALユニットにて終わらないか、或いはEOB NALユニットにて終わらない場合
【0242】
VVCビットストリームがマルチVVCトラックによって表現される場合、サンプルの復号化時間は、トラックが復号化時間を増加させて整列される単一ビットストリーム内に結合されるとき、アクセスユニットの順序が標準文書、例えばISO/IEC 23090-3(VVC標準)に明示されているとおりに正しく設定されなければならない。
【0243】
VVCビットストリームの暗黙的復元
【0244】
本プロセスは、要求されたVVCトラック、関連したVVC non-VCLトラック、及び参照されたVVCサブピクチャトラックの中で現在復号化時間を有する時間整列されたサンプルからのアクセスユニット復元を表すことができる。
【0245】
VCL NALユニットが0より大きいTemporalIdを有するサブレイヤーを含むビットストリームを復元する場合、同じレイヤー内のすべてのサブレイヤー(すなわち、VCL NALユニットがより小さいTemporalIdを有するサブレイヤー)も、ビットストリーム内に含まれることができる。
【0246】
現在復号化時間のサンプルが、選択された動作点に含まれた最も大きいTemporalIdよりも大きいTemporalIdを有するVCL NALユニットを含む場合、前記現在復号化時間からは如何なるアクセスユニットも復元できない。
【0247】
アクセスユニットを復元する場合、同じ復号化時間を有するサンプルからのピクチャユニットは(標準文書、例えばISO/IEC 23090-3(VVC標準)で明示されているようなピクチャユニット)、nuh_layer_id値の昇順で前記アクセスユニット内に位置することができる。所定の条件に応じて、次のステップが行われることができる。
【0248】
-サンプルの一番目のピクチャユニットを含むトラックのサンプルが、ols_idx及びlower_ols_idx_inclusiveを含むサンプルグループ「aud」に属するとマーキングされ、ターゲット動作点に対応する場合、「aud」サンプルグループ内のAUD NALユニットは、アクセスユニットの1番目のNALユニットとして前記アクセスユニット内に配置できる。
【0249】
-トラック内のサンプルがターゲット動作点に対応するols_idx、max_tid、及びlower_ols_idx_inclusiveを有するサンプルグループ「eos」に属するとマーキングされた場合、「eos」サンプルグループ内のEOS NALユニットは、アクセスユニット内で指示された位置、すなわちサンプルグループ「aud」によって挿入された場合、AUD NALユニットを除く復元されたアクセスユニットのeos_position番目のNALユニットの次の位置に配置できる。
【0250】
-トラック内のサンプルがターゲット動作点に対応するols_idx、max_tid、及びlower_ols_idx_inclusiveを有する「eob」サンプルグループに属するとマーキングされた場合、「eob」サンプルグループ内のEOB NALユニットは、アクセスユニット内で(EOS NALユニットを含む)他のすべてのNALユニットの後に配置できる。
【0251】
ターゲット動作点内のレイヤー及びサブレイヤーからのピクチャユニットのみが出力ビットストリームに含まれることができる。
【0252】
一例において、動作点エンティティグループ(すなわち、Operating Points Entity Group)が存在しない場合、ビットストリームの復元に要求されるトラック内で伝達されるが、ターゲット動作点には、属さないレイヤー又はサブレイヤーが存在し得る。
【0253】
一例において、VVCデコーダ実現は、標準文書、例えばISO/IEC 23090-3(VVC標準):2021で定義された、ターゲット出力レイヤーセットインデックスTargetOlsIdx及びターゲット動作点のTemporalId最高値HighestTidに対応するビットストリームを入力として取ることができる。ファイルパーサは、VVCデコーダに送る前に、ターゲット動作点に含まれたもの以外の他のレイヤー及びサブレイヤーを含まないことを確認する必要がある。
【0254】
出力レイヤーセットインデックスi(「vopi」サンプルグループ内でnum_olssに対するfor-loopで)に関連付けられた動作点に基づいてアクセスユニットを復元する場合、次のことが適用できる。
【0255】
-アクセスユニットを復元する場合、0からlayer_count[i]-1までの範囲内のインデックスjを有する、出力レイヤーセット内の各レイヤーに対して、num_ref_sublayers_in_layer_in_ols[i][j]が0より大きければ、VCL NALユニットは、 VCL NALユニットがMin(num_ref_sublayers_in_layer_in_ols[i][j]-1、max_temporal_id)と同じかそれより小さいTemporalIdを有するレイヤーのサブレイヤーに属することができ、結果として、ビットストリームに含まれることができ、要求されたトラックは、それに応じて選択できる。ここで、max_temporal_idは、動作点に対する対応シンタックス要素の値を意味することができる。
【0256】
-アクセスユニットを復元する場合、0からlayer_count[i]-1までの範囲内のインデックスjを有する、出力レイヤーセット内の各レイヤーに対して、num_ref_sublayers_in_layer_in_ols[i][j]が0と同じであれば、参照レイヤーのすべてのピクチャユニットのうち、0のようなph_recovery_poc_cntを有するIRAPピクチャユニット及びGDRピクチャユニットのみが結果的にビットストリーム内に含まれることができ、要求されたトラックはそれに応じて選択できる。
【0257】
VVCトラックのアクセスユニットは、非指定(unspecified)NALユニットタイプ(UNSPEC_28乃至UNSPEC_31の範囲内のnal_unit_type、すなわち標準文書、例えばISO/IEC 23090-3(VVC標準)で定義された28乃至31の範囲内のnal_unit_type値を有するNALユニット)を含む場合、前記非指定NALユニットタイプは、最終復元されたビットストリームから除去(discard)されなければならない。
【0258】
VVCトラックが「subp」トラック参照を含む場合、各ピクチャユニットは、標準文書、例えばISO/IEC 14496-15の下位条項(subclause)11.6.3に明示されているところによって復元できる。VVCトラックが「recr」トラック参照を含む場合、各ピクチャユニットは、標準文書、例えばISO/IEC 14496-15の下位条項11.6.6に明示されているところによって復元できる。前記下位条項に明示されたプロセスは、nuh_layer_idの昇順でターゲット動作点の各レイヤーに対して繰り返し行われることができる。
【0259】
復元されたアクセスユニットは、復号化時間の昇順でVVCビットストリーム内に配置できる。
【0260】
特定のレイヤー又はサブレイヤーは、一つより多いトラックによって表現できるので、動作点に要求されるトラックを把握(figure out)する場合、前記特定のレイヤー又はサブレイヤーを運ぶすべてのトラックのセットの中から選択されなければならない。
【0261】
VVCサブピクチャトラックを参照するVVCトラック内のサンプルからのピクチャユニットの復元
【0262】
VVCトラックのサンプルは、次の手順に従ってピクチャユニットに分解(resolove)できる。
【0263】
-サンプル内、又は関連付けられたVVC non-VCLトラックの時間整列されたサンプル内にAUD NALユニットが存在する場合、前記AUD NALユニットはピクチャユニット内に含まれることができる。
【0264】
一例において、AUD NALユニットがサンプル内に存在する場合、前記AUD NALユニットは、前記サンプル内の1番目のNALユニットであり得る。
【0265】
-関連付けられたVVC non-VCLトラックが存在し、ピクチャユニットがサンプルから復元されたアクセスユニット内の1番目のピクチャユニットである場合、次のNALユニットは、前記ピクチャユニット内に含まれることができる。
【0266】
EOS_NUT、EOB_NUT、SUFFIX_APS_NUT、SUFFIX_SEI_NUT、FD_NUT、又はRSV_NVCL_27のようなnal_unit_typeを有する関連付けられたVVC non-VCLトラックの時間整列されたサンプル内に少なくとも一つのNALユニットが存在する場合(上述したNALユニットタイプを有するNALユニットは、ピクチャユニット内で1番目のVCL NALユニットに先行することはできない)、関連付けられたVVC non-VCLトラックの時間整列されたサンプル内のNALユニットは(ただし、AUD NALユニットは除く)、これらのNALユニットのうち1番目のNALユニットを除くNALユニット。それ以外の場合は、関連付けられたVVC non-VCLトラックの時間整列されたサンプル内のすべてのNALユニット。
【0267】
-EOS_NUT、EOB_NUT、SUFFIX_APS_NUT、SUFFIX_SEI_NUT、FD_NUT、又はRSV_NVCL_27のようなnal_unit_typeを有するサンプル内に少なくとも一つのNALユニットが存在する場合(上述したNALユニットタイプを有するNALユニットは、ピクチャユニット内で1番目のVCL NALユニットに先行することはできない)、これらのNALユニットのうちの1番目のNALユニットを除くサンプル内のNALユニットは、ピクチャユニット内に含まれることができる。それ以外の場合、サンプル内のすべてのNALユニットはピクチャユニット内に含まれることができる。
【0268】
-リーダー(reader)が動作点を選択した場合、リーダーは、上記のすべてのステップで復元されたアクセスユニットからサンプルエントリ及びサンプルに保存されたすべてのOPI NALユニットを除外しなければならない。
【0269】
一例において、マルチトラックがVVCビットストリームのレイヤー又はサブレイヤーを保存するのに用いられる場合、サンプルエントリ又はサンプル内にOPI NALユニットを含まないことが好ましい。
【0270】
-VVCトラックがVVCサブピクチャトラックを参照しなければ、VVCトラックにおけるサンプルのNALユニットはピクチャユニット内に含まれることができる。
【0271】
それ以外の場合は、次のことが適用できる。
【0272】
トラック参照は、標準文書、例えばISO/IEC 14496-15の下位条項11.6.4に明示されたところによって分解(resolved)できる。
【0273】
また、必要に応じて、パラメータセットは、標準文書、例えばISO/IEC 14496-15の下位条項11.6.5に明示されたところによって更新できる。
【0274】
さらに、1のようなsn_subpic_flagを有するスケーラブルネスティング(scalable nesting)SEIメッセージを含むすべてのSEI NALユニットと、すべてのDCI、OPI、VPS、SPS、PPS、AUD、PH、EOS、EOB NALユニットを除いて、ピクチャユニットは、「subp」トラック参照で参照されるVVCサブピクチャトラックの順に(本サンプルにマッピングされた「spor」サンプルグループエントリの同じグループエントリ内でnum_subpic_ref_idxが0である場合)、又は本サンプルにマッピングされた「spor」サンプルグループディスクリプションエントリで明示された順に(本サンプルにマッピングされた「spor」サンプルグループエントリの同じグループエントリ内でnum_subpic_ref_idxが0より大きい場合)、それぞれの参照されたVVCサブピクチャトラック内(復号化時間上)の時間整列された分解サンプルのコンテンツによって追加(appended)できる。
【0275】
また、参照されたVVCサブピクチャがVVC non-VCLトラックに関連付けられている場合、VVCサブピクチャトラックの分解サンプルは、次のNALユニットを含むことができる。i)EOS_NUT、EOB_NUT、SUFFIX_APS_NUT、SUFFIX_SEI_NUT、FD_NUT、又はRSV_NVCL_27のようなnal_unit_typeを有する関連付けられたVVC non-VCLトラックの時間整列されたサンプル内に少なくとも一つのNALユニットが存在する場合(上述したNALユニットタイプを有するNALユニットは、ピクチャユニット内で1番目のVCL NALユニットに先行することはできない)、これらのNALユニットのうちの1番目のNALユニットを除く関連付けられたVVC non-VCLトラックの時間整列されたサンプル内のNALユニット(ただし、AUD NALユニットを除く)。ii)それ以外の場合、関連付けられたVVC non-VCLトラックの時間整列されたサンプル内のすべてのNALユニット。iii)参照されたVVCサブピクチャトラックのサンプル内のNALユニット。iv)関連付けられたVVC non-VCLトラックの時間整列されたサンプル内の残り(remaining)のNALユニット。
【0276】
-EOS_NUT、EOB_NUT、SUFFIX_APS_NUT、SUFFIX_SEI_NUT、FD_NUT、又はRSV_NVCL_27のようなnal_unit_typeを有するサンプル内のすべてのNALユニットは、ピクチャユニット内に含まれることができる。
【0277】
-関連付けられたVVC non-VCLトラックが存在し、サンプルから復元されたアクセスユニット内でピクチャユニットが最後のピクチャユニットである場合、EOS_NUT、EOB_NUT、SUFFIX_APS_NUT、SUFFIX_SEI_NUT、FD_NUT、又はRSV_NVCL_27のようなnal_unit_typeを有する関連付けられたVVC non-VCLトラックの時間整列されたサンプル内の全てのNALユニットは、ピクチャユニット内に含まれることができる。
【0278】
-UNSPEC_28乃至UNSPEC_31の範囲内のnal_unit_typeを有するサンプル内のすべてのNALユニット及びNALユニット類似構造(NAL-unit-like structures)は、ピクチャユニットから除去されなければならない。
【0279】
以下、EOSサンプルグループ及びEOBサンプルグループについて詳細に説明する。
【0280】
EOSサンプルグループ-従来技術の問題点
【0281】
EOS(end of sequence)サンプルグループのサンプルグループディスクプリションエントリは、EOS NALユニットを含むことができる。サンプルがEOSサンプルグループ(「eos」)にマッピングされる場合、前記サンプルグループ内に含まれたEOS NALユニットは、ターゲット動作点が出力レイヤーセット及びEOSサンプルグループ内で指示される最大temporal IDに対応すると、復元されtアクセスユニット内で指示された位置に挿入される必要があることを示すことができる。一方、EOSサンプルグループは、「eos」サンプルグループ又は「eos」と呼ぶこともあり、以下に別段の記載がない限り、これらを混用して使用することとする。
【0282】
図10は、EOSサンプルグループエントリのシンタックス構造を示す図である。
【0283】
図11は、マルチレイヤーを運ぶトラックの一例を示す図である。
【0284】
まず、
図10を参照すると、EOSサンプルエントリ(EndOfSequenceSampleEntry)は、シンタックス要素ols_idx、max_tid、lower_ols_idx_inclusive、eos_position、及びeosNalUnitを含むことができる。
【0285】
シンタックス要素ols_idx及びmax_tidは、EOSサンプルグループが適用される動作点を指示することができる。
【0286】
シンタックス要素lower_ols_idx_inclusiveは、EOSサンプルグループが特定の動作点にのみ適用されるか否かを示すことができる。例えば、第2値(例えば、0)のlower_ols_idx_inclusiveは、EOSサンプルグループがols_idxのような出力レイヤーセットインデックス(OLS index)を有する動作点に対してのみ適用されることを示すことができる。これとは異なり、第1値(例えば、1)のlower_ols_idx_inclusiveは、EOSサンプルグループが0からols_idxまでのインデックスを有するすべての出力レイヤーセットに対して適用されることを示すことができる。
【0287】
シンタックス要素eos_positionは、EOS NALユニットが復元されたビットストリーム内に配置された後に、復元されたアクセスユニットのNALユニットのインデックスを示すことができる。
【0288】
シンタックス要素eosNalUnitは、標準文書、例えばISO/IEC 23090-3(VVC標準)に明示されたEOS NALユニットを含むことができる。
【0289】
VVCエレメンタリストリーム(elementary stream)がマルチレイヤーを含む場合、トラックは、マルチレイヤーを運ぶことができる。この場合、各レイヤー当たり一つずつ、複数のEOS NALユニットがアクセスユニット内に挿入される必要がある。例えば、
図11に示すように、マルチレイヤー構造のトラック1で、ビデオシーケンスは、レイヤー別に生成されることができる。その結果、ビデオシーケンスの終了を示すために、各レイヤー(レイヤー0及びレイヤー1)当たり一つずつ、合計2つのEOS NALユニットが最後のアクセスユニットとしてのAU2内に挿入されなければならない。
【0290】
しかし、
図10のシンタックス構造によれば、一つの「eos」サンプルグループは、一つのEOS NALユニットのみを運ぶことができるだけである。各サンプル又はアクセスユニットに対して一つの「eos」サンプルグループのみがマッピングされることを考慮するとき、これは、各サンプル又はアクセスユニット内に一つのEOS NALユニットのみが挿入できることを意味する。したがって、
図10の「eos」サンプルグループデザインは、マルチレイヤーを有するVVCエレメンタリストリームに対しては作動することができないという問題が生じる。
【0291】
かかる問題を解決するために、本開示の実施例は、複数のEOS NALユニットを運ぶことができる新しい「eos」サンプルグループデザインを提供する。
【0292】
本開示の実施例は、次の構成のうちの少なくとも一つを含むことができる。実施例によって、これらの構成は、個別に実現されてもよく、又は2つ以上の組み合わせで実現されてもよい。
【0293】
(構成1):「eos」サンプルグループが複数のEOS NALユニットを運ぶことが許容できる。
【0294】
(構成2):前記構成1を支援するために、「eos」サンプルグループのシンタックスは、次のとおりに変更できる。
【0295】
-「eos」サンプルグループ内に存在するEOS NALユニットの数を示すために、新しいシンタックス要素num_eos_nal_unit_minus1がシグナリングできる。このとき、前記「eos」サンプルグループ内のEOS NALユニットの数は、num_eos_nal_unit_minus1+1であり得る。
【0296】
-EOS NALユニット及びその挿入位置に関するfor loopが追加できる。
【0297】
(構成3):EOS NALユニットの挿入位置(すなわち、eos_position[i])をシグナリングする際に、前記挿入位置は、サンプル内のNALユニットのみを考慮するだけであり、挿入されるNALユニットをカウントしなくてもよい。
【0298】
(構成4):EOS NALユニットの挿入位置に関するシンタックス要素eos_position[i]がシグナリングできる。ここで、シンタックス要素eos_position[i]は、i番目のEOS NALユニットが挿入されるサンプル内のNALユニットのインデックスを示すことができる。
【0299】
(構成5):eos_position[i]をシグナリングする代わりに、delta_eos_position[i]がシグナリングされることもできる。この場合、eos_position[i]の値は、delta_eos_position[i]に基づいて次の通りに誘導できる。
【0300】
-iが0であれば、eos_position[i]は、delta_eos_position[i]と同一の値に誘導できる。
【0301】
-それ以外の場合、eos_position[i]は、eos_position[i-1]+delta_eos_position[i]と同じ値に誘導できる。
【0302】
(構成6):上述した構成3とは異なり、EOS NALユニットが配置される位置に関する位置情報がシグナリングされなくてもよい。「eos」サンプルグループにマッピングされたサンプルがアクセスユニットの復元のために含まれる場合、前記「eos」サンプルグループ内のEOS NALユニットは、復元されたアクセスユニットの終端に挿入されてもよい。
【0303】
(構成7):上述した構成3とは異なり、EOS NALユニットが配置される位置に関する位置情報がシグナリングされなくてもよい。「eos」サンプルグループにマッピングされたサンプルがアクセスユニットの復元のために含まれる場合、前記「eos」サンプルグループ内のEOS NALユニットは、アクセスユニットに必要なサンプルからのすべてのNALユニットの後に復元されたアクセスユニットに挿入できる。
【0304】
以下、上述した構成に基づく本開示の実施例を詳細に説明する。
【0305】
実施例1
【0306】
本開示の実施例1は、上述した構成1乃至構成4に基づいて提供できる。実施例1の実現は、VVCファイルフォーマットの仕様に関連することができる。
【0307】
実施例1によれば、既存のEOSサンプルグループとは異なり、一つのEOSサンプルグループ内で複数のEOS NALユニットを運ぶことができる。以下、
図10を参照して、前述した既存のEOSサンプルグループと重複している説明は省略する。
【0308】
図12は、本開示の一実施例によるEOSサンプルグループエントリのシンタックス構造を示す図である。
【0309】
図12を参照すると、EOSサンプルグループエントリ(EndOfSequenceSampleEntry)は、シンタックス要素ols_idx、max_tid、lower_ols_idx_inclusive、num_eos_nal_unit_minus1、eos_position[i]、及びeosNalUnit[i]を含むことができる。
【0310】
シンタックス要素ols_idx及びmax_tidは、EOSサンプルグループが適用される動作点を指示することができる。
【0311】
シンタックス要素lower_ols_idx_inclusiveは、EOSサンプルグループが特定の動作点にのみ適用されるか否かを示すことができる。例えば、第2値(例えば、0)のlower_ols_idx_inclusiveは、EOSサンプルグループがols_idxのような出力レイヤーセットインデックス(OLS index)を有する動作点に対してのみ適用されることを示すことができる。これとは異なり、第1値(例えば、1)のlower_ols_idx_inclusiveは、EOSサンプルグループが0からols_idxまでのインデックスを有するすべての出力レイヤーセットに対して適用されることを示すことができる。
【0312】
シンタックス要素num_eos_nal_unit_minus1は、EOSサンプルグループ内に存在するEOS NALユニットの数から1を差し引いた値を示すことができる。
【0313】
シンタックス要素eos_position[i]は、現在サンプル内でi番目のEOS NALユニットが配置された後のNALユニットインデックスを示すことができる。ここで、前記NALユニットインデックスは、現在サンプルに挿入/配置できる他のNALユニットを除き、現在サンプル内に本質的に(natively)存在するNALユニットのみを考慮することができる。現在サンプル内の1番目のNALユニットは、0番目のNALユニットとして見做されることができる。
【0314】
一例において、現在サンプルは、サンプル又は復元されたアクセスユニット内に挿入されるAUD NALユニット及び/又はEOB NALユニットを誘発する「aud」サンプルグループ及び/又は「eob」サンプルグループにマッピングされることもできる。この場合、eos_position[i]は、AUD NALユニット及び/又はEOB NALユニットの挿入前のNALユニットの位置に基づくことができる。
【0315】
シンタックス要素eosNalUnit[i]は、サンプルグループにおいて、標準文書、例えばISO/IEC 23090-3(VVC標準)に明示されたi番目のEOS NALユニットを含むことができる。
【0316】
一方、上述したVVCビットストリームの暗黙的復元プロセスの一部は、実施例1によって次のとおりに修正できる。
【0317】
アクセスユニットを復元する場合、同じ復号化時間を有するサンプルからのピクチャユニットは(標準文書、例えばISO/IEC 23090-3(VVC標準)で明示されているようなピクチャユニット)、nuh_layer_id値の昇順で前記アクセスユニット内に位置することができる。所定の条件に応じて、次のステップが行われることができる。
【0318】
-サンプルの1番目のピクチャユニットを含むトラックのサンプルがols_idx及びlower_ols_idx_inclusiveを含むサンプルグループ「aud」に属するとマーキングされ、ターゲット動作点に対応する場合、「aud」サンプルグループ内のAUD NALユニットは、アクセスユニットの1番目のNALユニットとして前記AU内に配置されることができる。
【0319】
-トラック内のサンプルがターゲット動作点に対応するols_idx、max_tid、及びlower_ols_idx_inclusiveを有するサンプルグループ「eos」に属するとマーキングされた場合、「eos」サンプルグループ内のEOS NALユニットは、アクセスユニット内で次のとおりに配置できる。
【0320】
i)1番目のEOS NALユニットに対して、次のことが適用できる。
【0321】
サンプルの1番目(すなわち、eos_position[0]+1)NALユニットを、復元されたアクセスユニット内に位置させる。
【0322】
「eos」サンプルグループ内のインデックス0を有するEOS NALユニット(すなわち、eosNalUnit[i])を前記アクセスユニット内に位置させる。
【0323】
ii)2番目のEOS NALユニットから最後のEOS NALユニット(すなわち、0よりも大きいインデックスiを有するEOS NALユニット)に対して、次のことが適用できる。
【0324】
サンプルの次の(eos_position[i]-eos_position[i-1])番目のNALユニットを、復元されたアクセスユニット内に位置させる。
【0325】
「eos」サンプルグループ内のインデックスiを有するEOS NALユニット(すなわち、eosNalUnit[i])を前記アクセスユニット内に位置させる。
【0326】
iii)サンプルの残りのNALユニットが存在する場合、前記残りのNALユニットを、復元されたアクセスユニット内に位置させる。
【0327】
-トラック内のサンプルがターゲット動作点に対応するols_idx、max_tid、及びlower_ols_idx_inclusiveを有する「eob」サンプルグループに属するとマーキングされた場合、「eob」サンプルグループ内のEOB NALユニットは、(EOS NALユニットを含む)アクセスユニット内で(EOS NALユニットを含む)他のすべてのNALユニットの後に配置できる。
【0328】
ターゲット動作点内のレイヤー及びサブレイヤーからのピクチャユニットのみが出力ビットストリームに含まれることができる。
【0329】
以上、実施例1によれば、EOSサンプルグループは、複数のEOS NALユニット及びその個数情報を含むことができる。これにより、マルチレイヤー構造のアクセスユニットを正しく復元することができる。
【0330】
実施例2
【0331】
本開示の実施例2は、上述した構成4を除くすべての構成に基づいて提供できる。実施例2の実現は、実施例1に関連することができる。
【0332】
実施例2によれば、既存のEOSサンプルグループとは異なり、一つのEOSサンプルグループ内で複数のEOS NALユニットを運ぶことができる。以下、
図10を参照して、上述した既存のEOSサンプルグループと重複している説明は省略する。
【0333】
図13は、本開示の他の実施例によるEOSサンプルグループエントリのシンタックス構造を示す図である。
【0334】
図13を参照すると、EOSサンプルグループエントリ(EndOfSequenceSampleEntry)は、シンタックス要素ols_idx、max_tid、lower_ols_idx_inclusive、num_eos_nal_unit_minus1、delta_eos_position[i]、及びeosNalUnit[i]を含むことができる。
【0335】
シンタックス要素ols_idx及びmax_tidは、EOSサンプルグループが適用される動作点を示すことができる。
【0336】
シンタックス要素lower_ols_idx_inclusiveは、EOSサンプルグループが特定の動作点にのみ適用されるか否かを示すことができる。例えば、第2値(例えば、0)のlower_ols_idx_inclusiveは、EOSサンプルグループがols_idxのような出力レイヤーセットインデックス(OLS index)を有する動作点に対してのみ適用されることを示すことができる。これとは異なり、第1値(例えば、1)のlower_ols_idx_inclusiveは、EOSサンプルグループが0乃至ols_idxのインデックスを有するすべての出力レイヤーセットに対して適用されることを示すことができる。
【0337】
シンタックス要素num_eos_nal_unit_minus1は、EOSサンプルグループ内に存在するEOS NALユニットの数から1を差し引いた値を示すことができる。
【0338】
シンタックス要素delta_eos_position[i]は、現在サンプル内でi番目のEOS NALユニットが配置された後のNALユニットインデックスを示すeos_position[i]の値を誘導するために用いられ得る。ここで、前記NALユニットインデックスは、現在サンプルに挿入/配置できる他のNALユニットを除き、現在サンプル内に本質的に(natively)存在するNALユニットのみを考慮することができる。現在サンプル内の1番目のNALユニットは、0番目のNALユニットとして見做されることができる。eos_position[0]は、delta_eos_position[0]と同一に設定できる。0より大きいiに対して、eos_position[i]は、eos_position[i-1]+delta_eos_position[i]と同一に設定できる。このように、
図13のEOSサンプルグループエントリは、EOS NALユニットの挿入位置を誘導するための差分情報を含むという点で、EOS NALユニットの挿入位置を示す情報を含む
図12の場合とは異なり得る。
【0339】
一方、一例において、現在サンプルは、サンプル又は復元されたアクセスユニット内に挿入されるAUD NALユニット及び/又はEOB NALユニットを誘発する「aud」サンプルグループ及び/又は「eob」サンプルグループにマッピングされることもできる。この場合、eos_position[i]は、AUD NALユニット及び/又はEOB NALユニットの挿入前のNALユニットの位置に基づくことができる。
【0340】
シンタックス要素eosNalUnit[i]は、サンプルグループにおいて、標準文書、例えばISO/IEC 23090-3(VVC標準)に明示されているi番目のEOS NALユニットを含むことができる。
【0341】
以上、実施例2によれば、EOSサンプルグループは、複数のEOS NALユニット及びその個数情報を含むことができる。これにより、マルチレイヤー構造のアクセスユニットを正しく復元することができる。
【0342】
実施例3
【0343】
本開示の実施例3は、上述した構成1、構成2及び構成6に基づいて提供できる。実施例3の実現は、VVCファイルフォーマットの仕様に関連できる。
【0344】
実施例3によれば、既存のEOSサンプルグループとは異なり、一つのEOSサンプルグループ内で複数のEOS NALユニットを運ぶことができる。また、EOS NALユニットの挿入位置を示す情報がEOSサンプル群から除外できる。以下、
図10を参照して上述した既存のEOSサンプルグループと重複している説明は省略する。
【0345】
図14は、本開示の別の実施例によるEOSサンプルグループエントリのシンタックス構造を示す図である。
【0346】
図14を参照すると、EOSサンプルグループエントリ(EndOfSequenceSampleEntry)は、シンタックス要素ols_idx、max_tid、lower_ols_idx_inclusive、num_eos_nal_unit_minus1、及びeosNalUnit[i]を含むことができる。
【0347】
シンタックス要素ols_idx及びmax_tidは、EOSサンプルグループが適用される動作点を指示することができる。
【0348】
シンタックス要素lower_ols_idx_inclusiveは、EOSサンプルグループが特定の動作点にのみ適用されるか否かを示すことができる。例えば、第2値(例えば、0)のlower_ols_idx_inclusiveは、EOSサンプルグループがols_idxのような出力レイヤーセットインデックス(OLS index)を有する動作点に対してのみ適用されることを示すことができる。これとは異なり、第1値(例えば、1)のlower_ols_idx_inclusiveは、EOSサンプルグループが0からols_idxまでのインデックスを有するすべての出力レイヤーセットに対して適用されることを示すことができる。
【0349】
シンタックス要素num_eos_nal_unit_minus1に1を加えた値は、EOSサンプルグループ内に存在するEOS NALユニットの数を示すことができる。
【0350】
シンタックス要素eosNalUnit[i]は、サンプルグループにおいて、標準文書、例えばISO/IEC 23090-3(VVC標準)に明示されているi番目のEOS NALユニットを含むことができる。
【0351】
図14のEOSサンプルグループエントリは、
図12及び
図13のEOSサンプルグループエントリとは異なり、EOS NALユニットの挿入位置に関するシンタックス要素(例えば、eos_position[i]、delta_eos_position[i])を含まない。これにより、EOSサンプルグループエントリのビットサイズがより減少することができる。
【0352】
一方、上述したVVCビットストリームの暗黙的復元プロセスの一部は、実施例3に従って次のとおりに修正できる。
【0353】
アクセスユニットを復元する場合、同じ復号化時間を有するサンプルからのピクチャユニットは(標準文書、例えばISO/IEC 23090-3(VVC標準)に明示されているようなピクチャユニットなど)、nuh_layer_id値の昇順で前記アクセスユニット内に位置することができる。所定の条件に応じて、次のステップが行われることができる。
【0354】
-サンプルの1番目のピクチャユニットを含むトラックのサンプルが、ols_idx及びlower_ols_idx_inclusiveを含むサンプルグループ「aud」に属するとマーキングされ、ターゲット動作点に対応する場合、「aud」サンプルグループ内のAUD NALユニットは、アクセスユニットの1番目のNALユニットとして前記アクセスユニット内に配置できる。
【0355】
-トラック内のサンプルがターゲット動作点に対応するols_idx、max_tid、及びlower_ols_idx_inclusiveを有するサンプルグループ「eos」に属するとマーキングされた場合、「eos」サンプルグループ内のEOS NALユニットは、EOB NALユニット(存在する場合)を除くアクセスユニットのすべてのNALユニットの後にアクセスユニット内に配置できる。
【0356】
-トラック内のサンプルがターゲット動作点に対応するols_idx、max_tid、及びlower_ols_idx_inclusiveを有する「eob」サンプルグループに属するとマーキングされている場合、「eob」サンプルグループ内のEOB NALユニットは、アクセスユニット内で(EOS NALユニットを含む)他のすべてのNALユニットの後に配置できる。
【0357】
以上、実施例3によれば、EOSサンプルグループは、複数のEOS NALユニット及びその個数情報を含むことができる。また、EOS NALユニットの挿入位置を示す情報がEOSサンプル群から除外できる。これにより、ビット数を節約しながら、マルチレイヤー構造のアクセスユニットを正しく復元することができる。
【0358】
実施例4
【0359】
本開示の実施例4は、前述した構成1、構成2及び構成7に基づいて提供できる。実施例4の実現は、VVCファイルフォーマットの仕様に関連できる。
【0360】
実施例4によれば、既存のEOSサンプルグループとは異なり、一つのEOSサンプルグループ内で複数のEOS NALユニットを運ぶことができる。また、EOS NALユニットの挿入位置を示す情報がEOSサンプル群から除外できる。以下、
図10を参照して上述した既存のEOSサンプルグループと重複している説明は省略する。
【0361】
実施例4によるEOSサンプルエントリ(EndOfSequenceSampleEntry)のシンタックス及びセマンティクスは、
図14を参照して上述した実施例3の場合と同様であり得る。
【0362】
一方、前述したVVCビットストリームの暗黙的復元プロセスの一部は、実施例4に従って修正できる。実施例4に従って修正された暗黙的復元プロセスは、EOS NALユニットの挿入位置を除いては、実施例3の場合と同じであり得る。実施例4によるEOS NALユニットの挿入位置は、次の通りである。
【0363】
-トラック内のサンプルがターゲット動作点に対応するols_idx、max_tid、及びlower_ols_idx_inclusiveを有するサンプルグループ「eos」に属するとマーキングされている場合、「eos」サンプルグループ内のEOS NALユニットは、EOB NALユニット(存在する場合)を除くサンプルからのすべてのNALユニットの後にアクセスユニット内に配置できる。
【0364】
以上、実施例4によれば、EOSサンプルグループは、複数のEOS NALユニット及びその個数情報を含むことができる。また、EOS NALユニットの挿入位置を示す情報がEOSサンプル群から除外できる。これにより、ビット数を節約しながら、マルチレイヤー構造のアクセスユニットを正しく復元することができる。
【0365】
以下、本開示の一実施例によるメディアファイル受信/生成方法を詳細に説明する。
【0366】
図15は、本開示の一実施例によるメディアファイル受信方法を示すフローチャートである。
図15の各ステップは、メディアファイル受信装置によって行われることができる。一例において、メディアファイル受信装置は、
図1の受信装置Bに対応することができる。
【0367】
図15を参照すると、メディアファイル受信装置は、メディアファイル生成/送信装置から受信されたメディアファイルから一つ以上のトラック及びサンプルグループを取得することができる(S1510)。一例において、前記メディアファイルは、ISO BMFF(ISO Base Media File Format)、CMAF(Common Media Application Format)などのファイルフォーマットを有することができる。
【0368】
そして、メディアファイル受信装置は、前記トラック内のサンプル及び前記サンプルグループに基づいて、アクセスユニットを復元することができる(S1520)。
【0369】
前記サンプルグループは、前記アクセスユニットを含むビデオデータのシーケンス終了情報を含む第1サンプルグループを含むことができる。
【0370】
前記第1サンプルグループは、前記第1サンプルグループに属するEOS(end of sequence)NALユニット、及び前記EOS NALユニットの数に関する第1シンタックス要素を含むことができる。前記第1サンプルグループは、
図12乃至
図14を参照して上述したシンタックス構造を有することができる。この場合、前記EOS NALユニットは、前述したシンタックス要素eosNalUnit[i]に対応することができる。また、前記第1シンタックス要素は、前述したシンタックス要素num_eos_nal_unit_minus1に対応することができる。
【0371】
一実施例において、前記第1シンタックス要素に1を加えた値は、前記EOS NALユニットの数を示すことができる。前記第1シンタックス要素は、符号なし整数型タイプ(すなわち、unsigned int)を有することができる。これにより、前記第1シンタックス要素の値は、0と同じかそれより大きくてもよいので、前記第1サンプルグループは、少なくとも一つのEOS NALユニットを含むことができる。
【0372】
一実施例において、前記EOS NALユニットは、前記第1シンタックス要素に基づいて制御されるループ内でリストできる。例えば、
図12乃至
図14に示すように、シンタックス要素eosNalUnit[i]は、num_eos_nal_unit_minus1+1回繰り返されるfor-loopを介してNALユニットインデックスiの順にEOSサンプルグループから取得できる。
【0373】
一実施例において、前記EOS NALユニットが有する最大NALユニットインデックス値は、前記第1シンタックス要素の値(例えば、num_eos_nal_unit_minus1)に等しくてもよい。
【0374】
一実施例において、前記トラック内のサンプルが前記第1サンプルグループに属することに基づいて、前記EOS NALユニットは、前記アクセスユニット内で所定の位置に配置できる。このとき、前記所定の位置は、前記アクセスユニット内でEOB(end of bitstream)NALユニットを除く前記サンプルのすべてのNALユニットの次の位置に決定できる。或いは、前記所定の位置は、前記アクセスユニット内でEOB(end of bitstream)NALユニットを除く前記アクセスユニットのすべてのNALユニットの次の位置に決定できる。
【0375】
図16は、本開示の一実施例によるメディアファイル生成方法を示すフローチャートである。
図16の各ステップは、メディアファイル生成装置によって行われることができる。一例において、メディアファイル生成装置は、
図1の送信装置Aに対応することができる。
【0376】
図16を参照すると、メディアファイル生成装置は、アクセスユニットを含むビデオデータを符号化することができる(S1610)。一例において、前記ビデオデータは、ビデオコーデック標準、例えばVVC標準による予測、変換及び量子化過程などを介して符号化できる。
【0377】
メディアファイル生成装置は、前記符号化されたビデオデータのシーケンス終了情報を含む第1サンプルグループを生成することができる(S1620)。
【0378】
そして、メディアファイル生成装置は、前記符号化されたビデオデータ及び前記第1サンプルグループに基づいて、メディアファイルを生成することができる(S1630)。一例において、前記メディアファイルは、ISO BMFF(ISO Base Media File Format)、CMAF(Common Media Application Format)などのファイルフォーマットを有することができる。
【0379】
前記第1サンプルグループは、前記第1サンプルグループに属するEOS(end of sequence)NALユニット、及び前記EOS NALユニットの数に関する第1シンタックス要素を含むことができる。前記第1サンプルグループは、
図12乃至
図14を参照して上述したシンタックス構造を有することができる。この場合、前記EOS NALユニットは、前述したシンタックス要素eosNalUnit[i]に対応することができる。さらに、前記第1シンタックス要素は、前述したシンタックス要素num_eos_nal_unit_minus1に対応することができる。
【0380】
一実施例において、前記第1シンタックス要素に1を加えた値は、前記EOS NALユニットの数を示すことができる。前記第1シンタックス要素は、符号なし整数型タイプ(すなわち、unsigned int)を有することができる。これにより、前記第1シンタックス要素の値は、0と同じかそれより大きくてもよいので、前記第1サンプルグループは、少なくとも一つのEOS NALユニットを含むことができる。
【0381】
一実施例において、前記EOS NALユニットは、前記第1シンタックス要素に基づいて制御されるループ内でリストできる。例えば、
図12乃至
図14に示すように、シンタックス要素eosNalUnit[i]は、num_eos_nal_unit_minus1+1回繰り返されるfor-loopを介してNALユニットインデックスiの順にEOSサンプルグループ内に挿入(又は符号化)できる。
【0382】
一実施例において、前記EOS NALユニットが有する最大NALユニットインデックス値は、前記第1シンタックス要素の値(例えば、num_eos_nal_unit_minus1)に等しくてもよい。
【0383】
一実施例において、前記トラック内のサンプルが前記第1サンプルグループに属することに基づいて、前記EOS NALユニットは、前記アクセスユニット内の所定の位置に配置できる。このとき、前記所定の位置は、前記アクセスユニット内でEOB(end of bitstrem)NALユニットを除く前記サンプルのすべてのNALユニットの次の位置に決定できる。或いは、前記所定の位置は、前記アクセスユニット内でEOB(end of bitstream)NALユニットを除く前記アクセスユニットのすべてのNALユニットの次の位置に決定できる。
【0384】
以上、本開示の実施例によれば、複数のEOS NALユニットを運ぶことができる新しい「eos」サンプルグループデザインが提供できる。これにより、「eos」サンプルグループは、マルチレイヤーを有するVVCエレメンタリストリームに対しても正しく作動することができる。
【0385】
本開示の例示的な方法は、説明の明確性のために動作のシリーズで表現されているが、これは、ステップが行われる順序を制限するためのものではなく、必要な場合には、それぞれのステップが同時に又は異なる順序で行われることもできる。本開示による方法を実現するために、例示するステップにさらに他のステップを含むか、一部のステップを除いて残りのステップを含むか、或いは一部のステップを除いて追加の他のステップを含むこともできる。
【0386】
本開示において、所定の動作(ステップ)を行う画像符号化装置又は画像復号化装置は、当該動作(ステップ)の実行条件や状況を確認する動作(ステップ)を行うことができる。例えば、所定の条件が満足される場合、所定の動作を行うと記載された場合、画像符号化装置又は画像復号化装置は、前記所定の条件が満足されるか否かを確認する動作を行った後、前記所定の動作を行うことができる。
【0387】
本開示の様々な実施例は、全ての可能な組み合わせを羅列したものではなく、本開示の代表的な態様を説明するためのものであり、様々な実施例で説明する事項は、独立して適用されてもよく、2つ以上の組み合わせで適用されてもよい。
【0388】
また、本開示の様々な実施例は、ハードウェア、ファームウェア(firmware)、ソフトウェア、又はそれらの組み合わせなどによって実現できる。ハードウェアによる実現の場合、一つ又はそれ以上のASICs(Application Specific Integrated Circuits)、DSPs(Digital Signal Processors)、DSPDs(Digital Signal Processing Devices)、PLDs(Programmable Logic Devices)、FPGAs(Field Programmable Gate Arrays)、汎用プロセッサ(general processor)、コントローラ、マイクロコントローラ、マイクロプロセッサなどによって実現できる。
【0389】
また、本開示の実施例が適用されたメディアファイル受信装置及びメディアファイル生成装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ会話装置、ビデオ通信などのリアルタイム通信装置、モバイルストリーミング装置、記憶媒体、カムコーダ、注文型ビデオ(VoD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、画像電話ビデオ装置、及び医療用ビデオ装置などに含まれることができ、ビデオ信号又はデータ信号を処理するために使用できる。例えば、OTTビデオ(Over the top video)装置としては、ゲームコンソール、ブルーレイプレーヤー、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recoder)などを含むことができる。
【0390】
図17は、本開示の実施例が適用できるコンテンツストリーミングシステムを例示した図である。
【0391】
図17に示すように、本開示の実施例が適用されたコンテンツストリーミングシステムは、大きく、符号化サーバ、ストリーミングサーバ、Webサーバ、メディアストレージ、ユーザ装置及びマルチメディア入力装置を含むことができる。
【0392】
前記符号化サーバは、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを前記ストリーミングサーバに伝送する役割を果たす。他の例として、スマートフォン、カメラ、ビデオカメラなどのマルチメディア入力装置がビットストリームを直接生成する場合、前記符号化サーバは省略できる。
【0393】
前記ビットストリームは、本開示の実施例が適用された画像符号化方法及び/又は画像符号化装置によって生成でき、前記ストリーミングサーバは、前記ビットストリームを伝送又は受信する過程で一時的に前記ビットストリームを保存することができる。
【0394】
前記ストリーミングサーバは、Webサーバを介してユーザの要求に基づいてマルチメディアデータをユーザ装置に伝送し、前記Webサーバは、ユーザにどんなサービスがあるかを知らせる媒介体の役割を果たすことができる。ユーザが前記Webサーバに所望のサービスを要求すると、前記Webサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを伝送することができる。この時、前記コンテンツストリーミングシステムは、別途の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割を果たすことができる。
【0395】
前記ストリーミングサーバは、メディアストレージ及び/又は符号化サーバからコンテンツを受信することができる。例えば、前記符号化サーバからコンテンツを受信する場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間保存することができる。
【0396】
前記ユーザ装置の例としては、携帯電話、スマートフォン(smart phone)、ノートパソコン(laptop computer)、デジタル放送用端末、PDA(personal digital assistants)、PMP(portable multimedia player)、ナビゲーション、スレートPC(slate PC)、タブレットPC(tablet PC)、ウルトラブック(ultrabook)、ウェアラブルデバイス(wearable device)、例えば、スマートウォッチ(smartwatch)、スマートグラス(smart glass)、HMD(head mounted display)、デジタルTV、デスクトップコンピュータ、デジタルサイネージなどがあり得る。
【0397】
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営されることができ、この場合、各サーバから受信するデータは、分散処理されることができる。
【0398】
本開示の範囲は、様々な実施例の方法による動作が装置又はコンピュータ上で実行されるようにするソフトウェア又はマシン-実行可能なコマンド(例えば、オペレーティングシステム、アプリケーション、ファームウェア(firmware)、プログラムなど)、及びこのようなソフトウェア又はコマンドなどが保存されて装置又はコンピュータ上で実行できる非一時的なコンピュータ可読媒体(non-transitory computer-readable medium)を含む。
【産業上の利用可能性】
【0399】
本開示による実施例は、メディアファイルを生成及び送受信するのに利用可能である。
【国際調査報告】