(57)【特許請求の範囲】
【請求項１】
クライアントデバイスによるコンテンツを受信する方法であって、
マルチメディア多重化転送プロトコル(multimedia multiplexing transport protocol:ＭＭＴＰ)パケットを受信するステップと、
前記ＭＭＴＰパケットを動的適応型ハイパーテキスト転送プロトコル（ＨＴＴＰ）ストリーミング（ＤＡＳＨ）セグメントで再構成するステップと、
前記ＤＡＳＨセグメント及び前記ＤＡＳＨセグメントの関連するＵＲＬ（uniform resource locator）をセグメントバッファに格納するステップと、を含み、
前記関連するＵＲＬに含まれるＵＲＬは、前記セグメントバッファでＤＡＳＨセグメントを探索するためのインデックスとして用いられ、
前記関連するＵＲＬは、メディアプロセシングユニット(media processing unit:ＭＰＵ)モードが用いられる場合、mmpuボックス(box)から発見されることを特徴とするコンテンツ受信方法。
【請求項２】
前記関連するＵＲＬは、包括的ファイル配信（ＧＦＤ;generic file delivery）モードが用いられる場合、包括的ファイル配信テーブル(ＧＦＤＴ)から発見されることを特徴とする請求項１に記載のコンテンツ受信方法。
【請求項３】
前記セグメントバッファは、一つ以上の再現(representation)を含み、前記一つ以上の再現は、それぞれ、異なるデータレート、異なるビデオ品質のレベル、異なるロバスト性(robustness)のうち少なくとも一つを含むことを特徴とする請求項１に記載のコンテンツ受信方法。
【請求項４】
前記セグメントバッファで所望の品質レベルのＤＡＳＨセグメントが発見されない場合、次の低いレベルの品質を有するＤＡＳＨセグメントを前記セグメントバッファで発見するステップをさらに含むことを特徴とする請求項１に記載のコンテンツ受信方法。
【請求項５】
クライアントデバイスであって、
マルチメディア多重化転送プロトコル(multimedia multiplexing transport protocol:ＭＭＴＰ)パケットを受信する受信器と、
前記ＭＭＴＰパケットを動的適応型ハイパーテキスト転送プロトコル（ＨＴＴＰ）ストリーミング（ＤＡＳＨ）セグメントで再構成するプロセッサと、
前記ＤＡＳＨセグメント及び前記ＤＡＳＨセグメントの関連するＵＲＬ（uniform resource locator）を格納するセグメントバッファと、を含み、
前記関連するＵＲＬに含まれるＵＲＬは、前記セグメントバッファでＤＡＳＨセグメントを探索するためのインデックスとして用いられ、
前記関連するＵＲＬは、メディアプロセシングユニット(media processing unit:ＭＰＵ)モードが用いられる場合、mmpuボックス(box)から発見されることを特徴とするクライアントデバイス。
【請求項６】
前記関連するＵＲＬは、包括的ファイル配信（ＧＦＤ;generic file delivery）モードが用いられる場合、包括的ファイル配信テーブル(ＧＦＤＴ)から発見されることを特徴とする請求項５に記載のクライアントデバイス。
【請求項７】
前記セグメントバッファは、一つ以上の再現(representation)を含み、前記一つ以上の再現は、それぞれ、異なるデータレート、異なるビデオ品質のレベル、異なるロバスト性(robustness)のうち少なくとも一つを含むことを特徴とする請求項５に記載のクライアントデバイス。
【請求項８】
前記プロセッサは、前記セグメントバッファで所望の品質レベルのＤＡＳＨセグメントが発見されない場合、次の低いレベルの品質を有するＤＡＳＨセグメントを前記セグメントバッファで発見するステップをさらに含むことを特徴とする請求項５に記載のクライアントデバイス。
【請求項９】
請求項１乃至請求項４のうちのいずれか一項に記載の方法をコンピュータで実行させるための命令語を含む非一時的なコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、コンテンツの獲得に関し、より詳しくは、放送ネットワークにおいて、ＨＴＴＰを用いることなく、動的適応型ハイパーテキスト転送プロトコル（ＨＴＴＰ）ストリーミング（ＤＡＳＨ）を用いるビデオコンテンツの配信に関する。
【背景技術】
【０００２】
転送制御プロトコル（ＴＣＰ）は、オーディオ及びビデオコンテンツのような、リアルタイム媒体の配信に不適合であると看做されてきた。これは、主にＴＣＰが実行する積極的輻輳制御アルゴリズム及び再送手順に因る。ＴＣＰにおいて、送信元は、通常的にパケットロス又は過度の転送遅延を通して認識された、輻輳イベントの検出により、大きく転送レートを減らす（例え、５０％程度）。
【０００３】
ハイパーテキスト転送プロトコル（ＨＴＴＰ）は、インターネットを通じたマルチメディアコンテンツの配信のための好ましいプロトコルである。ＨＴＴＰは、ＴＣＰの最上位で実行されるテキスト（textual）プロトコルである。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
動的適応型ＨＴＴＰストリーミング（DynamicadaptiveHTTPstreaming、ＤＡＳＨ）は、３ＧＰＰ（3rdgenerationpartnershipproject）及びＭＰＥＧ（motionpicturesexpertgroup）により標準化されている。適応型ＨＴＴＰストリーミングのために、アップルのＨＴＴＰライブストリーミング（ＨＬＳ）及びマイクロソフトのスムーズ（Smooth）ストリーミングのような、いくつかの他のプロプラエタリなソリューションが商業的に展開されている。しかしながら、それらとは違って、ＤＡＳＨは、異なる具体例の中でインターオペラビリティを推進する完全開放型の標準化されたメディアストリーミングソリューションである。
【課題を解決するための手段】
【０００５】
一実施形態において、クライアント装置によるコンテンツ配信のための方法が提供される。一実施形態は、ＭＰＤ（mediapresentationdescription）ファイル及び一つ以上のＤＡＳＨ（動的適応型ＨＴＴＰストリーミング）セグメントを受信するステップを含む。一実施形態において、前記一つ以上のＤＡＳＨセグメントは、ＭＰＤファイル内の情報を用いてフィルタされる。フィルタされた前記一つ以上のＤＡＳＨセグメントは、セグメントバッファに格納される。一実施形態において、前記情報に基づいて、前記セグメントバッファから一つ以上の特定のＤＡＳＨセグメントが要請される。
【０００６】
一実施形態は、コンテンツ配信のためのクライアント装置を提供する。前記 クライアント装置は、セグメントバッファと、ＭＰＤファイル及び一つ以上のＤＡＳＨセグメントを受信するＤＡＳＨ処理構成要素とを含む。前記ＤＡＳＨ処理構成要素は、さらに前記ＭＰＤファイルからの情報を用いて、前記一つ以上のＤＡＳＨセグメントをフィルタし、該フィルタされた一つ以上のＤＡＳＨセグメントを、前記セグメントバッファに格納し、コンテンツを提示するために、前記情報に基づいて、前記セグメントバッファから一つ以上の特定のＤＡＳＨセグメントを要請する。
【０００７】
別の実施形態は、コンピュータで実行されるとき、コンテンツ配信方法を行う命令語を備える非一時的コンピュータ読み取り可能な媒体を提供する。一実施形態において、前記方法は、クライアント装置によりＭＰＤファイルと、一つ以上のＤＡＳＨセグメントとを受信するステップを含む。一実施形態において、前記ＭＰＤファイル内の情報が、前記一つ以上のＤＡＳＨセグメントをフィルタするのに用いられる。一実施形態において、前記フィルタされた一つ以上のＤＡＳＨセグメントは、セグメントバッファに格納される。一実施形態において、前記情報に基づいて、前記クライアント装置により前記セグメントバッファから一つ以上の特定のＤＡＳＨセグメントが要請される。
【０００８】
前記様々な実施形態のこれらと他の態様及び利点は、図面と共に取られるとき、実施形態の原則を例として例示する、以下の詳細な説明から明らかとなる。  
【０００９】
好適な使用モードのみならず、様々な実施形態の特性及び利点のより完全な理解のために、添付の図面とともに把握される以下の詳細な説明を参照すべきである。
【図面の簡単な説明】
【００１０】
【図１】一実施形態による例示的クライアント装置を示す。
【図２】一実施形態によるマルチメディアコンテンツをストリーミングするための例示的ネットワークシステムを示す。
【図３】ＨＴＴＰキャッシュを有するクライアントを示しているマルチメディア多重化転送プロトコル（ＭＭＴＰ）を通じて、ＤＡＳＨセグメントを受信するＤＡＳＨシステムを例示する。
【図４】ＭＰＤ（media presentation description）ファイルの例示的構造を示す。
【図５】断片化されたＩＳＯ（International Standards Organization）基盤のファイルフォーマット（ＩＳＢＯＦＦ）メディアファイルの例示的構造を示す。
【図６】一実施形態により、（ブロードキャスト）ＤＡＳＨセグメントバッファを用いるＨＴＴＰキャッシュのないクライアント装置を示しているＤＡＳＨシステムを例示する。
【図７】一実施形態により、各々のＵＲＬ（uniform resource locator）を含む一つ以上のＤＡＳＨセグメントを有する例示的（ブロードキャスト）ＤＡＳＨセグメントバッファを示す。
【図８】一実施形態により、図６に示されたクライアント装置の例示的アーキテクチャを示す。
【図９ａ】一実施形態により、ＵＲＬ情報の抽出と、抽出された情報を（ブロードキャスト）セグメントバッファ内に一セグメントと共に格納するフローチャートである。
【図９ｂ】一実施形態により、ＵＲＬ情報に基づいたＤＡＳＨセグメント処理を示しているフローチャートである。
【図１０】一実施形態による通信システムの概略図を示す。
【図１１】一実施形態により、（ブロードキャスト）ＤＡＳＨセグメントバッファを用いるＨＴＴＰキャッシュのないＤＡＳＨクライアント装置を示す。
【図１２】一実施形態により、ＭＭＴＰを通じて、ＤＡＳＨセグメントを受信するブロードキャストＤＡＳＨバッファを含むクライアントプロセスのフローチャートを示す。
【発明を実施するための形態】
【００１１】
以下の説明は、様々な実施形態の一般的原理を例示する目的でなされたものであって、本明細書において主張する発明の概念を制限するものではない。また、本明細書に記載の特定の構成は、種々の可能な組み合わせ及び置換の各々において、他の記載された構成と組み合わせて使用できる。本明細書において、特に定められない限り、全ての用語は、明細書に内包された意味だけではなく、当業者が理解する意味及び／又は辞典、条約などに定められた意味を含む、可能な最も広い解釈を与えることになっている。
【００１２】
一つ以上の実施形態は、一般に、放送ネットワークにおいて、ＨＴＴＰの代わりに、ＭＭＴＰを通じて配信されるコンテンツセグメントを有するＤＡＳＨ（dynamic adaptive streaming over hypertext transport protocol）を用いたビデオコンテンツの配信に関する。一実施形態における方法は、クライアント装置により、ＭＰＤ（media presentation description）ファイル及び一つ以上のＤＡＳＨセグメントを受信するステップを含む。一実施形態において、前記ＭＰＤファイル内の情報が、前記一つ以上のＤＡＳＨセグメントをフィルタするのに用いられる。フィルタされた前記ＤＡＳＨセグメントは、セグメントバッファに格納される。一実施形態において、前記情報に基づき、前記クライアント装置により前記セグメントバッファから特定のＤＡＳＨセグメントが要請される。
【００１３】
一実施形態は、ＨＴＴＰを用いることなく、ＤＡＳＨを用いたコンテンツ配信のためのクライアント装置を提供する。前記クライアント装置は、セグメントバッファと、ＭＰＤファイル及び一つ以上のＤＡＳＨセグメントを受信するＤＡＳＨ処理構成要素とを含む。前記ＤＡＳＨ処理構成要素は、さらに前記ＭＰＤファイルからの情報を用いて、前記一つ以上のＤＡＳＨセグメントをフィルタし、フィルタされた前記一つ以上のＤＡＳＨセグメントを、前記セグメントバッファに格納し、コンテンツを提示するために、前記情報に基づいて、前記セグメントバッファから一つ以上の特定のＤＡＳＨセグメントを要請する。
【００１４】
一つ以上の実施形態は、ＨＴＴＰなしでブロードキャストのためにＤＡＳＨを用いる。一実施形態において、前記クライアント装置は、ＨＴＴＰクライアント装置ではなく、ブロードキャストシステムは、ＨＴＴＰサーバを用いない。一実施形態において、ブロードキャストサーバは、ＭＰＤファイルＭＰＤ及びＤＡＳＨセグメントを、ブロードキャストクライアントに配信する。ブロードキャストクライアントは、ＤＡＳＨセグメントをブロードキャストＤＡＳＨバッファに配信する。一実施形態において、ＭＰＤファイルは、（例えば、ＵＲＬ（uniform resource locator）に基づいて）ＤＡＳＨセグメントをフィルタするのに用いられる。一実施形態において、ブロードキャストＤＡＳＨバッファは、ＤＡＳＨセグメントを関連ＵＲＬと共に格納する。ブロードキャストＤＡＳＨクライアント装置は、ブロードキャストＤＡＳＨバッファ内で、ＵＲＬに基づくセグメントを見つける。一実施形態において、所望の品質レベルのＤＡＳＨセグメントが見付けられなければ、ＤＡＳＨ仕様に従って、当該ＵＲＬを修正することによって、次のより低い品質レベルのＤＡＳＨセグメントを見つけてもよい（可能な場合）。
【００１５】
ＤＡＳＨとは、サーバ制御型の適応的ストリーミングをクライアント制御型の適応的ストリーミングに変換する、適応的ストリーミングの典型的なスキームのことを言う。サーバ制御型の適応的ストリーミングにおいて、サーバ装置は、全ての連結されたクライアント装置への自分の連結に関する情報を有し、各々のクライアントが、各々のネットワーク状況に最適なコンテンツを転送するために必要とするものを生成する。しかしながら、サーバ装置は、クライアント装置の数が増えるにつれて、過剰な負荷がかかり得る。ＤＡＳＨにおいて、サーバ装置は、いくつかの可能な場合のために、前もってメディアセグメント及びメタデータを生成し、クライアント装置は、状況に応じて、コンテンツを要請及び再生する。これは、サーバ装置にかけられる負荷を減らしつつ、ネットワークの状況に応じて、最適コンテンツをダウンロードして、再生することを可能にする。
【００１６】
コンテンツの例としては、オーディオ情報、ビデオ情報、オーディオ−ビデオ情報、及びデータが含まれることができる。コンテンツアイテムには、オーディオ情報、ビデオ情報、及び字幕情報のような多くの構成要素が含まれてもよい。例えば、一構成要素は、特定の言語で構成される字幕ストリーム又は特定のカメラアングルで得られるビデオストリームであってもよい。その構成要素は、自分のコンテナに応じて、トラック、基本ストリーム（ＥＳ）などを含むことができる。コンテンツリソースとは、 コンテンツアイテムに対して適応的ストリーミングを可能とするために、複数の表現で提供されるコンテンツアイテム（様々な品質、ビットレート及びアングル）をいう。サービスディスカバリプロセスは、コンテンツリソースと呼ばれてもよい。コンテンツリソースは、コンテンツリソースの時間的部分を含む一つ以上の連続的な期間を含んでもよい。
【００１７】
再現(representations)とは、期間内のコンテンツリソースの（全部又は一部の構成要素についての）バージョンのことを言う。再現は、構成要素のサブセット又は構成要素のエンコーディングパラメータ（ビットレートのような）において異なる場合がある。再現は、メディアデータと呼ばれるが、それに制限することなく、一つ以上の構成要素を含むデータを示しているいずれの用語と呼ばれてもよい。セグメント又はＤＡＳＨセグメントは、特定のシステムレイヤタイプ（転送ストリーム（ＴＳ）又はＭＰＥＧ（Moving Picture Experts Group）−４（ＭＰ４）パート１４のような）において固有のＵＲＬと命名される再現の時間部分をいう。
【００１８】
図１は、一実施形態による例示的クライアント装置１００を示す。一実施形態において、クライアント装置１００は、ネットワークを通じてストリームされるマルチメディアコンテンツに関するアンカー（anchored）位置情報を生成及び／又は受信するための装置であってもよい。一実施形態において、クライアント装置１００は、コンテンツを受信するためのいずれの適当な固定型、移動型、又は携帯型の装置を示す。一実施形態において、クライアント装置１００は、テレビジョンデバイス、スマートテレビジョンデバイス、モバイルテレビジョンデバイス、無線通信リンクのような通信リンクを通じてデータ通信が可能な装置、モバイルコンピューティングデバイス、電子コンピューティングタブレットデバイスなどを含んでもよい。一実施形態において、モバイルデバイスは、携帯電話又はスマートフォンデバイス、モバイルタブレットデバイス、ウェアラブルデバイス、モバイルコンピューティングデバイス、メディアプレーヤー、オーディオプレーヤー（ＭＰ３プレーヤー又はラジオのような）、又はストリームされたコンテンツの受信に適合した他のデバイスなどを含む。
【００１９】
一実施形態において、クライアント装置１００は、プロセッサ１０５、通信部１１０、一つ以上のスピーカー１１５、バスシステム１２０、入出力（Ｉ／Ｏ)ユニット１２５、ディスプレイ１３０、及びメモリ１３５を含む。クライアント装置１００は、また一つ以上のマイクロホン１４０を含んでもよい。一実施形態において、通信部１１０は、無線通信部１４５を含んでもよい。メモリ１３５は、オぺレーティングシステム（ＯＳ）プログラム１５０及び少なくとも一つのマルチメディアプログラム１５５を含む。一実施形態において、クライアント装置は、光センサ、温度センサ、位置確認センサ（例えば、ＧＰＳ（global positioning system））、一つ以上のカメラなどのような、一つ以上のセンサを含んでもよい。
【００２０】
一実施形態において、通信部１１０は、ネットワークを通じて他のシステム又は装置との通信を提供する。例えば、通信部１１０は、ネットワークインターフェースカード又は無線トランシーバーを含んでもよい。通信部１１０は、ネットワークに有線、光、無線、又は他の通信リンクを通じて通信を提供することができる。
【００２１】
一つ以上の実施形態において、クライアント装置１００は、無線ネットワークを通じて情報を受信可能である。例えば、通信部１１０は、無線通信部１４５を含んでもよい。無線通信部１４５は、アンテナ、無線周波（ＲＦ）トランシーバー、及び処理回路を含んでもよい。ＲＦトランシーバーは、アンテナを介して、基地局、 eNodeB、又は無線ネットワークのアクセスポイントにより転送された入力ＲＦシグナルを受信することができる。ＲＦトランシーバーは、入力ＲＦシグナルをダウンコンバートして、中間周波数（ＩＦ）又はベースバンドシグナルを発生する。ＩＦ又はベースバンドシグナルは、受信器（ＲＸ）処理回路４２５に送られ、ＲＸ処理回路４２５は、フィルタリング、デジタル化、復調及び／又はデコーディング動作によって、処理されたベースバンドシグナルを発生する。ＲＸ処理回路は、処理されたベースバンドシグナルを（複数の）スピーカー１１５（オーディオデータなどの場合）或いは追加処理のために、プロセッサ１０５（ビデオデータ及びオーディオデータの処理などの場合）に転送する。
【００２２】
無線通信部１４５は、さらにマイクロホン１４０からアナログ又はデジタル音声データを、又はプロセッサ１０５から他の発信（outgoing）ベースバンドデータ（ウェブデータ、ｅメール又は生成された位置情報）を受信する送信器（ＴＸ）処理回路を含んでもよい。送信器処理回路は、発信ベースバンドデータを、エンコーディング、変調、多重化及び／又はデジタル化して、処理されたベースバンド又はＩＦシグナルを生成する。ＲＦトランシーバーは、送信器処理回路から発信ベースバンド又は中間周波数（ＩＦ）シグナルを受信して、そのベースバンド又はＩＦシグナルを、アンテナを介して転送するＲＦシグナルにアップコンバートすることができる。
【００２３】
プロセッサ１０５は、メモリ１３５の内にロードされる命令語を処理する。プロセッサ１０５は、特定の実施に応じて、多数のプロセッサ、マルチプロセッサコア、又は他のタイプの（複数の）処理装置を含んでもよい。いくつかの実施形態において、プロセッサ１０５は、ディスプレイ１３０により表示するグラフィック及び／又はビデオデータを、処理及びレンダリングする一つ以上のグラフィックプロセッサであってもよく、又はそれらを含んでもよい。一つ以上の実施形態において、プロセッサ１０５は、マイクロプロセッサ又はマイクロコントローラを含んでもよい。一実施形態において、メモリ１３５は、プロセッサ１０５に接続される。メモリ１３５の一部は、ランダムアクセスメモリ（ＲＡＭ）を含んでもよく、メモリ１３５の他の一部は、フラッシュメモリ、光ディスク、書換可能磁気テープ、又は他のタイプの永続記憶装置のような非揮発性メモリを含んでもよい。
【００２４】
一実施形態において、プロセッサ１０５は、クライアント装置１００の全般的な動作を制御するために、メモリ１３５に格納されたＯＳプログラム１５０を実行する。一つ以上の実施形態において、プロセッサ１０５は、無線通信部１４５による順方向チャンネルシグナルの受信及び逆方向チャンネルシグナルの転送を制御する。
【００２５】
一実施形態において、プロセッサ１０５は、マルチメディアプログラム１５５のように、メモリ１３５に常駐する他のプロセス及びプログラムを実行できる。プロセッサ１０５は、実行プロセスにより求められる通り、メモリ１３５の内に又は外にデータを動かすことができる。プロセッサ１０５は、またＩ／Ｏインターフェース１２５に接続される。Ｉ／Ｏインターフェース１２５は、クライアント装置１００に接続可能な他の装置を用いたデータの入出力を提供する。例えば、Ｉ／Ｏユニット１２５は、キーボード、マウス、音声制御、遠隔制御、又は他の適当な入力装置を通じて、ユーザ入力のための接続を提供することができる。Ｉ／Ｏユニット１２５は、また、ディスプレイ、プリンター、又は他の適当な出力装置に出力を送信できる。
【００２６】
ディスプレイ１３０は、ユーザに情報を視覚的に提供するためのメカニズムを提供する。一実施形態において、ディスプレイ１３０は、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）、有機ＬＥＤ（ＯＬＥＤ）又はテキスト及び／又はグラフィックをレンダリング可能な他のディスプレイであってもよい。ディスプレイ１３０は、またユーザに情報を示す一つ以上の表示灯であってもよい。一つ以上の実施形態において、ディスプレイ１３０は、クライアント装置１００によりユーザ入力が受信され、解析できるようにするタッチスクリーンである。マルチメディアプログラム１５５は、メモリ１３５に格納され、プロセッサ１０５により実行可能となる。
【００２７】
図２は、一実施形態によるマルチメディアコンテンツをストリーミングするための例示的ネットワークシステム２００を示す。一実施形態において、システム２００は、多様なコンピュータとその他の装置との間に通信リンクを提供するネットワーク２０５を含む。ネットワーク２０５は、有線、無線、又は光ファイバーリンクなどのいずれの適切な接続を含んでもよい。一つ以上の実施形態において、ネットワーク２０５は、インターネットの少なくとも一部を示し、互いに通信するために、プロトコルのＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）スイートを用いる世界的ネットワークとゲートウェイの集まりを含むことができる。しかしながら、他の公共及び／又は私設ネットワークを、このシステム２００に用いることができる。一実施形態において、システム２００は、イントラネット、ＬＡＮ（local area network）、広域ネットワーク（ＷＡＮ）、クラウドコンピューティングネットワークなどのような多数の異なるタイプのネットワークを用いて実現され得る。
【００２８】
サーバコンピュータ２１０〜２１５と、クライアント装置２２０〜２３５が、ネットワーク２０５に接続される。クライアント装置２２０〜２３５の各々は、例えば、図１のクライアント装置１００であってもよい。クライアント装置２２０〜２３５は、この例において、サーバコンピュータ２１０〜２１５へのクライアントである。一実施形態において、システム２００は、追加的サーバコンピュータ、クライアント装置、又は他の装置を含んでもよい。一実施形態において、サーバ２１０は、マルチメディアストリーミングサーバを示し、一方、サーバ２１５は、広告のようなコンテンツを再生できるコンテンツサーバを示す。
【００２９】
一つ以上の実施形態において、ネットワーク２０５は、無線サービスエリア内のクライアント装置２２０〜２３５及びネットワーク２０５への無線広帯域アクセスを提供する基地局、eNodeB、アクセスポイント、又は他の構成要素の無線ネットワークを含む。一つ以上の実施形態において、ネットワーク２０５内の基地局又はeNodeBが、直交周波数分割多重化（ＯＦＤＭ）又はＯＦＤＭアクセス（ＯＦＤＭＡ）技法を用いて、互いに、及びクライアント装置２２０〜２３５と通信することができる。
【００３０】
一実施形態において、クライアント装置２２０〜２３５は、マルチメディアストリーミングサーバ２１０からストリームされたマルチメディアコンテンツを受信する。一つ以上の実施形態において、クライアント装置２２０〜２３５は、ＭＭＴＰを通じて配信されるＤＡＳＨセグメントを用いて、マルチメディアコンテンツを受信する。他の実施形態において、クライアント装置２２０〜２３５は、リアルタイムストリーミングプロトコル（ＲＴＳＰ）、リアルタイム転送プロトコル（ＲＴＰ）、ＨＴＴＰ適応型ストリーミング（ＨＡＳ）プロトコル、ＨＴＴＰライブストリーミング（ＨＬＳ）プロトコル、スムーズ（smooth）ストリーミング、及び／又は、ネットワークを通じてコンテンツをストリーミングするための他の種類の標準を用いて、マルチメディアコンテンツを受信することができる。
【００３１】
図１のクライアント装置１００及び図２のネットワークシステム２００は、その多数の実施形態が実現できる方式に対する物理的であるか、構造上の制限を意味するものではないことを留意すべきである。各々の図面における様々な構成要素が組み合わされてもよく、さらに細分されてもよく、又は省略されても良く、特定のニーズに応じて、追加の構成要素が加えてもよい。また、クライアント装置及びネットワークは、様々な形態及び構成とすることができ、図１と図２は、実施形態の範囲をある特定の具体例に限定しない。
【００３２】
図３は、例示的ＤＡＳＨアーキテクチャ３００を示す。図３に示しているように、アーキテクチャ３００は、（例えば、放送ネットワークからの）ＭＭＴＰパケット３１０の受信と、ＤＡＳＨセグメント３２５を、ＨＴＴＰキャッシュ３３０に転送/送信するＤＡＳＨセグメント再構成エンティティ３１０と、ＤＡＳＨストリーミングクライアント３４０と、を含む。ＤＡＳＨクライアント３４０は、ＨＴＴＰリクエスト３３５を、ＨＴＴＰキャッシュ３３０に提供し、ＨＴＴＰ応答３３６を受信する。ＭＭＴＰを通じてＤＡＳＨセグメント３２５を受信したＤＡＳＨストリーミングクライアント３４０が、ＨＴＴＰ／１．１キャッシュ（例えば、ＨＴＴＰキャッシュ３３０）を有する場合、再構成されたＤＡＳＨセグメント３２５が、ＨＴＴＰキャッシュ３３０を通じて、ＤＡＳＨストリーミングクライアント３４０により消費される。完全なＤＡＳＨセグメント３２５が、ＤＡＳＨセグメント再構成エンティティ３１０により再構成されるとすぐに、完全なＤＡＳＨセグメントはＨＴＴＰキャッシュ３３０へ移動され、その後、ＤＡＳＨストリーミングクライアント３４０は、標準のＨＴＴＰ／１．１リクエスト３３５／応答３３６動作を通じて、ＤＡＳＨセグメント３２５を受信する。
【００３３】
例えば、放送チャンネルを通じてＤＡＳＨ表現をストリーミングするとき、ＨＴＴＰプロトコルはもはや使用できない。ＭＭＴＰは、ＤＡＳＨ表現の配信をサポートするための必須のツールを提供する。ＤＡＳＨ表現は、ＭＰＤである表現情報と、データセグメント（初期化及びメディアセグメント）から構成される。ＭＰＤは、当該表現の表現情報のコア部をなす。ＭＰＤには、それ自体の多目的インターネットメール拡張子（ＭＩＭＥ）タイプ：「application/dash+xml」が割り当てられる。「application/dash+xml」は、当該表現のタイプを識別するために用いられる。ＭＰＤは、メッセージパッシングインターフェース（ＭＰＩ）テーブルの内に埋め込まれ、ＭＰＩメッセージを用いて配信される。メッセージのフォーマットは、バイナリ又はＸＭＬであり得る。ＸＭＬフォーマットの場合、ＭＰＤは、<![CDATA[ ]]>（例えば、パーサーが、マークアップデータではなく、文字データのみと解釈するようにマークされる）カプセル化を用いて埋め込まれる。ＭＰＤアップデートは、同一のメカニズムを用いて配信される。このアップデータは、当該特定のパッケージのシグナリングメッセージ内のテーブル識別子をチェックすることにより見付けられる。次に、ＭＰＤは、当該表現を駆動するクライアント（ＤＡＳＨクライアント）により使われる。ＭＰＤによりアドレスされる全てのセグメントは、受信器側で容易に利用できるべきこと、即ち、それらのセグメント利用可能開始時間まで、配信及び再生される必要がある。これは、適切に配信スケジュール及びＨＲＢＭ（hypothetical receiver buffer model）パラメータを設定することにより保証され得る。
【００３４】
図４は、一実施形態により実現されるＭＰＤファイル４００の例示的構造を示す。ＭＰＤファイル４００は、メディアプレゼンテーション４０２、期間４０４、適応セット４０６、再現（representation）４０８、初期セグメント４１０、及びメディアセグメント４１２ａ〜４１２ｂを含む。一つ以上の実施形態において、ＭＰＤファイル４００は、ネットワークシステム２００内で実現されてもよい。
【００３５】
図３及び図４を参照すると、ＤＡＳＨプロトコルにおいて、コンテンツが複数のセグメントに分割されるコンテンツの用意ステップが行われ得る。メディアプレーヤーを設定するのに使われる情報を運ぶために初期化セグメントが生成されることができる。その情報は、メディアセグメントが、クライアント装置（例えば、ＤＡＳＨクライアント３４０）により消費されるようにする。コンテンツは、多くのビットレートのような多くの変形でエンコードされることができる。各々の変形（variant）は、コンテンツの再現４０８に対応する。再現４０８は、互いに択一的なものであるか、互いを補完することができる。前者の場合、クライアント装置は、選択的な再現４０８のグループからいずれの代案のみを選ぶ。複数の代案の再現４０８が、適応セット４０６として、グループ化される。メディアプレゼンテーションは、開始から終了までビデオを分解する一つ以上の連続的な期間４０４でビデオシーケンスを定める。各々の期間４０４は、オーディオ/ビデオエクスペリエンス（experience）を備えるコンテンツを含む多数の適応セット４０６を含む。このコンテンツは、多重化できる。例えば、コンテンツは、ＩＳＯ（International Standards Organization）基盤のメディアファイルフォーマット（ＩＳＯＢＭＦＦ）メディアファイル（ＭＰＵ）レベルのビデオ及びオーディオコンテンツ（例えば、異種の環境における情報技術−高効率のコーディング及びメディア配信参照−パート１：ＭＰＥＧメディア転送（ＭＭＴ）、ＩＳＯ／ＩＥＣＪＴＣ１／ＳＣ２９、２０１３、２０１３年４月２６日、パート１１：ＭＰＥＧ作成情報、ＩＳＯ／ＩＥＣＪＴＣ１／ＳＣ２９Ｎ１４３６１、２０１４年４月４日）を含むが、ＩＳＯＢＭＦＦコンテナの内部にはない。各々のコンテンツ構成要素は、ＩＳＯＢＭＦＦコンテナのシーケンスとして実現される。一例として、一つの適応セット４０６、又はＭＰＵの基本ストリームに示したコンテンツがあり得る。
【００３６】
適応セット４０６は、オーディオについての多国語サポートのような特性を実行することができる。各々の適応セット４０６は、それぞれ適応的ストリーミングエクスペリエンス（experience）の単一ストリームである多くの再現４０８を含む。一例において、第１再現４０８は、６４０ｘ４８０＠５００Ｋｂｐｓを提供することができ、第２再現４０８は、６４０ｘ４８０＠２５０Ｋｂｐｓを提供することができる。各々の再現４０８は、実質的に全てのＨＴＴＰ基盤の適応的ストリーミング技術が用いるデータの塊である、メディアセグメントに分割される。データ塊は、ＨＴＴＰライブストリーミング（ＨＬＳ）又は単一のメディアファイル内のバイト範囲内のような個々のファイルに提供されることができる。単一のオーディオ/ビデオイベントに対して、数十万個のファイルを生成できるチャンク（chunked）技術と比べると、単一のファイル内の表現は、ファイル管理及びキャッシング効率性の改善を助ける。
【００３７】
クライアント装置は、追加のメディア構成要素を含む補完的な再現４０８を加え続けることができる。ＤＡＳＨストリーミングのために提供されるコンテンツが、クライアント装置に記述されることができる。これは、ＭＰＤファイル４００を用いて行われ得る。ＭＰＤファイル４００は、コンテンツについての記載、コンテンツの期間４０４、適応セット４０６、コンテンツの再現４０８、及び各々のコンテンツをアクセスする方法を含む拡張可能なマークアップ言語（ＸＭＬ）ファイルである。ＭＰＤエレメントは、ＭＰＤファイル４００内のメインエレメントであるが、これは、コンテンツが利用可能である間のタイムウィンドウ及びその類型のようなコンテンツについての一般情報を含むからである。
【００３８】
一つ以上の期間４０４の各々は、コンテンツのタイムセグメントを記述する。各々の期間４０４は、一つ以上の適応セット４０６の内にグループ化されたコンテンツの一つ以上の再現４０８を含むことができる。各々の再現４０８は、特定の設定で一つ以上のコンテンツ構成要素のエンコーディングである。再現４０８は、主にそれらの帯域幅の要件、それらが含むメディア構成要素、使用中のコーデック、言語などにおいて異なる。ＭＰＤファイル４００は、多様なコンテンツ構成要素及び全ての代替ストリームの位置を識別する。これは、ＤＡＳＨプレーヤー（例えば、図１のクライアント装置１００、図２のクライアント装置２２０、２３０、２２５、２３５）が、初期セグメントの識別及び再生の開始を可能とし、必要に応じて、可変ＣＰＵ及びバッファ状態に適応するために、再現４０８間のスイッチを可能とし、ユーザの入力に応答するために、適応セット４０６を変更できるようにする。
【００３９】
楽器デジタルインターフェース（ＭＩＤＩ）処理ユニット（ＭＰＵ）モードを用いて、ＤＡＳＨコンテンツを配信するとき、各々の再現４０８は、ＭＰＵと看做される。再現４０８の全てのセグメントの連結が、ＭＭＴＰターム内のＭＰＵに相当する、断片化されたＩＳＯＢＭＦＦ互換ファイルを生成することに注意することは重要である。再現４０８の初期化セグメントは、ＭＰＵメタデータであり、クライアント装置／受信器によりリカバリーされることを保証するために、配信中に適切にマークされる。ＭＰＵメタデータは、クライアント装置がセッションに合流する時間と関係なく、全てのクライアント装置が、究極的にそれをリカバリーすることができるように保証するために、繰り返して配信すべきである。ＭＰＵモードは、フォーマットテーブル（ＦＴ）フィールドを、ＭＰＵメタデータに設定することにより、これらの重要なパケットをマークする手段を提供する。同様に、フラグメントメタデータは、全てのフラグメントに重要であり、さらにリカバリー可能性を高めるために、反復的に配信されなければならない。
【００４０】
再現４０８の全てのセグメントは、次に、同一のpacket_id及びＭＰＵシーケンスナンバーを用いて、それらをマークすることにより、同一のＭＰＵに属することでマークされる。再現４０８とpacket_id及びＭＰＵシーケンスナンバーとの間のマッピングが、メディア表現（ＭＰ）テーブル内に提供される識別子マッピング（Identifier_mapping）シンタックスエレメントにより提供される。Identifier_mappingの一つの用途は、ＭＰＤに提供された通りに、representation_idを提供することである。他のアプローチ、例えば、当該再現の全てのセグメントに対して、ＵＲＬテンプレートの使用が、その代わりに利用できる。
【００４１】
送信器側において、データは、映画フラグメント単位で配信される。受信器側（例えば、クライアント装置)において、各々のメディアセグメントは、適時適切にリカバリーされる必要がある。そうすると、受信器が、セグメント境界及びセグメント情報を識別できる必要がある。例えば、あるセグメントは、現在の及び次のセグメントからセグメントインデックスボックス（「sidx」）の存在を利用して、自分の境界を識別することによりリカバリーされる。あるセグメントは、映画フラグメント内の最初サンプルのタイムスタンプ（例えば、「tfdt」ボックス又は「sidx」ボックスから抽出される）をチェックし、同一の開始時間を有するメディアセグメントを識別するために、ＭＰＤを用いることによりリカバリーされる。又は、セグメント境界は、当該再現４０８についてのメディアセグメントのデュレーションにより、フラグメントの開始時間を分割することによって、セグメントデュレーションから決めることができる。
【００４２】
図５は、一つ以上の実施形態により実現される断片化されたＩＳＯ（International Standards Organization）基盤のメディアファイルフォーマット（ＩＳＯＢＭＦＦ）メディアファイル５００の例示的構造を示す。一つ以上の実施形態において、ＩＳＢＯＭＦＦメディアファイル５００は、ネットワークシステム２００（図２）内で実現できる。ＤＡＳＨの一つの展開シナリオにおいて、ＩＳＯＢＭＦＦフォーマット及びその派生フォーマット（ＭＰ４及び３ＧＰファイルフォーマットのような）が用いられる。コンテンツは、映画フラグメントに格納される。各々の映画フラグメントは、メディアデータ及び対応するメタデータを含む。メディアデータは、再現４０８（図４）の全てのメディア構成要素からのメディアサンプルの集合を含むことができる。各々のメディア構成要素は、ファイルのトラックとして記述される。
【００４３】
ＤＡＳＨにおいて、クライアント装置は、完全にメディアセッションを担当し、特定の時間にどの再現４０８（図４）を消費するかを決定することにより、レート適応を制御する。従って、ＤＡＳＨは、クライアント主導のメディアストリーミングソリューションである。
【００４４】
ＤＡＳＨにおいて包括的ファイル配信（ＧＦＤ）モードを用いる際、ＤＡＳＨ再現４０８（図４）の各々のセグメントが、レギュラファイルとして配信される。これらのセグメント間の連結は、packet_idを用いて設定することができる。ファイル（転送客体）とセグメント情報との間の連結は、ＭＰテーブル内のidentifier_mapping情報を用いて設定される。この場合、最適なマッピングは、ＵＲＬテンプレートであっても、又はＵＲＬリストであってもよい。このようなマッピングに基づいて、セグメントナンバー及びセグメントＵＲＬを決定できる。
【００４５】
図６は、一実施形態により、（ブロードキャスト）ＤＡＳＨセグメントバッファ６１０を用いるＨＴＴＰキャッシュのないＤＡＳＨクライアント装置６０５を示しているＤＡＳＨシステム６００を例示する。ＤＡＳＨサービスの配信のために、ＭＭＴＰを用いるＤＡＳＨ使用アプリケ−ションについては、ＭＰＤを、application/dash+xmlと設定されたＭＩＭＥタイプを有するMPI_table（）として受信できる。ＭＭＴＰは、いずれのタイプの包括的ファイルの配信のためのＧＦＤモードを提供する。任意のＤＡＳＨセグメントを、ＭＭＴＰのＧＦＤモードを用いる包括的ファイルとして（例えば、一方（one-way）放送ネットワークを通じて）配信できる。一実施形態において、ＭＭＴＰパケット３１０は、ＤＡＳＨセグメント再構成エンティティ３２０（図３）により、ＤＡＳＨセグメント３２５として再構成される。ＭＭＴＰのＭＰＵモードは、ＭＰＵを配信するために用いられる。したがって、ＭＰＵモードは、それが互換ブランドとして「mpuf」を有するときにも、ＤＡＳＨセグメント３２５を配信するために使用できる。一実施形態において、ＭＭＴＰを通じて、ＤＡＳＨセグメント３２５を受信するＤＡＳＨクライアント装置６０５は、ＨＴＴＰ／１．１キャッシュを有しない。一実施形態において、再構成されたＤＡＳＨセグメント３２５は、ＤＡＳＨセグメントバッファ６１０を通じて、ＤＡＳＨクライアント６０５装置により消費される。完全なＤＡＳＨセグメント３２５が再構成されるとすぐに、それらは、ＤＡＳＨセグメントバッファ６１０へ移動されて、関連ＵＲＬと共にＤＡＳＨセグメント３２５を格納する。ＤＡＳＨクライアント処理６２０は、ＤＡＳＨセグメントバッファ６１０から、リクエストを行い、レスポンスを受信するよう進む。一実施形態において、ＤＡＳＨクライアント処理は、後述のアーキテクチャ８００（図８）の構成要素／エレメントを含む。
【００４６】
図７は、一実施形態により、それぞれが、関連セグメント７２０と共に、ＵＲＬ（uniform resource locator）７１０を含む、一つ以上のＤＡＳＨセグメント７０５を有する例示的（ブロードキャスト）ＤＡＳＨセグメントバッファ６１０を示す。ＤＡＳＨセグメント７０５の関連ＵＲＬ７１０は、ＧＦＤモードが用いられる場合は、ＧＦＤテーブルから見つけることができ、又はＭＰＵモードが用いられる場合は、mmpuボックスから見つけることができる。この場合、ＤＡＳＨクライアント装置６０５は、検索のためのインデックスとしてＵＲＬ７１０を用いて、ＤＡＳＨセグメントバッファ６１０を探して、適切なセグメント７２０を見付ける。ＤＡＳＨセグメントバッファ６１０内に配信される二つ以上の再現４０８（図４）があってもよく、各々の再現は、異なるデータレート、ビデオ品質及びロバスト性（robustness）のレベルを含む。一実施形態において、所望の品質レベルのセグメント７２０が見つからなければ、利用可能な場合は、次のより低い品質レベルのセグメント７２０を見つけることができる。
【００４７】
一実施形態において、ネットワーク輻輳を扱うために、異なるビットレートが提供される。例えば、セグメントバッファ６１０が満たされると、ビットレートは減らされる。一例として、ネットワーク輻輳は、直面する問題ではない場合があるが、シグナル強度及び障害は、問題となり得る。この場合、より頑健なシグナルが、より多くの順方向エラー訂正（ＦＥＣ）ビットとより少ないデータビットで選択され得る。一実施形態を用いる一例において、固定式ＴＶへの一つのサービスと、モバイルＴＶへのもう一つのサービスである、二つのサービスが同時に放送される。固定式ＴＶサービスは、追加ＦＥＣビットを転送して実現される、より高い頑健度のレベルを有するモバイルＴＶサービスより最も高いデータレートを有する。
【００４８】
図８は、一実施形態により、図６に示されたクライアント装置６０５のＤＡＳＨクライアント処理６２０のための例示的アーキテクチャ８００を示す。一実施形態において、アーキテクチャ８００は、ＤＡＳＨセグメントバッファ６１０を用いるＤＡＳＨクライアント処理６２０に用いられるエレメントの一部を示す。一実施形態において、アーキテクチャ８００は、ＭＭＴＰパケットフィルタ８０５、ＭＭＴＰシグナルメッセージパーサー８１０、ＦＥＣデコーディングバッファ８２０、デジッタバッファ８２５、ＭＭＴＰデカプセル化バッファ８３０、ＨＴＴＰエンジン８５０、ＭＰＥＧ−ＨＣＩパーサー８３５、（ＤＡＳＨ）ＭＰＤパーサー８４０、ＤＡＳＨセグメントバッファ６１０、メディアエンジン８６０及びプレゼンテーションエンジン８７０を含む。
【００４９】
一実施形態において、ＭＭＴＰパケットフィルタ８０５は、放送ネットワーク（例えば、一方向放送ネットワーク）からＭＭＴＰパケットを受信し、それらを適切な処理ブロックのＭＭＴＰシグナルメッセージパーサー８１０又はＦＥＣデコーディングバッファ８２０に配信する。一実施形態において、ＭＭＴＰパケットフィルタ８０５は、各々のＭＭＴＰパケットのpacket_idに応じて、以下のチェックを実施する。ＤＡＳＨクライアント装置６０５が、特定のサービスに調整されるとき、ＭＭＴＰパケットフィルタ８０５では、処理ブロック（図示せず）によりＭＭＴＰシグナリングメッセージのpacket_idが与えられるだけである。MPT_messageが、ＭＭＴＰシグナルメッセージパーサー８１０により処理された後、ＭＭＴＰパケットフィルタ８０５は、メディア構成要素のpacket_idを与えられ、メディア構成要素を用いてＭＭＴＰパケットをフィルタし始める。
【００５０】
一実施形態において、ＭＭＴＰシグナルメッセージパーサー８１０は、ＭＭＴＰパケットフィルタ８０５からＭＭＴＰパケットを受信し、そのパケットにて運ばれたＭＭＴＰシグナリングメッセージを解析する。ＭＭＴＰシグナリングメッセージから検索された情報は、適切な処理ブロックに配信される。一実施形態において、ＤＡＳＨクライアント装置６０５が、特定のサービスに調整されるとき、ＭＭＴＰシグナルメッセージパーサー８１０は、まず、MPT_messageを探し、それを処理してＭＭＴアセット（asset）及びそれらのpacket_idsのリストを得る。MPI_messageが受信されるたびに、ＭＭＴＰメッセージパーサー８１０は、MPI_table()のPI_content_type_byteフィールドを処理し、その後、MPI_table()のPI_content_byteとして運ばれたデータを、ＭＰＥＧ−ＨＣＩパーサー８３５、ＭＰＤパーサー８４０又はプレゼンテーションエンジン８７０に配信する。一実施形態において、PI_content_type_byteの値が、ＨＴＭＬ５であると、含まれたデータが、プレゼンテーションエンジン８７０に配信される。PI_content_type_byteの値が、ＭＰＥＧ-ＨＣＩであると、含まれたデータは、ＭＰＥＧ-ＨＣＩパーサー８３５に配信される。PI_content_type_byteの値が、ＤＡＳＨ  ＭＰＤであると、含まれたデータは、（ＤＡＳＨ）ＭＰＤパーサー８４０に配信される。
【００５１】
一実施形態において、AL_FECメッセージが受信されるたびに、そのメッセージ内の情報は、ＦＥＣデコーディングバッファ８２０に通知される。ＨＲＢＭメッセージが受信されるたびに、そのメッセージ内の情報は、デジッタバッファ８２５にシグナルされる。一実施形態において、ＭＰＥＧ-ＨＣＩパーサー８３５は、ＭＭＴＰシグナルメッセージパーサー８１０からＭＰＥＧ-ＨＣＩを受信し、それを処理する。ＭＰＵの第１アクセス部のプレゼンテーション時間は、そのようなＭＰＵを参照する「MediaSync」エレメントから知られ、プレゼンテーションエンジン８７０に配信される。ＤＡＳＨ  ＭＰＤにより記述される第１セグメントの第１アクセス部のプレゼンテーション時間もまた、関連ＤＡＳＨ  ＭＰＤファイルを参照する「MediaSync」エレメントから知られ、プレゼンテーションエンジン８７０に配信される。
【００５２】
一実施形態において、（ＤＡＳＨ）ＭＰＤパーサー８４０は、ＭＭＴＰシグナルメッセージパーサー８１０を通じて、ＤＡＳＨ  ＭＰＤを受信し、それを処理する。（ＤＡＳＨ）ＭＰＤパーサー８４０は、各々のＤＡＳＨセグメントの相対的プレゼンテーション時間をプレゼンテーションエンジン８７０に提供する。一実施形態において、ＦＥＣデコーディングバッファ８２０が、専用のpacket_idを有するＭＭＴＰパケットを受信し、直ぐにパケットをデジッタバッファ８２５にコピーする。ＭＭＴＰシグナルメッセージパーサー８１０によりシグナルされたAL_FECメッセージの保護ウィンドウ時間まで、受信されていないパケットが存在する場合、受信パケットに対してリカバリー動作が適用される。パケットがリカバリーされると、それらもまた、直ちにデジッタバッファ８２５にコピーされる。
【００５３】
一実施形態において、デジッタバッファ８２５は、ＦＥＣデコーディングバッファ８２０からＭＭＴＰパケットを受信する。デジッタバッファ８２５は、各々のＭＭＴＰパケットのtime_stampフィールドの内に特定された時間の後で、ＨＲＢＭメッセージにより提供されたfixed_end_to_end_delay（固定端対端遅延）が経過されるまで、そのようなパケットを格納し、それらをＭＭＴＰデカプセル化バッファ８３０にコピーする。一実施形態において、ＭＭＴＰデカプセル化バッファ８３０は、デジッタバッファ８２５から受信されたＭＭＴＰパケットを、パケット解除して、ＭＰＵを再構成する。再構成されたＭＰＵは、メディアエンジン８６０に配信される。
【００５４】
一実施形態において、ＨＴＴＰエンジン８５０は、広帯域ネットワークを通じて、ＭＰＤパーサー８４０から受信されたＵＲＬを用いてＧＥＴリクエストをし、応答としてＤＡＳＨセグメントを受信する。受信されたＤＡＳＨセグメントは、ＤＡＳＨセグメントバッファ６１０に配信される。
【００５５】
一実施形態において、ＤＡＳＨセグメントバッファ６１０は、ＨＴＴＰエンジン８５０から、ＤＡＳＨセグメントを受信し、前に配信されたＤＡＳＨセグメントの処理が終了されると直ぐに、受信したＤＡＳＨセグメントをメディアエンジン８６０に配信する。一実施形態において、メディアエンジン８６０は、ＭＰＵとＤＡＳＨセグメントとを受信し、それらを適切なデコーダでデコードする。メディアエンジン８６０は、デコードされた結果を、プレゼンテーションエンジン８７０に配信する。一実施形態において、プレゼンテーションエンジン８７０は、ＭＭＴＰシグナルメッセージパーサー８１０からＨＴＭＬ５文書を受信する。プレゼンテーションエンジン８７０は、ＨＴＭＬ５文書により特定された位置で、ＭＰＥＧ-Ｈ ＣＩパーサー８３５及びＭＰＤパーサー８４０により提供された時間に、メディアエンジン８６０からメディアデータをレンダリングする。
【００５６】
図９ａは、一実施形態により、ＵＲＬ情報の抽出及び抽出された情報を一つのセグメントと共に（ブロードキャスト）セグメントバッファ内に格納するフローチャート９００を示す。一実施形態において、フローチャート９００は、プロセスの開始９０１から始まる。ブロック９０２において、ＭＭＴＰパケットが受信される。一実施形態におけるブロック９０３で、完全なセグメントが受信されるか否かが決定される。完全なセグメントが受信されなかった場合、プロセスは、ブロック９０２を続けて、完全なセグメントが受信されるまで進まれる。一実施形態におけるブロック９０４で、ＭＰＵモード又はＧＦＤモードとなるようにモードが決まれる。前記モードがＭＰＵモードと決まれると、ブロック９０５へ進む。前記モードがＧＦＤモードと決まれると、ブロック９０６へ進む。
【００５７】
一実施形態において、ブロック９０５で、ＵＲＬ及びＤＡＳＨセグメントが、ＭＰＵから抽出される。ブロック９０６において、ＵＲＬ及びＤＡＳＨセグメントは、ＧＦＤ転送（ＧＦＤＴ）を用いて抽出される。一実施形態において、ブロック９０７で、抽出されたセグメント及び関連ＵＲＬがともに、（ＤＡＳＨ）セグメントバッファに格納される。ブロック９０８において、セッションの終了に達したか否かが決定される。セッションの終了に達した場合、プロセス９００は、プロセス９００が終了されるブロック９０９へ進む。セッションの終了に達しなかったと決定されると、プロセス９００は、ブロック９０２へ進む。
【００５８】
図９ｂは、一実施形態により、ＵＲＬ情報に基づいたＤＡＳＨセグメント処理を示すフローチャート９５０である。一実施形態において、フローチャート９５０は、ＭＰＤ及び一つ以上のセグメントの受信に基づいたプロセスの開始９５１から始まる。ブロック９５２において、セグメントに関する情報を得るために、ＭＰＤがパーシングされる。一実施形態において、ブロック９５３では、クライアント装置からの要請に基づき、必要とされるセグメントが決まれる。ブロック９５４において、ＤＡＳＨセグメントバッファ内の最初セグメントが選択される。一実施形態において、ブロック９５５で、選択されたセグメントの関連ＵＲＬが、必要とされるセグメントのＵＲＬとマッチするか否かが決定される。ブロック９５５において、マッチが起こると、プロセス９５０は、ブロック９５７へ進む。ブロック９５５において、マッチが起こらないと、プロセス９５０は、ブロック９５６へ進む。ブロック９５６において、次のセグメントが選択され、プロセス９５０は、ブロック９５５へ進む。
【００５９】
一実施形態において、ブロック９５７で、ＤＡＳＨセグメントが、クライアント装置上の提示のために処理される。ブロック９５８において、プロセス９００が、ＭＰＵ内の処理するセグメントのリストのうち、最後にあるか否かが決定される。プロセス９００が、リストの最後にあると、プロセス９５０は、ブロック９５９へ進んで、プロセス９００が終了される。プロセス９００が、まだリストの最後ではないと、プロセス９５０は、ブロック９５３へ進んで、プロセス９５０を続ける。
【００６０】
図１０は、一実施形態による通信システムの概略図である。通信システム１０００は、発信通信の動作を開始する通信装置（転送／イニシエータ装置１０１２）及び通信ネットワーク１０１０を含んでもよく、通信ネットワーク１０１０は、転送装置１０１２が、通信ネットワーク１０１０内の他の通信装置との通信動作を開始及び遂行するために用いられてもよい。例えば、通信システム１０００は、転送装置１０１２から通信動作を受信する通信装置（受信装置／リスナー１０１１）を含んでもよい。通信システム１０００は、数個の転送装置１０１２及び受信装置１０１１を含んでもよいが、図１０においては、図面の簡略化のために、各々の一つのみを示している。
【００６１】
通信ネットワークを生成するために有効ないずれの適当な回路、装置、システム又はこれらの組み合わせ（例えば、通信タワー及び通信サーバを含む無線通信インプラ）が、通信ネットワーク１０１０を生成するのに用いられてもよい。通信ネットワーク１０１０は、ある適当な通信プロトコルを用いて、通信を提供することができる。一部の実施形態において、通信ネットワーク１０１０は、例えば、伝統的な電話線、ケーブルテレビジョン、Ｗｉ−Ｆｉ（例えば、８０２．１１プロトコル）、ブルートゥース（登録商標）、高周波システム（例えば、９００ＭＨｚ、２．４ＧＨｚ、及び５．６ＧＨｚ通信システム）、赤外線、その他の比較的局在の無線通信プロトコル、又はこれらの組み合わせをサポートすることができる。一部の実施形態において、通信ネットワーク１０１０は、無線及び携帯帯電と個人ｅメール装置（例えば、ブラックベリー（登録商標））が用いるプロトコルをサポートすることができる。そのようなプロトコルは、例えば、ＧＳＭ（登録商標）、ＧＳＭ（登録商標）プラスＥＤＧＥ、ＣＤＭＡ、 クアッドバンド（quadband）、及びその他のセルラープロトコルを含むことができる。他の例として、長距離通信プロトコルは、Ｗｉ−Ｆｉと、ＶＯＩＰ又はＬＡＮを用いて、通話を発信又は受信するためのプロトコルとを含むことができる。転送装置１０１２及び受信装置１０１１は、通信ネットワーク１０１０の内に位置するとき、経路１０１３のような両方向通信経路を通じて、通信することができる。転送装置１０１２と受信装置１０１１の両方は、通信動作を開始し、開始された通信動作を受信することができる。
【００６２】
転送装置１０１２及び受信装置１０１１は、通信動作を送受信するためのいずれの適当な装置を含んでもよい。例えば、転送装置１０１２及び受信装置１０１１は、スマートテレビジョンデバイス、メディアプレーヤー、携帯電話又は固定電話、オーディオ及び／又はビデオ機能を有する個人ｅメール又はメッセ−ジングデバイス、ｉＰＡＱのようなポケットサイズのパーソナルコンピュータ、ＰＤＡ（personal digital assistants）、デスクトップコンピュータ、ラップトップコンピュータ、及び図１のクライアント装置１００、図２のクライアント装置２２０、２３０、２２５、２３５、図６のＤＡＳＨクライアント装置６０５のように、無線で（無線許可アクセサリーシステムの助けで、又はその助けなしに）、又は有線経路を介して（例えば、伝統的な電話線を利用して）、通信できるいずれの他の装置を含んでもよい。通信動作は、例えば、音声通信（例えば、電話通話）、データ通信（例えば、ｅメール、文字メッセージ、メディアメッセージ）、又はこれらの組み合わせ（例えば、ビデオ会議）を含むいずれの適当な形態の通信を含むことができる。
【００６３】
図１１は、一実施形態により、（ブロードキャスト）ＤＡＳＨセグメントバッファ６１０を用いるＨＴＴＰキャッシュのないＤＡＳＨクライアント装置１１２０を示す。一実施形態において、システム１１００は、クライアント装置１１２０（例えば、スマートＴＶ、デジタルＴＶ、モバイルコンピュータ、タブレットなど）、選択的クラウド又はサーバ装置１１３０及びネットワーク連結装置１１１０を含む。一実施形態において、クライアント装置１１２０は、ディスプレイ１１２１、カメラ又はイメージング装置１１２２（ＴＶ１１２０と一体化されているか、又はＴＶ１１２０と分離されている）、（多数の）マイクロホン１１２３、センサ１１２４（例えば、光、温度、振動、位置／ＧＰＳ、顔面認識、無線装置センサなど）、アプリケーション１  １１２６、アプリケーション２  １１２７からアプリケーションＮ（Ｎは、陽の整数）１１２８のような、アプリケーションを管理するアプリケーション管理モジュール１１２５、ＤＡＳＨクライアント処理６２０及びＤＡＳＨセグメントバッファ６１０を含む。一実施形態において、ＤＡＳＨクライアント処理６２０は、前述のようなＤＡＳＨセグメント及びＭＰＤ処理を行う。
【００６４】
一実施形態において、ディスプレイ１１２１は、テレビジョンデバイス１１２０から分離されたデバイスであっても、又はテレビジョンデバイス１１２０と一体化されていてもよい。一実施形態において、カメラ１１２２は、テレビジョンデバイス１１２０から分離された装置であってもよく、テレビジョンデバイス１１２０と一体化されていてもよい。一実施形態において、ネットワーク連結装置１１１０は、クライアント装置１１２０とサーバ装置１１３０との間の通信を処理し、クライアント装置１１２０が連結できるローカルネットワーク（例えば、図２のネットワーク２０５）を形成するための、ネットワークモデム、ルーターなどのようなネットワークインターフェースを含んでもよい。
【００６５】
一実施形態において、クライアント装置１１２０は、入力メカニズム（例えば、タッチスクリーン、音声認識、キーボード、遠隔制御など)、通信回路、制御回路、オーディオ出力、及びその他の適当な構成要素を含んでもよい。
【００６６】
一実施形態において、ディスプレイ１１２１、入力メカニズム、オーディオ出力及び通信回路が用いる全てのアプリケーションは、相互連結されて、制御回路により管理されることができる。一例において、動画、音楽などを含むコンテンツを、他の装置へ転送できるハンドヘルド音楽プレーヤーが、クライアント装置１１２０の内に組み込まれてもよい。
【００６７】
一実施形態において、オーディオ出力部は、クライアント装置１１２０のユーザに、オーディオを提供するためのいずれの適当なオーディオ構成要素を含んでもよい。例えば、オーディオ出力部は、クライアント装置１１２０に組み込まれている一つ以上のスピーカー（例えば、モノ又はステレオスピーカー）を含んでもよい。一部の実施形態において、オーディオ出力部は、クライアント装置１１２０と遠隔に連結されるオーディオ構成要素を含むことができる。例えば、オーディオ出力部は、有線で（例えば、ジャックでクライアント装置１１２０に連結される）又は無線で（例えば、ブルートゥース（登録商標）ヘッドホンやブルートゥース（登録商標）ヘッドセット）通信装置に連結できるヘッドセット、ヘッドホン又はイヤホンを含むことができる。
【００６８】
一実施形態において、ディスプレイ１１２１は、ユーザに見えるディスプレイを提供するためのいずれの適当なスクリーン又はプロジェクションシステムを含むことができる。例えば、ディスプレイ１１２１は、クライアント装置１１２０に組み込まれるスクリーン（例えば、ＬＣＤスクリーン）を含むことができる。他の例として、ディスプレイ１１２１は、クライアント装置１１２０から遠く離れた表面上に、コンテンツのディスプレイを提供するための移動型ディスプレイ又はプロジェクティングシステム（例えば、ビデオプロジェクター)を含むことができる。ディスプレイ１１２１は、制御回路の指示の下で、コンテンツ（例えば、通信動作に関する情報又は利用可能なメディアの選択に関する情報）をディスプレイするように作動することができる。
【００６９】
一部の実施形態において、クライアント装置１１２０の通信回路は、いずれの適当な通信プロトコルを用いて、通信ネットワークを生成するように作動することができる。例えば、通信回路は、他の通信装置に連結するために、短距離通信プロトコルを用いる短距離通信ネットワークを生成することができる。例えば、通信回路は、他の電子装置とブルートゥース（登録商標）プロトコルを用いて、ローカル通信ネットワークを形成するために作動することができる。
【００７０】
一実施形態において、クライアント装置１１２０の制御回路は、クライアント装置１１２０上に実現された一つ以上のアプリケーション１  １１２６〜Ｎ１１２８の動作を行うように作動されることができる。任意の適当な数又は種類のアプリケーションが実現できる。以下の内容は、異なるアプリケーションを挙げるが、そのアプリケーションの一部又は全部が、一つ以上のアプリケーションに結合され得ることが理解される。例示的アプリケーションには、アプリケーション連結アプリケーション、対話アプリケーション、地図アプリケーション、メディアアプリケーション（例えば、QuickTime、MobileMusic.app、又はMobileVideo.app）、ソーシャルネットワーキングアプリケーションなどが含まれ得る。一部の実施形態において、クライアント装置１１２０は、通信動作を行うように作動する一つ或いは多数のアプリケーションを含んでもよい。例えば、クライアント装置１１２０は、メッセージングアプリケーション、メールアプリケーション、電話アプリケーション、ボイスメールアプリケーション、インスタントメッセージングアプリケーション（例えば、チャット用の)、ビデオ会議アプリケーション、ファックスアプリケーション、又はいずれの適当な通信動作を行うための他のアプリケーションを含むことができる。
【００７１】
一実施形態において、ユーザは、いずれの適当なアプローチを用いて、クライアント装置１１２０に、通信動作を行うように指示することができる。一例として、ユーザが他の装置から通信要請を受信してもよく（例えば、受信電話の通話、ｅメール又は文字メッセージ、インスタントメッセージ)、その通信要請を許容することにより、通信動作を開始することができる。他の例として、ユーザが、他の通信装置を識別して、ある通信動作を開始するようにする要請を転送することにより（例えば、電話番号のダイアリング、ｅメール転送、文字メッセージのタイピング、又はチャットスクリーン名の選択、チャット要請の転送）通信動作を開始することができる。
【００７２】
図１２は、一実施形態により、ＨＴＴＰを用いず、ＤＡＳＨを用いて、コンテンツを配信するためのプロセス１２００を示す。一実施形態において、プロセス１２００におけるブロック１２１０は、クライアント装置（例えば、図１のクライアント装置１００、図２のクライアント装置２２０、２２５、２３０、２３５、クライアント装置６０５）によりＭＰＤファイル（例えば、図４のＭＰＤファイル４００）及び一つ以上のＤＡＳＨセグメントを受信するステップを含む。一実施形態において、ブロック１２２０で、前記ＭＰＤファイル内の情報が、前記一つ以上のＤＡＳＨセグメントをフィルタするのに使われる。一実施形態において、ブロック１２３０で、前記フィルタされた一つ以上のＤＡＳＨセグメントは、セグメントバッファに格納される。ブロック１２４０において、前記情報に基づいて、前記クライアント装置により前記セグメントバッファから一つ以上の特定のＤＡＳＨセグメントが要請される。
【００７３】
一実施形態において、ＭＰＤファイルからの情報は、ＵＲＬ情報である。一実施形態において、一つ以上のＤＡＳＨセグメント及び関連ＵＲＬ情報が、ともにセグメントバッファに格納される。一実施形態において、プロセス１２００は、ＨＴＴＰを用いることなく、ＭＭＴＰを通じて、一つ以上のＤＡＳＨセグメントを受信するための動作がクライアント装置により実行されるステップを含むことができる。
【００７４】
一実施形態において、クライアント装置は、ＨＴＴＰキャッシュのないセグメントバッファを含む。一実施形態において、プロセス１２００は、一つ以上のＤＡＳＨセグメントが再構成されたＤＡＳＨセグメントを含み、再構成されたＤＡＳＨセグメントが、再構成の直後、セグメントバッファに格納されることを提供するすることができる。
【００７５】
一実施形態において、一つ以上の再構成されたＤＡＳＨセグメントは、多くの再現（representations）を含む。一具体例において、多数の再現の各々は、異なるデータレート（例えば、２５０Ｋｂｐｓ、５００Ｋｂｐｓ、１０００Ｋｂｐｓなど）のうちの一つ以上と、異なるレベルのビデオ品質（例えば、超高鮮明（ＵＨＤ）、高鮮明（ＨＤ）、標準鮮明（ＳＤ）、６４０ｘ４８０、１０２４ｘ７６８など）を含む。一実施形態において、プロセス１２００は、所望のレベルのビデオ品質を有する特定の再現のために要求されるＤＡＳＨセグメントが、セグメントバッファの内で見つけられない場合、ＵＲＬを変更し、次の低いレベルのビデオ品質を有する前記要求されたＤＡＳＨセグメントのもう一つの再現について検索するステップを含んでもよい。
【００７６】
一実施形態において、プロセス１２００は、ＵＲＬ情報が、セグメントバッファにおいて、一つ以上の特定のＤＡＳＨセグメントを検索するためのインデックスとして用いられることを含んでもよい。
【００７７】
当業者に知られているように、前述の例示的アーキテクチャは、前記アーキテクチャによると、ソフトウェアモジュール、マイクロコード、コンピュータ読み取り可能な媒体上のコンピュータプログラム製品、アナログ／ロジック回路、ＡＳＩＣ（application specific integrated circuit）、ファームウェア、家電機器、ＡＶ装置、無線／有線送信器、無線／有線受信器、ネットワーク、マルチメディア機器などのようなプロセッサにより実行されるプログラム命令語のように、多様な方式によって実現できる。また、前記アーキテクチャの多数の実施形態は、完全ハードウェア実施形態、完全ソフトウェア実施形態、又はハードウェア及びソフトウェア要素の両方を含む実施形態の形を取ることができる。
【００７８】
多数の実施形態が、一つ以上の実施形態による方法、装置(システム）及びコンピュータプログラム製品のフローチャート及び／又はブロック図を参照して記述されている。そのような例示図／図面の各々のブロック、又はこれらの組み合わせは、コンピュータプログラム命令語により実現することができる。コンピュータプログラム命令語は、プロセッサに提供される際、プロセッサを通じて実行される命令語が、前記フローチャート及び／又はブロック図に特定された機能／動作を実現するための手段を生成するようにするマシンを生成する。フローチャート／ブロック図における各々のブロックは、一つ以上の実施形態を実現するハードウェア及び／又はソフトウェアモジュールやロジックを示すことができる。他の具体例において、ブロック内に記された機能は、図面に示した順序を超越して生じるか、同時に生じるなど、他の方式で行い得る。
【００７９】
「コンピュータプログラム媒体」、「コンピュータ使用可能な媒体」、「コンピュータ読み取り可能な媒体」、及び「コンピュータプログラム製品」という用語は、一般に、主メモリ、二次メモリ、脱着可能な格納ドライブ、ハードディスクドライブに設置されたハードディスクのような媒体を意味するのに使われる。これらのコンピュータプログラム製品は、コンピュータシステムにソフトウェアを提供するための手段である。コンピュータ読み取り可能な媒体は、コンピュータシステムが、コンピュータ読み取り可能な媒体から、データ、命令語、メッセージ又はメッセージパケット、及び他のコンピュータ読み取り可能な情報を読み取り可能にする。コンピュータ読み取り可能な媒体は、例えば、フロッピーディスク、ＲＯＭ、フラッシュメモリ、ディスクドライブメモリ、ＣＤ−ＲＯＭ、及び他の永久記録媒体のような非揮発性メモリを含むことができる。これは、例えば、コンピュータシステム間のデータ及びコンピュータ命令語のような情報を転送するのに有用である。コンピュータプログラム命令語は、コンピュータ、その他のプログラム可能なデータ処理装置、又はその他の装置が、特定の方式で機能するように指示できるコンピュータ読み取り可能な媒体に格納されて、コンピュータ読み取り可能な媒体に格納された命令語が、フローチャート及び／又はブロック図のブロックや複数のブロックに特定された機能／行為を実現する命令語を含む製造品を生産するようにする。
【００８０】
本明細書内のブロック図及び／又はフローチャートを示しているコンピュータプログラム命令語は、コンピュータ、プログラム可能なデータ処理装置、又は処理装置の上にロードされ、その上で行われる一連の動作が、コンピュータ実現プロセスを生成するようにすることができる。コンピュータプログラム（即ち、コンピュータ制御ロジック）は、主メモリ及び／又は二次メモリに格納される。コンピュータプログラムは、また、通信インターフェースを介して受信されることもできる。そのようなコンピュータプログラムは、実行の際、コンピュータシステムが、ここに論議されたような一つ以上の実施形態の特徴を行うことができるようにする。特に、コンピュータプログラムは、実行の際、プロセッサ及び／又はマルチコアプロセッサが、コンピュータシステムの特性を果すようにすることができる。そのようなコンピュータプログラムは、コンピュータシステムの制御器を示す。コンピュータプログラム製品は、コンピュータシステムにより読み取り可能であり、一つ以上の実施形態の方法を行うために、コンピュータシステムにより実行される命令語を格納する有形記録媒体を含む。
【００８１】
様々な特定実施形態が、その特定のバージョンを参照して記述されたが、他のバージョンも可能である。したがって、添付の特許請求の範囲の精神及び範囲は、ここに含まれた好ましいバージョンの説明に限られてはいけない。
【図１】
0006425720.tif 000002
【図２】
0006425720.tif 000003
【図３】
0006425720.tif 000004
【図４】
0006425720.tif 000005
【図５】
0006425720.tif 000006
【図６】
0006425720.tif 000007
【図７】
0006425720.tif 000008
【図８】
0006425720.tif 000009
【図９ａ】
0006425720.tif 000010
【図９ｂ】
0006425720.tif 000011
【図１０】
0006425720.tif 000012
【図１１】
0006425720.tif 000013
【図１２】
0006425720.tif 000014