IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エルジー エレクトロニクス インコーポレイティドの特許一覧

<>
  • 特許-メディアファイル処理方法及びその装置 図1
  • 特許-メディアファイル処理方法及びその装置 図2
  • 特許-メディアファイル処理方法及びその装置 図3
  • 特許-メディアファイル処理方法及びその装置 図4
  • 特許-メディアファイル処理方法及びその装置 図5
  • 特許-メディアファイル処理方法及びその装置 図6
  • 特許-メディアファイル処理方法及びその装置 図7
  • 特許-メディアファイル処理方法及びその装置 図8
  • 特許-メディアファイル処理方法及びその装置 図9
  • 特許-メディアファイル処理方法及びその装置 図10
  • 特許-メディアファイル処理方法及びその装置 図11
  • 特許-メディアファイル処理方法及びその装置 図12
  • 特許-メディアファイル処理方法及びその装置 図13
  • 特許-メディアファイル処理方法及びその装置 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-09
(45)【発行日】2024-12-17
(54)【発明の名称】メディアファイル処理方法及びその装置
(51)【国際特許分類】
   H04N 21/236 20110101AFI20241210BHJP
   H04N 19/70 20140101ALI20241210BHJP
【FI】
H04N21/236
H04N19/70
【請求項の数】 15
(21)【出願番号】P 2023564071
(86)(22)【出願日】2022-04-14
(65)【公表番号】
(43)【公表日】2024-04-04
(86)【国際出願番号】 KR2022005393
(87)【国際公開番号】W WO2022225256
(87)【国際公開日】2022-10-27
【審査請求日】2023-12-08
(31)【優先権主張番号】63/176,834
(32)【優先日】2021-04-19
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】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)【発明者】
【氏名】ヘンドリー ヘンドリー
【審査官】渡部 博樹
(56)【参考文献】
【文献】特表2017-523669(JP,A)
【文献】Ye-Kui Wang et al,AHG9: On EOS NAL units,JVET-S JVET-S0155-v1,ITU-T インターネット<URL:https://jvet-experts.org/doc_end_user/documents/19_Teleconference/wg11/JVET-S0155-v1.zip>
【文献】Ye-Kui Wang et al,The High-Level Syntax of the Versatile Video Coding (VVC) Standard,IEEE TRANSACTION ON CIRUITS AND SYSTEMS FOR VIDEO TECHNOLOGY,Vol.31, No.10, October 2021,P.3779-3800
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/236
H04N 19/70
(57)【特許請求の範囲】
【請求項1】
メディアファイル処理方法において、
第1のOLS(Output Layer Set、OLS)に対するアクセスユニット(access units)のシーケンス(sequence)を復元するステップと、
第1の条件及び第2の条件が真(true)であるかどうかを判断するステップと、
前記第1の条件及び前記第2の条件が真であることに基づいて、前記第1のOLSに適用されたレイヤの数ほどEOS(End Of Sequence、EOS)NAL(Network Abstraction Layer、NAL)ユニットを挿入するステップと、を含み、
前記第1の条件は、前記アクセスユニットの前記シーケンスの次に前記第1のOLSと異なるOLSが選択されるかどうかであり、
前記第2の条件は、前記アクセスユニットの前記シーケンスが前記第1のOLSの各レイヤでEOS NALユニットで終わらないかどうか、または、EOB(End Of Bitstream)NALユニットで終わらないかどうかである、ことを特徴とするメディアファイル処理方法。
【請求項2】
前記挿入されるEOS NALユニットは、前記EOS NALユニットのレイヤIDの昇順に前記シーケンスのアクセスユニット(access unit)の端に配置されることを特徴とする、請求項1に記載のメディアファイル処理方法。
【請求項3】
前記挿入されるEOS NALユニットは、対応するレイヤ(corresponding layer)に配置され(placed)ないことを特徴とする、請求項1に記載のメディアファイル処理方法。
【請求項4】
前記復元されたアクセスユニットの前記シーケンスの次に前記第1のOLSと異なるOLSが選択されず、対象動作ポイント(target operating point)のみが変更された場合、前記EOS NALユニットは、挿入されないことを特徴とする、請求項1に記載のメディアファイル処理方法。
【請求項5】
前記復元されたアクセスユニットの前記シーケンスの次に前記第1のOLSと異なるOLSが選択されず、最大時間的ID(max temporal ID)のみが変更された場合、前記EOS NALユニットは、挿入されないことを特徴とする、請求項1に記載のメディアファイル処理方法。
【請求項6】
前記EOS NALユニットを挿入する過程は、選択事項(optional)であることを特徴とする、請求項1に記載のメディアファイル処理方法。
【請求項7】
メディアファイル処理方法を実行するメディアファイル処理装置において、
メディアファイルを取得する受信部と、
前記メディアファイルの第1のOLS(Output Layer Set、OLS)に対するアクセスユニット(access units)のシーケンス(sequence)を復元し、第1の条件及び第2の条件が真(true)であるかどうかを判断し、前記第1の条件及び前記第2の条件が真であることに基づいて、前記第1のOLSに適用されたレイヤの数ほどEOS(End Of Sequence、EOS)NAL(Network Abstraction Layer、NAL)ユニットを挿入するメディアファイル処理部と、を含み、
前記第1の条件は、前記アクセスユニットの前記シーケンスの次に前記第1のOLSと異なるOLSが選択されるかどうかであり、
前記第2の条件は、前記アクセスユニットの前記シーケンスが前記第1のOLSの各レイヤでEOS NALユニットで終わらないかどうか、または、EOB(End Of Bitstream)NALユニットで終わらないかどうかである、ことを特徴とするメディアファイル処理装置。
【請求項8】
前記挿入されるEOS NALユニットは、前記EOS NALユニットのレイヤIDの昇順に前記シーケンスのアクセスユニット(access unit)の端に配置されることを特徴とする、請求項7に記載のメディアファイル処理装置。
【請求項9】
前記挿入されるEOS NALユニットは、対応するレイヤ(corresponding layer)に配置され(placed)ないことを特徴とする、請求項7に記載のメディアファイル処理装置。
【請求項10】
前記復元されたアクセスユニットの前記シーケンスの次に前記第1のOLSと異なるOLSが選択されず、対象動作ポイント(target operating point)のみが変更された場合、前記EOS NALユニットは、挿入されないことを特徴とする、請求項7に記載のメディアファイル処理装置。
【請求項11】
前記復元されたアクセスユニットの前記シーケンスの次に前記第1のOLSと異なるOLSが選択されず、最大時間的ID(max temporal ID)のみが変更された場合、前記EOS NALユニットは、挿入されないことを特徴とする、請求項7に記載のメディアファイル処理装置。
【請求項12】
前記EOS NALユニットを挿入する過程は、選択事項(optional)であることを特徴とする、請求項7に記載のメディアファイル処理装置。
【請求項13】
メディアファイル生成方法において、
第1のOLS(Output Layer Set、OLS)に対するアクセスユニット(access units)のシーケンス(sequence)を生成するステップと、
第1の条件及び第2の条件が真(true)であるかどうかを判断するステップと、
前記第1の条件及び前記第2の条件が真であることに基づいて、前記第1のOLSに適用されたレイヤの数ほどEOS(End Of Sequence、EOS)NAL(Network Abstraction Layer、NAL)ユニットを挿入するステップと、
前記第1のOLSを含む前記メディアファイルを生成するステップと、を含み、
前記第1の条件は、前記アクセスユニットの前記シーケンスの次に前記第1のOLSと異なるOLSが選択されるかどうかであり、
前記第2の条件は、前記アクセスユニットの前記シーケンスが前記第1のOLSの各レイヤでEOS NALユニットで終わらないかどうか、または、EOB(End Of Bitstream)NALユニットで終わらないかどうかである、ことを特徴とするメディアファイル生成方法。
【請求項14】
前記挿入されるEOS NALユニットは、前記EOS NALユニットのレイヤIDの昇順に前記シーケンスのアクセスユニット(access unit)の端に配置されることを特徴とする、請求項13に記載のメディアファイル生成方法。
【請求項15】
前記挿入されるEOS NALユニットは、対応するレイヤ(corresponding layer)に配置され(placed)ないことを特徴とする、請求項13に記載のメディアファイル生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本文書は、ビデオ/映像コーディング技術に関し、より詳しくは、ビデオ/映像コーディングシステムでコーディングされた映像情報に対するメディアファイルを処理する方法及びその装置に関する。
【背景技術】
【0002】
最近、4Kまたは8K以上のUHD(Ultra High Definition)ビデオ/映像のような高解像度、高品質のビデオ/映像に対する需要が多様な分野で増加している。ビデオ/映像データが高解像度、高品質になるほど、既存のビデオ/映像データに比べて相対的に送信される情報量またはビット量が増加するため、既存の有無線広帯域回線のような媒体を利用して映像データを送信し、または既存の格納媒体を利用してビデオ/映像データを格納する場合、送信費用と格納費用が増加する。
【0003】
また、最近、VR(Virtual Reality)、AR(Artificial Realtiy)コンテンツやホログラムなどの実感メディア(イマーシブメディア、Immersive Media)に対する関心及び需要が増加しており、ゲーム映像のように、現実映像と異なる映像特性を有するビデオ/映像に対する放送が増加している。
【0004】
これによって、前記のような多様な特性を有する高解像度高品質のビデオ/映像の情報を効果的に圧縮して送信または格納し、再生するために高効率の映像圧縮技術が要求される。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本文書の技術的課題は、ビデオ/映像コーディング効率を高める方法及び装置を提供することにある
【0006】
本文書の他の技術的課題は、コーディングされた映像情報に対するメディアファイルを生成する方法及び装置を提供することにある。
【0007】
本文書の他の技術的課題は、コーディングされた映像情報に対するメディアファイルを処理する方法及び装置を提供することにある。
【課題を解決するための手段】
【0008】
本文書の一実施例によると、メディアファイル生成装置により実行されるメディアファイル生成方法が提供される。前記方法は、第1のOLS(Output Layer Set、OLS)に対するアクセスユニット(access units)のシーケンス(sequence)を生成するステップ、第1の条件及び第2の条件が真(true)であるかどうかを判断するステップ、前記第1の条件及び前記第2の条件が真であることに基づいて、前記第1のOLSに適用されたレイヤの数ほどEOS(End Of Sequence、EOS)NAL(Network Abstraction Layer、NAL)ユニットを挿入するステップ、及び前記第1のOLSを含む前記メディアファイルを生成するステップ、を含み、前記第1の条件は、前記アクセスユニットの前記シーケンスの次に前記第1のOLSと異なるOLSが選択されるかどうかであり、前記第2の条件は、前記アクセスユニットの前記シーケンスが前記第1のOLSの各レイヤでEOS NALユニットで終わらないかどうか、または、EOB(End Of Bitstream)NALユニットで終わらないかどうかであることを特徴とする。
【0009】
本文書の他の一実施例によると、メディアファイル生成装置が提供される。前記メディアファイル生成装置は、第1のOLS(Output Layer Set、OLS)に対するアクセスユニット(access units)のシーケンス(sequence)を生成し、第1の条件及び第2の条件が真(true)であるかどうかを判断し、前記第1の条件及び前記第2の条件が真であることに基づいて、前記第1のOLSに適用されたレイヤの数ほどEOS(End Of Sequence、EOS)NAL(Network Abstraction Layer、NAL)ユニットを挿入し、及び前記第1のOLSを含む前記メディアファイルを生成するメディアファイル生成部を含み、前記第1の条件は、前記アクセスユニットの前記シーケンスの次に前記第1のOLSと異なるOLSが選択されるかどうかであり、前記第2の条件は、前記アクセスユニットの前記シーケンスが前記第1のOLSの各レイヤでEOS NALユニットで終わらないかどうか、または、EOB(End Of Bitstream)NALユニットで終わらないかどうかであることを特徴とする。
【0010】
本文書の他の一実施例によると、メディアファイル処理装置により実行されるメディアファイル処理方法を提供する。前記方法は、第1のOLS(Output Layer Set、OLS)に対するアクセスユニット(access units)のシーケンス(sequence)を復元するステップ、第1の条件及び第2の条件が真(true)であるかどうかを判断するステップ、及び前記第1の条件及び前記第2の条件が真であることに基づいて、前記第1のOLSに適用されたレイヤの数ほどEOS(End Of Sequence、EOS)NAL(Network Abstraction Layer、NAL)ユニットを挿入するステップ、を含み、前記第1の条件は、前記アクセスユニットの前記シーケンスの次に前記第1のOLSと異なるOLSが選択されるかどうかであり、前記第2の条件は、前記アクセスユニットの前記シーケンスが前記第1のOLSの各レイヤでEOS NALユニットで終わらないかどうか、または、EOB(End Of Bitstream)NALユニットで終わらないかどうかであることを特徴とする。
【0011】
本文書の他の一実施例によると、メディアファイル処理装置を提供する。前記メディアファイル処理装置は、メディアファイルを取得する受信部、及び前記メディアファイルの第1のOLS(Output Layer Set、OLS)に対するアクセスユニット(access units)のシーケンス(sequence)を復元し、第1の条件及び第2の条件が真(true)であるかどうかを判断し、前記第1の条件及び前記第2の条件が真であることに基づいて、前記第1のOLSに適用されたレイヤの数ほどEOS(End Of Sequence、EOS)NAL(Network Abstraction Layer、NAL)ユニットを挿入するメディアファイル処理部、を含み、前記第1の条件は、前記アクセスユニットの前記シーケンスの次に前記第1のOLSと異なるOLSが選択されるかどうかであり、前記第2の条件は、前記アクセスユニットの前記シーケンスが前記第1のOLSの各レイヤでEOS NALユニットで終わらないかどうか、または、EOB(End Of Bitstream)NALユニットで終わらないかどうかであることを特徴とする。
【0012】
本文書の他の一実施例によると、メディアファイル生成方法により生成されたメディアファイルが格納されたコンピュータで読み取り可能なデジタル格納媒体を提供する。コンピュータで読み取り可能なデジタル格納媒体において、前記方法は、サブピクチャイメージデータを各々含むサブピクチャトラックを構成するステップ、前記サブピクチャトラックを参照するベーストラックを構成するステップ、及び前記サブピクチャトラックと前記ベーストラックを含む前記メディアファイルを生成するステップ、を含み、前記ベーストラックのサンプルは、孔とオーバラップがない長方形領域を形成し、前記孔は、参照されたサブピクチャトラックのサンプルのうち少なくとも一つによりカバーされない領域を示し、前記オーバラップは、参照されたサブピクチャトラックのサンプルにより2回以上カバーされる領域を示すことを特徴とする。
【発明の効果】
【0013】
本文書によると、最大時間的IDのみが変更されてもEOS NALユニットを挿入する不必要な動作を防止することができ、これによって、全般的なコーディング効率を向上させることができる。
【0014】
本文書によると、EOS NALユニットをアクセスユニット内の適切な位置に挿入するために発生されるバーデンを防止することができ、これによって、全般的なコーディング効率を向上させることができる。
【図面の簡単な説明】
【0015】
図1】本文書の実施形態が適用され得るビデオ/画像コーディングシステムの例を概略的に示す。
図2】本文書の実施形態が適用され得るビデオ/画像エンコード装置の構成を概略的に説明する図である。
図3】本文書の実施形態が適用され得るビデオ/画像デコード装置の構成を概略的に説明する図である。
図4】コーディングされたビデオ/映像に対する階層構造を例示的に示す。
図5】メディアファイル構造の例を概略的に示す。
図6】メディアファイル構造の例を概略的に示す。
図7】DASHベースの適応型ストリーミングモデルの全般的な動作の例を示す。
図8】本文書で提案した実施例が適用されるメディアファイル生成方法を例示的に示す。
図9】本文書で提案した実施例が適用されて生成されたメディアファイルをデコーディングする方法を例示的に示す。
図10】本文書によるメディアファイル生成装置によるメディアファイル生成方法を概略的に示す。
図11】本文書によるメディアファイル生成方法を実行するメディアファイル生成装置を概略的に示す。
図12】本文書によるメディアファイル処理装置によるメディアファイル処理方法を概略的に示す。
図13】本文書によるメディアファイル処理方法を実行するメディアファイル処理装置を概略的に示す。
図14】本文書の実施例が適用されるコンテンツストリーミングシステム構造図を例示的に示す。
【発明を実施するための形態】
【0016】
本文書は、多様な変更を加えることができ、様々な実施例を有することができ、特定実施例を図面に例示して詳細に説明しようとする。しかし、これは本文書の実施例を特定実施例に限定しようとするものではない。本文書で使用する用語は、単に特定の実施例を説明するために使われたものであって、本文書の技術的思想を限定しようとする意図で使われたものではない。単数の表現は、文脈上明白に異なる意味ではない限り、複数の表現を含む。本文書において、「含む」または「有する」などの用語は、文書上に記載された特徴、数字、ステップ、動作、構成要素、部品またはこれらを組み合わせたものが存在することを指定するものであり、一つまたはそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品またはこれらを組み合わせたものの存在または付加可能性をあらかじめ排除しないと理解されなければならない。
【0017】
一方、本文書において説明される図面上の各構成は、互いに異なる特徴的な機能に関する説明の都合上、独立的に図示されたものであって、各構成が互いに別個のハードウェアや別個のソフトウェアで実現されるということを意味するものではない。例えば、各構成のうち、2つ以上の構成が結合されて1つの構成をなすことができ、1つの構成を複数の構成に分けることもできる。各構成が統合及び/又は分離された実施形態も本文書の本質から逸脱しない限り、本文書の権利範囲に含まれる。
【0018】
以下、添付した図面を参照して、本文書の好ましい実施形態をより詳細に説明する。以下、図面上の同じ構成要素に対しては、同じ参照符号を使用し、同じ構成要素に対して重なった説明は省略されることができる。
【0019】
図1は、本文書の実施形態が適用され得るビデオ/画像コーディングシステムの例を概略的に示す。
【0020】
図1に示すように、ビデオ/画像コーディングシステムは、第1の装置(ソースデバイス)及び第2の装置(受信デバイス)を含むことができる。ソースデバイスは、エンコードされたビデオ(video)/画像(image)情報またはデータをファイルまたはストリーミング形態でデジタル記録媒体またはネットワークを介して受信デバイスに伝達することができる。
【0021】
前記ソースデバイスは、ビデオソース、エンコード装置、送信部を備えることができる。前記受信デバイスは、受信部、デコード装置、及びレンダラーを備えることができる。前記エンコード装置は、ビデオ/画像エンコード装置と呼ばれることができ、前記デコード装置は、ビデオ/画像デコード装置と呼ばれることができる。送信機は、エンコード装置に含まれることができる。受信機は、デコード装置に含まれることができる。レンダラーは、ディスプレイ部を備えることができ、ディスプレイ部は、別個のデバイスまたは外部コンポーネントで構成されることもできる。
【0022】
ビデオソースは、ビデオ/画像のキャプチャ、合成、または生成過程などを介してビデオ/画像を取得することができる。ビデオソースは、ビデオ/画像キャプチャデバイス及び/又はビデオ/画像生成デバイスを含むことができる。ビデオ/画像キャプチャデバイスは、例えば、1つ以上のカメラ、以前にキャプチャされたビデオ/画像を含むビデオ/画像アーカイブなどを備えることができる。ビデオ/画像生成デバイスは、例えば、コンピュータ、タブレット、及びスマートフォンなどを備えることができ、(電子的に)ビデオ/画像を生成することができる。例えば、コンピュータなどを介して仮想のビデオ/画像が生成されることができ、この場合、関連データが生成される過程にてビデオ/画像キャプチャ過程が代替されることができる。
【0023】
エンコード装置は、入力ビデオ/画像をエンコードすることができる。エンコード装置は、圧縮及びコーディング効率のために、予測、変換、量子化など、一連の手順を実行することができる。エンコードされたデータ(エンコードされたビデオ/画像情報)は、ビットストリーム(bitstream)形態で出力されることができる。
【0024】
送信部は、ビットストリーム形態で出力されたエンコードされたビデオ/画像情報またはデータをファイルまたはストリーミング形態でデジタル記録媒体またはネットワークを介して受信デバイスの受信部に伝達することができる。デジタル記録媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、様々な記録媒体を含むことができる。送信部は、予め決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介しての送信のためのエレメントを含むことができる。受信部は、前記ビットストリームを受信/抽出してデコード装置に伝達することができる。
【0025】
デコード装置は、エンコード装置の動作に対応する逆量子化、逆変換、予測など、一連の手順を実行してビデオ/画像をデコードすることができる。
【0026】
レンダラーは、デコードされたビデオ/画像をレンダリングすることができる。レンダリングされたビデオ/画像は、ディスプレイ部を介してディスプレイされることができる。
【0027】
この文書は、ビデオ/画像コーディングに関する。例えば、この文書において開示された方法/実施形態は、VVC(versatile video coding)標準、EVC(essential video coding)標準、AV1(AOMedia Video 1)標準、AVS2(2nd generation of audio video coding standard)、または次世代ビデオ/画像コーディング標準(例えば、H.267またはH.268等)に開示される方法に適用されることができる。
【0028】
この文書では、ビデオ/画像コーディングに関する様々な実施形態を提示し、他の言及がない限り、前記実施形態は、互いに組み合わせられて実行されることもできる。
【0029】
この文書において、ビデオ(video)は、時間の流れによる一連の映像(image)の集合を意味することができる。ピクチャ(picture)は、一般的に特定時間帯の一つの映像を示す単位を意味し、サブピクチャ(subpicture)/スライス(slice)/タイル(tile)は、コーディングにおいてピクチャの一部を構成する単位である。サブピクチャ/スライス/タイルは、一つ以上のCTU(coding tree unit)を含むことができる。一つのピクチャは、一つ以上のサブピクチャ/スライス/タイルで構成されることができる。一つのピクチャは、一つ以上のタイルグループで構成されることができる。一つのタイルグループは、一つ以上のタイルを含むことができる。ブリックは、ピクチャ内のタイル内のCTU行(row)の長方形領域を示すことができる。タイルは、多数のブリックでパーティショニングされることができ、各ブリックは、前記タイル内の一つ以上のCTU行で構成されることができる。多数のブリックによりパーティショニングされないタイルもブリックと呼ばれることができる。ブリックスキャンは、ピクチャをパーティショニングするCTUの特定の順次オーダリングを示すことができ、前記CTUは、ブリック内でCTUラスタスキャンで整列されることができ、タイル内のブリックは、前記タイルの前記ブリックのラスタスキャンで連続的に整列されることができ、そして、ピクチャ内のタイルは、前記ピクチャの前記タイルのラスタスキャンで連続的に整列されることができる。また、サブピクチャは、ピクチャ内の一つ以上のスライスの長方形領域を示すことができる。すなわち、サブピクチャは、ピクチャの長方形領域を総括的にカバーする一つ以上のスライスを含むことができる。タイルは、特定タイル列及び特定タイル列以内のCTUの長方形領域である。前記タイル列は、CTUの長方形領域であり、前記長方形領域は、前記ピクチャの高さと同じ高さを有し、幅はピクチャパラメータセット内のシンタックス要素により明示されることができる。前記タイル行は、CTUの長方形領域であり、前記長方形領域はピクチャパラメータセット内のシンタックス要素により明示される幅を有し、高さは前記ピクチャの高さと同じである。タイルスキャンは、ピクチャをパーティショニングするCTUの特定の順次オーダリングを示すことができ、前記CTUは、タイル内のCTUラスタスキャンで連続的に整列されることができ、ピクチャ内のタイルは、前記ピクチャの前記タイルのラスタスキャンで連続的に整列されることができる。スライスは、ピクチャの整数個のブリックを含むことができ、前記整数個のブリックは、一つのNALユニットに含まれることができる。スライスは、多数の完全なタイルで構成されることができ、または、一つのタイルの完全なブリックの連続的なシーケンスである。この文書では、タイルグループとスライスは混用されることができる。例えば、本文書では、tile group/tile group headerは、slice/slice headerと呼ばれることができる。
【0030】
ピクセル(pixel)またはペル(pel)は、1つのピクチャ(または、画像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として「サンプル(sample)」が使用されることができる。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、ルマ(luma)成分のピクセル/ピクセル値のみを示すこともでき、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。
【0031】
ユニット(unit)は、画像処理の基本単位を示すことができる。ユニットは、ピクチャの特定領域及び当該領域に関連した情報のうち、少なくとも1つを含むことができる。1つのユニットは、1つのルマブロック及び2つのクロマ(例えば、cb、cr)ブロックを含むことができる。ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプル(または、サンプルアレイ)、または変換係数(transform coefficient)の集合(または、アレイ)を含むことができる。
【0032】
本文書において、「AまたはB(A or B)」は「Aのみ」、「Bのみ」または「AとBの両方とも」を意味することができる。言い換えると、本文書において「AまたはB(A or B)」は「A及び/又はB(A and/or B)」と解釈されることができる。例えば、本文書において、「A、BまたはC(A,B or C)」は「Aのみ」、「Bのみ」、「Cのみ」、または「A、B及びCの任意の全ての組み合わせ(any combination of A,B and C)」を意味することができる。
【0033】
本文書で使われるスラッシュ(/)やコンマ(comma)は「及び/又は(and/or)」を意味することができる。例えば、「A/B」は「A及び/又はB」を意味することができる。これによって、「A/B」は「Aのみ」、「Bのみ」、または「AとBの両方とも」を意味することができる。例えば、「A、B、C」は「A、BまたはC」を意味することができる。
【0034】
本文書において、「少なくとも一つのA及びB(at least one of A and B)」は、「Aのみ」、「Bのみ」または「AとBの両方とも」を意味することができる。また、本文書において、「少なくとも一つのAまたはB(at least one of A or B)」や「少なくとも一つのA及び/又はB(at least one of A and/or B)」という表現は「少なくとも一つのA及びB(at least one of A and B)」と同様に解釈されることができる。
【0035】
また、本文書において、「少なくとも一つのA、B及びC(at least one of A,B and C)」は、「Aのみ」、「Bのみ」、「Cのみ」、または「A、B及びCの任意の全ての組み合わせ(any combination of A,B and C)」を意味することができる。また、「少なくとも一つのA、BまたはC(at least one of A,B or C)」や「少なくとも一つのA、B及び/又はC(at least one of A,B and/or C)」は「少なくとも一つのA、B及びC(at least one of A,B and C)」を意味することができる。
【0036】
また、本文書で使われる括弧は「例えば、(for example)」を意味することができる。具体的に、「予測(イントラ予測)」で表示された場合、「予測」の一例として「イントラ予測」が提案されたものである。言い換えると、本文書の「予測」は「イントラ予測」に制限(limit)されず、「イントラ予測」が「予測」の一例として提案されるものである。また、「予測(すなわち、イントラ予測)」で表示された場合にも、「予測」の一例として「イントラ予測」が提案されたものである。
【0037】
本文書において、一つの図面内で個別的に説明される技術的特徴は、個別的に具現されることもでき、同時に具現されることもできる。
【0038】
以下の図面は、本文書の具体的な一例を説明するために作成された。図面に記載された具体的な装置の名称や具体的な信号/メッセージ/フィールドの名称は例示的に提示されたものであるため、本文書の技術的特徴が以下の図面に使われた具体的な名称に制限されない。
【0039】
図2は、本文書の実施形態が適用され得るビデオ/画像エンコード装置の構成を概略的に説明する図である。以下、ビデオエンコード装置とは、画像エンコード装置を含むことができる。
【0040】
図2に示すように、エンコード装置200は、画像分割部(image partitioner)210、予測部(predictor)220、レジデュアル処理部(residual processor)230、エントロピーエンコード部(entropy encoder)240、加算部(adder)250、フィルタリング部(filter)260、及びメモリ(memory)270を備えて構成されることができる。予測部220は、インター予測部221及びイントラ予測部222を備えることができる。レジデュアル処理部230は、変換部(transformer)232、量子化部(quantizer)233、逆量子化部(dequantizer)234、逆変換部(inverse transformer)235を備えることができる。レジデュアル処理部230は、減算部(subtractor)231をさらに備えることができる。加算部250は、復元部(reconstructor)または復元ブロック生成部(recontructged block generator)と呼ばれることができる。前述した画像分割部210、予測部220、レジデュアル処理部230、エントロピーエンコード部240、加算部250、及びフィルタリング部260は、実施形態によって1つ以上のハードウェアコンポーネント(例えば、エンコーダチップセットまたはプロセッサ)により構成されることができる。また、メモリ270は、DPB(decoded picture buffer)を含むことができ、デジタル記録媒体により構成されることもできる。前記ハードウェアコンポーネントは、メモリ270を内/外部コンポーネントとしてさらに備えることもできる。
【0041】
画像分割部210は、エンコード装置200に入力された入力画像(または、ピクチャ、フレーム)を1つ以上の処理ユニット(processing unit)に分割することができる。一例として、前記処理ユニットは、コーディングユニット(coding unit、CU)と呼ばれることができる。この場合、コーディングユニットは、コーディングツリーユニット(coding tree unit、CTU)または最大コーディングユニット(largest coding unit、LCU)からQTBTTT(Quad-tree binary-tree ternary-tree)構造によって再帰的に(recursively)分割されることができる。例えば、1つのコーディングユニットは、クアッドツリー構造、バイナリツリー構造、及び/又はターナリ構造に基づいて下位(deeper)デプスの複数のコーディングユニットに分割されることができる。この場合、例えば、クアッドツリー構造が先に適用され、バイナリツリー構造及び/又はターナリ構造が後ほど適用されることができる。または、バイナリツリー構造が先に適用されることもできる。それ以上分割されない最終コーディングユニットに基づいて本文書に係るコーディング手順が実行されることができる。この場合、画像特性に応じるコーディング効率などに基づいて、最大コーディングユニットが直ちに最終コーディングユニットとして使用されることができ、または、必要に応じてコーディングユニットは、再帰的に(recursively)、より下位デプスのコーディングユニットに分割されて、最適のサイズのコーディングユニットが最終コーディングユニットとして使用されることができる。ここで、コーディング手順とは、後述する予測、変換、及び復元などの手順を含むことができる。他の例として、前記処理ユニットは、予測ユニット(PU:Prediction Unit)または変換ユニット(TU:Transform Unit)をさらに備えることができる。この場合、前記予測ユニット及び前記変換ユニットは、各々前述した最終コーディングユニットから分割またはパーティショニングされることができる。前記予測ユニットは、サンプル予測の単位であり、前記変換ユニットは、変換係数を誘導する単位及び/又は変換係数からレジデュアル信号(residual signal)を誘導する単位である。
【0042】
ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプルまたは変換係数(transform coefficient)の集合を示すことができる。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、輝度(luma)成分のピクセル/ピクセル値のみを示すことができ、彩度(chroma)成分のピクセル/ピクセル値のみを示すこともできる。サンプルは、1つのピクチャ(または、画像)をピクセル(pixel)またはペル(pel)に対応する用語として使用することができる。
【0043】
エンコード装置200は、入力画像信号(原本ブロック、原本サンプルアレイ)から、インター予測部221またはイントラ予測部222から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算してレジデュアル信号(residual signal、残余ブロック、残余サンプルアレイ)を生成することができ、生成されたレジデュアル信号は、変換部232に送信される。この場合、図示されたように、エンコーダ200内において入力画像信号(原本ブロック、原本サンプルアレイ)から予測信号(予測ブロック、予測サンプルアレイ)を減算するユニットは、減算部231と呼ばれることができる。予測部は、処理対象ブロック(以下、現在ブロックという)に対する予測を実行し、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、現在ブロックまたはCU単位でイントラ予測が適用されるか、またはインター予測が適用されるかを決定することができる。予測部は、各予測モードについての説明で後述するように、予測モード情報など、予測に関する様々な情報を生成してエントロピーエンコード部240に伝達することができる。予測に関する情報は、エントロピーエンコード部240でエンコードされてビットストリーム形態で出力されることができる。
【0044】
イントラ予測部222は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在ブロックの周辺(neighbor)に位置することができ、または、離れて位置することもできる。イントラ予測において予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。非方向性モードは、例えば、DCモード及びプラナーモード(Planar Mode)を含むことができる。方向性モードは、予測方向の細かい程度によって、例えば、33個の方向性予測モードまたは65個の方向性予測モードを含むことができる。ただし、これは、例示に過ぎず、設定によってそれ以上またはそれ以下の個数の方向性予測モードが使用されることができる。イントラ予測部222は、隣接ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0045】
インター予測部221は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。このとき、インター予測モードで送信される動き情報の量を減らすために、隣接ブロックと現在ブロックとの間の動き情報の相関性に基づいて動き情報をブロック、サブブロック、またはサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測の場合に、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)と参照ピクチャに存在する時間的隣接ブロック(temporal neighboring block)とを含むことができる。前記参照ブロックを含む参照ピクチャと前記時間的隣接ブロックを含む参照ピクチャとは同じであってもよく、異なってもよい。前記時間的隣接ブロックは、同一位置参照ブロック(collocated reference block)、同一位置CU(colCU)などの名称で呼ばれることができ、前記時間的隣接ブロックを含む参照ピクチャは、同一位置ピクチャ(collocated picture、colPic)と呼ばれることもできる。例えば、インター予測部221は、隣接ブロックに基づいて動き情報候補リストを構成し、前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出するためにどのような候補が使用されるかを指示する情報を生成することができる。様々な予測モードに基づいてインター予測が実行されることができ、例えば、スキップモードとマージモードの場合に、インター予測部221は、隣接ブロックの動き情報を現在ブロックの動き情報として利用することができる。スキップモードの場合、マージモードとは異なってレジデュアル信号が送信されないことがある。動き情報予測(motion vector prediction、MVP)モードの場合、隣接ブロックの動きベクトルを動きベクトル予測子(Motion Vector Predictor)として利用し、動きベクトル差分(motion vector difference)をシグナリングすることによって現在ブロックの動きベクトルを指示することができる。
【0046】
予測部220は、後述する様々な予測方法に基づいて予測信号を生成することができる。例えば、予測部は、1つのブロックに対する予測のために、イントラ予測またはインター予測を適用することができるだけでなく、イントラ予測とインター予測とを同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のために、イントラブロックコピー(intra block copy、IBC)予測モードに基づくこともでき、または、パレットモード(palette mode)に基づくこともできる。前記IBC予測モードまたはパレットモードは、例えば、SCC(screen content coding)などのように、ゲームなどのコンテンツ画像/動画像コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を実行するが、現在ピクチャ内で参照ブロックを導出する点においてインター予測と類似して実行されることができる。すなわち、IBCは、本文書において説明されるインター予測技法のうち、少なくとも1つを利用することができる。パレットモードは、イントラコーディングまたはイントラ予測の一例と見ることができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報に基づいてピクチャ内のサンプル値をシグナリングすることができる。
【0047】
前記予測部(インター予測部221及び/又は前記イントラ予測部222を含む)を介して生成された予測信号は、復元信号を生成するために用いられ、またはレジデュアル信号を生成するために用いられることができる。変換部232は、レジデュアル信号に変換技法を適用して変換係数(transform coefficients)を生成することができる。例えば、変換技法は、DCT(Discrete Cosine Transform)、DST(Discrete Sine Transform)、KLT(Karhunen-Loeve Transform)、GBT(Graph-Based Transform)、またはCNT(Conditionally Non-linear Transform)のうち、少なくとも1つを含むことができる。ここで、GBTは、ピクセル間の関係情報をグラフで表現するとするとき、このグラフから得られた変換を意味する。CNTは、以前に復元された全てのピクセル(all previously reconstructed pixel)を用いて予測信号を生成し、それに基づいて取得される変換を意味する。また、変換過程は、正方形の同じサイズを有するピクセルブロックに適用されることもでき、正方形でない、可変サイズのブロックにも適用されることもできる。
【0048】
量子化部233は、変換係数を量子化してエントロピーエンコード部240に送信され、エントロピーエンコード部240は、量子化された信号(量子化された変換係数に関する情報)をエンコードしてビットストリームとして出力することができる。前記量子化された変換係数に関する情報は、レジデュアル情報と呼ばれることができる。量子化部233は、係数スキャン順序(scan order)に基づいてブロック形態の量子化された変換係数を1次元ベクトル形態で再整列することができ、前記1次元ベクトル形態の量子化された変換係数に基づいて前記量子化された変換係数に関する情報を生成することもできる。エントロピーエンコード部240は、例えば、指数ゴロム(exponential Golomb)、CAVLC(context-adaptive variable length coding)、CABAC(context-adaptive binary arithmetic coding)などのような様々なエンコード方法を実行することができる。エントロピーエンコード部240は、量子化された変換係数の他に、ビデオ/イメージ復元に必要な情報(例えば、シンタックス要素(syntax elements)の値等)を共に、または別にエンコードすることもできる。エンコードされた情報(例えば、エンコードされたビデオ/画像情報)は、ビットストリーム形態でNAL(network abstraction layer)ユニット単位で送信または格納されることができる。前記ビデオ/画像情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、またはビデオパラメータセット(VPS)など、様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/画像情報は、一般制限情報(general constraint information)をさらに含むことができる。本文書においてエンコード装置からデコード装置に伝達/シグナリングされる情報及び/又はシンタックス要素は、ビデオ/画像情報に含まれることができる。前記ビデオ/画像情報は、前述したエンコード手順を介してエンコードされて前記ビットストリームに含まれることができる。前記ビットストリームは、ネットワークを介して送信されることができ、またはデジタル記録媒体に格納されることができる。ここで、ネットワークは、放送網及び/又は通信網などを含むことができ、デジタル記録媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、様々な記録媒体を含むことができる。エントロピーエンコード部240から出力された信号は、送信する送信部(図示せず)及び/又は格納する格納部(図示せず)がエンコード装置200の内/外部エレメントとして構成されることができ、または送信部は、エントロピーエンコード部240に含まれることもできる。
【0049】
量子化部233から出力された量子化された変換係数は、予測信号を生成するために用いられることができる。例えば、量子化された変換係数に逆量子化部234及び逆変換部235を介して逆量子化及び逆変換を適用することによってレジデュアル信号(レジデュアルブロックまたはレジデュアルサンプル)を復元することができる。加算部250は、復元されたレジデュアル信号をインター予測部221またはイントラ予測部222から出力された予測信号に加えることによって復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)が生成され得る。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部250は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
【0050】
一方、ピクチャエンコード及び/又は復元過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0051】
フィルタリング部260は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部260は、復元ピクチャに様々なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ270、具体的に、メモリ270のDPBに格納することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。フィルタリング部260は、各フィルタリング方法についての説明で後述するように、フィルタリングに関する様々な情報を生成してエントロピーエンコード部240に伝達することができる。フィルタリングに関する情報は、エントロピーエンコード部240でエンコードされてビットストリーム形態で出力されることができる。
【0052】
メモリ270に送信された修正された復元ピクチャは、インター予測部221で参照ピクチャとして使用されることができる。エンコード装置は、これを介してインター予測が適用される場合、エンコード装置200とデコード装置300での予測ミスマッチを避けることができ、符号化効率も向上させることができる。
【0053】
メモリ270DPBは、修正された復元ピクチャをインター予測部221での参照ピクチャとして使用するために格納することができる。メモリ270は、現在ピクチャ内の動き情報が導出された(または、エンコードされた)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的隣接ブロックの動き情報または時間的隣接ブロックの動き情報として活用するために、インター予測部221に伝達することができる。メモリ270は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部222に伝達することができる。
【0054】
図3は、本文書の実施形態が適用され得るビデオ/画像デコード装置の構成を概略的に説明する図である。
【0055】
図3を参照すると、デコーディング装置300は、エントロピーデコーディング部(entropy decoder)310、レジデュアル処理部(residual processor)320、予測部(predictor)330、加算部(adder)340、フィルタリング部(filter)350、及びメモリ(memory)360を含んで構成されることができる。予測部330は、イントラ予測部331及びインター予測部332を含むことができる。レジデュアル処理部320は、逆量子化部(dequantizer)321及び逆変換部(inverse transformer)321を含むことができる。前述したエントロピーデコーディング部310、レジデュアル処理部320、予測部330、加算部340、及びフィルタリング部350は、実施例によって一つのハードウェアコンポーネント(例えば、デコーダチップセットまたはプロセッサ)により構成されることができる。また、メモリ360は、DPB(decoded picture buffer)を含むことができ、デジタル格納媒体により構成されることもできる。前記ハードウェアコンポーネントは、メモリ360を内/外部コンポーネントとしてさらに含むことができる。
【0056】
ビデオ/画像情報を含むビットストリームが入力されると、デコード装置300は、図2のエンコード装置でビデオ/画像情報が処理されたプロセスに対応して画像を復元することができる。例えば、デコード装置300は、前記ビットストリームから取得したブロック分割関連情報に基づいてユニット/ブロックを導出できる。デコード装置300は、エンコード装置で適用された処理ユニットを用いてデコードを実行することができる。したがって、デコードの処理ユニットは、例えば、コーディングユニットであり、コーディングユニットは、コーディングツリーユニットまたは最大コーディングユニットからクアッドツリー構造、バイナリツリー構造、及び/又はターナリツリー構造にしたがって分割されることができる。コーディングユニットから1つ以上の変換ユニットが導出されることができる。そして、デコード装置300を介してデコード及び出力された復元画像信号は、再生装置を介して再生されることができる。
【0057】
デコード装置300は、図2のエンコード装置から出力された信号をビットストリーム形態で受信することができ、受信された信号は、エントロピーデコード部310を介してデコードされることができる。例えば、エントロピーデコード部310は、前記ビットストリームをパーシングして画像復元(または、ピクチャ復元)に必要な情報(例えば、ビデオ/画像情報)を導出できる。前記ビデオ/画像情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、またはビデオパラメータセット(VPS)など、様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/画像情報は、一般制限情報(general constraint information)をさらに含むことができる。デコード装置は、前記パラメータセットに関する情報及び/又は前記一般制限情報に基づいてさらにピクチャをデコードすることができる。本文書において後述されるシグナリング/受信される情報及び/又はシンタックス要素は、前記デコード手順を介してデコードされて前記ビットストリームから取得されることができる。例えば、エントロピーデコード部310は、指数ゴロム符号化、CAVLCまたはCABAC等のコーディング方法を基にビットストリーム内の情報をデコードし、画像復元に必要なシンタックスエレメントの値、レジデュアルに関する変換係数の量子化された値などを出力することができる。より詳細に、CABACエントロピーデコード方法は、ビットストリームで各構文要素に該当するビンを受信し、デコード対象構文要素情報と周辺及びデコード対象ブロックのデコード情報、または以前ステップでデコードされたシンボル/ビンの情報を利用して文脈(コンテキスト、context)モデルを決定し、決定された文脈モデルによってビン(bin)の発生確率を予測し、ビンの算術デコード(arithmetic decoding)を実行して各構文要素の値に該当するシンボルを生成することができる。このとき、CABACエントロピーデコード方法は、文脈モデル決定後、次のシンボル/ビンの文脈モデルのためにデコードされたシンボル/ビンの情報を利用して文脈モデルをアップデートすることができる。エントロピーデコード部310でデコードされた情報のうち、予測に関する情報は、予測部(インター予測部332及びイントラ予測部331)に提供され、エントロピーデコード部310でエントロピーデコードが実行されたレジデュアル値、すなわち、量子化された変換係数及び関連パラメータ情報は、レジデュアル処理部320に入力されることができる。レジデュアル処理部320は、レジデュアル信号(レジデュアルブロック、レジデュアルサンプル、レジデュアルサンプルアレイ)を導出できる。また、エントロピーデコード部310でデコードされた情報のうち、フィルタリングに関する情報は、フィルタリング部350に提供されることができる。一方、エンコード装置から出力された信号を受信する受信部(図示せず)がデコード装置300の内/外部エレメントとしてさらに構成されることができ、または、受信部は、エントロピーデコード部310の構成要素である。一方、本文書に係るデコード装置は、ビデオ/画像/ピクチャデコード装置と呼ばれることができ、前記デコード装置は、情報デコーダ(ビデオ/画像/ピクチャ情報デコーダ)及びサンプルデコーダ(ビデオ/画像/ピクチャサンプルデコーダ)に区分することもできる。前記情報デコーダは、前記エントロピーデコード部310を備えることができ、前記サンプルデコーダは、前記逆量子化部321、逆変換部322、加算部340、フィルタリング部350、メモリ360、インター予測部332、及びイントラ予測部331のうち、少なくとも1つを備えることができる。
【0058】
逆量子化部321では、量子化された変換係数を逆量子化して変換係数を出力することができる。逆量子化部321は、量子化された変換係数を2次元のブロック形態で再整列することができる。この場合、前記再整列は、エンコード装置で実行された係数スキャン順序に基づいて再整列を実行することができる。逆量子化部321は、量子化パラメータ(例えば、量子化ステップサイズ情報)を利用して量子化された変換係数に対する逆量子化を実行し、変換係数(transform coefficient)を取得することができる。
【0059】
逆変換部322では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得するようになる。
【0060】
予測部は、現在ブロックに対する予測を実行し、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、エントロピーデコード部310から出力された前記予測に関する情報に基づいて、前記現在ブロックにイントラ予測が適用されるか、またはインター予測が適用されるかを決定することができ、具体的なイントラ/インター予測モードを決定することができる。
【0061】
予測部320は、後述する様々な予測方法に基づいて予測信号を生成することができる。例えば、予測部は、1つのブロックに対する予測のために、イントラ予測またはインター予測を適用することができるだけでなく、イントラ予測とインター予測とを同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のために、イントラブロックコピー(intra block copy、IBC)予測モードに基づくこともでき、またはパレットモード(palette mode)に基づくこともできる。前記IBC予測モードまたはパレットモードは、例えば、SCC(screen content coding)などのように、ゲームなどのコンテンツ画像/動画コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を実行するが、現在ピクチャ内で参照ブロックを導出する点においてインター予測と類似して実行されることができる。すなわち、IBCは、本文書において説明されるインター予測技法のうち、少なくとも1つを利用することができる。パレットモードは、イントラコーディングまたはイントラ予測の一例と見ることができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報が前記ビデオ/画像情報に含まれてシグナリングされることができる。
【0062】
イントラ予測部331は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在ブロックの周辺(neighbor)に位置することができ、または離れて位置することもできる。イントラ予測において予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。イントラ予測部331は、隣接ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0063】
インター予測部332は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。このとき、インター予測モードから送信される動き情報の量を減らすために、隣接ブロックと現在ブロックとの間の動き情報の相関性に基づいて動き情報をブロック、サブブロック、またはサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測の場合に、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)と参照ピクチャに存在する時間的隣接ブロック(temporal neighboring block)とを含むことができる。例えば、インター予測部332は、隣接ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出できる。様々な予測モードに基づいてインター予測が実行されることができ、前記予測に関する情報は、前記現在ブロックに対するインター予測のモードを指示する情報を含むことができる。
【0064】
加算部340は、取得されたレジデュアル信号を予測部(インター予測部332及び/又はイントラ予測部331を含む)から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることにより復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。
【0065】
加算部340は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て出力されることができ、または、次のピクチャのインター予測のために使用されることもできる。
【0066】
一方、ピクチャデコード過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0067】
フィルタリング部350は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部350は、復元ピクチャに様々なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ360、具体的に、メモリ360のDPBに送信することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。
【0068】
メモリ360のDPBに格納された(修正された)復元ピクチャは、インター予測部332で参照ピクチャとして使用されることができる。メモリ360は、現在ピクチャ内の動き情報が導出された(または、デコードされた)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的隣接ブロックの動き情報または時間的隣接ブロックの動き情報として活用するために、インター予測部260に伝達することができる。メモリ360は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部331に伝達することができる。
【0069】
本文書において、エンコーディング装置200のフィルタリング部260、インター予測部221、及びイントラ予測部222で説明された実施例は、各々、デコーディング装置300のフィルタリング部350、インター予測部332、及びイントラ予測部331にも同一または対応するように適用されることができる。
【0070】
図4は、コーディングされたビデオ/映像に対する階層構造を例示的に示す。
【0071】
図4を参照すると、コーディングされたビデオ/映像は、ビデオ/映像のデコーディング処理及びその自体を扱うVCL(video coding layer、ビデオコーディング階層)、符号化された情報を送信して格納する下位システム、そしてVCLと下位システムとの間に存在してネットワーク適応機能を担当するNAL(network abstraction layer、ネットワーク抽象階層)に区分されることができる。
【0072】
例えば、VCLでは、圧縮されたイメージデータ(スライスデータ)を含むVCLデータが生成され、またはピクチャパラメータセット(Picture Parameter Set、PPS)、シーケンスパラメータセット(Sequence Parameter Set、SPS)、ビデオパラメータセット(Video Parameter Set、VPS)または映像デコーディング過程に追加で必要なSEI(Supplemental Enhancement Information、SEI)メッセージを含むパラメータセットが生成されることができる。
【0073】
例えば、NALでは、VCLで生成されたRBSP(Raw Byte Sequence Payload)にヘッダ(header)情報(NALユニットヘッダ)を追加してNALユニットが生成されることができる。この場合、RBSPは、VCLで生成されたスライスデータ(slice data)、パラメータセット(parameter set)、SEIメッセージ(SEI message)などを参照することができる。NALユニットヘッダは、該当NALユニットに含まれているRBSPデータによって指定されたNALユニットタイプ情報を含むことができる。
【0074】
例えば、図4に示すように、NALユニットは、VCLで生成されたRBSPによってVCL NALユニットとNon-VCL NALユニットに分類されることができる(classified)。VCL NALユニットは、映像(image)に対する情報(スライスデータ)を含むNALユニットを意味することができ、Non-VCL NALユニットは、映像デコーディングに必要な情報(パラメータセットまたはSEIメッセージ)を含むNALユニットを意味することができる。
【0075】
前述したVCL NALユニットとNon-VCL NALユニットは、サブシステムのデータ規格(data standard)によってヘッダ情報を添付してネットワークを介して送信されることができる。例えば、NALユニットは、H.266/VVCファイルフォーマット(VVC file format)、リアルタイムトランスポートプロトコル(real-time transport protocol、RTP)、トランスポートプストリーム(Transport Stream、TS)などのようなあらかじめ決められた標準のデータフォーマット(data format)に変換されることができ、多様なネットワークを介して送信されることができる。
【0076】
また、前述したように、NALユニットは、該当NALユニットに含まれているRBSPデータ構造によってNALユニットタイプが指定されることができ、NALユニットタイプに対する情報は、NALユニットヘッダに格納されてシグナリングされることができる。
【0077】
例えば、NALユニットは、映像に対する情報(スライスデータ)を含むかどうかによってVCL NALユニットタイプとNon-VCL NALユニットタイプに分類されることができる。また、VCL NALユニットタイプは、VCL NALユニットに含まれているピクチャの特性とタイプによって分類されることができ、Non-VCL NALユニットタイプは、パラメータセットのタイプによって分類されることができる。
【0078】
次は、Non-VCL NALユニットタイプに含まれているパラメータセットのタイプによって指定されたNALユニットタイプの例である。
【0079】
-APS(Adaptation Parameter Set)NALユニット:APSを含むNALユニットに対するタイプ
【0080】
-DPS(Decoding Parameter Set)NALユニット:DPSを含むNALユニットに対するタイプ
【0081】
-VPS(Video Parameter Set)NALユニット:VPSを含むNALユニットに対するタイプ
【0082】
-SPS(Sequence Parameter Set)NALユニット:SPSを含むNALユニットに対するタイプ
【0083】
-PPS(Picture Parameter Set)NALユニット:PPSを含むNALユニットに対するタイプ
【0084】
-PH(Picture header)NALユニット:PHを含むNALユニットに対するタイプ
【0085】
前述したNALユニットタイプは、NALユニットタイプに対するシンタックス情報を有することができ、シンタックス情報は、NALユニットヘッダに格納及びシグナリングされることができる。例えば、前記シンタックス情報は、nal_unit_typeであり、NAL単位タイプは、nal_unit_type値に指定されることができる。
【0086】
一方、一つのピクチャは、複数のスライスを含むことができ、スライスは、スライスヘッダ及びスライスデータを含むことができる。この場合、複数のスライス(スライスヘッダ及びスライスデータのセット)に対して一つのピクチャヘッダが追加されることができる。ピクチャヘッダ(ピクチャヘッダシンタックス)は、ピクチャに共通的に適用されることができる情報/パラメータを含むことができる。スライスヘッダ(スライスヘッダシンタックス)は、スライスに共通的に適用されることができる情報/パラメータを含むことができる。APS(APSシンタックス)またはPPS(PPSシンタックス)は、一つ以上のスライスまたはピクチャに共通的に適用されることができる情報/パラメータを含むことができる。SPS(SPSシンタックス)は、一つ以上のシーケンス(sequence)に共通的に適用されることができる情報/パラメータを含むことができる。VPS(VPSシンタックス)は、複数のレイヤに共通的に適用されることができる情報/パラメータを含むことができる。DPS(DPSシンタックス)は、全体映像に共通的に適用されることができる情報/パラメータを含むことができる。DPSは、コーディングされたビデオシーケンス(Coded Video Sequence、CVS)の連結(concatenation)と関連した情報/パラメータを含むことができる。
【0087】
本文書において、エンコーディング装置からデコーディング装置にエンコーディングされてビットストリーム形態でシグナリングされる映像/ビデオ情報は、ピクチャ内のパーティショニング関連情報、イントラ/インター予測情報、インターレイヤ予測関連情報、レジデュアル情報、インループフィルタリング情報などを含むだけでなく、前記スライスヘッダに含まれている情報、前記ピクチャヘッダに含まれている情報、前記APSに含まれている情報、前記PPSに含まれている情報、SPSに含まれている情報、VPSに含まれている情報、及び/又はDPSに含まれている情報を含むことができる。また、前記映像/ビデオ情報は、NALユニットヘッダの情報をさらに含むことができる。
【0088】
一方、前述したエンコーディングされたイメージ(image)/ビデオ(video)情報は、メディアファイル(media file)を生成するためにメディアファイルフォーマット(media file format)に基づいて構成されることができる。例えば、エンコーディングされたイメージ/ビデオ情報は、前記エンコーディングされたイメージ/ビデオ情報に対する一つ以上のNALユニット/サンプルエントリー(entry)に基づいてメディアファイル(セグメント)を形成(form)することができる。前記メディアファイルは、サンプルエントリーとトラック(track)を含むことができる。例えば、メディアファイル(セグメント)は、多様なレコード(record)を含むことができ、それぞれのレコードは、イメージ/ビデオと関連した情報またはメディアファイルフォーマットと関連した情報を含むことができる。また、例えば、一つ以上のNALユニットは、メディアファイルの構成(configuration)レコード(または、デコーダ構成レコード、またはVVCデコーダ構成レコード)フィールド(field)に格納されることができる。ここで、フィールドは、シンタックスエレメント(syntax element)とも呼ばれる。
【0089】
例えば、この文書に開示された方法/実施例が適用されることができるメディアファイルフォーマットとしてISO Base Media File Format(ISOBMFF)が使われることができる。ISOBMFFは、AVCファイルフォーマット、HEVCファイルフォーマット及び/又はVVCファイルフォーマットなどのような多くのコーデックカプセル化フォーマット(codec encapsulation formats)とMPEG-4ファイルフォーマット、3GPP(登録商標)ファイルフォーマット(3GP)及び/又はDVBファイルフォーマットなどのような多くのマルチメディアコンテナフォーマットの基礎として使われることができる。また、オーディオ及びビデオのような連続メディア(continuous media)外にもイメージ(image)のような静的メディア(static media)及びメタデータがISOBMFFによるファイルに格納されることができる。ISOBMFFによって構造化されたファイルは、ローカルメディアファイルプレイバック(local media file playback)、遠隔ファイルの漸進的ダウンロード(progressive downloading of a remote file)、DASH(Dynamic Adaptive Streaming over HTTP、DASH)に対するセグメント(segments)、ストリーミングするコンテンツのコンテナ(containers)及びパケット化インストラクション(packetization instructions)、受信されたリアルタイムメディアストリームのレコーティング(recording of received real-time media streams)等、多様な用途で使われることができる。
【0090】
後述する「ボックス(box)」は、ISOBMFFの基本シンタックスエレメント(elementary syntax element)である。ISOBMFFファイルは、一連のボックス(a sequence of boxes)で構成されることができ、ボックスには他のボックスが含まれることができる。例えば、ムービーボックス(グループ化タイプ(grouping type)が「moov」であるボックス)は、メディアファイルにある連続メディアストリーム(continuous media streams)に対するメタデータを含むことができ、各ストリームは、ファイルにトラックで表示されることができる。トラックに対するメタデータは、トラックボックス(グループ化タイプ(grouping type)が「trak」であるボックス)に含まれることができ、トラックのメディアコンテンツ(media content)は、メディアデータボックス(グループ化タイプ(grouping type)が「mdat」であるボックス)に含まれ、または別途のファイルに直接含まれることができる。トラックのメディアコンテンツは、オーディオまたはビデオアクセスユニットのようなサンプルシーケンス(a sequence of samples)で構成されることができる。例えば、ISOBMFFは、基本メディアストリーム(elementary media stream)を含むメディアトラック(mediat rack)、メディア送信インストラクション(media transmission instructions)を含んだり受信されたパケットストリームを示すヒントトラック(hint track)、時間同期化されたメタデータ(timesynchronized metadata)を含むタイムドメタデータトラック(timed metadata track)のようなタイプのトラックを指定することができる。
【0091】
また、ISOBMFFは、格納用として設計されたが、例えば、漸進的ダウンロード(プログレッシブダウンロード、progressive download)またはDASHのようなストリーミングにも非常に有用である。ストリーミング目的として、ISOBMFFで定義されたムービーフラグメント(movie fragments)が使われることができる。断片化されたISOBMFFファイル(fragmented ISOBMFF file)は、例えば、ビデオ及びオーディオと関連した二つのトラックで表すことができる。例えば、「moov」ボックスを受信した後に任意アクセス(ランダムアクセス、random access)が含まれている場合、関連メディアデータと共に全てのムービーフラグメント「moof」がデコーディングされることができる。
【0092】
また、各トラックのメタデータは、前記トラックに使われたコーディングまたはカプセル化フォーマットと該当フォーマットの処理に必要な初期化データ(initialization data)を提供するサンプルデスクリプションエントリー(sample description entries)のリストを含むことができる。また、各サンプルは、前記トラックの前記サンプルデスクリプションエントリーのうち一つと連結されることができる。
【0093】
ISOBMFFを使用すると、多様なメカニズムでサンプル別メタデータ(sample-specific metadata)を指定することができる。サンプルテーブルボックス(グループ化タイプが「stbl」であるボックス)内の特定ボックスは、一般的な要求事項に対応するために標準化されることができる。例えば、シンク(Sync)サンプルボックス(グループ化タイプが「stss」であるボックス)は、トラックのランダムアクセスサンプル(random access samples)の羅列に使われることができる。サンプルグループ化メカニズムを使用すると、ファイル内のサンプルグループデスクリプションエントリー(sample group description entry)に指定された同じ属性(property)を共有するサンプルグループで4字グループ化タイプ(a four-character grouping type)によってサンプルをマッピングすることができる。ISOBMFFには様々なグループ化タイプが指定されている。
【0094】
図5及び図6は、メディアファイル構造の一例を示す図である。
【0095】
メディアファイルは、少なくとも一つ以上のボックスを含むことができる。ここで、ボックス(box)は、メディアデータまたはメディアデータに関連したメタデータなどを含むデータブロック乃至オブジェクトである。ボックスは、互いに階層的構造をなすことができ、これによってデータが分類されて、メディアファイルが大容量メディアデータの格納及び/又は送信に適した形態になることができる。また、メディアファイルは、ユーザがメディアコンテンツの特定地点へ移動する等、メディア情報に接近するにあたって容易な構造を有することができる。
【0096】
メディアファイルは、ftypボックス、moovボックス及び/又はmdatボックスを含むことができる。
【0097】
ftypボックス(ファイルタイプボックス)は、該当メディアファイルに対するファイルタイプまたは互換性関連情報を提供することができる。ftypボックスは、該当メディアファイルのメディアデータに対する構成バージョン情報を含むことができる。デコーディング装置は、ftypボックスを参照して該当メディアファイルを区分することができる。
【0098】
moovボックス(ムービーボックス)は、該当メディアファイルのメディアデータに対するメタデータを含むボックスである。moovボックスは、全てのメタデータのためのコンテナ役割をすることができる。moovボックスは、メタデータ関連ボックスのうち最上位階層のボックスである。実施例によって、moovボックスは、メディアファイル内に一つのみ存在できる。
【0099】
mdatボックス(メディアデータボックス)は、該当メディアファイルの実際メディアデータを入れるボックスである。メディアデータは、オーディオサンプル及び/又はビデオサンプルを含むことができ、mdatボックスは、このようなメディアサンプルを入れるコンテナ役割をすることができる。
【0100】
実施例によって、前述したmoovボックスは、mvhdボックス、trakボックス及び/又はmvexボックスなどを下位ボックスとしてさらに含むことができる。
【0101】
mvhdボックス(ムービーヘッダボックス)は、該当メディアファイルに含まれるメディアデータのメディアプレゼンテーション関連情報を含むことができる。すなわち、mvhdボックスは、該当メディアプレゼンテーションのメディア生成時間、変更時間、時間規格、期間などの情報を含むことができる。
【0102】
trakボックス(トラックボックス)は、該当メディアデータのトラックに関連した情報を提供することができる。trakボックスは、オーディオトラックまたはビデオトラックに対するストリーム関連情報、プレゼンテーション関連情報、アクセス関連情報などの情報を含むことができる。Trakボックスは、トラックの個数によって複数個存在できる。
【0103】
trakボックスは、実施例によって、tkhdボックス(トラックヘッダボックス)を下位ボックスとしてさらに含むことができる。tkhdボックスは、trakボックスが示す該当トラックに対する情報を含むことができる。tkhdボックスは、該当トラックの生成時間、変更時間、トラック識別子などの情報を含むことができる。
【0104】
mvexボックス(ムービーイクステンドボックス)は、該当メディアファイルに後述するmoofボックスがあることを指示することができる。特定トラックの全てのメディアサンプルを知るために、moofボックスがスキャンされなければならない。
【0105】
メディアファイルは、実施例によって、複数個のフラグメントに分けられることができる(500)。これによって、メディアファイルが分割されて格納または送信されることができる。メディアファイルのメディアデータ(mdatボックス)は、複数個のフラグメントに分けられ、それぞれのフラグメントは、moofボックスと分けられたmdatボックスとを含むことができる。実施例によって、フラグメントを活用するためにはftypボックス及び/又はmoovボックスの情報が必要である。
【0106】
moofボックス(ムービーフラグメントボックス)は、該当フラグメントのメディアデータに対するメタデータを提供することができる。moofボックスは、該当フラグメントのメタデータ関連ボックスのうち最上位階層のボックスである。
【0107】
mdatボックス(メディアデータボックス)は、前述したように実際メディアデータを含むことができる。このmdatボックスは、それぞれの該当フラグメントに該当するメディアデータのメディアサンプルを含むことができる。
【0108】
実施例によって、前述したmoofボックスは、mfhdボックス及び/又はtrafボックスなどを下位ボックスとしてさらに含むことができる。
【0109】
mfhdボックス(ムービーフラグメントヘッダボックス)は、分割された複数個のフラグメント間の連関性と関連した情報を含むことができる。mfhdボックスは、シーケンスナンバー(sequence number)を含み、該当フラグメントのメディアデータが分割された何番目のデータであるかを示すことができる。また、mfhdボックスを利用して分割されたデータのうち欠落されたものはないかどうかが確認されることができる。
【0110】
trafボックス(トラックフラグメントボックス)は、該当トラックフラグメントに対する情報を含むことができる。trafボックスは、該当フラグメントに含まれる分割されたトラックフラグメントに対するメタデータを提供することができる。trafボックスは、該当トラックフラグメント内のメディアサンプルが復号化/再生されることができるようにメタデータを提供することができる。trafボックスは、トラックフラグメントの個数によって複数個存在できる。
【0111】
実施例によって前述したtrafボックスは、tfhdボックス及び/又はtrunボックスなどを下位ボックスとしてさらに含むことができる。
【0112】
tfhdボックス(トラックフラグメントヘッダボックス)は、該当トラックフラグメントのヘッダ情報を含むことができる。tfhdボックスは、前述したtrafボックスが示すトラックフラグメントのメディアサンプルに対して、基本的なサンプル大きさ、期間、オフセット、識別子などの情報を提供することができる。
【0113】
trunボックス(トラックフラグメントランボックス)は、該当トラックフラグメント関連情報を含むことができる。trunボックスは、メディアサンプル別期間、大きさ、再生時点などのような情報を含むことができる。
【0114】
前述したメディアファイル乃至メディアファイルのフラグメントは、セグメントとして処理されて送信されることができる。セグメントには初期化セグメント(initialization segment)及び/又はメディアセグメント(media segment)がある。
【0115】
図示された実施例(510)のファイルは、メディアデータを除いてメディアデコーダの初期化と関連した情報などを含むファイルである。このファイルは、例えば、前述した初期化セグメントに該当できる。初期化セグメントは、前述したftypボックス及び/又はmoovボックスを含むことができる。
【0116】
図示された実施例(520)のファイルは、前述したフラグメントを含むファイルである。このファイルは、例えば、前述したメディアセグメントに該当できる。メディアセグメントは、前述したmoofボックス及び/又はmdatボックスを含むことができる。また、メディアセグメントは、stypボックス及び/又はsidxボックスをさらに含むことができる。
【0117】
stypボックス(セグメントタイプボックス)は、分割されたフラグメントのメディアデータを識別するための情報を提供することができる。stypボックスは、分割されたフラグメントに対して、前述したftypボックスのような役割を遂行することができる。実施例によって、stypボックスは、ftypボックスと同じフォーマットを有することができる。
【0118】
sidxボックス(セグメントインデックスボックス)は、分割されたフラグメントに対するインデックスを示す情報を提供することができる。これによって、該当分割されたフラグメントが何番目のフラグメントであるかが指示されることができる。
【0119】
実施例(530)によってssixボックスがさらに含まれることができ、ssixボックス(サブセグメントインデックスボックス)は、セグメントがサブセグメントにさらに分けられる場合において、そのサブセグメントのインデックスを示す情報を提供することができる。
【0120】
メディアファイル内のボックスは、図示された実施例(550)のようなボックス乃至フルボックス(FullBox)形態に基づいて、より拡張された情報を含むことができる。この実施例において、sizeフィールド、largesizeフィールドは、該当ボックスの長さをバイト単位などで表すことができる。versionフィールドは、該当ボックスフォーマットのバージョンを示すことができる。Typeフィールドは、該当ボックスのタイプ乃至識別子を示すことができる。flagsフィールドは、該当ボックスと関連したフラグなどを示すことができる。
【0121】
一方、本文書のビデオ/映像に関するフィールド(属性)は、DASHベースの適応型(adaptive)ストリーミングモデルに含まれて伝達されることができる。
【0122】
図7は、DASHベースの適応型ストリーミングモデルの全般的な動作の一例を示す。図示された実施例(700)によるDASHベースの適応型ストリーミングモデルは、HTTPサーバとDASHクライアントとの間の動作を記述している。ここで、DASH(Dynamic Adaptive Streaming over HTTP)は、HTTPベースの適応型ストリーミングを支援するためのプロトコルであって、ネットワーク状況によって動的にストリーミングを支援することができる。これによって、AVコンテンツ再生がシームレス提供されることができる。
【0123】
まず、DASHクライアントは、MPDを取得することができる。MPDは、HTTPサーバなどのサービスプロバイダーから伝達されることができる。DASHクライアントは、MPDに記述されたセグメントへの接近情報を利用してサーバに該当セグメントを要請することができる。ここで、この要請は、ネットワーク状態を反映して実行されることができる。
【0124】
DASHクライアントは、該当セグメントを取得した後、これをメディアエンジンで処理して画面にディスプレイできる。DASHクライアントは、再生時間及び/又はネットワーク状況などをリアルタイムで反映し、必要なセグメントを要請、取得できる(Adaptive Streaming)。これによって、コンテンツがシームレス再生されることができる。
【0125】
MPD(Media Presentation Description)は、DASHクライアントにとってセグメントを動的に取得できるようにするための詳細情報を含むファイルであって、XML形態で表現されることができる。
【0126】
DASHクライアントコントローラ(DASH Client Controller)は、ネットワーク状況を反映してMPD及び/又はセグメントを要請するコマンドを生成することができる。また、このコントローラは、取得された情報をメディアエンジン等の内部ブロックで使用することができるように制御できる。
【0127】
MPDパーサー(Parser)は、取得したMPDをリアルタイムでパーシングできる。これによって、DASHクライアントコントローラは、必要なセグメントを取得することができるコマンドを生成することができるようになる。
【0128】
セグメントパーサー(Parser)は、取得したセグメントをリアルタイムでパーシングできる。セグメントに含まれている情報によってメディアエンジンなどの内部ブロックは、特定動作を実行することができる。
【0129】
HTTPクライアントは、必要なMPD及び/又はセグメントなどをHTTPサーバに要請できる。また、HTTPクライアントは、サーバから取得したMPD及び/又はセグメントをMPDパーサーまたはセグメントパーサーに伝達できる。
【0130】
メディアエンジン(Media Engine)は、セグメントに含まれているメディアデータを利用してコンテンツを画面上に表示できる。このとき、MPDの情報が活用されることができる。
【0131】
DASHデータモデルは、階層的構造(710)を有することができる。メディアプレゼンテーションは、MPDにより記述されることができる。MPDは、メディアプレゼンテーションを作る複数個のピリオド(period)の時間的なシーケンスを記述することができる。ピリオド(period)は、メディアコンテンツの一区間を示すことができる。
【0132】
一区間で、データは、アダプテーションセットに含まれることができる。アダプテーションセットは、互いに交換されることができる複数個のメディアコンテンツコンポーネントの集合である。アダプテーションは、レプレゼンテーションの集合を含むことができる。レプレゼンテーションは、メディアコンテンツコンポーネントに該当できる。一レプレゼンテーション内で、コンテンツは、複数個のセグメントに時間的に分けられることができる。これは適切な接近性と伝達(delivery)のためである。それぞれのセグメントに接近するために各セグメントのURLが提供されることができる。
【0133】
MPDは、メディアプレゼンテーションに関連した情報を提供することができ、ピリオド(period)エレメント、アダプテーションセットエレメント、レプレゼンテーションエレメントは、各々、該当ピリオド、アダプテーションセット、レプレゼンテーションに対して記述できる。レプレゼンテーションは、サブレプレゼンテーションに分けられることができ、サブレプレゼンテーションエレメントは、該当サブレプレゼンテーションに対して記述できる。
【0134】
ここで、共通(Common)属性/エレメントが定義されることができ、これらはアダプテーションセット、レプレゼンテーション、サブレプレゼンテーションなどに適用されることができる(含まれることができる)。共通属性/エレメントの中にはエッセンシャルプロパティ(Essential Property)及び/又はサプリメンタルプロパティ(Supplemental Property)がある。
【0135】
エッセンシャルプロパティは、該当メディアプレゼンテーション関連データを処理するにあたって必須であると見なされるエレメントを含む情報である。サプリメンタルプロパティは、該当メディアプレゼンテーション関連データを処理するにあたって使われることもできるエレメントを含む情報である。実施例によって後述するデスクリプタは、MPDを介して伝達される場合、エッセンシャルプロパティ及び/又はサプリメンタルプロパティ内に定義されて伝達されることができる。
【0136】
一方、後述する「サンプル(sample)」は、ピクチャを示す3個のサンプルアレイ(Y、Cb、Cr)のうち、一つの単一時間(single time)または単一要素(single element)と関連した全てのデータである。例えば、「サンプル(sample)」という用語が(メディアファイルフォーマットの)トラックのコンテキスト(context)で使われる場合、該当トラックの単一時間と関連した全てのデータを意味することができる。ここで、時間は、デコーディング時間(decoding time)またはコムポジション時間(composition)である。また、例えば、「サンプル(sample)」という用語がピクチャのコンテキスト(context)で使われる場合、すなわち、「ルマサンプル(luma sample)」のようにピクチャの用語で使われる場合にはピクチャを示す3個のサンプルアレイのうち一つにある単一要素を示すことができる。
【0137】
一方、VVCコンテンツ(content)を格納するために、下記のように三つのタイプの基本ストリーム(elementary streams)が定義されることができる。
【0138】
-VCL NALユニットを含み、パラメータセット(parameter set)、DCIまたはOPI NALユニットを含まないビデオ基本ストリーム(video elementary stream)、ここで、全てのパラメータセット、DCI及びOPI NALユニットは、サンプルエントリーまたはサンプルエントリーに格納されることができる。
【0139】
-VCL NALユニットを含み、パラメータセット、DCIまたはOPI NALユニットを含むことができ、前記パラメータセット、DCIまたはOPI NALユニットが格納されたサンプルエントリーまたはサンプルエントリーを有するビデオ及びパラメータセット基本ストリーム(parameter set elementary stream)。
【0140】
-ビデオトラックに含まれている基本ストリームと同期化されたnon-VCL NALユニットを含むnon-VCL基本ストリーム(non-VCL elementary stream)。ここで、VVC non-VCLトラックは、サンプルエントリー内のパラメータセット、DCIまたはOPI NALユニットを含まない。
【0141】
一方、VVCビデオストリームは、下記のように定義されることができる。
【0142】
例えば、VVCサンプルエントリーは、サンプルエントリータイプ(sample entry type)が「vvc1」または「vvi1」であるサンプルエントリーに定義されることができる。VVCトラックの各サンプルエントリーは、VVCサンプルエントリーである。VVCサンプルエントリーは、以下に定義されたVVC構成ボックス(VVC Configuration Box)を含むことができる。前記VVC構成ボックスは、デコーダ構成情報を含むVVCデコーダ構成レコード(VVC decoder configuration record)を含むことができる。
【0143】
また、VVCビデオストリームのビット送信率情報(bit rate information)をシグナリングするためにVVCサンプルエントリーに選択的(optional)BitRateBoxが存在できる。また、MPEG-4で使われる場合、基本ストリームデスクリプタ(Elementary Stream Descriptor)に挿入されるべき拡張デスクリプタ(Extension descriptor)も存在できる。
【0144】
また、ISOベースのメディアファイル形式仕様(ISO Base Media File Format specification)で許容する通りに、複数のサンプルエントリーを使用して他の構成またはパラメータセットを使用するビデオセクションが表示されることができる。
【0145】
VVCサブピクチャトラック(VVC subpicture track)が他のVVCサブピクチャトラックなしに消費されることができ、一致する(conforming)VVCビットストリームを含む場合、VVCサブピクチャトラックに対してレギュラー(regular)VVCサンプルエントリー(「vvc1」または「vvi1」)が使われることができる。そうでない場合、「vvs1」サンプルエントリーがVVCサブピクチャトラックに使われ、次の制約条件がトラックに適用されることができる。
【0146】
-track_in_movieフラグは、0と同じである。
【0147】
-トラックは、一つのサンプルエントリーのみを含む。
【0148】
-トラックは、「subp」トラックリファレンス(track reference)を介して一つ以上のVVCベーストラックにより参照される。
【0149】
-DCI、OPI、VPS、SPS、PPS、AUD、PH、EOS、EOB及びその他AUまたはピクチャレベルnon-VCL NALユニットは、サンプルエントリーと「vvs1」トラックのサンプルの両方ともにないべきである。
【0150】
-特に明示されない限り、ビデオサンプルエントリーの下位ボックス(child box)(例:CleanApertureBox及びPixelAspectRatioBox)は、サンプルエントリーにないべきであり、存在する場合に無視される。
【0151】
-サンプルに含まれている全てのVCL NALユニットが同期化サンプル要求事項(sync sample requirements)を遵守しない限り、サンプルは同期化サンプル(sync sample)で表示され(marked)ない。
【0152】
-「vvs1」トラックのサンプルに対する構成時間オフセット情報(composition time offset information)が存在しない。
【0153】
-「vvs1」トラックのサンプルに対するサブサンプル情報(subsample information)が存在できる。サブサンプル情報が存在する場合、サブサンプル情報は、VVCに対するサブサンプルの定義に従わなければならない。
【0154】
また、VVCトラックは、VVCサブピクチャトラック(VVC subpicture track)のtrack_ID値またはVVCサブピクチャトラックの「alte」トラックグループのtrack_group_id値のうち一つを含むエントリーと共に「subp」トラックリファレンスを含むことができる。「spor」タイプのサンプルグループは、各VVCベーストラックにある。VVCベーストラックに対する専用サンプルエントリータイプ(dedicated sample entry type)は、トラックタイプのコーデックMIMEパラメータ(codecs MIME parameter)を介してVVCベーストラックを示すことができる。
【0155】
また、「vvs1」タイプのサンプルエントリーにはVvcNALUConfigBoxが含まれることができる。VVCサブピクチャトラックが、subpic_id_info_flagが1である「spor」サンプルグループデスクリプションエントリー(sample group description entry)を含むVVCベーストラックにより参照される場合、前記VVCサブピクチャトラックは、潜在的に基本サンプルグループ化メカニズム(default sample grouping mechanism)を使用するサブピクチャIDサンプルグループデスクリプション(subpicture ID sample group description)を含むことができる。
【0156】
また、サンプルエントリー名称(sample entry name)が「vvc1」または「vvi1」である場合、このサンプル項目が適用されるストリームは、VVCConfigurationBoxに提供された構成(プロファイル(profile)、階層(tier)及びレベル(level)を含む)で作動するVVCデコーダがみる時、互換されるVVCストリーム(compliant VVC stream)である。
【0157】
また、サンプルエントリー名称が「vvc1」である場合、array_completenessの値は、DCI、VPS、SPS、及びPPS NALユニットのアレイに対しては1と同じであり、他の全てのアレイに対しては0と同じである。また、サンプルエントリー名称が「vvi1」である場合、array_completenessの値は、全てのアレイに対して0と同じである。
【0158】
また、トラックが基本的にVVCビットストリームを含まずに「subp」及び「vvcN」トラックリファレンスを確認した後、VVCビットストリームを示さない場合(存在する場合)、前記トラックは、「vopi」サンプルグループを運ぶトラックまたは動作ポイントエンティティーグループ(Operating Points Entity Group)に対する「oref」トラックリファレンスを含むことができる。例えば、シングルレイヤVVCビットストリーム(single-layer VVC bitstream)に互いに異なるトラックに格納された二つの時間的サブレイヤ(temporal sublayers)が含まれている場合、TemporalIdが1であるサブレイヤが含まれているトラックにはTemporalIdが0であるサブレイヤが含まれているトラックに対する「oref」トラックリファレンスが含まれることができる。
【0159】
一方、VVCのためのISOベースのメディアファイル形式(ISO based media file format、ISOBMF)の動作ポイント情報(operating points information)は、グループ化タイプ(grouping type)が「vopi」であるグループボックス(group box)またはグループ化タイプが「opeg」であるエンティティーグループ(entity group)でサンプルにシグナリングされることができる。前記動作ポイント情報は、サンプルと各動作ポイントに対するサンプルエントリーの識別に必要である。
【0160】
一方、動作ポイント(operating points)は、OLS(output layer set)インデックス(index)とTemporalIdの最も高い値(highest value)で識別されることができるOSLの時間的サブセット(temporal subset)である。各動作ポイントは、前記動作ポイントの適合性ポイント(conformance point)を定義するプロファイル(profile)、ティア(tier)、レベル(level)(すなわち、PTL)と関連することができる。
【0161】
また、例えば、動作ポイントエンティティーグループ(operating point entity group)は、動作ポイントに対するトラックマッピング及び動作ポイントのプロファイルレベル情報(profile level information)を提供するように定義されることができる。「opeg」エンティティーグループが存在する場合、ファイルにはISO/IEC 14496-12に指定された「unif」ブランドを含むブランド組み合わせ(brand combination)があるファイル-レベルExtendedTypeBox(file-level Extended Type Box)が含まれることができる。
【0162】
前記動作ポイントエンティティーグループに説明された動作ポイントにマッピングされたトラックのサンプルを集計する(aggregating)場合、暗示的な復元プロセス(implicit reconstruction process)は、一致する(conforming)VVCビットストリームを得るためにこれ以上のVCL NALユニットを除去する必要がない。前記動作ポイントエンティティーグループに属するトラックは、前記動作ポイントエンティティーグループに表示されたgroup_idに対するタイプ「oref」のトラックリファレンスを有し、「vopi」サンプルグループを含まない。
【0163】
また、前記動作ポイントエンティティーグループに含まれている全てのentity_id値は、同じVVCビットストリームに属するトラックのトラックIDを示さなければならない。存在する場合、OperatingPointGroupBoxは、ファイル-レベル(file-level)MetaBoxのGroupsListBoxに含まれ、ファイル-レベル(file-level)他のレベルのMetaBoxには含まれない。ここで、OperatingPointGroupBoxは、前記動作ポイントエンティティーグループを示すことができる。
【0164】
前述した前記動作ポイントエンティティーグループのシンタックスは、以下の表の通りである。
【0165】
【表1-1】
【0166】
【表1-2】
【0167】
また、前記動作ポイントエンティティーグループのシンタックスに対するセマンティクス(semantics)は、以下の表の通りである。
【0168】
【表2-1】
【0169】
【表2-2】
【0170】
【表2-3】
【0171】
【表2-4】
【0172】
【表2-5】
【0173】
また、例えば、メディアファイルは、VVCビットストリームエンティティーグループ(VVC bitstream entity group)を含むことができる。VVCビットストリームエンティティーグループは、シングルVVC基本ストリーム(single VVC elementary stream)のVVCトラックを提供するように定義されることができる。
【0174】
例えば、grouping_typeが「vvcb」であるEntityToGroupBoxが存在する場合、次の制約条件が適用されることができる。
【0175】
1)EntityToGroupBoxは、ファイル-レベルMetaBoxのGroupsListBoxに含まれなければならず、他の水準のMetaBoxには含まれない。
【0176】
2)EntityToGroupBoxに含まれているentity_id値は、一つのVVC基本ストリームを運ぶ全てのVVCトラックのトラックIDを示す。
【0177】
3)EntityToGroupBoxに含まれている1番目のentity_id値は、「vopi」サンプルグループを運ぶVVCトラックのトラックIDを示す。
【0178】
4)EntityToGroupBoxに含まれている2番目以後のentity_id値で表示されるトラックID値を有するVVCトラックは、「vopi」サンプルグループを伝達しない。
【0179】
また、例えば、メディアファイルは、映像/ビデオコンテンツに対するデコーダ構成情報(decoder configuration information)を含むことができる。すなわち、メディアファイルは、デコーダ構成情報を含むVVCデコーダ構成レコード(VVC decoder configuration record)を含むことができる。
【0180】
前記VVCデコーダ構成レコードがサンプルエントリーに格納された場合、前記VVCデコーダ構成レコードは、パラメータセット、DCI、OPI、及びSEI NALユニットだけでなく、前記VVCデコーダ構成レコードに含まれているNALユニットの長さ(length)を示すために、各サンプルに使われた長さフィールド(length field)のサイズを含むことができる。前記VVCデコーダ構成レコードは、外部で構成(frame)されることができる(前記VVCデコーダ構成レコードのサイズは、前記VVCデコーダ構成レコードを含む構造で提供される)。
【0181】
また、前記VVCデコーダ構成レコードは、バージョンフィールド(version field)を含むことができる。本文書でのバージョンは、前記VVCデコーダ構成レコードのバージョン1を定義することができる。前記VVCデコーダ構成レコードに対する互換されない変更事項(incompatible changes)は、バージョン番号変更で表示されることができる。バージョン番号が認識されない場合、リーダ(readers)は、前記VVCデコーダ構成レコードまたは該当レコードが適用されるストリームをデコーディングしてはいけない。
【0182】
前記VVCデコーダ構成レコードに対する互換可能な拡張(Compatible extensions)は、構成バージョンコードを変更しない。リーダは、前記リーダが理解するデータの定義を超えては認識されないデータを無視する準備ができていなければならない。
【0183】
トラックが基本的にVVCビットストリームを含む場合、または、「subp」トラックリファレンスを介して解決する(resolving)場合、VvcPtlRecordは、前記デコーダ構成レコードに存在しなければならず、この場合、VVCビットストリームに対して設定された特定出力レイヤ(output layer)は、output_layer_set_idxフィールドで表示されることができる。また、トラックのデコーダ構成レコード内のptl_present_flagが0である場合、前記トラックは、VVCトラックまたは「opeg」エンティティーグループを参照することができるIDに対する「oref」トラックリファレンスを有しなければならない。
【0184】
前記VVCデコーダ構成レコードで説明するストリームがデコーディングされる場合、VvcPTLRecord、chroma_format_idc及びbit_depth_minus8のシンタックスエレメントの値は、参照される(referenced)全てのパラメータセットに対して有効(valid)できる。特に、次のような制限が適用されることができる。
【0185】
-プロファイル表示(profile indication)general_profile_idcは、構成レコードでoutput_layer_set_idxにより識別された(identified)OLSが遵守するプロファイルを示す。
【0186】
-ティア表示(tier indication)general_tier_flagは、構成レコードでoutput_layer_set_idxにより識別された(identified)OLSが遵守するprofile_tier_level()シンタックス構造(全てのパラメータセット)に表示された最も高いティアより大きいまたは同じティアを示すことができる。
【0187】
-general_constraint_infoの各ビットは、構成レコードでoutput_layer_set_idxにより識別された(identified)OLSが遵守するprofile_tier_level()シンタックス構造(全てのパラメータセット)の全てのgeneral_constraints_info()シンタックス構造で前記ビットが設定された場合にのみ設定されることができる。
【0188】
-レベル表示(level indication)general_level_idcは、構成レコードでoutput_layer_set_idxにより識別された(identified)OLSが遵守するprofile_tier_level()シンタックス構造(全てのパラメータセット)の最も高いレベルより大きいまたは同じ能力のレベル(a level of capability)を示すことができる。
【0189】
また、chroma_format_idcには、次の制約条件が適用されることができる。
【0190】
-構成レコードが適用されるVVCストリームがシングルレイヤビットストリームである場合、ISO/IEC 23090-3に定義されたsps_chroma_format_idcの値は、現在サンプルエントリーデスクリプション(current sample entry description)が適用されるサンプルのVCL NALユニットにより参照される全てのSPSで同じでなければならず、chroma_format_idcは、sps_chroma_format_idcと同じでなければならない。
【0191】
-そうでない場合(構成レコードが適用されるVVCストリームがマルチレイヤビットストリーム(multi-layer bitstream)である場合)、ISO/IEC 23090-3に定義されたvps_ols_dpb_chroma_format[MultiLayerOlsIdx[output_layer_set_idx]]の値は、現在サンプルエントリーデスクリプションが適用される全てのCVSに対して同じでなければならず、chroma_format_idcは、vps_ols_dpb_chroma_format[MultiLayerOlsIdx[output_layer_set_idx]]の値と同じでなければならない。
【0192】
また、bit_depth_minus8には、次の制約条件が適用されることができる。
【0193】
-構成レコードが適用されるVVCストリームがシングルレイヤビットストリームである場合、ISO/IEC 23090-3に定義されたsps_bitdepth_minus8の値は、現在サンプルエントリーデスクリプションが適用されるサンプルのVCL NALユニットにより参照される全てのSPSで同じでなければならず、bit_depth_minus8の値は、sps_bitdepth_minus8の値と同じでなければならない。
【0194】
-そうでない場合(構成レコードが適用されるVVCストリームがマルチレイヤビットストリームである場合)、ISO/IEC 23090-3に定義されたvps_ols_dpb_bitdepth_minus8[MultiLayerOlsIdx[output_layer_set_idx]]の値は、現在サンプルエントリーデスクリプションが適用される全てのCVSに対して同じでなければならず、bit_depth_minus8の値は、vps_ols_dpb_bitdepth_minus8[MultiLayerOlsIdx[output_layer_set_idx]]の値と同じでなければならない。
【0195】
また、picture_widthには、次の制約条件が適用されることができる。
【0196】
-構成レコードが適用されるVVCストリームがシングルレイヤビットストリームである場合、ISO/IEC 23090-3に定義されたsps_pic_width_max_in_luma_samplesの値は、現在サンプルエントリーデスクリプションが適用されるサンプルのVCL NALユニットにより参照される全てのSPSで同じでなければならず、picture_widthの値は、sps_pic_width_max_in_luma_samplesの値と同じでなければならない。
【0197】
-そうでない場合(構成レコードが適用されるVVCストリームがマルチレイヤビットストリームである場合)、ISO/IEC 23090-3に定義されたvps_ols_dpb_pic_width[MultiLayerOlsIdx[output_layer_set_idx]]の値は、現在サンプルエントリーデスクリプションが適用される全てのCVSに対して同じでなければならず、picture_widthの値は、vps_ols_dpb_pic_width[MultiLayerOlsIdx[output_layer_set_idx]]の値と同じでなければならない。
【0198】
また、picture_heightには、次の制約条件が適用されることができる。
【0199】
-構成レコードが適用されるVVCストリームがシングルレイヤビットストリームである場合、ISO/IEC 23090-3に定義されたsps_pic_height_max_in_luma_samplesの値は、現在サンプルエントリーデスクリプションが適用されるサンプルのVCL NALユニットにより参照される全てのSPSで同じでなければならず、picture_heightの値は、sps_pic_height_max_in_luma_samplesの値と同じでなければならない。
【0200】
-そうでない場合(構成レコードが適用されるVVCストリームがマルチレイヤビットストリームである場合)、ISO/IEC 23090-3に定義されたvps_ols_dpb_pic_height[MultiLayerOlsIdx[output_layer_set_idx]]の値は、現在サンプルエントリーデスクリプションが適用される全てのCVSに対して同じでなければならず、picture_heightの値は、vps_ols_dpb_pic_height[MultiLayerOlsIdx[output_layer_set_idx]]の値と同じでなければならない。
【0201】
VVCビデオ基本ストリームで使われる他の重要なフォーマット情報だけでなく、クロマフォーマット(chroma format)及びビットデプス(bit depth)に対する明示的な表示(explicit indication)がVVCデコーダ構成レコードで提供されることができる。二つのシーケンスのVUI情報で色相スペースまたはビットデプス表示(color space or bit depth indications)が異なる場合、二つの異なるVVCサンプルエントリーが必要である。
【0202】
また、前記VVCデコーダ構成レコードには初期化NALユニット(initialization NAL units)を伝達するアレイ(arrays)のセットがある。前記NALユニットタイプは、DCI、OPI、VPS、SPS、PPS、プレフィックス(prefix)APS及びプレフィックスSEI NALユニットのみを示すように制限されることができる。ISO/IEC 23090-3及び本文書で予約された(reserved)NALユニットタイプは、未来に定義されることができ、リーダ(reader)は、NALユニットタイプの予約または許容されない(unpermitted)値があるアレイは無視しなければならない。
【0203】
一方、アレイは、DCI、OPI、VPS、SPS、PPS、プレフィックス(prefix)APS、プレフィックスSEIの順序にある。
【0204】
前述した前記VVCデコーダ構成レコードのシンタックスは、以下の表の通りである。
【0205】
【表3-1】
【0206】
【表3-2】
【0207】
また、前記VVCデコーダ構成レコードのシンタックスに対するセマンティクス(semantics)は、以下の表の通りである。
【0208】
【表4-1】
【0209】
【表4-2】
【0210】
【表4-3】
【0211】
一方、本文書によるVVCファイルフォーマット(VVC file format)は、次のようなタイプのトラックを定義する。
【0212】
a)VVCトラック:VVCトラック(VVC track)は、サンプル及びサンプルエントリーにNALユニットを含み、可能ならばVVCビットストリームの他のサブレイヤを含む他のVVCトラックを参照し、可能ならばVVCサブピクチャトラック(subpicture tracks)を参照してVVCビットストリームを示す。VVCトラックがVVCサブピクチャトラックを参照する場合、VVCトラックは、VVCベーストラック(base track)と呼ばれることができる。
【0213】
b)VVC non-VCLトラック:ALF、LMCSまたはスケーリングリストパラメータ(scaling list parameters)、及び他のnon-VCL NALユニットを運搬するAPS(APSs)は、VVC non-VCLトラックに格納されることができ、VCL NALユニットを含むトラックと別途に前記トラックを介して送信されることができる。
【0214】
c)VVCサブピクチャトラック(VVC subpicture track):VVCサブピクチャトラックは、次のうち一つを含むことができる。
【0215】
例えば、VVCサブピクチャトラックは、一つ以上のVVCサブピクチャのシーケンス(sequence)を含むことができる。
【0216】
また、例えば、VVCサブピクチャトラックは、長方形領域(rectangular area)を形成する(forming)一つ以上の完全なスライス(complete slices)を含むことができる。
【0217】
一方、VVCサブピクチャトラックのサンプルは、次のうち一つを含むことができる。
【0218】
例えば、VVCサブピクチャトラックのサンプルは、デコーディング順序(decoding order)で連続的な(contiguous)ISO/IEC 23090-3に指定された一つ以上の完全なサブピクチャ(complete subpictures)を含むことができる。
【0219】
また、例えば、VVCサブピクチャトラックのサンプルは、長方形領域を形成してデコーディング順序で連続的なISO/IEC 23090-3で指定された一つ以上の完全なスライス(complete slices)を含むことができる。
【0220】
一方、VVCサブピクチャトラックの任意のサンプルに含まれるVVCサブピクチャまたはスライスは、デコーディング順序で連続的である。
【0221】
VVC non-VCLトラック及びVVCサブピクチャトラックは、次のようにストリーミングアプリケーション(streaming application)でVVCビデオの最適の伝達(optimal delivery)を可能にする。
【0222】
例えば、前記トラックは、各々、その自体のDASH表現(representations)で運搬されることができ、トラックのサブセット(subset)のデコーディング及びレンダリング(rendering)のために、VVCサブピクチャトラックのサブセットを含むDASH表現とnon-VCLトラックを含むDASH表現が要求されることができる。このような方法は、APSs及び他のnon-VCL NALユニットの重複送信(redundant transmission)を除去することができる。
【0223】
一方、データ共有(Data sharing)及びVVCビットストリーム復元(reconstruction VVC bitstream)プロセスは、次のように実行されることができる。ここで、前記プロセスの出力は、出力ビットストリームと呼ばれることができるVVCビットストリームである。
【0224】
例えば、ファイルリーダ(file reader)は、次の条件のうち一つ以上が真(true)である場合、前記プロセスを呼び出ししなければならない。
【0225】
i)VVCビットストリーム(「vvcb」)エンティティーグループがファイルに存在し、ファイルリーダが、前記エンティティーグループが示すVVCビットストリームを処理して出力ビットストリームを生成する。
【0226】
ii)動作ポイント(「opeg」)エンティティーグループがファイルに存在し、ファイルリーダが前記エンティティーグループにより説明された(described)任意の動作ポイントを使用して出力ビットストリームを生成する。
【0227】
iii)ファイルリーダが出力ビットストリームを生成するために、ptl_present_flagが1であるVVCトラックのレイヤまたはサブレイヤのサブセット(subset)を抽出する。
【0228】
iv)ファイルリーダがVVC基本トラックを処理する。
【0229】
v)ファイルリーダが関連されたVVC non-VCLトラックがあるVVCトラックを処理する。
【0230】
例えば、前記プロセスは、以下のような順序のステップで構成されることができる。
【0231】
1)前述したi、iiまたはiii条件が真である場合、VVCビットストリームの初め部分で動作ポイントが決定され、任意のIRAPまたはGDRアクセスユニット(access unit)に対して再び決定されることができる。
【0232】
ファイルリーダが初めて作動ポイントを選択したり、以前に選択したものと異なる作動ポイントを選択する場合、ファイルリーダは、出力ビットストリームに挿入されたOPI NALユニット(ある場合、動作ポイントが使われる1番目のアクセスユニットでAUデリミターNALユニット(AU delimiter NAL unit)の次にくる1番目のNALユニット)に含ませ、または他の手段を介してVVCデコーダに出力レイヤセットインデックス(output layer set index)と選択された動作ポイントの最も高いTemporalId値を表示しなければならない。
【0233】
次の順序ステップは、動作ポイントが決定されるアクセスユニットから始まってビットストリームまたはアクセスユニットの端までデコーディング順序にアクセスユニットのシーケンスに適用されることができる。ここで、動作ポイントは、次回に排他的に決定されることができ、デコーディング順序でより早い。
【0234】
2)VVCビットストリームが多数のVVCトラックで表示される場合、ファイルパーサーは、次のように選択された動作ポイントに必要なトラックを識別することができる。
【0235】
i)「opeg」エンティティーグループの動作ポイントが選択された動作ポイントを含む場合、前記ファイルパーサーは、「opeg」エンティティーグループに表示された通りに動作ポイントに属するトラックを選択することができる。
【0236】
ii)「opeg」エンティティーグループが存在しない場合(すなわち、「vopi」サンプルグループが存在する場合)、前記ファイルパーサーは、「vvcb」エンティティーグループでVVCトラックがVVCビットストリームを示すかを決定することができる。「vvcb」エンティティーグループの1番目のentity_idは、「vopi」サンプルグループを含むトラックを識別することができる。レイヤ及びサブレイヤに対する動作ポイントマッピングは、「vopi」サンプルグループから結びをつけられることができる。選択された動作ポイントのレイヤ及びサブレイヤを含み、したがって、選択された動作ポイントのデコーディングに必要なトラックセットは、VVCビットストリームのVVCトラックに存在する「linf」サンプルグループから結びをつけられることができる。特定レイヤまたはサブレイヤが一つ以上のトラックで表現されることができるため、動作ポイントに必要なトラックを把握する場合、特定レイヤまたはサブレイヤを全て含むトラックセットの中から選択されることもできる。
【0237】
3)出力ビットストリームに対するアクセスユニットは、選択された動作ポイント(前述したi、iiまたはiii条件が真である場合)またはVVC基本トラック(前述したiv条件が真である場合)またはVVCトラック(前述したv条件が真である場合)に必要なVVCトラックのうち、サンプルのデコーディング時間順序に復元されることができる。
【0238】
多数のトラックがアクセスユニットに対するデータを含む場合、トラックの各サンプルの整列(alignment)は、サンプルデコーディング時間(sample decoding times)に基づいて実行されることができる。
【0239】
アクセスユニットのシーケンスは、後述する暗示的な復元プロセス(implicit reconstruction process)を繰り返し呼び出しして必要なトラックの各サンプルで復元されることができる。
【0240】
復元されたアクセスユニットは、デコーディング時間が増加する順序に出力ビットストリームに配置されることができる。
【0241】
4)また、次の二つの条件が全て真である場合、ファイルリーダは、出力ビットストリームに適用された動作ポイントの各レイヤにEOS NALユニットを含まなければならない。
【0242】
-アクセスユニットのシーケンスが以前に選択されたものと異なる作動ポイントを選択する。
【0243】
-アクセスユニットのシーケンスが適用された動作ポイントの各レイヤでEOS NALユニットまたはEOB NALユニットで終わらない。
【0244】
VVCビットストリームが複数のVVCトラックで表示される場合、サンプルのデコーディング時間は、トラックがデコーディング時間を増加させて整列されたシングルビットストリームで結合されると、アクセスユニット順序がISO/IEC 23090-3に指定された通りに修正されるようにしなければならない。
【0245】
また、VVCビットストリームの暗示的な復元(Implicit reconstruction of a VVC bitstream)プロセスは、次のように実行されることができる。前記プロセスは、次のうち現在デコーディング時間を有する時間整列サンプル(time-aligned samples)からアクセスユニットの復元を示すことができる。
【0246】
-必要なVVCトラック(ら)、
【0247】
-関連VVC non-VCLトラック(ある場合)及び
【0248】
-参照された(referenced)VVCサブピクチャトラック(ある場合)。
【0249】
VCL NALユニットが0より大きいTemporalIdを有するサブレイヤを含むビットストリームを再構成する場合、同じレイヤ内の全ての下位サブレイヤ(すなわち、VCL NALユニットがより小さいTemporalIdを有するサブレイヤ)も結果ビットストリーム(resulting bitstream)に含まれることができる。
【0250】
また、現在デコーディング時間(current decoding time)を有するサンプル(ら)が選択された動作ポイントに含まれている最も大きいTemporalIdより大きいTemporalIdを有するVCL NALユニットを含む場合、アクセスユニットは、現在デコーディング時間から復元されない。
【0251】
また、アクセスユニットを復元する場合、同じデコーディング時間を有するサンプルのピクチャユニット(ISO/IEC 23090-3に指定される)は、nuh_layer_id値の昇順にアクセスユニットに配置されることができる。例えば、条件が適用される場合、次のステップが実行されることができる。
【0252】
-サンプルの1番目のピクチャユニットを含むトラックのサンプルが、AUD NALユニット内の対象動作ポイントに該当するols_idx及びlower_ols_idxを含むサンプルグループ「aud」に属すると表示された場合。ここで、「aud」サンプルグループ内の前記AUD NALユニットは、1番目のNALユニットであって、AUに配置されることができる。
【0253】
-トラックのサンプルがols_idx、max_tid及びlower_ols_idxを含むサンプルグループ「eos」に属すると表示された場合、対象動作ポイントに該当する「eos」サンプルグループ内のEOS NALユニットは、表示された位置のAUに配置されることができる。すなわち、サンプルグループ「aud」により挿入された場合、AUD NALユニットを除いた再構成されたAUのeos_position-番目のNALユニットの後に配置されることができる。
【0254】
-トラックのサンプルがols_idx、max_tid及びlower_ols_idxを含むサンプルグループ「eos」に属すると表示された場合、対象動作ポイントに該当する「eob」サンプルグループ内のEOB NALユニットは、AUの全てのNALユニット(EOS NALユニットを含む)の次にAUに配置されることができる。
【0255】
対象動作ポイントにあるレイヤとサブレイヤのピクチャユニットのみが出力ビットストリームに含まれることができる。
【0256】
また、(「vopi」サンプルグループのnum_olssに対するforループで)出力レイヤセットインデックス(output layer set index)iと関連した動作ポイントに基づいてアクセスユニットを復元する場合、次が適用されることができる。
【0257】
-アクセスユニットを復元する場合、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は、動作ポイントに対する対応するシンタックスエレメントの値であり、結果ビットストリームに含まれ、これによって、必要なトラックが選択されることができる。
【0258】
-アクセスユニットを復元する場合、0からlayer_count[i]-1までの範囲にあるインデックスjに設定された出力レイヤの各レイヤに対して、num_ref_sublayers_in_layer_in_ols[i][j]が0と同じ場合、参照レイヤの全てのピクチャユニットから0と同じph_recovery_poc_cntを有するIRAPピクチャユニット及びGDRピクチャユニットのみが結果ビットストリームに含まれ、必要なトラックがそれによって選択されることができる。
【0259】
また、VVCトラックのアクセスユニットが指定されないNALユニットタイプを含む場合(UNSPEC_28..UNSPEC_31(含む)範囲のnal_unit_typeを有するNALユニット、すなわち、ISO/IEC 23090-3に定義された28~31範囲のnal_unit_type値を有するユニット)、指定されないNALユニットタイプは、最終復元されたビットストリームから削除されることができる(discarded)。
【0260】
また、VVCトラックが「subp」トラックリファレンスを含む場合、各ピクチャユニットは、ISO/IEC 23090-3の11.6.3節に指定された通りに復元されることができる。また、VVCトラックが「recr」トラック参照を含む場合、各ピクチャユニットは、ISO/IEC 23090-3の11.6.6節に指定された通りに復元されることができる。ISO/IEC 23090-3の11.6.3節または11.6.6節のプロセスは、nuh_layer_id順序の昇順に対象動作ポイントの各レイヤに対して繰り返しされることができる。
【0261】
復元されたアクセスユニットは、デコーディング時間が増加する順序にVVCビットストリームに配置されることができる。
【0262】
特定レイヤまたはサブレイヤが一つ以上のトラックで表現されることができるため、動作ポイントに必要なトラックを把握する場合、特定レイヤまたはサブレイヤを全て含むトラックセットの中から選択されることもできる。
【0263】
また、VVCサブピクチャトラックを参照するVVCトラックのサンプルでピクチャユニット復元プロセスは、次のように実行されることができる。VVCトラックのサンプルは、次のような順序にピクチャユニットで解決されることができる(resolved)。
【0264】
-サンプルまたは関連されたVVC non-VCLトラックの時間整列サンプルにある場合、AUD NALユニットは、ピクチャユニットに含まれることができる。例えば、AUD NALユニットがサンプルに存在する場合、サンプルの1番目のNALユニットである。
【0265】
-サンプルが同じサンプルエントリーと関連したサンプルシーケンスの1番目のサンプルである場合、サンプルエントリーに含まれているDCI、OPI、パラメータセット、及びSEI NALユニット(ある場合)は、ピクチャユニットに含まれることができる。
【0266】
-関連されたVVC non-VCLトラックがあり、ピクチャユニットがサンプルから復元されたアクセスユニットの1番目のピクチャユニットである場合、次のNALユニットがピクチャユニットに含まれる。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トラックの時間整列されたサンプルで1番目のユニットを除いた前述したNALユニット(AUD NALユニット除外)が含まれることができる。以外の場合には、関連されたVVC non-VCLトラックの時間整列されたサンプルの全てのNALユニットが含まれることができる。
【0267】
-サンプルにnal_unit_typeがEOS_NUT、EOB_NUT、SUFFIX_APS_NUT、SUFFIX_SEI_NUT、FD_NUTまたはRSV_NVCL_27と同じNALユニットが一つ以上ある場合(前述したNALユニットタイプを有するNALユニットは、ピクチャユニットで1番目のVCL NALユニットより先行することができない)、サンプルの前記NALユニットのうち1番目のユニットを除いたNALユニットは、ピクチャユニットに含まれることができ、そうでない場合、サンプルの全てのNALユニットは、ピクチャユニットに含まれることができる。
【0268】
-リーダ(reader)が動作ポイントを選択した場合、リーダは、前記全てのステップで復元されたアクセスユニットでサンプルエントリー及びサンプルに格納された全てのOPI NALユニットを除外しなければならない。
【0269】
-VVCトラックがVVCサブピクチャトラックを参照しない場合、VVCトラックでサンプルのNALユニットは、ピクチャユニットに含まれることができる。
【0270】
また、そうでない場合、下記のように適用されることができる。
【0271】
-トラックリファレンスは、ISO/IEC 23090-3の11.6.4節に明示された通りに解決されることができる(resolved)。
【0272】
-パラメータセットは、ISO/IEC 23090-3の11.6.5節に明示された通りに必要な場合にアップデートされることができる。
【0273】
-ピクチャユニットは、「subp」トラックリファレンスで参照されるVVCサブピクチャトラックの順序に(サンプルにマッピングされた「spor」サンプルグループエントリーの同じグループエントリーのnum_subpic_ref_idxが0である場合)またはサンプルにマッピングされた「spor」サンプルグループエントリーに指定された順序に(サンプルにマッピングされた「spor」サンプルグループエントリーの同じグループエントリーのnum_subpic_ref_idxが0より大きい場合)全てのDCI、OPI、VPS、SPS、PPS、AUD、PH、EOS、EOB NALユニットだけでなく、sn_subpic_flagが1である拡張可能な(scalable)ネスティング(nesting)SEI NALメッセージを除いた参照された各VVCサブピクチャトラックで時間整列された(デコーディング時間に)解決された(resolved)サンプルのコンテンツにより追加されることができる。
【0274】
また、参照されたVVCサブピクチャトラックがVVC non-VCLトラックと関連される場合、VVCサブピクチャトラックの解決された(resolved)サンプルは、次のNALユニットを含むことができる。
【0275】
-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トラックの時間整列されたサンプルで1番目のユニットを除いた前述したNALユニット(AUD NALユニット除外)。
【0276】
-以外の場合には、関連されたVVC non-VCLトラックの時間整列されたサンプルの全てのNALユニット。
【0277】
-参照されたVVCサブピクチャトラックのサンプルからのNALユニット。
【0278】
-関連VVC non-VCLトラックの時間整列サンプルで残りの(remaining)NALユニット(ある場合)。
【0279】
-nal_unit_typeがEOS_NUT、EOB_NUT、SUFFIX_APS_NUT、SUFFIX_SEI_NUT、FD_NUTまたはRSV_NVCL_27であるサンプルの全てのNALユニット。
【0280】
-関連されたVVC non-VCLトラックがあり、ピクチャユニットがサンプルから復元されたアクセスユニットの最後のピクチャユニットである場合、nal_unit_typeがEOS_NUT、EOB_NUT、SUFFIX_APS_NUT、SUFFIX_SEI_NUT、FD_NUT、orRSV_NVCL_27である関連されたVVC non-VCLトラックの時間整列されたサンプルの全てのNALユニット。
【0281】
-nal_unit_typeがUNSPEC_28..UNSPEC_31(含む)範囲にあるサンプルの全てのNALユニットまたはNALユニット類似構造は削除されることができる。
【0282】
一方、本文書に開示されたサンプルグループ(sample group)は、次のようなサンプルグループを含むことができる。
【0283】
例えば、ストリームアクセスポイントサンプルグループ(Stream access point sample group)が定義されることができる。ISO/IEC 14496-12に明示されたストリームアクセスポイント(Stream Access Point、SAP)サンプルグループ「sap」は、全てのSAPに対する情報を提供するときに使われることができる。
【0284】
例えば、layer_id_method_idcが0である場合、SAPは、次の通り解析されることができる。
【0285】
-サンプルエントリータイプが「vvc1」または「vvi1」であり、トラックにTemporalIdが0であるサブレイヤが含まれていない場合、SAPは、トラックにある全てのサブレイヤに対するアクセス(access)を指定することができる。
【0286】
-そうでない場合、SAPは、トラックにある全てのレイヤに対するアクセスを指定することができる。
【0287】
また、例えば、VVCビットストリームのGDRピクチャ(GDR picture)は、一般的に「sap」サンプルグループでSAPタイプ4で表示されることができる。
【0288】
また、例えば、VVCトラックのサンプルが、pps_mixed_nalu_types_in_pic_flagが1であるPPSを参照し、0でsps_num_subpics_minus1範囲の各サブピクチャインデックスiに対して、sps_subpic_treated_as_pic_flag[i]は1であり、同じCLVSでまたは現在サンプルに後行する同じサブピクチャインデックスiを有する少なくとも一つのIRAPサブピクチャがある場合、次が適用されることができる。
【0289】
-サンプルは、タイプ4のSAPサンプルで表示されることができる。
【0290】
-サンプルは、IRAPサブピクチャが存在する前に特定サブピクチャインデックスを有するサブピクチャのデコーディングを省略するデコーディングプロセスに対して修正したroll_distance値を有する「roll」サンプルグループデスクリプションエントリーにマッピングされることができる。
【0291】
SAPサンプルグループが使われる場合、同じVVCビットストリームを伝達する全てのトラックで使われなければならない。
【0292】
また、例えば、ランダムアクセス復旧ポイントサンプルグループ(Random access recovery point sample group)が定義されることができる。ISO/IEC 14496-12に明示されたランダムアクセス復旧ポイントサンプルグループ「roll」は、漸進的デコーディングリフレッシュ(gradual decoding refresh)のための復旧ポイントに対する情報を提供するときに使われることができる。「roll」サンプルグループがVVCトラックと共に使われる場合、grouping_type_parameterのシンタックス及びセマンティクス(semantics)は、ISO/IEC 14496-12の「sap」サンプルグループに対するものと同様に指定されることができる。また、0及び1と同じlayer_id_method_idcは、「roll」サンプルグループにマッピングされるサンプルの対象レイヤのピクチャがGDRピクチャである場合に使われることができる。例えば、layer_id_method_idcが0と同じ場合、「roll」サンプルグループは、トラックにある全てのレイヤに対する動作(behaviour)を指定することができる。また、例えば、1と同じlayer_id_method_idcのセマンティクス(semantics)は、ISO/IEC 14496-12の9.5.7節に開示されている。例えば、2及び3と同じlayer_id_method_idcは、「roll」サンプルグループにマッピングされるサンプルの対象レイヤの全てのピクチャがGDRピクチャでない場合に使われることができ、GDRピクチャでない対象レイヤのピクチャに対して次が適用されることができる。
【0293】
-参照されたPPSは、1と同じpps_mixed_nalu_types_in_pic_flagを有する。
【0294】
-0でsps_num_subpics_minus1範囲の各サブピクチャインデックスi(subpicture index i)に対して次の二つが全て真(true)である:sps_subpic_treated_as_pic_flag[i]は1であり、同じCLVSで現在サンプルに後続するまたは同じサブピクチャインデックスiを有する少なくとも一つのIRAPサブピクチャがある。
【0295】
また、例えば、layer_id_method_idcが2と同じ場合、「roll」サンプルグループは、トラックにある全てのレイヤに対する動作(behaviour)を指定することができる。また、例えば、3と同じlayer_id_method_idcのセマンティクス(semantics)は、ISO/IEC 14496-12の9.5.7節に開示されている。
【0296】
リーダ(reader)がデコーディングを始めるために2または3と同じlayer_id_method_idcで表示されたサンプルを使用する場合、リーダは、layer_id_method_idcが2及び3であるサンプルグループに属すると表示されたサンプルで始めるビットストリームが一致するビットストリームになるように復元されたビットストリームのSPS、PPS及びPH NALユニットを次のように追加で修正しなければならない。
【0297】
-サンプルで参照する全てのSPSは、1と同じsps_gdr_enabled_flagを有することができる。
【0298】
-サンプルで参照する全てのPPSは、0と同じpps_mixed_nalu_types_in_pic_flagを有することができる。
【0299】
-サンプルから復元されたAUの全てのVCL NALユニットは、GDR_NUTと同じnal_unit_typeを有することができる。
【0300】
-サンプルから復元されたAUの全てのピクチャヘッダ(picture header)は、1と同じph_gdr_pic_flag及びサンプルがマッピングされる「roll」サンプルグループデスクリプションエントリーのroll_distanceに対応するph_recovery_poc_cnt値を有することができる。
【0301】
また、例えば、「roll」サンプルグループが従属レイヤと関連があるが、参照レイヤでない場合、サンプルグループは、従属レイヤの全ての参照レイヤが利用可能であり(available)デコーディングされる場合に適用される特性を示すことができる。前記サンプルグループは、予測されたレイヤ(predicted layer)のデコーディングを始めるときに使われることができる。
【0302】
また、例えば、レイヤ情報サンプルグループ(Layer information sample group)が定義されることができる。トラックが運搬するレイヤ及びサブレイヤのリストは、レイヤ情報(「linf」)サンプルグループでシグナリングされることができる。現在トラックが二つ以上のレイヤ、二つ以上のサブレイヤまたは一つのサブレイヤを含むが、前記サブレイヤが、TemporalIdが0であるサブレイヤでない場合、レイヤ及びサブレイヤ情報は、「sap」、「rap」、「sync」、「tele」及び「vopi」サンプルグループのような他のサンプルグループでシグナリングされた情報を解析するときに必要である。また、「linf」サンプルグループがVVCトラックに存在する場合、sub_layer_presence_flagsは0と同じである。
【0303】
また、例えば、動作ポイント情報サンプルグループ(Operating points information sample group)が定義されることができる。アプリケーション(Applications)は、動作ポイント情報サンプルグループ(「vopi」)を使用してVVC基本ストリーム(VVC elementary stream)と構成に対して提供される多様な動作ポイントに対して知らせることができる(informed)。動作ポイントは、出力レイヤセット(output layer set)、最大TemporalId値(max TemporalId value)、プロファイル(profile)、ティア(tier)、及びレベル(level)シグナリングと関連がある。前述した全ての情報は、「vopi」サンプルグループによりキャプチャされることができる(captured)。前記情報外にも動作ポイント情報サンプルグループは、レイヤ間のディペンデンシー情報(dependency information)も提供されることができる。
【0304】
また、例えば、VVC基本ストリームに対して二つ以上のVVCトラックが存在して、VVC基本ストリームに対して動作ポイントエンティティーグループ(Operating Point entity group)が存在しない場合、次の二つが全て適用されることができる。
【0305】
-VVC基本ストリームに対するVVCトラックの中には「vopi」サンプルグループを運搬する一つのトラックのみがある。
【0306】
-VVC基本ストリームの他の全てのVVCトラックは、「vopi」サンプルグループを運搬するトラックに対する「vref」タイプのトラックリファレンスを有しなければならない。
【0307】
与えられたトラックの特定サンプルに対して、他のトラックの時間的なコロケーティドサンプル(temporally collocated sample)は、前記特定サンプルのデコーディング時間と同じデコーディング時間を有すると定義されることができる。「vopi」サンプルグループを伝達するトラックTに対する「vref」トラックリファレンスがあるトラックTの各サンプルSに対して次が適用されることができる。
【0308】
-トラックTの時間的なコロケーディドサンプルSがある場合、サンプルSは、サンプルSと同じ「vopi」サンプルグループエントリーと関連されることができる。
【0309】
-そうでない場合、サンプルSは、デコーディング時間でサンプルSに先行するトラックTの最後のサンプルと同じ「vopi」サンプルグループエントリーと関連されることができる。
【0310】
また、VVC基本ストリームが多数のVPSを参照する場合、grouping_typeが「vopi」であるサンプルグループデスクリプションボックスに多数のエントリーを含まなければならない。また、VPSが一つのみある場合、デフォルトサンプルグループデスクリプションインデックス(default sample group description index)を使用して、各トラックフラグメント(track fragment)に含むことよりサンプルテーブルボックス(sample table box)に動作ポイント情報サンプルグループ(operating points information sample group)を含むことがよい。また、grouping_type_parameterは、グルーピングタイプ(grouping type)が「vopi」であるSampleToGroupBoxに対して定義されない。
【0311】
前記「vopi」サンプルグループエントリーは、VVC動作ポイントレコードを含むことができる。前記VVC動作ポイントレコードのシンタックスは、以下の表の通りである。
【0312】
【表5-1】
【0313】
【表5-2】
【0314】
【表5-3】
【0315】
また、前記VVC動作ポイントレコードのシンタックスに対するセマンティクス(semantics)は、以下の表の通りである。
【0316】
【表6-1】
【0317】
【表6-2】
【0318】
【表6-3】
【0319】
【表6-4】
【0320】
【表6-5】
【0321】
【表6-6】
【0322】
また、例えば、アクセスユニットデリミターサンプルグループ(Access unit delimiter sample group)が定義されることができる。前記サンプルグループのサンプルグループデスクリプションエントリーは、AUD NALユニットを含むことができる。
【0323】
サンプルがアクセスユニットデリミターサンプルグループ(「aud」)にマッピングされる場合、対象動作ポイントが「aud」サンプルグループ内に表示された出力レイヤセットのうち一つに対応すると、サンプルグループ内に含まれているAUD NALユニットが復元されたAUに挿入されるべきであることを示すことができる。
【0324】
前記アクセスユニットデリミターサンプルグループのAUDサンプルエントリーのシンタックスは、以下の表の通りである。
【0325】
【表7】
【0326】
また、前記AUDサンプルエントリーのシンタックスに対するセマンティクス(semantics)は、以下の表の通りである。
【0327】
【表8】
【0328】
また、例えば、シーケンス終了サンプルグループ(End of sequence sample group)が定義されることができる。前記サンプルグループのサンプルグループデスクリプションエントリーは、EOS NALユニットを含むことができる。
【0329】
サンプルがシーケンス終了サンプルグループ(「eos」)にマッピングされる場合、対象動作ポイントが「eos」サンプルグループ内に表示された出力レイヤセット及び最大時間的ID(maximum temporal ID)のうち一つに対応すると、サンプルグループ内に含まれているEOS NALユニットが復元されたAUの表示された位置(indicated position)に挿入されるべきであることを示すことができる。
【0330】
前記シーケンス終了サンプルグループのシーケンス終了サンプルエントリーのシンタックスは、以下の表の通りである。
【0331】
【表9】
【0332】
また、前記シーケンス終了サンプルエントリーのシンタックスに対するセマンティクス(semantics)は、以下の表の通りである。
【0333】
【表10】
【0334】
また、例えば、ビットストリーム終了サンプルグループ(End of bitstream sample group)が定義されることができる。前記サンプルグループのサンプルグループデスクリプションエントリーは、EOB NALユニットを含むことができる。
【0335】
サンプルがビットストリーム終了サンプルグループ(「eob」)にマッピングされる場合、対象動作ポイントが「eob」サンプルグループ内に表示された出力レイヤセット及び最大時間的ID(maximum temporal ID)のうち一つに対応すると、サンプルグループ内に含まれているEOB NALユニットが復元されたAUに挿入されるべきであることを示すことができる。
【0336】
前記ビットストリーム終了サンプルグループのビットストリーム終了サンプルエントリーのシンタックスは、以下の表の通りである。
【0337】
【表11】
【0338】
また、前記ビットストリーム終了サンプルエントリーのシンタックスに対するセマンティクス(semantics)は、以下の表の通りである。
【0339】
【表12】
【0340】
一方、前述した内容のように対象動作ポイントが変更された場合、現在VVCファイルフォーマット(VVC file format)は、次を指定している。
【0341】
【表13】
【0342】
前述した表13に示すように、以下の二つの条件が全て真である場合、ファイルリーダは、EOS NALユニットを出力ビットストリームで適用された動作ポイントの各レイヤに含まなければならない。
【0343】
-アクセスユニットのシーケンスの次に以前動作ポイントと異なる動作ポイントが選択される。
【0344】
-アクセスユニットのシーケンスは、適用された動作ポイントの各レイヤでEOS NALユニットまたはEOB NALユニットで終わらない。
【0345】
しかし、前記プロセスは、最小次のような問題が発生できる。
【0346】
第一、対象動作ポイントは、目標OLSと最大時間的IDを含む二つ構成要素を有し、前記最大時間的IDのみが変更されても対象動作ポイントが変更されたと見なされるが、前述したプロセスを呼び出しする必要はない。前記最大時間的IDの変更は、ネットワーク状態変更に対する反応で円滑に発生できる。したがって、変更が前記対象OLSと関連した場合にのみ前記プロセスが呼び出しされるようにする方案が提案されることができる。
【0347】
第二、前記プロセスは、ファイルリーダがEOS NALユニットを出力ビットストリームで適用された動作ポイントの各レイヤに含むことを要求し、これはファイルリーダがEOS NALユニットをアクセスユニット内の適切な位置に配置できるべきであることを意味することができる。これはバーデン(burden)である。VVCは、EOS NALユニットが関連したピクチャユニット(associated picture unit)より先に位置しない限り、アクセスユニット内の全ての位置に存在できるように許容するため、ファイルパーサー(file parser)がEOSを正しいレイヤ(correct layer)に入れる必要がない。
【0348】
これによって、本文書は、前述した問題に対する解決方案を提案する。提案される実施例は、個別的にまたは組み合わせて適用されることができる。
【0349】
1番目の例として、本文書は、対象動作ポイントが変更された場合に前記EOS NALユニットを挿入するプロセスを呼び出しする代わりに、対象OLSが変更された場合にのみ前記EOS NALユニットを挿入するプロセスを呼び出しする方案を提案する。したがって、最大時間的IDのみが変更された場合には前記プロセスがスキップされることができる。
【0350】
2番目の例として、本文書は、前記プロセスでEOS NALユニットを挿入する場合に、ファイルパーサー(file parser)が対象OLSのレイヤ数ほど対応レイヤ内に配置する必要なしにEOS NALユニットを含むようにする方案を提案する。
【0351】
3番目の例として、本文書は、アクセスユニットの端(end of the access unit)に必要な全てのEOS NALユニットを入れることができるようにする方案を提案する。
【0352】
4番目の例として、本文書は、前記プロセスを選択事項(opitional)にする方案を提案する。
【0353】
一例として、本文書で提案した前記1番目の例乃至前記3番目の例を反映した実施例は、次の通りである。前記実施例は、以下の表のようにVVCファイルフォーマット仕様(VVC file format specification)で表現されることができる。
【0354】
【表14】
【0355】
例えば、前記表14によると、次のような二つの条件が真であるかどうかが判断されることができる。例えば、第1の条件は、アクセスユニットのシーケンスの次に以前OLS(output layer set)と異なるOLSが選択されるかどうかである。また、例えば、第2の条件は、アクセスユニットのシーケンスが適用されたOLSの各レイヤでEOS NALユニットまたはEOB NALユニットで終わらないかどうかである。
【0356】
前記二つの条件が真である場合、すなわち、アクセスユニットのシーケンスの次に以前OLSと異なるOLSが選択され、アクセスユニットのシーケンスが適用されたOLSの各レイヤでEOS NALユニットまたはEOB NALユニットで終わらない場合、ファイルリーダは、出力ビットストリームで適用された対象出力レイヤに適用されたレイヤ数ほど最後のアクセスユニットにEOS NALユニットを含むことができる。前記含まれているEOS NALユニットは、NALユニットのレイヤIDの昇順にアクセスユニットの端(the end of the access unit)に配置されることができる(placed)。
【0357】
他の一例として、本文書で提案した前記1番目の例乃至前記4番目の例を反映した実施例は、次の通りである。前記実施例は、以下の表のようにVVCファイルフォーマット仕様(VVC file format specification)で表現されることができる。
【0358】
【表15】
【0359】
例えば、前記表15によると、次のような二つの条件が真であるかどうかが判断されることができる。例えば、第1の条件は、アクセスユニットのシーケンスの次に以前OLS(output layer set)と異なるOLSが選択されるかどうかである。また、例えば、第2の条件は、アクセスユニットのシーケンスが適用されたOLSの各レイヤでEOS NALユニットまたはEOB NALユニットで終わらないかどうかである。
【0360】
前記二つの条件が真である場合、すなわち、アクセスユニットのシーケンスの次に以前OLSと異なるOLSが選択され、アクセスユニットのシーケンスが適用されたOLSの各レイヤでEOS NALユニットまたはEOB NALユニットで終わらない場合、ファイルリーダは、出力ビットストリームで適用された対象出力レイヤに適用されたレイヤ数ほど最後のアクセスユニットにEOS NALユニットを含むことができる。前記EOS NALユニットを含む過程は選択事項である。前記含まれているEOS NALユニットは、NALユニットのレイヤIDの昇順にアクセスユニットの端(the end of the access unit)に配置されることができる(placed)。
【0361】
図8は、本文書で提案した実施例が適用されるメディアファイル生成方法を例示的に示す。
【0362】
図8を参照すると、第1の装置(first device)は、トラック(track)を構成(configuration)することができる(S800)。例えば、前記第1の装置は、前述した実施例によってトラックを構成することができる。例えば、前記第1の装置は、送信端(transmission end)、エンコーディング端(encoding end)またはメディアファイル生成端(media file generating end)を示すことができる。また、例えば、前記第1の装置をサブピクチャトラックとベーストラックを構成することができる。また、前記第1の装置は、エンコ-ダを含むことができる。
【0363】
第1の装置は、トラックに基づいてメディアファイルを生成することができる(S810)。例えば、前記第1の装置は、前述した実施例によってトラックに基づいてメディアファイルを生成することができる。
【0364】
図9は、本文書で提案した実施例が適用されて生成されたメディアファイルをデコーディングする方法を例示的に示す。
【0365】
図9を参照すると、第2の装置(second device)は、トラックを含むメディアファイルを取得(obtain)/受信(receive)することができる(S900)。例えば、前記第2の装置は、前述した実施例によってトラックを含むメディアファイルを取得/受信することができる。また、例えば、前記第2の装置は、受信端(reception end)、デコーディング端(decoding end)またはレンダリング端(rendering end)を示すことができる。
【0366】
例えば、メディアファイルは、表1、表3、表5、表7、表9及び/又は表11で説明された情報を含むことができる。
【0367】
第2の装置は、前記トラックをパーシング(parse)/取得(obtain)することができる(S910)。第2の装置は、前記メディアファイルに含まれているトラックをパーシング/取得することができる。例えば、前記トラックは、サブピクチャトラックまたはベーストラックなどを含むことができる。例えば、前記第2の装置は、サブピクチャトラック及びベーストラックをパーシングすることができる。
【0368】
第2の装置は、前記トラックに基づいて一つ以上のサブピクチャのスライスを生成することができる。また、第2の装置は、前記トラックに基づいて復元サンプル(reconstructed samples)を生成することができる。また、第2の装置は、前記トラックに基づいてイメージ/ビデオデコーディングに必要な情報を取得することができる。
【0369】
図10は、本文書によるメディアファイル生成装置によるメディアファイル生成方法を概略的に示す。図10に開示された方法は、図11に開示されたメディアファイル生成装置により実行されることができる。前記メディアファイル生成装置は、前述した第1の装置を示すことができる。具体的に、例えば、図10のS1000乃至S1030は、前記メディアファイル生成装置のメディアファイル生成部により実行されることができる。また、たとえ、図示されてはいないが、映像情報を含むビットストリームをエンコーディングする過程は、エンコ-ダにより実行されることができる。前記エンコ-ダは、前記メディアファイル生成装置に含まれ、または外部コンポーネントで構成されることができる。
【0370】
メディアファイル生成装置は、第1のOLS(Output Layer Set、OLS)に対するアクセスユニット(access units)のシーケンス(sequence)を生成する(S1000)。例えば、メディアファイル生成装置は、エンコーディングされた映像情報を含むビットストリームを導出することができ、前記ビットストリームに対するメディアファイルを生成することができる。例えば、メディアファイル生成装置は、ネットワークまたは(デジタル)格納媒体を介して前記エンコーディングされた映像情報を取得することができる。ここで、ネットワークは、放送網及び/又は通信網などを含むことができ、デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、多様な格納媒体を含むことができる。または、例えば、前記メディアファイル生成装置は、エンコ-ダを含むことができ、前記エンコーディングされた映像情報を導出することができる。例えば、メディアファイル生成装置は、前記エンコーディングされた映像情報を含むビットストリームに対する前記第1のOLSを生成することができる。例えば、メディアファイル生成装置は、前記第1のOLSに対するアクセスユニット(access units)のシーケンス(sequence)を生成することができる。
【0371】
メディアファイル生成装置は、第1の条件及び第2の条件が真(true)であるかどうかを判断する(S1010)。メディアファイル生成装置は、前記第1の条件及び前記第2の条件が真(true)であるかどうかを判断することができる。
【0372】
例えば、前記第1の条件は、前記アクセスユニットの前記シーケンスの次に前記第1のOLSと異なるOLSが選択されるかどうかである。すなわち、例えば、前記アクセスユニットの前記シーケンスの次に前記第1のOLSと異なるOLSが選択された場合、前記第1の条件が真であると判断されることができる。一方、例えば、前記第1のOLSと異なるOLSは、第2のOLSと表すことができる。
【0373】
また、例えば、前記第2の条件は、前記アクセスユニットの前記シーケンスが前記第1のOLSの各レイヤでEOS NALユニットで終わらないかどうか、または、EOB(End Of Bitstream)NALユニットで終わらないかどうかである。すなわち、例えば、前記アクセスユニットの前記シーケンスが前記第1のOLSの各レイヤでEOS NALユニットで終わらない、または、EOB(End Of Bitstream)NALユニットで終わらない場合、前記第2の条件が真であると判断されることができる。
【0374】
メディアファイル生成装置は、前記第1の条件及び前記第2の条件が真であることに基づいて、前記第1のOLSに適用されたレイヤの数ほどEOS(End Of Sequence、EOS)NAL(Network Abstraction Layer、NAL)ユニットを挿入する(S1020)。例えば、前記第1の条件及び前記第2の条件が真である場合、メディアファイル生成装置は、前記第1のOLSに適用されたレイヤの数ほどEOS(End Of Sequence、EOS)NAL(Network Abstraction Layer、NAL)ユニットを前記第1のOLSに挿入できる。
【0375】
また、例えば、前記EOS NALユニットは、対応するレイヤに配置され(placed)ない。
【0376】
また、例えば、メディアファイル生成装置は、前記EOS NALユニットのレイヤIDの昇順に前記シーケンスの最後のアクセスユニット(last access unit)の端に前記挿入されるEOS NALユニットを挿入することができる。また、例えば、前記挿入されるEOS NALユニットは、前記EOS NALユニットのレイヤIDの昇順に前記シーケンスのアクセスユニット(access unit)の端に配置されることができる。
【0377】
また、例えば、前記生成されたアクセスユニットの前記シーケンスの次に前記第1のOLSと異なるOLSが選択されず、対象動作ポイントのみが変更された場合、前記EOS NALユニットは挿入されない。例えば、前記生成されたアクセスユニットの前記シーケンスの次に前記第1のOLSと異なるOLSが選択されず、最大時間的ID(max temporal ID)のみが変更された場合、前記EOS NALユニットは挿入されない。
【0378】
メディアファイル生成装置は、前記第1のOLSを含むメディアファイルを生成する(S1030)。メディアファイル生成装置は、前記第1のOLS及び/又は前記第2のOLSを含むメディアファイルを生成することができる。
【0379】
一方、たとえ、図示されてはいないが、メディアファイル生成装置は、前記第2のOLSを生成することができる。例えば、メディアファイル生成装置は、前記第2のOLSに対するアクセスユニットのシーケンスを生成することができる。また、たとえ、図示されてはいないが、メディアファイル生成装置は、前記生成されたメディアファイルを(デジタル)格納媒体に格納し、または、ネットワークまたは(デジタル)格納媒体を介してメディアファイル処理装置に伝達できる。ここで、ネットワークは、放送網及び/又は通信網などを含むことができ、デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、多様な格納媒体を含むことができる。
【0380】
図11は、本文書によるメディアファイル生成方法を実行するメディアファイル生成装置を概略的に示す。図10に開示された方法は、図11に開示されたメディアファイル生成装置により実行されることができる。具体的に、例えば、図11の前記メディアファイル生成装置のメディアファイル生成部は、S1000乃至S1030を実行することができる。また、たとえ、図示されてはいないが、映像情報を含むビットストリームをエンコーディングする過程は、前記メディアファイル生成装置のエンコ-ダにより実行されることができる。
【0381】
図12は、本文書によるメディアファイル処理装置によるメディアファイル処理方法を概略的に示す。図12に開示された方法は、図13に開示されたメディアファイル処理装置により実行されることができる。前記メディアファイル処理装置は、前述した第2の装置を示すことができる。具体的に、例えば、図12のS1200乃至S1220は、前記メディアファイル処理装置のメディアファイル処理部により実行されることができる。前記メディアファイル処理部は、ファイルパーサー(file parser)及び/又はファイルリーダ(file reader)を含むことができる。また、たとえ、図示されてはいないが、メディアファイルを取得する過程は、受信部により実行されることができ、第1のOLSに対するアクセスユニットのシーケンス及び第1のOLSと異なるOLSに対するアクセスユニットのシーケンスを含むビットストリームを導出する過程は、メディアファイル処理部により実行されることができ、前記ビットストリームをデコーディングする過程は、デコーダにより実行されることができる。前記デコーダは、前記メディアファイル処理装置に含まれ、または外部コンポーネントで構成されることができる。
【0382】
メディアファイル処理装置は、第1のOLS(Output Layer Set、OLS)に対するアクセスユニット(access units)のシーケンス(sequence)を復元する(S1200)。例えば、前記メディアファイル処理装置は、ネットワークまたは(デジタル)格納媒体を介してメディアファイルを取得することができる。前記メディアファイルは、前記第1のOLSに対する前記アクセスユニット(access units)の前記シーケンスを含むことができる。メディアファイル処理装置は、前記第1のOLSに対する前記アクセスユニットの前記シーケンスを復元(reconstruct)することができる。ここで、ネットワークは、放送網及び/又は通信網などを含むことができ、デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、多様な格納媒体を含むことができる。
【0383】
メディアファイル処理装置は、第1の条件及び第2の条件が真(true)であるかどうかを判断する(S1210)。メディアファイル処理装置は、前記第1の条件及び前記第2の条件が真(true)であるかどうかを判断することができる。
【0384】
例えば、前記第1の条件は、前記アクセスユニットの前記シーケンスの次に前記第1のOLSと異なるOLSが選択されるかどうかである。すなわち、例えば、前記アクセスユニットの前記シーケンスの次に前記第1のOLSと異なるOLSが選択された場合、前記第1の条件が真であると判断されることができる。一方、例えば、前記第1のOLSと異なるOLSは、第2のOLSと表すことができる。
【0385】
また、例えば、前記第2の条件は、前記アクセスユニットの前記シーケンスが前記第1のOLSの各レイヤでEOS NALユニットで終わらないかどうか、または、EOB(End Of Bitstream)NALユニットで終わらないかどうかである。すなわち、例えば、前記アクセスユニットの前記シーケンスが前記第1のOLSの各レイヤでEOS NALユニットで終わらない、または、EOB(End Of Bitstream)NALユニットで終わらない場合、前記第2の条件が真であると判断されることができる。
【0386】
メディアファイル処理装置は、前記第1の条件及び前記第2の条件が真であることに基づいて、前記第1のOLSに適用されたレイヤの数ほどEOS(End Of Sequence、EOS)NAL(Network Abstraction Layer、NAL)ユニットを挿入する(S1220)。例えば、前記第1の条件及び前記第2の条件が真である場合、メディアファイル処理装置は、前記第1のOLSに適用されたレイヤの数ほどEOS(End Of Sequence、EOS)NAL(Network Abstraction Layer、NAL)ユニットを前記第1のOLSに挿入できる。
【0387】
また、例えば、前記EOS NALユニットは、対応するレイヤに配置され(placed)ない。
【0388】
また、例えば、メディアファイル処理装置は、前記EOS NALユニットのレイヤIDの昇順に前記シーケンスの最後のアクセスユニット(last access unit)の端に前記挿入されるEOS NALユニットを挿入することができる。また、例えば、前記挿入されるEOS NALユニットは、前記EOS NALユニットのレイヤIDの昇順に前記シーケンスのアクセスユニット(access unit)の端に配置されることができる。
【0389】
また、例えば、前記復元されたアクセスユニットの前記シーケンスの次に前記第1のOLSと異なるOLSが選択されず、対象動作ポイントのみが変更された場合、前記EOS NALユニットは挿入されない。例えば、前記復元されたアクセスユニットの前記シーケンスの次に前記第1のOLSと異なるOLSが選択されず、最大時間的ID(max temporal ID)のみが変更された場合、前記EOS NALユニットは挿入されない。
【0390】
一方、たとえ、図示されてはいないが、メディアファイル処理装置は、前記第2のOLSに対するアクセスユニットのシーケンスを復元することができる。また、メディアファイル処理装置は、前記第1のOLSに対するアクセスユニットのシーケンス及び前記第2のOLSに対するアクセスユニットのシーケンスを含むビットストリームを導出することができ、前記ビットストリームをデコーディングすることができる。前記ビットストリームは、VVCビットストリーム(VVC bitstream)または出力ビットストリーム(output bitstream)と呼ばれることができる。例えば、メディアファイル処理装置は、前記ビットストリーム内の映像情報をデコーディングすることができ、前記映像情報に基づいて復元ピクチャを生成することができる。
【0391】
図13は、本文書によるメディアファイル処理方法を実行するメディアファイル処理装置を概略的に示す。図12に開示された方法は、図13に開示されたメディアファイル処理装置により実行されることができる。具体的に、例えば、図12の前記メディアファイル処理装置のメディアファイル処理部は、図12のS1200乃至S1220を実行することができる。一方、たとえ、図示されてはいないが、メディアファイル処理装置は、デコーダを含むことができ、メディアファイルを取得する過程は、受信部により実行されることができ、第1のOLSに対するアクセスユニットのシーケンス及び第1のOLSと異なるOLSに対するアクセスユニットのシーケンスを含むビットストリームを導出する過程は、メディアファイル処理部により実行されることができ、前記ビットストリームをデコーディングする過程は、デコーダにより実行されることができる。
【0392】
前述した本文書によると、最大時間的IDのみが変更されてもEOS NALユニットを挿入する不必要な動作を防止することができ、これによって、全般的なコーディング効率を向上させることができる。
【0393】
また、本文書によると、EOS NALユニットをアクセスユニット内の適切な位置に挿入するために発生されるバーデンを防止することができ、これによって、全般的なコーディング効率を向上させることができる。
【0394】
前述した実施形態において、方法は、一連のステップまたはブロックで流れ図を基に説明されているが、本文書は、ステップの順序に限定されるものではなく、あるステップは、前述と異なるステップと異なる順序でまたは同時に発生することができる。また、当業者であれば、流れ図に示されたステップが排他的でなく、他のステップが含まれ、または流れ図の1つまたはそれ以上のステップが本文書の範囲に影響を及ぼさずに削除可能であることを理解することができる。
【0395】
本文書において説明した実施形態は、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で実現されて実行されることができる。例えば、各図面において図示した機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で実現されて実行されることができる。この場合、実現のための情報(例えば、information on instructions)またはアルゴリズムがデジタル記録媒体に格納されることができる。
【0396】
また、本文書の実施例が適用される装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイム通信装置、モバイルストリーミング装置、格納媒体、カムコーダ、注文型ビデオ(ビデオオンデマンド、VOD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、VR(virtual reality)装置、AR(augmented reality)装置、画像電話ビデオ装置、運送手段端末(例えば、車両端末、飛行機端末、船舶端末等)、及び医療用ビデオ装置などが含まれることができ、ビデオ信号またはデータ信号を処理するために使われることができる。例えば、OTTビデオ(Over the top video)装置として、ゲームコンソール、ブルーレイプレーヤ、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recorder)などを含むことができる。
【0397】
また、本文書の実施形態が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータが読み取り可能な記録媒体に格納されることができる。本文書に係るデータ構造を有するマルチメディアデータもコンピュータが読み取り可能な記録媒体に格納されることができる。前記コンピュータが読み取り可能な記録媒体は、コンピュータで読み出すことができるデータが格納される全ての種類の格納装置及び分散格納装置を含む。前記コンピュータが読み取り可能な記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(ユニバーサルシリアルバス、USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、及び光学的データ格納装置を含むことができる。また、前記コンピュータが読み取り可能な記録媒体は、搬送波(例えば、インターネットを介しての送信)の形態で実現されたメディアを含む。また、エンコード方法で生成されたビットストリームがコンピュータが読み取り可能な記録媒体に格納され、または有無線通信ネットワークを介して送信されることができる。
【0398】
また、本文書の実施例は、プログラムコードによるコンピュータプログラム製品で具現されることができ、前記プログラムコードは、本文書の実施例によりコンピュータで実行されることができる。前記プログラムコードは、コンピュータにより読み取り可能なキャリア上に格納されることができる。
【0399】
図14は、本文書の実施例が適用されるコンテンツストリーミングシステム構造図を例示的に示す。
【0400】
本文書の実施形態が適用されるコンテンツストリーミングシステムは、大別して、エンコードサーバ、ストリーミングサーバ、ウェブサーバ、メディア格納所、ユーザ装置、及びマルチメディア入力装置を含むことができる。
【0401】
前記エンコードサーバは、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置から入力されたコンテンツをデジタルデータで圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割をする。他の例として、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコードサーバは省略されることができる。
【0402】
前記ビットストリームは、本文書の実施形態が適用されるエンコード方法またはビットストリーム生成方法により生成されることができ、前記ストリーミングサーバは、前記ビットストリームを送信または受信する過程で一時的に前記ビットストリームを格納することができる。
【0403】
前記ストリーミングサーバは、ウェブサーバを介したユーザ要請に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体役割をする。ユーザが前記ウェブサーバに所望のサービスを要請すると、前記ウェブサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを送信する。このとき、前記コンテンツストリーミングシステムは、別の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間命令/応答を制御する役割をする。
【0404】
前記ストリーミングサーバは、メディア格納所及び/またはエンコードサーバからコンテンツを受信することができる。例えば、前記エンコードサーバからコンテンツを受信するようになる場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間格納することができる。
【0405】
前記ユーザ装置の例として、携帯電話、スマートフォン(smartphone)、ノートブックコンピュータ(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、デスクトップコンピュータ、デジタルサイニジなどがある。前記コンテンツストリーミングシステム内の各サーバは、分散サーバで運営されることができ、この場合、各サーバで受信するデータは分散処理されることができる。
【0406】
本文書に記載された請求項は、多様な方式で組み合わせわせることができる。例えば、本文書の方法請求項の技術的特徴が組み合わせられて装置で具現されることもでき、本文書の装置請求項の技術的特徴が組み合わせられて方法で具現されることもできる。また、本文書の方法請求項の技術的特徴と装置請求項の技術的特徴が組み合わせられて装置で具現されることもでき、本文書の方法請求項の技術的特徴と装置請求項の技術的特徴が組み合わせられて方法で具現されることもできる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14