(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-05
(45)【発行日】2022-08-16
(54)【発明の名称】初期化階層を使用した柔軟な相互運用性および能力のシグナリング
(51)【国際特許分類】
H04N 21/84 20110101AFI20220808BHJP
【FI】
H04N21/84
(21)【出願番号】P 2021529831
(86)(22)【出願日】2019-12-27
(86)【国際出願番号】 US2019068709
(87)【国際公開番号】W WO2020142364
(87)【国際公開日】2020-07-09
【審査請求日】2021-05-26
(32)【優先日】2019-01-04
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-12-26
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】イーラジ・ソダガー
【審査官】松元 伸次
(56)【参考文献】
【文献】国際公開第2017/138387(WO,A1)
【文献】特表2017-516338(JP,A)
【文献】米国特許出願公開第2018/0176278(US,A1)
【文献】国際公開第2017/169727(WO,A1)
【文献】韓国公開特許第10-2017-0057119(KR,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00-12/22
12/50-13/18
45/00-101/695
H04N7/10-7/173
7/20-7/56
19/00-21/858
(57)【特許請求の範囲】
【請求項1】
デバイスによって、動画専門家グループ(MPEG)の、ハイパーテキスト転送プロトコルを介した動的適応ストリーミング(DASH)のメディアプレゼンテーション記述(MPD)ファイルに、初期化プレゼンテーションと、前記初期化プレゼンテーションに含まれる1つ以上の初期化グループとを識別する初期化プレゼンテーション要素を含めるステップと、
前記デバイスによって、前記MPDファイルに、初期化グループと、前記初期化グループに含まれる1つ以上の初期化セットとを識別する初期化グループ要素を含めるステップと、
前記デバイスによって、前記MPDファイルに、初期化セットを識別する初期化セット要素を含めるステップと、
前記デバイスによって、前記MPDファイルをクライアントデバイスに送信するステップと
を含む、初期化階層を使用するための方法。
【請求項2】
前記初期化セット要素は、前記初期化セットに適合する少なくとも1つの期間が存在するかどうかを識別する期間要素を含む、請求項1に記載の方法。
【請求項3】
前記初期化グループ要素は、前記初期化グループに含まれる前記1つ以上の初期化セットのコンテンツタイプを指定するコンテンツタイプ要素を含む、請求項1
または2に記載の方法。
【請求項4】
前記初期化グループ要素は、前記1つ以上の初期化セットに対応する、初期化セット識別子のセットを含む、請求項1
から3のいずれか一項に記載の方法。
【請求項5】
前記初期化プレゼンテーション要素は、前記1つ以上の初期化グループに対応する、初期化グループ識別子のセットを含む、請求項1
から4のいずれか一項に記載の方法。
【請求項6】
前記デバイスによって、前記MPDファイルに、適応セットに適合する1つ以上の初期化セット識別子を指定する適応セット要素を含めるステップ
をさらに含む、請求項1
から5のいずれか一項に記載の方法。
【請求項7】
前記デバイスによって、前記MPDファイルに、前記適応セットに関連する1つ以上の期間を識別する期間要素を含めるステップ
をさらに含む、請求項6に記載の方法。
【請求項8】
プログラムコードを記憶するように構成された少なくとも1つのメモリと、
前記プログラムコードを読み出し、前記プログラムコードによって命令されたように動作するよう構成された少なくとも1つのプロセッサと
を備え、前記プログラムコードは
、前記少なくとも1つのプロセッサに、
請求項1から7のいずれか一項に記載の方法を実行させるためのコードを含む、デバイス。
【請求項9】
命令を記憶
したコンピュータプログラムであって、前記命令は、デバイスの1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
請求項1から7のいずれか一項に記載の方法を実行させるための1つ以上の命令を含む、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年1月4日に米国特許商標庁に提出された米国仮特許出願第62/788,427号、および2019年12月26日に米国特許商標庁に提出された米国特許出願第16/727,504号からの優先権を主張し、これらの開示の全体は、参照により本明細書に組み込まれる。
【背景技術】
【0002】
暫定仕様ISO/IEC/JTC1/SC29 WG11 N18057:デバイス情報および他の拡張に関するISO/IEC 23009-1:2014 DAM 5のテキストは、相互運用性ポイントおよび能力をシグナリングするための2つのツール、すなわち、柔軟な相互運用性(IOP:interoperability)シグナリング(例えば、ハイパーテキスト転送プロトコルを介した動的適応ストリーミング(DASH:dynamic adaptive streaming over hypertext transfer protocol)プロファイルおよび相互運用性表現記述子を使用した相互運用性ポイントのシグナリング)および初期化セットを含む。
【発明の概要】
【課題を解決するための手段】
【0003】
本開示の一態様によれば、初期化階層を使用するための方法は、デバイスによって、動画専門家グループ(MPEG:moving pictures experts group)の、ハイパーテキスト転送プロトコルを介した動的適応ストリーミング(DASH)のメディアプレゼンテーション記述(MPD:media presentation description)ファイルに、初期化プレゼンテーションと、初期化プレゼンテーションに含まれる1つ以上の初期化グループとを識別する初期化プレゼンテーション要素を含めるステップと、デバイスによって、MPDファイルに、初期化グループと、初期化グループに含まれる1つ以上の初期化セットとを識別する初期化グループ要素を含めるステップと、デバイスによって、MPDファイルに、初期化セットを識別する初期化セット要素を含めるステップと、デバイスによって、MPDファイルをクライアントデバイスに送信するステップとを含み得る。
【0004】
本開示の一態様によれば、デバイスは、プログラムコードを記憶するように構成された少なくとも1つのメモリと、プログラムコードを読み出し、プログラムコードによって命令されたように動作するよう構成された少なくとも1つのプロセッサとを含み、プログラムコードは、少なくとも1つのプロセッサに、動画専門家グループ(MPEG)の、ハイパーテキスト転送プロトコルを介した動的適応ストリーミング(DASH)のメディアプレゼンテーション記述(MPD)ファイルに、初期化プレゼンテーションと、初期化プレゼンテーションに含まれる1つ以上の初期化グループとを識別する初期化プレゼンテーション要素を含めさせ、MPDファイルに、初期化グループと、初期化グループに含まれる1つ以上の初期化セットとを識別する初期化グループ要素を含めさせ、MPDファイルに、初期化セットを識別する初期化セット要素を含めさせるように構成された含めコードと、少なくとも1つのプロセッサに、MPDファイルをクライアントデバイスに送信させるように構成された送信コードとを含み得る。
【0005】
本開示の一態様によれば、非一時的コンピュータ可読媒体は、命令を記憶し得、該命令は、デバイスの1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに、動画専門家グループ(MPEG)の、ハイパーテキスト転送プロトコルを介した動的適応ストリーミング(DASH)のメディアプレゼンテーション記述(MPD)ファイルに、初期化プレゼンテーションと、初期化プレゼンテーションに含まれる1つ以上の初期化グループとを識別する初期化プレゼンテーション要素を含めさせ、MPDファイルに、初期化グループと、初期化グループに含まれる1つ以上の初期化セットとを識別する初期化グループ要素を含めさせ、MPDファイルに、初期化セットを識別する初期化セット要素を含めさせ、MPDファイルをクライアントデバイスに送信させる1つ以上の命令を含む。
【図面の簡単な説明】
【0006】
【
図1A】本明細書に記載の一実施形態の例示的な概要の図である。
【
図1B】本明細書に記載の一実施形態の例示的な概要の図である。
【
図1C】本明細書に記載の一実施形態の例示的な概要の図である。
【
図2】本明細書に記載のシステムおよび/または方法が実施され得る例示的な環境の図である。
【
図3】
図2の1つ以上のデバイスの例示的なコンポーネントの図である。
【
図4】本明細書に記載の例示的なプロセスのフローチャートである。
【発明を実施するための形態】
【0007】
23009-1 DAM5のテキストは、初期化セットおよび柔軟なIOPシグナリングに関するセクションを含む。本開示は、概念を初期化階層に拡張し、初期化セットの欠点を修正し、柔軟な相互運用性ポイントシグナリングを可能にし、クライアントがコンテンツを再生するための能力を定義する。
【0008】
インターネットストリーミングの重要な特徴の1つは、相互運用性ポイント(および/または再生能力)がマニフェストでシグナリングされなければならないことである。DASH標準は、単純な@profile属性を有し、セットの機能のすべての組み合わせに対してスキームIDのユニフォームリソース識別子(URI:uniform resource identifier)を定義する必要があり得る。
【0009】
柔軟なIOPシグナリングは、能力を提供するために表現言語を提供するが、クライアントは、言語の解析能力を実装する必要があり得、各機能の識別子が開発される必要があり得る。
【0010】
初期化セットは、実際の期間の前に各適応セット/表現の設定をコピーするメカニズムを提供し、これにより、クライアントは、対応する適応セットの再生に必要な能力をシグナリングするために、適応セットで使用されるのと同じ要素および属性ならびに初期化セグメントのユニフォームリソースロケータ(URL:Uniform Resource Locator)を使用する。初期化セットは、単一のポイントで相互運用性ポイントシグナリングを提供するが、複数のポイントを互いに組み合わせて、包括的な相互運用性ポイント/能力シグナリングを作成するメカニズムを提供し得ない。
【0011】
初期化セットは、初期化セグメント(の共通項)をリストする。すなわち、すべての初期化セグメントに関して、すべての期間は、その初期化セグメントに適合する1つの適応セットを有さなければならない。
【0012】
以下の中核を成す使用事例は、現在、初期化セットによって対処されていない。
【0013】
第1に、コンテンツ期間がビデオコーデックを含み、広告期間が異なるビデオコーデックを含む場合、これは、初期化セットによって対処され得ない。言い換えれば、すべての期間は、1つの初期化セットごとに1つの適応セットを有さなければならない。第2に、初期化セットでは、クライアントがビデオを再生するために2つ以上のコーデックを必要とするかどうか、またはすべての期間が単一の共通コーデックを有するかどうかがクライアントに明確でない場合がある。したがって、単一のコーデックで十分な場合がある。第3に、初期化セットは、すべての期間に必要なすべての最小限の能力をグループ化し、任意選択で期間の能力をシグナリングする方法がない。第4に、現在の初期化セットは識別子を有しておらず、したがって、各初期化セットは、同等の目的のために一意に識別され得ない場合がある。識別子を使用して初期化セットをシグナリングすることは、クライアントが、初期化セットの要素および属性を解析および分析したり、その初期化セグメントをダウンロードしたりすることなく、その識別子を用いて初期化セットを認識することを可能にする。これは、初期化セットが共通メディアアプリケーションフォーマット(CMAF:common media application format)またはCMAFベースのメディアプロファイルに適合している場合に特に有用である。
【0014】
初期化セットに対処し、これを強化するために、本開示の実施形態は、以下に概説される階層的初期化ツールの概念および実施を提供する。
【0015】
第1に、本開示の一実施形態は、すべての期間がすべての単一の初期化セットをサポートしているという要件を取り除く。異なるコーダを有する様々な期間を可能にするために、本開示は、以下の要件を変更する。「初期化セットは、メディアプレゼンテーション全体にメディアプロパティの共通セットを提供する。初期化セットが特定のプロパティを有するMPDで提供される場合、同じプロパティを有する期間の1つに少なくとも1つの適応セットが存在しなければならない。初期化セットは、関連する暗号解読、デコード、およびレンダリング環境を確立するために、メディアプレゼンテーションの開始時に選択され得る。」
【0016】
この変更は、すべての期間が、MPDにリストされる各初期化セットと互換性のある少なくとも1つの適応セットを有する必要があるわけではないことを意味する。
【0017】
第2に、本開示の一実施形態は、初期化セットに新しい属性(「@inAllPeriods」)を導入する。この属性が1つの初期化セットに設定される場合、それは、メディアプレゼンテーション記述(MPD)ファイルのすべての期間が、この初期化セットに適合する少なくとも1つの適応セットを有することを示す。
【0018】
「InitializationSet」要素のセマンティクスは以下の通りであり得る。一実施形態によれば、「InitializationSet」要素は、以下の要素、属性、使用、および記述を含み得る。要素「InitiaizationSet」は、「Initializaton Set Description」の記述を含み得る。要素「@xlink:href」は、「O」の使用および「タイプ「InitializationSet」の1つの要素だけを含むリモート要素エンティティへの参照を指定する」の記述を含み得る。要素「@xlink:actuate」は、「OD」(「デフォルト:「onRequest」」)の使用および「「onLoad」または「onRequest」のいずれかであり得る処理命令を指定する」の記述を含み得る。要素「@inAllPeriods」は、「O」の使用および「真に設定されている場合、この初期化セットに適合する各期間に少なくとも1つの適応セットが存在する」の記述(デフォルト値は偽であり得る)を含み得る。要素「@id」は、「M」の使用および「この初期化セットの一意の識別子を指定する。属性は、MPDのスコープ内の一意の符号なし整数値である」の記述を含み得る。要素「@schemeIdUri」は、「O」の使用および「この初期化セットのURI識別子を指定する。存在する場合、スキームは初期化セットと同等である(初期化セットに適合し、かつ初期化セットによって適合される)」の記述を含み得る。
【0019】
一実施形態によれば、初期化セットがすべての期間で共通である場合、すなわち、初期化セットと互換性のある少なくとも1つの適応セットが各期間に存在する場合、初期化セットの「@inAllPeriods」属性は、「真」に設定され得る。
【0020】
本開示は、プレゼンテーション全体にわたってメディアタイプを再生するためのサブセットをシグナリングする新しい要素「InitializationGroup」を提供する。本開示は、すべての期間のメディアタイプの再生のための最小限の要件を示すために新しい要素を追加する。この要素は、initializationSetの「@id」をリストする。どの期間も、この要素で参照される初期化セットの1つに適合する少なくとも1つの適応セットを有し得る。したがって、クライアントが1つの「InitializationGroup」要素にリストされている初期化セットのすべてをサポートしている場合、クライアントは、メディアプレゼンテーション全体にわたってメディアタイプを再生し得る。
【0021】
「InitializationGroup」要素のセマンティクスは以下の通りであり得る。一実施形態によれば、要素「InitializationSet」は、「Initialization Set Description」の記述を含み得る。要素「@xlink:href」は、「O」の使用および「タイプ「InitializationGroup」の1つの要素だけを含むリモート要素エンティティへの参照を指定する」の記述を含み得る。要素「@xlink:actuate」は、「OD」(デフォルト:「onRequest」)の使用および「「onLoad」または「onRequest」のいずれかであり得る処理命令を指定する」の記述を含み得る。要素「@id」は、「O」の使用および「この初期化グループの一意の識別子を指定する。属性は、MPDのスコープ内の一意の符号なし整数値である」の記述を含み得る。要素「@schemeIdUri」は、「O」の使用および「この初期化グループのURI識別子を指定する。存在する場合、スキームは、@initializationSetsにリストされている初期化セットと同等である(初期化セットに適合し、かつ初期化セットによって適合される)」の記述を含み得る。要素「@contentType」は、「O」の使用および「@initializationSetsにリストされている初期化セットのコンテンツタイプを指定する」の記述を含み得る。要素「@initializationSets」は、「1」の使用および「この初期化グループに含まれる初期化セットのIDの空白で区切られたリスト」の記述を含み得る。
【0022】
本開示は、「InitializationPresentation」の新しい要素を提供し、これは、期間全体にわたってプレゼンテーションを再生するためのサブセットをシグナリングするためのものである。本開示は、完全なプレゼンテーションを示すために別の要素を追加する。「InitializationPresentation」要素は、完全なプレゼンテーションを作成する初期化セットのリストを含む。初期化プレゼンテーションのリストされているすべての初期化セットをサポートしているクライアントは、サービスプロバイダによって意図された通りにメディアプレゼンテーション全体を再生し得る。
【0023】
「InitializationPresentation」のセマンティクスは以下の通りであり得る。要素「InitializationPresentation」は、「O」の使用および「Initialization Set description」の記述を含み得る。要素「@xlink:href」は、「O」の使用および「タイプ「InitializationGroup」の1つの要素だけを含むリモート要素エンティティへの参照を指定する」の記述を含み得る。要素「@xlink:actuate」は、「OD」(デフォルト:「onRequest」)の使用および「「onLoad」または「onRequest」のいずれかであり得る処理命令を指定する」の記述を含み得る。要素「@id」は、「O」の使用および「この初期化プレゼンテーションの一意の識別子を指定する。属性は、MPDのスコープ内の一意の符号なし整数値である」の記述を含み得る。要素「@schemeIdUri」は、「O」の使用および「この初期化プレゼンテーションのURI識別子を指定する。存在する場合、スキームは、@initializationGroupsにリストされている初期化グループおよびセットと同等である(初期化グループおよびセットに適合し、かつ初期化グループおよびセットによって適合される)」の記述を含み得る。要素「@initializationGroups」は、「1」の使用および「この初期化グループに含まれる初期化グループのIDおよび初期化セットのIDの空白で区切られたリスト。@inAllPeriods値が真の初期化セットのIDのみが、この属性に含まれ得る」の記述を含み得る。
【0024】
本開示は、MPDファイル内の以下の要素を提供する。本開示は、プレゼンテーション全体、およびさらには様々なメディアタイプの提案されたプレゼンテーションの組み合わせを再生するための初期化セットを文書化するためにMPDファイル内の追加の要素を提供する。
【0025】
MPD要素のセマンティクスは以下の通りであり得る。要素「MPD」は、「メディアプレゼンテーションのためのメディアプレゼンテーション記述を搬送するルート要素」の記述を含み得る。要素「InitializationSet」は、「0」から「n」の使用および「プレゼンテーションの特定のメディアタイプに適した初期化を指定する。存在する場合、メディアプレゼンテーションの各期間は、この初期化セットによって初期化されたときに再生され得る少なくとも1つの適応セットを含む。詳細については、5.3.X節を参照してください」の記述を含み得る。要素「InitializationGroup」は、「0」から「n」の使用および「プレゼンテーションの特定のメディアタイプに適した初期化のグループを指定する。存在する場合、メディアプレゼンテーションの各期間は、この要素にリストされた初期化セットの1つの下で再生され得る少なくとも1つの適応セットを含む。詳細については、5.3.X節を参照してください」の記述を含み得る。要素「InitializationPresentation」は、「0」から「n」の使用および「このプレゼンテーションに適した初期化の集合を指定する。存在する場合、メディアプレゼンテーションの各期間は、この要素によって参照される初期化セットの1つによって初期化されたときに再生され得る、メディアタイプごとの少なくとも1つの適応セットを含む。詳細については、5.3.X節を参照してください」の記述を含み得る。
【0026】
上記の要素に関して、「M」は、使用が必須であることを示し得、「O」は、使用が任意選択であることを示し得、「OD」は、使用がデフォルト値で任意選択であることを示し得、「CM」は、使用が条件付きで必須であることを示し得る。要素に関して、「<minOccurs>…<maxOccurs>(N=unbounded)」である。
【0027】
図1A~
図1Cは、能力をシグナリングする際の初期化階層の例示的な使用およびMPDファイル100内の推奨プレゼンテーションの図である。
図1は、初期化シグナリングの例である。各初期化グループは、プレゼンテーション全体のメディアタイプの再生のための最小限の要件を定義し、各初期化プレゼンテーションは、有意なマルチメディアプレゼンテーションを定義する。
図1では、MPDファイルは、3つの異なるメディアタイプ(例えば、ビデオ、オーディオ、および字幕)を含む。MPDファイルは、適応セットがメディアタイプごとに異なる初期化セットによって記述されるいくつかの期間を含む(例えば、初期化セット1から4は、4つの異なるビデオデコーダの要件を定義し、初期化セット5から7は、3つのオーディオデコーダの要件を定義し、初期化セット8および9は、2つの異なる字幕パーサの要件を定義する。
【0028】
図1では、初期化グループ1は、初期化セット1および2を含み、初期化グループ2は、初期化セット2および3を含み、これは、クライアントが初期化グループ1または初期化グループ2に定義されたデコーダをサポートしている場合、クライアントがすべての期間にわたってビデオを再生し得ることを意味する。同様に、初期化グループ3は、初期化セット5および6を含み、このため、初期化セット5および6で定義されたデコーダをサポートしているクライアントは、すべての期間にわたってオーディオを再生し得る。最後に、初期化セット9は、値が真に設定された要素「@inAllPeriod」を含むため、初期化セット9をサポートしているクライアントは、すべての期間にわたって既存の字幕を再生し得る。
【0029】
提案されたプレゼンテーションを定義するために、MPDファイルは、2つの初期化プレゼンテーション1および2を含む。初期化プレゼンテーション1は、オーディオおよびビデオを含む完全なプレゼンテーションを定義する(すなわち、クライアントは、初期化グループ2および初期化グループ3をサポートしている必要があり得る)。初期化プレゼンテーション2は、字幕の初期化セット9の再生のサポートをそのプレゼンテーション要件に追加する。
【0030】
図1Bを参照して、ライブプログラムがいくつかの期間を含む場合を考えてみよう。MPDは、コンテンツの単一の期間P1で最初に公開され得る。しかしながら、ライブストリーミングイベント中に、MPDは、様々なコンテンツプロバイダからの広告およびコンテンツを含む新しい期間で更新され得る。これらの期間は、P2、P3などとして示されている。
図1Bはコーデックを示しているが、プロファイル/レベル、コンテンツ保護、アクセシビリティ、視点、フレームパッキングなどの他の特徴が変更され得る。
【0031】
図1Cを参照すると、MPDファイル100は、
図1に示されている階層をスケジュールするための初期化階層を含み得る。
【0032】
各適応セットは初期化セットに適合し得るため、適応セット内の複数の初期化セットを参照する必要がない。したがって、本開示は、以下の要素を変更する。要素「AdaptationSet」は、「Adaptation Set Desciption」の記述を含み得る。要素「@initializationSetRef」は、「O」の使用および「この適応セットが適合している初期化セット@id識別子を指定する」の記述を含み得る。
【0033】
図2は、本明細書に記載のシステムおよび/または方法が実施され得る例示的な環境200の図である。
図2に示されているように、環境200は、クライアントデバイス205、基地局210、ネットワークデバイス215、コンテンツプロバイダデバイス220、CDNサーバ225、ホストデバイス230、ネットワーク235、およびCDN240を含み得る。環境200のデバイスは、有線接続、無線接続、または有線接続と無線接続の組み合わせを介して相互接続され得る。
【0034】
クライアントデバイス205は、ストリーミングメディアコンテンツに関連する情報を受信、生成、記憶、処理、および/または提供することができる1つ以上のデバイスを含み得る。例えば、クライアントデバイス205は、携帯電話(例えば、スマートフォン、無線電話など)、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、ゲーミングデバイス、ウェアラブル通信デバイス(例えば、スマート腕時計、スマートグラスのペアなど)、セットトップボックス、または同様のタイプのデバイスなどの通信およびコンピューティングデバイスを含み得る。
【0035】
クライアントデバイス205は、メディアストリームのセグメントを要求することによってストリーミングメディアコンテンツを要求し得る(例えば、ハイパーテキスト転送プロトコル(HTTP:HyperText Transfer Protocol)ライブストリーミング(HLS:HTTP Live Streaming)、HTTPを介した動的適応ストリーミング(DASH)、HTTP動的ストリーミング、HTTP適応ストリーミング、またはマイクロソフトスムースストリーミングなどを使用して)。一実施形態によれば、要求は、ホストデバイス230に送信され得る。ホストデバイス230は、要求されたセグメントをクライアントデバイス205に提供することによって要求に応答し得、クライアントデバイス205は、受信されたセグメントを再生のために処理し得る。
【0036】
基地局210は、クライアントデバイス205に向けられ、および/またはクライアントデバイス205から受信される、オーディオ、ビデオ、および/または他のトラフィックなどのストリーミングメディアトラフィックを転送することができる1つ以上のデバイスを含み得る。一実施形態によれば、基地局210は、ロングタームエボリューション(LTE:long term evolution)ネットワークに関連する発展型ノードB(eNB:evolved Node B)を含み得る。さらにまたはあるいは、基地局210は、LTEネットワークに関連していない無線アクセスネットワーク(RAN)に関連し得る。基地局210は、エアインターフェースを介してクライアントデバイス205にトラフィックを送信および/またはクライアントデバイス205からトラフィックを受信し得る。一実施形態によれば、基地局210は、マイクロセル、ピコセル、および/またはフェムトセルの基地局などのスモールセル基地局を含み得る。
【0037】
ネットワークデバイス215は、ネットワーク235に関連するトラフィックを受信、処理、記憶、および/または転送することができる1つ以上のデバイスを含み得る。例えば、ネットワークデバイス215は、サーバ、ゲートウェイ、ファイアウォール、ルータ、または同様のデバイスを含み得る。一実施形態によれば、ネットワークデバイス215は、ネットワーク235に含まれ得る。一実施形態によれば、ネットワークデバイス215は、基地局210に含まれ得る。
【0038】
本明細書で使用される場合、トラフィックは、環境200の2つ以上のデバイス間の通信(例えば、パケットを介した)を指し得る。本明細書で使用される場合、パケットは、プロトコルデータユニット(PDU:protocol data unit)、パケット、フレーム、データグラム、セグメント、メッセージ、ブロック、セル、フレーム、サブフレーム、スロット、シンボル、上記のいずれかの一部、および/またはネットワークを介して送信され得る別のタイプのフォーマット済みのもしくはフォーマットされていないデータユニットなどの、情報を通信するための通信構造を指し得る。
【0039】
コンテンツプロバイダデバイス220は、ストリーミングメディアコンテンツに関連する情報を受信、処理、記憶、および/または提供することができる1つ以上のデバイスを含み得る。例えば、コンテンツプロバイダデバイス220は、サーバ(例えば、アプリケーションサーバ、ホストサーバ、ウェブサーバ、HTTPサーバなど)、ネットワークデバイス、または同様のデバイスなどのコンピューティングデバイスを含み得る。
【0040】
CDNサーバ225は、ストリーミングメディアコンテンツに関連する情報を受信、記憶、処理、および/または提供することができる1つ以上のデバイスを含み得る。例えば、CDNサーバ225は、サーバデバイスまたは同様のデバイスなどのコンピューティングデバイスを含み得る。
【0041】
ホストデバイス230は、ストリーミングメディアコンテンツ(例えば、ストリーミングメディアコンテンツの1つ以上のセグメント)を受信、記憶、処理、および/または提供することができる1つ以上のデバイスを含み得る。例えば、ホストデバイス230は、記憶デバイス、サーバ、または同様のデバイスを含み得る。ホストデバイス230は、クライアントデバイス205から、ストリーミングメディアコンテンツのセグメントに対する要求を受信し得る。要求されたセグメントがホストデバイス230によって記憶されている場合、ホストデバイス230は、要求されたセグメントをクライアントデバイス205に提供し得る。要求されたセグメントがホストデバイス230によって記憶されていない場合、ホストデバイス230は、コンテンツプロバイダデバイス220からセグメントを取得し得(例えば、セグメントを要求し受信することによって)、セグメントを記憶し得、セグメントをクライアントデバイス205に提供し得る。
【0042】
ネットワーク235は、1つ以上の有線および/または無線ネットワークを含み得る。例えば、ネットワーク235は、セルラーネットワーク(例えば、LTEネットワーク、第3世代(3G)ネットワーク、符号分割多元接続(CDMA:code division multiple access)ネットワークなど)、公衆陸上移動体ネットワーク(PLMN:public land mobile network)、無線ローカルエリアネットワーク(例えば、Wi-Fiネットワークなど)、ローカルエリアネットワーク(LAN:local area network)、ワイドエリアネットワーク(WAN:wide area network)、メトロポリタンエリアネットワーク(MAN:metropolitan area network)、電話ネットワーク(例えば、公衆交換電話ネットワーク(PSTN:Public Switched Telephone Network))、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバベースのネットワーク、クラウドコンピューティングネットワーク、および/またはこれらもしくは他のタイプのネットワークの組み合わせを含み得る。
【0043】
CDN240は、ストリーミングメディアコンテンツ(例えば、ストリーミングメディアコンテンツの1つ以上のセグメント)を受信、記憶、処理、および/または提供することができる、1つ以上の有線および/または無線ネットワークのデバイスを含み得る。CDN240は、例えば、サーバまたはデータセンタなどを含み得る。一実施形態によれば、CDN240は、ホストデバイス245および/またはCDNサーバ225を含み得る。CDN240の1つ以上のデバイスは、コンテンツプロバイダデバイス220から、ストリーミングメディアコンテンツ(例えば、メディアストリームの1つ以上のセグメント)を受信し得、ストリーミングメディアコンテンツをクライアントデバイス205に提供し得る。
【0044】
図2に示されているデバイスおよびネットワークの数および配置は、例として提供されている。実際には、
図2に示されているものと比べて追加のデバイスおよび/もしくはネットワーク、より少ないデバイスおよび/もしくはネットワーク、異なるデバイスおよび/もしくはネットワーク、または異なる配置のデバイスおよび/もしくはネットワークが存在してもよい。さらに、
図2に示されている2つ以上のデバイスは、単一のデバイス内に実施されてもよいし、または
図2に示されている単一のデバイスは、複数の分散デバイスとして実施されてもよい。さらにまたはあるいは、環境200のデバイスのセット(例えば、1つ以上のデバイス)は、環境200のデバイスの別のセットによって実行されるものとして説明されている1つ以上の機能を実行し得る。
【0045】
図3は、デバイス300の例示的なコンポーネントの図である。デバイス300は、クライアントデバイス205、基地局210、ネットワークデバイス215、コンテンツプロバイダデバイス220、CDNサーバ225、ホストデバイス230に対応し得る。
図3に示されているように、デバイス300は、バス310、プロセッサ320、メモリ330、記憶コンポーネント340、入力コンポーネント350、出力コンポーネント360、および通信インターフェース370を含み得る。
【0046】
バス310は、デバイス300のコンポーネント間の通信を可能にするコンポーネントを含む。プロセッサ320は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアの組み合わせで実施される。プロセッサ320は、中央処理装置(CPU:central processing unit)、グラフィック処理装置(GPU:graphics processing unit)、加速処理装置(APU:accelerated processing unit)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP:digital signal processor)、フィールドプログラマブルゲートアレイ(FPGA:field-programmable gate array)、特定用途向け集積回路(ASIC:application-specific integrated circuit)、または別のタイプの処理コンポーネントである。一部の実施態様では、プロセッサ320は、機能を実行するようにプログラムされ得る1つ以上のプロセッサを含む。メモリ330は、ランダムアクセスメモリ(RAM:random access memory)、読み出し専用メモリ(ROM:read only memory)、ならびに/またはプロセッサ320による使用のために情報および/もしくは命令を記憶する別のタイプの動的もしくは静的記憶デバイス(例えば、フラッシュメモリ、磁気メモリ、および/もしくは光メモリ)を含む。
【0047】
記憶コンポーネント340は、デバイス300の動作および使用に関連する情報および/またはソフトウェアを記憶する。例えば、記憶コンポーネント340は、対応するドライブと共に、ハードディスク(例えば、磁気ディスク、光ディスク、磁気光ディスク、および/もしくはソリッドステートディスク)、コンパクトディスク(CD:compact disc)、デジタル多用途ディスク(DVD:digital versatile disc)、フロッピーディスク、カートリッジ、磁気テープ、ならびに/または別のタイプの非一時的コンピュータ可読媒体を含み得る。
【0048】
入力コンポーネント350は、デバイス300が、ユーザ入力(例えば、タッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ、および/またはマイクロフォン)などを介して情報を受信することを可能にするコンポーネントを含む。さらにまたはあるいは、入力コンポーネント350は、情報を感知するためのセンサ(例えば、全地球測位システム(GPS:global positioning system)コンポーネント、加速度計、ジャイロスコープ、および/またはアクチュエータ)を含み得る。出力コンポーネント360は、デバイス300からの出力情報を提供するコンポーネント(例えば、ディスプレイ、スピーカ、および/または1つ以上の発光ダイオード(LED:light-emitting diode))を含む。
【0049】
通信インターフェース370は、デバイス300が有線接続、無線接続、または有線接続と無線接続の組み合わせなどを介して他のデバイスと通信することを可能にする、トランシーバのようなコンポーネント(例えば、トランシーバならびに/または別々の受信機および送信機)を含む。通信インターフェース370は、デバイス300が別のデバイスから情報を受信し、および/または別のデバイスに情報を提供することを可能にし得る。例えば、通信インターフェース370は、イーサネットインターフェース、光インターフェース、同軸インターフェース、赤外線インターフェース、無線周波数(RF:radio frequency)インターフェース、ユニバーサルシリアルバス(USB:universal serial bus)インターフェース、Wi-Fiインターフェース、またはセルラーネットワークインターフェースなどを含み得る。
【0050】
デバイス300は、本明細書に記載の1つ以上のプロセスを実行し得る。デバイス300は、メモリ330および/または記憶コンポーネント340などの非一時的コンピュータ可読媒体によって記憶されたソフトウェア命令を実行するプロセッサ320に応答してこれらのプロセスを実行し得る。コンピュータ可読媒体は、本明細書では非一時的メモリデバイスとして定義される。メモリデバイスは、単一の物理記憶デバイス内のメモリスペースまたは複数の物理記憶デバイスに分散されたメモリスペースを含む。
【0051】
ソフトウェア命令は、通信インターフェース370を介して別のコンピュータ可読媒体から、または別のデバイスからメモリ330および/または記憶コンポーネント340に読み出され得る。実行されると、メモリ330および/または記憶コンポーネント340に記憶されたソフトウェア命令は、プロセッサ320に、本明細書に記載の1つ以上のプロセスを実行させ得る。さらにまたはあるいは、ハードワイヤード回路は、本明細書に記載の1つ以上のプロセスを実行するために、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて使用され得る。したがって、本明細書に記載の実施態様は、ハードウェア回路とソフトウェアの特定の組み合わせに限定されない。
【0052】
図3に示されているコンポーネントの数および配置は、例として提供されている。実際には、デバイス300は、
図3に示されるものと比べて追加のコンポーネント、より少ないコンポーネント、異なるコンポーネント、または異なる配置のコンポーネントを含み得る。さらにまたはあるいは、デバイス300のコンポーネントのセット(例えば、1つ以上のコンポーネント)は、デバイス300のコンポーネントの別のセットによって実行されるものとして説明されている1つ以上の機能を実行し得る。
【0053】
図4は、本開示の一態様による例示的なプロセス400のフローチャートである。
【0054】
一実施形態によれば、
図4の1つ以上のプロセスブロックは、ネットワークデバイス215によって実行され得る。一実施形態によれば、
図4の1つ以上のプロセスブロックは、クライアントデバイス205、基地局210、ネットワークデバイス215、コンテンツプロバイダデバイス220、CDNサーバ225、ホストデバイス230など、ネットワークデバイス215とは異なるまたはネットワークデバイス215を含む、別のデバイスまたはデバイスのグループによって実行され得る。
【0055】
図4に示されているように、プロセス400は、動画専門家グループ(MPEG)の、ハイパーテキスト転送プロトコルを介した動的適応ストリーミング(DASH)のメディアプレゼンテーション記述(MPD)ファイルに、初期化プレゼンテーションと、初期化プレゼンテーションに含まれる1つ以上の初期化グループとを識別する初期化プレゼンテーション要素を含めるステップ(ブロック410)を含み得る。
【0056】
図4にさらに示されているように、プロセス400は、MPDファイルに、初期化グループと、初期化グループに含まれる1つ以上の初期化セットとを識別する初期化グループ要素を含めるステップ(ブロック420)を含み得る。
【0057】
図4にさらに示されているように、プロセス400は、MPDファイルに、初期化セットを識別する初期化セット要素を含めるステップ(ブロック430)を含み得る。
【0058】
図4にさらに示されているように、プロセス400は、MPDファイルをクライアントデバイスに送信するステップ(ブロック440)を含み得る。
【0059】
図4は、プロセス400の例示的なブロックを示しているが、一部の実施態様では、プロセス400は、
図4に示されているものと比べて追加のブロック、より少ないブロック、異なるブロック、または異なる配置のブロックを含み得る。さらにまたはあるいは、プロセス400の2つ以上のブロックが並行して実行されてもよい。
【0060】
前述の開示は、例示および説明を提供しているが、網羅的であること、または実施態様を開示されたまさにその形態に限定することを意図されていない。修正および変形は、上記の開示に照らして可能であるか、または実施態様の実施から得られ得る。
【0061】
本明細書で使用される場合、コンポーネントという用語は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアの組み合わせとして広く解釈されることを意図されている。
【0062】
本明細書に記載のシステムおよび/または方法は、異なる形態のハードウェア、ファームウェア、またはハードウェアとソフトウェアの組み合わせで実施され得ることは明らかである。これらのシステムおよび/または方法を実施するために使用される実際の特殊な制御ハードウェアまたはソフトウェアコードは、実施態様を限定するものではない。したがって、システムおよび/または方法の動作および挙動は、本明細書では特定のソフトウェアコードを参照せずに説明されており、ソフトウェアおよびハードウェアは、本明細書の説明に基づいてシステムおよび/または方法を実施するように設計され得ることが理解される。
【0063】
特徴の特定の組み合わせが特許請求の範囲に記載され、および/または本明細書に開示されているが、これらの組み合わせは、本開示の可能な実施態様を限定することを意図されていない。実際、これらの特徴の多くは、特許請求の範囲に特に記載されていない、および/または本明細書に開示されていない方法で組み合わされ得る。以下にリストされている各従属請求項は、1つの請求項のみに直接従属し得るが、本開示の可能な実施態様は、請求項セット内の他のすべての請求項と組み合わせた各従属請求項を含む。
【0064】
本明細書で使用されている要素、動作、または命令は、決定的または必須であるものとして明示的に説明されているのでない限り、そのようなものとして解釈されるべきではない。また、本明細書で使用される場合、冠詞「ある(a)」および「ある(an)」は、1つ以上のものを含むことを意図されており、「1つ以上」と交換可能に使用され得る。さらに、本明細書で使用される場合、「セット」という用語は、1つ以上のもの(例えば、関連するもの、関連しないもの、関連するものと関連しないものの組み合わせなど)を含むことを意図されており、「1つ以上」と交換可能に使用され得る。1つのもののみが意図される場合、「1つ」という用語または同様の言葉が使用される。また、本明細書で使用される場合、「有する(has)」、「有する(have)」、または「有している(having)」などの用語は、制限のない用語を意図されている。さらに、「に基づいて(based on)」という句は、特に明記しない限り、「に少なくとも部分的に基づいて」を意味することを意図されている。
【符号の説明】
【0065】
100 MPDファイル
200 環境
205 クライアントデバイス
210 基地局
215 ネットワークデバイス
220 コンテンツプロバイダデバイス
225 CDNサーバ
230 ホストデバイス
235 ネットワーク
240 CDN
300 デバイス
310 バス
320 プロセッサ
330 メモリ
340 記憶コンポーネント
350 入力コンポーネント
360 出力コンポーネント
370 通信インターフェース