IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ フル・エルエルシーの特許一覧

特許7547489動的要素置換のためのグループ中の要素の識別
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-30
(45)【発行日】2024-09-09
(54)【発明の名称】動的要素置換のためのグループ中の要素の識別
(51)【国際特許分類】
   H04N 21/435 20110101AFI20240902BHJP
   H04N 21/84 20110101ALI20240902BHJP
【FI】
H04N21/435
H04N21/84
【請求項の数】 20
(21)【出願番号】P 2022548471
(86)(22)【出願日】2021-03-01
(65)【公表番号】
(43)【公表日】2023-04-26
(86)【国際出願番号】 US2021020348
(87)【国際公開番号】W WO2021174219
(87)【国際公開日】2021-09-02
【審査請求日】2022-09-09
(31)【優先権主張番号】62/983,419
(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)【参考文献】
【文献】特開2014-209752(JP,A)
【文献】特開2015-111898(JP,A)
【文献】特開2018-117362(JP,A)
【文献】特開2019-125889(JP,A)
【文献】特開2019-208210(JP,A)
【文献】特表2013-505680(JP,A)
【文献】特表2015-520545(JP,A)
【文献】特表2016-536925(JP,A)
【文献】特表2017-513413(JP,A)
【文献】特表2017-517167(JP,A)
【文献】米国特許出願公開第2017/0310722(US,A1)
【文献】米国特許出願公開第2019/0313147(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00 -21/858
(57)【特許請求の範囲】
【請求項1】
方法であって、
コンピューティングデバイスが、再生されているメディアプレゼンテーションのためのマニフェストプレゼンテーション記述中の値に要素が関連付けられると決定することであって、前記値は、前記マニフェストプレゼンテーション記述の前記要素がグループの一部であることを示すことと、
前記コンピューティングデバイスが、1つ以上の要素中の要素が前記値に関連付けられるかどうかを決定するために、前記マニフェストプレゼンテーション記述中の1つ以上の要素を決定することと、
前記コンピューティングデバイスが、前記要素および1つ以上の要素中の前記要素から複数の要素のグループを形成することであって、前記複数の要素のうちの要素は、前記値に関連付けられ、前記グループとして置換されるべきであることと、
前記コンピューティングデバイスが、前記複数の要素のうちの1つからの情報を使用して前記複数の要素を分解することを求める要求をデバイスに送ることと、
前記コンピューティングデバイスが、前記グループのために補足コンテンツについての情報を受信することであって、前記補足コンテンツについての前記情報は、前記複数の要素の代わりに前記マニフェストプレゼンテーション記述中に挿入されることと、
を備える、方法。
【請求項2】
前記値は、記述子に関連付けられ、
前記記述子は、前記複数の要素が前記グループとして分解されるべきであることを識別するために使用される、
請求項1に記載の方法。
【請求項3】
前記要求は、前記複数の要素が前記グループの一部であることを前記複数の要素に関連付けられた前記値が示すときに、前記グループを分解するために送られる、
請求項1に記載の方法。
【請求項4】
前記複数の要素に関連付けられた前記値は等しい、請求項3に記載の方法。
【請求項5】
前記複数の要素は、前記複数の要素が置換されるべき前記マニフェストプレゼンテーション記述中のデフォルト補足コンテンツに関連付けられたときに、前記グループとして分解される、請求項1に記載の方法。
【請求項6】
前記複数の要素は、前記複数の要素が前記メディアプレゼンテーションのための再生セッション中に前記マニフェストプレゼンテーション記述中で再遭遇されたときに、前記グループとして分解される、請求項1に記載の方法。
【請求項7】
前記複数の要素は、ポッドに関連付けられ、前記ポッドは、前記メディアプレゼンテーションの再生中に2つのメディアセグメント間に挿入される、請求項1に記載の方法。
【請求項8】
前記複数の要素は、各要素を定義する期間属性に関連付けられる、請求項1に記載の方法。
【請求項9】
前記補足コンテンツは、再生中に前記メディアプレゼンテーション中に挿入される広告を備える、請求項1に記載の方法。
【請求項10】
前記補足コンテンツを要求するために使用される情報は、前記複数の要素の各々中に含まれる、請求項1に記載の方法。
【請求項11】
前記要求を送ることは、
前記情報を有する単一の要求を送ることと、
前記マニフェストプレゼンテーション記述中の前記複数の要素を前記単一の要求に応答して受信された前記補足コンテンツについての前記情報に置換することと
を備える、請求項10に記載の方法。
【請求項12】
前記値が前記要素中で遭遇されたときに、
他の要素が前記値を含むかどうかを決定するために前記他の要素を決定することと、 前記他の要素が前記値を含むときに、前記グループ中に前記他の要素を含めることと
を更に備える、請求項1に記載の方法。
【請求項13】
前記他の要素は、前記マニフェストプレゼンテーション記述中の前記要素に隣接している、請求項12に記載の方法。
【請求項14】
実行されると、
再生されているメディアプレゼンテーションのためのマニフェストプレゼンテーション記述中の値に要素が関連付けられると決定することであって、前記値は、前記マニフェストプレゼンテーション記述の前記要素がグループの一部であることを示すことと、
1つ以上の要素中の要素が前記値に関連付けられるかどうかを決定するために、前記マニフェストプレゼンテーション記述中の前記1つ以上の要素を決定することと、
前記要素および1つ以上の要素中の前記要素から複数の要素のグループを形成することであって、前記複数の要素のうちの要素は、前記値に関連付けられ、前記グループとして置換されるべきであることと、
前記複数の要素のうちの1つからの情報を使用して前記複数の要素を分解することを求める要求をデバイスに送ることと、
前記グループのために補足コンテンツについての情報を受信することであって、前記補足コンテンツについての前記情報は、前記複数の要素の代わりに前記マニフェストプレゼンテーション記述中に挿入されることと、
を行うように動作可能になるようにコンピュータシステムを制御する命令を包含する、非一時的コンピュータ可読記憶媒体。
【請求項15】
前記値は、記述子に関連付けられ、
前記記述子は、前記複数の要素が前記グループとして分解されるべきであることを識別するために使用される、
請求項14に記載の非一時的コンピュータ可読記憶媒体。
【請求項16】
前記要求は、前記複数の要素が前記グループの一部であることを前記複数の要素に関連付けられた前記値が示すときに、前記グループを分解するために送られる、
請求項14に記載の非一時的コンピュータ可読記憶媒体。
【請求項17】
前記複数の要素は、前記複数の要素が置換されるべき前記マニフェストプレゼンテーション記述中のデフォルト補足コンテンツに関連付けられたときに、前記グループとして分解される、請求項14に記載の非一時的コンピュータ可読記憶媒体。
【請求項18】
前記補足コンテンツを要求するために使用される情報は、前記複数の要素の各々中に含まれる、請求項14に記載の非一時的コンピュータ可読記憶媒体。
【請求項19】
前記要求を送ることは、
前記情報を有する単一の要求を送ることと、
前記マニフェストプレゼンテーション記述中の前記複数の要素を前記単一の要求に応答して受信された前記補足コンテンツについての前記情報に置換することと
を備える、請求項14に記載の非一時的コンピュータ可読記憶媒体。
【請求項20】
装置であって、
1つ以上のコンピュータプロセッサと、
非一時的コンピュータ可読記憶媒体と
を備え、前記非一時的コンピュータ可読記憶媒体は、実行されると、
再生されているメディアプレゼンテーションのためのマニフェストプレゼンテーション記述中の値に要素が関連付けられると決定することであって、前記値は、前記マニフェストプレゼンテーション記述の前記要素がグループの一部であることを示すことと、
1つ以上の要素中の要素が前記値に関連付けられるかどうかを決定するために、前記マニフェストプレゼンテーション記述中の前記1つ以上の要素を決定することと、
前記要素および1つ以上の要素中の前記要素から複数の要素のグループを形成することであって、前記複数の要素のうちの要素は、前記値に関連付けられ、前記グループとして置換されるべきであることと、
前記複数の要素のうちの1つからの情報を使用して前記複数の要素を分解することを求める要求をデバイスに送ることと、
前記グループのために補足コンテンツについての情報を受信することであって、前記補足コンテンツについての前記情報は、前記複数の要素の代わりに前記マニフェストプレゼンテーション記述中に挿入されることと、
を行うように動作可能になるように前記1つ以上のコンピュータプロセッサを制御する命令を備える、装置。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
[0001]米国特許法119条(e)に従って、本出願は、2020年2月28日に出願された米国仮特許出願第62/983,419号の出願日の利益を享受する権利を有し、且つその利益を主張し、その内容は、あらゆる目的のためにその全体が参照によって本明細書に組み込まれる。
【背景技術】
【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]クライアントは、補足コンテンツの4つのインスタンスに対して4つの期間に分解し得るポッドについての補足コンテンツの分解を求める要求を送る。メディアプレゼンテーションが再びポッドに遭遇するために巻き戻されるときなど、再分解が発生する場合、クライアントは、補足コンテンツの4つのインスタンスの再分解を求める4つの要求を送り得る。これらの4つの要求は、補足コンテンツの16個のインスタンスが返されることをもたらし得る。これは、サーバが各要求を補足コンテンツの4つのインスタンスに変換するものとして扱うためである。結果として生じる再分解は、望ましくない挙動をもたらす。
【0005】
[0005]以下に続く議論及び特に図面に関して、示される詳細は、例示的な議論の目的のために例を表し、本開示の原理の説明及び概念的な態様を提供するために提示されることが強調される。この点に関して、本開示の根本的な理解のために必要とされるものを超える実装の詳細を示すための試みは行われない。図面と連動した以下に続く議論は、本開示に従った実施形態がどのように実施され得るかを当業者に明らかにする。類似又は同一の参照番号は、様々な図面及びサポートする説明において類似又は同一の要素を識別するか、又は別様に参照するために使用され得る。添付の図面は以下の通りである。
【図面の簡単な説明】
【0006】
図1】[0006]いくつかの実施形態による、動的コンテンツ置換を実行するための簡略化されたシステムを図示する。
図2】[0007]いくつかの実施形態による、再生タイムラインの例を図示する。
図3】[0008]いくつかの実施形態による、初期マニフェストプレゼンテーション記述を図示する。
図4A】[0009]いくつかの実施形態による、期間を分解することを求める要求を処理するための方法の簡略化されたフローチャートを図示する。
図4B】[0010]いくつかの実施形態による、実例的な動的分解応答を図示する。
図4C】いくつかの実施形態による、実例的な動的分解応答を図示する。
図5A】[0011]いくつかの実施形態による、クライアントが初期マニフェストプレゼンテーション記述中の期間を分解することから生じるインメモリマニフェストプレゼンテーション記述を図示する。
図5B】いくつかの実施形態による、クライアントが初期マニフェストプレゼンテーション記述中の期間を分解することから生じるインメモリマニフェストプレゼンテーション記述を図示する。
図6A】[0012]いくつかの実施形態による、期間の再分解を処理するための方法の簡略化されたフローチャートを図示する。
図6B】[0013]いくつかの実施形態による、クライアントが補足コンテンツを有する初期マニフェストプレゼンテーション記述中の新しい期間を分解することから生じる動的分解応答の別の例を図示する。
図7A】[0014]いくつかの実施形態による、クライアントが第1の分解によって以前に提供された期間に対して再分解を実行し、図6Bにおいて見出された応答を受信することから生じるインメモリマニフェストプレゼンテーション記述を図示する。
図7B】いくつかの実施形態による、クライアントが第1の分解によって以前に提供された期間に対して再分解を実行し、図6Bにおいて見出された応答を受信することから生じるインメモリマニフェストプレゼンテーション記述を図示する。
図8A】[0015]いくつかの実施形態による、デフォルトコンテンツを有する隣接する遠隔期間を有するクライアントによってダウンロードされた初期マニフェストプレゼンテーション記述を図示する。
図8B】いくつかの実施形態による、デフォルトコンテンツを有する隣接する遠隔期間を有するクライアントによってダウンロードされた初期マニフェストプレゼンテーション記述を図示する。
図9】[0016]いくつかの実施形態による、デフォルトコンテンツを置換することを意図される複数の期間を包含する実例的な遠隔期間応答を図示する。
図10A】[0017]いくつかの実施形態による、置換から生じるインメモリマニフェストプレゼンテーションドキュメントを図示する。
図10B】いくつかの実施形態による、置換から生じるインメモリマニフェストプレゼンテーションドキュメントを図示する。
図10C】いくつかの実施形態による、置換から生じるインメモリマニフェストプレゼンテーションドキュメントを図示する。
図11】[0018]一実施形態による、1つ以上の通信ネットワークを介して複数のクライアントデバイスと通信しているビデオストリーミングシステムを図示する。
図12】[0019]ビデオコンテンツ及び広告を視聴するための装置の線図を図示する。
【発明を実施するための形態】
【0007】
[0020]本明細書では、コンテンツ配信システムのための技法が説明される。以下の説明では、説明を目的として、数多くの例及び特定の詳細が、いくつかの実施形態の完全な理解を提供するために記載される。特許請求の範囲によって定義されるいくつかの実施形態は、これらの例における特徴のうちのいくつか又は全てを、単独で又は以下に説明される他の特徴と組み合わせて含み得、本明細書で説明される特徴及び概念の修正及び同等物を更に含み得る。
【0008】
[0021]動的コンテンツ置換は、ビデオ配信システムが、ライブストリーム又はビデオオンデマンドストリームなどのコンテンツストリーム中に補足コンテンツを動的に挿入することを可能にする。広告などの補足コンテンツは、現在クライアントに送られているメディアプレゼンテーション中のメインコンテンツとは異なるコンテンツであり得る。ビデオ配信システム上で提供されている他のメディアプレゼンテーションを推奨するコンテンツ、ネットワーク識別バンパー、緊急警報、ニュース速報警報、ストリームソーススイッチ、及びユーザ選択ベースのコンテンツ置換(「きみならどうする?(choose your own adventure)」タイプのコンテンツ)など、他の補足コンテンツが認識され得る。
【0009】
[0022]動的コンテンツ置換は、ストリーム中の一点に含まれる機会を分解するプロセスであり得る。分解は、ストリームを見ている間に発生するが、クライアントにおけるプレイアウトのために補足コンテンツを挿入する機会の一点に到達する前に発生する。クライアントは、必要なときに機会についての補足コンテンツを動的に要求することによって機会を分解することができる。いくつかの実施形態では、分解は、補足コンテンツがまだ選択されていない機会などのプレースホルダ機会を置換し得る。例えば、ライブストリームでは、クライアントは、補足コンテンツを受信する機会に到達する前に機会を分解し得る。これらの機会は、メディアプレゼンテーションが巻き戻されるときなど、機会に再び遭遇すると再分解され得る。また、分解は、ライブストリーム内に挿入されたデフォルトコンテンツを、動的に選択されたコンテンツに置換し得る。例えば、ライブストリームは、元のストリーム中に含まれるデフォルト広告を有し得、デフォルト広告は、ストリームの配布者によって置換されることができる。代替として、ビデオオンデマンドストリームは、ストリーム中に含まれるデフォルト広告を有し得る。ストリームが再生されると、動的に選択された広告が、デフォルト広告を置換し得る。いくつかの実施形態では、動的コンテンツ置換は、デフォルトコンテンツをユーザ毎にターゲットとされるコンテンツに置換し得る。
【0010】
[0023]プレースホルダ機会は、マニフェストプレゼンテーション記述の要素中に含まれ得る。要素は、期間として識別され得るが、他の識別子又は名前によって識別され得る。場合によっては、メインコンテンツ中のプレースホルダ機会は、グループとして複数の隣接する期間中の他の機会と置換されるべきである。例えば、ストリームは、期間がマニフェスト中で最初に遭遇されたときに分解することを求める要求をクライアントが送る期間を有し得る。サーバは、グループとしての期間を、補足コンテンツの複数のインスタンスのグループに関連付けられた複数の期間に置換し得る。補足コンテンツのグループは、複数の期間に関連付けられることができるが、補足コンテンツ中の期間の数は、元のマニフェスト中の元の期間の数とは無関係である。いくつかの例では、単一の期間が、補足コンテンツの4つのインスタンスに関連付けられた4つの期間と置換される。
【0011】
[0024]補足コンテンツは、再分解の一部として再びグループとして更に置換され得る。これは、ポッドの途中で符号化構成変更を被るライブストリーム中で、及びユーザがストリームの一部にわたって再生した(例えば、巻き戻した)後にサービスプロバイダが機会を再分解したいときのオンデマンドシナリオ中で発生する可能性がある。いくつかの実施形態は、記述子方式を使用して、分解グループの一部として期間を指定して、再分解をより効率的にする。記述子は、背景技術において説明された欠点を克服する。例えば、クライアントは、グループとして再分解されるべき期間を決定するために、期間中の記述子を再考し得る。次いで、各期間についての複数の要求を送る代わりに、クライアントは、グループについての単一の要求を送る。これは、再分解を受信することをもたらし、それは、補足コンテンツの複数のインスタンスに関連付けられた複数の期間であり得る。
【0012】
[0025]システムの概要
【0013】
[0026]図1は、いくつかの実施形態による、動的コンテンツ置換を実行するための簡略化されたシステム100を図示する。システム100は、サーバ102及びクライアント104を含む。サーバ102及びクライアント104の1つのインスタンスが示されているが、サーバ102及びクライアント104の複数のインスタンスが使用され得る。
【0014】
[0027]サーバ102は、クライアント104にメディアプレゼンテーションを配信し得る。サーバ102は、複数のデバイスを使用してメディアプレゼンテーション及び他のコンテンツを配信し得るコンテンツ配信ネットワーク(CDN)の一部であり得る。サーバ102が議論されるとき、機能は、CDN中の複数のデバイスによって実行され得、サーバ102に限定されない。一例では、サーバ102は、複数のビットレートで符号化された(又は符号化されるであろう)ビデオ(例えば、タイトル又はショー)などの様々なメディアプレゼンテーションを記憶する。例えば、メディアプレゼンテーションは、符号化器が高ビットレートから低ビットレートまで複数のビットレートで符号化するセグメントに分割されている。メディアプレゼンテーションは、メディアプレゼンテーション#1(高ビットレート)、メディアプレゼンテーション#2(中ビットレート)、...、及びメディアプレゼンテーション#N(低ビットレート)として、異なるバージョン(即ち、ビットレート)で記憶される。異なるビットレートは、異なるレベルの品質でビデオを提供する。例えば、より高いビットレートのビデオは、中ビットレートよりも高品質であり、中ビットレートは、より低いビットレートよりも高品質であろう。これらの符号化が説明されるが、様々な実施形態は、任意の数のビットレートでの異なる符号化を含み得る。
【0015】
[0028]クライアント104は、セルラフォン、セットトップボックス、ストリーミングデバイス、パーソナルコンピュータ、タブレットコンピュータ、等などの様々なユーザデバイスを含み得る。クライアント104は、メディアプレゼンテーションを再生することができるメディアプレーヤ114を含み得る。例えば、メディアプレーヤ114は、メディアプレゼンテーションからのビデオ及び/又はオーディオを再生し得る。クライアント104は、マニフェストプレゼンテーション記述を処理し、本明細書で説明される遠隔分解を実行するマニフェストプレゼンテーション記述プロセッサ112を含む。
【0016】
[0029]DASH(MPEG-DASHとしても知られる)又はHLSを含むプロトコル仕様などのトランスポート機構が、サーバ102からクライアント104にメディアプレゼンテーションのセグメントについての情報をトランスポートするために使用され得る。サーバ102は、マニフェストプレゼンテーション記述サーバ106及び補足コンテンツ要求プロセッサ108を含む。マニフェストプレゼンテーション記述サーバ106及び補足コンテンツ要求プロセッサ108は、同じサーバ102中に示されているが、それらは異なるデバイス中に位置することができることに留意されたい。また、別々に説明されているが、マニフェストプレゼンテーション記述サーバ106及び/又は補足コンテンツマニフェストサーバ108は、別々のエンティティではないことがあり、機能は、単一のエンティティによって実行され得る。
【0017】
[0030]マニフェストプレゼンテーション記述サーバ106は、クライアント104にマニフェストプレゼンテーション記述を送り得る。クライアント104は、サーバ102からメディアプレゼンテーション記述を受信する。メディアプレゼンテーション記述を使用して、クライアント104(例えば、メディアプレーヤ114)は、サーバ102からメディアプレゼンテーションのセグメントを要求し得る。メディアプレゼンテーションのセグメントを受信している間、クライアント104は、クライアント104がセグメントを受信する帯域幅を評価することができる。クライアント104が実行し得る1つの評価は、利用可能な帯域幅を推定するために、ある時間期間にわたって受信されたメディアプレゼンテーション(例えば、ビデオ)の量を測定することである。利用可能な帯域幅に応じて、クライアント104は、メディアプレゼンテーションのどのビットレート(又はバージョン)を要求すべきかに関する決定を行い得る。例えば、クライアント104は、メディアプレゼンテーションのセグメントに対してメディアプレゼンテーションのどのバージョンを要求すべきかを決定し、ここで、バージョンは、異なるビットレートを含み得る。
【0018】
[0031]マニフェストプレゼンテーション記述サーバ106は、クライアント104にマニフェストプレゼンテーション記述を送り得る。クライアント104は、サーバ102からメディアプレゼンテーション記述を受信する。メディアプレゼンテーション記述を使用して、クライアント104(例えば、メディアプレーヤ114)は、サーバ102からメディアプレゼンテーションのセグメントを要求し得る。メディアプレゼンテーションのセグメントを受信している間、クライアント104は、クライアント104がセグメントを受信する帯域幅を評価することができる。クライアント104が実行し得る1つの評価は、利用可能な帯域幅を推定するために、ある時間期間にわたって受信されたメディアプレゼンテーション(例えば、ビデオ)の量を測定することである。利用可能な帯域幅に応じて、クライアント104は、メディアプレゼンテーションのどのビットレート(又はバージョン)を要求すべきかに関する決定を行い得る。例えば、クライアント104は、メディアプレゼンテーションのセグメントに対してメディアプレゼンテーションのどのバージョンを要求すべきかを決定し、ここで、バージョンは、異なるビットレートを含み得る。
【0019】
[0032]メディアプレゼンテーションの異なるビットレートを要求することに加えて、クライアント104は、メディアプレゼンテーションの再生中に補足コンテンツ要求プロセッサ108に、マニフェストプレゼンテーション記述中の補足コンテンツ機会を分解することを求める要求を送り得る。次いで、補足コンテンツ要求プロセッサ108は、どの補足コンテンツをマニフェストプレゼンテーション記述中に挿入すべきかを決定することによって機会を分解する。プロセスでは、補足コンテンツ要求プロセッサ108は、補足コンテンツを決定するために補足コンテンツサーバ110と通信し得る。いくつかの実施形態では、コンテンツサーバ110は、デフォルトコンテンツ(例えば、デフォルト広告)を置換する、プレースホルダ機会を分解する、又はストリーム中の以前の補足コンテンツ機会を再分解するなどのために、補足コンテンツ機会中のストリーム中に動的に挿入されることができる補足コンテンツを識別し得る。デフォルトコンテンツは、静的に定義された補足コンテンツを含む機会であり得る。即ち、マニフェストは、要求への補足を定義する。プレースホルダ機会は、クライアント104が機会を分解するためのプレースホルダである。再分解は、機会が分解された後に発生する。
【0020】
[0033]遠隔分解を実行するために、XLink(XML Linking Language)などの仕様が使用され得る。XLinkが説明されるが、遠隔分解を可能にする他のプロトコルが使用され得る。遠隔分解は、どの補足コンテンツが機会中に挿入されるべきかを決定するためにクライアント104の外部で実行される分解であり得る。分解及び置換機構は、遠隔要素をメインプレゼンテーションと組み合わせるために使用され得る。第1の属性は、補足コンテンツが取り出されることができるロケーションを指すリンクを記述するために使用され得る。第2の属性は、マニフェストプレゼンテーション記述を処理するときに補足コンテンツの分解がいつ実行されるべきかを記述する。例えば、XLinkは、@xlink:href及び@xlink:actuateなどの使用され得る属性を含み得る。属性@xlink:hrefは、補足コンテンツが取り出されることができるロケーションを指すユニフォームリソース識別子(URI)などのリンクを記述する。属性@xlink:actuateは、マニフェストプレゼンテーション記述を処理するときに補足コンテンツの分解がいつ実行されるべきかを記述する。他の属性も使用され得る。
【0021】
[0034]分解は、第2の属性値に関連付けられた条件がクライアントプレーヤ状態によって満たされたときにトリガされ得る。例えば、「onLoad」などの値は、元のマニフェストプレゼンテーション記述がロードされるときに補足コンテンツについての情報が要求されるべきであることを表す。また、「onRequest」などの値は、ストリームの再生中に期間が遭遇されるときなど、情報がマニフェストプレゼンテーション記述に関連するようになるとき、補足コンテンツについての情報が要求されるべきであることを表す。分解の応答要素は、マニフェストプレゼンテーション記述中の元の要素を遠隔分解属性に完全に置換する。クライアント104は、メディアプレゼンテーションのセグメントを要求するために更新が発生したときにインメモリマニフェストを再評価する。マニフェストプレゼンテーション記述サーバ106は、補足コンテンツ要求プロセッサ108によって識別された補足コンテンツを使用して補足コンテンツマニフェストを作成し、クライアント104に補足コンテンツマニフェストを送り得る。
【0022】
[0035]マニフェストプレゼンテーション記述サーバ106は、補足コンテンツ要求プロセッサ108によって識別された補足コンテンツを使用して補足コンテンツマニフェストを作成し得る。マニフェストプレゼンテーション記述サーバ106は、クライアント104に補足コンテンツ機会についての補足コンテンツを提供し得る。補足コンテンツの複数のピースは、補足コンテンツポッドにグループ化され得、補足コンテンツの各インスタンスは、マニフェストプレゼンテーション記述中の期間などの要素によって識別され得る。期間は、メディアプレゼンテーション記述中の個別単位を識別する要素であり得る。期間は、コンテンツの個々のセグメントを、及び補足コンテンツ機会も識別し得る。
【0023】
[0036]動的分解機構を使用するとき、少なくとも2つのシナリオが存在することが可能である。
・元のマニフェストプレゼンテーション記述は、グループとして単一の遠隔分解において置換されるべきデフォルト補足コンテンツを表す複数の期間要素を包含する。これは、元のマニフェストプレゼンテーション記述中で識別された元の放送広告を有するデジタルビデオレコーダ(DVR)及びビデオオンデマンド(VOD)メディアプレゼンテーションの場合であり得る。
・以前の遠隔分解が、複数の期間に分解され、同じ再生中の後続の分解では、以前の分解において戻された全ての期間が、新しい分解によってグループとして共に置換されるべきである。これは、ストリーム全体を再ロードすることなく、ポッドのプレイスルー毎に補足コンテンツポッドについての新しい補足コンテンツを提供することが望まれる通常の広告挿入の場合であり得る。例えば、メディアプレゼンテーションが巻き戻され得、ポッドが再び遭遇され得、その場合、以前のグループ分解は、新しい分解グループによって共に置換されるべきである。しかしながら、グループ中の各期間についての要求は送られるべきではない。むしろ、元の期間についての要求が送られるべきであり、それは、次いで、新しい分解グループに分解されることができる。
【0024】
[0037]いくつかの実施形態は、遠隔分解プロセス中で単一のエンティティとして作用されるべき複数の期間要素を識別するインジケーションを使用する。例えば、いくつかの実施形態は、分解グループの一部であるべき各期間中に配置される記述子を使用する。マニフェストプレゼンテーション記述プロセッサ112は、遠隔分解プロセス中で単一のエンティティとして作用されるべき期間要素を明確に識別するために、この記述子を使用する。いくつかの実施形態では、マニフェストプレゼンテーション記述サーバ106は、記述子方式を定義する。記述子方式は、分解グループを識別するための記述子を含み得る。記述子は、マニフェストプレゼンテーション記述中の属性に関連付けられ得る。いくつかの実施形態では、記述子は、全ての分解グループのために使用され得るか、いくつかの分解グループは、一意の記述子を有し得るか、又は全ての分解グループは、一意の記述子を有し得る、等である。記述子の一例は、「urn:mpeg:dash:resolution-connected:2020」であり得る。属性は、SupplementalProperty要素の@schemeIdUriなど、記述子が含まれ得ることを識別するマニフェストプレゼンテーション記述中の要素であり得る。記述子についての値は、同じ記述子値に関連付けられた複数の期間が分解グループの一部であるなど、分解グループの一部である期間を識別し得る。
【0025】
[0038]マニフェストプレゼンテーション記述サーバ106は、マニフェストプレゼンテーション記述中の記述子についての値を設定し得る。次いで、マニフェストプレゼンテーション記述サーバ106は、分解グループの一部と見なされるべき期間中に記述子及び値を配置し得る。記述子についての値は、機会がいつグループとして扱われるべきかを決定するために設定されることができる。例えば、記述子と、同じ値に設定された値とを有する機会は、グループとして扱われる。しかしながら、記述子についての値は、機会がいつグループとして扱われるべきでないかを決定するために設定されることができる。例えば、記述子と、異なる値に設定された値とを有する機会は、グループとして扱われない。
【0026】
[0039]マニフェストプレゼンテーション記述プロセッサ112は、次いで、条件が満たされるかどうかに基づいて、分解のための単一のグループとして複数の機会(例えば、期間)を考慮し得る。例えば、マニフェストプレゼンテーション記述プロセッサ112は、以下の条件を考慮し得る。
・要素(例えば、期間)は、マニフェストプレゼンテーション記述中で隣接しているが、隣接している必要はない。例えば、1つおきの広告がグループの一部であり得る。
・全ての要素は、@xlink:href属性及び@xlink:actuate属性などの属性を有し、そのような属性は等しい。等しい値を有することは、グループとしての適切な処理を保証する。
・全ての要素は、「urn:mpeg:dash:resolution-connected:2020」などの記述子と、要素が同じグループ(例えば、同じ値)の一部であることをその値が示す記述子についての@value属性などの値とを含む@schemeIdUri属性を有するSupplementalProperty要素などの要素を包含する。
【0027】
[0040]いくつかの実施形態は、分解グループの一部である期間に対して記述子を使用する。分解グループを形成するために、異なる要件が使用され得る。しかしながら、いくつかの実施形態では、期間は、以下の条件が満たされるとき、分解グループとして扱われ得る。
・期間要素は、マニフェストプレゼンテーション記述中で隣接しているが、隣接している必要はない。
・期間要素は、グループとして置換されることを意図される。
【0028】
[0041]期間要素は、要素がマニフェストプレゼンテーション記述中のタイムライン中で連続的に順序付けられるときに隣接し得る。また、期間要素は、グループの全ての要素が要求(例えば、単一の要求)と置換される必要があるときに、グループとして置換されることを意図される。即ち、グループの1つの要素は、他の要素を置換することなく、1つだけ置換されることはできない。また、単一の要求は、要求を複数の要素に分解することをもたらし得る。場合によっては、置換された要素が、同じ補足コンテンツに分解し得る。しかしながら、全ての要素を置換することを求める要求が依然として送られ、それは、グループとして要素を置換する要件を満たす。
【0029】
[0042]記述子を使用することは、マニフェストプレゼンテーション記述プロセッサ112が、置換権(replacement rights)を有するデジタルビデオレコーダ資産(digital video recorder assets)の再生中に遅延分解を適切に処理することを可能にするであろう。即ち、再生されるビデオオンデマンドビデオは、その広告を置換させることができる。又は、デフォルト補足コンテンツを含むビデオ中の完全な資産再トランスコード(full asset re-transcode)の代わりに、ビデオが期間置換を介して広告ウィンドウの変更を可能にするように、置換が実行され得る。加えて、クライアント104は、ユーザが逆方向にシーク(例えば、巻き戻し)して、再びポッドに再遭遇して、新しい補足コンテンツ及び/又は別様に調整された補足コンテンツを提供するとき、遠隔分解を使用して、ポッドの再分解を可能にし得る。即ち、クライアント104は、ユーザが巻き戻して再びポッドに遭遇したときに、ポッド中に新しい広告を提示し得る。上記の2つの条件を含む任意の期間について、マニフェストプレゼンテーション記述サーバ106は、期間が分解グループの一部であることをシグナリングするために記述子を使用し得る。マニフェストプレゼンテーション記述プロセッサ112は、分解結果が分解グループ中の全ての分解接続期間を置換/除去した状態で、接続期間が単一の分解可能なグループとして扱われることを決定するために、記述子を使用する。
【0030】
[0043]分解グループの使用は、非線形視聴挙動(non-linear watch behavior)における広告の線形クリエイティブプレイアウト(linear creative playout)など、隣接する期間におけるコンテンツが関連するときに望まれ得る。線形クリエイティブは、順番に再生されるべき一連の広告であり得る。非線形視聴挙動は、ユーザがビデオの一部及びポッドを視聴し、次いで、ポッドの前の一点までビデオを巻き戻すときであり得る。これは、ユーザに再びポッドを視聴させる。広告が動的に置換されない場合、ポッドは、線形クリエイティブにおいて次の広告を表示するのではなく、再び同じ広告を表示することができる。また、再分解は、複数の要求が送られることをもたらし得、それは、各要求に対するグループの同じ分解をもたらし得る。
【0031】
[0044]期間グループの例
【0032】
[0045]図2は、いくつかの実施形態による、再生タイムラインの例を図示する。メディアプレゼンテーションは、メディアコンテンツ202を含み、メディアコンテンツ202は、再生されているビデオのデフォルトメディアコンテンツであり得る。広告などの補足コンテンツはまた、メディアプレゼンテーション中に再生され得る。
【0033】
[0046]図2では、メディアコンテンツ202-1が再生される。次いで、ポッド206-1が遭遇される。ポッド206-1は、広告が挿入され得る3つの広告スロットなど、3つの機会204-1~204-3に分解し得る。3つの広告が、機会204-1~204-3において再生され得る。ポッド206-1の後、メディアコンテンツ202-2が再生される。次いで、ポッド206-2が遭遇される。ポッド206-2は、広告が各々中に挿入され得る3つの広告スロットなど、3つの機会204-4~204-6に分解し得る。3つの広告が、機会204-4~204-6において再生され得る。メディアプレゼンテーションは、追加のメディアコンテンツ202及び/又は広告ポッド206を継続する。
【0034】
[0047]いくつかの実施形態では、再生は、ユーザが再生を巻き戻し得るなど、非線形になり得る。例えば、ユーザは、メディアコンテンツ202-2を見ていることがあるが、メディアコンテンツ202-1まで巻き戻すことを決定し得る。この場合、再生が進むにつれて、ポッド206-1が再び遭遇されるであろう。これは、ユーザに再びポッドを視聴させる。また、再生は、デフォルトの補足コンテンツをその中に有するメディアプレゼンテーションを再生するときに、ポッドに再遭遇し得る。ポッド206-1が再び遭遇されると、マニフェストプレゼンテーション記述プロセッサ112は、複数の機会204-1~204-3を記述子を使用する分解のための単一のエンティティと見なすであろう。
【0035】
[0048]ポッドの機能は、DASHにおける期間グループの一部として説明されるが、これは、他のマニフェスト及び遠隔要素分解形式、並びにDASH又はHLSなどの他のプロトコル内の追加の要素タイプに一般化されることができることに留意されたい。例えば、以下の機能は、動的分解を使用するためにクライアント104によって使用され得るが、それらの全てが存在する必要はない。
機能1:プレゼンテーションは、機会がプレゼンテーションタイムライン中のどこに存在するか、及び固定されている場合には機会のタイムライン境界を明示的に記述することが可能である。プレゼンテーションタイムラインは、クライアント104がコンテンツを要求するために従うものである。
機能2:プレゼンテーションは、機会がどこから分解されることができるかを記述することが可能である。
機能3:機会分解は、分解プロセス中に使用されるクライアントソース情報を搬送する方法を有する。
機能4:分解の結果として生じる補足コンテンツは、メインプレゼンテーション中に直接含めることを可能にするために自己完結型である。
機能5:プレゼンテーション処理モデルは、プレゼンテーションの存続期間にわたって分解結果を収容する(accommodate)ためにプレゼンテーションタイムラインがどのように調整/拡張されるかを定義する。
【0036】
[0049]機能#1に関して、期間は、時点と、デフォルトメインコンテンツの場合、メインコンテンツタイムライン内の機会の長さとの両方を定義することができるので、期間は、機会がどこに存在するかを記述する。期間の自己完結型の性質は、動的分解において挿入/置換動作を可能にする。メディアプレゼンテーションタイムラインに対するこれらの影響は、タイムライン内の期間のタイミングの性質を定義する。しかしながら、期間は他の目的を果たすので、期間だけでは機会をマークするのに十分でないことがあり、そのため、機会期間を分解グループ中にある他の期間と区別するために更なる機構が必要とされ得る。区別を実行するために、いくつかの実施形態は、各期間の機能を強化するために分解グループの一部であるべき各期間中に記述子を配置する。
【0037】
[0050]期間は、期間の開始及び終了をマークすることによって自己完結型であり、このことから、挿入されたコンテンツのためのスタンドアロンコンテナであることを可能にする。これらのコンテナは、広告クリエイティブなどの補足コンテンツの順序付け及び番号付け要件を満たすために、必要に応じて混合及び適合されることができる。期間が機会のためのコンテナとして使用されるという上記仮定により、記述子値は、分解グループに組み合わされることができる機会関連の期間を他の期間と区別する。
【0038】
[0051]マニフェストプレゼンテーション記述は、リンクを使用してコンテンツを分解する機会を提供する、ユニフォームリソースロケータ(URL)などの遠隔ロケータを提供し得る。例えば、@xlink:href属性を有するリンクは、リンクを使用して分解されることができる。
【0039】
[0052]機能#3の場合、XLinkは、サーバにクライアント状態を動的に送るために、UrlQueryInfo及びExtUrlQueryInfoオブジェクトのDASH属性と組み合わされることが可能である。
【0040】
[0053]機能#4の場合、期間は、補足コンテンツの1つ以上のインスタンスによって置換されるように設計される。
【0041】
[0054]機能#5の場合、マニフェストプレゼンテーション記述への変更は、メディアプレゼンテーションの存続期間にわたって、挿入された補足コンテンツを収容するようにプレゼンテーションタイムラインを調整又は拡張し得る。
【0042】
[0055]メディアプレゼンテーション記述再分解の例
【0043】
[0056]図3は、いくつかの実施形態による、初期マニフェストプレゼンテーション記述を図示する。クライアント104は、メディアプレゼンテーションの初期再生時に初期マニフェストプレゼンテーション記述をダウンロードし得るが、マニフェストプレゼンテーション記述は、クライアント104が異なるプロファイル又はビットレートに変更するときなど、他の時間に受信され得る。302において、機会が提供され、記述子によって記述される。記述子は、記述子Period@id=”remote-placeholder”などの空の期間を有する。「remote-placeholder」のXLinkデコレーションなどの識別子は、期間がクライアント104によって分解されるべきであることを示す。この例は、「onRequest」分解であり、それは、プレイアウトタイムライン中のロケーション上で期間に到達する前の時間など、条件が満たされたときにクライアント104が期間を分解すべきであることを意味する。「onLoad」分解は、マニフェストプレゼンテーション記述が受信され、別の条件が満たされるのを待たないときにクライアント104が機会を分解するときである。クライアント104は、サーバ102を使用することなどによって、補足コンテンツについての期間を遠隔で分解することができる。即ち、クライアント104は、補足コンテンツ要求プロセッサ108に要求を送って、期間についての補足コンテンツを決定することによって期間を分解し得る。本明細書で説明される初期マニフェストプレゼンテーション記述及び他のマニフェストプレゼンテーション記述は、タイムライン中の遠隔期間要素(複数可)の限られた数のインスタンスを提供し得るが、これは、全体的な例を簡略化するためである。実際には、マニフェストプレゼンテーション記述全体にわたって複数の独立した遠隔分解ポイントが存在する。また、簡略化のために、期間中に複数回現れ得る要素は省略されており、概念に必須ではない属性は、マニフェストの例全体を短縮するために除去されている。これらの省略は、3つのドット「...」によって示される。
【0044】
[0057]図4Aは、いくつかの実施形態による、期間を分解することを求める要求を処理するための方法の簡略化されたフローチャート400を図示する。いくつかの実施形態では、補足コンテンツ要求プロセッサ108は、図3の302に示されるものなど、機会についての補足コンテンツを求める要求を分解するために、クライアント104からの要求を処理する。
【0045】
[0058]402において、補足コンテンツ要求プロセッサ108は、図3の302において機会中に含まれるリンクに送られている要求に基づいて、クライアント104から機会の分解を求める要求を受信する。例えば、要求は、リンクhttps://example.com/manifests/xlink/1から受信される。
【0046】
[0059]404において、補足コンテンツ要求プロセッサ108は、補足コンテンツサーバ110に補足コンテンツを求める要求を送り、補足コンテンツを受信する。いくつかの実施形態では、補足コンテンツは、グループ中の補足コンテンツの複数のインスタンスを表す期間のグループに分解される。場合によっては、補足コンテンツのグループは、補足コンテンツのグループに再分解されるべきである。しかしながら、補足コンテンツのグループに全て分解される複数の要求を防止するために、補足コンテンツ要求プロセッサ108、補足コンテンツ要求プロセッサ108は、要求がグループに分解されるべきかどうかを決定し、そしてまた、グループがグループとして再分解されるべきであることをクライアント104に示す。
【0047】
[0060]406において、補足コンテンツ要求プロセッサ108は、補足コンテンツのグループがグループとして再分解されるべきかどうかを決定する。そうでない場合、408において、補足コンテンツ要求プロセッサ108は、マニフェストプレゼンテーション記述に補足コンテンツについての情報を追加する。情報は、クライアント104に、グループ中の補足コンテンツの各インスタンスを要求することを要求し得る。この場合、再分解が発生すると、補足コンテンツの各インスタンスについて見出されたリンクがクライアント104から受信され、補足コンテンツサーバ110によって分解される。408において、サーバ102は、クライアント104にマニフェストプレゼンテーション記述を送る。
【0048】
[0061]グループ中の補足コンテンツのインスタンスがグループとして再分解されるべきである場合、412において、補足コンテンツ要求プロセッサ108は、グループを識別するために記述子についての値を決定する。値は、クライアント104のために使用される値に固有であり、ビデオのために使用される値に固有であり、等であり得る。
【0049】
[0062]414において、マニフェストプレゼンテーション記述サーバ106は、マニフェストプレゼンテーション記述中の補足コンテンツに関連付けられた各期間に値を有する記述子を追加する。マニフェストプレゼンテーション記述サーバ106は、属性に記述子を追加し得る。416において、サーバ102は、クライアント104にマニフェストプレゼンテーション記述を送る。
【0050】
[0063]図4B及び4Cは、いくつかの実施形態による、動的分解応答の例を図示する。応答は、複数の期間を包含し、ここで、各期間は、期間が分解グループの一部であることを示すために同じ値に設定された記述子を有する属性を包含する。例えば、418-1において、@schemeIdUriの属性は、「urn:mpeg:dash:resolution-connected:2020」の記述子が「value=“remote-1-1”」の値に設定されるような値に設定された記述子を含む。記述子及び値は、この期間が分解グループの一部であることを示す。例えば、記述子「urn:mpeg:dash:resolution-connected:2020」は、この期間が「remote-1-1」の値によって識別される分解グループの一部であることを示す。更に、応答は、xlink:href="https://example.com/manifests/xlink/1-1" xlink:actuate="onRequest"の420-1における遠隔分解のための追加属性を含む。これは、グループに対する分解を要求するために使用するリンクであり、分解要求は、条件が満たされたときに要求に応じて実行される。
【0051】
[0064]418-2において、第2の期間は、第1の期間と同じ値を含む記述子を有する同じ属性を含む。420-2において、遠隔分解属性は、第1の期間と同じである。
【0052】
[0065]418-3及び418-4における第3の期間及び第4の期間は、それぞれ、第1及び第2の期間と同じ値を含む記述子を有する同じ属性を含む。また、それぞれ420-3及び420-4における第3の期間及び第4の期間は、第1の期間と同じ遠隔分解属性を含む。それ故に、4つの期間は、グループとして分解されるものとして指定されており、それは、再分解が発生したときに使用され得る。記述子が存在しなかった場合、クライアント104は、各期間についての要求を送るであろう。
【0053】
[0066]図5A及び5Bは、いくつかの実施形態による、クライアント104が初期マニフェストプレゼンテーション記述中の期間を分解することから生じるインメモリマニフェストプレゼンテーション記述を図示する。インメモリマニフェストプレゼンテーション記述は、複数の期間を包含し、ここで、各期間は、期間が分解グループの一部であることを示す値に設定された記述子を有する属性を包含し、それは、図4B及び4Cの応答において受信された。例えば、502-1において、@schemeIdUriの属性は、これが分解グループの一部であることを示す「value = ‘remote-1-1’」などの値に設定された記述子「urn:mpeg:dash:resolution-connected:2020」を含む。更に、応答は、xlink:href = “https://example.com/manifests/xlink/1-1” xlink:actuate = “onRequest”の504-1における遠隔分解のための追加属性を含む。マニフェストプレゼンテーション記述プロセッサ112は、期間ID「remote-placeholder」によって識別される、XLink属性を有する元の期間を取り、期間を、応答からの情報を使用して各それぞれの期間についての期間IDによって識別される、遠隔応答からの期間要素に置換する。例えば、挿入される期間IDは、502-1における記述子及び値を有する504-1における「remote-1-1-1」、502-2における記述子及び値を有する504-2における「remote-1-1-2」、502-3における記述子及び値を有する504-3における「remote-1-1-3」、及び502-4における記述子及び値を有する504-4における「remote-1-1-4」である。メディアプレゼンテーションのコンテンツは、506-1及び506-2におけるインメモリマニフェストプレゼンテーション記述中にも含まれる。
【0054】
[0067]期間の再分解
【0055】
[0068]以下では、クライアント104がプレゼンテーションを巻き戻し、再びポッドに遭遇するときなど、第1の分解によって以前に提供された期間に対して再分解を実行するクライアント104について説明する。図6Aは、いくつかの実施形態による、期間の再分解を処理するための方法の簡略化されたフローチャート600を図示する。602において、クライアント104は、機会の再分解を検出する。例えば、クライアント104は、インメモリマニフェストプレゼンテーション記述中の期間に再遭遇し得る。604において、クライアント104は、期間が分解グループの一部であることを識別する記述子で設定されたプロパティを期間が有するかどうかを決定する。606において、クライアント104は、期間がグループとして置換されるべきかどうかを決定する。そうでない場合、608において、クライアント104は、期間についての要求を送る。また、クライアント104は、ポッドの各期間中に見出された要求を送り得る。610において、クライアント104は、各要求のための補足コンテンツを受信する。
【0056】
[0069]期間がグループとして置換される場合、612において、クライアント104は、グループを識別する記述子についての値を決定する。614において、クライアント104は、同じ値を有する他の期間を決定する。例えば、クライアント104は、どの期間が同じ値を有するかを決定するために、隣接する期間を順次再考し得る。クライアント104が値を有さない期間に遭遇すると、クライアント104は、期間の再考を停止し得る。クライアント104は、どの期間がその値を含むかを決定するためにポッド中の各期間を再考するなど、他の方法も使用し得る。これらの期間は、隣接していないことがある。
【0057】
[0070]616において、クライアント104は、グループについての要求を送る。いくつかの実施形態では、クライアント104は、補足コンテンツを求める単一の要求を送る。補足コンテンツを要求するために使用される各期間中で見出されるリンクは、同じであり得る。このことから、単一の要求が使用され得る。618において、クライアント104は、要求のための補足コンテンツを受信する。この場合、サーバ102は、要求をグループ(例えば、補足コンテンツの複数のインスタンス)に分解し得る。グループは、グループの先行する分解とは異なる補足コンテンツのグループであり得るか、同じ補足コンテンツであり得るか、又は先行する分解とは異なる、異なる補足コンテンツのいくつかのインスタンスを含み得る。
【0058】
[0071]図6Bは、いくつかの実施形態による、クライアントが補足コンテンツを有するインメモリマニフェストプレゼンテーション記述中の新しい期間を分解することから生じる動的分解応答の別の例を図示する。インメモリマニフェストプレゼンテーション記述は、複数の期間を包含し、ここで、各期間は、プロパティと、期間が分解グループの一部であることを示す値に設定された記述子とを包含する。この分解グループは、図4B及び4Cにおいて受信された分解グループを置換する。
【0059】
[0072]マニフェストプレゼンテーション記述プロセッサ112は、インメモリマニフェストプレゼンテーション記述中の期間を、再分解応答からの情報を使用して各それぞれの期間についての情報に置換する。図7A及び7Bは、いくつかの実施形態による、クライアント104が第1の分解によって以前に提供された期間に対して再分解を実行し、図6A及び6Bにおいて見出された応答を受信することから生じるインメモリマニフェストプレゼンテーション記述を図示する。グループ分解のための同じ値を含む記述子を使用して、マニフェストプレゼンテーション記述プロセッサ112は、ポッド中の各期間について補足コンテンツをグループとして要求することができる。例えば、クライアント104が巻き戻して先行点からプレゼンテーションの再生を開始したとき、クライアント104は、遠隔分解要素「remote-1-1-1」に再び到達した。しかしながら、今回、期間は、記述子を包含し、そのため、マニフェストプレゼンテーション記述プロセッサ112は、記述子についての同じ値を有する他の期間を識別することによって、同様にグループの一部と見なされるべき他の期間を検索し、識別する。
【0060】
[0073]マニフェストプレゼンテーション記述プロセッサ112は、図5A及び5Bの期間「remote-1-1-1」、「remote-1-1-2」、「remote-1-1-3」、及び「remote-1-1-4」から論理遠隔分解グループを作成する。マニフェストプレゼンテーション記述プロセッサ112は、図5Aの504においてリンクを使用して要求を送ることによって遠隔分解を実行する。例えば、期間中の表現(例えば、「Representation id」に関連付けられた情報)は、コンテンツが要求するためのものである。マニフェストプレゼンテーション記述プロセッサ112は、図6A及び6Bに示される分解結果を受信する。マニフェストプレゼンテーション記述プロセッサ112は、インメモリマニフェストから完全な分解グループ(「remote-1-1-1」、「remote-1-1-2」、「remote-1-1-3」、及び「remote-1-1-4」)を除去し、新しい遠隔要素(702-1における「remote-1-2-1」、702-2における「remote-1-2-2」、等)をそれらの場所に挿入する。4つの期間が異なる数の期間(例えば、2つの期間)に分解されていることに留意されたい。分解要求で受信されることができる期間の数に制限はない。クライアント104は、分解グループを示すためにサーバに記述子を送る必要はなく、サーバ102は、単一の分解要求のみを取得している。補足コンテンツサーバ110は、補足コンテンツのグループに対する遠隔分解を処理するために使用されるリンクから知る。これは、マニフェストプレゼンテーション記述プロセッサ112が複数の期間の再分解に遭遇したときに各期間について要求を送った挙動とは異なる。
【0061】
[0074]デフォルトコンテンツの置換
【0062】
[0075]以下では、マニフェストプレゼンテーション記述中で見出されたデフォルト補足コンテンツの置換について説明する。置換は、ビデオオンデマンドメディアプレゼンテーションが見られるときに発生し得る。ビデオオンデマンドプレゼンテーションは、メディアプレゼンテーション記述中にデフォルト広告を有し得、それは次いで、異なる広告に分解される。
【0063】
[0076]図8A及び8Bは、いくつかの実施形態による、デフォルトコンテンツを有する隣接する遠隔期間を有するクライアント104によってダウンロードされた初期マニフェストプレゼンテーション記述を図示する。期間は、802-1において「Period@id = ‘original-ad-1’」、802-2において「Period@id = ‘original-ad-2’」の期間IDを有する。期間は、クライアント104がプレイアウトタイムライン中のそれぞれのロケーションに接近するときに置換され得るデフォルトコンテンツを識別する。デフォルトコンテンツは、デフォルトコンテンツが再生するコンテンツを定義し、コンテンツを分解するためのプレースホルダではないという点で、プレースホルダ機会とは異なり得る。デフォルト広告コンテンツを表す隣接する期間は、804-1及び804-2において記述子「schemeIdUri = ‘urn:mpeg:dash:resolution-connected:2020’」を有する属性SupplementalPropertyを包含する。記述子は、804-1及び804-2において同じ値「value = ‘original-ad-1’」を有する。マニフェストプレゼンテーション記述プロセッサ112は、期間が同じ分解グループ中にあることを認識するために、記述子及び値を使用する。
【0064】
[0077]置換は、オンデマンドビデオなどにおいてメディアプレゼンテーションが再生されるときに発生し得る。マニフェストプレゼンテーション記述プロセッサ112は、全ての期間を分解結果に集合的に置換するために、元のマニフェスト中で提供された記述子及び値を使用する。例えば、マニフェストプレゼンテーション記述プロセッサ112は、どの期間がグループの一部であるかを決定するために期間を分析した後に、グループについての要求を送り得る。上記で議論されたように、マニフェストプレゼンテーション記述プロセッサ112は、グループについての単一の要求を送る。記述子が含まれない場合、マニフェストプレゼンテーション記述プロセッサ112は、各期間を独立して再分解し得る。デフォルトコンテンツは、分解が失敗した場合に再生され得る。即ち、グループとしての遠隔置換は、実行されない。
【0065】
[0078]図9は、いくつかの実施形態による、デフォルトコンテンツを置換することを意図される複数の期間を包含する実例的な遠隔期間応答を図示する。この場合、期間IDは、902-1において「remote-1-1-1」、902-2において「remote-1-1-2」、902-3において「remote-1-1-3」、及び以下同様である。加えて、遠隔分解リンクは、「xlink:hre f= ‘https://example.com/manifests/xlink/1-1’ xlink:actuate = ‘onRequest’」として含まれ、それは、期間についての異なるコンテンツを取り出す。分解グループを識別する記述子は、グループ中の各期間について、それぞれ、904-1、904-2、及び904-3において、「SupplementalProperty schemeIdUri = ‘urn:mpeg:dash:resolution-connected:2020’ value = ‘remote-1-1’」としても含まれる。記述子及び値は、再びポッドを再生するためにメディアプレゼンテーションの巻き戻しが発生するときなど、期間をグループとして分解するために別の再分解において使用され得る。
【0066】
[0079]図10A、10B、及び10Cは、いくつかの実施形態による、再分解から生じるインメモリマニフェストプレゼンテーションドキュメントを図示する。インメモリマニフェストプレゼンテーション記述は、複数の期間を包含し、ここで、各期間は、期間が分解グループの一部であることを示す値に設定された記述子を有する属性を包含し、それは、図9の応答において受信された。例えば、1002-1、1002-2、及び1002-3において、@schemeIdUriの属性は、これが分解グループの一部であることを示す「value = ‘remote-1-1’」などの値に設定された記述子「urn:mpeg:dash:resolution-connected:2020」を含む。更に、応答は、xlink:href = “https://example.com/manifests/xlink/1-1” xlink:actuate = “onRequest”の1004-1、1004-2、及び1004-3における遠隔分解のための追加の属性を含む。マニフェストプレゼンテーション記述プロセッサ112は、記述子及び同じ値によって識別された元の期間を取り、期間を遠隔応答からの期間要素に置換する。例えば、挿入される期間IDは、「remote-1-1-1」、「remote-1-1-2」、及び「remote-1-1-3」である。メディアプレゼンテーションのコンテンツは、1006におけるインメモリマニフェストプレゼンテーション記述中にも、及び補足コンテンツ(図示せず)の後にも含まれる。
【0067】
[0080]グループ分解のための同じ値を含む記述子を使用して、マニフェストプレゼンテーション記述プロセッサ112は、要求補足コンテンツをグループとして送ることができる。グループは、新しい分解によって置換される。新しい分解は、以前のグループを置換する異なる数の期間を含み得ることに留意されたい。これは、マニフェストプレゼンテーション記述プロセッサ112が再分解に遭遇したときに各期間について同じデフォルト補足コンテンツを要求した挙動とは異なる。遠隔分解リンクを使用して、マニフェストプレゼンテーション記述プロセッサ112は、初期マニフェストプレゼンテーションドキュメント中の遠隔分解を分解し、分解グループを分解応答によって詳述された応答に置換する。サーバ102は、その規則に従ってリンクをグループとして分解し得る。
【0068】
[0081]実例的な実施形態
【0069】
[0082]いくつかの実施形態では、方法は、コンピューティングデバイスが、再生されているメディアプレゼンテーションのためのマニフェストプレゼンテーション記述中の値に要素が関連付けられると決定することと、ここにおいて、値は、マニフェストプレゼンテーション記述の要素がグループの一部であることを示す、コンピューティングデバイスが、値に関連付けられた複数の要素を決定するために、マニフェストプレゼンテーション記述を再考することと、コンピューティングデバイスが、複数の要素のうちの1つからの情報を使用して複数の要素を分解することを求める要求をデバイスに送ることと、コンピューティングデバイスが、グループのために補足コンテンツについての情報を受信することと、ここにおいて、補足コンテンツについての情報は、複数の要素の代わりにマニフェストプレゼンテーション記述中に挿入される、を備える。
【0070】
[0083]いくつかの実施形態では、値は、記述子に関連付けられ、記述子は、複数の要素がグループとして分解されるべきであることを識別するために使用される。
【0071】
[0084]いくつかの実施形態では、要求は、複数の要素がグループの一部であることを複数の要素に関連付けられた値が示すときに、グループを分解するために送られる。
【0072】
[0085]いくつかの実施形態では、複数の要素に関連付けられた値は等しい。
【0073】
[0086]いくつかの実施形態では、複数の要素は、複数の要素が置換されるべきマニフェストプレゼンテーション記述中のデフォルト補足コンテンツに関連付けられたときに、グループとして分解される。
【0074】
[0087]いくつかの実施形態では、複数の要素は、複数の要素がメディアプレゼンテーションのための再生セッション中にマニフェストプレゼンテーション記述中で再遭遇されたときに、グループとして分解される。
【0075】
[0088]いくつかの実施形態では、複数の要素は、ポッドに関連付けられ、ポッドは、メディアプレゼンテーションの再生中に2つのメディアセグメント間に挿入される。
【0076】
[0089]いくつかの実施形態では、複数の要素は、各要素を定義する期間属性に関連付けられる。
【0077】
[0090]いくつかの実施形態では、補足コンテンツは、再生中にメディアプレゼンテーション中に挿入される広告を備える。
【0078】
[0091]いくつかの実施形態では、補足コンテンツを要求するために使用される情報は、複数の要素の各々中に含まれる。
【0079】
[0092]いくつかの実施形態では、要求を送ることは、情報を有する単一の要求を送ることと、マニフェストプレゼンテーション記述中の複数の要素を単一の要求に応答して受信された補足コンテンツについての情報に置換することとを備える。
【0080】
[0093]いくつかの実施形態では、方法は、値が要素中で遭遇されたときに、他の要素が値を含むかどうかを決定するために他の要素を再考することと、他の要素が値を含むときに、グループ中に他の要素を含めることとを更に備える。
【0081】
[0094]いくつかの実施形態では、他の要素は、マニフェストプレゼンテーション記述中の要素に隣接している。
【0082】
[0095]いくつかの実施形態では、非一時的コンピュータ可読記憶媒体は、実行されると、再生されているメディアプレゼンテーションのためのマニフェストプレゼンテーション記述中の値に要素が関連付けられると決定することと、ここにおいて、値は、マニフェストプレゼンテーション記述の要素がグループの一部であることを示す、値に関連付けられた複数の要素を決定するために、マニフェストプレゼンテーション記述を再考することと、複数の要素のうちの1つからの情報を使用して複数の要素を分解することを求める要求をデバイスに送ることと、グループのために補足コンテンツについての情報を受信することと、ここにおいて、補足コンテンツについての情報は、複数の要素の代わりにマニフェストプレゼンテーション記述中に挿入される、を行うように動作可能になるようにコンピュータシステムを制御する命令を包含する。
【0083】
[0096]いくつかの実施形態では、値は、記述子に関連付けられ、記述子は、複数の要素がグループとして分解されるべきであることを識別するために使用される。
【0084】
[0097]いくつかの実施形態では、要求は、複数の要素がグループの一部であることを複数の要素に関連付けられた値が示すときに、グループを分解するために送られる。
【0085】
[0098]いくつかの実施形態では、複数の要素は、複数の要素が置換されるべきマニフェストプレゼンテーション記述中のデフォルト補足コンテンツに関連付けられたときに、グループとして分解される。
【0086】
[0099]いくつかの実施形態では、補足コンテンツを要求するために使用される情報は、複数の要素の各々中に含まれる。
【0087】
[00100]いくつかの実施形態では、要求を送ることは、情報を有する単一の要求を送ることと、マニフェストプレゼンテーション記述中の複数の要素を単一の要求に応答して受信された補足コンテンツについての情報に置換することとを備える。
【0088】
[00101]いくつかの実施形態では、装置は、1つ以上のコンピュータプロセッサと、非一時的コンピュータ可読記憶媒体とを備え、非一時的コンピュータ可読記憶媒体は、実行されると、再生されているメディアプレゼンテーションのためのマニフェストプレゼンテーション記述中の値に要素が関連付けられると決定することと、ここにおいて、値は、マニフェストプレゼンテーション記述の要素がグループの一部であることを示す、値に関連付けられた複数の要素を決定するために、マニフェストプレゼンテーション記述を再考することと、複数の要素のうちの1つからの情報を使用して複数の要素を分解することを求める要求をデバイスに送ることと、グループのために補足コンテンツについての情報を受信することと、ここにおいて、補足コンテンツについての情報は、複数の要素の代わりにマニフェストプレゼンテーション記述中に挿入される、を行うように動作可能になるように1つ以上のコンピュータプロセッサを制御する命令を備える。
【0089】
[00102]システム
【0090】
[00103]本明細書で開示される特徴及び態様は、図11に示されるように、1つ以上の通信ネットワークを介して複数のクライアントデバイスと通信しているビデオストリーミングシステム1100と共に実装され得る。ビデオストリーミングシステム1100の態様は、単に、本開示に従って準備されたコンテンツの配布及び配信を可能にするためのアプリケーションの例を提供するために説明される。本技術は、ストリーミングビデオアプリケーションに限定されず、他のアプリケーション及び配信機構に適合され得ることが認識されるものとする。
【0091】
[00104]一実施形態では、メディアプログラムプロバイダは、メディアプログラムのライブラリを含み得る。例えば、メディアプログラムは、サイト(例えば、ウェブサイト)、アプリケーション、又はブラウザを通じて集約及び提供され得る。ユーザは、メディアプログラムプロバイダのサイト又はアプリケーションにアクセスし、メディアプログラムを要求することができる。ユーザは、メディアプログラムプロバイダによって提供されるメディアプログラムのみを要求することに限定され得る。
【0092】
[00105]システム1100では、ビデオデータは、ビデオコンテンツサーバ1102への入力として使用するために、1つ以上のソースから、例えば、ビデオソース1110から取得され得る。入力ビデオデータは、任意の適切なデジタルフォーマット、例えば、MPEG(Moving Pictures Experts Group)-1、MPEG-2、MPEG-4、VC-1、H.264/AVC(Advanced Video Coding)、HEVC(High Efficiency Video Coding)、又は他のフォーマットの未加工又は編集されたフレームベースのビデオデータを備え得る。代替では、ビデオは、非デジタルフォーマットで提供され、スキャナ及び/又はトランスコーダを使用してデジタルフォーマットに変換され得る。入力ビデオデータは、様々なタイプのビデオクリップ又はプログラム、例えば、テレビエピソード、映画、及び消費者が関心を持つ主要コンテンツとして制作された他のコンテンツを備え得る。ビデオデータはまた、オーディオを含み得るか、又はオーディオのみが使用され得る。
【0093】
[00106]ビデオストリーミングシステム1100は、1つ以上のコンピュータにわたって分散された1つ以上のコンピュータサーバ又はモジュール1102、1104、及び/若しくは1107を含み得る。各サーバ1102、1104、1107は、1つ以上のデータストア1109、例えば、データベース、インデックス、ファイル、又は他のデータ構造を含み得るか、又はそれらに動作可能に結合され得る。ビデオコンテンツサーバ1102は、様々なビデオセグメントのデータストア(図示せず)にアクセスし得る。ビデオコンテンツサーバ1102は、クライアントデバイスと通信するユーザインターフェースコントローラによって指示されるようにビデオセグメントを供給し得る。本明細書で使用される場合、ビデオセグメントは、テレビエピソード、映画、記録されたライブパフォーマンス、又は他のビデオコンテンツを視聴するためにストリーミングビデオセッションにおいて使用され得るような、フレームベースのビデオデータの明確な部分を指す。
【0094】
[00107]いくつかの実施形態では、ビデオ広告サーバ1104は、特定の広告主又はメッセージのための広告として構成された比較的短いビデオ(例えば、10秒、30秒、又は60秒のビデオ広告)のデータストアにアクセスし得る。広告は、ある種の支払いと引き換えに広告主のために提供され得るか、又はシステム1100のための販売促進メッセージ、公共サービスメッセージ、又は何らかの他の情報を備え得る。ビデオ広告サーバ1104は、ユーザインターフェースコントローラ(図示せず)によって指示されるようにビデオ広告セグメントを供給し得る。
【0095】
[00108]ビデオストリーミングシステム1100は、ビデオコンテンツ及びビデオ広告をストリーミングビデオセグメントに統合する統合及びストリーミング構成要素1107を更に含み得る。例えば、ストリーミング構成要素1107は、コンテンツサーバ又はストリーミングメディアサーバであり得る。コントローラ(図示せず)は、任意の適切なアルゴリズム又はプロセスに基づいて、ストリーミングビデオ中の広告の選択又は構成を決定し得る。ビデオストリーミングシステム1100は、図11に図示されていない他のモジュール又はユニット、例えば、管理サーバ、商取引サーバ、ネットワークインフラストラクチャ、広告選択エンジンなどを含み得る。
【0096】
[00109]ビデオストリーミングシステム1100は、データ通信ネットワーク1112に接続し得る。データ通信ネットワーク1112は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、例えば、インターネット、電話ネットワーク、ワイヤレスセルラ電気通信ネットワーク(WCS)1114、又はこれら若しくは類似のネットワークの何らかの組み合わせを備え得る。
【0097】
[00110]1つ以上のクライアントデバイス1120は、データ通信ネットワーク1112、ワイヤレスセルラ電気通信ネットワーク1114、及び/又は別のネットワークを介して、ビデオストリーミングシステム1100と通信していることがある。そのようなクライアントデバイスは、LAN用のルータ1118を介して、ワイヤレスセルラ電気通信ネットワーク1114用の基地局1117を介して、又は何らかの他の接続を介して、例えば、1つ以上のラップトップコンピュータ1120-1、デスクトップコンピュータ1120-2、「スマート」携帯電話1120-3、タブレットデバイス1120-4、ネットワーク対応テレビ1120-5、又はそれらの組み合わせを含み得る。動作中、そのようなクライアントデバイス1120は、ユーザ入力デバイスから受信されたユーザ入力又は他の入力に応答して、システム1100にデータ又は命令を送受信し得る。それに応答して、システム1100は、メディアプログラムの選択に応答してデータストア1109からのビデオセグメント及びメタデータをクライアントデバイス1120に供給し得る。クライアントデバイス1120は、ディスプレイスクリーン、プロジェクタ、又は他のビデオ出力デバイスを使用してメディアプレーヤ中のストリーミングビデオセグメントからビデオコンテンツを出力し、ビデオコンテンツと対話するためのユーザ入力を受信し得る。
【0098】
[00111]オーディオビデオデータの配布は、様々な方法、例えばストリーミングを使用して、コンピュータネットワーク、電気通信ネットワーク、及びそのようなネットワークの組み合わせを通して、ストリーミング構成要素1107から遠隔クライアントデバイスに実施され得る。ストリーミングでは、コンテンツサーバは、クライアントデバイス上で少なくとも部分的に動作するメディアプレーヤ構成要素にオーディオビデオデータを連続的にストリーミングし、メディアプレーヤ構成要素は、サーバからストリーミングデータを受信すると同時にオーディオビデオデータを再生し得る。ストリーミングが議論されたが、他の配信方法が使用され得る。メディアプレーヤ構成要素は、コンテンツプロバイダからデータの最初の部分を受信した直後にビデオデータの再生を開始し得る。従来のストリーミング技法は、1組のエンドユーザにデータのストリームを配信する単一のプロバイダを使用する。多数の視聴者に単一のストリームを配信するために、高い帯域幅及び処理能力が必要とされ得、エンドユーザの数が増加するにつれて、プロバイダの必要とされる帯域幅が増加し得る。
【0099】
[00112]ストリーミングメディアは、オンデマンド又はライブで配信され得る。ストリーミングは、ファイル内の任意の一点における即時再生を可能にする。エンドユーザは、再生を開始するためにメディアファイルをスキップし得るか、又はメディアファイル中の任意の一点に再生を変更し得る。故に、エンドユーザは、ファイルが徐々にダウンロードされるのを待つ必要がない。典型的には、ストリーミングメディアは、高帯域幅能力を有する少数の専用サーバから、ビデオファイルを求める要求を受け入れ、それらのファイルのフォーマット、帯域幅、及び構造についての情報と共に、ビデオを再生するのに必要なデータ量だけを、それを再生するのに必要とされる速度で配信する専用デバイスを介して配信される。ストリーミングメディアサーバはまた、宛先クライアント上のメディアプレーヤの送信帯域幅及び能力を考慮し得る。ストリーミング構成要素1107は、制御メッセージ及びデータメッセージを使用してクライアントデバイス1120と通信して、ビデオが再生されるにつれて変化するネットワーク状態に適応し得る。これらの制御メッセージは、早送り、早戻し、一時停止、又はクライアントにおけるファイルの特定の部分へのシークなどの制御機能を有効にするためのコマンドを含むことができる。
【0100】
[00113]ストリーミング構成要素1107は、必要に応じて、及び必要とされる速度でのみビデオデータを送信するので、供給されるストリームの数に対する精密な制御が維持されることができる。視聴者は、より低いデータレートの伝送媒体を通して高いデータレートのビデオを視聴することができないであろう。しかしながら、ストリーミングメディアサーバは、(1)ユーザにビデオファイルへのランダムアクセスを提供し、(2)誰が何のビデオプログラムを視聴しているか、及びどれだけ長くそれらが見られているかを監視することを可能にし、(3)視聴体験をサポートするのに必要とされるデータ量だけが送信されるので、送信帯域幅をより効率的に使用し、(4)ビデオファイルは、視聴者のコンピュータ中に記憶されず、メディアプレーヤによって破棄され、このことから、コンテンツに対するより多くの制御を可能にする。
【0101】
[00114]ストリーミング構成要素1107は、HTTP及びRTMP(Real Time Messaging Protocol)など、TCPベースのプロトコルを使用し得る。ストリーミング構成要素1107はまた、ライブウェブキャストを配信することができ、1つよりも多くのクライアントが単一のストリームに同調することを可能にし、このことから帯域幅を節約する、マルチキャストを行うことができる。ストリーミングメディアプレーヤは、メディアプログラム中の任意の一点へのランダムアクセスを提供するために、ビデオ全体をバッファリングすることに依拠しないことがある。代わりに、これは、メディアプレーヤからストリーミングメディアサーバに送信される制御メッセージの使用を通じて達成される。ストリーミングに使用される他のプロトコルは、HTTP(Hypertext Transfer Protocol)ライブストリーミング(HLS)又はDASH(Dynamic Adaptive Streaming over HTTP)である。HLS及びDASHプロトコルは、典型的には1つ以上のコンテンツ配信ネットワーク(CDN)から様々なビットレートで利用可能にされる小セグメントのプレイリストを介してHTTP上でビデオを配信する。これは、メディアプレーヤがビットレートとコンテンツソースとの両方をセグメント毎に切り替えることを可能にする。切り替えは、ネットワーク帯域幅の変動を、また、ビデオの再生中に発生し得るインフラストラクチャの故障を補償するのに役立つ。
【0102】
[00115]ストリーミングによるビデオコンテンツの配信は、様々なモデルの下で達成され得る。1つのモデルでは、ユーザは、ビデオプログラムの視聴に対して支払い、例えば、メディアプログラムのライブラリ若しくは制限されたメディアプログラムの一部分へのアクセスに対する料金を支払うか、又はペイパービューサービスを使用する。テレビ放送によってその開始直後に広く採用されている別のモデルでは、スポンサーは、プログラムの提示中又は提示に隣接して広告を提示する権利と引き換えに、メディアプログラムの提示に対して支払う。いくつかのモデルでは、広告は、ビデオプログラム中に所定の時間に挿入され、その時間は、「広告スロット」又は「広告ブレイク」と呼ばれ得る。ストリーミングビデオを用いて、メディアプレーヤは、クライアントデバイスが、指定された広告スロット中に所定の広告も再生せずにビデオを再生することができないように構成され得る。
【0103】
[00116]図12を参照すると、ビデオコンテンツ及び広告を視聴するための装置1200の線図が例示されている。選択された実施形態では、装置1200は、プロセッサメモリ1204に動作可能に結合されたプロセッサ(CPU)1202を含み得、プロセッサメモリ1204は、プロセッサ1202による実行のためにバイナリコーディングされた機能モジュールを保持する。そのような機能モジュールは、入力/出力及びメモリアクセスなどのシステム機能を処理するためのオペレーティングシステム1206と、ウェブページを表示するためのブラウザ1208と、ビデオを再生するためのメディアプレーヤ1210とを含み得る。メモリ1204は、図12に示されていない追加のモジュール、例えば、本明細書の他の場所で説明される他の動作を実行するためのモジュールを保持し得る。
【0104】
[00117]バス1214又は他の通信構成要素は、装置1200内の情報の通信をサポートし得る。プロセッサ1202は、特定のタスクを定義する機械可読ソフトウェアコードを実行することによって、本明細書で開示される特徴及び態様に従って特定のタスクを実行するように構成された又は動作可能な特化又は専用マイクロプロセッサであり得る。プロセッサメモリ1204(例えば、ランダムアクセスメモリ(RAM)又は他の動的記憶デバイス)は、バス1214に接続され得るか、又はプロセッサ1202に直接接続され得、プロセッサ1202によって実行される情報及び命令を記憶し得る。メモリ1204はまた、そのような命令の実行中に一時変数又は他の中間情報を記憶し得る。
【0105】
[00118]記憶デバイス1224中のコンピュータ可読媒体は、バス1214に接続され、プロセッサ1202のための静的情報及び命令を記憶し得、例えば、記憶デバイス(CRM)1224は、装置1200の電源がオフにされたときにモジュール1206、1208、1210、及び1212を記憶し得、装置1200の電源がオンにされたときにそこからモジュールがプロセッサメモリ1204中にロードされ得る。記憶デバイス1224は、情報、命令、又はそれらの何らかの組み合わせ、例えば、プロセッサ1202によって実行されると、装置1200を、本明細書で説明されるような方法の1つ以上の動作を実行するように構成又は動作可能にさせる命令を保持する非一時的コンピュータ可読記憶媒体を含み得る。
【0106】
[00119]通信インターフェース1216もまた、バス1214に接続され得る。通信インターフェース1216は、任意選択で、ルータ/モデム1226及びワイヤード又はワイヤレス接続を介して、装置1200と1つ以上の外部デバイス、例えばストリーミングシステム1100との間の双方向データ通信を提供又はサポートし得る。代替では又は加えて、装置1200は、アンテナ1229に接続されたトランシーバ1218を含み得、それを通して、装置1200は、ワイヤレス通信システムのための基地局と、又はルータ/モデム1226とワイヤレスに通信し得る。代替では、装置1200は、ローカルエリアネットワーク、仮想プライベートネットワーク、又は他のネットワークを介してビデオストリーミングシステム1100と通信し得る。別の代替では、装置1200は、システム1100のモジュール又は構成要素として組み込まれ、バス1214を介して又は何らかの他のモダリティによって他の構成要素と通信し得る。
【0107】
[00120]装置1200は、(例えば、バス1214及びグラフィックス処理ユニット1220を介して)ディスプレイユニット1228に接続され得る。ディスプレイ1228は、装置1200のオペレータに情報を表示するための任意の適切な構成を含み得る。例えば、ディスプレイ1228は、液晶ディスプレイ(LCD)、タッチスクリーンLCD(例えば、容量性ディスプレイ)、発光ダイオード(LED)ディスプレイ、プロジェクタ、又は視覚ディスプレイにおいて装置1200のユーザに情報を提示するための他のディスプレイデバイスを含み得るか又は利用し得る。
【0108】
[00121]1つ以上の入力デバイス1230(例えば、英数字キーボード、マイクロフォン、キーパッド、リモコン、ゲームコントローラ、カメラ、又はカメラアレイ)は、装置1200に情報及びコマンドを通信するために、ユーザ入力ポート1222を介してバス1214に接続され得る。選択された実施形態では、入力デバイス1230は、カーソルの位置決めに対する制御を提供又はサポートし得る。ポインティングデバイスとも呼ばれるそのようなカーソル制御デバイスは、マウス、トラックボール、トラックパッド、タッチスクリーン、カーソル方向キー、又は物理的移動を受信又は追跡し、その移動をカーソル移動を示す電気信号に変換するための他のデバイスとして構成され得る。カーソル制御デバイスは、例えばタッチセンシティブスクリーンを使用して、ディスプレイユニット1228中に組み込まれ得る。カーソル制御デバイスは、プロセッサ1202に方向情報及びコマンド選択を通信し、ディスプレイ1228上のカーソル移動を制御し得る。カーソル制御デバイスは、2つ以上の自由度を有し得、例えば、デバイスが平面又は3次元空間中のカーソル位置を指定することを可能にし得る。
【0109】
[00122]いくつかの実施形態は、命令実行システム、装置、システム、若しくは機械によって、又はそれらに関連して使用するための非一時的コンピュータ可読記憶媒体において実装され得る。コンピュータ可読記憶媒体は、いくつかの実施形態によって説明される方法を実行するようにコンピュータシステムを制御するための命令を包含する。コンピュータシステムは、1つ以上のコンピューティングデバイスを含み得る。命令は、1つ以上のコンピュータプロセッサによって実行されると、いくつかの実施形態において説明されるものを実行するように構成され得るか、又は動作可能であり得る。
【0110】
[00123]本明細書の説明において、及び以下の特許請求の範囲全体を通して使用される場合、「a」、「an」、及び「the」は、文脈が明確に別段の指示をしない限り、複数の言及を含む。また、本明細書の説明において、及び以下の特許請求の範囲全体を通して使用される場合、「in」の意味は、文脈が明確に別段の指示をしない限り、「in」及び「on」を含む。
【0111】
[00124]上記の説明は、どのようにいくつかの実施形態の態様が実装され得るかの例と共に、様々な実施形態を例示する。上記の例及び実施形態は、唯一の実施形態であると見なされるべきではなく、以下の特許請求の範囲によって定義されるいくつかの実施形態の柔軟性及び利点を例示するために提示された。上記の開示及び以下の特許請求の範囲に基づいて、他の配置、実施形態、実装、及び同等物が、特許請求の範囲によって定義される本発明の範囲から逸脱することなしに用いられ得る。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
方法であって、
コンピューティングデバイスが、再生されているメディアプレゼンテーションのためのマニフェスト記述プレゼンテーション中の値に要素が関連付けられると決定すること、ここにおいて、前記値は、前記マニフェスト記述プレゼンテーションの前記要素がグループの一部であることを示す、と、
前記コンピューティングデバイスが、前記値に関連付けられた複数の要素を決定するために、前記マニフェスト記述プレゼンテーションを再考することと、
前記コンピューティングデバイスが、前記複数の要素のうちの1つからの情報を使用して前記複数の要素を分解することを求める要求をデバイスに送ることと、
前記コンピューティングデバイスが、前記グループのために補足コンテンツについての情報を受信すること、ここにおいて、前記補足コンテンツについての前記情報は、前記複数の要素の代わりに前記マニフェスト記述プレゼンテーション中に挿入される、と、
を備える、方法。
[C2]
前記値は、記述子に関連付けられ、
前記記述子は、前記複数の要素が前記グループとして分解されるべきであることを識別するために使用される、
C1に記載の方法。
[C3]
前記要求は、前記複数の要素が前記グループの一部であることを前記複数の要素に関連付けられた前記値が示すときに、前記グループを分解するために送られる、
C1に記載の方法。
[C4]
前記複数の要素に関連付けられた前記値は等しい、C3に記載の方法。
[C5]
前記複数の要素は、前記複数の要素が置換されるべき前記マニフェスト記述プレゼンテーション中のデフォルト補足コンテンツに関連付けられたときに、前記グループとして分解される、C1に記載の方法。
[C6]
前記複数の要素は、前記複数の要素が前記メディアプレゼンテーションのための再生セッション中に前記マニフェスト記述プレゼンテーション中で再遭遇されたときに、前記グループとして分解される、C1に記載の方法。
[C7]
前記複数の要素は、ポッドに関連付けられ、前記ポッドは、前記メディアプレゼンテーションの再生中に2つのメディアセグメント間に挿入される、C1に記載の方法。
[C8]
前記複数の要素は、各要素を定義する期間属性に関連付けられる、C1に記載の方法。
[C9]
前記補足コンテンツは、再生中に前記メディアプレゼンテーション中に挿入される広告を備える、C1に記載の方法。
[C10]
前記補足コンテンツを要求するために使用される情報は、前記複数の要素の各々中に含まれる、C1に記載の方法。
[C11]
前記要求を送ることは、
前記情報を有する単一の要求を送ることと、
前記マニフェスト記述プレゼンテーション中の前記複数の要素を前記単一の要求に応答して受信された前記補足コンテンツについての前記情報に置換することと
を備える、C10に記載の方法。
[C12]
前記値が前記要素中で遭遇されたときに、
他の要素が前記値を含むかどうかを決定するために前記他の要素を再考することと、 前記他の要素が前記値を含むときに、前記グループ中に前記他の要素を含めることと を更に備える、C1に記載の方法。
[C13]
前記他の要素は、前記マニフェスト記述プレゼンテーション中の前記要素に隣接している、C12に記載の方法。
[C14]
実行されると、
再生されているメディアプレゼンテーションのためのマニフェスト記述プレゼンテーション中の値に要素が関連付けられると決定すること、ここにおいて、前記値は、前記マニフェスト記述プレゼンテーションの前記要素がグループの一部であることを示す、と、 前記値に関連付けられた複数の要素を決定するために、前記マニフェスト記述プレゼンテーションを再考することと、
前記複数の要素のうちの1つからの情報を使用して前記複数の要素を分解することを求める要求をデバイスに送ることと、
前記グループのために補足コンテンツについての情報を受信すること、ここにおいて、前記補足コンテンツについての前記情報は、前記複数の要素の代わりに前記マニフェスト記述プレゼンテーション中に挿入される、と、
を行うように動作可能になるようにコンピュータシステムを制御する命令を包含する、非一時的コンピュータ可読記憶媒体。
[C15]
前記値は、記述子に関連付けられ、
前記記述子は、前記複数の要素が前記グループとして分解されるべきであることを識別するために使用される、
C14に記載の非一時的コンピュータ可読記憶媒体。
[C16]
前記要求は、前記複数の要素が前記グループの一部であることを前記複数の要素に関連付けられた前記値が示すときに、前記グループを分解するために送られる、
C14に記載の非一時的コンピュータ可読記憶媒体。
[C17]
前記複数の要素は、前記複数の要素が置換されるべき前記マニフェスト記述プレゼンテーション中のデフォルト補足コンテンツに関連付けられたときに、前記グループとして分解される、C14に記載の非一時的コンピュータ可読記憶媒体。
[C18]
前記補足コンテンツを要求するために使用される情報は、前記複数の要素の各々中に含まれる、C14に記載の非一時的コンピュータ可読記憶媒体。
[C19]
前記要求を送ることは、
前記情報を有する単一の要求を送ることと、
前記マニフェスト記述プレゼンテーション中の前記複数の要素を前記単一の要求に応答して受信された前記補足コンテンツについての前記情報に置換することと
を備える、C19に記載の非一時的コンピュータ可読記憶媒体。
[C20]
装置であって、
1つ以上のコンピュータプロセッサと、
非一時的コンピュータ可読記憶媒体と
を備え、前記非一時的コンピュータ可読記憶媒体は、実行されると、
再生されているメディアプレゼンテーションのためのマニフェスト記述プレゼンテーション中の値に要素が関連付けられると決定すること、ここにおいて、前記値は、前記マニフェスト記述プレゼンテーションの前記要素がグループの一部であることを示す、と、 前記値に関連付けられた複数の要素を決定するために、前記マニフェスト記述プレゼンテーションを再考することと、
前記複数の要素のうちの1つからの情報を使用して前記複数の要素を分解することを求める要求をデバイスに送ることと、
前記グループのために補足コンテンツについての情報を受信すること、ここにおいて、前記補足コンテンツについての前記情報は、前記複数の要素の代わりに前記マニフェスト記述プレゼンテーション中に挿入される、と、
を行うように動作可能になるように前記1つ以上のコンピュータプロセッサを制御する命令を備える、装置。
図1
図2
図3
図4A
図4B
図4C
図5A
図5B
図6A
図6B
図7A
図7B
図8A
図8B
図9
図10A
図10B
図10C
図11
図12