(57)【要約】  通信システムにおけるＨＴＴＰサーバとＨＴＴＰクライアントとの間のメディア・コンテンツの適応型ＨＴＴＰストリーミングを制御する方法であり、そのシステムでは、メディア・コンテンツを複数の周期で構成し、各々のその周期にはメディア・セグメントの複数のレプリゼンテーションを備え、その方法には、複数のレプリゼンテーションのメディア・セグメントのために、時間アライメント情報を提供する（Ｓ１０）ステップを含み、その時間アライメント情報は、メディア・コンテンツの複数のレプリゼンテーションのセグメント間の時間関係についての指標を提供する。更に、本方法には、メディア・セグメントにキーフレーム位置情報を提供する（Ｓ２０）ステップを含み、そのキーフレーム位置情報は、複数のレプリゼンテーションのメディア・セグメントにおけるキーフレームの位置についての指標を提供する。最後に、提供された時間アライメント情報と提供されたキーフレーム位置情報との少なくとも１つに基づき、メディア・コンテンツのＨＴＴＰストリーミングの適応を制御する（Ｓ３０）。
2013520865.tif 000002
【特許請求の範囲】
【請求項１】
通信システムにおいてＨＴＴＰサーバとＨＴＴＰクライアントとの間のメディア・コンテンツであって、複数の周期で構成され、各周期にメディア・セグメントの複数のレプリゼンテーションが含まれる前記メディア・コンテンツの適応型ＨＴＴＰストリーミングを制御する方法であって、
前記複数のレプリゼンテーションの前記メディア・セグメントにおける時間アライメント情報であって、前記メディア・コンテンツの前記複数のレプリゼンテーションの複数のセグメント間の時間関係についての指標を提供する前記時間アライメント情報を提供するステップ（Ｓ１０）と、
前記メディア・セグメントにおけるキーフレーム位置情報であって、前記複数のレプリゼンテーションの前記メディア・セグメントにおいて複数のキーフレーム位置についての指標を提供する前記キーフレーム位置情報を提供するステップ（Ｓ２０）と、
前記提供される時間アライメント情報及び前記提供されるキーフレーム位置情報の少なくとも１つに基づき、前記メディア・コンテンツの前記ＨＴＴＰストリーミングの適応を制御するステップと
を含むことを特徴とする方法。
【請求項２】
前記提供される時間アライメント情報及び前記提供されるキーフレーム位置情報の両方に基づいて実行すべき適応を制御することを特徴とする請求項１に記載の方法。
【請求項３】
前記時間アライメント情報が、前記複数のレプリゼンテーションの少なくとも２つにおけるそれぞれのセグメントの少なくとも１つの開始が時間的に整列されていることを示す場合に、セグメント境界で直接実行すべき適応を制御することを特徴とする請求項１に記載の方法。
【請求項４】
前記時間アライメント情報を直接的に又は黙示的に提供することを特徴とする請求項１に記載の方法。
【請求項５】
前記複数のレプリゼンテーション、及び、該複数のレプリゼンテーションが共通の開始時刻を共有する指標の少なくとも１つにおける少なくとも１つのセグメントのセグメント継続時間を提供することによって、黙示的に前記時間アライメント情報を提供することを特徴とする請求項４に記載の方法。
【請求項６】
一定セグメント継続時間が提供されると、実行すべき適応を制御することを特徴とする請求項５に記載の方法。
【請求項７】
前記キーフレーム位置情報を直接的に又は黙示的に提供することを特徴とする請求項１に記載の方法。
【請求項８】
前記キーフレーム位置情報は、少なくとも１つのレプリゼンテーションの少なくとも１つのセグメントに位置するキーフレームを示すことを特徴とする請求項１に記載の方法。
【請求項９】
前記キーフレーム位置情報は、少なくとも１つのレプリゼンテーションの少なくとも１つのセグメントの開始に位置するキーフレームを示すことを特徴とする請求項１に記載の方法。
【請求項１０】
通信システムにおいて、複数の周期で構成され、各周期にメディア・セグメントの複数のレプリゼンテーションが含まれるメディア・コンテンツのストリーミングをＨＴＴＰクライアントへ行うＨＴＴＰサーバ・ノードにおいて使用される方法であって、
前記複数のレプリゼンテーションの前記メディア・セグメントにおける時間アライメント情報であって、前記メディア・コンテンツの前記複数のレプリゼンテーションの複数のセグメント間の時間関係についての指標を提供する前記時間アライメント情報を提供するステップ（Ｓ１１０）と、
前記メディア・セグメントにおけるキーフレーム位置情報であって、前記複数のレプリゼンテーションの前記メディア・セグメントにおいて複数のキーフレーム位置についての指標を提供する前記キーフレーム位置情報を提供するステップ（Ｓ１２０）と
を含むことを特徴とする方法。
【請求項１１】
メディア・プレゼンテーション記述ファイルまたはマニフェスト・ファイルにおいて、前記時間アライメント情報および前記キーフレーム位置情報を提供することを特徴とする請求項１０に記載の方法。
【請求項１２】
時間内の共通の時点で前記複数のレプリゼンテーションのそれぞれを分割し、
前記複数のレプリゼンテーションの全てが時間内の前記時点で時間的に整列されたことを示す時間アライメント情報を提供することを特徴とする請求項１０に記載の方法。
【請求項１３】
キーフレーム位置で前記複数のレプリゼンテーションのそれぞれを分割し、
前記複数のレプリゼンテーションの全てがキーフレームで開始することを示すキーフレーム情報での開始を提供することを特徴とする請求項１０に記載の方法。
【請求項１４】
時間内の異なる時点で前記複数のレプリゼンテーションのそれぞれを分割し、
前記複数のレプリゼンテーションの全てが時間的に整列されたセグメントの欠落を示す時間アライメント情報を提供することを特徴とする請求項１０に記載の方法。
【請求項１５】
非キーフレーム位置で前記複数のレプリゼンテーションのそれぞれを分割し、
前記複数のレプリゼンテーションへのキーフレーム位置を示すキーフレーム位置情報を提供することを特徴とする請求項１０に記載の方法。
【請求項１６】
通信システムにおいて、複数の周期で構成され、各周期にメディア・セグメントの複数のレプリゼンテーションが含まれるメディア・コンテンツのストリーミングを受信するＨＴＴＰクライアント・ノードにおいて使用される方法であって、
前記複数のレプリゼンテーションの前記メディア・セグメントにおける時間アライメント情報であって、前記メディア・コンテンツの前記複数のレプリゼンテーションの複数のセグメント間の時間関係についての指標を提供する前記時間アライメント情報を受信するステップ（Ｓ２１０）と、
前記メディア・セグメントにおけるキーフレーム位置情報であって、前記複数のレプリゼンテーションの前記メディア・セグメントにおいて複数のキーフレーム位置についての指標を提供する前記キーフレーム位置情報を受信するステップ（Ｓ２２０）と、
前記受信した時間アライメント情報及び前記受信したキーフレーム位置情報の少なくとも１つに基づき、前記メディア・コンテンツの前記ＨＴＴＰストリーミングの適応を制御するステップ（Ｓ２３０）と
を含むことを特徴とする方法。
【請求項１７】
前記時間アライメント情報が時間的に整列されるセグメントが提供されることを示せば、実行すべき適応を制御することを特徴とする請求項１６に記載の方法。
【請求項１８】
前記時間アライメント情報が一定のセグメント継続時間の指標によって黙示的に受信されれば、実行すべき適応を制御することを特徴とする請求項１６に記載の方法。
【請求項１９】
明示的な時間アライメント情報および一定のセグメント継続時間の両方が受信されれば、実行すべき適応を制御することを特徴とする請求項１７に記載の方法。
【請求項２０】
時間アライメント情報が受信され、コーデックデータが同じであれば、暗号化されたセグメントを連結させることを特徴とする請求項１６に記載の方法。
【請求項２１】
キーフレーム位置指標が受信される場合のみ、実行すべき適応を制御することを特徴とする請求項１６に記載の方法。
【請求項２２】
通信システムにおいて、複数の周期で構成され、各周期にメディア・セグメントの複数のレプリゼンテーションが含まれるメディア・コンテンツのストリーミングをＨＴＴＰクライアントへ行うＨＴＴＰサーバ・ノード（１００）であって、
前記複数のレプリゼンテーションの前記メディア・セグメントにおける時間アライメント情報であって、前記メディア・コンテンツの前記複数のレプリゼンテーションの複数のセグメント間の時間関係についての指標を提供する前記時間アライメント情報を提供する時間アライメント情報プロバイダ（１１０）と、
前記メディア・セグメントにおけるキーフレーム位置情報であって、前記複数のレプリゼンテーションの前記メディア・セグメントにおいて複数のキーフレーム位置についての指標を提供する前記キーフレーム位置情報を提供するキーフレーム位置プロバイダ（１２０）と
を備えることを特徴とするＨＴＴＰサーバ・ノード（１００）。
【請求項２３】
通信システムにおいて、複数の周期で構成され、各周期にメディア・セグメントの複数のレプリゼンテーションが含まれるメディア・コンテンツのストリーミングを受信するＨＴＴＰクライアント・ノード（２００）であって、
前記複数のレプリゼンテーションの前記メディア・セグメントにおける時間アライメント情報であって、前記メディア・コンテンツの前記複数のレプリゼンテーションの複数のセグメント間の時間関係についての指標を提供する前記時間アライメント情報を受信する時間アライメント情報レシーバ（２１０）と、
前記メディア・セグメントにおけるキーフレーム位置情報であって、前記複数のレプリゼンテーションの前記メディア・セグメントにおいて複数のキーフレーム位置についての指標を提供する前記キーフレーム位置情報を受信するキーフレーム位置レシーバ（２２０）と、
前記受信した時間アライメント情報及び前記受信したキーフレーム位置情報の少なくとも１つに基づき、前記メディア・コンテンツの前記ＨＴＴＰストリーミングの適応を制御する適応コントローラ（２３０）と
を備えることを特徴とするＨＴＴＰクライアント・ノード（２００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的には通信システムに関し、具体的には、そのようなシステムにおけるＨＴＴＰストリーミング・セッション間の適応に関するものである。
【背景技術】
【０００２】
メディア、具体的にはビデオのＨＴＴＰ（ハイパーテキスト転送プロトコル）ストリーミングにおいて関心が増加している。近年、これは単純なプログレッシブ・ダウンロードを超え、適応性およびライブ・コンテンツという２つの新しい特徴を与えている。このことを実現する方法は、コンテンツを、多数のセグメント、またはファイルに分割するということであり、それぞれは小さな周期のコンテンツ、例えば１０秒間のコンテンツに対応する。クライアントには、メディア・プレゼンテーション記述（ＭＤＰ）としても知られるマニフェスト・ファイルが提供され、これは、異なるセグメントおよびそれらをどこにフェッチするかを一覧にし、クライアントはそれらを１つずつフェッチする。それは、ＲＴＳＰ（リアルタイム・ストリーミング・プロトコル）のようなプロトコルに基づくストリーミング・サービスとは対照的に、サーバまたはキャッシュのいかなる状態も必要としないので、例えばＨＴＴＰのような標準のウェブ・プロトコルを介してフェッチする異なるセグメント／ファイルへの分割は、キャッシュ・フレンドリ、またはＣＤＮ（コンテンツ配信ネットワーク）フレンドリであるともいわれる。多数のレベルが周期およびセグメント内で可能である。例えば、１つの周期内でコンテンツを変更してアド・インサートを行い、その後、次の周期で最初のコンテンツ・ストリームに戻ることが可能である。
【０００３】
適応性は多数のバージョンのコンテンツを提供することによって達成され、クライアントは、最良の所定のネットワーク性能／ダウンロード時間であると推定するバージョンをフェッチするよう選択できる。クライアントの観点からは、もし異なるバージョンまたはレプリゼンテーションのセグメントが同じ継続時間を持つなら、適応性ははるかに容易に解決され、クライアントは、各々のセグメント・ダウンロードがどのバージョンを選択すべきかを単に決定すればよい。しかしながら、セグメントの全てのバージョンに同じ継続時間を与えると、それらのそれぞれのサイズは著しく変化するであろう。このことはキャッシイング・サーバにとって決して最適ではなく、もしセグメントが同じ、または類似のサイズであるなら、そのサーバはしばしばより良好な性能を持つのである。したがって、サイズ整列はキャッシュ／サーバにとっては望ましいが、クライアントにおける適応性メカニズムをより困難にする。サーバに対して最適化すべきか、それともクライアントに対して最適化すべきかについては、トレードオフである。
【０００４】
この問題に対する従来の２つの解決策は、マイクロソフト社のスムースストリーミング（ＳｍｏｏｔｈＳｔｒｅａｍｉｎｇ）およびアップル社のライブストリーミング（ＬｉｖｅＳｔｒｅａｍｉｎｇ）であり、両方とも同じ継続時間のトラックを選択した。それに代えて、３ＧＰＰ  ＳＡ４は同じサイズのトラックを主として取り扱っている。
【０００５】
上記に基づき、クライアント側での適応性能と、サーバ／キャッシュでの同じサイズのファイル／セグメントとの間で、異なるトレードオフを許容する解決策が必要である。
【発明の概要】
【０００６】
上記の不利益点の少なくとも幾つかを取り除き、改善した適応型ＨＴＴＰメディア・ストリーミング制御を提供することが目的である。
【０００７】
第１の態様によれば、本開示は、通信システムにおいて、ＨＴＴＰサーバとＨＴＴＰクライアントとの間で、メディア・コンテンツに対しする適応型ＨＴＴＰストリーミングを制御する方法を提示し、そのメディア・コンテンツは複数の周期で構成され、各々のその周期にはメディア・セグメントの複数のレプリゼンテーション（representation）を備える。本方法には、複数のレプリゼンテーションのメディア・セグメントに対して、時間アライメント情報を提供するステップを含み、その時間アライメント情報は、メディア・コンテンツの複数のレプリゼンテーションのセグメント間の時間関係についての指標を提供する。更に、本方法には、メディア・セグメントに対してキーフレーム位置情報を提供するステップを含み、そのキーフレーム位置情報は、複数のレプリゼンテーションのメディア・コンテンツにおけるキーフレームの位置についての指標を提供する。最後に、本方法には、提供された時間アライメント情報と提供されたキーフレーム位置情報との少なくとも１つに基づき、メディア・コンテンツのＨＴＴＰストリーミングの適応性を制御するステップを含む。
【０００８】
第２の態様によれば、本開示は、通信システムのＨＴＴＰクライアントへのメディア・コンテンツのストリーミングのため、ＨＴＴＰサーバ・ノードにおいて使用する方法を提供するが、そのメディア・コンテンツは複数の周期で構成されており、各々のその周期にはメディア・セグメントの複数のレプリゼンテーションを備える。本方法には、複数のレプリゼンテーションのメディア・セグメントに対して時間アライメント情報を提供するステップを含み、その時間アライメント情報は、メディア・コンテンツの複数のレプリゼンテーションのセグメント間の時間関係についての指標を提供する。更に、本方法には、メディア・セグメントに対してキーフレーム位置情報を提供するステップを含み、そのキーフレーム位置情報は、複数のレプリゼンテーションのメディア・セグメントにおけるキーフレームの位置についての指標を提供する。
【０００９】
第３の態様によれば、本開示は、通信システムにおいて、ＨＴＴＰサーバ・ノードからストリーミング・メディア・コンテンツを受信するため、ＨＴＴＰクライアント・ノードで使用する方法を提示し、そのメディア・コンテンツは、複数の周期で構成され、各々のその周期には、メディア・セグメントの複数のレプリゼンテーションを備える。本方法には、複数のレプリゼンテーションのメディア・セグメントのための時間アライメント情報を受信するステップを含み、その時間アライメント情報は、メディア・コンテンツの複数のレプリゼンテーションのセグメント間の時間関係についての指標を提供する。更に本方法には、メディア・セグメントのためのキーフレーム位置情報を受信するステップを含み、そのキーフレーム位置情報は、複数のレプリゼンテーションのメディア・セグメントにおけるキーフレームの位置についての指標を提供する。最後に、本方法には、受信した時間アライメント情報と受信したキーフレーム位置情報との少なくとも１つに基づき、メディア・コンテンツのＨＴＴＰストリーミングの適応を制御するステップを含む。
【００１０】
第４の態様によれば、本開示は、通信システムにおいて、ＨＴＴＰクライアントへのメディア・コンテンツのストリーミングのために、ＨＴＴＰサーバ・ノードを提示し、そのメディア・コンテンツは複数の周期で構成され、各々のその周期には、メディア・セグメントの複数のレプリゼンテーションを備える。サーバ・ノードには、複数のレプリゼンテーションのメディア・セグメントに時間アライメント情報を提供するよう構成した時間アライメント情報プロバイダを含み、その時間アライメント情報は、メディア・コンテンツの複数のレプリゼンテーションのセグメント間の時間関係についての指標を提供する。加えて、サーバ・ノードには、メディア・セグメントにキーフレーム位置情報を提供するよう構成したキーフレーム位置プロバイダを含み、そのキーフレーム位置情報は、複数のレプリゼンテーションのメディア・セグメントにおけるキーフレームの位置についての指標を提供する。
【００１１】
第５の態様によれば、本開示は、ＨＴＴＰサーバ・ノードからのメディア・コンテンツのストリーミングを受信するためのＨＴＴＰクライアント・ノードを提示し、そのメディア・コンテンツは複数の周期で構成され、各々のその周期には、メディア・セグメントの複数のレプリゼンテーションを備える。クライアント・ノードには、複数のレプリゼンテーションのメディア・セグメントのために時間アライメント情報を受信するよう構成した時間アライメント情報レシーバを含み、その時間アライメント情報は、メディア・コンテンツの複数のレプリゼンテーションのセグメント間の時間関係についての指標を提供する。更に、クライアント・ノードには、メディア・セグメントのためのキーフレーム位置情報を受信するよう構成したキーフレーム位置レシーバを含み、そのキーフレーム位置情報は、複数のレプリゼンテーションのメディア・セグメントにおけるキーフレームの位置についての指標を提供する。最後に、クライアント・ノードには、受信した時間アライメント情報と受信したキーフレーム位置情報との少なくとも１つに基づき、メディア・コンテンツのＨＴＴＰストリーミングの適応を制御するよう構成した適応コントローラを含む。
【００１２】
本開示の利点には、ＨＴＴＰストリーミング・セッション間の適応の制御を改善可能とすることを含む。
【００１３】
本発明は、その更なる目的および利点と一緒に、添付図面とともに取る以下の説明を参照することにより、最もよく理解される可能性がある。
【図面の簡単な説明】
【００１４】
【図１】本開示による方法の実施形態の概略フローチャートである。
【図２】本開示によるＨＴＴＰストリーミング・サーバ・ノードで使用する方法の実施形態の概略フローチャートである。
【図３】本開示によるＨＴＴＰストリーミング・クライアント・ノードで使用する方法の実施形態の概略フローチャートである。
【図４】本開示による、ＨＴＴＰストリーミング・サーバ・ノードおよびＨＴＴＰストリーミング・クライアント・ノードの実施形態の概略図である。
【図５Ａ】、
【図５Ｂ】、
【図５Ｃ】、
【図５Ｄ】、
【図５Ｅ】本開示の概略実施形態図である。
【図６Ａ】、
【図６Ｂ】、
【図６Ｃ】、
【図６Ｄ】本開示の概略実施形態図である。
【図７】本開示の実装の概略図である。
【発明を実施するための形態】
【００１５】
図面を通して、同様または対応する要素には同じ参照番号を使用する。
【００１６】
背景技術のセクションで議論したように、現在のストリーミング・システムでは、クライアント側での適応性能とサーバ／キャッシュでの同じサイズのファイル／セグメントとの間のトレードオフをバランスさせる必要性がある。本発明者は、様々なセグメントとレプリゼンテーションの間の関係について、クライアント・ノードに表示することが可能であったなら、同じでないサイズのセグメントを許容することは有益であるだろうということを認識することに思い付いた。１つ以上のレプリゼンテーションにおける１つ以上のセグメント間の時間アライメントのような、セグメント化の現状についての場所情報に解決策を提供することにより、クライアントはそのような情報に基づき、クライアントおよびサーバ・ノードの両方のために、適応を実行できる可能性がある。
【００１７】
本発明者が特定するように、セグメントの全てのバージョンまたはレプリゼンテーションが整列境界を持つかどうか、前述のマニフェストでシグナリングすることは、有益であるだろう。例えば、全てのレプリゼンテーションが同じ時間に開始する場合、これは、同じセグメント・バージョン継続時間（ｅｑｕａｌＳｅｇｍｅｎｔＶｅｒｓｉｏｎＤｕｒａｔｉｏｎｓ）というフラグを使用して行うことが可能である（これらの２つの制約条件を課して、整列が生じる）。セグメント整列は適応性を単純化するので、このフラグがセグメント整列をシグナリングする場合、クライアントは単に適応性を提供することのみを選択できる。そのフラグが設定されていない場合、セグメントのバージョンの各々のために、継続時間を提供されなければならず、もし設定されていれば、全てのバージョンに適用する継続時間のみが必要である。本開示の殆んどはそのマニフェストにおいてシグナリングについて説明するけれども、幾つかのその他の方法で時間アライメント情報をシグナリングすることは同じように可能である。
【００１８】
図１を参照して、通信システムにおけるＨＴＴＰサーバ・ノードとＨＴＴＰクライアント・ノード間のメディア・コンテンツの適応型ＨＴＴＰストリーミングを制御する方法の実施形態について説明する。前に述べたように、ビデオ、オーディオ等のようなメディア・コンテンツは、複数の周期として構成され、それぞれの周期には、メディア・セグメントの複数のレプリゼンテーションまたはバージョンを備える。最初に、各々のレプリゼンテーションのメディア・セグメントに対して時間アライメント情報が提供されるＳ１０。この時間アライメント情報は、同じメディア・コンテンツの各々の複数のレプリゼンテーション内のセグメント間の時間関係の指標を提供する。言い換えれば、時間アライメント情報は、例えば、どのレプリゼンテーションのどのセグメントが時間の所定のポイントで開始するか、各々それぞれのセグメントの継続時間、同じセグメントの幾つかのレプリゼンテーションが時間的に整列しているのか、いないのか等についての情報を提供する。更に、メディア・セグメントに対してキーフレーム位置情報が提供されるＳ２０。キーフレーム位置情報は、メディア・セグメントにおけるキーフレームの位置についての指標を提供する。明示的または非明示的に両方の形式の情報を提供することができ、これについては、２〜３の例により以下で更に説明する。
【００１９】
最後に、提供された時間アライメント情報とキーフレーム位置情報との少なくとも１つに基づき、ＨＴＴＰストリーミング・セッションの適応性が制御される。
【００２０】
図２を参照して、ＨＴＴＰストリーミング・サーバ・ノードにおける方法の実施形態について、以下に説明する。
【００２１】
ＨＴＴＰストリーミング・サーバ・ノードでは、送信に先立ち、送信予定のメディア・コンテンツをセグメント化するが、加えて、クライアント・ノードへのストリーミングのため、１つ以上のセグメントの複数のバージョンまたはレプリゼンテーションが提供される。サーバ・ノードは、クライアント・フレンドリネスのようなファクタに依存して、厳密に同じポイントで各々のレプリゼンテーションをセグメント化する（プリコード化セグメントを受信する）ことを選択してもよい。この場合、全てのセグメントは時間的に整列している。サーバ・ノードが、例えばキャッシュ・フレンドリネスのために、異なるポイントでレプリゼンテーションをセグメント化するよう決定する場合は、幾つかのセグメントは時間的に整列していてもよいが、そのたのものは整列していない。受信クライアント・ノードで適応性を支援するため、サーバ・ノードは、レプリゼンテーションがどのように時間的に整列しているのか（またはしていないのか）をシグナリングしなければならない。結果的に、サーバ・ノードは、受信クライアント・ノードにそれぞれのレプリゼンテーションのセグメントのために、時間アライメント情報を提供するＳ１１０。加えて、サーバ・ノードは、各種のレプリゼンテーションセグメントに任意のキーフレームを含むかどうか、またはどこに含むのかについて選択または決定する。クライアント・フレンドリネスと全体的プリコード化コンテンツを取る能力との間のトレードオフに基づいて、時間アライメント戦略によりこの選択を実行する。選択したキーフレーム戦略に基づき、サーバ・ノードは、受信クライアント・ノードへの各種のセグメントおよびレプリゼンテーションのために、キーフレーム位置情報を追加して提供するＳ１２０。
【００２２】
時間アライメント情報を提供するＳ１１０ステップおよびキーフレーム位置情報を提供するＳ１２０ステップは黙示的にまたは直接的に実行することができる。全てのセグメントが同じ継続時間を持つということを指示する情報を提供することにより、全てのレプリゼンテーションの全てのセグメントが時間的に整列していると結論付けることは可能である。例えば、デフォルト値を指定してもよい。
【００２３】
特定の実施形態によれば、上述の時間アライメント情報およびキーフレーム位置情報は、受信クライアント・ノードに提供されるマニフェスト・ファイルまたはメディア・プレゼンテーション記述において、受信クライアント・ノードにシグナリングされる。しかしながら、有利ではないけれど、本情報は、その他の幾つかの情報の交換を通してクライアント・ノードに提供できる。
【００２４】
具体的には、キーフレーム位置情報には、全てまたは幾つかの特定のセグメントがキーフレームから開始するかどうかをマニフェストでシグナリングすることを含めることができる。例えば、ＲＡＰから開始（ＳｔａｒｔｓＷｉｔｈＲＡＰ）というフラグを使用して、これを行うことができる。キーフレームで開始することは適応性をより単純にするため、このフラグが特定のセグメントがキーフレームで開始するということをシグナリングする場合、クライアントは、適応性を提供することのみを選択することができる。
【００２５】
上述のシグナリングは、非明示的かまたは明示的であってもよい。例えば、デフォルト値を指定してもよい。
【００２６】
キーフレームまたはランダム・アクセス・ポイントがセグメントの最初に存在するということ、またはそれがセグメントの最初にある場所を明示的にシグナリングする代わりに、ストリームのＲＡＰまたはＧＯＰ構造を記述するシグナリングを提供してもよい。この方法では、クライアントは、ストリームのどこにキーフレームがあるかを計算できる。
【００２７】
上記では、時間アライメントセグメントと言う用語を使用する。本開示は、一定セグメント継続時間（時間アライメントセグメントと一致してもよいし、しなくてもよい）に同じように良好に適用する。例えば、第３のオーディオ・パケット毎に時間アライメントがあるということをシグナリングしてもよい。
【００２８】
例えば受信クライアント・ノードのような、ＨＴＴＰストリーミング・クライアント・ノードにおける方法の実施形態について、図３を参照して以下に説明する。
【００２９】
クライアント・ノードはＨＴＴＰストリーミング・サーバ・ノードからＨＴＴＰストリーミング・セッションに参加する。クライアント・ノードは、幾つかまたは全ての利用可能なレプリゼンテーションおよびそれらのそれぞれのセグメントのために、時間アライメント（またはその欠如）についての情報を受信するＳ２１０。加えて、クライアント・ノードは、そのレプリゼンテーションセグメントにおけるキーフレームの位置に関する情報を受信するＳ２２０。受信情報に基づき、次にクライアント・ノードは、時間アライメントセグメントがシグナリングされたかどうか、およびセグメントがキーフレームから開始したかどうかに依存して、適応を実行して、ストリーミング・セッションのためにその適応性を制御することができるＳ２３０。
【００３０】
もしそのクライアントが、そのレプリゼンテーションのセグメントが時間的に整列しているという情報を受信するなら、新しいレプリゼンテーションの時系列を再計算する必要なしに、それはセグメント境界に直接的に適応してもよい。対照的に、もしクライアントがそのセグメントが時間的に整列していないという情報を受信するなら、そのクライアントは、これらのストリームの同期化をサポートし、メディアの接合を実行する更なる情報を、（例えばファイルの内部から、またはプレゼンテーション（ｐｒｅｓｅｎｔａｔｉｏｎ）の最初から）必要とする。
【００３１】
提供された時間アライメント情報に基づいて適応性の制御を示す幾つかの実施形態について、以下で議論する。１つの実施形態によれば、全てのセグメントが同じ継続時間を持つという指標を受信することにより、時間アライメントセグメントが明示的または非明示的のいずれかで表示される場合に限り、クライアント・ノードは適応を実行するように選択できる。更に、追加の実施形態によれば、時間アライメントおよび一定セグメント継続時間の両方が表示された場合に限り、クライアントは適応を実行するよう選択できる。
【００３２】
更なる実施形態によれば、時間アライメントセグメントがシグナリングされ、コーデック・データが同じ場合、符号化セグメントを連結させることにより、クライアントは適応を実行する。
【００３３】
加えて、一定セグメント継続時間シグナリングは、クライアントが、例えば一個おきにセグメントをスキップする早送りのような、特別なプレイバック・トリックを実行することを手助けする。
【００３４】
キーフレーム位置情報またはキーフレーム・シグナリングを受信すると、無中断プレイバックを提供するため、多数のセグメントを同時にダウンロードする必要があるかどうか、クライアントは決定できる。もしそのシグナリングがキーフレーム情報を示すなら、クライアントは、どのポイントで新しいレプリゼンテーションを正しく復号できるか、正確に知る。それは、切替える前に、どこで現在のストリームの復号を停止するかを決定するため、この情報を使用してもよい。
【００３５】
第２に、それらのセグメント（またはレプリゼンテーション）の適応を許容しないよう決定するため、セグメントの開始時点でのキーフレームの存在の欠落を使用することができる。
【００３６】
第３の可能性は、時間アライメントセグメントのシグナリングをシグナリングされたキーフレームと組合せることである。もしセグメントが両方とも時間アライメントし、そして、それらがキーフレームから開始するのであれば、ストリーム切換えは最も簡単であり、２つの信号の幾つかの特定の組合せを検出する場合に限り、クライアントはストリーム切換えを実行するよう選択できる。
【００３７】
適応性のもう１つの形式は、それが立体ビデオに適用する場合に関与する可能性がある。ネットワーク帯域幅条件に依存して、立体モード（左目レプリゼンテーションと右目レプリゼンテーションの両方をダウンロード）または単一モード（左／右目レプリゼンテーションのみをダウンロード）間で適応できる。キーフレーム・シグナリングで、クライアントは適応を実行するため最適な方法を決定できる。例えば、もし左目レプリゼンテーションの全てのセグメントがキーフレームから開始し、右目レプリゼンテーションの極めてまれなセグメントがキーフレームから開始するなら、左目ビデオでのキーフレームの頻繁な出現により、停止と再起動が柔軟に可能になるので、立体モードと右目モードとの間で適応することは望ましいことである可能性がある。
【００３８】
少なくとも１つのＨＴＴＰストリーミング・サーバ・ノード１００と少なくとも１つのＨＴＴＰストリーミング・クライアント・ノード２００とを含むシステムの２〜３の実施形態について、図４を参照して説明する。サーバ・ノード１００とクライアント・ノード２００とを接続する、矢印をつけたストリーミング・メディア・コンテンツが表示するように、２つのユニットはストリーミング・セッションに関わっており、クライアント・ノード２００は、サーバ・ノードからあるレプリゼンテーションのコンテンツをフェッチしている。
【００３９】
ＨＴＴＰストリーミング・サーバ・ノード１００には、一般的な入力／出力ユニットＩ／Ｏと時間アライメント情報プロバイダ１１０とを含み、ＨＴＴＰストリーミング・クライアント・ノード２００に進行中または開始したＨＴＴＰストリーミング・セッションのレプリゼンテーションセグメントのために、時間アライメント情報を（明示的にまたは非明示的に）提供する。加えて、サーバ・ノード１００には、キーフレーム位置情報プロバイダ２１０を含み、レプリゼンテーションセグメントのためにキーフレーム位置情報を提供する。ＨＴＴＰストリーミング・ノード１００は、サーバ・ノード１００とクライアント・ノード２００との間の現在のストリーミング・セッションのために、マニフェストまたはメディア・プレゼンテーション記述に情報要素を両方とも含めるよう構成するのが望ましい。上記の特徴に加えて、サーバ・ノード１００にはレプリゼンテーションをセグメント化するユニットを含む。最後に、サーバ・ノードには、ＨＴＴＰストリーミング・セッションを開始し、維持するため、必要な全ての（図示せず）ユニットを含む。
【００４０】
ＨＴＴＰストリーミング・クライアント・ノード２００には、一般的な入力／出力ユニットＩ／Ｏと時間アライメント情報レシーバ２１０とを含む。時間アライメント情報レシーバ２１０は、ＨＴＴＰストリーミング・サーバ・ノード１００からストリーミング・メディアのレプリゼンテーションセグメントの時間アライメントについての情報を（明示的にまたは非明示的に）受信するよう構成される。本情報は、前述のマニフェスト・ファイルで、または個別の情報交換におけるその他の幾つかの手段によって受信できる。更に、クライアント・ノード２００には、キーフレーム位置情報レシーバ２２０を含み、現在のストリーミング・セッションにおける各種のレプリゼンテーションセグメントにおける任意のキーフレームの位置の情報を受信する。また、これは前述のマニフェスト・ファイルで受信可能である。最後に、クライアント・ノード２００には、適応コントローラ２３０を含み、受信した時間アライメント情報およびキーフレーム位置情報の１つまたは両方に基づいて、ストリーミング・セッションの適応を制御する。
【００４１】
変化する時間アライメントを有する異なる状況の２〜３の例について、図５Ａ−Ｅを参照して説明する。異なるレプリゼンテーションの例として、３種の品質レベル、即ち高、中および低を示す。
【００４２】
図５Ａでは、全てのバージョンまたはレプリゼンテーションの８個のセグメント全てが同じ継続時間を持つ、即ち、各々の品質のセグメント全てが同じ継続時間を持つ。言い換えれば、ストリーミング・サーバは、全てのレプリゼンテーションに対して同じセグメント継続時間でメディアをセグメント化した。次に、ストリーミング・サーバは、望ましくはセッションの最初におけるマニフェストで、クライアント・ノードにこの情報を提供する。結果として、時間アライメント情報には、全てのバージョンの全てのセグメントは同じ継続時間を持ち、クライアントは、任意のセグメント境界で実行されるよう、適応、即ちレプリゼンテーション切換えを制御できる。
【００４３】
図５Ｂでは、全てのバージョンの全てのセグメントは整列したセグメント開始ポイントを持つ、即ち、セグメントは時間的に整列している。しかしながら、各々のレプリゼンテーションの第１のセグメントは、各々のレプリゼンテーションの第２のセグメントより長いが、全てのレプリゼンテーションに対して同じ継続時間を持つ。言い換えれば、ストリーミング・サーバは、時間アライメントではあるが、各々のレプリゼンテーション内では同じではないセグメント継続時間で、メディアをセグメント化した。結果として、時間アライメント情報は整列した開始ポイントと個別のセグメント継続時間についての指標を提供する。前の例では、三つのレプリゼンテーションのセグメントは全て時間的に整列しているので、クライアントは、任意のセグメント開始ポイントで実行するよう適応を制御できる。
【００４４】
図５Ｃでは、２つ（またはそれ以上）のバージョンのセグメントは全て同じ継続時間を持つ。ここでは中および低品質バージョンは時間的に整列しており、また、全てのセグメントに対して同じ継続時間を持っているが、一方、高品質レプリゼンテーションセグメントは変化する継続時間を持っている。結果として、時間アライメント情報は中および低品質セグメントは時間的に整列しているが、高品質レプリゼンテーションは整列していないということを表示する。したがって、低と中とのレプリゼンテーション間の全てのセグメント境界間で実行されるよう、しかし高品質レプリゼンテーションでは実行されないよう、適応を制御でき、適応を可能とするために、追加的考慮または情報を使用する必要がある。
【００４５】
図５Ｄでは、２つ以上のバージョンのセグメントは全て整列したセグメント開始ポイントを持つ。これは図５Ｃの場合に類似しているが、同じ品質でのセグメントの継続時間は一定ではない。この例では、時間アライメント情報は、高および中品質レプリゼンテーションは時間的に整列して、変化するセグメント継続時間を持つということを表示する。図５Ｃから理解できるように、クライアント・ノードは、高および中メディア品質レプリゼンテーションに対して、セグメント境界で実行するよう適応を制御できるが、低品質のものに対してはそうではない。
【００４６】
最後に、図５Ｅでは、２つ以上のバージョンの１つ以上のセグメント境界間で（垂直破線で表示するように）、時間の１つ以上のポイントで時間アライメントがある。これはもっと一般的な場合であり、品質切換えのために時間の幾つかの特定のポイントは、もっと適切に行われる。この場合では、時間アライメント情報は、時間的に整列するのはどのレプリゼンテーションのどのセグメント境界かを表示する。例が示すように、三つのレプリゼンテーション全ては表示されたセグメント境界で時間的に整列しており、その理由は、時間におけるこれらの特定のポイントでは全ての品質のレプリゼンテーション間で適応を制御することは可能であるが、時間のその他のポイントではそうではない、ということである。
【００４７】
キーフレーム位置情報に関する２〜３の図の例について、図６Ａ−Ｄを参照して、以下に提供する。前に述べたように、全てまたは幾つかの特定のセグメントはキーフレームから開始するかどうかを表示するため、ストリーミング・サーバは、キーフレーム位置についての情報を提供することができる。応答では、特定のセグメントがキーフレーム、またはその他の幾つかの基準から開始する場合、クライアント・ノードは適応を提供するよう選択できる。
【００４８】
図６Ａでは、全てのバージョンの全てのセグメントは、（垂直破線が示すように）キーフレームから開始する。次に、キーフレーム位置に情報はクライアント・ノードに提供され、クライアント・ノードは、例えば任意のレプリゼンテーションの任意のセグメントでレプリゼンテーションを切り替えるよう、適応性を提供するよう選択することができる。
【００４９】
図６Ｂでは、１つのバージョンの全てのセグメントがキーフレームから開始する。この場合、低品質バージョンのみが全てのセグメントでキーフレームを持つが、中および高品質バージョンは、各々の１つのセグメントで１つのキーフレームを持つ。結果として、時間の１つのポイントでの１つの特定のセグメントで、低と中の品質間で、そして時間で後のもう１つのポイントでのもう１つの特定のセグメントで、低と高の品質間で実行するよう、適応を制御することのみが可能である。
【００５０】
図６Ｃでは、１つ以上のバージョンの１つ以上のセグメントがキーフレームから開始する。このことがクライアント・ノードにシグナリングされ、その結果、提供されたそれらのキーフレームに基づき、適応性を提供するよう選択することができる。
【００５１】
最後に、図６Ｄでは、１つ以上のセグメントにおける１つ以上のキーフレームの位置が提供され、受信クライアント・ノードで受信される。前の実施形態と対照的に、これらのキーフレームは、それらのそれぞれのセグメントの開始時点では提供されず、むしろそれらのセグメント内に含む。
【００５２】
上記に説明したステップ、機能、手順および／またはブロックは、例えば、汎用電子回路および特定用途向け回路の両方を含む、個別回路または集積回路技術のような任意の従来技術を使用するハードウエアに実装してもよい。
【００５３】
或いは、上記に説明したステップ、機能、手順および／またはブロックの少なくとも幾つかは、例えばマイクロプロセッサ、デジタル・シグナル・プロセッサ（ＤＳＰ）および／または、現場プログラム可能ゲートアレイ（ＦＰＧＡ）デバイスのような任意の適当なプログラム可能論理デバイスによって実行するためのソフトウエアに実装してもよい。
【００５４】
当然のことであるが、ネットワーク・ノードの汎用処理能力を再使用することも可能であろう。例えば、これは、既存のソフトウエアの再プログラミング、または新規のソフトウエア要素を追加することによって実行してもよい。
【００５５】
ソフトウエアはコンピュータ・プログラムとして実現してもよく、通常は、コンピュータ読み取り可能媒体で実行する。それ故、コンピュータのプロセッサによって実行するため、コンピュータの動作メモリに読み込まれてもよい。コンピュータ／プロセッサは、上記に説明したステップ、機能、手順および／またはブロックを実行するためにのみ専用される必要はなく、その他のソフトウエア業務を実行してもよい。
【００５６】
以下に、コンピュータ実装の例について、図７を参照して説明する。コンピュータ３００には、プロセッサ３１０、動作メモリ３２０および入力／出力ユニット３３０を備える。この具体的な例では、上記に説明したステップ、機能、手順および／またはブロックの少なくとも幾つかはソフトウエア３２５に実装され、プロセッサ３１０によって実行するため、動作メモリ３２０に読み込まれている。プロセッサ３１０およびメモリ３２０はシステム・バスを介してお互いに相互接続され、通常のソフトウエア実行を可能としている。Ｉ／Ｏユニット３３０は、Ｉ／Ｏバスを介してプロセッサ３１０および／またはメモリ３２０に相互接続されていてもよく、入力パラメータおよび／または結果の出力パラメータのような関連のデータの入力および／または出力を可能としている。
【００５７】
上記で説明した実施形態は、本発明の２〜３の説明上の例であると理解すべきである。当業者には当然のことであるが、各種の修正、組み合わせおよび変更は、本発明の範囲から逸脱することなしに本実施形態に加えてもよい。具体的には、異なる実施形態における異なる部分の解決策は、技術的に可能であれば、その他の構成において組み合わせることが可能である。しかしながら、本発明の範囲は添付の特許請求項によって定められる。
【図１】
2013520865.tif 000003
【図２】
2013520865.tif 000004
【図３】
2013520865.tif 000005
【図４】
2013520865.tif 000006
【図５Ａ】
2013520865.tif 000007
【図５Ｂ】
2013520865.tif 000008
【図５Ｃ】
2013520865.tif 000009
【図５Ｄ】
2013520865.tif 000010
【図５Ｅ】
2013520865.tif 000011
【図６Ａ】
2013520865.tif 000012
【図６Ｂ】
2013520865.tif 000013
【図６Ｃ】
2013520865.tif 000014
【図６Ｄ】
2013520865.tif 000015
【図７】
2013520865.tif 000016
【国際調査報告】
2013520865.tif 000017
2013520865.tif 000018
2013520865.tif 000019