説明

HTTPストリーミングにおける適応のための方法と装置

通信システムにおけるHTTPサーバとHTTPクライアントとの間のメディア・コンテンツの適応型HTTPストリーミングを制御する方法であり、そのシステムでは、メディア・コンテンツを複数の周期で構成し、各々のその周期にはメディア・セグメントの複数のレプリゼンテーションを備え、その方法には、複数のレプリゼンテーションのメディア・セグメントのために、時間アライメント情報を提供する(S10)ステップを含み、その時間アライメント情報は、メディア・コンテンツの複数のレプリゼンテーションのセグメント間の時間関係についての指標を提供する。更に、本方法には、メディア・セグメントにキーフレーム位置情報を提供する(S20)ステップを含み、そのキーフレーム位置情報は、複数のレプリゼンテーションのメディア・セグメントにおけるキーフレームの位置についての指標を提供する。最後に、提供された時間アライメント情報と提供されたキーフレーム位置情報との少なくとも1つに基づき、メディア・コンテンツのHTTPストリーミングの適応を制御する(S30)。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般的には通信システムに関し、具体的には、そのようなシステムにおけるHTTPストリーミング・セッション間の適応に関するものである。
【背景技術】
【0002】
メディア、具体的にはビデオのHTTP(ハイパーテキスト転送プロトコル)ストリーミングにおいて関心が増加している。近年、これは単純なプログレッシブ・ダウンロードを超え、適応性およびライブ・コンテンツという2つの新しい特徴を与えている。このことを実現する方法は、コンテンツを、多数のセグメント、またはファイルに分割するということであり、それぞれは小さな周期のコンテンツ、例えば10秒間のコンテンツに対応する。クライアントには、メディア・プレゼンテーション記述(MDP)としても知られるマニフェスト・ファイルが提供され、これは、異なるセグメントおよびそれらをどこにフェッチするかを一覧にし、クライアントはそれらを1つずつフェッチする。それは、RTSP(リアルタイム・ストリーミング・プロトコル)のようなプロトコルに基づくストリーミング・サービスとは対照的に、サーバまたはキャッシュのいかなる状態も必要としないので、例えばHTTPのような標準のウェブ・プロトコルを介してフェッチする異なるセグメント/ファイルへの分割は、キャッシュ・フレンドリ、またはCDN(コンテンツ配信ネットワーク)フレンドリであるともいわれる。多数のレベルが周期およびセグメント内で可能である。例えば、1つの周期内でコンテンツを変更してアド・インサートを行い、その後、次の周期で最初のコンテンツ・ストリームに戻ることが可能である。
【0003】
適応性は多数のバージョンのコンテンツを提供することによって達成され、クライアントは、最良の所定のネットワーク性能/ダウンロード時間であると推定するバージョンをフェッチするよう選択できる。クライアントの観点からは、もし異なるバージョンまたはレプリゼンテーションのセグメントが同じ継続時間を持つなら、適応性ははるかに容易に解決され、クライアントは、各々のセグメント・ダウンロードがどのバージョンを選択すべきかを単に決定すればよい。しかしながら、セグメントの全てのバージョンに同じ継続時間を与えると、それらのそれぞれのサイズは著しく変化するであろう。このことはキャッシイング・サーバにとって決して最適ではなく、もしセグメントが同じ、または類似のサイズであるなら、そのサーバはしばしばより良好な性能を持つのである。したがって、サイズ整列はキャッシュ/サーバにとっては望ましいが、クライアントにおける適応性メカニズムをより困難にする。サーバに対して最適化すべきか、それともクライアントに対して最適化すべきかについては、トレードオフである。
【0004】
この問題に対する従来の2つの解決策は、マイクロソフト社のスムースストリーミング(SmoothStreaming)およびアップル社のライブストリーミング(LiveStreaming)であり、両方とも同じ継続時間のトラックを選択した。それに代えて、3GPP SA4は同じサイズのトラックを主として取り扱っている。
【0005】
上記に基づき、クライアント側での適応性能と、サーバ/キャッシュでの同じサイズのファイル/セグメントとの間で、異なるトレードオフを許容する解決策が必要である。
【発明の概要】
【0006】
上記の不利益点の少なくとも幾つかを取り除き、改善した適応型HTTPメディア・ストリーミング制御を提供することが目的である。
【0007】
第1の態様によれば、本開示は、通信システムにおいて、HTTPサーバとHTTPクライアントとの間で、メディア・コンテンツに対しする適応型HTTPストリーミングを制御する方法を提示し、そのメディア・コンテンツは複数の周期で構成され、各々のその周期にはメディア・セグメントの複数のレプリゼンテーション(representation)を備える。本方法には、複数のレプリゼンテーションのメディア・セグメントに対して、時間アライメント情報を提供するステップを含み、その時間アライメント情報は、メディア・コンテンツの複数のレプリゼンテーションのセグメント間の時間関係についての指標を提供する。更に、本方法には、メディア・セグメントに対してキーフレーム位置情報を提供するステップを含み、そのキーフレーム位置情報は、複数のレプリゼンテーションのメディア・コンテンツにおけるキーフレームの位置についての指標を提供する。最後に、本方法には、提供された時間アライメント情報と提供されたキーフレーム位置情報との少なくとも1つに基づき、メディア・コンテンツのHTTPストリーミングの適応性を制御するステップを含む。
【0008】
第2の態様によれば、本開示は、通信システムのHTTPクライアントへのメディア・コンテンツのストリーミングのため、HTTPサーバ・ノードにおいて使用する方法を提供するが、そのメディア・コンテンツは複数の周期で構成されており、各々のその周期にはメディア・セグメントの複数のレプリゼンテーションを備える。本方法には、複数のレプリゼンテーションのメディア・セグメントに対して時間アライメント情報を提供するステップを含み、その時間アライメント情報は、メディア・コンテンツの複数のレプリゼンテーションのセグメント間の時間関係についての指標を提供する。更に、本方法には、メディア・セグメントに対してキーフレーム位置情報を提供するステップを含み、そのキーフレーム位置情報は、複数のレプリゼンテーションのメディア・セグメントにおけるキーフレームの位置についての指標を提供する。
【0009】
第3の態様によれば、本開示は、通信システムにおいて、HTTPサーバ・ノードからストリーミング・メディア・コンテンツを受信するため、HTTPクライアント・ノードで使用する方法を提示し、そのメディア・コンテンツは、複数の周期で構成され、各々のその周期には、メディア・セグメントの複数のレプリゼンテーションを備える。本方法には、複数のレプリゼンテーションのメディア・セグメントのための時間アライメント情報を受信するステップを含み、その時間アライメント情報は、メディア・コンテンツの複数のレプリゼンテーションのセグメント間の時間関係についての指標を提供する。更に本方法には、メディア・セグメントのためのキーフレーム位置情報を受信するステップを含み、そのキーフレーム位置情報は、複数のレプリゼンテーションのメディア・セグメントにおけるキーフレームの位置についての指標を提供する。最後に、本方法には、受信した時間アライメント情報と受信したキーフレーム位置情報との少なくとも1つに基づき、メディア・コンテンツのHTTPストリーミングの適応を制御するステップを含む。
【0010】
第4の態様によれば、本開示は、通信システムにおいて、HTTPクライアントへのメディア・コンテンツのストリーミングのために、HTTPサーバ・ノードを提示し、そのメディア・コンテンツは複数の周期で構成され、各々のその周期には、メディア・セグメントの複数のレプリゼンテーションを備える。サーバ・ノードには、複数のレプリゼンテーションのメディア・セグメントに時間アライメント情報を提供するよう構成した時間アライメント情報プロバイダを含み、その時間アライメント情報は、メディア・コンテンツの複数のレプリゼンテーションのセグメント間の時間関係についての指標を提供する。加えて、サーバ・ノードには、メディア・セグメントにキーフレーム位置情報を提供するよう構成したキーフレーム位置プロバイダを含み、そのキーフレーム位置情報は、複数のレプリゼンテーションのメディア・セグメントにおけるキーフレームの位置についての指標を提供する。
【0011】
第5の態様によれば、本開示は、HTTPサーバ・ノードからのメディア・コンテンツのストリーミングを受信するためのHTTPクライアント・ノードを提示し、そのメディア・コンテンツは複数の周期で構成され、各々のその周期には、メディア・セグメントの複数のレプリゼンテーションを備える。クライアント・ノードには、複数のレプリゼンテーションのメディア・セグメントのために時間アライメント情報を受信するよう構成した時間アライメント情報レシーバを含み、その時間アライメント情報は、メディア・コンテンツの複数のレプリゼンテーションのセグメント間の時間関係についての指標を提供する。更に、クライアント・ノードには、メディア・セグメントのためのキーフレーム位置情報を受信するよう構成したキーフレーム位置レシーバを含み、そのキーフレーム位置情報は、複数のレプリゼンテーションのメディア・セグメントにおけるキーフレームの位置についての指標を提供する。最後に、クライアント・ノードには、受信した時間アライメント情報と受信したキーフレーム位置情報との少なくとも1つに基づき、メディア・コンテンツのHTTPストリーミングの適応を制御するよう構成した適応コントローラを含む。
【0012】
本開示の利点には、HTTPストリーミング・セッション間の適応の制御を改善可能とすることを含む。
【0013】
本発明は、その更なる目的および利点と一緒に、添付図面とともに取る以下の説明を参照することにより、最もよく理解される可能性がある。
【図面の簡単な説明】
【0014】
【図1】本開示による方法の実施形態の概略フローチャートである。
【図2】本開示によるHTTPストリーミング・サーバ・ノードで使用する方法の実施形態の概略フローチャートである。
【図3】本開示によるHTTPストリーミング・クライアント・ノードで使用する方法の実施形態の概略フローチャートである。
【図4】本開示による、HTTPストリーミング・サーバ・ノードおよびHTTPストリーミング・クライアント・ノードの実施形態の概略図である。
【図5A】、
【図5B】、
【図5C】、
【図5D】、
【図5E】本開示の概略実施形態図である。
【図6A】、
【図6B】、
【図6C】、
【図6D】本開示の概略実施形態図である。
【図7】本開示の実装の概略図である。
【発明を実施するための形態】
【0015】
図面を通して、同様または対応する要素には同じ参照番号を使用する。
【0016】
背景技術のセクションで議論したように、現在のストリーミング・システムでは、クライアント側での適応性能とサーバ/キャッシュでの同じサイズのファイル/セグメントとの間のトレードオフをバランスさせる必要性がある。本発明者は、様々なセグメントとレプリゼンテーションの間の関係について、クライアント・ノードに表示することが可能であったなら、同じでないサイズのセグメントを許容することは有益であるだろうということを認識することに思い付いた。1つ以上のレプリゼンテーションにおける1つ以上のセグメント間の時間アライメントのような、セグメント化の現状についての場所情報に解決策を提供することにより、クライアントはそのような情報に基づき、クライアントおよびサーバ・ノードの両方のために、適応を実行できる可能性がある。
【0017】
本発明者が特定するように、セグメントの全てのバージョンまたはレプリゼンテーションが整列境界を持つかどうか、前述のマニフェストでシグナリングすることは、有益であるだろう。例えば、全てのレプリゼンテーションが同じ時間に開始する場合、これは、同じセグメント・バージョン継続時間(equalSegmentVersionDurations)というフラグを使用して行うことが可能である(これらの2つの制約条件を課して、整列が生じる)。セグメント整列は適応性を単純化するので、このフラグがセグメント整列をシグナリングする場合、クライアントは単に適応性を提供することのみを選択できる。そのフラグが設定されていない場合、セグメントのバージョンの各々のために、継続時間を提供されなければならず、もし設定されていれば、全てのバージョンに適用する継続時間のみが必要である。本開示の殆んどはそのマニフェストにおいてシグナリングについて説明するけれども、幾つかのその他の方法で時間アライメント情報をシグナリングすることは同じように可能である。
【0018】
図1を参照して、通信システムにおけるHTTPサーバ・ノードとHTTPクライアント・ノード間のメディア・コンテンツの適応型HTTPストリーミングを制御する方法の実施形態について説明する。前に述べたように、ビデオ、オーディオ等のようなメディア・コンテンツは、複数の周期として構成され、それぞれの周期には、メディア・セグメントの複数のレプリゼンテーションまたはバージョンを備える。最初に、各々のレプリゼンテーションのメディア・セグメントに対して時間アライメント情報が提供されるS10。この時間アライメント情報は、同じメディア・コンテンツの各々の複数のレプリゼンテーション内のセグメント間の時間関係の指標を提供する。言い換えれば、時間アライメント情報は、例えば、どのレプリゼンテーションのどのセグメントが時間の所定のポイントで開始するか、各々それぞれのセグメントの継続時間、同じセグメントの幾つかのレプリゼンテーションが時間的に整列しているのか、いないのか等についての情報を提供する。更に、メディア・セグメントに対してキーフレーム位置情報が提供されるS20。キーフレーム位置情報は、メディア・セグメントにおけるキーフレームの位置についての指標を提供する。明示的または非明示的に両方の形式の情報を提供することができ、これについては、2〜3の例により以下で更に説明する。
【0019】
最後に、提供された時間アライメント情報とキーフレーム位置情報との少なくとも1つに基づき、HTTPストリーミング・セッションの適応性が制御される。
【0020】
図2を参照して、HTTPストリーミング・サーバ・ノードにおける方法の実施形態について、以下に説明する。
【0021】
HTTPストリーミング・サーバ・ノードでは、送信に先立ち、送信予定のメディア・コンテンツをセグメント化するが、加えて、クライアント・ノードへのストリーミングのため、1つ以上のセグメントの複数のバージョンまたはレプリゼンテーションが提供される。サーバ・ノードは、クライアント・フレンドリネスのようなファクタに依存して、厳密に同じポイントで各々のレプリゼンテーションをセグメント化する(プリコード化セグメントを受信する)ことを選択してもよい。この場合、全てのセグメントは時間的に整列している。サーバ・ノードが、例えばキャッシュ・フレンドリネスのために、異なるポイントでレプリゼンテーションをセグメント化するよう決定する場合は、幾つかのセグメントは時間的に整列していてもよいが、そのたのものは整列していない。受信クライアント・ノードで適応性を支援するため、サーバ・ノードは、レプリゼンテーションがどのように時間的に整列しているのか(またはしていないのか)をシグナリングしなければならない。結果的に、サーバ・ノードは、受信クライアント・ノードにそれぞれのレプリゼンテーションのセグメントのために、時間アライメント情報を提供するS110。加えて、サーバ・ノードは、各種のレプリゼンテーションセグメントに任意のキーフレームを含むかどうか、またはどこに含むのかについて選択または決定する。クライアント・フレンドリネスと全体的プリコード化コンテンツを取る能力との間のトレードオフに基づいて、時間アライメント戦略によりこの選択を実行する。選択したキーフレーム戦略に基づき、サーバ・ノードは、受信クライアント・ノードへの各種のセグメントおよびレプリゼンテーションのために、キーフレーム位置情報を追加して提供するS120。
【0022】
時間アライメント情報を提供するS110ステップおよびキーフレーム位置情報を提供するS120ステップは黙示的にまたは直接的に実行することができる。全てのセグメントが同じ継続時間を持つということを指示する情報を提供することにより、全てのレプリゼンテーションの全てのセグメントが時間的に整列していると結論付けることは可能である。例えば、デフォルト値を指定してもよい。
【0023】
特定の実施形態によれば、上述の時間アライメント情報およびキーフレーム位置情報は、受信クライアント・ノードに提供されるマニフェスト・ファイルまたはメディア・プレゼンテーション記述において、受信クライアント・ノードにシグナリングされる。しかしながら、有利ではないけれど、本情報は、その他の幾つかの情報の交換を通してクライアント・ノードに提供できる。
【0024】
具体的には、キーフレーム位置情報には、全てまたは幾つかの特定のセグメントがキーフレームから開始するかどうかをマニフェストでシグナリングすることを含めることができる。例えば、RAPから開始(StartsWithRAP)というフラグを使用して、これを行うことができる。キーフレームで開始することは適応性をより単純にするため、このフラグが特定のセグメントがキーフレームで開始するということをシグナリングする場合、クライアントは、適応性を提供することのみを選択することができる。
【0025】
上述のシグナリングは、非明示的かまたは明示的であってもよい。例えば、デフォルト値を指定してもよい。
【0026】
キーフレームまたはランダム・アクセス・ポイントがセグメントの最初に存在するということ、またはそれがセグメントの最初にある場所を明示的にシグナリングする代わりに、ストリームのRAPまたはGOP構造を記述するシグナリングを提供してもよい。この方法では、クライアントは、ストリームのどこにキーフレームがあるかを計算できる。
【0027】
上記では、時間アライメントセグメントと言う用語を使用する。本開示は、一定セグメント継続時間(時間アライメントセグメントと一致してもよいし、しなくてもよい)に同じように良好に適用する。例えば、第3のオーディオ・パケット毎に時間アライメントがあるということをシグナリングしてもよい。
【0028】
例えば受信クライアント・ノードのような、HTTPストリーミング・クライアント・ノードにおける方法の実施形態について、図3を参照して以下に説明する。
【0029】
クライアント・ノードはHTTPストリーミング・サーバ・ノードからHTTPストリーミング・セッションに参加する。クライアント・ノードは、幾つかまたは全ての利用可能なレプリゼンテーションおよびそれらのそれぞれのセグメントのために、時間アライメント(またはその欠如)についての情報を受信するS210。加えて、クライアント・ノードは、そのレプリゼンテーションセグメントにおけるキーフレームの位置に関する情報を受信するS220。受信情報に基づき、次にクライアント・ノードは、時間アライメントセグメントがシグナリングされたかどうか、およびセグメントがキーフレームから開始したかどうかに依存して、適応を実行して、ストリーミング・セッションのためにその適応性を制御することができるS230。
【0030】
もしそのクライアントが、そのレプリゼンテーションのセグメントが時間的に整列しているという情報を受信するなら、新しいレプリゼンテーションの時系列を再計算する必要なしに、それはセグメント境界に直接的に適応してもよい。対照的に、もしクライアントがそのセグメントが時間的に整列していないという情報を受信するなら、そのクライアントは、これらのストリームの同期化をサポートし、メディアの接合を実行する更なる情報を、(例えばファイルの内部から、またはプレゼンテーション(presentation)の最初から)必要とする。
【0031】
提供された時間アライメント情報に基づいて適応性の制御を示す幾つかの実施形態について、以下で議論する。1つの実施形態によれば、全てのセグメントが同じ継続時間を持つという指標を受信することにより、時間アライメントセグメントが明示的または非明示的のいずれかで表示される場合に限り、クライアント・ノードは適応を実行するように選択できる。更に、追加の実施形態によれば、時間アライメントおよび一定セグメント継続時間の両方が表示された場合に限り、クライアントは適応を実行するよう選択できる。
【0032】
更なる実施形態によれば、時間アライメントセグメントがシグナリングされ、コーデック・データが同じ場合、符号化セグメントを連結させることにより、クライアントは適応を実行する。
【0033】
加えて、一定セグメント継続時間シグナリングは、クライアントが、例えば一個おきにセグメントをスキップする早送りのような、特別なプレイバック・トリックを実行することを手助けする。
【0034】
キーフレーム位置情報またはキーフレーム・シグナリングを受信すると、無中断プレイバックを提供するため、多数のセグメントを同時にダウンロードする必要があるかどうか、クライアントは決定できる。もしそのシグナリングがキーフレーム情報を示すなら、クライアントは、どのポイントで新しいレプリゼンテーションを正しく復号できるか、正確に知る。それは、切替える前に、どこで現在のストリームの復号を停止するかを決定するため、この情報を使用してもよい。
【0035】
第2に、それらのセグメント(またはレプリゼンテーション)の適応を許容しないよう決定するため、セグメントの開始時点でのキーフレームの存在の欠落を使用することができる。
【0036】
第3の可能性は、時間アライメントセグメントのシグナリングをシグナリングされたキーフレームと組合せることである。もしセグメントが両方とも時間アライメントし、そして、それらがキーフレームから開始するのであれば、ストリーム切換えは最も簡単であり、2つの信号の幾つかの特定の組合せを検出する場合に限り、クライアントはストリーム切換えを実行するよう選択できる。
【0037】
適応性のもう1つの形式は、それが立体ビデオに適用する場合に関与する可能性がある。ネットワーク帯域幅条件に依存して、立体モード(左目レプリゼンテーションと右目レプリゼンテーションの両方をダウンロード)または単一モード(左/右目レプリゼンテーションのみをダウンロード)間で適応できる。キーフレーム・シグナリングで、クライアントは適応を実行するため最適な方法を決定できる。例えば、もし左目レプリゼンテーションの全てのセグメントがキーフレームから開始し、右目レプリゼンテーションの極めてまれなセグメントがキーフレームから開始するなら、左目ビデオでのキーフレームの頻繁な出現により、停止と再起動が柔軟に可能になるので、立体モードと右目モードとの間で適応することは望ましいことである可能性がある。
【0038】
少なくとも1つのHTTPストリーミング・サーバ・ノード100と少なくとも1つのHTTPストリーミング・クライアント・ノード200とを含むシステムの2〜3の実施形態について、図4を参照して説明する。サーバ・ノード100とクライアント・ノード200とを接続する、矢印をつけたストリーミング・メディア・コンテンツが表示するように、2つのユニットはストリーミング・セッションに関わっており、クライアント・ノード200は、サーバ・ノードからあるレプリゼンテーションのコンテンツをフェッチしている。
【0039】
HTTPストリーミング・サーバ・ノード100には、一般的な入力/出力ユニットI/Oと時間アライメント情報プロバイダ110とを含み、HTTPストリーミング・クライアント・ノード200に進行中または開始したHTTPストリーミング・セッションのレプリゼンテーションセグメントのために、時間アライメント情報を(明示的にまたは非明示的に)提供する。加えて、サーバ・ノード100には、キーフレーム位置情報プロバイダ210を含み、レプリゼンテーションセグメントのためにキーフレーム位置情報を提供する。HTTPストリーミング・ノード100は、サーバ・ノード100とクライアント・ノード200との間の現在のストリーミング・セッションのために、マニフェストまたはメディア・プレゼンテーション記述に情報要素を両方とも含めるよう構成するのが望ましい。上記の特徴に加えて、サーバ・ノード100にはレプリゼンテーションをセグメント化するユニットを含む。最後に、サーバ・ノードには、HTTPストリーミング・セッションを開始し、維持するため、必要な全ての(図示せず)ユニットを含む。
【0040】
HTTPストリーミング・クライアント・ノード200には、一般的な入力/出力ユニットI/Oと時間アライメント情報レシーバ210とを含む。時間アライメント情報レシーバ210は、HTTPストリーミング・サーバ・ノード100からストリーミング・メディアのレプリゼンテーションセグメントの時間アライメントについての情報を(明示的にまたは非明示的に)受信するよう構成される。本情報は、前述のマニフェスト・ファイルで、または個別の情報交換におけるその他の幾つかの手段によって受信できる。更に、クライアント・ノード200には、キーフレーム位置情報レシーバ220を含み、現在のストリーミング・セッションにおける各種のレプリゼンテーションセグメントにおける任意のキーフレームの位置の情報を受信する。また、これは前述のマニフェスト・ファイルで受信可能である。最後に、クライアント・ノード200には、適応コントローラ230を含み、受信した時間アライメント情報およびキーフレーム位置情報の1つまたは両方に基づいて、ストリーミング・セッションの適応を制御する。
【0041】
変化する時間アライメントを有する異なる状況の2〜3の例について、図5A−Eを参照して説明する。異なるレプリゼンテーションの例として、3種の品質レベル、即ち高、中および低を示す。
【0042】
図5Aでは、全てのバージョンまたはレプリゼンテーションの8個のセグメント全てが同じ継続時間を持つ、即ち、各々の品質のセグメント全てが同じ継続時間を持つ。言い換えれば、ストリーミング・サーバは、全てのレプリゼンテーションに対して同じセグメント継続時間でメディアをセグメント化した。次に、ストリーミング・サーバは、望ましくはセッションの最初におけるマニフェストで、クライアント・ノードにこの情報を提供する。結果として、時間アライメント情報には、全てのバージョンの全てのセグメントは同じ継続時間を持ち、クライアントは、任意のセグメント境界で実行されるよう、適応、即ちレプリゼンテーション切換えを制御できる。
【0043】
図5Bでは、全てのバージョンの全てのセグメントは整列したセグメント開始ポイントを持つ、即ち、セグメントは時間的に整列している。しかしながら、各々のレプリゼンテーションの第1のセグメントは、各々のレプリゼンテーションの第2のセグメントより長いが、全てのレプリゼンテーションに対して同じ継続時間を持つ。言い換えれば、ストリーミング・サーバは、時間アライメントではあるが、各々のレプリゼンテーション内では同じではないセグメント継続時間で、メディアをセグメント化した。結果として、時間アライメント情報は整列した開始ポイントと個別のセグメント継続時間についての指標を提供する。前の例では、三つのレプリゼンテーションのセグメントは全て時間的に整列しているので、クライアントは、任意のセグメント開始ポイントで実行するよう適応を制御できる。
【0044】
図5Cでは、2つ(またはそれ以上)のバージョンのセグメントは全て同じ継続時間を持つ。ここでは中および低品質バージョンは時間的に整列しており、また、全てのセグメントに対して同じ継続時間を持っているが、一方、高品質レプリゼンテーションセグメントは変化する継続時間を持っている。結果として、時間アライメント情報は中および低品質セグメントは時間的に整列しているが、高品質レプリゼンテーションは整列していないということを表示する。したがって、低と中とのレプリゼンテーション間の全てのセグメント境界間で実行されるよう、しかし高品質レプリゼンテーションでは実行されないよう、適応を制御でき、適応を可能とするために、追加的考慮または情報を使用する必要がある。
【0045】
図5Dでは、2つ以上のバージョンのセグメントは全て整列したセグメント開始ポイントを持つ。これは図5Cの場合に類似しているが、同じ品質でのセグメントの継続時間は一定ではない。この例では、時間アライメント情報は、高および中品質レプリゼンテーションは時間的に整列して、変化するセグメント継続時間を持つということを表示する。図5Cから理解できるように、クライアント・ノードは、高および中メディア品質レプリゼンテーションに対して、セグメント境界で実行するよう適応を制御できるが、低品質のものに対してはそうではない。
【0046】
最後に、図5Eでは、2つ以上のバージョンの1つ以上のセグメント境界間で(垂直破線で表示するように)、時間の1つ以上のポイントで時間アライメントがある。これはもっと一般的な場合であり、品質切換えのために時間の幾つかの特定のポイントは、もっと適切に行われる。この場合では、時間アライメント情報は、時間的に整列するのはどのレプリゼンテーションのどのセグメント境界かを表示する。例が示すように、三つのレプリゼンテーション全ては表示されたセグメント境界で時間的に整列しており、その理由は、時間におけるこれらの特定のポイントでは全ての品質のレプリゼンテーション間で適応を制御することは可能であるが、時間のその他のポイントではそうではない、ということである。
【0047】
キーフレーム位置情報に関する2〜3の図の例について、図6A−Dを参照して、以下に提供する。前に述べたように、全てまたは幾つかの特定のセグメントはキーフレームから開始するかどうかを表示するため、ストリーミング・サーバは、キーフレーム位置についての情報を提供することができる。応答では、特定のセグメントがキーフレーム、またはその他の幾つかの基準から開始する場合、クライアント・ノードは適応を提供するよう選択できる。
【0048】
図6Aでは、全てのバージョンの全てのセグメントは、(垂直破線が示すように)キーフレームから開始する。次に、キーフレーム位置に情報はクライアント・ノードに提供され、クライアント・ノードは、例えば任意のレプリゼンテーションの任意のセグメントでレプリゼンテーションを切り替えるよう、適応性を提供するよう選択することができる。
【0049】
図6Bでは、1つのバージョンの全てのセグメントがキーフレームから開始する。この場合、低品質バージョンのみが全てのセグメントでキーフレームを持つが、中および高品質バージョンは、各々の1つのセグメントで1つのキーフレームを持つ。結果として、時間の1つのポイントでの1つの特定のセグメントで、低と中の品質間で、そして時間で後のもう1つのポイントでのもう1つの特定のセグメントで、低と高の品質間で実行するよう、適応を制御することのみが可能である。
【0050】
図6Cでは、1つ以上のバージョンの1つ以上のセグメントがキーフレームから開始する。このことがクライアント・ノードにシグナリングされ、その結果、提供されたそれらのキーフレームに基づき、適応性を提供するよう選択することができる。
【0051】
最後に、図6Dでは、1つ以上のセグメントにおける1つ以上のキーフレームの位置が提供され、受信クライアント・ノードで受信される。前の実施形態と対照的に、これらのキーフレームは、それらのそれぞれのセグメントの開始時点では提供されず、むしろそれらのセグメント内に含む。
【0052】
上記に説明したステップ、機能、手順および/またはブロックは、例えば、汎用電子回路および特定用途向け回路の両方を含む、個別回路または集積回路技術のような任意の従来技術を使用するハードウエアに実装してもよい。
【0053】
或いは、上記に説明したステップ、機能、手順および/またはブロックの少なくとも幾つかは、例えばマイクロプロセッサ、デジタル・シグナル・プロセッサ(DSP)および/または、現場プログラム可能ゲートアレイ(FPGA)デバイスのような任意の適当なプログラム可能論理デバイスによって実行するためのソフトウエアに実装してもよい。
【0054】
当然のことであるが、ネットワーク・ノードの汎用処理能力を再使用することも可能であろう。例えば、これは、既存のソフトウエアの再プログラミング、または新規のソフトウエア要素を追加することによって実行してもよい。
【0055】
ソフトウエアはコンピュータ・プログラムとして実現してもよく、通常は、コンピュータ読み取り可能媒体で実行する。それ故、コンピュータのプロセッサによって実行するため、コンピュータの動作メモリに読み込まれてもよい。コンピュータ/プロセッサは、上記に説明したステップ、機能、手順および/またはブロックを実行するためにのみ専用される必要はなく、その他のソフトウエア業務を実行してもよい。
【0056】
以下に、コンピュータ実装の例について、図7を参照して説明する。コンピュータ300には、プロセッサ310、動作メモリ320および入力/出力ユニット330を備える。この具体的な例では、上記に説明したステップ、機能、手順および/またはブロックの少なくとも幾つかはソフトウエア325に実装され、プロセッサ310によって実行するため、動作メモリ320に読み込まれている。プロセッサ310およびメモリ320はシステム・バスを介してお互いに相互接続され、通常のソフトウエア実行を可能としている。I/Oユニット330は、I/Oバスを介してプロセッサ310および/またはメモリ320に相互接続されていてもよく、入力パラメータおよび/または結果の出力パラメータのような関連のデータの入力および/または出力を可能としている。
【0057】
上記で説明した実施形態は、本発明の2〜3の説明上の例であると理解すべきである。当業者には当然のことであるが、各種の修正、組み合わせおよび変更は、本発明の範囲から逸脱することなしに本実施形態に加えてもよい。具体的には、異なる実施形態における異なる部分の解決策は、技術的に可能であれば、その他の構成において組み合わせることが可能である。しかしながら、本発明の範囲は添付の特許請求項によって定められる。

【特許請求の範囲】
【請求項1】
通信システムにおいてHTTPサーバとHTTPクライアントとの間のメディア・コンテンツであって、複数の周期で構成され、各周期にメディア・セグメントの複数のレプリゼンテーションが含まれる前記メディア・コンテンツの適応型HTTPストリーミングを制御する方法であって、
前記複数のレプリゼンテーションの前記メディア・セグメントにおける時間アライメント情報であって、前記メディア・コンテンツの前記複数のレプリゼンテーションの複数のセグメント間の時間関係についての指標を提供する前記時間アライメント情報を提供するステップ(S10)と、
前記メディア・セグメントにおけるキーフレーム位置情報であって、前記複数のレプリゼンテーションの前記メディア・セグメントにおいて複数のキーフレーム位置についての指標を提供する前記キーフレーム位置情報を提供するステップ(S20)と、
前記提供される時間アライメント情報及び前記提供されるキーフレーム位置情報の少なくとも1つに基づき、前記メディア・コンテンツの前記HTTPストリーミングの適応を制御するステップと
を含むことを特徴とする方法。
【請求項2】
前記提供される時間アライメント情報及び前記提供されるキーフレーム位置情報の両方に基づいて実行すべき適応を制御することを特徴とする請求項1に記載の方法。
【請求項3】
前記時間アライメント情報が、前記複数のレプリゼンテーションの少なくとも2つにおけるそれぞれのセグメントの少なくとも1つの開始が時間的に整列されていることを示す場合に、セグメント境界で直接実行すべき適応を制御することを特徴とする請求項1に記載の方法。
【請求項4】
前記時間アライメント情報を直接的に又は黙示的に提供することを特徴とする請求項1に記載の方法。
【請求項5】
前記複数のレプリゼンテーション、及び、該複数のレプリゼンテーションが共通の開始時刻を共有する指標の少なくとも1つにおける少なくとも1つのセグメントのセグメント継続時間を提供することによって、黙示的に前記時間アライメント情報を提供することを特徴とする請求項4に記載の方法。
【請求項6】
一定セグメント継続時間が提供されると、実行すべき適応を制御することを特徴とする請求項5に記載の方法。
【請求項7】
前記キーフレーム位置情報を直接的に又は黙示的に提供することを特徴とする請求項1に記載の方法。
【請求項8】
前記キーフレーム位置情報は、少なくとも1つのレプリゼンテーションの少なくとも1つのセグメントに位置するキーフレームを示すことを特徴とする請求項1に記載の方法。
【請求項9】
前記キーフレーム位置情報は、少なくとも1つのレプリゼンテーションの少なくとも1つのセグメントの開始に位置するキーフレームを示すことを特徴とする請求項1に記載の方法。
【請求項10】
通信システムにおいて、複数の周期で構成され、各周期にメディア・セグメントの複数のレプリゼンテーションが含まれるメディア・コンテンツのストリーミングをHTTPクライアントへ行うHTTPサーバ・ノードにおいて使用される方法であって、
前記複数のレプリゼンテーションの前記メディア・セグメントにおける時間アライメント情報であって、前記メディア・コンテンツの前記複数のレプリゼンテーションの複数のセグメント間の時間関係についての指標を提供する前記時間アライメント情報を提供するステップ(S110)と、
前記メディア・セグメントにおけるキーフレーム位置情報であって、前記複数のレプリゼンテーションの前記メディア・セグメントにおいて複数のキーフレーム位置についての指標を提供する前記キーフレーム位置情報を提供するステップ(S120)と
を含むことを特徴とする方法。
【請求項11】
メディア・プレゼンテーション記述ファイルまたはマニフェスト・ファイルにおいて、前記時間アライメント情報および前記キーフレーム位置情報を提供することを特徴とする請求項10に記載の方法。
【請求項12】
時間内の共通の時点で前記複数のレプリゼンテーションのそれぞれを分割し、
前記複数のレプリゼンテーションの全てが時間内の前記時点で時間的に整列されたことを示す時間アライメント情報を提供することを特徴とする請求項10に記載の方法。
【請求項13】
キーフレーム位置で前記複数のレプリゼンテーションのそれぞれを分割し、
前記複数のレプリゼンテーションの全てがキーフレームで開始することを示すキーフレーム情報での開始を提供することを特徴とする請求項10に記載の方法。
【請求項14】
時間内の異なる時点で前記複数のレプリゼンテーションのそれぞれを分割し、
前記複数のレプリゼンテーションの全てが時間的に整列されたセグメントの欠落を示す時間アライメント情報を提供することを特徴とする請求項10に記載の方法。
【請求項15】
非キーフレーム位置で前記複数のレプリゼンテーションのそれぞれを分割し、
前記複数のレプリゼンテーションへのキーフレーム位置を示すキーフレーム位置情報を提供することを特徴とする請求項10に記載の方法。
【請求項16】
通信システムにおいて、複数の周期で構成され、各周期にメディア・セグメントの複数のレプリゼンテーションが含まれるメディア・コンテンツのストリーミングを受信するHTTPクライアント・ノードにおいて使用される方法であって、
前記複数のレプリゼンテーションの前記メディア・セグメントにおける時間アライメント情報であって、前記メディア・コンテンツの前記複数のレプリゼンテーションの複数のセグメント間の時間関係についての指標を提供する前記時間アライメント情報を受信するステップ(S210)と、
前記メディア・セグメントにおけるキーフレーム位置情報であって、前記複数のレプリゼンテーションの前記メディア・セグメントにおいて複数のキーフレーム位置についての指標を提供する前記キーフレーム位置情報を受信するステップ(S220)と、
前記受信した時間アライメント情報及び前記受信したキーフレーム位置情報の少なくとも1つに基づき、前記メディア・コンテンツの前記HTTPストリーミングの適応を制御するステップ(S230)と
を含むことを特徴とする方法。
【請求項17】
前記時間アライメント情報が時間的に整列されるセグメントが提供されることを示せば、実行すべき適応を制御することを特徴とする請求項16に記載の方法。
【請求項18】
前記時間アライメント情報が一定のセグメント継続時間の指標によって黙示的に受信されれば、実行すべき適応を制御することを特徴とする請求項16に記載の方法。
【請求項19】
明示的な時間アライメント情報および一定のセグメント継続時間の両方が受信されれば、実行すべき適応を制御することを特徴とする請求項17に記載の方法。
【請求項20】
時間アライメント情報が受信され、コーデックデータが同じであれば、暗号化されたセグメントを連結させることを特徴とする請求項16に記載の方法。
【請求項21】
キーフレーム位置指標が受信される場合のみ、実行すべき適応を制御することを特徴とする請求項16に記載の方法。
【請求項22】
通信システムにおいて、複数の周期で構成され、各周期にメディア・セグメントの複数のレプリゼンテーションが含まれるメディア・コンテンツのストリーミングをHTTPクライアントへ行うHTTPサーバ・ノード(100)であって、
前記複数のレプリゼンテーションの前記メディア・セグメントにおける時間アライメント情報であって、前記メディア・コンテンツの前記複数のレプリゼンテーションの複数のセグメント間の時間関係についての指標を提供する前記時間アライメント情報を提供する時間アライメント情報プロバイダ(110)と、
前記メディア・セグメントにおけるキーフレーム位置情報であって、前記複数のレプリゼンテーションの前記メディア・セグメントにおいて複数のキーフレーム位置についての指標を提供する前記キーフレーム位置情報を提供するキーフレーム位置プロバイダ(120)と
を備えることを特徴とするHTTPサーバ・ノード(100)。
【請求項23】
通信システムにおいて、複数の周期で構成され、各周期にメディア・セグメントの複数のレプリゼンテーションが含まれるメディア・コンテンツのストリーミングを受信するHTTPクライアント・ノード(200)であって、
前記複数のレプリゼンテーションの前記メディア・セグメントにおける時間アライメント情報であって、前記メディア・コンテンツの前記複数のレプリゼンテーションの複数のセグメント間の時間関係についての指標を提供する前記時間アライメント情報を受信する時間アライメント情報レシーバ(210)と、
前記メディア・セグメントにおけるキーフレーム位置情報であって、前記複数のレプリゼンテーションの前記メディア・セグメントにおいて複数のキーフレーム位置についての指標を提供する前記キーフレーム位置情報を受信するキーフレーム位置レシーバ(220)と、
前記受信した時間アライメント情報及び前記受信したキーフレーム位置情報の少なくとも1つに基づき、前記メディア・コンテンツの前記HTTPストリーミングの適応を制御する適応コントローラ(230)と
を備えることを特徴とするHTTPクライアント・ノード(200)。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図5C】
image rotate

【図5D】
image rotate

【図5E】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図6C】
image rotate

【図6D】
image rotate

【図7】
image rotate


【公表番号】特表2013−520865(P2013−520865A)
【公表日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願番号】特願2012−553847(P2012−553847)
【出願日】平成23年2月16日(2011.2.16)
【国際出願番号】PCT/SE2011/050167
【国際公開番号】WO2011/102792
【国際公開日】平成23年8月25日(2011.8.25)
【出願人】(598036300)テレフオンアクチーボラゲット エル エム エリクソン(パブル) (2,266)
【Fターム(参考)】