(58)【調査した分野】(Int.Cl.,DB名)
前記所定のしきい値条件は、前記1組の連続した黒フレームのうち少なくとも2つの連続した黒フレームの対角部分が、すべて黒画素を備える場合に満たされる、請求項3に記載のシステム。
前記命令は前記システムに、前記挿入箇所で前記印のつかないコンテンツ項目の少なくとも前記部分の中に前記1つまたは複数の広告をつなぎ合わせるステップは、前記挿入箇所で前記消費者システムへ1つまたは複数の広告をストリーミングするステップを備える、請求項1に記載のシステム。
前記命令は前記システムに、前記1つまたは複数の消費者システム属性に基づき、前記1つまたは複数の広告のリクエストを提供するステップ、および前記1つまたは複数の消費者システム属性に基づき、前記1つまたは複数の広告を受信するステップを、さらに遂行させる、請求項6に記載のシステム。
前記1つまたは複数の広告は、前記消費者システムへ前記印のつかないコンテンツ項目の前記少なくとも前記部分をストリーミングする間に選択される、請求項7に記載のシステム。
前記命令は前記システムに、前記1つまたは複数の消費者システム属性に基づき、前記1つまたは複数の広告のフォーマットを修正するステップをさらに遂行させ、前記1つまたは複数の広告の前記フォーマットは、前記消費者システムへ前記印のつかないコンテンツ項目の前記少なくとも前記部分をストリーミングする間に修正される、請求項6に記載のシステム。
前記命令は前記システムに、前記1つまたは複数の消費者システムに基づき、前記印のつかないコンテンツ項目の前記少なくとも前記部分のフォーマットを修正するステップ、および前記消費者システムへ前記印のつかないコンテンツ項目の前記修正された少なくとも前記部分をストリーミングするステップをさらに遂行させる、請求項6に記載のシステム。
前記1つまたは複数の消費者システム属性に基づき、前記1つまたは複数の広告のリクエストを提供するステップをさらに備え、前記サーバシステムにより前記1つまたは複数の広告を受信する前記ステップは、前記1つまたは複数の消費者システム属性に基づき、前記1つまたは複数の広告を受信するステップを備える、請求項16に記載の方法。
前記1つまたは複数の広告は、前記消費者システムへ前記印のつかないコンテンツ項目の前記少なくとも前記部分をストリーミングする間に選択される、請求項17に記載の方法。
前記1つまたは複数の消費者システム属性に基づき、前記1つまたは複数の広告のフォーマットを修正するステップをさらに備え、前記1つまたは複数の広告の前記フォーマットは、前記消費者システムへ前記印のつかないコンテンツ項目の前記少なくとも前記部分をストリーミングする間に修正される、請求項16に記載の方法。
前記1つまたは複数の消費者システム属性に基づき、前記印のつかないコンテンツ項目の前記少なくとも前記部分のフォーマットを修正するステップと、前記消費者システムへ前記印のつかないコンテンツ項目の前記修正された少なくとも一部分をストリーミングするステップとをさらに備える、請求項16に記載の方法。
前記消費者システムは、前記システムから前記複数のストリーミング動作可能なビデオセグメントのうち前記少なくとも1つのストリーミング動作可能なビデオセグメントを受信するように構成され、かつ前記リモート・コンテンツ・プロバイダ・システムから少なくとも1組の連続した黒フレームを含まない前記複数のストリーミング動作可能なビデオセグメントの前記少なくともいくつかを受信するように構成される、請求項22に記載のシステム。
前記1つまたは複数の挿入箇所のうち対応する1つの挿入箇所が前記複数のストリーミング動作可能なビデオセグメントのうち前記少なくとも1つのストリーミング動作可能なビデオセグメントの開始部分に配置される場合、前記命令は前記システムに、前記複数のストリーミング動作可能なビデオセグメントのうち前記少なくとも1つのストリーミング動作可能なビデオセグメントのストリーミングの前に、前記消費者システムへ前記1つまたは複数の広告をストリーミングすることができるようにする、請求項22に記載のシステム。
前記1つまたは複数の挿入箇所のうち対応する1つの挿入箇所が前記複数のストリーミング動作可能なビデオセグメントのうち前記少なくとも1つのストリーミング動作可能なビデオセグメントの開始部分と末端部分の間に配置される場合、前記命令は前記システムに、(i)前記1つまたは複数の挿入箇所のうち前記対応する挿入箇所に到達したとき、前記消費者システムへの、前記複数のストリーミング動作可能なビデオセグメントのうち前記少なくとも1つのストリーミング動作可能なビデオセグメントの前記ストリーミングを一時停止するステップ、(ii)前記消費者システムへ前記1つまたは複数の広告をストリーミングするステップ、(iii)前記消費者システムへの、前記1つまたは複数の広告の前記ストリーミングが完了した後、前記消費者システムへの、前記複数のストリーミング動作可能なビデオセグメントのうち前記少なくとも1つのストリーミング動作可能なビデオセグメントの前記ストリーミングを再開するステップができるようにする、請求項22に記載のシステム。
少なくとも1組の連続した黒フレームを含まない、前記複数のストリーミング動作可能なビデオセグメントの前記少なくともいくつかを前記リモート・コンテンツ・プロバイダ・システムから前記消費者システムで受信するステップをさらに備える、請求項27に記載の方法。
前記1つまたは複数の挿入箇所のうち対応する1つの挿入箇所が前記複数のストリーミング動作可能なビデオセグメントのうち前記少なくとも1つのストリーミング動作可能なビデオセグメントの開始部分に配置される場合、前記複数のストリーミング動作可能なビデオセグメントのうち前記少なくとも1つのストリーミング動作可能なビデオセグメントのストリーミングの前に、前記消費者システムへ前記1つまたは複数の広告をストリーミングするステップをさらに備える、請求項27に記載の方法。
前記1つまたは複数の挿入箇所のうち対応する1つの挿入箇所が前記複数のストリーミング動作可能なビデオセグメントのうち前記少なくとも1つのストリーミング動作可能なビデオセグメントの開始部分と末端部分の間に配置される場合、(i)前記1つまたは複数の挿入箇所のうち前記対応する挿入箇所に到達したとき、前記消費者システムへの、前記複数のストリーミング動作可能なビデオセグメントのうち前記少なくとも1つのストリーミング動作可能なビデオセグメントの前記ストリーミングを一時停止するステップと、(ii)前記消費者システムへ前記1つまたは複数の広告をストリーミングするステップと、(iii)前記消費者システムへの、前記1つまたは複数の広告の前記ストリーミングが完了した後、前記消費者システムへの、前記複数のストリーミング動作可能なビデオセグメントのうち前記少なくとも1つのストリーミング動作可能なビデオセグメントの前記ストリーミングを再開するステップとをさらに備える、請求項27に記載の方法。
前記1組の1つまたは複数の連続した黒フレームを含む前記複数のストリーミング動作可能なビデオセグメントのうち前記少なくとも1つのストリーミング動作可能なビデオセグメントから前記1組の1つまたは複数の連続した黒フレームを取り除く前記ステップは、前記1組の1つまたは複数の連続した黒フレームを含む、前記複数のストリーミング動作可能なビデオセグメントのうち前記少なくとも1つのストリーミング動作可能なビデオセグメントを修正して、前記1組の1つまたは複数の連続した黒フレームを取り除いて、1つまたは複数の対応する挿入箇所を示す1つまたは複数の対応するタグを挿入するステップを備える、請求項33に記載のシステム。
前記第1のストリーミング供給源位置、前記第2のストリーミング供給源位置、および前記第3のストリーミング供給源位置はそれぞれ、異なるドメインを有する、対応するURL(uniform resource locator)を備える、請求項33に記載のシステム。
前記1組の1つまたは複数の連続した黒フレームを含む前記複数のストリーミング動作可能なビデオセグメントのうち前記少なくとも1つのストリーミング動作可能なビデオセグメントから前記1組の1つまたは複数の連続した黒フレームを取り除く前記ステップは、前記1組の1つまたは複数の連続した黒フレームを含む、前記複数のストリーミング動作可能なビデオセグメントのうち前記少なくとも1つのストリーミング動作可能なビデオセグメントを修正して、前記1組の1つまたは複数の連続した黒フレームを取り除いて、1つまたは複数の対応する挿入箇所を示す1つまたは複数の対応するタグを挿入するステップを備える、請求項40に記載の方法。
前記第1のストリーミング供給源位置、前記第2のストリーミング供給源位置、および前記第3のストリーミング供給源位置はそれぞれ、異なるドメインを有する、対応するURLを備える、請求項40に記載の方法。
【発明を実施するための形態】
【0029】
オリジナルコンテンツ(たとえば、テレビ番組、映画など)の量は、この数年にわたり急激に増加した。オン・デマンド・サービス・プロバイダは、従来の放送要件(たとえば、放送スケジュール、メディアフォーマット要件など)に制限されることなく自身のコンテンツをオンデマンドで配信するためのプラットフォームをコンテンツプロバイダ(たとえば、Young Hollywood)に与えてきた。しかしながら、オン・デマンド・コンテンツを活用して利益を生み出すことには問題があり、費用がかかっていた。たとえば、オン・デマンド・サービス・プロバイダは、典型的にはコンテンツプロバイダに対して広告のための位置を示すために、ビデオのさまざまな箇所に手作業でタグをつけるように要求する。たとえば、操作者は、ビデオを視聴して、潜在的挿入箇所を示す黒フレームのシーケンスを探してもよい。操作者は、黒フレームのシーケンスに到達すると、挿入箇所に手作業でフラグを立てることができる。そのような処理は、時間がかかり、費用がかかり、誤りやすい場合がある。
【0030】
本明細書に記述するいくつかの実施形態は、ストリーミングコンテンツの中に広告をつなぎ合わせるためのシステムおよび方法を含む。たとえば、操作者に対して挿入箇所に事前にタグをつけるように要求することなく、ストリーミングコンテンツの再生中に広告を提供してもよい。いくつかの実施形態では、サーバシステムは、1組の連続した黒フレームを求めてストリーミングコンテンツをスキャンする。いくつかの実施形態では、最初の黒フレームの位置を特定すると、サーバシステムは、(たとえば、ユーザ入力を必要とすることなく)挿入箇所を自動的に登録してもよい。いくつかの実施形態では、2番目の黒フレームの位置を検出したときだけ、サーバシステムは、挿入箇所を自動的に登録してもよい。いくつかの実施形態では、サーバシステムはその後、任意の連続した黒フレームを無視してもよい。いくつかの実施形態では、サーバシステムは、1つまたは複数の黒フレームのシーケンス内で最後の黒フレームの位置を特定すると、挿入箇所を自動的に登録してもよい。いくつかの実施形態では、サーバシステムは、次のフレームもまた黒フレームであるかどうか確認しようと試みて、次のフレームが黒フレームではなくビデオ・コンテンツ・フレームである場合だけ、挿入箇所を自動的に登録してもよい。いくつかの実施形態では、次のフレームが別の黒フレームである場合、サーバシステムは、先行する潜在的挿入箇所をクリアして、次の黒フレームの所に新しい挿入箇所を生成してもよい。サーバシステムは、ストリーミングコンテンツの末端に到達するまで、この処理を遂行してもよい。
【0031】
いくつかの実施形態では、登録された挿入箇所ごとに1つまたは複数の広告をリアルタイムで提供する。たとえば、登録された挿入箇所は、サーバシステムをトリガして、ビデオコンテンツのストリーミングを「一時停止」し、1つまたは複数の広告をストリーミングし、その後、広告が終了すると、ビデオコンテンツを再開してもよい。
【0032】
図1は、いくつかの実施形態によるコンテンツ配信ネットワークシステム100を例示する構成図を示す。システム100は、広告プロバイダシステム102、コンテンツ・プロバイダ・システム104、サーバシステム106、消費者システム108、および通信ネットワーク110を含む。
【0033】
プロバイダシステム102は、広告112を記憶し、提供するように構成されてもよい。たとえば、広告112は、ストリーミングコンテンツの再生中にさまざまな箇所でストリーミングされてもよいビデオコマーシャルであってもよい。本文書で使用するとき、ストリーミングコンテンツは、トランザクションのビデオ・オン・デマンド・コンテンツ(または「TVOD」コンテンツ)、オーバー・ザ・トップ・コンテンツ(または「OTT」コンテンツ)、広告サポート・ビデオ・オン・デマンド・コンテンツ(または「AVOD」コンテンツ)、会員制有料ビデオ・オン・デマンド・コンテンツ(または「SVOD」コンテンツ)などを含んでもよい。いくつかの実施形態では、広告プロバイダシステム102の機能は、1つまたは複数のワークステーション、デスクトップコンピュータ、ラップトップコンピュータ、携帯型機器などにより遂行される。例示する目的で1つの広告プロバイダシステム102を示すが、他の実施形態が、任意の数のそのような広告プロバイダシステム102を含んでもよいことが認識されよう。
【0034】
いくつかの実施形態では、広告プロバイダシステム102は、クラウドに基づくシステムを備える。たとえば、広告プロバイダシステム102は、遠隔システムを備えてもよい。あるいは、広告プロバイダシステム102は、ローカルシステムを備えてもよい。たとえば、広告プロバイダシステム102は、遠隔システムから取り出した広告のローカルインスタンスを記憶してもよい。
【0035】
コンテンツ・プロバイダ・システム104は、印のつかないコンテンツ項目114を記憶し、提供するように構成されてもよい。いくつかの実施形態では、コンテンツ・プロバイダ・システム104の機能は、1つまたは複数のワークステーション、デスクトップコンピュータ、ラップトップコンピュータ、携帯型機器などにより遂行される。例示する目的で1つのコンテンツ・プロバイダ・システム104を示すが、他の実施形態が、任意の数のそのようなコンテンツ・プロバイダ・システム104を含んでもよいことが認識されよう。
【0036】
いくつかの実施形態では、印のつかないコンテンツ項目114は、ストリーミング動作可能なビデオ(たとえば、テレビ番組の1回分、映画など)または他のオン・デマンド・コンテンツを含む。本文書で使用するとき、「印のつかない」は、コンテンツ項目が、コンテンツのフレーム(たとえば、ビデオ・コンテンツ・フレーム)およびインジケータフレームの組を含むが、広告を、コンテンツ項目内にいつ挿入してもよいか、および/またはストリーミングコンテンツと共に消費者に他の方法でいつ提供してもよいかを示すタイミング情報(たとえば、タイムスタンプ)を含まないことを示してもよい。いくつかの実施形態では、インジケータフレームの組は、それぞれ全体が黒画素から作られ、かつ広告を印のつかないコンテンツ項目にいつ挿入してもよいか、および/または印のつかないコンテンツ項目のストリーミングと共に消費者に他の方法でいつ提供してもよいかを決定するために使用されるフレームを含む。以下のように、「印のついた」コンテンツ項目は、広告をコンテンツ項目にいつ挿入してもよいか、および/または印のついたコンテンツ項目のストリーミングと共に消費者に他の方法でいつ提供してもよいかを示すタイミング情報を含んでもよい。
【0037】
いくつかの実施形態では、コンテンツ・プロバイダ・システム104は、クラウドに基づくシステムを備える。たとえば、コンテンツ・プロバイダ・システム104は、他のシステムから遠隔にあるYoung Hollywood(登録商標)システムを備えてもよい。あるいは、コンテンツ・プロバイダ・システム104は、ローカルシステムを備えてもよい。たとえば、コンテンツ・プロバイダ・システム104は、遠隔システムから、または他の方法で取り出した、印のつかないコンテンツ項目のローカルライブラリを記憶してもよい。
【0038】
サーバシステム106は、1つまたは複数の広告を印のつかないコンテンツ項目の再生の中につなぎ合わせるように構成されてもよい。たとえば、サーバシステム106の機能は、1つまたは複数のワークステーション、デスクトップコンピュータ、ラップトップコンピュータ、携帯型機器などにより遂行されてもよい。いくつかの実施形態では、つなぎ合わせるステップは、広告を印のつかないコンテンツ項目の中のどこに挿入してもよいか、および/または印のつかないコンテンツ項目のストリーミングと共に他の方法でどこに提供してもよいかを自動的に(たとえば、ユーザ入力を必要とすることなく)決定するステップを含んでもよい。たとえば、サーバシステム106は、黒フレームのシーケンス(たとえば、2つ以上の連続したフレーム、1秒の黒フレームなど)を識別するまで、コンテンツ項目の一部分(たとえば、キャッシュした部分、またはストリーミングした部分)を処理し、再生中に、印のつかないコンテンツ項目の識別された場所で広告を提供すべきであることを示してもよい。
【0039】
いくつかの実施形態では、つなぎ合わせるステップは、印のつかないコンテンツ項目に広告を追加するステップを含んでもよいが、他の実施形態は、印のつかないコンテンツ項目に広告を追加しなくてもよい。たとえば、つなぎ合わせるステップは、(たとえば、連続した黒フレームの位置に基づき)特定の位置でコンテンツ項目の再生を一時停止すべきであり、かつコンテンツ再生を一時停止している間に1つまたは複数の広告をストリーミングすべきであることを示してもよい。1つまたは複数の広告が終了すると、コンテンツ項目の再生を再開してもよい。
【0040】
いくつかの実施形態では、サーバシステム106は、印のつかないコンテンツ項目のセグメント(または「チャンク」)の中に1つまたは複数の広告をつなぎ合わせるように構成される。たとえば、印のつかないコンテンツ項目は、25のセグメントを含んでもよい。サーバシステム106は、挿入箇所を有することが分かっているセグメント(たとえば、セグメント4、10、11、19、および22〜24)だけを処理し、および/または記憶してもよい。これは、たとえば、他のシステム(たとえば、コンテンツ・プロバイダ・システム104)が残りのセグメントを取り扱うことができるようにすることにより、サーバシステム106の負荷を低減するのに役立つ場合がある。セグメントについての議論を、本文書全体にわたりさらに見いだす場合がある(たとえば、
図8〜
図10を参照のこと)。
【0041】
いくつかの実施形態では、サーバシステム106は、広告配置検出システム116、出版システム118、ならびに分析および報告システム120を含む。広告配置検出システム116は、印のつかないコンテンツ項目を処理して、挿入箇所を検出して、または他の方法で識別して、1つまたは複数の広告を提供するように構成されてもよい。いくつかの実施形態では、広告配置検出システム116は、挿入箇所を、たとえば、特定のタイプのフレーム、特定の1組のフレーム、黒フレームのシーケンスなどを求めて、印のつかないコンテンツ項目のキャッシュした部分またはバッファリングした部分をスキャンする。たとえば、広告配置検出システム116は、印のつかないコンテンツ項目の最初の黒フレーム、印のつかないコンテンツ項目の2番目の黒フレーム、印のつかないコンテンツ項目の黒フレームのシーケンスの中にある最後の黒フレーム、印のつかないコンテンツ項目の黒フレームの期間(たとえば、1秒)などを求めてスキャンしてもよい。挿入箇所の位置を特定したとき、広告配置検出システム116は、挿入箇所を登録してもよい。
【0042】
いくつかの実施形態では、広告配置検出システム116は、単一の意図した挿入箇所について、複数の挿入箇所に間違ってフラグを立てることにより生じる誤りを低減する場合がある。いくつかの実施形態では、広告配置検出システム116は、挿入箇所が連続している場合、挿入箇所を取り消してもよい。たとえば、挿入箇所を検出した後の次のフレームもまた黒フレームである場合、次のフレームを無視して(そして場合によって取り除いて)もよい。これは、つなぎ合わせる処理中の誤りを低減するのに役立つ場合がある。印のつかないコンテンツ項目の次のフレームが、黒フレームではないフレーム、たとえば、ビデオ・コンテンツ・フレームを備えるまで、後続の黒フレームを無視してもよい、および/または取り除いてもよい。広告配置検出システム116は、ビデオ・コンテンツ・フレームの位置を特定すると、リセットして、別の第1の黒フレームを求めてスキャンしてもよく、上記の処理を繰り返してもよい。
【0043】
いくつかの実施形態では、広告配置検出システム116は、挿入箇所が互いに近い場合、たとえば、先行する挿入箇所の10分以内に出現する場合、挿入箇所を取り消してもよい。他の実施形態では、広告配置検出システム116は、挿入箇所が、ユーザが設定した期間の範囲内にある場合、挿入箇所が、サーバシステム106の監理者が設定した構成可能な期間の範囲内にある場合、挿入箇所が、視聴者の会員制レベルに従って設定された期間の範囲内にある場合(たとえば、1つの会員制レベルは、10分ごと以下の頻度で広告を提供してもよい、1つの会員制レベルは、30分ごと以下の頻度で広告を提供してもよい、1つの会員制レベルは、広告を決して提供してはいけないなど)、挿入箇所を取り消してもよい。
【0044】
いくつかの実施形態では、出版システム118は、コンテンツの中に広告をつなぎ合わせて、つなぎ合わせたコンテンツをストリーミングするように構成される。たとえば、出版システム118は、印のつかないコンテンツ項目を受信し、印のつかないコンテンツ項目の一部分をキャッシュまたはバッファリングし、挿入箇所を求めて印のつかないコンテンツ項目を評価し、対象となる広告を受信するための消費者システム属性を提供し、挿入箇所の中に広告を挿入し、つなぎ合わせたコンテンツをストリーミングする。いくつかの実施形態では、出版システム118は、広告をストリーミングしている間、印のつかないコンテンツ項目のストリーミングを停止または一時停止してもよいが、他の実施形態は、1つまたは複数の広告を再生している間、たとえば、消費者が印のつかないコンテンツ項目の一部分をバッファリングすることができるように、広告と印のつかないコンテンツ項目の両方を同時にストリーミングしてもよい。
【0045】
いくつかの実施形態では、出版システム118は、ユーザ(たとえば、操作者)からの入力を必要とすることなく、広告および印のつかないコンテンツ項目をフォーマットするように構成される。たとえば、出版システム118は、消費者システムの消費者システム属性を、たとえば、オペレーティングシステムのタイプ、再生プレーヤのタイプ、ブラウザのタイプ、ネットワーク接続速度、画面表示サイズおよび/または解像度などを受信してもよい。出版システム118は、消費者システム属性に基づき、広告および印のつかないコンテンツ項目をフォーマットしてもよい。いくつかの実施形態では、出版システム118、またはサーバシステム106の他の構成要素は、広告および印のつかないコンテンツ項目を事前にフォーマットする、およびフォーマットしない。
【0046】
いくつかの実施形態では、分析および報告システム120は、ストリーミングセッション(たとえば、特定の印のつかないコンテンツ項目をストリーミングする)、特定の消費者システムに関連するストリーミングセッション、消費者システムのグループに関連するストリーミングセッションなどのストリーミング属性を分析および報告するように構成される。たとえば、ストリーミング属性は、ストリーミングセッションの継続期間、ストリーミングセッション中に提供される広告の数、ストリーミングセッションの広告セグメントごとに提供される広告の数などを含んでもよい。広告セグメントは、特定の挿入箇所に関連する1つまたは複数の広告を含んでもよい。たとえば、単一の挿入箇所について、印のつかないコンテンツ項目の中に3つの広告をつなぎ合わせてもよい。
【0047】
いくつかの実施形態では、分析および報告システム120は、挿入箇所ごとにいくつの広告をつなぎ合わせるべきか、および広告を選択するためにどの消費者システム属性を提供すべきかを決定するための予測モデルを生成する。たとえば、分析および報告システム120は、印のつかないコンテンツ項目のストリーミング中に、特定の消費者システムに3つの異なる広告セグメントを提供したことを記録してもよい。分析および報告システム120は、広告が引き起こしたクリックスルーの数、および/または早送りされた、もしくは飛ばされた広告の数を記録してもよい。たとえば、特定のセグメント内の広告が、2つの広告を伴うセグメントよりも少ないクリックスルーを、および/または多い早送り、もしくは飛ばしをもたらす場合、予測モデルは、セグメントごとに2つの広告を提供すべきであることを示してもよい。
【0048】
いくつかの実施形態では、予測モデルは(たとえば、特定の消費者システム、または消費者システムのグループに関して)事前に規定されてもよいが、他の実施形態では、予測モデルは動的であってもよい。たとえば、消費者システム属性および/またはストリーミング属性が変化するにつれて、予測モデルを更新してもよい。これにより、たとえば、分析および報告システム120は、より正確な指標を提供して、特定の消費者システムのストリーミング習慣を考慮することができるようになる場合がある。
【0049】
いくつかの実施形態では、サーバシステム106は、クラウドに基づくシステムを備える。たとえば、サーバシステム106は、他のシステムから遠隔にあるAWSシステムを備えてもよい。あるいは、サーバシステム106は、ローカルエリア接続および/または広域接続を通して1つまたは複数の他のシステムに接続されたローカルシステムを備えてもよい。
【0050】
消費者システム108は、印のつかないコンテンツ項目および広告をストリーミングおよび再生するように構成されてもよい。たとえば、消費者システム108の機能を、1つまたは複数の携帯型機器(たとえば、スマートホン、携帯電話、スマートウオッチ、タブレットコンピュータなど)、デスクトップコンピュータ、ラップトップコンピュータ、ワークステーションなどにより遂行してもよい。いくつかの実施形態では、消費者システム108は、クライアントシステム122および再生システム124を含む。消費者システム108は、データ(たとえば、ストリーミングデータ)を受信および提供し、グラフィカル・ユーザ・インタフェースを生成し、ユーザ入力を受信するなどをするように構成されてもよい。たとえば、クライアントシステム122は、ウェブブラウザ(たとえば、IE、Firefox、Chrome、Safariなど)を備えてもよい。
【0051】
再生システム124は、印のつかないコンテンツ項目および広告を含むストリーミングデータを再生するように構成されてもよい。いくつかの実施形態では、ストリーミングデータは、セグメントを含む。たとえば、再生システム124は、QuickTime(登録商標)プレーヤ、Real(登録商標)プレーヤ、ウェブ・ブラウザ・コンポーネントなどを備えてもよい。いくつかの実施形態では、再生システム124は、さまざまな異なる再生機能を遂行するように構成されてもよい。たとえば、再生システム124は、印のつかないコンテンツ項目および/または広告を一時停止しても、終わらせても、進めても(たとえば、早送りしても、飛ばしても)、巻き戻してもよい。いくつかの実施形態では、特定の再生機能(たとえば、早送りまたは飛ばし)を制限してもよい。たとえば、特定のストリーミングセッションは、限定された回数の早送りまたは飛ばしだけを許可してもよい。
【0052】
いくつかの実施形態では、通信ネットワーク110は、1つまたは複数のコンピュータネットワーク(たとえば、LAN、WANなど)を表す。通信ネットワーク110は、広告プロバイダシステム102のいずれかと、コンテンツ・プロバイダ・システム104と、サーバシステム106と、消費者システム108との間で通信を提供してもよい。いくつかの実施形態では、通信ネットワーク110は、コンピューティング機器、ルータ、ケーブル、バス、および/または他のネットワークトポロジを備える。いくつかの実施形態では、通信ネットワーク110は、有線であってもよい、および/または無線であってもよい。さまざまな実施形態では、通信ネットワーク110は、インターネット、公衆であっても、私的であっても、IPに基づいても、IPに基づかなくてもよい1つまたは複数の他のネットワークなどを備えてもよい。
【0053】
図2は、いくつかの実施形態による、印のつかないコンテンツ項目114の詳細を例示する構成
図200を示す。印のつかないコンテンツ項目114は、第1のビデオコンテンツ部分202、1組の黒フレーム204−1〜204−n、および第2のビデオコンテンツ部分206を含む。コンテンツ項目114は、任意の数のビデオコンテンツ部分、および任意の組の黒フレームを含んでもよいことを認識されよう。たとえば、コンテンツ項目114は、6つのビデオコンテンツ部分および5組の黒フレームを含んでもよく、これは、コンテンツ項目114が、5つの異なる広告セグメントに関して構成されることを示してもよい。さまざまな実施形態では、1つまたは複数の広告を広告セグメントごとに提供してもよい。
【0054】
図3は、いくつかの実施形態による広告配置検出システム116の詳細を例示する構成
図300を示す。いくつかの実施形態では、広告検出システム116は、コンテンツ獲得エンジン302、挿入箇所検出エンジン304、挿入箇所フラグ・エディタ・エンジン306、および広告配置検出システムデータストア308を含む。本明細書で言及する多くの他の要素のように、挿入箇所フラグエディタ306は任意選択である。
【0055】
コンテンツ獲得エンジン302は、印のつかないコンテンツ項目を獲得するように構成されてもよい。いくつかの実施形態では、コンテンツ獲得エンジン302は、1つまたは複数の印のつかないコンテンツ項目のデータストリームを受信する。たとえば、コンテンツ獲得エンジン302は、リアル・タイム・ストリーミング・プロトコル(Real Time Streaming Protocol、RTSP)の実装を備えてもよい。獲得した、印のつかないコンテンツ項目を、広告配置検出システムデータストア308に少なくとも一時的に記憶してもよい(たとえば、キャッシュする、またはバッファリングする)。本文書で使用するとき、データストアは、データを少なくとも一時的に記憶するのに適した任意の1つまたは複数の構造であってもよい(たとえば、キャッシュ、バッファ、能動的データベース、リレーショナルデータベース、自己参照データベース、テーブル、行列、アレイ、単層ファイル、ドキュメント指向記憶システム、非リレーショナルNo−SQLシステム、FTS管理システムなど)。
【0056】
挿入箇所検出エンジン304は、1つまたは複数の広告をつなぎ合わせるための、印のつかないコンテンツ項目の挿入箇所を検出するように構成されてもよい。いくつかの実施形態では、挿入箇所は、印のつかない項目内部の場所を示す。たとえば、挿入箇所検出エンジン304は、特定の1組の1つまたは複数のフレーム検出属性(たとえば、最初の黒フレーム、2番目の黒フレーム、n番目の黒フレーム、1つまたは複数の黒フレームのシーケンス内部にある最終フレーム、黒フレームの期間など)を有するフレーム、または1組のフレームを求めて、印のつかないコンテンツ項目のキャッシュした部分またはバッファリングした部分をスキャンしてもよい。いくつかの実施形態では、フレーム検出属性は、画素の色(たとえば、黒)を含む。いくつかの実施形態では、画素のしきい値数、パーセンテージ、またはパターンが属性(たとえば、すべての画素は黒である、フレームの対角線は黒である、両方の対角線は黒である、一定の所定の箇所は黒であるなど)を有する場合、フレームは、フレーム検出属性を有するとみなされてもよい、たとえば、黒であるとみなされてもよい。
【0057】
挿入箇所検出エンジン304は、所定の基準に基づき、たとえば、先行する挿入箇所が、一定数のフレームの範囲内である、または時間がとても近すぎる場合、先行する挿入箇所が、ユーザの会員制レベルに基づき、時間がとても近すぎる場合など、いくつかの挿入箇所を無視するように構成されてもよい。いくつかの実施形態では、挿入箇所検出エンジン304は、場合によってはタイミング情報(たとえば、印のつかないコンテンツ項目114の5分13秒)と共に挿入箇所を登録してもよい。いくつかの実施形態では、挿入箇所検出エンジン304は、1組の1つまたは複数のフレーム検出属性(たとえば黒フレーム)を伴う1つまたは複数のフレームを印のつかないコンテンツ項目から取り除いてもよい。いくつかの実施形態では、挿入箇所検出エンジン304は、ビデオ・コンテンツ・フレームに到達するまで、任意の数のフレームを無視してもよい、および/または取り除いてもよい。この処理は、たとえば、誤った挿入箇所検出を防止するのに役立つ場合がある。
【0058】
挿入箇所フラグ・エディタ・エンジン306は、1つまたは複数の広告をつなぎ合わせるための挿入箇所を示すカスタムフレームを挿入するように構成されてもよい。たとえば、黒フレームのシーケンスの位置特定に基づき、挿入箇所を登録すると、挿入箇所フラグ・エディタ・エンジン306は、黒フレームをカスタムフレームと置換してもよい。次いで、その後のパスで、挿入箇所検出エンジン304は、カスタムフレームと一致するフレームを求めて印のつかないコンテンツ項目をスキャンしてもよい。いくつかの実施形態では、カスタムフレームは、特定の1組の1つまたは複数のフレーム検出属性を備えてもよい。たとえば、カスタムフレームは、ロゴ(たとえば、「SnifferCat」ロゴ)を含んでもよい。これをリアルタイムで、たとえば、印のつかないコンテンツ項目のストリーミングと共に行ってもよい、および/または「オフラインで」、もしくはバッチ処理で行ってもよい。
【0059】
図4は、いくつかの実施形態による出版システム118の詳細を例示する構成
図400を示す。いくつかの実施形態では、出版システム118は、コントローラエンジン402、消費者インタフェースエンジン404、消費者プロファイルマネージャ406、コンテンツ・プロバイダ・インタフェース・エンジン408、コンテンツ・マネージャ・エンジン410、広告プロバイダ・インタフェース・エンジン412、広告マネージャエンジン414、プログラム・ガイド・エンジン416、コンテンツおよび広告処理システム(または「コンテンツ処理システム」)418、コンテンツおよび広告配信システム(または「コンテンツ配信システム」)420、ならびに出版システムデータストア422を含む。
【0060】
コントローラエンジン402は、エンジン404〜420および出版システムデータストア422の一部およびすべての機能および/または相互作用を制御するように構成されてもよい。いくつかの実施形態では、コントローラエンジン402は、データストア422を管理する。たとえば、コントローラエンジン402は、受信したストリーミングコンテンツ(たとえば、印のつかないコンテンツ項目114)をデータストア422にキャッシュまたはバッファリングする、キャッシュした、またはバッファリングしたコンテンツをデータストア422から読み出す、データストア422内にキャッシュした、またはバッファリングしたコンテンツを更新する、データストア422内にキャッシュした、またはバッファリングしたコンテンツを削除するなどしてもよい。
【0061】
消費者インタフェースエンジン404は、通信ネットワークを介して消費者プロファイル情報を要求および受信して、消費者システムに関連する消費者プロファイルを生成するように構成されてもよい。たとえば、消費者プロファイルを使用して、対応する消費者システムが提示するために、印のつかないコンテンツ項目をフォーマットする、対応する消費者システムが提示するために、広告をフォーマットする、広告を要求するために、消費者システム属性を選択する、印のつかないコンテンツ項目を推奨するなどしてもよい。いくつかの実施形態では、消費者インタフェースエンジン404は、HTTPプロトコルまたはHTTPSプロトコルの実装を備えてもよい。
【0062】
消費者プロファイルエンジン406は、消費者プロファイルを管理する(たとえば、作成する、読み出す、更新する、削除する、または他の方法でアクセスする)ように構成されてもよい。たとえば、消費者プロファイルをデータストア422に記憶してもよい。いくつかの実施形態では、消費者プロファイルは、コンピュータハードウェア属性、人口統計学的属性、地理的属性、市場調査的属性などを記憶してもよい。たとえば、消費者プロファイルは、以下の情報の一部またはすべてを記憶してもよい。
・消費者プロファイル識別子:消費者プロファイルを識別する。
・OS:関連するコンピュータシステムのオペレーティングシステム(たとえば、Windows、MacOS、Linux(登録商標)など)。
・ネットワーク接続:速度(たとえば、5Mビット/秒)および/または接続のタイプ(たとえば、LAN、WAN、無線、有線など)。
・表示:関連するコンピュータシステムの表示属性(たとえば、画面サイズ、画面解像度など)。
・オーディオ:関連するコンピュータシステムのオーディオ属性。
・機器タイプ:関連するコンピュータシステムの機器のタイプ(たとえば、携帯型機器、ラップトップコンピュータ、デスクトップコンピュータなど)。
・性別:消費者プロファイルに関連する消費者の性別。
・名前:消費者プロファイルに関連する消費者の名前。
・年齢:消費者プロファイルに関連する消費者の年齢。
・地理的位置:たとえば、位置特定サービスにより決定される、および/または消費者により指定されるような、消費者プロファイルに関連する消費者の現在位置。
・コンテンツ視聴履歴:消費者または関連するシステムがストリーミングしたコンテンツの履歴。たとえば、ストリーミングしたタイトル、タイムスタンプ情報などのリスト。
・広告視聴履歴:広告の視聴履歴。たとえば、ストリーミングされた広告のリスト、クリックスルーまたは他の関係がある活動(たとえば、広告スポンサーのウェブサイトの視聴)をもたらした広告のリスト、飛ばされた、または早送りされた広告のリストなど。
【0063】
コンテンツ・プロバイダ・インタフェース・エンジン408は、通信ネットワークを介して印のつかないコンテンツ項目を要求し、受信するように構成されてもよい。いくつかの実施形態では、コンテンツ・インタフェース・エンジン408は、RTSPロトコルの実装を備える。
【0064】
コンテンツ・マネージャ・エンジン410は、ローカルに記憶された(たとえば、ストリーミングされた、キャッシュされた、バッファリングされたなど)印のつかないコンテンツ項目を管理する(たとえば、作成する、読み出す、更新する、削除する、または他の方法でアクセスする)ように構成されてもよい。たとえば、印のつかないコンテンツ項目を、データストア422に少なくとも一時的に、ローカルに記憶してもよい。たとえば、印のつかないコンテンツ項目は、以下の情報の一部またはすべてを含んでもよい。
・コンテンツ項目識別子:印のつかないコンテンツ項目を識別する。
・コンテンツ:印のつかないコンテンツ項目のストリーミング動作可能なデータ。
・コンテンツフォーマット:印のつかないコンテンツ項目のメディアフォーマット(たとえば、MPEG、MOV、AVIなど)。
・表示品質:印のつかないコンテンツ項目の表示属性(たとえば、解像度、推奨画面サイズ、色品質、オーディオ品質など)。
・ビデオコンテンツ時間:印のつかないコンテンツ項目に含まれるビデオコンテンツの継続時間。たとえば、テレビ番組の1回分の放映時間。
・タイトル:コンテンツのタイトル(たとえば、「Seinfeld、S1、Ep.2」)。
・ジャンル:印のつかないコンテンツ項目のジャンル(たとえば、喜劇、ドラマ、アクションなど)。
【0065】
いくつかの実施形態では、コンテンツマネージャ410は、印のつかないコンテンツ項目をフォーマットする、または他の方法で修正する。たとえば、コンテンツ・マネージャ・エンジン410は、対象となるコンピュータシステムに関連する消費者プロファイル属性に基づき、印のつかないコンテンツ項目をフォーマットしてもよい。
【0066】
広告プロバイダ・インタフェース・エンジン412は、通信ネットワークを介して広告を要求し、受信するように構成されてもよい。いくつかの実施形態では、広告プロバイダ・インタフェース・エンジン412は、VASTプロトコルの実装を備えてもよい。
【0067】
広告マネージャエンジン414は、ローカルに記憶された(たとえば、ストリーミングされた、キャッシュされた、バッファリングされたなど)広告を管理する(たとえば、作成する、読み出す、更新する、削除する、または他の方法でアクセスする)ように構成されてもよい。たとえば、広告を、データストア422に少なくとも一時的に記憶してもよい。たとえば、広告は、以下の情報の一部またはすべてを含んでもよい。
・広告識別子:広告を識別する。
・広告:広告のストリーミング動作可能なデータ。
・広告フォーマット:広告のメディアフォーマット(たとえば、MPEG、MOV、AVIなど)。
・表示品質:広告の表示属性(たとえば、解像度、推奨画面サイズ、色品質、オーディオ品質など)。
・広告時間:広告の継続時間。たとえば、広告の放映時間。
タイトル:広告のタイトル。
・ジャンル:広告のジャンル(たとえば、スポーツ、家の改築、食事、買い物など)。
【0068】
いくつかの実施形態では、広告マネージャエンジン414は、広告をフォーマットする、または他の方法で修正する。たとえば、広告マネージャエンジン414は、対象となるコンピュータシステムに関連する消費者プロファイル属性に基づき、広告をフォーマットしてもよい。
【0069】
いくつかの実施形態では、広告マネージャエンジン414は、対象となる広告を受信するための消費者システム属性を選択する。たとえば、ストリーミング対象に関連する1つまたは複数の消費者プロファイル属性に基づき、広告プロバイダシステム102は、広告を選択してもよい。いくつかの実施形態では、消費者システム属性をリアルタイムで(たとえば、関連する、印のつかないコンテンツ項目を、対象にストリーミングしている間)、および/またはストリーミングする前に(または「オフラインで」)選択してもよい。
【0070】
プログラム・ガイド・エンジン416は、印のつかないコンテンツ項目のガイド(たとえば、「コンテンツリスト」)を提供するように構成されてもよい。たとえば、印のつかない項目を選択するために、消費者システムにガイドを提示してもよい。いくつかの実施形態では、ガイドは、消費者システム上に表示してもよいグラフィカル・ユーザ・インタフェース(graphical user interface、GUI)を備えてもよい。いくつかの実施形態では、プログラム・ガイド・エンジン416は、印のつかないコンテンツ項目を記憶するためのコンテンツマッピング(または「マッピング」)を提供する。たとえば、印のつかないコンテンツ項目をローカルに(たとえば、データストア422に)および/または遠隔に(たとえば、コンテンツ・プロバイダ・システム104が)記憶してもよい。消費者システム108にストリーミングするために、マッピングを使用して、印のつかないコンテンツ項目を取り出してもよい。たとえば、消費者システム108は、ガイドを通して印のつかないコンテンツ項目を閲覧し、選択してもよく、選択した、印のつかないコンテンツ項目をマッピングに基づき取り出してもよい。
【0071】
いくつかの実施形態では、印のつかないコンテンツ項目をセグメントの形で取り出してもよく、これにより、ストリーミングの品質および/または性能が改善される場合がある。たとえば、マッピングに基づき第1のセグメントを取り出してもよい(たとえば、コンテンツ・プロバイダ・システム104から消費者システム108へストリーミングされる)。第1のセグメントが終わると、またはたとえば、後続のセグメントのバッファリングを考慮して、第1のセグメントの終わり近くの範囲内で、マッピングに基づき第2のセグメントを取り出してもよい(たとえば、サーバシステム106から消費者システム108へストリーミングされる)。
【0072】
いくつかの実施形態では、プログラム・ガイド・エンジン416は、異なる位置に記憶された同じ、印のつかないコンテンツ項目のセグメントに関するマッピングを生成するように構成されてもよい。たとえば、マッピングは、第1組のセグメント(たとえば、少なくとも1つの挿入箇所を含むセグメント)がサーバシステム106上に記憶され、第2組のセグメント(たとえば、挿入箇所をまったく伴わないセグメント)がコンテンツ・プロバイダ・システム104上に記憶されていることを示してもよい。マッピングを、たとえばサーバ・システム・データベース422に記憶してもよい。いくつかの実施形態では、マッピングに基づき、第1組のセグメントをサーバシステム106から消費者システム108へストリーミングしてもよく、第2組のセグメントをコンテンツ・プロバイダ・システム104からストリーミングしてもよい。
【0073】
コンテンツ処理エンジン418は、印のつかないコンテンツ項目の中に広告をつなぎ合わせるように構成されてもよい。いくつかの実施形態では、コンテンツ処理エンジン418は、印のつかないコンテンツ項目を修正して、印のつかないコンテンツ項目のデータの中に広告データを含める。たとえば、コンテンツ処理エンジン418は、1組の連続した黒フレームを1つまたは複数の広告と置換してもよい。他の実施形態では、コンテンツ処理エンジン418は、印のつかないコンテンツ項目を必ずしも修正することなく、登録された挿入箇所に到達すると、1つまたは複数の広告のストリーミングをトリガする。
【0074】
いくつかの実施形態では、コンテンツ処理エンジン418は、印のつかないコンテンツ項目の「真の時間」を計算する。たとえば、印のつかないコンテンツ項目は、ビデオコンテンツ、および広告に関する挿入箇所を示す黒フレームを含んでもよい。ビデオコンテンツの継続時間または「放映時間」は、たとえば22分であってもよい。任意のつなぎ合わせた広告の放映時間および継続時間に基づき、真の時間を計算してもよい。たとえば、合計1分になる2つの広告のセグメントを第1の挿入箇所でつなぎ合わせて、合計1分30秒になる3つの広告のセグメントを第2の挿入箇所でつなぎ合わせる場合、真の時間は、24分30秒であってもよい。ストリーミングされた、印のつかないコンテンツ項目および/または広告を視聴している間、消費者に提示される状態インジケータ(たとえば、スクロールバー)の中に真の時間を反映してもよい。
【0075】
いくつかの実施形態では動的に、および/または印のつかないコンテンツ項目のストリーミングを開始する前に、真の時間を計算してもよい。たとえば、ストリーミングの前に広告を受信する場合、ストリーミングの前に真の時間を同様に計算してもよい。あるいは、広告をリアルタイムで(たとえば、印のつかないコンテンツ項目のストリーミング中に)受信する場合、ストリーミングの前に広告の継続時間は不明である場合があり、ストリーミング中に真の時間を計算してもよい。
【0076】
コンテンツ配信エンジン420は、消費者システムが再生するための、印のつかないコンテンツ項目および広告を提供するように構成されてもよい。たとえば、コンテンツ配信エンジン420は、通信ネットワークを介して印のつかないコンテンツ項目および広告をストリーミングしてもよい。上記で論じたように、さまざまな実施形態では、印のつかないコンテンツ項目を、ストリーミングの品質および/または性能を改善する場合があるセグメントの形でストリーミングしてもよい。たとえば、第1のセグメントをストリーミングしてもよく、第1のセグメントが終わると、またはたとえば、後続のセグメントのバッファリングを考慮するために第1のセグメントの終わり近くの範囲内で、第2のセグメントをストリーミングしてもよい。
【0077】
図5は、いくつかの実施形態によるコンテンツ配信ネットワークシステム100の詳細を例示する構成
図500を示す。図示するように、サーバ・システム・データベース422は、消費者プロファイル422a、処理済みコンテンツキャッシュ422b、およびコンテンツマッピング422cを記憶する。消費者システム108は、印のつかない項目のHTTPリクエストを消費者インタフェースエンジン404に提供する。消費者インタフェースエンジン404は、対応するプロファイルをサーバ・システム・データベース422から取り出す。コンテンツ・プロバイダ・インタフェース・エンジン408は、RTSPプロトコルを使用して、要求された、印のつかないコンテンツ項目をコンテンツ・プロバイダ・システム104から取り出す。挿入箇所検出器エンジン304は、印のつかないコンテンツ項目を処理して、1つまたは複数の挿入箇所を検出して、登録する。処理された、印のつかないコンテンツ項目を、処理済みコンテンツキャッシュ422に記憶する。コンテンツ処理エンジン418は、対応するプロファイルに基づき1つまたは複数の広告を選択し、プロバイダ・インタフェース・エンジン412は、VASTプロトコルを使用して、選択した広告をプロバイダシステム102から取り出す。サーバシステム106は、コンテンツマッピング422cに基づき、処理した、印のつかないコンテンツ項目を消費者システム108へセグメントの形でストリーミングしてもよい。
【0078】
図6は、いくつかの実施形態による、ストリーミングコンテンツ(たとえば、印のつかないコンテンツ項目114)の中に1つまたは複数の広告をつなぎ合わせる方法を例示する流れ
図600を示す。この流れ図および他の流れ図では、流れ図は、ステップのシーケンスを例として示す。適用可能であるとき、ステップを並列に実行するために再編成しても、並べ替えてもよいことを理解されたい。さらに、明確にするために、あまりにも多くの情報を提供しすぎるのを防止するために、含まれていた可能性があるいくつかのステップを取り除いた場合があり、含まれていたいくつかのステップを取り除くことができるが、説明を明確にするために含めた場合がある。
【0079】
ステップ602で、消費者システム108は、サーバシステム106に消費者プロファイル情報を提供する。たとえば、サーバシステム106は、アカウント登録リクエストに応答して情報を得てもよい。いくつかの実施形態では、消費者システム108のクライアントシステム122は、通信ネットワーク110を介して消費者プロファイル情報を伝送し、サーバシステム106の消費者インタフェースエンジン404は、通信ネットワーク110を介して消費者プロファイル情報を受信する。たとえば、ソーシャルネットワークから、ユーザのコンテンツ選択を監視することから、コンテンツプロバイダ(たとえば、Netflix)から、検索エンジン(たとえば、Google)からなど、他の手段からプロファイル情報を得ることができる。
【0080】
ステップ604で、消費者システム108は、コンテンツリストのリクエストをサーバシステム106に伝送する。いくつかの実施形態では、サーバシステム106のプログラム・ガイド・エンジン416は、リクエストを受信する。
【0081】
ステップ606で、サーバシステム106は、コンテンツ・プロバイダ・システム104にコンテンツリストのリクエストを伝送する。いくつかの実施形態では、コンテンツ・プロバイダ・インタフェース・エンジン408は、リクエストを伝送する。
【0082】
ステップ608で、コンテンツシステム104は、サーバシステム106にコンテンツリストを伝送する。いくつかの実施形態では、サーバシステム106のコンテンツ・プロバイダ・インタフェース・エンジン408は、コンテンツリストを受信する。
【0083】
ステップ610で、サーバシステム106は、コンテンツ・プロバイダ・システム104にコンテンツリストを伝送する。コンテンツ・プロバイダ・システム104は、消費者にコンテンツリストを提示する。いくつかの実施形態では、クライアントシステム122は、コンテンツリストを受信して表示する。
【0084】
ステップ612で、消費者システム108は、選択した、印のつかないコンテンツ項目の再生のリクエストを伝送する。いくつかの実施形態では、クライアントシステム122は、リクエストを提出する。
【0085】
ステップ614で、サーバシステム106は、広告プロバイダシステム102に、印のつかないコンテンツ項目の中につなぎ合わせるべき1つまたは複数の広告のリクエストを伝送する。いくつかの実施形態では、プロバイダ・インタフェース・エンジン412は、リクエストを発行する。いくつかの実施形態では、リクエストは、消費者システム108の1つまたは複数の属性に基づく。
【0086】
ステップ616で、広告プロバイダシステム102は、サーバシステム106に1つまたは複数の広告を提供する。いくつかの実施形態では、広告インタフェースエンジン412は、1つまたは複数の広告を受信する。
【0087】
ステップ618で、サーバシステム106は、コンテンツ・プロバイダ・システム104に、選択した、印のつかないコンテンツ項目のリクエストを伝送する。いくつかの実施形態では、コンテンツ・プロバイダ・インタフェース・エンジン408は、リクエストを発行する。
【0088】
ステップ620で、コンテンツ・プロバイダ・システム104は、サーバシステム106に、選択した、印のつかないコンテンツ項目を提供する。いくつかの実施形態では、コンテンツ・プロバイダ・システム104は、印のつかないコンテンツ項目をダウンロードし、コンテンツ・プロバイダ・インタフェース・エンジン408は、ダウンロードを受信する。いくつかの実施形態では、コンテンツ・プロバイダ・システム104は、コンテンツ全体を提供する。いくつかの実施形態では、コンテンツ・プロバイダ・システム104は、事前にダウンロードしていなかったコンテンツだけをサーバシステム106に提供する。いくつかの実施形態では、コンテンツ・プロバイダ・システム104は、コンテンツをセグメントの形で提供する。
【0089】
ステップ622で、サーバシステム106は、印のつかないコンテンツ項目を処理して、1つまたは複数の挿入箇所を自動的に識別する。いくつかの実施形態では、コンテンツ処理エンジン418は、識別を遂行する。サーバシステム106は、検出した挿入箇所の中に1つまたは複数の広告をさらにつなぎ合わせる。いくつかの実施形態では、コンテンツ処理エンジン418は、つなぎ合わせを遂行する。
【0090】
ステップ624で、サーバシステム106は、つなぎ合わせたコンテンツを消費者システム108に伝送する。いくつかの実施形態では、サーバシステム106は、挿入箇所でコンテンツの中に広告を挿入して、つなぎ合わせたコンテンツをストリーミングしてもよい。いくつかの実施形態では、サーバシステム106は、挿入箇所に到達するまで、消費者システム108に印のつかないコンテンツ項目をストリーミングしてもよい。挿入箇所に到達すると、印のつかないコンテンツ項目のストリーミングを一時停止してもよく、サーバシステム106は、1つまたは複数の広告をストリーミングしてもよい。広告の完了後、サーバシステム106は、印のつかないコンテンツ項目のストリーミングを再開してもよい。サーバシステム106は、挿入箇所ごとに繰り返してもよい。いくつかの実施形態では、サーバシステム106のコンテンツ配信エンジン420は、つなぎ合わせたコンテンツを提供する。
【0091】
図7は、いくつかの実施形態による、ストリーミングコンテンツの中に1つまたは複数の広告をつなぎ合わせるための、サーバシステム106の動作方法を例示する流れ
図700を示す。
【0092】
ステップ702で、広告インタフェースエンジン412は、1つまたは複数の広告112を受信し、コントローラエンジン402は、これらの広告をサーバ・システム・データストア422に少なくとも一時的に記憶する(たとえば、キャッシュする、またはバッファリングする)。
【0093】
ステップ704で、コンテンツ・インタフェース・エンジン408は、印のつかないコンテンツ項目114を受信し、コントローラエンジン402は、印のつかないコンテンツ項目114をサーバ・システム・データストア422に少なくとも一時的に記憶する(たとえば、キャッシュする、またはバッファリングする)。印のつかないコンテンツ項目は、1組の1つまたは複数の連続した黒フレームを含む、ストリーミング動作可能なビデオを備えてもよい。
【0094】
ステップ706で、挿入箇所検出器エンジン304は、1組の連続した黒フレームのうち少なくとも1つの黒フレームの位置に基づき、挿入箇所を識別する。いくつかの実施形態では、挿入箇所は、消費者システムにストリーミングしている、印のつかないコンテンツ項目114の現在の再生箇所の前にある。
【0095】
ステップ708で、コンテンツ処理エンジン418は、挿入箇所で印のつかないコンテンツ項目の中に1つまたは複数の広告をつなぎ合わせる。いくつかの実施形態では、コンテンツ処理エンジン418は、たとえば、黒フレームを1つまたは複数の広告のフレームと置換することにより、印のつかないコンテンツに1つまたは複数の広告を追加してもよい。他の実施形態では、コンテンツ処理エンジン418は、印のつかないコンテンツ項目を修正せず、挿入箇所に到達すると、コンテンツ再生を一時停止した後、コンテンツ配信エンジン422に1つまたは複数の広告をストリーミングするように指示する。
【0096】
ステップ710で、コンテンツ配信システム422は、挿入箇所に到達するまで消費者システム108に印のつかないコンテンツ項目114をストリーミングして、挿入箇所に到達したとき、消費者システム108に1つまたは複数の広告をストリーミングする。
【0097】
図8は、いくつかの実施形態による、ストリーミングコンテンツの特定のセグメントの中に1つまたは複数の広告をつなぎ合わせるための、サーバシステム106の動作方法を例示する流れ
図800を示す。上記で論じたように、印のつかないコンテンツ項目をセグメントの形でストリーミングしてもよい。いくつかの実施形態では、印のつかないコンテンツ項目の特定のセグメントをサーバシステム106がストリーミングしてもよく、印のつかないコンテンツ項目の残りのセグメントを遠隔システム(たとえば、コンテンツ・プロバイダ・システム104)が提供してもよい。これは、サーバシステム106に印のつかないコンテンツ項目の特定のセグメント(たとえば、挿入箇所を伴うセグメント)だけを処理および/またはストリーミングするように要求することにより、サーバシステム106の負荷を低減するのに役立つ場合がある。
【0098】
ステップ802で、コンテンツ処理エンジン418は、印のつかないコンテンツ項目のセグメントを識別する。たとえば、22分のテレビ番組1回分に関する印のつかないコンテンツ項目は、25のセグメントを有してもよい。いくつかの実施形態では、印のつかないコンテンツ項目の1つまたは複数の特定のセグメントは、少なくとも1つの挿入箇所(たとえば、1組の1つまたは複数の連続した黒フレームにより識別される)を含み、残りのセグメントは、挿入箇所をまったく伴わないビデオコンテンツだけを含む。たとえば、最初の2つのセグメントには挿入箇所がまったくなくてもよく、3番目のセグメントは挿入箇所を含んでもよいなどである。
【0099】
いくつかの実施形態では、挿入箇所は、単一のセグメントに完全に含まれても、複数のセグメント全体にわたり分散してもよい。たとえば、1組の連続した黒フレームを、特定のセグメント内部に含んでも、2つのセグメントの間に(たとえば、3番目のセグメントと4番目のセグメントの間に)含んでもよい。
【0100】
いくつかの実施形態では、サーバシステム106は、バッチ識別処理の一部として、挿入箇所を伴うセグメントをオフラインで識別する。たとえば、コンテンツ・プロバイダ・システム104は、印のつかないコンテンツ項目のライブラリを維持してもよい。それに応じて、いくつかの実施形態では、サーバシステム106は、選択した、印のつかないコンテンツ項目のストリーミングを消費者システム108が要求する前に、挿入箇所を有するセグメントを識別してもよい。
【0101】
ステップ804で、プログラム・ガイド・エンジン416は、印のつかないコンテンツ項目に関するコンテンツマッピングを生成する。いくつかの実施形態では、コンテンツマッピングは、プレーヤがセグメントを得るための、印のつかないコンテンツ項目の各セグメントの位置を示すテーブルまたは他の構造を備える。たとえば、挿入箇所を伴わないセグメントをコンテンツ・プロバイダ・システム104に記憶して、コンテンツ・プロバイダ・システム104上の位置を識別するURLを使用して、プレーヤが取り出してもよく、挿入箇所を有するセグメントをサーバシステム106に記憶して、サーバシステム106上の位置を識別するURLを使用して、プレーヤが取り出してもよい。
【0102】
ステップ806で、コントローラエンジン402は、サーバ・システム・データストア422にコンテンツマッピングを記憶する。さまざまな実施形態では、消費者システム108にコンテンツマップの一部またはすべてを提供して、印のつかないコンテンツ項目の選択および再生を容易にしてもよい。たとえば、ストリーミングするために印のつかないコンテンツ項目を選択した後、サーバシステム106は、消費者システム108に印のつかないコンテンツ項目のセグメントごとのURLを提供してもよい。次いで、消費者システム108は、個々のURLに順次に誘導することにより、印のつかないコンテンツ項目を再生してもよい。
【0103】
ステップ808で、コンテンツ・マネージャ・エンジン410は、挿入箇所の少なくとも一部分を有する、印のつかないコンテンツ項目の特定のセグメントを記憶する。たとえば、セグメント1〜3、5〜9、12〜18、20、21、および25が挿入箇所の少なくとも一部分を含まず、セグメント4、10、11、19、および22〜24が挿入箇所の少なくとも一部分をそれぞれ含む25のセグメントを備える印のつかないコンテンツ項目については、サーバシステム106は、セグメント4、10、11、19、および22〜24を記憶してもよい。
【0104】
ステップ810で、コンテンツ処理エンジン418は、1つまたは複数の挿入箇所で特定のセグメントの中に1つまたは複数の広告をつなぎ合わせる。上記の例を続けると、サーバシステム106は、25のセグメントからなる印のつかないコンテンツ項目の4、10、11、19、および22〜24の中に広告をつなぎ合わせてもよい。いくつかの実施形態では、サーバシステム106は、たとえば、黒フレームを1つまたは複数の広告のフレームと置換することにより、特定のセグメントの内部に1つまたは複数の広告を付加してもよい。他の実施形態では、サーバシステム106は、特定のセグメントを修正せず、挿入箇所に到達すると、コンテンツ再生を一時停止した後、1つまたは複数の広告をストリーミングする。それに応じて、いくつかの実施形態では、「つなぎ合わせたコンテンツ」は、必ずしも修正されていないコンテンツ項目を含んでも、修正されたコンテンツ項目を含んでもよいことを認識されよう。
【0105】
ステップ812で、コンテンツ・プロバイダ・システム104は、挿入箇所を伴わないセグメントを提供し、サーバシステム106は、つなぎ合わせたセグメントを消費者システム108に提供する。上記の例を続けると、コンテンツ・プロバイダ・システム104は、上記のセグメント1〜3、5〜9、12〜18、20、21、および25を消費者システム108にストリーミングしてもよい。サーバシステム106は、セグメント4、10、11、19、および22〜24を消費者システム108にストリーミングしてもよい。サーバシステム106は、上記の特定のセグメントを再生する間、決められた配信時間に広告を提供してもよい。いくつかの実施形態では、コンテンツ配信処理エンジン420は、つなぎ合わせたセグメントを提供する。
【0106】
図9は、いくつかの実施形態によるコンテンツ配信ネットワークシステム100の詳細を例示する構成
図900を示す。図示するように、コンテンツ・プロバイダ・データベース104aは、印のつかないコンテンツ項目114を記憶する。挿入箇所検出器エンジン304は、(たとえば、1組の連続した黒フレームにより示されるような)印のつかないコンテンツ項目114内の1つまたは複数の挿入箇所を検出する。管理アプリケーション902は、挿入箇所を検証してもよい、および/または挿入箇所を修正してもよい。たとえば、管理アプリケーション902は、連続した挿入箇所を単一の挿入箇所と置換してもよい。任意選択のビデオ・スライサ・エンジン904は、少なくとも1つの挿入箇所を伴うセグメント、および挿入箇所をまったく伴わないセグメントに基づき、印のつかないコンテンツ項目114をスライスしてもよい。いくつかの実施形態では、印のつかないコンテンツ項目114を(たとえば、コンテンツ・プロバイダ・システム104により)事前にスライスしてもよい。サーバ・システム・データベース422は、少なくとも1つの挿入箇所を有するスライス(または「セグメント」)906を記憶し、サーバ・システム・データベース422に記憶されるマッピング422cを生成する。たとえば、マッピング422cは、M3U8フォーマットを備えてもよい。マッピング422cは、印のつかないコンテンツ項目114のセグメントごとの位置を含んでもよい。消費者システム108は、たとえばHTTPSプロトコルを使用して、消費者インタフェースエンジン404を介して、サーバシステム106から印のつかないコンテンツ項目114(または「ビデオ」)を要求する。プレイリストクリエータ908は、サーバ・システム・データストア422に記憶されたコンテンツマッピング422cに基づき、挿入箇所を伴うセグメントおよび挿入箇所を伴わないセグメントを含むプレイリストを生成する。広告プロバイダ・インタフェース・エンジン412は、VASTプロトコルを使用して広告サーバ102から広告112を収集する。消費者インタフェースエンジン404を通して消費者システム108にプレイリストを提供してもよく、消費者システム108は、プレイリスト、またはプレイリストのいくつかの部分を実行して、サーバシステム106から広告を伴うセグメント906を、コンテンツ・プロバイダ・データベース104aから広告をまったく伴わないセグメント114を、ストリーミングしてもよい。コンテンツ処理エンジン418は、消費者システム108に1つまたは複数のセグメントをストリーミングする間、広告をつなぎ合わせてもよい。
【0107】
図10は、いくつかの実施形態による、ストリーミングコンテンツの中に1つまたは複数の広告をつなぎ合わせる方法を例示する流れ
図1000を示す。
【0108】
ステップ1002で、コンテンツ・プロバイダ・システム104は、サーバシステム106に、印のつかないコンテンツ項目を提供する。いくつかの実施形態では、サーバシステム106のコンテンツ・プロバイダ・インタフェース・エンジン408は、印のつかないコンテンツ項目を受信し、コンテンツ・マネージャ・エンジン410は、印のつかないコンテンツ項目をサーバ・システム・データストア422に少なくとも一時的に記憶する(たとえば、キャッシュする)。
【0109】
ステップ1004で、サーバシステム106は、印のつかないコンテンツ項目内で少なくとも1つの挿入箇所を検出する。いくつかの実施形態では、挿入箇所検出器エンジン304は、1組または複数組の連続した黒フレームに基づき、挿入箇所を識別する。
【0110】
ステップ1006で、サーバシステム106は、挿入箇所を伴うセグメントをデータベース422に記憶する。ステップ1008で、サーバシステム106は、セグメントごとの位置を示すコンテンツマッピングを生成する。たとえば、コンテンツマッピングは、挿入箇所を伴うセグメントに関するサーバシステム106を指し示し、かつ挿入箇所をまったく伴わないセグメントに関するコンテンツ・プロバイダ・システム104を指し示す、1組のURLを備える。いくつかの実施形態では、プログラム・ガイド・エンジン416は、コンテンツマッピングを生成する。
【0111】
ステップ1010で、サーバシステム106は、サーバ・システム・データストア422にコンテンツマッピングを記憶する。いくつかの実施形態では、コントローラエンジン402は、サーバ・システム・データストア422にコンテンツマッピングを記憶する。
【0112】
ステップ1012で、消費者システム108は、印のつかないコンテンツ項目を、たとえば、印のつかないコンテンツ項目のリストまたは他の構造を閲覧するリクエストを、サーバシステム106に提供する。いくつかの実施形態では、サーバシステム106の消費者インタフェースエンジン404は、消費者システム108からリクエストを受信する。
【0113】
ステップ1014で、サーバシステム106は、印のつかないコンテンツ項目のリストのリクエストをデータベース422に提供する。ステップ1016で、データベース422は、サーバシステム106にリストを提供する。ステップ1018で、サーバシステム106は、消費者システム108にリストを提供する。いくつかの実施形態では、コンテンツ・マネージャ・エンジン410は、リストのリクエストを提供し、リストのリクエストを受信し、消費者インタフェースエンジン404は、消費者システム108にリストを提供する。
【0114】
ステップ1020で、消費者システム108は、印のつかないコンテンツ項目をストリーミングするリクエストをサーバシステム106に提供する。いくつかの実施形態では、消費者インタフェースエンジン404は、リクエストを受信する。
【0115】
ステップ1022で、サーバシステム106は、印のつかないコンテンツ項目に対応するコンテンツマッピングのリクエストをデータベース422に提供する。いくつかの実施形態では、コンテンツ・マネージャ・エンジン410は、リクエストを提供する。
【0116】
ステップ1024で、データベース422は、サーバシステム106にコンテンツマッピングを提供する。ステップ1026で、サーバシステム106は、コンテンツマッピングおよび広告に基づきプレイリストを生成する。いくつかの実施形態では、プログラム・ガイド・エンジン416は、プレイリストを生成する。他の実施形態では、プレイリスト・クリエータ・エンジン908は、プレイリストを生成する。
【0117】
ステップ1028で、サーバシステム106は、消費者システム108にプレイリストを提供する。いくつかの実施形態では、消費者インタフェースエンジン404は、プレイリストを提供する。
【0118】
ステップ1030で、消費者システム108は、挿入箇所をまったく伴わない1つまたは複数のセグメントのリクエストをコンテンツ・プロバイダ・システム104に提供する。リクエストは、プレイリストに基づいてもよい。たとえば、リクエストは、コンテンツ・プロバイダ・システム104の位置を指し示すURLを備えてもよい。ステップ1032で、コンテンツ・プロバイダ・システム104は、要求されたセグメントを消費者システム108に提供し、消費者システム108は、セグメントを描画する。
【0119】
ステップ1034で、消費者システム108は、少なくとも1つの挿入箇所をそれぞれ有する1つまたは複数のセグメントのリクエストをサーバシステム106に提供する。リクエストは、プレイリストに基づいてもよい。たとえば、リクエストは、サーバシステム106の位置を指し示すURLを備えてもよい。ステップ1036で、サーバシステム106は、データベース422にリクエストを提供する。
【0120】
ステップ1038で、サーバシステム106は、広告サーバ102に1つまたは複数の広告のリクエストを提供する。いくつかの実施形態では、広告プロバイダ・インタフェース・エンジン412は、リクエストを提供する。ステップ1040で、広告サーバ102は、サーバ106に広告を提供する。いくつかの実施形態では、広告プロバイダ・インタフェース・エンジン412は、広告を受信する。
【0121】
いくつかの実施形態では、サーバシステム106は、(たとえば、ステップ1034で)セグメントを要求する前に広告を要求する。たとえば、サーバシステム106は、コンテンツをストリーミングする前に、広告プロバイダシステム102から受信した広告をキャッシュしてもよい。
【0122】
ステップ1042で、データベース422は、サーバシステム106に挿入箇所を伴うセグメントを提供する。ステップ1044で、サーバシステム106は、印のつかないコンテンツ項目の中に広告をつなぎ合わせる。いくつかの実施形態では、コンテンツ処理エンジン418は、広告をつなぎ合わせる。
【0123】
ステップ1046で、サーバシステム106は、つなぎ合わせた広告を伴う、要求されたセグメントを消費者システム108に提供し、消費者システム108は、セグメントを描画する。印のつかないコンテンツ項目のストリーミングを終わらせるまで(たとえば、消費者入力に応答して、印のつかないコンテンツ項目の末端に到達するなどで)ステップ1030〜1046をさまざまな順序で繰り返してもよい。
【0124】
図11は、いくつかの実施形態によるコンピューティング機器1102の詳細を例示する構成
図1100を示す。広告プロバイダシステム102、コンテンツ・プロバイダ・システム104、サーバシステム106、消費者システム108、および通信ネットワーク110のいずれも、デジタル機器1102のインスタンスを備えてもよい。デジタル機器1102は、プロセッサ1104、メモリ1106、記憶領域1108、入力機器1110、通信ネットワークインタフェース1112、および通信チャネル1116に通信可能に結合された出力機器1114を備える。プロセッサ1104は、実行可能な命令(たとえば、プログラム)を実行するように構成される。いくつかの実施形態では、プロセッサ1104は、実行可能な命令を処理することができる回路または任意のプロセッサを備える。
【0125】
メモリ1106は、データを記憶する。メモリ1106のいくつかの例は、RAM、ROM、RAMキャッシュ、仮想記憶などのような記憶装置を含む。さまざまな実施形態では、作業データをメモリ1106の内部に記憶する。メモリ1106内部のデータを、クリアしても、最終的に記憶領域1108に転送してもよい。
【0126】
記憶領域1108は、データを取り出し、記憶するように構成された任意の記憶領域を含む。記憶領域1108のいくつかの例は、フラッシュドライブ、ハードドライブ、光学ドライブ、および/または磁気テープを含む。メモリシステム1106および記憶システム1108の各々は、プロセッサ1104により実行可能な命令またはプログラムを記憶するコンピュータ可読媒体を備える。
【0127】
入力機器1110は、データを入力する任意の機器(たとえば、マウスおよびキーボード)である。出力機器1114は、データを出力する(たとえば、スピーカまたは表示装置)。記憶領域1108、入力機器1110、および出力機器1114は任意選択であってもよいことが認識されよう。たとえば、ルータ/スイッチは、プロセッサ1104およびメモリ1106だけではなく、データを受信し、出力する機器(たとえば、通信ネットワークインタフェース1112および/または出力機器1114)も備えてもよい。
【0128】
通信ネットワークインタフェース1112を、リンク1118を介してネットワーク(たとえば、ネットワーク110)に結合してもよい。通信ネットワークインタフェース1112は、イーサネット(登録商標)接続、直列接続、並列接続、および/またはATA接続を介した通信をサポートしてもよい。通信ネットワークインタフェース1112はまた、無線通信(たとえば、802.11a/b/g/n、WiMAX、LTE、Wi−Fi)をサポートしてもよい。通信ネットワークインタフェース1112は、多くの有線および無線の規格をサポートしてもよいことが認識されよう。
【0129】
デジタル機器1102のハードウェア要素は、
図11に示すハードウェア要素に限定されないことが認識されよう。デジタル機器1102は、図示するよりも多くの、または少ないハードウェア、ソフトウェア、および/またはファームウェアの構成要素(たとえば、ドライバ、オペレーティングシステム、タッチ画面、生体測定分析器など)を備えてもよい。さらに、ハードウェア要素は、機能を共有し、本明細書に記述するさまざまな実施形態の範囲に依然として入る場合がある。一例では、符号化および/または復号を、プロセッサ1104、および/またはGPU(すなわち、NVIDIA)上に配置されたコプロセッサが遂行してもよい。
【0130】
「エンジン」、「システム」、「データストア」、および/または「データベース」は、ソフトウェア、ハードウェア、ファームウェア、および/または回路を備えてもよいことが認識されよう。一例では、プロセッサが遂行することができる命令を備える1つまたは複数のソフトウェアプログラムは、本明細書に記述するエンジン、データストア、データベース、またはシステムの機能のうち1つまたは複数を遂行してもよい。別の例では、回路は、同じまたは類似する機能を遂行してもよい。代替実施形態は、より多くの、より少ない、または機能的に等価なエンジン、システム、データストア、またはデータベースを備え、本実施形態の範囲に依然として入る場合がある。たとえば、さまざまなシステム、エンジン、データストア、および/またはデータベースの機能を別様に組み合わせても、分割してもよい。
【0131】
図12は、いくつかの実施形態による、1つまたは複数の広告を動的につなぎ合わせる方法を例示する流れ図を示す。
【0132】
ステップ1202で、コンテンツ・プロバイダ・システム104は、サーバシステム106に、印のつかないコンテンツ項目を提供する。いくつかの実施形態では、コンテンツ・プロバイダ・インタフェース・エンジン408は、印のつかないコンテンツ項目を受信し、コンテンツ・マネージャ・エンジン410は、印のつかないコンテンツ項目をサーバ・システム・データストア422に少なくとも一時的に記憶する(たとえば、キャッシュする)。
【0133】
ステップ1204で、サーバシステム106は、印のつかないコンテンツ項目内で少なくとも1つの挿入箇所を検出する。さまざまな実施形態では、挿入箇所検出器エンジン304は、1組または複数組の連続した黒フレームに基づき少なくとも1つの挿入箇所を識別する。
【0134】
いくつかの実施形態では、1組または複数組の連続した黒フレームを有する、印のつかないコンテンツ項目の各セグメントを、1組または複数組の連続した黒フレームに基づき、コンテンツの1つまたは複数の部分に論理的に分割してもよい。たとえば、セグメントの第1の部分は、開始部分(たとえば、セグメントの第1のフレーム)から第1組の連続した黒フレームまでずっとコンテンツの部分を備えてもよく、セグメントの第2の部分は、第1組の黒フレーム以後、末端部分(たとえば、セグメントの最終フレーム)または第2組の連続した黒フレームまでずっとコンテンツの部分を備えてもよい。セグメントは、任意の組数の連続した黒フレームを有してもよく、各組の連続した黒フレームを、対応する第1の部分および対応する第2の部分と関連づけてもよい。
【0135】
ステップ1206で、サーバシステム106は、少なくとも1つの挿入箇所を含む、印のつかないコンテンツ項目のセグメントから、1組または複数組の連続した黒フレームを取り除く。たとえば、対応する挿入箇所を取り巻くコンテンツの部分が、コンテンツの連続部分の間に、介在するフレーム(たとえば、黒フレーム、空のフレームなど)をまったく伴うことなく連続になるように、サーバシステム106は、特定のセグメントを修正して、特定の1組の連続した黒フレームを取り除くことができる。いくつかの実施形態では、サーバシステム106は、1組または複数組の連続した黒フレームを少なくとも1つの挿入箇所を示す1つもしくは複数のタグまたはメタデータと置換する。
【0136】
ステップ1208で、サーバシステム106は、挿入箇所を有するセグメント(たとえば、1組または複数組の連続した黒フレームを取り除かれた、修正されたセグメント)を記憶する。いくつかの実施形態では、サーバシステム106は、挿入箇所を伴うセグメントをデータベース422に記憶する。
【0137】
ステップ1210で、サーバシステム106は、セグメントごとの位置(たとえば、ストリーミング供給源位置)を示すコンテンツマッピングを生成する。たとえば、コンテンツマッピングは、挿入箇所を伴うセグメントに関するサーバシステム106を指し示す第1組のURI(たとえば、URL)、および挿入箇所をまったく伴わないセグメントに関するコンテンツ・プロバイダ・システム104を指し示す第2組のURIを備えてもよい。いくつかの実施形態では、コンテンツマッピングは、挿入箇所を含むセグメントのストリーミングに関連して広告を提供するために選択された1つまたは複数の広告プロバイダシステム102を示す。たとえば、コンテンツマッピングは、広告プロバイダシステム102を指し示す第3組のURIを備えてもよい。いくつかの実施形態では、プログラム・ガイド・エンジン416は、コンテンツマッピングを生成する。
【0138】
ステップ1212で、サーバシステム106は、コンテンツマッピングを記憶する。いくつかの実施形態では、コントローラエンジン402は、データベース422にコンテンツマッピングを記憶する。
【0139】
ステップ1214で、消費者システム108は、印のつかないコンテンツ項目を、たとえば、印のつかないコンテンツ項目のリストまたは他の構造を閲覧するリクエストをサーバシステム106に提供する。いくつかの実施形態では、消費者インタフェースエンジン404は、消費者システム108からリクエストを受信する。
【0140】
ステップ1216で、サーバシステム106は、印のつかないコンテンツ項目のリストのリクエストをデータベース422に提供する。ステップ1218で、データベース422は、サーバシステム106にリストを提供する。ステップ1220で、サーバシステム106は、消費者システム108にリストを提供する。いくつかの実施形態では、コンテンツ・マネージャ・エンジン410は、リストのリクエストを提供し、リストのリクエストを受信し、消費者インタフェースエンジン404は、消費者システム108にリストを提供する。ここでリストについて記述しているが、リストの代わりに、またはリストに加えて、他の構造を使用してもよい。
【0141】
ステップ1222で、消費者システム108は、印のつかないコンテンツ項目をストリーミングするリクエストをサーバシステム106に提供する。いくつかの実施形態では、消費者インタフェースエンジン404は、リクエストを受信する。
【0142】
ステップ1224で、サーバシステム106は、印のつかないコンテンツ項目に対応するコンテンツマッピングのリクエストをデータベース422に提供する。いくつかの実施形態では、コンテンツ・マネージャ・エンジン410は、リクエストを提供する。ステップ1226で、データベース422は、サーバシステム106にコンテンツマッピングを提供する。
【0143】
ステップ1228で、サーバシステム106は、広告プロバイダシステム102に広告プロバイダリクエストを提供する。たとえば、広告プロバイダリクエストは、VASTリクエストを備えてもよい。広告プロバイダリクエストは、広告プロバイダシステム102、および/または広告プロバイダシステム102に関連する1つもしくは複数のストリーミング動作可能な広告の位置(たとえば、URLまたは他のURI)のリクエストを備えてもよい。いくつかの実施形態では、広告プロバイダ・インタフェース・エンジン422は、広告プロバイダリクエストを提供する。
【0144】
ステップ1230で、広告プロバイダシステム102は、広告プロバイダリクエストに基づき、サーバシステム106に広告プロバイダ応答を提供する。たとえば、広告プロバイダ応答は、VAST応答を備えてもよい。広告プロバイダ応答は、要求された広告プロバイダシステム102、および/または要求された広告プロバイダシステム102に関連する1つもしくは複数のストリーミング動作可能な広告の位置を備えてもよい。いくつかの実施形態では、広告プロバイダ・インタフェース・エンジン412は、広告プロバイダ応答を受信する。
【0145】
ステップ1232で、サーバシステム106は、コンテンツマッピングおよび広告プロバイダ応答に基づきプレイリストを生成または更新する。いくつかの実施形態では、プレイリストは、印のつかないコンテンツ項目および1つまたは複数の広告のセグメントをストリーミングしてもよい位置を備えてもよい。たとえば、プレイリストは、挿入箇所を含むセグメントに関するサーバシステム106を指し示す位置、挿入箇所を伴わないセグメントに関するコンテンツ・プロバイダ・システム104を指し示す位置、および挿入箇所に到達したとき、印のつかないコンテンツ項目の対応するセグメントの再生と共にストリーミングすべき広告に関する広告プロバイダシステム102を指し示す位置を含んでもよい。いくつかの実施形態では、プログラム・ガイド・エンジン416は、プレイリストを生成する。他の実施形態では、プレイリスト・クリエータ・エンジン908は、プレイリストを生成する。
【0146】
ステップ1234で、サーバシステム106は、消費者システム108にプレイリストを提供する。いくつかの実施形態では、消費者インタフェースエンジン404は、プレイリストを提供する。
【0147】
ステップ1236で、消費者システム108は、プレイリストに基づき、挿入箇所をまったく伴わない1つまたは複数のセグメントのリクエストをコンテンツ・プロバイダ・システム104に提供する。たとえば、リクエストは、コンテンツ・プロバイダ・システム104の位置を指し示すURLを備えてもよい。ステップ1238で、コンテンツ・プロバイダ・システム104は、要求された1つまたは複数のセグメントを消費者システム108に提供し、消費者システム108は、1つまたは複数のセグメントを描画する。
【0148】
ステップ1240で、消費者システム108は、少なくとも1つの挿入箇所をそれぞれ有する1つまたは複数のセグメントのリクエストをサーバシステム106に提供する。リクエストは、プレイリストに基づいてもよい。たとえば、リクエストは、サーバシステム106の位置を指し示すURLを備えてもよい。ステップ1242で、サーバシステム106は、データベース422にリクエストを提供する。ステップ1244で、データベース422は、サーバシステム106に少なくとも1つの挿入箇所を有する、要求された1つまたは複数のセグメントを提供する。
【0149】
ステップ1246で、サーバシステム106は、少なくとも1つの挿入箇所を有する1つまたは複数のセグメントのうち特定のセグメントの第1の部分を消費者システム108に提供し、消費者システム108は、特定のセグメントの第1の部分を描画する。たとえば、サーバシステム106は、プレイリストに基づき第1の部分を選択し、提供してもよい。いくつかの実施形態では、消費者インタフェースエンジン404は、消費者システム108に特定のセグメントの第1の部分を提供する。
【0150】
ステップ1248で、消費者システム108は、プレイリストに基づき、広告サーバ102に1つまたは複数の広告のリクエストを提供する。たとえば、リクエストは、黒フレームを取り除かれたセグメントの第1の部分を完了した後、ストリーミングすべき1つまたは複数のストリーミング動作可能な広告の位置を備えてもよい。
【0151】
ステップ1250で、広告プロバイダシステム102は、1つまたは複数の広告のリクエストに応答して、消費者システム108に1つまたは複数の広告を提供し、消費者システム108は、1つまたは複数の広告を描画する。いくつかの実施形態では、1つまたは複数の広告を、広告プロバイダシステム102から消費者システム108に(たとえば、サーバシステム106からルーティングまたは他の支援を必要とすることなく)直接提供する。
【0152】
ステップ1252で、サーバシステム106は、少なくとも1つの挿入箇所を有する1つまたは複数のセグメントのうち特定のセグメントの第2の部分を消費者システム108に提供し、消費者システム108は、特定のセグメントの第2の部分を描画する。たとえば、サーバシステム106は、プレイリストに基づき第2の部分を選択し、提供してもよい。いくつかの実施形態では、消費者インタフェースエンジン404は、消費者システム108に特定のセグメントの第2の部分を提供する。
【0153】
印のつかないコンテンツ項目のストリーミングを終わらせるまで(たとえば、消費者入力に応答して、印のつかないコンテンツ項目および/またはプレイリストの末端に到達するなどで)、ステップ1236〜1252の一部またはすべてをさまざまな順序で繰り返してもよい。
【0154】
方法1200は、コンテンツ・プロバイダ・システム104、サーバシステム106、および広告プロバイダシステム102から消費者システム108へのストリーミングについて記述しているが、さまざまな実施形態は、コンテンツ・プロバイダ・システム104、サーバシステム106、および広告プロバイダシステム102の代わりに、またはこれらに加えて、1つまたは複数の他のストリーミング供給源を提供するシステムおよび方法を含むことができることが理解されよう。たとえば、他のストリーミング供給源は、メタデータストリーミング供給源、追加のコンテンツプロバイダおよび/またはコンテンツ閲覧供給源(たとえば、Uplynk)などを含むことができる。したがって、さまざまな実施形態は、任意の数のストリーミング供給源を含むことができ、かつ消費者システム108は、任意の数のストリーミング供給源からストリーミングを受信してもよいことが認識されよう。
【0155】
1つまたは複数の本発明について、例示的実施形態を参照して上記に記述した。1つまたは複数の本発明のより広い範囲を逸脱することなく、さまざまな修正を行ってもよく、かつ他の実施形態を使用してもよいことは、当業者に明らかであろう。したがって、例示的実施形態に対するこれらおよび他の変形形態は、1つまたは複数の本発明に包含されることが意図される。