(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5787981
(24)【登録日】2015年8月7日
(45)【発行日】2015年9月30日
(54)【発明の名称】ライブコンテンツの効率よい再生装置及び方法
(51)【国際特許分類】
H04N 21/235 20110101AFI20150910BHJP
H04N 21/435 20110101ALI20150910BHJP
【FI】
H04N21/235
H04N21/435
【請求項の数】19
【全頁数】13
(21)【出願番号】特願2013-507868(P2013-507868)
(86)(22)【出願日】2011年4月19日
(65)【公表番号】特表2013-526204(P2013-526204A)
(43)【公表日】2013年6月20日
(86)【国際出願番号】KR2011002792
(87)【国際公開番号】WO2011136496
(87)【国際公開日】20111103
【審査請求日】2014年3月13日
(31)【優先権主張番号】10-2010-0039289
(32)【優先日】2010年4月28日
(33)【優先権主張国】KR
(31)【優先権主張番号】10-2010-0038677
(32)【優先日】2010年4月26日
(33)【優先権主張国】KR
(73)【特許権者】
【識別番号】503447036
【氏名又は名称】サムスン エレクトロニクス カンパニー リミテッド
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(72)【発明者】
【氏名】ジ・ウン・クム
(72)【発明者】
【氏名】ジェ・ヨン・ソン
(72)【発明者】
【氏名】ボ・スン・ジュン
【審査官】
鍬 利孝
(56)【参考文献】
【文献】
特表2013−505680(JP,A)
【文献】
特表2013−517676(JP,A)
【文献】
特開2003−235032(JP,A)
【文献】
特開2009−260947(JP,A)
【文献】
特開2005−130196(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00−21/858
(57)【特許請求の範囲】
【請求項1】
サーバーにおけるコンテンツの処理方法において、
以前のマルチメディア・プレゼンテーション・ディスクリプション(MPD)のtimeshiftBufferDepthと前記以前のMPDのセグメント期間との和が、NOWから現在のMPDのavailabilityStartTimeを差し引いた値よりも大きい場合に、前記以前のMPDのセグメント(リスト)を含む組み合わせられたセグメントリストを含むMPDを生成するステップと、
前記MPDを生成するステップにおいて生成されたMPDをクラインアントに転送するステップと、
を含むことを特徴とする方法。
【請求項2】
前記組み合わせられたセグメントリストは、
前記現在のMPDのavailabilityStartTimeとNOWの区間内に存在する前記現在のMPDのセグメントを含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記MPDを生成するステップにおいて、
前記以前のMPDのtimeshiftBufferDepthと前記以前のMPDのセグメント期間との和が、NOWから前記現在のMPDのavailabilityStartTimeを差し引いた値と等しいかまたはそれよりも小さい場合に、前記現在のMPDのセグメントリストを含むMPDを生成することを特徴とする請求項1に記載の方法。
【請求項4】
クライアントにおけるコンテンツの処理方法において、
現在のマルチメディア・プレゼンテーション・ディスクリプション(MPD)を受信するステップと、
以前のMPDのtimeshiftBufferDepthと前記以前のMPDのセグメント期間との和が、NOWから前記現在のMPDのavailabilityStartTimeを差し引いた値よりも大きい場合に、前記以前のMPDのセグメント(リスト)を含む組み合わせられたセグメントリストを生成するステップと、
を含むことを特徴とする方法。
【請求項5】
前記セグメントリストを生成するステップにおいて、
前記現在のMPDのavailabilityStartTimeとNOWの区間内に存在する前記現在のMPDのセグメントを含む組み合わせられたセグメントリストを生成することを特徴とする請求項4に記載の方法。
【請求項6】
前記セグメントリストを生成するステップにおいて、
前記以前のMPDのtimeshiftBufferDepthと前記以前のMPDのセグメント期間との和が、NOWから前記現在のMPDのavailabilityStartTimeを差し引いた値と等しいかまたはそれよりも小さい場合に、前記現在のMPDのセグメントリストを生成することを特徴とする請求項4に記載の方法。
【請求項7】
再生が要請される場合に、前記再生の要請されたコンテンツのセグメントが前記組み合わせられたセグメントリストにあるか否かを判断するステップと、
前記再生の要請されたコンテンツのセグメントが前記組み合わせられたセグメントリストにある場合に、サーバーに前記再生の要請に対応して前記再生の要請されたコンテンツを要請し、前記再生の要請されたコンテンツを前記サーバーから受信して再生するステップと、
をさらに含むことを特徴とする請求項4に記載の方法。
【請求項8】
コンテンツの再生要請がある場合に、ユーザーに前記組み合わせられたセグメントリストを提供するステップと、
前記組み合わせられたセグメントリストに基づいて前記ユーザーからの再生の要請がある場合に、サーバーに前記再生の要請に対応して前記再生の要請されたコンテンツを要請し、前記再生の要請されたコンテンツを前記サーバーから受信して再生するステップと、
をさらに含むことを特徴とする請求項4に記載の方法。
【請求項9】
クライアントに提供するコンテンツを処理するためのコンテンツ処理サーバー装置において、
以前のマルチメディア・プレゼンテーション・ディスクリプション(MPD)を格納するためのMPD格納部と、
前記以前のMPDのtimeshiftBufferDepthと前記以前のMPDのセグメント期間との和が、NOWから現在のMPDのavailabilityStartTimeを差し引いた値よりも大きい場合に、前記以前のMPDのセグメント(リスト)を含む組み合わせられたセグメントリストを含むMPDを生成するMPD生成部と、
を備えることを特徴とするサーバー装置。
【請求項10】
前記MPD生成部は、前記現在のMPDのavailabilityStartTimeとNOWの区間内に存在する前記現在のMPDのセグメントを含む組み合わせられたセグメントリストを含むMPDを生成することを特徴とする請求項9に記載のサーバー装置。
【請求項11】
前記MPD生成部は、前記以前のMPDのtimeshiftBufferDepthと前記以前のMPDのセグメント期間との和が、NOWから前記現在のMPDのavailabilityStartTimeを差し引いた値と等しいかまたはそれよりも小さい場合に、前記現在のMPDのセグメントリストを含むMPDを生成することを特徴とする請求項9に記載のサーバー装置。
【請求項12】
コンテンツ処理クライアント装置において、
以前のマルチメディア・プレゼンテーション・ディスクリプション(MPD)を格納するためのMPD格納部と、
前記以前のMPDのtimeshiftBufferDepthと前記以前のMPDのセグメント期間との和が、NOWから現在のMPDのavailabilityStartTimeを差し引いた値よりも大きい場合に、前記以前のMPDのセグメント(リスト)を含む組み合わせられたセグメントリストを生成するセグメントリスト生成部と、
を備えることを特徴とするクライアント装置。
【請求項13】
前記セグメントリスト生成部は、前記現在のMPDのavailabilityStartTimeとNOWの区間内に存在する前記現在のMPDのセグメントを含む組み合わせられたセグメントリストを生成することを特徴とする請求項12に記載のクライアント装置。
【請求項14】
前記セグメントリスト生成部は、前記以前のMPDのtimeshiftBufferDepthと前記以前のMPDのセグメント期間との和が、NOWから前記現在のMPDのavailabilityStartTimeを差し引いた値と等しいかまたはそれよりも小さい場合に、前記現在のMPDのセグメントリストを生成することを特徴とする請求項12に記載のクライアント装置。
【請求項15】
コンテンツ処理システムの動作方法において、
サーバーがマルチメディア・プレゼンテーション・ディスクリプション(MPD)を生成するステップであって、以前のMPDのtimeshiftBufferDepthと前記以前のMPDのセグメント期間との和が、NOWから現在のMPDのavailabilityStartTimeを差し引いた値よりも大きい場合に、前記以前のMPDのセグメント(リスト)を含む組み合わせられたセグメントリストを含むMPDを生成する、ステップと、
前記MPDを生成するステップにおいて生成されたMPDをクライアントに転送するステップと、
前記MPDを生成するステップにおいて生成されたMPDに含まれるセグメントリストをプレイリストとしてクライアントが格納するステップと、
再生が要請される場合に、前記再生の要請されたコンテンツのセグメントが前記プレイリストにあるか否かを判断するステップと、
前記再生の要請されたコンテンツのセグメントが前記プレイリストにある場合に、前記再生の要請に対応してサーバーに前記再生の要請されたコンテンツを要請し、前記再生の要請されたコンテンツを前記サーバーから受信して再生するステップと、
を含むことを特徴とする方法。
【請求項16】
前記組み合わせられたセグメントリストは、
(NOW−前記以前のMPDのtimeshiftBufferDepth−前記以前のMPDのセグメント期間)と前記以前のMPDにおけるChecktimeの区間内に存在する前記以前のMPDのセグメントを含むことを特徴とする請求項1に記載の方法。
【請求項17】
前記セグメントリストを生成するステップにおいて、
(NOW−前記以前のMPDのtimeshiftBufferDepth−前記以前のMPDのセグメント期間)と前記以前のMPDにおけるChecktimeの区間内に存在する前記以前のMPDのセグメントを含む組み合わせられたセグメントリストを生成することを特徴とする請求項4に記載の方法。
【請求項18】
前記MPD生成部は、
(NOW−前記以前のMPDのtimeshiftBufferDepth−前記以前のMPDのセグメント期間)と前記以前のMPDにおけるChecktimeの区間内に存在する前記以前のMPDのセグメントを含む組み合わせられたセグメントリストを含むMPDを生成することを特徴とする請求項9に記載のサーバー装置。
【請求項19】
前記セグメントリスト生成部は、
(NOW−前記以前のMPDのtimeshiftBufferDepth−前記以前のMPDのセグメント期間)と前記以前のMPDにおけるChecktimeの区間内に存在する前記以前のMPDのセグメントを含む組み合わせられたセグメントリストを生成することを特徴とする請求項12にクライアント装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はデジタル放送システムのライブコンテンツの処理方法に関し、特に、HTTPアダプティブ・ストリーミング方式によりライブ・ストリーミングをクライアントがサーバーから受信するときに、クライアントが接続可能なプレイリストを取得する方法に関する。
【背景技術】
【0002】
コンテンツをユーザー機器や転送帯域幅の変化に応じてクライアントに転送するために、コンテンツのセグメントに関する時間及び帯域幅などの関連情報を予めクライアントに転送し、クライアントが選択するようにしている。前記コンテンツの情報を転送するのに用いられるファイルを、マルチメディア・プレゼンテーション・ディスクリプション(MPD:Multimedia Presentation Description)ファイルと呼ぶ。刻々と変化する環境に適したマルチメディア転送のために、サーバーからクライアントへと予め転送されるMPDファイルは経時的に更新される必要がある。特に、リアルタイムにてライブ放送を転送する場合に、ライブコンテンツが生成されれば、当該MPDファイルの情報も変化する必要があるため、更新の手続きが必要である。
【0003】
図1は、従来のライブコンテンツを処理するサーバーの動作を示す図である。
前記
図1を参照すると、サーバーは、ステップ111において、クライアントから、放送時間の過ぎたコンテンツの転送要請を受信すると、ステップ113において、当該部分のコンテンツを利用可能か否か(すなわち、サーバーに格納されているか)を確認する。このとき、前記ステップ113において、コンテンツを利用可能であれば、前記サーバーは、ステップ115において、クライアントに要請された当該コンテンツを転送し、そうでなければ、ステップ117において、クライアントにエラーメッセージを転送する。
【0004】
上述したように、従来には、クライアントで要請を受けたコンテンツが、現在の時点でプレイ可能なコンテンツであるか否かが分からないため、とりあえずクライアントが要請を行い、サーバーが提供可能なコンテンツのセグメントであれば提供し、そうでなければ、拒絶メッセージを転送していた。しかしながら、上記の従来のコンテンツの処理方法は資源の無駄使いを招き、ユーザーにとってもコンテンツ再生の遅延が発生して効率よいコンテンツ提供を行うことができなかった。
【発明の概要】
【発明が解決しようとする課題】
【0005】
デジタル放送システムにおいてライブコンテンツを処理する場合に、サーバーからHTTPアダプティブ・ストリーミング方式によりライブ・ストリーミングを受信するときに、クライアントが接続可能なプレイリストを生成する。すなわち、本発明の実施形態は、ライブ・ストリーミングの連続的な放送において受信されるMPDを用いて、クライアントが現在の時点で再生可能なコンテンツのセグメントのリストを取得することのできる方法を提示する。
そして、クライアントは、ユーザーに現在再生可能なプレイリストを表示することにより、クライアントが再生不可能なセグメントを要請しないように案内する。
【0006】
また、本発明の別の実施態様においては、サーバー側のコンテンツプロバイダーがライブ・ストリーミング中にMPDを更新する場合に、新たなMPDと以前のMPDのセグメントリストから、使用可能なセグメントを含むセグメントリストを生成し、生成されたリストをクライアントに提供する。
【課題を解決するための手段】
【0007】
本発明の一実施態様に係るサーバーにおけるコンテンツの処理方法は、マルチメディア・プレゼンテーション・ディスクリプション(MPD)を生成するステップと、前記MPDをクライアントに転送するステップと、を含み、前記MPDは、以前のMPDのtimeshiftBufferDepthと以前のMPDのセグメント期間との和が、前記MPDのNOW以降の区間のavailabilityStarttimeよりも大きい場合に、前記以前のMPDのセグメントリストを含む組み合わせられたセグメントリストを含むことを特徴とする。
【0008】
本発明の別の実施態様に係るクライアントにおけるコンテンツの処理方法は、マルチメディア・プレゼンテーション・ディスクリプション(MPD)を受信するステップと、以前のMPDのtimeshiftBufferDepthと以前のMPDのセグメント期間との和が、前記MPDのNOW以降の区間のavailabilityStarttimeよりも大きい場合に、前記以前のMPDのセグメントリストを含むセグメント組み合わせリストを生成するステップと、を含むことを特徴とする。
【0009】
本発明のさらに別の実施態様に係るクライアントに提供するコンテンツを処理するためのコンテンツ処理サーバー装置は、以前のマルチメディア・プレゼンテーション・ディスクリプション(MPD)を格納するためのMPD格納部と、MPDを生成するユーザーリスト取得部と、を備え、前記MPDは、以前のMPDのtimeshiftBufferDepthと以前のMPDのセグメント期間との和が、前記MPDのNOW以降の区間のavailabilityStarttimeよりも大きい場合に、前記以前のMPDのセグメントリストを含む組み合わせられたセグメントリストを含むことを特徴とする。
【0010】
本発明のさらに別の実施態様に係るコンテンツ処理クライアント装置は、以前のマルチメディア・プレゼンテーション・ディスクリプション(MPD)を格納するためのMPD格納部と、MPDを生成するユーザーリスト取得部と、を備え、前記MPDは、以前のMPDのtimeshiftBufferDepthと以前のMPDのセグメント期間との和が、前記MPDのNOW以降の区間のavailabilityStarttimeよりも大きい場合に、前記以前のMPDのセグメントリストを含む組み合わせられたセグメントリストを含むことを特徴とする。
【0011】
本発明のさらに別の実施態様に係るコンテンツ処理システムの動作方法は、サーバーがMPDを生成するステップであって、以前のマルチメディア・プレゼンテーション・ディスクリプション(MPD)のtimeshiftBufferDepthと以前のMPDのセグメント期間との和が、前記MPDのNOW以降の区間のavailabilityStarttimeよりも大きい場合に、前記以前のMPDのセグメントリストを含む組み合わせられたセグメントリストを含むMPDを生成する、ステップと、前記MPDをクライアントに転送するステップと、前記現在のMPDを含むセグメントリストをプレイリストとしてクライアントが格納するステップと、再生が要請される場合に、前記再生の要請されたコンテンツのセグメントが前記プレイリストにあるか否かを判断するステップと、前記再生の要請されたコンテンツのセグメントが前記プレイリストにある場合に、前記再生の要請に対応してサーバーに前記再生の要請されたコンテンツを要請し、前記再生の要請されたコンテンツを前記サーバーから受信して再生するステップと、を含むことを特徴とする。
【発明の効果】
【0012】
サーバー及びクライアントを備えるデジタル放送システムにおいて、クライアントからのコンテンツの再生要請がユーザーによって入力されたときに、前記プレイリストに存在するコンテンツであれば、コンテンツ提供サーバーに要請して受信されるコンテンツをユーザーに提供し、そうでなければ、前記ユーザーにエラーメッセージを転送する。これにより、本発明の実施形態に係るデジタル放送システムにおいてライブコンテンツを処理する際に不要なコンテンツ転送要請の動作を省くことができて資源を効率よく用いることができ、また、ユーザーにとってもコンテンツ要請及び転送の手続きを効率よく行うことができてコンテンツ再生の遅延が生じないというメリットがある。
【図面の簡単な説明】
【0013】
【
図1】従来のデジタル放送システムにおける、ライブコンテンツの再生のためのサーバーの動作を示す図である。
【
図2】本発明の実施形態において用いられる時間概念を説明するための図である。
【
図3】本発明の実施形態に係るクライアントの動作を示す図である。
【
図4】本発明の実施形態に係るクライアントの構成を示す図である。
【
図5】本発明の実施形態に係るクライアントとサーバーとの間の動作手順を示す図である。
【発明を実施するための形態】
【0014】
以下、添付図面に基づき、本発明の好適な実施形態について詳述する。図中、同じ構成要素には、できる限り同じ符号を付している点に留意されたい。
また、下記の説明には、OIPF(Open IPTV Forum)において定義している個体の名称などの具体的な特性事項が開示されているが、これは、本発明のより一層の全般的な理解への一助となるように提供されたものに過ぎず、これらの特定事項がなくても本発明が実施可能であるということはこの技術分野において通常の知識を有する者にとって自明である。そして、本発明を説明するに当たって、関連する公知の機能または構成についての具体的な説明が本発明の要旨を余計に曖昧にする恐れがあると認められる場合にはその詳細な説明を省く。
【0015】
後述する詳細な説明には、上述した技術的課題を達成するための本発明における代表的な実施形態を提示する。また、本発明の説明の便宜のために、OIPF(Open IPTV Forum)において定義している個体の名称と同一の名称を用いているが、これらの標準及び名称が本発明の範囲を限定するものではなく、当然ながら、本発明は、類似する技術的な背景を有するシステムに適用可能である。
【0016】
最近、オンラインコンテンツの利用増加に伴い、コンテンツの円滑な転送の重要性が取り上げられている。これにより、利用可能な転送帯域幅やユーザーの機器性能の変化に応じてコンテンツのビットレートを変更して転送されるアダプティブ・ストリーミング技術が注目を集めている。HTTPプロトコルに基づいて細かく分割されたコンテンツの単位(すなわち、セグメント)をユーザー端末が状況に応じて選択してプレイし、このとき、ユーザー端末が遅延や途切れ現象なしにコンテンツを利用可能にする転送技術がいくつかの標準化団体において論議されている。
【0017】
本発明の第1実施形態は、クライアントがHTTPアダプティブ・ストリーミング方式によりライブ・ストリーミングをサーバーから受信するとき、前記クライアントが接続可能なプレイリストを取得する装置及び方法に関する。また、本発明の第2実施形態は、サーバーがHTTPアダプティブ・ストリーミング方式によりライブ・ストリーミングをクライアントに転送するとき、接続可能なプレイリストを生成してクライアントに転送する装置及び方法に関する。
【0018】
本発明の第1実施形態に係るデジタル放送のライブコンテンツの処理方法について説明すると、サーバーは、コンテンツに紐付けられた情報をクライアントに渡して更新する。次いで、クライアントは、リアルタイムにて再生可能なコンテンツのセグメントを取得し、以前の(過去の)コンテンツに紐付けられた情報を格納し、以前のコンテンツに紐付けられた情報を検索して再生可能なコンテンツのセグメントを取り出し、これを含むプレイリストを生成する。そして、当該プレイリストを用いてユーザーが以前のコンテンツを要請したときに、クライアントが再生可能であるか否かを確認し、これをユーザーに通知する。また、コンテンツ転送サーバー及びコンテンツ提供サーバーを備える放送システムにおいてクライアントがライブコンテンツを処理するとき、前記クライアントはコンテンツ転送サーバーから更新済みのMPDファイル(すなわち、現在のMPDファイル)を受信したときに、以前のMPDファイルと現在のMPDファイルとからセグメントリストを取り出してプレイリストを生成する。そして、ユーザーからコンテンツ再生が要請されると、前記クライアントは、要請されたコンテンツがプレイリストに存在するコンテンツであれば、コンテンツ提供サーバーに当該コンテンツを要請及び受信してユーザーに提供し、そうでなければ(すなわち、プレイリストにないコンテンツであれば)、コンテンツ提供サーバーにこれを要請することなく、前記ユーザーにエラーメッセージを転送する。
【0019】
このとき、前記クライアントは、プレイリストの生成ステップを行った後、生成されたプレイリストをユーザーに提供してユーザーがプレイリストに存在するコンテンツを要請するように案内してもよい。また、前記ユーザーがコンテンツ再生を要請する前に前記クライアントにプレイリストの転送を要求し、クライアントがユーザーにプレイリストを渡してユーザーが再生可能なコンテンツを要求するようにしてもよい。さらに、本発明の第2実施形態においては、コンテンツプロバイダーがライブ・ストリーミング中にMPDを更新する場合に、前記コンテンツプロバイダーは新たなMPD(すなわち、現在のMPD)及び以前のMPDのセグメントリストから使用可能なセグメントを含むプレイリストを生成し、これをクライアントに転送する。
【0020】
図2は、本発明の実施形態において用いられる時間概念を説明するための図である。前記
図2に示す本発明において用いられる時間に関する用語は、3GPPの標準文書に従う。
前記
図2において、「NOW」は、現在、ユーザーがライブコンテンツを視聴する時間を意味する。そして、「timeShiftBufferdepth」は、サーバーのコンテンツ格納所にライブコンテンツの過去の一部をバッファリングして格納しておく時間を意味する。ここで、それぞれのMPDファイルは異なるサイズのtimeShiftBufferdepthを有していてもよい。「セグメント期間」は、コンテンツの一つの断片(セグメント)の時間の長さを意味する。「CheckTime」は、MPDファイルの更新のためにクライアントがサービスプロバイダーにMPDファイル要請メッセージを送る時間を意味する。「availabilityStartTime」は、MPDファイルが有効となる時間を意味する。
【0021】
図3は、本発明の実施形態に係るクライアントの動作を示す図である。前記
図3において、クライアントは、MPDファイルの情報に基づいて、現在の時点で接続可能なセグメントのリストを取得する。すなわち、本発明の第1実施形態において、クライアントは、ライブ・ストリーミングの連続的な放送においてMPDファイルを用いてプレイリストを更新するステップにおいて、クライアントが現在の時点で再生可能なコンテンツのセグメントのリストを取得する方法を提示する。前記
図3を参照すると、クライアントは、CheckTimeになると、ステップ311において、まず、現在のコンテンツセグメントに相当するMPDファイル以前のMPDファイル(以前のMPDファイル)のtimeshiftBufferdepth値と、以前のMPDファイルのセグメント期間との和が、現在の時間から現在のコンテンツのセグメントのavailabilityStartTimeを差し引いた値よりも大きいか否かを確認する。このとき、前記ステップ311において、([以前のMPDにおけるtimeshiftbufferdepth+以前のMPDにおけるセグメント期間]が[NOW−現在のMPDにおけるavailabilityStartTime]よりも大きければ、前記クライアントはステップ313に移行し、以前のMPDファイルによる一部のセグメント及び現在のMPDファイルによるセグメントを組み合わせてセグメントリストを取り出す。また、前記ステップ311において、[以前のMPDにおけるtimeshiftbufferdepth+以前のMPDにおけるセグメント期間]が[NOW−現在のMPDにおけるavailabilityStartTime]よりも大きくなければ、前記クライアントは、ステップ315において、現在のMPDによるセグメントリストを取り出す。
【0022】
ここで、前記ステップ313の動作について説明すると、前記ステップ311において、[以前のMPDにおけるtimeshiftbufferdepth+以前のMPDにおけるセグメント期間]が[NOW−現在のMPDにおけるavailabilityStartTime]よりも大きいことが確認されれば、クライアントは、以前のMPDに属しているセグメントから現在再生可能なコンテンツセグメントを取り出すステップを行う。すなわち、現在の時間NOWから以前のMPDのtimeShiftBufferDepthと以前のMPDにおけるセグメント期間の値を差し引いた時間とCheckTimeとの間に再生可能なセグメントのリストを取得する。また、前記クライアントは、現在のMPDに属するセグメントのうち、現在の時点で再生可能なセグメントのリストを取得する。すなわち、現在のMPDにおけるavailabilityStartTimeと現在の時間NOWとの間に再生可能なセグメントのリストを取得する。このため、[NOW−以前のMPDにおけるtimeShiftBufferDepth−以前のMPDにおけるセグメント期間;以前のMPDにおけるCheckTime]の間に再生可能な以前のMPDのセグメントと[availabilityStartTime;NOW]区間において再生可能な現在のMPDのセグメントのリストを合わせることにより、現在の時点NOWで再生可能なセグメントのプレイリストを生成する。
【0023】
クライアントは、このようにして取得した当該プレイリストを格納する。この後、ユーザーが、コンテンツの過去時点のセグメントの再生を要請すると、クライアントは、要請されたコンテンツが格納されているプレイリストに含まれているものであれば、サーバーに当該時点のセグメントを要請するメッセージを送り、そうでなければ、当該セグメントの転送をコンテンツ提供サーバーに要請することなく、ユーザーにエラーメッセージを表示する。なお、予めユーザーに現在再生可能な時点を通知することにより、ユーザーが再生不可能なコンテンツを要請しないようにしてもよい。
【0024】
図4は、本発明の実施形態に係るサーバーまたはクライアントの構成を示す図である。
前記
図4を参照すると、以前のMPD格納所410は、現在再生中のコンテンツセグメントのためのMPDではなく、それ以前のMPD(以前のMPD)を格納している。プレイリスト取出モジュール420は、現在の時点においてクライアントがサーバーに要請して再生可能なセグメントのリストを取得する機能を行う。前記プレイリスト取出モジュール420は、前記
図3に示す手続きを行いながらプレイリストを生成することができる。アダプティブ・アルゴリズム動作器430は、クライアントが帯域幅や機器の能力に応じて適切なコンテンツのセグメントを取得する動作を行う。プレイリスト確認部440は、ユーザーが要請した時点のセグメントが現在のプレイリスト取出モジュールが取得したプレイリストに含まれているか否かを確認する機能を行う。
【0025】
図5は、本発明の実施形態に係るクライアントとサーバーとの間の動作の手続きを示す図である。
前記
図5を参照すると、コンテンツ提供サーバー505は、クライアント503にコンテンツを提供するためのMPDを生成し、メッセージを送受信する役割を果たすサービスプロバイダーに属しているサーバーである。まず、ユーザー501が、ステップ511において、コンテンツ視聴を要請すると、クライアント503は、ステップ513において、コンテンツ提供サーバーにアダプティブ・ストリーミング・コンテンツ要請メッセージを転送する。次いで、前記コンテンツ提供サーバー505は、ステップ515において、コンテンツのアダプティブ・ストリーミング支援のための最初のMPDファイル(MPD#1 file)を構成し、ステップ517において、当該コンテンツを転送するために生成された最初のMPDファイルをクライアント503に転送する。次いで、前記MPDファイルを受信したクライアントは、ステップ519において、ライブ放送ストリーミングを提供するライブコンテンツ提供サーバー507のURLに各セグメントを接続し(すなわち、当該ファイルのURLに接続してコンテンツを要請し)、これにより、前記ライブコンテンツ提供サーバー507は、ステップ521において、前記クライアント503により要請された当該セグメントをクライアント503に転送する。次いで、ユーザー501は、ステップ523において要請したコンテンツを視聴することができる。
【0026】
このとき、サービスプロバイダーがMPDを更新せざるを得ない状況になったとき、前記コンテンツ提供サーバー505は、ステップ525において、コンテンツのアダプティブ・ストリーミング支援のために次のMPDファイル(ここでは、MPD#2 fileであってもよい)を構成する。そして、クライアント503は、ステップ527において、以前のMPDファイル(ここでは、MPD#1 fileであってもよい)を格納し、ステップ529において、最初のMPD(MPD#1、以前のMPD)のCheckTimeになると、前記クライアント503は、ステップ531において、MPDの更新のために、前記コンテンツ提供サーバー505にMPD更新要請メッセージを転送する。次いで、前記コンテンツ提供サーバー505は、ステップ533において、2番目のMPDファイル(MPD#2file、現在のMPDfile)をクライアント503に転送する。
【0027】
次いで、前記クライアント503は、ステップ535において、前記
図3に示す手続きを行いながら、現在再生可能なプレイリストを生成する。このとき、前記以前のMPDはMPD#1であってもよく、現在のMPDはMPD#2であってもよい。
このとき、ユーザー501が、ステップ537において、過去時点のコンテンツ再生を要請すると、前記クライアント503は、ステップ539において、ユーザーが要請した時点のコンテンツセグメントが現在プレイリストにあるか否かを確認する。このとき、ユーザー504が要請したコンテンツが、ステップ535において生成されたプレイリストにあれば、クライアント503は、ステップ541において、当該セグメントをライブコンテンツ提供サーバー507に要請し、前記ライブコンテンツ提供サーバー507は、ステップ543において、これをクライアント503に転送する。このため、ユーザーは、ステップ545において要請した過去時点のコンテンツを視聴することができる。もし、前記ユーザーが要請した時点のセグメントが現在プレイリストに含まれていなければ、クライアント503は、ステップ551において、ユーザー501にエラーメッセージを転送する。
【0028】
上述したように、クライアント503は、プレイリストを生成して格納している状態でユーザーから過去時点のコンテンツ再生要請を受信すると、要請されたコンテンツがプレイリストに存在するか否かを確認する。このとき、当該コンテンツがプレイリストに存在すれば、クライアント503は、ステップ540を実行しながら、ライブコンテンツ提供サーバー507から当該コンテンツを要請及び受信してユーザー501が当該コンテンツを視聴できるように制御し、プレイリストに存在しなければ、クライアント503は、ライブコンテンツ提供サーバー507に当該コンテンツを要請する動作を行うことなく、ステップ551において、ユーザーにエラーメッセージを転送する。このため、本発明の実施形態に係るコンテンツ処理方法は、不要なコンテンツの要請を行わないことから資源の無駄使いを招かず、ユーザーにとってもコンテンツ再生の遅延が発生しないことから効率よいコンテンツ提供を行うことができる。
【0029】
また、前記クライアント503は、ユーザー501に現在再生可能なプレイリストを表示することにより、クライアントが再生不可能なセグメントを要請しないように案内してもよい。すなわち、前記クライアント503は、前記ステップ535において、プレイリストを生成した後、これをユーザー501が確認できるように表示してもよい。この場合、ユーザー501は、コンテンツ再生の要請に際して前記プレイリストを確認しながら再生可能なセグメントのみを要請するようにしてもよい。あるいは、別の方法として、ユーザーは、過去時点のコンテンツ再生を要請したときにクライアント503にプレイリストを要請し、クライアント503により応答されるプレイリストを確認して効率よくコンテンツを要請するようにしてもよい。
【0030】
本発明の第2実施形態について説明する。
本発明の第2実施形態においては、サーバーがMPDを更新するために新たなMPDを生成するとき、以前のMPDが管理するセグメントのうち依然として接続可能なセグメントのリスト(すなわち、プレイリスト)を含む新たなMPDを生成する。そして、前記サーバーは、生成されたプレイリストを含む新たなMPDをクライアントに転送して更新する。本発明の第2実施形態においては、前記
図3に示す動作をコンテンツ提供サーバー505において行うことができる。コンテンツプロバイダーがライブ・ストリーミングの場合にMPDを更新するとき、上述したように、新たなMPDは以前のMPDのセグメントをはじめとして、利用可能なあらゆるセグメントを含んでいる必要がある。もし、以前のMPDのtimeShiftBufferdepthとセグメント期間との和が、NOWから現在のMPDにおけるavailabilityStartTimeを差し引いた値よりも大きければ、新たなMPDは、当該メディアセグメントと期間(period)の開始時間との和が、現在のMPDと以前のMPDのNOW−timeshiftBufferDepth−durationとCheckTimeとの間に存在するメディアセグメントをいずれも含む。
【0031】
あるいは、以前のMPDのtimeShiftBufferdepthとセグメント期間との和が、NOWから現在のMPDのavailabilityStartTimeを差し引いた値よりも大きければ、プレイリストは、当該メディアセグメントと期間(period)の開始時間との和が、現在のMPDと以前のMPDのNOW−timeshiftBufferDepth−durationとCheckTimeとの間に存在するメディアセグメントをいずれも含む。
【0032】
あるいは、以前のMPDのtimeShiftBufferdepthとセグメント期間との和が、NOWから現在のMPDのavailabilityStartTimeを差し引いた値よりも大きければ、新たなMPDは、当該メディアセグメントと期間(period)の開示時間との和が、現在のMPDと以前のMPDのNOW−timeshiftBufferDepth−durationとCheckTime、NOW、availabilityStartTime+mediaPresentationDurationのうち最も小さな値[min(CheckTime,NOW,availabilityStartTime+mediaPresentationDuration)]との間に存在するメディアセグメントをいずれも含む。
【符号の説明】
【0033】
410 以前のMPD格納所
420 プレイリスト取出モジュール
430 アダプティブ・アルゴリズム動作器
440 プレイリスト確認部
501 ユーザー
503 クライアント
505 コンテンツ提供サーバー
507 ライブ放送コンテンツ提供サーバー(バッファ付き)