(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2017-103760(P2017-103760A)
(43)【公開日】2017年6月8日
(54)【発明の名称】ビデオストリームで実行される対話型アプリケーション
(51)【国際特許分類】
H04N 21/472 20110101AFI20170512BHJP
H04N 21/442 20110101ALI20170512BHJP
G06F 13/00 20060101ALI20170512BHJP
【FI】
H04N21/472
H04N21/442
G06F13/00 550P
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
【全頁数】15
(21)【出願番号】特願2016-214094(P2016-214094)
(22)【出願日】2016年11月1日
(31)【優先権主張番号】14/932,252
(32)【優先日】2015年11月4日
(33)【優先権主張国】US
(31)【優先権主張番号】15/095,987
(32)【優先日】2016年4月11日
(33)【優先権主張国】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.FLASH
2.QuickTime
(71)【出願人】
【識別番号】515186563
【氏名又は名称】ユビタス インコーポレイテッド
【氏名又は名称原語表記】Ubitus Inc.
(74)【代理人】
【識別番号】100107364
【弁理士】
【氏名又は名称】斉藤 達也
(72)【発明者】
【氏名】ジュン−チャン クオ
(72)【発明者】
【氏名】シェン−ラン ヤン
【テーマコード(参考)】
5B084
5C164
【Fターム(参考)】
5B084AA01
5B084AA12
5B084AB06
5B084AB13
5B084BB01
5B084CF03
5B084CF12
5B084DC02
5B084DC13
5C164MB13S
5C164TB13S
5C164UB04P
5C164UD41P
(57)【要約】 (修正有)
【課題】対話型リアルタイムのメディアアプリケーション用のストリーミングビデオクリップとして、マルチメディア情報の生産と再生を提供する。
【解決手段】ネットワークに接続された2台以上のコンピューターで構成される、対話型マツチメディアアプリケーションを実行する方法であって、ビデオまたはオーディオの応答を要求するユーザー入力のモニタリング、
ビデオまたはオーディオの応答を要求する最初のユーザー入力が行われた場合、最初のユーザー入力に関連する最初に保存されたストリーミングビデオが再生され、最初に保存されたストリーミングビデオクリップに関連するメタデータの最初のセットを読み込む。ここで、メタデータの最初のセットは、2回目のユーザー入力を構成する再生イベントから成る、2回目のユーザー入力が行われると、メタデータの最初のセットで決定されたように、2回目に保存されたストリーミングビデオが再生される。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ネットワークに接続された1台以上のコンピューターで構成される、対話型マツチメディアアプリケーションを実行する方法であって
ビデオまたはオーディオの応答を要求するユーザー入力のモニタリング、
ビデオまたはオーディオの応答を要求する最初のユーザー入力が行われた場合、最初のユーザー入力に関連する最初に保存されたストリーミングビデオが再生される、
最初に保存されたストリーミングビデオクリップに関連するメタデータの最初のセットを読み込むが、ここでメタデータの最初のセットは2回目のユーザー入力を構成する再生イベントから成る、
2回目のユーザー入力が行われると、メタデータの最初のセットで決定されたように、2回目に保存されたストリーミングビデオが再生される。
【請求項2】
請求項1に記載の方法であって、最初と2回目のストリーミングビデオクリップがネットワークに接続されたユーザーデバイスにストリーミングされる。
【請求項3】
請求1の方法では、最初と2回目のストリーミングビデオクリップは、コンテンツデリバリーネットワーク(CDN)に接続されたインターネットデータセンター(IDC)のサーバーによって、ストリーミングされる。
【請求項4】
請求項1に記載の方法であって、さらに以下を含む:
3回目のユーザー入力が行われる、
3回目のユーザー入力が事前に保存されたビデオクリップに対応しない、
3回目のユーザー入力に基づき、ユーザーにビデオセグメントをストリーミングする、
3回目に保存されたビデオクリップとして、少なくとも3回目のユーザー入力の一部に基づいて、ビデオセグメントを保存する。
【請求項5】
請求項1に記載の方法であって、最初と2回目のユーザー入力がリモートユーザー入力に由来する。
【請求項6】
請求項1に記載の方法であって、最初と2回目のユーザー入力がシミュレートされた(「ロボット」)エンティティに由来する。
【請求項7】
請求項1に記載の方法であって、最初と2回目のストリーミングビデオクリップが実質上MPEG2−TSに従ってフォーマットされます。
【請求項8】
請求項4に記載の方法であって、さらに以下を含む:
3回目に保存されたストリーミングビデオクリップがそれぞれのユーザーによって提供されたユーザー入力に基づき、数え消えないほど様々なユーザーに再生されます。
【請求項9】
対話型マルチメディアアプリケーションで使用するための、ビデオを製造する方法は、以下で構成される:
サーバーに対話型マルチメディアアプリケーションプログラムを起動する、
ユーザー入力のモニタリング、
最初のユーザーから最初のユーザー入力を削除するときに、最初のユーザー入力に対応するメタデータを持つ、事前に保存されたストリーミングビデオを検索する。
【請求項10】
請求項9に記載の方法であって、さらに以下を含む:
最初のユーザー入力に対応するメタデータを持つ、事前に保存されたストリーミングビデオクリップを識別する、
最初のユーザーに識別されたストリーミングビデオをストリーミングする。
【請求項11】
請求項9に記載の方法であって、さらに以下を含む:
最初のユーザーに対応するメタデータを持つ事前に保存されたストリーミングビデオクリップが存在しないことを検出する、
マルチメディアアプリケーションプログラムの出力から、最初のユーザーにビデオをストリーミングする、
マルチメディアアプリケーションプログラムの出力からストリーミングビデオクリップに、ビデオをカプセル化する、
関連したメタデータに連動してカプセル化されたビデオを保存する。
【請求項12】
請求項11に記載の方法であって、ストリーミングビデオクリップがマルチメディアコンテナ形式に従ってカプセル化される。
【請求項13】
請求項12に記載の方法であって、マルチメディアコンテナ形式はMPEG2−TSである。
【請求項14】
請求項9に記載の方法であって、最初のユーザー入力がリモートユーザーデバイスに由来する。
【請求項15】
請求項9に記載の方法であって、最初のユーザー入力がシミュレートされた(「ロボット」)エンティティに由来する。
【請求項16】
請求項11に記載の方法であって、保存されたストリーミングビデオクリップが回復され、少なくとも2人の異なるユーザーにビデオを配信する。
【請求項17】
対話型マルチメディアアプリケーションで使用するためのビデオやオーディオを生成するための装置であって、
コンピュータープログラムのビデオ処理プラットフォームに接続されたアプリケーション対話型コンテナであって、、前記アプリケーション対話型コンテナは次を含む:
コンピュータープログラムのためのリアルタイム環境、
プログラム入力遮断モジュール、
プログラム出力遮断モジュールでは、
リアルタイム環境で作動するコンピュータープログラムとして、プログラム入力遮断モジュールによって検出されたプログラム入力に基づき、プログラム出力遮断モジュールがビデオとオーディオ出力を遮り、ビデオとオーディオ出力を分割するが、ここでは分割されたビデオとオーディオ出力をコンピュータープログラムビデオ処理プラットフォームに配信し、分割されたビデオとオーディオ出力がストリーミング形式に変換され、少なくともプログラム入力の一部に基づいて関連するメタデータと連動して、ストリーミングビデオクリップとして保存される。
【請求項18】
請求項17に記載の装置であって、ストリーミング形式が実質的にMPEG2−TSに遵守している。
【請求項19】
請求項17に記載の装置であって、メタデータにクリップIDが含まれる。
【請求項20】
コンピュータープロセッサーによって実行される装置を含む持続性コンピューター可読メディアのコンピュータープログラム製品であって、
ビデオまたはオーディオ応答を必要とする、ユーザー入力のモニター、
ビデオまたはオーディオ応答を必要とする最初のユーザー入力が行われたら、最初のユーザー入力に関連する最初に保存されたストリーミングビデオクリップを再生する、
最初に保存されたストリーミングビデオクリップに関連する、メタデータの最初のセットを読み込むが、ここで、メタデータの最初のセットは2回目のユーザー入力から成る再生イベントを構成する、
2回目のユーザー入力が行われると、メタデータの最初のセットによって決定されたように、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】
上でいくつかの実施例を説明してきましたが、技術的に優れている人は、本発明のスクリプトと範囲から離れることなしに、多くの修正とバリエーションが可能であることを理解できるはずである。従って、そのような修正とバリエーションは、請求項に係る発明の範囲内に含めることを目的としている。
【図面の簡単な説明】
【0053】
【
図1】本発明の1つの実施例に従って対話型リアルタイムマルチメディアアプリケーションをサポートする、分散型クライアント−サーバーコンピューターシステムのブロック図である。
【
図2】ビデオクリップを配信するために本発明の実施例により利用されている、コンテンツデリバリネットワーク(CDN)と複数のインターネットデータセンター(IDC)から成る、ビデオストリーミングインフラストラクチャのブロック図である。
【
図3】本発明の実施例に従って、対話型ビデオクリップ生産と再生システムを描く図である。
【
図4】本発明の実施例に従った、ビデオクリップ生産と再生プロセスのフロー図である。
【
図5】本発明の実施例に従って、ビデオクリップのグラフ構造化されたセットを描く。
【符号の説明】
【0054】
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ビデオクリップ
【外国語明細書】