JP7443544B2 - 遠隔要素分解のクライアントベースの記憶装置 - Google Patents

遠隔要素分解のクライアントベースの記憶装置 Download PDF

Info

Publication number
JP7443544B2
JP7443544B2 JP2022548470A JP2022548470A JP7443544B2 JP 7443544 B2 JP7443544 B2 JP 7443544B2 JP 2022548470 A JP2022548470 A JP 2022548470A JP 2022548470 A JP2022548470 A JP 2022548470A JP 7443544 B2 JP7443544 B2 JP 7443544B2
Authority
JP
Japan
Prior art keywords
presentation description
opportunity
supplemental content
manifest
manifest presentation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022548470A
Other languages
English (en)
Other versions
JP2023517484A (ja
Inventor
カバ、ザカリー・マッキール
Original Assignee
フル・エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by フル・エルエルシー filed Critical フル・エルエルシー
Publication of JP2023517484A publication Critical patent/JP2023517484A/ja
Application granted granted Critical
Publication of JP7443544B2 publication Critical patent/JP7443544B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4355Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen
    • H04N21/4356Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen by altering the spatial resolution, e.g. to reformat additional data on a handheld device, attached to the STB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

関連出願の相互参照
[0001]米国特許法119条(e)に従って、本出願は、2020年2月28日に出願された米国仮特許出願第62/983,358号の出願日の利益を享受する権利を有し、且つその利益を主張し、その内容は、あらゆる目的のためにその全体が参照によって本明細書に組み込まれる。
[0002]ライブストリーミングは、メディアプレゼンテーション記述を使用したクライアントへのセグメントの連続配信を必要とする。クライアントは、ポーリングプロトコルを介してセグメント情報を取得する。例えば、DASH(Dynamic Adaptive Streaming over HTTP)及びHTTP(Hypertext Transfer Protocol)ライブストリーミング(HLS)など、異なるストリーミングプロトコルが使用され得る。プログラムスタートオーバ、デジタルビデオレコーダ(DVR)ウィンドウ、及びシームレスロールオーバなどの機能を有効にするために、サーバは、クライアントがストリームに加わったときからの全ての既知のストリーム情報を含むメディアプレゼンテーション記述への更新を継続的に送る。新しいメディアプレゼンテーション記述は、追加のセグメントについてのいくつかの新しい情報を含むが、ストリーム初期化情報及び以前のセグメントなど、送られた全ての以前の情報も含む。
[0003]メディアプレゼンテーション記述はまた、メディアプレゼンテーション中に挿入されることができる、広告などの補足コンテンツについての情報を含み得る。ストリーム中に補足コンテンツを挿入するために、異なる方法が使用され得る。例えば、SGAI(Server-Guided Ad Insertion)は、ストリームがクライアントに到達するより前にメディアプレゼンテーション内の広告機会を記述するが、プレゼンテーションタイムラインを完了するために必要に応じてクライアントに機会を分解(resolve)させる広告供給アーキテクチャである。このタイプの挿入は、プロトコルの更新及び遠隔分解機構(remote resolution mechanics)によって可能にされ得る。
[0004]ライブプレゼンテーションなどのプレゼンテーションでは、クライアントが各新しいマニフェストを受信すると、補足コンテンツの以前に分解されたインスタンスが新しいマニフェストから除去される。このことから、クライアントは、新しいマニフェスト中にある各機会を再分解する必要がある。ライブプレゼンテーションがプレゼンテーションタイムラインを下って進むにつれて、機会の数が増加し、新しいマニフェストが受信される度に全ての機会を再分解すると、クライアントにおいてリソースが浪費され、著しいオーバヘッドを引き起こす。また、機会の再分解は、各分解に対する新たな応答として処理され得る。これは、通常のプレイアウト中の一貫性のない状態表現であろう。即ち、より古い機会の再分解は、プレイアウト中に問題を引き起こし得る。例えば、クライアントが機会についての補足コンテンツを再生している間にマニフェストへの更新が受信された場合、その機会は、再生の途中で再分解され、再生の問題を引き起こし得る。例えば、再生されている現在の補足コンテンツが停止され得、補足コンテンツの別のインスタンスが開始され得る。
[0005]以下に続く議論及び特に図面に関して、示される詳細は、例示的な議論の目的のために例を表し、本開示の原理の説明及び概念的な態様を提供するために提示されることが強調される。この点に関して、本開示の根本的な理解のために必要とされるものを超える実装の詳細を示すための試みは行われない。図面と連動した以下に続く議論は、本開示に従った実施形態がどのように実施され得るかを当業者に明らかにする。類似又は同一の参照番号は、様々な図面及びサポートする説明において類似又は同一の要素を識別するか、又は別様に参照するために使用され得る。添付の図面は以下の通りである。
[0006]いくつかの実施形態による、動的コンテンツ置換を実行するための簡略化されたシステムを図示する。 [0007]いくつかの実施形態による、初期マニフェストプレゼンテーション記述を処理するための方法の簡略化されたフローチャートを図示する。 [0008]いくつかの実施形態による、初期マニフェストプレゼンテーション記述の例を図示する。 いくつかの実施形態による、初期マニフェストプレゼンテーション記述の例を図示する。 [0009]いくつかの実施形態による、要求に応じて機会を分解するための方法の簡略化されたフローチャートを図示する。 [0010]いくつかの実施形態による、データ構造の例を図示する。 [0011]いくつかの実施形態による、2つの期間についての分解の例を図示する。 [0012]いくつかの実施形態による、その期間についての情報を有するデータ構造の別の例を図示する。 [0013]いくつかの実施形態による、分解結果の挿入後のマニフェストプレゼンテーション記述の例を図示する。 いくつかの実施形態による、分解結果の挿入後のマニフェストプレゼンテーション記述の例を図示する。 [0014]いくつかの実施形態による、マニフェストプレゼンテーション記述への更新を処理するための方法の簡略化されたフローチャートを図示する。 [0015]いくつかの実施形態による、マニフェストプレゼンテーション記述の更新の例を図示する。 いくつかの実施形態による、マニフェストプレゼンテーション記述の更新の例を図示する。 いくつかの実施形態による、マニフェストプレゼンテーション記述の更新の例を図示する。 [0016]いくつかの実施形態による、分解についての情報の挿入後のマニフェストプレゼンテーション記述の例を図示する。 いくつかの実施形態による、分解についての情報の挿入後のマニフェストプレゼンテーション記述の例を図示する。 [0017]一実施形態による、1つ以上の通信ネットワークを介して複数のクライアントデバイスと通信しているビデオストリーミングシステムを図示する。 [0018]ビデオコンテンツ及び広告を視聴するための装置の線図を図示する。
[0019]本明細書では、コンテンツ配信システムのための技法が説明される。以下の説明では、説明を目的として、数多くの例及び特定の詳細が、いくつかの実施形態の完全な理解を提供するために記載される。特許請求の範囲によって定義されるいくつかの実施形態は、これらの例における特徴のうちのいくつか又は全てを、単独で又は以下に説明される他の特徴と組み合わせて含み得、本明細書で説明される特徴及び概念の修正及び同等物を更に含み得る。
[0020]動的コンテンツ置換は、ビデオ配信システムが、ライブストリーム又はビデオオンデマンドストリームなどのコンテンツストリーム中に補足コンテンツを動的に挿入することを可能にする。広告などの補足コンテンツは、現在クライアントに送られているメディアプレゼンテーション中のメインコンテンツとは異なるコンテンツであり得る。例えば、補足コンテンツは、メディアプレゼンテーション中に挿入される広告であり得る。ビデオ配信システム上で提供されている他のメディアプレゼンテーションを推奨するコンテンツ、ネットワーク識別バンパー、緊急警報、ニュース速報警報、ストリームソーススイッチ、及びユーザ選択ベースのコンテンツ置換(「きみならどうする?(choose your own adventure)」タイプのコンテンツ)など、他の補足コンテンツが認識され得る。
[0021]動的コンテンツ置換は、ストリーム中の一点に含まれる機会を分解するプロセスであり得る。分解は、ストリームを見ている間に発生するが、クライアントにおけるプレイアウトのために補足コンテンツを挿入する機会の一点に到達する前に発生する。クライアントは、必要なときに機会についての補足コンテンツを動的に要求することによって機会を分解することができる。いくつかの実施形態では、分解は、補足コンテンツがまだ選択されていない機会などのプレースホルダ機会を置換し得る。例えば、ライブストリームでは、クライアントは、補足コンテンツを受信する機会に到達する前に機会を分解し得る。いくつかの実施形態では、動的コンテンツ置換は、サーバを使用して遠隔で機会を分解し得る。サーバは、各機会についての補足コンテンツを選択し得る。いくつかの実施形態では、サーバは、ユーザ毎にターゲットとされる補足コンテンツを決定する。
[0022]マニフェストプレゼンテーション記述は、メインコンテンツのセグメントを記述するために使用され、補足コンテンツのための機会も記述する。上記で議論されたように、クライアントは、分解される必要がある全ての以前の機会を含むマニフェストプレゼンテーション記述への更新を受信し得る。即ち、クライアントが以前にいくつかの機会を分解したとしても、それらの以前に分解された機会についての補足コンテンツは、更新されたマニフェストプレゼンテーション記述中に含まれないことがある。全ての機会を再分解することをクライアントに強制する代わりに、クライアントは、全ての機会を再分解することを回避するために、メモリ中に記憶されたテーブルなどのデータ構造を使用する。例えば、データ構造は、マニフェストプレゼンテーション記述中に見出される機会についての識別子と、それぞれの機会について以前に決定された対応する補足コンテンツについての情報とを記憶する。クライアントが、補足コンテンツの以前に分解されたインスタンスを除去する各新しいマニフェストプレゼンテーション記述を受信すると、クライアントは、機会を再分解する代わりに、データ構造から補足コンテンツを取り出すことができる。これは、クライアントがマニフェストプレゼンテーション記述に対して既に分解された機会を再分解する必要がないので、コンピューティングリソースの使用を節約する。記憶装置からの情報を使用する行為は、複数の要求を送り、複数の応答を処理するよりもコンピューティングリソース集約的でない。更に、要求及び応答がネットワーク上で送られないので、帯域幅使用が低減される。また、機会を再分解しないためのデータ構造の使用は、以前にトリガされた分解機会から新しい分解機会のトリガリングを分離する。それ故に、クライアントは、複数の更新にわたって単一の一貫したプレゼンテーションタイムラインを維持することができ、それでも新しい分解シナリオが使用されることを可能にする。
[0023]システムの概要
[0024]図1は、いくつかの実施形態による、動的コンテンツ置換を実行するための簡略化されたシステム100を図示する。システム100は、サーバ102及びクライアント104を含む。サーバ102及びクライアント104の1つのインスタンスが示されているが、サーバ102及びクライアント104の複数のインスタンスが使用され得る。
[0025]サーバ102は、クライアント104にメディアプレゼンテーションを配信し得る。サーバ102は、複数のデバイスを使用してメディアプレゼンテーション及び他のコンテンツを配信し得るコンテンツ配信ネットワーク(CDN)の一部であり得る。サーバ102が議論されるとき、機能は、CDN中の複数のデバイスによって実行され得、サーバ102に限定されない。一例では、サーバ102は、複数のビットレートで符号化された(又は符号化されるであろう)ビデオ(例えば、タイトル又はショー)などの様々なメディアプレゼンテーションを記憶する。例えば、メディアプレゼンテーションは、符号化器が高ビットレートから低ビットレートまで複数のビットレートで符号化するセグメントに分割されている。メディアプレゼンテーションは、メディアプレゼンテーション#1(高ビットレート)、メディアプレゼンテーション#2(中ビットレート)、...、及びメディアプレゼンテーション#N(低ビットレート)として、異なるバージョン(即ち、ビットレート)で記憶される。異なるビットレートは、異なるレベルの品質でビデオを提供する。例えば、より高いビットレートのビデオは、中ビットレートよりも高品質であり、中ビットレートは、より低いビットレートよりも高品質であろう。これらの符号化が説明されるが、様々な実施形態は、任意の数のビットレートでの異なる符号化を含み得る。
[0026]クライアント104は、セルラフォン、セットトップボックス、ストリーミングデバイス、パーソナルコンピュータ、タブレットコンピュータ、等などの様々なユーザデバイスを含み得る。クライアント104は、メディアプレゼンテーションを再生することができるメディアプレーヤ114を含み得る。例えば、メディアプレーヤ114は、メディアプレゼンテーションからのビデオ及び/又はオーディオを再生し得る。クライアント104は、マニフェストプレゼンテーション記述を処理し、本明細書で説明される遠隔分解を実行するマニフェストプレゼンテーション記述プロセッサ112を含む。
[0027]DASH(MPEG-DASHとしても知られる)又はHLSを含むプロトコル仕様などのトランスポート機構が、サーバ102からクライアント104にメディアプレゼンテーションのセグメントについての情報をトランスポートするために使用され得る。サーバ102は、マニフェストプレゼンテーション記述サーバ106及び補足コンテンツ要求プロセッサ108を含む。マニフェストプレゼンテーション記述サーバ106及び補足コンテンツ要求プロセッサ108は、同じサーバ102中に示されているが、それらは異なるデバイス中に位置することができることに留意されたい。また、別々に説明されているが、マニフェストプレゼンテーション記述サーバ106及び/又は補足コンテンツマニフェストサーバ108は、別々のエンティティである必要はなく、機能は、単一のエンティティによって実行され得る。
[0028]マニフェストプレゼンテーション記述サーバ106は、クライアント104にマニフェストプレゼンテーション記述を送り得る。クライアント104は、サーバ102からメディアプレゼンテーション記述を受信する。メディアプレゼンテーション記述を使用して、クライアント104(例えば、メディアプレーヤ114)は、サーバ102からメディアプレゼンテーションのセグメントを要求し得る。メディアプレゼンテーションのセグメントを受信している間、クライアント104は、クライアント104がセグメントを受信する帯域幅を評価することができる。クライアント104が実行し得る1つの評価は、利用可能な帯域幅を推定するために、ある時間期間にわたって受信されたメディアプレゼンテーション(例えば、ビデオ)の量を測定することである。利用可能な帯域幅に応じて、クライアント104は、メディアプレゼンテーションのどのビットレート(又はバージョン)を要求すべきかに関する決定を行い得る。例えば、クライアント104は、メディアプレゼンテーションのセグメントに対してメディアプレゼンテーションのどのバージョンを要求すべきかを決定し、ここで、バージョンは、異なるビットレートを含み得る。
[0029]メディアプレゼンテーションの異なるビットレートを要求することに加えて、クライアント104は、メディアプレゼンテーションの再生中に補足コンテンツ要求プロセッサ108に、マニフェストプレゼンテーション記述中の補足コンテンツ機会を分解することを求める要求を送り得る。次いで、補足コンテンツ要求プロセッサ108は、どの補足コンテンツをマニフェストプレゼンテーション記述中に挿入すべきかを決定することによって機会を分解する。プロセスでは、補足コンテンツ要求プロセッサ108は、補足コンテンツを決定するために補足コンテンツサーバ110と通信し得る。いくつかの実施形態では、コンテンツサーバ110は、デフォルトコンテンツ(例えば、デフォルト広告)を置換する、プレースホルダ機会を分解する、又はストリーム中の以前の補足コンテンツ機会を再分解するなどのために、補足コンテンツ機会中のストリーム中に動的に挿入されることができる補足コンテンツを識別し得る。
[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:プレゼンテーション処理モデルは、プレゼンテーションの存続期間にわたって分解結果を収容するためにプレゼンテーションタイムラインがどのように調整/拡張されるかを定義する。
[0031]機能#1に関して、期間は、時点と、デフォルトメインコンテンツの場合、メインプレゼンテーションコンテンツタイムライン内の機会の長さとの両方を定義することができるので、期間は、機会がどこに存在するかを記述する。期間の自己完結型の性質は、動的分解において挿入/置換動作を可能にする。プレゼンテーションタイムラインに対するこれらの影響は、タイムライン内の期間のタイミングの性質を定義する。期間は、期間の開始及び終了をマークすることによって自己完結型であり、このことから、挿入されたコンテンツのためのスタンドアロンコンテナであることを可能にする。これらのコンテナは、広告クリエイティブなどの補足コンテンツの順序付け及び番号付け要件を満たすために、必要に応じて混合及び適合されることができる。
[0032]機能#2の場合、マニフェストプレゼンテーション記述は、リンクを使用して補足コンテンツのための機会を分解する機会を提供する、ユニフォームリソースロケータ(URL)などの遠隔ロケータを提供し得る。例えば、@xlink:href属性を有するリンクは、リンクを使用して分解されることができる。
[0033]機能#3の場合、クライアント104は、クライアント状態をサーバに動的に送ることができる。例えば、クライアント104は、動的に、サーバ102にクライアント状態を送り、クライアント固有のコンテンツを受信することができる。
[0034]機能#4の場合、期間は、補足コンテンツのインスタンスによって置換されるように設計される。
[0035]機能#5の場合、プレゼンテーション記述への変更は、プレゼンテーションの存続期間にわたって、挿入された補足コンテンツを収容するようにプレゼンテーションタイムラインを調整又は拡張し得る。
[0036]遠隔分解を実行するために、XLink(XML Linking Language)などの仕様が使用され得る。XLinkが説明されるが、遠隔分解を可能にする他のプロトコルが使用され得る。遠隔分解は、どの補足コンテンツが機会中に挿入されるべきかを決定するためにクライアント104の外部で実行される分解であり得る。分解及び置換機構は、遠隔要素をメインプレゼンテーションと組み合わせるために使用され得る。第1の属性は、補足コンテンツが取り出されることができるロケーションを指すリンクを記述するために使用され得る。第2の属性は、マニフェストプレゼンテーション記述を処理するときに補足コンテンツの分解がいつ実行されるべきかを記述する。例えば、XLinkは、@xlink:href及び@xlink:actuateなどの使用され得る属性を含み得る。属性@xlink:hrefは、補足コンテンツが取り出されることができるロケーションを指すユニフォームリソース識別子(URI)などのリンクを記述する。属性@xlink:actuateは、マニフェストプレゼンテーション記述を処理するときに補足コンテンツの分解がいつ実行されるべきかを記述する。他の属性も使用され得る。
[0037]分解は、第2の属性値に関連付けられた条件がクライアントプレーヤ状態によって満たされたときにトリガされ得る。例えば、「onLoad」などの値は、元のマニフェストプレゼンテーション記述がロードされるときに補足コンテンツについての情報が要求されるべきであることを表す。また、「onRequest」などの値は、ストリームの再生中に期間が遭遇されるときなど、情報がマニフェストプレゼンテーション記述に関連するようになるとき、補足コンテンツについての情報が要求されるべきであることを表す。例えば、情報は、機会のX秒前、X期間前、又は任意の時間前に関連するようになり得る。分解の応答要素は、マニフェストプレゼンテーション記述中の元の要素を遠隔分解属性に完全に置換する。クライアント104は、メディアプレゼンテーションのセグメントを要求するために更新が発生したときにインメモリマニフェストを再評価する。マニフェストプレゼンテーション記述サーバ106は、補足コンテンツ要求プロセッサ108によって識別された補足コンテンツを使用して補足コンテンツマニフェストを作成し、クライアント104に補足コンテンツマニフェストを送り得る。
[0038]ライブストリームなどのプレゼンテーションでは、クライアント104は、マニフェストプレゼンテーション記述サーバ106からマニフェストプレゼンテーション記述への複数の更新を受信し得る。各更新は、プレゼンテーション全体のための分解機会を含み得る。即ち、クライアント104が以前にマニフェストプレゼンテーション記述中の機会を分解していたとしても、それらの分解機会についての補足コンテンツは、マニフェストプレゼンテーション記述の更新中に現れない。分解機会についての補足コンテンツが更新中に存在しない1つの理由は、サーバ102が各クライアント104に対する補足コンテンツの分解結果を保存しないことである。サーバ102は、各クライアント104が異なる分解を有し得、保存される必要があるデータの量が大きく、スケーリングが困難であり得るので、分解を保存しないことがある。それ故に、サーバ102は、ステートレスであり得、クライアント104のための分解のための補足コンテンツを追跡しないことがある。むしろ、クライアント104は、従来、マニフェストプレゼンテーション記述中の全ての分解機会を再分解しなければならなかったであろう。
[0039]クライアント104は、以前の分解についての情報を記憶するキャッシュメモリ116などの記憶装置を含む。例えば、マニフェストプレゼンテーション記述プロセッサ112が機会を分解すると、マニフェストプレゼンテーション記述プロセッサ112は、キャッシュメモリ116中のデータ構造中に分解機会の識別子についての補足コンテンツについての情報を記憶し得る。マニフェストプレゼンテーション記述への更新を処理するとき、マニフェストプレゼンテーション記述プロセッサ112は、データ構造中の以前に分解された機会についての補足コンテンツを識別し、インメモリマニフェストプレゼンテーション記述中に以前の分解についての情報を挿入し得る。インメモリマニフェストプレゼンテーション記述は、クライアント104に記憶されたマニフェストプレゼンテーション記述のバージョンであり得る。例えば、クライアント104がマニフェストプレゼンテーション記述への更新を受信する度に、クライアント104は、メモリ中に更新を記憶する。次いで、クライアント104は、インメモリマニフェストプレゼンテーション記述中に識別子を配置し、機会を以前に分解された補足コンテンツについての情報に置換することによって、インメモリマニフェストプレゼンテーション記述中に以前の分解を挿入する。それ故に、マニフェストプレゼンテーション記述プロセッサ112は、これらの機会を再分解する必要はない。次いで、マニフェストプレゼンテーション記述プロセッサ112は、データ構造中に対応するエントリを有さない任意の機会を分解し得る。
[0040]図2は、いくつかの実施形態による、クライアント104において初期マニフェストプレゼンテーション記述を処理するための方法の簡略化されたフローチャートを図示する。202において、マニフェストプレゼンテーション記述プロセッサ112は、初期マニフェストプレゼンテーション記述を受信してロードする。マニフェストプレゼンテーション記述は、ビデオに対する再生要求の後にクライアント104によって受信された最初のものであり得るか、又は分解を必要とする最初のものであり得る。
[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におけるメインコンテンツの再生との間に挿入される。
[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から補足コンテンツについての情報を受信するであろう。
[0043]208において、マニフェストプレゼンテーション記述プロセッサ112は、遠隔分解機会についての識別子についてのデータ構造中に補足コンテンツについての情報を記憶する。例えば、マニフェストプレゼンテーション記述プロセッサ112は、これがオンロード機会である場合、データ構造中に「ad-break-1」の識別子を挿入する。210において、マニフェストプレゼンテーション記述プロセッサ112は、対応する識別子についてのインメモリマニフェストプレゼンテーション記述中に補足コンテンツについての情報を挿入する。例えば、マニフェストプレゼンテーション記述プロセッサ112は、分解された機会として受信された補足コンテンツへのリンクを挿入する。
[0044]図4は、いくつかの実施形態による、オン要求分解機会を処理するための方法の簡略化されたフローチャート400を図示する。上述したように、オン要求機会は、ビデオの再生中に発生し得る。402において、マニフェストプレゼンテーション記述プロセッサ112は、再生中にオン要求として指定された機会のためにいつ遠隔分解が必要とされるかを決定する。
[0045]404において、マニフェストプレゼンテーション記述プロセッサ112は、要求に応じて必要とされる遠隔分解機会についての識別子を決定し、データ構造中に記憶する。識別子の記憶は、遠隔分解機会を有する初期マニフェストプレゼンテーション記述を受信すると実行され得る。また、識別子の記憶は、条件がオン要求分解について満たされたときに実行され得る。図5は、いくつかの実施形態による、データ構造500の例を図示する。502において、データ構造500は、識別子用の列を含み、504において、データ構造500は、分解結果用の列を含む。この場合、マニフェストプレゼンテーション記述プロセッサ112は、データ構造500中の期間について、506において識別子「adbreak-1」を記憶する。識別子は、マニフェストプレゼンテーション記述中のオン要求機会を識別する。
[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」によって識別される。各期間は、補足コンテンツの異なるインスタンスと、それぞれのインスタンスをどのように取り出すかを記述する。例えば、各それぞれのインスタンスのビデオ及びオーディオを取り出すためのリンクが、各それぞれの期間に対して含まれ得る。
[0047]図4に戻って参照すると、408において、マニフェストプレゼンテーション記述プロセッサ112は、識別子についてのデータ構造中に補足コンテンツについての情報を記憶する。図7は、いくつかの実施形態による、その期間についての情報を有するデータ構造500の別の例を図示する。702-1において、マニフェストプレゼンテーション記述プロセッサ112は、「remote-1-1-1」の識別子を有する補足コンテンツの第1のインスタンスについての情報を挿入している。また、702-2において、マニフェストプレゼンテーション記述プロセッサ112は、「remote-1-1-2」の識別子を有する補足コンテンツの第1のインスタンスについての情報を挿入している。インスタンスを取り出すための他の情報もまた、データ構造又は他の場所中に記憶され得る。
[0048]図4に戻って参照すると、410において、マニフェストプレゼンテーション記述プロセッサ112は、クライアント104において記憶されたインメモリマニフェストプレゼンテーション記述中の対応する識別子についてのインメモリマニフェストプレゼンテーション記述中に補足コンテンツについての情報を挿入する。クライアント104は、メディアプレゼンテーションを再生するために、インメモリマニフェストプレゼンテーション記述を使用する。図8A及び8Bは、いくつかの実施形態による、分解結果の挿入後のマニフェストプレゼンテーション記述の例を図示する。マニフェストプレゼンテーション記述プロセッサ112は、それぞれ802-1及び802-2において補足コンテンツについての情報を挿入する。補足コンテンツは、804-1における「content-1」及び804-2における「content-2」の識別子を有するビデオからのメインコンテンツの2つの期間の間にある。クライアント104は、メインコンテンツ及び補足コンテンツを再生するために、マニフェストプレゼンテーション記述中の情報を使用し得る。例えば、クライアント104は、期間が再生タイムライン中に分解されるときに、メインコンテンツ又は補足コンテンツを要求するために、マニフェストプレゼンテーション記述の期間におけるリンクを使用する。
[0049]マニフェストプレゼンテーション記述への更新の処理
[0050]ある時点で、クライアント104は、マニフェストプレゼンテーション記述への更新を受信する。更新は、新しい期間などの新しい情報を含み得る。例えば、ライブストリームが継続するにつれて、メディアプレゼンテーション用の追加のコンテンツが、クライアント104が要求するために追加される。追加のコンテンツは、マニフェストプレゼンテーション記述中の期間中に包含され得、メインコンテンツ又は補足コンテンツを挿入する機会を表し得る。また、更新時間が発生し、利用可能な追加のコンテンツがない場合、更新は、いかなる新しい情報も含まないことがある。しかしながら、両方の場合において、更新は、元の遠隔分解シグナリングを含み、クライアント104が以前に分解した補足コンテンツを含まない。
[0051]図9は、いくつかの実施形態による、マニフェストプレゼンテーション記述への更新を処理するための方法の簡略化されたフローチャート900を図示する。902において、クライアント104は、マニフェストプレゼンテーション記述への更新を受信する。更新は、上記で議論されたように追加の期間を含み得、また、以前に分解された期間についての情報を含まない。このことから、更新は、クライアント104においてメモリ中に記憶されるマニフェストプレゼンテーション記述とは異なる。完全なマニフェストプレゼンテーション記述更新が発生すると、クライアント104は、メモリからインメモリマニフェストを完全にクリアし得、マニフェストプレゼンテーション記述プロセッサ112は、その場所中に新たにロードされたマニフェストを記憶する。この場合、新しいインメモリマニフェストプレゼンテーション記述は、上記で議論されたように未分解の機会を有する。
[0052]図10A及び10Bは、いくつかの実施形態による、マニフェストプレゼンテーション記述の更新の例を図示する。マニフェストプレゼンテーション記述では、1000において、「adbreak-1」のための期間は、機会についての補足コンテンツを決定するための遠隔分解を必要とする。即ち、1000に含まれる情報は、302において図3Aの以前のマニフェストプレゼンテーション記述中に見出される情報と同様である。このマニフェストプレゼンテーション記述は、図8Aの802-1及び802-2に示される分解された機会を含まない。
[0053]また、このマニフェストプレゼンテーション記述は、1002において「content-2」として識別される第2のコンテンツ期間に新しいセグメントを追加している。新しいセグメントは、期間「content-2」内に示されるS要素に値「r=1」を追加することによって識別され、ここで、r属性は、d属性によってシグナリングされる既存のセグメント持続時間に等しい持続時間を有する、記述されたセグメントに続いて存在する連続セグメントの数をシグナリングする。この例では、「r=1」は、同じ「360360」の持続時間を有する、説明されたセグメントに続く1つの追加のセグメントがあることを示し、更なる更新は、r値を再び増加させ、異なる持続時間(d属性)若しくは基準時間(t属性)を有する新しいS要素を追加し得るか、又は完全に新しい期間要素を追加し得る。
[0054]図9に戻って参照すると、マニフェストプレゼンテーション記述プロセッサ112は、次いで、マニフェストプレゼンテーション記述中に見出される識別子を求めてデータ構造を検索する。904において、マニフェストプレゼンテーション記述プロセッサ112は、マニフェストプレゼンテーション記述からロードに応じて必要とされる遠隔分解機会についての新しい識別子を決定し、データ構造中に記憶する。これらは、先行するマニフェストプレゼンテーション記述中で以前に遭遇されなかった新しい分解機会のためのものである。この場合、マニフェストプレゼンテーション記述プロセッサ112は、データ構造中のマニフェストプレゼンテーション記述中の分解機会から対応する識別子を見出さない。
[0055]マニフェストプレゼンテーション記述中のオンロード又はオン要求遠隔分解機会に対応するデータ構造中の識別子について、906において、マニフェストプレゼンテーション記述プロセッサ112は、インメモリマニフェストプレゼンテーション記述中に遠隔分解機会についての補足コンテンツについてのデータ構造からの情報を挿入する。マニフェストプレゼンテーション記述プロセッサ112は、このことから、補足コンテンツを再決定するために、これらの機会を再分解しない。オン要求及びオンロード機会は、条件が以前に満たされ、マニフェストプレゼンテーション記述プロセッサ112がオン要求及びオンロード機会を分解し、データ構造中に補足コンテンツについての情報を記憶したなど、要求に応じて以前に分解された機会であった。むしろ、マニフェストプレゼンテーション記述プロセッサ112は、データ構造から情報を取り出し、インメモリマニフェストプレゼンテーション記述中にその情報を挿入する。
[0056]908において、データ構造中に対応する補足コンテンツを有さない任意の残りのオンロード遠隔分解機会について、マニフェストプレゼンテーション記述プロセッサ112は、補足コンテンツを決定するために、遠隔分解機会を分解する。これらのオンロード機会は、904においてデータ構造に追加された新しい識別子であり得る。例えば、マニフェストプレゼンテーション記述プロセッサ112は、データ構造中に記憶された補足コンテンツについての情報を有さない機会についての分解を求める要求を送り得る。これらの機会は、マニフェストプレゼンテーション記述中に新たに挿入され得る。
[0057]補足コンテンツについての情報を受信した後、910において、マニフェストプレゼンテーション記述プロセッサ112は、識別子に関連して、データ構造中に遠隔分解機会についての補足コンテンツについての情報を記憶する。
[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に見出されるものと同じであり得る。
[0059]914において、マニフェストプレゼンテーション記述プロセッサ112は、再生が、以前に分解されていない任意のオン要求遠隔分解機会を分解するのを待つ。その後、分解機会についての対応する条件が満たされると、マニフェストプレゼンテーション記述プロセッサ112は、機会を分解し、データ構造及びインメモリマニフェストプレゼンテーション記述中に補足コンテンツについての情報を挿入する。
[0060]初期マニフェストプレゼンテーション記述は、マニフェストプレゼンテーション記述中の遠隔期間要素(複数可)の1つのインスタンスのみを提供するが、これは例全体を簡略化するためであり、実際には、マニフェストプレゼンテーション記述全体を通して複数の独立した遠隔分解ポイントがあり得る。また、構造表現については、期間中に複数回現れ得る要素は省略されており、概念に必須ではない属性は、マニフェストの例全体を短縮するために除去されている。これらの省略は、3つのドット「...」によって示される。
[0061]結論
[0062]それ故に、クライアント104は、既に分解された機会の再分解を回避する。特定のクライアント104のための機会についての情報を記憶することは、クライアントにおける分解状態を維持し、クライアント104は、マニフェストへの更新中に以前の分解を挿入することができる。
[0063]実例的な実施形態
[0064]いくつかの実施形態では、方法は、コンピューティングデバイスが、メディアプレゼンテーション用のマニフェストプレゼンテーション記述を受信することと、マニフェストプレゼンテーション記述は、機会についての補足コンテンツを決定するための分解を必要とする機会を含む、コンピューティングデバイスが、機会を分解することを求める要求を送ることと、ここにおいて、要求から受信された補足コンテンツについての情報は、メディアプレゼンテーション記述のインスタンス中に挿入される、コンピューティングデバイスが、機会についての識別子に関連して補足コンテンツについての情報を記憶することと、コンピューティングデバイスが、マニフェストプレゼンテーション記述への更新を受信することと、ここにおいて、マニフェストプレゼンテーション記述への更新は、機会についての補足コンテンツを決定するための分解を必要とする機会を含む、コンピューティングデバイスが、機会についての識別子に関連して記憶された補足コンテンツについての情報を取り出し、マニフェストプレゼンテーション記述への更新のインスタンス中に補足コンテンツについての情報を挿入することとを備える。
[0065]いくつかの実施形態では、方法は、マニフェストプレゼンテーション記述のインスタンスを記憶することと、マニフェストプレゼンテーション記述のインスタンス中に機会中の補足コンテンツについての情報を挿入することとを更に備える。
[0066]いくつかの実施形態では、方法は、メディアプレゼンテーションの再生中に補足コンテンツを要求するために、補足コンテンツについての情報を使用することを更に備える。
[0067]いくつかの実施形態では、マニフェストプレゼンテーション記述を受信することは、マニフェストプレゼンテーション記述を受信すると、機会が分解されるべきであると決定することと、マニフェストプレゼンテーション記述を受信すると、機会を分解することを求める要求を送ることとを備える。
[0068]いくつかの実施形態では、機会を分解することを求める要求を送ることは、マニフェストプレゼンテーション記述を受信した後、機会が後の時間に分解されるべきであると決定することと、マニフェストプレゼンテーション記述を受信した後に条件が満たされると、機会を分解することを求める要求を送ることとを備える。
[0069]いくつかの実施形態では、マニフェストプレゼンテーション記述を受信してメディアプレゼンテーションの一部分が再生された後に、条件が満たされる。
[0070]いくつかの実施形態では、補足コンテンツについての情報及び識別子は、マニフェストプレゼンテーション記述への更新を受信した後も持続するデータ構造中に記憶される。
[0071]いくつかの実施形態では、機会の分解を求める要求を送ることなく、マニフェストプレゼンテーション記述の更新のインスタンス中に補足コンテンツについての情報を挿入することを更に備える。
[0072]いくつかの実施形態では、機会を分解することを求める要求は、遠隔デバイスに送られる。
[0073]いくつかの実施形態では、マニフェストプレゼンテーション記述への更新は、要求を送ることから受信された補足コンテンツについての情報を含まない。
[0074]いくつかの実施形態では、方法は、識別子が機会に関連付けられると決定するために、マニフェストプレゼンテーション記述への更新を再考することと、識別子がデータ構造中に記憶されていることに基づいて、機会が以前に分解されていると決定することとを更に備える。
[0075]いくつかの実施形態では、方法は、新しい機会を分解することを求める新しい要求を送ることを更に備え、新しい補足コンテンツについての情報は、新しい要求から受信され、メディアプレゼンテーション記述の更新のインスタンス中に挿入される。
[0076]いくつかの実施形態では、マニフェストプレゼンテーション記述の更新のインスタンスは、マニフェストプレゼンテーション記述のインスタンスを置換する。
[0077]いくつかの実施形態では、方法は、メモリ中にマニフェストプレゼンテーション記述のインスタンスを記憶することと、マニフェストプレゼンテーション記述のインスタンス中に補足コンテンツについての情報を挿入することと、マニフェストプレゼンテーション記述のインスタンスを置換するために、メモリ中にマニフェストプレゼンテーション記述の更新を記憶することと、マニフェストプレゼンテーション記述の更新中に補足コンテンツについての記憶された情報を挿入することとを更に備える。
[0078]いくつかの実施形態では、非一時的コンピュータ可読記憶媒体は、コンピューティングデバイスによって実行されると、コンピューティングデバイスに、メディアプレゼンテーション用のマニフェストプレゼンテーション記述を受信することと、マニフェストプレゼンテーション記述は、機会についての補足コンテンツを決定するための分解を必要とする機会を含む、機会を分解することを求める要求を送ることと、ここにおいて、要求から受信された補足コンテンツについての情報は、メディアプレゼンテーション記述のインスタンス中に挿入される、機会についての識別子に関連して補足コンテンツについての情報を記憶することと、マニフェストプレゼンテーション記述への更新を受信することと、ここにおいて、マニフェストプレゼンテーション記述への更新は、機会についての補足コンテンツを決定するための分解を必要とする機会を含む、機会についての識別子に関連して記憶された補足コンテンツについての情報を取り出し、マニフェストプレゼンテーション記述への更新のインスタンス中に補足コンテンツについての情報を挿入することとを行うように動作可能にさせるコンピュータ実行可能命令を記憶する。
[0079]いくつかの実施形態では、マニフェストプレゼンテーション記述のインスタンスを記憶することと、マニフェストプレゼンテーション記述のインスタンス中に機会中の補足コンテンツについての情報を挿入することとを行うように更に動作可能である。
[0080]いくつかの実施形態では、補足コンテンツについての情報及び識別子は、マニフェストプレゼンテーション記述への更新を受信した後も持続するデータ構造中に記憶される。
[0081]いくつかの実施形態では、機会の分解を求める要求を送ることなく、マニフェストプレゼンテーション記述の更新のインスタンス中に補足コンテンツについての情報を挿入するように更に動作可能である。
[0082]いくつかの実施形態では、メモリ中にマニフェストプレゼンテーション記述のインスタンスを記憶することと、マニフェストプレゼンテーション記述のインスタンス中に補足コンテンツについての情報を挿入することと、マニフェストプレゼンテーション記述のインスタンスを置換するために、メモリ中にマニフェストプレゼンテーション記述の更新を記憶することと、マニフェストプレゼンテーション記述の更新中に補足コンテンツについての記憶された情報を挿入することとを行うように更に動作可能である。
[0083]いくつかの実施形態では、装置は、1つ以上のコンピュータプロセッサと、コンピュータ可読記憶媒体とを備え、コンピュータ可読記憶媒体は、メディアプレゼンテーション用のマニフェストプレゼンテーション記述を受信することと、マニフェストプレゼンテーション記述は、機会についての補足コンテンツを決定するための分解を必要とする機会を含む、機会を分解することを求める要求を送ることと、ここにおいて、要求から受信された補足コンテンツについての情報は、メディアプレゼンテーション記述のインスタンス中に挿入される、機会についての識別子に関連して補足コンテンツについての情報を記憶することと、マニフェストプレゼンテーション記述への更新を受信することと、ここにおいて、マニフェストプレゼンテーション記述への更新は、機会についての補足コンテンツを決定するための分解を必要とする機会を含む、機会についての識別子に関連して記憶された補足コンテンツについての情報を取り出し、マニフェストプレゼンテーション記述への更新のインスタンス中に補足コンテンツについての情報を挿入することとを行うように動作可能になるように1つ以上のコンピュータプロセッサを制御するための命令を備える。
[0084]システム
[0085]本明細書で開示される特徴及び態様は、図12に示されるように、1つ以上の通信ネットワークを介して複数のクライアントデバイスと通信しているビデオストリーミングシステム1200と共に実装され得る。ビデオストリーミングシステム1200の態様は、単に、本開示に従って準備されたコンテンツの配布及び配信を可能にするためのアプリケーションの例を提供するために説明される。本技術は、ストリーミングビデオアプリケーションに限定されず、他のアプリケーション及び配信機構に適合され得ることが認識されるものとする。
[0086]一実施形態では、メディアプログラムプロバイダは、メディアプログラムのライブラリを含み得る。例えば、メディアプログラムは、サイト(例えば、ウェブサイト)、アプリケーション、又はブラウザを通じて集約及び提供され得る。ユーザは、メディアプログラムプロバイダのサイト又はアプリケーションにアクセスし、メディアプログラムを要求することができる。ユーザは、メディアプログラムプロバイダによって提供されるメディアプログラムのみを要求することに限定され得る。
[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)、又は他のフォーマットの未加工又は編集されたフレームベースのビデオデータを備え得る。代替では、ビデオは、非デジタルフォーマットで提供され、スキャナ及び/又はトランスコーダを使用してデジタルフォーマットに変換され得る。入力ビデオデータは、様々なタイプのビデオクリップ又はプログラム、例えば、テレビエピソード、映画、及び消費者が関心を持つ主要コンテンツとして制作された他のコンテンツを備え得る。ビデオデータはまた、オーディオを含み得るか、又はオーディオのみが使用され得る。
[0088]ビデオストリーミングシステム1200は、1つ以上のコンピュータにわたって分散された1つ以上のコンピュータサーバ又はモジュール1202、1204、及び/若しくは1207を含み得る。各サーバ1202、1204、1207は、1つ以上のデータストア1209、例えば、データベース、インデックス、ファイル、又は他のデータ構造を含み得るか、又はそれらに動作可能に結合され得る。ビデオコンテンツサーバ1202は、様々なビデオセグメントのデータストア(図示せず)にアクセスし得る。ビデオコンテンツサーバ1202は、クライアントデバイスと通信するユーザインターフェースコントローラによって指示されるようにビデオセグメントを供給し得る。本明細書で使用される場合、ビデオセグメントは、テレビエピソード、映画、記録されたライブパフォーマンス、又は他のビデオコンテンツを視聴するためにストリーミングビデオセッションにおいて使用され得るような、フレームベースのビデオデータの明確な部分を指す。
[0089]いくつかの実施形態では、ビデオ広告サーバ1204は、特定の広告主又はメッセージのための広告として構成された比較的短いビデオ(例えば、10秒、30秒、又は60秒のビデオ広告)のデータストアにアクセスし得る。広告は、ある種の支払いと引き換えに広告主のために提供され得るか、又はシステム1200のための販売促進メッセージ、公共サービスメッセージ、又は何らかの他の情報を備え得る。ビデオ広告サーバ1204は、ユーザインターフェースコントローラ(図示せず)によって指示されるようにビデオ広告セグメントを供給し得る。
[0090]ビデオストリーミングシステム1200は、ビデオコンテンツ及びビデオ広告をストリーミングビデオセグメントに統合する統合及びストリーミング構成要素1207を更に含み得る。例えば、ストリーミング構成要素1207は、コンテンツサーバ又はストリーミングメディアサーバであり得る。コントローラ(図示せず)は、任意の適切なアルゴリズム又はプロセスに基づいて、ストリーミングビデオ中の広告の選択又は構成を決定し得る。ビデオストリーミングシステム1200は、図12に図示されていない他のモジュール又はユニット、例えば、管理サーバ、商取引サーバ、ネットワークインフラストラクチャ、広告選択エンジンなどを含み得る。
[0091]ビデオストリーミングシステム1200は、データ通信ネットワーク1212に接続し得る。データ通信ネットワーク1212は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、例えば、インターネット、電話ネットワーク、ワイヤレスセルラ電気通信ネットワーク(WCS)1214、又はこれら若しくは類似のネットワークの何らかの組み合わせを備え得る。
[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は、ディスプレイスクリーン、プロジェクタ、又は他のビデオ出力デバイスを使用してメディアプレーヤ中のストリーミングビデオセグメントからビデオコンテンツを出力し、ビデオコンテンツと対話するためのユーザ入力を受信し得る。
[0093]オーディオビデオデータの配布は、様々な方法、例えばストリーミングを使用して、コンピュータネットワーク、電気通信ネットワーク、及びそのようなネットワークの組み合わせを通して、ストリーミング構成要素1207から遠隔クライアントデバイスに実施され得る。ストリーミングでは、コンテンツサーバは、クライアントデバイス上で少なくとも部分的に動作するメディアプレーヤ構成要素にオーディオビデオデータを連続的にストリーミングし、メディアプレーヤ構成要素は、サーバからストリーミングデータを受信すると同時にオーディオビデオデータを再生し得る。ストリーミングが議論されたが、他の配信方法が使用され得る。メディアプレーヤ構成要素は、コンテンツプロバイダからデータの最初の部分を受信した直後にビデオデータの再生を開始し得る。従来のストリーミング技法は、1組のエンドユーザにデータのストリームを配信する単一のプロバイダを使用する。多数の視聴者に単一のストリームを配信するために、高い帯域幅及び処理能力が必要とされ得、エンドユーザの数が増加するにつれて、プロバイダの必要とされる帯域幅が増加し得る。
[0094]ストリーミングメディアは、オンデマンド又はライブで配信され得る。ストリーミングは、ファイル内の任意の一点における即時再生を可能にする。エンドユーザは、再生を開始するためにメディアファイルをスキップし得るか、又はメディアファイル中の任意の一点に再生を変更し得る。故に、エンドユーザは、ファイルが徐々にダウンロードされるのを待つ必要がない。典型的には、ストリーミングメディアは、高帯域幅能力を有する少数の専用サーバから、ビデオファイルを求める要求を受け入れ、それらのファイルのフォーマット、帯域幅、及び構造についての情報と共に、ビデオを再生するのに必要なデータ量だけを、それを再生するのに必要とされる速度で配信する専用デバイスを介して配信される。ストリーミングメディアサーバはまた、宛先クライアント上のメディアプレーヤの送信帯域幅及び能力を考慮し得る。ストリーミング構成要素1207は、制御メッセージ及びデータメッセージを使用してクライアントデバイス1220と通信して、ビデオが再生されるにつれて変化するネットワーク状態に適応し得る。これらの制御メッセージは、早送り、早戻し、一時停止、又はクライアントにおけるファイルの特定の部分へのシークなどの制御機能を有効にするためのコマンドを含むことができる。
[0095]ストリーミング構成要素1207は、必要に応じて、及び必要とされる速度でのみビデオデータを送信するので、供給されるストリームの数に対する精密な制御が維持されることができる。視聴者は、より低いデータレートの伝送媒体を通して高いデータレートのビデオを視聴することができないであろう。しかしながら、ストリーミングメディアサーバは、(1)ユーザにビデオファイルへのランダムアクセスを提供し、(2)誰が何のビデオプログラムを視聴しているか、及びどれだけ長くそれらが見られているかを監視することを可能にし、(3)視聴体験をサポートするのに必要とされるデータ量だけが送信されるので、送信帯域幅をより効率的に使用し、(4)ビデオファイルは、視聴者のコンピュータ中に記憶されず、メディアプレーヤによって破棄され、このことから、コンテンツに対するより多くの制御を可能にする。
[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上でビデオを配信する。これは、メディアプレーヤがビットレートとコンテンツソースとの両方をセグメント毎に切り替えることを可能にする。切り替えは、ネットワーク帯域幅の変動を、また、ビデオの再生中に発生し得るインフラストラクチャの故障を補償するのに役立つ。
[0097]ストリーミングによるビデオコンテンツの配信は、様々なモデルの下で達成され得る。1つのモデルでは、ユーザは、ビデオプログラムの視聴に対して支払い、例えば、メディアプログラムのライブラリ若しくは制限されたメディアプログラムの一部分へのアクセスに対する料金を支払うか、又はペイパービューサービスを使用する。テレビ放送によってその開始直後に広く採用されている別のモデルでは、スポンサーは、プログラムの提示中又は提示に隣接して広告を提示する権利と引き換えに、メディアプログラムの提示に対して支払う。いくつかのモデルでは、広告は、ビデオプログラム中に所定の時間に挿入され、その時間は、「広告スロット」又は「広告ブレイク」と呼ばれ得る。ストリーミングビデオを用いて、メディアプレーヤは、クライアントデバイスが、指定された広告スロット中に所定の広告も再生せずにビデオを再生することができないように構成され得る。
[0098]図13を参照すると、ビデオコンテンツ及び広告を視聴するための装置1300の線図が例示されている。選択された実施形態では、装置1300は、プロセッサメモリ1304に動作可能に結合されたプロセッサ(CPU)1302を含み得、プロセッサメモリ1304は、プロセッサ1302による実行のためにバイナリコーディングされた機能モジュールを保持する。そのような機能モジュールは、入力/出力及びメモリアクセスなどのシステム機能を処理するためのオペレーティングシステム1306と、ウェブページを表示するためのブラウザ1308と、ビデオを再生するためのメディアプレーヤ1310とを含み得る。メモリ1304は、図13に示されていない追加のモジュール、例えば、本明細書の他の場所で説明される他の動作を実行するためのモジュールを保持し得る。
[0099]バス1314又は他の通信構成要素は、装置1300内の情報の通信をサポートし得る。プロセッサ1302は、特定のタスクを定義する機械可読ソフトウェアコードを実行することによって、本明細書で開示される特徴及び態様に従って特定のタスクを実行するように構成された又は動作可能な特化又は専用マイクロプロセッサであり得る。プロセッサメモリ1304(例えば、ランダムアクセスメモリ(RAM)又は他の動的記憶デバイス)は、バス1314に接続され得るか、又はプロセッサ1302に直接接続され得、プロセッサ1302によって実行される情報及び命令を記憶し得る。メモリ1304はまた、そのような命令の実行中に一時変数又は他の中間情報を記憶し得る。
[00100]記憶デバイス1324中のコンピュータ可読媒体は、バス1314に接続され、プロセッサ1302のための静的情報及び命令を記憶し得、例えば、記憶デバイス(CRM)1324は、装置1300の電源がオフにされたときにモジュール1306、1308、1310、及び1312を記憶し得、装置1300の電源がオンにされたときにそこからモジュールがプロセッサメモリ1304中にロードされ得る。記憶デバイス1324は、情報、命令、又はそれらの何らかの組み合わせ、例えば、プロセッサ1302によって実行されると、装置1300を、本明細書で説明されるような方法の1つ以上の動作を実行するように構成又は動作可能にさせる命令を保持する非一時的コンピュータ可読記憶媒体を含み得る。
[00101]通信インターフェース1316もまた、バス1314に接続され得る。通信インターフェース1316は、任意選択で、ルータ/モデム1326及びワイヤード又はワイヤレス接続を介して、装置1300と1つ以上の外部デバイス、例えばストリーミングシステム1200との間の双方向データ通信を提供又はサポートし得る。代替では又は加えて、装置1300は、アンテナ1329に接続されたトランシーバ1318を含み得、それを通して、装置1300は、ワイヤレス通信システムのための基地局と、又はルータ/モデム1326とワイヤレスに通信し得る。代替では、装置1300は、ローカルエリアネットワーク、仮想プライベートネットワーク、又は他のネットワークを介してビデオストリーミングシステム1200と通信し得る。別の代替では、装置1300は、システム1200のモジュール又は構成要素として組み込まれ、バス1314を介して又は何らかの他のモダリティによって他の構成要素と通信し得る。
[00102]装置1300は、(例えば、バス1314及びグラフィックス処理ユニット1320を介して)ディスプレイユニット1328に接続され得る。ディスプレイ1328は、装置1300のオペレータに情報を表示するための任意の適切な構成を含み得る。例えば、ディスプレイ1328は、液晶ディスプレイ(LCD)、タッチスクリーンLCD(例えば、容量性ディスプレイ)、発光ダイオード(LED)ディスプレイ、プロジェクタ、又は視覚ディスプレイにおいて装置1300のユーザに情報を提示するための他のディスプレイデバイスを含み得るか又は利用し得る。
[00103]1つ以上の入力デバイス1330(例えば、英数字キーボード、マイクロフォン、キーパッド、リモコン、ゲームコントローラ、カメラ、又はカメラアレイ)は、装置1300に情報及びコマンドを通信するために、ユーザ入力ポート1322を介してバス1314に接続され得る。選択された実施形態では、入力デバイス1330は、カーソルの位置決めに対する制御を提供又はサポートし得る。ポインティングデバイスとも呼ばれるそのようなカーソル制御デバイスは、マウス、トラックボール、トラックパッド、タッチスクリーン、カーソル方向キー、又は物理的移動を受信又は追跡し、その移動をカーソル移動を示す電気信号に変換するための他のデバイスとして構成され得る。カーソル制御デバイスは、例えばタッチセンシティブスクリーンを使用して、ディスプレイユニット1328中に組み込まれ得る。カーソル制御デバイスは、プロセッサ1302に方向情報及びコマンド選択を通信し、ディスプレイ1328上のカーソル移動を制御し得る。カーソル制御デバイスは、2つ以上の自由度を有し得、例えば、デバイスが平面又は3次元空間中のカーソル位置を指定することを可能にし得る。
[00104]いくつかの実施形態は、命令実行システム、装置、システム、若しくは機械によって、又はそれらに関連して使用するための非一時的コンピュータ可読記憶媒体において実装され得る。コンピュータ可読記憶媒体は、いくつかの実施形態によって説明される方法を実行するようにコンピュータシステムを制御するための命令を包含する。コンピュータシステムは、1つ以上のコンピューティングデバイスを含み得る。命令は、1つ以上のコンピュータプロセッサによって実行されると、いくつかの実施形態において説明されるものを実行するように構成され得るか、又は動作可能であり得る。
[00105]本明細書の説明において、及び以下の特許請求の範囲全体を通して使用される場合、「a」、「an」、及び「the」は、文脈が明確に別段の指示をしない限り、複数の言及を含む。また、本明細書の説明において、及び以下の特許請求の範囲全体を通して使用される場合、「in」の意味は、文脈が明確に別段の指示をしない限り、「in」及び「on」を含む。
[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つ以上のコンピュータプロセッサを制御するための命令を備える、装置。

Claims (20)

  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つ以上のコンピュータプロセッサを制御するための命令を備える、装置。
JP2022548470A 2020-02-28 2021-03-01 遠隔要素分解のクライアントベースの記憶装置 Active JP7443544B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062983358P 2020-02-28 2020-02-28
US62/983,358 2020-02-28
PCT/US2021/020340 WO2021174214A1 (en) 2020-02-28 2021-03-01 Client based storage of remote element resolutions

Publications (2)

Publication Number Publication Date
JP2023517484A JP2023517484A (ja) 2023-04-26
JP7443544B2 true JP7443544B2 (ja) 2024-03-05

Family

ID=77464275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022548470A Active JP7443544B2 (ja) 2020-02-28 2021-03-01 遠隔要素分解のクライアントベースの記憶装置

Country Status (7)

Country Link
US (1) US11765421B2 (ja)
EP (1) EP4111698A4 (ja)
JP (1) JP7443544B2 (ja)
KR (1) KR20220133938A (ja)
CN (1) CN115136609B (ja)
BR (1) BR112022016916A2 (ja)
WO (1) WO2021174214A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021174214A1 (en) 2020-02-28 2021-09-02 Hulu, LLC Client based storage of remote element resolutions
BR112022016162A2 (pt) 2020-02-28 2022-10-04 Hulu Llc Identificação de elementos em um grupo para substituição dinâmica de elementos
US11356516B1 (en) * 2021-07-23 2022-06-07 Amazon Technologies, Inc. Client-side caching of media content

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016522621A (ja) 2013-07-15 2016-07-28 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ダイナミックアダプティブストリーミング・オーバー・ハイパーテキストトランスファープロトコルにおけるリモート要素のジャストインタイムデリファレンス
US20170359628A1 (en) 2016-06-10 2017-12-14 Arris Enterprises Llc Manifest Customization in Adaptive Bitrate Streaming
US20180332330A1 (en) 2007-07-11 2018-11-15 Rovi Guides, Inc. Systems and methods for mirroring and transcoding media content
US20190313150A1 (en) 2018-04-09 2019-10-10 Hulu, LLC Differential Media Presentation Descriptions For Video Streaming
JP2023501242A (ja) 2020-04-07 2023-01-18 テンセント・アメリカ・エルエルシー データ操作のためのパッチ可能なリモート要素方法、装置、およびコンピュータプログラム

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050289588A1 (en) 2004-06-25 2005-12-29 Kinnear D S System and method for targeting video advertisements
US9456015B2 (en) * 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
KR101754414B1 (ko) * 2010-09-06 2017-07-07 한국전자통신연구원 스트리밍 컨텐츠 제공 장치 및 방법
KR101803965B1 (ko) 2010-09-16 2017-12-01 삼성전자주식회사 Http 스트리밍 서비스를 제공하는 방법 및 장치
US9049494B2 (en) * 2011-01-31 2015-06-02 Cbs Interactive, Inc. Media playback control
US20120198492A1 (en) * 2011-01-31 2012-08-02 Cbs Interactive, Inc. Stitching Advertisements Into A Manifest File For Streaming Video
US9491397B2 (en) 2011-03-21 2016-11-08 Verizon New Jersey Inc. Trick play advertising
EP2798854B1 (en) * 2011-12-29 2019-08-07 Koninklijke KPN N.V. Controlled streaming of segmented content
EP2868097A4 (en) * 2012-06-28 2016-03-23 Ericsson Ab METHOD AND SYSTEM FOR ADVERTISING INSERTION IN OTT (OVER THE TOP) DISTRIBUTION OF LIVE MULTIMEDIA CONTENT
US8495675B1 (en) * 2012-07-30 2013-07-23 Mdialog Corporation Method and system for dynamically inserting content into streaming media
US9071853B2 (en) 2012-08-31 2015-06-30 Google Technology Holdings LLC Broadcast content to HTTP client conversion
US8799943B1 (en) * 2013-05-02 2014-08-05 This Technology, Llc Method and system for efficient manifest manipulation
US9124947B2 (en) 2013-09-04 2015-09-01 Arris Enterprises, Inc. Averting ad skipping in adaptive bit rate systems
US9258747B2 (en) 2013-09-17 2016-02-09 Intel IP Corporation User equipment and methods for fast handover failure recovery in 3GPP LTE network
US9491522B1 (en) 2013-12-31 2016-11-08 Google Inc. Methods, systems, and media for presenting supplemental content relating to media content on a content interface based on state information that indicates a subsequent visit to the content interface
US11477262B2 (en) 2014-02-13 2022-10-18 Koninklijke Kpn N.V. Requesting multiple chunks from a network node on the basis of a single request message
US10902474B2 (en) * 2014-03-24 2021-01-26 Qualcomm Incorporated Targeted advertisement insertion for streaming media data
US9661050B2 (en) 2015-04-03 2017-05-23 Cox Communications, Inc. Systems and methods for segmentation of content playlist and dynamic content insertion
US20170310752A1 (en) * 2016-04-21 2017-10-26 Samsung Electronics Company, Ltd. Utilizing a Content Delivery Network as a Notification System
US11038938B2 (en) 2016-04-25 2021-06-15 Time Warner Cable Enterprises Llc Methods and apparatus for providing alternative content
US10785508B2 (en) * 2016-05-10 2020-09-22 Google Llc System for measuring video playback events using a server generated manifest/playlist
US10063612B2 (en) * 2016-09-30 2018-08-28 Amazon Technologies, Inc. Request-based encoding for streaming content portions
US10123061B2 (en) * 2016-11-29 2018-11-06 The Directv Group, Inc. Creating a manifest file at a time of creating recorded content
US10965967B2 (en) 2016-12-31 2021-03-30 Turner Broadcasting System, Inc. Publishing a disparate per-client live media output stream based on dynamic insertion of targeted non-programming content and customized programming content
US10911512B2 (en) * 2017-09-05 2021-02-02 Amazon Technologies, Inc. Personalized content streams using aligned encoded content segments
US20190238950A1 (en) 2018-01-31 2019-08-01 Qualcomm Incorporated Dynamic conditional advertisement insertion
US20210144422A1 (en) 2019-11-07 2021-05-13 Comcast Cable Communications, Llc Device Synchronization For Audiovisual Content
BR112022016162A2 (pt) 2020-02-28 2022-10-04 Hulu Llc Identificação de elementos em um grupo para substituição dinâmica de elementos
WO2021174214A1 (en) 2020-02-28 2021-09-02 Hulu, LLC Client based storage of remote element resolutions

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180332330A1 (en) 2007-07-11 2018-11-15 Rovi Guides, Inc. Systems and methods for mirroring and transcoding media content
JP2016522621A (ja) 2013-07-15 2016-07-28 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ダイナミックアダプティブストリーミング・オーバー・ハイパーテキストトランスファープロトコルにおけるリモート要素のジャストインタイムデリファレンス
US20170359628A1 (en) 2016-06-10 2017-12-14 Arris Enterprises Llc Manifest Customization in Adaptive Bitrate Streaming
US20190313150A1 (en) 2018-04-09 2019-10-10 Hulu, LLC Differential Media Presentation Descriptions For Video Streaming
JP2023501242A (ja) 2020-04-07 2023-01-18 テンセント・アメリカ・エルエルシー データ操作のためのパッチ可能なリモート要素方法、装置、およびコンピュータプログラム

Also Published As

Publication number Publication date
US11765421B2 (en) 2023-09-19
KR20220133938A (ko) 2022-10-05
CN115136609B (zh) 2024-03-12
WO2021174214A1 (en) 2021-09-02
US20210274241A1 (en) 2021-09-02
EP4111698A4 (en) 2024-03-13
BR112022016916A2 (pt) 2022-10-25
CN115136609A (zh) 2022-09-30
JP2023517484A (ja) 2023-04-26
EP4111698A1 (en) 2023-01-04

Similar Documents

Publication Publication Date Title
US11477521B2 (en) Media presentation description patches for video streaming
JP7443544B2 (ja) 遠隔要素分解のクライアントベースの記憶装置
US9491499B2 (en) Dynamic stitching module and protocol for personalized and targeted content streaming
US20230254532A1 (en) Identification of elements in a group for dynamic element replacement
JP7354411B2 (ja) ビデオプレイバックにおける予測ベースドロップフレームハンドリング論理
WO2021143360A1 (zh) 资源传输方法及计算机设备
US10469860B1 (en) Chunk parallel transcoding using overlapping frames
US11392643B2 (en) Validation of documents against specifications for delivery of creatives on a video delivery system
CA3083788C (en) Live programming event query generation for recording and notification in a video delivery system
US11496803B2 (en) Video stream switching service
US11792486B2 (en) Interface generation using collection pools
US11811838B1 (en) Generation of unique presentation of media content
US20240121459A1 (en) Unique playlist creation using variable substitution in video delivery

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220909

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20230106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231005

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240123

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240221

R150 Certificate of patent or registration of utility model

Ref document number: 7443544

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150