(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2017-98948(P2017-98948A)
(43)【公開日】2017年6月1日
(54)【発明の名称】ビデオストリームで実行される対話型アプリケーション
(51)【国際特許分類】
H04N 21/472 20110101AFI20170428BHJP
G06F 13/00 20060101ALI20170428BHJP
H04N 21/43 20110101ALI20170428BHJP
H04N 5/765 20060101ALI20170428BHJP
H04N 5/91 20060101ALI20170428BHJP
H04N 5/93 20060101ALI20170428BHJP
【FI】
H04N21/472
G06F13/00 540A
H04N21/43
H04N5/91 L
H04N5/91 Z
H04N5/93 Z
【審査請求】有
【請求項の数】22
【出願形態】OL
【外国語出願】
【全頁数】18
(21)【出願番号】特願2016-214103(P2016-214103)
(22)【出願日】2016年11月1日
(31)【優先権主張番号】14/932,252
(32)【優先日】2015年11月4日
(33)【優先権主張国】US
(31)【優先権主張番号】15/095,987
(32)【優先日】2016年4月11日
(33)【優先権主張国】US
(71)【出願人】
【識別番号】515186563
【氏名又は名称】ユビタス インコーポレイテッド
【氏名又は名称原語表記】Ubitus Inc.
(74)【代理人】
【識別番号】100107364
【弁理士】
【氏名又は名称】斉藤 達也
(72)【発明者】
【氏名】ジュン−チャン クオ
(72)【発明者】
【氏名】シェン−ラン ヤン
【テーマコード(参考)】
5B084
5C053
5C164
【Fターム(参考)】
5B084AA01
5B084AA02
5B084AA12
5B084AB07
5B084AB31
5B084AB35
5B084BA03
5B084BB12
5B084DA15
5B084DB02
5B084DC02
5B084DC13
5C053GB06
5C053LA11
5C053LA14
5C164MB13S
5C164MC06S
5C164UB04P
5C164UB36P
5C164UD41S
(57)【要約】 (修正有)
【課題】ビデオストリームで実行されるコンピューター計算負荷の低い対話型アプリケーションを提供する。
【解決手段】第1のユーザー要求に応答してリニア再生ビデオの再生を開始する。リニア再生ビデオの時間位置に関連して、タイムスタンプを構成する第2のユーザー要求を受け取り、タイムスタンプに基づいて、特定の対話型ビデオスクリプト、対応するメタデータに保存された事前録画されたストリーミングビデオのセットから成る特定の対話型ビデオスクリプトを選択する。メタデータに基づき、ユーザー入力への応答を含め、特定の場所から、特定の対話型ビデオスクリプトを再生する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
対話型ビデオスクリプトを再生するための方法であって、
第1のユーザー要求に応答してリニア再生ビデオの再生を開始すること、
リニア再生ビデオの時間位置に関連して、タイムスタンプを構成する第2のユーザー要求を受け取ること、
タイムスタンプに基づいて、特定の対話型ビデオスクリプト、対応するメタデータに保存された事前録画されたストリーミングビデオのセットから成る特定の対話型ビデオスクリプトを選択することと、
メタデータに基づき、さらなるユーザー入力への応答を含め、特定の場所から、特定の対話型ビデオスクリプトを再生することである。
【請求項2】
リニア再生ビデオの再生に戻ることをさらに含むことを特徴とする請求項1に記載の方法。
【請求項3】
リニア再生ビデオの再生に戻ることは、対話型ビデオスクリプトの終了によってトリガーされることを特徴とする請求項2に記載の方法。
【請求項4】
リニア再生ビデオの再生に戻ることは、第3のユーザー要求によってトリガーされることを特徴とする請求項2に記載の方法。
【請求項5】
ストリーミングビデオクリップが、マルチメディアコンテナ形式に従ってフォーマットされることを特徴とする請求項1に記載の方法。
【請求項6】
リニア再生ビデオが、ビデオストリーミングインフラストラクチャを介して配信されることを特徴とする請求項1に記載の方法。
【請求項7】
対話型ビデオスクリプトが、ビデオストリーミングインフラストラクチャを介して配信されることを特徴とする請求項1に記載の方法。
【請求項8】
特定の対話型ビデオスクリプトが、複数の対話型ビデオスクリプトから選択されることを特徴とする請求項1に記載の方法。
【請求項9】
特定の場所が開始ポイントとなることを特徴とする請求項1に記載の方法。
【請求項10】
第1のユーザー要求に応答してリニア再生ビデオの再生を開始すること、
リニア再生ビデオに関して、ユーザーの介入を構成する第2のユーザー要求を受け取ること、
ユーザー介入の特徴を使用して、対話型ビデオスクリプトで特定の場所を選択すること、
事前選択されたメタデータに基づき、さらなるユーザー入力への応答を含め、特定の場所から、特定の対話型ビデオスクリプトを再生する方法と、
対話型ビデオスクリプトの終わりに、リニア再生ビデオに戻ることを特徴とする対話型ビデオスクリプトを再生するための方法である。。
【請求項11】
第2のユーザー要求が、対話型ビデオスクリプトの特定の場所を選択するために使用されるリンクをクリックすることを含む請求項10に記載の方法。
【請求項12】
第2のユーザー要求が、対話型ビデオスクリプトの特定の場所を選択するために使用されるボイスコマンドを含む請求項10に記載の方法。
【請求項13】
第2のユーザー要求が、対話型ビデオスクリプトの特定の場所を選択するために使用される物理ボタン押しを含む請求項10に記載の方法。
【請求項14】
第2のユーザー要求が、リニア再生ビデオが再生を開始してから経過した時間に基づき、対話型ビデオスクリプトの特定の場所を選択するために使用されるタイムスタンプを含む請求項10に記載の方法。
【請求項15】
第1のユーザー要求がボイス広告を表すリンクのクリックを含む請求項10に記載の方法。
【請求項16】
1つ以上のリニアビデオと1つ以上の対話型ビデオスクリプトを交互に再生するシステムであって、ユーザーデバイス、ビデオストリーミングインフラストラクチャ、対話型ビデオスクリプトを構成し、
ユーザーデバイスはリニアビデオの再生を受け取って表示し、対話型ビデオスクリプトの再生に対するユーザーの要求を受け入れ、対話型ビデオスクリプトプレーヤーへの対応するタイムスタンプと連動してユーザーの要求を伝送し、
対話型ビデオスクリプトは、タイムスタンプに基づいて対話型ビデオスクリプトの特定の場所から特定の対話型ビデオスクリプトを選択して再生するように設定され、
ビデオストリーミングインフラストラクチャは、1つ以上のリニアビデオと対話型ビデオスクリプトをユーザーデバイスに配信するように設定される。
【請求項17】
ユーザーデバイスは、対話型ビデオスクリプトが終わるとリニアビデオの再生を再開するように設定される請求項16に記載のシステム。
【請求項18】
ユーザーデバイスは、第2の対話型ビデオスクリプトの再生に対して第2のユーザー要求を受け入れ、対話型ビデオスクリプトプレーヤーへの第2のタイムスタンプと連動して第2のユーザー要求を伝送するように設定される請求項17に記載のシステム。
【請求項19】
対話型ビデオスクリプトプレーヤーが、第2のタイムスタンプに基づいて第2の特定の対話型ビデオスクリプトを選択して再生するように設定される請求項18に記載のシステム。
【請求項20】
対話型ビデオスクリプトプレーヤーが、対応するメタデータと連動して、データベースに保存された事前録画されたストリーミングビデオクリップのセットを構成する請求項16に記載のシステム。
【請求項21】
ユーザーデバイスはタッチ画面から成るスマートフォンである請求項16に記載のシステム。
【請求項22】
コンピュータープロセッサーにより実行されるインフラストラクチャから成る、持続性コンピューター可読メディアのコンピュータープログラム製品であって、
第1のユーザー要求に応答してリニア再生ビデオの再生を開始すること、
タイムスタンプから成る第2のユーザー要求を受け取ること、
タイムスタンプに基づき、特定の対話型ビデオスクリプトの特定の場所を選択することと、
事前選択されたメタデータに基づき、さらなるユーザー入力への応答を含め、特定の場所から、特定の対話型ビデオスクリプトを再生する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ビデオストリームで実行される対話型アプリケーションに関する。
【0002】
関連出願の相互参照
この出願は2015年11月4日に提出された、米国出願シリアル番号14/932,252の一部継続出願で、全体として参照することにより本書に組み込まれる。
【背景技術】
【0003】
ゲームなどの対話型アプリケーションは、コンピューターを大量に使用する。特に、対話型マルチメディアアプリケーションなどのある種の対話型アプリケーションの場合、この計算負荷の高い主要コンポーネントはユーザー入力に応えてビデオやオーディオを生成するための必需品である。さらに、同じビデオとオーディオは定められたアプリケーションのマルチユーザーのそれぞれに対して個別に生成される必要があるため、負荷はユーザー数によって増加する。
【0004】
それぞれのアプリケーションが、例えば、クラウドベースのサーバーのようなサーバーでホストされるとき、多くのサーバーで1つの結果を必要とするため、取得、アップデート、メンテナンスにコストがかかる。
【0005】
ゲームなどの、コンピューターを大量に使用する対話型アプリケーションをホストするには、さらに優れたソリューションが必要となる。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の実施例はマルチメディアコンピュータープログラムの出力を一連のストリーミングビデオクリップに変換し、その後インターネットデータセンター(IDC)やコンテンツデリバリネットワーク(CDN)で構成されるビデオストリーミングインフラストラクチャを通して全世界に配信できる。
【0007】
さらに、実施例によっては、ビデオクリップが再生を容易にするためにメタデータにタグ付けされるものもある。メタデータは、例えば、識別子やトリガー情報を含むことができる。識別子は、それぞれのビデオクリップに対して一意の識別子となることができる。トリガー情報は、おそらくは現在のユーザー入力またはその他の条件に応じて、再生される次のクリップの識別子を指定できる。
【課題を解決するための手段】
【0008】
一般に、本発明の実施例にはビデオクリップの生産プロセスや対話型再生プロセスが含まれる。
【0009】
生産プロセスでは、ユーザー(または、一部のバリエーションでは、シミュレートされた「ロボット」ユーザー)が従来の対話型コンピュータープログラムと対話を行う。ユーザーの介入に応えて、コンピュータープログラムは生のビデオやサウンドデータを作り出す。特定のビデオやサウンドデータの生産をもたらすユーザー入力や、その他のイベントが保存される。トリガー条件に関連する特定のビデオやサウンドは、その後ストリーミングビデオクリップに変換される。クリップは、例えばID、トリガー条件や再生イベント、長さを含め、メタデータにタグ付けされる。実施例によっては、クリップがコンテンツデリバリーネットワークを介して、1つ以上の対話型アプリケーションをサポートするために、選択されたインターネットデータセンターに送られるものもある。
【0010】
再生プロセスにおいて、最初のビデオクリップは、例えば、対話型ゲームの再生をサポートする具象化など、特定の実施例で再生される。最初のビデオクリップの再生の最後で(または、実施例によっては、最初のビデオクリップの再生の間いつでも)、メタデータが次のビデオクリップの再生をトリガーする1つまたは複数のトリガー条件を識別するように求められるものもある。トリガー条件を検出すると(例えば、ユーザーがある特定のボタンを押すと)、次のビデオクリップが再生される。最後のトリガー条件に基づいて最後のビデオクリップが再生されるまで、再生はこのように続く。
【0011】
実施例によっては、再生はクラウドベースのストリーミングサーバーなどのサーバーで起こり、コンテンツはサーバーからユーザーにストリーミング配信されるものもある。他の実施例の場合、再生中、コンテンツはCDNとIDCを介してユーザーにストリーミング再生される。
【発明を実施するための形態】
【0012】
本発明の実施例は、対話型リアルタイムのメディアアプリケーション用のストリーミングビデオクリップとして、マルチメディア情報の生産と再生を提供する。
【0013】
図1は、本発明の1つの実施例に従って、対話型リアルタイムマルチメディアアプリケーションをサポートする、分散型クライアント−サーバーコンピューターシステム1000のブロック図である。コンピューターシステム1000には、1つ以上のサーバーコンピューター101およびコンピュータープログラム製品131によって構成される1つ以上のユーザーデバイス103が含まれる。コンピュータープログラム製品131は一時的または持続性コンピューター可読メディアで提供されるが、特定の実施例では、持続性コンピューター可読メディア、例えば、永続的(つまり、非揮発性)ストレージ、揮発性メモリ(例えば、ランダムアクセスメモリ)、またはさまざまなその他のよく知られた持続性コンピューター可読メディアの形で提供される。
【0014】
ユーザーデバイス103には、中央処理装置(CPU)120、メモリ122、ストレージ121が含まれる。ユーザーデバイス103には入出力(I/O)サブシステム(図では別々に表示されていない)(例えば、ディスプレイまたはタッチ対応ディスプレイ、キーボード、dパッド、トラックボール、タッチパッド、ジョイスティック、マイク、その他のユーザーインターフェイスデバイス、関連するコントローラー回路、ソフトウェアなど)が含まれる。ユーザーデバイス103には、メディアコンテンツを提供できる電子デバイスのタイプが含まれる。一部には、デスクトップコンピューターおよび携帯電話、スマートフォン、マルチメディアプレーヤー、電子リーダー、タブレット/タッチパッド、ノートPC、またはラップトップPC、スマートテレビ、スマートウォッチ、頭部装着型ディスプレイ、その他のコミュニケーションデバイスなどのポータブル電子デバイスの例が含まれる。
【0015】
サーバーコンピューター101には中央処理装置CPU110、ストレージ111およびメモリ112I/Oサブシステムは個別に表示されていない)が含まれる。サーバーコンピューター101は、例えば、ネットワーク102(例えば、インターネット)などのネットワークを介して、例えば、ユーザーデバイス103など、1台以上のクライアントコンピューターと通信するために、コンピューター製品131をホストできるコンピューターデバイスである。サーバーコンピューター101は、インターネットを介して1台以上のクライアントコンピューターと通信を行い、インターネットプロトコルスイート(TCP/IP)、ハイパーテキスト転送プロトコル(HTTP)またはHTTPS、インスタントメッセージングプロトコル、またはその他のプロトコルなどのプロトコルを使用する。
【0016】
メモリ112と122には、既知のコンピューターメモリデバイスが含まれる。ストレージ111と121には、既知のコンピューターストレージデバイスが含まれる。
【0017】
図にはありませんが、メモリ112と122および/またはストレージ111と121にはサーバーコンピューター101とユーザーデバイス103によりそれぞれアクセス可能なデータストレージ機器[取外し可能またはポータブルな(例えば、フラッシュメモリまたは外部ハードディスクドライブ)メモリ、またはサードパーティ(例えば、クラウドストレージ)によりホストされるデータストレージなど]も含まれるが、これに限定されない。
【0018】
ユーザーデバイス103とサーバーコンピューター101は、ネットワーク102を介してアクセスし、通信を行う。ネットワーク102には、広域エリアネットワーク(WAN)およびデバイス間での通信用に使用される移動体通信ネットワークまたはその他のタイプのコンピューターネットワークを含め、有線またはワイヤレス接続が含まれる。
【0019】
図の実施例で、コンピュータープログラム製品131は実際に、サーバー101とユーザーデバイス103でそれぞれ実行するために設定されたコンピューター製品プログラム、またはコンピュータープログラムの製品部分を表している。メモリ112にロードされたコンピュータープログラム製品131の部分は、後述する発明要件に適合する対話型ストリーミングビデオクリップを録画し再生するためにサーバー101を設定する。ストリーミングビデオクリップは、例えば、HTML5機能を搭載したブラウザなどを介して受信ストリーミングビデオをサポートする、ユーザーデバイス103に再生される。
【0020】
図2では、ビデオクリップを配布するために本発明の一部の実施例で利用されている、ビデオストリーミングインフラストラクチャ2000の例を図示す。図のように、ビデオストリーミングインフラストラクチャ2000は、コンテンツデリバリーネットワーク(CDN)200とインターネットデータセンター(IDC)210−260で構成される。
【0021】
メディアファイル201は、最初ファイルストレージ202に保存される。メディアファイル201は、その後CDN200からIDC210−260までを介して配布される。ファイルが配布されると、個々のIDCには配布されたメディアファイルのローカルコピーができる。それぞれのローカルコピーは、メディアファイルのコピー211−261として保存される。それぞれのIDC210−260はビデオなどのストリーミングメディアをユーザーの要求に応じて、それぞれのIDCの地理的近傍にいるユーザーに供給する。メディアファイルのコピー211−261は、定期的に更新される。
【0022】
本発明の実施例によっては、ビデオストリーミングインフラストラクチャ2000が、ここに開示される発明プロセスにより生成されるビデオクリップの配布に使用されるものもある。つまり、例えば、発明ビデオクリップがファイルストレージ202のメディアファイル201として保存されてから、CDN200を介してIDC210−260に配布され、ストリーミングビデオとしてユーザーが使用できるようになるということであある。
【0023】
他の実施例では、発明ビデオクリップが、例えば、クラウドベースのサーバーなど、1つまたは複数のサーバーから、ビデオストリーミングインフラストラクチャ2000を使用することなしに直接配布されるものもある。
【0024】
図3はメタデータにタグ付けされた対話型ビデオクリップを制作し保存するための、また本発明の実施例に従って、ユーザーデバイスに対話型ビデオを配布するための、システム3000の高レベルブロック図である。システム3000はハードウェアモジュール、ソフトウェアモジュール、またはハードウェアとソフトウェアの組み合わせとして実現される。実施例によっては、少なくともシステム3000の一部がサーバー101などのサーバーで作動するソフトウェアを構成するものもある。
【0025】
図に示した実施例で、メタデータにタグ付けされた対話型ビデオクリップを生成し保存することに加えて、システム3000は追加の関連機能を実施する。例えば、この実施例のシステム3000は事前に格納されたビデオクリップも再生可能であるだけでなく、ビデオクリップとしてビデオを最初に保存することなしに、ユーザーの介入に応じて、ユーザーに追加でビデオをストリーミングすることができる。代わりの実施例で、これらの機能の1つ以上を単独のシステムまたは複数のシステムにより提供できる。
【0026】
図3で、例えば、コンピュータープログラム310を対話型マルチメディアアプリケーションプログラムにすることができる。例えば、コンピュータープログラム310は、ゲーム用アプリケーションプログラムになり得るのである。コンピュータープログラム310は、プログラム入力330に応じてプログラム出力320を生成する。
【0027】
実施例によっては、プログラム出力320が生のビデオやサウンドシステムを構成するものもある。実施例によっては、プログラム出力320がビデオレンダリング結果を構成するものもある。
【0028】
実施例によっては、プログラム入力330がユーザー入力相互作用に基づいて、ユーザーがボタンを押した、リストのアイテムを選択した、コマンドを入力したなど、制御メッセージを構成するものもある。かかるユーザー入力相互作用は入力周辺機器350に由来することがあり、ユーザーデバイス103などの、ユーザーデバイスに関連する周辺機器の場合もある。特定のユーザーデバイス関連の周辺機器はジョイスティック、マウス、タッチセンサー式画面などを含むことがある。実施例によっては、入力周辺機器350がリモートユーザーデバイス103に併置され、ネットワークを介してシステムの他の要素と通信を行うことがある。「周辺機器」とラベルされているが、技術的に優れているために、周辺機器350などの入力デバイス/要素が、特に実施例では、ユーザーデバイス103から分離したり差し込まれたりする代わりに、ユーザーデバイス103(例えば、タッチスクリーン、ボタンなど)の一部に組み込まれている入力要素を含むことがある。
【0029】
実施例によっては、入力周辺機器350が実際のユーザーの動作をシミュレートする入力のシーケンスを生成する「ロボット」エンティティである場合もある。そのようなロボットエンティティは、システムを「使用」するために使用でき、プログラム出力320の可能な多くの(またはすべての)インスタンスを生成する原因となる。このように、「使用する」システム3000の目的は、例えば、プログラム出力320に関連する各ビデオクリップの1つ以上のコピーを生成し保存できるようにすることである。
【0030】
アプリケーション相互作用コンテナ340は、コンピュータープログラム310を実行するために、ランタイム環境を用意している。本発明の実施例において、アプリケーション相互作用コンテナ340は入力周辺機器350で生成されたユーザー入力を検出して遮り、遮ったユーザー入力をプログラム入力330の形でコンピュータープログラム310に配信する。
【0031】
アプリケーション相互作用コンテナ340はプログラム出力320として生成された生のビデオとサウンドも遮り、コンピュータープログラムビデオ処理プラットフォーム360のサービスを利用して、生のビデオとサウンドをストリーミングビデオ形式に変換し、データベース390の1つ以上のビデオセグメントまたはクリップ370として変換されたビデオとサウンドを保存する。各クリップは特定のトリガー条件(または再生イベント)に応じて生成されたオーディオとビデオプログラム出力を表す。ここで、可能なトリガー条件のセットが、例えば、プログラム入力330の特定のアイテムを構成する。実施例によっては、生のビデオとサウンドがマルチメディアコンテナ形式に変換されるものもある。実施例によっては、生のビデオとサウンドがMPEG2トランスポートストリーム(MPEG2−TS)として知られている形式に変換されるものもある。
【0032】
ビデオクリップ370が生成されると、属性380(ここでは「メタデータ」とも呼ばれる)のセットでもタグ付けされ、例えば、クリップID、再生イベント、長さを構成する。メタデータ380の属性は、データベース390の対応するビデオクリップ390と関連して保存される。保存された370は、将来の再生のために使用できる。保存され、タグ付けされたビデオクリップ370は、同じユーザーまたは異なるユーザーによって再使用されることがある。与えられたクリップ370は1台の共有サーバーまたはサーバーのセット上のコンピュータープログラム310と相互作用する数千のユーザーにより再使用される可能性がある。
【0033】
例えば、次に(例えば、同じユーザーであれ異なるユーザーであれ、特定のユーザー入力の検出に基づいて)与えられた再生イベントが発生すると、そのイベントにタグ付けされた保存済みビデオクリップ370は再生できるようになり、対応する生のビデオとサウンドを再生成する必要がなくなる。アプリケーションによっては、コンピューターの処理能力の大幅な節約につながることがある。詳細については、再生プロセスの説明を参照のこと。
【0034】
上で述べたように、図に示した実施例で、システム3000も事前に格納されたビデオクリップを再生できる。例えば、プログラム入力330をもたらす入力周辺機器350を介したユーザーの介入に基づき、コンピュータープログラム310はユーザーの介入に対応するメタデータ380を持つ特定の事前に格納されたクリップ370が使用可能で、ユーザーの介入に適切に応答していると判断することがある。一致するクリップ370が、ストレージから取得され、例えば、MPEG2−TSなどのマルチメディアコンテナ形式に従って、ユーザーデバイス103にストリーミングされる。
【0035】
上でさらに詳しく述べたように、図に示した実施例で、たとえビデオがストリーミングビデオクリップシ370として現在保存されていなくても、システム3000はユーザーの介入に応じてユーザーにビデオをストリーミングすることもできる。例えば、プログラム入力330をもたらす入力周辺機器350を介したユーザー入力に基づき、コンピュータープログラム310は特定のビデオ出力がユーザーの介入に適切に対応しているが、対応するクリップ370を使用できないと判断することがある。要求されたビデオは、生のビデオクリップ320としてコンピュータープログラム310により生成されることがある。アプリケーション相互作用コンテナ340はプログラム出力320を遮り、コンピュータープログラムのビデオ処理プラットフォーム360を利用して、例えば、MPEG2−TSなどのマルチメディアコンテナ形式に従って、生のビデオをストリーミング形式に変換し、ストリーミングビデオをユーザーデバイス103に送信する。都合のよいことに、ストリーミングビデオはビデオクリップ370としてカプセル化して同時に録画し、適切なメタデータ380と連動して将来の使用に備えて保存することができる。
【0036】
図4は本発明の実施例に従って、対話型ビデオクリップと関連するメタデータを制作し、保存し、再生するプロセス4000を図で示す。実施例によっては、プロセス4000は、例えば、ビデオクリップとして最初に保存することなく、ユーザーにビデオをストリーミングするなどの、その他の関連する機能もサポートできる。
【0037】
ステップ410で、コンピュータープログラムはサーバー101などの、サーバーで起動する。例えば、サーバーはクラウドベースのサーバーになりえる。例えば、サーバーはゲームサーバーになりえる。例えば、コンピュータープログラムは、例えば、ゲームアプリケーションなどの、対話型マルチメディアアプリケーションプログラムになりえる。
【0038】
ステップ420で、プロセスはユーザー入力をモニターする。
【0039】
デシジョンボックス430で、ユーザー入力が検出されない場合、プロセスはステップ420に戻り、ユーザー入力を引き続きモニターする。ユーザー入力が検出されると、制御はデシジョンボックス440に移る。
【0040】
デシジョンボックス440で、一致するメタデータ(つまり、ユーザー入力に対応するメタデータ)のあるビデオクリップが存在する場合、制御はステップ450に移り、事前に格納されたビデオクリップがユーザーにストリーミングされる。制御はステップ420に戻り、プロセスはユーザー入力を引き続きモニターする。
【0041】
デシジョンボックス440で、一致するメタデータのある事前に格納されたクリップが見つからない場合、制御は460に移る。ステップ460で、ユーザーに応答するプログラム出力からのビデオセグメントは、ユーザーにストリーミングされる。同時に、ビデオセグメントは対応するビデオクリップの作成に備えて録画される。ステップ470で、録画されたビデオはストリーミング形式でビデオクリップにカプセル化される。例えば、ストリーミング形式はMPEG2−TSなどのマルチメディアコンテナ形式になりえる。
【0042】
ステップ480で、ビデオクリップと関連するメタデータ(例えば、クリップID、再生イベントまたはトリガー、長さ)が生成される。
【0043】
ステップ490で、ビデオクリップとそれに関連するメタデータが将来使用できるように保存される。例えば、クリップの保存されたメタデータに対応してトリガーが発生した場合、再生プロセスによりビデオクリップを将来使用できる。保存されたビデオクリップを使用することで、再生プロセスはコンピュータープログラムがビデオクリップに対応するビデオセグメントを再再生する必要性を避けることができる。
【0044】
ビデオセグメントは引き続き録画され、ストリーミング形式でクリップにカプセル化され、例えばゲームが終了するまで関連するメタデータに保存される。
【0045】
プロセス4000が例えばクラウドベースのサーバーなどのサーバーで作動している場合、複数のユーザー、それもおそらくは多くのユーザーを同時に処理しているかもしれないことに留意すること。そのような場合、定められたビデオセグメントがすでに録画され、プロセス4000で前のユーザーの介入の間に対応するメタデータ380を持つビデオクリップ370として、カプセル化され保存されている可能性は大いにありえる。そのような場合、対応するセグメントを再び録画する必要はない。むしろ、一意のIDを含むことができるメタデータに基づき、以前保存されたクリップのセットから、ビデオクリップを復旧することができる。
【0046】
図5では、本発明の実施例に従い、再生プロセスで使用されたビデオクリップと関連するメタデータのグラフ構造セット5000を一例として示している。これらのクリップは、例えば、
図3のシステム3000により、および/または
図4のプロセス4000により生成されたビデオクリップ370と関連するメタデータ380の可能性がある。再生プロセスで、ビデオクリップ370はサーバーコンピューター101などのサーバー、またはIDC210など、インターネットデータセンターに関連するサーバーからストリーミングされる。ビデオクリップ370は、HTML5をサポートするブラウザなど、適切な機能が装備された、ユーザーデバイス103などのユーザーデバイスで受け取られ表示される。
【0047】
それぞれの対話型マルチメディアアプリケーションまたはアプリケーションの部分は、ビデオクリップセット5000に似た再生ビデオクリップセット(「メタデータ再生リスト」とも呼ばれる)に関連付けられていることもある。例えば、マルチメディアレベルの各レベルが独自のメタデータ再生リストを持っている場合もある。上で説明したように、アプリケーションが実際のまたは「ロボット」ユーザー入力に応えて実行されるときに、各ビデオクリップ370に関連するメタデータが記憶される。それ故、メタデータ5000も同時に記憶される。その理由は、特定のアプリケーションまたはアプリケーションの部分の場合、メタデータ再生リストがメタデータ380に従ってリンクされたビデオクリップ370のコレクションだからである。
【0048】
図5の例で、ビデオクリップはそれぞれIDを持つ円によって表されている。例えば、ビデオクリップ510にはID=Aというラベルが付いています。矢印は「再生イベント」または再生プロセス5000が矢印の方向に移動する原因となるトリガー条件を表している。例えば、ビデオクリップ520の再生中にボタンXを押すと、ビデオクリップ520の再生が停止し、ビデオクリップ530の再生が始まる。他方、ビデオクリップ520の再生中に「アイテム2」が押されると、プロセスは代わりにビデオクリップ540に移行する。ビデオクリップ530の再生中にボタンYを押すと、プロセスはビデオクリップ550に移行しそのクリップを再生する。また、ビデオクリップ540の再生中にボタンYを押すと、プロセスはビデオクリップ550に移行しそのクリップを再生する。ビデオクリップ540の再生中にユーザーが「ターゲットZ」にスワイプすると、プロセスは最後に移動し、ビデオクリップ560の再生を開始する。ビデオクリップ560と550のいずれかを再生中にマイク(「MIC」)からオーディオコマンド“submit”を受け取ると、プロセスはビデオクリップ570に移動してそのビデオクリップの再生を開始する。図のトリガーは少し違っているが、ビデオ510が再生を終えると、プロセスはA’というラベルの付いたビデオクリップ、つまりビデオクリップ520に自動的に進める。
【0049】
ビデオクリップの再生がスムーズになるように、オプションでキャッシュメカニズムを使用できる。
【0050】
本発明の実施例によっては、サーバーからユーザーデバイスに配信されるビデオに事前に計算されたビデオ(保存され再生されたビデオクリップ)とリアルタイムで生成されたビデオストリーム(メタデータのあるビデオクリップとしてまた保存されていないビデオ)が入り混じっていることがある。
【0051】
上の説明では、MPEG2−TSなどのストリーミングマルチメディアコンテナ形式が参照される。本発明の実施例はMPEG2−TSに限定されず、3GP、ASF、AVI、DVR−MS、Flash Video(FLV、F4V)、IFF、Matroska(MKV)、MJ2、QuickTime File Format、MPEGプログラムストリーム、MP4、Ogg、RM(RealMediaコンテナ)などを含め、幅広いストリーミングコンテナ形式を使用できることを理解する必要がある。標準化されたコンテナ形式なしに作動する実施例も、考慮される。
リニアビデオから対話型ビデオスクリプトにリンクする
【0052】
メタデータ再生リスト5000などのメタデータ再生リストも「対話型ビデオスクリプト」と呼ばれることがある。つまり、メタデータ再生リスト5000はユーザー入力の機能として、ビデオ「スクリプト」の取る位置を決定するということである。それ故、
図5の例では、ステップ520で、アイテム2が選択されると、ビデオスクリプトはビデオクリップID=B’のコンテンツの再生を続けるが、ボタンXが押されると、ビデオスクリプトはビデオクリップID=Bのコンテンツの再生を続ける。これは、従来の「リニア」ビデオ(または、「リニア再生」ビデオ)とは対照的である。「リニアビデオ」または「リニア再生ビデオ」はここでは、たぶん、同じリニアビデオで前後に動く早送りや巻き戻し機能などの典型的なメディアプレーヤーのユーザー制御に従って、初めから終わりまで再生する従来型ビデオとして定義されている。
【0053】
ときには、リニアの再生ビデオと対話型ビデオスクリプトスクリプトの組み合わせを利用するのが望ましいかもしれない。例えば、リニアビデオから対話型ビデオスクリプトにリンクするか、リニア再生ビデオと対話型ビデオスクリプトの間で切り替える(たぶん、前後に切り替える)のが望ましいかもしれまい。また、場合によっては、例えば、対話型ビデオスクリプトの特定部分を再生するために、リニアビデオから対話型ビデオスクリプトの特定の位置にリンクするのが望ましいかもしれない。
【0054】
一例として、クラウドゲームサービスを通して提供されるゲームのセットの広告を考慮してみよう。広告の再生は、Webサイトのサービスの場合、ビデオ広告へのリンクをクリックするユーザーによって開始される。ビデオ広告は、その後従来のリニア再生ビデオとして再生を開始する。しかし、リニアビデオの1つ以上のポイントで、ユーザーは実際のゲームプレーを体験するように招待される。ユーザーがトリガーアクションを実行すると、対話型ビデオスクリプトを介してゲームの再生が始まる。例えば、トリガーアクションによっては、再生は対話型ビデオスクリプトの最初から始めることができたり、対話型ビデオスクリプト内部の他の場所から始めることができたりする。再び、
図5を参照すると、プレーはビデオクリップID=Aを再生することで510から開始するかもしれませんが、代わりにビデオクリップID=Bを再生することで530から開始することもありえます。ゲーム(または、より明確なユーザー入力)の終わりに、対話型スクリプトが終了する。オプションで、ビデオスクリプトが終了した後に、リニアビデオ再生を再開することができる。
【0055】
上のシナリオで、重要な課題はユーザー入力のとりたーアクションに基づいて開始される特定のゲーム(または、ゲームの部分、またはゲーム内場所)を識別することである。この問題の1つのソリューションは、ユーザー介入のトリガーで送信される現在のプレーのタイムスタンプを提供することである。タイムスタンプは、ユーザーが介入する時間に表示されたリニアビデオの部分を識別する。求められるゲーム(またはゲームの部分、またはゲーム内の場所)は、リニアビデオ再生のその時間に特徴づけられるゲームとして識別される。
【0056】
図6は、本発明の一部の実施例に従って、リニアビデオから対話型ビデオスクリプトにリンクするための例となるシステムを表示する。例えば、
図6のシステムで、ユーザーデバイス606を操作するユーザーは、例えば画面607に表示されたWebページ上のリンクをクリックすることで、リニアビデオの再生を開始できる。ユーザーデバイス606は、例えばラップトップコンピューター、タブレットまたはスマートフォンである。一部の実施例で、リニアビデオはビデオストリーミングインフラストラクチャ602を介して供給される。ビデオストリーミングインフラストラクチャ602は、例えば、
図2に示したように、CDN200とインターネットデータセンター210−260から成るビデオインフラストラクチャ2000に対応する可能性がある。
【0057】
リニアビデオ再生の間、いつでもユーザーは対話型ビデオスクリプトの再生をトリガーできる。オプションで、ユーザーはスクリプト内の任意の場所で開始する対話型ビデオスクリプトの再生をトリガーできる。さまざまなユーザーアクションが、例えば、メニューを選択する、リンクをクリックする、物理ボタンを押す、ボイスコマンドを話すなどの、トリガーメカニズムとして使用される可能性がある。一例として、ユーザーは画面の場所608(図のトリガーでは「T」とラベル)に触れることで、対話型ビデオスクリプトの再生をトリガーできるかもしれない。リニアビデオの再生中に画面の場所608に触れると、スクリプト要求の送信がトリガーされる。実施例によっては、スクリプト要求がタイムスタンプで成るものもある。
【0058】
タイムスタンプの目的は、リニアビデオが再生を開始してから経過した時間に基づいて、要求されている特定のビデオスクリプトを識別することである。例えば、上で説明した広告シナリオで、T1秒での要求はマルチメディア対話型ゲームG1に対応するスクリプトを識別しますが、それはリニア広告が時間T1でそのゲームの特徴を伝えているからである。他の実施例で、特定のビデオスクリプトは別のメカニズムより識別される。実施例荷よっては、メニューアイテムをクリックすることで特定のビデオスクリプトが識別されるものもある。実施例によっては、物理ボタンを押すことで、またはボイスコマンドを介して特定のビデオスクリプトが識別されるものもある。実施例によっては、特定のビデオスクリプトだけでなく、ビデオスクリプト内の特定の開始場所を識別するために、タイムスタンプまたは他のメカニズムを使用するものもある。
【0059】
特定のスクリプトがタイムスタンプから識別されると、選択したスクリプトに対応するゲームのプレーを開始できる。プレーは上で説明したプロセス、例えば、
図5に関連したプロセスに従って実行される。つまり、ゲームに対応するビデオクリップは保存されたメタデータおよび現在のユーザーの介入で決定された順所で再生される。ここまでゲームの例を説明してきましたが、対話型コンテンツの他の形式を同様にして配信できるということが分かる。
【0060】
図6で、対話型ビデオクリップは対話型ビデオは配信インフラストラクチャ604を介して配信されていることが示されている。
図2と関連して上で説明したように、ビデオストリーミングインフラストラクチャ2000を介してビデオスクリプトを配信することは可能ですし、その方が望ましいかもしれない。このようなシナリオで、ビデオストリーミングインフラストラクチャ602も対話型ビデオ配信インフラストラクチャ604も、既存のビデオストリーミングインフラストラクチャ2000に対応する。他の実施例で、選択した対話型ビデオスクリプトに対応するビデオクリップはインターネットなどのネットワークを介して、ビデオストリーミングインフラストラクチャまたは対話型ビデオ配信インフラストラクチャを使用することなく、ユーザーデバイス606に直接ストリーミングされる。
【0061】
図7は、例えば、ビデオ広告などのリニアビデオから対話型ビデオスクリプトにリンクするための例となるプロセスを描写するフロー図である。
【0062】
ステップ710で、ユーザーはリニアビデオ広告に対応するWebページ上のリンクをクリックする。ステップ720で、リニアビデオ広告はビデオストリーミングインフラストラクチャを介して再生する。デシジョンボックス730で、リニアビデオ広告が最後に達したら、制御はボックス790に転送されプロセスは終了する。終了に達したのに再生が続く場合、デシジョンボックス740で、システムがトリガーをモニターする。トリガーが検出されない場合、再生がつく。
【0063】
トリガーが検出されると、ステップ750でトリガーアクションの時間に、トリガーにより送信されたタイムスタンプから、ビデオの再生時間が計算される。ステップ760で、計算された再生時間に基づき、特定の対話型ビデオスクリプトが選択される。上で説明したように、特定の対話型ビデオスクリプトを選択するために、代わりに他のメカニズムが採用されることがある。また、上で説明したように、タイムスタンプまたは他のメカニズムをオプションで使用して、特定の対話型ビデオスクリプト内の特定の開始場所を識別することもある。
【0064】
ステップ770で、選択した対話型ビデオスクリプトが再生される。対話型ビデオスクリプトの再生は、一般医は、例えば、上の
図5と関連して説明されたメタデータ再生リスト実施例のように処理される。デシジョンボックス780で、スクリプトの終わりに達していない場合、再生は続行される。スクリプトの終わりに達した場合、制御はボックス790に転送され、プロセスは終了する。
【0065】
図7の実施例では、対話型ビデオスクリプトの終わりに達するとプロセスは終了しますが、他の実施例では、対話型ビデオスクリプトが終了した後にリニアビデオの表示が続くと期待される。それでも、他の実施例では、ユーザーがリニアビデオと対話型ビデオスクリプトの表示を何回でも気まぐれに切り替えることができると期待される。追加の実施例では、ユーザーが複数のリニアビデオと複数の第2の対話型ビデオスクリプトの表示を切り替えることができると期待される。
【0066】
上でいくつかの実施例を説明してきましたが、技術的に優れている人は、本発明のスクリプトと範囲から離れることなしに、多くの修正とバリエーションが可能であることを理解できるはずである。従って、そのような修正とバリエーションは、請求項に係る発明の範囲内に含めることを目的としている。
【図面の簡単な説明】
【0067】
【
図1】本発明の1つの実施例に従って対話型リアルタイムマルチメディアアプリケーションをサポートする、分散型クライアント−サーバーコンピューターシステムのブロック図である。
【
図2】ビデオクリップを配信するために本発明の実施例により利用されている、コンテンツデリバリネットワーク(CDN)と複数のインターネットデータセンター(IDC)から成る、ビデオストリーミングインフラストラクチャのブロック図である。
【
図3】本発明の実施例に従って、対話型ビデオクリップ生産と再生システムを描く図である。
【
図4】本発明の実施例に従った、ビデオクリップ生産と再生プロセスのフロー図である。
【
図5】本発明の実施例に従って、ビデオクリップのグラフ構造化されたセットを描く。
【
図6】本発明の実施例に従って、リニアビデオから対話型ビデオスクリプトにリンクさせるためのシステムを描く。
【
図7】本発明の実施例に従って、リニアビデオから対話型ビデオスクリプトにリンクさせるための方法を描く。
【符号の説明】
【0068】
1000分散型クライアント−サーバーコンピューターシステム
101サーバーコンピューター
102ネットワーク
103ユーザーデバイス
110中央処理装置CPU
111ストレージ
112メモリ
120中央処理装置(CPU)
121ストレージ
122メモリ
131コンピュータープログラム製品
2000ビデオストリーミングインフラストラクチャ
200コンテンツデリバリーネットワーク(CDN)
201メディアファイル
202ファイルストレージ
210−260IDC
211−261メディアファイルのコピー
3000システム
310コンピュータープログラム
320プログラム出力
330プログラム入力
340アプリケーション相互作用コンテナ
350入力周辺機器
360コンピュータープログラムビデオ処理プラットフォーム
370ビデオセグメントまたはクリップ
380メタデータ
390データベース
410−490ステップ
5000ビデオクリップセット
510ビデオクリップ
520ビデオクリップ
530ビデオクリップ
540ビデオクリップ
550ビデオクリップ
560ビデオクリップ
570ビデオクリップ
602ビデオストリーミングインフラストラクチャ
604対話型ビデオ配信インフラストラクチャ
606ユーザーデバイス
607画面
608ユーザーは画面の場所
710−790ステップ
【外国語明細書】