(57)【要約】【課題】ライブ・ストリーミングにおける二次コンテンツのインテリジェント挿入のための方法、コンピュータ使用可能プログラム製品およびコンピュータ・システムを提供する。【解決手段】メイン・コンテンツのライブ・ストリーミングから、メイン・コンテンツのすでにストリーミングされた部分が分析され、メイン・コンテンツ内のクライマックス・イベントの発生が識別される。この分析に基づいて、メイン・コンテンツのすでにストリーミングされた部分におけるクライマックス・イベントを表す特徴値のセットが構築される。非クライマックス期間が予測される。非クライマックス期間中は、いずれのクライマックス・イベントの発生の可能性も、しきい可能性を下回る。二次コンテンツは、二次コンテンツ挿入が、第２のクライマックス・イベント中にライブ・ストリーミングを中断する可能性が、第２のしきい可能性よりも小さくなるように、非クライマックス期間中にメイン・コンテンツのライブ・ストリーミングに挿入される。メイン・コンテンツのライブ・ストリーミングは、二次コンテンツがライブ・ストリーミングにおいて完全に送信された後に続けられる。【選択図】図４
2020507227.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
メイン・コンテンツのライブ・ストリーミングから、前記メイン・コンテンツのすでにストリーミングされた部分を分析して、前記メイン・コンテンツ内のクライマックス・イベントの発生を識別することと、
前記分析に基づいて、前記メイン・コンテンツの前記すでにストリーミングされた部分における前記クライマックス・イベントを表す特徴値のセットを構築することと、
プロセッサおよびメモリを使用して、いずれのクライマックス・イベントの発生の可能性も、しきい可能性を下回る、非クライマックス期間を予測することと、
第２のクライマックス・イベント中に二次コンテンツ挿入が前記ライブ・ストリーミングを中断する可能性が、第２のしきい可能性よりも低くなるように、前記非クライマックス期間中に、前記メイン・コンテンツの前記ライブ・ストリーミングに二次コンテンツを挿入することと、
前記二次コンテンツが前記ライブ・ストリーミングにおいて完全に送信された後に、前記メイン・コンテンツの前記ライブ・ストリーミングを継続することとを含む、方法。
【請求項２】
前記ライブ・ストリーミングのユーザが、前記予測された非クライマックス期間中に前記第２のクライマックス・イベントが発生する可能性が低いことに同意するか否かを判定するための挿入前検証要求を構成することと、
前記ライブ・ストリーミングに前記二次コンテンツを挿入する前に、前記ライブ・ストリーミングにおいて前記挿入前検証要求を送信することと、
ユーザ入力を受信することであって、前記ユーザ入力は、前記挿入前検証要求に対する肯定的な応答であり、前記二次コンテンツを挿入することは、前記肯定的な応答に応じることである、前記受信することとをさらに含む、請求項１に記載の方法。
【請求項３】
前記挿入前検証要求は、送信されている前記メイン・コンテンツと同時に送信される、請求項２に記載の方法。
【請求項４】
前記ライブ・ストリーミングのユーザが、前記予測された非クライマックス期間中に前記第２のクライマックス・イベントが発生する可能性が低いことに同意するか否かを判定するための挿入前検証要求を構成することと、
前記ライブ・ストリーミングに前記二次コンテンツを挿入する前に、前記ライブ・ストリーミングにおいて前記挿入前検証要求を送信することと、
ユーザ入力を受信することであって、前記ユーザ入力は、前記挿入前検証要求に対する否定的な応答である、前記受信することと、
前記否定的な応答に応じて、第２の非クライマックス期間を予測することであって、前記非クライマックス期間中に、前記二次コンテンツを挿入することは、前記第２の非クライマックス期間中に、前記二次コンテンツを挿入する、前記予測することとをさらに含む、請求項１に記載の方法。
【請求項５】
前記ライブ・ストリーミングのユーザが、前記予測される非クライマックス期間中に前記第２のクライマックス・イベントが発生する可能性が低いことに同意するか否かを判定するための挿入前検証要求を構成することと、
前記ライブ・ストリーミングに前記二次コンテンツを挿入する前に、前記ライブ・ストリーミングにおいて前記挿入前検証要求を送信することと、
ユーザ入力を受信することに失敗することであって、前記非クライマックス期間中に前記二次コンテンツを挿入することは、前記失敗することに応じることである、前記失敗することとをさらに含む、請求項１に記載の方法。
【請求項６】
前記ライブ・ストリーミングのユーザが、前記挿入された二次コンテンツが実際には前記メイン・コンテンツ内のいずれのクライマックス・イベントも中断しなかったことに同意するか否かを判定するための挿入後検証要求を構成することと、
前記ライブ・ストリーミングに前記挿入された二次コンテンツの送信が完了した後に、前記ライブ・ストリーミングに前記挿入後検証要求を送信することと、
ユーザ入力を受信することであって、前記ユーザ入力は、前記挿入後検証要求に対する肯定的な応答である、前記受信することと、
前記挿入後検証要求に対する前記肯定的な応答を使用して、将来の非クライマックス期間が予測される予測期間を増加させることとをさらに含む、請求項１に記載の方法。
【請求項７】
前記非クライマックス期間を予測することの一部として、将来の時間における前記メイン・コンテンツ内の次のクライマックス・イベントの発生を予測することであって、前記次のクライマックス・イベントを予測することは前記特徴値のセットを使用する、前記予測することと、
現在の時間から前記将来の時間までの期間を、前記非クライマックス期間とみなすこととをさらに含む、請求項１に記載の方法。
【請求項８】
前記メイン・コンテンツは、リアルタイムで発生するライブ・イベントからキャプチャされる、請求項１に記載の方法。
【請求項９】
１つまたは複数のコンピュータ可読記憶デバイスと、前記１つまたは複数の記憶デバイスのうちの少なくとも１つに記憶されたプログラム命令とを備えたコンピュータ使用可能プログラム製品であって、前記記憶されたプログラム命令は、
メイン・コンテンツのライブ・ストリーミングから、前記メイン・コンテンツのすでにストリーミングされた部分を分析して、前記メイン・コンテンツ内のクライマックス・イベントの発生を識別するためのプログラム命令と、
前記分析に基づいて、前記メイン・コンテンツの前記すでにストリーミングされた部分における前記クライマックス・イベントを表す特徴値のセットを構築するためのプログラム命令と、
いずれのクライマックス・イベントの発生の可能性も、しきい可能性を下回る、非クライマックス期間を予測するためのプログラム命令と、
第２のクライマックス・イベント中に二次コンテンツ挿入が前記ライブ・ストリーミングを中断する可能性が、第２のしきい可能性よりも低くなるように、前記非クライマックス期間中に、前記メイン・コンテンツの前記ライブ・ストリーミングに二次コンテンツを挿入するためのプログラム命令と、
前記二次コンテンツが前記ライブ・ストリーミングにおいて完全に送信された後に、前記メイン・コンテンツの前記ライブ・ストリーミングを継続するためのプログラム命令とを備えた、コンピュータ使用可能プログラム製品。
【請求項１０】
前記ライブ・ストリーミングのユーザが、前記予測された非クライマックス期間中に前記第２のクライマックス・イベントが発生する可能性が低いことに同意するか否かを判定するための挿入前検証要求を構成するためのプログラム命令と、
前記ライブ・ストリーミングに前記二次コンテンツを挿入する前に、前記ライブ・ストリーミングにおいて前記挿入前検証要求を送信するためのプログラム命令と、
ユーザ入力を受信するためのプログラム命令であって、前記ユーザ入力は、前記挿入前検証要求に対する肯定的な応答であり、前記二次コンテンツを挿入することは、前記肯定的な応答に応じることである、前記受信するためのプログラム命令とをさらに備えた、請求項９に記載のコンピュータ使用可能プログラム製品。
【請求項１１】
前記挿入前検証要求は、送信されている前記メイン・コンテンツと同時に送信される、請求項１０に記載のコンピュータ使用可能プログラム製品。
【請求項１２】
前記ライブ・ストリーミングのユーザが、前記予測された非クライマックス期間中に前記第２のクライマックス・イベントが発生する可能性が低いことに同意するか否かを判定するための挿入前検証要求を構成するためのプログラム命令と、
前記ライブ・ストリーミングに前記二次コンテンツを挿入する前に、前記ライブ・ストリーミングにおいて前記挿入前検証要求を送信するためのプログラム命令と、
ユーザ入力を受信するためのプログラム命令であって、前記ユーザ入力は、前記挿入前検証要求に対する否定的な応答である、前記受信するためのプログラム命令と、
前記否定的な応答に応じて、第２の非クライマックス期間を予測するためのプログラム命令であって、前記非クライマックス期間中に、前記二次コンテンツを挿入することは、前記第２の非クライマックス期間中に、前記二次コンテンツを挿入する、前記予測するためのプログラム命令とをさらに備えた、請求項９に記載のコンピュータ使用可能プログラム製品。
【請求項１３】
前記ライブ・ストリーミングのユーザが、前記予測される非クライマックス期間中に前記第２のクライマックス・イベントが発生する可能性が低いことに同意するか否かを判定するための挿入前検証要求を構成するためのプログラム命令と、
前記ライブ・ストリーミングに前記二次コンテンツを挿入する前に、前記ライブ・ストリーミングにおいて前記挿入前検証要求を送信するためのプログラム命令と、
ユーザ入力を受信することに失敗したことを検出するためのプログラム命令であって、前記非クライマックス期間中に前記二次コンテンツを挿入することは、前記失敗したことに応じることである、前記検出するためのプログラム命令とをさらに備えた、請求項９に記載のコンピュータ使用可能プログラム製品。
【請求項１４】
前記ライブ・ストリーミングのユーザが、前記挿入された二次コンテンツが実際には前記メイン・コンテンツ内のいずれのクライマックス・イベントも中断しなかったことに同意するか否かを判定するための挿入後検証要求を構成するためのプログラム命令と、
前記ライブ・ストリーミングに前記挿入された二次コンテンツの送信が完了した後に、前記ライブ・ストリーミングに前記挿入後検証要求を送信するためのプログラム命令と、
ユーザ入力を受信するためのプログラム命令であって、前記ユーザ入力は、前記挿入後検証要求に対する肯定的な応答である、前記受信するためのプログラム命令と、
前記挿入後検証要求に対する前記肯定的な応答を使用して、将来の非クライマックス期間が予測される予測期間を増加させるためのプログラム命令とをさらに備えた、請求項９に記載のコンピュータ使用可能プログラム製品。
【請求項１５】
前記非クライマックス期間を予測することの一部として、将来の時間における前記メイン・コンテンツ内の次のクライマックス・イベントの発生を予測するためのプログラム命令であって、前記次のクライマックス・イベントを予測することは前記特徴値のセットを使用する、前記予測するためのプログラム命令と、
現在の時間から前記将来の時間までの期間を、前記非クライマックス期間とみなすためのプログラム命令とをさらに備えた、請求項９に記載のコンピュータ使用可能プログラム製品。
【請求項１６】
前記メイン・コンテンツは、リアルタイムで発生するライブ・イベントからキャプチャされる、請求項９に記載のコンピュータ使用可能プログラム製品。
【請求項１７】
コンピュータ使用可能コードは、データ処理システムにおけるコンピュータ可読記憶デバイスに記憶され、前記コンピュータ使用可能コードは、リモート・データ処理システムから、ネットワークを介して転送される、請求項９に記載のコンピュータ使用可能プログラム製品。
【請求項１８】
コンピュータ使用可能コードは、サーバ・データ処理システム内のコンピュータ可読記憶デバイスに記憶され、前記コンピュータ使用可能コードは、前記リモート・データ処理システムに関連付けられたコンピュータ可読記憶デバイスにおける使用のために、ネットワークを介して、リモート・データ処理システムへダウンロードされる、請求項９に記載のコンピュータ使用可能プログラム製品。
【請求項１９】
１つまたは複数のプロセッサと、１つまたは複数のコンピュータ可読メモリと、１つまたは複数のコンピュータ可読記憶デバイスと、前記１つまたは複数のメモリのうちの少なくとも１つを介した、前記１つまたは複数のプロセッサのうちの少なくとも１つによる実行のために、前記１つまたは複数の記憶デバイスのうちの少なくとも１つに記憶されたプログラム命令とを備えたコンピュータ・システムであって、前記記憶されたプログラム命令は、
メイン・コンテンツのライブ・ストリーミングから、前記メイン・コンテンツのすでにストリーミングされた部分を分析して、前記メイン・コンテンツ内のクライマックス・イベントの発生を識別するためのプログラム命令と、
前記分析に基づいて、前記メイン・コンテンツの前記すでにストリーミングされた部分における前記クライマックス・イベントを表す特徴値のセットを構築するためのプログラム命令と、
いずれのクライマックス・イベントの発生の可能性も、しきい可能性を下回る、非クライマックス期間を予測するためのプログラム命令と、
第２のクライマックス・イベント中に二次コンテンツ挿入が前記ライブ・ストリーミングを中断する可能性が、第２のしきい可能性よりも低くなるように、前記非クライマックス期間中に、前記メイン・コンテンツの前記ライブ・ストリーミングに二次コンテンツを挿入するためのプログラム命令と、
前記二次コンテンツが前記ライブ・ストリーミングにおいて完全に送信された後に、前記メイン・コンテンツの前記ライブ・ストリーミングを継続するためのプログラム命令とを備えた、コンピュータ・システム。
【請求項２０】
前記ライブ・ストリーミングのユーザが、前記予測された非クライマックス期間中に前記第２のクライマックス・イベントが発生する可能性が低いことに同意するか否かを判定するための挿入前検証要求を構成するためのプログラム命令と、
前記ライブ・ストリーミングに前記二次コンテンツを挿入する前に、前記ライブ・ストリーミングにおいて前記挿入前検証要求を送信するためのプログラム命令と、
ユーザ入力を受信するためのプログラム命令であって、前記ユーザ入力は、前記挿入前検証要求に対する肯定的な応答であり、前記二次コンテンツを挿入することは、前記肯定的な応答に応じることである、前記受信するためのプログラム命令とをさらに備えた、請求項１９に記載のコンピュータ・システム。
【請求項２１】
前記挿入前検証要求は、送信されている前記メイン・コンテンツと同時に送信される、請求項２０に記載のコンピュータ・システム。
【請求項２２】
前記ライブ・ストリーミングのユーザが、前記予測された非クライマックス期間中に前記第２のクライマックス・イベントが発生する可能性が低いことに同意するか否かを判定するための挿入前検証要求を構成するためのプログラム命令と、
前記ライブ・ストリーミングに前記二次コンテンツを挿入する前に、前記ライブ・ストリーミングにおいて前記挿入前検証要求を送信するためのプログラム命令と、
ユーザ入力を受信するためのプログラム命令であって、前記ユーザ入力は、前記挿入前検証要求に対する否定的な応答である、前記受信するためのプログラム命令と、
前記否定的な応答に応じて、第２の非クライマックス期間を予測するためのプログラム命令であって、前記非クライマックス期間中に、前記二次コンテンツを挿入することは、前記第２の非クライマックス期間中に、前記二次コンテンツを挿入する、前記予測するためのプログラム命令とをさらに備えた、請求項１９に記載のコンピュータ・システム。
【請求項２３】
前記ライブ・ストリーミングのユーザが、前記予測される非クライマックス期間中に前記第２のクライマックス・イベントが発生する可能性が低いことに同意するか否かを判定するための挿入前検証要求を構成するためのプログラム命令と、
前記ライブ・ストリーミングに前記二次コンテンツを挿入する前に、前記ライブ・ストリーミングにおいて前記挿入前検証要求を送信するためのプログラム命令と、
ユーザ入力を受信することに失敗することを検出するためのプログラム命令であって、前記非クライマックス期間中に前記二次コンテンツを挿入することは、前記失敗することに応じることである、前記検出するためのプログラム命令とをさらに備えた、請求項１９に記載のコンピュータ・システム。
【請求項２４】
前記ライブ・ストリーミングのユーザが、前記挿入された二次コンテンツが実際には前記メイン・コンテンツ内のいずれのクライマックス・イベントも中断しなかったことに同意するか否かを判定するための挿入後検証要求を構成するためのプログラム命令と、
前記ライブ・ストリーミングに前記挿入された二次コンテンツの送信が完了した後に、前記ライブ・ストリーミングに前記挿入後検証要求を送信するためのプログラム命令と、
ユーザ入力を受信するためのプログラム命令であって、前記ユーザ入力は、前記挿入後検証要求に対する肯定的な応答である、前記受信するためのプログラム命令と、
前記挿入後検証要求に対する前記肯定的な応答を使用して、将来の非クライマックス期間が予測される予測期間を増加させるためのプログラム命令とをさらに備えた、請求項１９に記載のコンピュータ・システム。
【請求項２５】
前記非クライマックス期間を予測することの一部として、将来の時間における前記メイン・コンテンツ内の次のクライマックス・イベントの発生を予測するためのプログラム命令であって、前記次のクライマックス・イベントの発生を予測することは前記特徴値のセットを使用する、前記予測するためのプログラム命令と、
現在の時間から前記将来の時間までの期間を、前記非クライマックス期間とみなすためのプログラム命令とをさらに備えた、請求項１９に記載のコンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、メイン・コンテンツのライブ・ストリーミングへの二次コンテンツの挿入に関する。
【背景技術】
【０００２】
スポーツ・イベント、ニュース価値のあるイベント、および他のライブ事象は、多くの場合、様々なデバイスを使用してライブ・ストリームを受信するユーザにライブで送信される。たとえば、バスケットボールの試合は、テレビ、モバイル電話、タブレット・コンピュータ、または他の種類のデバイスで、試合を観戦するユーザにライブで放送され得る。
【０００３】
以下、イベントの「ライブ」ストリームとは、送信エンティティによって技術的に可能であるかまたは許容可能であるように、イベントの発生の実際の時間に間に合うようにデータを送信することを称する。たとえば、アワード・ショーまたは試合のライブ放送は、これらのショーまたは試合における望ましくないハプニングの送信をキャプチャし、阻止できるように、意図的にわずかに遅延させられる。このような人為的に導入された遅延、および、信号の処理によって引き起こされる遅延は、このような送信から乱れず、例示的な実施形態の範囲内でライブであるとみなされる。
【０００４】
以下、「メイン」コンテンツは、たとえば、スポーツ・イベント、セレモニー等のようなライブ・イベントから製作されるコンテンツのように、ライブで送信されることが主に求められるコンテンツまたはデータを称する。「二次」コンテンツは、メイン・コンテンツ以外のコンテンツであり、メイン・コンテンツのソース以外のソースから取得されるものを称する。たとえば、ライブ・イベントをカバーするプロバイダによって提供されるメイン・コンテンツを中断またはオーバレイする、広告コンテンツ・プロバイダによって提供される広告コンテンツは、例示的な二次コンテンツと見なされ得る。
【０００５】
現在、送信内の二次コンテンツの配置は、固定的に事前定義される。たとえば、メイン・コンテンツが中断されて二次コンテンツが送信されるときの２分間のコマーシャル・ブレークは、メイン・コンテンツの３０分間の送信における９分、１６分、および２４分において計画され得る。メイン・コンテンツに関わらず、コマーシャル・ブレークは、事前設定されたインタバル（２分）で、事前設定された時間（９、１６、および２４分）において生じる。
【０００６】
例示的な実施形態は、メイン・コンテンツの送信に二次コンテンツを挿入する固定的な方法が、メイン・コンテンツにとって邪魔になり得ることを認識する。たとえば、９分において、二次コンテンツの固定的な挿入が、メイン・コンテンツを中断するとき、メイン・コンテンツはクライマックス・イベントであるか、または、それに近づいている場合があり得る。
【０００７】
例示的な実施形態は、このようなタイミングの悪い中断によって、ユーザがしばしば不快になることを認識する。例示的な実施形態は、二次コンテンツをメイン・コンテンツ送信に挿入するための適切な時間を動的に判定することが有用になることを認識する。
【０００８】
メイン・コンテンツ内のイベントは、メイン・コンテンツ内の別のイベントと比較して、そのイベントがユーザにとって非常に大きな関心のあるイベントになるような特徴のセットを満たす場合には、クライマックスとみなされる。たとえば、フットボールの試合は全体的にエキサイティングであり得るが、たとえば、チームがボールを数ヤード移動させるときと比べて、ユーザのお気に入りのチームが、タッチダウンで得点するイベントは、大いに関心が高く、ユーザにとって、かなりエキサイティングである。タッチダウン・イベントは、フットボールの試合のライブ放送におけるクライマックスであると言う人もいるであろう。ユーザは、クライマックス・イベントが起こりそうなときに、二次コンテンツ挿入のためにメイン・コンテンツ送信を中断することに対して、そうでない場合よりも、かなり高い度合いの嫌悪感を有するとみなされる。
【０００９】
非クライマックス期間は、クライマックス・イベントが、しきい値よりも高い、発生しない確率を有する期間である。ユーザは、非クライマックス期間中に、二次コンテンツ挿入のためにメイン・コンテンツ送信を中断することに対して、そうでない場合よりも、かなり高い度合いの許容性を有するとみなされる。
【００１０】
例示的な実施形態はさらに、異なるユーザが、異なるクライマックス・イベントに関連し、関連付き、そうでなければ応答し得ることを認識する。たとえば、ニューヨークのチームとダラスのチームとの試合のライブ中継では、ニューヨークのチームのファンであるユーザは、ニューヨークのチームが得点するイベントをクライマックスとみなす可能性が高い一方、ダラスのチームのファンであるユーザは、ダラスのチームが得点したイベントをクライマックスとみなす可能性が高い。同様に、あるユーザは、コミック・イベントをクライマックスとみなし、別のユーザは、サスペンス・イベントをクライマックスと見なし得る。様々な理由で、異なるユーザは、クライマックスとみなす異なるイベントを有することができ、実際に有する。
【００１１】
例示的な実施形態は、二次コンテンツに対する挿入ポイントを動的に判定することが有用であるだけではなく、動的な挿入は、クライマックス・イベントに対する個々のユーザの好みに合わせて調整され得ることを認識する。次に、二次コンテンツは、非コンテンツ期間がユーザの好みに固有となるように、メイン・コンテンツ送信の非クライマックス期間に挿入され得る。
【００１２】
例示的な実施形態はさらに、クライマックス・イベントおよび非クライマックス期間の予測を改善することが有益であることを認識する。例示的な実施形態は、実際の送信を受信している実際のユーザから予測の検証を取得することが、予測を改善するための良い手法であることを認識する。
【００１３】
例示的な実施形態は、ユーザが、予測された非クライマックス期間のフィードバックまたは他の検証を提供することに参加するために、インセンティブを付与される必要があることを認識する。本明細書に記載されるように、ライブ送信は、しばしば、様々な理由で、人為的に遅延される。例示的な実施形態は、予測検証へのユーザの参加に関連して特定のユーザへのライブ・ストリーミングの遅延を変更することが、このような参加に対する報酬として有用であることを認識する。
【００１４】
予測検証は、予測についてのユーザ・フィードバックを求める手法である。予測検証は、ユーザに提示される質問の形式を採ることができ、ユーザは、それに対して適切な技術を使用して回答することができる。挿入前検証は、予測された非クライマックス期間が、クライマックス・イベントを含む可能性が低いということにユーザが同意するか否かを実質的に尋ねるように構成されたクエリである。挿入前検証は、二次コンテンツが送信に挿入される前に提示される。
【００１５】
挿入後検証は、挿入された二次コンテンツが、予測された非クライマックス期間中に送信された間に、送信を観察しているユーザが、実際に、いずれのクライマックス・イベントも見逃さなかったか否かを実質的に尋ねるように構成されたクエリである。挿入後検証は、挿入された二次コンテンツの送信が完了した後に提示される。
【００１６】
アクティブ・ユーザは、挿入前検証、挿入後検証、またはその両方に応答するユーザである。アクティブ・ユーザ・グループは、アクティブ・ユーザで構成されるグループである。パッシブ・ユーザは、少なくとも過去の一定期間内に、どの検証の質問にも応答していないユーザである。記録デバイスのような非人間デバイスは、パッシブ・ユーザとなり得る。
【００１７】
アクティブ・ユーザ・グループ内のアクティブ・ユーザのアクティビティ・ベースのランク付けは、アクティブ・ユーザ・グループ内の他のユーザに対するユーザの順位またはランク付けであり、ユーザ、ユーザによって提供された検証応答の数、検証質問にユーザがどれだけ迅速に応答したか（ユーザの応答速度）、または、これらおよび他の同様な目的の要因のいくつかの組合せである計算によって判定される。
【００１８】
ライブ送信における基本遅延は、メイン・コンテンツ・プロバイダによる送信において構成された固定遅延または遅れである。動的遅延は、実施形態によって構成され得る追加の遅延である。そのため、ライブ送信において表現されるイベントは、基本遅延プラス動的遅延まで遅延される。動的遅延は、ユーザ固有、すなわち、異なるユーザに対して異なり得る。
【発明の概要】
【発明が解決しようとする課題】
【００１９】
メイン・コンテンツのライブ・ストリーミングへの二次コンテンツのインテリジェント挿入のための方法、プログラム、およびコンピュータ・システムを提供する。
【課題を解決するための手段】
【００２０】
例示的な実施形態は、方法、システム、およびコンピュータ・プログラム製品を提供する。実施形態は、メイン・コンテンツのライブ・ストリーミングから、メイン・コンテンツのすでにストリーミングされた部分を分析して、メイン・コンテンツ内のクライマックス・イベントの発生を識別する方法を含む。実施形態は、この分析に基づいて、メイン・コンテンツのすでにストリーミングされた部分におけるクライマックス・イベントを表す特徴値のセットを構築する。実施形態は、プロセッサおよびメモリを使用して、いずれのクライマックス・イベントの発生の可能性も、しきい可能性を下回る非クライマックス期間を予測する。本実施形態は、第２のクライマックス・イベント中に二次コンテンツ挿入がライブ・ストリーミングを中断する可能性が、第２のしきい可能性より低くなるように、非クライマックス期間中に、メイン・コンテンツのライブ・ストリーミングに二次コンテンツを挿入する。実施形態は、二次コンテンツがライブ・ストリーミングにおいて完全に送信された後に、メイン・コンテンツのライブ・ストリーミングを継続する。したがって、本実施形態は、二次コンテンツをライブ・ストリーミングに動的に配置し、二次コンテンツ挿入ポイントの固定的事前判定において遭遇する問題である、メイン・コンテンツにおいて発生し得るクライマックス・イベントの中断を回避する。
【００２１】
別の実施形態は、ライブ・ストリーミングのユーザが、予測された非クライマックス期間中に第２のクライマックス・イベントが発生する可能性が低いことに同意するか否かを判定するための挿入前検証要求をさらに構成する。実施形態は、ライブ・ストリーミングに二次コンテンツを挿入する前に、ライブ・ストリーミングにおいて挿入前検証要求を送信する。実施形態は、ユーザ入力を受信する。ユーザ入力は、挿入前検証要求に対する肯定的な応答であり、二次コンテンツを挿入することは、肯定的な応答に応じることである。このように、実施形態は、二次コンテンツ挿入ポイントのための適切な期間を予測するだけではなく、二次コンテンツを挿入する前にライブ・ストリーミングの実際のユーザと予測を検証する。この検証は、予測の信頼性を高める。
【００２２】
１つの実施形態では、挿入前検証要求は、送信されているメイン・コンテンツと同時に送信される。したがって、メイン・コンテンツのライブ・ストリーミングは、二次コンテンツ挿入によってのみ最小限に中断され、挿入前検証要求の間、継続する。
【００２３】
別の実施形態は、ライブ・ストリーミングのユーザが、予測された非クライマックス期間中に第２のクライマックス・イベントが発生する可能性が低いことに同意するか否かを判定するための挿入前検証要求をさらに構成する。実施形態は、ライブ・ストリーミングに二次コンテンツを挿入する前に、ライブ・ストリーミングにおいて挿入前検証要求を送信する。ユーザ入力を受信する実施形態では、ユーザ入力は、挿入前検証要求に対する否定的な応答である。実施形態は、この否定的な応答に応じて、第２の非クライマックス期間を予測する。非クライマックス期間中に二次コンテンツを挿入することは、第２の非クライマックス期間中に二次コンテンツを挿入する。このように、実施形態は、二次コンテンツ挿入ポイントのための適切な期間を予測するだけではなく、二次コンテンツを挿入する前にライブ・ストリーミングの実際のユーザと予測を検証する。この検証に対する否定的な応答は、挿入がメイン・コンテンツ内のクライマックス・イベントを妨害すると人間のユーザが信じるところで二次コンテンツを挿入する、機械ベースの予測を回避する。
【００２４】
別の実施形態は、ライブ・ストリーミングのユーザが、予測される非クライマックス期間中に第２のクライマックス・イベントが発生する可能性が低いことに同意するか否かを判定するための挿入前検証要求をさらに構成する。実施形態は、ライブ・ストリーミングに二次コンテンツを挿入する前に、ライブ・ストリーミングにおいて挿入前検証要求を送信する。実施形態は、ユーザ入力を受信することに失敗する。非クライマックス期間中に二次コンテンツを挿入することは、この失敗することに応じることである。したがって、ユーザが挿入前検証に関心がない、または参加することができない場合、実施形態は、挿入について予測された非クライマックス期間に依存する。
【００２５】
別の実施形態は、ライブ・ストリーミングのユーザが、挿入された二次コンテンツが実際にはメイン・コンテンツ内のいずれのクライマックス・イベントも中断しなかったことに同意するか否かを判定するための挿入後検証要求を構成する。実施形態は、ライブ・ストリーミングに挿入された二次コンテンツの送信が完了した後に、ライブ・ストリーミングにおいて挿入後検証要求を送信する。実施形態は、ユーザ入力を受信する。ユーザ入力は、挿入後検証要求に対する肯定的な応答である。実施形態は、挿入後検証要求に対する肯定的な応答を使用して、将来の非クライマックス期間が予測される予測期間を増加させる。したがって、この実施形態は、挿入が実際にはクライマックス・イベントを妨害しなかったことを人間のユーザに確認する。これは、予測における信頼性を高め、予測エンジンが、より長い予測期間にわたって将来の非クライマックス期間を予測できるようにする。
【００２６】
別の実施形態はさらに、非クライマックス期間を予測することの一部として、将来の時間におけるメイン・コンテンツ内の次のクライマックス・イベントの発生を、特徴値のセットを使用して予測する。実施形態は、現在の時間から将来の時間までの期間を、非クライマックス期間とみなす。したがって、実施形態は、次のクライマックス・イベントが、いつメイン・コンテンツにおいて発生する可能性があるかを予測し、その次のクライマックス・イベントの前に二次コンテンツを挿入することを試みることによって、非クライマックス期間を予測する代替手法を可能にする。
【００２７】
１つの実施形態では、メイン・コンテンツは、リアルタイムで発生するライブ・イベントからキャプチャされる。
【００２８】
実施形態は、コンピュータ使用可能プログラム製品を含む。コンピュータ使用可能プログラム製品は、１つまたは複数のコンピュータ可読記憶デバイスと、１つまたは複数の記憶デバイスのうちの少なくとも１つに記憶されたプログラム命令とを含む。
【００２９】
実施形態は、コンピュータ・システムを含む。コンピュータ・システムは、１つまたは複数のプロセッサと、１つまたは複数のコンピュータ可読メモリと、１つまたは複数のコンピュータ可読記憶デバイスと、１つまたは複数のメモリのうちの少なくとも１つを介した、１つまたは複数のプロセッサのうちの少なくとも１つによる実行のために、１つまたは複数の記憶デバイスのうちの少なくとも１つに記憶されたプログラム命令とを含む。
【００３０】
本発明の特徴と考えられる特定の新規な特徴は、添付の特許請求の範囲に記載される。しかしながら、本発明自体、ならびにその好ましい使用モード、そのさらなる目的および利点は、添付の図面と併せて読んだ場合、例示的な実施形態の以下の詳細な説明を参照することによって最もよく理解されるであろう。
【図面の簡単な説明】
【００３１】
【図１】例示的な実施形態が実施され得るデータ処理システムのネットワークのブロック図である。
【図２】例示的な実施形態が実施され得るデータ処理システムのブロック図である。
【図３】例示的な実施形態に従う、ライブ・ストリーミングへの二次コンテンツのインテリジェント挿入のための例示的構成のブロック図である。
【図４】例示的な実施形態に従う、動的挿入予測のための例示的構成のブロック図である。
【図５】例示的な実施形態に従う、動的挿入予測の個別化のための例示的構成のブロック図である。
【図６】例示的な実施形態に従う、予測検証要求に応答するようにユーザにインセンティブを付与するための例示的構成のブロック図である。
【図７】例示的な実施形態に従う、機械学習を介して非クライマックス期間予測を改善するための例示的構成のブロック図である。
【図８】例示的な実施形態に従う、ライブ・ストリーミングへの二次コンテンツのインテリジェント挿入のための例示的な処理のフローチャートである。
【図９】例示的な実施形態に従う、非クライマックス期間予測の個別化のための例示的な処理のフローチャートである。
【図１０】例示的な実施形態に従う、予測検証要求に応答するようにユーザにインセンティブを付与するための例示的な処理のフローチャートである。
【発明を実施するための形態】
【００３２】
例示的な実施形態は、現在利用可能なツールまたは解決策が、これらのニーズに対処しないか、またはこれらのニーズに対する適切な解決策を提供しないことを認識する。本発明を記載するために使用される例示的な実施形態は、一般に、ライブ・ストリーミングにおける二次コンテンツのインテリジェント挿入に関する上記の問題および他の問題に対処し、解決する。
【００３３】
実施形態は、ソフトウェア・アプリケーションとして実施され得る。実施形態を実施するアプリケーションは、既存のライブ・メイン・コンテンツ送信システムの変形として、既存のライブ・メイン・コンテンツ送信システムと連携して動作する別個のアプリケーション、スタンドアロン・アプリケーション、またはこれらの何らかの組合せとして構成され得る。
【００３４】
特に、いくつかの例示的な実施形態は、メイン・コンテンツ送信における将来の期間中に、クライマックス・イベントが発生する可能性があるか否かが判定され、非クライマックス期間中に二次コンテンツを挿入することができる方法を提供する。
【００３５】
たとえば、実施形態は、既知の予測エンジンにおいて既知の予測アルゴリズムを採用して、その間に長さＬの二次コンテンツが挿入され得る、動的に判定された最適な時間枠を予測する。たとえば、スポーツ・トーナメントのライブ中継が進行中の場合、実施形態は、進行中の中継の次のＳ秒以内に、長さＬ秒の二次コンテンツが、ライブのスポーツ・トーナメントの進行中の中継に挿入されることになると判定する。時間枠を判定するために選択される最適化基準が、スポーツ・トーナメントにおけるクライマックス・イベントに関する確率が最小となる、定義された予測時間距離にわたる期間を選択するように構成される。
【００３６】
一般に、１つの実施形態は、一般的に受け入れられるクライマックス・イベントのセットから、要因値のセットを定式化する。要因値のセットは、一般的に受け入れられるクライマックス・イベントのセットにおけるクライマックス・イベントを表す。一般的に受け入れられるクライマックス・イベントは、通常のユーザが、クライマックスだと感じる可能性が高いイベントである。一般的に受け入れられるクライマックス・イベントのいくつかの例は、限定しないが、スポーツにおける得点イベント、コンテストまたは試合での勝利または敗北の宣言、関係者または団体による声明または発表、宣言、要約、啓示、結論、プロットのねじれ、またはストーリ変更等を含む。
【００３７】
イベントに関連付けられた要因は、そのイベントがクライマックス・イベントまたは非クライマックス・イベントであることを示す値を有することができる。たとえば、要因は、シーン内のノイズ・レベルまたはその変化率であり得、レベルまたは上限しきいレベルを超える変化率は、クライマックス・イベントを示し得、その逆もまたあり得る。別の例として、要因は、シーン内のノイズ・レベルまたはその変化率であり得、より低いしきいレベルを下回るレベルまたは変化率は、クライマックス・イベントを示し得るか、その逆もまたあり得る。いくつかの他の非限定的な例示的な要因は、シーン内の光強度レベルまたはその変化率、メイン・コンテンツ内の可視または可聴アーティファクトの有無であり得る。
【００３８】
クライマックス・イベントを示す要因および値のこれらの例は、限定的であると意図されていない。この開示から、当業者は、他の多くの要因とこれらの値を想到することができ、例示的な実施形態の範囲内で同じことが企図される。
【００３９】
要因値のセットを使用して、実施形態は、要因値のセットを満たすイベントが、期間中に発生する可能性があるか否か、およびそのような発生の確率を予測するために予測エンジンを使用する。要因値のセットを満たすイベントが、しきい可能性よりも大きい予測期間中に予測される場合、実施形態は、クライマックス・イベントが、予測期間中に識別されたと結論付ける。
【００４０】
他のいくつかの例示的な実施形態は、所与のメイン・コンテンツにおける特定のユーザの好き嫌いを判定し、そのユーザのためのクライマックス・イベントを定義する特徴の調節されたセットを計算する方法を提供する。次に、方法は、その特定のユーザのためのメイン・コンテンツ送信において非クライマックス期間がいつ発生するのかを判定し、そのユーザ固有の非クライマックス期間に、二次コンテンツを挿入させる。
【００４１】
たとえば、メイン・コンテンツの送信中に、実施形態は、コンテンツに対する特定のユーザの応答を測定するために、１つまたは複数のセンサを使用する。たとえば、バイオメトリック・センサは、提示されているコンテンツにおける関心のなさを意味する（強い関心を意味するしきい移動量未満の）体重の移動を測定し得る。別の例として、顔の表情分析は、関心、または、関心のなさ、およびそのレベルを測定し得る。カメラは、同様の測定をするために、ユーザの視線の変化を観察し得る。所与のメイン・コンテンツにおけるユーザの関心、および関心のなさを測定するために、他の多くのバイオメトリックおよび他の種類のセンサが同様に採用され得る。
【００４２】
そのような測定から、実施形態は、１つまたは複数のクライマックス・イベントおよび非クライマックス・イベント、ならびにこれらの要因値のうちの１つまたは複数の間の差を識別する。識別されたクライマックス・イベントから、実施形態は、クライマックス・イベントを示す要因値のセットを抽出する。１つの実施形態では、一般的な要因値のセットは、一般的に受け入れられるクライマックス・イベントが、特定のユーザがクライマックスだと感じるイベントを表す要因値で修正されることを示すとみなされる。
【００４３】
いくつかのより例示的な実施形態は、挿入前検証質問、挿入後検証質問、またはその両方に応答する際のユーザの参加レベルまたはアクティビティが、他の参加ユーザ（アクティブ・ユーザ）に対して判定される方法を提供する。次に、方法は、動的遅延が、アクティブ・ユーザ・グループにおいてユーザが達成したアクティビティ・ベースのランク付けと逆の関係を有する場合に、ライブ・ストリームにおいてユーザに人為的に導入される遅延の動的成分を調節する。ユーザが検証処理に参加する回数が多いほど、ユーザが検証質問により迅速に応答するほど、またはその両方により、アクティブ・ユーザ・グループにおけるユーザ・ランクが上がり、そのユーザの動的遅延が、より少なくなる。
【００４４】
たとえば、メイン・コンテンツ送信における現在の時間から、次のＳ＋Ｌ秒以内に重大なイベントがないであろうという十分に高い信頼性をもって、Ｌ秒の非クライマックス期間の識別時に、実施形態は、予測された非クライマックス期間を検証するための質問を提示する。たとえば、ユーザのセットは、メイン・コンテンツ送信中に可聴または可視あるいはその両方の合図を提示され、ユーザは、質問に対して肯定的または否定的な回答を提供するための時間枠を与えられる。たとえば、質問は、「１２０秒の第２のコンテンツが、３０秒後に提示されるだろう。同意するか／しないか？」であり得る。アクティブ・ユーザからの、少なくともしきい数の肯定的な回答によって、実施形態は、現在の時間からＳ秒以内のいつかに、メイン・コンテンツ内への二次コンテンツの挿入をスケジュールする。
【００４５】
回答を提供したユーザは、アクティブ・ユーザとみなされる。アクティブ・ユーザは、アクティブ・ユーザ内での順位またはアクティビティ・ベースのランク付けが向上する。アクティブ・ユーザのアクティビティ・ベースのランク付けの向上は、ユーザが回答を提供する速度、ユーザが検証質問に回答を提供した回数、または、これらおよび他の同様の目的の考慮事項の組合せに基づく。
【００４６】
１つの実施形態はさらに、以前にアクティブであったがもはやアクティブではないアクティブ・ユーザ・グループから、これらのユーザをエージ・アウトするためのエージング・メカニズムを採用する。たとえば、実施形態のエージング動作では、アクティブ・ユーザ・グループのすべてのユーザは、最後の回答から各単位時間の間、固定量だけ、順位を下げられる。この減少メカニズムは、分離してパッシブ・ユーザに戻ったアクティブ・ユーザを、エージ・アウトする。
【００４７】
検証質問、回答、および結果として生じるアクティビティ・ベースのランク付けは、二次コンテンツが挿入される前、二次コンテンツが完全に送信された後、またはその両方で発生し得る。たとえば、二次コンテンツを終了すると、実施形態は、挿入のタイミングの有効性（すなわち、挿入の結果として、クライマックス・イベントが見失われていたか否か）に関して肯定的または否定的に応答することができるすべてのユーザに、可聴的または視覚的な合図を提示する。応答したユーザは、まだグループに属していない場合は、アクティブ・ユーザ・グループに引き上げられる。これらのランキングは、本明細書に記載されるように調節される。実施形態は、特定のユーザについてのメイン・コンテンツの送信を時間シフトさせるための合計遅延（基本遅延＋動的遅延）を計算するために、アクティブ・ユーザのランク付けを使用する。
【００４８】
実施形態は、参加ユーザから検証応答を収集する。実施形態は、予測エンジンの予測能力を向上させるために、機械学習処理における応答を使用する。たとえば、１つの実施形態は、予測における信頼性およびアクティブ・ユーザからの肯定的な検証応答の数が、その後の予測において増加されるように、非クライマックス期間の予測を調節するために、挿入前検証に対する応答を使用する。
【００４９】
別の例として、別の実施形態は、将来の予測の精度を増加させるために、挿入後検証応答を使用する。別の例示的な実施形態は、非クライマックス期間の信頼できる予測がなされ得る予測期間が、将来の予測のために増加されるように、予測エンジンを調節するために、挿入前検証応答および挿入後検証応答を使用する。
【００５０】
本明細書に記載されたライブ・ストリーミングへの二次コンテンツのインテリジェント挿入の方法は、現在利用可能な方法では利用できない。本明細書に記載された実施形態の方法は、デバイスまたはデータ処理システム上で実行するように実施されると、ライブのメイン・コンテンツで発生する可能性のあるいずれのクライマックス・イベントとも干渉することなく、メイン・コンテンツのライブ送信に二次コンテンツを動的に挿入する際における、そのデバイスまたはデータ処理システムの機能の大幅な向上を含む。
【００５１】
例示的な実施形態は、単なる例として、特定の種類のコンテンツ、送信、遅延、イベント、クライマックス・イベント、非クライマックス・イベント、期間、予測、しきい値、検証、応答、ランク付け、調節、センサ、測定、デバイス、データ処理システム、環境、構成要素、およびアプリケーションに関して記載される。これらおよび他の類似のアーティファクトの具体的な明示は、本発明に限定することは意図されていない。例示的な実施形態の範囲内で、これらおよび他の類似のアーティファクトの任意の適切な明示が選択され得る。
【００５２】
さらに、例示的な実施形態は、任意の種類のデータ、データ・ソース、またはデータ・ネットワークを介したデータ・ソースへのアクセスに関して実施され得る。本発明の範囲内で、任意の種類のデータ記憶デバイスが、データ処理システムにおいてローカルに、または、データ・ネットワークを介して、本発明の実施形態にデータを提供し得る。モバイル・デバイスを使用して実施形態が記載される場合、モバイル・デバイスとの使用に適した任意の種類のデータ記憶デバイスが、例示的な実施形態の範囲内で、モバイル・デバイスにおいてローカルに、または、データ・ネットワークを介して、データをそのような実施形態に提供し得る。
【００５３】
例示的な実施形態は、単なる例としてのみ、具体的なコード、設計、アーキテクチャ、プロトコル、レイアウト、概略図、およびツールを使用して記載されており、例示的な実施形態に限定するものではない。さらに、例示的な実施形態は、記載を明確にするための例としてのみ、特定のソフトウェア、ツール、およびデータ処理環境を使用していくつかの事例において記載される。例示的な実施形態は、他の同等のまたは同様の目的の構造、システム、アプリケーション、またはアーキテクチャとともに使用され得る。たとえば、本発明の範囲内で、他の同等のモバイル・デバイス、構造、システム、アプリケーション、またはこれらのためのアーキテクチャが、本発明のこのような実施形態とともに使用され得る。例示的な実施形態は、ハードウェア、ソフトウェア、またはこれらの組合せで実施され得る。
【００５４】
この開示における例は、記載の明確化のためにのみ使用され、例示的な実施形態に限定するものではない。追加のデータ、動作、アクション、タスク、アクティビティ、および操作が、この開示から想到され、同じことが、例示的な実施形態の範囲内で企図される。
【００５５】
本明細書に列挙されたあらゆる利点は、例示にすぎず、例示的な実施形態に限定することは意図されていない。具体的な例示的な実施形態によって、追加のまたは異なる利点が実現され得る。さらに、特定の例示的な実施形態は、上記に列挙された利点のいくつか、すべてを有し得るか、または、まったく有していない。
【００５６】
図面を参照して、および、特に図１および図２を参照して、これら図面は、例示的な実施形態が実施され得るデータ処理環境の例示的な図である。図１および図２は例にすぎず、異なる実施形態が実施され得る環境に関して何らかの限定を主張または示唆することは意図されていない。特定の実施は、以下の記載に基づいて、描写された環境に多くの修正を行い得る。
【００５７】
図１は、例示的な実施形態が実施され得るデータ処理システムのネットワークのブロック図を描写する。データ処理環境１００は、例示的な実施形態が実施され得るコンピュータのネットワークである。データ処理環境１００はネットワーク１０２を含む。ネットワーク１０２は、データ処理環境１００内でともに接続された様々なデバイスとコンピュータとの間に通信リンクを提供するために使用される媒体である。ネットワーク１０２は、有線、ワイヤレス通信リンク、または光ファイバ・ケーブルのような接続を含み得る。
【００５８】
クライアントまたはサーバは、ネットワーク１０２に接続された特定のデータ処理システムの単なる例示的な役割であり、これらのデータ処理システムに対する他の構成または役割を排除することは意図されていない。サーバ１０４およびサーバ１０６は、記憶ユニット１０８とともにネットワーク１０２に結合する。ソフトウェア・アプリケーションは、データ処理環境１００内の任意のコンピュータ上で実行し得る。クライアント１１０、１１２、および１１４も、ネットワーク１０２に結合される。サーバ１０４または１０６、または、クライアント１１０、１１２または１１４のようなデータ処理システムは、データを含み得、そこで実行されるソフトウェア・アプリケーションまたはソフトウェア・ツールを有し得る。
【００５９】
単なる例として、そしてそのようなアーキテクチャに対するいかなる限定も示唆することなく、図１は、実施形態の例示的な実施において使用可能である特定の構成要素を描写する。たとえば、サーバ１０４、１０６、および、クライアント１１０、１１２、１１４は、単なる例としてサーバおよびクライアントとして描写されており、クライアント−サーバ・アーキテクチャへの限定を示唆していない。他の例として、実施形態は、図示されたように、いくつかのデータ処理システムおよびデータ・ネットワークにわたって分散され得るが、他の実施形態は、例示的な実施形態の範囲内で単一のデータ処理システムにおいて実施され得る。データ処理システム１０４、１０６、１１０、１１２、および１１４はまた、クラスタ内の例示的なノード、区分、および実施形態を実施するために適切な他の構成を表す。
【００６０】
デバイス１３２は、本明細書に記載されたデバイスの例である。たとえば、デバイス１３２は、スマートフォン、タブレット・コンピュータ、ラップトップ・コンピュータ、固定式または携帯式のクライアント１１０、ウェアラブル・コンピューティング・デバイス、または他の任意の適切なデバイスの形態を採り得る。図１における別のデータ処理システムで実行されるものとして記載されたいかなるソフトウェア・アプリケーションも、同様の手法でデバイス１３２において実行するように構成され得る。図１における別のデータ処理システムにおいて記憶または生成された任意のデータまたは情報は、同様の手法でデバイス１３２において記憶または生成されるように構成され得る。
【００６１】
アプリケーション１０５は、本明細書に記載された実施形態を実施する。例示的なソース１０７は、ライブ・ストリームまたは送信のためのメイン・コンテンツを提供する。二次コンテンツ１０９は、図示されるように記憶装置１０８に記憶され得るか、または別のソース（図示せず）によって供給され得る。例として、ユーザ１３４は、デバイス１３２においてメイン・コンテンツのライブ・ストリームを受信し得る。ユーザ１３４は、デバイス１３２上のインターフェース（図示せず）を使用して検証質問に応答し得る。メイン・コンテンツのライブ・ストリームを受信する別の方法として、記録デバイス１１１がクライアント１１０に関連付けられ得る。クライアント１１０とデバイス１１１との組合せは、例示的なパッシブ・ユーザと見なされ得る。
【００６２】
サーバ１０４、１０６、記憶ユニット１０８、および、クライアント１１０、１１２、１１４、およびデバイス１３２は、有線接続、ワイヤレス通信プロトコル、または他の適切なデータ接続を使用してネットワーク１０２へ結合し得る。クライアント１１０、１１２、１１４は、たとえば、パーソナル・コンピュータまたはネットワーク・コンピュータであり得る。
【００６３】
描写された例では、サーバ１０４は、ブート・ファイル、オペレーティング・システム・イメージ、およびアプリケーションのようなデータを、クライアント１１０、１１２、および１１４に提供し得る。この例では、クライアント１１０、１１２、および１１４は、サーバ１０４に対するクライアントであり得る。クライアント１１０、１１２、１１４、またはこれらの何らかの組合せは、これら自体のデータ、ブート・ファイル、オペレーティング・システム・イメージ、およびアプリケーションを含み得る。データ処理環境１００は、追加のサーバ、クライアント、および図示されていない他のデバイスを含み得る。
【００６４】
描写された例では、データ処理環境１００は、インターネットであり得る。ネットワーク１０２は、互いに通信するために、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）および他のプロトコルを使用するネットワークおよびゲートウェイの集合を表し得る。インターネットの中心にあるのは、データおよびメッセージをルーティングする何千もの商業用、政府用、教育用、およびその他のコンピュータ・システムを含む、主要なノード間またはホスト・コンピュータ間のデータ通信リンクのバックボーンである。もちろん、データ処理環境１００はまた、たとえば、イントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、または広域ネットワーク（ＷＡＮ）のようないくつかの異なる種類のネットワークとして実施され得る。図１は、例として意図されており、異なる例示的な実施形態に対するアーキテクチャの限定として意図されていない。
【００６５】
他の用途の中でも、データ処理環境１００は、例示的な実施形態が実施され得るクライアント−サーバ環境を実施するために使用され得る。クライアント−サーバ環境は、アプリケーションが、クライアント・データ処理システムとサーバ・データ処理システムとの間の対話を使用することによって機能するように、ソフトウェア・アプリケーションおよびデータが、ネットワークにわたって分散されることを可能にする。データ処理環境１００はまた、ネットワークにわたって分散された相互運用可能なソフトウェア構成要素が、コヒーレントなビジネス・アプリケーションとしてともにパッケージ化され得るサービス指向アーキテクチャを採用し得る。データ処理環境１００はまた、クラウドの形態を採り得、サービスのプロバイダとの最小の管理努力または対話で迅速にプロビジョンおよびリリースされ得る構成可能なコンピューティング・リソース（たとえば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、記憶装置、アプリケーション、仮想マシン、およびサービス）の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配信のクラウド・コンピューティング・モデルを採用し得る。
【００６６】
図２を参照して、この図は、例示的な実施形態が実施され得るデータ処理システムのブロック図を描写する。データ処理システム２００は、図１におけるサーバ１０４、および１０６、もしくはクライアント１１０、１１２、および１１４のようなコンピュータ、または、例示的な実施形態のために、処理を実施するコンピュータ使用可能プログラム・コードまたは命令が配置され得る別の種類のデバイスの例である。
【００６７】
データ処理システム２００はまた、例示的な実施形態の処理を実施するコンピュータ使用可能プログラム・コードまたは命令が配置され得る図１におけるデータ処理システム１３２のようなデータ処理システムまたはその構成を表す。データ処理システム２００は、単なる例としてコンピュータとして記載されるが、それに限定されない。図１におけるデバイス１３２のような他のデバイスの形態における実施は、タッチ・インターフェースを追加することなどによってデータ処理システム２００を修正し得、さらに、本明細書に記載されるデータ処理システム２００の動作および機能の一般的な記載から逸脱することなく、データ処理システム２００から、描写された特定の構成要素を排除し得る。
【００６８】
描写された例では、データ処理システム２００は、ノース・ブリッジおよびメモリ・コントローラ・ハブ（ＮＢ／ＭＣＨ）２０２、および、サウス・ブリッジおよび入力／出力（Ｉ／Ｏ）コントローラ・ハブ（ＳＢ／ＩＣＨ）２０４を含むハブ・アーキテクチャを採用する。処理ユニット２０６、メイン・メモリ２０８、およびグラフィック・プロセッサ２１０は、ノース・ブリッジおよびメモリ・コントローラ・ハブ（ＮＢ／ＭＣＨ）２０２に結合される。処理ユニット２０６は、１つまたは複数のプロセッサを含み得、１つまたは複数のヘテロジニアスなプロセッサ・システムを使用して実施され得る。処理ユニット２０６は、マルチコア・プロセッサであり得る。特定の実施では、グラフィック・プロセッサ２１０は、加速グラフィック・ポート（ＡＧＰ）を介してＮＢ／ＭＣＨ２０２に結合され得る。
【００６９】
描写された例では、ローカル・エリア・ネットワーク（ＬＡＮ）アダプタ２１２は、サウス・ブリッジおよびＩ／Ｏコントローラ・ハブ（ＳＢ／ＩＣＨ）２０４に結合される。オーディオ・アダプタ２１６、キーボードおよびマウス・アダプタ２２０、モデム２２２、読出専用メモリ（ＲＯＭ）２２４、ユニバーサル・シリアル・バス（ＵＳＢ）および他のポート２３２、ならびにＰＣＩ／ＰＣＩｅデバイス２３４は、バス２３８を経由してサウス・ブリッジおよびＩ／Ｏコントローラ・ハブ２０４に結合される。ハード・ディスク・ドライブ（ＨＤＤ）またはソリッドステート・ドライブ（ＳＳＤ）２２６およびＣＤ−ＲＯＭ２３０は、バス２４０を介してサウス・ブリッジおよびＩ／Ｏコントローラ・ハブ２０４に結合される。ＰＣＩ／ＰＣＩｅデバイス２３４は、たとえば、ノートブック・コンピュータ用のイーサネット・アダプタ、アドイン・カード、およびＰＣカードを含み得る。ＰＣＩは、カード・バス・コントローラを使用するが、ＰＣＩｅは使用しない。ＲＯＭ２２４は、たとえば、フラッシュ・バイナリ入力／出力システム（ＢＩＯＳ）であり得る。ハード・ディスク・ドライブ２２６およびＣＤ−ＲＯＭ２３０は、たとえば、統合ドライブ・エレクトロニクス（ＩＤＥ）、シリアル・アドバンスト・テクノロジ・アタッチメント（ＳＡＴＡ）インターフェース、または外部ＳＡＴＡ（ｅＳＡＴＡ）およびマイクロＳＡＴＡ（ｍＳＡＴＡ）のような変形を使用し得る。スーパＩ／Ｏ（ＳＩＯ）デバイス２３６は、バス２３８を介してサウス・ブリッジおよびＩ／Ｏコントローラ・ハブ（ＳＢ／ＩＣＨ）２０４に結合され得る。
【００７０】
メイン・メモリ２０８、ＲＯＭ２２４、またはフラッシュ・メモリ（図示せず）のようなメモリは、コンピュータ使用可能記憶デバイスのいくつかの例である。ハード・ディスク・ドライブまたはソリッド・ステート・ドライブ２２６、ＣＤ−ＲＯＭ２３０、および他の同様な使用可能デバイスは、コンピュータ使用可能記憶媒体を含むコンピュータ使用可能記憶デバイスのいくつかの例である。
【００７１】
オペレーティング・システムは、処理ユニット２０６において動作する。オペレーティング・システムは、図２におけるデータ処理システム２００内の様々な構成要素の制御を調整および提供する。オペレーティング・システムは、サーバ・システム、パーソナル・コンピュータ、およびモバイル・デバイスを含むがこれらに限定されない、任意の種類のコンピューティング・プラットフォーム用の市販のオペレーティング・システムであり得る。オブジェクト指向または他の種類のプログラミング・システムは、オペレーティング・システムと連携して動作し、データ処理システム２００において実行するプログラムまたはアプリケーションからオペレーティング・システムへの呼び出しを提供し得る。
【００７２】
オペレーティング・システム、オブジェクト指向プログラミング・システム、および図１におけるアプリケーション１０５のようなアプリケーションまたはプログラムの命令は、ハード・ディスク・ドライブ２２６におけるコード２２６Ａの形態のように、記憶デバイスに配置されており、処理ユニット２０６による実行のために、メイン・メモリ２０８のような１つまたは複数のメモリのうちの少なくとも１つにロードされ得る。例示的な実施形態の処理は、たとえばメイン・メモリ２０８、読出専用メモリ２２４のようなメモリ内に、または１つまたは複数の周辺デバイス内に配置され得る、コンピュータによって実施される命令を使用して、処理ユニット２０６によって実行され得る。
【００７３】
さらに、ある場合には、コード２２６Ａは、ネットワーク２０１Ａを介してリモート・システム２０１Ｂからダウンロードされ得、ここで、同様のコード２０１Ｃが、記憶デバイス２０１Ｄに記憶される。別の場合では、コード２２６Ａは、ネットワーク２０１Ａを介してリモート・システム２０１Ｂにダウンロードされ得、ここで、ダウンロードされたコード２０１Ｃは、記憶デバイス２０１Ｄに記憶される。
【００７４】
図１〜図２におけるハードウェアは、実施に応じて変化し得る。フラッシュ・メモリ、同等の不揮発性メモリ、または光ディスク・ドライブのような他の内部ハードウェアまたは周辺デバイスが、図１〜図２に描写されるハードウェアに加えて、またはその代わりに使用され得る。さらに、例示的な実施形態の処理が、マルチプロセッサ・データ処理システムに適用され得る。
【００７５】
いくつかの例示的な例では、データ処理システム２００は、一般に、オペレーティング・システム・ファイルまたはユーザ生成データあるいはその両方を記憶するための不揮発性メモリを提供するようにフラッシュ・メモリで構成される携帯情報端末（ＰＤＡ）であり得る。バス・システムは、システム・バス、Ｉ／Ｏバス、およびＰＣＩバスのような１つまたは複数のバスを備え得る。もちろん、バス・システムは、ファブリックまたはアーキテクチャに取り付けられた異なる構成要素またはデバイス間でデータの転送を提供する任意の種類の通信ファブリックまたはアーキテクチャを使用して実施され得る。
【００７６】
通信ユニットは、モデムまたはネットワーク・アダプタのように、データを送信および受信するために使用される１つまたは複数のデバイスを含み得る。メモリは、たとえば、メイン・メモリ２０８、またはノース・ブリッジおよびメモリ・コントローラ・ハブ２０２に見られるキャッシュのようなキャッシュであり得る。処理ユニットは、１つまたは複数のプロセッサまたはＣＰＵを含み得る。
【００７７】
図１〜図２に描写された例および上記の例は、アーキテクチャ上の限定を示唆することは意味されていない。たとえば、データ処理システム２００はまた、モバイルまたはウェアラブル・デバイスの形態を採ることに加えて、タブレット・コンピュータ、ラップトップ・コンピュータ、または電話デバイスであり得る。
【００７８】
コンピュータまたはデータ処理システムが、仮想マシン、仮想デバイス、または仮想構成要素として記載される場合、仮想マシン、仮想デバイス、または仮想構成要素は、データ処理システム２００において描写されたいくつかまたはすべての構成要素の仮想化明示を使用して、データ処理システム２００の方式で動作する。たとえば、仮想マシン、仮想デバイス、または仮想構成要素では、処理ユニット２０６は、ホスト・データ処理システムにおいて利用可能なすべてまたはいくつかの数のハードウェア処理ユニット２０６の仮想化されたインスタンスとして明示され、メイン・メモリ２０８は、ホスト・データ処理システムにおいて利用可能であり得るメイン・メモリ２０８のすべてまたはいくつかの部分の仮想化されたインスタンスとして明示され、ディスク２２６は、ホスト・データ処理システムにおいて利用可能であり得るディスク２２６のすべてまたはいくつかの部分の仮想化されたインスタンスとして明示される。そのような場合におけるホスト・データ処理システムは、データ処理システム２００によって表される。
【００７９】
図３を参照して、この図は、例示的な実施形態に従う、ライブ・ストリーミングへの二次コンテンツのインテリジェント挿入のための例示的構成のブロック図を描写する。アプリケーション３０２は、図１におけるアプリケーション１０５の例であり、図１におけるサーバ１０４の例であるサーバ３０４において実行する。
【００８０】
メイン・コンテンツ３０６のフィードは、図１におけるソース１０７から取得される。二次コンテンツ３０８は、図１における二次コンテンツ１０９の例である。ネットワーク３１０は、図１におけるネットワーク１０２の例である。
【００８１】
アプリケーション３０２は、本明細書で記載されるように、メイン・コンテンツ３０６のフィードへの二次コンテンツ３０８の動的な挿入のために、非クライマックス期間予測を実行する構成要素３１２を含む。構成要素３１４は、本明細書で記載されるように、個々のユーザ固有のクライマックス・イベントおよび非クライマックス期間を判定することによって、非クライマックス期間の個別化を実行する。構成要素３１６は、ユーザへのライブ・コンテンツ配信における動的遅延の形態で、検証応答インセンティブを作成し管理する。構成要素３１６は、構成要素３１２によって使用される予測エンジンを調節または調整するために、１つまたは複数のライブ送信中に、１つまたは複数のユーザからの検証応答を、機械学習処理において収集し使用する。
【００８２】
例として、アプリケーション３０２が、ユーザ３２２、および３２４への送信３２０を容易にすると仮定する。送信３２０は、メイン・コンテンツ３０４を含む。送信中のある時点で、アプリケーション３０２はまた、送信３２０において、次回の挿入についての挿入前検証、または、以前に実行された挿入についての挿入後検証のような予測検証を含む。ユーザ３２２が、アクティブ・ユーザであり、ユーザ３２４が、パッシブ・ユーザであると仮定する。アクティブ・ユーザ３２２は、検証に対する応答３２６を提供する。構成要素３１６は、応答３２６を使用して、ユーザ３２２をランク付けし、ユーザ３２２への送信３２０における動的遅延を調節する。たとえば、ユーザ３２２への送信３２０における合計遅延は、ユーザ３２４に対する送信３２０における合計遅延よりも小さいことがあり得る。
【００８３】
１つまたは複数のセンサ３２８は、送信３２０におけるコンテンツに対するユーザ３２２の反応を測定する。センサ・データ３３０は、本明細書で記載されるように、構成要素３１４によって使用され、非クライマックス期間予測を個別化する。
【００８４】
図４に関して、この図は、例示的な実施形態に従う動的な挿入予測のための例示的な構成のブロック図を描写する。アプリケーション４０２は、図３におけるアプリケーション３０２の例である。動的挿入予測構成要素４０４は、図３における構成要素３１２の例であり、本明細書で記載されるようにサブ構成要素を含む。
【００８５】
サブ構成要素４０６は、メイン・コンテンツ内のクライマックス・イベントによって満たされる特徴のセットおよび対応する特徴値を判定する。メイン・コンテンツは、図３におけるメイン・コンテンツ３０６であり得る。たとえば、サブ構成要素４０６は、メイン・コンテンツのライブ・ストリーミングから、メイン・コンテンツのすでにストリーミングされた部分を分析して、メイン・コンテンツ内の１つまたは複数のクライマックス・イベントの発生を識別する。次に、サブ構成要素４０６は、すでにストリーミングされた部分でクライマックス・イベントが発生したメイン・コンテンツにおける条件を判定する。この条件を使用して、サブ構成要素４０６は、特徴値のセットを構築する。
【００８６】
サブ構成要素４０８は、予測エンジンを使用して、将来の時間におけるメイン・コンテンツ内のクライマックス・イベントの発生を予測する。サブ構成要素４１０は、それに応じて、現在の時間と、クライマックス・イベントの将来の時間との間の非クライマックス期間を判定または予測する。クライマックス・イベントが予期されない場合は、クライマックス・イベントの将来の時間が、メイン・コンテンツの終わりとなり得る。
【００８７】
サブ構成要素４１２は、メイン・コンテンツ・フィードのユーザに、挿入前検証を提供する。挿入前検証はまた、メイン・コンテンツへの二次コンテンツの次の挿入の、アクティブまたはパッシブな、ユーザへの事前通知としても機能し得る。サブ構成要素４１４は、メイン・コンテンツ・フィードのユーザに、挿入後検証を提供する。
【００８８】
例示的な動作では、ユーザは、ライブ・ストリームにおけるデータのシーケンス４２０（時間の経過は、「Ｔ」とラベル付けされた矢印によって図示される）を受信し得、メイン・コンテンツの部分４２２が受信された後に挿入前検証４２４が続く。いくつかの実施では、部分４２０が受信されている間に、挿入前検証４２４が提示され得る。挿入前検証４２４の後、非クライマックス期間４２６が始まり、その間に二次コンテンツ４２８が受信される。二次コンテンツ４２８の完了後、挿入後検証４３０が受信される。実施に応じて挿入後検証４３０の応答期間が経過した後、または挿入後検証４３０と同時に、メイン・コンテンツの部分４３２が受信され得る。シーケンス４２０は、ライブ・ストリーミング中に何回でも繰り返し得る。
【００８９】
図５を参照して、この図は、例示的な実施形態に従う、動的挿入予測の個別化のための例示的構成のブロック図を描写する。アプリケーション５０２は、図３におけるアプリケーション３０２の例である。個別化構成要素５０４は、図３における構成要素３１４の例であり、本明細書で記載されるようなサブ構成要素を含む。センサ・データ５０６は、図３におけるセンサ・データ３３０の例である。
【００９０】
サブ構成要素５０８は、センサ・データ５０６を使用して、ユーザが、クライマックスまたは非クライマックスとみなすイベントに応答してユーザ反応特性を測定する。これらの測定値から、サブ構成要素５０８は、ユーザ固有のクライマックス・イベントを表す特徴値のセットを識別する。たとえば、図４におけるサブ構成要素４０６によって、一般的に受け入れられるクライマックス・イベントの一般的な特徴値のセットが生成され使用された場合、サブ構成要素５１０は、その特徴値のセットを修正し、修正された特徴値のセットが、ユーザ固有のクライマックス・イベントを示すようにする。サブ構成要素は、たとえば図４におけるサブ構成要素４０８、および４１０による非クライマックス期間の予測を、ユーザ固有の非クライマックス期間の予測となるようにするために、修正された特徴値のセットを使用する。
【００９１】
図６を参照して、この図は、例示的な実施形態に従う、予測検証要求に応答するようにユーザにインセンティブを付与するための例示的な構成のブロック図を描写する。アプリケーション６０２は、図３におけるアプリケーション３０２の例である。インセンティブ付与構成要素６０４は、図３における構成要素３１６のいくつかの機能の例であり、本明細書に記載されるようなサブ構成要素を含む。
【００９２】
サブ構成要素６０６は、ユーザによって提供された、または提供されなかった検証応答に応じて、ユーザをアクティブまたはパッシブとして分類する。サブ構成要素６０８は、アクティブ・ユーザを、アクティブ・ユーザ・グループ内の他のアクティブ・ユーザに対してランク付けする。サブ構成要素６１０は、ユーザのランクに従って、ランク付けされたアクティブ・ユーザへのメイン・コンテンツ・フィードにおける動的遅延を調節する。
【００９３】
図７を参照して、この図は、例示的な実施形態に従う、機械学習によって、非クライマックス期間予測を改善するための例示的な構成のブロック図を描写する。アプリケーション７０２は、図３におけるアプリケーション３０２の例である。機械学習構成要素６０４は、図３における構成要素３１６のいくつかの機能の例であり、本明細書に記載されるようなサブ構成要素を含む。
【００９４】
サブ構成要素７０６は、１つまたは複数の挿入前検証応答を使用して、将来の予測の信頼値、将来の予測に対する肯定的な検証応答、またはその両方が増加するように、非クライマックス期間予測を調節する。サブ構成要素７０８は、１つまたは複数の挿入後検証応答を使用して、その後の予測される非クライマックス期間の精度を向上または改善する。サブ構成要素７１０は、挿入前検証応答および挿入後検証応答を使用して、しきい度合いを超える信頼性で非クライマックス期間が予測され得る予測期間を増加させる。
【００９５】
図８を参照して、この図は、例示的な実施形態に従う、ライブ・ストリーミングへの二次コンテンツのインテリジェント挿入のための例示的な処理のフローチャートを描写する。処理８００は、図３におけるアプリケーション３０２または図４におけるアプリケーション４０２において実施され得る。
【００９６】
所与のメイン・コンテンツについて、アプリケーションは、メイン・コンテンツ内で発生するクライマックス・イベントにおいて使用、提示、または、そうでなければ満たされる特徴値のセットを計算する（ブロック８０２）。特徴値のセットを使用して、アプリケーションは、メイン・コンテンツのライブ・ストリーミング中の将来の時間におけるクライマックス・イベントの発生を予測する（ブロック８０４）。アプリケーションは、予測されるクライマックス・イベントの将来の時間より前の非クライマックス期間を選択する（ブロック８０６）。実施では、例示的な実施形態の範囲から逸脱することなく、クライマックス・イベントを予測する代わりに、非クライマックス期間が予測されるように、ブロック８０４、および８０６が組み合わされ得る。
【００９７】
アプリケーションは、ライブ・ストリームのユーザに、挿入前検証要求を送信する（ブロック８０８）。アプリケーションは、少なくともしきい数のアクティブ・ユーザが、要求に対して肯定的に応答したか否かを判定し、予測された非クライマックス期間を検証する（ブロック８１０）。しきい数のアクティブ・ユーザが応答したが、肯定が、しきい数に達していない場合（ブロック８１０の「Ｎｏ」のパス）、アプリケーションは、ブロック８０６に戻って、新たな非クライマックス期間を選択する。アクティブ・ユーザの数がしきい値（デフォルト条件）に達していない場合、または少なくとも、しきい数の肯定的な応答が受信されていた場合（ブロック８１０における「Ｙｅｓ」のパス）、アプリケーションは、選択された非クライマックス期間におけるメイン・コンテンツのライブ・ストリーミングに、二次コンテンツを挿入する（ブロック８１２）。
【００９８】
アプリケーションは、二次コンテンツの送信が完了した後に、オプションで、挿入後検証要求を送信し得る（ブロック８１４）。アプリケーションは、挿入前検証応答および挿入後検証応答を収集し、予測エンジンの機械学習またはトレーニングにその応答を使用する（ブロック８１６）。その後、アプリケーションは処理８００を終了する。
【００９９】
図９を参照して、この図は、例示的な実施形態に従う、非クライマックス期間予測の個別化のための例示的な処理のフローチャートを描写する。処理９００は、図３におけるアプリケーション３０２または図５におけるアプリケーション５０２において実施され得る。
【０１００】
メイン・コンテンツのライブ・ストリーミング中に、アプリケーションは、特定のユーザの１つまたは複数の反応の測定値を測定または受信する。この反応は、ライブ・ストリームで展開するイベントのユーザの知覚に応じている（ブロック９０２）。アプリケーションは、特定のユーザがクライマックス・イベントとみなすこれらのイベントを表すために、特徴値のセットを生成するか、またはすでに生成された場合は、一般的なクライマックス・イベント特徴値のセットを修正する（ブロック９０４）。特徴値の修正されたセットを使用して、アプリケーションは、たとえば、図８におけるブロック８０４およびブロック８０６における非クライマックス期間の予測を、ユーザ固有のものにする（ブロック９０６）。
【０１０１】
アプリケーションは、ユーザ固有の挿入前検証要求を、特定のユーザに送信する（ブロック９０８）。アプリケーションは、特定のユーザが、肯定的に応答するか、または応答がない場合にはユーザ固有の非クライマックス期間中にデフォルト挿入を引き起こすことに基づいて、ユーザ固有の非クライマックス期間において二次コンテンツを挿入する（ブロック９１０）。ユーザが否定的に繰り返し応答する場合、１つの非クライマックス期間をデフォルトとして選択する前に、限定された数の代替の非クライマックス期間を選択するようにアプリケーションが構成され得る。
【０１０２】
挿入された二次コンテンツの送信が完了すると、アプリケーションは、オプションで、特定のユーザに、ユーザ固有の挿入後検証要求を送信し得る（ブロック９１２）。アプリケーションは、挿入前検証、挿入後検証、またはその両方に対するユーザの応答に基づいて、予測エンジンを修正する（ブロック９１４）。その後、アプリケーションは、処理９００を終了する。
【０１０３】
図１０を参照して、この図は、例示的な実施形態に従う、予測検証要求に応答するようにユーザにインセンティブを付与するための例示的な処理のフローチャートを描写する。処理１０００は、図３におけるアプリケーション３０２または図６における図６０２において実施され得る。
【０１０４】
ユーザが検証要求に応答すると、アプリケーションは、ユーザをアクティブとして分類する（ブロック１００２）。アプリケーションは、ユーザが応答する速度、所与の期間またはフィード中にユーザが提供した応答の数、またはこれらの何らかの組合せに基づいて、他のアクティブ・ユーザに対するユーザのランクまたはスコアを計算する（ブロック１００４）。
【０１０５】
アプリケーションは、応答間の時間の経過とともに、すべてのアクティブ・ユーザのランクまたはスコアを古くする、または減少させる（ブロック１００６）。アプリケーションは、ユーザの最終的なランクまたはスコアを計算する（ブロック１００８）。アプリケーションは、ユーザの最終的なランクまたはスコアと逆の関係を有する動的遅延期間を計算する（ブロック１０１０）。
【０１０６】
アプリケーションは、計算された動的遅延を、ライブ・ストリームにおいて使用される基本遅延と組み合わせる（ブロック１０１２）。アプリケーションは、基本遅延と動的遅延との合計遅延でメイン・コンテンツを送信する、または送信させる（ブロック１０１４）。その後、アプリケーションは、処理１０００を終了する。
【０１０７】
このように、ライブ・ストリーミングおよび他の関連する特徴、機能、または動作における二次コンテンツのインテリジェント挿入のためのコンピュータによって実施される方法、システムまたは装置、およびコンピュータ・プログラム製品が、例示的な実施形態において提供される。実施形態またはその一部がデバイスの種類に関して記載される場合、コンピュータによって実施される方法、システムまたは装置、コンピュータ・プログラム製品、またはその一部は、適切で、その種類のデバイスに同等の明示で使用するために適合または構成される。
【０１０８】
実施形態がアプリケーションにおいて実施されるものとして記載される場合、サース（ＳａａＳ：Software as a Service）モデルにおけるアプリケーションの配信が、例示的な実施形態の範囲内で企図される。ＳａａＳモデルでは、実施形態を実施するアプリケーションの機能は、クラウド・インフラストラクチャ内でアプリケーションを実行することによってユーザに提供される。ユーザは、ウェブ・ブラウザ（たとえば、ウェブ・ベースの電子メール）のようなシン・クライアント・インターフェース、または他の軽量のクライアント・アプリケーションを介して、様々なクライアント・デバイスを使用してアプリケーションにアクセスし得る。ユーザは、ネットワーク、サーバ、オペレーティング・システム、クラウド・インフラストラクチャの記憶装置など、基盤となるクラウド・インフラストラクチャを管理または制御しない。場合によっては、ユーザが、ＳａａＳアプリケーションの機能を管理または制御しないこともあり得る。他のいくつかの場合には、アプリケーションのＳａａＳ実施は、限定されたユーザ固有のアプリケーション構成設定の、あり得る例外を許容し得る。
【０１０９】
本発明は、任意の可能な技術的詳細レベルの統合におけるシステム、方法、またはコンピュータ・プログラム製品、あるいはその組合せであり得る。コンピュータ・プログラム製品は、プロセッサに、本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体（または複数の媒体）を含み得る。
【０１１０】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持し記憶することができる有形のデバイスであり得る。コンピュータ可読記憶媒体は、たとえば、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、またはこれらの任意の適切な組合せであり得るが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的リストは以下、すなわち、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読出専用メモリ（ＲＯＭ）、消去可能プログラマブル読出専用メモリ（ＥＰＲＯＭもしくはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクト・ディスク読出専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、フロッピー・ディスク、パンチカードのような機械的に符号化されたデバイス、または命令が記録された溝における隆起構造、および、上記の任意の適切な組合せを含む。本明細書で使用されるコンピュータ可読記憶媒体は、電波または他の自由に伝播する電磁波、導波管または他の送信媒体を伝播する電磁波（たとえば、光ファイバ・ケーブルを介して通過する光パルス）または、有線を介して送信される電気信号のような、一時的な信号自体であると解釈されるべきではない。
【０１１１】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング／処理デバイスに、あるいは、たとえば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、もしくはワイヤレス・ネットワーク、またはその組合せのようなネットワークを介して、外部コンピュータもしくは外部記憶デバイスにダウンロードされ得る。ネットワークは、銅送信ケーブル、光送信ファイバ、ワイヤレス送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを備え得る。各コンピューティング／処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング／処理デバイス内のコンピュータ可読記憶媒体における記憶のためにコンピュータ可読プログラム命令を転送する。
【０１１２】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ（ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路構成のための構成データ、または、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋等のようなオブジェクト指向プログラミング言語、および、「Ｃ」プログラミング言語もしくは同様なプログラミング言語のような手続き型プログラミング言語を含む１つまたは複数のプログラミング言語の任意の組合せで記述されたソース・コードもしくはオブジェクト・コードであり得る。コンピュータ可読プログラム命令は、完全にユーザのコンピュータにおいて、部分的にユーザのコンピュータにおいて、スタンドアロンのソフトウェア・パッケージとして、部分的にユーザのコンピュータおよび部分的にリモート・コンピュータにおいて、または完全にリモート・コンピュータまたはサーバにおいて実行し得る。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）を含む任意の種類のネットワークを介してユーザのコンピュータに接続され得るか、または、（たとえば、インターネット・サービス・プロバイダを使用してインターネットを介して）外部コンピュータに接続され得る。いくつかの実施形態では、たとえば、プログラマブル論理回路構成、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、またはプログラマブル論理アレイ（ＰＬＡ）を含む電子回路構成は、本発明の態様を実行するために、電子回路構成をパーソナル化するためにコンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行し得る。
【０１１３】
本発明の態様は、本発明の実施形態に従う方法、装置（システム）、およびコンピュータ・プログラム製品のフローチャート例図、またはブロック図、あるいはその両方を参照して本明細書に記載される。フローチャート例図、またはブロック図、あるいはその両方の各ブロック、ならびにフローチャート例図、またはブロック図、あるいはその両方内のブロックの組合せは、コンピュータ可読プログラム命令によって実施され得ることが理解されよう。
【０１１４】
これらのコンピュータ可読プログラム命令は、機械を生成するために、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供され、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行する命令が、フローチャート、またはブロック図あるいはその両方のブロックまたは複数のブロックにおいて指定された機能／動作を実施するための手段を生成できるようになる。これらのコンピュータ可読プログラム命令は、コンピュータ、プログラム可能データ処理装置、または他のデバイス、あるいはその組合せに対して特定の方法で機能するように指示できるコンピュータ可読記憶媒体にも記憶され得、これによって、記憶された命令を有するコンピュータ可読記憶媒体は、フローチャート、またはブロック図あるいはその両方のブロックまたは複数のブロックにおいて指定された機能／動作の態様を実施する命令を含む製造物品を備えるようになる。
【０１１５】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされて、コンピュータによって実施される処理を生成するために、コンピュータ、他のプログラマブル装置または他のデバイスにおいて、一連の動作ステップを実行させ、これによって、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行する命令が、フローチャート、またはブロック図あるいはその両方のブロックまたは複数のブロックにおいて指定された機能／動作を実施できるようになる。
【０１１６】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態に従うシステム、方法、およびコンピュータ・プログラム製品の可能な実施のアーキテクチャ、機能、および動作を例示する。これに関して、フローチャートまたはブロック図における各ブロックは、指定された論理機能を実施するための１つまたは複数の実行可能な命令を備えたモジュール、セグメント、または命令の一部を表し得る。いくつかの代替実施では、ブロックに示される機能は、図面に示される順序とは異なる順序で発生し得る。たとえば、連続して図示される２つのブロックは、実際には、実質的に同時に実行され得るか、または関連する機能に依存して、逆の順序で実行され得るときもある。ブロック図、またはフローチャート例図あるいはその両方の各ブロック、およびブロック図、またはフローチャート例図あるいはその両方におけるブロックの組合せは、指定された機能または動作を実行する、または、専用のハードウェアとコンピュータ命令との組合せを実行する専用のハードウェア・ベースのシステムによって実施され得ることにも留意されたい。
【符号の説明】
【０１１７】
１００  データ処理環境
１０２  ネットワーク
１０４，１０６  サーバ
１０５  アプリケーション
１０７  ソース
１０８  記憶装置
１０９  二次コンテンツ
１１０，１１２，１１４  クライアント
１１１  記録デバイス
１３２  デバイス
１３４  ユーザ
【図１】
2020507227.tif 000003
【図２】
2020507227.tif 000004
【図３】
2020507227.tif 000005
【図４】
2020507227.tif 000006
【図５】
2020507227.tif 000007
【図６】
2020507227.tif 000008
【図７】
2020507227.tif 000009
【図８】
2020507227.tif 000010
【図９】
2020507227.tif 000011
【図１０】
2020507227.tif 000012
【手続補正書】
【提出日】令和1年10月1日(2019.10.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
方法であって、
メイン・コンテンツのライブ・ストリーミングから、前記メイン・コンテンツのすでにストリーミングされた部分を分析して、前記メイン・コンテンツ内のクライマックス・イベントの発生を識別することと、
前記分析に基づいて、前記メイン・コンテンツの前記すでにストリーミングされた部分における前記クライマックス・イベントを表す特徴値のセットを構築することと、
プロセッサおよびメモリを使用して、いずれのクライマックス・イベントの発生の可能性も、しきい可能性を下回る、非クライマックス期間を予測することと、
第２のクライマックス・イベント中に二次コンテンツ挿入が前記ライブ・ストリーミングを中断する可能性が、第２のしきい可能性よりも低くなるように、前記非クライマックス期間中に、前記メイン・コンテンツの前記ライブ・ストリーミングに二次コンテンツを挿入することと、
前記二次コンテンツが前記ライブ・ストリーミングにおいて完全に送信された後に、前記メイン・コンテンツの前記ライブ・ストリーミングを継続することとを含む、方法。
【請求項２】
前記ライブ・ストリーミングのユーザが、前記予測された非クライマックス期間中に前記第２のクライマックス・イベントが発生する可能性が低いことに同意するか否かを判定するための挿入前検証要求を構成することと、
前記ライブ・ストリーミングに前記二次コンテンツを挿入する前に、前記ライブ・ストリーミングにおいて前記挿入前検証要求を送信することと、
ユーザ入力を受信することであって、前記ユーザ入力は、前記挿入前検証要求に対する肯定的な応答であり、前記二次コンテンツを挿入することは、前記肯定的な応答に応じることである、前記受信することとをさらに含む、請求項１に記載の方法。
【請求項３】
前記挿入前検証要求は、送信されている前記メイン・コンテンツと同時に送信される、請求項２に記載の方法。
【請求項４】
前記ライブ・ストリーミングのユーザが、前記予測された非クライマックス期間中に前記第２のクライマックス・イベントが発生する可能性が低いことに同意するか否かを判定するための挿入前検証要求を構成することと、
前記ライブ・ストリーミングに前記二次コンテンツを挿入する前に、前記ライブ・ストリーミングにおいて前記挿入前検証要求を送信することと、
ユーザ入力を受信することであって、前記ユーザ入力は、前記挿入前検証要求に対する否定的な応答である、前記受信することと、
前記否定的な応答に応じて、第２の非クライマックス期間を予測することであって、前記非クライマックス期間中に、前記二次コンテンツを挿入することは、前記第２の非クライマックス期間中に、前記二次コンテンツを挿入する、前記予測することとをさらに含む、請求項１に記載の方法。
【請求項５】
前記ライブ・ストリーミングのユーザが、前記予測される非クライマックス期間中に前記第２のクライマックス・イベントが発生する可能性が低いことに同意するか否かを判定するための挿入前検証要求を構成することと、
前記ライブ・ストリーミングに前記二次コンテンツを挿入する前に、前記ライブ・ストリーミングにおいて前記挿入前検証要求を送信することと、
ユーザ入力を受信することに失敗することであって、前記非クライマックス期間中に前記二次コンテンツを挿入することは、前記失敗することに応じることである、前記失敗することとをさらに含む、請求項１に記載の方法。
【請求項６】
前記ライブ・ストリーミングのユーザが、前記挿入された二次コンテンツが実際には前記メイン・コンテンツ内のいずれのクライマックス・イベントも中断しなかったことに同意するか否かを判定するための挿入後検証要求を構成することと、
前記ライブ・ストリーミングに前記挿入された二次コンテンツの送信が完了した後に、前記ライブ・ストリーミングに前記挿入後検証要求を送信することと、
ユーザ入力を受信することであって、前記ユーザ入力は、前記挿入後検証要求に対する肯定的な応答である、前記受信することと、
前記挿入後検証要求に対する前記肯定的な応答を使用して、将来の非クライマックス期間が予測される予測期間を増加させることとをさらに含む、請求項１に記載の方法。
【請求項７】
前記非クライマックス期間を予測することの一部として、将来の時間における前記メイン・コンテンツ内の次のクライマックス・イベントの発生を予測することであって、前記次のクライマックス・イベントを予測することは前記特徴値のセットを使用する、前記予測することと、
現在の時間から前記将来の時間までの期間を、前記非クライマックス期間とみなすこととをさらに含む、請求項１に記載の方法。
【請求項８】
前記メイン・コンテンツは、リアルタイムで発生するライブ・イベントからキャプチャされる、請求項１に記載の方法。
【請求項９】
請求項１乃至８のいずれか一項に記載の方法をコンピュータに実行させるためのプログラム。
【請求項１０】
１つまたは複数のプロセッサと、１つまたは複数のコンピュータ可読メモリと、１つまたは複数のコンピュータ可読記憶デバイスと、前記１つまたは複数のメモリのうちの少なくとも１つを介した、前記１つまたは複数のプロセッサのうちの少なくとも１つによる実行のために、前記１つまたは複数の記憶デバイスのうちの少なくとも１つに記憶された、請求項１乃至８のいずれか一項に記載の方法を実施するためのプログラム命令とを備えたコンピュータ・システム。
【国際調査報告】
2020507227.tif 000013
2020507227.tif 000014