(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-05
(45)【発行日】2023-01-16
(54)【発明の名称】ライブ・ストリーミングにおける二次コンテンツのインテリジェント挿入
(51)【国際特許分類】
H04N 21/262 20110101AFI20230106BHJP
H04L 67/00 20220101ALI20230106BHJP
H04L 67/2869 20220101ALI20230106BHJP
H04N 21/24 20110101ALI20230106BHJP
【FI】
H04N21/262
H04L67/00
H04L67/2869
H04N21/24
(21)【出願番号】P 2019531323
(86)(22)【出願日】2018-01-04
(86)【国際出願番号】 IB2018050056
(87)【国際公開番号】W WO2018127824
(87)【国際公開日】2018-07-12
【審査請求日】2020-07-22
(32)【優先日】2017-01-09
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】521497176
【氏名又は名称】オウメイン リミテッド
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】マルゾラティ、マウロ
(72)【発明者】
【氏名】ボウマン、アーロン
(72)【発明者】
【氏名】ナッサー、アフマド
(72)【発明者】
【氏名】バリラ、マイケル
【審査官】鈴木 隆夫
(56)【参考文献】
【文献】特開2005-339038(JP,A)
【文献】特表2015-520545(JP,A)
【文献】特開2010-245773(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00-21/858
H04L 67/00-67/75
(57)【特許請求の範囲】
【請求項1】
方法であって、
メイン・コンテンツのライブ・ストリーミングから、前記メイン・コンテンツのすでにストリーミングされた部分を分析して、前記メイン・コンテンツ内のクライマックス・イベントの発生を識別することと、
前記分析に基づいて、前記メイン・コンテンツの前記すでにストリーミングされた部分における前記クライマックス・イベントを表す特徴値のセットを構築することと、
プロセッサおよびメモリを使用して、いずれのクライマックス・イベントの発生の可能性も、しきい可能性を下回る、非クライマックス期間を予測することと、
第2のクライマックス・イベント中に二次コンテンツ挿入が前記ライブ・ストリーミングを中断する可能性が、第2のしきい可能性よりも低くなるように、前記非クライマックス期間中に、前記メイン・コンテンツの前記ライブ・ストリーミングに二次コンテンツを挿入することと、
前記二次コンテンツが前記ライブ・ストリーミングにおいて完全に送信された後に、前記メイン・コンテンツの前記ライブ・ストリーミングを継続することとを含
み、
前記ライブ・ストリーミングのユーザが、前記挿入された二次コンテンツが実際には前記メイン・コンテンツ内のいずれのクライマックス・イベントも中断しなかったことに同意するか否かを判定するための挿入後検証要求を構成することと、
前記ライブ・ストリーミングに前記挿入された二次コンテンツの送信が完了した後に、前記ライブ・ストリーミングに前記挿入後検証要求を送信することと、
ユーザ入力を受信することであって、前記ユーザ入力は、前記挿入後検証要求に対する肯定的な応答である、前記受信することと、
前記挿入後検証要求に対する前記肯定的な応答を使用して、将来の非クライマックス期間が予測される予測期間を増加させることとをさらに含む、方法。
【請求項2】
前記ライブ・ストリーミングのユーザが、前記予測された非クライマックス期間中に前記第2のクライマックス・イベントが発生する可能性が低いことに同意するか否かを判定するための挿入前検証要求を構成することと、
前記ライブ・ストリーミングに前記二次コンテンツを挿入する前に、前記ライブ・ストリーミングにおいて前記挿入前検証要求を送信することと、
ユーザ入力を受信することであって、前記ユーザ入力は、前記挿入前検証要求に対する肯定的な応答であり、前記二次コンテンツを挿入することは、前記肯定的な応答に応じることである、前記受信することとをさらに含む、請求項1に記載の方法。
【請求項3】
前記挿入前検証要求は、送信されている前記メイン・コンテンツと同時に送信される、請求項2に記載の方法。
【請求項4】
前記ライブ・ストリーミングのユーザが、前記予測された非クライマックス期間中に前記第2のクライマックス・イベントが発生する可能性が低いことに同意するか否かを判定するための挿入前検証要求を構成することと、
前記ライブ・ストリーミングに前記二次コンテンツを挿入する前に、前記ライブ・ストリーミングにおいて前記挿入前検証要求を送信することと、
ユーザ入力を受信することであって、前記ユーザ入力は、前記挿入前検証要求に対する否定的な応答である、前記受信することと、
前記否定的な応答に応じて、第2の非クライマックス期間を予測することであって、前記非クライマックス期間中に、前記二次コンテンツを挿入することは、前記第2の非クライマックス期間中に、前記二次コンテンツを挿入する、前記予測することとをさらに含む、請求項1に記載の方法。
【請求項5】
前記ライブ・ストリーミングのユーザが、前記予測される非クライマックス期間中に前記第2のクライマックス・イベントが発生する可能性が低いことに同意するか否かを判定するための挿入前検証要求を構成することと、
前記ライブ・ストリーミングに前記二次コンテンツを挿入する前に、前記ライブ・ストリーミングにおいて前記挿入前検証要求を送信することと、
ユーザ入力を受信することに失敗することであって、前記非クライマックス期間中に前記二次コンテンツを挿入することは、前記失敗することに応じることである、前記失敗することとをさらに含む、請求項1に記載の方法。
【請求項6】
前記非クライマックス期間を予測することの一部として、将来の時間における前記メイン・コンテンツ内の次のクライマックス・イベントの発生を予測することであって、前記次のクライマックス・イベントを予測することは前記特徴値のセットを使用する、前記予測することと、
現在の時間から前記将来の時間までの期間を、前記非クライマックス期間とみなすこととをさらに含む、請求項1に記載の方法。
【請求項7】
前記メイン・コンテンツは、リアルタイムで発生するライブ・イベントからキャプチャされる、請求項1に記載の方法。
【請求項8】
請求項1乃至
7のいずれか一項に記載の方法をコンピュータに実行させるためのプログラム。
【請求項9】
1つまたは複数のプロセッサと、1つまたは複数のコンピュータ可読メモリと、1つまたは複数のコンピュータ可読記憶デバイスと、前記1つまたは複数のメモリのうちの少なくとも1つを介した、前記1つまたは複数のプロセッサのうちの少なくとも1つによる実行のために、前記1つまたは複数の記憶デバイスのうちの少なくとも1つに記憶された、請求項1乃至
7のいずれか一項に記載の方法を実施するためのプログラム命令とを備えたコンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、メイン・コンテンツのライブ・ストリーミングへの二次コンテンツの挿入に関する。
【背景技術】
【0002】
スポーツ・イベント、ニュース価値のあるイベント、および他のライブ事象は、多くの場合、様々なデバイスを使用してライブ・ストリームを受信するユーザにライブで送信される。たとえば、バスケットボールの試合は、テレビ、モバイル電話、タブレット・コンピュータ、または他の種類のデバイスで、試合を観戦するユーザにライブで放送され得る。
【0003】
以下、イベントの「ライブ」ストリームとは、送信エンティティによって技術的に可能であるかまたは許容可能であるように、イベントの発生の実際の時間に間に合うようにデータを送信することを称する。たとえば、アワード・ショーまたは試合のライブ放送は、これらのショーまたは試合における望ましくないハプニングの送信をキャプチャし、阻止できるように、意図的にわずかに遅延させられる。このような人為的に導入された遅延、および、信号の処理によって引き起こされる遅延は、このような送信から乱れず、例示的な実施形態の範囲内でライブであるとみなされる。
【0004】
以下、「メイン」コンテンツは、たとえば、スポーツ・イベント、セレモニー等のようなライブ・イベントから製作されるコンテンツのように、ライブで送信されることが主に求められるコンテンツまたはデータを称する。「二次」コンテンツは、メイン・コンテンツ以外のコンテンツであり、メイン・コンテンツのソース以外のソースから取得されるものを称する。たとえば、ライブ・イベントをカバーするプロバイダによって提供されるメイン・コンテンツを中断またはオーバレイする、広告コンテンツ・プロバイダによって提供される広告コンテンツは、例示的な二次コンテンツと見なされ得る。
【0005】
現在、送信内の二次コンテンツの配置は、固定的に事前定義される。たとえば、メイン・コンテンツが中断されて二次コンテンツが送信されるときの2分間のコマーシャル・ブレークは、メイン・コンテンツの30分間の送信における9分、16分、および24分において計画され得る。メイン・コンテンツに関わらず、コマーシャル・ブレークは、事前設定されたインタバル(2分)で、事前設定された時間(9、16、および24分)において生じる。
【0006】
例示的な実施形態は、メイン・コンテンツの送信に二次コンテンツを挿入する固定的な方法が、メイン・コンテンツにとって邪魔になり得ることを認識する。たとえば、9分において、二次コンテンツの固定的な挿入が、メイン・コンテンツを中断するとき、メイン・コンテンツはクライマックス・イベントであるか、または、それに近づいている場合があり得る。
【0007】
例示的な実施形態は、このようなタイミングの悪い中断によって、ユーザがしばしば不快になることを認識する。例示的な実施形態は、二次コンテンツをメイン・コンテンツ送信に挿入するための適切な時間を動的に判定することが有用になることを認識する。
【0008】
メイン・コンテンツ内のイベントは、メイン・コンテンツ内の別のイベントと比較して、そのイベントがユーザにとって非常に大きな関心のあるイベントになるような特徴のセットを満たす場合には、クライマックスとみなされる。たとえば、フットボールの試合は全体的にエキサイティングであり得るが、たとえば、チームがボールを数ヤード移動させるときと比べて、ユーザのお気に入りのチームが、タッチダウンで得点するイベントは、大いに関心が高く、ユーザにとって、かなりエキサイティングである。タッチダウン・イベントは、フットボールの試合のライブ放送におけるクライマックスであると言う人もいるであろう。ユーザは、クライマックス・イベントが起こりそうなときに、二次コンテンツ挿入のためにメイン・コンテンツ送信を中断することに対して、そうでない場合よりも、かなり高い度合いの嫌悪感を有するとみなされる。
【0009】
非クライマックス期間は、クライマックス・イベントが、しきい値よりも高い、発生しない確率を有する期間である。ユーザは、非クライマックス期間中に、二次コンテンツ挿入のためにメイン・コンテンツ送信を中断することに対して、そうでない場合よりも、かなり高い度合いの許容性を有するとみなされる。
【0010】
例示的な実施形態はさらに、異なるユーザが、異なるクライマックス・イベントに関連し、関連付き、そうでなければ応答し得ることを認識する。たとえば、ニューヨークのチームとダラスのチームとの試合のライブ中継では、ニューヨークのチームのファンであるユーザは、ニューヨークのチームが得点するイベントをクライマックスとみなす可能性が高い一方、ダラスのチームのファンであるユーザは、ダラスのチームが得点したイベントをクライマックスとみなす可能性が高い。同様に、あるユーザは、コミック・イベントをクライマックスとみなし、別のユーザは、サスペンス・イベントをクライマックスと見なし得る。様々な理由で、異なるユーザは、クライマックスとみなす異なるイベントを有することができ、実際に有する。
【0011】
例示的な実施形態は、二次コンテンツに対する挿入ポイントを動的に判定することが有用であるだけではなく、動的な挿入は、クライマックス・イベントに対する個々のユーザの好みに合わせて調整され得ることを認識する。次に、二次コンテンツは、非コンテンツ期間がユーザの好みに固有となるように、メイン・コンテンツ送信の非クライマックス期間に挿入され得る。
【0012】
例示的な実施形態はさらに、クライマックス・イベントおよび非クライマックス期間の予測を改善することが有益であることを認識する。例示的な実施形態は、実際の送信を受信している実際のユーザから予測の検証を取得することが、予測を改善するための良い手法であることを認識する。
【0013】
例示的な実施形態は、ユーザが、予測された非クライマックス期間のフィードバックまたは他の検証を提供することに参加するために、インセンティブを付与される必要があることを認識する。本明細書に記載されるように、ライブ送信は、しばしば、様々な理由で、人為的に遅延される。例示的な実施形態は、予測検証へのユーザの参加に関連して特定のユーザへのライブ・ストリーミングの遅延を変更することが、このような参加に対する報酬として有用であることを認識する。
【0014】
予測検証は、予測についてのユーザ・フィードバックを求める手法である。予測検証は、ユーザに提示される質問の形式を採ることができ、ユーザは、それに対して適切な技術を使用して回答することができる。挿入前検証は、予測された非クライマックス期間が、クライマックス・イベントを含む可能性が低いということにユーザが同意するか否かを実質的に尋ねるように構成されたクエリである。挿入前検証は、二次コンテンツが送信に挿入される前に提示される。
【0015】
挿入後検証は、挿入された二次コンテンツが、予測された非クライマックス期間中に送信された間に、送信を観察しているユーザが、実際に、いずれのクライマックス・イベントも見逃さなかったか否かを実質的に尋ねるように構成されたクエリである。挿入後検証は、挿入された二次コンテンツの送信が完了した後に提示される。
【0016】
アクティブ・ユーザは、挿入前検証、挿入後検証、またはその両方に応答するユーザである。アクティブ・ユーザ・グループは、アクティブ・ユーザで構成されるグループである。パッシブ・ユーザは、少なくとも過去の一定期間内に、どの検証の質問にも応答していないユーザである。記録デバイスのような非人間デバイスは、パッシブ・ユーザとなり得る。
【0017】
アクティブ・ユーザ・グループ内のアクティブ・ユーザのアクティビティ・ベースのランク付けは、アクティブ・ユーザ・グループ内の他のユーザに対するユーザの順位またはランク付けであり、ユーザ、ユーザによって提供された検証応答の数、検証質問にユーザがどれだけ迅速に応答したか(ユーザの応答速度)、または、これらおよび他の同様な目的の要因のいくつかの組合せである計算によって判定される。
【0018】
ライブ送信における基本遅延は、メイン・コンテンツ・プロバイダによる送信において構成された固定遅延または遅れである。動的遅延は、実施形態によって構成され得る追加の遅延である。そのため、ライブ送信において表現されるイベントは、基本遅延プラス動的遅延まで遅延される。動的遅延は、ユーザ固有、すなわち、異なるユーザに対して異なり得る。
【発明の概要】
【発明が解決しようとする課題】
【0019】
メイン・コンテンツのライブ・ストリーミングへの二次コンテンツのインテリジェント挿入のための方法、プログラム、およびコンピュータ・システムを提供する。
【課題を解決するための手段】
【0020】
例示的な実施形態は、方法、システム、およびコンピュータ・プログラム製品を提供する。実施形態は、メイン・コンテンツのライブ・ストリーミングから、メイン・コンテンツのすでにストリーミングされた部分を分析して、メイン・コンテンツ内のクライマックス・イベントの発生を識別する方法を含む。実施形態は、この分析に基づいて、メイン・コンテンツのすでにストリーミングされた部分におけるクライマックス・イベントを表す特徴値のセットを構築する。実施形態は、プロセッサおよびメモリを使用して、いずれのクライマックス・イベントの発生の可能性も、しきい可能性を下回る非クライマックス期間を予測する。本実施形態は、第2のクライマックス・イベント中に二次コンテンツ挿入がライブ・ストリーミングを中断する可能性が、第2のしきい可能性より低くなるように、非クライマックス期間中に、メイン・コンテンツのライブ・ストリーミングに二次コンテンツを挿入する。実施形態は、二次コンテンツがライブ・ストリーミングにおいて完全に送信された後に、メイン・コンテンツのライブ・ストリーミングを継続する。したがって、本実施形態は、二次コンテンツをライブ・ストリーミングに動的に配置し、二次コンテンツ挿入ポイントの固定的事前判定において遭遇する問題である、メイン・コンテンツにおいて発生し得るクライマックス・イベントの中断を回避する。
【0021】
別の実施形態は、ライブ・ストリーミングのユーザが、予測された非クライマックス期間中に第2のクライマックス・イベントが発生する可能性が低いことに同意するか否かを判定するための挿入前検証要求をさらに構成する。実施形態は、ライブ・ストリーミングに二次コンテンツを挿入する前に、ライブ・ストリーミングにおいて挿入前検証要求を送信する。実施形態は、ユーザ入力を受信する。ユーザ入力は、挿入前検証要求に対する肯定的な応答であり、二次コンテンツを挿入することは、肯定的な応答に応じることである。このように、実施形態は、二次コンテンツ挿入ポイントのための適切な期間を予測するだけではなく、二次コンテンツを挿入する前にライブ・ストリーミングの実際のユーザと予測を検証する。この検証は、予測の信頼性を高める。
【0022】
1つの実施形態では、挿入前検証要求は、送信されているメイン・コンテンツと同時に送信される。したがって、メイン・コンテンツのライブ・ストリーミングは、二次コンテンツ挿入によってのみ最小限に中断され、挿入前検証要求の間、継続する。
【0023】
別の実施形態は、ライブ・ストリーミングのユーザが、予測された非クライマックス期間中に第2のクライマックス・イベントが発生する可能性が低いことに同意するか否かを判定するための挿入前検証要求をさらに構成する。実施形態は、ライブ・ストリーミングに二次コンテンツを挿入する前に、ライブ・ストリーミングにおいて挿入前検証要求を送信する。ユーザ入力を受信する実施形態では、ユーザ入力は、挿入前検証要求に対する否定的な応答である。実施形態は、この否定的な応答に応じて、第2の非クライマックス期間を予測する。非クライマックス期間中に二次コンテンツを挿入することは、第2の非クライマックス期間中に二次コンテンツを挿入する。このように、実施形態は、二次コンテンツ挿入ポイントのための適切な期間を予測するだけではなく、二次コンテンツを挿入する前にライブ・ストリーミングの実際のユーザと予測を検証する。この検証に対する否定的な応答は、挿入がメイン・コンテンツ内のクライマックス・イベントを妨害すると人間のユーザが信じるところで二次コンテンツを挿入する、機械ベースの予測を回避する。
【0024】
別の実施形態は、ライブ・ストリーミングのユーザが、予測される非クライマックス期間中に第2のクライマックス・イベントが発生する可能性が低いことに同意するか否かを判定するための挿入前検証要求をさらに構成する。実施形態は、ライブ・ストリーミングに二次コンテンツを挿入する前に、ライブ・ストリーミングにおいて挿入前検証要求を送信する。実施形態は、ユーザ入力を受信することに失敗する。非クライマックス期間中に二次コンテンツを挿入することは、この失敗することに応じることである。したがって、ユーザが挿入前検証に関心がない、または参加することができない場合、実施形態は、挿入について予測された非クライマックス期間に依存する。
【0025】
別の実施形態は、ライブ・ストリーミングのユーザが、挿入された二次コンテンツが実際にはメイン・コンテンツ内のいずれのクライマックス・イベントも中断しなかったことに同意するか否かを判定するための挿入後検証要求を構成する。実施形態は、ライブ・ストリーミングに挿入された二次コンテンツの送信が完了した後に、ライブ・ストリーミングにおいて挿入後検証要求を送信する。実施形態は、ユーザ入力を受信する。ユーザ入力は、挿入後検証要求に対する肯定的な応答である。実施形態は、挿入後検証要求に対する肯定的な応答を使用して、将来の非クライマックス期間が予測される予測期間を増加させる。したがって、この実施形態は、挿入が実際にはクライマックス・イベントを妨害しなかったことを人間のユーザに確認する。これは、予測における信頼性を高め、予測エンジンが、より長い予測期間にわたって将来の非クライマックス期間を予測できるようにする。
【0026】
別の実施形態はさらに、非クライマックス期間を予測することの一部として、将来の時間におけるメイン・コンテンツ内の次のクライマックス・イベントの発生を、特徴値のセットを使用して予測する。実施形態は、現在の時間から将来の時間までの期間を、非クライマックス期間とみなす。したがって、実施形態は、次のクライマックス・イベントが、いつメイン・コンテンツにおいて発生する可能性があるかを予測し、その次のクライマックス・イベントの前に二次コンテンツを挿入することを試みることによって、非クライマックス期間を予測する代替手法を可能にする。
【0027】
1つの実施形態では、メイン・コンテンツは、リアルタイムで発生するライブ・イベントからキャプチャされる。
【0028】
実施形態は、コンピュータ使用可能プログラム製品を含む。コンピュータ使用可能プログラム製品は、1つまたは複数のコンピュータ可読記憶デバイスと、1つまたは複数の記憶デバイスのうちの少なくとも1つに記憶されたプログラム命令とを含む。
【0029】
実施形態は、コンピュータ・システムを含む。コンピュータ・システムは、1つまたは複数のプロセッサと、1つまたは複数のコンピュータ可読メモリと、1つまたは複数のコンピュータ可読記憶デバイスと、1つまたは複数のメモリのうちの少なくとも1つを介した、1つまたは複数のプロセッサのうちの少なくとも1つによる実行のために、1つまたは複数の記憶デバイスのうちの少なくとも1つに記憶されたプログラム命令とを含む。
【0030】
本発明の特徴と考えられる特定の新規な特徴は、添付の特許請求の範囲に記載される。しかしながら、本発明自体、ならびにその好ましい使用モード、そのさらなる目的および利点は、添付の図面と併せて読んだ場合、例示的な実施形態の以下の詳細な説明を参照することによって最もよく理解されるであろう。
【図面の簡単な説明】
【0031】
【
図1】例示的な実施形態が実施され得るデータ処理システムのネットワークのブロック図である。
【
図2】例示的な実施形態が実施され得るデータ処理システムのブロック図である。
【
図3】例示的な実施形態に従う、ライブ・ストリーミングへの二次コンテンツのインテリジェント挿入のための例示的構成のブロック図である。
【
図4】例示的な実施形態に従う、動的挿入予測のための例示的構成のブロック図である。
【
図5】例示的な実施形態に従う、動的挿入予測の個別化のための例示的構成のブロック図である。
【
図6】例示的な実施形態に従う、予測検証要求に応答するようにユーザにインセンティブを付与するための例示的構成のブロック図である。
【
図7】例示的な実施形態に従う、機械学習を介して非クライマックス期間予測を改善するための例示的構成のブロック図である。
【
図8】例示的な実施形態に従う、ライブ・ストリーミングへの二次コンテンツのインテリジェント挿入のための例示的な処理のフローチャートである。
【
図9】例示的な実施形態に従う、非クライマックス期間予測の個別化のための例示的な処理のフローチャートである。
【
図10】例示的な実施形態に従う、予測検証要求に応答するようにユーザにインセンティブを付与するための例示的な処理のフローチャートである。
【発明を実施するための形態】
【0032】
例示的な実施形態は、現在利用可能なツールまたは解決策が、これらのニーズに対処しないか、またはこれらのニーズに対する適切な解決策を提供しないことを認識する。本発明を記載するために使用される例示的な実施形態は、一般に、ライブ・ストリーミングにおける二次コンテンツのインテリジェント挿入に関する上記の問題および他の問題に対処し、解決する。
【0033】
実施形態は、ソフトウェア・アプリケーションとして実施され得る。実施形態を実施するアプリケーションは、既存のライブ・メイン・コンテンツ送信システムの変形として、既存のライブ・メイン・コンテンツ送信システムと連携して動作する別個のアプリケーション、スタンドアロン・アプリケーション、またはこれらの何らかの組合せとして構成され得る。
【0034】
特に、いくつかの例示的な実施形態は、メイン・コンテンツ送信における将来の期間中に、クライマックス・イベントが発生する可能性があるか否かが判定され、非クライマックス期間中に二次コンテンツを挿入することができる方法を提供する。
【0035】
たとえば、実施形態は、既知の予測エンジンにおいて既知の予測アルゴリズムを採用して、その間に長さLの二次コンテンツが挿入され得る、動的に判定された最適な時間枠を予測する。たとえば、スポーツ・トーナメントのライブ中継が進行中の場合、実施形態は、進行中の中継の次のS秒以内に、長さL秒の二次コンテンツが、ライブのスポーツ・トーナメントの進行中の中継に挿入されることになると判定する。時間枠を判定するために選択される最適化基準が、スポーツ・トーナメントにおけるクライマックス・イベントに関する確率が最小となる、定義された予測時間距離にわたる期間を選択するように構成される。
【0036】
一般に、1つの実施形態は、一般的に受け入れられるクライマックス・イベントのセットから、要因値のセットを定式化する。要因値のセットは、一般的に受け入れられるクライマックス・イベントのセットにおけるクライマックス・イベントを表す。一般的に受け入れられるクライマックス・イベントは、通常のユーザが、クライマックスだと感じる可能性が高いイベントである。一般的に受け入れられるクライマックス・イベントのいくつかの例は、限定しないが、スポーツにおける得点イベント、コンテストまたは試合での勝利または敗北の宣言、関係者または団体による声明または発表、宣言、要約、啓示、結論、プロットのねじれ、またはストーリ変更等を含む。
【0037】
イベントに関連付けられた要因は、そのイベントがクライマックス・イベントまたは非クライマックス・イベントであることを示す値を有することができる。たとえば、要因は、シーン内のノイズ・レベルまたはその変化率であり得、レベルまたは上限しきいレベルを超える変化率は、クライマックス・イベントを示し得、その逆もまたあり得る。別の例として、要因は、シーン内のノイズ・レベルまたはその変化率であり得、より低いしきいレベルを下回るレベルまたは変化率は、クライマックス・イベントを示し得るか、その逆もまたあり得る。いくつかの他の非限定的な例示的な要因は、シーン内の光強度レベルまたはその変化率、メイン・コンテンツ内の可視または可聴アーティファクトの有無であり得る。
【0038】
クライマックス・イベントを示す要因および値のこれらの例は、限定的であると意図されていない。この開示から、当業者は、他の多くの要因とこれらの値を想到することができ、例示的な実施形態の範囲内で同じことが企図される。
【0039】
要因値のセットを使用して、実施形態は、要因値のセットを満たすイベントが、期間中に発生する可能性があるか否か、およびそのような発生の確率を予測するために予測エンジンを使用する。要因値のセットを満たすイベントが、しきい可能性よりも大きい予測期間中に予測される場合、実施形態は、クライマックス・イベントが、予測期間中に識別されたと結論付ける。
【0040】
他のいくつかの例示的な実施形態は、所与のメイン・コンテンツにおける特定のユーザの好き嫌いを判定し、そのユーザのためのクライマックス・イベントを定義する特徴の調節されたセットを計算する方法を提供する。次に、方法は、その特定のユーザのためのメイン・コンテンツ送信において非クライマックス期間がいつ発生するのかを判定し、そのユーザ固有の非クライマックス期間に、二次コンテンツを挿入させる。
【0041】
たとえば、メイン・コンテンツの送信中に、実施形態は、コンテンツに対する特定のユーザの応答を測定するために、1つまたは複数のセンサを使用する。たとえば、バイオメトリック・センサは、提示されているコンテンツにおける関心のなさを意味する(強い関心を意味するしきい移動量未満の)体重の移動を測定し得る。別の例として、顔の表情分析は、関心、または、関心のなさ、およびそのレベルを測定し得る。カメラは、同様の測定をするために、ユーザの視線の変化を観察し得る。所与のメイン・コンテンツにおけるユーザの関心、および関心のなさを測定するために、他の多くのバイオメトリックおよび他の種類のセンサが同様に採用され得る。
【0042】
そのような測定から、実施形態は、1つまたは複数のクライマックス・イベントおよび非クライマックス・イベント、ならびにこれらの要因値のうちの1つまたは複数の間の差を識別する。識別されたクライマックス・イベントから、実施形態は、クライマックス・イベントを示す要因値のセットを抽出する。1つの実施形態では、一般的な要因値のセットは、一般的に受け入れられるクライマックス・イベントが、特定のユーザがクライマックスだと感じるイベントを表す要因値で修正されることを示すとみなされる。
【0043】
いくつかのより例示的な実施形態は、挿入前検証質問、挿入後検証質問、またはその両方に応答する際のユーザの参加レベルまたはアクティビティが、他の参加ユーザ(アクティブ・ユーザ)に対して判定される方法を提供する。次に、方法は、動的遅延が、アクティブ・ユーザ・グループにおいてユーザが達成したアクティビティ・ベースのランク付けと逆の関係を有する場合に、ライブ・ストリームにおいてユーザに人為的に導入される遅延の動的成分を調節する。ユーザが検証処理に参加する回数が多いほど、ユーザが検証質問により迅速に応答するほど、またはその両方により、アクティブ・ユーザ・グループにおけるユーザ・ランクが上がり、そのユーザの動的遅延が、より少なくなる。
【0044】
たとえば、メイン・コンテンツ送信における現在の時間から、次のS+L秒以内に重大なイベントがないであろうという十分に高い信頼性をもって、L秒の非クライマックス期間の識別時に、実施形態は、予測された非クライマックス期間を検証するための質問を提示する。たとえば、ユーザのセットは、メイン・コンテンツ送信中に可聴または可視あるいはその両方の合図を提示され、ユーザは、質問に対して肯定的または否定的な回答を提供するための時間枠を与えられる。たとえば、質問は、「120秒の第2のコンテンツが、30秒後に提示されるだろう。同意するか/しないか?」であり得る。アクティブ・ユーザからの、少なくともしきい数の肯定的な回答によって、実施形態は、現在の時間からS秒以内のいつかに、メイン・コンテンツ内への二次コンテンツの挿入をスケジュールする。
【0045】
回答を提供したユーザは、アクティブ・ユーザとみなされる。アクティブ・ユーザは、アクティブ・ユーザ内での順位またはアクティビティ・ベースのランク付けが向上する。アクティブ・ユーザのアクティビティ・ベースのランク付けの向上は、ユーザが回答を提供する速度、ユーザが検証質問に回答を提供した回数、または、これらおよび他の同様の目的の考慮事項の組合せに基づく。
【0046】
1つの実施形態はさらに、以前にアクティブであったがもはやアクティブではないアクティブ・ユーザ・グループから、これらのユーザをエージ・アウトするためのエージング・メカニズムを採用する。たとえば、実施形態のエージング動作では、アクティブ・ユーザ・グループのすべてのユーザは、最後の回答から各単位時間の間、固定量だけ、順位を下げられる。この減少メカニズムは、分離してパッシブ・ユーザに戻ったアクティブ・ユーザを、エージ・アウトする。
【0047】
検証質問、回答、および結果として生じるアクティビティ・ベースのランク付けは、二次コンテンツが挿入される前、二次コンテンツが完全に送信された後、またはその両方で発生し得る。たとえば、二次コンテンツを終了すると、実施形態は、挿入のタイミングの有効性(すなわち、挿入の結果として、クライマックス・イベントが見失われていたか否か)に関して肯定的または否定的に応答することができるすべてのユーザに、可聴的または視覚的な合図を提示する。応答したユーザは、まだグループに属していない場合は、アクティブ・ユーザ・グループに引き上げられる。これらのランキングは、本明細書に記載されるように調節される。実施形態は、特定のユーザについてのメイン・コンテンツの送信を時間シフトさせるための合計遅延(基本遅延+動的遅延)を計算するために、アクティブ・ユーザのランク付けを使用する。
【0048】
実施形態は、参加ユーザから検証応答を収集する。実施形態は、予測エンジンの予測能力を向上させるために、機械学習処理における応答を使用する。たとえば、1つの実施形態は、予測における信頼性およびアクティブ・ユーザからの肯定的な検証応答の数が、その後の予測において増加されるように、非クライマックス期間の予測を調節するために、挿入前検証に対する応答を使用する。
【0049】
別の例として、別の実施形態は、将来の予測の精度を増加させるために、挿入後検証応答を使用する。別の例示的な実施形態は、非クライマックス期間の信頼できる予測がなされ得る予測期間が、将来の予測のために増加されるように、予測エンジンを調節するために、挿入前検証応答および挿入後検証応答を使用する。
【0050】
本明細書に記載されたライブ・ストリーミングへの二次コンテンツのインテリジェント挿入の方法は、現在利用可能な方法では利用できない。本明細書に記載された実施形態の方法は、デバイスまたはデータ処理システム上で実行するように実施されると、ライブのメイン・コンテンツで発生する可能性のあるいずれのクライマックス・イベントとも干渉することなく、メイン・コンテンツのライブ送信に二次コンテンツを動的に挿入する際における、そのデバイスまたはデータ処理システムの機能の大幅な向上を含む。
【0051】
例示的な実施形態は、単なる例として、特定の種類のコンテンツ、送信、遅延、イベント、クライマックス・イベント、非クライマックス・イベント、期間、予測、しきい値、検証、応答、ランク付け、調節、センサ、測定、デバイス、データ処理システム、環境、構成要素、およびアプリケーションに関して記載される。これらおよび他の類似のアーティファクトの具体的な明示は、本発明に限定することは意図されていない。例示的な実施形態の範囲内で、これらおよび他の類似のアーティファクトの任意の適切な明示が選択され得る。
【0052】
さらに、例示的な実施形態は、任意の種類のデータ、データ・ソース、またはデータ・ネットワークを介したデータ・ソースへのアクセスに関して実施され得る。本発明の範囲内で、任意の種類のデータ記憶デバイスが、データ処理システムにおいてローカルに、または、データ・ネットワークを介して、本発明の実施形態にデータを提供し得る。モバイル・デバイスを使用して実施形態が記載される場合、モバイル・デバイスとの使用に適した任意の種類のデータ記憶デバイスが、例示的な実施形態の範囲内で、モバイル・デバイスにおいてローカルに、または、データ・ネットワークを介して、データをそのような実施形態に提供し得る。
【0053】
例示的な実施形態は、単なる例としてのみ、具体的なコード、設計、アーキテクチャ、プロトコル、レイアウト、概略図、およびツールを使用して記載されており、例示的な実施形態に限定するものではない。さらに、例示的な実施形態は、記載を明確にするための例としてのみ、特定のソフトウェア、ツール、およびデータ処理環境を使用していくつかの事例において記載される。例示的な実施形態は、他の同等のまたは同様の目的の構造、システム、アプリケーション、またはアーキテクチャとともに使用され得る。たとえば、本発明の範囲内で、他の同等のモバイル・デバイス、構造、システム、アプリケーション、またはこれらのためのアーキテクチャが、本発明のこのような実施形態とともに使用され得る。例示的な実施形態は、ハードウェア、ソフトウェア、またはこれらの組合せで実施され得る。
【0054】
この開示における例は、記載の明確化のためにのみ使用され、例示的な実施形態に限定するものではない。追加のデータ、動作、アクション、タスク、アクティビティ、および操作が、この開示から想到され、同じことが、例示的な実施形態の範囲内で企図される。
【0055】
本明細書に列挙されたあらゆる利点は、例示にすぎず、例示的な実施形態に限定することは意図されていない。具体的な例示的な実施形態によって、追加のまたは異なる利点が実現され得る。さらに、特定の例示的な実施形態は、上記に列挙された利点のいくつか、すべてを有し得るか、または、まったく有していない。
【0056】
図面を参照して、および、特に
図1および
図2を参照して、これら図面は、例示的な実施形態が実施され得るデータ処理環境の例示的な図である。
図1および
図2は例にすぎず、異なる実施形態が実施され得る環境に関して何らかの限定を主張または示唆することは意図されていない。特定の実施は、以下の記載に基づいて、描写された環境に多くの修正を行い得る。
【0057】
図1は、例示的な実施形態が実施され得るデータ処理システムのネットワークのブロック図を描写する。データ処理環境100は、例示的な実施形態が実施され得るコンピュータのネットワークである。データ処理環境100はネットワーク102を含む。ネットワーク102は、データ処理環境100内でともに接続された様々なデバイスとコンピュータとの間に通信リンクを提供するために使用される媒体である。ネットワーク102は、有線、ワイヤレス通信リンク、または光ファイバ・ケーブルのような接続を含み得る。
【0058】
クライアントまたはサーバは、ネットワーク102に接続された特定のデータ処理システムの単なる例示的な役割であり、これらのデータ処理システムに対する他の構成または役割を排除することは意図されていない。サーバ104およびサーバ106は、記憶ユニット108とともにネットワーク102に結合する。ソフトウェア・アプリケーションは、データ処理環境100内の任意のコンピュータ上で実行し得る。クライアント110、112、および114も、ネットワーク102に結合される。サーバ104または106、または、クライアント110、112または114のようなデータ処理システムは、データを含み得、そこで実行されるソフトウェア・アプリケーションまたはソフトウェア・ツールを有し得る。
【0059】
単なる例として、そしてそのようなアーキテクチャに対するいかなる限定も示唆することなく、
図1は、実施形態の例示的な実施において使用可能である特定の構成要素を描写する。たとえば、サーバ104、106、および、クライアント110、112、114は、単なる例としてサーバおよびクライアントとして描写されており、クライアント-サーバ・アーキテクチャへの限定を示唆していない。他の例として、実施形態は、図示されたように、いくつかのデータ処理システムおよびデータ・ネットワークにわたって分散され得るが、他の実施形態は、例示的な実施形態の範囲内で単一のデータ処理システムにおいて実施され得る。データ処理システム104、106、110、112、および114はまた、クラスタ内の例示的なノード、区分、および実施形態を実施するために適切な他の構成を表す。
【0060】
デバイス132は、本明細書に記載されたデバイスの例である。たとえば、デバイス132は、スマートフォン、タブレット・コンピュータ、ラップトップ・コンピュータ、固定式または携帯式のクライアント110、ウェアラブル・コンピューティング・デバイス、または他の任意の適切なデバイスの形態を採り得る。
図1における別のデータ処理システムで実行されるものとして記載されたいかなるソフトウェア・アプリケーションも、同様の手法でデバイス132において実行するように構成され得る。
図1における別のデータ処理システムにおいて記憶または生成された任意のデータまたは情報は、同様の手法でデバイス132において記憶または生成されるように構成され得る。
【0061】
アプリケーション105は、本明細書に記載された実施形態を実施する。例示的なソース107は、ライブ・ストリームまたは送信のためのメイン・コンテンツを提供する。二次コンテンツ109は、図示されるように記憶装置108に記憶され得るか、または別のソース(図示せず)によって供給され得る。例として、ユーザ134は、デバイス132においてメイン・コンテンツのライブ・ストリームを受信し得る。ユーザ134は、デバイス132上のインターフェース(図示せず)を使用して検証質問に応答し得る。メイン・コンテンツのライブ・ストリームを受信する別の方法として、記録デバイス111がクライアント110に関連付けられ得る。クライアント110とデバイス111との組合せは、例示的なパッシブ・ユーザと見なされ得る。
【0062】
サーバ104、106、記憶ユニット108、および、クライアント110、112、114、およびデバイス132は、有線接続、ワイヤレス通信プロトコル、または他の適切なデータ接続を使用してネットワーク102へ結合し得る。クライアント110、112、114は、たとえば、パーソナル・コンピュータまたはネットワーク・コンピュータであり得る。
【0063】
描写された例では、サーバ104は、ブート・ファイル、オペレーティング・システム・イメージ、およびアプリケーションのようなデータを、クライアント110、112、および114に提供し得る。この例では、クライアント110、112、および114は、サーバ104に対するクライアントであり得る。クライアント110、112、114、またはこれらの何らかの組合せは、これら自体のデータ、ブート・ファイル、オペレーティング・システム・イメージ、およびアプリケーションを含み得る。データ処理環境100は、追加のサーバ、クライアント、および図示されていない他のデバイスを含み得る。
【0064】
描写された例では、データ処理環境100は、インターネットであり得る。ネットワーク102は、互いに通信するために、伝送制御プロトコル/インターネット・プロトコル(TCP/IP)および他のプロトコルを使用するネットワークおよびゲートウェイの集合を表し得る。インターネットの中心にあるのは、データおよびメッセージをルーティングする何千もの商業用、政府用、教育用、およびその他のコンピュータ・システムを含む、主要なノード間またはホスト・コンピュータ間のデータ通信リンクのバックボーンである。もちろん、データ処理環境100はまた、たとえば、イントラネット、ローカル・エリア・ネットワーク(LAN)、または広域ネットワーク(WAN)のようないくつかの異なる種類のネットワークとして実施され得る。
図1は、例として意図されており、異なる例示的な実施形態に対するアーキテクチャの限定として意図されていない。
【0065】
他の用途の中でも、データ処理環境100は、例示的な実施形態が実施され得るクライアント-サーバ環境を実施するために使用され得る。クライアント-サーバ環境は、アプリケーションが、クライアント・データ処理システムとサーバ・データ処理システムとの間の対話を使用することによって機能するように、ソフトウェア・アプリケーションおよびデータが、ネットワークにわたって分散されることを可能にする。データ処理環境100はまた、ネットワークにわたって分散された相互運用可能なソフトウェア構成要素が、コヒーレントなビジネス・アプリケーションとしてともにパッケージ化され得るサービス指向アーキテクチャを採用し得る。データ処理環境100はまた、クラウドの形態を採り得、サービスのプロバイダとの最小の管理努力または対話で迅速にプロビジョンおよびリリースされ得る構成可能なコンピューティング・リソース(たとえば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、記憶装置、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配信のクラウド・コンピューティング・モデルを採用し得る。
【0066】
図2を参照して、この図は、例示的な実施形態が実施され得るデータ処理システムのブロック図を描写する。データ処理システム200は、
図1におけるサーバ104、および106、もしくはクライアント110、112、および114のようなコンピュータ、または、例示的な実施形態のために、処理を実施するコンピュータ使用可能プログラム・コードまたは命令が配置され得る別の種類のデバイスの例である。
【0067】
データ処理システム200はまた、例示的な実施形態の処理を実施するコンピュータ使用可能プログラム・コードまたは命令が配置され得る
図1におけるデータ処理システム132のようなデータ処理システムまたはその構成を表す。データ処理システム200は、単なる例としてコンピュータとして記載されるが、それに限定されない。
図1におけるデバイス132のような他のデバイスの形態における実施は、タッチ・インターフェースを追加することなどによってデータ処理システム200を修正し得、さらに、本明細書に記載されるデータ処理システム200の動作および機能の一般的な記載から逸脱することなく、データ処理システム200から、描写された特定の構成要素を排除し得る。
【0068】
描写された例では、データ処理システム200は、ノース・ブリッジおよびメモリ・コントローラ・ハブ(NB/MCH)202、および、サウス・ブリッジおよび入力/出力(I/O)コントローラ・ハブ(SB/ICH)204を含むハブ・アーキテクチャを採用する。処理ユニット206、メイン・メモリ208、およびグラフィック・プロセッサ210は、ノース・ブリッジおよびメモリ・コントローラ・ハブ(NB/MCH)202に結合される。処理ユニット206は、1つまたは複数のプロセッサを含み得、1つまたは複数のヘテロジニアスなプロセッサ・システムを使用して実施され得る。処理ユニット206は、マルチコア・プロセッサであり得る。特定の実施では、グラフィック・プロセッサ210は、加速グラフィック・ポート(AGP)を介してNB/MCH202に結合され得る。
【0069】
描写された例では、ローカル・エリア・ネットワーク(LAN)アダプタ212は、サウス・ブリッジおよびI/Oコントローラ・ハブ(SB/ICH)204に結合される。オーディオ・アダプタ216、キーボードおよびマウス・アダプタ220、モデム222、読出専用メモリ(ROM)224、ユニバーサル・シリアル・バス(USB)および他のポート232、ならびにPCI/PCIeデバイス234は、バス238を経由してサウス・ブリッジおよびI/Oコントローラ・ハブ204に結合される。ハード・ディスク・ドライブ(HDD)またはソリッドステート・ドライブ(SSD)226およびCD-ROM230は、バス240を介してサウス・ブリッジおよびI/Oコントローラ・ハブ204に結合される。PCI/PCIeデバイス234は、たとえば、ノートブック・コンピュータ用のイーサネット・アダプタ、アドイン・カード、およびPCカードを含み得る。PCIは、カード・バス・コントローラを使用するが、PCIeは使用しない。ROM224は、たとえば、フラッシュ・バイナリ入力/出力システム(BIOS)であり得る。ハード・ディスク・ドライブ226およびCD-ROM230は、たとえば、統合ドライブ・エレクトロニクス(IDE)、シリアル・アドバンスト・テクノロジ・アタッチメント(SATA)インターフェース、または外部SATA(eSATA)およびマイクロSATA(mSATA)のような変形を使用し得る。スーパI/O(SIO)デバイス236は、バス238を介してサウス・ブリッジおよびI/Oコントローラ・ハブ(SB/ICH)204に結合され得る。
【0070】
メイン・メモリ208、ROM224、またはフラッシュ・メモリ(図示せず)のようなメモリは、コンピュータ使用可能記憶デバイスのいくつかの例である。ハード・ディスク・ドライブまたはソリッド・ステート・ドライブ226、CD-ROM230、および他の同様な使用可能デバイスは、コンピュータ使用可能記憶媒体を含むコンピュータ使用可能記憶デバイスのいくつかの例である。
【0071】
オペレーティング・システムは、処理ユニット206において動作する。オペレーティング・システムは、
図2におけるデータ処理システム200内の様々な構成要素の制御を調整および提供する。オペレーティング・システムは、サーバ・システム、パーソナル・コンピュータ、およびモバイル・デバイスを含むがこれらに限定されない、任意の種類のコンピューティング・プラットフォーム用の市販のオペレーティング・システムであり得る。オブジェクト指向または他の種類のプログラミング・システムは、オペレーティング・システムと連携して動作し、データ処理システム200において実行するプログラムまたはアプリケーションからオペレーティング・システムへの呼び出しを提供し得る。
【0072】
オペレーティング・システム、オブジェクト指向プログラミング・システム、および
図1におけるアプリケーション105のようなアプリケーションまたはプログラムの命令は、ハード・ディスク・ドライブ226におけるコード226Aの形態のように、記憶デバイスに配置されており、処理ユニット206による実行のために、メイン・メモリ208のような1つまたは複数のメモリのうちの少なくとも1つにロードされ得る。例示的な実施形態の処理は、たとえばメイン・メモリ208、読出専用メモリ224のようなメモリ内に、または1つまたは複数の周辺デバイス内に配置され得る、コンピュータによって実施される命令を使用して、処理ユニット206によって実行され得る。
【0073】
さらに、ある場合には、コード226Aは、ネットワーク201Aを介してリモート・システム201Bからダウンロードされ得、ここで、同様のコード201Cが、記憶デバイス201Dに記憶される。別の場合では、コード226Aは、ネットワーク201Aを介してリモート・システム201Bにダウンロードされ得、ここで、ダウンロードされたコード201Cは、記憶デバイス201Dに記憶される。
【0074】
図1~
図2におけるハードウェアは、実施に応じて変化し得る。フラッシュ・メモリ、同等の不揮発性メモリ、または光ディスク・ドライブのような他の内部ハードウェアまたは周辺デバイスが、
図1~
図2に描写されるハードウェアに加えて、またはその代わりに使用され得る。さらに、例示的な実施形態の処理が、マルチプロセッサ・データ処理システムに適用され得る。
【0075】
いくつかの例示的な例では、データ処理システム200は、一般に、オペレーティング・システム・ファイルまたはユーザ生成データあるいはその両方を記憶するための不揮発性メモリを提供するようにフラッシュ・メモリで構成される携帯情報端末(PDA)であり得る。バス・システムは、システム・バス、I/Oバス、およびPCIバスのような1つまたは複数のバスを備え得る。もちろん、バス・システムは、ファブリックまたはアーキテクチャに取り付けられた異なる構成要素またはデバイス間でデータの転送を提供する任意の種類の通信ファブリックまたはアーキテクチャを使用して実施され得る。
【0076】
通信ユニットは、モデムまたはネットワーク・アダプタのように、データを送信および受信するために使用される1つまたは複数のデバイスを含み得る。メモリは、たとえば、メイン・メモリ208、またはノース・ブリッジおよびメモリ・コントローラ・ハブ202に見られるキャッシュのようなキャッシュであり得る。処理ユニットは、1つまたは複数のプロセッサまたはCPUを含み得る。
【0077】
図1~
図2に描写された例および上記の例は、アーキテクチャ上の限定を示唆することは意味されていない。たとえば、データ処理システム200はまた、モバイルまたはウェアラブル・デバイスの形態を採ることに加えて、タブレット・コンピュータ、ラップトップ・コンピュータ、または電話デバイスであり得る。
【0078】
コンピュータまたはデータ処理システムが、仮想マシン、仮想デバイス、または仮想構成要素として記載される場合、仮想マシン、仮想デバイス、または仮想構成要素は、データ処理システム200において描写されたいくつかまたはすべての構成要素の仮想化明示を使用して、データ処理システム200の方式で動作する。たとえば、仮想マシン、仮想デバイス、または仮想構成要素では、処理ユニット206は、ホスト・データ処理システムにおいて利用可能なすべてまたはいくつかの数のハードウェア処理ユニット206の仮想化されたインスタンスとして明示され、メイン・メモリ208は、ホスト・データ処理システムにおいて利用可能であり得るメイン・メモリ208のすべてまたはいくつかの部分の仮想化されたインスタンスとして明示され、ディスク226は、ホスト・データ処理システムにおいて利用可能であり得るディスク226のすべてまたはいくつかの部分の仮想化されたインスタンスとして明示される。そのような場合におけるホスト・データ処理システムは、データ処理システム200によって表される。
【0079】
図3を参照して、この図は、例示的な実施形態に従う、ライブ・ストリーミングへの二次コンテンツのインテリジェント挿入のための例示的構成のブロック図を描写する。アプリケーション302は、
図1におけるアプリケーション105の例であり、
図1におけるサーバ104の例であるサーバ304において実行する。
【0080】
メイン・コンテンツ306のフィードは、
図1におけるソース107から取得される。二次コンテンツ308は、
図1における二次コンテンツ109の例である。ネットワーク310は、
図1におけるネットワーク102の例である。
【0081】
アプリケーション302は、本明細書で記載されるように、メイン・コンテンツ306のフィードへの二次コンテンツ308の動的な挿入のために、非クライマックス期間予測を実行する構成要素312を含む。構成要素314は、本明細書で記載されるように、個々のユーザ固有のクライマックス・イベントおよび非クライマックス期間を判定することによって、非クライマックス期間の個別化を実行する。構成要素316は、ユーザへのライブ・コンテンツ配信における動的遅延の形態で、検証応答インセンティブを作成し管理する。構成要素316は、構成要素312によって使用される予測エンジンを調節または調整するために、1つまたは複数のライブ送信中に、1つまたは複数のユーザからの検証応答を、機械学習処理において収集し使用する。
【0082】
例として、アプリケーション302が、ユーザ322、および324への送信320を容易にすると仮定する。送信320は、メイン・コンテンツ304を含む。送信中のある時点で、アプリケーション302はまた、送信320において、次回の挿入についての挿入前検証、または、以前に実行された挿入についての挿入後検証のような予測検証を含む。ユーザ322が、アクティブ・ユーザであり、ユーザ324が、パッシブ・ユーザであると仮定する。アクティブ・ユーザ322は、検証に対する応答326を提供する。構成要素316は、応答326を使用して、ユーザ322をランク付けし、ユーザ322への送信320における動的遅延を調節する。たとえば、ユーザ322への送信320における合計遅延は、ユーザ324に対する送信320における合計遅延よりも小さいことがあり得る。
【0083】
1つまたは複数のセンサ328は、送信320におけるコンテンツに対するユーザ322の反応を測定する。センサ・データ330は、本明細書で記載されるように、構成要素314によって使用され、非クライマックス期間予測を個別化する。
【0084】
図4に関して、この図は、例示的な実施形態に従う動的な挿入予測のための例示的な構成のブロック図を描写する。アプリケーション402は、
図3におけるアプリケーション302の例である。動的挿入予測構成要素404は、
図3における構成要素312の例であり、本明細書で記載されるようにサブ構成要素を含む。
【0085】
サブ構成要素406は、メイン・コンテンツ内のクライマックス・イベントによって満たされる特徴のセットおよび対応する特徴値を判定する。メイン・コンテンツは、
図3におけるメイン・コンテンツ306であり得る。たとえば、サブ構成要素406は、メイン・コンテンツのライブ・ストリーミングから、メイン・コンテンツのすでにストリーミングされた部分を分析して、メイン・コンテンツ内の1つまたは複数のクライマックス・イベントの発生を識別する。次に、サブ構成要素406は、すでにストリーミングされた部分でクライマックス・イベントが発生したメイン・コンテンツにおける条件を判定する。この条件を使用して、サブ構成要素406は、特徴値のセットを構築する。
【0086】
サブ構成要素408は、予測エンジンを使用して、将来の時間におけるメイン・コンテンツ内のクライマックス・イベントの発生を予測する。サブ構成要素410は、それに応じて、現在の時間と、クライマックス・イベントの将来の時間との間の非クライマックス期間を判定または予測する。クライマックス・イベントが予期されない場合は、クライマックス・イベントの将来の時間が、メイン・コンテンツの終わりとなり得る。
【0087】
サブ構成要素412は、メイン・コンテンツ・フィードのユーザに、挿入前検証を提供する。挿入前検証はまた、メイン・コンテンツへの二次コンテンツの次の挿入の、アクティブまたはパッシブな、ユーザへの事前通知としても機能し得る。サブ構成要素414は、メイン・コンテンツ・フィードのユーザに、挿入後検証を提供する。
【0088】
例示的な動作では、ユーザは、ライブ・ストリームにおけるデータのシーケンス420(時間の経過は、「T」とラベル付けされた矢印によって図示される)を受信し得、メイン・コンテンツの部分422が受信された後に挿入前検証424が続く。いくつかの実施では、部分420が受信されている間に、挿入前検証424が提示され得る。挿入前検証424の後、非クライマックス期間426が始まり、その間に二次コンテンツ428が受信される。二次コンテンツ428の完了後、挿入後検証430が受信される。実施に応じて挿入後検証430の応答期間が経過した後、または挿入後検証430と同時に、メイン・コンテンツの部分432が受信され得る。シーケンス420は、ライブ・ストリーミング中に何回でも繰り返し得る。
【0089】
図5を参照して、この図は、例示的な実施形態に従う、動的挿入予測の個別化のための例示的構成のブロック図を描写する。アプリケーション502は、
図3におけるアプリケーション302の例である。個別化構成要素504は、
図3における構成要素314の例であり、本明細書で記載されるようなサブ構成要素を含む。センサ・データ506は、
図3におけるセンサ・データ330の例である。
【0090】
サブ構成要素508は、センサ・データ506を使用して、ユーザが、クライマックスまたは非クライマックスとみなすイベントに応答してユーザ反応特性を測定する。これらの測定値から、サブ構成要素508は、ユーザ固有のクライマックス・イベントを表す特徴値のセットを識別する。たとえば、
図4におけるサブ構成要素406によって、一般的に受け入れられるクライマックス・イベントの一般的な特徴値のセットが生成され使用された場合、サブ構成要素510は、その特徴値のセットを修正し、修正された特徴値のセットが、ユーザ固有のクライマックス・イベントを示すようにする。サブ構成要素は、たとえば
図4におけるサブ構成要素408、および410による非クライマックス期間の予測を、ユーザ固有の非クライマックス期間の予測となるようにするために、修正された特徴値のセットを使用する。
【0091】
図6を参照して、この図は、例示的な実施形態に従う、予測検証要求に応答するようにユーザにインセンティブを付与するための例示的な構成のブロック図を描写する。アプリケーション602は、
図3におけるアプリケーション302の例である。インセンティブ付与構成要素604は、
図3における構成要素316のいくつかの機能の例であり、本明細書に記載されるようなサブ構成要素を含む。
【0092】
サブ構成要素606は、ユーザによって提供された、または提供されなかった検証応答に応じて、ユーザをアクティブまたはパッシブとして分類する。サブ構成要素608は、アクティブ・ユーザを、アクティブ・ユーザ・グループ内の他のアクティブ・ユーザに対してランク付けする。サブ構成要素610は、ユーザのランクに従って、ランク付けされたアクティブ・ユーザへのメイン・コンテンツ・フィードにおける動的遅延を調節する。
【0093】
図7を参照して、この図は、例示的な実施形態に従う、機械学習によって、非クライマックス期間予測を改善するための例示的な構成のブロック図を描写する。アプリケーション702は、
図3におけるアプリケーション302の例である。機械学習構成要素604は、
図3における構成要素316のいくつかの機能の例であり、本明細書に記載されるようなサブ構成要素を含む。
【0094】
サブ構成要素706は、1つまたは複数の挿入前検証応答を使用して、将来の予測の信頼値、将来の予測に対する肯定的な検証応答、またはその両方が増加するように、非クライマックス期間予測を調節する。サブ構成要素708は、1つまたは複数の挿入後検証応答を使用して、その後の予測される非クライマックス期間の精度を向上または改善する。サブ構成要素710は、挿入前検証応答および挿入後検証応答を使用して、しきい度合いを超える信頼性で非クライマックス期間が予測され得る予測期間を増加させる。
【0095】
図8を参照して、この図は、例示的な実施形態に従う、ライブ・ストリーミングへの二次コンテンツのインテリジェント挿入のための例示的な処理のフローチャートを描写する。処理800は、
図3におけるアプリケーション302または
図4におけるアプリケーション402において実施され得る。
【0096】
所与のメイン・コンテンツについて、アプリケーションは、メイン・コンテンツ内で発生するクライマックス・イベントにおいて使用、提示、または、そうでなければ満たされる特徴値のセットを計算する(ブロック802)。特徴値のセットを使用して、アプリケーションは、メイン・コンテンツのライブ・ストリーミング中の将来の時間におけるクライマックス・イベントの発生を予測する(ブロック804)。アプリケーションは、予測されるクライマックス・イベントの将来の時間より前の非クライマックス期間を選択する(ブロック806)。実施では、例示的な実施形態の範囲から逸脱することなく、クライマックス・イベントを予測する代わりに、非クライマックス期間が予測されるように、ブロック804、および806が組み合わされ得る。
【0097】
アプリケーションは、ライブ・ストリームのユーザに、挿入前検証要求を送信する(ブロック808)。アプリケーションは、少なくともしきい数のアクティブ・ユーザが、要求に対して肯定的に応答したか否かを判定し、予測された非クライマックス期間を検証する(ブロック810)。しきい数のアクティブ・ユーザが応答したが、肯定が、しきい数に達していない場合(ブロック810の「No」のパス)、アプリケーションは、ブロック806に戻って、新たな非クライマックス期間を選択する。アクティブ・ユーザの数がしきい値(デフォルト条件)に達していない場合、または少なくとも、しきい数の肯定的な応答が受信されていた場合(ブロック810における「Yes」のパス)、アプリケーションは、選択された非クライマックス期間におけるメイン・コンテンツのライブ・ストリーミングに、二次コンテンツを挿入する(ブロック812)。
【0098】
アプリケーションは、二次コンテンツの送信が完了した後に、オプションで、挿入後検証要求を送信し得る(ブロック814)。アプリケーションは、挿入前検証応答および挿入後検証応答を収集し、予測エンジンの機械学習またはトレーニングにその応答を使用する(ブロック816)。その後、アプリケーションは処理800を終了する。
【0099】
図9を参照して、この図は、例示的な実施形態に従う、非クライマックス期間予測の個別化のための例示的な処理のフローチャートを描写する。処理900は、
図3におけるアプリケーション302または
図5におけるアプリケーション502において実施され得る。
【0100】
メイン・コンテンツのライブ・ストリーミング中に、アプリケーションは、特定のユーザの1つまたは複数の反応の測定値を測定または受信する。この反応は、ライブ・ストリームで展開するイベントのユーザの知覚に応じている(ブロック902)。アプリケーションは、特定のユーザがクライマックス・イベントとみなすこれらのイベントを表すために、特徴値のセットを生成するか、またはすでに生成された場合は、一般的なクライマックス・イベント特徴値のセットを修正する(ブロック904)。特徴値の修正されたセットを使用して、アプリケーションは、たとえば、
図8におけるブロック804およびブロック806における非クライマックス期間の予測を、ユーザ固有のものにする(ブロック906)。
【0101】
アプリケーションは、ユーザ固有の挿入前検証要求を、特定のユーザに送信する(ブロック908)。アプリケーションは、特定のユーザが、肯定的に応答するか、または応答がない場合にはユーザ固有の非クライマックス期間中にデフォルト挿入を引き起こすことに基づいて、ユーザ固有の非クライマックス期間において二次コンテンツを挿入する(ブロック910)。ユーザが否定的に繰り返し応答する場合、1つの非クライマックス期間をデフォルトとして選択する前に、限定された数の代替の非クライマックス期間を選択するようにアプリケーションが構成され得る。
【0102】
挿入された二次コンテンツの送信が完了すると、アプリケーションは、オプションで、特定のユーザに、ユーザ固有の挿入後検証要求を送信し得る(ブロック912)。アプリケーションは、挿入前検証、挿入後検証、またはその両方に対するユーザの応答に基づいて、予測エンジンを修正する(ブロック914)。その後、アプリケーションは、処理900を終了する。
【0103】
図10を参照して、この図は、例示的な実施形態に従う、予測検証要求に応答するようにユーザにインセンティブを付与するための例示的な処理のフローチャートを描写する。処理1000は、
図3におけるアプリケーション302または
図6における
図602において実施され得る。
【0104】
ユーザが検証要求に応答すると、アプリケーションは、ユーザをアクティブとして分類する(ブロック1002)。アプリケーションは、ユーザが応答する速度、所与の期間またはフィード中にユーザが提供した応答の数、またはこれらの何らかの組合せに基づいて、他のアクティブ・ユーザに対するユーザのランクまたはスコアを計算する(ブロック1004)。
【0105】
アプリケーションは、応答間の時間の経過とともに、すべてのアクティブ・ユーザのランクまたはスコアを古くする、または減少させる(ブロック1006)。アプリケーションは、ユーザの最終的なランクまたはスコアを計算する(ブロック1008)。アプリケーションは、ユーザの最終的なランクまたはスコアと逆の関係を有する動的遅延期間を計算する(ブロック1010)。
【0106】
アプリケーションは、計算された動的遅延を、ライブ・ストリームにおいて使用される基本遅延と組み合わせる(ブロック1012)。アプリケーションは、基本遅延と動的遅延との合計遅延でメイン・コンテンツを送信する、または送信させる(ブロック1014)。その後、アプリケーションは、処理1000を終了する。
【0107】
このように、ライブ・ストリーミングおよび他の関連する特徴、機能、または動作における二次コンテンツのインテリジェント挿入のためのコンピュータによって実施される方法、システムまたは装置、およびコンピュータ・プログラム製品が、例示的な実施形態において提供される。実施形態またはその一部がデバイスの種類に関して記載される場合、コンピュータによって実施される方法、システムまたは装置、コンピュータ・プログラム製品、またはその一部は、適切で、その種類のデバイスに同等の明示で使用するために適合または構成される。
【0108】
実施形態がアプリケーションにおいて実施されるものとして記載される場合、サース(SaaS:Software as a Service)モデルにおけるアプリケーションの配信が、例示的な実施形態の範囲内で企図される。SaaSモデルでは、実施形態を実施するアプリケーションの機能は、クラウド・インフラストラクチャ内でアプリケーションを実行することによってユーザに提供される。ユーザは、ウェブ・ブラウザ(たとえば、ウェブ・ベースの電子メール)のようなシン・クライアント・インターフェース、または他の軽量のクライアント・アプリケーションを介して、様々なクライアント・デバイスを使用してアプリケーションにアクセスし得る。ユーザは、ネットワーク、サーバ、オペレーティング・システム、クラウド・インフラストラクチャの記憶装置など、基盤となるクラウド・インフラストラクチャを管理または制御しない。場合によっては、ユーザが、SaaSアプリケーションの機能を管理または制御しないこともあり得る。他のいくつかの場合には、アプリケーションのSaaS実施は、限定されたユーザ固有のアプリケーション構成設定の、あり得る例外を許容し得る。
【0109】
本発明は、任意の可能な技術的詳細レベルの統合におけるシステム、方法、またはコンピュータ・プログラム製品、あるいはその組合せであり得る。コンピュータ・プログラム製品は、プロセッサに、本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(または複数の媒体)を含み得る。
【0110】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持し記憶することができる有形のデバイスであり得る。コンピュータ可読記憶媒体は、たとえば、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、またはこれらの任意の適切な組合せであり得るが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的リストは以下、すなわち、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読出専用メモリ(ROM)、消去可能プログラマブル読出専用メモリ(EPROMもしくはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読出専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピー・ディスク、パンチカードのような機械的に符号化されたデバイス、または命令が記録された溝における隆起構造、および、上記の任意の適切な組合せを含む。本明細書で使用されるコンピュータ可読記憶媒体は、電波または他の自由に伝播する電磁波、導波管または他の送信媒体を伝播する電磁波(たとえば、光ファイバ・ケーブルを介して通過する光パルス)または、有線を介して送信される電気信号のような、一時的な信号自体であると解釈されるべきではない。
【0111】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、あるいは、たとえば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、もしくはワイヤレス・ネットワーク、またはその組合せのようなネットワークを介して、外部コンピュータもしくは外部記憶デバイスにダウンロードされ得る。ネットワークは、銅送信ケーブル、光送信ファイバ、ワイヤレス送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを備え得る。各コンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体における記憶のためにコンピュータ可読プログラム命令を転送する。
【0112】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路構成のための構成データ、または、Smalltalk、C++等のようなオブジェクト指向プログラミング言語、および、「C」プログラミング言語もしくは同様なプログラミング言語のような手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組合せで記述されたソース・コードもしくはオブジェクト・コードであり得る。コンピュータ可読プログラム命令は、完全にユーザのコンピュータにおいて、部分的にユーザのコンピュータにおいて、スタンドアロンのソフトウェア・パッケージとして、部分的にユーザのコンピュータおよび部分的にリモート・コンピュータにおいて、または完全にリモート・コンピュータまたはサーバにおいて実行し得る。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続され得るか、または、(たとえば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに接続され得る。いくつかの実施形態では、たとえば、プログラマブル論理回路構成、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む電子回路構成は、本発明の態様を実行するために、電子回路構成をパーソナル化するためにコンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行し得る。
【0113】
本発明の態様は、本発明の実施形態に従う方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート例図、またはブロック図、あるいはその両方を参照して本明細書に記載される。フローチャート例図、またはブロック図、あるいはその両方の各ブロック、ならびにフローチャート例図、またはブロック図、あるいはその両方内のブロックの組合せは、コンピュータ可読プログラム命令によって実施され得ることが理解されよう。
【0114】
これらのコンピュータ可読プログラム命令は、機械を生成するために、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供され、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行する命令が、フローチャート、またはブロック図あるいはその両方のブロックまたは複数のブロックにおいて指定された機能/動作を実施するための手段を生成できるようになる。これらのコンピュータ可読プログラム命令は、コンピュータ、プログラム可能データ処理装置、または他のデバイス、あるいはその組合せに対して特定の方法で機能するように指示できるコンピュータ可読記憶媒体にも記憶され得、これによって、記憶された命令を有するコンピュータ可読記憶媒体は、フローチャート、またはブロック図あるいはその両方のブロックまたは複数のブロックにおいて指定された機能/動作の態様を実施する命令を含む製造物品を備えるようになる。
【0115】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされて、コンピュータによって実施される処理を生成するために、コンピュータ、他のプログラマブル装置または他のデバイスにおいて、一連の動作ステップを実行させ、これによって、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行する命令が、フローチャート、またはブロック図あるいはその両方のブロックまたは複数のブロックにおいて指定された機能/動作を実施できるようになる。
【0116】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態に従うシステム、方法、およびコンピュータ・プログラム製品の可能な実施のアーキテクチャ、機能、および動作を例示する。これに関して、フローチャートまたはブロック図における各ブロックは、指定された論理機能を実施するための1つまたは複数の実行可能な命令を備えたモジュール、セグメント、または命令の一部を表し得る。いくつかの代替実施では、ブロックに示される機能は、図面に示される順序とは異なる順序で発生し得る。たとえば、連続して図示される2つのブロックは、実際には、実質的に同時に実行され得るか、または関連する機能に依存して、逆の順序で実行され得るときもある。ブロック図、またはフローチャート例図あるいはその両方の各ブロック、およびブロック図、またはフローチャート例図あるいはその両方におけるブロックの組合せは、指定された機能または動作を実行する、または、専用のハードウェアとコンピュータ命令との組合せを実行する専用のハードウェア・ベースのシステムによって実施され得ることにも留意されたい。
【符号の説明】
【0117】
100 データ処理環境
102 ネットワーク
104,106 サーバ
105 アプリケーション
107 ソース
108 記憶装置
109 二次コンテンツ
110,112,114 クライアント
111 記録デバイス
132 デバイス
134 ユーザ