説明

ファイルフォーマットベースの適応的ストリーム生成、再生方法及び装置とその記録媒体

本発明は、ファイルフォーマットベースの適応的ストリームの生成及び再生方法及び装置を提供する。その方法は、サーバからマニフェストボックス、moovボックス、及びセグメントを受信して分析するステップと、マニフェストボックス、moovボックス、及びセグメントの分析結果に基づいて復号化及び再生を遂行するステップとを有し、マニフェストボックス、moovボックス、及びセグメントは一つのファイルに含まれることを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はコンテンツ伝送システムに関するもので、特にファイルフォーマットベースの適応的ストリーム生成、再生方法及び装置に関する。
【背景技術】
【0002】
国際標準化機構(International Organization for Standardization:ISO)/国際電気標準会議(International Electrotechnical Commission:IEC)14496-12は、マルチメディアサービスに使用される標準ファイルフォーマットとしてISO基本ファイルフォーマットを定義する。ISO基本ファイルフォーマットは、フレキシブルかつ拡張可能なファイル構成を有し、それによって多様なメディアファイルフォーマットの基本になる。このISO基本ファイルフォーマットは、メディアリソースとメタデータをパッケージングするための標準化したファイル構成であって、多様なタイプのメディアリソースとメタデータを含むようにオブジェクト指向設計を有する。例えば、JPEG(Joint Photographic Experts Group)2000及び3GPP(3rd Generation Partnership Project)ファイルフォーマットはISO基本ファイルフォーマットに基づき、MPEG(Moving Picture Experts Group)-4ファイルフォーマットはISO基本ファイルフォーマットを拡張したものである。
【0003】
一方、HTTP(Hyper Text Transfer Protocol)を用いるA/V(Audio/Video)ストリーミングは、サーバの負担を最小化してクライアントの知能的処理に全体的に依存するストリーミング方式である。クライアントは、HTTPのファイル伝送要求又は一部ファイル伝送要求のみを用いてストリーミングを達成する。したがって、ネットワークの伝送率変化に適応するために、ファイルは、同一のコンテンツに対して色々な伝送率で圧縮され、サーバに予めアップロードしなければならない。また、このようなネットワークの変化に適応するために、全体コンテンツファイルは、適当なサイズのフラグメントに分けられ、分けられたフラグメントはファイルとして格納されなければならない。さらに、このように断片化したファイルを順次に持ってきてAVコンテンツを再生する方法に関する情報を含む別途のメタデータファイルは、サーバにアップロードしなければならない。このようなメタデータファイルの一例としては、マニフェスト(Manifest)がある。このマニフェストは、一般的にファイルリストに関連した情報を提供するファイルを意味する。コンテンツ情報を伝送する場合、コンテンツを構成するデータの時間及び帯域幅のように、ファイルに関する構成情報及び付加情報を伝送するのに使用されるファイルは、“マニフェストファイル”と呼ばれる。また、ファイルリストに関連した情報を予めクライアントに伝送することによって、クライアントは、ファイルを選択できる。
【0004】
さらに、マニフェストは、適応ストリームに関する情報を提供する。例えば、このマニフェストは、各セグメントに使用されるビットレートに関する情報を提供する。したがって、端末は、適応ストリームに関する情報に基づいて適当なセグメントを選択することができる。
【0005】
しかしながら、可変するブロードキャスト環境に適応するために、コンテンツが小さな単位に分けられてから伝送される場合、マニフェストファイルを効率的に伝送するための方式が要求される。また、クライアントがサーバから伝送されたファイルフォーマットを通じて再生するための適切なファイルを探すことができる方案が要求される。加えて、サーバのスケジューリング時に、ファイルは、相互に異なるURL(Uniform Resource Locator)を参照して該当セグメントにマッピングされなければならないため、スケジューリング負荷が増加するという問題点を有する。
【発明の概要】
【発明が解決しようとする課題】
【0006】
したがって、本発明は上記した従来技術の問題点に鑑みてなされたものであって、その目的は、マニフェスト情報を効率的に伝送、受信、及び再生するためのファイルフォーマットベースの適応的ストリーム生成、再生方法及び装置を提供することにある。
【0007】
本発明の他の目的は、サーバによって効率的にスケジューリングするためのファイルフォーマットベースの適応的ストリーム生成方法及び装置を提供することにある。
【課題を解決するための手段】
【0008】
上記のような目的を達成するために、本発明の一態様によれば、サーバにおけるファイル伝送方法が提供される。その方法は、マニフェストボックス、moovボックス、及びメディアデータボックスを含む一つ以上のセグメントを一つのファイルに生成するステップと、生成された一つのファイルを端末に伝送するステップとを有する。
【0009】
本発明の他の態様によれば、サーバにおけるファイル生成装置が提供される。その装置は、マニフェスト情報を伝送するためのマニフェストボックス、moovボックス、及びメディアデータボックスを含むセグメントを生成する生成部と、マニフェストボックス、moovボックス、及びメディアデータボックスを端末に伝送する伝送部とを含み、マニフェストボックス、moovボックス、及びセグメントは一つのファイルに伝送される。
【0010】
また、本発明の他の態様によれば、端末におけるファイル再生方法が提供される。その方法は、サーバからマニフェストボックス、moovボックス、及びセグメントを受信して分析するステップと、マニフェストボックス、moovボックス、及びセグメントの分析結果に基づいて復号化及び再生を遂行するステップとを有し、マニフェストボックス、moovボックス、及びセグメントは一つのファイルに含まれる。
【0011】
さらに、本発明の他の態様によれば、端末におけるファイル再生装置が提供される。その装置は、サーバからマニフェストボックス、moovボックス、及びセグメントを受信して分析するパーサと、マニフェストボックス、moovボックス、及びセグメントの分析結果に基づいて復号化するデコーダとを含み、マニフェストボックス、moovボックス、及びセグメントは一つのファイルに含まれる。
【0012】
本発明の他の態様によれば、データ構成を格納可能な記録媒体が提供される。その記録媒体は、マニフェスト情報を伝送するマニフェストボックスと、moovボックスと、メディアデータボックスを含む一つ以上のセグメントとを含み、マニフェストボックス、moovボックス、及び一つ以上のセグメントが一つのファイルに含まれる。
【発明の効果】
【0013】
本発明は、マニフェスト情報を効率的に伝送、受信、及び再生することができる。また、本発明は、効率的にスケジューリングを遂行するサーバを提供することができる。
【図面の簡単な説明】
【0014】
【図1】現在メカニズムのマニフェストのスキーマを示す図である。
【図2】図1に示したマニフェストに関連したファイルフォーマットの構成を示す図である。
【図3】本発明の第1の実施形態によるマニフェスト構成を示す図である。
【図4】本発明の第2の実施形態によるマニフェスト構成を示す図である。
【図5】本発明の第3の実施形態によるマニフェスト構成を示す図である。
【図6】本発明の第4の実施形態によるmoovレベル又はmoovボックスに位置したmaniボックスを示す図である。
【図7】本発明の第5の実施形態によるmetaレベル又はmetaボックスに位置したmaniボックスを示す図である
【図8】本発明のセグメント構成の一例を示す図である。
【図9】本発明のセグメント構成の他の例を示す図である。
【図10】本発明により、他の新たなフィールドがファイルフォーマットのマニフェストに追加できる一例を示す図である。
【図11】本発明の実施形態による端末によってファイルを再生する方法を示すフローチャートである。
【図12】本発明の実施形態によるサーバの動作を示すフローチャートである。
【図13】本発明の実施形態による端末を示すブロック構成図である。
【図14】本発明の実施形態によるサーバを示すブロック構成図である。
【発明を実施するための形態】
【0015】
以下、本発明の望ましい実施形態を添付の図面を参照して詳細に説明する。
【0016】
次の説明において、公知の機能または構成に関する具体的な説明は、明瞭性と簡潔性のために省略する。また、本発明の説明において、具体的な構成及び構成要素のような特定詳細は、ただ本発明の実施形態の全般的な理解を助けるために提供されるだけである。したがって、本発明の範囲及び趣旨を逸脱することなく、以下に説明される本発明の様々な変形及び変更が可能であることは、当該技術分野における通常の知識を持つ者には明らかである。
【0017】
後述するサーバ及び端末の動作において、具体的に説明されないファイルフォーマットの生成及び分析プロセスは、ISO/IEC14496-12に従い、本発明は、これに限定されない。
【0018】
マニフェストパラメータは、図1に示すようなスキーマ(schema)及び属性値(attributes)を含む。図2は、図1に示したマニフェストに関連したファイルフォーマットの構成を示す。
I.URLTemplate:これは、セグメントID及びトラックIDを含む固定した部分を組み合わせて生成される固有のURLを示す。URLTemplateは、トラックID及びセグメントIDと一緒に各セグメントのURLを含む。URLTemplateは、各セグメントにアクセスするためのテンプレートを示す。URLTemplateは、必要時にはセグメントのURLにより再定義(override)できる。URLTemplateの一例は、次のようである。
http://example.com/vod/movie/18888/Track/{TrackID}/Segments/{segmentID}
II.NextAdaptiveControlURL:これは、連続的表示のために必要な次のXML URLを示すのに使われる。NextAdaptiveControlURLは、選択的であり、ライブ適応的ストリーミングの場合に、あるいは広告のために使用され得る。
III.RefDataURL:これは、部分的又は完全なヘッドデータ(.ref)を示すために使われる。セグメントがそれら自身を復号化できる場合、RefDataURLは選択的である。
IV.Track:これは、異なるビットレートを有する特定タイプの隣接したセグメントの集合である。
i.ID:これは、トラックIDを示す。
ii.Types:これは、トラックのタイプを示す。Typesは、ビデオ、オーディオ、パッケージング又は結合されたビデオとオーディオ、及びI-フレームとなり得る。
iii.BitRate:これは、トラックでセグメントのビットレートを示す。
iv.StartTime:これは、トラックの開始時間を指定するタイムスタンプを表し、選択的である。
v.SegmentStartID:これは、トラックに属するセグメントの初期IDを表し、選択的である。
vi.SegmentDuration:これは、各セグメントの区間を表し、選択的である。
vii.SegmentCount:これは、トラックに属するセグメントの総個数を表し、選択的である。
viii.Segment:これは、連結された基本単位であり、各単位はオーディオ又はビデオデータのみからなされた、あるいは特定時間区間に基づいて分けられたオーディオとビデオデータとの両方からなされるフラグメントを含む。セグメントは、サーバとクライアントとの間の基本伝送単位である。セグメントは、時間的及び空間的位置指定又はA/V(Audio/Video)同期のためのタイムスタンプが割り当てられる。(エレメントセグメントは選択的である。トラックエレメントの選択的属性が指定される場合、各セグメントのすべての情報は推定され、エレメントセグメントは不必要になる可能性がある。)
◆ID-セグメントID
◆StartTime-これは、セグメントの開始時間を示す。
◆Duration-これは、セグメントの区間を示す。
◆URL-これは、URLTemplateが使用される場合に選択的である。URLは特定用途(例えば、他のサーバからのコンテンツまたは広告ビデオ)のために指定され、URLTemplateはこのセグメントに対して無視される。
【0019】
本発明は、ファイル内のマニフェスト情報を効率的に伝送するために、いくつかのファイルフォーマットに変更要素を追加することを含む。
【0020】
図2に示すような現在のメカニズムにおいて、マニフェストとデータ(例えば、オーディオ、ビデオ)は分離される。端末は、マニフェストをサーバから要求して獲得する。すると、端末は、ヘッド及び各セグメントに関する情報を認識する。復号化及び構成に関する情報に該当するヘッド情報は、ファイルフォーマットのmoovボックスに格納される。セグメント情報は、サービスデータの一部であり、moofボックスとメディアデータ(mdat)ボックスを含む。
【0021】
moofボックスはこの部分サービスに関する情報を格納し、mdatボックスは実際のデータ、例えばビデオとオーディオのようなメディアデータ又はメディアストリームを格納する。現在メカニズムで説明される例は、現在のファイルフォーマットに基づく。ファイルフォーマットが今後変更される場合、ヘッドとセグメントは、新たなフォーマットにマッピングすることができる。
【0022】
現在、マニフェストはファイルフォーマットの内部に格納されず、このファイルフォーマットとマニフェストは、別々に端末に要求及び送信される。
【0023】
ヘッド情報及びセグメントは、相互に異なるURLを有する異なるファイルに分けられる。すなわち、異なるファイルは、異なるURLを有する。したがって、サーバは、スケジューリング時に、各ファイルを各セグメントにマッピングするために異なるURLを参照しなければならないので、スケジューリングの負荷が増加する。
【0024】
ISOベースのメディアファイルフォーマットは、オーディオ/ビデオデータ及びオーディオ/ビデオに関する詳細情報を包含する複数のボックスで構成される。ここで説明されるボックスは、データブロック又はコンテナと呼ばれる。
【0025】
本発明の第1〜第3の実施形態では、マニフェストは、一つのファイルフォーマット内のmaniボックスで構成される。
【0026】
図3は、本発明の第1の実施形態によるマニフェスト構成を示す。
【0027】
マニフェスト、ヘッド情報、セグメント、及び次のマニフェストは、一つのファイルにすべて含まれる。マニフェストはmaniボックスに格納され、ヘッド情報はmoovボックスに格納される。
【0028】
SegmentOffset及びSegmentSize属性は、ファイル内の各セグメントのオフセットとサイズを示すためにマニフェストで定義される。したがって、端末は、httpレンジ(range)に基づいて期待されるセグメントを提供するようにサーバに要求できる。また、URLTemplate属性は、固定部分及びレンジ情報を用いて生成される。すなわち、マニフェストのSegmentOffset及びSegmentSize属性の情報に基づいて同一のURLの各セグメントを獲得することができる。
【0029】
さらに、ファイルフォーマット内部にマニフェストボックスを定義する場合、NextAdaptiveControlURL属性は使用されない。次のマニフェストはこのファイル、すなわち一つのファイル内に格納されるので、次のマニフェストのオフセットは、現在マニフェストボックスに定義される。
【0030】
他のパラメータは、現在のマニフェストのパラメータと同一である。
【0031】
図4は、本発明の第2の実施形態によるマニフェスト構成を示す。
【0032】
本発明の第2の実施形態において、ヘッド情報とすべてのセグメントは、まだ一つのファイル内にあるが、マニフェストは、図4に示すように一つのファイルとは別途に伝送される。マニフェストは、他の一つのファイルにより格納されたり、あるいはファイル構成以外の別途のメッセージを通じて転送されたり、又は別途のURLを通じて獲得することが可能である。すなわち、ヘッド情報と、すべてのセグメントを含む一つのファイルとマニフェストは、端末によって別に獲得される。本実施形態による新たなメカニズムは、一つのファイルがマニフェスト情報なしにヘッド情報とすべてのセグメントを含むという面で、図2について上記した現在のメカニズムと類似した構成を有する。しかしながら、ヘッド情報及び各セグメントは、上記した現在のメカニズムでは異なるURLを通じてアクセス及び獲得されなければならないが、本発明の第2の実施形態では、一つのURLを通じて獲得されなければならない。すなわち、上記したように、一つのURLを通じてすべてのセグメントを獲得するために、マニフェスト内にヘッド情報の位置を獲得するために新たな属性“Headinfo”が定義されるべきである。
【0033】
したがって、ヘッド情報がmoovボックスに格納されるため、Headinfo属性は、ファイルのmoovボックスの位置を含む。このために、Headinfoは、HeadOffsetとHeadSizeを含むパラメータで定義される。
【0034】
ヘッド情報と残りのセグメントが異なるURLを有する2つのファイルに分けられる場合、RefDataURLは、ここでヘッド情報を表すために使われることができる。
【0035】
SegmentOffset及びSegmentSize属性は、上記ファイルの各セグメントのオフセット及びサイズを表すためにマニフェストファイルで定義できる。したがって、端末は、httpレンジに基づいて期待されるセグメントを要求できる。また、URLTemplate属性は、固定部分及びレンジ情報を用いて生成される。
【0036】
本発明の第2の実施形態では、マニフェストは別途に受信される。したがって、maniボックスは使用されず、次のマニフェストはNextAaptiveControlURL属性で表される。すなわち、次のマニフェスト情報はNextAaptiveControlURLを通じてわかる。
【0037】
図5は、本発明の第3の実施形態によるマニフェスト構成を示す。
【0038】
このメカニズムにおいて、一部のセグメントは一つのファイル(メインファイル)にあり、他のセグメントは他のファイル(補助ファイル)にある。図5に示すように、セグメント1,2は一つのファイルにあり、SegmentOffset及びSegmentSize属性は、一つのファイル内にセグメント1,2の位置を示す。しかしながら、セグメント3は他のファイルにあり、セグメント3の位置はSegmentURL属性で表示される。例えば、ハイブリッドネットワークにおいて、一部のセグメントは、有線ネットワークを介してファイルから取られ、一部のセグメントは無線ネットワークを介してファイルから取られる。したがって、セグメントがメインファイルに格納される場合、SegmentOffset及びSegmentSizeは、ファイルのセグメント位置を表すために使われる。セグメントが他のファイル(補助ファイル)に格納される場合、SegmentURLは、セグメント位置を示すために使われる。
【0039】
マニフェストは、図5に示す例のようにメインファイルに格納され、独立的に格納されることもできる。
【0040】
ファイルフォーマットのマニフェストの位置は、多様に実施できる。maniボックスは、ファイルレベル内で定義されるだけでなく、他のレベルで位置することもできる。例えば、maniボックスは、moovレベルに位置できる。
【0041】
図6は、本発明の第4の実施形態によるmoovレベル又はmoovボックス内に位置したmaniボックスを示す。
【0042】
moovレベルでマニフェストボックスに関する説明は、ファイルレベル又はファイルボックス内でマニフェストボックスに関する説明、すなわち、本発明の第1の実施形態の説明と同様である。
【0043】
一般的に、moovボックスはアップデートされない。しかしながら、例えば、ライブストリームの場合に、マニフェストアップデートは要求されることもある。マニフェストアップデートが要求される場合、moovボックスは、アップデートメカニズムをサポートし、次の構成で示すようにマニフェストボックスを実行する。第1のmoovボックスでは、ノーマル(normal)なトラックボックスを除いたmaniボックスが追加される。新たなmaniボックスが要求される場合、moovボックスは、新たなmaniボックスを実行するためにアップデートされる。図6は、セグメント構成を示す。図6に示す構成は、以後に説明する場合に基づく。しかしながら、空き領域(free space)が使用される場合、図6に示す構成は、後述するケース2に基づく。
【0044】
ファイルフォーマットでのマニフェストの位置は、多様に実施できる。maniボックスは、ファイルレベル内で定義されるだけでなく、他のレベルで位置することもできる。例えば、maniボックスは、metaレベルに位置できる。
【0045】
図7は、本発明の第5の実施形態によるmetaレベル又はmetaボックス内に位置したmaniボックスを示す。
【0046】
metaレベルでマニフェストボックスに関する説明は、ファイルレベル又はファイルボックス内でマニフェストボックスに関する説明、すなわち、本発明の第1の実施形態の説明と同様である。
【0047】
一般的に、metaボックスはアップデートされない。しかしながら、例えば、ライブストリームの場合に、マニフェストアップデートは要求されることもある。マニフェストアップデートが要求される場合、metaボックスは、アップデートメカニズムをサポートし、マニフェストボックスを実行する。第1のmetaボックスでは、ノーマルなメタデータ情報ボックスを除いたmaniボックスが追加される。新たなmaniボックスが要求される場合、metaボックスは、新たなmaniボックスを実行するためにアップデートされる。図7は、セグメント構成を示す。図7に示す構成は、以後に説明するケース1に基づく。しかしながら、空き領域が使用される場合、図7に示す構成は、後述するケース2に基づく。
【0048】
新たなマニフェスト構成において、新たなmaniボックスは、上記した多様な実施形態をサポートするために提供される。多様なボックスは、提案されたmaniボックス内に含むことができる。新たに定義されたボックスは、下記の<表1>に示すようである。
【0049】
【表1】

【0050】
以後、<表1>で新たに定義されたボックスについて詳細に説明する。
【0051】
2.1 maniボックス
ボックスタイプ:“mani”
コンテナ(Container):ファイル
数量(Quantity):0以上
【0052】
このmaniボックスは、マニフェストがファイル内で転送される場合に使用される。CoD(Content on Delivery)の場合、一つのファイルが一つのmaniボックスを有する。ライブ適応的ストリーミングの場合、一つ以上のmaniボックスがあり得る。
【0053】
そのシンタックス(syntax)の一例は、次のようである。
aligned(8)class ManifestBox extends Box('mani'){
}
【0054】
2.2 mahd
ボックスタイプ:“mahd”
コンテナ:maniボックス
数量:正確に1
【0055】
このボックスは、マニフェストに関する情報を含み、そのシンタックスの一例は次のようである。
aligned(8)class ManifestHeaderBox extends FullBox('mahd'、version,0){
if(version==1){
unsignedint(64)creation_time;
unsignedint(64)modification_time;
unsignedint(32)timescale;
unsignedint(64)duration;
unsignedint(64)size;
}else{//version==0
unsignedint(32)creation_time;
unsignedint(32)modification_time;
unsignedint(32)timescale;
unsignedint(32)duration;
unsignedint(32)size;
}
}
【0056】
上記シンタックスにおいて、“version”は、現在の明細書に基づいて0又は1として表現できるマニフェストボックスのバージョンを指定する整数である。
【0057】
“creation_time”は、UTC(Coordinated Universal Time)、1904年1月1日、深夜12時以後に秒単位で、プレゼンテーションの生成時間をして公表する(declare)整数である。
【0058】
“modification_time”は、UTC時間では1904年1月1日深夜12時以後に秒単位でプレゼンテーションが変更される最近の時間を公表する整数である。
【0059】
“timescale”は、全体プレゼンテーションのための時間スケールを指定する整数であり、1秒内で通過する時間単位の数に該当する。例えば、1秒の1/60で時間を測定する時間座標系は60の時間スケールを有する。
【0060】
“duration”は、表示された時間スケールでプレゼンテーションの長さを公表する整数である。この特性は、プレゼンテーションのトラックから得られる(すなわち、このフィールドの値は、プレゼンテーションで最も長いトラックの区間に対応する)。
【0061】
“size”は、このボックスのバイトの個数を明示する整数である。
【0062】
2.3 mxml
ボックスタイプ:“mxml”
コンテナ:maniボックス
数量:正確に1
【0063】
このボックス(マニフェストMXMLボックス)は、マニフェストXMLのためのコンテナであり、そのシンタックスの例は、次のようである。
aligned(8)class MXMLBox extends FullBox('mxml'、version=0,0){
string xml;
}
【0064】
2.4 nmof
ボックスタイプ:“nmof”
コンテナ:maniボックス
数量:0又は1
【0065】
このボックス(次のマニフェストオフセットボックス)は、次のマニフェストボックスがファイル内で生成される場合に使用され、オフセット値を表し、そのシンタックスの例は、次のようである。
aligned(8)class NextManifestoffsetBox
extends FullBox('nmof'、version=0,0){
unsigned int(32)size;
}
【0066】
2.5 nmsz
ボックスタイプ:“nmsz”
コンテナ:maniボックス
数量:0又は1
【0067】
このボックス(次のマニフェストサイズボックス)は、次のmaniボックスがファイル内で生成される場合に使用され、次のmaniボックスのサイズを表し、そのシンタックスの例は、次のようである。
aligned(8)class NextManifestSizeBox extends FullBox('nmof'、version=0,0){
unsigned int(32)next_manifest_offset;
}
【0068】
セグメント構成のケース1は、図8に示す。
ライブストリームのケースで、マニフェストが生成される場合、各セグメントの長さは既に知られていることがある。すなわち、次のマニフェスト実際オフセット(next manifest actual offset:nmao)が予め決定される。したがって、各セグメントの正確なオフセットとサイズは固定され、次のマニフェストのオフセットは予測可能である。
【0069】
セグメント構成のケース2は、図9に示す。セグメント構成のケース2は、空き領域を追加的に含む。
【0070】
一部条件の下で、マニフェストが生成される場合、各セグメントの実際サイズは、知られていない。このとき、各セグメントに対する固定サイズを仮定して割り当てることができ、この固定サイズは、各セグメントに対して十分に大きくなければならない。したがって、余分のデータを搬送する空き領域は、メディアデータボックスに含まれる。セグメントが予備(reserved)領域すべてを使用しないと、空き領域は残りのサイズに対して使用される。固定サイズがすべてのセグメントに対して予備にされるため、次のマニフェストのオフセットは、以前のマニフェストボックスでわかり、表示することができる。
【0071】
図10は、本発明により、他の新たなフィールドがファイルフォーマットのマニフェストに追加できる一例を示す。
【0072】
上記した新たなフィールドに加えて、他のフィールドもマニフェストで使用され得る。
【0073】
フィールドLanguage1001,1002:異なるトラック/セグメントは、同一のサービスのために相互に異なる言語を提供できる。この場合、各トラック/セグメントの言語は、マニフェストに表示することができる。
【0074】
SubtitleLanguage1003,1004:異なるトラック/セグメントは、同一のサービスのために異なるサブタイトル言語を提供できる。この場合、各トラック/セグメントのサブタイトル言語は、マニフェストに表示することができる。
【0075】
AccessNetwork1005,1006:本発明の第3の実施形態で、 AccessNetworkが説明される。ハイブリッドネットワークで、トラック/セグメントは相互に異なるネットワークから来ることができる。したがって、この情報は、アクセスする適当なネットワークを選択するように端末を助けるためにマニフェストに表示することができる。
【0076】
CameraAngle1007,1008:異なるカメラ角度が同一のサービスのために提供され得る。端末は、マニフェストから特定カメラ角度を有する一つのトラック/セグメントを選択できる。
【0077】
図11は、端末によりファイル再生方法を示すフローチャートである。
【0078】
端末は、ステップ1100で、マニフェストがデータファイルから独立されるか否かを判定する。マニフェストがデータファイルから独立した場合、端末は、ステップ1110でそのマニフェストを要求して獲得する。しかしながら、マニフェストが同一のファイルにある場合には、端末は、ステップ1112で、マニフェストボックスにアクセスしてマニフェストの情報を獲得する。
【0079】
端末は、ステップ1114で、マニフェストを分析して各トラックの異なるビットレートを獲得する。端末は、ステップ1116で、現在の状態に基づいて適当なトラックセグメントを選択する。
【0080】
端末は、ステップ1118で、moovボックスを分析してヘッダー情報を得ることができる。本発明の第2の実施形態によると、端末は、ヘッドオフセットに関する情報とヘッドサイズに関する情報を用いてmoovボックスにアクセスできる。
【0081】
以後、端末は、ステップ1120で、セグメントが同一のファイル又は異なるファイルにあるか否かを判定する。
【0082】
セグメントが同一のファイルにある場合、端末は、ステップ1122で、SegmentOffset及びSegmentSize属性に基づいてセグメントを要求し、セグメントを復号化して再生する。
【0083】
セグメントが異なるファイルにある場合に、端末は、ステップ1124で、SegmentURL、SegmentOffset、及びSegmentSize属性に基づいてセグメントを要求し、セグメントを復号化して再生する。
【0084】
ステップ1122及び1124以後、端末は、ステップ1126で、端末がサービスを継続して所望するか否かを判定する。
【0085】
端末がサービスの継続を望まない場合、端末は、上記プロセスを終了する。端末がサービスの継続を望む場合には、端末は、ステップ1128に進行する。
【0086】
端末は、ステップ1128で、新たなマニフェストが必要であるか否かを判定する。新たなマニフェストが必要である場合、例えば、ライブストリームの場合、端末は、新たなマニフェストを獲得しなければならない。
【0087】
端末は、ステップ1130で、新たなマニフェストが同一のファイルにあるか否かを判定する。新たなマニフェストが同一のファイルにある場合、端末は、ステップ1112に進行して次のマニフェストオフセットボックス及び次のマニフェストサイズボックスに基づいてマニフェストを獲得する。しかしながら、ステップ1130での判定の結果、新たなマニフェストが異なるファイルにある場合には、端末は、ステップ1110に進行して、NextAdaptiveControlURL属性に基づいてサーバからマニフェストを獲得する。新たなマニフェストボックスを獲得した後、端末は、これを分析して上記したステップを反復する。
【0088】
ステップ1128の結果、新たなマニフェストが必要でない場合、端末は、ステップ1132で、その現在状態に基づいて次のセグメントを継続して要求し、ステップ1134で、上記セグメントを受信して復号化及び再生する。すると、端末は、サービスを継続して所望するか否かを判定し、上記ステップを反復する。
【0089】
上記した端末動作は、本発明のすべての実施形態に適用できることはもちろんである。
【0090】
図12は、サーバの動作を示すフローチャートである。
【0091】
サーバは、ステップ1200で、マニフェストを生成するためにサービス情報を収集する。
【0092】
ステップ1210で、サーバは、マニフェストが他のサービスデータと同一のファイルにあるか否かを判定する。
【0093】
マニフェストが独立的である場合、すなわち、マニフェストが他のサービスデータと異なるファイルにある場合、サーバは、ステップ1212で、一つのURLを有し、独立的なマニフェストを生成する。ステップ1214で、サーバが端末からマニフェスト要求を受信する場合、サーバは、一つのURLに基づいて生成されたマニフェストを端末に伝送する。
【0094】
端末は、このマニフェストを分析した後、期待したセグメントの提供をサーバに要求する。
【0095】
サーバがセグメントに対する要求を受信する場合、サーバは、ステップ1219で、ヘッド情報を用いてmoovボックスを生成し、ステップ1220で、端末により要求されたセグメント及びmoovボックスを端末に伝送する。したがって、セグメント要求を端末から受信すると、サーバは、期待したセグメントを端末に伝送する。
【0096】
ステップ1210での判定の結果、マニフェストが他のサービスデータと同一のファイルに存在する場合、サーバは、ステップ1218で、ファイル内にマニフェストボックスを生成する。その後、生成されたマニフェストが端末によってダウンロードされる。サーバがセグメントに対する要求を受信する場合、サーバは、ステップ1219で、ヘッド情報を用いてmoovボックスを生成し、ステップ1220で、端末により要求されたセグメント及びmoovボックスを端末に伝送する。すなわち、セグメント要求を端末から受信すると、サーバは、期待したセグメントを端末に伝送する。あるいは、ステップ1218で生成されたマニフェストボックスは、ステップ1219で生成されたmoovボックスとユーザーに転送されるセグメントと一緒に、一つのファイルに組合されて端末に伝送される。上記したサーバ動作は、本発明のすべての実施形態に適用することができる。
【0097】
図13は、端末のブロック構成図である。
【0098】
端末1300は、マニフェストパーサ(parser)1310、ファイルパーサ1320、及びデコーダ1330を含む。
【0099】
マニフェストパーサ1310は、moovボックス及びメディアデータボックスと独立的である場合、マニフェストを獲得して分析する。さらに、ファイルパーサ1320は、マニフェストボックス以外に、moovボックス及び多様な他のボックスを含む他のボックスを要求して分析する。マニフェストパーサ1310は、マニフェストがファイル内にある場合、ファイル内にマニフェストボックスを検出して分析する。
【0100】
ファイルパーサ1320は、ファイル内に他のボックス及びmdatを分析する。すると、端末は、期待したセグメントを要求して、復号化及び再生する。
【0101】
図14は、サーバのブロック構成図である。
【0102】
サーバ1400は、サービスデータ提供部1410、マニフェスト生成器1412、及びファイル生成器1414を含む。
【0103】
サーバ1400のサービスデータ提供部1410は、すべてのサービスソースを有する。
【0104】
図に示されていない制御部は、端末からマニフェスト要求を受信し、マニフェストが独立的であるか否かを判定する。
【0105】
マニフェスト生成器1412は、マニフェストがデータファイルから独立的である場合、ファイルからサービスデータと一部情報(例えば、セグメントの位置)に基づいてマニフェスト情報を生成する。
【0106】
ファイル生成器1414は、マニフェストがファイル内部にある場合、マニフェストボックスがファイル内に含まれるようにファイルを生成する。マニフェストがデータファイルから独立的である場合、マニフェストファイルを除いた他のファイルは、moovボックス及びセグメントを含むように生成される。
【0107】
さらに、図示されていないが、本発明の実施形態により生成されたファイルフォーマットに従ってデータを記録、格納、及び再生することができる。すなわち、一つのファイル内にマニフェストが含まれた場合、格納媒体(例えば、CD、DVD、BD、又はUSB)に、一つのファイル内に複数のセグメント及びmoovボックス及びmaniボックスを含むように格納し、まずmaniボックスを読み取って解析することによってセグメントを再生できる。また、他のセグメントとmoovボックスのファイルと異なる別途のファイルにマニフェストを格納し、別途のファイルに格納されたmaniボックスをまず読み取って解析することで、所望のデータを含むセグメントを再生することができる。格納媒体が格納及び再生に採用される場合、本発明の実施形態で上記したURL情報は、格納位置情報(例えば、メモリアドレス)により代替されて容易に格納及び再生することができる。
【0108】
以上、本発明の詳細な説明においては具体的な実施形態に関して説明したが、特許請求の範囲の記載及びこれと均等なものに基づいて定められる本発明の範囲及び趣旨を逸脱することなく、形式や細部の様々な変更が可能であることは、当該技術分野における通常の知識を持つ者には明らかである。
【符号の説明】
【0109】
1310 マニフェストパーサ
1320 ファイルパーサ
1330 デコーダ

【特許請求の範囲】
【請求項1】
サーバにおけるファイル伝送方法であって、
マニフェストボックス、moovボックス、及びメディアデータボックスを含む一つ以上のセグメントを一つのファイルに生成するステップと、
生成された一つのファイルを端末に伝送するステップと、
を有することを特徴とする方法。
【請求項2】
サーバにおけるファイル生成装置であって、
マニフェスト情報を伝送するためのマニフェストボックス、moovボックス、及びメディアデータボックスを含むセグメントを生成する生成部と、
前記マニフェストボックス、moovボックス、及びメディアデータボックスを端末に伝送する伝送部と、を含み、
前記マニフェストボックス、moovボックス、及びセグメントは一つのファイルに伝送されることを特徴とする生成装置。
【請求項3】
端末におけるファイル再生方法であって、
サーバからマニフェストボックス、moovボックス、及びセグメントを受信して分析するステップと、
前記マニフェストボックス、moovボックス、及びセグメントの分析結果に基づいて復号化及び再生を遂行するステップと、を有し、
前記マニフェストボックス、moovボックス、及びセグメントは一つのファイルに含まれることを特徴とする再生方法。
【請求項4】
端末におけるファイル再生装置であって、
サーバからマニフェストボックス、moovボックス、及びセグメントを受信して分析するパーサと、
前記マニフェストボックス、moovボックス、及びセグメントの分析結果に基づいて復号化するデコーダと、を含み、
前記マニフェストボックス、moovボックス、及びセグメントは一つのファイルに含まれることを特徴とする再生装置。
【請求項5】
データ構成を格納可能な記録媒体であって、
マニフェスト情報を伝送するマニフェストボックスと、
moovボックスと、
メディアデータボックスを含む一つ以上のセグメントと、を含み、
前記マニフェストボックス、moovボックス、及び一つ以上のセグメントが一つのファイルに含まれることを特徴とする記録媒体。
【請求項6】
前記マニフェスト情報は、前記一つ以上のセグメントのオフセット及びサイズ情報を含むことを特徴とする請求項1に記載の方法、請求項2に記載の生成装置、請求項3に記載の再生方法、請求項4に記載の再生装置、及び請求項5に記載の記録媒体。
【請求項7】
前記マニフェスト情報は、次のマニフェストオフセット及び次のマニフェストサイズに関する情報を含むことを特徴とする請求項1に記載の方法、請求項2に記載の生成装置、請求項3に記載の再生方法、請求項4に記載の再生装置、及び請求項5に記載の記録媒体。
【請求項8】
前記一つのファイルは伝送されるセグメントのうち一部セグメントを含み、前記一つのファイルから独立したファイルは伝送されるセグメントのうち残りのセグメントを含むことを特徴とする請求項1に記載の方法、請求項2に記載の生成装置、請求項3に記載の再生方法、請求項4に記載の再生装置、及び請求項5に記載の記録媒体。
【請求項9】
前記一部セグメントの位置は、前記一部のセグメントのオフセット情報及びサイズ情報で表され、前記残りのセグメントの位置はSegmentURL属性で表されることを特徴とする請求項8に記載の方法、請求項8に記載の生成装置、請求項8に記載の再生方法、請求項8に記載の再生装置、及び請求項8に記載の記録媒体。
【請求項10】
前記マニフェストボックスは前記moovボックスに格納されることを特徴とする請求項1に記載の方法、請求項2に記載の生成装置、請求項3に記載の再生方法、請求項4に記載の再生装置、及び請求項5に記載の記録媒体。
【請求項11】
前記一つのファイルはメタデータボックスをさらに含み、前記マニフェストボックスは前記メタデータボックスに格納されることを特徴とする請求項1に記載の方法、請求項2に記載の生成装置、請求項3に記載の再生方法、請求項4に記載の再生装置、及び請求項5に記載の記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公表番号】特表2013−518507(P2013−518507A)
【公表日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願番号】特願2012−551104(P2012−551104)
【出願日】平成23年3月4日(2011.3.4)
【国際出願番号】PCT/KR2011/001526
【国際公開番号】WO2011/108893
【国際公開日】平成23年9月9日(2011.9.9)
【出願人】(503447036)サムスン エレクトロニクス カンパニー リミテッド (2,221)
【Fターム(参考)】