(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-16
(45)【発行日】2024-07-24
(54)【発明の名称】情報処理装置、情報処理方法、再生処理装置及び再生処理方法
(51)【国際特許分類】
H04N 21/236 20110101AFI20240717BHJP
【FI】
H04N21/236
(21)【出願番号】P 2021529932
(86)(22)【出願日】2020-06-04
(86)【国際出願番号】 JP2020022204
(87)【国際公開番号】W WO2021002142
(87)【国際公開日】2021-01-07
【審査請求日】2023-04-27
(32)【優先日】2019-07-04
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】平林 光浩
(72)【発明者】
【氏名】高橋 遼平
【審査官】大西 宏
(56)【参考文献】
【文献】特表2019-511173(JP,A)
【文献】国際公開第2015/012225(WO,A1)
【文献】国際公開第2017/145756(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00 -21/858
(57)【特許請求の範囲】
【請求項1】
複数のコンポーネントストリームであるSubSampleから構成されるコンテンツストリームにおける、前記SubSampleのそれぞれの復号に用いるSubSample情報を個々に生成する前処理部と、
前記前処理部により生成された前記SubSample情報を含むファイルを生成するファイル生成部と
を備え
、
前記前処理部は、複数の前記SubSampleのそれぞれに対応する、前記SubSampleの識別情報、複数の前記コンポーネントストリームの種別情報、前記SubSampleのメディアの属性情報及びコーデックの属性情報を含むSubSample関連情報を前記SubSample情報に含ませる情報処理装置。
【請求項2】
前記ファイル生成部は、前記SubSample関連情報を、単一のヘッダ領域及び単一のデータ領域を有するファイルフォーマットの前記ヘッダ領域に挿入し、前記データ領域に複数の前記コンポーネントストリームから生成される単一のコンテンツストリームを挿入したファイルを生成する請求項
1に記載の情報処理装置。
【請求項3】
前記ファイル生成部は、前記SubSample関連情報を、初期化用情報を含む第1ヘッダ領域、並びに、複数のデータ領域及び前記データ領域に対応する複数の第2ヘッダ領域を有するファイルフォーマットの前記第1ヘッダ領域に前記SubSample関連情報を挿入し、前記データ領域のそれぞれに複数の前記コンポーネントストリームから生成される単一のコンテンツストリームを分割して挿入したファイルを生成する請求項
1に記載の情報処理装置。
【請求項4】
前記ファイル生成部は、前記SubSample関連情報をSubSampleEntryBoxに格納する請求項
1に記載の情報処理装置。
【請求項5】
前記前処理部は、複数の前記SubSampleと前記SubSample関連情報との対応を表すSubSample対応情報を前記SubSample情報にさらに含ませる請求項
1に記載の情報処理装置。
【請求項6】
前記ファイル生成部は、前記SubSample対応情報を前記ファイルのSubSampleToChunkBoxに格納する請求項
5に記載の情報処理装置。
【請求項7】
前記前処理部は、前記SubSample関連情報のうち前記SubSampleの識別情報及び前記コンポーネントストリームの種別情報を含む第1関連情報と前記SubSampleの識別情報及び前記SubSampleのメディアの属性情報を含む第2関連情報とを生成する請求項
1に記載の情報処理装置。
【請求項8】
前記ファイル生成部は、前記第1関連情報をSubSamplehandlerBoxに格納し、前記第2関連情報をSubSampleEntryBoxに格納する請求項
7に記載の情報処理装置。
【請求項9】
前記前処理部は、復号に用いるパラメータセットを前記SubSample情報に含ませる請求項1に記載の情報処理装置。
【請求項10】
前記ファイル生成部は、前記SubSample情報を前記コンポーネントストリームに含ませる請求項
9に記載の情報処理装置。
【請求項11】
前記ファイル生成部は、前記SubSample情報が前記コンポーネントストリームに含まれることを示す格納通知情報を生成し、TrackRunBoxに格納する請求項
10に記載の情報処理装置。
【請求項12】
複数のコンポーネントストリームであるSubSampleから構成されるコンテンツストリームにおける、前記SubSampleのそれぞれの復号に用いるSubSample情報を個々に生成し、
生成した前記SubSample情報を含むファイルを生成
し、
複数の前記SubSampleのそれぞれに対応する、前記SubSampleの識別情報、複数の前記コンポーネントストリームの種別情報、前記SubSampleのメディアの属性情報及びコーデックの属性情報を含むSubSample関連情報を前記SubSample情報に含ませる
処理をコンピュータに実行させる情報処理方法。
【請求項13】
ヘッダ領域及び複数のコンポーネントストリームであるSubSampleから構成されるコンテンツストリームが格納されるデータ領域を有するファイルフォーマットにしたがって生成されたファイルの前記ヘッダ領域から、前記SubSampleのそれぞれの復号に用いるSubSample情報を取得するファイル処理部と、
前記ファイル処理部により取得された前記SubSample情報に基づいて、前記コンテンツストリームを復号する復号処理部と
を備え
、
前記SubSample情報は、複数の前記SubSampleのそれぞれに対応する、前記SubSampleの識別情報、複数の前記コンポーネントストリームの種別情報、前記SubSampleのメディアの属性情報及びコーデックの属性情報を含む再生処理装置。
【請求項14】
ヘッダ領域及び複数のコンポーネントストリームであるSubSampleから構成されるコンテンツストリームが格納されるデータ領域を有するファイルフォーマットにしたがって生成されたファイルの前記ヘッダ領域から、前記SubSampleのそれぞれの復号に用いるSubSample情報を取得し、
取得した前記SubSample情報に基づいて、前記コンテンツストリームを復号する
処理をコンピュータに実行させ
、
前記SubSample情報は、複数の前記SubSampleのそれぞれに対応する、前記SubSampleの識別情報、複数の前記コンポーネントストリームの種別情報、前記SubSampleのメディアの属性情報及びコーデックの属性情報を含む再生処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、再生処理装置及び再生処理方法に関する。
【背景技術】
【0002】
近年、インターネット上のストリーミングサービスの基盤技術として、MPEG-DASH(Moving Picture Experts Group-Dynamic Adaptive Streaming over Hypertext Transfer Protocol)などが普及し始めている。また、MPEG-DASHを用いたストリーミングでは、例えば、動画データや音声データをISOBMFF(International Organization for Standardization Base Media File Format)ファイルに格納し、配信する技術が用いられる。ここで、ISOBMFFとは、MPEG-4のファイルフォーマットの標準規格である。
【0003】
また、MPEG-I Part 5 Video-based Point Cloud Compression (ISO/IEC 23090-5)では、3次元空間上に位置情報と属性情報(特に色情報)とを同時に持った点の集合であるPoint Cloudの圧縮方法が規定されている。その中の一つの圧縮方法として、以下のようなVideo-based Point Cloud Coding (V-PCC)と呼ばれる方法がある。V-PCCでは、Point Cloudをセグメンテーションして領域を形成し、領域毎に平面投影して色情報等を含むアトリビュート画像、depth情報から構成されるジオメトリ画像、オキュパンシ画像及びPoint Cloudをpatchから再構成するための情報メタデータが生成される。メタデータには、パッチシーケンス及びシーケンスパラメータセットが含まれる。そして、3つの画像が動画コーデックにより符号化され、計4つのコンポーネントストリームが生成される。また、これ以外にも複数の音声情報や字幕情報を有する映像コンテンツも同様に、V-PCCでは、複数のコンポーネントストリームが個別のトラックに格納されて構成される。以下では、V-PCCの技術を用いて復号された映像コンテンツをV-PCCコンテンツと呼ぶ。
【0004】
ただし、V-PCCコンテンツにおける複数のコンポーネントストリームは、時間情報やコーデック情報などの共通要素が含まれることから、個別のトラックに格納する場合、重複してファイルの管理情報が格納されることになる。そのため、別々のトラックに各コンポーネントストリームを別々のトラックに格納する方法では、ISOBMFFのmoovやvoofといった管理情報が冗長になることが考えられる。
【0005】
そこで、共通の情報とコンポーネントストリーム固有の情報とを区別して管理して情報量を減らすために、複数のコンポーネントストリームを1つのトラックに複数して格納(mux:multiplex)したMuxed trackを用いる手法が提案されている。
【先行技術文献】
【非特許文献】
【0006】
【文献】ISO/IEC 14496-12:2015 Information technology. Coding of audio-visual object. Part 12: ISO base media file format, 2015-12
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、提案されたmuxed trackを用いる方法では、情報量の削減は可能であるが、各コンポーネントストリームに応じて切り替わるコーデック情報の関連付けを行うことは困難である。そのため、提案されたmuxed trackを用いる方法では、コンポーネントストリームのエンコードパラメータを動的に変更することが困難である。
【0008】
そこで、本開示では、情報量を削減し且つ視聴者に高品質の視聴体験を提供する情報処理装置、情報処理方法、再生処理装置及び再生処理方法を提供する。
【課題を解決するための手段】
【0009】
本開示によれば、前処理部は、複数のコンポーネントストリームであるSubSampleから構成されるコンテンツストリームにおける、前記SubSampleのそれぞれの復号に用いるSubSample情報を個々に生成する。ファイル生成部は、前記前処理部により生成された前記SubSample1情報を含むファイルを生成する。
【図面の簡単な説明】
【0010】
【
図1】配信システムの一例のシステム構成図である。
【
図3】SubSampleEntryBoxのシンタックスの一例を表す図である。
【
図4】SubSampleToChunkBoxのシンタックスの一例を表す図である。
【
図5】第1の実施形態に係るISOBMFFファイルに格納される各情報を示す図である。
【
図6】SubSampleEntryBoxの格納状態を示す図である。
【
図7】フラグメントの有無に応じたSubSampleEntryBox及びSubSampleToChunkBoxの格納状態を示す図である。
【
図9】第1の実施形態に係るファイル生成装置によるファイル生成処理のフローチャートである。
【
図10】第1の実施形態に係るクライアント装置により実行される再生処理のフローチャートである。
【
図11】第1の実施形態の変形例に係るSubSampleToHandlerBox及びSubSampleEntryBoxのシンタックスの一例を表す図である。
【
図12】パラメータセットの格納状態を説明するための図である。
【
図13】フラグメントの有無に応じたSubSampleEntryBox及びtr_flagsの格納状態を示す図である。
【
図14】第2の実施形態に係るファイル生成装置によるファイル生成処理のフローチャートである。
【
図15】第2の実施形態に係るクライアント装置により実行される再生処理のフローチャートである。
【
図16】Matroska Media Containerのフォーマットを表す図である。
【
図17】コンピュータのハードウェア構成図である。
【発明を実施するための形態】
【0011】
以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の符号を付すことにより重複する説明を省略する。また、本技術で開示される範囲は、実施形態の内容に限定されるものではなく、出願当時において公知となっている以下の非特許文献におき記載されている内容も含まれる。
【0012】
非特許文献1:(上述)
非特許文献2:N18413, WD of ISO/IEC 23090-10 Carriage of PC data, 126th MPEG meeting, Geneva, Switzerland, March 2019
非特許文献3:N18180, Technologies under consideration on carriage of PC data, 126th MPEG meeting, Geneva, Switzerland, March 2019
非特許文献4:m47257, PCC file format Consideration, 126th MPEG meeting, Geneva, Switzerland, March 2019
【0013】
上述の非特許文献に記載されている内容も、参照により本実施例に組み込まれる。つまり、上述の非特許文献に記載されている内容もサポート要件について判断する際の根拠となる。例えば、非特許文献1に記載されているFile Structure、非特許文献2に記載されているV-PCCのFile Structureで用いられている用語が発明の詳細な説明において直接的に定義されていない場合でも、本開示の範囲内であり、特許請求の範囲のサポート要件を満たすものとする。また、例えば、パース(Parsing)、シンタックス(Syntax)、セマンティクス(Semantics)などの技術用語についても同様に、発明の詳細な説明において直接的に定義されていない場合でも、本開示の範囲内であり、特許請求の範囲のサポート要件を満たすものとする。
【0014】
また、以下に示す項目順序に従って本開示を説明する。
1.第1の実施形態
1.1 第1の実施形態の変形例
2.第2の実施形態
2.1 第2の実施形態の変形例
3.第3の実施形態
【0015】
[1.第1の実施形態]
(第1の実施形態に係る配信システムの構成)
図1は、配信システムの一例のシステム構成図である。配信システム100は、情報処理装置であるファイル生成装置1、再生処理装置であるクライアント装置2及びWebサーバ3を含む。ファイル生成装置1、クライアント装置2及びWebサーバ3は、ネットワーク4に接続される。そして、ファイル生成装置1、クライアント装置2及びWebサーバ3は、ネットワーク4を介して相互に通信可能である。ここで、
図1においては、各装置を1台ずつ示しているが、配信システム100は、ファイル生成装置1及びクライアント装置2をそれぞれ複数台含んでもよい。
【0016】
ファイル生成装置1は、映像を提供するデータである映像コンテンツを生成する。本実施形態に係るファイル生成装置1が生成する映像コンテンツのコンテンツストリームは、複数のコンポーネントストリームを含む。本実施形態に係るファイル生成装置1が生成する映像コンテンツは、例えばV-PCCコンテンツである。ファイル生成装置1は、生成した映像コンテンツをWebサーバ3にアップロードする。ここで、本実施形態では、Webサーバ3が映像コンテンツをクライアント装置2に提供する構成について説明するが、配信システム100は他の構成を採ることも可能である。例えば、ファイル生成装置1が、Webサーバ3の機能を含み、生成した映像コンテンツを自装置内に格納し、クライアント装置2に提供する構成であってもよい。
【0017】
Webサーバ3は、ファイル生成装置1からアップロードされた映像コンテンツを保持する。そして、Webサーバ3は、クライアント装置2からの要求にしたがい指定された映像コンテンツを提供する。
【0018】
クライアント装置2は、映像コンテンツの送信要求をWebサーバ3へ送信する。そして、クライアント装置2は、送信要求で指定した映像コンテンツをWebサーバ3から取得する。そして、クライアント装置2は、映像コンテンツを復号して表示用映像を生成して、その表示用映像をモニタなどの表示装置に表示させる。
【0019】
(第1の実施形態に係るファイル生成装置の構成)
次に、ファイル生成装置1の詳細について説明する。
図2は、ファイル生成装置のブロック図である。情報処理装置であるファイル生成装置1は、
図2に示すように、ファイル生成処理部10、制御部11及び送信部12を有する。制御部11は、ファイル生成処理部10の制御に関する処理を実行する。例えば、制御部11は、ファイル生成処理部10の各部の動作タイミングなどの統括制御を行う。ファイル生成処理部10は、データ取得部101、前処理部102、符号化部103及びファイル生成部104を有する。
【0020】
データ取得部101は、映像を表示させる映像コンテンツの元データを取得する。映像コンテンツの元データには、一連の画像である画像シーケンスに含まれる各画像の画像データ及び制御情報が含まれる。制御情報は、例えば、各画像データの時間情報の情報などを含む。データ取得部101は、取得した映像コンテンツの画像シーケンスに含まれる画像データ及び制御情報を前処理部102へ出力する。
【0021】
前処理部102は、画像シーケンスに含まれる画像データ及び制御情報の入力をデータ取得部101から受ける。そして、前処理部102は、取得したデータを基に画像シーケンスのビットストリーム構成を決定する。この場合、前処理部102は、複数のコンポーネントストリームのデータを1つのトラックに格納することを決定する。
【0022】
具体的には、複数のコンポーネントストリームをそれぞれSubSampleとし、複数のSubSampleから構成された1つのSampleであるビットストリームのデータを1つのトラックに格納する。以下では、複数のコンポーネントストリームのデータが格納されたトラックを「Muxed track」と呼ぶ。例えば、復号にV-PCCを用いる場合であれば、アトリビュート画像、ジオメトリ画像、オキュパンシ画像及びメタデータのそれぞれのコンポーネントストリームをSubSampleとして構成された1つのSampleのデータをMuxed trackに格納することを決定する。ここでは、1つのコンテンツを複数に分割するフラグメントを行う場合で説明する。
【0023】
次に、前処理部102は、Muxed trackのSampleのエンコードパラメータなどの管理情報を含むSampleEntryを生成する。Muxed trackのSampleのエンコードパラメータには、例えば、そのSampleがMuxed trackであることを示す情報や、SampleのコーデックがV-PCCであることを示す情報などが含まれる。
【0024】
さらに、前処理部102は、制御情報を用いて、SubSample関連情報を生成する。ここでSubSample関連情報とは、Muxed trackに含まれる各コンポーネントに対応するSubSampleに関する情報である。例えば、SubSample関連情報には、SubSampleEntryBoxが含まれる。
【0025】
図3は、SubSampleEntryBoxのシンタックスの一例を表す図である。component_idは、Muxed Trackに格納された各コンポーネントストリームを一意に識別するための識別子である。ここで、本実施形態では、component_idをSample内のSubSampleの論理位置順と対応するように決定した。これにより、component_idとSubSampleの論理的位置が紐づけられるため、component_idに対応するSubSampleEntryが特定可能となる。ただし、これに限らず、前処理部102は、SubSampleへのアクセス情報となるSubSampleInfomationBoxのcodec_specific_parameterとSubSumpleEntryBoxのmuxted_stream_specific_typeとに同じ識別子を設定することでcomponent_idとSubSampleEntryとを紐づけてもよい。このcomponent_idは、Sampleにおけるmoovのtack_idに相当する。
【0026】
図3のシンタックスにおけるhandler_typeは、各コンポーネントストリームのメディアの属性情報であるハンドラーの情報を表す。このハンドラーの情報が、「第2関連情報」の一例にあたる。例えば、映像であれば、handler_typeはvideと設定され、音声であれば、handler_typeはsounと設定される。このhandler_typeによりSubSampleEntryのクラスが決定される。
【0027】
図3のシンタックスにおけるmuxed_stream_specific_typeは、Muxed tarck内の各コンポーネントストリームの種別を識別するための種別情報である。例えば、V-PCCのSampleでは、アトリビュート画像、ジオメトリ画像、オキュパンシ画像は、同じ映像メディアであるため、hanlder_typeとしてvideという同じ属性が設定される。そのため、muxed_stream_specific_typeとしてアトリビュート画像にはattr、ジオメトリ画像にはgeom、オキュパンシ画像にはoccu等と設定することで、それぞれのコンポーネントストリームの識別が可能となる。component_id及びmuxed_stream_specific_typeが、「第1関連情報」の一例にあたる。
【0028】
図3のシンタックスにおけるSubSampleEntry()は、TrackのSampleEntry()と同様の構造を有する。handler_typeがvideの場合は、VisualSampleEntryをSubSampleEntryとして、handler_typeがsounの場合は、AudiolSampleEntryをSubSampleEntryとして設定する。すなわち、SubSampleEntryは、handler_type毎にSubSampleEntryのクラスが定義される。SubSampleEntryBoxは、コンポーネントストリーム毎に定義される。例えば、復号にV-PCCを用いる場合であれば、アトリビュート画像、ジオメトリ画像、オキュパンシ画像及びメタデータのそれぞれのコンポーネントストリーム毎にSubSampleEntryBoxを格納する。なお、SubSampleEntryBoxをforループ構造にして、コンポーネントストリーム毎の情報をまとめた1つのBox構造に設定できるように定義してもよい。
【0029】
さらに、
図2の前処理部102は、SubSample対応情報を生成する。SubSample対応情報は、Muxed trackのSampleに含まれる各SubSampleと各SubSample関連情報とを紐づけるための情報である。
【0030】
例えば、前処理部102は、SubSample対応情報として、SubSampleのコンポーネントストリームの識別情報であるcomponent_idおよび、SubSampleに割り当てられたSubSampleEntryを識別するための任意の番号を設定する。そのために、SubSample対応情報として、各SubSampleに対応するSubSampleToChunkBoxを設定する。
【0031】
図4は、SubSampleToChunkBoxのシンタックスの一例を表す図である。
図4のシンタックスで示すfirst_sub_sample_numberは、次のsub_sample_entry_inedxで指定されるSubSampleEntryを適用するSampleの番号、より具体的にはSampleを構成する時系列に配置された複数のSubSampleのうち、先頭のSubSampleの番号を表す。また、sub_sample_entry_inedxは、SubSampleEntryで示される先頭のSubSampleの番号から、次のSubSampleToChunkBoxにおけるfirst_sub_sample_numberで表される番号の前のSubSampleまでに適用されるSubSampleEntryの識別情報を表す。この情報が、SubSampleとSubSampleEntryとを紐づける情報の一例にあたる。
【0032】
このように、前処理部102は、SubSample対応情報を生成することで、SubSample毎に対応するSubSampleEntryを設定できるようにする。これにより、SubSample毎に、動的にSubSampleEntryを設定することが可能となる。
【0033】
ここでは、コンポーネントストリーム毎にSubSampleToChunkBoxが生成できるように設定したが、前処理部102は、SubSampleToChunkBoxをforループ構造にして、各コンポーネントストリームをまとめた1つのBox構造に設定できるように定義してもよい。
【0034】
さらに、前処理部102は、各画像のメタデータ、並びに、ビットストリームへのアクセス情報を示すメタデータを生成する。また、前処理部102は、どのようなコーデックで圧縮するかなどの制御情報もメタデータとして生成する。
【0035】
そして、前処理部102は、画像シーケンスに含まれる各画像データ及びコーデックの情報などのメタデータを符号化部103へ出力する。また、SubSample関連情報、SubSample対応情報、各画像の情報及びビットストリームへのアクセス情報などを含むメタデータをファイル生成部104へ出力する。
【0036】
符号化部103は、画像シーケンスに含まれる各画像の画像データの入力を受ける。そして、符号化部103は、画像シーケンス内の各画像の画像データを符号化して符号化ストリームを生成する。本実施例では、符号化部103は、符号化ストリームとして複数のコンポーネントストリームを生成する。例えば、V-PCCによる復号を行う場合、符号化部103は、符号化ストリームとして、トリビュート画像、ジオメトリ画像、オキュパンシ画像及びメタデータの4つのコンポーネントストリームを生成する。各コンポーネントストリームには、対応する各画像又はメタデータのビットストリームが含まれる。ビットストリームのデータは、各フレーム又は関連付けられたフレーム毎にトラックに格納される。本実施形態に係る符号化部103は、複数のビットストリームのデータを1つのトラックに格納してMuxed trackを生成する。符号化部103は、生成した符号化ストリームをファイル生成部104へ出力する。
【0037】
ファイル生成部104は、複数のコンポーネントストリームを含む符号化ストリームの入力を符号化部103から受ける。また、ファイル生成部105は、SubSample関連情報、SubSample対応情報を含むメタデータの入力を前処理部102から受ける。
【0038】
ファイル生成部104は、Muxed trackに含まれるSubSampleのエンコードパラメータをSampleEntryBoxに格納する。また、ファイル生成部104は、SubSample関連情報を格納するSubSampleEntryBoxを新たに定義して、ISOBMFFファイルのMoovのSampleTableBoxに格納する。
【0039】
また、ファイル生成部104は、SubSample対応情報を格納するSubSampleToChunkBoxを新たに定義して、フラグメントを行った場合のISOBMFFのファイルヘッダ領域であるmoofにSubSampleToChunkBoxを格納する。これにより、ファイル生成部104は、フラグメントされた状態の各mdatに格納されたSubSampleとmoovに格納された各SubSampleEntryの対応付けを行う。
【0040】
ここで、本実施形態ではフラグメントを行った場合で説明したが、フラグメントを行わない場合にも本実施形態の構成を適用可能である。その場合、ファイル生成部104は、SubSmapleToChunkBoxをSampleTableBoxに配置する。
【0041】
ファイル生成部105は、各コンポーネントストリームの画像データ及びメタデータとともに、SubSampleEntryBox及びSubSampleToChunkBoxをセグメント毎にISOBMFFファイルへ格納することでファイル化する。具体的には、ファイル生成部105は、管理情報である(moov)、フラグメント化された映像情報である(mdat)と各映像情報の管理情報(moof)とを含むISOBMFFファイルを生成する。mdatは、ISOBMFFファイルにおけるデータ領域である。また、moov及びmoofは、ISOBMFFにおけるヘッダ領域である。そして、上述したように、ファイル生成部105は、SubSampleEntryBoxをmoovのSampletableに格納し、また、SubSampleToChunkBoxを各moofのTrackFragmentに格納する。これより、ファイル生成部105は、映像コンテンツのセグメントファイルを生成する。
【0042】
ここで、
図5を参照して、ファイル生成部105により格納される各情報をまとめて説明する。
図5は、第1の実施形態に係るISOBMFFファイルに格納される各情報を示す図である。
図5では、1つのmoof及びmdatの組を示したが、実際には、同様の構造を有するmoof及びmdatの組が複数存在する。
【0043】
mdatには、sample131及び132を含む複数のsampleが格納される。sample131及び132を含む各sampleは、それぞれMuxed trackである。そして、sample131には、コンポーネントストリーム毎にSubSample141~143を含む複数のSubSampleが含まれる。同様に、sample132にも、コンポーネントストリーム毎にSubSample144~146を含む複数のSubSampleが含まれる。
【0044】
moovには、SampletableBox110が配置される。そして、SampleTableBox110内にSampleEntryBox111が配置される。そして、SampleEntryBox111内には、SampleEntry112及び113が格納される。
図5では、SampleEntry112及び113を示したが、実際には、SampleEntryは、sample131~132を含むSampleに対応する数存在する。SampleEntry112及び113を含む各SampleEntryは、Sample131~132を含む各SampleのV-PCCの情報やMuxed Trackであることを表す情報などが格納される。
【0045】
また、SampleTableBox110には、SubSampleEntryBox114を含む複数のSubSampleEntryBoxが格納される。SubSampleEntryBox114を含む複数のSubSampleEntryBoxは、Muxed trackに含まれるコンポーネントストリームの種類毎に設けられる。そして、SubSampleEntryBox114は、SubSampleEntry115及び116を含む複数のSubSampleEntryが格納される。
図5では、SubSampleEntry115及び116を示したが、実際には、SubSampleEntryは、Sample131~132を含むすべてのSampleに対応した変数のパターン数だけ存在する。SubSampleEntry115及び116を含む各SubSampleEntryには、handler_type毎にクラスが定義される。
【0046】
moofには、TrackFragment120が配置される。そして、TrackFragment120には、TrackRunBox121が配置される。TrackRunBox121は、Sample131~132を含む各SampleとSampleEntry112~113とを対応付ける情報を有する。
【0047】
また、TrackFragment120には、SubSampleToChunkBox122を含む複数のSubSampleToChunkBoxが配置される。SubSampleToChunkBox122を含む複数のSubSampleToChunkBoxは、SubSample141~146を含む各SubSampleとSubSampleEntry115及び116とを対応付ける情報を有する。
【0048】
例えば、SubSample141の番号であるsub_sample_numberが1であり、SubSample144の番号であるsub_sample_numberが16であるとする。さらに、SubSampleToChunk122において、first_sub_sample_numbeが1の場合のsub_sample_entry_indexが1でありfirst_sub_sample_numbeが16の場合のsub_sample_entry_indexが2であるとする。さらに、SubSumpleEntry115のsub_sample_entry_indexが1であり、SubSumpleEntry116のsub_sample_entry_indexが2であるとする。
【0049】
この条件下で、クライアント装置2が、Sample131とSample132とを連続して復号する場合について説明する。クライアント装置2は、Sample131に含まれるSubSample141~143を含むSubSampleを復号する。その際、例えばSubSample141を復号する場合、クライアント装置2は、first_sub_sample_numberを基に、SubSample141の情報を有するSubSampleToChunkBox122を特定する。そして、クライアント装置2は、SubSampleToChunkBox122に格納されたComponent_idから使用するSubSampleEntryBox114を特定し、さらに、sub_sample_entry_indexを用いてSubSampleEntryBox114の中からSubSample141の情報を管理するSubSunpleEntry115を特定する。そして、クライアント装置2は、SubSunpleEntry115に格納されたhandler_typeなどの情報を用いてSubSample141を復号する。
【0050】
次に、クライアント装置2は、Sample132の復号に移り、同様にして、SubSample146の情報を管理するSubSumpleEntry116を特定する。そして、クライアント装置2は、SubSunpleEntry116の情報を用いてSubSample144を復号する。このように、SubSampleEntryBox及びSubSampleToChunkBoxを用いて、クライアント装置2は、Muxed trackの復号を行うことができる。
【0051】
図6は、SubSampleEntryBoxの格納状態を示す図である。
図6では他の方法でのSubSmapleEntryBoxの格納状態を表した。ファイル生成部105は、
図6に示すように、BOX150で示されるmoovの中のBOX151にSubSmapleEntryBoxを配置し、BOX152にSubSampleToChunkBoxを配置する。
【0052】
また、
図7は、フラグメントの有無に応じたSubSampleEntryBox及びSubSampleToChunkBoxの格納状態を示す図である。ムービーフラグメントが行われていない場合は、
図7のファイル160に示すように、1つの映像コンテンツに対してmoovとmdatとがそれぞれ1つずつ存在する。この場合、ファイル生成部105は、moovにBOX161で示すようにSubSampleEntryBox及びSubSampleToChunkBoxを格納する。
【0053】
これに対して、ムービーフラグメントが行われた場合、
図7のファイル170に示すように、1つの映像コンテンツに対して1つのmoov及びmoofとmdatとの組がそれぞれ複数ずつ存在する。この場合、ファイル生成部105は、moovにBOX171で示すSubSampleEntryBoxを配置する。さらに、ファイル生成部105は、各moofにBOX172~174で示すSubSampleToChunkBoxを配置する。
【0054】
図2に戻って説明を続ける。その後、ファイル生成部105は、Muxed trackのsampleを含む映像コンテンツのセグメントファイルを送信部12へ出力する。
【0055】
送信部12は、映像データのセグメントファイルの入力をファイル生成部105から受ける。そして、送信部12は、取得した映像データのセグメントファイルをWebサーバ3にアップロードする。
【0056】
(第1の実施形態に係るクライアント装置の構成)
図8は、クライアント装置のブロック図である。
図8に示すように、クライアント装置2は、再生処理部20及び制御部21を有する。制御部21は、再生処理部20の各部の動作を制御する。例えば、制御部21は、再生処理部20の各部の動作のタイミングを統括制御する。再生処理部20は、ファイル取得部201、ファイル処理部202、復号処理部203、表示制御部204、表示情報生成部205及び表示部206を有する。
【0057】
ファイル取得部201は、映像コンテンツの取得要求の入力をファイル処理部202から受ける。そして、ファイル取得部201は、指定された映像コンテンツのセグメントファイルをWebサーバ3から取得する。その後、ファイル取得部201は、取得したセグメントファイルをファイル処理部202へ出力する。
【0058】
ファイル処理部202は、再生する映像コンテンツの指定やランダムアクセスなどの操作命令の入力を表示制御部204から受ける。そして、ファイル処理部202は、操作命令にしたがって、映像コンテンツを選択して、選択した映像コンテンツの取得要求をファイル取得部201へ出力する。
【0059】
その後、ファイル処理部202は、送信要求を行った映像コンテンツのセグメントファイルの入力をファイル取得部201から受ける。そして、ファイル処理部202は、取得したセグメントファイルから符号化ストリームのデータを抽出し復号処理部203へ出力する。また、ファイル処理部202は、取得したセグメントファイルからメタデータを取得して表示情報生成部205へ出力する。
【0060】
復号処理部203は、符号化ストリームのデータの入力をファイル処理部202から受ける。そして、復号処理部203は、SubSampleEntryBox及びSubSampleToChunkBoxに格納された情報を用いて各コンポーネントストリームのSubSampleに対応するSubSampleEntryを特定し、特定したSubSampleEntryを用いて各コンポーネントストリームのSubSampleを復号する。これにより、復号処理部203は、符号化ストリームに含まれる各コンポーネントストリームを復号する。その後、復号処理部203は、復号した各コンポーネントストリームのデータを表示情報生成部205へ出力する。
【0061】
表示制御部204は、操作者からの操作命令を図示しない入力装置から受ける。そして、表示制御部204は、映像コンテンツの切り替えが発生する操作命令の場合には、操作命令をファイル処理部202へ出力する。また、視点移動などの操作命令の場合、表示制御部204は、取得した操作命令を表示情報生成部205へ出力する。
【0062】
表示情報生成部205は、コンポーネントストリーム毎の復号されたビットストリームのデータの入力を復号処理部203から受ける。また、表示情報生成部205は、メタデータの入力をファイル処理部202から受ける。さらに、表示情報生成部205は、操作命令の入力を表示制御部204から受ける。
【0063】
そして、表示情報生成部205は、取得したビットストリーム及びメタデータを用いて操作命令に応じてレンダリングを行い、表示用画像を生成する。その後、表示情報生成部205は、生成した表示用画像を表示部206に供給する。
【0064】
表示部206は、モニタなどの表示装置を有する。表示部206は、表示情報生成部205により生成された表示用画像の入力を受ける。そして、表示部206は、取得した表示用画像を表示装置に表示させる。
【0065】
(第1の実施形態に係るファイル生成手順)
次に、
図9を参照して、第1の実施形態に係るファイル生成装置1によるファイル生成処理の流れについて詳細に説明する。
図9は、第1の実施形態に係るファイル生成装置によるファイル生成処理のフローチャートである。
【0066】
データ取得部101は、映像コンテンツの元データをWebサーバ3から取得する。そして、前処理部102は、データ取得部101により取得された取得した元データに含まれる画像データ及び符号化する制御情報を符号化部103へ出力する。前処理部102は、取得した元データに含まれる制御情報を用いて、Muxed trackのエンコードパラメータをSampleEntryに設定する(ステップS101)。
【0067】
次に、前処理部102は、コンポーネント毎のエンコードパラメータをSubSampleEntryに設定する(ステップS102)。すなわち、前処理部102は、関連情報に、component_id、muxed_stream_specific_type及びhandler_typeとともに各コンポーネントのSubSampleEntryを設定したSubSample関連情報を生成する。
【0068】
また、前処理部102は、SubSampleのコーデック情報、並びに、Sample及びSubSampleの配置からSubSample対応情報を生成する(ステップS103)。その後、前処理部102は、画像データ及びメタデータを符号化部103へ出力する。また、前処理部102は、前処理部102は、SubSample関連情報及びSubSample対応情報を含むメタデータをファイル生成部104へ出力する。
【0069】
符号化部103は、画像データ及びメタデータの入力をデータ取得部101から受ける。そして、符号化部103は、画像データ及びメタデータを符号化して、各コンポーネントストリームの符号化されたデータを生成する(ステップS104)。その後、符号化部103は、符号化された各コンポーネントストリームのデータをファイル生成部104へ出力する。
【0070】
ファイル生成部104は、符号化された各コンポーネントストリームのデータの入力を符号化部103から受ける。また、ファイル生成部104は、SubSample関連情報及びSubSample対応情報を含むメタデータの入力を前処理部102から受ける。そして、ファイル生成部104は、各コンポーネントストリームのSubSample毎のコーデック情報を取得する(ステップS105)。
【0071】
次に、ファイル生成部104は、各コンポーネントのSubSampleをSampleとしてまとめてMuxed trackを作成し、mdatに配置してSample情報を設定する(ステップS106)。すなわち、ファイル生成部104は、moovのSampleTableに配置したSampleEntryBoxに各Muxed trackのSampleEntryを格納する。
【0072】
次に、ファイル生成部104は、SubSampleToCunkBoxをmoofに格納する(ステップS107)。
【0073】
そして、ファイル生成部104は、各コンポーネントのコンポーネントストリームを含むMuxed trackを有するISOBMFFファイルを生成する(ステップS108)。その後、送信部108は、ファイル生成部104により生成された映像コンテンツのセグメントファイルをWebサーバ3にアップロードする。
【0074】
(第1の実施形態に係る再生処理手順)
次に、
図10を参照して、第1の実施形態に係るクライアント装置2により実行される再生処理の流れを説明する。
図10は、第1の実施形態に係るクライアント装置により実行される再生処理のフローチャートである。
【0075】
ファイル取得部201は、再生する映像コンテンツのセグメントファイルをWebサーバ3から取得する。ファイル処理部202は、ファイル取得部201により取得された映像コンテンツのセグメントファイルをパースする。そして、ファイル処理部202は、ISOBMFFファイルからSample及びSampleEntryを取得する。その後、ファイル処理部202は、取得したSample及びSampleEntryを復号処理部203へ出力する。また、ファイル処理部202は、メタデータを表示情報生成部205へ出力する。復号処理部203は、Sample及びSampleEntryを取得してデコード設定を行う(ステップS201)。
【0076】
次に、復号処理部203は、取得したSampleに多重化されているSubSample毎に、対応するSubSampleEntryをSubSampleToCunkBoxから特定し、各コンポーネントのデコードを設定して、各コンポーネントストリームのデータを復号する(ステップS202)。
【0077】
表示情報生成部205は、復号された各コンポーネントストリームのデータを復号処理部203から取得する。また、表示情報生成部205は、操作命令を表示制御部204から取得する。そして、表示情報生成部205は、操作命令にしたがい各コンポーネントストリームのデータを用いてレンダリングを行って表示用画像を生成して表示部207に表示させる表示処理を実行する(ステップS203)。
【0078】
その後、ファイル処理部202、復号処理部203、表示制御部204及び表示情報生成部205は、再生処理を継続するか否かを判定する(ステップS204)。例えば、利用者から停止命令などが入力された場合、ファイル処理部202、復号処理部203、表示制御部204及び表示情報生成部205は、再生処理を継続しないと判定する。再生処理を継続する場合(ステップS204:肯定)、映像再生処理は、ステップS201に戻る。これに対して、映像コンテンツの全ての画像データの復号が完了した場合(ステップS204:否定)、ファイル処理部202、復号処理部203、表示制御部204及び表示情報生成部205は、映像再生処理を終了する。
【0079】
以上に説明したように、本実施形態に係るファイル生成装置は、Muxed trackに含まれる各コンポーネントストリームのメディアの属性を定義し、各コンポーネントストリームのコーデックの属性情報を含むSubSampleEntryと関連付ける。さらに、ファイル生成装置は、SubSampleToChunkBoxを用いて各コンポーネントストリームのSubSampleEntryに、動的に変化可能な各コンポーネントストリームのコーデックの属性情報を関連付ける。これにより、複数のコンポーネントストリームを1つのトラックに含ませることで、各コンポーネントストリームの時間情報などが共有でき、情報を削減することが可能である。すなわち、情報量を削減し且つ視聴者に高品質の視聴体験を提供することが可能となる。また、今までにトラックで実現されていた、トラックのメディア属性情報であるハンドラーの情報の定義、コーデックの属性情報を表すSampleEntryの定義、及び、動的にSampleのコーデック情報を関連付けるISOBMFFの仕組みを、単一のトラックにまとめて格納されたコンポーネントストリーム毎に実現することができる。
【0080】
[1.1 第1の実施形態の変形例]
次に、第1の実施形態の変形例について説明する。第1の実施形態では、SubSampleEntryBoxの中に、各SubSampleに対応するコンポーネントストリームの種別情報であるハンドラーの情報が格納された。しかし、SampleEntryはSample固有の情報が格納されるものであり、SubSampleEntryも、SubSample固有の情報を格納することが好ましい。
【0081】
そこで、本変形例では、Muxed trackに含まれる各SubSampleに対応するコンポーネントストリームのハンドラーの情報を、SubSampleEntryBoxとは別のファイルのヘッダ領域に格納する。
図11は、第1の実施形態の変形例に係るSubSampleToHandlerBox及びSubSampleEntryBoxのシンタックスの一例を表す図である。
【0082】
前処理部102は、シンタックス181で示されるSubSampleHandlerBoxの内容を表すSubSampleハンドラー情報を新たに定義して生成する。この場合、前処理部102は、SubSampleの識別情報であるcomponent_id及び各SubSampleに対応するコンポーネントストリームのハンドラーの情報であるhandler_typeをSubSampleハンドラー情報に設定する。
【0083】
また、前処理部102は、シンタックス182で示すSubSampleEntryBoxの内容を表すSubSample関連情報を生成する。この場合、前処理部102は、SubSampleの識別情報であるcomponent_id及び各SubSampleに対応するコンポーネントストリームの種類を表すMuxed_stream_specific_typeをSubSample関連情報に設定する。また、前処理部102は、SubSampleEntry()もSubSample関連情報に設定する。
【0084】
すなわち、SubSample関連情報には、SubSample固有の情報が設定される。一方、SubSampleハンドラー情報には、SubSampleに対応するコンポーネントストリームのハンドラーの情報が格納される。SubSampleハンドラー情報及びSubSample関連情報は、いずれもcomponent_idにより相互に紐づけられ、且つSubSample対応情報に紐づけられる。
【0085】
ファイル生成部104は、前処理部102から、SubSample関連情報、SubSampleハンドラー情報及びSubSample対応情報を含むメタデータの入力を前処理部102から受ける。そして、ファイル生成部104は、SubSample関連情報を格納するシンタックス181で示されるSubSampleEntryBoxを新たに定義して、moovに格納する。また、ファイル生成部104は、SubSampleハンドラー情報を格納するシンタックス182で示されるSubSampleHandlerBoxを新たに定義して、moovに格納する。さらに、ファイル生成部104は、SubSample対応情報を含むSubSampleToChunkBoxをmoofに格納する。そして、ファイル生成部104は、各コンポーネントストリームを格納したISOBMFFファイルを生成する。
【0086】
このように、SubSampleHandlerBox及びSubSampleEntryBoxを構成することで、SubSampleEntryに関しても、Sample及びSampleEntryの関係を踏襲した構成にすることができる。
【0087】
[2.第2の実施形態]
本実施形態に係るファイル生成装置1は、SubSampleにSubSampleのパラメータセットを格納してコンポーネントストリームとともにパラメータセットを送信する。以下に本実施形態に係るファイル生成装置1について説明する。本実施形態に係るファイル生成装置1も
図2のブロック図で表される。また、本実施形態に係るクライアント装置2も
図6のブロック図で表される。以下の説明では、第1の実施形態と同じ各部の動作については説明を省略する。
【0088】
図12は、パラメータセットの格納状態を説明するための図である。前処理部102は、
図12に示すようなSubSampleへのパラメータセット211の格納を決定する。パラメータセット211は、Muxed trackの各コンポーネントストリームのSubSampleの初期化に使用する情報やSubSampleとSubSampleEntryとを対応付ける情報を含む。例えば、前処理部102は、コーデックのSEI(Supplemental Enhancement Information)を用いてSubSampleにパラメータセット211を格納させる。
【0089】
このように、本実施例に係る前処理部102は、コンポーネントストリーム毎のSampleEntry関連情報と同等の情報をコーデックのパラメータセットやSEIを用いてインバウンドストリームで伝送させる。これに対して、実施例1のようにmoofでは、TrackFragmentBoxの下にSubSampleToChunkBoxを配置することで、SubSample毎のSampleEntryに関する情報を格納することも可能である。しかし、TrackFragmentBoxを用いる場合、SubSampleToChunkBoxを用いてSubSampleとSubSampleエントリーとの紐づけが識別されるため、moofのオーバーヘッドが大きい。
【0090】
すなわち、本実施例に係る前処理部102は、SubSampleToChunkBoxを用いる場合に比べて、moofのオーバーヘッドを削減することができる。この場合、インバウンドストリームでパラメータセット211が伝送されていることをクライアントに通知する必要がある。ただし、新しいBOXを定義すると、moofのオーバーヘッドが発生するので、既存のBOXのリザーブビットを使用することが好ましい。そこで、本実施例に係る前処理部102は、次のような定義を行う。
【0091】
前処理部102は、TrackTunBoxのtr_fragの未定義のビットをインバウンドストリームでコンポーネントストリーム毎のSubSampleのパラメータセット211を送信する通知に割り当てて、新たに定義する。この通知に用いる情報が、「格納通知情報」の一例にあたる。本実施形態では、前処理部102は、tr_flagsの0x800000のビットをインバウンドストリームでコンポーネントストリーム毎のSybSampleのパラメータセット211を送信する通知に割り当てる。そして、前処理部102は、SubSampleへのパラメータセット211の格納及びtr_flagsの0x800000のビットのイネーブルをファイル生成部104に通知する。これにより、前処理部102は、フラグメントされた後の各ヘッダ領域であるmoofにSubSampleToChunkBoxを格納しなくても済むようにする。
【0092】
また、前処理部102は、各コンポーネントストリームのSubSampleEntryを生成する。この場合、パラメータセット211がインバウンドストリームで伝送されるので、前処理部102は、再生処理を行うアプリケーションによる各SubSampleの使用の可否を示すケーパビリティの情報をSubSampleEntryに設定する。ケーパビリティの情報としては、例えば、コーデックの種別を表す情報、画サイズ情報、フレームシート情報といった情報などがある。
【0093】
ファイル生成部104は、SubSampleEntry、SubSampleへのパラメータセット211の格納及びtr_flagsの0x800000のビットのイネーブルの通知を前処理部102から受ける。そして、ファイル生成部104は、
図12に示すように、moovに各コンポーネントストリームのSubSampleEntryを格納する。
【0094】
また、ファイル生成部104は、
図12に示すように、SubSampleにパラメータセット211を格納する。また、ファイル生成部104は、BOX212で示すようにTrackRunBoxのtr_flagsの0x800000のビットをイネーブルにして、SubSample毎のパラメータセット211がmdat領域でコンポーネントストリームのデータと一緒に伝送されることを示す。
【0095】
図13は、フラグメントの有無に応じたSubSampleEntryBox及びtr_flagsの格納状態を示す図である。ムービーフラグメントが行われていない場合は、
図13のファイル220に示すように、ファイル生成部105は、moovにBOX221で示すSubSampleEntryBoxを格納する。
【0096】
これに対して、ムービーフラグメントが行われた場合、
図13のファイル230に示すように、ファイル生成部104は、moovにBOX231で示すSubSampleEntryBoxを配置する。さらに、ファイル生成部104は、各moofのBOX232~234で示すTrackRunBoxにおいて、tr_flagsの0x800000ビットの値をイネーブルに設定する。
【0097】
一方、クライアント装置2において、ファイル処理部202は、セグメントファイルをパースした際に、各SubSampleに含まれるパラメータセットを取得する。そして、ファイル処理部202は、コンポーネントストリーム毎のビットストリームとともにパラメータセットを復号処理部203へ出力する。
【0098】
復号処理部203は、コンポーネントストリーム毎のビットストリームとともにパラメータセットの入力をファイル処理部202から受ける。そして、復号処理部203は、取得したパラメータセットを用いて、各ビットストリームの初期化を行う。その後、復号処理部203は、SubSampleEntryに格納されたエンコードバラメータを用いて、各コンポーネントストリームのデータの復号を行う。
【0099】
(第2の実施形態に係るファイル生成手順)
次に、
図14を参照して、第2の実施形態に係るファイル生成装置1によるファイル生成処理の流れについて詳細に説明する。
図14は、第2の実施形態に係るファイル生成装置によるファイル生成処理のフローチャートである。
【0100】
データ取得部101は、映像コンテンツの元データをWebサーバ3から取得する。そして、前処理部102は、データ取得部101により取得された取得した元データに含まれる画像データ及び符号化する制御情報を符号化部103へ出力する。前処理部102は、取得した元データに含まれる制御情報を用いて、Muxed trackのエンコードパラメータをSampleEntryに設定する(ステップS301)。
【0101】
次に、前処理部102は、コンポーネント毎のエンコードパラメータをSubSampleEntryに設定する(ステップS302)。
【0102】
符号化部103は、画像データ及びメタデータの入力をデータ取得部101から受ける。そして、符号化部103は、画像データ及びメタデータを符号化して、各コンポーネントストリームの符号化されたデータを生成する(ステップS303)。その後、符号化部103は、符号化された各コンポーネントストリームのデータをファイル生成部104へ出力する。
【0103】
次に、ファイル生成部104は、各コンポーネントストリームのSubSample内にコーデック情報を設定する(ステップS304)。これにより、ビットストリームに、各SubSampleのパラメータセットがインバウンドされる。
【0104】
次に、ファイル生成部104は、各コンポーネントのSubSampleを1つのSampleとしてまとめてMuxed trackを作成し、mdatに配置してSample情報を設定する(ステップS305)。
【0105】
次に、ファイル生成部104は、moofのtr_flagsの0x800000のビットの値をイネーブルに設定する(ステップS306)。
【0106】
そして、ファイル生成部104は、各コンポーネントのコンポーネントストリームを含むMuxed trackを有するISOBMFFファイルを生成する(ステップS307)。その後、送信部108は、ファイル生成部104により生成された映像コンテンツのセグメントファイルをWebサーバ3にアップロードする。
【0107】
(第2の実施形態に係る再生処理手順)
次に、
図15を参照して、第2の実施形態に係るクライアント装置2により実行される再生処理の流れを説明する。
図15は、第2の実施形態に係るクライアント装置により実行される再生処理のフローチャートである。
【0108】
ファイル取得部201は、再生する映像コンテンツのセグメントファイルをWebサーバ3から取得する。ファイル処理部202は、ファイル取得部201により取得された映像コンテンツのセグメントファイルをパースする。そして、ファイル処理部202は、ISOBMFFファイルからSample及びSampleEntryを取得する。その後、ファイル処理部202は、取得したSample及びSampleEntryを復号処理部203へ出力する。また、ファイル処理部202は、メタデータを表示情報生成部205へ出力する。復号処理部203は、Sample及びSampleEntryを取得してデコードの設定を行う(ステップS401)。
【0109】
次に、復号処理部203は、取得したSampleに格納された複数のSubSampleのそれぞれについて、ビットストリームに付加されたパラメータセットを取得する。そして、復号処理部203は、パラメータセット及び対応するSubSampleEntryの情報を用いて、各コンポーネントストリームを復号する(ステップS402)。
【0110】
表示情報生成部205は、復号された各コンポーネントストリームのデータを復号処理部203から取得する。また、表示情報生成部205は、操作命令を表示制御部204から取得する。そして、表示情報生成部205は、操作命令にしたがい各コンポーネントストリームのデータを用いてレンダリングを行って表示用画像を生成して表示部207に表示させる表示処理を実行する(ステップS403)。
【0111】
その後、ファイル処理部202、復号処理部203、表示制御部204及び表示情報生成部205は、再生処理を継続するか否かを判定する(ステップS404)。例えば、利用者から停止命令などが入力された場合、ファイル処理部202、復号処理部203、表示制御部204及び表示情報生成部205は、再生処理を継続しないと判定する。再生処理を継続する場合(ステップS404:肯定)、映像再生処理は、ステップS401に戻る。これに対して、映像コンテンツの全ての画像データの復号が完了した場合(ステップS404:否定)、ファイル処理部202、復号処理部203、表示制御部204及び表示情報生成部205は、映像再生処理を終了する。
【0112】
以上に説明したように、本実施形態に係るファイル生成装置は、各SubSampleのパラメータセットをビットストリームにインバウンドして伝送する。すなわち、本実施形態に係るファイル生成装置は、各コンポーネントストリームのSubSampleにおいて、動的に変化する各コンポーネントストリームのコーデックの属性情報をストリーム内で伝送する。これにより、フラグメント時のヘッダ領域にSubSampleToChunkBoxを設定することによる各SubSampleのSubSampleEntryと紐づけを省略することができ、フラグメント時の管理情報によるオーバーヘッドを削減することができる。
【0113】
[2.1 第2の実施形態の変形例]
第2の実施形態ではTrackRunBoxのtr_flagsを用いてインバウンドストリームであることを通知したが、tr_flagsの格納場所はこれに限らない。例えば、ファイル生成部104は、TrackRunBoxと同じ階層のTrackFragmentHeaderBoxのtr_flagsを用いて、フラグメント全体の情報としてインバウンドストリームであることを通知するフラグを定義してもよい。
【0114】
また、ファイル生成部104は、SubSampleToChunkBoxがTrackFragmentBoxの下に配置されていない場合、SubSample毎のSubSampleEntryがインバウンドストリームで伝送されるというセマンティクスで定義を行ってもよい。
【0115】
以上に説明したように、TrackRunBoxのtr_flagsを用いる以外にも、インバウンドストリームにより各SubSampleのパラメータを伝送することができ、それらの場合も、フラグメント時の管理情報によるオーバーヘッドを削減することができる。tr_flagsを用いる以外での通知に用いる情報も、「格納通知情報」の一例にあたる。
【0116】
以上の各実施形態及び変形例で説明した構造は、V-PCC以外にも、複数のコンポーネントストリームを含むストリームに適用することが可能である。
【0117】
[3.第3の実施形態]
以上の各実施形態及びそれらの各変形例ではISOBMFFに格納する場合を説明した。ただし、
図16に示すMatroska Media Container(http://www.matroska.org/)を用いて伝送する場合でも複数のコンポーネントストリームのそれぞれのメディア属性を定義し、各コンポーネントストリームのコーデックの属性情報と各コンポーネントストリームのデータとの関連付けを行うことが可能である。
図16は、Matroska Media Containerのフォーマットを表す図である。その場合、ファイル生成部105は、各実施例及び変形例においてSubSampleEntryBoxに格納した情報及びSubSampleToChunkBoxに格納した情報を、Track Entry elementに新しく定義したelementに格納する。
【0118】
[ハードウェア構成]
図17は、コンピュータのハードウェア構成図である。ファイル生成装置1及びクライアント装置2は、
図17に示すコンピュータ90によって実現可能である。コンピュータ90において、プロセッサ91、メモリ92、ネットワークインタフェース93、不揮発性ストレージ94、入出力インタフェース95及びディスプレイインタフェース86は、バスを介して相互に接続される。
【0119】
入出力インタフェース95には、例えば、入力装置、出力装置、記憶装置及びドライブといった外部デバイスが接続される。入力装置は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などである。出力装置は、例えば、スピーカ、出力端子などである。記憶装置は、例えば、ハードディスク、RAM(Random Access Memory)ディスクなどである。ドライブは、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディアを駆動する。また、ディスプレインタフェース96には、表示装置であるディスプレイ98が接続される。
【0120】
ネットワークインタフェース93は、外部のネットワークに接続される。ファイル生成装置1及びクライアント装置2は、ネットワークインタフェース93を介して相互に接続される。また、ファイル生成装置1及びクライアント装置2は、ネットワークインタフェース93を介してWebサーバ3に接続する。不揮発性ストレージ94は、ハードディスクやSSD(Solid State Drive)などの内蔵の補助記憶装置である。
【0121】
以上のように構成されるコンピュータ90では、プロセッサ91が、例えば、不揮発性ストレージ94に記憶されているプログラムを、バスを介して、メモリ92にロードして実行することにより、上述した一連の処理が行われる。メモリ92にはまた、プロセッサ91が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0122】
プロセッサ91が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディアに記録して適用することができる。その場合、プログラムは、リムーバブルメディアを外部デバイス97であるドライブに装着することにより、入出力インタフェース95を介して、不揮発性ストレージ94にインストールすることができる。
【0123】
また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、ネットワークインタフェース93で受信し、不揮発性ストレージ94にインストールすることができる。
【0124】
その他、このプログラムは、不揮発性ストレージ94に、予めインストールしておくこともできる。
【0125】
以上、本開示の実施形態について説明したが、本開示の技術的範囲は、上述の実施形態そのままに限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、異なる実施形態及び変形例にわたる構成要素を適宜組み合わせてもよい。
【0126】
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また他の効果があってもよい。
【0127】
なお、本技術は以下のような構成を取ることもできる。
【0128】
(1)複数のコンポーネントストリームであるSubSampleから構成されるコンテンツストリームにおける、前記SubSampleのそれぞれの復号に用いるSubSample情報を個々に生成する前処理部と、
前記前処理部により生成された前記SubSample1情報を含むファイルを生成するファイル生成部と
を備えた情報処理装置。
(2)前記前処理部は、複数の前記SubSampleのそれぞれに対応する、前記SubSampleの識別情報、複数の前記コンポーネントストリームの種別情報、前記SubSampleのメディアの属性情報及びコーデックの属性情報を含むSubSample関連情報を前記SubSample情報に含ませる付記(2)に記載の情報処理装置。
(3)前記ファイル生成部は、前記SubSample関連情報を、単一のヘッダ領域及び単一のデータ領域を有するファイルフォーマットの前記ヘッダ領域に挿入し、前記データ領域に複数の前記コンポーネントストリームから生成される単一のコンテンツストリームを挿入したファイルを生成する付記(2)に記載の情報処理装置。
(4)前記ファイル生成部は、前記SubSample関連情報を、初期化用情報を含む第1ヘッダ領域、並びに、複数のデータ領域及び前記データ領域に対応する複数の第2ヘッダ領域を有するファイルフォーマットの前記第1ヘッダ領域に前記SubSample関連情報を挿入し、前記データ領域のそれぞれに複数の前記コンポーネントストリームから生成される単一のコンテンツストリームを分割して挿入したファイルを生成する付記(2)に記載の情報処理装置。
(5)前記ファイル生成部は、前記SubSample関連情報をSubSampleEntryBoxに格納する付記(2)に記載の情報処理装置。
(6)前記前処理部は、複数の前記SubSampleと前記SubSample関連情報との対応を表すSubSample対応情報を前記SubSample情報にさらに含ませる付記(2)に記載の情報処理装置。
(7)前記ファイル生成部は、前記SubSample対応情報を前記ファイルのSubSampleToChunkBoxに格納する付記(6)に記載の情報処理装置。
(8)前記前処理部は、前記SubSample関連情報のうち前記SubSampleの識別情報及び前記コンポーネントストリームの種別情報を含む第1関連情報と前記SubSampleの識別情報及び前記SubSampleのメディアの属性情報を含む第2関連情報とを生成する付記(2)に記載の情報処理装置。
(9)前記ファイル生成部は、前記第1関連情報をSubSamplehandlerBoxに格納し、前記第2関連情報をSubSampleEntryBoxに格納する付記(8)に記載の情報処理装置。
(10)前記前処理部は、復号に用いるパラメータセットを前記SubSample情報に含ませる付記(1)に記載の情報処理装置。
(11)前記ファイル生成部は、前記SubSample情報を前記コンポーネントストリームに含ませる付記(10)に記載の情報処理装置。
(12)前記ファイル生成部は、前記SubSample情報が前記コンポーネントストリームに含まれることを示す格納通知情報を生成し、TrackRunBoxに格納する付記(11)に記載の情報処理装置。
(13)複数のコンポーネントストリームであるSubSampleから構成されるコンテンツストリームにおける、前記SubSampleのそれぞれの復号に用いるSubSample情報を個々に生成し、
前記前処理部により生成された前記SubSample1情報を含むファイルを生成する
処理をコンピュータに実行させる情報処理方法。
(14)ヘッダ領域及び複数のコンポーネントストリームであるSubSampleから構成されるコンテンツストリームが格納されるデータ領域を有するファイルフォーマットにしたがって生成されたファイルの前記ヘッダ領域から、前記SubSampleのそれぞれの復号に用いるSubSample情報を取得するファイル処理部と、
前記ファイル処理部により取得された前記SubSample情報に基づいて、前記コンテンツストリームを復号する復号処理部と
を備えた再生処理装置。
(15)ヘッダ領域及び複数のコンポーネントストリームであるSubSampleから構成されるコンテンツストリームが格納されるデータ領域を有するファイルフォーマットにしたがって生成されたファイルの前記ヘッダ領域から、前記SubSampleのそれぞれの復号に用いるSubSample情報を取得し、
取得した前記SubSample情報に基づいて、前記コンテンツストリームを復号する
処理をコンピュータに実行させる再生処理方法。
【符号の説明】
【0129】
1 ファイル生成装置
2 クライアント装置
3 Webサーバ
10 ファイル生成処理部
11 制御部
12 送信部
20 再生処理部
21 制御部
100 配信システム
101 データ取得部
102 前処理部
103 符号化部
104 ファイル生成部
201 ファイル取得部
202 ファイル処理部
203 復号処理部
204 表示制御部
205 表示情報生成部
206 表示部