JP5667646B2 - Httpメディアストリーム配信のための方法および装置 - Google Patents

Httpメディアストリーム配信のための方法および装置 Download PDF

Info

Publication number
JP5667646B2
JP5667646B2 JP2012548920A JP2012548920A JP5667646B2 JP 5667646 B2 JP5667646 B2 JP 5667646B2 JP 2012548920 A JP2012548920 A JP 2012548920A JP 2012548920 A JP2012548920 A JP 2012548920A JP 5667646 B2 JP5667646 B2 JP 5667646B2
Authority
JP
Japan
Prior art keywords
mpd
representation
media
client
period
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012548920A
Other languages
English (en)
Other versions
JP2013517676A (ja
Inventor
フレドリク ギャバン,
フレドリク ギャバン,
トルステン ローマー,
トルステン ローマー,
クリントン プリドル,
クリントン プリドル,
Original Assignee
テレフオンアクチーボラゲット エル エム エリクソン(パブル)
テレフオンアクチーボラゲット エル エム エリクソン(パブル)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by テレフオンアクチーボラゲット エル エム エリクソン(パブル), テレフオンアクチーボラゲット エル エム エリクソン(パブル) filed Critical テレフオンアクチーボラゲット エル エム エリクソン(パブル)
Publication of JP2013517676A publication Critical patent/JP2013517676A/ja
Application granted granted Critical
Publication of JP5667646B2 publication Critical patent/JP5667646B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 

Description

本発明は、クライアントがHTTPメディアストリームにアクセスできるようにするための方法と、HTTPメディアストリームを取得するための方法と、それぞれの方法を実行するためのサーバおよびクライアントとに関する。
HTTPストリーミングとは、例えばサーバもしくは中間ネットワークノードからクライアントへというような、エンティティ間のライブコンテンツまたはオンデマンドコンテンツのファイルベースのストリーミングの方法である。HTTPストリーミング対応のクライアントは、コンテンツのアップロードを必要とする場合、まず、特定の必要なコンテンツのストリームまたは記述を集まって作り上げる小さなファイルまたはファイルのセグメントのリストを、サーバまたはいずれかの他のネットワークノードからそれを取り出すことによって取得する。そのようなリストは、典型的には、MPD(Media Presentation Description)と呼ばれる。本文脈では、MPDという用語をプレイリストおよびマニフェスト(Manifest)の同意語として用いる。プレイリストは、M3U8形式で記述されてもよいし、XML形式で提供されるリストとして記述されてもよい。
個々の時刻点には、複数の小さなファイルまたはファイルのセグメントが存在してもよく、それらのことを本書では以下メディアセグメントと呼び、それらはクライアントによって選ばれてもよい。HTTPストリーミングは、テンプレートを利用してもプレイリストを利用してもどちらでもよい。テンプレートを利用するHTTPストリーミングでは、要求されたURLは、MPDの中でテンプレートを用いて記述され、それは例えば以下のようなタイプであってもよい。
www.server.com/streamfile/$Rep$/$Index$/
ここで、$Rep$は、要求された表現によって置換され、$Index$は、連続番号によって置換され、それを用いて、メディアセグメントが要求される時刻が判定される。
プレイリストを利用するHTTPストリーミングでは、個々のメディアセグメントおよび個々の時刻は、例えば以下のような、それ自身のURLを有する。
動画時刻0
−>動画時刻0に関連するURL
動画時刻1
−>動画時刻1に関連するURL
動画時刻2
−>動画時刻2に関連するURL
しかし、既知のMPD構造は非常に精密であり、従って、特に、多様なコンテンツソースからアクセスできるコンテンツ、および/または、時間の経過と共に特性が異なりうるコンテンツの場合に、許容される柔軟性は非常に低い。
本書の目的は、上記の諸問題の少なくとも一部に対処することである。特に、1つの目的は、MPDの新たな構造と、そのようなMPDを提供するための方法と、HTTPメディアストリームのダウンロードがより柔軟なかたちで実行できるようにMPDを取得および処理するための方法とを提供することであり、併せて、メディアストリームのダウンロードを要求するクライアントについての選択肢も提供する。
第1の態様によって、クライアントがHTTPメディアストリームにアクセスできるようにするために通信ネットワークのサーバによって行われる方法を提供する。方法を適用する場合、MPDは、メディア再生タイムラインに従って連続的に構成された少なくとも1つの期間要素を備え、また、個々の期間要素は少なくとも1つの表現を備え、かつ、その少なくとも1つの期間要素のうちの少なくとも1つは少なくとも2つの代替表現を備えるように生成され、ここで、個々の表現は少なくとも1つのメディアセグメントURIを順に並べた(ordered)シーケンスを備え、個々のメディアセグメントURIは、HTTPメディアストリームの少なくとも1つのメディアセグメントを参照する。
次いでMPDが提供され、その結果、クライアントはそれを取得し、MPDのコンテンツに基づいて、少なくとも1つの期間要素について、表現を選択し、そして、個々の選択された表現について、それぞれの参照されたメディアセグメントを取得することができる。
提案するMPD構成は、代替メディアセグメントへの参照を、特に、多様なソースから発信されるメディアセグメントへの参照を、単純化する。
生成するステップは、少なくとも1つのメディアセグメントURIが少なくとも1つの表現として提供され、かつ、テンプレート形式で記述されるように、少なくとも1つのメディアセグメントURIを順に並べたシーケンスの少なくとも1つを構成するステップを含んでいてもよい。
代わりに、または、テンプレート形式で1つ以上の表現を提供することと組み合わせて、生成するステップは、少なくとも1つの表現が少なくとも2つのメディアセグメントURIを順に並べたシーケンスとして提供され、かつ、プレイリスト形式で記述されるように、少なくとも1つの表現を構成するステップを含んでいてもよい。
さらに、同じ期間要素に関連する個々の表現は、表現の中で参照されるメディアセグメントを代表する(representative of)設定を有する第1の属性を備えることによって、クライアントがそれぞれの設定に基づいたそれぞれの期間要素の表現を選択することができてもよく、それを第1の表現属性と呼ぶこともある。
また、期間要素は、第2の属性すなわち表現属性を備えていてもよく、ここで第2の表現属性の設定は、それが、それぞれの期間要素に関連するすべてのメディアセグメントについて共通であるように、かつ、それが、この期間要素に関連するすべての表現を代表するように、選択されてもよい。
より階層的な構造が必要な場合、それぞれの第2の表現属性が、それぞれの期間要素のそれぞれの表現の中に提供されることによって、第2の表現属性が表現レベルで記述されてもよいし、それぞれの期間要素の中に提供されることによって、第2の表現属性が期間要素レベルで記述されてもよい。
あるいは、生成ステップの間にMPDの少なくとも1つの期間要素が少なくとも2つの代替期間構成を備えるように階層型構造をさらに発展させてもよく、この場合、個々の期間構成は、少なくとも2つの表現と、1つの第2の表現属性とを備え、かつ、この場合、第2の表現属性の設定は、それがそれぞれの期間構成を表すように、クライアントが1つ以上の前記表現属性に基づいて期間要素の表現を選択することができるかたちで、選択される。
MPDの中に適用された表現属性は、例えば、コーデック、ビットレート、解像度、あるいは言語を定義し、それによって、サービスプロバイダが、ユーザデバイスの能力、ユーザの選好、または環境条件のいずれかに依存するか、または、それらを組み合わせた1つ以上の選択可能な代替案を提供できてもよい。
また、より柔軟性のあるMPDを提供することに加えて、そのようなMPDは、少なくとも1つの表現をMPDに追加することによって、または少なくとも1つの表現をMPDから除去することによって、またはMPDの少なくとも1つの表現を修正することによって、更新されてもよい。
MPDの更新がポーリングに基づいているような一実施形態によると、MPDを取得したクライアントが指標(指示情報)によって決められた間隔でMPD更新についてポーリングすることができるように、MPDがポーリングの間隔の指標を備えていてもよく、一方で、別の選択肢によると、更新されたMPDが代わりにクライアントへとプッシュされてもよい。
また、クライアントが最新の利用可能なメディアセグメントを判定できるようにするために、MPDは、例えばサーバのタイムラインやウォールクロック時間などの基準を使った、HTTPトランスポートストリームのメディア再生タイムラインのマッピングの記述を備えていてもよい。
同じ期間要素の異なる表現のメディアセグメントは、それらが期間要素の開始時に時間的に整合されるように構成されることが望ましい。
別の態様によって、通信ネットワークの少なくとも1つのネットワークノードからHTTPメディアストリームを取得するために通信ネットワークのクライアントによって行われる方法を提供する。この方法によって、クライアントは、メディア再生タイムラインに従って連続的に構成された少なくとも1つの期間要素を含むMPDを、ネットワークノードの1つから取得するのだが、ここで、個々の期間要素は少なくとも1つの表現を含み、かつ、少なくとも1つの期間要素のうちの少なくとも1つは、少なくとも2つの代替表現を含み、個々の表現は少なくとも1つのメディアセグメントURIの順序正しいシーケンスを備え、ここで、個々のメディアセグメントURIは、HTTPメディアストリームの少なくとも1つのメディアセグメントを参照する。MPDを所有すると、クライアントは、期間要素の少なくとも1つについての表現を、MPDのコンテンツに基づいて選択し、個々の選択された表現についての参照されたメディアセグメントを取得することができる。
それぞれの表現は、それぞれの期間要素の1つ以上の表現属性に基づいて選択されてもよく、その場合、個々の表現は、それぞれの表現または期間要素を代表するそれぞれの設定を有する。
環境の変化に基づいて表現の選択を行うことができるようにするため、HTTPメディアストリームを前記少なくとも1つのネットワークノードからクライアントへ送信するために利用可能なビットレートが推定されてもよく、そして、クライアントは、少なくとも1つのビットレート依存の表現属性を考慮に入れることによって、少なくとも1つの期間要素の表現をそのような推定に基づいて選択してもよい。
別の態様によって、クライアントがHTTPメディアストリームにアクセスできるようにすることができるサーバを提供する。サーバは、上述のように構成されたMPDを生成するように構成された生成ユニットと、クライアントがMPDにアクセスできるようにするように構成された提供ユニットとを備えており、それにより、クライアントは、MPDを取得することができ、少なくとも1つの期間要素についての表現をMPDのコンテンツに基づいて選択し、かつ、個々の選択された表現についてのそれぞれの参照されたメディアセグメントを取得する。
生成ユニットは、テンプレート形式かプレイリスト形式かまたはそれら両方を組み合わせた形式で記述された少なくとも1つの表現をMPDに提供するように構成されてもよい。
加えて、生成ユニットは、個々のメディアセグメントURIについて、それぞれの参照された1つ以上のメディアセグメントの持続時間の指標をMPDに提供するように構成されてもよい。
また、クライアントが表現属性に基づいて表現を選択することができるように、生成ユニットは、同じ期間要素に関連する個々の表現に表現属性とそれぞれの表現属性設定とを提供するように構成されてもよい。
それぞれの表現属性が期間レベルで提供された場合には、それぞれの期間要素のすべての表現について有効であり、一方で、表現レベルで提供された場合には、それぞれの期間要素のそれぞれの表現についてのみ有効であるようにするため、生成ユニットは、少なくとも2つの異なるカテゴリの表現属性を提供し、かつ、表現属性を階層型に提供するように構成されてもよい。
生成ユニットは、Media Presentation Descriptionに少なくとも1つの表現を追加することによって、またはそこから少なくとも1つの表現を除去することによって、またはその少なくとも1つの表現を修正することによって、MPDを更新するように構成されてもよい。
別の態様によって、通信ネットワークのクライアントであって、通信ネットワークの少なくとも1つのネットワークノードからHTTPメディアストリームを取得することが可能なクライアントを提供する。クライアントは、上記のように構成されたMPDを、前記少なくとも1つのネットワークノードのうちの1つから取得するように構成された要求ユニットと、個別の表現をそれぞれ、MPDコンテンツ(MPDの内容)に基づいて、選択するように構成された選択ユニットとを備えている。
選択ユニットは、典型的には、表現の少なくとも1つの表現属性に基づいてそれぞれの表現を選択するように構成される。
また、クライアントは、少なくとも1つのネットワークノードからクライアントへのHTTPメディアストリームを送信するのに利用可能なビットレートを推定するように構成された推定ユニットを備えていてもよく、それによって、選択ユニットは、少なくとも1つのビットレート依存の表現属性を考慮に入れることによって、少なくとも1つの期間要素の表現をそのような推定に基づいて選択することができるであろう。
本発明の目的、利点、効果ならびに機能は、添付の図面と共に読まれた場合、本発明の例示的実施形態を示す以下の詳細記述から一層容易に理解されるであろう。
HTTPメディアストリームの配信に適した通信ネットワークの簡略化した概要図である。 ネットワークノードにおいてMPDを生成して提供するための方法を示すフローチャートである。 図2の生成プロセスを更に詳細に示すもう1つのフローチャートである。 ネットワークノードからMPDを取得するための方法を示すもう1つのフローチャートである。 一実施形態によって構成されたMPDを示す図である。 別の実施形態によって構成されたMPDを示す図である。 更に別の実施形態によって構成されたMPDを示す図である。 第1のMPDを示す図である。 第1のMPDの更新バージョンを示す図である。 一実施形態によってMPDを提供するように構成されたサーバのブロックスキームを示す略図である。 一実施形態によってMPDを取得して処理するように構成されたクライアントのブロックスキームを示す略図である。 別の実施形態によるサーバ構成の略図である。 別の実施形態によるクライアント構成の略図である。
本書は、開示される図面に関して以下で記述する方法および装置の各種の代替的実施形態をカバーするが、特定の記述および図面は、本発明の範囲を開示された特定の形態に限定することは意図されていないことは理解されるべきである。逆に、請求される本発明の範囲は、添付の請求項に表される本発明の精神と範囲とに入る、そのすべての修正形態および代替的構成を含むと考えられるべきである。
本書は、HTTPストリーミングに関連する使用に適した、新しい、より柔軟なMPDの構造について述べる。図1は、サーバとクライアントとの間のMPDの配信を含む適応HTTPストリーミングを可能にするのに適したシステムアーキテクチャを示す略図である。図1は、2つのクライアント100aと100bとを含んでいて、それらをHTTPストリーミングクライアントと呼ぶこともあるが、その各々は、典型的にはメディアプレゼンテーションと呼ばれる構造化された一組のデータを取得するため、メディアプレゼンテーションとメディアセグメントの形式の関連のメディアプレゼンテーションとを記述する、関連のメタデータをダウンロードすることによって、ユーザに対するそれぞれのストリーミングサービスを開始してもよい。メタデータと関連のメディアプレゼンテーションとをダウンロードすることは、HTTPストリーミングサーバと呼ばれることもあるサーバ101から直接行われても、あるいは、メディアセグメントとその関連のメタデータのコピーとを保持していることもある、ここではキャッシュ102aおよびキャッシュ102bによって表される中間ネットワークノードから行われてもよい。記述された実施形態では、個々のキャッシュ102aおよび102bは、それぞれのHTTPプロキシ103aおよび103bにつながれている。
上記のメタデータは、典型的には、MPD、マニフェスト、またはリストと呼ばれる。本文脈では、そのようなリストは、一般にプレイリストと呼ばれ、典型的にはXML構造の文書として提供されるが、必ずしもそうとは限らない。
以下で、HTTPストリーミングに適用可能な、より柔軟なMPD構成の原理を記述しよう。提案するMPDを適用することによって、特に時間の経過と共に要求されたメディアプレゼンテーションの特性が異なる場合に、クライアントは、単純かつより柔軟なやり方でメディアコンテンツをアップロードすることを要求することができるであろう。詳細には、本書では代替表現と呼ぶ代替選択肢を記述するメタデータをクライアントに対して搬送しうる柔軟なMPD構成を提案する。代替表現は、テンプレートおよび/またはプレイリストのスタイルの構造として提供されてもよく、そうであれば、元の手法に対する変更の必要性は最小限であろう。
提案する新たなMPD構造は、連続的なメディアフローがHTTPキャッシング階層を通して配信されるためのメディアセグメントに再分割される、上記のような適応HTTPストリーミングのシナリオには、特に適切である。
ネットワークのサーバ側では、サーバが、メディアソース104から提供された連続的なバイトストリームから連続的なセグメントまたはファイルストリームを作成し、メディアソース104では、新たなメディアセグメントがサーバ101に連続的にアップロードされてもよい。また、柔軟なMPDを要求側クライアントに提供するのに加えて、サーバ101は、MPDを修正するかまたはMPDからURIを削除するか、あるいは、MPDにURIを追加することによって、新たなメディアセグメントのための新たなURIを使ってMPDを更新してもよい。本発明によると、そのようなMPD更新手順は、メディアプレゼンテーションのアップロード手順が進行している間に行われることすら、あってよい。
提案するMPD構造は期間の定義から構成されたものであるが、この場合、メディアプレゼンテーションは1つ以上の期間のシーケンスとして記述され、個々の期間は、1つの期間の記述、あるいはメディアプレイ(再生)時間の時間範囲または間隔で与えられる。MPDの一部を成すそのような記述は、期間要素と呼ばれることもある。また、MPDは、表現の定義から構成されたものとして記述されてもよく、この場合、個々の表現は、それが、関連のメディアコンテンツを復号して提示するためのデータおよび/またはメタデータを含む1つ以上のメディアセグメントを順に並べたリストを記述するように提供される。同じ期間要素に関連する異なる表現は、メディアコンテンツの異なる選択肢を表し、この場合、個々の表現は少なくとも1つの表現属性によって区別できる。
連続した期間要素の関連する表現は、共通の設定に設定された特定の表現属性によって識別でき、それらが一緒になって特定のトラックまたはチャネルを形成する。各々が1つ以上の表現属性によって識別することができる2つ以上の代替表現を1つの期間要素に提供することによって、MPDを取得したクライアントは、個々の期間要素について、1つ以上の表現属性のそれぞれの設定に基づいて、代替表現の1つを選択することができ、それによって、個々の期間要素について、最も適切なメディアセグメントが、それらをそれぞれのソースから取り出すことによって、取得できるであろう。詳細には、クライアントは、1つのチャネルすなわちトラックから他のチャネルすなわちトラックへ切り換えることをいつでも選んでもよく、次いで、例えば環境の変化やユーザ選好のような状況の変化によって、別の代替トラックの方がより好ましくすなわち望ましくなるまで、選択されたトラックに留まってもよい。
クライアントがアクセスできる個々のメディアセグメントは、MPDの中に含まれるメディアセグメントURIによって一意に参照され、この場合、個々のメディアセグメントURIは、テンプレートを通して暗示的に作成されているか、または、例えばプレイリストのような、リストとして明示的に作成されていてもよい。
図2は、MPDを提供するためのサーバによって実行可能な方法を示すフローチャートの略図である。第1のステップ200で、上記で論じた原則に従ってテンプレートの手法(アプローチ)、プレイリストの手法またはそれらの組み合わせを適用することによってMPDが生成され、それによって、MPDの中に記述されることになるメディアプレゼンテーションの個々の期間について必要な選択肢が提供され、そして、その後の第2のステップ210で、生成されたMPDがサーバによって提供され、それによって、典型的にはサーバで構成されたかまたは動作可能な形でサーバに接続された記憶手段の中にMPDを記憶することによって、あるいは、MPDをキャッシュのような中間ノードに送信し、クライアントがMPDをそこから要求してもよいようにすることによって、クライアントがMPDにアクセスできるようになる。後者のステップは、図2に示すように、MPDを提供するステップと呼ばれてもよい。
サーバを介してメディアコンテンツを配信するコンテンツプロバイダは、特にライブセッションの間に、配信されるメディアコンテンツに関連するMPDが更新可能であることを必要とすることがある。それによって、追加の表現が利用可能になりうるか、または、すでに利用可能な表現が削除または修正されうる。コンテンツプロバイダが、例えばライブセッションの間に、より高品質の表現を提供するか、または、MPDを介して提示されるメディアストリームの中に広告を挿入する際の柔軟性を高めることを決めることがある。
従って、ステップ220で示すように、ステップ200で第1のMPDを生成した後の任意の時点で、MPDは、期間要素の追加、削除または修正によって更新されてもよい。ステップ220で、いずれかのMPDの更新が必要だと判定された場合、その後のステップ230で、更新されたMPDがそれに応じて生成され、そして、更新されたMPDがステップ210でサーバによって提供され、それによって、クライアントがそれにアクセスできるようになる。後者の場合、ステップ210は、例えば、1つ以上のクライアントに対して更新されたMPDをプッシュすることを含んでもよい。しかし、MPDの中に記述されたメディアプレイ時間の開始時、またはMPDの終了時の期間に限って、追加、削除、修正が行われてもよい。
次に、図2の生成ステップ200および230について、図3を参照しながら一実施形態によって詳細に記述しよう。第1のステップ300に示すように、メディアプレゼンテーションの第1の期間要素から始めるが、その後のステップ310に示すように、第1の期間要素について第1の表現が提供され、詳細には、第1の表現を記述する命令が提供される。後者のステップは、表現を表す設定を有する表現属性を表現に提供することを含んでおり、すべての必要な表現属性がその表現についてそれに従って設定されるまで繰り返される。また、後者のステップは、関連するメディアセグメントURIを個々の表現に提供することも含んでいる。MPDを生成する場合にどの代替表現が、そして任意で、代替期間構成が適用されるのかは、上記に示したように、さまざまな状況に依存する。表現属性は、それが、例えば代替選択肢としての言語、ビットレート、コーデック、解像度、あるいは、クライアントが選択可能であるべきいずれかの他の基準を定義するように設定されてもよい。
次のステップ320で、別の表現が関連の期間要素についてMPDの中に提供されることになるかどうか、あるいは、提供された表現は期間要素についての最後の表現だったのかどうかが判定される。前者の場合、ステップ330と後続のステップ310とに示すように、別の表現を期間要素に対して提供することによってプロセスが続くが、後者の場合には、その後のステップ340で、構成中の期間要素が、ステップ330および310で生成された組に加えて、別の選択可能な選択肢としてMPDの中に提供されることになる別の期間構成を、すなわち、1つ以上の表現の別の組を含むことになるのかどうかが、判定される。別の期間構成が、構成中の期間要素に関連する場合、新たな期間構成がステップ350で開始され、関連の表現および表現属性がステップ330および310で選択され、生成される。
また、MPDの更新の場合、ステップ310は、そのようなMPD更新に関連する命令を提供することを含んでいてもよい。典型的には、そのような情報は、期間レベルで提供される。加えて、ステップ310では、MPDによって記述されるHTTPトランスポートストリームのメディアプレイタイムラインのマッピングの記述が、いずれかのサーバタイムラインまたはウォールクロック時間、あるいはいずれかの他の時刻基準と共に、MPDの中に提供されてもよい。ステップ310で表現を提供する場合、それぞれの表現のメディアセグメントは、典型的にはそれらがそれぞれの期間要素の開始時に時間的に整合されるように、提供される。
異なる期間構成の場合、少なくとも1つの表現属性が、2つの期間構成を互いに区別するように設定され、一方で、少なくとも1つの他の表現属性が、期間構成の表現を少なくとも1つの他の表現と区別するように設定される。異なる階層レベルが適用される場合、個々の表現属性が、必要な階層レベルで提供される。
期間要素が準備できると、その後のステップ360で、1つ以上の表現が定義されることになる期間要素がまだあるかどうかが判定される。あるという場合には、ステップ370で次の期間要素が提供され、次の期間要素のうちのすべての期間要素がMPDに含まれるまで、上述のステップが続けられる。MPDのすべての期間要素が定義され、それに従って構成された場合、最後のステップ380で示すように、生成手順は終了する。
典型的には、それぞれの期間要素のすべての表現に共通するいかなる表現属性も、それぞれステップ300および370でMPDの中に含められる。対応するやり方で、それぞれの期間要素の期間構成に共通するいかなる表現属性も、ステップ350でMPDの中に含められる。
MPDがそれに従って構成され、クライアントがアクセスできるようにされると、これらのクライアントのいずれもMPDにアクセスできるようになり、MPDのコンテンツ、すなわち、MPDの中に提供された命令に基づいて、クライアントは、トラックを選択できるようになり、それによって、関連のメディアセグメントを取得することができるであろう。ただし、クライアントの観点からは、MPDがそれに従って処理されると、MPDのコンテンツに基づいてメディアセグメントにアクセスするための手順は、複数の既知の先行技術の解決策に従って実行されてもよく、それは本書の範囲外である。
図4は、MPDの中で提示される代替選択肢として選択可能な必要なメディアプレゼンテーションをメディアコンテンツの形でクライアントが取得できるようにするために、クライアントで実行可能な方法を示す、もう1つのフローチャートである。図4の第1のステップ400で、要求されたメディアプレゼンテーションに関連するMPDが、例えばサーバまたは中間キャッシュのようなネットワークノードから取得され、その後のステップ410で、典型的にはクライアントかまたはクライアントに動作的に接続されたユニットにある従来の記憶手段の中にMPDが記憶される。理解されるべきだが、必要なメディアプレゼンテーションに関連するMPDをどのようにして見つけるかは、当業者には一般に周知であり、従って、本書の範囲外である。
クライアントでは、それぞれの期間要素の中に含まれる期間記述の形で提供されるMPDのコンテンツは、別のステップ420で示すように、メディアプレゼンテーションの要求される部分に関連する第1の期間要素から、期間毎に識別できる。オンデマンドのメディアプレゼンテーションをダウンロードする場合、第1の期間要素は、それぞれのMPDの最初の期間要素であろうし、一方で、ライブセッションをダウンロードする場合、第1の期間要素は、MPDの最初の識別できる期間要素、すなわち、ダウンロードが実行できる最初の期間要素であろう。
その後のステップ430では、個々の表現に特有の命令も、すべての表現または期間構成の中に表される表現のグループに関連する命令も含めて、関連の期間要素を表すMPDのコンテンツが、これらの命令に少なくとも部分的に基づいてそれぞれの期間要素について表現が選択されうるように、問い合わせを受ける(interrogated)。異なる表現間の切り替えだけでなくそのような表現の選択も、すでに上述したように、1つ以上の基準に基づいていてもよい。加えて、MPDは、表現に依存しない追加の命令、例えば、更新されたMPDをどのようにして取得するかに関する命令を含んでいてもよい。
無線リソースを浪費しないようにするため、クライアントは、それぞれの期間から1つの表現だけを取り出すべきであり、また、例えばビットレートのような符号化の選択は、期間要素毎に、例えば環境条件の変化に基づいて比較的頻繁に切り換えられてもよいが、その他の選択、例えば、所定の言語によって表される音声トラックは、リンクのビットレートの推定に基づいて、あるいは、いずれかの他の品質に基づく推定に基づいてダウンロードが変更されるべきではない。なぜなら、言語の変更は、異なるメディアビットレートで符号化された異なる言語間で切り換えが繰り返されることに起因して、非常に低い品質の体験をもたらしうるからである。
典型的には、能力に依存する表現属性に適用可能なクライアントの動作、例えば異なるディスプレイの解像度も同様に記述されてもよく、従って、クライアントに配信されるメディアコンテンツは、例えばQVGAおよびVGAのような、異なる解像度で利用可能であってもよい。典型的には、クライアントは、取得されたメディアコンテンツがレンダリングされる前に、最良の適切な解像度を端末の選好および/またはユーザの選好に基づいて選択し、全部がダウンロードされる間、選択された解像度を維持する。あるいは、クライアントは、例えば、接続性が悪すぎるという理由で、ダウンロードする間に解像度を変更する選択肢を有する。例えば、選択された音声トラックが、プレイ時間のすべての期間中に利用できるのではない場合、クライアントは、代わりに、例えば、デフォルト言語または1番目に利用可能な言語を選択するように構成されてもよい。
また、表現および/または期間構成の選択は、測定値または推定値、例えば利用可能なビットレートの推定値に基づいてもよく、それは典型的にはクライアントによって連続して行われる。ビットレートの推定を行う場合、典型的には、異なる品質の表現が、そのような推定値に基づいて選択されてもよい。
表現が選択されると、ステップ440に示すように、関連のメディアセグメントをそのソースから、MDPのそれぞれの命令に従って取り出すことができる。次のステップ450で、必要なメディアプレゼンテーションを取得するために何らかの別の期間要素が関連するかどうかが判定され、もしそうなら、次の期間要素の表現が検討されてステップ430で選択され、その後、プロセスは、選択された表現に関連するメディアセグメントをステップ440に従って取得することによって続けられる。
また、特定の期間要素について2つ以上の期間構成が定義された場合、そのような代替期間構成の表現が、ステップ430で検討され、その結果、それぞれの期間要素の期間構成のうちの1つから1つの表現が選択される。ダウンロードに関係する期間要素がこれ以上存在しない場合、すなわち、クライアントに必要なメディアプレゼンテーションの全部がダウンロードされた場合、ステップ470に示すように、記述するプロセスは完了する。
次に、上記で提案したMPD構造すなわち構成の基本原理の一部を、以下で図5を参照しながら記述しよう。図5に示すように、MPDを通して記述される単一のメディアプレイのタイムライン500が1つ以上のプレイ時間の期間に再分割され、それにより、プレイタイムライン500は、MPDによって記述される個々の期間または期間要素のタイムラインの連結によって定義される。MPDは、本書では2つの期間要素501および502として示す、1つ以上の期間要素のシーケンスを含んでおり、この場合、個々の期間要素は、本書では記述されたメディアプレゼンテーションすなわちメディアストリームのメディアコンテンツの表現または表現要素と呼ぶ、同じメディアコンテンツの代替記述を1つ以上含んでいる。あるいは、MPDは、メディア構成要素毎に1つのメディアタイムラインを含んでいてもよく、それにより、例えば音声と動画のような、同期ポイントを持つ別個のタイムラインが適用されてもよい。
図5では、第1の期間要素501は、3つの異なる表現503a、503b、503cを含んでおり、それらは、本書ではビットレート属性によって、すなわち、それぞれ100kbpsのビットレートを表す低品質(LQ)属性と、200kbpsを表す中位品質(MQ)属性と、400kbpsを表す高品質(HQ)属性とで表す異なる表現属性を表し、かつ、それら異なる表現属性によって区別できるが、一方で第2の期間要素502は、150kbpsのLQ選択肢と500kbpsのHQ選択肢とを提供する2つの代替的表現504a、504bだけを含んでいる。同じ期間について記述された複数の表現のメディアセグメントは、典型的には、期間要素の開始時に時間的に整合されている。図5のMPDは、それゆえ、それぞれの表現または表現要素の中にすべての命令が構成されるように、すなわち、表現のコンテンツを考慮することによって、その表現について有効なすべての命令をクライアントが利用できるように構成されている。
期間要素の個々の表現は、1つ以上の表現属性を除いて同じコンテンツを記述し、ここでは、選択可能な選択肢がクライアントに提供されることになる場合、1つ以上のこれらの特性は表現毎に異なりうる。
一般に、同じコンテンツが、異なる表現を使って利用可能であったり、1つ以上の表現属性を介して識別可能であったりしてもよく、それらの各々が、クライアントについての代替選択肢を定義してもよい。代わりに、それぞれの期間要素についてのそれぞれの表現属性という点ではクライアントについての選択肢がまったく利用できない場合、この属性に、期間要素のすべての表現と同じ設定を与えることができる。図5に示すように、本書ではそれぞれH.264@Baseline Profile Level 1.3およびAAC audioに設定されたそれぞれの表現属性によって定義された動画および音声特性が、2つの図示する期間要素のすべての表現について有効な共通の表現属性として定義されており、すなわち、これらの特性は、クライアントが選択できないものであるが、図5に示すすべての期間について、または少なくとも2つの期間について、クライアントによって適用されると想定されている。
異なるメディア品質を表す表現が、典型的には一部の環境の態様、例えば利用可能なビットレートに基づいて選択可能でありうる一方で、異なる言語を有する表現は、代わりに、通常は、例えば要求されたコンテンツを特定の好適言語によって取得するという選好のように、ユーザの選好に基づいて選択可能であるか、あるいは、例えば要求されたコンテンツが英語版に限って入手可能であるというように、コンテンツの提供の仕方に基づいて選択可能であるかのいずれかである。それゆえ、後者の場合、言語は、クライアントによって認識されうる起こりうる環境の変化に関係なく、典型的にはその後の期間についても選択されて維持される。同じことは、典型的にはユーザ装置のディスプレイのタイプに依存し、かつ、典型的にはメディアプレゼンテーションのアップロードの間に変化することのない、異なる解像度について定義された表現についても言える。
別の実施形態によると、MPDは、すべての表現に共通する表現属性がMPDの高位階層レベル、期間要素レベル、または期間レベルに置かれることを可能にする階層型記述構造として生成または構成することができるが、一方で、期間要素の代替表現間で異なる、すなわち、それぞれの表現に限って有効であることになる表現属性は、本書では表現レベルと呼ばれる、MPDの低位階層レベルで提供される。また、以下でさらに記述するように、別のレベル、例えば中間的な期間構成レベルが、そのような階層構造に適用されてもよい。
図6は、そのような代替的階層構成の構造を示す図であり、ここで、ビットレート以外の図5のMPDの中に記述されたすべての動画および音声関連の表現属性が、個々の期間601、602のそれぞれについての期間レベルで共通して定義されている。図2の実施形態と同様に、本書では期間601について3つの表現603a、603b、603cと、期間602について2つの表現604a、604bとによって表されている個々の表現要素が、ビットレートに依存する代替表現として与えられており、それらは、例えば、期間601の表現についてそれぞれLQ、MQ、HQに、そして、期間602の表現についてそれぞれLQ、MQに設定された、それらのビットレート属性によって識別されてもよく、すなわち、ビットレート属性は表現レベルで定義される。
あるいは、MPDの1つ以上の期間要素について、2つ以上の属性がクライアントによって選択できるようにされてもよい。図7は、別の実施形態による、そのような代替的な階層的MPD構造を記述する図であり、ここで、第1および第2の期間701、702は、図6のそれぞれの第1および第2の期間に対応する。しかし、第3の期間703では、期間要素は、以下それらを代替期間構成と呼ぶ、2つの異なるグループの表現704a、704bを含んでおり、それらは、表現レベルより上だが期間レベルより下の、別の階層レベルを形成している。代替期間構成を導入することによって、選択可能な表現が異なるグループへと構成されてもよく、それによって、クライアントは、それぞれの表現を2つ以上の選択基準に基づいて容易に選択できるようになる。
本例示的期間構成では、704aは、共通言語属性(Lang)が英語(en)に設定された、言語に基づく表現グループを含み、一方で、代替期間構成704bについては、対応する表現グループは、共通言語属性(Lang)がフランス語(Fr)に設定されている。第1の期間構成704aは、2つの異なるビットレートLQおよびHQをそれぞれ記述する2つの代替的表現705a、705bを含んでおり、一方で、第2の期間構成704bは、3つの異なるビットレートLQ、MQ、HQを記述する3つの代替的表現706a、706b、706cを含んでいる。それによって、好適言語、すなわち、期間構成704a、704bの1つを選択したクライアントは、選択された期間構成から好適品質も選択し、従って、これらの利用可能な選択肢のうちのどちらが選択されるかによって、異なるメディアセグメントも取り出すであろう。図示するように、それぞれの期間構成についての残りの所与の表現属性は、期間レベルで与えられており、それゆえ、すべての3つの期間のメディアセグメントに共通の、選択不可能な選択肢である。
それぞれの表現のメディアセグメントのそれぞれのシーケンスを参照するURIのシーケンスをMPDの中に記述するやり方は、さまざまである。上記の実施形態については、それぞれのメディアセグメントは、テンプレートの手法を適用することによって記述されてもよいし、あるいは、メディアセグメントが、リスト、典型的にはプレイリストによって、明示的に記述されてもよい。あるいは、両方の手法の組み合わせが適用されてもよい。
テンプレートの手法が適用される場合、それぞれのメディアセグメントは、基準トラックのセグメント毎に、すなわち、特定の表現属性によって表される表現毎に、同じメディア存続時間を含むべきであり、それによって、クライアントは、コンテンツの通常のメディアプレイ時間を導出できるようになる。従って、例えばメディア表現のそれぞれの期間の開始および存続時間のような情報を特定する有効な指標の範囲が、個々のテンプレートについて定義される。
テンプレートとして記述されるメディアセグメントURIのシーケンスは、ここでは1つのURLによって記述されるが、例えば以下のように定義されてもよい。
Figure 0005667646
ここで、$SegmentNumber$と識別された指標は、それぞれのセグメントの番号を識別するためにMPDの中で用いられる。上記のテンプレートは、200kbpsに設定された帯域幅固有の表現属性を含んでいる。加えて、ここでは、記述されたメディアセグメントシーケンスの有効な指標の範囲は、ここではセグメント番号11に設定された「SegmentNumberStart」によるそれぞれの表現の開始と、ここでは10秒のセグメント存続時間に設定された「SegmentDuration」による存続時間とを通じて記述され、すなわち、引用された要求URLから取得されうる個々のセグメントは、10秒の長さの存続時間を有する。
代わりに、メディアセグメントを参照するURIのシーケンスを記述するのにプレイリストの手法が用いられる場合、個々の参照されるメディアセグメントは、異なる存続時間のメディアデータを含んでいてもよい。プレイリストとして記述される1つの表現に関連するメディアセグメントURIのシーケンスの一例を以下に示す。
Figure 0005667646
本書では「segment dur」と示す、メディアセグメントのメディア存続時間を定義する指標が、個々のメディアセグメントについて与えられ、それによって、クライアントが、受信されたセグメントから通常のプレイタイムラインを計算できることが好ましい。与えられたプレイリストの例に示すように、正確な存続時間は秒単位で記述される。
標準的テンプレートをベースにし、すなわち、プレイリストを用いず、2つの代替表現を持つ1つの期間を記述する、階層的に構成されたMPDのもう1つの例を以下に示す。
Figure 0005667646
明らかに、上記のテンプレートは、同じ長さの単一の期間を有する、240秒の長さのセッションを記述している。表現レベルで提示される共通言語として英語(en)を有する2つの異なる表現が含まれているが、ここでは、これらの表現は2つの表現の中の異なる帯域幅属性によって区別できる。与えられた期間については、いずれの表現にも共通する一部の表現属性、例えば、1.0に設定されたxmlバージョンと、UTF−8に設定された符号化とが、期間レベルでMPDに挿入される。
プレイリストスタイルのMPDは、上記のテンプレートをベースにしたものと同様の構造を有しているが、プレイリストスタイルのMPDは複数の期間要素を含んでいるという違いがある。テンプレートをまったく用いず、3つの期間を含んでいる、そのようなプレイリストスタイルのMPDの一例を以下に挙げる。
Figure 0005667646
Figure 0005667646
Figure 0005667646
上記のMPDは、個々の期間について好適な帯域幅の選択を可能にする帯域幅属性を有する表現を備えているが、プレイリストの最初に示されるその他の表現属性は、すべての期間および表現について共通である。個々の期間について、クライアントは、記述されたURLを用いて単一の要求を行い、個々の期間を順次プレイアウトする。
下記のもう1つの実施形態によると、MPDは、代わりに、プレイリストとテンプレートとの組み合わせとして構成されてもよい。そのような構成によって、複数のソースからダウンロード可能なコンテンツの受信が可能になる。与えられた例では、プレイリストが、「期間開始」0、110、120をそれぞれ有する3つのテンプレート表現を連結する。そのようなMPDは、例えば、真ん中に広告を挟んで2つに分割されたTV番組を記述するのに適していることがある。クライアントが、上記の例と同様に第1および第3の期間について要求を行ってもよく、ここで、適切な表現が選ばれてもよく、一方で、第2の期間では、利用可能な表現は1つだけであり、クライアントはその表現にアクセスするため、別のサーバに要求を行うことができるであろう。
Figure 0005667646
Figure 0005667646
上記で分かるように、チャネルすなわちトラックの間には多くの相互関係、すなわち、異なる代替表現の間の選択および切り換えの仕方の選択肢があってもよい。例えば、1つを除くすべてのチャネルが英語で提供されてもよいし、あるいは、異なる表現を記述するURLでさえ、まさに最後の文字に至るまで共通であってもよい。
一実施形態によると、例えば言語属性のような表現属性が、階層構造のすべてのレベルで適用されることにより、言語が、上書きされない限り、該当するサブツリー全体について定義されてもよい。
別の手法は、本書ではRequestURLExtention要素と呼ぶ拡張要素が表現レベルで定義されることを可能にすることであり、一方で、requestURLは、期間要素レベルで例えば以下のように記述されてもよい。

RequestURL=http://www.example.com/content/example.3gp

ここで、期間要素レベルのこのURLは、表現レベルでは、例えば以下のように拡張される。

RequestURLExtension="R2/$SegmentNumber$
上記の例では、クライアントが要求を行うために、クライアントは、“RequestURL=http://www.example.com/content/example.3gp”と“R2/$SegmentNumber$”とを連結することによって、コンテンツのRequestURLを、それぞれの表現を選択するために以下のように生成する。

http://www.example.com/content/example.3gp R2/$SegmentNumber$
以下に、階層的に記述された表現属性の別の例を示すが、ここでは、動画コンテンツのサイズおよび言語属性が期間レベルで第1および第2の期間の中に示されており、それゆえ、これらの選択肢はいずれも、これらの期間のすべての表現について有効である。
第3の期間では、代わりに、動画コンテンツのサイズおよび帯域幅属性が、高位の期間レベルで示されており、それゆえ、これらの表現属性は、これらの期間のすべての表現について有効であり、一方で、言語は、第3の期間の個々の表現について異なっており、表現レベルの言語属性として示す。
Figure 0005667646
Figure 0005667646
表現属性も階層的に記述されている別の実施形態によると、期間要素は、それについてのメディアセグメントURIが記述されるメディアプレイ開始時刻を含めて、存続時間を記述する。表現要素は、単一のストリーム特性について、例えば、200kbpsストリームについてのメディアセグメントの第1のトラックと400kbpsのストリームについてのメディアセグメントの第2のトラックとについて、すべてのURIをカプセル化する。
以下に示すMPDでは、第1の期間はテンプレートに基づく構成を用いて記述され、第2の期間はプレイリスト構成を用いて記述される。すでに上述したように、プレイリスト構成によって記述されたメディアセグメントについてのコンテンツの存続時間は、異なる表現については、異なっている。
第1の期間の間、メディアセグメントは、200kbpsの品質レベルについての10秒間のメディアデータと、400kbpsの品質レベルについての5秒間のメディアデータとを含んでいる。しかし、個々のメディアセグメントは、まさに、まったく同じメディア存続時間を含んでいる。
第2の期間の間、メディアセグメントの存続時間は変化する。帯域幅属性が200kbpsに設定されているLQ表現については、メディアセグメントは平均して20秒間のメディアデータを含んでおり、一方でHQバージョンのメディアセグメント、すなわち、帯域幅属性が400kbpsに設定されているセグメントについては、メディアセグメントは平均して10秒間しか含んでいない。
Figure 0005667646
Figure 0005667646
Figure 0005667646
MPDは、必要に応じていつでも更新されてよい。図8aおよび8bは、略図であるが、ここで図8aは、それぞれの表現を持つ2つの期間要素801、802を含む古いMPDの図であり、図8bは、メディアプレイタイムラインの終点に追加された第3の期間の中に3つの代替表現を含む追加の期間要素803を備えた、更新されたMPDの図である。更新の間、最新の期間記述は、メディアURIの有効範囲を記述するように修正されなければならない。また、テンプレート構成も、新たな表現の追加に起因して変更されてもよい。図8aおよび図8bに示すように、期間801および802の命令は、古いMPDにおいても更新されたMPDにおいても同一である。
MPDの更新がまったく適用されない場合であっても、ライブ事例についてのサポートは可能でありうる。明確な終点を有するものであればいかなるライブ送信であっても、少なくとも大まかな精度でクライアントがサーバと時間的に同期していれば、関連のMPDを通して記述することができる。そのような状況でMPDは、それぞれのメディアプレイタイムラインとサーバの時刻またはウォールクロック時間、例えばNTP(Network Time Period)とのマッピングを記述するように構成されてもよい。
例えば、MPDが、メディアプレイ時間は1605h CETに始まると定義してもよい。クライアントが一定の精度で時間的に同期された場合、クライアントは、最新の利用可能なメディアセグメントかまたはクライアントで現在構成中のメディアセグメントを判定することができるであろう。
タイムシフトは、ライブ事例に依存するであろう。「最新の利用可能なメディアセグメント」の十分に正確な理解を端末が有する場合、タイムシフトバッファは、「通常のメディアプレイ時間」または「セグメントの番号」において記述されてもよい。他の方法、例えばウォールクロック時間を通してタイムシフトバッファを記述することも可能である。
次に、サーバから利用可能になるようにされうるMPD更新の場合について、クライアントがMPD更新に気付くことを可能にする2つの異なる手法を以下に記述しよう。
第1の実施形態によって、クライアントが、サーバから、またはキャッシュあるいはいずれかの他の中間ネットワークノードから、新たなMPD更新についての頻繁なポーリングを行うように構成される。ポーリングの間隔は、典型的にはMPDの記述の中に与えられるが、代替案として、事前設定されてもよい。MPDファイルは、典型的にはメディアセグメントより非常に小さく、従って、HTTPキャッシュにとって、メディアセグメントを処理するよりはるかに容易である。また、従来のキャッシング階層は、典型的には、徐々に増加する多数の小さな文書を、それゆえ、更新されたMPDを、処理するよう、最適化されている。
別の実施形態によると、クライアントは、代わりに、プッシュ通知手法を適用するように構成され、この場合、クライアントは、サーバによって、典型的には関連のメディアセグメントと一緒にインチャネルで送信される通知を受信することによって、MPD更新について通知される。新たなMPDは、関連のメディアセグメントと一緒に、サーバによってマルチパートMIMEコンテナの中で提供されてもよい。中間的なキャッシュが、いずれかの他のタイプのファイルが処理されるのと同様に、そのようなマルチパートMIMEコンテナを処理してもよい。クライアントがタイムシフトモードにある場合、クライアントは、典型的には、いずれかの探索動作を開始する前にMPD更新についてポーリングするように構成されるであろう。
次に、上記のいずれかの実施形態による構造を有するMPDを提供するように構成されたサーバについて、図9の簡略化したブロックスキームを参照しながら記述しよう。サーバ900は、プレイタイムラインの個々の期間について、関連の表現と、任意で、代替の期間構成とを、第1の通信ユニット920を介していずれかのタイプの従来のメディアソース(図示しない)からサーバ900に入力データとして提供されたそれぞれのメディア表現について、生成するように構成された生成ユニット910を備えており、それにより、それぞれの表現に関連する選択可能な表現属性が、クライアントに選択可能な選択肢として入手可能になる。
また、生成ユニット910は、典型的には、必要な場合にはいつでも上記の手順に従ってMPDを更新するように構成される。本書ではサーバ900の提供ユニット930と呼ばれるもう1つのユニットが、要求側クライアントがMPDにアクセスできるようになるようにMPDを提供するように構成される。従って、一実施形態によると、提供ユニット930は、MPDをいずれかのタイプの記憶手段の中に記憶するように構成され、それにより、サーバ900にアクセスするクライアントが、本書では第2の通信ユニット940によって表す通信ユニットを介して記憶手段にMPDを要求し、取得してもよい。本書では、そのような記憶機能性は、いずれかのタイプの従来の記憶機能性に基づきうる記憶ユニット950によって提供される。あるいは、提供ユニット930は、中間的なネットワークノード、例えばキャッシュに対して、第2の通信ユニット940を介してMPDを送信するように構成され、それによって、クライアントが、必要なときにはいつでも中間ノードからMPDを取得できるようになされてもよい。
また、上記のように、サーバ900は、サーバ900によって以前に生成されてサーバ900に記憶されたMPDを更新するように構成されてもよい。また、そのような更新の選択肢が適用されることになる場合、生成ユニット910は、適切な機能性を備えるであろうが、それによって、MPDの既存の期間要素に対する1つ以上の表現の追加と、新たな期間要素の追加と、期間要素から1つ以上の表現を削除することと、および/または、1つ以上の表現を修正することとがそれに従って可能になりうる。MPDを修正するための命令は、本書ではUI960によって表す、いずれかのタイプのユーザインタフェース(UI)を介して生成ユニット910に提供されてもよい。MPDによって記述されるメディアプレイ時間は、「未来」に限定されない。コンテンツプロバイダは、既存の期間要素または新たな期間要素の1つ以上の新たな表現を追加しようと思う場合、サーバ900を、新たな期間記述がメディアプレイタイムラインの最後に追加され、いずれの以前の期間要素も変更されないままであるように制御してもよい。
次に、対応するかたちで、例えば移動電話、セットトップボックス、ラップトップまたはPCのような、メディア表現をレンダリングでき、かつ、MPDおよび関連するメディアセグメントをネットワークノードから、例えばサーバまたはキャッシュから要求できる、いずれかのタイプのユーザデバイスの中に実装されるのに適したクライアントを、図10の簡略化したブロックスキームを参照しながら以下により詳細に記述しよう。
クライアント1000は、典型的にはユーザインタフェース(UI)を介して入力されたコマンドに基づいて、通信ユニット1020を介してMPDおよび関連するメディアセグメントをネットワークノードに要求して取得するように構成された要求ユニット1010を備えており、ユーザインタフェース(UI)は、本書ではUI1030によって表されるが、いずれのタイプの従来のUIであってもよい。また、クライアント1000が、見込まれる選択肢として上述したように、更新されたMPDについてポーリングするように構成されている場合、要求ユニット1010は、そのようなポーリングを、典型的にはMPDから以前に取得されたポーリング間隔に従って、実行するように構成されてもよい。ポーリングメカニズム自体は当業者には周知であり、それゆえ、本書の範囲外である。
また、クライアント1000は記憶ユニット1040も備えていて、これは、いずれかのタイプの利用可能な記憶技術に基づいて構成され、かつ、要求ユニット1010に接続されていてもよく、それにより、通信ユニット1020を介して要求ユニット1010によって受信された後、MPDが記憶され、それゆえ、メディアプレゼンテーションの目的でクライアント1000がアクセスできるようになされている。また、クライアント1000は、それぞれの期間要素に適用されうるような1つ以上の選択基準に従って表現および/または期間構成を選択するように構成された選択ユニット1050を備えている。選択ユニット1050は、例えば、ユーザによって選択された好適言語のような選択肢を、UI1030を介して受信してもよく、次いで、その入力が、関連の期間構成またはそれぞれの期間要素についての表現を選択するために選択ユニット1050によって用いられる。
エンドユーザに最良の品質の体験を提供するために、クライアント1000は、利用可能なリンクのビットレートによる表現間で、またはいずれかの他の品質に関連する推定値によって表現を切り換えることによって、メディア表現のメディア品質を適応的に調整するように構成されてもよい。また、そのような選択肢を提供するために、クライアント1000は、適切なパラメータを典型的には連続的に推定し、かつ、その推定値に基づいて最適で実装特有の表現を選択するように構成されたユニットを備えていてもよい。本書では、そのような機能性は、推定ユニット1060によって提供される。推定ユニット1060は、典型的には、推定されたビットレートが、事前設定されたマージンを持つ現在選択されている表現によって表されるビットレートを上回るもしくは下回る場合に、或る代替表現から別の表現へと切り換えるように構成されてもよい。
あるいは、またはUI1030から提供される入力に加えて、選択ユニット1050は、それゆえ、推定ユニット1060から提供された入力データだけ、もしくは、UI1030からの入力との組み合わせに基づいて決定を行うように構成されてもよい。さらに、選択ユニット1050は、事前設定され記憶された設定もしくは選好を、上記の見込まれる入力データと組み合わせて、あるいは優先設定として考慮するように構成されてもよい。一例として、クライアントが常駐しているユーザデバイスのディスプレイは事前設定され、かつ、他の選択肢より優先されてもよい。
また、図10の選択ユニット1050は、選択された表現のURIを順に並べたそれぞれのリストに従って、選択されたメディアセグメントを1つ以上のそれぞれのネットワークノードから要求するように要求ユニット1010に命令することができるように、動作的に要求ユニット1010に接続されている。
また、典型的には、通信ユニット1020は、典型的にはMPDから取得された同期情報に基づいて、サーバとの同期を可能にするための機能性を備えている。
選択ユニット1050によって表現の選択が実行され、対応するメディアセグメントが要求ユニット1010によって要求されると、関連のメディアセグメントが典型的にはクライアントの通信手段によって、または、クライアント1000が常駐するデバイスによって受信され、ここでメディアセグメントは、それらが従来のやり方でレンダリングされうるようにバッファリングされる。また、メディアセグメントを取得して処理するプロセスは、当業者には周知であり、それゆえ、本書ではこれ以上詳しくは論じない。
理解されるべきだが、図9のサーバも図10のクライアントもいずれも、簡略化した構成を表しており、ここでは、典型的には通常のサーバもしくはクライアントの中にそれぞれ含まれるけれども本書で提案するMPDの取扱の理解には必須ではないエンティティは、分かりやすくするため省略されている。加えて、理解されるべきだが、これらの図の中に示すユニットは、1つのありうる構成として考えられるだけであって、他の機能性ユニットならびに他の組み合わせの機能性ユニットも、記述された機能性が上記の一般原則に従って実行可能である限り、適用可能でありうる。
サーバならびに上記のクライアントは、それぞれのハードウェアに基づく解決策として、ソフトウェアに基づく解決策として、あるいはそれらの組み合わせとして、実装されてもよい。前者の場合、それぞれ図9および図10で記述されたそれぞれのユニットは、それぞれのASIC(Application Specific Integrated Circuit)構成の形で実現されてもよい。
次に、ソフトウェアに基づく解決策として構成されたサーバ1100について、図11を参照しながら記述するが、ここではプロセッサ1110が、記憶ユニット830と、第1の通信ユニット820と、第2の通信ユニット840とに接続されていて、記憶ユニット830の中に維持された命令に基づいてサーバ機能性を制御するように構成されている。詳細には、プロセッサ1110は、図8の生成ユニット810の機能性に対応する機能性を実現することによってMPDを生成するように構成された生成機能1120と、図8の提供ユニット930の機能性に対応する機能性を実現することによって生成されたMPDを提供するように構成された提供機能1130とを制御するように構成されている。
次に、対応するかたちで、ソフトウェアに基づくクライアント1200について、図12を参照しながら以下に記述するが、ここでは、通信ユニット920と記憶ユニット940とに接続されたプロセッサ1210が、記憶ユニット940の中に含まれる命令に基づいて、図9の対応する要求ユニット910および選択ユニット950によってそれぞれ行われることに対応する機能性を実行するために、要求機能1220と選択機能1230とを制御するように構成されている。
加えて、プロセッサ1210は、図9の推定ユニット960の機能性に対応するかたちで推定機能性を実行するように構成された推定機能1240を制御するように構成されてもよい。

Claims (37)

  1. 通信ネットワークのサーバによって実行される、HTTPメディアストリームにクライアントがアクセスできるようにする方法であって、
    MPD(Media Presentation Description)を生成するステップであって、メディア再生タイムラインに従って連続的に配列される少なくとも2つの期間要素を前記MPDに与えるようにし、各期間要素が少なくとも1つの表現を含むと共に前記期間要素のうちの少なくとも1つが少なくとも2つの表現を含むように少なくとも1つの表現を各期間要素に与えるように、各表現には少なくとも1つのメディアセグメントURIを順に並べたシーケンスが与えられ、各メディアセグメントURIは前記HTTPメディアストリームの少なくとも1つのメディアセグメントを参照する、ステップと、
    前記MPDを提供するステップであって、これにより、前記クライアントが、前記MPDを取得し、前記MPDの内容に基づいて少なくとも1つの期間要素についての表現を選択し、選択した各表現について参照される各々のメディアセグメントを取得することができるようにする、ステップと、
    を備えることを特徴とする方法。
  2. 前記生成するステップは、
    少なくとも1つのメディアセグメントURIを順に並べたシーケンスを少なくとも1つ用意するステップであって、当該シーケンスは少なくとも1つの表現として提供されると共にテンプレート形式で記述される、ステップ
    を備えることを特徴とする請求項1に記載の方法。
  3. 前記生成するステップは、
    少なくとも1つの前記表現を用意するステップであって、当該表現は少なくとも2つのメディアセグメントURIを順に並べたシーケンスとして提供されると共にプレイリスト形式で記述される、ステップ
    を備えることを特徴とする請求項1又は2に記載の方法。
  4. 前記生成するステップは、
    同一の期間要素に関連する各表現に対して第1の表現属性を提供するステップであって、当該第1の表現属性は前記表現において参照されるメディアセグメントを代表する設定を有し、これにより、前記クライアントが前記設定の各々に基づいて各期間要素の表現を選択することができるようにする、ステップ
    を備えることを特徴とする請求項1乃至3のいずれか1項に記載の方法。
  5. 前記生成するステップは、
    各期間要素に対して第2の表現属性を与えるステップと、
    前記期間要素に関連する全てのメディアセグメントに共通する前記第2の表現属性の設定を選択するステップであって、当該設定が前記期間要素に関連する全ての表現を代表するようにする、ステップと、
    を備えることを特徴とする請求項4に記載の方法。
  6. 前記生成するステップは、
    各期間要素の各表現において各第2の表現属性を提供するステップであって、前記第2の表現属性が表現レベルで記述されるようにする、ステップ、又は、
    各期間要素において各第2の表現属性を提供するステップであって、前記第2の表現属性が期間要素レベルで記述されるようにする、ステップ
    を備えることを特徴とする請求項5に記載の方法。
  7. 前記生成するステップは、
    前記MPDの少なくとも1つの期間要素に対して少なくとも2つの代替期間構成と第2の表現属性とを与えるステップであって、各期間構成には少なくとも2つの表現が与えられる、ステップと、
    前記第2の表現属性の設定を選択するステップであって、当該設定が各期間構成を代表するようにし、これにより、前記クライアントが前第1及び第2の表現属性の一方又は両方に基づいて前記期間要素の表現を選択できるようにする、ステップと、
    を備えることを特徴とする請求項4に記載の方法。
  8. 前記第1及び第2の表現属性の各々は、コーデック、ビットレート、解像度、及び言語のうちの任意のものを規定する
    ことを特徴とする請求項5、6、又は7に記載の方法。
  9. 前記MPDに対して少なくとも1つの表現を追加すること、前記MPDから少なくとも1つの表現を削除すること、又は、前記MPDの少なくとも1つの表現を変更することにより、前記MPDを更新するステップ
    を更に備えることを特徴とする請求項1乃至8のいずれか1項に記載の方法。
  10. 前記生成するステップは、
    前記MPDに対してポーリング間隔の指示情報を与えるステップであって、これにより、前記クライアントが前記指示情報により決定される間隔でMPDの更新をポーリングすることができるようにする、ステップ
    を備えることを特徴とする請求項9に記載の方法。
  11. 前記更新されたMPDを前記クライアントへプッシュするステップ
    を更に備えることを特徴とする請求項9に記載の方法。
  12. 前記生成するステップは、
    前記MPDに対してサーバのタイムライン又はウォールクロック時間のうちの任意のものに対する前記HTTPメディアストリームの前記メディア再生タイムラインのマッピングに関する記述を与えるステップ
    を備えることを特徴とする請求項1乃至11のいずれか1項に記載の方法。
  13. 前記生成するステップは、
    同一の期間要素に関する異なる表現のメディアセグメントを用意するステップであって、当該異なる表現のメディアセグメント同士が前記期間要素の開始の時点で時間的に揃っているようにする、ステップ
    を備えることを特徴とする請求項1乃至12のいずれか1項に記載の方法。
  14. 通信ネットワークのクライアントによって実行される、前記通信ネットワークの少なくとも1つのネットワークノードからHTTPメディアストリームを取得する方法であって、
    メディア再生タイムラインに従って連続的に配列される少なくとも2つの期間要素を含むMPD(Media Presentation Description)を前記少なくとも1つのネットワークノードから取得するステップであって、各期間要素は少なくとも1つの表現を含むと共に前記期間要素のうちの少なくとも1つは少なくとも2つの表現を含み、各表現は少なくとも1つのメディアセグメントURIを順に並べたシーケンスを含み、各メディアセグメントURIは前記HTTPメディアストリームの少なくとも1つのメディアセグメントを参照する、ステップと、
    前記MPDの内容に基づいて前記期間要素の少なくとも1つについての表現を選択するステップと、
    選択した各表現について、各表現に関連する参照されるメディアセグメントを取得するステップと、
    を備えることを特徴とする方法。
  15. 前記選択するステップは、
    各期間要素の1以上の表現属性に基づいて各表現を選択するステップであって、各表現属性は各表現又は期間要素を代表する設定を有する、ステップ
    を備えることを特徴とする請求項14に記載の方法。
  16. 前記少なくとも1つのネットワークノードから前記クライアントへ前記HTTPメディアストリームを送信するのに利用可能なビットレートを推定するステップと、
    前記1以上の表現属性のうちの少なくとも1つを考慮することにより前記推定に基づいて少なくとも1つの期間要素の表現を選択するステップであって、ビットレートは表現属性に依存する、ステップと、
    を更に備えることを特徴とする請求項15に記載の方法。
  17. 前記選択するステップは、
    少なくとも1つのクライアント能力を更に考慮することにより各表現を選択するステップ
    を備えることを特徴とする請求項15又は16に記載の方法。
  18. MPDの更新がないか前記ネットワークノードをポーリングするステップと、
    前記MPDが更新されたと判定された場合に、当該更新されたMPDを取得して記憶するステップと、
    を更に備えることを特徴とする請求項14乃至17のいずれか1項に記載の方法。
  19. 前記ポーリングするステップは、以前に取得したMPDから取得されるポーリング間隔に従って実行される
    ことを特徴とする請求項18に記載の方法。
  20. 前記少なくとも1つのネットワークノードから提供されるプッシュ通知の中で更新されたMPDを受信するステップと、
    前記更新されたMPDを記憶するステップと、
    を更に備えることを特徴とする請求項14乃至17のいずれか1項に記載の方法。
  21. HTTPメディアストリームにクライアントがアクセスできるようにすることができる、通信ネットワークのサーバであって、
    MPD(Media Presentation Description)を生成するように構成された生成ユニットであって、メディア再生タイムラインに従って連続的に配列される少なくとも2つの期間要素を前記MPDに与えるようにし、各期間要素が少なくとも1つの表現を含むと共に前記期間要素のうちの少なくとも1つが少なくとも2つの表現を含むように少なくとも1つの表現を各期間要素に与えるように、各表現には少なくとも1つのメディアセグメントURIを順に並べたシーケンスが与えられ、各メディアセグメントURIは前記HTTPメディアストリームの少なくとも1つのメディアセグメントを参照する、生成ユニットと、
    前記MPDにクライアントがアクセスできるようにするように構成された提供ユニットであって、これにより、前記クライアントが、前記MPDを取得し、前記MPDの内容に基づいて少なくとも1つの期間要素についての表現を選択し、選択した各表現について参照される各々のメディアセグメントを取得することができるようにする、提供ユニットと、
    を備えることを特徴とするサーバ。
  22. 前記生成ユニットは、テンプレート形式、プレイリスト形式、又はその組み合わせで記述される少なくとも1つの表現を前記MPDに与えるように構成される
    ことを特徴とする請求項21に記載のサーバ。
  23. 前記生成ユニットは、各メディアセグメントURIについて、参照される1以上のメディアセグメントの各々の持続時間の指示情報を前記MPDに与えるように構成される
    ことを特徴とする請求項21又は22に記載のサーバ。
  24. 前記生成ユニットは、同一の期間要素に関連する各表現に対して表現属性及び各表現属性の設定を与え、前記クライアントが前記表現属性に基づいて前記表現を選択できるようにするように構成される
    ことを特徴とする請求項21、22、又は23に記載のサーバ。
  25. 前記生成ユニットは、少なくとも2つの異なるカテゴリの表現属性を提供し、前記表現属性を階層的な態様で提供し、各表現属性が期間レベルで提供された場合には、当該表現属性は各期間要素の全ての表現に対して有効となるようにし、各表現属性が表現レベルで提供された場合には、当該表現属性は各期間要素の各表現に対して有効となるようにする、ように構成される
    ことを特徴とする請求項24に記載のサーバ。
  26. 前記生成ユニットは、前記MPDに対して少なくとも1つの表現を追加すること、前記MPDから少なくとも1つの表現を削除すること、又は、前記MPDの少なくとも1つの表現を変更することにより、前記MPDを更新するように構成される
    ことを特徴とする請求項21乃至25のいずれか1項に記載のサーバ。
  27. 前記生成ユニットは、前記MPDに対してポーリング間隔の指示情報を与え、これにより、前記MPDを取得したクライアントが前記ポーリング間隔の指示情報により決定される間隔でMPDの更新をポーリングすることができるようにするように構成される
    ことを特徴とする請求項26に記載のサーバ。
  28. MPDの更新が実行された際に認識して当該更新されたMPDを前記クライアントへプッシュするように構成された通信ユニットを更に備える
    ことを特徴とする請求項26に記載のサーバ。
  29. 前記生成ユニットは、前記MPDに対してサーバのタイムライン又はウォールクロック時間のうちの任意のものに対する前記HTTPメディアストリームの前記メディア再生タイムラインのマッピングに関する記述を与えるように構成される
    ことを特徴とする請求項21乃至28のいずれか1項に記載のサーバ。
  30. 前記生成ユニットは、同一の期間要素に関する異なる表現のメディアセグメントを用意し、当該異なる表現のメディアセグメント同士が前記期間要素の開始の時点で時間的に揃っているようにするように構成される
    ことを特徴とする請求項29に記載のサーバ。
  31. 通信ネットワークの少なくとも1つのネットワークノードからHTTPメディアストリームを取得可能な、前記通信ネットワークのクライアントであって、
    メディア再生タイムラインに従って連続的に配列される少なくとも2つの期間要素を含むMPD(Media Presentation Description)を前記少なくとも1つのネットワークノードから取得するように構成された要求ユニットであって、各期間要素は少なくとも1つの表現を含むと共に前記期間要素のうちの少なくとも1つは少なくとも2つの表現を含み、各表現は少なくとも1つのメディアセグメントURIを順に並べたシーケンスを含み、各メディアセグメントURIは前記HTTPメディアストリームの少なくとも1つのメディアセグメントを参照し、各表現に関連する参照されるメディアセグメントを取得するように構成された、要求ユニットと、
    前記MPDの内容に基づいて各表現を選択するように構成された選択ユニットと、
    を備えることを特徴とするクライアント。
  32. 前記選択ユニットは、前記表現の少なくとも1つの表現属性に基づいて各表現を選択し、これにより、前記要求ユニットが前記選択された表現によって参照される1以上のメディアセグメントを取得できるようにするように構成される
    ことを特徴とする請求項31に記載のクライアント。
  33. 前記少なくとも1つのネットワークノードから前記クライアントへ前記HTTPメディアストリームを送信するのに利用可能なビットレートを推定し、これにより、前記選択ユニットが、前記少なくとも1つの表現属性のうちの少なくとも1つを考慮することにより前記推定に基づいて少なくとも1つの期間要素の表現を選択できるようにするように構成された推定ユニットを更に備え、
    ビットレートは表現属性に依存する
    ことを特徴とする請求項32に記載のクライアント。
  34. 前記選択ユニットは、少なくとも1つのクライアント能力を更に考慮することにより各表現を選択するように更に構成される
    ことを特徴とする請求項32又は33に記載のクライアント。
  35. 前記要求ユニットは、MPDの更新がないか前記ネットワークノードをポーリングし、前記MPDが更新されたと判定された場合に、当該更新されたMPDを前記ネットワークノードから取得するように更に構成される
    ことを特徴とする請求項31乃至34のいずれか1項に記載のクライアント。
  36. 前記要求ユニットは、以前に取得したMPDから取得されるポーリング間隔を適用することにより、MPDの更新がないか前記ネットワークノードをポーリングするように構成される
    ことを特徴とする請求項35に記載のクライアント。
  37. 前記要求ユニットは、更新されたMPDを含むプッシュ通知を前記少なくとも1つのネットワークノードから受信するように構成される
    ことを特徴とする請求項31乃至34のいずれか1項に記載のクライアント。
JP2012548920A 2010-01-18 2011-01-18 Httpメディアストリーム配信のための方法および装置 Expired - Fee Related JP5667646B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US29583010P 2010-01-18 2010-01-18
US61/295,830 2010-01-18
US29610410P 2010-01-19 2010-01-19
US61/296,104 2010-01-19
PCT/SE2011/050054 WO2011087449A1 (en) 2010-01-18 2011-01-18 Methods and arrangements for http media stream distribution

Publications (2)

Publication Number Publication Date
JP2013517676A JP2013517676A (ja) 2013-05-16
JP5667646B2 true JP5667646B2 (ja) 2015-02-12

Family

ID=43734037

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012548920A Expired - Fee Related JP5667646B2 (ja) 2010-01-18 2011-01-18 Httpメディアストリーム配信のための方法および装置

Country Status (8)

Country Link
US (1) US9621610B2 (ja)
EP (1) EP2526671B1 (ja)
JP (1) JP5667646B2 (ja)
KR (1) KR101636108B1 (ja)
CN (1) CN102714662B (ja)
CA (1) CA2784233C (ja)
DK (1) DK2526671T3 (ja)
WO (1) WO2011087449A1 (ja)

Families Citing this family (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
JP5200204B2 (ja) 2006-03-14 2013-06-05 ディブエックス リミテッド ライアビリティー カンパニー 高信頼性システムを含む連合型デジタル権限管理機構
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
EP4184341A1 (en) 2007-01-05 2023-05-24 DivX, LLC Video distribution system including progressive playback
WO2009065137A1 (en) 2007-11-16 2009-05-22 Divx, Inc. Hierarchical and reduced index structures for multimedia files
US8260877B2 (en) 2008-12-31 2012-09-04 Apple Inc. Variant streams for real-time or near real-time streaming to provide failover protection
US20100169458A1 (en) 2008-12-31 2010-07-01 David Biderman Real-Time or Near Real-Time Streaming
US8156089B2 (en) 2008-12-31 2012-04-10 Apple, Inc. Real-time or near real-time streaming with compressed playlists
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
EP2507995A4 (en) 2009-12-04 2014-07-09 Sonic Ip Inc SYSTEMS AND METHODS FOR TRANSPORTING ELEMENTARY BIT TRAIN CRYPTOGRAPHIC MATERIAL
US8805963B2 (en) 2010-04-01 2014-08-12 Apple Inc. Real-time or near real-time streaming
GB201105502D0 (en) 2010-04-01 2011-05-18 Apple Inc Real time or near real time streaming
CN102238179B (zh) 2010-04-07 2014-12-10 苹果公司 实时或准实时流传输
US8667164B2 (en) 2010-04-26 2014-03-04 Samsung Electronics Co., Ltd. Method and apparatus for playing live content
KR101652255B1 (ko) * 2010-04-26 2016-09-09 삼성전자주식회사 라이브 컨텐츠의 효과적인 재생방법
US9253548B2 (en) * 2010-05-27 2016-02-02 Adobe Systems Incorporated Optimizing caches for media streaming
GB201010456D0 (en) * 2010-06-22 2010-08-04 Vodafone Ip Licensing Ltd Congestion control for streaming data
CN106060102B (zh) 2010-09-01 2019-12-24 艾迪尔哈布股份有限公司 媒体提供方法和终端
US20120124179A1 (en) * 2010-11-12 2012-05-17 Realnetworks, Inc. Traffic management in adaptive streaming protocols
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
KR20120079880A (ko) * 2011-01-06 2012-07-16 삼성전자주식회사 스트리밍 서비스 시스템에서 북마크 생성 장치 및 방법
US9661104B2 (en) * 2011-02-07 2017-05-23 Blackberry Limited Method and apparatus for receiving presentation metadata
KR101854382B1 (ko) * 2011-03-16 2018-05-04 한국전자통신연구원 레프리젠테이션을 사용하는 스트리밍 콘텐츠 제공 장치 및 방법
US8856283B2 (en) 2011-06-03 2014-10-07 Apple Inc. Playlists for real-time or near real-time streaming
US8843586B2 (en) * 2011-06-03 2014-09-23 Apple Inc. Playlists for real-time or near real-time streaming
WO2012174301A1 (en) 2011-06-14 2012-12-20 Related Content Database, Inc. System and method for presenting content with time based metadata
US20130191745A1 (en) * 2012-01-10 2013-07-25 Zane Vella Interface for displaying supplemental dynamic timeline content
US8812662B2 (en) 2011-06-29 2014-08-19 Sonic Ip, Inc. Systems and methods for estimating available bandwidth and performing initial stream selection when streaming content
CN103858457B (zh) 2011-08-01 2018-11-13 英特尔公司 用于身份提供商(IdP)漫游/代理的多跳单点登录(SSO)
US9590814B2 (en) 2011-08-01 2017-03-07 Qualcomm Incorporated Method and apparatus for transport of dynamic adaptive streaming over HTTP (DASH) initialization segment description fragments as user service description fragments
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8818171B2 (en) 2011-08-30 2014-08-26 Kourosh Soroushian Systems and methods for encoding alternative streams of video for playback on playback devices having predetermined display aspect ratios and network connection maximum data rates
US9955195B2 (en) 2011-08-30 2018-04-24 Divx, Llc Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels
US8806188B2 (en) 2011-08-31 2014-08-12 Sonic Ip, Inc. Systems and methods for performing adaptive bitrate streaming using automatically generated top level index files
US8799647B2 (en) 2011-08-31 2014-08-05 Sonic Ip, Inc. Systems and methods for application identification
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US9591361B2 (en) * 2011-09-07 2017-03-07 Qualcomm Incorporated Streaming of multimedia data from multiple sources
CN110087262B (zh) * 2011-10-21 2023-12-01 弗劳恩霍夫应用研究促进协会 无线资源管理设备及方法
US9712891B2 (en) * 2011-11-01 2017-07-18 Nokia Technologies Oy Method and apparatus for selecting an access method for delivery of media
US9723047B2 (en) 2011-12-29 2017-08-01 Koninklijke Kpn N.V. Network-initiated content streaming control
US8977704B2 (en) * 2011-12-29 2015-03-10 Nokia Corporation Method and apparatus for flexible caching of delivered media
US8918908B2 (en) 2012-01-06 2014-12-23 Sonic Ip, Inc. Systems and methods for accessing digital content using electronic tickets and ticket tokens
US20130182643A1 (en) * 2012-01-16 2013-07-18 Qualcomm Incorporated Method and system for transitions of broadcast dash service receptions between unicast and broadcast
US20150172348A1 (en) * 2012-01-17 2015-06-18 Telefonaktiebolaget L M Ericsson (Publ) Method for sending respectively receiving a media stream
JP6145460B2 (ja) 2012-01-19 2017-06-14 ヴィド スケール インコーポレイテッド 観視条件への適応をサポートするビデオ配信のための方法およびシステム
US9401968B2 (en) 2012-01-20 2016-07-26 Nokia Techologies Oy Method and apparatus for enabling pre-fetching of media
EP2661045A1 (en) * 2012-05-04 2013-11-06 Thomson Licensing Method and apparatus for providing a plurality of transcoded content streams
EP2870770A2 (en) * 2012-07-09 2015-05-13 VID SCALE, Inc. Power aware video decoding and streaming
CN104429093B (zh) * 2012-07-09 2018-01-05 华为技术有限公司 超文本传输协议动态自适应流媒体客户端及其会话管理实施方法
US20140052824A1 (en) * 2012-08-20 2014-02-20 Qualcomm Incorporated Conveying state information for streaming media
US20140068657A1 (en) * 2012-08-29 2014-03-06 The Directv Group, Inc. Method and apparatus for inserting advertising into a video signal at a receiving device not having a digital video recorder (non-dvr) receiver
US9936267B2 (en) 2012-08-31 2018-04-03 Divx Cf Holdings Llc System and method for decreasing an initial buffering period of an adaptive streaming system
US8949206B2 (en) 2012-10-04 2015-02-03 Ericsson Television Inc. System and method for creating multiple versions of a descriptor file
US10708335B2 (en) 2012-11-16 2020-07-07 Time Warner Cable Enterprises Llc Situation-dependent dynamic bit rate encoding and distribution of content
JP6141628B2 (ja) * 2012-12-07 2017-06-07 ハンファテクウィン株式会社Hanwha Techwin Co.,Ltd. 映像信号圧縮装置、映像信号伸長装置、映像信号圧縮方法、及び映像信号伸長方法
JP6139872B2 (ja) * 2012-12-10 2017-05-31 キヤノン株式会社 情報処理装置及びその制御方法、プログラム、記憶媒体、並びに、映像処理システム
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9426196B2 (en) 2013-01-04 2016-08-23 Qualcomm Incorporated Live timing for dynamic adaptive streaming over HTTP (DASH)
WO2014113604A1 (en) 2013-01-16 2014-07-24 Huawei Technologies Co., Ltd. Url parameter insertion and addition in adaptive streaming
FR3002105A1 (fr) * 2013-02-13 2014-08-15 France Telecom Procede de selection de la representation des segments d'un contenu multimedia transmis sur un reseau de communication
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
HUE043713T2 (hu) * 2013-03-29 2019-09-30 Intel Ip Corp Minõségtudatos sebességillesztési technikák DASH streameléshez
US9438652B2 (en) * 2013-04-15 2016-09-06 Opentv, Inc. Tiered content streaming
EP2988521A4 (en) * 2013-04-19 2016-12-21 Sony Corp INFORMATION PROCESSING DEVICE, CONTENT PROCESSING AND COMPUTER PROGRAM
CN104125516B (zh) 2013-04-24 2018-09-28 华为技术有限公司 媒体文件接收、媒体文件发送方法和装置及系统
FR3005820B1 (fr) * 2013-05-17 2015-05-29 Envivio France Procede de gestion de listes de lecture personnalisees du type comprenant un gabarit d'uri et une liste d'identifiants de segments.
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9100687B2 (en) 2013-05-31 2015-08-04 Sonic Ip, Inc. Playback synchronization across playback devices
US9380099B2 (en) 2013-05-31 2016-06-28 Sonic Ip, Inc. Synchronizing multiple over the top streaming clients
EP2819367A1 (en) 2013-06-28 2014-12-31 Thomson Licensing Method for retrieving, by a client terminal, a content part of a multimedia content
EP3017605B1 (en) 2013-07-03 2022-12-07 Koninklijke KPN N.V. Streaming of segmented content
WO2015008775A1 (ja) * 2013-07-19 2015-01-22 ソニー株式会社 情報処理装置および方法
US9386067B2 (en) 2013-12-30 2016-07-05 Sonic Ip, Inc. Systems and methods for playing adaptive bitrate streaming content by multicast
US10476930B2 (en) * 2014-01-06 2019-11-12 Intel IP Corporation Client/server signaling commands for dash
WO2015109492A1 (zh) * 2014-01-23 2015-07-30 华为技术有限公司 移动终端、第一基站及流媒体分段获取方法
KR101924703B1 (ko) * 2014-02-13 2019-02-20 코닌클리즈케 케이피엔 엔.브이. 단일 메세지 요청에 기초하여 네트워크 노드로부터 다수의 청크 요청
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
US10045050B2 (en) 2014-04-25 2018-08-07 Vid Scale, Inc. Perceptual preprocessing filter for viewing-conditions-aware video coding
US10523723B2 (en) 2014-06-06 2019-12-31 Koninklijke Kpn N.V. Method, system and various components of such a system for selecting a chunk identifier
US10033824B2 (en) * 2014-06-30 2018-07-24 Samsung Electronics Co., Ltd. Cache manifest for efficient peer assisted streaming
CA2953310A1 (en) * 2014-07-07 2016-01-14 Sony Corporation Reception device, reception method, transmission device, and transmission method
KR20230156433A (ko) 2014-08-07 2023-11-14 디빅스, 엘엘씨 독립적으로 인코딩된 타일을 포함한 기본 비트스트림을 보호하는 시스템 및 방법
US9894130B2 (en) * 2014-09-23 2018-02-13 Intel Corporation Video quality enhancement
CN113259731B (zh) 2015-01-06 2023-07-04 帝威视有限公司 用于编码内容和在设备之间共享内容的系统和方法
EP3057319A1 (en) * 2015-02-10 2016-08-17 Harmonic Inc. Adaptive resolution video decoder
US9826016B2 (en) 2015-02-24 2017-11-21 Koninklijke Kpn N.V. Fair adaptive streaming
ES2768979T3 (es) 2015-02-27 2020-06-24 Divx Llc Sistema y método para la duplicación de fotogramas y la ampliación de fotogramas en codificación y envío por flujo continuo de vídeo en directo
CN104935595B (zh) * 2015-06-16 2019-10-15 华为技术有限公司 内容项聚合方法和相关装置及通信系统
CN106936808B (zh) * 2015-12-31 2021-01-26 中兴通讯股份有限公司 Http流媒体传输方法及装置
US10075292B2 (en) 2016-03-30 2018-09-11 Divx, Llc Systems and methods for quick start-up of playback
US10231001B2 (en) 2016-05-24 2019-03-12 Divx, Llc Systems and methods for providing audio content during trick-play playback
US10587934B2 (en) * 2016-05-24 2020-03-10 Qualcomm Incorporated Virtual reality video signaling in dynamic adaptive streaming over HTTP
US10129574B2 (en) 2016-05-24 2018-11-13 Divx, Llc Systems and methods for providing variable speeds in a trick-play mode
JP6669402B2 (ja) * 2016-05-26 2020-03-18 キヤノン株式会社 通信装置、システム、情報処理方法及びプログラム
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
JP7162295B2 (ja) * 2018-08-01 2022-10-28 株式会社radiko セグメントファイル分割機能を備えたストリーム配信システム及びプログラム
JP7305371B2 (ja) * 2019-02-20 2023-07-10 キヤノン株式会社 情報配信装置、情報配信方法及びプログラム
BR112021018802A2 (pt) 2019-03-21 2021-11-23 Divx Llc Sistemas e métodos para enxames de multimídia
US11606592B2 (en) * 2019-10-01 2023-03-14 Tencent America LLC Playlist events for combining multiple media timelines and content-insertion in dash streaming
WO2023056392A1 (en) * 2021-10-01 2023-04-06 Bytedance Inc. Method, apparatus, and medium for video processing

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6128653A (en) * 1997-03-17 2000-10-03 Microsoft Corporation Method and apparatus for communication media commands and media data using the HTTP protocol
JP2002149673A (ja) * 2000-06-14 2002-05-24 Matsushita Electric Ind Co Ltd データ処理装置およびデータ処理方法
WO2002057943A1 (en) * 2001-01-18 2002-07-25 Yahoo! Inc. Method and system for managing digital content, including streaming media
US6910078B1 (en) * 2001-11-15 2005-06-21 Cisco Technology, Inc. Methods and apparatus for controlling the transmission of stream data
FR2834285B1 (fr) * 2002-01-02 2004-10-01 Ondeo Degremont Procede de traitement des boues et des dechets issus du traitement d'eaux usees
US7451229B2 (en) * 2002-06-24 2008-11-11 Microsoft Corporation System and method for embedding a streaming media format header within a session description message
US8204079B2 (en) * 2002-10-28 2012-06-19 Qualcomm Incorporated Joint transmission of multiple multimedia streams
US20070110074A1 (en) * 2004-06-04 2007-05-17 Bob Bradley System and Method for Synchronizing Media Presentation at Multiple Recipients
JP2007074684A (ja) 2005-09-09 2007-03-22 Ssc Partners:Kk 動画配信システム
JP2007207328A (ja) * 2006-01-31 2007-08-16 Toshiba Corp 情報記憶媒体、プログラム、情報再生方法、情報再生装置、データ転送方法、及びデータ処理方法
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9432433B2 (en) * 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
KR20080018778A (ko) 2006-08-25 2008-02-28 삼성전자주식회사 Av 컨텐츠를 세그먼트 단위로 실행하는 방법, 제어포인트 장치 및 홈 네트워크 시스템
US8543720B2 (en) * 2007-12-05 2013-09-24 Google Inc. Dynamic bit rate scaling
CN101682744B (zh) * 2008-02-15 2013-01-30 松下电器产业株式会社 再现装置、记录装置、再现方法及记录方法
US8612620B2 (en) * 2008-04-11 2013-12-17 Mobitv, Inc. Client capability adjustment
US8379851B2 (en) * 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US20090307602A1 (en) * 2008-06-06 2009-12-10 Life In Focus, Llc Systems and methods for creating and sharing a presentation
US9167007B2 (en) * 2008-06-06 2015-10-20 Amazon Technologies, Inc. Stream complexity mapping
US8205004B1 (en) * 2009-06-26 2012-06-19 Adobe Systems Incorporated Multi-bit-rate streaming delivery
US8914835B2 (en) * 2009-10-28 2014-12-16 Qualcomm Incorporated Streaming encoded video data
EP2437465A4 (en) 2009-11-09 2012-05-16 Huawei Tech Co Ltd METHOD, SYSTEM AND NETWORK EQUIPMENT FOR IMPLEMENTING HTTP-BASED CONTINUOUS MULTIMEDIA BROADCAST SERVICE
KR101786051B1 (ko) 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치
KR101786050B1 (ko) 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 전송 방법 및 장치

Also Published As

Publication number Publication date
DK2526671T3 (en) 2017-02-27
EP2526671A1 (en) 2012-11-28
CN102714662B (zh) 2017-06-09
WO2011087449A1 (en) 2011-07-21
US20120290644A1 (en) 2012-11-15
CA2784233A1 (en) 2011-07-21
US9621610B2 (en) 2017-04-11
KR101636108B1 (ko) 2016-07-04
CN102714662A (zh) 2012-10-03
KR20120117829A (ko) 2012-10-24
JP2013517676A (ja) 2013-05-16
CA2784233C (en) 2017-05-16
EP2526671B1 (en) 2016-11-16

Similar Documents

Publication Publication Date Title
JP5667646B2 (ja) Httpメディアストリーム配信のための方法および装置
JP6404505B2 (ja) メディアコンテンツをクライアントデバイスにストリーミングするための方法および装置
JP5658820B2 (ja) Httpストリーミングのためのメディアプレゼンテーション記述デルタファイル
US10009659B2 (en) System and method for hybrid push-based streaming
CN112106375B (zh) 用于视频流式传输的差异媒体呈现描述
JP6346899B2 (ja) メディアコンテンツをクライアントデバイスにストリーミングするための方法および装置
KR101702562B1 (ko) 멀티미디어 스트림 파일의 저장 파일 포맷, 저장 방법 및 이를 이용한 클라이언트 장치
JP5542913B2 (ja) メディアファイルを生成し処理するための方法および構成
US20110307781A1 (en) Seamless playback of composite media
EP2475149A2 (en) Method for streaming multimedia data over a non-streaming protocol
EP3020208A2 (en) Adaptive data streaming method with push messages control
JP2016519895A (ja) メディアファイル受信およびメディアファイル送信方法、装置、およびシステム
GB2516116A (en) Adaptive data streaming method with push messages control
KR101950997B1 (ko) 컨텐츠 태그를 이용한 컨텐츠 관리 방법 및 그 장치
JP6609468B2 (ja) 受信装置、再生時刻制御方法、及びプログラム
JP6535273B2 (ja) 受信装置、セグメント取得方法、及びプログラム
JP6397341B2 (ja) 受信装置、バッファ管理方法、及びプログラム
KR101652255B1 (ko) 라이브 컨텐츠의 효과적인 재생방법
JP7324012B2 (ja) 受信装置、及びプログラム
GB2551674A (en) Adaptive data streaming method with push messages control
JP6581884B2 (ja) 受信装置、バッファ管理方法、及びプログラム
JP2023004668A (ja) 配信装置、配信方法及び配信プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141014

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141212

R150 Certificate of patent or registration of utility model

Ref document number: 5667646

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees