(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6135958
(24)【登録日】2017年5月12日
(45)【発行日】2017年5月31日
(54)【発明の名称】ダウンロード及びストリーミングのためのコンテンツの記憶及び送信
(51)【国際特許分類】
H04N 21/462 20110101AFI20170522BHJP
H04N 21/433 20110101ALI20170522BHJP
H04N 21/436 20110101ALI20170522BHJP
【FI】
H04N21/462
H04N21/433
H04N21/436
【請求項の数】26
【全頁数】39
(21)【出願番号】特願2015-544220(P2015-544220)
(86)(22)【出願日】2014年1月16日
(65)【公表番号】特表2016-502809(P2016-502809A)
(43)【公表日】2016年1月28日
(86)【国際出願番号】US2014011919
(87)【国際公開番号】WO2014113603
(87)【国際公開日】20140724
【審査請求日】2015年5月25日
(31)【優先権主張番号】61/753,291
(32)【優先日】2013年1月16日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】504161984
【氏名又は名称】ホアウェイ・テクノロジーズ・カンパニー・リミテッド
(74)【代理人】
【識別番号】100146835
【弁理士】
【氏名又は名称】佐伯 義文
(74)【代理人】
【識別番号】100140534
【弁理士】
【氏名又は名称】木内 敬二
(72)【発明者】
【氏名】シン・ワン
(72)【発明者】
【氏名】ヨンリアン・リウ
【審査官】
後藤 嘉宏
(56)【参考文献】
【文献】
国際公開第2012/011450(WO,A1)
【文献】
特開平11−353248(JP,A)
【文献】
国際公開第2013/003793(WO,A1)
【文献】
国際公開第2012/099400(WO,A2)
【文献】
国際公開第2012/138909(WO,A1)
【文献】
米国特許出願公開第2013/0007814(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00−21/858
(57)【特許請求の範囲】
【請求項1】
メディアコンテンツをプレイすることができる第1クライアントデバイスによって実行される方法であって、前記方法は、
ストリーミングサーバから前記メディアコンテンツのためのメディアプレゼンテーション記述(MPD)を受信するステップと、
1又は2以上のストリーミングサーバから前記メディアコンテンツのための複数のセグメントを受信するステップと、
前記MPD及び前記受信されたセグメントの少なくとも一部を1のファイルにパッケージ化するステップであって、前記パッケージ化されたセグメントが前記パッケージ化されたMPDを介して第2クライアントデバイスによってアクセス可能であるように、前記パッケージ化されたセグメントの前記少なくとも一部は、前記パッケージ化されたMPDの対応するセグメント要素にリンクされる、パッケージ化するステップと
を含む方法。
【請求項2】
前記第2クライアントデバイスから前記メディアコンテンツのための要求を受信するステップと、
前記要求に応じて前記第2クライアントデバイスに1又は2以上の前記パッケージ化されたセグメントを送信するステップであって、前記第1クライアントデバイスはネットワーク接続を介して前記第2クライアントデバイスに接続される、ステップと
をさらに含む、請求項1に記載の方法。
【請求項3】
前記要求はダウンロード要求であり、かつ前記方法は、前記パッケージ化されたセグメントとともに前記パッケージ化されたMPDを単一のファイルとして前記第2クライアントデバイスに送信するステップをさらに含む、請求項2に記載の方法。
【請求項4】
前記要求がストリーミング要求であり、かつ前記方法は、前記パッケージ化されたセグメントとともに前記パッケージ化されたMPDを別々にかつ関連付けられたファイルとして前記第2クライアントデバイスに送信するステップをさらに含む、請求項2に記載の方法。
【請求項5】
前記受信されたセグメントを使用して最初に前記メディアコンテンツをプレイするステップと、
前記パッケージ化されたセグメントの少なくとも一部を使用して前記メディアコンテンツをリプレイするステップと
をさらに含む、請求項1〜4のいずれか一項に記載の方法。
【請求項6】
前記リプレイ中に、前記第1クライアントデバイスと前記1又は2以上のストリーミングサーバとの間のネットワーク状態を監視するステップと、
前記ネットワーク状態は前記第1クライアントデバイスに、前記パッケージ化されたセグメントと同一のタイムラインを有するが、前記パッケージ化されたセグメントよりも高い品質を有するセグメントのストリーミングを許可することを判定するステップと、
前記リプレイのために前記1又は2以上のストリーミングサーバから、より高い品質を有する前記セグメントを取得するステップと
をさらに含む、請求項5に記載の方法。
【請求項7】
前記リプレイ中に、前記第1クライアントデバイスと、前記1又は2以上のストリーミン
グサーバとの間のネットワーク状態を監視するステップと、
前記ネットワーク状態は前記第1クライアントデバイスに、前記1又は2以上のストリーミングサーバからの、前記パッケージ化されたセグメントと同一のタイムラインを有するが、前記パッケージ化されたセグメントの前記少なくとも一部よりも高い品質を有するセグメントのストリーミングを許可しないことを判定するステップと
をさらに含み、
前記ネットワーク状態は前記第1クライアントデバイスに、前記1又は2以上のストリーミングサーバからの、前記パッケージ化されたセグメントと同一のタイムラインを有するが、前記パッケージ化されたセグメントの前記少なくとも一部よりも高い品質を有するセグメントのストリーミングを許可しないという前記判定に基づいて、前記リプレイ中に、前記パッケージ化されたセグメントの前記少なくとも一部は使用される、請求項5に記載の方法。
【請求項8】
前記ファイルは拡張マークアップ言語(XML)で記述されたMPDファイルであり、前記MPDファイルはセグメントデータ(SegmentData)要素として前記パッケージ化されたセグメントを含み、かつ、前記SegmentData要素は前記MPDファイルの対応する表現要素に記憶される、請求項1に記載の方法。
【請求項9】
前記受信されたセグメントは前記ファイルの先頭又は末尾におけるリソース要素にパッケージ化され、かつ、前記MPDは前記リソース要素における対応するパッケージ化されたセグメントを参照するセグメントデータ要素を含む、請求項1に記載の方法。
【請求項10】
前記ファイルはリソース要素を含むMPDファイルであり、かつ、前記リソース要素は前記パッケージ化されたセグメントと、前記MPDファイルの対応する表現要素にリンクする表現識別子とを含む、請求項1に記載の方法。
【請求項11】
前記ファイルはリソース要素を含むMPDファイルであり、前記リソース要素は前記パッケージ化されたセグメントと、対応するローカルユニフォームリソース識別子(URI)とを含み、かつ、前記ローカルURIは、前記パッケージ化されたセグメントを前記MPDファイルの対応するセグメント要素にリンクされる、請求項1に記載の方法。
【請求項12】
前記ファイルはリソース要素を含むMPDファイルであり、前記リソース要素は前記パッケージ化されたセグメントを含み、かつ、前記パッケージ化されたセグメントはXLink及びXPointer機能の少なくとも1を使用して前記MPDファイルの対応するセグメント要素にリンクされる、請求項1に記載の方法。
【請求項13】
前記ファイルはリソース要素を含むMPDファイルであり、前記リソース要素は前記パッケージ化されたセグメントを含み、かつ、前記パッケージ化されたセグメントは、それぞれ対応するセグメント要素に含まれるパスを使用して前記MPDファイルの対応するセグメント要素にリンクされる、請求項1に記載の方法。
【請求項14】
前記ファイルは前記受信されたMPDと更新MPDとを含むMPD拡張であり、かつ、前記更新MPDは前記パッケージ化されたセグメントを含む、請求項1に記載の方法。
【請求項15】
前記ファイルは、多目的インターネットメール拡張(MIME)ハイパーテキストマークアップ言語(HTML)(MHTML)ファイルであり、かつ、前記パッケージ化されたMPDは、前記MHTMLファイルにおけるユニフォームリソース識別子(URI)によって前記パッケージ化されたセ
グメントに関連付けられている、請求項1に記載の方法。
【請求項16】
前記ファイルは前記パッケージ化されたMPDと前記パッケージ化されたセグメントとが後続するファイルヘッダを含み、かつ、前記ファイルヘッダは、前記ファイルが前記パッケージ化されたMPDと前記パッケージ化されたセグメントとを含むことを指定する、請求項1に記載の方法。
【請求項17】
前記MPDと前記受信されたセグメントの前記少なくとも一部とが、別々の拡張マークアップ言語(XML)ファイルとしてパッケージ化され、かつXML機能を介して関連付けられている、請求項1〜16のいずれか一項に記載の方法。
【請求項18】
メディアコンテンツと、前記メディアコンテンツのための複数のセグメントとを記述するメディアプレゼンテーション記述(MPD)を受信するように構成された受信機であって、前記MPDはストリーミングサーバから受信され、かつ前記複数のセグメントは1又は2以上のストリーミングサーバから受信される、受信機と、
前記受信機に接続され、かつ、前記受信されたセグメントを使用して前記メディアコンテンツをプレイするように構成されたプロセッサと、
前記プロセッサに接続され、かつ、前記MPDと前記受信されたセグメントの少なくとも一部とを記憶するように構成されたメモリであって、前記記憶されたセグメントのそれぞれは、前記記憶されたMPDを介して読み出し可能であるように、前記記憶されたMPDの対応するセグメント要素にリンクされる、メモリと
を備え、前記プロセッサはさらに、前記記憶されたセグメントの少なくとも一部を使用して前記メディアコンテンツをリプレイするように構成された、装置。
【請求項19】
前記複数のセグメントは、前記メディアセグメントをプレイするための第1ストリーミングセッション中にストリーミングを介して受信され、かつ、前記記憶されたセグメントは、前記メディアコンテンツをリプレイするための第2ストリーミングセッション中に前記プロセッサによって読み出される、請求項18に記載の装置。
【請求項20】
前記受信機はさらに、メディアストリーミングクライアントから前記メディアコンテンツのための要求を受信するように構成され、前記プロセッサはさらに、前記要求に基づいて少なくとも1の前記記憶されたセグメントを読み出すように構成され、かつ、前記装置はさらに、前記プロセッサに接続されるとともに、前記読み出されたセグメントを前記メディアストリーミングクライアントに送信するように構成された送信機を備える、請求項18又は19に記載の装置。
【請求項21】
前記MPD及び前記受信されたセグメントの少なくとも一部は、別々かつ関連付けられた拡張マークアップ言語(XML)ファイルとして記憶され、かつ、前記読み出されたセグメントは、ストリーミングを介して前記メディアストリーミングクライアントに送信される、請求項20に記載の装置。
【請求項22】
前記MPD及び前記受信されたセグメントの少なくとも一部は、単一のファイルとして記憶され、かつ、前記読み出されたセグメントは、ダウンロードを介して前記メディアストリーミングクライアントに送信される、請求項20に記載の装置。
【請求項23】
複数のセグメントを含むメディアコンテンツを取得するための第2クライアントデバイスによって実行される方法であって、前記方法は、
ソースデバイスとして動作する第1クライアントデバイスから、前記第1クライアントデバイスに記憶されたメディアプレゼンテーション記述(MPD)を介して、前記セグメントの第1の部分を取得するステップと、
ストリーミングサーバから前記セグメントの第2の部分を取得するステップと、
前記セグメントの前記第1の部分と、前記セグメントの前記第2の部分とを使用して前記メディアコンテンツをプレイするステップと
を含む方法。
【請求項24】
前記セグメントの前記第1の部分は、前記MPDも含んでいるパッケージ化されたファイルの一部として前記ソースデバイスから取得され、前記方法はさらに、前記セグメントの前記第2の部分が前記パッケージ化されたファイルに存在しないことを判定するステップを含み、かつ、前記セグメントの前記第2の部分は、前記メディアコンテンツのための前記MPDの別のバージョンを使用して前記ストリーミングサーバから取得される、請求項23に記載の方法。
【請求項25】
前記セグメントの前記第1の部分はさらに前記ストリーミングサーバから利用可能であり、前記方法はさらに前記第2クライアントデバイスと前記ソースデバイスとの間の第1ネットワーク接続は、前記第2クライアントデバイスと前記ストリーミングサーバとの間の第2ネットワーク接続よりも速いことを判定するステップを含み、かつ、前記ソースデバイスから前記セグメントの前記第1の部分を取得するステップは前記第1ネットワーク接続がより速いという前記判定に基づく、請求項23に記載の方法。
【請求項26】
プログラムが記憶されたコンピュータ可読記憶媒体であって、前記プログラムは、請求項1〜17のいずれか一項に記載の方法をコンピュータに実行させる、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
〔関連出願の相互参照〕
本願は、2013年1月16日にXin Wang他によって出願された、発明の名称を“System and Method for Storing and Transmitting Content for Download and Streaming”とする、米国仮特許出願第61/753,291号の優先権を主張するとともに、参照により、その全体がここに組み込まれる。
【0002】
連邦支援の研究または開発
適用なし。
【0003】
「MICROFICHE APPENDIX」に対する参照
適用なし。
【背景技術】
【0004】
メディアコンテンツプロバイダ又は配布者は、例えば、テレビ、ノートパソコン、携帯電話のような様々なクライアントデバイスにメディアコンテンツを配信することができる。前記メディアコンテンツプロバイダは、複数のメディアエンコーダ及び/又はデコーダ(コーデック)、メディアプレーヤ、ビデオフレームレート、空間解像度、ビットレート、ビデオフォーマット、またはこれらの組み合わせをサポートすることができる。メディアコンテンツは、異なるユーザデバイスに合わせて、ソース又はオリジナルの表現から様々な他の表現に変換されることができる。
【0005】
メディアコンテンツは、メディアプレゼンテーション記述(MPD)及び複数のセグメントを含むことができる。前記MPDは、例えば、その様々な表現、ユニフォームリソースロケータ(URL)アドレス、及び他の特性のようなメディアコンテンツを記述する拡張マークアップ言語(XML)であってもよい。例えば、メディアコンテンツは、様々なメディアコンポーネント(例えば、オーディオ、ビデオ、及びテキスト)を含んでもよく、そのそれぞれは、前記MPDで指定された異なる特性を有してもよい。各メディアコンポーネントは、実際のメディアコンテンツの一部を含む複数のセグメントを含み、かつセグメントは、単一のファイルにまとめて又は複数のファイルに別々に記憶されてもよい。各セグメントは、予め定義されたバイト数(例えば、1,000バイト)又はメディアコンテンツの再生時間の間隔(例えば、2又は5秒)を含んでもよい。
【0006】
用途に応じて、前記メディアコンテンツを、様々な階層に分割することができる。例えば、前記メディアコンテンツは、一つの期間がセグメントよりも比較的長い時間間隔である、複数の期間を含むことができる。例えば、テレビ番組は、いくつかの2分長のコマーシャル期間によって分けられたいくつかの5分長の番組期間に分割されることができる。さらに、期間は、1又は複数の適合セット(AS)を含むことができる。ASは、1又は複数のメディアコンポーネントについての情報、及びその/それらの様々な符号化された表現を提供することができる。例えば、ASは、メディアコンテンツのビデオコンポーネントの異なるビットレートを含むことができ、一方で、別のASは、同一のメディアコンテンツのオーディオコンポーネントの異なるビットレートを含むことができる。表現は、ビットレート、解像度、チャネル数、若しくは他の特性、又はそれらの組み合わせによる他の表現から変化するメディアコンポーネントの符号化された取って代るものであってもよい。各表現は、時系列でメディアコンテンツチャンクである複数のセグメントを含む。さらに、時には複数の部分におけるセグメントのダウンロードを可能にするために、特定の期間及び/又はバイトサイズを有する各サブセグメントが使用されてもよい。当業者は、メディアコンテンツを配信するために使用可能な様々な階層を理解できる。
【0007】
適応ストリーミングでは、メディアコンテンツが、クライアント又はユーザデバイスに配信されるとき、前記ユーザデバイスは、例えば、ネットワーク状態、デバイス能力、及びユーザ選択のような種々の因子に基づいて、動的に、適切なセグメントを選択することができる。適応ストリーミングは、例えばDynamic Adaptive Streaming over Hypertext Transfer Protocol(HTTP)(DASH)、HTTP Live Streaming(HLS)、又はInternet Information Services(IIS) Smooth Streamingのような実施され又は開発中の様々な技術又は標準を含んでもよい。例えば、前記ユーザデバイスは、プレイバック中のイベントの失速又は再バッファリングを引き起こすことなく、プレイバックのための時間でダウンロードすることができる可能な最高品質(例えば解像度又はビットレート)のセグメントを選択することができる。従って、ユーザデバイスは、シームレスに、そのメディアコンテンツプレイバックをネットワーク状態の変化に適合させることができる。
【0008】
コンテンツ配信の別の方法は、部分的に加入者の個別化要求を満たすために使用することができるダウンロードを含む。DASHは、加入者によりよい経験ができるようにしてもよい。例えば、加入者のデバイスは、ネットワーク接続が高速であるときに高品質のメディアコンテンツを読み出し、かつネットワーク接続が悪化したときにコンテンツをプレイし続けるために低品質のメディアコンテンツに切り換えることができる。既存の方式では、メディアコンテンツのためのセグメントは、それらがクライアントデバイスによって読み出され、かつ復号化された後に破棄されてしまう。従って、前記セグメントは、将来の目的のために、有効に使用されない。例えば、もしクライアントデバイスが前記メディアコンテンツをリプレイすることを決定したとき、ストリーミングが最初から開始される必要があり、ネットワークリソースを浪費する。
【発明の概要】
【課題を解決するための手段】
【0009】
一実施形態において、本開示は、第1クライアントデバイスによって実行される方法であって、前記方法は、
ストリーミングサーバからメディアコンテンツのためのメディアプレゼンテーション記述(MPD)を受信するステップと、1又は2以上のストリーミングサーバから前記メディアコンテンツのための複数のセグメントを受信するステップと、前記MPD及び前記受信されたセグメントの少なくとも一部をパッケージ化するステップであって、前記パッケージ化されたセグメントが前記パッケージ化されたMPDを介して第2クライアントデバイスによってアクセス可能であるようにパッケージ化するステップとを含む、方法を開示している。
【0010】
別の実施形態において、本開示は、メディアコンテンツと、前記メディアコンテンツのための複数のセグメントとを記述するメディアプレゼンテーション記述(MPD)を受信するように構成された受信機と、前記受信機に接続され、かつ、前記受信されたセグメントを使用して前記メディアコンテンツをプレイするように構成されたプロセッサと、前記プロセッサに接続され、かつ、前記MPDと前記受信されたセグメントの少なくとも一部とを記憶するように構成されたメモリであって、前記記憶されたセグメントのそれぞれは前記記憶されたMPDを介して読み出し可能である、メモリとを備える装置であって、前記プロセッサはさらに、前記記憶されたセグメントの少なくとも一部を使用して前記メディアコンテンツをリプレイするように構成される、装置を開示している。
【0011】
さらに別の実施形態において、本開示は、複数のセグメントを含むメディアコンテンツを取得するための第2クライアントデバイスによって実行される方法であって、前記方法は、ソースデバイスとして動作する第1クライアントデバイスから前記セグメントの第1の部分を取得するステップと、ストリーミングサーバから前記セグメントの第2の部分を取得するステップと、前記セグメントの前記第1の部分と、前記セグメントの前記第2の部分とを使用して前記メディアコンテンツをプレイするステップとを含む、方法を開示している。
【0012】
これらの及び他の特徴が、添付図面及び特許請求の範囲と併せて以下の詳細な説明からより明確に理解される。
【図面の簡単な説明】
【0013】
本開示をより十分に理解するために、以下に添付図面及び詳細な説明と関連して、以下の簡単な説明を参照する。同様の参照番号は、同様の部分を表している。
【0014】
【
図1】コンテンツ配信システムの実施形態の概略図である。
【
図2】クライアントデバイスの実施形態の概略図である。
【
図3】MPDファイルが直接的にセグメントデータを含む例示的な実施形態を示している。
【
図4】MPD及びセグメントデータの両方が同一ファイルに属する別の例示的な実施形態を示している。
【
図5】リソース要素がMPDの子要素としてMPDに追加される、さらに別の例示的な実施形態を示している。
【
図6】ローカルユニフォームリソース識別子(URI)要素を各セグメント要素に追加する、さらに別の例示的な実施形態を示している。
【
図7】XML機能を使用して記憶されたセグメントデータを対応するセグメント要素にリンクさせる、さらに別の例示的な実施形態を示している。
【
図8】フルパスを使用して記憶されたセグメントデータを対応するセグメント要素にリンクさせる、さらに別の例示的な実施形態を示している。
【
図9】MPD拡張を生成する、さらに別の例示的な実施形態を示している。
【
図10A】ファイルの独立した部分としてMPD及びセグメントデータをパッケージ化する、さらに別の例示的な実施形態を示している。
【
図10B】ファイルの独立した部分としてMPD及びセグメントデータをパッケージ化する、さらに別の例示的な実施形態を示している。
【
図11】MPD及びセグメントデータをファイルにパッケージ化する、さらに別の例示的な実施形態を示している。
【
図12】ファイル処理方法の実施形態のフローチャートである。
【
図13A】2の別々のファイルとしてMPD及びセグメントデータをパッケージ化する、さらに別の例示的な実施形態を示している。
【
図13B】2の別々のファイルとしてMPD及びセグメントデータをパッケージ化する、さらに別の例示的な実施形態を示している。
【
図14】メディアコンテンツを処理するための別の方法の実施形態のフローチャートである。
【
図15】メディアコンテンツを取得し、かつプレイするためのさらに別の方法の実施形態のフローチャートである。
【
図16】ネットワークデバイスの実施形態の概略図である。
【発明を実施するための形態】
【0015】
はじめに、1又は2以上の実施形態の例示的実装が以下に提供され、開示されるシステム及び/又は方法は、現在知られている又は存在している任意の数の技術を使用して実施されてもよいことを理解すべきである。本開示は、決して以下の例示的実装、図面、及び例示的技術に限定されるべきではない。本開示は、ここに例示されかつ説明される例示的設計及び実装を含み、均等物の全範囲を有する添付の特許請求の範囲内で変更することが可能である。
【0016】
本開示は、メディアセグメントがコンテンツプロバイダ又はサーバから取得された後、クライアントデバイスがさらにメディアセグメントを活用することを可能にする実施形態を開示している。前記セグメントはさらに、クライアントデバイス上での前記メディアコンテンツをリプレイすること、第2クライアントデバイスと共有すること、又はその両方のために使用されることができる。具体的には、最初にクライアントデバイスによって受信されたMPD及びセグメントは、前記パッケージ化されたセグメントが前記MPDを介して第2クライアントデバイスによってアクセス可能であるように、パッケージ化され、又は記憶されてもよい。前記MPD及びセグメントは、単一のファイルとして、又は別々の関連ファイルとして記憶されてもよい。単一のファイルストレージは、様々な形態(例えば、セグメントを直接的に含み、又は前記MPDの要素にセグメントをリンクさせるMPD)をとることができ、かつ第2デバイスがリモートコンテンツプロバイダに行くことなく前記ファイルをダウンロードできるようにしてもよい。複数のファイルストレージは、前記第2デバイスがソースデバイスからメディアコンテンツの少なくとも一部をストリーミングできるようにしてもよい。
【0017】
図1は、コンテンツ配信システム100の実施形態の概略図であり、1又は2以上のメディアストリーミングサーバ及びストリーミングクライアントを含んでもよい。例えば、
図1は、3つのストリーミングサーバ110、120、及び130と、ソースデバイス140、並びにシンクデバイス150を示しており、それぞれが他のデバイスに相互接続されている。前記ソースデバイス140及び前記シンクデバイス150の両方は、1又は2以上のサーバ110-130からメディアコンテンツを(ダウンロード又はストリーミングを介して)取得するストリーミングクライアントであってもよい。メディアコンテンツは、例えば、ビデオ、オーディオ、テキスト、又はそれらの組み合わせのような任意の実行可能な形態であってもよい。前記メディアコンテンツは、例えば、映画、音楽、及び/又は電子出版部物等のような情報の任意の適用タイプを含んでもよい。さらに、前記ソースデバイス140は、サーバ110-130からメディアコンテンツを取得した後、さらに、前記シンクデバイス150と、前記取得されたメディアコンテンツを共有してもよい。この意味で、前記ソースデバイス140は、シンクデバイス150にストリーミングサーバとして動作し、前記ソースデバイス140からメディアコンテンツの少なくとも一部を取得してもよい。
【0018】
前記コンテンツ配信システム100は、例えばDASH方式のような任意の適切なコンテンツ配信方式又は方法を実施してもよい。前記ストリーミングクライアントは、例えば、ソースデバイス140又はシンクデバイス150のようなユーザデバイスのオペレーティングシステムにおいて実装されるプログラム又はアプリケーションであってもよく、あるいはウェブプラットフォームにアクセスするウェブクライアントであってもよい。
【0019】
前記ストリーミングサーバ110(同じことが、他のストリーミングサーバに適用される)は、例えばHTTPサーバのようなサーバの任意の適切なタイプとして実装されてもよく、メディアコンテンツは、ストリーミングメディア作成ユニットによって生成され、又は調整されてもよい。前記メディア作成ユニットは、HTTPサーバ又は他の場所(例えば、コンテンツプロバイダ)に配置されてもよい。前記ストリーミングサーバ110は、コンテンツプロバイダの一部であってもよく、又はコンテンツ配信ネットワーク(CDN)におけるノードであってもよい。前記メディアコンテンツは、前記コンテンツプロバイダによって生成され、かつCDNノードへ送信されてもよい。ストリーミングサーバ110におけるメディアコンテンツは、MPD及び複数のセグメントを含んでもよい。なお、必要に応じて、前記MPD及びセグメントは、異なるサーバに記憶され、かつ異なるサーバからストリーミングサーバに送信されてもよい。例えば、MPDは、ストリーミングサーバ110からソースデバイス140に送信されてもよく、一方で、対応するセグメントが、ストリーミングサーバ120、ストリーミングサーバ130、又はそれら両方からソースデバイス140に送信されてもよい。
【0020】
ストリーミングサーバ110-130間のネットワーク接続と、ソースデバイス140と、シンクデバイス150とは任意の適切なタイプであってもよい。例えば、ソースデバイス140及びシンクデバイス150は、同一のホームネットワークに属してもよく、かつ同一のフィディリティー(WiFi)ルータに接続されてもよい。WiFi接続は、長距離インターネット接続(例えば、ストリーミングサーバ120及びシンクデバイス150の間の)よりも速くてもよいので、前記シンクデバイス150は、ストリーミングサーバ120の代わりに、ソースデバイス140からいくつかのセグメントデータ(セグメントは、すでに利用可能である)をストリーミングすることを選択してもよい。
【0021】
様々な潜在的なユースケースが、コンテンツ配信システム100に存在し、かつ本開示に開示される実施形態が、任意の潜在的なユースケースに適用されてもよい。本開示は、複数の例示的なユースケース(ユースケース1-4及び表1-35)を説明しているが、これらの実施例に限定されないことは理解されるべきである。
【0022】
ユースケース1において、前記ソースデバイス140は、まず、ストリーミングサーバ120からMPDを取得してもよい。前記ソースデバイス140は、前記MPDを読み、かつ前記MPDに基づいてストリーミングサーバ110及び130から対応するメディアセグメントを取得してもよい。ついで、前記ソースデバイス140は、例えば、前記MPD及び前記取得されたセグメントを単一のファイルとして記憶し又は保存することによって、前記MPDを更新してもよい。どのように前記MPD及びセグメントが単一のファイルとして又は関連ファイルとして保存されるかの詳細については、さらに後述する。ゆえに、前記シンクデバイス150は、MPD及びセグメントの両方を含む単一のファイルをダウンロードすることによって、ソースデバイス140からメディアコンテンツをダウンロードしてもよい。
【0023】
ユースケース2は、ユースケース1と類似しており、従って、簡略化のために、さらなる説明では、違いに焦点を当てる(同一の原理が他のユースケースにも適用される)。ソースデバイスは、いくつかの表現にセグメントの一部のみを保存してもよく、いくつかのセグメント(例えば、別のAdaptationSet又は表現に属する)はさらに、ソースデバイス140において利用できなくてもよい。この場合、ローカルソースデバイス140からメディアコンテンツ全体をダウンロードする代わりに、シンクデバイス150は、いくつかの必要なセグメントをソースデバイス140からダウンロードし、かつストリーミングサーバ110及び130から他のセグメントをストリーミングしてもよい。
【0024】
ユースケース3において、前記シンクデバイス150は、ソースデバイス140からいくつかのセグメントをストリーミングし(ユースケース2のダウンロードの代わりに)、かつ他のセグメントをストリーミングサーバ110及び130からストリーミングしてもよい。例えば、前記ソースデバイス140からセグメント(最高品質ではない)をストリーミングしているとき、シンクデバイス150は、シンクデバイス150及び高品質セグメントを有するストリーミングサーバ110間のネットワーク状態(例えば、帯域幅)を監視してもよい。従って、前記シンクデバイス150は、前記ネットワーク状態がシンクデバイス150に、ソースデバイス140にパッケージ化されたセグメントと同一のタイムラインを有するが、前記パッケージ化されたセグメントよりも高い品質を有するセグメントをストリーミングすることを許可することを判定してもよい。この場合、前記シンクデバイス150は、ストリーミングサーバ110から、より高い品質を有するセグメントを取得してもよい。そうでない場合、もしネットワーク状態が比較的悪い場合、シンクデバイス150は、ソースデバイス140からセグメントをストリーミングし続けてもよい。
【0025】
ユースケース4において、はじめにストリーミングサーバ110及び130からセグメントを取得した後、前記ソースデバイス140は、将来のリプレイ又はプレイバックのためにセグメントを保存してもよい。はじめに取得されたいくつかのセグメントは、高品質表現に属し、かつソースデバイス140とストリーミングサーバ110及び130との間のネットワーク状態は悪化するものと仮定する。ソースデバイス140は、以前に取得された高品質セグメントを使用して前記メディアコンテンツをリプレイしてもよく、従って、ユーザ経験を改善することができる。ソースデバイス140上で使用できないセグメント(例えば、予め保存されていない高品質セグメント)は、さらに、ストリーミングサーバ110及び130から取得されてもよい。別の例では、前記メディアコンテンツをプレイするための第1ストリーミングセッション中に、ソースデバイス140が、ストリーミングサーバ110からメディアコンテンツをストリーミングするとき、複数のセグメントがサーバ110からストリーミングを介して受信される。ソースデバイス140は、前記セグメントを(例えば、MPD及びセグメントをパッキングすることによって)記憶してもよい。後に、もしソースデバイス140が、再び同一のメディアコンテンツをストリームしたい場合、前記記憶されたセグメントは、前記メディアコンテンツをリプレイするための第2ストリーミングセッション中に、ソースデバイス140によって読み出されてもよい。
【0026】
実施形態において、前記シンクデバイス150は、セグメントを記憶するソースデバイス140の近傍に配置されてもよく、かつ前記シンクデバイス150は、ソースデバイス140からメディアセグメントにアクセスしかつ読み出すことが可能であってもよい。例えば、ソースデバイス140を使用する加入者は、シンクデバイス150(例えば、デスクトップ)によって映画(例えば、“Mission Impossible”)のコピーを読み出す。後に、シンクデバイス150(例えば、タブレット)を使用する家族メンバーは、部分的に又は完全にデスクトップからコンテンツを取り出してもよい。時には、いくつかのセグメントの解像度が最適ではなく、前記シンクデバイス150は、従って、他の最適セグメントを、例えばストリーミングサーバ110のようなリモートコンテンツサーバから読み出しているとき、デスクトップからいくつかのセグメントを読み出してもよい。
【0027】
図2は、クライアントデバイス200の実施形態の概略図であり、例えば、ソースデバイス140又はシンクデバイス150のようなシステム100において実装されてもよい。前記クライアントデバイス200は、メディアコンテンツのために、要求をストリーミングサーバに送信してもよい。これに応じて、前記ストリーミングサーバは、MPDをクライアントデバイス200に配信してもよい。前記MPDは、HTTP、電子メール、サムドライブ、放送、又は任意の他のトランスポートを使用して配信されてもよい。DASHアクセスエンジン210を使用して前記MPDを解析することによって、前記クライアントデバイス200は、例えば、プログラムのタイミング、メディアコンテンツの有効性、メディアタイプ、解像度、最小および最大帯域幅、マルチメディアコンポーネントの様々な符号化された取って代るものの存在、アクセシビリティ機能及び必要なデジタル権利管理(DRM)、ネットワーク上の各メディアコンポーネントの位置、及び前記メディアコンテンツの他の特性のようなメディアコンテンツについての情報を知ることができる。
【0028】
前記クライアントデバイス200は、適切な表現を選択してもよく、かつ、HTTP GET要求を使用してセグメントをフェッチすることにより前記メディアコンテンツのストリーミングを開始してもよい。なお、クライアントデバイス200は、例えば、ネットワーク帯域幅の使用率を最大化するために、複数のストリーミングサーバから、セグメント又はセグメントデータをダウンロードしてもよい。前記クライアントデバイス200は、クライアントデバイス200のユーザにストリーミングサービスを提供するために、ダウンロードされたメディアを適切にレンダリングしてもよい。ストリーミングがより効率的になるように、時には、前記セグメントは、ローカルに又は近くのキャッシュ(例えば、ソースデバイス140において、クライアントデバイスがシンクデバイス150であるとき)に記憶されてもよい。セグメントは、メディアエンジン220によって復号化され、かつクライアントデバイス200上でプレイされてもよい。ネットワーク状態の監視に応じて、ストリーミングクライアントは、十分なバッファを維持するために、異なる表現(例えば、低い又は高いビットレートを有する)のセグメントをダウンロードすることによって使用可能な帯域幅に適応的に調整してもよい。
【0029】
図3は、XMLコードで記述されている例示的実装300を示している。当業者は、XMLコードを理解し、従って、以下の説明では前記開示された実施形態に関連する態様に焦点を当てる。実装300において、MPDファイルは、直接的にセグメントデータを含む。具体的には、“SegmentData”要素は、Representationにおける各要素“Segment URL”に追加される。例えば、“SegmentData”要素310は、オーディオのためのRepresentation id=1に追加され、かつ“SegmentData”要素320は、ビデオのためのRepresentation id=4に追加される。“SegmentData”要素310及び320は、対応するセグメントのデータを直接的に含んでもよい。従って、セグメントは、前記MPDファイル全体に分散され、つまり、対応する表現要素に記憶される。
【0030】
Representations id=2及びid=3におけるセグメントは、前記クライアントで使用できない場合があるので、Representations id=2及びid=3は、例えば、それぞれBaseURL要素330及び340を使用することによって、ストリーミングサーバからリモートで取得されてもよい。なお、SegmentData要素310及び320がクライアントで使用できる場合であっても、前記クライアントは、例えば、それぞれBaseURL要素312及び322を使用することによって、ストリーミングサーバからそれらを取得するためのオプションをさらに有してもよい。
【0031】
代替の実施形態において、表現の中に直接的にセグメントデータを含む代わりに、前記セグメントデータは、リンケージ又は参照によってMPDと関連してもよい。
図4は、XMLコードで記述されている例示的実装400を示している。当業者は、実装300と400との間に類似性(同一の原理が他の実装にも適用される)を理解することができる。従って、簡略化のために、さらなる説明では、これらの違いに焦点を当てる。実装400において、MPD及びセグメントデータの両方は、同一ファイルに属する。しかし、実装300のようなそれらの表現要素に直接的にセグメントデータを記憶する代わりに、実装400は、ファイルの先頭又は末尾に存在することができる“Resources”と表記されるリソース要素402にセグメントデータを記憶又はパッケージ化してもよい。
図4に示されるように、セグメントデータ410(SegmentData1と表記される)及びセグメントデータ420(SegmentData 4と表記される)は、前記ファイルの先頭における“Resources”要素に記憶される。
【0032】
さらに、要素“SegmentData”が、前記MPDにおけるそれぞれ対応する表現に追加される。例えば、“SegmentData”要素430は、オーディオに対して表現id=1に追加され、かつ“SegmentData”要素440が、ビデオに対して表現id=4に追加される。前記要素430及び440は、セグメントを直接的に含まなくてもよく、その代わりに、それらは“Resources”要素402に含まれるセグメントデータを参照してもよい。例えば、要素430は、“SegmentData1”を引用することによりセグメントデータ410を参照し、かつ前記要素440は、“SegmentData4”を引用することによりセグメントデータ420を参照する。
【0033】
図5は、XMLコードで記述された例示的実装500を示しており、リソース要素502“Resources”がMPDの子要素としてMPDに追加される。実装500において、リンク又は参照が、例えばXMLにおいて一般的に使用されるID及びIDREFのような機能によって確立されてもよい。“Resources”の要素“SegmentData”における属性は、“Representation”要素における属性“id”を参照してもよい。表現要素における“id”属性は、表現を識別する。例えば、SegmentData要素510は、表現要素530における属性“id=1”にリンクされ又は参照する属性“id1”を含み、かつ、SegmentData要素520は、表現要素540における属性“id=4”を参照する属性“id4”を含む。
【0034】
図6は、例示的実装600を示しており、“LocalURI”として表記されるローカルユニフォームリソース識別子(URI)要素をMPDの“Representation”における各セグメント要素に追加する。実装600において、リソース要素602“Resources”は、前記MPDの子要素としてMPDに(例えば、前記MPDの末尾に位置して)追加される。“Resources”要素602は、“id=sid1”とともに子要素610“SegmentData”及び“id=sid4”とともに子要素620“SegmentData”を含んでもよい。“LocalURI”要素630は、“SegmentData”要素610の属性“sid1”によって“Segmentdata”要素610に関連しており、一方で、“LocalURI”要素640は、“SegmentData”要素620の属性“sid1”によって“Segmentdata”要素620に関連している。
【0035】
図7は、例示的実装700を示しており、例えば、XLink、XPointer、又はその両方といったXML機能を使用して記憶されたセグメントデータを対応するセグメント要素にリンクさせてもよい。実装700において、リソース要素702“Resources”は、前記MPDの子要素であり、かつセグメントデータ710及び720を含む。さらに、セグメントデータ710は、XLink機能730によって対応するセグメント要素にリンクされ、かつセグメントデータ720は、XLink機能740によって対応するセグメント要素にリンクされる。
【0036】
図8は、例示的実装800を示しており、フルパスを使用して記憶されたセグメントデータを対応するセグメント要素にリンクさせてもよい。実装800において、リソース要素802“Resources”は、前記MPDの子要素であり、かつセグメントデータ810及び820を含む。さらに、セグメントデータ810は、LocalURI要素830に含まれるパス“Path=Resources/sid1”によって対応するセグメント要素にリンクされており、かつセグメントデータ820は、LocalURI要素840に含まれるパス“Path=Resources/sid4”によって対応するセグメント要素にリンクされる。
【0037】
図9は、例示的実装900を示しており、MPD拡張を生成してもよい。オリジナルMPD910と更新MPD920とが、前記MPD拡張に含まれてもよい。オリジナルMPD910は、ストリーミングサーバから受信された前記MPDであってもよく、かつ、そのコンテンツは明確化のために省略される。前記更新MPDは、上記の実装において言及されたMPDの1つであってもよい(例えば、実装300は更新MPD920に示される)。クライアントデバイスは、前記MPD拡張を解析し、かつ前記オリジナルMPD910又は前記更新MPD920のいずれかを使用することを選択してもよい。
【0038】
図10A及び
図10Bは、例示的実装1000を示しており、例えば多目的インターネットメール拡張(MIME)ハイパーテキストマークアップ言語(HTML)(MHTML)ファイルのようなファイルの独立した部分としてMPD及びセグメントデータをパッケージ化している。前記ファイルは、MIME形式のマルチパートメッセージであってもよい。実施形態において、前記MPDは、URL及び/又はURIによってセグメントデータを関連付けられている。例えば、セグメントデータ1010は、MPD1030のセグメント要素1032に関連付けられており、かつセグメントデータ1020は、前記MPD1030のセグメント要素1034と関連付けられている。なお、前記セグメントデータ1010及び1020は、前記MPD1030の外部に独立して記憶される。MHTMLファイルの複数の部分のシーケンスは、フレキシブルである。
【0039】
図11は、例示的実装1100を示しており、MPD及びセグメントデータをファイルにパッケージ化している。このファイルは、XML又はMHTMLファイルでなくてもよいが、その代わりに、例えば、実行ファイル(例えば、ファイル拡張子.exeを有する)、圧縮ファイル(例えば、ファイル拡張子.zip又は.rarを有する)のような他のタイプであってもよい。前記ファイルは、ファイルタイプ1110及びセグメントデータ記述1120を含むファイルヘッダ1102を含んでもよい。前記ファイルタイプ1110は、それがMPD及びセグメントデータの両方をパッキングするファイルであることを示すインジケータ(IND)を含んでもよい。前記ファイルタイプ1110はさらに、パーソナルメディアスイート(PMS)符号化ファイルヘッダを指定してもよい。前記セグメントデータ記述1120は、例えば、カレントセグメントデータの固有識別子(SD_id)、カレントセグメントデータの対応する期間(corresponding period)、適応セット(AdaptationSet)、及び表現(Representation)(P, A, R)、始点に関連するカレントセグメントデータのオフセット(SD_ofs)、カレントセグメントデータの長さ(SD_l)のような様々な情報を含むセグメントデータ(SD_D)の記述情報を含む。MPD1130は、前記ファイルヘッダ1102の隣であり、かつパッケージ化されたセグメントデータ1140、1142、及び1144は時系列順又はタイムラインで前記MPDに後続してもよい。
【0040】
図12は、ファイル処理方法1200の実施形態のフローチャートであり、クライアントデバイス(例えば、前記システムデバイス150又はクライアントデバイス200)によって実行されてもよい。ステップ1202において、前記クライアントデバイスは、別のクライアントデバイス(例えば、ソースデバイス140)から実装1100において説明されたファイルを受信してもよい。ステップ1204において、前記クライアントデバイスは、それがMPD及びセグメントデータの両方をパッキングしているファイルであることを判定するためにファイルタイプを読んでもよい。ステップ1206において、前記クライアントデバイスは、クライアントデバイスのユーザが取得したいメディアコンテンツの適合セット及び表現を判定してもよい。あるいは、ここでクライアントデバイスは、ヘッダ情報に基づいて前記ファイルをプレイしてもよく、かつ全ての次のステップをスキップしてもよい。
【0041】
ステップ1208において、前記クライアントデバイスは、クエリパラメータSD_id及び(P,A,R)情報に基づいて、前記ファイルがそのようなセグメントデータを含んでいるのか否かを判定する。もし前記ファイル内に前記セグメントデータが存在する場合、ステップ1210において、クライアントデバイスは、オフセット情報SD_ofs及び長さ情報SD_lを使用して前記ファイルからセグメントデータを読み出してもよい。そうでない場合、もし前記ファイルの中にそのようなセグメントデータが存在しない場合、ステップ1212において、前記クライアントデバイスはMPDを使用してリモートコンテンツサーバからセグメントデータを読み出してもよい。最後に、ステップ1214において、前記クライアントデバイスは、前記セグメントデータを復号化してもよい。
【0042】
図13A及び
図13Bは、例示的な実施形態1300を示しており、MPD及びセグメントデータを2の別々のファイルとしてパッケージ化し、又は記憶してもよい。それらを別々のファイルとして記憶することがストリーミングに適合し、前記MPD及びセグメントデータが別々にストリーミングされてもよい。前記MPDが拡張され、かつXPointer及びXLinkを使用してセグメントデータにおける対応するエンティティを指してもよい。
図13Aに示されるように、セグメントデータを記憶しているXMLファイル1310の名前はresources.xmlであるとする。
図13BにおけるMPDファイル1320は、例えば、それぞれ、セグメントデータ1312及び1314にリンクするためにXlink機能1322及び1324を使用して、
図13AにおけるXMLファイル1310を指してもよい。
【0043】
図14は、前記方法1400の実施形態のフローチャートであり、第1クライアントデバイス(例えば、ソースデバイス140、シンクデバイス150、又はクライアントデバイス200)によって実行されてもよい。前記方法1400は、前記第1クライアントデバイスが、ローカルに利用可能なメディアセグメントを使用してメディアコンテンツをリプレイし、又は第2クライアントデバイスと前記ローカルに利用可能なメディアセグメントを共有することを可能にしてもよい。
【0044】
前記方法1400は、ステップ1410において始まり、前記第1クライアントデバイスは、ストリーミングサーバから前記メディアコンテンツのためのMPDを受信してもよい。ステップ1420において、前記第1クライアントデバイスはさらに、1又は2以上のストリーミングサーバから前記メディアコンテンツのための複数のセグメントを受信してもよい。なお、前記セグメント及び前記MPDは、同一サーバ又は異なるサーバから受信されてもよい。ステップ1430において、前記クライアントデバイスは、パッケージ化されたセグメントがパッケージ化されたMPDを介して前記第2クライアントデバイスによってアクセス可能なように、前記MPD及び前記受信されたセグメントの少なくとも一部をパッケージ化し、又は記憶してもよい。上述(例えば、実装300-1000及び1300について)したように、前記セグメント又はセグメントデータは、単一のファイルとして、又は別々の関連付けられたファイルとして記憶することを含む様々なアプローチで前記MPDとともにパッケージ化されてもよい。前記第1クライアントデバイスは、ネットワーク接続を介して前記第2クライアントデバイスに接続される。前記ネットワーク接続は、例えば、有線(例えば、イーサネット(登録商標))又は無線(例えば、モバイル又はWiFi)接続のような任意の形態をとってもよい。
【0045】
ステップ1440において、前記第1クライアントデバイスは、前記第2クライアントデバイスから前記メディアコンテンツのための要求を受信してもよい。前記要求は、ダウンロード要求又はストリーミング要求であってもよい。さらに、前記要求は、前記第2クライアントデバイスが読み出したい1又は2以上のセグメント、表現、適合セット、及び/又は期間を指定してもよい。ステップ1450において、前記第1クライアントデバイスは、前記要求に応じて1又は2以上の前記パッケージ化されたセグメントを前記第2クライアントデバイスに送信してもよい。
【0046】
前記方法1400は、例示的な実施形態として機能し、従って、代替の方法が前記方法1400を修正するために使用されてもよく、かつ追加のステップが必要に応じて組み込まれてもよいことは理解されるべきである。例えば、前記第1クライアントデバイスは、最初に、受信されたセグメントのみを使用してメディアコンテンツをプレイしてもよいが、前記パッケージ化されたセグメントの少なくとも一部を使用して前記メディアコンテンツをリプレイしてもよい。さらに、前記第1クライアントデバイスは、リプレイ中に、前記第1クライアントデバイスと前記1又は2以上のストリーミングサーバとの間のネットワーク状態(例えば、帯域幅)を監視し、前記ネットワーク状態は前記第1クライアントデバイスに、前記パッケージ化されたセグメントと同一のタイムラインを有するが、前記パッケージ化されたセグメントよりも高い品質を有するセグメントのストリーミングを許可することを判定し、かつ、前記リプレイのために前記1又は2以上のストリーミングサーバから高い品質を有するセグメントを取得してもよい。
【0047】
図15は、方法1500の実施形態のフローチャートであり、複数のセグメントを含むメディアコンテンツを取得するためにクライアントデバイス(例えば、前記シンクデバイス150又はクライアントデバイス200)によって実行されてもよい。前記セグメントの前記第1の部分は、パッケージ化されたファイルの部分としてソースデバイスから取得されてもよい。前記方法1500は、ステップ1510において始まり、前記クライアントデバイスは、ダウンロード又はストリーミングを介して、ソースデバイス(例えば、ソースデバイス140)からセグメントの第1の部分を取得してもよい。前記セグメントの前記第1の部分は、前記ソースデバイスに記憶されたMPDを介して取得されてもよい。前記MPDは、同一のメディアコンテンツのためのものであり、かつ本開示に説明される様々な方法でセグメントとともにパッケージ化されてもよい。ステップ1520において、前記クライアントデバイスは、前記メディアコンテンツのためのMPDを使用してストリーミングサーバ(例えば、ストリーミングサーバ110)から前記セグメントの第2の部分を取得してもよい。前記第2の部分は、第1の部分よりも良い品質を有してもよく、又はソースデバイスにおいて使用可能でないかもしれない。実施形態において、前記クライアントデバイスは、前記セグメントの前記第2の部分がパッケージ化されたファイルに存在しないことを判定し、次いで前記セグメントの前記第2の部分を取得してもよい。ステップ1530において、前記クライアントデバイスは、前記セグメントの前記第1の部分及び前記セグメントの前記第2の部分を使用して、前記メディアコンテンツを復号化し、かつプレイしてもよい。
【0048】
前記方法1500は、例示的な実施形態として機能し、従って、追加的なステップが必要に応じて組み込まれてもよいということは理解されるべきである。例えば、前記セグメントの前記第1の部分は、前記ストリーミングサーバから利用可能であってもよく、従って、前記方法1500はさらに、クライアントデバイスとソースデバイスとの間の第1ネットワーク接続が、クライアントデバイスとストリーミングサーバとの間の第2ネットワーク接続よりも速いことを判定してもよい。ゆえに、前記ソースデバイスから前記セグメントの前記第1の部分を取得するステップは、前記判定に基づいてもよい。
【0049】
デジタルエンタテインメントコンテンツエコシステム(Digital Entertainment Content Ecosystem (DECE))によって検討された追加のユースケースが、表1〜35にまとめられている。当業者は、これらのユースケースのコンテンツを認識し、かつそれらに開示される実施形態を表1〜35のタイトル、問題文、説明、及び前提条件に基づいてどのように実施するのかを理解する。なお、表1〜35において使用されるベンダー、ユーザ名、ユーザデバイス、コンテンツタイプ、及び他の情報は、例示であり、限定するものではない。
【0085】
図16は、コンピュータシステム又はネットワークデバイス1600の実施形態の概略図である。前記ネットワークデバイス1600は、例えば本開示に記載されているストリーミングサーバ(例えば、ストリーミングサーバ110、120、又は130)、又はクライアントデバイス(例えば、ソースデバイス140、シンクデバイス150、又はクライアントデバイス200)のような任意の適切なデバイスとして実装されてもよい。前記ネットワークデバイス1600は、例えばネットワークへ及びネットワークからのメディア要求及びセグメントのようなメッセージを受信し、処理し、かつ送信することが可能であるものとする。前記ネットワークデバイス1600は、他のネットワークコンポーネントからMPD及び/又はセグメントを受信するように構成された受信機1612(Rx)に接続された1又は2以上の入力ポート1610を備えてもよい。前記ネットワークデバイス1600はさらに、他のネットワークコンポーネントへMPD及び/又はセグメントを送信するように構成された送信機(Tx)1632に接続された1又は2以上の出力ポート1630を備えてもよい。前記ネットワークデバイス1600はさらに、前記受信機1612に接続され、かつ、セグメントを処理し或いはどのネットワークコンポーネントへセグメントを送信するかを決定するように構成された論理ユニット又はプロセッサ1620を備えてもよい。
【0086】
前記プロセッサ1620はハードウェア又はハードウェアとソフトウェアとの組み合わせを使用して実装されてもよい。前記プロセッサ1620は、1又は2以上の中央処理装置(CPU)チップ、コア(例えば、マルチコアプロセッサ)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、及び/又はデジタル信号プロセッサ(DSP)として実装されてもよい。前記プロセッサ1620は、例えば、DASHアクセスエンジン210、メディアエンジン220、メディアプレーヤ1621、若しくは当業者によって知られている任意の他の機能コンポーネント、又はそれらの組み合わせのようなここに記述した機能モジュール又はユニットのいずれかを実装するように構成されてもよい。前記メディアプレーヤ1621は、前記プロセッサ1620で実行するアプリケーションであってもよく、かつ復号化されたメディアセグメントをプレイするように構成されてもよい。
【0087】
前記ネットワークデバイス1600はさらに、少なくとも1のメモリ1622を備えてもよい。前記メモリ1622は、MPD1623及びセグメント1624を記憶するように構成されてもよい。前記MPD1623及び前記セグメント1624は、上述したように様々な形式で記憶され、又はパッケージ化されてもよい。例えば、
図16に示されるように前記セグメント1624は前記MPDファイル1623に含まれる。
【0088】
実際には、ネットワークデバイス1600によって処理される双方向トラフィックが存在してもよく、従って、いくつかのポートが、パケット(例えば、セグメント)を受信し、かつ送信してもよい。この意味では、入力ポート1610及び出力ポート1630は、共配置されてもよく、又はトランシーバ(Rx/Tx)に接続された同一ポートの異なるの機能を考慮してもよい。プロセッサ1620、メモリ1622、前記受信機1612、及び送信機1632の1又は2以上が、例えば実装300-1100、ファイル処理方法1200、実装1300、並びに方法1400及び1500のような、上述の方法及び実装のいずれかを少なくとも部分的に実施又はサポートするように構成されてもよい。
【0089】
実行可能命令をネットワークデバイス1600にプログラミング及び/又はローディングすることによって、前記プロセッサ1620及びメモリ1622の少なくとも1が変更されてもよいと理解される。その結果、前記ネットワークデバイス1600は、特定の機械又は装置(例えば、本開示によって開示される機能を有するネットワークルータ)に部分的に変換されてもよい。前記実行可能命令は、メモリ1622上に記憶されてもよく、かつ実行のために前記プロセッサ1620にロードされてもよい。実行可能なソフトウェアをコンピュータにロードすることによって実行される機能が、周知の設計ルールによってハードウェア実装に変換可能であるということは、電気工学及びソフトウェア工学の分野の基礎である。ソフトウェア対ハードウェアにおけるコンセプトを実装する決定は、ソフトウェアドメインからハードウェアドメインへの変換に関わる全ての問題ではなく、生成されるユニットの設計及び数の安定性を考慮することによって決まる。ハードウェア実装の再作成はソフトウェア設計を再作成よりも高価であるため、一般的に、まだ頻繁に変更される可能性のある設計は、ソフトウェアで実装されることが好ましいことがある。一般的に、ハードウェア実装を実行する大量生産は、ソフトウェア実装よりも安価であることがあるので、大量に生成される安定した設計は、例えば、ASICのようなハードウェアで実装されることが好まれる。多くの場合、設計は、ソフトウェア形式で開発されるとともにテストされ、かつ後に、周知の設計規則によって、ソフトウェアの命令を配線接続している特定用途向け集積回路における等価ハードウェア実装に変換されてもよい。同様に、新たなASCIによって制御される機械は特定の機械又は装置であり、実行可能な命令でプログラムされかつ/又はロードされるコンピュータが、特定の機械又は装置とみなされてもよい。
【0090】
本開示の任意の処理は、プロセッサ(例えば、汎用マルチコアプロセッサ)にコンピュータプログラムを実行させることによって実施されてもよい。この場合、コンピュータプログラム製品は、任意タイプの非一時的なコンピュータ可読媒体を使用して、コンピュータ又はネットワークデバイスに提供されてもよい。前記コンピュータプログラム製品は、前記コンピュータ又は前記ネットワークデバイスの中の非一時的なコンピュータ可読媒体に記憶されてもよい。非一時的なコンピュータ可読媒体は、任意タイプの有形の記憶媒体を含む。非一時的なコンピュータ可読媒体の実施例は、磁気記憶媒体(例えば、フロッピー(登録商標)ディスク、磁気テープ、ハードディスクドライブ等)、光磁気記憶媒体(例えば、光磁気ディスク)、コンパクトディスク読み出し専用メモリ(CD-ROM)、コンパクトディスクレコーダブル(CD-R)、コンパクトディスクリライタブル(CD-R/W)、デジタル多用途ディスク(DVD)、Blu-ray(登録商標)ディスク(BD)、及び半導体メモリ(例えば、マルクROM、プログラマブルROM(PROM)、消去可能なPROM、フラッシュROM、及びランダムアクセスメモリ(RAM))を含む。前記コンピュータプログラム製品は、任意タイプの一時的なメモリを使用して、コンピュータ又はネットワークデバイスに提供されてもよい。一時的なコンピュータ可読媒体の実施例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、有線通信回線(例えば、電線及び光ファイバ)又は無線通信回線を介してコンピュータに前記プログラムを提供してもよい。
【0091】
当業者によって実施される、開示されている少なくとも1の実施形態、実施形態の変換、組み合わせ、及び/又は修正、及び/又は実施形態の機能は、本開示の範囲内である。実施形態の特徴の組み合わせ、統合、及び/又は省略から生じる別の実施形態もまた、本開示の範囲内である。数値範囲又は限定が明確に記載されている場合、そのような明示範囲又は限定は、明示された範囲又は限定内に入る同様の大きさ(例えば、約1〜約10は、2,3,4等を含み、0.10よりも大きい数値は、0.11, 0.12, 0.13等を含む)の反復範囲又は限定を含むと理解されてもよい。例えば、下限値R
l及び上限値R
uを有する数値範囲が開示されるときはいつでも、範囲内の任意の数値が具体的に開示されている。特に、以下に、範囲内の以下の数値が具体的に開示される。R = R
l + k * (R
u - R
l)、ここで、kは、1パーセントから100パーセントまで1パーセント刻みで変動する変数であり、つまり、kは、1パーセント、2パーセント、3パーセント、4パーセント、5パーセント、…、50パーセント、51パーセント、52パーセント、…、95パーセント、96パーセント、97パーセント、98パーセント、99パーセント、又は100パーセントである。さらに、上述で定義されたような2つのR数によって定義される任意の数理範囲もまた開示される。特に断りのない限り、“約”という用語の使用は、続く番号の+/-10%を意味する。請求項の任意の要素に関して“任意に”という用語の使用は、要素が必要とされるか、又は、要素が必要とされないことを意味し、両方の選択肢が特許請求の範囲内である。例えば、含む、備える、及び有するというような広い用語の使用は、例えば、から成る、本質的にから成る、実質的にから成るというような狭い用語のためのサポートを提供していると理解されてよい。従って、保護の範囲は、上述した説明によって限定されるものではなく、添付の特許請求の範囲、請求項の主題の全ての均等物を含むその範囲によって定義されます。請求項のそれぞれ及び全ては、さらなる開示として本開示中に組み込まれ、かつ特許請求の範囲は、本開示の実施形態である。開示における基準の議論は、従来技術に認められるものではなく、特に、本開示の優先日後の出版日を有する任意の基準の議論を認めるものではない。本開示において引用される全ての特許、特許明細書、及び刊行物の開示は、例示、手順、又は本開示を補足する他の詳細を提供する程度に、参照によってここに組み込まれる。
【0092】
いくつかの実施形態は、本開示に提供されているが、開示されているシステム及び方は、本開示の精神又は範囲から逸脱することなく多くの他の特定の形態で実施可能であることを理解することができます。本発明の実施例は、例示であり、限定的ではないと考えられるべきであり、かつその意図は、本開示に与えられた詳細に限定されるものではない。例えば、様々な要素又は構成要素が別のシステムに組み合わせ、又は統合され、あるいは、特定の特徴が省略され、又は実施されなくてもよい。
【0093】
さらに、離散的に又は別々に様々な実施形態において説明されかつ例示された技術、システム、サブシステム、及び方法は、本開示の範囲から逸脱しないで、他のシステム、モジュール、技術、又は方法と組み合わされ、又は統合されてもよい。結合され又は直接的に結合されあるいはお互いに通信するような、示された又は説明された他の項目は、電気的、機械的、または他の方法で、いくつかのインターフェース、デバイス、又は中間コンポーネントを介して、間接的に結合し、又は通信してもよい。変更、置換、及び改変の他の実施例は、当業者によって確認可能であり、かつ本開示に開示された精神及び範囲から逸脱しないで行うことができる。
【符号の説明】
【0094】
100 コンテンツ配信システム
110 ストリーミングサーバ
120 ストリーミングサーバ
130 ストリーミングサーバ
140 ソースデバイス
150 シンクデバイス
200 クライアントデバイス
210 アクセスエンジン
220 メディアエンジン
300 実装
310 SegmentData要素
312 BaseURL要素
330 BaseURL要素
340 BaseURL要素
400 実装
402 リソース要素
410 セグメントデータ
420 セグメントデータ
430 SegmentData要素
440 SegmentData要素
500 実装
502 リソース要素
510 SegmentData要素
520 SegmentData要素
530 表現要素
540 表現要素
600 実装
602 リソース要素
610 SegmentData要素
620 SegmentData要素
630 LocalURI要素
640 LocalURI要素
700 実装
702 リソース要素
710 セグメントデータ
720 セグメントデータ
730 XLink機能
740 XLink機能
800 実装
802 リソース要素
810 セグメントデータ
820 セグメントデータ
830 LocalURI要素
840 LocalURI要素
900 実装
910 オリジナルMPD
920 更新MPD
1000 実装
1030 MPD
1032 セグメント要素
1034 セグメント要素
1010 セグメントデータ
1020 セグメントデータ
1100 実装
1102 ファイルヘッダ
1110 ファイルタイプ
1120 セグメントデータ記述
1130 MPD
1140 セグメントデータ
1142 セグメントデータ
1144 セグメントデータ
1200 ファイル処理方法
1300 実装
1310 XMLファイル
1312 セグメントデータ
1314 セグメントデータ
1320 MPDファイル
1322 Xlink機能
1324 Xlink機能
1400 方法
1500 方法
1600 ネットワークデバイス
1610 入力ポート
1612 受信機
1620 プロセッサ
1621 メディアプレーヤ
1622 メモリ
1623 MPDファイル
1624 セグメント
1630 出力ポート
1632 送信機