説明

サーバサイドレンダリング

サーバサイドレンダリングの解決策は、コンピュータアプリケーションにおけるユーザ状態を表すビデオ画像を格納するよう構成されたサーバにて、将来のユーザアクションを、コンピュータアプリケーションにおけるユーザ状態の少なくとも一部に基づいて識別することを含む。上記解決策はさらに、前記識別を受け、前記ユーザと関連付けられたユーザ機器に送信するためのビデオ画像をレンダリングすることを含み、前記ユーザ機器にて、コンピュータアプリケーションにおけるユーザの状態がサーバに送信される。上記送信されたことを受け、ユーザが将来のアクションを実施した後のユーザの将来状態を示す各ビデオ画像が格納される。ユーザのアクションを受け、上記ビデオ画像のうちひとつが、ユーザ機器のユーザディスプレイ上の表示用に選択される。一態様によれば、サーバによって識別される将来のユーザアクションは、前記状態のユーザにとって可能なユーザアクション数よりも少ない。

【発明の詳細な説明】
【技術分野】
【0001】
本開示内容は、サーバサイドレンダリングに関する。
【背景技術】
【0002】
通常、オンラインゲームシステムなどのオンラインアプリケーションは、ネットワーク越しにサーバコンピュータと通信するユーザ機器を含んでいる。ユーザは、ジョイスティックなどのユーザ入力機器を介して、ユーザアクションに関わる入力を行う。入力はサーバに通信され、そのユーザ入力により、以降ユーザディスプレイに表示されるビデオ画像の内容の少なくとも一部を決定することができる。サーバで作成されるビデオ画像については、コンピュータゲームのプレーヤのアクションと、そのアクションの結果を反映したビデオ画像の表示との間で、著しい遅延があることがある。この遅延は、例えばネットワークの状況や複雑な作成処理によって生じている場合がある。
【発明の概要】
【発明が解決しようとする課題】
【0003】
オンラインアプリケーションのためのビデオ画像はユーザ機器で作成してもよいが、その解決策では、ユーザ機器が比較的高性能な画像システムをもたねばならず、ユーザ機器にかかる費用が増加してしまう。したがって、オンラインアプリケーションで使用されるユーザ機器に表示されるビデオ画像をレンダリングするための、よりよい解決策が所望される。
【課題を解決するための手段】
【0004】
サーバサイドレンダリングの解決策は、コンピュータアプリケーションにおけるユーザ状態を表すビデオ画像を格納するよう構成されたサーバにて、将来のユーザアクションを、コンピュータアプリケーションにおけるユーザ状態の少なくとも一部に基づいて識別することを含む。上記解決策はさらに、前記識別を受け、前記ユーザと関連付けられたユーザ機器に送信するためのビデオ画像をレンダリングすることを含む。ユーザ機器にて、コンピュータアプリケーションにおける前記ユーザの状態がサーバに送信される。上記送信を受け、前記ユーザが将来のアクションを実施した後の前記ユーザの将来状態を示す各ビデオ画像が格納される。ユーザのアクションを受け、前記ユーザ機器のユーザディスプレイ上に表示するため、前記ビデオ画像のうちひとつが選択される。一態様によれば、前記サーバによって識別される前記将来のユーザアクションは、前記状態のユーザにとって可能なユーザアクション数よりも少ない。
【図面の簡単な説明】
【0005】
本明細書に組み込まれ、本明細書の一部を構成する本添付図面は、本発明の一またはそれ以上の実施例を示す。また発明の詳細な説明と合わせ、添付図面により本発明の原則および実施を説明する。
【0006】
【図1】本発明の一実施例に係るサーバサイドレンダリング用システムを示すブロック図である。
【図2】本発明の一実施例に係る、コンピュータにより生成されたキャラクタを操作するコンピュータゲームの画像を使用する、サーバサイドレンダリング用システムを示すブロック図である。
【図3】本発明の一実施例に係る、将来の動作を最も起こり得る将来の動作に限定する様子を示す図である。
【図4A】本発明の一実施例に係る、ひとつの将来のユーザアクションの後のユーザ状態を表すビデオ画像を示す樹形図である。
【図4B】本発明の一実施例に係る、ふたつの将来のユーザアクションの後のユーザ状態を表すビデオ画像を示す樹形図である。
【図5】本発明の一実施例に係るサーバサイドレンダリング方法を、サーバの観点から示したフロー図である。
【図6】本発明の一実施例に係るサーバサイドレンダリング方法を、ユーザ機器の観点から示したフロー図である。
【図7】本開示内容の態様を実施するために適したコンピュータシステムのブロック図である。
【発明を実施するための形態】
【0007】
本発明の実施例を、サーバサイドレンダリングに鑑みて説明する。当業者であれば、以下の本発明の詳細な説明はあくまでも例示のためであり如何なる限定も意図していないことが分かるであろう。本発明の他の実施例は順次、本開示内容の恩恵を受ける当業者に対し、その存在そのものを容易に示唆していくであろう。以下、本発明の実施の詳細について、添付図面を参照する。図面および以下の詳細な説明において、同一または同等の部分について参照する場合はそれと同一の参照表示を用いる。
【0008】
明確性のため、通常用いられるもの全てがここに説明する実施内容の説明に記載または説明されているわけではない。もちろん当然のことながら、実際にこれらの実施内容を開発するにあたり、アプリケーションおよびビジネスに関わる制限など開発者の具体的な目的を果たすために、実施に特化した数多くの決定を下す必要がある。そしてこれらの具体的な目的は、実施内容のひとつひとつ、開発者のひとりひとりにおいて異なるものである。さらに、当然のことながら、このような開発努力は複雑で時間を要するものであるかも知れないが、本開示内容の恩恵を受ける当業者にとっては、技術職としての通常業務であるといえる。
【0009】
一実施例によれば、部品、処理手順、および/またはデータ構成は、様々な種類のオペレーティングシステム(OS)、計算プラットフォーム、ファームウェア、コンピュータプログラム、コンピュータ言語、および/または一般用途の機械を使用することで実施することができる。前記方法は、処理回路上で実行されるプログラムされた処理として実行することができる。前記処理回路は、プロセッサとオペレーティングシステム、接続とネットワーク、データ格納部、またはスタンドアローン機器との多数の組み合わせの形態をとることができる。前記処理は、これらハードウェア、ハードウェア単体、またはその組み合わせにより実行される指示として実装することができる。ソフトウェアは、機械により読み取り可能なプログラム格納機器に格納してもよい。
【0010】
一実施例によれば、部品、処理、および/またはデータ構成は、機械語、アセンブラ、CまたはC++、Java(登録商標)、および/またはその他のデータ処理コンピュータ上で行われる高度な言語のプログラムによって実装することができる。データ処理コンピュータとは、カリフォルニア州サンタクララ市のSun Microsystems,Inc.から入手可能のSolaris、ワシントン州レドモンド市のMicrosoft Corporationから入手可能のWindows Vista、Windows NT、Windows XP、Windows XP PRO、およびWindows 2000、カリフォルニア州クパチーノ市のApple Inc.から入手可能のApple OS Xを基礎とするシステム、または、複数のベンダーから入手可能のLinux(登録商標)などUnix(登録商標)オペレーティングシステムの様々なバージョンのOSが実行されるパーソナルコンピュータ、ワークステーションコンピュータ、メインフレームコンピュータ、または高性能なサーバ等である。前記方法は、マルチプロセッサシステムで実装することもでき、また、入力機器、出力機器、ディスプレイ、ポインティング機器、メモリ、格納機器、メディアインタフェースなどの周辺機器を含む、データをプロセッサと送受信するコンピュータ環境で実装してもよい。さらに、上記のコンピュータシステムまたはコンピュータ環境は、ローカルで、またはインターネットや他ネットワーク上でネットワーク接続されていてもよい。異なる実装形態を用いてもよく、また、異なる種類のオペレーティングシステム、計算プラットフォーム、コンピュータプログラム、ファームウェア、コンピュータ言語、および/または一般用途の機械を含んでもよい。さらに、当業者であれば、ハードワイヤード機器、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)など、用途特性としては一般ではない機器についても、ここに開示された発明の概念の範囲および主旨から逸脱することなく使用することができるということが認められるであろう。
【0011】
本発明に鑑みて、「ネットワーク」という用語には、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、メトロエリアネットワーク、住居ネットワーク、企業ネットワーク、ネットワーク同士のネットワーク、インターネット、ワールドワイドウェブ、ケーブルテレビシステム、電話システム、無線通信システム、光ファイバーネットワーク、トークンリングネットワーク、イーサネット(登録商標)ネットワーク、ATMネットワーク、フレームリレーネットワーク、衛星通信システムなどが含まれる。このようなネットワーク群は従来よりよく知られているため、ここではより深くは説明しない。
【0012】
本発明に鑑みて、「識別子」という用語は、順に並ぶ一またはそれ以上の数字、符号、記号などの系統を説明するものである。より一般的には、「識別子」とは一またはそれ以上のビットで表すことができるエンティティを説明するものである。
【0013】
本発明に鑑みて、「分配された」という用語は、デジタル情報システムが複数のコンピュータに分散され、ひとつの場所に集中していないことを説明するものである。
【0014】
本発明に鑑みて、「プロセッサ」という用語は、データを処理または変換する物理コンピュータ(スタンドアローンまたは分配されたもののいずれか)または仮想マシン(スタンドアローンまたは分配されたもののいずれか)を説明するものである。プロセッサは、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせにおいて実装することができる。
【0015】
本発明に鑑みて、「データ格納部」という用語は、デジタルまたはアナログ情報やデータを格納するための、ローカルまたは分配されたハードウェアおよび/またはソフトウェア手段または装置を説明するものである。「データ格納部」という用語は、例を挙げれば、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SDRAM)、フラッシュメモリ、ハードドライブ、ディスクドライブ、フレキシブルディスクドライブ、テープドライブ、CDドライブ、DVDドライブ、磁気テープ機器(オーディオ、ビデオ、アナログ、デジタル、またはこれらの組み合わせ)、光学式記憶機器、電気的消去可能なプログラマブルリードオンリメモリ(EEPROM)、ソリッドステートメモリ機器、および、ユニバーサルシリアルバス(USB)格納機器などの機器を説明するものである。「データ格納部」という用語は、さらに例を挙げれば、データベース、ファイルシステム、記録システム、オブジェクト指向データベース、リレーショナルデータベース、SQLデータベース、追跡記録およびログ、プログラムメモリ、キャッシュおよびバッファなども説明するものである。
【0016】
本発明に鑑みて、「ネットワークインタフェース」という用語は、ユーザがネットワークを超えて通信したり、ネットワークから情報を取得したりするために、ネットワークにアクセスする手段を説明するものである。
【0017】
本発明に鑑みて、「システム」という用語は、プロセッサ手段、データ格納手段、プログラム手段、および/またはユーザインタフェース手段を含む、ハードウェアおよび/またはソフトウェアのコンピュータ情報および/または制御機器、機器または機器のネットワークを説明するものである。前記ユーザインタフェース手段は、一またはそれ以上のデータネットワークや接続を介して本発明の実施例と通信するよう構成され、本発明の実施例と併せて使用するよう構成されている。
【0018】
なお、ここでは、サーバサイドレンダリングシステムは、特定の機能を実施し相互に作用しあう様々なモジュールをもつことが示され論じられている。これらモジュールは、単に説明のために機能に基づいて分離されているのであって、コンピュータハードウェアおよび/またはコンピュータで読み取り可能な媒体に格納された、適切なコンピュータハードウェアによって実行される実行可能なソフトウェアコードを表すものであることを理解すべきである。これらの異なるモジュールおよびユニットの様々な機能は、どのモジュールでもそうであるように、上記ハードウェアおよび/またはコンピュータで読み取り可能な媒体に格納されたソフトウェアも同様に統合または分離してもよく、独立させてまたは組み合わせて使ってもよい。
【0019】
本発明の実施例の例では、サーバコンピュータが、オンラインコンピュータゲームなどのオンラインコンピュータアプリケーションにおけるユーザアクションの結果であるビデオ画像を、レンダリングする。これらのビデオ画像は、ユーザ機器へ通信される。ユーザ機器がユーザからの入力を受け、適切なビデオ画像を選択し、その画像を表示する。ユーザ機器は、コンピュータアプリケーションのユーザアクションもサーバへ送る。画像転送方法は、様々なビデオ画像圧縮によって、ネットワーク状況に対し最適化させることができる。ユーザ機器からサーバへのフィードバックの厳しさは、サーバ上に可能な将来のコンピュータゲームプレーヤアクションの樹形を作り、今後に向けたいくつかの反復分のビデオ画像をレンダリングすることで減少させることができる。オンラインコンピュータアプリケーションにおけるユーザアクション数は、可能なユーザアクション数よりも少なく限定してもよい。
【0020】
図1は、本発明の一実施例に係るサーバサイドレンダリング用システムを示すブロック図である。図1に示すように、サーバサイドレンダリング用システムは、ネットワーク115を介してサーバ140に通信可能に接続されたユーザ機器110を含む。サーバ140は、コンピュータアプリケーションにおけるユーザ状態を示すビデオ画像を格納するように構成されたデータ格納部120と、通信可能に接続されている。データ格納部120に格納された一またはそれ以上のビデオ画像は、可能なユーザ状態の少なくとも一部に基づいて動的に生成してもよい。ユーザ機器110は、ユーザ入力機器105を介してユーザ125から入力を受け取る。ユーザ機器110は、サーバコンピュータ140へ送る(130)ために、コンピュータアプリケーションにおけるユーザ125の状態を格納するように構成されている。ユーザ機器110はさらに、ユーザ125が将来のアクションを実施した後のユーザ125の将来状態を示す、一またはそれ以上のビデオ画像135を受け取り、メモリに格納するように構成されている。ユーザ機器110はさらに、ユーザアクションを受けて、ユーザディスプレイ機器110に表示するための一またはそれ以上のビデオ画像のうちひとつを選択するように構成されている。一実施例によれば、前記将来のアクション数は、可能なアクション数よりも少なく限定される。
【0021】
引き続き図1を参照する。サーバ140は、コンピュータアプリケーションにおけるユーザ125の状態を示す現ユーザ状態130を受け取り、その現ユーザ状態130に基づき一またはそれ以上のユーザアクションを識別するように構成されている。サーバ140はさらに、前記識別に基づいて、一またはそれ以上のビデオ画像を作成し、前記一またそれ以上のビデオ画像を、ネットワーク115を介してユーザ機器110に送信する。一実施例によれば、前記一またはそれ以上の将来のユーザアクションは、前記状態にあるユーザにとって可能なユーザアクション数よりも少ない。
【0022】
一実施例によれば、コンピュータアプリケーションはコンピュータゲームを含む。一実施例によれば、コンピュータゲームは、オンラインコンピュータゲームを含む。
【0023】
一実施例によれば、サーバ140はさらに、ユーザ機器110にビデオ画像135を送信する前に前記ビデオ画像135を圧縮するように構成されており、ユーザ機器110はさらに、前記ビデオ画像135のうちひとつがユーザディスプレイ機器100上に表示される前に、前記ビデオ画像135を解凍するように構成されている。
【0024】
一実施例によれば、前記圧縮することは、サーバコンピュータ140とユーザ機器110との間のネットワーク混雑度合の少なくとも一部に基づいて、圧縮量を選択することを含む。特定の圧縮方法の選択は、圧縮を実施するのに必要な時間、および圧縮の予定量を考慮してもよい。例えば、比較的ネットワーク混雑度が高い時間には、比較的高い圧縮レベルを選択してもよい。加えて、比較的ネットワーク混雑度が低い時間には、比較的低い圧縮レベルを選択してもよい。
【0025】
図2は、本発明の一実施例に係る、コンピュータにより生成されたキャラクタを操作するコンピュータゲームの画像を使用するサーバサイドレンダリング用システムを示すブロック図である。図2は、図1の通信130および135についてより詳細に提供する。ユーザの現状態を表す画像が、右向きのキャラクタを指す参照符号275に示されている。230で、参照符号275によって示された現ユーザ状態の指標が、サーバ240に送信される。サーバ240は、前記現ユーザ状態の指標を受け取り、次のユーザ状態のビデオ画像をレンダリングする。作成されたビデオ画像235は、データ格納部220から引き出される。
【0026】
本例に示す通り、前記次のユーザ状態は、下向きのキャラクタ250、左向きのキャラクタ255、上向きのキャラクタ260、右向きのキャラクタ265、または丸い物体を取り込んでいる右向きのキャラクタ270のビデオ画像によって表すことができる。現状態230が送信された後の次のユーザアクションが、ビデオ画像250、255、260、265、および270のどれが実際にユーザ機器210によって選択され、ユーザ機器200に表示されるのかを決定し、前記次のユーザアクションの結果である新しい状態が表される。したがって、もしユーザアクションで方向転換が指示されなかった場合は、ビデオ画像265が表示される。もしユーザアクションで上方向が指示されたら、ビデオ画像260が表示される。もしユーザアクションで、丸い物体があるパスを進んでいる時に方向転換が指示されなかった場合は、ビデオ画像270が表示される。
【0027】
一実施例によれば、将来のユーザアクション数は、将来のユーザアクションの発生確率の少なくとも一部に基づいて限定される。このことは、図3を参照しながら、以下にさらに詳細に説明する。
【0028】
図3は、本発明の一実施例に係る、将来の動作を最も起こり得る将来の動作に限定する様子を示す図である。図3に示すように、いくつかのユーザアプリケーションは比較的少数の将来状態(305)を有するため、状態を表すのに比較的少数のビデオ画像を必要とする。このようなユーザアプリケーションの例としては、図2に示されるビデオコンピュータゲームである。他、航空機飛行シミュレーションユーザアプリケーションなどのユーザアプリケーションは、比較的多数の将来状態(310)を有する。一実施例によれば、次の状態の数は、最も起こり得る将来状態(300)に限定してもよい。
【0029】
最も起こり得る将来状態は、ある特定の状態にあるユーザが以前とったアクションを考慮して決定してもよい。例えば、もしユーザが可能なユーザアクションA、B、C、および、Dがとれる状態にあり、ユーザは過去に同じ状態でアクションCを選択したことがない場合、サーバからユーザ機器に送られる画像群において、ユーザアクションCの結果である画像は生成されない。もし、実際にユーザがアクションCを選択するようなことがあった場合、関連付けられた画像をユーザ機器によってリアルタイムに生成するか、またはサーバに要求してもよい。
【0030】
また、最も起こり得る将来状態は、前記特定の状態にあった他のユーザのとった以前のアクションを考慮して決定してもよい。例えば、所定割合以上のユーザが、A、B、C、および、Dの可能なユーザアクションをとれる状態にあった場合にアクションCを選択したことがない場合、サーバからユーザ機器に送られる画像群において、ユーザアクションCの結果である画像は生成されない。もし、実際にユーザがアクションCを選択するようなことがあった場合、関連付けられた画像をユーザ機器によってリアルタイムに生成するか、またはサーバに要求してもよい。
【0031】
図4Aは、本発明の一実施例に係る、ひとつの将来のアクションの後のユーザ状態を表すビデオ画像を示す樹形図である。現ユーザ状態400から始まり、ある特定のユーザアクションの識別で、将来のユーザ状態(405,410,415,420)が決定する。4つの将来のユーザ状態しか示されていない。これ以外の数の将来状態にすることも可能である。
【0032】
図4Bは、本発明の一実施例に係る、ふたつの将来のアクションの後のユーザ状態を表すビデオ画像を示す樹形図である。現ユーザ状態422から始まり、第1のユーザアクションの識別によって第1の将来のユーザ状態(425,430,435,440)が決定する。前記第1の将来のユーザ状態がユーザ状態425である場合、第2のユーザアクションの識別によって第2の将来のユーザ状態(445,450)が決定する。前記第1の将来のユーザ状態がユーザ状態430である場合、第2のユーザアクションの識別によって第2の将来のユーザ状態(455,460,465)が決定する。前記第1の将来のユーザ状態がユーザ状態435である場合、第2のユーザアクションの識別によって第2の将来のユーザ状態(470,475)が決定する。前記第1の将来のユーザ状態がユーザ状態440である場合、第2のユーザアクションの識別によって第1の将来状態(480,485,490,495)を決定する。
【0033】
図4Aおよび図4Bは、それぞれ、1つ目および2つ目のユーザアクションの後の将来のユーザ状態を示している。同様に、2つよりも多い数の将来のユーザアクションの後のユーザ状態を示すビデオ画像も可能である。
【0034】
一実施例によれば、予め定められる一連の将来のユーザアクション数は、サーバコンピュータのデータ格納部の制限の少なくとも一部に基づいている。例えば、使用可能なメモリが比較的多い場合には、比較的多い数の一連の将来のユーザアクションを、サーバコンピュータのメモリに表現してよい。そして、使用可能なメモリが比較的少ない場合には、比較的少ない数の一連の将来のユーザアクションを、サーバコンピュータのメモリに表現してよい。
【0035】
一実施例によれば、前記予め定められる一連の将来のユーザアクション数は、ユーザ機器のデータ格納部の制限の少なくとも一部に基づいている。例えば、使用可能なメモリが比較的多い場合には、比較的多い数の一連の将来のユーザアクションを、クライアント機器のメモリに表現してよい。そして、使用可能なメモリが比較的少ない場合には、比較的少ない数の一連の将来のユーザアクションを、クライアント機器のメモリに表現してよい。
【0036】
一実施例によれば、前記予め定められる一連の将来のユーザアクション数は、ネットワーク帯域の制限の少なくとも一部に基づいている。例えば、使用可能な帯域が比較的多い場合には、比較的多い数の一連の将来のユーザアクションを、メモリに表現してよい。そして、使用可能な帯域が比較的少ない場合には、比較的少ない数の一連の将来のユーザアクションを、メモリに表現してよい。
【0037】
一実施例によれば、予め定められる一連の将来のユーザアクション数は、サーバコンピュータがビデオ画像を圧縮するために必要な時間の少なくとも一部に基づいている。例えば、サーバコンピュータがビデオ画像を圧縮するために必要な時間が比較的短い場合には、比較的多い数の一連の将来のユーザアクションを、メモリに表現してよい。そして、サーバコンピュータがビデオ画像を圧縮するために必要な時間が比較的長い場合には、比較的少ない数の一連の将来のユーザアクションを、メモリに表現してよい。
【0038】
一実施例によれば、予め定められる一連の将来のユーザアクション数は、ユーザ機器がビデオ画像を解凍するために必要な時間の少なくとも一部に基づいている。例えば、クライアント機器がビデオ画像を解凍するために必要な時間が比較的短い場合には、比較的多い数の一連の将来のユーザアクションを、メモリに表現してよい。そして、クライアント機器がビデオ画像を解凍するために必要な時間が比較的長い場合には、比較的少ない数の一連の将来のユーザアクションを、メモリに表現してよい。
【0039】
一実施例によれば、予め定められる一連の将来のユーザアクション数は、サーバコンピュータがビデオ画像を動的にレンダリングするために必要な時間の少なくとも一部に基づいている。例えば、サーバコンピュータがビデオ画像を動的にレンダリングするために必要な時間が比較的短い場合には、比較的多い数の一連の将来のユーザアクションを、メモリに表現してよい。そして、サーバコンピュータが動的にビデオ画像をレンダリングするために必要な時間が比較的長い場合には、比較的少ない数の一連の将来のユーザアクションを、メモリに表現してよい。
【0040】
図5は、本発明の一実施例に係るサーバサイドレンダリング方法を、サーバの観点から示したフロー図である。図5に示された処理は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせにおいて実施することができる。500にて、一またはそれ以上の将来のユーザアクションが、コンピュータアプリケーションにおけるユーザの状態の少なくとも一部に基づいて、識別される。505にて、500の識別に基づいて、前記ユーザに関連付けられたユーザ機器に送るため、一またはそれ以上のビデオ画像がレンダリングされる。一実施例によれば、前記一またはそれ以上の将来のユーザアクションは、前記状態にあるユーザにとって可能なユーザアクション数よりも少ない。
【0041】
図6は、本発明の一実施例に係るサーバサイドレンダリング方法を、ユーザ機器の観点から示したフロー図である。図6に示された処理は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせにおいて実施することができる。600にて、コンピュータアプリケーションにおけるユーザの状態を表す複数の画像を格納するサーバコンピュータに送るため、前記コンピュータアプリケーションにおけるユーザの状態が格納される。605にて、前記ユーザが将来のアクションを実施した後の前記ユーザの将来状態を表す、一またはそれ以上のビデオ画像が格納される。一実施例によれば、前記将来のアクション数は、可能な将来のアクション数よりも少なく限定される。610にて、ユーザアクションを受け、前記ユーザと関連付けられたユーザ機器のユーザディスプレイ上に表示するために、一またはそれ以上のビデオ画像が選択される。
【0042】
図7は、本発明の態様を実施するために適したコンピュータシステムのブロック図である。図7に示すように、システム700は、プロセッサ704、内部メモリ706(RAM等)、入力/出力(I/O)コントローラ708、リムーバブルメモリ(メモリーカード等)722、ディスプレイアダプタ712を介したディスプレイ画面710、ローラ型入力機器714、ジョイスティック716、数字キーボード718、英数字キーボード718、方位ナビゲーションパッド726、スマートカード受容機器730、および無線インタフェース720等の外部機器、等の主要なサブシステム間を接続するバス702を含む。他、多くの機器を接続することができる。無線ネットワークインタフェース720、有線ネットワークインタフェース728、またはその両方は、当業者が知るところのあらゆるネットワークインタフェースシステムを使用して、ローカルエリアネットワーク、広域エリアネットワーク(インターネット等)またはその両方とのインタフェースとして使用してもよい。
【0043】
他、多くの機器またはサブシステム(図示せず)を、同様に接続してもよい。また、本発明を実施するのに、図7に図示したすべての機器が必須ということではない。さらに、前記機器およびサブシステム間は、図7に図示のものとは異なる手法で接続してもよい。本発明を実施するためのコードは、内部メモリ706に操作可能に設置してもよく、または、リムーバブルメモリ722、フレキシブルディスク、サムドライブ、コンパクトフラッシュ(登録商標)を利用した格納機器、DVD-R(「デジタル多用途ディスク」または「デジタルビデオディスク」リコーダブル)、DVD-ROM(「デジタル多用途ディスク」または「デジタルビデオディスク」リードオンリメモリ)、CD-R(コンパクトディスクーリコーダブル)、またはCD-ROM(コンパクトディスクーリードオンリメモリ)などの格納用メディアに、操作可能に格納してもよい。
【0044】
本発明の実施例は図示されたキャラクタゲームの例を使って示されているが、本発明の実施例は、ビデオ画像によってユーザの状態が表されるあらゆるオンラインユーザアプリケーションに適用されるものである。このようなオンラインユーザアプリケーションは、オンラインゲームを含む。
【0045】
本発明の実施例と適用例が示され説明されたが、本発明概念から逸脱することなく、上述した以上に多くの変形例が実施可能であることは、本開示内容の恩恵を受ける当業者にとっては明らかである。したがって本発明は、添付の特許請求の範囲の主旨以外の内容において限定されるものではない。
【符号の説明】
【0046】
110 ・・・ ユーザ機器
140、240 ・・・ サーバ
115 ・・・ ネットワーク
120 ・・・ データ格納部
125 ・・・ ユーザ
105 ・・・ ユーザ入力機器
135、235 ・・・ ビデオ画像
130、230、275、400、422 ・・・ 現ユーザ状態
100 200・・・ ユーザディスプレイ機器
110、210 ・・・ ユーザ機器
250 ・・・ 下向きのキャラクタ
255 ・・・ 左向きのキャラクタ
260 ・・・ 上向きのキャラクタ
265 ・・・ 右向きのキャラクタ
270 ・・・ 丸い物体を取り込んでいる右向きのキャラクタ
305 ・・・ 少数の将来状態
310 ・・・ 多数の将来状態
300 ・・・ 最も起こり得る将来状態
405、410、415、420 ・・・ 将来のユーザ状態
425、430、435、440 ・・・ 第1の将来のユーザ状態
445、450、455、460、465、470、475、480、485、490、495 ・・・ 第2の将来状態
700 ・・・ システム
702 ・・・ バス
704 ・・・ プロセッサ
706 ・・・ 内部メモリ
708 ・・・ 入力/出力(I/O)コントローラ
722 ・・・ リムーバブルメモリ
712 ・・・ ディスプレーアダプタ
710 ・・・ ディスプレイ画面
714 ・・・ ローラ型入力機器
716 ・・・ ジョイスティック
718 ・・・ 数字キーボード、英数字キーボード
726 ・・・ 方位ナビゲーションパッド
730 ・・・ スマートカード受容機器
720 ・・・ 無線ネットワークインタフェース
728 ・・・ 有線ネットワークインタフェース

【特許請求の範囲】
【請求項1】
コンピュータで実行される方法であって、
コンピュータアプリケーションにおけるユーザの状態を示す複数のビデオ画像を格納するよう構成されたサーバコンピュータにて、一またはそれ以上の将来のユーザアクションを、コンピュータアプリケーションにおけるユーザの状態の少なくとも一部に基づいて識別することと、
前記識別を受け、前記ユーザと関連付けられたユーザ機器に送信するための一またはそれ以上のビデオ画像をレンダリングすることと、を含む方法。
【請求項2】
前記一またはそれ以上の将来のユーザアクションは、前記状態にあるユーザにとって可能なユーザアクション数よりも少ないことを特徴とする、請求項1に記載の方法。
【請求項3】
前記コンピュータアプリケーションは、コンピュータゲームを含むことを特徴とする、請求項1に記載の方法。
【請求項4】
前記コンピュータゲームは、オンラインコンピュータゲームを含むことを特徴とする、請求項3に記載の方法。
【請求項5】
前記一またはそれ以上のビデオ画像を、前記送信の前に圧縮することをさらに含む、請求項1に記載の方法。
【請求項6】
前記圧縮は、前記サーバコンピュータと前記ユーザ機器の間のネットワーク混雑度合の少なくとも一部に基づいて、圧縮量を選択することを特徴とする、請求項5に記載の方法。
【請求項7】
前記複数のビデオ画像は、各予め定められた一連の将来のユーザアクション数の後のユーザの状態を示し、前記予め定められた一連の将来のユーザアクション数は、一より大きいことを特徴とする、請求項1に記載の方法。
【請求項8】
前記予め定められた一連の将来のユーザアクション数は、
前記サーバコンピュータのデータ格納部の制限、
前記ユーザ機器のデータ格納部の制限、
ネットワーク帯域の制限、
前記サーバコンピュータが、前記一またはそれ以上のビデオ画像を動的にレンダリングするのに必要な時間、
前記サーバコンピュータが、前記一またはそれ以上のビデオ画像を圧縮するのに必要な時間、
前記ユーザ機器が、前記一またはそれ以上のビデオ画像を解凍するのに必要な時間、のいずれかひとつの少なくとも一部に基づいている、請求項7に記載の方法。
【請求項9】
前記一またはそれ以上のユーザアクションは、前記将来のユーザアクションの発生確率の少なくとも一部に基づいて限定される、請求項1に記載の方法。
【請求項10】
装置であって、
メモリと、
一またはそれ以上のプロセッサとを含み、前記一またはそれ以上のプロセッサは、
一またはそれ以上の将来のユーザアクションを、コンピュータアプリケーションにおけるユーザの状態の少なくとも一部に基づいて識別し、
前記識別を受け、前記ユーザと関連付けられたユーザ機器に送信するための一またはそれ以上のビデオ画像をレンダリングするように構成されていることを特徴とする、装置。
【請求項11】
前記一またはそれ以上の将来のユーザアクションは、前記状態にあるユーザにとって可能なユーザアクション数よりも少ないことを特徴とする、請求項10に記載の装置。
【請求項12】
前記コンピュータアプリケーションは、コンピュータゲームを含むことを特徴とする、請求項10に記載の装置。
【請求項13】
前記コンピュータゲームは、オンラインコンピュータゲームを含むことを特徴とする、請求項11に記載の装置。
【請求項14】
前記一またはそれ以上のプロセッサは、さらに、前記一またはそれ以上のビデオ画像を、前記送信の前に圧縮するように構成されていることを特徴とする、請求項10に記載の装置。
【請求項15】
前記圧縮は、前記装置と前記ユーザ機器の間のネットワーク混雑度合の少なくとも一部に基づいて、圧縮量を選択することを特徴とする、請求項14に記載の装置。
【請求項16】
前記複数の画像は、各予め定められた一連の将来のユーザアクション数の後のユーザの状態を示し、前記予め定められた一連の将来のユーザアクション数は、一より大きいことを特徴とする、請求項10に記載の装置。
【請求項17】
前記予め定められた一連の将来のユーザアクション数は、
前記装置のデータ格納部の制限、
前記ユーザ機器のデータ格納部の制限、
ネットワーク帯域の制限、
前記サーバコンピュータが、前記一またはそれ以上のビデオ画像を動的にレンダリングするのに必要な時間、
前記装置が、前記一またはそれ以上のビデオ画像を圧縮するのに必要な時間、および、
前記ユーザ機器が、前記一またはそれ以上のビデオ画像を解凍するのに必要な時間、のいずれかひとつの少なくとも一部に基づいている、請求項16に記載の装置。
【請求項18】
前記一またはそれ以上のユーザアクションは、前記将来のユーザアクションの発生確率の少なくとも一部に基づいて限定される、請求項10に記載の装置。
【請求項19】
装置であって、
コンピュータアプリケーションにおけるユーザの状態を表す複数のビデオ画像を格納するよう構成されたサーバコンピュータにて、一またはそれ以上の将来のユーザアクションを、コンピュータアプリケーションにおけるユーザの状態の少なくとも一部に基づいて識別する手段と、
前記識別を受け、前記ユーザと関連付けられたユーザ機器に送信するための一またはそれ以上のビデオ画像をレンダリングする手段と、を含む装置。
【請求項20】
方法を実行する機械によって実行可能な命令のプログラムを具現化する前記機械により読み取り可能なプログラムを記録した記録媒体において、前記方法は、
コンピュータアプリケーションにおけるユーザの状態を示す複数のビデオ画像を格納するよう構成されたサーバコンピュータにて、一またはそれ以上の将来のユーザアクションを、コンピュータアプリケーションにおけるユーザの状態の少なくとも一部に基づいて識別することと、
前記識別を受け、前記ユーザと関連付けられたユーザ機器に送信するための一またはそれ以上のビデオ画像をレンダリングすることとを含む、記録媒体。
【請求項21】
コンピュータで実行される方法であって、
ユーザと関連付けられたユーザ機器にて、コンピュータアプリケーションのユーザの状態を表す複数の画像を保存するサーバコンピュータに送信するために、前記コンピュータアプリケーションにおける前記ユーザの状態を格納することと、
前記送信を受け、ユーザが将来のアクションを実施した後の前記ユーザの将来状態を示す各一またはそれ以上のビデオ画像を格納することと、ユーザアクションを受け、前記ユーザ機器と関連付けられたユーザディスプレイに表示させるために、前記一またはそれ以上のビデオ画像のうちひとつを選択することと、を含む、方法。
【請求項22】
将来のアクション数は、可能な将来のアクション数よりも少なく限定される、請求項21に記載の方法。
【請求項23】
前記サーバコンピュータに送信するために、前記ユーザアクションの指標を格納することをさらに含む、請求項21に記載の方法。
【請求項24】
前記コンピュータアプリケーションは、コンピュータゲームを含むことを特徴とする、請求項21に記載の方法。
【請求項25】
前記コンピュータアプリケーションは、コンピュータゲームを含むことを特徴とする、請求項24に記載の方法。
【請求項26】
前記一またはそれ以上の画像を格納することは、前記ユーザディスプレイ上に表示される前に、前記一またはそれ以上のビデオ画像を解凍することをさらに含むことを特徴とする、請求項21に記載の方法。
【請求項27】
前記解凍は、前記サーバコンピュータと前記ユーザ機器の間のネットワーク混雑度合の少なくとも一部に基づいていることを特徴とする、請求項21に記載の方法。
【請求項28】
前記複数のビデオ画像は、各予め定められた一連の将来のユーザアクション数の後のユーザの状態を示し、前記予め定められた一連の将来のユーザアクション数は、一より大きいことを特徴とする、請求項26に記載の方法。
【請求項29】
前記予め定められた一連の将来のユーザアクション数は、
前記サーバコンピュータのデータ格納部の制限、
前記ユーザ機器のデータ格納部の制限、
ネットワーク帯域の制限、
前記サーバコンピュータが、前記一またはそれ以上のビデオ画像を動的にレンダリングするのに必要な時間、
前記サーバコンピュータが、前記一またはそれ以上のビデオ画像を圧縮するのに必要な時間、
前記ユーザ機器が、前記一またはそれ以上のビデオ画像を解凍するのに必要な時間、のいずれかひとつの少なくとも一部に基づいている、請求項28に記載の方法。
【請求項30】
将来のユーザアクション数は、前記将来のユーザアクションの発生確率の少なくとも一部に基づいて限定されることを特徴とする、請求項21に記載の方法。
【請求項31】
装置であって、
メモリと、
一またはそれ以上のプロセッサとを含み、前記一またはそれ以上のプロセッサは、
ユーザと関連付けられたユーザ機器にて、コンピュータアプリケーションのユーザの状態を表す複数の画像を保存するサーバコンピュータに送信するために、前記コンピュータアプリケーションにおける前記ユーザの状態を格納し、
前記送信を受け、前記ユーザが将来のアクションを実施した後の前記ユーザの将来状態を示す各一またはそれ以上のビデオ画像を格納し、
ユーザアクションを受け、前記ユーザ機器と関連付けられたユーザディスプレイに表示させるために、前記一またはそれ以上のビデオ画像のうちひとつを選択するように構成されていることを特徴とする、装置。
【請求項32】
将来のアクション数は、可能な将来のアクション数よりも少なく限定される、請求項31の装置。
【請求項33】
前記サーバコンピュータに送信するために、前記ユーザアクションの指標を格納することをさらに含む、請求項31に記載の装置。
【請求項34】
前記コンピュータアプリケーションは、コンピュータゲームを含むことを特徴とする、請求項31に記載の装置。
【請求項35】
前記コンピュータゲームは、オンラインコンピュータゲームを含むことを特徴とする、請求項34に記載の装置。
【請求項36】
前記一またはそれ以上の画像を格納することは、前記ユーザディスプレイ上に表示される前に、前記一またはそれ以上の画像を解凍することをさらに含むことを特徴とする、請求項31に記載の装置。
【請求項37】
前記解凍は、前記サーバコンピュータと前記ユーザ機器の間のネットワーク混雑度合の少なくとも一部に基づいていることを特徴とする、請求項36に記載の装置。
【請求項38】
前記複数のビデオ画像は、各予め定められた一連の将来のユーザアクション数の後のユーザの状態を示し、前記予め定められた一連の将来のユーザアクション数は、一より大きいことを特徴とする、請求項31に記載の装置。
【請求項39】
前記予め定められた一連の将来のユーザアクション数は、
前記サーバコンピュータのデータ格納部の制限、
前記ユーザ機器のデータ格納部の制限、
ネットワーク帯域の制限、
前記サーバコンピュータが、前記一またはそれ以上のビデオ画像を動的にレンダリングするのに必要な時間、
前記サーバコンピュータが、前記一またはそれ以上のビデオ画像を圧縮するのに必要な時間、
前記ユーザ機器が、前記一またはそれ以上のビデオ画像を解凍するのに必要な時間、のいずれかひとつの少なくとも一部に基づいている、請求項38に記載の装置。
【請求項40】
将来のユーザアクション数は、前記将来のユーザアクションの発生確率の少なくとも一部に基づいて限定されることを特徴とする、請求項31に記載の装置。
【請求項41】
装置であって、
ユーザと関連付けられたユーザ機器にて、コンピュータアプリケーションのユーザの状態を表す複数の画像を保存するサーバコンピュータに送信するために、前記コンピュータアプリケーションにおける前記ユーザの状態を格納する手段と、
前記送信を受け、前記ユーザが将来のアクションを実施した後の前記ユーザの将来状態を示す各一またはそれ以上のビデオ画像を格納する手段と、
ユーザアクションを受け、前記ユーザ機器と関連付けられたユーザディスプレイに表示させるために、前記一またはそれ以上のビデオ画像のうちひとつを選択する手段と、を含む、装置。
【請求項42】
方法を実行する機械によって実行可能な命令のプログラムを具現化する前記機械により読み取りが可能なプログラムを記録した記録媒体において、前記方法は、
ユーザと関連付けられたユーザ機器にて、コンピュータアプリケーションのユーザの状態を表す複数の画像を保存するサーバコンピュータに送信するために、前記コンピュータアプリケーションにおける前記ユーザの状態を格納することと、
前記送信を受け、ユーザが将来のアクションを実施した後の前記ユーザの将来状態を示す各一またはそれ以上のビデオ画像を格納することと、
ユーザアクションを受け、前記ユーザ機器と関連付けられたユーザディスプレイに表示させるために、前記一またはそれ以上のビデオ画像のうちひとつを選択することとを含む、記録媒体。

【図4A】
image rotate

【図4B】
image rotate

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公表番号】特表2013−513858(P2013−513858A)
【公表日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願番号】特願2012−543108(P2012−543108)
【出願日】平成22年11月2日(2010.11.2)
【国際出願番号】PCT/US2010/055185
【国際公開番号】WO2011/071615
【国際公開日】平成23年6月16日(2011.6.16)
【出願人】(310021766)株式会社ソニー・コンピュータエンタテインメント (417)
【Fターム(参考)】