(58)【調査した分野】(Int.Cl.,DB名)
前記第1ファイルは、XML(eXtensible Markup Language)ファイルであり、前記第1コンテンツの再生区間に対する第1タグ、及び前記第2コンテンツの再生区間に対する第2タグを含み、
前記第1タグ及び前記第2タグは、該当するタグが前記第1コンテンツの再生区間に対するタグであるか、または前記第2コンテンツの再生区間に対する前記第2タグであるかを表す属性をそれぞれ含むことを特徴とする請求項1に記載のメディアデータ再生方法。
前記第2コンテンツの開始時間属性に基づいた前記第2コンテンツの第2メディアデータを再生する段階をさらに含むことを特徴とする請求項1に記載のメディアデータ再生方法。
前記第1ファイルを受信する段階は、前記第1ファイルを、HTTP要請に対するHTTP応答として受信する段階を含むことを特徴とする請求項1に記載のメディアデータ再生方法。
【発明を実施するための最良の形態】
【0019】
以下では、図面を参照して本発明の実施形態を詳細に説明する。
【0020】
図1は、本発明の一実施形態によるストリーミングシステムを示す。
【0021】
図1を参照すれば、本発明の一実施形態によるストリーミングシステム100は、エンコーディング装置110、サーバ120及びクライアント130を備える。
【0022】
エンコーディング装置110は、入力されたコンテンツを複数の相異なる品質でエンコーディングして、一つのコンテンツに対する複数のメディアデータを生成する。サーバ120がクライアント130にメディアデータをストリーミングする時、ストリーミング環境は変更できる。例えば、ストリーミングのためのネットワーク140の帯域幅が変更されてもよく、メディアデータを伝送するためにサーバ120が使用できるハードウェア資源、またはメディアデータを受信するためにクライアント130が使用できるハードウェア資源が変更されてもよい。
【0023】
したがって、エンコーディング装置110は、流動的なストリーミング環境による適応的なストリーミングのために、一つのコンテンツを複数の相異なる品質でエンコーディングする。ビット率またはサンプリング周波数または解像度またはフレーム率などの因子を調節することで、一つのコンテンツを複数の相異なる品質でエンコーディングできる。例えば、一つの動映像コンテンツを相異なる解像度でエンコーディングして、500Kbps、1000Kbps及び2000Kbpsの複数のメディアデータを生成できる。
【0024】
相異なる品質でエンコーディングされた複数のメディアデータはサーバ120に伝送され、この時、コンテンツ情報及び複数のメディアデータそれぞれについての情報も共にサーバ120に伝送される。コンテンツ情報は、コンテンツのメタデータとしてコンテンツの題目(title)、シノプシス(synopsis)、コンテンツ識別子(Content ID)、コンテンツURL(Uniform Resource Locator)などの情報を含む。複数のメディアデータについての情報は、それぞれのメディアデータの品質、類型及び識別子などを含むことができるが、これについては、
図4Aないし
図4Cを参照して詳細に説明する。
【0025】
クライアント140は、コンテンツ情報及び複数のメディアデータについての情報のうち少なくとも一つを受信し、これに基づいてサーバ120に、複数のメディアデータのうち少なくとも一つのメディアデータを要請する。クライアント130は、ストリーミング環境を推定(estimation)し、推定されたストリーミング環境に基づいて複数のメディアデータのうち少なくとも一つのメディアデータを選択する。推定されたストリーミング環境で適宜なQoSを維持できる少なくとも一つのメディアデータを選択できる。次いで、クライアント130は、選択された少なくとも一つのメディアデータの伝送を要請するHTTP要請(request)をサーバ120に伝送できる。
【0026】
ストリーミング環境が劣化して高品質のメディアデータを受信すれば、メディアデータを再生し続けられない場合には、複数のメディアデータのうち低品質のメディアデータを要請し、ストリーミング環境が改善されて高品質のメディアデータを受信しても、メディアデータを再生し続けられる場合には、複数のメディアデータのうち高品質のメディアデータを要請できる。
【0027】
所定のメディアデータの受信中に、他のメディアデータの伝送をサーバ120に要請してもよい。例えば、ストリーミング環境が劣化した状態で、低品質の第1メディアデータを要請して受信しているクライアント130は、ストリーミング環境の改善につれてさらに高品質の第2メディアデータの伝送をサーバ120に要請できる。従来の技術によるストリーミング方法によれば、サーバ120とクライアント130とがストリーミングチャネルを最初に設定する時、品質を一度設定すれば、同じ品質でメディアデータを送受信し続けねばならなかった。しかし、本願発明によれば、クライアント130が低品質の第1メディアデータの受信中にも、同じコンテンツに対するさらに高品質の第2メディアデータを再び要請することができて、ストリーミング環境による適応的なストリーミングが可能になる。
【0028】
ネットワーク140の帯域幅及びサーバ120またはクライアント130の使用可能なハードウェア資源に基づいてストリーミング環境を推定する多様な方法が、クライアント130がストリーミング環境を推定するところに用いられる。例えば、クライアント130は、受信されるメディアデータのタイムスタンプ及びBER(Bit Error Rate)に基づいてストリーミング環境を推定できる。受信されるメディアデータのタイムスタンプを確認して、メディアデータが再生速度より遅い速度で受信されていれば、ストリーミング環境が劣化していると判断できる。また、受信されるメディアデータのBERが高くなっても、ストリーミング環境が劣化していると判断できる。
【0029】
クライアント130が、ストリーミング環境によって複数のメディアデータのうち少なくとも一つのメディアデータの伝送を要請すれば、サーバ120は、要請されたメディアデータをクライアント130に伝送する。HTTP要請に対するHTTP応答として、要請されたメディアデータをクライアント130に伝送できる。
【0030】
複数のメディアデータそれぞれは、コンテンツを相異なる品質でエンコーディングし、分割して生成された複数の部分のうち少なくとも一つを含む。言い換えれば、エンコーディング装置110のエンコーディング結果で生成された複数のメディアデータそれぞれは、時間に基づいて分割された少なくとも一つの部分をそれぞれ含む。サーバ120は、コンテンツを一つのストリームでエンコーディングして連続して伝送するものではなく、複数の部分に分割してそれぞれ伝送する。コンテンツを10秒または20秒などの所定の時間単位でコンテンツを分割して、複数の部分を生成できる。分割の基礎になる時間は、GOP(Group of Picture)に基づいて設定される。一つまたは二つ以上のGOPのピクチャーに対応するメディアデータを一つの部分に設定できる。
【0031】
例えば、2種の品質でコンテンツがストリーミングされる場合、第1メディアデータはコンテンツを第1品質でエンコーディングし、時間に基づいて分割して生成された少なくとも一つの部分を含むことができ、第2メディアデータは、コンテンツを第2品質でエンコーディングし、時間に基づいて分割して生成された少なくとも一つの部分を含む。
【0032】
複数のメディアデータを時間に基づいてそれぞれ分割することで、前述した適応的なストリーミングが可能になる。例えば、ストリーミングが始まれば、サーバ120は品質の低い第1メディアデータの0秒〜20秒に該当する部分を伝送する。次いで、20秒以後にストリーミング環境が改善されたと判断されて、クライアント130がさらに高品質のメディアデータを要請すれば、サーバ120は、さらに品質の高い第2メディアデータの20秒〜40秒に該当する部分を伝送できる。メディアデータが時間に基づいて複数の部分に分割されているため、ストリーミング途中でもストリーミング環境によって相異なるメディアデータの部分を伝送できる。
【0033】
図2Aは、本発明の一実施形態によるストリーミング方法を説明するためのフローチャートである。
【0034】
図2Aを参照すれば、段階210で、クライアント130は所定のコンテンツ情報の伝送をサーバ120に要請する。クライアント130のユーザが、クライアント130の画面に表示されたユーザインターフェースで所定のコンテンツを選択すれば、選択されたコンテンツ情報の伝送をサーバ120に要請する。クライアント130は、コンテンツ情報の伝送を要請するHTTP要請をサーバ120に伝送できる。
【0035】
クライアント130から要請を受信したサーバ120は、クライアント130にコンテンツ情報を伝送する。HTTP要請に対するHTTP応答として、コンテンツ情報をクライアント130に伝送できる。コンテンツ情報は、OIPF(Open IPTV Forum)標準によるCAD(Content Access Descriptor)でありうる。
図3を参照して詳細に説明する。
【0036】
図3は、本発明の一実施形態によるコンテンツ情報を含むファイルのスキーマ(schema)を図示する。コンテンツ情報を含むファイルはCADであり、XML(eXtensible Markup Language)ファイルでありうる。以下、本発明の詳細な説明では、タグ(tag)及び属性(attribute)を区分して説明するが、本発明の詳細な説明でタグにより定義される項目を、タグではない属性により定義するか、または本発明の詳細な説明で属性により定義される項目を、属性ではないタグにより定義することができるということは、当業者ならば容易に理解できる。
【0037】
図3を参照すれば、コンテンツ情報は、’Title’、’Synopsis’、’OriginSite’、’ContentURL’タグなどを含む。
【0038】
従来の技術によるメディアデータのストリーミングは、一つのコンテンツを所定の品質でエンコーディングして一つのメディアデータを生成するので、従来の技術によるコンテンツ情報(特に、OIPFによるCAD)は、コンテンツを相異なる品質でエンコーディングして生成された複数のメディアデータについての情報を含まない。
【0039】
しかし、本発明の一実施形態によるコンテンツ情報は、一つのコンテンツを相異なる品質でエンコーディングして生成された複数のメディアデータについての情報を含むところ、
図3に示した実施形態の’Tracks’、’RefData’及び’Fragments’タグがこれに該当する。
【0040】
図4Aは、本発明の一実施形態による複数のメディアデータを定義するための情報を図示する。
【0041】
図4Aを参照すれば、’Tracks’タグは、コンテンツを相異なる品質でエンコーディングして生成された複数のメディアデータを区分するための情報である。’Tracks’タグは、複数のメディアデータそれぞれに割り当てられた’ID’属性(attribute)、’Type’属性及び’Bitrate’属性を含む。
【0042】
’ID’属性は、メディアデータに対して順次に付与される識別子を定義し、’Type’属性は、メディアデータのオーディオデータ、ビデオデータ、ビデオ/オーディオデータ、字幕データのうちいかなるデータに該当するかを定義する。’Type’属性が’Packed’ならば、メディアデータがビデオ/オーディオデータであることを、’Type’属性が’Video’ならば、メディアデータがビデオデータであることを表す。’Bitrate’属性はメディアデータのエンコーディングに用いられたビット率を定義する。
【0043】
図4Bは、本発明の一実施形態によるメディアデータのヘッダについての情報を図示する。
【0044】
図4Bを参照すれば、’RefData’タグは’Type’属性及び’ID’属性を含む。’Type’属性は、ヘッダがいかなるメディアフォーマットのヘッダであるかを定義する。例えば、’Type’属性が’HEAD−TS’ならば、ヘッダが伝送ストリーム(transport stream)フォーマットのヘッダであることを表す。’ID’属性は、ヘッダが複数のメディアデータのうちいかなるメディアデータのヘッダであるかを定義する。’ID’属性が’1’ならば、メディアデータ識別子が’1’であるメディアデータに対するヘッダであることを表す。また、’RefData’タグはヘッダを指示(pointing)する情報を含むところ、’URL’タグはヘッダの位置、すなわち、URLを定義する。
【0045】
’RefData’タグは選択的な要素である。ヘッダがメディアデータと分離されて別途のファイルに存在する場合にのみ、コンテンツ情報に’RefData’タグが含まれ、メディアデータと結合されて存在する場合には、コンテンツ情報に’RefData’タグが含まれない可能性がある。
【0046】
図4Cは、本発明の一実施形態による複数のメディアデータそれぞれに含まれた少なくとも一つの部分についての情報を含む。
【0047】
図4Cを参照すれば、’Fragments’タグの下位タグである’Fragment’タグに、複数のメディアデータそれぞれに含まれた少なくとも一つの部分についての情報が含まれる。
【0048】
’Fragments’タグは、’NextFragmentsXMLURL’属性を含む。ライブストリーミングなどの一つのコンテンツストリーミングが完了すれば、次のコンテンツが続いてストリーミングされる場合には、次にストリーミングされるコンテンツ情報をクライアント130が予め知っていて初めて、コンテンツをストリーミングし続けることができる。したがって、’Fragments’タグは、次にストリーミングされるコンテンツ情報を’NextFragmentsXMLURL’属性と定義する。次にストリーミングされるコンテンツに対する複数のメディアデータのURLが、’NextFragmentsXMLURL’属性と定義できる。
【0049】
’Fragment’タグは、現在ストリーミングされるコンテンツの少なくとも一つの部分についての情報を含む。
図4Cに示した実施形態を例として説明すれば、第1メディアデータとして、コンテンツを第1品質でエンコーディングして生成された最初の部分である’slice1−1.as’のURL情報が’URL’タグにより定義され、対応するヘッダの識別子が’RefPointer’タグにより定義される。また、最初の部分の開始時刻が’StartTime’属性により定義され、それぞれの部分の持続時間が’Duration’属性により定義される。第1メディアデータの品質は’BitRate’属性により定義される。
【0050】
図4Cに示した実施形態では、’Fragments’タグは、それぞれのメディアデータが一つの部分のみ含む場合を図示した。しかし、当業者は、
図1と関連して前述したように、それぞれのメディアデータが複数の部分に分割される場合、一つの’Fragments’タグが2つ以上の部分についての情報を含むことができるということがすぐ分かる。
【0051】
再び
図2Aを参照すれば、段階220でクライアント130は、複数のメディアデータのうち少なくとも一つのメディアデータの伝送をサーバ120に要請する。複数のメディアデータは、一つのコンテンツを相異なる品質でエンコーディングして生成された複数のメディアデータである。クライアント130は、複数のメディアデータのうちストリーミング環境に好適な品質で符号化された少なくとも一つのメディアデータを選択してサーバ120に要請する。クライアント130は、コンテンツ情報に含まれた複数のメディアデータについての情報に基づいて、HTTP要請をサーバ120に伝送できる。
【0052】
コンテンツ情報は、
図4Cと関連して前述したように’Fragments’タグを含んでいる。したがって、クライアント130は、’Fragments’タグに含まれたURL情報に基づいて選択されたメディアデータの伝送をサーバ120に要請する。
【0053】
クライアント120の要請に応じて、サーバ120はメディアデータを伝送する。要請されたメディアデータの少なくとも一つの部分をクライアント120に伝送できる。HTTP要請に対するHTTP応答として、要請されたメディアデータをクライアント120に伝送できる。
【0054】
図2Bは、本発明のさらに他の実施形態によるストリーミング方法を説明するためのフローチャートである。
図2Bは、ヘッダがメディアデータと分離されて別途のファイルで存在する場合のストリーミング方法を図示する。
【0055】
図2Bを参照すれば、段階212でクライアント130は、所定のコンテンツ情報の伝送をサーバ120に要請し、サーバ120からコンテンツ情報を伝送する。
図2Aの段階210に図示される。
図4Bと関連して前述した’RefData’タグを含むコンテンツ情報を受信する。
【0056】
段階222でクライアント130は、段階210で受信されたコンテンツ情報に基づいて、複数のメディアデータのうち選択されたメディアデータのヘッダを要請する。段階212で受信されたコンテンツ情報に基づいて、複数のメディアデータのうちストリーミング環境に好適な少なくとも一つのメディアデータを選択し、選択されたメディアデータのヘッダを要請する。段階212で受信されたコンテンツ情報に含まれた’RefData’タグを参照して、選択されたメディアデータのヘッダを要請する。
【0057】
サーバ120は、要請されたメディアデータのヘッダをクライアント130に伝送する。ヘッダファイルをクライアント130に伝送でき、ヘッダファイルはXMLファイルでありうる。
【0058】
段階232でクライアント130は、段階212で受信されたコンテンツ情報及び段階222で受信されたヘッダに基づいて選択されたメディアデータの伝送をサーバ120に要請する。メディアデータを時間に基づいて分割して生成された少なくとも一つの部分の伝送をサーバ130に要請し、サーバ120は、要請された少なくとも一つの部分をクライアント130に伝送する。
【0059】
図5Aは、本発明のさらに他の実施形態によるストリーミング方法を説明するためのフローチャートである。
【0060】
図5Aを参照すれば、段階510でクライアント130は、所定のコンテンツ情報の伝送をサーバ120に要請し、サーバ120からコンテンツ情報を伝送する。所定のコンテンツ情報の伝送を要請するHTTP要請をサーバ120に伝送し、これに対するHTTP応答としてコンテンツ情報を受信する。コンテンツ情報を含むXMLファイルを受信することができる。段階510でクライアント130が受信するコンテンツ情報は、
図2の段階210でクライアント130が受信するコンテンツ情報と異なるところ、
図6及び7を参照して詳細に説明する。
【0061】
図6は、本発明のさらに他の実施形態によるコンテンツ情報を含むファイルのスキーマを示す図面である。
【0062】
図6を参照すれば、本発明の一実施形態によるコンテンツ情報は、
図3と同様に’Title’、’Synopsis’、’OriginSite’、’ContentURL’タグなどを含む。
【0063】
しかし、
図3に示した実施形態では、コンテンツ情報が’Tracks’、’RefData’及び’Fragments’タグを含むことで、複数のメディアデータについての情報も共に含むのに対し、
図6に示した実施形態では、コンテンツ情報が複数のメディアデータについての情報を含むものではなく、複数のメディアデータについての情報を含むファイル(以下、Media Presentation Description:’メディア表現記述’という。)のURLのみ定義することが異なる。’ContentURL’タグによりメディア表現記述のURLが定義される。
【0064】
図6に示したように、従来の技術による多様なコンテンツ情報ファイルのスキーマをあまり変更せず、メディア表現記述のURLのみコンテンツ情報ファイルに挿入することで、多様なメディアデータフォーマットとの互換性を維持しつつ、ストリーミング環境に適応的なストリーミングが可能になる。
【0065】
図6に示したところによれば、コンテンツ情報は複数のメディアデータについての情報は含まず、ストリーミング方法と関連する情報のみ含む。言い換えれば、’ContentURL’タグは、ストリーミングに用いられるメディアデータのフォーマットを定義する’MediaFormat’属性、メディアデータの種類を定義する’MIMEType’属性などを含む。
【0066】
特に、’ContentURL’タグは、コンテンツのストリーミングがいかなるサービスと関連しているかを定義する’TransferType’属性を含む。’TransferType’属性は、コンテンツのストリーミングがCoD(Content on Delivery)サービス、生中継(Live)、適応ストリーミング生中継(Adaptive Streaming Live)及び適応ストリーミングCoD(Adaptive Streaming CoD)のうちいかなるサービスと関連するかを定義できる。
【0067】
図7は、本発明のさらに他の実施形態によるコンテンツ情報を図示する。
図7は、OIPF標準によるCADでありうる。
【0068】
図7を参照すれば、
図6に示したスキーマによって生成されたコンテンツ情報は、’ContentURL’タグにメディア表現記述のURLが定義される。’http://asexample.com/vod/movies/18888/Meta/MainMeta.xml’が、メディア表現記述のURLである。また、
図6と関連して前述したように、’MediaFormat’属性、’MIMEType’属性及び’TransferType’属性などが’ContentURL’タグに定義される。
【0069】
再び
図5Aを参照すれば、段階520でクライアント130は、段階510で受信されたコンテンツ情報に基づいて、複数のメディアデータについての情報をサーバ120に要請する。メディア表現記述をHTTP要請を通じてサーバ120に要請し、HTTP応答としてメディア表現記述を受信できる。
【0070】
段階510でクライアント130がサーバ120から受信したコンテンツ情報は、
図6及び7と関連して前述したようにメディア表現記述のURL情報を含むことができるところ、クライアント130は、コンテンツ情報の’ContentURL’タグを参照してメディア表現記述をサーバ120に要請して受信する。メディア表現記述について、
図8A及び
図8B、
図9Aないし
図9Gを参照して詳細に説明する。
【0071】
図8A及び
図8Bは、本発明の一実施形態によるメディア表現記述のスキーマを示す図面である。メディア表現記述は、OIPF標準によるメディア表現記述でありうる。
【0072】
図8Aを参照すれば、本発明の一実施形態によるメディア表現記述は、複数のメディアデータのURLに対するテンプレート(template)タグ、ヘッダの位置を定義するためのタグ、ストリーミングがいかなるサービスと関連しているか定義するためのタグ、メディアデータコンテナ(container)フォーマットを定義するためのタグ及び複数のメディアデータを定義するためのタグを含む。
【0073】
’urlTemplate’タグは、複数のメディアデータについてのURL情報の共通部分を定義する。例えば、’http://example.com/vod/movie/18888/Track/{TrackID}/Segments/{SegmentID}’がURLテンプレートならば、’TrackID’及び’SegmentID’に、複数のメディアデータそれぞれの識別子及びそれぞれのメディアデータに含まれた少なくとも一つの部分の識別子を代入することで、メディアデータに対するURLを定義できる。
【0074】
’headerUrl’タグは、
図4Bと関連して前述した’RefData’タグに対応する。言い換えれば、複数のメディアデータのヘッダURLを定義する。
【0075】
’isLive’タグは、ストリーミングがいかなるサービスと関連しているかを定義するタグである。例えば、’isLive’タグが’Live’と定義されれば、ストリーミングが生放送サービスと関連していることを表し、’isLive’タグが’CoD’と定義されれば、ストリーミングがCoDサービスと関連していることを表す。
【0076】
’contentType’タグは、ストリーミングに用いられるメディアデータのコンテナフォーマットを定義する。メディアデータのコンテナフォーマットがMP4フォーマットであるか、またはMPEG2−TSフォーマットであるかを表すための情報でありうる。本発明の詳細な説明では、メディアデータのコンテナフォーマットがMP4フォーマットまたはMPEG2−TSフォーマットである場合を例として説明する。しかし、コンテナフォーマットはこれに限定されず、メディアデータの伝送のためのあらゆるコンテナフォーマットが本発明に適用できるということは、当業者ならば容易に理解できるであろう。例えば、前記’contentType’タグは、メディアデータのコンテナフォーマットがMMT(MPEG Media Transport)標準によるフォーマットであることを定義してもよい。
【0077】
’Stream’タグは、複数のメディアデータそれぞれに対して生成され、複数のメディアデータそれぞれを定義する。一つのコンテンツを相異なる品質でエンコーディングして生成された複数のメディアデータそれぞれを定義するために、’streamName’属性、’type’属性、’bitrate’属性、’startTime’属性、’firstIntervalNum’属性、’duration’属性、及び’intervalCount’属性を含む。
【0078】
’streamName’属性は、メディアデータの名称を定義する。メディアデータの識別子でありうる。’type’属性は、メディアデータの類型を定義する。メディアデータがオーディオデータ、ビデオデータ及びオーディオ/ビデオデータのうちいかなるメディアのデータであるかを定義する。メディアデータが変速再生(trick play)のためにIフレームについてのデータのみ含む場合には、これについての情報が’type’属性で定義される。
【0079】
’Bitrate’属性は、メディアデータのビット率を定義し、’startTime’属性は、メディアデータの開始時刻を特定するタイムスタンプを定義し、’firstIntervalNum’属性は、最初に始まる部分の番号を定義する。
【0080】
’duration’属性は、メディアデータに含まれた部分の持続時間を定義し、’intervalConunt’属性は、メディアデータに含まれた少なくとも一つの部分の全体数を定義する。
【0081】
’Segment’タグは、’Stream’タグの下位タグであり、メディアデータが前述したようにコンテンツを所定の品質でエンコーディングし、時間に基づいて分割して生成された少なくとも一つの部分ならば、このような少なくとも一つの部分それぞれを定義する。
【0082】
’IntNum’属性は、部分の番号を定義し、’StartTime’は、該当部分の開始時刻を定義する。’Duration’は、該当部分の持続時間を定義し、’url’は、該当部分のURL情報を定義する。
【0083】
’Segment’タグは選択的なタグであり、メディアデータに含まれた少なくとも一つの部分についての情報が’Stream’タグの他の属性から類推できる場合には、メディア表現記述に含まれない。言い換えれば、’Stream’タグに定義された’startTime’、’firstIntervalNum’、’duration’及び’intervalCount’属性によって’Stream’タグから類推できる場合には、メディア表現記述に含まれない。また、’urlTemplate’タグに所定のテンプレートが定義されており、このように定義されたテンプレートに、複数のメディアデータそれぞれの識別子及びそれぞれのメディアデータに含まれた少なくとも一つの部分の識別子を代入することで、部分のURL情報を類推できれば、’Segment’タグの’url’属性は不要である。
【0084】
図8Bを参照すれば、本発明のさらに他の実施形態によるメディア表現記述は’nextManifestURL’タグをさらに含む。前述したように、ライブストリーミングまたは広告の挿入のように一つのコンテンツストリーミングが完了すれば、次のコンテンツが続いてストリーミングされる場合には、次にストリーミングされるコンテンツ情報をクライアント130が予め知っていて初めて、コンテンツをストリーミングし続けられるので、現在ストリーミング中のコンテンツの次にストリーミングされるコンテンツのメディア表現記述のURL情報が、’nextManifestURL’タグにより定義される。
【0085】
図9Aないし
図9Hは、本願発明の一実施形態によるメディア表現記述を図示する。
【0086】
図9Aを参照すれば、本発明の一実施形態によるメディア表現記述は、’URLTemplate’タグ、’RefDataURL’タグ及び複数のメディアデータそれぞれを定義する複数のタグを含む。
【0087】
’URLTemplate’タグ及び’RefDataURL’タグは、それぞれ
図8A及び
図8Bの’urlTemplate’タグ及び’RefDataURL’タグに対応する。
【0088】
’ID’属性、’Type’属性、’BitRate’属性、’StartTime’属性、’SegmentDuration’属性、’SegmentStartID’属性及び’SegmentCount’属性は、それぞれ
図8A及び
図8Bの’streamName’属性、’type’属性、’bitrate’属性、’startTime’属性、’Stream’タグの’duration’属性、’Stream’タグの’firstIntervalNum’属性及び’intervalCount’属性に対応する。
【0089】
図9Aに示したメディア表現記述は、コンテンツを相異なる品質で生成した3つのビデオデータ、一つのオーディオデータ及び変速再生のためにIフレームのみエンコーディングして生成したメディアデータについての情報を含む。
【0090】
図9Bを参照すれば、本発明の一実施形態によるメディア表現記述は’NextAdaptiveControlURL’タグをさらに含む。’NextAdaptiveControlURL’タグは、
図8Bの’nextManifestURL’タグに対応する。したがって、現在再生中のコンテンツの次に続いて再生するコンテンツのメディア表現記述のURLが、’NextAdaptiveControlURL’タグにより定義される。
【0091】
図9Cは、現在再生中のコンテンツに続いて再生するコンテンツのメディア表現記述のURLが、
図9Bの’NextAdaptiveControlURL’タグにより定義された時、次に続いて再生するコンテンツのメディア表現記述を図示する。
図9Bのメディア表現記述と比較すると、
図9Cは、次に続いて再生されるコンテンツのメディア表現記述であるため、’StartTime’属性の現在再生中のコンテンツのメディア表現記述と異なる。
【0092】
図9D及び
図9Eは、ユーザの高画質ビデオ再生を選択的に制御するためのメディア表現記述を図示する。一つのコンテンツを5種の相異なる品質でエンコーディングして複数のメディアデータが生成され、
図9Dは、この場合のメディア表現記述を図示する。しかし、
図9Eに示したメディア表現記述で高品質でエンコーディングされたビデオについての情報を含んでいるタグ、すなわち、’ID’属性が’5’であるメディアデータの’StartTime’属性及び’SegmentCount’属性が、
図9Dのメディア表現記述と異なる。
【0093】
サーバ120は、クライアント130のユーザレベルによって、
図9Dのメディア表現記述または
図9Eのメディア表現記述を選択的に伝送できる。クライアント130のユーザレベルが高い場合(例えば、クライアント130が有料ユーザである場合)には、
図9Dのメディア表現記述を伝送することで、高品質のビデオも自在に再生させ、クライアント130のユーザレベルが低い場合(例えば、クライアント130が無料ユーザである場合)には、
図9Eのメディア表現記述を伝送することで、高品質のビデオは、’StartTime’属性により定義された時刻から’SegmentCount’属性により定義された部分のみ再生可能にする。
【0094】
図9Fは、コンテンツに広告が挿入される場合のメディア表現記述を図示する。
図9Fを参照すれば、メディア表現記述は、’StartTime’属性の異なる広告コンテンツ及びメインコンテンツ情報を含む。メディア表現記述は、’00:00:00’から’00:02:00’まで再生されるビット率が’500000’である広告コンテンツ情報、及び’00:02:00’から再生されるビット率が’1000000’、’2000000’、’3000000’及び’4000000’であるメインコンテンツ情報を含む。サーバ120が広告コンテンツを一つのビット率によりエンコーディングしてクライアント130に提供し、広告コンテンツと’StartTime’属性を異ならせるメインコンテンツは、4つの相異なるビット率によりエンコーディングしてクライアント130に提供する場合、
図9Fのメディア表現記述がサーバ120からクライアント130に伝送される。
【0095】
図9Gは、本発明の一実施形態による広告コンテンツ情報を含むメディア表現記述を図示する。メインコンテンツを提供するサーバと広告コンテンツを提供するサーバとが相異なる。言い換えれば、クライアント130が、メインコンテンツは
図5Aのサーバ120から提供され、広告コンテンツは
図5Aのサーバ120ではない他のサーバから受信する場合、広告コンテンツ情報を含むメディア表現記述は、広告コンテンツのURL情報を含む。
図9Gに示したように、一つの品質で符号化された広告コンテンツのURL情報がメディア表現記述に含まれる。
【0096】
メインコンテンツのストリーミング中間に広告コンテンツを挿入して再生する方法及び装置についての多様な実施形態は、
図13Aないし
図23と関連して詳細に後述する。
【0097】
図9Hは、本発明の一実施形態による言語情報及び字幕情報を含むメディア表現記述を図示する。
図9Hを参照すれば、オーディオデータは、多重言語についての情報を含む。’ID’属性が’4’及び’5’である多重言語のオーディオデータについての情報がメディア表現記述に含まれ、’ID’属性が’6’及び’7’である多重言語の字幕についての情報がメディア表現記述に含まれる。
【0098】
オーディオデータはもとより字幕も、時間によって複数の部分に分割されるので、ストリーミング途中でオーディオデータ及び字幕を異なる言語のオーディオデータ及び字幕に変更できる。
【0099】
再び
図5Aを参照すれば、段階530でクライアント130は、複数のメディアデータのうち少なくとも一つのメディアデータの伝送をサーバ120に要請する。クライアント130は、複数のメディアデータについての情報を参照して、ストリーミング環境に好適な品質で符号化された少なくとも一つのメディアデータを選択してサーバ120に要請する。クライアント130は、所定のメディアデータの伝送を要請するHTTP要請をサーバ120に伝送できる。クライアント120の要請に応じて、サーバ120はメディアデータを伝送する。コンテンツを所定の品質でエンコーディングし、時間に基づいて分割して生成された少なくとも一つの部分をクライアント120に伝送できる。HTTP要請に対するHTTP応答として要請されたメディアデータをクライアント120に伝送できる。
【0100】
図5Bは、本発明のさらに他の実施形態によるストリーミング方法を説明するためのフローチャートである。
【0101】
図5Bを参照すれば、段階512でクライアント130は、所定のコンテンツ情報の伝送をサーバ120に要請し、サーバ120からコンテンツ情報を伝送する。所定のコンテンツ情報の伝送を要請するHTTP要請をサーバ120に伝送し、これに対するHTTP応答としてコンテンツ情報を受信する。コンテンツ情報を含むXMLファイルを受信できる。
【0102】
段階522でクライアント130は、段階512で受信されたコンテンツ情報に基づいて、複数のメディアデータについての情報をサーバ120に要請する。メディア表現記述を、HTTP要請を通じてサーバ120に要請し、HTTP応答としてメディア表現記述を受信できる。
【0103】
段階532でクライアント130は、段階522で受信された複数のメディアデータについての情報に基づいて、選択されたメディアデータのヘッダを要請する。段階522で受信された情報に基づいて、複数のメディアデータのうちストリーミング環境に好適な少なくとも一つのメディアデータを選択し、選択されたメディアデータのヘッダを要請する。段階522で受信された複数のメディアデータについての情報を参照して、選択されたメディアデータのヘッダを要請する。サーバ120は、要請に対する応答として、選択されたメディアデータのヘッダファイルをクライアント130に伝送する。
【0104】
段階542でクライアント130は、段階522で受信された複数のメディアデータについての情報、及び段階222で受信されたヘッダに基づいて選択されたメディアデータの伝送をサーバ120に要請する。コンテンツを所定の割合でエンコーディングし、時間に基づいて分割して生成された少なくとも一つの部分の伝送をサーバ130に要請し、サーバ120は、要請された少なくとも一つの部分をクライアント130に伝送する。
【0105】
図10Aないし
図10Cは、本発明の一実施形態による複数のメディアデータを図示する。
図10Aないし
図10Cは、
図5A及び
図5Bによるストリーミング方法を行うために、サーバ120が保有する複数のメディアデータを図示する。
【0106】
図10Aを参照すれば、ストリーミング環境に適応的なストリーミングのためにサーバ120は、一つのコンテンツを複数の相異なる品質でエンコーディングして生成された複数のメディアデータ1010ないし1030を保有できる。’Track1’、’Track2’、…、’TrackN’が複数のメディアデータである。また、それぞれのメディアデータは、それぞれのメディアデータを時間に基づいて分割して生成された少なくとも一つの部分を含む。’Slice1−1.as’、’Slice1−2.as’、’Slice1−3.as’、’Slice2−1.as’、’Slice2−2.as’、’Slice2−3.as’、’SliceN−1.as’、’SliceN−2.as’、’SliceN−3.as’などが少なくとも一つの部分である。
【0107】
また、サーバ120は、クライアント130が複数のメディアデータにアクセスするために必要な情報1040を保有できる。コンテンツ情報として’CadMeta.xml’ファイル、複数のメディアデータについての情報として’MainMeta.xml’ファイルを保有でき、複数のメディアデータのヘッダとして’Head1.ref’、’Head2.ref’ファイルなどを保有できる。’Head1.ref’は’Track1’のヘッダファイルであり、’Head2.ref’は’Track2’のヘッダファイルである。
【0108】
’CadMeta.xml’は、OIPF標準によるCADファイルであり、’MainMeta.xml’は、前述したメディア表現記述でありうる。また、’Head1.ref’、’Head2.ref’ファイルは選択的な要素であり、ヘッダが複数のメディアデータ1010ないし1030に含まれている場合には存在しない。
【0109】
図10Bを参照すれば、クライアント130が複数のメディアデータにアクセスするために必要な情報1042は、’NextMeta.xml’をさらに含む。前述したように’NextMeta.xml’は、現在再生中のコンテンツに続いて再生される次のコンテンツのメディア表現記述でありうる。前述したように、現在再生中のメディア表現記述、すなわち、’MainMeta.xml’ファイルは、続いて再生するコンテンツのメディア表現記述のURL情報を含んでいるところ、これに基づいてクライアント130は’NextMeta.xml’ファイルにアクセスできる。
【0110】
図10Cを参照すれば、複数のメディアデータのヘッダは、一つのファイル1050で存在できる。ヘッダファイルが複数のメディアデータそれぞれに対して複数で存在するものではなく、一つのヘッダファイル1050として、複数のメディアデータへのアクセスに必要な情報1044に含まれる。
【0111】
例えば、複数のメディアデータそれぞれがエレメンタリーストリーム(elementary stream)(例えば、MPEG−2によるエレメンタリーストリーム)に対応する時、複数のメディアデータのヘッダは、PAT(Program Association Table)及びPMT(Program Map Table)のうち少なくとも一つを含む一つのヘッダファイル1050でありうる。PAT及びPMTのうち少なくとも一つを複数のメディアデータ1010ないし1030と分離して一つのヘッダファイル1050を作り、メディア表現記述は、このヘッダファイル1050を指示する情報を含む。指示情報は、ヘッダファイル1050のURL情報でもあり、MPEG−2伝送ストリーム(transport stream)でヘッダファイル1050を含んでいるパケットを特定するための情報でもありうる。PAT及びPMTのうち少なくとも一つを含むヘッダファイル1050は初期化部分(initialization segment)であり、メディアデータの再生を開始するためにペイロードデータを含んでいる部分より先ずクライアント130に伝送される。
【0112】
前述した段階532でクライアント130は、メディア表現記述を参照してヘッダファイル1050についての指示情報を獲得し、指示情報に基づいてヘッダファイル1050を要請できる。指示情報に基づいてヘッダファイル1050を要請して受信した後、ヘッダファイル1050に含まれているPAT及びPMTのうち少なくとも一つに基づいて複数のメディアデータのうち少なくとも一つを選択し、選択されたメディアデータをサーバ120に要請する。PAT及びPMTは、ヘッダファイル1050に分離されていてもよく、複数のメディアデータ1010ないし1030に含まれていてもよいが、含まれた位置と関係なく複数のメディアデータ1010ないし1030に含まれたエレメンタリーストリームの全体リストを含む。
【0113】
MPEG−2によれば、PAT及びPMTで定義されるPID(Packet ID)は、エレメンタリーストリームによって相異なる。したがって、複数のメディアデータそれぞれに割り当てられるPIDは相異なる。しかし、さらに他の実施形態によれば、一つのコンテンツを相異なる品質でエンコーディングして生成された複数のメディアデータは、同じコンテンツに対するエレメンタリーストリームであるため、PIDが同一に設定されてもよい。
【0114】
複数のメディアデータ1010ないし1030がMPEG−2による複数のエレメンタリーストリームに対応する場合、複数のメディアデータ1010ないし1030に含まれた部分それぞれは、少なくとも一つの連続するPES(Packetized Elementary Stream)を含む。しかし、一つのPESは一つの部分にのみ含まれる。言い換えれば、一つのPESが異なる部分に含まれない。
【0115】
複数のメディアデータは、一つのコンテンツを相異なる品質でエンコーディングして生成されたものであるので、複数のメディアデータが含まれたPESのPTS(Presentation Time Stamp)及び/またはDTS(Decoding Time Stamp)は、メディアデータの再生時間によって整列(aligned)される。言い換えれば、第1メディアデータの最初のPESと第2メディアデータの最初のPESとが同じ時刻に再生されるコンテンツならば、PTS及び/またはDTSが同一に設定される。
【0116】
また、第1メディアデータの再生中に再生されるメディアデータを変更して第2メディアデータ再生する場合にも連続的に再生されるように、PTS及び/またはDTSも連続的に整列される。言い換えれば、第1メディアデータの再生中にメディアデータを変更して第2メディアデータを再生する場合には、第1メディアデータの最後のPESのPTS及び/またはDTSと、第2メディアデータの最初のPESのPTS及び/またはDTSとが連続的に設定される。
【0117】
図11Aは、本発明のさらに他の実施形態によるストリーミング方法を説明するためのフローチャートである。
【0118】
図11Aを参照すれば、段階1110でクライアント130は、複数のメディアデータについての情報をサーバ120に要請する。メディア表現記述をHTTP要請を通じてサーバ120に要請し、HTTP応答としてメディア表現記述を受信できる。クライアント130は、ストリーミング環境に適応的なストリーミングを行うために、一つのコンテンツを複数の相異なる品質でエンコーディングして生成された複数のメディアデータについての情報をサーバ120に要請して受信する。コンテンツ情報の要請及び受信なしに複数のメディアデータについての情報の要請及び受信が行われるという点が、
図5Aに示した実施形態と異なる。
【0119】
段階1120でクライアント130は、複数のメディアデータのうち少なくとも一つのメディアデータの伝送をサーバ120に要請する。クライアント130は、複数のメディアデータについての情報を参照して、ストリーミング環境に好適な品質で符号化された少なくとも一つのメディアデータを選択してサーバ120に要請し、要請されたメディアデータをサーバ120から受信する。
【0120】
図11Bは、本発明のさらに他の実施形態によるストリーミング方法を説明するためのフローチャートである。
【0121】
図11Bを参照すれば、段階1112でクライアント130は、複数のメディアデータについての情報をサーバ120に要請し、要請に対する応答として、複数のメディアデータについての情報をサーバ120から受信する。メディア表現記述をHTTP要請を通じてサーバ120に要請し、HTTP応答としてメディア表現記述を受信できる。
【0122】
段階1122でクライアント130は、段階1112で受信された複数のメディアデータについての情報に基づいて選択されたメディアデータのヘッダを要請する。段階11122で受信された複数のメディアデータについての情報を参照して、ストリーミング環境によって選択されたメディアデータのヘッダを要請する。サーバ120は要請に対する応答として、選択されたメディアデータのヘッダを含むファイルをクライアント130に伝送する。
【0123】
段階1132でクライアント130は、段階1112で受信された複数のメディアデータについての情報、及び段階1122で受信されたヘッダに基づいて選択されたメディアデータの伝送をサーバ120に要請する。コンテンツを所定の割合でエンコーディングし、時間に基づいて分割して生成された少なくとも一つの部分の伝送をサーバ130に要請し、サーバ120は、要請された少なくとも一つの部分をクライアント130に伝送する。
【0124】
図12Aないし
図12Cは、本発明のさらに他の実施形態による複数のメディアデータを図示する。
図12Aないし
図12Cは、
図11A及び
図11Bによるストリーミング方法を行うためにサーバ120が保有する複数のメディアデータを図示する。
【0125】
図12Aを参照すれば、
図10Aに示した実施形態と同様にストリーミング環境に適応的なストリーミングのために、サーバ120は、一つのコンテンツを複数の相異なる品質でエンコーディングして生成された複数のメディアデータ1010ないし1030を保有できる。
【0126】
クライアント130の複数のメディアデータへのアクセスに必要な情報1240のみ異なるところ、
図10Aに示した実施形態とは異なって、サーバ120はコンテンツ情報を除外した複数のメディアデータについての情報のみ含む。この場合、クライアント130は、コンテンツ情報をサーバ120ではない他のエンティティから受信し、コンテンツ情報に基づいてサーバ120が保有している複数のメディアデータにアクセスしてもよい。
【0127】
図12Bを参照すれば、クライアント130が複数のメディアデータへアクセスするために必要な情報1242は、
図12Aの情報1240に’NextMeta.xml’をさらに含む。
【0128】
図12Cを参照すれば、複数のメディアデータのヘッダは一つのファイル1250として存在できる。ヘッダファイルが複数のメディアデータそれぞれに対して複数で存在するものではなく、一つのヘッダファイル1250として複数のメディアデータへアクセスするために必要な情報1244に含まれる。
【0129】
図13A及び
図13Bは、本発明の一実施形態によるメインコンテンツのストリーミング途中でさらに他のコンテンツを挿入してストリーミングする場合の時間線(time line)を図示する。
【0130】
図13Aに示したように、第1コンテンツの再生区間1310が定められている時、第1コンテンツのストリーミング開始後に’00:10:00’が過ぎた時刻に第2コンテンツが挿入される。第2コンテンツは、第1コンテンツと関連するコンテンツであり、広告コンテンツでありうる。開始(start)は、第1コンテンツを基準として設定される時刻であり、それぞれの再生区間が始まる時刻をそれぞれ意味し、持続時間(duration)は、それぞれの再生区間でのコンテンツの再生持続時間を意味する。
【0131】
図13Aによって第2コンテンツが挿入されれば、第1コンテンツ及び第2コンテンツの再生時間線(time line)は、
図13Bの通りである。
図13Bを参照すれば、第1コンテンツの再生区間1310は、第2コンテンツの挿入によって、第2コンテンツ挿入前の再生区間1312及び第2コンテンツ挿入後の再生区間1314に分けられる。
【0132】
再生時間は、それぞれの再生区間で再生されるコンテンツを基準に設定される時刻であり、第2コンテンツが第1コンテンツを再生し始めた後で’00:10:00’が過ぎた時刻に挿入されたので、挿入以後の第1コンテンツの再生区間1314の再生時間は’’00:10:00’である。同様に、第2コンテンツの再生区間の再生時間は第2コンテンツを基準に設定されるので、’00:00:00’である。
【0133】
図13Cは、本発明の一実施形態によるメインコンテンツの再生時間線及び挿入されるコンテンツの再生時間線を図示する。
【0134】
図13Cを参照すれば、第2コンテンツの再生区間1338の挿入につれて、第1コンテンツの再生区間は、挿入前と挿入後との2つの再生区間1332及び1334に分けられる。第1コンテンツの再生時間線に沿って、第1コンテンツ再生区間1332で第1コンテンツを再生している途中で、第2コンテンツ再生区間の挿入を知らせる表示子(indicator)1336によって第2コンテンツを再生する。表示子は、後述するように第2コンテンツ再生区間についての情報を含むタグであり、第2コンテンツのメディアデータについての位置情報、または第2コンテンツのメディアデータについての位置情報を含む第2ファイルの位置情報を含むタグでありうる。
【0135】
メインコンテンツ、すなわち、第1コンテンツの再生のためにクライアント130に提供されるメディア表現記述はこのような表示子1336を含んでおり、クライアント130は、メディア表現記述に含まれた表示子1336に基づいて、第1コンテンツの再生区間1332及び1334と第2コンテンツの再生区間1338とを区分して第1コンテンツ及び第2コンテンツを再生できる。
【0136】
図13Cを参照すれば、コンテンツの連続的な再生のために複数の再生時間線が用いられる。第2コンテンツの再生時間線は第1コンテンツの時間線と別途に存在し、第2コンテンツの再生区間が、第1コンテンツの再生開始後10分が経過した時刻に初めて挿入されたので、第1コンテンツの再生時間を基準に10分が経過した時刻から第2コンテンツの再生時間線が始まる。再生時間線が第1コンテンツと第2コンテンツとに対して分離されており、それぞれの時間線に対して個別的に時刻が設定されるので、再生時間線間の移動は不可能である。例えば、第1コンテンツの再生時間線に沿って第1コンテンツを再生して1分経過した時刻で、第2コンテンツの再生時間線の30秒時刻に移動するのは不可能であり、第1コンテンツの再生時間線に沿ってのみ移動できる。
【0137】
図14A及び
図14Bは、本発明の一実施形態による動的な広告コンテンツ挿入及び静的な広告コンテンツ挿入を図示する。広告コンテンツは、
図13A及び
図13Bの第2コンテンツに対応する。
【0138】
図14Aは、広告コンテンツが動的に挿入される実施形態を図示する。
図14Aを参照すれば、クライアント130は、サーバ120からメインコンテンツを受信して再生する途中で広告コンテンツを挿入する。メインコンテンツをストリーミング方式でサーバ120から受信して再生している途中で、再生を中止して広告コンテンツを再生する。クライアント130は、メインコンテンツ及び広告コンテンツのストリーミング、すなわち、コンテンツの要請、受信及び再生を行うストリーミングエンジン部1414、及び広告の挿入を行う広告アプリケーション部1412を用いて、広告コンテンツを挿入して再生する。
【0139】
ストリーミングエンジン部1414は、サーバ120からメインコンテンツを受信して再生する。前述したように適応的なストリーミングのために、メインコンテンツを相異なる品質でエンコーディングして生成された複数のメディアデータのうち、少なくとも一つのメディアデータを受信できる。メインコンテンツのメディア表現記述を受信し、受信されたメディア表現記述に基づいて複数のメディアデータのうち少なくとも一つのメディアデータを要請して受信する。複数のメディアデータそれぞれは、前述した適応的なストリーミングのために時間に基づいて分割して生成された複数の部分を含む。
【0140】
段階1401で、サーバ120からメインコンテンツを受信して再生している途中で広告コンテンツの挿入時刻になれば、ストリーミングエンジン部1414は、広告イベントの発生を広告アプリケーション部1412に知らせる。広告イベントに対するお知らせを受信した広告アプリケーション部1412は、段階1402で、サービス提供者サーバまたはコンテンツ提供者サーバ1430に広告コンテンツに関する情報を要請し、要請に対する応答として情報を受信する。広告コンテンツに関する情報は、広告コンテンツの位置情報(例えば、URL)でありうる。
【0141】
挿入される広告コンテンツがメインコンテンツの再生開始時に予め定められるものではなく、広告イベントが発生すれば、広告コンテンツに関する情報をサービス提供者サーバまたはコンテンツ提供者サーバ1430から受信し、受信された情報に基づいて挿入される広告コンテンツが決定されるため、動的に広告コンテンツを挿入できる。
【0142】
段階1403で広告アプリケーション部1412は、段階1402で受信された広告コンテンツに関する情報、すなわち、広告コンテンツのURLをストリーミングエンジン部1403に伝送する。
【0143】
段階1404でストリーミングエンジン部1414は、段階1403で受信された広告コンテンツに関する情報に基づいて広告コンテンツを要請し、要請に対する応答として広告メディアデータを受信する。広告メディアデータもメインコンテンツと同様に、異なる品質によってエンコーディングされた複数のメディアデータでありうる。
【0144】
広告コンテンツの受信及び再生がいずれも終了すれば、段階1405でストリーミングエンジン部1414は、広告イベントの終了を広告アプリケーション部1412に知らせ、メインコンテンツを再び再生する。広告コンテンツの挿入で中止されたメインコンテンツの再生を、中止された時刻から再び再生するところ、
図13Bに示したように、広告コンテンツが挿入された時刻からメインコンテンツの再生を再開する。
【0145】
図14Bは、広告コンテンツが静的に挿入される実施形態を図示する。
【0146】
段階1441でストリーミングエンジン部1414は、サーバ120からメインコンテンツを受信して再生している途中で、広告コンテンツの挿入時刻になれば、広告イベントの発生を広告アプリケーション部1412に知らせる。
【0147】
段階1442でストリーミングエンジン部1414は、サーバ120に広告コンテンツを要請し、要請に対する応答として広告メディアデータを受信する。広告メディアデータはメインコンテンツと同様に、異なる品質によってエンコーディングされた複数のメディアデータのうち少なくとも一つのメディアデータでありうる。
【0148】
図14Bに示した実施形態は、静的な広告コンテンツ挿入であり、挿入される広告コンテンツが予め定められている。メインコンテンツの再生のためにサーバ1412から受信するメインコンテンツのメディア表現記述には、挿入される広告コンテンツ情報が含まれており、ストリーミングエンジン部1414は、かかるメディア表現記述に含まれた広告コンテンツ情報を参照して、広告コンテンツを要請し、受信する。
【0149】
広告コンテンツの受信及び再生がいずれも終了すれば、段階1405でストリーミングエンジン部1414は、広告イベントの終了を広告アプリケーション部1412に知らせ、メインコンテンツを再び再生する。
【0150】
図14A及び
図14Bは、メインコンテンツ及び広告コンテンツがいずれもサーバ120により提供される場合を図示したが、メインコンテンツと広告コンテンツとが相異なるサーバにより提供されるということは、当業者ならば容易に理解できる。
【0151】
図15Aは、本発明の一実施形態によるメインコンテンツに他のコンテンツを挿入して再生する方法を説明するためのフローチャートである。
【0152】
図15Aを参照すれば、段階1501でクライアント130は、第1コンテンツのメディアデータについての位置情報を含む第1ファイルをサーバ120に要請する。第1コンテンツは、メインコンテンツに対応する。第1ファイルは、第1コンテンツのメディア表現記述でありうる。HTTP要請を用いサーバ120に第1コンテンツのメディア表現記述を要請し、HTTP応答として第1コンテンツのメディア表現記述を受信できる。
【0153】
図15Aに示した実施形態は、
図11Aに示した実施形態とは異なって、第1コンテンツに第2コンテンツを挿入して再生するストリーミング方法を図示する。したがって、段階1501で受信されるメディア表現記述は、第1コンテンツの再生区間についての情報及び第2コンテンツの再生区間についての情報を含み、第2コンテンツの再生区間についての情報は、第2コンテンツのメディアデータについての位置情報を含む。
図16Aないし
図16Dを参照して詳細に説明する。
【0154】
図16Aないし
図16Eは、本発明の一実施形態による、挿入されるコンテンツ情報を含むメインコンテンツのメディア表現記述を図示する。
【0155】
図16Aを参照すれば、段階1501でクライアント130が受信する第1コンテンツのメディア表現記述は、第1コンテンツの再生区間についての情報及び第2コンテンツの再生区間についての情報を含む。メディア表現記述は、第1コンテンツの再生区間に対するタグ及び第2コンテンツの再生区間に対するタグを含むXMLファイルであるが、再生区間は、’start’及び’Type’属性に基づいて定義される。
【0156】
’start’属性は、再生区間の開始時刻を表すところ、メインコンテンツを基準に設定される。したがって、第2コンテンツの再生区間についての情報である二番目の’Period’タグと、中止された第1コンテンツが再び再生される再生区間についての情報である三番目の’Period’タグとの’star’属性を同一に設定できる。言い換えれば、第2コンテンツの挿入によって’Period’タグの’start’属性の重複が発生しうるが、第2コンテンツは、第1コンテンツの再生途中で挿入されるコンテンツであるため、例外的に’start’属性の重複を許容する。
【0157】
’Type’属性は、’Period’タグがメインコンテンツ(すなわち、第1コンテンツ)の再生区間に対するタグであるか、またはメインコンテンツの再生中に挿入されるコンテンツ(すなわち、第2コンテンツ)の再生区間に対するタグであるかを定義する。’Type’属性が’Internal’ならば、メインコンテンツを再生する区間であることを意味し、’Type’属性が’External’ならば、挿入されたコンテンツを再生する区間であることを意味する。
【0158】
メインコンテンツを基準に’00:15:00’にコンテンツが挿入されるので、’Type’が’External’である二番目の再生区間、及び’Type’が’Internal’である三番目の再生区間の開始時刻が同一である。メインコンテンツを基準として’00:15:00’にコンテンツを挿入して再生し、挿入されたコンテンツの再生が終了すれば、再び’00:15:00’からメインコンテンツを再生する。
【0159】
しかし、
図16Bに示した本発明のさらに他の実施形態によれば、メインコンテンツの再生区間に対する’Period’タグは’Type’属性を含まず、挿入されるコンテンツの再生区間に対する’Period’タグのみ’Type’属性を含む。それぞれの再生区間の開始時刻を表す’start’属性は、
図16Aに示した通りである。
【0160】
また、
図16Cに示した実施形態のように、挿入されるコンテンツの再生区間に対するタグは、メインコンテンツの再生区間に対するタグとその名称を異なって設定できる。
図16Cを参照すれば、挿入されるコンテンツの再生区間に対するタグの名称は’externalPeriod’である。
図16A及び
図16Bのように、タグの’Type’属性により再生区間を区分するものではなく、タグの名称を異ならせることで再生区間を区分する。それぞれの再生区間の開始時刻を表す’start’属性は、
図16Aに示した実施形態と同一である。
【0161】
図16Dは、メインコンテンツの再生中に挿入されるコンテンツが複数である場合のメディア表現記述を図示する。
図16Dは、メインコンテンツの再生中に’00:15:00’に挿入されるコンテンツが3つである場合を図示する。3つのコンテンツいずれもメインコンテンツの再生中に挿入されるコンテンツであるため、’Period’タグの’Type’属性は’External’であり、開始時刻もメインコンテンツ基準に’00:15:00’であって同一である。ただし、それぞれのコンテンツは’externalID’属性により区分される。’externalID’属性は、それぞれのコンテンツを識別するための属性であり、URL(Uniform Resource Locator)、URI(Uniform Resource Identifier)及びGUID(Global Unique IDentifier)などの多様な識別子が用いられる。
【0162】
図16Dに示したメディア表現記述によってメインコンテンツを再生するクライアント130は、開始時刻’00:15:00’になれば、
図16Dの’Type’属性が’External’であり、’start’属性が’00:15:00’である3つのコンテンツのうち一つを選択して挿入する。この時、クライアント130は、’externalID’属性に基づいて挿入されるコンテンツを選択できる。コンテンツの選択のために、別途の記述(description)がクライアント130に提供される。別途の記述は、
図16Dに示したメディア表現記述と独立して別途にクライアント130に提供されてもよく、メディア表現記述に含まれてクライアントに提供される。例えば、’externalID’が’A/a/aaa/a’であるコンテンツは、自動車の広告であり、’externalID’が’B/b/bbb/advertisement’であるコンテンツは、本の広告であることを表す記述をクライアント130に提供して、コンテンツの選択を支援できる。
【0163】
図16Aないし
図16Dは、メインコンテンツを基準に’Period’タグの’start’属性が定義される実施形態を図示した。言い換えれば、
図13Bに示した時間線などの他のコンテンツの挿入にもかわらず、’start’属性がメインコンテンツの再生時間を基準に定義される。しかし、
図16Eに示したように、メインコンテンツの再生時間ではなく実際経過時間を基準に’start’属性が定義されてもよい。メインコンテンツの持続時間が’00:01:00’である他のコンテンツが、メインコンテンツの再生途中で’00:15:00’に挿入された場合のメディア表現記述は、
図16Eに示した通りである。
図16Eを参照すれば、メインコンテンツの継続的な進行のための三番目の’Period’の’start’が、メインコンテンツ及び挿入されたコンテンツの再生のために経過した時刻である’00:16:00’と定義される。
【0164】
図16Eに示した実施形態によれば、三番目の’Period’でメインコンテンツを基準とした実際再生開始時刻は’00:15:00’であり、’start’属性は’00:16:00’であり、実際再生開始時刻と、’Period’タグにより定義される再生開始時刻とが相異なる。
【0165】
再び
図15Aを参照すれば、段階1502でクライアント130は、段階1501で受信された第1ファイルに基づいて第1コンテンツ、すなわち、メインコンテンツのメディアデータを要請し、要請に対する応答としてメディアデータを受信する。第1ファイルに含まれた第1コンテンツの再生区間についての情報に基づいて第1コンテンツのメディアデータを要請し、受信する。第1コンテンツを相異なる品質でエンコーディングして、生成された複数のメディアデータのうち少なくとも一つのメディアデータの伝送をサーバ120に要請し、受信する。
【0166】
段階1503で第1コンテンツを再生しているクライアント130は、段階1504で第2コンテンツのメディアデータを要請し、要請に対する応答としてメディアデータを受信する。
図16Aないし
図16Eと関連して前述したように、段階1501で受信される第1ファイル、すなわち、メディア表現記述は、第2コンテンツの再生区間についての情報も含んでおり、第2コンテンツの再生区間についての情報は、第2コンテンツのメディアデータについての位置情報を含む。
【0167】
したがって、クライアント130は第2コンテンツの挿入時刻を、
図16Aないし
図16Eと関連して前述した’start’属性に基づいて判断し、該当時刻になれば、第2コンテンツをサーバ120に要請し、受信する。第2コンテンツの挿入は静的または動的に行われるところ、
図17Aないし
図17Cを参照して詳細に説明する。
【0168】
図17Aないし
図17Cは、本発明のさらに他の実施形態による挿入されるコンテンツ情報を含むメインコンテンツのメディア表現記述を図示する。
【0169】
図17Aを参照すれば、’Period’タグは、
図16Aないし
図16Eに示したように’start’属性を含む。また、下位タグとして’Representation’タグ及び’SegmentInfo’タグを含む。’Representation’タグは、複数のメディアデータそれぞれについての情報を含み、’SegmentInfo’タグは、それぞれのメディアデータに含まれている少なくとも一つの部分についての情報を含む。複数のメディアデータそれぞれについての情報は、複数のメディアデータの位置情報(例えば、URL)でありうる。
【0170】
’AD’タグは、第1コンテンツの再生途中で挿入される第2コンテンツ(例えば、広告コンテンツ)の再生区間についての情報を含むタグであり、
図16Aないし
図16Eに示したように、第1コンテンツを基準にした’start’属性、及び強制に再生されるべきかどうかを表す’forcePlayout’属性を含む。’forcePlayout’属性が’true’と設定されていれば、第2コンテンツは必ず再生されねばならず、再生中止及び/またはスキップが不可能である。
図17Aに示した実施形態では、’00:03:10’及び’00:05:10’時刻に第2コンテンツが2回挿入される。
【0171】
前述したように、第2コンテンツの再生区間についての情報は、第2コンテンツのメディアデータについての位置情報を含む。ところが、
図17Aに示した実施形態は第2コンテンツの動的な挿入についての実施形態であり、第2コンテンツのメディアデータについての位置情報を、第1コンテンツのメディア表現記述に具体的に定義できない。したがって、’AD’タグは、動的に挿入される第2コンテンツのメディアデータについての位置情報を暗黙的(implicit)に含んでいると解釈する。言い換えれば、第1コンテンツのメディア表現記述に含まれた第2コンテンツのメディアデータについての位置情報は、動的に挿入されるコンテンツのメディアデータについての位置情報と設定されたと見なす。
【0172】
図17Bを参照すれば、第2コンテンツの再生区間についての情報を、メディア表現記述の最初または最後に別途のタグを用いて定義できる。第2コンテンツの再生区間についての情報を含む’ProgramInsertion’タグを別途に定義し、少なくとも一つの第2コンテンツの再生区間についての情報を含む少なくとも一つの’Program’タグを定義できる。それぞれの’Program’タグは、挿入時刻が定義された’starTime’属性を含む。
図17Aと同様に、’forcePlayout’属性も含んで強制再生如何を定義できる。前述したように、第2コンテンツの再生区間についての情報は、第2コンテンツのメディアデータについての位置情報を含む。したがって、
図17Bに示したメディア表現記述は’url’属性を含む。ただし、第2コンテンツの動的な挿入のために、
図17Aと同一に’url’属性を具体的に定義しない。
【0173】
図17Cは、第2コンテンツが静的に挿入される実施形態を図示する。
図17Aと比較すれば、’start’属性が’00:03:10’である二番目の’Period’は、挿入される第2コンテンツのメディアデータのURLを含んでいる。
図17Cで、’http://ad.content.com/ad01/’がメディアデータのURLである。前述したように、第1コンテンツの再生途中で挿入される第2コンテンツも、相異なる品質でエンコーディングされて生成された複数のメディアデータであり、それぞれのメディアデータは少なくとも一つの部分を含むことができるところ、二番目の’Period’タグも、’Representation’タグ及び’SegmentInfo’タグをそれぞれ含む。
【0174】
再び
図15Aを参照すれば、段階1505で第2コンテンツを再生しているクライアント130は、段階1506で第1コンテンツのメディアデータを要請し、要請に対する応答としてメディアデータを受信し、段階1507で第1コンテンツを再び再生する。第1コンテンツの再生途中で挿入された第2コンテンツの再生区間が終了すれば、第1コンテンツの再生が中止された時刻から再び第1コンテンツを再生する。
【0175】
図15Aに示した実施形態で、第2コンテンツの再生が必須でない場合には第2コンテンツの再生を無視し、引続き第1コンテンツを再生してもよい。しかし、
図17Aないし
図17Cに示したように、’forcePlayOut’属性が’true’と定義された場合には、第2コンテンツの再生区間を無視できず、必ず第1コンテンツの再生途中で第2コンテンツを挿入して再生せねばならない。
【0176】
また、
図15Aは、第1コンテンツ、すなわち、メインコンテンツと第2コンテンツ、すなわち、広告コンテンツを提供するサーバが同じサーバ120である場合を図示したが、メインコンテンツと広告コンテンツとを提供するサーバが必ず同じサーバ120である必要はなく、それぞれ異なるサーバでありうる。言い換えれば、メインコンテンツサーバと広告コンテンツサーバとが分離されて、段階1502の第1コンテンツの要請及び受信と、段階1504の第2コンテンツの要請及び受信とがそれぞれ異なるエンティティに対して行われてもよい。第1ファイルを提供するサーバも、必ずしも第1コンテンツを提供するサーバと同一である必要はない。
【0177】
図18は、本発明の一実施形態による、挿入されるコンテンツ情報を含むメインコンテンツのメディア表現記述及びそれに対応する再生区間を図示する。
図15Aの段階1501で、クライアント130が受信する第1ファイルに基づいて第1コンテンツ及び第2コンテンツを再生する場合を挙げて説明する。
【0178】
図18を参照すれば、本発明の一実施形態によるメディア表現記述は、第1コンテンツの再生区間についての情報及び第2コンテンツの再生区間についての情報を含む。第1コンテンツの再生区間に対する’Period’タグ1810及び1830の間に、第2コンテンツの再生区間に対する’Period’タグ1820が挿入される。
【0179】
図15Aに示した実施形態によれば、’Period’タグ1810ないし1830は、それぞれの再生区間で再生されるメディアデータについての位置情報を含むところ、それぞれのメディアデータは、時間に基づいて分割された複数の部分を含む。
【0180】
図15Bは、本発明のさらに他の実施形態によるメインコンテンツに他のコンテンツを挿入して再生する方法を説明するためのフローチャートである。
【0181】
図15Bを参照すれば、段階1511でクライアント130は、第1コンテンツの複数のメディアデータについての位置情報を含む第1ファイルをサーバ120に要請する。第1コンテンツはメインコンテンツに対応する。第1ファイルは第1コンテンツのメディア表現記述でありうる。HTTP要請を用いサーバ120に第1コンテンツのメディア表現記述を要請し、HTTP応答として第1コンテンツのメディア表現記述を受信できる。
【0182】
段階1511でクライアント130が受信するメディア表現記述は、
図15Aに示したところと同様に、第1コンテンツの再生区間についての情報及び第2コンテンツの再生区間についての情報を含む。ただし、段階1501でクライアント130が受信する第1ファイルが挿入される第2コンテンツのメディアデータについての位置情報(例えば、URL)を含むのに対し、段階1511でクライアント130が受信する第1ファイルは、第2コンテンツのメディアデータについての位置情報を含む第2ファイルの位置情報(例えば、URL)のみ含むことが異なる。
【0183】
段階1512で、クライアント130は第2ファイルをサーバ120に要請し、要請に対する応答として第2ファイルを受信する。
図19A及び
図19Bと
図20を参照して詳細に説明する。
【0184】
図19A及び
図19Bは、本発明の一実施形態によるメインコンテンツのメディア表現記述及び挿入されるコンテンツ情報を含むファイルを図示する。
【0185】
図19Aを参照すれば、段階1511でクライアント130が受信する第1コンテンツのメディア表現記述、すなわち、第1ファイルは第2コンテンツのメディアデータについての位置情報を含む第2ファイルの位置情報を含む。
【0186】
メインコンテンツ、すなわち、第1コンテンツのメディアデータについての位置情報が’Period’タグ及び’Representation’タグにより定義され、挿入されるコンテンツ、すなわち、第2コンテンツのメディアデータについての位置情報を含む第2ファイルのURLは、’ProgramInformation’タグの’moreInformationURL’属性と定義される。
【0187】
図16Aないし
図16E、
図17Aないし
図17C、及び
図18に示したメディア表現記述は、いずれも第2コンテンツのメディアデータについての位置情報が第1ファイルの’Period’タグに定義されていた。動的なコンテンツ挿入及び静的なコンテンツ挿入いずれも’Period’タグに定義されたように行われることができた。しかし、
図19Aに示した実施形態で、第1コンテンツのメディア表現記述は第2ファイルのURLのみ含む。第1コンテンツのメディア表現記述を受信したクライアント130は、’moreInforamtionURL’属性により定義された’programInsertion.xml’を参照して第2コンテンツの挿入を行う。
【0188】
図19Bは、第2コンテンツのメディアデータについての位置情報を含む第2ファイル、すなわち、’programInsertion.xml’ファイルを図示する。段階1511でクライアント130は、
図19Aに示した第1ファイルを受信し、受信された第1ファイルに基づいて段階1512で
図19Bに示した第2ファイルを受信する。
【0189】
図19Bを参照すれば、挿入されるコンテンツ情報を含む’programInsertion.xml’は、’programInsertion’タグの下位タグとして’Program’タグを含み、’Program’タグの’startTime’属性及び’forcePlayOut’属性により第2コンテンツの挿入時刻及び強制再生如何が決定される。
【0190】
第2コンテンツが動的に決定される場合には’Program’タグの’url’属性が定義されず、静的に決定される場合には’url’属性が定義される。’Program’タグの’url’属性は第2コンテンツのメディアデータの位置情報であり、
図19Bに示した実施形態では’url’属性が定義されていないため、挿入される第2コンテンツのメディアデータは動的に決定される。
【0191】
図20は、本発明の一実施形態によるメインコンテンツのメディア表現記述及びコンテンツ情報を含む複数のファイルを図示する。
【0192】
図20を参照すれば、段階1511でクライアント130が受信する第1コンテンツのメディア表現記述2010は、第2コンテンツの再生区間についての情報を含む。’start’属性が’00:15:00’であり、’Type’属性が’External’である’Period’タグが、第2コンテンツの再生区間についての情報を定義するタグである。第2コンテンツの再生区間に対するタグは下位タグであり、’ExternalURL’、’ExternalType’及び’Externaパラメータ’タグを含む。
【0193】
’ExternalURL’タグは、前述した第2ファイルのURLを定義する。’’ExternalURL’’タグは、外部のメディアデータまたはファイルへアクセスするためのタグであり、’’ExternalURL’’タグと同じ機能を行うあらゆるXMLタグが’’ExternalURL’’タグの代りに用いられる。例えば、XMLリンキング言語(XML Linking Laguage)の’’xlink’’またはXMLインクルージョン(XMLinclusion)の’’xinclude’’タグが、’’ExternalURL’’タグの代りに用いられる。
【0194】
’ExternalType’タグは、’ExternalURL’タグの類型を定義する。
図15Bに示した実施形態のように、第1コンテンツのメディア表現記述2010が第2コンテンツのメディアデータについての位置情報ではなく第2ファイルの位置情報のみ含む場合、’ExternalType’タグは、
図20に示したように’xml’と定義される。しかし、
図15Aに示した実施形態のように、第1コンテンツのメディア表現記述が第2コンテンツのメディアデータについての位置情報も含む場合、すなわち、’ExternalURL’タグが第2コンテンツのメディアデータの位置情報を定義する場合に、’ExternalType’タグは、これを表すために’data’と定義される。
【0195】
図20に示した実施形態は、第2コンテンツとして第1コンテンツの再生途中で挿入されるコンテンツが複数である場合を図示する。したがって、第2コンテンツを提供するサーバは、第1コンテンツのメディア表現記述2010の’ExternalURL’タグに定義された’ExternaPeriod.xml’に対応する第2ファイルとして複数のファイル、すなわち、’ExternalPeriod_1.xml’2022、’ExternalPeriod_2.xml’2024及び’ExternalPeriod_3.xml’2026のうち一つをクライアント130に提供できる。
【0196】
複数のファイル2022ないし2026は、それぞれ異なるコンテンツのメディアデータについての位置情報を含むが、メディアデータは、メディアデータを時間に基づいて分割して生成された複数の部分を含むことができる。また、複数のファイル2022ないし2026それぞれは、コンテンツを相異なる品質でエンコーディングして生成された複数のメディアデータについての位置情報を含む。
【0197】
’ExternalParameter’タグは、複数のファイルのうち一つを選択するためのパラメータを含む。’ExternalParameter’タグには、クライアント130のプロファイルまたは選好度に対するパラメータが含まれる。クライアント130は、ユーザプロファイル及び/または選好度についての情報をサーバ120に伝送し、サーバ120は、伝送されたパラメータに基づいて複数のファイル2022ないし2026のうち一つを選択してクライアント130に伝送できる。複数のファイル2022ないし2026を用いて持続時間及びコンテンツの相異なる再生区間を設定できる。クライアント130のプロファイルは、クライアント130のユーザの年齢、性別、居住地域(region)などでありうる。
【0198】
再び
図15Bを参照すれば、段階1512は、必ずしも段階1511直後に行われる必要がない。言い換えれば、第2ファイルの受信は第1ファイルの受信直後に直ちに行われる必要はなく、
図20に示したように、第2コンテンツの挿入時刻が第1ファイルにより定められている場合には、第1コンテンツを受信して再生している途中で、第2コンテンツの再生区間が始まる前に第2ファイルを受信できる。
【0199】
段階1513でクライアント130は、段階1511で受信された第1ファイルに基づいて第1コンテンツ、すなわち、メインコンテンツのメディアデータを要請し、要請に対する応答としてメディアデータを受信する。第1ファイルに含まれた情報に基づいて第1コンテンツのメディアデータを要請して受信する。第1コンテンツを相異なる品質でエンコーディングして生成された複数のメディアデータのうち、少なくとも一つのメディアデータの伝送をサーバ120に要請し、受信する。
【0200】
段階1514で第1コンテンツを再生していたクライアント130は、段階1515で第2コンテンツのメディアデータを要請し、要請に対する応答としてメディアデータを受信する。
図19A及び
図19Bと
図20と関連して前述したように、段階1512で受信された第2ファイルに基づいて第2コンテンツのメディアデータを要請し、受信する。段階1512で受信された第2ファイルは第2コンテンツのメディアデータに情報を含んでいるところ、第2ファイルに基づいて第2コンテンツを要請し、受信する。
【0201】
図19A及び
図19Bに示したように第2ファイルに基づいて第2コンテンツの挿入時刻を決定して、定められた挿入時刻から第2コンテンツの再生を始めることができる。また、
図20に示したように、第1コンテンツのメディア表現記述に含まれた第2コンテンツの再生区間についての情報の’start’属性に基づいて第2コンテンツの挿入時刻を決定し、定められた挿入時刻から第2コンテンツの再生を始めてもよい。
【0202】
段階1516で第2コンテンツを再生していたクライアント130は、段階1517で第1コンテンツのメディアデータを要請し、要請に対する応答としてメディアデータを受信し、段階1518で第1コンテンツを再生する。第1コンテンツの再生途中で挿入されたコンテンツである第2コンテンツの再生区間が終了すれば、第1コンテンツの再生が中止された時刻から再び第1コンテンツを再生する。
【0203】
図15Aと関連して前述した通りに、
図15Bに示した実施形態で第2コンテンツの再生が必須でない場合には第2コンテンツの再生をスキップし、引続き第1コンテンツを再生してもよい。
【0204】
また、
図15Bは、第1ファイル、第2ファイル、第1コンテンツ及び第2コンテンツがいずれも同じサーバ120により提供される実施形態を図示したが、第1ファイル、第2ファイル、第1コンテンツ及び第2コンテンツのうち少なくとも一つが
図15Bのサーバ120ではない他のサーバにより提供されるということは、当業者ならば容易に理解できる。
【0205】
図21は、本発明の一実施形態によるメインコンテンツのメディア表現記述、挿入されるコンテンツ情報を含むファイル、及びそれに対応する再生区間を図示する。
図15Bの段階1511で、クライアント130が受信した第1ファイルに基づいて第1コンテンツを再生し、段階1512で、クライアント130が受信した第2ファイルに基づいて第2コンテンツを再生する場合を挙げて説明する。
【0206】
図21を参照すれば、本発明の一実施形態による第1コンテンツのメディア表現記述は、第1コンテンツの再生中に挿入される第2コンテンツの再生区間に対する’Period’タグ2120を含む。第1コンテンツの再生区間に対する’Period’タグ2110及び2130の間に、第2コンテンツの再生区間に対する’Period’タグ2120が挿入される。
【0207】
第1コンテンツの再生区間に対する’Period’タグ2110及び2130は、それぞれの再生区間で再生される第1コンテンツのメディアデータについての位置情報を含んでいるので、第1コンテンツの再生区間では第1コンテンツのメディアデータが再生される。
【0208】
第2コンテンツの再生区間に対する’Period’タグ2120は、第2コンテンツのメディアデータについての位置情報を含むファイルについての情報として’〜〜/period_external.xml’を定義する。したがって、クライアント130は、URLに基づいて複数の第2ファイル2122ないし2126のうち一つを受信する。複数の第2ファイル2122ないし2126はいずれも、’start’属性が第1ファイルの’Period’タグ2120の’start’属性と同一に’00:10:00’と定義されている。
【0209】
第1ファイルの’Period’タグ2120に定義された’external_start’属性は、第2コンテンツを基準とした開始時刻を定義する。また、複数の第2ファイル2122ないし2126により定義される複数の相異なる第2コンテンツの持続時間は、互いに異なって設定される。例えば、’period_external_1.xml’により定義される第2コンテンツの長さは’00:00:30’であり、’period_external_2.xml’により定義される第2コンテンツの長さは’00:01:00’でありうる。複数の第2ファイル2122ないし2126のうち一つのファイルが、クライアント130のユーザプロファイル及び選好度に基づいて選択されてサーバ120に伝送されるので、クライアント130のユーザプロファイル及び選好度に基づいて持続期間を互いに異なって設定して挿入できる。また、複数の第2ファイル2122ないし2126が相異なるコンテンツのメディアデータについての位置情報を含んでいるため、第2コンテンツとして第1コンテンツの再生途中で挿入されるコンテンツも互いに異なって設定できる。
【0210】
第1コンテンツの再生区間に対する’Period’タグ2110及び2130、及び複数の第2ファイル2122ないし2126の’Period’タグは、それぞれ相異なる品質でエンコーディングして生成された複数のメディアデータについての位置情報を含むことができ、それぞれのメディアデータは、メディアデータを時間に基づいて分割して生成された複数の部分を含む。
【0211】
前述したメディア表現記述に含まれた第2コンテンツの再生区間についての情報を含むタグは、いずれも第1コンテンツの再生途中で第2コンテンツが挿入される場合を図示した。しかし、逆に第1コンテンツの再生途中で第2コンテンツが挿入されないように第2コンテンツの再生区間についての情報を含むタグが設定されてもよい。
【0212】
第1コンテンツの再生区間及び第2コンテンツの再生区間が既に定められており、これを変更できない場合、ユーザは、第1コンテンツの再生途中で挿入される第2コンテンツを必ず再生せねばならない。第1コンテンツに対する部分及び第2コンテンツに対する部分が既に結合されて一つのメディアデータが生成されている場合がこれに該当する。この場合、第2コンテンツを再生せず、メディア表現記述を用いて第2コンテンツの挿入を無視できる。
【0213】
第2コンテンツの挿入時刻についての情報、持続時間についての情報及び第2コンテンツの再生如何を表す情報を、メディア表現記述の第2コンテンツの再生区間についての情報を含むタグで定義できる。挿入時刻に対する’’Insertiontime’’属性、持続時間に対する’’duration’’属性及び第2コンテンツの再生如何に対する’’onofflag’’属性を、それぞれ第2コンテンツの再生区間についての情報を含むタグで定義できる。第2コンテンツの再生区間を無視する場合には、’’onofflag’’属性は’’off’’と定義できる。
【0214】
第2コンテンツの再生区間の無視が明らかで’’onofflag’’を設定する必要もない場合には、’’Insertiontime’’属性及び’’duration’’属性のみ定義することで、第2コンテンツの再生区間をスキップしてもよい。
【0215】
図22は、本発明の一実施形態によるサーバを図示する。
【0216】
図22を参照すれば、本発明の一実施形態によるサーバ120は、情報伝送部2210及びメディアデータ伝送部2220を備える。
【0217】
情報伝送部2210は、クライアント130から所定情報の伝送要請を受信し、これに対する応答として要請された情報を伝送する。第1コンテンツの再生区間についての情報及び第2コンテンツの再生区間についての情報を含む第1ファイル、すなわち、メディア表現記述の伝送要請をクライアント130から受信し、要請されたメディア表現記述をクライアント130に伝送する。
図16Aないし
図16E、
図17Aないし
図17C、
図18、
図19A、
図20及び
図21に示した第1コンテンツ(すなわち、メインコンテンツ)のメディア表現記述をクライアント130に伝送できる。メディア表現記述の伝送を要請するHTTP要請をクライアント130から受信し、HTTP応答としてメディア表現記述を伝送できる。
【0218】
図15Bに示した実施形態のように、クライアント130が第1ファイルに基づいて第1コンテンツの再生途中で挿入される第2コンテンツのメディアデータについての位置情報を含む第2ファイルを再び要請すれば、情報伝送部2210は、
図19B、
図20及び
図21に示した第2ファイルをクライアント130に伝送できる。第1ファイルが第2コンテンツのメディアデータについての位置情報を含まず、第2ファイルのURLのみ含む場合に第2ファイルをクライアント130に伝送できる。
図20及び
図21に示したように、複数の第2ファイルのうち一つを選択してクライアント130に伝送してもよい。
【0219】
メディアデータ伝送部2220は、第1コンテンツまたは第2コンテンツの伝送要請をクライアント130から受信し、要請された第1コンテンツまたは第2コンテンツをクライアント130に伝送する。
図15Aに示した実施形態によって、情報伝送部2210が伝送した第1ファイルに基づいてクライアント130が第1コンテンツ及び第2コンテンツを要請するか、または
図15Bに示した実施形態によって、情報伝送部2210が伝送した第1ファイル及び第2ファイルに基づいて第1コンテンツ及び第2コンテンツを要請すれば、要請されたコンテンツをクライアント130に伝送する。
【0220】
サーバ120は、エンコーディング装置110から第1コンテンツを相異なる品質でエンコーディングして生成された複数のメディアデータを受信して保有している途中で、クライアント130がストリーミング環境によって選択された少なくとも一つのメディアデータを要請すれば、要請されたメディアデータを伝送する。第1コンテンツの再生途中で第2コンテンツの再生区間が始まって、クライアント130が第2コンテンツを要請すれば、第2コンテンツを相異なる品質でエンコーディングして生成された複数のメディアデータのうち、ストリーミング環境によって選択された少なくとも一つのメディアデータを伝送する。
【0221】
図22は、第1ファイル、第2ファイル、第1コンテンツ及び第2コンテンツがいずれも同じサーバ120により提供される実施形態を図示したが、第1ファイル、第2ファイル、第1コンテンツ及び第2コンテンツのうち少なくとも一つが、
図22のサーバ120ではない他のサーバにより提供されるということは、当業者ならば容易に理解できるであろう。例えば、第1ファイル及び第1コンテンツは、
図22のサーバ120により提供され、第2ファイル及び第2コンテンツは、広告を提供するために別途に備えられた広告サーバにより提供されてもよい。
【0222】
図23は、本発明の一実施形態によるクライアントを図示する。
【0223】
図23を参照すれば、本発明の一実施形態によるクライアント130は、情報受信部2310及びメディアデータ再生部2320を備える。
【0224】
情報受信部2310は、所定情報の伝送要請をサーバ120に伝送し、これに対する応答として要請された情報をサーバ120から受信する。第1コンテンツの再生区間についての情報及び第2コンテンツの再生区間についての情報を含む第1ファイル、すなわち、メディア表現記述の伝送要請をサーバ120に伝送し、要請されたメディア表現記述をサーバ120から受信する。
図16Aないし
図16E、
図17Aないし
図17C、
図18、
図19A、
図20及び
図21に示した第1コンテンツ(すなわち、メインコンテンツ)のメディア表現記述をサーバ120から受信できる。メディア表現記述の伝送を要請するHTTP要請をサーバ120に伝送し、HTTP応答としてメディア表現記述を受信する。
【0225】
図15Bに示した実施形態のように、情報受信部2310は第1ファイルに基づいて、第1コンテンツの再生途中で挿入される第2コンテンツのメディアデータについての位置情報を含む第2ファイルを再びサーバ120に要請し、
図19B、
図20及び
図21に示した第2ファイルをサーバ120から受信する。第1ファイルが第2コンテンツのメディアデータについての位置情報を含まず、第2ファイルのURLのみ含む場合に第2ファイルをサーバ120に要請し、受信する。
図20及び
図21に示したように、複数の第2ファイルのうち一つを受信してもよい。
【0226】
メディアデータ再生部2320は、第1コンテンツまたは第2コンテンツの伝送要請をサーバ120に伝送し、要請された第1コンテンツまたは第2コンテンツをサーバ120から受信する。
図15Aに示した実施形態によって、情報受信部2310が受信した第1ファイルに基づいて第1コンテンツ及び第2コンテンツを要請するか、または
図15Bに示した実施形態によって、情報受信部2310が受信した第1ファイル及び第2ファイルに基づいて第1コンテンツ及び第2コンテンツを要請できる。
【0227】
第1コンテンツを相異なる品質でエンコーディングして生成された複数のメディアデータを、ストリーミング環境によって少なくとも一つのメディアデータを選択して要請し、要請された少なくとも一つのメディアデータを受信する。第1コンテンツの再生途中で第2コンテンツの再生区間が始まれば、第2コンテンツを相異なる品質でエンコーディングして生成された複数のメディアデータのうち、ストリーミング環境によって少なくとも一つのメディアデータを選択して要請し、要請された少なくとも一つのメディアデータを受信する。第2コンテンツの再生区間が終了すれば、再び第1コンテンツの少なくとも一つのメディアデータを要請し、受信する。
【0228】
メディアデータ再生部2320は、
図14A及び
図14Bと関連して前述した広告アプリケーション部1412及びストリーミングエンジン部1414を備え、
図14Aに示した実施形態のように、第1コンテンツの再生途中で動的に第2コンテンツを挿入してもよく、
図14Bに示した実施形態のように静的に第2コンテンツを挿入してもよい。
【0229】
以上のように本発明は、たとえ限定された実施形態及び図面により説明されたとしても、本発明は前記の実施形態に限定されるものではなく、これは当業者ならば、かかる記載から多様な修正及び変形が可能である。したがって、本発明の思想は特許請求の範囲のみにより把握されねばならず、これと均等であるか、または等価的な変形はいずれも本発明の思想の範ちゅうに属するといえる。また、本発明によるシステムは、コンピュータで読み取り可能な記録媒体にコンピュータで読み取り可能なコードとして具現できる。
【0230】
例えば、本発明の例示的な実施形態によるサーバ及びクライアントは、
図22及び
図23に示したような装置のそれぞれのユニットにカップリングされたバス、前記バスに結合された少なくとも一つのプロセッサーを備える。また、命令、受信されたメッセージまたは生成されたメッセージを保存するために前記バスに結合されて、前述したような命令を行うための少なくとも一つのプロセッサーにカップリングされたメモリを含む。
【0231】
100 ストリーミングシステム
110 エンコーディング装置
120 サーバ
130 クライアント
140 ネットワーク