(57)【要約】  第1クライアントデバイスによって実行される方法であって、前記方法は、ストリーミングサーバからメディアコンテンツのためのメディアプレゼンテーション記述(MPD)を受信するステップと、1又は2以上のストリーミングサーバから前記メディアコンテンツのための複数のセグメントを受信するステップと、前記MPD及び前記受信されたセグメントの少なくとも一部をパッケージ化するステップであって、前記パッケージ化されたセグメントが前記パッケージ化されたMPDを介して第2クライアントデバイスによってアクセス可能であるようにパッケージ化するステップとを含む方法。
2016502809.tif 000002
【特許請求の範囲】
【請求項１】
第1クライアントデバイスによって実行される方法であって、前記方法は、
ストリーミングサーバからメディアコンテンツのためのメディアプレゼンテーション記述(MPD)を受信するステップと、
1又は2以上のストリーミングサーバから前記メディアコンテンツのための複数のセグメントを受信するステップと、
前記MPD及び前記受信されたセグメントの少なくとも一部をパッケージ化するステップであって、前記パッケージ化されたセグメントが前記パッケージ化されたMPDを介して第2クライアントデバイスによってアクセス可能であるようにパッケージ化するステップと
を含む方法。
【請求項２】
前記第2クライアントデバイスから前記メディアコンテンツのための要求を受信するステップと、
前記要求に応じて前記第2クライアントデバイスに1又は2以上の前記パッケージ化されたセグメントを送信するステップであって、前記第1クライアントデバイスはネットワーク接続を介して前記第2クライアントデバイスに接続される、ステップと
をさらに含む、請求項1に記載の方法。
【請求項３】
前記要求はダウンロード要求であり、かつ前記方法は、前記パッケージ化されたセグメントとともに前記パッケージ化されたMPDを単一のファイルとして前記第2クライアントデバイスに送信するステップをさらに含む、請求項2に記載の方法。
【請求項４】
前記要求がストリーミング要求であり、かつ前記方法は、前記パッケージ化されたセグメントとともに前記パッケージ化されたMPDを別々にかつ関連付けられたファイルとして前記第2クライアントデバイスに送信するステップをさらに含む、請求項2に記載の方法。
【請求項５】
前記受信されたセグメントを使用して最初に前記メディアコンテンツをプレイするステップと、
前記パッケージ化されたセグメントの少なくとも一部を使用して前記メディアコンテンツをリプレイするステップと
をさらに含む、請求項1に記載の方法。
【請求項６】
前記リプレイ中に、前記第1クライアントデバイスと前記1又は2以上のストリーミングサーバとの間のネットワーク状態を監視するステップと、
前記ネットワーク状態は前記第1クライアントデバイスに、前記パッケージ化されたセグメントと同一のタイムラインを有するが、前記パッケージ化されたセグメントよりも高い品質を有するセグメントのストリーミングを許可することを判定するステップと、
前記リプレイのために前記1又は2以上のストリーミングサーバから、より高い品質を有する前記セグメントを取得するステップと
をさらに含む、請求項5に記載の方法。
【請求項７】
前記リプレイ中に、前記第1クライアントデバイスと、前記1又は2以上のストリーミングサーバとの間のネットワーク状態を監視するステップと、
前記ネットワーク状態は前記第1クライアントデバイスに、前記1又は2以上のストリーミングサーバからの、前記パッケージ化されたセグメントと同一のタイムラインを有するが、前記パッケージ化されたセグメントの前記少なくとも一部よりも高い品質を有するセグメントのストリーミングを許可しないことを判定するステップと
をさらに含み、
前記ネットワーク状態は前記第1クライアントデバイスに、前記パッケージ化されたセグメントの前記少なくとも一部のストリーミングを許可しないという前記判定に基づいて、前記リプレイ中に、前記パッケージ化されたセグメントの前記少なくとも一部は使用される、請求項5に記載の方法。
【請求項８】
前記受信されたMPDと、前記受信されたセグメントの前記少なくとも一部とが1のファイルとしてパッケージ化され、かつ、パッケージ化されたセグメントが前記パッケージ化されたMPDの対応する要素を介して前記第2クライアントデバイスによってアクセス可能である、請求項1に記載の方法。
【請求項９】
前記ファイルは拡張マークアップ言語(XML)で記述されたMPDファイルであり、前記MPDファイルはセグメントデータ(SegmentData)要素として前記パッケージ化されたセグメントを含み、かつ、前記SegmentData要素は前記MPDファイルの対応する表現要素に記憶される、請求項8に記載の方法。
【請求項１０】
前記受信されたセグメントは前記ファイルの先頭又は末尾におけるリソース要素にパッケージ化され、かつ、前記MPDは前記リソース要素における対応するパッケージ化されたセグメントを参照するセグメントデータ要素を含む、請求項8に記載の方法。
【請求項１１】
前記ファイルはリソース要素を含むMPDファイルであり、かつ、前記リソース要素は前記パッケージ化されたセグメントと、前記MPDファイルの対応する表現要素にリンクする表現識別子とを含む、請求項8に記載の方法。
【請求項１２】
前記ファイルはリソース要素を含むMPDファイルであり、前記リソース要素は前記パッケージ化されたセグメントと、対応するローカルユニフォームリソース識別子(URI)とを含み、かつ、前記ローカルURIは、前記パッケージ化されたセグメントを前記MPDファイルの対応するセグメント要素にリンクされる、請求項8に記載の方法。
【請求項１３】
前記ファイルはリソース要素を含むMPDファイルであり、前記リソース要素は前記パッケージ化されたセグメントを含み、かつ、前記パッケージ化されたセグメントはXLink及びXPointer機能の少なくとも1を使用して前記MPDファイルの対応するセグメント要素にリンクされる、請求項8に記載の方法。
【請求項１４】
前記ファイルはリソース要素を含むMPDファイルであり、前記リソース要素は前記パッケージ化されたセグメントを含み、かつ、前記パッケージ化されたセグメントは、それぞれ対応するセグメント要素に含まれるパスを使用して前記MPDファイルの対応するセグメント要素にリンクされる、請求項8に記載の方法。
【請求項１５】
前記ファイルは前記受信されたMPDと更新MPDとを含むMPD拡張であり、かつ、前記更新MPDは前記パッケージ化されたセグメントを含む、請求項8に記載の方法。
【請求項１６】
前記ファイルは、多目的インターネットメール拡張(MIME)ハイパーテキストマークアップ言語(HTML)(MHTML)ファイルであり、かつ、前記パッケージ化されたMPDは、前記MHTMLファイルにおけるユニフォームリソース識別子(URI)によって前記パッケージ化されたセグメントに関連付けられている、請求項8に記載の方法。
【請求項１７】
前記ファイルは前記パッケージ化されたMPDと前記パッケージ化されたセグメントとが後続するファイルヘッダを含み、かつ、前記ファイルヘッダは、前記ファイルが前記パッケージ化されたMPDと前記パッケージ化されたセグメントとを含むことを指定する、請求項8に記載の方法。
【請求項１８】
前記MPDと前記受信されたセグメントの前記少なくとも一部とが、別々の拡張マークアップ言語(XML)ファイルとしてパッケージ化され、かつXML機能を介して関連付けられている、請求項1に記載の方法。
【請求項１９】
メディアコンテンツと、前記メディアコンテンツのための複数のセグメントとを記述するメディアプレゼンテーション記述(MPD)を受信するように構成された受信機であって、前記MPDはストリーミングサーバから受信され、かつ前記複数のセグメントは1又は2以上のストリーミングサーバから受信される、受信機と、
前記受信機に接続され、かつ、前記受信されたセグメントを使用して前記メディアコンテンツをプレイするように構成されたプロセッサと、
前記プロセッサに接続され、かつ、前記MPDと前記受信されたセグメントの少なくとも一部とを記憶するように構成されたメモリであって、前記記憶されたセグメントのそれぞれは前記記憶されたMPDを介して読み出し可能である、メモリと
を備え、前記プロセッサはさらに、前記記憶されたセグメントの少なくとも一部を使用して前記メディアコンテンツをリプレイするように構成された、装置。
【請求項２０】
前記複数のセグメントは、前記メディアセグメントをプレイするための第1ストリーミングセッション中にストリーミングを介して受信され、かつ、前記記憶されたセグメントは、前記メディアコンテンツをリプレイするための第2ストリーミングセッション中に前記プロセッサによって読み出される、請求項19に記載の装置。
【請求項２１】
前記受信機はさらに、メディアストリーミングクライアントから前記メディアコンテンツのための要求を受信するように構成され、前記プロセッサはさらに、前記要求に基づいて少なくとも1の前記記憶されたセグメントを読み出すように構成され、かつ、前記装置はさらに、前記プロセッサに接続されるとともに、前記読み出されたセグメントを前記メディアストリーミングクライアントに送信するように構成された送信機を備え、請求項19に記載の装置。
【請求項２２】
前記MPD及び前記受信されたセグメントの少なくとも一部は、別々かつ関連付けられた拡張マークアップ言語(XML)ファイルとして記憶され、かつ、前記読み出されたセグメントは、ストリーミングを介して前記メディアストリーミングクライアントに送信される、請求項21に記載の装置。
【請求項２３】
前記MPD及び前記受信されたセグメントの少なくとも一部は、単一のファイルとして記憶され、かつ、前記読み出されたセグメントは、ダウンロードを介して前記メディアストリーミングクライアントに送信される、請求項21に記載の装置。
【請求項２４】
複数のセグメントを含むメディアコンテンツを取得するための第2クライアントデバイスによって実行される方法であって、前記方法は、
ソースデバイスとして動作する第1クライアントデバイスから前記セグメントの第1の部分を取得するステップであって、前記セグメントの前記第1の部分は、前記第1クライアントデバイスに記憶されたメディアプレゼンテーション記述(MPD)を介して取得される、ステップと、
ストリーミングサーバから前記セグメントの第2の部分を取得するステップと、
前記セグメントの前記第1の部分と、前記セグメントの前記第2の部分とを使用して前記メディアコンテンツをプレイするステップと
を含む方法。
【請求項２５】
前記セグメントの前記第1の部分は、前記MPDも含んでいるパッケージ化されたファイルの一部として前記ソースデバイスから取得され、前記方法はさらに、前記セグメントの前記第2の部分が前記パッケージ化されたファイルに存在しないことを判定するステップを含み、かつ、前記セグメントの前記第2の部分は、前記メディアコンテンツのための前記MPDの別のバージョンを使用して前記ストリーミングサーバから取得される、請求項24に記載の方法。
【請求項２６】
前記セグメントの前記第1の部分はさらに前記ストリーミングサーバから利用可能であり、前記方法はさらに前記第2クライアントデバイスと前記前記ソースデバイスとの間の第1ネットワーク接続は、前記第2クライアントデバイスと前記ストリーミングサーバとの間の第2ネットワーク接続よりも速いことを判定するステップを含み、かつ、前記ソースデバイスから前記セグメントの前記第1の部分を取得するステップは前記第1ネットワーク接続がより速いという前記判定に基づく、請求項24に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
〔関連出願の相互参照〕
本願は、2013年1月16日にXin Wang他によって出願された、発明の名称を“System and Method for Storing and Transmitting Content for Download and Streaming”とする、米国仮特許出願第61/753,291号の優先権を主張するとともに、参照により、その全体がここに組み込まれる。
【０００２】
連邦支援の研究または開発
適用なし。
【０００３】
「MICROFICHE APPENDIX」に対する参照
適用なし。
【背景技術】
【０００４】
メディアコンテンツプロバイダ又は配布者は、例えば、テレビ、ノートパソコン、携帯電話のような様々なクライアントデバイスにメディアコンテンツを配信することができる。前記メディアコンテンツプロバイダは、複数のメディアエンコーダ及び/又はデコーダ（コーデック）、メディアプレーヤ、ビデオフレームレート、空間解像度、ビットレート、ビデオフォーマット、またはこれらの組み合わせをサポートすることができる。メディアコンテンツは、異なるユーザデバイスに合わせて、ソース又はオリジナルの表現から様々な他の表現に変換されることができる。
【０００５】
メディアコンテンツは、メディアプレゼンテーション記述(MPD)及び複数のセグメントを含むことができる。前記MPDは、例えば、その様々な表現、ユニフォームリソースロケータ(URL)アドレス、及び他の特性のようなメディアコンテンツを記述する拡張マークアップ言語(XML)であってもよい。例えば、メディアコンテンツは、様々なメディアコンポーネント(例えば、オーディオ、ビデオ、及びテキスト)を含んでもよく、そのそれぞれは、前記MPDで指定された異なる特性を有してもよい。各メディアコンポーネントは、実際のメディアコンテンツの一部を含む複数のセグメントを含み、かつセグメントは、単一のファイルにまとめて又は複数のファイルに別々に記憶されてもよい。各セグメントは、予め定義されたバイト数(例えば、1,000バイト)又はメディアコンテンツの再生時間の間隔(例えば、2又は5秒)を含んでもよい。
【０００６】
用途に応じて、前記メディアコンテンツを、様々な階層に分割することができる。例えば、前記メディアコンテンツは、一つの期間がセグメントよりも比較的長い時間間隔である、複数の期間を含むことができる。例えば、テレビ番組は、いくつかの2分長のコマーシャル期間によって分けられたいくつかの5分長の番組期間に分割されることができる。さらに、期間は、1又は複数の適合セット(AS)を含むことができる。ASは、1又は複数のメディアコンポーネントについての情報、及びその/それらの様々な符号化された表現を提供することができる。例えば、ASは、メディアコンテンツのビデオコンポーネントの異なるビットレートを含むことができ、一方で、別のASは、同一のメディアコンテンツのオーディオコンポーネントの異なるビットレートを含むことができる。表現は、ビットレート、解像度、チャネル数、若しくは他の特性、又はそれらの組み合わせによる他の表現から変化するメディアコンポーネントの符号化された取って代るものであってもよい。各表現は、時系列でメディアコンテンツチャンクである複数のセグメントを含む。さらに、時には複数の部分におけるセグメントのダウンロードを可能にするために、特定の期間及び/又はバイトサイズを有する各サブセグメントが使用されてもよい。当業者は、メディアコンテンツを配信するために使用可能な様々な階層を理解できる。
【０００７】
適応ストリーミングでは、メディアコンテンツが、クライアント又はユーザデバイスに配信されるとき、前記ユーザデバイスは、例えば、ネットワーク状態、デバイス能力、及びユーザ選択のような種々の因子に基づいて、動的に、適切なセグメントを選択することができる。適応ストリーミングは、例えばDynamic Adaptive Streaming over Hypertext Transfer Protocol(HTTP)(DASH)、HTTP Live Streaming(HLS)、又はInternet Information Services(IIS) Smooth Streamingのような実施され又は開発中の様々な技術又は標準を含んでもよい。例えば、前記ユーザデバイスは、プレイバック中のイベントの失速又は再バッファリングを引き起こすことなく、プレイバックのための時間でダウンロードすることができる可能な最高品質(例えば解像度又はビットレート)のセグメントを選択することができる。従って、ユーザデバイスは、シームレスに、そのメディアコンテンツプレイバックをネットワーク状態の変化に適合させることができる。
【０００８】
コンテンツ配信の別の方法は、部分的に加入者の個別化要求を満たすために使用することができるダウンロードを含む。DASHは、加入者によりよい経験ができるようにしてもよい。例えば、加入者のデバイスは、ネットワーク接続が高速であるときに高品質のメディアコンテンツを読み出し、かつネットワーク接続が悪化したときにコンテンツをプレイし続けるために低品質のメディアコンテンツに切り換えることができる。既存の方式では、メディアコンテンツのためのセグメントは、それらがクライアントデバイスによって読み出され、かつ復号化された後に破棄されてしまう。従って、前記セグメントは、将来の目的のために、有効に使用されない。例えば、もしクライアントデバイスが前記メディアコンテンツをリプレイすることを決定したとき、ストリーミングが最初から開始される必要があり、ネットワークリソースを浪費する。
【発明の概要】
【課題を解決するための手段】
【０００９】
一実施形態において、本開示は、第1クライアントデバイスによって実行される方法であって、前記方法は、
ストリーミングサーバからメディアコンテンツのためのメディアプレゼンテーション記述(MPD)を受信するステップと、1又は2以上のストリーミングサーバから前記メディアコンテンツのための複数のセグメントを受信するステップと、前記MPD及び前記受信されたセグメントの少なくとも一部をパッケージ化するステップであって、前記パッケージ化されたセグメントが前記パッケージ化されたMPDを介して第2クライアントデバイスによってアクセス可能であるようにパッケージ化するステップとを含む、方法を開示している。
【００１０】
別の実施形態において、本開示は、メディアコンテンツと、前記メディアコンテンツのための複数のセグメントとを記述するメディアプレゼンテーション記述(MPD)を受信するように構成された受信機と、前記受信機に接続され、かつ、前記受信されたセグメントを使用して前記メディアコンテンツをプレイするように構成されたプロセッサと、前記プロセッサに接続され、かつ、前記MPDと前記受信されたセグメントの少なくとも一部とを記憶するように構成されたメモリであって、前記記憶されたセグメントのそれぞれは前記記憶されたMPDを介して読み出し可能である、メモリとを備える装置であって、前記プロセッサはさらに、前記記憶されたセグメントの少なくとも一部を使用して前記メディアコンテンツをリプレイするように構成される、装置を開示している。
【００１１】
さらに別の実施形態において、本開示は、複数のセグメントを含むメディアコンテンツを取得するための第2クライアントデバイスによって実行される方法であって、前記方法は、ソースデバイスとして動作する第1クライアントデバイスから前記セグメントの第1の部分を取得するステップと、ストリーミングサーバから前記セグメントの第2の部分を取得するステップと、前記セグメントの前記第1の部分と、前記セグメントの前記第2の部分とを使用して前記メディアコンテンツをプレイするステップとを含む、方法を開示している。
【００１２】
これらの及び他の特徴が、添付図面及び特許請求の範囲と併せて以下の詳細な説明からより明確に理解される。
【図面の簡単な説明】
【００１３】
本開示をより十分に理解するために、以下に添付図面及び詳細な説明と関連して、以下の簡単な説明を参照する。同様の参照番号は、同様の部分を表している。
【００１４】
【図１】コンテンツ配信システムの実施形態の概略図である。
【図２】クライアントデバイスの実施形態の概略図である。
【図３】MPDファイルが直接的にセグメントデータを含む例示的な実施形態を示している。
【図４】MPD及びセグメントデータの両方が同一ファイルに属する別の例示的な実施形態を示している。
【図５】リソース要素がMPDの子要素としてMPDに追加される、さらに別の例示的な実施形態を示している。
【図６】ローカルユニフォームリソース識別子(URI)要素を各セグメント要素に追加する、さらに別の例示的な実施形態を示している。
【図７】XML機能を使用して記憶されたセグメントデータを対応するセグメント要素にリンクさせる、さらに別の例示的な実施形態を示している。
【図８】フルパスを使用して記憶されたセグメントデータを対応するセグメント要素にリンクさせる、さらに別の例示的な実施形態を示している。
【図９】MPD拡張を生成する、さらに別の例示的な実施形態を示している。
【図１０Ａ】ファイルの独立した部分としてMPD及びセグメントデータをパッケージ化する、さらに別の例示的な実施形態を示している。
【図１０Ｂ】ファイルの独立した部分としてMPD及びセグメントデータをパッケージ化する、さらに別の例示的な実施形態を示している。
【図１１】MPD及びセグメントデータをファイルにパッケージ化する、さらに別の例示的な実施形態を示している。
【図１２】ファイル処理方法の実施形態のフローチャートである。
【図１３Ａ】2の別々のファイルとしてMPD及びセグメントデータをパッケージ化する、さらに別の例示的な実施形態を示している。
【図１３Ｂ】2の別々のファイルとしてMPD及びセグメントデータをパッケージ化する、さらに別の例示的な実施形態を示している。
【図１４】メディアコンテンツを処理するための別の方法の実施形態のフローチャートである。
【図１５】メディアコンテンツを取得し、かつプレイするためのさらに別の方法の実施形態のフローチャートである。
【図１６】ネットワークデバイスの実施形態の概略図である。
【発明を実施するための形態】
【００１５】
はじめに、1又は2以上の実施形態の例示的実装が以下に提供され、開示されるシステム及び/又は方法は、現在知られている又は存在している任意の数の技術を使用して実施されてもよいことを理解すべきである。本開示は、決して以下の例示的実装、図面、及び例示的技術に限定されるべきではない。本開示は、ここに例示されかつ説明される例示的設計及び実装を含み、均等物の全範囲を有する添付の特許請求の範囲内で変更することが可能である。
【００１６】
本開示は、メディアセグメントがコンテンツプロバイダ又はサーバから取得された後、クライアントデバイスがさらにメディアセグメントを活用することを可能にする実施形態を開示している。前記セグメントはさらに、クライアントデバイス上での前記メディアコンテンツをリプレイすること、第2クライアントデバイスと共有すること、又はその両方のために使用されることができる。具体的には、最初にクライアントデバイスによって受信されたMPD及びセグメントは、前記パッケージ化されたセグメントが前記MPDを介して第2クライアントデバイスによってアクセス可能であるように、パッケージ化され、又は記憶されてもよい。前記MPD及びセグメントは、単一のファイルとして、又は別々の関連ファイルとして記憶されてもよい。単一のファイルストレージは、様々な形態(例えば、セグメントを直接的に含み、又は前記MPDの要素にセグメントをリンクさせるMPD)をとることができ、かつ第2デバイスがリモートコンテンツプロバイダに行くことなく前記ファイルをダウンロードできるようにしてもよい。複数のファイルストレージは、前記第2デバイスがソースデバイスからメディアコンテンツの少なくとも一部をストリーミングできるようにしてもよい。
【００１７】
図1は、コンテンツ配信システム100の実施形態の概略図であり、1又は2以上のメディアストリーミングサーバ及びストリーミングクライアントを含んでもよい。例えば、図1は、3つのストリーミングサーバ110、120、及び130と、ソースデバイス140、並びにシンクデバイス150を示しており、それぞれが他のデバイスに相互接続されている。前記ソースデバイス140及び前記シンクデバイス150の両方は、1又は2以上のサーバ110-130からメディアコンテンツを(ダウンロード又はストリーミングを介して)取得するストリーミングクライアントであってもよい。メディアコンテンツは、例えば、ビデオ、オーディオ、テキスト、又はそれらの組み合わせのような任意の実行可能な形態であってもよい。前記メディアコンテンツは、例えば、映画、音楽、及び/又は電子出版部物等のような情報の任意の適用タイプを含んでもよい。さらに、前記ソースデバイス140は、サーバ110-130からメディアコンテンツを取得した後、さらに、前記シンクデバイス150と、前記取得されたメディアコンテンツを共有してもよい。この意味で、前記ソースデバイス140は、シンクデバイス150にストリーミングサーバとして動作し、前記ソースデバイス140からメディアコンテンツの少なくとも一部を取得してもよい。
【００１８】
前記コンテンツ配信システム100は、例えばDASH方式のような任意の適切なコンテンツ配信方式又は方法を実施してもよい。前記ストリーミングクライアントは、例えば、ソースデバイス140又はシンクデバイス150のようなユーザデバイスのオペレーティングシステムにおいて実装されるプログラム又はアプリケーションであってもよく、あるいはウェブプラットフォームにアクセスするウェブクライアントであってもよい。
【００１９】
前記ストリーミングサーバ110(同じことが、他のストリーミングサーバに適用される)は、例えばHTTPサーバのようなサーバの任意の適切なタイプとして実装されてもよく、メディアコンテンツは、ストリーミングメディア作成ユニットによって生成され、又は調整されてもよい。前記メディア作成ユニットは、HTTPサーバ又は他の場所(例えば、コンテンツプロバイダ)に配置されてもよい。前記ストリーミングサーバ110は、コンテンツプロバイダの一部であってもよく、又はコンテンツ配信ネットワーク(CDN)におけるノードであってもよい。前記メディアコンテンツは、前記コンテンツプロバイダによって生成され、かつCDNノードへ送信されてもよい。ストリーミングサーバ110におけるメディアコンテンツは、MPD及び複数のセグメントを含んでもよい。なお、必要に応じて、前記MPD及びセグメントは、異なるサーバに記憶され、かつ異なるサーバからストリーミングサーバに送信されてもよい。例えば、MPDは、ストリーミングサーバ110からソースデバイス140に送信されてもよく、一方で、対応するセグメントが、ストリーミングサーバ120、ストリーミングサーバ130、又はそれら両方からソースデバイス140に送信されてもよい。
【００２０】
ストリーミングサーバ110-130間のネットワーク接続と、ソースデバイス140と、シンクデバイス150とは任意の適切なタイプであってもよい。例えば、ソースデバイス140及びシンクデバイス150は、同一のホームネットワークに属してもよく、かつ同一のフィディリティー(WiFi)ルータに接続されてもよい。WiFi接続は、長距離インターネット接続(例えば、ストリーミングサーバ120及びシンクデバイス150の間の)よりも速くてもよいので、前記シンクデバイス150は、ストリーミングサーバ120の代わりに、ソースデバイス140からいくつかのセグメントデータ(セグメントは、すでに利用可能である)をストリーミングすることを選択してもよい。
【００２１】
様々な潜在的なユースケースが、コンテンツ配信システム100に存在し、かつ本開示に開示される実施形態が、任意の潜在的なユースケースに適用されてもよい。本開示は、複数の例示的なユースケース(ユースケース1-4及び表1-35)を説明しているが、これらの実施例に限定されないことは理解されるべきである。
【００２２】
ユースケース1において、前記ソースデバイス140は、まず、ストリーミングサーバ120からMPDを取得してもよい。前記ソースデバイス140は、前記MPDを読み、かつ前記MPDに基づいてストリーミングサーバ110及び130から対応するメディアセグメントを取得してもよい。ついで、前記ソースデバイス140は、例えば、前記MPD及び前記取得されたセグメントを単一のファイルとして記憶し又は保存することによって、前記MPDを更新してもよい。どのように前記MPD及びセグメントが単一のファイルとして又は関連ファイルとして保存されるかの詳細については、さらに後述する。ゆえに、前記シンクデバイス150は、MPD及びセグメントの両方を含む単一のファイルをダウンロードすることによって、ソースデバイス140からメディアコンテンツをダウンロードしてもよい。
【００２３】
ユースケース2は、ユースケース1と類似しており、従って、簡略化のために、さらなる説明では、違いに焦点を当てる(同一の原理が他のユースケースにも適用される)。ソースデバイスは、いくつかの表現にセグメントの一部のみを保存してもよく、いくつかのセグメント(例えば、別のAdaptationSet又は表現に属する)はさらに、ソースデバイス140において利用できなくてもよい。この場合、ローカルソースデバイス140からメディアコンテンツ全体をダウンロードする代わりに、シンクデバイス150は、いくつかの必要なセグメントをソースデバイス140からダウンロードし、かつストリーミングサーバ110及び130から他のセグメントをストリーミングしてもよい。
【００２４】
ユースケース3において、前記シンクデバイス150は、ソースデバイス140からいくつかのセグメントをストリーミングし(ユースケース2のダウンロードの代わりに)、かつ他のセグメントをストリーミングサーバ110及び130からストリーミングしてもよい。例えば、前記ソースデバイス140からセグメント(最高品質ではない)をストリーミングしているとき、シンクデバイス150は、シンクデバイス150及び高品質セグメントを有するストリーミングサーバ110間のネットワーク状態(例えば、帯域幅)を監視してもよい。従って、前記シンクデバイス150は、前記ネットワーク状態がシンクデバイス150に、ソースデバイス140にパッケージ化されたセグメントと同一のタイムラインを有するが、前記パッケージ化されたセグメントよりも高い品質を有するセグメントをストリーミングすることを許可することを判定してもよい。この場合、前記シンクデバイス150は、ストリーミングサーバ110から、より高い品質を有するセグメントを取得してもよい。そうでない場合、もしネットワーク状態が比較的悪い場合、シンクデバイス150は、ソースデバイス140からセグメントをストリーミングし続けてもよい。
【００２５】
ユースケース4において、はじめにストリーミングサーバ110及び130からセグメントを取得した後、前記ソースデバイス140は、将来のリプレイ又はプレイバックのためにセグメントを保存してもよい。はじめに取得されたいくつかのセグメントは、高品質表現に属し、かつソースデバイス140とストリーミングサーバ110及び130との間のネットワーク状態は悪化するものと仮定する。ソースデバイス140は、以前に取得された高品質セグメントを使用して前記メディアコンテンツをリプレイしてもよく、従って、ユーザ経験を改善することができる。ソースデバイス140上で使用できないセグメント(例えば、予め保存されていない高品質セグメント)は、さらに、ストリーミングサーバ110及び130から取得されてもよい。別の例では、前記メディアコンテンツをプレイするための第1ストリーミングセッション中に、ソースデバイス140が、ストリーミングサーバ110からメディアコンテンツをストリーミングするとき、複数のセグメントがサーバ110からストリーミングを介して受信される。ソースデバイス140は、前記セグメントを(例えば、MPD及びセグメントをパッキングすることによって)記憶してもよい。後に、もしソースデバイス140が、再び同一のメディアコンテンツをストリームしたい場合、前記記憶されたセグメントは、前記メディアコンテンツをリプレイするための第2ストリーミングセッション中に、ソースデバイス140によって読み出されてもよい。
【００２６】
実施形態において、前記シンクデバイス150は、セグメントを記憶するソースデバイス140の近傍に配置されてもよく、かつ前記シンクデバイス150は、ソースデバイス140からメディアセグメントにアクセスしかつ読み出すことが可能であってもよい。例えば、ソースデバイス140を使用する加入者は、シンクデバイス150(例えば、デスクトップ)によって映画(例えば、“Mission Impossible”)のコピーを読み出す。後に、シンクデバイス150(例えば、タブレット)を使用する家族メンバーは、部分的に又は完全にデスクトップからコンテンツを取り出してもよい。時には、いくつかのセグメントの解像度が最適ではなく、前記シンクデバイス150は、従って、他の最適セグメントを、例えばストリーミングサーバ110のようなリモートコンテンツサーバから読み出しているとき、デスクトップからいくつかのセグメントを読み出してもよい。
【００２７】
図2は、クライアントデバイス200の実施形態の概略図であり、例えば、ソースデバイス140又はシンクデバイス150のようなシステム100において実装されてもよい。前記クライアントデバイス200は、メディアコンテンツのために、要求をストリーミングサーバに送信してもよい。これに応じて、前記ストリーミングサーバは、MPDをクライアントデバイス200に配信してもよい。前記MPDは、HTTP、電子メール、サムドライブ、放送、又は任意の他のトランスポートを使用して配信されてもよい。DASHアクセスエンジン210を使用して前記MPDを解析することによって、前記クライアントデバイス200は、例えば、プログラムのタイミング、メディアコンテンツの有効性、メディアタイプ、解像度、最小および最大帯域幅、マルチメディアコンポーネントの様々な符号化された取って代るものの存在、アクセシビリティ機能及び必要なデジタル権利管理(DRM)、ネットワーク上の各メディアコンポーネントの位置、及び前記メディアコンテンツの他の特性のようなメディアコンテンツについての情報を知ることができる。
【００２８】
前記クライアントデバイス200は、適切な表現を選択してもよく、かつ、HTTP GET要求を使用してセグメントをフェッチすることにより前記メディアコンテンツのストリーミングを開始してもよい。なお、クライアントデバイス200は、例えば、ネットワーク帯域幅の使用率を最大化するために、複数のストリーミングサーバから、セグメント又はセグメントデータをダウンロードしてもよい。前記クライアントデバイス200は、クライアントデバイス200のユーザにストリーミングサービスを提供するために、ダウンロードされたメディアを適切にレンダリングしてもよい。ストリーミングがより効率的になるように、時には、前記セグメントは、ローカルに又は近くのキャッシュ(例えば、ソースデバイス140において、クライアントデバイスがシンクデバイス150であるとき)に記憶されてもよい。セグメントは、メディアエンジン220によって復号化され、かつクライアントデバイス200上でプレイされてもよい。ネットワーク状態の監視に応じて、ストリーミングクライアントは、十分なバッファを維持するために、異なる表現(例えば、低い又は高いビットレートを有する)のセグメントをダウンロードすることによって使用可能な帯域幅に適応的に調整してもよい。
【００２９】
図3は、XMLコードで記述されている例示的実装300を示している。当業者は、XMLコードを理解し、従って、以下の説明では前記開示された実施形態に関連する態様に焦点を当てる。実装300において、MPDファイルは、直接的にセグメントデータを含む。具体的には、“SegmentData”要素は、Representationにおける各要素“Segment URL”に追加される。例えば、“SegmentData”要素310は、オーディオのためのRepresentation id=1に追加され、かつ“SegmentData”要素320は、ビデオのためのRepresentation id=4に追加される。“SegmentData”要素310及び320は、対応するセグメントのデータを直接的に含んでもよい。従って、セグメントは、前記MPDファイル全体に分散され、つまり、対応する表現要素に記憶される。
【００３０】
Representations id=2及びid=3におけるセグメントは、前記クライアントで使用できない場合があるので、Representations id=2及びid=3は、例えば、それぞれBaseURL要素330及び340を使用することによって、ストリーミングサーバからリモートで取得されてもよい。なお、SegmentData要素310及び320がクライアントで使用できる場合であっても、前記クライアントは、例えば、それぞれBaseURL要素312及び322を使用することによって、ストリーミングサーバからそれらを取得するためのオプションをさらに有してもよい。
【００３１】
代替の実施形態において、表現の中に直接的にセグメントデータを含む代わりに、前記セグメントデータは、リンケージ又は参照によってMPDと関連してもよい。図4は、XMLコードで記述されている例示的実装400を示している。当業者は、実装300と400との間に類似性(同一の原理が他の実装にも適用される)を理解することができる。従って、簡略化のために、さらなる説明では、これらの違いに焦点を当てる。実装400において、MPD及びセグメントデータの両方は、同一ファイルに属する。しかし、実装300のようなそれらの表現要素に直接的にセグメントデータを記憶する代わりに、実装400は、ファイルの先頭又は末尾に存在することができる“Resources”と表記されるリソース要素402にセグメントデータを記憶又はパッケージ化してもよい。図4に示されるように、セグメントデータ410(SegmentData1と表記される)及びセグメントデータ420(SegmentData 4と表記される)は、前記ファイルの先頭における“Resources”要素に記憶される。
【００３２】
さらに、要素“SegmentData”が、前記MPDにおけるそれぞれ対応する表現に追加される。例えば、“SegmentData”要素430は、オーディオに対して表現id=1に追加され、かつ“SegmentData”要素440が、ビデオに対して表現id=4に追加される。前記要素430及び440は、セグメントを直接的に含まなくてもよく、その代わりに、それらは“Resources”要素402に含まれるセグメントデータを参照してもよい。例えば、要素430は、“SegmentData1”を引用することによりセグメントデータ410を参照し、かつ前記要素440は、“SegmentData4”を引用することによりセグメントデータ420を参照する。
【００３３】
図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”を含む。
【００３４】
図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に関連している。
【００３５】
図7は、例示的実装700を示しており、例えば、XLink、XPointer、又はその両方といったXML機能を使用して記憶されたセグメントデータを対応するセグメント要素にリンクさせてもよい。実装700において、リソース要素702“Resources”は、前記MPDの子要素であり、かつセグメントデータ710及び720を含む。さらに、セグメントデータ710は、XLink機能730によって対応するセグメント要素にリンクされ、かつセグメントデータ720は、XLink機能740によって対応するセグメント要素にリンクされる。
【００３６】
図8は、例示的実装800を示しており、フルパスを使用して記憶されたセグメントデータを対応するセグメント要素にリンクさせてもよい。実装800において、リソース要素802“Resources”は、前記MPDの子要素であり、かつセグメントデータ810及び820を含む。さらに、セグメントデータ810は、LocalURI要素830に含まれるパス“Path=Resources/sid1”によって対応するセグメント要素にリンクされており、かつセグメントデータ820は、LocalURI要素840に含まれるパス“Path=Resources/sid4”によって対応するセグメント要素にリンクされる。
【００３７】
図9は、例示的実装900を示しており、MPD拡張を生成してもよい。オリジナルMPD910と更新MPD920とが、前記MPD拡張に含まれてもよい。オリジナルMPD910は、ストリーミングサーバから受信された前記MPDであってもよく、かつ、そのコンテンツは明確化のために省略される。前記更新MPDは、上記の実装において言及されたMPDの1つであってもよい(例えば、実装300は更新MPD920に示される)。クライアントデバイスは、前記MPD拡張を解析し、かつ前記オリジナルMPD910又は前記更新MPD920のいずれかを使用することを選択してもよい。
【００３８】
図10A及び図10Bは、例示的実装1000を示しており、例えば多目的インターネットメール拡張(MIME)ハイパーテキストマークアップ言語(HTML)(MHTML)ファイルのようなファイルの独立した部分としてMPD及びセグメントデータをパッケージ化している。前記ファイルは、MIME形式のマルチパートメッセージであってもよい。実施形態において、前記MPDは、URL及び/又はURIによってセグメントデータを関連付けられている。例えば、セグメントデータ1010は、MPD1030のセグメント要素1032に関連付けられており、かつセグメントデータ1020は、前記MPD1030のセグメント要素1034と関連付けられている。なお、前記セグメントデータ1010及び1020は、前記MPD1030の外部に独立して記憶される。MHTMLファイルの複数の部分のシーケンスは、フレキシブルである。
【００３９】
図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に後続してもよい。
【００４０】
図12は、ファイル処理方法1200の実施形態のフローチャートであり、クライアントデバイス(例えば、前記システムデバイス150又はクライアントデバイス200)によって実行されてもよい。ステップ1202において、前記クライアントデバイスは、別のクライアントデバイス(例えば、ソースデバイス140)から実装1100において説明されたファイルを受信してもよい。ステップ1204において、前記クライアントデバイスは、それがMPD及びセグメントデータの両方をパッキングしているファイルであることを判定するためにファイルタイプを読んでもよい。ステップ1206において、前記クライアントデバイスは、クライアントデバイスのユーザが取得したいメディアコンテンツの適合セット及び表現を判定してもよい。あるいは、ここでクライアントデバイスは、ヘッダ情報に基づいて前記ファイルをプレイしてもよく、かつ全ての次のステップをスキップしてもよい。
【００４１】
ステップ1208において、前記クライアントデバイスは、クエリパラメータSD_id及び(P,A,R)情報に基づいて、前記ファイルがそのようなセグメントデータを含んでいるのか否かを判定する。もし前記ファイル内に前記セグメントデータが存在する場合、ステップ1210において、クライアントデバイスは、オフセット情報SD_ofs及び長さ情報SD_lを使用して前記ファイルからセグメントデータを読み出してもよい。そうでない場合、もし前記ファイルの中にそのようなセグメントデータが存在しない場合、ステップ1212において、前記クライアントデバイスはMPDを使用してリモートコンテンツサーバからセグメントデータを読み出してもよい。最後に、ステップ1214において、前記クライアントデバイスは、前記セグメントデータを復号化してもよい。
【００４２】
図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を指してもよい。
【００４３】
図14は、前記方法1400の実施形態のフローチャートであり、第1クライアントデバイス(例えば、ソースデバイス140、シンクデバイス150、又はクライアントデバイス200)によって実行されてもよい。前記方法1400は、前記第1クライアントデバイスが、ローカルに利用可能なメディアセグメントを使用してメディアコンテンツをリプレイし、又は第2クライアントデバイスと前記ローカルに利用可能なメディアセグメントを共有することを可能にしてもよい。
【００４４】
前記方法1400は、ステップ1410において始まり、前記第1クライアントデバイスは、ストリーミングサーバから前記メディアコンテンツのためのMPDを受信してもよい。ステップ1420において、前記第1クライアントデバイスはさらに、1又は2以上のストリーミングサーバから前記メディアコンテンツのための複数のセグメントを受信してもよい。なお、前記セグメント及び前記MPDは、同一サーバ又は異なるサーバから受信されてもよい。ステップ1430において、前記クライアントデバイスは、パッケージ化されたセグメントがパッケージ化されたMPDを介して前記第2クライアントデバイスによってアクセス可能なように、前記MPD及び前記受信されたセグメントの少なくとも一部をパッケージ化し、又は記憶してもよい。上述(例えば、実装300-1000及び1300について)したように、前記セグメント又はセグメントデータは、単一のファイルとして、又は別々の関連付けられたファイルとして記憶することを含む様々なアプローチで前記MPDとともにパッケージ化されてもよい。前記第1クライアントデバイスは、ネットワーク接続を介して前記第2クライアントデバイスに接続される。前記ネットワーク接続は、例えば、有線(例えば、イーサネット(登録商標))又は無線(例えば、モバイル又はWiFi)接続のような任意の形態をとってもよい。
【００４５】
ステップ1440において、前記第1クライアントデバイスは、前記第2クライアントデバイスから前記メディアコンテンツのための要求を受信してもよい。前記要求は、ダウンロード要求又はストリーミング要求であってもよい。さらに、前記要求は、前記第2クライアントデバイスが読み出したい1又は2以上のセグメント、表現、適合セット、及び/又は期間を指定してもよい。ステップ1450において、前記第1クライアントデバイスは、前記要求に応じて1又は2以上の前記パッケージ化されたセグメントを前記第2クライアントデバイスに送信してもよい。
【００４６】
前記方法1400は、例示的な実施形態として機能し、従って、代替の方法が前記方法1400を修正するために使用されてもよく、かつ追加のステップが必要に応じて組み込まれてもよいことは理解されるべきである。例えば、前記第1クライアントデバイスは、最初に、受信されたセグメントのみを使用してメディアコンテンツをプレイしてもよいが、前記パッケージ化されたセグメントの少なくとも一部を使用して前記メディアコンテンツをリプレイしてもよい。さらに、前記第1クライアントデバイスは、リプレイ中に、前記第1クライアントデバイスと前記1又は2以上のストリーミングサーバとの間のネットワーク状態(例えば、帯域幅)を監視し、前記ネットワーク状態は前記第1クライアントデバイスに、前記パッケージ化されたセグメントと同一のタイムラインを有するが、前記パッケージ化されたセグメントよりも高い品質を有するセグメントのストリーミングを許可することを判定し、かつ、前記リプレイのために前記1又は2以上のストリーミングサーバから高い品質を有するセグメントを取得してもよい。
【００４７】
図15は、方法1500の実施形態のフローチャートであり、複数のセグメントを含むメディアコンテンツを取得するためにクライアントデバイス(例えば、前記シンクデバイス150又はクライアントデバイス200)によって実行されてもよい。前記セグメントの前記第1の部分は、パッケージ化されたファイルの部分としてソースデバイスから取得されてもよい。前記方法1500は、ステップ1510において始まり、前記クライアントデバイスは、ダウンロード又はストリーミングを介して、ソースデバイス(例えば、ソースデバイス140)からセグメントの第1の部分を取得してもよい。前記セグメントの前記第1の部分は、前記ソースデバイスに記憶されたMPDを介して取得されてもよい。前記MPDは、同一のメディアコンテンツのためのものであり、かつ本開示に説明される様々な方法でセグメントとともにパッケージ化されてもよい。ステップ1520において、前記クライアントデバイスは、前記メディアコンテンツのためのMPDを使用してストリーミングサーバ(例えば、ストリーミングサーバ110)から前記セグメントの第2の部分を取得してもよい。前記第2の部分は、第1の部分よりも良い品質を有してもよく、又はソースデバイスにおいて使用可能でないかもしれない。実施形態において、前記クライアントデバイスは、前記セグメントの前記第2の部分がパッケージ化されたファイルに存在しないことを判定し、次いで前記セグメントの前記第2の部分を取得してもよい。ステップ1530において、前記クライアントデバイスは、前記セグメントの前記第1の部分及び前記セグメントの前記第2の部分を使用して、前記メディアコンテンツを復号化し、かつプレイしてもよい。
【００４８】
前記方法1500は、例示的な実施形態として機能し、従って、追加的なステップが必要に応じて組み込まれてもよいということは理解されるべきである。例えば、前記セグメントの前記第1の部分は、前記ストリーミングサーバから利用可能であってもよく、従って、前記方法1500はさらに、クライアントデバイスとソースデバイスとの間の第1ネットワーク接続が、クライアントデバイスとストリーミングサーバとの間の第2ネットワーク接続よりも速いことを判定してもよい。ゆえに、前記ソースデバイスから前記セグメントの前記第1の部分を取得するステップは、前記判定に基づいてもよい。
【００４９】
デジタルエンタテインメントコンテンツエコシステム(Digital Entertainment Content Ecosystem (DECE))によって検討された追加のユースケースが、表1〜35にまとめられている。当業者は、これらのユースケースのコンテンツを認識し、かつそれらに開示される実施形態を表1〜35のタイトル、問題文、説明、及び前提条件に基づいてどのように実施するのかを理解する。なお、表1〜35において使用されるベンダー、ユーザ名、ユーザデバイス、コンテンツタイプ、及び他の情報は、例示であり、限定するものではない。
【００５０】
【表１】
2016502809.tif 000003
【００５１】
【表２】
2016502809.tif 000004
【００５２】
【表３】
2016502809.tif 000005
【００５３】
【表４】
2016502809.tif 000006
【００５４】
【表５】
2016502809.tif 000007
【００５５】
【表６】
2016502809.tif 000008
【００５６】
【表７】
2016502809.tif 000009
【００５７】
【表８】
2016502809.tif 000010
【００５８】
【表９】
2016502809.tif 000011
【００５９】
【表１０】
2016502809.tif 000012
【００６０】
【表１１】
2016502809.tif 000013
【００６１】
【表１２】
2016502809.tif 000014
【００６２】
【表１３】
2016502809.tif 000015
【００６３】
【表１４】
2016502809.tif 000016
【００６４】
【表１５】
2016502809.tif 000017
【００６５】
【表１６】
2016502809.tif 000018
【００６６】
【表１７】
2016502809.tif 000019
【００６７】
【表１８】
2016502809.tif 000020
【００６８】
【表１９】
2016502809.tif 000021
【００６９】
【表２０】
2016502809.tif 000022
【００７０】
【表２１】
2016502809.tif 000023
【００７１】
【表２２】
2016502809.tif 000024
【００７２】
【表２３】
2016502809.tif 000025
【００７３】
【表２４】
2016502809.tif 000026
【００７４】
【表２５】
2016502809.tif 000027
【００７５】
【表２６】
2016502809.tif 000028
【００７６】
【表２７】
2016502809.tif 000029
【００７７】
【表２８】
2016502809.tif 000030
【００７８】
【表２９】
2016502809.tif 000031
【００７９】
【表３０】
2016502809.tif 000032
【００８０】
【表３１】
2016502809.tif 000033
【００８１】
【表３２】
2016502809.tif 000034
【００８２】
【表３３】
2016502809.tif 000035
【００８３】
【表３４】
2016502809.tif 000036
【００８４】
【表３５】
2016502809.tif 000037
【００８５】
図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を備えてもよい。
【００８６】
前記プロセッサ1620はハードウェア又はハードウェアとソフトウェアとの組み合わせを使用して実装されてもよい。前記プロセッサ1620は、1又は2以上の中央処理装置(CPU)チップ、コア(例えば、マルチコアプロセッサ)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、及び/又はデジタル信号プロセッサ(DSP)として実装されてもよい。前記プロセッサ1620は、例えば、DASHアクセスエンジン210、メディアエンジン220、メディアプレーヤ1621、若しくは当業者によって知られている任意の他の機能コンポーネント、又はそれらの組み合わせのようなここに記述した機能モジュール又はユニットのいずれかを実装するように構成されてもよい。前記メディアプレーヤ1621は、前記プロセッサ1620で実行するアプリケーションであってもよく、かつ復号化されたメディアセグメントをプレイするように構成されてもよい。
【００８７】
前記ネットワークデバイス1600はさらに、少なくとも1のメモリ1622を備えてもよい。前記メモリ1622は、MPD1623及びセグメント1624を記憶するように構成されてもよい。前記MPD1623及び前記セグメント1624は、上述したように様々な形式で記憶され、又はパッケージ化されてもよい。例えば、図16に示されるように前記セグメント1624は前記MPDファイル1623に含まれる。
【００８８】
実際には、ネットワークデバイス1600によって処理される双方向トラフィックが存在してもよく、従って、いくつかのポートが、パケット(例えば、セグメント)を受信し、かつ送信してもよい。この意味では、入力ポート1610及び出力ポート1630は、共配置されてもよく、又はトランシーバ(Rx/Tx)に接続された同一ポートの異なるの機能を考慮してもよい。プロセッサ1620、メモリ1622、前記受信機1612、及び送信機1632の1又は2以上が、例えば実装300-1100、ファイル処理方法1200、実装1300、並びに方法1400及び1500のような、上述の方法及び実装のいずれかを少なくとも部分的に実施又はサポートするように構成されてもよい。
【００８９】
実行可能命令をネットワークデバイス1600にプログラミング及び/又はローディングすることによって、前記プロセッサ1620及びメモリ1622の少なくとも1が変更されてもよいと理解される。その結果、前記ネットワークデバイス1600は、特定の機械又は装置(例えば、本開示によって開示される機能を有するネットワークルータ)に部分的に変換されてもよい。前記実行可能命令は、メモリ1622上に記憶されてもよく、かつ実行のために前記プロセッサ1620にロードされてもよい。実行可能なソフトウェアをコンピュータにロードすることによって実行される機能が、周知の設計ルールによってハードウェア実装に変換可能であるということは、電気工学及びソフトウェア工学の分野の基礎である。ソフトウェア対ハードウェアにおけるコンセプトを実装する決定は、ソフトウェアドメインからハードウェアドメインへの変換に関わる全ての問題ではなく、生成されるユニットの設計及び数の安定性を考慮することによって決まる。ハードウェア実装の再作成はソフトウェア設計を再作成よりも高価であるため、一般的に、まだ頻繁に変更される可能性のある設計は、ソフトウェアで実装されることが好ましいことがある。一般的に、ハードウェア実装を実行する大量生産は、ソフトウェア実装よりも安価であることがあるので、大量に生成される安定した設計は、例えば、ASICのようなハードウェアで実装されることが好まれる。多くの場合、設計は、ソフトウェア形式で開発されるとともにテストされ、かつ後に、周知の設計規則によって、ソフトウェアの命令を配線接続している特定用途向け集積回路における等価ハードウェア実装に変換されてもよい。同様に、新たなASCIによって制御される機械は特定の機械又は装置であり、実行可能な命令でプログラムされかつ/又はロードされるコンピュータが、特定の機械又は装置とみなされてもよい。
【００９０】
本開示の任意の処理は、プロセッサ(例えば、汎用マルチコアプロセッサ)にコンピュータプログラムを実行させることによって実施されてもよい。この場合、コンピュータプログラム製品は、任意タイプの非一時的なコンピュータ可読媒体を使用して、コンピュータ又はネットワークデバイスに提供されてもよい。前記コンピュータプログラム製品は、前記コンピュータ又は前記ネットワークデバイスの中の非一時的なコンピュータ可読媒体に記憶されてもよい。非一時的なコンピュータ可読媒体は、任意タイプの有形の記憶媒体を含む。非一時的なコンピュータ可読媒体の実施例は、磁気記憶媒体(例えば、フロッピー(登録商標)ディスク、磁気テープ、ハードディスクドライブ等)、光磁気記憶媒体(例えば、光磁気ディスク)、コンパクトディスク読み出し専用メモリ(CD-ROM)、コンパクトディスクレコーダブル(CD-R)、コンパクトディスクリライタブル(CD-R/W)、デジタル多用途ディスク(DVD)、Blu-ray(登録商標)ディスク(BD)、及び半導体メモリ(例えば、マルクROM、プログラマブルROM(PROM)、消去可能なPROM、フラッシュROM、及びランダムアクセスメモリ(RAM))を含む。前記コンピュータプログラム製品は、任意タイプの一時的なメモリを使用して、コンピュータ又はネットワークデバイスに提供されてもよい。一時的なコンピュータ可読媒体の実施例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、有線通信回線(例えば、電線及び光ファイバ)又は無線通信回線を介してコンピュータに前記プログラムを提供してもよい。
【００９１】
当業者によって実施される、開示されている少なくとも1の実施形態、実施形態の変換、組み合わせ、及び/又は修正、及び/又は実施形態の機能は、本開示の範囲内である。実施形態の特徴の組み合わせ、統合、及び/又は省略から生じる別の実施形態もまた、本開示の範囲内である。数値範囲又は限定が明確に記載されている場合、そのような明示範囲又は限定は、明示された範囲又は限定内に入る同様の大きさ(例えば、約1〜約10は、2,3,4等を含み、0.10よりも大きい数値は、0.11, 0.12, 0.13等を含む)の反復範囲又は限定を含むと理解されてもよい。例えば、下限値Rl及び上限値Ruを有する数値範囲が開示されるときはいつでも、範囲内の任意の数値が具体的に開示されている。特に、以下に、範囲内の以下の数値が具体的に開示される。R = Rl + k * (Ru - Rl)、ここで、kは、1パーセントから100パーセントまで1パーセント刻みで変動する変数であり、つまり、kは、1パーセント、2パーセント、3パーセント、4パーセント、5パーセント、…、50パーセント、51パーセント、52パーセント、…、95パーセント、96パーセント、97パーセント、98パーセント、99パーセント、又は100パーセントである。さらに、上述で定義されたような2つのR数によって定義される任意の数理範囲もまた開示される。特に断りのない限り、“約”という用語の使用は、続く番号の+/-10％を意味する。請求項の任意の要素に関して“任意に”という用語の使用は、要素が必要とされるか、又は、要素が必要とされないことを意味し、両方の選択肢が特許請求の範囲内である。例えば、含む、備える、及び有するというような広い用語の使用は、例えば、から成る、本質的にから成る、実質的にから成るというような狭い用語のためのサポートを提供していると理解されてよい。従って、保護の範囲は、上述した説明によって限定されるものではなく、添付の特許請求の範囲、請求項の主題の全ての均等物を含むその範囲によって定義されます。請求項のそれぞれ及び全ては、さらなる開示として本開示中に組み込まれ、かつ特許請求の範囲は、本開示の実施形態である。開示における基準の議論は、従来技術に認められるものではなく、特に、本開示の優先日後の出版日を有する任意の基準の議論を認めるものではない。本開示において引用される全ての特許、特許明細書、及び刊行物の開示は、例示、手順、又は本開示を補足する他の詳細を提供する程度に、参照によってここに組み込まれる。
【００９２】
いくつかの実施形態は、本開示に提供されているが、開示されているシステム及び方は、本開示の精神又は範囲から逸脱することなく多くの他の特定の形態で実施可能であることを理解することができます。本発明の実施例は、例示であり、限定的ではないと考えられるべきであり、かつその意図は、本開示に与えられた詳細に限定されるものではない。例えば、様々な要素又は構成要素が別のシステムに組み合わせ、又は統合され、あるいは、特定の特徴が省略され、又は実施されなくてもよい。
【００９３】
さらに、離散的に又は別々に様々な実施形態において説明されかつ例示された技術、システム、サブシステム、及び方法は、本開示の範囲から逸脱しないで、他のシステム、モジュール、技術、又は方法と組み合わされ、又は統合されてもよい。結合され又は直接的に結合されあるいはお互いに通信するような、示された又は説明された他の項目は、電気的、機械的、または他の方法で、いくつかのインターフェース、デバイス、又は中間コンポーネントを介して、間接的に結合し、又は通信してもよい。変更、置換、及び改変の他の実施例は、当業者によって確認可能であり、かつ本開示に開示された精神及び範囲から逸脱しないで行うことができる。
【符号の説明】
【００９４】
１００  コンテンツ配信システム
１１０  ストリーミングサーバ
１２０  ストリーミングサーバ
１３０  ストリーミングサーバ
１４０  ソースデバイス
１５０  シンクデバイス
２００  クライアントデバイス
２１０  アクセスエンジン
２２０  メディアエンジン
３００  実装
３１０  SegmentData要素
３１２  BaseURL要素
３３０  BaseURL要素
３４０  BaseURL要素
４００  実装
４０２  リソース要素
４１０  セグメントデータ
４２０  セグメントデータ
４３０  SegmentData要素
４４０  SegmentData要素
５００  実装
５０２  リソース要素
５１０  SegmentData要素
５２０  SegmentData要素
５３０  表現要素
５４０  表現要素
６００  実装
６０２  リソース要素
６１０  SegmentData要素
６２０  SegmentData要素
６３０  LocalURI要素
６４０  LocalURI要素
７００  実装
７０２  リソース要素
７１０  セグメントデータ
７２０  セグメントデータ
７３０  XLink機能
７４０  XLink機能
８００  実装
８０２  リソース要素
８１０  セグメントデータ
８２０  セグメントデータ
８３０  LocalURI要素
８４０  LocalURI要素
９００  実装
９１０  オリジナルMPD
９２０  更新MPD
１０００  実装
１０３０  MPD
１０３２  セグメント要素
１０３４  セグメント要素
１０１０  セグメントデータ
１０２０  セグメントデータ
１１００  実装
１１０２  ファイルヘッダ
１１１０  ファイルタイプ
１１２０  セグメントデータ記述
１１３０  MPD
１１４０  セグメントデータ
１１４２  セグメントデータ
１１４４  セグメントデータ
１２００  ファイル処理方法
１３００  実装
１３１０  XMLファイル
１３１２  セグメントデータ
１３１４  セグメントデータ
１３２０  MPDファイル
１３２２  Xlink機能
１３２４  Xlink機能
１４００  方法
１５００  方法
１６００  ネットワークデバイス
１６１０  入力ポート
１６１２  受信機
１６２０  プロセッサ
１６２１  メディアプレーヤ
１６２２  メモリ
１６２３  MPDファイル
１６２４  セグメント
１６３０  出力ポート
１６３２  送信機
【図１】
2016502809.tif 000038
【図２】
2016502809.tif 000039
【図３】
2016502809.tif 000040
【図４】
2016502809.tif 000041
【図５】
2016502809.tif 000042
【図６】
2016502809.tif 000043
【図７】
2016502809.tif 000044
【図８】
2016502809.tif 000045
【図９】
2016502809.tif 000046
【図１０Ａ】
2016502809.tif 000047
【図１０Ｂ】
2016502809.tif 000048
【図１１】
2016502809.tif 000049
【図１２】
2016502809.tif 000050
【図１３Ａ】
2016502809.tif 000051
【図１３Ｂ】
2016502809.tif 000052
【図１４】
2016502809.tif 000053
【図１５】
2016502809.tif 000054
【図１６】
2016502809.tif 000055
【手続補正書】
【提出日】平成27年5月25日(2015.5.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第1クライアントデバイスによって実行される方法であって、前記方法は、
ストリーミングサーバからメディアコンテンツのためのメディアプレゼンテーション記述(MPD)を受信するステップと、
1又は2以上のストリーミングサーバから前記メディアコンテンツのための複数のセグメントを受信するステップと、
前記MPD及び前記受信されたセグメントの少なくとも一部をパッケージ化するステップであって、前記パッケージ化されたセグメントが前記パッケージ化されたMPDを介して第2クライアントデバイスによってアクセス可能であるようにパッケージ化するステップと
を含む方法。
【請求項２】
前記第2クライアントデバイスから前記メディアコンテンツのための要求を受信するステップと、
前記要求に応じて前記第2クライアントデバイスに1又は2以上の前記パッケージ化されたセグメントを送信するステップであって、前記第1クライアントデバイスはネットワーク接続を介して前記第2クライアントデバイスに接続される、ステップと
をさらに含む、請求項1に記載の方法。
【請求項３】
前記要求はダウンロード要求であり、かつ前記方法は、前記パッケージ化されたセグメントとともに前記パッケージ化されたMPDを単一のファイルとして前記第2クライアントデバイスに送信するステップをさらに含む、請求項2に記載の方法。
【請求項４】
前記要求がストリーミング要求であり、かつ前記方法は、前記パッケージ化されたセグメントとともに前記パッケージ化されたMPDを別々にかつ関連付けられたファイルとして前記第2クライアントデバイスに送信するステップをさらに含む、請求項2に記載の方法。
【請求項５】
前記受信されたセグメントを使用して最初に前記メディアコンテンツをプレイするステップと、
前記パッケージ化されたセグメントの少なくとも一部を使用して前記メディアコンテンツをリプレイするステップと
をさらに含む、請求項1〜4のいずれか一項に記載の方法。
【請求項６】
前記リプレイ中に、前記第1クライアントデバイスと前記1又は2以上のストリーミングサーバとの間のネットワーク状態を監視するステップと、
前記ネットワーク状態は前記第1クライアントデバイスに、前記パッケージ化されたセグメントと同一のタイムラインを有するが、前記パッケージ化されたセグメントよりも高い品質を有するセグメントのストリーミングを許可することを判定するステップと、
前記リプレイのために前記1又は2以上のストリーミングサーバから、より高い品質を有する前記セグメントを取得するステップと
をさらに含む、請求項1〜5のいずれか一項に記載の方法。
【請求項７】
前記リプレイ中に、前記第1クライアントデバイスと、前記1又は2以上のストリーミングサーバとの間のネットワーク状態を監視するステップと、
前記ネットワーク状態は前記第1クライアントデバイスに、前記1又は2以上のストリーミングサーバからの、前記パッケージ化されたセグメントと同一のタイムラインを有するが、前記パッケージ化されたセグメントの前記少なくとも一部よりも高い品質を有するセグメントのストリーミングを許可しないことを判定するステップと
をさらに含み、
前記ネットワーク状態は前記第1クライアントデバイスに、前記パッケージ化されたセグメントの前記少なくとも一部のストリーミングを許可しないという前記判定に基づいて、前記リプレイ中に、前記パッケージ化されたセグメントの前記少なくとも一部は使用される、請求項1〜5のいずれか一項に記載の方法。
【請求項８】
前記受信されたMPDと、前記受信されたセグメントの前記少なくとも一部とが1のファイルとしてパッケージ化され、かつ、パッケージ化されたセグメントが前記パッケージ化されたMPDの対応する要素を介して前記第2クライアントデバイスによってアクセス可能である、請求項1〜7のいずれか一項に記載の方法。
【請求項９】
前記ファイルは拡張マークアップ言語(XML)で記述されたMPDファイルであり、前記MPDファイルはセグメントデータ(SegmentData)要素として前記パッケージ化されたセグメントを含み、かつ、前記SegmentData要素は前記MPDファイルの対応する表現要素に記憶される、請求項8に記載の方法。
【請求項１０】
前記受信されたセグメントは前記ファイルの先頭又は末尾におけるリソース要素にパッケージ化され、かつ、前記MPDは前記リソース要素における対応するパッケージ化されたセグメントを参照するセグメントデータ要素を含む、請求項8に記載の方法。
【請求項１１】
前記ファイルはリソース要素を含むMPDファイルであり、かつ、前記リソース要素は前記パッケージ化されたセグメントと、前記MPDファイルの対応する表現要素にリンクする表現識別子とを含む、請求項8に記載の方法。
【請求項１２】
前記ファイルはリソース要素を含むMPDファイルであり、前記リソース要素は前記パッケージ化されたセグメントと、対応するローカルユニフォームリソース識別子(URI)とを含み、かつ、前記ローカルURIは、前記パッケージ化されたセグメントを前記MPDファイルの対応するセグメント要素にリンクされる、請求項8に記載の方法。
【請求項１３】
前記ファイルはリソース要素を含むMPDファイルであり、前記リソース要素は前記パッケージ化されたセグメントを含み、かつ、前記パッケージ化されたセグメントはXLink及びXPointer機能の少なくとも1を使用して前記MPDファイルの対応するセグメント要素にリンクされる、請求項8に記載の方法。
【請求項１４】
前記ファイルはリソース要素を含むMPDファイルであり、前記リソース要素は前記パッケージ化されたセグメントを含み、かつ、前記パッケージ化されたセグメントは、それぞれ対応するセグメント要素に含まれるパスを使用して前記MPDファイルの対応するセグメント要素にリンクされる、請求項8に記載の方法。
【請求項１５】
前記ファイルは前記受信されたMPDと更新MPDとを含むMPD拡張であり、かつ、前記更新MPDは前記パッケージ化されたセグメントを含む、請求項8に記載の方法。
【請求項１６】
前記ファイルは、多目的インターネットメール拡張(MIME)ハイパーテキストマークアップ言語(HTML)(MHTML)ファイルであり、かつ、前記パッケージ化されたMPDは、前記MHTMLファイルにおけるユニフォームリソース識別子(URI)によって前記パッケージ化されたセグメントに関連付けられている、請求項8に記載の方法。
【請求項１７】
前記ファイルは前記パッケージ化されたMPDと前記パッケージ化されたセグメントとが後続するファイルヘッダを含み、かつ、前記ファイルヘッダは、前記ファイルが前記パッケージ化されたMPDと前記パッケージ化されたセグメントとを含むことを指定する、請求項8に記載の方法。
【請求項１８】
前記MPDと前記受信されたセグメントの前記少なくとも一部とが、別々の拡張マークアップ言語(XML)ファイルとしてパッケージ化され、かつXML機能を介して関連付けられている、請求項1〜17のいずれか一項に記載の方法。
【請求項１９】
メディアコンテンツと、前記メディアコンテンツのための複数のセグメントとを記述するメディアプレゼンテーション記述(MPD)を受信するように構成された受信機であって、前記MPDはストリーミングサーバから受信され、かつ前記複数のセグメントは1又は2以上のストリーミングサーバから受信される、受信機と、
前記受信機に接続され、かつ、前記受信されたセグメントを使用して前記メディアコンテンツをプレイするように構成されたプロセッサと、
前記プロセッサに接続され、かつ、前記MPDと前記受信されたセグメントの少なくとも一部とを記憶するように構成されたメモリであって、前記記憶されたセグメントのそれぞれは前記記憶されたMPDを介して読み出し可能である、メモリと
を備え、前記プロセッサはさらに、前記記憶されたセグメントの少なくとも一部を使用して前記メディアコンテンツをリプレイするように構成された、装置。
【請求項２０】
前記複数のセグメントは、前記メディアセグメントをプレイするための第1ストリーミングセッション中にストリーミングを介して受信され、かつ、前記記憶されたセグメントは、前記メディアコンテンツをリプレイするための第2ストリーミングセッション中に前記プロセッサによって読み出される、請求項19に記載の装置。
【請求項２１】
前記受信機はさらに、メディアストリーミングクライアントから前記メディアコンテンツのための要求を受信するように構成され、前記プロセッサはさらに、前記要求に基づいて少なくとも1の前記記憶されたセグメントを読み出すように構成され、かつ、前記装置はさらに、前記プロセッサに接続されるとともに、前記読み出されたセグメントを前記メディアストリーミングクライアントに送信するように構成された送信機を備え、請求項19又は20に記載の装置。
【請求項２２】
前記MPD及び前記受信されたセグメントの少なくとも一部は、別々かつ関連付けられた拡張マークアップ言語(XML)ファイルとして記憶され、かつ、前記読み出されたセグメントは、ストリーミングを介して前記メディアストリーミングクライアントに送信される、請求項21に記載の装置。
【請求項２３】
前記MPD及び前記受信されたセグメントの少なくとも一部は、単一のファイルとして記憶され、かつ、前記読み出されたセグメントは、ダウンロードを介して前記メディアストリーミングクライアントに送信される、請求項21に記載の装置。
【請求項２４】
複数のセグメントを含むメディアコンテンツを取得するための第2クライアントデバイスによって実行される方法であって、前記方法は、
ソースデバイスとして動作する第1クライアントデバイスから前記セグメントの第1の部分を取得するステップであって、前記セグメントの前記第1の部分は、前記第1クライアントデバイスに記憶されたメディアプレゼンテーション記述(MPD)を介して取得される、ステップと、
ストリーミングサーバから前記セグメントの第2の部分を取得するステップと、
前記セグメントの前記第1の部分と、前記セグメントの前記第2の部分とを使用して前記メディアコンテンツをプレイするステップと
を含む方法。
【請求項２５】
前記セグメントの前記第1の部分は、前記MPDも含んでいるパッケージ化されたファイルの一部として前記ソースデバイスから取得され、前記方法はさらに、前記セグメントの前記第2の部分が前記パッケージ化されたファイルに存在しないことを判定するステップを含み、かつ、前記セグメントの前記第2の部分は、前記メディアコンテンツのための前記MPDの別のバージョンを使用して前記ストリーミングサーバから取得される、請求項24に記載の方法。
【請求項２６】
前記セグメントの前記第1の部分はさらに前記ストリーミングサーバから利用可能であり、前記方法はさらに前記第2クライアントデバイスと前記前記ソースデバイスとの間の第1ネットワーク接続は、前記第2クライアントデバイスと前記ストリーミングサーバとの間の第2ネットワーク接続よりも速いことを判定するステップを含み、かつ、前記ソースデバイスから前記セグメントの前記第1の部分を取得するステップは前記第1ネットワーク接続がより速いという前記判定に基づく、請求項24に記載の方法。
【請求項２７】
プログラムが記憶されたコンピュータ可読記憶媒体であって、前記プログラムは、請求項1〜18のいずれか一項に記載の方法をコンピュータに実行させる、コンピュータ可読記憶媒体。
【国際調査報告】
2016502809.tif 000056
2016502809.tif 000057
2016502809.tif 000058
2016502809.tif 000059
2016502809.tif 000060