特許第5917508号(P5917508)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ フル・エルエルシーの特許一覧

特許5917508休止された再生をプラットフォーム全体にわたって同期化する方法および装置
<>
  • 特許5917508-休止された再生をプラットフォーム全体にわたって同期化する方法および装置 図000002
  • 特許5917508-休止された再生をプラットフォーム全体にわたって同期化する方法および装置 図000003
  • 特許5917508-休止された再生をプラットフォーム全体にわたって同期化する方法および装置 図000004
  • 特許5917508-休止された再生をプラットフォーム全体にわたって同期化する方法および装置 図000005
  • 特許5917508-休止された再生をプラットフォーム全体にわたって同期化する方法および装置 図000006
  • 特許5917508-休止された再生をプラットフォーム全体にわたって同期化する方法および装置 図000007
  • 特許5917508-休止された再生をプラットフォーム全体にわたって同期化する方法および装置 図000008
  • 特許5917508-休止された再生をプラットフォーム全体にわたって同期化する方法および装置 図000009
  • 特許5917508-休止された再生をプラットフォーム全体にわたって同期化する方法および装置 図000010
  • 特許5917508-休止された再生をプラットフォーム全体にわたって同期化する方法および装置 図000011
  • 特許5917508-休止された再生をプラットフォーム全体にわたって同期化する方法および装置 図000012
  • 特許5917508-休止された再生をプラットフォーム全体にわたって同期化する方法および装置 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5917508
(24)【登録日】2016年4月15日
(45)【発行日】2016年5月18日
(54)【発明の名称】休止された再生をプラットフォーム全体にわたって同期化する方法および装置
(51)【国際特許分類】
   H04N 21/442 20110101AFI20160428BHJP
   H04N 21/2387 20110101ALI20160428BHJP
   G06F 13/00 20060101ALI20160428BHJP
【FI】
   H04N21/442
   H04N21/2387
   G06F13/00 540A
【請求項の数】28
【全頁数】36
(21)【出願番号】特願2013-518503(P2013-518503)
(86)(22)【出願日】2011年6月24日
(65)【公表番号】特表2013-536612(P2013-536612A)
(43)【公表日】2013年9月19日
(86)【国際出願番号】US2011041778
(87)【国際公開番号】WO2012009136
(87)【国際公開日】20120119
【審査請求日】2014年5月26日
(31)【優先権主張番号】12/912,020
(32)【優先日】2010年10月26日
(33)【優先権主張国】US
(31)【優先権主張番号】61/359,258
(32)【優先日】2010年6月28日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】512333560
【氏名又は名称】フル・エルエルシー
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100109830
【弁理士】
【氏名又は名称】福原 淑弘
(74)【代理人】
【識別番号】100088683
【弁理士】
【氏名又は名称】中村 誠
(74)【代理人】
【識別番号】100103034
【弁理士】
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100095441
【弁理士】
【氏名又は名称】白根 俊郎
(74)【代理人】
【識別番号】100075672
【弁理士】
【氏名又は名称】峰 隆司
(74)【代理人】
【識別番号】100140176
【弁理士】
【氏名又は名称】砂川 克
(72)【発明者】
【氏名】ウォン、ロバート・エム.
(72)【発明者】
【氏名】リ、エデン・エス.
【審査官】 鍬 利孝
(56)【参考文献】
【文献】 特開2008−306600(JP,A)
【文献】 特開2004−356867(JP,A)
【文献】 特開2005−295467(JP,A)
【文献】 特表2006−501711(JP,A)
【文献】 特開2001−359073(JP,A)
【文献】 特開2004−064330(JP,A)
【文献】 米国特許出願公開第2007/0136488(US,A1)
【文献】 米国特許出願公開第2009/0287841(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00−21/858
H04N 7/10,7/14−7/173,7/20−7/22
H04N 5/38−5/46
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
第1のデバイス上で開始され第2のデバイス上で再開されるメディアプログラムの再生を再開する方法であって、前記方法は、
(a)メディアプログラムの要求をメディアプログラムプロバイダにおいて前記第1のデバイスから受信することと、
(b)前記要求されたメディアプログラムについてセグメントプレイリストを生成することと、ここで、
前記メディアプログラムは、複数のメディアプログラムセグメントの第1のサブセットと、複数のメディアプログラムセグメントの前記第1のサブセット間で時間的に分散された複数のメディアプログラムセグメントの第2のサブセットとを備え、前記セグメントプレイリストは、
メディアサーバから複数のメディアプログラムセグメントの前記第1のサブセットを検索する命令と、
メディアプログラムプロバイダを介して前記メディアサーバから複数のメディアプログラムセグメントの前記第2のサブセットを検索する命令とを含む、
(c)前記第1のデバイスに前記セグメントプレイリストを伝送することと、
(d)複数のメディアプログラムセグメントの前記第2のサブセットを検索する前記命令から導出された、複数のメディアプログラムセグメントの前記第2のサブセットの少なくとも1つを検索する第1の要求を前記メディアプログラムプロバイダにおいて前記第1のデバイスから受信することと、
(e)前記メディアプログラムプロバイダによって、複数のメディアプログラムセグメントの前記第2のサブセットの少なくとも1つを検索する前記第1の要求を前記メディアサーバにリダイレクトすることと、ここで、
前記メディアサーバは、前記複数のメディアプログラムセグメントの前記第2のサブセットの前記少なくとも1つを前記第1のデバイスに送ることにより、前記第1の要求に応答する、
前記メディアサーバは、前記複数のメディアプログラムセグメントの前記第1のサブセットの少なくとも1つを前記第1のデバイスに送ることにより、複数のメディアプログラムセグメントの前記第1のサブセットの少なくとも1つを検索する第2の要求に応答する、
(f)前記メディアプログラムの再生を再開する要求を、前記メディアプログラムプロバイダにおいて前記第2のデバイスから受信することと、
(g)複数のメディアプログラムセグメントの前記第2のサブセットの少なくとも1つを検索する前記第1の要求に基づいて、前記メディアプログラムの再生を再開する前記メディアプログラム内の時間的場所を、前記メディアプログラムプロバイダによって、決定することと、
(h)前記時間的場所に基づいて、前記第2のデバイスに前記メディアプログラムの再生を再開する情報を伝送することとを備える方法。
【請求項2】
前記第2のデバイスに前記メディアプログラムの再生を再開する情報を伝送することは、
(i)前記再開される要求されたメディアプログラムについて、前記決定された時間的場所後に時間的に発生する複数のメディアプログラムセグメントを含む再開されるセグメントプレイリストを生成することと、
(j)前記再開されたセグメントプレイリストを前記第2のデバイスに伝送することとを備える請求項1に記載の方法。
【請求項3】
前記第2のデバイスに前記メディアプログラムの再生を再開する情報を伝送することは、前記メディアプログラムの再生を再開する前記メディアプログラム内の前記時間的場所とメディアプログラム識別子とを前記第2のデバイスに伝送することとを備える請求項1に記載の方法。
【請求項4】
前記第1のデバイスから複数のメディアプログラムセグメントの前記第2のサブセットの前記少なくとも1つを検索する前記第1の要求は、前記メディアプログラム内の時間的場所を含む請求項1に記載の方法。
【請求項5】
前記方法は、複数のメディアプログラムセグメントの前記第2のサブセットの前記少なくとも1つを検索する前記第1の要求を記録することを更に備え、
前記メディアプログラムの再生を再開する前記メディアプログラム内の前記時間的場所を決定することは、前記記録された第1の要求を使用して前記時間的場所を決定することを備える請求項1に記載の方法。
【請求項6】
前記記録された第1の要求を使用して前記時間的場所を決定することは、複数のメディアプログラムセグメントの前記第2のサブセットの前記少なくとも1つを検索する前記記録された第1の要求の前に前記時間的場所を前記メディアプログラムセグメントから決定することを備える請求項5に記載の方法。
【請求項7】
第1のデバイス上で開始され第2のデバイス上で再開されるメディアプログラムの再生を再開する方法であって、前記方法は、
(a)前記メディアプログラムの要求をメディアプログラムプロバイダに、前記第1のデバイスによって伝送することと、
(b)前記第1のデバイスにおいて前記要求されたメディアプログラムのセグメントプレイリストを受信することと、ここで、
前記メディアプログラムは、複数のメディアプログラムセグメントの第1のサブセットと、複数のメディアプログラムセグメントの前記第1のサブセット間に時間的に分散された複数のメディアプログラムセグメントの第2のサブセットとを備え、前記セグメントプレイリストは、
メディアサーバから複数のメディアプログラムセグメントの前記第1のサブセットを検索する命令と、
前記メディアプログラムプロバイダを介して前記メディアサーバから複数のメディアプログラムセグメントの前記第2のサブセットを検索する命令とを備える、
(c)前記メディアサーバからの前記第1のサブセットの前記メディアプログラムセグメントを検索する前記命令から導出された、前記第1のデバイスからの、複数のメディアプログラムセグメントの前記第1のサブセットの少なくとも1つを検索する第1の要求を前記メディアサーバに伝送することと、
(d)複数のメディアプログラムセグメントの前記第1のサブセットの前記要求された少なくとも1つを前記メディアサーバから受信することと、
(e)複数のメディアプログラムセグメントの前記第2のサブセットを検索する前記命令から導出された、前記第1のデバイスからの、複数のメディアプログラムセグメントの前記第2のサブセットの少なくとも1つを検索する第2の要求を前記メディアプログラムプロバイダに伝送することと、
(f)前記メディアプログラムプロバイダから前記メディアサーバにリダイレクトされた、前記第2の要求に従って、前記第1のデバイスによって、複数のメディアプログラムセグメントの前記第2のサブセットの前記要求された少なくとも1つを前記メディアサーバから受信することと、
(g)前記第1のデバイス上の前記メディアプログラムの再生を終了することとを備え、
ここで、前記第2のデバイスは、
前記メディアプログラムの再生を再開する要求を前記メディアプログラムプロバイダに伝送し、
前記第2の要求によって要求された、複数のメディアプログラムセグメントの前記第2のサブセットの前記少なくとも1つの場所から決定された前記メディアプログラム内の時間的場所にて始まる再生を再開するために情報を受信する方法。
【請求項8】
複数のメディアプログラムセグメントの前記第2のサブセットの少なくとも1つを検索する前記第2の要求は、前記メディアプログラム内の現在の時間的場所を含む請求項7に記載の方法。
【請求項9】
前記メディアサーバは、ライブストリーミングメディアサーバである請求項7に記載の方法。
【請求項10】
第1のデバイスにより開始され第2のデバイス上で再開されるメディアプログラムの再生を再開する方法であって、前記方法は、
メディアサーバによって、第1のデバイスに前記メディアプログラムを伝送する第1の要求を受信することと、
前記メディアサーバによって、前記メディアプログラムを検索することと、
前記メディアサーバによって、前記第1のデバイスに前記メディアプログラムをストリーミングすることと、
前記メディアサーバによって、メディアプログラムストリーミング情報を生成するために前記第1のデバイスへの前記メディアプログラムの前記ストリーミングをモニタすることと、
前記メディアサーバによって、メディアプログラムプロバイダに前記メディアプログラムストリーミング情報を伝送することと、
前記メディアサーバによって、前記メディアプログラムの伝送を再開する第2の要求を第2のデバイスから受信することと、
前記メディアサーバによって、前記メディアプログラム内の時間的場所を前記メディアプログラムプロバイダから受信することと、ここで、前記メディアプログラムプロバイダは、前記メディアサーバから前記メディアプログラムプロバイダに伝送された前記メディアプログラムストリーミング情報から前記時間的場所を決定した、
前記メディアサーバによって、前記メディアサーバから前記第2のデバイスへの前記メディアプログラムの伝送を前記メディアプログラムストリーミング情報から決定された前記時間的場所から再開することとを備える方法。
【請求項11】
前記第2のデバイスからの、前記メディアプログラムの伝送を再開する前記第2の要求は、前記メディアプログラム内の前記時間的場所を備え、
前記メディアプログラム内の前記時間的場所は、前記第2のデバイスへの前記メディアプログラムの伝送を前記メディアプログラムストリーミング情報から決定された前記時間的場所から再開するために前記第2のデバイスに伝送される請求項10に記載の方法。
【請求項12】
前記決定された時間的場所後に時間的に発生する複数のメディアプログラムセグメントを含む再開されるセグメントプレイリストは、前記再開される要求されたメディアプログラムについて、生成され、
前記再開されたセグメントプレイリストは、前記第2のデバイスに伝送される請求項10に記載の方法。
【請求項13】
第1のデバイスにより開始され第2のデバイス上で再開されるメディアプログラムの再生を再開する方法であって、前記方法は、
メディアサーバから前記第1のデバイスへの前記メディアプログラムの伝送を開始する第1の要求を前記第1のデバイスから受信することと、
前記第1のデバイスに前記メディアサーバによりストリーミングされる前記メディアプログラムを識別するメディアプログラム識別子を前記第1のデバイスに伝送することと、
前記メディアサーバから前記第1のデバイスへの前記メディアプログラムのモニタされたストリーミングから生成されたメディアプログラムストリーミング情報を前記メディアサーバから受信することと、
前記メディアサーバから第2のデバイスへの前記メディアプログラムの伝送を再開する第2の要求を前記第2のデバイスから受信することと、
前記メディアプログラムの伝送を再開する前記メディアプログラム内の時間的場所を少なくともある程度前記メディアプログラムストリーミング情報から決定することと、
メディアプログラム識別子および前記時間的場所を記述する情報を前記第2のデバイスに伝送することとを備える方法。
【請求項14】
前記メディアサーバは、フラッシュサーバである請求項13に記載の方法。
【請求項15】
第1のデバイス上で開始され第2のデバイス上で再開されるメディアプログラムの再生を再開する装置であって、前記装置は、
1つまたは複数のコンピュータプロセッサと、
命令を備える非一時的コンピュータ可読な記憶媒体とを備え、前記命令は、実行された場合、前記1つまたは複数のコンピュータプロセッサを、
(a)前記メディアプログラムの要求を前記第1のデバイスからメディアプログラムプロバイダにおいて受信することと、
(b)前記要求されたメディアプログラムについてセグメントプレイリストを生成することと、ここで、
前記メディアプログラムは、複数のメディアプログラムセグメントの第1のサブセットと、複数のメディアプログラムセグメントの前記第1のサブセット間に時間的に分散された複数のメディアプログラムセグメントの第2のサブセットとを備え、前記セグメントプレイリストは、
メディアサーバから前記複数のメディアプログラムセグメントの前記第1のサブセットを検索する命令と、
メディアプログラムプロバイダを介して前記メディアサーバから複数のメディアプログラムセグメントの前記第2のサブセットを検索する命令とを備える、
(c)前記第1のデバイスに前記セグメントプレイリストを伝送することと、
(d)複数のメディアプログラムセグメントの前記第2のサブセットを検索する前記命令から導出された、複数のメディアプログラムセグメントの前記第2のサブセットの少なくとも1つを検索する第1の要求を前記メディアプログラムプロバイダにおいて前記第1のデバイスから受信することと、
(e)前記メディアプログラムプロバイダによって、複数のメディアプログラムセグメントの前記第2のサブセットの前記少なくとも1つを検索する前記第1の要求を前記メディアサーバにリダイレクトすることと、ここで、
前記メディアサーバは、前記第1のデバイスに複数のメディアプログラムセグメントの前記第2のサブセットの前記少なくとも1つを送ることにより前記第1の要求に応答し、
前記メディアサーバは、前記第1のデバイスに複数のメディアプログラムセグメントの前記第1のサブセットの前記少なくとも1つを送ることにより、前記複数のメディアプログラムセグメントの前記第1のサブセットの少なくとも1つの第2の要求に応答する、
(f)前記メディアプログラムの再生を再開する要求を前記メディアプログラムプロバイダにおいて前記第2のデバイスから受信することと、
(g)複数のメディアプログラムセグメントの前記第2のサブセットの前記少なくとも1つを検索する前記第1の要求から、前記メディアプログラムの再生を再開する前記メディアプログラム内の時間的場所を前記メディアプログラムプロバイダによって、決定することと、
(h)前記時間的場所に基づいて前記第2のデバイスに前記メディアプログラムの再生を再開する情報を伝送することと
のために構成されるように制御する装置。
【請求項16】
前記第2のデバイスに前記メディアプログラムの再生を再開する情報を伝送することは、
(i)前記再開される要求されたメディアプログラムについて、前記決定された時間的場所後に時間的に発生する複数のメディアプログラムセグメントを含む再開されるセグメントプレイリストを生成することと
(j)前記再開されたセグメントプレイリストを前記第2のデバイスに伝送することとを備える請求項15に記載の装置。
【請求項17】
前記第2のデバイスに前記メディアプログラムの再生を再開する情報を伝送することは、前記メディアプログラムの再生を再開する前記メディアプログラム内の前記時間的場所とメディアプログラム識別子とを前記第2のデバイスに伝送することを備える請求項15に記載の装置。
【請求項18】
前記メディアプログラムプロバイダにおいて受信された前記第1のデバイスからの、複数のメディアプログラムセグメントの前記第2のサブセットの少なくとも1つを検索する前記要求は、前記メディアプログラム内の時間的場所を含む請求項15に記載の装置。
【請求項19】
前記装置は、複数のメディアプログラムセグメントの前記第2のサブセットの前記少なくとも1つを検索する前記第1の要求を記録するために更に構成され、
前記メディアプログラムの再生を再開する前記メディアプログラム内の前記時間的場所を決定することは、前記記録された第1の要求を使用して前記時間的場所を決定することを備える請求項15に記載の装置。
【請求項20】
前記記録された第1の要求を使用して前記時間的場所を決定することは、複数のメディアプログラムセグメントの前記第2のサブセットの少なくとも1つを検索する前記最も最近記録された第1の要求の前に前記時間的場所を前記メディアプログラムセグメントから決定することを備える請求項19に記載の装置。
【請求項21】
第1のデバイス上で開始され第2のデバイス上で再開されるメディアプログラムの再生を再開する第1のデバイスであって、前記第1のデバイスは、
1つまたは複数のコンピュータプロセッサと、
命令を備える非一時的コンピュータ可読な記憶媒体とを備え、前記命令は、実行された場合、前記1つまたは複数のコンピュータプロセッサを、
(a)前記第1のデバイスによって、前記メディアプログラムの要求をメディアプログラムプロバイダに伝送することと、
(b)前記第1のデバイスにおいて前記要求されたメディアプログラムのセグメントプレイリストを受信することと、ここで、
前記メディアプログラムは、複数のメディアプログラムセグメントの第1のサブセットと、複数のメディアプログラムセグメントの前記第1のサブセット間に時間的に分散された複数のメディアプログラムセグメントの第2のサブセットとを備え、前記セグメントプレイリストは、
メディアサーバから前記複数のメディアプログラムセグメントの前記第1のサブセットを検索する命令と、
前記メディアプログラムプロバイダを介して前記メディアサーバから複数のメディアプログラムセグメントの前記第2のサブセットを検索する命令とを備える、
(c)前記第1のデバイスによって、前記メディアサーバからの複数の前記メディアプログラムセグメントの前記第1のサブセットを検索する前記命令から導出された、前記第1のデバイスからの、複数のメディアプログラムセグメントの前記第1のサブセットの少なくとも1つを検索する第1の要求を前記メディアサーバに伝送することと、
(d)複数のメディアプログラムセグメントの前記第1のサブセットの前記要求された少なくとも1つを前記メディアサーバから受信することと、
(e)前記複数のメディアプログラムセグメントの前記第2のサブセットを検索する前記命令から導出された、前記第1のデバイスからの、前記複数のメディアプログラムセグメントの前記第2のサブセットの少なくとも1つを検索する第2の要求を前記メディアプログラムプロバイダに伝送することと、
(f)前記メディアプログラムプロバイダから前記メディアサーバにリダイレクトされた、前記第2の要求に従って、前記第1のデバイスによって、複数のメディアプログラムセグメントの前記第2のサブセットの前記要求された少なくとも1つを前記メディアサーバから受信することと、
(g)前記第1デバイス上の前記メディアプログラムの再生を終了することと
のために構成されるよう制御し、
ここで、前記第2のデバイスは、
前記メディアプログラムの再生を再開する要求を前記メディアプログラムプロバイダに伝送し、
(h)前記第2の要求によって要求された、複数のメディアプログラムセグメントの前記第2のサブセットの少なくとも1つの場所から決定された前記メディアプログラム内の時間的場所にて始まる再生を再開するために情報を受信する第1のデバイス。
【請求項22】
前記第1のデバイスから前記メディアプログラムプロバイダに伝送された、複数のメディアプログラムセグメントの前記第2のサブセットの少なくとも1つを検索する前記要求は、前記メディアプログラム内の現在の時間的場所を含む請求項21に記載の第1のデバイス。
【請求項23】
前記メディアサーバは、ライブストリーミングメディアサーバである請求項21に記載の第1のデバイス。
【請求項24】
第1のデバイスにより開始され第2のデバイス上で再開されるメディアプログラムの再生を再開する装置であって、前記装置は、
1つまたは複数のコンピュータプロセッサと、
命令を備える非一時的コンピュータ可読な記憶媒体とを備え、前記命令は、実行された場合、前記1つまたは複数のコンピュータプロセッサを、
メディアサーバから第1のデバイスに前記メディアプログラムを伝送する第1の要求を受信することと、
前記メディアプログラムを検索することと、
前記第1のデバイスに前記メディアプログラムをストリーミングすることと、
メディアプログラムストリーミング情報を生成するために前記第1のデバイスへの前記メディアプログラムの前記ストリーミングをモニタすることと、
メディアプログラムプロバイダに前記メディアプログラムストリーミング情報を伝送することと、
前記メディアプログラムの伝送を再開する第2の要求を第2のデバイスから受信することと、
前記メディアプログラムプロバイダから前記メディアプログラム内の時間的場所を受信することと、ここで、前記メディアプログラムプロバイダは、前記メディアサーバから前記メディアプログラムプロバイダに伝送された前記メディアプログラムストリーミング情報から前記時間的場所を決定した、
前記メディアサーバから前記第2のデバイスへの前記メディアプログラムの伝送を前記メディアプログラムストリーミング情報から決定された前記時間的場所から再開すること
のために構成されるよう制御する装置。
【請求項25】
前記メディアプログラム内の前記時間的場所は、前記第2のデバイスへの前記メディアプログラムの伝送を前記メディアプログラムストリーミング情報から決定された前記時間的場所から再開するために前記第2のデバイスに伝送される、請求項24に記載の装置。
【請求項26】
前記決定された時間的場所後に時間的に発生するメディアプログラムセグメントを含む再開されるセグメントプレイリストは、前記再開される要求されたメディアプログラムについて、生成され、
前記再開されたセグメントプレイリストは、前記第2のデバイスに伝送される請求項24に記載の装置。
【請求項27】
第1のデバイスにより開始され第2のデバイス上で再開されるメディアプログラムの再生を再開する装置であって、前記装置は、
1つまたは複数のコンピュータプロセッサと、
命令を備える非一時的コンピュータ可読な記憶媒体とを備え、前記命令は、実行された場合、前記1つまたは複数のコンピュータプロセッサを、
メディアサーバから前記第1のデバイスへの前記メディアプログラムの伝送を開始する第1の要求を前記第1のデバイスから受信することと、
前記第1のデバイスに前記メディアサーバによりストリーミングされる前記メディアプログラムを識別するメディアプログラム識別子を前記第1のデバイスに伝送することと、
前記メディアサーバから前記第1のデバイスへの前記メディアプログラムのモニタされたストリーミングから生成されたメディアプログラムストリーミング情報を前記メディアサーバから受信することと、
前記メディアサーバから前記第2のデバイスへの前記メディアプログラムの伝送を再開する第2の要求を前記第2のデバイスから受信することと、
前記メディアプログラムの伝送を再開する前記メディアプログラム内の時間的場所を少なくとも一部前記メディアプログラムストリーミング情報から決定することと、
メディアプログラム識別子および前記時間的場所を記述する情報を前記第2のデバイスに伝送することと
のために構成されるよう制御する装置。
【請求項28】
前記メディアサーバは、フラッシュサーバである請求項27に記載の装置。
【発明の詳細な説明】
【関連出願に対する相互参照】
【0001】
本出願は、Robert M.WongおよびEden S.Liにより2010年6月28日に出願された「休止された再生をプラットフォーム全体にわたって同期化する方法および装置」(METHOD AND APPARATUS FOR SYNCHRONIZING PAUSED PLAYBACK ACROSS PLATFORMS)という名称の米国特許仮出願第61/359,258号の利益を主張する、Robert M.WongおよびEden S.Liにより、2010年10月26日に出願された、「休止された再生をプラットフォーム全体にわたって同期化する方法および装置」(METHOD AND APPARATUS FOR SYNCHRONIZING PAUSED PLAYBACK ACROSS PLATFORMS)という名称の米国特許出願第12/912,020号の利益を主張するものであり、これらの出願のいずれも、参照により本明細書に組み入れられる。
【0002】
本出願は、以下の同時係属特許出願、即ち、William Z.Holt、Xinan(NMI)Wu、Eden S.Li、Alexander V.GutarinおよびBaptiste Coudurierにより、2010年6月28日に出願された、「HTTPライブストリーミングで両立できるようにストリーミングメディアプログラムおよび目標とされた広告を供給する方法および装置」(METHOD AND APPARATUS FOR PROVIDING STREAMING MEDIA PROGRAMS AND TARGETED ADVERTISEMENTS COMPATIBLY WITH HTTP LIVE STREAMING)という名称の米国特許仮出願第61/359,319号、および、Robert M.Wong、Charles B.ReevesおよびEugene Chan−Huai Weiにより2010年6月28日に出願された、「メディアプログラムの直観的ナビゲーションのための方法および装置」(METHOD AND APPARATUS FOR INTUITIVE NAVIGATION OF A MEDIA PROGRAM)という名称の米国特許仮出願第61/359,309号の利益を主張する、2010年10月1日出願の、Robert M.Wong、Charles B.ReevesおよびEugene Chan−Huai Weiによる「メディアプログラムの直観的なナビゲーションのための方法および装置」(METHOD AND APPARATUS FOR INTUITIVE NAVIGATION OF A MEDIA PROGRAM)という名称の米国特許出願第12/896,803号に関するものであり、これらの出願のいずれも、参照により本明細書に組み入れられる。
【技術分野】
【0003】
本発明は、ストリーミングされたメディアプログラム(Streamed media programs)を供給するシステムおよび方法に関し、特に、第1のデバイス上で再生を休止させて第2のデバイス上で再生(playback)を再開(resume)する方法および装置に関する。
【背景技術】
【0004】
メディアプログラムの提供(dissemination)および再生は、過去10年でかなり変わった。以前は、メディアプログラム(音声、映像または両方とも含む場合がある)は、アナログ放送(従来の衛星またはケーブル)により、または、映画館へのフィルムの配給により提供されていた。
【0005】
これらの従来の提供および再生手段は、デジタル技術の到来後も相変わらず使用されている。しかしながら、デジタル技術は、メディアプログラムの提供および再生に大きな影響を与えてきた。
【0006】
第1に、デジタル技術により、デジタルビデオテープレコーダ(DVR)の使用が可能となった。DVRは、標準的なアナログビデオカセットレコーダ(VCR)と機能が似ているが、ライブ休止、別のプログラムを再生中に1つのプログラムを録画することができること、およびDVR機能性と電子プログラムガイドとの一体化(メディアプログラム録画をかなり前もって予定することができるように)を含め、いくつかの更なる便利な機能がある。
【0007】
第2に、デジタル技術により、インターネットを介したメディアプログラムの提供および再生が許可となり、信号処理が向上し、高速インターネットアクセス(例えばDSL、ファイバおよび/または衛星)を使用する世帯がますます増えている。これらの提供および再生の方法は、従来の手段と競合するようになった。インターネットを介したメディアプログラムの提供は、簡単なダウンロード、プログレッシブダウンロードまたはストリーミングにより行われる場合がある。
【0008】
プログレッシブダウンロード(progressive downloading)
プログレッシブダウンロードについては、メディアプログラムを有するメディアファイルは、ダイヤルアップ、DSL、ADSL、ケーブル、Tlまたは他の高速接続でインターネットを介してダウンロードされる。当該のダウンロードは、一般的にインターネットを介してウェブサーバにより実行される。
【0009】
簡単なダウンロードでは、任意の便利な順番で複数バイトのメディアファイルがダウンロードされ、一方、プログレッシブダウンロードでは、ファイルの始めの複数バイトをダウンロードし、最終バイトまで連続しておよび逐次的にファイルをダウンロードし続ける。プログレッシブダウンロード中の任意の特定の時期では、ファイルの部分が、すぐには再生に利用可能ではない場合がある。一部の状況においては、最初に、ファイル全体をダウンロードしなければならず、その後に、メディアプレーヤが再生を開始することができる。他のプログレッシブダウンロード状況においては、メディアプレーヤは、ファイルの開始の十分な量がダウンロードされると再生を開始することができる。メディアプレーヤは、何らかの形の再生をサポートするのに十分な情報をダウンロードしなければならず、その後、再生を行うことができる。プログレッシブダウンロードされたメディアファイルの再生は、遅いインターネット接続により遅延されることが多く、途切れ途切れであることも多く、および/または、ほんの数秒後に停止する可能性が高い。プログレッシブダウンロードされるメディアプログラムが完全にダウンロードされると、その後の使用のためにエンドユーザコンピュータ上に記憶される場合がある。
【0010】
プログレッシブダウンロードの短所の1つは、データを伝送するエンティティ(ウェブサーバ)は、単にできるだけ速くクライアントにデータをプッシュ配信するだけであるという点である。映像を「ストリーミングしている」ように見えるかもしれないが、この理由としては、多くのメディアプレーヤのプログレッシブダウンロード能力により、適当な量のデータがダウンロードされるとすぐには再生が可能であるからである。しかしながら、ユーザは、ファイル全体がウェブサーバにより配信されるまでファイルの終わりまで早送りすることができない。プログレッシブダウンロードに関する別の短所は、ウェブサーバは、ビデオファイルのデータ転送速度を考慮に入れないという点である。それゆえに、ネットワーク帯域幅がビデオファイルにより必要とされるデータ転送速度を下回る場合、ユーザは、しばらく待たなければならず、その後に、再生が始まることができる。再生速度がデータ伝達速度を上回る場合、再生が、更なるデータがダウンロード中にしばらく休止される場合があり、視聴経験が中断される。しかしながら、映像再生品質は、潜在的により高いデータ転送速度のために再生が行われたときに良くなる場合がある。例えば、100kbpsの動画ファイルを56kbpsのモデム上に配信することができる場合、映像は100kbpsの速度にて提示されることになる、しかし、更なる映像データがダウンロード中に再生が休止される期間がある場合がある。映像データは、一般的に、全体が一時ファイルとしダウンロードおよび記憶される。
【0011】
Webサーバは、TCP(伝送制御プロトコル)に加えてHTTP(ハイパーテキスト転送プロトコル)を一般的に使用して、ネットワークでファイルを転送する。ネットワーク上でのデータパケットの転送を制御するTCPは、速度でなくデータ配信の保証のために最適化される。したがって、ブラウザがデータがなくなっていると感知した場合、再送要求が発行されてデータが再送される。配信エラーが多いネットワークにおいては、再送要求は、大量の帯域幅を消費する恐れがある。TCPが適当なデータの効率的な配信または帯域幅制御(むしろ全てのデータの配信の保証)に向けて設計されていないことから、全ての用途において映像データの配信に好ましいというわけではない。
【0012】
ストリーミング
ストリーミングでは、メディアプレーヤに連続的にメディアコンテンツを配信し、メディア再生が、同時に行われる。エンドユーザは、コンテンツプロバイダにより配信されると直ちにメディアを再生することができる。従来のストリーミング技法は、1組のエンドユーザにデータのストリームを配信する単一のプロバイダから発するものである。多くの視聴者に単一のストリームを配信するために高帯域および中央演算装置(CPU)電力が必要であり、プロバイダの所要の帯域幅は、エンドユーザの数が増加するにつれて増加する。
【0013】
プログレッシブダウンロードとは異なり、ストリーミングメディアは、オンデマンドでまたはライブで配信することができる。プログレッシブダウンロードでファイル全体をダウンロードするか、または、開始時に再生を開始するのに十分なファイル全体の量をダウンロードすることが必要である場合、ストリーミングにより、ファイル内の任意の地点にて即時の再生が可能である。エンドユーザは、再生を開始するためにメディアファイルにざっと目を通すか、または、メディアファイルにおいて任意の点に再生を変更するかもしれない。したがって、エンドユーザは、ファイルが漸進的にダウンロードされるのを待つ必要はない。一般的に、ストリーミングメディアは、高帯域容量を有する2、3の専用サーバから配信される。
【0014】
ストリーミングメディアサーバは、動画ファイルの要求を受理し、かつ、それらのファイルのフォーマット、帯域幅および構造に関する情報とともに、動画ファイルを再生するために必要な速度にて、映像を再生するために必要なデータ量のみを配達する専用デバイスである。ストリーミングメディアサーバは、伝送帯域幅およびメディアプレーヤ容量に対応する場合がある。ウェブサーバとは異なり、ストリーミングメディアサーバは、映像が再生されるとき、変化するネットワーク状態に適応するために制御メッセージおよびデータメッセージを使用してユーザコンピュータと通信する。これらの制御メッセージは、早送り、早戻し、休止、ファイルの特定部分への移動などのトリックプレイ機能のコマンドを含む可能性がある。ストリーミングメディアサーバは必要に応じてのみおよび必要される速度にて映像データを伝送することから、供されるストリームの数の正確な制御を維持することができる。プログレッシブダウンロードの場合とは異なり、視覚者は、データ転送速度が劣るメディア伝送媒体でデータ転送速度が速い映像を見ることができない。しかしながら、ストリーミングメディアサーバは、(1)ユーザが動画ファイルにランダムアクセスすることができ、(2)誰がどんな動画プログラムを見ているか、および、どれくらい見ているかのモニタリングを可能にし、(3)視聴経験をサポートするために必要とされるデータ量のみが伝送されることからより効率的に伝送帯域幅を使用し、(4)動画ファイルは、視覚者のコンピュータ内に記憶されずメディアプレーヤにより廃棄され、この結果、コンテンツのより多くの制御が可能である。
【0015】
ストリーミングメディアサーバは、HTTPおよびTCPを使用してビデオストリームを配信する場合があるが、通常、RSTP(リアルタイムストリーミングプロトコル)およびUDP(ユーザデータグラムプロトコル)を使用する。これらのプロトコルでは、制御メッセージを許可してオーバーヘッドを低減することにより帯域幅を節約する。TCPとは異なり、データが伝送中になくなったとき、UDPは、再送された要求を伝送しない。その代わりに、サーバは、データを送り続ける。ストリーミングメディアサーバは、ライブウェブキャストを配信することもでき、かつ、マルチキャストすることもでき、これにより、2つ以上のクライアントが、単一のストリームに同調することができ、この結果、帯域幅が節約される。
【0016】
一般的に、プログレッシブダウンロードされたメディアは、再生よりも速い速度にてユーザコンピュータに伝送される。メディアプログラムプレーヤは、このデータをバッファリングし、かつ、通常「プログレスバー(progress bar)」の一部としてインディケータを提示することによりメディアプログラムのどれだけがバッファリングされたか示す場合がある。ユーザが、制御を選択してプログレスバーに沿って異なる場所に移動させることによりすでにバッファリングされたプログラム内の任意の地点に行くことを可能にする制御が行われることが多い。これにより、ユーザは、ランダムにメディアプログラムの任意のバッファリングされた部分にアクセスすることができる。
【0017】
ストリーミングメディアプレーヤは、メディアプログラム内の任意の地点にランダムアクセスをすることができるようにするためにバッファリングに依存するものではない。その代わりに、これは、メディアプレーヤからストリーミングメディアサーバに伝送された制御メッセージを使用して達成される。
【0018】
モバイルデバイス
携帯電話、iPhone、PDA、ラップトップコンピュータなどのモバイルメディアプログラム再生デバイスにメディアプログラムを伝送したいという願望がある。モバイルデバイスへのメディアプログラムの伝送には更なる問題点があり、この理由は、通信チャネルの帯域幅が一般的に低減され、かつ、デバイス自体の処理電力が一般的に普通のコンピュータまたは専用デバイスの処理電力を下回るからである。
【0019】
ライブメディアプログラムを含め、当該のデバイスにメディアプログラムを伝送する各種伝送プロトコルがすでに開発されており、ライブメディアプログラムの伝送は、当該のストリームの長さは限りがないので更に一層困難だがやりがいのあるものとなる可能性がある。1つの当該の伝送プロトコルは、http://tools.ietf.org/html/draft−pantos−http−live−streaming−04にて利用可能でありかつ本明細書に添付の付属書内に提示したIETF(インターネット技術タスクフォース)トラストのHTTPライブストリーミングプロトコルである。
【0020】
再生の同期化
モバイルメディアプログラム再生デバイスにより、ユーザは、ほとんどどこでもメディアプログラムを受信および視聴することができる。しかしながら、多くの状況においては、ユーザは、モバイルデバイス上でメディアプログラム全体を視聴したいとは望まない。例えば、ユーザは、テレビまたはコンピュータなどの第1のデバイス上でメディアプログラムを見始める場合があるが、自宅の別のコンピュータまたはモバイルデバイスなどの第2のデバイス上でメディアプログラムの残りを見たいと望む場合がある。同様に、ユーザは、モバイルデバイスを使用してメディアプログラムを見始め、自宅に着くと、ホームコンピュータまたはテレビ上でメディアプログラムの残りを視聴したいと思う場合がある。ユーザが単に第2のデバイス上で始めからメディアプログラムを視聴し始めて、トリックプレイ操作を使用してメディアプログラム内の同じ時間的位置に早送りすることが可能であるが、このソリューションは、不便であるだけでなく、視覚者に第1のデバイスを使用時にすでに見た広告を強制的に見せる場合がある。
【0021】
したがって、出願人らは、当技術分野において、1つのデバイス上でのメディアプログラムのストリーミングの中断および第2のデバイス上での同じ(中断された)時間的場所(temporal location)から同じメディアプログラムの再開を可能にする方法および装置に対する必要性があることを認識した。本発明は、この必要性を満たすものである。
【発明の概要】
【0022】
先述した要件に対応するために、第1のデバイス上で開始され第2のデバイス上で再開されるメディアプログラムの再生を再開する方法、装置、製品およびメモリ構造。一実施形態においては、この方法は、(a)メディアプログラム識別子とユーザ識別子とを備えるメディアプログラムの要求をメディアプログラムプロバイダにおいて第1のデバイスから受信するステップと、(b)要求されたメディアプログラムについてセグメントプレイリストを生成するステップとを備え、メディアプログラムは、複数のメディアプログラムセグメントの第1のサブセットと、これらの複数のメディアプログラムセグメントの第1のサブセット間に時間的に分散された複数のメディアプログラムセグメントの第2のサブセットとを備え、セグメントプレイリストは、各々が複数のメディアプログラムセグメントの第1のサブセットのセグメントの1つに関連した複数のユニフォームリソースインディケータ(URI)の第1のセットにてメディアサーバから複数のメディアプログラムセグメントの第1のサブセットを検索する命令と、各々が複数のメディアプログラムセグメントの第2のサブセットのセグメントの1つに関連した複数のURIの第2のセットにてメディアプログラムプロバイダを介してメディアサーバから複数のメディアプログラムセグメントの第2のサブセットを検索する命令と備え、この方法は、更に、(c)第1のデバイスにセグメントプレイリストを伝送するステップと、(d)ユーザ識別子を含み、かつ複数のメディアプログラムセグメントの第2のセットを検索する命令から導出された、複数のメディアプログラムセグメントの第2のセットの少なくとも1つを検索する要求をメディアプログラムプロバイダにおいて第1のデバイスから受信するステップと、(e)複数のメディアプログラムセグメントの第2のセットの少なくとも1つを検索する受信された要求をメディアサーバにリダイレクト(redirect)するステップと、(f)メディアプログラムの再生を再開する要求がメディアプログラムプロバイダにおいて第2のデバイスから受信されるまでステップ(d)〜(e)を繰り返すステップと、(g)複数のメディアプログラムセグメントの第2のセットの少なくとも1つを検索する最も最近の受信された要求から、メディアプログラムの再生を再開するメディアプログラム内の時間的場所を判断するステップと、(h)第2のデバイスにメディアの再生を再開する情報を伝送するステップとを備える。別の実施形態においては、この方法は、メディアプログラム識別子とユーザ識別子とを備える、メディアサーバから第1のデバイスにメディアプログラムを伝送する第1の要求を受信するステップと、メディアプログラム識別子に関連したメディアプログラムを検索するステップと、メディアサーバから第1のメディアプログラムデバイスにメディアプログラムをストリーミングするステップと、メディアプログラムストリーミング情報を生成するために第1のメディアプログラムデバイスへのメディアプログラムのストリーミングをメディアサーバにおいてモニタするステップと、メディアプログラムプロバイダにメディアプログラムストリーミング情報を伝送するステップと、メディアプログラムプロバイダに伝送されたストリーミング情報から判断されたメディアプログラム内の時間的場所から再開する、メディアプログラムの伝送を再開する要求をメディアサーバにおいて第2のデバイスから受信するステップと、メディアサーバから第2のデバイスへのメディアプログラムの伝送をストリーミング情報から判断された時間的場所から再開するステップとを備える。
【0023】
同様の参照番号が全体にわたって対応する部分を表す図面をここで参照すると、
【図面の簡単な説明】
【0024】
図1図1は、例示的なメディアプログラムシステムを示す図である。
図2図2は、本発明を実行するために使用することができる例示的なコンピュータシステムを示す。
図3図3は、ユーザへの提示に向けてメディアプログラムおよび広告に配信するために使用することができるコンテンツ配信サブシステムおよび最重要の作業を示す図である。
図4A図4Aは、第1のユーザデバイスおよび第2のユーザデバイスを同期化する例示的なプロセスを示す図である。
図4B図4Bは、第1のユーザデバイスおよび第2のユーザデバイスを同期化する例示的なプロセスを示す図である。
図5図5は、ライブストリーミングプロトコルに従ったメディアプログラムの伝送を示す図である。
図6図6は、例示的なセグメントプレイリストの図である。
図7A図7Aは、第1のユーザデバイスおよび第2のユーザデバイスを同期化する例示的なプロセスを示す図である。
図7B図7Bは、第1のユーザデバイスおよび第2のユーザデバイスを同期化する例示的なプロセスを示す図である。
図8図8は、例示的なプレイリストを示す図である。
図9A図9Aは、図5に示すセグメント化されたプロトコルに従って動作するユーザデバイスにより再生されるメディアプログラムを図3に示すストリーミングプロトコルに従って動作するユーザデバイスによってであれば再開することを可能にする例示的なプロセス段階を示す図である。
図9B図9Bは、図3に示すセグメント化されたストリーミングプロトコルに従って動作するユーザデバイスにより再生されるメディアプログラムを図5に示すセグメント化されたプロトコルに従って動作するユーザデバイスによってであれば再開することを可能にする例示的なプロセス段階を示す図である。
【発明を実施するための形態】
【0025】
以下の説明においては、本明細書の一部を成し、かつ、例示として示される添付図面、本発明のいくつかの実施形態を参照する。他の実施形態を利用される場合があり、構造上の変更が本発明の範囲から逸脱することなく行われる場合があることが理解される。
【0026】
図1は、例示的なメディアプログラムシステム100を示す図である。図示する実施形態においては、システム100はインターネットなどの通信ネットワーク104に通信上結合され、かつ、各々が1つまたは複数のソースメディアプログラムデータベース124A、124B、に通信上結合された1つまたは複数のソースビデオサーバ122A、122Bを有する1つまたは複数のメディアプログラムソース120A、120Bを備えることができる。メディアプログラムシステム100は、更に、通信ネットワーク104に通信上結合され、かつ、1つまたは複数のプロバイダビデオサーバ112および1つまたは複数のプロバイダデータベース114を有するメディアプログラムプロバイダ110を備える。一実施形態においては、メディアプログラムプロバイダ110は、ビデオオンデマンドおよび/またはストリーミングメディアプログラムプロバイダである。
【0027】
メディアプログラムシステム100は、コンピュータなどの第1のユーザデバイス102Aまたは携帯電話などの第2のユーザデバイス102B(以下あるいはユーザデバイス120という)にメディアプログラムを伝送する。この伝送は、メディアプログラムプロバイダ110から直接的なものとすることができるか、または、メディアプログラムプロバイダ110は、ポータルとして動作することができ、メディアプログラム自体でなく(その代わりにメディアプログラムソース120により供給される)、メディアプログラムソース120Aおよび120Bから入手可能であるメディアプログラムに対するインターフェースとなる。
【0028】
第1の場合においては、メディアプログラムプロバイダ110は、メディアプログラムソース120(www.fox.comまたはwww.nbc.comなど)からのメディアプログラムを使用許諾し、当該のプログラムのメタデータは、通常、同様にメディアプログラムソース120からメディアプログラムプロバイダ110にも供給される。当該のメタデータは、使用に向けてメディアプログラムプロバイダのデータベース114により検索することができる。補助メタデータが必要とされる場合、以下で更に説明するように、メディアプログラムプロバイダ110およびメディアプログラムソース120から独立しているメタデータソース130から取得することができる。
【0029】
第2の場合においては、メディアプログラムは、メディアプログラムソース120のサーバから直にユーザデバイス102にストリーミングされる。メディアプログラムがメディアプログラムソース120から直にストリーミングされるとき、メディアプログラムソース120により供給されたメタデータは不十分であることが当てはまることが多い。このような場合、補助メタデータは、独立したメタデータソース130(www.tv.comまたはwww.imdb.comなど)または他の第三者ソースから取得することができる。この状況においては、メディアプログラムプロバイダ110の役割は、ユーザ132に利用可能なメディアプログラムのリストを供給するポータル、かつ、当該のプログラムを見つけるために、かつ、視聴するために調べるインターフェースの役割である。
【0030】
メディアプログラムおよびメタデータは、インターネットなどの通信ネットワーク104を介して、または、補助(および/または専用)通信リンク134を介して取得することができる。当該の情報は、インターネットのクローリングにより(例えば、秩序立った自動的な方法でワールドワイドウェブを閲覧するプログラムまたは自動スクリプトを使用して)取得することができる。
【0031】
ユーザデバイス102を使用して、リモートユーザ132は、メディアプログラム(ビデオオンデマンドおよび/または映像配信サービスを含む)を取得するたに、かつ、プロバイダメディアプログラムデータベース114を調べて当該のメディアプログラムを見つけるために通信ネットワーク104を使用するメディアプログラムプロバイダ110と通信することができる。
【0032】
メディアプログラムシステム100は、メディアプログラムプロバイダ110またはメディアプログラムソース120により供給されたメディアプログラムに関連してリプレイされる広告を供給する1つまたは複数の広告プロバイダ140を備えることができる。図示する実施形態においては、広告プロバイダ140は、関連のかつ通信上結合された広告プロバイダデータベース144に通信上結合された広告プロバイダサーバ142を含む。
【0033】
広告は、インターネット104、専用リンク146を介して、または、広告を有するメモリ記憶デバイスの物理的交換により広告プロバイダ140からメディアプログラムプロバイダ110に供給することができる。当該の広告は、妥当な時間にてユーザデバイス102に供給し、かつ、メディアプログラムプロバイダ110により記憶して妥当な時間にユーザデバイス102にストリーミングまたはユーザデバイスにメディアプログラムとともにダウンロードすることができる。
【0034】
一実施形態においては、広告は、メディアプログラムプロバイダ110からのストリーミングまたはダウンロードされた映像と一体化される。別の実施形態においては、広告は、メディアプログラムと一体化されず、その代わりにメディアプログラムとは別々にユーザデバイス102に伝送され、かつ、いつ各広告が提示されるべきかを示すインデックスを使用して妥当な時間にて再生される。例えば、広告は、インデックスを付してかつ、ユーザデバイス102にストリーミングまたはダウンロードすることができ(メディアプログラムプロバイダ110または広告プロバイダ140から)、当該の広告は、メディアプログラム内の対応するインデックスにより示された時間にてユーザ132に再生することができる。
【0035】
図2は、ユーザデバイス102、サーバ112、122、および142およびデータベース114、124、および144を含め、本発明の要素を実行するために使用することができる例示的なコンピュータシステム202を示す。コンピュータ202は、汎用ハードウェアプロセッサ204Aおよび/または専用ハードウェアプロセッサ204B(以下あるいは集合的にプロセッサ204という)およびランダムアクセスメモリ(RAM)などメモリ206を備える。コンピュータ202は、キーボード214、マウスデバイス216およびプリンタ228など入力/出力(I/O)デバイスを含め、他のデバイスに結合することができる。
【0036】
一実施形態においては、コンピュータ202は、オペレーティングシステム208に制御されたコンピュータプログラム210により定義された命令を実行する汎用プロセッサ204Aにより動作する。コンピュータプログラム210および/またはオペレーティングシステム208は、メモリ206内に記憶することができ、かつ、入力およびコマンドを受理するために、かつ、当該の入力およびコマンド、および、コンピュータプログラム210およびオペレーティングシステム208により定義された命令に基づいて、出力および結果を供給するためにユーザ132および/または他のデバイスとインターフェースすることができる。
【0037】
出力/結果は、ディスプレイ222上で提示するか、または、提示または更なる処理またはアクションに向けて別のデバイスに供給することができる。通常は、ディスプレイ222は、ユーザ132に画像を集合的に提示するために状態を変更する複数の絵素(画素)を備える。例えば、ディスプレイ222は、入力およびコマンドへのコンピュータプログラム210の命令の適用からプロセッサ204および/またはオペレーティングシステム208により生成されたデータまたは情報に応答してディスプレイ上で画像の一部を形成するために不透明または半透明の状態に変わる液晶を各々が有する複数の別々にアドレス指定可能な画素を有する液晶ディスプレイ(LCD)を備えることができる。同様に、プラズマディスプレイは、異なる色蛍光体を各々が有する3つの別々のサブピクセルセルを有する画素を含む。色は、共に混ざり合って画素に示す色を作成する。セルを流れる電流のパルスは、入力およびコマンドに応答してコンピュータプログラムおよび/またはオペレーティングシステム208の命令の適用からプロセッサにより生成されるデータに従って変えられ、画素により供給される光の強度が変わる。また、同様に、光線管(CRT)が表示する陰極は、各画素が通常はアパーチャグリルからの点または線により表されるサブピクセルを有する複数の画素を含む。各点または線は、電子銃から電子により当たられるときに光を発する蛍光体被覆を含む。コンピュータプログラムおよび/またはオペレーティングシステム208の命令の適用からプロセッサにより生成されたデータに応答して、および、入力およびコマンドに応答して、電子銃により出射された電子は、点または線にてステアリングされ、この結果、関連の画素の状態が、この点または線の蛍光体被覆に光を発せさせることにより変わる。
【0038】
画像は、グラフィカルユーザインターフェース(GUI)モジュール218Aを介して供給することができる。GUIモジュール218Aは別個のモジュールとして示されているが、GUI機能を実行する命令は、オペレーティングシステム208、コンピュータプログラム210内に常駐または分散させるか、または、専用メモリおよびプロセッサで実行することができる。
【0039】
コンピュータプログラム110命令に従ってコンピュータ202により行われる作業の一部または全部は、専用プロセッサ204B内で実行することができる。この実施形態においては、コンピュータプログラム210命令の一部または全部は、専用プロセッサ204B内の読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)またはフラッシュメモリ内にまたはメモリ206内に記憶されたファームウェア命令を介して実行することができる。専用プロセッサ204Bは、本発明を実行する作業の一部または全部を実行するために回路設計を介して配線で接続することができる。更に、専用プロセッサ204Bは、機能のサブセットを実行する専用回路およびコンピュータプログラム命令に応答するなどのより一般的な機能を実行する他の回路を含むハイブリッドプロセッサとすることができる。一実施形態においては、専用プロセッサは、特定用途向け集積回路(ASIC)である。
【0040】
コンピュータ202は、COBOL、C++.FORTRANなどのプログラミング言語または他の言語で書かれたアプリケーションプログラム210をプロセッサ可読コード204に変換することを可能にするコンパイラ212を実行することができる。完了後、アプリケーションまたはコンピュータプログラム210は、入出力装置から受理され、かつ、関係およびコンパイラ212を使用して生成された論理回路を使用してコンピュータ202のメモリ206内に記憶されたデータにアクセスおよび操作する。
【0041】
コンピュータ202は、随意的にモデム、衛星リンク、イサーネットカードまたは他のコンピュータから入力を受理して他のコンピュータに出力を供給する他のデバイスなどの外部通信装置も備える。
【0042】
一実施形態においては、オペレーティングシステム208、コンピュータプログラム210およびコンパイラ212を実行する命令は、Zipドライブ、フロッピー(登録商標)ディスクドライブ224、ハードドライブ、CD−ROMドライブ、テープドライブ、DVDなど1つまたは複数の固定式または着脱式データ記憶デバイスを含むことができるコンピュータ可読媒体、例えば、データ記憶デバイス220において明白に実施される。更に、オペレーティングシステム208およびコンピュータプログラム210は、コンピュータプログラム命令で構成され、コンピュータプログラム命令は、コンピュータ202によりアクセスされ、読まれて実行されたとき、コンピュータ202に、本発明を使用および/または実行するために、または、命令のプログラムをメモリに取り込むために必要なステップを実行させ、この結果、コンピュータに本明細書で説明する方法のステップを実行する特別にプログラムされたコンピュータとして動作させる専用データ構造が作成される。コンピュータプログラム210および/または操作命令は、メモリ206および/またはデータ通信デバイス230においても明白に実施することができ、この結果、本発明に従ってコンピュータプログラム製品または製品が作製される。この点を踏まえて、本明細書で使用する「製品」、「プログラム記憶装置」および「コンピュータプログラム製品」という用語は、任意のコンピュータ可読デバイスまたは媒体からアクセス可能なコンピュータプログラムを包含することが意図されている。
【0043】
言うまでもなく、当業者は、上記の構成部品または任意の数の異なる構成部品、周辺機器、および他のデバイスの任意の組み合わせをコンピュータ202とともに用いることができることを認識するであろう。
【0044】
「ユーザコンピュータ」という用語に本明細書で言及するが、ユーザコンピュータ102は、携帯電話、ポータブルMP3プレーヤ、映像ゲームコンソール、ノートパソコン、ポケットコンピュータ、個人用携帯情報端末(PDA)または適当な処理、通信および入力/出力容能力を有する任意の他のデバイスなどのポータブルデバイスを含むことができることが理解される。
【0045】
図3は、コンテンツ配信サブシステム(CDS)300およびユーザ132への提示に向けてメディアプログラムおよび広告に配信するために使用することができる最重要の作業の第1の実施形態を示す図である。図示する実施形態においては、コンテンツ配信サブシステム300は、ユーザデバイス102、メディアプログラムプロバイダ110および広告プロバイダ140を含む。
【0046】
図示する実施形態においては、メディアプログラムプロバイダ110は、供給サービス306、コンテンツセレクタ308およびコンテンツ管理サービス310を備える。ユーザ132がユーザデバイス102を使用してメディアプログラムを選択したとき、選択されたメディアプログラムのメディアプログラム識別子(PID)を要求するメッセージが、ユーザデバイス102からメディアプログラムプロバイダ110に伝送される。供給サービス306では要求を記載し、供給サービス306では、コンテンツ管理サービス310を介して保証格納域312から取得された情報を使用して、選択されたメディアプログラムのPIDを判断して、ユーザデバイス102にPIDを伝送する。ユーザデバイスは、メディアプログラムプロバイダ110のコンテンツセレクタ308にこのPIDおよびユーザIDを伝送する。コンテンツセレクタ308は、コンテンツ管理サービス310に情報を転送し、コンテンツ管理サービス310では、保証格納域312内に記憶された情報を使用して、ユーザおよび選択されたメディアプログラムに妥当な広告を選択するために広告サービス318を使用する。これは、Wing Chit Makにより2010年5月26日に出願された「迅速かつ拡大縮小可能なターゲット式広告(directed advertising)サービスの方法および装置」という名称の同時係属特許出願第12/787、679号で説明するように達成することができ、この出願は、参照により本明細書に組み入れられる。コンテンツ管理サービス310は、コンテンツセレクタ318にこの情報を転送し、コンテンツセレクタ318は、ユーザデバイス102が選択されたメディアプログラムをメディアサーバ114から並びに広告プロバイダ140から広告を取得することができる情報を伝送する。図示する実施形態においては、この情報は、所望のメディアプログラムをメディアサーバ114から取得することができるアドレス(例えばURL)を含む。ユーザデバイス102は、指定のアドレスにてメディアサーバ1114にメディアプログラム要求を伝送する。メディアサーバ114は保証格納域からメディアプログラムを検索して、ユーザデバイス102にメディアプログラムを伝送する。ユーザデバイス102は、広告を広告プロバイダ120に要求して同様に受信することができる。
【0047】
広告プロバイダ140およびメディアサーバ114がメディアプログラムプロバイダ110と別個の構造上のエンティティと示されているが、広告プロバイダ140は、メディアプログラムプロバイダ110と一体化することができる(即ち、メディアプログラムプロバイダは広告も供給することができる)。CDS300は、www.hulu.com、www.imdb.com、www.aol.comまたはwww.msn.comを挙げることができる複数の配信網全体にわたってメディアプログラムおよび広告を供給する手段となる。
【0048】
メディアプログラムに関係するメタデータおよび広告コンテンツ並びにストリーミング情報は、メディアプログラムおよび広告がCDS300内でどこにあるかを記述するデータと同様にコンテンツ送達システム300のデータベース312内に記憶されている。
【0049】
ユーザデバイス102は、インターフェースモジュール302およびメディアプログラムプレーヤ304を含むことができる。インターフェースモジュール302は、ユーザ132に情報およびメディアプログラムを提示し、かつ、コマンドを含めユーザ入力を受理するために使用される、ユーザデバイス102により実行される命令を含む。例示的なユーザデバイス102は、デスクトップコンピュータ、ラップトップコンピュータ、または、iPOD(登録商標)、iPhone、iPAD、携帯電話またはパームデバイスなどの携帯型装置である。
【0050】
図4Aおよび図4Bは、第1のユーザデバイス102Aおよび第2のユーザデバイス102Bを同期化する例示的なプロセスを示す図である。この実施形態においては、メディアサーバ114は、フラッシュサーバを備えることができる。ブロック402においては、メディアプログラムプロバイダ110は、メディアサーバ114にモニタリングアプリケーション318を伝送する。モニタリングアプリケーションは、後でメディアサーバ114により実行されて、ユーザデバイス102への伝送をモニタすることができる。メディアサーバ114はモニタリングアプリケーション318を受信して、以下で説明するように、その後の検索および実行に向けてモニタリングアプリケーション318を記憶する。第1のユーザデバイス102Aは、ブロック406において示すように、第1のユーザデバイス102Aへのメディアプログラムの伝送を開始する要求をメディアプログラムプロバイダ110に伝送する。一実施形態においては、要求は、メディアプログラムの表示(例えばメディアプログラムまたはメディアプログラムの名前に関係するコード)およびユーザ132を識別するユーザIDまたはユーザIDの代用の役目をするユーザデバイスIDを含む。
【0051】
メディアプログラムプロバイダ110は、要求を受信して、ブロック408〜412において示すように、要求されたメディアプログラムのPIDを見つけて、第1のユーザデバイスにPID(および随意的に先述したものなどの他の情報)を伝送する。第1のユーザデバイス102Aは、ブロック414〜416において示すように、PIDを受信して、PIDおよびユーザIDを有するメディアプログラム要求をメディアサーバ114に伝送する。あるいは、メディアプログラム要求は、単に、メディアプログラムをメディアプログラムから取得することができるURL(例えば、第1のユーザデバイス102Aからの要求に応答してコンテンツセレクタ308から取得)宛ての要求である場合がある。メディアサーバ114は、ブロック418および420において示すように、メディアプログラム要求を受信して、ブロック404において受信したストリームモニタリングアプリケーション318を検索および実行する。メディアサーバ114は、その後、ブロック422および424において示すように、PIDに関連したメディアプログラムを検索して、メディアプログラムが受信されてユーザに提示される第1のユーザデバイス102Aにメディアプログラムを伝送する。1つの実施形態においては、メディアプログラムは、第1のユーザデバイス102Aにストリーミングされる。
【0052】
ストリームモニタリングアプリケーション318を使用して、メディアサーバは、ブロック426において示すように、第1のユーザデバイス102Aから受信されたストリームおよび/またはコマンドの伝送をモニタして、メディアプログラムプロバイダ110にこのモニタされた情報を伝送する。ブロック428において示すように、モニタされた情報を受信および記録するかまたは記憶する。
【0053】
モニタされた情報は、コンパイルしかつ周期的に伝送するか、コンパイルし、かつ、当該のイベント(例えば、トリックプレイ作業)が行われるときに伝送するか、または、メディアサーバ114からメディアプログラムプロバイダ110に連続的に伝送することができる。一実施形態においては、モニタされた情報は、第1のユーザデバイスにストリーミングされたメディアプログラムの現在の時間的位置、ストリーム(メディアプログラムデバイスが異なる解像度のストリームを受信中である場合があることから)の解像度,および、他のデータを含め、第1のユーザデバイスの再生状態に関する情報を提供する。メディアサーバ114が任意の特定の時間にて時間的再生場所に関して不確かである場合があるが、再生場所は、モニタされたストリームから妥当に推論することができる。例えば、メディアサーバ114がメディアプログラムの始めから24分の地点にてメディアプログラムを再生する(例えば、プログレスバー上でカーソルを移動することにより)要求を第1のユーザデバイス102Aから受信した場合、このイベントをモニタリングアプリケーションにより検出することができる。更なる要求なしの要求が次の10分において第1のユーザデバイスから受信された場合、第1のユーザデバイスの再生位置は、この時点でメディアプログラムの始めから24+10=34分後であると仮定することが妥当である。休止または中断コマンドが受信されその後更なる入力なしであった場合、再生場所は休止された場所から変わっていないと仮定することが妥当である。
【0054】
図4Bを参照すると、第2のユーザデバイス102Bは、ブロック430において示すように、第2のユーザデバイス102Bへのメディアプログラムの伝送を再開する要求を伝送する。要求は、第2のデバイス102Bから伝送されて、メディアプログラムプロバイダ110において受信される。この要求の伝送の前に、第1のユーザデバイス102Aへのメディアプログラムの伝送またはメディアプログラムの受信は休止または停止された場合があるか、または、第1のユーザデバイス内のメディアプログラムプレーヤアプリケーションが終了した場合がある。これは、意図的に(例えば休止または停止コマンドにより)または、意図せずに(第1のユーザデバイス102Aまたはソフトウェアの誤動作、または、第1のユーザデバイスとメディアサーバ114間の通信接続性の低下−例えば、ドロップインワイヤレス有効範囲の低下を介して−のために)発生することがあり得る。
【0055】
第2のユーザデバイス102Bにメディアプログラムの伝送を再開する要求は、再生が中断された地点から伝送を再開する明示的要求である場合があるか、または、単にブロック406において説明した要求と全く同じメディアプログラムの要求である場合があり、要求の受信側は、メディアプログラム要求が第1のユーザデバイスによるメディアプログラムの受信が終了または休止されたことを示す状況下で受信されている/受信されたと認識する。例えば、一実施形態においては、ユーザが第1のユーザデバイス102Aから第2のユーザデバイス102Bにメディアプログラムの受信を転送したいと思ったとき、ユーザは、ブロック429において示すように、この目的のために特殊コマンドを供給することができ、この結果、メディアプログラムプロバイダ110またはメディアサーバ114(ストリームモニタリングアプリケーション318を介してメディアプログラムプロバイダ110に情報を転送することができる)に、第1のユーザデバイス102Aへの伝送は中止するべきであり、かつ第2のユーザデバイス102Bへの伝送は受信が中止したメディアプログラム内の時間的場所から開始するべきであることが通知される。または、別の実施形態においては、ユーザが特殊コマンドを供給していない場合(またはコマンドが供給されなかった場合)、メディアプログラムプロバイダは、第1のユーザデバイス102Aによるメディアプログラムの受信は終了した、つまり、第2のユーザデバイス102Bからの、同じユーザからの同じメディアプログラムを視聴する要求によりもはや所望されていないと推測することができる。
【0056】
ブロック432において示すように、メディアプログラムの再生を再開する要求をメディアプログラムプロバイダ110により受信する。メディアサーバ114上で実行されるモニタリングアプリケーション318からの受信、記録、または記憶されたモニタされた情報を使用して、メディアプログラムプロバイダ110は、伝送が終了または中断されたときにメディアプログラムの再生の状態を判断する。これは、例えば、ブロック434において示すように、メディアプログラム内の時間的場所を含むことができる。
【0057】
第1のユーザデバイスによるメディアプログラムの現在再生中の時間的位置はプログラムにおいてメディアプログラムの現在ストリーミング中の時間的位置より以前にある(第1のユーザデバイス120Aによる伝送されたメディアプログラムのバッファリングにより)と考えられることから、メディアプログラムプロバイダ110は、伝送を再開するメディアプログラム内の時間的場所を生成するときに他の要素を考慮に入れることができる。例えば、メディアプログラムプロバイダ110は、メディアプログラムが再開される時間的場所を判断する際には第1のユーザデバイス120Aのバッファサイズ、メディアサーバ114と第1のユーザデバイス120Aの間の伝送チャネル帯域幅または他の要素などの情報を使用することができる。メディアプログラムプロバイダ110は、第1のユーザデバイス102により実行されたメディアプログラムプレーヤの状態を含む監視情報を使用することもできるか、または、メディアプログラムの再生が中断または終了されたところよりも遅れることなく確実に再開するようにする量により、算出された時間的場所の前に時間的場所を単に選択することができる。他の実施形態においては、メディアプログラムメタデータを使用して(例えば再生が場面の始めにて再開されるように)算出された時間的場所を判断することができる。更に、算出された時間的場所がユーザにすでに再生された広告に先行する場合、プログラムが第2のデバイス上で再生されたとき広告をスキップすることができる。
【0058】
メディアプログラムプロバイダ110は、その後、ブロック436および438において示すように、時間的場所およびPID(必要であれば)を第2のユーザデバイスに伝送して、時間的場所が受信される。第2のユーザデバイス120Bは、ブロック440および442において示すように受信される、メディアサーバ114に、PID、ユーザIDおよび時間的場所を伝送する。メディアサーバ114は、その後、ブロック444および448において示すように、生成された時間的場所にて始まる選択されたメディアプログラムを第2のユーザデバイス102Bに伝送する。以前と同様に、メディアサーバ114は、伝送をモニタして、モニタされた情報をメディアプログラムプロバイダ110に送り、それで、伝送が第1のユーザデバイス102Aにまたは第3のユーザデバイスに方向転換された場合、再生が中断、休止、または、終了された場所から再生を再開することができる。
【0059】
他の実施形態においては、ブロック436〜442において示した作業は、省略される。この実施形態においては、メディアプログラムの伝送を再開する要求が受信されたとき、時間的再生位置が推定または判断され、メディアプログラムは、第2のユーザデバイスに時間的場所を伝送してブロック440において伝送される要求を受信することなくこの地点からストリーミングされる。この実施形態は、特にメディアサーバ114が制御されるかまたはメディアプログラムプロバイダ110とともに配置される実施形態において有用である。
【0060】
図4Aおよび図4Bでは、メディアプログラムは、PIDが特定され、第1のユーザデバイスに送られて、メディアプログラムストリームを検索するためにユーザデバイス102Aからメディアサーバ114に伝送されるプロセスによりユーザデバイス102Aにストリーミングされた。他の実施形態、例えば、図3の実施形態が可能であり、PIDは、メディアサーバ114のURLを検索するために使用され、ユーザデバイス102Aは、このアドレスにてメディアサーバ114にメディアプログラム要求を伝送する。他の実施形態も可能であり、例えば、ユーザデバイス102Aは、単に要求されたメディアプログラムの識別子をコンテンツセレクタ308に供給し、その後、メディアプログラムプロバイダからメディアプログラムを受信することができる。または、コンテンツセレクタであれば、中間PIDを使用せず、単に、要求されたメディアプログラムのURLを伝送することができる。類似の変形が、以下で論じるライブストリーミングプロトコルの実施形態についても可能である。
【0061】
また、第1のユーザデバイス102Aから第2のユーザデバイス102Bへのメディアプログラム再生の転送に関して上記を説明したが、同じ諸原理を用いて、伝送が、例えば、ユーザデバイス102にワイヤレスでメディアプログラムを伝送する問題のために伝送が中断されたときに同じユーザデバイスにおいて再生を再開することができる。
【0062】
図5は、ライブストリーミングプロトコルに従ってメディアプログラムの伝送に備えるシステム500を示す図である。ライブストリーミングプロトコルは、特にモバイルデバイスおよびワイヤレスデバイスに有用である。基本的に、ライブストリーミングプロトコルは、ユーザデバイス102がメディアプログラムを要求したとき、ユーザデバイス102にメディアプログラムの小さいセグメントまたは「片」の「プレイリスト」が供給されるという点を除き、図3に示すプロトコルと類似のものである。ユーザデバイス102は、プレイリストを使用して順々にメディアプログラムの各片の伝送を要求し、各片が受信されたとき、処理されてユーザ132に提示されたメディアプログラムに組み入れられる。
【0063】
図5に示すように、ユーザデバイス102は、メディアプログラムのPIDの要求を供給サービス306に伝送する。要求は、通常は、ユーザIDまたはこの代用、並びに、メディアプログラムの何らかの識別表示を備える。供給サービス306は、要求を受信して、保証格納域312およびコンテンツメタデータ/ストリーミング情報データベースから取得された情報を使用して要求されたメディアプログラムのPIDをCMS310から取得する。PIDは、その後、ユーザデバイス102に伝送される。ユーザデバイスは、その後、PIDとともにメディアプログラム要求をコンテンツセレクタ308に伝送する。
【0064】
この実施形態においては、メディアプログラムは、ユーザデバイス102からの要求があり次第ユーザデバイス102に伝送することができる複数のセグメントまたは片に分割される。どのセグメントを要求するのかおよびセグメントを要求する順番は、メディアプログラムプロバイダ110からユーザデバイス102に伝送されるセグメントプレイリストにより決まる。
【0065】
図6は、例示的なセグメントプレイリスト600の図である。項目602A〜602D、特定の映像セグメントを検索する特定のURIへの呼び出しである。「#EXTINF」は、記録マーカの後に来るURIにより特定されるメディアファイルを記述する記録マーカであるタグである。各メディアファイルURIは、EXTINFタグの後になければならない。#EXTINFタグのフォーマットは、#EXTINF:<duration>、<title>である。呼び出し604Aは、メディアプログラムが始まる前に示される4秒の「はねかけ音」である。呼び出し602Bおよび602Cは、長さ10秒の50000011のPIDを有するメディアプログラムのセグメント用であり、一方、呼び出し602Cは、長さ11秒の同じメディアプログラムのセグメントに対するものである。呼び出し602A〜602Dも、目的承認を目的としたトークンを含むことができる。EXT−X−DISCONTINUITY 604タグは、この後に来るメディアファイルとこの前に来るメディアファイルとの間の符号化不連続性を示す。変わると考えられる1組の特性には、(1)ファイル形式、(2)トラック数および形式、(3)符号化パラメータ、(4)符号化シーケンス、および/または、(5)タイムスタンプシーケンスが含まれる。
【0066】
図7Aおよび図7Bは、第1のユーザデバイス102Aおよび第2のユーザデバイス102Bを同期化する例示的なプロセスを示す図である。この実施形態は、特に、第1のユーザデバイス120Aおよび第2のユーザデバイス120BがRobert M.WongおよびEden Liにより2010年6月28日に出願された、「プラットフォーム全体にわたって休止された再生を同期化する方法および装置」という名称の米国特許仮出願第61/359,258号明細書の付属書において説明されているライブストリーミングプロトコルを使用するデバイスであるときに有用であり、この出願は、参照により本明細書に組み入れられる。
【0067】
ブロック702においては、メディアプログラム要求を第1のユーザデバイス102Aから伝送する。一実施形態においては、メディアプログラム要求は、第1のユーザデバイスを使用するユーザ132およびPIDまたは他の値などのメディアプログラム識別子のユーザIDを含む。メディアプログラムプロバイダ110は、ブロック704において示すように、要求を受信する。メディアプログラムプロバイダは、その後、ブロック706において示すように、セグメントプレイリストを生成する。このセグメントプレイリストは、以下で説明するように、図7に示すプレイリストと異なる。
【0068】
図8は、ブロック706において生成された例示的なプレイリストを示す図である。図6に示すセグメントプレイリストとは異なり、このプレイリストは、メディアプログラムのセグメントを2つのサブセットに分離する。メディアプログラムセグメントの第1のサブセット(呼び出し802A〜802Jにより取得されたもの)は、メディアサーバ114を介して直に検索されることになっており、メディアプログラムセグメントの第2のサブセット(呼び出し806A〜806Bにより取得されたもの)は、メディアプログラムプロバイダ110へ呼び戻され、メディアプログラムプロバイダ110は、呼び出しを記録して、メディアサーバ114に呼び出しをリダイレクトする。両方の場合においては、第1のユーザデバイス102Aは、最終的に当該のメディアプログラムセグメントを受信することになるが、第2の組の呼び出しを使用したとき、メディアプログラムプロバイダは、要求されたセグメントを通知され、この結果、メディアプログラムプロバイダは、要求を行ったデバイス上で実行中であるメディアプログラムプレーヤの現状を予知することができる。セグメント要求より長さ10秒台のメディアプログラムセグメントが返され、第2の組の呼び出しを所望の頻度でプレイリストに挿入することができることから、したがってメディアプログラムプレーヤにメディアプログラムの再生の状態(メディアプログラム内の時間的場所および現在要求されるセグメントの解像度を含め)が通知されることが可能である。したがって、プレイリスト800は、各々が複数のメディアプログラムセグメントの第1のサブセットのセグメントの1つに関連した複数のユニフォームリソースインディケータ(URI)の第1のセットにてメディアサーバからメディアプログラムセグメントの第1のサブセットを受信する命令を備える。プレイリスト800は、各々が複数のメディアプログラムセグメントの第2のセットの1つのセグメントに関連した複数のURIの第2のセットにてメディアプログラムプロバイダを介してメディアサーバから複数のメディアプログラムセグメントの第2のサブセットを受信する命令も備える。
【0069】
プレイリスト800内の情報を使用して、メディアプログラムプレーヤ110は、第2のユーザデバイス120Bがメディアプログラム内の同じまたはほぼ同じ時間的位置からかつ同じストリーミング品質で再生を再開することを可能にすることができる。これは、以下で説明するように達成することができる。
【0070】
ブロック708においては、メディアプログラムプロバイダ110からブロック708に示すように、セグメントプレイリストを第1のユーザデバイス102Aに伝送する。第1のユーザデバイス102Aは、プレイリスト710を受信して、ブロック712に示すように、第1の組のメディアプログラムセグメントの1つを検索する要求を伝送する。一実施形態においては、要求は、図8に示す形であり、要求は、タグおよびURIを含み、要求においては、URIはメディアプログラムIDおよびトークンを含む。ユーザIDを含むこともできるが、ユーザIDは必要ではない。
【0071】
メディアサーバ114は、ブロック714および716において示すように、要求を受信して、第1のユーザデバイス102Aにメディアプログラムセグメントを伝送またはストリーミングする。第1のユーザデバイス102Aは、ブロック718において示すように、要求されたメディアプログラムセグメントを受信してセグメントを再生する。第1のユーザデバイス102Aは、必要であれば受信されたメディアプログラムセグメントをバッファリングすることもできる。第1のユーザデバイスは、その後、プレイリスト内の次のメディアプログラムセグメントを要求する。次の呼び出しが第1の組の構成物である(即ち、プレイリストはメディアプログラムセグメントがメディアサーバ114から直に検索されることになっていることを示す)場合、処理することは、ブロック712に戻り、メディアプログラムの別のセグメントを受信する別の要求が、第1のユーザデバイス102Aからメディアサーバ114に伝送される。例えば、プレイリスト800を使用して、呼び出し802B〜802Dにより、第1のユーザデバイス102Aは、50000011のPIDを有するメディアプログラムのセグメント0、1および2をメディアサーバ114に要求する。
【0072】
ブロック720においては、第1のユーザデバイスは、メディアプログラムセグメントをセグメントの第2のサブセットに要求する。これは、第1のユーザデバイスがメディアプログラムプロバイダ110への呼び出し(呼び出し806Aなど)に遭遇したときであれば発生する。呼び出しは、メディアプログラムプロバイダ(ユーザID)を呼び出すURIを含む(図示する実施形態においては「A2301AF」、かつ、随意的に、メディアプログラムの現在の再生の時間的場所を含むこともできる。メディアプログラムプロバイダ110は、ブロック722において示すように、呼び出しを受信して後の使用のために呼び出しを記憶または記録する。その後、ブロック724において示すように、呼び出しにおけるURIを使用して要求をメディアサーバにリダイレクトする。メディアサーバ114は、ブロック726および728において示すように、リダイレクトされた呼び出しを受信して、呼び出しの対象であったメディアプログラムセグメントを第2のユーザデバイス102Bに伝送する。第2のユーザデバイス102Bは、ブロック730において示すように、メディアセグメントを受信および再生して、この結果、セグメントがユーザ132に提示される。前出のプロセスは、ブロック732において示すように、メディアプログラムが終了するまで、または、同じメディアプログラムを受信する要求がメディアプログラムプロバイダ110において第2のユーザデバイス102Bから受信されるまで続く。
【0073】
図4Aおよび図4Bに示す実施形態に関して先述したように、第2のユーザデバイス102Bからのメディアプログラムの要求は、要求がメディアプログラム内の同じ時間的位置から異なるデバイス上でメディアプログラムの再生を再開する要求であるか、または、情報は、要求自体から推論することができる(別のデバイスに由来する同じユーザIDを有する同じメディアプログラムの要求により当該の推論が可能であるが他の情報を用いることもできる)という表示を含むことができる。図示する実施形態においては、要求は、ユーザIDおよびPIDなどのメディアプログラム識別子を含む。
【0074】
ブロック734において示すように、メディアプログラム要求をメディアプログラムプロバイダ110において受信する。ブロック736においては、再開要求の前のメディアプログラムの再生の状態を判断する。これは、例えば、第1のユーザデバイス102Aによる再生が中止されたときのメディアプログラムの時間的場所の判断を含むことができる。図7Aおよび図7Bに示す実施形態はメディアプログラムの小さい片がセグメント単位でユーザデバイス102に伝送されるプロトコルを示すことから、メディアプログラムの時間的再生位置はメディアプログラムプロバイダ110により既知の最終セグメントの時間的場所とすることができるという妥当な判断は伝送されている。そうであれば、例えば、第2の組内のメディアプログラムセグメントの1つの最終呼び出しとなる。メディアプログラムセグメントが伝送されたが受信されなかったかもしれないことから、時間的再生位置はその代わりに第2の組内のメディアプログラムセグメントの1つの最終呼び出しの前の呼び出しと判断することができる。実際には、停止された再生の時間的位置を判断するか、または少なくとも再生が停止された実際の時間的場所の前で当該の再生を再開することが望ましいと考えられ、この理由は、これにより、視覚者は、場面に関する何らかのコンテキストでメディアプログラムを視聴することを再開することができるからである。メディアプログラムプロバイダ110はメディアプログラムの場面に関する知識も有することから、メディアプログラムプロバイダは、再生が停止された場面またはおそらくそれの前の場面の始めにあるように再生を再開するために時間的位置を判断することができる。これであれば、場面の変化毎により結果的に第2の組の構成品であるメディアプログラムセグメントへの呼び出しが発生するようにプレイリストを生成することにより実行することができ、この理由は、これにより、確実に、メディアプログラムプロバイダに各場面について再生進捗が通知されるようになるからである。あるいは、メディアプログラムプロバイダ110は、第2の組のセグメントの1つへの呼び出しが周期的に(例えば毎分)行われるようにプレイリストを生成することができる。
【0075】
ブロック738においては、メディアプログラムプロバイダ110は、所望のセグメントで始まる(先述した時間的場所から判断)メディアプログラムセグメントへの呼び出しを含む再開プレイリストを生成する。このプレイリストは、第1のユーザデバイス102Aまたは第3のデバイスへのメディアプログラムの再生の転送を可能にする、第1または第2のリストの構成品であるセグメントも含む。したがって、この再生再開リストであれば、すでにユーザデバイス102により受信されて表示されたとわかっているメディアプログラムセグメントへの呼び出しを含まないことを除き、再生再開リスト800と類似のものと見えよう。
【0076】
第1のユーザデバイス102Aは、再開プレイリストを受信して、先述しているものと類似した方法で再開プレイリスト内に記述されている呼び出しを行う。これをブロック744〜762において示す。したがって、メディアサーバ144から直にメディアプログラムセグメントの第1のサブセットの構成品を検索する呼び出しが行われ、記録および/または記憶される、メディアプログラムセグメントの第2のサブセットの構成品を検索する呼び出しがメディアプログラムプロバイダ110に行われて、メディアサーバ114にリダイレクトされる。先述したように、これにより、メディアプログラムプロバイダは、第2のユーザデバイス上でのメディアプログラムの再生状態を判断することができ、一方、それでも、メディアサーバ114は、第2のユーザデバイス102Bにメディアプログラムセグメントを伝送することができる。
【0077】
上記では、1つのユーザデバイス102A上でのメディアプログラムの再生を第2のユーザデバイス102B上で再開することができる方法を説明した。第1のユーザデバイス102Aおよび第2のユーザデバイス102Bが異なるプロトコルに従って動作することがあり得、かつ、望ましいものでさえある。例えば、第1のユーザデバイス102Aは、図3において説明したブロトコルに従って動作するデスクトップアプリケーションを実行するコンピュータとすることができ、一方、第2のデバイスは、図5で説明したブロトコルに従って動作するモバイルデバイスである。または、第1のユーザデバイス102Aは、図5で説明したプロトコルに従って動作するモバイルデバイスとすることができ、第2のユーザデバイス102Bであれば、デスクトップアプリケーションを実行しかつ図3で説明したプロトコルに従って動作するコンピュータとすることができる。
【0078】
どちらの場合でも、先述した諸原理を用いて、異なるプロトコルで動作するデバイスの間でさえ再生を同期化することができる。
【0079】
図9Aは、図5に示すセグメント化されたプロトコルに従って動作するユーザデバイス102Aにより再生されるメディアプログラムを図3に示すストリーミングプロトコルに従って動作するユーザデバイス102Bによってであれば再開することを可能にする例示的なプロセス段階を示す図である。この実施形態においては、メディアプログラム再開要求がメディアプログラムプロバイダに第2のユーザデバイス102Bにより伝送されるときに、メディアプログラムプロバイダが第2のユーザデバイスがどのブロトコルに従って動作するか判断することを可能にする情報を含むこともできるか、または、要求自体は、この情報を本質的に備えることができる。メディアプログラムプロバイダ110は、この情報を使用して、再生を再開するために使用される時間的場所を判断することができ、処理は、図4Bのブロック436に移る。換言すれば、第2のユーザデバイス102Bがライブストリーミングプロトコル準拠であった場合に伝送されたと思われる再開プレイリストの代わりにPID、時間的場所および他の情報が、第2のユーザデバイス102Bに伝送されることになる。
【0080】
図9Bは、図5に示すストリーミングプロトコルに従って動作するユーザデバイス102Aにより再生されるメディアプログラムを図3に示すセグメント化されたプロトコルに従って動作するユーザデバイスによって再開することを可能にする例示的なプロセス段階を示す図である。この実施形態においても、メディアプログラム再開要求がメディアプログラムプロバイダに第2のユーザデバイス102Bにより伝送されるときに、メディアプログラムプロバイダが第2のユーザデバイスがどのブロトコルに従って動作するか判断することを可能にする情報を含むこともできるか、または、要求自体は、この情報を本質的に備えることができる。メディアプログラムプロバイダ110は、この情報を使用して、再生を再開するために使用される時間的場所を判断することができ、処理は、図7Bのブロック738に移る。しかしながら、図7Bに示すように、この場合、第2のユーザデバイス102Bに供給された情報は、プレイリストにおいて特定されてしたがって再生された第1のメディアプログラムセグメントが再生が中断されたメディアプログラム内の判断された時間的場所にあるかまたはこの時間的場所の前にあるように生成されたプレイリストである。
【0081】
他の実施形態も想定されている。例えば、第1のユーザデバイスは、関連した再生イベント(例えば、休止または停止またはトリックプレイコマンド)の後にメディアプログラムプロバイダ110またはメディアサーバ114にメディアプログラム再生状態情報を伝送することができる。再生状態情報は、再生中のメディアプログラムのアイデンティティ、変更が行われたメディアプログラム内の場所(時間またはフレーム)、再生イベントおよび任意の他の追加情報を含むことができる。したがって、メディアプログラムプロバイダ110が同じユーザ識別子に関連した1つの要求を異なるデバイス(例えば、異なるデバイス識別子により判断)から受信したときに、メディアプログラムプロバイダ110はメディアプログラム再生状態情報を使用して、どこで再生が新しい装置または当初のデバイスで新たに始まるべきであるか判断し、メディアプログラムの適切な部分が、伝送される。メディアプログラム再生状態は、望まれないシャットダウンおよび終了を含め、第1のユーザデバイス102Aまたはデバイス102A上で実行しているメディアプログラムプレーヤのシャットダウン前に伝送することもできる。更に、再生イベント時のメディアプログラム再生状態の伝送の代わりにまたはこれに加えて、第1のユーザデバイス102Aは、メディアプログラムプロバイダ110またはメディアサーバ114に周期的又非周期的なメッセージを送って、任意の再生イベントから独立して、メディアプログラムプロバイダ110またはメディアサーバにメディアプログラム再生状態を通知することができる。
【0082】
当業者は、本発明の範囲から逸脱することなく多くの改変をこの構成に行うことができることを認識するであろう。例えば、当業者は、上記の構成部品または任意の数の異なる構成部品、周辺機器、および他のデバイスの任意の組み合わせを本発明とともに使用することができることを認識するであろう。
【0083】
結び
これにより、好適な本発明の実施形態の説明を終了する。本発明の好適な実施形態の上記説明は、例示および説明を目的として提示したものである。網羅的であること、または、開示した正確な形態に本発明を制限することを目的とするものではない。上記の教示に照らして多くの改変および変形が可能である。本発明の範囲はこの詳細な説明により限定されず本明細書に添付の特許請求項の範囲により限定されることを意図している。上記明細書、実施例、および、データは、本発明の構成の製造および使用に説明を完全に行うものである。本発明の精神および範囲から逸脱することなく多くの本発明の種々の実施形態を成すことができることから、本発明は、以下に添付する特許請求項の範囲に属する。
以下に、本願出願時の特許請求の範囲に記載された発明を付記する。
[1]第1のデバイス上で開始され第2のデバイス上で再開されるメディアプログラムの再生を再開する方法であって、
(a)メディアプログラム識別子とユーザ識別子とを備えるメディアプログラムの要求をメディアプログラムプロバイダにおいて前記第1のデバイスから受信するステップと、
(b)前記要求されたメディアプログラムについてセグメントプレイリストを生成するステップと、
ここで、
前記メディアプログラムは、複数のメディアプログラムセグメントの第1のサブセットと、複数のメディアプログラムセグメントの前記第1のサブセット間で時間的に分散された複数のメディアプログラムセグメントの第2のサブセットとを備え、前記セグメントプレイリストは、
各々が複数のメディアプログラムセグメントの前記第1のサブセットのセグメントの1つに関連した複数のユニフォームリソースインディケータ(URIs)の第1のセットにてメディアサーバから複数のメディアプログラムセグメントの前記第1のサブセットを検索する命令と、
各々が複数のメディアプログラムセグメントの前記第2のセットのセグメントの1つに関連した複数のユニフォームリソースインディケータ(URIs)の第2のセットにてメディアプログラムプロバイダを介して前記メディアサーバから複数のメディアプログラムセグメントの第2のサブセットを検索する命令とを含む、
(c)前記第1のデバイスに前記セグメントプレイリストを伝送するステップと、
(d)前記ユーザ識別子を含みかつ複数のメディアプログラムセグメントの前記第2のセットを検索する前記命令から導出された、複数のメディアプログラムセグメントの前記第2のセットの少なくとも1つを検索する要求を前記メディアプログラムプロバイダにおいて前記第1のデバイスから受信するステップと、
(e)複数のメディアプログラムセグメントの前記第2のセットの少なくとも1つを検索する前記受信された要求を前記メディアサーバにリダイレクトするステップと、
(f)前記メディアプログラムの再生を再開する要求が前記メディアプログラムプロバイダにおいて前記第2のデバイスから受信されるまでステップ(d)〜(e)を繰り返すステップと、
(g)複数のメディアプログラムセグメントの前記第2のセットの少なくとも1つを検索する前記最も最近に受信された要求から、前記メディアプログラムの再生を再開する前記メディアプログラム内の時間的場所を判断するステップと、
(h)前記第2のデバイスに前記メディアの再生を再開する情報を伝送するステップと
を備える方法。
[2]前記第1のデバイスは、ライブストリーミングデバイスであり、
前記第2のデバイスは、ライブストリーミングデバイスであり、
前記第2のデバイスに前記メディアの再生を再開する情報を伝送する前記ステップは、
(i)前記再開される要求されたメディアプログラムについて、前記判断された時間的場所後に時間的に発生する複数のメディアセグメントを含む再開されるセグメントプレイリストを生成するステップと、
(j)前記再開されたセグメントプレイリストを前記第2のデバイスに伝送するステップとを備える前記[1]に記載の方法。
[3]前記第1のデバイスは、ライブストリーミングデバイスであり、
前記第2のデバイスは、フラッシュストリーミングデバイスであり、
前記第2のデバイスに前記メディアの再生を再開する情報を伝送する前記ステップは、前記メディアプログラムの再生を再開する前記メディアプログラム内の前記時間的場所と前記メディアプログラム識別子とを前記第2のデバイスに伝送するステップを備える前記[1]に記載の方法。
[4]前記メディアプログラムプロバイダにおいて前記第1のデバイスから複数のメディアプログラムセグメントの前記第2のセットの少なくとも1つを検索する前記要求は、ユーザ識別子と前記メディアプログラム内の時間的場所とを含む前記[1]に記載の方法。
[5]前記方法は、複数のメディアプログラムセグメントの前記第2のセットの前記少なくとも1つを検索する前記受信された要求を記録するステップを更に備え、
前記メディアプログラムの再生を再開する前記メディアプログラム内の前記時間的場所を判断する前記ステップは、前記記録された受信された要求を使用して前記時間的場所を判断するステップを備える前記[1]に記載の方法。
[6]前記記録された受信された要求を使用して前記時間的場所を判断する前記ステップは、複数のメディアプログラムセグメントの前記第2のセットの前記少なくとも1つを検索する前記最も最近に記録された受信された要求の前に前記時間的場所を前記メディアプログラムセグメントから判断するステップを備える前記[5]に記載の方法。
[7]第1のデバイス上で開始され第2のデバイス上で再開されるメディアプログラムの再生を再開する方法であって、
(a)メディアプログラム識別子とユーザ識別子とを備える前記メディアプログラムの要求をメディアプログラムプロバイダにおいて前記第1のデバイスから伝送するステップと、
(b)前記第1のデバイスにおいて前記要求されたメディアプログラムのセグメントプレイリストを受信するステップと、
ここで、
前記メディアプログラムは、複数のメディアプログラムセグメントの第1のサブセットと、複数のメディアプログラムセグメントの前記第1のサブセット間に時間的に分散された複数のメディアプログラムセグメントの第2のサブセットとを備え、前記セグメントプレイリストは、
各々が複数のメディアプログラムセグメントの前記第1のサブセットの前記セグメントの1つに関連した複数のユニフォームリソースインディケータ(URIs)の第1のセットにてメディアサーバから複数のメディアプログラムセグメントの前記第1のサブセットを検索する命令と、
各々が複数のメディアプログラムセグメントの前記第2のセグメントに関連した複数のユニフォームリソースインディケータ(URIs)の第2のセットにて前記メディアプログラムプロバイダを介して前記メディアサーバから複数のメディアプログラムセグメントの第2のサブセットを検索する命令とを備える、
(c)前記メディアサーバからの前記第1のセットの前記メディアプログラムを検索する前記命令から導出された、前記第1のデバイスからの、複数のメディアプログラムセグメントの前記第1のセットの少なくとも1つを検索する要求を前記メディアサーバに伝送するステップと、
(d)複数のメディアプログラムセグメントの前記第1のセットの前記要求された少なくとも1つを前記メディアサーバから受信するステップと、
(e)前記ユーザ識別子を含みかつ複数のメディアプログラムセグメントの前記第2のセットを検索する前記命令から導出された、前記第1のデバイスからの、複数のメディアプログラムセグメントの前記第2のセットの少なくとも1つを検索する要求を前記メディアプログラムプロバイダから伝送するステップと、
(f)前記メディアプログラムプロバイダから前記メディアサーバにリダイレクトされた、複数のメディアプログラムの前記第2のセットの少なくとも1つを検索する前記伝送された要求に従って、前記第1のデバイスにおいて複数のメディアプログラムセグメントの前記第2のセットの前記要求された少なくとも1つを前記メディアサーバから受信するステップと、
(g)前記第1のデバイス上の前記メディアプログラムの再生が終了されるまでステップ(c)〜(f)を繰り返すステップと、
(h)前記メディアプログラムの再生を再開する要求を前記第2のデバイスから前記メディアプログラムプロバイダに伝送するステップと、
(i)複数のメディアプログラムセグメントの前記第2のセットの前記少なくとも1つを検索する前記最も最近の要求から判断された前記メディアプログラム内の時間的場所にて始まる再生を再開するために前記第2のデバイスにおいて前記メディアプログラムを受信するステップと
を備える方法。
[8]前記第1のデバイスから前記メディアプログラムプロバイダに伝送された、複数のメディアプログラムセグメントの前記第2のセットの少なくとも1つを検索する前記要求は、前記メディアプログラム識別子と前記メディアプログラム内の現在の時間的場所とを含む前記[7]に記載の方法。
[9]前記メディアサーバは、ライブストリーミングメディアサーバである前記[7]に記載の方法。
[10]第1のデバイスにより開始され第2のデバイス上で再開されるメディアプログラムの再生を再開する方法であって、
メディアプログラム識別子とユーザ識別子とを備える、メディアサーバから第1のデバイスに前記メディアプログラムを伝送する第1の要求を受信するステップと、
前記メディアプログラム識別子に関連した前記メディアプログラムを検索するステップと、
前記メディアサーバから前記第1のメディアプログラムデバイスに前記メディアプログラムをストリーミングするステップと、
メディアプログラムストリーミング情報を生成するために前記第1のメディアプログラムデバイスへの前記メディアプログラムの前記ストリーミングを前記メディアサーバにおいてモニタするステップと、
メディアプログラムプロバイダに前記メディアプログラムストリーミング情報を伝送するステップと、
前記メディアプログラムプロバイダに伝送された前記ストリーミング情報から判断された前記メディアプログラム内の時間的場所から再開する、前記メディアプログラムの伝送を再開する要求を前記メディアサーバにおいて第2のデバイスから受信するステップと、
前記メディアサーバから前記第2のデバイスへの前記メディアプログラムの伝送を前記ストリーミング情報から判断された前記時間的場所から再開するステップと
を備える方法。
[11]前記第1のデバイスは、フラッシュバイスであり、
前記第2のデバイスは、フラッシュデバイスであり、
前記第2のデバイスからの、前記メディアプログラムの伝送を再開する前記要求は、前記メディアプログラム識別子と、前記ユーザ識別子と、前記メディアプログラム内の前記時間的場所とを備え、
前記メディアサーバから前記第2のデバイスへの前記メディアプログラムの伝送を前記ストリーミング情報から判断された前記時間的場所から再開するステップは、
前記メディアプログラム識別子および前記メディアプログラム内の前記時間的場所を前記第2のデバイスに伝送するステップ備える前記[10]に記載の方法。
[12]前記第1のデバイスは、フラッシュバイスであり、
前記第2のデバイスは、ライブストリーミングデバイスであり、
前記メディアサーバから前記第2のデバイスへの前記メディアプログラムの伝送を前記ストリーミング情報から判断された前記時間的場所から再開するステップは、
前記再開される要求されたメディアプログラムについて、前記判断された時間的場所後に時間的に発生する複数のメディアセグメントを含む再開されるセグメントプレイリストを生成するステップと、
前記再開されたセグメントプレイリストを前記第2のデバイスに伝送するステップとを備える前記[10]に記載の方法。
[13]第1のデバイスにより開始され第2のデバイス上で再開されるメディアプログラムの再生を再開する方法であって、
ユーザ識別子を備える、メディアサーバから第1のデバイスへのメディアプログラムの伝送を開始する第1の要求を前記第1のデバイスから受信するステップと、
前記第1のデバイスにメディアサーバによりストリーミングされる前記メディアプログラムを識別するメディアプログラム識別子を前記第1のデバイスに伝送するステップと、
前記メディアサーバから前記第1のデバイスへの前記メディアプログラムのモニタされたストリーミングから生成されたメディアプログラムストリーミング情報を前記メディアサーバから受信するステップと、
前記メディアサーバから第2のデバイスへの前記メディアプログラムの伝送を再開する要求を受信するステップと、
前記メディアプログラムの伝送を再開する前記メディアプログラム内の時間的場所を少なくともある程度前記ストリーミング情報から判断するステップと、
メディアプログラム識別子および前記時間的場所を記述する情報を前記メディアプログラムプレーヤに伝送するステップと
を備える方法。
[14]前記メディアサーバは、フラッシュサーバである前記[13]に記載の方法。
[15]第1のデバイス上で開始され第2のデバイス上で再開されるメディアプログラムの再生を再開する装置であって、
(a)メディアプログラム識別子とユーザ識別子とを備える前記メディアプログラムの要求をメディアプログラムプロバイダにおいて前記第1のデバイスから受信する手段と、
(b)前記要求されたメディアプログラムについてセグメントプレイリストを生成する手段と、
ここで、
前記メディアプログラムは、複数のメディアプログラムセグメントの第1のサブセットと、複数のメディアプログラムセグメントの前記第1のサブセット間に時間的に分散された複数のメディアプログラムセグメントの第2のサブセットとを備え、前記セグメントプレイリストは、
各々が複数のメディアプログラムセグメントの前記第1のサブセットの前記複数のセグメントの1つに関連した複数のユニフォームリソースインディケータ(URIs)の第1のセットにてメディアサーバから前記複数のメディアプログラムセグメントの第1のサブセットを検索する命令と、
各々が複数のメディアプログラムセグメントの前記第2のセットのセグメントの1つに関連した複数のユニフォームリソースインディケータ(URIs)の第2のセットにてメディアプログラムプロバイダを介して前記メディアサーバから複数のメディアプログラムセグメントの前記第2のサブセットを検索する命令とを備える、
(c)前記第1のデバイスに前記セグメントプレイリストを伝送する手段と、
(d)前記ユーザ識別子を含みかつ複数のメディアプログラムセグメントの前記第2のセットを検索する前記命令から導出された、複数のメディアプログラムセグメントの前記第2のセットの少なくとも1つを検索する要求を前記メディアプログラムプロバイダにおいて前記第1のデバイスから受信する手段と、
(e)複数のメディアプログラムセグメントの前記第2のセットの前記少なくとも1つを検索する前記受信された要求を前記メディアサーバにリダイレクトする手段と、
(f)前記メディアプログラムの再生を再開する要求を前記メディアプログラムプロバイダにおいて前記第2のデバイスから受信する手段と、
(g)複数のメディアプログラムセグメントの前記第2のセットの前記少なくとも1つを検索する前記最も最近の受信された要求から、前記メディアプログラムの再生を再開する前記メディアプログラム内の時間的場所を判断する手段と、
(h)前記第2のデバイスに前記メディアの再生を再開する情報を伝送する手段と
を備える装置。
[16]前記第1のデバイスは、ライブストリーミングデバイスであり、
前記第2のデバイスは、ライブストリーミングデバイスであり、
前記第2のデバイスに前記メディアの再生を再開する情報を伝送する手段は、
(i)前記再開される要求されたメディアプログラムについて、前記判断された時間的場所後に時間的に発生する複数のメディアセグメントを含む再開されるセグメントプレイリストを生成する手段と
(j)前記再開されたセグメントプレイリストを前記第2のデバイスに伝送する手段と
を備える前記[15]に記載の装置。
[17]前記第1のデバイスは、ライブストリーミングデバイスであり、
前記第2のデバイスは、フラッシュストリーミングデバイスであり、
前記第2のデバイスに前記メディアの再生を再開する情報を伝送する前記手段は、前記メディアプログラムの再生を再開する前記メディアプログラム内の前記時間的場所と前記メディアプログラム識別子とを前記第2のデバイスに伝送する前記手段を備える前記[15]に記載の装置。
[18]前記メディアプログラムプロバイダにおける前記第1のデバイスからの、複数のメディアプログラムセグメントの前記第2のセットの少なくとも1つを検索する前記要求は、ユーザ識別子と前記メディアプログラム内の時間的場所とを含む前記[15]に記載の装置。
[19]前記装置は、複数のメディアプログラムセグメントの前記第2のセットの前記少なくとも1つを検索する前記受信された要求を記録するステップを更に備え、
前記メディアプログラムの再生を再開する前記メディアプログラム内の前記時間的場所を判断する前記手段は、前記記録された受信された要求を使用して前記時間的場所を判断する手段を備える前記[15]に記載の装置。
[20]前記記録された受信された要求を使用して前記時間的場所を判断する前記手段は、複数のメディアプログラムセグメントの前記第2のセットの少なくとも1つを検索する前記最も最近記録された受信された要求の前に前記時間的場所を前記メディアプログラムセグメントから判断する手段を備える前記[19]に記載の装置。
[21]第1のデバイス上で開始され第2のデバイス上で再開されるメディアプログラムの再生を再開する装置であって、
(a)メディアプログラム識別子とユーザ識別子とを備える前記第1のデバイスからの前記メディアプログラムの要求をメディアプログラムプロバイダにおいて伝送する手段と、
(b)前記第1のデバイスにおいて前記要求されたメディアプログラムのセグメントプレイリストを受信する手段と、
ここで、
前記メディアプログラムは、複数のメディアプログラムセグメントの第1のサブセットと、複数のメディアプログラムセグメントの前記第1のサブセット間に時間的に分散された複数のメディアプログラムセグメントの第2のサブセットとを備え、前記セグメントプレイリストは、
各々が複数の前記メディアプログラムセグメントの前記第1のサブセットの前記セグメントの1つに関連した複数のユニフォームリソースインディケータ(URIs)の第1のセットにてメディアサーバから複数のメディアプログラムセグメントの前記第1のサブセットを検索する命令と、
各々が複数の前記メディアプログラムセグメントの前記第2のサブセットの前記セグメントの1つに関連した複数のユニフォームリソースインディケータ(URIs)の第2のセットにて前記メディアプログラムプロバイダを介して前記メディアサーバから複数のメディアプログラムセグメントの前記第2のサブセットを検索する命令とを備える、
(c)前記メディアサーバからの複数の前記メディアプログラムの前記第1のセットを検索する前記命令から導出された、前記第1のデバイスからの、複数のメディアプログラムセグメントの前記第1のセットの少なくとも1つを検索する要求を前記メディアサーバに伝送する手段と、
(d)複数のメディアプログラムセグメントの前記第1のセットの前記要求された少なくとも1つを前記メディアサーバから受信する手段と、
(e)前記ユーザ識別子を含みかつ前記複数のメディアプログラムセグメントの前記第2のセットを検索する前記命令から導出された、前記第1のデバイスからの、前記複数のメディアプログラムセグメントの前記第2のセットの少なくとも1つを検索する要求を前記メディアプログラムプロバイダから伝送する手段と、
(f)前記メディアプログラムプロバイダから前記メディアサーバにリダイレクトされた、複数のメディアプログラムの前記第2のセットの少なくとも1つを検索する前記伝送された要求に従って、前記第1のデバイスにおいて複数のメディアプログラムセグメントの前記第2のセットの前記要求された少なくとも1つを前記メディアサーバから受信する手段と、
(g)前記メディアプログラムの再生を再開する要求を前記第2のデバイスから前記メディアプログラムプロバイダに伝送する手段と、
(h)複数のメディアプログラムセグメントの前記第2のセットの前記少なくとも1つを検索する前記最も最近の要求から判断された前記メディアプログラム内の時間的場所にて始まる再生を再開するために前記第2のデバイスにおいて前記メディアプログラムを受信する手段と
を備える装置。
[22]前記第1のデバイスから前記メディアプログラムプロバイダに伝送された、複数のメディアプログラムセグメントの前記第2のセットの少なくとも1つを検索する前記要求は、前記メディアプログラム識別子と前記メディアプログラム内の現在の時間的場所とを含む前記[21]に記載の装置。
[23]前記メディアサーバは、ライブストリーミングメディアサーバである前記[21]に記載の装置。
[24]第1のデバイスにより開始され第2のデバイス上で再開されるメディアプログラムの再生を再開する装置であって、
メディアプログラム識別子とユーザ識別子とを備える、メディアサーバから第1のデバイスに前記メディアプログラムを伝送する第1の要求を受信する手段と、
前記メディアプログラム識別子に関連した前記メディアプログラムを検索する手段と、
前記メディアサーバから前記第1のメディアプログラムデバイスに前記メディアプログラムをストリーミングする手段と、
メディアプログラムストリーミング情報を生成するために前記第1のメディアプログラムデバイスへの前記メディアプログラムの前記ストリーミングを前記メディアサーバにおいてモニタする手段と、
メディアプログラムプロバイダに前記メディアプログラムストリーミング情報を伝送する手段と、
前記メディアプログラムプロバイダに伝送された前記ストリーミング情報から判断された前記メディアプログラム内の時間的場所から再開する、前記メディアプログラムの伝送を再開する要求を前記メディアサーバにおいて第2のデバイスから受信する手段と、
前記メディアサーバから前記第2のデバイスへの前記メディアプログラムの伝送を前記ストリーミング情報から判断された前記時間的場所から再開する手段と
を備える装置。
[25]前記第1のデバイスは、フラッシュバイスであり、
前記第2のデバイスは、フラッシュデバイスであり、
前記第2のデバイスからの、前記メディアプログラムの伝送を再開する前記要求は、前記メディアプログラム識別子と、前記ユーザ識別子と、前記メディアプログラム内の前記時間的場所とを備え、
前記メディアサーバから前記第2のデバイスへの前記メディアプログラムの伝送を前記ストリーミング情報から判断された前記時間的場所から再開する前記手段は、前記メディアプログラム識別子および前記メディアプログラム内の前記時間的場所を前記第2のデバイスに伝送する手段を備える前記[24]に記載の装置。
[26]前記第1のデバイスは、フラッシュバイスであり、
前記第2のデバイスは、ライブストリーミングデバイスであり、
前記メディアサーバから前記第2のデバイスへの前記メディアプログラムの伝送を前記ストリーミング情報から判断された前記時間的場所から再開する前記手段は、
前記再開される要求されたメディアプログラムについて、前記判断された時間的場所後に時間的に発生するメディアセグメントを含む再開されるセグメントプレイリストを生成する手段と、
前記再開されたセグメントプレイリストを前記第2のデバイスに伝送する手段とを備える前記[24]に記載の装置。
[27]第1のデバイスにより開始され第2のデバイス上で再開されるメディアプログラムの再生を再開する装置であって、
ユーザ識別子を備える、メディアサーバから第1のデバイスへのメディアプログラムの伝送を開始する第1の要求を前記第1のデバイスから受信する手段と、
前記第1のデバイスにメディアサーバによりストリーミングされる前記メディアプログラムを識別するメディアプログラム識別子を前記第1のデバイスに伝送する手段と、
前記メディアサーバから前記第1のデバイスへの前記メディアプログラムのモニタされたストリーミングから生成されたメディアプログラムストリーミング情報を前記メディアサーバから受信する手段と、
前記メディアサーバから第2のデバイスへの前記メディアプログラムの伝送を再開する要求を受信する手段と、
前記メディアプログラムの伝送を再開する前記メディアプログラム内の時間的場所を少なくとも一部前記ストリーミング情報から判断する手段と、
メディアプログラム識別子および前記時間的場所を記述する情報を前記メディアプログラムプレーヤに伝送する手段と
を備える装置。
[28]前記メディアサーバは、フラッシュサーバである前記[27]に記載の装置。
図1
図2
図3
図4A
図4B
図5
図6
図7A
図7B
図8
図9A
図9B