JP2015198452A - ビデオストリーミングの方法、対応するデバイスおよびシステム - Google Patents

ビデオストリーミングの方法、対応するデバイスおよびシステム Download PDF

Info

Publication number
JP2015198452A
JP2015198452A JP2015054955A JP2015054955A JP2015198452A JP 2015198452 A JP2015198452 A JP 2015198452A JP 2015054955 A JP2015054955 A JP 2015054955A JP 2015054955 A JP2015054955 A JP 2015054955A JP 2015198452 A JP2015198452 A JP 2015198452A
Authority
JP
Japan
Prior art keywords
video
chunk
video chunk
resource locator
request
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.)
Ceased
Application number
JP2015054955A
Other languages
English (en)
Other versions
JP2015198452A5 (ja
Inventor
シュトラウブ ギレス
Straub Gilles
シュトラウブ ギレス
ル スクアルネック ニコラス
Le Scouarnec Nicolas
ル スクアルネック ニコラス
ノイマン クリストフ
Christoph Neumann
ノイマン クリストフ
オンノ ステファン
Onno Stephane
オンノ ステファン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2015198452A publication Critical patent/JP2015198452A/ja
Publication of JP2015198452A5 publication Critical patent/JP2015198452A5/ja
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23103Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2355Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
    • H04N21/2358Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages for generating different versions, e.g. for different recipient devices
    • 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/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/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data

Abstract

【課題】ビデオストリーミングの方法、対応するデバイスおよびシステムを提供する。【解決手段】ビデオは、チャンクでプレーヤに提供される。一部のチャンクは、それらのチャンクが特定のユーザをターゲットにするため、計算される必要がある。ターゲット設定済みチャンクのコンピューティングは、関連するキューからジョブをポップするクラウドコンピューティングインスタンスによって行われる。ターゲット設定済みチャンクは、プレーヤがトリックモードを使用するため、最初の見込みよりも早くまたは遅く要求される場合がある。ターゲット設定済みチャンクを正しい時間にプレーヤに送信するために、再生時間トラッカは定期的に、オーバーロードされたチャンクリクエストをマニフェストファイルに挿入する。オーバーロードされたリクエストは、未来に必要とされるターゲット設定済みチャンクの参照ならびにこれらのチャンクのプレイアウト見込み時間を含む。【選択図】図6

Description

本開示は、クラウドコンピューティングの分野に関し、具体的には、クラウドコンピューティングを使用するターゲットビデオ環境においてビデオチャンクを提供するための最適な計算コストを維持する分野に関する。
広告をコンテンツに挿入して消費者にブロードキャストすることが、コンテンツサービスプロバイダの財源として長い間行われてきた。双方向データ通信ネットワークを介してメディアファイルを消費者デバイスにストリーミングすることが当たり前となり、オンデマンドのビデオストリーミングがますます成功を収めている。TVoD(TVオンデマンド)またはTV再生、Time ShiftおよびVoD(ビデオオンデマンド)の技術によって、コンテンツを個々のユーザに送信することが可能である。この新しいコンテンツ消費モデルは、いわゆるターゲット広告から収益を挙げる機会を作る。ターゲット広告は、消費者のグループまたは個々の消費者をターゲットにする広告である。ターゲティングは、人口統計学的情報または消費者プロファイルに基づく。広告は、通常、リクエストされたビデオの開始時に挿入される追加的なビデオシーケンスであり、追加的な広告ビデオは、視聴の間またはリクエストされたビデオの終了時に挿入される。しかしながら、消費者は、挿入されたコマーシャル休憩(advertisement breaks)をスキップする傾向があり、これは、コンテンツプロバイダの減収を意味する。ソリューションは、挿入された広告がプレイアウトされる時にビデオトリックモードのブロッキングを行い、従って、挿入された広告をスキップ不可能にすることを含む。これは、サービスプロバイダにとっても、消費者にとっても満足のいくソリューションではない。従って、コンテンツ自体を直接変更できるようにして、コマーシャル休憩を挿入する代わりに、コンテンツビデオフレームが広告を含むように変更され、それによって、スキップ不可能なコマーシャル休憩を挿入する必要性を取り除く、代替のソリューションが開発されている。特許文献1において、主発明者であるMcAlisterは、ビデオをユーザにストリーミングする間にビデオフレームの広告映写領域がターゲット広告に置き換わることを説明している。広告は、もはやコマーシャル休憩に集中するのではなく、ビデオフレームの一部であり、従って、もはや消費者によって回避されることができない。オーバーレイング(overlaying)として周知であるこの技術は、ビデオフレーム内に広告映写領域を含むことが必要である。広告映写領域は、ビデオコンテンツを消費者にストリーミングする時に認識されて、ターゲット広告が広告映写領域に置き換わる。しかしながら、VoDサーバがコンテンツの人気およびタイムスロットに応じて大きく変動する需要に対応することは周知である。置換動作は、ストリーミング中に実施され、高い計算能力を必要とする。この動作状況において、VoDストリーミング中にターゲット広告が広告映写領域に置き換わるソリューションのスケーラビリティは、問題をはらんだままである。
従って、ビデオをユーザにストリーミングする間に、プレイアウト見込み時間に最小コストで、ターゲット広告がビデオコンテンツのビデオフレームのピクセル領域にオーバーレイされることを確保するスケーラブルな技術的解決法を提供する必要がある。
国際航海番号第WO2002/37828A2号公開パンフレット
開示される方法、デバイスおよびシステムは、背景技術の節において論じた少なくとも一部の欠点を解決する。
この目的のため、本開示は、第1の実施形態においてビデオストリーミングの方法を含む。この方法は、ビデオプレーヤデバイスから、ビデオを上記ビデオプレーヤデバイスにストリーミングするリクエストを受信するステップを含む。ビデオをストリーミングする上記リクエストに応答して、上記デバイスは、上記ビデオを再生するビデオチャンクのリソースロケータを含むビデオチャンクリストを上記ビデオプレーヤデバイスに送信する。上記ビデオチャンクリストは、第1のリソースロケータタイプのリソースロケータと第2のリソースロケータタイプのリソースロケータを含む。第1のリソースロケータタイプは、単一のビデオチャンクを参照し、第2のリソースロケータタイプは、第1のビデオチャンクを参照する第1のリソースロケータと、第2のビデオチャンクを参照する第2のリソースロケータと、第2のビデオチャンクのプレイアウト見込み遅延とを含む。この方法は、上記ビデオプレーヤデバイスから、上記ビデオチャンクリストからのビデオチャンクをストリーミングするリクエストを受信するステップをさらに含む。ビデオチャンクをストリーミングする上記リクエストに含まれるリソースロケータが第1のリソースロケータタイプであれば、上記デバイスは、単一のビデオチャンクを上記ビデオプレーヤデバイスに送信する。しかしながら、ビデオチャンクをストリーミングする上記リクエストに含まれる上記リソースロケータが第2のリソースロケータタイプであれば、このデバイスは、上記ビデオプレーヤデバイスに第1のビデオチャンクを送信し、そして第2のビデオチャンクが利用できなければ、上記デバイスは、第2のビデオチャンクを計算するリクエストを送信し、第2のビデオチャンクを計算する上記リクエストは、プレイアウト見込み遅延を含む。
ビデオストリーミングの方法の第2の実施形態によれば、第2のビデオチャンクを計算するリクエストは、ビデオチャンクのコンピューティングをスケジュールするスケジューラに送信される。スケジューラは、ビデオチャンクを計算するための複数のジョブキューを含み、複数のジョブキューのうちの各ジョブキューは、特定のカテゴリのコンピューティングインスタンスによって処理され、そして各コンピューティングインスタンスは、計算されたビデオチャンクをキャッシュメモリに格納する。スケジューラは、ビデオチャンクを計算するジョブを、関連するプレイアウト見込み遅延に従って選択された特定のカテゴリのキューに帰属させる。
ビデオストリーミングの方法の第3の実施形態によれば、計算するリクエストを受信すると、スケジューラは、第2のビデオチャンクの参照に対応するジョブが計算結果をプレイアウト見込み遅延の範囲内で返す見込みがあるかどうかを検証する。その範囲内で返す見込みがなければ、スケジューラは、第2のビデオチャンクの参照に対応するジョブのコピージョブを至急カテゴリ(category urgent)のキューに挿入する。
ビデオストリーミングの方法の第4の実施形態によれば、計算するリクエストを受信すると、スケジューラは、第2のビデオチャンクの参照に対応するジョブが計算結果をプレイアウト見込み遅延の範囲内で返す見込みがあるかどうかを検証する。その範囲内で返す見込みがなければ、スケジューラは、至急カテゴリのキュー内にある第2のビデオチャンクの参照に対応するコピージョブを移動する。
ビデオストリーミングの方法の第5の実施形態によれば、方法は、各キューをキューサイズの関数として機能させるコンピューティングインスタンスを追加または除去することをさらに含む。この第5の実施形態は、第2から第4の実施形態までのいずれとも組み合わされて、特定の有利な実施形態を提供することができる。
ビデオストリーミングの方法の第6の実施形態によれば、ジョブキューのカテゴリは、少なくともベストエフォートキュー(best effort queue)および至急キュー(urgent queue)を含む。この第6の実施形態は、第2から第5の代替の実施形態までのいずれとも組み合わされて、特定の有利な実施形態を提供することができる。
ビデオストリーミングの方法の第7の実施形態によれば、計算は、ビデオプレーヤデバイスのユーザをターゲットにするコンテンツにビデオチャンクの画像フレーム内のピクセルゾーンをオーバーレイすることを含む。この第7の実施形態は、これまでの実施形態のいずれとも組み合わされて、特定の有利な実施形態を提供することができる。
本開示はさらに、デバイスにも関連する。開示されるデバイスは、プロセッサ、トランスミッタおよびレシーバを含む。このレシーバは、ビデオプレーヤデバイスから、ビデオをビデオプレーヤデバイスにストリーミングするリクエストを受信するように構成される。上記トランスミッタは、ビデオをストリーミングする上記リクエストに応答して、ビデオプレーヤデバイスに、リクエストされたビデオのビデオチャンクのリソースロケータを含むビデオチャンクリストを送信するように構成される。上記ビデオチャンクは、第1のリソースロケータタイプのリソースロケータと第2のリソースロケータタイプのリソースロケータを含む。上記第1のリソースロケータタイプは、単一のビデオチャンクを参照する。上記第2のリソースロケータタイプは、第1のビデオチャンクを参照する第1のリソースロケータと、第2のビデオチャンクを参照する第2のリソースロケータと、第2のビデオチャンクのプレイアウト見込み遅延とを含む。上記レシーバは、上記ビデオプレーヤデバイスから、上記ビデオチャンクリストからのビデオチャンクをストリーミングするリクエストを受信するようにさらに構成される。上記プロセッサは、ビデオチャンクをストリーミングするリクエストに含まれるリソースロケータが第1のリソースロケータタイプであるかどうかを判定するように構成され、そして上記トランスミッタは、ビデオチャンクをストリーミングする上記リクエストに含まれるリソースロケータが第1のリソースロケータタイプであれば、ビデオプレーヤデバイスに単一のビデオチャンクを送信するようにさらに構成される。上記プロセッサは、ビデオチャンクをストリーミングするリクエストに含まれるリソースロケータが第2のリソースロケータタイプであるかどうかを判定するようにさらに構成される。上記トランスミッタは、ビデオチャンクをストリーミングする上記リクエストに含まれるリソースロケータが第2のリソースロケータタイプであれば、第1のビデオチャンクをビデオプレーヤデバイスに送信するようにさらに構成され、そして上記プロセッサは、第2のビデオチャンクが利用できないかどうかを判定するようにさらに構成される。上記トランスミッタは、第2のビデオチャンクが利用できなければ、第2のビデオチャンクを計算するリクエストを送信するようにさらに構成され、第2のビデオチャンクを計算するリクエストは、第2のビデオチャンクの参照およびプレイアウト見込み遅延を含む。
本開示はさらに、上記のデバイスを含むシステムも含む。システムは、ビデオチャンクのコンピューティングをコンピューティングインスタンスにスケジュールするように構成されたスケジューラと、計算されたビデオチャンクを格納するように構成されたキャッシュメモリをさらに含む。トランスミッタは、第2のビデオチャンクを計算するリクエストをスケジューラに送信するようにさらに構成される。スケジューラは、ビデオチャンクを計算するための複数のジョブキューを格納するメモリを使用し、複数のジョブキューのうちの各ジョブキューは、特定のカテゴリのコンピューティングインスタンスによって処理され、各コンピューティングインスタンスは、利用可能な計算されたビデオチャンクをキャッシュメモリに格納し、そしてスケジューラは、ビデオチャンクを計算するジョブを、関連するプレイアウト見込み遅延に従って選択された特定のカテゴリのキューに帰属させる。
システムの変形実施形態によれば、スケジューラは、計算するリクエストを受信すると、第2のビデオチャンクの参照に対応するジョブが計算結果をプレイアウト見込み遅延の範囲内で返す見込みがあるかどうかを検証し、そしてその範囲内で返す見込みがなければ、第2のビデオチャンクの参照に対応するジョブのコピージョブを至急カテゴリ(category urgent)のキューに挿入するようにさらに構成される。
システムの変形実施形態によれば、スケジューラは、計算するリクエストを受信すると、第2のビデオチャンクの参照に対応するジョブが計算結果をプレイアウト見込み遅延の範囲内で返す見込みがあるかどうかを検証し、そしてその範囲内で返す見込みがなければ、至急カテゴリのキュー内にある第2のビデオチャンクの参照に対応するコピージョブを移動するようにさらに構成される。
システムの変形実施形態によれば、スケジューラは、各ジョブキューをジョブキューサイズの関数として機能させるコンピューティングインスタンスを追加または除去するようにさらに構成される。
本開示はまた、通信ネットワークからダウンロード可能および/またはコンピュータによって読み取り可能な媒体に記録されおよび/またはプロセッサによって実施可能なコンピュータプログラム製品も含み、コンピュータプログラム製品は、第1から第7までの実施形態のいずれかによる方法のステップを実行するプログラムコード命令を含む。
本開示はまた、非一時的コンピュータ可読媒体も含み、そのコンピュータ可読媒体は、その媒体上に記録されおよび第1から第7までの実施形態のいずれかによる方法のステップを実行するプログラムコード命令を含む、プロセッサによって実行することができる、コンピュータプログラム製品を含む。
本開示の実施形態の他の特性および利点は、以下の説明および添付図面を読むと明らかになる。
ターゲットコンテンツのオーバーレイングのプロセスを示す図である。 ターゲット設定可能ビデオチャンクを判定するためのビデオの前処理を示す図である。 マニフェストファイルの生成および使用を示す図である。 Amazon AWSを使用して、ビデオチャンクの画像フレームのピクセル領域にオーバーレイとしてターゲット広告を含むビデオストリームを提供するためのクラウドコンピューティング手段の使用を示す図である。 ターゲット設定済みビデオチャンクコンピューティングの例示的なクラウドコンピューティング環境を概略的に示す図である。 本発明の実施形態による再生時間トラッカと他のモジュールとの間の相関関係を示す図である。 本発明による方法の特定の実施形態を示すフローチャートである。 本発明の方法の実施形態を実装する例示的なデバイスを示す図である。
以下の説明では、例示的実施形態を提供する。これらの実施形態は、本開示の範囲、適用性または構成を限定することを意図せず、むしろ当業者に実施形態の実装を可能にする説明を与える。本開示の範囲内にある限り例示的な好適実施形態の機能および配置においてさまざまな変更が行われてもよいことを理解されたい。
以下の説明において、用語「オーバーレイング」は、コンテンツをビデオフレームの元コンテンツにオーバーレイするアクションを表す。この結果、元々ビデオフレームに含まれていた少なくとも一部のピクセルがオーバーレイ画像のピクセルに置き換えられたビデオフレームとなる。透明度、色の設定およびコントラストなどの、フィーチャを使用して、オーバーレイ画像を元のビデオフレームコンテンツに適用することができる。
以下の説明において、ビデオコンテンツの一連の連続画像フレームは、「ビデオチャンク」と呼ばれる。ターゲット広告によりオーバーレイするためにオーバーレイ可能なピクセルゾーンを含むビデオコンテンツの一連の連続画像フレームは、「ターゲット設定可能ビデオチャンク」と呼ばれる。ターゲットコンテンツがオーバーレイされた一連の連続画像フレームは、「ターゲット設定済みビデオチャンク」と呼ばれる。ビデオコンテンツを消費者デバイスにストリーミングする間に、ビデオコンテンツは、判定されたターゲット設定可能ビデオチャンクによって特定の消費者をターゲットにする広告をオーバーレイすることによって特定のユーザに適用され、このように取得されたターゲット設定済みビデオチャンクは、ビデオコンテンツの一部として消費者にストリーミングされる。
以下の説明において、コンピューティングという用語は、ターゲット設定可能ビデオチャンクからターゲット設定済みビデオチャンクを取得するための処理動作を指定するために使用される。
以下の説明において、プレイアウト遅延という用語は、所与の時からカウントされる、例えば、所与のビデオチャンクからカウントされる遅延を指定するために使用され、その遅延の範囲内でビデオプレーヤによって別のビデオチャンクをプレイアウトする必要性が見込まれる。代替として、プレイアウト見込み「遅延」は、むしろプレイアウト見込み「時間」であり、ビデオプレーヤによって別のビデオチャンクをプレイアウトする必要性が見込まれる場合、例えば、NTP(Network Time Protocol)、複数のデバイス間で共有される共通の時間基準、などの、基準クロックの時間、または未来時の実時間(wall clock time) またはクロック基準に対応する。
原則として、クラウドコンピューティングは、潜在的に無制限なオンデマンドコンピューティングリソースを可能にするので、要求されたスケーラビリティを提供することができる。Amazon AWSによって提供されるような、クラウドコンピューティングプラットフォームでは、コンピューティングインスタンスの価格設定(pricing)は、計算速度と所与の時に計算結果を準備しておく保証とによって決まる。理想的には、ターゲット設定済みビデオチャンクのコンピューティングは、クラウドコンピューティングプラットフォームによって提供されるさまざまなタイプのコンピューティングインスタンスを介して、計算コストを最適化する方法で送られることができる。例えば、オンデマンドビデオの開始に近いターゲット設定可能ビデオチャンクの場合、比較的高いコスト、比較的高速のクラウドコンピューティングインスタンスが要求される一方、開始から20分におけるターゲット設定可能ビデオチャンクの場合、比較的低いコスト、比較的低速のクラウドコンピューティングインスタンスで十分である。しかしながら、説明されるように、いくつかの考察がこの理想的なシナリオを乱す。
(i)消費者は、彼/彼女がトリックモードを使用できるので、オンデマンドビデオを直線的なやり方で見るように強制されない。故に、消費者のトリックモードアクションにより、ビデオチャンクは、従って、プレイアウトが予想されるよりも早くまたは遅くされる必要があり得る。
(ii)クラウドコンピューティングインスタンスの価格設定は、入札によって判定されるので、安定していない。
(iii)比較的低価格のクラウドコンピューティングインスタンス(例えば、Amazon‘スポット’)は、所与の遅延の範囲内で結果を与えるように保証されていない。
(iv)標準のクラウドコンピューティングインスタンスでさえも、ジョブが完了する前に機能しなくなる可能性がある。
図1は、ストリーミングされるビデオコンテンツにオーバーレイするターゲットコンテンツの処理を示している。画像フレーム10は、変更のないビデオの元画像フレームを表す。画像フレーム11は、ターゲットコンテンツ111が、ここでは橋の欄干にオーバーレイされた、変更されたビデオ画像フレームを表す。
図2は、ターゲット設定可能ビデオチャンクを判定するためのビデオの前処理を示している。アイテム20は、ビデオシーケンスを表す。アイテム21、22および23は、ビデオの前処理中に判定される、ターゲットコンテンツをオーバーレイすることができるピクセル領域を含む、ビデオ画像フレームを表す。これらのピクセル領域を、例えば、変更に関して比較的安定している連続フレーム内のピクセルエリアの検出によって認識するための異なる技術を用いることができる。
図3は、本発明の1または複数の実施形態によるマニフェストファイルの生成および使用を示している。この例に使用されるシナリオによれば、二人の消費者33と34が存在する。これらの消費者がビデオをリクエストすると、各々は、マニフェストファイルを受信する。消費者33は、マニフェストファイル32を受信する。消費者34は、マニフェストファイル31を受信する。マニフェストファイルは、マニフェスト生成機能30によって生成される。マニフェストファイルは、リクエストされたビデオのビデオチャンクをポイントするURLを含む。マニフェストファイルは、従って、所与のビデオコンテンツのビデオチャンク部分のリストである。消費者33の場合、マニフェストファイルは、すべての消費者にとって同じである、ジェネリックビデオチャンク35をポイントするURL1と、ビデオチャンクの画像に出ている橋の欄干に対応するピクセル領域にオーバーレイされた広告を含むターゲット設定済みビデオチャンク36aをポイントするように、具体的に消費者33をターゲットにするURL3とを含む。消費者34は、URL1とURL2を含むマニフェストファイルを受信する。URL1は、消費者33のものと同じである。URL2は、消費者33および34にとって同じである、ジェネリックビデオチャンク36をポイントする。消費者の消費者デバイス(図示せず)のそれぞれにあるビデオプレーヤは、ビデオチャンクを受信して再生するために、マニフェストファイルを読み取って、被参照URLをフェッチする。
図4は、本発明の1または複数の実施形態が実装され得る、Amazon AWSを使用して、ビデオチャンクの画像フレームのピクセル領域におけるオーバーレイとしてターゲット広告を含むビデオストリームを提供するためのクラウドコンピューティング手段の使用を示している。
●「EC2」(エラスティック・コンピュート・クラウド;EC2マイクロ401,EC2スポット402,EC2ラージ407)などの、コンピューティングインスタンスは、(ターゲティング、オーバーレイング、ユーザプロファイリング、マニフェストファイル生成などの)計算タスクを実行する。EC2は、大規模な計算能力を提供し、かつ異なる種類のオペレーティングシステムおよび異なる種類の「インスタンス」コンフィギュレーションのための仮想コンピューティング環境を提供する、ウェブサービスである。典型的なインスタンスコンフィギュレーションは、「EC2標準」または「EC2マイクロ」である。「EC2マイクロ」インスタンスは、追加的な計算サイクルを定期的に要求するより低いスループットアプリケーションおよびウェブサイトによく適している。AWSでリソースを得る異なる方法がある。最初の方法は、「オンデマンド」と呼ばれ、リソースが所与の価格で利用できるようにすることを保証する。第2のモードは、「スポット」と呼ばれ、より安い価格でリソースを得ることを可能にするが、可用性の保証はない。「EC2スポット」インスタンスは、入札機構によってEC2計算能力の価格を取得することが可能である。これらのインスタンスは、時間に柔軟性のある、中断に耐性のある(interruption-tolerant)タスクの計算コストを大幅に下げることができる。価格は、同じEC2インスタンスタイプのオンデマンド価格よりも大幅に低いことが多い。
●「S3」(シンプルストレージサービス;404,405,406)などのストレージインスタンスは、ジェネリックおよびターゲット設定可能ビデオチャンクなどのデータを格納する。「S3」は、任意の量のデータをいつでも格納して読み出すために使用することができる単純なウェブサービスインタフェースを提供する。格納スペース価格は、望まれる信頼性、例えば、高い信頼性を持ち、かつ重要でない、再現可能なデータを格納する冗長格納が削減された標準ストレージによって決まる。
●「クラウドフロント(CloudFront)」(403)は、データ配信を提案する。クラウドフロントは、コンテンツ配信のウェブサービスであり、そして他のAWSサービスと統合して、低レイテンシーおよび高データ転送速度でコンテンツをエンドユーザに配布し、そしてコンテンツのストリーミングに使用することができる。
図において、要素400は、セットトップボックス、PC、タブレット、またはモバイル電話などの、ユーザデバイスを示す。リライアブルS3 404は、ジェネリックおよびターゲット設定可能ビデオチャンクの格納に使用される。リデュースド・リライアブルS3(405)は、容易に再計算することができるターゲット設定済みビデオチャンクの格納に使用される。リデュースド・リライアブルS3(405)は、ターゲット設定済みビデオチャンクをしばらくの間メモリに保存するために、キャッシュとして使用される。リライアブルS3 406は、ターゲット設定可能ビデオチャンク、広告またはオーバーレイコンテンツの格納に使用される。EC2スポットインスタンス402は、ターゲット設定済みビデオチャンクを事前計算するために使用される。EC2スポットインスタンスによるこの計算は、「バッチ」コンピューティングと呼ぶことができ、例えば、マニフェスト生成の直後にトリガされる。オンデマンドEC2ラージインスタンス(407)は、「オンザフライ」または「リアルタイム」のオーバーレイングを実現するために使用される。ターゲット設定済みビデオチャンクのコンピューティングは、以下のように行われる:ターゲット設定可能ビデオチャンクがS3リライアブル(406)から読み出され、ターゲット設定可能ビデオチャンクがデコードされ、オーバーレイコンテンツが選択され(例えば、ユーザの選好に応じて選択される、広告)、ターゲット設定可能ビデオチャンクの画像フレームのピクセル領域にオーバーレイされ、そして画像フレームが再エンコードされ、このようにしてターゲット設定済みビデオチャンクを取得する。前述したターゲット設定済みビデオチャンクの「オンザフライ」または「バッチ」コンピューティングに応じて、ターゲット設定可能ビデオチャンクのデコーディング、オーバーレイコンテンツの選択、オーバーレイングおよび再エンコーディングは、それぞれEC2スポットインスタンス(402)またはEC2ラージインスタンス(407)のいずれかにおいて行われる。もちろん、この説明された変形形態は、実現可能ないくつかのストラテジーのうちの1つにすぎない。他のストラテジーは、異なるEC2インスタンス(例えば、マイクロ、ミディアムまたはラージ)を、遅延、タスクサイズおよびコンピューティングインスタンスコストなどの、異なるパラメータに依存する「オンザフライ」または「バッチ」コンピューティングのいずれかに使用することを含み、これらのインスタンスの使用が最適化されて品質の良いサービスによるコスト効率の高いソリューションを提供するようにできる。ターゲット設定済みビデオチャンクはその後、「バッチ」コンピューティングの場合にキャッシュとして使用されるリデュースド・リライアブルS3(405)に格納されるか、または「オンザフライ」コンピューティングの場合にEC2ラージ407から直接提供されるか、およびオプションとして、リデュースド・リライアブルS3 405に格納されるいずれかである。ターゲット設定済みビデオチャンクのバッチコンピューティングは、それを行うための時間が空いていれば、計算コストの理由で好ましい。従って、ターゲット設定済みビデオチャンクのバッチコンピューティングを開始する適切な時は、マニフェストが生成される時である。しかしながら、ユーザがまだ計算されていないターゲット設定可能ビデオチャンクを早送りするのであれば、よりコストのかかる「オンザフライ」コンピューティングが要求される。
従って、ビデオ再生のタイムライン上のターゲット設定可能ビデオチャンクのロケーションに応じて、クラウドコンピューティングインスタンスは、コストを最適化するストラテジーにより選択される。ストラテジーは、マニフェストファイルが生成された直後に決定される。しかしながら、コンピューティングストラテジーは、ユーザが早送りなどの、トリックモードを使用すれば、再考されなければならない。ターゲット設定済みビデオチャンクのコンピューティングがスポットインスタンスで開始されるのであれば、ターゲット設定済みビデオチャンクが、ユーザがビデオを早送りしても間に合う時間に利用できるという保証がなくなる。その結果、ビデオチャンクのプレイアウトが予期しないイベントの場合にビデオチャンクの可用性を確保する前に、しばらくコンピューティングストラテジーを再考する必要がある。実現可能なソリューションは、VoDサーバにおいてユーザの再生時間(play-time)をトラックすることになる。しかし、これは、すべてのVoDユーザの再生時間をモニタリングすることを要求することになる。このようなソリューションは、スケーラビリティを損なうことになる。そして、一般的に、クラウドベースのソリューションは、クラウドサーバ間の負荷バランシングを軽減するためにステートレス(stateless)設計が要求される。従って、チャンクをプレイアウト見込み時間に提供できるようにするために、ビデオチャンクのコンピューティングストラテジーを十分に前もって再考することを可能にするステートレスソリューションを提供することが望ましい。本発明の実施形態は、ビデオチャンクの配信の再生時間をトラックする方法およびデバイスを提供する。
ユーザが所与のビデオをリクエストするとき、ビデオ内のターゲット設定可能ビデオチャンクが、これらのチャンクをユーザプロファイルにより特定のユーザをターゲットにするコンテンツにオーバーレイする決定が行われる。マニフェストファイルが生成されて、ユーザに送信される。キャッシュエリアにおいてもはや利用できないビデオのすべてのターゲット設定済みビデオチャンクに対し、ターゲット設定済みビデオチャンクを計算するジョブが生成されて、ジョブシーケンスにポストされる。ジョブは、「ターゲット設定済みチャンク計算リクエスト」であると見なすことができる。各ジョブは、ターゲット設定済みビデオチャンクを計算するために使用できる遅延または時間制限を指定する、プレイアウト見込み時間パラメータまたはプレイアウト見込み遅延パラメータを備える。プレイアウト見込み時間は、ターゲット設定済みビデオチャンクが、実際の再生位置および再生速度が与えられたビデオプレーヤによって必要とされるはずの見込み時間である。プレイアウト見込み時間は、ターゲット設定済みビデオチャンクをストレージ装置からビデオプレーヤに送信するための格納および送信遅延を考慮に入れるために追加的な限界遅延を含むことができる。異なるタイプのクラウドインスタンスは、計算速度および単位時間当たりのコストなどの、パラメータによって特徴付けられる。計算速度は、例えば、1は、計算継続期間がビデオチャンクのプレイアウト継続期間と等しいことを意味し、2は、計算継続期間がプレイアウト継続期間の2倍であることを意味するなど、リアルタイムのビデオのプレイアウト速度の比率として表すことができる。もちろん、これは、インスタンスの特性、例えば、AWS EC2、ECU(EC2 Compute Units)の数によって異なる。異なるジョブシーケンスは、計算速度および信頼性に関してクラウドコンピューティングインスタンスの異なる特性により定義される。
図5は、ターゲット設定済みビデオチャンクコンピューティングの例示的なクラウドコンピューティング環境を概略的に示している。図示されているのは、スケジューラ50、ジョブシーケンス51、インスタンスプール52、スケーラ(scaler)53、およびキャッシュ54である。キュー内のジョブは、ターゲット設定済みビデオチャンクのビデオチャンク識別子およびビデオチャンクのプレイアウト見込み時間に関係する関連情報を含む。スケジューラは、ターゲット設定済みビデオチャンクを計算するリクエストを受信して、ジョブを生成する。スケジューラは、プレイアウト見込み時間によりどのキューにジョブが配置されるかを決定する。インスタンスプールは、キューからのジョブを、例えば、FIFO順序(先入れ、先出し)でフィードされる。キュー内のジョブのターゲット設定済みビデオチャンクが既にキャッシュ内に存在していれば(即ち、ターゲット設定済みビデオチャンクは、「アベイラブル」であると言える)、ジョブは、キューから除去されて、次のジョブがフェッチされる。まだキャッシュ内に存在してなければ、ジョブが開始される。ビデオチャンクが計算されると、それらのチャンクは、キャッシュに格納される(即ち、ターゲット設定済みビデオチャンクである、計算結果がメモリエリアに格納される。キャッシュは、メモリエリアの例であり、メモリエリアの他の例は、データベース、揮発性または不揮発性メモリ、外部または内部ストレージ装置である)。計算されたビデオチャンクは、消費者デバイス(図示せず)上でキャッシュからビデオプレーヤに配信される。図5の例示的実施形態において、4つのタイプのキュー:「ベストエフォート」キューQ1と、至急のジョブ用の「至急」キューQ2と、「通常の」ジョブ用の「通常」キューと、「オプションの」ジョブ用の「オプショナル」キューQ4とが示されている。各特定のキュー内のジョブは、特定のインスタンスプール:「ベストエフォート」キューQ1用の「スポットXラージ」インスタンスプールと、「至急」キューQ2用の「Xラージ」インスタンスプールと、「通常」キューQ3用の「Xラージ」インスタンスプールと、「オプショナル」キューQ4用の「スポットマイクロ」インスタンスプールとに帰属される。スケーラ53は、キューQ1およびQ3のジョブフローにより「スポットXラージ」および「Xラージ」インスタンスプールからインスタンスを追加または除去する。特定のキューを提供する所与のプールの特定のインスタンスを開始/停止するためのいくつかのスケーリングストラテジーがあり得る。所与のキューに対する固有のスケーリングストラテジーがある。スケーリングストラテジーは、いつ新しいインスタンスをインスタンスプールから開始すべきかを、例えば、キュー内に存在するジョブの数を判定することによって、またはインスタンスプール内の現在のインスタンスのステータスを判定することによって決定する。スケーリングストラテジーはさらに、いつ所与のインスタンスが停止されて、そしていつインスタンスプールから除去されるかも決定する。所与のキューの場合、2つの極端な場合がある:
(i)ストラテジーがコストを最適化することであれば、ストラテジーは、インスタンスをアイドルステートにするのを回避するように試みる(即ち、ターゲット設定済みビデオチャンクのコンピューティングに使用されないようにする)。インスタンスが1時間毎にチャージされると仮定すると、ストラテジーは、新しいインスタンスを開始する前にキューが比較的一杯になるまで待機することになる。その極端な場合において、ビデオチャンクを計算するレイテンシーは、比較的高くなる。
(ii)他方の極端な場合において、ストラテジーはレイテンシーを最小化することであり、ストラテジーは、できるだけ最小のキューを有するように試み、一部のインスタンスがある時点においてチャンクを計算しない場合があるというリスクを負う(キューが空である場合。即ち、これらのインスタンスは、「アイドルステート」と言える)。
インスタンスの開始および停止は、キュー内のジョブの数、現在実行しているインスタンスの数およびそれらのタイプを観察して行われる。キューは、従って、キューを提供するインスタンスプールおよびキューのスケーリングストラテジーの特性によって定義される。スポットインスタンスは、インスタンスが許可されるという保証がないという点で他のインスタンスとは異なる。しかしながら、許可されるのであれば、その価格は、他のタイプのインスタンスと比較して比較的低くなる。スポットインスタンスは、いつでも、許可された後でさえもシャットダウンされ、1時間以内にシャットダウンされるのであれば、インスタンスは、チャージされない。スケジューラ50は、ターゲット設定済みビデオチャンクのリクエスト(即ち、「ジョブ」)を受信し、そして各リクエストに対し、スケジューラは、ビデオチャンクの識別子およびプレイアウト前の時間を受信する。スケジューラは、プレイアウト見込み時間によりジョブを正しいキューに帰属させる。プレイアウト見込み時間が閾値を上回れば、ジョブは、ベストエフォートキューQ1にポストされる。インスタンスプール52からのインスタンスは、それらのインスタンスが帰属するキューからジョブをフェッチして、それらのジョブを実行する。しかしながら、スポットインスタンスがいつでも強制終了され得るので、可能であればインスタンスはジョブの結果をコミットする時間の前に、未処理のジョブを識別して必要に応じてそれらのジョブを再生成する機構が必要である。ジョブのプレイアウト見込み時間が閾値を下回れば、スケジューラは、プレイアウトの前の時間に応じて再度、通常キューQ3または至急キューに帰属させる。最も単純な形式の変形実施形態によれば、1つを「低速」ジョブに、1つを「高速」ジョブに向けた、2つのみのキューがある。より一般的な事例の場合、2以上の任意の数のキューがサポートされる。変形実施形態によれば、ジョブが、例えば、プレイアウト見込み時間で順序付けされる、優先キューが定義される。スケーラの役割は、プール内のインスタンスを開始および停止することによってキューの長さを閾値以下に保つことである。キューが大きく拡大中の場合、スケーラは、インスタンスを追加する。キューが小さく縮小中の場合、インスタンスは、停止される。スケーラは、至急キューQ2のジョブを処理するのに十分な使用されていない(free)高速インスタンスがあることを確保する。プレイアウト期限の前に処理されることができない任意のビデオチャンクは、単純にドロップすることができ、結果としてその場合、どのターゲット設定済みビデオチャンクも提供されない。
図6は、本発明の実施形態による再生時間トラッカと他のモジュールとの間の相関関係を示している。図面は、VoDカタログウェブサーバ60、スケジューラ50、キャッシュ53、ビデオプレーヤ61、再生時間トラッカ62、ビデオサーバ63、ビデオファイルストレージ64を示している。
一旦スケジューラ50がジョブを適切なキューにポストすると、ジョブのポスティングと、関係するターゲット設定済みビデオチャンクが必要になる時との間にある数のイベントが発生し得る:
●キュー内のジョブがスポットインスタンスによって提供される場合、インスタンスがチャンクを計算するプレイアウト見込み時間に割り振られる保証はなく、
●ジョブを現在実施している(即ち、チャンクを計算している)インスタンスは、タスクの完了前に失敗し、どのビデオチャンクも計算されない場合があり、
●ユーザがトリックモードを実施する場合、プレイアウト見込み時間が変化することがあり、その結果、もはやジョブキューの帰属が適切でなくなる。
その結果、スケジューラによって行われる異なるキューにおけるジョブの配置の決定は、リクエストされたターゲット設定済みビデオチャンクが正しい時間に利用可能であり、かつ可能な限り最低のコストで計算される可能性を最大限にするために、定期的に再考される。ステートレスソリューションを用いてこの目的を達成するために、パラメータは、再生時間トラッキングを可能にするビデオチャンクのURLに挿入される。例えば、ビデオプレーヤに送信されるマニフェストファイルにおいて、10または20ビデオチャンク毎にビデオチャンクのURLは、間もなくリクエストされることが見込まれるビデオチャンクの識別子などの、追加的な情報により、およびプレイアウト時間または遅延時間により「オーバーロード」される。例示的なマニフェストファイルは、このように見える:
#manifest file for video ゛m″
http://server/m/chunk0.ts
http://server/m/chunk1.ts
http://server/m/chunk2.ts
http://pttracker/?chunk=m/chunk6.ts&duein=20&dest=http://server/m/chunk3.ts
http://server/m/chunk4.ts
http://server/m/chunk5.ts
http://server/m/chunk6.ts
以下のアクションは、図中の機能的コンポーネント間の矢印に適用する
1a:消費者は、VoDカタログのコンテンツを探索する
1b:ビデオプレーヤ61は、選択されたコンテンツのURLを取得する
1c:消費者は、再生を押す
2a:ビデオプレーヤ61は、ビデオサーバ63からのコンテンツをリクエストする
2c:ビデオサーバ63は、スケジューラ50に、リクエストされたコンテンツのターゲット設定済みビデオチャンクを提供するようにリクエストする
3a:ビデオプレーヤ61は、マニフェストファイルからのURLをリクエストする
3b:再生時間トラッカ62は、キャッシュ53内のビデオチャンク6の可用性を検証する
3c:再生時間トラッカ62は、ビデオチャンク6がキャッシュ53内にないと、スケジューラ50に、ビデオチャンク6の至急ジョブを起動するようにリクエストする
3d:再生時間トラッカ62は、ビデオチャンク3のリクエストをビデオサーバ63にフォワードする
3e:ビデオサーバ63は、ビデオチャンクをキャッシュ53からフェッチする
3f:ビデオサーバ63は、ビデオチャンクをビデオファイルストレージ64からフェッチする
3g:ビデオサーバ63は、ビデオチャンク3をビデオプレーヤ61に提供する
ビデオプレーヤ61を操作する消費者は、VoDカタログウェブサーバ60(アクション1a)からビデオコンテンツを選択する。一旦消費者がビデオ(例えば、ビデオ「m」)を選択すると、ビデオプレーヤは、コンテンツのURLを取得して(アクション1b)、消費者は、取得されたURLを使用する再生コマンドを発行する(アクション1c)ことによってビデオの再生を開始する。再生コマンドは、ビデオサーバ63に送信される(アクション2a)。それに応答して、ビデオサーバは、マニフェストファイルまたはビデオチャンクリスト(例えば、上記のビデオチャンクリスト)をビデオプレーヤに送信する(アクション2b)。ビデオプレーヤ61は、ビデオが再生される時のマニフェストファイルのエントリに対応する、http取得リクエスト(http get requests)を送信する(アクション3a)。オーバーロードされていないURLのリクエスト(例えば、ビデオチャンク0、1、2、4、5、6の)は、ビデオサーバにフォワードされる(アクション3d)。このように、オーバーロードされたビデオチャンクのリクエストは最初に、(例えば、ビデオチャンク3について)再生時間トラッカに送られ(アクション3a)、再生時間トラッカは、再生時間情報を抽出し、そしてリクエストはその後、ビデオサーバにフォワードされる(アクション3d)。リクエストされたすべてのビデオチャンクは、ビデオサーバによって、キャッシュ内にあれば、キャッシュから提供され(アクション3e)、またはキャッシュ内になければ、ビデオファイルストレージから提供され(アクション3f)、そしてビデオチャンクをビデオプレーヤに送信する(アクション3g)。再生時間トラッカによって抽出された(例えば、ビデオチャンク3に関する)再生時間情報は、時間値およびビデオチャンク識別子(この場合はビデオチャンク6を識別する)で構成される。時間値は、プレーヤが、組み込まれたビデオチャンク識別子によって識別されたビデオチャンクをリクエストする前の残り時間を示す。再生時間トラッカは、ターゲット設定済みビデオチャンクがキャッシュ53内に存在するかどうかを確認する(アクション3b)。ビデオチャンクがキャッシュ内にあれば、アクションは行われない。ビデオチャンクがキャッシュ内になければ、再生時間トラッカは、至急ターゲット設定済みビデオチャンクを計算するリクエストをスケジューラに転送する(アクション3c)。スケジューラに送信されたリクエストは、ビデオチャンク識別子(例えば、ビデオチャンクのURL)および上述した時間値を含む。再生時間トラッカからのリクエストを受信すると、スケジューラは、プレイアウト見込み時間(例えば、ビデオチャンク6では20秒)に基づいて、どうすべきかを決定する:至急リクエストされたビデオチャンクを計算するジョブが信頼性のあるインスタンスによって処理されて、ジョブがプレイアウト見込み時間内に終わる見込みであれば、またはビデオチャンクを計算するジョブが至急キューQ2内またはオプショナルキューQ4内にあれば、アクションは必要ない。ビデオチャンクを計算するジョブがベストエフォートキューQ1内または通常キューQ3内にあれば、ジョブを至急キューQ4に移動することが必要な可能性がある。このように、プレイアウト見込み時間に応じて、スケジューラは、ジョブにおけるキューの帰属を変更できる。好適実施形態によれば、スケジューラは、ジョブのキューの帰属を変更しないが、スケジューラが至急キューにポストするコピージョブを作成し、そしてキューからのジョブの実行をインスタンス上で開始する前に、対応するインスタンスは、関係するターゲット設定済みビデオチャンクが既にキャッシュ内にあるかどうかを検証する。既にキャッシュ内にあれば、ジョブを実行する必要がなく、ジョブは、キューから除去されて、インスタンスは、キューから次のジョブをフェッチする。この好適な実施形態は、ジョブが、キューの管理を簡易にするインスタンスによって処理されるためにフェッチされる時以外の時においてジョブをキューから除去することを要求しないという利点を有する。変形実施形態によれば、スケジューラは、キュー内のジョブがジョブに関連するプレイアウト見込み時間内に終わる見込みかどうかを定期的に検証し、そして例えば、必要に応じて、コピージョブを至急キューにポストすることによって、ジョブが時間内に終わる確率を改善するアクションを自動的に行う。スケジューラはまた、インスタンスによって実施されるジョブが遅すぎてプレイアウト見込み時間内に終わる見込みがない展開になるかどうかを検証することもでき、そしてその後、コピージョブを作成して、コピージョブを至急キューにポストする。再生時間トラッカからのリクエストが受信されると、リクエストによって指定されたビデオチャンクに対し、ジョブがプレイアウト見込み時間内に終わる見込みかどうかの追加的な検証が行われる。
代替の実施形態によれば、マニフェストファイルのURLが署名されて、改善されたセキュリティを提供する。
代替の実施形態によれば、2つのキューが使用され、第1のキューは、スポットインスタンスのプールによって提供され、第2のキューは、非常時にビデオチャンクを計算するオンデマンドインスタンスによって提供される。第1のキューは、プレイアウトの前に計算結果が所定の時間期間(例えば、20秒)になるように構成される。第2のキューは、計算結果が所定の時間期間以下(例えば、20秒、10秒、5秒)になるように構成される。
代替の実施形態によれば、URLは、ビデオチャンクの典型的な継続期間が10秒であれば、定期的に、例えば、6ビデオチャンク毎にマニフェストファイルにオーバーロードされる。URLをオーバーロードする頻度は、ある種の妥協である:頻度が高すぎれば、再生時間トラッカは、(例えば、読み込みをサポートするためにいくつかのEC2インスタンスにおいて実行する)かなりのCPU時間を要求する。頻度が低すぎると、トリックモードアクションを見逃すリスクが生じ、結果として見逃されたターゲット設定済みビデオチャンクの頻度が高くなる。結局のところ、再生時間トラッカのCPU負荷は、計算コストを意味する。いくつかの変形形態が実行可能である。
(i)計算コストと、マニフェストファイルのURLをn個のURL毎にオーバーロードする、応答性との間の妥協である、固定されたURLオーバーローディング頻度が使用される。値nは、平均のビデオチャンク継続期間によって異なる。
(ii)URLオーバーローディングは、ターゲット設定済みビデオチャンクが、所定のプレイアウト時間またはプレイアウト遅延範囲内で、例えば、100秒または200秒範囲内で必要とされる見込みの場合のみに行われる。
(iii)(ii)の通りであるが、マニフェストファイル内のいくつかのURLに対して行われる。
(iv)URLオーバーローディングは、オーバーロードされた同じURLのいくつかのターゲット設定済みビデオチャンクに対して行われ、そしてオーバーロードされたURLによってターゲット設定済みビデオチャンク毎の時間値を指定する。
上述した変形形態を組み合わせて、特定の有利な変形実施形態を形成することができる。
さらなる実施形態によれば、URLオーバーローディングの周期性は、例えば、マニフェストファイルの行先であるビデオプレーヤによって選択される再生速度に応じて適用される。例えば、選択された再生速度が早送り16xであれば、URLオーバーローディングの周期性は、再生速度が通常の再生(1x)速度である場合の周期性の16倍以上の頻度である。それは、ターゲット設定可能ビデオチャンクを、表示時間が短縮されたために通常の再生速度よりも速く表示されるコンテンツに提供するため、リソースの浪費と見なされる場合もあるが、この変形形態は、有利には、ビデオプレーヤが通常の再生速度にスイッチバックされると、ターゲット設定済みビデオチャンクを提供するように準備することを可能にする。この図面において、デバイス間の接続は、論理接続として示されているが、すべてのデバイスが、示されている論理接続が行われ得る、図8のネットワーク805などの、1または複数のネットワークに接続することができることを当業者には容易に理解されよう。
図7は、本発明の特定の実施形態によるフローチャートである。ステップ70において、方法に使用される変数およびパラメータが初期化される。ステップ71において、ビデオをストリーミングするストリーミングリクエストは、ビデオプレーヤから受信される。ステップ72において、リクエストされたビデオのビデオチャンクのリソースロケータを含む、ビデオチャンクリストは、ビデオプレーヤに送信される。ステップ73において、ビデオチャンクリストからのビデオチャンクをストリーミングするリクエストは、ビデオプレーヤから受信される。ステップ74において、ビデオチャンクをストリーミングする当該リクエストに含まれるリソースロケータが第1のタイプであるかどうかが判定される。リソースロケータが第1のタイプであれば、ステップ75において、リソースロケータによって参照されるビデオチャンクは、ビデオプレーヤに送信され、処理はステップ71に続く。リソースロケータが第2のタイプであれば、リソースロケータによって参照される第1のビデオチャンクは、ステップ76において、ビデオプレーヤに送信され、そしてステップ77において、リソースロケータによって参照される第2のビデオチャンクが(例えば、キャッシュエリア内のストレージ装置においてなど)利用可能であるかどうかが判定される。第2のビデオチャンクが利用可能であれば、処理はステップ71に続く。第2のビデオチャンクが利用可能でなければ、ステップ78において、リソースロケータによって参照される第2のビデオチャンクを計算するリクエストは、ターゲット設定済みビデオチャンクを計算するスケジューラに送信される。リクエストは、第2のビデオチャンクの参照およびプレイアウト見込み時間または遅延時間を含み、処理はステップ71に続く。
図8は、本開示の方法を実装するのに適した例示的なデバイス800である。デバイス800は、例えば、図6の再生時間トラッカ62を実装する。デバイスは、処理ユニット801、トランスミッタインタフェース802、レシーバインタフェース803を含み、それらは、内部データ・通信バス804を用いて相互接続される。レシーバインタフェースおよびトランスミッタインタフェースは、デバイスが、ビデオプレーヤ、スケジューラ、キャッシュメモリ、およびビデオサーバなどの、他のデバイスと通信できるようにさせるネットワーク805に接続されている。レシーバ803は、ビデオをストリーミングするリクエストをビデオプレーヤから受信する。トランスミッタ802は、リクエストに応答して、リクエストされたビデオのビデオチャンクのリソースロケータを含むビデオチャンクリストをビデオプレーヤに送信する。リストは、少なくとも2つのタイプのリソースロケータを含み、第1のタイプは、第1のビデオチャンクを参照するリソースロケータを含み、第2のタイプは、第1のビデオチャンクを参照する単一のリソースロケータに加え、第2のビデオチャンクを参照するリソースロケータおよび第2のビデオチャンクのプレイアウト見込み時間または遅延時間を含む。レシーバは、その後、ビデオチャンクリストからのビデオチャンクをストリーミングするリクエストをビデオプレーヤから受信する。処理ユニット801は、ビデオチャンクをストリーミングするリクエストに含まれるリソースロケータが第1のタイプであるかどうかを判定する。処理ユニットが、ビデオチャンクをストリーミングするリクエストに含まれるリソースロケータが第1のタイプであると判定したのであれば、トランスミッタは、単一のリソースロケータによって参照される第1のビデオチャンクをビデオプレーヤに送信する。処理ユニットが、リクエストに含まれるリソースロケータが第2のタイプであると判定したのであれば、トランスミッタは、複数のリソースロケータによって参照される第1のビデオチャンクをビデオプレーヤに送信し、そして処理ユニットは、複数のリソースロケータによって参照される第2のビデオチャンクが利用可能であるかどうかを判定する。処理ユニットが、第2のビデオチャンクが利用できないと判定すれば、トランスミッタは、第2のビデオチャンクを計算するリクエストを送信する。第2のビデオチャンクを計算するリクエストは、第2のビデオチャンクの参照およびプレイアウト見込み時間または遅延時間を含む。
図8に示される以外の他のデバイスアーキテクチャも実行可能であり、本開示と互換性がある。当業者によって認識されるように、本原理の態様は、システム、方法またはコンピュータ可読媒体として実施されることができる。それによって、本原理の態様は、全ハードウェア実装、(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)全ソフトウェア実装の形式か、または本明細書においてすべて一般的に「回路」、「モジュール」または「システム」として定義されることができるハードウェアとソフトウェアとの態様を組み合わせた実施形態をとることができる。さらに、本原理の態様は、コンピュータ可読記憶媒体の形式をとることができる。1または複数のコンピュータ可読記憶媒体(複数)の任意の組み合わせも利用することができる。
このように、例えば、本明細書に示されたブロック図は、本発明の原理を実施する具体的なシステムコンポーネントおよび/または回路の概念的な図を表すことが当業者によって認識されよう。同様に、フローチャート、フロー図、状態遷移図、疑似コードなどのいずれも、実質的にコンピュータ可読記憶媒体で表され、コンピュータまたはプロセッサによって実施されるさまざまなプロセスを表し、そのようなコンピュータまたはプロセッサが明示的に示されているかどうかを問わないことが当業者によって認識されよう。
コンピュータ可読記憶媒体は、1または複数のコンピュータ可読媒体(複数)において具体化されるコンピュータ可読プログラム製品の形式をとることができ、コンピュータによって実施可能であるコンピュータ可読プログラムコードが具体化される。本明細書で使用されるようなコンピュータ可読記憶媒体は、情報を格納する固有の能力ならびにそこから情報の読み出しを行う固有の能力が与えられた非一時的な記憶媒体と見なされる。コンピュータ可読記憶媒体は、例えば、電子、磁気、光、電子磁気、赤外線、または半導体のシステム、装置、またはデバイスか、または上記の適切な任意の組み合わせとすることができるが、これらに限定されない。以下は、本原理を適用することができるコンピュータ可読記憶媒体のより具体的な例を提供しているが、単に例示であり、余すところのない列挙ではなく、当業者によって容易に認識されるように、ポータブルコンピュータディスケット、ハードディスク、リードオンリーメモリ(ROM)、消去可能プログラマブルリードオンリーメモリ(EPROMまたはフラッシュメモリ)、ポータブルコンパクトディスクリードオンリーメモリ(CD−ROM)、光ストレージデバイス、磁気ストレージデバイス、または上記の任意の適切な組み合わせであることを理解されたい。

Claims (14)

  1. ビデオプレーヤデバイス(61)へのビデオストリーミングの方法であって、
    前記ビデオプレーヤデバイスから、ビデオを前記ビデオプレーヤデバイスにストリーミングするリクエストを受信する(71)ステップと、
    ビデオをストリーミングする前記リクエストに応答して、前記ビデオプレーヤデバイスに、ビデオを再生するビデオチャンクのリソースロケータを含むビデオチャンクリストを送信するステップ(72)であって、前記ビデオチャンクリストは、第1のリソースロケータタイプのリソースロケータおよび第2のリソースロケータタイプのリソースロケータを含み、前記第1のリソースロケータタイプは、単一のビデオチャンクを参照し、および前記第2のリソースロケータタイプは、第1のビデオチャンクを参照する第1のリソースロケータと、第2のビデオチャンクを参照する第2のリソースロケータと、前記第2のビデオチャンクのプレイアウト見込み時間とを含む、送信するステップと、
    前記ビデオプレーヤデバイスから、前記ビデオチャンクリストからのビデオチャンクをストリーミングするリクエストを受信する(73)ステップと、
    ビデオチャンクをストリーミングする前記リクエストに含まれるリソースロケータが前記第1のリソースロケータタイプである場合、前記単一のビデオチャンクを前記ビデオプレーヤデバイスに送信する(75)ステップと、
    ビデオチャンクをストリーミングする前記リクエストに含まれる前記リソースロケータが前記第2のリソースロケータタイプである場合、前記ビデオプレーヤデバイスに前記第1のビデオチャンクを送信するステップ(76)と、前記第2のビデオチャンクが利用できない場合、前記第2のビデオチャンクを計算するリクエストを送信する(78)ステップであって、前記第2のビデオチャンクを計算する前記リクエストは、前記プレイアウト見込みの遅延を含む、送信するステップと、
    を含む、前記方法。
  2. 前記第2のビデオチャンクを計算する前記リクエストは、ビデオチャンクの計算をスケジュールするスケジューラ(50)に送信され、前記スケジューラは、ビデオチャンクを計算するための複数のジョブキュー(51)を含み、複数のジョブキューのうちの各ジョブキューは、特定のカテゴリのコンピューティングインスタンス(52)によって提供され、各コンピューティングインスタンスは、計算されたインスタンスをキャッシュメモリ(54)に格納し、前記スケジューラは、ビデオチャンクを計算するジョブを、関連する前記プレイアウト見込みの遅延に応じて選択された特定のカテゴリのキューに帰属させる、請求項1に記載の方法。
  3. 計算する前記リクエストを受信すると、前記スケジューラは、前記第2のビデオチャンクの前記参照に対応するジョブが、計算結果を前記プレイアウト見込みの遅延の範囲内で返す見込みであるかどうかを検証し、返す見込みがない場合、前記第2のビデオチャンクの前記参照に対応する前記ジョブのコピージョブを至急カテゴリのキューに挿入する、請求項2に記載の方法。
  4. 計算する前記リクエストを受信すると、前記スケジューラは、前記第2のビデオチャンクの前記参照に対応するジョブが、計算結果を前記プレイアウト見込みの遅延の範囲内で返す見込みであるかどうかを検証し、返す見込みがない場合、前記第2のビデオチャンクの前記参照に対応する前記ジョブを至急カテゴリのキュー内に移動する、請求項2に記載の方法
  5. 各ジョブキューをジョブキューサイズに応じて提供するコンピューティングインスタンスを追加または除去するステップさらに含む、請求項2乃至4のいずれかに記載の方法。
  6. ジョブキューのカテゴリは、少なくともベストエフォートキューおよび至急キューを含む、請求項2乃至5のいずれかに記載の方法。
  7. 前記計算は、ビデオチャンクの画像フレーム内のピクセルゾーンを、前記ビデオプレーヤデバイスのユーザをターゲットにするコンテンツにオーバーレイすることを含む、請求項1乃至6のいずれかに記載の方法。
  8. プロセッサ(801)と、
    トランスミッタ(802)と、
    レシーバ(803)と、
    を備えたデバイス(800、62)であって、
    前記レシーバは、ビデオプレーヤデバイスから、ビデオを前記ビデオプレーヤデバイスにストリーミングするリクエストを受信するように構成され、
    前記トランスミッタは、ビデオをストリーミングする前記リクエストに応答して、前記ビデオプレーヤデバイスに、リクエストされたビデオのビデオチャンクのリソースロケータを含むビデオチャンクリストを送信するように構成され、前記ビデオチャンクリストは、第1のリソースロケータタイプのリソースロケータおよび第2のリソースロケータタイプのリソースロケータを含み、前記第1のリソースロケータタイプは、単一のビデオチャンクを参照し、および前記第2のリソースロケータタイプは、第1のビデオチャンクを参照する第1のリソースロケータと、第2のビデオチャンクを参照する第2のリソースロケータと、前記第2のビデオチャンクのプレイアウト見込み時間と、を含み、
    前記レシーバは、前記ビデオプレーヤデバイスから、前記ビデオチャンクリストからのビデオチャンクをストリーミングするリクエストを受信するようにさらに構成され、
    前記プロセッサは、ビデオチャンクをストリーミングする前記リクエストに含まれるリソースロケータが前記第1のリソースロケータタイプであるかどうかを判定するように構成され、前記トランスミッタは、ビデオチャンクをストリーミングする前記リクエストに含まれる前記リソースロケータが前記第1のリソースロケータタイプである場合、前記ビデオプレーヤデバイスに、前記単一のビデオチャンクを送信するようにさらに構成され、
    前記プロセッサは、ビデオチャンクをストリーミングする前記リクエストに含まれるリソースロケータが第2のリソースロケータタイプであるかどうかを判定するようにさらに構成され、前記トランスミッタは、ビデオチャンクをストリーミングする前記リクエストに含まれる前記リソースロケータが前記第2のリソースロケータタイプである場合、前記第1のビデオチャンクを前記ビデオプレーヤデバイスに送信するようにさらに構成され、前記プロセッサは、前記第2のビデオチャンクが利用できるか否かを判定するようにさらに構成され、前記トランスミッタは、前記第2のビデオチャンクが利用できない場合、前記第2のビデオチャンクを計算するリクエストを送信するようにさらに構成され、前記第2のビデオチャンクを計算する前記リクエストは、前記第2のビデオチャンクの前記参照および前記プレイアウト見込みの遅延を含む、前記デバイス。
  9. 請求項8に記載のデバイス(800,61)と、コンピューティングインスタンス(52)上でビデオチャンクの計算をスケジュールするように構成されたスケジューラ(50)と、計算されたビデオチャンクを格納するように構成されたキャッシュメモリ(53)と、を備えたシステムであって、前記デバイスの前記トランスミッタは、前記第2のビデオチャンクを計算する前記リクエストを前記スケジューラに送信するようにさらに構成され、前記スケジューラは、ビデオチャンクを計算する複数のジョブキュー(51)を格納するメモリを使用し、前記複数のジョブキューのうちの各ジョブキューは、特定のカテゴリのインスタンスのコンピューティングインスタンスによって提供され、各コンピューティングインスタンスは、利用可能な計算されたビデオチャンクを前記キャッシュメモリに格納し、前記スケジューラは、ビデオチャンクを計算するジョブを、関連する前記プレイアウト見込みの遅延に応じて選択された特定のカテゴリのキューに帰属させる、前記システム。
  10. 前記スケジューラは、計算する前記リクエストを受信すると、前記第2のビデオチャンクの前記参照に対応するジョブが、計算結果を前記プレイアウト見込みの遅延の範囲内で返す見込みであるかどうかを検証し、返す見込みがない場合、前記第2のビデオチャンクの前記参照に対応する前記ジョブのコピージョブを至急カテゴリのキューに挿入するようにさらに構成される、請求項9に記載のシステム。
  11. 前記スケジューラは、計算する前記リクエストを受信すると、前記第2のビデオチャンクの前記参照に対応するジョブが、計算結果を前記プレイアウト見込みの遅延の範囲内で返す見込みであるかどうかを検証し、返す見込みがない場合、前記第2のビデオチャンクの前記参照に対応する前記ジョブを至急カテゴリのキュー内に移動するようにさらに構成される、請求項9に記載のシステム。
  12. 前記スケジューラは、各ジョブキューがジョブキューサイズに応じて提供するコンピューティングインスタンスを追加または除去するようにさらに構成される、請求項9乃至11のいずれかに記載のシステム。
  13. 通信ネットワークからダウンロード可能な、および/またはコンピュータによって読み取り可能媒体上で記録された、および/またはプロセッサによって実行可能なコンピュータプログラム製品であって、請求項1乃至7のいずれかに記載の方法のステップを実行するためのプログラムコード命令を含む、前記コンピュータプログラム製品。
  14. 非一時的なコンピュータ可読媒体であって、該媒体上に記録されプロセッサにより実行可能なコンピュータプログラム製品を有し、請求項1乃至7のいずれかに記載の方法のステップを実行するプログラムコード命令を含む、前記コンピュータ可読媒体。
JP2015054955A 2014-04-01 2015-03-18 ビデオストリーミングの方法、対応するデバイスおよびシステム Ceased JP2015198452A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP14305476.5 2014-04-01
EP14305476.5A EP2928196A1 (en) 2014-04-01 2014-04-01 Method of video streaming and corresponding device

Publications (2)

Publication Number Publication Date
JP2015198452A true JP2015198452A (ja) 2015-11-09
JP2015198452A5 JP2015198452A5 (ja) 2018-04-26

Family

ID=50489041

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015054955A Ceased JP2015198452A (ja) 2014-04-01 2015-03-18 ビデオストリーミングの方法、対応するデバイスおよびシステム

Country Status (6)

Country Link
US (1) US20160014179A1 (ja)
EP (2) EP2928196A1 (ja)
JP (1) JP2015198452A (ja)
KR (1) KR20150114414A (ja)
CN (1) CN104980775A (ja)
TW (1) TW201540055A (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107071322A (zh) * 2017-04-27 2017-08-18 西安诺瓦电子科技有限公司 视频录制及处理系统以及方法
JP7175658B2 (ja) * 2018-07-25 2022-11-21 キヤノン株式会社 映像配信装置、配信方法及びプログラム
US10972761B2 (en) 2018-12-26 2021-04-06 Purdue Research Foundation Minimizing stall duration tail probability in over-the-top streaming systems
AU2020293224A1 (en) * 2019-06-14 2022-01-27 GumGum, Inc. Dynamic overlay video advertisement insertion
US11284130B2 (en) 2019-06-14 2022-03-22 GumGum, Inc. Dynamic insertion of content within live streaming video
US11956482B2 (en) * 2020-07-16 2024-04-09 Comcast Cable Communications, Llc Systems and methods for storing and delivering content assets
CN115119049B (zh) * 2022-06-22 2023-10-17 深圳市瑞云科技有限公司 一种支持云游戏一起玩的动态编码方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002037828A2 (en) * 2000-11-06 2002-05-10 Excite@Home Integrated in-stream video ad serving
JP2009505239A (ja) * 2005-08-12 2009-02-05 ブライトコーブ インコーポレイテッド コンテンツの配布
US20120047542A1 (en) * 2010-08-20 2012-02-23 Disney Enterprises, Inc. System and method for rule based dynamic server side streaming manifest files
US20120137015A1 (en) * 2010-11-30 2012-05-31 General Instrument Corporation Method of targeted ad insertion using http live streaming protocol
JP2016509811A (ja) * 2013-02-07 2016-03-31 トムソン ライセンシングThomson Licensing 的を絞ったコンテンツをビデオの画像フレーム中に提供する方法及び対応デバイス

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8413182B2 (en) * 2006-08-04 2013-04-02 Aol Inc. Mechanism for rendering advertising objects into featured content
US9699232B2 (en) * 2007-08-24 2017-07-04 Iheartmedia Management Services, Inc. Adding perishable content to media stream based on user location preference
CN101232612A (zh) * 2007-12-06 2008-07-30 北京广视通达网络技术有限公司 一种基于视频内容触发的辅助媒体播放方法
US9310959B2 (en) * 2009-06-01 2016-04-12 Zya, Inc. System and method for enhancing audio
US8245234B2 (en) * 2009-08-10 2012-08-14 Avaya Inc. Credit scheduler for ordering the execution of tasks
US8855189B1 (en) * 2010-04-12 2014-10-07 UV Networks, Inc. Multi-stream transcoding system with cache memory management
US20130080267A1 (en) * 2011-09-26 2013-03-28 Unicorn Media, Inc. Single-url content delivery
US9049494B2 (en) * 2011-01-31 2015-06-02 Cbs Interactive, Inc. Media playback control
US8489760B2 (en) * 2011-03-31 2013-07-16 Juniper Networks, Inc. Media file storage format and adaptive delivery system
US8856283B2 (en) * 2011-06-03 2014-10-07 Apple Inc. Playlists for real-time or near real-time streaming
US20130064286A1 (en) * 2011-09-14 2013-03-14 Mobitv, Inc. Weighted encoder fragment scheduling
US10136165B2 (en) * 2011-09-14 2018-11-20 Mobitv, Inc. Distributed scalable encoder resources for live streams
US9179169B2 (en) * 2012-03-14 2015-11-03 Imagine Communications Corp. Adaptive media delivery
GB201205761D0 (en) * 2012-03-30 2012-05-16 Sony Corp A method and device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002037828A2 (en) * 2000-11-06 2002-05-10 Excite@Home Integrated in-stream video ad serving
JP2009505239A (ja) * 2005-08-12 2009-02-05 ブライトコーブ インコーポレイテッド コンテンツの配布
US20120047542A1 (en) * 2010-08-20 2012-02-23 Disney Enterprises, Inc. System and method for rule based dynamic server side streaming manifest files
US20120137015A1 (en) * 2010-11-30 2012-05-31 General Instrument Corporation Method of targeted ad insertion using http live streaming protocol
JP2016509811A (ja) * 2013-02-07 2016-03-31 トムソン ライセンシングThomson Licensing 的を絞ったコンテンツをビデオの画像フレーム中に提供する方法及び対応デバイス

Also Published As

Publication number Publication date
EP2928197B1 (en) 2016-11-16
CN104980775A (zh) 2015-10-14
EP2928197A1 (en) 2015-10-07
KR20150114414A (ko) 2015-10-12
TW201540055A (zh) 2015-10-16
US20160014179A1 (en) 2016-01-14
EP2928196A1 (en) 2015-10-07

Similar Documents

Publication Publication Date Title
EP2928197B1 (en) Method of video streaming, corresponding device and system
US10432982B2 (en) Adaptive bitrate streaming latency reduction
US10999340B2 (en) Cloud-based video delivery
US10410222B2 (en) Messaging service for providing updates for multimedia content of a live event delivered over the internet
US8930559B2 (en) Adaptive hypertext transfer protocol (“HTTP”) media streaming systems and methods
US8069464B2 (en) Architecture for scaling just-in-time placement of advertising content
US8850054B2 (en) Hypertext transfer protocol live streaming
US8959539B2 (en) Message delivery mechanism
US20180167432A1 (en) Dynamic chunking for delivery instances
US20200099732A1 (en) Catching up to the live playhead in live streaming
KR20150115773A (ko) 비디오의 이미지 프레임들 내에 타겟팅된 콘텐츠를 제공하는 방법 및 대응하는 디바이스
US20120005313A1 (en) Dynamic indexing for ad insertion in media streaming
US10681104B1 (en) Handling media timeline offsets
CN105379295A (zh) 分段内容的流送
CN105339922A (zh) 个人过顶网络视频记录器
KR20120101710A (ko) 코덱이 적용된 프레임 크기로의 오디오 분할
US20240155191A1 (en) Playback control of media output streams
JP6478980B2 (ja) キャッシュベースのコンテンツ配信のためのシステム及び方法
US10091265B2 (en) Catching up to the live playhead in live streaming
JP6688333B2 (ja) メタデータに基づくエンコードされたコンテンツトランスポートストリームのインテリジェントな生成及び配信
US9742749B1 (en) Live stream encryption
EP3466081A1 (en) Catching up to the live playhead in live streaming
EP3210383A1 (en) Adaptive bitrate streaming latency reduction
US10313759B1 (en) Enabling playback and request of partial media fragments
US10158923B2 (en) Method of broadcasting contents by streaming in a peer-to-peer network

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20161202

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20161202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180316

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181109

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181119

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20190322