(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-26
(45)【発行日】2024-03-05
(54)【発明の名称】遠隔要素分解のクライアントベースの記憶装置
(51)【国際特許分類】
H04N 21/2362 20110101AFI20240227BHJP
H04N 21/84 20110101ALI20240227BHJP
H04N 21/434 20110101ALI20240227BHJP
【FI】
H04N21/2362
H04N21/84
H04N21/434
(21)【出願番号】P 2022548470
(86)(22)【出願日】2021-03-01
(86)【国際出願番号】 US2021020340
(87)【国際公開番号】W WO2021174214
(87)【国際公開日】2021-09-02
【審査請求日】2022-09-09
(32)【優先日】2020-02-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】512333560
【氏名又は名称】フル・エルエルシー
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(74)【代理人】
【識別番号】100108855
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100179062
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100199565
【氏名又は名称】飯野 茂
(74)【代理人】
【識別番号】100212705
【氏名又は名称】矢頭 尚之
(74)【代理人】
【識別番号】100219542
【氏名又は名称】大宅 郁治
(74)【代理人】
【識別番号】100153051
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100162570
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】カバ、ザカリー・マッキール
【審査官】中野 和彦
(56)【参考文献】
【文献】特表2023-501242(JP,A)
【文献】特表2016-522621(JP,A)
【文献】米国特許出願公開第2019/0313150(US,A1)
【文献】米国特許出願公開第2017/0359628(US,A1)
【文献】米国特許出願公開第2018/0332330(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/2362
H04N 21/84
H04N 21/434
(57)【特許請求の範囲】
【請求項1】
方法であって、
コンピューティングデバイスが、メディアプレゼンテーション用のマニフェストプレゼンテーション記述を受信すること、前記マニフェストプレゼンテーション記述は、機会についての補足コンテンツを決定するための分解を必要とする前記機会を含む、と、
前記コンピューティングデバイスが、前記機会を分解することを求める要求を送ること、ここにおいて、前記要求から受信された前記補足コンテンツについての情報は、前記
マニフェストプレゼンテーション記述のインスタンス中に挿入される、と、
前記コンピューティングデバイスが、前記機会についての識別子に関連して前記補足コンテンツについての前記情報を記憶することと、
前記コンピューティングデバイスが、前記マニフェストプレゼンテーション記述への更新を受信すること、ここにおいて、前記マニフェストプレゼンテーション記述への前記更新は、前記機会についての補足コンテンツを決定するための分解を必要とする前記機会を含む、と、
前記コンピューティングデバイスが、前記機会についての前記識別子に関連して記憶された前記補足コンテンツについての前記情報を取り出し、前記マニフェストプレゼンテーション記述への前記更新の前記インスタンス中に前記補足コンテンツについての前記情報を挿入することと
を備える、方法。
【請求項2】
前記マニフェストプレゼンテーション記述の前記インスタンスを記憶することと、
前記マニフェストプレゼンテーション記述の前記インスタンス中に前記機会中の前記補足コンテンツについての前記情報を挿入することと
を更に備える、請求項1に記載の方法。
【請求項3】
前記メディアプレゼンテーションの再生中に前記補足コンテンツを要求するために、前記補足コンテンツについての前記情報を使用すること
を更に備える、請求項1に記載の方法。
【請求項4】
前記マニフェストプレゼンテーション記述を受信することは、
前記マニフェストプレゼンテーション記述を受信すると、前記機会が分解されるべきであると決定することと、
前記マニフェストプレゼンテーション記述を受信すると、前記機会を分解することを求める要求を送ることと
を備える、請求項1に記載の方法。
【請求項5】
前記機会を分解することを求める前記要求を送ることは、
前記マニフェストプレゼンテーション記述を受信した後、前記機会が後の時間に分解されるべきであると決定することと、
前記マニフェストプレゼンテーション記述を受信した後に条件が満たされると、前記機会を分解することを求める要求を送ることと
を備える、請求項1に記載の方法。
【請求項6】
前記マニフェストプレゼンテーション記述を受信して前記メディアプレゼンテーションの一部分が再生された後に、前記条件が満たされる、請求項5に記載の方法。
【請求項7】
前記補足コンテンツについての前記情報及び前記識別子は、前記マニフェストプレゼンテーション記述への前記更新を受信した後も持続するデータ構造中に記憶される、請求項1に記載の方法。
【請求項8】
前記機会の分解を求める要求を送ることなく、前記マニフェストプレゼンテーション記述の前記更新の前記インスタンス中に前記補足コンテンツについての前記情報を挿入すること
を更に備える、請求項1に記載の方法。
【請求項9】
前記機会を分解することを求める前記要求は、遠隔デバイスに送られる、請求項1に記載の方法。
【請求項10】
前記マニフェストプレゼンテーション記述への前記更新は、前記要求を送ることから受信された前記補足コンテンツについての前記情報を含まない、請求項1に記載の方法。
【請求項11】
前記識別子が前記機会に関連付けられると決定するために、前記マニフェストプレゼンテーション記述への前記更新を再考することと
前記識別子
がデータ構造中に記憶されていることに基づいて、前記機会が以前に分解されていると決定することと
を更に備える、請求項1に記載の方法。
【請求項12】
新しい機会を分解することを求める新しい要求を送ること、ここにおいて、新しい補足コンテンツについての情報は、前記新しい要求から受信され、前記
マニフェストプレゼンテーション記述の前記更新の前記インスタンス中に挿入される、と、
を更に備える、請求項1に記載の方法。
【請求項13】
前記マニフェストプレゼンテーション記述の前記更新の前記インスタンスは、前記マニフェストプレゼンテーション記述の前記インスタンスを置換する、請求項1に記載の方法。
【請求項14】
メモリ中に前記マニフェストプレゼンテーション記述の前記インスタンスを記憶することと、
前記マニフェストプレゼンテーション記述の前記インスタンス中に前記補足コンテンツについての前記情報を挿入することと、
前記マニフェストプレゼンテーション記述の前記インスタンスを置換するために、前記メモリ中に前記マニフェストプレゼンテーション記述の前記更新を記憶することと、
前記マニフェストプレゼンテーション記述の前記更新中に前記補足コンテンツについての前記記憶された情報を挿入することと
を更に備える、請求項1に記載の方法。
【請求項15】
コンピューティングデバイスによって実行されると、前記コンピューティングデバイスに、
メディアプレゼンテーション用のマニフェストプレゼンテーション記述を受信すること、前記マニフェストプレゼンテーション記述は、機会についての補足コンテンツを決定するための分解を必要とする前記機会を含む、と、
前記機会を分解することを求める要求を送ること、ここにおいて、前記要求から受信された前記補足コンテンツについての情報は、前記
マニフェストプレゼンテーション記述のインスタンス中に挿入される、と、
前記機会についての識別子に関連して前記補足コンテンツについての前記情報を記憶することと、
前記マニフェストプレゼンテーション記述への更新を受信すること、ここにおいて、前記マニフェストプレゼンテーション記述への前記更新は、前記機会についての補足コンテンツを決定するための分解を必要とする前記機会を含む、と、
前記機会についての前記識別子に関連して記憶された前記補足コンテンツについての前記情報を取り出し、前記マニフェストプレゼンテーション記述への前記更新の前記インスタンス中に前記補足コンテンツについての前記情報を挿入することと
を行うように動作可能にさせるコンピュータ実行可能命令を記憶する、非一時的コンピュータ可読記憶媒体。
【請求項16】
前記マニフェストプレゼンテーション記述の前記インスタンスを記憶することと、
前記マニフェストプレゼンテーション記述の前記インスタンス中に前記機会中の前記補足コンテンツについての前記情報を挿入することと
を行うように更に動作可能である、請求項15に記載の非一時的コンピュータ可読記憶媒体。
【請求項17】
前記補足コンテンツについての前記情報及び前記識別子は、前記マニフェストプレゼンテーション記述への前記更新を受信した後も持続するデータ構造中に記憶される、請求項15に記載の非一時的コンピュータ可読記憶媒体。
【請求項18】
前記機会の分解を求める要求を送ることなく、前記マニフェストプレゼンテーション記述の前記更新の前記インスタンス中に前記補足コンテンツについての前記情報を挿入すること
を行うように更に動作可能である、請求項15に記載の非一時的コンピュータ可読記憶媒体。
【請求項19】
メモリ中に前記マニフェストプレゼンテーション記述の前記インスタンスを記憶することと、
前記マニフェストプレゼンテーション記述の前記インスタンス中に前記補足コンテンツについての前記情報を挿入することと、
前記マニフェストプレゼンテーション記述の前記インスタンスを置換するために、前記メモリ中に前記マニフェストプレゼンテーション記述の前記更新を記憶することと、
前記マニフェストプレゼンテーション記述の前記更新中に前記補足コンテンツについての前記記憶された情報を挿入することと
を行うように更に動作可能である、請求項15に記載の非一時的コンピュータ可読記憶媒体。
【請求項20】
装置であって、
1つ以上のコンピュータプロセッサと、
コンピュータ可読記憶媒体と
を備え、前記コンピュータ可読記憶媒体は、
メディアプレゼンテーション用のマニフェストプレゼンテーション記述を受信すること、前記マニフェストプレゼンテーション記述は、機会についての補足コンテンツを決定するための分解を必要とする前記機会を含む、と、
前記機会を分解することを求める要求を送ること、ここにおいて、前記要求から受信された前記補足コンテンツについての情報は、前記
マニフェストプレゼンテーション記述のインスタンス中に挿入される、と、
前記機会についての識別子に関連して前記補足コンテンツについての前記情報を記憶することと、
前記マニフェストプレゼンテーション記述への更新を受信すること、ここにおいて、前記マニフェストプレゼンテーション記述への前記更新は、前記機会についての補足コンテンツを決定するための分解を必要とする前記機会を含む、と、
前記機会についての前記識別子に関連して記憶された前記補足コンテンツについての前記情報を取り出し、前記マニフェストプレゼンテーション記述への前記更新の前記インスタンス中に前記補足コンテンツについての前記情報を挿入することと
を行うように動作可能になるように前記1つ以上のコンピュータプロセッサを制御するための命令を備える、装置。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
[0001]米国特許法119条(e)に従って、本出願は、2020年2月28日に出願された米国仮特許出願第62/983,358号の出願日の利益を享受する権利を有し、且つその利益を主張し、その内容は、あらゆる目的のためにその全体が参照によって本明細書に組み込まれる。
【背景技術】
【0002】
[0002]ライブストリーミングは、メディアプレゼンテーション記述を使用したクライアントへのセグメントの連続配信を必要とする。クライアントは、ポーリングプロトコルを介してセグメント情報を取得する。例えば、DASH(Dynamic Adaptive Streaming over HTTP)及びHTTP(Hypertext Transfer Protocol)ライブストリーミング(HLS)など、異なるストリーミングプロトコルが使用され得る。プログラムスタートオーバ、デジタルビデオレコーダ(DVR)ウィンドウ、及びシームレスロールオーバなどの機能を有効にするために、サーバは、クライアントがストリームに加わったときからの全ての既知のストリーム情報を含むメディアプレゼンテーション記述への更新を継続的に送る。新しいメディアプレゼンテーション記述は、追加のセグメントについてのいくつかの新しい情報を含むが、ストリーム初期化情報及び以前のセグメントなど、送られた全ての以前の情報も含む。
【0003】
[0003]メディアプレゼンテーション記述はまた、メディアプレゼンテーション中に挿入されることができる、広告などの補足コンテンツについての情報を含み得る。ストリーム中に補足コンテンツを挿入するために、異なる方法が使用され得る。例えば、SGAI(Server-Guided Ad Insertion)は、ストリームがクライアントに到達するより前にメディアプレゼンテーション内の広告機会を記述するが、プレゼンテーションタイムラインを完了するために必要に応じてクライアントに機会を分解(resolve)させる広告供給アーキテクチャである。このタイプの挿入は、プロトコルの更新及び遠隔分解機構(remote resolution mechanics)によって可能にされ得る。
【0004】
[0004]ライブプレゼンテーションなどのプレゼンテーションでは、クライアントが各新しいマニフェストを受信すると、補足コンテンツの以前に分解されたインスタンスが新しいマニフェストから除去される。このことから、クライアントは、新しいマニフェスト中にある各機会を再分解する必要がある。ライブプレゼンテーションがプレゼンテーションタイムラインを下って進むにつれて、機会の数が増加し、新しいマニフェストが受信される度に全ての機会を再分解すると、クライアントにおいてリソースが浪費され、著しいオーバヘッドを引き起こす。また、機会の再分解は、各分解に対する新たな応答として処理され得る。これは、通常のプレイアウト中の一貫性のない状態表現であろう。即ち、より古い機会の再分解は、プレイアウト中に問題を引き起こし得る。例えば、クライアントが機会についての補足コンテンツを再生している間にマニフェストへの更新が受信された場合、その機会は、再生の途中で再分解され、再生の問題を引き起こし得る。例えば、再生されている現在の補足コンテンツが停止され得、補足コンテンツの別のインスタンスが開始され得る。
【0005】
[0005]以下に続く議論及び特に図面に関して、示される詳細は、例示的な議論の目的のために例を表し、本開示の原理の説明及び概念的な態様を提供するために提示されることが強調される。この点に関して、本開示の根本的な理解のために必要とされるものを超える実装の詳細を示すための試みは行われない。図面と連動した以下に続く議論は、本開示に従った実施形態がどのように実施され得るかを当業者に明らかにする。類似又は同一の参照番号は、様々な図面及びサポートする説明において類似又は同一の要素を識別するか、又は別様に参照するために使用され得る。添付の図面は以下の通りである。
【図面の簡単な説明】
【0006】
【
図1】[0006]いくつかの実施形態による、動的コンテンツ置換を実行するための簡略化されたシステムを図示する。
【
図2】[0007]いくつかの実施形態による、初期マニフェストプレゼンテーション記述を処理するための方法の簡略化されたフローチャートを図示する。
【
図3A】[0008]いくつかの実施形態による、初期マニフェストプレゼンテーション記述の例を図示する。
【
図3B】いくつかの実施形態による、初期マニフェストプレゼンテーション記述の例を図示する。
【
図4】[0009]いくつかの実施形態による、要求に応じて機会を分解するための方法の簡略化されたフローチャートを図示する。
【
図5】[0010]いくつかの実施形態による、データ構造の例を図示する。
【
図6】[0011]いくつかの実施形態による、2つの期間についての分解の例を図示する。
【
図7】[0012]いくつかの実施形態による、その期間についての情報を有するデータ構造の別の例を図示する。
【
図8A】[0013]いくつかの実施形態による、分解結果の挿入後のマニフェストプレゼンテーション記述の例を図示する。
【
図8B】いくつかの実施形態による、分解結果の挿入後のマニフェストプレゼンテーション記述の例を図示する。
【
図9】[0014]いくつかの実施形態による、マニフェストプレゼンテーション記述への更新を処理するための方法の簡略化されたフローチャートを図示する。
【
図10A】[0015]いくつかの実施形態による、マニフェストプレゼンテーション記述の更新の例を図示する。
【
図10B】いくつかの実施形態による、マニフェストプレゼンテーション記述の更新の例を図示する。
【
図10B】いくつかの実施形態による、マニフェストプレゼンテーション記述の更新の例を図示する。
【
図11A】[0016]いくつかの実施形態による、分解についての情報の挿入後のマニフェストプレゼンテーション記述の例を図示する。
【
図11B】いくつかの実施形態による、分解についての情報の挿入後のマニフェストプレゼンテーション記述の例を図示する。
【
図12】[0017]一実施形態による、1つ以上の通信ネットワークを介して複数のクライアントデバイスと通信しているビデオストリーミングシステムを図示する。
【
図13】[0018]ビデオコンテンツ及び広告を視聴するための装置の線図を図示する。
【発明を実施するための形態】
【0007】
[0019]本明細書では、コンテンツ配信システムのための技法が説明される。以下の説明では、説明を目的として、数多くの例及び特定の詳細が、いくつかの実施形態の完全な理解を提供するために記載される。特許請求の範囲によって定義されるいくつかの実施形態は、これらの例における特徴のうちのいくつか又は全てを、単独で又は以下に説明される他の特徴と組み合わせて含み得、本明細書で説明される特徴及び概念の修正及び同等物を更に含み得る。
【0008】
[0020]動的コンテンツ置換は、ビデオ配信システムが、ライブストリーム又はビデオオンデマンドストリームなどのコンテンツストリーム中に補足コンテンツを動的に挿入することを可能にする。広告などの補足コンテンツは、現在クライアントに送られているメディアプレゼンテーション中のメインコンテンツとは異なるコンテンツであり得る。例えば、補足コンテンツは、メディアプレゼンテーション中に挿入される広告であり得る。ビデオ配信システム上で提供されている他のメディアプレゼンテーションを推奨するコンテンツ、ネットワーク識別バンパー、緊急警報、ニュース速報警報、ストリームソーススイッチ、及びユーザ選択ベースのコンテンツ置換(「きみならどうする?(choose your own adventure)」タイプのコンテンツ)など、他の補足コンテンツが認識され得る。
【0009】
[0021]動的コンテンツ置換は、ストリーム中の一点に含まれる機会を分解するプロセスであり得る。分解は、ストリームを見ている間に発生するが、クライアントにおけるプレイアウトのために補足コンテンツを挿入する機会の一点に到達する前に発生する。クライアントは、必要なときに機会についての補足コンテンツを動的に要求することによって機会を分解することができる。いくつかの実施形態では、分解は、補足コンテンツがまだ選択されていない機会などのプレースホルダ機会を置換し得る。例えば、ライブストリームでは、クライアントは、補足コンテンツを受信する機会に到達する前に機会を分解し得る。いくつかの実施形態では、動的コンテンツ置換は、サーバを使用して遠隔で機会を分解し得る。サーバは、各機会についての補足コンテンツを選択し得る。いくつかの実施形態では、サーバは、ユーザ毎にターゲットとされる補足コンテンツを決定する。
【0010】
[0022]マニフェストプレゼンテーション記述は、メインコンテンツのセグメントを記述するために使用され、補足コンテンツのための機会も記述する。上記で議論されたように、クライアントは、分解される必要がある全ての以前の機会を含むマニフェストプレゼンテーション記述への更新を受信し得る。即ち、クライアントが以前にいくつかの機会を分解したとしても、それらの以前に分解された機会についての補足コンテンツは、更新されたマニフェストプレゼンテーション記述中に含まれないことがある。全ての機会を再分解することをクライアントに強制する代わりに、クライアントは、全ての機会を再分解することを回避するために、メモリ中に記憶されたテーブルなどのデータ構造を使用する。例えば、データ構造は、マニフェストプレゼンテーション記述中に見出される機会についての識別子と、それぞれの機会について以前に決定された対応する補足コンテンツについての情報とを記憶する。クライアントが、補足コンテンツの以前に分解されたインスタンスを除去する各新しいマニフェストプレゼンテーション記述を受信すると、クライアントは、機会を再分解する代わりに、データ構造から補足コンテンツを取り出すことができる。これは、クライアントがマニフェストプレゼンテーション記述に対して既に分解された機会を再分解する必要がないので、コンピューティングリソースの使用を節約する。記憶装置からの情報を使用する行為は、複数の要求を送り、複数の応答を処理するよりもコンピューティングリソース集約的でない。更に、要求及び応答がネットワーク上で送られないので、帯域幅使用が低減される。また、機会を再分解しないためのデータ構造の使用は、以前にトリガされた分解機会から新しい分解機会のトリガリングを分離する。それ故に、クライアントは、複数の更新にわたって単一の一貫したプレゼンテーションタイムラインを維持することができ、それでも新しい分解シナリオが使用されることを可能にする。
【0011】
[0023]システムの概要
【0012】
[0024]
図1は、いくつかの実施形態による、動的コンテンツ置換を実行するための簡略化されたシステム100を図示する。システム100は、サーバ102及びクライアント104を含む。サーバ102及びクライアント104の1つのインスタンスが示されているが、サーバ102及びクライアント104の複数のインスタンスが使用され得る。
【0013】
[0025]サーバ102は、クライアント104にメディアプレゼンテーションを配信し得る。サーバ102は、複数のデバイスを使用してメディアプレゼンテーション及び他のコンテンツを配信し得るコンテンツ配信ネットワーク(CDN)の一部であり得る。サーバ102が議論されるとき、機能は、CDN中の複数のデバイスによって実行され得、サーバ102に限定されない。一例では、サーバ102は、複数のビットレートで符号化された(又は符号化されるであろう)ビデオ(例えば、タイトル又はショー)などの様々なメディアプレゼンテーションを記憶する。例えば、メディアプレゼンテーションは、符号化器が高ビットレートから低ビットレートまで複数のビットレートで符号化するセグメントに分割されている。メディアプレゼンテーションは、メディアプレゼンテーション#1(高ビットレート)、メディアプレゼンテーション#2(中ビットレート)、...、及びメディアプレゼンテーション#N(低ビットレート)として、異なるバージョン(即ち、ビットレート)で記憶される。異なるビットレートは、異なるレベルの品質でビデオを提供する。例えば、より高いビットレートのビデオは、中ビットレートよりも高品質であり、中ビットレートは、より低いビットレートよりも高品質であろう。これらの符号化が説明されるが、様々な実施形態は、任意の数のビットレートでの異なる符号化を含み得る。
【0014】
[0026]クライアント104は、セルラフォン、セットトップボックス、ストリーミングデバイス、パーソナルコンピュータ、タブレットコンピュータ、等などの様々なユーザデバイスを含み得る。クライアント104は、メディアプレゼンテーションを再生することができるメディアプレーヤ114を含み得る。例えば、メディアプレーヤ114は、メディアプレゼンテーションからのビデオ及び/又はオーディオを再生し得る。クライアント104は、マニフェストプレゼンテーション記述を処理し、本明細書で説明される遠隔分解を実行するマニフェストプレゼンテーション記述プロセッサ112を含む。
【0015】
[0027]DASH(MPEG-DASHとしても知られる)又はHLSを含むプロトコル仕様などのトランスポート機構が、サーバ102からクライアント104にメディアプレゼンテーションのセグメントについての情報をトランスポートするために使用され得る。サーバ102は、マニフェストプレゼンテーション記述サーバ106及び補足コンテンツ要求プロセッサ108を含む。マニフェストプレゼンテーション記述サーバ106及び補足コンテンツ要求プロセッサ108は、同じサーバ102中に示されているが、それらは異なるデバイス中に位置することができることに留意されたい。また、別々に説明されているが、マニフェストプレゼンテーション記述サーバ106及び/又は補足コンテンツマニフェストサーバ108は、別々のエンティティである必要はなく、機能は、単一のエンティティによって実行され得る。
【0016】
[0028]マニフェストプレゼンテーション記述サーバ106は、クライアント104にマニフェストプレゼンテーション記述を送り得る。クライアント104は、サーバ102からメディアプレゼンテーション記述を受信する。メディアプレゼンテーション記述を使用して、クライアント104(例えば、メディアプレーヤ114)は、サーバ102からメディアプレゼンテーションのセグメントを要求し得る。メディアプレゼンテーションのセグメントを受信している間、クライアント104は、クライアント104がセグメントを受信する帯域幅を評価することができる。クライアント104が実行し得る1つの評価は、利用可能な帯域幅を推定するために、ある時間期間にわたって受信されたメディアプレゼンテーション(例えば、ビデオ)の量を測定することである。利用可能な帯域幅に応じて、クライアント104は、メディアプレゼンテーションのどのビットレート(又はバージョン)を要求すべきかに関する決定を行い得る。例えば、クライアント104は、メディアプレゼンテーションのセグメントに対してメディアプレゼンテーションのどのバージョンを要求すべきかを決定し、ここで、バージョンは、異なるビットレートを含み得る。
【0017】
[0029]メディアプレゼンテーションの異なるビットレートを要求することに加えて、クライアント104は、メディアプレゼンテーションの再生中に補足コンテンツ要求プロセッサ108に、マニフェストプレゼンテーション記述中の補足コンテンツ機会を分解することを求める要求を送り得る。次いで、補足コンテンツ要求プロセッサ108は、どの補足コンテンツをマニフェストプレゼンテーション記述中に挿入すべきかを決定することによって機会を分解する。プロセスでは、補足コンテンツ要求プロセッサ108は、補足コンテンツを決定するために補足コンテンツサーバ110と通信し得る。いくつかの実施形態では、コンテンツサーバ110は、デフォルトコンテンツ(例えば、デフォルト広告)を置換する、プレースホルダ機会を分解する、又はストリーム中の以前の補足コンテンツ機会を再分解するなどのために、補足コンテンツ機会中のストリーム中に動的に挿入されることができる補足コンテンツを識別し得る。
【0018】
[0030]上記のプロセスは、SGAI(Server-Guided Ad Insertion)と呼ばれ得、サーバ102は、ストリームがクライアント104に到達するより前にメディアプレゼンテーション内の広告機会を完全に記述する。いくつかの実施形態は、クライアントアプリケーションがサーバ102との直接通信を処理し、メインコンテンツが停止されている間に2次プレーヤ内で再生される広告コンテンツを有する広告供給アーキテクチャであるCSAI(client-side ad insertion)などの他の挿入方式と共に使用され得る。クライアント104は、メディアプレゼンテーションタイムラインを完了するために必要に応じて機会を分解する。説明されたような遠隔分解及び更新技法の使用は、複数のクライアント104のためのサーバ102におけるキャッシュされた共通のメインコンテンツプレゼンテーションが、各クライアント104に対する一意の個人化されたストリームになることを可能にする。これらの特徴は、メインコンテンツと、制御キューに基づいてサーバ102への非同期コールバックにおいてクライアント104によって拡大されるであろう分解機会ポイントとを用いて、プレゼンテーションが作成されることを可能にする。機能は、DASHにおける期間グループの一部として説明されるが、これは、他のマニフェスト及び遠隔要素分解形式、並びにDASH又はHLSなどの他のプロトコル内の追加の要素タイプに一般化されることができることに留意されたい。例えば、以下の機能は、動的分解を使用するためにクライアント104によって使用され得るが、それらの全てが存在する必要はない。
機能1:プレゼンテーションは、機会がプレゼンテーションタイムライン中のどこに存在するか、及び固定されている場合には機会のタイムライン境界を明示的に記述することが可能である。プレゼンテーションタイムラインは、クライアント104がコンテンツを要求するために従うものである。
機能2:プレゼンテーションは、機会がどこから分解されることができるかを記述することが可能である。
機能3:機会分解は、分解プロセス中に使用されるクライアントソース情報を搬送する方法を有する。
機能4:分解の結果として生じる補足コンテンツは、メインプレゼンテーション中に直接含めることを可能にするために自己完結型である。
機能5:プレゼンテーション処理モデルは、プレゼンテーションの存続期間にわたって分解結果を収容するためにプレゼンテーションタイムラインがどのように調整/拡張されるかを定義する。
【0019】
[0031]機能#1に関して、期間は、時点と、デフォルトメインコンテンツの場合、メインプレゼンテーションコンテンツタイムライン内の機会の長さとの両方を定義することができるので、期間は、機会がどこに存在するかを記述する。期間の自己完結型の性質は、動的分解において挿入/置換動作を可能にする。プレゼンテーションタイムラインに対するこれらの影響は、タイムライン内の期間のタイミングの性質を定義する。期間は、期間の開始及び終了をマークすることによって自己完結型であり、このことから、挿入されたコンテンツのためのスタンドアロンコンテナであることを可能にする。これらのコンテナは、広告クリエイティブなどの補足コンテンツの順序付け及び番号付け要件を満たすために、必要に応じて混合及び適合されることができる。
【0020】
[0032]機能#2の場合、マニフェストプレゼンテーション記述は、リンクを使用して補足コンテンツのための機会を分解する機会を提供する、ユニフォームリソースロケータ(URL)などの遠隔ロケータを提供し得る。例えば、@xlink:href属性を有するリンクは、リンクを使用して分解されることができる。
【0021】
[0033]機能#3の場合、クライアント104は、クライアント状態をサーバに動的に送ることができる。例えば、クライアント104は、動的に、サーバ102にクライアント状態を送り、クライアント固有のコンテンツを受信することができる。
【0022】
[0034]機能#4の場合、期間は、補足コンテンツのインスタンスによって置換されるように設計される。
【0023】
[0035]機能#5の場合、プレゼンテーション記述への変更は、プレゼンテーションの存続期間にわたって、挿入された補足コンテンツを収容するようにプレゼンテーションタイムラインを調整又は拡張し得る。
【0024】
[0036]遠隔分解を実行するために、XLink(XML Linking Language)などの仕様が使用され得る。XLinkが説明されるが、遠隔分解を可能にする他のプロトコルが使用され得る。遠隔分解は、どの補足コンテンツが機会中に挿入されるべきかを決定するためにクライアント104の外部で実行される分解であり得る。分解及び置換機構は、遠隔要素をメインプレゼンテーションと組み合わせるために使用され得る。第1の属性は、補足コンテンツが取り出されることができるロケーションを指すリンクを記述するために使用され得る。第2の属性は、マニフェストプレゼンテーション記述を処理するときに補足コンテンツの分解がいつ実行されるべきかを記述する。例えば、XLinkは、@xlink:href及び@xlink:actuateなどの使用され得る属性を含み得る。属性@xlink:hrefは、補足コンテンツが取り出されることができるロケーションを指すユニフォームリソース識別子(URI)などのリンクを記述する。属性@xlink:actuateは、マニフェストプレゼンテーション記述を処理するときに補足コンテンツの分解がいつ実行されるべきかを記述する。他の属性も使用され得る。
【0025】
[0037]分解は、第2の属性値に関連付けられた条件がクライアントプレーヤ状態によって満たされたときにトリガされ得る。例えば、「onLoad」などの値は、元のマニフェストプレゼンテーション記述がロードされるときに補足コンテンツについての情報が要求されるべきであることを表す。また、「onRequest」などの値は、ストリームの再生中に期間が遭遇されるときなど、情報がマニフェストプレゼンテーション記述に関連するようになるとき、補足コンテンツについての情報が要求されるべきであることを表す。例えば、情報は、機会のX秒前、X期間前、又は任意の時間前に関連するようになり得る。分解の応答要素は、マニフェストプレゼンテーション記述中の元の要素を遠隔分解属性に完全に置換する。クライアント104は、メディアプレゼンテーションのセグメントを要求するために更新が発生したときにインメモリマニフェストを再評価する。マニフェストプレゼンテーション記述サーバ106は、補足コンテンツ要求プロセッサ108によって識別された補足コンテンツを使用して補足コンテンツマニフェストを作成し、クライアント104に補足コンテンツマニフェストを送り得る。
【0026】
[0038]ライブストリームなどのプレゼンテーションでは、クライアント104は、マニフェストプレゼンテーション記述サーバ106からマニフェストプレゼンテーション記述への複数の更新を受信し得る。各更新は、プレゼンテーション全体のための分解機会を含み得る。即ち、クライアント104が以前にマニフェストプレゼンテーション記述中の機会を分解していたとしても、それらの分解機会についての補足コンテンツは、マニフェストプレゼンテーション記述の更新中に現れない。分解機会についての補足コンテンツが更新中に存在しない1つの理由は、サーバ102が各クライアント104に対する補足コンテンツの分解結果を保存しないことである。サーバ102は、各クライアント104が異なる分解を有し得、保存される必要があるデータの量が大きく、スケーリングが困難であり得るので、分解を保存しないことがある。それ故に、サーバ102は、ステートレスであり得、クライアント104のための分解のための補足コンテンツを追跡しないことがある。むしろ、クライアント104は、従来、マニフェストプレゼンテーション記述中の全ての分解機会を再分解しなければならなかったであろう。
【0027】
[0039]クライアント104は、以前の分解についての情報を記憶するキャッシュメモリ116などの記憶装置を含む。例えば、マニフェストプレゼンテーション記述プロセッサ112が機会を分解すると、マニフェストプレゼンテーション記述プロセッサ112は、キャッシュメモリ116中のデータ構造中に分解機会の識別子についての補足コンテンツについての情報を記憶し得る。マニフェストプレゼンテーション記述への更新を処理するとき、マニフェストプレゼンテーション記述プロセッサ112は、データ構造中の以前に分解された機会についての補足コンテンツを識別し、インメモリマニフェストプレゼンテーション記述中に以前の分解についての情報を挿入し得る。インメモリマニフェストプレゼンテーション記述は、クライアント104に記憶されたマニフェストプレゼンテーション記述のバージョンであり得る。例えば、クライアント104がマニフェストプレゼンテーション記述への更新を受信する度に、クライアント104は、メモリ中に更新を記憶する。次いで、クライアント104は、インメモリマニフェストプレゼンテーション記述中に識別子を配置し、機会を以前に分解された補足コンテンツについての情報に置換することによって、インメモリマニフェストプレゼンテーション記述中に以前の分解を挿入する。それ故に、マニフェストプレゼンテーション記述プロセッサ112は、これらの機会を再分解する必要はない。次いで、マニフェストプレゼンテーション記述プロセッサ112は、データ構造中に対応するエントリを有さない任意の機会を分解し得る。
【0028】
[0040]
図2は、いくつかの実施形態による、クライアント104において初期マニフェストプレゼンテーション記述を処理するための方法の簡略化されたフローチャートを図示する。202において、マニフェストプレゼンテーション記述プロセッサ112は、初期マニフェストプレゼンテーション記述を受信してロードする。マニフェストプレゼンテーション記述は、ビデオに対する再生要求の後にクライアント104によって受信された最初のものであり得るか、又は分解を必要とする最初のものであり得る。
【0029】
[0041]204において、マニフェストプレゼンテーション記述プロセッサ112は、初期マニフェストプレゼンテーション記述をロードすると必要とされる遠隔分解機会についての識別子を決定し、データ構造中に記憶する。
図3A及び3Bは、いくつかの実施形態による、初期マニフェストプレゼンテーション記述の例を図示する。この例は議論を目的として記載されているが、異なるプロトコルが異なるフォーマットを使用し得ることが理解されるであろう。302において、マニフェストプレゼンテーション記述は、「adbreak-1」の期間idを有する機会を含む。304において、機会は、「xlink:href= “https://example.com/manifests/xlink/1?live=60.06 “xlink:actuate= “onRequest”」の属性を含む。リンクは、機会を分解して補足コンテンツを受信するためのロケーション「https://example.com/manifests/xlink/1?live=60.06」を示す。分解は、「xlink:actuate= “onRequest”」によって示されるように要求に応じて(on request)実行されるべきであり、ロードに応じて(on load)実行されるべきではない。オンロード(on load)分解は、マニフェストが受信されたときに実行される。オン要求(on request)処理は、条件が満たされたときに実行され、以下に説明される。機会を分解する他の方法も認識され得る。分解のための機会は、306-1及び306-2におけるプレゼンテーションのメインコンテンツを定義する期間によっても囲まれている。これらの期間は、プレゼンテーションのメインコンテンツのセグメントを要求するために使用されることができる情報を含む。302における機会は、306-1におけるメインコンテンツの再生と306-2におけるメインコンテンツの再生との間に挿入される。
【0030】
[0042]206において、マニフェストプレゼンテーション記述プロセッサ112は、補足コンテンツを決定するために、オンロードとして指定された遠隔分解機会を分解する。この例では、オンロード機会は存在しないが、オンロード機会は、オン要求機会と同様のフォーマットであろう。例えば、オンロード機会は、「xlink:href= “https://example.com/manifests/xlink/1?live=60.06 “xlink:actuate= “onLoad”」であり得る。リンクは、機会を分解して補足コンテンツを受信するためのロケーション「https://example.com/manifests/xlink/1?live=60.06」を示す。分解は、「xlink:actuate= “onLoad”」によって示されるように、ロードに応じて実行されるべきである。オンロード機会を分解するために、マニフェストプレゼンテーション記述プロセッサ112は、リンクを使用して補足コンテンツ要求プロセッサ108に要求を送り得る。マニフェストプレゼンテーション記述プロセッサ112は、次いで、マニフェストプレゼンテーション記述サーバ106から補足コンテンツについての情報を受信するであろう。
【0031】
[0043]208において、マニフェストプレゼンテーション記述プロセッサ112は、遠隔分解機会についての識別子についてのデータ構造中に補足コンテンツについての情報を記憶する。例えば、マニフェストプレゼンテーション記述プロセッサ112は、これがオンロード機会である場合、データ構造中に「ad-break-1」の識別子を挿入する。210において、マニフェストプレゼンテーション記述プロセッサ112は、対応する識別子についてのインメモリマニフェストプレゼンテーション記述中に補足コンテンツについての情報を挿入する。例えば、マニフェストプレゼンテーション記述プロセッサ112は、分解された機会として受信された補足コンテンツへのリンクを挿入する。
【0032】
[0044]
図4は、いくつかの実施形態による、オン要求分解機会を処理するための方法の簡略化されたフローチャート400を図示する。上述したように、オン要求機会は、ビデオの再生中に発生し得る。402において、マニフェストプレゼンテーション記述プロセッサ112は、再生中にオン要求として指定された機会のためにいつ遠隔分解が必要とされるかを決定する。
【0033】
[0045]404において、マニフェストプレゼンテーション記述プロセッサ112は、要求に応じて必要とされる遠隔分解機会についての識別子を決定し、データ構造中に記憶する。識別子の記憶は、遠隔分解機会を有する初期マニフェストプレゼンテーション記述を受信すると実行され得る。また、識別子の記憶は、条件がオン要求分解について満たされたときに実行され得る。
図5は、いくつかの実施形態による、データ構造500の例を図示する。502において、データ構造500は、識別子用の列を含み、504において、データ構造500は、分解結果用の列を含む。この場合、マニフェストプレゼンテーション記述プロセッサ112は、データ構造500中の期間について、506において識別子「adbreak-1」を記憶する。識別子は、マニフェストプレゼンテーション記述中のオン要求機会を識別する。
【0034】
[0046]
図4に戻って参照すると、406において、条件がオン要求遠隔分解機会について満たされたとき、マニフェストプレゼンテーション記述プロセッサ112は、補足コンテンツを決定するために、オン要求遠隔分解機会を分解する。
図6は、いくつかの実施形態による、2つの期間についての分解の例を図示する。この例では、「adbreak-1」のための機会は、補足コンテンツの2つの期間又は2つのインスタンスに分解されるが、2つの期間に分解される必要はない。サーバ102から受信されるマニフェストでは、期間長は60秒である。補足コンテンツ要求プロセッサ108は、コンテンツの2つの30秒インスタンス(例えば、本明細書に説明されるように)、補足コンテンツの1つの60秒インスタンス、補足コンテンツの4つの15秒インスタンス、等で60秒を分解し得る。この場合、補足コンテンツの第1のインスタンスのための第1の期間は、602-1において示され、補足コンテンツの第2のインスタンスのための第2の期間は、602-2において示される。第1の期間は、識別子「remote-1-1-1」によって識別され、第2の期間は、識別子「remote-1-1-2」によって識別される。各期間は、補足コンテンツの異なるインスタンスと、それぞれのインスタンスをどのように取り出すかを記述する。例えば、各それぞれのインスタンスのビデオ及びオーディオを取り出すためのリンクが、各それぞれの期間に対して含まれ得る。
【0035】
[0047]
図4に戻って参照すると、408において、マニフェストプレゼンテーション記述プロセッサ112は、識別子についてのデータ構造中に補足コンテンツについての情報を記憶する。
図7は、いくつかの実施形態による、その期間についての情報を有するデータ構造500の別の例を図示する。702-1において、マニフェストプレゼンテーション記述プロセッサ112は、「remote-1-1-1」の識別子を有する補足コンテンツの第1のインスタンスについての情報を挿入している。また、702-2において、マニフェストプレゼンテーション記述プロセッサ112は、「remote-1-1-2」の識別子を有する補足コンテンツの第1のインスタンスについての情報を挿入している。インスタンスを取り出すための他の情報もまた、データ構造又は他の場所中に記憶され得る。
【0036】
[0048]
図4に戻って参照すると、410において、マニフェストプレゼンテーション記述プロセッサ112は、クライアント104において記憶されたインメモリマニフェストプレゼンテーション記述中の対応する識別子についてのインメモリマニフェストプレゼンテーション記述中に補足コンテンツについての情報を挿入する。クライアント104は、メディアプレゼンテーションを再生するために、インメモリマニフェストプレゼンテーション記述を使用する。
図8A及び8Bは、いくつかの実施形態による、分解結果の挿入後のマニフェストプレゼンテーション記述の例を図示する。マニフェストプレゼンテーション記述プロセッサ112は、それぞれ802-1及び802-2において補足コンテンツについての情報を挿入する。補足コンテンツは、804-1における「content-1」及び804-2における「content-2」の識別子を有するビデオからのメインコンテンツの2つの期間の間にある。クライアント104は、メインコンテンツ及び補足コンテンツを再生するために、マニフェストプレゼンテーション記述中の情報を使用し得る。例えば、クライアント104は、期間が再生タイムライン中に分解されるときに、メインコンテンツ又は補足コンテンツを要求するために、マニフェストプレゼンテーション記述の期間におけるリンクを使用する。
【0037】
[0049]マニフェストプレゼンテーション記述への更新の処理
【0038】
[0050]ある時点で、クライアント104は、マニフェストプレゼンテーション記述への更新を受信する。更新は、新しい期間などの新しい情報を含み得る。例えば、ライブストリームが継続するにつれて、メディアプレゼンテーション用の追加のコンテンツが、クライアント104が要求するために追加される。追加のコンテンツは、マニフェストプレゼンテーション記述中の期間中に包含され得、メインコンテンツ又は補足コンテンツを挿入する機会を表し得る。また、更新時間が発生し、利用可能な追加のコンテンツがない場合、更新は、いかなる新しい情報も含まないことがある。しかしながら、両方の場合において、更新は、元の遠隔分解シグナリングを含み、クライアント104が以前に分解した補足コンテンツを含まない。
【0039】
[0051]
図9は、いくつかの実施形態による、マニフェストプレゼンテーション記述への更新を処理するための方法の簡略化されたフローチャート900を図示する。902において、クライアント104は、マニフェストプレゼンテーション記述への更新を受信する。更新は、上記で議論されたように追加の期間を含み得、また、以前に分解された期間についての情報を含まない。このことから、更新は、クライアント104においてメモリ中に記憶されるマニフェストプレゼンテーション記述とは異なる。完全なマニフェストプレゼンテーション記述更新が発生すると、クライアント104は、メモリからインメモリマニフェストを完全にクリアし得、マニフェストプレゼンテーション記述プロセッサ112は、その場所中に新たにロードされたマニフェストを記憶する。この場合、新しいインメモリマニフェストプレゼンテーション記述は、上記で議論されたように未分解の機会を有する。
【0040】
[0052]
図10A及び10Bは、いくつかの実施形態による、マニフェストプレゼンテーション記述の更新の例を図示する。マニフェストプレゼンテーション記述では、1000において、「adbreak-1」のための期間は、機会についての補足コンテンツを決定するための遠隔分解を必要とする。即ち、1000に含まれる情報は、302において
図3Aの以前のマニフェストプレゼンテーション記述中に見出される情報と同様である。このマニフェストプレゼンテーション記述は、
図8Aの802-1及び802-2に示される分解された機会を含まない。
【0041】
[0053]また、このマニフェストプレゼンテーション記述は、1002において「content-2」として識別される第2のコンテンツ期間に新しいセグメントを追加している。新しいセグメントは、期間「content-2」内に示されるS要素に値「r=1」を追加することによって識別され、ここで、r属性は、d属性によってシグナリングされる既存のセグメント持続時間に等しい持続時間を有する、記述されたセグメントに続いて存在する連続セグメントの数をシグナリングする。この例では、「r=1」は、同じ「360360」の持続時間を有する、説明されたセグメントに続く1つの追加のセグメントがあることを示し、更なる更新は、r値を再び増加させ、異なる持続時間(d属性)若しくは基準時間(t属性)を有する新しいS要素を追加し得るか、又は完全に新しい期間要素を追加し得る。
【0042】
[0054]
図9に戻って参照すると、マニフェストプレゼンテーション記述プロセッサ112は、次いで、マニフェストプレゼンテーション記述中に見出される識別子を求めてデータ構造を検索する。904において、マニフェストプレゼンテーション記述プロセッサ112は、マニフェストプレゼンテーション記述からロードに応じて必要とされる遠隔分解機会についての新しい識別子を決定し、データ構造中に記憶する。これらは、先行するマニフェストプレゼンテーション記述中で以前に遭遇されなかった新しい分解機会のためのものである。この場合、マニフェストプレゼンテーション記述プロセッサ112は、データ構造中のマニフェストプレゼンテーション記述中の分解機会から対応する識別子を見出さない。
【0043】
[0055]マニフェストプレゼンテーション記述中のオンロード又はオン要求遠隔分解機会に対応するデータ構造中の識別子について、906において、マニフェストプレゼンテーション記述プロセッサ112は、インメモリマニフェストプレゼンテーション記述中に遠隔分解機会についての補足コンテンツについてのデータ構造からの情報を挿入する。マニフェストプレゼンテーション記述プロセッサ112は、このことから、補足コンテンツを再決定するために、これらの機会を再分解しない。オン要求及びオンロード機会は、条件が以前に満たされ、マニフェストプレゼンテーション記述プロセッサ112がオン要求及びオンロード機会を分解し、データ構造中に補足コンテンツについての情報を記憶したなど、要求に応じて以前に分解された機会であった。むしろ、マニフェストプレゼンテーション記述プロセッサ112は、データ構造から情報を取り出し、インメモリマニフェストプレゼンテーション記述中にその情報を挿入する。
【0044】
[0056]908において、データ構造中に対応する補足コンテンツを有さない任意の残りのオンロード遠隔分解機会について、マニフェストプレゼンテーション記述プロセッサ112は、補足コンテンツを決定するために、遠隔分解機会を分解する。これらのオンロード機会は、904においてデータ構造に追加された新しい識別子であり得る。例えば、マニフェストプレゼンテーション記述プロセッサ112は、データ構造中に記憶された補足コンテンツについての情報を有さない機会についての分解を求める要求を送り得る。これらの機会は、マニフェストプレゼンテーション記述中に新たに挿入され得る。
【0045】
[0057]補足コンテンツについての情報を受信した後、910において、マニフェストプレゼンテーション記述プロセッサ112は、識別子に関連して、データ構造中に遠隔分解機会についての補足コンテンツについての情報を記憶する。
【0046】
[0058]912において、マニフェストプレゼンテーション記述プロセッサ112は、対応する識別子についてのインメモリマニフェストプレゼンテーション記述中に補足コンテンツについての情報を挿入する。これは、以前に分解された機会及び新たに分解された機会でインメモリマニフェストプレゼンテーション記述を更新する。
図11A及び11Bは、いくつかの実施形態による、分解についての情報の挿入後のマニフェストプレゼンテーション記述の例を図示する。1102-1及び1102-2において、マニフェストプレゼンテーション記述プロセッサ112は、それぞれ、識別子「remote-1-1-1」及び「remote-1-1-2」を有する期間についての以前に実行された分解についての情報を挿入している。マニフェストプレゼンテーション記述プロセッサ112は、しかしながら、遠隔分解を実行する必要はなかった。むしろ、マニフェストプレゼンテーション記述プロセッサ112は、機会を分解するためにサーバ102に連絡する代わりに、データ構造中に見出される情報を使用した。更新されたマニフェストプレゼンテーション記述中に挿入される情報は、
図6の602-1及び602-2に見出されるものと同じであり得る。
【0047】
[0059]914において、マニフェストプレゼンテーション記述プロセッサ112は、再生が、以前に分解されていない任意のオン要求遠隔分解機会を分解するのを待つ。その後、分解機会についての対応する条件が満たされると、マニフェストプレゼンテーション記述プロセッサ112は、機会を分解し、データ構造及びインメモリマニフェストプレゼンテーション記述中に補足コンテンツについての情報を挿入する。
【0048】
[0060]初期マニフェストプレゼンテーション記述は、マニフェストプレゼンテーション記述中の遠隔期間要素(複数可)の1つのインスタンスのみを提供するが、これは例全体を簡略化するためであり、実際には、マニフェストプレゼンテーション記述全体を通して複数の独立した遠隔分解ポイントがあり得る。また、構造表現については、期間中に複数回現れ得る要素は省略されており、概念に必須ではない属性は、マニフェストの例全体を短縮するために除去されている。これらの省略は、3つのドット「...」によって示される。
【0049】
[0061]結論
【0050】
[0062]それ故に、クライアント104は、既に分解された機会の再分解を回避する。特定のクライアント104のための機会についての情報を記憶することは、クライアントにおける分解状態を維持し、クライアント104は、マニフェストへの更新中に以前の分解を挿入することができる。
【0051】
[0063]実例的な実施形態
【0052】
[0064]いくつかの実施形態では、方法は、コンピューティングデバイスが、メディアプレゼンテーション用のマニフェストプレゼンテーション記述を受信することと、マニフェストプレゼンテーション記述は、機会についての補足コンテンツを決定するための分解を必要とする機会を含む、コンピューティングデバイスが、機会を分解することを求める要求を送ることと、ここにおいて、要求から受信された補足コンテンツについての情報は、メディアプレゼンテーション記述のインスタンス中に挿入される、コンピューティングデバイスが、機会についての識別子に関連して補足コンテンツについての情報を記憶することと、コンピューティングデバイスが、マニフェストプレゼンテーション記述への更新を受信することと、ここにおいて、マニフェストプレゼンテーション記述への更新は、機会についての補足コンテンツを決定するための分解を必要とする機会を含む、コンピューティングデバイスが、機会についての識別子に関連して記憶された補足コンテンツについての情報を取り出し、マニフェストプレゼンテーション記述への更新のインスタンス中に補足コンテンツについての情報を挿入することとを備える。
【0053】
[0065]いくつかの実施形態では、方法は、マニフェストプレゼンテーション記述のインスタンスを記憶することと、マニフェストプレゼンテーション記述のインスタンス中に機会中の補足コンテンツについての情報を挿入することとを更に備える。
【0054】
[0066]いくつかの実施形態では、方法は、メディアプレゼンテーションの再生中に補足コンテンツを要求するために、補足コンテンツについての情報を使用することを更に備える。
【0055】
[0067]いくつかの実施形態では、マニフェストプレゼンテーション記述を受信することは、マニフェストプレゼンテーション記述を受信すると、機会が分解されるべきであると決定することと、マニフェストプレゼンテーション記述を受信すると、機会を分解することを求める要求を送ることとを備える。
【0056】
[0068]いくつかの実施形態では、機会を分解することを求める要求を送ることは、マニフェストプレゼンテーション記述を受信した後、機会が後の時間に分解されるべきであると決定することと、マニフェストプレゼンテーション記述を受信した後に条件が満たされると、機会を分解することを求める要求を送ることとを備える。
【0057】
[0069]いくつかの実施形態では、マニフェストプレゼンテーション記述を受信してメディアプレゼンテーションの一部分が再生された後に、条件が満たされる。
【0058】
[0070]いくつかの実施形態では、補足コンテンツについての情報及び識別子は、マニフェストプレゼンテーション記述への更新を受信した後も持続するデータ構造中に記憶される。
【0059】
[0071]いくつかの実施形態では、機会の分解を求める要求を送ることなく、マニフェストプレゼンテーション記述の更新のインスタンス中に補足コンテンツについての情報を挿入することを更に備える。
【0060】
[0072]いくつかの実施形態では、機会を分解することを求める要求は、遠隔デバイスに送られる。
【0061】
[0073]いくつかの実施形態では、マニフェストプレゼンテーション記述への更新は、要求を送ることから受信された補足コンテンツについての情報を含まない。
【0062】
[0074]いくつかの実施形態では、方法は、識別子が機会に関連付けられると決定するために、マニフェストプレゼンテーション記述への更新を再考することと、識別子がデータ構造中に記憶されていることに基づいて、機会が以前に分解されていると決定することとを更に備える。
【0063】
[0075]いくつかの実施形態では、方法は、新しい機会を分解することを求める新しい要求を送ることを更に備え、新しい補足コンテンツについての情報は、新しい要求から受信され、メディアプレゼンテーション記述の更新のインスタンス中に挿入される。
【0064】
[0076]いくつかの実施形態では、マニフェストプレゼンテーション記述の更新のインスタンスは、マニフェストプレゼンテーション記述のインスタンスを置換する。
【0065】
[0077]いくつかの実施形態では、方法は、メモリ中にマニフェストプレゼンテーション記述のインスタンスを記憶することと、マニフェストプレゼンテーション記述のインスタンス中に補足コンテンツについての情報を挿入することと、マニフェストプレゼンテーション記述のインスタンスを置換するために、メモリ中にマニフェストプレゼンテーション記述の更新を記憶することと、マニフェストプレゼンテーション記述の更新中に補足コンテンツについての記憶された情報を挿入することとを更に備える。
【0066】
[0078]いくつかの実施形態では、非一時的コンピュータ可読記憶媒体は、コンピューティングデバイスによって実行されると、コンピューティングデバイスに、メディアプレゼンテーション用のマニフェストプレゼンテーション記述を受信することと、マニフェストプレゼンテーション記述は、機会についての補足コンテンツを決定するための分解を必要とする機会を含む、機会を分解することを求める要求を送ることと、ここにおいて、要求から受信された補足コンテンツについての情報は、メディアプレゼンテーション記述のインスタンス中に挿入される、機会についての識別子に関連して補足コンテンツについての情報を記憶することと、マニフェストプレゼンテーション記述への更新を受信することと、ここにおいて、マニフェストプレゼンテーション記述への更新は、機会についての補足コンテンツを決定するための分解を必要とする機会を含む、機会についての識別子に関連して記憶された補足コンテンツについての情報を取り出し、マニフェストプレゼンテーション記述への更新のインスタンス中に補足コンテンツについての情報を挿入することとを行うように動作可能にさせるコンピュータ実行可能命令を記憶する。
【0067】
[0079]いくつかの実施形態では、マニフェストプレゼンテーション記述のインスタンスを記憶することと、マニフェストプレゼンテーション記述のインスタンス中に機会中の補足コンテンツについての情報を挿入することとを行うように更に動作可能である。
【0068】
[0080]いくつかの実施形態では、補足コンテンツについての情報及び識別子は、マニフェストプレゼンテーション記述への更新を受信した後も持続するデータ構造中に記憶される。
【0069】
[0081]いくつかの実施形態では、機会の分解を求める要求を送ることなく、マニフェストプレゼンテーション記述の更新のインスタンス中に補足コンテンツについての情報を挿入するように更に動作可能である。
【0070】
[0082]いくつかの実施形態では、メモリ中にマニフェストプレゼンテーション記述のインスタンスを記憶することと、マニフェストプレゼンテーション記述のインスタンス中に補足コンテンツについての情報を挿入することと、マニフェストプレゼンテーション記述のインスタンスを置換するために、メモリ中にマニフェストプレゼンテーション記述の更新を記憶することと、マニフェストプレゼンテーション記述の更新中に補足コンテンツについての記憶された情報を挿入することとを行うように更に動作可能である。
【0071】
[0083]いくつかの実施形態では、装置は、1つ以上のコンピュータプロセッサと、コンピュータ可読記憶媒体とを備え、コンピュータ可読記憶媒体は、メディアプレゼンテーション用のマニフェストプレゼンテーション記述を受信することと、マニフェストプレゼンテーション記述は、機会についての補足コンテンツを決定するための分解を必要とする機会を含む、機会を分解することを求める要求を送ることと、ここにおいて、要求から受信された補足コンテンツについての情報は、メディアプレゼンテーション記述のインスタンス中に挿入される、機会についての識別子に関連して補足コンテンツについての情報を記憶することと、マニフェストプレゼンテーション記述への更新を受信することと、ここにおいて、マニフェストプレゼンテーション記述への更新は、機会についての補足コンテンツを決定するための分解を必要とする機会を含む、機会についての識別子に関連して記憶された補足コンテンツについての情報を取り出し、マニフェストプレゼンテーション記述への更新のインスタンス中に補足コンテンツについての情報を挿入することとを行うように動作可能になるように1つ以上のコンピュータプロセッサを制御するための命令を備える。
【0072】
[0084]システム
【0073】
[0085]本明細書で開示される特徴及び態様は、
図12に示されるように、1つ以上の通信ネットワークを介して複数のクライアントデバイスと通信しているビデオストリーミングシステム1200と共に実装され得る。ビデオストリーミングシステム1200の態様は、単に、本開示に従って準備されたコンテンツの配布及び配信を可能にするためのアプリケーションの例を提供するために説明される。本技術は、ストリーミングビデオアプリケーションに限定されず、他のアプリケーション及び配信機構に適合され得ることが認識されるものとする。
【0074】
[0086]一実施形態では、メディアプログラムプロバイダは、メディアプログラムのライブラリを含み得る。例えば、メディアプログラムは、サイト(例えば、ウェブサイト)、アプリケーション、又はブラウザを通じて集約及び提供され得る。ユーザは、メディアプログラムプロバイダのサイト又はアプリケーションにアクセスし、メディアプログラムを要求することができる。ユーザは、メディアプログラムプロバイダによって提供されるメディアプログラムのみを要求することに限定され得る。
【0075】
[0087]システム1200では、ビデオデータは、ビデオコンテンツサーバ1202への入力として使用するために、1つ以上のソースから、例えば、ビデオソース1210から取得され得る。入力ビデオデータは、任意の適切なデジタルフォーマット、例えば、MPEG(Moving Pictures Experts Group)-1、MPEG-2、MPEG-4、VC-1、H.264/AVC(Advanced Video Coding)、HEVC(High Efficiency Video Coding)、又は他のフォーマットの未加工又は編集されたフレームベースのビデオデータを備え得る。代替では、ビデオは、非デジタルフォーマットで提供され、スキャナ及び/又はトランスコーダを使用してデジタルフォーマットに変換され得る。入力ビデオデータは、様々なタイプのビデオクリップ又はプログラム、例えば、テレビエピソード、映画、及び消費者が関心を持つ主要コンテンツとして制作された他のコンテンツを備え得る。ビデオデータはまた、オーディオを含み得るか、又はオーディオのみが使用され得る。
【0076】
[0088]ビデオストリーミングシステム1200は、1つ以上のコンピュータにわたって分散された1つ以上のコンピュータサーバ又はモジュール1202、1204、及び/若しくは1207を含み得る。各サーバ1202、1204、1207は、1つ以上のデータストア1209、例えば、データベース、インデックス、ファイル、又は他のデータ構造を含み得るか、又はそれらに動作可能に結合され得る。ビデオコンテンツサーバ1202は、様々なビデオセグメントのデータストア(図示せず)にアクセスし得る。ビデオコンテンツサーバ1202は、クライアントデバイスと通信するユーザインターフェースコントローラによって指示されるようにビデオセグメントを供給し得る。本明細書で使用される場合、ビデオセグメントは、テレビエピソード、映画、記録されたライブパフォーマンス、又は他のビデオコンテンツを視聴するためにストリーミングビデオセッションにおいて使用され得るような、フレームベースのビデオデータの明確な部分を指す。
【0077】
[0089]いくつかの実施形態では、ビデオ広告サーバ1204は、特定の広告主又はメッセージのための広告として構成された比較的短いビデオ(例えば、10秒、30秒、又は60秒のビデオ広告)のデータストアにアクセスし得る。広告は、ある種の支払いと引き換えに広告主のために提供され得るか、又はシステム1200のための販売促進メッセージ、公共サービスメッセージ、又は何らかの他の情報を備え得る。ビデオ広告サーバ1204は、ユーザインターフェースコントローラ(図示せず)によって指示されるようにビデオ広告セグメントを供給し得る。
【0078】
[0090]ビデオストリーミングシステム1200は、ビデオコンテンツ及びビデオ広告をストリーミングビデオセグメントに統合する統合及びストリーミング構成要素1207を更に含み得る。例えば、ストリーミング構成要素1207は、コンテンツサーバ又はストリーミングメディアサーバであり得る。コントローラ(図示せず)は、任意の適切なアルゴリズム又はプロセスに基づいて、ストリーミングビデオ中の広告の選択又は構成を決定し得る。ビデオストリーミングシステム1200は、
図12に図示されていない他のモジュール又はユニット、例えば、管理サーバ、商取引サーバ、ネットワークインフラストラクチャ、広告選択エンジンなどを含み得る。
【0079】
[0091]ビデオストリーミングシステム1200は、データ通信ネットワーク1212に接続し得る。データ通信ネットワーク1212は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、例えば、インターネット、電話ネットワーク、ワイヤレスセルラ電気通信ネットワーク(WCS)1214、又はこれら若しくは類似のネットワークの何らかの組み合わせを備え得る。
【0080】
[0092]1つ以上のクライアントデバイス1220は、データ通信ネットワーク1212、ワイヤレスセルラ電気通信ネットワーク1214、及び/又は別のネットワークを介して、ビデオストリーミングシステム1200と通信していることがある。そのようなクライアントデバイスは、LAN用のルータ1218を介して、ワイヤレスセルラ電気通信ネットワーク1214用の基地局1217を介して、又は何らかの他の接続を介して、例えば、1つ以上のラップトップコンピュータ1220-1、デスクトップコンピュータ1220-2、「スマート」携帯電話1220-3、タブレットデバイス1220-4、ネットワーク対応テレビ1220-5、又はそれらの組み合わせを含み得る。動作中、そのようなクライアントデバイス1220は、ユーザ入力デバイスから受信されたユーザ入力又は他の入力に応答して、システム1200にデータ又は命令を送受信し得る。それに応答して、システム1200は、メディアプログラムの選択に応答してデータストア1209からのビデオセグメント及びメタデータをクライアントデバイス1220に供給し得る。クライアントデバイス1220は、ディスプレイスクリーン、プロジェクタ、又は他のビデオ出力デバイスを使用してメディアプレーヤ中のストリーミングビデオセグメントからビデオコンテンツを出力し、ビデオコンテンツと対話するためのユーザ入力を受信し得る。
【0081】
[0093]オーディオビデオデータの配布は、様々な方法、例えばストリーミングを使用して、コンピュータネットワーク、電気通信ネットワーク、及びそのようなネットワークの組み合わせを通して、ストリーミング構成要素1207から遠隔クライアントデバイスに実施され得る。ストリーミングでは、コンテンツサーバは、クライアントデバイス上で少なくとも部分的に動作するメディアプレーヤ構成要素にオーディオビデオデータを連続的にストリーミングし、メディアプレーヤ構成要素は、サーバからストリーミングデータを受信すると同時にオーディオビデオデータを再生し得る。ストリーミングが議論されたが、他の配信方法が使用され得る。メディアプレーヤ構成要素は、コンテンツプロバイダからデータの最初の部分を受信した直後にビデオデータの再生を開始し得る。従来のストリーミング技法は、1組のエンドユーザにデータのストリームを配信する単一のプロバイダを使用する。多数の視聴者に単一のストリームを配信するために、高い帯域幅及び処理能力が必要とされ得、エンドユーザの数が増加するにつれて、プロバイダの必要とされる帯域幅が増加し得る。
【0082】
[0094]ストリーミングメディアは、オンデマンド又はライブで配信され得る。ストリーミングは、ファイル内の任意の一点における即時再生を可能にする。エンドユーザは、再生を開始するためにメディアファイルをスキップし得るか、又はメディアファイル中の任意の一点に再生を変更し得る。故に、エンドユーザは、ファイルが徐々にダウンロードされるのを待つ必要がない。典型的には、ストリーミングメディアは、高帯域幅能力を有する少数の専用サーバから、ビデオファイルを求める要求を受け入れ、それらのファイルのフォーマット、帯域幅、及び構造についての情報と共に、ビデオを再生するのに必要なデータ量だけを、それを再生するのに必要とされる速度で配信する専用デバイスを介して配信される。ストリーミングメディアサーバはまた、宛先クライアント上のメディアプレーヤの送信帯域幅及び能力を考慮し得る。ストリーミング構成要素1207は、制御メッセージ及びデータメッセージを使用してクライアントデバイス1220と通信して、ビデオが再生されるにつれて変化するネットワーク状態に適応し得る。これらの制御メッセージは、早送り、早戻し、一時停止、又はクライアントにおけるファイルの特定の部分へのシークなどの制御機能を有効にするためのコマンドを含むことができる。
【0083】
[0095]ストリーミング構成要素1207は、必要に応じて、及び必要とされる速度でのみビデオデータを送信するので、供給されるストリームの数に対する精密な制御が維持されることができる。視聴者は、より低いデータレートの伝送媒体を通して高いデータレートのビデオを視聴することができないであろう。しかしながら、ストリーミングメディアサーバは、(1)ユーザにビデオファイルへのランダムアクセスを提供し、(2)誰が何のビデオプログラムを視聴しているか、及びどれだけ長くそれらが見られているかを監視することを可能にし、(3)視聴体験をサポートするのに必要とされるデータ量だけが送信されるので、送信帯域幅をより効率的に使用し、(4)ビデオファイルは、視聴者のコンピュータ中に記憶されず、メディアプレーヤによって破棄され、このことから、コンテンツに対するより多くの制御を可能にする。
【0084】
[0096]ストリーミング構成要素1207は、HTTP及びRTMP(Real Time Messaging Protocol)など、TCPベースのプロトコルを使用し得る。ストリーミング構成要素1207はまた、ライブウェブキャストを配信することができ、1つよりも多くのクライアントが単一のストリームに同調することを可能にし、このことから帯域幅を節約する、マルチキャストを行うことができる。ストリーミングメディアプレーヤは、メディアプログラム中の任意の一点へのランダムアクセスを提供するために、ビデオ全体をバッファリングすることに依拠しないことがある。代わりに、これは、メディアプレーヤからストリーミングメディアサーバに送信される制御メッセージの使用を通じて達成される。ストリーミングに使用される他のプロトコルは、HTTP(Hypertext Transfer Protocol)ライブストリーミング(HLS)又はDASH(Dynamic Adaptive Streaming over HTTP)である。HLS及びDASHプロトコルは、典型的には1つ以上のコンテンツ配信ネットワーク(CDN)から様々なビットレートで利用可能にされる小セグメントのプレイリストを介してHTTP上でビデオを配信する。これは、メディアプレーヤがビットレートとコンテンツソースとの両方をセグメント毎に切り替えることを可能にする。切り替えは、ネットワーク帯域幅の変動を、また、ビデオの再生中に発生し得るインフラストラクチャの故障を補償するのに役立つ。
【0085】
[0097]ストリーミングによるビデオコンテンツの配信は、様々なモデルの下で達成され得る。1つのモデルでは、ユーザは、ビデオプログラムの視聴に対して支払い、例えば、メディアプログラムのライブラリ若しくは制限されたメディアプログラムの一部分へのアクセスに対する料金を支払うか、又はペイパービューサービスを使用する。テレビ放送によってその開始直後に広く採用されている別のモデルでは、スポンサーは、プログラムの提示中又は提示に隣接して広告を提示する権利と引き換えに、メディアプログラムの提示に対して支払う。いくつかのモデルでは、広告は、ビデオプログラム中に所定の時間に挿入され、その時間は、「広告スロット」又は「広告ブレイク」と呼ばれ得る。ストリーミングビデオを用いて、メディアプレーヤは、クライアントデバイスが、指定された広告スロット中に所定の広告も再生せずにビデオを再生することができないように構成され得る。
【0086】
[0098]
図13を参照すると、ビデオコンテンツ及び広告を視聴するための装置1300の線図が例示されている。選択された実施形態では、装置1300は、プロセッサメモリ1304に動作可能に結合されたプロセッサ(CPU)1302を含み得、プロセッサメモリ1304は、プロセッサ1302による実行のためにバイナリコーディングされた機能モジュールを保持する。そのような機能モジュールは、入力/出力及びメモリアクセスなどのシステム機能を処理するためのオペレーティングシステム1306と、ウェブページを表示するためのブラウザ1308と、ビデオを再生するためのメディアプレーヤ1310とを含み得る。メモリ1304は、
図13に示されていない追加のモジュール、例えば、本明細書の他の場所で説明される他の動作を実行するためのモジュールを保持し得る。
【0087】
[0099]バス1314又は他の通信構成要素は、装置1300内の情報の通信をサポートし得る。プロセッサ1302は、特定のタスクを定義する機械可読ソフトウェアコードを実行することによって、本明細書で開示される特徴及び態様に従って特定のタスクを実行するように構成された又は動作可能な特化又は専用マイクロプロセッサであり得る。プロセッサメモリ1304(例えば、ランダムアクセスメモリ(RAM)又は他の動的記憶デバイス)は、バス1314に接続され得るか、又はプロセッサ1302に直接接続され得、プロセッサ1302によって実行される情報及び命令を記憶し得る。メモリ1304はまた、そのような命令の実行中に一時変数又は他の中間情報を記憶し得る。
【0088】
[00100]記憶デバイス1324中のコンピュータ可読媒体は、バス1314に接続され、プロセッサ1302のための静的情報及び命令を記憶し得、例えば、記憶デバイス(CRM)1324は、装置1300の電源がオフにされたときにモジュール1306、1308、1310、及び1312を記憶し得、装置1300の電源がオンにされたときにそこからモジュールがプロセッサメモリ1304中にロードされ得る。記憶デバイス1324は、情報、命令、又はそれらの何らかの組み合わせ、例えば、プロセッサ1302によって実行されると、装置1300を、本明細書で説明されるような方法の1つ以上の動作を実行するように構成又は動作可能にさせる命令を保持する非一時的コンピュータ可読記憶媒体を含み得る。
【0089】
[00101]通信インターフェース1316もまた、バス1314に接続され得る。通信インターフェース1316は、任意選択で、ルータ/モデム1326及びワイヤード又はワイヤレス接続を介して、装置1300と1つ以上の外部デバイス、例えばストリーミングシステム1200との間の双方向データ通信を提供又はサポートし得る。代替では又は加えて、装置1300は、アンテナ1329に接続されたトランシーバ1318を含み得、それを通して、装置1300は、ワイヤレス通信システムのための基地局と、又はルータ/モデム1326とワイヤレスに通信し得る。代替では、装置1300は、ローカルエリアネットワーク、仮想プライベートネットワーク、又は他のネットワークを介してビデオストリーミングシステム1200と通信し得る。別の代替では、装置1300は、システム1200のモジュール又は構成要素として組み込まれ、バス1314を介して又は何らかの他のモダリティによって他の構成要素と通信し得る。
【0090】
[00102]装置1300は、(例えば、バス1314及びグラフィックス処理ユニット1320を介して)ディスプレイユニット1328に接続され得る。ディスプレイ1328は、装置1300のオペレータに情報を表示するための任意の適切な構成を含み得る。例えば、ディスプレイ1328は、液晶ディスプレイ(LCD)、タッチスクリーンLCD(例えば、容量性ディスプレイ)、発光ダイオード(LED)ディスプレイ、プロジェクタ、又は視覚ディスプレイにおいて装置1300のユーザに情報を提示するための他のディスプレイデバイスを含み得るか又は利用し得る。
【0091】
[00103]1つ以上の入力デバイス1330(例えば、英数字キーボード、マイクロフォン、キーパッド、リモコン、ゲームコントローラ、カメラ、又はカメラアレイ)は、装置1300に情報及びコマンドを通信するために、ユーザ入力ポート1322を介してバス1314に接続され得る。選択された実施形態では、入力デバイス1330は、カーソルの位置決めに対する制御を提供又はサポートし得る。ポインティングデバイスとも呼ばれるそのようなカーソル制御デバイスは、マウス、トラックボール、トラックパッド、タッチスクリーン、カーソル方向キー、又は物理的移動を受信又は追跡し、その移動をカーソル移動を示す電気信号に変換するための他のデバイスとして構成され得る。カーソル制御デバイスは、例えばタッチセンシティブスクリーンを使用して、ディスプレイユニット1328中に組み込まれ得る。カーソル制御デバイスは、プロセッサ1302に方向情報及びコマンド選択を通信し、ディスプレイ1328上のカーソル移動を制御し得る。カーソル制御デバイスは、2つ以上の自由度を有し得、例えば、デバイスが平面又は3次元空間中のカーソル位置を指定することを可能にし得る。
【0092】
[00104]いくつかの実施形態は、命令実行システム、装置、システム、若しくは機械によって、又はそれらに関連して使用するための非一時的コンピュータ可読記憶媒体において実装され得る。コンピュータ可読記憶媒体は、いくつかの実施形態によって説明される方法を実行するようにコンピュータシステムを制御するための命令を包含する。コンピュータシステムは、1つ以上のコンピューティングデバイスを含み得る。命令は、1つ以上のコンピュータプロセッサによって実行されると、いくつかの実施形態において説明されるものを実行するように構成され得るか、又は動作可能であり得る。
【0093】
[00105]本明細書の説明において、及び以下の特許請求の範囲全体を通して使用される場合、「a」、「an」、及び「the」は、文脈が明確に別段の指示をしない限り、複数の言及を含む。また、本明細書の説明において、及び以下の特許請求の範囲全体を通して使用される場合、「in」の意味は、文脈が明確に別段の指示をしない限り、「in」及び「on」を含む。
【0094】
[00106]上記の説明は、どのようにいくつかの実施形態の態様が実装され得るかの例と共に、様々な実施形態を例示する。上記の例及び実施形態は、唯一の実施形態であると見なされるべきではなく、以下の特許請求の範囲によって定義されるいくつかの実施形態の柔軟性及び利点を例示するために提示された。上記の開示及び以下の特許請求の範囲に基づいて、他の配置、実施形態、実装、及び同等物が、特許請求の範囲によって定義される本発明の範囲から逸脱することなしに用いられ得る。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
方法であって、
コンピューティングデバイスが、メディアプレゼンテーション用のマニフェストプレゼンテーション記述を受信すること、前記マニフェストプレゼンテーション記述は、機会についての補足コンテンツを決定するための分解を必要とする前記機会を含む、と、
前記コンピューティングデバイスが、前記機会を分解することを求める要求を送ること、ここにおいて、前記要求から受信された前記補足コンテンツについての情報は、前記メディアプレゼンテーション記述のインスタンス中に挿入される、と、
前記コンピューティングデバイスが、前記機会についての識別子に関連して前記補足コンテンツについての前記情報を記憶することと、
前記コンピューティングデバイスが、前記マニフェストプレゼンテーション記述への更新を受信すること、ここにおいて、前記マニフェストプレゼンテーション記述への前記更新は、前記機会についての補足コンテンツを決定するための分解を必要とする前記機会を含む、と、
前記コンピューティングデバイスが、前記機会についての前記識別子に関連して記憶された前記補足コンテンツについての前記情報を取り出し、前記マニフェストプレゼンテーション記述への前記更新の前記インスタンス中に前記補足コンテンツについての前記情報を挿入することと
を備える、方法。
[C2]
前記マニフェストプレゼンテーション記述の前記インスタンスを記憶することと、
前記マニフェストプレゼンテーション記述の前記インスタンス中に前記機会中の前記補足コンテンツについての前記情報を挿入することと
を更に備える、C1に記載の方法。
[C3]
前記メディアプレゼンテーションの再生中に前記補足コンテンツを要求するために、前記補足コンテンツについての前記情報を使用すること
を更に備える、C1に記載の方法。
[C4]
前記マニフェストプレゼンテーション記述を受信することは、
前記マニフェストプレゼンテーション記述を受信すると、前記機会が分解されるべきであると決定することと、
前記マニフェストプレゼンテーション記述を受信すると、前記機会を分解することを求める要求を送ることと
を備える、C1に記載の方法。
[C5]
前記機会を分解することを求める前記要求を送ることは、
前記マニフェストプレゼンテーション記述を受信した後、前記機会が後の時間に分解されるべきであると決定することと、
前記マニフェストプレゼンテーション記述を受信した後に条件が満たされると、前記機会を分解することを求める要求を送ることと
を備える、C1に記載の方法。
[C6]
前記マニフェストプレゼンテーション記述を受信して前記メディアプレゼンテーションの一部分が再生された後に、前記条件が満たされる、C5に記載の方法。
[C7]
前記補足コンテンツについての前記情報及び前記識別子は、前記マニフェストプレゼンテーション記述への前記更新を受信した後も持続するデータ構造中に記憶される、C1に記載の方法。
[C8]
前記機会の分解を求める要求を送ることなく、前記マニフェストプレゼンテーション記述の前記更新の前記インスタンス中に前記補足コンテンツについての前記情報を挿入すること
を更に備える、C1に記載の方法。
[C9]
前記機会を分解することを求める前記要求は、遠隔デバイスに送られる、C1に記載の方法。
[C10]
前記マニフェストプレゼンテーション記述への前記更新は、前記要求を送ることから受信された前記補足コンテンツについての前記情報を含まない、C1に記載の方法。
[C11]
前記識別子が前記機会に関連付けられると決定するために、前記マニフェストプレゼンテーション記述への前記更新を再考することと
前記識別子が前記データ構造中に記憶されていることに基づいて、前記機会が以前に分解されていると決定することと
を更に備える、C1に記載の方法。
[C12]
新しい機会を分解することを求める新しい要求を送ること、ここにおいて、新しい補足コンテンツについての情報は、前記新しい要求から受信され、前記メディアプレゼンテーション記述の前記更新の前記インスタンス中に挿入される、と、
を更に備える、C1に記載の方法。
[C13]
前記マニフェストプレゼンテーション記述の前記更新の前記インスタンスは、前記マニフェストプレゼンテーション記述の前記インスタンスを置換する、C1に記載の方法。
[C14]
メモリ中に前記マニフェストプレゼンテーション記述の前記インスタンスを記憶することと、
前記マニフェストプレゼンテーション記述の前記インスタンス中に前記補足コンテンツについての前記情報を挿入することと、
前記マニフェストプレゼンテーション記述の前記インスタンスを置換するために、前記メモリ中に前記マニフェストプレゼンテーション記述の前記更新を記憶することと、
前記マニフェストプレゼンテーション記述の前記更新中に前記補足コンテンツについての前記記憶された情報を挿入することと
を更に備える、C1に記載の方法。
[C15]
コンピューティングデバイスによって実行されると、前記コンピューティングデバイスに、
メディアプレゼンテーション用のマニフェストプレゼンテーション記述を受信すること、前記マニフェストプレゼンテーション記述は、機会についての補足コンテンツを決定するための分解を必要とする前記機会を含む、と、
前記機会を分解することを求める要求を送ること、ここにおいて、前記要求から受信された前記補足コンテンツについての情報は、前記メディアプレゼンテーション記述のインスタンス中に挿入される、と、
前記機会についての識別子に関連して前記補足コンテンツについての前記情報を記憶することと、
前記マニフェストプレゼンテーション記述への更新を受信すること、ここにおいて、前記マニフェストプレゼンテーション記述への前記更新は、前記機会についての補足コンテンツを決定するための分解を必要とする前記機会を含む、と、
前記機会についての前記識別子に関連して記憶された前記補足コンテンツについての前記情報を取り出し、前記マニフェストプレゼンテーション記述への前記更新の前記インスタンス中に前記補足コンテンツについての前記情報を挿入することと
を行うように動作可能にさせるコンピュータ実行可能命令を記憶する、非一時的コンピュータ可読記憶媒体。
[C16]
前記マニフェストプレゼンテーション記述の前記インスタンスを記憶することと、
前記マニフェストプレゼンテーション記述の前記インスタンス中に前記機会中の前記補足コンテンツについての前記情報を挿入することと
を行うように更に動作可能である、C15に記載の非一時的コンピュータ可読記憶媒体。
[C17]
前記補足コンテンツについての前記情報及び前記識別子は、前記マニフェストプレゼンテーション記述への前記更新を受信した後も持続するデータ構造中に記憶される、C15に記載の非一時的コンピュータ可読記憶媒体。
[C18]
前記機会の分解を求める要求を送ることなく、前記マニフェストプレゼンテーション記述の前記更新の前記インスタンス中に前記補足コンテンツについての前記情報を挿入すること
を行うように更に動作可能である、C15に記載の非一時的コンピュータ可読記憶媒体。
[C19]
メモリ中に前記マニフェストプレゼンテーション記述の前記インスタンスを記憶することと、
前記マニフェストプレゼンテーション記述の前記インスタンス中に前記補足コンテンツについての前記情報を挿入することと、
前記マニフェストプレゼンテーション記述の前記インスタンスを置換するために、前記メモリ中に前記マニフェストプレゼンテーション記述の前記更新を記憶することと、
前記マニフェストプレゼンテーション記述の前記更新中に前記補足コンテンツについての前記記憶された情報を挿入することと
を行うように更に動作可能である、C15に記載の非一時的コンピュータ可読記憶媒体。
[C20]
装置であって、
1つ以上のコンピュータプロセッサと、
コンピュータ可読記憶媒体と
を備え、前記コンピュータ可読記憶媒体は、
メディアプレゼンテーション用のマニフェストプレゼンテーション記述を受信すること、前記マニフェストプレゼンテーション記述は、機会についての補足コンテンツを決定するための分解を必要とする前記機会を含む、と、
前記機会を分解することを求める要求を送ること、ここにおいて、前記要求から受信された前記補足コンテンツについての情報は、前記メディアプレゼンテーション記述のインスタンス中に挿入される、と、
前記機会についての識別子に関連して前記補足コンテンツについての前記情報を記憶することと、
前記マニフェストプレゼンテーション記述への更新を受信すること、ここにおいて、前記マニフェストプレゼンテーション記述への前記更新は、前記機会についての補足コンテンツを決定するための分解を必要とする前記機会を含む、と、
前記機会についての前記識別子に関連して記憶された前記補足コンテンツについての前記情報を取り出し、前記マニフェストプレゼンテーション記述への前記更新の前記インスタンス中に前記補足コンテンツについての前記情報を挿入することと
を行うように動作可能になるように前記1つ以上のコンピュータプロセッサを制御するための命令を備える、装置。