(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6509826
(24)【登録日】2019年4月12日
(45)【発行日】2019年5月8日
(54)【発明の名称】複数のオーバーザトップストリーミングクライアントを同期させること
(51)【国際特許分類】
H04N 21/43 20110101AFI20190422BHJP
H04N 21/458 20110101ALI20190422BHJP
【FI】
H04N21/43
H04N21/458
【請求項の数】19
【全頁数】17
(21)【出願番号】特願2016-517052(P2016-517052)
(86)(22)【出願日】2014年5月30日
(65)【公表番号】特表2016-526349(P2016-526349A)
(43)【公表日】2016年9月1日
(86)【国際出願番号】US2014040299
(87)【国際公開番号】WO2014194232
(87)【国際公開日】20141204
【審査請求日】2017年2月20日
(31)【優先権主張番号】13/906,952
(32)【優先日】2013年5月31日
(33)【優先権主張国】US
【前置審査】
(73)【特許権者】
【識別番号】513280728
【氏名又は名称】ソニック アイピー, インコーポレイテッド
(74)【代理人】
【識別番号】100078282
【弁理士】
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【弁理士】
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【弁理士】
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【弁理士】
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【弁護士】
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】アミデイ, ウィリアム デイビッド
(72)【発明者】
【氏名】ブラネス, ジェイソン
【審査官】
後藤 嘉宏
(56)【参考文献】
【文献】
特開2011−223060(JP,A)
【文献】
特開2006−101364(JP,A)
【文献】
特開2003−085068(JP,A)
【文献】
特開2001−091680(JP,A)
【文献】
特開2008−252422(JP,A)
【文献】
欧州特許出願公開第02290899(EP,A2)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00−21/858
(57)【特許請求の範囲】
【請求項1】
再生デバイスによって行われるエンコードされたメディアの再生のための方法であって、
一組の2つ以上の再生デバイスからネットワーク時間プロバイダに時間情報に関する要求を伝送することと、
前記ネットワーク時間プロバイダから前記時間情報を前記一組の再生デバイス内で受信することと、
前記一組の再生デバイス内の各再生クロック間の時間遅延が数10ミリ秒未満であるように、前記受信された時間情報を使用して、前記一組の再生デバイスの各再生デバイス内の再生クロックを設定することと、
ストリームメディアプロバイダからエンコードされたメディアのストリームに関するストリーム始動情報を各再生デバイス内で受信することであって、前記ストリーム始動情報は、ストリーム開始時間を含む、ことと、
前記エンコードされたメディアのストリームを前記再生デバイス内で受信することであって、前記ストリームは、前記エンコードされたコンテンツの複数のフレームを含む、ことと、
前記受信されたストリーム始動情報および自身の再生クロックに示される時間に基づいて、前記エンコードされたメディアのストリームが受信されるにつれて前記ストリームの複数のフレームのそれぞれの提示時間情報を前記一組の再生デバイスの各再生デバイス内で調節することと
を含む、方法。
【請求項2】
前記ネットワーク時間プロバイダは、ネットワーク時間プロトコルサーバであり、前記要求の伝送および前記時間情報の受信は、ネットワーク時間プロトコルを使用して行われる、請求項1に記載の方法。
【請求項3】
前記時間情報は、協定世界時で提供される、請求項1に記載の方法。
【請求項4】
前記開始時間は、協定世界時で提供される、請求項1に記載の方法。
【請求項5】
前記ネットワーク時間プロバイダは、ローカル時間サーバである、請求項1に記載の方法。
【請求項6】
前記ローカル時間サーバからネットワーク時間プロトコルサーバに時間情報に関する要求を伝送することと、
前記ネットワーク時間プロトコルサーバから前記時間情報を前記ローカル時間サーバ内で受信することと、
前記時間情報に関する要求を各再生デバイスから受信することと、
前記ネットワーク時間プロトコルサーバから受信されたタイミング情報から各再生デバイスのための時間情報を生成することと、
前記時間情報を各再生デバイスに伝送することと
をさらに含む、請求項5に記載の方法。
【請求項7】
前記ストリームメディアプロバイダからネットワーク時間プロトコルサーバに時間情報に関する要求を伝送することと、
前記ネットワーク時間プロトコルサーバから前記時間情報を前記ローカル時間サーバ内で受信することと、
前記ストリームメディアプロバイダによって受信された時間情報を使用して、前記エンコードされたメディアのストリームに関するストリーム始動情報を生成することであって、前記ストリーム始動情報は、前記ストリーム開始時間を含む、ことと、
前記ストリームメディアプロバイダによって、各再生デバイスから前記エンコードされた再生に関する要求を受信することと、
前記ストリームメディアプロバイダから各再生デバイスに、前記ストリーム開始時間を含むストリーム始動情報を伝送することと、
前記ストリームメディアプロバイダから各再生デバイスに前記エンコードされたメディアのストリームを伝送することと
をさらに含む、請求項1に記載の方法。
【請求項8】
提供された開始時間に基づいて、エンコードされたメディアの再生を提供するための一組の2つ以上の再生デバイスであって、各再生デバイスは、
メモリと、
プロセッサであって、前記メモリ内に記憶されたクライアントアプリケーションを介して、
ネットワーク時間プロバイダに時間情報に関する要求を伝送することと、
前記ネットワーク時間プロバイダから前記時間情報を受信することと、
前記一組の再生デバイス内の各再生クロック間の時間遅延が数10ミリ秒未満であるように、前記受信された時間情報を使用して、前記再生デバイス内の再生クロックを設定することと、
ストリームメディアプロバイダからエンコードされたメディアのストリームに関するストリーム始動情報を受信することであって、前記ストリーム始動情報は、ストリーム開始時間を含む、ことと、
前記エンコードされたメディアのストリームを受信することであって、前記ストリームは、前記エンコードされたコンテンツの複数のフレームを含む、ことと、
前記ストリーム始動情報および自身の再生クロックに示される時間に基づいて、前記エンコードされたメディアのストリームが受信されるにつれて前記ストリームの複数のフレームのそれぞれの提示時間情報を各再生デバイス内で調節することと
を行うように構成される、プロセッサと
を備える、一組の再生デバイス。
【請求項9】
前記ネットワーク時間プロバイダは、ネットワーク時間プロトコルサーバであり、前記要求の伝送および前記時間情報の受信は、ネットワーク時間プロトコルを使用して行われる、請求項8に記載の一組の再生デバイス。
【請求項10】
前記時間情報は、協定世界時で提供される、請求項8に記載の一組の再生デバイス。
【請求項11】
前記開始時間は、協定世界時で提供される、請求項8に記載の一組の再生デバイス。
【請求項12】
前記ネットワーク時間プロバイダは、ローカル時間サーバである、請求項8に記載の一組の再生デバイス。
【請求項13】
前記ローカル時間サーバによって提供される時間情報は、ネットワーク時間プロトコルサーバからの時間情報に基づく、請求項12に記載の一組の再生デバイス。
【請求項14】
プロセッサ命令を含有する機械可読媒体であって、一組の2つ以上のプロセッサによる前記命令の実行は、前記一組のプロセッサの各プロセッサに、提供された開始時間に基づいて、エンコードされたメディアの再生を提供するためのプロセスを行なわせ、前記プロセスは、
ネットワーク時間プロバイダに時間情報に関する要求を伝送することと、
前記ネットワーク時間プロバイダから前記時間情報を受信することと、
前記一組の再生デバイス内の各再生クロック間の時間遅延が数10ミリ秒未満であるように、前記受信された時間情報を使用して、前記再生デバイス内の再生クロックを設定することと、
ストリームメディアプロバイダからエンコードされたメディアのストリームに関するストリーム始動情報を受信することであって、前記ストリーム始動情報は、ストリーム開始時間を含む、ことと、
前記エンコードされたメディアのストリームを受信することであって、前記ストリームは、前記エンコードされたコンテンツの複数のフレームを含む、ことと、
前記ストリーム始動情報および自身の再生クロックに示される時間に基づいて、前記エンコードされたメディアのストリームが受信されるにつれて前記ストリームの複数のフレームのそれぞれの提示時間情報を各再生デバイス内で調節することと
を含む、プロセッサ命令を含有する機械可読媒体。
【請求項15】
前記ネットワーク時間プロバイダは、ネットワーク時間プロトコルサーバであり、前記要求の伝送および前記時間情報の受信は、ネットワーク時間プロトコルを使用して行われる、請求項14に記載のプロセッサ命令を含有する機械可読媒体。
【請求項16】
前記時間情報は、協定世界時で提供される、請求項14に記載のプロセッサ命令を含有する機械可読媒体。
【請求項17】
前記開始時間は、協定世界時で提供される、請求項14に記載のプロセッサ命令を含有する機械可読媒体。
【請求項18】
前記ネットワーク時間プロバイダは、ローカル時間サーバである、請求項14に記載のプロセッサ命令を含有する機械可読媒体。
【請求項19】
前記ローカル時間サーバによって提供される時間情報は、ネットワーク時間プロトコルサーバからの時間情報に基づく、請求項18に記載のプロセッサ命令を含有する機械可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の再生デバイスによるストリーミングされたメディアコンテンツの再生に関する。より具体的には、本発明は、ネットワークを経由してストリーミングされたオーバーザトップ(OTT)または他の提示時間制約メディアの複数の再生デバイスによる、メディアコンテンツの再生を同期させることに関する。
【背景技術】
【0002】
メディアのストリーミングという用語は、再生デバイス上におけるメディアの再生を説明しており、メディアは、サーバ上に記憶され、再生の間、ネットワークを経由して、再生デバイスに継続的に送信される。本議論の目的のために、メディアおよび/またはエンコードされたメディアは、再生デバイスによって表示、再生、またはある他の方法において提示され得る、ビデオ、オーディオ、写真、または別のタイプの提示を含む、作品のデータとして定義される。典型的には、再生デバイスは、メディアの次の部分の受信に先立って、全バッファリングされたメディアの再生を完了するため、再生デバイスは、再生の間、任意の所与の時間において、十分な量のメディアをバッファ内に記憶し、再生の途絶を防止する。適応ビットレートストリーミングまたは適応ストリーミングは、本ストリーミング条件(例えば、ユーザのネットワーク帯域幅およびCPU容量)をリアルタイムで検出し、適宜、ストリーミングされるメディアの質を調節することを伴う。典型的には、ソースメディアは、複数のビットレートでエンコードされ、再生デバイスまたはクライアントは、利用可能なリソースに応じて、異なるエンコーディングのストリーミング間で切り替える。
【0003】
適応ストリーミングソリューションは、典型的には、RFC2616として、Internet Engineering Task ForceおよびWorld Wide Web Consortiumによって公開されたハイパーテキスト転送プロトコル(HTTP)、またはRFC2326として、Internet Engineering Task Forceによって公開されたリアルタイムストリーミングプロトコル(RTSP)のいずれかを利用して、サーバと再生デバイスとの間でメディアをストリーミングする。HTTPは、再生デバイスが、ファイル内のバイト範囲を要求することを可能にする、ステートレスプロトコルである。HTTPは、サーバが、再生デバイスから受信された要求に応答するために、情報を要求する再生デバイスの状態または再生デバイスによって要求されたバイト範囲に関する情報を記録することが要求されないため、ステートレスとして説明される。RTSPは、ストリーミングメディアサーバを制御するために使用されるネットワーク制御プロトコルである。再生デバイスは、メディアをストリーミングするサーバに、「再生」および「一時停止」等の制御コマンドを発行し、メディアファイルの再生を制御する。RTSPが利用されるとき、メディアサーバは、各クライアントデバイスの状態を記録し、クライアントデバイスから受信した命令およびクライアントの状態に基づいて、ストリーミングするためのメディアを判定する。
【0004】
適応ストリーミングシステムでは、ソースメディアは、典型的には、実際のビデオおよびオーディオデータを含有する、いくつかの代替ストリームをポイントするトップレベルインデックスファイルとして、メディアサーバ上に記憶される。各ストリームは、典型的には、1つまたはそれを上回るコンテナファイル内に記憶される。異なる適応ストリーミングソリューションは、典型的には、異なるインデックスおよびメディアコンテナを利用する。World Wide Web Consortiumによって開発された同期マルチメディア統合言語(SMIL)は、Microsoft Corporation(Redmond, Washington)によって開発されたIISスムーズストリーミング、およびAdobe Systems Incorporated(San Jose, California)によって開発されたフラッシュダイナミックストリーミングを含む、いくつかの適応ストリーミングソリューションにおいて、インデックスを作成するために利用される。Apple Computer Incorporated(Cupertino, California)によって開発されたHTTP適応ビットレートストリーミングは、典型的には、メディアコンテナファイルを識別する、URIのリストを含有するテキストファイルである、拡張M3U再生ファイル(.M3U8)を使用して、インデックスファイルを実装する。最も一般に使用されるメディアコンテナ形式は、MPEG−4 Part14(すなわち、ISO/IEC14496−14)に指定されるMP4コンテナ形式、およびMPEG−2 Part1(すなわち、ISO/IEC規格13818−1)に指定されるMPEGトランスポートストリーム(TS)コンテナである。MP4コンテナ形式は、IISスムーズストリーミングおよびフラッシュダイナミックストリーミングにおいて利用される。TSコンテナは、HTTP適応ビットレートストリーミングにおいて使用される。
【0005】
適応ビットレートストリーミングは、デバイス上でメディアコンテンツの再生を適正に行う。しかしながら、現在、2つまたはそれを上回るデバイス上のコンテンツの提示時間の間に認められる差異が存在しないように、2つまたはそれを上回る再生デバイス上でストリーミングされたコンテンツの再生を同期させるように実行可能な方法は存在しない。現在、デバイスを同期させるための唯一の方法は、ユーザが、デバイスのそれぞれ上で再生の開始および停止を手動で制御し、再生を同期させるものであって、これは、多くの場合、達成が不可能または少なくとも非常に困難である。さらに、適応ビットレートストリーミングおよび他のストリーミングプロセスを使用したオーバーザトップ(OTT)コンテンツまたは他の提示時間制約コンテンツのストリーミングは、ますます普及しつつある。OTTコンテンツは、メディアコンテンツプロバイダが配信するコンテンツであるが、コンテンツの任意の制御を有し得ず、受信されたままでのみコンテンツを提供し得る。OTTコンテンツの最良実施例は、ライブブロードキャストである。ライブブロードキャストの間、コンテンツは、直接、再生デバイスにストリーミングされ、リアルタイムで受信された後、すぐに再生される。再生デバイスの能力およびデバイスのネットワーク接続の差異に起因して、異なるデバイス上のストリーミングされたコンテンツの受信および再生のタイミングは、同期され得ない。したがって、手動同期は、再生デバイス上で記憶されたコンテンツの再生を同期させるよりもさらに困難である。
【0006】
同期の欠如は、同期の欠如が視聴者によって気付かれ得るため、1つまたはそれを上回るデバイスが相互に近接して再生を行うとき、問題となり得る。例えば、2つまたはそれを上回る再生デバイスが、ライブスポーツイベントを視聴するために、レストラン内に設定され得る。再生が同期されない場合、ユーザは、デバイス間のブロードキャスト遅延に気付き得る。
【発明の概要】
【課題を解決するための手段】
【0007】
本発明の実施形態による、ストリーミングされたOTTコンテンツまたは他の時間制約コンテンツの再生を同期させるためのシステムおよび方法が、開示される。本発明の実施形態によると、再生デバイスによって行われるエンコードされたメディアの再生のための方法は、以下のアクションによって行われる。再生デバイスは、要求をネットワーク時間プロバイダに伝送する。要求に応答して、再生デバイスは、時間情報をネットワーク時間プロバイダから受信する。再生デバイスは、受信された時間情報を使用して、デバイス内の再生クロックを設定する。コンテンツのストリームの再生を提供するために、再生デバイスは、ストリームメディアプロバイダからエンコードされたメディアのストリームに関するストリーム始動情報を受信する。ストリーム始動情報は、ストリーム開始時間を含む。再生デバイスは、次いで、エンコードされたメディアのストリームを受信する。ストリームは、エンコードされたコンテンツのフレームを含む。ストリームのフレームのそれぞれの提示時間情報は、ストリーム始動情報に基づいて、再生デバイス内で調節される。
【0008】
本発明のいくつかの実施形態によると、ネットワーク時間プロバイダは、ネットワーク時間プロトコルサーバであって、要求の伝送および時間情報の受信は、ネットワーク時間プロトコル(NTP)を使用して行われる。さらに、時間情報および/または開始時間は、本発明のいくつかの実施形態によると、協定世界時で提供される。
【0009】
本発明のいくつかの他の実施形態によると、ネットワーク時間プロバイダは、ローカル時間サーバである。これらの実施形態のいくつかによると、ローカル時間サーバは、以下のプロセスを行い、時間情報を得る。ローカル時間サーバは、時間情報に関する要求をネットワーク時間プロトコルサーバに伝送する。要求に応答して、ローカル時間サーバは、ネットワーク時間プロトコルサーバから時間情報をローカル時間サーバ内で受信する。ローカル時間サーバは、次いで、時間情報に関する要求を再生デバイスから受信してもよい。ローカル時間サーバは、次いで、ネットワーク時間プロトコルサーバから受信されたタイミング情報から再生デバイスのための時間情報を生成し、時間情報を再生デバイスに伝送する。
本明細書は、例えば、以下の項目も提供する。
(項目1)
再生デバイスによって行われるエンコードされたメディアの再生のための方法であって、
再生デバイスからネットワーク時間プロバイダに時間情報に関する要求を伝送するステップと、
前記ネットワーク時間プロバイダから時間情報を前記再生デバイス内で受信するステップと、
前記受信された時間情報を使用して、前記再生デバイス内の再生クロックを設定するステップと、
ストリームメディアプロバイダからエンコードされたメディアのストリームに関するストリーム始動情報を前記再生デバイス内で受信するステップであって、前記ストリーム始動情報は、ストリーム開始時間を含む、ステップと、
前記エンコードされたメディアのストリームを前記再生デバイス内で受信するステップであって、前記ストリームは、エンコードされたコンテンツの複数のフレームを含む、ステップと、
前記ストリーム始動情報に基づいて、前記ストリームの複数のフレームのそれぞれの提示時間情報を前記再生デバイス内で調節するステップと、
を含む、方法。
(項目2)
前記ネットワーク時間プロバイダは、ネットワーク時間プロトコルサーバであり、前記要求の伝送および前記時間情報の受信は、ネットワーク時間プロトコルを使用して行われる、項目1に記載の方法。
(項目3)
前記時間情報は、協定世界時で提供される、項目1に記載の方法。
(項目4)
前記開始時間は、協定世界時で提供される、項目1に記載の方法。
(項目5)
前記ネットワーク時間プロバイダは、ローカル時間サーバである、項目1に記載の方法。
(項目6)
前記ローカル時間サーバからネットワーク時間プロトコルサーバに時間情報に関する要求を伝送するステップと、
前記ネットワーク時間プロトコルサーバから時間情報を前記ローカル時間サーバ内で受信するステップと、
前記時間情報に関する要求を前記再生デバイスから受信するステップと、
前記ネットワーク時間プロトコルサーバから受信されたタイミング情報から前記再生デバイスのための時間情報を生成するステップと、
前記時間情報を前記再生デバイスに伝送するステップと、
をさらに含む、項目5に記載の方法。
(項目7)
前記ストリームメディアプロバイダからネットワーク時間プロトコルサーバに時間情報に関する要求を伝送するステップと、
前記ネットワーク時間プロトコルサーバから時間情報を前記ローカル時間サーバ内で受信するステップと、
前記ストリームメディアプロバイダによって受信された時間情報を使用して、前記エンコードされたメディアのストリームに関するストリーム始動情報を生成するステップであって、前記ストリーム始動情報は、前記ストリーム開始時間を含む、ステップと、
前記ストリームメディアプロバイダによって、前記再生デバイスから前記エンコードされた再生に関する要求を受信するステップと、
前記ストリームメディアプロバイダから前記再生デバイスに、前記ストリーム開始時間を含むストリーム始動情報を伝送するステップと、
前記ストリームメディアプロバイダから前記再生デバイスに前記エンコードされたメディアのストリームを伝送するステップと、
をさらに含む、項目1に記載の方法。
(項目8)
提供された開始時間に基づいて、エンコードされたメディアの再生を提供するための再生デバイスであって、
メモリと、
プロセッサであって、前記メモリ内に記憶されたクライアントアプリケーションを介して、
時間情報に関する要求をネットワーク時間プロバイダに伝送することと、
前記時間情報を前記ネットワーク時間プロバイダから受信することと、
前記受信された時間情報を使用して、前記再生デバイス内の再生クロックを設定することと、
ストリームメディアプロバイダからエンコードされたメディアのストリームに関するストリーム始動情報を受信することであって、前記ストリーム始動情報は、ストリーム開始時間を含む、ことと、
前記エンコードされたメディアのストリームを受信することであって、前記ストリームは、エンコードされたコンテンツの複数のフレームを含む、ことと、
前記ストリーム始動情報に基づいて、前記ストリームの複数のフレームのそれぞれの提示時間情報を前記再生デバイス内で調節することと
を行うように構成される、プロセッサと、
を備える、再生デバイス。
(項目9)
前記ネットワーク時間プロバイダは、ネットワーク時間プロトコルサーバであり、前記要求の伝送および前記時間情報の受信は、ネットワーク時間プロトコルを使用して行われる、項目8に記載の再生デバイス。
(項目10)
前記時間情報は、協定世界時で提供される、項目8に記載の再生デバイス。
(項目11)
前記開始時間は、協定世界時で提供される、項目8に記載の再生デバイス。
(項目12)
前記ネットワーク時間プロバイダは、ローカル時間サーバである、項目8に記載の再生デバイス。
(項目13)
前記ローカル時間サーバによって提供される時間情報は、ネットワーク時間プロトコルサーバからの時間情報に基づく、項目12に記載の再生デバイス。
(項目14)
プロセッサ命令を含有する機械可読媒体であって、プロセッサによる前記命令の実行は、前記プロセッサに、提供された開始時間に基づいて、エンコードされたメディアの再生を提供するためのプロセスを行なわせ、前記プロセスは、
時間情報に関する要求をネットワーク時間プロバイダに伝送するステップと、
前記時間情報を前記ネットワーク時間プロバイダから受信するステップと、
前記受信された時間情報を使用して、再生デバイス内の再生クロックを設定するステップと、
ストリームメディアプロバイダからエンコードされたメディアのストリームに関するストリーム始動情報を受信するステップであって、前記ストリーム始動情報は、ストリーム開始時間を含む、ステップと、
前記エンコードされたメディアのストリームを受信するステップであって、前記ストリームは、エンコードされたコンテンツの複数のフレームを含む、ステップと、
前記ストリーム始動情報に基づいて、前記ストリームの複数のフレームのそれぞれの提示時間情報を前記再生デバイス内で調節するステップと、
を含む、プロセッサ命令を含有する機械可読媒体。
(項目15)
前記ネットワーク時間プロバイダは、ネットワーク時間プロトコルサーバであり、前記要求の伝送および前記時間情報の受信は、ネットワーク時間プロトコルを使用して行われる、項目14に記載のプロセッサ命令を含有する機械可読媒体。
(項目16)
前記時間情報は、協定世界時で提供される、項目14に記載のプロセッサ命令を含有する機械可読媒体。
(項目17)
前記開始時間は、協定世界時で提供される、項目14に記載のプロセッサ命令を含有する機械可読媒体。
(項目18)
前記ネットワーク時間プロバイダは、ローカル時間サーバである、項目14に記載のプロセッサ命令を含有する機械可読媒体。
(項目19)
前記ローカル時間サーバによって提供される時間情報は、ネットワーク時間プロトコルサーバからの時間情報に基づく、項目18に記載のプロセッサ命令を含有する機械可読媒体。
【図面の簡単な説明】
【0010】
【
図1】
図1は、本発明のある実施形態による、メディアストリーミングシステムのネットワーク略図を図示する。
【
図2】
図2は、本発明のある実施形態によるシステムおよび方法を提供するためのプロセスを行う、再生デバイスの構成要素のブロック図を図示する。
【
図3】
図3は、本発明のある実施形態によるシステムおよび方法を提供するためのプロセスを行う、サーバの構成要素のブロック図を図示する。
【
図4】
図4は、本発明のいくつかの実施形態による、ネットワークを経由してデバイス間で伝送される情報のタイミング図を図示する。
【
図5】
図5は、本発明の他の実施形態による、ネットワークを経由してデバイス間で伝送される情報のタイミングを図示する。
【
図6】
図6は、本発明の実施形態による、再生デバイスによって行われるプロセスの流れ図を図示する。
【
図7】
図7は、本発明の実施形態による、ストリームコンテンツプロバイダによって行われるプロセスの流れ図を図示する。
【発明を実施するための形態】
【0011】
ここで図面を参照すると、複数のクライアントによるOTTコンテンツの再生を同期させるためのシステムおよび方法が、提供される。特に、本発明の実施形態は、共通ソースからの時間情報を使用して、個々の再生デバイス内の再生クロックを設定することができる。再生デバイスは、次いで、再生の開始に関する時間を示す開始時間情報をメディアコンテンツプロバイダから受信する。開始時間情報は、共通ソースからの時間情報を使用して判定される。各デバイスは、次いで、受信された開始時間情報に基づいて、受信されたコンテンツ内のフレームの提示タイムスタンプを調節する。
ストリーミングシステムアーキテクチャ
【0012】
ここで
図1を参照すると、本発明の実施形態による適応ストリーミングシステムが、図示される。適応ストリーミングシステム10は、いくつかの代替ストリームとして、ソースメディアをエンコードするように構成される、ソースエンコーダ12を含む。図示される実施形態では、ソースエンコーダは、サーバである。他の実施形態では、ソースエンコーダは、プロセッサと、ソースメディア(ビデオ、オーディオ、および/または字幕を含むが、それらに限定されない)のトランスコーディングを行うための十分なリソースとを含む、任意の処理デバイスであることができる。典型的には、ソースエンコーディングサーバ12は、ストリームを含有する複数のコンテナファイルへのトップレベルインデックスを生成し、そのうちの少なくとも複数は、代替ストリームである。代替ストリームは、同一のメディアコンテンツを異なる方法でエンコードする、ストリームである。多くの事例では、代替ストリームは、異なる最大ビットレートでメディアコンテンツ(限定されないが、ビデオ等)をエンコードする。いくつかの実施形態では、代替ストリームは、異なる解像度および/または異なるフレームレートでエンコードされる。トップレベルインデックスファイルおよびコンテナファイルは、HTTPサーバ14にアップロードされる。種々の再生デバイスは、次いで、HTTPまたは別の適切なステートレスプロトコルを使用して、インターネット等のネットワーク16を介して、トップレベルインデックスファイルおよびコンテナファイルの一部を要求することができる。
【0013】
時間サーバ22は、協定世界時(UTC)または同等情報を提供する、サーバである。示される実施形態では、時間サーバ22は、第三者によって維持され得る、ネットワーク時間プロトコル(NTP)サーバまたは同等システムである。NTPの使用は、時間サーバ22が、時間情報をデバイスに提供することを可能にし、時間情報を使用して設定される個々のデバイス内の内部クロックが、相互に数10ミリ秒(ms)以内で同期されることを可能にする。
【0014】
図示される実施形態では、再生デバイスは、パーソナルコンピュータ18、CEプレーヤ、および携帯電話20を含む。他の実施形態では、再生デバイスは、消費者電子機器デバイス、例えば、DVDプレーヤ、Blu−ray(登録商標)プレーヤ、テレビ、セットトップボックス、ビデオゲームコンソール、タブレット、およびHTTPを介して、サーバに接続し、エンコードされたメディアを再生可能である、他のデバイスを含むことができる。具体的アーキテクチャは、
図1に示されるが、適応ビットレートストリーミングではなく、従来のストリーミングを行うシステムを含む、任意の種々のアーキテクチャのいずれかが、再生デバイスが、本発明の実施形態に従って、トップレベルインデックスファイルおよびコンテナファイルの一部を要求することを可能にするように利用されることができる。
【0015】
図示されるように、ユーザコンピュータ29等のいくつかの再生デバイスが、ローカルエリアネットワーク(LAN)25を介して、ネットワーク16に接続される。LAN25は、ローカル時間サーバ27を含んでもよい。ローカル時間サーバ27は、時間情報をNTPサーバ22から受信し、NTPサーバ22から受信された時間情報に基づいて、ローカル時間情報を生成する。サーバとして示されるが、当業者は、時間情報を提供することができる、LAN25に接続される任意のデバイスが、本発明の実施形態から逸脱することなく使用されてもよいことを認識するであろう。ローカル時間サーバ27のローカル時間情報は、LAN25に接続される再生デバイスに提供され、接続されるデバイス間のより良好な時間同期を確実にし得る。LAN25に接続されるローカル時間サーバ27の使用は、数10ms未満の同期がネットワーク時間サーバ22を使用して達成されることが所望されるときに使用されてもよい。本発明の実施形態による、ネットワーク時間サーバ、再生デバイス、およびローカル時間サーバは、以下にさらに論じられる。
再生デバイス
【0016】
本発明の実施形態による方法およびシステムを提供するためのいくつかのプロセスは、再生デバイスによって実行される。本発明のある実施形態によるプロセスを行うことができる再生デバイス内の関連構成要素が、
図2に示される。当業者は、再生デバイスは、本発明から逸脱することなく、簡潔にするために省略される他の構成要素を含んでもよいことを認識するであろう。再生デバイス200は、プロセッサ205と、不揮発性メモリ210と、揮発性メモリ215とを含む。プロセッサ205は、揮発性メモリ215または不揮発性メモリ210内に記憶された命令を行い、メモリ内に記憶されたデータを操作する、プロセッサ、マイクロプロセッサ、コントローラ、またはプロセッサ、マイクロプロセッサ、および/またはコントローラの組み合わせである。不揮発性メモリ210は、本発明の実施形態によるプロセスを含むプロセスを行なうように再生デバイス200を構成するために利用されるプロセッサ命令および/または利用されるプロセスのためのデータを記憶することができる。他の実施形態では、再生デバイスソフトウェアおよび/またはファームウェアは、具体的アプリケーションに適切な種々の非一過性コンピュータ可読媒体のいずれか内に記憶されることができる。
サーバ
【0017】
本発明の実施形態による方法およびシステムを提供するためのいくつかのプロセスは、HTTPサーバ、ソースエンコーディングサーバ、および/またはローカルおよびネットワーク時間サーバによって実行される。本発明の実施形態によるプロセスを行うサーバ内の関連構成要素が、
図3に示される。当業者は、サーバが、本発明の実施形態から逸脱することなく、簡潔にするために省略される他の構成要素を含んでもよいことを認識するであろう。サーバ300は、プロセッサ305と、不揮発性メモリ310と、揮発性メモリ315とを含む。プロセッサ305は、揮発性メモリ315または不揮発性メモリ310内に記憶された命令を行い、メモリ内に記憶されたデータを操作する、プロセッサ、マイクロプロセッサ、コントローラ、またはプロセッサ、マイクロプロセッサ、および/またはコントローラの組み合わせである。不揮発性メモリ310は、本発明の実施形態によるプロセスを含むプロセスを行うようにサーバ300を構成するために利用されるプロセッサ命令および/または利用されるプロセスのためのデータを記憶することができる。他の実施形態では、サーバソフトウェアおよび/またはファームウェアは、具体的アプリケーションに適切な種々の非一過性コンピュータ可読媒体のいずれかに記憶されることができる。具体的サーバが、
図3に図示されるが、任意の数のプロセスを行うように構成される、種々のサーバのいずれかが、本発明の実施形態に従って利用されることができる。
再生同期
【0018】
本発明の実施形態によると、再生デバイスは、時間情報を共通ソースから得て、時間情報を使用して、デバイスの再生クロックを設定する。再生デバイスはまた、再生時間情報をストリームコンテンツプロバイダから受信する。再生時間情報は、次いで、再生クロックに基づいて、ストリーム内のフレームの提示時間を調節するために使用される。再生クロックは、共通ソースからの時間情報に基づいて設定されているため、数10ms未満の遅延が提示間に存在するはずである。本発明のいくつかの実施形態による、ネットワークを経由してデバイス間でパスされるメッセージおよび情報のタイミング図が、
図4に図示される。
【0019】
図4では、デバイスは、第1の再生デバイスと、第2の再生デバイスと、メディアサーバと、ネットワーク時間サーバとを含む。第1および第2の再生デバイスは、ストリーミングされたエンコードされたメディアコンテンツを提示可能なデバイスである。メディアサーバは、ネットワークを経由してストリーミングされたコンテンツを第1および第2の再生デバイスに提供しているシステムである。ネットワーク時間サーバは、時間情報を提供する、時間サーバである。いくつかの実施形態によると、時間情報は、NTPを使用して提供される。さらに、時間情報は、協定世界時(UTC)に基づいて時間情報を提供する。
【0020】
図4のタイミング図によると、第1の再生デバイスは、時間サーバに、時間情報に関する要求405を伝送し、要求に応答して、時間情報410を時間サーバから受信する。同様に、第2の再生デバイスは、時間サーバに、時間情報に関する要求415を伝送し、要求に応答して、時間情報420を時間サーバから受信する。さらに、メディアサーバはまた、時間情報要求425を時間サーバに伝送し、要求に応答して、時間情報430を時間サーバから受信する。いくつかの実施形態によると、これらの交換は、NTPを使用して行われる。しかしながら、メッセージのこれらの交換を行うための他の手段が、本発明の実施形態から逸脱することなく、使用されてもよい。さらに、当業者は、異なる時間サーバによって提供される時間情報が共通ソースから生成される限り、デバイスが時間情報を同一時間サーバから受信する必要はないことを認識するであろう。当業者は、デバイスに接続されるネットワークのネットワーク帯域幅および構成に起因して、ある程度の遅延が、時間サーバによって種々のデバイスに提供される時間情報間に導入され得ることを認識するであろう。
【0021】
第1および第2の再生デバイスは、受信された時間情報を使用して、各再生デバイス内の個別の再生クロックを設定する。第1の再生デバイスは、OTTコンテンツまたは他の提示時間制約コンテンツに関する要求435をメディアサーバに伝送する。メディアサーバは、所望のコンテンツ440のためのエンコードされたメディアのストリームに関するストリーム始動情報を第1の再生デバイスに伝送する。同様に、第2のデバイスは、同一OTTコンテンツに関する要求445または時間制約コンテンツに関する他の提示をメディアサーバに伝送する。メディアサーバは、所望のコンテンツ450のためのエンコードされたメディアのストリームに関するストリーム始動情報を第2の再生デバイスに伝送する。いくつかの実施形態によると、ストリーム始動情報は、UTCに基づく開始時間を含む。
【0022】
メディアサーバは、次いで、メディアコンテンツ455および460のストリームを第1および第2の再生デバイスのそれぞれに伝送開始する。第1および第2のデバイスはそれぞれ、次いで、ストリーム始動情報に基づいて、メディアコンテンツのストリーム内で受信された各フレームの提示タイムスタンプ(PTS)を調節する。これらの実施形態のいくつかによると、ストリーム内の開始時間は、UTCから導出された再生クロックおよび開始時間のUTCに基づくであろう。ストリームの開始時間は、UTCから導出され、再生クロックは、UTCから導出されるため、提示間の遅延は、種々のデバイスによって受信された時間情報の差異に基づいて、数10ms以内であろう。
【0023】
いくつかの実施形態では、数10ms未満の遅延を含むコンテンツの再生の同期を有することが望ましくあり得る。これは、デバイスが、相互に近接するコンテンツの再生を提供している場合に該当し得る。本発明のいくつかの実施形態による、再生デバイス間により優れた同期を提供するシステムのタイミング図が、
図5に示される。
【0024】
図5におけるシステムは、第1の再生デバイスと、第2の再生デバイスと、ローカル時間サーバと、メディアサーバと、ネットワーク時間サーバとを含む。第1および第2の再生デバイスは、ストリーミングされ、エンコードされたメディアコンテンツを提示可能なデバイスであって、これらのデバイスはそれぞれ、LANに接続される。LANは、ローカル時間サーバを含む。ローカル時間サーバは、時間情報をLANに接続されるデバイスに提供する、サーバである。これらの実施形態によると、時間情報は、以下にさらに説明されるように、ネットワーク時間サーバから受信された時間情報に基づく。メディアサーバは、ネットワークを経由してストリーミングされたコンテンツを第1および第2の再生デバイスに提供しているシステムである。ネットワーク時間サーバは、時間情報を提供する、時間サーバである。いくつかの実施形態によると、時間情報は、NTPを使用して提供される。さらに、時間情報は、UTCの観点から規定された時間情報を提供する。
【0025】
図4のタイミング図によると、ローカル時間サーバは、時間情報に関する要求505をネットワーク時間サーバ伝送し、応答して、時間情報510を時間サーバから受信する。メディアサーバはまた、時間情報要求515を時間サーバに伝送し、要求に応答して、時間情報520を時間サーバから受信する。いくつかの実施形態によると、これらの交換は、NTPを使用して行われる。しかしながら、メッセージのこれらの交換を行うための他の手段が、本発明の実施形態から逸脱することなく、使用されてもよい。さらに、当業者は、異なる時間サーバによって提供される時間情報が共通ソースから生成される限り、サーバが時間情報を同一時間サーバから受信する必要はないことを認識するであろう。当業者はまた、サーバに接続されるネットワークのネットワーク帯域幅および構成に起因して、ある程度の遅延が、時間サーバによって種々のデバイスに提供される時間情報間に導入され得ることを認識するであろう。
【0026】
ローカル時間サーバは、次いで、時間情報を使用して、LANに接続される再生デバイスによって使用するための時間情報を生成する。第1の再生デバイスは、ローカル時間サーバに、時間情報に関する要求525を伝送し、要求に応答して、時間情報530をローカル時間サーバから受信する。同様に、第2の再生デバイスは、ローカル時間サーバに、情報に関する要求535を伝送し、要求に応答して、時間情報540をローカル時間サーバから受信する。第1および第2の再生デバイスは、受信された時間情報を使用して、各デバイス内の個別の再生クロックを設定する。時間情報が、LANを経由して、ローカルサーバから受信されるにつれて、遅延は、時間情報にほとんど導入されない。したがって、第1および第2の再生デバイスの再生クロックは、より近接して同期される。
【0027】
再生を開始するために、第1のデバイスは、OTTコンテンツまたは他の提示時間制約コンテンツに関する要求545をメディアサーバに伝送する。メディアサーバは、所望のコンテンツ550のためのエンコードされたメディアのストリームに関するストリーム始動情報を第1の再生デバイスに伝送する。同様に、第2のデバイスは、同一OTTコンテンツに関する要求555または時間制約コンテンツに関する他の提示をメディアサーバに伝送する。メディアサーバは、所望のコンテンツ560のためのエンコードされたメディアのストリームに関するストリーム始動情報を第2の再生デバイスに伝送する。いくつかの実施形態によると、ストリーム始動情報は、UTCに基づく開始時間を含む。
【0028】
メディアサーバは、次いで、メディアコンテンツ565および570のストリームを第1および第2の再生デバイスのそれぞれに伝送開始する。第1および第2のデバイスはそれぞれ、次いで、ストリーム始動情報に基づいて、メディアコンテンツのストリーム内で受信された各フレームの提示タイムスタンプ(PTS)を調節する。これらの実施形態のいくつかによると、ストリーム内の開始時間は、ローカル時間サーバから受信されたUTC情報から導出された再生クロックおよび開始時間のUTCに基づくであろう。ストリームの開始時間は、UTCから導出され、再生クロックは、ネットワーク時間サーバの代わりに、ローカル時間サーバから受信されたUTCから導出されるため、提示間の遅延は、典型的には、
図4を参照して前述のシステムの数10ms未満であろう。これは、個々の再生デバイスの内部クロックが、個々の再生デバイスとLANのローカル時間サーバとの間の待ち時間欠如に起因して、より近接して同期されるためである。
【0029】
本発明のいくつかの実施形態による、同期再生を提供するために再生デバイスによって行われるプロセスが、
図6に図示される。プロセス600は、時間情報に関する要求を時間プロバイダに伝送するステップを含む(605)。
図4および5を参照して論じられるように、時間プロバイダは、限定ではないが、ネットワーク時間サーバおよび/またはローカル時間サーバであってもよい。デバイスは、時間情報を時間プロバイダから受信する(610)。時間情報は、好ましくは、UTCに基づく。時間情報は、再生デバイスによって使用され、メディア再生クロックを設定する(615)。
【0030】
再生デバイスが、OTTまたは他の提示時間コンテンツを再生するとき、再生デバイスは、ストリーム始動情報を受信する(620)。いくつかの実施形態によると、ストリーム始動情報は、要求されるコンテンツのトップレベルインデックス内にある、またはメタデータまたは同等物等のいくつかの他のタイプの管理情報とともに提供されてもよい。いくつかの実施形態によると、ストリーム始動情報は、UTCに基づく開始時間を含む。再生デバイスは、次いで、メディアコンテンツのストリームを受信する。ストリームが受信されるにつれて、再生デバイスは、ストリーム始動情報および再生クロックに基づいて、各フレームの提示時間情報を調節する(625)。提示時間情報は、フレームの提示タイムスタンプ(PTS)、フレームのための基準フレームのPTS、またはフレームが提示され得る時間を判定するために使用され得る任意の他の情報であってもよい。これらの実施形態のいくつかによると、開始時間および再生クロックの時間は、各フレームのPTSを調節するために使用される。特に、メディアサーバおよび再生クロックから受信された開始時間の間の差異は、各フレームのPTSを調節するために使用されてもよい。ストリームの再生が、次いで、開始する(630)。
【0031】
本発明の実施形態による、メディアサーバによって行われるストリーム始動時間情報を提供するためのプロセスが、
図7に図示される。プロセス700は、時間情報に関する要求をネットワーク時間プロバイダに伝送するステップを含む(705)。
図4および5を参照して論じられるように、時間プロバイダは、限定ではないが、ネットワーク時間サーバであってもよい。メディアは、時間情報を時間プロバイダから受信する(710)。時間情報は、好ましくは、UTCに基づく。時間情報は、メディアサーバによって使用され、ストリーム始動時間を判定する(715)。前述のように、ストリーム始動時間は、UTCに基づく開始時間であってもよい。
【0032】
ストリーム始動時間は、次いで、コンテンツのストリームに関するストリーム始動情報を生成するために使用される(720)。コンテンツのストリームに関する要求が受信されると(725)、ストリーム始動情報が、要求側再生デバイスに提供され(730)、コンテンツは、再生デバイスにストリーミングされる(735)。
【0033】
前述は、本発明によるシステムおよび方法の実施形態の説明である。他の当業者が、文字通りまたは均等論を通してのいずれかにおいて、以下の請求項に記載される本発明を侵害する代替システムを設計するであろうことが予想される。